specweave 0.28.68 → 0.29.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/CLAUDE.md +3 -2
- package/README.md +19 -2
- package/dist/src/cli/commands/discrepancies.d.ts +89 -0
- package/dist/src/cli/commands/discrepancies.d.ts.map +1 -0
- package/dist/src/cli/commands/discrepancies.js +385 -0
- package/dist/src/cli/commands/discrepancies.js.map +1 -0
- package/dist/src/cli/commands/notifications.d.ts +70 -0
- package/dist/src/cli/commands/notifications.d.ts.map +1 -0
- package/dist/src/cli/commands/notifications.js +236 -0
- package/dist/src/cli/commands/notifications.js.map +1 -0
- package/dist/src/cli/commands/sync-logs.d.ts +54 -0
- package/dist/src/cli/commands/sync-logs.d.ts.map +1 -0
- package/dist/src/cli/commands/sync-logs.js +240 -0
- package/dist/src/cli/commands/sync-logs.js.map +1 -0
- package/dist/src/cli/commands/sync-monitor.d.ts +42 -0
- package/dist/src/cli/commands/sync-monitor.d.ts.map +1 -0
- package/dist/src/cli/commands/sync-monitor.js +191 -0
- package/dist/src/cli/commands/sync-monitor.js.map +1 -0
- package/dist/src/cli/helpers/init/brownfield-analysis.d.ts +45 -0
- package/dist/src/cli/helpers/init/brownfield-analysis.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/brownfield-analysis.js +431 -0
- package/dist/src/cli/helpers/init/brownfield-analysis.js.map +1 -0
- package/dist/src/cli/helpers/init/index.d.ts +1 -0
- package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/index.js +2 -0
- package/dist/src/cli/helpers/init/index.js.map +1 -1
- package/dist/src/cli/workers/brownfield-worker.d.ts +66 -0
- package/dist/src/cli/workers/brownfield-worker.d.ts.map +1 -0
- package/dist/src/cli/workers/brownfield-worker.js +417 -0
- package/dist/src/cli/workers/brownfield-worker.js.map +1 -0
- package/dist/src/core/background/brownfield-launcher.d.ts +86 -0
- package/dist/src/core/background/brownfield-launcher.d.ts.map +1 -0
- package/dist/src/core/background/brownfield-launcher.js +295 -0
- package/dist/src/core/background/brownfield-launcher.js.map +1 -0
- package/dist/src/core/background/index.d.ts +2 -0
- package/dist/src/core/background/index.d.ts.map +1 -1
- package/dist/src/core/background/index.js +2 -0
- package/dist/src/core/background/index.js.map +1 -1
- package/dist/src/core/background/types.d.ts +23 -2
- package/dist/src/core/background/types.d.ts.map +1 -1
- package/dist/src/core/config/index.d.ts +1 -0
- package/dist/src/core/config/index.d.ts.map +1 -1
- package/dist/src/core/config/index.js +1 -0
- package/dist/src/core/config/index.js.map +1 -1
- package/dist/src/core/config/types.d.ts +6 -0
- package/dist/src/core/config/types.d.ts.map +1 -1
- package/dist/src/core/config/types.js.map +1 -1
- package/dist/src/core/dashboard/dashboard-data.d.ts +156 -0
- package/dist/src/core/dashboard/dashboard-data.d.ts.map +1 -0
- package/dist/src/core/dashboard/dashboard-data.js +191 -0
- package/dist/src/core/dashboard/dashboard-data.js.map +1 -0
- package/dist/src/core/dashboard/index.d.ts +9 -0
- package/dist/src/core/dashboard/index.d.ts.map +1 -0
- package/dist/src/core/dashboard/index.js +9 -0
- package/dist/src/core/dashboard/index.js.map +1 -0
- package/dist/src/core/discrepancy/analyzers/api-route-analyzer.d.ts +77 -0
- package/dist/src/core/discrepancy/analyzers/api-route-analyzer.d.ts.map +1 -0
- package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js +286 -0
- package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js.map +1 -0
- package/dist/src/core/discrepancy/analyzers/index.d.ts +8 -0
- package/dist/src/core/discrepancy/analyzers/index.d.ts.map +1 -0
- package/dist/src/core/discrepancy/analyzers/index.js +8 -0
- package/dist/src/core/discrepancy/analyzers/index.js.map +1 -0
- package/dist/src/core/discrepancy/analyzers/typescript-analyzer.d.ts +96 -0
- package/dist/src/core/discrepancy/analyzers/typescript-analyzer.d.ts.map +1 -0
- package/dist/src/core/discrepancy/analyzers/typescript-analyzer.js +247 -0
- package/dist/src/core/discrepancy/analyzers/typescript-analyzer.js.map +1 -0
- package/dist/src/core/discrepancy/brownfield-manager.d.ts +88 -0
- package/dist/src/core/discrepancy/brownfield-manager.d.ts.map +1 -0
- package/dist/src/core/discrepancy/brownfield-manager.js +520 -0
- package/dist/src/core/discrepancy/brownfield-manager.js.map +1 -0
- package/dist/src/core/discrepancy/brownfield-types.d.ts +174 -0
- package/dist/src/core/discrepancy/brownfield-types.d.ts.map +1 -0
- package/dist/src/core/discrepancy/brownfield-types.js +11 -0
- package/dist/src/core/discrepancy/brownfield-types.js.map +1 -0
- package/dist/src/core/discrepancy/detector.d.ts +92 -0
- package/dist/src/core/discrepancy/detector.d.ts.map +1 -0
- package/dist/src/core/discrepancy/detector.js +346 -0
- package/dist/src/core/discrepancy/detector.js.map +1 -0
- package/dist/src/core/discrepancy/increment-generator.d.ts +51 -0
- package/dist/src/core/discrepancy/increment-generator.d.ts.map +1 -0
- package/dist/src/core/discrepancy/increment-generator.js +234 -0
- package/dist/src/core/discrepancy/increment-generator.js.map +1 -0
- package/dist/src/core/discrepancy/index.d.ts +18 -0
- package/dist/src/core/discrepancy/index.d.ts.map +1 -0
- package/dist/src/core/discrepancy/index.js +24 -0
- package/dist/src/core/discrepancy/index.js.map +1 -0
- package/dist/src/core/discrepancy/severity-classifier.d.ts +81 -0
- package/dist/src/core/discrepancy/severity-classifier.d.ts.map +1 -0
- package/dist/src/core/discrepancy/severity-classifier.js +289 -0
- package/dist/src/core/discrepancy/severity-classifier.js.map +1 -0
- package/dist/src/core/discrepancy/spec-parser.d.ts +74 -0
- package/dist/src/core/discrepancy/spec-parser.d.ts.map +1 -0
- package/dist/src/core/discrepancy/spec-parser.js +213 -0
- package/dist/src/core/discrepancy/spec-parser.js.map +1 -0
- package/dist/src/core/discrepancy/update-recommender.d.ts +77 -0
- package/dist/src/core/discrepancy/update-recommender.d.ts.map +1 -0
- package/dist/src/core/discrepancy/update-recommender.js +323 -0
- package/dist/src/core/discrepancy/update-recommender.js.map +1 -0
- package/dist/src/core/living-docs/living-docs-sync.d.ts +13 -16
- package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.js +31 -112
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
- package/dist/src/core/logs/index.d.ts +10 -0
- package/dist/src/core/logs/index.d.ts.map +1 -0
- package/dist/src/core/logs/index.js +10 -0
- package/dist/src/core/logs/index.js.map +1 -0
- package/dist/src/core/logs/log-aggregator.d.ts +130 -0
- package/dist/src/core/logs/log-aggregator.d.ts.map +1 -0
- package/dist/src/core/logs/log-aggregator.js +206 -0
- package/dist/src/core/logs/log-aggregator.js.map +1 -0
- package/dist/src/core/logs/log-exporter.d.ts +81 -0
- package/dist/src/core/logs/log-exporter.d.ts.map +1 -0
- package/dist/src/core/logs/log-exporter.js +141 -0
- package/dist/src/core/logs/log-exporter.js.map +1 -0
- package/dist/src/core/notifications/command-integration.d.ts +82 -0
- package/dist/src/core/notifications/command-integration.d.ts.map +1 -0
- package/dist/src/core/notifications/command-integration.js +80 -0
- package/dist/src/core/notifications/command-integration.js.map +1 -0
- package/dist/src/core/notifications/index.d.ts +12 -0
- package/dist/src/core/notifications/index.d.ts.map +1 -0
- package/dist/src/core/notifications/index.js +12 -0
- package/dist/src/core/notifications/index.js.map +1 -0
- package/dist/src/core/notifications/notification-display.d.ts +70 -0
- package/dist/src/core/notifications/notification-display.d.ts.map +1 -0
- package/dist/src/core/notifications/notification-display.js +177 -0
- package/dist/src/core/notifications/notification-display.js.map +1 -0
- package/dist/src/core/notifications/notification-manager.d.ts +126 -0
- package/dist/src/core/notifications/notification-manager.d.ts.map +1 -0
- package/dist/src/core/notifications/notification-manager.js +287 -0
- package/dist/src/core/notifications/notification-manager.js.map +1 -0
- package/dist/src/core/notifications/notification-types.d.ts +159 -0
- package/dist/src/core/notifications/notification-types.d.ts.map +1 -0
- package/dist/src/core/notifications/notification-types.js +93 -0
- package/dist/src/core/notifications/notification-types.js.map +1 -0
- package/dist/src/core/scheduler/index.d.ts +11 -0
- package/dist/src/core/scheduler/index.d.ts.map +1 -0
- package/dist/src/core/scheduler/index.js +11 -0
- package/dist/src/core/scheduler/index.js.map +1 -0
- package/dist/src/core/scheduler/job-scheduler.d.ts +179 -0
- package/dist/src/core/scheduler/job-scheduler.d.ts.map +1 -0
- package/dist/src/core/scheduler/job-scheduler.js +282 -0
- package/dist/src/core/scheduler/job-scheduler.js.map +1 -0
- package/dist/src/core/scheduler/schedule-persistence.d.ts +83 -0
- package/dist/src/core/scheduler/schedule-persistence.d.ts.map +1 -0
- package/dist/src/core/scheduler/schedule-persistence.js +180 -0
- package/dist/src/core/scheduler/schedule-persistence.js.map +1 -0
- package/dist/src/core/scheduler/scheduled-job.d.ts +188 -0
- package/dist/src/core/scheduler/scheduled-job.d.ts.map +1 -0
- package/dist/src/core/scheduler/scheduled-job.js +182 -0
- package/dist/src/core/scheduler/scheduled-job.js.map +1 -0
- package/dist/src/core/sync/permission-enforcer.d.ts +206 -0
- package/dist/src/core/sync/permission-enforcer.d.ts.map +1 -0
- package/dist/src/core/sync/permission-enforcer.js +268 -0
- package/dist/src/core/sync/permission-enforcer.js.map +1 -0
- package/dist/src/core/sync/sync-audit-logger.d.ts +217 -0
- package/dist/src/core/sync/sync-audit-logger.d.ts.map +1 -0
- package/dist/src/core/sync/sync-audit-logger.js +327 -0
- package/dist/src/core/sync/sync-audit-logger.js.map +1 -0
- package/dist/src/core/sync/sync-interceptor.d.ts +190 -0
- package/dist/src/core/sync/sync-interceptor.d.ts.map +1 -0
- package/dist/src/core/sync/sync-interceptor.js +224 -0
- package/dist/src/core/sync/sync-interceptor.js.map +1 -0
- package/dist/src/core/types/increment-metadata.d.ts +5 -2
- package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
- package/dist/src/core/types/sync-config.d.ts +267 -0
- package/dist/src/core/types/sync-config.d.ts.map +1 -0
- package/dist/src/core/types/sync-config.js +304 -0
- package/dist/src/core/types/sync-config.js.map +1 -0
- package/dist/src/hooks/index.d.ts +11 -0
- package/dist/src/hooks/index.d.ts.map +1 -0
- package/dist/src/hooks/index.js +11 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/hooks/platform.d.ts +125 -0
- package/dist/src/hooks/platform.d.ts.map +1 -0
- package/dist/src/hooks/platform.js +325 -0
- package/dist/src/hooks/platform.js.map +1 -0
- package/dist/src/hooks/processor.d.ts +20 -0
- package/dist/src/hooks/processor.d.ts.map +1 -0
- package/dist/src/hooks/processor.js +317 -0
- package/dist/src/hooks/processor.js.map +1 -0
- package/dist/src/hooks/scheduler-startup.d.ts +19 -0
- package/dist/src/hooks/scheduler-startup.d.ts.map +1 -0
- package/dist/src/hooks/scheduler-startup.js +92 -0
- package/dist/src/hooks/scheduler-startup.js.map +1 -0
- package/dist/src/hooks/session-start.d.ts +16 -0
- package/dist/src/hooks/session-start.d.ts.map +1 -0
- package/dist/src/hooks/session-start.js +92 -0
- package/dist/src/hooks/session-start.js.map +1 -0
- package/dist/src/importers/duplicate-detector.d.ts +13 -2
- package/dist/src/importers/duplicate-detector.d.ts.map +1 -1
- package/dist/src/importers/duplicate-detector.js +21 -2
- package/dist/src/importers/duplicate-detector.js.map +1 -1
- package/dist/src/importers/item-converter.d.ts +41 -2
- package/dist/src/importers/item-converter.d.ts.map +1 -1
- package/dist/src/importers/item-converter.js +225 -38
- package/dist/src/importers/item-converter.js.map +1 -1
- package/dist/src/living-docs/fs-id-allocator.d.ts +7 -0
- package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
- package/dist/src/living-docs/fs-id-allocator.js +30 -4
- package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
- package/dist/src/sync/ado-sync-wrapper.d.ts +137 -0
- package/dist/src/sync/ado-sync-wrapper.d.ts.map +1 -0
- package/dist/src/sync/ado-sync-wrapper.js +148 -0
- package/dist/src/sync/ado-sync-wrapper.js.map +1 -0
- package/dist/src/sync/github-sync-wrapper.d.ts +195 -0
- package/dist/src/sync/github-sync-wrapper.d.ts.map +1 -0
- package/dist/src/sync/github-sync-wrapper.js +220 -0
- package/dist/src/sync/github-sync-wrapper.js.map +1 -0
- package/dist/src/sync/jira-sync-wrapper.d.ts +155 -0
- package/dist/src/sync/jira-sync-wrapper.d.ts.map +1 -0
- package/dist/src/sync/jira-sync-wrapper.js +175 -0
- package/dist/src/sync/jira-sync-wrapper.js.map +1 -0
- package/dist/src/utils/feature-id-derivation.d.ts +58 -0
- package/dist/src/utils/feature-id-derivation.d.ts.map +1 -0
- package/dist/src/utils/feature-id-derivation.js +77 -0
- package/dist/src/utils/feature-id-derivation.js.map +1 -0
- package/package.json +3 -1
- package/plugins/specweave/commands/specweave-discrepancies.md +141 -0
- package/plugins/specweave/commands/specweave-discrepancy-to-increment.md +160 -0
- package/plugins/specweave/commands/specweave-jobs.md +45 -2
- package/plugins/specweave/commands/specweave-notifications.md +92 -0
- package/plugins/specweave/commands/specweave-sync-logs.md +131 -0
- package/plugins/specweave/commands/specweave-sync-monitor.md +57 -0
- package/plugins/specweave/hooks/hooks.json +3 -3
- package/plugins/specweave/hooks/lib/scheduler-startup.sh +72 -0
- package/plugins/specweave/hooks/universal/dispatcher.mjs +246 -0
- package/plugins/specweave/hooks/universal/session-start.cmd +16 -0
- package/plugins/specweave/hooks/universal/session-start.ps1 +16 -0
- package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +14 -5
- package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +5 -2
- package/plugins/specweave/skills/discrepancy-viewer.md +154 -0
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +46 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +69 -0
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.d.ts +0 -26
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.js +0 -249
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.js.map +0 -1
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts +0 -28
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js +0 -156
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js.map +0 -1
- package/dist/src/core/sync/bidirectional-engine.d.ts +0 -119
- package/dist/src/core/sync/bidirectional-engine.d.ts.map +0 -1
- package/dist/src/core/sync/bidirectional-engine.js +0 -359
- package/dist/src/core/sync/bidirectional-engine.js.map +0 -1
- package/dist/src/core/sync/conflict-resolver.d.ts +0 -66
- package/dist/src/core/sync/conflict-resolver.d.ts.map +0 -1
- package/dist/src/core/sync/conflict-resolver.js +0 -108
- package/dist/src/core/sync/conflict-resolver.js.map +0 -1
- package/dist/src/core/sync/enhanced-content-builder.d.ts +0 -55
- package/dist/src/core/sync/enhanced-content-builder.d.ts.map +0 -1
- package/dist/src/core/sync/enhanced-content-builder.js +0 -203
- package/dist/src/core/sync/enhanced-content-builder.js.map +0 -1
- package/dist/src/core/sync/folder-mapper.d.ts +0 -71
- package/dist/src/core/sync/folder-mapper.d.ts.map +0 -1
- package/dist/src/core/sync/folder-mapper.js +0 -203
- package/dist/src/core/sync/folder-mapper.js.map +0 -1
- package/dist/src/core/sync/label-detector.d.ts +0 -66
- package/dist/src/core/sync/label-detector.d.ts.map +0 -1
- package/dist/src/core/sync/label-detector.js +0 -224
- package/dist/src/core/sync/label-detector.js.map +0 -1
- package/dist/src/core/sync/performance-optimizer.d.ts +0 -153
- package/dist/src/core/sync/performance-optimizer.d.ts.map +0 -1
- package/dist/src/core/sync/performance-optimizer.js +0 -220
- package/dist/src/core/sync/performance-optimizer.js.map +0 -1
- package/dist/src/core/sync/profile-selector.d.ts +0 -52
- package/dist/src/core/sync/profile-selector.d.ts.map +0 -1
- package/dist/src/core/sync/profile-selector.js +0 -179
- package/dist/src/core/sync/profile-selector.js.map +0 -1
- package/dist/src/core/sync/profile-validator.d.ts +0 -52
- package/dist/src/core/sync/profile-validator.d.ts.map +0 -1
- package/dist/src/core/sync/profile-validator.js +0 -170
- package/dist/src/core/sync/profile-validator.js.map +0 -1
- package/dist/src/core/sync/rate-limiter.d.ts +0 -116
- package/dist/src/core/sync/rate-limiter.d.ts.map +0 -1
- package/dist/src/core/sync/rate-limiter.js +0 -308
- package/dist/src/core/sync/rate-limiter.js.map +0 -1
- package/dist/src/core/sync/retry-handler.d.ts +0 -98
- package/dist/src/core/sync/retry-handler.d.ts.map +0 -1
- package/dist/src/core/sync/retry-handler.js +0 -196
- package/dist/src/core/sync/retry-handler.js.map +0 -1
- package/dist/src/core/sync/retry-logic.d.ts +0 -64
- package/dist/src/core/sync/retry-logic.d.ts.map +0 -1
- package/dist/src/core/sync/retry-logic.js +0 -165
- package/dist/src/core/sync/retry-logic.js.map +0 -1
- package/dist/src/core/sync/status-cache.d.ts +0 -91
- package/dist/src/core/sync/status-cache.d.ts.map +0 -1
- package/dist/src/core/sync/status-cache.js +0 -140
- package/dist/src/core/sync/status-cache.js.map +0 -1
- package/dist/src/core/sync/status-mapper.d.ts +0 -69
- package/dist/src/core/sync/status-mapper.d.ts.map +0 -1
- package/dist/src/core/sync/status-mapper.js +0 -90
- package/dist/src/core/sync/status-mapper.js.map +0 -1
- package/dist/src/core/sync/status-sync-engine.d.ts +0 -162
- package/dist/src/core/sync/status-sync-engine.d.ts.map +0 -1
- package/dist/src/core/sync/status-sync-engine.js +0 -347
- package/dist/src/core/sync/status-sync-engine.js.map +0 -1
- package/dist/src/core/sync/sync-event-logger.d.ts +0 -113
- package/dist/src/core/sync/sync-event-logger.d.ts.map +0 -1
- package/dist/src/core/sync/sync-event-logger.js +0 -141
- package/dist/src/core/sync/sync-event-logger.js.map +0 -1
- package/dist/src/core/sync/time-range-selector.d.ts +0 -48
- package/dist/src/core/sync/time-range-selector.d.ts.map +0 -1
- package/dist/src/core/sync/time-range-selector.js +0 -224
- package/dist/src/core/sync/time-range-selector.js.map +0 -1
- package/dist/src/core/sync/types.d.ts +0 -52
- package/dist/src/core/sync/types.d.ts.map +0 -1
- package/dist/src/core/sync/types.js +0 -5
- package/dist/src/core/sync/types.js.map +0 -1
- package/dist/src/core/sync/workflow-detector.d.ts +0 -95
- package/dist/src/core/sync/workflow-detector.d.ts.map +0 -1
- package/dist/src/core/sync/workflow-detector.js +0 -175
- package/dist/src/core/sync/workflow-detector.js.map +0 -1
- package/plugins/specweave-github/lib/enhanced-github-sync.js +0 -220
- package/plugins/specweave-github/lib/enhanced-github-sync.ts +0 -322
- package/plugins/specweave-jira/lib/enhanced-jira-sync.js +0 -134
- package/plugins/specweave-jira/lib/enhanced-jira-sync.ts +0 -196
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript Code Analyzer
|
|
3
|
+
*
|
|
4
|
+
* Extracts function signatures and type definitions from TypeScript files
|
|
5
|
+
* using the TypeScript Compiler API.
|
|
6
|
+
*
|
|
7
|
+
* @module core/discrepancy/analyzers/typescript-analyzer
|
|
8
|
+
*/
|
|
9
|
+
import { Logger } from '../../../utils/logger.js';
|
|
10
|
+
/**
|
|
11
|
+
* Represents a function parameter with name and type.
|
|
12
|
+
*/
|
|
13
|
+
export interface FunctionParam {
|
|
14
|
+
name: string;
|
|
15
|
+
type: string;
|
|
16
|
+
optional: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Represents a function signature extracted from code.
|
|
20
|
+
*/
|
|
21
|
+
export interface FunctionSignature {
|
|
22
|
+
name: string;
|
|
23
|
+
filePath: string;
|
|
24
|
+
lineNumber: number;
|
|
25
|
+
params: FunctionParam[];
|
|
26
|
+
returnType: string;
|
|
27
|
+
exported: boolean;
|
|
28
|
+
async: boolean;
|
|
29
|
+
jsdoc?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Represents a type definition (interface, type alias, or class).
|
|
33
|
+
*/
|
|
34
|
+
export interface TypeDefinition {
|
|
35
|
+
name: string;
|
|
36
|
+
filePath: string;
|
|
37
|
+
lineNumber: number;
|
|
38
|
+
kind: 'interface' | 'type' | 'class';
|
|
39
|
+
exported: boolean;
|
|
40
|
+
properties?: {
|
|
41
|
+
name: string;
|
|
42
|
+
type: string;
|
|
43
|
+
optional: boolean;
|
|
44
|
+
}[];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Configuration for the TypeScript analyzer.
|
|
48
|
+
*/
|
|
49
|
+
export interface TypeScriptAnalyzerConfig {
|
|
50
|
+
/** Glob patterns to include (default: ['**\/*.ts']) */
|
|
51
|
+
include?: string[];
|
|
52
|
+
/** Glob patterns to exclude (default: ['**\/*.test.ts', 'node_modules/**']) */
|
|
53
|
+
exclude?: string[];
|
|
54
|
+
/** Base directory for relative paths */
|
|
55
|
+
basePath?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Result of TypeScript analysis.
|
|
59
|
+
*/
|
|
60
|
+
export interface AnalysisResult {
|
|
61
|
+
functions: FunctionSignature[];
|
|
62
|
+
types: TypeDefinition[];
|
|
63
|
+
errors: string[];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Analyzes TypeScript files to extract function signatures and type definitions.
|
|
67
|
+
*/
|
|
68
|
+
export declare class TypeScriptAnalyzer {
|
|
69
|
+
private readonly logger;
|
|
70
|
+
private readonly config;
|
|
71
|
+
constructor(options?: {
|
|
72
|
+
logger?: Logger;
|
|
73
|
+
config?: TypeScriptAnalyzerConfig;
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* Analyze a list of TypeScript files.
|
|
77
|
+
*/
|
|
78
|
+
analyze(files: string[]): Promise<AnalysisResult>;
|
|
79
|
+
/**
|
|
80
|
+
* Analyze a single TypeScript file.
|
|
81
|
+
*/
|
|
82
|
+
analyzeFile(filePath: string): Promise<AnalysisResult>;
|
|
83
|
+
private extractFunctionSignature;
|
|
84
|
+
private extractArrowFunctionSignature;
|
|
85
|
+
private extractMethodSignature;
|
|
86
|
+
private extractInterfaceDefinition;
|
|
87
|
+
private extractTypeAliasDefinition;
|
|
88
|
+
private extractClassDefinition;
|
|
89
|
+
private extractParameters;
|
|
90
|
+
private extractReturnType;
|
|
91
|
+
private extractInterfaceProperties;
|
|
92
|
+
private extractJSDoc;
|
|
93
|
+
private hasExportModifier;
|
|
94
|
+
private hasAsyncModifier;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=typescript-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript-analyzer.d.ts","sourceRoot":"","sources":["../../../../../src/core/discrepancy/analyzers/typescript-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,MAAM,EAAiB,MAAM,0BAA0B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAClE;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEhD,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,wBAAwB,CAAA;KAAO;IAShF;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAqBvD;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAmF5D,OAAO,CAAC,wBAAwB;IAuBhC,OAAO,CAAC,6BAA6B;IAoBrC,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,0BAA0B;IAgBlC,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,0BAA0B;IAoBlC,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,gBAAgB;CAIzB"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript Code Analyzer
|
|
3
|
+
*
|
|
4
|
+
* Extracts function signatures and type definitions from TypeScript files
|
|
5
|
+
* using the TypeScript Compiler API.
|
|
6
|
+
*
|
|
7
|
+
* @module core/discrepancy/analyzers/typescript-analyzer
|
|
8
|
+
*/
|
|
9
|
+
import * as ts from 'typescript';
|
|
10
|
+
import * as fs from 'fs';
|
|
11
|
+
import * as path from 'path';
|
|
12
|
+
import { consoleLogger } from '../../../utils/logger.js';
|
|
13
|
+
/**
|
|
14
|
+
* Analyzes TypeScript files to extract function signatures and type definitions.
|
|
15
|
+
*/
|
|
16
|
+
export class TypeScriptAnalyzer {
|
|
17
|
+
constructor(options = {}) {
|
|
18
|
+
this.logger = options.logger ?? consoleLogger;
|
|
19
|
+
this.config = {
|
|
20
|
+
include: options.config?.include ?? ['**/*.ts'],
|
|
21
|
+
exclude: options.config?.exclude ?? ['**/*.test.ts', '**/*.spec.ts', 'node_modules/**', 'dist/**'],
|
|
22
|
+
basePath: options.config?.basePath ?? process.cwd(),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Analyze a list of TypeScript files.
|
|
27
|
+
*/
|
|
28
|
+
async analyze(files) {
|
|
29
|
+
const functions = [];
|
|
30
|
+
const types = [];
|
|
31
|
+
const errors = [];
|
|
32
|
+
for (const filePath of files) {
|
|
33
|
+
try {
|
|
34
|
+
const result = await this.analyzeFile(filePath);
|
|
35
|
+
functions.push(...result.functions);
|
|
36
|
+
types.push(...result.types);
|
|
37
|
+
errors.push(...result.errors);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
41
|
+
errors.push(`Failed to analyze ${filePath}: ${message}`);
|
|
42
|
+
this.logger.warn(`Failed to analyze ${filePath}: ${message}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return { functions, types, errors };
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Analyze a single TypeScript file.
|
|
49
|
+
*/
|
|
50
|
+
async analyzeFile(filePath) {
|
|
51
|
+
const functions = [];
|
|
52
|
+
const types = [];
|
|
53
|
+
const errors = [];
|
|
54
|
+
const absolutePath = path.isAbsolute(filePath)
|
|
55
|
+
? filePath
|
|
56
|
+
: path.resolve(this.config.basePath, filePath);
|
|
57
|
+
if (!fs.existsSync(absolutePath)) {
|
|
58
|
+
errors.push(`File not found: ${absolutePath}`);
|
|
59
|
+
return { functions, types, errors };
|
|
60
|
+
}
|
|
61
|
+
const content = fs.readFileSync(absolutePath, 'utf-8');
|
|
62
|
+
const sourceFile = ts.createSourceFile(absolutePath, content, ts.ScriptTarget.Latest, true);
|
|
63
|
+
const visit = (node) => {
|
|
64
|
+
// Check for function declarations
|
|
65
|
+
if (ts.isFunctionDeclaration(node) && node.name) {
|
|
66
|
+
const sig = this.extractFunctionSignature(node, sourceFile, absolutePath);
|
|
67
|
+
if (sig)
|
|
68
|
+
functions.push(sig);
|
|
69
|
+
}
|
|
70
|
+
// Check for arrow functions assigned to const/let
|
|
71
|
+
if (ts.isVariableStatement(node)) {
|
|
72
|
+
const exported = this.hasExportModifier(node);
|
|
73
|
+
for (const decl of node.declarationList.declarations) {
|
|
74
|
+
if (ts.isIdentifier(decl.name) && decl.initializer) {
|
|
75
|
+
if (ts.isArrowFunction(decl.initializer) || ts.isFunctionExpression(decl.initializer)) {
|
|
76
|
+
const sig = this.extractArrowFunctionSignature(decl.name.text, decl.initializer, sourceFile, absolutePath, exported);
|
|
77
|
+
if (sig)
|
|
78
|
+
functions.push(sig);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// Check for method declarations in classes
|
|
84
|
+
if (ts.isMethodDeclaration(node) && node.name && ts.isIdentifier(node.name)) {
|
|
85
|
+
const parent = node.parent;
|
|
86
|
+
if (ts.isClassDeclaration(parent)) {
|
|
87
|
+
const sig = this.extractMethodSignature(node, sourceFile, absolutePath, parent);
|
|
88
|
+
if (sig)
|
|
89
|
+
functions.push(sig);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// Check for interface declarations
|
|
93
|
+
if (ts.isInterfaceDeclaration(node)) {
|
|
94
|
+
const typeDef = this.extractInterfaceDefinition(node, sourceFile, absolutePath);
|
|
95
|
+
if (typeDef)
|
|
96
|
+
types.push(typeDef);
|
|
97
|
+
}
|
|
98
|
+
// Check for type alias declarations
|
|
99
|
+
if (ts.isTypeAliasDeclaration(node)) {
|
|
100
|
+
const typeDef = this.extractTypeAliasDefinition(node, sourceFile, absolutePath);
|
|
101
|
+
if (typeDef)
|
|
102
|
+
types.push(typeDef);
|
|
103
|
+
}
|
|
104
|
+
// Check for class declarations
|
|
105
|
+
if (ts.isClassDeclaration(node) && node.name) {
|
|
106
|
+
const typeDef = this.extractClassDefinition(node, sourceFile, absolutePath);
|
|
107
|
+
if (typeDef)
|
|
108
|
+
types.push(typeDef);
|
|
109
|
+
}
|
|
110
|
+
ts.forEachChild(node, visit);
|
|
111
|
+
};
|
|
112
|
+
visit(sourceFile);
|
|
113
|
+
return { functions, types, errors };
|
|
114
|
+
}
|
|
115
|
+
extractFunctionSignature(node, sourceFile, filePath) {
|
|
116
|
+
if (!node.name)
|
|
117
|
+
return null;
|
|
118
|
+
const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
|
|
119
|
+
const exported = this.hasExportModifier(node);
|
|
120
|
+
const jsdoc = this.extractJSDoc(node, sourceFile);
|
|
121
|
+
return {
|
|
122
|
+
name: node.name.text,
|
|
123
|
+
filePath,
|
|
124
|
+
lineNumber: line + 1,
|
|
125
|
+
params: this.extractParameters(node.parameters, sourceFile),
|
|
126
|
+
returnType: this.extractReturnType(node, sourceFile),
|
|
127
|
+
exported,
|
|
128
|
+
async: this.hasAsyncModifier(node),
|
|
129
|
+
jsdoc,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
extractArrowFunctionSignature(name, node, sourceFile, filePath, exported) {
|
|
133
|
+
const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
|
|
134
|
+
return {
|
|
135
|
+
name,
|
|
136
|
+
filePath,
|
|
137
|
+
lineNumber: line + 1,
|
|
138
|
+
params: this.extractParameters(node.parameters, sourceFile),
|
|
139
|
+
returnType: this.extractReturnType(node, sourceFile),
|
|
140
|
+
exported,
|
|
141
|
+
async: this.hasAsyncModifier(node),
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
extractMethodSignature(node, sourceFile, filePath, classNode) {
|
|
145
|
+
if (!node.name || !ts.isIdentifier(node.name))
|
|
146
|
+
return null;
|
|
147
|
+
const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
|
|
148
|
+
const className = classNode.name?.text ?? 'AnonymousClass';
|
|
149
|
+
const exported = this.hasExportModifier(classNode);
|
|
150
|
+
const jsdoc = this.extractJSDoc(node, sourceFile);
|
|
151
|
+
return {
|
|
152
|
+
name: `${className}.${node.name.text}`,
|
|
153
|
+
filePath,
|
|
154
|
+
lineNumber: line + 1,
|
|
155
|
+
params: this.extractParameters(node.parameters, sourceFile),
|
|
156
|
+
returnType: this.extractReturnType(node, sourceFile),
|
|
157
|
+
exported,
|
|
158
|
+
async: this.hasAsyncModifier(node),
|
|
159
|
+
jsdoc,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
extractInterfaceDefinition(node, sourceFile, filePath) {
|
|
163
|
+
const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
|
|
164
|
+
return {
|
|
165
|
+
name: node.name.text,
|
|
166
|
+
filePath,
|
|
167
|
+
lineNumber: line + 1,
|
|
168
|
+
kind: 'interface',
|
|
169
|
+
exported: this.hasExportModifier(node),
|
|
170
|
+
properties: this.extractInterfaceProperties(node, sourceFile),
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
extractTypeAliasDefinition(node, sourceFile, filePath) {
|
|
174
|
+
const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
|
|
175
|
+
return {
|
|
176
|
+
name: node.name.text,
|
|
177
|
+
filePath,
|
|
178
|
+
lineNumber: line + 1,
|
|
179
|
+
kind: 'type',
|
|
180
|
+
exported: this.hasExportModifier(node),
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
extractClassDefinition(node, sourceFile, filePath) {
|
|
184
|
+
if (!node.name)
|
|
185
|
+
return null;
|
|
186
|
+
const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
|
|
187
|
+
return {
|
|
188
|
+
name: node.name.text,
|
|
189
|
+
filePath,
|
|
190
|
+
lineNumber: line + 1,
|
|
191
|
+
kind: 'class',
|
|
192
|
+
exported: this.hasExportModifier(node),
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
extractParameters(params, sourceFile) {
|
|
196
|
+
return params.map((param) => {
|
|
197
|
+
const name = ts.isIdentifier(param.name) ? param.name.text : param.name.getText(sourceFile);
|
|
198
|
+
const type = param.type ? param.type.getText(sourceFile) : 'unknown';
|
|
199
|
+
const optional = !!param.questionToken || !!param.initializer;
|
|
200
|
+
return { name, type, optional };
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
extractReturnType(node, sourceFile) {
|
|
204
|
+
if (node.type) {
|
|
205
|
+
return node.type.getText(sourceFile);
|
|
206
|
+
}
|
|
207
|
+
return 'unknown';
|
|
208
|
+
}
|
|
209
|
+
extractInterfaceProperties(node, sourceFile) {
|
|
210
|
+
const properties = [];
|
|
211
|
+
for (const member of node.members) {
|
|
212
|
+
if (ts.isPropertySignature(member) && member.name) {
|
|
213
|
+
const name = ts.isIdentifier(member.name)
|
|
214
|
+
? member.name.text
|
|
215
|
+
: member.name.getText(sourceFile);
|
|
216
|
+
const type = member.type ? member.type.getText(sourceFile) : 'unknown';
|
|
217
|
+
const optional = !!member.questionToken;
|
|
218
|
+
properties.push({ name, type, optional });
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return properties;
|
|
222
|
+
}
|
|
223
|
+
extractJSDoc(node, sourceFile) {
|
|
224
|
+
const jsdocNodes = ts.getJSDocCommentsAndTags(node);
|
|
225
|
+
if (jsdocNodes.length === 0)
|
|
226
|
+
return undefined;
|
|
227
|
+
const comments = [];
|
|
228
|
+
for (const jsdoc of jsdocNodes) {
|
|
229
|
+
if (ts.isJSDoc(jsdoc) && jsdoc.comment) {
|
|
230
|
+
const comment = typeof jsdoc.comment === 'string'
|
|
231
|
+
? jsdoc.comment
|
|
232
|
+
: jsdoc.comment.map(c => c.getText(sourceFile)).join('');
|
|
233
|
+
comments.push(comment);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return comments.length > 0 ? comments.join('\n') : undefined;
|
|
237
|
+
}
|
|
238
|
+
hasExportModifier(node) {
|
|
239
|
+
const modifiers = ts.canHaveModifiers(node) ? ts.getModifiers(node) : undefined;
|
|
240
|
+
return modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword) ?? false;
|
|
241
|
+
}
|
|
242
|
+
hasAsyncModifier(node) {
|
|
243
|
+
const modifiers = ts.canHaveModifiers(node) ? ts.getModifiers(node) : undefined;
|
|
244
|
+
return modifiers?.some((m) => m.kind === ts.SyntaxKind.AsyncKeyword) ?? false;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=typescript-analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript-analyzer.js","sourceRoot":"","sources":["../../../../../src/core/discrepancy/analyzers/typescript-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Brownfield Discrepancy Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages persistent storage and lifecycle of brownfield discrepancies.
|
|
5
|
+
* Uses batched folder structure for scalability (supports 10,000+ discrepancies).
|
|
6
|
+
*
|
|
7
|
+
* @module core/discrepancy/brownfield-manager
|
|
8
|
+
*/
|
|
9
|
+
import { Logger } from '../../utils/logger.js';
|
|
10
|
+
import { BrownfieldDiscrepancy, BrownfieldDiscrepancyCreate, BrownfieldDiscrepancyFilter, BrownfieldDiscrepancyResolution, BrownfieldDiscrepancyStats, BrownfieldDiscrepancyUpdate } from './brownfield-types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Manages brownfield discrepancies with persistent storage.
|
|
13
|
+
*/
|
|
14
|
+
export declare class BrownfieldDiscrepancyManager {
|
|
15
|
+
private readonly projectPath;
|
|
16
|
+
private readonly basePath;
|
|
17
|
+
private readonly logger;
|
|
18
|
+
private index;
|
|
19
|
+
constructor(projectPath: string, options?: {
|
|
20
|
+
logger?: Logger;
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Initialize folder structure if needed.
|
|
24
|
+
*/
|
|
25
|
+
ensureFolderStructure(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Create a new discrepancy with auto-generated ID.
|
|
28
|
+
*/
|
|
29
|
+
createDiscrepancy(data: BrownfieldDiscrepancyCreate): Promise<BrownfieldDiscrepancy>;
|
|
30
|
+
/**
|
|
31
|
+
* Get a discrepancy by ID.
|
|
32
|
+
*/
|
|
33
|
+
getDiscrepancy(id: string): Promise<BrownfieldDiscrepancy | null>;
|
|
34
|
+
/**
|
|
35
|
+
* Update a discrepancy.
|
|
36
|
+
*/
|
|
37
|
+
updateDiscrepancy(id: string, updates: BrownfieldDiscrepancyUpdate): Promise<BrownfieldDiscrepancy | null>;
|
|
38
|
+
/**
|
|
39
|
+
* Delete a discrepancy.
|
|
40
|
+
*/
|
|
41
|
+
deleteDiscrepancy(id: string): Promise<boolean>;
|
|
42
|
+
/**
|
|
43
|
+
* List discrepancies with optional filtering.
|
|
44
|
+
*/
|
|
45
|
+
listDiscrepancies(filter?: BrownfieldDiscrepancyFilter): Promise<BrownfieldDiscrepancy[]>;
|
|
46
|
+
/**
|
|
47
|
+
* Get summary statistics.
|
|
48
|
+
*/
|
|
49
|
+
getStats(): Promise<BrownfieldDiscrepancyStats>;
|
|
50
|
+
/**
|
|
51
|
+
* Link discrepancy to an increment.
|
|
52
|
+
* Returns true if successfully linked, false if discrepancy not found.
|
|
53
|
+
*/
|
|
54
|
+
linkToIncrement(discrepancyId: string, incrementId: string): Promise<boolean>;
|
|
55
|
+
/**
|
|
56
|
+
* Resolve a discrepancy.
|
|
57
|
+
*/
|
|
58
|
+
resolveDiscrepancy(id: string, resolution: BrownfieldDiscrepancyResolution): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Ignore a discrepancy.
|
|
61
|
+
*/
|
|
62
|
+
ignoreDiscrepancy(id: string, reason: string): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Create multiple discrepancies in batch.
|
|
65
|
+
*/
|
|
66
|
+
createBatch(discrepancies: BrownfieldDiscrepancyCreate[]): Promise<BrownfieldDiscrepancy[]>;
|
|
67
|
+
/**
|
|
68
|
+
* Archive resolved discrepancies to YYYY-MM folders.
|
|
69
|
+
*/
|
|
70
|
+
archiveResolved(): Promise<number>;
|
|
71
|
+
/**
|
|
72
|
+
* Get the batch folder name for a numeric ID.
|
|
73
|
+
* Example: 1-100 → "0001-0100", 101-200 → "0101-0200"
|
|
74
|
+
*/
|
|
75
|
+
getBatchFolder(numericId: number): string;
|
|
76
|
+
private getNextId;
|
|
77
|
+
private getStatusFolder;
|
|
78
|
+
private saveDiscrepancy;
|
|
79
|
+
private moveDiscrepancy;
|
|
80
|
+
private findDiscrepancyPath;
|
|
81
|
+
private readDiscrepancyFile;
|
|
82
|
+
private getAllJsonFiles;
|
|
83
|
+
private matchesFilter;
|
|
84
|
+
private loadIndex;
|
|
85
|
+
private saveIndex;
|
|
86
|
+
private updateIndex;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=brownfield-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brownfield-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/discrepancy/brownfield-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAE3B,+BAA+B,EAC/B,0BAA0B,EAG1B,2BAA2B,EAE5B,MAAM,uBAAuB,CAAC;AAgC/B;;GAEG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,KAAK,CAA2C;gBAGtD,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IAOnC;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB5C;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAgB1F;;OAEG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAevE;;OAEG;IACG,iBAAiB,CACrB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IA0BxC;;OAEG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBrD;;OAEG;IACG,iBAAiB,CAAC,MAAM,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAoE/F;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAKrD;;;OAGG;IACG,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnF;;OAEG;IACG,kBAAkB,CACtB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,+BAA+B,GAC1C,OAAO,CAAC,IAAI,CAAC;IAOhB;;OAEG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE;;OAEG;IACG,WAAW,CACf,aAAa,EAAE,2BAA2B,EAAE,GAC3C,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAWnC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IA4CxC;;;OAGG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;YAU3B,SAAS;IAMvB,OAAO,CAAC,eAAe;YAUT,eAAe;YAaf,eAAe;YAuCf,mBAAmB;IAkCjC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,aAAa;YAiBP,SAAS;YAiBT,SAAS;YAWT,WAAW;CA4D1B"}
|