@vybestack/llxprt-code-agents 0.10.0-nightly.260613.1adad3b34

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 (176) hide show
  1. package/dist/.last_build +0 -0
  2. package/dist/index.d.ts +10 -0
  3. package/dist/index.js +11 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/src/agents/executor-prompt-builder.d.ts +19 -0
  6. package/dist/src/agents/executor-prompt-builder.js +44 -0
  7. package/dist/src/agents/executor-prompt-builder.js.map +1 -0
  8. package/dist/src/agents/executor-termination.d.ts +22 -0
  9. package/dist/src/agents/executor-termination.js +44 -0
  10. package/dist/src/agents/executor-termination.js.map +1 -0
  11. package/dist/src/agents/executor-validation.d.ts +17 -0
  12. package/dist/src/agents/executor-validation.js +35 -0
  13. package/dist/src/agents/executor-validation.js.map +1 -0
  14. package/dist/src/agents/executor.d.ts +136 -0
  15. package/dist/src/agents/executor.js +874 -0
  16. package/dist/src/agents/executor.js.map +1 -0
  17. package/dist/src/agents/invocation.d.ts +45 -0
  18. package/dist/src/agents/invocation.js +118 -0
  19. package/dist/src/agents/invocation.js.map +1 -0
  20. package/dist/src/agents/recovery.d.ts +75 -0
  21. package/dist/src/agents/recovery.js +107 -0
  22. package/dist/src/agents/recovery.js.map +1 -0
  23. package/dist/src/agents/types.d.ts +149 -0
  24. package/dist/src/agents/types.js +18 -0
  25. package/dist/src/agents/types.js.map +1 -0
  26. package/dist/src/agents/utils.d.ts +15 -0
  27. package/dist/src/agents/utils.js +28 -0
  28. package/dist/src/agents/utils.js.map +1 -0
  29. package/dist/src/compression/CompressionHandler.d.ts +178 -0
  30. package/dist/src/compression/CompressionHandler.js +630 -0
  31. package/dist/src/compression/CompressionHandler.js.map +1 -0
  32. package/dist/src/compression/HighDensityStrategy.d.ts +113 -0
  33. package/dist/src/compression/HighDensityStrategy.js +769 -0
  34. package/dist/src/compression/HighDensityStrategy.js.map +1 -0
  35. package/dist/src/compression/MiddleOutStrategy.d.ts +27 -0
  36. package/dist/src/compression/MiddleOutStrategy.js +347 -0
  37. package/dist/src/compression/MiddleOutStrategy.js.map +1 -0
  38. package/dist/src/compression/OneShotStrategy.d.ts +22 -0
  39. package/dist/src/compression/OneShotStrategy.js +235 -0
  40. package/dist/src/compression/OneShotStrategy.js.map +1 -0
  41. package/dist/src/compression/TopDownTruncationStrategy.d.ts +13 -0
  42. package/dist/src/compression/TopDownTruncationStrategy.js +74 -0
  43. package/dist/src/compression/TopDownTruncationStrategy.js.map +1 -0
  44. package/dist/src/compression/compressionBudgeting.d.ts +34 -0
  45. package/dist/src/compression/compressionBudgeting.js +139 -0
  46. package/dist/src/compression/compressionBudgeting.js.map +1 -0
  47. package/dist/src/compression/compressionStrategyFactory.d.ts +23 -0
  48. package/dist/src/compression/compressionStrategyFactory.js +40 -0
  49. package/dist/src/compression/compressionStrategyFactory.js.map +1 -0
  50. package/dist/src/compression/index.d.ts +16 -0
  51. package/dist/src/compression/index.js +17 -0
  52. package/dist/src/compression/index.js.map +1 -0
  53. package/dist/src/compression/reasoningUtils.d.ts +18 -0
  54. package/dist/src/compression/reasoningUtils.js +22 -0
  55. package/dist/src/compression/reasoningUtils.js.map +1 -0
  56. package/dist/src/compression/utils.d.ts +114 -0
  57. package/dist/src/compression/utils.js +316 -0
  58. package/dist/src/compression/utils.js.map +1 -0
  59. package/dist/src/core/AgentHookManager.d.ts +41 -0
  60. package/dist/src/core/AgentHookManager.js +65 -0
  61. package/dist/src/core/AgentHookManager.js.map +1 -0
  62. package/dist/src/core/ChatSessionFactory.d.ts +50 -0
  63. package/dist/src/core/ChatSessionFactory.js +216 -0
  64. package/dist/src/core/ChatSessionFactory.js.map +1 -0
  65. package/dist/src/core/ConversationManager.d.ts +113 -0
  66. package/dist/src/core/ConversationManager.js +311 -0
  67. package/dist/src/core/ConversationManager.js.map +1 -0
  68. package/dist/src/core/DirectMessageProcessor.d.ts +79 -0
  69. package/dist/src/core/DirectMessageProcessor.js +478 -0
  70. package/dist/src/core/DirectMessageProcessor.js.map +1 -0
  71. package/dist/src/core/IdeContextTracker.d.ts +56 -0
  72. package/dist/src/core/IdeContextTracker.js +207 -0
  73. package/dist/src/core/IdeContextTracker.js.map +1 -0
  74. package/dist/src/core/MessageConverter.d.ts +78 -0
  75. package/dist/src/core/MessageConverter.js +492 -0
  76. package/dist/src/core/MessageConverter.js.map +1 -0
  77. package/dist/src/core/MessageStreamOrchestrator.d.ts +85 -0
  78. package/dist/src/core/MessageStreamOrchestrator.js +448 -0
  79. package/dist/src/core/MessageStreamOrchestrator.js.map +1 -0
  80. package/dist/src/core/MessageStreamTerminalHandler.d.ts +16 -0
  81. package/dist/src/core/MessageStreamTerminalHandler.js +170 -0
  82. package/dist/src/core/MessageStreamTerminalHandler.js.map +1 -0
  83. package/dist/src/core/StreamProcessor.d.ts +105 -0
  84. package/dist/src/core/StreamProcessor.js +660 -0
  85. package/dist/src/core/StreamProcessor.js.map +1 -0
  86. package/dist/src/core/TodoContinuationService.d.ts +74 -0
  87. package/dist/src/core/TodoContinuationService.js +312 -0
  88. package/dist/src/core/TodoContinuationService.js.map +1 -0
  89. package/dist/src/core/TurnProcessor.d.ts +91 -0
  90. package/dist/src/core/TurnProcessor.js +540 -0
  91. package/dist/src/core/TurnProcessor.js.map +1 -0
  92. package/dist/src/core/baseLlmClient.d.ts +115 -0
  93. package/dist/src/core/baseLlmClient.js +231 -0
  94. package/dist/src/core/baseLlmClient.js.map +1 -0
  95. package/dist/src/core/bucketFailoverIntegration.d.ts +62 -0
  96. package/dist/src/core/bucketFailoverIntegration.js +186 -0
  97. package/dist/src/core/bucketFailoverIntegration.js.map +1 -0
  98. package/dist/src/core/chatSession.d.ts +121 -0
  99. package/dist/src/core/chatSession.js +720 -0
  100. package/dist/src/core/chatSession.js.map +1 -0
  101. package/dist/src/core/client.d.ts +132 -0
  102. package/dist/src/core/client.js +524 -0
  103. package/dist/src/core/client.js.map +1 -0
  104. package/dist/src/core/clientHelpers.d.ts +15 -0
  105. package/dist/src/core/clientHelpers.js +122 -0
  106. package/dist/src/core/clientHelpers.js.map +1 -0
  107. package/dist/src/core/clientLlmUtilities.d.ts +30 -0
  108. package/dist/src/core/clientLlmUtilities.js +125 -0
  109. package/dist/src/core/clientLlmUtilities.js.map +1 -0
  110. package/dist/src/core/clientToolGovernance.d.ts +37 -0
  111. package/dist/src/core/clientToolGovernance.js +104 -0
  112. package/dist/src/core/clientToolGovernance.js.map +1 -0
  113. package/dist/src/core/compression-config.d.ts +12 -0
  114. package/dist/src/core/compression-config.js +21 -0
  115. package/dist/src/core/compression-config.js.map +1 -0
  116. package/dist/src/core/coreToolScheduler.d.ts +105 -0
  117. package/dist/src/core/coreToolScheduler.js +453 -0
  118. package/dist/src/core/coreToolScheduler.js.map +1 -0
  119. package/dist/src/core/hookToolRestrictions.d.ts +18 -0
  120. package/dist/src/core/hookToolRestrictions.js +187 -0
  121. package/dist/src/core/hookToolRestrictions.js.map +1 -0
  122. package/dist/src/core/nonInteractiveToolExecutor.d.ts +17 -0
  123. package/dist/src/core/nonInteractiveToolExecutor.js +102 -0
  124. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -0
  125. package/dist/src/core/subagent.d.ts +105 -0
  126. package/dist/src/core/subagent.js +650 -0
  127. package/dist/src/core/subagent.js.map +1 -0
  128. package/dist/src/core/subagentExecution.d.ts +104 -0
  129. package/dist/src/core/subagentExecution.js +275 -0
  130. package/dist/src/core/subagentExecution.js.map +1 -0
  131. package/dist/src/core/subagentOrchestrator.d.ts +84 -0
  132. package/dist/src/core/subagentOrchestrator.js +503 -0
  133. package/dist/src/core/subagentOrchestrator.js.map +1 -0
  134. package/dist/src/core/subagentRuntimeSetup.d.ts +75 -0
  135. package/dist/src/core/subagentRuntimeSetup.js +387 -0
  136. package/dist/src/core/subagentRuntimeSetup.js.map +1 -0
  137. package/dist/src/core/subagentScheduler.d.ts +17 -0
  138. package/dist/src/core/subagentScheduler.js +7 -0
  139. package/dist/src/core/subagentScheduler.js.map +1 -0
  140. package/dist/src/core/subagentToolProcessing.d.ts +51 -0
  141. package/dist/src/core/subagentToolProcessing.js +359 -0
  142. package/dist/src/core/subagentToolProcessing.js.map +1 -0
  143. package/dist/src/core/toolGovernance.d.ts +18 -0
  144. package/dist/src/core/toolGovernance.js +50 -0
  145. package/dist/src/core/toolGovernance.js.map +1 -0
  146. package/dist/src/core/turn.d.ts +47 -0
  147. package/dist/src/core/turn.js +455 -0
  148. package/dist/src/core/turn.js.map +1 -0
  149. package/dist/src/core/turnLogging.d.ts +35 -0
  150. package/dist/src/core/turnLogging.js +80 -0
  151. package/dist/src/core/turnLogging.js.map +1 -0
  152. package/dist/src/index.d.ts +32 -0
  153. package/dist/src/index.js +44 -0
  154. package/dist/src/index.js.map +1 -0
  155. package/dist/src/scheduler/confirmation-coordinator.d.ts +139 -0
  156. package/dist/src/scheduler/confirmation-coordinator.js +443 -0
  157. package/dist/src/scheduler/confirmation-coordinator.js.map +1 -0
  158. package/dist/src/scheduler/result-aggregator.d.ts +127 -0
  159. package/dist/src/scheduler/result-aggregator.js +302 -0
  160. package/dist/src/scheduler/result-aggregator.js.map +1 -0
  161. package/dist/src/scheduler/status-transitions.d.ts +39 -0
  162. package/dist/src/scheduler/status-transitions.js +184 -0
  163. package/dist/src/scheduler/status-transitions.js.map +1 -0
  164. package/dist/src/scheduler/tool-dispatcher.d.ts +40 -0
  165. package/dist/src/scheduler/tool-dispatcher.js +120 -0
  166. package/dist/src/scheduler/tool-dispatcher.js.map +1 -0
  167. package/dist/src/scheduler/tool-executor.d.ts +44 -0
  168. package/dist/src/scheduler/tool-executor.js +117 -0
  169. package/dist/src/scheduler/tool-executor.js.map +1 -0
  170. package/dist/src/scheduler/utils.d.ts +11 -0
  171. package/dist/src/scheduler/utils.js +19 -0
  172. package/dist/src/scheduler/utils.js.map +1 -0
  173. package/dist/src/tools/task.d.ts +128 -0
  174. package/dist/src/tools/task.js +932 -0
  175. package/dist/src/tools/task.js.map +1 -0
  176. package/package.json +54 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HighDensityStrategy.js","sourceRoot":"","sources":["../../../src/compression/HighDensityStrategy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6IAA6I;AAE7I;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAiBlC,8EAA8E;AAC9E,+DAA+D;AAC/D,8EAA8E;AAE9E,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,WAAW;IACX,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;CACP,CAAC;AACX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,UAAU;IACV,SAAS;IACT,gBAAgB;IAChB,mBAAmB;CACX,CAAC;AACX,yEAAyE;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AACpD,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,iBAAiB,GAAG,CAAC;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAE7D,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE9B,8EAA8E;AAC9E,iFAAiF;AACjF,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,eAAe,CAAC,MAAe;IACtC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC;IAC3D,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,QAAgB,EAAE,aAAqB;IAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,IAAY;IAKrC,MAAM,OAAO,GAIR,EAAE,CAAC;IACR,MAAM,WAAW,GAAG,kBAAkB,CAAC;IACvC,IAAI,KAA6B,CAAC;IAElC,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;QAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAC7B,oBAAoB,EACpB,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAC9B,CAAC;QACF,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QAED,IAAI,SAAS,GAAG,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC;QACzD,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7B,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QAEnD,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,KAAmB;IAC3C,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,OAA4B,EAC5B,MAAqB;IAErB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE9C,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,6KAA6K;QAC7K,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,IAAI,CAAE,WAAiC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAC7B,OAA4B,EAC5B,MAAqB,EACrB,WAAgC,EAChC,QAA6B;IAM7B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC1D,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CACxC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAClD,CAAC;QACF,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAExD,6KAA6K;QAC7K,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,IAAI,CAAE,UAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5D,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,qBAAqB,CAC7C,KAAK,CAAC,UAAU,EAChB,MAAM,CAAC,aAAa,EACpB,WAAW,EACX,KAAK,CACN,CAAC;gBACF,8JAA8J;gBAC9J,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,SAAS;gBACX,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACnD,8JAA8J;gBAC9J,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC7D,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE7C,8JAA8J;gBAC9J,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;oBACpD,SAAS;gBACX,CAAC;YACH,CAAC;YAED,qBAAqB;YACrB,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,CAAC;AACrE,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,OAA4B,EAC5B,YAAyB,EACzB,kBAA4C,EAC5C,qBAA0C,EAC1C,QAAqB,EACrB,YAAmC;IAEnC,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACvD,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE3D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACvD,CAAC;QAEF,IACE,UAAU,CAAC,IAAI,KAAK,UAAU;YAC9B,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;gBAC1B,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EACnD,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE;gBACxB,GAAG,OAAO,CAAC,OAAO,CAAC;gBACnB,MAAM,EAAE,cAAc;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,OAA4B,EAC5B,YAAyB,EACzB,QAAqB,EACrB,YAAmC;IAEnC,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,6KAA6K;IAC7K,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CACxC,CAAC,CAAC,EAA0B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAC1D,CAAC;QACF,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAC3B,CAAC;QAEF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,SAAS;QACX,CAAC;QAED,IACE,cAAc,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;YAC/C,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,EACrD,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CACjE,CAAC;YACF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE;oBACtB,GAAG,KAAK;oBACR,MAAM,EAAE,cAAc;iBACvB,CAAC,CAAC;YACL,CAAC;YACD,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAaD;;;;;GAKG;AACH,SAAS,kBAAkB,CACzB,OAA4B,EAC5B,MAAqB,EACrB,gBAA6B;IAE7B,MAAM,UAAU,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEvD,6KAA6K;IAC7K,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,SAAS;QACX,CAAC;QAED,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;YACxE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAExC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,gBAAgB,GAAG,WAAW,CAClC,KAAK,CAAC,QAAQ,EACd,MAAM,CAAC,aAAa,CACrB,CAAC;gBACF,8JAA8J;gBAC9J,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACtC,UAAU,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBACvC,CAAC;gBACD,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAE,CAAC,IAAI,CAAC;oBACrC,YAAY,EAAE,KAAK;oBACnB,UAAU;oBACV,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAC7B,UAAyC;IAEzC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEzD,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,UAAU,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,MAAM,WAAW,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;YACpD,OAAO,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACxD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,2BAA2B,CAClC,YAA2C,EAC3C,OAA4B,EAC5B,YAAmC,EACnC,WAAmB;IAEnB,IAAI,KAAK,GAAG,WAAW,CAAC;IAExB,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;QAErD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,aAAa,GACjB,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAClC,SAAS;QACX,CAAC;QAED,IAAI,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO;gBACL,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;oBACvC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAEjE,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE;YAC7B,GAAG,aAAa;YAChB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IACrB,IAAI,GAAG,cAAuB,CAAC;IAC/B,WAAW,GAAG,KAAK,CAAC;IACpB,OAAO,GAAoB;QAClC,IAAI,EAAE,YAAY;QAClB,gBAAgB,EAAE,GAAG;KACtB,CAAC;IAEF;;;;OAIG;IACH,QAAQ,CAAC,OAA4B,EAAE,MAAqB;QAC1D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;QACjD,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,IAAI,wBAAwB,GAAG,CAAC,CAAC;QACjC,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,mCAAmC;QACnC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3D,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;YACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YACD,oBAAoB,GAAG,QAAQ,CAAC,WAAW,CAAC;QAC9C,CAAC;QAED,4CAA4C;QAC5C,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAC7C,OAAO,EACP,MAAM,EACN,QAAQ,CACT,CAAC;YACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YACD,wBAAwB,GAAG,QAAQ,CAAC,WAAW,CAAC;QAClD,CAAC;QAED,uCAAuC;QACvC,0EAA0E;QAC1E,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CACnC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAC/C,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YACD,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC;QACvC,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC9B,YAAY,EAAE,YAA6C;YAC3D,QAAQ,EAAE;gBACR,oBAAoB;gBACpB,wBAAwB;gBACxB,aAAa;aACd;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,QAAQ,CAAC,OAA2B;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QAErC,2BAA2B;QAC3B,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;aACnC,CAAC;QACJ,CAAC;QAED,+EAA+E;QAC/E,MAAM,iBAAiB,GACrB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,iBAAiB,CAAC,CAAC,CAAC;QAC5E,IAAI,cAAc,GAAG,aAAa,GAAG,QAAQ,CAAC;QAE9C,gFAAgF;QAChF,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAElE,gFAAgF;QAChF,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,UAAU,EAAE,CAAC,GAAG,OAAO,CAAe;gBACtC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC;aAC3D,CAAC;QACJ,CAAC;QAED,4DAA4D;QAC5D,MAAM,oBAAoB,GACxB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;QAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACtE,MAAM,gBAAgB,GACpB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAC7B,oBAAoB,GAAG,YAAY,GAAG,gBAAgB,CACvD,CAAC;QAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wCAAwC,aAAa,cAAc,cAAc,WAAW,YAAY,EAAE,CAC3G,CAAC;QAEF,qFAAqF;QACrF,MAAM,UAAU,GAAe,EAAE,CAAC;QAElC,kCAAkC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACxD,sDAAsD;gBACtD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,MAAM,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACpE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,KAAK,IAAI,CAAC,GAAG,cAAc,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,kEAAkE;QAClE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC9C,UAAU,EACV,UAAU,CAAC,MAAM,GAAG,CAAC,aAAa,GAAG,cAAc,CAAC,EACpD,YAAY,EACZ,OAAO,CACR,CAAC;QAEF,kDAAkD;QAClD,OAAO;YACL,UAAU,EAAE,YAAY;YACxB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC;SACjE,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,mCAAmC;IACnC,4EAA4E;IAE5E;;;;;;;;OAQG;IACK,kBAAkB,CACxB,OAA4B,EAC5B,KAAa;QAEb,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qEAAqE;QACrE,oDAAoD;QACpD,OAAO,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACtD,KAAK,EAAE,CAAC;QACV,CAAC;QACD,kEAAkE;QAClE,mEAAmE;QACnE,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACjD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM;iBACtC,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;iBACzD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAC/C,OAAO;qBACJ,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;qBAChB,IAAI,CACH,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,KAAK,MAAM;oBACpB,CAAC,CAAC,MAAM,CAAC,IAAI,CACX,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,CACrD,CACJ,CACJ,CAAC;gBACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,2BAA2B,CACjC,KAAe,EACf,WAAgC;QAEhC,MAAM,SAAS,GAAmB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO;gBACL,GAAG,KAAK;gBACR,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC;aACjC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAc,CAAC;IACrD,CAAC;IAED;;;;;;;OAOG;IACK,oBAAoB,CAC1B,KAAwB,EACxB,WAAgC;QAEhC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEhC,qFAAqF;QACrF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;QACjE,MAAM,SAAS,GACb,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YAC9B,CAAC,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,cAAc,GAClB,CAAC,QAAQ;YACT,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACzC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAClD,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAEjE,4DAA4D;QAC5D,IAAI,QAA4B,CAAC;QACjC,6KAA6K;QAC7K,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;gBAAE,SAAS;YACrC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;oBACpD,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC;oBAC5B,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;oBACnC,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM;QACpC,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,QAAQ,IAAI,QAAQ,KAAK,OAAO,IAAI,iBAAiB,GAAG,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,QAAQ,KAAK,OAAO,IAAI,iBAAiB,GAAG,CAAC;IAC1D,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,gBAAgB,CAC5B,OAAmB,EACnB,OAAe,EACf,YAAoB,EACpB,OAA2B;QAE3B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,eAAe,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE5D,OAAO,eAAe,GAAG,YAAY,IAAI,WAAW,GAAG,OAAO,EAAE,CAAC;YAC/D,WAAW,EAAE,CAAC;YACd,eAAe,GAAG,MAAM,OAAO,CAAC,cAAc,CAC5C,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAC3B,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACK,aAAa,CACnB,oBAA4B,EAC5B,sBAA8B;QAE9B,OAAO;YACL,oBAAoB;YACpB,sBAAsB;YACtB,YAAY,EAAE,cAAc;YAC5B,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,mCAAmC;IACnC,4EAA4E;IAE5E;;;;;OAKG;IACK,mBAAmB,CACzB,OAA4B,EAC5B,MAAqB;QAMrB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GAC/D,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAE7D,mBAAmB,CACjB,OAAO,EACP,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,QAAQ,EACR,YAAY,CACb,CAAC;QAEF,WAAW,GAAG,qBAAqB,CACjC,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,YAAY,CACb,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CACnB,MAAe,EACf,aAAqB,EACrB,WAAgC,EAChC,SAAiB;QAEjB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,CAAC,GAAG,MAAiC,CAAC;QAC5C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,oBAAoB,GAAG,IAAI,CAAC;QAChC,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,6KAA6K;QAC7K,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,OAAO,GAAG,IAAI,CAAC;gBACf,SAAS;YACX,CAAC;YAED,cAAc,GAAG,IAAI,CAAC;YACtB,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;gBACxD,oBAAoB,GAAG,KAAK,CAAC;gBAC7B,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACK,yBAAyB,CAC/B,OAA4B,EAC5B,MAAqB,EACrB,gBAA6B;QAE7B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACxD,WAAW,GAAG,2BAA2B,CACvC,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,WAAW,CACZ,CAAC;QAEF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACK,cAAc,CACpB,OAA4B,EAC5B,MAAqB,EACrB,gBAA6B;QAE7B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEvD,iEAAiE;QACjE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,MAAM,cAAc,GAAiD,EAAE,CAAC;QAExE,6KAA6K;QAC7K,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YAED,6KAA6K;YAC7K,KACE,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EACxC,UAAU,IAAI,CAAC,EACf,UAAU,EAAE,EACZ,CAAC;gBACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACvC,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACnC,SAAS;gBACX,CAAC;gBAED,oDAAoD;gBACpD,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;oBACpC,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAChC,IAAI,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjD,YAAY,GAAG,YAAY,GAAG,CAAC,CAAC;gBAChC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAEvC,IAAI,YAAY,GAAG,SAAS,EAAE,CAAC;oBAC7B,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE/C,KAAK,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,cAAc,EAAE,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QAED,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,OAAO,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBAC/C,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBAC3D,OAAO;wBACL,GAAG,KAAK;wBACR,MAAM,EAAE,cAAc;qBACvB,CAAC;gBACJ,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;gBAC3B,GAAG,KAAK;gBACR,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;QAChD,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;IACvC,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { CompressionContext, CompressionResult, CompressionStrategy, StrategyTrigger } from '@vybestack/llxprt-code-core/core/compression/types.js';
7
+ export declare class MiddleOutStrategy implements CompressionStrategy {
8
+ readonly name: "middle-out";
9
+ readonly requiresLLM = true;
10
+ /** @plan PLAN-20260211-HIGHDENSITY.P03 @requirement REQ-HD-001.3 */
11
+ readonly trigger: StrategyTrigger;
12
+ compress(context: CompressionContext): Promise<CompressionResult>;
13
+ private computeSplit;
14
+ private resolvePrompt;
15
+ private callProvider;
16
+ private preserveLastUserPrompt;
17
+ private findLastHumanMessageIndex;
18
+ private extractTextFromMessage;
19
+ private assembleHistory;
20
+ private noCompressionResult;
21
+ /**
22
+ * @plan PLAN-20260211-HIGHDENSITY.P23
23
+ * @requirement REQ-HD-011.3, REQ-HD-012.2
24
+ * @pseudocode prompts-todos.md lines 251-276
25
+ */
26
+ private buildContextInjections;
27
+ }
@@ -0,0 +1,347 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @plan PLAN-20260211-COMPRESSION.P06
8
+ * @plan PLAN-20260211-HIGHDENSITY.P03
9
+ * @plan PLAN-20260211-HIGHDENSITY.P05
10
+ * @requirement REQ-CS-002.1, REQ-CS-002.2, REQ-CS-002.3, REQ-CS-002.4
11
+ * @requirement REQ-CS-002.5, REQ-CS-002.6, REQ-CS-002.7, REQ-CS-002.8
12
+ * @requirement REQ-HD-001.3
13
+ * @pseudocode strategy-interface.md lines 70-74
14
+ *
15
+ * Middle-out compression strategy: preserves the top and bottom of the
16
+ * conversation history and compresses the middle section via an LLM call.
17
+ *
18
+ * Extracted from the sandwich compression logic previously embedded in
19
+ * ChatSession (getCompressionSplit, directCompressionCall, applyCompression).
20
+ */
21
+ import { readFileSync } from 'node:fs';
22
+ import { CompressionExecutionError, EmptySummaryError, PromptResolutionError, isTransientCompressionError, } from '@vybestack/llxprt-code-core/core/compression/types.js';
23
+ import { adjustForToolCallBoundary, aggregateTextFromBlocks, buildTriggerInstruction, COMPRESSION_SECURITY_PREAMBLE, runVerificationPass, sanitizeHistoryForCompression, mediaBlockToCompressionPlaceholder, } from './utils.js';
24
+ import { buildContinuationDirective } from '@vybestack/llxprt-code-core/core/compression/continuationDirective.js';
25
+ import { getCompressionPrompt } from '@vybestack/llxprt-code-core/core/prompts.js';
26
+ import { estimateTokens } from '@vybestack/llxprt-code-core/utils/toolOutputLimiter.js';
27
+ const MINIMUM_MIDDLE_MESSAGES = 4;
28
+ const LAST_PROMPT_TOKEN_THRESHOLD = 500;
29
+ const LAST_PROMPT_CONTEXT_MAX_LENGTH = 200;
30
+ // ---------------------------------------------------------------------------
31
+ // MiddleOutStrategy
32
+ // ---------------------------------------------------------------------------
33
+ function destructureProviderResult(result) {
34
+ return {
35
+ provider: result.provider,
36
+ resolvedRuntime: result.runtime,
37
+ resolvedConfig: result.config,
38
+ resolvedOptions: result.resolved,
39
+ invocation: result.invocation,
40
+ };
41
+ }
42
+ export class MiddleOutStrategy {
43
+ name = 'middle-out';
44
+ requiresLLM = true;
45
+ /** @plan PLAN-20260211-HIGHDENSITY.P03 @requirement REQ-HD-001.3 */
46
+ trigger = {
47
+ mode: 'threshold',
48
+ defaultThreshold: 0.85,
49
+ };
50
+ // eslint-disable-next-line max-lines-per-function -- Strategy orchestration remains linear for readability.
51
+ async compress(context) {
52
+ const { history } = context;
53
+ if (history.length === 0) {
54
+ return this.noCompressionResult(history);
55
+ }
56
+ // Compute sandwich split
57
+ let { toKeepTop, toCompress, toKeepBottom } = this.computeSplit(context);
58
+ if (toCompress.length < MINIMUM_MIDDLE_MESSAGES) {
59
+ return this.noCompressionResult(history);
60
+ }
61
+ // Preserve the last user prompt if it ended up in the middle section
62
+ const { toCompress: adjustedCompress, toKeepBottom: adjustedBottom, lastUserPromptContext, largeLastPromptInjection, } = this.preserveLastUserPrompt(toKeepTop, toCompress, toKeepBottom);
63
+ toCompress = adjustedCompress;
64
+ toKeepBottom = adjustedBottom;
65
+ if (toCompress.length < MINIMUM_MIDDLE_MESSAGES) {
66
+ return this.noCompressionResult(history);
67
+ }
68
+ // Resolve the compression prompt
69
+ const prompt = this.resolvePrompt(context);
70
+ // Resolve the provider (compression profile may be undefined)
71
+ const compressionProfile = context.runtimeContext.ephemerals.compressionProfile();
72
+ const { provider, resolvedRuntime, resolvedConfig, resolvedOptions, invocation, } = destructureProviderResult(await context.resolveProvider(compressionProfile));
73
+ // Build the LLM request — sanitize tool blocks to text so the compression
74
+ // call doesn't trip Anthropic's strict tool_use/tool_result pairing
75
+ // validation (orphaned blocks from interrupted loops would cause 400s).
76
+ // @plan PLAN-20260211-HIGHDENSITY.P23
77
+ // @requirement REQ-HD-011.3, REQ-HD-012.2
78
+ const triggerInstruction = buildTriggerInstruction(toCompress);
79
+ const compressionRequest = [
80
+ COMPRESSION_SECURITY_PREAMBLE,
81
+ {
82
+ speaker: 'human',
83
+ blocks: [{ type: 'text', text: prompt }],
84
+ },
85
+ ...sanitizeHistoryForCompression(toCompress),
86
+ ...this.buildContextInjections(context),
87
+ ...largeLastPromptInjection,
88
+ {
89
+ speaker: 'human',
90
+ blocks: [{ type: 'text', text: triggerInstruction }],
91
+ },
92
+ ];
93
+ // Call the provider and aggregate the streamed response
94
+ const { text: summary, usage: capturedUsage } = await this.callProvider(provider, compressionRequest, context, resolvedRuntime, resolvedConfig, resolvedOptions, invocation);
95
+ if (!summary.trim()) {
96
+ throw new EmptySummaryError('middle-out');
97
+ }
98
+ // Optional verification pass — gated by compressionVerification flag (default off)
99
+ let finalSummary = summary;
100
+ if (context.compressionVerification === true) {
101
+ finalSummary = await runVerificationPass(provider, summary, context, resolvedRuntime, resolvedConfig, resolvedOptions, invocation);
102
+ }
103
+ // Assemble result
104
+ const newHistory = this.assembleHistory(toKeepTop, finalSummary, toKeepBottom, context.activeTodos, capturedUsage, lastUserPromptContext);
105
+ const metadata = {
106
+ originalMessageCount: history.length,
107
+ compressedMessageCount: newHistory.length,
108
+ strategyUsed: 'middle-out',
109
+ llmCallMade: true,
110
+ topPreserved: toKeepTop.length,
111
+ bottomPreserved: toKeepBottom.length,
112
+ middleCompressed: toCompress.length,
113
+ ...(capturedUsage ? { usage: capturedUsage } : {}),
114
+ };
115
+ return { newHistory, metadata };
116
+ }
117
+ // -------------------------------------------------------------------------
118
+ // Private helpers
119
+ // -------------------------------------------------------------------------
120
+ computeSplit(context) {
121
+ const history = context.history;
122
+ const preserveThreshold = context.runtimeContext.ephemerals.preserveThreshold();
123
+ const topPreserveThreshold = context.runtimeContext.ephemerals.topPreserveThreshold();
124
+ let topSplitIndex = Math.ceil(history.length * topPreserveThreshold);
125
+ let bottomSplitIndex = Math.floor(history.length * (1 - preserveThreshold));
126
+ if (bottomSplitIndex - topSplitIndex < MINIMUM_MIDDLE_MESSAGES) {
127
+ return { toKeepTop: [...history], toCompress: [], toKeepBottom: [] };
128
+ }
129
+ topSplitIndex = adjustForToolCallBoundary(history, topSplitIndex);
130
+ bottomSplitIndex = adjustForToolCallBoundary(history, bottomSplitIndex);
131
+ if (topSplitIndex >= bottomSplitIndex ||
132
+ bottomSplitIndex - topSplitIndex < MINIMUM_MIDDLE_MESSAGES) {
133
+ return { toKeepTop: [...history], toCompress: [], toKeepBottom: [] };
134
+ }
135
+ return {
136
+ toKeepTop: history.slice(0, topSplitIndex),
137
+ toCompress: history.slice(topSplitIndex, bottomSplitIndex),
138
+ toKeepBottom: history.slice(bottomSplitIndex),
139
+ };
140
+ }
141
+ resolvePrompt(context) {
142
+ const resolved = context.promptResolver.resolveFile(context.promptBaseDir, 'compression.md', context.promptContext);
143
+ if (resolved.found && resolved.path) {
144
+ try {
145
+ return readFileSync(resolved.path, 'utf-8');
146
+ }
147
+ catch {
148
+ // Fall through to hardcoded default
149
+ }
150
+ }
151
+ // Fall back to the hardcoded compression prompt
152
+ const fallback = getCompressionPrompt();
153
+ if (!fallback) {
154
+ throw new PromptResolutionError('compression.md');
155
+ }
156
+ return fallback;
157
+ }
158
+ async callProvider(provider, request, context, resolvedRuntime, resolvedConfig, resolvedOptions, invocation) {
159
+ const providerRuntime = resolvedRuntime;
160
+ try {
161
+ const stream = provider.generateChatCompletion({
162
+ contents: request,
163
+ tools: undefined,
164
+ config: resolvedConfig ?? context.config ?? providerRuntime.config,
165
+ runtime: providerRuntime,
166
+ invocation,
167
+ settings: providerRuntime.settingsService,
168
+ resolved: resolvedOptions,
169
+ metadata: {
170
+ ...(providerRuntime.metadata ?? {}),
171
+ source: 'MiddleOutStrategy.callProvider',
172
+ },
173
+ });
174
+ let summary = '';
175
+ let lastBlockWasNonText = false;
176
+ let capturedUsage;
177
+ for await (const chunk of stream) {
178
+ const result = aggregateTextFromBlocks(chunk.blocks, summary, lastBlockWasNonText);
179
+ summary = result.text;
180
+ lastBlockWasNonText = result.lastBlockWasNonText;
181
+ if (chunk.metadata?.usage) {
182
+ capturedUsage = chunk.metadata.usage;
183
+ }
184
+ }
185
+ return { text: summary, usage: capturedUsage };
186
+ }
187
+ catch (error) {
188
+ throw new CompressionExecutionError('middle-out', `LLM provider call failed: ${error instanceof Error ? error.message : String(error)}`, { isTransient: isTransientCompressionError(error) });
189
+ }
190
+ }
191
+ preserveLastUserPrompt(toKeepTop, toCompress, toKeepBottom) {
192
+ const fullHistory = [...toKeepTop, ...toCompress, ...toKeepBottom];
193
+ const lastHumanIndex = this.findLastHumanMessageIndex(fullHistory);
194
+ if (lastHumanIndex === -1) {
195
+ return {
196
+ toCompress: [...toCompress],
197
+ toKeepBottom: [...toKeepBottom],
198
+ lastUserPromptContext: undefined,
199
+ largeLastPromptInjection: [],
200
+ };
201
+ }
202
+ const compressStart = toKeepTop.length;
203
+ const compressEnd = compressStart + toCompress.length;
204
+ const isInCompressRange = lastHumanIndex >= compressStart && lastHumanIndex < compressEnd;
205
+ if (!isInCompressRange) {
206
+ const lastHumanMsg = fullHistory[lastHumanIndex];
207
+ const text = this.extractTextFromMessage(lastHumanMsg);
208
+ const context = text.length > LAST_PROMPT_CONTEXT_MAX_LENGTH
209
+ ? text.slice(0, LAST_PROMPT_CONTEXT_MAX_LENGTH) + '...'
210
+ : text;
211
+ return {
212
+ toCompress: [...toCompress],
213
+ toKeepBottom: [...toKeepBottom],
214
+ lastUserPromptContext: context || undefined,
215
+ largeLastPromptInjection: [],
216
+ };
217
+ }
218
+ const lastHumanMsg = fullHistory[lastHumanIndex];
219
+ const messageText = this.extractTextFromMessage(lastHumanMsg);
220
+ const tokenCount = estimateTokens(messageText);
221
+ const indexInCompress = lastHumanIndex - compressStart;
222
+ if (tokenCount < LAST_PROMPT_TOKEN_THRESHOLD) {
223
+ const movedMessages = toCompress.slice(indexInCompress);
224
+ const remainingCompress = toCompress.slice(0, indexInCompress);
225
+ const context = messageText.length > LAST_PROMPT_CONTEXT_MAX_LENGTH
226
+ ? messageText.slice(0, LAST_PROMPT_CONTEXT_MAX_LENGTH) + '...'
227
+ : messageText;
228
+ return {
229
+ toCompress: [...remainingCompress],
230
+ toKeepBottom: [...movedMessages, ...toKeepBottom],
231
+ lastUserPromptContext: context || undefined,
232
+ largeLastPromptInjection: [],
233
+ };
234
+ }
235
+ const context = messageText.length > LAST_PROMPT_CONTEXT_MAX_LENGTH
236
+ ? messageText.slice(0, LAST_PROMPT_CONTEXT_MAX_LENGTH) + '...'
237
+ : messageText;
238
+ const injection = {
239
+ speaker: 'human',
240
+ blocks: [
241
+ {
242
+ type: 'text',
243
+ text: `IMPORTANT — The user's most recent message (summarized because it was too long to preserve literally). Summarize this user request faithfully and completely, preserving their exact intent, problems described, and any specific instructions:
244
+
245
+ ${messageText}`,
246
+ },
247
+ ],
248
+ };
249
+ return {
250
+ toCompress: [...toCompress],
251
+ toKeepBottom: [...toKeepBottom],
252
+ lastUserPromptContext: context || undefined,
253
+ largeLastPromptInjection: [injection],
254
+ };
255
+ }
256
+ findLastHumanMessageIndex(history) {
257
+ for (let i = history.length - 1; i >= 0; i--) {
258
+ if (history[i].speaker === 'human') {
259
+ return i;
260
+ }
261
+ }
262
+ return -1;
263
+ }
264
+ extractTextFromMessage(message) {
265
+ return message.blocks
266
+ .map((block) => {
267
+ if (block.type === 'text') {
268
+ return block.text;
269
+ }
270
+ if (block.type === 'media') {
271
+ return mediaBlockToCompressionPlaceholder(block);
272
+ }
273
+ return '';
274
+ })
275
+ .filter((text) => text.length > 0)
276
+ .join(' ');
277
+ }
278
+ assembleHistory(toKeepTop, summary, toKeepBottom, activeTodos, usage, lastUserPromptContext) {
279
+ const summaryEntry = {
280
+ speaker: 'human',
281
+ blocks: [{ type: 'text', text: summary }],
282
+ ...(usage ? { metadata: { usage } } : {}),
283
+ };
284
+ return [
285
+ ...toKeepTop,
286
+ summaryEntry,
287
+ {
288
+ speaker: 'ai',
289
+ blocks: [
290
+ {
291
+ type: 'text',
292
+ text: buildContinuationDirective(activeTodos, lastUserPromptContext),
293
+ },
294
+ ],
295
+ },
296
+ ...toKeepBottom,
297
+ ];
298
+ }
299
+ noCompressionResult(history) {
300
+ return {
301
+ newHistory: [...history],
302
+ metadata: {
303
+ originalMessageCount: history.length,
304
+ compressedMessageCount: history.length,
305
+ strategyUsed: 'middle-out',
306
+ llmCallMade: false,
307
+ topPreserved: 0,
308
+ bottomPreserved: 0,
309
+ middleCompressed: 0,
310
+ },
311
+ };
312
+ }
313
+ /**
314
+ * @plan PLAN-20260211-HIGHDENSITY.P23
315
+ * @requirement REQ-HD-011.3, REQ-HD-012.2
316
+ * @pseudocode prompts-todos.md lines 251-276
317
+ */
318
+ buildContextInjections(context) {
319
+ const injections = [];
320
+ if (context.activeTodos && context.activeTodos.trim().length > 0) {
321
+ injections.push({
322
+ speaker: 'human',
323
+ blocks: [
324
+ {
325
+ type: 'text',
326
+ text: `The following are the current active todo/task items. When summarizing, preserve context about why each task exists and what has been tried:
327
+
328
+ ${context.activeTodos}`,
329
+ },
330
+ ],
331
+ });
332
+ }
333
+ if (context.transcriptPath) {
334
+ injections.push({
335
+ speaker: 'human',
336
+ blocks: [
337
+ {
338
+ type: 'text',
339
+ text: `Note: The full pre-compression transcript is available at: ${context.transcriptPath}`,
340
+ },
341
+ ],
342
+ });
343
+ }
344
+ return injections;
345
+ }
346
+ }
347
+ //# sourceMappingURL=MiddleOutStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiddleOutStrategy.js","sourceRoot":"","sources":["../../../src/compression/MiddleOutStrategy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { CompressionContext, CompressionResult, CompressionStrategy, StrategyTrigger } from '@vybestack/llxprt-code-core/core/compression/types.js';
7
+ export declare class OneShotStrategy implements CompressionStrategy {
8
+ readonly name: "one-shot";
9
+ readonly requiresLLM = true;
10
+ /** @plan PLAN-20260211-HIGHDENSITY.P03 @requirement REQ-HD-001.3 */
11
+ readonly trigger: StrategyTrigger;
12
+ compress(context: CompressionContext): Promise<CompressionResult>;
13
+ private computeSplit;
14
+ private resolvePrompt;
15
+ private callProvider;
16
+ private noCompressionResult;
17
+ /**
18
+ * @plan PLAN-20260211-HIGHDENSITY.P23
19
+ * @requirement REQ-HD-011.3, REQ-HD-012.2
20
+ */
21
+ private buildContextInjections;
22
+ }