@hasna/testers 0.0.13 → 0.0.15
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/dashboard/dist/assets/index-BSYf1bIR.css +1 -0
- package/dashboard/dist/assets/index-Bdn52878.js +49 -0
- package/dashboard/dist/index.html +2 -2
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +7957 -2772
- package/dist/db/api-checks.d.ts +28 -0
- package/dist/db/api-checks.d.ts.map +1 -0
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/environments.d.ts +10 -0
- package/dist/db/environments.d.ts.map +1 -1
- package/dist/db/golden-answers.d.ts +89 -0
- package/dist/db/golden-answers.d.ts.map +1 -0
- package/dist/db/personas.d.ts +9 -0
- package/dist/db/personas.d.ts.map +1 -0
- package/dist/db/projects.d.ts +3 -6
- package/dist/db/projects.d.ts.map +1 -1
- package/dist/db/results.d.ts +3 -0
- package/dist/db/results.d.ts.map +1 -1
- package/dist/db/runs.d.ts.map +1 -1
- package/dist/db/scan-issues.d.ts +29 -0
- package/dist/db/scan-issues.d.ts.map +1 -0
- package/dist/index.js +2371 -1202
- package/dist/lib/ai-client.d.ts +55 -1
- package/dist/lib/ai-client.d.ts.map +1 -1
- package/dist/lib/ai-profiler.d.ts +29 -0
- package/dist/lib/ai-profiler.d.ts.map +1 -0
- package/dist/lib/api-runner.d.ts +20 -0
- package/dist/lib/api-runner.d.ts.map +1 -0
- package/dist/lib/browser.d.ts +9 -0
- package/dist/lib/browser.d.ts.map +1 -1
- package/dist/lib/ci.d.ts +5 -0
- package/dist/lib/ci.d.ts.map +1 -1
- package/dist/lib/compliance-report.d.ts +33 -0
- package/dist/lib/compliance-report.d.ts.map +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/eval-runner.d.ts +94 -0
- package/dist/lib/eval-runner.d.ts.map +1 -0
- package/dist/lib/generator.d.ts +34 -0
- package/dist/lib/generator.d.ts.map +1 -0
- package/dist/lib/golden-monitor.d.ts +28 -0
- package/dist/lib/golden-monitor.d.ts.map +1 -0
- package/dist/lib/healer.d.ts +26 -0
- package/dist/lib/healer.d.ts.map +1 -0
- package/dist/lib/health-scan.d.ts +27 -0
- package/dist/lib/health-scan.d.ts.map +1 -0
- package/dist/lib/judge.d.ts +72 -0
- package/dist/lib/judge.d.ts.map +1 -0
- package/dist/lib/openapi-import.d.ts +7 -0
- package/dist/lib/openapi-import.d.ts.map +1 -1
- package/dist/lib/persona-diff.d.ts +27 -0
- package/dist/lib/persona-diff.d.ts.map +1 -0
- package/dist/lib/pipeline-runner.d.ts +48 -0
- package/dist/lib/pipeline-runner.d.ts.map +1 -0
- package/dist/lib/runner.d.ts +8 -0
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/scanners/a11y.d.ts +41 -0
- package/dist/lib/scanners/a11y.d.ts.map +1 -0
- package/dist/lib/scanners/console.d.ts +12 -0
- package/dist/lib/scanners/console.d.ts.map +1 -0
- package/dist/lib/scanners/injection.d.ts +54 -0
- package/dist/lib/scanners/injection.d.ts.map +1 -0
- package/dist/lib/scanners/links.d.ts +12 -0
- package/dist/lib/scanners/links.d.ts.map +1 -0
- package/dist/lib/scanners/network.d.ts +15 -0
- package/dist/lib/scanners/network.d.ts.map +1 -0
- package/dist/lib/scanners/performance.d.ts +19 -0
- package/dist/lib/scanners/performance.d.ts.map +1 -0
- package/dist/lib/scanners/pii-scanner.d.ts +19 -0
- package/dist/lib/scanners/pii-scanner.d.ts.map +1 -0
- package/dist/lib/scanners/pii.d.ts +17 -0
- package/dist/lib/scanners/pii.d.ts.map +1 -0
- package/dist/lib/session-converter.d.ts +29 -0
- package/dist/lib/session-converter.d.ts.map +1 -0
- package/dist/lib/webhooks.d.ts +20 -1
- package/dist/lib/webhooks.d.ts.map +1 -1
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +8103 -4598
- package/dist/server/index.js +7867 -5055
- package/dist/types/index.d.ts +271 -2
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/dashboard/dist/assets/index-FZ9gzLaz.js +0 -49
- package/dashboard/dist/assets/index-PT-52SEY.css +0 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ApiCheck, ApiCheckResult, ApiCheckFilter, CreateApiCheckInput, UpdateApiCheckInput } from "../types/index.js";
|
|
2
|
+
export declare function createApiCheck(input: CreateApiCheckInput): ApiCheck;
|
|
3
|
+
export declare function getApiCheck(id: string): ApiCheck | null;
|
|
4
|
+
export declare function listApiChecks(filter?: ApiCheckFilter): ApiCheck[];
|
|
5
|
+
export declare function updateApiCheck(id: string, updates: UpdateApiCheckInput, version: number): ApiCheck;
|
|
6
|
+
export declare function deleteApiCheck(id: string): boolean;
|
|
7
|
+
export declare function countApiChecks(filter?: ApiCheckFilter): number;
|
|
8
|
+
export declare function createApiCheckResult(input: {
|
|
9
|
+
checkId: string;
|
|
10
|
+
runId?: string;
|
|
11
|
+
status: "passed" | "failed" | "error";
|
|
12
|
+
statusCode?: number;
|
|
13
|
+
responseTimeMs?: number;
|
|
14
|
+
responseBody?: string;
|
|
15
|
+
responseHeaders?: Record<string, string>;
|
|
16
|
+
error?: string;
|
|
17
|
+
assertionsPassed?: string[];
|
|
18
|
+
assertionsFailed?: string[];
|
|
19
|
+
metadata?: Record<string, unknown>;
|
|
20
|
+
}): ApiCheckResult;
|
|
21
|
+
export declare function getApiCheckResult(id: string): ApiCheckResult | null;
|
|
22
|
+
export declare function listApiCheckResults(checkId: string, opts?: {
|
|
23
|
+
limit?: number;
|
|
24
|
+
offset?: number;
|
|
25
|
+
}): ApiCheckResult[];
|
|
26
|
+
export declare function getLatestApiCheckResult(checkId: string): ApiCheckResult | null;
|
|
27
|
+
export declare function countApiCheckResults(checkId: string): number;
|
|
28
|
+
//# sourceMappingURL=api-checks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-checks.d.ts","sourceRoot":"","sources":["../../src/db/api-checks.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,cAAc,EAGd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EAKpB,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,QAAQ,CA8BnE;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAMvD;AAED,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,QAAQ,EAAE,CAgCjE;AAED,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,GACd,QAAQ,CA4BV;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAMlD;AAED,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CAW9D;AAID,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,cAAc,CA2BjB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAInE;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACzC,cAAc,EAAE,CAQlB;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAM9E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOtC,iBAAS,GAAG,IAAI,MAAM,CAErB;AAED,iBAAS,IAAI,IAAI,MAAM,CAEtB;AAED,iBAAS,SAAS,IAAI,MAAM,CAE3B;
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOtC,iBAAS,GAAG,IAAI,MAAM,CAErB;AAED,iBAAS,IAAI,IAAI,MAAM,CAEtB;AAED,iBAAS,SAAS,IAAI,MAAM,CAE3B;AAwZD,wBAAgB,WAAW,IAAI,QAAQ,CAwBtC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAmBpC;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAOf;AAED,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -5,6 +5,7 @@ export interface Environment {
|
|
|
5
5
|
authPresetName: string | null;
|
|
6
6
|
projectId: string | null;
|
|
7
7
|
isDefault: boolean;
|
|
8
|
+
variables: Record<string, string>;
|
|
8
9
|
createdAt: string;
|
|
9
10
|
}
|
|
10
11
|
export declare function createEnvironment(input: {
|
|
@@ -13,7 +14,16 @@ export declare function createEnvironment(input: {
|
|
|
13
14
|
authPresetName?: string;
|
|
14
15
|
projectId?: string;
|
|
15
16
|
isDefault?: boolean;
|
|
17
|
+
variables?: Record<string, string>;
|
|
16
18
|
}): Environment;
|
|
19
|
+
export declare function getEnvironmentById(id: string): Environment | null;
|
|
20
|
+
export declare function updateEnvironment(id: string, input: {
|
|
21
|
+
name?: string;
|
|
22
|
+
url?: string;
|
|
23
|
+
isDefault?: boolean;
|
|
24
|
+
variables?: Record<string, string>;
|
|
25
|
+
}): Environment;
|
|
26
|
+
export declare function deleteEnvironmentById(id: string): boolean;
|
|
17
27
|
export declare function getEnvironment(name: string): Environment | null;
|
|
18
28
|
export declare function listEnvironments(projectId?: string): Environment[];
|
|
19
29
|
export declare function deleteEnvironment(name: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../src/db/environments.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../src/db/environments.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAsBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,GAAG,WAAW,CAqBd;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAMjE;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,GAAG,WAAW,CAyBd;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAM/D;AAED,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAYlE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMvD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CASxD;AAED,wBAAgB,qBAAqB,IAAI,WAAW,GAAG,IAAI,CAM1D"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export interface GoldenAnswerRow {
|
|
2
|
+
id: string;
|
|
3
|
+
short_id: string;
|
|
4
|
+
project_id: string | null;
|
|
5
|
+
question: string;
|
|
6
|
+
golden_answer: string;
|
|
7
|
+
constraints: string;
|
|
8
|
+
endpoint: string;
|
|
9
|
+
judge_model: string | null;
|
|
10
|
+
enabled: number;
|
|
11
|
+
created_at: string;
|
|
12
|
+
updated_at: string;
|
|
13
|
+
}
|
|
14
|
+
export interface GoldenCheckResultRow {
|
|
15
|
+
id: string;
|
|
16
|
+
golden_id: string;
|
|
17
|
+
response: string;
|
|
18
|
+
similarity_score: number | null;
|
|
19
|
+
passed: number;
|
|
20
|
+
drift_detected: number;
|
|
21
|
+
judge_model: string | null;
|
|
22
|
+
provider: string | null;
|
|
23
|
+
created_at: string;
|
|
24
|
+
}
|
|
25
|
+
export interface GoldenAnswer {
|
|
26
|
+
id: string;
|
|
27
|
+
shortId: string;
|
|
28
|
+
projectId: string | null;
|
|
29
|
+
question: string;
|
|
30
|
+
goldenAnswer: string;
|
|
31
|
+
constraints: string[];
|
|
32
|
+
endpoint: string;
|
|
33
|
+
judgeModel: string | null;
|
|
34
|
+
enabled: boolean;
|
|
35
|
+
createdAt: string;
|
|
36
|
+
updatedAt: string;
|
|
37
|
+
}
|
|
38
|
+
export interface GoldenCheckResult {
|
|
39
|
+
id: string;
|
|
40
|
+
goldenId: string;
|
|
41
|
+
response: string;
|
|
42
|
+
similarityScore: number | null;
|
|
43
|
+
passed: boolean;
|
|
44
|
+
driftDetected: boolean;
|
|
45
|
+
judgeModel: string | null;
|
|
46
|
+
provider: string | null;
|
|
47
|
+
createdAt: string;
|
|
48
|
+
}
|
|
49
|
+
export interface CreateGoldenAnswerInput {
|
|
50
|
+
projectId?: string;
|
|
51
|
+
question: string;
|
|
52
|
+
goldenAnswer: string;
|
|
53
|
+
constraints?: string[];
|
|
54
|
+
endpoint: string;
|
|
55
|
+
judgeModel?: string;
|
|
56
|
+
enabled?: boolean;
|
|
57
|
+
}
|
|
58
|
+
export interface UpdateGoldenAnswerInput {
|
|
59
|
+
question?: string;
|
|
60
|
+
goldenAnswer?: string;
|
|
61
|
+
constraints?: string[];
|
|
62
|
+
endpoint?: string;
|
|
63
|
+
judgeModel?: string;
|
|
64
|
+
enabled?: boolean;
|
|
65
|
+
}
|
|
66
|
+
export interface CreateGoldenCheckResultInput {
|
|
67
|
+
goldenId: string;
|
|
68
|
+
response: string;
|
|
69
|
+
similarityScore?: number;
|
|
70
|
+
passed: boolean;
|
|
71
|
+
driftDetected?: boolean;
|
|
72
|
+
judgeModel?: string;
|
|
73
|
+
provider?: string;
|
|
74
|
+
}
|
|
75
|
+
export declare function createGoldenAnswer(input: CreateGoldenAnswerInput): GoldenAnswer;
|
|
76
|
+
export declare function getGoldenAnswer(id: string): GoldenAnswer | null;
|
|
77
|
+
export declare function listGoldenAnswers(filter?: {
|
|
78
|
+
projectId?: string;
|
|
79
|
+
enabled?: boolean;
|
|
80
|
+
}): GoldenAnswer[];
|
|
81
|
+
export declare function updateGoldenAnswer(id: string, input: UpdateGoldenAnswerInput): GoldenAnswer | null;
|
|
82
|
+
export declare function deleteGoldenAnswer(id: string): boolean;
|
|
83
|
+
export declare function createGoldenCheckResult(input: CreateGoldenCheckResultInput): GoldenCheckResult;
|
|
84
|
+
export declare function listGoldenCheckResults(goldenId: string, options?: {
|
|
85
|
+
limit?: number;
|
|
86
|
+
since?: string;
|
|
87
|
+
}): GoldenCheckResult[];
|
|
88
|
+
export declare function getLatestGoldenCheckResult(goldenId: string): GoldenCheckResult | null;
|
|
89
|
+
//# sourceMappingURL=golden-answers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"golden-answers.d.ts","sourceRoot":"","sources":["../../src/db/golden-answers.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAoCD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,CAwB/E;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAU/D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,YAAY,EAAE,CAuBpG;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,YAAY,GAAG,IAAI,CAmBlG;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAItD;AAID,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,iBAAiB,CAqB9F;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C,iBAAiB,EAAE,CAmBrB;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAGrF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Persona, type PersonaFilter, type CreatePersonaInput, type UpdatePersonaInput } from "../types/index.js";
|
|
2
|
+
export declare function createPersona(input: CreatePersonaInput): Persona;
|
|
3
|
+
export declare function getPersona(id: string): Persona | null;
|
|
4
|
+
export declare function listPersonas(filter?: PersonaFilter): Persona[];
|
|
5
|
+
export declare function getGlobalPersonas(): Persona[];
|
|
6
|
+
export declare function updatePersona(id: string, updates: UpdatePersonaInput, version: number): Persona;
|
|
7
|
+
export declare function deletePersona(id: string): boolean;
|
|
8
|
+
export declare function countPersonas(filter?: PersonaFilter): number;
|
|
9
|
+
//# sourceMappingURL=personas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../../src/db/personas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAIxB,MAAM,mBAAmB,CAAC;AAG3B,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CA0BhE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAYrD;AAED,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,EAAE,CAmC9D;AAED,wBAAgB,iBAAiB,IAAI,OAAO,EAAE,CAM7C;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAoE/F;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAOjD;AAED,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,CAwB5D"}
|
package/dist/db/projects.d.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { type Project } from "../types/index.js";
|
|
2
|
-
export declare function createProject(input:
|
|
3
|
-
|
|
4
|
-
path?: string;
|
|
5
|
-
description?: string;
|
|
6
|
-
}): Project;
|
|
1
|
+
import { type Project, type CreateProjectInput, type UpdateProjectInput } from "../types/index.js";
|
|
2
|
+
export declare function createProject(input: CreateProjectInput): Project;
|
|
3
|
+
export declare function updateProject(id: string, input: UpdateProjectInput): Project;
|
|
7
4
|
export declare function getProject(id: string): Project | null;
|
|
8
5
|
export declare function getProjectByPath(path: string): Project | null;
|
|
9
6
|
export declare function listProjects(): Project[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/db/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/db/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAExB,MAAM,mBAAmB,CAAC;AAG3B,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAqBhE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAyB5E;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAIrD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAI7D;AAED,wBAAgB,YAAY,IAAI,OAAO,EAAE,CAIxC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAajE"}
|
package/dist/db/results.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export declare function createResult(input: {
|
|
|
4
4
|
scenarioId: string;
|
|
5
5
|
model: string;
|
|
6
6
|
stepsTotal: number;
|
|
7
|
+
personaId?: string | null;
|
|
8
|
+
personaName?: string | null;
|
|
7
9
|
}): Result;
|
|
8
10
|
export declare function getResult(id: string): Result | null;
|
|
9
11
|
export declare function listResults(runId: string): Result[];
|
|
@@ -15,6 +17,7 @@ export declare function updateResult(id: string, updates: Partial<{
|
|
|
15
17
|
durationMs: number;
|
|
16
18
|
tokensUsed: number;
|
|
17
19
|
costCents: number;
|
|
20
|
+
metadata: Record<string, unknown>;
|
|
18
21
|
}>): Result;
|
|
19
22
|
export declare function getResultsByRun(runId: string): Result[];
|
|
20
23
|
export declare function countResultsByRun(runId: string): number;
|
package/dist/db/results.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../src/db/results.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAC;AAG3B,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../src/db/results.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAC;AAG3B,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,GAAG,MAAM,CAoBT;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAanD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAMnD;AAED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC,GACD,MAAM,CAmDR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMvD"}
|
package/dist/db/runs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/db/runs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,SAAS,EAEf,MAAM,mBAAmB,CAAC;AAG3B,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/db/runs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,SAAS,EAEf,MAAM,mBAAmB,CAAC;AAG3B,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAsBxE;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAc7C;AAED,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,GAAG,EAAE,CAwClD;AAED,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAmBpD;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAmEnE;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAO7C"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type PersistedScanIssue, type ScanIssue } from "../types/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Derive a stable fingerprint from an issue.
|
|
4
|
+
* Normalises the page URL to its pathname (ignores query/fragment) so the same
|
|
5
|
+
* error on foo.com/page?x=1 and foo.com/page?x=2 is treated as the same issue.
|
|
6
|
+
*/
|
|
7
|
+
export declare function fingerprintIssue(issue: ScanIssue): string;
|
|
8
|
+
export type UpsertOutcome = "new" | "existing" | "regressed";
|
|
9
|
+
export interface UpsertResult {
|
|
10
|
+
issue: PersistedScanIssue;
|
|
11
|
+
outcome: UpsertOutcome;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Upsert a scan issue by fingerprint:
|
|
15
|
+
* - New (never seen): insert with status=open
|
|
16
|
+
* - Known open: bump occurrence_count + last_seen_at
|
|
17
|
+
* - Known resolved: mark as regressed (status=regressed, increment count)
|
|
18
|
+
*/
|
|
19
|
+
export declare function upsertScanIssue(issue: ScanIssue, projectId?: string): UpsertResult;
|
|
20
|
+
export declare function resolveScanIssue(id: string): boolean;
|
|
21
|
+
export declare function setScanIssueTodoTaskId(id: string, todoTaskId: string): void;
|
|
22
|
+
export declare function listScanIssues(opts?: {
|
|
23
|
+
status?: string;
|
|
24
|
+
type?: string;
|
|
25
|
+
projectId?: string;
|
|
26
|
+
limit?: number;
|
|
27
|
+
}): PersistedScanIssue[];
|
|
28
|
+
export declare function getScanIssue(id: string): PersistedScanIssue | null;
|
|
29
|
+
//# sourceMappingURL=scan-issues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan-issues.d.ts","sourceRoot":"","sources":["../../src/db/scan-issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAuC,MAAM,mBAAmB,CAAC;AAKjH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAezD;AAID,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,UAAU,GAAG,WAAW,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,OAAO,EAAE,aAAa,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,YAAY,CAoDd;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAMpD;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAG3E;AAED,wBAAgB,cAAc,CAAC,IAAI,GAAE;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CACX,GAAG,kBAAkB,EAAE,CAc5B;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAIlE"}
|