@yasserkhanorg/e2e-agents 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -20
- package/dist/agent/config.d.ts +3 -0
- package/dist/agent/config.d.ts.map +1 -1
- package/dist/agent/config.js +38 -0
- package/dist/agent/operational_insights.d.ts +1 -1
- package/dist/agent/operational_insights.d.ts.map +1 -1
- package/dist/agent/operational_insights.js +2 -1
- package/dist/agent/pipeline.d.ts +8 -1
- package/dist/agent/pipeline.d.ts.map +1 -1
- package/dist/agent/pipeline.js +844 -33
- package/dist/agent/plan.d.ts +39 -0
- package/dist/agent/plan.d.ts.map +1 -1
- package/dist/agent/plan.js +146 -0
- package/dist/agent/report.d.ts +16 -0
- package/dist/agent/report.d.ts.map +1 -1
- package/dist/agent/report.js +12 -0
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +66 -11
- package/dist/agent/tests.d.ts.map +1 -1
- package/dist/agent/tests.js +12 -2
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +1 -0
- package/dist/cli.js +111 -7
- package/dist/esm/agent/config.js +38 -0
- package/dist/esm/agent/operational_insights.js +2 -1
- package/dist/esm/agent/pipeline.js +844 -33
- package/dist/esm/agent/plan.js +145 -1
- package/dist/esm/agent/report.js +12 -0
- package/dist/esm/agent/runner.js +66 -11
- package/dist/esm/agent/tests.js +12 -2
- package/dist/esm/api.js +2 -1
- package/dist/esm/cli.js +112 -8
- package/package.json +1 -1
- package/schemas/impact.schema.json +37 -0
- package/schemas/plan.schema.json +48 -0
- package/dist/agent/cache_utils.d.ts +0 -38
- package/dist/agent/cache_utils.d.ts.map +0 -1
- package/dist/agent/cache_utils.js +0 -67
- package/dist/agent/impact-analyzer.d.ts +0 -114
- package/dist/agent/impact-analyzer.d.ts.map +0 -1
- package/dist/agent/impact-analyzer.js +0 -557
- package/dist/agent/index.d.ts +0 -21
- package/dist/agent/index.d.ts.map +0 -1
- package/dist/agent/index.js +0 -38
- package/dist/agent/model-router.d.ts +0 -57
- package/dist/agent/model-router.d.ts.map +0 -1
- package/dist/agent/model-router.js +0 -154
- package/dist/agent/report-generator.d.ts +0 -24
- package/dist/agent/report-generator.d.ts.map +0 -1
- package/dist/agent/report-generator.js +0 -250
- package/dist/agent/spec-bridge.d.ts +0 -101
- package/dist/agent/spec-bridge.d.ts.map +0 -1
- package/dist/agent/spec-bridge.js +0 -273
- package/dist/agent/spec-builder.d.ts +0 -102
- package/dist/agent/spec-builder.d.ts.map +0 -1
- package/dist/agent/spec-builder.js +0 -273
- package/dist/agent/telemetry.d.ts +0 -84
- package/dist/agent/telemetry.d.ts.map +0 -1
- package/dist/agent/telemetry.js +0 -220
- package/dist/agent/validators/selector-validator.d.ts +0 -74
- package/dist/agent/validators/selector-validator.d.ts.map +0 -1
- package/dist/agent/validators/selector-validator.js +0 -165
- package/dist/e2e-test-gen/index.d.ts +0 -51
- package/dist/e2e-test-gen/index.d.ts.map +0 -1
- package/dist/e2e-test-gen/index.js +0 -57
- package/dist/e2e-test-gen/spec_parser.d.ts +0 -142
- package/dist/e2e-test-gen/spec_parser.d.ts.map +0 -1
- package/dist/e2e-test-gen/spec_parser.js +0 -786
- package/dist/e2e-test-gen/types.d.ts +0 -185
- package/dist/e2e-test-gen/types.d.ts.map +0 -1
- package/dist/e2e-test-gen/types.js +0 -4
- package/dist/esm/agent/cache_utils.js +0 -63
- package/dist/esm/agent/impact-analyzer.js +0 -548
- package/dist/esm/agent/index.js +0 -22
- package/dist/esm/agent/model-router.js +0 -150
- package/dist/esm/agent/report-generator.js +0 -247
- package/dist/esm/agent/spec-bridge.js +0 -267
- package/dist/esm/agent/spec-builder.js +0 -267
- package/dist/esm/agent/telemetry.js +0 -216
- package/dist/esm/agent/validators/selector-validator.js +0 -160
- package/dist/esm/e2e-test-gen/index.js +0 -50
- package/dist/esm/e2e-test-gen/spec_parser.js +0 -782
- package/dist/esm/e2e-test-gen/types.js +0 -3
- package/dist/esm/plan-and-test-constants.js +0 -126
- package/dist/plan-and-test-constants.d.ts +0 -110
- package/dist/plan-and-test-constants.d.ts.map +0 -1
- package/dist/plan-and-test-constants.js +0 -132
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import type { LLMProvider } from '../provider_interface.js';
|
|
2
|
-
import type { FeatureSpecification } from './types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Optional cache interface for PDF parsing results
|
|
5
|
-
* Implementations can provide caching to avoid re-parsing PDFs
|
|
6
|
-
*/
|
|
7
|
-
export interface SpecificationCache {
|
|
8
|
-
isSpecificationCached(path: string, hash: string): boolean;
|
|
9
|
-
getCachedSpecifications(path: string, hash: string): FeatureSpecification[];
|
|
10
|
-
saveSpecification(spec: FeatureSpecification): void;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Specification Parser
|
|
14
|
-
*
|
|
15
|
-
* Parses user-provided specification documents to guide autonomous testing.
|
|
16
|
-
* Supports multiple formats:
|
|
17
|
-
* - Markdown (.md) with embedded screenshots and Given-When-Then scenarios
|
|
18
|
-
* - JSON (.json) with structured feature definitions
|
|
19
|
-
* - PDF (.pdf) with text, diagrams, and screenshots extracted via LLM
|
|
20
|
-
* - Plain text focus strings (natural language)
|
|
21
|
-
*
|
|
22
|
-
* Extracts:
|
|
23
|
-
* - Feature name, description, priority
|
|
24
|
-
* - Target URLs to prioritize in crawling
|
|
25
|
-
* - Business scenarios (Given-When-Then)
|
|
26
|
-
* - Acceptance criteria
|
|
27
|
-
* - Reference screenshots for visual comparison
|
|
28
|
-
* - UI mockups and wireframes from PDFs
|
|
29
|
-
*
|
|
30
|
-
* The parsed specifications guide:
|
|
31
|
-
* - Crawler URL prioritization
|
|
32
|
-
* - Test scenario generation
|
|
33
|
-
* - Visual regression comparison
|
|
34
|
-
* - Coverage gap detection
|
|
35
|
-
*/
|
|
36
|
-
export declare class SpecificationParser {
|
|
37
|
-
private llmProvider;
|
|
38
|
-
private cache?;
|
|
39
|
-
constructor(llmProvider: LLMProvider, cache?: SpecificationCache);
|
|
40
|
-
/**
|
|
41
|
-
* Parse specification from file or string
|
|
42
|
-
*/
|
|
43
|
-
parse(source: string, sourceType?: 'file' | 'string'): Promise<FeatureSpecification[]>;
|
|
44
|
-
/**
|
|
45
|
-
* Parse Markdown specification
|
|
46
|
-
*
|
|
47
|
-
* Expected format:
|
|
48
|
-
* # Feature: Feature Name
|
|
49
|
-
* **Priority**: High
|
|
50
|
-
* **Target URLs**: /path1, /path2
|
|
51
|
-
*
|
|
52
|
-
* ## Description
|
|
53
|
-
* Feature description...
|
|
54
|
-
*
|
|
55
|
-
* ## Business Scenarios
|
|
56
|
-
* ### Scenario 1: Name
|
|
57
|
-
* - **Given**: Precondition
|
|
58
|
-
* - **When**: Action
|
|
59
|
-
* - **Then**: Expected outcome
|
|
60
|
-
*
|
|
61
|
-
* ## Acceptance Criteria
|
|
62
|
-
* - Criterion 1
|
|
63
|
-
* - Criterion 2
|
|
64
|
-
*
|
|
65
|
-
* ## Screenshots
|
|
66
|
-
* 
|
|
67
|
-
*/
|
|
68
|
-
private parseMarkdown;
|
|
69
|
-
/**
|
|
70
|
-
* Parse JSON specification
|
|
71
|
-
*/
|
|
72
|
-
private parseJSON;
|
|
73
|
-
/**
|
|
74
|
-
* Parse PDF specification using LLM vision
|
|
75
|
-
*
|
|
76
|
-
* PDFs can contain:
|
|
77
|
-
* - Product requirement documents (PRDs)
|
|
78
|
-
* - Feature specifications with screenshots
|
|
79
|
-
* - UI mockups and wireframes
|
|
80
|
-
* - User flow diagrams
|
|
81
|
-
* - Acceptance criteria and test plans
|
|
82
|
-
*
|
|
83
|
-
* The LLM will extract structured information including:
|
|
84
|
-
* - Feature name and description
|
|
85
|
-
* - Business scenarios
|
|
86
|
-
* - Target URLs (inferred from screenshots/mockups)
|
|
87
|
-
* - Acceptance criteria
|
|
88
|
-
* - Screenshots/mockups for visual comparison
|
|
89
|
-
*/
|
|
90
|
-
private parsePDF;
|
|
91
|
-
/**
|
|
92
|
-
* Parse natural language focus string using LLM
|
|
93
|
-
*/
|
|
94
|
-
private parseFocusString;
|
|
95
|
-
/**
|
|
96
|
-
* Finalize partial spec
|
|
97
|
-
*/
|
|
98
|
-
private finalizeSpec;
|
|
99
|
-
/**
|
|
100
|
-
* Finalize partial scenario
|
|
101
|
-
*/
|
|
102
|
-
private finalizeScenario;
|
|
103
|
-
/**
|
|
104
|
-
* Generate spec ID from name
|
|
105
|
-
*/
|
|
106
|
-
private generateSpecId;
|
|
107
|
-
/**
|
|
108
|
-
* Resolve image path relative to spec file
|
|
109
|
-
*/
|
|
110
|
-
private resolveImagePath;
|
|
111
|
-
/**
|
|
112
|
-
* Load screenshot data from files
|
|
113
|
-
*/
|
|
114
|
-
private loadScreenshots;
|
|
115
|
-
/**
|
|
116
|
-
* Validate parsed specification
|
|
117
|
-
*/
|
|
118
|
-
validateSpec(spec: FeatureSpecification): {
|
|
119
|
-
valid: boolean;
|
|
120
|
-
errors: string[];
|
|
121
|
-
};
|
|
122
|
-
/**
|
|
123
|
-
* Get spec coverage summary
|
|
124
|
-
*/
|
|
125
|
-
getSpecSummary(spec: FeatureSpecification): SpecSummary;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Specification summary
|
|
129
|
-
*/
|
|
130
|
-
export interface SpecSummary {
|
|
131
|
-
id: string;
|
|
132
|
-
name: string;
|
|
133
|
-
priority: string;
|
|
134
|
-
targetUrlCount: number;
|
|
135
|
-
scenarioCount: number;
|
|
136
|
-
mustHaveScenarios: number;
|
|
137
|
-
shouldHaveScenarios: number;
|
|
138
|
-
niceToHaveScenarios: number;
|
|
139
|
-
acceptanceCriteriaCount: number;
|
|
140
|
-
hasScreenshots: boolean;
|
|
141
|
-
}
|
|
142
|
-
//# sourceMappingURL=spec_parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spec_parser.d.ts","sourceRoot":"","sources":["../../src/e2e-test-gen/spec_parser.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAE1D,OAAO,KAAK,EAAmB,oBAAoB,EAAiB,MAAM,YAAY,CAAC;AAEvF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3D,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAAC;IAC5E,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACvD;AASD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,KAAK,CAAC,CAAqB;gBAEvB,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,kBAAkB;IAKhE;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,GAAG,QAAiB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA6BpG;;;;;;;;;;;;;;;;;;;;;;;OAuBG;YACW,aAAa;IAyI3B;;OAEG;IACH,OAAO,CAAC,SAAS;IAgFjB;;;;;;;;;;;;;;;;OAgBG;YACW,QAAQ;IA8TtB;;OAEG;YACW,gBAAgB;IA8E9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;YACW,eAAe;IAmB7B;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,oBAAoB,GAAG;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAC;IAwB5E;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,oBAAoB,GAAG,WAAW;CAc1D;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;CAC3B"}
|