nova-terminal-ai 0.3.4

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 (649) hide show
  1. package/README.md +84 -0
  2. package/bin/nova +38 -0
  3. package/bin/nova.js +11 -0
  4. package/dist/commands/SmartCompletion.d.ts +71 -0
  5. package/dist/commands/SmartCompletion.d.ts.map +1 -0
  6. package/dist/commands/SmartCompletion.js +377 -0
  7. package/dist/commands/SmartCompletion.js.map +1 -0
  8. package/dist/index.d.ts +2 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +5 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/packages/cli/src/commands/SmartCompletion.d.ts +71 -0
  13. package/dist/packages/cli/src/commands/SmartCompletion.d.ts.map +1 -0
  14. package/dist/packages/cli/src/commands/SmartCompletion.js +377 -0
  15. package/dist/packages/cli/src/commands/SmartCompletion.js.map +1 -0
  16. package/dist/packages/cli/src/index.d.ts +2 -0
  17. package/dist/packages/cli/src/index.d.ts.map +1 -0
  18. package/dist/packages/cli/src/index.js +5 -0
  19. package/dist/packages/cli/src/index.js.map +1 -0
  20. package/dist/packages/cli/src/startup/IFlowRepl.d.ts +50 -0
  21. package/dist/packages/cli/src/startup/IFlowRepl.d.ts.map +1 -0
  22. package/dist/packages/cli/src/startup/IFlowRepl.js +178 -0
  23. package/dist/packages/cli/src/startup/IFlowRepl.js.map +1 -0
  24. package/dist/packages/cli/src/startup/InkBasedRepl.d.ts +151 -0
  25. package/dist/packages/cli/src/startup/InkBasedRepl.d.ts.map +1 -0
  26. package/dist/packages/cli/src/startup/InkBasedRepl.js +1415 -0
  27. package/dist/packages/cli/src/startup/InkBasedRepl.js.map +1 -0
  28. package/dist/packages/cli/src/startup/InteractiveRepl.d.ts +141 -0
  29. package/dist/packages/cli/src/startup/InteractiveRepl.d.ts.map +1 -0
  30. package/dist/packages/cli/src/startup/InteractiveRepl.js +2561 -0
  31. package/dist/packages/cli/src/startup/InteractiveRepl.js.map +1 -0
  32. package/dist/packages/cli/src/startup/NovaApp.d.ts +57 -0
  33. package/dist/packages/cli/src/startup/NovaApp.d.ts.map +1 -0
  34. package/dist/packages/cli/src/startup/NovaApp.js +1978 -0
  35. package/dist/packages/cli/src/startup/NovaApp.js.map +1 -0
  36. package/dist/packages/cli/src/startup/index.d.ts +5 -0
  37. package/dist/packages/cli/src/startup/index.d.ts.map +1 -0
  38. package/dist/packages/cli/src/startup/index.js +4 -0
  39. package/dist/packages/cli/src/startup/index.js.map +1 -0
  40. package/dist/packages/cli/src/startup/parseArgs.d.ts +47 -0
  41. package/dist/packages/cli/src/startup/parseArgs.d.ts.map +1 -0
  42. package/dist/packages/cli/src/startup/parseArgs.js +262 -0
  43. package/dist/packages/cli/src/startup/parseArgs.js.map +1 -0
  44. package/dist/packages/cli/src/ui/IFlowDropdown.d.ts +63 -0
  45. package/dist/packages/cli/src/ui/IFlowDropdown.d.ts.map +1 -0
  46. package/dist/packages/cli/src/ui/IFlowDropdown.js +362 -0
  47. package/dist/packages/cli/src/ui/IFlowDropdown.js.map +1 -0
  48. package/dist/packages/cli/src/ui/ModernReplUI.d.ts +55 -0
  49. package/dist/packages/cli/src/ui/ModernReplUI.d.ts.map +1 -0
  50. package/dist/packages/cli/src/ui/ModernReplUI.js +207 -0
  51. package/dist/packages/cli/src/ui/ModernReplUI.js.map +1 -0
  52. package/dist/packages/cli/src/ui/SimpleSelector2.d.ts +28 -0
  53. package/dist/packages/cli/src/ui/SimpleSelector2.d.ts.map +1 -0
  54. package/dist/packages/cli/src/ui/SimpleSelector2.js +181 -0
  55. package/dist/packages/cli/src/ui/SimpleSelector2.js.map +1 -0
  56. package/dist/packages/cli/src/ui/components/ActiveCursor.d.ts +128 -0
  57. package/dist/packages/cli/src/ui/components/ActiveCursor.d.ts.map +1 -0
  58. package/dist/packages/cli/src/ui/components/ActiveCursor.js +273 -0
  59. package/dist/packages/cli/src/ui/components/ActiveCursor.js.map +1 -0
  60. package/dist/packages/cli/src/ui/components/ConfirmDialog.d.ts +51 -0
  61. package/dist/packages/cli/src/ui/components/ConfirmDialog.d.ts.map +1 -0
  62. package/dist/packages/cli/src/ui/components/ConfirmDialog.js +147 -0
  63. package/dist/packages/cli/src/ui/components/ConfirmDialog.js.map +1 -0
  64. package/dist/packages/cli/src/ui/components/ErrorPanel.d.ts +33 -0
  65. package/dist/packages/cli/src/ui/components/ErrorPanel.d.ts.map +1 -0
  66. package/dist/packages/cli/src/ui/components/ErrorPanel.js +309 -0
  67. package/dist/packages/cli/src/ui/components/ErrorPanel.js.map +1 -0
  68. package/dist/packages/cli/src/ui/components/InkAppRunner.d.ts +18 -0
  69. package/dist/packages/cli/src/ui/components/InkAppRunner.d.ts.map +1 -0
  70. package/dist/packages/cli/src/ui/components/InkAppRunner.js +33 -0
  71. package/dist/packages/cli/src/ui/components/InkAppRunner.js.map +1 -0
  72. package/dist/packages/cli/src/ui/components/InkComponents.d.ts +126 -0
  73. package/dist/packages/cli/src/ui/components/InkComponents.d.ts.map +1 -0
  74. package/dist/packages/cli/src/ui/components/InkComponents.js +216 -0
  75. package/dist/packages/cli/src/ui/components/InkComponents.js.map +1 -0
  76. package/dist/packages/cli/src/ui/components/NovaInkApp.d.ts +11 -0
  77. package/dist/packages/cli/src/ui/components/NovaInkApp.d.ts.map +1 -0
  78. package/dist/packages/cli/src/ui/components/NovaInkApp.js +148 -0
  79. package/dist/packages/cli/src/ui/components/NovaInkApp.js.map +1 -0
  80. package/dist/packages/cli/src/ui/components/ProgressBar.d.ts +65 -0
  81. package/dist/packages/cli/src/ui/components/ProgressBar.d.ts.map +1 -0
  82. package/dist/packages/cli/src/ui/components/ProgressBar.js +135 -0
  83. package/dist/packages/cli/src/ui/components/ProgressBar.js.map +1 -0
  84. package/dist/packages/cli/src/ui/components/ProgressIndicator.d.ts +41 -0
  85. package/dist/packages/cli/src/ui/components/ProgressIndicator.d.ts.map +1 -0
  86. package/dist/packages/cli/src/ui/components/ProgressIndicator.js +235 -0
  87. package/dist/packages/cli/src/ui/components/ProgressIndicator.js.map +1 -0
  88. package/dist/packages/cli/src/ui/components/QuickActions.d.ts +36 -0
  89. package/dist/packages/cli/src/ui/components/QuickActions.d.ts.map +1 -0
  90. package/dist/packages/cli/src/ui/components/QuickActions.js +328 -0
  91. package/dist/packages/cli/src/ui/components/QuickActions.js.map +1 -0
  92. package/dist/packages/cli/src/ui/components/SimpleErrorPanel.d.ts +16 -0
  93. package/dist/packages/cli/src/ui/components/SimpleErrorPanel.d.ts.map +1 -0
  94. package/dist/packages/cli/src/ui/components/SimpleErrorPanel.js +193 -0
  95. package/dist/packages/cli/src/ui/components/SimpleErrorPanel.js.map +1 -0
  96. package/dist/packages/cli/src/ui/components/StatusBar.d.ts +30 -0
  97. package/dist/packages/cli/src/ui/components/StatusBar.d.ts.map +1 -0
  98. package/dist/packages/cli/src/ui/components/StatusBar.js +154 -0
  99. package/dist/packages/cli/src/ui/components/StatusBar.js.map +1 -0
  100. package/dist/packages/cli/src/ui/components/ThinkingBlockRenderer.d.ts +109 -0
  101. package/dist/packages/cli/src/ui/components/ThinkingBlockRenderer.d.ts.map +1 -0
  102. package/dist/packages/cli/src/ui/components/ThinkingBlockRenderer.js +335 -0
  103. package/dist/packages/cli/src/ui/components/ThinkingBlockRenderer.js.map +1 -0
  104. package/dist/packages/cli/src/ui/components/ThinkingContentDisplay.d.ts +59 -0
  105. package/dist/packages/cli/src/ui/components/ThinkingContentDisplay.d.ts.map +1 -0
  106. package/dist/packages/cli/src/ui/components/ThinkingContentDisplay.js +172 -0
  107. package/dist/packages/cli/src/ui/components/ThinkingContentDisplay.js.map +1 -0
  108. package/dist/packages/cli/src/ui/components/TodoProgressPanel.d.ts +91 -0
  109. package/dist/packages/cli/src/ui/components/TodoProgressPanel.d.ts.map +1 -0
  110. package/dist/packages/cli/src/ui/components/TodoProgressPanel.js +284 -0
  111. package/dist/packages/cli/src/ui/components/TodoProgressPanel.js.map +1 -0
  112. package/dist/packages/cli/src/ui/components/ToolCallStatusDisplay.d.ts +89 -0
  113. package/dist/packages/cli/src/ui/components/ToolCallStatusDisplay.d.ts.map +1 -0
  114. package/dist/packages/cli/src/ui/components/ToolCallStatusDisplay.js +246 -0
  115. package/dist/packages/cli/src/ui/components/ToolCallStatusDisplay.js.map +1 -0
  116. package/dist/packages/cli/src/ui/components/UserMessageHighlight.d.ts +48 -0
  117. package/dist/packages/cli/src/ui/components/UserMessageHighlight.d.ts.map +1 -0
  118. package/dist/packages/cli/src/ui/components/UserMessageHighlight.js +196 -0
  119. package/dist/packages/cli/src/ui/components/UserMessageHighlight.js.map +1 -0
  120. package/dist/packages/cli/src/ui/components/index.d.ts +17 -0
  121. package/dist/packages/cli/src/ui/components/index.d.ts.map +1 -0
  122. package/dist/packages/cli/src/ui/components/index.js +18 -0
  123. package/dist/packages/cli/src/ui/components/index.js.map +1 -0
  124. package/dist/packages/cli/src/ui/ink-prototype.d.ts +3 -0
  125. package/dist/packages/cli/src/ui/ink-prototype.d.ts.map +1 -0
  126. package/dist/packages/cli/src/ui/ink-prototype.js +160 -0
  127. package/dist/packages/cli/src/ui/ink-prototype.js.map +1 -0
  128. package/dist/packages/cli/src/utils/CliUI.d.ts +163 -0
  129. package/dist/packages/cli/src/utils/CliUI.d.ts.map +1 -0
  130. package/dist/packages/cli/src/utils/CliUI.js +292 -0
  131. package/dist/packages/cli/src/utils/CliUI.js.map +1 -0
  132. package/dist/packages/cli/src/utils/CompletionHelper.d.ts +112 -0
  133. package/dist/packages/cli/src/utils/CompletionHelper.d.ts.map +1 -0
  134. package/dist/packages/cli/src/utils/CompletionHelper.js +304 -0
  135. package/dist/packages/cli/src/utils/CompletionHelper.js.map +1 -0
  136. package/dist/packages/cli/src/utils/EnhancedCompleter.d.ts +107 -0
  137. package/dist/packages/cli/src/utils/EnhancedCompleter.d.ts.map +1 -0
  138. package/dist/packages/cli/src/utils/EnhancedCompleter.js +428 -0
  139. package/dist/packages/cli/src/utils/EnhancedCompleter.js.map +1 -0
  140. package/dist/packages/cli/src/utils/ErrorEnhancer.d.ts +103 -0
  141. package/dist/packages/cli/src/utils/ErrorEnhancer.d.ts.map +1 -0
  142. package/dist/packages/cli/src/utils/ErrorEnhancer.js +350 -0
  143. package/dist/packages/cli/src/utils/ErrorEnhancer.js.map +1 -0
  144. package/dist/packages/cli/src/utils/OutputFormatter.d.ts +65 -0
  145. package/dist/packages/cli/src/utils/OutputFormatter.d.ts.map +1 -0
  146. package/dist/packages/cli/src/utils/OutputFormatter.js +145 -0
  147. package/dist/packages/cli/src/utils/OutputFormatter.js.map +1 -0
  148. package/dist/packages/cli/src/utils/index.d.ts +5 -0
  149. package/dist/packages/cli/src/utils/index.d.ts.map +1 -0
  150. package/dist/packages/cli/src/utils/index.js +8 -0
  151. package/dist/packages/cli/src/utils/index.js.map +1 -0
  152. package/dist/packages/cli/tsconfig.tsbuildinfo +1 -0
  153. package/dist/packages/core/src/agents/AgentOrchestrator.d.ts +147 -0
  154. package/dist/packages/core/src/agents/AgentOrchestrator.d.ts.map +1 -0
  155. package/dist/packages/core/src/agents/AgentOrchestrator.js +358 -0
  156. package/dist/packages/core/src/agents/AgentOrchestrator.js.map +1 -0
  157. package/dist/packages/core/src/agents/index.d.ts +3 -0
  158. package/dist/packages/core/src/agents/index.d.ts.map +1 -0
  159. package/dist/packages/core/src/agents/index.js +5 -0
  160. package/dist/packages/core/src/agents/index.js.map +1 -0
  161. package/dist/packages/core/src/analysis/ProjectAnalyzer.d.ts +95 -0
  162. package/dist/packages/core/src/analysis/ProjectAnalyzer.d.ts.map +1 -0
  163. package/dist/packages/core/src/analysis/ProjectAnalyzer.js +656 -0
  164. package/dist/packages/core/src/analysis/ProjectAnalyzer.js.map +1 -0
  165. package/dist/packages/core/src/audit/AuditLogger.d.ts +140 -0
  166. package/dist/packages/core/src/audit/AuditLogger.d.ts.map +1 -0
  167. package/dist/packages/core/src/audit/AuditLogger.js +357 -0
  168. package/dist/packages/core/src/audit/AuditLogger.js.map +1 -0
  169. package/dist/packages/core/src/audit/index.d.ts +3 -0
  170. package/dist/packages/core/src/audit/index.d.ts.map +1 -0
  171. package/dist/packages/core/src/audit/index.js +5 -0
  172. package/dist/packages/core/src/audit/index.js.map +1 -0
  173. package/dist/packages/core/src/auth/AuthManager.d.ts +38 -0
  174. package/dist/packages/core/src/auth/AuthManager.d.ts.map +1 -0
  175. package/dist/packages/core/src/auth/AuthManager.js +120 -0
  176. package/dist/packages/core/src/auth/AuthManager.js.map +1 -0
  177. package/dist/packages/core/src/auth/index.d.ts +3 -0
  178. package/dist/packages/core/src/auth/index.d.ts.map +1 -0
  179. package/dist/packages/core/src/auth/index.js +2 -0
  180. package/dist/packages/core/src/auth/index.js.map +1 -0
  181. package/dist/packages/core/src/config/ConfigManager.d.ts +47 -0
  182. package/dist/packages/core/src/config/ConfigManager.d.ts.map +1 -0
  183. package/dist/packages/core/src/config/ConfigManager.js +1197 -0
  184. package/dist/packages/core/src/config/ConfigManager.js.map +1 -0
  185. package/dist/packages/core/src/config/index.d.ts +2 -0
  186. package/dist/packages/core/src/config/index.d.ts.map +1 -0
  187. package/dist/packages/core/src/config/index.js +2 -0
  188. package/dist/packages/core/src/config/index.js.map +1 -0
  189. package/dist/packages/core/src/context/ContextBuilder.d.ts +39 -0
  190. package/dist/packages/core/src/context/ContextBuilder.d.ts.map +1 -0
  191. package/dist/packages/core/src/context/ContextBuilder.js +132 -0
  192. package/dist/packages/core/src/context/ContextBuilder.js.map +1 -0
  193. package/dist/packages/core/src/context/ContextCompressor.d.ts +147 -0
  194. package/dist/packages/core/src/context/ContextCompressor.d.ts.map +1 -0
  195. package/dist/packages/core/src/context/ContextCompressor.js +451 -0
  196. package/dist/packages/core/src/context/ContextCompressor.js.map +1 -0
  197. package/dist/packages/core/src/context/LayeredMemoryManager.d.ts +160 -0
  198. package/dist/packages/core/src/context/LayeredMemoryManager.d.ts.map +1 -0
  199. package/dist/packages/core/src/context/LayeredMemoryManager.js +505 -0
  200. package/dist/packages/core/src/context/LayeredMemoryManager.js.map +1 -0
  201. package/dist/packages/core/src/context/MemoryDiscovery.d.ts +33 -0
  202. package/dist/packages/core/src/context/MemoryDiscovery.d.ts.map +1 -0
  203. package/dist/packages/core/src/context/MemoryDiscovery.js +146 -0
  204. package/dist/packages/core/src/context/MemoryDiscovery.js.map +1 -0
  205. package/dist/packages/core/src/context/defaultSystemPrompt.d.ts +12 -0
  206. package/dist/packages/core/src/context/defaultSystemPrompt.d.ts.map +1 -0
  207. package/dist/packages/core/src/context/defaultSystemPrompt.js +32 -0
  208. package/dist/packages/core/src/context/defaultSystemPrompt.js.map +1 -0
  209. package/dist/packages/core/src/context/index.d.ts +9 -0
  210. package/dist/packages/core/src/context/index.d.ts.map +1 -0
  211. package/dist/packages/core/src/context/index.js +5 -0
  212. package/dist/packages/core/src/context/index.js.map +1 -0
  213. package/dist/packages/core/src/extensions/SkillGenerator.d.ts +77 -0
  214. package/dist/packages/core/src/extensions/SkillGenerator.d.ts.map +1 -0
  215. package/dist/packages/core/src/extensions/SkillGenerator.js +323 -0
  216. package/dist/packages/core/src/extensions/SkillGenerator.js.map +1 -0
  217. package/dist/packages/core/src/extensions/SkillInstaller.d.ts +74 -0
  218. package/dist/packages/core/src/extensions/SkillInstaller.d.ts.map +1 -0
  219. package/dist/packages/core/src/extensions/SkillInstaller.js +216 -0
  220. package/dist/packages/core/src/extensions/SkillInstaller.js.map +1 -0
  221. package/dist/packages/core/src/extensions/SkillRegistry.d.ts +99 -0
  222. package/dist/packages/core/src/extensions/SkillRegistry.d.ts.map +1 -0
  223. package/dist/packages/core/src/extensions/SkillRegistry.js +263 -0
  224. package/dist/packages/core/src/extensions/SkillRegistry.js.map +1 -0
  225. package/dist/packages/core/src/extensions/SkillValidator.d.ts +51 -0
  226. package/dist/packages/core/src/extensions/SkillValidator.d.ts.map +1 -0
  227. package/dist/packages/core/src/extensions/SkillValidator.js +465 -0
  228. package/dist/packages/core/src/extensions/SkillValidator.js.map +1 -0
  229. package/dist/packages/core/src/extensions/index.d.ts +11 -0
  230. package/dist/packages/core/src/extensions/index.d.ts.map +1 -0
  231. package/dist/packages/core/src/extensions/index.js +8 -0
  232. package/dist/packages/core/src/extensions/index.js.map +1 -0
  233. package/dist/packages/core/src/index.d.ts +14 -0
  234. package/dist/packages/core/src/index.d.ts.map +1 -0
  235. package/dist/packages/core/src/index.js +30 -0
  236. package/dist/packages/core/src/index.js.map +1 -0
  237. package/dist/packages/core/src/mcp/McpManager.d.ts +94 -0
  238. package/dist/packages/core/src/mcp/McpManager.d.ts.map +1 -0
  239. package/dist/packages/core/src/mcp/McpManager.js +494 -0
  240. package/dist/packages/core/src/mcp/McpManager.js.map +1 -0
  241. package/dist/packages/core/src/mcp/index.d.ts +2 -0
  242. package/dist/packages/core/src/mcp/index.d.ts.map +1 -0
  243. package/dist/packages/core/src/mcp/index.js +3 -0
  244. package/dist/packages/core/src/mcp/index.js.map +1 -0
  245. package/dist/packages/core/src/model/ModelClient.d.ts +40 -0
  246. package/dist/packages/core/src/model/ModelClient.d.ts.map +1 -0
  247. package/dist/packages/core/src/model/ModelClient.js +163 -0
  248. package/dist/packages/core/src/model/ModelClient.js.map +1 -0
  249. package/dist/packages/core/src/model/ModelConnectionTester.d.ts +58 -0
  250. package/dist/packages/core/src/model/ModelConnectionTester.d.ts.map +1 -0
  251. package/dist/packages/core/src/model/ModelConnectionTester.js +311 -0
  252. package/dist/packages/core/src/model/ModelConnectionTester.js.map +1 -0
  253. package/dist/packages/core/src/model/ModelValidator.d.ts +39 -0
  254. package/dist/packages/core/src/model/ModelValidator.d.ts.map +1 -0
  255. package/dist/packages/core/src/model/ModelValidator.js +296 -0
  256. package/dist/packages/core/src/model/ModelValidator.js.map +1 -0
  257. package/dist/packages/core/src/model/index.d.ts +7 -0
  258. package/dist/packages/core/src/model/index.d.ts.map +1 -0
  259. package/dist/packages/core/src/model/index.js +5 -0
  260. package/dist/packages/core/src/model/index.js.map +1 -0
  261. package/dist/packages/core/src/model/providers/AnthropicProvider.d.ts +25 -0
  262. package/dist/packages/core/src/model/providers/AnthropicProvider.d.ts.map +1 -0
  263. package/dist/packages/core/src/model/providers/AnthropicProvider.js +258 -0
  264. package/dist/packages/core/src/model/providers/AnthropicProvider.js.map +1 -0
  265. package/dist/packages/core/src/model/providers/CodingPlanProvider.d.ts +66 -0
  266. package/dist/packages/core/src/model/providers/CodingPlanProvider.d.ts.map +1 -0
  267. package/dist/packages/core/src/model/providers/CodingPlanProvider.js +161 -0
  268. package/dist/packages/core/src/model/providers/CodingPlanProvider.js.map +1 -0
  269. package/dist/packages/core/src/model/providers/OllamaCloudProvider.d.ts +38 -0
  270. package/dist/packages/core/src/model/providers/OllamaCloudProvider.d.ts.map +1 -0
  271. package/dist/packages/core/src/model/providers/OllamaCloudProvider.js +365 -0
  272. package/dist/packages/core/src/model/providers/OllamaCloudProvider.js.map +1 -0
  273. package/dist/packages/core/src/model/providers/OllamaManager.d.ts +72 -0
  274. package/dist/packages/core/src/model/providers/OllamaManager.d.ts.map +1 -0
  275. package/dist/packages/core/src/model/providers/OllamaManager.js +144 -0
  276. package/dist/packages/core/src/model/providers/OllamaManager.js.map +1 -0
  277. package/dist/packages/core/src/model/providers/OllamaProvider.d.ts +23 -0
  278. package/dist/packages/core/src/model/providers/OllamaProvider.d.ts.map +1 -0
  279. package/dist/packages/core/src/model/providers/OllamaProvider.js +56 -0
  280. package/dist/packages/core/src/model/providers/OllamaProvider.js.map +1 -0
  281. package/dist/packages/core/src/model/providers/OpenAICompatibleProvider.d.ts +53 -0
  282. package/dist/packages/core/src/model/providers/OpenAICompatibleProvider.d.ts.map +1 -0
  283. package/dist/packages/core/src/model/providers/OpenAICompatibleProvider.js +383 -0
  284. package/dist/packages/core/src/model/providers/OpenAICompatibleProvider.js.map +1 -0
  285. package/dist/packages/core/src/model/providers/OpenAIProvider.d.ts +12 -0
  286. package/dist/packages/core/src/model/providers/OpenAIProvider.d.ts.map +1 -0
  287. package/dist/packages/core/src/model/providers/OpenAIProvider.js +19 -0
  288. package/dist/packages/core/src/model/providers/OpenAIProvider.js.map +1 -0
  289. package/dist/packages/core/src/model/providers/index.d.ts +13 -0
  290. package/dist/packages/core/src/model/providers/index.d.ts.map +1 -0
  291. package/dist/packages/core/src/model/providers/index.js +7 -0
  292. package/dist/packages/core/src/model/providers/index.js.map +1 -0
  293. package/dist/packages/core/src/model/types.d.ts +81 -0
  294. package/dist/packages/core/src/model/types.d.ts.map +1 -0
  295. package/dist/packages/core/src/model/types.js +12 -0
  296. package/dist/packages/core/src/model/types.js.map +1 -0
  297. package/dist/packages/core/src/security/ApprovalManager.d.ts +56 -0
  298. package/dist/packages/core/src/security/ApprovalManager.d.ts.map +1 -0
  299. package/dist/packages/core/src/security/ApprovalManager.js +122 -0
  300. package/dist/packages/core/src/security/ApprovalManager.js.map +1 -0
  301. package/dist/packages/core/src/security/FileFilter.d.ts +47 -0
  302. package/dist/packages/core/src/security/FileFilter.d.ts.map +1 -0
  303. package/dist/packages/core/src/security/FileFilter.js +111 -0
  304. package/dist/packages/core/src/security/FileFilter.js.map +1 -0
  305. package/dist/packages/core/src/security/HookExecutor.d.ts +37 -0
  306. package/dist/packages/core/src/security/HookExecutor.d.ts.map +1 -0
  307. package/dist/packages/core/src/security/HookExecutor.js +142 -0
  308. package/dist/packages/core/src/security/HookExecutor.js.map +1 -0
  309. package/dist/packages/core/src/security/SandboxExecutor.d.ts +90 -0
  310. package/dist/packages/core/src/security/SandboxExecutor.d.ts.map +1 -0
  311. package/dist/packages/core/src/security/SandboxExecutor.js +345 -0
  312. package/dist/packages/core/src/security/SandboxExecutor.js.map +1 -0
  313. package/dist/packages/core/src/security/index.d.ts +8 -0
  314. package/dist/packages/core/src/security/index.d.ts.map +1 -0
  315. package/dist/packages/core/src/security/index.js +6 -0
  316. package/dist/packages/core/src/security/index.js.map +1 -0
  317. package/dist/packages/core/src/session/AgentLoop.d.ts +75 -0
  318. package/dist/packages/core/src/session/AgentLoop.d.ts.map +1 -0
  319. package/dist/packages/core/src/session/AgentLoop.js +381 -0
  320. package/dist/packages/core/src/session/AgentLoop.js.map +1 -0
  321. package/dist/packages/core/src/session/SessionManager.d.ts +96 -0
  322. package/dist/packages/core/src/session/SessionManager.d.ts.map +1 -0
  323. package/dist/packages/core/src/session/SessionManager.js +390 -0
  324. package/dist/packages/core/src/session/SessionManager.js.map +1 -0
  325. package/dist/packages/core/src/session/index.d.ts +4 -0
  326. package/dist/packages/core/src/session/index.d.ts.map +1 -0
  327. package/dist/packages/core/src/session/index.js +3 -0
  328. package/dist/packages/core/src/session/index.js.map +1 -0
  329. package/dist/packages/core/src/telemetry/Telemetry.d.ts +25 -0
  330. package/dist/packages/core/src/telemetry/Telemetry.d.ts.map +1 -0
  331. package/dist/packages/core/src/telemetry/Telemetry.js +73 -0
  332. package/dist/packages/core/src/telemetry/Telemetry.js.map +1 -0
  333. package/dist/packages/core/src/telemetry/TelemetryService.d.ts +152 -0
  334. package/dist/packages/core/src/telemetry/TelemetryService.d.ts.map +1 -0
  335. package/dist/packages/core/src/telemetry/TelemetryService.js +410 -0
  336. package/dist/packages/core/src/telemetry/TelemetryService.js.map +1 -0
  337. package/dist/packages/core/src/telemetry/index.d.ts +5 -0
  338. package/dist/packages/core/src/telemetry/index.d.ts.map +1 -0
  339. package/dist/packages/core/src/telemetry/index.js +3 -0
  340. package/dist/packages/core/src/telemetry/index.js.map +1 -0
  341. package/dist/packages/core/src/testing/AutoFixer.d.ts +98 -0
  342. package/dist/packages/core/src/testing/AutoFixer.d.ts.map +1 -0
  343. package/dist/packages/core/src/testing/AutoFixer.js +262 -0
  344. package/dist/packages/core/src/testing/AutoFixer.js.map +1 -0
  345. package/dist/packages/core/src/testing/ErrorAnalyzer.d.ts +74 -0
  346. package/dist/packages/core/src/testing/ErrorAnalyzer.d.ts.map +1 -0
  347. package/dist/packages/core/src/testing/ErrorAnalyzer.js +407 -0
  348. package/dist/packages/core/src/testing/ErrorAnalyzer.js.map +1 -0
  349. package/dist/packages/core/src/testing/TestRunner.d.ts +57 -0
  350. package/dist/packages/core/src/testing/TestRunner.d.ts.map +1 -0
  351. package/dist/packages/core/src/testing/TestRunner.js +205 -0
  352. package/dist/packages/core/src/testing/TestRunner.js.map +1 -0
  353. package/dist/packages/core/src/testing/agent-cli-tests.d.ts +2 -0
  354. package/dist/packages/core/src/testing/agent-cli-tests.d.ts.map +1 -0
  355. package/dist/packages/core/src/testing/agent-cli-tests.js +493 -0
  356. package/dist/packages/core/src/testing/agent-cli-tests.js.map +1 -0
  357. package/dist/packages/core/src/testing/index.d.ts +7 -0
  358. package/dist/packages/core/src/testing/index.d.ts.map +1 -0
  359. package/dist/packages/core/src/testing/index.js +8 -0
  360. package/dist/packages/core/src/testing/index.js.map +1 -0
  361. package/dist/packages/core/src/tools/ToolRegistry.d.ts +72 -0
  362. package/dist/packages/core/src/tools/ToolRegistry.d.ts.map +1 -0
  363. package/dist/packages/core/src/tools/ToolRegistry.js +208 -0
  364. package/dist/packages/core/src/tools/ToolRegistry.js.map +1 -0
  365. package/dist/packages/core/src/tools/impl/EditFileTool.d.ts +3 -0
  366. package/dist/packages/core/src/tools/impl/EditFileTool.d.ts.map +1 -0
  367. package/dist/packages/core/src/tools/impl/EditFileTool.js +76 -0
  368. package/dist/packages/core/src/tools/impl/EditFileTool.js.map +1 -0
  369. package/dist/packages/core/src/tools/impl/FileProcessor.d.ts +85 -0
  370. package/dist/packages/core/src/tools/impl/FileProcessor.d.ts.map +1 -0
  371. package/dist/packages/core/src/tools/impl/FileProcessor.js +512 -0
  372. package/dist/packages/core/src/tools/impl/FileProcessor.js.map +1 -0
  373. package/dist/packages/core/src/tools/impl/FileProcessorTool.d.ts +151 -0
  374. package/dist/packages/core/src/tools/impl/FileProcessorTool.d.ts.map +1 -0
  375. package/dist/packages/core/src/tools/impl/FileProcessorTool.js +100 -0
  376. package/dist/packages/core/src/tools/impl/FileProcessorTool.js.map +1 -0
  377. package/dist/packages/core/src/tools/impl/ImageProcessorTool.d.ts +43 -0
  378. package/dist/packages/core/src/tools/impl/ImageProcessorTool.d.ts.map +1 -0
  379. package/dist/packages/core/src/tools/impl/ImageProcessorTool.js +104 -0
  380. package/dist/packages/core/src/tools/impl/ImageProcessorTool.js.map +1 -0
  381. package/dist/packages/core/src/tools/impl/ListDirectoryTool.d.ts +3 -0
  382. package/dist/packages/core/src/tools/impl/ListDirectoryTool.d.ts.map +1 -0
  383. package/dist/packages/core/src/tools/impl/ListDirectoryTool.js +120 -0
  384. package/dist/packages/core/src/tools/impl/ListDirectoryTool.js.map +1 -0
  385. package/dist/packages/core/src/tools/impl/MemoryTool.d.ts +4 -0
  386. package/dist/packages/core/src/tools/impl/MemoryTool.d.ts.map +1 -0
  387. package/dist/packages/core/src/tools/impl/MemoryTool.js +80 -0
  388. package/dist/packages/core/src/tools/impl/MemoryTool.js.map +1 -0
  389. package/dist/packages/core/src/tools/impl/ReadFileTool.d.ts +3 -0
  390. package/dist/packages/core/src/tools/impl/ReadFileTool.d.ts.map +1 -0
  391. package/dist/packages/core/src/tools/impl/ReadFileTool.js +223 -0
  392. package/dist/packages/core/src/tools/impl/ReadFileTool.js.map +1 -0
  393. package/dist/packages/core/src/tools/impl/SearchContentTool.d.ts +3 -0
  394. package/dist/packages/core/src/tools/impl/SearchContentTool.d.ts.map +1 -0
  395. package/dist/packages/core/src/tools/impl/SearchContentTool.js +65 -0
  396. package/dist/packages/core/src/tools/impl/SearchContentTool.js.map +1 -0
  397. package/dist/packages/core/src/tools/impl/SearchFileTool.d.ts +3 -0
  398. package/dist/packages/core/src/tools/impl/SearchFileTool.d.ts.map +1 -0
  399. package/dist/packages/core/src/tools/impl/SearchFileTool.js +48 -0
  400. package/dist/packages/core/src/tools/impl/SearchFileTool.js.map +1 -0
  401. package/dist/packages/core/src/tools/impl/ShellTool.d.ts +3 -0
  402. package/dist/packages/core/src/tools/impl/ShellTool.d.ts.map +1 -0
  403. package/dist/packages/core/src/tools/impl/ShellTool.js +92 -0
  404. package/dist/packages/core/src/tools/impl/ShellTool.js.map +1 -0
  405. package/dist/packages/core/src/tools/impl/TaskTool.d.ts +51 -0
  406. package/dist/packages/core/src/tools/impl/TaskTool.d.ts.map +1 -0
  407. package/dist/packages/core/src/tools/impl/TaskTool.js +172 -0
  408. package/dist/packages/core/src/tools/impl/TaskTool.js.map +1 -0
  409. package/dist/packages/core/src/tools/impl/TodoTool.d.ts +31 -0
  410. package/dist/packages/core/src/tools/impl/TodoTool.d.ts.map +1 -0
  411. package/dist/packages/core/src/tools/impl/TodoTool.js +102 -0
  412. package/dist/packages/core/src/tools/impl/TodoTool.js.map +1 -0
  413. package/dist/packages/core/src/tools/impl/WebFetchTool.d.ts +3 -0
  414. package/dist/packages/core/src/tools/impl/WebFetchTool.d.ts.map +1 -0
  415. package/dist/packages/core/src/tools/impl/WebFetchTool.js +77 -0
  416. package/dist/packages/core/src/tools/impl/WebFetchTool.js.map +1 -0
  417. package/dist/packages/core/src/tools/impl/WebSearchTool.d.ts +3 -0
  418. package/dist/packages/core/src/tools/impl/WebSearchTool.d.ts.map +1 -0
  419. package/dist/packages/core/src/tools/impl/WebSearchTool.js +67 -0
  420. package/dist/packages/core/src/tools/impl/WebSearchTool.js.map +1 -0
  421. package/dist/packages/core/src/tools/impl/WriteFileTool.d.ts +3 -0
  422. package/dist/packages/core/src/tools/impl/WriteFileTool.d.ts.map +1 -0
  423. package/dist/packages/core/src/tools/impl/WriteFileTool.js +41 -0
  424. package/dist/packages/core/src/tools/impl/WriteFileTool.js.map +1 -0
  425. package/dist/packages/core/src/tools/impl/index.d.ts +14 -0
  426. package/dist/packages/core/src/tools/impl/index.d.ts.map +1 -0
  427. package/dist/packages/core/src/tools/impl/index.js +21 -0
  428. package/dist/packages/core/src/tools/impl/index.js.map +1 -0
  429. package/dist/packages/core/src/tools/index.d.ts +16 -0
  430. package/dist/packages/core/src/tools/index.d.ts.map +1 -0
  431. package/dist/packages/core/src/tools/index.js +21 -0
  432. package/dist/packages/core/src/tools/index.js.map +1 -0
  433. package/dist/packages/core/src/tools/schemas/execution.d.ts +41 -0
  434. package/dist/packages/core/src/tools/schemas/execution.d.ts.map +1 -0
  435. package/dist/packages/core/src/tools/schemas/execution.js +42 -0
  436. package/dist/packages/core/src/tools/schemas/execution.js.map +1 -0
  437. package/dist/packages/core/src/tools/schemas/file.d.ts +113 -0
  438. package/dist/packages/core/src/tools/schemas/file.d.ts.map +1 -0
  439. package/dist/packages/core/src/tools/schemas/file.js +116 -0
  440. package/dist/packages/core/src/tools/schemas/file.js.map +1 -0
  441. package/dist/packages/core/src/tools/schemas/fileProcessorSchema.d.ts +278 -0
  442. package/dist/packages/core/src/tools/schemas/fileProcessorSchema.d.ts.map +1 -0
  443. package/dist/packages/core/src/tools/schemas/fileProcessorSchema.js +61 -0
  444. package/dist/packages/core/src/tools/schemas/fileProcessorSchema.js.map +1 -0
  445. package/dist/packages/core/src/tools/schemas/index.d.ts +8 -0
  446. package/dist/packages/core/src/tools/schemas/index.d.ts.map +1 -0
  447. package/dist/packages/core/src/tools/schemas/index.js +11 -0
  448. package/dist/packages/core/src/tools/schemas/index.js.map +1 -0
  449. package/dist/packages/core/src/tools/schemas/memory.d.ts +50 -0
  450. package/dist/packages/core/src/tools/schemas/memory.d.ts.map +1 -0
  451. package/dist/packages/core/src/tools/schemas/memory.js +51 -0
  452. package/dist/packages/core/src/tools/schemas/memory.js.map +1 -0
  453. package/dist/packages/core/src/tools/schemas/orchestration.d.ts +41 -0
  454. package/dist/packages/core/src/tools/schemas/orchestration.d.ts.map +1 -0
  455. package/dist/packages/core/src/tools/schemas/orchestration.js +44 -0
  456. package/dist/packages/core/src/tools/schemas/orchestration.js.map +1 -0
  457. package/dist/packages/core/src/tools/schemas/search.d.ts +111 -0
  458. package/dist/packages/core/src/tools/schemas/search.d.ts.map +1 -0
  459. package/dist/packages/core/src/tools/schemas/search.js +110 -0
  460. package/dist/packages/core/src/tools/schemas/search.js.map +1 -0
  461. package/dist/packages/core/src/tools/schemas/todo.d.ts +29 -0
  462. package/dist/packages/core/src/tools/schemas/todo.d.ts.map +1 -0
  463. package/dist/packages/core/src/tools/schemas/todo.js +32 -0
  464. package/dist/packages/core/src/tools/schemas/todo.js.map +1 -0
  465. package/dist/packages/core/src/tools/schemas/web.d.ts +84 -0
  466. package/dist/packages/core/src/tools/schemas/web.d.ts.map +1 -0
  467. package/dist/packages/core/src/tools/schemas/web.js +85 -0
  468. package/dist/packages/core/src/tools/schemas/web.js.map +1 -0
  469. package/dist/packages/core/src/types/config.d.ts +212 -0
  470. package/dist/packages/core/src/types/config.d.ts.map +1 -0
  471. package/dist/packages/core/src/types/config.js +5 -0
  472. package/dist/packages/core/src/types/config.js.map +1 -0
  473. package/dist/packages/core/src/types/errors.d.ts +92 -0
  474. package/dist/packages/core/src/types/errors.d.ts.map +1 -0
  475. package/dist/packages/core/src/types/errors.js +172 -0
  476. package/dist/packages/core/src/types/errors.js.map +1 -0
  477. package/dist/packages/core/src/types/index.d.ts +5 -0
  478. package/dist/packages/core/src/types/index.d.ts.map +1 -0
  479. package/dist/packages/core/src/types/index.js +8 -0
  480. package/dist/packages/core/src/types/index.js.map +1 -0
  481. package/dist/packages/core/src/types/session.d.ts +141 -0
  482. package/dist/packages/core/src/types/session.d.ts.map +1 -0
  483. package/dist/packages/core/src/types/session.js +16 -0
  484. package/dist/packages/core/src/types/session.js.map +1 -0
  485. package/dist/packages/core/src/types/tools.d.ts +126 -0
  486. package/dist/packages/core/src/types/tools.d.ts.map +1 -0
  487. package/dist/packages/core/src/types/tools.js +26 -0
  488. package/dist/packages/core/src/types/tools.js.map +1 -0
  489. package/dist/packages/core/src/utils/CheckpointManager.d.ts +100 -0
  490. package/dist/packages/core/src/utils/CheckpointManager.d.ts.map +1 -0
  491. package/dist/packages/core/src/utils/CheckpointManager.js +255 -0
  492. package/dist/packages/core/src/utils/CheckpointManager.js.map +1 -0
  493. package/dist/packages/core/src/utils/Logger.d.ts +29 -0
  494. package/dist/packages/core/src/utils/Logger.d.ts.map +1 -0
  495. package/dist/packages/core/src/utils/Logger.js +77 -0
  496. package/dist/packages/core/src/utils/Logger.js.map +1 -0
  497. package/dist/packages/core/src/utils/RetryManager.d.ts +125 -0
  498. package/dist/packages/core/src/utils/RetryManager.d.ts.map +1 -0
  499. package/dist/packages/core/src/utils/RetryManager.js +348 -0
  500. package/dist/packages/core/src/utils/RetryManager.js.map +1 -0
  501. package/dist/packages/core/src/utils/TokenCounter.d.ts +73 -0
  502. package/dist/packages/core/src/utils/TokenCounter.d.ts.map +1 -0
  503. package/dist/packages/core/src/utils/TokenCounter.js +338 -0
  504. package/dist/packages/core/src/utils/TokenCounter.js.map +1 -0
  505. package/dist/packages/core/src/utils/VectorMemoryStore.d.ts +110 -0
  506. package/dist/packages/core/src/utils/VectorMemoryStore.d.ts.map +1 -0
  507. package/dist/packages/core/src/utils/VectorMemoryStore.js +320 -0
  508. package/dist/packages/core/src/utils/VectorMemoryStore.js.map +1 -0
  509. package/dist/packages/core/src/utils/helpers.d.ts +24 -0
  510. package/dist/packages/core/src/utils/helpers.d.ts.map +1 -0
  511. package/dist/packages/core/src/utils/helpers.js +77 -0
  512. package/dist/packages/core/src/utils/helpers.js.map +1 -0
  513. package/dist/packages/core/src/utils/index.d.ts +11 -0
  514. package/dist/packages/core/src/utils/index.d.ts.map +1 -0
  515. package/dist/packages/core/src/utils/index.js +7 -0
  516. package/dist/packages/core/src/utils/index.js.map +1 -0
  517. package/dist/startup/IFlowRepl.d.ts +50 -0
  518. package/dist/startup/IFlowRepl.d.ts.map +1 -0
  519. package/dist/startup/IFlowRepl.js +178 -0
  520. package/dist/startup/IFlowRepl.js.map +1 -0
  521. package/dist/startup/InkBasedRepl.d.ts +151 -0
  522. package/dist/startup/InkBasedRepl.d.ts.map +1 -0
  523. package/dist/startup/InkBasedRepl.js +1415 -0
  524. package/dist/startup/InkBasedRepl.js.map +1 -0
  525. package/dist/startup/InteractiveRepl.d.ts +141 -0
  526. package/dist/startup/InteractiveRepl.d.ts.map +1 -0
  527. package/dist/startup/InteractiveRepl.js +2561 -0
  528. package/dist/startup/InteractiveRepl.js.map +1 -0
  529. package/dist/startup/NovaApp.d.ts +57 -0
  530. package/dist/startup/NovaApp.d.ts.map +1 -0
  531. package/dist/startup/NovaApp.js +1978 -0
  532. package/dist/startup/NovaApp.js.map +1 -0
  533. package/dist/startup/index.d.ts +5 -0
  534. package/dist/startup/index.d.ts.map +1 -0
  535. package/dist/startup/index.js +4 -0
  536. package/dist/startup/index.js.map +1 -0
  537. package/dist/startup/parseArgs.d.ts +47 -0
  538. package/dist/startup/parseArgs.d.ts.map +1 -0
  539. package/dist/startup/parseArgs.js +262 -0
  540. package/dist/startup/parseArgs.js.map +1 -0
  541. package/dist/ui/IFlowDropdown.d.ts +63 -0
  542. package/dist/ui/IFlowDropdown.d.ts.map +1 -0
  543. package/dist/ui/IFlowDropdown.js +362 -0
  544. package/dist/ui/IFlowDropdown.js.map +1 -0
  545. package/dist/ui/ModernReplUI.d.ts +55 -0
  546. package/dist/ui/ModernReplUI.d.ts.map +1 -0
  547. package/dist/ui/ModernReplUI.js +207 -0
  548. package/dist/ui/ModernReplUI.js.map +1 -0
  549. package/dist/ui/SimpleSelector2.d.ts +28 -0
  550. package/dist/ui/SimpleSelector2.d.ts.map +1 -0
  551. package/dist/ui/SimpleSelector2.js +181 -0
  552. package/dist/ui/SimpleSelector2.js.map +1 -0
  553. package/dist/ui/components/ActiveCursor.d.ts +128 -0
  554. package/dist/ui/components/ActiveCursor.d.ts.map +1 -0
  555. package/dist/ui/components/ActiveCursor.js +273 -0
  556. package/dist/ui/components/ActiveCursor.js.map +1 -0
  557. package/dist/ui/components/ConfirmDialog.d.ts +51 -0
  558. package/dist/ui/components/ConfirmDialog.d.ts.map +1 -0
  559. package/dist/ui/components/ConfirmDialog.js +147 -0
  560. package/dist/ui/components/ConfirmDialog.js.map +1 -0
  561. package/dist/ui/components/ErrorPanel.d.ts +33 -0
  562. package/dist/ui/components/ErrorPanel.d.ts.map +1 -0
  563. package/dist/ui/components/ErrorPanel.js +309 -0
  564. package/dist/ui/components/ErrorPanel.js.map +1 -0
  565. package/dist/ui/components/InkAppRunner.d.ts +18 -0
  566. package/dist/ui/components/InkAppRunner.d.ts.map +1 -0
  567. package/dist/ui/components/InkAppRunner.js +33 -0
  568. package/dist/ui/components/InkAppRunner.js.map +1 -0
  569. package/dist/ui/components/InkComponents.d.ts +126 -0
  570. package/dist/ui/components/InkComponents.d.ts.map +1 -0
  571. package/dist/ui/components/InkComponents.js +216 -0
  572. package/dist/ui/components/InkComponents.js.map +1 -0
  573. package/dist/ui/components/NovaInkApp.d.ts +11 -0
  574. package/dist/ui/components/NovaInkApp.d.ts.map +1 -0
  575. package/dist/ui/components/NovaInkApp.js +148 -0
  576. package/dist/ui/components/NovaInkApp.js.map +1 -0
  577. package/dist/ui/components/ProgressBar.d.ts +65 -0
  578. package/dist/ui/components/ProgressBar.d.ts.map +1 -0
  579. package/dist/ui/components/ProgressBar.js +135 -0
  580. package/dist/ui/components/ProgressBar.js.map +1 -0
  581. package/dist/ui/components/ProgressIndicator.d.ts +41 -0
  582. package/dist/ui/components/ProgressIndicator.d.ts.map +1 -0
  583. package/dist/ui/components/ProgressIndicator.js +235 -0
  584. package/dist/ui/components/ProgressIndicator.js.map +1 -0
  585. package/dist/ui/components/QuickActions.d.ts +36 -0
  586. package/dist/ui/components/QuickActions.d.ts.map +1 -0
  587. package/dist/ui/components/QuickActions.js +328 -0
  588. package/dist/ui/components/QuickActions.js.map +1 -0
  589. package/dist/ui/components/SimpleErrorPanel.d.ts +16 -0
  590. package/dist/ui/components/SimpleErrorPanel.d.ts.map +1 -0
  591. package/dist/ui/components/SimpleErrorPanel.js +193 -0
  592. package/dist/ui/components/SimpleErrorPanel.js.map +1 -0
  593. package/dist/ui/components/StatusBar.d.ts +30 -0
  594. package/dist/ui/components/StatusBar.d.ts.map +1 -0
  595. package/dist/ui/components/StatusBar.js +154 -0
  596. package/dist/ui/components/StatusBar.js.map +1 -0
  597. package/dist/ui/components/ThinkingBlockRenderer.d.ts +109 -0
  598. package/dist/ui/components/ThinkingBlockRenderer.d.ts.map +1 -0
  599. package/dist/ui/components/ThinkingBlockRenderer.js +335 -0
  600. package/dist/ui/components/ThinkingBlockRenderer.js.map +1 -0
  601. package/dist/ui/components/ThinkingContentDisplay.d.ts +59 -0
  602. package/dist/ui/components/ThinkingContentDisplay.d.ts.map +1 -0
  603. package/dist/ui/components/ThinkingContentDisplay.js +172 -0
  604. package/dist/ui/components/ThinkingContentDisplay.js.map +1 -0
  605. package/dist/ui/components/TodoProgressPanel.d.ts +91 -0
  606. package/dist/ui/components/TodoProgressPanel.d.ts.map +1 -0
  607. package/dist/ui/components/TodoProgressPanel.js +284 -0
  608. package/dist/ui/components/TodoProgressPanel.js.map +1 -0
  609. package/dist/ui/components/ToolCallStatusDisplay.d.ts +89 -0
  610. package/dist/ui/components/ToolCallStatusDisplay.d.ts.map +1 -0
  611. package/dist/ui/components/ToolCallStatusDisplay.js +246 -0
  612. package/dist/ui/components/ToolCallStatusDisplay.js.map +1 -0
  613. package/dist/ui/components/UserMessageHighlight.d.ts +48 -0
  614. package/dist/ui/components/UserMessageHighlight.d.ts.map +1 -0
  615. package/dist/ui/components/UserMessageHighlight.js +196 -0
  616. package/dist/ui/components/UserMessageHighlight.js.map +1 -0
  617. package/dist/ui/components/index.d.ts +17 -0
  618. package/dist/ui/components/index.d.ts.map +1 -0
  619. package/dist/ui/components/index.js +18 -0
  620. package/dist/ui/components/index.js.map +1 -0
  621. package/dist/ui/ink-prototype.d.ts +3 -0
  622. package/dist/ui/ink-prototype.d.ts.map +1 -0
  623. package/dist/ui/ink-prototype.js +160 -0
  624. package/dist/ui/ink-prototype.js.map +1 -0
  625. package/dist/utils/CliUI.d.ts +163 -0
  626. package/dist/utils/CliUI.d.ts.map +1 -0
  627. package/dist/utils/CliUI.js +292 -0
  628. package/dist/utils/CliUI.js.map +1 -0
  629. package/dist/utils/CompletionHelper.d.ts +112 -0
  630. package/dist/utils/CompletionHelper.d.ts.map +1 -0
  631. package/dist/utils/CompletionHelper.js +304 -0
  632. package/dist/utils/CompletionHelper.js.map +1 -0
  633. package/dist/utils/EnhancedCompleter.d.ts +107 -0
  634. package/dist/utils/EnhancedCompleter.d.ts.map +1 -0
  635. package/dist/utils/EnhancedCompleter.js +428 -0
  636. package/dist/utils/EnhancedCompleter.js.map +1 -0
  637. package/dist/utils/ErrorEnhancer.d.ts +103 -0
  638. package/dist/utils/ErrorEnhancer.d.ts.map +1 -0
  639. package/dist/utils/ErrorEnhancer.js +350 -0
  640. package/dist/utils/ErrorEnhancer.js.map +1 -0
  641. package/dist/utils/OutputFormatter.d.ts +65 -0
  642. package/dist/utils/OutputFormatter.d.ts.map +1 -0
  643. package/dist/utils/OutputFormatter.js +145 -0
  644. package/dist/utils/OutputFormatter.js.map +1 -0
  645. package/dist/utils/index.d.ts +5 -0
  646. package/dist/utils/index.d.ts.map +1 -0
  647. package/dist/utils/index.js +8 -0
  648. package/dist/utils/index.js.map +1 -0
  649. package/package.json +99 -0
@@ -0,0 +1,383 @@
1
+ // ============================================================================
2
+ // OpenAICompatibleProvider - Base class for all OpenAI-compatible providers
3
+ // ============================================================================
4
+ //
5
+ // This base class handles all shared logic for providers that use the OpenAI
6
+ // SDK with an OpenAI-compatible API endpoint. Subclasses only need to define:
7
+ // - Provider name
8
+ // - Constructor (how to create the OpenAI client)
9
+ // - Error handling specifics (provider name in error messages)
10
+ // ============================================================================
11
+ import OpenAI from 'openai';
12
+ import { ModelError, RateLimitError } from '../../types/errors.js';
13
+ import { createToolCallId } from '../../types/session.js';
14
+ export class OpenAICompatibleProvider {
15
+ client;
16
+ constructor(config) {
17
+ let baseURL = config.baseUrl;
18
+ if (baseURL && config.appendV1Suffix) {
19
+ baseURL = baseURL.replace(/\/+$/, '') + '/v1';
20
+ }
21
+ this.client = new OpenAI({
22
+ apiKey: config.apiKey || 'no-key-required',
23
+ baseURL,
24
+ ...(config.organizationId && { organization: config.organizationId }),
25
+ ...(config.headers && { defaultHeaders: config.headers }),
26
+ });
27
+ }
28
+ // --- Provider-specific hooks ---
29
+ /**
30
+ * Override to customize the error handling in complete()
31
+ * Subclasses should call super.handleError(err, operation) after wrapping the error.
32
+ */
33
+ handleError(err, operation) {
34
+ if (err instanceof OpenAI.APIError) {
35
+ if (err.status === 429) {
36
+ const retryAfter = parseInt(err.headers?.['retry-after'] || '60', 10) * 1000;
37
+ throw new RateLimitError(err.message, retryAfter, this.name);
38
+ }
39
+ throw new ModelError(err.message, err.status, this.name, err);
40
+ }
41
+ throw new ModelError(`${this.name} ${operation} failed: ${err.message}`, undefined, this.name, { originalError: err });
42
+ }
43
+ /** Override to customize the error handling in stream() */
44
+ handleStreamError(err) {
45
+ if (err instanceof OpenAI.APIError) {
46
+ return { type: 'error', error: new ModelError(err.message, err.status, this.name, err) };
47
+ }
48
+ return {
49
+ type: 'error',
50
+ error: new ModelError(`${this.name} stream failed: ${err.message}`, undefined, this.name, { originalError: err }),
51
+ };
52
+ }
53
+ /**
54
+ * Hook to filter or disable tools before sending to the API.
55
+ * Override in subclasses to conditionally disable tools (e.g., for models that don't support them).
56
+ * Default implementation passes tools through unchanged.
57
+ * @param tools - The tool definitions to filter
58
+ * @param modelId - The model ID being called (useful for per-model decisions)
59
+ */
60
+ filterTools(tools, modelId) {
61
+ return tools;
62
+ }
63
+ // --- Shared implementations ---
64
+ async complete(messages, options) {
65
+ try {
66
+ const openaiMessages = this.convertMessages(messages, options.systemPrompt);
67
+ const tools = this.filterTools(options.tools, options.model);
68
+ const openaiTools = this.convertTools(tools);
69
+ const params = {
70
+ model: options.model,
71
+ max_tokens: options.maxTokens,
72
+ messages: openaiMessages,
73
+ temperature: options.temperature,
74
+ ...(openaiTools.length > 0 && { tools: openaiTools }),
75
+ ...(options.stopSequences && options.stopSequences.length > 0 && { stop: options.stopSequences }),
76
+ };
77
+ const response = await this.client.chat.completions.create(params);
78
+ const choice = response.choices[0];
79
+ let content = this.convertResponseContent(choice);
80
+ const usage = this.convertUsage(response.usage);
81
+ // Check for text-based tool calls (some providers like deepseek output them as XML text)
82
+ const textContent = content
83
+ .filter((c) => c.type === 'text')
84
+ .map(c => c.text)
85
+ .join('');
86
+ if (textContent.includes('<function_calls>') && textContent.includes('</function_calls>')) {
87
+ const callsBlock = textContent.substring(textContent.indexOf('<function_calls>'), textContent.indexOf('</function_calls>') + '</function_calls>'.length);
88
+ const parsed = this.parseTextToolCalls(callsBlock, tools);
89
+ if (parsed.length > 0) {
90
+ // Remove the text-based tool call XML from text content
91
+ const cleanText = textContent
92
+ .replace(/<function_calls>[\s\S]*?<\/function_calls>/g, '')
93
+ .trim();
94
+ content = content.filter(c => c.type !== 'text');
95
+ if (cleanText) {
96
+ content.push({ type: 'text', text: cleanText });
97
+ }
98
+ // Add parsed tool calls
99
+ for (const call of parsed) {
100
+ content.push({ type: 'tool_use', id: call.id, name: call.name, input: call.input });
101
+ }
102
+ }
103
+ }
104
+ // Detect tool_use from content blocks to ensure correct loop continuation.
105
+ const hasToolCalls = content.some((c) => c.type === 'tool_use');
106
+ const stopReason = hasToolCalls ? 'tool_use' : this.convertStopReason(choice.finish_reason);
107
+ return {
108
+ content,
109
+ model: response.model,
110
+ stopReason,
111
+ usage,
112
+ sessionId: options.sessionId,
113
+ };
114
+ }
115
+ catch (err) {
116
+ this.handleError(err, 'complete');
117
+ }
118
+ }
119
+ async *stream(messages, options) {
120
+ try {
121
+ const openaiMessages = this.convertMessages(messages, options.systemPrompt);
122
+ const tools = this.filterTools(options.tools, options.model);
123
+ const openaiTools = this.convertTools(tools);
124
+ const params = {
125
+ model: options.model,
126
+ max_tokens: options.maxTokens,
127
+ messages: openaiMessages,
128
+ temperature: options.temperature,
129
+ ...(openaiTools.length > 0 && { tools: openaiTools }),
130
+ stream: true,
131
+ };
132
+ const stream = await this.client.chat.completions.create(params);
133
+ let currentToolCallId = '';
134
+ let currentToolName = '';
135
+ const standardToolCallIds = new Set();
136
+ let fullTextBuffer = '';
137
+ let messageCompleted = false;
138
+ for await (const chunk of stream) {
139
+ const delta = chunk.choices[0]?.delta;
140
+ if (!delta)
141
+ continue;
142
+ if (delta.content) {
143
+ fullTextBuffer += delta.content;
144
+ yield { type: 'text_delta', delta: delta.content };
145
+ }
146
+ if (delta.tool_calls) {
147
+ for (const tc of delta.tool_calls) {
148
+ if (tc.id) {
149
+ currentToolCallId = tc.id;
150
+ currentToolName = tc.function?.name || '';
151
+ standardToolCallIds.add(tc.id);
152
+ yield { type: 'tool_call_start', toolCallId: tc.id, toolName: currentToolName };
153
+ }
154
+ if (tc.function?.arguments) {
155
+ yield {
156
+ type: 'tool_call_delta',
157
+ toolCallId: tc.id || currentToolCallId,
158
+ delta: tc.function.arguments,
159
+ };
160
+ }
161
+ }
162
+ }
163
+ if (chunk.choices[0]?.finish_reason) {
164
+ const usage = {
165
+ inputTokens: chunk.usage?.prompt_tokens ?? 0,
166
+ outputTokens: chunk.usage?.completion_tokens ?? 0,
167
+ };
168
+ // Check for text-based tool calls (e.g. deepseek XML format)
169
+ let hasTextToolCalls = false;
170
+ const hasFuncOpen = fullTextBuffer.includes('<function_calls>');
171
+ const hasFuncClose = fullTextBuffer.includes('</function_calls>');
172
+ // Debug - Commented out to reduce visual clutter
173
+ // process.stdout.write(`\n[PROVIDER-DEBUG] finish_reason="${chunk.choices[0].finish_reason}", standardCalls=${standardToolCallIds.size}, textLen=${fullTextBuffer.length}, hasOpen=${hasFuncOpen}, hasClose=${hasFuncClose}, textPreview="${fullTextBuffer.slice(-200)}"\n`);
174
+ if (hasFuncOpen && hasFuncClose) {
175
+ const callsBlock = fullTextBuffer.substring(fullTextBuffer.indexOf('<function_calls>'), fullTextBuffer.indexOf('</function_calls>') + '</function_calls>'.length);
176
+ const parsed = this.parseTextToolCalls(callsBlock, tools);
177
+ if (parsed.length > 0) {
178
+ hasTextToolCalls = true;
179
+ for (const call of parsed) {
180
+ yield { type: 'tool_call_start', toolCallId: call.id, toolName: call.name };
181
+ yield { type: 'tool_call_delta', toolCallId: call.id, delta: JSON.stringify(call.input) };
182
+ }
183
+ }
184
+ }
185
+ const hasToolCalls = standardToolCallIds.size > 0 || hasTextToolCalls;
186
+ const stopReason = hasToolCalls ? 'tool_use' : this.convertStopReason(chunk.choices[0].finish_reason);
187
+ yield {
188
+ type: 'message_complete',
189
+ stopReason,
190
+ usage,
191
+ };
192
+ messageCompleted = true;
193
+ }
194
+ }
195
+ // Fallback: some providers (e.g. deepseek) end the stream without a finish_reason chunk.
196
+ // If message_complete was not emitted, check for text-based tool calls now.
197
+ if (!messageCompleted) {
198
+ const hasOpen = fullTextBuffer.includes('<function_calls>');
199
+ const hasClose = fullTextBuffer.includes('</function_calls>');
200
+ process.stdout.write(`\n[STREAM-FALLBACK] messageCompleted=false, textLen=${fullTextBuffer.length}, hasOpen=${hasOpen}, hasClose=${hasClose}\n`);
201
+ process.stdout.write(`[STREAM-FALLBACK] textBuffer preview: ${fullTextBuffer.slice(0, 300)}\n`);
202
+ if (hasOpen && hasClose) {
203
+ const callsBlock = fullTextBuffer.substring(fullTextBuffer.indexOf('<function_calls>'), fullTextBuffer.indexOf('</function_calls>') + '</function_calls>'.length);
204
+ const parsed = this.parseTextToolCalls(callsBlock, tools);
205
+ if (parsed.length > 0) {
206
+ for (const call of parsed) {
207
+ yield { type: 'tool_call_start', toolCallId: call.id, toolName: call.name };
208
+ yield { type: 'tool_call_delta', toolCallId: call.id, delta: JSON.stringify(call.input) };
209
+ }
210
+ yield {
211
+ type: 'message_complete',
212
+ stopReason: 'tool_use',
213
+ usage: { inputTokens: 0, outputTokens: 0 },
214
+ };
215
+ }
216
+ }
217
+ }
218
+ }
219
+ catch (err) {
220
+ yield this.handleStreamError(err);
221
+ }
222
+ }
223
+ /**
224
+ * Parse text-based tool calls in XML format (used by some providers like deepseek).
225
+ * Expected format: <function_calls><invoke name="tool_name"><parameter name="key">value</parameter>...</invoke></function_calls>
226
+ */
227
+ parseTextToolCalls(xmlBlock, tools) {
228
+ const results = [];
229
+ // Match each <invoke name="...">...</invoke> block
230
+ const invokeRegex = /<invoke\s+name=["']([^"']+)["']\s*>(.*?)<\/invoke>/gs;
231
+ let match;
232
+ while ((match = invokeRegex.exec(xmlBlock)) !== null) {
233
+ const toolName = match[1];
234
+ const paramsXml = match[2];
235
+ // Parse parameters from <parameter name="key">value</parameter>
236
+ const params = {};
237
+ const paramRegex = /<parameter\s+name=["']([^"']+)["']\s*>(.*?)<\/parameter>/gs;
238
+ let paramMatch;
239
+ while ((paramMatch = paramRegex.exec(paramsXml)) !== null) {
240
+ const paramName = paramMatch[1];
241
+ const paramValue = paramMatch[2].trim();
242
+ // Try to parse the value as JSON, otherwise keep as string
243
+ try {
244
+ params[paramName] = JSON.parse(paramValue);
245
+ }
246
+ catch {
247
+ params[paramName] = paramValue;
248
+ }
249
+ }
250
+ results.push({
251
+ id: createToolCallId(`text_tool_${Date.now()}_${Math.random()}`),
252
+ name: toolName,
253
+ input: params,
254
+ });
255
+ }
256
+ return results;
257
+ }
258
+ async countTokens(messages) {
259
+ const text = messages
260
+ .map((m) => m.content
261
+ .filter((c) => c.type === 'text')
262
+ .map((c) => c.text)
263
+ .join(' '))
264
+ .join(' ');
265
+ return Math.ceil(text.length / 4);
266
+ }
267
+ // --- Conversion helpers (shared by all OpenAI-compatible providers) ---
268
+ convertMessages(messages, systemPrompt) {
269
+ const result = [];
270
+ if (systemPrompt) {
271
+ result.push({ role: 'system', content: systemPrompt });
272
+ }
273
+ for (const msg of messages) {
274
+ if (msg.role === 'system') {
275
+ result.push({ role: 'system', content: msg.content.map((c) => c.type === 'text' ? c.text : '').join('') });
276
+ continue;
277
+ }
278
+ if (msg.role === 'tool') {
279
+ const toolResults = msg.content
280
+ .filter((c) => c.type === 'tool_result')
281
+ .map((c) => ({
282
+ role: 'tool',
283
+ tool_call_id: c.tool_use_id,
284
+ content: typeof c.content === 'string' ? c.content : c.content.map((cc) => 'text' in cc ? cc.text : '').join(''),
285
+ }));
286
+ result.push(...toolResults);
287
+ continue;
288
+ }
289
+ // user or assistant
290
+ const textContent = msg.content
291
+ .filter((c) => c.type === 'text')
292
+ .map((c) => c.text)
293
+ .join('');
294
+ const toolCalls = msg.content
295
+ .filter((c) => c.type === 'tool_use')
296
+ .map((c) => ({
297
+ id: c.id,
298
+ type: 'function',
299
+ function: { name: c.name, arguments: JSON.stringify(c.input) },
300
+ }));
301
+ if (msg.role === 'assistant') {
302
+ const param = {
303
+ role: 'assistant',
304
+ content: textContent || null,
305
+ ...(toolCalls.length > 0 && { tool_calls: toolCalls }),
306
+ };
307
+ result.push(param);
308
+ }
309
+ else {
310
+ result.push({ role: 'user', content: textContent });
311
+ }
312
+ }
313
+ return result;
314
+ }
315
+ convertTools(tools) {
316
+ return tools.map((t) => ({
317
+ type: 'function',
318
+ function: {
319
+ name: t.name,
320
+ description: t.description,
321
+ parameters: t.inputSchema,
322
+ },
323
+ }));
324
+ }
325
+ convertResponseContent(choice) {
326
+ const content = [];
327
+ if (choice.message.content) {
328
+ content.push({ type: 'text', text: choice.message.content });
329
+ }
330
+ if (choice.message.tool_calls) {
331
+ for (const tc of choice.message.tool_calls) {
332
+ let input;
333
+ try {
334
+ input = JSON.parse(tc.function.arguments);
335
+ }
336
+ catch {
337
+ input = { raw: tc.function.arguments };
338
+ }
339
+ content.push({
340
+ type: 'tool_use',
341
+ id: createToolCallId(tc.id),
342
+ name: tc.function.name,
343
+ input,
344
+ });
345
+ }
346
+ }
347
+ return content;
348
+ }
349
+ convertUsage(usage) {
350
+ return {
351
+ inputTokens: usage?.prompt_tokens ?? 0,
352
+ outputTokens: usage?.completion_tokens ?? 0,
353
+ };
354
+ }
355
+ convertStopReason(reason) {
356
+ switch (reason) {
357
+ case 'stop': return 'end_turn';
358
+ case 'tool_calls': return 'tool_use';
359
+ case 'length': return 'max_tokens';
360
+ case 'content_filter': return 'end_turn';
361
+ default: return 'end_turn';
362
+ }
363
+ }
364
+ /**
365
+ * List available models from the API.
366
+ * Returns model IDs that can be used with this provider.
367
+ */
368
+ async listModels() {
369
+ try {
370
+ const response = await this.client.models.list();
371
+ const models = [];
372
+ for await (const model of response) {
373
+ models.push(model.id);
374
+ }
375
+ return models.sort();
376
+ }
377
+ catch {
378
+ // If the API doesn't support /models endpoint, return empty array
379
+ return [];
380
+ }
381
+ }
382
+ }
383
+ //# sourceMappingURL=OpenAICompatibleProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAICompatibleProvider.js","sourceRoot":"","sources":["../../../../../../../core/src/model/providers/OpenAICompatibleProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { OpenAICompatibleProvider } from './OpenAICompatibleProvider.js';
2
+ export interface OpenAIProviderConfig {
3
+ apiKey: string;
4
+ baseUrl?: string;
5
+ organizationId?: string;
6
+ model: string;
7
+ }
8
+ export declare class OpenAIProvider extends OpenAICompatibleProvider {
9
+ readonly name = "OpenAI";
10
+ constructor(config: OpenAIProviderConfig);
11
+ }
12
+ //# sourceMappingURL=OpenAIProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAIProvider.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/model/providers/OpenAIProvider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAe,SAAQ,wBAAwB;IAC1D,QAAQ,CAAC,IAAI,YAAY;gBAEb,MAAM,EAAE,oBAAoB;CAQzC"}
@@ -0,0 +1,19 @@
1
+ // ============================================================================
2
+ // OpenAI Provider - GPT API integration
3
+ // ============================================================================
4
+ // Refactored: now extends OpenAICompatibleProvider base class.
5
+ // Only provider-specific logic remains (constructor, error hints).
6
+ // ============================================================================
7
+ import { OpenAICompatibleProvider } from './OpenAICompatibleProvider.js';
8
+ export class OpenAIProvider extends OpenAICompatibleProvider {
9
+ name = 'OpenAI';
10
+ constructor(config) {
11
+ super({
12
+ apiKey: config.apiKey,
13
+ baseUrl: config.baseUrl,
14
+ model: config.model,
15
+ organizationId: config.organizationId,
16
+ });
17
+ }
18
+ }
19
+ //# sourceMappingURL=OpenAIProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAIProvider.js","sourceRoot":"","sources":["../../../../../../../core/src/model/providers/OpenAIProvider.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wCAAwC;AACxC,+EAA+E;AAC/E,+DAA+D;AAC/D,mEAAmE;AACnE,+EAA+E;AAG/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AASzE,MAAM,OAAO,cAAe,SAAQ,wBAAwB;IACjD,IAAI,GAAG,QAAQ,CAAC;IAEzB,YAAY,MAA4B;QACtC,KAAK,CAAC;YACJ,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ export { AnthropicProvider } from './AnthropicProvider.js';
2
+ export type { AnthropicProviderConfig } from './AnthropicProvider.js';
3
+ export { OpenAICompatibleProvider } from './OpenAICompatibleProvider.js';
4
+ export type { OpenAICompatibleConfig } from './OpenAICompatibleProvider.js';
5
+ export { OpenAIProvider } from './OpenAIProvider.js';
6
+ export type { OpenAIProviderConfig } from './OpenAIProvider.js';
7
+ export { OllamaProvider } from './OllamaProvider.js';
8
+ export type { OllamaProviderConfig } from './OllamaProvider.js';
9
+ export { OllamaCloudProvider } from './OllamaCloudProvider.js';
10
+ export type { OllamaCloudConfig } from './OllamaCloudProvider.js';
11
+ export { OllamaManager } from './OllamaManager.js';
12
+ export type { OllamaModel, OllamaPullProgress, OllamaModelInfo } from './OllamaManager.js';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/model/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { AnthropicProvider } from './AnthropicProvider.js';
2
+ export { OpenAICompatibleProvider } from './OpenAICompatibleProvider.js';
3
+ export { OpenAIProvider } from './OpenAIProvider.js';
4
+ export { OllamaProvider } from './OllamaProvider.js';
5
+ export { OllamaCloudProvider } from './OllamaCloudProvider.js';
6
+ export { OllamaManager } from './OllamaManager.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../core/src/model/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,81 @@
1
+ import type { Message, ContentBlock, ToolUseContent, TextContent, SessionId } from '../types/session.js';
2
+ import type { ToolDefinition } from '../types/tools.js';
3
+ /** Options for a model completion request */
4
+ export interface ModelRequestOptions {
5
+ model: string;
6
+ maxTokens: number;
7
+ temperature: number;
8
+ tools: ToolDefinition[];
9
+ sessionId: SessionId;
10
+ stopSequences?: string[];
11
+ systemPrompt?: string;
12
+ /** Control thinking mode: enabled|disabled|auto */
13
+ thinking?: string;
14
+ }
15
+ /** Response from a model completion request */
16
+ export interface ModelResponse {
17
+ /** The assistant's message content blocks */
18
+ content: ContentBlock[];
19
+ /** The model that generated the response */
20
+ model: string;
21
+ /** Stop reason */
22
+ stopReason: 'end_turn' | 'tool_use' | 'max_tokens' | 'stop_sequence';
23
+ /** Token usage */
24
+ usage: TokenUsage;
25
+ /** The full session ID */
26
+ sessionId: SessionId;
27
+ }
28
+ /** Token usage information */
29
+ export interface TokenUsage {
30
+ inputTokens: number;
31
+ outputTokens: number;
32
+ cacheReadTokens?: number;
33
+ cacheWriteTokens?: number;
34
+ }
35
+ /** Streaming event types */
36
+ export type StreamEvent = {
37
+ type: 'text_delta';
38
+ delta: string;
39
+ } | {
40
+ type: 'thinking_delta';
41
+ delta: string;
42
+ } | {
43
+ type: 'tool_call_start';
44
+ toolCallId: string;
45
+ toolName: string;
46
+ } | {
47
+ type: 'tool_call_delta';
48
+ toolCallId: string;
49
+ delta: string;
50
+ } | {
51
+ type: 'tool_call_complete';
52
+ toolCallId: string;
53
+ toolName: string;
54
+ input: Record<string, unknown>;
55
+ } | {
56
+ type: 'message_start';
57
+ model: string;
58
+ } | {
59
+ type: 'message_complete';
60
+ stopReason: ModelResponse['stopReason'];
61
+ usage: TokenUsage;
62
+ } | {
63
+ type: 'error';
64
+ error: unknown;
65
+ };
66
+ /** Interface that all model providers must implement */
67
+ export interface ModelProvider {
68
+ /** Provider display name */
69
+ readonly name: string;
70
+ /** Non-streaming completion */
71
+ complete(messages: Message[], options: ModelRequestOptions): Promise<ModelResponse>;
72
+ /** Streaming completion */
73
+ stream(messages: Message[], options: ModelRequestOptions): AsyncGenerator<StreamEvent>;
74
+ /** Token counting (approximate) */
75
+ countTokens(messages: Message[]): Promise<number>;
76
+ }
77
+ /** Helper to create a text content block */
78
+ export declare function textContent(text: string): TextContent;
79
+ /** Helper to create a tool use content block */
80
+ export declare function toolUseContent(id: string, name: string, input: Record<string, unknown>): ToolUseContent;
81
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../core/src/model/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ // ============================================================================
2
+ // Model Types - Shared types for model providers
3
+ // ============================================================================
4
+ /** Helper to create a text content block */
5
+ export function textContent(text) {
6
+ return { type: 'text', text };
7
+ }
8
+ /** Helper to create a tool use content block */
9
+ export function toolUseContent(id, name, input) {
10
+ return { type: 'tool_use', id: id, name, input };
11
+ }
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../core/src/model/types.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,iDAAiD;AACjD,+EAA+E;AAkE/E,4CAA4C;AAC5C,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,IAAY,EAAE,KAA8B;IACrF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACjE,CAAC"}
@@ -0,0 +1,56 @@
1
+ import type { ApprovalRequest, ApprovalResponse, ApprovalMode } from '../types/session.js';
2
+ import type { ToolDefinition } from '../types/tools.js';
3
+ export interface ApprovalManagerOptions {
4
+ /** Default approval mode */
5
+ defaultMode: ApprovalMode;
6
+ /** Auto-approve tools with 'low' risk */
7
+ autoApproveLowRisk?: boolean;
8
+ /** Always require approval for these tool names */
9
+ alwaysRequireApproval?: string[];
10
+ /** Never require approval for these tool names */
11
+ neverRequireApproval?: string[];
12
+ /** Custom approval rules */
13
+ rules?: ApprovalRule[];
14
+ }
15
+ export interface ApprovalRule {
16
+ /** Tool name pattern (glob) */
17
+ toolPattern: string;
18
+ /** Input field conditions */
19
+ conditions?: Record<string, (value: unknown) => boolean>;
20
+ /** Override approval requirement */
21
+ requireApproval: boolean;
22
+ /** Override risk level */
23
+ riskOverride?: 'low' | 'medium' | 'high' | 'critical';
24
+ }
25
+ export interface ApprovalHandler {
26
+ (request: ApprovalRequest): Promise<ApprovalResponse>;
27
+ }
28
+ export declare class ApprovalManager {
29
+ private mode;
30
+ private autoApproveLowRisk;
31
+ private alwaysRequireApproval;
32
+ private neverRequireApproval;
33
+ private rules;
34
+ private pendingRequests;
35
+ private handler;
36
+ constructor(options: ApprovalManagerOptions);
37
+ /** Set the approval handler (UI callback) */
38
+ setHandler(handler: ApprovalHandler): void;
39
+ /** Update the approval mode */
40
+ setMode(mode: ApprovalMode): void;
41
+ /** Get the current approval mode */
42
+ getMode(): ApprovalMode;
43
+ /** Check if a tool call requires approval */
44
+ requiresApproval(toolName: string, toolInput: Record<string, unknown>, toolDefinition?: ToolDefinition): boolean;
45
+ /** Get the effective risk level for a tool call */
46
+ getRiskLevel(toolName: string, toolInput: Record<string, unknown>, toolDefinition?: ToolDefinition): 'low' | 'medium' | 'high' | 'critical';
47
+ /** Request user approval for a tool call */
48
+ requestApproval(request: ApprovalRequest): Promise<ApprovalResponse>;
49
+ /** Get pending approval requests */
50
+ getPendingRequests(): ApprovalRequest[];
51
+ /** Cancel a pending request */
52
+ cancelRequest(requestId: string): void;
53
+ /** Simple glob pattern matching */
54
+ private matchPattern;
55
+ }
56
+ //# sourceMappingURL=ApprovalManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApprovalManager.d.ts","sourceRoot":"","sources":["../../../../../../core/src/security/ApprovalManager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,WAAW,sBAAsB;IACrC,4BAA4B;IAC5B,WAAW,EAAE,YAAY,CAAC;IAC1B,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mDAAmD;IACnD,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,4BAA4B;IAC5B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC;IACzD,oCAAoC;IACpC,eAAe,EAAE,OAAO,CAAC;IACzB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACvD;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,qBAAqB,CAAc;IAC3C,OAAO,CAAC,oBAAoB,CAAc;IAC1C,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,OAAO,CAAgC;gBAEnC,OAAO,EAAE,sBAAsB;IAQ3C,6CAA6C;IAC7C,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI1C,+BAA+B;IAC/B,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAIjC,oCAAoC;IACpC,OAAO,IAAI,YAAY;IAIvB,6CAA6C;IAC7C,gBAAgB,CACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO;IA2CV,mDAAmD;IACnD,YAAY,CACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,cAAc,CAAC,EAAE,cAAc,GAC9B,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU;IAWzC,4CAA4C;IACtC,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsB1E,oCAAoC;IACpC,kBAAkB,IAAI,eAAe,EAAE;IAIvC,+BAA+B;IAC/B,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAItC,mCAAmC;IACnC,OAAO,CAAC,YAAY;CAOrB"}