@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.
Files changed (87) hide show
  1. package/README.md +29 -20
  2. package/dist/agent/config.d.ts +3 -0
  3. package/dist/agent/config.d.ts.map +1 -1
  4. package/dist/agent/config.js +38 -0
  5. package/dist/agent/operational_insights.d.ts +1 -1
  6. package/dist/agent/operational_insights.d.ts.map +1 -1
  7. package/dist/agent/operational_insights.js +2 -1
  8. package/dist/agent/pipeline.d.ts +8 -1
  9. package/dist/agent/pipeline.d.ts.map +1 -1
  10. package/dist/agent/pipeline.js +844 -33
  11. package/dist/agent/plan.d.ts +39 -0
  12. package/dist/agent/plan.d.ts.map +1 -1
  13. package/dist/agent/plan.js +146 -0
  14. package/dist/agent/report.d.ts +16 -0
  15. package/dist/agent/report.d.ts.map +1 -1
  16. package/dist/agent/report.js +12 -0
  17. package/dist/agent/runner.d.ts.map +1 -1
  18. package/dist/agent/runner.js +66 -11
  19. package/dist/agent/tests.d.ts.map +1 -1
  20. package/dist/agent/tests.js +12 -2
  21. package/dist/api.d.ts.map +1 -1
  22. package/dist/api.js +1 -0
  23. package/dist/cli.js +111 -7
  24. package/dist/esm/agent/config.js +38 -0
  25. package/dist/esm/agent/operational_insights.js +2 -1
  26. package/dist/esm/agent/pipeline.js +844 -33
  27. package/dist/esm/agent/plan.js +145 -1
  28. package/dist/esm/agent/report.js +12 -0
  29. package/dist/esm/agent/runner.js +66 -11
  30. package/dist/esm/agent/tests.js +12 -2
  31. package/dist/esm/api.js +2 -1
  32. package/dist/esm/cli.js +112 -8
  33. package/package.json +1 -1
  34. package/schemas/impact.schema.json +37 -0
  35. package/schemas/plan.schema.json +48 -0
  36. package/dist/agent/cache_utils.d.ts +0 -38
  37. package/dist/agent/cache_utils.d.ts.map +0 -1
  38. package/dist/agent/cache_utils.js +0 -67
  39. package/dist/agent/impact-analyzer.d.ts +0 -114
  40. package/dist/agent/impact-analyzer.d.ts.map +0 -1
  41. package/dist/agent/impact-analyzer.js +0 -557
  42. package/dist/agent/index.d.ts +0 -21
  43. package/dist/agent/index.d.ts.map +0 -1
  44. package/dist/agent/index.js +0 -38
  45. package/dist/agent/model-router.d.ts +0 -57
  46. package/dist/agent/model-router.d.ts.map +0 -1
  47. package/dist/agent/model-router.js +0 -154
  48. package/dist/agent/report-generator.d.ts +0 -24
  49. package/dist/agent/report-generator.d.ts.map +0 -1
  50. package/dist/agent/report-generator.js +0 -250
  51. package/dist/agent/spec-bridge.d.ts +0 -101
  52. package/dist/agent/spec-bridge.d.ts.map +0 -1
  53. package/dist/agent/spec-bridge.js +0 -273
  54. package/dist/agent/spec-builder.d.ts +0 -102
  55. package/dist/agent/spec-builder.d.ts.map +0 -1
  56. package/dist/agent/spec-builder.js +0 -273
  57. package/dist/agent/telemetry.d.ts +0 -84
  58. package/dist/agent/telemetry.d.ts.map +0 -1
  59. package/dist/agent/telemetry.js +0 -220
  60. package/dist/agent/validators/selector-validator.d.ts +0 -74
  61. package/dist/agent/validators/selector-validator.d.ts.map +0 -1
  62. package/dist/agent/validators/selector-validator.js +0 -165
  63. package/dist/e2e-test-gen/index.d.ts +0 -51
  64. package/dist/e2e-test-gen/index.d.ts.map +0 -1
  65. package/dist/e2e-test-gen/index.js +0 -57
  66. package/dist/e2e-test-gen/spec_parser.d.ts +0 -142
  67. package/dist/e2e-test-gen/spec_parser.d.ts.map +0 -1
  68. package/dist/e2e-test-gen/spec_parser.js +0 -786
  69. package/dist/e2e-test-gen/types.d.ts +0 -185
  70. package/dist/e2e-test-gen/types.d.ts.map +0 -1
  71. package/dist/e2e-test-gen/types.js +0 -4
  72. package/dist/esm/agent/cache_utils.js +0 -63
  73. package/dist/esm/agent/impact-analyzer.js +0 -548
  74. package/dist/esm/agent/index.js +0 -22
  75. package/dist/esm/agent/model-router.js +0 -150
  76. package/dist/esm/agent/report-generator.js +0 -247
  77. package/dist/esm/agent/spec-bridge.js +0 -267
  78. package/dist/esm/agent/spec-builder.js +0 -267
  79. package/dist/esm/agent/telemetry.js +0 -216
  80. package/dist/esm/agent/validators/selector-validator.js +0 -160
  81. package/dist/esm/e2e-test-gen/index.js +0 -50
  82. package/dist/esm/e2e-test-gen/spec_parser.js +0 -782
  83. package/dist/esm/e2e-test-gen/types.js +0 -3
  84. package/dist/esm/plan-and-test-constants.js +0 -126
  85. package/dist/plan-and-test-constants.d.ts +0 -110
  86. package/dist/plan-and-test-constants.d.ts.map +0 -1
  87. 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
- * ![Description](path/to/image.png)
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"}