@sudocode-ai/integration-openspec 0.1.14

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 (41) hide show
  1. package/dist/id-generator.d.ts +114 -0
  2. package/dist/id-generator.d.ts.map +1 -0
  3. package/dist/id-generator.js +165 -0
  4. package/dist/id-generator.js.map +1 -0
  5. package/dist/index.d.ts +29 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +692 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/parser/change-parser.d.ts +164 -0
  10. package/dist/parser/change-parser.d.ts.map +1 -0
  11. package/dist/parser/change-parser.js +339 -0
  12. package/dist/parser/change-parser.js.map +1 -0
  13. package/dist/parser/markdown-utils.d.ts +138 -0
  14. package/dist/parser/markdown-utils.d.ts.map +1 -0
  15. package/dist/parser/markdown-utils.js +283 -0
  16. package/dist/parser/markdown-utils.js.map +1 -0
  17. package/dist/parser/spec-parser.d.ts +116 -0
  18. package/dist/parser/spec-parser.d.ts.map +1 -0
  19. package/dist/parser/spec-parser.js +204 -0
  20. package/dist/parser/spec-parser.js.map +1 -0
  21. package/dist/parser/tasks-parser.d.ts +120 -0
  22. package/dist/parser/tasks-parser.d.ts.map +1 -0
  23. package/dist/parser/tasks-parser.js +176 -0
  24. package/dist/parser/tasks-parser.js.map +1 -0
  25. package/dist/watcher.d.ts +160 -0
  26. package/dist/watcher.d.ts.map +1 -0
  27. package/dist/watcher.js +614 -0
  28. package/dist/watcher.js.map +1 -0
  29. package/dist/writer/index.d.ts +9 -0
  30. package/dist/writer/index.d.ts.map +1 -0
  31. package/dist/writer/index.js +9 -0
  32. package/dist/writer/index.js.map +1 -0
  33. package/dist/writer/spec-writer.d.ts +24 -0
  34. package/dist/writer/spec-writer.d.ts.map +1 -0
  35. package/dist/writer/spec-writer.js +75 -0
  36. package/dist/writer/spec-writer.js.map +1 -0
  37. package/dist/writer/tasks-writer.d.ts +33 -0
  38. package/dist/writer/tasks-writer.d.ts.map +1 -0
  39. package/dist/writer/tasks-writer.js +144 -0
  40. package/dist/writer/tasks-writer.js.map +1 -0
  41. package/package.json +43 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAY,MAAM,IAAI,CAAC;AACrE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,iBAAiB;AACjB,OAAO,EACL,aAAa,GAEd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GAEtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAuB,MAAM,cAAc,CAAC;AAEpE,wCAAwC;AACxC,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAchF;;GAEG;AACH,MAAM,YAAY,GAAuB;IACvC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,2DAA2D;YACxE,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,IAAI;SACf;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,IAAI;SACd;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,6CAA6C;YAC1D,OAAO,EAAE,KAAK;SACf;KACF;IACD,QAAQ,EAAE,CAAC,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAAsB;IACxC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6DAA6D;IAE1E,YAAY;IAEZ,cAAc,CAAC,OAAgC;QAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,4BAA4B;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACnD,CAAC;QAED,mCAAmC;QACnC,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtD,QAAQ,CAAC,IAAI,CACX,kEAAkE,CACnE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAChE,CAAC;iBAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvD,QAAQ,CAAC,IAAI,CACX,mEAAmE,CACpE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,OAAgC,EAChC,WAAmB;QAEnB,MAAM,YAAY,GAAG,OAAO,CAAC,IAAc,CAAC;QAE5C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,iCAAiC;aACzC,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAE7D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,iCAAiC,YAAY,EAAE;gBACtD,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE;aAC9C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP,IAAI,EAAE,YAAY;gBAClB,YAAY;aACb;SACF,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,OAAgC,EAChC,WAAmB;QAEnB,OAAO,IAAI,gBAAgB,CACzB,OAAqC,EACrC,WAAW,CACZ,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,gBAAgB;IACX,IAAI,GAAG,UAAU,CAAC;IAClB,aAAa,GAAG,IAAI,CAAC;IACrB,eAAe,GAAG,IAAI,CAAC;IAExB,OAAO,CAAkB;IACzB,WAAW,CAAS;IACpB,YAAY,CAAS;IAE7B,sCAAsC;IAC9B,YAAY,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEtD,wBAAwB;IAChB,OAAO,GAA2B,IAAI,CAAC;IAE/C,YAAY,OAAwB,EAAE,WAAmB;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,CAAC,GAAG,CACT,8CAA8C,IAAI,CAAC,YAAY,EAAE,CAClE,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YAClE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAClC,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CACT,uCAAuC,KAAK,YAAY,MAAM,CAAC,MAAM,EAAE,CACxE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,OAAO,CAAC,GAAG,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;QAEhE,iDAAiD;QACjD,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QAEvD,4CAA4C;QAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,mCAAmC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;wBAAE,SAAS;oBAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC5D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;wBAAE,SAAS;oBAEpC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBAC3D,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;wBAC/B,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACrC,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,qCAAqC;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAC5D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;oBACrC,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;oBAChD,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBAC/D,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;wBAC/B,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAc;QACjC,OAAO,CAAC,GAAG,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC;QAErE,iDAAiD;QACjD,wEAAwE;QACxE,MAAM,YAAY,GAAqB,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAqB,EAAE,CAAC;QAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QAEvD,8DAA8D;QAC9D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;wBAAE,SAAS;oBAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC5D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;wBAAE,SAAS;oBAEpC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAE9B,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACrC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;wBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;wBAEvD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;4BACrC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC5B,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;oBACxE,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,sEAAsE;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAE5D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;wBAChD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;wBAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;wBAE7D,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;4BACrC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC7B,CAAC;wBAED,6CAA6C;wBAC7C,sEAAsE;wBACtE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;wBACtD,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;4BAC/B,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC5E,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;gCACvC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;oCAAE,SAAS;gCAEvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gCAC9E,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;oCAAE,SAAS;gCAE5C,kEAAkE;gCAClE,MAAM,SAAS,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gCAErD,IAAI,CAAC;oCACH,MAAM,YAAY,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;oCACrD,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oCAElE,mDAAmD;oCACnD,8DAA8D;oCAC9D,IAAI,SAAS,EAAE,CAAC;wCACd,MAAM,cAAc,GAAG,IAAI,CAAC,4BAA4B,CACtD,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,MAAM,CAAC,IAAI,CACZ,CAAC;wCAEF,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;4CAC7C,qEAAqE;4CACrE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wCACpC,CAAC;oCACH,CAAC;gCACH,CAAC;gCAAC,OAAO,KAAK,EAAE,CAAC;oCACf,OAAO,CAAC,KAAK,CAAC,6CAA6C,gBAAgB,GAAG,EAAE,KAAK,CAAC,CAAC;gCACzF,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,mEAAmE;QACnE,MAAM,QAAQ,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,aAAa,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,mCAAmC,QAAQ,CAAC,MAAM,cAAc,YAAY,CAAC,MAAM,WAAW,aAAa,CAAC,MAAM,UAAU,CAAC,CAAC;QAC1I,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA6B;QAC9C,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,MAA6B;QAE7B,OAAO,CAAC,GAAG,CAAC,sCAAsC,UAAU,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAEzF,yDAAyD;QACzD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QAEtE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,sBAAsB;YACtB,MAAM,OAAO,GAAG,YAAY,CAAC,GAA0C,CAAC;YACxE,MAAM,QAAQ,GAAG,OAAO,EAAE,QAA8B,CAAC;YACzD,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC7C,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;aAAM,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzC,iCAAiC;YACjC,MAAM,OAAO,GAAG,YAAY,CAAC,GAA0C,CAAC;YACxE,MAAM,UAAU,GAAG,OAAO,EAAE,IAA0B,CAAC;YACvD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAwB,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;YACzE,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;gBACtD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,UAAkB,EAClB,MAAsB;QAEtB,wBAAwB;QACxB,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE3D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC5D,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC;oBACrC,UAAU,GAAG,EAAE,CAAC;oBAChB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,0CAA0C,UAAU,EAAE,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACpD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,mDAAmD;gBACnD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;gBAC7C,IAAI,SAAS,EAAE,CAAC;oBACd,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,+CAA+C,SAAS,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,0EAA0E;YAC5E,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,OAAO,CAAC,GAAG,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAe;QACnC,OAAO,CAAC,GAAG,CACT,0CAA0C,SAAS,CAAC,WAAW,EAAE,EAAE,CACpE,CAAC;QAEF,MAAM,OAAO,GAAqB,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,yCAAyC;QACzC,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,aAAa;gBACb,OAAO,CAAC,IAAI,CAAC;oBACX,SAAS,EAAE,MAAM,CAAC,EAAE;oBACpB,WAAW,EAAE,MAAM,CAAC,IAAI;oBACxB,WAAW,EAAE,SAAS;oBACtB,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACxD,IAAI,EAAE,MAAM;iBACb,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;iBAAM,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAClC,iBAAiB;gBACjB,OAAO,CAAC,IAAI,CAAC;oBACX,SAAS,EAAE,MAAM,CAAC,EAAE;oBACpB,WAAW,EAAE,MAAM,CAAC,IAAI;oBACxB,WAAW,EAAE,SAAS;oBACtB,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACxD,IAAI,EAAE,MAAM;iBACb,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,uCAAuC;gBACvC,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC;gBAClE,OAAO,CAAC,IAAI,CAAC;oBACX,SAAS,EAAE,EAAE;oBACb,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBACvC,WAAW,EAAE,SAAS;oBACtB,SAAS,EAAE,GAAG;iBACf,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,QAA6C;QACzD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAE/C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACpC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;YACvC,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,wCAAwC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,YAAY;QACV,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,aAAa,CAAC,QAAwB;QASpC,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO;gBACL,KAAK,EAAE;oBACL,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,OAAO,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;oBACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,CAAC;oBAChC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;iBACxC;gBACD,8DAA8D;gBAC9D,aAAa,EAAE,QAAQ,CAAC,aAAa;aACtC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,OAAO,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;gBACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,CAAC;aACjC;YACD,uEAAuE;YACvE,aAAa,EAAE,QAAQ,CAAC,aAAa;SACtC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,MAAoB;QAClC,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC;QAEnC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAChC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,OAAO;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAE,MAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SACvD,CAAC;IACJ,CAAC;IAEO,SAAS,CACf,cAAuB;QAEvB,IAAI,CAAC,cAAc;YAAE,OAAO,MAAM,CAAC;QAEnC,MAAM,SAAS,GAGX;YACF,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,cAAc;YAC5B,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,QAAQ;SACpB,CAAC;QAEF,OAAO,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC;IAC3D,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,MAAsB;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,8EAA8E;IAC9E,4BAA4B;IAC5B,8EAA8E;IAE9E;;OAEG;IACK,oBAAoB,CAC1B,IAAwB,EACxB,EAAU;QAEV,wCAAwC;QACxC,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC;YACH,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QAED,OAAO;YACL,EAAE;YACF,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,CAAC,EAAE,mBAAmB;YAChC,GAAG,EAAE;gBACH,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB;SACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,4BAA4B,CAClC,IAAwB,EACxB,EAAU,EACV,SAAiB,EACjB,UAAkB;QAElB,wCAAwC;QACxC,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC;YACH,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QAED,OAAO;YACL,EAAE;YACF,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,CAAC;YACX,GAAG,EAAE;gBACH,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI;gBAChB,gBAAgB,EAAE,UAAU;aAC7B;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,sBAAsB,CAC5B,MAA4B,EAC5B,EAAU;QAEV,wDAAwD;QACxD,IAAI,MAAc,CAAC;QACnB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;aAAM,IAAI,MAAM,CAAC,cAAc,KAAK,GAAG,EAAE,CAAC;YACzC,MAAM,GAAG,cAAc,CAAC;QAC1B,CAAC;aAAM,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,GAAG,aAAa,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;QAED,0CAA0C;QAC1C,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,gBAAgB,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,gBAAgB,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,mBAAmB;QACnB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,eAAe,MAAM,CAAC,KAAK,CAAC,MAAM,mBAAmB,MAAM,CAAC,cAAc,YAAY,CAAC;YAC3G,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElD,0CAA0C;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;QACpD,MAAM,aAAa,GAAoC,MAAM,CAAC,aAAa,CAAC,GAAG,CAC7E,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACnB,QAAQ,EAAE,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC;YACpD,UAAU,EAAE,MAAe;YAC3B,gBAAgB,EAAE,YAAqB;SACxC,CAAC,CACH,CAAC;QAEF,OAAO;YACL,EAAE;YACF,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW;YACX,MAAM;YACN,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,8BAA8B;YACnE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE;YAC5C,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YACnE,GAAG,EAAE;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,MAAsB,EAAE,KAAc;QACzD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,CACL,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/C,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAClE,CAAC;IACJ,CAAC;CACF;AAED,eAAe,cAAc,CAAC;AAE9B,wDAAwD;AACxD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,GAEtB,MAAM,mBAAmB,CAAC;AAE3B,iEAAiE;AACjE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,aAAa,GAId,MAAM,yBAAyB,CAAC;AAEjC,kEAAkE;AAClE,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,6BAA6B,EAC7B,WAAW,EACX,aAAa,GAGd,MAAM,0BAA0B,CAAC;AAElC,mEAAmE;AACnE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,2BAA2B,EAC3B,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,eAAe,GAEhB,MAAM,2BAA2B,CAAC;AAEnC,yCAAyC;AACzC,OAAO,EACL,eAAe,GAGhB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * OpenSpec Change Parser
3
+ *
4
+ * Parses OpenSpec change directories from `openspec/changes/[name]/`.
5
+ *
6
+ * OpenSpec change directory structure:
7
+ * ```
8
+ * changes/add-scaffold-command/
9
+ * ├── proposal.md # ## Why, ## What Changes, ## Impact
10
+ * ├── tasks.md # Checkbox tasks
11
+ * └── specs/ # Delta directories for affected specs
12
+ * └── cli-scaffold/
13
+ * ```
14
+ *
15
+ * Archive directory pattern:
16
+ * ```
17
+ * changes/archive/YYYY-MM-DD-[name]/
18
+ * ```
19
+ */
20
+ import { type ParsedTask } from "./tasks-parser.js";
21
+ /**
22
+ * A fully parsed OpenSpec change
23
+ */
24
+ export interface ParsedOpenSpecChange {
25
+ /** Directory name (e.g., "add-scaffold-command") */
26
+ name: string;
27
+ /** From "## What Changes" first line or dir name */
28
+ title: string;
29
+ /** From ## Why section */
30
+ why?: string;
31
+ /** From ## What Changes section */
32
+ whatChanges?: string;
33
+ /** From ## Impact section */
34
+ impact?: string;
35
+ /** From tasks.md */
36
+ tasks: ParsedTask[];
37
+ /** 0-100 percentage */
38
+ taskCompletion: number;
39
+ /** From specs/[cap]/ delta directories */
40
+ affectedSpecs: string[];
41
+ /** Whether the change is in the archive directory */
42
+ isArchived: boolean;
43
+ /** From archive/YYYY-MM-DD-name/ pattern */
44
+ archivedAt?: Date;
45
+ /** Absolute path to the change directory */
46
+ filePath: string;
47
+ }
48
+ /**
49
+ * OpenSpec change-specific patterns
50
+ */
51
+ export declare const CHANGE_PATTERNS: {
52
+ /** Match archive directory pattern: YYYY-MM-DD-name */
53
+ ARCHIVE_DATE: RegExp;
54
+ };
55
+ /**
56
+ * Parse an OpenSpec change directory
57
+ *
58
+ * @param dirPath - Absolute path to the change directory
59
+ * @returns Parsed change object
60
+ * @throws Error if directory does not exist
61
+ *
62
+ * @example
63
+ * const change = parseChangeDirectory("/path/to/openspec/changes/add-feature");
64
+ * console.log(change.title); // "Add scaffold command"
65
+ * console.log(change.taskCompletion); // 75
66
+ * console.log(change.affectedSpecs); // ["cli-scaffold"]
67
+ */
68
+ export declare function parseChangeDirectory(dirPath: string): ParsedOpenSpecChange;
69
+ /**
70
+ * Extract the change name from the directory path
71
+ *
72
+ * Handles both active changes and archived changes:
73
+ * - changes/add-feature/ → "add-feature"
74
+ * - changes/archive/2024-01-15-add-feature/ → "add-feature"
75
+ *
76
+ * @param dirPath - Path to the change directory
77
+ * @returns Change name
78
+ */
79
+ export declare function extractChangeName(dirPath: string): string;
80
+ /**
81
+ * Detect if a change is archived and extract archive date
82
+ *
83
+ * @param dirPath - Path to the change directory
84
+ * @returns Archive status and date
85
+ */
86
+ export declare function detectArchiveStatus(dirPath: string): {
87
+ isArchived: boolean;
88
+ archivedAt?: Date;
89
+ };
90
+ /**
91
+ * Parse the proposal.md file for a change
92
+ *
93
+ * @param filePath - Path to proposal.md
94
+ * @param fallbackName - Name to use as title fallback
95
+ * @returns Extracted sections
96
+ */
97
+ export declare function parseProposal(filePath: string, fallbackName: string): {
98
+ why?: string;
99
+ whatChanges?: string;
100
+ impact?: string;
101
+ title: string;
102
+ };
103
+ /**
104
+ * Extract title from the "What Changes" section
105
+ *
106
+ * The title is the first non-empty line, with bullet prefix removed
107
+ *
108
+ * @param whatChanges - Content of the What Changes section
109
+ * @returns Extracted title or undefined
110
+ */
111
+ export declare function extractTitleFromWhatChanges(whatChanges?: string): string | undefined;
112
+ /**
113
+ * Format a directory name as a human-readable title
114
+ *
115
+ * @param name - Directory name (e.g., "add-scaffold-command")
116
+ * @returns Formatted title (e.g., "Add scaffold command")
117
+ */
118
+ export declare function formatTitle(name: string): string;
119
+ /**
120
+ * Parse tasks.md file for a change
121
+ *
122
+ * @param filePath - Path to tasks.md
123
+ * @returns Tasks and completion percentage
124
+ */
125
+ export declare function parseChangeTasks(filePath: string): {
126
+ tasks: ParsedTask[];
127
+ taskCompletion: number;
128
+ };
129
+ /**
130
+ * Scan the specs/ subdirectory for affected spec delta directories
131
+ *
132
+ * @param dirPath - Path to the change directory
133
+ * @returns Array of affected spec names
134
+ */
135
+ export declare function scanAffectedSpecs(dirPath: string): string[];
136
+ /**
137
+ * Check if a directory appears to be a valid OpenSpec change directory
138
+ *
139
+ * A valid change directory contains at least one of:
140
+ * - proposal.md
141
+ * - tasks.md
142
+ * - design.md
143
+ *
144
+ * @param dirPath - Path to check
145
+ * @returns true if the directory looks like a change directory
146
+ */
147
+ export declare function isChangeDirectory(dirPath: string): boolean;
148
+ /**
149
+ * Scan a directory for all change directories
150
+ *
151
+ * @param basePath - Path to the changes/ directory
152
+ * @param includeArchived - Whether to include archived changes
153
+ * @returns Array of change directory paths
154
+ */
155
+ export declare function scanChangeDirectories(basePath: string, includeArchived?: boolean): string[];
156
+ /**
157
+ * Parse all changes in a directory
158
+ *
159
+ * @param basePath - Path to the changes/ directory
160
+ * @param includeArchived - Whether to include archived changes
161
+ * @returns Array of parsed changes
162
+ */
163
+ export declare function parseAllChanges(basePath: string, includeArchived?: boolean): ParsedOpenSpecChange[];
164
+ //# sourceMappingURL=change-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-parser.d.ts","sourceRoot":"","sources":["../../src/parser/change-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAM3B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,uBAAuB;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,qDAAqD;IACrD,UAAU,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,eAAO,MAAM,eAAe;IAC1B,uDAAuD;;CAExD,CAAC;AAMF;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAmC1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUzD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG;IACpD,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB,CAsBA;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CA+BA;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,GAAG,SAAS,CAkBpB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAClD,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB,CAWA;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAgB3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAW1D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,eAAe,GAAE,OAAc,GAC9B,MAAM,EAAE,CA8BV;AAyBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,eAAe,GAAE,OAAc,GAC9B,oBAAoB,EAAE,CAuBxB"}
@@ -0,0 +1,339 @@
1
+ /**
2
+ * OpenSpec Change Parser
3
+ *
4
+ * Parses OpenSpec change directories from `openspec/changes/[name]/`.
5
+ *
6
+ * OpenSpec change directory structure:
7
+ * ```
8
+ * changes/add-scaffold-command/
9
+ * ├── proposal.md # ## Why, ## What Changes, ## Impact
10
+ * ├── tasks.md # Checkbox tasks
11
+ * └── specs/ # Delta directories for affected specs
12
+ * └── cli-scaffold/
13
+ * ```
14
+ *
15
+ * Archive directory pattern:
16
+ * ```
17
+ * changes/archive/YYYY-MM-DD-[name]/
18
+ * ```
19
+ */
20
+ import { existsSync, readFileSync, readdirSync, statSync } from "fs";
21
+ import * as path from "path";
22
+ import { extractSection } from "./markdown-utils.js";
23
+ import { parseTasks as parseTasksFile, } from "./tasks-parser.js";
24
+ // ============================================================================
25
+ // Regex Patterns
26
+ // ============================================================================
27
+ /**
28
+ * OpenSpec change-specific patterns
29
+ */
30
+ export const CHANGE_PATTERNS = {
31
+ /** Match archive directory pattern: YYYY-MM-DD-name */
32
+ ARCHIVE_DATE: /^(\d{4}-\d{2}-\d{2})-(.+)$/,
33
+ };
34
+ // ============================================================================
35
+ // Parser Functions
36
+ // ============================================================================
37
+ /**
38
+ * Parse an OpenSpec change directory
39
+ *
40
+ * @param dirPath - Absolute path to the change directory
41
+ * @returns Parsed change object
42
+ * @throws Error if directory does not exist
43
+ *
44
+ * @example
45
+ * const change = parseChangeDirectory("/path/to/openspec/changes/add-feature");
46
+ * console.log(change.title); // "Add scaffold command"
47
+ * console.log(change.taskCompletion); // 75
48
+ * console.log(change.affectedSpecs); // ["cli-scaffold"]
49
+ */
50
+ export function parseChangeDirectory(dirPath) {
51
+ if (!existsSync(dirPath) || !statSync(dirPath).isDirectory()) {
52
+ throw new Error(`Change directory not found: ${dirPath}`);
53
+ }
54
+ // Extract name from directory path
55
+ const name = extractChangeName(dirPath);
56
+ // Check if archived
57
+ const { isArchived, archivedAt } = detectArchiveStatus(dirPath);
58
+ // Parse proposal.md
59
+ const proposalPath = path.join(dirPath, "proposal.md");
60
+ const { why, whatChanges, impact, title } = parseProposal(proposalPath, name);
61
+ // Parse tasks.md
62
+ const tasksPath = path.join(dirPath, "tasks.md");
63
+ const { tasks, taskCompletion } = parseChangeTasks(tasksPath);
64
+ // Scan specs/ subdirectory for affected specs
65
+ const affectedSpecs = scanAffectedSpecs(dirPath);
66
+ return {
67
+ name,
68
+ title,
69
+ why,
70
+ whatChanges,
71
+ impact,
72
+ tasks,
73
+ taskCompletion,
74
+ affectedSpecs,
75
+ isArchived,
76
+ archivedAt,
77
+ filePath: dirPath,
78
+ };
79
+ }
80
+ /**
81
+ * Extract the change name from the directory path
82
+ *
83
+ * Handles both active changes and archived changes:
84
+ * - changes/add-feature/ → "add-feature"
85
+ * - changes/archive/2024-01-15-add-feature/ → "add-feature"
86
+ *
87
+ * @param dirPath - Path to the change directory
88
+ * @returns Change name
89
+ */
90
+ export function extractChangeName(dirPath) {
91
+ const dirName = path.basename(dirPath);
92
+ // Check if this is an archived change with date prefix
93
+ const archiveMatch = dirName.match(CHANGE_PATTERNS.ARCHIVE_DATE);
94
+ if (archiveMatch) {
95
+ return archiveMatch[2]; // Return name without date prefix
96
+ }
97
+ return dirName;
98
+ }
99
+ /**
100
+ * Detect if a change is archived and extract archive date
101
+ *
102
+ * @param dirPath - Path to the change directory
103
+ * @returns Archive status and date
104
+ */
105
+ export function detectArchiveStatus(dirPath) {
106
+ // Check if the path contains /archive/
107
+ const normalizedPath = dirPath.replace(/\\/g, "/");
108
+ const isArchived = normalizedPath.includes("/archive/");
109
+ if (!isArchived) {
110
+ return { isArchived: false };
111
+ }
112
+ // Try to extract date from directory name
113
+ const dirName = path.basename(dirPath);
114
+ const archiveMatch = dirName.match(CHANGE_PATTERNS.ARCHIVE_DATE);
115
+ if (archiveMatch) {
116
+ const dateStr = archiveMatch[1];
117
+ const archivedAt = new Date(dateStr + "T00:00:00");
118
+ if (!isNaN(archivedAt.getTime())) {
119
+ return { isArchived: true, archivedAt };
120
+ }
121
+ }
122
+ return { isArchived: true };
123
+ }
124
+ /**
125
+ * Parse the proposal.md file for a change
126
+ *
127
+ * @param filePath - Path to proposal.md
128
+ * @param fallbackName - Name to use as title fallback
129
+ * @returns Extracted sections
130
+ */
131
+ export function parseProposal(filePath, fallbackName) {
132
+ if (!existsSync(filePath)) {
133
+ return { title: formatTitle(fallbackName) };
134
+ }
135
+ try {
136
+ const content = readFileSync(filePath, "utf-8");
137
+ const lines = content.split("\n");
138
+ // Extract ## Why section
139
+ const whyLines = extractSection(lines, "Why", 2);
140
+ const why = whyLines ? whyLines.join("\n").trim() : undefined;
141
+ // Extract ## What Changes section
142
+ const whatChangesLines = extractSection(lines, "What Changes", 2);
143
+ const whatChanges = whatChangesLines
144
+ ? whatChangesLines.join("\n").trim()
145
+ : undefined;
146
+ // Extract ## Impact section
147
+ const impactLines = extractSection(lines, "Impact", 2);
148
+ const impact = impactLines ? impactLines.join("\n").trim() : undefined;
149
+ // Extract title from "What Changes" first line, or fall back to dir name
150
+ const title = extractTitleFromWhatChanges(whatChanges) || formatTitle(fallbackName);
151
+ return { why, whatChanges, impact, title };
152
+ }
153
+ catch (error) {
154
+ console.error(`[change-parser] Failed to parse ${filePath}:`, error);
155
+ return { title: formatTitle(fallbackName) };
156
+ }
157
+ }
158
+ /**
159
+ * Extract title from the "What Changes" section
160
+ *
161
+ * The title is the first non-empty line, with bullet prefix removed
162
+ *
163
+ * @param whatChanges - Content of the What Changes section
164
+ * @returns Extracted title or undefined
165
+ */
166
+ export function extractTitleFromWhatChanges(whatChanges) {
167
+ if (!whatChanges)
168
+ return undefined;
169
+ const lines = whatChanges.split("\n");
170
+ for (const line of lines) {
171
+ const trimmed = line.trim();
172
+ if (!trimmed)
173
+ continue;
174
+ // Remove bullet prefix if present (- or *)
175
+ const withoutBullet = trimmed.replace(/^[-*]\s*/, "");
176
+ // Return first meaningful content
177
+ if (withoutBullet.length > 0) {
178
+ return withoutBullet;
179
+ }
180
+ }
181
+ return undefined;
182
+ }
183
+ /**
184
+ * Format a directory name as a human-readable title
185
+ *
186
+ * @param name - Directory name (e.g., "add-scaffold-command")
187
+ * @returns Formatted title (e.g., "Add scaffold command")
188
+ */
189
+ export function formatTitle(name) {
190
+ // Replace hyphens and underscores with spaces
191
+ const spaced = name.replace(/[-_]/g, " ");
192
+ // Capitalize first letter
193
+ return spaced.charAt(0).toUpperCase() + spaced.slice(1);
194
+ }
195
+ /**
196
+ * Parse tasks.md file for a change
197
+ *
198
+ * @param filePath - Path to tasks.md
199
+ * @returns Tasks and completion percentage
200
+ */
201
+ export function parseChangeTasks(filePath) {
202
+ const result = parseTasksFile(filePath);
203
+ if (!result) {
204
+ return { tasks: [], taskCompletion: 0 };
205
+ }
206
+ return {
207
+ tasks: result.tasks,
208
+ taskCompletion: result.completionPercentage,
209
+ };
210
+ }
211
+ /**
212
+ * Scan the specs/ subdirectory for affected spec delta directories
213
+ *
214
+ * @param dirPath - Path to the change directory
215
+ * @returns Array of affected spec names
216
+ */
217
+ export function scanAffectedSpecs(dirPath) {
218
+ const specsDir = path.join(dirPath, "specs");
219
+ if (!existsSync(specsDir) || !statSync(specsDir).isDirectory()) {
220
+ return [];
221
+ }
222
+ try {
223
+ const entries = readdirSync(specsDir, { withFileTypes: true });
224
+ return entries
225
+ .filter((entry) => entry.isDirectory())
226
+ .map((entry) => entry.name);
227
+ }
228
+ catch (error) {
229
+ console.error(`[change-parser] Failed to scan specs directory:`, error);
230
+ return [];
231
+ }
232
+ }
233
+ /**
234
+ * Check if a directory appears to be a valid OpenSpec change directory
235
+ *
236
+ * A valid change directory contains at least one of:
237
+ * - proposal.md
238
+ * - tasks.md
239
+ * - design.md
240
+ *
241
+ * @param dirPath - Path to check
242
+ * @returns true if the directory looks like a change directory
243
+ */
244
+ export function isChangeDirectory(dirPath) {
245
+ if (!existsSync(dirPath) || !statSync(dirPath).isDirectory()) {
246
+ return false;
247
+ }
248
+ // Check for characteristic files
249
+ const hasProposal = existsSync(path.join(dirPath, "proposal.md"));
250
+ const hasTasks = existsSync(path.join(dirPath, "tasks.md"));
251
+ const hasDesign = existsSync(path.join(dirPath, "design.md"));
252
+ return hasProposal || hasTasks || hasDesign;
253
+ }
254
+ /**
255
+ * Scan a directory for all change directories
256
+ *
257
+ * @param basePath - Path to the changes/ directory
258
+ * @param includeArchived - Whether to include archived changes
259
+ * @returns Array of change directory paths
260
+ */
261
+ export function scanChangeDirectories(basePath, includeArchived = true) {
262
+ if (!existsSync(basePath) || !statSync(basePath).isDirectory()) {
263
+ return [];
264
+ }
265
+ const changes = [];
266
+ try {
267
+ const entries = readdirSync(basePath, { withFileTypes: true });
268
+ for (const entry of entries) {
269
+ if (!entry.isDirectory())
270
+ continue;
271
+ const entryPath = path.join(basePath, entry.name);
272
+ if (entry.name === "archive") {
273
+ // Scan archive subdirectory
274
+ if (includeArchived) {
275
+ const archivedChanges = scanArchivedChanges(entryPath);
276
+ changes.push(...archivedChanges);
277
+ }
278
+ }
279
+ else if (isChangeDirectory(entryPath)) {
280
+ changes.push(entryPath);
281
+ }
282
+ }
283
+ }
284
+ catch (error) {
285
+ console.error(`[change-parser] Failed to scan changes directory:`, error);
286
+ }
287
+ return changes;
288
+ }
289
+ /**
290
+ * Scan the archive directory for archived changes
291
+ *
292
+ * @param archivePath - Path to the archive/ directory
293
+ * @returns Array of archived change directory paths
294
+ */
295
+ function scanArchivedChanges(archivePath) {
296
+ if (!existsSync(archivePath) || !statSync(archivePath).isDirectory()) {
297
+ return [];
298
+ }
299
+ try {
300
+ const entries = readdirSync(archivePath, { withFileTypes: true });
301
+ return entries
302
+ .filter((entry) => entry.isDirectory())
303
+ .filter((entry) => isChangeDirectory(path.join(archivePath, entry.name)))
304
+ .map((entry) => path.join(archivePath, entry.name));
305
+ }
306
+ catch (error) {
307
+ console.error(`[change-parser] Failed to scan archive directory:`, error);
308
+ return [];
309
+ }
310
+ }
311
+ /**
312
+ * Parse all changes in a directory
313
+ *
314
+ * @param basePath - Path to the changes/ directory
315
+ * @param includeArchived - Whether to include archived changes
316
+ * @returns Array of parsed changes
317
+ */
318
+ export function parseAllChanges(basePath, includeArchived = true) {
319
+ const changePaths = scanChangeDirectories(basePath, includeArchived);
320
+ return changePaths.map((changePath) => {
321
+ try {
322
+ return parseChangeDirectory(changePath);
323
+ }
324
+ catch (error) {
325
+ console.error(`[change-parser] Failed to parse change at ${changePath}:`, error);
326
+ // Return a minimal change object for failed parses
327
+ return {
328
+ name: path.basename(changePath),
329
+ title: formatTitle(path.basename(changePath)),
330
+ tasks: [],
331
+ taskCompletion: 0,
332
+ affectedSpecs: [],
333
+ isArchived: changePath.includes("/archive/"),
334
+ filePath: changePath,
335
+ };
336
+ }
337
+ });
338
+ }
339
+ //# sourceMappingURL=change-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-parser.js","sourceRoot":"","sources":["../../src/parser/change-parser.ts"],"names":[],"mappings":"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"}