@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.
- package/.github/workflows/playwright.yml +27 -0
- package/dist/agents/logger.d.ts.map +1 -0
- package/dist/agents/logger.js.map +1 -0
- package/dist/{ai-runner/src/agents → agents}/playwright-executor.d.ts +3 -1
- package/dist/agents/playwright-executor.d.ts.map +1 -0
- package/dist/{ai-runner/src/agents → agents}/playwright-executor.js +74 -18
- package/dist/agents/playwright-executor.js.map +1 -0
- package/dist/agents/tools/playwright-backend-adapter.d.ts.map +1 -0
- package/dist/{ai-runner/src/agents → agents}/tools/playwright-backend-adapter.js +2 -1
- package/dist/agents/tools/playwright-backend-adapter.js.map +1 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/{core-infra/src → agents}/types.js.map +1 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/{ai-runner/src/runner.d.ts → runner.d.ts} +7 -2
- package/dist/runner.d.ts.map +1 -0
- package/dist/{ai-runner/src/runner.js → runner.js} +23 -12
- package/dist/runner.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/playwright-groups.d.ts.map +1 -0
- package/dist/tools/playwright-groups.js.map +1 -0
- package/dist/types/external.d.ts.map +1 -0
- package/dist/types/external.js.map +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +5 -9
- package/playwright.config.ts +38 -0
- package/src/agents/logger.ts +20 -0
- package/src/agents/playwright-executor.ts +284 -0
- package/src/agents/tools/playwright-backend-adapter.ts +135 -0
- package/src/agents/tools/playwright-mcp-types.d.ts +72 -0
- package/src/agents/types.ts +80 -0
- package/src/index.ts +27 -0
- package/src/runner.ts +237 -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/playwright.config.ts +32 -0
- package/tests/agent/test-heal-agent.spec.ts +42 -0
- package/tsconfig.json +26 -0
- package/dist/ai-runner/src/agents/logger.d.ts.map +0 -1
- package/dist/ai-runner/src/agents/logger.js.map +0 -1
- package/dist/ai-runner/src/agents/playwright-executor.d.ts.map +0 -1
- package/dist/ai-runner/src/agents/playwright-executor.js.map +0 -1
- package/dist/ai-runner/src/agents/tools/playwright-backend-adapter.d.ts.map +0 -1
- package/dist/ai-runner/src/agents/tools/playwright-backend-adapter.js.map +0 -1
- package/dist/ai-runner/src/agents/types.d.ts.map +0 -1
- package/dist/ai-runner/src/agents/types.js.map +0 -1
- package/dist/ai-runner/src/index.d.ts.map +0 -1
- package/dist/ai-runner/src/index.js.map +0 -1
- package/dist/ai-runner/src/runner.d.ts.map +0 -1
- package/dist/ai-runner/src/runner.js.map +0 -1
- package/dist/ai-runner/src/tools/index.d.ts.map +0 -1
- package/dist/ai-runner/src/tools/index.js.map +0 -1
- package/dist/ai-runner/src/tools/playwright-groups.d.ts.map +0 -1
- package/dist/ai-runner/src/tools/playwright-groups.js.map +0 -1
- package/dist/ai-runner/src/types/external.d.ts.map +0 -1
- package/dist/ai-runner/src/types/external.js.map +0 -1
- package/dist/ai-runner/src/types/index.d.ts.map +0 -1
- package/dist/ai-runner/src/types/index.js.map +0 -1
- package/dist/core-infra/src/directory-validator.d.ts +0 -29
- package/dist/core-infra/src/directory-validator.d.ts.map +0 -1
- package/dist/core-infra/src/directory-validator.js +0 -91
- package/dist/core-infra/src/directory-validator.js.map +0 -1
- package/dist/core-infra/src/index.d.ts +0 -14
- package/dist/core-infra/src/index.d.ts.map +0 -1
- package/dist/core-infra/src/index.js +0 -44
- package/dist/core-infra/src/index.js.map +0 -1
- package/dist/core-infra/src/mcp/file-mcp-manager.d.ts +0 -14
- package/dist/core-infra/src/mcp/file-mcp-manager.d.ts.map +0 -1
- package/dist/core-infra/src/mcp/file-mcp-manager.js +0 -46
- package/dist/core-infra/src/mcp/file-mcp-manager.js.map +0 -1
- package/dist/core-infra/src/mcp/index.d.ts +0 -21
- package/dist/core-infra/src/mcp/index.d.ts.map +0 -1
- package/dist/core-infra/src/mcp/index.js +0 -17
- package/dist/core-infra/src/mcp/index.js.map +0 -1
- package/dist/core-infra/src/mcp/mcp-client.d.ts +0 -128
- package/dist/core-infra/src/mcp/mcp-client.d.ts.map +0 -1
- package/dist/core-infra/src/mcp/mcp-client.js +0 -163
- package/dist/core-infra/src/mcp/mcp-client.js.map +0 -1
- package/dist/core-infra/src/mcp/mcp-manager.d.ts +0 -21
- package/dist/core-infra/src/mcp/mcp-manager.d.ts.map +0 -1
- package/dist/core-infra/src/mcp/mcp-manager.js +0 -99
- package/dist/core-infra/src/mcp/mcp-manager.js.map +0 -1
- package/dist/core-infra/src/mcp/playwright-mcp-manager.d.ts +0 -19
- package/dist/core-infra/src/mcp/playwright-mcp-manager.d.ts.map +0 -1
- package/dist/core-infra/src/mcp/playwright-mcp-manager.js +0 -121
- package/dist/core-infra/src/mcp/playwright-mcp-manager.js.map +0 -1
- package/dist/core-infra/src/model.d.ts +0 -13
- package/dist/core-infra/src/model.d.ts.map +0 -1
- package/dist/core-infra/src/model.js +0 -191
- package/dist/core-infra/src/model.js.map +0 -1
- package/dist/core-infra/src/repositories/BaseRepository.d.ts +0 -69
- package/dist/core-infra/src/repositories/BaseRepository.d.ts.map +0 -1
- package/dist/core-infra/src/repositories/BaseRepository.js +0 -213
- package/dist/core-infra/src/repositories/BaseRepository.js.map +0 -1
- package/dist/core-infra/src/repositories/DirectoryRepository.d.ts +0 -70
- package/dist/core-infra/src/repositories/DirectoryRepository.d.ts.map +0 -1
- package/dist/core-infra/src/repositories/DirectoryRepository.js +0 -336
- package/dist/core-infra/src/repositories/DirectoryRepository.js.map +0 -1
- package/dist/core-infra/src/repositories/ExplorationRepository.d.ts +0 -34
- package/dist/core-infra/src/repositories/ExplorationRepository.d.ts.map +0 -1
- package/dist/core-infra/src/repositories/ExplorationRepository.js +0 -54
- package/dist/core-infra/src/repositories/ExplorationRepository.js.map +0 -1
- package/dist/core-infra/src/repositories/FileRepository.d.ts +0 -56
- package/dist/core-infra/src/repositories/FileRepository.d.ts.map +0 -1
- package/dist/core-infra/src/repositories/FileRepository.js +0 -132
- package/dist/core-infra/src/repositories/FileRepository.js.map +0 -1
- package/dist/core-infra/src/repositories/ModelConfigRepository.d.ts +0 -38
- package/dist/core-infra/src/repositories/ModelConfigRepository.d.ts.map +0 -1
- package/dist/core-infra/src/repositories/ModelConfigRepository.js +0 -59
- package/dist/core-infra/src/repositories/ModelConfigRepository.js.map +0 -1
- package/dist/core-infra/src/repositories/ProjectRepository.d.ts +0 -32
- package/dist/core-infra/src/repositories/ProjectRepository.d.ts.map +0 -1
- package/dist/core-infra/src/repositories/ProjectRepository.js +0 -67
- package/dist/core-infra/src/repositories/ProjectRepository.js.map +0 -1
- package/dist/core-infra/src/repositories/SettingsRepository.d.ts +0 -19
- package/dist/core-infra/src/repositories/SettingsRepository.d.ts.map +0 -1
- package/dist/core-infra/src/repositories/SettingsRepository.js +0 -72
- package/dist/core-infra/src/repositories/SettingsRepository.js.map +0 -1
- package/dist/core-infra/src/repositories/TableDataRepository.d.ts +0 -22
- package/dist/core-infra/src/repositories/TableDataRepository.d.ts.map +0 -1
- package/dist/core-infra/src/repositories/TableDataRepository.js +0 -33
- package/dist/core-infra/src/repositories/TableDataRepository.js.map +0 -1
- package/dist/core-infra/src/repositories/TestCaseRepository.d.ts +0 -120
- package/dist/core-infra/src/repositories/TestCaseRepository.d.ts.map +0 -1
- package/dist/core-infra/src/repositories/TestCaseRepository.js +0 -463
- package/dist/core-infra/src/repositories/TestCaseRepository.js.map +0 -1
- package/dist/core-infra/src/repositories/TestPlanRepository.d.ts +0 -35
- package/dist/core-infra/src/repositories/TestPlanRepository.d.ts.map +0 -1
- package/dist/core-infra/src/repositories/TestPlanRepository.js +0 -80
- package/dist/core-infra/src/repositories/TestPlanRepository.js.map +0 -1
- package/dist/core-infra/src/repositories/TestResultRepository.d.ts +0 -30
- package/dist/core-infra/src/repositories/TestResultRepository.d.ts.map +0 -1
- package/dist/core-infra/src/repositories/TestResultRepository.js +0 -54
- package/dist/core-infra/src/repositories/TestResultRepository.js.map +0 -1
- package/dist/core-infra/src/repositories/index.d.ts +0 -17
- package/dist/core-infra/src/repositories/index.d.ts.map +0 -1
- package/dist/core-infra/src/repositories/index.js +0 -31
- package/dist/core-infra/src/repositories/index.js.map +0 -1
- package/dist/core-infra/src/storageService.d.ts +0 -131
- package/dist/core-infra/src/storageService.d.ts.map +0 -1
- package/dist/core-infra/src/storageService.js +0 -304
- package/dist/core-infra/src/storageService.js.map +0 -1
- package/dist/core-infra/src/types.d.ts +0 -219
- package/dist/core-infra/src/types.d.ts.map +0 -1
- package/dist/core-infra/src/types.js +0 -3
- /package/dist/{ai-runner/src/agents → agents}/logger.d.ts +0 -0
- /package/dist/{ai-runner/src/agents → agents}/logger.js +0 -0
- /package/dist/{ai-runner/src/agents → agents}/tools/playwright-backend-adapter.d.ts +0 -0
- /package/dist/{ai-runner/src/agents → agents}/types.d.ts +0 -0
- /package/dist/{ai-runner/src/agents → agents}/types.js +0 -0
- /package/dist/{ai-runner/src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{ai-runner/src/index.js → index.js} +0 -0
- /package/dist/{ai-runner/src/tools → tools}/index.d.ts +0 -0
- /package/dist/{ai-runner/src/tools → tools}/index.js +0 -0
- /package/dist/{ai-runner/src/tools → tools}/playwright-groups.d.ts +0 -0
- /package/dist/{ai-runner/src/tools → tools}/playwright-groups.js +0 -0
- /package/dist/{ai-runner/src/types → types}/external.d.ts +0 -0
- /package/dist/{ai-runner/src/types → types}/external.js +0 -0
- /package/dist/{ai-runner/src/types → types}/index.d.ts +0 -0
- /package/dist/{ai-runner/src/types → types}/index.js +0 -0
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { BaseRepository } from './BaseRepository';
|
|
2
|
-
import { ExplorationRecord } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* ExplorationRepository handles all storage operations for exploration records
|
|
5
|
-
* Responsible for managing web exploration and test generation history
|
|
6
|
-
*/
|
|
7
|
-
export declare class ExplorationRepository extends BaseRepository {
|
|
8
|
-
constructor(projectId: string);
|
|
9
|
-
/**
|
|
10
|
-
* Save an exploration record
|
|
11
|
-
*/
|
|
12
|
-
saveExplorationRecord(record: ExplorationRecord): Promise<void>;
|
|
13
|
-
/**
|
|
14
|
-
* Load an exploration record by ID
|
|
15
|
-
*/
|
|
16
|
-
loadExplorationRecord(recordId: string): Promise<ExplorationRecord | null>;
|
|
17
|
-
/**
|
|
18
|
-
* List all exploration records sorted by start time (newest first)
|
|
19
|
-
*/
|
|
20
|
-
listExplorationRecords(): Promise<ExplorationRecord[]>;
|
|
21
|
-
/**
|
|
22
|
-
* Update an exploration record
|
|
23
|
-
*/
|
|
24
|
-
updateExplorationRecord(record: ExplorationRecord): Promise<void>;
|
|
25
|
-
/**
|
|
26
|
-
* Delete an exploration record
|
|
27
|
-
*/
|
|
28
|
-
deleteExplorationRecord(recordId: string): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* Get exploration records for a specific URL
|
|
31
|
-
*/
|
|
32
|
-
getRecordsByUrl(url: string): Promise<ExplorationRecord[]>;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=ExplorationRepository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExplorationRepository.d.ts","sourceRoot":"","sources":["../../../../../core-infra/src/repositories/ExplorationRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;gBACzC,SAAS,EAAE,MAAM;IAI/B;;OAEG;IACG,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE;;OAEG;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAIhF;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAK5D;;OAEG;IACG,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE;;OAEG;IACG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAIjE"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExplorationRepository = void 0;
|
|
4
|
-
const path_1 = require("path");
|
|
5
|
-
const BaseRepository_1 = require("./BaseRepository");
|
|
6
|
-
/**
|
|
7
|
-
* ExplorationRepository handles all storage operations for exploration records
|
|
8
|
-
* Responsible for managing web exploration and test generation history
|
|
9
|
-
*/
|
|
10
|
-
class ExplorationRepository extends BaseRepository_1.BaseRepository {
|
|
11
|
-
constructor(projectId) {
|
|
12
|
-
super((0, path_1.join)("projects", projectId, 'explorations'));
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Save an exploration record
|
|
16
|
-
*/
|
|
17
|
-
async saveExplorationRecord(record) {
|
|
18
|
-
await this.save(record.id, record, 'json');
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Load an exploration record by ID
|
|
22
|
-
*/
|
|
23
|
-
async loadExplorationRecord(recordId) {
|
|
24
|
-
return this.load(recordId, 'json');
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* List all exploration records sorted by start time (newest first)
|
|
28
|
-
*/
|
|
29
|
-
async listExplorationRecords() {
|
|
30
|
-
const records = await this.listAll();
|
|
31
|
-
return records.sort((a, b) => b.startedAt - a.startedAt);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Update an exploration record
|
|
35
|
-
*/
|
|
36
|
-
async updateExplorationRecord(record) {
|
|
37
|
-
await this.saveExplorationRecord(record);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Delete an exploration record
|
|
41
|
-
*/
|
|
42
|
-
async deleteExplorationRecord(recordId) {
|
|
43
|
-
await this.delete(recordId, 'json');
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Get exploration records for a specific URL
|
|
47
|
-
*/
|
|
48
|
-
async getRecordsByUrl(url) {
|
|
49
|
-
const records = await this.listExplorationRecords();
|
|
50
|
-
return records.filter(r => r.url === url);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
exports.ExplorationRepository = ExplorationRepository;
|
|
54
|
-
//# sourceMappingURL=ExplorationRepository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExplorationRepository.js","sourceRoot":"","sources":["../../../../../core-infra/src/repositories/ExplorationRepository.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,qDAAkD;AAGlD;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,+BAAc;IACrD,YAAY,SAAiB;QAC7B,KAAK,CAAC,IAAA,WAAI,EAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,MAAyB;QACnD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,QAAgB;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAoB,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB;QAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAqB,CAAC;QACxD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAAC,MAAyB;QACrD,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAAC,QAAgB;QAC5C,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,GAAW;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC5C,CAAC;CACF;AAhDD,sDAgDC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
export interface FileInfo {
|
|
2
|
-
name: string;
|
|
3
|
-
size: number;
|
|
4
|
-
uploadedAt: string;
|
|
5
|
-
path: string;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* FileRepository - Handles file storage for test cases
|
|
9
|
-
* Each test case has its own files directory
|
|
10
|
-
*/
|
|
11
|
-
export declare class FileRepository {
|
|
12
|
-
private projectId;
|
|
13
|
-
private filesBaseDir;
|
|
14
|
-
constructor(projectId: string);
|
|
15
|
-
/**
|
|
16
|
-
* Ensure base files directory exists
|
|
17
|
-
*/
|
|
18
|
-
private ensureBaseDir;
|
|
19
|
-
/**
|
|
20
|
-
* Get files directory for a specific test case
|
|
21
|
-
*/
|
|
22
|
-
getTestFilesDir(testId: string): string;
|
|
23
|
-
/**
|
|
24
|
-
* Ensure test files directory exists
|
|
25
|
-
*/
|
|
26
|
-
private ensureTestFilesDir;
|
|
27
|
-
/**
|
|
28
|
-
* Save a file for a test case
|
|
29
|
-
*/
|
|
30
|
-
saveFile(testId: string, fileName: string, content: Buffer): FileInfo;
|
|
31
|
-
/**
|
|
32
|
-
* Load a file for a test case
|
|
33
|
-
*/
|
|
34
|
-
loadFile(testId: string, fileName: string): Buffer | null;
|
|
35
|
-
/**
|
|
36
|
-
* List all files for a test case
|
|
37
|
-
*/
|
|
38
|
-
listFiles(testId: string): FileInfo[];
|
|
39
|
-
/**
|
|
40
|
-
* Delete a file for a test case
|
|
41
|
-
*/
|
|
42
|
-
deleteFile(testId: string, fileName: string): boolean;
|
|
43
|
-
/**
|
|
44
|
-
* Delete all files for a test case
|
|
45
|
-
*/
|
|
46
|
-
deleteAllFiles(testId: string): void;
|
|
47
|
-
/**
|
|
48
|
-
* Check if a file exists
|
|
49
|
-
*/
|
|
50
|
-
fileExists(testId: string, fileName: string): boolean;
|
|
51
|
-
/**
|
|
52
|
-
* Get file info
|
|
53
|
-
*/
|
|
54
|
-
getFileInfo(testId: string, fileName: string): FileInfo | null;
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=FileRepository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FileRepository.d.ts","sourceRoot":"","sources":["../../../../../core-infra/src/repositories/FileRepository.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAS;gBAEjB,SAAS,EAAE,MAAM;IAM7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIvC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ;IAerE;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQzD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE;IAmBrC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IASrD;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQpC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKrD;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;CAc/D"}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FileRepository = void 0;
|
|
4
|
-
const fs_1 = require("fs");
|
|
5
|
-
const path_1 = require("path");
|
|
6
|
-
const os_1 = require("os");
|
|
7
|
-
const STORAGE_DIR = (0, path_1.join)((0, os_1.homedir)(), '.test_agent');
|
|
8
|
-
/**
|
|
9
|
-
* FileRepository - Handles file storage for test cases
|
|
10
|
-
* Each test case has its own files directory
|
|
11
|
-
*/
|
|
12
|
-
class FileRepository {
|
|
13
|
-
constructor(projectId) {
|
|
14
|
-
this.projectId = projectId;
|
|
15
|
-
this.filesBaseDir = (0, path_1.join)(STORAGE_DIR, 'projects', projectId, 'files');
|
|
16
|
-
this.ensureBaseDir();
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Ensure base files directory exists
|
|
20
|
-
*/
|
|
21
|
-
ensureBaseDir() {
|
|
22
|
-
if (!(0, fs_1.existsSync)(this.filesBaseDir)) {
|
|
23
|
-
(0, fs_1.mkdirSync)(this.filesBaseDir, { recursive: true });
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Get files directory for a specific test case
|
|
28
|
-
*/
|
|
29
|
-
getTestFilesDir(testId) {
|
|
30
|
-
return (0, path_1.join)(this.filesBaseDir, testId);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Ensure test files directory exists
|
|
34
|
-
*/
|
|
35
|
-
ensureTestFilesDir(testId) {
|
|
36
|
-
const dir = this.getTestFilesDir(testId);
|
|
37
|
-
if (!(0, fs_1.existsSync)(dir)) {
|
|
38
|
-
(0, fs_1.mkdirSync)(dir, { recursive: true });
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Save a file for a test case
|
|
43
|
-
*/
|
|
44
|
-
saveFile(testId, fileName, content) {
|
|
45
|
-
this.ensureTestFilesDir(testId);
|
|
46
|
-
const filePath = (0, path_1.join)(this.getTestFilesDir(testId), fileName);
|
|
47
|
-
(0, fs_1.writeFileSync)(filePath, content);
|
|
48
|
-
const stats = (0, fs_1.statSync)(filePath);
|
|
49
|
-
return {
|
|
50
|
-
name: fileName,
|
|
51
|
-
size: stats.size,
|
|
52
|
-
uploadedAt: new Date().toISOString(),
|
|
53
|
-
path: filePath,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Load a file for a test case
|
|
58
|
-
*/
|
|
59
|
-
loadFile(testId, fileName) {
|
|
60
|
-
const filePath = (0, path_1.join)(this.getTestFilesDir(testId), fileName);
|
|
61
|
-
if (!(0, fs_1.existsSync)(filePath)) {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
return (0, fs_1.readFileSync)(filePath);
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* List all files for a test case
|
|
68
|
-
*/
|
|
69
|
-
listFiles(testId) {
|
|
70
|
-
const dir = this.getTestFilesDir(testId);
|
|
71
|
-
if (!(0, fs_1.existsSync)(dir)) {
|
|
72
|
-
return [];
|
|
73
|
-
}
|
|
74
|
-
const files = (0, fs_1.readdirSync)(dir);
|
|
75
|
-
return files.map(fileName => {
|
|
76
|
-
const filePath = (0, path_1.join)(dir, fileName);
|
|
77
|
-
const stats = (0, fs_1.statSync)(filePath);
|
|
78
|
-
return {
|
|
79
|
-
name: fileName,
|
|
80
|
-
size: stats.size,
|
|
81
|
-
uploadedAt: stats.mtime.toISOString(),
|
|
82
|
-
path: filePath,
|
|
83
|
-
};
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Delete a file for a test case
|
|
88
|
-
*/
|
|
89
|
-
deleteFile(testId, fileName) {
|
|
90
|
-
const filePath = (0, path_1.join)(this.getTestFilesDir(testId), fileName);
|
|
91
|
-
if (!(0, fs_1.existsSync)(filePath)) {
|
|
92
|
-
return false;
|
|
93
|
-
}
|
|
94
|
-
(0, fs_1.unlinkSync)(filePath);
|
|
95
|
-
return true;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Delete all files for a test case
|
|
99
|
-
*/
|
|
100
|
-
deleteAllFiles(testId) {
|
|
101
|
-
const dir = this.getTestFilesDir(testId);
|
|
102
|
-
if (!(0, fs_1.existsSync)(dir)) {
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
(0, fs_1.rmSync)(dir, { recursive: true });
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Check if a file exists
|
|
109
|
-
*/
|
|
110
|
-
fileExists(testId, fileName) {
|
|
111
|
-
const filePath = (0, path_1.join)(this.getTestFilesDir(testId), fileName);
|
|
112
|
-
return (0, fs_1.existsSync)(filePath);
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Get file info
|
|
116
|
-
*/
|
|
117
|
-
getFileInfo(testId, fileName) {
|
|
118
|
-
const filePath = (0, path_1.join)(this.getTestFilesDir(testId), fileName);
|
|
119
|
-
if (!(0, fs_1.existsSync)(filePath)) {
|
|
120
|
-
return null;
|
|
121
|
-
}
|
|
122
|
-
const stats = (0, fs_1.statSync)(filePath);
|
|
123
|
-
return {
|
|
124
|
-
name: fileName,
|
|
125
|
-
size: stats.size,
|
|
126
|
-
uploadedAt: stats.mtime.toISOString(),
|
|
127
|
-
path: filePath,
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
exports.FileRepository = FileRepository;
|
|
132
|
-
//# sourceMappingURL=FileRepository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FileRepository.js","sourceRoot":"","sources":["../../../../../core-infra/src/repositories/FileRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { BaseRepository } from './BaseRepository';
|
|
2
|
-
import { ModelConfig } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* ModelConfigRepository handles all storage operations for model configurations
|
|
5
|
-
* Responsible for managing AI model settings and credentials
|
|
6
|
-
*/
|
|
7
|
-
export declare class ModelConfigRepository extends BaseRepository {
|
|
8
|
-
constructor();
|
|
9
|
-
/**
|
|
10
|
-
* Save a model configuration
|
|
11
|
-
*/
|
|
12
|
-
saveModelConfig(config: ModelConfig): Promise<void>;
|
|
13
|
-
/**
|
|
14
|
-
* Load a model configuration by ID
|
|
15
|
-
*/
|
|
16
|
-
loadModelConfig(configId: string): Promise<ModelConfig | null>;
|
|
17
|
-
/**
|
|
18
|
-
* List all model configurations sorted by update time (newest first)
|
|
19
|
-
*/
|
|
20
|
-
listModelConfigs(): Promise<ModelConfig[]>;
|
|
21
|
-
/**
|
|
22
|
-
* Update a model configuration
|
|
23
|
-
*/
|
|
24
|
-
updateModelConfig(config: ModelConfig): Promise<void>;
|
|
25
|
-
/**
|
|
26
|
-
* Delete a model configuration
|
|
27
|
-
*/
|
|
28
|
-
deleteModelConfig(configId: string): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* Check if a model configuration exists
|
|
31
|
-
*/
|
|
32
|
-
exists(configId: string): Promise<boolean>;
|
|
33
|
-
/**
|
|
34
|
-
* List all model configurations (synchronous)
|
|
35
|
-
*/
|
|
36
|
-
listModelConfigsSync(): ModelConfig[];
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=ModelConfigRepository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModelConfigRepository.d.ts","sourceRoot":"","sources":["../../../../../core-infra/src/repositories/ModelConfigRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;;IAKvD;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAIpE;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAKhD;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhD;;OAEG;IACH,oBAAoB,IAAI,WAAW,EAAE;CAItC"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModelConfigRepository = void 0;
|
|
4
|
-
const BaseRepository_1 = require("./BaseRepository");
|
|
5
|
-
/**
|
|
6
|
-
* ModelConfigRepository handles all storage operations for model configurations
|
|
7
|
-
* Responsible for managing AI model settings and credentials
|
|
8
|
-
*/
|
|
9
|
-
class ModelConfigRepository extends BaseRepository_1.BaseRepository {
|
|
10
|
-
constructor() {
|
|
11
|
-
super('models');
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Save a model configuration
|
|
15
|
-
*/
|
|
16
|
-
async saveModelConfig(config) {
|
|
17
|
-
await this.save(config.id, config, 'json');
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Load a model configuration by ID
|
|
21
|
-
*/
|
|
22
|
-
async loadModelConfig(configId) {
|
|
23
|
-
return this.load(configId, 'json');
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* List all model configurations sorted by update time (newest first)
|
|
27
|
-
*/
|
|
28
|
-
async listModelConfigs() {
|
|
29
|
-
const configs = await this.listAll();
|
|
30
|
-
return configs.sort((a, b) => b.updatedAt - a.updatedAt);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Update a model configuration
|
|
34
|
-
*/
|
|
35
|
-
async updateModelConfig(config) {
|
|
36
|
-
await this.saveModelConfig(config);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Delete a model configuration
|
|
40
|
-
*/
|
|
41
|
-
async deleteModelConfig(configId) {
|
|
42
|
-
await this.delete(configId, 'json');
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Check if a model configuration exists
|
|
46
|
-
*/
|
|
47
|
-
async exists(configId) {
|
|
48
|
-
return this.existsSync(configId, 'json');
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* List all model configurations (synchronous)
|
|
52
|
-
*/
|
|
53
|
-
listModelConfigsSync() {
|
|
54
|
-
const configs = this.listAllSync();
|
|
55
|
-
return configs.sort((a, b) => b.updatedAt - a.updatedAt);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
exports.ModelConfigRepository = ModelConfigRepository;
|
|
59
|
-
//# sourceMappingURL=ModelConfigRepository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModelConfigRepository.js","sourceRoot":"","sources":["../../../../../core-infra/src/repositories/ModelConfigRepository.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAGlD;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,+BAAc;IACvD;QACE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAAmB;QACvC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,QAAgB;QACpC,OAAO,IAAI,CAAC,IAAI,CAAc,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAe,CAAC;QAClD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAmB;QACzC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAe,CAAC;QAChD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;CACF;AAvDD,sDAuDC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { BaseRepository } from './BaseRepository';
|
|
2
|
-
import type { Project } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* ProjectRepository handles all CRUD operations for projects
|
|
5
|
-
* Projects are stored at ~/.test_agent/projects
|
|
6
|
-
*/
|
|
7
|
-
export declare class ProjectRepository extends BaseRepository {
|
|
8
|
-
private projectJSON;
|
|
9
|
-
constructor();
|
|
10
|
-
/**
|
|
11
|
-
* Save a new project or update an existing one
|
|
12
|
-
*/
|
|
13
|
-
saveProject(project: Project): void;
|
|
14
|
-
/**
|
|
15
|
-
* Load a single project by ID
|
|
16
|
-
*/
|
|
17
|
-
loadProject(projectId: string): Project | null;
|
|
18
|
-
/**
|
|
19
|
-
* List all projects
|
|
20
|
-
*/
|
|
21
|
-
listProjects(): Project[];
|
|
22
|
-
private listDirectories;
|
|
23
|
-
/**
|
|
24
|
-
* Delete a project by ID
|
|
25
|
-
*/
|
|
26
|
-
deleteProject(projectId: string): void;
|
|
27
|
-
/**
|
|
28
|
-
* Check if a project exists
|
|
29
|
-
*/
|
|
30
|
-
exists(projectId: string): Promise<boolean>;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=ProjectRepository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectRepository.d.ts","sourceRoot":"","sources":["../../../../../core-infra/src/repositories/ProjectRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,OAAO,CAAC,WAAW,CAAqB;;IAMxC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAI9C;;OAEG;IACH,YAAY,IAAI,OAAO,EAAE;IAezB,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKtC;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIlD"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ProjectRepository = void 0;
|
|
4
|
-
const path_1 = require("path");
|
|
5
|
-
const BaseRepository_1 = require("./BaseRepository");
|
|
6
|
-
const fs_1 = require("fs");
|
|
7
|
-
/**
|
|
8
|
-
* ProjectRepository handles all CRUD operations for projects
|
|
9
|
-
* Projects are stored at ~/.test_agent/projects
|
|
10
|
-
*/
|
|
11
|
-
class ProjectRepository extends BaseRepository_1.BaseRepository {
|
|
12
|
-
constructor() {
|
|
13
|
-
super('projects');
|
|
14
|
-
this.projectJSON = "project";
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Save a new project or update an existing one
|
|
18
|
-
*/
|
|
19
|
-
saveProject(project) {
|
|
20
|
-
this.saveSync((0, path_1.join)(project.id, this.projectJSON), project);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Load a single project by ID
|
|
24
|
-
*/
|
|
25
|
-
loadProject(projectId) {
|
|
26
|
-
return this.loadSync((0, path_1.join)(projectId, this.projectJSON));
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* List all projects
|
|
30
|
-
*/
|
|
31
|
-
listProjects() {
|
|
32
|
-
const projectDir = this.getBaseDir();
|
|
33
|
-
const projectIds = this.listDirectories(projectDir);
|
|
34
|
-
const projects = [];
|
|
35
|
-
for (const projectId of projectIds) {
|
|
36
|
-
const project = this.loadSync((0, path_1.join)(projectId, this.projectJSON));
|
|
37
|
-
if (project) {
|
|
38
|
-
projects.push(project);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
projects.push({ id: 'default', 'description': 'Default Project', 'name': 'Default', 'createdAt': 0, isActive: false });
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return projects;
|
|
45
|
-
}
|
|
46
|
-
listDirectories(dirPath) {
|
|
47
|
-
return (0, fs_1.readdirSync)(dirPath, { withFileTypes: true })
|
|
48
|
-
.filter(dirent => dirent.isDirectory())
|
|
49
|
-
.map(dirent => dirent.name);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Delete a project by ID
|
|
53
|
-
*/
|
|
54
|
-
deleteProject(projectId) {
|
|
55
|
-
const projectDir = this.getBaseDir();
|
|
56
|
-
(0, fs_1.rmSync)((0, path_1.join)(projectDir, projectId), { recursive: true });
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Check if a project exists
|
|
60
|
-
*/
|
|
61
|
-
async exists(projectId) {
|
|
62
|
-
const project = this.loadProject((0, path_1.join)(projectId, this.projectJSON));
|
|
63
|
-
return project !== null;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
exports.ProjectRepository = ProjectRepository;
|
|
67
|
-
//# sourceMappingURL=ProjectRepository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectRepository.js","sourceRoot":"","sources":["../../../../../core-infra/src/repositories/ProjectRepository.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,qDAAkD;AAElD,2BAAyC;AAEzC;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,+BAAc;IAGnD;QACE,KAAK,CAAC,UAAU,CAAC,CAAC;QAHZ,gBAAW,GAAW,SAAS,CAAC;IAIxC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAgB;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,SAAiB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAU,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,YAAY;QACV,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAU,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1E,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACzH,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,eAAe,CAAC,OAAe;QACrC,OAAO,IAAA,gBAAW,EAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACjD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;aACtC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,IAAA,WAAM,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACpE,OAAO,OAAO,KAAK,IAAI,CAAC;IAC1B,CAAC;CACF;AA5DD,8CA4DC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { BaseRepository } from './BaseRepository';
|
|
2
|
-
import { AppSettings } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* SettingsRepository handles all storage operations for application settings
|
|
5
|
-
* Responsible for managing user preferences and configuration
|
|
6
|
-
*/
|
|
7
|
-
export declare class SettingsRepository extends BaseRepository {
|
|
8
|
-
private readonly SETTINGS_ID;
|
|
9
|
-
constructor();
|
|
10
|
-
/**
|
|
11
|
-
* Save application settings
|
|
12
|
-
*/
|
|
13
|
-
saveSettings(settings: AppSettings): Promise<void>;
|
|
14
|
-
/**
|
|
15
|
-
* Load application settings
|
|
16
|
-
*/
|
|
17
|
-
loadSettings(): Promise<AppSettings | null>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=SettingsRepository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsRepository.d.ts","sourceRoot":"","sources":["../../../../../core-infra/src/repositories/SettingsRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;;IAM1C;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;CAUlD"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.SettingsRepository = void 0;
|
|
37
|
-
const BaseRepository_1 = require("./BaseRepository");
|
|
38
|
-
/**
|
|
39
|
-
* SettingsRepository handles all storage operations for application settings
|
|
40
|
-
* Responsible for managing user preferences and configuration
|
|
41
|
-
*/
|
|
42
|
-
class SettingsRepository extends BaseRepository_1.BaseRepository {
|
|
43
|
-
constructor() {
|
|
44
|
-
super('.');
|
|
45
|
-
this.SETTINGS_ID = 'settings';
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Save application settings
|
|
49
|
-
*/
|
|
50
|
-
async saveSettings(settings) {
|
|
51
|
-
// Save at root of storage directory
|
|
52
|
-
const path = `${this.storageDir}/settings.json`;
|
|
53
|
-
const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
|
|
54
|
-
await fs.writeFile(path, JSON.stringify(settings, null, 2), 'utf-8');
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Load application settings
|
|
58
|
-
*/
|
|
59
|
-
async loadSettings() {
|
|
60
|
-
const path = `${this.storageDir}/settings.json`;
|
|
61
|
-
try {
|
|
62
|
-
const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
|
|
63
|
-
const content = await fs.readFile(path, 'utf-8');
|
|
64
|
-
return JSON.parse(content);
|
|
65
|
-
}
|
|
66
|
-
catch {
|
|
67
|
-
return null;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
exports.SettingsRepository = SettingsRepository;
|
|
72
|
-
//# sourceMappingURL=SettingsRepository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsRepository.js","sourceRoot":"","sources":["../../../../../core-infra/src/repositories/SettingsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAkD;AAGlD;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,+BAAc;IAGpD;QACE,KAAK,CAAC,GAAG,CAAC,CAAC;QAHI,gBAAW,GAAG,UAAU,CAAC;IAI1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,QAAqB;QACtC,oCAAoC;QACpC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,gBAAgB,CAAC;QAChD,MAAM,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QACvC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,gBAAgB,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA9BD,gDA8BC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { BaseRepository } from './BaseRepository';
|
|
2
|
-
import type { TableData } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* TableDataRepository handles storage operations for test table data
|
|
5
|
-
* Stores table data in data directory as {testId}.json
|
|
6
|
-
*/
|
|
7
|
-
export declare class TableDataRepository extends BaseRepository {
|
|
8
|
-
constructor(projectId: string);
|
|
9
|
-
/**
|
|
10
|
-
* Save table data for a test
|
|
11
|
-
*/
|
|
12
|
-
saveTableData(tableData: TableData): Promise<void>;
|
|
13
|
-
/**
|
|
14
|
-
* Load table data for a test
|
|
15
|
-
*/
|
|
16
|
-
loadTableData(testId: string): Promise<TableData | null>;
|
|
17
|
-
/**
|
|
18
|
-
* Delete table data for a test
|
|
19
|
-
*/
|
|
20
|
-
deleteTableData(testId: string): Promise<void>;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=TableDataRepository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableDataRepository.d.ts","sourceRoot":"","sources":["../../../../../core-infra/src/repositories/TableDataRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;gBACzC,SAAS,EAAE,MAAM;IAI7B;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAI9D;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrD"}
|