@cotestdev/ai-runner 0.0.5 → 0.0.7

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.
Files changed (164) hide show
  1. package/.github/workflows/playwright.yml +27 -0
  2. package/dist/agents/logger.d.ts.map +1 -0
  3. package/dist/agents/logger.js.map +1 -0
  4. package/dist/{ai-runner/src/agents → agents}/playwright-executor.d.ts +3 -1
  5. package/dist/agents/playwright-executor.d.ts.map +1 -0
  6. package/dist/{ai-runner/src/agents → agents}/playwright-executor.js +74 -18
  7. package/dist/agents/playwright-executor.js.map +1 -0
  8. package/dist/agents/tools/playwright-backend-adapter.d.ts.map +1 -0
  9. package/dist/{ai-runner/src/agents → agents}/tools/playwright-backend-adapter.js +2 -1
  10. package/dist/agents/tools/playwright-backend-adapter.js.map +1 -0
  11. package/dist/agents/types.d.ts.map +1 -0
  12. package/dist/{core-infra/src → agents}/types.js.map +1 -1
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/{ai-runner/src/runner.d.ts → runner.d.ts} +7 -2
  16. package/dist/runner.d.ts.map +1 -0
  17. package/dist/{ai-runner/src/runner.js → runner.js} +23 -12
  18. package/dist/runner.js.map +1 -0
  19. package/dist/tools/index.d.ts.map +1 -0
  20. package/dist/tools/index.js.map +1 -0
  21. package/dist/tools/playwright-groups.d.ts.map +1 -0
  22. package/dist/tools/playwright-groups.js.map +1 -0
  23. package/dist/types/external.d.ts.map +1 -0
  24. package/dist/types/external.js.map +1 -0
  25. package/dist/types/index.d.ts.map +1 -0
  26. package/dist/types/index.js.map +1 -0
  27. package/package.json +5 -9
  28. package/playwright.config.ts +38 -0
  29. package/src/agents/logger.ts +20 -0
  30. package/src/agents/playwright-executor.ts +284 -0
  31. package/src/agents/tools/playwright-backend-adapter.ts +135 -0
  32. package/src/agents/tools/playwright-mcp-types.d.ts +72 -0
  33. package/src/agents/types.ts +80 -0
  34. package/src/index.ts +27 -0
  35. package/src/runner.ts +237 -0
  36. package/src/tools/index.ts +48 -0
  37. package/src/tools/playwright-groups.ts +54 -0
  38. package/src/types/external.ts +7 -0
  39. package/src/types/index.ts +118 -0
  40. package/tests/agent/playwright.config.ts +32 -0
  41. package/tests/agent/test-heal-agent.spec.ts +42 -0
  42. package/tsconfig.json +26 -0
  43. package/dist/ai-runner/src/agents/logger.d.ts.map +0 -1
  44. package/dist/ai-runner/src/agents/logger.js.map +0 -1
  45. package/dist/ai-runner/src/agents/playwright-executor.d.ts.map +0 -1
  46. package/dist/ai-runner/src/agents/playwright-executor.js.map +0 -1
  47. package/dist/ai-runner/src/agents/tools/playwright-backend-adapter.d.ts.map +0 -1
  48. package/dist/ai-runner/src/agents/tools/playwright-backend-adapter.js.map +0 -1
  49. package/dist/ai-runner/src/agents/types.d.ts.map +0 -1
  50. package/dist/ai-runner/src/agents/types.js.map +0 -1
  51. package/dist/ai-runner/src/index.d.ts.map +0 -1
  52. package/dist/ai-runner/src/index.js.map +0 -1
  53. package/dist/ai-runner/src/runner.d.ts.map +0 -1
  54. package/dist/ai-runner/src/runner.js.map +0 -1
  55. package/dist/ai-runner/src/tools/index.d.ts.map +0 -1
  56. package/dist/ai-runner/src/tools/index.js.map +0 -1
  57. package/dist/ai-runner/src/tools/playwright-groups.d.ts.map +0 -1
  58. package/dist/ai-runner/src/tools/playwright-groups.js.map +0 -1
  59. package/dist/ai-runner/src/types/external.d.ts.map +0 -1
  60. package/dist/ai-runner/src/types/external.js.map +0 -1
  61. package/dist/ai-runner/src/types/index.d.ts.map +0 -1
  62. package/dist/ai-runner/src/types/index.js.map +0 -1
  63. package/dist/core-infra/src/directory-validator.d.ts +0 -29
  64. package/dist/core-infra/src/directory-validator.d.ts.map +0 -1
  65. package/dist/core-infra/src/directory-validator.js +0 -91
  66. package/dist/core-infra/src/directory-validator.js.map +0 -1
  67. package/dist/core-infra/src/index.d.ts +0 -14
  68. package/dist/core-infra/src/index.d.ts.map +0 -1
  69. package/dist/core-infra/src/index.js +0 -44
  70. package/dist/core-infra/src/index.js.map +0 -1
  71. package/dist/core-infra/src/mcp/file-mcp-manager.d.ts +0 -14
  72. package/dist/core-infra/src/mcp/file-mcp-manager.d.ts.map +0 -1
  73. package/dist/core-infra/src/mcp/file-mcp-manager.js +0 -46
  74. package/dist/core-infra/src/mcp/file-mcp-manager.js.map +0 -1
  75. package/dist/core-infra/src/mcp/index.d.ts +0 -21
  76. package/dist/core-infra/src/mcp/index.d.ts.map +0 -1
  77. package/dist/core-infra/src/mcp/index.js +0 -17
  78. package/dist/core-infra/src/mcp/index.js.map +0 -1
  79. package/dist/core-infra/src/mcp/mcp-client.d.ts +0 -128
  80. package/dist/core-infra/src/mcp/mcp-client.d.ts.map +0 -1
  81. package/dist/core-infra/src/mcp/mcp-client.js +0 -163
  82. package/dist/core-infra/src/mcp/mcp-client.js.map +0 -1
  83. package/dist/core-infra/src/mcp/mcp-manager.d.ts +0 -21
  84. package/dist/core-infra/src/mcp/mcp-manager.d.ts.map +0 -1
  85. package/dist/core-infra/src/mcp/mcp-manager.js +0 -99
  86. package/dist/core-infra/src/mcp/mcp-manager.js.map +0 -1
  87. package/dist/core-infra/src/mcp/playwright-mcp-manager.d.ts +0 -19
  88. package/dist/core-infra/src/mcp/playwright-mcp-manager.d.ts.map +0 -1
  89. package/dist/core-infra/src/mcp/playwright-mcp-manager.js +0 -121
  90. package/dist/core-infra/src/mcp/playwright-mcp-manager.js.map +0 -1
  91. package/dist/core-infra/src/model.d.ts +0 -13
  92. package/dist/core-infra/src/model.d.ts.map +0 -1
  93. package/dist/core-infra/src/model.js +0 -191
  94. package/dist/core-infra/src/model.js.map +0 -1
  95. package/dist/core-infra/src/repositories/BaseRepository.d.ts +0 -69
  96. package/dist/core-infra/src/repositories/BaseRepository.d.ts.map +0 -1
  97. package/dist/core-infra/src/repositories/BaseRepository.js +0 -213
  98. package/dist/core-infra/src/repositories/BaseRepository.js.map +0 -1
  99. package/dist/core-infra/src/repositories/DirectoryRepository.d.ts +0 -70
  100. package/dist/core-infra/src/repositories/DirectoryRepository.d.ts.map +0 -1
  101. package/dist/core-infra/src/repositories/DirectoryRepository.js +0 -336
  102. package/dist/core-infra/src/repositories/DirectoryRepository.js.map +0 -1
  103. package/dist/core-infra/src/repositories/ExplorationRepository.d.ts +0 -34
  104. package/dist/core-infra/src/repositories/ExplorationRepository.d.ts.map +0 -1
  105. package/dist/core-infra/src/repositories/ExplorationRepository.js +0 -54
  106. package/dist/core-infra/src/repositories/ExplorationRepository.js.map +0 -1
  107. package/dist/core-infra/src/repositories/FileRepository.d.ts +0 -56
  108. package/dist/core-infra/src/repositories/FileRepository.d.ts.map +0 -1
  109. package/dist/core-infra/src/repositories/FileRepository.js +0 -132
  110. package/dist/core-infra/src/repositories/FileRepository.js.map +0 -1
  111. package/dist/core-infra/src/repositories/ModelConfigRepository.d.ts +0 -38
  112. package/dist/core-infra/src/repositories/ModelConfigRepository.d.ts.map +0 -1
  113. package/dist/core-infra/src/repositories/ModelConfigRepository.js +0 -59
  114. package/dist/core-infra/src/repositories/ModelConfigRepository.js.map +0 -1
  115. package/dist/core-infra/src/repositories/ProjectRepository.d.ts +0 -32
  116. package/dist/core-infra/src/repositories/ProjectRepository.d.ts.map +0 -1
  117. package/dist/core-infra/src/repositories/ProjectRepository.js +0 -67
  118. package/dist/core-infra/src/repositories/ProjectRepository.js.map +0 -1
  119. package/dist/core-infra/src/repositories/SettingsRepository.d.ts +0 -19
  120. package/dist/core-infra/src/repositories/SettingsRepository.d.ts.map +0 -1
  121. package/dist/core-infra/src/repositories/SettingsRepository.js +0 -72
  122. package/dist/core-infra/src/repositories/SettingsRepository.js.map +0 -1
  123. package/dist/core-infra/src/repositories/TableDataRepository.d.ts +0 -22
  124. package/dist/core-infra/src/repositories/TableDataRepository.d.ts.map +0 -1
  125. package/dist/core-infra/src/repositories/TableDataRepository.js +0 -33
  126. package/dist/core-infra/src/repositories/TableDataRepository.js.map +0 -1
  127. package/dist/core-infra/src/repositories/TestCaseRepository.d.ts +0 -120
  128. package/dist/core-infra/src/repositories/TestCaseRepository.d.ts.map +0 -1
  129. package/dist/core-infra/src/repositories/TestCaseRepository.js +0 -463
  130. package/dist/core-infra/src/repositories/TestCaseRepository.js.map +0 -1
  131. package/dist/core-infra/src/repositories/TestPlanRepository.d.ts +0 -35
  132. package/dist/core-infra/src/repositories/TestPlanRepository.d.ts.map +0 -1
  133. package/dist/core-infra/src/repositories/TestPlanRepository.js +0 -80
  134. package/dist/core-infra/src/repositories/TestPlanRepository.js.map +0 -1
  135. package/dist/core-infra/src/repositories/TestResultRepository.d.ts +0 -30
  136. package/dist/core-infra/src/repositories/TestResultRepository.d.ts.map +0 -1
  137. package/dist/core-infra/src/repositories/TestResultRepository.js +0 -54
  138. package/dist/core-infra/src/repositories/TestResultRepository.js.map +0 -1
  139. package/dist/core-infra/src/repositories/index.d.ts +0 -17
  140. package/dist/core-infra/src/repositories/index.d.ts.map +0 -1
  141. package/dist/core-infra/src/repositories/index.js +0 -31
  142. package/dist/core-infra/src/repositories/index.js.map +0 -1
  143. package/dist/core-infra/src/storageService.d.ts +0 -131
  144. package/dist/core-infra/src/storageService.d.ts.map +0 -1
  145. package/dist/core-infra/src/storageService.js +0 -304
  146. package/dist/core-infra/src/storageService.js.map +0 -1
  147. package/dist/core-infra/src/types.d.ts +0 -219
  148. package/dist/core-infra/src/types.d.ts.map +0 -1
  149. package/dist/core-infra/src/types.js +0 -3
  150. /package/dist/{ai-runner/src/agents → agents}/logger.d.ts +0 -0
  151. /package/dist/{ai-runner/src/agents → agents}/logger.js +0 -0
  152. /package/dist/{ai-runner/src/agents → agents}/tools/playwright-backend-adapter.d.ts +0 -0
  153. /package/dist/{ai-runner/src/agents → agents}/types.d.ts +0 -0
  154. /package/dist/{ai-runner/src/agents → agents}/types.js +0 -0
  155. /package/dist/{ai-runner/src/index.d.ts → index.d.ts} +0 -0
  156. /package/dist/{ai-runner/src/index.js → index.js} +0 -0
  157. /package/dist/{ai-runner/src/tools → tools}/index.d.ts +0 -0
  158. /package/dist/{ai-runner/src/tools → tools}/index.js +0 -0
  159. /package/dist/{ai-runner/src/tools → tools}/playwright-groups.d.ts +0 -0
  160. /package/dist/{ai-runner/src/tools → tools}/playwright-groups.js +0 -0
  161. /package/dist/{ai-runner/src/types → types}/external.d.ts +0 -0
  162. /package/dist/{ai-runner/src/types → types}/external.js +0 -0
  163. /package/dist/{ai-runner/src/types → types}/index.d.ts +0 -0
  164. /package/dist/{ai-runner/src/types → types}/index.js +0 -0
@@ -1,304 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StorageService = void 0;
4
- const fs_1 = require("fs");
5
- const os_1 = require("os");
6
- const path_1 = require("path");
7
- const repositories_1 = require("./repositories");
8
- const STORAGE_DIR = (0, path_1.join)((0, os_1.homedir)(), '.test_agent');
9
- let isInit = false;
10
- /**
11
- * StorageService acts as a facade for all data storage operations
12
- * Coordinates between different repositories and provides a unified interface
13
- * This decouples business logic from repository implementation details
14
- *
15
- * Benefits:
16
- * - Single point of entry for all storage operations
17
- * - Encapsulates repository instantiation
18
- * - Easy to add cross-cutting concerns (logging, caching, etc.)
19
- * - Simplifies unit testing by allowing mock repositories
20
- */
21
- class StorageService {
22
- constructor(projectId) {
23
- this.testCaseRepo = new repositories_1.TestCaseRepository(projectId);
24
- this.testResultRepo = new repositories_1.TestResultRepository(projectId);
25
- this.modelConfigRepo = new repositories_1.ModelConfigRepository();
26
- this.explorationRepo = new repositories_1.ExplorationRepository(projectId);
27
- this.settingsRepo = new repositories_1.SettingsRepository();
28
- this.projectRepo = new repositories_1.ProjectRepository();
29
- this.directoryRepo = new repositories_1.DirectoryRepository(projectId);
30
- this.testPlanRepo = new repositories_1.TestPlanRepository(projectId);
31
- this.tableDataRepo = new repositories_1.TableDataRepository(projectId);
32
- this.fileRepo = new repositories_1.FileRepository(projectId);
33
- }
34
- /**
35
- * Get singleton instance of StorageService
36
- */
37
- static getInstance(projectId) {
38
- if (isInit === false) {
39
- isInit = true;
40
- StorageService.createDirs(["models", "settings"]);
41
- }
42
- let instance = StorageService.instances.get(projectId);
43
- if (!instance) {
44
- instance = new StorageService(projectId);
45
- StorageService.instances.set(projectId, instance);
46
- }
47
- return instance;
48
- }
49
- /**
50
- * Reset instance (useful for testing)
51
- */
52
- static resetInstance() {
53
- StorageService.instances.clear();
54
- isInit = false;
55
- }
56
- /**
57
- * Initialize storage directories
58
- */
59
- static createDirs(dirs) {
60
- for (const dir of dirs) {
61
- const dirPath = (0, path_1.join)(STORAGE_DIR, dir);
62
- if (!(0, fs_1.existsSync)(dirPath)) {
63
- (0, fs_1.mkdirSync)(dirPath, { recursive: true });
64
- }
65
- }
66
- }
67
- /**
68
- * Get storage root directory
69
- */
70
- getStorageDir() {
71
- return STORAGE_DIR;
72
- }
73
- // ==================== TestCase Operations ====================
74
- saveTestCase(testCase) {
75
- this.testCaseRepo.saveTestCase(testCase);
76
- }
77
- loadTestCase(testId) {
78
- return this.testCaseRepo.loadTestCase(testId);
79
- }
80
- listTestCases() {
81
- return this.testCaseRepo.listTestCases();
82
- }
83
- listResuableTestCases(currentId) {
84
- const list = this.testCaseRepo.listTestCases();
85
- return list.filter(test => test.reusable && test.id !== currentId && test.status === 'completed');
86
- }
87
- deleteTestCase(testId) {
88
- this.testCaseRepo.deleteTestCase(testId);
89
- try {
90
- this.tableDataRepo.deleteTableData(testId);
91
- }
92
- catch (err) {
93
- console.error(`Failed to delete table data for test case ${testId}:`, err);
94
- }
95
- try {
96
- this.fileRepo.deleteAllFiles(testId);
97
- }
98
- catch (err) {
99
- console.error(`Failed to delete files for test case ${testId}:`, err);
100
- }
101
- }
102
- listTestCasesRecursively(dirPath) {
103
- return this.testCaseRepo.listTestCasesRecursively(dirPath);
104
- }
105
- saveTestScript(testId, script) {
106
- this.testCaseRepo.saveTestScript(testId, script);
107
- }
108
- hasTestScript(testId) {
109
- return this.testCaseRepo.hasTestScript(testId);
110
- }
111
- loadTestScript(testId) {
112
- return this.testCaseRepo.loadTestScript(testId);
113
- }
114
- saveTestSteps(testId, steps) {
115
- this.testCaseRepo.saveTestSteps(testId, steps);
116
- }
117
- loadTestSteps(testId) {
118
- return this.testCaseRepo.loadTestSteps(testId);
119
- }
120
- saveTestStep(testId, step, afterStepId) {
121
- return this.testCaseRepo.saveTestStep(testId, step, afterStepId);
122
- }
123
- saveStepBreakPoint(testId, id, isBreakpoint) {
124
- return this.testCaseRepo.updateStepBreakPoint(testId, id, isBreakpoint);
125
- }
126
- insertStep(testId, afterStepId, newStep) {
127
- this.testCaseRepo.insertStep(testId, afterStepId, newStep);
128
- }
129
- deleteStep(testId, stepId) {
130
- return this.testCaseRepo.deleteStep(testId, stepId);
131
- }
132
- buildTestDirectoryTree() {
133
- return this.testCaseRepo.buildDirectoryTree();
134
- }
135
- // ==================== Directory Operations ====================
136
- createDirectory(path, info) {
137
- return this.directoryRepo.createDirectory(path, info);
138
- }
139
- getDirectoryInfo(path) {
140
- return this.directoryRepo.getDirectoryInfo(path);
141
- }
142
- updateDirectoryInfo(path, updates) {
143
- return this.directoryRepo.updateDirectoryInfo(path, updates);
144
- }
145
- deleteDirectory(path) {
146
- return this.directoryRepo.deleteDirectory(path);
147
- }
148
- renameDirectory(oldPath, newName) {
149
- return this.directoryRepo.renameDirectory(oldPath, newName);
150
- }
151
- getDirectoriesAtPath(path) {
152
- return this.directoryRepo.getDirectoriesAtPath(path);
153
- }
154
- isValidDirectory(path) {
155
- return this.directoryRepo.isValidDirectory(path);
156
- }
157
- moveDirectory(sourcePath, targetParentPath) {
158
- return this.directoryRepo.moveDirectory(sourcePath, targetParentPath);
159
- }
160
- moveTestCase(testId, sourceDir, targetDir) {
161
- return this.directoryRepo.moveTestCase(testId, sourceDir, targetDir);
162
- }
163
- // ==================== TestResult Operations ====================
164
- async saveTestResult(result) {
165
- await this.testResultRepo.saveTestResult(result);
166
- }
167
- async loadTestResult(resultId) {
168
- return this.testResultRepo.loadTestResult(resultId);
169
- }
170
- async loadTestResults(testId) {
171
- return this.testResultRepo.loadTestResults(testId);
172
- }
173
- async deleteTestResult(resultId) {
174
- await this.testResultRepo.deleteTestResult(resultId);
175
- }
176
- async deleteTestResults(testId) {
177
- await this.testResultRepo.deleteTestResults(testId);
178
- }
179
- // ==================== ModelConfig Operations ====================
180
- async saveModelConfig(config) {
181
- await this.modelConfigRepo.saveModelConfig(config);
182
- }
183
- async loadModelConfig(configId) {
184
- return this.modelConfigRepo.loadModelConfig(configId);
185
- }
186
- async listModelConfigs() {
187
- return this.modelConfigRepo.listModelConfigs();
188
- }
189
- listModelConfigsSync() {
190
- return this.modelConfigRepo.listModelConfigsSync();
191
- }
192
- async updateModelConfig(config) {
193
- await this.modelConfigRepo.updateModelConfig(config);
194
- }
195
- async deleteModelConfig(configId) {
196
- await this.modelConfigRepo.deleteModelConfig(configId);
197
- }
198
- async modelConfigExists(configId) {
199
- return this.modelConfigRepo.exists(configId);
200
- }
201
- // ==================== ExplorationRecord Operations ====================
202
- async saveExplorationRecord(record) {
203
- await this.explorationRepo.saveExplorationRecord(record);
204
- }
205
- async loadExplorationRecord(recordId) {
206
- return this.explorationRepo.loadExplorationRecord(recordId);
207
- }
208
- async listExplorationRecords() {
209
- return this.explorationRepo.listExplorationRecords();
210
- }
211
- async updateExplorationRecord(record) {
212
- await this.explorationRepo.updateExplorationRecord(record);
213
- }
214
- async deleteExplorationRecord(recordId) {
215
- await this.explorationRepo.deleteExplorationRecord(recordId);
216
- }
217
- async getExplorationRecordsByUrl(url) {
218
- return this.explorationRepo.getRecordsByUrl(url);
219
- }
220
- // ==================== Settings Operations ====================
221
- async saveSettings(settings) {
222
- await this.settingsRepo.saveSettings(settings);
223
- }
224
- async loadSettings() {
225
- return this.settingsRepo.loadSettings();
226
- }
227
- // ==================== Project Operations ====================
228
- saveProject(project) {
229
- this.projectRepo.saveProject(project);
230
- }
231
- loadProject(projectId) {
232
- return this.projectRepo.loadProject(projectId);
233
- }
234
- listProjects() {
235
- return this.projectRepo.listProjects();
236
- }
237
- deleteProject(projectId) {
238
- this.projectRepo.deleteProject(projectId);
239
- }
240
- async projectExists(projectId) {
241
- return this.projectRepo.exists(projectId);
242
- }
243
- // ==================== TestPlan Operations ====================
244
- saveTestPlan(testPlan) {
245
- this.testPlanRepo.saveTestPlan(testPlan);
246
- }
247
- loadTestPlan(testPlanId) {
248
- return this.testPlanRepo.loadTestPlan(testPlanId);
249
- }
250
- listTestPlans() {
251
- return this.testPlanRepo.listTestPlans();
252
- }
253
- updateTestPlan(testPlan) {
254
- this.testPlanRepo.updateTestPlan(testPlan);
255
- }
256
- deleteTestPlan(testPlanId) {
257
- this.testPlanRepo.deleteTestPlan(testPlanId);
258
- }
259
- testPlanExists(testPlanId) {
260
- return this.testPlanRepo.exists(testPlanId);
261
- }
262
- // ==================== TableData Operations ====================
263
- async saveTableData(tableData) {
264
- await this.tableDataRepo.saveTableData(tableData);
265
- }
266
- async loadTableData(testId) {
267
- const data = await this.tableDataRepo.loadTableData(testId);
268
- if (data && data.rows.length > 0) {
269
- return data;
270
- }
271
- return null;
272
- }
273
- async deleteTableData(testId) {
274
- await this.tableDataRepo.deleteTableData(testId);
275
- }
276
- // ==================== File Operations ====================
277
- getFileDir(testId) {
278
- return this.fileRepo.getTestFilesDir(testId);
279
- }
280
- saveFile(testId, fileName, content) {
281
- return this.fileRepo.saveFile(testId, fileName, content);
282
- }
283
- loadFile(testId, fileName) {
284
- return this.fileRepo.loadFile(testId, fileName);
285
- }
286
- listFiles(testId) {
287
- return this.fileRepo.listFiles(testId);
288
- }
289
- deleteFile(testId, fileName) {
290
- return this.fileRepo.deleteFile(testId, fileName);
291
- }
292
- deleteAllFiles(testId) {
293
- this.fileRepo.deleteAllFiles(testId);
294
- }
295
- fileExists(testId, fileName) {
296
- return this.fileRepo.fileExists(testId, fileName);
297
- }
298
- getFileInfo(testId, fileName) {
299
- return this.fileRepo.getFileInfo(testId, fileName);
300
- }
301
- }
302
- exports.StorageService = StorageService;
303
- StorageService.instances = new Map();
304
- //# sourceMappingURL=storageService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storageService.js","sourceRoot":"","sources":["../../../../core-infra/src/storageService.ts"],"names":[],"mappings":"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"}
@@ -1,219 +0,0 @@
1
- export interface TestStep {
2
- id: string;
3
- description: string;
4
- status?: "running" | "success" | "error";
5
- error?: string;
6
- isBreakpoint?: boolean;
7
- }
8
- export interface TableData {
9
- testId: string;
10
- columns: string[];
11
- rows: Record<string, string>[];
12
- createdAt: number;
13
- updatedAt: number;
14
- }
15
- export type TestCaseType = 'functional' | 'ui' | 'edge';
16
- export type TestCasePriority = 'high' | 'medium' | 'low';
17
- export interface TestParameter {
18
- key: string;
19
- value?: string;
20
- description: string;
21
- }
22
- export interface TestCase {
23
- projectId: string;
24
- id: string;
25
- name: string;
26
- description: string;
27
- url: string;
28
- steps: TestStep[];
29
- playwrightScript?: string;
30
- createdAt: number;
31
- updatedAt: number;
32
- status: 'draft' | 'ready' | 'completed';
33
- path: string;
34
- creator?: 'user' | 'ai';
35
- table?: TableData;
36
- type?: TestCaseType;
37
- reusable?: boolean;
38
- dependencies?: string[];
39
- priority?: TestCasePriority;
40
- parameters?: TestParameter[];
41
- outParameters?: TestParameter[];
42
- reusedTestIds?: string[];
43
- }
44
- export type LanguageCode = 'en-US' | 'zh-CN';
45
- export interface DirectoryInfo {
46
- id: string;
47
- name: string;
48
- description?: string;
49
- createdAt: number;
50
- updatedAt: number;
51
- }
52
- export interface TestDirectory {
53
- path: string;
54
- name: string;
55
- info?: DirectoryInfo;
56
- children: TestDirectory[];
57
- tests: TestCase[];
58
- }
59
- export type ModelProvider = 'openai' | 'anthropic' | 'mistral' | 'deepseek' | 'qwen';
60
- export interface ModelConfig {
61
- id: string;
62
- name: string;
63
- provider: ModelProvider;
64
- modelName: string;
65
- apiKey?: string;
66
- baseURL?: string;
67
- temperature?: number;
68
- maxTokens?: number;
69
- timeout?: number;
70
- isDefault?: boolean;
71
- createdAt: number;
72
- updatedAt: number;
73
- }
74
- export interface AutomationJob {
75
- id: string;
76
- name: string;
77
- url: string;
78
- status: 'idle' | 'exploring' | 'generating' | 'completed' | 'error';
79
- progress: number;
80
- generatedTests: TestCase[];
81
- insights: string[];
82
- startedAt?: number;
83
- completedAt?: number;
84
- error?: string;
85
- depth?: number;
86
- maxTests?: number;
87
- }
88
- export interface ExplorationRecord {
89
- id: string;
90
- url: string;
91
- status: 'pending' | 'running' | 'completed' | 'error';
92
- progress: number;
93
- currentPhase: string;
94
- generatedTests: number;
95
- testIds: string[];
96
- config: {
97
- modelConfigId: string;
98
- modelName: string;
99
- maxSteps: number;
100
- maxTests: number;
101
- exploreDepth: number;
102
- explorationScope?: string;
103
- customData?: Array<{
104
- key: string;
105
- value: string;
106
- }>;
107
- language?: LanguageCode;
108
- };
109
- interactions: Array<{
110
- round: number;
111
- type: 'exploration' | 'analysis' | 'generation';
112
- phase: string;
113
- message: string;
114
- timestamp: number;
115
- }>;
116
- artifacts?: any;
117
- startedAt: number;
118
- completedAt?: number;
119
- error?: string;
120
- }
121
- export interface MCPServer {
122
- name: string;
123
- endpoint: string;
124
- capabilities: string[];
125
- connected: boolean;
126
- tools?: string[];
127
- }
128
- export interface BrowserCapabilities {
129
- browsers: ('chromium' | 'firefox' | 'webkit')[];
130
- headless: boolean;
131
- viewport?: {
132
- width: number;
133
- height: number;
134
- };
135
- deviceScaleFactor?: number;
136
- locale?: string;
137
- timezone?: string;
138
- }
139
- export interface AppSettings {
140
- theme: 'light' | 'dark';
141
- aiModel: ModelConfig;
142
- defaultBrowser: 'chromium' | 'firefox' | 'webkit';
143
- headlessMode: boolean;
144
- autoSave: boolean;
145
- maxParallelTests: number;
146
- screenshots: {
147
- enabled: boolean;
148
- captureOnError: boolean;
149
- captureOnStep: boolean;
150
- };
151
- timeouts: {
152
- navigation: number;
153
- action: number;
154
- assertion: number;
155
- };
156
- mcpSettings?: {
157
- endpoint: string;
158
- useStdio: boolean;
159
- };
160
- }
161
- export interface TestResult {
162
- id: string;
163
- testId: string;
164
- status: 'passed' | 'failed' | 'skipped';
165
- duration: number;
166
- executedAt: number;
167
- error?: string;
168
- summary: {
169
- total: number;
170
- passed: number;
171
- failed: number;
172
- skipped: number;
173
- };
174
- }
175
- export interface ToolCallInfo {
176
- toolCall?: ToolCall;
177
- content: string;
178
- status?: 'success' | 'error';
179
- stepId?: string;
180
- }
181
- export type ToolCall = {
182
- name: string;
183
- args: Record<string, any>;
184
- id?: string;
185
- content?: string;
186
- };
187
- export interface Project {
188
- id: string;
189
- name: string;
190
- description: string;
191
- createdAt: number;
192
- updatedAt?: number;
193
- isActive: boolean;
194
- }
195
- export interface TestPlanItem {
196
- type: 'test' | 'directory';
197
- id: string;
198
- name: string;
199
- path?: string;
200
- directoryPath?: string;
201
- }
202
- export interface TestPlan {
203
- id: string;
204
- name: string;
205
- description: string;
206
- projectId: string;
207
- testIds: string[];
208
- createdAt: number;
209
- updatedAt: number;
210
- status: 'ready' | 'running' | 'completed' | 'failed' | 'partial' | 'stopped';
211
- lastExecutedAt?: number;
212
- maxConcurrency?: number;
213
- browsers?: Array<'chromium' | 'firefox' | 'webkit'>;
214
- scheduledAt?: number;
215
- passedIds?: string[];
216
- failedIds?: string[];
217
- skippedIds?: string[];
218
- }
219
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../core-infra/src/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes