@oh-my-matrix/autopilot 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +36 -0
  3. package/dist/index.d.ts +28 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +1034 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/src/audit-persister.d.ts +25 -0
  8. package/dist/src/audit-persister.d.ts.map +1 -0
  9. package/dist/src/audit-persister.js +162 -0
  10. package/dist/src/audit-persister.js.map +1 -0
  11. package/dist/src/autopilot-state.d.ts +35 -0
  12. package/dist/src/autopilot-state.d.ts.map +1 -0
  13. package/dist/src/autopilot-state.js +121 -0
  14. package/dist/src/autopilot-state.js.map +1 -0
  15. package/dist/src/command-runner.d.ts +13 -0
  16. package/dist/src/command-runner.d.ts.map +1 -0
  17. package/dist/src/command-runner.js +148 -0
  18. package/dist/src/command-runner.js.map +1 -0
  19. package/dist/src/completion-detector.d.ts +21 -0
  20. package/dist/src/completion-detector.d.ts.map +1 -0
  21. package/dist/src/completion-detector.js +104 -0
  22. package/dist/src/completion-detector.js.map +1 -0
  23. package/dist/src/continuation-engine.d.ts +9 -0
  24. package/dist/src/continuation-engine.d.ts.map +1 -0
  25. package/dist/src/continuation-engine.js +76 -0
  26. package/dist/src/continuation-engine.js.map +1 -0
  27. package/dist/src/effort-injection.d.ts +9 -0
  28. package/dist/src/effort-injection.d.ts.map +1 -0
  29. package/dist/src/effort-injection.js +17 -0
  30. package/dist/src/effort-injection.js.map +1 -0
  31. package/dist/src/evidence-gate.d.ts +24 -0
  32. package/dist/src/evidence-gate.d.ts.map +1 -0
  33. package/dist/src/evidence-gate.js +86 -0
  34. package/dist/src/evidence-gate.js.map +1 -0
  35. package/dist/src/goal-manager.d.ts +5 -0
  36. package/dist/src/goal-manager.d.ts.map +1 -0
  37. package/dist/src/goal-manager.js +22 -0
  38. package/dist/src/goal-manager.js.map +1 -0
  39. package/dist/src/logger.d.ts +27 -0
  40. package/dist/src/logger.d.ts.map +1 -0
  41. package/dist/src/logger.js +90 -0
  42. package/dist/src/logger.js.map +1 -0
  43. package/dist/src/orchestrator.d.ts +16 -0
  44. package/dist/src/orchestrator.d.ts.map +1 -0
  45. package/dist/src/orchestrator.js +252 -0
  46. package/dist/src/orchestrator.js.map +1 -0
  47. package/dist/src/permission-policy.d.ts +36 -0
  48. package/dist/src/permission-policy.d.ts.map +1 -0
  49. package/dist/src/permission-policy.js +265 -0
  50. package/dist/src/permission-policy.js.map +1 -0
  51. package/dist/src/project-detector.d.ts +8 -0
  52. package/dist/src/project-detector.d.ts.map +1 -0
  53. package/dist/src/project-detector.js +130 -0
  54. package/dist/src/project-detector.js.map +1 -0
  55. package/dist/src/projection.d.ts +47 -0
  56. package/dist/src/projection.d.ts.map +1 -0
  57. package/dist/src/projection.js +58 -0
  58. package/dist/src/projection.js.map +1 -0
  59. package/dist/src/retry-queue.d.ts +25 -0
  60. package/dist/src/retry-queue.d.ts.map +1 -0
  61. package/dist/src/retry-queue.js +77 -0
  62. package/dist/src/retry-queue.js.map +1 -0
  63. package/dist/src/stall-detector.d.ts +22 -0
  64. package/dist/src/stall-detector.d.ts.map +1 -0
  65. package/dist/src/stall-detector.js +26 -0
  66. package/dist/src/stall-detector.js.map +1 -0
  67. package/dist/src/tool-error-tracker.d.ts +4 -0
  68. package/dist/src/tool-error-tracker.d.ts.map +1 -0
  69. package/dist/src/tool-error-tracker.js +18 -0
  70. package/dist/src/tool-error-tracker.js.map +1 -0
  71. package/dist/src/types.d.ts +223 -0
  72. package/dist/src/types.d.ts.map +1 -0
  73. package/dist/src/types.js +55 -0
  74. package/dist/src/types.js.map +1 -0
  75. package/dist/src/workflow-config.d.ts +13 -0
  76. package/dist/src/workflow-config.d.ts.map +1 -0
  77. package/dist/src/workflow-config.js +422 -0
  78. package/dist/src/workflow-config.js.map +1 -0
  79. package/openclaw.plugin.json +62 -0
  80. package/package.json +56 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAsGA,sCASC;AAGD,0DAKC;AAED,4DAOC;AAOD,8DAqDC;AA0DD,sDAEC;AAMD,4BAwyBC;AAtiCD,mEAAsF;AACtF,iEAA0D;AAC1D,yDAAkD;AAClD,6DAA8D;AAC9D,yCAAgE;AAChE,2DAW+B;AAC/B,qDAA2G;AAC3G,iDAAgD;AAChD,uCAAiE;AAGjE,qDAAyD;AACzD,uEAAoH;AACpH,2DAAoF;AACpF,uDAAuD;AACvD,yDAA6D;AAC7D,6DAAkE;AAClE,uEAA2F;AAC3F,2BAA8B;AAC9B,+BAAkC;AAElC;;;;;;;;;;GAUG;AACH,SAAS,qBAAqB,CAAC,CAAqB;IAClD,IAAI,CAAC,CAAC,IAAI,CAAC,IAAA,iBAAU,EAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,IAAA,aAAQ,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAEY,QAAA,EAAE,GAAG,WAAW,CAAC;AACjB,QAAA,IAAI,GAAG,2BAA2B,CAAC;AACnC,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B,+EAA+E;AAC/E,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,8EAA8E;AAC9E,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhD,IAAI,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;AACnD,IAAI,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC/C,IAAI,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAClD,IAAI,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;AACpC,IAAI,aAAa,GAA0C,IAAI,CAAC;AAEhE;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,sGAAsG;AACtG,gFAAgF;AAChF,IAAI,aAAa,GAA8D,IAAI,CAAC;AACpF,IAAI,CAAC;IACH,sHAAsH;IACtH,MAAM,WAAW,GAAY,OAAO,CAAC,iCAAiC,CAAC,CAAC;IACxE,IACE,OAAO,WAAW,KAAK,QAAQ;QAC/B,WAAW,KAAK,IAAI;QACpB,eAAe,IAAI,WAAW;QAC9B,OAAQ,WAAuC,CAAC,aAAa,KAAK,UAAU,EAC5E,CAAC;QACD,aAAa,GAAI,WAAuC,CAAC,aAAiE,CAAC;IAC7H,CAAC;AACH,CAAC;AAAC,MAAM,CAAC;IACP,IAAA,aAAI,EAAC,6EAA6E,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,YAAY,CAAC,IAAsC;IAC1D,IAAI,CAAC;QACH,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC;QACtB,IAAA,YAAG,EAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAA,aAAI,EAAC,4BAA4B,IAAI,yBAAyB,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAgB,aAAa;IAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IACvB,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;IAC3B,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IACxB,IAAI,aAAa,EAAE,CAAC;QAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAAC,aAAa,GAAG,IAAI,CAAC;IAAC,CAAC;AAC5E,CAAC;AAED,wGAAwG;AACxG,SAAgB,uBAAuB,CAAC,EAA6D;IACnG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,aAAa,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO;QACL,cAAc,EAAE,UAAU,CAAC,IAAI;QAC/B,kBAAkB,EAAE,cAAc,CAAC,IAAI;QACvC,qBAAqB,EAAE,iBAAiB,CAAC,IAAI;QAC7C,eAAe,EAAE,WAAW,CAAC,IAAI;KAClC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,SAIzC;IACC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAExD,2DAA2D;IAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,YAAY,SAAS,CAAC,UAAU,EAAE,CAAC;QAC3C,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEvC,0EAA0E;IAC1E,MAAM,IAAI,GAAmB,QAAQ,IAAI;QACvC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,kBAAkB,EAAE,CAAC;QACrB,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,CAAC;QAClB,QAAQ,EAAE,KAAK;QACf,oBAAoB,EAAE,KAAK;KACV,CAAC;IAEpB,MAAM,QAAQ,GAAmB;QAC/B,GAAG,IAAI;QACP,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,OAAO,EAAE,IAAI;KACd,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE1B,0DAA0D;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;IACrC,IACE,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,kBAAkB,KAAK,cAAc;QAC3C,KAAK,CAAC,KAAK,EAAE,WAAW,IAAI,IAAI;QAChC,KAAK,CAAC,KAAK,CAAC,WAAW,IAAI,GAAG,EAC9B,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,kCAAmB,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,gEAAgE;AAChE,SAAS,eAAe;IACtB,OAAO,UAAU,CAAC,IAAI,GAAG,cAAc,EAAE,CAAC;QACxC,2DAA2D;QAC3D,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,IAAI,QAAQ,GAAG,QAAQ,CAAC;QACxB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,QAAQ,EAAE,CAAC;gBAC7C,QAAQ,GAAG,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC;gBACvC,WAAW,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QACD,IAAI,WAAW,IAAI,IAAI;YAAE,MAAM;QAC/B,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChD,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,WAAW,EAAE,CAAC;YAChB,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACjD,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC3C,4EAA4E;YAC5E,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;gBACzC,IAAI,IAAI,KAAK,WAAW,CAAC,UAAU,EAAE,CAAC;oBACpC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC3B,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAqB;IACpD,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7B,IAAI,UAAU,CAAC,IAAI,GAAG,cAAc;QAAE,eAAe,EAAE,CAAC;AAC1D,CAAC;AAED,4CAA4C;AAC5C,SAAS,UAAU;IACjB,6EAA6E;IAC7E,gGAAgG;IAChG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IACD,UAAU,CAAC,KAAK,EAAE,CAAC;IACnB,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,iBAAiB,CAAC,KAAK,EAAE,CAAC;IAC1B,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,IAAI,aAAa,EAAE,CAAC;QAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAAC,aAAa,GAAG,IAAI,CAAC;IAAC,CAAC;AAC5E,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,+EAA+E;AAC/E,SAAgB,qBAAqB;IACnC,OAAO,OAAO,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,qBAAqB,EAAE,CAAC;AACjC,CAAC;AAED,SAAgB,QAAQ,CAAC,GAAsB;IAC7C,sDAAsD;IACtD,4EAA4E;IAC5E,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAClC,MAAM,cAAc,GAAG,CAAC,CAAU,EAAsB,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,MAAM,MAAM,GAAoB;QAC9B,GAAG,sBAAc;QACjB,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,cAAc,CAAC,EAAE,CAAC,kBAAkB,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxH,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,cAAc,CAAC,EAAE,CAAC,qBAAqB,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjI,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,cAAc,CAAC,EAAE,CAAC,kBAAkB,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxH,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,cAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,aAAyB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,cAAc,CAAC,EAAE,CAAC,sBAAsB,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrI,CAAC;IACF,IAAA,YAAG,EAAC,0CAA0C,MAAM,CAAC,kBAAkB,0BAA0B,MAAM,CAAC,qBAAqB,uBAAuB,MAAM,CAAC,kBAAkB,mBAAmB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAEjU,sFAAsF;IACtF,MAAM,YAAY,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAA,cAAK,EAAC,4GAA4G,CAAC,CAAC;QACpH,OAAO;IACT,CAAC;IAED,YAAY,CAAC,uBAAuB,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,UAAU;YAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAE/C,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAE1C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;QAEhC,uFAAuF;QACvF,8FAA8F;QAC9F,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB;YACzC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE;YAC9C,CAAC,CAAC,QAAQ,CAAC;QACb,IAAI,QAAQ,CAAC,oBAAoB;YAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,IAAA,wCAAkB,EAAC,KAAK,EAAE;YACzC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;YAChD,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC,CAAC,CAAC;QAEH,IAAA,YAAG,EAAC,8CAA8C,UAAU,WAAW,QAAQ,CAAC,MAAM,SAAS,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,kBAAkB,UAAU,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAElN,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,IAAA,gCAAc,EAAC,IAAA,+BAAa,EAAC,KAAK,CAAC,CAAC,CAAC;gBACrD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACzB,OAAO;oBACL,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE;wBACL,WAAW,EAAE,QAAQ,CAAC,gBAAiB;wBACvC,cAAc,EAAE,aAAa,KAAK,IAAI,OAAO,CAAC,kBAAkB,EAAE;wBAClE,WAAW,EAAE,KAAK,CAAC,kBAAkB,GAAG,OAAO,CAAC,YAAY;qBAC7D;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,wBAAwB,CAAC;gBAChE,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;oBAClC,MAAM,OAAO,GAAG,EAAE,GAAG,IAAA,gCAAc,EAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;oBAC1F,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;4BAC3B,UAAU;4BACV,IAAI,EAAE,QAAQ,CAAC,gBAAgB,IAAI,mCAAmC;4BACtE,cAAc,EAAE,mBAAmB,UAAU,IAAI,OAAO,CAAC,kBAAkB,EAAE;4BAC7E,SAAS,EAAE,iBAAiB;4BAC5B,KAAK,EAAE,MAAM;yBACd,CAAC,CAAC;wBACH,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;4BACtE,IAAA,aAAI,EAAC,6DAA6D,UAAU,0BAA0B,CAAC,CAAC;4BACxG,MAAM,aAAa,GAAG,EAAE,GAAG,IAAA,gCAAc,EAAC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;4BACpE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;4BAC/B,OAAO;gCACL,MAAM,EAAE,QAAQ;gCAChB,KAAK,EAAE;oCACL,WAAW,EAAE,QAAQ,CAAC,gBAAgB,IAAI,mCAAmC;oCAC7E,cAAc,EAAE,aAAa,KAAK,IAAI,aAAa,CAAC,kBAAkB,EAAE;oCACxE,WAAW,EAAE,aAAa,CAAC,kBAAkB;iCAC9C;6BACF,CAAC;wBACJ,CAAC;wBACD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBACzB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;oBAChC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAA,aAAI,EAAC,2DAA2D,UAAU,KAAK,GAAG,0BAA0B,CAAC,CAAC;wBAC9G,MAAM,aAAa,GAAG,EAAE,GAAG,IAAA,gCAAc,EAAC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;wBACpE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;wBAC/B,OAAO;4BACL,MAAM,EAAE,QAAQ;4BAChB,KAAK,EAAE;gCACL,WAAW,EAAE,QAAQ,CAAC,gBAAgB,IAAI,gBAAgB;gCAC1D,cAAc,EAAE,aAAa,KAAK,IAAI,aAAa,CAAC,kBAAkB,EAAE;gCACxE,WAAW,EAAE,aAAa,CAAC,kBAAkB;6BAC9C;yBACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,oEAAoE;gBACpE,MAAM,aAAa,GAAG,EAAE,GAAG,IAAA,gCAAc,EAAC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;gBACpE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBAC/B,OAAO;oBACL,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE;wBACL,WAAW,EAAE,QAAQ,CAAC,gBAAgB,IAAI,gBAAgB;wBAC1D,cAAc,EAAE,aAAa,KAAK,IAAI,aAAa,CAAC,kBAAkB,EAAE;wBACxE,WAAW,EAAE,aAAa,CAAC,kBAAkB;qBAC9C;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,QAAQ,CAAC,KAAK,EAAE,IAAA,uBAAK,EAAC,KAAK,EAAE,QAAQ,CAAC,WAAY,CAAC,CAAC,CAAC;gBACrD,sFAAsF;gBACtF,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YAChC,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,oDAAoD;gBACpD,yFAAyF;gBACzF,IAAI,eAAe,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;oBACnE,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC;wBACjD,CAAC,CAAC,MAAM,IAAA,sCAAqB,EAAC,gBAAgB,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC;wBACtE,CAAC,CAAC,EAAE,CAAC;oBACP,eAAe,GAAG,IAAA,gCAAgB,EAAC;wBACjC,QAAQ,EAAE,gBAAgB;wBAC1B,OAAO,EAAE,eAAe;wBACxB,WAAW,EAAE,EAAE;wBACf,GAAG;qBACJ,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,sFAAsF;oBACtF,IAAA,aAAI,EAAC,mDAAmD,GAAG,YAAY,UAAU,EAAE,CAAC,CAAC;oBACrF,eAAe,GAAG,EAAE,MAAM,EAAE,SAAkB,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;gBACvI,CAAC;gBACD,4FAA4F;gBAC5F,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,IAAI,KAAK,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;oBAC5C,OAAO,GAAG,IAAA,kCAAmB,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC/E,OAAO,GAAG,IAAA,kCAAmB,EAAC,OAAO,EAAE;wBACrC,IAAI,EAAE,mBAAmB;wBACzB,KAAK;wBACL,GAAG;wBACH,QAAQ,EAAE,eAAe;qBAC1B,CAAC,CAAC;gBACL,CAAC;gBACD,uCAAuC;gBACvC,8FAA8F;gBAC9F,8FAA8F;gBAC9F,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,KAAK,MAAM;oBACvC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;oBAC3C,CAAC,CAAC,IAAA,0BAAQ,EAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;gBACzD,IAAA,uBAAc,EAAC,MAAM,EAAE,sBAAsB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9G,0FAA0F;gBAC1F,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YAChC,CAAC;YACD;gBACE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,iBAAiB,EAAE,CAAC,KAAU,EAAE,EAAE;QAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO;QAChC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QAE7B,8EAA8E;QAC9E,iFAAiF;QACjF,MAAM,aAAa,GAAG,IAAA,kCAAmB,EAAC,KAAK,EAAE;YAC/C,IAAI,EAAE,gBAAgB;YACtB,KAAK;YACL,QAAQ,EAAE,aAAa;YACvB,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAA,mCAAc,EAAC,aAAa,EAAE;YAC9C,IAAI,EAAE,KAAK,CAAC,QAAQ;YACpB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YAC1D,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;SAC7C,CAAC,CAAC;QACH,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3B,IAAA,YAAG,EAAC,8CAA8C,UAAU,SAAS,KAAK,CAAC,QAAQ,aAAa,SAAS,CAAC,cAAc,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC1J,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,mBAAmB,EAAE,CAAC,KAAU,EAAE,EAAE;QAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACvB,IAAA,YAAG,EAAC,0CAA0C,UAAU,kBAAkB,CAAC,CAAC;YAC5E,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAA,2CAA4B,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,kBAAkB,EAAE,CAAC,KAAU,EAAE,EAAE;QAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACvB,IAAA,YAAG,EAAC,yCAAyC,UAAU,iBAAiB,CAAC,CAAC;YAC1E,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAA,yCAA0B,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,oBAAoB,EAAE,CAAC,KAAU,EAAE,GAAQ,EAAE,EAAE;QAC1D,MAAM,UAAU,GAAG,GAAG,EAAE,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;QACvD,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO;QAEhC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,oEAAoE;QACpE,OAAO,GAAG,IAAA,kCAAmB,EAAC,OAAO,EAAE;YACrC,IAAI,EAAE,oBAAoB;YAC1B,KAAK;YACL,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;SAChB,CAAC,CAAC;QAEH,yDAAyD;QACzD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,GAAG,IAAA,0BAAW,EAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACzB,IAAA,YAAG,EAAC,kDAAkD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,8EAA8E;QAC9E,yFAAyF;QACzF,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;gBAC/E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACzB,IAAA,aAAI,EAAC,0EAA0E,UAAU,EAAE,CAAC,CAAC;YAC/F,CAAC;iBAAM,CAAC;gBACN,OAAO;YACT,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,iFAAiF;QACjF,6EAA6E;QAC7E,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,6BAA6B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,gCAAgC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,uEAAuE;QACvE,MAAM,SAAS,GAAG,IAAA,uCAAoB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAErC,mCAAmC;QACnC,KAAK,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;QAE/F,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,8DAA8D;IAC9D,YAAY,CAAC,kBAAkB,EAAE,CAAC,MAAW,EAAE,GAAQ,EAAO,EAAE;QAC9D,MAAM,UAAU,GAAG,GAAG,EAAE,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,OAAO,EAAE,MAAe,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,MAAe,EAAE,CAAC;QAE7D,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;QAC7B,IAAI,OAAO,IAAI,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,IAAA,YAAG,EAAC,+CAA+C,OAAO,YAAY,UAAU,aAAa,CAAC,CAAC;YAC/F,OAAO;gBACL,OAAO,EAAE,OAAgB;gBACzB,MAAM,EAAE,6BAA6B,OAAO,EAAE;gBAC9C,OAAO,EAAE,2CAA2C,OAAO,GAAG;aAC/D,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,MAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,kBAAkB,EAAE,CAAC,KAAU,EAAE,GAAQ,EAAE,EAAE;QACxD,MAAM,UAAU,GAAG,GAAG,EAAE,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO;QAEhC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAkB,CAAC;QAE1C,4EAA4E;QAC5E,yFAAyF;QACzF,MAAM,YAAY,GAAG,IAAA,kCAAmB,EAAC,KAAK,EAAE;YAC9C,IAAI,EAAE,gBAAgB;YACtB,KAAK;YACL,QAAQ,EAAE,WAAW;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;SAChB,CAAC,CAAC;QAEH,mFAAmF;QACnF,iFAAiF;QACjF,kDAAkD;QAClD,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAA,0CAAsB,EAAC,KAAK,CAAC,CAAC;QACxD,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5G,MAAM,QAAQ,GAAG,oBAAoB;YACnC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,GAAG,QAAQ,kCAAkC,EAAE,OAAO,EAAE,SAAS,QAAQ,iDAAiD,EAAE,CAAC;YACrK,CAAC,CAAC,IAAA,4CAAwB,EAAC,KAAK,EAAE;gBAC9B,GAAG,EAAE,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE;gBACvD,aAAa,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI;gBACpC,aAAa,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE;gBACrD,4BAA4B,EAAE,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,IAAI,KAAK;gBAC5E,uEAAuE;aACxE,CAAC,CAAC;QAEP,4EAA4E;QAC5E,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAA,mCAAe,EAAC,QAAQ,CAAC,CAAC;QACxE,MAAM,UAAU,GAA+C;YAC7D,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,KAAK;YACL,QAAQ;YACR,YAAY;YACZ,OAAO,EAAE,QAAQ,CAAC,OAAiD;YACnE,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC;QACF,MAAM,SAAS,GAAG,GAAG,CAAC;QACtB,MAAM,SAAS,GAAG,YAAY,CAAC,eAAe,IAAI,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS;YAC7C,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;YACpD,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,UAAU,CAAC,CAAC;QAC/B,QAAQ,CAAC,KAAK,EAAE;YACd,GAAG,YAAY;YACf,eAAe,EAAE,SAAS;SAC3B,CAAC,CAAC;QACH,4CAA4C;QAC5C,IAAA,oCAAgB,EAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAErE,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO;QAEzC,2EAA2E;QAC3E,+EAA+E;QAC/E,8EAA8E;QAC9E,2EAA2E;QAC3E,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACjC,IAAA,uBAAc,EAAC,MAAM,EAAE,0BAA0B,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7G,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,WAAW,EAAG,QAAkE,CAAC,OAAO;aACzF,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAE5C,YAAY,CAAC,YAAY,EAAE,CAAC,KAAU,EAAE,GAAQ,EAAE,EAAE;QAClD,MAAM,UAAU,GAAG,GAAG,EAAE,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO;QAEhC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,KAAK;YAAE,OAAO;QAE1B,6DAA6D;QAC7D,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC;YAC/F,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QAC7B,IAAI,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,GAAG,KAAK,EAAE,CAAC;QAC3E,gEAAgE;QAChE,0FAA0F;QAC1F,OAAO,GAAG,IAAA,kCAAmB,EAAC,OAAO,EAAE;YACrC,IAAI,EAAE,gBAAgB;YACtB,KAAK;YACL,QAAQ,EAAE,YAAY;YACtB,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;SACnE,CAAC,CAAC;QACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzB,IAAA,YAAG,EAAC,mCAAmC,UAAU,YAAY,KAAK,UAAU,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChK,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,eAAe,EAAE,CAAC,KAAU,EAAE,EAAE;QAC3C,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACxC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YACtD,IAAA,YAAG,EAAC,8BAA8B,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,aAAa,EAAE,CAAC,KAAU,EAAE,EAAE;QACzC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3E,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YACtB,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACrC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QACD,IAAA,YAAG,EAAC,oCAAoC,UAAU,mBAAmB,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;QAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO;QAC9B,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QAE7B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC7C,kFAAkF;YAClF,8EAA8E;YAC9E,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;gBAC1F,QAAQ,CAAC,KAAK,EAAE,IAAA,uBAAK,EAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;gBACrD,IAAA,aAAI,EAAC,yEAAyE,UAAU,EAAE,CAAC,CAAC;gBAC5F,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;gBACzF,MAAM,SAAS,GAAG,IAAA,gCAAc,EAAC,IAAA,mCAAiB,EAAC,OAAO,CAAC,CAAC,CAAC;gBAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,wBAAwB,CAAC;gBAChE,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;oBAClC,IAAI,CAAC;wBACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;4BACjC,UAAU;4BACV,IAAI,EAAE,IAAA,2CAAqB,EAAC,SAAS,CAAC;4BACtC,cAAc,EAAE,sBAAsB,UAAU,IAAI,SAAS,CAAC,kBAAkB,EAAE;4BAClF,SAAS,EAAE,iBAAiB;4BAC5B,KAAK,EAAE,MAAM;yBACd,CAAC,CAAC;wBACH,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;4BACxF,IAAA,aAAI,EAAC,yEAAyE,UAAU,EAAE,CAAC,CAAC;wBAC9F,CAAC;6BAAM,CAAC;4BACN,mFAAmF;4BACnF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BACtC,IAAI,OAAO,EAAE,CAAC;gCACZ,QAAQ,CAAC,KAAK,EAAE;oCACd,GAAG,OAAO;oCACV,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,GAAG,CAAC;oCAClD,oBAAoB,EAAE,IAAI;oCAC1B,YAAY,EAAE,CAAC;oCACf,QAAQ,EAAE,IAAI;iCACf,CAAC,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACN,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;4BAC7B,CAAC;4BACD,IAAA,aAAI,EAAC,mEAAmE,UAAU,EAAE,CAAC,CAAC;4BACtF,OAAO;wBACT,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAA,aAAI,EAAC,8DAA8D,GAAG,EAAE,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,IAAA,aAAI,EAAC,0DAA0D,UAAU,4DAA4D,CAAC,CAAC;YACvI,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,uBAAK,EAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9E,+EAA+E;QAC/E,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QACrF,qEAAqE;QACrE,MAAM,iBAAiB,GAAG,IAAA,kCAAmB,EAAC,IAAA,mCAAiB,EAAC,kBAAkB,CAAC,EAAE;YACnF,IAAI,EAAE,qBAAqB;YAC3B,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK;YAChC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;SAChB,CAAC,CAAC;QACH,8CAA8C;QAC9C,MAAM,aAAa,GAAmB;YACpC,GAAG,iBAAiB;YACpB,QAAQ,EAAE,QAAQ,iBAAiB,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,qBAAqB,YAAY;SAC9G,CAAC;QACF,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC/B,IAAA,uBAAc,EAAC,MAAM,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,kBAAkB,IAAI,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxL,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,wBAAwB,CAAC;IACxE,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE,CAAC;QAC7C,IAAA,cAAK,EAAC,6HAA6H,CAAC,CAAC;IACvI,CAAC;SAAM,CAAC;QACR,kBAAkB,CAAC;YACjB,SAAS,EAAE,WAAW;YACtB,WAAW,EAAE,4CAA4C;YACzD,mBAAmB,EAAE,WAAW;YAChC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACf,IAAI,CAAC,GAAG,CAAC,UAAU;oBAAE,OAAO,SAAS,CAAC;gBACtC,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC/C,IAAI,KAAK;oBAAE,OAAO,IAAA,yBAAY,EAAC,KAAK,CAAC,CAAC,CAAC,CAA+B,CAAC;gBACvE,OAAO;oBACL,MAAM,EAAE,MAAe;oBACvB,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,CAAC;oBACf,kBAAkB,EAAE,CAAC;oBACrB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;oBACnD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,CAAC;oBAC1D,oBAAoB,EAAE,KAAK;oBAC3B,OAAO,EAAE,KAAK;oBACd,eAAe,EAAE,CAAC;oBAClB,QAAQ,EAAE,KAAK;iBACc,CAAC;YAClC,CAAC;YACD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACf,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;oBACnB,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC/C,IAAI,KAAK;wBAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,IAAI,OAAO,GAAG,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;QACpD,IAAA,cAAK,EAAC,oFAAoF,CAAC,CAAC;IAC9F,CAAC;SAAM,CAAC;QAER,GAAG,CAAC,qBAAqB,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAc,EAAE,EAAE;YAC3F,MAAM,UAAU,GAAG,GAAG,CAAC,UAAgC,CAAC;YACxD,IAAA,YAAG,EAAC,2CAA2C,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,UAAU,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEnH,8EAA8E;YAC9E,MAAM,WAAW,GAAuB,GAAG,CAAC,IAA0B,CAAC;YACvE,MAAM,uBAAuB,GAAuB,GAAG,CAAC,qBAA2C,CAAC;YACpG,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAmC,CAAC,CAAC;YAC5F,MAAM,kBAAkB,GACtB,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAE3F,8DAA8D;YAC9D,MAAM,aAAa,GAAG,MAAM,CAAC,sBAAsB,IAAI,CAAC,CAAC;YACzD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;YAChG,0HAA0H;YAC1H,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;YAChE,IAAI,CAAC,gBAAgB,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;gBACvD,IAAA,aAAI,EAAC,kEAAkE,YAAY,QAAQ,aAAa,GAAG,CAAC,CAAC;gBAC7G,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;gBAC1F,OAAO;YACT,CAAC;YAED,sDAAsD;YACtD,MAAM,YAAY,GAAG,CAAC,CAAiB,EAAkB,EAAE;gBACzD,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,uBAAuB,IAAI,IAAI;oBAAE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAClI,IAAI,kBAAkB,IAAI,IAAI;oBAAE,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC;gBACtE,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YAEF,+CAA+C;YAC/C,MAAM,mBAAmB,GAAG,CAAC,CAAiB,EAAkB,EAAE;gBAChE,IAAI,CAAC;oBACH,2FAA2F;oBAC3F,sFAAsF;oBACtF,MAAM,MAAM,GAAG,IAAA,oCAAkB,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;oBACvE,gEAAgE;oBAChE,kFAAkF;oBAClF,4EAA4E;oBAC5E,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,oBAAoB;wBACzF,CAAC,CAAC,IAAA,2CAAwB,EAAC,oBAAoB,CAAC;wBAChD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACtC,OAAO;wBACL,GAAG,CAAC;wBACJ,QAAQ,EAAE;4BACR,GAAG,MAAM,CAAC,MAAM;4BAChB,UAAU,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE;yBACpE;wBACD,qBAAqB,EAAE,CAAC,CAAC,qBAAqB;qBAC/C,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,mCAAmC;oBACnC,OAAO;wBACL,GAAG,CAAC;wBACJ,QAAQ,EAAE,EAAE,GAAG,yCAAuB,EAAE;wBACxC,mBAAmB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACtE,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC;gBACvC,sEAAsE;gBACtE,yEAAyE;gBACzE,oEAAoE;gBACpE,sEAAsE;gBACtE,wEAAwE;gBACxE,MAAM,aAAa,GAAG,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC5F,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,aAAa,EAAE,CAAC;oBACxE,IAAI,aAAa,EAAE,CAAC;wBAClB,IAAA,aAAI,EAAC,kDAAkD,UAAU,YAAY,KAAK,CAAC,MAAM,eAAe,KAAK,CAAC,kBAAkB,IAAI,MAAM,4BAA4B,QAAQ,EAAE,CAAC,CAAC;oBACpL,CAAC;oBACD,8DAA8D;oBAC9D,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACvB,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC5B,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACrC,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;oBAC9B,IAAI,QAAQ,GAAG,IAAA,0BAAQ,EAAC,IAAA,0BAAkB,EAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;oBACvE,iEAAiE;oBACjE,MAAM,YAAY,GAAG,WAAW,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;oBAChE,QAAQ,GAAG,IAAA,kCAAmB,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC1H,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAClC,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;oBACzC,QAAQ,GAAG,IAAA,kCAAmB,EAAC,QAAQ,EAAE;wBACvC,IAAI,EAAE,iBAAiB;wBACvB,KAAK;wBACL,SAAS,EAAE,EAAE,IAAI,EAAE,oBAAoB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,oBAAoB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;wBACnM,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;qBAChB,CAAC,CAAC;oBACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBAC1B,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBACzC,IAAA,YAAG,EAAC,iCAAiC,UAAU,YAAY,KAAK,SAAS,KAAK,CAAC,MAAM,UAAU,YAAY,IAAI,MAAM,GAAG,CAAC,CAAC;gBAC5H,CAAC;qBAAM,CAAC;oBACN,IAAA,aAAI,EAAC,0CAA0C,UAAU,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpF,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,gCAAgC,KAAK,CAAC,MAAM,6BAA6B,EAAE,CAAC,CAAC;oBAC3I,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC/D,IAAI,KAAK,GAAG,IAAA,0BAAQ,EAAC,IAAA,0BAAkB,EAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBACpE,KAAK,GAAG,IAAA,kCAAmB,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACnH,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC5B,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACnC,KAAK,GAAG,IAAA,kCAAmB,EAAC,KAAK,EAAE;oBACjC,IAAI,EAAE,iBAAiB;oBACvB,KAAK;oBACL,SAAS,EAAE,EAAE,IAAI,EAAE,oBAAoB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,oBAAoB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACnM,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;iBAChB,CAAC,CAAC;gBACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACvB,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBACzC,IAAA,YAAG,EAAC,iCAAiC,UAAU,YAAY,KAAK,UAAU,WAAW,IAAI,MAAM,GAAG,CAAC,CAAC;YACtG,CAAC;YAED,6DAA6D;YAC7D,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,IAAA,YAAG,EAAC,4CAA4C,EAAE,UAAU,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAc,EAAE,EAAE;YACzF,MAAM,UAAU,GAAG,GAAG,CAAC,UAAgC,CAAC;YACxD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEnH,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAErH,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,8BAA8B,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAE1J,6DAA6D;YAC7D,MAAM,YAAY,GAAG,IAAA,kCAAmB,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACtG,QAAQ,CAAC,KAAK,EAAE,IAAA,wBAAM,EAAC,YAAY,CAAC,CAAC,CAAC;YACtC,IAAA,YAAG,EAAC,+BAA+B,UAAU,+BAA+B,CAAC,CAAC;YAC9E,2CAA2C;YAC3C,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAc,EAAE,EAAE;YACvF,MAAM,UAAU,GAAG,GAAG,CAAC,UAAgC,CAAC;YACxD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEnH,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEpD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACvF,iFAAiF;gBACjF,MAAM,YAAY,GAAG,IAAA,kCAAmB,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACpG,QAAQ,CAAC,KAAK,EAAE,IAAA,4BAAU,EAAC,YAAY,CAAC,CAAC,CAAC;gBAC1C,IAAA,YAAG,EAAC,6BAA6B,UAAU,IAAI,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC;YACtE,CAAC;YACD,qDAAqD;YACrD,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAc,EAAE,EAAE;YACzF,MAAM,UAAU,GAAG,GAAG,CAAC,UAAgC,CAAC;YACxD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAA,yBAAY,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,6EAA6E;YAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3C,OAAO,CAAC,IAAI,EAAE;gBACZ,UAAU;gBACV,QAAQ,EAAE,KAAK,EAAE,QAAQ;gBACzB,6EAA6E;gBAC7E,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM;oBAC7C,CAAC,CAAC,KAAK,CAAC,eAAe;oBACvB,CAAC,CAAC,IAAA,0CAAsB,EAAC,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC;gBACxE,QAAQ,EAAE,KAAK,EAAE,QAAQ;gBACzB,mBAAmB,EAAE,KAAK,EAAE,mBAAmB;aAChD,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,qBAAqB,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAc,EAAE,EAAE;YAC1F,MAAM,UAAU,GAAG,GAAG,CAAC,UAAgC,CAAC;YACxD,MAAM,IAAI,GAAG,GAAG,CAAC,IAA0B,CAAC;YAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACnH,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAE7J,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAErH,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;YAC7B,QAAQ,CAAC,KAAK,EAAE,IAAA,yBAAO,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACtC,IAAA,YAAG,EAAC,gCAAgC,UAAU,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,GAAG,CAAC,qBAAqB,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAc,EAAE,EAAE;YAC7E,UAAU,EAAE,CAAC,CAAC,+DAA+D;YAC7E,IAAA,YAAG,EAAC,wCAAwC,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IAEH,CAAC;IAED,mEAAmE;IACnE,iFAAiF;IACjF,qFAAqF;IACrF,MAAM,oBAAoB,GAAG,MAAM,CAAC,CAAC,yBAAyB;IAC9D,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,wBAAwB;IAEvF,sFAAsF;IACtF,IAAI,aAAa,EAAE,CAAC;QAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAAC,aAAa,GAAG,IAAI,CAAC;IAAC,CAAC;IAE1E,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,yCAAyC;YACzC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBAC1F,MAAM,WAAW,GAAG,IAAA,2BAAU,EAAC;oBAC7B,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG;oBAC9D,GAAG;oBACH,cAAc;oBACd,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;iBAC7C,CAAC,CAAC;gBAEH,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,IAAA,kCAAmB,EAAC,KAAK,EAAE;wBACzC,IAAI,EAAE,eAAe;wBACrB,KAAK;wBACL,GAAG;qBACJ,CAAC,CAAC;oBACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBACzB,IAAA,aAAI,EAAC,uCAAuC,KAAK,CAAC,UAAU,QAAQ,KAAK,iBAAiB,WAAW,CAAC,eAAe,IAAI,CAAC,uBAAuB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBACjL,CAAC;YACH,CAAC;YAED,mFAAmF;YACnF,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,kBAAkB,KAAK,cAAc;gBAC5D,KAAK,CAAC,KAAK,EAAE,WAAW,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,IAAI,GAAG,EAAE,CAAC;gBACvE,MAAM,OAAO,GAAG,IAAA,kCAAmB,EAAC,KAAK,EAAE;oBACzC,IAAI,EAAE,WAAW;oBACjB,KAAK;oBACL,GAAG;iBACJ,CAAC,CAAC;gBACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACzB,IAAA,YAAG,EAAC,kCAAkC,KAAK,CAAC,UAAU,QAAQ,KAAK,YAAY,KAAK,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9G,CAAC;YAED,wEAAwE;YACxE,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;YAClE,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,mBAAmB,EAAE,CAAC;gBACnE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,KAAK,EAAE,CAAC;gBACV,IAAA,aAAI,EAAC,uDAAuD,KAAK,CAAC,UAAU,QAAQ,KAAK,EAAE,CAAC,CAAC;gBAC7F,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzB,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC3C,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC,EAAE,oBAAoB,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { PermissionAuditEntry } from './types';
2
+ /**
3
+ * Returns YYYY-MM-DD for the given date using LOCAL time (not UTC).
4
+ * Exported for testing; production code uses the private todayString() wrapper.
5
+ */
6
+ export declare function _todayStringForTest(d: Date): string;
7
+ /**
8
+ * Returns the path for the current audit JSONL file.
9
+ * If the current file exceeds MAX_FILE_BYTES, appends a numeric suffix.
10
+ */
11
+ export declare function getAuditFilePath(workspaceDir: string): string;
12
+ /**
13
+ * Append a single PermissionAuditEntry to the audit JSONL file.
14
+ * Creates the audit directory and file if they don't exist.
15
+ * Never throws — errors are silently swallowed to avoid disrupting the plugin.
16
+ */
17
+ export declare function appendAuditEntry(entry: PermissionAuditEntry, workspaceDir: string): void;
18
+ /**
19
+ * Load the most recent `limit` audit entries from the audit directory.
20
+ * Reads the current day's file (and yesterday's if needed to fill the limit).
21
+ * Skips malformed lines gracefully.
22
+ * Returns entries in chronological order (oldest first).
23
+ */
24
+ export declare function loadRecentAuditEntries(workspaceDir: string, limit: number): PermissionAuditEntry[];
25
+ //# sourceMappingURL=audit-persister.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-persister.d.ts","sourceRoot":"","sources":["../../src/audit-persister.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAUpD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAMnD;AAOD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAiB7D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CASxF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,oBAAoB,EAAE,CAyCxB"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports._todayStringForTest = _todayStringForTest;
37
+ exports.getAuditFilePath = getAuditFilePath;
38
+ exports.appendAuditEntry = appendAuditEntry;
39
+ exports.loadRecentAuditEntries = loadRecentAuditEntries;
40
+ /**
41
+ * Audit log persistence for autopilot permission audit entries.
42
+ *
43
+ * Writes PermissionAuditEntry records to JSONL files under
44
+ * {workspaceDir}/.autopilot/audit-{YYYY-MM-DD}.jsonl
45
+ *
46
+ * Design: synchronous file I/O (plugin runs in main process; simplicity > async here).
47
+ * No external dependencies.
48
+ */
49
+ const fs = __importStar(require("fs"));
50
+ const path = __importStar(require("path"));
51
+ const AUDIT_SUBDIR = '.autopilot';
52
+ const MAX_FILE_BYTES = 10 * 1024 * 1024; // 10 MB
53
+ /** Returns the audit directory path for a given workspace root. */
54
+ function getAuditDir(workspaceDir) {
55
+ return path.join(workspaceDir, AUDIT_SUBDIR);
56
+ }
57
+ /**
58
+ * Returns YYYY-MM-DD for the given date using LOCAL time (not UTC).
59
+ * Exported for testing; production code uses the private todayString() wrapper.
60
+ */
61
+ function _todayStringForTest(d) {
62
+ return [
63
+ String(d.getFullYear()),
64
+ String(d.getMonth() + 1).padStart(2, '0'),
65
+ String(d.getDate()).padStart(2, '0'),
66
+ ].join('-');
67
+ }
68
+ /** Returns today's YYYY-MM-DD string in local time. */
69
+ function todayString() {
70
+ return _todayStringForTest(new Date());
71
+ }
72
+ /**
73
+ * Returns the path for the current audit JSONL file.
74
+ * If the current file exceeds MAX_FILE_BYTES, appends a numeric suffix.
75
+ */
76
+ function getAuditFilePath(workspaceDir) {
77
+ const dir = getAuditDir(workspaceDir);
78
+ const base = `audit-${todayString()}`;
79
+ // Find the right suffix: start at no suffix, increment if file is too big
80
+ let candidate = path.join(dir, `${base}.jsonl`);
81
+ let suffix = 1;
82
+ while (fs.existsSync(candidate)) {
83
+ try {
84
+ const stat = fs.statSync(candidate);
85
+ if (stat.size < MAX_FILE_BYTES)
86
+ break;
87
+ }
88
+ catch {
89
+ break;
90
+ }
91
+ candidate = path.join(dir, `${base}-${suffix}.jsonl`);
92
+ suffix++;
93
+ }
94
+ return candidate;
95
+ }
96
+ /**
97
+ * Append a single PermissionAuditEntry to the audit JSONL file.
98
+ * Creates the audit directory and file if they don't exist.
99
+ * Never throws — errors are silently swallowed to avoid disrupting the plugin.
100
+ */
101
+ function appendAuditEntry(entry, workspaceDir) {
102
+ try {
103
+ const filePath = getAuditFilePath(workspaceDir);
104
+ const dir = path.dirname(filePath);
105
+ fs.mkdirSync(dir, { recursive: true });
106
+ fs.appendFileSync(filePath, JSON.stringify(entry) + '\n', 'utf-8');
107
+ }
108
+ catch {
109
+ // Fail silently — audit persistence must never crash the plugin
110
+ }
111
+ }
112
+ /**
113
+ * Load the most recent `limit` audit entries from the audit directory.
114
+ * Reads the current day's file (and yesterday's if needed to fill the limit).
115
+ * Skips malformed lines gracefully.
116
+ * Returns entries in chronological order (oldest first).
117
+ */
118
+ function loadRecentAuditEntries(workspaceDir, limit) {
119
+ if (limit <= 0)
120
+ return [];
121
+ const dir = getAuditDir(workspaceDir);
122
+ if (!fs.existsSync(dir))
123
+ return [];
124
+ // Collect all audit JSONL files, sorted newest first
125
+ let files;
126
+ try {
127
+ files = fs.readdirSync(dir)
128
+ .filter(f => f.startsWith('audit-') && f.endsWith('.jsonl'))
129
+ .sort()
130
+ .reverse(); // newest date first
131
+ }
132
+ catch {
133
+ return [];
134
+ }
135
+ const allEntries = [];
136
+ for (const file of files) {
137
+ if (allEntries.length >= limit)
138
+ break;
139
+ const filePath = path.join(dir, file);
140
+ try {
141
+ const content = fs.readFileSync(filePath, 'utf-8');
142
+ const lines = content.split('\n').filter(l => l.trim());
143
+ const fileEntries = [];
144
+ for (const line of lines) {
145
+ try {
146
+ fileEntries.push(JSON.parse(line));
147
+ }
148
+ catch {
149
+ // Skip malformed lines
150
+ }
151
+ }
152
+ // Prepend file entries (reading newest file first, so we prepend to keep chrono order)
153
+ allEntries.unshift(...fileEntries);
154
+ }
155
+ catch {
156
+ // Skip unreadable files
157
+ }
158
+ }
159
+ // Return the last `limit` entries (most recent)
160
+ return allEntries.slice(-limit);
161
+ }
162
+ //# sourceMappingURL=audit-persister.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-persister.js","sourceRoot":"","sources":["../../src/audit-persister.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { AutopilotState, PauseReason } from './types';
2
+ export declare function activate(state: AutopilotState): AutopilotState;
3
+ export declare function deactivate(state: AutopilotState): AutopilotState;
4
+ export declare function pause(state: AutopilotState, reason: PauseReason): AutopilotState;
5
+ export declare function complete(state: AutopilotState): AutopilotState;
6
+ export declare function resume(state: AutopilotState): AutopilotState;
7
+ export declare function incrementTurn(state: AutopilotState): AutopilotState;
8
+ export declare function incrementTotal(state: AutopilotState): AutopilotState;
9
+ export declare function resetTurnAttempts(state: AutopilotState): AutopilotState;
10
+ export declare function setGoal(state: AutopilotState, goal: string): AutopilotState;
11
+ export declare function snapshotGoal(state: AutopilotState): AutopilotState;
12
+ export declare function restoreGoalFromSnapshot(state: AutopilotState): AutopilotState;
13
+ /**
14
+ * Detect whether a `running` session is STUCK — the autonomous loop has stalled
15
+ * and will not recover on its own, so re-activation should discard it and start
16
+ * a fresh run instead of hard-rejecting.
17
+ *
18
+ * A run is stuck when EITHER:
19
+ * - the orchestrator queued a retry that never completed (`retry_queued` — set
20
+ * by the stall handler), OR
21
+ * - there has been no activity for longer than the stall threshold.
22
+ *
23
+ * Why this exists: the stall handler sets `orchestrationState='retry_queued'` but
24
+ * leaves `status='running'` (the stall interval only dispatches `stall_timeout`,
25
+ * it does not pause). If the agent is genuinely dead the run sits in
26
+ * `running`/`retry_queued` forever, and the activate handler's "must be idle or
27
+ * done" guard blocks every subsequent activation — requiring a gateway restart.
28
+ * Genuinely-active runs (recent activity, orchState='running') are NOT stuck and
29
+ * stay protected from mid-flight reset.
30
+ *
31
+ * Scoped to `running` only: `paused` is an intentional, user-resumable state.
32
+ * `now` and `stallTimeoutMs` are injectable for deterministic unit testing.
33
+ */
34
+ export declare function isRunStuck(state: AutopilotState, now?: number, stallTimeoutMs?: number): boolean;
35
+ //# sourceMappingURL=autopilot-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autopilot-state.d.ts","sourceRoot":"","sources":["../../src/autopilot-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3D,wBAAgB,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAK9D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAYhE;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,GAAG,cAAc,CAKhF;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAK9D;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAc5D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAEnE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAEpE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAEvE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAE3E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAMlE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAQ7E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,cAAc,EACrB,GAAG,GAAE,MAAmB,EACxB,cAAc,GAAE,MAAgB,GAC/B,OAAO,CAMT"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.activate = activate;
4
+ exports.deactivate = deactivate;
5
+ exports.pause = pause;
6
+ exports.complete = complete;
7
+ exports.resume = resume;
8
+ exports.incrementTurn = incrementTurn;
9
+ exports.incrementTotal = incrementTotal;
10
+ exports.resetTurnAttempts = resetTurnAttempts;
11
+ exports.setGoal = setGoal;
12
+ exports.snapshotGoal = snapshotGoal;
13
+ exports.restoreGoalFromSnapshot = restoreGoalFromSnapshot;
14
+ exports.isRunStuck = isRunStuck;
15
+ const MAX_GOAL_LENGTH = 500;
16
+ function activate(state) {
17
+ if (state.status !== 'idle' && state.status !== 'done') {
18
+ throw new Error(`Cannot activate from status "${state.status}", must be "idle" or "done"`);
19
+ }
20
+ return { ...state, status: 'running', enabled: true };
21
+ }
22
+ function deactivate(state) {
23
+ if (state.status !== 'running' && state.status !== 'paused' && state.status !== 'done') {
24
+ throw new Error(`Cannot deactivate from status "${state.status}"`);
25
+ }
26
+ return {
27
+ ...state,
28
+ status: 'idle',
29
+ enabled: false,
30
+ pauseReason: undefined,
31
+ needsCrossTurnResume: false,
32
+ degraded: false,
33
+ };
34
+ }
35
+ function pause(state, reason) {
36
+ if (state.status !== 'running') {
37
+ throw new Error(`Cannot pause from status "${state.status}", must be "running"`);
38
+ }
39
+ return { ...state, status: 'paused', enabled: false, pauseReason: reason, needsCrossTurnResume: false };
40
+ }
41
+ function complete(state) {
42
+ if (state.status !== 'running') {
43
+ throw new Error(`Cannot complete from status "${state.status}", must be "running"`);
44
+ }
45
+ return { ...state, status: 'done', enabled: false, needsCrossTurnResume: false, degraded: false };
46
+ }
47
+ function resume(state) {
48
+ if (state.status !== 'paused') {
49
+ throw new Error(`Cannot resume from status "${state.status}", must be "paused"`);
50
+ }
51
+ return {
52
+ ...state,
53
+ status: 'running',
54
+ enabled: true,
55
+ pauseReason: undefined,
56
+ toolErrorCount: 0,
57
+ lastToolError: undefined,
58
+ needsCrossTurnResume: false,
59
+ degraded: false,
60
+ };
61
+ }
62
+ function incrementTurn(state) {
63
+ return { ...state, turnAttempts: state.turnAttempts + 1 };
64
+ }
65
+ function incrementTotal(state) {
66
+ return { ...state, totalContinuations: state.totalContinuations + 1 };
67
+ }
68
+ function resetTurnAttempts(state) {
69
+ return { ...state, turnAttempts: 0 };
70
+ }
71
+ function setGoal(state, goal) {
72
+ return { ...state, goal: goal.substring(0, MAX_GOAL_LENGTH) };
73
+ }
74
+ function snapshotGoal(state) {
75
+ return {
76
+ ...state,
77
+ goalSnapshot: state.goal,
78
+ progressSnapshot: state.progress,
79
+ };
80
+ }
81
+ function restoreGoalFromSnapshot(state) {
82
+ return {
83
+ ...state,
84
+ goal: state.goal ?? state.goalSnapshot,
85
+ progress: state.progressSnapshot ?? state.progress,
86
+ goalSnapshot: undefined,
87
+ progressSnapshot: undefined,
88
+ };
89
+ }
90
+ /**
91
+ * Detect whether a `running` session is STUCK — the autonomous loop has stalled
92
+ * and will not recover on its own, so re-activation should discard it and start
93
+ * a fresh run instead of hard-rejecting.
94
+ *
95
+ * A run is stuck when EITHER:
96
+ * - the orchestrator queued a retry that never completed (`retry_queued` — set
97
+ * by the stall handler), OR
98
+ * - there has been no activity for longer than the stall threshold.
99
+ *
100
+ * Why this exists: the stall handler sets `orchestrationState='retry_queued'` but
101
+ * leaves `status='running'` (the stall interval only dispatches `stall_timeout`,
102
+ * it does not pause). If the agent is genuinely dead the run sits in
103
+ * `running`/`retry_queued` forever, and the activate handler's "must be idle or
104
+ * done" guard blocks every subsequent activation — requiring a gateway restart.
105
+ * Genuinely-active runs (recent activity, orchState='running') are NOT stuck and
106
+ * stay protected from mid-flight reset.
107
+ *
108
+ * Scoped to `running` only: `paused` is an intentional, user-resumable state.
109
+ * `now` and `stallTimeoutMs` are injectable for deterministic unit testing.
110
+ */
111
+ function isRunStuck(state, now = Date.now(), stallTimeoutMs = 600_000) {
112
+ if (state.status !== 'running')
113
+ return false;
114
+ if (state.orchestrationState === 'retry_queued')
115
+ return true;
116
+ const lastActivity = state.lastActivityAt ?? state.startedAt ?? 0;
117
+ if (lastActivity > 0 && now - lastActivity > stallTimeoutMs)
118
+ return true;
119
+ return false;
120
+ }
121
+ //# sourceMappingURL=autopilot-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autopilot-state.js","sourceRoot":"","sources":["../../src/autopilot-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ValidationCommand, EvidenceCommandResult } from './types';
2
+ /**
3
+ * Run each command sequentially and collect results.
4
+ * Never throws — errors are captured as 'failed'/'timeout' results.
5
+ */
6
+ export declare function runValidationCommands(commands: ValidationCommand[], cwd?: string): Promise<EvidenceCommandResult[]>;
7
+ /**
8
+ * Parse a command string into [binary, ...args], respecting single and
9
+ * double quotes so paths with spaces are handled correctly on Windows and macOS.
10
+ * Shell features (&&, |, ;, $var) are NOT supported — wrap in a script file.
11
+ */
12
+ export declare function parseCommandArgs(command: string): string[];
13
+ //# sourceMappingURL=command-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-runner.d.ts","sourceRoot":"","sources":["../../src/command-runner.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAExE;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAyClC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAoB1D"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runValidationCommands = runValidationCommands;
4
+ exports.parseCommandArgs = parseCommandArgs;
5
+ /**
6
+ * M5.3: Validation command executor.
7
+ *
8
+ * Executes ValidationCommands via child_process.execFile and returns
9
+ * EvidenceCommandResult[]. Pure I/O — no state, no orchestration.
10
+ *
11
+ * Commands are parsed into [binary, ...args] via parseCommandArgs (quote-aware).
12
+ * Shell features (&&, |, ;) are intentionally unsupported; wrap in a script file.
13
+ *
14
+ * X-15 (Windows .cmd/.bat): Node ≥ 20.12.2 / 24.x blocks execFile of .cmd/.bat
15
+ * without shell:true (CVE-2024-27980 mitigation). We enable shell conditionally:
16
+ * useShell = isWin && (isCmdLike(bin) || hasNonAscii(bin|args|cwd))
17
+ * mirroring packages/gateway/src/manager.ts:2038-2048. When shell is on, Node
18
+ * auto-quotes the argv array with cmd-safe escaping, preserving injection safety
19
+ * as long as we always pass args as an array (never a pre-joined string).
20
+ */
21
+ const child_process_1 = require("child_process");
22
+ /**
23
+ * Run each command sequentially and collect results.
24
+ * Never throws — errors are captured as 'failed'/'timeout' results.
25
+ */
26
+ async function runValidationCommands(commands, cwd) {
27
+ if (commands.length === 0)
28
+ return [];
29
+ const results = [];
30
+ for (const cmd of commands) {
31
+ const startMs = Date.now();
32
+ try {
33
+ await execCommand(cmd.command, cmd.timeoutMs, cwd);
34
+ results.push({
35
+ id: cmd.id,
36
+ command: cmd.command,
37
+ status: 'passed',
38
+ exitCode: 0, // execFile callback passes null error only on exit 0
39
+ durationMs: Date.now() - startMs,
40
+ summary: '',
41
+ });
42
+ }
43
+ catch (err) {
44
+ const durationMs = Date.now() - startMs;
45
+ const e = err;
46
+ // Detect timeout: process was killed by Node's timeout mechanism (SIGTERM/SIGKILL),
47
+ // or the error code indicates timeout on some platforms.
48
+ // Windows note: SIGTERM/SIGKILL are not POSIX signals — Node uses TerminateProcess()
49
+ // which sets e.killed=true when the Node timeout fires (covered by e.killed===true).
50
+ // External kills via taskkill produce e.killed=undefined and e.signal=null; these
51
+ // cannot be reliably distinguished from normal failures (exit code 1 is also used by
52
+ // `false` and other failing commands), so we do NOT add e.code===1 as a heuristic.
53
+ // (X-2 Windows signal limitation — documented, not patchable without a side-channel.)
54
+ const timedOut = e.killed === true || e.signal === 'SIGTERM' || e.signal === 'SIGKILL' || e.code === 'ETIMEDOUT';
55
+ results.push({
56
+ id: cmd.id,
57
+ command: cmd.command,
58
+ status: timedOut ? 'timeout' : 'failed',
59
+ exitCode: typeof e.code === 'number' ? e.code : undefined,
60
+ durationMs,
61
+ summary: (e.stderr ?? e.message ?? String(err)).substring(0, 300),
62
+ });
63
+ }
64
+ }
65
+ return results;
66
+ }
67
+ /**
68
+ * Parse a command string into [binary, ...args], respecting single and
69
+ * double quotes so paths with spaces are handled correctly on Windows and macOS.
70
+ * Shell features (&&, |, ;, $var) are NOT supported — wrap in a script file.
71
+ */
72
+ function parseCommandArgs(command) {
73
+ const args = [];
74
+ let current = '';
75
+ let inDouble = false;
76
+ let inSingle = false;
77
+ for (let i = 0; i < command.length; i++) {
78
+ const ch = command[i];
79
+ if (ch === '"' && !inSingle) {
80
+ inDouble = !inDouble;
81
+ }
82
+ else if (ch === "'" && !inDouble) {
83
+ inSingle = !inSingle;
84
+ }
85
+ else if (ch === ' ' && !inDouble && !inSingle) {
86
+ if (current) {
87
+ args.push(current);
88
+ current = '';
89
+ }
90
+ }
91
+ else {
92
+ current += ch;
93
+ }
94
+ }
95
+ if (current)
96
+ args.push(current);
97
+ return args;
98
+ }
99
+ function hasNonAscii(...values) {
100
+ return values.some((s) => [...s].some((c) => c.charCodeAt(0) > 127));
101
+ }
102
+ function isCmdLike(bin) {
103
+ const lower = bin.toLowerCase();
104
+ return lower.endsWith('.cmd') || lower.endsWith('.bat');
105
+ }
106
+ function shouldUseShell(bin, args, cwd) {
107
+ if (process.platform !== 'win32')
108
+ return false;
109
+ // Windows: shell is required for .cmd/.bat wrappers (CVE-2024-27980) and
110
+ // beneficial for non-ASCII paths that cmd.exe handles more leniently than
111
+ // the native CreateProcess entry point.
112
+ return isCmdLike(bin) || hasNonAscii(bin, ...args, cwd ?? '');
113
+ }
114
+ async function execCommand(command, timeoutMs, cwd) {
115
+ const parts = parseCommandArgs(command.trim());
116
+ if (parts.length === 0 || !parts[0]) {
117
+ throw new Error('empty command string');
118
+ }
119
+ const [bin, ...args] = parts;
120
+ const run = (b, a) => new Promise((resolve, reject) => {
121
+ const useShell = shouldUseShell(b, a, cwd);
122
+ (0, child_process_1.execFile)(b, a, { timeout: timeoutMs, cwd, shell: useShell }, (error, _stdout, stderr) => {
123
+ if (error) {
124
+ reject(Object.assign(error, { stderr }));
125
+ }
126
+ else {
127
+ resolve();
128
+ }
129
+ });
130
+ });
131
+ try {
132
+ await run(bin, args);
133
+ }
134
+ catch (err) {
135
+ // Fallback for legacy PATH lookups on Windows where the bare name resolves
136
+ // to ENOENT but the .cmd sibling exists. With conditional shell enabled,
137
+ // this branch is rarely hit; we keep it as belt-and-suspenders for users
138
+ // who wrote `npm test` (bare) and whose Node version still surfaces ENOENT.
139
+ if (process.platform === 'win32' &&
140
+ err.code === 'ENOENT' &&
141
+ !bin.toLowerCase().endsWith('.cmd')) {
142
+ await run(`${bin}.cmd`, args);
143
+ return;
144
+ }
145
+ throw err;
146
+ }
147
+ }
148
+ //# sourceMappingURL=command-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-runner.js","sourceRoot":"","sources":["../../src/command-runner.ts"],"names":[],"mappings":"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"}