@mcpeak/cli 0.11.0 → 0.12.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/dist/commands.cjs +2 -1
- package/dist/commands.d.cts +2 -2
- package/dist/commands.d.mts +2 -2
- package/dist/commands.mjs +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{repair-command-D3zL3G5W.d.cts → repair-command-8GUlJJ47.d.mts} +57 -7
- package/dist/{repair-command-DQh2h4tQ.d.mts → repair-command-CVFqxU6V.d.cts} +57 -7
- package/dist/{test-command-B_faNSfA.cjs → test-command-1m3myzTS.cjs} +1212 -308
- package/dist/{test-command-DEp9hrfH.mjs → test-command-P8_uaAIy.mjs} +1211 -313
- package/package.json +6 -6
package/dist/commands.cjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_test_command = require("./test-command-
|
|
2
|
+
const require_test_command = require("./test-command-1m3myzTS.cjs");
|
|
3
|
+
exports.REVIEW_BACK_VALUE = require_test_command.REVIEW_BACK_VALUE;
|
|
3
4
|
exports.nodeGenerateDependencies = require_test_command.nodeGenerateDependencies;
|
|
4
5
|
exports.nodeReviewIO = require_test_command.nodeReviewIO;
|
|
5
6
|
exports.parseRepairCommand = require_test_command.parseRepairCommand;
|
package/dist/commands.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as GenerateCommandDependencies, c as
|
|
1
|
+
import { a as GenerateCommandDependencies, c as ReviewIO, d as runGenerateCommand, f as ConnectTarget, i as runRepairCommand, l as nodeGenerateDependencies, n as RepairCommandInput, o as GenerateCommandInput, r as parseRepairCommand, s as REVIEW_BACK_VALUE, t as RepairCommandDependencies, u as nodeReviewIO } from "./repair-command-CVFqxU6V.cjs";
|
|
2
2
|
import { McpHttpConnection, McpStdioConnection } from "@mcpeak/core";
|
|
3
3
|
import { CheckDeterminismOptions, DeterminismResult, FinalizeRunnerExecutionOptions, InputContractOptions, RunSuiteOptions, RunnerExecution, RunnerReport, SpecFindingsResult, SuiteValidationIssue, SuiteValidationResult, TestSuiteSpec } from "@mcpeak/runner";
|
|
4
4
|
import "@mcpeak/record/external";
|
|
@@ -102,4 +102,4 @@ declare function parseTestCommand(argv: readonly string[]): TestCommandInput;
|
|
|
102
102
|
*/
|
|
103
103
|
declare function runCli(argv: readonly string[], dependencies: TestCommandDependencies): Promise<number>;
|
|
104
104
|
//#endregion
|
|
105
|
-
export { type CliErrorCode, type CliFailure, type GenerateCommandDependencies, type GenerateCommandInput, type RepairCommandDependencies, type RepairCommandInput, type ReviewIO, type TestCommandDependencies, type TestCommandInput, nodeGenerateDependencies, nodeReviewIO, parseRepairCommand, parseTestCommand, runCli, runGenerateCommand, runRepairCommand };
|
|
105
|
+
export { type CliErrorCode, type CliFailure, type GenerateCommandDependencies, type GenerateCommandInput, REVIEW_BACK_VALUE, type RepairCommandDependencies, type RepairCommandInput, type ReviewIO, type TestCommandDependencies, type TestCommandInput, nodeGenerateDependencies, nodeReviewIO, parseRepairCommand, parseTestCommand, runCli, runGenerateCommand, runRepairCommand };
|
package/dist/commands.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as GenerateCommandDependencies, c as
|
|
1
|
+
import { a as GenerateCommandDependencies, c as ReviewIO, d as runGenerateCommand, f as ConnectTarget, i as runRepairCommand, l as nodeGenerateDependencies, n as RepairCommandInput, o as GenerateCommandInput, r as parseRepairCommand, s as REVIEW_BACK_VALUE, t as RepairCommandDependencies, u as nodeReviewIO } from "./repair-command-8GUlJJ47.mjs";
|
|
2
2
|
import { CheckDeterminismOptions, DeterminismResult, FinalizeRunnerExecutionOptions, InputContractOptions, RunSuiteOptions, RunnerExecution, RunnerReport, SpecFindingsResult, SuiteValidationIssue, SuiteValidationResult, TestSuiteSpec } from "@mcpeak/runner";
|
|
3
3
|
import { McpHttpConnection, McpStdioConnection } from "@mcpeak/core";
|
|
4
4
|
import "@mcpeak/record/external";
|
|
@@ -102,4 +102,4 @@ declare function parseTestCommand(argv: readonly string[]): TestCommandInput;
|
|
|
102
102
|
*/
|
|
103
103
|
declare function runCli(argv: readonly string[], dependencies: TestCommandDependencies): Promise<number>;
|
|
104
104
|
//#endregion
|
|
105
|
-
export { type CliErrorCode, type CliFailure, type GenerateCommandDependencies, type GenerateCommandInput, type RepairCommandDependencies, type RepairCommandInput, type ReviewIO, type TestCommandDependencies, type TestCommandInput, nodeGenerateDependencies, nodeReviewIO, parseRepairCommand, parseTestCommand, runCli, runGenerateCommand, runRepairCommand };
|
|
105
|
+
export { type CliErrorCode, type CliFailure, type GenerateCommandDependencies, type GenerateCommandInput, REVIEW_BACK_VALUE, type RepairCommandDependencies, type RepairCommandInput, type ReviewIO, type TestCommandDependencies, type TestCommandInput, nodeGenerateDependencies, nodeReviewIO, parseRepairCommand, parseTestCommand, runCli, runGenerateCommand, runRepairCommand };
|
package/dist/commands.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
export { nodeGenerateDependencies, nodeReviewIO, parseRepairCommand, parseTestCommand, runCli, runGenerateCommand, runRepairCommand };
|
|
1
|
+
import { a as REVIEW_BACK_VALUE, c as runGenerateCommand, i as runRepairCommand, n as runCli, o as nodeGenerateDependencies, r as parseRepairCommand, s as nodeReviewIO, t as parseTestCommand } from "./test-command-P8_uaAIy.mjs";
|
|
2
|
+
export { REVIEW_BACK_VALUE, nodeGenerateDependencies, nodeReviewIO, parseRepairCommand, parseTestCommand, runCli, runGenerateCommand, runRepairCommand };
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_test_command = require("./test-command-
|
|
2
|
+
const require_test_command = require("./test-command-1m3myzTS.cjs");
|
|
3
3
|
let node_fs_promises = require("node:fs/promises");
|
|
4
4
|
//#region src/index.ts
|
|
5
5
|
const COMMANDS = [
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as RepairCommandDependencies } from "./repair-command-
|
|
1
|
+
import { t as RepairCommandDependencies } from "./repair-command-CVFqxU6V.cjs";
|
|
2
2
|
//#region src/index.d.ts
|
|
3
3
|
type Command = (argv: string[]) => Promise<number>;
|
|
4
4
|
declare const COMMANDS: readonly ["test", "generate", "repair", "record", "mock"];
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as RepairCommandDependencies } from "./repair-command-
|
|
1
|
+
import { t as RepairCommandDependencies } from "./repair-command-8GUlJJ47.mjs";
|
|
2
2
|
//#region src/index.d.ts
|
|
3
3
|
type Command = (argv: string[]) => Promise<number>;
|
|
4
4
|
declare const COMMANDS: readonly ["test", "generate", "repair", "record", "mock"];
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as runGenerateCommand, d as commandHelp, f as escapeTerminalText, i as runRepairCommand, l as GLOBAL_HELP, n as runCli, o as nodeGenerateDependencies, p as version, s as nodeReviewIO, t as parseTestCommand, u as commandDiscovery } from "./test-command-P8_uaAIy.mjs";
|
|
2
2
|
import { readFile, writeFile } from "node:fs/promises";
|
|
3
3
|
//#region src/index.ts
|
|
4
4
|
const COMMANDS = [
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AuthoringExecutionSnapshot, AuthoringSessionView, BaselineGenerationResult, PreFillProvider } from "@mcpeak/generate";
|
|
1
|
+
import { AuthoringExecutionSnapshot, AuthoringSessionView, BaselineGenerationResult, FixtureFile, PreFillProvider } from "@mcpeak/generate";
|
|
3
2
|
import { SuiteValidationResult, TestSuiteSpec } from "@mcpeak/runner";
|
|
3
|
+
import { McpHttpConnection, McpStdioConnection, ToolDef } from "@mcpeak/core";
|
|
4
4
|
//#region src/connect-target.d.ts
|
|
5
5
|
/** 파서가 확정한 연결 대상. */
|
|
6
6
|
type ConnectTarget = {
|
|
7
7
|
readonly transport: "stdio";
|
|
8
8
|
readonly command: string;
|
|
9
9
|
readonly args: readonly string[];
|
|
10
|
+
/**
|
|
11
|
+
* 자식에게 넘길 부모 환경변수의 **이름**. 값은 여기에도 argv 에도 없다(`--header-env` 와
|
|
12
|
+
* 같은 이유). `openConnection` 이 `readEnv` 로 읽어 `env` 에 얹는다.
|
|
13
|
+
*/
|
|
14
|
+
readonly envNames: readonly string[];
|
|
10
15
|
} | {
|
|
11
16
|
readonly transport: "http";
|
|
12
17
|
readonly url: string;
|
|
@@ -19,6 +24,29 @@ type ConnectTarget = {
|
|
|
19
24
|
readonly headerEnv: Readonly<Record<string, string>>;
|
|
20
25
|
};
|
|
21
26
|
//#endregion
|
|
27
|
+
//#region src/reset-hook.d.ts
|
|
28
|
+
/**
|
|
29
|
+
* 초기화가 실제로 무엇을 했는가. `--reset-cmd` 가 0 으로 끝난 것을 "초기 상태" 라고
|
|
30
|
+
* 부르지 않기 위해 있다. 명령이 무엇을 복원했는지 우리는 모른다(이슈 #399).
|
|
31
|
+
*/
|
|
32
|
+
type ResetGrade =
|
|
33
|
+
/**
|
|
34
|
+
* 새 프로세스·새 연결 + 초기화 명령 성공. 우리가 제공할 수 있는 가장 강한 것.
|
|
35
|
+
*
|
|
36
|
+
* **이번 회차는 이 값을 내지 않는다.** 프로세스를 다시 띄우는 것은 core 의 수명주기를
|
|
37
|
+
* 건드리고, generate 흐름 한가운데서 연결을 바꾸면 그 뒤 단계가 전부 새 client 를 봐야
|
|
38
|
+
* 한다. 값을 미리 정의하는 이유는, commandOnly 를 "초기 상태" 라고 부르지 않으려면
|
|
39
|
+
* 그보다 강한 것이 있다는 사실이 타입에 있어야 하기 때문이다. 죽은 값이 아니라
|
|
40
|
+
* 의도된 자리다. 지우지 마라(설계 §3).
|
|
41
|
+
*/
|
|
42
|
+
"freshProcess" |
|
|
43
|
+
/** 같은 연결에 초기화 명령만 성공. 서버 프로세스의 메모리 상태는 그대로다. */
|
|
44
|
+
"commandOnly" |
|
|
45
|
+
/** 초기화 수단이 없다. 앞 실행이 바꾼 상태가 남아 있다. */
|
|
46
|
+
"none" |
|
|
47
|
+
/** 초기화를 시도했으나 실패했다. 상태를 모른다. */
|
|
48
|
+
"failed";
|
|
49
|
+
//#endregion
|
|
22
50
|
//#region src/generate-command.d.ts
|
|
23
51
|
interface GenerateCommandInput {
|
|
24
52
|
readonly suiteId: string;
|
|
@@ -40,6 +68,18 @@ interface GenerateCommandInput {
|
|
|
40
68
|
readonly resetCmd?: string;
|
|
41
69
|
/** 입력값 교정 단계를 돌릴지 여부. 기본은 실행이고 `--no-repair` 가 끈다. 설계 문서 §7. */
|
|
42
70
|
readonly repair: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* 통과한 거절 케이스의 근거를 확인할지 여부. 기본은 꺼짐이고 `--diagnose-rejections` 가 켠다.
|
|
73
|
+
* 끄면 미확인 목록도 AI 진단도 나가지 않고 한 줄 고지만 남는다(ADR-0098 · 설계 §4.2).
|
|
74
|
+
*/
|
|
75
|
+
readonly diagnoseRejections: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* `--fixtures` 로 명시한 픽스처 파일 경로. 없으면 기본 경로(`mcpeak.fixtures.json`)를 본다.
|
|
78
|
+
*
|
|
79
|
+
* "명시했는가" 를 여기서 구분해 두는 이유는 없는 파일의 처리가 다르기 때문이다. 기본
|
|
80
|
+
* 경로는 없는 것이 정상이라 조용히 지나가고, 사용자가 적은 경로가 없는 것은 오타다(#390).
|
|
81
|
+
*/
|
|
82
|
+
readonly fixturesPath?: string;
|
|
43
83
|
}
|
|
44
84
|
interface GenerateCommandDependencies {
|
|
45
85
|
connect(options: {
|
|
@@ -56,9 +96,21 @@ interface GenerateCommandDependencies {
|
|
|
56
96
|
}): Promise<McpHttpConnection>;
|
|
57
97
|
/** `--header-env` 가 가리키는 환경변수를 읽는다. CLI 가 `process` 를 직접 읽지 않기 위한 주입점. */
|
|
58
98
|
readEnv?(name: string): string | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* 초기화 주입점. 기본은 `attemptReset` 이다.
|
|
101
|
+
*
|
|
102
|
+
* 사전보완 후보 비교가 같은 초기 상태에서 도는지를 유닛테스트가 보려면 초기화를 세워야 하는데,
|
|
103
|
+
* 실제 `attemptReset` 은 프로세스를 띄운다. 이 저장소는 유닛테스트를 인메모리로만 돌린다
|
|
104
|
+
* (터미널 병렬 안전). `dryRun` · `preparePreFillRequest` 를 주입으로 받는 것과 같은 이유다.
|
|
105
|
+
* 실제 명령을 돌리는 테스트는 `reset-hook-e2e.test.ts` 하나에만 둔다(#399).
|
|
106
|
+
*/
|
|
107
|
+
attemptReset?(resetCmd: string | undefined): Promise<{
|
|
108
|
+
readonly grade: ResetGrade;
|
|
109
|
+
}>;
|
|
59
110
|
createBaselineSuite(tools: readonly ToolDef[], options: {
|
|
60
111
|
suiteId: string;
|
|
61
112
|
suiteName: string;
|
|
113
|
+
fixtures?: FixtureFile;
|
|
62
114
|
}): BaselineGenerationResult;
|
|
63
115
|
createAuthoringSession(baseline: BaselineGenerationResult, options?: {
|
|
64
116
|
readonly preFilledCaseIds?: readonly string[];
|
|
@@ -136,6 +188,8 @@ interface ReviewIO {
|
|
|
136
188
|
close?(): void;
|
|
137
189
|
}
|
|
138
190
|
type TestAuthoringProvider = import("@mcpeak/generate").TestAuthoringProvider;
|
|
191
|
+
/** 대시보드의 검토 하위 입력에서 상위 메뉴로 돌아갈 때 쓰는 내부 제어값. */
|
|
192
|
+
declare const REVIEW_BACK_VALUE = "__mcpeak_review_back__";
|
|
139
193
|
declare function runGenerateCommand(argv: readonly string[], deps: GenerateCommandDependencies): Promise<number>;
|
|
140
194
|
declare const nodeGenerateDependencies: () => Omit<GenerateCommandDependencies, "connect" | "createBaselineSuite" | "createAuthoringSession" | "finalizeAuthoringDraft" | "getAuthoringExecutionSuite" | "validateSuite">;
|
|
141
195
|
declare function nodeReviewIO(input?: NodeJS.ReadableStream, output?: NodeJS.WritableStream): ReviewIO;
|
|
@@ -169,10 +223,6 @@ interface RepairCommandDependencies {
|
|
|
169
223
|
};
|
|
170
224
|
}
|
|
171
225
|
declare function parseRepairCommand(argv: readonly string[]): RepairCommandInput;
|
|
172
|
-
/**
|
|
173
|
-
* `repair` 명령. 번들을 읽고, 전송 내용을 확인받고, provider 에게 진단을 물어 화면에 찍는다.
|
|
174
|
-
* 파일도 명세도 고치지 않는다. 종료 코드는 운영 실패에만 1 이다(설계서 §7.1).
|
|
175
|
-
*/
|
|
176
226
|
declare function runRepairCommand(argv: readonly string[], deps: RepairCommandDependencies): Promise<number>;
|
|
177
227
|
//#endregion
|
|
178
|
-
export { GenerateCommandDependencies as a,
|
|
228
|
+
export { GenerateCommandDependencies as a, ReviewIO as c, runGenerateCommand as d, ConnectTarget as f, runRepairCommand as i, nodeGenerateDependencies as l, RepairCommandInput as n, GenerateCommandInput as o, parseRepairCommand as r, REVIEW_BACK_VALUE as s, RepairCommandDependencies as t, nodeReviewIO as u };
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import { SuiteValidationResult, TestSuiteSpec } from "@mcpeak/runner";
|
|
2
1
|
import { McpHttpConnection, McpStdioConnection, ToolDef } from "@mcpeak/core";
|
|
3
|
-
import { AuthoringExecutionSnapshot, AuthoringSessionView, BaselineGenerationResult, PreFillProvider } from "@mcpeak/generate";
|
|
2
|
+
import { AuthoringExecutionSnapshot, AuthoringSessionView, BaselineGenerationResult, FixtureFile, PreFillProvider } from "@mcpeak/generate";
|
|
3
|
+
import { SuiteValidationResult, TestSuiteSpec } from "@mcpeak/runner";
|
|
4
4
|
//#region src/connect-target.d.ts
|
|
5
5
|
/** 파서가 확정한 연결 대상. */
|
|
6
6
|
type ConnectTarget = {
|
|
7
7
|
readonly transport: "stdio";
|
|
8
8
|
readonly command: string;
|
|
9
9
|
readonly args: readonly string[];
|
|
10
|
+
/**
|
|
11
|
+
* 자식에게 넘길 부모 환경변수의 **이름**. 값은 여기에도 argv 에도 없다(`--header-env` 와
|
|
12
|
+
* 같은 이유). `openConnection` 이 `readEnv` 로 읽어 `env` 에 얹는다.
|
|
13
|
+
*/
|
|
14
|
+
readonly envNames: readonly string[];
|
|
10
15
|
} | {
|
|
11
16
|
readonly transport: "http";
|
|
12
17
|
readonly url: string;
|
|
@@ -19,6 +24,29 @@ type ConnectTarget = {
|
|
|
19
24
|
readonly headerEnv: Readonly<Record<string, string>>;
|
|
20
25
|
};
|
|
21
26
|
//#endregion
|
|
27
|
+
//#region src/reset-hook.d.ts
|
|
28
|
+
/**
|
|
29
|
+
* 초기화가 실제로 무엇을 했는가. `--reset-cmd` 가 0 으로 끝난 것을 "초기 상태" 라고
|
|
30
|
+
* 부르지 않기 위해 있다. 명령이 무엇을 복원했는지 우리는 모른다(이슈 #399).
|
|
31
|
+
*/
|
|
32
|
+
type ResetGrade =
|
|
33
|
+
/**
|
|
34
|
+
* 새 프로세스·새 연결 + 초기화 명령 성공. 우리가 제공할 수 있는 가장 강한 것.
|
|
35
|
+
*
|
|
36
|
+
* **이번 회차는 이 값을 내지 않는다.** 프로세스를 다시 띄우는 것은 core 의 수명주기를
|
|
37
|
+
* 건드리고, generate 흐름 한가운데서 연결을 바꾸면 그 뒤 단계가 전부 새 client 를 봐야
|
|
38
|
+
* 한다. 값을 미리 정의하는 이유는, commandOnly 를 "초기 상태" 라고 부르지 않으려면
|
|
39
|
+
* 그보다 강한 것이 있다는 사실이 타입에 있어야 하기 때문이다. 죽은 값이 아니라
|
|
40
|
+
* 의도된 자리다. 지우지 마라(설계 §3).
|
|
41
|
+
*/
|
|
42
|
+
"freshProcess" |
|
|
43
|
+
/** 같은 연결에 초기화 명령만 성공. 서버 프로세스의 메모리 상태는 그대로다. */
|
|
44
|
+
"commandOnly" |
|
|
45
|
+
/** 초기화 수단이 없다. 앞 실행이 바꾼 상태가 남아 있다. */
|
|
46
|
+
"none" |
|
|
47
|
+
/** 초기화를 시도했으나 실패했다. 상태를 모른다. */
|
|
48
|
+
"failed";
|
|
49
|
+
//#endregion
|
|
22
50
|
//#region src/generate-command.d.ts
|
|
23
51
|
interface GenerateCommandInput {
|
|
24
52
|
readonly suiteId: string;
|
|
@@ -40,6 +68,18 @@ interface GenerateCommandInput {
|
|
|
40
68
|
readonly resetCmd?: string;
|
|
41
69
|
/** 입력값 교정 단계를 돌릴지 여부. 기본은 실행이고 `--no-repair` 가 끈다. 설계 문서 §7. */
|
|
42
70
|
readonly repair: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* 통과한 거절 케이스의 근거를 확인할지 여부. 기본은 꺼짐이고 `--diagnose-rejections` 가 켠다.
|
|
73
|
+
* 끄면 미확인 목록도 AI 진단도 나가지 않고 한 줄 고지만 남는다(ADR-0098 · 설계 §4.2).
|
|
74
|
+
*/
|
|
75
|
+
readonly diagnoseRejections: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* `--fixtures` 로 명시한 픽스처 파일 경로. 없으면 기본 경로(`mcpeak.fixtures.json`)를 본다.
|
|
78
|
+
*
|
|
79
|
+
* "명시했는가" 를 여기서 구분해 두는 이유는 없는 파일의 처리가 다르기 때문이다. 기본
|
|
80
|
+
* 경로는 없는 것이 정상이라 조용히 지나가고, 사용자가 적은 경로가 없는 것은 오타다(#390).
|
|
81
|
+
*/
|
|
82
|
+
readonly fixturesPath?: string;
|
|
43
83
|
}
|
|
44
84
|
interface GenerateCommandDependencies {
|
|
45
85
|
connect(options: {
|
|
@@ -56,9 +96,21 @@ interface GenerateCommandDependencies {
|
|
|
56
96
|
}): Promise<McpHttpConnection>;
|
|
57
97
|
/** `--header-env` 가 가리키는 환경변수를 읽는다. CLI 가 `process` 를 직접 읽지 않기 위한 주입점. */
|
|
58
98
|
readEnv?(name: string): string | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* 초기화 주입점. 기본은 `attemptReset` 이다.
|
|
101
|
+
*
|
|
102
|
+
* 사전보완 후보 비교가 같은 초기 상태에서 도는지를 유닛테스트가 보려면 초기화를 세워야 하는데,
|
|
103
|
+
* 실제 `attemptReset` 은 프로세스를 띄운다. 이 저장소는 유닛테스트를 인메모리로만 돌린다
|
|
104
|
+
* (터미널 병렬 안전). `dryRun` · `preparePreFillRequest` 를 주입으로 받는 것과 같은 이유다.
|
|
105
|
+
* 실제 명령을 돌리는 테스트는 `reset-hook-e2e.test.ts` 하나에만 둔다(#399).
|
|
106
|
+
*/
|
|
107
|
+
attemptReset?(resetCmd: string | undefined): Promise<{
|
|
108
|
+
readonly grade: ResetGrade;
|
|
109
|
+
}>;
|
|
59
110
|
createBaselineSuite(tools: readonly ToolDef[], options: {
|
|
60
111
|
suiteId: string;
|
|
61
112
|
suiteName: string;
|
|
113
|
+
fixtures?: FixtureFile;
|
|
62
114
|
}): BaselineGenerationResult;
|
|
63
115
|
createAuthoringSession(baseline: BaselineGenerationResult, options?: {
|
|
64
116
|
readonly preFilledCaseIds?: readonly string[];
|
|
@@ -136,6 +188,8 @@ interface ReviewIO {
|
|
|
136
188
|
close?(): void;
|
|
137
189
|
}
|
|
138
190
|
type TestAuthoringProvider = import("@mcpeak/generate").TestAuthoringProvider;
|
|
191
|
+
/** 대시보드의 검토 하위 입력에서 상위 메뉴로 돌아갈 때 쓰는 내부 제어값. */
|
|
192
|
+
declare const REVIEW_BACK_VALUE = "__mcpeak_review_back__";
|
|
139
193
|
declare function runGenerateCommand(argv: readonly string[], deps: GenerateCommandDependencies): Promise<number>;
|
|
140
194
|
declare const nodeGenerateDependencies: () => Omit<GenerateCommandDependencies, "connect" | "createBaselineSuite" | "createAuthoringSession" | "finalizeAuthoringDraft" | "getAuthoringExecutionSuite" | "validateSuite">;
|
|
141
195
|
declare function nodeReviewIO(input?: NodeJS.ReadableStream, output?: NodeJS.WritableStream): ReviewIO;
|
|
@@ -169,10 +223,6 @@ interface RepairCommandDependencies {
|
|
|
169
223
|
};
|
|
170
224
|
}
|
|
171
225
|
declare function parseRepairCommand(argv: readonly string[]): RepairCommandInput;
|
|
172
|
-
/**
|
|
173
|
-
* `repair` 명령. 번들을 읽고, 전송 내용을 확인받고, provider 에게 진단을 물어 화면에 찍는다.
|
|
174
|
-
* 파일도 명세도 고치지 않는다. 종료 코드는 운영 실패에만 1 이다(설계서 §7.1).
|
|
175
|
-
*/
|
|
176
226
|
declare function runRepairCommand(argv: readonly string[], deps: RepairCommandDependencies): Promise<number>;
|
|
177
227
|
//#endregion
|
|
178
|
-
export { GenerateCommandDependencies as a,
|
|
228
|
+
export { GenerateCommandDependencies as a, ReviewIO as c, runGenerateCommand as d, ConnectTarget as f, runRepairCommand as i, nodeGenerateDependencies as l, RepairCommandInput as n, GenerateCommandInput as o, parseRepairCommand as r, REVIEW_BACK_VALUE as s, RepairCommandDependencies as t, nodeReviewIO as u };
|