specweave 0.28.67 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/helpers/issue-tracker/ado.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.js +14 -5
- package/dist/src/cli/helpers/issue-tracker/ado.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 +231 -45
- 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 +1 -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-ado/lib/ado-project-detector.js +11 -5
- package/plugins/specweave-ado/lib/ado-project-detector.ts +16 -5
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +34 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +51 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicate-detector.js","sourceRoot":"","sources":["../../../src/importers/duplicate-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"duplicate-detector.js","sourceRoot":"","sources":["../../../src/importers/duplicate-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA4C5B;;;;;GAKG;AACH,MAAM,OAAO,iBAAiB;IAI5B,YAAY,OAAiC;QAFrC,UAAK,GAA4C,IAAI,CAAC;QAG5D,IAAI,CAAC,OAAO,GAAG;YACb,WAAW,EAAE,IAAI;YACjB,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,uBAAuB,CAAC,UAAkB;QAC9C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACjE,OAAO,SAAS,KAAK,IAAI,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,uBAAuB,CAAC,UAAkB;QAC9C,qBAAqB;QACrB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEtD,mCAAmC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAE1D,OAAO,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB;QAC9B,iCAAiC;QACjC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAA+B,CAAC;QAE7D,gDAAgD;QAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhD,0CAA0C;QAC1C,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACpE,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;QAC7B,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,kBAAkB;QAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,wDAAwD;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,yBAAyB,CAAC,QAAgB;QACtD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAErD,2BAA2B;YAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAE/B,uCAAuC;YACvC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5B,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC;oBACjD,QAAQ;oBACR,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC3C,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB;oBACvC,mCAAmC;oBACnC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;oBACjC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;oBAC/B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;oBAC/B,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB;iBAChD,CAAC;YACJ,CAAC;YAED,uDAAuD;YACvD,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC5E,IAAI,eAAe,EAAE,CAAC;gBACpB,iDAAiD;gBACjD,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAC1E,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACxE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAChF,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBAEvE,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC;oBACjD,QAAQ;oBACR,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACrC,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE;oBACnD,oCAAoC;oBACpC,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;oBACtC,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;oBACpC,QAAQ,EAAE,CAAC,CAAC,WAAW;oBACvB,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;iBAC3C,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,gCAAgC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,QAAgB,EAAE,OAAe;QAC3D,2CAA2C;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACrE,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAChD,CAAC;QAED,gCAAgC;QAChC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACzD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,yBAAyB;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;OAUG;IACK,mBAAmB,CAAC,UAAkB;QAC5C,OAAO,UAAU;aACd,WAAW,EAAE;YACd,2DAA2D;aAC1D,OAAO,CAAC,yBAAyB,EAAE,UAAU,CAAC;YAC/C,iBAAiB;aAChB,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;aAC3B,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;aACvB,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;aAC3B,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI;YACzC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC;SAC5B,CAAC;IACJ,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAkB,EAClB,QAAgB;IAEhB,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -63,6 +63,8 @@ export interface ItemConverterOptions {
|
|
|
63
63
|
autoArchiveAfterDays?: number;
|
|
64
64
|
/** Callback for skipped duplicates */
|
|
65
65
|
onDuplicateSkipped?: (externalId: string, existingUsId: string) => void;
|
|
66
|
+
/** Callback for parent change (file moved due to hierarchy update) */
|
|
67
|
+
onParentChanged?: (usId: string, oldFeatureId: string, newFeatureId: string, reason: string) => void;
|
|
66
68
|
/** Callback for feature folder creation */
|
|
67
69
|
onFeatureCreated?: (featureId: string, featurePath: string) => void;
|
|
68
70
|
/** Callback for archived items */
|
|
@@ -130,11 +132,12 @@ export declare class ItemConverter {
|
|
|
130
132
|
/**
|
|
131
133
|
* Group items by feature (based on source repo, parent hierarchy, or labels)
|
|
132
134
|
* CRITICAL FIX (2025-12-01): For ADO, group by parent Capability/Epic to preserve hierarchy
|
|
135
|
+
* CRITICAL FIX (2025-12-01): ADO orphans (no parent) get INDIVIDUAL folders, not 'default' group
|
|
133
136
|
*
|
|
134
137
|
* ADO Hierarchy: Capability → Epic → Feature → User Story → Task
|
|
135
138
|
* - Capability/Epic items become the feature (group leader)
|
|
136
|
-
* - User Stories are grouped under their parent
|
|
137
|
-
* - Items without parent
|
|
139
|
+
* - User Stories are grouped under their parent Epic/Capability
|
|
140
|
+
* - Items without parent (true orphans) get INDIVIDUAL FS-XXXE folders
|
|
138
141
|
*/
|
|
139
142
|
private groupItemsByFeature;
|
|
140
143
|
/**
|
|
@@ -168,12 +171,43 @@ export declare class ItemConverter {
|
|
|
168
171
|
* @returns True if item is older than autoArchiveAfterDays threshold
|
|
169
172
|
*/
|
|
170
173
|
private shouldAutoArchive;
|
|
174
|
+
/**
|
|
175
|
+
* Check if parent has changed between existing reference and new item
|
|
176
|
+
*
|
|
177
|
+
* CRITICAL (2025-12-01): Detects orphan → has parent, or parent ID change
|
|
178
|
+
*
|
|
179
|
+
* @param existingRef - Existing reference from living docs
|
|
180
|
+
* @param newItem - New item being imported
|
|
181
|
+
* @returns True if parent has changed and file should be moved
|
|
182
|
+
*/
|
|
183
|
+
private hasParentChanged;
|
|
184
|
+
/**
|
|
185
|
+
* Handle parent change by moving file to new feature folder
|
|
186
|
+
*
|
|
187
|
+
* CRITICAL (2025-12-01): Moves US file when hierarchy changes on re-import
|
|
188
|
+
*
|
|
189
|
+
* @param existingRef - Existing reference with old location
|
|
190
|
+
* @param newItem - New item with updated parent info
|
|
191
|
+
* @param newFeatureId - New feature folder ID (if already allocated for group)
|
|
192
|
+
*/
|
|
193
|
+
private handleParentChange;
|
|
194
|
+
/**
|
|
195
|
+
* Update parent metadata in file content
|
|
196
|
+
*/
|
|
197
|
+
private updateParentMetadataInContent;
|
|
198
|
+
/**
|
|
199
|
+
* Clean up empty feature folder after file move
|
|
200
|
+
*
|
|
201
|
+
* Checks if folder is empty (except FEATURE.md) and removes it if orphan folder
|
|
202
|
+
*/
|
|
203
|
+
private cleanupEmptyFeatureFolder;
|
|
171
204
|
/**
|
|
172
205
|
* Generate origin badge for living docs
|
|
173
206
|
*/
|
|
174
207
|
private generateOriginBadge;
|
|
175
208
|
/**
|
|
176
209
|
* Generate markdown content for living docs User Story
|
|
210
|
+
* CRITICAL (2025-12-01): Includes parent tracking info for re-import hierarchy updates
|
|
177
211
|
*/
|
|
178
212
|
private generateMarkdown;
|
|
179
213
|
/**
|
|
@@ -188,5 +222,10 @@ export declare class ItemConverter {
|
|
|
188
222
|
* CRITICAL: This validation ensures we're not auto-creating increments.
|
|
189
223
|
*/
|
|
190
224
|
static validateNoIncrementsCreated(projectRoot: string): void;
|
|
225
|
+
/**
|
|
226
|
+
* TESTING ONLY: Expose private method for unit tests
|
|
227
|
+
* DO NOT use in production code
|
|
228
|
+
*/
|
|
229
|
+
__test__groupItemsByFeature(items: ExternalItem[]): Map<string, ExternalItem[]>;
|
|
191
230
|
}
|
|
192
231
|
//# sourceMappingURL=item-converter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-converter.d.ts","sourceRoot":"","sources":["../../../src/importers/item-converter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAO3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAGpF,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IAEX,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAE7B,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IAEf,wBAAwB;IACxB,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;QAC5C,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IAEjB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IAEjB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,8DAA8D;IAC9D,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IAEzC,iDAAiD;IACjD,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,+EAA+E;IAC/E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,sCAAsC;IACtC,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAExE,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpE,kCAAkC;IAClC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAMxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;CAC9C;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,aAAa,CAA8B;IACnD,2DAA2D;IAC3D,OAAO,CAAC,eAAe,CAAkC;gBAE7C,OAAO,EAAE,oBAAoB;IA+BzC;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB;
|
|
1
|
+
{"version":3,"file":"item-converter.d.ts","sourceRoot":"","sources":["../../../src/importers/item-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,7 @@ export class ItemConverter {
|
|
|
61
61
|
// Generate origin badge
|
|
62
62
|
const originBadge = this.generateOriginBadge(item);
|
|
63
63
|
// Generate markdown content for living docs
|
|
64
|
+
// CRITICAL (2025-12-01): Include parent info for future re-import parent change detection
|
|
64
65
|
const markdown = this.generateMarkdown({
|
|
65
66
|
id,
|
|
66
67
|
title: item.title,
|
|
@@ -77,7 +78,13 @@ export class ItemConverter {
|
|
|
77
78
|
createdAt: item.createdAt.toISOString(),
|
|
78
79
|
updatedAt: item.updatedAt.toISOString(),
|
|
79
80
|
labels: item.labels,
|
|
80
|
-
sourceRepo: item.sourceRepo
|
|
81
|
+
sourceRepo: item.sourceRepo,
|
|
82
|
+
// Parent tracking for re-import hierarchy updates
|
|
83
|
+
parentId: item.parentId,
|
|
84
|
+
featureId: featureId,
|
|
85
|
+
isOrphan: !item.parentId,
|
|
86
|
+
adoWorkItemType: item.adoWorkItemType,
|
|
87
|
+
adoAreaPath: item.adoAreaPath
|
|
81
88
|
}
|
|
82
89
|
});
|
|
83
90
|
// Generate file path (with feature folder if allocated)
|
|
@@ -171,6 +178,15 @@ export class ItemConverter {
|
|
|
171
178
|
if (this.duplicateDetector) {
|
|
172
179
|
const existingReference = await this.duplicateDetector.findExternalIdReference(item.id);
|
|
173
180
|
if (existingReference) {
|
|
181
|
+
// CRITICAL (2025-12-01): Check if parent has changed (orphan → has parent, or parent changed)
|
|
182
|
+
const parentChanged = this.hasParentChanged(existingReference, item);
|
|
183
|
+
if (parentChanged) {
|
|
184
|
+
// Handle parent change - move file to new feature folder
|
|
185
|
+
await this.handleParentChange(existingReference, item, featureId);
|
|
186
|
+
// Skip conversion - file was moved/updated, not created
|
|
187
|
+
skippedCount++;
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
174
190
|
skippedCount++;
|
|
175
191
|
// Notify callback if provided
|
|
176
192
|
if (this.options.onDuplicateSkipped) {
|
|
@@ -195,17 +211,22 @@ export class ItemConverter {
|
|
|
195
211
|
/**
|
|
196
212
|
* Group items by feature (based on source repo, parent hierarchy, or labels)
|
|
197
213
|
* CRITICAL FIX (2025-12-01): For ADO, group by parent Capability/Epic to preserve hierarchy
|
|
214
|
+
* CRITICAL FIX (2025-12-01): ADO orphans (no parent) get INDIVIDUAL folders, not 'default' group
|
|
198
215
|
*
|
|
199
216
|
* ADO Hierarchy: Capability → Epic → Feature → User Story → Task
|
|
200
217
|
* - Capability/Epic items become the feature (group leader)
|
|
201
|
-
* - User Stories are grouped under their parent
|
|
202
|
-
* - Items without parent
|
|
218
|
+
* - User Stories are grouped under their parent Epic/Capability
|
|
219
|
+
* - Items without parent (true orphans) get INDIVIDUAL FS-XXXE folders
|
|
203
220
|
*/
|
|
204
221
|
groupItemsByFeature(items) {
|
|
205
222
|
const groups = new Map();
|
|
206
|
-
//
|
|
223
|
+
// CRITICAL FIX (2025-12-01): Detect ADO items even without hierarchy info
|
|
224
|
+
// ADO items have adoProjectName set by the importer
|
|
225
|
+
// Previous bug: Orphan ADO items (no parentId, not epics) fell through to 'default' group
|
|
226
|
+
const hasAdoItems = items.some(item => item.platform === 'ado' && item.adoProjectName);
|
|
207
227
|
const hasAdoHierarchy = items.some(item => item.platform === 'ado' && (item.parentId || item.type === 'epic'));
|
|
208
|
-
|
|
228
|
+
// Process ADO items: with hierarchy (group by parent) OR orphans (individual folders)
|
|
229
|
+
if (hasAdoItems) {
|
|
209
230
|
// Build a map of all items by ID for lookup
|
|
210
231
|
const itemById = new Map();
|
|
211
232
|
for (const item of items) {
|
|
@@ -249,24 +270,19 @@ export class ItemConverter {
|
|
|
249
270
|
current = current.parentId ? itemById.get(current.parentId) : undefined;
|
|
250
271
|
}
|
|
251
272
|
}
|
|
252
|
-
// If parent
|
|
253
|
-
//
|
|
254
|
-
if (!groupKey) {
|
|
255
|
-
groupKey = `feature:${item.parentId}`;
|
|
256
|
-
}
|
|
273
|
+
// NOTE: If parent NOT in dataset, fall through to orphan handling below
|
|
274
|
+
// DO NOT group by parentId - we want individual FS-XXXE folders per item
|
|
257
275
|
}
|
|
258
|
-
// CRITICAL FIX (2025-12-01): For
|
|
259
|
-
//
|
|
260
|
-
//
|
|
276
|
+
// CRITICAL FIX (2025-12-01): For orphan items, create INDIVIDUAL FS-XXXE
|
|
277
|
+
// folders per item. This applies when:
|
|
278
|
+
// - Item has no parentId (true orphan)
|
|
279
|
+
// - Item has parentId but parent NOT in dataset (orphan with missing parent)
|
|
280
|
+
// Each orphan gets its own feature folder with US title as FEATURE.md header
|
|
281
|
+
// UNIVERSAL: Applies to ALL platforms (ADO, JIRA, GitHub) for consistent handling
|
|
261
282
|
if (!groupKey) {
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
}
|
|
266
|
-
else {
|
|
267
|
-
// Non-ADO items: fallback to sourceRepo or default
|
|
268
|
-
groupKey = item.sourceRepo || 'default';
|
|
269
|
-
}
|
|
283
|
+
// Each orphan gets its own feature folder with unique group key
|
|
284
|
+
// This ensures consistent behavior across all platforms
|
|
285
|
+
groupKey = `orphan:${item.id}`;
|
|
270
286
|
}
|
|
271
287
|
if (!groups.has(groupKey)) {
|
|
272
288
|
groups.set(groupKey, []);
|
|
@@ -366,36 +382,52 @@ export class ItemConverter {
|
|
|
366
382
|
const featurePath = path.join(baseDir, featureId);
|
|
367
383
|
// Create directory
|
|
368
384
|
fs.mkdirSync(featurePath, { recursive: true });
|
|
369
|
-
// Check if this is
|
|
385
|
+
// Check if this is a feature-level item or orphan
|
|
370
386
|
const isAdoFeatureGroup = groupKey.startsWith('feature:');
|
|
371
|
-
const
|
|
387
|
+
const isOrphanGroup = groupKey.startsWith('orphan:');
|
|
372
388
|
const featureLevelTypes = new Set(['capability', 'epic', 'feature']);
|
|
373
389
|
const adoWitType = firstItem.adoWorkItemType?.toLowerCase();
|
|
374
390
|
const isAdoFeatureLevelItem = isAdoFeatureGroup &&
|
|
375
391
|
firstItem.platform === 'ado' &&
|
|
376
392
|
featureLevelTypes.has(adoWitType || firstItem.type);
|
|
377
|
-
// Generate FEATURE.md content based on item type
|
|
393
|
+
// Generate FEATURE.md content based on item type and platform
|
|
378
394
|
let featureTitle;
|
|
379
395
|
let description;
|
|
380
396
|
let externalLink;
|
|
381
397
|
let witTypeLabel;
|
|
398
|
+
let platformLabel;
|
|
399
|
+
// Platform-specific labels and links
|
|
400
|
+
switch (firstItem.platform) {
|
|
401
|
+
case 'ado':
|
|
402
|
+
platformLabel = 'Azure DevOps';
|
|
403
|
+
break;
|
|
404
|
+
case 'jira':
|
|
405
|
+
platformLabel = 'JIRA';
|
|
406
|
+
break;
|
|
407
|
+
case 'github':
|
|
408
|
+
platformLabel = 'GitHub';
|
|
409
|
+
break;
|
|
410
|
+
default:
|
|
411
|
+
platformLabel = firstItem.platform || 'external tool';
|
|
412
|
+
}
|
|
382
413
|
if (isAdoFeatureLevelItem) {
|
|
383
414
|
// For ADO Capability/Epic/Feature, use the item's actual info
|
|
384
415
|
witTypeLabel = firstItem.adoWorkItemType || 'Feature';
|
|
385
416
|
featureTitle = `${witTypeLabel}: ${firstItem.title}`;
|
|
386
|
-
description = firstItem.description || `This ${witTypeLabel.toLowerCase()} was imported from
|
|
387
|
-
externalLink = `[${witTypeLabel} in
|
|
388
|
-
}
|
|
389
|
-
else if (
|
|
390
|
-
// CRITICAL FIX (2025-12-01): For
|
|
391
|
-
// create feature with the
|
|
392
|
-
// -
|
|
393
|
-
// - Parent
|
|
417
|
+
description = firstItem.description || `This ${witTypeLabel.toLowerCase()} was imported from ${platformLabel}.`;
|
|
418
|
+
externalLink = `[${witTypeLabel} in ${platformLabel}](${firstItem.url})`;
|
|
419
|
+
}
|
|
420
|
+
else if (isOrphanGroup) {
|
|
421
|
+
// CRITICAL FIX (2025-12-01): For orphan items (no parent Epic/Feature),
|
|
422
|
+
// create feature with the item's info. This happens when:
|
|
423
|
+
// - Item has no parent in external tool
|
|
424
|
+
// - Parent wasn't imported (outside time range or different project)
|
|
425
|
+
// UNIVERSAL: Applies to ALL platforms (ADO, JIRA, GitHub)
|
|
394
426
|
witTypeLabel = firstItem.adoWorkItemType || 'User Story';
|
|
395
427
|
featureTitle = `${witTypeLabel}: ${firstItem.title}`;
|
|
396
428
|
description = firstItem.description ||
|
|
397
|
-
`This ${witTypeLabel.toLowerCase()} was imported from
|
|
398
|
-
externalLink = `[${witTypeLabel} in
|
|
429
|
+
`This ${witTypeLabel.toLowerCase()} was imported from ${platformLabel} without a parent Epic/Feature.`;
|
|
430
|
+
externalLink = firstItem.url ? `[${witTypeLabel} in ${platformLabel}](${firstItem.url})` : '';
|
|
399
431
|
}
|
|
400
432
|
else if (firstItem.sourceRepo) {
|
|
401
433
|
featureTitle = `Feature: ${firstItem.sourceRepo} External Items`;
|
|
@@ -404,13 +436,13 @@ export class ItemConverter {
|
|
|
404
436
|
witTypeLabel = 'Feature';
|
|
405
437
|
}
|
|
406
438
|
else {
|
|
407
|
-
featureTitle = `Feature: Imported from ${
|
|
439
|
+
featureTitle = `Feature: Imported from ${platformLabel}`;
|
|
408
440
|
description = 'This feature folder contains User Stories imported from external tools.';
|
|
409
441
|
externalLink = '';
|
|
410
442
|
witTypeLabel = 'Feature';
|
|
411
443
|
}
|
|
412
|
-
// Include external metadata for
|
|
413
|
-
const
|
|
444
|
+
// Include external metadata for feature-level items and all orphans
|
|
445
|
+
const includeExternalMetadata = isAdoFeatureLevelItem || isOrphanGroup;
|
|
414
446
|
const featureContent = `---
|
|
415
447
|
id: ${featureId}
|
|
416
448
|
title: ${featureTitle}
|
|
@@ -419,15 +451,15 @@ source: ${firstItem.platform}
|
|
|
419
451
|
${firstItem.sourceRepo ? `source_repo: ${firstItem.sourceRepo}` : ''}
|
|
420
452
|
${firstItem.adoProjectName ? `ado_project: ${firstItem.adoProjectName}` : ''}
|
|
421
453
|
${firstItem.adoAreaPath ? `ado_area_path: ${firstItem.adoAreaPath}` : ''}
|
|
422
|
-
${
|
|
423
|
-
${
|
|
424
|
-
${
|
|
454
|
+
${includeExternalMetadata ? `work_item_type: ${witTypeLabel}` : ''}
|
|
455
|
+
${includeExternalMetadata ? `external_id: ${firstItem.id}` : ''}
|
|
456
|
+
${isOrphanGroup ? `orphan: true` : ''}
|
|
425
457
|
created: ${new Date().toISOString()}
|
|
426
458
|
---
|
|
427
459
|
|
|
428
460
|
# ${featureTitle}
|
|
429
461
|
|
|
430
|
-
**Origin**: 🔗 ${externalLink || `Imported from ${
|
|
462
|
+
**Origin**: 🔗 ${externalLink || `Imported from ${platformLabel}`}
|
|
431
463
|
|
|
432
464
|
## Description
|
|
433
465
|
|
|
@@ -435,7 +467,7 @@ ${description}
|
|
|
435
467
|
|
|
436
468
|
${firstItem.sourceRepo ? `**Source Repository**: ${firstItem.sourceRepo}` : ''}
|
|
437
469
|
${firstItem.adoAreaPath ? `**Area Path**: ${firstItem.adoAreaPath}` : ''}
|
|
438
|
-
${
|
|
470
|
+
${isOrphanGroup ? `\n> **Note**: This feature was created from an orphan item (no parent Epic/Feature in ${platformLabel} or parent not imported).` : ''}
|
|
439
471
|
|
|
440
472
|
## User Stories
|
|
441
473
|
|
|
@@ -444,9 +476,9 @@ User stories in this ${witTypeLabel.toLowerCase()} will be listed here.
|
|
|
444
476
|
## Status
|
|
445
477
|
|
|
446
478
|
- **Created**: ${new Date().toISOString()}
|
|
447
|
-
- **Source**: ${
|
|
448
|
-
${
|
|
449
|
-
${
|
|
479
|
+
- **Source**: ${platformLabel}
|
|
480
|
+
${includeExternalMetadata ? `- **External ID**: ${firstItem.id}` : ''}
|
|
481
|
+
${isOrphanGroup ? `- **Type**: Orphan (no parent Epic)` : ''}
|
|
450
482
|
`;
|
|
451
483
|
// Write FEATURE.md
|
|
452
484
|
const featureFile = path.join(featurePath, 'FEATURE.md');
|
|
@@ -481,6 +513,136 @@ ${isAdoOrphanGroup ? `- **Type**: Orphan (no parent Epic)` : ''}
|
|
|
481
513
|
const ageDays = Math.floor(ageMs / (1000 * 60 * 60 * 24));
|
|
482
514
|
return ageDays >= threshold;
|
|
483
515
|
}
|
|
516
|
+
// ============================================================================
|
|
517
|
+
// Parent Change Detection (v0.29.0+ - Re-Import Hierarchy Updates)
|
|
518
|
+
// ============================================================================
|
|
519
|
+
/**
|
|
520
|
+
* Check if parent has changed between existing reference and new item
|
|
521
|
+
*
|
|
522
|
+
* CRITICAL (2025-12-01): Detects orphan → has parent, or parent ID change
|
|
523
|
+
*
|
|
524
|
+
* @param existingRef - Existing reference from living docs
|
|
525
|
+
* @param newItem - New item being imported
|
|
526
|
+
* @returns True if parent has changed and file should be moved
|
|
527
|
+
*/
|
|
528
|
+
hasParentChanged(existingRef, newItem) {
|
|
529
|
+
// Only check for ADO items with hierarchy support
|
|
530
|
+
if (newItem.platform !== 'ado') {
|
|
531
|
+
return false;
|
|
532
|
+
}
|
|
533
|
+
// Case 1: Was orphan, now has parent
|
|
534
|
+
if (existingRef.isOrphan && newItem.parentId) {
|
|
535
|
+
return true;
|
|
536
|
+
}
|
|
537
|
+
// Case 2: Parent ID changed (including has parent → different parent)
|
|
538
|
+
if (existingRef.parentId && newItem.parentId && existingRef.parentId !== newItem.parentId) {
|
|
539
|
+
return true;
|
|
540
|
+
}
|
|
541
|
+
return false;
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* Handle parent change by moving file to new feature folder
|
|
545
|
+
*
|
|
546
|
+
* CRITICAL (2025-12-01): Moves US file when hierarchy changes on re-import
|
|
547
|
+
*
|
|
548
|
+
* @param existingRef - Existing reference with old location
|
|
549
|
+
* @param newItem - New item with updated parent info
|
|
550
|
+
* @param newFeatureId - New feature folder ID (if already allocated for group)
|
|
551
|
+
*/
|
|
552
|
+
async handleParentChange(existingRef, newItem, newFeatureId) {
|
|
553
|
+
const oldFilePath = existingRef.filePath;
|
|
554
|
+
const oldFeatureId = existingRef.featureId || 'unknown';
|
|
555
|
+
// Determine the new feature folder
|
|
556
|
+
// If newFeatureId not provided, allocate one based on new parent
|
|
557
|
+
let targetFeatureId = newFeatureId;
|
|
558
|
+
if (!targetFeatureId && this.fsIdAllocator && this.options.enableFeatureAllocation) {
|
|
559
|
+
// Create a group key based on new parent
|
|
560
|
+
const groupKey = `parent:${newItem.parentId}`;
|
|
561
|
+
targetFeatureId = await this.allocateFeatureForGroup(newItem, groupKey);
|
|
562
|
+
}
|
|
563
|
+
if (!targetFeatureId || targetFeatureId === oldFeatureId) {
|
|
564
|
+
// No move needed - same feature folder
|
|
565
|
+
return;
|
|
566
|
+
}
|
|
567
|
+
// Calculate new file path
|
|
568
|
+
const baseDir = this.getBaseDirectory();
|
|
569
|
+
const fileName = path.basename(oldFilePath);
|
|
570
|
+
const newFilePath = path.join(baseDir, targetFeatureId, fileName);
|
|
571
|
+
// Read existing file content
|
|
572
|
+
const existingContent = fs.readFileSync(oldFilePath, 'utf-8');
|
|
573
|
+
// Update metadata in content
|
|
574
|
+
const updatedContent = this.updateParentMetadataInContent(existingContent, newItem.parentId, targetFeatureId, false // No longer orphan
|
|
575
|
+
);
|
|
576
|
+
// Ensure target directory exists
|
|
577
|
+
const targetDir = path.dirname(newFilePath);
|
|
578
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
579
|
+
// Write to new location
|
|
580
|
+
fs.writeFileSync(newFilePath, updatedContent, 'utf-8');
|
|
581
|
+
// Remove old file
|
|
582
|
+
fs.unlinkSync(oldFilePath);
|
|
583
|
+
// Check if old directory is now empty and clean up
|
|
584
|
+
const oldDir = path.dirname(oldFilePath);
|
|
585
|
+
await this.cleanupEmptyFeatureFolder(oldDir, oldFeatureId);
|
|
586
|
+
// Notify callback
|
|
587
|
+
if (this.options.onParentChanged) {
|
|
588
|
+
const reason = existingRef.isOrphan
|
|
589
|
+
? `Orphan now has parent: ${newItem.parentId}`
|
|
590
|
+
: `Parent changed from ${existingRef.parentId} to ${newItem.parentId}`;
|
|
591
|
+
this.options.onParentChanged(existingRef.usId, oldFeatureId, targetFeatureId, reason);
|
|
592
|
+
}
|
|
593
|
+
// Clear duplicate detector cache since file moved
|
|
594
|
+
if (this.duplicateDetector) {
|
|
595
|
+
this.duplicateDetector.clearCache();
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* Update parent metadata in file content
|
|
600
|
+
*/
|
|
601
|
+
updateParentMetadataInContent(content, newParentId, newFeatureId, isOrphan) {
|
|
602
|
+
let updated = content;
|
|
603
|
+
// Update Feature ID
|
|
604
|
+
updated = updated.replace(/^- \*\*Feature ID\*\*: .+$/m, `- **Feature ID**: ${newFeatureId}`);
|
|
605
|
+
// Update or add Parent ID
|
|
606
|
+
if (newParentId) {
|
|
607
|
+
if (updated.match(/^- \*\*Parent ID\*\*: .+$/m)) {
|
|
608
|
+
updated = updated.replace(/^- \*\*Parent ID\*\*: .+$/m, `- **Parent ID**: ${newParentId}`);
|
|
609
|
+
}
|
|
610
|
+
else {
|
|
611
|
+
// Add Parent ID after Feature ID
|
|
612
|
+
updated = updated.replace(/^(- \*\*Feature ID\*\*: .+)$/m, `$1\n- **Parent ID**: ${newParentId}`);
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
// Remove Orphan line if no longer orphan
|
|
616
|
+
if (!isOrphan) {
|
|
617
|
+
updated = updated.replace(/^- \*\*Orphan\*\*: .+\n?/m, '');
|
|
618
|
+
}
|
|
619
|
+
return updated;
|
|
620
|
+
}
|
|
621
|
+
/**
|
|
622
|
+
* Clean up empty feature folder after file move
|
|
623
|
+
*
|
|
624
|
+
* Checks if folder is empty (except FEATURE.md) and removes it if orphan folder
|
|
625
|
+
*/
|
|
626
|
+
async cleanupEmptyFeatureFolder(folderPath, featureId) {
|
|
627
|
+
try {
|
|
628
|
+
const files = fs.readdirSync(folderPath);
|
|
629
|
+
// Check if only FEATURE.md remains (or empty)
|
|
630
|
+
const nonTemplateFiles = files.filter(f => f.toLowerCase() !== 'feature.md');
|
|
631
|
+
if (nonTemplateFiles.length === 0) {
|
|
632
|
+
// Remove FEATURE.md if exists
|
|
633
|
+
const featureMdPath = path.join(folderPath, 'FEATURE.md');
|
|
634
|
+
if (fs.existsSync(featureMdPath)) {
|
|
635
|
+
fs.unlinkSync(featureMdPath);
|
|
636
|
+
}
|
|
637
|
+
// Remove empty folder
|
|
638
|
+
fs.removeSync(folderPath);
|
|
639
|
+
console.log(` 🗑️ Cleaned up empty orphan folder: ${featureId}`);
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
catch (error) {
|
|
643
|
+
// Folder cleanup is best-effort, don't fail on errors
|
|
644
|
+
}
|
|
645
|
+
}
|
|
484
646
|
/**
|
|
485
647
|
* Generate origin badge for living docs
|
|
486
648
|
*/
|
|
@@ -512,6 +674,7 @@ ${isAdoOrphanGroup ? `- **Type**: Orphan (no parent Epic)` : ''}
|
|
|
512
674
|
}
|
|
513
675
|
/**
|
|
514
676
|
* Generate markdown content for living docs User Story
|
|
677
|
+
* CRITICAL (2025-12-01): Includes parent tracking info for re-import hierarchy updates
|
|
515
678
|
*/
|
|
516
679
|
generateMarkdown(data) {
|
|
517
680
|
const parts = [];
|
|
@@ -565,6 +728,22 @@ ${isAdoOrphanGroup ? `- **Type**: Orphan (no parent Epic)` : ''}
|
|
|
565
728
|
if (data.metadata.sourceRepo) {
|
|
566
729
|
parts.push(`- **Source Repository**: ${data.metadata.sourceRepo}`);
|
|
567
730
|
}
|
|
731
|
+
// Parent tracking for re-import hierarchy updates (CRITICAL for parent change detection)
|
|
732
|
+
if (data.metadata.featureId) {
|
|
733
|
+
parts.push(`- **Feature ID**: ${data.metadata.featureId}`);
|
|
734
|
+
}
|
|
735
|
+
if (data.metadata.parentId) {
|
|
736
|
+
parts.push(`- **Parent ID**: ${data.metadata.parentId}`);
|
|
737
|
+
}
|
|
738
|
+
if (data.metadata.isOrphan) {
|
|
739
|
+
parts.push(`- **Orphan**: true (no parent in external tool)`);
|
|
740
|
+
}
|
|
741
|
+
if (data.metadata.adoWorkItemType) {
|
|
742
|
+
parts.push(`- **ADO Work Item Type**: ${data.metadata.adoWorkItemType}`);
|
|
743
|
+
}
|
|
744
|
+
if (data.metadata.adoAreaPath) {
|
|
745
|
+
parts.push(`- **ADO Area Path**: ${data.metadata.adoAreaPath}`);
|
|
746
|
+
}
|
|
568
747
|
return parts.join('\n');
|
|
569
748
|
}
|
|
570
749
|
/**
|
|
@@ -606,5 +785,12 @@ ${isAdoOrphanGroup ? `- **Type**: Orphan (no parent Epic)` : ''}
|
|
|
606
785
|
`Import should ONLY create living docs, not increments.`);
|
|
607
786
|
}
|
|
608
787
|
}
|
|
788
|
+
/**
|
|
789
|
+
* TESTING ONLY: Expose private method for unit tests
|
|
790
|
+
* DO NOT use in production code
|
|
791
|
+
*/
|
|
792
|
+
__test__groupItemsByFeature(items) {
|
|
793
|
+
return this.groupItemsByFeature(items);
|
|
794
|
+
}
|
|
609
795
|
}
|
|
610
796
|
//# sourceMappingURL=item-converter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-converter.js","sourceRoot":"","sources":["../../../src/importers/item-converter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"item-converter.js","sourceRoot":"","sources":["../../../src/importers/item-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -176,6 +176,13 @@ export declare class FSIdAllocator {
|
|
|
176
176
|
* @returns Allocation result with ID and strategy
|
|
177
177
|
*/
|
|
178
178
|
allocateId(workItem: ExternalWorkItem): Promise<AllocationResult>;
|
|
179
|
+
/**
|
|
180
|
+
* Track a newly allocated ID to prevent duplicates in the same session
|
|
181
|
+
* CRITICAL FIX (2025-12-01): Without this, multiple calls to allocateId()
|
|
182
|
+
* would all return the same ID (e.g., FS-001E) because existingFeatures
|
|
183
|
+
* wasn't updated after allocation.
|
|
184
|
+
*/
|
|
185
|
+
private trackAllocatedId;
|
|
179
186
|
/**
|
|
180
187
|
* Check if ID has collision (exact match or variant)
|
|
181
188
|
*
|