@chances-ai/engine 27.0.0 → 29.0.0

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 (153) hide show
  1. package/dist/agents/bundled.d.ts +5 -0
  2. package/dist/agents/bundled.d.ts.map +1 -0
  3. package/dist/agents/bundled.js +66 -0
  4. package/dist/agents/bundled.js.map +1 -0
  5. package/dist/agents/index.d.ts +1 -0
  6. package/dist/agents/index.d.ts.map +1 -1
  7. package/dist/agents/index.js +1 -0
  8. package/dist/agents/index.js.map +1 -1
  9. package/dist/agents/parse.d.ts +3 -0
  10. package/dist/agents/parse.d.ts.map +1 -1
  11. package/dist/agents/parse.js +17 -0
  12. package/dist/agents/parse.js.map +1 -1
  13. package/dist/agents/types.d.ts +8 -0
  14. package/dist/agents/types.d.ts.map +1 -1
  15. package/dist/ai/adapters/ai-sdk-stream.js +15 -0
  16. package/dist/ai/adapters/ai-sdk-stream.js.map +1 -1
  17. package/dist/ai/types.d.ts +12 -0
  18. package/dist/ai/types.d.ts.map +1 -1
  19. package/dist/core/coordinator-mode.d.ts +32 -0
  20. package/dist/core/coordinator-mode.d.ts.map +1 -0
  21. package/dist/core/coordinator-mode.js +98 -0
  22. package/dist/core/coordinator-mode.js.map +1 -0
  23. package/dist/core/coordinator-tools.d.ts +22 -0
  24. package/dist/core/coordinator-tools.d.ts.map +1 -0
  25. package/dist/core/coordinator-tools.js +262 -0
  26. package/dist/core/coordinator-tools.js.map +1 -0
  27. package/dist/core/engine.d.ts +50 -6
  28. package/dist/core/engine.d.ts.map +1 -1
  29. package/dist/core/engine.js +107 -17
  30. package/dist/core/engine.js.map +1 -1
  31. package/dist/core/index.d.ts +3 -1
  32. package/dist/core/index.d.ts.map +1 -1
  33. package/dist/core/index.js +3 -1
  34. package/dist/core/index.js.map +1 -1
  35. package/dist/core/task-tool.d.ts +85 -1
  36. package/dist/core/task-tool.d.ts.map +1 -1
  37. package/dist/core/task-tool.js +456 -500
  38. package/dist/core/task-tool.js.map +1 -1
  39. package/dist/hashline/apply.d.ts +9 -0
  40. package/dist/hashline/apply.d.ts.map +1 -0
  41. package/dist/hashline/apply.js +523 -0
  42. package/dist/hashline/apply.js.map +1 -0
  43. package/dist/hashline/block.d.ts +25 -0
  44. package/dist/hashline/block.d.ts.map +1 -0
  45. package/dist/hashline/block.js +71 -0
  46. package/dist/hashline/block.js.map +1 -0
  47. package/dist/hashline/format.d.ts +106 -0
  48. package/dist/hashline/format.d.ts.map +1 -0
  49. package/dist/hashline/format.js +191 -0
  50. package/dist/hashline/format.js.map +1 -0
  51. package/dist/hashline/fs.d.ts +87 -0
  52. package/dist/hashline/fs.d.ts.map +1 -0
  53. package/dist/hashline/fs.js +123 -0
  54. package/dist/hashline/fs.js.map +1 -0
  55. package/dist/hashline/index.d.ts +27 -0
  56. package/dist/hashline/index.d.ts.map +1 -0
  57. package/dist/hashline/index.js +27 -0
  58. package/dist/hashline/index.js.map +1 -0
  59. package/dist/hashline/input.d.ts +101 -0
  60. package/dist/hashline/input.d.ts.map +1 -0
  61. package/dist/hashline/input.js +378 -0
  62. package/dist/hashline/input.js.map +1 -0
  63. package/dist/hashline/messages.d.ts +87 -0
  64. package/dist/hashline/messages.d.ts.map +1 -0
  65. package/dist/hashline/messages.js +94 -0
  66. package/dist/hashline/messages.js.map +1 -0
  67. package/dist/hashline/mismatch.d.ts +45 -0
  68. package/dist/hashline/mismatch.d.ts.map +1 -0
  69. package/dist/hashline/mismatch.js +118 -0
  70. package/dist/hashline/mismatch.js.map +1 -0
  71. package/dist/hashline/normalize.d.ts +22 -0
  72. package/dist/hashline/normalize.d.ts.map +1 -0
  73. package/dist/hashline/normalize.js +31 -0
  74. package/dist/hashline/normalize.js.map +1 -0
  75. package/dist/hashline/parser.d.ts +24 -0
  76. package/dist/hashline/parser.d.ts.map +1 -0
  77. package/dist/hashline/parser.js +295 -0
  78. package/dist/hashline/parser.js.map +1 -0
  79. package/dist/hashline/patcher.d.ts +111 -0
  80. package/dist/hashline/patcher.d.ts.map +1 -0
  81. package/dist/hashline/patcher.js +332 -0
  82. package/dist/hashline/patcher.js.map +1 -0
  83. package/dist/hashline/recovery.d.ts +41 -0
  84. package/dist/hashline/recovery.d.ts.map +1 -0
  85. package/dist/hashline/recovery.js +175 -0
  86. package/dist/hashline/recovery.js.map +1 -0
  87. package/dist/hashline/snapshots.d.ts +62 -0
  88. package/dist/hashline/snapshots.d.ts.map +1 -0
  89. package/dist/hashline/snapshots.js +127 -0
  90. package/dist/hashline/snapshots.js.map +1 -0
  91. package/dist/hashline/tokenizer.d.ts +66 -0
  92. package/dist/hashline/tokenizer.d.ts.map +1 -0
  93. package/dist/hashline/tokenizer.js +408 -0
  94. package/dist/hashline/tokenizer.js.map +1 -0
  95. package/dist/hashline/types.d.ts +117 -0
  96. package/dist/hashline/types.d.ts.map +1 -0
  97. package/dist/hashline/types.js +13 -0
  98. package/dist/hashline/types.js.map +1 -0
  99. package/dist/tools/builtins/_hashline-fs.d.ts +16 -0
  100. package/dist/tools/builtins/_hashline-fs.d.ts.map +1 -0
  101. package/dist/tools/builtins/_hashline-fs.js +62 -0
  102. package/dist/tools/builtins/_hashline-fs.js.map +1 -0
  103. package/dist/tools/builtins/_image.d.ts +26 -0
  104. package/dist/tools/builtins/_image.d.ts.map +1 -0
  105. package/dist/tools/builtins/_image.js +76 -0
  106. package/dist/tools/builtins/_image.js.map +1 -0
  107. package/dist/tools/builtins/_login-shell.d.ts +17 -0
  108. package/dist/tools/builtins/_login-shell.d.ts.map +1 -0
  109. package/dist/tools/builtins/_login-shell.js +66 -0
  110. package/dist/tools/builtins/_login-shell.js.map +1 -0
  111. package/dist/tools/builtins/_notebook.d.ts +15 -0
  112. package/dist/tools/builtins/_notebook.d.ts.map +1 -0
  113. package/dist/tools/builtins/_notebook.js +81 -0
  114. package/dist/tools/builtins/_notebook.js.map +1 -0
  115. package/dist/tools/builtins/_pdf.d.ts +19 -0
  116. package/dist/tools/builtins/_pdf.d.ts.map +1 -0
  117. package/dist/tools/builtins/_pdf.js +42 -0
  118. package/dist/tools/builtins/_pdf.js.map +1 -0
  119. package/dist/tools/builtins/_shared.d.ts +11 -0
  120. package/dist/tools/builtins/_shared.d.ts.map +1 -1
  121. package/dist/tools/builtins/_shared.js +40 -1
  122. package/dist/tools/builtins/_shared.js.map +1 -1
  123. package/dist/tools/builtins/ast-edit.d.ts +18 -0
  124. package/dist/tools/builtins/ast-edit.d.ts.map +1 -0
  125. package/dist/tools/builtins/ast-edit.js +109 -0
  126. package/dist/tools/builtins/ast-edit.js.map +1 -0
  127. package/dist/tools/builtins/ast-grep.d.ts +6 -0
  128. package/dist/tools/builtins/ast-grep.d.ts.map +1 -0
  129. package/dist/tools/builtins/ast-grep.js +67 -0
  130. package/dist/tools/builtins/ast-grep.js.map +1 -0
  131. package/dist/tools/builtins/bash.d.ts.map +1 -1
  132. package/dist/tools/builtins/bash.js +13 -2
  133. package/dist/tools/builtins/bash.js.map +1 -1
  134. package/dist/tools/builtins/edit.d.ts.map +1 -1
  135. package/dist/tools/builtins/edit.js +112 -31
  136. package/dist/tools/builtins/edit.js.map +1 -1
  137. package/dist/tools/builtins/read.d.ts.map +1 -1
  138. package/dist/tools/builtins/read.js +187 -11
  139. package/dist/tools/builtins/read.js.map +1 -1
  140. package/dist/tools/builtins.d.ts.map +1 -1
  141. package/dist/tools/builtins.js +4 -0
  142. package/dist/tools/builtins.js.map +1 -1
  143. package/dist/tools/file-lock.d.ts +8 -0
  144. package/dist/tools/file-lock.d.ts.map +1 -1
  145. package/dist/tools/file-lock.js +22 -0
  146. package/dist/tools/file-lock.js.map +1 -1
  147. package/dist/tools/index.d.ts +1 -1
  148. package/dist/tools/index.d.ts.map +1 -1
  149. package/dist/tools/index.js.map +1 -1
  150. package/dist/tools/types.d.ts +26 -0
  151. package/dist/tools/types.d.ts.map +1 -1
  152. package/dist/tools/types.js.map +1 -1
  153. package/package.json +8 -3
@@ -1 +1 @@
1
- {"version":3,"file":"task-tool.js","sourceRoot":"","sources":["../../src/core/task-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-tool.js","sourceRoot":"","sources":["../../src/core/task-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,QAAQ,EACR,SAAS,EAST,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAEL,mBAAmB,EACnB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B;wEACwE;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAErC;;;6EAG6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;AAEnC;;;;;iFAKiF;AACjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC;AACrD,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AACzD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC;AACrD,MAAM,CAAC,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IACjE,sBAAsB;IACtB,sBAAsB;IACtB,qBAAqB;IACrB,wBAAwB;IACxB,qBAAqB;IACrB,sBAAsB;CACvB,CAAC,CAAC;AAEH;;uEAEuE;AACvE,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC;;;gFAGgF;AAChF,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC;;;0BAG0B;AAC1B,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC;;;;;mFAKmF;AACnF,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEzC;;+DAE+D;AAC/D,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,CAAC,CAAC,OAAO;SACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC;QACrC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;YAAE,OAAO,CAAC,CAAC,MAAM,CAAC;QAC9C,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;oCAGoC;AACpC,SAAS,mBAAmB,CAAC,OAAuB;IAClD,OAAO,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;0BAG0B;AAC1B,SAAS,kBAAkB,CAAC,MAAc,EAAE,UAAmB;IAC7D,MAAM,YAAY,GAAG,UAAU;QAC7B,CAAC,CAAC,qIAAqI;QACvI,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,CACL,4EAA4E;QAC5E,0EAA0E;QAC1E,YAAY;QACZ,oBAAoB;QACpB,MAAM,CACP,CAAC;AACJ,CAAC;AAyGD,SAAS,MAAM,CAAC,IAAe,EAAE,GAAW,EAAE,QAAiB;IAC7D,MAAM,CAAC,GAAI,IAAkC,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,IAAI,QAAQ;YAAE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,wBAAwB,GAAG,GAAG,CAAC,CAAC;QACjF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,wBAAwB,GAAG,GAAG,CAAC,CAAC;IAC9F,OAAO,CAAC,CAAC;AACX,CAAC;AAkED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAkB,EAClB,IAA0B,EAC1B,aAAqB,EACrB,WAAsD,EACtD,cAA2B;IAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAEvC,IAAI,KAAkC,CAAC;IACvC,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,kBAAkB,YAAY,qEAAqE;aAC5G,CAAC;QACJ,CAAC;QACD,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,YAAY,iBAAiB,SAAS,EAAE,EAAE,CAAC;QAChG,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAgB,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACxC,4EAA4E;QAC5E,kEAAkE;QAClE,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9E,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,UAAU,KAAK,CAAC,IAAI,4CAA4C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,SAAS,EAAE;iBAC5H,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,iBAAiB,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,UAAU,KAAK,CAAC,IAAI,sDAAsD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,SAAS,EAAE;aAChJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACnF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,KAAK,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC;IAE9D,qEAAqE;IACrE,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;IACtC,IAAI,aAAa,GAAwB,MAAM,CAAC;IAChD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,cAAc,KAAK,UAAU,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;YAC/D,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,8BAA8B,cAAc,mCAAmC;aACxF,CAAC;QACJ,CAAC;QACD,aAAa,GAAG,cAAc,CAAC;IACjC,CAAC;SAAM,IAAI,KAAK,EAAE,SAAS,KAAK,UAAU,EAAE,CAAC;QAC3C,aAAa,GAAG,UAAU,CAAC;IAC7B,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;IACtC,MAAM,eAAe,GAAG,aAAa,KAAK,UAAU,IAAI,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvF,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;YAAE,SAAS;QACvC,IAAI,eAAe,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnF,gBAAgB,EAAE,CAAC;YACnB,SAAS;QACX,CAAC;QACD,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,4EAA4E;IAC5E,IAAI,cAA0C,CAAC;IAC/C,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,UAAU,KAAK,CAAC,IAAI,sBAAsB,KAAK,CAAC,KAAK,yEAAyE;aACvI,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,UAAU,KAAK,CAAC,IAAI,sBAAsB,KAAK,CAAC,KAAK,oGAAoG;aAClK,CAAC;QACJ,CAAC;QACD,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,EAAE,QAAQ;QACtC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;QAChE,CAAC,CAAC,aAAa,CAAC;IAElB,0EAA0E;IAC1E,sCAAsC;IACtC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;IAClC,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QACtF,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,4BAA4B,YAAY,gCAAgC;SACjF,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,YAAY,KAAK,MAAM,CAAC;IAC9C,IAAI,kBAAkB,GAAG,cAAc,CAAC;IACxC,IAAI,kBAA8C,CAAC;IACnD,IAAI,WAAW,GAAG,MAAM,CAAC;IACzB,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EACJ,4JAA4J;aAC/J,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACnC,cAAc,EAAE,YAAY,CAAC,KAAK;YAClC,iBAAiB,EAAE,YAAY,CAAC,QAAQ;YACxC,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC,KAAK,CAAC;QACT,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,kBAAkB,GAAG,IAAI,cAAc,CAAC;gBACtC,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,KAAK,EAAE,YAAY,CAAC,KAAK;aAC1B,CAAC,CAAC;QACL,CAAC;QACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAClC,cAAc,EAAE,WAAW,CAAC,KAAK;YACjC,iBAAiB,EAAE,WAAW,CAAC,QAAQ;YACvC,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC,KAAK,CAAC;QACT,IAAI,UAAU,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACjF,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,2EAA2E,UAAU,CAAC,QAAQ,YAAY,UAAU,CAAC,EAAE,kDAAkD,WAAW,CAAC,QAAQ,qHAAqH;aAC3T,CAAC;QACJ,CAAC;QACD,kBAAkB,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC7E,WAAW,GAAG,kBAAkB,CAAC,MAAM,EAAE,aAAa,KAAK,UAAU,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClF,MAAM,YAAY,GAAG,UAAU;aAC5B,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;aAC1E,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QACxD,MAAM,QAAQ,GACZ,cAAc,CAAC,GAAG,UAAU,KAAK,YAAY,KAAK,aAAa,KAAK,WAAW,EAAE,CAAC;YAClF,0BAA0B,CAAC;QAC7B,MAAM,MAAM,GACV,IAAI,CAAC,oBAAoB;YACzB,CAAC,UAAU,CAAC,aAAa;gBACvB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,GAAG,oBAAoB,CAAC;gBAC7D,CAAC,CAAC,yBAAyB,CAAC,CAAC;QACjC,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC;YACtB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,kBAAkB,QAAQ,sDAAsD,MAAM,sBAAsB,UAAU,CAAC,EAAE,gIAAgI;aAClQ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,IAAI,cAA+C,CAAC;IACpD,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,aAAa,EAAE,CAAC;gBAC/B,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,4CAA4C,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,wEAAwE;iBAClJ,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,cAAc,EAAE,IAAI,CAAC;IAEzC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,IAAI,SAAS,CAAC;IAC3C,MAAM,YAAY,GAChB,WAAW,KAAK,MAAM;QACpB,CAAC,CAAC,EAAE,SAAS,EAAE;QACf,CAAC,CAAC,WAAW,KAAK,UAAU;YAC1B,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE;YAC5B,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;IAEpD,uDAAuD;IACvD,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpD,UAAU,CAAC,QAAQ,CACjB,aAAa,CAAC;YACZ,QAAQ,EAAE,IAAI,CAAC,WAAW;YAC1B,OAAO,EAAE,eAAe;YACxB,SAAS;YACT,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,UAAU,EAAE,WAAW,IAAI,IAAI,CAAC,aAAa;YAC7C,WAAW;YACX,YAAY,EAAE,IAAI,CAAC,sBAAsB;SAC1C,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,kBAAkB,IAAI,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC;QAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,QAAQ,EAAE,gBAAgB;QAC1B,wEAAwE;QACxE,kEAAkE;QAClE,eAAe,EAAE,KAAK;QACtB,sBAAsB,EAAE,IAAI;QAC5B,uBAAuB,EAAE,IAAI;QAC7B,YAAY;QACZ,kBAAkB,EAAE,KAAK,EAAE,YAAY;QACvC,SAAS,EAAE,kBAAkB;QAC7B,WAAW;KACZ,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM;QACN,SAAS;QACT,YAAY;QACZ,WAAW;QACX,cAAc;QACd,eAAe;QACf,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAkB,EAClB,IAA0B,EAC1B,aAAqB,EACrB,cAA2B;IAE3B,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;IAC7F,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IACvF,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvD,MAAM,OAAO,GAAsB;QACjC,OAAO;QACP,SAAS;QACT,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAA2B,EAAE;YAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE;oBACnE,cAAc,EAAE,KAAK;iBACtB,CAAC,CAAC;gBACH,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,8CAA8C;oBAC1E,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE;iBACnE,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;gBAC7F,CAAC;gBACD,MAAM,GAAG,GACP,CAAC,YAAY,QAAQ;oBACnB,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE;oBAC3C,CAAC,CAAC,kBAAmB,CAAW,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;YACtE,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,KAAK,IAAiC,EAAE;YAChD,uEAAuE;YACvE,yEAAyE;YACzE,OAAO,sBAAsB,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACtF,CAAC;QACD,QAAQ,EAAE,KAAK;KAChB,CAAC;IACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAkB;IAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC5B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CAAC,EAC/C,uBAAuB,CACxB,CAAC;IAEF,MAAM,eAAe,GACnB,+uBAA+uB,CAAC;IAElvB,oEAAoE;IACpE,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,MAAM,QAAQ,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,MAAM,WAAW,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI;QAC3C,CAAC,CAAC,GAAG,eAAe,OAAO,QAAQ,CAAC,IAAI,EAAE;QAC1C,CAAC,CAAC,eAAe,CAAC;IAEpB,yEAAyE;IACzE,qEAAqE;IACrE,uEAAuE;IACvE,wEAAwE;IACxE,+DAA+D;IAC/D,MAAM,UAAU,GAA+B;QAC7C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uIAAuI;SACrJ;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kVAAkV;SAChW;KACF,CAAC;IACF,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAChC,UAAU,CAAC,eAAe,CAAC,GAAG;YAC5B,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,8IAA8I;SACjJ,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,UAAU,CAAC,mBAAmB,CAAC,GAAG;YAChC,IAAI,EAAE,SAAS;YACf,WAAW,EACT,yXAAyX;SAC5X,CAAC;IACJ,CAAC;IACD,4CAA4C;IAC5C,UAAU,CAAC,WAAW,CAAC,GAAG;QACxB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;QAC1B,WAAW,EACT,qRAAqR;KACxR,CAAC;IACF,sEAAsE;IACtE,yEAAyE;IACzE,UAAU,CAAC,SAAS,CAAC,GAAG;QACtB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,WAAW,EACT,ieAAie;KACpe,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW;QACX,QAAQ,EAAE,aAAa;QACvB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU;YACV,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YACrE,oEAAoE;YACpE,kEAAkE;YAClE,kDAAkD;YAClD,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;gBAClD,CAAC,CAAC,YAAY,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,KAAK,CAAC,GAAG;gBACtE,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7E,gEAAgE;YAChE,qEAAqE;YACrE,uEAAuE;YACvE,oEAAoE;YACpE,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,MAAM,EAAE,CAAC;gBAC9C,IAAI,CAAC;oBACH,MAAM,YAAY,GAChB,OAAO,IAAI,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;oBACvD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBACtC,cAAc,EAAE,YAAY,CAAC,KAAK;wBAClC,iBAAiB,EAAE,YAAY,CAAC,QAAQ;wBACxC,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAClB,MAAM,UAAU,GAAG,CACjB,YAAY;wBACV,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;wBACtE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;4BACf,cAAc,EAAE,YAAY,CAAC,KAAK;4BAClC,iBAAiB,EAAE,YAAY,CAAC,QAAQ;4BACxC,UAAU,EAAE,IAAI;yBACjB,CAAC,CACP,CAAC,KAAK,CAAC;oBACR,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,KAAK,cAAc,CAAC;oBACvD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa;wBAChC,CAAC,CAAC,KAAK,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK;wBACnD,CAAC,CAAC,EAAE,CAAC;oBACP,QAAQ,GAAG,0BAA0B,OAAO,MAAM,UAAU,CAAC,EAAE,IAAI,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;gBACvI,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,GAAG,0BAA0B,CAAC;gBACxC,CAAC;YACH,CAAC;YACD,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,WAAW,GAAG,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;YACrB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAE,CAAC;YAC7C,yEAAyE;YACzE,2EAA2E;YAC3E,MAAM,cAAc,GAClB,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,KAAK,IAAI,CAAC;YAEpF,yEAAyE;YACzE,wEAAwE;YACxE,uEAAuE;YACvE,qEAAqE;YACrE,mEAAmE;YACnE,kEAAkE;YAClE,wEAAwE;YACxE,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAClC,IAAI,EACJ;gBACE,MAAM;gBACN,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC;gBAClD,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC;gBAC3C,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC;aACxC,EACD,aAAa,EACb,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EACpC,GAAG,CAAC,MAAM,CACX,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,GACtF,KAAK,CAAC;YACR,MAAM,WAAW,GAAG,cAAc,EAAE,IAAI,CAAC;YACzC,wEAAwE;YACxE,oEAAoE;YACpE,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;YAErE,IAAI,cAAc,EAAE,CAAC;gBACnB,yDAAyD;gBACzD,uEAAuE;gBACvE,uEAAuE;gBACvE,uEAAuE;gBACvE,sEAAsE;gBACtE,0DAA0D;gBAC1D,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,eAAgB,CAAC,MAAM,CAAC;wBAC1C,IAAI,EAAE,SAAS;wBACf,MAAM;wBACN,mEAAmE;wBACnE,kEAAkE;wBAClE,+DAA+D;wBAC/D,wCAAwC;wBACxC,GAAG,CAAC,cAAc;4BAChB,CAAC,CAAC;gCACE,QAAQ,EAAE;oCACR,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC;oCACzE,MAAM,EAAE,cAAc,CAAC,MAAM;iCAC9B;6BACF;4BACH,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,EAAE,KAAK,EAAE,MAAM,EAA2B,EAAE;4BAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BAC7B,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;4BAC3C,IAAI,CAAC;gCACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE;oCAC3D,cAAc,EAAE,KAAK;iCACtB,CAAC,CAAC;gCACH,iEAAiE;gCACjE,iEAAiE;gCACjE,6CAA6C;gCAC7C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oCACnB,IAAI,cAAc;wCAAE,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;oCACnD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;gCACvF,CAAC;gCACD,MAAM,SAAS,GACb,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,gDAAgD,CAAC;gCACzE,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,cAAc,EACd,IAAI,CAAC,aAAa,EAClB,SAAS,EACT,gBAAgB,CACjB,CAAC;gCACF,OAAO;oCACL,EAAE,EAAE,IAAI;oCACR,IAAI,EAAE,OAAO;oCACb,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oCAClC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE;iCACnE,CAAC;4BACJ,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,IAAI,cAAc;oCAAE,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;gCACnD,IAAI,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS,EAAE,CAAC;oCAC5D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;gCACvF,CAAC;gCACD,MAAM,GAAG,GACP,CAAC,YAAY,QAAQ;oCACnB,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE;oCAC7C,CAAC,CAAC,oBAAqB,CAAW,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC9D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;4BACtE,CAAC;oCAAS,CAAC;gCACT,oDAAoD;gCACpD,gEAAgE;gCAChE,+CAA+C;gCAC/C,MAAM,aAAa,EAAE,CAAC;4BACxB,CAAC;wBACH,CAAC;qBACF,CAAC,CAAC;oBACH,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;oBACrC,MAAM,IAAI,GAAG;wBACX,iCAAiC,MAAM,CAAC,MAAM,SAAS,SAAS,EAAE;wBAClE,GAAG,CAAC,WAAW,IAAI,cAAc;4BAC/B,CAAC,CAAC,CAAC,2BAA2B,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,WAAW,cAAc,CAAC,MAAM,EAAE,CAAC;4BACzI,CAAC,CAAC,EAAE,CAAC;wBACP,EAAE;wBACF,+IAA+I;qBAChJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACb,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACpC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,+DAA+D;oBAC/D,IAAI,cAAc;wBAAE,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;oBACnD,IAAI,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;wBACvD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC1C,CAAC;oBACD,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,IAAI,cAAc;wBAAE,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;oBACnD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,8CAA8C,EAAE,CAAC;gBAC/E,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,cAAc,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,gBAAgB,CACjB,CAAC;gBACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YACvC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,cAAc;oBAAE,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;gBACnD,IAAI,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS;oBAAE,MAAM,CAAC,CAAC;gBACrE,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;oBAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5E,CAAC;gBACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAqB,CAAW,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACxF,CAAC;oBAAS,CAAC;gBACT,MAAM,aAAa,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;mEAEmE;AACnE,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;wEAEwE;AACxE,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,OAAO,CACL,QAAQ,KAAK,WAAW;QACxB,QAAQ,KAAK,aAAa;QAC1B,QAAQ,KAAK,cAAc;QAC3B,QAAQ,KAAK,QAAQ,CACtB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAuC,EACvC,eAAuB,EACvB,IAAY,EACZ,gBAAwB;IAExB,OAAO,gBAAgB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAuC,EACvC,eAAuB,EACvB,IAAY,EACZ,gBAAwB;IAExB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,CAAC;QACH,eAAe,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,eAAe,GAAG,CAAC,CAAC;IAE/E,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC;IACtE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,WAAW;QAAE,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACpE,IAAI,eAAe,GAAG,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,iBAAiB,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC;IAC/E,IAAI,WAAW,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG;QACb,uBAAuB,OAAO,cAAc,MAAM,CAAC,MAAM,GAAG;QAC5D,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC/B,gBAAgB,GAAG,CAAC;YAClB,CAAC,CAAC,YAAY,gBAAgB,+EAA+E;YAC7G,CAAC,CAAC,IAAI;KACT;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,GAAG,MAAM,OAAO,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,CAAS;IACpD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,GAAG,IAAI,gBAAgB,CAAC,+EAA+E,CAAC;AACjH,CAAC;AAED;;;;yEAIyE;AACzE,SAAS,iBAAiB,CAAC,IAAkB,EAAE,YAAoB;IACjE,OAAO,KAAK,IAAmB,EAAE;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAC/E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,YAAY,YAAY,KAAK,SAAS,CAAC,MAAM,2CAA2C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACxH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,oBAAoB,YAAY,aAAc,CAAW,CAAC,OAAO,IAAI,CAAC,EAAE;aAClF,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;+EAI+E;AAC/E,KAAK,UAAU,sBAAsB,CACnC,MAAuC,EACvC,eAAuB,EACvB,gBAAwB;IAExB,MAAM,SAAS,GACb,gBAAgB,GAAG,CAAC;QAClB,CAAC,CAAC,YAAY,gBAAgB,6EAA6E;QAC3G,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,CAAC;QACH,eAAe,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,eAAe,GAAG,CAAC,CAAC;IAC/E,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC;IACtE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,WAAW;QAAE,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACpE,IAAI,eAAe,GAAG,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,iBAAiB,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC;IAC/E,IAAI,WAAW,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IACjF,OAAO;QACL,uBAAuB,OAAO,cAAc,MAAM,CAAC,MAAM,GAAG;QAC5D,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC/B,SAAS;KACV;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;8EAE8E;AAC9E,SAAS,OAAO,CAAC,IAAe,EAAE,GAAW;IAC3C,MAAM,CAAC,GAAI,IAAkC,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO,CAAC,KAAK,IAAI,CAAC;AACpB,CAAC;AAED,wEAAwE;AACxE,SAAS,wBAAwB,CAAC,KAAqB;IACrD,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,GAAG,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC;AACtE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ApplyResult, Edit } from "./types.js";
2
+ /**
3
+ * Apply a parsed list of edits to a text body. Pure function — no I/O.
4
+ *
5
+ * Returns the post-edit text and the first changed line number (1-indexed).
6
+ * Throws if an anchor is out of bounds.
7
+ */
8
+ export declare function applyEdits(text: string, edits: readonly Edit[]): ApplyResult;
9
+ //# sourceMappingURL=apply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/hashline/apply.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAU,WAAW,EAAU,IAAI,EAAE,MAAM,YAAY,CAAC;AA8dpE;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,WAAW,CAgG5E"}
@@ -0,0 +1,523 @@
1
+ /**
2
+ * Apply a parsed list of {@link Edit}s to a text body and return the
3
+ * post-edit lines plus any diagnostic warnings. Pure function: no FS, no
4
+ * mutation of the input. Ported from oh-my-pi `packages/hashline/src/apply.ts`.
5
+ *
6
+ * Replacement groups are first normalized by {@link repairReplacementBoundaries},
7
+ * which absorbs common model mistakes where a payload restates unchanged range
8
+ * boundaries or duplicates/drops structural closers (the "model #1 editing
9
+ * defect" the 7.9 task calls out).
10
+ */
11
+ import { formatNearestAnchors } from "./format.js";
12
+ import { UNRESOLVED_BLOCK_INTERNAL } from "./messages.js";
13
+ import { cloneCursor } from "./tokenizer.js";
14
+ function isReplacementInsert(edit) {
15
+ return edit.kind === "insert" && edit.mode === "replacement";
16
+ }
17
+ function getCursorAnchors(cursor) {
18
+ return cursor.kind === "before_anchor" || cursor.kind === "after_anchor" ? [cursor.anchor] : [];
19
+ }
20
+ function getEditAnchors(edit) {
21
+ if (edit.kind === "delete")
22
+ return [edit.anchor];
23
+ return getCursorAnchors(edit.cursor);
24
+ }
25
+ /**
26
+ * Verify every anchored edit points at an existing line. File-version binding is
27
+ * checked once per section via the header hash before this function runs.
28
+ */
29
+ function validateLineBounds(edits, fileLines) {
30
+ for (const edit of edits) {
31
+ for (const anchor of getEditAnchors(edit)) {
32
+ if (anchor.line < 1 || anchor.line > fileLines.length) {
33
+ throw new Error(`Line ${anchor.line} does not exist (file has ${fileLines.length} lines).` +
34
+ formatNearestAnchors(fileLines, anchor.line));
35
+ }
36
+ }
37
+ }
38
+ }
39
+ function cloneAppliedEdit(edit, index) {
40
+ if (edit.kind === "delete")
41
+ return { ...edit, anchor: { ...edit.anchor }, index };
42
+ return { ...edit, cursor: cloneCursor(edit.cursor), index };
43
+ }
44
+ function insertAtStart(fileLines, lineOrigins, lines) {
45
+ if (lines.length === 0)
46
+ return;
47
+ const origins = lines.map(() => "insert");
48
+ if (fileLines.length === 1 && fileLines[0] === "") {
49
+ fileLines.splice(0, 1, ...lines);
50
+ lineOrigins.splice(0, 1, ...origins);
51
+ return;
52
+ }
53
+ fileLines.splice(0, 0, ...lines);
54
+ lineOrigins.splice(0, 0, ...origins);
55
+ }
56
+ function insertAtEnd(fileLines, lineOrigins, lines) {
57
+ if (lines.length === 0)
58
+ return undefined;
59
+ const origins = lines.map(() => "insert");
60
+ if (fileLines.length === 1 && fileLines[0] === "") {
61
+ fileLines.splice(0, 1, ...lines);
62
+ lineOrigins.splice(0, 1, ...origins);
63
+ return 1;
64
+ }
65
+ const hasTrailingNewline = fileLines.length > 0 && fileLines[fileLines.length - 1] === "";
66
+ const insertIndex = hasTrailingNewline ? fileLines.length - 1 : fileLines.length;
67
+ fileLines.splice(insertIndex, 0, ...lines);
68
+ lineOrigins.splice(insertIndex, 0, ...origins);
69
+ return insertIndex + 1;
70
+ }
71
+ function bucketAnchorEditsByLine(edits) {
72
+ const byLine = new Map();
73
+ for (const entry of edits) {
74
+ const line = entry.edit.kind === "delete"
75
+ ? entry.edit.anchor.line
76
+ : entry.edit.cursor.kind === "before_anchor" || entry.edit.cursor.kind === "after_anchor"
77
+ ? entry.edit.cursor.anchor.line
78
+ : 0;
79
+ const bucket = byLine.get(line);
80
+ if (bucket)
81
+ bucket.push(entry);
82
+ else
83
+ byLine.set(line, [entry]);
84
+ }
85
+ return byLine;
86
+ }
87
+ // ═══════════════════════════════════════════════════════════════════════════
88
+ // Replacement-boundary repair
89
+ //
90
+ // Models routinely miscount a replacement range's edges. Sometimes the payload
91
+ // re-states unchanged lines that still live on both sides of the range
92
+ // (duplicating a function header and final statement); sometimes it only
93
+ // re-states or omits a structural closer, which leaves delimiter balance broken.
94
+ //
95
+ // A balance-neutral boundary-echo repair fires only when both the leading and
96
+ // trailing payload edges are exact copies of the surviving lines outside the
97
+ // range. One-sided content echoes are left alone unless delimiter-balance repair
98
+ // proves they are duplicated structural boundaries. This preserves intended
99
+ // duplicate statements while absorbing the common "body includes the unchanged
100
+ // wrapper" mistake.
101
+ /** A line that is nothing but closing delimiters: `}`, `)`, `];`, `})`, `},`. */
102
+ const STRUCTURAL_CLOSER_RE = /^\s*[)\]}]+[;,]?\s*$/;
103
+ /**
104
+ * Net `()` / `[]` / `{}` delta across `lines`, skipping delimiters inside line
105
+ * comments (`//`), block comments, and string/template literals. Block-comment
106
+ * and backtick-template state carry across lines; `"` / `'` reset at EOL since
107
+ * they cannot span lines. Deliberately language-light: constructs it cannot
108
+ * classify (e.g. regex literals) are counted naively, which can only suppress a
109
+ * repair (the safe direction), never force one.
110
+ */
111
+ function computeDelimiterBalance(lines) {
112
+ const balance = { paren: 0, bracket: 0, brace: 0 };
113
+ let inBlockComment = false;
114
+ let quote = "";
115
+ for (const line of lines) {
116
+ for (let i = 0; i < line.length; i++) {
117
+ const ch = line[i];
118
+ if (inBlockComment) {
119
+ if (ch === "*" && line[i + 1] === "/") {
120
+ inBlockComment = false;
121
+ i++;
122
+ }
123
+ continue;
124
+ }
125
+ if (quote) {
126
+ if (ch === "\\")
127
+ i++;
128
+ else if (ch === quote)
129
+ quote = "";
130
+ continue;
131
+ }
132
+ if (ch === '"' || ch === "'" || ch === "`") {
133
+ quote = ch;
134
+ continue;
135
+ }
136
+ if (ch === "/" && line[i + 1] === "/")
137
+ break;
138
+ if (ch === "/" && line[i + 1] === "*") {
139
+ inBlockComment = true;
140
+ i++;
141
+ continue;
142
+ }
143
+ switch (ch) {
144
+ case "(":
145
+ balance.paren++;
146
+ break;
147
+ case ")":
148
+ balance.paren--;
149
+ break;
150
+ case "[":
151
+ balance.bracket++;
152
+ break;
153
+ case "]":
154
+ balance.bracket--;
155
+ break;
156
+ case "{":
157
+ balance.brace++;
158
+ break;
159
+ case "}":
160
+ balance.brace--;
161
+ break;
162
+ }
163
+ }
164
+ // `"` / `'` cannot span lines; only backtick templates and block comments do.
165
+ if (quote === '"' || quote === "'")
166
+ quote = "";
167
+ }
168
+ return balance;
169
+ }
170
+ function balanceDelta(a, b) {
171
+ return { paren: a.paren - b.paren, bracket: a.bracket - b.bracket, brace: a.brace - b.brace };
172
+ }
173
+ function balanceNegate(a) {
174
+ return { paren: -a.paren, bracket: -a.bracket, brace: -a.brace };
175
+ }
176
+ function balanceEqual(a, b) {
177
+ return a.paren === b.paren && a.bracket === b.bracket && a.brace === b.brace;
178
+ }
179
+ function balanceIsZero(a) {
180
+ return a.paren === 0 && a.bracket === 0 && a.brace === 0;
181
+ }
182
+ /**
183
+ * Detect a replacement group starting at `start`: a run of `before_anchor`
184
+ * replacement inserts sharing one source op line, immediately followed by the
185
+ * contiguous range deletes for that same op. Mirrors how the parser lowers an
186
+ * `replace N..M:` hunk with a body.
187
+ */
188
+ function findReplacementGroup(edits, start) {
189
+ const first = edits[start];
190
+ if (first?.kind !== "insert" || first.mode !== "replacement" || first.cursor.kind !== "before_anchor") {
191
+ return undefined;
192
+ }
193
+ const { lineNum } = first;
194
+ const anchorLine = first.cursor.anchor.line;
195
+ const insertIndices = [];
196
+ const payload = [];
197
+ let i = start;
198
+ for (; i < edits.length; i++) {
199
+ const edit = edits[i];
200
+ if (!edit || edit.kind !== "insert" || edit.mode !== "replacement" || edit.lineNum !== lineNum)
201
+ break;
202
+ if (edit.cursor.kind !== "before_anchor" || edit.cursor.anchor.line !== anchorLine)
203
+ break;
204
+ insertIndices.push(i);
205
+ payload.push(edit.text);
206
+ }
207
+ const deleteIndices = [];
208
+ let expectedLine = anchorLine;
209
+ for (; i < edits.length; i++) {
210
+ const edit = edits[i];
211
+ if (!edit || edit.kind !== "delete" || edit.lineNum !== lineNum || edit.anchor.line !== expectedLine)
212
+ break;
213
+ deleteIndices.push(i);
214
+ expectedLine++;
215
+ }
216
+ if (deleteIndices.length === 0)
217
+ return undefined;
218
+ return {
219
+ insertIndices,
220
+ deleteIndices,
221
+ payload,
222
+ startLine: anchorLine,
223
+ endLine: anchorLine + deleteIndices.length - 1,
224
+ };
225
+ }
226
+ /**
227
+ * Largest `k` such that the payload's last `k` lines exactly equal the `k`
228
+ * surviving file lines just below the range AND dropping them zeroes `delta`.
229
+ * Requires a non-zero `delta`: a zero-balance candidate can never account for
230
+ * the imbalance, so intentional duplicates of ordinary statements stay intact,
231
+ * while duplicated structural lines (closers like `});`, openers like `foo(`)
232
+ * are dropped when they exactly explain the imbalance.
233
+ */
234
+ function findDuplicateSuffix(group, fileLines, delta) {
235
+ if (balanceIsZero(delta))
236
+ return 0;
237
+ const { payload, endLine } = group;
238
+ const maxK = Math.min(payload.length, fileLines.length - endLine);
239
+ for (let k = maxK; k >= 1; k--) {
240
+ let matches = true;
241
+ for (let t = 0; t < k; t++) {
242
+ if (payload[payload.length - k + t] !== fileLines[endLine + t]) {
243
+ matches = false;
244
+ break;
245
+ }
246
+ }
247
+ if (!matches)
248
+ continue;
249
+ if (balanceEqual(computeDelimiterBalance(payload.slice(payload.length - k)), delta))
250
+ return k;
251
+ }
252
+ return 0;
253
+ }
254
+ /**
255
+ * Largest `j` such that the payload's first `j` lines exactly equal the `j`
256
+ * surviving file lines just above the range AND dropping them zeroes `delta`.
257
+ * Requires a non-zero `delta`; see {@link findDuplicateSuffix}.
258
+ */
259
+ function findDuplicatePrefix(group, fileLines, delta) {
260
+ if (balanceIsZero(delta))
261
+ return 0;
262
+ const { payload, startLine } = group;
263
+ const maxJ = Math.min(payload.length, startLine - 1);
264
+ for (let j = maxJ; j >= 1; j--) {
265
+ let matches = true;
266
+ for (let t = 0; t < j; t++) {
267
+ if (payload[t] !== fileLines[startLine - 1 - j + t]) {
268
+ matches = false;
269
+ break;
270
+ }
271
+ }
272
+ if (!matches)
273
+ continue;
274
+ if (balanceEqual(computeDelimiterBalance(payload.slice(0, j)), delta))
275
+ return j;
276
+ }
277
+ return 0;
278
+ }
279
+ /**
280
+ * Smallest `m` such that the range's last `m` deleted lines are all pure
281
+ * structural closers and sparing them (keeping instead of deleting) zeroes
282
+ * `delta`. The mirror mistake: a range that swallows a closing delimiter the
283
+ * payload never restates.
284
+ */
285
+ function findDroppedSuffixClosers(group, fileLines, delta) {
286
+ const wanted = balanceNegate(delta);
287
+ const maxM = group.deleteIndices.length;
288
+ for (let m = 1; m <= maxM; m++) {
289
+ if (!STRUCTURAL_CLOSER_RE.test(fileLines[group.endLine - m] ?? ""))
290
+ break;
291
+ if (balanceEqual(computeDelimiterBalance(fileLines.slice(group.endLine - m, group.endLine)), wanted))
292
+ return m;
293
+ }
294
+ return 0;
295
+ }
296
+ function hasNonWhitespace(text) {
297
+ for (let i = 0; i < text.length; i++) {
298
+ const code = text.charCodeAt(i);
299
+ if (code !== 9 && code !== 10 && code !== 11 && code !== 12 && code !== 13 && code !== 32)
300
+ return true;
301
+ }
302
+ return false;
303
+ }
304
+ function countDuplicateLeadingBoundaryLines(group, fileLines) {
305
+ const { payload, startLine } = group;
306
+ const max = Math.min(payload.length, startLine - 1);
307
+ for (let count = max; count >= 1; count--) {
308
+ let matches = true;
309
+ let hasContent = false;
310
+ for (let offset = 0; offset < count; offset++) {
311
+ const line = payload[offset];
312
+ if (line === undefined || line !== fileLines[startLine - 1 - count + offset]) {
313
+ matches = false;
314
+ break;
315
+ }
316
+ hasContent ||= hasNonWhitespace(line);
317
+ }
318
+ if (matches && hasContent)
319
+ return count;
320
+ }
321
+ return 0;
322
+ }
323
+ function countDuplicateTrailingBoundaryLines(group, fileLines) {
324
+ const { payload, endLine } = group;
325
+ const max = Math.min(payload.length, fileLines.length - endLine);
326
+ for (let count = max; count >= 1; count--) {
327
+ let matches = true;
328
+ let hasContent = false;
329
+ for (let offset = 0; offset < count; offset++) {
330
+ const line = payload[payload.length - count + offset];
331
+ if (line === undefined || line !== fileLines[endLine + offset]) {
332
+ matches = false;
333
+ break;
334
+ }
335
+ hasContent ||= hasNonWhitespace(line);
336
+ }
337
+ if (matches && hasContent)
338
+ return count;
339
+ }
340
+ return 0;
341
+ }
342
+ function findBoundaryEcho(group, fileLines) {
343
+ const leadingMax = countDuplicateLeadingBoundaryLines(group, fileLines);
344
+ if (leadingMax === 0)
345
+ return undefined;
346
+ const trailingMax = countDuplicateTrailingBoundaryLines(group, fileLines);
347
+ if (trailingMax === 0)
348
+ return undefined;
349
+ // Bail when every payload line could be claimed by a boundary echo: any
350
+ // repair would strip explicit replacement content with no signal that the
351
+ // payload was a mistake rather than an intentional duplication.
352
+ if (leadingMax + trailingMax >= group.payload.length)
353
+ return undefined;
354
+ return { leading: leadingMax, trailing: trailingMax };
355
+ }
356
+ function describeBoundaryEchoRepair(group, echo) {
357
+ return (`Auto-repaired a replacement boundary echo at line ${group.startLine}: ` +
358
+ `dropped ${echo.leading} leading and ${echo.trailing} trailing payload line(s) already present outside the range. ` +
359
+ `Issue the payload as the final desired content for the selected range only — never restate unchanged lines bordering the range.`);
360
+ }
361
+ function describeBoundaryRepair(group, action) {
362
+ return (`Auto-repaired a delimiter-balance mismatch in the replacement at line ${group.startLine}: ${action}. ` +
363
+ `Issue the payload as the final desired content only — never restate or omit a closing bracket bordering the range.`);
364
+ }
365
+ /**
366
+ * Normalize replacement groups so common off-by-one boundaries do not duplicate
367
+ * unchanged surrounding lines or structural closers. Returns the repaired edit
368
+ * list plus one warning per repaired group.
369
+ */
370
+ function repairReplacementBoundaries(edits, fileLines) {
371
+ const out = [];
372
+ const warnings = [];
373
+ let i = 0;
374
+ while (i < edits.length) {
375
+ const group = findReplacementGroup(edits, i);
376
+ if (!group) {
377
+ // `i < edits.length` guarantees presence; `!` placates noUncheckedIndexedAccess.
378
+ out.push(edits[i]);
379
+ i++;
380
+ continue;
381
+ }
382
+ // Indices originate from `findReplacementGroup`, which only records existing
383
+ // positions — the `!` is safe under noUncheckedIndexedAccess.
384
+ const inserts = group.insertIndices.map((idx) => edits[idx]);
385
+ const deletes = group.deleteIndices.map((idx) => edits[idx]);
386
+ i = group.deleteIndices[group.deleteIndices.length - 1] + 1;
387
+ const boundaryEcho = findBoundaryEcho(group, fileLines);
388
+ if (boundaryEcho) {
389
+ warnings.push(describeBoundaryEchoRepair(group, boundaryEcho));
390
+ out.push(...inserts.slice(boundaryEcho.leading, inserts.length - boundaryEcho.trailing), ...deletes);
391
+ continue;
392
+ }
393
+ const delta = balanceDelta(computeDelimiterBalance(group.payload), computeDelimiterBalance(fileLines.slice(group.startLine - 1, group.endLine)));
394
+ if (balanceIsZero(delta)) {
395
+ out.push(...inserts, ...deletes);
396
+ continue;
397
+ }
398
+ const dupSuffix = findDuplicateSuffix(group, fileLines, delta);
399
+ if (dupSuffix > 0) {
400
+ warnings.push(describeBoundaryRepair(group, `dropped ${dupSuffix} duplicated trailing payload line(s) already present below the range`));
401
+ out.push(...inserts.slice(0, inserts.length - dupSuffix), ...deletes);
402
+ continue;
403
+ }
404
+ const dupPrefix = findDuplicatePrefix(group, fileLines, delta);
405
+ if (dupPrefix > 0) {
406
+ warnings.push(describeBoundaryRepair(group, `dropped ${dupPrefix} duplicated leading payload line(s) already present above the range`));
407
+ out.push(...inserts.slice(dupPrefix), ...deletes);
408
+ continue;
409
+ }
410
+ const droppedClosers = findDroppedSuffixClosers(group, fileLines, delta);
411
+ if (droppedClosers > 0) {
412
+ warnings.push(describeBoundaryRepair(group, `kept ${droppedClosers} structural closing line(s) the range deleted without restating`));
413
+ out.push(...inserts, ...deletes.slice(0, deletes.length - droppedClosers));
414
+ continue;
415
+ }
416
+ out.push(...inserts, ...deletes);
417
+ }
418
+ return { edits: out, warnings };
419
+ }
420
+ /**
421
+ * Apply a parsed list of edits to a text body. Pure function — no I/O.
422
+ *
423
+ * Returns the post-edit text and the first changed line number (1-indexed).
424
+ * Throws if an anchor is out of bounds.
425
+ */
426
+ export function applyEdits(text, edits) {
427
+ if (edits.length === 0)
428
+ return { text, firstChangedLine: undefined };
429
+ // Block edits are deferred until `resolveBlockEdits` expands them into
430
+ // concrete inserts + deletes. Reaching the applier with one still present
431
+ // is an internal wiring bug, not authored-input error.
432
+ for (const edit of edits) {
433
+ if (edit.kind === "block")
434
+ throw new Error(UNRESOLVED_BLOCK_INTERNAL);
435
+ }
436
+ const appliedEdits = edits;
437
+ const fileLines = text.split("\n");
438
+ const lineOrigins = fileLines.map(() => "original");
439
+ let firstChangedLine;
440
+ const trackFirstChanged = (line) => {
441
+ if (firstChangedLine === undefined || line < firstChangedLine)
442
+ firstChangedLine = line;
443
+ };
444
+ const targetEdits = appliedEdits.map((edit, index) => cloneAppliedEdit(edit, index));
445
+ validateLineBounds(targetEdits, fileLines);
446
+ const { edits: repaired, warnings } = repairReplacementBoundaries(targetEdits, fileLines);
447
+ // Partition edits into bof, eof, and anchor-targeted buckets.
448
+ const bofLines = [];
449
+ const eofLines = [];
450
+ const anchorEdits = [];
451
+ repaired.forEach((edit, idx) => {
452
+ if (edit.kind === "insert" && edit.cursor.kind === "bof") {
453
+ bofLines.push(edit.text);
454
+ }
455
+ else if (edit.kind === "insert" && edit.cursor.kind === "eof") {
456
+ eofLines.push(edit.text);
457
+ }
458
+ else {
459
+ anchorEdits.push({ edit, idx });
460
+ }
461
+ });
462
+ // Apply per-line buckets bottom-up so earlier indices stay valid.
463
+ const byLine = bucketAnchorEditsByLine(anchorEdits);
464
+ for (const line of [...byLine.keys()].sort((a, b) => b - a)) {
465
+ const bucket = byLine.get(line);
466
+ if (!bucket)
467
+ continue;
468
+ bucket.sort((a, b) => a.idx - b.idx);
469
+ const idx = line - 1;
470
+ const currentLine = fileLines[idx] ?? "";
471
+ const beforeInsertLines = [];
472
+ const afterInsertLines = [];
473
+ const replacementLines = [];
474
+ let deleteLine = false;
475
+ for (const { edit } of bucket) {
476
+ if (isReplacementInsert(edit)) {
477
+ replacementLines.push(edit.text);
478
+ }
479
+ else if (edit.kind === "insert" && edit.cursor.kind === "after_anchor") {
480
+ afterInsertLines.push(edit.text);
481
+ }
482
+ else if (edit.kind === "insert") {
483
+ beforeInsertLines.push(edit.text);
484
+ }
485
+ else if (edit.kind === "delete") {
486
+ deleteLine = true;
487
+ }
488
+ }
489
+ if (beforeInsertLines.length === 0 &&
490
+ replacementLines.length === 0 &&
491
+ afterInsertLines.length === 0 &&
492
+ !deleteLine)
493
+ continue;
494
+ const replacement = deleteLine
495
+ ? [...beforeInsertLines, ...replacementLines, ...afterInsertLines]
496
+ : [...beforeInsertLines, ...replacementLines, currentLine, ...afterInsertLines];
497
+ const origins = [];
498
+ for (let i = 0; i < beforeInsertLines.length; i++)
499
+ origins.push("insert");
500
+ for (let i = 0; i < replacementLines.length; i++)
501
+ origins.push(deleteLine ? "replacement" : "insert");
502
+ if (!deleteLine)
503
+ origins.push(lineOrigins[idx] ?? "original");
504
+ for (let i = 0; i < afterInsertLines.length; i++)
505
+ origins.push("insert");
506
+ fileLines.splice(idx, 1, ...replacement);
507
+ lineOrigins.splice(idx, 1, ...origins);
508
+ trackFirstChanged(line);
509
+ }
510
+ if (bofLines.length > 0) {
511
+ insertAtStart(fileLines, lineOrigins, bofLines);
512
+ trackFirstChanged(1);
513
+ }
514
+ const eofChangedLine = insertAtEnd(fileLines, lineOrigins, eofLines);
515
+ if (eofChangedLine !== undefined)
516
+ trackFirstChanged(eofChangedLine);
517
+ return {
518
+ text: fileLines.join("\n"),
519
+ firstChangedLine,
520
+ ...(warnings.length > 0 ? { warnings } : {}),
521
+ };
522
+ }
523
+ //# sourceMappingURL=apply.js.map