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,1197 @@
1
+ // ============================================================================
2
+ // ConfigManager - Loads and manages application configuration
3
+ // ============================================================================
4
+ import fs from 'node:fs/promises';
5
+ import path from 'node:path';
6
+ import os from 'node:os';
7
+ import { ConfigError } from '../types/errors.js';
8
+ const DEFAULT_CONFIG = {
9
+ core: {
10
+ defaultModel: 'glm-5',
11
+ defaultApprovalMode: 'default',
12
+ maxTurns: 100,
13
+ maxTokens: 8192,
14
+ temperature: 0.7,
15
+ contextWindowTarget: 128000,
16
+ streaming: true,
17
+ logLevel: 'info',
18
+ timeout: 300000,
19
+ },
20
+ models: {
21
+ providers: {
22
+ anthropic: {
23
+ type: 'anthropic',
24
+ models: {
25
+ // Claude 4 Series
26
+ 'claude-sonnet-4-20250514': {
27
+ name: 'Claude Sonnet 4',
28
+ maxContextTokens: 200000,
29
+ maxOutputTokens: 64000,
30
+ supportsVision: true,
31
+ supportsTools: true,
32
+ supportsStreaming: true,
33
+ supportsThinking: true,
34
+ inputCostPerMToken: 3,
35
+ outputCostPerMToken: 15,
36
+ },
37
+ 'claude-opus-4-20250514': {
38
+ name: 'Claude Opus 4',
39
+ maxContextTokens: 200000,
40
+ maxOutputTokens: 32000,
41
+ supportsVision: true,
42
+ supportsTools: true,
43
+ supportsStreaming: true,
44
+ supportsThinking: true,
45
+ inputCostPerMToken: 15,
46
+ outputCostPerMToken: 75,
47
+ },
48
+ // Claude 3.5 Series
49
+ 'claude-3-5-sonnet-20241022': {
50
+ name: 'Claude 3.5 Sonnet',
51
+ maxContextTokens: 200000,
52
+ maxOutputTokens: 8192,
53
+ supportsVision: true,
54
+ supportsTools: true,
55
+ supportsStreaming: true,
56
+ supportsThinking: false,
57
+ inputCostPerMToken: 3,
58
+ outputCostPerMToken: 15,
59
+ },
60
+ 'claude-3-5-sonnet-20240620': {
61
+ name: 'Claude 3.5 Sonnet (Jun 2024)',
62
+ maxContextTokens: 200000,
63
+ maxOutputTokens: 8192,
64
+ supportsVision: true,
65
+ supportsTools: true,
66
+ supportsStreaming: true,
67
+ supportsThinking: false,
68
+ inputCostPerMToken: 3,
69
+ outputCostPerMToken: 15,
70
+ },
71
+ 'claude-3-5-haiku-20241022': {
72
+ name: 'Claude 3.5 Haiku',
73
+ maxContextTokens: 200000,
74
+ maxOutputTokens: 8192,
75
+ supportsVision: true,
76
+ supportsTools: true,
77
+ supportsStreaming: true,
78
+ supportsThinking: false,
79
+ inputCostPerMToken: 1,
80
+ outputCostPerMToken: 5,
81
+ },
82
+ // Claude 3 Series
83
+ 'claude-3-opus-20240229': {
84
+ name: 'Claude 3 Opus',
85
+ maxContextTokens: 200000,
86
+ maxOutputTokens: 4096,
87
+ supportsVision: true,
88
+ supportsTools: true,
89
+ supportsStreaming: true,
90
+ supportsThinking: false,
91
+ inputCostPerMToken: 15,
92
+ outputCostPerMToken: 75,
93
+ },
94
+ 'claude-3-sonnet-20240229': {
95
+ name: 'Claude 3 Sonnet',
96
+ maxContextTokens: 200000,
97
+ maxOutputTokens: 4096,
98
+ supportsVision: true,
99
+ supportsTools: true,
100
+ supportsStreaming: true,
101
+ supportsThinking: false,
102
+ inputCostPerMToken: 3,
103
+ outputCostPerMToken: 15,
104
+ },
105
+ 'claude-3-haiku-20240307': {
106
+ name: 'Claude 3 Haiku',
107
+ maxContextTokens: 200000,
108
+ maxOutputTokens: 4096,
109
+ supportsVision: true,
110
+ supportsTools: true,
111
+ supportsStreaming: true,
112
+ supportsThinking: false,
113
+ inputCostPerMToken: 0.25,
114
+ outputCostPerMToken: 1.25,
115
+ },
116
+ },
117
+ defaultModel: 'claude-3-5-sonnet-20241022',
118
+ },
119
+ openai: {
120
+ type: 'openai',
121
+ models: {
122
+ // GPT-4o Series
123
+ 'gpt-4o': {
124
+ name: 'GPT-4o',
125
+ maxContextTokens: 128000,
126
+ maxOutputTokens: 16384,
127
+ supportsVision: true,
128
+ supportsTools: true,
129
+ supportsStreaming: true,
130
+ supportsThinking: false,
131
+ inputCostPerMToken: 2.5,
132
+ outputCostPerMToken: 10,
133
+ },
134
+ 'gpt-4o-2024-11-20': {
135
+ name: 'GPT-4o (Nov 2024)',
136
+ maxContextTokens: 128000,
137
+ maxOutputTokens: 16384,
138
+ supportsVision: true,
139
+ supportsTools: true,
140
+ supportsStreaming: true,
141
+ supportsThinking: false,
142
+ inputCostPerMToken: 2.5,
143
+ outputCostPerMToken: 10,
144
+ },
145
+ 'gpt-4o-mini': {
146
+ name: 'GPT-4o Mini',
147
+ maxContextTokens: 128000,
148
+ maxOutputTokens: 16384,
149
+ supportsVision: true,
150
+ supportsTools: true,
151
+ supportsStreaming: true,
152
+ supportsThinking: false,
153
+ inputCostPerMToken: 0.15,
154
+ outputCostPerMToken: 0.6,
155
+ },
156
+ // o1 Series (reasoning)
157
+ 'o1': {
158
+ name: 'o1',
159
+ maxContextTokens: 200000,
160
+ maxOutputTokens: 100000,
161
+ supportsVision: true,
162
+ supportsTools: false,
163
+ supportsStreaming: false,
164
+ supportsThinking: true,
165
+ inputCostPerMToken: 15,
166
+ outputCostPerMToken: 60,
167
+ },
168
+ 'o1-mini': {
169
+ name: 'o1-mini',
170
+ maxContextTokens: 128000,
171
+ maxOutputTokens: 65536,
172
+ supportsVision: false,
173
+ supportsTools: false,
174
+ supportsStreaming: false,
175
+ supportsThinking: true,
176
+ inputCostPerMToken: 1.1,
177
+ outputCostPerMToken: 4.4,
178
+ },
179
+ 'o3-mini': {
180
+ name: 'o3-mini',
181
+ maxContextTokens: 200000,
182
+ maxOutputTokens: 100000,
183
+ supportsVision: false,
184
+ supportsTools: false,
185
+ supportsStreaming: true,
186
+ supportsThinking: true,
187
+ inputCostPerMToken: 1.1,
188
+ outputCostPerMToken: 4.4,
189
+ },
190
+ // GPT-4 Turbo
191
+ 'gpt-4-turbo': {
192
+ name: 'GPT-4 Turbo',
193
+ maxContextTokens: 128000,
194
+ maxOutputTokens: 4096,
195
+ supportsVision: true,
196
+ supportsTools: true,
197
+ supportsStreaming: true,
198
+ supportsThinking: false,
199
+ inputCostPerMToken: 10,
200
+ outputCostPerMToken: 30,
201
+ },
202
+ },
203
+ defaultModel: 'gpt-4o',
204
+ },
205
+ google: {
206
+ type: 'custom',
207
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta/openai',
208
+ models: {
209
+ 'gemini-2.0-flash': {
210
+ name: 'Gemini 2.0 Flash',
211
+ maxContextTokens: 1048576,
212
+ maxOutputTokens: 8192,
213
+ supportsVision: true,
214
+ supportsTools: true,
215
+ supportsStreaming: true,
216
+ supportsThinking: false,
217
+ inputCostPerMToken: 0.1,
218
+ outputCostPerMToken: 0.4,
219
+ },
220
+ 'gemini-2.0-flash-lite': {
221
+ name: 'Gemini 2.0 Flash Lite',
222
+ maxContextTokens: 1048576,
223
+ maxOutputTokens: 8192,
224
+ supportsVision: true,
225
+ supportsTools: true,
226
+ supportsStreaming: true,
227
+ supportsThinking: false,
228
+ inputCostPerMToken: 0.05,
229
+ outputCostPerMToken: 0.15,
230
+ },
231
+ 'gemini-2.5-pro-preview-05-06': {
232
+ name: 'Gemini 2.5 Pro Preview',
233
+ maxContextTokens: 1048576,
234
+ maxOutputTokens: 65536,
235
+ supportsVision: true,
236
+ supportsTools: true,
237
+ supportsStreaming: true,
238
+ supportsThinking: true,
239
+ inputCostPerMToken: 1.25,
240
+ outputCostPerMToken: 10,
241
+ },
242
+ 'gemini-2.5-flash-preview-05-20': {
243
+ name: 'Gemini 2.5 Flash Preview',
244
+ maxContextTokens: 1048576,
245
+ maxOutputTokens: 65536,
246
+ supportsVision: true,
247
+ supportsTools: true,
248
+ supportsStreaming: true,
249
+ supportsThinking: true,
250
+ inputCostPerMToken: 0.15,
251
+ outputCostPerMToken: 0.6,
252
+ },
253
+ },
254
+ defaultModel: 'gemini-2.0-flash',
255
+ },
256
+ deepseek: {
257
+ type: 'custom',
258
+ baseUrl: 'https://api.deepseek.com',
259
+ models: {
260
+ 'deepseek-chat': {
261
+ name: 'DeepSeek V3',
262
+ maxContextTokens: 65536,
263
+ maxOutputTokens: 8192,
264
+ supportsVision: false,
265
+ supportsTools: true,
266
+ supportsStreaming: true,
267
+ supportsThinking: false,
268
+ inputCostPerMToken: 0.27,
269
+ outputCostPerMToken: 1.1,
270
+ },
271
+ 'deepseek-reasoner': {
272
+ name: 'DeepSeek R1',
273
+ maxContextTokens: 65536,
274
+ maxOutputTokens: 8192,
275
+ supportsVision: false,
276
+ supportsTools: false,
277
+ supportsStreaming: true,
278
+ supportsThinking: true,
279
+ inputCostPerMToken: 0.55,
280
+ outputCostPerMToken: 2.19,
281
+ },
282
+ },
283
+ defaultModel: 'deepseek-chat',
284
+ },
285
+ ollama: {
286
+ type: 'ollama',
287
+ baseUrl: 'http://localhost:11434',
288
+ models: {
289
+ 'llama3.1': {
290
+ name: 'Llama 3.1 8B',
291
+ maxContextTokens: 128000,
292
+ maxOutputTokens: 4096,
293
+ supportsVision: false,
294
+ supportsTools: true,
295
+ supportsStreaming: true,
296
+ supportsThinking: false,
297
+ },
298
+ 'llama3.1:70b': {
299
+ name: 'Llama 3.1 70B',
300
+ maxContextTokens: 128000,
301
+ maxOutputTokens: 4096,
302
+ supportsVision: false,
303
+ supportsTools: true,
304
+ supportsStreaming: true,
305
+ supportsThinking: false,
306
+ },
307
+ 'codellama': {
308
+ name: 'Code Llama',
309
+ maxContextTokens: 16384,
310
+ maxOutputTokens: 4096,
311
+ supportsVision: false,
312
+ supportsTools: true,
313
+ supportsStreaming: true,
314
+ supportsThinking: false,
315
+ },
316
+ 'mistral': {
317
+ name: 'Mistral 7B',
318
+ maxContextTokens: 32768,
319
+ maxOutputTokens: 4096,
320
+ supportsVision: false,
321
+ supportsTools: true,
322
+ supportsStreaming: true,
323
+ supportsThinking: false,
324
+ },
325
+ 'qwen2.5-coder': {
326
+ name: 'Qwen 2.5 Coder',
327
+ maxContextTokens: 131072,
328
+ maxOutputTokens: 8192,
329
+ supportsVision: false,
330
+ supportsTools: true,
331
+ supportsStreaming: true,
332
+ supportsThinking: false,
333
+ },
334
+ 'deepseek-coder-v2': {
335
+ name: 'DeepSeek Coder V2',
336
+ maxContextTokens: 128000,
337
+ maxOutputTokens: 4096,
338
+ supportsVision: false,
339
+ supportsTools: true,
340
+ supportsStreaming: true,
341
+ supportsThinking: false,
342
+ },
343
+ 'gemma2': {
344
+ name: 'Gemma 2 9B',
345
+ maxContextTokens: 8192,
346
+ maxOutputTokens: 4096,
347
+ supportsVision: false,
348
+ supportsTools: true,
349
+ supportsStreaming: true,
350
+ supportsThinking: false,
351
+ },
352
+ },
353
+ defaultModel: 'llama3.1',
354
+ },
355
+ // ==================== Ollama Cloud ====================
356
+ 'ollama-cloud': {
357
+ type: 'ollama-cloud',
358
+ baseUrl: 'https://ollama.com',
359
+ models: {
360
+ 'deepseek-v3.2': {
361
+ name: 'DeepSeek V3.2 (Cloud)',
362
+ maxContextTokens: 131072,
363
+ maxOutputTokens: 8192,
364
+ supportsVision: false,
365
+ supportsTools: true,
366
+ supportsStreaming: true,
367
+ supportsThinking: true,
368
+ },
369
+ 'deepseek-v3.1:671b': {
370
+ name: 'DeepSeek V3.1 671B (Cloud)',
371
+ maxContextTokens: 131072,
372
+ maxOutputTokens: 8192,
373
+ supportsVision: false,
374
+ supportsTools: true,
375
+ supportsStreaming: true,
376
+ supportsThinking: true,
377
+ },
378
+ 'kimi-k2.5': {
379
+ name: 'Kimi K2.5 (Cloud)',
380
+ maxContextTokens: 131072,
381
+ maxOutputTokens: 8192,
382
+ supportsVision: false,
383
+ supportsTools: true,
384
+ supportsStreaming: true,
385
+ supportsThinking: true,
386
+ },
387
+ 'kimi-k2:1t': {
388
+ name: 'Kimi K2 1T (Cloud)',
389
+ maxContextTokens: 131072,
390
+ maxOutputTokens: 8192,
391
+ supportsVision: false,
392
+ supportsTools: true,
393
+ supportsStreaming: true,
394
+ supportsThinking: true,
395
+ },
396
+ 'qwen3-coder:480b': {
397
+ name: 'Qwen3 Coder 480B (Cloud)',
398
+ maxContextTokens: 131072,
399
+ maxOutputTokens: 8192,
400
+ supportsVision: false,
401
+ supportsTools: true,
402
+ supportsStreaming: true,
403
+ supportsThinking: false,
404
+ },
405
+ 'qwen3.5:397b': {
406
+ name: 'Qwen3.5 397B (Cloud)',
407
+ maxContextTokens: 131072,
408
+ maxOutputTokens: 8192,
409
+ supportsVision: false,
410
+ supportsTools: true,
411
+ supportsStreaming: true,
412
+ supportsThinking: false,
413
+ },
414
+ 'glm-5': {
415
+ name: 'GLM-5 (Cloud)',
416
+ maxContextTokens: 128000,
417
+ maxOutputTokens: 8192,
418
+ supportsVision: false,
419
+ supportsTools: true,
420
+ supportsStreaming: true,
421
+ supportsThinking: true,
422
+ },
423
+ 'glm-4.7': {
424
+ name: 'GLM-4.7 (Cloud)',
425
+ maxContextTokens: 128000,
426
+ maxOutputTokens: 8192,
427
+ supportsVision: false,
428
+ supportsTools: true,
429
+ supportsStreaming: true,
430
+ supportsThinking: false,
431
+ },
432
+ 'mistral-large-3:675b': {
433
+ name: 'Mistral Large 3 675B (Cloud)',
434
+ maxContextTokens: 131072,
435
+ maxOutputTokens: 8192,
436
+ supportsVision: false,
437
+ supportsTools: false,
438
+ supportsStreaming: true,
439
+ supportsThinking: false,
440
+ },
441
+ 'gpt-oss:120b': {
442
+ name: 'GPT-OSS 120B (Cloud)',
443
+ maxContextTokens: 131072,
444
+ maxOutputTokens: 8192,
445
+ supportsVision: false,
446
+ supportsTools: false,
447
+ supportsStreaming: true,
448
+ supportsThinking: false,
449
+ },
450
+ 'minimax-m2.7': {
451
+ name: 'MiniMax M2.7 (Cloud)',
452
+ maxContextTokens: 131072,
453
+ maxOutputTokens: 8192,
454
+ supportsVision: false,
455
+ supportsTools: false,
456
+ supportsStreaming: true,
457
+ supportsThinking: false,
458
+ },
459
+ },
460
+ defaultModel: 'deepseek-v3.2',
461
+ },
462
+ // ==================== Chinese Providers ====================
463
+ qwen: {
464
+ type: 'custom',
465
+ baseUrl: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
466
+ models: {
467
+ 'qwen-max': {
468
+ name: 'Qwen Max',
469
+ maxContextTokens: 32768,
470
+ maxOutputTokens: 8192,
471
+ supportsVision: true,
472
+ supportsTools: true,
473
+ supportsStreaming: true,
474
+ supportsThinking: false,
475
+ inputCostPerMToken: 2,
476
+ outputCostPerMToken: 6,
477
+ },
478
+ 'qwen-plus': {
479
+ name: 'Qwen Plus',
480
+ maxContextTokens: 131072,
481
+ maxOutputTokens: 8192,
482
+ supportsVision: false,
483
+ supportsTools: true,
484
+ supportsStreaming: true,
485
+ supportsThinking: false,
486
+ inputCostPerMToken: 0.8,
487
+ outputCostPerMToken: 2,
488
+ },
489
+ 'qwen-turbo': {
490
+ name: 'Qwen Turbo',
491
+ maxContextTokens: 131072,
492
+ maxOutputTokens: 8192,
493
+ supportsVision: false,
494
+ supportsTools: true,
495
+ supportsStreaming: true,
496
+ supportsThinking: false,
497
+ inputCostPerMToken: 0.3,
498
+ outputCostPerMToken: 0.6,
499
+ },
500
+ 'qwen-coder-plus': {
501
+ name: 'Qwen Coder Plus',
502
+ maxContextTokens: 131072,
503
+ maxOutputTokens: 8192,
504
+ supportsVision: false,
505
+ supportsTools: true,
506
+ supportsStreaming: true,
507
+ supportsThinking: false,
508
+ inputCostPerMToken: 1,
509
+ outputCostPerMToken: 3,
510
+ },
511
+ 'qwen-vl-max': {
512
+ name: 'Qwen VL Max',
513
+ maxContextTokens: 32768,
514
+ maxOutputTokens: 8192,
515
+ supportsVision: true,
516
+ supportsTools: false,
517
+ supportsStreaming: true,
518
+ supportsThinking: false,
519
+ inputCostPerMToken: 2,
520
+ outputCostPerMToken: 6,
521
+ },
522
+ },
523
+ defaultModel: 'qwen-max',
524
+ },
525
+ glm: {
526
+ type: 'custom',
527
+ baseUrl: 'https://open.bigmodel.cn/api/paas/v4',
528
+ models: {
529
+ 'glm-4-plus': {
530
+ name: 'GLM-4 Plus',
531
+ maxContextTokens: 128000,
532
+ maxOutputTokens: 4096,
533
+ supportsVision: false,
534
+ supportsTools: true,
535
+ supportsStreaming: true,
536
+ supportsThinking: false,
537
+ inputCostPerMToken: 0.5,
538
+ outputCostPerMToken: 0.5,
539
+ },
540
+ 'glm-4-flash': {
541
+ name: 'GLM-4 Flash',
542
+ maxContextTokens: 128000,
543
+ maxOutputTokens: 4096,
544
+ supportsVision: false,
545
+ supportsTools: true,
546
+ supportsStreaming: true,
547
+ supportsThinking: false,
548
+ inputCostPerMToken: 0.1,
549
+ outputCostPerMToken: 0.1,
550
+ },
551
+ 'glm-4v-plus': {
552
+ name: 'GLM-4V Plus',
553
+ maxContextTokens: 8192,
554
+ maxOutputTokens: 4096,
555
+ supportsVision: true,
556
+ supportsTools: false,
557
+ supportsStreaming: true,
558
+ supportsThinking: false,
559
+ inputCostPerMToken: 0.5,
560
+ outputCostPerMToken: 0.5,
561
+ },
562
+ 'glm-4-long': {
563
+ name: 'GLM-4 Long',
564
+ maxContextTokens: 1000000,
565
+ maxOutputTokens: 4096,
566
+ supportsVision: false,
567
+ supportsTools: false,
568
+ supportsStreaming: true,
569
+ supportsThinking: false,
570
+ inputCostPerMToken: 0.1,
571
+ outputCostPerMToken: 0.1,
572
+ },
573
+ },
574
+ defaultModel: 'glm-4-plus',
575
+ },
576
+ moonshot: {
577
+ type: 'custom',
578
+ baseUrl: 'https://api.moonshot.cn/v1',
579
+ models: {
580
+ 'moonshot-v1-128k': {
581
+ name: 'Moonshot V1 128K',
582
+ maxContextTokens: 131072,
583
+ maxOutputTokens: 4096,
584
+ supportsVision: false,
585
+ supportsTools: true,
586
+ supportsStreaming: true,
587
+ supportsThinking: false,
588
+ inputCostPerMToken: 0.6,
589
+ outputCostPerMToken: 1.6,
590
+ },
591
+ 'moonshot-v1-32k': {
592
+ name: 'Moonshot V1 32K',
593
+ maxContextTokens: 32768,
594
+ maxOutputTokens: 4096,
595
+ supportsVision: false,
596
+ supportsTools: true,
597
+ supportsStreaming: true,
598
+ supportsThinking: false,
599
+ inputCostPerMToken: 0.24,
600
+ outputCostPerMToken: 0.6,
601
+ },
602
+ 'moonshot-v1-8k': {
603
+ name: 'Moonshot V1 8K',
604
+ maxContextTokens: 8192,
605
+ maxOutputTokens: 4096,
606
+ supportsVision: false,
607
+ supportsTools: true,
608
+ supportsStreaming: true,
609
+ supportsThinking: false,
610
+ inputCostPerMToken: 0.12,
611
+ outputCostPerMToken: 0.3,
612
+ },
613
+ },
614
+ defaultModel: 'moonshot-v1-128k',
615
+ },
616
+ baichuan: {
617
+ type: 'custom',
618
+ baseUrl: 'https://api.baichuan-ai.com/v1',
619
+ models: {
620
+ 'baichuan4': {
621
+ name: 'Baichuan 4',
622
+ maxContextTokens: 131072,
623
+ maxOutputTokens: 4096,
624
+ supportsVision: false,
625
+ supportsTools: true,
626
+ supportsStreaming: true,
627
+ supportsThinking: false,
628
+ inputCostPerMToken: 4,
629
+ outputCostPerMToken: 4,
630
+ },
631
+ 'baichuan3-turbo': {
632
+ name: 'Baichuan 3 Turbo',
633
+ maxContextTokens: 32768,
634
+ maxOutputTokens: 4096,
635
+ supportsVision: false,
636
+ supportsTools: true,
637
+ supportsStreaming: true,
638
+ supportsThinking: false,
639
+ inputCostPerMToken: 0.4,
640
+ outputCostPerMToken: 0.4,
641
+ },
642
+ },
643
+ defaultModel: 'baichuan4',
644
+ },
645
+ minimax: {
646
+ type: 'custom',
647
+ baseUrl: 'https://api.minimax.chat/v1',
648
+ models: {
649
+ 'abab6.5s': {
650
+ name: 'MiniMax abab6.5s',
651
+ maxContextTokens: 32768,
652
+ maxOutputTokens: 8192,
653
+ supportsVision: false,
654
+ supportsTools: true,
655
+ supportsStreaming: true,
656
+ supportsThinking: false,
657
+ inputCostPerMToken: 1,
658
+ outputCostPerMToken: 1,
659
+ },
660
+ },
661
+ defaultModel: 'abab6.5s',
662
+ },
663
+ yi: {
664
+ type: 'custom',
665
+ baseUrl: 'https://api.lingyiwanwu.com/v1',
666
+ models: {
667
+ 'yi-large': {
668
+ name: 'Yi Large',
669
+ maxContextTokens: 16384,
670
+ maxOutputTokens: 4096,
671
+ supportsVision: false,
672
+ supportsTools: true,
673
+ supportsStreaming: true,
674
+ supportsThinking: false,
675
+ inputCostPerMToken: 2,
676
+ outputCostPerMToken: 2,
677
+ },
678
+ 'yi-medium': {
679
+ name: 'Yi Medium',
680
+ maxContextTokens: 16384,
681
+ maxOutputTokens: 4096,
682
+ supportsVision: false,
683
+ supportsTools: true,
684
+ supportsStreaming: true,
685
+ supportsThinking: false,
686
+ inputCostPerMToken: 0.35,
687
+ outputCostPerMToken: 0.35,
688
+ },
689
+ 'yi-coder': {
690
+ name: 'Yi Coder',
691
+ maxContextTokens: 16384,
692
+ maxOutputTokens: 4096,
693
+ supportsVision: false,
694
+ supportsTools: true,
695
+ supportsStreaming: true,
696
+ supportsThinking: false,
697
+ inputCostPerMToken: 1.5,
698
+ outputCostPerMToken: 1.5,
699
+ },
700
+ },
701
+ defaultModel: 'yi-large',
702
+ },
703
+ siliconflow: {
704
+ type: 'custom',
705
+ baseUrl: 'https://api.siliconflow.cn/v1',
706
+ models: {
707
+ 'deepseek-ai/DeepSeek-V3': {
708
+ name: 'DeepSeek V3 (SiliconFlow)',
709
+ maxContextTokens: 65536,
710
+ maxOutputTokens: 8192,
711
+ supportsVision: false,
712
+ supportsTools: true,
713
+ supportsStreaming: true,
714
+ supportsThinking: false,
715
+ inputCostPerMToken: 0.27,
716
+ outputCostPerMToken: 0.11,
717
+ },
718
+ 'Qwen/Qwen2.5-72B-Instruct': {
719
+ name: 'Qwen 2.5 72B (SiliconFlow)',
720
+ maxContextTokens: 131072,
721
+ maxOutputTokens: 8192,
722
+ supportsVision: false,
723
+ supportsTools: true,
724
+ supportsStreaming: true,
725
+ supportsThinking: false,
726
+ inputCostPerMToken: 0.7,
727
+ outputCostPerMToken: 0.7,
728
+ },
729
+ 'THUDM/glm-4-9b-chat': {
730
+ name: 'GLM-4 9B (SiliconFlow)',
731
+ maxContextTokens: 128000,
732
+ maxOutputTokens: 4096,
733
+ supportsVision: false,
734
+ supportsTools: true,
735
+ supportsStreaming: true,
736
+ supportsThinking: false,
737
+ inputCostPerMToken: 0,
738
+ outputCostPerMToken: 0,
739
+ },
740
+ },
741
+ defaultModel: 'deepseek-ai/DeepSeek-V3',
742
+ },
743
+ // ==================== International Providers ====================
744
+ groq: {
745
+ type: 'custom',
746
+ baseUrl: 'https://api.groq.com/openai/v1',
747
+ models: {
748
+ 'llama-3.3-70b-versatile': {
749
+ name: 'Llama 3.3 70B (Groq)',
750
+ maxContextTokens: 131072,
751
+ maxOutputTokens: 32768,
752
+ supportsVision: false,
753
+ supportsTools: true,
754
+ supportsStreaming: true,
755
+ supportsThinking: false,
756
+ inputCostPerMToken: 0.59,
757
+ outputCostPerMToken: 0.79,
758
+ },
759
+ 'llama-3.1-8b-instant': {
760
+ name: 'Llama 3.1 8B (Groq)',
761
+ maxContextTokens: 131072,
762
+ maxOutputTokens: 8192,
763
+ supportsVision: false,
764
+ supportsTools: true,
765
+ supportsStreaming: true,
766
+ supportsThinking: false,
767
+ inputCostPerMToken: 0.05,
768
+ outputCostPerMToken: 0.08,
769
+ },
770
+ 'mixtral-8x7b-32768': {
771
+ name: 'Mixtral 8x7B (Groq)',
772
+ maxContextTokens: 32768,
773
+ maxOutputTokens: 8192,
774
+ supportsVision: false,
775
+ supportsTools: true,
776
+ supportsStreaming: true,
777
+ supportsThinking: false,
778
+ inputCostPerMToken: 0.24,
779
+ outputCostPerMToken: 0.24,
780
+ },
781
+ 'gemma2-9b-it': {
782
+ name: 'Gemma 2 9B (Groq)',
783
+ maxContextTokens: 8192,
784
+ maxOutputTokens: 4096,
785
+ supportsVision: false,
786
+ supportsTools: true,
787
+ supportsStreaming: true,
788
+ supportsThinking: false,
789
+ inputCostPerMToken: 0.05,
790
+ outputCostPerMToken: 0.08,
791
+ },
792
+ },
793
+ defaultModel: 'llama-3.3-70b-versatile',
794
+ },
795
+ mistral: {
796
+ type: 'custom',
797
+ baseUrl: 'https://api.mistral.ai/v1',
798
+ models: {
799
+ 'mistral-large-latest': {
800
+ name: 'Mistral Large',
801
+ maxContextTokens: 131072,
802
+ maxOutputTokens: 8192,
803
+ supportsVision: false,
804
+ supportsTools: true,
805
+ supportsStreaming: true,
806
+ supportsThinking: false,
807
+ inputCostPerMToken: 2,
808
+ outputCostPerMToken: 6,
809
+ },
810
+ 'codestral-latest': {
811
+ name: 'Codestral',
812
+ maxContextTokens: 32768,
813
+ maxOutputTokens: 8192,
814
+ supportsVision: false,
815
+ supportsTools: true,
816
+ supportsStreaming: true,
817
+ supportsThinking: false,
818
+ inputCostPerMToken: 0.3,
819
+ outputCostPerMToken: 0.9,
820
+ },
821
+ 'mistral-small-latest': {
822
+ name: 'Mistral Small',
823
+ maxContextTokens: 131072,
824
+ maxOutputTokens: 8192,
825
+ supportsVision: false,
826
+ supportsTools: true,
827
+ supportsStreaming: true,
828
+ supportsThinking: false,
829
+ inputCostPerMToken: 0.2,
830
+ outputCostPerMToken: 0.6,
831
+ },
832
+ },
833
+ defaultModel: 'mistral-large-latest',
834
+ },
835
+ together: {
836
+ type: 'custom',
837
+ baseUrl: 'https://api.together.xyz/v1',
838
+ models: {
839
+ 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo': {
840
+ name: 'Llama 3.1 70B (Together)',
841
+ maxContextTokens: 131072,
842
+ maxOutputTokens: 8192,
843
+ supportsVision: false,
844
+ supportsTools: true,
845
+ supportsStreaming: true,
846
+ supportsThinking: false,
847
+ inputCostPerMToken: 0.88,
848
+ outputCostPerMToken: 0.88,
849
+ },
850
+ 'mistralai/Mixtral-8x7B-Instruct-v0.1': {
851
+ name: 'Mixtral 8x7B (Together)',
852
+ maxContextTokens: 32768,
853
+ maxOutputTokens: 8192,
854
+ supportsVision: false,
855
+ supportsTools: true,
856
+ supportsStreaming: true,
857
+ supportsThinking: false,
858
+ inputCostPerMToken: 0.24,
859
+ outputCostPerMToken: 0.24,
860
+ },
861
+ },
862
+ defaultModel: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo',
863
+ },
864
+ perplexity: {
865
+ type: 'custom',
866
+ baseUrl: 'https://api.perplexity.ai',
867
+ models: {
868
+ 'sonar-pro': {
869
+ name: 'Sonar Pro',
870
+ maxContextTokens: 200000,
871
+ maxOutputTokens: 8192,
872
+ supportsVision: false,
873
+ supportsTools: false,
874
+ supportsStreaming: true,
875
+ supportsThinking: false,
876
+ inputCostPerMToken: 3,
877
+ outputCostPerMToken: 15,
878
+ },
879
+ 'sonar': {
880
+ name: 'Sonar',
881
+ maxContextTokens: 127000,
882
+ maxOutputTokens: 8192,
883
+ supportsVision: false,
884
+ supportsTools: false,
885
+ supportsStreaming: true,
886
+ supportsThinking: false,
887
+ inputCostPerMToken: 1,
888
+ outputCostPerMToken: 1,
889
+ },
890
+ },
891
+ defaultModel: 'sonar-pro',
892
+ },
893
+ },
894
+ aliases: {
895
+ // Claude aliases
896
+ 'claude': 'claude-3-5-sonnet-20241022',
897
+ 'sonnet': 'claude-3-5-sonnet-20241022',
898
+ 'sonnet4': 'claude-sonnet-4-20250514',
899
+ 'opus': 'claude-3-opus-20240229',
900
+ 'opus4': 'claude-opus-4-20250514',
901
+ 'haiku': 'claude-3-5-haiku-20241022',
902
+ // OpenAI aliases
903
+ 'gpt4': 'gpt-4o',
904
+ 'gpt4mini': 'gpt-4o-mini',
905
+ 'o1': 'o1',
906
+ 'o1mini': 'o1-mini',
907
+ 'o3mini': 'o3-mini',
908
+ // Google aliases
909
+ 'gemini': 'gemini-2.0-flash',
910
+ 'gemflash': 'gemini-2.0-flash',
911
+ 'gempro': 'gemini-2.5-pro-preview-05-06',
912
+ // DeepSeek aliases
913
+ 'deepseek': 'deepseek-chat',
914
+ 'dsr1': 'deepseek-reasoner',
915
+ // Chinese provider aliases
916
+ 'qwen': 'qwen-max',
917
+ 'qwenplus': 'qwen-plus',
918
+ 'qwen-turbo': 'qwen-turbo',
919
+ 'qwen-coder': 'qwen-coder-plus',
920
+ 'glm': 'glm-4-plus',
921
+ 'glm4': 'glm-4-plus',
922
+ 'moonshot': 'moonshot-v1-128k',
923
+ 'baichuan': 'baichuan4',
924
+ 'yi': 'yi-large',
925
+ // International provider aliases
926
+ 'groq': 'llama-3.3-70b-versatile',
927
+ 'mistral': 'mistral-large-latest',
928
+ 'codestral': 'codestral-latest',
929
+ 'sonar': 'sonar-pro',
930
+ // Ollama aliases
931
+ 'local': 'llama3.1',
932
+ // Ollama Cloud aliases
933
+ 'cloud': 'deepseek-v3.2',
934
+ 'deepseek-cloud': 'deepseek-v3.2',
935
+ 'kimi': 'kimi-k2.5',
936
+ 'qwen-cloud': 'qwen3-coder:480b',
937
+ 'glm-cloud': 'glm-5',
938
+ },
939
+ },
940
+ security: {
941
+ sandbox: 'restricted',
942
+ checkpoints: true,
943
+ blockedCommands: ['rm -rf /', 'mkfs', 'dd if=', ':(){ :|:& };:'],
944
+ allowedCommands: ['ls', 'cat', 'pwd', 'echo', 'which', 'node', 'npm', 'pnpm'],
945
+ },
946
+ fileFilter: {
947
+ ignorePatterns: ['node_modules/**', '.git/**', 'dist/**', 'build/**', '*.log', '.env', '.env.local'],
948
+ maxFileSize: 10 * 1024 * 1024,
949
+ maxBatchSize: 100,
950
+ },
951
+ telemetry: {
952
+ enabled: false,
953
+ track: { usage: false, errors: true, performance: false },
954
+ },
955
+ extensions: {
956
+ enabled: [],
957
+ },
958
+ preferences: {
959
+ theme: 'auto',
960
+ language: 'en',
961
+ },
962
+ };
963
+ export class ConfigManager {
964
+ config = null;
965
+ configPath;
966
+ projectConfigPath = null;
967
+ constructor() {
968
+ this.configPath = path.join(os.homedir(), '.nova', 'config.yaml');
969
+ }
970
+ /** Load configuration from file, merging with defaults */
971
+ async load(projectDir) {
972
+ this.config = JSON.parse(JSON.stringify(DEFAULT_CONFIG));
973
+ // Load global config
974
+ try {
975
+ const globalContent = await fs.readFile(this.configPath, 'utf-8');
976
+ const globalConfig = this.parseConfig(globalContent);
977
+ this.config = this.mergeConfig(this.config, globalConfig);
978
+ }
979
+ catch {
980
+ // Global config doesn't exist yet, that's fine
981
+ }
982
+ // Load project config
983
+ if (projectDir) {
984
+ const projectPaths = [
985
+ path.join(projectDir, '.nova', 'config.yaml'),
986
+ path.join(projectDir, '.nova', 'config.json'),
987
+ path.join(projectDir, '.nova.json'),
988
+ ];
989
+ for (const p of projectPaths) {
990
+ try {
991
+ const content = await fs.readFile(p, 'utf-8');
992
+ const projectConfig = p.endsWith('.json') ? JSON.parse(content) : this.parseConfig(content);
993
+ this.config = this.mergeConfig(this.config, projectConfig);
994
+ this.projectConfigPath = p;
995
+ break;
996
+ }
997
+ catch {
998
+ continue;
999
+ }
1000
+ }
1001
+ }
1002
+ this.applyEnvOverrides();
1003
+ return this.config;
1004
+ }
1005
+ /** Get the loaded configuration */
1006
+ getConfig() {
1007
+ if (!this.config) {
1008
+ throw new ConfigError('Configuration not loaded. Call load() first.');
1009
+ }
1010
+ return this.config;
1011
+ }
1012
+ /** Get core config */
1013
+ getCoreConfig() {
1014
+ return this.getConfig().core;
1015
+ }
1016
+ /** Get model configuration */
1017
+ getModelConfig(modelId) {
1018
+ const config = this.getConfig();
1019
+ // Handle provider/model format (e.g., "coding-plan-alibaba/glm-5")
1020
+ let targetProvider = null;
1021
+ let targetModelId = modelId;
1022
+ if (modelId.includes('/')) {
1023
+ const [providerKey, modelKey] = modelId.split('/');
1024
+ targetProvider = providerKey;
1025
+ targetModelId = modelKey;
1026
+ }
1027
+ // Resolve alias for the model ID (not for provider/model format)
1028
+ const resolvedId = targetProvider ? targetModelId : (config.models.aliases?.[modelId] || modelId);
1029
+ // If provider was specified, look only in that provider
1030
+ if (targetProvider) {
1031
+ const provider = config.models.providers[targetProvider];
1032
+ if (provider) {
1033
+ const model = provider.models[targetModelId];
1034
+ if (model) {
1035
+ return {
1036
+ provider: { ...provider, name: targetProvider },
1037
+ model,
1038
+ };
1039
+ }
1040
+ }
1041
+ return null; // Provider specified but not found or model not in provider
1042
+ }
1043
+ // Otherwise, search across all providers
1044
+ for (const [providerName, provider] of Object.entries(config.models.providers)) {
1045
+ const model = provider.models[resolvedId];
1046
+ if (model) {
1047
+ return {
1048
+ provider: { ...provider, name: providerName },
1049
+ model,
1050
+ };
1051
+ }
1052
+ }
1053
+ return null;
1054
+ }
1055
+ /**
1056
+ * Dynamically register a model to an existing provider.
1057
+ * Useful for Ollama runtime model discovery and custom provider model addition.
1058
+ * Returns true if the model was newly registered, false if it already existed.
1059
+ */
1060
+ registerModel(providerName, modelId, modelConfig, providerOverrides) {
1061
+ if (!this.config)
1062
+ return false;
1063
+ if (!this.config.models.providers[providerName]) {
1064
+ // Create a new provider entry
1065
+ this.config.models.providers[providerName] = {
1066
+ type: providerOverrides?.type || 'custom',
1067
+ models: {},
1068
+ ...(providerOverrides?.baseUrl && { baseUrl: providerOverrides.baseUrl }),
1069
+ ...(providerOverrides?.defaultModel && { defaultModel: providerOverrides.defaultModel }),
1070
+ };
1071
+ }
1072
+ const provider = this.config.models.providers[providerName];
1073
+ if (provider.models[modelId])
1074
+ return false; // Already exists
1075
+ provider.models[modelId] = modelConfig;
1076
+ if (!provider.defaultModel) {
1077
+ provider.defaultModel = modelId;
1078
+ }
1079
+ return true;
1080
+ }
1081
+ /**
1082
+ * Dynamically register a complete provider with models.
1083
+ */
1084
+ registerProvider(providerName, providerConfig) {
1085
+ if (!this.config)
1086
+ return false;
1087
+ this.config.models.providers[providerName] = providerConfig;
1088
+ return true;
1089
+ }
1090
+ /**
1091
+ * Add a model alias.
1092
+ */
1093
+ registerAlias(alias, targetModelId) {
1094
+ if (!this.config)
1095
+ return;
1096
+ if (!this.config.models.aliases) {
1097
+ this.config.models.aliases = {};
1098
+ }
1099
+ this.config.models.aliases[alias] = targetModelId;
1100
+ }
1101
+ /** Get config file path */
1102
+ getConfigPath() {
1103
+ return this.configPath;
1104
+ }
1105
+ /** Set the default model */
1106
+ setDefaultModel(modelId) {
1107
+ if (!this.config)
1108
+ return;
1109
+ this.config.core.defaultModel = modelId;
1110
+ }
1111
+ /** Save configuration */
1112
+ async save(config) {
1113
+ const dir = path.dirname(this.configPath);
1114
+ await fs.mkdir(dir, { recursive: true });
1115
+ const content = JSON.stringify(config, null, 2);
1116
+ await fs.writeFile(this.configPath, content, 'utf-8');
1117
+ }
1118
+ /** Deep merge two configurations */
1119
+ mergeConfig(base, source) {
1120
+ const result = { ...base };
1121
+ for (const [key, value] of Object.entries(source)) {
1122
+ if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
1123
+ result[key] = { ...(base[key] || {}), ...value };
1124
+ }
1125
+ else if (value !== undefined) {
1126
+ result[key] = value;
1127
+ }
1128
+ }
1129
+ return result;
1130
+ }
1131
+ /** Apply environment variable overrides */
1132
+ applyEnvOverrides() {
1133
+ if (!this.config)
1134
+ return;
1135
+ const overrides = {
1136
+ NOVA_MODEL: (v) => { this.config.core.defaultModel = v; },
1137
+ NOVA_LOG_LEVEL: (v) => { this.config.core.logLevel = v; },
1138
+ NOVA_MAX_TURNS: (v) => { this.config.core.maxTurns = parseInt(v, 10); },
1139
+ NOVA_MAX_TOKENS: (v) => { this.config.core.maxTokens = parseInt(v, 10); },
1140
+ NOVA_TEMPERATURE: (v) => { this.config.core.temperature = parseFloat(v); },
1141
+ NOVA_APPROVAL_MODE: (v) => { this.config.core.defaultApprovalMode = v; },
1142
+ };
1143
+ for (const [envKey, setter] of Object.entries(overrides)) {
1144
+ const value = process.env[envKey];
1145
+ if (value)
1146
+ setter(value);
1147
+ }
1148
+ }
1149
+ /** Simple config parser (YAML-like or JSON) */
1150
+ parseConfig(content) {
1151
+ try {
1152
+ // Try JSON first
1153
+ return JSON.parse(content);
1154
+ }
1155
+ catch {
1156
+ // Fallback: simple line-based parsing
1157
+ const result = {};
1158
+ const lines = content.split('\n');
1159
+ let currentKey = '';
1160
+ for (const line of lines) {
1161
+ if (line.trim().startsWith('#') || !line.trim())
1162
+ continue;
1163
+ const indent = line.search(/\S/);
1164
+ if (indent === 0) {
1165
+ const [key, ...valueParts] = line.trim().split(':');
1166
+ const value = valueParts.join(':').trim();
1167
+ currentKey = key;
1168
+ result[key] = value ? this.parseValue(value) : {};
1169
+ }
1170
+ else if (currentKey && typeof result[currentKey] === 'object') {
1171
+ const [key, ...valueParts] = line.trim().split(':');
1172
+ const value = valueParts.join(':').trim();
1173
+ result[currentKey][key] = this.parseValue(value);
1174
+ }
1175
+ }
1176
+ return result;
1177
+ }
1178
+ }
1179
+ /** Parse a scalar value */
1180
+ parseValue(value) {
1181
+ if (value === 'true')
1182
+ return true;
1183
+ if (value === 'false')
1184
+ return false;
1185
+ if (value === 'null' || value === '~')
1186
+ return null;
1187
+ if (/^-?\d+$/.test(value))
1188
+ return parseInt(value, 10);
1189
+ if (/^-?\d+\.\d+$/.test(value))
1190
+ return parseFloat(value);
1191
+ if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) {
1192
+ return value.slice(1, -1);
1193
+ }
1194
+ return value;
1195
+ }
1196
+ }
1197
+ //# sourceMappingURL=ConfigManager.js.map