@sean.holung/minicode 0.3.11 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/README.md +5 -3
  2. package/dist/scripts/run-benchmarks.js +7 -1
  3. package/dist/src/benchmark/runner.js +66 -3
  4. package/dist/src/cli/benchmark-run.js +1 -1
  5. package/dist/src/index.js +1 -1
  6. package/dist/src/indexer/code-map.js +16 -1
  7. package/dist/src/serve/agent-bridge.js +1 -1
  8. package/dist/src/session/session-store.js +1 -1
  9. package/dist/src/shared/symbol-resolution.js +24 -3
  10. package/dist/src/tools/find-path.js +1 -1
  11. package/dist/src/tools/find-references.js +1 -1
  12. package/dist/src/tools/get-dependencies.js +1 -1
  13. package/dist/src/tools/post-edit-diagnostics.js +185 -0
  14. package/dist/src/tools/read-symbol.js +2 -2
  15. package/dist/src/tools/registry.js +18 -3
  16. package/dist/src/tools/search-code-map.js +101 -9
  17. package/dist/src/ui/cli-ink.js +1 -1
  18. package/dist/src/web/app.js +1 -1
  19. package/dist/src/web/favicon.ico +0 -0
  20. package/dist/src/web/favicon.svg +9 -0
  21. package/dist/src/web/index.html +2 -0
  22. package/dist/tests/agent.test.js +1 -1
  23. package/dist/tests/context-indicator.test.js +1 -1
  24. package/dist/tests/file-tools.test.js +2 -2
  25. package/dist/tests/focus-tracker.test.js +1 -1
  26. package/dist/tests/graph-onboarding.test.js +20 -0
  27. package/dist/tests/guardrails.test.js +1 -1
  28. package/dist/tests/indexer.test.js +59 -28
  29. package/dist/tests/model-client-openai.test.js +4 -3
  30. package/dist/tests/model-selection.test.js +1 -1
  31. package/dist/tests/package-metadata.test.js +9 -0
  32. package/dist/tests/python-plugin.test.js +3 -3
  33. package/dist/tests/read-symbol.test.js +84 -10
  34. package/dist/tests/reasoning-effort.test.js +1 -1
  35. package/dist/tests/search-code-map.test.js +132 -1
  36. package/dist/tests/serve.integration.test.js +1 -1
  37. package/dist/tests/session-store.test.js +1 -1
  38. package/dist/tests/session.test.js +1 -1
  39. package/dist/tests/symbol-resolution.test.js +57 -0
  40. package/dist/tests/system-prompt.test.js +1 -1
  41. package/dist/tests/tool-registry.test.js +1 -1
  42. package/node_modules/@sean.holung/minicode-sdk/LICENSE +201 -0
  43. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/README.md +43 -22
  44. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/agent/agent.d.ts +10 -1
  45. package/node_modules/@sean.holung/minicode-sdk/dist/src/agent/agent.d.ts.map +1 -0
  46. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/agent/agent.js +33 -10
  47. package/node_modules/@sean.holung/minicode-sdk/dist/src/agent/agent.js.map +1 -0
  48. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/index.d.ts +1 -1
  49. package/node_modules/@sean.holung/minicode-sdk/dist/src/index.d.ts.map +1 -0
  50. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/index.js +1 -1
  51. package/node_modules/@sean.holung/minicode-sdk/dist/src/index.js.map +1 -0
  52. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/mcp/client-registry.js +1 -1
  53. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/mcp/client-registry.js.map +1 -1
  54. package/node_modules/@sean.holung/minicode-sdk/dist/src/model/client.d.ts.map +1 -0
  55. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/model/client.js +73 -5
  56. package/node_modules/@sean.holung/minicode-sdk/dist/src/model/client.js.map +1 -0
  57. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/prompt/system-prompt.d.ts.map +1 -1
  58. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/prompt/system-prompt.js +1 -1
  59. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/prompt/system-prompt.js.map +1 -1
  60. package/node_modules/@sean.holung/minicode-sdk/dist/src/tools/edit-file-replacers.d.ts +59 -0
  61. package/node_modules/@sean.holung/minicode-sdk/dist/src/tools/edit-file-replacers.d.ts.map +1 -0
  62. package/node_modules/@sean.holung/minicode-sdk/dist/src/tools/edit-file-replacers.js +392 -0
  63. package/node_modules/@sean.holung/minicode-sdk/dist/src/tools/edit-file-replacers.js.map +1 -0
  64. package/node_modules/@sean.holung/minicode-sdk/dist/src/tools/edit-file.d.ts +19 -0
  65. package/node_modules/@sean.holung/minicode-sdk/dist/src/tools/edit-file.d.ts.map +1 -0
  66. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/edit-file.js +14 -25
  67. package/node_modules/@sean.holung/minicode-sdk/dist/src/tools/edit-file.js.map +1 -0
  68. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/read-file.d.ts.map +1 -1
  69. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/read-file.js +11 -5
  70. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/read-file.js.map +1 -1
  71. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/run-command.d.ts.map +1 -1
  72. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/run-command.js +3 -0
  73. package/node_modules/@sean.holung/minicode-sdk/dist/src/tools/run-command.js.map +1 -0
  74. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/search.d.ts.map +1 -1
  75. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/search.js +52 -25
  76. package/node_modules/@sean.holung/minicode-sdk/dist/src/tools/search.js.map +1 -0
  77. package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/package.json +6 -2
  78. package/node_modules/minicode-plugin-python/dist/src/index.d.ts +1 -1
  79. package/node_modules/minicode-plugin-python/dist/src/index.d.ts.map +1 -1
  80. package/node_modules/minicode-plugin-python/dist/tsconfig.tsbuildinfo +1 -1
  81. package/node_modules/minicode-plugin-python/package.json +2 -2
  82. package/package.json +4 -3
  83. package/node_modules/@minicode/agent-sdk/dist/src/agent/agent.d.ts.map +0 -1
  84. package/node_modules/@minicode/agent-sdk/dist/src/agent/agent.js.map +0 -1
  85. package/node_modules/@minicode/agent-sdk/dist/src/index.d.ts.map +0 -1
  86. package/node_modules/@minicode/agent-sdk/dist/src/index.js.map +0 -1
  87. package/node_modules/@minicode/agent-sdk/dist/src/model/client.d.ts.map +0 -1
  88. package/node_modules/@minicode/agent-sdk/dist/src/model/client.js.map +0 -1
  89. package/node_modules/@minicode/agent-sdk/dist/src/tools/edit-file.d.ts +0 -13
  90. package/node_modules/@minicode/agent-sdk/dist/src/tools/edit-file.d.ts.map +0 -1
  91. package/node_modules/@minicode/agent-sdk/dist/src/tools/edit-file.js.map +0 -1
  92. package/node_modules/@minicode/agent-sdk/dist/src/tools/run-command.js.map +0 -1
  93. package/node_modules/@minicode/agent-sdk/dist/src/tools/search.js.map +0 -1
  94. package/node_modules/@minicode/agent-sdk/dist/tests/agent.test.d.ts +0 -2
  95. package/node_modules/@minicode/agent-sdk/dist/tests/agent.test.d.ts.map +0 -1
  96. package/node_modules/@minicode/agent-sdk/dist/tests/agent.test.js +0 -569
  97. package/node_modules/@minicode/agent-sdk/dist/tests/agent.test.js.map +0 -1
  98. package/node_modules/@minicode/agent-sdk/dist/tests/file-tools.test.d.ts +0 -2
  99. package/node_modules/@minicode/agent-sdk/dist/tests/file-tools.test.d.ts.map +0 -1
  100. package/node_modules/@minicode/agent-sdk/dist/tests/file-tools.test.js +0 -131
  101. package/node_modules/@minicode/agent-sdk/dist/tests/file-tools.test.js.map +0 -1
  102. package/node_modules/@minicode/agent-sdk/dist/tests/guardrails.test.d.ts +0 -2
  103. package/node_modules/@minicode/agent-sdk/dist/tests/guardrails.test.d.ts.map +0 -1
  104. package/node_modules/@minicode/agent-sdk/dist/tests/guardrails.test.js +0 -54
  105. package/node_modules/@minicode/agent-sdk/dist/tests/guardrails.test.js.map +0 -1
  106. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.integration.test.d.ts +0 -2
  107. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.integration.test.d.ts.map +0 -1
  108. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.integration.test.js +0 -64
  109. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.integration.test.js.map +0 -1
  110. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.test.d.ts +0 -2
  111. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.test.d.ts.map +0 -1
  112. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.test.js +0 -350
  113. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.test.js.map +0 -1
  114. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-anthropic-structured-output.test.d.ts +0 -2
  115. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-anthropic-structured-output.test.d.ts.map +0 -1
  116. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-anthropic-structured-output.test.js +0 -211
  117. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-anthropic-structured-output.test.js.map +0 -1
  118. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-openai.test.d.ts +0 -2
  119. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-openai.test.d.ts.map +0 -1
  120. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-openai.test.js +0 -330
  121. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-openai.test.js.map +0 -1
  122. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-structured-output.test.d.ts +0 -2
  123. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-structured-output.test.d.ts.map +0 -1
  124. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-structured-output.test.js +0 -171
  125. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-structured-output.test.js.map +0 -1
  126. package/node_modules/@minicode/agent-sdk/dist/tests/session.test.d.ts +0 -2
  127. package/node_modules/@minicode/agent-sdk/dist/tests/session.test.d.ts.map +0 -1
  128. package/node_modules/@minicode/agent-sdk/dist/tests/session.test.js +0 -226
  129. package/node_modules/@minicode/agent-sdk/dist/tests/session.test.js.map +0 -1
  130. package/node_modules/@minicode/agent-sdk/dist/tests/structured-output.test.d.ts +0 -2
  131. package/node_modules/@minicode/agent-sdk/dist/tests/structured-output.test.d.ts.map +0 -1
  132. package/node_modules/@minicode/agent-sdk/dist/tests/structured-output.test.js +0 -212
  133. package/node_modules/@minicode/agent-sdk/dist/tests/structured-output.test.js.map +0 -1
  134. package/node_modules/@minicode/agent-sdk/dist/tests/system-prompt.test.d.ts +0 -2
  135. package/node_modules/@minicode/agent-sdk/dist/tests/system-prompt.test.d.ts.map +0 -1
  136. package/node_modules/@minicode/agent-sdk/dist/tests/system-prompt.test.js +0 -76
  137. package/node_modules/@minicode/agent-sdk/dist/tests/system-prompt.test.js.map +0 -1
  138. package/node_modules/@minicode/agent-sdk/dist/tests/test-utils.d.ts +0 -3
  139. package/node_modules/@minicode/agent-sdk/dist/tests/test-utils.d.ts.map +0 -1
  140. package/node_modules/@minicode/agent-sdk/dist/tests/test-utils.js +0 -20
  141. package/node_modules/@minicode/agent-sdk/dist/tests/test-utils.js.map +0 -1
  142. package/node_modules/@minicode/agent-sdk/dist/tests/tool-factory-options.test.d.ts +0 -2
  143. package/node_modules/@minicode/agent-sdk/dist/tests/tool-factory-options.test.d.ts.map +0 -1
  144. package/node_modules/@minicode/agent-sdk/dist/tests/tool-factory-options.test.js +0 -72
  145. package/node_modules/@minicode/agent-sdk/dist/tests/tool-factory-options.test.js.map +0 -1
  146. package/node_modules/@minicode/agent-sdk/dist/tests/tool-registry.test.d.ts +0 -2
  147. package/node_modules/@minicode/agent-sdk/dist/tests/tool-registry.test.d.ts.map +0 -1
  148. package/node_modules/@minicode/agent-sdk/dist/tests/tool-registry.test.js +0 -69
  149. package/node_modules/@minicode/agent-sdk/dist/tests/tool-registry.test.js.map +0 -1
  150. package/node_modules/@minicode/agent-sdk/dist/tsconfig.tsbuildinfo +0 -1
  151. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/agent/structured-output.d.ts +0 -0
  152. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/agent/structured-output.d.ts.map +0 -0
  153. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/agent/structured-output.js +0 -0
  154. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/agent/structured-output.js.map +0 -0
  155. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/agent/types.d.ts +0 -0
  156. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/agent/types.d.ts.map +0 -0
  157. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/agent/types.js +0 -0
  158. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/agent/types.js.map +0 -0
  159. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/indexer/focus-tracker.d.ts +0 -0
  160. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/indexer/focus-tracker.d.ts.map +0 -0
  161. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/indexer/focus-tracker.js +0 -0
  162. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/indexer/focus-tracker.js.map +0 -0
  163. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/indexer/types.d.ts +0 -0
  164. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/indexer/types.d.ts.map +0 -0
  165. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/indexer/types.js +0 -0
  166. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/indexer/types.js.map +0 -0
  167. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/mcp/client-registry.d.ts +0 -0
  168. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/mcp/client-registry.d.ts.map +0 -0
  169. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/model/client.d.ts +0 -0
  170. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/prompt/system-prompt.d.ts +0 -0
  171. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/safety/guardrails.d.ts +0 -0
  172. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/safety/guardrails.d.ts.map +0 -0
  173. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/safety/guardrails.js +0 -0
  174. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/safety/guardrails.js.map +0 -0
  175. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/session/session.d.ts +0 -0
  176. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/session/session.d.ts.map +0 -0
  177. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/session/session.js +0 -0
  178. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/session/session.js.map +0 -0
  179. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/helpers.d.ts +0 -0
  180. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/helpers.d.ts.map +0 -0
  181. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/helpers.js +0 -0
  182. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/helpers.js.map +0 -0
  183. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/list-files.d.ts +0 -0
  184. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/list-files.d.ts.map +0 -0
  185. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/list-files.js +0 -0
  186. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/list-files.js.map +0 -0
  187. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/read-file.d.ts +0 -0
  188. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/registry.d.ts +0 -0
  189. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/registry.d.ts.map +0 -0
  190. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/registry.js +0 -0
  191. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/registry.js.map +0 -0
  192. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/run-command.d.ts +0 -0
  193. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/search.d.ts +0 -0
  194. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/write-file.d.ts +0 -0
  195. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/write-file.d.ts.map +0 -0
  196. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/write-file.js +0 -0
  197. /package/node_modules/{@minicode/agent-sdk → @sean.holung/minicode-sdk}/dist/src/tools/write-file.js.map +0 -0
@@ -50,6 +50,20 @@ function isStateSensitiveFingerprint(fingerprint) {
50
50
  const toolName = separatorIndex === -1 ? fingerprint : fingerprint.slice(0, separatorIndex);
51
51
  return STATE_SENSITIVE_TOOLS.has(toolName);
52
52
  }
53
+ /**
54
+ * How many identical tool-call fingerprints in the rolling window before
55
+ * the loop guard fires. Default is 3 — three literal repeats with no
56
+ * variation is a strong "model is stuck" signal for most tools. `search`
57
+ * gets a higher threshold (4) because regex-fishing legitimately emits
58
+ * many pattern variants and occasionally revisits one; a stricter
59
+ * threshold misclassifies real exploration as a loop (Sub-shape C in the
60
+ * failure taxonomy — see refactors/extract-helper traces).
61
+ */
62
+ function getRepeatThreshold(toolName) {
63
+ if (toolName === "search")
64
+ return 4;
65
+ return 3;
66
+ }
53
67
  function clearStateSensitiveFingerprints(fingerprints) {
54
68
  for (let index = fingerprints.length - 1; index >= 0; index -= 1) {
55
69
  if (isStateSensitiveFingerprint(fingerprints[index])) {
@@ -77,7 +91,7 @@ const PROGRESS_THINKING_MAX = 200;
77
91
  * - search: Keep head with a match count footer
78
92
  * - default: Keep head (existing behavior)
79
93
  */
80
- function truncateToolOutput(toolName, output, maxChars) {
94
+ export function truncateToolOutput(toolName, output, maxChars) {
81
95
  // Never truncate read_file — the model needs exact content for edits
82
96
  if (toolName === "read_file") {
83
97
  return output;
@@ -86,24 +100,23 @@ function truncateToolOutput(toolName, output, maxChars) {
86
100
  return output;
87
101
  }
88
102
  const totalLen = output.length;
89
- const overflowNote = `\n\n[... truncated, ${totalLen - maxChars} more chars ...]`;
90
103
  if (toolName === "run_command") {
91
104
  // Keep tail — errors and results are usually at the end
92
105
  const tailChars = Math.floor(maxChars * 0.8);
93
106
  const headChars = maxChars - tailChars;
94
107
  const head = output.slice(0, headChars);
95
108
  const tail = output.slice(totalLen - tailChars);
96
- return `${head}\n\n[... ${totalLen - headChars - tailChars} chars omitted ...]\n\n${tail}`;
109
+ return `${head}\n\n[... agent-level truncation: ${totalLen - headChars - tailChars} chars omitted from middle of run_command output to keep head + tail.]\n\n${tail}`;
97
110
  }
98
111
  if (toolName === "search") {
99
112
  // Keep head with match count
100
113
  const lines = output.split("\n");
101
114
  const truncated = output.slice(0, maxChars);
102
115
  const shownLines = truncated.split("\n").length;
103
- return `${truncated}\n\n[... showing ~${shownLines} of ${lines.length} match lines, ${totalLen - maxChars} more chars ...]`;
116
+ return `${truncated}\n\n[... agent-level truncation: showing ~${shownLines} of ${lines.length} match lines, ${totalLen - maxChars} more chars elided. Narrow the search with a more specific path or include glob.]`;
104
117
  }
105
- // Default: head-only (existing behavior)
106
- return `${output.slice(0, maxChars)}${overflowNote}`;
118
+ // Default: head-only (existing behavior, with a layer-identifying footer)
119
+ return `${output.slice(0, maxChars)}\n\n[... agent-level truncation: showed ${maxChars} of ${totalLen} chars from ${toolName}; ${totalLen - maxChars} more chars elided.]`;
107
120
  }
108
121
  /**
109
122
  * Compute an effective keepRecentMessages that scales proportionally
@@ -300,7 +313,12 @@ export class CodingAgent {
300
313
  // with the latest focus set so the code map dynamically adapts.
301
314
  // By default this stays false, so we build once and cache to keep the
302
315
  // prompt prefix stable across turns and improve KV cache hit rates.
303
- const dynamicPrompt = this.config.enableDynamicPrompt !== false;
316
+ // NB: explicit `=== true` so that an absent field (undefined) routes
317
+ // to false, matching the documented default. PR #138 flipped the CLI
318
+ // loader's parseBoolean fallback to false but missed this line, which
319
+ // left every SDK consumer that didn't explicitly set the field
320
+ // running with dynamic prompts on.
321
+ const dynamicPrompt = this.config.enableDynamicPrompt === true;
304
322
  let systemPrompt;
305
323
  if (dynamicPrompt || !this.cachedSystemPrompt) {
306
324
  const codeMap = this.getCodeMap?.(dynamicPrompt ? this.getFocusSet() : undefined);
@@ -444,7 +462,7 @@ export class CodingAgent {
444
462
  recentToolCallFingerprints.shift();
445
463
  }
446
464
  const repeatedCalls = recentToolCallFingerprints.filter((value) => value === fingerprint).length;
447
- if (repeatedCalls >= 3) {
465
+ if (repeatedCalls >= getRepeatThreshold(toolCall.name)) {
448
466
  const loopMessage = "Stopped due to repeated identical tool calls. Please refine the prompt or provide additional constraints.";
449
467
  for (const skippedToolCall of response.toolCalls.slice(toolCallIndex)) {
450
468
  this.session.addMessage({
@@ -509,14 +527,19 @@ export class CodingAgent {
509
527
  toolResult = await this.executeToolCall(toolCall);
510
528
  }
511
529
  // Apply content-aware truncation when enabled, otherwise
512
- // fall back to simple head-only truncation.
530
+ // fall back to simple head-only truncation. Footers identify
531
+ // the truncation *layer* — without that, the agent can't tell
532
+ // whether a tool's own footer was already there and an agent-
533
+ // level cut chopped it off, vs. the tool returned everything
534
+ // and the agent simply clipped to the char cap.
513
535
  if (this.config.enableToolOutputTruncation) {
514
536
  toolResult = truncateToolOutput(toolCall.name, toolResult, this.config.maxToolOutputChars);
515
537
  }
516
538
  else {
517
539
  const maxChars = this.config.maxToolOutputChars;
518
540
  if (maxChars > 0 && toolResult.length > maxChars) {
519
- toolResult = `${toolResult.slice(0, maxChars)}\n\n[... truncated, ${toolResult.length - maxChars} more chars ...]`;
541
+ const remaining = toolResult.length - maxChars;
542
+ toolResult = `${toolResult.slice(0, maxChars)}\n\n[... agent-level truncation: showed ${maxChars} of ${toolResult.length} chars from ${toolCall.name}; ${remaining} more chars elided. The tool may have already truncated above this footer. To read more, retry with a narrower scope (e.g. read_file with offset/limit, search with --include, list_files with skip/limit).]`;
520
543
  }
521
544
  }
522
545
  if (this.onUiUpdate) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export type { AgentConfig, AssistantMessage, BeforeToolCallHook, ModelClient, ModelInfo, ModelResponse, OutputSchema, ReasoningEffort, SessionMessage, ToolCall, ToolDefinition, ToolPermissionDecision, ToolResultMessage, ToolSchema, UserMessage, } from "./agent/types.js";
2
2
  export { OutputValidationError } from "./agent/types.js";
3
- export { CodingAgent, type UiUpdate, type UiUpdateThinking, type UiUpdateStreamingChunk, type UiUpdateStep, type UiUpdateToolCallStart, type UiUpdateToolCallEnd, type UiUpdateContextStatus, } from "./agent/agent.js";
3
+ export { CodingAgent, truncateToolOutput, type UiUpdate, type UiUpdateThinking, type UiUpdateStreamingChunk, type UiUpdateStep, type UiUpdateToolCallStart, type UiUpdateToolCallEnd, type UiUpdateContextStatus, } from "./agent/agent.js";
4
4
  export { Session, type SessionSnapshot, type CompactionResult } from "./session/session.js";
5
5
  export { AnthropicModelClient, OpenAICompatibleModelClient, createModelClient, } from "./model/client.js";
6
6
  export { ToolRegistry, type CoreToolHooks } from "./tools/registry.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACd,QAAQ,EACR,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG5F,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGvE,OAAO,EACL,kBAAkB,EAClB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,MAAM,GACP,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,YAAY,GACb,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,YAAY,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,UAAU,GACX,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,0BAA0B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  // Structured output
2
2
  export { OutputValidationError } from "./agent/types.js";
3
3
  // Agent runtime
4
- export { CodingAgent, } from "./agent/agent.js";
4
+ export { CodingAgent, truncateToolOutput, } from "./agent/agent.js";
5
5
  // Session
6
6
  export { Session } from "./session/session.js";
7
7
  // Model clients
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAmBA,oBAAoB;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,gBAAgB;AAChB,OAAO,EACL,WAAW,EACX,kBAAkB,GAQnB,MAAM,kBAAkB,CAAC;AAE1B,UAAU;AACV,OAAO,EAAE,OAAO,EAA+C,MAAM,sBAAsB,CAAC;AAE5F,gBAAgB;AAChB,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAEvE,4BAA4B;AAC5B,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,GAGpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,mBAAmB,GAEpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,GAGrB,MAAM,wBAAwB,CAAC;AAEhC,eAAe;AACf,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,MAAM,GACP,MAAM,oBAAoB,CAAC;AAE5B,sBAAsB;AACtB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,YAAY,GACb,MAAM,wBAAwB,CAAC;AAEhC,gBAAgB;AAChB,OAAO,EACL,iBAAiB,GAGlB,MAAM,2BAA2B,CAAC;AAEnC,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAa1D,yBAAyB;AACzB,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,GAIf,MAAM,0BAA0B,CAAC"}
@@ -95,7 +95,7 @@ function defaultOnError(server, error) {
95
95
  }
96
96
  async function connectServer(config) {
97
97
  const transport = createTransport(config);
98
- const client = new Client({ name: "@minicode/agent-sdk", version: "0.1.0" }, { capabilities: {} });
98
+ const client = new Client({ name: "@sean.holung/minicode-sdk", version: "0.1.0" }, { capabilities: {} });
99
99
  // The MCP SDK's Transport interface uses `string` for some fields the
100
100
  // concrete transports declare as `string | undefined`. Cast to bypass
101
101
  // the exactOptionalPropertyTypes mismatch — same pattern used on the
@@ -1 +1 @@
1
- {"version":3,"file":"client-registry.js","sourceRoot":"","sources":["../../../src/mcp/client-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-registry.js","sourceRoot":"","sources":["../../../src/mcp/client-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/model/client.ts"],"names":[],"mappings":"AAGA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EAEd,UAAU,EACX,MAAM,mBAAmB,CAAC;AA8jB3B,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtC,MAAM,qBAAgC,EACtC,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS,CAAA;KAAE;IAiBrD,IAAI,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC,aAAa,CAAC;IA6FpB,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAYzC;AA0HD,qBAAa,2BAA4B,YAAW,WAAW;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IAcK,IAAI,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC,aAAa,CAAC;IAmGpB,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAmBzC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAclE"}
@@ -178,6 +178,8 @@ async function withRetry(fn, options = {}) {
178
178
  function createTimeoutSignal(timeoutSeconds, parentSignal) {
179
179
  const controller = new AbortController();
180
180
  let timedOut = false;
181
+ // Forward-declared because the returned `cleanup` closure references
182
+ // it before the setTimeout call below assigns the handle.
181
183
  let timeoutHandle;
182
184
  const timeoutMs = timeoutSeconds * 1000;
183
185
  const handleParentAbort = () => {
@@ -189,6 +191,7 @@ function createTimeoutSignal(timeoutSeconds, parentSignal) {
189
191
  else if (parentSignal) {
190
192
  parentSignal.addEventListener("abort", handleParentAbort, { once: true });
191
193
  }
194
+ // eslint-disable-next-line prefer-const -- forward-declared above
192
195
  timeoutHandle = setTimeout(() => {
193
196
  timedOut = true;
194
197
  controller.abort(new ModelStartTimeoutError(timeoutSeconds));
@@ -304,6 +307,70 @@ function parseOpenAICompatibleToolArguments(rawArguments) {
304
307
  }
305
308
  return {};
306
309
  }
310
+ /**
311
+ * Some upstream OpenAI-compatible providers (Novita observed most often)
312
+ * fail to extract tool calls from gemma's internal channel format and
313
+ * leak the raw markup into the `content` field instead — e.g.
314
+ *
315
+ * <|tool_call>call:search{pattern:<|"|>typescriptPlugin<|"|>}<tool_call|>
316
+ *
317
+ * Without recovery, the agent sees zero tool calls and exits the turn,
318
+ * which surfaces as "model returned no tool calls" failures (~1/run on
319
+ * calm routing, several/run on bad days). When the structured tool_calls
320
+ * field is empty but content matches this exact format, we extract the
321
+ * call and convert it to a synthetic structured tool call.
322
+ *
323
+ * Strict, anchored matching — must start with `<|tool_call>` or `call:`
324
+ * and end with `<tool_call|>`. Channel markers do not appear in normal
325
+ * model text, so false-positive risk is low. Returns null if the input
326
+ * does not match.
327
+ */
328
+ function tryRecoverLeakedToolCall(content) {
329
+ const trimmed = content.trim();
330
+ if (trimmed.length === 0)
331
+ return null;
332
+ const stripped = trimmed.startsWith("<|tool_call>")
333
+ ? trimmed.slice("<|tool_call>".length)
334
+ : trimmed;
335
+ const shellMatch = stripped.match(/^call:(\w+)\{([\s\S]*)\}<tool_call\|>\s*$/);
336
+ if (!shellMatch)
337
+ return null;
338
+ const [, name, argsBody] = shellMatch;
339
+ if (!name || argsBody === undefined)
340
+ return null;
341
+ const argRegex = /(\w+):<\|"\|>([\s\S]*?)<\|"\|>(?:,|$)/g;
342
+ const input = {};
343
+ let matched = false;
344
+ let m;
345
+ while ((m = argRegex.exec(argsBody)) !== null) {
346
+ const key = m[1];
347
+ const value = m[2];
348
+ if (key === undefined || value === undefined)
349
+ continue;
350
+ input[key] = value;
351
+ matched = true;
352
+ }
353
+ if (!matched)
354
+ return null;
355
+ return {
356
+ id: "leaked-tool-call",
357
+ name,
358
+ input,
359
+ };
360
+ }
361
+ function applyLeakedToolCallRecovery(response) {
362
+ if (response.toolCalls.length > 0)
363
+ return response;
364
+ const recovered = tryRecoverLeakedToolCall(response.text);
365
+ if (!recovered)
366
+ return response;
367
+ return {
368
+ ...response,
369
+ text: "",
370
+ toolCalls: [recovered],
371
+ stopReason: "tool_use",
372
+ };
373
+ }
307
374
  function parseOpenAICompatibleResponse(response) {
308
375
  const firstChoice = response.choices?.[0];
309
376
  const message = firstChoice?.message;
@@ -324,7 +391,7 @@ function parseOpenAICompatibleResponse(response) {
324
391
  ? "tool_use"
325
392
  : "end_turn";
326
393
  const cachedTokens = response.usage?.prompt_tokens_details?.cached_tokens;
327
- return {
394
+ return applyLeakedToolCallRecovery({
328
395
  text: (message.content ?? "").trim(),
329
396
  toolCalls,
330
397
  stopReason,
@@ -335,7 +402,7 @@ function parseOpenAICompatibleResponse(response) {
335
402
  ? { cachedInputTokens: cachedTokens }
336
403
  : {}),
337
404
  },
338
- };
405
+ });
339
406
  }
340
407
  function normalizeBaseUrl(baseUrl) {
341
408
  const trimmed = baseUrl.trim().replace(/\/+$/, "");
@@ -549,7 +616,7 @@ async function parseOpenAIStream(reader, onStream) {
549
616
  : toolCalls.length > 0
550
617
  ? "tool_use"
551
618
  : "end_turn";
552
- return {
619
+ return applyLeakedToolCallRecovery({
553
620
  text: content.trim(),
554
621
  toolCalls,
555
622
  stopReason,
@@ -560,7 +627,7 @@ async function parseOpenAIStream(reader, onStream) {
560
627
  ? { cachedInputTokens: usage.cached_tokens }
561
628
  : {}),
562
629
  },
563
- };
630
+ });
564
631
  }
565
632
  export class OpenAICompatibleModelClient {
566
633
  baseUrl;
@@ -588,7 +655,8 @@ export class OpenAICompatibleModelClient {
588
655
  const headers = {
589
656
  "Content-Type": "application/json",
590
657
  "HTTP-Referer": "https://minicode.seanholung.com",
591
- "X-Title": "minicode",
658
+ "X-OpenRouter-Title": "minicode",
659
+ "X-OpenRouter-Categories": "cli-agent,programming-app",
592
660
  };
593
661
  const apiKey = this.apiKey?.trim();
594
662
  if (apiKey && apiKey.length > 0) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/model/client.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAa1C,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,mCAAmC,GAAG,EAAE,CAAC;AAC/C,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;;;;GAMG;AACH,SAAS,qBAAqB,CAC5B,QAAuB,EACvB,YAAsC;IAEtC,IAAI,CAAC,YAAY;QAAE,OAAO,QAAQ,CAAC;IACnC,MAAM,SAAS,GAAG,uBAAuB,CAAC,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5E,IAAI,CAAC,SAAS;QAAE,OAAO,QAAQ,CAAC;IAChC,OAAO;QACL,GAAG,QAAQ;QACX,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,SAAS,EAAE,SAAS,CAAC,kBAAkB;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAA0B;IAE1B,MAAM,SAAS,GAA6B,EAAE,CAAC;IAE/C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,OAAO,GAAkC,EAAE,CAAC;YAClD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO,CAAC,OAAO;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;gBAC/C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;aAC3C,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,OAAO,CAAC,UAAU;oBAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,QAAoC;IACzD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAe,EAAE,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAgC;aAC9C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,qEAAqE;IACrE,qEAAqE;IACrE,sEAAsE;IACtE,MAAM,eAAe,GAAI,QAAQ,CAAC,KAEhC,CAAC,uBAAuB,CAAC;IAE3B,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;QACjC,SAAS;QACT,UAAU,EACR,QAAQ,CAAC,WAAW,KAAK,UAAU;YACjC,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,QAAQ,CAAC,WAAW,KAAK,YAAY;gBACrC,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,UAAU;QAClB,KAAK,EAAE;YACL,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;YACxC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;YAC1C,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,eAAe,GAAG,CAAC;gBACtD,CAAC,CAAC,EAAE,iBAAiB,EAAE,eAAe,EAAE;gBACxC,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC;AAED,MAAM,sBAAuB,SAAQ,KAAK;IAC/B,cAAc,CAAS;IAEhC,YAAY,cAAsB;QAChC,KAAK,CAAC,iDAAiD,cAAc,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;CACF;AAED,MAAM,yBAA0B,SAAQ,KAAK;IAClC,MAAM,CAAS;IACf,QAAQ,CAAS;IAE1B,YAAY,MAAc,EAAE,QAAgB;QAC1C,KAAK,CAAC,qCAAqC,MAAM,MAAM,QAAQ,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;QACvD,KAAK,YAAY,SAAS,CAAC,iBAAiB,CAC7C,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAc;IACpD,OAAO,CACL,KAAK,YAAY,SAAS;QAC1B,uGAAuG,CAAC,IAAI,CAC1G,KAAK,CAAC,OAAO,CACd,CACF,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAc;IACtD,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;QAC/C,OAAO,CACL,KAAK,CAAC,MAAM,KAAK,GAAG;YACpB,KAAK,CAAC,MAAM,KAAK,GAAG;YACpB,KAAK,CAAC,MAAM,IAAI,GAAG,CACpB,CAAC;IACJ,CAAC;IAED,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,OAAO,CACL,KAAK,YAAY,sBAAsB;QACvC,KAAK,YAAY,SAAS,CAAC,kBAAkB;QAC7C,KAAK,YAAY,SAAS,CAAC,yBAAyB;QACpD,KAAK,YAAY,SAAS,CAAC,cAAc;QACzC,KAAK,YAAY,SAAS,CAAC,mBAAmB,CAC/C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,EAAoB,EACpB,UAGI,EAAE;IAEN,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC;IACpD,IAAI,SAAkB,CAAC;IAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzB,MAAM;YACR,CAAC;YAED,MAAM,OAAO,GAAG,mBAAmB,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACzD,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,cAAsB,EAAE,YAA0B;IAK7E,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,qEAAqE;IACrE,0DAA0D;IAC1D,IAAI,aAAwD,CAAC;IAC7D,MAAM,SAAS,GAAG,cAAc,GAAG,IAAI,CAAC;IAExC,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,IAAI,YAAY,EAAE,OAAO,EAAE,CAAC;QAC1B,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACxB,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,kEAAkE;IAClE,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,QAAQ,GAAG,IAAI,CAAC;QAChB,UAAU,CAAC,KAAK,CAAC,IAAI,sBAAsB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/D,CAAC,EAAE,SAAS,CAAC,CAAC;IAEd,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,aAAa,EAAE,CAAC;gBAClB,YAAY,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;YACD,YAAY,EAAE,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAChE,CAAC;QACD,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,cAAsB,EACtB,YAAqC,EACrC,EAAuC;IAEvC,MAAM,YAAY,GAAG,mBAAmB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvE,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;YAC5C,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,YAAY,CAAC,UAAU,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,sBAAsB,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAmDD,MAAM,2BAA2B,GAC/B,0FAA0F,CAAC;AAE7F,SAAS,0BAA0B,CACjC,MAAc,EACd,QAA0B;IAE1B,MAAM,SAAS,GAA8B;QAC3C;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAM;SAChB;KACF,CAAC;IACF,IAAI,gBAAgB,GAAe,EAAE,CAAC;IAEtC,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACnC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,QAAQ,CAAC,EAAE;gBACzB,OAAO,EAAE,2BAA2B;aACrC,CAAC,CAAC;QACL,CAAC;QACD,gBAAgB,GAAG,EAAE,CAAC;IACxB,CAAC,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,uBAAuB,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,uBAAuB,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACtD,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,IAAI,EAAE,UAAmB;gBACzB,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;iBAC1C;aACF,CAAC,CAAC,CAAC;YAEJ,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBAC5D,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD,CAAC,CAAC;YACH,gBAAgB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;YAClD,SAAS;QACX,CAAC;QAED,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,SAAS,CACrD,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,UAAU,CACjD,CAAC;QACF,IAAI,oBAAoB,KAAK,CAAC,CAAC,EAAE,CAAC;YAChC,SAAS;QACX,CAAC;QAED,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,OAAO,CAAC,UAAU;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,gBAAgB,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,uBAAuB,EAAE,CAAC;IAE1B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAmB;IASnB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,YAAY;SAC9B;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,kCAAkC,CACzC,YAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAY,CAAC;QACnD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,OAAO,MAAiC,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;IAC7E,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,wBAAwB,CAAC,OAAe;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;QACjD,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;QACtC,CAAC,CAAC,OAAO,CAAC;IAEZ,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/E,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC;IACtC,IAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEjD,MAAM,QAAQ,GAAG,wCAAwC,CAAC;IAC1D,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QACvD,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnB,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO;QACL,EAAE,EAAE,kBAAkB;QACtB,IAAI;QACJ,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAuB;IAC1D,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IACnD,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,SAAS;QAAE,OAAO,QAAQ,CAAC;IAChC,OAAO;QACL,GAAG,QAAQ;QACX,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,CAAC,SAAS,CAAC;QACtB,UAAU,EAAE,UAAU;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,QAA4C;IAE5C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,SAAS,GACb,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5C,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,aAAa,KAAK,GAAG,CAAC,EAAE;QAC3C,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;QAC5B,KAAK,EAAE,kCAAkC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;KACvE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEZ,MAAM,YAAY,GAAG,WAAW,EAAE,aAAa,IAAI,IAAI,CAAC;IACxD,MAAM,UAAU,GACd,YAAY,KAAK,YAAY,IAAI,YAAY,KAAK,eAAe;QAC/D,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,YAAY,KAAK,QAAQ;YACzB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,UAAU,CAAC;IAErB,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,qBAAqB,EAAE,aAAa,CAAC;IAE1E,OAAO,2BAA2B,CAAC;QACjC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACpC,SAAS;QACT,UAAU;QACV,KAAK,EAAE;YACL,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;YAC/C,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC;YACpD,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,CAAC;gBAChD,CAAC,CAAC,EAAE,iBAAiB,EAAE,YAAY,EAAE;gBACrC,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0FAA0F;AAC1F,SAAS,sBAAsB,CAAC,MAAuB;IACrD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;QAC1B,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC;QACzB,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC;QAC3B,KAAK,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC;QACxB,KAAK,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC;QAC5B,KAAK,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,oBAAoB;IACd,MAAM,CAAY;IAClB,cAAc,CAAS;IAExC,YACE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EACtC,OAAyD;QAEzD,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,mCAAmC,CAAC;QACrF,IAAI,CAAC,MAAM;YACT,OAAO,EAAE,MAAM;gBACf,IAAI,SAAS,CAAC;oBACZ,MAAM;oBACN,UAAU,EAAE,CAAC;iBACd,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAWV;QACC,8DAA8D;QAC9D,kEAAkE;QAClE,iEAAiE;QACjE,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC;QACpC,MAAM,eAAe,GAAiB,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,MAAM,CAAC,YAAY;gBAAE,OAAO,cAAc,CAAC;YAChD,oBAAoB,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,cAAc,EAAE,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,EAAE,CAAC;QACL,iEAAiE;QACjE,gEAAgE;QAChE,iEAAiE;QACjE,2BAA2B;QAC3B,mEAAmE;QACnE,gEAAgE;QAChE,+DAA+D;QAC/D,+DAA+D;QAC/D,8DAA8D;QAC9D,yCAAyC;QACzC,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,KAAK,KAAK,CAAC;QACzD,MAAM,YAAY,GAAG,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC9D,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,MAAM,CAAC,MAAM;oBACnB,aAAa,EAAE,EAAE,IAAI,EAAE,WAAoB,EAAE;iBAC9C;aACF;YACH,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QAClB,MAAM,cAAc,GAClB,eAAe,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAE,eAA6D,CAAC,GAAG,CAChE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CACV,CAAC,KAAK,eAAe,CAAC,MAAM,GAAG,CAAC;gBAC9B,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;gBACnD,CAAC,CAAC,IAAI,CACX;YACH,CAAC,CAAC,eAAe,CAAC;QACtB,MAAM,UAAU,GAAG;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC9C,KAAK,EAAE,cAA2D;SACnE,CAAC;QAEF,sEAAsE;QACtE,MAAM,aAAa,GACjB,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,KAAK,MAAM;YACzD,CAAC,CAAC;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAkB;oBACxB,aAAa,EAAE,IAAI,CAAC,GAAG,CACrB,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAC9E;iBACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,aAAa,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;QAC1D,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7E,OAAO,SAAS,CAAC,KAAK,IAAI,EAAE;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAC1E,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACzB,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,wBAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAClF,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACzC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,WAAW,EAAE,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChE,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClC,CAAC;wBAAS,CAAC;oBACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;YACjD,OAAO,qBAAqB,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACjF,CAAC,EAAE;YACD,WAAW,EAAE,yBAAyB;SACvC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,MAAM,GAAgB,EAAE,CAAC;YAC/B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAuBD,KAAK,UAAU,iBAAiB,CAC9B,MAA+C,EAC/C,QAAkC;IAElC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,MAAM,YAAY,GAA2D,EAAE,CAAC;IAChF,MAAM,KAAK,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IAC3E,IAAI,YAAY,GAAkB,IAAI,CAAC;IAEvC,MAAM,YAAY,GAAG,CAAC,KAAe,EAAE,EAAE;QACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAChC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,CAAC;gBACpD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,MAAM;oBAAE,SAAS;gBAEtB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC3B,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;oBACnB,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;oBACzB,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC;gBAED,IAAI,KAAK,EAAE,UAAU,EAAE,CAAC;oBACtB,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;wBAClC,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;wBAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;4BACvB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,EAAE,CAAC;wBAClH,CAAC;6BAAM,CAAC;4BACN,IAAI,EAAE,CAAC,EAAE;gCAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;4BACxC,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI;gCAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACjE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS;gCAAE,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;wBACnF,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,aAAa;oBAAE,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;gBAC9D,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;oBACrD,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC;oBAC7D,KAAK,CAAC,aAAa;wBACjB,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,aAAa,IAAI,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,MAAM,CAAC,IAAI,EAAE;gBAAE,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAe,YAAY;SACvC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC;SAChC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACf,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;QACjC,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,KAAK,EAAE,kCAAkC,CAAC,EAAE,CAAC,SAAS,CAAC;KACxD,CAAC,CAAC,CAAC;IAEN,MAAM,UAAU,GACd,YAAY,KAAK,YAAY,IAAI,YAAY,KAAK,eAAe;QAC/D,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,YAAY,KAAK,QAAQ;YACzB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,UAAU,CAAC;IAErB,OAAO,2BAA2B,CAAC;QACjC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;QACpB,SAAS;QACT,UAAU;QACV,KAAK,EAAE;YACL,WAAW,EAAE,KAAK,CAAC,aAAa;YAChC,YAAY,EAAE,KAAK,CAAC,iBAAiB;YACrC,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC;gBACzB,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,aAAa,EAAE;gBAC5C,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,2BAA2B;IACrB,OAAO,CAAS;IAChB,MAAM,CAAqB;IAC3B,SAAS,CAAe;IACxB,cAAc,CAAS;IAExC,YAAY,MAKX;QACC,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAC7B,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,0BAA0B,CAC7E,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM;YACT,MAAM,EAAE,MAAM;gBACd,CAAC,YAAY;oBACX,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;oBAC9D,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,MAAM,EAAE,cAAc,IAAI,mCAAmC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAWV;QACC,MAAM,eAAe,GAAiB,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,MAAM,CAAC,YAAY;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;YAC9C,oBAAoB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,cAAc,EAAE,iCAAiC;YACjD,oBAAoB,EAAE,UAAU;YAChC,yBAAyB,EAAE,2BAA2B;SACvD,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QACnC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IACE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACnC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAC7B,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,kIAAkI,CACnI,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,aAAa,GAAG,UAAU,MAAM,EAAE,CAAC;QAC7C,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CACb,yIAAyI,CAC1I,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC;QAEhD,MAAM,WAAW,GAA4B;YAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,0BAA0B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;YACpE,KAAK,EAAE,uBAAuB,CAAC,eAAe,CAAC;YAC/C,WAAW,EAAE,MAAM;YACnB,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,MAAM,EAAE,SAAS;SAClB,CAAC;QAEF,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,WAAW,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;QAC7D,CAAC;QAED,sEAAsE;QACtE,oEAAoE;QACpE,qEAAqE;QACrE,iEAAiE;QACjE,8DAA8D;QAC9D,oEAAoE;QACpE,6DAA6D;QAC7D,8DAA8D;QAC9D,IAAI,MAAM,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;YACrC,WAAW,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACpD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,wBAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE;gBAC5E,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;gBACjC,MAAM;aACP,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;gBAC3C,MAAM,IAAI,yBAAyB,CACjC,YAAY,CAAC,MAAM,EACnB,QAAQ,IAAI,mBAAmB,CAChC,CAAC;YACJ,CAAC;YAED,IAAI,SAAS,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;gBACnC,OAAO,qBAAqB,CAC1B,MAAM,iBAAiB,CACrB,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,EAC7B,MAAM,CAAC,QAAQ,CAChB,EACD,MAAM,CAAC,YAAY,CACpB,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GACX,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAuC,CAAC;YACpE,OAAO,qBAAqB,CAC1B,6BAA6B,CAAC,OAAO,CAAC,EACtC,MAAM,CAAC,YAAY,CACpB,CAAC;QACJ,CAAC,CAAC,EACJ;YACE,WAAW,EAAE,gCAAgC;SAC9C,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QACnC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,aAAa,GAAG,UAAU,MAAM,EAAE,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAC7C,IAAI,CAAC,cAAc,EACnB,SAAS,EACT,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAC1E,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoD,CAAC;YAC3F,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACnD,IAAI,MAAM,CAAC,aAAa,KAAK,mBAAmB,EAAE,CAAC;QACjD,OAAO,IAAI,2BAA2B,CAAC;YACrC,OAAO,EAAE,MAAM,CAAC,aAAa;YAC7B,cAAc,EAAE,MAAM,CAAC,mBAAmB;YAC1C,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS;gBACnC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE;gBACjC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,oBAAoB,CAC7B,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAC7B,EAAE,cAAc,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAC/C,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../src/prompt/system-prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA+BzD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACrC;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,GAAG,EAAE,mBAAmB,KACrB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9B,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAgHlE"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../src/prompt/system-prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA+BzD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACrC;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,GAAG,EAAE,mBAAmB,KACrB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9B,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAuHlE"}
@@ -87,7 +87,7 @@ export function buildSystemPrompt(ctx) {
87
87
  "- Use find_references to see who uses a symbol; use get_dependencies to see what it calls.",
88
88
  "- Trace usage outward (find_references) or implementation inward (get_dependencies) as needed.",
89
89
  ]
90
- : ["- Use search to locate relevant code, then read_file to inspect it."]), "", "[Termination Policy]", "- When the user asks you to do something (edit code, search, run commands, etc.), you MUST use the appropriate tools first. Do not conclude until you have actually performed the work.", "- When the task is complete, respond with a concise summary of what you changed.", "- If you cannot complete the task, explain what is blocking you.", "- Do not respond with empty text. Always provide a summary or explanation.", "- Do not continue exploring once the task is done.", "", "[Safety Rules]", "- Never modify files outside the workspace directory.", "- Ask for clarification if user intent is ambiguous.", "- Briefly explain what you're about to do before making changes, then proceed. The host enforces per-tool-call permission gating where appropriate; do not also ask for confirmation in chat.");
90
+ : ["- Use search to locate relevant code, then read_file to inspect it."]), "", "[Iteration Discipline]", "Looping on tool calls is the most common cause of task failure. To avoid it:", "- Stop investigating as soon as you have enough to answer or act. Do not be exhaustive.", "- If you have made 3 or more similar read/search calls without making forward progress, STOP and either commit to the best answer you can support with what you have, or acknowledge what you cannot determine.", "- Do not repeat a tool call with identical or near-identical arguments. If the result was useful, move on. If it was not, change your approach (different pattern, different path, different tool) rather than retrying.", "- Target: gather context in 3–5 read/search calls, then answer or edit.", "", "[Termination Policy]", "- When the user asks you to do something (edit code, search, run commands, etc.), you MUST use the appropriate tools first. Do not conclude until you have actually performed the work.", "- When the task is complete, respond with a concise summary of what you changed.", "- If you cannot complete the task, explain what is blocking you.", "- Do not respond with empty text. Always provide a summary or explanation.", "- Do not continue exploring once the task is done.", "", "[Safety Rules]", "- Never modify files outside the workspace directory.", "- Ask for clarification if user intent is ambiguous.", "- Briefly explain what you're about to do before making changes, then proceed. The host enforces per-tool-call permission gating where appropriate; do not also ask for confirmation in chat.");
91
91
  return sections.join("\n");
92
92
  }
93
93
  //# sourceMappingURL=system-prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../src/prompt/system-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../src/prompt/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Fuzzy edit-replacer cascade.
3
+ *
4
+ * Adapted from sst/opencode (`packages/opencode/src/tool/edit.ts`), which
5
+ * in turn credits cline and gemini-cli as upstream:
6
+ * - https://github.com/cline/cline/blob/main/evals/diff-edits/diff-apply/diff-06-23-25.ts
7
+ * - https://github.com/google-gemini/gemini-cli/blob/main/packages/core/src/utils/editCorrector.ts
8
+ *
9
+ * Why this exists: small models routinely emit `old_string` with subtly
10
+ * wrong indentation, whitespace, or `\n`-vs-`\\n` escaping. A strict
11
+ * exact-match `indexOf` rejects these and the model retries with marginally
12
+ * different whitespace, looping until the agent's duplicate-tool-call guard
13
+ * trips. The cascade gives each candidate a series of progressively-fuzzier
14
+ * passes; the first one that yields a uniquely-matchable substring in the
15
+ * actual file content wins. This converts a class of edit-loop failures
16
+ * into successful edits without changing the agent's prompt.
17
+ *
18
+ * Each replacer is a generator that yields candidate substrings present in
19
+ * `content`. The orchestrator (`replaceWithCascade`) picks the first
20
+ * candidate that occurs exactly once.
21
+ */
22
+ export type Replacer = (content: string, find: string) => Generator<string, void, unknown>;
23
+ /** Exact-match. The original `indexOf` behaviour. */
24
+ export declare const SimpleReplacer: Replacer;
25
+ /** Match line-by-line ignoring per-line leading/trailing whitespace. */
26
+ export declare const LineTrimmedReplacer: Replacer;
27
+ /**
28
+ * Anchor on the first and last lines of a multi-line block, fuzzy-match the
29
+ * middle. Useful when the model gets the structural anchors right but
30
+ * miscopies an intermediate line.
31
+ */
32
+ export declare const BlockAnchorReplacer: Replacer;
33
+ /** Collapse all whitespace runs to single spaces and compare. */
34
+ export declare const WhitespaceNormalizedReplacer: Replacer;
35
+ /**
36
+ * Strip the common leading indentation across both `find` and content blocks
37
+ * before comparing. Useful when the model emits a snippet without the
38
+ * surrounding indentation that the file actually has.
39
+ */
40
+ export declare const IndentationFlexibleReplacer: Replacer;
41
+ /** Handle backslash-escapes in the model's `find` string (\\n, \\t, etc.). */
42
+ export declare const EscapeNormalizedReplacer: Replacer;
43
+ /** Trim leading/trailing whitespace from `find` before searching. */
44
+ export declare const TrimmedBoundaryReplacer: Replacer;
45
+ /**
46
+ * Same anchor strategy as BlockAnchorReplacer but with a relaxed similarity
47
+ * threshold (50% line overlap instead of Levenshtein-weighted). Catches
48
+ * cases the anchor replacer misses on heavily-modified middles.
49
+ */
50
+ export declare const ContextAwareReplacer: Replacer;
51
+ /** Yield each occurrence of an exact-match `find` (used for replaceAll). */
52
+ export declare const MultiOccurrenceReplacer: Replacer;
53
+ /**
54
+ * Apply the cascade. Returns the post-replacement content if a unique
55
+ * candidate is found at any tier; throws with a descriptive error
56
+ * otherwise. Mirrors opencode's `replace` orchestrator.
57
+ */
58
+ export declare function replaceWithCascade(content: string, oldString: string, newString: string, replaceAll?: boolean): string;
59
+ //# sourceMappingURL=edit-file-replacers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-file-replacers.d.ts","sourceRoot":"","sources":["../../../src/tools/edit-file-replacers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,MAAM,QAAQ,GAAG,CACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,KACT,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AA2BtC,qDAAqD;AACrD,eAAO,MAAM,cAAc,EAAE,QAE5B,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,EAAE,QA+BjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAsGjC,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,4BAA4B,EAAE,QAsC1C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,QA0BzC,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,EAAE,QAwCtC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,uBAAuB,EAAE,QAgBrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAoClC,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,EAAE,QAQrC,CAAC;AAcF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,UAAQ,GACjB,MAAM,CAsCR"}