@cotestdev/ai-runner 0.0.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/README.md +263 -0
- package/dist/agents/heal-agent.d.ts +30 -0
- package/dist/agents/heal-agent.d.ts.map +1 -0
- package/dist/agents/heal-agent.js +76 -0
- package/dist/agents/heal-agent.js.map +1 -0
- package/dist/agents/healer.d.ts +73 -0
- package/dist/agents/healer.d.ts.map +1 -0
- package/dist/agents/healer.js +538 -0
- package/dist/agents/healer.js.map +1 -0
- package/dist/agents/tools/form.d.ts +22 -0
- package/dist/agents/tools/form.d.ts.map +1 -0
- package/dist/agents/tools/form.js +134 -0
- package/dist/agents/tools/form.js.map +1 -0
- package/dist/agents/tools/index.d.ts +13 -0
- package/dist/agents/tools/index.d.ts.map +1 -0
- package/dist/agents/tools/index.js +33 -0
- package/dist/agents/tools/index.js.map +1 -0
- package/dist/agents/tools/navigate.d.ts +22 -0
- package/dist/agents/tools/navigate.d.ts.map +1 -0
- package/dist/agents/tools/navigate.js +74 -0
- package/dist/agents/tools/navigate.js.map +1 -0
- package/dist/agents/tools/snapshot.d.ts +22 -0
- package/dist/agents/tools/snapshot.d.ts.map +1 -0
- package/dist/agents/tools/snapshot.js +110 -0
- package/dist/agents/tools/snapshot.js.map +1 -0
- package/dist/agents/tools/verify.d.ts +34 -0
- package/dist/agents/tools/verify.d.ts.map +1 -0
- package/dist/agents/tools/verify.js +169 -0
- package/dist/agents/tools/verify.js.map +1 -0
- package/dist/agents/tools/wait.d.ts +22 -0
- package/dist/agents/tools/wait.d.ts.map +1 -0
- package/dist/agents/tools/wait.js +104 -0
- package/dist/agents/tools/wait.js.map +1 -0
- package/dist/agents/types.d.ts +51 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +6 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/ai-runner/src/agents/logger.d.ts +7 -0
- package/dist/ai-runner/src/agents/logger.d.ts.map +1 -0
- package/dist/ai-runner/src/agents/logger.js +22 -0
- package/dist/ai-runner/src/agents/logger.js.map +1 -0
- package/dist/ai-runner/src/agents/playwright-executor.d.ts +24 -0
- package/dist/ai-runner/src/agents/playwright-executor.d.ts.map +1 -0
- package/dist/ai-runner/src/agents/playwright-executor.js +226 -0
- package/dist/ai-runner/src/agents/playwright-executor.js.map +1 -0
- package/dist/ai-runner/src/agents/tools/playwright-backend-adapter.d.ts +33 -0
- package/dist/ai-runner/src/agents/tools/playwright-backend-adapter.d.ts.map +1 -0
- package/dist/ai-runner/src/agents/tools/playwright-backend-adapter.js +146 -0
- package/dist/ai-runner/src/agents/tools/playwright-backend-adapter.js.map +1 -0
- package/dist/ai-runner/src/agents/types.d.ts +55 -0
- package/dist/ai-runner/src/agents/types.d.ts.map +1 -0
- package/dist/ai-runner/src/agents/types.js +6 -0
- package/dist/ai-runner/src/agents/types.js.map +1 -0
- package/dist/ai-runner/src/examples/test-final.d.ts +6 -0
- package/dist/ai-runner/src/examples/test-final.d.ts.map +1 -0
- package/dist/ai-runner/src/examples/test-final.js +73 -0
- package/dist/ai-runner/src/examples/test-final.js.map +1 -0
- package/dist/ai-runner/src/examples/test-simple-tools.d.ts +6 -0
- package/dist/ai-runner/src/examples/test-simple-tools.d.ts.map +1 -0
- package/dist/ai-runner/src/examples/test-simple-tools.js +149 -0
- package/dist/ai-runner/src/examples/test-simple-tools.js.map +1 -0
- package/dist/ai-runner/src/examples/test-working.d.ts +5 -0
- package/dist/ai-runner/src/examples/test-working.d.ts.map +1 -0
- package/dist/ai-runner/src/examples/test-working.js +43 -0
- package/dist/ai-runner/src/examples/test-working.js.map +1 -0
- package/dist/ai-runner/src/examples/v-test-backend-adapter.d.ts +15 -0
- package/dist/ai-runner/src/examples/v-test-backend-adapter.d.ts.map +1 -0
- package/dist/ai-runner/src/examples/v-test-backend-adapter.js +240 -0
- package/dist/ai-runner/src/examples/v-test-backend-adapter.js.map +1 -0
- package/dist/ai-runner/src/index.d.ts +8 -0
- package/dist/ai-runner/src/index.d.ts.map +1 -0
- package/dist/ai-runner/src/index.js +11 -0
- package/dist/ai-runner/src/index.js.map +1 -0
- package/dist/ai-runner/src/runner.d.ts +28 -0
- package/dist/ai-runner/src/runner.d.ts.map +1 -0
- package/dist/ai-runner/src/runner.js +176 -0
- package/dist/ai-runner/src/runner.js.map +1 -0
- package/dist/ai-runner/src/tools/index.d.ts +16 -0
- package/dist/ai-runner/src/tools/index.d.ts.map +1 -0
- package/dist/ai-runner/src/tools/index.js +35 -0
- package/dist/ai-runner/src/tools/index.js.map +1 -0
- package/dist/ai-runner/src/tools/playwright-groups.d.ts +19 -0
- package/dist/ai-runner/src/tools/playwright-groups.d.ts.map +1 -0
- package/dist/ai-runner/src/tools/playwright-groups.js +42 -0
- package/dist/ai-runner/src/tools/playwright-groups.js.map +1 -0
- package/dist/ai-runner/src/types/external.d.ts +6 -0
- package/dist/ai-runner/src/types/external.d.ts.map +1 -0
- package/dist/ai-runner/src/types/external.js +7 -0
- package/dist/ai-runner/src/types/external.js.map +1 -0
- package/dist/ai-runner/src/types/index.d.ts +95 -0
- package/dist/ai-runner/src/types/index.d.ts.map +1 -0
- package/dist/ai-runner/src/types/index.js +7 -0
- package/dist/ai-runner/src/types/index.js.map +1 -0
- package/dist/core/runner.d.ts +194 -0
- package/dist/core/runner.d.ts.map +1 -0
- package/dist/core/runner.js +650 -0
- package/dist/core/runner.js.map +1 -0
- package/dist/core-infra/src/directory-validator.d.ts +29 -0
- package/dist/core-infra/src/directory-validator.d.ts.map +1 -0
- package/dist/core-infra/src/directory-validator.js +91 -0
- package/dist/core-infra/src/directory-validator.js.map +1 -0
- package/dist/core-infra/src/index.d.ts +14 -0
- package/dist/core-infra/src/index.d.ts.map +1 -0
- package/dist/core-infra/src/index.js +44 -0
- package/dist/core-infra/src/index.js.map +1 -0
- package/dist/core-infra/src/mcp/file-mcp-manager.d.ts +14 -0
- package/dist/core-infra/src/mcp/file-mcp-manager.d.ts.map +1 -0
- package/dist/core-infra/src/mcp/file-mcp-manager.js +46 -0
- package/dist/core-infra/src/mcp/file-mcp-manager.js.map +1 -0
- package/dist/core-infra/src/mcp/index.d.ts +21 -0
- package/dist/core-infra/src/mcp/index.d.ts.map +1 -0
- package/dist/core-infra/src/mcp/index.js +17 -0
- package/dist/core-infra/src/mcp/index.js.map +1 -0
- package/dist/core-infra/src/mcp/mcp-client.d.ts +128 -0
- package/dist/core-infra/src/mcp/mcp-client.d.ts.map +1 -0
- package/dist/core-infra/src/mcp/mcp-client.js +163 -0
- package/dist/core-infra/src/mcp/mcp-client.js.map +1 -0
- package/dist/core-infra/src/mcp/mcp-manager.d.ts +21 -0
- package/dist/core-infra/src/mcp/mcp-manager.d.ts.map +1 -0
- package/dist/core-infra/src/mcp/mcp-manager.js +99 -0
- package/dist/core-infra/src/mcp/mcp-manager.js.map +1 -0
- package/dist/core-infra/src/mcp/playwright-mcp-manager.d.ts +19 -0
- package/dist/core-infra/src/mcp/playwright-mcp-manager.d.ts.map +1 -0
- package/dist/core-infra/src/mcp/playwright-mcp-manager.js +120 -0
- package/dist/core-infra/src/mcp/playwright-mcp-manager.js.map +1 -0
- package/dist/core-infra/src/model.d.ts +11 -0
- package/dist/core-infra/src/model.d.ts.map +1 -0
- package/dist/core-infra/src/model.js +190 -0
- package/dist/core-infra/src/model.js.map +1 -0
- package/dist/core-infra/src/repositories/BaseRepository.d.ts +69 -0
- package/dist/core-infra/src/repositories/BaseRepository.d.ts.map +1 -0
- package/dist/core-infra/src/repositories/BaseRepository.js +213 -0
- package/dist/core-infra/src/repositories/BaseRepository.js.map +1 -0
- package/dist/core-infra/src/repositories/DirectoryRepository.d.ts +70 -0
- package/dist/core-infra/src/repositories/DirectoryRepository.d.ts.map +1 -0
- package/dist/core-infra/src/repositories/DirectoryRepository.js +336 -0
- package/dist/core-infra/src/repositories/DirectoryRepository.js.map +1 -0
- package/dist/core-infra/src/repositories/ExplorationRepository.d.ts +34 -0
- package/dist/core-infra/src/repositories/ExplorationRepository.d.ts.map +1 -0
- package/dist/core-infra/src/repositories/ExplorationRepository.js +54 -0
- package/dist/core-infra/src/repositories/ExplorationRepository.js.map +1 -0
- package/dist/core-infra/src/repositories/FileRepository.d.ts +56 -0
- package/dist/core-infra/src/repositories/FileRepository.d.ts.map +1 -0
- package/dist/core-infra/src/repositories/FileRepository.js +132 -0
- package/dist/core-infra/src/repositories/FileRepository.js.map +1 -0
- package/dist/core-infra/src/repositories/ModelConfigRepository.d.ts +38 -0
- package/dist/core-infra/src/repositories/ModelConfigRepository.d.ts.map +1 -0
- package/dist/core-infra/src/repositories/ModelConfigRepository.js +59 -0
- package/dist/core-infra/src/repositories/ModelConfigRepository.js.map +1 -0
- package/dist/core-infra/src/repositories/ProjectRepository.d.ts +32 -0
- package/dist/core-infra/src/repositories/ProjectRepository.d.ts.map +1 -0
- package/dist/core-infra/src/repositories/ProjectRepository.js +67 -0
- package/dist/core-infra/src/repositories/ProjectRepository.js.map +1 -0
- package/dist/core-infra/src/repositories/SettingsRepository.d.ts +19 -0
- package/dist/core-infra/src/repositories/SettingsRepository.d.ts.map +1 -0
- package/dist/core-infra/src/repositories/SettingsRepository.js +72 -0
- package/dist/core-infra/src/repositories/SettingsRepository.js.map +1 -0
- package/dist/core-infra/src/repositories/TableDataRepository.d.ts +22 -0
- package/dist/core-infra/src/repositories/TableDataRepository.d.ts.map +1 -0
- package/dist/core-infra/src/repositories/TableDataRepository.js +33 -0
- package/dist/core-infra/src/repositories/TableDataRepository.js.map +1 -0
- package/dist/core-infra/src/repositories/TestCaseRepository.d.ts +120 -0
- package/dist/core-infra/src/repositories/TestCaseRepository.d.ts.map +1 -0
- package/dist/core-infra/src/repositories/TestCaseRepository.js +463 -0
- package/dist/core-infra/src/repositories/TestCaseRepository.js.map +1 -0
- package/dist/core-infra/src/repositories/TestPlanRepository.d.ts +35 -0
- package/dist/core-infra/src/repositories/TestPlanRepository.d.ts.map +1 -0
- package/dist/core-infra/src/repositories/TestPlanRepository.js +80 -0
- package/dist/core-infra/src/repositories/TestPlanRepository.js.map +1 -0
- package/dist/core-infra/src/repositories/TestResultRepository.d.ts +30 -0
- package/dist/core-infra/src/repositories/TestResultRepository.d.ts.map +1 -0
- package/dist/core-infra/src/repositories/TestResultRepository.js +54 -0
- package/dist/core-infra/src/repositories/TestResultRepository.js.map +1 -0
- package/dist/core-infra/src/repositories/index.d.ts +17 -0
- package/dist/core-infra/src/repositories/index.d.ts.map +1 -0
- package/dist/core-infra/src/repositories/index.js +31 -0
- package/dist/core-infra/src/repositories/index.js.map +1 -0
- package/dist/core-infra/src/storageService.d.ts +131 -0
- package/dist/core-infra/src/storageService.d.ts.map +1 -0
- package/dist/core-infra/src/storageService.js +304 -0
- package/dist/core-infra/src/storageService.js.map +1 -0
- package/dist/core-infra/src/types.d.ts +218 -0
- package/dist/core-infra/src/types.d.ts.map +1 -0
- package/dist/core-infra/src/types.js +3 -0
- package/dist/core-infra/src/types.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/types/external.d.ts +6 -0
- package/dist/types/external.d.ts.map +1 -0
- package/dist/types/external.js +7 -0
- package/dist/types/external.js.map +1 -0
- package/dist/types/index.d.ts +153 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +26 -0
- package/dist/types/index.js.map +1 -0
- package/docs/PLAYWRIGHT_MCP_ADAPTER.md +132 -0
- package/docs/SCHEMA_EXTRACTION.md +224 -0
- package/package.json +43 -0
- package/playwright.config.ts +38 -0
- package/src/agents/logger.ts +20 -0
- package/src/agents/playwright-executor.ts +244 -0
- package/src/agents/tools/playwright-backend-adapter.ts +134 -0
- package/src/agents/tools/playwright-mcp-types.d.ts +71 -0
- package/src/agents/types.ts +80 -0
- package/src/index.ts +27 -0
- package/src/runner.ts +219 -0
- package/src/tools/index.ts +48 -0
- package/src/tools/playwright-groups.ts +54 -0
- package/src/types/external.ts +7 -0
- package/src/types/index.ts +118 -0
- package/tests/agent/test-heal-agent.spec.ts +69 -0
- package/tsconfig.json +26 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../../src/types/external.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external.js","sourceRoot":"","sources":["../../../../src/types/external.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ai-heal Core Type Definitions (MVP)
|
|
3
|
+
* Maintain simplicity, include only necessary types
|
|
4
|
+
*/
|
|
5
|
+
export interface RunnerConfig {
|
|
6
|
+
/** Test Case ID */
|
|
7
|
+
testCaseId: string;
|
|
8
|
+
/** Project ID */
|
|
9
|
+
projectId: string;
|
|
10
|
+
}
|
|
11
|
+
export interface RunStepOptions {
|
|
12
|
+
/** Step description for AI to understand */
|
|
13
|
+
description: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ReActStep {
|
|
16
|
+
/** Step number */
|
|
17
|
+
stepNumber: number;
|
|
18
|
+
/** Step type */
|
|
19
|
+
stepType: 'thought' | 'action' | 'observation' | 'reflection';
|
|
20
|
+
/** Timestamp */
|
|
21
|
+
timestamp: number;
|
|
22
|
+
/** LLM thought process (thought step) */
|
|
23
|
+
thought?: string;
|
|
24
|
+
/** Tool call information (action step) */
|
|
25
|
+
toolCall?: {
|
|
26
|
+
name: string;
|
|
27
|
+
input: any;
|
|
28
|
+
};
|
|
29
|
+
/** Tool execution result (observation step) */
|
|
30
|
+
toolResult?: {
|
|
31
|
+
output: string;
|
|
32
|
+
success: boolean;
|
|
33
|
+
duration?: number;
|
|
34
|
+
};
|
|
35
|
+
/** Reflection content (reflection step) */
|
|
36
|
+
reflection?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Context information for a single self-healing process
|
|
40
|
+
*/
|
|
41
|
+
export interface HealContext {
|
|
42
|
+
/** Step description */
|
|
43
|
+
stepDescription: string;
|
|
44
|
+
/** original error */
|
|
45
|
+
error?: string;
|
|
46
|
+
/** Stack trace */
|
|
47
|
+
stackTrace?: string;
|
|
48
|
+
/** Original code */
|
|
49
|
+
originalCode: string;
|
|
50
|
+
/** Whether successful */
|
|
51
|
+
success: boolean;
|
|
52
|
+
/** Total steps executed by Agent */
|
|
53
|
+
agentSteps?: number;
|
|
54
|
+
healError?: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Code execution result
|
|
58
|
+
*/
|
|
59
|
+
export interface ExecutionResult {
|
|
60
|
+
/** Whether successful */
|
|
61
|
+
success: boolean;
|
|
62
|
+
/** Return value */
|
|
63
|
+
returnValue: any;
|
|
64
|
+
/** Local variables */
|
|
65
|
+
locals: Record<string, any>;
|
|
66
|
+
/** Error message */
|
|
67
|
+
error?: Error;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Self-healing summary information
|
|
71
|
+
*/
|
|
72
|
+
export interface HealSummary {
|
|
73
|
+
/** Total number of steps */
|
|
74
|
+
totalSteps: number;
|
|
75
|
+
/** Number of successfully healed steps */
|
|
76
|
+
healedSteps: number;
|
|
77
|
+
/** Fixed script */
|
|
78
|
+
modifiedScript?: string;
|
|
79
|
+
/** List of self-healing details */
|
|
80
|
+
healingDetails: HealingDetail[];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Single self-healing detail
|
|
84
|
+
*/
|
|
85
|
+
export interface HealingDetail {
|
|
86
|
+
/** Step description */
|
|
87
|
+
step: string;
|
|
88
|
+
/** Error message */
|
|
89
|
+
error: string;
|
|
90
|
+
/** Recovery time */
|
|
91
|
+
recoveryTime: number;
|
|
92
|
+
/** Number of LLM interactions */
|
|
93
|
+
llmInteractions: number;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB;IAChB,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,YAAY,CAAC;IAC9D,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QAEb,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC;IACF,+CAA+C;IAC/C,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB;IAEnB,WAAW,EAAE,GAAG,CAAC;IACjB,sBAAsB;IAEtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,eAAe,EAAE,MAAM,CAAC;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runner 核心类 (MVP + Agent)
|
|
3
|
+
* 实现 AI 驱动的测试运行逻辑,包括自愈和其他 AI 能力
|
|
4
|
+
*/
|
|
5
|
+
import type { AIHealConfig, RunStepOptions, HealContext, HealSummary } from '../types';
|
|
6
|
+
import type { ModelConfig } from '../types/external';
|
|
7
|
+
/**
|
|
8
|
+
* Runner - AI 驱动的测试运行器
|
|
9
|
+
* 支持自愈、变量管理和其他 AI 增强功能
|
|
10
|
+
*/
|
|
11
|
+
export declare class Runner {
|
|
12
|
+
private config;
|
|
13
|
+
private originalScript;
|
|
14
|
+
private healContexts;
|
|
15
|
+
private agent;
|
|
16
|
+
private modelConfig?;
|
|
17
|
+
private modelConfigReady;
|
|
18
|
+
private storageService;
|
|
19
|
+
private vars;
|
|
20
|
+
private constructor();
|
|
21
|
+
/**
|
|
22
|
+
* 创建 Runner 实例(主要工厂方法)
|
|
23
|
+
*
|
|
24
|
+
* @param config - Runner 配置
|
|
25
|
+
* @returns Runner 实例
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const runner = Runner.to({
|
|
30
|
+
* modelConfigId: 'your-model-config-id',
|
|
31
|
+
* projectId: 'project-123',
|
|
32
|
+
* testCaseId: 'test-456'
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
static to(config: AIHealConfig): Runner;
|
|
37
|
+
/**
|
|
38
|
+
* 从脚本内容创建 Runner 实例
|
|
39
|
+
*
|
|
40
|
+
* @param scriptContent - 测试脚本内容
|
|
41
|
+
* @param config - 其他配置选项
|
|
42
|
+
* @returns Runner 实例
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const runner = Runner.fromScript(`
|
|
47
|
+
* test('example', async ({ page }) => {
|
|
48
|
+
* await page.goto('https://example.com');
|
|
49
|
+
* });
|
|
50
|
+
* `, {
|
|
51
|
+
* modelConfigId: 'your-model-config-id'
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
static fromScript(scriptContent: string, config: AIHealConfig): Runner;
|
|
56
|
+
/**
|
|
57
|
+
* 从数据库中的测试用例创建 Runner 实例
|
|
58
|
+
*
|
|
59
|
+
* @param projectId - 项目 ID
|
|
60
|
+
* @param testCaseId - 测试用例 ID
|
|
61
|
+
* @param config - 其他配置选项
|
|
62
|
+
* @returns Runner 实例
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* const runner = Runner.fromTestCase('project-123', 'test-456', {
|
|
67
|
+
* modelConfigId: 'your-model-config-id'
|
|
68
|
+
* });
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
static NewInstance(projectId: string, testCaseId: string, config: AIHealConfig): Runner;
|
|
72
|
+
/**
|
|
73
|
+
* 创建带调试模式的 Runner 实例
|
|
74
|
+
*
|
|
75
|
+
* @param config - Runner 配置
|
|
76
|
+
* @returns Runner 实例
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* const runner = Runner.debug({
|
|
81
|
+
* modelConfigId: 'your-model-config-id'
|
|
82
|
+
* });
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
static debug(config: AIHealConfig): Runner;
|
|
86
|
+
/**
|
|
87
|
+
* 加载原始脚本(优先从数据库)- 同步方法
|
|
88
|
+
*/
|
|
89
|
+
private loadOriginalScript;
|
|
90
|
+
/**
|
|
91
|
+
* 初始化 Agent(异步加载模型配置)
|
|
92
|
+
* 优先级:1. 传入的 modelConfigId 2. 加载 isDefault=true 的配置 3. 加载第一个可用配置
|
|
93
|
+
*/
|
|
94
|
+
private initializeAgent;
|
|
95
|
+
/**
|
|
96
|
+
* 执行一个可能需要自愈的步骤
|
|
97
|
+
*
|
|
98
|
+
* @param options - 步骤选项
|
|
99
|
+
* @param fn - 要执行的函数
|
|
100
|
+
* @returns 函数执行结果
|
|
101
|
+
*/
|
|
102
|
+
runStep<T>(options: RunStepOptions, fn: () => Promise<T>): Promise<T>;
|
|
103
|
+
/**
|
|
104
|
+
* 结束清理自愈过程内容
|
|
105
|
+
*
|
|
106
|
+
* @returns 自愈摘要信息
|
|
107
|
+
*/
|
|
108
|
+
stop(): Promise<HealSummary>;
|
|
109
|
+
/**
|
|
110
|
+
* 捕获变量当前值
|
|
111
|
+
*/
|
|
112
|
+
private captureVariables;
|
|
113
|
+
/**
|
|
114
|
+
* 获取原始脚本
|
|
115
|
+
*/
|
|
116
|
+
getOriginalScript(): string;
|
|
117
|
+
/**
|
|
118
|
+
* 获取所有自愈上下文
|
|
119
|
+
*/
|
|
120
|
+
getHealContexts(): HealContext[];
|
|
121
|
+
/**
|
|
122
|
+
* 手动设置模型配置(替代通过 modelConfigId 加载)
|
|
123
|
+
*
|
|
124
|
+
* @param modelConfig - 模型配置对象
|
|
125
|
+
*/
|
|
126
|
+
setModelConfig(modelConfig: ModelConfig): void;
|
|
127
|
+
/**
|
|
128
|
+
* 获取当前使用的模型配置
|
|
129
|
+
*/
|
|
130
|
+
getModelConfig(): ModelConfig | undefined;
|
|
131
|
+
/**
|
|
132
|
+
* 使用 LLM 生成修复后的脚本
|
|
133
|
+
*/
|
|
134
|
+
private generateModifiedScript;
|
|
135
|
+
/**
|
|
136
|
+
* 创建 LLM 实例
|
|
137
|
+
*/
|
|
138
|
+
private createLLM;
|
|
139
|
+
/**
|
|
140
|
+
* 构建系统提示
|
|
141
|
+
*/
|
|
142
|
+
private buildSystemPrompt;
|
|
143
|
+
/**
|
|
144
|
+
* 构建用户消息
|
|
145
|
+
*/
|
|
146
|
+
private buildUserMessage;
|
|
147
|
+
/**
|
|
148
|
+
* 保存或打印脚本
|
|
149
|
+
*/
|
|
150
|
+
private saveOrPrintScript;
|
|
151
|
+
/**
|
|
152
|
+
* 打印修复后的脚本
|
|
153
|
+
*/
|
|
154
|
+
private printScript;
|
|
155
|
+
/**
|
|
156
|
+
* 设置变量值
|
|
157
|
+
* @param key 变量名
|
|
158
|
+
* @param value 变量值
|
|
159
|
+
*/
|
|
160
|
+
set(key: string, value: any): void;
|
|
161
|
+
/**
|
|
162
|
+
* 获取变量值
|
|
163
|
+
* @param key 变量名
|
|
164
|
+
* @returns 变量值,如果不存在则返回 undefined
|
|
165
|
+
*/
|
|
166
|
+
get(key: string): any;
|
|
167
|
+
/**
|
|
168
|
+
* 检查变量是否存在
|
|
169
|
+
* @param key 变量名
|
|
170
|
+
* @returns 是否存在
|
|
171
|
+
*/
|
|
172
|
+
has(key: string): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* 删除变量
|
|
175
|
+
* @param key 变量名
|
|
176
|
+
* @returns 是否删除成功
|
|
177
|
+
*/
|
|
178
|
+
delete(key: string): boolean;
|
|
179
|
+
/**
|
|
180
|
+
* 清空所有变量
|
|
181
|
+
*/
|
|
182
|
+
clear(): void;
|
|
183
|
+
/**
|
|
184
|
+
* 获取所有变量名
|
|
185
|
+
* @returns 所有变量的键数组
|
|
186
|
+
*/
|
|
187
|
+
keys(): string[];
|
|
188
|
+
/**
|
|
189
|
+
* 获取所有变量
|
|
190
|
+
* @returns 包含所有键值对的对象
|
|
191
|
+
*/
|
|
192
|
+
getAll(): Record<string, any>;
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EAEd,WAAW,EACX,WAAW,EACZ,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,IAAI,CAA+B;IAE3C,OAAO;IA0BP;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IAIvC;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM;IAOtE;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM;IAQvF;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IAW1C;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;;OAGG;YACW,eAAe;IAwE7B;;;;;;OAMG;IACG,OAAO,CAAC,CAAC,EACb,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC;IAwFb;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IA4DlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,eAAe,IAAI,WAAW,EAAE;IAIhC;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAc9C;;OAEG;IACH,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC;;OAEG;YACW,sBAAsB;IA0BpC;;OAEG;IACH,OAAO,CAAC,SAAS;IA8BjB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8DxB;;OAEG;YACW,iBAAiB;IAsB/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAOlC;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAQrB;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQ5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;;OAGG;IACH,IAAI,IAAI,MAAM,EAAE;IAIhB;;;OAGG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAG9B"}
|