@nanocollective/nanocoder 1.17.3 → 1.19.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 (688) hide show
  1. package/README.md +178 -13
  2. package/assets/nanocoder-vscode.vsix +0 -0
  3. package/dist/ai-sdk-client-empty-message.spec.d.ts +2 -0
  4. package/dist/ai-sdk-client-empty-message.spec.d.ts.map +1 -0
  5. package/dist/ai-sdk-client-empty-message.spec.js +124 -0
  6. package/dist/ai-sdk-client-empty-message.spec.js.map +1 -0
  7. package/dist/ai-sdk-client.d.ts +19 -3
  8. package/dist/ai-sdk-client.d.ts.map +1 -1
  9. package/dist/ai-sdk-client.js +359 -211
  10. package/dist/ai-sdk-client.js.map +1 -1
  11. package/dist/app/utils/appUtils.d.ts +1 -1
  12. package/dist/app/utils/appUtils.d.ts.map +1 -1
  13. package/dist/app/utils/appUtils.js +80 -14
  14. package/dist/app/utils/appUtils.js.map +1 -1
  15. package/dist/app.d.ts +22 -1
  16. package/dist/app.d.ts.map +1 -1
  17. package/dist/app.js +369 -53
  18. package/dist/app.js.map +1 -1
  19. package/dist/cli.js +37 -2
  20. package/dist/cli.js.map +1 -1
  21. package/dist/cli.spec.d.ts +2 -0
  22. package/dist/cli.spec.d.ts.map +1 -0
  23. package/dist/cli.spec.js +101 -0
  24. package/dist/cli.spec.js.map +1 -0
  25. package/dist/client-factory.d.ts.map +1 -1
  26. package/dist/client-factory.js +2 -2
  27. package/dist/client-factory.js.map +1 -1
  28. package/dist/commands/checkpoint.d.ts +6 -0
  29. package/dist/commands/checkpoint.d.ts.map +1 -0
  30. package/dist/commands/checkpoint.js +277 -0
  31. package/dist/commands/checkpoint.js.map +1 -0
  32. package/dist/commands/clear.d.ts.map +1 -1
  33. package/dist/commands/clear.js +1 -1
  34. package/dist/commands/clear.js.map +1 -1
  35. package/dist/commands/custom-commands.d.ts.map +1 -1
  36. package/dist/commands/custom-commands.js +4 -4
  37. package/dist/commands/custom-commands.js.map +1 -1
  38. package/dist/commands/exit.d.ts.map +1 -1
  39. package/dist/commands/exit.js.map +1 -1
  40. package/dist/commands/export.d.ts.map +1 -1
  41. package/dist/commands/export.js +2 -2
  42. package/dist/commands/export.js.map +1 -1
  43. package/dist/commands/help.d.ts.map +1 -1
  44. package/dist/commands/help.js +5 -5
  45. package/dist/commands/help.js.map +1 -1
  46. package/dist/commands/index.d.ts +2 -2
  47. package/dist/commands/index.d.ts.map +1 -1
  48. package/dist/commands/index.js +2 -2
  49. package/dist/commands/index.js.map +1 -1
  50. package/dist/commands/init.d.ts.map +1 -1
  51. package/dist/commands/init.js +15 -14
  52. package/dist/commands/init.js.map +1 -1
  53. package/dist/commands/lsp.d.ts.map +1 -1
  54. package/dist/commands/lsp.js +6 -6
  55. package/dist/commands/lsp.js.map +1 -1
  56. package/dist/commands/mcp.d.ts +1 -1
  57. package/dist/commands/mcp.d.ts.map +1 -1
  58. package/dist/commands/mcp.js +6 -6
  59. package/dist/commands/mcp.js.map +1 -1
  60. package/dist/commands/model-database.d.ts +8 -0
  61. package/dist/commands/model-database.d.ts.map +1 -0
  62. package/dist/commands/model-database.js +193 -0
  63. package/dist/commands/model-database.js.map +1 -0
  64. package/dist/commands/model.d.ts.map +1 -1
  65. package/dist/commands/model.js.map +1 -1
  66. package/dist/commands/provider.d.ts.map +1 -1
  67. package/dist/commands/provider.js.map +1 -1
  68. package/dist/commands/setup-config.js +1 -1
  69. package/dist/commands/setup-config.js.map +1 -1
  70. package/dist/commands/status.d.ts.map +1 -1
  71. package/dist/commands/status.js.map +1 -1
  72. package/dist/commands/theme.d.ts.map +1 -1
  73. package/dist/commands/theme.js.map +1 -1
  74. package/dist/commands/update.d.ts.map +1 -1
  75. package/dist/commands/update.js +5 -5
  76. package/dist/commands/update.js.map +1 -1
  77. package/dist/commands/usage.d.ts.map +1 -1
  78. package/dist/commands/usage.js +4 -4
  79. package/dist/commands/usage.js.map +1 -1
  80. package/dist/commands.d.ts.map +1 -1
  81. package/dist/commands.js +1 -1
  82. package/dist/commands.js.map +1 -1
  83. package/dist/components/assistant-message.d.ts.map +1 -1
  84. package/dist/components/assistant-message.js +5 -4
  85. package/dist/components/assistant-message.js.map +1 -1
  86. package/dist/components/bash-execution-indicator.d.ts.map +1 -1
  87. package/dist/components/bash-execution-indicator.js +2 -2
  88. package/dist/components/bash-execution-indicator.js.map +1 -1
  89. package/dist/components/cancelling-indicator.js +3 -3
  90. package/dist/components/cancelling-indicator.js.map +1 -1
  91. package/dist/components/chat-queue.d.ts.map +1 -1
  92. package/dist/components/chat-queue.js +1 -1
  93. package/dist/components/chat-queue.js.map +1 -1
  94. package/dist/components/checkpoint-display.d.ts +8 -0
  95. package/dist/components/checkpoint-display.d.ts.map +1 -0
  96. package/dist/components/checkpoint-display.js +29 -0
  97. package/dist/components/checkpoint-display.js.map +1 -0
  98. package/dist/components/checkpoint-selector.d.ts +11 -0
  99. package/dist/components/checkpoint-selector.d.ts.map +1 -0
  100. package/dist/components/checkpoint-selector.js +55 -0
  101. package/dist/components/checkpoint-selector.js.map +1 -0
  102. package/dist/components/error-message.d.ts.map +1 -1
  103. package/dist/components/error-message.js +4 -4
  104. package/dist/components/error-message.js.map +1 -1
  105. package/dist/components/info-message.d.ts.map +1 -1
  106. package/dist/components/info-message.js +4 -4
  107. package/dist/components/info-message.js.map +1 -1
  108. package/dist/components/model-selector.d.ts.map +1 -1
  109. package/dist/components/model-selector.js +7 -7
  110. package/dist/components/model-selector.js.map +1 -1
  111. package/dist/components/provider-selector.d.ts.map +1 -1
  112. package/dist/components/provider-selector.js +6 -6
  113. package/dist/components/provider-selector.js.map +1 -1
  114. package/dist/components/security-disclaimer.d.ts.map +1 -1
  115. package/dist/components/security-disclaimer.js +4 -4
  116. package/dist/components/security-disclaimer.js.map +1 -1
  117. package/dist/components/status.d.ts +5 -0
  118. package/dist/components/status.d.ts.map +1 -1
  119. package/dist/components/status.js +36 -7
  120. package/dist/components/status.js.map +1 -1
  121. package/dist/components/success-message.d.ts.map +1 -1
  122. package/dist/components/success-message.js +4 -4
  123. package/dist/components/success-message.js.map +1 -1
  124. package/dist/components/theme-selector.d.ts.map +1 -1
  125. package/dist/components/theme-selector.js +8 -8
  126. package/dist/components/theme-selector.js.map +1 -1
  127. package/dist/components/tool-confirmation.d.ts.map +1 -1
  128. package/dist/components/tool-confirmation.js +7 -7
  129. package/dist/components/tool-confirmation.js.map +1 -1
  130. package/dist/components/tool-execution-indicator.d.ts.map +1 -1
  131. package/dist/components/tool-execution-indicator.js +2 -2
  132. package/dist/components/tool-execution-indicator.js.map +1 -1
  133. package/dist/components/tool-message.d.ts.map +1 -1
  134. package/dist/components/tool-message.js +4 -5
  135. package/dist/components/tool-message.js.map +1 -1
  136. package/dist/components/ui/titled-box.d.ts +16 -0
  137. package/dist/components/ui/titled-box.d.ts.map +1 -0
  138. package/dist/components/ui/titled-box.js +10 -0
  139. package/dist/components/ui/titled-box.js.map +1 -0
  140. package/dist/components/usage/progress-bar.d.ts.map +1 -1
  141. package/dist/components/usage/progress-bar.js +3 -0
  142. package/dist/components/usage/progress-bar.js.map +1 -1
  143. package/dist/components/usage/usage-display.d.ts.map +1 -1
  144. package/dist/components/usage/usage-display.js +7 -4
  145. package/dist/components/usage/usage-display.js.map +1 -1
  146. package/dist/components/user-input.d.ts.map +1 -1
  147. package/dist/components/user-input.js +9 -8
  148. package/dist/components/user-input.js.map +1 -1
  149. package/dist/components/user-message.d.ts.map +1 -1
  150. package/dist/components/user-message.js +1 -1
  151. package/dist/components/user-message.js.map +1 -1
  152. package/dist/components/vscode-extension-prompt.js +3 -3
  153. package/dist/components/vscode-extension-prompt.js.map +1 -1
  154. package/dist/components/warning-message.d.ts.map +1 -1
  155. package/dist/components/warning-message.js +4 -4
  156. package/dist/components/warning-message.js.map +1 -1
  157. package/dist/components/welcome-message.d.ts.map +1 -1
  158. package/dist/components/welcome-message.js +4 -4
  159. package/dist/components/welcome-message.js.map +1 -1
  160. package/dist/config/index.d.ts.map +1 -1
  161. package/dist/config/index.js +7 -7
  162. package/dist/config/index.js.map +1 -1
  163. package/dist/config/index.spec.js +4 -4
  164. package/dist/config/index.spec.js.map +1 -1
  165. package/dist/config/paths.spec.js +1 -1
  166. package/dist/config/paths.spec.js.map +1 -1
  167. package/dist/config/preferences.d.ts +0 -2
  168. package/dist/config/preferences.d.ts.map +1 -1
  169. package/dist/config/preferences.js +1 -11
  170. package/dist/config/preferences.js.map +1 -1
  171. package/dist/context/mode-context.d.ts +12 -0
  172. package/dist/context/mode-context.d.ts.map +1 -0
  173. package/dist/context/mode-context.js +21 -0
  174. package/dist/context/mode-context.js.map +1 -0
  175. package/dist/context/mode-context.spec.d.ts +2 -0
  176. package/dist/context/mode-context.spec.d.ts.map +1 -0
  177. package/dist/context/mode-context.spec.js +61 -0
  178. package/dist/context/mode-context.spec.js.map +1 -0
  179. package/dist/custom-commands/executor.d.ts.map +1 -1
  180. package/dist/custom-commands/executor.js.map +1 -1
  181. package/dist/custom-commands/loader.d.ts.map +1 -1
  182. package/dist/custom-commands/loader.js +1 -1
  183. package/dist/custom-commands/loader.js.map +1 -1
  184. package/dist/custom-commands/parser.d.ts.map +1 -1
  185. package/dist/custom-commands/parser.js.map +1 -1
  186. package/dist/hooks/useAppInitialization.d.ts +9 -5
  187. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  188. package/dist/hooks/useAppInitialization.js +119 -45
  189. package/dist/hooks/useAppInitialization.js.map +1 -1
  190. package/dist/hooks/useAppState.d.ts +28 -9
  191. package/dist/hooks/useAppState.d.ts.map +1 -1
  192. package/dist/hooks/useAppState.js +28 -8
  193. package/dist/hooks/useAppState.js.map +1 -1
  194. package/dist/hooks/useChatHandler.d.ts +5 -3
  195. package/dist/hooks/useChatHandler.d.ts.map +1 -1
  196. package/dist/hooks/useChatHandler.js +218 -118
  197. package/dist/hooks/useChatHandler.js.map +1 -1
  198. package/dist/hooks/useDirectoryTrust.js +1 -1
  199. package/dist/hooks/useDirectoryTrust.js.map +1 -1
  200. package/dist/hooks/useInputState.js +2 -2
  201. package/dist/hooks/useInputState.js.map +1 -1
  202. package/dist/hooks/useModeHandlers.d.ts +5 -5
  203. package/dist/hooks/useModeHandlers.d.ts.map +1 -1
  204. package/dist/hooks/useModeHandlers.js +12 -12
  205. package/dist/hooks/useModeHandlers.js.map +1 -1
  206. package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
  207. package/dist/hooks/useTerminalWidth.js +3 -3
  208. package/dist/hooks/useTerminalWidth.js.map +1 -1
  209. package/dist/hooks/useTheme.d.ts.map +1 -1
  210. package/dist/hooks/useTheme.js +1 -1
  211. package/dist/hooks/useTheme.js.map +1 -1
  212. package/dist/hooks/useToolHandler.d.ts +1 -1
  213. package/dist/hooks/useToolHandler.d.ts.map +1 -1
  214. package/dist/hooks/useToolHandler.js +4 -4
  215. package/dist/hooks/useToolHandler.js.map +1 -1
  216. package/dist/hooks/useUIState.d.ts +1 -1
  217. package/dist/hooks/useUIState.d.ts.map +1 -1
  218. package/dist/hooks/useUIState.js.map +1 -1
  219. package/dist/hooks/useVSCodeServer.js +2 -2
  220. package/dist/hooks/useVSCodeServer.js.map +1 -1
  221. package/dist/init/agents-template-generator.d.ts +1 -1
  222. package/dist/init/agents-template-generator.d.ts.map +1 -1
  223. package/dist/init/agents-template-generator.js.map +1 -1
  224. package/dist/init/existing-rules-extractor.js +1 -1
  225. package/dist/init/existing-rules-extractor.js.map +1 -1
  226. package/dist/init/file-scanner.js +2 -2
  227. package/dist/init/file-scanner.js.map +1 -1
  228. package/dist/init/framework-detector.js +1 -1
  229. package/dist/init/framework-detector.js.map +1 -1
  230. package/dist/init/project-analyzer.d.ts +1 -1
  231. package/dist/init/project-analyzer.d.ts.map +1 -1
  232. package/dist/init/project-analyzer.js +3 -3
  233. package/dist/init/project-analyzer.js.map +1 -1
  234. package/dist/lsp/lsp-client.d.ts +1 -1
  235. package/dist/lsp/lsp-client.d.ts.map +1 -1
  236. package/dist/lsp/lsp-client.js +1 -1
  237. package/dist/lsp/lsp-client.js.map +1 -1
  238. package/dist/lsp/lsp-client.spec.js +1 -2
  239. package/dist/lsp/lsp-client.spec.js.map +1 -1
  240. package/dist/lsp/lsp-manager.d.ts +1 -1
  241. package/dist/lsp/lsp-manager.d.ts.map +1 -1
  242. package/dist/lsp/lsp-manager.js.map +1 -1
  243. package/dist/lsp/lsp-manager.spec.js +1 -1
  244. package/dist/lsp/lsp-manager.spec.js.map +1 -1
  245. package/dist/lsp/protocol.spec.js +1 -1
  246. package/dist/lsp/protocol.spec.js.map +1 -1
  247. package/dist/lsp/server-discovery.spec.js +1 -1
  248. package/dist/lsp/server-discovery.spec.js.map +1 -1
  249. package/dist/markdown-parser/index.spec.js.map +1 -1
  250. package/dist/markdown-parser/table-parser.spec.js.map +1 -1
  251. package/dist/mcp/mcp-client.d.ts +3 -2
  252. package/dist/mcp/mcp-client.d.ts.map +1 -1
  253. package/dist/mcp/mcp-client.js +279 -96
  254. package/dist/mcp/mcp-client.js.map +1 -1
  255. package/dist/mcp/transport-factory.d.ts +1 -1
  256. package/dist/mcp/transport-factory.d.ts.map +1 -1
  257. package/dist/mcp/transport-factory.js +16 -3
  258. package/dist/mcp/transport-factory.js.map +1 -1
  259. package/dist/mcp/transport-factory.spec.js +30 -48
  260. package/dist/mcp/transport-factory.spec.js.map +1 -1
  261. package/dist/message-handler.d.ts +1 -1
  262. package/dist/message-handler.d.ts.map +1 -1
  263. package/dist/message-handler.js +1 -1
  264. package/dist/message-handler.js.map +1 -1
  265. package/dist/model-database/database-engine.d.ts +25 -0
  266. package/dist/model-database/database-engine.d.ts.map +1 -0
  267. package/dist/model-database/database-engine.js +37 -0
  268. package/dist/model-database/database-engine.js.map +1 -0
  269. package/dist/model-database/database-engine.spec.d.ts +2 -0
  270. package/dist/model-database/database-engine.spec.d.ts.map +1 -0
  271. package/dist/model-database/database-engine.spec.js +413 -0
  272. package/dist/model-database/database-engine.spec.js.map +1 -0
  273. package/dist/model-database/model-database.d.ts +30 -0
  274. package/dist/model-database/model-database.d.ts.map +1 -0
  275. package/dist/model-database/model-database.js +82 -0
  276. package/dist/model-database/model-database.js.map +1 -0
  277. package/dist/model-database/model-database.spec.d.ts +2 -0
  278. package/dist/model-database/model-database.spec.d.ts.map +1 -0
  279. package/dist/model-database/model-database.spec.js +322 -0
  280. package/dist/model-database/model-database.spec.js.map +1 -0
  281. package/dist/model-database/model-engine.d.ts +25 -0
  282. package/dist/model-database/model-engine.d.ts.map +1 -0
  283. package/dist/model-database/model-engine.js +49 -0
  284. package/dist/model-database/model-engine.js.map +1 -0
  285. package/dist/model-database/model-engine.spec.d.ts +2 -0
  286. package/dist/model-database/model-engine.spec.d.ts.map +1 -0
  287. package/dist/model-database/model-engine.spec.js +381 -0
  288. package/dist/model-database/model-engine.spec.js.map +1 -0
  289. package/dist/model-database/model-fetcher.d.ts +14 -0
  290. package/dist/model-database/model-fetcher.d.ts.map +1 -0
  291. package/dist/model-database/model-fetcher.js +249 -0
  292. package/dist/model-database/model-fetcher.js.map +1 -0
  293. package/dist/model-database/model-fetcher.spec.d.ts +2 -0
  294. package/dist/model-database/model-fetcher.spec.d.ts.map +1 -0
  295. package/dist/model-database/model-fetcher.spec.js +498 -0
  296. package/dist/model-database/model-fetcher.spec.js.map +1 -0
  297. package/dist/models/models-cache.d.ts +1 -1
  298. package/dist/models/models-cache.d.ts.map +1 -1
  299. package/dist/models/models-cache.js +1 -1
  300. package/dist/models/models-cache.js.map +1 -1
  301. package/dist/models/models-dev-client.d.ts.map +1 -1
  302. package/dist/models/models-dev-client.js +23 -7
  303. package/dist/models/models-dev-client.js.map +1 -1
  304. package/dist/prompt-history.js +2 -2
  305. package/dist/prompt-history.js.map +1 -1
  306. package/dist/services/checkpoint-manager.d.ts +68 -0
  307. package/dist/services/checkpoint-manager.d.ts.map +1 -0
  308. package/dist/services/checkpoint-manager.js +345 -0
  309. package/dist/services/checkpoint-manager.js.map +1 -0
  310. package/dist/services/checkpoint-manager.spec.d.ts +2 -0
  311. package/dist/services/checkpoint-manager.spec.d.ts.map +1 -0
  312. package/dist/services/checkpoint-manager.spec.js +353 -0
  313. package/dist/services/checkpoint-manager.spec.js.map +1 -0
  314. package/dist/services/file-snapshot.d.ts +32 -0
  315. package/dist/services/file-snapshot.d.ts.map +1 -0
  316. package/dist/services/file-snapshot.js +161 -0
  317. package/dist/services/file-snapshot.js.map +1 -0
  318. package/dist/services/file-snapshot.spec.d.ts +2 -0
  319. package/dist/services/file-snapshot.spec.d.ts.map +1 -0
  320. package/dist/services/file-snapshot.spec.js +285 -0
  321. package/dist/services/file-snapshot.spec.js.map +1 -0
  322. package/dist/test-utils/render-with-theme.d.ts +7 -0
  323. package/dist/test-utils/render-with-theme.d.ts.map +1 -0
  324. package/dist/test-utils/render-with-theme.js +38 -0
  325. package/dist/test-utils/render-with-theme.js.map +1 -0
  326. package/dist/tokenization/tokenizer-factory.js +2 -2
  327. package/dist/tokenization/tokenizer-factory.js.map +1 -1
  328. package/dist/tokenization/tokenizer-factory.spec.js +2 -2
  329. package/dist/tokenization/tokenizer-factory.spec.js.map +1 -1
  330. package/dist/tokenization/tokenizers/anthropic-tokenizer.d.ts +1 -1
  331. package/dist/tokenization/tokenizers/anthropic-tokenizer.d.ts.map +1 -1
  332. package/dist/tokenization/tokenizers/anthropic-tokenizer.js.map +1 -1
  333. package/dist/tokenization/tokenizers/anthropic-tokenizer.spec.js.map +1 -1
  334. package/dist/tokenization/tokenizers/fallback-tokenizer.d.ts +1 -1
  335. package/dist/tokenization/tokenizers/fallback-tokenizer.d.ts.map +1 -1
  336. package/dist/tokenization/tokenizers/fallback-tokenizer.spec.js.map +1 -1
  337. package/dist/tokenization/tokenizers/llama-tokenizer.d.ts +1 -1
  338. package/dist/tokenization/tokenizers/llama-tokenizer.d.ts.map +1 -1
  339. package/dist/tokenization/tokenizers/llama-tokenizer.js.map +1 -1
  340. package/dist/tokenization/tokenizers/llama-tokenizer.spec.js.map +1 -1
  341. package/dist/tokenization/tokenizers/openai-tokenizer.d.ts +1 -1
  342. package/dist/tokenization/tokenizers/openai-tokenizer.d.ts.map +1 -1
  343. package/dist/tokenization/tokenizers/openai-tokenizer.js.map +1 -1
  344. package/dist/tokenization/tokenizers/openai-tokenizer.spec.js.map +1 -1
  345. package/dist/tool-calling/json-parser.d.ts.map +1 -1
  346. package/dist/tool-calling/json-parser.js +12 -14
  347. package/dist/tool-calling/json-parser.js.map +1 -1
  348. package/dist/tool-calling/json-parser.spec.js +7 -7
  349. package/dist/tool-calling/json-parser.spec.js.map +1 -1
  350. package/dist/tool-calling/tool-parser.d.ts.map +1 -1
  351. package/dist/tool-calling/tool-parser.js +38 -10
  352. package/dist/tool-calling/tool-parser.js.map +1 -1
  353. package/dist/tool-calling/tool-parser.spec.js +82 -4
  354. package/dist/tool-calling/tool-parser.spec.js.map +1 -1
  355. package/dist/tool-calling/xml-parser.d.ts.map +1 -1
  356. package/dist/tool-calling/xml-parser.js +21 -23
  357. package/dist/tool-calling/xml-parser.js.map +1 -1
  358. package/dist/tool-calling/xml-parser.spec.js +23 -3
  359. package/dist/tool-calling/xml-parser.spec.js.map +1 -1
  360. package/dist/tools/create-file.d.ts +24 -2
  361. package/dist/tools/create-file.d.ts.map +1 -1
  362. package/dist/tools/create-file.js +20 -16
  363. package/dist/tools/create-file.js.map +1 -1
  364. package/dist/tools/delete-lines.d.ts +18 -2
  365. package/dist/tools/delete-lines.d.ts.map +1 -1
  366. package/dist/tools/delete-lines.js +22 -17
  367. package/dist/tools/delete-lines.js.map +1 -1
  368. package/dist/tools/execute-bash.d.ts +2 -2
  369. package/dist/tools/execute-bash.d.ts.map +1 -1
  370. package/dist/tools/execute-bash.js +13 -12
  371. package/dist/tools/execute-bash.js.map +1 -1
  372. package/dist/tools/execute-function.spec.d.ts +2 -0
  373. package/dist/tools/execute-function.spec.d.ts.map +1 -0
  374. package/dist/tools/execute-function.spec.js +141 -0
  375. package/dist/tools/execute-function.spec.js.map +1 -0
  376. package/dist/tools/fetch-url.d.ts +16 -2
  377. package/dist/tools/fetch-url.d.ts.map +1 -1
  378. package/dist/tools/fetch-url.js +13 -13
  379. package/dist/tools/fetch-url.js.map +1 -1
  380. package/dist/tools/find-files.d.ts +18 -2
  381. package/dist/tools/find-files.d.ts.map +1 -1
  382. package/dist/tools/find-files.js +13 -11
  383. package/dist/tools/find-files.js.map +1 -1
  384. package/dist/tools/index.d.ts +2 -3
  385. package/dist/tools/index.d.ts.map +1 -1
  386. package/dist/tools/index.js +35 -25
  387. package/dist/tools/index.js.map +1 -1
  388. package/dist/tools/insert-lines.d.ts +18 -2
  389. package/dist/tools/insert-lines.d.ts.map +1 -1
  390. package/dist/tools/insert-lines.js +21 -16
  391. package/dist/tools/insert-lines.js.map +1 -1
  392. package/dist/tools/lsp-get-diagnostics.d.ts +10 -2
  393. package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -1
  394. package/dist/tools/lsp-get-diagnostics.js +13 -11
  395. package/dist/tools/lsp-get-diagnostics.js.map +1 -1
  396. package/dist/tools/needs-approval.spec.d.ts +2 -0
  397. package/dist/tools/needs-approval.spec.d.ts.map +1 -0
  398. package/dist/tools/needs-approval.spec.js +308 -0
  399. package/dist/tools/needs-approval.spec.js.map +1 -0
  400. package/dist/tools/read-file.d.ts +2 -2
  401. package/dist/tools/read-file.d.ts.map +1 -1
  402. package/dist/tools/read-file.js +16 -18
  403. package/dist/tools/read-file.js.map +1 -1
  404. package/dist/tools/replace-lines.d.ts +19 -2
  405. package/dist/tools/replace-lines.d.ts.map +1 -1
  406. package/dist/tools/replace-lines.js +21 -16
  407. package/dist/tools/replace-lines.js.map +1 -1
  408. package/dist/tools/search-file-contents.d.ts +20 -2
  409. package/dist/tools/search-file-contents.d.ts.map +1 -1
  410. package/dist/tools/search-file-contents.js +17 -14
  411. package/dist/tools/search-file-contents.js.map +1 -1
  412. package/dist/tools/tool-manager.d.ts +1 -1
  413. package/dist/tools/tool-manager.d.ts.map +1 -1
  414. package/dist/tools/tool-manager.js +1 -1
  415. package/dist/tools/tool-manager.js.map +1 -1
  416. package/dist/tools/tool-registry.d.ts +1 -1
  417. package/dist/tools/tool-registry.d.ts.map +1 -1
  418. package/dist/tools/web-search.d.ts +2 -2
  419. package/dist/tools/web-search.d.ts.map +1 -1
  420. package/dist/tools/web-search.js +14 -14
  421. package/dist/tools/web-search.js.map +1 -1
  422. package/dist/types/app.d.ts +7 -4
  423. package/dist/types/app.d.ts.map +1 -1
  424. package/dist/types/checkpoint.d.ts +43 -0
  425. package/dist/types/checkpoint.d.ts.map +1 -0
  426. package/dist/types/checkpoint.js +2 -0
  427. package/dist/types/checkpoint.js.map +1 -0
  428. package/dist/types/config.d.ts +0 -1
  429. package/dist/types/config.d.ts.map +1 -1
  430. package/dist/types/core-connection-status.spec.d.ts +2 -0
  431. package/dist/types/core-connection-status.spec.d.ts.map +1 -0
  432. package/dist/types/core-connection-status.spec.js +52 -0
  433. package/dist/types/core-connection-status.spec.js.map +1 -0
  434. package/dist/types/core.d.ts +34 -29
  435. package/dist/types/core.d.ts.map +1 -1
  436. package/dist/types/core.js +1 -1
  437. package/dist/types/core.js.map +1 -1
  438. package/dist/types/index.d.ts +1 -0
  439. package/dist/types/index.d.ts.map +1 -1
  440. package/dist/types/index.js +1 -0
  441. package/dist/types/index.js.map +1 -1
  442. package/dist/types/system.d.ts +5 -30
  443. package/dist/types/system.d.ts.map +1 -1
  444. package/dist/usage/calculator.spec.js +1 -1
  445. package/dist/usage/calculator.spec.js.map +1 -1
  446. package/dist/usage/storage.d.ts +1 -1
  447. package/dist/usage/storage.d.ts.map +1 -1
  448. package/dist/usage/storage.js +9 -3
  449. package/dist/usage/storage.js.map +1 -1
  450. package/dist/usage/storage.spec.js +3 -3
  451. package/dist/usage/storage.spec.js.map +1 -1
  452. package/dist/usage/tracker.d.ts.map +1 -1
  453. package/dist/usage/tracker.js +1 -1
  454. package/dist/usage/tracker.js.map +1 -1
  455. package/dist/usage/tracker.spec.js +4 -4
  456. package/dist/usage/tracker.spec.js.map +1 -1
  457. package/dist/utils/atomic-deletion.spec.js +1 -1
  458. package/dist/utils/atomic-deletion.spec.js.map +1 -1
  459. package/dist/utils/checkpoint-utils.d.ts +12 -0
  460. package/dist/utils/checkpoint-utils.d.ts.map +1 -0
  461. package/dist/utils/checkpoint-utils.js +85 -0
  462. package/dist/utils/checkpoint-utils.js.map +1 -0
  463. package/dist/utils/checkpoint-utils.spec.d.ts +2 -0
  464. package/dist/utils/checkpoint-utils.spec.d.ts.map +1 -0
  465. package/dist/utils/checkpoint-utils.spec.js +182 -0
  466. package/dist/utils/checkpoint-utils.spec.js.map +1 -0
  467. package/dist/utils/error-formatter.d.ts +35 -0
  468. package/dist/utils/error-formatter.d.ts.map +1 -1
  469. package/dist/utils/error-formatter.js +123 -0
  470. package/dist/utils/error-formatter.js.map +1 -1
  471. package/dist/utils/file-autocomplete.js +2 -2
  472. package/dist/utils/file-autocomplete.js.map +1 -1
  473. package/dist/utils/file-autocomplete.spec.js +1 -1
  474. package/dist/utils/file-autocomplete.spec.js.map +1 -1
  475. package/dist/utils/file-content-loader.js +1 -1
  476. package/dist/utils/file-content-loader.js.map +1 -1
  477. package/dist/utils/file-content-loader.spec.js +4 -4
  478. package/dist/utils/file-content-loader.spec.js.map +1 -1
  479. package/dist/utils/file-mention-handler.js.map +1 -1
  480. package/dist/utils/file-mention-handler.spec.js +4 -4
  481. package/dist/utils/file-mention-handler.spec.js.map +1 -1
  482. package/dist/utils/file-mention-parser.spec.js +2 -2
  483. package/dist/utils/file-mention-parser.spec.js.map +1 -1
  484. package/dist/utils/installation-detector.js +2 -2
  485. package/dist/utils/installation-detector.js.map +1 -1
  486. package/dist/utils/installation-detector.spec.js +10 -17
  487. package/dist/utils/installation-detector.spec.js.map +1 -1
  488. package/dist/utils/logging/config.d.ts +41 -0
  489. package/dist/utils/logging/config.d.ts.map +1 -0
  490. package/dist/utils/logging/config.js +188 -0
  491. package/dist/utils/logging/config.js.map +1 -0
  492. package/dist/utils/logging/config.spec.d.ts +2 -0
  493. package/dist/utils/logging/config.spec.d.ts.map +1 -0
  494. package/dist/utils/logging/config.spec.js +233 -0
  495. package/dist/utils/logging/config.spec.js.map +1 -0
  496. package/dist/utils/logging/console-facade.d.ts +93 -0
  497. package/dist/utils/logging/console-facade.d.ts.map +1 -0
  498. package/dist/utils/logging/console-facade.js +295 -0
  499. package/dist/utils/logging/console-facade.js.map +1 -0
  500. package/dist/utils/logging/console-facade.spec.d.ts +2 -0
  501. package/dist/utils/logging/console-facade.spec.d.ts.map +1 -0
  502. package/dist/utils/logging/console-facade.spec.js +143 -0
  503. package/dist/utils/logging/console-facade.spec.js.map +1 -0
  504. package/dist/utils/logging/correlation.d.ts +139 -0
  505. package/dist/utils/logging/correlation.d.ts.map +1 -0
  506. package/dist/utils/logging/correlation.js +410 -0
  507. package/dist/utils/logging/correlation.js.map +1 -0
  508. package/dist/utils/logging/correlation.spec.d.ts +2 -0
  509. package/dist/utils/logging/correlation.spec.d.ts.map +1 -0
  510. package/dist/utils/logging/correlation.spec.js +449 -0
  511. package/dist/utils/logging/correlation.spec.js.map +1 -0
  512. package/dist/utils/logging/formatters.d.ts +70 -0
  513. package/dist/utils/logging/formatters.d.ts.map +1 -0
  514. package/dist/utils/logging/formatters.js +186 -0
  515. package/dist/utils/logging/formatters.js.map +1 -0
  516. package/dist/utils/logging/formatters.spec.d.ts +2 -0
  517. package/dist/utils/logging/formatters.spec.d.ts.map +1 -0
  518. package/dist/utils/logging/formatters.spec.js +356 -0
  519. package/dist/utils/logging/formatters.spec.js.map +1 -0
  520. package/dist/utils/logging/health-monitor.d.ts +216 -0
  521. package/dist/utils/logging/health-monitor.d.ts.map +1 -0
  522. package/dist/utils/logging/health-monitor.js +760 -0
  523. package/dist/utils/logging/health-monitor.js.map +1 -0
  524. package/dist/utils/logging/health-monitor.spec.d.ts +2 -0
  525. package/dist/utils/logging/health-monitor.spec.d.ts.map +1 -0
  526. package/dist/utils/logging/health-monitor.spec.js +305 -0
  527. package/dist/utils/logging/health-monitor.spec.js.map +1 -0
  528. package/dist/utils/logging/index.d.ts +100 -0
  529. package/dist/utils/logging/index.d.ts.map +1 -0
  530. package/dist/utils/logging/index.js +186 -0
  531. package/dist/utils/logging/index.js.map +1 -0
  532. package/dist/utils/logging/index.spec.d.ts +2 -0
  533. package/dist/utils/logging/index.spec.d.ts.map +1 -0
  534. package/dist/utils/logging/index.spec.js +214 -0
  535. package/dist/utils/logging/index.spec.js.map +1 -0
  536. package/dist/utils/logging/integration.spec.d.ts +2 -0
  537. package/dist/utils/logging/integration.spec.d.ts.map +1 -0
  538. package/dist/utils/logging/integration.spec.js +312 -0
  539. package/dist/utils/logging/integration.spec.js.map +1 -0
  540. package/dist/utils/logging/log-method-factory.d.ts +43 -0
  541. package/dist/utils/logging/log-method-factory.d.ts.map +1 -0
  542. package/dist/utils/logging/log-method-factory.js +176 -0
  543. package/dist/utils/logging/log-method-factory.js.map +1 -0
  544. package/dist/utils/logging/log-method-factory.spec.d.ts +2 -0
  545. package/dist/utils/logging/log-method-factory.spec.d.ts.map +1 -0
  546. package/dist/utils/logging/log-method-factory.spec.js +428 -0
  547. package/dist/utils/logging/log-method-factory.spec.js.map +1 -0
  548. package/dist/utils/logging/log-query.d.ts +275 -0
  549. package/dist/utils/logging/log-query.d.ts.map +1 -0
  550. package/dist/utils/logging/log-query.js +621 -0
  551. package/dist/utils/logging/log-query.js.map +1 -0
  552. package/dist/utils/logging/log-query.spec.d.ts +2 -0
  553. package/dist/utils/logging/log-query.spec.d.ts.map +1 -0
  554. package/dist/utils/logging/log-query.spec.js +737 -0
  555. package/dist/utils/logging/log-query.spec.js.map +1 -0
  556. package/dist/utils/logging/logger-provider.d.ts +73 -0
  557. package/dist/utils/logging/logger-provider.d.ts.map +1 -0
  558. package/dist/utils/logging/logger-provider.js +298 -0
  559. package/dist/utils/logging/logger-provider.js.map +1 -0
  560. package/dist/utils/logging/logger-provider.spec.d.ts +2 -0
  561. package/dist/utils/logging/logger-provider.spec.d.ts.map +1 -0
  562. package/dist/utils/logging/logger-provider.spec.js +204 -0
  563. package/dist/utils/logging/logger-provider.spec.js.map +1 -0
  564. package/dist/utils/logging/performance.d.ts +147 -0
  565. package/dist/utils/logging/performance.d.ts.map +1 -0
  566. package/dist/utils/logging/performance.js +520 -0
  567. package/dist/utils/logging/performance.js.map +1 -0
  568. package/dist/utils/logging/performance.spec.d.ts +2 -0
  569. package/dist/utils/logging/performance.spec.d.ts.map +1 -0
  570. package/dist/utils/logging/performance.spec.js +139 -0
  571. package/dist/utils/logging/performance.spec.js.map +1 -0
  572. package/dist/utils/logging/pino-logger.d.ts +22 -0
  573. package/dist/utils/logging/pino-logger.d.ts.map +1 -0
  574. package/dist/utils/logging/pino-logger.js +372 -0
  575. package/dist/utils/logging/pino-logger.js.map +1 -0
  576. package/dist/utils/logging/pino-logger.spec.d.ts +2 -0
  577. package/dist/utils/logging/pino-logger.spec.d.ts.map +1 -0
  578. package/dist/utils/logging/pino-logger.spec.js +294 -0
  579. package/dist/utils/logging/pino-logger.spec.js.map +1 -0
  580. package/dist/utils/logging/redaction.d.ts +38 -0
  581. package/dist/utils/logging/redaction.d.ts.map +1 -0
  582. package/dist/utils/logging/redaction.js +210 -0
  583. package/dist/utils/logging/redaction.js.map +1 -0
  584. package/dist/utils/logging/redaction.spec.d.ts +2 -0
  585. package/dist/utils/logging/redaction.spec.d.ts.map +1 -0
  586. package/dist/utils/logging/redaction.spec.js +338 -0
  587. package/dist/utils/logging/redaction.spec.js.map +1 -0
  588. package/dist/utils/logging/request-tracker.d.ts +189 -0
  589. package/dist/utils/logging/request-tracker.d.ts.map +1 -0
  590. package/dist/utils/logging/request-tracker.js +569 -0
  591. package/dist/utils/logging/request-tracker.js.map +1 -0
  592. package/dist/utils/logging/request-tracker.spec.d.ts +2 -0
  593. package/dist/utils/logging/request-tracker.spec.d.ts.map +1 -0
  594. package/dist/utils/logging/request-tracker.spec.js +868 -0
  595. package/dist/utils/logging/request-tracker.spec.js.map +1 -0
  596. package/dist/utils/logging/transports.d.ts +55 -0
  597. package/dist/utils/logging/transports.d.ts.map +1 -0
  598. package/dist/utils/logging/transports.js +252 -0
  599. package/dist/utils/logging/transports.js.map +1 -0
  600. package/dist/utils/logging/transports.spec.d.ts +2 -0
  601. package/dist/utils/logging/transports.spec.d.ts.map +1 -0
  602. package/dist/utils/logging/transports.spec.js +390 -0
  603. package/dist/utils/logging/transports.spec.js.map +1 -0
  604. package/dist/utils/logging/types.d.ts +173 -0
  605. package/dist/utils/logging/types.d.ts.map +1 -0
  606. package/dist/utils/logging/types.js +5 -0
  607. package/dist/utils/logging/types.js.map +1 -0
  608. package/dist/utils/message-queue.d.ts +64 -4
  609. package/dist/utils/message-queue.d.ts.map +1 -1
  610. package/dist/utils/message-queue.js +282 -28
  611. package/dist/utils/message-queue.js.map +1 -1
  612. package/dist/utils/paste-utils.spec.js +1 -1
  613. package/dist/utils/paste-utils.spec.js.map +1 -1
  614. package/dist/utils/prompt-processor.d.ts +2 -3
  615. package/dist/utils/prompt-processor.d.ts.map +1 -1
  616. package/dist/utils/prompt-processor.js +4 -52
  617. package/dist/utils/prompt-processor.js.map +1 -1
  618. package/dist/utils/tool-cancellation.spec.js.map +1 -1
  619. package/dist/utils/tool-result-display.d.ts +2 -2
  620. package/dist/utils/tool-result-display.d.ts.map +1 -1
  621. package/dist/utils/tool-result-display.js +3 -3
  622. package/dist/utils/tool-result-display.js.map +1 -1
  623. package/dist/utils/update-checker.d.ts.map +1 -1
  624. package/dist/utils/update-checker.js +1 -1
  625. package/dist/utils/update-checker.js.map +1 -1
  626. package/dist/utils/update-checker.spec.js +2 -2
  627. package/dist/utils/update-checker.spec.js.map +1 -1
  628. package/dist/vscode/extension-installer.js +1 -1
  629. package/dist/vscode/extension-installer.js.map +1 -1
  630. package/dist/vscode/extension-installer.spec.js +1 -1
  631. package/dist/vscode/extension-installer.spec.js.map +1 -1
  632. package/dist/vscode/protocol.spec.js +1 -1
  633. package/dist/vscode/protocol.spec.js.map +1 -1
  634. package/dist/vscode/vscode-server.d.ts.map +1 -1
  635. package/dist/vscode/vscode-server.js +2 -2
  636. package/dist/vscode/vscode-server.js.map +1 -1
  637. package/dist/vscode/vscode-server.spec.js.map +1 -1
  638. package/dist/wizard/config-wizard.d.ts.map +1 -1
  639. package/dist/wizard/config-wizard.js +16 -12
  640. package/dist/wizard/config-wizard.js.map +1 -1
  641. package/dist/wizard/steps/location-step.js +4 -4
  642. package/dist/wizard/steps/location-step.js.map +1 -1
  643. package/dist/wizard/steps/mcp-step.d.ts.map +1 -1
  644. package/dist/wizard/steps/mcp-step.js +4 -4
  645. package/dist/wizard/steps/mcp-step.js.map +1 -1
  646. package/dist/wizard/steps/provider-step.d.ts.map +1 -1
  647. package/dist/wizard/steps/provider-step.js +4 -4
  648. package/dist/wizard/steps/provider-step.js.map +1 -1
  649. package/dist/wizard/steps/summary-step.d.ts.map +1 -1
  650. package/dist/wizard/steps/summary-step.js +2 -2
  651. package/dist/wizard/steps/summary-step.js.map +1 -1
  652. package/dist/wizard/templates/provider-templates.d.ts.map +1 -1
  653. package/dist/wizard/templates/provider-templates.js +66 -2
  654. package/dist/wizard/templates/provider-templates.js.map +1 -1
  655. package/dist/wizard/validation-array.spec.js +1 -1
  656. package/dist/wizard/validation-array.spec.js.map +1 -1
  657. package/dist/wizard/validation.spec.js +1 -1
  658. package/dist/wizard/validation.spec.js.map +1 -1
  659. package/package.json +28 -26
  660. package/source/app/prompts/main-prompt.md +29 -96
  661. package/dist/commands/recommendations.d.ts +0 -8
  662. package/dist/commands/recommendations.d.ts.map +0 -1
  663. package/dist/commands/recommendations.js +0 -311
  664. package/dist/commands/recommendations.js.map +0 -1
  665. package/dist/commands/streaming.d.ts +0 -3
  666. package/dist/commands/streaming.d.ts.map +0 -1
  667. package/dist/commands/streaming.js +0 -23
  668. package/dist/commands/streaming.js.map +0 -1
  669. package/dist/components/thinking-indicator.d.ts +0 -3
  670. package/dist/components/thinking-indicator.d.ts.map +0 -1
  671. package/dist/components/thinking-indicator.js +0 -69
  672. package/dist/components/thinking-indicator.js.map +0 -1
  673. package/dist/recommendations/model-database.d.ts +0 -8
  674. package/dist/recommendations/model-database.d.ts.map +0 -1
  675. package/dist/recommendations/model-database.js +0 -514
  676. package/dist/recommendations/model-database.js.map +0 -1
  677. package/dist/recommendations/model-engine.d.ts +0 -16
  678. package/dist/recommendations/model-engine.d.ts.map +0 -1
  679. package/dist/recommendations/model-engine.js +0 -185
  680. package/dist/recommendations/model-engine.js.map +0 -1
  681. package/dist/recommendations/recommendation-engine.d.ts +0 -39
  682. package/dist/recommendations/recommendation-engine.d.ts.map +0 -1
  683. package/dist/recommendations/recommendation-engine.js +0 -144
  684. package/dist/recommendations/recommendation-engine.js.map +0 -1
  685. package/dist/system/detector.d.ts +0 -18
  686. package/dist/system/detector.d.ts.map +0 -1
  687. package/dist/system/detector.js +0 -140
  688. package/dist/system/detector.js.map +0 -1
@@ -1,17 +1,37 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { toolDefinitions } from '../tools/index.js';
3
- import { processPromptTemplate } from '../utils/prompt-processor.js';
4
- import { parseToolCalls } from '../tool-calling/index.js';
5
2
  import { ConversationStateManager } from '../app/utils/conversationState.js';
6
- import { promptHistory } from '../prompt-history.js';
7
- import { isStreamingEnabled } from '../config/preferences.js';
8
- import { displayToolResult } from '../utils/tool-result-display.js';
9
- import { parseToolArguments } from '../utils/tool-args-parser.js';
10
- import { formatError } from '../utils/error-formatter.js';
11
- import UserMessage from '../components/user-message.js';
12
3
  import AssistantMessage from '../components/assistant-message.js';
13
4
  import ErrorMessage from '../components/error-message.js';
5
+ import UserMessage from '../components/user-message.js';
6
+ import WarningMessage from '../components/warning-message.js';
7
+ import { getModelContextLimit } from '../models/index.js';
8
+ import { promptHistory } from '../prompt-history.js';
9
+ import { createTokenizer } from '../tokenization/index.js';
10
+ import { parseToolCalls } from '../tool-calling/index.js';
11
+ import { calculateTokenBreakdown } from '../usage/calculator.js';
12
+ import { formatError } from '../utils/error-formatter.js';
13
+ import { processPromptTemplate } from '../utils/prompt-processor.js';
14
+ import { parseToolArguments } from '../utils/tool-args-parser.js';
15
+ import { displayToolResult } from '../utils/tool-result-display.js';
14
16
  import React from 'react';
17
+ // Normalize streaming content to prevent excessive blank lines during output
18
+ const normalizeStreamingContent = (content) => content
19
+ // Strip <think>...</think> tags (some models output thinking that shouldn't be shown)
20
+ .replace(/<think>[\s\S]*?<\/think>/gi, '')
21
+ // Strip orphaned/incomplete think tags (during streaming)
22
+ .replace(/<think>[\s\S]*$/gi, '')
23
+ .replace(/<\/think>/gi, '')
24
+ // Collapse 3+ consecutive newlines to 2 (one blank line max)
25
+ .replace(/\n{3,}/g, '\n\n')
26
+ // Remove leading whitespace (clean start)
27
+ .replace(/^\s+/, '');
28
+ // Helper function to convert tool results to message format
29
+ const toolResultsToMessages = (results) => results.map(result => ({
30
+ role: 'tool',
31
+ content: result.content || '',
32
+ tool_call_id: result.tool_call_id,
33
+ name: result.name,
34
+ }));
15
35
  // Helper function to filter out invalid tool calls and deduplicate by ID and function
16
36
  // Returns valid tool calls and error results for invalid ones
17
37
  const filterValidToolCalls = (toolCalls, toolManager) => {
@@ -34,7 +54,7 @@ const filterValidToolCalls = (toolCalls, toolManager) => {
34
54
  tool_call_id: toolCall.id,
35
55
  role: 'tool',
36
56
  name: toolCall.function.name,
37
- content: `Error: Unknown tool: ${toolCall.function.name}. This tool does not exist. Please use only the tools that are available in the system.`,
57
+ content: `This tool does not exist. Please use only the tools that are available in the system.`,
38
58
  });
39
59
  continue;
40
60
  }
@@ -53,18 +73,60 @@ const filterValidToolCalls = (toolCalls, toolManager) => {
53
73
  }
54
74
  return { validToolCalls, errorResults };
55
75
  };
56
- export function useChatHandler({ client, toolManager, messages, setMessages, currentModel, setIsThinking, setIsCancelling, addToChatQueue, componentKeyCounter, abortController, setAbortController, developmentMode = 'normal', onStartToolConfirmationFlow, }) {
76
+ export function useChatHandler({ client, toolManager, messages, setMessages, currentProvider, currentModel, setIsCancelling, addToChatQueue, componentKeyCounter, abortController, setAbortController, developmentMode = 'normal', nonInteractiveMode = false, onStartToolConfirmationFlow, onConversationComplete, }) {
57
77
  // Conversation state manager for enhanced context
58
78
  const conversationStateManager = React.useRef(new ConversationStateManager());
59
79
  // State for streaming message content
60
80
  const [streamingContent, setStreamingContent] = React.useState('');
61
81
  const [isStreaming, setIsStreaming] = React.useState(false);
82
+ // Helper to reset all streaming state
83
+ const resetStreamingState = React.useCallback(() => {
84
+ setIsCancelling(false);
85
+ setAbortController(null);
86
+ setIsStreaming(false);
87
+ setStreamingContent('');
88
+ }, [setIsCancelling, setAbortController]);
89
+ // Helper to display errors in chat queue
90
+ const displayError = React.useCallback((error, keyPrefix) => {
91
+ if (error instanceof Error &&
92
+ error.message === 'Operation was cancelled') {
93
+ addToChatQueue(_jsx(ErrorMessage, { message: "Interrupted by user.", hideBox: true }, `${keyPrefix}-${componentKeyCounter}`));
94
+ }
95
+ else {
96
+ addToChatQueue(_jsx(ErrorMessage, { message: formatError(error), hideBox: true }, `${keyPrefix}-${componentKeyCounter}`));
97
+ }
98
+ }, [addToChatQueue, componentKeyCounter]);
62
99
  // Reset conversation state when messages are cleared
63
100
  React.useEffect(() => {
64
101
  if (messages.length === 0) {
65
102
  conversationStateManager.current.reset();
66
103
  }
67
104
  }, [messages.length]);
105
+ // Helper to check context usage and display warning if needed
106
+ const checkContextUsage = React.useCallback(async (allMessages, systemMessage) => {
107
+ try {
108
+ const contextLimit = await getModelContextLimit(currentModel);
109
+ if (!contextLimit)
110
+ return; // Unknown limit, skip check
111
+ const tokenizer = createTokenizer(currentProvider, currentModel);
112
+ const breakdown = calculateTokenBreakdown([systemMessage, ...allMessages], tokenizer);
113
+ // Clean up tokenizer if needed
114
+ if (tokenizer.free) {
115
+ tokenizer.free();
116
+ }
117
+ const percentUsed = (breakdown.total / contextLimit) * 100;
118
+ // Show warning on every message once past 80%
119
+ if (percentUsed >= 95) {
120
+ addToChatQueue(_jsx(WarningMessage, { message: `Context ${Math.round(percentUsed)}% full (${breakdown.total.toLocaleString()}/${contextLimit.toLocaleString()} tokens). Consider using /clear to start fresh.`, hideBox: true }, `context-warning-${componentKeyCounter}`));
121
+ }
122
+ else if (percentUsed >= 80) {
123
+ addToChatQueue(_jsx(WarningMessage, { message: `Context ${Math.round(percentUsed)}% full (${breakdown.total.toLocaleString()}/${contextLimit.toLocaleString()} tokens).`, hideBox: true }, `context-warning-${componentKeyCounter}`));
124
+ }
125
+ }
126
+ catch {
127
+ // Silently ignore errors in context checking - it's not critical
128
+ }
129
+ }, [currentProvider, currentModel, addToChatQueue, componentKeyCounter]);
68
130
  // Process assistant response - handles the conversation loop with potential tool calls (for follow-ups)
69
131
  const processAssistantResponse = async (systemMessage, messages) => {
70
132
  if (!client)
@@ -76,28 +138,31 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
76
138
  setAbortController(controller);
77
139
  }
78
140
  try {
79
- setIsThinking(true);
80
- // Try to use streaming if available and enabled, otherwise fallback to non-streaming
81
- let result;
82
- if (client.chatStream && isStreamingEnabled()) {
83
- // Use streaming with callbacks
84
- let accumulatedContent = '';
85
- setIsStreaming(true);
86
- setStreamingContent('');
87
- result = await client.chatStream([systemMessage, ...messages], toolManager?.getAllTools() || {}, {
88
- onToken: (token) => {
89
- accumulatedContent += token;
90
- setStreamingContent(accumulatedContent);
91
- },
92
- onFinish: () => {
93
- setIsStreaming(false);
94
- },
95
- }, controller.signal);
96
- }
97
- else {
98
- // Fallback to non-streaming (either client doesn't support it or user disabled it)
99
- result = await client.chat([systemMessage, ...messages], toolManager?.getAllTools() || {}, controller.signal);
100
- }
141
+ // Use streaming with callbacks
142
+ let accumulatedContent = '';
143
+ setIsStreaming(true);
144
+ setStreamingContent('');
145
+ const result = await client.chat([systemMessage, ...messages], toolManager?.getAllTools() || {}, {
146
+ onToken: (token) => {
147
+ accumulatedContent += token;
148
+ setStreamingContent(normalizeStreamingContent(accumulatedContent));
149
+ },
150
+ onToolExecuted: (toolCall, result) => {
151
+ // Display formatter for auto-executed tools (after execution with results)
152
+ void (async () => {
153
+ const toolResult = {
154
+ tool_call_id: toolCall.id,
155
+ role: 'tool',
156
+ name: toolCall.function.name,
157
+ content: result,
158
+ };
159
+ await displayToolResult(toolCall, toolResult, toolManager, addToChatQueue, componentKeyCounter);
160
+ })();
161
+ },
162
+ onFinish: () => {
163
+ setIsStreaming(false);
164
+ },
165
+ }, controller.signal);
101
166
  if (!result || !result.choices || result.choices.length === 0) {
102
167
  throw new Error('No response received from model');
103
168
  }
@@ -106,9 +171,34 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
106
171
  const fullContent = message.content || '';
107
172
  // Parse any tool calls from content for non-tool-calling models
108
173
  const parseResult = parseToolCalls(fullContent);
109
- // Check for malformed tool calls and throw error to let model retry
174
+ // Check for malformed tool calls and send error back to model for self-correction
110
175
  if (!parseResult.success) {
111
- throw new Error(`${parseResult.error}\n\n${parseResult.examples}`);
176
+ const errorContent = `${parseResult.error}\n\n${parseResult.examples}`;
177
+ // Display error to user
178
+ addToChatQueue(_jsx(ErrorMessage, { message: errorContent, hideBox: true }, `malformed-tool-${Date.now()}`));
179
+ // Create assistant message with the malformed content (so model knows what it said)
180
+ const assistantMsgWithError = {
181
+ role: 'assistant',
182
+ content: fullContent,
183
+ };
184
+ // Create a user message with the error feedback for the model
185
+ const errorFeedbackMessage = {
186
+ role: 'user',
187
+ content: `Your previous response contained a malformed tool call. ${errorContent}\n\nPlease try again using the correct format.`,
188
+ };
189
+ // Update messages and continue conversation loop for self-correction
190
+ const updatedMessagesWithError = [
191
+ ...messages,
192
+ assistantMsgWithError,
193
+ errorFeedbackMessage,
194
+ ];
195
+ setMessages(updatedMessagesWithError);
196
+ // Clear streaming state before recursing
197
+ setIsStreaming(false);
198
+ setStreamingContent('');
199
+ // Continue the main conversation loop with error message as context
200
+ await processAssistantResponse(systemMessage, updatedMessagesWithError);
201
+ return;
112
202
  }
113
203
  const parsedToolCalls = parseResult.toolCalls;
114
204
  const cleanedContent = parseResult.cleanedContent;
@@ -119,15 +209,19 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
119
209
  // Merge structured tool calls from AI SDK with content-parsed tool calls
120
210
  const allToolCalls = [...(toolCalls || []), ...parsedToolCalls];
121
211
  const { validToolCalls, errorResults } = filterValidToolCalls(allToolCalls, toolManager);
122
- // Add assistant message to conversation history
212
+ // Add assistant message to conversation history only if it has content or tool_calls
213
+ // Empty assistant messages cause API errors: "Assistant message must have either content or tool_calls"
123
214
  const assistantMsg = {
124
215
  role: 'assistant',
125
216
  content: cleanedContent,
126
217
  tool_calls: validToolCalls.length > 0 ? validToolCalls : undefined,
127
218
  };
128
- setMessages([...messages, assistantMsg]);
129
- // Update conversation state with assistant message
130
- conversationStateManager.current.updateAssistantMessage(assistantMsg);
219
+ const hasValidAssistantMessage = cleanedContent.trim() || validToolCalls.length > 0;
220
+ if (hasValidAssistantMessage) {
221
+ setMessages([...messages, assistantMsg]);
222
+ // Update conversation state with assistant message
223
+ conversationStateManager.current.updateAssistantMessage(assistantMsg);
224
+ }
131
225
  // Clear streaming state after response is complete
132
226
  setIsStreaming(false);
133
227
  setStreamingContent('');
@@ -138,16 +232,10 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
138
232
  addToChatQueue(_jsx(ErrorMessage, { message: error.content, hideBox: true }, `unknown-tool-${error.tool_call_id}-${Date.now()}`));
139
233
  }
140
234
  // Send error results back to model for self-correction
141
- const toolMessages = errorResults.map(result => ({
142
- role: 'tool',
143
- content: result.content || '',
144
- tool_call_id: result.tool_call_id,
145
- name: result.name,
146
- }));
147
235
  const updatedMessagesWithError = [
148
236
  ...messages,
149
237
  assistantMsg,
150
- ...toolMessages,
238
+ ...toolResultsToMessages(errorResults),
151
239
  ];
152
240
  setMessages(updatedMessagesWithError);
153
241
  // Continue the main conversation loop with error messages as context
@@ -178,16 +266,10 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
178
266
  addToChatQueue(_jsx(ErrorMessage, { message: error.content, hideBox: true }, `plan-mode-blocked-${error.tool_call_id}-${Date.now()}`));
179
267
  }
180
268
  // Continue conversation with error messages
181
- const toolMessages = blockedToolErrors.map(result => ({
182
- role: 'tool',
183
- content: result.content || '',
184
- tool_call_id: result.tool_call_id,
185
- name: result.name,
186
- }));
187
269
  const updatedMessagesWithError = [
188
270
  ...messages,
189
271
  assistantMsg,
190
- ...toolMessages,
272
+ ...toolResultsToMessages(blockedToolErrors),
191
273
  ];
192
274
  setMessages(updatedMessagesWithError);
193
275
  // Continue the main conversation loop with error messages as context
@@ -196,11 +278,10 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
196
278
  }
197
279
  }
198
280
  // Separate tools that need confirmation vs those that don't
199
- // BUT: if a tool fails validation, execute directly (skip confirmation)
281
+ // Check tool's needsApproval property to determine if confirmation is needed
200
282
  const toolsNeedingConfirmation = [];
201
283
  const toolsToExecuteDirectly = [];
202
284
  for (const toolCall of validToolCalls) {
203
- const toolDef = toolDefinitions.find(def => def.name === toolCall.function.name);
204
285
  // Check if tool has a validator
205
286
  let validationFailed = false;
206
287
  // XML validation errors are treated as validation failures
@@ -223,11 +304,38 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
223
304
  }
224
305
  }
225
306
  }
226
- // If validation failed OR tool doesn't require confirmation OR in auto-accept mode, execute directly
227
- // EXCEPT: execute_bash always requires confirmation for security
307
+ // Check tool's needsApproval property from the tool definition
308
+ let toolNeedsApproval = true; // Default to requiring approval for safety
309
+ if (toolManager) {
310
+ const toolEntry = toolManager.getToolEntry(toolCall.function.name);
311
+ if (toolEntry?.tool) {
312
+ const needsApprovalProp = toolEntry.tool.needsApproval;
313
+ if (typeof needsApprovalProp === 'boolean') {
314
+ toolNeedsApproval = needsApprovalProp;
315
+ }
316
+ else if (typeof needsApprovalProp === 'function') {
317
+ // Evaluate function - our tools use getCurrentMode() internally
318
+ // and don't actually need the args parameter
319
+ try {
320
+ const parsedArgs = parseToolArguments(toolCall.function.arguments);
321
+ // Cast to any to handle AI SDK type signature mismatch
322
+ // Our tool implementations don't use the second parameter
323
+ toolNeedsApproval = await needsApprovalProp(parsedArgs);
324
+ }
325
+ catch {
326
+ // If evaluation fails, require approval for safety
327
+ toolNeedsApproval = true;
328
+ }
329
+ }
330
+ }
331
+ }
332
+ // Execute directly if:
333
+ // 1. Validation failed (need to send error back to model)
334
+ // 2. Tool has needsApproval: false
335
+ // 3. In auto-accept mode (except bash which always needs approval)
228
336
  const isBashTool = toolCall.function.name === 'execute_bash';
229
337
  if (validationFailed ||
230
- (toolDef && toolDef.requiresConfirmation === false) ||
338
+ !toolNeedsApproval ||
231
339
  (developmentMode === 'auto-accept' && !isBashTool)) {
232
340
  toolsToExecuteDirectly.push(toolCall);
233
341
  }
@@ -287,17 +395,10 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
287
395
  }
288
396
  // If we have results, continue the conversation with them
289
397
  if (directResults.length > 0) {
290
- // Format tool results as standard tool messages
291
- const toolMessages = directResults.map(result => ({
292
- role: 'tool',
293
- content: result.content || '',
294
- tool_call_id: result.tool_call_id,
295
- name: result.name,
296
- }));
297
398
  const updatedMessagesWithTools = [
298
399
  ...messages,
299
400
  assistantMsg,
300
- ...toolMessages,
401
+ ...toolResultsToMessages(directResults),
301
402
  ];
302
403
  setMessages(updatedMessagesWithTools);
303
404
  // Continue the main conversation loop with tool results as context
@@ -307,6 +408,26 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
307
408
  }
308
409
  // Start confirmation flow only for tools that need it
309
410
  if (toolsNeedingConfirmation.length > 0) {
411
+ // In non-interactive mode, exit when tool approval is required
412
+ if (nonInteractiveMode) {
413
+ const toolNames = toolsNeedingConfirmation
414
+ .map(tc => tc.function.name)
415
+ .join(', ');
416
+ const errorMsg = `Tool approval required for: ${toolNames}. Exiting non-interactive mode`;
417
+ // Add error message to UI
418
+ addToChatQueue(_jsx(ErrorMessage, { message: errorMsg, hideBox: true }, `tool-approval-required-${Date.now()}`));
419
+ // Add error to messages array so exit detection can find it
420
+ const errorMessage = {
421
+ role: 'assistant',
422
+ content: errorMsg,
423
+ };
424
+ setMessages([...messages, assistantMsg, errorMessage]);
425
+ // Signal completion to trigger exit
426
+ if (onConversationComplete) {
427
+ onConversationComplete();
428
+ }
429
+ return;
430
+ }
310
431
  onStartToolConfirmationFlow(toolsNeedingConfirmation, messages, assistantMsg, systemMessage);
311
432
  }
312
433
  }
@@ -317,44 +438,36 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
317
438
  // Check if we just executed tools (messages should have tool results)
318
439
  const lastMessage = messages[messages.length - 1];
319
440
  const hasRecentToolResults = lastMessage?.role === 'tool';
320
- if (hasRecentToolResults) {
321
- // Add a system-like nudge message to help model continue
322
- const nudgeMessage = {
323
- role: 'user',
324
- content: 'Please provide a summary or response based on the tool results above.',
325
- };
326
- const updatedMessagesWithNudge = [
327
- ...messages,
328
- assistantMsg,
329
- nudgeMessage,
330
- ];
331
- setMessages(updatedMessagesWithNudge);
332
- // Continue the conversation loop with the nudge
333
- await processAssistantResponse(systemMessage, updatedMessagesWithNudge);
334
- return;
335
- }
336
- else {
337
- addToChatQueue(_jsx(ErrorMessage, { message: "The model returned an empty response. This may happen if the model is having issues or has finished processing. Try asking a follow-up question or saying 'continue' if you expected more output.", hideBox: true }, `empty-response-${componentKeyCounter}`));
338
- }
441
+ // Add a continuation message to help the model respond
442
+ // For recent tool results, ask for a summary; otherwise, ask to continue
443
+ const nudgeContent = hasRecentToolResults
444
+ ? 'Please provide a summary or response based on the tool results above.'
445
+ : 'Please continue with the task.';
446
+ const nudgeMessage = {
447
+ role: 'user',
448
+ content: nudgeContent,
449
+ };
450
+ // Display a "continue" message in chat so user knows what happened
451
+ addToChatQueue(_jsx(UserMessage, { message: "continue" }, `auto-continue-${componentKeyCounter}`));
452
+ // Don't include the empty assistantMsg - it would cause API error
453
+ // "Assistant message must have either content or tool_calls"
454
+ const updatedMessagesWithNudge = [...messages, nudgeMessage];
455
+ setMessages(updatedMessagesWithNudge);
456
+ // Continue the conversation loop with the nudge
457
+ await processAssistantResponse(systemMessage, updatedMessagesWithNudge);
458
+ return;
459
+ }
460
+ if (validToolCalls.length === 0 && cleanedContent.trim()) {
461
+ onConversationComplete?.();
339
462
  }
340
463
  }
341
464
  catch (error) {
342
- if (error instanceof Error &&
343
- error.message === 'Operation was cancelled') {
344
- addToChatQueue(_jsx(ErrorMessage, { message: "Interrupted by user.", hideBox: true }, `cancelled-${componentKeyCounter}`));
345
- }
346
- else {
347
- // Extract clean error message
348
- const errorMsg = formatError(error);
349
- addToChatQueue(_jsx(ErrorMessage, { hideBox: true, message: errorMsg }, `error-${componentKeyCounter}`));
350
- }
465
+ displayError(error, 'chat-error');
466
+ // Signal completion on error to avoid hanging in non-interactive mode
467
+ onConversationComplete?.();
351
468
  }
352
469
  finally {
353
- setIsThinking(false);
354
- setIsCancelling(false);
355
- setAbortController(null);
356
- setIsStreaming(false);
357
- setStreamingContent('');
470
+ resetStreamingState();
358
471
  }
359
472
  };
360
473
  // Handle chat message processing
@@ -379,37 +492,24 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
379
492
  // Create abort controller for cancellation
380
493
  const controller = new AbortController();
381
494
  setAbortController(controller);
382
- // Start thinking indicator and streaming
383
- setIsThinking(true);
384
495
  try {
385
- // Load and process system prompt with dynamic tool documentation
386
- // Note: We still need tool definitions (not just native tools) for documentation
387
- const systemPrompt = processPromptTemplate(toolManager ? toolManager.getAllTools() : {});
496
+ // Load and process system prompt
497
+ const systemPrompt = processPromptTemplate();
388
498
  // Create stream request
389
499
  const systemMessage = {
390
500
  role: 'system',
391
501
  content: systemPrompt,
392
502
  };
503
+ // Check context usage and warn if approaching limit
504
+ await checkContextUsage(updatedMessages, systemMessage);
393
505
  // Use the new conversation loop
394
506
  await processAssistantResponse(systemMessage, updatedMessages);
395
507
  }
396
508
  catch (error) {
397
- if (error instanceof Error &&
398
- error.message === 'Operation was cancelled') {
399
- addToChatQueue(_jsx(ErrorMessage, { message: "Operation was cancelled by user", hideBox: true }, `cancelled-${componentKeyCounter}`));
400
- }
401
- else {
402
- // Extract clean error message
403
- const errorMsg = formatError(error);
404
- addToChatQueue(_jsx(ErrorMessage, { message: errorMsg }, `error-${componentKeyCounter}`));
405
- }
509
+ displayError(error, 'chat-error');
406
510
  }
407
511
  finally {
408
- setIsThinking(false);
409
- setIsCancelling(false);
410
- setAbortController(null);
411
- setIsStreaming(false);
412
- setStreamingContent('');
512
+ resetStreamingState();
413
513
  }
414
514
  };
415
515
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useChatHandler.js","sourceRoot":"","sources":["../../source/hooks/useChatHandler.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,sFAAsF;AACtF,8DAA8D;AAC9D,MAAM,oBAAoB,GAAG,CAC5B,SAAqB,EACrB,WAA+B,EAC4B,EAAE;IAC7D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,cAAc,GAAe,EAAE,CAAC;IACtC,MAAM,YAAY,GAAiB,EAAE,CAAC;IAEtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,yCAAyC;QACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC9C,SAAS;QACV,CAAC;QAED,yCAAyC;QACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1C,SAAS;QACV,CAAC;QAED,mDAAmD;QACnD,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,YAAY,CAAC,IAAI,CAAC;gBACjB,YAAY,EAAE,QAAQ,CAAC,EAAE;gBACzB,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;gBAC5B,OAAO,EAAE,wBAAwB,QAAQ,CAAC,QAAQ,CAAC,IAAI,yFAAyF;aAChJ,CAAC,CAAC;YACH,SAAS;QACV,CAAC;QAED,mDAAmD;QACnD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,SAAS;QACV,CAAC;QAED,kEAAkE;QAClE,MAAM,iBAAiB,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CACpE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAC3B,EAAE,CAAC;QACJ,IAAI,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9C,SAAS;QACV,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzB,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACzC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,EAAC,cAAc,EAAE,YAAY,EAAC,CAAC;AACvC,CAAC,CAAC;AAwBF,MAAM,UAAU,cAAc,CAAC,EAC9B,MAAM,EACN,WAAW,EACX,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,eAAe,GAAG,QAAQ,EAC1B,2BAA2B,GACN;IACrB,kDAAkD;IAClD,MAAM,wBAAwB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,wBAAwB,EAAE,CAAC,CAAC;IAE9E,sCAAsC;IACtC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAC;IAErE,qDAAqD;IACrD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1C,CAAC;IACF,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtB,wGAAwG;IACxG,MAAM,wBAAwB,GAAG,KAAK,EACrC,aAAsB,EACtB,QAAmB,EAClB,EAAE;QACH,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,sDAAsD;QACtD,IAAI,UAAU,GAAG,eAAe,CAAC;QACjC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACnC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC;YACJ,aAAa,CAAC,IAAI,CAAC,CAAC;YAEpB,qFAAqF;YACrF,IAAI,MAAuB,CAAC;YAE5B,IAAI,MAAM,CAAC,UAAU,IAAI,kBAAkB,EAAE,EAAE,CAAC;gBAC/C,+BAA+B;gBAC/B,IAAI,kBAAkB,GAAG,EAAE,CAAC;gBAE5B,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrB,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBAExB,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAC/B,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,EAC5B,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,EAChC;oBACC,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE;wBAC1B,kBAAkB,IAAI,KAAK,CAAC;wBAC5B,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;oBACzC,CAAC;oBACD,QAAQ,EAAE,GAAG,EAAE;wBACd,cAAc,CAAC,KAAK,CAAC,CAAC;oBACvB,CAAC;iBACD,EACD,UAAU,CAAC,MAAM,CACjB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,mFAAmF;gBACnF,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CACzB,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,EAC5B,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,EAChC,UAAU,CAAC,MAAM,CACjB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;YAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;YAE1C,gEAAgE;YAChE,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;YAEhD,oEAAoE;YACpE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,eAAe,GAAG,WAAW,CAAC,SAAS,CAAC;YAC9C,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;YAElD,6DAA6D;YAC7D,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC3B,cAAc,CACb,KAAC,gBAAgB,IAEhB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,IAFd,aAAa,mBAAmB,EAAE,CAGtC,CACF,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC;YAEhE,MAAM,EAAC,cAAc,EAAE,YAAY,EAAC,GAAG,oBAAoB,CAC1D,YAAY,EACZ,WAAW,CACX,CAAC;YAEF,gDAAgD;YAChD,MAAM,YAAY,GAAY;gBAC7B,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;aAClE,CAAC;YACF,WAAW,CAAC,CAAC,GAAG,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YAEzC,mDAAmD;YACnD,wBAAwB,CAAC,OAAO,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAEtE,mDAAmD;YACnD,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,mBAAmB,CAAC,EAAE,CAAC,CAAC;YAExB,8CAA8C;YAC9C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,iCAAiC;gBACjC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;oBAClC,cAAc,CACb,KAAC,YAAY,IAEZ,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,OAAO,EAAE,IAAI,IAFR,gBAAgB,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAGtD,CACF,CAAC;gBACH,CAAC;gBAED,uDAAuD;gBACvD,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAChD,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;oBAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,IAAI,EAAE,MAAM,CAAC,IAAI;iBACjB,CAAC,CAAC,CAAC;gBAEJ,MAAM,wBAAwB,GAAG;oBAChC,GAAG,QAAQ;oBACX,YAAY;oBACZ,GAAG,YAAY;iBACf,CAAC;gBACF,WAAW,CAAC,wBAAwB,CAAC,CAAC;gBAEtC,qEAAqE;gBACrE,MAAM,wBAAwB,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;gBACxE,OAAO;YACR,CAAC;YAED,yDAAyD;YACzD,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjD,8CAA8C;gBAC9C,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;oBAChC,MAAM,qBAAqB,GAAG;wBAC7B,aAAa;wBACb,cAAc;wBACd,cAAc;wBACd,eAAe;qBACf,CAAC;oBACF,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAC/C,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAChD,CAAC;oBAEF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7B,yCAAyC;wBACzC,MAAM,iBAAiB,GAAiB,YAAY,CAAC,GAAG,CACvD,QAAQ,CAAC,EAAE,CAAC,CAAC;4BACZ,YAAY,EAAE,QAAQ,CAAC,EAAE;4BACzB,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;4BAC5B,OAAO,EAAE,WAAW,QAAQ,CAAC,QAAQ,CAAC,IAAI,8JAA8J;yBACxM,CAAC,CACF,CAAC;wBAEF,yBAAyB;wBACzB,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;4BACvC,cAAc,CACb,KAAC,YAAY,IAEZ,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,OAAO,EAAE,IAAI,IAFR,qBAAqB,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAG3D,CACF,CAAC;wBACH,CAAC;wBAED,4CAA4C;wBAC5C,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BACrD,IAAI,EAAE,MAAe;4BACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;4BAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,IAAI,EAAE,MAAM,CAAC,IAAI;yBACjB,CAAC,CAAC,CAAC;wBAEJ,MAAM,wBAAwB,GAAG;4BAChC,GAAG,QAAQ;4BACX,YAAY;4BACZ,GAAG,YAAY;yBACf,CAAC;wBACF,WAAW,CAAC,wBAAwB,CAAC,CAAC;wBAEtC,qEAAqE;wBACrE,MAAM,wBAAwB,CAC7B,aAAa,EACb,wBAAwB,CACxB,CAAC;wBACF,OAAO;oBACR,CAAC;gBACF,CAAC;gBAED,4DAA4D;gBAC5D,wEAAwE;gBACxE,MAAM,wBAAwB,GAAe,EAAE,CAAC;gBAChD,MAAM,sBAAsB,GAAe,EAAE,CAAC;gBAE9C,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;oBACvC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CACnC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAC1C,CAAC;oBAEF,gCAAgC;oBAChC,IAAI,gBAAgB,GAAG,KAAK,CAAC;oBAE7B,2DAA2D;oBAC3D,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;wBAC3D,gBAAgB,GAAG,IAAI,CAAC;oBACzB,CAAC;yBAAM,IAAI,WAAW,EAAE,CAAC;wBACxB,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAC7C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CACtB,CAAC;wBACF,IAAI,SAAS,EAAE,CAAC;4BACf,IAAI,CAAC;gCACJ,MAAM,UAAU,GAAG,kBAAkB,CACpC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAC3B,CAAC;gCAEF,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;gCACrD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;oCAC7B,gBAAgB,GAAG,IAAI,CAAC;gCACzB,CAAC;4BACF,CAAC;4BAAC,MAAM,CAAC;gCACR,0DAA0D;gCAC1D,gBAAgB,GAAG,IAAI,CAAC;4BACzB,CAAC;wBACF,CAAC;oBACF,CAAC;oBAED,qGAAqG;oBACrG,iEAAiE;oBACjE,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC;oBAC7D,IACC,gBAAgB;wBAChB,CAAC,OAAO,IAAI,OAAO,CAAC,oBAAoB,KAAK,KAAK,CAAC;wBACnD,CAAC,eAAe,KAAK,aAAa,IAAI,CAAC,UAAU,CAAC,EACjD,CAAC;wBACF,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvC,CAAC;yBAAM,CAAC;wBACP,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzC,CAAC;gBACF,CAAC;gBAED,0CAA0C;gBAC1C,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvC,4DAA4D;oBAC5D,MAAM,EAAC,cAAc,EAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;oBAC3D,MAAM,aAAa,GAAiB,EAAE,CAAC;oBAEvC,KAAK,MAAM,QAAQ,IAAI,sBAAsB,EAAE,CAAC;wBAC/C,IAAI,CAAC;4BACJ,6BAA6B;4BAC7B,MAAM,SAAS,GAAG,WAAW,EAAE,gBAAgB,CAC9C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CACtB,CAAC;4BACF,IAAI,SAAS,EAAE,CAAC;gCACf,MAAM,UAAU,GAAG,kBAAkB,CACpC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAC3B,CAAC;gCAEF,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;gCACrD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;oCAC7B,6DAA6D;oCAC7D,MAAM,WAAW,GAAe;wCAC/B,YAAY,EAAE,QAAQ,CAAC,EAAE;wCACzB,IAAI,EAAE,MAAe;wCACrB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;wCAC5B,OAAO,EAAE,gBAAgB,CAAC,KAAK;qCAC/B,CAAC;oCACF,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oCAEhC,uCAAuC;oCACvC,wBAAwB,CAAC,OAAO,CAAC,wBAAwB,CACxD,QAAQ,EACR,WAAW,CAAC,OAAO,CACnB,CAAC;oCAEF,2CAA2C;oCAC3C,cAAc,CACb,KAAC,YAAY,IAEZ,OAAO,EAAE,gBAAgB,CAAC,KAAK,EAC/B,OAAO,EAAE,IAAI,IAFR,oBAAoB,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAGnD,CACF,CAAC;oCAEF,SAAS,CAAC,oBAAoB;gCAC/B,CAAC;4BACF,CAAC;4BAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;4BAC9C,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BAE3B,gDAAgD;4BAChD,wBAAwB,CAAC,OAAO,CAAC,wBAAwB,CACxD,QAAQ,EACR,MAAM,CAAC,OAAO,CACd,CAAC;4BAEF,sCAAsC;4BACtC,MAAM,iBAAiB,CACtB,QAAQ,EACR,MAAM,EACN,WAAW,EACX,cAAc,EACd,mBAAmB,CACnB,CAAC;wBACH,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BAChB,+BAA+B;4BAC/B,MAAM,WAAW,GAAe;gCAC/B,YAAY,EAAE,QAAQ,CAAC,EAAE;gCACzB,IAAI,EAAE,MAAe;gCACrB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;gCAC5B,OAAO,EAAE,UAAU,WAAW,CAAC,KAAK,CAAC,EAAE;6BACvC,CAAC;4BACF,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAEhC,uCAAuC;4BACvC,wBAAwB,CAAC,OAAO,CAAC,wBAAwB,CACxD,QAAQ,EACR,WAAW,CAAC,OAAO,CACnB,CAAC;4BAEF,2BAA2B;4BAC3B,MAAM,iBAAiB,CACtB,QAAQ,EACR,WAAW,EACX,WAAW,EACX,cAAc,EACd,mBAAmB,CACnB,CAAC;wBACH,CAAC;oBACF,CAAC;oBAED,0DAA0D;oBAC1D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,gDAAgD;wBAChD,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BACjD,IAAI,EAAE,MAAe;4BACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;4BAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,IAAI,EAAE,MAAM,CAAC,IAAI;yBACjB,CAAC,CAAC,CAAC;wBAEJ,MAAM,wBAAwB,GAAG;4BAChC,GAAG,QAAQ;4BACX,YAAY;4BACZ,GAAG,YAAY;yBACf,CAAC;wBACF,WAAW,CAAC,wBAAwB,CAAC,CAAC;wBAEtC,mEAAmE;wBACnE,MAAM,wBAAwB,CAC7B,aAAa,EACb,wBAAwB,CACxB,CAAC;wBACF,OAAO;oBACR,CAAC;gBACF,CAAC;gBAED,sDAAsD;gBACtD,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzC,2BAA2B,CAC1B,wBAAwB,EACxB,QAAQ,EACR,YAAY,EACZ,aAAa,CACb,CAAC;gBACH,CAAC;YACF,CAAC;YAED,yDAAyD;YACzD,iGAAiG;YACjG,2CAA2C;YAC3C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC3D,sEAAsE;gBACtE,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAClD,MAAM,oBAAoB,GAAG,WAAW,EAAE,IAAI,KAAK,MAAM,CAAC;gBAE1D,IAAI,oBAAoB,EAAE,CAAC;oBAC1B,yDAAyD;oBACzD,MAAM,YAAY,GAAY;wBAC7B,IAAI,EAAE,MAAM;wBACZ,OAAO,EACN,uEAAuE;qBACxE,CAAC;oBAEF,MAAM,wBAAwB,GAAG;wBAChC,GAAG,QAAQ;wBACX,YAAY;wBACZ,YAAY;qBACZ,CAAC;oBACF,WAAW,CAAC,wBAAwB,CAAC,CAAC;oBAEtC,gDAAgD;oBAChD,MAAM,wBAAwB,CAC7B,aAAa,EACb,wBAAwB,CACxB,CAAC;oBACF,OAAO;gBACR,CAAC;qBAAM,CAAC;oBACP,cAAc,CACb,KAAC,YAAY,IAEZ,OAAO,EAAC,mMAAmM,EAC3M,OAAO,EAAE,IAAI,IAFR,kBAAkB,mBAAmB,EAAE,CAG3C,CACF,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IACC,KAAK,YAAY,KAAK;gBACtB,KAAK,CAAC,OAAO,KAAK,yBAAyB,EAC1C,CAAC;gBACF,cAAc,CACb,KAAC,YAAY,IAEZ,OAAO,EAAC,sBAAsB,EAC9B,OAAO,EAAE,IAAI,IAFR,aAAa,mBAAmB,EAAE,CAGtC,CACF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,8BAA8B;gBAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBACpC,cAAc,CACb,KAAC,YAAY,IACZ,OAAO,EAAE,IAAI,EAEb,OAAO,EAAE,QAAQ,IADZ,SAAS,mBAAmB,EAAE,CAElC,CACF,CAAC;YACH,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACF,CAAC,CAAC;IAEF,iCAAiC;IACjC,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;QACnD,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW;YAAE,OAAO;QAEpC,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,SAAS,EAAE,YAAY,IAAI,OAAO,CAAC;QAE1D,qEAAqE;QACrE,cAAc,CACb,KAAC,WAAW,IAEX,OAAO,EAAE,cAAc,IADlB,QAAQ,mBAAmB,EAAE,CAEjC,CACF,CAAC;QAEF,2CAA2C;QAC3C,MAAM,WAAW,GAAY,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC;QAC9D,MAAM,eAAe,GAAG,CAAC,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC;QACnD,WAAW,CAAC,eAAe,CAAC,CAAC;QAE7B,8DAA8D;QAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,wBAAwB,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC;QAED,2CAA2C;QAC3C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAE/B,yCAAyC;QACzC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC;YACJ,iEAAiE;YACjE,iFAAiF;YACjF,MAAM,YAAY,GAAG,qBAAqB,CACzC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAC5C,CAAC;YAEF,wBAAwB;YACxB,MAAM,aAAa,GAAY;gBAC9B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,YAAY;aACrB,CAAC;YAEF,gCAAgC;YAChC,MAAM,wBAAwB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IACC,KAAK,YAAY,KAAK;gBACtB,KAAK,CAAC,OAAO,KAAK,yBAAyB,EAC1C,CAAC;gBACF,cAAc,CACb,KAAC,YAAY,IAEZ,OAAO,EAAC,iCAAiC,EACzC,OAAO,EAAE,IAAI,IAFR,aAAa,mBAAmB,EAAE,CAGtC,CACF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,8BAA8B;gBAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBACpC,cAAc,CACb,KAAC,YAAY,IAEZ,OAAO,EAAE,QAAQ,IADZ,SAAS,mBAAmB,EAAE,CAElC,CACF,CAAC;YACH,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACF,CAAC,CAAC;IAEF,OAAO;QACN,iBAAiB;QACjB,wBAAwB;QACxB,WAAW;QACX,gBAAgB;KAChB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"useChatHandler.js","sourceRoot":"","sources":["../../source/hooks/useChatHandler.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { useState, useEffect, useCallback } from 'react';
2
1
  import path from 'path';
3
2
  import { loadPreferences, savePreferences } from '../config/preferences.js';
4
3
  import { logError, logInfo } from '../utils/message-queue.js';
4
+ import { useCallback, useEffect, useState } from 'react';
5
5
  /**
6
6
  * Custom hook for managing directory trust functionality.
7
7
  * Handles checking if a directory is trusted and adding it to trusted directories.
@@ -1 +1 @@
1
- {"version":3,"file":"useDirectoryTrust.js","sourceRoot":"","sources":["../../source/hooks/useDirectoryTrust.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAC,MAAM,OAAO,CAAC;AACvD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,eAAe,EAAE,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,uBAAuB,CAAC;AASxD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAChC,YAAoB,OAAO,CAAC,GAAG,EAAE;IAEjC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExD,oEAAoE;IACpE,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC7B,IAAI,CAAC;gBACJ,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEf,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;gBACtC,MAAM,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,IAAI,EAAE,CAAC;gBAEhE,wEAAwE;gBACxE,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACpD,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAC3C,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,mBAAmB,CAC9D,CAAC;gBAEF,YAAY,CAAC,YAAY,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,YAAY,GACjB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;gBAC/D,QAAQ,CAAC,2CAA2C,YAAY,EAAE,CAAC,CAAC;gBAEpE,QAAQ,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;YAC7B,CAAC;oBAAS,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACF,CAAC,CAAC;QAEF,gBAAgB,EAAE,CAAC;IACpB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,qDAAqD;IACrD,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,CAAC;YACJ,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEf,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;YACtC,MAAM,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,IAAI,EAAE,CAAC;YAEhE,2DAA2D;YAC3D,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEpD,iEAAiE;YACjE,IACC,CAAC,kBAAkB,CAAC,IAAI,CACvB,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,mBAAmB,CAC9D,EACA,CAAC;gBACF,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC7C,WAAW,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;gBACpD,eAAe,CAAC,WAAW,CAAC,CAAC;gBAE7B,OAAO,CAAC,oCAAoC,mBAAmB,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,YAAY,GACjB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YAC/D,QAAQ,CAAC,mCAAmC,YAAY,EAAE,CAAC,CAAC;YAE5D,QAAQ,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO;QACN,SAAS;QACT,kBAAkB;QAClB,cAAc,EAAE,SAAS;QACzB,cAAc,EAAE,KAAK;KACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"useDirectoryTrust.js","sourceRoot":"","sources":["../../source/hooks/useDirectoryTrust.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,eAAe,EAAE,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AASvD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAChC,YAAoB,OAAO,CAAC,GAAG,EAAE;IAEjC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExD,oEAAoE;IACpE,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC7B,IAAI,CAAC;gBACJ,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEf,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;gBACtC,MAAM,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,IAAI,EAAE,CAAC;gBAEhE,wEAAwE;gBACxE,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACpD,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAC3C,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,mBAAmB,CAC9D,CAAC;gBAEF,YAAY,CAAC,YAAY,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,YAAY,GACjB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;gBAC/D,QAAQ,CAAC,2CAA2C,YAAY,EAAE,CAAC,CAAC;gBAEpE,QAAQ,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;YAC7B,CAAC;oBAAS,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACF,CAAC,CAAC;QAEF,gBAAgB,EAAE,CAAC;IACpB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,qDAAqD;IACrD,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,CAAC;YACJ,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEf,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;YACtC,MAAM,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,IAAI,EAAE,CAAC;YAEhE,2DAA2D;YAC3D,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEpD,iEAAiE;YACjE,IACC,CAAC,kBAAkB,CAAC,IAAI,CACvB,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,mBAAmB,CAC9D,EACA,CAAC;gBACF,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC7C,WAAW,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;gBACpD,eAAe,CAAC,WAAW,CAAC,CAAC;gBAE7B,OAAO,CAAC,oCAAoC,mBAAmB,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,YAAY,GACjB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YAC/D,QAAQ,CAAC,mCAAmC,YAAY,EAAE,CAAC,CAAC;YAE5D,QAAQ,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO;QACN,SAAS;QACT,kBAAkB;QAClB,cAAc,EAAE,SAAS;QACzB,cAAc,EAAE,KAAK;KACrB,CAAC;AACH,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
2
  import { PlaceholderType } from '../types/hooks.js';
3
- import { handlePaste } from '../utils/paste-utils.js';
4
- import { PasteDetector } from '../utils/paste-detection.js';
5
3
  import { handleAtomicDeletion } from '../utils/atomic-deletion.js';
4
+ import { PasteDetector } from '../utils/paste-detection.js';
5
+ import { handlePaste } from '../utils/paste-utils.js';
6
6
  // Helper functions
7
7
  function createEmptyInputState() {
8
8
  return {