@vee-stack/delta-cli 2.0.1
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/analyzer/commands/analyze.d.ts +14 -0
- package/dist/analyzer/commands/analyze.d.ts.map +1 -0
- package/dist/analyzer/commands/analyze.js +260 -0
- package/dist/analyzer/commands/analyze.js.map +1 -0
- package/dist/analyzer/commands/config.d.ts +12 -0
- package/dist/analyzer/commands/config.d.ts.map +1 -0
- package/dist/analyzer/commands/config.js +83 -0
- package/dist/analyzer/commands/config.js.map +1 -0
- package/dist/analyzer/commands/report.d.ts +11 -0
- package/dist/analyzer/commands/report.d.ts.map +1 -0
- package/dist/analyzer/commands/report.js +38 -0
- package/dist/analyzer/commands/report.js.map +1 -0
- package/dist/analyzer/generators/report.generator.d.ts +43 -0
- package/dist/analyzer/generators/report.generator.d.ts.map +1 -0
- package/dist/analyzer/generators/report.generator.js +123 -0
- package/dist/analyzer/generators/report.generator.js.map +1 -0
- package/dist/analyzer/index.d.ts +8 -0
- package/dist/analyzer/index.d.ts.map +1 -0
- package/dist/analyzer/index.js +44 -0
- package/dist/analyzer/index.js.map +1 -0
- package/dist/analyzer/scanners/project.scanner.d.ts +29 -0
- package/dist/analyzer/scanners/project.scanner.d.ts.map +1 -0
- package/dist/analyzer/scanners/project.scanner.js +92 -0
- package/dist/analyzer/scanners/project.scanner.js.map +1 -0
- package/dist/analyzer/validators/contracts.validator.d.ts +27 -0
- package/dist/analyzer/validators/contracts.validator.d.ts.map +1 -0
- package/dist/analyzer/validators/contracts.validator.js +42 -0
- package/dist/analyzer/validators/contracts.validator.js.map +1 -0
- package/dist/analyzer/validators/maintainability.validator.d.ts +27 -0
- package/dist/analyzer/validators/maintainability.validator.d.ts.map +1 -0
- package/dist/analyzer/validators/maintainability.validator.js +40 -0
- package/dist/analyzer/validators/maintainability.validator.js.map +1 -0
- package/dist/analyzer/validators/observability.validator.d.ts +27 -0
- package/dist/analyzer/validators/observability.validator.d.ts.map +1 -0
- package/dist/analyzer/validators/observability.validator.js +39 -0
- package/dist/analyzer/validators/observability.validator.js.map +1 -0
- package/dist/analyzer/validators/performance.validator.d.ts +27 -0
- package/dist/analyzer/validators/performance.validator.d.ts.map +1 -0
- package/dist/analyzer/validators/performance.validator.js +42 -0
- package/dist/analyzer/validators/performance.validator.js.map +1 -0
- package/dist/analyzer/validators/security.validator.d.ts +27 -0
- package/dist/analyzer/validators/security.validator.d.ts.map +1 -0
- package/dist/analyzer/validators/security.validator.js +66 -0
- package/dist/analyzer/validators/security.validator.js.map +1 -0
- package/dist/analyzer/validators/soc.validator.d.ts +27 -0
- package/dist/analyzer/validators/soc.validator.d.ts.map +1 -0
- package/dist/analyzer/validators/soc.validator.js +75 -0
- package/dist/analyzer/validators/soc.validator.js.map +1 -0
- package/dist/apps/cli/src/analyzer/commands/analyze.d.ts +14 -0
- package/dist/apps/cli/src/analyzer/commands/analyze.d.ts.map +1 -0
- package/dist/apps/cli/src/analyzer/commands/analyze.js +256 -0
- package/dist/apps/cli/src/analyzer/commands/analyze.js.map +1 -0
- package/dist/apps/cli/src/analyzer/commands/config.d.ts +12 -0
- package/dist/apps/cli/src/analyzer/commands/config.d.ts.map +1 -0
- package/dist/apps/cli/src/analyzer/commands/config.js +83 -0
- package/dist/apps/cli/src/analyzer/commands/config.js.map +1 -0
- package/dist/apps/cli/src/analyzer/commands/report.d.ts +11 -0
- package/dist/apps/cli/src/analyzer/commands/report.d.ts.map +1 -0
- package/dist/apps/cli/src/analyzer/commands/report.js +38 -0
- package/dist/apps/cli/src/analyzer/commands/report.js.map +1 -0
- package/dist/apps/cli/src/analyzer/generators/report.generator.d.ts +43 -0
- package/dist/apps/cli/src/analyzer/generators/report.generator.d.ts.map +1 -0
- package/dist/apps/cli/src/analyzer/generators/report.generator.js +123 -0
- package/dist/apps/cli/src/analyzer/generators/report.generator.js.map +1 -0
- package/dist/apps/cli/src/analyzer/index.d.ts +8 -0
- package/dist/apps/cli/src/analyzer/index.d.ts.map +1 -0
- package/dist/apps/cli/src/analyzer/index.js +44 -0
- package/dist/apps/cli/src/analyzer/index.js.map +1 -0
- package/dist/apps/cli/src/analyzer/scanners/project.scanner.d.ts +29 -0
- package/dist/apps/cli/src/analyzer/scanners/project.scanner.d.ts.map +1 -0
- package/dist/apps/cli/src/analyzer/scanners/project.scanner.js +92 -0
- package/dist/apps/cli/src/analyzer/scanners/project.scanner.js.map +1 -0
- package/dist/apps/cli/src/analyzer/validators/contracts.validator.d.ts +27 -0
- package/dist/apps/cli/src/analyzer/validators/contracts.validator.d.ts.map +1 -0
- package/dist/apps/cli/src/analyzer/validators/contracts.validator.js +42 -0
- package/dist/apps/cli/src/analyzer/validators/contracts.validator.js.map +1 -0
- package/dist/apps/cli/src/analyzer/validators/maintainability.validator.d.ts +27 -0
- package/dist/apps/cli/src/analyzer/validators/maintainability.validator.d.ts.map +1 -0
- package/dist/apps/cli/src/analyzer/validators/maintainability.validator.js +40 -0
- package/dist/apps/cli/src/analyzer/validators/maintainability.validator.js.map +1 -0
- package/dist/apps/cli/src/analyzer/validators/observability.validator.d.ts +27 -0
- package/dist/apps/cli/src/analyzer/validators/observability.validator.d.ts.map +1 -0
- package/dist/apps/cli/src/analyzer/validators/observability.validator.js +39 -0
- package/dist/apps/cli/src/analyzer/validators/observability.validator.js.map +1 -0
- package/dist/apps/cli/src/analyzer/validators/performance.validator.d.ts +27 -0
- package/dist/apps/cli/src/analyzer/validators/performance.validator.d.ts.map +1 -0
- package/dist/apps/cli/src/analyzer/validators/performance.validator.js +42 -0
- package/dist/apps/cli/src/analyzer/validators/performance.validator.js.map +1 -0
- package/dist/apps/cli/src/analyzer/validators/security.validator.d.ts +27 -0
- package/dist/apps/cli/src/analyzer/validators/security.validator.d.ts.map +1 -0
- package/dist/apps/cli/src/analyzer/validators/security.validator.js +66 -0
- package/dist/apps/cli/src/analyzer/validators/security.validator.js.map +1 -0
- package/dist/apps/cli/src/analyzer/validators/soc.validator.d.ts +27 -0
- package/dist/apps/cli/src/analyzer/validators/soc.validator.d.ts.map +1 -0
- package/dist/apps/cli/src/analyzer/validators/soc.validator.js +75 -0
- package/dist/apps/cli/src/analyzer/validators/soc.validator.js.map +1 -0
- package/dist/apps/cli/src/auth/secure-auth.d.ts +29 -0
- package/dist/apps/cli/src/auth/secure-auth.d.ts.map +1 -0
- package/dist/apps/cli/src/auth/secure-auth.js +312 -0
- package/dist/apps/cli/src/auth/secure-auth.js.map +1 -0
- package/dist/apps/cli/src/commands/analyze.d.ts +12 -0
- package/dist/apps/cli/src/commands/analyze.d.ts.map +1 -0
- package/dist/apps/cli/src/commands/analyze.js +286 -0
- package/dist/apps/cli/src/commands/analyze.js.map +1 -0
- package/dist/apps/cli/src/commands/auth-new.d.ts +6 -0
- package/dist/apps/cli/src/commands/auth-new.d.ts.map +1 -0
- package/dist/apps/cli/src/commands/auth-new.js +37 -0
- package/dist/apps/cli/src/commands/auth-new.js.map +1 -0
- package/dist/apps/cli/src/commands/auth.d.ts +18 -0
- package/dist/apps/cli/src/commands/auth.d.ts.map +1 -0
- package/dist/apps/cli/src/commands/auth.js +122 -0
- package/dist/apps/cli/src/commands/auth.js.map +1 -0
- package/dist/apps/cli/src/commands/config.d.ts +8 -0
- package/dist/apps/cli/src/commands/config.d.ts.map +1 -0
- package/dist/apps/cli/src/commands/config.js +49 -0
- package/dist/apps/cli/src/commands/config.js.map +1 -0
- package/dist/apps/cli/src/commands/deploy.d.ts +5 -0
- package/dist/apps/cli/src/commands/deploy.d.ts.map +1 -0
- package/dist/apps/cli/src/commands/deploy.js +6 -0
- package/dist/apps/cli/src/commands/deploy.js.map +1 -0
- package/dist/apps/cli/src/commands/init.d.ts +7 -0
- package/dist/apps/cli/src/commands/init.d.ts.map +1 -0
- package/dist/apps/cli/src/commands/init.js +47 -0
- package/dist/apps/cli/src/commands/init.js.map +1 -0
- package/dist/apps/cli/src/commands/logout.d.ts +2 -0
- package/dist/apps/cli/src/commands/logout.d.ts.map +1 -0
- package/dist/apps/cli/src/commands/logout.js +23 -0
- package/dist/apps/cli/src/commands/logout.js.map +1 -0
- package/dist/apps/cli/src/commands/plugins.d.ts +7 -0
- package/dist/apps/cli/src/commands/plugins.d.ts.map +1 -0
- package/dist/apps/cli/src/commands/plugins.js +21 -0
- package/dist/apps/cli/src/commands/plugins.js.map +1 -0
- package/dist/apps/cli/src/commands/status.d.ts +5 -0
- package/dist/apps/cli/src/commands/status.d.ts.map +1 -0
- package/dist/apps/cli/src/commands/status.js +80 -0
- package/dist/apps/cli/src/commands/status.js.map +1 -0
- package/dist/apps/cli/src/commands/sync.d.ts +5 -0
- package/dist/apps/cli/src/commands/sync.d.ts.map +1 -0
- package/dist/apps/cli/src/commands/sync.js +6 -0
- package/dist/apps/cli/src/commands/sync.js.map +1 -0
- package/dist/apps/cli/src/commands/whoami.d.ts +4 -0
- package/dist/apps/cli/src/commands/whoami.d.ts.map +1 -0
- package/dist/apps/cli/src/commands/whoami.js +115 -0
- package/dist/apps/cli/src/commands/whoami.js.map +1 -0
- package/dist/apps/cli/src/components/Dashboard.d.ts +8 -0
- package/dist/apps/cli/src/components/Dashboard.d.ts.map +1 -0
- package/dist/apps/cli/src/components/Dashboard.js +168 -0
- package/dist/apps/cli/src/components/Dashboard.js.map +1 -0
- package/dist/apps/cli/src/components/DeltaApp.d.ts +13 -0
- package/dist/apps/cli/src/components/DeltaApp.d.ts.map +1 -0
- package/dist/apps/cli/src/components/DeltaApp.js +56 -0
- package/dist/apps/cli/src/components/DeltaApp.js.map +1 -0
- package/dist/apps/cli/src/components/UnifiedManager.d.ts +10 -0
- package/dist/apps/cli/src/components/UnifiedManager.d.ts.map +1 -0
- package/dist/apps/cli/src/components/UnifiedManager.js +324 -0
- package/dist/apps/cli/src/components/UnifiedManager.js.map +1 -0
- package/dist/apps/cli/src/core/audit.d.ts +60 -0
- package/dist/apps/cli/src/core/audit.d.ts.map +1 -0
- package/dist/apps/cli/src/core/audit.js +184 -0
- package/dist/apps/cli/src/core/audit.js.map +1 -0
- package/dist/apps/cli/src/core/completion.d.ts +79 -0
- package/dist/apps/cli/src/core/completion.d.ts.map +1 -0
- package/dist/apps/cli/src/core/completion.js +294 -0
- package/dist/apps/cli/src/core/completion.js.map +1 -0
- package/dist/apps/cli/src/core/contracts.d.ts +127 -0
- package/dist/apps/cli/src/core/contracts.d.ts.map +1 -0
- package/dist/apps/cli/src/core/contracts.js +6 -0
- package/dist/apps/cli/src/core/contracts.js.map +1 -0
- package/dist/apps/cli/src/core/engine.d.ts +26 -0
- package/dist/apps/cli/src/core/engine.d.ts.map +1 -0
- package/dist/apps/cli/src/core/engine.js +124 -0
- package/dist/apps/cli/src/core/engine.js.map +1 -0
- package/dist/apps/cli/src/core/exit-codes.d.ts +19 -0
- package/dist/apps/cli/src/core/exit-codes.d.ts.map +1 -0
- package/dist/apps/cli/src/core/exit-codes.js +71 -0
- package/dist/apps/cli/src/core/exit-codes.js.map +1 -0
- package/dist/apps/cli/src/core/hooks.d.ts +50 -0
- package/dist/apps/cli/src/core/hooks.d.ts.map +1 -0
- package/dist/apps/cli/src/core/hooks.js +181 -0
- package/dist/apps/cli/src/core/hooks.js.map +1 -0
- package/dist/apps/cli/src/core/index.d.ts +7 -0
- package/dist/apps/cli/src/core/index.d.ts.map +1 -0
- package/dist/apps/cli/src/core/index.js +7 -0
- package/dist/apps/cli/src/core/index.js.map +1 -0
- package/dist/apps/cli/src/core/policy.d.ts +24 -0
- package/dist/apps/cli/src/core/policy.d.ts.map +1 -0
- package/dist/apps/cli/src/core/policy.js +115 -0
- package/dist/apps/cli/src/core/policy.js.map +1 -0
- package/dist/apps/cli/src/core/profiles.d.ts +45 -0
- package/dist/apps/cli/src/core/profiles.d.ts.map +1 -0
- package/dist/apps/cli/src/core/profiles.js +161 -0
- package/dist/apps/cli/src/core/profiles.js.map +1 -0
- package/dist/apps/cli/src/core/wizard.d.ts +28 -0
- package/dist/apps/cli/src/core/wizard.d.ts.map +1 -0
- package/dist/apps/cli/src/core/wizard.js +203 -0
- package/dist/apps/cli/src/core/wizard.js.map +1 -0
- package/dist/apps/cli/src/index.d.ts +32 -0
- package/dist/apps/cli/src/index.d.ts.map +1 -0
- package/dist/apps/cli/src/index.js +636 -0
- package/dist/apps/cli/src/index.js.map +1 -0
- package/dist/apps/cli/src/interactive/index.d.ts +5 -0
- package/dist/apps/cli/src/interactive/index.d.ts.map +1 -0
- package/dist/apps/cli/src/interactive/index.js +11 -0
- package/dist/apps/cli/src/interactive/index.js.map +1 -0
- package/dist/apps/cli/src/plugins/GitStatusPlugin.d.ts +25 -0
- package/dist/apps/cli/src/plugins/GitStatusPlugin.d.ts.map +1 -0
- package/dist/apps/cli/src/plugins/GitStatusPlugin.js +99 -0
- package/dist/apps/cli/src/plugins/GitStatusPlugin.js.map +1 -0
- package/dist/apps/cli/src/providers/ai-provider.d.ts +21 -0
- package/dist/apps/cli/src/providers/ai-provider.d.ts.map +1 -0
- package/dist/apps/cli/src/providers/ai-provider.js +74 -0
- package/dist/apps/cli/src/providers/ai-provider.js.map +1 -0
- package/dist/apps/cli/src/providers/local-provider.d.ts +21 -0
- package/dist/apps/cli/src/providers/local-provider.d.ts.map +1 -0
- package/dist/apps/cli/src/providers/local-provider.js +302 -0
- package/dist/apps/cli/src/providers/local-provider.js.map +1 -0
- package/dist/apps/cli/src/providers/remote-provider.d.ts +15 -0
- package/dist/apps/cli/src/providers/remote-provider.d.ts.map +1 -0
- package/dist/apps/cli/src/providers/remote-provider.js +100 -0
- package/dist/apps/cli/src/providers/remote-provider.js.map +1 -0
- package/dist/apps/cli/src/types/api.d.ts +46 -0
- package/dist/apps/cli/src/types/api.d.ts.map +1 -0
- package/dist/apps/cli/src/types/api.js +3 -0
- package/dist/apps/cli/src/types/api.js.map +1 -0
- package/dist/apps/cli/src/ui.d.ts +52 -0
- package/dist/apps/cli/src/ui.d.ts.map +1 -0
- package/dist/apps/cli/src/ui.js +219 -0
- package/dist/apps/cli/src/ui.js.map +1 -0
- package/dist/apps/cli/src/welcome.d.ts +8 -0
- package/dist/apps/cli/src/welcome.d.ts.map +1 -0
- package/dist/apps/cli/src/welcome.js +81 -0
- package/dist/apps/cli/src/welcome.js.map +1 -0
- package/dist/auth/secure-auth.d.ts +31 -0
- package/dist/auth/secure-auth.d.ts.map +1 -0
- package/dist/auth/secure-auth.js +418 -0
- package/dist/auth/secure-auth.js.map +1 -0
- package/dist/commands/analyze.d.ts +12 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +363 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/auth-new.d.ts +6 -0
- package/dist/commands/auth-new.d.ts.map +1 -0
- package/dist/commands/auth-new.js +37 -0
- package/dist/commands/auth-new.js.map +1 -0
- package/dist/commands/auth.d.ts +17 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +133 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/config.d.ts +8 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +50 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/deploy.d.ts +5 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +6 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/init.d.ts +7 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +47 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/logout.d.ts +2 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +30 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/plugins.d.ts +7 -0
- package/dist/commands/plugins.d.ts.map +1 -0
- package/dist/commands/plugins.js +21 -0
- package/dist/commands/plugins.js.map +1 -0
- package/dist/commands/status.d.ts +5 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +82 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/sync.d.ts +5 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +6 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/whoami.d.ts +4 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +71 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/components/Dashboard.d.ts +8 -0
- package/dist/components/Dashboard.d.ts.map +1 -0
- package/dist/components/Dashboard.js +169 -0
- package/dist/components/Dashboard.js.map +1 -0
- package/dist/components/DeltaApp.d.ts +13 -0
- package/dist/components/DeltaApp.d.ts.map +1 -0
- package/dist/components/DeltaApp.js +57 -0
- package/dist/components/DeltaApp.js.map +1 -0
- package/dist/components/UnifiedManager.d.ts +10 -0
- package/dist/components/UnifiedManager.d.ts.map +1 -0
- package/dist/components/UnifiedManager.js +344 -0
- package/dist/components/UnifiedManager.js.map +1 -0
- package/dist/core/audit.d.ts +60 -0
- package/dist/core/audit.d.ts.map +1 -0
- package/dist/core/audit.js +184 -0
- package/dist/core/audit.js.map +1 -0
- package/dist/core/completion.d.ts +79 -0
- package/dist/core/completion.d.ts.map +1 -0
- package/dist/core/completion.js +294 -0
- package/dist/core/completion.js.map +1 -0
- package/dist/core/contracts.d.ts +127 -0
- package/dist/core/contracts.d.ts.map +1 -0
- package/dist/core/contracts.js +6 -0
- package/dist/core/contracts.js.map +1 -0
- package/dist/core/engine.d.ts +26 -0
- package/dist/core/engine.d.ts.map +1 -0
- package/dist/core/engine.js +124 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/core/exit-codes.d.ts +19 -0
- package/dist/core/exit-codes.d.ts.map +1 -0
- package/dist/core/exit-codes.js +71 -0
- package/dist/core/exit-codes.js.map +1 -0
- package/dist/core/hooks.d.ts +50 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js +181 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +7 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/policy.d.ts +24 -0
- package/dist/core/policy.d.ts.map +1 -0
- package/dist/core/policy.js +115 -0
- package/dist/core/policy.js.map +1 -0
- package/dist/core/profiles.d.ts +45 -0
- package/dist/core/profiles.d.ts.map +1 -0
- package/dist/core/profiles.js +161 -0
- package/dist/core/profiles.js.map +1 -0
- package/dist/core/wizard.d.ts +28 -0
- package/dist/core/wizard.d.ts.map +1 -0
- package/dist/core/wizard.js +203 -0
- package/dist/core/wizard.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +387 -0
- package/dist/index.js.map +1 -0
- package/dist/interactive/index.d.ts +5 -0
- package/dist/interactive/index.d.ts.map +1 -0
- package/dist/interactive/index.js +11 -0
- package/dist/interactive/index.js.map +1 -0
- package/dist/packages/domain/src/constitution/contracts/index.d.ts +35 -0
- package/dist/packages/domain/src/constitution/contracts/index.d.ts.map +1 -0
- package/dist/packages/domain/src/constitution/contracts/index.js +43 -0
- package/dist/packages/domain/src/constitution/contracts/index.js.map +1 -0
- package/dist/packages/domain/src/constitution/contracts/ts.rules.d.ts +176 -0
- package/dist/packages/domain/src/constitution/contracts/ts.rules.d.ts.map +1 -0
- package/dist/packages/domain/src/constitution/contracts/ts.rules.js +268 -0
- package/dist/packages/domain/src/constitution/contracts/ts.rules.js.map +1 -0
- package/dist/packages/domain/src/constitution/index.d.ts +151 -0
- package/dist/packages/domain/src/constitution/index.d.ts.map +1 -0
- package/dist/packages/domain/src/constitution/index.js +139 -0
- package/dist/packages/domain/src/constitution/index.js.map +1 -0
- package/dist/packages/domain/src/constitution/maintainability/index.d.ts +35 -0
- package/dist/packages/domain/src/constitution/maintainability/index.d.ts.map +1 -0
- package/dist/packages/domain/src/constitution/maintainability/index.js +43 -0
- package/dist/packages/domain/src/constitution/maintainability/index.js.map +1 -0
- package/dist/packages/domain/src/constitution/maintainability/ts.rules.d.ts +277 -0
- package/dist/packages/domain/src/constitution/maintainability/ts.rules.d.ts.map +1 -0
- package/dist/packages/domain/src/constitution/maintainability/ts.rules.js +344 -0
- package/dist/packages/domain/src/constitution/maintainability/ts.rules.js.map +1 -0
- package/dist/packages/domain/src/constitution/observability/index.d.ts +35 -0
- package/dist/packages/domain/src/constitution/observability/index.d.ts.map +1 -0
- package/dist/packages/domain/src/constitution/observability/index.js +43 -0
- package/dist/packages/domain/src/constitution/observability/index.js.map +1 -0
- package/dist/packages/domain/src/constitution/observability/ts.rules.d.ts +277 -0
- package/dist/packages/domain/src/constitution/observability/ts.rules.d.ts.map +1 -0
- package/dist/packages/domain/src/constitution/observability/ts.rules.js +307 -0
- package/dist/packages/domain/src/constitution/observability/ts.rules.js.map +1 -0
- package/dist/packages/domain/src/constitution/performance/index.d.ts +35 -0
- package/dist/packages/domain/src/constitution/performance/index.d.ts.map +1 -0
- package/dist/packages/domain/src/constitution/performance/index.js +43 -0
- package/dist/packages/domain/src/constitution/performance/index.js.map +1 -0
- package/dist/packages/domain/src/constitution/performance/ts.rules.d.ts +243 -0
- package/dist/packages/domain/src/constitution/performance/ts.rules.d.ts.map +1 -0
- package/dist/packages/domain/src/constitution/performance/ts.rules.js +325 -0
- package/dist/packages/domain/src/constitution/performance/ts.rules.js.map +1 -0
- package/dist/packages/domain/src/constitution/security/index.d.ts +35 -0
- package/dist/packages/domain/src/constitution/security/index.d.ts.map +1 -0
- package/dist/packages/domain/src/constitution/security/index.js +50 -0
- package/dist/packages/domain/src/constitution/security/index.js.map +1 -0
- package/dist/packages/domain/src/constitution/security/ts.rules.d.ts +213 -0
- package/dist/packages/domain/src/constitution/security/ts.rules.d.ts.map +1 -0
- package/dist/packages/domain/src/constitution/security/ts.rules.js +267 -0
- package/dist/packages/domain/src/constitution/security/ts.rules.js.map +1 -0
- package/dist/packages/domain/src/constitution/soc/index.d.ts +35 -0
- package/dist/packages/domain/src/constitution/soc/index.d.ts.map +1 -0
- package/dist/packages/domain/src/constitution/soc/index.js +43 -0
- package/dist/packages/domain/src/constitution/soc/index.js.map +1 -0
- package/dist/packages/domain/src/constitution/soc/ts.rules.d.ts +252 -0
- package/dist/packages/domain/src/constitution/soc/ts.rules.d.ts.map +1 -0
- package/dist/packages/domain/src/constitution/soc/ts.rules.js +360 -0
- package/dist/packages/domain/src/constitution/soc/ts.rules.js.map +1 -0
- package/dist/packages/domain/src/contracts/analysis.contract.d.ts +206 -0
- package/dist/packages/domain/src/contracts/analysis.contract.d.ts.map +1 -0
- package/dist/packages/domain/src/contracts/analysis.contract.js +18 -0
- package/dist/packages/domain/src/contracts/analysis.contract.js.map +1 -0
- package/dist/packages/domain/src/contracts/index.d.ts +7 -0
- package/dist/packages/domain/src/contracts/index.d.ts.map +1 -0
- package/dist/packages/domain/src/contracts/index.js +7 -0
- package/dist/packages/domain/src/contracts/index.js.map +1 -0
- package/dist/packages/domain/src/contracts/projects.contract.d.ts +328 -0
- package/dist/packages/domain/src/contracts/projects.contract.d.ts.map +1 -0
- package/dist/packages/domain/src/contracts/projects.contract.js +18 -0
- package/dist/packages/domain/src/contracts/projects.contract.js.map +1 -0
- package/dist/packages/domain/src/control/registry/rules.registry.d.ts +24 -0
- package/dist/packages/domain/src/control/registry/rules.registry.d.ts.map +1 -0
- package/dist/packages/domain/src/control/registry/rules.registry.js +29 -0
- package/dist/packages/domain/src/control/registry/rules.registry.js.map +1 -0
- package/dist/packages/domain/src/control/schemas/policies.d.ts +65 -0
- package/dist/packages/domain/src/control/schemas/policies.d.ts.map +1 -0
- package/dist/packages/domain/src/control/schemas/policies.js +6 -0
- package/dist/packages/domain/src/control/schemas/policies.js.map +1 -0
- package/dist/packages/domain/src/core/analysis/discovery.d.ts +63 -0
- package/dist/packages/domain/src/core/analysis/discovery.d.ts.map +1 -0
- package/dist/packages/domain/src/core/analysis/discovery.js +163 -0
- package/dist/packages/domain/src/core/analysis/discovery.js.map +1 -0
- package/dist/packages/domain/src/core/analysis/engine.contract.d.ts +83 -0
- package/dist/packages/domain/src/core/analysis/engine.contract.d.ts.map +1 -0
- package/dist/packages/domain/src/core/analysis/engine.contract.js +298 -0
- package/dist/packages/domain/src/core/analysis/engine.contract.js.map +1 -0
- package/dist/packages/domain/src/core/analysis/engine.d.ts +51 -0
- package/dist/packages/domain/src/core/analysis/engine.d.ts.map +1 -0
- package/dist/packages/domain/src/core/analysis/engine.js +77 -0
- package/dist/packages/domain/src/core/analysis/engine.js.map +1 -0
- package/dist/packages/domain/src/core/analysis/index.d.ts +11 -0
- package/dist/packages/domain/src/core/analysis/index.d.ts.map +1 -0
- package/dist/packages/domain/src/core/analysis/index.js +14 -0
- package/dist/packages/domain/src/core/analysis/index.js.map +1 -0
- package/dist/packages/domain/src/core/analysis/orchestrator.d.ts +85 -0
- package/dist/packages/domain/src/core/analysis/orchestrator.d.ts.map +1 -0
- package/dist/packages/domain/src/core/analysis/orchestrator.js +242 -0
- package/dist/packages/domain/src/core/analysis/orchestrator.js.map +1 -0
- package/dist/packages/domain/src/core/comparison/engine.d.ts +26 -0
- package/dist/packages/domain/src/core/comparison/engine.d.ts.map +1 -0
- package/dist/packages/domain/src/core/comparison/engine.js +29 -0
- package/dist/packages/domain/src/core/comparison/engine.js.map +1 -0
- package/dist/packages/domain/src/core/comparison/index.d.ts +5 -0
- package/dist/packages/domain/src/core/comparison/index.d.ts.map +1 -0
- package/dist/packages/domain/src/core/comparison/index.js +5 -0
- package/dist/packages/domain/src/core/comparison/index.js.map +1 -0
- package/dist/packages/domain/src/core/documentation/index.d.ts +5 -0
- package/dist/packages/domain/src/core/documentation/index.d.ts.map +1 -0
- package/dist/packages/domain/src/core/documentation/index.js +5 -0
- package/dist/packages/domain/src/core/documentation/index.js.map +1 -0
- package/dist/packages/domain/src/core/documentation/pipeline.d.ts +22 -0
- package/dist/packages/domain/src/core/documentation/pipeline.d.ts.map +1 -0
- package/dist/packages/domain/src/core/documentation/pipeline.js +41 -0
- package/dist/packages/domain/src/core/documentation/pipeline.js.map +1 -0
- package/dist/packages/domain/src/core/fs/adapter.d.ts +41 -0
- package/dist/packages/domain/src/core/fs/adapter.d.ts.map +1 -0
- package/dist/packages/domain/src/core/fs/adapter.js +111 -0
- package/dist/packages/domain/src/core/fs/adapter.js.map +1 -0
- package/dist/packages/domain/src/core/fs/index.d.ts +5 -0
- package/dist/packages/domain/src/core/fs/index.d.ts.map +1 -0
- package/dist/packages/domain/src/core/fs/index.js +5 -0
- package/dist/packages/domain/src/core/fs/index.js.map +1 -0
- package/dist/packages/domain/src/core/parser/unified-parser.d.ts +36 -0
- package/dist/packages/domain/src/core/parser/unified-parser.d.ts.map +1 -0
- package/dist/packages/domain/src/core/parser/unified-parser.js +166 -0
- package/dist/packages/domain/src/core/parser/unified-parser.js.map +1 -0
- package/dist/packages/domain/src/index.d.ts +31 -0
- package/dist/packages/domain/src/index.d.ts.map +1 -0
- package/dist/packages/domain/src/index.js +33 -0
- package/dist/packages/domain/src/index.js.map +1 -0
- package/dist/packages/domain/src/plugin/registry.d.ts +72 -0
- package/dist/packages/domain/src/plugin/registry.d.ts.map +1 -0
- package/dist/packages/domain/src/plugin/registry.js +195 -0
- package/dist/packages/domain/src/plugin/registry.js.map +1 -0
- package/dist/packages/domain/src/plugin/types.d.ts +172 -0
- package/dist/packages/domain/src/plugin/types.d.ts.map +1 -0
- package/dist/packages/domain/src/plugin/types.js +6 -0
- package/dist/packages/domain/src/plugin/types.js.map +1 -0
- package/dist/packages/domain/src/ports/analysis.engine.d.ts +33 -0
- package/dist/packages/domain/src/ports/analysis.engine.d.ts.map +1 -0
- package/dist/packages/domain/src/ports/analysis.engine.js +7 -0
- package/dist/packages/domain/src/ports/analysis.engine.js.map +1 -0
- package/dist/packages/domain/src/ports/audit.logger.d.ts +34 -0
- package/dist/packages/domain/src/ports/audit.logger.d.ts.map +1 -0
- package/dist/packages/domain/src/ports/audit.logger.js +7 -0
- package/dist/packages/domain/src/ports/audit.logger.js.map +1 -0
- package/dist/packages/domain/src/ports/project.repository.d.ts +39 -0
- package/dist/packages/domain/src/ports/project.repository.d.ts.map +1 -0
- package/dist/packages/domain/src/ports/project.repository.js +7 -0
- package/dist/packages/domain/src/ports/project.repository.js.map +1 -0
- package/dist/packages/domain/src/rules/index.d.ts +10 -0
- package/dist/packages/domain/src/rules/index.d.ts.map +1 -0
- package/dist/packages/domain/src/rules/index.js +134 -0
- package/dist/packages/domain/src/rules/index.js.map +1 -0
- package/dist/packages/domain/src/types/analysis.d.ts +81 -0
- package/dist/packages/domain/src/types/analysis.d.ts.map +1 -0
- package/dist/packages/domain/src/types/analysis.js +6 -0
- package/dist/packages/domain/src/types/analysis.js.map +1 -0
- package/dist/packages/domain/src/types/errors.d.ts +35 -0
- package/dist/packages/domain/src/types/errors.d.ts.map +1 -0
- package/dist/packages/domain/src/types/errors.js +53 -0
- package/dist/packages/domain/src/types/errors.js.map +1 -0
- package/dist/packages/domain/src/types/fs.d.ts +32 -0
- package/dist/packages/domain/src/types/fs.d.ts.map +1 -0
- package/dist/packages/domain/src/types/fs.js +6 -0
- package/dist/packages/domain/src/types/fs.js.map +1 -0
- package/dist/packages/domain/src/types/index.d.ts +7 -0
- package/dist/packages/domain/src/types/index.d.ts.map +1 -0
- package/dist/packages/domain/src/types/index.js +7 -0
- package/dist/packages/domain/src/types/index.js.map +1 -0
- package/dist/plugins/GitStatusPlugin.d.ts +25 -0
- package/dist/plugins/GitStatusPlugin.d.ts.map +1 -0
- package/dist/plugins/GitStatusPlugin.js +93 -0
- package/dist/plugins/GitStatusPlugin.js.map +1 -0
- package/dist/providers/ai-provider.d.ts +21 -0
- package/dist/providers/ai-provider.d.ts.map +1 -0
- package/dist/providers/ai-provider.js +74 -0
- package/dist/providers/ai-provider.js.map +1 -0
- package/dist/providers/local-provider.d.ts +21 -0
- package/dist/providers/local-provider.d.ts.map +1 -0
- package/dist/providers/local-provider.js +304 -0
- package/dist/providers/local-provider.js.map +1 -0
- package/dist/providers/remote-provider.d.ts +15 -0
- package/dist/providers/remote-provider.d.ts.map +1 -0
- package/dist/providers/remote-provider.js +100 -0
- package/dist/providers/remote-provider.js.map +1 -0
- package/dist/types/api.d.ts +46 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +3 -0
- package/dist/types/api.js.map +1 -0
- package/dist/ui.d.ts +52 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +219 -0
- package/dist/ui.js.map +1 -0
- package/dist/welcome.d.ts +8 -0
- package/dist/welcome.d.ts.map +1 -0
- package/dist/welcome.js +81 -0
- package/dist/welcome.js.map +1 -0
- package/package.json +97 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core Analysis Engine - Contract v1 Implementation
|
|
3
|
+
* @description Stateless pipeline implementing AnalysisEngine contract
|
|
4
|
+
* @implements AnalysisEngine from @/contracts/analysis.contract.js
|
|
5
|
+
* @module core/analysis
|
|
6
|
+
* @version 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
import { ANALYSIS_CONTRACT_VERSION, } from '../../contracts/analysis.contract.js';
|
|
9
|
+
import { rulesRegistry } from '../../control/registry/rules.registry.js';
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// ENGINE IMPLEMENTATION
|
|
12
|
+
// =============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Analysis Engine v1.0.0
|
|
15
|
+
* Implements AnalysisEngine contract
|
|
16
|
+
*/
|
|
17
|
+
export class AnalysisEngineV1 {
|
|
18
|
+
/** Engine version */
|
|
19
|
+
version = '1.0.0';
|
|
20
|
+
/** Supported languages */
|
|
21
|
+
supportedLanguages = [
|
|
22
|
+
'typescript',
|
|
23
|
+
'javascript',
|
|
24
|
+
'python',
|
|
25
|
+
'java',
|
|
26
|
+
'go',
|
|
27
|
+
'rust',
|
|
28
|
+
'c',
|
|
29
|
+
'cpp',
|
|
30
|
+
'csharp',
|
|
31
|
+
'php',
|
|
32
|
+
'ruby',
|
|
33
|
+
'swift',
|
|
34
|
+
'kotlin',
|
|
35
|
+
'sql',
|
|
36
|
+
];
|
|
37
|
+
/**
|
|
38
|
+
* Analyze a complete project
|
|
39
|
+
*/
|
|
40
|
+
async analyzeProject(input) {
|
|
41
|
+
const startTime = Date.now();
|
|
42
|
+
const fileResults = [];
|
|
43
|
+
for (const file of input.files) {
|
|
44
|
+
const result = await this.analyzeFile(file, input.config);
|
|
45
|
+
fileResults.push(result);
|
|
46
|
+
}
|
|
47
|
+
const duration = Date.now() - startTime;
|
|
48
|
+
const summary = this.summarizeFindings(fileResults);
|
|
49
|
+
return {
|
|
50
|
+
id: this.generateId(),
|
|
51
|
+
timestamp: new Date(),
|
|
52
|
+
projectId: input.projectId,
|
|
53
|
+
duration,
|
|
54
|
+
files: fileResults,
|
|
55
|
+
summary,
|
|
56
|
+
engineVersion: this.version,
|
|
57
|
+
contractVersion: ANALYSIS_CONTRACT_VERSION,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Analyze a single file
|
|
62
|
+
*/
|
|
63
|
+
async analyzeFile(file, config) {
|
|
64
|
+
const startTime = Date.now();
|
|
65
|
+
// Validate language support
|
|
66
|
+
if (!this.supportsLanguage(file.language)) {
|
|
67
|
+
return {
|
|
68
|
+
filePath: file.path,
|
|
69
|
+
language: file.language,
|
|
70
|
+
lines: this.countLines(file.content),
|
|
71
|
+
findings: [],
|
|
72
|
+
duration: Date.now() - startTime,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
// Convert to internal format
|
|
76
|
+
const policies = await this.loadPolicies(config);
|
|
77
|
+
const findings = this.runAnalysis(file, policies);
|
|
78
|
+
return {
|
|
79
|
+
filePath: file.path,
|
|
80
|
+
language: file.language,
|
|
81
|
+
lines: this.countLines(file.content),
|
|
82
|
+
findings,
|
|
83
|
+
duration: Date.now() - startTime,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Check if language is supported
|
|
88
|
+
*/
|
|
89
|
+
supportsLanguage(language) {
|
|
90
|
+
return this.supportedLanguages.includes(language.toLowerCase());
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get supported languages
|
|
94
|
+
*/
|
|
95
|
+
getSupportedLanguages() {
|
|
96
|
+
return [...this.supportedLanguages];
|
|
97
|
+
}
|
|
98
|
+
// =============================================================================
|
|
99
|
+
// INTERNAL METHODS (Private - not part of contract)
|
|
100
|
+
// =============================================================================
|
|
101
|
+
/**
|
|
102
|
+
* Load policies from config
|
|
103
|
+
*/
|
|
104
|
+
async loadPolicies(config) {
|
|
105
|
+
void config;
|
|
106
|
+
// TODO: Load from policy registry based on config.policies
|
|
107
|
+
return [];
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Run analysis with policies
|
|
111
|
+
*/
|
|
112
|
+
runAnalysis(file, policies) {
|
|
113
|
+
const findings = [];
|
|
114
|
+
void file.content.split('\n');
|
|
115
|
+
const ruleInput = {
|
|
116
|
+
file: file.path,
|
|
117
|
+
content: file.content,
|
|
118
|
+
language: file.language,
|
|
119
|
+
project: {
|
|
120
|
+
root: file.path,
|
|
121
|
+
config: {},
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
// Apply enabled policies
|
|
125
|
+
for (const policy of policies) {
|
|
126
|
+
if (!policy.enabled)
|
|
127
|
+
continue;
|
|
128
|
+
try {
|
|
129
|
+
const ruleFindings = rulesRegistry.execute(policy.id, ruleInput, policy);
|
|
130
|
+
// Convert internal findings to contract format
|
|
131
|
+
for (const finding of ruleFindings) {
|
|
132
|
+
findings.push({
|
|
133
|
+
id: this.generateFindingId(),
|
|
134
|
+
severity: this.mapSeverity(finding.severity || 'info'),
|
|
135
|
+
category: this.mapCategory(policy.category || 'maintainability'),
|
|
136
|
+
message: finding.message,
|
|
137
|
+
filePath: file.path,
|
|
138
|
+
line: finding.location?.line ?? 1,
|
|
139
|
+
column: finding.location?.column ?? 0,
|
|
140
|
+
endLine: finding.location?.endLine,
|
|
141
|
+
endColumn: finding.location?.endColumn,
|
|
142
|
+
ruleId: policy.id,
|
|
143
|
+
ruleUrl: finding.documentation,
|
|
144
|
+
suggestedFix: finding.suggestion
|
|
145
|
+
? {
|
|
146
|
+
description: finding.suggestion,
|
|
147
|
+
}
|
|
148
|
+
: undefined,
|
|
149
|
+
metadata: finding.metadata,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
// Log but don't fail - one broken rule shouldn't stop analysis
|
|
155
|
+
console.error(`Policy ${policy.id} failed:`, error);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return findings;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Summarize findings across all files
|
|
162
|
+
*/
|
|
163
|
+
summarizeFindings(files) {
|
|
164
|
+
const bySeverity = {
|
|
165
|
+
critical: 0,
|
|
166
|
+
high: 0,
|
|
167
|
+
medium: 0,
|
|
168
|
+
low: 0,
|
|
169
|
+
info: 0,
|
|
170
|
+
};
|
|
171
|
+
const byCategory = {
|
|
172
|
+
security: 0,
|
|
173
|
+
performance: 0,
|
|
174
|
+
architecture: 0,
|
|
175
|
+
maintainability: 0,
|
|
176
|
+
documentation: 0,
|
|
177
|
+
testing: 0,
|
|
178
|
+
style: 0,
|
|
179
|
+
};
|
|
180
|
+
let total = 0;
|
|
181
|
+
for (const file of files) {
|
|
182
|
+
for (const finding of file.findings) {
|
|
183
|
+
bySeverity[finding.severity]++;
|
|
184
|
+
byCategory[finding.category]++;
|
|
185
|
+
total++;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return { bySeverity, byCategory, total };
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Count lines in content
|
|
192
|
+
*/
|
|
193
|
+
countLines(content) {
|
|
194
|
+
return content.split('\n').length;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Map internal severity to contract severity
|
|
198
|
+
*/
|
|
199
|
+
mapSeverity(severity) {
|
|
200
|
+
const mapping = {
|
|
201
|
+
critical: 'critical',
|
|
202
|
+
error: 'high',
|
|
203
|
+
warning: 'medium',
|
|
204
|
+
info: 'info',
|
|
205
|
+
};
|
|
206
|
+
return mapping[severity] || 'info';
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Map internal category to contract category
|
|
210
|
+
*/
|
|
211
|
+
mapCategory(category) {
|
|
212
|
+
const mapping = {
|
|
213
|
+
security: 'security',
|
|
214
|
+
performance: 'performance',
|
|
215
|
+
architecture: 'architecture',
|
|
216
|
+
maintainability: 'maintainability',
|
|
217
|
+
documentation: 'documentation',
|
|
218
|
+
testing: 'testing',
|
|
219
|
+
style: 'style',
|
|
220
|
+
};
|
|
221
|
+
return mapping[category] || 'maintainability';
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Generate unique analysis ID
|
|
225
|
+
*/
|
|
226
|
+
generateId() {
|
|
227
|
+
return `analysis_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Generate finding ID
|
|
231
|
+
*/
|
|
232
|
+
generateFindingId() {
|
|
233
|
+
return `finding_${Date.now()}_${Math.random().toString(36).substr(2, 6)}`;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// =============================================================================
|
|
237
|
+
// LEGACY COMPATIBILITY
|
|
238
|
+
// =============================================================================
|
|
239
|
+
/**
|
|
240
|
+
* Legacy analyze function (maintained for backward compatibility)
|
|
241
|
+
* @deprecated Use AnalysisEngineV1.analyzeProject instead
|
|
242
|
+
*/
|
|
243
|
+
export function analyze(files, config, policies) {
|
|
244
|
+
void config;
|
|
245
|
+
void new AnalysisEngineV1();
|
|
246
|
+
const startTime = Date.now();
|
|
247
|
+
const findings = [];
|
|
248
|
+
for (const file of files) {
|
|
249
|
+
// Simplified analysis - full implementation uses engine.analyzeFile
|
|
250
|
+
const fileFindings = runLegacyAnalysis(file.path, file.content, file.language, policies);
|
|
251
|
+
findings.push(...fileFindings);
|
|
252
|
+
}
|
|
253
|
+
return {
|
|
254
|
+
findings,
|
|
255
|
+
duration: Date.now() - startTime,
|
|
256
|
+
filesAnalyzed: files.length,
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Legacy analysis helper
|
|
261
|
+
*/
|
|
262
|
+
function runLegacyAnalysis(path, content, language, policies) {
|
|
263
|
+
const findings = [];
|
|
264
|
+
const ruleInput = {
|
|
265
|
+
file: path,
|
|
266
|
+
content,
|
|
267
|
+
language,
|
|
268
|
+
project: { root: path, config: {} },
|
|
269
|
+
};
|
|
270
|
+
for (const policy of policies) {
|
|
271
|
+
if (!policy.enabled)
|
|
272
|
+
continue;
|
|
273
|
+
try {
|
|
274
|
+
const ruleFindings = rulesRegistry.execute(policy.id, ruleInput, policy);
|
|
275
|
+
for (const f of ruleFindings) {
|
|
276
|
+
findings.push({
|
|
277
|
+
id: `legacy_${Date.now()}_${Math.random().toString(36).substr(2, 6)}`,
|
|
278
|
+
severity: f.severity || 'info',
|
|
279
|
+
category: 'maintainability',
|
|
280
|
+
message: f.message,
|
|
281
|
+
filePath: path,
|
|
282
|
+
line: f.location?.line ?? 1,
|
|
283
|
+
column: f.location?.column ?? 0,
|
|
284
|
+
ruleId: policy.id,
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
// Ignore errors in legacy mode
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
return findings;
|
|
293
|
+
}
|
|
294
|
+
// =============================================================================
|
|
295
|
+
// EXPORTS
|
|
296
|
+
// =============================================================================
|
|
297
|
+
export { ANALYSIS_CONTRACT_VERSION };
|
|
298
|
+
//# sourceMappingURL=engine.contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.contract.js","sourceRoot":"","sources":["../../../../../../../../packages/domain/src/core/analysis/engine.contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core Analysis Engine
|
|
3
|
+
* Stateless pipeline for code analysis
|
|
4
|
+
* @see docs/architecture/OVERVIEW.md#data-flow
|
|
5
|
+
* @module core/analysis
|
|
6
|
+
*/
|
|
7
|
+
import type { Finding, Policy, AnalysisConfig } from '../../control/schemas/policies.js';
|
|
8
|
+
/**
|
|
9
|
+
* Analysis Context
|
|
10
|
+
* Immutable context for analysis session
|
|
11
|
+
*/
|
|
12
|
+
export interface AnalysisContext {
|
|
13
|
+
readonly config: AnalysisConfig;
|
|
14
|
+
readonly policies: Policy[];
|
|
15
|
+
readonly startTime: number;
|
|
16
|
+
readonly version: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Analysis Session
|
|
20
|
+
* Manages a single analysis run with frozen configuration
|
|
21
|
+
*/
|
|
22
|
+
export declare class AnalysisSession {
|
|
23
|
+
private readonly context;
|
|
24
|
+
constructor(config: AnalysisConfig, policies: readonly Policy[]);
|
|
25
|
+
/**
|
|
26
|
+
* Get immutable context
|
|
27
|
+
*/
|
|
28
|
+
getContext(): AnalysisContext;
|
|
29
|
+
/**
|
|
30
|
+
* Analyze a single file
|
|
31
|
+
*/
|
|
32
|
+
analyzeFile(file: string, content: string, language: string): Finding[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Analysis Pipeline
|
|
36
|
+
* Pure function: input -> rules -> output
|
|
37
|
+
*/
|
|
38
|
+
export declare function analyze(files: Array<{
|
|
39
|
+
path: string;
|
|
40
|
+
content: string;
|
|
41
|
+
language: string;
|
|
42
|
+
}>, config: AnalysisConfig, policies: Policy[]): {
|
|
43
|
+
findings: Finding[];
|
|
44
|
+
duration: number;
|
|
45
|
+
filesAnalyzed: number;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Create analysis session with frozen snapshot
|
|
49
|
+
*/
|
|
50
|
+
export declare function createSession(config: AnalysisConfig, policies: Policy[]): AnalysisSession;
|
|
51
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/domain/src/core/analysis/engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAa,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGpG;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;gBAE9B,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE;IAS/D;;OAEG;IACH,UAAU,IAAI,eAAe;IAI7B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE;CAuBxE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EACjE,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAAE,GACjB;IACD,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAiBA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,eAAe,CAEzF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core Analysis Engine
|
|
3
|
+
* Stateless pipeline for code analysis
|
|
4
|
+
* @see docs/architecture/OVERVIEW.md#data-flow
|
|
5
|
+
* @module core/analysis
|
|
6
|
+
*/
|
|
7
|
+
import { rulesRegistry } from '../../control/registry/rules.registry.js';
|
|
8
|
+
/**
|
|
9
|
+
* Analysis Session
|
|
10
|
+
* Manages a single analysis run with frozen configuration
|
|
11
|
+
*/
|
|
12
|
+
export class AnalysisSession {
|
|
13
|
+
context;
|
|
14
|
+
constructor(config, policies) {
|
|
15
|
+
this.context = {
|
|
16
|
+
config: Object.freeze({ ...config }),
|
|
17
|
+
policies: [...policies],
|
|
18
|
+
startTime: Date.now(),
|
|
19
|
+
version: '1.0.0',
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get immutable context
|
|
24
|
+
*/
|
|
25
|
+
getContext() {
|
|
26
|
+
return this.context;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Analyze a single file
|
|
30
|
+
*/
|
|
31
|
+
analyzeFile(file, content, language) {
|
|
32
|
+
const ruleInput = {
|
|
33
|
+
file,
|
|
34
|
+
content,
|
|
35
|
+
language,
|
|
36
|
+
project: {
|
|
37
|
+
root: this.context.config.version,
|
|
38
|
+
config: {},
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
const findings = [];
|
|
42
|
+
// Apply all enabled policies
|
|
43
|
+
for (const policy of this.context.policies) {
|
|
44
|
+
if (!policy.enabled)
|
|
45
|
+
continue;
|
|
46
|
+
const ruleResult = rulesRegistry.execute(policy.id, ruleInput, policy);
|
|
47
|
+
findings.push(...ruleResult);
|
|
48
|
+
}
|
|
49
|
+
return findings;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Analysis Pipeline
|
|
54
|
+
* Pure function: input -> rules -> output
|
|
55
|
+
*/
|
|
56
|
+
export function analyze(files, config, policies) {
|
|
57
|
+
const startTime = Date.now();
|
|
58
|
+
const session = new AnalysisSession(config, policies);
|
|
59
|
+
const allFindings = [];
|
|
60
|
+
for (const file of files) {
|
|
61
|
+
const findings = session.analyzeFile(file.path, file.content, file.language);
|
|
62
|
+
allFindings.push(...findings);
|
|
63
|
+
}
|
|
64
|
+
const duration = Date.now() - startTime;
|
|
65
|
+
return {
|
|
66
|
+
findings: allFindings,
|
|
67
|
+
duration,
|
|
68
|
+
filesAnalyzed: files.length,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Create analysis session with frozen snapshot
|
|
73
|
+
*/
|
|
74
|
+
export function createSession(config, policies) {
|
|
75
|
+
return new AnalysisSession(config, policies);
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../../../../../packages/domain/src/core/analysis/engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAazE;;;GAGG;AACH,MAAM,OAAO,eAAe;IACT,OAAO,CAAkB;IAE1C,YAAY,MAAsB,EAAE,QAA2B;QAC7D,IAAI,CAAC,OAAO,GAAG;YACb,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;YACpC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;YACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAY,EAAE,OAAe,EAAE,QAAgB;QACzD,MAAM,SAAS,GAAc;YAC3B,IAAI;YACJ,OAAO;YACP,QAAQ;YACR,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;gBACjC,MAAM,EAAE,EAAE;aACX;SACF,CAAC;QAEF,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,6BAA6B;QAC7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,SAAS;YAE9B,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACvE,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CACrB,KAAiE,EACjE,MAAsB,EACtB,QAAkB;IAMlB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,WAAW,GAAc,EAAE,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7E,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAExC,OAAO;QACL,QAAQ,EAAE,WAAW;QACrB,QAAQ;QACR,aAAa,EAAE,KAAK,CAAC,MAAM;KAC5B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAsB,EAAE,QAAkB;IACtE,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analysis core index
|
|
3
|
+
* @description Core analysis engine exports
|
|
4
|
+
* @version 1.0.0
|
|
5
|
+
*/
|
|
6
|
+
export { AnalysisEngineV1 } from './engine.contract.js';
|
|
7
|
+
export { analyze, createSession } from './engine.js';
|
|
8
|
+
export type { AnalysisEngine, AnalysisProjectInput, AnalysisFileInput, AnalysisConfig, AnalysisOutput, FileAnalysisResult, Finding, FindingsSummary, FindingSeverity, FindingCategory, } from '../../contracts/analysis.contract.js';
|
|
9
|
+
export { discoverFiles, isValidProjectRoot, analyzeProjectTypes, type FileDiscoveryOptions, type FileDiscoveryResult, type DiscoveredFile, } from './discovery.js';
|
|
10
|
+
export { runAnalysis, generateReport, saveReport, type AnalysisOptions, type AnalysisResult, type FileAnalysis, } from './orchestrator.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/domain/src/core/analysis/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGrD,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,WAAW,EACX,cAAc,EACd,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analysis core index
|
|
3
|
+
* @description Core analysis engine exports
|
|
4
|
+
* @version 1.0.0
|
|
5
|
+
*/
|
|
6
|
+
// Contract-based engine (recommended)
|
|
7
|
+
export { AnalysisEngineV1 } from './engine.contract.js';
|
|
8
|
+
// Legacy engine (backward compatibility)
|
|
9
|
+
export { analyze, createSession } from './engine.js';
|
|
10
|
+
// Discovery
|
|
11
|
+
export { discoverFiles, isValidProjectRoot, analyzeProjectTypes, } from './discovery.js';
|
|
12
|
+
// Orchestrator
|
|
13
|
+
export { runAnalysis, generateReport, saveReport, } from './orchestrator.js';
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/domain/src/core/analysis/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,sCAAsC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,yCAAyC;AACzC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgBrD,YAAY;AACZ,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GAIpB,MAAM,gBAAgB,CAAC;AAExB,eAAe;AACf,OAAO,EACL,WAAW,EACX,cAAc,EACd,UAAU,GAIX,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analysis Orchestrator
|
|
3
|
+
* Coordinates file discovery and AST parsing for complete project analysis
|
|
4
|
+
*/
|
|
5
|
+
import { DiscoveredFile } from './discovery.js';
|
|
6
|
+
import { ParseResult } from '../parser/unified-parser.js';
|
|
7
|
+
export interface AnalysisOptions {
|
|
8
|
+
/** Root directory to analyze */
|
|
9
|
+
rootDir: string;
|
|
10
|
+
/** Output format */
|
|
11
|
+
format?: 'json' | 'markdown' | 'html';
|
|
12
|
+
/** Include patterns */
|
|
13
|
+
include?: string[];
|
|
14
|
+
/** Exclude patterns */
|
|
15
|
+
exclude?: string[];
|
|
16
|
+
/** Maximum file size */
|
|
17
|
+
maxFileSize?: number;
|
|
18
|
+
/** Analysis depth (1-5) */
|
|
19
|
+
depth?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface FileAnalysis {
|
|
22
|
+
/** File information */
|
|
23
|
+
file: DiscoveredFile;
|
|
24
|
+
/** Parse result */
|
|
25
|
+
parseResult: ParseResult;
|
|
26
|
+
/** Duration in milliseconds */
|
|
27
|
+
duration: number;
|
|
28
|
+
}
|
|
29
|
+
export interface AnalysisResult {
|
|
30
|
+
/** Analysis ID */
|
|
31
|
+
id: string;
|
|
32
|
+
/** When analysis started */
|
|
33
|
+
timestamp: string;
|
|
34
|
+
/** Project root directory */
|
|
35
|
+
rootDir: string;
|
|
36
|
+
/** Analysis options used */
|
|
37
|
+
options: AnalysisOptions;
|
|
38
|
+
/** Summary statistics */
|
|
39
|
+
summary: {
|
|
40
|
+
totalFiles: number;
|
|
41
|
+
successfulParses: number;
|
|
42
|
+
failedParses: number;
|
|
43
|
+
totalLines: number;
|
|
44
|
+
totalFunctions: number;
|
|
45
|
+
totalClasses: number;
|
|
46
|
+
totalImports: number;
|
|
47
|
+
totalExports: number;
|
|
48
|
+
averageComplexity: number;
|
|
49
|
+
totalDuration: number;
|
|
50
|
+
};
|
|
51
|
+
/** Analyzed files */
|
|
52
|
+
files: FileAnalysis[];
|
|
53
|
+
/** Errors encountered */
|
|
54
|
+
errors: {
|
|
55
|
+
file: string;
|
|
56
|
+
error: string;
|
|
57
|
+
}[];
|
|
58
|
+
/** Project type information */
|
|
59
|
+
projectType: {
|
|
60
|
+
hasJavaScript: boolean;
|
|
61
|
+
hasTypeScript: boolean;
|
|
62
|
+
hasReact: boolean;
|
|
63
|
+
hasVue: boolean;
|
|
64
|
+
hasSvelte: boolean;
|
|
65
|
+
isNodeProject: boolean;
|
|
66
|
+
isESM: boolean;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Run complete project analysis
|
|
71
|
+
*/
|
|
72
|
+
export declare function runAnalysis(options: AnalysisOptions): Promise<AnalysisResult>;
|
|
73
|
+
/**
|
|
74
|
+
* Generate report from analysis result
|
|
75
|
+
*/
|
|
76
|
+
export declare function generateReport(result: AnalysisResult, format?: 'json' | 'markdown' | 'html'): {
|
|
77
|
+
id: string;
|
|
78
|
+
content: string;
|
|
79
|
+
format: string;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Save report to file
|
|
83
|
+
*/
|
|
84
|
+
export declare function saveReport(result: AnalysisResult, outputDir: string, format?: 'json' | 'markdown' | 'html'): Promise<string>;
|
|
85
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/domain/src/core/analysis/orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAuC,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAe,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAEvE,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACtC,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,mBAAmB;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,OAAO,EAAE,eAAe,CAAC;IACzB,yBAAyB;IACzB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,qBAAqB;IACrB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,yBAAyB;IACzB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,+BAA+B;IAC/B,WAAW,EAAE;QACX,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAWD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAyGnF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,GAAE,MAAM,GAAG,UAAU,GAAG,MAAe,GAC5C;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA0BjD;AAoGD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,MAAM,GAAG,UAAU,GAAG,MAAe,GAC5C,OAAO,CAAC,MAAM,CAAC,CAUjB"}
|