@qduc/term2 0.1.5 → 0.1.7

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 (741) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +4 -24
  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/app.d.ts.map +1 -1
  9. package/dist/app.js +11 -32
  10. package/dist/app.js.map +1 -1
  11. package/dist/app.parseInput.test.js +4 -4
  12. package/dist/app.parseInput.test.js.map +1 -1
  13. package/dist/cli.js +44 -29
  14. package/dist/cli.js.map +1 -1
  15. package/dist/components/ApprovalPrompt.d.ts.map +1 -1
  16. package/dist/components/ApprovalPrompt.js +14 -11
  17. package/dist/components/ApprovalPrompt.js.map +1 -1
  18. package/dist/components/Banner.d.ts.map +1 -1
  19. package/dist/components/Banner.js +4 -12
  20. package/dist/components/Banner.js.map +1 -1
  21. package/dist/components/BottomArea.d.ts.map +1 -1
  22. package/dist/components/BottomArea.js +4 -7
  23. package/dist/components/BottomArea.js.map +1 -1
  24. package/dist/components/BottomArea.test.js +4 -6
  25. package/dist/components/BottomArea.test.js.map +1 -1
  26. package/dist/components/ChatMessage.d.ts.map +1 -1
  27. package/dist/components/ChatMessage.js.map +1 -1
  28. package/dist/components/CommandMessage.d.ts.map +1 -1
  29. package/dist/components/CommandMessage.js +19 -30
  30. package/dist/components/CommandMessage.js.map +1 -1
  31. package/dist/components/CommandMessage.test.js +2 -2
  32. package/dist/components/CommandMessage.test.js.map +1 -1
  33. package/dist/components/ErrorBoundary.d.ts.map +1 -1
  34. package/dist/components/ErrorBoundary.js +3 -9
  35. package/dist/components/ErrorBoundary.js.map +1 -1
  36. package/dist/components/ErrorBoundary.test.js +2 -2
  37. package/dist/components/ErrorBoundary.test.js.map +1 -1
  38. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  39. package/dist/components/Input/PopupManager.js.map +1 -1
  40. package/dist/components/InputBox.d.ts.map +1 -1
  41. package/dist/components/InputBox.js +15 -33
  42. package/dist/components/InputBox.js.map +1 -1
  43. package/dist/components/InputBox.menu-logic.test.js +6 -7
  44. package/dist/components/InputBox.menu-logic.test.js.map +1 -1
  45. package/dist/components/InputBox.test.js +7 -9
  46. package/dist/components/InputBox.test.js.map +1 -1
  47. package/dist/components/LiveResponse.d.ts.map +1 -1
  48. package/dist/components/LiveResponse.js.map +1 -1
  49. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  50. package/dist/components/MarkdownRenderer.js +12 -12
  51. package/dist/components/MarkdownRenderer.js.map +1 -1
  52. package/dist/components/MessageList.d.ts.map +1 -1
  53. package/dist/components/MessageList.js.map +1 -1
  54. package/dist/components/MessageList.test.js +1 -1
  55. package/dist/components/MessageList.test.js.map +1 -1
  56. package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
  57. package/dist/components/ModelSelectionMenu.js +11 -16
  58. package/dist/components/ModelSelectionMenu.js.map +1 -1
  59. package/dist/components/ModelSelectionMenu.test.js +9 -9
  60. package/dist/components/ModelSelectionMenu.test.js.map +1 -1
  61. package/dist/components/PathSelectionMenu.d.ts.map +1 -1
  62. package/dist/components/PathSelectionMenu.js +1 -1
  63. package/dist/components/PathSelectionMenu.js.map +1 -1
  64. package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
  65. package/dist/components/SettingsSelectionMenu.js +1 -1
  66. package/dist/components/SettingsSelectionMenu.js.map +1 -1
  67. package/dist/components/SettingsSelectionMenu.test.js +4 -4
  68. package/dist/components/SettingsSelectionMenu.test.js.map +1 -1
  69. package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
  70. package/dist/components/SettingsValueSelectionMenu.js +5 -6
  71. package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
  72. package/dist/components/SettingsValueSelectionMenu.test.js +5 -5
  73. package/dist/components/SettingsValueSelectionMenu.test.js.map +1 -1
  74. package/dist/components/SlashCommandMenu.d.ts.map +1 -1
  75. package/dist/components/SlashCommandMenu.js +1 -1
  76. package/dist/components/SlashCommandMenu.js.map +1 -1
  77. package/dist/components/StatusBar.d.ts.map +1 -1
  78. package/dist/components/StatusBar.js +3 -4
  79. package/dist/components/StatusBar.js.map +1 -1
  80. package/dist/components/TextInput.d.ts.map +1 -1
  81. package/dist/components/TextInput.js +2 -1
  82. package/dist/components/TextInput.js.map +1 -1
  83. package/dist/components/TextInput.test.js.map +1 -1
  84. package/dist/context/InputContext.d.ts.map +1 -1
  85. package/dist/context/InputContext.js.map +1 -1
  86. package/dist/context/InputContext.stability.test.js +1 -1
  87. package/dist/context/InputContext.stability.test.js.map +1 -1
  88. package/dist/context/InputContext.test.js +15 -15
  89. package/dist/context/InputContext.test.js.map +1 -1
  90. package/dist/debug_ask_mentor.d.ts +2 -0
  91. package/dist/debug_ask_mentor.d.ts.map +1 -0
  92. package/dist/debug_ask_mentor.js +73 -0
  93. package/dist/debug_ask_mentor.js.map +1 -0
  94. package/dist/hooks/use-conversation.d.ts +3 -13
  95. package/dist/hooks/use-conversation.d.ts.map +1 -1
  96. package/dist/hooks/use-conversation.js +35 -184
  97. package/dist/hooks/use-conversation.js.map +1 -1
  98. package/dist/hooks/use-input-history.d.ts.map +1 -1
  99. package/dist/hooks/use-input-history.js +1 -3
  100. package/dist/hooks/use-input-history.js.map +1 -1
  101. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  102. package/dist/hooks/use-model-selection.js +8 -10
  103. package/dist/hooks/use-model-selection.js.map +1 -1
  104. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  105. package/dist/hooks/use-path-completion.js +6 -6
  106. package/dist/hooks/use-path-completion.js.map +1 -1
  107. package/dist/hooks/use-setting.d.ts.map +1 -1
  108. package/dist/hooks/use-setting.js +3 -6
  109. package/dist/hooks/use-setting.js.map +1 -1
  110. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  111. package/dist/hooks/use-settings-completion.js +10 -12
  112. package/dist/hooks/use-settings-completion.js.map +1 -1
  113. package/dist/hooks/use-settings-completion.test.js +46 -46
  114. package/dist/hooks/use-settings-completion.test.js.map +1 -1
  115. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  116. package/dist/hooks/use-settings-value-completion.js +13 -43
  117. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  118. package/dist/hooks/use-settings-value-completion.test.js +12 -18
  119. package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
  120. package/dist/hooks/use-slash-commands.d.ts +1 -1
  121. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  122. package/dist/hooks/use-slash-commands.js +6 -11
  123. package/dist/hooks/use-slash-commands.js.map +1 -1
  124. package/dist/hooks/use-slash-commands.test.js +24 -24
  125. package/dist/hooks/use-slash-commands.test.js.map +1 -1
  126. package/dist/lib/editor-impl.d.ts.map +1 -1
  127. package/dist/lib/editor-impl.js +6 -16
  128. package/dist/lib/editor-impl.js.map +1 -1
  129. package/dist/lib/editor-impl.test.js.map +1 -1
  130. package/dist/lib/openai-agent-client.chat.test.js +33 -8
  131. package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
  132. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  133. package/dist/lib/openai-agent-client.flex-tier.test.js +5 -5
  134. package/dist/lib/openai-agent-client.flex-tier.test.js.map +1 -1
  135. package/dist/lib/openai-agent-client.js +89 -85
  136. package/dist/lib/openai-agent-client.js.map +1 -1
  137. package/dist/lib/openai-agent-client.public-methods.test.js +186 -12
  138. package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
  139. package/dist/lib/openai-agent-client.test.js +17 -17
  140. package/dist/lib/openai-agent-client.test.js.map +1 -1
  141. package/dist/lib/openai-strict-tool-schema.d.ts +10 -0
  142. package/dist/lib/openai-strict-tool-schema.d.ts.map +1 -0
  143. package/dist/lib/openai-strict-tool-schema.js +39 -0
  144. package/dist/lib/openai-strict-tool-schema.js.map +1 -0
  145. package/dist/lib/openai-strict-tool-schema.test.d.ts +2 -0
  146. package/dist/lib/openai-strict-tool-schema.test.d.ts.map +1 -0
  147. package/dist/lib/openai-strict-tool-schema.test.js +26 -0
  148. package/dist/lib/openai-strict-tool-schema.test.js.map +1 -0
  149. package/dist/lib/tool-invoke.d.ts.map +1 -1
  150. package/dist/lib/tool-invoke.js.map +1 -1
  151. package/dist/lib/tool-invoke.test.js.map +1 -1
  152. package/dist/modes/companion/command-index.d.ts +26 -0
  153. package/dist/modes/companion/command-index.d.ts.map +1 -0
  154. package/dist/modes/companion/command-index.js +50 -0
  155. package/dist/modes/companion/command-index.js.map +1 -0
  156. package/dist/modes/companion/command-index.test.d.ts +2 -0
  157. package/dist/modes/companion/command-index.test.d.ts.map +1 -0
  158. package/dist/modes/companion/command-index.test.js +86 -0
  159. package/dist/modes/companion/command-index.test.js.map +1 -0
  160. package/dist/modes/companion/companion-app.d.ts +12 -0
  161. package/dist/modes/companion/companion-app.d.ts.map +1 -0
  162. package/dist/modes/companion/companion-app.js +297 -0
  163. package/dist/modes/companion/companion-app.js.map +1 -0
  164. package/dist/modes/companion/companion-session.d.ts +63 -0
  165. package/dist/modes/companion/companion-session.d.ts.map +1 -0
  166. package/dist/modes/companion/companion-session.js +146 -0
  167. package/dist/modes/companion/companion-session.js.map +1 -0
  168. package/dist/modes/companion/companion-session.test.d.ts +2 -0
  169. package/dist/modes/companion/companion-session.test.d.ts.map +1 -0
  170. package/dist/modes/companion/companion-session.test.js +28 -0
  171. package/dist/modes/companion/companion-session.test.js.map +1 -0
  172. package/dist/modes/companion/components/status-bar.d.ts +13 -0
  173. package/dist/modes/companion/components/status-bar.d.ts.map +1 -0
  174. package/dist/modes/companion/components/status-bar.js +26 -0
  175. package/dist/modes/companion/components/status-bar.js.map +1 -0
  176. package/dist/modes/companion/context-buffer.d.ts +65 -0
  177. package/dist/modes/companion/context-buffer.d.ts.map +1 -0
  178. package/dist/modes/companion/context-buffer.js +156 -0
  179. package/dist/modes/companion/context-buffer.js.map +1 -0
  180. package/dist/modes/companion/context-buffer.test.d.ts +2 -0
  181. package/dist/modes/companion/context-buffer.test.d.ts.map +1 -0
  182. package/dist/modes/companion/context-buffer.test.js +154 -0
  183. package/dist/modes/companion/context-buffer.test.js.map +1 -0
  184. package/dist/modes/companion/event-detector.d.ts +46 -0
  185. package/dist/modes/companion/event-detector.d.ts.map +1 -0
  186. package/dist/modes/companion/event-detector.js +169 -0
  187. package/dist/modes/companion/event-detector.js.map +1 -0
  188. package/dist/modes/companion/event-detector.test.d.ts +2 -0
  189. package/dist/modes/companion/event-detector.test.d.ts.map +1 -0
  190. package/dist/modes/companion/event-detector.test.js +121 -0
  191. package/dist/modes/companion/event-detector.test.js.map +1 -0
  192. package/dist/modes/companion/index.d.ts +33 -0
  193. package/dist/modes/companion/index.d.ts.map +1 -0
  194. package/dist/modes/companion/index.js +21 -0
  195. package/dist/modes/companion/index.js.map +1 -0
  196. package/dist/modes/companion/input-key-mapper.d.ts +3 -0
  197. package/dist/modes/companion/input-key-mapper.d.ts.map +1 -0
  198. package/dist/modes/companion/input-key-mapper.js +31 -0
  199. package/dist/modes/companion/input-key-mapper.js.map +1 -0
  200. package/dist/modes/companion/input-key-mapper.test.d.ts +2 -0
  201. package/dist/modes/companion/input-key-mapper.test.d.ts.map +1 -0
  202. package/dist/modes/companion/input-key-mapper.test.js +26 -0
  203. package/dist/modes/companion/input-key-mapper.test.js.map +1 -0
  204. package/dist/modes/companion/input-parser.d.ts +53 -0
  205. package/dist/modes/companion/input-parser.d.ts.map +1 -0
  206. package/dist/modes/companion/input-parser.js +114 -0
  207. package/dist/modes/companion/input-parser.js.map +1 -0
  208. package/dist/modes/companion/input-parser.test.d.ts +2 -0
  209. package/dist/modes/companion/input-parser.test.d.ts.map +1 -0
  210. package/dist/modes/companion/input-parser.test.js +123 -0
  211. package/dist/modes/companion/input-parser.test.js.map +1 -0
  212. package/dist/modes/companion/mode-manager.d.ts +41 -0
  213. package/dist/modes/companion/mode-manager.d.ts.map +1 -0
  214. package/dist/modes/companion/mode-manager.js +56 -0
  215. package/dist/modes/companion/mode-manager.js.map +1 -0
  216. package/dist/modes/companion/mode-manager.test.d.ts +2 -0
  217. package/dist/modes/companion/mode-manager.test.d.ts.map +1 -0
  218. package/dist/modes/companion/mode-manager.test.js +65 -0
  219. package/dist/modes/companion/mode-manager.test.js.map +1 -0
  220. package/dist/modes/companion/output-classifier.d.ts +15 -0
  221. package/dist/modes/companion/output-classifier.d.ts.map +1 -0
  222. package/dist/modes/companion/output-classifier.js +77 -0
  223. package/dist/modes/companion/output-classifier.js.map +1 -0
  224. package/dist/modes/companion/output-classifier.test.d.ts +2 -0
  225. package/dist/modes/companion/output-classifier.test.d.ts.map +1 -0
  226. package/dist/modes/companion/output-classifier.test.js +133 -0
  227. package/dist/modes/companion/output-classifier.test.js.map +1 -0
  228. package/dist/modes/companion/pty-wrapper.d.ts +46 -0
  229. package/dist/modes/companion/pty-wrapper.d.ts.map +1 -0
  230. package/dist/modes/companion/pty-wrapper.js +143 -0
  231. package/dist/modes/companion/pty-wrapper.js.map +1 -0
  232. package/dist/modes/companion/safety-classifier.d.ts +31 -0
  233. package/dist/modes/companion/safety-classifier.d.ts.map +1 -0
  234. package/dist/modes/companion/safety-classifier.js +140 -0
  235. package/dist/modes/companion/safety-classifier.js.map +1 -0
  236. package/dist/modes/companion/safety-classifier.test.d.ts +2 -0
  237. package/dist/modes/companion/safety-classifier.test.d.ts.map +1 -0
  238. package/dist/modes/companion/safety-classifier.test.js +151 -0
  239. package/dist/modes/companion/safety-classifier.test.js.map +1 -0
  240. package/dist/modes/companion/summarizer.d.ts +24 -0
  241. package/dist/modes/companion/summarizer.d.ts.map +1 -0
  242. package/dist/modes/companion/summarizer.js +132 -0
  243. package/dist/modes/companion/summarizer.js.map +1 -0
  244. package/dist/modes/companion/terminal-history.d.ts +27 -0
  245. package/dist/modes/companion/terminal-history.d.ts.map +1 -0
  246. package/dist/modes/companion/terminal-history.js +142 -0
  247. package/dist/modes/companion/terminal-history.js.map +1 -0
  248. package/dist/no-singleton-imports.test.js +1 -1
  249. package/dist/no-singleton-imports.test.js.map +1 -1
  250. package/dist/non-interactive.d.ts +20 -0
  251. package/dist/non-interactive.d.ts.map +1 -0
  252. package/dist/non-interactive.js +86 -0
  253. package/dist/non-interactive.js.map +1 -0
  254. package/dist/non-interactive.test.d.ts +2 -0
  255. package/dist/non-interactive.test.d.ts.map +1 -0
  256. package/dist/non-interactive.test.js +213 -0
  257. package/dist/non-interactive.test.js.map +1 -0
  258. package/dist/prompts/anthropic.md +11 -11
  259. package/dist/prompts/codex.md +63 -63
  260. package/dist/prompts/gpt-5.md +95 -95
  261. package/dist/prompts/mentor-addon.md +6 -5
  262. package/dist/prompts/prompt-selector.d.ts +8 -0
  263. package/dist/prompts/prompt-selector.d.ts.map +1 -0
  264. package/dist/prompts/prompt-selector.js +21 -0
  265. package/dist/prompts/prompt-selector.js.map +1 -0
  266. package/dist/prompts/prompt-selector.test.d.ts +2 -0
  267. package/dist/prompts/prompt-selector.test.d.ts.map +1 -0
  268. package/dist/prompts/prompt-selector.test.js +21 -0
  269. package/dist/prompts/prompt-selector.test.js.map +1 -0
  270. package/dist/prompts/prompt-selector.test.ts +32 -0
  271. package/dist/prompts/prompt-selector.ts +30 -0
  272. package/dist/prompts/simple-mentor.md +8 -0
  273. package/dist/prompts/simple.md +58 -58
  274. package/dist/providers/github-copilot/model.d.ts.map +1 -1
  275. package/dist/providers/github-copilot/model.js +25 -108
  276. package/dist/providers/github-copilot/model.js.map +1 -1
  277. package/dist/providers/github-copilot/model.test.d.ts +2 -0
  278. package/dist/providers/github-copilot/model.test.d.ts.map +1 -0
  279. package/dist/providers/github-copilot/model.test.js +63 -0
  280. package/dist/providers/github-copilot/model.test.js.map +1 -0
  281. package/dist/providers/github-copilot/provider.d.ts +0 -5
  282. package/dist/providers/github-copilot/provider.d.ts.map +1 -1
  283. package/dist/providers/github-copilot/provider.js +2 -7
  284. package/dist/providers/github-copilot/provider.js.map +1 -1
  285. package/dist/providers/index.d.ts.map +1 -1
  286. package/dist/providers/index.js.map +1 -1
  287. package/dist/providers/openai-compatible/api.d.ts.map +1 -1
  288. package/dist/providers/openai-compatible/api.js.map +1 -1
  289. package/dist/providers/openai-compatible/model.d.ts.map +1 -1
  290. package/dist/providers/openai-compatible/model.js +22 -56
  291. package/dist/providers/openai-compatible/model.js.map +1 -1
  292. package/dist/providers/openai-compatible/provider.d.ts.map +1 -1
  293. package/dist/providers/openai-compatible/provider.js.map +1 -1
  294. package/dist/providers/openai-compatible/reasoning-content.test.js +72 -2
  295. package/dist/providers/openai-compatible/reasoning-content.test.js.map +1 -1
  296. package/dist/providers/openai-compatible/utils.d.ts.map +1 -1
  297. package/dist/providers/openai-compatible/utils.js.map +1 -1
  298. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  299. package/dist/providers/openai-compatible.provider.js +5 -1
  300. package/dist/providers/openai-compatible.provider.js.map +1 -1
  301. package/dist/providers/openai.provider.js +4 -0
  302. package/dist/providers/openai.provider.js.map +1 -1
  303. package/dist/providers/openrouter/api.d.ts.map +1 -1
  304. package/dist/providers/openrouter/api.js +5 -13
  305. package/dist/providers/openrouter/api.js.map +1 -1
  306. package/dist/providers/openrouter/converters.d.ts.map +1 -1
  307. package/dist/providers/openrouter/converters.js +9 -28
  308. package/dist/providers/openrouter/converters.js.map +1 -1
  309. package/dist/providers/openrouter/converters.test.js +7 -11
  310. package/dist/providers/openrouter/converters.test.js.map +1 -1
  311. package/dist/providers/openrouter/index.d.ts.map +1 -1
  312. package/dist/providers/openrouter/index.js.map +1 -1
  313. package/dist/providers/openrouter/model.d.ts.map +1 -1
  314. package/dist/providers/openrouter/model.js +22 -58
  315. package/dist/providers/openrouter/model.js.map +1 -1
  316. package/dist/providers/openrouter/provider.d.ts.map +1 -1
  317. package/dist/providers/openrouter/provider.js.map +1 -1
  318. package/dist/providers/openrouter/reasoning-content.test.js +1 -1
  319. package/dist/providers/openrouter/reasoning-content.test.js.map +1 -1
  320. package/dist/providers/openrouter/utils.d.ts +1 -0
  321. package/dist/providers/openrouter/utils.d.ts.map +1 -1
  322. package/dist/providers/openrouter/utils.js +5 -3
  323. package/dist/providers/openrouter/utils.js.map +1 -1
  324. package/dist/providers/openrouter.api.retry.test.js.map +1 -1
  325. package/dist/providers/openrouter.provider.createRunner.test.js +1 -1
  326. package/dist/providers/openrouter.provider.createRunner.test.js.map +1 -1
  327. package/dist/providers/openrouter.provider.js +6 -4
  328. package/dist/providers/openrouter.provider.js.map +1 -1
  329. package/dist/providers/openrouter.test.js +77 -17
  330. package/dist/providers/openrouter.test.js.map +1 -1
  331. package/dist/providers/registry.d.ts +5 -0
  332. package/dist/providers/registry.d.ts.map +1 -1
  333. package/dist/providers/registry.js.map +1 -1
  334. package/dist/providers/registry.test.js +11 -11
  335. package/dist/providers/registry.test.js.map +1 -1
  336. package/dist/providers/web-search/index.d.ts +1 -1
  337. package/dist/providers/web-search/index.d.ts.map +1 -1
  338. package/dist/providers/web-search/index.js.map +1 -1
  339. package/dist/providers/web-search/registry.d.ts.map +1 -1
  340. package/dist/providers/web-search/registry.js.map +1 -1
  341. package/dist/providers/web-search/registry.test.js +14 -14
  342. package/dist/providers/web-search/registry.test.js.map +1 -1
  343. package/dist/providers/web-search/tavily.provider.d.ts.map +1 -1
  344. package/dist/providers/web-search/tavily.provider.js +4 -4
  345. package/dist/providers/web-search/tavily.provider.js.map +1 -1
  346. package/dist/providers/web-search/tavily.provider.test.js +7 -7
  347. package/dist/providers/web-search/tavily.provider.test.js.map +1 -1
  348. package/dist/providers/web-search/types.d.ts.map +1 -1
  349. package/dist/scripts/extract-provider-traffic.d.ts +3 -0
  350. package/dist/scripts/extract-provider-traffic.d.ts.map +1 -0
  351. package/dist/scripts/extract-provider-traffic.js +32 -0
  352. package/dist/scripts/extract-provider-traffic.js.map +1 -0
  353. package/dist/services/approval-state.d.ts +24 -0
  354. package/dist/services/approval-state.d.ts.map +1 -0
  355. package/dist/services/approval-state.js +41 -0
  356. package/dist/services/approval-state.js.map +1 -0
  357. package/dist/services/approval-state.test.d.ts +2 -0
  358. package/dist/services/approval-state.test.d.ts.map +1 -0
  359. package/dist/services/approval-state.test.js +59 -0
  360. package/dist/services/approval-state.test.js.map +1 -0
  361. package/dist/services/check_mock.d.ts +2 -0
  362. package/dist/services/check_mock.d.ts.map +1 -0
  363. package/dist/services/check_mock.js +22 -0
  364. package/dist/services/check_mock.js.map +1 -0
  365. package/dist/services/command-message-streaming.d.ts +12 -0
  366. package/dist/services/command-message-streaming.d.ts.map +1 -0
  367. package/dist/services/command-message-streaming.js +68 -0
  368. package/dist/services/command-message-streaming.js.map +1 -0
  369. package/dist/services/command-message-streaming.test.d.ts +2 -0
  370. package/dist/services/command-message-streaming.test.d.ts.map +1 -0
  371. package/dist/services/command-message-streaming.test.js +78 -0
  372. package/dist/services/command-message-streaming.test.js.map +1 -0
  373. package/dist/services/conversation-events.d.ts +2 -13
  374. package/dist/services/conversation-events.d.ts.map +1 -1
  375. package/dist/services/conversation-integration.test.d.ts +2 -0
  376. package/dist/services/conversation-integration.test.d.ts.map +1 -0
  377. package/dist/services/conversation-integration.test.js +155 -0
  378. package/dist/services/conversation-integration.test.js.map +1 -0
  379. package/dist/services/conversation-service.d.ts +1 -1
  380. package/dist/services/conversation-service.d.ts.map +1 -1
  381. package/dist/services/conversation-service.js.map +1 -1
  382. package/dist/services/conversation-service.test.d.ts +2 -0
  383. package/dist/services/conversation-service.test.d.ts.map +1 -0
  384. package/dist/services/conversation-service.test.js +149 -183
  385. package/dist/services/conversation-service.test.js.map +1 -0
  386. package/dist/services/conversation-session-reasoning.test.js +3 -3
  387. package/dist/services/conversation-session-reasoning.test.js.map +1 -1
  388. package/dist/services/conversation-session.d.ts +5 -17
  389. package/dist/services/conversation-session.d.ts.map +1 -1
  390. package/dist/services/conversation-session.js +164 -275
  391. package/dist/services/conversation-session.js.map +1 -1
  392. package/dist/services/conversation-store.d.ts.map +1 -1
  393. package/dist/services/conversation-store.js +3 -9
  394. package/dist/services/conversation-store.js.map +1 -1
  395. package/dist/services/conversation-store.test.js +17 -14
  396. package/dist/services/conversation-store.test.js.map +1 -1
  397. package/dist/services/execution-context.d.ts.map +1 -1
  398. package/dist/services/execution-context.js.map +1 -1
  399. package/dist/services/execution-context.test.js +7 -7
  400. package/dist/services/execution-context.test.js.map +1 -1
  401. package/dist/services/file-service.d.ts.map +1 -1
  402. package/dist/services/file-service.js +5 -9
  403. package/dist/services/file-service.js.map +1 -1
  404. package/dist/services/history-service.d.ts.map +1 -1
  405. package/dist/services/history-service.js +3 -7
  406. package/dist/services/history-service.js.map +1 -1
  407. package/dist/services/logging-contract.d.ts +74 -0
  408. package/dist/services/logging-contract.d.ts.map +1 -0
  409. package/dist/services/logging-contract.js +157 -0
  410. package/dist/services/logging-contract.js.map +1 -0
  411. package/dist/services/logging-contract.test.d.ts +2 -0
  412. package/dist/services/logging-contract.test.d.ts.map +1 -0
  413. package/dist/services/logging-contract.test.js +66 -0
  414. package/dist/services/logging-contract.test.js.map +1 -0
  415. package/dist/services/logging-service.d.ts +5 -0
  416. package/dist/services/logging-service.d.ts.map +1 -1
  417. package/dist/services/logging-service.js +93 -21
  418. package/dist/services/logging-service.js.map +1 -1
  419. package/dist/services/model-service.d.ts.map +1 -1
  420. package/dist/services/model-service.js +2 -2
  421. package/dist/services/model-service.js.map +1 -1
  422. package/dist/services/model-service.test.js +6 -6
  423. package/dist/services/model-service.test.js.map +1 -1
  424. package/dist/services/service-interfaces.d.ts.map +1 -1
  425. package/dist/services/settings-env.d.ts +9 -0
  426. package/dist/services/settings-env.d.ts.map +1 -0
  427. package/dist/services/settings-env.js +75 -0
  428. package/dist/services/settings-env.js.map +1 -0
  429. package/dist/services/settings-env.test.d.ts +2 -0
  430. package/dist/services/settings-env.test.d.ts.map +1 -0
  431. package/dist/services/settings-env.test.js +32 -0
  432. package/dist/services/settings-env.test.js.map +1 -0
  433. package/dist/services/settings-merger.d.ts +26 -0
  434. package/dist/services/settings-merger.d.ts.map +1 -0
  435. package/dist/services/settings-merger.js +122 -0
  436. package/dist/services/settings-merger.js.map +1 -0
  437. package/dist/services/settings-merger.test.d.ts +2 -0
  438. package/dist/services/settings-merger.test.d.ts.map +1 -0
  439. package/dist/services/settings-merger.test.js +26 -0
  440. package/dist/services/settings-merger.test.js.map +1 -0
  441. package/dist/services/settings-persistence.d.ts +32 -0
  442. package/dist/services/settings-persistence.d.ts.map +1 -0
  443. package/dist/services/settings-persistence.js +134 -0
  444. package/dist/services/settings-persistence.js.map +1 -0
  445. package/dist/services/settings-persistence.test.d.ts +2 -0
  446. package/dist/services/settings-persistence.test.d.ts.map +1 -0
  447. package/dist/services/settings-persistence.test.js +51 -0
  448. package/dist/services/settings-persistence.test.js.map +1 -0
  449. package/dist/services/settings-schema.d.ts +320 -0
  450. package/dist/services/settings-schema.d.ts.map +1 -0
  451. package/dist/services/settings-schema.js +272 -0
  452. package/dist/services/settings-schema.js.map +1 -0
  453. package/dist/services/settings-service.d.ts +4 -248
  454. package/dist/services/settings-service.d.ts.map +1 -1
  455. package/dist/services/settings-service.js +45 -641
  456. package/dist/services/settings-service.js.map +1 -1
  457. package/dist/services/settings-service.mock.d.ts.map +1 -1
  458. package/dist/services/settings-service.mock.js.map +1 -1
  459. package/dist/services/singleton-deprecation.test.js +2 -2
  460. package/dist/services/singleton-deprecation.test.js.map +1 -1
  461. package/dist/services/ssh-service.d.ts.map +1 -1
  462. package/dist/services/ssh-service.js +8 -7
  463. package/dist/services/ssh-service.js.map +1 -1
  464. package/dist/services/ssh-service.test.js +15 -13
  465. package/dist/services/ssh-service.test.js.map +1 -1
  466. package/dist/services/stream-event-parsing.d.ts +4 -0
  467. package/dist/services/stream-event-parsing.d.ts.map +1 -0
  468. package/dist/services/stream-event-parsing.js +76 -0
  469. package/dist/services/stream-event-parsing.js.map +1 -0
  470. package/dist/services/stream-event-parsing.test.d.ts +2 -0
  471. package/dist/services/stream-event-parsing.test.d.ts.map +1 -0
  472. package/dist/services/stream-event-parsing.test.js +59 -0
  473. package/dist/services/stream-event-parsing.test.js.map +1 -0
  474. package/dist/tools/apply-patch.d.ts.map +1 -1
  475. package/dist/tools/apply-patch.js +45 -35
  476. package/dist/tools/apply-patch.js.map +1 -1
  477. package/dist/tools/apply-patch.test.js +23 -0
  478. package/dist/tools/apply-patch.test.js.map +1 -1
  479. package/dist/tools/ask-mentor.d.ts +1 -1
  480. package/dist/tools/ask-mentor.d.ts.map +1 -1
  481. package/dist/tools/ask-mentor.js +5 -15
  482. package/dist/tools/ask-mentor.js.map +1 -1
  483. package/dist/tools/ask-mentor.test.js +10 -4
  484. package/dist/tools/ask-mentor.test.js.map +1 -1
  485. package/dist/tools/create-file.d.ts.map +1 -1
  486. package/dist/tools/create-file.js +2 -2
  487. package/dist/tools/create-file.js.map +1 -1
  488. package/dist/tools/create-file.test.js.map +1 -1
  489. package/dist/tools/edit-healing.d.ts.map +1 -1
  490. package/dist/tools/edit-healing.js +5 -4
  491. package/dist/tools/edit-healing.js.map +1 -1
  492. package/dist/tools/edit-healing.test.js.map +1 -1
  493. package/dist/tools/find-files.d.ts +2 -2
  494. package/dist/tools/find-files.d.ts.map +1 -1
  495. package/dist/tools/find-files.js +10 -27
  496. package/dist/tools/find-files.js.map +1 -1
  497. package/dist/tools/find-files.test.js +8 -21
  498. package/dist/tools/find-files.test.js.map +1 -1
  499. package/dist/tools/format-helpers.d.ts.map +1 -1
  500. package/dist/tools/format-helpers.js +2 -6
  501. package/dist/tools/format-helpers.js.map +1 -1
  502. package/dist/tools/grep.d.ts +2 -2
  503. package/dist/tools/grep.d.ts.map +1 -1
  504. package/dist/tools/grep.js +7 -26
  505. package/dist/tools/grep.js.map +1 -1
  506. package/dist/tools/read-file.d.ts +2 -2
  507. package/dist/tools/read-file.d.ts.map +1 -1
  508. package/dist/tools/read-file.js +5 -11
  509. package/dist/tools/read-file.js.map +1 -1
  510. package/dist/tools/read-file.test.js +7 -13
  511. package/dist/tools/read-file.test.js.map +1 -1
  512. package/dist/tools/search-replace.d.ts +1 -1
  513. package/dist/tools/search-replace.d.ts.map +1 -1
  514. package/dist/tools/search-replace.js +15 -31
  515. package/dist/tools/search-replace.js.map +1 -1
  516. package/dist/tools/search-replace.test.js.map +1 -1
  517. package/dist/tools/search.d.ts +5 -5
  518. package/dist/tools/search.d.ts.map +1 -1
  519. package/dist/tools/search.js +10 -29
  520. package/dist/tools/search.js.map +1 -1
  521. package/dist/tools/shell.d.ts +3 -3
  522. package/dist/tools/shell.d.ts.map +1 -1
  523. package/dist/tools/shell.js +27 -55
  524. package/dist/tools/shell.js.map +1 -1
  525. package/dist/tools/shell.test.d.ts +2 -0
  526. package/dist/tools/shell.test.d.ts.map +1 -0
  527. package/dist/tools/shell.test.js +70 -0
  528. package/dist/tools/shell.test.js.map +1 -0
  529. package/dist/tools/tool-names.d.ts +3 -0
  530. package/dist/tools/tool-names.d.ts.map +1 -0
  531. package/dist/tools/tool-names.js +3 -0
  532. package/dist/tools/tool-names.js.map +1 -0
  533. package/dist/tools/tool-names.test.d.ts +2 -0
  534. package/dist/tools/tool-names.test.d.ts.map +1 -0
  535. package/dist/tools/tool-names.test.js +7 -0
  536. package/dist/tools/tool-names.test.js.map +1 -0
  537. package/dist/tools/tool-parameter-schema.test.d.ts +2 -0
  538. package/dist/tools/tool-parameter-schema.test.d.ts.map +1 -0
  539. package/dist/tools/tool-parameter-schema.test.js +88 -0
  540. package/dist/tools/tool-parameter-schema.test.js.map +1 -0
  541. package/dist/tools/types.d.ts.map +1 -1
  542. package/dist/tools/utils.d.ts.map +1 -1
  543. package/dist/tools/utils.js +3 -8
  544. package/dist/tools/utils.js.map +1 -1
  545. package/dist/tools/web-fetch.d.ts +3 -3
  546. package/dist/tools/web-fetch.d.ts.map +1 -1
  547. package/dist/tools/web-fetch.js +7 -10
  548. package/dist/tools/web-fetch.js.map +1 -1
  549. package/dist/tools/web-fetch.test.js +3 -3
  550. package/dist/tools/web-fetch.test.js.map +1 -1
  551. package/dist/tools/web-search.d.ts.map +1 -1
  552. package/dist/tools/web-search.js +6 -10
  553. package/dist/tools/web-search.js.map +1 -1
  554. package/dist/tools/web-search.test.js +12 -14
  555. package/dist/tools/web-search.test.js.map +1 -1
  556. package/dist/utils/command-logger.d.ts.map +1 -1
  557. package/dist/utils/command-logger.js.map +1 -1
  558. package/dist/utils/command-safety/constants.d.ts.map +1 -1
  559. package/dist/utils/command-safety/constants.js +1 -9
  560. package/dist/utils/command-safety/constants.js.map +1 -1
  561. package/dist/utils/command-safety/find-helpers.d.ts.map +1 -1
  562. package/dist/utils/command-safety/find-helpers.js +4 -9
  563. package/dist/utils/command-safety/find-helpers.js.map +1 -1
  564. package/dist/utils/command-safety/handlers/find-handler.d.ts.map +1 -1
  565. package/dist/utils/command-safety/handlers/find-handler.js +3 -10
  566. package/dist/utils/command-safety/handlers/find-handler.js.map +1 -1
  567. package/dist/utils/command-safety/handlers/git-handler.d.ts.map +1 -1
  568. package/dist/utils/command-safety/handlers/git-handler.js +2 -4
  569. package/dist/utils/command-safety/handlers/git-handler.js.map +1 -1
  570. package/dist/utils/command-safety/handlers/index.d.ts +1 -1
  571. package/dist/utils/command-safety/handlers/index.d.ts.map +1 -1
  572. package/dist/utils/command-safety/handlers/index.js.map +1 -1
  573. package/dist/utils/command-safety/handlers/sed-handler.d.ts.map +1 -1
  574. package/dist/utils/command-safety/handlers/sed-handler.js.map +1 -1
  575. package/dist/utils/command-safety/handlers/types.d.ts.map +1 -1
  576. package/dist/utils/command-safety/index.d.ts.map +1 -1
  577. package/dist/utils/command-safety/index.js +4 -10
  578. package/dist/utils/command-safety/index.js.map +1 -1
  579. package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
  580. package/dist/utils/command-safety/path-analysis.js +9 -20
  581. package/dist/utils/command-safety/path-analysis.js.map +1 -1
  582. package/dist/utils/command-safety/utils.d.ts.map +1 -1
  583. package/dist/utils/command-safety/utils.js +1 -3
  584. package/dist/utils/command-safety/utils.js.map +1 -1
  585. package/dist/utils/command-safety.d.ts.map +1 -1
  586. package/dist/utils/command-safety.devnull.test.d.ts +2 -0
  587. package/dist/utils/command-safety.devnull.test.d.ts.map +1 -0
  588. package/dist/utils/command-safety.devnull.test.js +13 -0
  589. package/dist/utils/command-safety.devnull.test.js.map +1 -0
  590. package/dist/utils/command-safety.find.test.js +44 -87
  591. package/dist/utils/command-safety.find.test.js.map +1 -1
  592. package/dist/utils/command-safety.js +10 -364
  593. package/dist/utils/command-safety.js.map +1 -1
  594. package/dist/utils/command-safety.path.test.js +32 -67
  595. package/dist/utils/command-safety.path.test.js.map +1 -1
  596. package/dist/utils/conversation-event-handler.d.ts +4 -16
  597. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  598. package/dist/utils/conversation-event-handler.js +4 -8
  599. package/dist/utils/conversation-event-handler.js.map +1 -1
  600. package/dist/utils/conversation-event-handler.test.js +16 -18
  601. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  602. package/dist/utils/conversation-utils.d.ts.map +1 -1
  603. package/dist/utils/conversation-utils.js +5 -8
  604. package/dist/utils/conversation-utils.js.map +1 -1
  605. package/dist/utils/conversation-utils.test.js +45 -44
  606. package/dist/utils/conversation-utils.test.js.map +1 -1
  607. package/dist/utils/diff.d.ts.map +1 -1
  608. package/dist/utils/diff.js +2 -4
  609. package/dist/utils/diff.js.map +1 -1
  610. package/dist/utils/diff.test.js +12 -12
  611. package/dist/utils/diff.test.js.map +1 -1
  612. package/dist/utils/error-helpers.d.ts.map +1 -1
  613. package/dist/utils/error-helpers.js +2 -6
  614. package/dist/utils/error-helpers.js.map +1 -1
  615. package/dist/utils/error-helpers.test.js +32 -32
  616. package/dist/utils/error-helpers.test.js.map +1 -1
  617. package/dist/utils/execute-shell.d.ts.map +1 -1
  618. package/dist/utils/execute-shell.js.map +1 -1
  619. package/dist/utils/execute-shell.test.js.map +1 -1
  620. package/dist/utils/extract-command-messages.d.ts.map +1 -1
  621. package/dist/utils/extract-command-messages.js +16 -21
  622. package/dist/utils/extract-command-messages.js.map +1 -1
  623. package/dist/utils/extract-command-messages.test.d.ts +2 -0
  624. package/dist/utils/extract-command-messages.test.d.ts.map +1 -0
  625. package/dist/utils/extract-command-messages.test.js +58 -51
  626. package/dist/utils/extract-command-messages.test.js.map +1 -0
  627. package/dist/utils/ink-render-options.d.ts.map +1 -1
  628. package/dist/utils/ink-render-options.js.map +1 -1
  629. package/dist/utils/log-viewer-filters.d.ts +29 -0
  630. package/dist/utils/log-viewer-filters.d.ts.map +1 -0
  631. package/dist/utils/log-viewer-filters.js +49 -0
  632. package/dist/utils/log-viewer-filters.js.map +1 -0
  633. package/dist/utils/log-viewer-filters.test.d.ts +2 -0
  634. package/dist/utils/log-viewer-filters.test.d.ts.map +1 -0
  635. package/dist/utils/log-viewer-filters.test.js +48 -0
  636. package/dist/utils/log-viewer-filters.test.js.map +1 -0
  637. package/dist/utils/message-buffer.d.ts.map +1 -1
  638. package/dist/utils/message-buffer.js.map +1 -1
  639. package/dist/utils/message-buffer.test.js +4 -4
  640. package/dist/utils/message-buffer.test.js.map +1 -1
  641. package/dist/utils/output-trim.d.ts.map +1 -1
  642. package/dist/utils/output-trim.js.map +1 -1
  643. package/dist/utils/provider-credentials.d.ts.map +1 -1
  644. package/dist/utils/provider-credentials.js +1 -1
  645. package/dist/utils/provider-credentials.js.map +1 -1
  646. package/dist/utils/provider-traffic-extractor.d.ts +18 -0
  647. package/dist/utils/provider-traffic-extractor.d.ts.map +1 -0
  648. package/dist/utils/provider-traffic-extractor.js +121 -0
  649. package/dist/utils/provider-traffic-extractor.js.map +1 -0
  650. package/dist/utils/provider-traffic-extractor.test.d.ts +2 -0
  651. package/dist/utils/provider-traffic-extractor.test.d.ts.map +1 -0
  652. package/dist/utils/provider-traffic-extractor.test.js +84 -0
  653. package/dist/utils/provider-traffic-extractor.test.js.map +1 -0
  654. package/dist/utils/settings-command.d.ts.map +1 -1
  655. package/dist/utils/settings-command.js +5 -12
  656. package/dist/utils/settings-command.js.map +1 -1
  657. package/dist/utils/ssh-config-parser.d.ts.map +1 -1
  658. package/dist/utils/ssh-config-parser.js.map +1 -1
  659. package/dist/utils/ssh-config-parser.test.js.map +1 -1
  660. package/dist/utils/streaming-session-factory.d.ts +33 -0
  661. package/dist/utils/streaming-session-factory.d.ts.map +1 -0
  662. package/dist/utils/streaming-session-factory.js +75 -0
  663. package/dist/utils/streaming-session-factory.js.map +1 -0
  664. package/dist/utils/streaming-session-factory.test.d.ts +2 -0
  665. package/dist/utils/streaming-session-factory.test.d.ts.map +1 -0
  666. package/dist/utils/streaming-session-factory.test.js +74 -0
  667. package/dist/utils/streaming-session-factory.test.js.map +1 -0
  668. package/dist/utils/streaming-updater.d.ts.map +1 -1
  669. package/dist/utils/streaming-updater.js.map +1 -1
  670. package/dist/utils/throttle.d.ts.map +1 -1
  671. package/dist/utils/throttle.js.map +1 -1
  672. package/dist/utils/token-usage.d.ts.map +1 -1
  673. package/dist/utils/token-usage.js +1 -2
  674. package/dist/utils/token-usage.js.map +1 -1
  675. package/dist/utils/token-usage.test.js +8 -8
  676. package/dist/utils/token-usage.test.js.map +1 -1
  677. package/dist/utils/trim-tool-output.d.ts.map +1 -1
  678. package/dist/utils/trim-tool-output.js +1 -1
  679. package/dist/utils/trim-tool-output.js.map +1 -1
  680. package/package.json +117 -111
  681. package/readme.md +196 -145
  682. package/dist/app.model-command-feedback.test.d.ts +0 -2
  683. package/dist/app.model-command-feedback.test.d.ts.map +0 -1
  684. package/dist/app.model-command-feedback.test.js +0 -19
  685. package/dist/app.model-command-feedback.test.js.map +0 -1
  686. package/dist/components/MentorMode.test.d.ts +0 -2
  687. package/dist/components/MentorMode.test.d.ts.map +0 -1
  688. package/dist/components/MentorMode.test.js.map +0 -1
  689. package/dist/components/StatusBar.test.d.ts +0 -2
  690. package/dist/components/StatusBar.test.d.ts.map +0 -1
  691. package/dist/components/StatusBar.test.js +0 -19
  692. package/dist/components/StatusBar.test.js.map +0 -1
  693. package/dist/debug-schema.d.ts +0 -2
  694. package/dist/debug-schema.d.ts.map +0 -1
  695. package/dist/debug-schema.js +0 -22
  696. package/dist/debug-schema.js.map +0 -1
  697. package/dist/hooks/use-model-selection.test.d.ts +0 -2
  698. package/dist/hooks/use-model-selection.test.d.ts.map +0 -1
  699. package/dist/hooks/use-model-selection.test.js +0 -28
  700. package/dist/hooks/use-model-selection.test.js.map +0 -1
  701. package/dist/hooks/use-path-completion.test.d.ts +0 -2
  702. package/dist/hooks/use-path-completion.test.d.ts.map +0 -1
  703. package/dist/hooks/use-path-completion.test.js +0 -29
  704. package/dist/hooks/use-path-completion.test.js.map +0 -1
  705. package/dist/prompts/default.md.bak +0 -77
  706. package/dist/providers/github-copilot/model-direct.d.ts +0 -34
  707. package/dist/providers/github-copilot/model-direct.d.ts.map +0 -1
  708. package/dist/providers/github-copilot/model-direct.js +0 -443
  709. package/dist/providers/github-copilot/model-direct.js.map +0 -1
  710. package/dist/providers/openrouter/merge-messages.test.d.ts +0 -2
  711. package/dist/providers/openrouter/merge-messages.test.d.ts.map +0 -1
  712. package/dist/providers/openrouter/merge-messages.test.js +0 -83
  713. package/dist/providers/openrouter/merge-messages.test.js.map +0 -1
  714. package/dist/providers/openrouter.history.test.d.ts +0 -2
  715. package/dist/providers/openrouter.history.test.d.ts.map +0 -1
  716. package/dist/providers/openrouter.history.test.js +0 -533
  717. package/dist/providers/openrouter.history.test.js.map +0 -1
  718. package/dist/reproduce_issue.test.d.ts +0 -2
  719. package/dist/reproduce_issue.test.d.ts.map +0 -1
  720. package/dist/reproduce_issue.test.js +0 -31
  721. package/dist/reproduce_issue.test.js.map +0 -1
  722. package/dist/services/conversation-session.usage.test.d.ts +0 -2
  723. package/dist/services/conversation-session.usage.test.d.ts.map +0 -1
  724. package/dist/services/conversation-session.usage.test.js +0 -59
  725. package/dist/services/conversation-session.usage.test.js.map +0 -1
  726. package/dist/test-search-tool.d.ts +0 -2
  727. package/dist/test-search-tool.d.ts.map +0 -1
  728. package/dist/test-search-tool.js +0 -36
  729. package/dist/test-search-tool.js.map +0 -1
  730. package/dist/utils/extract-command-messages.repro.test.d.ts +0 -2
  731. package/dist/utils/extract-command-messages.repro.test.d.ts.map +0 -1
  732. package/dist/utils/extract-command-messages.repro.test.js +0 -31
  733. package/dist/utils/extract-command-messages.repro.test.js.map +0 -1
  734. package/dist/utils/message-utils.d.ts +0 -17
  735. package/dist/utils/message-utils.d.ts.map +0 -1
  736. package/dist/utils/message-utils.js +0 -52
  737. package/dist/utils/message-utils.js.map +0 -1
  738. package/dist/utils/message-utils.test.d.ts +0 -2
  739. package/dist/utils/message-utils.test.d.ts.map +0 -1
  740. package/dist/utils/message-utils.test.js +0 -48
  741. package/dist/utils/message-utils.test.js.map +0 -1
@@ -2,11 +2,11 @@ You are an interactive CLI tool that helps users with software engineering tasks
2
2
 
3
3
  # Core Principles
4
4
 
5
- - **Read before editing**: NEVER modify code you haven't read first
6
- - **Follow existing patterns**: Match the codebase's style, conventions, and practices
7
- - **Minimal changes**: Only make requested changes, no extras or improvements
8
- - **Complete tasks**: Finish what you start, don't stop mid-task
9
- - **Parallel tools**: Call independent tools together for better performance
5
+ - **Read before editing**: NEVER modify code you haven't read first
6
+ - **Follow existing patterns**: Match the codebase's style, conventions, and practices
7
+ - **Minimal changes**: Only make requested changes, no extras or improvements
8
+ - **Complete tasks**: Finish what you start, don't stop mid-task
9
+ - **Parallel tools**: Call independent tools together for better performance
10
10
 
11
11
  # Workflow
12
12
 
@@ -20,22 +20,22 @@ You are an interactive CLI tool that helps users with software engineering tasks
20
20
 
21
21
  # What NOT to Do
22
22
 
23
- - Over-engineer or add unrequested features
24
- - Add error handling for impossible scenarios
25
- - Create abstractions for one-time operations
26
- - Add comments/types to unchanged code
27
- - Keep unused code with hacks like `_vars` or `// removed`
23
+ - Over-engineer or add unrequested features
24
+ - Add error handling for impossible scenarios
25
+ - Create abstractions for one-time operations
26
+ - Add comments/types to unchanged code
27
+ - Keep unused code with hacks like `_vars` or `// removed`
28
28
 
29
29
  # Error Handling
30
30
 
31
- - After 2-3 failures on same operation, explain the blocker
32
- - Try different approaches, don't repeat failures
33
- - **ask_mentor** for advice if you are stuck or need a second opinion
31
+ - After 2-3 failures on same operation, explain the blocker
32
+ - Try different approaches, don't repeat failures
33
+ - **ask_mentor** for advice if you are stuck or need a second opinion
34
34
 
35
35
  # Communication
36
36
 
37
- - Be concise (terminal output)
38
- - Output text directly, never via command outputs (echo, comments)
37
+ - Be concise (terminal output)
38
+ - Output text directly, never via command outputs (echo, comments)
39
39
 
40
40
  # Planning Complex Tasks
41
41
 
@@ -47,10 +47,10 @@ When all steps are finished, ensure every step is marked as completed.
47
47
 
48
48
  Use a plan when:
49
49
 
50
- - The task is non-trivial and will require multiple actions over a long time horizon.
51
- - There are logical phases or dependencies where sequencing matters.
52
- - The work has ambiguity that benefits from outlining high-level goals.
53
- - When the user asked you to do more than one thing in a single prompt
50
+ - The task is non-trivial and will require multiple actions over a long time horizon.
51
+ - There are logical phases or dependencies where sequencing matters.
52
+ - The work has ambiguity that benefits from outlining high-level goals.
53
+ - When the user asked you to do more than one thing in a single prompt
54
54
 
55
55
  ### Examples
56
56
 
@@ -78,62 +78,62 @@ Example 1:
78
78
 
79
79
  Read file content with line numbers (1-indexed). Supports reading specific line ranges.
80
80
 
81
- - Use for reading entire files or specific sections
82
- - Automatically adds line numbers (like `cat -n`)
83
- - Supports `start_line` and `end_line` for partial reads
84
- - Prefer this over Shell commands like `sed` or `cat`
81
+ - Use for reading entire files or specific sections
82
+ - Automatically adds line numbers (like `cat -n`)
83
+ - Supports `start_line` and `end_line` for partial reads
84
+ - Prefer this over Shell commands like `sed` or `cat`
85
85
 
86
86
  ## find_files
87
87
 
88
88
  Search for files by name or glob pattern in the workspace.
89
89
 
90
- - Use for finding files by pattern (e.g., `*.ts`, `**/*.test.ts`)
91
- - Supports glob patterns for flexible matching
92
- - Returns up to 50 results by default (configurable with `max_results`)
93
- - Prefer this over Shell commands like `ls` or `rg --files`
90
+ - Use for finding files by pattern (e.g., `*.ts`, `**/*.test.ts`)
91
+ - Supports glob patterns for flexible matching
92
+ - Returns up to 50 results by default (configurable with `max_results`)
93
+ - Prefer this over Shell commands like `ls` or `rg --files`
94
94
 
95
95
  ## create_file
96
96
 
97
97
  Create a new file with the specified content.
98
98
 
99
- - Use this for explicitly creating new files
100
- - Fails if the file already exists (use `search_replace` for existing files)
101
- - Automatically creates parent directories if they don't exist
99
+ - Use this for explicitly creating new files
100
+ - Fails if the file already exists (use `search_replace` for existing files)
101
+ - Automatically creates parent directories if they don't exist
102
102
 
103
103
  ## search_replace
104
104
 
105
105
  Modify files with exact text replacement.
106
106
 
107
- - Include surrounding context (whitespace, indentation) for accuracy
108
- - `replace_all: true` updates all occurrences; `false` expects single match
109
- - For large replacements, include 3+ lines of context
107
+ - Include surrounding context (whitespace, indentation) for accuracy
108
+ - `replace_all: true` updates all occurrences; `false` expects single match
109
+ - For large replacements, include 3+ lines of context
110
110
 
111
111
  ## grep
112
112
 
113
113
  Search patterns across files. Always use before editing.
114
114
 
115
- - Be specific: `function myFunc(` not just `myFunc`
116
- - Use `file_pattern` (e.g., `*.ts`) to narrow scope
117
- - grep uses `rg` under the hood
118
- - Use for finding code patterns, not file names (use find_files instead)
115
+ - Be specific: `function myFunc(` not just `myFunc`
116
+ - Use `file_pattern` (e.g., `*.ts`) to narrow scope
117
+ - grep uses `rg` under the hood
118
+ - Use for finding code patterns, not file names (use find_files instead)
119
119
 
120
120
  ## Shell
121
121
 
122
122
  Execute shell commands (tests, builds, git, dependencies).
123
123
 
124
- - Use for running tests, builds, git operations, package management
125
- - Single commands preferred; provide `timeout_ms` for long operations
126
- - For reading files, use read_file tool instead
127
- - For finding files, use find_files tool instead
124
+ - Use for running tests, builds, git operations, package management
125
+ - Single commands preferred; provide `timeout_ms` for long operations
126
+ - For reading files, use read_file tool instead
127
+ - For finding files, use find_files tool instead
128
128
 
129
129
  ## ask_mentor
130
130
 
131
131
  Use `ask_mentor` when you need high-level guidance, architectural advice, or are stuck on a bug.
132
132
 
133
- - Mentor is a single-shot prompt and has no codebase access
134
- - Provide a tight summary: goal, constraints, what you tried, and 1-2 concrete questions
135
- - Include only essential details and avoid file dumps
136
- - Ask after 2-3 failed attempts or when a decision has trade-offs you can’t resolve
133
+ - Mentor is a single-shot prompt and has no codebase access
134
+ - Provide a tight summary: goal, constraints, what you tried, and 1-2 concrete questions
135
+ - Include only essential details and avoid file dumps
136
+ - Ask after 2-3 failed attempts or when a decision has trade-offs you can’t resolve
137
137
 
138
138
  # Codebase Exploration
139
139
 
@@ -146,22 +146,22 @@ Use `ask_mentor` when you need high-level guidance, architectural advice, or are
146
146
 
147
147
  ## Tool Selection Tips
148
148
 
149
- - Start with find_files to locate files by pattern
150
- - Use grep to find specific code patterns across files
151
- - Use read_file to view complete file content with line numbers
152
- - Keep a tight find → search → read → edit loop; avoid broad scans
153
- - Prefer small, surgical replacements with stable context
154
- - After 2 dead-end searches, pivot symbols, globs, or entry points
149
+ - Start with find_files to locate files by pattern
150
+ - Use grep to find specific code patterns across files
151
+ - Use read_file to view complete file content with line numbers
152
+ - Keep a tight find → search → read → edit loop; avoid broad scans
153
+ - Prefer small, surgical replacements with stable context
154
+ - After 2 dead-end searches, pivot symbols, globs, or entry points
155
155
 
156
156
  ## Key Strategies
157
157
 
158
- - **Progressive narrowing**: find_files → grep content → read_file sections
159
- - **Use glob patterns in find_files**:
160
- - Good: `"*.ts"`, `"**/*.test.ts"` | Bad: overly broad patterns
161
- - **Use file_pattern in grep**:
162
- - Good: `"*.{ts,tsx,js,jsx}"` | Bad: `null`
163
- - **Specific patterns in grep**: `"function handleLogin"` not `"login"`
164
- - **Stop after 2 failed searches**: Reconsider approach, try different entry point
158
+ - **Progressive narrowing**: find_files → grep content → read_file sections
159
+ - **Use glob patterns in find_files**:
160
+ - Good: `"*.ts"`, `"**/*.test.ts"` | Bad: overly broad patterns
161
+ - **Use file_pattern in grep**:
162
+ - Good: `"*.{ts,tsx,js,jsx}"` | Bad: `null`
163
+ - **Specific patterns in grep**: `"function handleLogin"` not `"login"`
164
+ - **Stop after 2 failed searches**: Reconsider approach, try different entry point
165
165
 
166
166
  ## State Your Intent
167
167
 
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../source/providers/github-copilot/model.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAC3B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKzE,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EACnB,MAAM,sCAAsC,CAAC;AAa9C,eAAO,IAAI,YAAY,EAAE,aAAa,GAAG,IAAW,CAAC;AAErD,wBAAsB,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC,CAMxD;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuBrF;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CASrD;AAED,qBAAa,kBAAmB,YAAW,KAAK;;IAC5C,IAAI,EAAE,MAAM,CAAC;gBAOD,IAAI,EAAE;QACd,eAAe,EAAE,gBAAgB,CAAC;QAClC,cAAc,EAAE,eAAe,CAAC;QAChC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;KAChD;IAaK,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAqCzD,mBAAmB,CACtB,OAAO,EAAE,YAAY,GACtB,aAAa,CAAC,mBAAmB,CAAC;CA2gBxC"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../source/providers/github-copilot/model.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAC3B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKzE,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EACnB,MAAM,sCAAsC,CAAC;AAa9C,eAAO,IAAI,YAAY,EAAE,aAAa,GAAG,IAAW,CAAC;AAErD,wBAAsB,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC,CAMxD;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuBrF;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CASrD;AAED,qBAAa,kBAAmB,YAAW,KAAK;;IAC5C,IAAI,EAAE,MAAM,CAAC;gBAOD,IAAI,EAAE;QACd,eAAe,EAAE,gBAAgB,CAAC;QAClC,cAAc,EAAE,eAAe,CAAC;QAChC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;KAChD;IAaK,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAqCzD,mBAAmB,CACtB,OAAO,EAAE,YAAY,GACtB,aAAa,CAAC,mBAAmB,CAAC;CAgbxC"}
@@ -113,7 +113,7 @@ export class GitHubCopilotModel {
113
113
  this.#loggingService.debug('GitHubCopilot stream start', {
114
114
  messageCount: messages.length,
115
115
  modelId: resolvedModelId,
116
- previousResponseId: request.previousResponseId || request.providerData?.previousResponseId,
116
+ previousResponseId: request.previousResponseId,
117
117
  });
118
118
  const tools = extractFunctionToolsFromRequest(request);
119
119
  // Wrap tools with the "Trap" handler that suspends execution
@@ -135,60 +135,26 @@ export class GitHubCopilotModel {
135
135
  },
136
136
  }));
137
137
  let session;
138
- let hasPendingToolResolutions = false;
139
138
  try {
140
- // Check both the standard request field and our custom providerData fallback
141
- const prevResponseId = request.previousResponseId || request.providerData?.previousResponseId;
142
- const prevSessionId = prevResponseId
143
- ? this.#sessionMap.get(prevResponseId)
139
+ // Check if we can resume a previous session
140
+ const prevSessionId = request.previousResponseId
141
+ ? this.#sessionMap.get(request.previousResponseId)
144
142
  : undefined;
145
- // Check if there are pending tool resolutions for this session BEFORE we decide on re-registration
146
- // This is critical: if we're resuming a suspended tool, we MUST NOT re-register handlers
147
- // because the SDK is waiting on the original handler's promise
148
- if (prevSessionId) {
149
- const existingResolutions = pendingResolutions.get(prevSessionId);
150
- hasPendingToolResolutions = existingResolutions ? existingResolutions.size > 0 : false;
151
- this.#loggingService.debug('Checking pending tool resolutions before session setup', {
152
- prevSessionId,
153
- hasPendingToolResolutions,
154
- pendingCallIds: existingResolutions ? Array.from(existingResolutions.keys()) : [],
155
- });
156
- }
157
143
  // First, try to get a cached session object
158
144
  const cachedSession = prevSessionId
159
145
  ? this.#activeSessions.get(prevSessionId)
160
146
  : undefined;
161
147
  if (cachedSession) {
162
- // Reuse the cached session
148
+ // Reuse the cached session - just update tool handlers with fresh callbacks
163
149
  this.#loggingService.debug('Reusing cached GitHubCopilot session', {
164
150
  sessionId: prevSessionId,
165
- hasPendingToolResolutions,
166
151
  });
167
152
  session = cachedSession;
168
- // CRITICAL: Only re-register tools if there are NO pending resolutions
169
- // If there ARE pending resolutions, the SDK is waiting on the original handlers' promises
170
- // Re-registering would create new handlers and break the promise chain
171
- if (!hasPendingToolResolutions) {
172
- this.#loggingService.debug('Re-registering tools for new turn (no pending resolutions)');
173
- session.registerTools(copilotTools);
174
- }
175
- else {
176
- this.#loggingService.debug('Skipping tool re-registration (pending resolutions exist)');
177
- }
153
+ // Re-register tools to get fresh Promise callbacks for this turn
154
+ session.registerTools(copilotTools);
178
155
  }
179
156
  else if (prevSessionId) {
180
157
  // Session ID exists but no cached object - need to resume from server
181
- // IMPORTANT: If there are pending resolutions but no cached session,
182
- // those promises are orphaned (the original session object is gone).
183
- // We must clear them and proceed fresh.
184
- if (hasPendingToolResolutions) {
185
- this.#loggingService.warn('Orphaned pending resolutions detected (cached session gone)', {
186
- sessionId: prevSessionId,
187
- pendingCallIds: Array.from(pendingResolutions.get(prevSessionId)?.keys() || []),
188
- });
189
- pendingResolutions.delete(prevSessionId);
190
- hasPendingToolResolutions = false;
191
- }
192
158
  this.#loggingService.debug('Resuming GitHubCopilot session from server', {
193
159
  sessionId: prevSessionId,
194
160
  });
@@ -274,7 +240,7 @@ export class GitHubCopilotModel {
274
240
  }
275
241
  };
276
242
  // Register event handlers on the session (returns unsubscribe function)
277
- unsubscribeEvents = session.on(async (event) => {
243
+ unsubscribeEvents = session.on((event) => {
278
244
  try {
279
245
  switch (event.type) {
280
246
  case 'assistant.message_delta':
@@ -307,31 +273,21 @@ export class GitHubCopilotModel {
307
273
  case 'tool.execution_start':
308
274
  // Tool call requested
309
275
  if (event.data) {
310
- this.#loggingService.debug('GitHubCopilot tool.execution_start', {
311
- data: event.data,
312
- });
313
- const toolName = event.data.toolName;
314
- if (!toolName) {
315
- this.#loggingService.error('GitHubCopilot tool execution missing name', { data: event.data });
316
- break;
317
- }
318
- const rawArgs = event.data.arguments || event.data.args || {};
319
- const argsString = typeof rawArgs === 'string'
320
- ? rawArgs
321
- : JSON.stringify(rawArgs);
322
276
  const toolCall = {
323
277
  type: 'function_call',
324
- callId: event.data.toolCallId || event.data.callId || randomUUID(),
325
- name: toolName,
326
- arguments: argsString,
278
+ callId: event.data.callId || randomUUID(),
279
+ name: event.data.toolName,
280
+ arguments: typeof event.data.args === 'string'
281
+ ? event.data.args
282
+ : JSON.stringify(event.data.args || {}),
327
283
  };
328
284
  state.accumulatedToolCalls.push(toolCall);
329
285
  // Check if this is a user tool that requires external handling
330
286
  // We look it up in our 'copilotTools' list
331
- const isUserTool = copilotTools.some((t) => t.name === toolName);
287
+ const isUserTool = copilotTools.some((t) => t.name === event.data.toolName);
332
288
  if (isUserTool) {
333
289
  this.#loggingService.debug('Detaching stream for user tool execution', {
334
- tool: toolName,
290
+ tool: event.data.toolName,
335
291
  callId: toolCall.callId,
336
292
  });
337
293
  // Yield the function call event to the Runner (streaming)
@@ -344,28 +300,6 @@ export class GitHubCopilotModel {
344
300
  arguments: toolCall.arguments,
345
301
  }
346
302
  });
347
- // WAIT FOR TRAP: Ensure the SDK handler has actually run and registered the promise
348
- // This prevents a race condition where the next turn starts before the trap is set.
349
- // We poll for up to 1 second.
350
- let attempts = 0;
351
- const maxAttempts = 20;
352
- while (attempts < maxAttempts) {
353
- const sessionPending = pendingResolutions.get(session.sessionId);
354
- if (sessionPending && sessionPending.has(toolCall.callId)) {
355
- this.#loggingService.debug('Trap confirmed: pending resolution registered', {
356
- callId: toolCall.callId,
357
- attempts
358
- });
359
- break;
360
- }
361
- await new Promise(r => setTimeout(r, 50));
362
- attempts++;
363
- }
364
- if (attempts >= maxAttempts) {
365
- this.#loggingService.error('Trap timeout: Handler did not register promise in time', {
366
- callId: toolCall.callId
367
- });
368
- }
369
303
  // IMPORTANT: Emit response_done so the Runner captures the responseId.
370
304
  // This allows the next turn to pass 'previousResponseId' correctly,
371
305
  // which we need to look up the session and resume the suspended tool.
@@ -436,45 +370,28 @@ export class GitHubCopilotModel {
436
370
  const sessionResolutions = pendingResolutions.get(session.sessionId);
437
371
  let isResumingTool = false;
438
372
  if (sessionResolutions && sessionResolutions.size > 0) {
439
- this.#loggingService.debug('Attempting to resolve suspended tool calls', {
440
- sessionId: session.sessionId,
441
- pendingCallIds: Array.from(sessionResolutions.keys()),
442
- inputItemCount: Array.isArray(request.input) ? request.input.length : 0,
443
- });
444
373
  // Look for tool outputs in the request input that match pending traps
445
374
  // The Runner appends the output to the history
446
375
  if (request.input && Array.isArray(request.input)) {
447
376
  for (const item of request.input) {
448
377
  // Check for function_call_output type (mapped from SDK)
449
- if (item.type === 'function_call_output') {
378
+ if (item.type === 'function_call_output' &&
379
+ item.callId &&
380
+ sessionResolutions.has(item.callId)) {
450
381
  const callId = item.callId;
451
- const hasPending = callId && sessionResolutions.has(callId);
452
- this.#loggingService.debug('Checking input item for tool resolution', {
453
- type: item.type,
382
+ const output = item.output;
383
+ this.#loggingService.debug('Resolving suspended tool call', {
454
384
  callId,
455
- hasPending,
385
+ outputLength: output?.length,
456
386
  });
457
- if (hasPending) {
458
- const output = item.output;
459
- this.#loggingService.debug('Resolving suspended tool call', {
460
- callId,
461
- outputLength: output?.length,
462
- outputPreview: typeof output === 'string' ? output.slice(0, 50) : 'obj',
463
- });
464
- const resolve = sessionResolutions.get(callId);
465
- resolve(output); // UNBLOCK the SDK handler!
466
- sessionResolutions.delete(callId);
467
- isResumingTool = true;
468
- }
387
+ const resolve = sessionResolutions.get(callId);
388
+ resolve(output); // UNBLOCK the SDK handler!
389
+ sessionResolutions.delete(callId);
390
+ isResumingTool = true;
469
391
  }
470
392
  }
471
393
  }
472
394
  }
473
- else {
474
- this.#loggingService.debug('No pending tool resolutions for this session', {
475
- sessionId: session.sessionId,
476
- });
477
- }
478
395
  // Only send a new prompt if we are NOT resuming a tool call
479
396
  if (!isResumingTool) {
480
397
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../source/providers/github-copilot/model.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AAEzE,yDAAyD;AACzD,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACrF,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAK1E,OAAO,EACH,wBAAwB,EACxB,+BAA+B,EAC/B,cAAc,GACjB,MAAM,iBAAiB,CAAC;AAEzB,uFAAuF;AACvF,6EAA6E;AAC7E,8DAA8D;AAC9D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA8C,CAAC;AAEjF,uDAAuD;AACvD,MAAM,CAAC,IAAI,YAAY,GAAyB,IAAI,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,SAAS;IAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,YAAY,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAmB,EAAE,QAAgB;IACzE,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,IAAI,CAAC,WAAW;QAAE,OAAO,QAAQ,CAAC;IAElC,0EAA0E;IAC1E,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,gGAAgG;IAChG,gFAAgF;IAChF,mCAAmC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjE,KAAK,IAAI,GAAG,GAAG,UAAU,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACjC,IAAI,YAAY,EAAE,CAAC;QACf,IAAI,CAAC;YACD,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACL,+BAA+B;QACnC,CAAC;QACD,YAAY,GAAG,IAAI,CAAC;IACxB,CAAC;AACL,CAAC;AAED,MAAM,OAAO,kBAAkB;IAC3B,IAAI,CAAS;IACb,QAAQ,CAAS;IACjB,gBAAgB,CAAmB;IACnC,eAAe,CAAkB;IACjC,WAAW,CAAsB;IACjC,eAAe,CAA8B;IAE7C,YAAY,IAMX;QACG,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,GAAG,EAAE,CAAC;QACxD,IAAI,CAAC,QAAQ;YACT,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,4BAA4B,CAAC;gBACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC;gBACxC,QAAQ,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAqB;QACnC,oEAAoE;QACpE,MAAM,MAAM,GAA0B,EAAE,CAAC;QAEzC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,+BAA+B;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAQ,CAAC;QAE7E,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC;YACtB,OAAO;gBACH,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,UAAU,EAAE;gBACjD,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE;gBACvC,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAQ;aACzD,CAAC;QACN,CAAC;QAED,mDAAmD;QACnD,MAAM,UAAU,GAAG,MAAM;aACpB,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC;aAClD,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;aACxB,IAAI,CAAC,EAAE,CAAC,CAAC;QAEd,OAAO;YACH,UAAU,EAAE,UAAU,EAAE;YACxB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;oBAClB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;iBACvD,CAAC,CAAC,CAAC,CAAC,EAAE;YACP,KAAK,EAAE,cAAc,CAAC,EAAE,CAAQ;SACnC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,CAAC,mBAAmB,CACtB,OAAqB;QAErB,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;QAChF,MAAM,QAAQ,GAAG,wBAAwB,CACrC,OAAO,EACP,eAAe,EACf,IAAI,CAAC,eAAe,CACvB,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,4BAA4B,EAAE;YACrD,YAAY,EAAE,QAAQ,CAAC,MAAM;YAC7B,OAAO,EAAE,eAAe;YACxB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAK,OAAe,CAAC,YAAY,EAAE,kBAAkB;SACtG,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,+BAA+B,CAAC,OAAO,CAAC,CAAC;QACvD,6DAA6D;QAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;YACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW;YACnC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU;YACjC,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,UAAe,EAAE,EAAE;gBAC3C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,6BAA6B,EAAE;oBACtD,IAAI,EAAE,UAAU,CAAC,QAAQ;oBACzB,MAAM,EAAE,UAAU,CAAC,UAAU;iBAChC,CAAC,CAAC;gBACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC3B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;wBAChD,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;oBAC5D,CAAC;oBACD,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACtF,CAAC,CAAC,CAAC;YACP,CAAC;SACJ,CAAC,CAAC,CAAC;QAEJ,IAAI,OAAuB,CAAC;QAC5B,IAAI,yBAAyB,GAAG,KAAK,CAAC;QAEtC,IAAI,CAAC;YACD,6EAA6E;YAC7E,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,IAAK,OAAe,CAAC,YAAY,EAAE,kBAAkB,CAAC;YACvG,MAAM,aAAa,GAAG,cAAc;gBAChC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC;gBACtC,CAAC,CAAC,SAAS,CAAC;YAEhB,mGAAmG;YACnG,yFAAyF;YACzF,+DAA+D;YAC/D,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAClE,yBAAyB,GAAG,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACvF,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,wDAAwD,EAAE;oBACjF,aAAa;oBACb,yBAAyB;oBACzB,cAAc,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;iBACpF,CAAC,CAAC;YACP,CAAC;YAED,4CAA4C;YAC5C,MAAM,aAAa,GAAG,aAAa;gBAC/B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC;gBACzC,CAAC,CAAC,SAAS,CAAC;YAEhB,IAAI,aAAa,EAAE,CAAC;gBAChB,2BAA2B;gBAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,sCAAsC,EAAE;oBAC/D,SAAS,EAAE,aAAa;oBACxB,yBAAyB;iBAC5B,CAAC,CAAC;gBACH,OAAO,GAAG,aAAa,CAAC;gBAExB,uEAAuE;gBACvE,0FAA0F;gBAC1F,uEAAuE;gBACvE,IAAI,CAAC,yBAAyB,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;oBACxF,OAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;gBAC5F,CAAC;YACL,CAAC;iBAAM,IAAI,aAAa,EAAE,CAAC;gBACvB,sEAAsE;gBACtE,qEAAqE;gBACrE,qEAAqE;gBACrE,wCAAwC;gBACxC,IAAI,yBAAyB,EAAE,CAAC;oBAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,6DAA6D,EAAE;wBACrF,SAAS,EAAE,aAAa;wBACxB,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;qBAClF,CAAC,CAAC;oBACH,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBACzC,yBAAyB,GAAG,KAAK,CAAC;gBACtC,CAAC;gBAED,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,4CAA4C,EAAE;oBACrE,SAAS,EAAE,aAAa;iBAC3B,CAAC,CAAC;gBACH,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE;oBAChD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,YAAY;iBACtB,CAAC,CAAC;gBACH,6CAA6C;gBAC7C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACJ,yCAAyC;gBACzC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACjE,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;oBACjC,KAAK,EAAE,eAAe;oBACtB,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,YAAY;oBACnB,cAAc,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACpD,aAAa,EAAE;wBACX,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,aAAa;qBACzB;iBACJ,CAAC,CAAC;gBACH,yCAAyC;gBACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,kDAAkD,EAAE;gBAC3E,KAAK,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC,CAAC;YACH,gFAAgF;YAChF,MAAM;gBACF,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,4CAA4C,GAAG,CAAC,OAAO,EAAE,EAAE;aACxE,CAAC;YACzB,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG;YACV,WAAW,EAAE,EAAE;YACf,wBAAwB,EAAE,EAAE;YAC5B,oBAAoB,EAAE,EAAW;YACjC,UAAU,EAAE,UAAU,EAAE;YACxB,SAAS,EAAE,IAAW;SACzB,CAAC;QAEF,4CAA4C;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAE1D,+DAA+D;QAC/D,MAAM,UAAU,GAA0B,EAAE,CAAC;QAC7C,IAAI,WAAW,GAAkE,IAAI,CAAC;QACtF,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,KAAK,GAAiB,IAAI,CAAC;QAE/B,MAAM,SAAS,GAAG,CAAC,KAA0B,EAAE,EAAE;YAC7C,IAAI,WAAW,EAAE,CAAC;gBACd,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC3C,WAAW,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACJ,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC,CAAC;QAEF,yCAAyC;QACzC,IAAI,iBAAiB,GAAwB,IAAI,CAAC;QAElD,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;YAC3B,IAAI,GAAG,IAAI,CAAC;YACZ,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC;YACpB,0DAA0D;YAC1D,IAAI,iBAAiB,EAAE,CAAC;gBACpB,iBAAiB,EAAE,CAAC;gBACpB,iBAAiB,GAAG,IAAI,CAAC;YAC7B,CAAC;YACD,uFAAuF;YACvF,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBACd,IAAI,GAAG,EAAE,CAAC;oBACN,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM,GAAG,CAAC;gBACd,CAAC;gBACD,WAAW,CAAC,EAAE,KAAK,EAAE,SAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,WAAW,GAAG,IAAI,CAAC;YACvB,CAAC;QACL,CAAC,CAAC;QAEF,wEAAwE;QACxE,iBAAiB,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAU,EAAE,EAAE;YAChD,IAAI,CAAC;gBACD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACjB,KAAK,yBAAyB;wBAC1B,uBAAuB;wBACvB,IAAI,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;4BAC3B,MAAM,KAAK,GAAG,uBAAuB,CACjC,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,IAAI,CAAC,YAAY,CAC1B,CAAC;4BAEF,IAAI,KAAK,EAAE,CAAC;gCACR,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC;gCAC3B,SAAS,CAAC;oCACN,IAAI,EAAE,mBAAmB;oCACzB,KAAK;iCACe,CAAC,CAAC;4BAC9B,CAAC;wBACL,CAAC;wBACD,MAAM;oBAEV,KAAK,2BAA2B;wBAC5B,qCAAqC;wBACrC,IAAI,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;4BAC3B,KAAK,CAAC,wBAAwB,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;4BAC1D,4CAA4C;4BAC5C,SAAS,CAAC;gCACN,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACH,IAAI,EAAE,iBAAiB;oCACvB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY;iCACnC;6BACmB,CAAC,CAAC;wBAC9B,CAAC;wBACD,MAAM;oBAEV,KAAK,sBAAsB;wBACvB,sBAAsB;wBACtB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;4BACb,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,oCAAoC,EAAE;gCAC7D,IAAI,EAAE,KAAK,CAAC,IAAI;6BACnB,CAAC,CAAC;4BAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;4BACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;gCACZ,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gCAC9F,MAAM;4BACV,CAAC;4BAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;4BAC9D,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ;gCAC1C,CAAC,CAAC,OAAO;gCACT,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;4BAE9B,MAAM,QAAQ,GAAG;gCACb,IAAI,EAAE,eAAe;gCACrB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,UAAU,EAAE;gCAClE,IAAI,EAAE,QAAQ;gCACd,SAAS,EAAE,UAAU;6BACxB,CAAC;4BACF,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BAG1C,+DAA+D;4BAC/D,2CAA2C;4BAC3C,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;4BAEtE,IAAI,UAAU,EAAE,CAAC;gCACb,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,0CAA0C,EAAE;oCACnE,IAAI,EAAE,QAAQ;oCACd,MAAM,EAAE,QAAQ,CAAC,MAAM;iCAC1B,CAAC,CAAC;gCAEH,0DAA0D;gCAC1D,SAAS,CAAC;oCACN,IAAI,EAAE,OAAO;oCACb,KAAK,EAAE;wCACH,IAAI,EAAE,eAAe;wCACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;wCACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;wCACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;qCAChC;iCACmB,CAAC,CAAC;gCAE1B,oFAAoF;gCACpF,oFAAoF;gCACpF,8BAA8B;gCAC9B,IAAI,QAAQ,GAAG,CAAC,CAAC;gCACjB,MAAM,WAAW,GAAG,EAAE,CAAC;gCACvB,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;oCAC5B,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oCACjE,IAAI,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wCACxD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,+CAA+C,EAAE;4CACxE,MAAM,EAAE,QAAQ,CAAC,MAAM;4CACvB,QAAQ;yCACX,CAAC,CAAC;wCACH,MAAM;oCACV,CAAC;oCACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oCAC1C,QAAQ,EAAE,CAAC;gCACf,CAAC;gCAED,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;oCAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,wDAAwD,EAAE;wCACjF,MAAM,EAAE,QAAQ,CAAC,MAAM;qCAC1B,CAAC,CAAC;gCACP,CAAC;gCAED,uEAAuE;gCACvE,oEAAoE;gCACpE,sEAAsE;gCACtE,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gCAC9C,SAAS,CAAC;oCACN,IAAI,EAAE,eAAe;oCACrB,QAAQ,EAAE;wCACN,EAAE,EAAE,KAAK,CAAC,UAAU;wCACpB,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;wCACtC,MAAM;qCACT;iCACmB,CAAC,CAAC;gCAE1B,2CAA2C;gCAC3C,MAAM,EAAE,CAAC;gCACT,OAAO,CAAC,8CAA8C;4BAC1D,CAAC;4BAED,oEAAoE;4BACpE,iFAAiF;4BACjF,4CAA4C;wBAChD,CAAC;wBACD,MAAM;oBAEV,KAAK,eAAe;wBAChB,aAAa;wBACb,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;4BACb,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;wBACjC,CAAC;wBACD,MAAM;oBAEV,KAAK,cAAc;wBACf,wCAAwC;wBACxC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,2BAA2B,EAAE;4BACpD,IAAI,EAAE,KAAK,CAAC,WAAW;4BACvB,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAC,MAAM;yBAC/C,CAAC,CAAC;wBAEH,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;wBAC9C,SAAS,CAAC;4BACN,IAAI,EAAE,eAAe;4BACrB,QAAQ,EAAE;gCACN,EAAE,EAAE,KAAK,CAAC,UAAU;gCACpB,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;gCACtC,MAAM;6BACT;yBACmB,CAAC,CAAC;wBAE1B,MAAM,EAAE,CAAC;wBACT,MAAM;oBAEV,KAAK,eAAe;wBAChB,gBAAgB;wBAChB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,6BAA6B,EAAE;4BACtD,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO;yBAC7B,CAAC,CAAC;wBACH,gFAAgF;wBAChF,SAAS,CAAC;4BACN,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,IAAI,eAAe,EAAE;yBACrD,CAAC,CAAC;wBAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC,CAAC;wBAC1D,MAAM;gBACd,CAAC;YACL,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,sCAAsC,EAAE;oBAC/D,KAAK,EAAE,GAAG,CAAC,OAAO;oBAClB,SAAS,EAAE,KAAK,CAAC,IAAI;iBACxB,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,8CAA8C;QAC9C,+CAA+C;QAC/C,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,4CAA4C,EAAE;gBACrE,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;gBACrD,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC1E,CAAC,CAAC;YAEH,sEAAsE;YACtE,+CAA+C;YAC/C,IAAI,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC/B,wDAAwD;oBACxD,IAAK,IAAY,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;wBAChD,MAAM,MAAM,GAAI,IAAY,CAAC,MAAM,CAAC;wBACpC,MAAM,UAAU,GAAG,MAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAE5D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,yCAAyC,EAAE;4BAClE,IAAI,EAAG,IAAY,CAAC,IAAI;4BACxB,MAAM;4BACN,UAAU;yBACb,CAAC,CAAC;wBAEH,IAAI,UAAU,EAAE,CAAC;4BACb,MAAM,MAAM,GAAI,IAAY,CAAC,MAAM,CAAC;4BAEpC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,+BAA+B,EAAE;gCACxD,MAAM;gCACN,YAAY,EAAE,MAAM,EAAE,MAAM;gCAC5B,aAAa,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK;6BAC1E,CAAC,CAAC;4BAEH,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;4BAChD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B;4BAC5C,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BAClC,cAAc,GAAG,IAAI,CAAC;wBAC1B,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,8CAA8C,EAAE;gBACvE,SAAS,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAC,CAAC;QACP,CAAC;QAED,4DAA4D;QAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,IAAI,CAAC;gBACD,8CAA8C;gBAC9C,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;gBACtE,MAAM,MAAM,GAAG,eAAe,EAAE,OAAO,IAAI,EAAE,CAAC;gBAE9C,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,OAAO,CAAC,IAAI,CAAC;wBACf,MAAM;qBACT,CAAC,CAAC;gBACP,CAAC;qBAAM,CAAC;oBACJ,yEAAyE;oBACzE,gEAAgE;oBAChE,qFAAqF;oBACrF,oDAAoD;gBACxD,CAAC;YACL,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,2BAA2B,EAAE;oBACpD,KAAK,EAAE,GAAG,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,MAAM;oBACF,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,2BAA2B,GAAG,CAAC,OAAO,EAAE,EAAE;iBACvD,CAAC;gBAEzB,IAAI,CAAC;oBACD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACL,sBAAsB;gBAC1B,CAAC;gBACD,0CAA0C;gBAC1C,IAAI,iBAAiB,EAAE,CAAC;oBACpB,iBAAiB,EAAE,CAAC;oBACpB,iBAAiB,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBACD,qCAAqC;gBACrC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC/C,OAAO;YACX,CAAC;QACL,CAAC;QACD,iGAAiG;QAEjG,+BAA+B;QAC/B,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,UAAU,CAAC,KAAK,EAAG,CAAC;YAC9B,CAAC;iBAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,sBAAsB;gBACtB,MAAM,MAAM,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,EAAE;oBACrD,WAAW,GAAG,CAAC,MAAM,EAAE,EAAE;wBACrB,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;4BACd,oBAAoB;4BACpB,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAyB,CAAC,CAAC;wBACvE,CAAC;6BAAM,CAAC;4BACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC1B,CAAC;oBACL,CAAC,CAAC;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,KAIlB;QACG,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,gDAAgD;QAChD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC3D,GAAG,CAAC,KAAK,CAAC,wBAAwB;oBAC9B,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,wBAAwB,EAAE;oBAC/C,CAAC,CAAC,EAAE,CAAC;aACZ,CAAC,CAAC;QACP,CAAC;QAED,0CAA0C;QAC1C,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,MAAM,EAAE,WAAW;gBACnB,GAAG,CAAC,KAAK,CAAC,wBAAwB;oBAC9B,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,wBAAwB,EAAE;oBAC/C,CAAC,CAAC,EAAE,CAAC;aACZ,CAAC,CAAC;QACP,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,wBAAwB,CAAC,GAAiB;QACtC,IAAK,GAAW,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;YACpC,OAAQ,GAAW,CAAC,YAAY,CAAC,KAAK,CAAC;QAC3C,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../source/providers/github-copilot/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=model.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.test.d.ts","sourceRoot":"","sources":["../../../source/providers/github-copilot/model.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ import test from 'ava';
2
+ import { extractCopilotTextDelta } from './model.js';
3
+ test('extractCopilotTextDelta - pure deltas', t => {
4
+ let accumulated = '';
5
+ let delta = extractCopilotTextDelta(accumulated, 'Hello');
6
+ t.is(delta, 'Hello');
7
+ accumulated += delta;
8
+ delta = extractCopilotTextDelta(accumulated, ' World');
9
+ t.is(delta, ' World');
10
+ accumulated += delta;
11
+ t.is(accumulated, 'Hello World');
12
+ });
13
+ test('extractCopilotTextDelta - accumulated chunks', t => {
14
+ let accumulated = '';
15
+ let delta = extractCopilotTextDelta(accumulated, 'Hello');
16
+ t.is(delta, 'Hello');
17
+ accumulated += delta;
18
+ delta = extractCopilotTextDelta(accumulated, 'Hello World');
19
+ t.is(delta, ' World');
20
+ accumulated += delta;
21
+ t.is(accumulated, 'Hello World');
22
+ });
23
+ test('extractCopilotTextDelta - duplicate chunks', t => {
24
+ let accumulated = '';
25
+ let delta = extractCopilotTextDelta(accumulated, 'Hello');
26
+ t.is(delta, 'Hello');
27
+ accumulated += delta;
28
+ delta = extractCopilotTextDelta(accumulated, 'Hello');
29
+ t.is(delta, '');
30
+ accumulated += delta;
31
+ t.is(accumulated, 'Hello');
32
+ });
33
+ test('extractCopilotTextDelta - empty chunks', t => {
34
+ let accumulated = '';
35
+ let delta = extractCopilotTextDelta(accumulated, 'Hello');
36
+ t.is(delta, 'Hello');
37
+ accumulated += delta;
38
+ delta = extractCopilotTextDelta(accumulated, '');
39
+ t.is(delta, '');
40
+ accumulated += delta;
41
+ t.is(accumulated, 'Hello');
42
+ });
43
+ test('extractCopilotTextDelta - tricky overlap', t => {
44
+ // If it's pure deltas but one delta happens to be a suffix that looks like accumulated?
45
+ // This shouldn't happen in reality but let's check.
46
+ let accumulated = 'Hello';
47
+ let incoming = 'Hello'; // This is a NEW delta "Hello"
48
+ let delta = extractCopilotTextDelta(accumulated, incoming);
49
+ t.is(delta, ''); // With overlap detection, "Hello" overlaps completely with "Hello"
50
+ });
51
+ test('extractCopilotTextDelta - partial overlap', t => {
52
+ let accumulated = 'Hello';
53
+ let incoming = 'lo World'; // Delta that overlaps by 'lo'
54
+ let delta = extractCopilotTextDelta(accumulated, incoming);
55
+ t.is(delta, ' World');
56
+ });
57
+ test('extractCopilotTextDelta - real world repeat', t => {
58
+ let accumulated = 'I can help you with that.';
59
+ let incoming = 'that. Let me see...'; // Overlaps by 'that.'
60
+ let delta = extractCopilotTextDelta(accumulated, incoming);
61
+ t.is(delta, ' Let me see...');
62
+ });
63
+ //# sourceMappingURL=model.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.test.js","sourceRoot":"","sources":["../../../source/providers/github-copilot/model.test.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,5 @@
1
1
  import { type ModelProvider, type Model } from '@openai/agents-core';
2
2
  import type { ILoggingService, ISettingsService } from '../../services/service-interfaces.js';
3
- /**
4
- * GitHubCopilotProvider - Uses the Direct model that lets Copilot SDK
5
- * control tool execution flow without trying to integrate with
6
- * OpenAI Agents SDK's approval pattern.
7
- */
8
3
  export declare class GitHubCopilotProvider implements ModelProvider {
9
4
  #private;
10
5
  constructor(deps: {
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../source/providers/github-copilot/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EACnB,MAAM,sCAAsC,CAAC;AAG9C;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,aAAa;;gBAM3C,IAAI,EAAE;QACd,eAAe,EAAE,gBAAgB,CAAC;QAClC,cAAc,EAAE,eAAe,CAAC;KACnC;IAKD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK;CASvD;AAGD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAC9C,eAAe,EAAE,gBAAgB,CAAC;IAClC,cAAc,EAAE,eAAe,CAAC;CACnC,GAAG,qBAAqB,CAExB"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../source/providers/github-copilot/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EACnB,MAAM,sCAAsC,CAAC;AAG9C,qBAAa,qBAAsB,YAAW,aAAa;;gBAM3C,IAAI,EAAE;QACd,eAAe,EAAE,gBAAgB,CAAC;QAClC,cAAc,EAAE,eAAe,CAAC;KACnC;IAKD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK;CASvD;AAGD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAC9C,eAAe,EAAE,gBAAgB,CAAC;IAClC,cAAc,EAAE,eAAe,CAAC;CACnC,GAAG,qBAAqB,CAExB"}
@@ -1,9 +1,4 @@
1
- import { GitHubCopilotDirectModel } from './model-direct.js';
2
- /**
3
- * GitHubCopilotProvider - Uses the Direct model that lets Copilot SDK
4
- * control tool execution flow without trying to integrate with
5
- * OpenAI Agents SDK's approval pattern.
6
- */
1
+ import { GitHubCopilotModel } from './model.js';
7
2
  export class GitHubCopilotProvider {
8
3
  #settingsService;
9
4
  #loggingService;
@@ -14,7 +9,7 @@ export class GitHubCopilotProvider {
14
9
  this.#loggingService = deps.loggingService;
15
10
  }
16
11
  getModel(modelName) {
17
- return new GitHubCopilotDirectModel({
12
+ return new GitHubCopilotModel({
18
13
  settingsService: this.#settingsService,
19
14
  loggingService: this.#loggingService,
20
15
  modelId: modelName,
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../source/providers/github-copilot/provider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IAC9B,gBAAgB,CAAmB;IACnC,eAAe,CAAkB;IACjC,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,qCAAqC;IAC9E,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC,CAAC,8CAA8C;IAEnG,YAAY,IAGX;QACG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;IAC/C,CAAC;IAED,QAAQ,CAAC,SAAkB;QACvB,OAAO,IAAI,wBAAwB,CAAC;YAChC,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,cAAc,EAAE,IAAI,CAAC,eAAe;SACvC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,mDAAmD;AACnD,MAAM,UAAU,2BAA2B,CAAC,IAG3C;IACG,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../source/providers/github-copilot/provider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,OAAO,qBAAqB;IAC9B,gBAAgB,CAAmB;IACnC,eAAe,CAAkB;IACjC,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,qCAAqC;IAC9E,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC,CAAC,8CAA8C;IAEnG,YAAY,IAGX;QACG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;IAC/C,CAAC;IAED,QAAQ,CAAC,SAAkB;QACvB,OAAO,IAAI,kBAAkB,CAAC;YAC1B,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,cAAc,EAAE,IAAI,CAAC,eAAe;SACvC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,mDAAmD;AACnD,MAAM,UAAU,2BAA2B,CAAC,IAG3C;IACG,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/providers/index.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,0BAA0B,CAAC;AAGlC,OAAO,uBAAuB,CAAC;AAG/B,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,eAAe,EACf,cAAc,EACd,KAAK,kBAAkB,GAC1B,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/providers/index.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,0BAA0B,CAAC;AAGlC,OAAO,uBAAuB,CAAC;AAG/B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,eAAe,EACf,cAAc,EACd,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/providers/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,OAAO,sBAAsB,CAAC;AAC9B,OAAO,0BAA0B,CAAC;AAElC,0CAA0C;AAC1C,OAAO,uBAAuB,CAAC;AAE/B,mCAAmC;AACnC,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,eAAe,EACf,cAAc,GAEjB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/providers/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,OAAO,sBAAsB,CAAC;AAC9B,OAAO,0BAA0B,CAAC;AAElC,0CAA0C;AAC1C,OAAO,uBAAuB,CAAC;AAE/B,mCAAmC;AACnC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,eAAe,EACf,cAAc,GAEf,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../source/providers/openai-compatible/api.ts"],"names":[],"mappings":"AAGA,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGlB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,YAAY,CAAC,EAAE,MAAM;CAQ5B;AAED,wBAAsB,mCAAmC,CAAC,EACtD,OAAO,EACP,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,KAAK,GACR,EAAE;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;CACjB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAyDpB"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../source/providers/openai-compatible/api.ts"],"names":[],"mappings":"AAGA,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM;CAOpG;AAED,wBAAsB,mCAAmC,CAAC,EACxD,OAAO,EACP,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,KAAK,GACN,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;CACf,GAAG,OAAO,CAAC,QAAQ,CAAC,CAoDpB"}