specweave 1.0.464 → 1.0.466

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/plugins/specweave/lib/vendor/core/ac-test-validator-cli.d.ts +16 -0
  2. package/dist/plugins/specweave/lib/vendor/core/ac-test-validator-cli.js +139 -0
  3. package/dist/plugins/specweave/lib/vendor/core/ac-test-validator-cli.js.map +1 -0
  4. package/dist/plugins/specweave/lib/vendor/core/ac-test-validator.d.ts +111 -0
  5. package/dist/plugins/specweave/lib/vendor/core/ac-test-validator.js +304 -0
  6. package/dist/plugins/specweave/lib/vendor/core/ac-test-validator.js.map +1 -0
  7. package/dist/plugins/specweave/lib/vendor/core/increment/ac-status-manager.d.ts +115 -0
  8. package/dist/plugins/specweave/lib/vendor/core/increment/ac-status-manager.js +359 -0
  9. package/dist/plugins/specweave/lib/vendor/core/increment/ac-status-manager.js.map +1 -0
  10. package/dist/plugins/specweave/lib/vendor/core/increment/active-increment-manager.d.ts +121 -0
  11. package/dist/plugins/specweave/lib/vendor/core/increment/active-increment-manager.js +273 -0
  12. package/dist/plugins/specweave/lib/vendor/core/increment/active-increment-manager.js.map +1 -0
  13. package/dist/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.d.ts +72 -0
  14. package/dist/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.js +237 -0
  15. package/dist/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.js.map +1 -0
  16. package/dist/plugins/specweave/lib/vendor/core/increment/duplicate-detector.d.ts +52 -0
  17. package/dist/plugins/specweave/lib/vendor/core/increment/duplicate-detector.js +281 -0
  18. package/dist/plugins/specweave/lib/vendor/core/increment/duplicate-detector.js.map +1 -0
  19. package/dist/plugins/specweave/lib/vendor/core/increment/metadata-manager.d.ts +278 -0
  20. package/dist/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +925 -0
  21. package/dist/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -0
  22. package/dist/plugins/specweave/lib/vendor/core/increment/status-auto-transition.d.ts +113 -0
  23. package/dist/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js +317 -0
  24. package/dist/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js.map +1 -0
  25. package/dist/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +442 -0
  26. package/dist/plugins/specweave/lib/vendor/core/types/increment-metadata.js +246 -0
  27. package/dist/plugins/specweave/lib/vendor/core/types/increment-metadata.js.map +1 -0
  28. package/dist/plugins/specweave/lib/vendor/core/universal-auto-create.d.ts +64 -0
  29. package/dist/plugins/specweave/lib/vendor/core/universal-auto-create.js +228 -0
  30. package/dist/plugins/specweave/lib/vendor/core/universal-auto-create.js.map +1 -0
  31. package/dist/plugins/specweave/lib/vendor/generators/spec/task-parser.d.ts +95 -0
  32. package/dist/plugins/specweave/lib/vendor/generators/spec/task-parser.js +300 -0
  33. package/dist/plugins/specweave/lib/vendor/generators/spec/task-parser.js.map +1 -0
  34. package/dist/plugins/specweave/lib/vendor/sync/config.d.ts +73 -0
  35. package/dist/plugins/specweave/lib/vendor/sync/config.js +132 -0
  36. package/dist/plugins/specweave/lib/vendor/sync/config.js.map +1 -0
  37. package/dist/plugins/specweave/lib/vendor/sync/github-reconciler.d.ts +163 -0
  38. package/dist/plugins/specweave/lib/vendor/sync/github-reconciler.js +898 -0
  39. package/dist/plugins/specweave/lib/vendor/sync/github-reconciler.js.map +1 -0
  40. package/dist/plugins/specweave/lib/vendor/sync/provider-router.d.ts +86 -0
  41. package/dist/plugins/specweave/lib/vendor/sync/provider-router.js +147 -0
  42. package/dist/plugins/specweave/lib/vendor/sync/provider-router.js.map +1 -0
  43. package/dist/plugins/specweave/lib/vendor/sync/status-mapper.d.ts +120 -0
  44. package/dist/plugins/specweave/lib/vendor/sync/status-mapper.js +164 -0
  45. package/dist/plugins/specweave/lib/vendor/sync/status-mapper.js.map +1 -0
  46. package/dist/plugins/specweave/lib/vendor/utils/auth-helpers.d.ts +151 -0
  47. package/dist/plugins/specweave/lib/vendor/utils/auth-helpers.js +359 -0
  48. package/dist/plugins/specweave/lib/vendor/utils/auth-helpers.js.map +1 -0
  49. package/dist/plugins/specweave/lib/vendor/utils/chalk-fallback.d.ts +38 -0
  50. package/dist/plugins/specweave/lib/vendor/utils/chalk-fallback.js +118 -0
  51. package/dist/plugins/specweave/lib/vendor/utils/chalk-fallback.js.map +1 -0
  52. package/dist/plugins/specweave/lib/vendor/utils/clean-env.d.ts +47 -0
  53. package/dist/plugins/specweave/lib/vendor/utils/clean-env.js +63 -0
  54. package/dist/plugins/specweave/lib/vendor/utils/clean-env.js.map +1 -0
  55. package/dist/plugins/specweave/lib/vendor/utils/credential-masker.d.ts +118 -0
  56. package/dist/plugins/specweave/lib/vendor/utils/credential-masker.js +275 -0
  57. package/dist/plugins/specweave/lib/vendor/utils/credential-masker.js.map +1 -0
  58. package/dist/plugins/specweave/lib/vendor/utils/execFileNoThrow.d.ts +99 -0
  59. package/dist/plugins/specweave/lib/vendor/utils/execFileNoThrow.js +149 -0
  60. package/dist/plugins/specweave/lib/vendor/utils/execFileNoThrow.js.map +1 -0
  61. package/dist/plugins/specweave/lib/vendor/utils/feature-id-derivation.d.ts +63 -0
  62. package/dist/plugins/specweave/lib/vendor/utils/feature-id-derivation.js +85 -0
  63. package/dist/plugins/specweave/lib/vendor/utils/feature-id-derivation.js.map +1 -0
  64. package/dist/plugins/specweave/lib/vendor/utils/fs-native.d.ts +219 -0
  65. package/dist/plugins/specweave/lib/vendor/utils/fs-native.js +397 -0
  66. package/dist/plugins/specweave/lib/vendor/utils/fs-native.js.map +1 -0
  67. package/dist/plugins/specweave/lib/vendor/utils/logger.d.ts +56 -0
  68. package/dist/plugins/specweave/lib/vendor/utils/logger.js +123 -0
  69. package/dist/plugins/specweave/lib/vendor/utils/logger.js.map +1 -0
  70. package/dist/plugins/specweave/lib/vendor/utils/translation.d.ts +187 -0
  71. package/dist/plugins/specweave/lib/vendor/utils/translation.js +414 -0
  72. package/dist/plugins/specweave/lib/vendor/utils/translation.js.map +1 -0
  73. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js +1 -1
  74. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js.map +1 -1
  75. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +1 -1
  76. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +1 -1
  77. package/dist/plugins/specweave-github/lib/github-ac-checkbox-sync.js +2 -2
  78. package/dist/plugins/specweave-github/lib/github-ac-checkbox-sync.js.map +1 -1
  79. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -1
  80. package/dist/plugins/specweave-github/lib/github-feature-sync.js +13 -4
  81. package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -1
  82. package/dist/plugins/specweave-jira/lib/jira-ac-checkbox-sync.js +1 -1
  83. package/dist/plugins/specweave-jira/lib/jira-ac-checkbox-sync.js.map +1 -1
  84. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +1 -1
  85. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -1
  86. package/dist/src/sync/spec-to-living-docs-sync.js +1 -1
  87. package/dist/src/sync/spec-to-living-docs-sync.js.map +1 -1
  88. package/package.json +1 -1
  89. package/plugins/specweave/lib/vendor/utils/auth-helpers.d.ts +151 -0
  90. package/plugins/specweave/lib/vendor/utils/auth-helpers.js +359 -0
  91. package/plugins/specweave/lib/vendor/utils/auth-helpers.js.map +1 -0
  92. package/plugins/specweave/skills/team-lead/SKILL.md +150 -56
  93. package/plugins/specweave/skills/team-lead/agents/backend.md +13 -9
  94. package/plugins/specweave/skills/team-lead/agents/database.md +13 -9
  95. package/plugins/specweave/skills/team-lead/agents/frontend.md +12 -8
  96. package/plugins/specweave/skills/team-lead/agents/security.md +13 -9
  97. package/plugins/specweave/skills/team-lead/agents/testing.md +12 -8
  98. package/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js +1 -1
  99. package/plugins/specweave-ado/lib/ado-ac-checkbox-sync.ts +1 -1
  100. package/plugins/specweave-ado/lib/ado-spec-sync.js +1 -1
  101. package/plugins/specweave-ado/lib/ado-spec-sync.ts +1 -1
  102. package/plugins/specweave-github/lib/github-ac-checkbox-sync.js +1 -1
  103. package/plugins/specweave-github/lib/github-ac-checkbox-sync.ts +2 -2
  104. package/plugins/specweave-github/lib/github-feature-sync.js +11 -3
  105. package/plugins/specweave-github/lib/github-feature-sync.ts +13 -4
  106. package/plugins/specweave-jira/lib/jira-ac-checkbox-sync.js +1 -1
  107. package/plugins/specweave-jira/lib/jira-ac-checkbox-sync.ts +1 -1
  108. package/plugins/specweave-jira/lib/jira-spec-sync.js +1 -1
  109. package/plugins/specweave-jira/lib/jira-spec-sync.ts +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-manager.js","sourceRoot":"","sources":["../../../../src/core/increment/metadata-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAIL,eAAe,EACf,aAAa,EAGb,qBAAqB,EACrB,iBAAiB,EACjB,OAAO,EACP,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAU,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAkB,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAE5E;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe,EAAS,WAAmB,EAAS,KAAa;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC;QADmB,gBAAW,GAAX,WAAW,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAQ;QAE3E,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAWD;;GAEG;AACH,MAAM,cAAc,GAAkC;IACpD,WAAW,EAAE,aAAa,CAAC,OAAO;IAClC,WAAW,EAAE,aAAa,CAAC,OAAO;IAClC,IAAI,EAAE,aAAa,CAAC,UAAU;IAC9B,KAAK,EAAE,aAAa,CAAC,UAAU;CAChC,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAM1B;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAAc;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,eAAe,CAAC,WAAmB,EAAE,OAAgB;QAClE,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,mCAAmC;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,oBAAoB,EAAE,EAAE,YAAY,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,gBAAgB,CAAC,WAAmB,EAAE,OAAgB;QACnE,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,mCAAmC;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,oBAAoB,EAAE,EAAE,YAAY,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,WAAmB,EAAE,OAAgB;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAChE,OAAO,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,WAAmB,EAAE,OAAgB;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEhE,wDAAwD;QACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,mCAAmC;YACnC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,aAAa,CACrB,wBAAwB,WAAW,EAAE,EACrC,WAAW,CACZ,CAAC;YACJ,CAAC;YAED,4DAA4D;YAC5D,MAAM,GAAG,GAAG,qBAAqB,CAAC,WAAW,CAAQ,CAAC;YACtD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC9F,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,WAAW,MAAM,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YAElD,0EAA0E;YAC1E,qFAAqF;YACrF,4EAA4E;YAC5E,IAAI,eAAe,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;gBACtD,MAAM,aAAa,GAAG,IAAI,sBAAsB,EAAE,CAAC;gBACnD,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,wBAAwB;YACtE,CAAC;YAED,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,WAAW,GAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAE7C,sDAAsD;YACtD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,sBAAsB,CACnE,WAAW,EACX,WAAW,CACZ,CAAC;YAEF,+DAA+D;YAC/D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,WAAW,MAAM,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC;YAED,0EAA0E;YAC1E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAExB,gDAAgD;YAChD,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,aAAa,CACrB,+BAA+B,WAAW,KAAK,YAAY,EAAE,EAC7D,WAAW,EACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;QACJ,CAAC;IACH,CAAC;IAoBD;;;OAGG;IACK,MAAM,CAAC,mBAAmB,CAAC,WAAmB;QACpD,oBAAoB;QACpB,IAAI,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,aAAa,CACrB,yBAAyB,WAAW,iCAAiC;gBACrE,2BAA2B;gBAC3B,oEAAoE;gBACpE,sDAAsD;gBACtD,sDAAsD;gBACtD,+DAA+D,EAC/D,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,aAAa,CACrB,yBAAyB,WAAW,kDAAkD;gBACtF,6EAA6E;gBAC7E,mDAAmD,EACnD,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,wDAAwD;QACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,aAAa,CACrB,yBAAyB,WAAW,iBAAiB,QAAQ,oBAAoB;gBACjF,4DAA4D,EAC5D,WAAW,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,WAAmB,EAAE,OAAgB;QACrE,iCAAiC;QACjC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAEtC,wEAAwE;QACxE,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,aAAa,CACrB,gCAAgC,WAAW,8BAA8B,EACzE,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAEvC,uBAAuB;QACvB,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,eAAe,EAAE,OAAO,IAAI,oBAAoB,EAAE,CAAC,CAAC;QAEtG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7D,MAAM,IAAI,aAAa,CACrB,2BAA2B,WAAW,sBAAsB,eAAe,8CAA8C,SAAS,MAAM;gBACxI,uBAAuB;gBACvB,yCAAyC;gBACzC,iDAAiD;gBACjD,kDAAkD,EAClD,WAAW,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,WAAmB,EAAE,QAA2B,EAAE,OAAgB;QAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAElE,oCAAoC;QACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,aAAa,CACrB,kCAAkC,WAAW,EAAE,EAC/C,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,sFAAsF;QACtF,+DAA+D;QAC/D,4EAA4E;QAC5E,2DAA2D;QAC3D,MAAM,SAAS,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,CAAC;QAElE,IAAI,CAAC;YACH,0BAA0B;YAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAExB,mCAAmC;YACnC,MAAM,QAAQ,GAAG,GAAG,YAAY,MAAM,CAAC;YACvC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACvE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,aAAa,CACrB,gCAAgC,WAAW,KAAK,YAAY,EAAE,EAC9D,WAAW,EACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;QACJ,CAAC;QAED,0DAA0D;QAC1D,uFAAuF;QACvF,4DAA4D;QAC5D,sEAAsE;QACtE,2EAA2E;QAC3E,IAAI,SAAS,IAAI,cAAc,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE3C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;gBACjF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;gBAC1E,4CAA4C;gBAC5C,2FAA2F;gBAC3F,qCAAqC;YACvC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;gBAErF,yDAAyD;gBACzD,CAAC,KAAK,IAAI,EAAE;oBACV,IAAI,CAAC;wBACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;wBAC9E,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,OAAO,IAAI,oBAAoB,EAAE,EAAE;4BACjE,MAAM,EAAE,IAAI,CAAC,MAAM;yBACpB,CAAC,CAAC;wBAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;wBAErD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,WAAW,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;wBACnF,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,WAAW,EAAE,CAAC,CAAC;wBACpF,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,WAAW,GAAG,EAAE,KAAK,CAAC,CAAC;wBAC1E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,WAAW,WAAW,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,WAAmB,EAAE,OAAgB;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEhE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,kBAAkB;QAC5B,CAAC;QAED,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,aAAa,CACrB,iCAAiC,WAAW,KAAK,YAAY,EAAE,EAC/D,WAAW,EACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,YAAY,CACjB,WAAmB,EACnB,SAA0B,EAC1B,MAAe,EACf,OAAgB;QAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,wCAAwC;QAE3E,sBAAsB;QACtB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,aAAa,CACrB,8BAA8B,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,EAC9D,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;QAC5B,QAAQ,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAEjD,gCAAgC;QAChC,IAAI,SAAS,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC;YAC1C,QAAQ,CAAC,aAAa,GAAG,MAAM,IAAI,yBAAyB,CAAC;YAC7D,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAChD,CAAC;aAAM,IAAI,SAAS,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YAChD,QAAQ,CAAC,YAAY,GAAG,MAAM,IAAI,oBAAoB,CAAC;YACvD,QAAQ,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,CAAC;aAAM,IAAI,SAAS,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YAChD,8CAA8C;YAC9C,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAC;YACnC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;YAC/B,QAAQ,CAAC,YAAY,GAAG,SAAS,CAAC;YAClC,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC9B,4CAA4C;YAC5C,QAAQ,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACxC,CAAC;aAAM,IAAI,SAAS,KAAK,eAAe,CAAC,gBAAgB,EAAE,CAAC;YAC1D,yDAAyD;YACzD,QAAQ,CAAC,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,WAAW,2CAA2C,CAAC,CAAC;QAC1F,CAAC;aAAM,IAAI,SAAS,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;YACnD,8DAA8D;YAC9D,QAAQ,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,CAAC;aAAM,IAAI,SAAS,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;YACnD,QAAQ,CAAC,eAAe,GAAG,MAAM,IAAI,oBAAoB,CAAC;YAC1D,QAAQ,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAClD,CAAC;QAED,kEAAkE;QAClE,gFAAgF;QAChF,0EAA0E;QAC1E,EAAE;QACF,wEAAwE;QACxE,2EAA2E;QAC3E,EAAE;QACF,+EAA+E;QAC/E,mDAAmD;QACnD,iEAAiE;QACjE,6DAA6D;QAE7D,IAAI,CAAC;YACH,sEAAsE;YACtE,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAE7D,2DAA2D;YAC3D,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iFAAiF;YACjF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yCAAyC,WAAW,+BAA+B,EACnF,KAAK,CACN,CAAC;YAEF,6CAA6C;YAC7C,MAAM,IAAI,aAAa,CACrB,yDAAyD;gBACvD,IAAI;gBACJ,iEAAiE;gBACjE,0DAA0D;gBAC1D,IAAI;gBACJ,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;gBACpE,IAAI;gBACJ,4BAA4B;gBAC5B,iDAAiD,WAAW,YAAY;gBACxE,yCAAyC;gBACzC,8BAA8B;gBAC9B,IAAI;gBACJ,4CAA4C,EAC9C,WAAW,EACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,MAAM,aAAa,GAAG,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,SAAS,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YACzC,0CAA0C;YAC1C,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;aAAM,IACL,SAAS,KAAK,eAAe,CAAC,SAAS;YACvC,SAAS,KAAK,eAAe,CAAC,OAAO;YACrC,SAAS,KAAK,eAAe,CAAC,MAAM;YACpC,SAAS,KAAK,eAAe,CAAC,SAAS,EACvC,CAAC;YACD,wEAAwE;YACxE,aAAa,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;QAED,4EAA4E;QAC5E,6EAA6E;QAC7E,mEAAmE;QACnE,mEAAmE;QACnE,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,8CAA8C;gBAC9C,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;gBAEpF,MAAM,uBAAuB,CAAC,eAAe,CAC3C,WAAW,EACX,SAAS,EACT,SAAS,CACV,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;oBACvB,mEAAmE;oBACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wBAAwB,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CACxD,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACrB,uDAAuD;gBACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAuC,WAAqB,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,CAAC,sDAAsD;QAE5D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,sBAAsB,CACnC,WAAmB,EACnB,MAAuB,EACvB,OAAgB;QAEhB,sCAAsC;QACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,aAAa,CACrB,0BAA0B,MAAM,sBAAsB,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACjG,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,qBAAqB;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,OAAO,IAAI,oBAAoB,EAAE,EACjC,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,CACV,CAAC;QAEF,0BAA0B;QAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,wDAAwD;YACxD,OAAO;QACT,CAAC;QAED,uCAAuC;QACvC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEnD,sDAAsD;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAE5B,4BAA4B;QAC5B,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAErE,mDAAmD;QACnD,MAAM,QAAQ,GAAG,GAAG,QAAQ,MAAM,CAAC;QACnC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QACpD,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,WAAmB,EAAE,IAAmB;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,QAAQ,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAmB;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,QAAQ,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAErF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,gBAAgB,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC;aACpD,MAAM,CAAC,IAAI,CAAC,EAAE;YACb,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEL,OAAO,gBAAgB;aACpB,GAAG,CAAC,MAAM,CAAC,EAAE;YACZ,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gDAAgD;gBAChD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAA0B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAuB;QACxC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS;QACd,MAAM,aAAa,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAEnD,6BAA6B;QAC7B,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;QAE5C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,4BAA4B;YAC5B,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;YAEzC,IAAI,OAAO,EAAE,CAAC;gBACZ,iDAAiD;gBACjD,OAAO,SAAS;qBACb,GAAG,CAAC,EAAE,CAAC,EAAE;oBACR,IAAI,CAAC;wBACH,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACvB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,qCAAqC;wBACrC,aAAa,CAAC,WAAW,EAAE,CAAC;wBAC5B,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC,CAAC;qBACD,MAAM,CAAC,CAAC,CAAC,EAA0B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAE3D,sGAAsG;QACtG,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,2CAA2C;YAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACrC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjD,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,aAAa;YACrC,CAAC,CAAC,CAAC;YAEH,sCAAsC;YACtC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG;gBACZ,GAAG,EAAE,SAAS;gBACd,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC;YACF,gGAAgG;YAChG,MAAM,SAAS,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM,QAAQ,GAAG,GAAG,SAAS,MAAM,CAAC;YACpC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACpE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,aAAa,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAmB;QAClC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,oBAAoB;QACzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,WAAmB;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,GAA8B,EAAE,GAAG,QAAQ,EAAE,CAAC;QAE5D,mCAAmC;QACnC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;YAC5E,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAEzD,oCAAoC;gBACpC,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACvD,QAAQ,CAAC,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEzE,gCAAgC;gBAChC,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACzD,QAAQ,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE7D,gCAAgC;gBAChC,IAAI,QAAQ,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;oBAC5B,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iCAAiC;QACnC,CAAC;QAED,wBAAwB;QACxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/C,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAEjG,wBAAwB;QACxB,IAAI,QAAQ,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACpE,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC/C,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACnG,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACK,MAAM,CAAC,sBAAsB,CACnC,GAAQ,EACR,UAAmB;QAEnB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,QAAQ,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;QAE5B,yDAAyD;QACzD,IAAI,QAAQ,CAAC,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;YACtE,QAAQ,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,EAAE,4BAA4B,UAAU,GAAG,CAAC,CAAC;YACjF,QAAQ,CAAC,EAAE,GAAG,UAAU,CAAC;YACzB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,yCAAyC;QACzC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAc,CAAC,CAAC;YACtD,IAAI,KAAK,EAAE,CAAC;gBACV,QAAQ,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,IAAI,gBAAgB,KAAK,GAAG,CAAC,CAAC;gBAC3E,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;gBACtB,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;iBAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAqB,CAAC,EAAE,CAAC;gBAClF,QAAQ,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC5C,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC;YACtC,OAAO,QAAQ,CAAC,SAAS,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC/D,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC9B,mCAAmC;YACnC,OAAO,QAAQ,CAAC,SAAS,CAAC;YAC1B,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,sEAAsE;QACtE,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC;YACxC,CAAC;YACD,OAAO,QAAQ,CAAC,SAAS,CAAC;YAC1B,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC5B,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC;YAC5B,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAChD,MAAM,gBAAgB,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAChG,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;QAClC,MAAM,gBAAgB,GAAG,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAErG,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAA8E,EAAE,CAAC;YAC7F,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrC,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG;wBACxB,WAAW,EAAE,KAAK,CAAC,MAAM;wBACzB,QAAQ,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE;wBACzB,MAAM,EAAE,QAAQ;qBACjB,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG;oBAC9B,MAAM;oBACN,GAAG,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1E,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACzD,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;gBACnE,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,oCAAoC,eAAe,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC/E,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvB,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC7B,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,QAAQ,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC3B,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC;YAC7D,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,QAAQ,GAAG,YAAY,CAAC;YACjC,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAC1C,QAAQ,CAAC,cAAc,GAAG,EAAE,CAAC;YAC7B,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,kCAAkC,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC;YAC1E,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,QAA2B;QACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,IAAqB,EAAE,EAAmB;QAC7D,OAAO,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAqB,EAAE,EAAmB;QAClE,IAAI,IAAI,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;YACvC,OAAO,wEAAwE,CAAC;QAClF,CAAC;QAED,IAAI,EAAE,KAAK,eAAe,CAAC,MAAM,IAAI,IAAI,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;YACxE,OAAO,oEAAoE,CAAC;QAC9E,CAAC;QAED,IAAI,EAAE,KAAK,eAAe,CAAC,SAAS,IAAI,IAAI,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;YAC3E,OAAO,uEAAuE,CAAC;QACjF,CAAC;QAED,OAAO,uBAAuB,IAAI,MAAM,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED,6EAA6E;IAC7E,4CAA4C;IAC5C,6EAA6E;IAE7E;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,aAAa,CAClB,WAAmB,EACnB,UAAsB,EACtB,OAAgB;QAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAwB,CAAC;QACxE,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,QAAQ,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,WAAW,KAAK,UAAU,CAAC,SAAS,KAAK,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1G,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,WAAmB,EAAE,OAAgB;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAwB,CAAC;QACxE,OAAO,QAAQ,CAAC,UAAU,CAAC;IAC7B,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,eAAe,CAAC,WAAmB,EAAE,OAAgB;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAwB,CAAC;QACxE,OAAO,QAAQ,CAAC,UAAU,CAAC;QAC3B,QAAQ,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;QAC5D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,WAAmB,EAAE,OAAgB;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAwB,CAAC;QACxE,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,QAAQ,CACb,WAAmB,EACnB,GAAU,EACV,OAAgB;QAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAwB,CAAC;QACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QAEvC,+DAA+D;QAC/D,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC;QACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;QACxE,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC;QACrC,QAAQ,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,WAAW,KAAK,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,cAAc,EAAE,CAAC,CAAC;QACrG,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,WAAmB,EAAE,OAAgB;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAwB,CAAC;QACxE,OAAO,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,CAAC,QAAmC;QACtD,OAAQ,IAAI,CAAC,MAAM,EAA4B,CAAC,MAAM,CACpD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,KAAK,QAAQ,CACzC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,SAAiB;QACnC,OAAQ,IAAI,CAAC,MAAM,EAA4B,CAAC,MAAM,CACpD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,KAAK,SAAS,CAC3C,CAAC;IACJ,CAAC;;AAvjCD;;GAEG;AACY,sBAAM,GAAW,aAAa,CAAC;AAsH9C;;;GAGG;AACqB,sCAAsB,GAAG;IAC/C,iDAAiD;IACjD,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW;IAEvD,0CAA0C;IAC1C,UAAU,EAAE,YAAY,EAAE,SAAS;IAEnC,+CAA+C;IAC/C,kBAAkB,EAAE,OAAO,EAAE,QAAQ;IAErC,sCAAsC;IACtC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;CAC3C,CAAC"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Status Auto-Transition Module
3
+ *
4
+ * Automatically transitions increment status based on file activity:
5
+ * - When spec.md created → status = PLANNING (if not already set)
6
+ * - When tasks.md created → status = ACTIVE (if currently PLANNING)
7
+ * - When first task marked in-progress → status = ACTIVE (if not already)
8
+ * - When ALL tasks completed → status = READY_FOR_REVIEW (v0.35.0+)
9
+ *
10
+ * CRITICAL (v0.35.0+): ACTIVE → READY_FOR_REVIEW auto-transition prevents
11
+ * the auto-completion bug where increments get marked "completed" without
12
+ * user approval. Only /sw:done can transition READY_FOR_REVIEW → COMPLETED.
13
+ *
14
+ * Part of increment 0039: Ultra-Smart Next Command
15
+ */
16
+ import { IncrementStatus } from '../types/increment-metadata.js';
17
+ /**
18
+ * Task completion status result
19
+ */
20
+ export interface TaskCompletionStatus {
21
+ /** Total number of tasks found */
22
+ totalTasks: number;
23
+ /** Number of completed tasks */
24
+ completedTasks: number;
25
+ /** Number of pending tasks */
26
+ pendingTasks: number;
27
+ /** Whether all tasks are completed (100%) */
28
+ allCompleted: boolean;
29
+ /** Completion percentage (0-100) */
30
+ percentage: number;
31
+ }
32
+ /**
33
+ * Check task completion status from tasks.md
34
+ *
35
+ * Parses tasks.md to count completed vs pending tasks.
36
+ * A task is considered completed if it has:
37
+ * - **Status**: [x] completed
38
+ * - Or checkbox [x] before task ID
39
+ *
40
+ * @param incrementId - Increment ID to check
41
+ * @returns Task completion status or null if tasks.md doesn't exist
42
+ */
43
+ export declare function getTaskCompletionStatus(incrementId: string): TaskCompletionStatus | null;
44
+ /**
45
+ * Check if ALL tasks in tasks.md are completed
46
+ *
47
+ * CRITICAL (v0.35.0+): This is used to auto-transition from ACTIVE → READY_FOR_REVIEW.
48
+ * This prevents the auto-completion bug where increments could be marked "completed"
49
+ * without going through the proper review gate.
50
+ *
51
+ * @param incrementId - Increment ID to check
52
+ * @returns true if all tasks are completed, false otherwise
53
+ */
54
+ export declare function areAllTasksCompleted(incrementId: string): boolean;
55
+ /**
56
+ * Auto-transition increment status based on file activity
57
+ *
58
+ * Transition Rules:
59
+ * 1. PLANNING → ACTIVE: When tasks.md created or first task in-progress
60
+ * 2. BACKLOG → PLANNING: When spec.md created (resume planning)
61
+ * 3. Any status → ACTIVE: When first task in-progress (override)
62
+ * 4. ACTIVE → READY_FOR_REVIEW: When ALL tasks completed (v0.35.0+ - CRITICAL!)
63
+ *
64
+ * CRITICAL (v0.35.0+): Rule 4 prevents the auto-completion bug.
65
+ * ACTIVE cannot transition directly to COMPLETED - it MUST go through READY_FOR_REVIEW.
66
+ * Only /sw:done can transition READY_FOR_REVIEW → COMPLETED with user approval.
67
+ *
68
+ * @param incrementId - Increment ID to check
69
+ * @param triggerFile - File that triggered the check (optional, for logging)
70
+ * @returns true if status was transitioned, false otherwise
71
+ */
72
+ export declare function autoTransitionStatus(incrementId: string, triggerFile?: string): boolean;
73
+ /**
74
+ * Check and auto-transition increment to READY_FOR_REVIEW if all tasks completed
75
+ *
76
+ * CRITICAL (v0.35.0+): This function should be called after every task completion
77
+ * to ensure increments transition to READY_FOR_REVIEW when all work is done.
78
+ *
79
+ * This is the ONLY path from ACTIVE to closure - prevents auto-completion bug.
80
+ *
81
+ * @param incrementId - Increment ID to check
82
+ * @returns Object with transition result
83
+ */
84
+ export declare function checkAndTransitionToReadyForReview(incrementId: string): {
85
+ transitioned: boolean;
86
+ from?: IncrementStatus;
87
+ to?: IncrementStatus;
88
+ taskStatus?: TaskCompletionStatus;
89
+ message: string;
90
+ };
91
+ /**
92
+ * Auto-transition based on specific file creation
93
+ *
94
+ * This is called by file watchers or post-write hooks
95
+ *
96
+ * @param incrementId - Increment ID
97
+ * @param createdFile - File that was just created
98
+ */
99
+ export declare function onFileCreated(incrementId: string, createdFile: string): void;
100
+ /**
101
+ * Check if increment should auto-transition to ACTIVE
102
+ *
103
+ * Used by /sw:do command before execution
104
+ */
105
+ export declare function shouldTransitionToActive(incrementId: string): boolean;
106
+ /**
107
+ * Validate and fix "planned" vs "planning" inconsistency
108
+ *
109
+ * Legacy increments may have "planned" status (not in enum).
110
+ * This migrates them to "planning" (valid enum value).
111
+ */
112
+ export declare function migrateLegacyStatuses(): number;
113
+ //# sourceMappingURL=status-auto-transition.d.ts.map
@@ -0,0 +1,317 @@
1
+ /**
2
+ * Status Auto-Transition Module
3
+ *
4
+ * Automatically transitions increment status based on file activity:
5
+ * - When spec.md created → status = PLANNING (if not already set)
6
+ * - When tasks.md created → status = ACTIVE (if currently PLANNING)
7
+ * - When first task marked in-progress → status = ACTIVE (if not already)
8
+ * - When ALL tasks completed → status = READY_FOR_REVIEW (v0.35.0+)
9
+ *
10
+ * CRITICAL (v0.35.0+): ACTIVE → READY_FOR_REVIEW auto-transition prevents
11
+ * the auto-completion bug where increments get marked "completed" without
12
+ * user approval. Only /sw:done can transition READY_FOR_REVIEW → COMPLETED.
13
+ *
14
+ * Part of increment 0039: Ultra-Smart Next Command
15
+ */
16
+ import * as fs from '../../utils/fs-native.js';
17
+ import * as path from 'path';
18
+ import { IncrementStatus } from '../types/increment-metadata.js';
19
+ import { MetadataManager } from './metadata-manager.js';
20
+ import { resolveEffectiveRoot } from '../../utils/find-project-root.js';
21
+ /**
22
+ * File paths that trigger status transitions
23
+ */
24
+ const TRANSITION_TRIGGERS = {
25
+ /** spec.md existence indicates planning started */
26
+ SPEC_FILE: 'spec.md',
27
+ /** tasks.md existence indicates ready for active work */
28
+ TASKS_FILE: 'tasks.md'
29
+ };
30
+ /**
31
+ * Check if increment folder has specific file
32
+ */
33
+ function hasFile(incrementId, fileName) {
34
+ const incrementPath = path.join(resolveEffectiveRoot(), '.specweave', 'increments', incrementId);
35
+ const filePath = path.join(incrementPath, fileName);
36
+ return fs.existsSync(filePath);
37
+ }
38
+ /**
39
+ * Check if tasks.md has any in-progress tasks
40
+ */
41
+ function hasInProgressTasks(incrementId) {
42
+ const incrementPath = path.join(resolveEffectiveRoot(), '.specweave', 'increments', incrementId);
43
+ const tasksPath = path.join(incrementPath, TRANSITION_TRIGGERS.TASKS_FILE);
44
+ if (!fs.existsSync(tasksPath)) {
45
+ return false;
46
+ }
47
+ try {
48
+ const content = fs.readFileSync(tasksPath, 'utf-8');
49
+ // Match tasks with in-progress markers: [⏳], [🔄], or [ ] followed by **T-XXX**
50
+ const inProgressPattern = /^\s*-\s*\[(?:⏳|🔄|x)\]\s+\*\*T-\d+\*\*/m;
51
+ return inProgressPattern.test(content);
52
+ }
53
+ catch (error) {
54
+ return false;
55
+ }
56
+ }
57
+ /**
58
+ * Check task completion status from tasks.md
59
+ *
60
+ * Parses tasks.md to count completed vs pending tasks.
61
+ * A task is considered completed if it has:
62
+ * - **Status**: [x] completed
63
+ * - Or checkbox [x] before task ID
64
+ *
65
+ * @param incrementId - Increment ID to check
66
+ * @returns Task completion status or null if tasks.md doesn't exist
67
+ */
68
+ export function getTaskCompletionStatus(incrementId) {
69
+ const incrementPath = path.join(resolveEffectiveRoot(), '.specweave', 'increments', incrementId);
70
+ const tasksPath = path.join(incrementPath, TRANSITION_TRIGGERS.TASKS_FILE);
71
+ if (!fs.existsSync(tasksPath)) {
72
+ return null;
73
+ }
74
+ try {
75
+ const content = fs.readFileSync(tasksPath, 'utf-8');
76
+ // Count tasks by looking for ### T-XXX headers
77
+ const taskHeaders = content.match(/^###\s+T-\d+/gm) || [];
78
+ const totalTasks = taskHeaders.length;
79
+ if (totalTasks === 0) {
80
+ return {
81
+ totalTasks: 0,
82
+ completedTasks: 0,
83
+ pendingTasks: 0,
84
+ allCompleted: false,
85
+ percentage: 0
86
+ };
87
+ }
88
+ // Count completed tasks by looking for **Status**: [x] completed pattern
89
+ // This is the canonical way to mark tasks complete in SpecWeave
90
+ const completedPattern = /\*\*Status\*\*:\s*\[x\]\s*completed/gi;
91
+ const completedMatches = content.match(completedPattern) || [];
92
+ const completedTasks = completedMatches.length;
93
+ const pendingTasks = totalTasks - completedTasks;
94
+ const percentage = Math.round((completedTasks / totalTasks) * 100);
95
+ const allCompleted = completedTasks === totalTasks && totalTasks > 0;
96
+ return {
97
+ totalTasks,
98
+ completedTasks,
99
+ pendingTasks,
100
+ allCompleted,
101
+ percentage
102
+ };
103
+ }
104
+ catch (error) {
105
+ return null;
106
+ }
107
+ }
108
+ /**
109
+ * Check if ALL tasks in tasks.md are completed
110
+ *
111
+ * CRITICAL (v0.35.0+): This is used to auto-transition from ACTIVE → READY_FOR_REVIEW.
112
+ * This prevents the auto-completion bug where increments could be marked "completed"
113
+ * without going through the proper review gate.
114
+ *
115
+ * @param incrementId - Increment ID to check
116
+ * @returns true if all tasks are completed, false otherwise
117
+ */
118
+ export function areAllTasksCompleted(incrementId) {
119
+ const status = getTaskCompletionStatus(incrementId);
120
+ return status !== null && status.allCompleted;
121
+ }
122
+ /**
123
+ * Auto-transition increment status based on file activity
124
+ *
125
+ * Transition Rules:
126
+ * 1. PLANNING → ACTIVE: When tasks.md created or first task in-progress
127
+ * 2. BACKLOG → PLANNING: When spec.md created (resume planning)
128
+ * 3. Any status → ACTIVE: When first task in-progress (override)
129
+ * 4. ACTIVE → READY_FOR_REVIEW: When ALL tasks completed (v0.35.0+ - CRITICAL!)
130
+ *
131
+ * CRITICAL (v0.35.0+): Rule 4 prevents the auto-completion bug.
132
+ * ACTIVE cannot transition directly to COMPLETED - it MUST go through READY_FOR_REVIEW.
133
+ * Only /sw:done can transition READY_FOR_REVIEW → COMPLETED with user approval.
134
+ *
135
+ * @param incrementId - Increment ID to check
136
+ * @param triggerFile - File that triggered the check (optional, for logging)
137
+ * @returns true if status was transitioned, false otherwise
138
+ */
139
+ export function autoTransitionStatus(incrementId, triggerFile) {
140
+ try {
141
+ // Read current metadata
142
+ const metadata = MetadataManager.read(incrementId);
143
+ const currentStatus = metadata.status;
144
+ // Rule 4 (HIGHEST PRIORITY - v0.35.0+): ACTIVE → READY_FOR_REVIEW (when ALL tasks completed)
145
+ // CRITICAL: This prevents the auto-completion bug! Must be checked FIRST.
146
+ // When all tasks are done, increment goes to READY_FOR_REVIEW, NOT completed.
147
+ // Only /sw:done can then transition to COMPLETED with user approval.
148
+ if (currentStatus === IncrementStatus.ACTIVE && areAllTasksCompleted(incrementId)) {
149
+ MetadataManager.updateStatus(incrementId, IncrementStatus.READY_FOR_REVIEW);
150
+ console.log(`📋 Auto-transitioned ${incrementId}: ACTIVE → READY_FOR_REVIEW (all tasks completed)`);
151
+ console.log(` Run /sw:done ${incrementId} to close this increment with user approval.`);
152
+ return true;
153
+ }
154
+ // Rule 1: PLANNING → ACTIVE (when tasks.md created AND tasks in-progress)
155
+ if (currentStatus === IncrementStatus.PLANNING && hasFile(incrementId, TRANSITION_TRIGGERS.TASKS_FILE) && hasInProgressTasks(incrementId)) {
156
+ MetadataManager.updateStatus(incrementId, IncrementStatus.ACTIVE);
157
+ console.log(`✅ Auto-transitioned ${incrementId}: PLANNING → ACTIVE (tasks in-progress)`);
158
+ return true;
159
+ }
160
+ // Rule 2: BACKLOG → PLANNING (when spec.md created)
161
+ if (currentStatus === IncrementStatus.BACKLOG && hasFile(incrementId, TRANSITION_TRIGGERS.SPEC_FILE)) {
162
+ MetadataManager.updateStatus(incrementId, IncrementStatus.PLANNING);
163
+ console.log(`✅ Auto-transitioned ${incrementId}: BACKLOG → PLANNING (spec.md created)`);
164
+ return true;
165
+ }
166
+ // Rule 3: Any non-ACTIVE status → ACTIVE (when tasks in-progress)
167
+ if (currentStatus !== IncrementStatus.ACTIVE && hasInProgressTasks(incrementId)) {
168
+ MetadataManager.updateStatus(incrementId, IncrementStatus.ACTIVE);
169
+ console.log(`✅ Auto-transitioned ${incrementId}: ${currentStatus} → ACTIVE (tasks in-progress)`);
170
+ return true;
171
+ }
172
+ return false; // No transition needed
173
+ }
174
+ catch (error) {
175
+ console.warn(`⚠️ Auto-transition failed for ${incrementId}:`, error);
176
+ return false;
177
+ }
178
+ }
179
+ /**
180
+ * Check and auto-transition increment to READY_FOR_REVIEW if all tasks completed
181
+ *
182
+ * CRITICAL (v0.35.0+): This function should be called after every task completion
183
+ * to ensure increments transition to READY_FOR_REVIEW when all work is done.
184
+ *
185
+ * This is the ONLY path from ACTIVE to closure - prevents auto-completion bug.
186
+ *
187
+ * @param incrementId - Increment ID to check
188
+ * @returns Object with transition result
189
+ */
190
+ export function checkAndTransitionToReadyForReview(incrementId) {
191
+ try {
192
+ const metadata = MetadataManager.read(incrementId);
193
+ const currentStatus = metadata.status;
194
+ const taskStatus = getTaskCompletionStatus(incrementId);
195
+ // Only transition from ACTIVE
196
+ if (currentStatus !== IncrementStatus.ACTIVE) {
197
+ return {
198
+ transitioned: false,
199
+ taskStatus: taskStatus || undefined,
200
+ message: `Increment is ${currentStatus}, not active - no transition needed`
201
+ };
202
+ }
203
+ // Check task completion
204
+ if (!taskStatus) {
205
+ return {
206
+ transitioned: false,
207
+ message: 'No tasks.md found - cannot determine completion status'
208
+ };
209
+ }
210
+ if (!taskStatus.allCompleted) {
211
+ return {
212
+ transitioned: false,
213
+ taskStatus,
214
+ message: `${taskStatus.completedTasks}/${taskStatus.totalTasks} tasks completed (${taskStatus.percentage}%) - not ready for review`
215
+ };
216
+ }
217
+ // All tasks completed! Transition to READY_FOR_REVIEW
218
+ MetadataManager.updateStatus(incrementId, IncrementStatus.READY_FOR_REVIEW);
219
+ return {
220
+ transitioned: true,
221
+ from: IncrementStatus.ACTIVE,
222
+ to: IncrementStatus.READY_FOR_REVIEW,
223
+ taskStatus,
224
+ message: `All ${taskStatus.totalTasks} tasks completed - transitioned to READY_FOR_REVIEW. Run /sw:done to close.`
225
+ };
226
+ }
227
+ catch (error) {
228
+ return {
229
+ transitioned: false,
230
+ message: `Error checking transition: ${error instanceof Error ? error.message : String(error)}`
231
+ };
232
+ }
233
+ }
234
+ /**
235
+ * Auto-transition based on specific file creation
236
+ *
237
+ * This is called by file watchers or post-write hooks
238
+ *
239
+ * @param incrementId - Increment ID
240
+ * @param createdFile - File that was just created
241
+ */
242
+ export function onFileCreated(incrementId, createdFile) {
243
+ const fileName = path.basename(createdFile);
244
+ // Only trigger on known files
245
+ if (!Object.values(TRANSITION_TRIGGERS).includes(fileName)) {
246
+ return;
247
+ }
248
+ autoTransitionStatus(incrementId, fileName);
249
+ }
250
+ /**
251
+ * Check if increment should auto-transition to ACTIVE
252
+ *
253
+ * Used by /sw:do command before execution
254
+ */
255
+ export function shouldTransitionToActive(incrementId) {
256
+ try {
257
+ const metadata = MetadataManager.read(incrementId);
258
+ // Already active, no transition needed
259
+ if (metadata.status === IncrementStatus.ACTIVE) {
260
+ return false;
261
+ }
262
+ // Planning with tasks.md → should transition
263
+ if (metadata.status === IncrementStatus.PLANNING && hasFile(incrementId, TRANSITION_TRIGGERS.TASKS_FILE)) {
264
+ return true;
265
+ }
266
+ // Any status with in-progress tasks → should transition
267
+ if (hasInProgressTasks(incrementId)) {
268
+ return true;
269
+ }
270
+ return false;
271
+ }
272
+ catch (error) {
273
+ return false;
274
+ }
275
+ }
276
+ /**
277
+ * Validate and fix "planned" vs "planning" inconsistency
278
+ *
279
+ * Legacy increments may have "planned" status (not in enum).
280
+ * This migrates them to "planning" (valid enum value).
281
+ */
282
+ export function migrateLegacyStatuses() {
283
+ let migratedCount = 0;
284
+ try {
285
+ const incrementsPath = path.join(resolveEffectiveRoot(), '.specweave', 'increments');
286
+ if (!fs.existsSync(incrementsPath)) {
287
+ return 0;
288
+ }
289
+ const increments = fs.readdirSync(incrementsPath)
290
+ .filter(name => !name.startsWith('_')) // Skip _archive, _templates
291
+ .filter(name => fs.statSync(path.join(incrementsPath, name)).isDirectory());
292
+ for (const incrementId of increments) {
293
+ const metadataPath = path.join(incrementsPath, incrementId, 'metadata.json');
294
+ if (!fs.existsSync(metadataPath)) {
295
+ continue;
296
+ }
297
+ try {
298
+ const metadata = fs.readJsonSync(metadataPath);
299
+ // Migrate "planned" → "planning"
300
+ if (metadata.status === 'planned') {
301
+ metadata.status = IncrementStatus.PLANNING;
302
+ fs.writeJsonSync(metadataPath, metadata, { spaces: 2 });
303
+ console.log(`✅ Migrated ${incrementId}: "planned" → "planning"`);
304
+ migratedCount++;
305
+ }
306
+ }
307
+ catch (error) {
308
+ console.warn(`⚠️ Failed to migrate ${incrementId}:`, error);
309
+ }
310
+ }
311
+ }
312
+ catch (error) {
313
+ console.error('Migration error:', error);
314
+ }
315
+ return migratedCount;
316
+ }
317
+ //# sourceMappingURL=status-auto-transition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-auto-transition.js","sourceRoot":"","sources":["../../../../src/core/increment/status-auto-transition.ts"],"names":[],"mappings":"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"}