@supernal/interface 1.0.8 → 1.0.11
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/dist/cjs/src/adapters/copilotkit/CopilotKitAdapter.js +3 -5
- package/dist/cjs/src/adapters/copilotkit/CopilotKitAdapter.js.map +1 -1
- package/dist/cjs/src/adapters/index.js +3 -4
- package/dist/cjs/src/adapters/index.js.map +1 -1
- package/dist/cjs/src/ai/AIInterface.js +111 -61
- package/dist/cjs/src/ai/AIInterface.js.map +1 -1
- package/dist/cjs/src/ai/ToolExecutor.js +36 -1
- package/dist/cjs/src/ai/ToolExecutor.js.map +1 -1
- package/dist/cjs/src/ai/ToolMatcher.js +6 -0
- package/dist/cjs/src/ai/ToolMatcher.js.map +1 -1
- package/dist/cjs/src/background/architecture/ArchitectureInitializer.js +13 -2
- package/dist/cjs/src/background/architecture/ArchitectureInitializer.js.map +1 -1
- package/dist/cjs/src/background/architecture/Containers.js +72 -2
- package/dist/cjs/src/background/architecture/Containers.js.map +1 -1
- package/dist/cjs/src/background/architecture/index.js +2 -1
- package/dist/cjs/src/background/architecture/index.js.map +1 -1
- package/dist/cjs/src/background/location/LocationContext.js +19 -2
- package/dist/cjs/src/background/location/LocationContext.js.map +1 -1
- package/dist/cjs/src/background/navigation/NavigationGraph.js +7 -0
- package/dist/cjs/src/background/navigation/NavigationGraph.js.map +1 -1
- package/dist/cjs/src/background/registry/ComponentRegistry.js +0 -2
- package/dist/cjs/src/background/registry/ComponentRegistry.js.map +1 -1
- package/dist/cjs/src/background/registry/ToolRegistry.js +83 -123
- package/dist/cjs/src/background/registry/ToolRegistry.js.map +1 -1
- package/dist/cjs/src/browser.js +48 -1
- package/dist/cjs/src/browser.js.map +1 -1
- package/dist/cjs/src/decorators/Component.js +4 -5
- package/dist/cjs/src/decorators/Component.js.map +1 -1
- package/dist/cjs/src/decorators/ContainerHelpers.js +16 -1
- package/dist/cjs/src/decorators/ContainerHelpers.js.map +1 -1
- package/dist/cjs/src/decorators/Tool.js +3 -9
- package/dist/cjs/src/decorators/Tool.js.map +1 -1
- package/dist/cjs/src/decorators/ToolHelpers.js +1 -3
- package/dist/cjs/src/decorators/ToolHelpers.js.map +1 -1
- package/dist/cjs/src/decorators/ToolPreset.js +14 -14
- package/dist/cjs/src/decorators/ToolPreset.js.map +1 -1
- package/dist/cjs/src/decorators/ToolProvider.js +30 -20
- package/dist/cjs/src/decorators/ToolProvider.js.map +1 -1
- package/dist/cjs/src/decorators/index.js +8 -13
- package/dist/cjs/src/decorators/index.js.map +1 -1
- package/dist/cjs/src/exposure/ExposureCollector.js +27 -0
- package/dist/cjs/src/exposure/ExposureCollector.js.map +1 -1
- package/dist/cjs/src/index.js +6 -9
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/mcp/server.js +12 -14
- package/dist/cjs/src/mcp/server.js.map +1 -1
- package/dist/cjs/src/react/hooks/useChatWithContext.js +4 -10
- package/dist/cjs/src/react/hooks/useChatWithContext.js.map +1 -1
- package/dist/cjs/src/testing/graph-tester/core/GraphTester.js +339 -0
- package/dist/cjs/src/testing/graph-tester/core/GraphTester.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/core/TestFunction.js +189 -0
- package/dist/cjs/src/testing/graph-tester/core/TestFunction.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/core/types.js +24 -0
- package/dist/cjs/src/testing/graph-tester/core/types.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/fixtures/index.js +13 -0
- package/dist/cjs/src/testing/graph-tester/fixtures/index.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/fixtures/portPool.js +184 -0
- package/dist/cjs/src/testing/graph-tester/fixtures/portPool.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/index.js +98 -0
- package/dist/cjs/src/testing/graph-tester/index.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/modes/AccessibilityMode.js +230 -0
- package/dist/cjs/src/testing/graph-tester/modes/AccessibilityMode.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/modes/PerformanceMode.js +168 -0
- package/dist/cjs/src/testing/graph-tester/modes/PerformanceMode.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/modes/SEOMode.js +264 -0
- package/dist/cjs/src/testing/graph-tester/modes/SEOMode.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/modes/VisualRegressionMode.js +199 -0
- package/dist/cjs/src/testing/graph-tester/modes/VisualRegressionMode.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/modes/index.js +17 -0
- package/dist/cjs/src/testing/graph-tester/modes/index.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/reporters/HTMLReporter.js +411 -0
- package/dist/cjs/src/testing/graph-tester/reporters/HTMLReporter.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/reporters/JSONReporter.js +127 -0
- package/dist/cjs/src/testing/graph-tester/reporters/JSONReporter.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/reporters/MarkdownReporter.js +169 -0
- package/dist/cjs/src/testing/graph-tester/reporters/MarkdownReporter.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/reporters/UnifiedReporter.js +118 -0
- package/dist/cjs/src/testing/graph-tester/reporters/UnifiedReporter.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/reporters/index.js +17 -0
- package/dist/cjs/src/testing/graph-tester/reporters/index.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.js +47 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.js +584 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/ScreenshotAnnotator.js +376 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/ScreenshotAnnotator.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/index.js +15 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/index.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/types.js +11 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/types.js.map +1 -0
- package/dist/cjs/src/testing/selectors.js +1 -1
- package/dist/cjs/src/types/ComponentState.js.map +1 -1
- package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.d.ts.map +1 -1
- package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.js +3 -5
- package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.js.map +1 -1
- package/dist/esm/src/adapters/index.d.ts +0 -2
- package/dist/esm/src/adapters/index.d.ts.map +1 -1
- package/dist/esm/src/adapters/index.js +2 -1
- package/dist/esm/src/adapters/index.js.map +1 -1
- package/dist/esm/src/adapters/types/index.d.ts +0 -2
- package/dist/esm/src/adapters/types/index.d.ts.map +1 -1
- package/dist/esm/src/ai/AIInterface.d.ts +5 -1
- package/dist/esm/src/ai/AIInterface.d.ts.map +1 -1
- package/dist/esm/src/ai/AIInterface.js +111 -61
- package/dist/esm/src/ai/AIInterface.js.map +1 -1
- package/dist/esm/src/ai/ToolExecutor.js +36 -1
- package/dist/esm/src/ai/ToolExecutor.js.map +1 -1
- package/dist/esm/src/ai/ToolMatcher.d.ts +1 -0
- package/dist/esm/src/ai/ToolMatcher.d.ts.map +1 -1
- package/dist/esm/src/ai/ToolMatcher.js +6 -0
- package/dist/esm/src/ai/ToolMatcher.js.map +1 -1
- package/dist/esm/src/background/architecture/ArchitectureInitializer.d.ts +1 -1
- package/dist/esm/src/background/architecture/ArchitectureInitializer.d.ts.map +1 -1
- package/dist/esm/src/background/architecture/ArchitectureInitializer.js +13 -2
- package/dist/esm/src/background/architecture/ArchitectureInitializer.js.map +1 -1
- package/dist/esm/src/background/architecture/Containers.d.ts +35 -2
- package/dist/esm/src/background/architecture/Containers.d.ts.map +1 -1
- package/dist/esm/src/background/architecture/Containers.js +70 -2
- package/dist/esm/src/background/architecture/Containers.js.map +1 -1
- package/dist/esm/src/background/architecture/index.d.ts +1 -1
- package/dist/esm/src/background/architecture/index.d.ts.map +1 -1
- package/dist/esm/src/background/architecture/index.js +1 -1
- package/dist/esm/src/background/architecture/index.js.map +1 -1
- package/dist/esm/src/background/location/LocationContext.d.ts +3 -2
- package/dist/esm/src/background/location/LocationContext.d.ts.map +1 -1
- package/dist/esm/src/background/location/LocationContext.js +19 -2
- package/dist/esm/src/background/location/LocationContext.js.map +1 -1
- package/dist/esm/src/background/navigation/NavigationGraph.d.ts +5 -0
- package/dist/esm/src/background/navigation/NavigationGraph.d.ts.map +1 -1
- package/dist/esm/src/background/navigation/NavigationGraph.js +7 -0
- package/dist/esm/src/background/navigation/NavigationGraph.js.map +1 -1
- package/dist/esm/src/background/registry/ComponentRegistry.d.ts +0 -4
- package/dist/esm/src/background/registry/ComponentRegistry.d.ts.map +1 -1
- package/dist/esm/src/background/registry/ComponentRegistry.js +0 -2
- package/dist/esm/src/background/registry/ComponentRegistry.js.map +1 -1
- package/dist/esm/src/background/registry/ToolRegistry.d.ts +24 -38
- package/dist/esm/src/background/registry/ToolRegistry.d.ts.map +1 -1
- package/dist/esm/src/background/registry/ToolRegistry.js +81 -121
- package/dist/esm/src/background/registry/ToolRegistry.js.map +1 -1
- package/dist/esm/src/browser.d.ts +12 -1
- package/dist/esm/src/browser.d.ts.map +1 -1
- package/dist/esm/src/browser.js +17 -1
- package/dist/esm/src/browser.js.map +1 -1
- package/dist/esm/src/decorators/Component.d.ts +1 -8
- package/dist/esm/src/decorators/Component.d.ts.map +1 -1
- package/dist/esm/src/decorators/Component.js +4 -5
- package/dist/esm/src/decorators/Component.js.map +1 -1
- package/dist/esm/src/decorators/ContainerHelpers.d.ts +2 -1
- package/dist/esm/src/decorators/ContainerHelpers.d.ts.map +1 -1
- package/dist/esm/src/decorators/ContainerHelpers.js +16 -1
- package/dist/esm/src/decorators/ContainerHelpers.js.map +1 -1
- package/dist/esm/src/decorators/Tool.d.ts +1 -6
- package/dist/esm/src/decorators/Tool.d.ts.map +1 -1
- package/dist/esm/src/decorators/Tool.js +3 -9
- package/dist/esm/src/decorators/Tool.js.map +1 -1
- package/dist/esm/src/decorators/ToolHelpers.d.ts.map +1 -1
- package/dist/esm/src/decorators/ToolHelpers.js +1 -3
- package/dist/esm/src/decorators/ToolHelpers.js.map +1 -1
- package/dist/esm/src/decorators/ToolPreset.d.ts +12 -9
- package/dist/esm/src/decorators/ToolPreset.d.ts.map +1 -1
- package/dist/esm/src/decorators/ToolPreset.js +13 -13
- package/dist/esm/src/decorators/ToolPreset.js.map +1 -1
- package/dist/esm/src/decorators/ToolProvider.d.ts +5 -21
- package/dist/esm/src/decorators/ToolProvider.d.ts.map +1 -1
- package/dist/esm/src/decorators/ToolProvider.js +30 -19
- package/dist/esm/src/decorators/ToolProvider.js.map +1 -1
- package/dist/esm/src/decorators/index.d.ts +6 -12
- package/dist/esm/src/decorators/index.d.ts.map +1 -1
- package/dist/esm/src/decorators/index.js +7 -12
- package/dist/esm/src/decorators/index.js.map +1 -1
- package/dist/esm/src/exposure/ExposureCollector.d.ts +8 -0
- package/dist/esm/src/exposure/ExposureCollector.d.ts.map +1 -1
- package/dist/esm/src/exposure/ExposureCollector.js +27 -0
- package/dist/esm/src/exposure/ExposureCollector.js.map +1 -1
- package/dist/esm/src/index.d.ts +5 -6
- package/dist/esm/src/index.d.ts.map +1 -1
- package/dist/esm/src/index.js +5 -6
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/mcp/server.d.ts +1 -1
- package/dist/esm/src/mcp/server.d.ts.map +1 -1
- package/dist/esm/src/mcp/server.js +12 -14
- package/dist/esm/src/mcp/server.js.map +1 -1
- package/dist/esm/src/react/hooks/useChatWithContext.d.ts +0 -2
- package/dist/esm/src/react/hooks/useChatWithContext.d.ts.map +1 -1
- package/dist/esm/src/react/hooks/useChatWithContext.js +4 -10
- package/dist/esm/src/react/hooks/useChatWithContext.js.map +1 -1
- package/dist/esm/src/testing/graph-tester/core/GraphTester.d.ts +110 -0
- package/dist/esm/src/testing/graph-tester/core/GraphTester.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/core/GraphTester.js +335 -0
- package/dist/esm/src/testing/graph-tester/core/GraphTester.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/core/TestFunction.d.ts +120 -0
- package/dist/esm/src/testing/graph-tester/core/TestFunction.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/core/TestFunction.js +184 -0
- package/dist/esm/src/testing/graph-tester/core/TestFunction.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/core/types.d.ts +331 -0
- package/dist/esm/src/testing/graph-tester/core/types.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/core/types.js +21 -0
- package/dist/esm/src/testing/graph-tester/core/types.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/fixtures/index.d.ts +8 -0
- package/dist/esm/src/testing/graph-tester/fixtures/index.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/fixtures/index.js +7 -0
- package/dist/esm/src/testing/graph-tester/fixtures/index.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/fixtures/portPool.d.ts +40 -0
- package/dist/esm/src/testing/graph-tester/fixtures/portPool.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/fixtures/portPool.js +147 -0
- package/dist/esm/src/testing/graph-tester/fixtures/portPool.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/index.d.ts +84 -0
- package/dist/esm/src/testing/graph-tester/index.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/index.js +77 -0
- package/dist/esm/src/testing/graph-tester/index.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/AccessibilityMode.d.ts +40 -0
- package/dist/esm/src/testing/graph-tester/modes/AccessibilityMode.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/AccessibilityMode.js +193 -0
- package/dist/esm/src/testing/graph-tester/modes/AccessibilityMode.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/PerformanceMode.d.ts +42 -0
- package/dist/esm/src/testing/graph-tester/modes/PerformanceMode.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/PerformanceMode.js +131 -0
- package/dist/esm/src/testing/graph-tester/modes/PerformanceMode.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/SEOMode.d.ts +39 -0
- package/dist/esm/src/testing/graph-tester/modes/SEOMode.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/SEOMode.js +227 -0
- package/dist/esm/src/testing/graph-tester/modes/SEOMode.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/VisualRegressionMode.d.ts +83 -0
- package/dist/esm/src/testing/graph-tester/modes/VisualRegressionMode.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/VisualRegressionMode.js +162 -0
- package/dist/esm/src/testing/graph-tester/modes/VisualRegressionMode.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/index.d.ts +14 -0
- package/dist/esm/src/testing/graph-tester/modes/index.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/index.js +10 -0
- package/dist/esm/src/testing/graph-tester/modes/index.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/HTMLReporter.d.ts +38 -0
- package/dist/esm/src/testing/graph-tester/reporters/HTMLReporter.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/HTMLReporter.js +374 -0
- package/dist/esm/src/testing/graph-tester/reporters/HTMLReporter.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/JSONReporter.d.ts +50 -0
- package/dist/esm/src/testing/graph-tester/reporters/JSONReporter.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/JSONReporter.js +90 -0
- package/dist/esm/src/testing/graph-tester/reporters/JSONReporter.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/MarkdownReporter.d.ts +33 -0
- package/dist/esm/src/testing/graph-tester/reporters/MarkdownReporter.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/MarkdownReporter.js +132 -0
- package/dist/esm/src/testing/graph-tester/reporters/MarkdownReporter.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/UnifiedReporter.d.ts +30 -0
- package/dist/esm/src/testing/graph-tester/reporters/UnifiedReporter.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/UnifiedReporter.js +81 -0
- package/dist/esm/src/testing/graph-tester/reporters/UnifiedReporter.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/index.d.ts +14 -0
- package/dist/esm/src/testing/graph-tester/reporters/index.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/index.js +10 -0
- package/dist/esm/src/testing/graph-tester/reporters/index.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.d.ts +33 -0
- package/dist/esm/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.js +43 -0
- package/dist/esm/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.d.ts +70 -0
- package/dist/esm/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.js +547 -0
- package/dist/esm/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/ScreenshotAnnotator.d.ts +83 -0
- package/dist/esm/src/testing/graph-tester/screenshot/ScreenshotAnnotator.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/ScreenshotAnnotator.js +339 -0
- package/dist/esm/src/testing/graph-tester/screenshot/ScreenshotAnnotator.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/index.d.ts +11 -0
- package/dist/esm/src/testing/graph-tester/screenshot/index.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/index.js +9 -0
- package/dist/esm/src/testing/graph-tester/screenshot/index.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/types.d.ts +331 -0
- package/dist/esm/src/testing/graph-tester/screenshot/types.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/types.js +10 -0
- package/dist/esm/src/testing/graph-tester/screenshot/types.js.map +1 -0
- package/dist/esm/src/testing/selectors.d.ts +1 -1
- package/dist/esm/src/testing/selectors.js +1 -1
- package/dist/esm/src/types/ComponentState.d.ts +0 -4
- package/dist/esm/src/types/ComponentState.d.ts.map +1 -1
- package/dist/esm/src/types/ComponentState.js.map +1 -1
- package/package.json +22 -8
- package/dist/cjs/src/adapters/native/NativeAdapter.js +0 -268
- package/dist/cjs/src/adapters/native/NativeAdapter.js.map +0 -1
- package/dist/cjs/src/adapters/native/index.js +0 -10
- package/dist/cjs/src/adapters/native/index.js.map +0 -1
- package/dist/cjs/src/ui/react/chat/ChatBubble.js +0 -221
- package/dist/cjs/src/ui/react/chat/ChatBubble.js.map +0 -1
- package/dist/esm/src/adapters/native/NativeAdapter.d.ts +0 -47
- package/dist/esm/src/adapters/native/NativeAdapter.d.ts.map +0 -1
- package/dist/esm/src/adapters/native/NativeAdapter.js +0 -230
- package/dist/esm/src/adapters/native/NativeAdapter.js.map +0 -1
- package/dist/esm/src/adapters/native/index.d.ts +0 -6
- package/dist/esm/src/adapters/native/index.d.ts.map +0 -1
- package/dist/esm/src/adapters/native/index.js +0 -5
- package/dist/esm/src/adapters/native/index.js.map +0 -1
- package/dist/esm/src/ui/react/chat/ChatBubble.d.ts +0 -27
- package/dist/esm/src/ui/react/chat/ChatBubble.d.ts.map +0 -1
- package/dist/esm/src/ui/react/chat/ChatBubble.js +0 -184
- package/dist/esm/src/ui/react/chat/ChatBubble.js.map +0 -1
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Markdown reporter (stub - to be implemented in Phase 2).
|
|
4
|
+
*
|
|
5
|
+
* Will generate GitHub-friendly markdown reports.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.MarkdownReporter = void 0;
|
|
44
|
+
/**
|
|
45
|
+
* Markdown reporter (stub).
|
|
46
|
+
*/
|
|
47
|
+
class MarkdownReporter {
|
|
48
|
+
constructor(config) {
|
|
49
|
+
this.name = 'Markdown Reporter';
|
|
50
|
+
this.config = config;
|
|
51
|
+
}
|
|
52
|
+
async generate(results) {
|
|
53
|
+
const markdown = this.generateMarkdown(results);
|
|
54
|
+
const outputPath = `${this.config.outputDir}/${this.config.filename || 'TEST_RESULTS.md'}`;
|
|
55
|
+
await this.ensureDirectory(this.config.outputDir);
|
|
56
|
+
await this.writeFile(outputPath, markdown);
|
|
57
|
+
console.log(`📝 Markdown report generated: ${outputPath}`);
|
|
58
|
+
}
|
|
59
|
+
generateMarkdown(results) {
|
|
60
|
+
const sections = [];
|
|
61
|
+
// Header
|
|
62
|
+
sections.push('# Graph-Based Testing Report\n');
|
|
63
|
+
sections.push(`> Generated on ${new Date().toLocaleString()}\n`);
|
|
64
|
+
// Summary
|
|
65
|
+
sections.push('## Summary\n');
|
|
66
|
+
sections.push('| Metric | Value |');
|
|
67
|
+
sections.push('|--------|-------|');
|
|
68
|
+
sections.push(`| Routes Tested | ${results.routeCount} |`);
|
|
69
|
+
sections.push(`| Total Tests | ${results.testCount} |`);
|
|
70
|
+
sections.push(`| Passed | ${results.passedCount} ✅ |`);
|
|
71
|
+
sections.push(`| Failed | ${results.failedCount} ❌ |`);
|
|
72
|
+
sections.push(`| Pass Rate | ${results.passRate}% |`);
|
|
73
|
+
sections.push(`| Total Duration | ${(results.totalDuration / 1000).toFixed(2)}s |`);
|
|
74
|
+
sections.push('');
|
|
75
|
+
// Status badge
|
|
76
|
+
const status = results.passRate === 100 ? '✅ All tests passed' : `⚠️ ${results.failedCount} test(s) failed`;
|
|
77
|
+
sections.push(`**Status:** ${status}\n`);
|
|
78
|
+
// Results by mode
|
|
79
|
+
sections.push('## Results by Test Mode\n');
|
|
80
|
+
for (const [mode, modeResults] of results.resultsByMode) {
|
|
81
|
+
const passed = modeResults.filter((r) => r.passed).length;
|
|
82
|
+
const failed = modeResults.filter((r) => !r.passed).length;
|
|
83
|
+
const icon = this.getModeIcon(mode);
|
|
84
|
+
sections.push(`### ${icon} ${mode.toUpperCase()}\n`);
|
|
85
|
+
sections.push(`- **Passed:** ${passed} ✅`);
|
|
86
|
+
sections.push(`- **Failed:** ${failed} ❌`);
|
|
87
|
+
sections.push(`- **Total:** ${modeResults.length}`);
|
|
88
|
+
sections.push('');
|
|
89
|
+
}
|
|
90
|
+
// Results by route
|
|
91
|
+
sections.push('## Test Results by Route\n');
|
|
92
|
+
for (const [route, routeResults] of results.resultsByRoute) {
|
|
93
|
+
sections.push(`### \`${route}\`\n`);
|
|
94
|
+
sections.push('| Mode | Status | Duration | Errors |');
|
|
95
|
+
sections.push('|------|--------|----------|--------|');
|
|
96
|
+
for (const result of routeResults) {
|
|
97
|
+
const status = result.passed ? '✅ PASS' : '❌ FAIL';
|
|
98
|
+
const errors = result.errors.length > 0 ? result.errors.length : '-';
|
|
99
|
+
sections.push(`| ${result.mode} | ${status} | ${result.duration}ms | ${errors} |`);
|
|
100
|
+
}
|
|
101
|
+
// Show errors if any
|
|
102
|
+
const failedResults = routeResults.filter((r) => !r.passed);
|
|
103
|
+
if (failedResults.length > 0) {
|
|
104
|
+
sections.push('\n**Errors:**\n');
|
|
105
|
+
for (const result of failedResults) {
|
|
106
|
+
if (result.errors.length > 0) {
|
|
107
|
+
sections.push(`<details>`);
|
|
108
|
+
sections.push(`<summary><strong>${result.mode}</strong> - ${result.errors.length} error(s)</summary>\n`);
|
|
109
|
+
sections.push('```');
|
|
110
|
+
result.errors.forEach((err) => sections.push(typeof err === 'string' ? err : err.message));
|
|
111
|
+
sections.push('```');
|
|
112
|
+
sections.push('</details>\n');
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
sections.push('');
|
|
117
|
+
}
|
|
118
|
+
// Detailed mode breakdown
|
|
119
|
+
sections.push('## Detailed Mode Analysis\n');
|
|
120
|
+
for (const [mode, modeResults] of results.resultsByMode) {
|
|
121
|
+
const icon = this.getModeIcon(mode);
|
|
122
|
+
sections.push(`### ${icon} ${mode.toUpperCase()} Mode\n`);
|
|
123
|
+
const passed = modeResults.filter((r) => r.passed).length;
|
|
124
|
+
const failed = modeResults.filter((r) => !r.passed).length;
|
|
125
|
+
const avgDuration = modeResults.reduce((sum, r) => sum + r.duration, 0) / modeResults.length;
|
|
126
|
+
sections.push(`**Performance:**`);
|
|
127
|
+
sections.push(`- Average Duration: ${avgDuration.toFixed(2)}ms`);
|
|
128
|
+
sections.push(`- Success Rate: ${((passed / modeResults.length) * 100).toFixed(1)}%`);
|
|
129
|
+
sections.push('');
|
|
130
|
+
// Show failed routes for this mode
|
|
131
|
+
const failures = modeResults.filter((r) => !r.passed);
|
|
132
|
+
if (failures.length > 0) {
|
|
133
|
+
sections.push('**Failed Routes:**\n');
|
|
134
|
+
for (const result of failures) {
|
|
135
|
+
sections.push(`- \`${result.route || 'unknown'}\``);
|
|
136
|
+
if (this.config.includeErrorStacks && result.errors.length > 0) {
|
|
137
|
+
sections.push(' ```');
|
|
138
|
+
result.errors.forEach((err) => sections.push(` ${typeof err === 'string' ? err : err.message}`));
|
|
139
|
+
sections.push(' ```');
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
sections.push('');
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// Footer
|
|
146
|
+
sections.push('---\n');
|
|
147
|
+
sections.push('_Generated by Supernal Interface Graph-Based Testing Framework_');
|
|
148
|
+
return sections.join('\n');
|
|
149
|
+
}
|
|
150
|
+
getModeIcon(mode) {
|
|
151
|
+
const icons = {
|
|
152
|
+
visual: '👁️',
|
|
153
|
+
performance: '⚡',
|
|
154
|
+
accessibility: '♿',
|
|
155
|
+
seo: '🔍',
|
|
156
|
+
};
|
|
157
|
+
return icons[mode] || '📊';
|
|
158
|
+
}
|
|
159
|
+
async ensureDirectory(dir) {
|
|
160
|
+
const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
|
|
161
|
+
await fs.mkdir(dir, { recursive: true });
|
|
162
|
+
}
|
|
163
|
+
async writeFile(path, content) {
|
|
164
|
+
const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
|
|
165
|
+
await fs.writeFile(path, content, 'utf-8');
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
exports.MarkdownReporter = MarkdownReporter;
|
|
169
|
+
//# sourceMappingURL=MarkdownReporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownReporter.js","sourceRoot":"","sources":["../../../../../../src/testing/graph-tester/reporters/MarkdownReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Unified reporter - orchestrates multiple reporters and correlates results across modes.
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.UnifiedReporter = void 0;
|
|
42
|
+
const JSONReporter_1 = require("./JSONReporter");
|
|
43
|
+
const HTMLReporter_1 = require("./HTMLReporter");
|
|
44
|
+
const MarkdownReporter_1 = require("./MarkdownReporter");
|
|
45
|
+
/**
|
|
46
|
+
* Unified reporter (stub).
|
|
47
|
+
*/
|
|
48
|
+
class UnifiedReporter {
|
|
49
|
+
constructor(config) {
|
|
50
|
+
this.name = 'Unified Reporter';
|
|
51
|
+
this.config = config;
|
|
52
|
+
}
|
|
53
|
+
async generate(results) {
|
|
54
|
+
console.log(`\n📊 Generating unified reports in ${this.config.formats.length} format(s)...\n`);
|
|
55
|
+
const reporters = [];
|
|
56
|
+
// Create reporters based on requested formats
|
|
57
|
+
if (this.config.formats.includes('json')) {
|
|
58
|
+
reporters.push(new JSONReporter_1.JSONReporter({
|
|
59
|
+
outputDir: this.config.outputDir,
|
|
60
|
+
filename: 'results.json',
|
|
61
|
+
pretty: true,
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
if (this.config.formats.includes('html')) {
|
|
65
|
+
reporters.push(new HTMLReporter_1.HTMLReporter({
|
|
66
|
+
outputDir: this.config.outputDir,
|
|
67
|
+
filename: 'index.html',
|
|
68
|
+
includeCharts: true,
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
if (this.config.formats.includes('markdown')) {
|
|
72
|
+
reporters.push(new MarkdownReporter_1.MarkdownReporter({
|
|
73
|
+
outputDir: this.config.outputDir,
|
|
74
|
+
filename: 'TEST_RESULTS.md',
|
|
75
|
+
includeErrorStacks: this.config.includeDetailedLogs,
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
if (this.config.formats.includes('csv')) {
|
|
79
|
+
reporters.push({
|
|
80
|
+
name: 'CSV Reporter',
|
|
81
|
+
generate: async (results) => {
|
|
82
|
+
await this.generateCSV(results);
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
// Generate all reports in parallel
|
|
87
|
+
await Promise.all(reporters.map((reporter) => reporter.generate(results)));
|
|
88
|
+
console.log(`✅ Unified report generation complete\n`);
|
|
89
|
+
}
|
|
90
|
+
async generateCSV(results) {
|
|
91
|
+
const rows = [];
|
|
92
|
+
// CSV header
|
|
93
|
+
rows.push('Route,Mode,Status,Duration (ms),Errors');
|
|
94
|
+
// CSV data
|
|
95
|
+
for (const [route, routeResults] of results.resultsByRoute) {
|
|
96
|
+
for (const result of routeResults) {
|
|
97
|
+
const status = result.passed ? 'PASS' : 'FAIL';
|
|
98
|
+
const errors = result.errors.length > 0 ? `"${result.errors.join('; ')}"` : '';
|
|
99
|
+
rows.push(`"${route}",${result.mode},${status},${result.duration},${errors}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const csv = rows.join('\n');
|
|
103
|
+
const outputPath = `${this.config.outputDir}/results.csv`;
|
|
104
|
+
await this.ensureDirectory(this.config.outputDir);
|
|
105
|
+
await this.writeFile(outputPath, csv);
|
|
106
|
+
console.log(`📊 CSV report generated: ${outputPath}`);
|
|
107
|
+
}
|
|
108
|
+
async ensureDirectory(dir) {
|
|
109
|
+
const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
|
|
110
|
+
await fs.mkdir(dir, { recursive: true });
|
|
111
|
+
}
|
|
112
|
+
async writeFile(path, content) {
|
|
113
|
+
const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
|
|
114
|
+
await fs.writeFile(path, content, 'utf-8');
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.UnifiedReporter = UnifiedReporter;
|
|
118
|
+
//# sourceMappingURL=UnifiedReporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnifiedReporter.js","sourceRoot":"","sources":["../../../../../../src/testing/graph-tester/reporters/UnifiedReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Reporters exports.
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.MarkdownReporter = exports.HTMLReporter = exports.JSONReporter = exports.UnifiedReporter = void 0;
|
|
9
|
+
var UnifiedReporter_1 = require("./UnifiedReporter");
|
|
10
|
+
Object.defineProperty(exports, "UnifiedReporter", { enumerable: true, get: function () { return UnifiedReporter_1.UnifiedReporter; } });
|
|
11
|
+
var JSONReporter_1 = require("./JSONReporter");
|
|
12
|
+
Object.defineProperty(exports, "JSONReporter", { enumerable: true, get: function () { return JSONReporter_1.JSONReporter; } });
|
|
13
|
+
var HTMLReporter_1 = require("./HTMLReporter");
|
|
14
|
+
Object.defineProperty(exports, "HTMLReporter", { enumerable: true, get: function () { return HTMLReporter_1.HTMLReporter; } });
|
|
15
|
+
var MarkdownReporter_1 = require("./MarkdownReporter");
|
|
16
|
+
Object.defineProperty(exports, "MarkdownReporter", { enumerable: true, get: function () { return MarkdownReporter_1.MarkdownReporter; } });
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/testing/graph-tester/reporters/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AAGxB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAGrB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAGrB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Canvas annotation renderer (stub - to be implemented in Phase 3).
|
|
4
|
+
*
|
|
5
|
+
* Will render bounding boxes directly on screenshot canvas.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.CanvasAnnotationRenderer = void 0;
|
|
11
|
+
/**
|
|
12
|
+
* Canvas annotation renderer (stub).
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const renderer = new CanvasAnnotationRenderer({
|
|
17
|
+
* drawLabels: true,
|
|
18
|
+
* outputPath: './screenshots/dashboard-annotated.png'
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* const result = await renderer.render(annotatedScreenshot);
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
class CanvasAnnotationRenderer {
|
|
25
|
+
constructor(config) {
|
|
26
|
+
this.config = {
|
|
27
|
+
drawLabels: true,
|
|
28
|
+
labelFontSize: 12,
|
|
29
|
+
boundingBoxColor: '#00ff00',
|
|
30
|
+
boundingBoxWidth: 2,
|
|
31
|
+
...config,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Render annotated screenshot with canvas overlay.
|
|
36
|
+
*
|
|
37
|
+
* @param screenshot - Annotated screenshot
|
|
38
|
+
* @returns Render result
|
|
39
|
+
*/
|
|
40
|
+
async render(screenshot) {
|
|
41
|
+
// TODO: Implement in Phase 3
|
|
42
|
+
// Will use canvas/sharp to draw bounding boxes on screenshot
|
|
43
|
+
throw new Error('CanvasAnnotationRenderer not yet implemented (Phase 3)');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.CanvasAnnotationRenderer = CanvasAnnotationRenderer;
|
|
47
|
+
//# sourceMappingURL=CanvasAnnotationRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanvasAnnotationRenderer.js","sourceRoot":"","sources":["../../../../../../src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAQH;;;;;;;;;;;;GAYG;AACH,MAAa,wBAAwB;IAGnC,YAAY,MAA4B;QACtC,IAAI,CAAC,MAAM,GAAG;YACZ,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,EAAE;YACjB,gBAAgB,EAAE,SAAS;YAC3B,gBAAgB,EAAE,CAAC;YACnB,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,UAA+B;QAC1C,6BAA6B;QAC7B,6DAA6D;QAC7D,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;CACF;AAxBD,4DAwBC"}
|