@shadowcoderr/context-graph 0.3.0

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 (115) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +185 -0
  3. package/dist/analyzers/a11y-extractor.d.ts +15 -0
  4. package/dist/analyzers/a11y-extractor.d.ts.map +1 -0
  5. package/dist/analyzers/a11y-extractor.js +148 -0
  6. package/dist/analyzers/a11y-extractor.js.map +1 -0
  7. package/dist/analyzers/dom-analyzer.d.ts +20 -0
  8. package/dist/analyzers/dom-analyzer.d.ts.map +1 -0
  9. package/dist/analyzers/dom-analyzer.js +126 -0
  10. package/dist/analyzers/dom-analyzer.js.map +1 -0
  11. package/dist/analyzers/locator-generator.d.ts +13 -0
  12. package/dist/analyzers/locator-generator.d.ts.map +1 -0
  13. package/dist/analyzers/locator-generator.js +381 -0
  14. package/dist/analyzers/locator-generator.js.map +1 -0
  15. package/dist/analyzers/network-logger.d.ts +15 -0
  16. package/dist/analyzers/network-logger.d.ts.map +1 -0
  17. package/dist/analyzers/network-logger.js +71 -0
  18. package/dist/analyzers/network-logger.js.map +1 -0
  19. package/dist/cli/index.d.ts +2 -0
  20. package/dist/cli/index.d.ts.map +1 -0
  21. package/dist/cli/index.js +155 -0
  22. package/dist/cli/index.js.map +1 -0
  23. package/dist/config/defaults.d.ts +3 -0
  24. package/dist/config/defaults.d.ts.map +1 -0
  25. package/dist/config/defaults.js +54 -0
  26. package/dist/config/defaults.js.map +1 -0
  27. package/dist/config/loader.d.ts +3 -0
  28. package/dist/config/loader.d.ts.map +1 -0
  29. package/dist/config/loader.js +75 -0
  30. package/dist/config/loader.js.map +1 -0
  31. package/dist/config/schema.d.ts +168 -0
  32. package/dist/config/schema.d.ts.map +1 -0
  33. package/dist/config/schema.js +104 -0
  34. package/dist/config/schema.js.map +1 -0
  35. package/dist/core/browser-adapter.d.ts +24 -0
  36. package/dist/core/browser-adapter.d.ts.map +1 -0
  37. package/dist/core/browser-adapter.js +208 -0
  38. package/dist/core/browser-adapter.js.map +1 -0
  39. package/dist/core/capture-engine.d.ts +52 -0
  40. package/dist/core/capture-engine.d.ts.map +1 -0
  41. package/dist/core/capture-engine.js +593 -0
  42. package/dist/core/capture-engine.js.map +1 -0
  43. package/dist/core/runtime.d.ts +38 -0
  44. package/dist/core/runtime.d.ts.map +1 -0
  45. package/dist/core/runtime.js +648 -0
  46. package/dist/core/runtime.js.map +1 -0
  47. package/dist/prompts/init-prompt.d.ts +12 -0
  48. package/dist/prompts/init-prompt.d.ts.map +1 -0
  49. package/dist/prompts/init-prompt.js +128 -0
  50. package/dist/prompts/init-prompt.js.map +1 -0
  51. package/dist/registry/components-registry.d.ts +97 -0
  52. package/dist/registry/components-registry.d.ts.map +1 -0
  53. package/dist/registry/components-registry.js +469 -0
  54. package/dist/registry/components-registry.js.map +1 -0
  55. package/dist/registry/index.d.ts +2 -0
  56. package/dist/registry/index.d.ts.map +1 -0
  57. package/dist/registry/index.js +7 -0
  58. package/dist/registry/index.js.map +1 -0
  59. package/dist/security/patterns.d.ts +4 -0
  60. package/dist/security/patterns.d.ts.map +1 -0
  61. package/dist/security/patterns.js +65 -0
  62. package/dist/security/patterns.js.map +1 -0
  63. package/dist/security/redactor.d.ts +26 -0
  64. package/dist/security/redactor.d.ts.map +1 -0
  65. package/dist/security/redactor.js +128 -0
  66. package/dist/security/redactor.js.map +1 -0
  67. package/dist/security/validator.d.ts +11 -0
  68. package/dist/security/validator.d.ts.map +1 -0
  69. package/dist/security/validator.js +62 -0
  70. package/dist/security/validator.js.map +1 -0
  71. package/dist/storage/engine.d.ts +45 -0
  72. package/dist/storage/engine.d.ts.map +1 -0
  73. package/dist/storage/engine.js +479 -0
  74. package/dist/storage/engine.js.map +1 -0
  75. package/dist/storage/manifest.d.ts +10 -0
  76. package/dist/storage/manifest.d.ts.map +1 -0
  77. package/dist/storage/manifest.js +98 -0
  78. package/dist/storage/manifest.js.map +1 -0
  79. package/dist/storage/serializer.d.ts +9 -0
  80. package/dist/storage/serializer.d.ts.map +1 -0
  81. package/dist/storage/serializer.js +22 -0
  82. package/dist/storage/serializer.js.map +1 -0
  83. package/dist/types/capture.d.ts +206 -0
  84. package/dist/types/capture.d.ts.map +1 -0
  85. package/dist/types/capture.js +3 -0
  86. package/dist/types/capture.js.map +1 -0
  87. package/dist/types/config.d.ts +63 -0
  88. package/dist/types/config.d.ts.map +1 -0
  89. package/dist/types/config.js +3 -0
  90. package/dist/types/config.js.map +1 -0
  91. package/dist/types/registry.d.ts +94 -0
  92. package/dist/types/registry.d.ts.map +1 -0
  93. package/dist/types/registry.js +3 -0
  94. package/dist/types/registry.js.map +1 -0
  95. package/dist/types/storage.d.ts +57 -0
  96. package/dist/types/storage.d.ts.map +1 -0
  97. package/dist/types/storage.js +3 -0
  98. package/dist/types/storage.js.map +1 -0
  99. package/dist/utils/hash.d.ts +3 -0
  100. package/dist/utils/hash.d.ts.map +1 -0
  101. package/dist/utils/hash.js +26 -0
  102. package/dist/utils/hash.js.map +1 -0
  103. package/dist/utils/logger.d.ts +20 -0
  104. package/dist/utils/logger.d.ts.map +1 -0
  105. package/dist/utils/logger.js +86 -0
  106. package/dist/utils/logger.js.map +1 -0
  107. package/dist/utils/pom-generator.d.ts +12 -0
  108. package/dist/utils/pom-generator.d.ts.map +1 -0
  109. package/dist/utils/pom-generator.js +83 -0
  110. package/dist/utils/pom-generator.js.map +1 -0
  111. package/dist/utils/validators.d.ts +7 -0
  112. package/dist/utils/validators.d.ts.map +1 -0
  113. package/dist/utils/validators.js +51 -0
  114. package/dist/utils/validators.js.map +1 -0
  115. package/package.json +70 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/core/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ComponentsRegistry } from '../types/registry';
2
+ import { LocatorsData } from '../types/capture';
3
+ /**
4
+ * Generate initialization prompt for downstream LLMs
5
+ * This prompt instructs LLMs on how to use locator candidates and components registry
6
+ */
7
+ export declare function generateLLMInitPrompt(domain: string, componentsRegistry?: ComponentsRegistry, pageLocators?: Map<string, LocatorsData>): string;
8
+ /**
9
+ * Generate a quick reference card for locator strategies
10
+ */
11
+ export declare function generateLocatorQuickRef(): string;
12
+ //# sourceMappingURL=init-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-prompt.d.ts","sourceRoot":"","sources":["../../src/prompts/init-prompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,MAAM,CA0HR;AAyED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CA4BhD"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateLLMInitPrompt = generateLLMInitPrompt;
4
+ exports.generateLocatorQuickRef = generateLocatorQuickRef;
5
+ /**
6
+ * Generate initialization prompt for downstream LLMs
7
+ * This prompt instructs LLMs on how to use locator candidates and components registry
8
+ */
9
+ function generateLLMInitPrompt(domain, componentsRegistry, pageLocators) {
10
+ const sections = [
11
+ '# ContextGraph - LLM Integration Guide',
12
+ '',
13
+ '## Overview',
14
+ `This guide helps you generate robust Playwright locators for the **${domain}** domain.`,
15
+ 'Use the locator candidates and components registry as your primary inputs for automated locator generation.',
16
+ '',
17
+ ];
18
+ // Add components registry section if available
19
+ if (componentsRegistry && componentsRegistry.components.length > 0) {
20
+ sections.push('## Components Registry', '', 'The components registry tracks reusable UI patterns identified across captured pages.', 'Each component includes recommended locators with match counts and uniqueness flags.', '', '### Component Types', '', ...formatComponentTypes(componentsRegistry), '', '### Most Common Components', '', ...formatMostCommonComponents(componentsRegistry), '', '### All Components', '', '```json', JSON.stringify(formatComponentsForLLM(componentsRegistry.components), null, 2), '```', '');
21
+ }
22
+ // Add page locators section if available
23
+ if (pageLocators && pageLocators.size > 0) {
24
+ sections.push('## Page Locator Candidates', '', 'For each page, locator candidates with match counts and uniqueness are provided.', '**Always prefer unique locators (isUnique: true) for reliable element selection.**', '');
25
+ for (const [pageName, locatorsData] of pageLocators) {
26
+ sections.push(`### Page: ${pageName}`, '', '```json', JSON.stringify(formatLocatorsForLLM(locatorsData), null, 2), '```', '');
27
+ }
28
+ }
29
+ // Add locator generation guidelines
30
+ sections.push('## Locator Generation Guidelines', '', '### Priority Order (Highest to Lowest Reliability)', '', '1. **Test ID Locators** (`getByTestId`) - Most reliable, use when available', '2. **Role Locators** (`getByRole`) - Semantic and resilient to DOM changes', '3. **Label Locators** (`getByLabel`) - Good for form elements', '4. **Placeholder Locators** (`getByPlaceholder`) - Acceptable for inputs', '5. **Text Locators** (`getByText`) - Use with caution, text may change', '6. **CSS Selectors** - Last resort, fragile to structure changes', '', '### Using Match Counts and Uniqueness', '', '- `matchCount: 1` and `isUnique: true` → **Use this locator**', '- `matchCount: N` and `isUnique: false` → Locator matches multiple elements, refine or combine', '- Always verify uniqueness before using a locator in tests', '', '### Component-Based Locators', '', 'When targeting a known UI component (e.g., login button, navigation menu):', '1. Check the Components Registry for the component pattern', '2. Use the `bestLocators` array which contains pre-validated unique locators', '3. Consider the component\'s `occurrences` to understand where it appears', '', '### Example Usage', '', '```typescript', '// ✅ Good: Using unique test ID from locator candidates', "await page.getByTestId('login-button').click();", '', '// ✅ Good: Using role locator with name from component registry', "await page.getByRole('button', { name: 'Sign In' }).click();", '', '// ❌ Avoid: Non-unique text locator', "await page.getByText('Submit').click(); // May match multiple elements", '', '// ✅ Better: Combine with parent context for uniqueness', "await page.locator('form').getByRole('button', { name: 'Submit' }).click();", '```', '', '## Best Practices', '', '1. **Always check `isUnique` flag** - Never use a locator with `isUnique: false` without refinement', '2. **Prefer test IDs** - They are intentionally added for testing and most stable', '3. **Use semantic roles** - `getByRole` is more resilient than CSS selectors', '4. **Leverage components** - Reusable patterns reduce duplication in tests', '5. **Verify match counts** - A high `matchCount` indicates potential flakiness', '6. **Consider context** - Sometimes a non-unique locator becomes unique within a parent scope', '', '## Output Format', '', 'When generating locators, output them in this format:', '', '```typescript', '// Component: {componentName}', '// Page: {pageName}', '// Confidence: {confidence}', 'const locator = page.{method}({selector});', '```', '');
31
+ return sections.join('\n');
32
+ }
33
+ /**
34
+ * Format component types summary
35
+ */
36
+ function formatComponentTypes(registry) {
37
+ const lines = [];
38
+ const byType = registry.statistics.byType;
39
+ for (const [type, count] of Object.entries(byType)) {
40
+ lines.push(`- **${type}**: ${count} component(s)`);
41
+ }
42
+ return lines;
43
+ }
44
+ /**
45
+ * Format most common components
46
+ */
47
+ function formatMostCommonComponents(registry) {
48
+ const lines = [];
49
+ const mostCommon = registry.statistics.mostCommon.slice(0, 5);
50
+ for (const componentId of mostCommon) {
51
+ const component = registry.components.find(c => c.componentId === componentId);
52
+ if (component) {
53
+ lines.push(`- **${component.name}** (${component.type}): ${component.metadata.totalOccurrences} occurrences`);
54
+ }
55
+ }
56
+ return lines;
57
+ }
58
+ /**
59
+ * Format components for LLM consumption (simplified)
60
+ */
61
+ function formatComponentsForLLM(components) {
62
+ return components.map(c => ({
63
+ id: c.componentId,
64
+ name: c.name,
65
+ type: c.type,
66
+ bestLocators: c.bestLocators.map(l => ({
67
+ strategy: l.strategy,
68
+ value: l.value,
69
+ isUnique: l.isUnique,
70
+ matchCount: l.matchCount,
71
+ })),
72
+ occurrences: c.occurrences.length,
73
+ stability: c.metadata.avgStability,
74
+ }));
75
+ }
76
+ /**
77
+ * Format locators data for LLM consumption
78
+ */
79
+ function formatLocatorsForLLM(locatorsData) {
80
+ return {
81
+ elementCount: locatorsData.elements.length,
82
+ elements: locatorsData.elements.slice(0, 50).map(e => ({
83
+ id: e.elementId,
84
+ tag: e.tagName,
85
+ text: e.text?.substring(0, 50),
86
+ locators: e.locators.map(l => ({
87
+ strategy: l.strategy,
88
+ value: l.value,
89
+ confidence: l.confidence,
90
+ isUnique: l.isUnique,
91
+ matchCount: l.matchCount,
92
+ })),
93
+ })),
94
+ };
95
+ }
96
+ /**
97
+ * Generate a quick reference card for locator strategies
98
+ */
99
+ function generateLocatorQuickRef() {
100
+ return `
101
+ # Locator Strategy Quick Reference
102
+
103
+ | Strategy | Method | Reliability | Use Case |
104
+ |----------|--------|-------------|----------|
105
+ | Test ID | \`getByTestId('id')\` | ⭐⭐⭐⭐⭐ | Best for stable test attributes |
106
+ | Role | \`getByRole('button')\` | ⭐⭐⭐⭐ | Semantic, accessible elements |
107
+ | Label | \`getByLabel('Email')\` | ⭐⭐⭐⭐ | Form fields with labels |
108
+ | Placeholder | \`getByPlaceholder('Search')\` | ⭐⭐⭐ | Input fields |
109
+ | Text | \`getByText('Submit')\` | ⭐⭐ | Buttons, links (verify uniqueness) |
110
+ | CSS | \`locator('.class')\` | ⭐ | Last resort, structure-dependent |
111
+
112
+ ## Uniqueness Indicators
113
+
114
+ | Flag | Meaning | Action |
115
+ |------|---------|--------|
116
+ | \`isUnique: true\` | Matches exactly 1 element | ✅ Safe to use directly |
117
+ | \`isUnique: false\` | Matches multiple elements | ⚠️ Refine with parent context |
118
+ | \`matchCount: 0\` | No matches found | ❌ Locator invalid, regenerate |
119
+
120
+ ## Component Registry Usage
121
+
122
+ 1. Identify the UI component type (button, navigation, form, etc.)
123
+ 2. Look up the component in the registry
124
+ 3. Use the \`bestLocators\` array for pre-validated locators
125
+ 4. Check \`avgStability\` score (higher = more reliable)
126
+ `.trim();
127
+ }
128
+ //# sourceMappingURL=init-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-prompt.js","sourceRoot":"","sources":["../../src/prompts/init-prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ import { ComponentsRegistry, ComponentPattern, ComponentType, ComponentExtractionOptions, ExtractedComponent } from '../types/registry';
2
+ import { PageSnapshot } from '../types/capture';
3
+ /**
4
+ * Components Registry Manager
5
+ * Tracks reusable UI component patterns across captured pages
6
+ */
7
+ export declare class ComponentsRegistryManager {
8
+ private registry;
9
+ private registryPath;
10
+ private options;
11
+ constructor(outputDir: string, domain: string, options?: Partial<ComponentExtractionOptions>);
12
+ /**
13
+ * Initialize or load existing registry
14
+ */
15
+ initialize(): Promise<void>;
16
+ /**
17
+ * Extract components from a page snapshot and update registry
18
+ */
19
+ processPage(snapshot: PageSnapshot): Promise<ExtractedComponent[]>;
20
+ /**
21
+ * Extract potential components from a page snapshot
22
+ */
23
+ private extractComponents;
24
+ /**
25
+ * Compute a signature for identifying similar components
26
+ */
27
+ private computeSignature;
28
+ /**
29
+ * Compute a hash of the element structure for comparison
30
+ */
31
+ private computeStructureHash;
32
+ /**
33
+ * Infer component type from element properties
34
+ */
35
+ private inferComponentType;
36
+ /**
37
+ * Register a component in the registry
38
+ */
39
+ private registerComponent;
40
+ /**
41
+ * Find a component matching the given signature
42
+ */
43
+ private findMatchingComponent;
44
+ /**
45
+ * Add an occurrence to an existing component
46
+ */
47
+ private addOccurrence;
48
+ /**
49
+ * Create a new component pattern
50
+ */
51
+ private createNewComponent;
52
+ /**
53
+ * Select the best locator from candidates
54
+ */
55
+ private selectBestLocator;
56
+ /**
57
+ * Update best locators if we find better ones
58
+ */
59
+ private updateBestLocators;
60
+ /**
61
+ * Calculate average stability score for locators
62
+ */
63
+ private calculateStability;
64
+ /**
65
+ * Generate a human-readable component name
66
+ */
67
+ private generateComponentName;
68
+ /**
69
+ * Generate a description for the component
70
+ */
71
+ private generateDescription;
72
+ /**
73
+ * Update registry statistics
74
+ */
75
+ private updateStatistics;
76
+ /**
77
+ * Save the registry to disk
78
+ */
79
+ save(): Promise<void>;
80
+ /**
81
+ * Get the current registry
82
+ */
83
+ getRegistry(): ComponentsRegistry;
84
+ /**
85
+ * Find components by type
86
+ */
87
+ getComponentsByType(type: ComponentType): ComponentPattern[];
88
+ /**
89
+ * Find components that appear on a specific page
90
+ */
91
+ getComponentsByPage(pageId: string): ComponentPattern[];
92
+ /**
93
+ * Create an empty registry
94
+ */
95
+ private createEmptyRegistry;
96
+ }
97
+ //# sourceMappingURL=components-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-registry.d.ts","sourceRoot":"","sources":["../../src/registry/components-registry.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAGhB,aAAa,EACb,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAW,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUzD;;;GAGG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAA6B;gBAEhC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC;IAM5F;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAaxE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4C1B;;OAEG;YACW,iBAAiB;IAe/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;OAEG;IACH,WAAW,IAAI,kBAAkB;IAIjC;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,gBAAgB,EAAE;IAI5D;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAMvD;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAgB5B"}