@qduc/term2 0.6.0 → 0.6.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 (442) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +11 -9
  3. package/dist/agent.js.map +1 -1
  4. package/dist/agent.lite-mode.test.d.ts +2 -0
  5. package/dist/agent.lite-mode.test.d.ts.map +1 -0
  6. package/dist/agent.lite-mode.test.js +39 -0
  7. package/dist/agent.lite-mode.test.js.map +1 -0
  8. package/dist/agent.test.js +17 -4
  9. package/dist/agent.test.js.map +1 -1
  10. package/dist/app.d.ts +4 -2
  11. package/dist/app.d.ts.map +1 -1
  12. package/dist/app.js +24 -1
  13. package/dist/app.js.map +1 -1
  14. package/dist/cli.js +53 -24
  15. package/dist/cli.js.map +1 -1
  16. package/dist/components/ApprovalPrompt.test.d.ts +2 -0
  17. package/dist/components/ApprovalPrompt.test.d.ts.map +1 -0
  18. package/dist/components/ApprovalPrompt.test.js +23 -0
  19. package/dist/components/ApprovalPrompt.test.js.map +1 -0
  20. package/dist/components/LiveResponse.test.d.ts +2 -0
  21. package/dist/components/LiveResponse.test.d.ts.map +1 -0
  22. package/dist/components/LiveResponse.test.js +13 -0
  23. package/dist/components/LiveResponse.test.js.map +1 -0
  24. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts +2 -0
  25. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts.map +1 -0
  26. package/dist/components/ModelSelectionMenu.error-tabs.test.js +18 -0
  27. package/dist/components/ModelSelectionMenu.error-tabs.test.js.map +1 -0
  28. package/dist/components/TextInput.d.ts +42 -0
  29. package/dist/components/TextInput.d.ts.map +1 -0
  30. package/dist/components/TextInput.js +398 -0
  31. package/dist/components/TextInput.js.map +1 -0
  32. package/dist/components/TextInput.test.d.ts +2 -0
  33. package/dist/components/TextInput.test.d.ts.map +1 -0
  34. package/dist/components/TextInput.test.js +75 -0
  35. package/dist/components/TextInput.test.js.map +1 -0
  36. package/dist/debug_ask_mentor.d.ts +2 -0
  37. package/dist/debug_ask_mentor.d.ts.map +1 -0
  38. package/dist/debug_ask_mentor.js +73 -0
  39. package/dist/debug_ask_mentor.js.map +1 -0
  40. package/dist/hooks/use-conversation.clear.test.d.ts +2 -0
  41. package/dist/hooks/use-conversation.clear.test.d.ts.map +1 -0
  42. package/dist/hooks/use-conversation.clear.test.js +49 -0
  43. package/dist/hooks/use-conversation.clear.test.js.map +1 -0
  44. package/dist/hooks/use-conversation.d.ts +5 -2
  45. package/dist/hooks/use-conversation.d.ts.map +1 -1
  46. package/dist/hooks/use-conversation.js +10 -4
  47. package/dist/hooks/use-conversation.js.map +1 -1
  48. package/dist/hooks/use-conversation.max-turns-undo.test.d.ts +2 -0
  49. package/dist/hooks/use-conversation.max-turns-undo.test.d.ts.map +1 -0
  50. package/dist/hooks/use-conversation.max-turns-undo.test.js +118 -0
  51. package/dist/hooks/use-conversation.max-turns-undo.test.js.map +1 -0
  52. package/dist/lib/openai-agent-client.chat.test.js +40 -0
  53. package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
  54. package/dist/lib/openai-agent-client.d.ts +8 -1
  55. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  56. package/dist/lib/openai-agent-client.js +43 -1
  57. package/dist/lib/openai-agent-client.js.map +1 -1
  58. package/dist/lib/retry-executor.js +45 -7
  59. package/dist/lib/retry-executor.js.map +1 -1
  60. package/dist/lib/retry-executor.test.js +63 -0
  61. package/dist/lib/retry-executor.test.js.map +1 -1
  62. package/dist/lib/shell.d.ts +7 -0
  63. package/dist/lib/shell.d.ts.map +1 -0
  64. package/dist/lib/shell.js +56 -0
  65. package/dist/lib/shell.js.map +1 -0
  66. package/dist/modes/companion/command-index.d.ts +26 -0
  67. package/dist/modes/companion/command-index.d.ts.map +1 -0
  68. package/dist/modes/companion/command-index.js +50 -0
  69. package/dist/modes/companion/command-index.js.map +1 -0
  70. package/dist/modes/companion/command-index.test.d.ts +2 -0
  71. package/dist/modes/companion/command-index.test.d.ts.map +1 -0
  72. package/dist/modes/companion/command-index.test.js +86 -0
  73. package/dist/modes/companion/command-index.test.js.map +1 -0
  74. package/dist/modes/companion/companion-app.d.ts +12 -0
  75. package/dist/modes/companion/companion-app.d.ts.map +1 -0
  76. package/dist/modes/companion/companion-app.js +297 -0
  77. package/dist/modes/companion/companion-app.js.map +1 -0
  78. package/dist/modes/companion/companion-session.d.ts +63 -0
  79. package/dist/modes/companion/companion-session.d.ts.map +1 -0
  80. package/dist/modes/companion/companion-session.js +146 -0
  81. package/dist/modes/companion/companion-session.js.map +1 -0
  82. package/dist/modes/companion/companion-session.test.d.ts +2 -0
  83. package/dist/modes/companion/companion-session.test.d.ts.map +1 -0
  84. package/dist/modes/companion/companion-session.test.js +28 -0
  85. package/dist/modes/companion/companion-session.test.js.map +1 -0
  86. package/dist/modes/companion/components/status-bar.d.ts +13 -0
  87. package/dist/modes/companion/components/status-bar.d.ts.map +1 -0
  88. package/dist/modes/companion/components/status-bar.js +26 -0
  89. package/dist/modes/companion/components/status-bar.js.map +1 -0
  90. package/dist/modes/companion/context-buffer.d.ts +65 -0
  91. package/dist/modes/companion/context-buffer.d.ts.map +1 -0
  92. package/dist/modes/companion/context-buffer.js +156 -0
  93. package/dist/modes/companion/context-buffer.js.map +1 -0
  94. package/dist/modes/companion/context-buffer.test.d.ts +2 -0
  95. package/dist/modes/companion/context-buffer.test.d.ts.map +1 -0
  96. package/dist/modes/companion/context-buffer.test.js +154 -0
  97. package/dist/modes/companion/context-buffer.test.js.map +1 -0
  98. package/dist/modes/companion/event-detector.d.ts +46 -0
  99. package/dist/modes/companion/event-detector.d.ts.map +1 -0
  100. package/dist/modes/companion/event-detector.js +169 -0
  101. package/dist/modes/companion/event-detector.js.map +1 -0
  102. package/dist/modes/companion/event-detector.test.d.ts +2 -0
  103. package/dist/modes/companion/event-detector.test.d.ts.map +1 -0
  104. package/dist/modes/companion/event-detector.test.js +121 -0
  105. package/dist/modes/companion/event-detector.test.js.map +1 -0
  106. package/dist/modes/companion/index.d.ts +33 -0
  107. package/dist/modes/companion/index.d.ts.map +1 -0
  108. package/dist/modes/companion/index.js +21 -0
  109. package/dist/modes/companion/index.js.map +1 -0
  110. package/dist/modes/companion/input-key-mapper.d.ts +3 -0
  111. package/dist/modes/companion/input-key-mapper.d.ts.map +1 -0
  112. package/dist/modes/companion/input-key-mapper.js +31 -0
  113. package/dist/modes/companion/input-key-mapper.js.map +1 -0
  114. package/dist/modes/companion/input-key-mapper.test.d.ts +2 -0
  115. package/dist/modes/companion/input-key-mapper.test.d.ts.map +1 -0
  116. package/dist/modes/companion/input-key-mapper.test.js +26 -0
  117. package/dist/modes/companion/input-key-mapper.test.js.map +1 -0
  118. package/dist/modes/companion/input-parser.d.ts +53 -0
  119. package/dist/modes/companion/input-parser.d.ts.map +1 -0
  120. package/dist/modes/companion/input-parser.js +114 -0
  121. package/dist/modes/companion/input-parser.js.map +1 -0
  122. package/dist/modes/companion/input-parser.test.d.ts +2 -0
  123. package/dist/modes/companion/input-parser.test.d.ts.map +1 -0
  124. package/dist/modes/companion/input-parser.test.js +123 -0
  125. package/dist/modes/companion/input-parser.test.js.map +1 -0
  126. package/dist/modes/companion/mode-manager.d.ts +41 -0
  127. package/dist/modes/companion/mode-manager.d.ts.map +1 -0
  128. package/dist/modes/companion/mode-manager.js +56 -0
  129. package/dist/modes/companion/mode-manager.js.map +1 -0
  130. package/dist/modes/companion/mode-manager.test.d.ts +2 -0
  131. package/dist/modes/companion/mode-manager.test.d.ts.map +1 -0
  132. package/dist/modes/companion/mode-manager.test.js +65 -0
  133. package/dist/modes/companion/mode-manager.test.js.map +1 -0
  134. package/dist/modes/companion/output-classifier.d.ts +15 -0
  135. package/dist/modes/companion/output-classifier.d.ts.map +1 -0
  136. package/dist/modes/companion/output-classifier.js +77 -0
  137. package/dist/modes/companion/output-classifier.js.map +1 -0
  138. package/dist/modes/companion/output-classifier.test.d.ts +2 -0
  139. package/dist/modes/companion/output-classifier.test.d.ts.map +1 -0
  140. package/dist/modes/companion/output-classifier.test.js +133 -0
  141. package/dist/modes/companion/output-classifier.test.js.map +1 -0
  142. package/dist/modes/companion/pty-wrapper.d.ts +46 -0
  143. package/dist/modes/companion/pty-wrapper.d.ts.map +1 -0
  144. package/dist/modes/companion/pty-wrapper.js +143 -0
  145. package/dist/modes/companion/pty-wrapper.js.map +1 -0
  146. package/dist/modes/companion/safety-classifier.d.ts +31 -0
  147. package/dist/modes/companion/safety-classifier.d.ts.map +1 -0
  148. package/dist/modes/companion/safety-classifier.js +140 -0
  149. package/dist/modes/companion/safety-classifier.js.map +1 -0
  150. package/dist/modes/companion/safety-classifier.test.d.ts +2 -0
  151. package/dist/modes/companion/safety-classifier.test.d.ts.map +1 -0
  152. package/dist/modes/companion/safety-classifier.test.js +151 -0
  153. package/dist/modes/companion/safety-classifier.test.js.map +1 -0
  154. package/dist/modes/companion/summarizer.d.ts +24 -0
  155. package/dist/modes/companion/summarizer.d.ts.map +1 -0
  156. package/dist/modes/companion/summarizer.js +132 -0
  157. package/dist/modes/companion/summarizer.js.map +1 -0
  158. package/dist/modes/companion/terminal-history.d.ts +27 -0
  159. package/dist/modes/companion/terminal-history.d.ts.map +1 -0
  160. package/dist/modes/companion/terminal-history.js +142 -0
  161. package/dist/modes/companion/terminal-history.js.map +1 -0
  162. package/dist/non-interactive.d.ts +1 -0
  163. package/dist/non-interactive.d.ts.map +1 -1
  164. package/dist/non-interactive.js +3 -1
  165. package/dist/non-interactive.js.map +1 -1
  166. package/dist/non-interactive.test.js +8 -1
  167. package/dist/non-interactive.test.js.map +1 -1
  168. package/dist/prompts/gpt-5.md +4 -7
  169. package/dist/prompts/simple-mentor.md +215 -0
  170. package/dist/providers/ai-sdk-logging-fetch.d.ts +1 -1
  171. package/dist/providers/ai-sdk-logging-fetch.d.ts.map +1 -1
  172. package/dist/providers/ai-sdk-logging-fetch.js +67 -44
  173. package/dist/providers/ai-sdk-logging-fetch.js.map +1 -1
  174. package/dist/providers/ai-sdk-logging-fetch.test.js +59 -5
  175. package/dist/providers/ai-sdk-logging-fetch.test.js.map +1 -1
  176. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts +2 -0
  177. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts.map +1 -1
  178. package/dist/providers/ai-sdk-openai-compatible.provider.js +8 -4
  179. package/dist/providers/ai-sdk-openai-compatible.provider.js.map +1 -1
  180. package/dist/providers/ai-sdk-openai-compatible.provider.test.js +119 -1
  181. package/dist/providers/ai-sdk-openai-compatible.provider.test.js.map +1 -1
  182. package/dist/providers/ai-sdk-openai.provider.d.ts +14 -0
  183. package/dist/providers/ai-sdk-openai.provider.d.ts.map +1 -0
  184. package/dist/providers/ai-sdk-openai.provider.js +18 -0
  185. package/dist/providers/ai-sdk-openai.provider.js.map +1 -0
  186. package/dist/providers/github-copilot/converters.d.ts +45 -0
  187. package/dist/providers/github-copilot/converters.d.ts.map +1 -0
  188. package/dist/providers/github-copilot/converters.js +118 -0
  189. package/dist/providers/github-copilot/converters.js.map +1 -0
  190. package/dist/providers/github-copilot/converters.test.d.ts +2 -0
  191. package/dist/providers/github-copilot/converters.test.d.ts.map +1 -0
  192. package/dist/providers/github-copilot/converters.test.js +162 -0
  193. package/dist/providers/github-copilot/converters.test.js.map +1 -0
  194. package/dist/providers/github-copilot/github-copilot.provider.d.ts +2 -0
  195. package/dist/providers/github-copilot/github-copilot.provider.d.ts.map +1 -0
  196. package/dist/providers/github-copilot/github-copilot.provider.js +75 -0
  197. package/dist/providers/github-copilot/github-copilot.provider.js.map +1 -0
  198. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts +2 -0
  199. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts.map +1 -0
  200. package/dist/providers/github-copilot/github-copilot.provider.test.js +26 -0
  201. package/dist/providers/github-copilot/github-copilot.provider.test.js.map +1 -0
  202. package/dist/providers/github-copilot/index.d.ts +4 -0
  203. package/dist/providers/github-copilot/index.d.ts.map +1 -0
  204. package/dist/providers/github-copilot/index.js +4 -0
  205. package/dist/providers/github-copilot/index.js.map +1 -0
  206. package/dist/providers/github-copilot/model.d.ts +24 -0
  207. package/dist/providers/github-copilot/model.d.ts.map +1 -0
  208. package/dist/providers/github-copilot/model.delta.test.d.ts +2 -0
  209. package/dist/providers/github-copilot/model.delta.test.d.ts.map +1 -0
  210. package/dist/providers/github-copilot/model.delta.test.js +15 -0
  211. package/dist/providers/github-copilot/model.delta.test.js.map +1 -0
  212. package/dist/providers/github-copilot/model.js +498 -0
  213. package/dist/providers/github-copilot/model.js.map +1 -0
  214. package/dist/providers/github-copilot/model.test.d.ts +2 -0
  215. package/dist/providers/github-copilot/model.test.d.ts.map +1 -0
  216. package/dist/providers/github-copilot/model.test.js +63 -0
  217. package/dist/providers/github-copilot/model.test.js.map +1 -0
  218. package/dist/providers/github-copilot/provider.d.ts +15 -0
  219. package/dist/providers/github-copilot/provider.d.ts.map +1 -0
  220. package/dist/providers/github-copilot/provider.js +25 -0
  221. package/dist/providers/github-copilot/provider.js.map +1 -0
  222. package/dist/providers/github-copilot/provider.test.d.ts +2 -0
  223. package/dist/providers/github-copilot/provider.test.d.ts.map +1 -0
  224. package/dist/providers/github-copilot/provider.test.js +52 -0
  225. package/dist/providers/github-copilot/provider.test.js.map +1 -0
  226. package/dist/providers/github-copilot/utils.d.ts +20 -0
  227. package/dist/providers/github-copilot/utils.d.ts.map +1 -0
  228. package/dist/providers/github-copilot/utils.js +142 -0
  229. package/dist/providers/github-copilot/utils.js.map +1 -0
  230. package/dist/providers/github-copilot/utils.test.d.ts +2 -0
  231. package/dist/providers/github-copilot/utils.test.d.ts.map +1 -0
  232. package/dist/providers/github-copilot/utils.test.js +21 -0
  233. package/dist/providers/github-copilot/utils.test.js.map +1 -0
  234. package/dist/providers/openai-compatible/api.d.ts +17 -0
  235. package/dist/providers/openai-compatible/api.d.ts.map +1 -0
  236. package/dist/providers/openai-compatible/api.js +58 -0
  237. package/dist/providers/openai-compatible/api.js.map +1 -0
  238. package/dist/providers/openai-compatible/model.d.ts +17 -0
  239. package/dist/providers/openai-compatible/model.d.ts.map +1 -0
  240. package/dist/providers/openai-compatible/model.js +473 -0
  241. package/dist/providers/openai-compatible/model.js.map +1 -0
  242. package/dist/providers/openai-compatible/provider.d.ts +22 -0
  243. package/dist/providers/openai-compatible/provider.d.ts.map +1 -0
  244. package/dist/providers/openai-compatible/provider.js +43 -0
  245. package/dist/providers/openai-compatible/provider.js.map +1 -0
  246. package/dist/providers/openai-compatible/reasoning-content.test.d.ts +2 -0
  247. package/dist/providers/openai-compatible/reasoning-content.test.d.ts.map +1 -0
  248. package/dist/providers/openai-compatible/reasoning-content.test.js +258 -0
  249. package/dist/providers/openai-compatible/reasoning-content.test.js.map +1 -0
  250. package/dist/providers/openai-compatible/utils.d.ts +3 -0
  251. package/dist/providers/openai-compatible/utils.d.ts.map +1 -0
  252. package/dist/providers/openai-compatible/utils.js +11 -0
  253. package/dist/providers/openai-compatible/utils.js.map +1 -0
  254. package/dist/providers/openai-compatible-behavior-gate.test.js +42 -1
  255. package/dist/providers/openai-compatible-behavior-gate.test.js.map +1 -1
  256. package/dist/providers/openai.provider.js +21 -1
  257. package/dist/providers/openai.provider.js.map +1 -1
  258. package/dist/providers/openrouter/api.d.ts +39 -0
  259. package/dist/providers/openrouter/api.d.ts.map +1 -0
  260. package/dist/providers/openrouter/api.js +164 -0
  261. package/dist/providers/openrouter/api.js.map +1 -0
  262. package/dist/providers/openrouter/converters.d.ts +8 -0
  263. package/dist/providers/openrouter/converters.d.ts.map +1 -0
  264. package/dist/providers/openrouter/converters.js +391 -0
  265. package/dist/providers/openrouter/converters.js.map +1 -0
  266. package/dist/providers/openrouter/converters.test.d.ts +2 -0
  267. package/dist/providers/openrouter/converters.test.d.ts.map +1 -0
  268. package/dist/providers/openrouter/converters.test.js +179 -0
  269. package/dist/providers/openrouter/converters.test.js.map +1 -0
  270. package/dist/providers/openrouter/index.d.ts +4 -0
  271. package/dist/providers/openrouter/index.d.ts.map +1 -0
  272. package/dist/providers/openrouter/index.js +4 -0
  273. package/dist/providers/openrouter/index.js.map +1 -0
  274. package/dist/providers/openrouter/model.d.ts +14 -0
  275. package/dist/providers/openrouter/model.d.ts.map +1 -0
  276. package/dist/providers/openrouter/model.js +457 -0
  277. package/dist/providers/openrouter/model.js.map +1 -0
  278. package/dist/providers/openrouter/provider.d.ts +15 -0
  279. package/dist/providers/openrouter/provider.d.ts.map +1 -0
  280. package/dist/providers/openrouter/provider.js +21 -0
  281. package/dist/providers/openrouter/provider.js.map +1 -0
  282. package/dist/providers/openrouter/reasoning-content.test.d.ts +2 -0
  283. package/dist/providers/openrouter/reasoning-content.test.d.ts.map +1 -0
  284. package/dist/providers/openrouter/reasoning-content.test.js +122 -0
  285. package/dist/providers/openrouter/reasoning-content.test.js.map +1 -0
  286. package/dist/providers/openrouter/utils.d.ts +11 -0
  287. package/dist/providers/openrouter/utils.d.ts.map +1 -0
  288. package/dist/providers/openrouter/utils.js +29 -0
  289. package/dist/providers/openrouter/utils.js.map +1 -0
  290. package/dist/providers/openrouter.api.retry.test.d.ts +2 -0
  291. package/dist/providers/openrouter.api.retry.test.d.ts.map +1 -0
  292. package/dist/providers/openrouter.api.retry.test.js +148 -0
  293. package/dist/providers/openrouter.api.retry.test.js.map +1 -0
  294. package/dist/providers/openrouter.provider.d.ts +2 -0
  295. package/dist/providers/openrouter.provider.d.ts.map +1 -1
  296. package/dist/providers/openrouter.provider.js +20 -2
  297. package/dist/providers/openrouter.provider.js.map +1 -1
  298. package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts +2 -0
  299. package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts.map +1 -0
  300. package/dist/providers/openrouter.provider.request-preprocessing.test.js +48 -0
  301. package/dist/providers/openrouter.provider.request-preprocessing.test.js.map +1 -0
  302. package/dist/providers/openrouter.test.d.ts +2 -0
  303. package/dist/providers/openrouter.test.d.ts.map +1 -0
  304. package/dist/providers/openrouter.test.js +1449 -0
  305. package/dist/providers/openrouter.test.js.map +1 -0
  306. package/dist/providers/registry.test.js +27 -2
  307. package/dist/providers/registry.test.js.map +1 -1
  308. package/dist/safety-checker.js +57 -0
  309. package/dist/scripts/eval-auto-approval/dataset.d.ts +1 -1
  310. package/dist/services/check_mock.d.ts +2 -0
  311. package/dist/services/check_mock.d.ts.map +1 -0
  312. package/dist/services/check_mock.js +22 -0
  313. package/dist/services/check_mock.js.map +1 -0
  314. package/dist/services/conversation-clear-save.test.d.ts +2 -0
  315. package/dist/services/conversation-clear-save.test.d.ts.map +1 -0
  316. package/dist/services/conversation-clear-save.test.js +85 -0
  317. package/dist/services/conversation-clear-save.test.js.map +1 -0
  318. package/dist/services/conversation-history-repair.d.ts +25 -0
  319. package/dist/services/conversation-history-repair.d.ts.map +1 -0
  320. package/dist/services/conversation-history-repair.js +227 -0
  321. package/dist/services/conversation-history-repair.js.map +1 -0
  322. package/dist/services/conversation-history-repair.test.d.ts +2 -0
  323. package/dist/services/conversation-history-repair.test.d.ts.map +1 -0
  324. package/dist/services/conversation-history-repair.test.js +76 -0
  325. package/dist/services/conversation-history-repair.test.js.map +1 -0
  326. package/dist/services/conversation-persistence.d.ts +7 -4
  327. package/dist/services/conversation-persistence.d.ts.map +1 -1
  328. package/dist/services/conversation-persistence.js +68 -15
  329. package/dist/services/conversation-persistence.js.map +1 -1
  330. package/dist/services/conversation-persistence.test.js +297 -2
  331. package/dist/services/conversation-persistence.test.js.map +1 -1
  332. package/dist/services/conversation-retry-policy.d.ts +7 -0
  333. package/dist/services/conversation-retry-policy.d.ts.map +1 -1
  334. package/dist/services/conversation-retry-policy.js +34 -0
  335. package/dist/services/conversation-retry-policy.js.map +1 -1
  336. package/dist/services/conversation-retry-policy.test.js +44 -2
  337. package/dist/services/conversation-retry-policy.test.js.map +1 -1
  338. package/dist/services/conversation-service.d.ts +3 -2
  339. package/dist/services/conversation-service.d.ts.map +1 -1
  340. package/dist/services/conversation-service.js +11 -3
  341. package/dist/services/conversation-service.js.map +1 -1
  342. package/dist/services/conversation-service.test.d.ts +2 -0
  343. package/dist/services/conversation-service.test.d.ts.map +1 -0
  344. package/dist/services/conversation-service.test.js +156 -0
  345. package/dist/services/conversation-service.test.js.map +1 -0
  346. package/dist/services/conversation-session.auto-approval.test.js +2 -1
  347. package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
  348. package/dist/services/conversation-session.d.ts +3 -1
  349. package/dist/services/conversation-session.d.ts.map +1 -1
  350. package/dist/services/conversation-session.js +160 -89
  351. package/dist/services/conversation-session.js.map +1 -1
  352. package/dist/services/conversation-store.d.ts.map +1 -1
  353. package/dist/services/conversation-store.js +6 -5
  354. package/dist/services/conversation-store.js.map +1 -1
  355. package/dist/services/conversation-store.test.js +34 -0
  356. package/dist/services/conversation-store.test.js.map +1 -1
  357. package/dist/services/logging-contract.d.ts +1 -1
  358. package/dist/services/logging-service.d.ts +4 -0
  359. package/dist/services/logging-service.d.ts.map +1 -1
  360. package/dist/services/logging-service.js +91 -33
  361. package/dist/services/logging-service.js.map +1 -1
  362. package/dist/services/model-service.d.ts.map +1 -1
  363. package/dist/services/model-service.js +0 -1
  364. package/dist/services/model-service.js.map +1 -1
  365. package/dist/services/provider-traffic.d.ts +87 -0
  366. package/dist/services/provider-traffic.d.ts.map +1 -0
  367. package/dist/services/provider-traffic.js +545 -0
  368. package/dist/services/provider-traffic.js.map +1 -0
  369. package/dist/services/provider-traffic.test.d.ts +2 -0
  370. package/dist/services/provider-traffic.test.d.ts.map +1 -0
  371. package/dist/services/provider-traffic.test.js +383 -0
  372. package/dist/services/provider-traffic.test.js.map +1 -0
  373. package/dist/services/service-interfaces.d.ts +16 -0
  374. package/dist/services/service-interfaces.d.ts.map +1 -1
  375. package/dist/services/settings-service.js +6 -6
  376. package/dist/services/settings-service.js.map +1 -1
  377. package/dist/services/shell-auto-approval-evaluator.d.ts +1 -1
  378. package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
  379. package/dist/services/shell-auto-approval-evaluator.js +284 -81
  380. package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
  381. package/dist/services/shell-auto-approval-evaluator.test.js +215 -15
  382. package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
  383. package/dist/services/subagents/reasoning-inheritance.test.d.ts +2 -0
  384. package/dist/services/subagents/reasoning-inheritance.test.d.ts.map +1 -0
  385. package/dist/services/subagents/reasoning-inheritance.test.js +73 -0
  386. package/dist/services/subagents/reasoning-inheritance.test.js.map +1 -0
  387. package/dist/services/subagents/subagent-manager.d.ts +2 -0
  388. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  389. package/dist/services/subagents/subagent-manager.js +36 -5
  390. package/dist/services/subagents/subagent-manager.js.map +1 -1
  391. package/dist/services/subagents/subagent-manager.test.js +99 -0
  392. package/dist/services/subagents/subagent-manager.test.js.map +1 -1
  393. package/dist/tools/bash.d.ts +10 -0
  394. package/dist/tools/bash.d.ts.map +1 -0
  395. package/dist/tools/bash.js +55 -0
  396. package/dist/tools/bash.js.map +1 -0
  397. package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
  398. package/dist/utils/command-safety/path-analysis.js +143 -35
  399. package/dist/utils/command-safety/path-analysis.js.map +1 -1
  400. package/dist/utils/command-safety.d.ts +21 -0
  401. package/dist/utils/command-safety.d.ts.map +1 -0
  402. package/dist/utils/command-safety.devnull.test.d.ts +2 -0
  403. package/dist/utils/command-safety.devnull.test.d.ts.map +1 -0
  404. package/dist/utils/command-safety.devnull.test.js +13 -0
  405. package/dist/utils/command-safety.devnull.test.js.map +1 -0
  406. package/dist/utils/command-safety.js +348 -0
  407. package/dist/utils/command-safety.js.map +1 -0
  408. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  409. package/dist/utils/conversation-event-handler.js +19 -3
  410. package/dist/utils/conversation-event-handler.js.map +1 -1
  411. package/dist/utils/conversation-event-handler.test.js +72 -0
  412. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  413. package/dist/utils/extract-command-messages.test.d.ts +2 -0
  414. package/dist/utils/extract-command-messages.test.d.ts.map +1 -0
  415. package/dist/utils/provider-traffic-extractor.repro.test.d.ts +2 -0
  416. package/dist/utils/provider-traffic-extractor.repro.test.d.ts.map +1 -0
  417. package/dist/utils/provider-traffic-extractor.repro.test.js.map +1 -0
  418. package/package.json +1 -1
  419. package/dist/hooks/use-path-completion.test.d.ts +0 -2
  420. package/dist/hooks/use-path-completion.test.d.ts.map +0 -1
  421. package/dist/hooks/use-path-completion.test.js +0 -54
  422. package/dist/hooks/use-path-completion.test.js.map +0 -1
  423. package/dist/providers/openai.provider.test.d.ts +0 -2
  424. package/dist/providers/openai.provider.test.d.ts.map +0 -1
  425. package/dist/providers/openai.provider.test.js +0 -22
  426. package/dist/providers/openai.provider.test.js.map +0 -1
  427. package/dist/utils/project-tree.d.ts +0 -14
  428. package/dist/utils/project-tree.d.ts.map +0 -1
  429. package/dist/utils/project-tree.js +0 -111
  430. package/dist/utils/project-tree.js.map +0 -1
  431. package/dist/utils/project-tree.test.d.ts +0 -2
  432. package/dist/utils/project-tree.test.d.ts.map +0 -1
  433. package/dist/utils/project-tree.test.js +0 -149
  434. package/dist/utils/project-tree.test.js.map +0 -1
  435. package/dist/utils/terminal-clear.d.ts +0 -7
  436. package/dist/utils/terminal-clear.d.ts.map +0 -1
  437. package/dist/utils/terminal-clear.js +0 -5
  438. package/dist/utils/terminal-clear.js.map +0 -1
  439. package/dist/utils/terminal-clear.test.d.ts +0 -2
  440. package/dist/utils/terminal-clear.test.d.ts.map +0 -1
  441. package/dist/utils/terminal-clear.test.js +0 -13
  442. package/dist/utils/terminal-clear.test.js.map +0 -1
@@ -0,0 +1,75 @@
1
+ import test from 'ava';
2
+ import React from 'react';
3
+ import { render } from 'ink-testing-library';
4
+ import { TextInput } from './TextInput.js';
5
+ test('onCursorChange callback should not cause re-renders when callback reference changes', t => {
6
+ let renderCount = 0;
7
+ const TestWrapper = () => {
8
+ renderCount++;
9
+ // Create a new callback on each render by using inline arrow function
10
+ return (React.createElement(TextInput, { value: "test", onChange: () => { }, onCursorChange: () => {
11
+ // Callback changes on each render
12
+ // We're testing that this doesn't cause excessive re-renders
13
+ }, focus: false }));
14
+ };
15
+ const { rerender } = render(React.createElement(TestWrapper, null));
16
+ const initialRenderCount = renderCount;
17
+ // Force parent re-render with new callback
18
+ rerender(React.createElement(TestWrapper, null));
19
+ // Should only re-render once for the parent update
20
+ // NOT trigger additional re-renders from the onCursorChange effect
21
+ t.is(renderCount, initialRenderCount + 1);
22
+ });
23
+ test('cursor position updates should not trigger excessive re-renders', t => {
24
+ let renderCount = 0;
25
+ const cursorPositions = [];
26
+ const TestWrapper = ({ value }) => {
27
+ renderCount++;
28
+ return (React.createElement(TextInput, { value: value, onChange: () => { }, onCursorChange: offset => {
29
+ cursorPositions.push(offset);
30
+ }, focus: false }));
31
+ };
32
+ const { rerender } = render(React.createElement(TestWrapper, { value: "a" }));
33
+ const initialRenderCount = renderCount;
34
+ // Simulate fast typing (multiple value changes)
35
+ rerender(React.createElement(TestWrapper, { value: "ab" }));
36
+ rerender(React.createElement(TestWrapper, { value: "abc" }));
37
+ rerender(React.createElement(TestWrapper, { value: "abcd" }));
38
+ // Should only render once per value change (4 total: initial + 3 updates)
39
+ // NOT multiple renders per value change
40
+ t.is(renderCount, initialRenderCount + 3);
41
+ // Should track cursor positions
42
+ t.true(cursorPositions.length > 0);
43
+ });
44
+ test('value changes should update cursor offset correctly', t => {
45
+ let cursorOffset = 0;
46
+ const TestWrapper = ({ value }) => {
47
+ return (React.createElement(TextInput, { value: value, onChange: () => { }, onCursorChange: offset => {
48
+ cursorOffset = offset;
49
+ }, focus: false }));
50
+ };
51
+ const { rerender } = render(React.createElement(TestWrapper, { value: "" }));
52
+ t.is(cursorOffset, 0);
53
+ rerender(React.createElement(TestWrapper, { value: "hello" }));
54
+ // Cursor should not exceed value length
55
+ t.true(cursorOffset <= 5);
56
+ });
57
+ test('cursorOverride should update cursor position without excessive renders', t => {
58
+ let renderCount = 0;
59
+ let cursorOffset = 0;
60
+ const TestWrapper = ({ override }) => {
61
+ renderCount++;
62
+ return (React.createElement(TextInput, { value: "hello world", onChange: () => { }, onCursorChange: offset => {
63
+ cursorOffset = offset;
64
+ }, cursorOverride: override, focus: false }));
65
+ };
66
+ const { rerender } = render(React.createElement(TestWrapper, { override: undefined }));
67
+ const initialRenderCount = renderCount;
68
+ // Override to position 5
69
+ rerender(React.createElement(TestWrapper, { override: 5 }));
70
+ // Should only render once for the override
71
+ t.is(renderCount, initialRenderCount + 1);
72
+ // Cursor should be updated
73
+ t.true(cursorOffset >= 0 && cursorOffset <= 11);
74
+ });
75
+ //# sourceMappingURL=TextInput.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextInput.test.js","sourceRoot":"","sources":["../../source/components/TextInput.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=debug_ask_mentor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug_ask_mentor.d.ts","sourceRoot":"","sources":["../source/debug_ask_mentor.ts"],"names":[],"mappings":""}
@@ -0,0 +1,73 @@
1
+ import { OpenAIAgentClient } from './lib/openai-agent-client.js';
2
+ import { registerProvider } from './providers/registry.js';
3
+ // Mock Logger
4
+ const mockLogger = {
5
+ debug: () => { },
6
+ info: () => { },
7
+ warn: () => { },
8
+ error: console.error,
9
+ setCorrelationId: () => { },
10
+ clearCorrelationId: () => { },
11
+ log: () => { },
12
+ };
13
+ // Mock Settings
14
+ const mockSettings = {
15
+ get: (key) => {
16
+ if (key === 'agent.provider')
17
+ return 'mock-provider';
18
+ if (key === 'agent.model')
19
+ return 'mock-model';
20
+ if (key === 'agent.mentorModel')
21
+ return 'mock-mentor';
22
+ return undefined;
23
+ },
24
+ set: () => { },
25
+ onChange: () => { },
26
+ };
27
+ // Mock Runner
28
+ class MockRunner {
29
+ async run(agent, input, options) {
30
+ console.log('MockRunner.run called');
31
+ // Return a result similar to what might be causing issues
32
+ // Missing finalOutput, but maybe has messages or text
33
+ return {
34
+ status: 'completed',
35
+ messages: [{ role: 'assistant', content: 'This is the answer' }],
36
+ // finalOutput is missing!
37
+ };
38
+ }
39
+ }
40
+ // Register Mock Provider
41
+ registerProvider({
42
+ id: 'mock-provider',
43
+ label: 'Mock Provider',
44
+ createRunner: () => new MockRunner(),
45
+ fetchModels: async () => [{ id: 'mock-model' }, { id: 'mock-mentor' }],
46
+ });
47
+ async function main() {
48
+ console.log('Starting debug script...');
49
+ try {
50
+ const client = new OpenAIAgentClient({
51
+ deps: {
52
+ logger: mockLogger,
53
+ settings: mockSettings,
54
+ }
55
+ });
56
+ console.log('Client initialized. Calling chat...');
57
+ const response = await client.chat('Hello');
58
+ console.log('Chat response:', response);
59
+ if (response === 'This is the answer') {
60
+ console.log('SUCCESS: Got expected response from messages fallback.');
61
+ }
62
+ else {
63
+ console.error('FAILURE: Response did not match expected.');
64
+ process.exit(1);
65
+ }
66
+ }
67
+ catch (e) {
68
+ console.log('Caught UNEXPECTED error:', e.message);
69
+ process.exit(1);
70
+ }
71
+ }
72
+ main().catch(console.error);
73
+ //# sourceMappingURL=debug_ask_mentor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug_ask_mentor.js","sourceRoot":"","sources":["../source/debug_ask_mentor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,cAAc;AACd,MAAM,UAAU,GAAoB;IAChC,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC5B,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;CACT,CAAC;AAET,gBAAgB;AAChB,MAAM,YAAY,GAAqB;IACnC,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE;QACjB,IAAI,GAAG,KAAK,gBAAgB;YAAE,OAAO,eAAe,CAAC;QACrD,IAAI,GAAG,KAAK,aAAa;YAAE,OAAO,YAAY,CAAC;QAC/C,IAAI,GAAG,KAAK,mBAAmB;YAAE,OAAO,aAAa,CAAC;QACtD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;IACb,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACd,CAAC;AAET,cAAc;AACd,MAAM,UAAU;IACZ,KAAK,CAAC,GAAG,CAAC,KAAU,EAAE,KAAU,EAAE,OAAY;QAC1C,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,0DAA0D;QAC1D,sDAAsD;QACtD,OAAO;YACH,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAChE,0BAA0B;SAC7B,CAAC;IACN,CAAC;CACJ;AAED,yBAAyB;AACzB,gBAAgB,CAAC;IACb,EAAE,EAAE,eAAe;IACnB,KAAK,EAAE,eAAe;IACtB,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,EAAS;IAC3C,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC;CACzE,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;YACjC,IAAI,EAAE;gBACF,MAAM,EAAE,UAAU;gBAClB,QAAQ,EAAE,YAAY;aACzB;SACJ,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=use-conversation.clear.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-conversation.clear.test.d.ts","sourceRoot":"","sources":["../../source/hooks/use-conversation.clear.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ import test from 'ava';
2
+ import React, { useState } from 'react';
3
+ import { Text } from 'ink';
4
+ import { render } from 'ink-testing-library';
5
+ import { useConversation } from './use-conversation.js';
6
+ const loggingService = {
7
+ debug() { },
8
+ error() { },
9
+ };
10
+ const flush = async () => {
11
+ await new Promise((resolve) => setTimeout(resolve, 100));
12
+ };
13
+ test('useConversation triggers onClear and resets messages/sessionId', async (t) => {
14
+ let onClearCalled = false;
15
+ const mockConversationService = {
16
+ sessionId: 'old-session-id',
17
+ resetWithNewId(newId) {
18
+ this.sessionId = newId;
19
+ },
20
+ };
21
+ let clearFn = () => Promise.resolve();
22
+ const Harness = () => {
23
+ const [sessionIdState, setSessionIdState] = useState('old-session-id');
24
+ const { messages, clearConversation, sessionId } = useConversation({
25
+ conversationService: mockConversationService,
26
+ loggingService,
27
+ initialMessages: [{ id: '1', sender: 'user', text: 'hello' }],
28
+ sessionId: sessionIdState,
29
+ onClear: async () => {
30
+ onClearCalled = true;
31
+ setSessionIdState('new-session-id');
32
+ mockConversationService.resetWithNewId('new-session-id');
33
+ },
34
+ });
35
+ clearFn = clearConversation;
36
+ return (React.createElement(Text, null,
37
+ sessionId,
38
+ "|",
39
+ messages.length));
40
+ };
41
+ const { lastFrame } = render(React.createElement(Harness, null));
42
+ t.is(lastFrame(), 'old-session-id|1');
43
+ await clearFn();
44
+ await flush();
45
+ t.true(onClearCalled);
46
+ t.is(mockConversationService.sessionId, 'new-session-id');
47
+ t.is(lastFrame(), 'new-session-id|0');
48
+ });
49
+ //# sourceMappingURL=use-conversation.clear.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-conversation.clear.test.js","sourceRoot":"","sources":["../../source/hooks/use-conversation.clear.test.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,cAAc,GAAG;IACrB,KAAK,KAAI,CAAC;IACV,KAAK,KAAI,CAAC;CACJ,CAAC;AAET,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,IAAI,CAAC,gEAAgE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjF,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,MAAM,uBAAuB,GAAG;QAC9B,SAAS,EAAE,gBAAgB;QAC3B,cAAc,CAAC,KAAa;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;KACK,CAAC;IAET,IAAI,OAAO,GAAwB,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAE3D,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACvE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;YACjE,mBAAmB,EAAE,uBAAuB;YAC5C,cAAc;YACd,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC7D,SAAS,EAAE,cAAc;YACzB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,aAAa,GAAG,IAAI,CAAC;gBACrB,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;gBACpC,uBAAuB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAC3D,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,iBAAiB,CAAC;QAE5B,OAAO,CACL,oBAAC,IAAI;YACF,SAAS;;YAAG,QAAQ,CAAC,MAAM,CACvB,CACR,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,OAAO,OAAG,CAAC,CAAC;IAC1C,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAEtC,MAAM,OAAO,EAAE,CAAC;IAChB,MAAM,KAAK,EAAE,CAAC;IAEd,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACtB,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC1D,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,kBAAkB,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC"}
@@ -39,14 +39,17 @@ export interface SubagentActivityMessage {
39
39
  tools: string[];
40
40
  }
41
41
  export type Message = UserMessage | BotMessage | CommandMessage | SystemMessage | ReasoningMessage | SubagentActivityMessage;
42
- export declare const useConversation: ({ conversationService, loggingService, usageAccumulator, subagentUsageAccumulator, initialMessages, }: {
42
+ export declare const useConversation: ({ conversationService, loggingService, usageAccumulator, subagentUsageAccumulator, initialMessages, sessionId, onClear, }: {
43
43
  conversationService: ConversationService;
44
44
  loggingService: ILoggingService;
45
45
  usageAccumulator?: UsageAccumulator;
46
46
  subagentUsageAccumulator?: UsageAccumulator;
47
47
  initialMessages?: Message[];
48
+ sessionId?: string;
49
+ onClear?: () => void | Promise<void>;
48
50
  }) => {
49
51
  messages: Message[];
52
+ sessionId: string;
50
53
  lastUsage: NormalizedUsage | null;
51
54
  pendingApproval: PendingApproval | null;
52
55
  waitingForApproval: boolean;
@@ -55,7 +58,7 @@ export declare const useConversation: ({ conversationService, loggingService, us
55
58
  isProcessing: boolean;
56
59
  sendUserMessage: (input: string | UserTurn) => Promise<void>;
57
60
  handleApprovalDecision: (answer: string, rejectionReason?: string) => Promise<void>;
58
- clearConversation: () => void;
61
+ clearConversation: () => Promise<void>;
59
62
  stopProcessing: () => void;
60
63
  undoLastUserMessage: () => string | null;
61
64
  getUserMessages: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"use-conversation.d.ts","sourceRoot":"","sources":["../../source/hooks/use-conversation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAKzE,OAAO,KAAK,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAwB,eAAe,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAMlH,OAAO,EAAmE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEvH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,OAAO,GACf,WAAW,GACX,UAAU,GACV,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,uBAAuB,CAAC;AAK5B,eAAO,MAAM,eAAe,GAAI,uGAM7B;IACD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,cAAc,EAAE,eAAe,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,wBAAwB,CAAC,EAAE,gBAAgB,CAAC;IAC5C,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;CAC7B;;;;;;;;6BAyGiB,MAAM,GAAG,QAAQ;qCA+FhB,MAAM,oBAAoB,MAAM;;;;2BAmNT;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;iCAW/D,MAAM,KAAG,MAAM,GAAG,IAAI;sBA2CxB,MAAM;iCAOL,sBAAsB;mCAOhB,MAAM;6BAOd,MAAM;+BAaH,MAAM,UAAU,MAAM,YAAY,MAAM,GAAG,IAAI,YAAY,OAAO;;CAkD/E,CAAC"}
1
+ {"version":3,"file":"use-conversation.d.ts","sourceRoot":"","sources":["../../source/hooks/use-conversation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAKzE,OAAO,KAAK,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAwB,eAAe,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAMlH,OAAO,EAAmE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEvH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,OAAO,GACf,WAAW,GACX,UAAU,GACV,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,uBAAuB,CAAC;AAK5B,eAAO,MAAM,eAAe,GAAI,2HAQ7B;IACD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,cAAc,EAAE,eAAe,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,wBAAwB,CAAC,EAAE,gBAAgB,CAAC;IAC5C,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;;;;;;;;;6BAyGiB,MAAM,GAAG,QAAQ;qCA+FhB,MAAM,oBAAoB,MAAM;;;;2BAuNT;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;iCAW/D,MAAM,KAAG,MAAM,GAAG,IAAI;sBA2CxB,MAAM;iCAOL,sBAAsB;mCAOhB,MAAM;6BAOd,MAAM;+BAaH,MAAM,UAAU,MAAM,YAAY,MAAM,GAAG,IAAI,YAAY,OAAO;;CAmD/E,CAAC"}
@@ -8,7 +8,7 @@ import { annotateApprovedCommandMessage, filterPendingCommandMessagesForApproval
8
8
  import { formatUserTurnForDisplay, hasUserTurnContent, normalizeUserTurn } from '../types/user-turn.js';
9
9
  const REASONING_RESPONSE_THROTTLE_MS = 200;
10
10
  const MAX_MESSAGE_COUNT = 300;
11
- export const useConversation = ({ conversationService, loggingService, usageAccumulator, subagentUsageAccumulator, initialMessages = [], }) => {
11
+ export const useConversation = ({ conversationService, loggingService, usageAccumulator, subagentUsageAccumulator, initialMessages = [], sessionId, onClear, }) => {
12
12
  const [messages, setMessages] = useState(() => appendMessagesCapped([], initialMessages, MAX_MESSAGE_COUNT));
13
13
  const [waitingForApproval, setWaitingForApproval] = useState(false);
14
14
  const [waitingForRejectionReason, setWaitingForRejectionReason] = useState(false);
@@ -301,8 +301,13 @@ export const useConversation = ({ conversationService, loggingService, usageAccu
301
301
  loggingService,
302
302
  createOnEventWithSubagentTracking,
303
303
  ]);
304
- const clearConversation = useCallback(() => {
305
- conversationService.reset();
304
+ const clearConversation = useCallback(async () => {
305
+ if (onClear) {
306
+ await onClear();
307
+ }
308
+ else {
309
+ conversationService.resetWithNewId(conversationService.sessionId);
310
+ }
306
311
  setMessages([]);
307
312
  setWaitingForApproval(false);
308
313
  setWaitingForRejectionReason(false);
@@ -312,7 +317,7 @@ export const useConversation = ({ conversationService, loggingService, usageAccu
312
317
  setLastUsage(null);
313
318
  usageAccumulator?.reset();
314
319
  subagentUsageAccumulator?.reset();
315
- }, [conversationService, usageAccumulator, subagentUsageAccumulator]);
320
+ }, [conversationService, usageAccumulator, subagentUsageAccumulator, onClear]);
316
321
  const stopProcessing = useCallback(() => {
317
322
  conversationService.abort();
318
323
  setWaitingForApproval(false);
@@ -438,6 +443,7 @@ export const useConversation = ({ conversationService, loggingService, usageAccu
438
443
  const getSubagentUsage = useCallback(() => subagentUsageAccumulator?.get() ?? null, [subagentUsageAccumulator]);
439
444
  return {
440
445
  messages,
446
+ sessionId: sessionId ?? conversationService.sessionId,
441
447
  lastUsage,
442
448
  pendingApproval,
443
449
  waitingForApproval,
@@ -1 +1 @@
1
- {"version":3,"file":"use-conversation.js","sourceRoot":"","sources":["../../source/hooks/use-conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAI/E,OAAO,EACL,8BAA8B,EAC9B,uCAAuC,GAExC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,iBAAiB,EAAiB,MAAM,uBAAuB,CAAC;AAkDvH,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAC3C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,GAAG,EAAE,GAOrB,EAAE,EAAE;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAY,GAAG,EAAE,CACvD,oBAAoB,CAAC,EAAE,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAC7D,CAAC;IACF,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7E,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3F,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IACrF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACjE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7G,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,SAAoB,EAAE,EAAE;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO;QAC9B,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,MAAM,sBAAsB,GAAG,WAAW,CAAC,CAAC,MAAsB,EAAkB,EAAE;QACpF,MAAM,eAAe,GAAG,8BAA8B,CAAC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3F,MAAM,iBAAiB,GACrB,eAAe,KAAK,MAAM;YAC1B,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM;YACnC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC7C,kBAAkB,CAAC,OAAO,EAAE,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;QAE3D,IAAI,iBAAiB,EAAE,CAAC;YACtB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,iCAAiC,GAAG,WAAW,CACnD,CAAC,WAAiC,EAAE,EAAE;QACpC,OAAO,CAAC,KAAU,EAAE,EAAE;YACpB,WAAW,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,wBAAwB,IAAI,KAAK,EAAE,IAAI,KAAK,oBAAoB,IAAI,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBAC7F,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,wBAAwB,CAAC,CAC3B,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,MAAmC,EAAE,cAAuB,EAAE,mBAA4C,EAAE,EAAE;QAC7G,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,mEAAmE;gBACnE,gEAAgE;gBAChE,kEAAkE;gBAClE,iEAAiE;gBACjE,mDAAmD;gBACnD,YAAY,CAAC,mBAAmB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC;YACD,iEAAiE;YACjE,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,uCAAuC,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpG,kBAAkB,CAAC;gBACjB,GAAG,MAAM,CAAC,QAAQ;gBAClB,WAAW,EAAG,MAAM,CAAC,QAAgB,CAAC,WAAW;aAClD,CAAC,CAAC;YACH,gFAAgF;YAChF,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAEnC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAC7E,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,iBAAiB,CAAC,CAAC;YAE3C,oFAAoF;YACpF,iFAAiF;YACjF,qEAAqE;YACrE,IAAI,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzC,MAAM,UAAU,GAAY;oBAC1B,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,WAAW;oBACnB,IAAI,EAAE,SAAS;iBAChB,CAAC;gBACF,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC;YAC/B,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpC,YAAY,CAAC,mBAAmB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,EACD,CAAC,sBAAsB,EAAE,YAAY,EAAE,gBAAgB,CAAC,CACzD,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EAAE,KAAwB,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAgB;YAC/B,EAAE,EAAE,eAAe,EAAE;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC;SACrC,CAAC;QACF,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9B,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,cAAc,EAAE,GACpF,sBAAsB,CACpB;YACE,cAAc;YACd,WAAW;YACX,YAAY;YACZ,sBAAsB;YACtB,cAAc;YACd,YAAY;YACZ,mBAAmB,EAAE,8BAA8B;SACpD,EACD,iBAAiB,CAClB,CAAC;QAEJ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,EAAE;gBACzD,OAAO,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;aACnE,CAAC,CAAC;YAEH,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAS,CAAC,CAAC;YAChE,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,0BAA0B,EAAE;gBAC/C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACxD,CAAC,CAAC;YAEH,sDAAsD;YACtD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,cAAc,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBACnE,wCAAwC;gBACxC,OAAO;YACT,CAAC;YAED,MAAM,eAAe,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/E,MAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAEzD,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClC,uDAAuD;gBACvD,kBAAkB,CAAC;oBACjB,SAAS,EAAE,QAAQ;oBACnB,QAAQ,EAAE,oBAAoB;oBAC9B,aAAa,EAAE,YAAY;oBAC3B,eAAe,EAAE,IAAI;oBACrB,gBAAgB,EAAE,IAAI;iBACvB,CAAC,CAAC;gBACH,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,MAAM,eAAe,GAAe;oBAClC,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,WAAW;oBACnB,IAAI,EAAE,UAAU,YAAY,EAAE;iBAC/B,CAAC;gBACF,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;gBAClC,0DAA0D;gBAC1D,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,cAAc,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACxE,cAAc;YACd,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC5B,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,uEAAuE;YACvE,yEAAyE;QAC3E,CAAC;IACH,CAAC,EACD;QACE,mBAAmB;QACnB,kBAAkB;QAClB,cAAc;QACd,YAAY;QACZ,cAAc;QACd,iCAAiC;KAClC,CACF,CAAC;IAEF,MAAM,sBAAsB,GAAG,WAAW,CACxC,KAAK,EAAE,MAAc,EAAE,eAAwB,EAAE,EAAE;QACjD,IAAI,CAAC,kBAAkB,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,+CAA+C;QAC/C,MAAM,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,CAAC;QAE1D,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,kBAAkB,CAAC,OAAO,GAAG;gBAC3B,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,QAAQ,EAAE,eAAe,CAAC,QAAQ;aACnC,CAAC;QACJ,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAE7B,oDAAoD;QACpD,IAAI,gBAAgB,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACvC,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QAED,qEAAqE;QACrE,IAAI,gBAAgB,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACvC,eAAe,CAAC,IAAI,CAAC,CAAC;YAEtB,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,cAAc,EAAE,GACpF,sBAAsB,CACpB;gBACE,cAAc;gBACd,WAAW;gBACX,YAAY;gBACZ,sBAAsB;gBACtB,cAAc;gBACd,YAAY;gBACZ,mBAAmB,EAAE,8BAA8B;aACpD,EACD,sBAAsB,CACvB,CAAC;YAEJ,IAAI,CAAC;gBACH,6CAA6C;gBAC7C,MAAM,mBAAmB,GAAG,0CAA0C,CAAC;gBACvE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,mBAAmB,EAAE;oBACxE,OAAO,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;iBACnE,CAAC,CAAC;gBAEH,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAS,CAAC,CAAC;gBAChE,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;YACxF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,cAAc,CAAC,KAAK,CAAC,uCAAuC,EAAE;oBAC5D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBACxD,CAAC,CAAC;gBAEH,sDAAsD;gBACtD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5B,cAAc,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBAC1E,wCAAwC;oBACxC,OAAO;gBACT,CAAC;gBAED,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,eAAe,GAAe;oBAClC,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,WAAW;oBACnB,IAAI,EAAE,UAAU,YAAY,EAAE;iBAC/B,CAAC;gBACF,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;gBAClC,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;oBAAS,CAAC;gBACT,cAAc;gBACd,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBACzB,kBAAkB,CAAC,MAAM,EAAE,CAAC;gBAC5B,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,OAAO;QACT,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,cAAc,EAAE,GACpF,sBAAsB,CACpB;YACE,cAAc;YACd,WAAW;YACX,YAAY;YACZ,sBAAsB;YACtB,cAAc;YACd,YAAY;YACZ,mBAAmB,EAAE,8BAA8B;SACpD,EACD,kBAAkB,CACnB,CAAC;QAEJ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,sBAAsB,CAAC,MAAM,EAAE,eAAe,EAAE;gBACvF,OAAO,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;aACnE,CAAC,CAAC;YACH,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAS,CAAC,CAAC;YAChE,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,iCAAiC,EAAE;gBACtD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACxD,CAAC,CAAC;YAEH,sDAAsD;YACtD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,cAAc,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;gBAC1E,wCAAwC;gBACxC,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,eAAe,GAAe;gBAClC,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,UAAU,YAAY,EAAE;aAC/B,CAAC;YACF,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YAClC,0DAA0D;YAC1D,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,cAAc,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC/E,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC5B,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,gFAAgF;YAChF,8EAA8E;YAC9E,gEAAgE;QAClE,CAAC;IACH,CAAC,EACD;QACE,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB;QAClB,eAAe;QACf,cAAc;QACd,YAAY;QACZ,cAAc;QACd,iCAAiC;KAClC,CACF,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC5B,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC1B,wBAAwB,EAAE,KAAK,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAEtE,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC5B,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClC,aAAa,GAAG,CAAC,CAAC;gBAClB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC;QACzC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;QACpD,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEvB,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACtC,cAAc,CAAC;gBACb;oBACE,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,SAAS,OAAO,CAAC,UAAU,kBAC/B,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAClC,sCAAsC;iBACvC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC,CAAC;IAEpD,MAAM,eAAe,GAAG,WAAW,CAAC,GAAwC,EAAE;QAC5E,MAAM,MAAM,GAAwC,EAAE,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAG,QAAQ,CAAC,CAAC,CAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,OAAe,EAAiB,EAAE;QACjC,0DAA0D;QAC1D,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClC,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAgB,CAAC;QACzD,MAAM,MAAM,GAAG,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC;QAE3C,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,mBAAmB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC;QAEzC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9C,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEvB,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACtC,cAAc,CAAC;gBACb;oBACE,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,SAAS,OAAO,CAAC,UAAU,kBAC/B,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAClC,sCAAsC;iBACvC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,EACD,CAAC,QAAQ,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAChD,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,KAAa,EAAE,EAAE;QAChB,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,MAA8B,EAAE,EAAE;QACjC,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,WAAoB,EAAE,EAAE;QACvB,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,IAAY,EAAE,EAAE;QACf,cAAc,CAAC;YACb;gBACE,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,QAAQ;gBAChB,IAAI;aACL;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,OAAe,EAAE,MAAc,EAAE,QAAuB,EAAE,QAAiB,EAAE,EAAE;QAC9E,MAAM,OAAO,GAAG,CAAC,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,QAAQ;YAC5B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,IAAI,IAAI;gBAClB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,QAAQ,KAAK,CAAC;oBAChB,CAAC,CAAC,QAAQ,QAAQ,EAAE;oBACpB,CAAC,CAAC,SAAS,CAAC;QAEd,cAAc,CAAC;YACb;gBACE,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;gBACxC,OAAO;gBACP,MAAM;gBACN,OAAO;gBACP,aAAa;gBACb,QAAQ,EAAE,OAAO;aAClB;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAEhH,OAAO;QACL,QAAQ;QACR,SAAS;QACT,eAAe;QACf,kBAAkB;QAClB,yBAAyB;QACzB,4BAA4B;QAC5B,YAAY;QACZ,eAAe;QACf,sBAAsB;QACtB,iBAAiB;QACjB,cAAc;QACd,mBAAmB;QACnB,eAAe;QACf,iBAAiB;QACjB,QAAQ;QACR,kBAAkB;QAClB,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,gBAAgB;KACjB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"use-conversation.js","sourceRoot":"","sources":["../../source/hooks/use-conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAI/E,OAAO,EACL,8BAA8B,EAC9B,uCAAuC,GAExC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,iBAAiB,EAAiB,MAAM,uBAAuB,CAAC;AAkDvH,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAC3C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,GAAG,EAAE,EACpB,SAAS,EACT,OAAO,GASR,EAAE,EAAE;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAY,GAAG,EAAE,CACvD,oBAAoB,CAAC,EAAE,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAC7D,CAAC;IACF,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7E,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3F,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IACrF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACjE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7G,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,SAAoB,EAAE,EAAE;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO;QAC9B,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,MAAM,sBAAsB,GAAG,WAAW,CAAC,CAAC,MAAsB,EAAkB,EAAE;QACpF,MAAM,eAAe,GAAG,8BAA8B,CAAC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3F,MAAM,iBAAiB,GACrB,eAAe,KAAK,MAAM;YAC1B,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM;YACnC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC7C,kBAAkB,CAAC,OAAO,EAAE,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;QAE3D,IAAI,iBAAiB,EAAE,CAAC;YACtB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,iCAAiC,GAAG,WAAW,CACnD,CAAC,WAAiC,EAAE,EAAE;QACpC,OAAO,CAAC,KAAU,EAAE,EAAE;YACpB,WAAW,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,wBAAwB,IAAI,KAAK,EAAE,IAAI,KAAK,oBAAoB,IAAI,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBAC7F,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,wBAAwB,CAAC,CAC3B,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,MAAmC,EAAE,cAAuB,EAAE,mBAA4C,EAAE,EAAE;QAC7G,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,mEAAmE;gBACnE,gEAAgE;gBAChE,kEAAkE;gBAClE,iEAAiE;gBACjE,mDAAmD;gBACnD,YAAY,CAAC,mBAAmB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC;YACD,iEAAiE;YACjE,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,uCAAuC,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpG,kBAAkB,CAAC;gBACjB,GAAG,MAAM,CAAC,QAAQ;gBAClB,WAAW,EAAG,MAAM,CAAC,QAAgB,CAAC,WAAW;aAClD,CAAC,CAAC;YACH,gFAAgF;YAChF,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAEnC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAC7E,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,iBAAiB,CAAC,CAAC;YAE3C,oFAAoF;YACpF,iFAAiF;YACjF,qEAAqE;YACrE,IAAI,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzC,MAAM,UAAU,GAAY;oBAC1B,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,WAAW;oBACnB,IAAI,EAAE,SAAS;iBAChB,CAAC;gBACF,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC;YAC/B,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpC,YAAY,CAAC,mBAAmB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,EACD,CAAC,sBAAsB,EAAE,YAAY,EAAE,gBAAgB,CAAC,CACzD,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EAAE,KAAwB,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAgB;YAC/B,EAAE,EAAE,eAAe,EAAE;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC;SACrC,CAAC;QACF,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9B,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,cAAc,EAAE,GACpF,sBAAsB,CACpB;YACE,cAAc;YACd,WAAW;YACX,YAAY;YACZ,sBAAsB;YACtB,cAAc;YACd,YAAY;YACZ,mBAAmB,EAAE,8BAA8B;SACpD,EACD,iBAAiB,CAClB,CAAC;QAEJ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,EAAE;gBACzD,OAAO,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;aACnE,CAAC,CAAC;YAEH,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAS,CAAC,CAAC;YAChE,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,0BAA0B,EAAE;gBAC/C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACxD,CAAC,CAAC;YAEH,sDAAsD;YACtD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,cAAc,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBACnE,wCAAwC;gBACxC,OAAO;YACT,CAAC;YAED,MAAM,eAAe,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/E,MAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAEzD,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClC,uDAAuD;gBACvD,kBAAkB,CAAC;oBACjB,SAAS,EAAE,QAAQ;oBACnB,QAAQ,EAAE,oBAAoB;oBAC9B,aAAa,EAAE,YAAY;oBAC3B,eAAe,EAAE,IAAI;oBACrB,gBAAgB,EAAE,IAAI;iBACvB,CAAC,CAAC;gBACH,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,MAAM,eAAe,GAAe;oBAClC,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,WAAW;oBACnB,IAAI,EAAE,UAAU,YAAY,EAAE;iBAC/B,CAAC;gBACF,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;gBAClC,0DAA0D;gBAC1D,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,cAAc,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACxE,cAAc;YACd,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC5B,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,uEAAuE;YACvE,yEAAyE;QAC3E,CAAC;IACH,CAAC,EACD;QACE,mBAAmB;QACnB,kBAAkB;QAClB,cAAc;QACd,YAAY;QACZ,cAAc;QACd,iCAAiC;KAClC,CACF,CAAC;IAEF,MAAM,sBAAsB,GAAG,WAAW,CACxC,KAAK,EAAE,MAAc,EAAE,eAAwB,EAAE,EAAE;QACjD,IAAI,CAAC,kBAAkB,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,+CAA+C;QAC/C,MAAM,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,CAAC;QAE1D,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,kBAAkB,CAAC,OAAO,GAAG;gBAC3B,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,QAAQ,EAAE,eAAe,CAAC,QAAQ;aACnC,CAAC;QACJ,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAE7B,oDAAoD;QACpD,IAAI,gBAAgB,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACvC,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QAED,qEAAqE;QACrE,IAAI,gBAAgB,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACvC,eAAe,CAAC,IAAI,CAAC,CAAC;YAEtB,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,cAAc,EAAE,GACpF,sBAAsB,CACpB;gBACE,cAAc;gBACd,WAAW;gBACX,YAAY;gBACZ,sBAAsB;gBACtB,cAAc;gBACd,YAAY;gBACZ,mBAAmB,EAAE,8BAA8B;aACpD,EACD,sBAAsB,CACvB,CAAC;YAEJ,IAAI,CAAC;gBACH,6CAA6C;gBAC7C,MAAM,mBAAmB,GAAG,0CAA0C,CAAC;gBACvE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,mBAAmB,EAAE;oBACxE,OAAO,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;iBACnE,CAAC,CAAC;gBAEH,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAS,CAAC,CAAC;gBAChE,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;YACxF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,cAAc,CAAC,KAAK,CAAC,uCAAuC,EAAE;oBAC5D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBACxD,CAAC,CAAC;gBAEH,sDAAsD;gBACtD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5B,cAAc,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBAC1E,wCAAwC;oBACxC,OAAO;gBACT,CAAC;gBAED,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,eAAe,GAAe;oBAClC,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,WAAW;oBACnB,IAAI,EAAE,UAAU,YAAY,EAAE;iBAC/B,CAAC;gBACF,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;gBAClC,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;oBAAS,CAAC;gBACT,cAAc;gBACd,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBACzB,kBAAkB,CAAC,MAAM,EAAE,CAAC;gBAC5B,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,OAAO;QACT,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,cAAc,EAAE,GACpF,sBAAsB,CACpB;YACE,cAAc;YACd,WAAW;YACX,YAAY;YACZ,sBAAsB;YACtB,cAAc;YACd,YAAY;YACZ,mBAAmB,EAAE,8BAA8B;SACpD,EACD,kBAAkB,CACnB,CAAC;QAEJ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,sBAAsB,CAAC,MAAM,EAAE,eAAe,EAAE;gBACvF,OAAO,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;aACnE,CAAC,CAAC;YACH,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAS,CAAC,CAAC;YAChE,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,iCAAiC,EAAE;gBACtD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACxD,CAAC,CAAC;YAEH,sDAAsD;YACtD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,cAAc,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;gBAC1E,wCAAwC;gBACxC,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,eAAe,GAAe;gBAClC,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,UAAU,YAAY,EAAE;aAC/B,CAAC;YACF,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YAClC,0DAA0D;YAC1D,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,cAAc,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC/E,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC5B,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,gFAAgF;YAChF,8EAA8E;YAC9E,gEAAgE;QAClE,CAAC;IACH,CAAC,EACD;QACE,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB;QAClB,eAAe;QACf,cAAc;QACd,YAAY;QACZ,cAAc;QACd,iCAAiC;KAClC,CACF,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC/C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,mBAAmB,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC;QACD,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC1B,wBAAwB,EAAE,KAAK,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/E,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC5B,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClC,aAAa,GAAG,CAAC,CAAC;gBAClB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC;QACzC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;QACpD,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEvB,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACtC,cAAc,CAAC;gBACb;oBACE,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,SAAS,OAAO,CAAC,UAAU,kBAC/B,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAClC,sCAAsC;iBACvC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC,CAAC;IAEpD,MAAM,eAAe,GAAG,WAAW,CAAC,GAAwC,EAAE;QAC5E,MAAM,MAAM,GAAwC,EAAE,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAG,QAAQ,CAAC,CAAC,CAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,OAAe,EAAiB,EAAE;QACjC,0DAA0D;QAC1D,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClC,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAgB,CAAC;QACzD,MAAM,MAAM,GAAG,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC;QAE3C,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,mBAAmB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC;QAEzC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9C,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEvB,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACtC,cAAc,CAAC;gBACb;oBACE,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,SAAS,OAAO,CAAC,UAAU,kBAC/B,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAClC,sCAAsC;iBACvC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,EACD,CAAC,QAAQ,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAChD,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,KAAa,EAAE,EAAE;QAChB,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,MAA8B,EAAE,EAAE;QACjC,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,WAAoB,EAAE,EAAE;QACvB,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,IAAY,EAAE,EAAE;QACf,cAAc,CAAC;YACb;gBACE,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,QAAQ;gBAChB,IAAI;aACL;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,OAAe,EAAE,MAAc,EAAE,QAAuB,EAAE,QAAiB,EAAE,EAAE;QAC9E,MAAM,OAAO,GAAG,CAAC,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,QAAQ;YAC5B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,IAAI,IAAI;gBAClB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,QAAQ,KAAK,CAAC;oBAChB,CAAC,CAAC,QAAQ,QAAQ,EAAE;oBACpB,CAAC,CAAC,SAAS,CAAC;QAEd,cAAc,CAAC;YACb;gBACE,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;gBACxC,OAAO;gBACP,MAAM;gBACN,OAAO;gBACP,aAAa;gBACb,QAAQ,EAAE,OAAO;aAClB;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAEhH,OAAO;QACL,QAAQ;QACR,SAAS,EAAE,SAAS,IAAI,mBAAmB,CAAC,SAAS;QACrD,SAAS;QACT,eAAe;QACf,kBAAkB;QAClB,yBAAyB;QACzB,4BAA4B;QAC5B,YAAY;QACZ,eAAe;QACf,sBAAsB;QACtB,iBAAiB;QACjB,cAAc;QACd,mBAAmB;QACnB,eAAe;QACf,iBAAiB;QACjB,QAAQ;QACR,kBAAkB;QAClB,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,gBAAgB;KACjB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=use-conversation.max-turns-undo.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-conversation.max-turns-undo.test.d.ts","sourceRoot":"","sources":["../../source/hooks/use-conversation.max-turns-undo.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,118 @@
1
+ import test from 'ava';
2
+ import React, { useEffect, useRef } from 'react';
3
+ import { Text } from 'ink';
4
+ import { render } from 'ink-testing-library';
5
+ import { useConversation } from './use-conversation.js';
6
+ const loggingService = {
7
+ debug() { },
8
+ error() { },
9
+ };
10
+ function createMockConversationService() {
11
+ const storeHistory = [];
12
+ return {
13
+ storeHistory,
14
+ sendMessage: async (input, opts = {}) => {
15
+ const text = typeof input === 'string' ? input : input.text ?? '';
16
+ if (text === 'Hello') {
17
+ // Simulate max-turns error on first user message
18
+ const error = new Error('Max turns (10) exceeded');
19
+ throw error;
20
+ }
21
+ storeHistory.push(text);
22
+ // Simulate a simple bot response for continuation
23
+ if (opts.onEvent) {
24
+ opts.onEvent({ type: 'text_delta', delta: 'Continuing' });
25
+ opts.onEvent({ type: 'final', finalText: 'Continuing', usage: null });
26
+ }
27
+ return { type: 'response', finalText: 'Continuing', commandMessages: [], usage: null };
28
+ },
29
+ handleApprovalDecision: async () => {
30
+ return { type: 'response', finalText: '', commandMessages: [], usage: null };
31
+ },
32
+ undoLastUserTurn: () => {
33
+ const removed = storeHistory.pop();
34
+ return removed ? { text: removed, imageCount: 0 } : null;
35
+ },
36
+ undoNUserTurns: (n) => {
37
+ let removed = null;
38
+ for (let i = 0; i < n; i++) {
39
+ const r = storeHistory.pop();
40
+ if (r)
41
+ removed = r;
42
+ }
43
+ return removed ? { text: removed, imageCount: 0 } : null;
44
+ },
45
+ abort: () => { },
46
+ setRetryCallback: () => { },
47
+ };
48
+ }
49
+ const Harness = ({ conversationService, onApi, }) => {
50
+ const hook = useConversation({
51
+ conversationService,
52
+ loggingService,
53
+ });
54
+ const onApiRef = useRef(onApi);
55
+ onApiRef.current = onApi;
56
+ useEffect(() => {
57
+ onApiRef.current({
58
+ messages: hook.messages,
59
+ sendUserMessage: hook.sendUserMessage,
60
+ handleApprovalDecision: hook.handleApprovalDecision,
61
+ undoLastUserMessage: hook.undoLastUserMessage,
62
+ undoToUserMessage: hook.undoToUserMessage,
63
+ getUserMessages: hook.getUserMessages,
64
+ });
65
+ }, [hook.messages]);
66
+ return React.createElement(Text, null, hook.messages.map((m) => ('text' in m ? m.text : m.sender)).join('|'));
67
+ };
68
+ test('undo after max-turns continuation restores wrong text because store has hidden turn', async (t) => {
69
+ const service = createMockConversationService();
70
+ let api = null;
71
+ const { lastFrame } = render(React.createElement(Harness, { conversationService: service, onApi: (a) => {
72
+ api = a;
73
+ } }));
74
+ // Send initial message that triggers max-turns error
75
+ await api.sendUserMessage('Hello');
76
+ // Wait for React to flush the user message append
77
+ for (let attempt = 0; attempt < 20; attempt++) {
78
+ if (lastFrame() === 'Hello')
79
+ break;
80
+ await new Promise((resolve) => setTimeout(resolve, 10));
81
+ }
82
+ // UI has user message only (bot threw before responding)
83
+ t.is(lastFrame(), 'Hello');
84
+ t.is(api.messages.length, 1);
85
+ t.is(api.messages[0].text, 'Hello');
86
+ // Approve max-turns continuation
87
+ await api.handleApprovalDecision('y');
88
+ // Wait for continuation processing to finish
89
+ for (let attempt = 0; attempt < 50; attempt++) {
90
+ if (lastFrame() === 'Hello|Continuing')
91
+ break;
92
+ await new Promise((resolve) => setTimeout(resolve, 10));
93
+ }
94
+ // After continuation, UI should have the original user msg + continuation user msg + bot reply
95
+ // BUT currently it only has original + bot reply because continuation was not added to UI
96
+ // This assertion documents the BUG:
97
+ t.is(lastFrame(), 'Hello|Continuing');
98
+ t.is(api.messages.length, 2); // BUG: should be 3
99
+ t.is(api.messages[0].text, 'Hello');
100
+ t.is(api.messages[1].text, 'Continuing');
101
+ // Store has the hidden continuation turn
102
+ t.deepEqual(service.storeHistory, ['Please continue with your previous task.']);
103
+ // Try undo to the first (and only visible) user message
104
+ const restored = api.undoToUserMessage(0);
105
+ // Wait for undo to flush
106
+ for (let attempt = 0; attempt < 20; attempt++) {
107
+ if (lastFrame() === '')
108
+ break;
109
+ await new Promise((resolve) => setTimeout(resolve, 10));
110
+ }
111
+ // BUG: restored is the hidden continuation text, not "Hello"
112
+ t.is(restored, 'Please continue with your previous task.');
113
+ // UI is cleared, but store still has "Hello" because only hidden turn was removed
114
+ t.is(lastFrame(), '');
115
+ t.is(api.messages.length, 0);
116
+ t.deepEqual(service.storeHistory, ['Hello']);
117
+ });
118
+ //# sourceMappingURL=use-conversation.max-turns-undo.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-conversation.max-turns-undo.test.js","sourceRoot":"","sources":["../../source/hooks/use-conversation.max-turns-undo.test.tsx"],"names":[],"mappings":"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"}
@@ -24,8 +24,10 @@ const createMockSettings = (providerId) => ({
24
24
  });
25
25
  // Mock Runner
26
26
  let lastRunOptions = null;
27
+ let lastRunAgent = null;
27
28
  class MockRunner {
28
29
  async run(_agent, _input, _options) {
30
+ lastRunAgent = _agent;
29
31
  lastRunOptions = _options;
30
32
  return {
31
33
  status: 'completed',
@@ -56,6 +58,44 @@ test.before(() => {
56
58
  },
57
59
  });
58
60
  });
61
+ test.serial('OpenAIAgentClient.chatJson passes outputType into the temporary Agent', async (t) => {
62
+ lastRunAgent = null;
63
+ const client = new OpenAIAgentClient({
64
+ deps: {
65
+ logger: mockLogger,
66
+ settings: createMockSettings('mock-provider-chat'),
67
+ },
68
+ });
69
+ await client.chatJson('Return JSON', {
70
+ outputType: {
71
+ type: 'json_schema',
72
+ name: 'test_output',
73
+ strict: true,
74
+ schema: {
75
+ type: 'object',
76
+ additionalProperties: false,
77
+ properties: {
78
+ ok: { type: 'boolean' },
79
+ },
80
+ required: ['ok'],
81
+ },
82
+ },
83
+ });
84
+ t.truthy(lastRunAgent);
85
+ t.deepEqual(lastRunAgent.outputType, {
86
+ type: 'json_schema',
87
+ name: 'test_output',
88
+ strict: true,
89
+ schema: {
90
+ type: 'object',
91
+ additionalProperties: false,
92
+ properties: {
93
+ ok: { type: 'boolean' },
94
+ },
95
+ required: ['ok'],
96
+ },
97
+ });
98
+ });
59
99
  test.serial('OpenAIAgentClient.chat falls back to messages if finalOutput is missing', async (t) => {
60
100
  const client = new OpenAIAgentClient({
61
101
  deps: {
@@ -1 +1 @@
1
- {"version":3,"file":"openai-agent-client.chat.test.js","sourceRoot":"","sources":["../../source/lib/openai-agent-client.chat.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-agent-client.chat.test.js","sourceRoot":"","sources":["../../source/lib/openai-agent-client.chat.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,cAAc;AACd,MAAM,UAAU,GAAoB;IAClC,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC5B,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;CACP,CAAC;AAET,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAoB,EAAE,CAClE,CAAC;IACC,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE;QACnB,IAAI,GAAG,KAAK,gBAAgB;YAAE,OAAO,UAAU,CAAC;QAChD,IAAI,GAAG,KAAK,aAAa;YAAE,OAAO,YAAY,CAAC;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;IACb,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACX,CAAA,CAAC;AAEZ,cAAc;AACd,IAAI,cAAc,GAAQ,IAAI,CAAC;AAC/B,IAAI,YAAY,GAAQ,IAAI,CAAC;AAC7B,MAAM,UAAU;IACd,KAAK,CAAC,GAAG,CAAC,MAAW,EAAE,MAAW,EAAE,QAAa;QAC/C,YAAY,GAAG,MAAM,CAAC;QACtB,cAAc,GAAG,QAAQ,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;YAC9D,yBAAyB;SAC1B,CAAC;IACJ,CAAC;CACF;AAED,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;IACf,gBAAgB,CAAC;QACf,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,oBAAoB;QAC3B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,EAAS;QAC3C,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;QAC/C,YAAY,EAAE;YACZ,4BAA4B,EAAE,KAAK;YACnC,sBAAsB,EAAE,KAAK;SAC9B;KACF,CAAC,CAAC;IACH,gBAAgB,CAAC;QACf,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE,4BAA4B;QACnC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,EAAS;QAC3C,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;QAC/C,YAAY,EAAE;YACZ,4BAA4B,EAAE,KAAK;YACnC,sBAAsB,EAAE,IAAI;SAC7B;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,uEAAuE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC/F,YAAY,GAAG,IAAI,CAAC;IAEpB,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;QACnC,IAAI,EAAE;YACJ,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,kBAAkB,CAAC,oBAAoB,CAAC;SACnD;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE;QACnC,UAAU,EAAE;YACV,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iBACxB;gBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;SACF;KACF,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACvB,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE;QACnC,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACxB;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,yEAAyE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjG,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;QACnC,IAAI,EAAE;YACJ,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,kBAAkB,CAAC,oBAAoB,CAAC;SACnD;KACF,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,sDAAsD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9E,cAAc,GAAG,IAAI,CAAC;IAEtB,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;QACnC,IAAI,EAAE;YACJ,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,kBAAkB,CAAC,oBAAoB,CAAC;SACnD;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,4DAA4D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACpF,cAAc,GAAG,IAAI,CAAC;IAEtB,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;QACnC,IAAI,EAAE;YACJ,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,kBAAkB,CAAC,4BAA4B,CAAC;SAC3D;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACzB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type AgentInputItem } from '@openai/agents';
1
+ import { type AgentInputItem, type JsonSchemaDefinition } from '@openai/agents';
2
2
  import { type ModelSettingsReasoningEffort } from '@openai/agents-core/model';
3
3
  import type { ILoggingService, ISettingsService } from '../services/service-interfaces.js';
4
4
  import { ExecutionContext } from '../services/execution-context.js';
@@ -76,6 +76,13 @@ export declare class OpenAIAgentClient {
76
76
  reasoningEffort?: ModelSettingsReasoningEffort | 'default';
77
77
  instructions?: string;
78
78
  }): Promise<string>;
79
+ chatJson(message: string, options: {
80
+ model?: string;
81
+ provider?: string;
82
+ reasoningEffort?: ModelSettingsReasoningEffort | 'default';
83
+ instructions?: string;
84
+ outputType: JsonSchemaDefinition;
85
+ }): Promise<unknown>;
79
86
  getSettings(): ISettingsService;
80
87
  }
81
88
  //# sourceMappingURL=openai-agent-client.d.ts.map