@interf/compiler 0.1.8

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 (145) hide show
  1. package/LICENSE +183 -0
  2. package/README.md +1008 -0
  3. package/TRADEMARKS.md +19 -0
  4. package/dist/bin.d.ts +3 -0
  5. package/dist/bin.d.ts.map +1 -0
  6. package/dist/bin.js +30 -0
  7. package/dist/bin.js.map +1 -0
  8. package/dist/commands/benchmark.d.ts +3 -0
  9. package/dist/commands/benchmark.d.ts.map +1 -0
  10. package/dist/commands/benchmark.js +400 -0
  11. package/dist/commands/benchmark.js.map +1 -0
  12. package/dist/commands/compile.d.ts +3 -0
  13. package/dist/commands/compile.d.ts.map +1 -0
  14. package/dist/commands/compile.js +139 -0
  15. package/dist/commands/compile.js.map +1 -0
  16. package/dist/commands/create.d.ts +49 -0
  17. package/dist/commands/create.d.ts.map +1 -0
  18. package/dist/commands/create.js +813 -0
  19. package/dist/commands/create.js.map +1 -0
  20. package/dist/commands/default.d.ts +3 -0
  21. package/dist/commands/default.d.ts.map +1 -0
  22. package/dist/commands/default.js +52 -0
  23. package/dist/commands/default.js.map +1 -0
  24. package/dist/commands/doctor.d.ts +3 -0
  25. package/dist/commands/doctor.d.ts.map +1 -0
  26. package/dist/commands/doctor.js +146 -0
  27. package/dist/commands/doctor.js.map +1 -0
  28. package/dist/commands/init.d.ts +3 -0
  29. package/dist/commands/init.d.ts.map +1 -0
  30. package/dist/commands/init.js +235 -0
  31. package/dist/commands/init.js.map +1 -0
  32. package/dist/commands/list.d.ts +3 -0
  33. package/dist/commands/list.d.ts.map +1 -0
  34. package/dist/commands/list.js +32 -0
  35. package/dist/commands/list.js.map +1 -0
  36. package/dist/commands/reset.d.ts +3 -0
  37. package/dist/commands/reset.d.ts.map +1 -0
  38. package/dist/commands/reset.js +136 -0
  39. package/dist/commands/reset.js.map +1 -0
  40. package/dist/commands/status.d.ts +3 -0
  41. package/dist/commands/status.d.ts.map +1 -0
  42. package/dist/commands/status.js +67 -0
  43. package/dist/commands/status.js.map +1 -0
  44. package/dist/commands/verify.d.ts +3 -0
  45. package/dist/commands/verify.d.ts.map +1 -0
  46. package/dist/commands/verify.js +112 -0
  47. package/dist/commands/verify.js.map +1 -0
  48. package/dist/index.d.ts +30 -0
  49. package/dist/index.d.ts.map +1 -0
  50. package/dist/index.js +18 -0
  51. package/dist/index.js.map +1 -0
  52. package/dist/lib/agents.d.ts +59 -0
  53. package/dist/lib/agents.d.ts.map +1 -0
  54. package/dist/lib/agents.js +760 -0
  55. package/dist/lib/agents.js.map +1 -0
  56. package/dist/lib/benchmark.d.ts +30 -0
  57. package/dist/lib/benchmark.d.ts.map +1 -0
  58. package/dist/lib/benchmark.js +325 -0
  59. package/dist/lib/benchmark.js.map +1 -0
  60. package/dist/lib/config.d.ts +6 -0
  61. package/dist/lib/config.d.ts.map +1 -0
  62. package/dist/lib/config.js +15 -0
  63. package/dist/lib/config.js.map +1 -0
  64. package/dist/lib/discovery.d.ts +8 -0
  65. package/dist/lib/discovery.d.ts.map +1 -0
  66. package/dist/lib/discovery.js +80 -0
  67. package/dist/lib/discovery.js.map +1 -0
  68. package/dist/lib/executors.d.ts +33 -0
  69. package/dist/lib/executors.d.ts.map +1 -0
  70. package/dist/lib/executors.js +44 -0
  71. package/dist/lib/executors.js.map +1 -0
  72. package/dist/lib/filesystem.d.ts +4 -0
  73. package/dist/lib/filesystem.d.ts.map +1 -0
  74. package/dist/lib/filesystem.js +61 -0
  75. package/dist/lib/filesystem.js.map +1 -0
  76. package/dist/lib/interf.d.ts +37 -0
  77. package/dist/lib/interf.d.ts.map +1 -0
  78. package/dist/lib/interf.js +1104 -0
  79. package/dist/lib/interf.js.map +1 -0
  80. package/dist/lib/local-workflows.d.ts +35 -0
  81. package/dist/lib/local-workflows.d.ts.map +1 -0
  82. package/dist/lib/local-workflows.js +149 -0
  83. package/dist/lib/local-workflows.js.map +1 -0
  84. package/dist/lib/parse.d.ts +9 -0
  85. package/dist/lib/parse.d.ts.map +1 -0
  86. package/dist/lib/parse.js +51 -0
  87. package/dist/lib/parse.js.map +1 -0
  88. package/dist/lib/registry.d.ts +28 -0
  89. package/dist/lib/registry.d.ts.map +1 -0
  90. package/dist/lib/registry.js +80 -0
  91. package/dist/lib/registry.js.map +1 -0
  92. package/dist/lib/runtime.d.ts +59 -0
  93. package/dist/lib/runtime.d.ts.map +1 -0
  94. package/dist/lib/runtime.js +615 -0
  95. package/dist/lib/runtime.js.map +1 -0
  96. package/dist/lib/schema.d.ts +705 -0
  97. package/dist/lib/schema.d.ts.map +1 -0
  98. package/dist/lib/schema.js +443 -0
  99. package/dist/lib/schema.js.map +1 -0
  100. package/dist/lib/state.d.ts +49 -0
  101. package/dist/lib/state.d.ts.map +1 -0
  102. package/dist/lib/state.js +633 -0
  103. package/dist/lib/state.js.map +1 -0
  104. package/dist/lib/summarize-plan.d.ts +16 -0
  105. package/dist/lib/summarize-plan.d.ts.map +1 -0
  106. package/dist/lib/summarize-plan.js +112 -0
  107. package/dist/lib/summarize-plan.js.map +1 -0
  108. package/dist/lib/user-config.d.ts +6 -0
  109. package/dist/lib/user-config.d.ts.map +1 -0
  110. package/dist/lib/user-config.js +16 -0
  111. package/dist/lib/user-config.js.map +1 -0
  112. package/dist/lib/validate.d.ts +149 -0
  113. package/dist/lib/validate.d.ts.map +1 -0
  114. package/dist/lib/validate.js +838 -0
  115. package/dist/lib/validate.js.map +1 -0
  116. package/dist/lib/workflow-definitions.d.ts +79 -0
  117. package/dist/lib/workflow-definitions.d.ts.map +1 -0
  118. package/dist/lib/workflow-definitions.js +565 -0
  119. package/dist/lib/workflow-definitions.js.map +1 -0
  120. package/dist/lib/workflows.d.ts +125 -0
  121. package/dist/lib/workflows.d.ts.map +1 -0
  122. package/dist/lib/workflows.js +1107 -0
  123. package/dist/lib/workflows.js.map +1 -0
  124. package/package.json +73 -0
  125. package/skills/benchmark/SKILL.md +129 -0
  126. package/skills/interface/analyze/SKILL.md +140 -0
  127. package/skills/interface/compile/SKILL.md +153 -0
  128. package/skills/interface/compile/references/output-format.md +48 -0
  129. package/skills/interface/create/SKILL.md +264 -0
  130. package/skills/interface/create/references/compile-plan-format.md +109 -0
  131. package/skills/interface/create/references/workflows.md +50 -0
  132. package/skills/interface/query/SKILL.md +34 -0
  133. package/skills/interface/retrieve/SKILL.md +166 -0
  134. package/skills/knowledge-base/compile/SKILL.md +220 -0
  135. package/skills/knowledge-base/compile/references/output-format.md +48 -0
  136. package/skills/knowledge-base/compile/references/stage-claims.md +60 -0
  137. package/skills/knowledge-base/compile/references/stage-entities.md +46 -0
  138. package/skills/knowledge-base/query/SKILL.md +33 -0
  139. package/skills/knowledge-base/summarize/SKILL.md +122 -0
  140. package/skills/workflow/create/SKILL.md +126 -0
  141. package/templates/interface/README.md +158 -0
  142. package/templates/interface/interfaces.md +99 -0
  143. package/templates/knowledge-base/README.md +138 -0
  144. package/templates/knowledge-base/interfignore +19 -0
  145. package/templates/knowledge-base/registry.md +118 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/lib/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC;AAE5E,MAAM,MAAM,GAAY;IACtB;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,aAAa;QAC1B,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC/C,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAC9C,OAAO,EAAE,OAAO;KACjB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC/C,OAAO,EAAE,QAAQ;KAClB;CACF,CAAC;AAEF,MAAM,oBAAoB,GAAG;IAC3B,yJAAyJ;IACzJ,+HAA+H;CAChI,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAClE,MAAM,uBAAuB,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAwC3E,IAAI,oBAAoB,GAA4B,IAAI,CAAC;AACzD,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAU,CAAC;AACrD,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEpD,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAY;IAChD,OAAO,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAEhC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,UAAU,GACd,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,YAAY,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,qBAAqB,MAAM,CAAC,KAAK,2FAA2F;aACpI,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,qBAAqB,UAAU,CAAC,WAAW,iEAAiE;aACpH,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,qBAAqB,UAAU,CAAC,WAAW,kIAAkI;aACrL,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpG,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,yDAAyD;SACjE,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,oIAAoI;SAC5I,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAgB;IAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,OAAO,GAAyD,EAAE,CAAC;IAEzE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,OAAO,CAAC;IAE5C,oBAAoB,GAAG,IAAI,CAAC;IAE5B,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;IAEzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC5C,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,oBAAoB,GAAG,IAAI,CAAC;IAE5B,IAAI,CAAC;QACH,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrG,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;IAED,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvB,oBAAoB,GAAG,IAAI,CAAC;IAE5B,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,MAAM,MAAM,GAAsB,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC7E,MAAM,aAAa,GAAG,uBAAuB,EAAE,CAAC;IAChD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAE9C,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAChE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,gCAAgC,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;gBAC9F,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACtE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gCAAgC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAC1B,YAAuC,EACvC,KAA8B;IAE9B,IAAI,CAAC,YAAY;QAAE,OAAO;IAC1B,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,cAAc,CACZ,YAAY,EACZ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,KAAK;KACT,CAAC,IAAI,CACP,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,aAAwC,EACxC,IAAY;IAEZ,IAAI,CAAC,aAAa;QAAE,OAAO;IAC3B,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,cAAc,CACZ,aAAa,EACb,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,CACxC,CAAC;AACJ,CAAC;AAOD,SAAS,oBAAoB,CAC3B,IAAY,EACZ,aAAwC,EACxC,eAAkC;IAElC,IAAI,eAAe,EAAE,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,KAAK,GAAG,IAAI;SACf,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,eAAe,IAAI,eAAe,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACxD,SAAS;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QACpC,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,eAAe,EAAE,CAAC;YACpB,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC;YACpC,CAAC;QACH,CAAC;QACD,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAY,EACZ,OAAe,EACf,MAAc,EACd,UAA6B,EAAE;IAE/B,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC7D,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACrE,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;YACxC,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI;YACJ,GAAG,EAAE,OAAO;SACb,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,KAAK,CAAC,WAAW,KAAK,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1C,oBAAoB,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACtC,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,EAAE,SAAS,IAAI,IAAI,CAAC;QAE9D,kDAAkD;QAClD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,MAAM,eAAe,GAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAE5D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAClD,MAAM,iBAAiB,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1D,IAAI,GAAG,GAAG,mBAAmB,GAAG,UAAU;gBAAE,OAAO;YACnD,IAAI,GAAG,GAAG,eAAe,GAAG,iBAAiB;gBAAE,OAAO;YAEtD,eAAe,GAAG,GAAG,CAAC;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,eAAe;gBAC3B,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,yBAAyB,OAAO,sBAAsB;gBAC5E,CAAC,CAAC,YAAY;oBACZ,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,4DAA4D,OAAO,IAAI;oBAC7F,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,0DAA0D,OAAO,IAAI,CAAC;YAChG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,MAAM,OAAO,GACX,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,CAAC;YAC5C,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;oBACxC,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,oBAAoB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC,EAAE,SAAS,CAAC;YACf,CAAC,CAAC,IAAI,CAAC;QAEX,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe;YAC5C,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;gBACf,IAAI,QAAQ,IAAI,mBAAmB;oBAAE,OAAO;gBAC5C,IAAI,CAAC;oBACH,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE;wBAAE,OAAO;oBACzC,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;wBACxC,IAAI,EAAE,4BAA4B;qBACnC,CAAC,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,CAAC;gBAAC,MAAM,CAAC;oBACP,+DAA+D;gBACjE,CAAC;YACH,CAAC,EAAE,IAAI,CAAC;YACV,CAAC,CAAC,IAAI,CAAC;QAET,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,YAAY,GAAG,IAAI,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,SAAS;gBAC3B,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;oBACxC,IAAI,EAAE,QAAQ;oBACd,IAAI;iBACL,CAAC,CAAC;gBACH,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC/B,aAAa,KAAK,yBAAyB,CAAC,KAAK,CAAC,CAAC;oBACnD,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,CAAC;wBAChE,eAAe,GAAG,IAAI,CAAC;wBACvB,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACnC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,CAAC;wBACvE,eAAe,GAAG,IAAI,CAAC;wBACvB,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACnC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,YAAY,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,YAAY,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,SAAS;gBAC3B,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;oBACxC,IAAI,EAAE,QAAQ;oBACd,IAAI;iBACL,CAAC,CAAC;gBACH,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAAE,SAAS;gBACzE,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,YAAY,GAAG,IAAI,CAAC;gBACpB,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBAClC,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,IAAI,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,cAAc;gBAAE,aAAa,CAAC,cAAc,CAAC,CAAC;YAClD,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YAC7F,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;gBACxC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,cAAc,EAAE,aAAa;aAC9B,CAAC,CAAC;YACH,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,IAAI,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,cAAc;gBAAE,aAAa,CAAC,cAAc,CAAC,CAAC;YAClD,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAChD,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;gBACxC,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,mBAAmB,KAAK,CAAC,WAAW,EAAE;aAChD,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAY,EACZ,MAAc,EACd,mBAA6C,EAAE;IAE/C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,MAAM;YACN,iBAAiB;YACjB,aAAa;YACb,WAAW;YACX,gBAAgB;YAChB,sCAAsC;SACvC,CAAC;QACF,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG;YACX,MAAM;YACN,QAAQ;YACR,IAAI;YACJ,iBAAiB;YACjB,uBAAuB;SACxB,CAAC;QACF,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,0BAA0B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,WAAW,oDAAoD,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,0BAA0B;QAC1B,wDAAwD;QACxD,mBAAmB;QACnB,oBAAoB;QACpB,qBAAqB;KACtB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAY,EACZ,UAAiC,EAAE;IAEnC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,SAAS,CAAC;IACzD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE9D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,yBAAyB,EAAE,CAAC,EAAE;YAC9F,GAAG,EAAE,OAAO;YACZ,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE9F,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;gBAC9D,QAAQ;gBACR,MAAM;gBACN,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;aAC5B,CAAC;QACJ,CAAC;QAED,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YACvB,IAAI,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YAC9D,QAAQ,EAAE,KAAK;YACf,MAAM;YACN,MAAM;YACN,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE;SACrF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAY,EACZ,UAGI,EAAE;IAEN,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,iBAAiB,CAAC;IAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,KAAK,CAAC,WAAW,+EAA+E,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;SACzI,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CACnB,KAA8B,EAC9B,aAAwC,EACxC,eAAiC;IAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,CAAC;IAClC,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,0CAA0C;IAC1C,IAAI,IAAI,KAAK,UAAU,IAAI,sBAAsB,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,IAAI,SAAS,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,KAA4C,CAAC;QACjE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,EAAE,CAAC;YACV,0CAA0C;YAC1C,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAW,CAAC;YAC/F,IAAI,IAAI;gBAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QAChD,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,mCAAmC;IAEnC,iDAAiD;IACjD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,OAA8C,CAAC;QACjE,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,OAAyC,EAAE,CAAC;gBAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACxC,MAAM,IAAI,GAAI,KAAK,CAAC,IAAe,CAAC,IAAI,EAAE,CAAC;oBAC3C,SAAS,GAAG,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,IAAI,SAAS,CAAC;gBACtF,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,sBAAsB,EAAE,CAAC;oBACxD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,CAAC;oBAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAA4C,CAAC;oBACjE,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAW,CAAC;wBAC/F,IAAI,IAAI;4BAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBACxD,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;oBAChD,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAA2C,CAAC;QAC/D,IAAI,IAAI,EAAE,CAAC;YACT,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,IAAI,SAAS,CAAC;QACxF,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA4B,CAAC;QAClD,MAAM,OAAO,GAAG,KAAK,CAAC,OAA6B,CAAC;QACpD,IAAI,MAAM,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,SAAS,GAAG,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,IAAI,SAAS,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GACX,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;QACzB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QACtB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;QACzB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QACxB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE5B,IAAI,OAAO,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,SAAS,GAAG,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,IAAI,SAAS,CAAC;IACtF,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5F,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAY,EACZ,IAA6B,EAC7B,aAAwC,EACxC,eAAiC;IAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAA0B,CAAC;IAEjD,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;QACjC,MAAM,IAAI,GAAI,IAAI,CAAC,IAA2B,EAAE,IAAI,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnF,CAAC;IAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAA4C,CAAC;IAChE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjD,IAAI,IAAI,KAAK,cAAc,IAAI,KAAK,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,KAAK,gBAAgB,IAAI,KAAK,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B;IACnD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAW,CAAC;IAC/F,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAC1D,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAA8B;IACtE,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,MAAM,aAAa,GACjB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;QACzB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QACtB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;QACzB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QACxB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,aAAa;QAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,UAAU,CAAE,IAAgC,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,QAAQ;YAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,OAAO,MAAM;SACV,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACxC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7E,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAY,EAAE,SAAwB;IACpE,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/D,IAAI,WAAW,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,UAAU,SAAS,6FAA6F,CAAC;IAC1H,CAAC;IAED,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAE5D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,UAAU,SAAS,0FAA0F,CAAC;QACvH,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7D,OAAO,UAAU,SAAS,+BAA+B,KAAK,CAAC,WAAW,yEAAyE,CAAC;QACtJ,CAAC;QAED,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvE,IAAI,CAAC,aAAa,IAAI,CAAC,gCAAgC,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,CAAC;gBAClF,OAAO,UAAU,SAAS,6FAA6F,CAAC;YAC1H,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,UAAU,SAAS,0BAA0B,KAAK,CAAC,WAAW,wEAAwE,CAAC;IAChJ,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gCAAgC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,UAAU,SAAS,6FAA6F,CAAC;QAC1H,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAY,EAAE,SAAwB;IACjE,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS;QAAE,OAAO,YAAY,CAAC;IAErD,IAAI,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,KAAK,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC;IAEjF,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,YAAY,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,oBAAoB;QAAE,OAAO,oBAAoB,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5E,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAqB,CAAC;QAC9D,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB;IAC9B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB,EAAE,MAAM,GAAG,EAAE;IAC5D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;YAAE,SAAS;QAE/C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAY,EAAE,SAAiB;IACnE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7D,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5E,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,gCAAgC,CAAC,SAAiB,EAAE,kBAA0B;IACrF,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnF,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/E,OAAO,OAAO,KAAK,SAAS,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAY,EAAE,SAAiB;IAI/D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACpE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,gCAAgC,CAAC,SAAS,EAAE,cAAc,CAAC;KACrE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { type BenchmarkRunResult, type BenchmarkSpec, type RuntimeTargetType } from "./schema.js";
2
+ export type { BenchmarkCaseExpect, BenchmarkCase, BenchmarkSpec, BenchmarkCheckResult, BenchmarkCaseResult, BenchmarkTargetResult, BenchmarkRunResult, } from "./schema.js";
3
+ export type BenchmarkTargetType = RuntimeTargetType;
4
+ export interface LoadedBenchmarkSpec extends BenchmarkSpec {
5
+ id: string;
6
+ filePath: string;
7
+ }
8
+ export interface BenchmarkTargetCandidate {
9
+ type: BenchmarkTargetType;
10
+ name: string;
11
+ path: string;
12
+ workflow: string;
13
+ knowledgeBaseName?: string;
14
+ status: "idle" | "running" | "compiled" | "stale" | "failed";
15
+ stage: string;
16
+ summary: string;
17
+ eligible: boolean;
18
+ }
19
+ export declare function listBenchmarkSpecs(sourcePath: string, type: BenchmarkTargetType): LoadedBenchmarkSpec[];
20
+ export declare function loadBenchmarkSpec(sourcePath: string, type: BenchmarkTargetType, id: string): LoadedBenchmarkSpec | null;
21
+ export declare function loadBenchmarkSpecFromFile(filePath: string): LoadedBenchmarkSpec | null;
22
+ export declare function writeBenchmarkSpec(sourcePath: string, spec: BenchmarkSpec & {
23
+ id?: string;
24
+ }): string;
25
+ export declare function listKnowledgeBaseBenchmarkTargets(sourcePath: string): BenchmarkTargetCandidate[];
26
+ export declare function listInterfaceBenchmarkTargets(sourcePath: string): BenchmarkTargetCandidate[];
27
+ export declare function listBenchmarkTargets(sourcePath: string, type: BenchmarkTargetType): BenchmarkTargetCandidate[];
28
+ export declare function runBenchmark(sourcePath: string, spec: LoadedBenchmarkSpec, targets: BenchmarkTargetCandidate[]): BenchmarkRunResult;
29
+ export declare function saveBenchmarkRun(sourcePath: string, result: BenchmarkRunResult): string;
30
+ //# sourceMappingURL=benchmark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/lib/benchmark.ts"],"names":[],"mappings":"AAYA,OAAO,EAKL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAElB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAEpD,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AA0HD,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,GACxB,mBAAmB,EAAE,CAUvB;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,EACzB,EAAE,EAAE,MAAM,GACT,mBAAmB,GAAG,IAAI,CAK5B;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAEtF;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,aAAa,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,MAAM,CAgDR;AAED,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,MAAM,GAAG,wBAAwB,EAAE,CAgBhG;AAED,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,wBAAwB,EAAE,CAI5F;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,GACxB,wBAAwB,EAAE,CAI5B;AAwFD,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,wBAAwB,EAAE,GAClC,kBAAkB,CA4CpB;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,kBAAkB,GACzB,MAAM,CAYR"}
@@ -0,0 +1,325 @@
1
+ import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync, } from "node:fs";
2
+ import { basename, extname, join } from "node:path";
3
+ import { listKnowledgeBasesForSourceFolder, readInterfConfig } from "./interf.js";
4
+ import { safeReadJsonFile } from "./parse.js";
5
+ import { computeInterfaceHealth, computeKnowledgeBaseHealth } from "./state.js";
6
+ import { BenchmarkSpecSchema, } from "./schema.js";
7
+ const BENCHMARK_ID_PATTERN = /^[a-z0-9][a-z0-9-]{0,79}$/;
8
+ const BENCHMARK_EXTENSIONS = new Set([".json"]);
9
+ function benchmarkRootPath(sourcePath) {
10
+ return join(sourcePath, "interf", "benchmarks");
11
+ }
12
+ function benchmarkTypePath(sourcePath, type) {
13
+ return join(benchmarkRootPath(sourcePath), type);
14
+ }
15
+ function benchmarkRunsPath(sourcePath, type) {
16
+ return join(benchmarkRootPath(sourcePath), "runs", type);
17
+ }
18
+ function benchmarkRunGitignorePath(sourcePath, type) {
19
+ return join(benchmarkRunsPath(sourcePath, type), ".gitignore");
20
+ }
21
+ function benchmarkSpecFilePath(sourcePath, type, id) {
22
+ return join(benchmarkTypePath(sourcePath, type), `${id}.json`);
23
+ }
24
+ function normalizeId(input) {
25
+ return input
26
+ .toLowerCase()
27
+ .trim()
28
+ .replace(/[^a-z0-9]+/g, "-")
29
+ .replace(/^-+|-+$/g, "")
30
+ .slice(0, 80);
31
+ }
32
+ function assertBenchmarkId(id) {
33
+ if (!BENCHMARK_ID_PATTERN.test(id)) {
34
+ throw new Error(`Invalid benchmark id: ${id}`);
35
+ }
36
+ }
37
+ function assertWritableBenchmarkPath(filePath) {
38
+ if (existsSync(filePath)) {
39
+ throw new Error(`Benchmark already exists: ${filePath}`);
40
+ }
41
+ }
42
+ function readBenchmarkSpecFile(filePath) {
43
+ const extension = extname(filePath).toLowerCase();
44
+ if (!BENCHMARK_EXTENSIONS.has(extension))
45
+ return null;
46
+ const raw = safeReadJsonFile(filePath, "benchmark spec");
47
+ if (!raw)
48
+ return null;
49
+ const parsed = BenchmarkSpecSchema.safeParse(raw);
50
+ if (!parsed.success) {
51
+ console.warn(`Warning: failed to validate benchmark spec at ${filePath}: ${parsed.error.issues.map((issue) => issue.message).join("; ")}`);
52
+ return null;
53
+ }
54
+ return {
55
+ ...parsed.data,
56
+ id: basename(filePath, extension),
57
+ filePath,
58
+ };
59
+ }
60
+ function parseWords(content) {
61
+ return content.trim().split(/\s+/).filter(Boolean).length;
62
+ }
63
+ function normalizeText(content) {
64
+ return content.toLowerCase().replace(/\s+/g, " ").trim();
65
+ }
66
+ function summarizeTargetSortKey(target) {
67
+ return `${target.knowledgeBaseName ?? ""}\u0000${target.name}\u0000${target.workflow}`;
68
+ }
69
+ function listInterfacesForKnowledgeBase(knowledgeBasePath) {
70
+ const interfacesPath = join(knowledgeBasePath, "interfaces");
71
+ if (!existsSync(interfacesPath))
72
+ return [];
73
+ return readdirSync(interfacesPath)
74
+ .map((entry) => join(interfacesPath, entry))
75
+ .filter((entryPath) => {
76
+ try {
77
+ return statSync(entryPath).isDirectory();
78
+ }
79
+ catch {
80
+ return false;
81
+ }
82
+ })
83
+ .map((entryPath) => {
84
+ const config = readInterfConfig(entryPath);
85
+ if (!config || config.type !== "interface")
86
+ return null;
87
+ const health = computeInterfaceHealth(entryPath);
88
+ const knowledgeBaseConfig = readInterfConfig(knowledgeBasePath);
89
+ const knowledgeBaseName = knowledgeBaseConfig?.type === "knowledge-base"
90
+ ? knowledgeBaseConfig.name
91
+ : basename(knowledgeBasePath);
92
+ return {
93
+ type: "interface",
94
+ name: config.name,
95
+ path: entryPath,
96
+ workflow: config.workflow ?? "briefing",
97
+ knowledgeBaseName,
98
+ status: health.status,
99
+ stage: health.stage,
100
+ summary: health.summary,
101
+ eligible: health.status === "compiled",
102
+ };
103
+ })
104
+ .filter((value) => value !== null);
105
+ }
106
+ export function listBenchmarkSpecs(sourcePath, type) {
107
+ const dirPath = benchmarkTypePath(sourcePath, type);
108
+ if (!existsSync(dirPath))
109
+ return [];
110
+ return readdirSync(dirPath)
111
+ .map((entry) => join(dirPath, entry))
112
+ .filter((filePath) => BENCHMARK_EXTENSIONS.has(extname(filePath).toLowerCase()))
113
+ .map((filePath) => readBenchmarkSpecFile(filePath))
114
+ .filter((value) => value !== null)
115
+ .sort((left, right) => left.name.localeCompare(right.name) || left.id.localeCompare(right.id));
116
+ }
117
+ export function loadBenchmarkSpec(sourcePath, type, id) {
118
+ const normalizedId = normalizeId(id);
119
+ const filePath = join(benchmarkTypePath(sourcePath, type), `${normalizedId}.json`);
120
+ if (!existsSync(filePath))
121
+ return null;
122
+ return readBenchmarkSpecFile(filePath);
123
+ }
124
+ export function loadBenchmarkSpecFromFile(filePath) {
125
+ return readBenchmarkSpecFile(filePath);
126
+ }
127
+ export function writeBenchmarkSpec(sourcePath, spec) {
128
+ const id = normalizeId(spec.id ?? spec.name);
129
+ assertBenchmarkId(id);
130
+ const dirPath = benchmarkTypePath(sourcePath, spec.type);
131
+ mkdirSync(dirPath, { recursive: true });
132
+ const existingPath = join(dirPath, `${id}.json`);
133
+ if (existsSync(existingPath)) {
134
+ throw new Error(`Benchmark already exists: ${existingPath}`);
135
+ }
136
+ const filePath = benchmarkSpecFilePath(sourcePath, spec.type, id);
137
+ assertWritableBenchmarkPath(filePath);
138
+ const normalizedSpec = {
139
+ type: spec.type,
140
+ name: spec.name.trim(),
141
+ ...(spec.description && spec.description.trim().length > 0
142
+ ? { description: spec.description.trim() }
143
+ : {}),
144
+ cases: spec.cases.map((benchmarkCase) => ({
145
+ id: normalizeId(benchmarkCase.id),
146
+ question: benchmarkCase.question.trim(),
147
+ file: benchmarkCase.file.trim(),
148
+ ...(benchmarkCase.expect
149
+ ? {
150
+ expect: {
151
+ ...(benchmarkCase.expect.must_include && benchmarkCase.expect.must_include.length > 0
152
+ ? { must_include: benchmarkCase.expect.must_include.map((value) => value.trim()).filter(Boolean) }
153
+ : {}),
154
+ ...(benchmarkCase.expect.must_not_include && benchmarkCase.expect.must_not_include.length > 0
155
+ ? { must_not_include: benchmarkCase.expect.must_not_include.map((value) => value.trim()).filter(Boolean) }
156
+ : {}),
157
+ ...(typeof benchmarkCase.expect.min_words === "number"
158
+ ? { min_words: benchmarkCase.expect.min_words }
159
+ : {}),
160
+ ...(typeof benchmarkCase.expect.max_words === "number"
161
+ ? { max_words: benchmarkCase.expect.max_words }
162
+ : {}),
163
+ },
164
+ }
165
+ : {}),
166
+ })),
167
+ };
168
+ const parsed = BenchmarkSpecSchema.parse(normalizedSpec);
169
+ writeFileSync(filePath, `${JSON.stringify(parsed, null, 2)}\n`);
170
+ return filePath;
171
+ }
172
+ export function listKnowledgeBaseBenchmarkTargets(sourcePath) {
173
+ return listKnowledgeBasesForSourceFolder(sourcePath)
174
+ .map(({ path, config }) => {
175
+ const health = computeKnowledgeBaseHealth(path);
176
+ return {
177
+ type: "knowledge-base",
178
+ name: config.name,
179
+ path,
180
+ workflow: config.workflow ?? "interf",
181
+ status: health.status,
182
+ stage: health.stage,
183
+ summary: health.summary,
184
+ eligible: health.status === "compiled",
185
+ };
186
+ })
187
+ .sort((left, right) => summarizeTargetSortKey(left).localeCompare(summarizeTargetSortKey(right)));
188
+ }
189
+ export function listInterfaceBenchmarkTargets(sourcePath) {
190
+ return listKnowledgeBasesForSourceFolder(sourcePath)
191
+ .flatMap(({ path }) => listInterfacesForKnowledgeBase(path))
192
+ .sort((left, right) => summarizeTargetSortKey(left).localeCompare(summarizeTargetSortKey(right)));
193
+ }
194
+ export function listBenchmarkTargets(sourcePath, type) {
195
+ return type === "knowledge-base"
196
+ ? listKnowledgeBaseBenchmarkTargets(sourcePath)
197
+ : listInterfaceBenchmarkTargets(sourcePath);
198
+ }
199
+ function runBenchmarkCase(target, benchmarkCase) {
200
+ const outputPath = join(target.path, benchmarkCase.file);
201
+ const checks = [];
202
+ if (!existsSync(outputPath)) {
203
+ checks.push({
204
+ label: "file exists",
205
+ ok: false,
206
+ detail: `Missing ${benchmarkCase.file}`,
207
+ });
208
+ return {
209
+ caseId: benchmarkCase.id,
210
+ question: benchmarkCase.question,
211
+ file: benchmarkCase.file,
212
+ ok: false,
213
+ wordCount: 0,
214
+ passedChecks: 0,
215
+ totalChecks: checks.length,
216
+ checks,
217
+ };
218
+ }
219
+ checks.push({
220
+ label: "file exists",
221
+ ok: true,
222
+ detail: `Found ${benchmarkCase.file}`,
223
+ });
224
+ const content = readFileSync(outputPath, "utf8");
225
+ const normalized = normalizeText(content);
226
+ const wordCount = parseWords(content);
227
+ for (const phrase of benchmarkCase.expect?.must_include ?? []) {
228
+ const ok = normalized.includes(normalizeText(phrase));
229
+ checks.push({
230
+ label: `must include "${phrase}"`,
231
+ ok,
232
+ detail: ok ? "present" : "missing",
233
+ });
234
+ }
235
+ for (const phrase of benchmarkCase.expect?.must_not_include ?? []) {
236
+ const ok = !normalized.includes(normalizeText(phrase));
237
+ checks.push({
238
+ label: `must not include "${phrase}"`,
239
+ ok,
240
+ detail: ok ? "absent" : "present",
241
+ });
242
+ }
243
+ if (typeof benchmarkCase.expect?.min_words === "number") {
244
+ const ok = wordCount >= benchmarkCase.expect.min_words;
245
+ checks.push({
246
+ label: `min words ${benchmarkCase.expect.min_words}`,
247
+ ok,
248
+ detail: `${wordCount} words`,
249
+ });
250
+ }
251
+ if (typeof benchmarkCase.expect?.max_words === "number") {
252
+ const ok = wordCount <= benchmarkCase.expect.max_words;
253
+ checks.push({
254
+ label: `max words ${benchmarkCase.expect.max_words}`,
255
+ ok,
256
+ detail: `${wordCount} words`,
257
+ });
258
+ }
259
+ const passedChecks = checks.filter((check) => check.ok).length;
260
+ return {
261
+ caseId: benchmarkCase.id,
262
+ question: benchmarkCase.question,
263
+ file: benchmarkCase.file,
264
+ ok: passedChecks === checks.length,
265
+ wordCount,
266
+ passedChecks,
267
+ totalChecks: checks.length,
268
+ checks,
269
+ };
270
+ }
271
+ export function runBenchmark(sourcePath, spec, targets) {
272
+ for (const target of targets) {
273
+ if (target.type !== spec.type) {
274
+ throw new Error(`Benchmark target type mismatch: expected ${spec.type}, got ${target.type}`);
275
+ }
276
+ }
277
+ const results = targets.map((target) => {
278
+ const caseResults = spec.cases.map((benchmarkCase) => runBenchmarkCase(target, benchmarkCase));
279
+ const passedCases = caseResults.filter((result) => result.ok).length;
280
+ const passedChecks = caseResults.reduce((total, result) => total + result.passedChecks, 0);
281
+ const totalChecks = caseResults.reduce((total, result) => total + result.totalChecks, 0);
282
+ return {
283
+ target: {
284
+ type: target.type,
285
+ name: target.name,
286
+ path: target.path,
287
+ workflow: target.workflow,
288
+ ...(target.knowledgeBaseName ? { knowledgeBaseName: target.knowledgeBaseName } : {}),
289
+ },
290
+ ok: passedCases === caseResults.length,
291
+ passedCases,
292
+ totalCases: caseResults.length,
293
+ passedChecks,
294
+ totalChecks,
295
+ caseResults,
296
+ };
297
+ });
298
+ return {
299
+ kind: "interf-benchmark-run",
300
+ version: 1,
301
+ generated_at: new Date().toISOString(),
302
+ benchmark: {
303
+ id: spec.id,
304
+ name: spec.name,
305
+ type: spec.type,
306
+ file: spec.filePath,
307
+ },
308
+ source_path: sourcePath,
309
+ target_count: results.length,
310
+ results,
311
+ };
312
+ }
313
+ export function saveBenchmarkRun(sourcePath, result) {
314
+ const dirPath = benchmarkRunsPath(sourcePath, result.benchmark.type);
315
+ mkdirSync(dirPath, { recursive: true });
316
+ const gitignorePath = benchmarkRunGitignorePath(sourcePath, result.benchmark.type);
317
+ if (!existsSync(gitignorePath)) {
318
+ writeFileSync(gitignorePath, "*.json\n");
319
+ }
320
+ const timestamp = result.generated_at.replace(/[:.]/g, "-");
321
+ const filePath = join(dirPath, `${timestamp}-${result.benchmark.id}.json`);
322
+ writeFileSync(filePath, JSON.stringify(result, null, 2) + "\n");
323
+ return filePath;
324
+ }
325
+ //# sourceMappingURL=benchmark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/lib/benchmark.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const PACKAGE_ROOT: string;
2
+ export declare const SKILLS_DIR: string;
3
+ export declare const KNOWLEDGE_BASE_INTERFIGNORE: string;
4
+ export declare const INTERF_HOME: string;
5
+ export declare const REGISTRY_PATH: string;
6
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,QAA8B,CAAC;AAGxD,eAAO,MAAM,UAAU,QAA+B,CAAC;AAGvD,eAAO,MAAM,2BAA2B,QAAoE,CAAC;AAG7G,eAAO,MAAM,WAAW,QAA6B,CAAC;AACtD,eAAO,MAAM,aAAa,QAAqC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { homedir } from "node:os";
2
+ import { join, dirname } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = dirname(__filename);
6
+ // Package root (dist/lib/ → package root)
7
+ export const PACKAGE_ROOT = join(__dirname, "..", "..");
8
+ // Bundled skills shipped with the package
9
+ export const SKILLS_DIR = join(PACKAGE_ROOT, "skills");
10
+ // Knowledge-base helper files
11
+ export const KNOWLEDGE_BASE_INTERFIGNORE = join(PACKAGE_ROOT, "templates", "knowledge-base", "interfignore");
12
+ // User config
13
+ export const INTERF_HOME = join(homedir(), ".interf");
14
+ export const REGISTRY_PATH = join(INTERF_HOME, "registry.json");
15
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,0CAA0C;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAExD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAEvD,8BAA8B;AAC9B,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;AAE7G,cAAc;AACd,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface DiscoveryResult {
2
+ sourceFiles: string[];
3
+ totalCount: number;
4
+ ignoredCount: number;
5
+ }
6
+ export declare function discoverSourceFiles(sourcePath: string, knowledgeBasePath: string): DiscoveryResult;
7
+ export declare function loadIgnorePatterns(knowledgeBasePath: string): string[];
8
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/lib/discovery.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAWD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,GACxB,eAAe,CA0BjB;AAED,wBAAgB,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,CAQtE"}
@@ -0,0 +1,80 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { join, relative } from "node:path";
3
+ import { listFilesRecursive } from "./filesystem.js";
4
+ const DEFAULT_IGNORE_DIRS = new Set([
5
+ "interf",
6
+ ".interf",
7
+ ".git",
8
+ ".obsidian",
9
+ ".claude",
10
+ "node_modules",
11
+ ]);
12
+ export function discoverSourceFiles(sourcePath, knowledgeBasePath) {
13
+ const userPatterns = loadIgnorePatterns(knowledgeBasePath);
14
+ let ignoredCount = 0;
15
+ const allFiles = listFilesRecursive(sourcePath, (filePath) => {
16
+ const rel = relative(sourcePath, filePath);
17
+ if (isIgnored(rel)) {
18
+ ignoredCount++;
19
+ return false;
20
+ }
21
+ if (userPatterns.length > 0 && matchesUserPattern(rel, userPatterns)) {
22
+ ignoredCount++;
23
+ return false;
24
+ }
25
+ return true;
26
+ });
27
+ const sourceFiles = allFiles
28
+ .map((f) => relative(sourcePath, f))
29
+ .sort((a, b) => a.localeCompare(b));
30
+ return {
31
+ sourceFiles,
32
+ totalCount: sourceFiles.length,
33
+ ignoredCount,
34
+ };
35
+ }
36
+ export function loadIgnorePatterns(knowledgeBasePath) {
37
+ const ignorePath = join(knowledgeBasePath, ".interfignore");
38
+ if (!existsSync(ignorePath))
39
+ return [];
40
+ return readFileSync(ignorePath, "utf-8")
41
+ .split("\n")
42
+ .map((line) => line.trim())
43
+ .filter((line) => line.length > 0 && !line.startsWith("#"));
44
+ }
45
+ function isIgnored(relativePath) {
46
+ const segments = relativePath.split("/");
47
+ for (const segment of segments) {
48
+ if (segment.startsWith("."))
49
+ return true;
50
+ if (DEFAULT_IGNORE_DIRS.has(segment))
51
+ return true;
52
+ }
53
+ return false;
54
+ }
55
+ function matchesUserPattern(relativePath, patterns) {
56
+ for (const pattern of patterns) {
57
+ if (matchGlob(relativePath, pattern))
58
+ return true;
59
+ }
60
+ return false;
61
+ }
62
+ function matchGlob(path, pattern) {
63
+ // Exact directory match: "build/" matches "build/..." or "sub/build/..."
64
+ if (pattern.endsWith("/")) {
65
+ const dir = pattern.slice(0, -1);
66
+ return path === dir || path.startsWith(dir + "/") || path.includes("/" + dir + "/");
67
+ }
68
+ // Extension match: "*.log" matches any file ending in .log
69
+ if (pattern.startsWith("*.")) {
70
+ return path.endsWith(pattern.slice(1));
71
+ }
72
+ // Exact filename match: ".env" matches ".env" at any depth
73
+ if (!pattern.includes("/") && !pattern.includes("*")) {
74
+ const filename = path.split("/").pop() ?? "";
75
+ return filename === pattern;
76
+ }
77
+ // Prefix match: "dist/foo" matches "dist/foo" and "dist/foo/bar"
78
+ return path === pattern || path.startsWith(pattern + "/");
79
+ }
80
+ //# sourceMappingURL=discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/lib/discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { Agent } from "./agents.js";
2
+ import type { RuntimeExecutorInfo } from "./schema.js";
3
+ export type WorkflowExecutorKind = "local-agent" | "connected-provider" | "managed";
4
+ export interface WorkflowExecutionProfile {
5
+ model?: string | null;
6
+ effort?: string | null;
7
+ profile?: string | null;
8
+ timeoutMs?: number | null;
9
+ }
10
+ export interface WorkflowExecuteOptions {
11
+ eventLogPath?: string | null;
12
+ statusLogPath?: string | null;
13
+ completionCheck?: (() => boolean) | null;
14
+ }
15
+ export interface WorkflowExecutor {
16
+ kind: WorkflowExecutorKind;
17
+ name: string;
18
+ displayName: string;
19
+ command?: string | null;
20
+ executionProfile?: WorkflowExecutionProfile;
21
+ execute(knowledgeBasePath: string, prompt: string, options?: WorkflowExecuteOptions): Promise<number>;
22
+ }
23
+ export type { RuntimeExecutorInfo } from "./schema.js";
24
+ export declare function buildRuntimeExecutorInfo(executor: WorkflowExecutor): RuntimeExecutorInfo;
25
+ export declare function createLocalAgentExecutor(agent: Agent, executionProfile?: WorkflowExecutionProfile): WorkflowExecutor;
26
+ export declare function resolveLocalExecutor(options?: {
27
+ preflight?: boolean;
28
+ executionProfile?: WorkflowExecutionProfile;
29
+ }): {
30
+ executor: WorkflowExecutor | null;
31
+ error?: string;
32
+ };
33
+ //# sourceMappingURL=executors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executors.d.ts","sourceRoot":"","sources":["../../src/lib/executors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,oBAAoB,GAAG,SAAS,CAAC;AAEpF,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvG;AAED,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,mBAAmB,CAWxF;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,KAAK,EACZ,gBAAgB,GAAE,wBAA6B,GAC9C,gBAAgB,CAgBlB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;CACxC,GACL;IAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAcvD"}