@nanocollective/nanocoder 1.17.2 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/README.md +3 -5
  2. package/assets/nanocoder-vscode.vsix +0 -0
  3. package/dist/ai-sdk-client-empty-message.spec.d.ts +2 -0
  4. package/dist/ai-sdk-client-empty-message.spec.d.ts.map +1 -0
  5. package/dist/ai-sdk-client-empty-message.spec.js +124 -0
  6. package/dist/ai-sdk-client-empty-message.spec.js.map +1 -0
  7. package/dist/ai-sdk-client-error-handling.spec.d.ts +2 -0
  8. package/dist/ai-sdk-client-error-handling.spec.d.ts.map +1 -0
  9. package/dist/ai-sdk-client-error-handling.spec.js +108 -0
  10. package/dist/ai-sdk-client-error-handling.spec.js.map +1 -0
  11. package/dist/ai-sdk-client-maxretries.spec.d.ts +2 -0
  12. package/dist/ai-sdk-client-maxretries.spec.d.ts.map +1 -0
  13. package/dist/ai-sdk-client-maxretries.spec.js +96 -0
  14. package/dist/ai-sdk-client-maxretries.spec.js.map +1 -0
  15. package/dist/ai-sdk-client.d.ts +25 -2
  16. package/dist/ai-sdk-client.d.ts.map +1 -1
  17. package/dist/ai-sdk-client.js +187 -124
  18. package/dist/ai-sdk-client.js.map +1 -1
  19. package/dist/app/utils/appUtils.js +3 -3
  20. package/dist/app/utils/appUtils.js.map +1 -1
  21. package/dist/app.d.ts.map +1 -1
  22. package/dist/app.js +22 -11
  23. package/dist/app.js.map +1 -1
  24. package/dist/commands/debugging.d.ts +3 -0
  25. package/dist/commands/debugging.d.ts.map +1 -0
  26. package/dist/commands/debugging.js +23 -0
  27. package/dist/commands/debugging.js.map +1 -0
  28. package/dist/commands/index.d.ts +3 -2
  29. package/dist/commands/index.d.ts.map +1 -1
  30. package/dist/commands/index.js +3 -2
  31. package/dist/commands/index.js.map +1 -1
  32. package/dist/commands/lsp.d.ts +15 -0
  33. package/dist/commands/lsp.d.ts.map +1 -0
  34. package/dist/commands/lsp.js +45 -0
  35. package/dist/commands/lsp.js.map +1 -0
  36. package/dist/commands/model-database.d.ts +8 -0
  37. package/dist/commands/model-database.d.ts.map +1 -0
  38. package/dist/commands/model-database.js +193 -0
  39. package/dist/commands/model-database.js.map +1 -0
  40. package/dist/commands/usage.d.ts.map +1 -1
  41. package/dist/commands/usage.js +1 -1
  42. package/dist/commands/usage.js.map +1 -1
  43. package/dist/components/assistant-message.d.ts.map +1 -1
  44. package/dist/components/assistant-message.js +3 -2
  45. package/dist/components/assistant-message.js.map +1 -1
  46. package/dist/components/status.d.ts +3 -0
  47. package/dist/components/status.d.ts.map +1 -1
  48. package/dist/components/status.js +24 -3
  49. package/dist/components/status.js.map +1 -1
  50. package/dist/components/user-input.d.ts.map +1 -1
  51. package/dist/components/user-input.js +2 -1
  52. package/dist/components/user-input.js.map +1 -1
  53. package/dist/config/preferences.d.ts +2 -2
  54. package/dist/config/preferences.js +5 -5
  55. package/dist/config/preferences.js.map +1 -1
  56. package/dist/context/mode-context.d.ts +12 -0
  57. package/dist/context/mode-context.d.ts.map +1 -0
  58. package/dist/context/mode-context.js +21 -0
  59. package/dist/context/mode-context.js.map +1 -0
  60. package/dist/context/mode-context.spec.d.ts +2 -0
  61. package/dist/context/mode-context.spec.d.ts.map +1 -0
  62. package/dist/context/mode-context.spec.js +61 -0
  63. package/dist/context/mode-context.spec.js.map +1 -0
  64. package/dist/hooks/useAppInitialization.d.ts +4 -2
  65. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  66. package/dist/hooks/useAppInitialization.js +102 -26
  67. package/dist/hooks/useAppInitialization.js.map +1 -1
  68. package/dist/hooks/useAppState.d.ts +7 -5
  69. package/dist/hooks/useAppState.d.ts.map +1 -1
  70. package/dist/hooks/useAppState.js +11 -7
  71. package/dist/hooks/useAppState.js.map +1 -1
  72. package/dist/hooks/useChatHandler.d.ts +2 -2
  73. package/dist/hooks/useChatHandler.d.ts.map +1 -1
  74. package/dist/hooks/useChatHandler.js +186 -111
  75. package/dist/hooks/useChatHandler.js.map +1 -1
  76. package/dist/hooks/useModeHandlers.d.ts +4 -4
  77. package/dist/hooks/useModeHandlers.d.ts.map +1 -1
  78. package/dist/hooks/useModeHandlers.js +9 -9
  79. package/dist/hooks/useModeHandlers.js.map +1 -1
  80. package/dist/mcp/mcp-client.d.ts.map +1 -1
  81. package/dist/mcp/mcp-client.js +16 -6
  82. package/dist/mcp/mcp-client.js.map +1 -1
  83. package/dist/message-handler.js +1 -1
  84. package/dist/message-handler.js.map +1 -1
  85. package/dist/model-database/database-engine.d.ts +25 -0
  86. package/dist/model-database/database-engine.d.ts.map +1 -0
  87. package/dist/model-database/database-engine.js +37 -0
  88. package/dist/model-database/database-engine.js.map +1 -0
  89. package/dist/model-database/database-engine.spec.d.ts +2 -0
  90. package/dist/model-database/database-engine.spec.d.ts.map +1 -0
  91. package/dist/model-database/database-engine.spec.js +413 -0
  92. package/dist/model-database/database-engine.spec.js.map +1 -0
  93. package/dist/model-database/model-database.d.ts +30 -0
  94. package/dist/model-database/model-database.d.ts.map +1 -0
  95. package/dist/model-database/model-database.js +82 -0
  96. package/dist/model-database/model-database.js.map +1 -0
  97. package/dist/model-database/model-database.spec.d.ts +2 -0
  98. package/dist/model-database/model-database.spec.d.ts.map +1 -0
  99. package/dist/model-database/model-database.spec.js +322 -0
  100. package/dist/model-database/model-database.spec.js.map +1 -0
  101. package/dist/model-database/model-engine.d.ts +25 -0
  102. package/dist/model-database/model-engine.d.ts.map +1 -0
  103. package/dist/model-database/model-engine.js +49 -0
  104. package/dist/model-database/model-engine.js.map +1 -0
  105. package/dist/model-database/model-engine.spec.d.ts +2 -0
  106. package/dist/model-database/model-engine.spec.d.ts.map +1 -0
  107. package/dist/model-database/model-engine.spec.js +381 -0
  108. package/dist/model-database/model-engine.spec.js.map +1 -0
  109. package/dist/model-database/model-fetcher.d.ts +14 -0
  110. package/dist/model-database/model-fetcher.d.ts.map +1 -0
  111. package/dist/model-database/model-fetcher.js +248 -0
  112. package/dist/model-database/model-fetcher.js.map +1 -0
  113. package/dist/model-database/model-fetcher.spec.d.ts +2 -0
  114. package/dist/model-database/model-fetcher.spec.d.ts.map +1 -0
  115. package/dist/model-database/model-fetcher.spec.js +498 -0
  116. package/dist/model-database/model-fetcher.spec.js.map +1 -0
  117. package/dist/models/models-dev-client.d.ts.map +1 -1
  118. package/dist/models/models-dev-client.js +8 -0
  119. package/dist/models/models-dev-client.js.map +1 -1
  120. package/dist/tool-calling/json-parser.d.ts.map +1 -1
  121. package/dist/tool-calling/json-parser.js +10 -4
  122. package/dist/tool-calling/json-parser.js.map +1 -1
  123. package/dist/tool-calling/tool-parser.d.ts.map +1 -1
  124. package/dist/tool-calling/tool-parser.js +37 -9
  125. package/dist/tool-calling/tool-parser.js.map +1 -1
  126. package/dist/tool-calling/tool-parser.spec.js +79 -1
  127. package/dist/tool-calling/tool-parser.spec.js.map +1 -1
  128. package/dist/tool-calling/xml-parser.d.ts.map +1 -1
  129. package/dist/tool-calling/xml-parser.js +21 -23
  130. package/dist/tool-calling/xml-parser.js.map +1 -1
  131. package/dist/tool-calling/xml-parser.spec.js +23 -3
  132. package/dist/tool-calling/xml-parser.spec.js.map +1 -1
  133. package/dist/tools/create-file.d.ts +24 -2
  134. package/dist/tools/create-file.d.ts.map +1 -1
  135. package/dist/tools/create-file.js +14 -10
  136. package/dist/tools/create-file.js.map +1 -1
  137. package/dist/tools/delete-lines.d.ts +18 -2
  138. package/dist/tools/delete-lines.d.ts.map +1 -1
  139. package/dist/tools/delete-lines.js +14 -9
  140. package/dist/tools/delete-lines.js.map +1 -1
  141. package/dist/tools/execute-bash.d.ts +2 -2
  142. package/dist/tools/execute-bash.d.ts.map +1 -1
  143. package/dist/tools/execute-bash.js +10 -9
  144. package/dist/tools/execute-bash.js.map +1 -1
  145. package/dist/tools/execute-function.spec.d.ts +2 -0
  146. package/dist/tools/execute-function.spec.d.ts.map +1 -0
  147. package/dist/tools/execute-function.spec.js +141 -0
  148. package/dist/tools/execute-function.spec.js.map +1 -0
  149. package/dist/tools/fetch-url.d.ts +16 -2
  150. package/dist/tools/fetch-url.d.ts.map +1 -1
  151. package/dist/tools/fetch-url.js +10 -10
  152. package/dist/tools/fetch-url.js.map +1 -1
  153. package/dist/tools/find-files.d.ts +18 -2
  154. package/dist/tools/find-files.d.ts.map +1 -1
  155. package/dist/tools/find-files.js +7 -5
  156. package/dist/tools/find-files.js.map +1 -1
  157. package/dist/tools/index.d.ts +2 -3
  158. package/dist/tools/index.d.ts.map +1 -1
  159. package/dist/tools/index.js +30 -20
  160. package/dist/tools/index.js.map +1 -1
  161. package/dist/tools/insert-lines.d.ts +18 -2
  162. package/dist/tools/insert-lines.d.ts.map +1 -1
  163. package/dist/tools/insert-lines.js +14 -9
  164. package/dist/tools/insert-lines.js.map +1 -1
  165. package/dist/tools/lsp-get-diagnostics.d.ts +10 -2
  166. package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -1
  167. package/dist/tools/lsp-get-diagnostics.js +8 -6
  168. package/dist/tools/lsp-get-diagnostics.js.map +1 -1
  169. package/dist/tools/needs-approval.spec.d.ts +2 -0
  170. package/dist/tools/needs-approval.spec.d.ts.map +1 -0
  171. package/dist/tools/needs-approval.spec.js +308 -0
  172. package/dist/tools/needs-approval.spec.js.map +1 -0
  173. package/dist/tools/read-file.d.ts +2 -2
  174. package/dist/tools/read-file.d.ts.map +1 -1
  175. package/dist/tools/read-file.js +10 -12
  176. package/dist/tools/read-file.js.map +1 -1
  177. package/dist/tools/replace-lines.d.ts +19 -2
  178. package/dist/tools/replace-lines.d.ts.map +1 -1
  179. package/dist/tools/replace-lines.js +14 -9
  180. package/dist/tools/replace-lines.js.map +1 -1
  181. package/dist/tools/search-file-contents.d.ts +20 -2
  182. package/dist/tools/search-file-contents.d.ts.map +1 -1
  183. package/dist/tools/search-file-contents.js +11 -8
  184. package/dist/tools/search-file-contents.js.map +1 -1
  185. package/dist/tools/web-search.d.ts +2 -2
  186. package/dist/tools/web-search.d.ts.map +1 -1
  187. package/dist/tools/web-search.js +10 -10
  188. package/dist/tools/web-search.js.map +1 -1
  189. package/dist/types/app.d.ts +1 -1
  190. package/dist/types/app.d.ts.map +1 -1
  191. package/dist/types/config.d.ts +4 -1
  192. package/dist/types/config.d.ts.map +1 -1
  193. package/dist/types/core-connection-status.spec.d.ts +2 -0
  194. package/dist/types/core-connection-status.spec.d.ts.map +1 -0
  195. package/dist/types/core-connection-status.spec.js +52 -0
  196. package/dist/types/core-connection-status.spec.js.map +1 -0
  197. package/dist/types/core.d.ts +33 -28
  198. package/dist/types/core.d.ts.map +1 -1
  199. package/dist/types/core.js.map +1 -1
  200. package/dist/types/system.d.ts +5 -30
  201. package/dist/types/system.d.ts.map +1 -1
  202. package/dist/utils/prompt-processor.d.ts +2 -3
  203. package/dist/utils/prompt-processor.d.ts.map +1 -1
  204. package/dist/utils/prompt-processor.js +2 -50
  205. package/dist/utils/prompt-processor.js.map +1 -1
  206. package/dist/wizard/templates/provider-templates.d.ts.map +1 -1
  207. package/dist/wizard/templates/provider-templates.js +34 -2
  208. package/dist/wizard/templates/provider-templates.js.map +1 -1
  209. package/package.json +6 -5
  210. package/source/app/prompts/main-prompt.md +29 -96
  211. package/dist/commands/recommendations.d.ts +0 -8
  212. package/dist/commands/recommendations.d.ts.map +0 -1
  213. package/dist/commands/recommendations.js +0 -311
  214. package/dist/commands/recommendations.js.map +0 -1
  215. package/dist/commands/streaming.d.ts +0 -3
  216. package/dist/commands/streaming.d.ts.map +0 -1
  217. package/dist/commands/streaming.js +0 -23
  218. package/dist/commands/streaming.js.map +0 -1
  219. package/dist/components/thinking-indicator.d.ts +0 -3
  220. package/dist/components/thinking-indicator.d.ts.map +0 -1
  221. package/dist/components/thinking-indicator.js +0 -69
  222. package/dist/components/thinking-indicator.js.map +0 -1
  223. package/dist/recommendations/model-database.d.ts +0 -8
  224. package/dist/recommendations/model-database.d.ts.map +0 -1
  225. package/dist/recommendations/model-database.js +0 -514
  226. package/dist/recommendations/model-database.js.map +0 -1
  227. package/dist/recommendations/model-engine.d.ts +0 -16
  228. package/dist/recommendations/model-engine.d.ts.map +0 -1
  229. package/dist/recommendations/model-engine.js +0 -185
  230. package/dist/recommendations/model-engine.js.map +0 -1
  231. package/dist/recommendations/recommendation-engine.d.ts +0 -39
  232. package/dist/recommendations/recommendation-engine.d.ts.map +0 -1
  233. package/dist/recommendations/recommendation-engine.js +0 -144
  234. package/dist/recommendations/recommendation-engine.js.map +0 -1
  235. package/dist/system/detector.d.ts +0 -18
  236. package/dist/system/detector.d.ts.map +0 -1
  237. package/dist/system/detector.js +0 -140
  238. package/dist/system/detector.js.map +0 -1
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,KAAK,CAAC;AACtC,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AACpE,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAC,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAC5D,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACN,qBAAqB,EACrB,4BAA4B,GAC5B,MAAM,sCAAsC,CAAC;AAE9C,uCAAuC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAC,cAAc,EAAC,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,wCAAwC;AACxC,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAOnD,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAC,UAAU,GAAG,KAAK,EAAE,UAAU,EAAW;IACrE,sBAAsB;IACtB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,EAAC,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAC,GACpE,iBAAiB,EAAE,CAAC;IAErB,8CAA8C;IAC9C,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACnE,GAAG,EAAE,CAAC,UAAU,IAAI,4BAA4B,EAAE,CAClD,CAAC;IACF,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAC1D,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEvB,MAAM,UAAU,GAAG,GAAG,EAAE;QACvB,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;IAEF,sEAAsE;IACtE,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAC3C,CACC,MAAc,EACd,OAIC,EACA,EAAE;QACH,kDAAkD;QAClD,IAAI,cAAc,GAAG,MAAM,CAAC;QAC5B,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACvB,cAAc,GAAG,aAAa,OAAO,CAAC,QAAQ,GAC7C,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EACtC,QAAQ,MAAM,EAAE,CAAC;QAClB,CAAC;QACD,8DAA8D;QAC9D,mCAAmC;QACnC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC,EACD,EAAE,CACF,CAAC;IAEF,+DAA+D;IAC/D,mFAAmF;IACnF,MAAM,aAAa,GAAG,eAAe,CAAC;QACrC,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,QAAQ,EAAE,kBAAkB;KAC5B,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,iBAAiB,GAAG;QACzB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC7C,eAAe,EAAE,QAAQ,CAAC,eAAe;KACzC,CAAC;IAEF,qDAAqD;IACrD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,qBAAqB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAE9B,qBAAqB;IACrB,MAAM,WAAW,GAAG,cAAc,CAAC;QAClC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,WAAW,EAAE,QAAQ,CAAC,cAAc;QACpC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;QACjD,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,2BAA2B,EAAE,CAC5B,SAAS,EACT,eAAe,EACf,YAAY,EACZ,aAAa,EACZ,EAAE;YACH,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACxC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAChC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YACrC,QAAQ,CAAC,6BAA6B,CAAC;gBACtC,eAAe;gBACf,YAAY;gBACZ,aAAa;aACb,CAAC,CAAC;YACH,QAAQ,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;KACD,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,WAAW,GAAG,cAAc,CAAC;QAClC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;QACnD,0BAA0B,EAAE,QAAQ,CAAC,0BAA0B;QAC/D,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;QACjD,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;QACjD,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;QACzD,6BAA6B,EAAE,QAAQ,CAAC,6BAA6B;QACrE,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB;QAC7D,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,WAAW,EAAE,QAAQ,CAAC,cAAc;QACpC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;QACjD,0BAA0B,EAAE,QAAQ,CAAC,0BAA0B;QAC/D,0BAA0B,EAAE,WAAW,CAAC,wBAAwB;QAChE,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;KAC/C,CAAC,CAAC;IAEH,uBAAuB;IACvB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;QAC9C,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;QACvD,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;QAC3D,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;QACrD,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;QACjD,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;KACrD,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,YAAY,GAAG,eAAe,CAAC;QACpC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,WAAW,EAAE,QAAQ,CAAC,cAAc;QACpC,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;QACzD,0BAA0B,EAAE,QAAQ,CAAC,0BAA0B;QAC/D,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;QACzD,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;QAC3D,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;QACrD,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;QACjD,sBAAsB,EAAE,iBAAiB,CAAC,sBAAsB;KAChE,CAAC,CAAC;IAEH,qDAAqD;IACrD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAClC,GAAG,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC1E,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAC1C,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC9B,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/B,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;IACF,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,2BAA2B,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC1D,QAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;YACzC,MAAM,KAAK,GAA6C;gBACvD,QAAQ;gBACR,aAAa;gBACb,MAAM;aACN,CAAC;YACF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YACpD,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,QAAQ,CAAC,cAAc,CACtB,KAAC,MAAM,IAEN,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAClC,KAAK,EAAE,QAAQ,CAAC,YAAY,EAC5B,KAAK,EAAE,QAAQ,CAAC,YAAY,EAC5B,UAAU,EAAE,QAAQ,CAAC,UAAU,IAJ1B,UAAU,QAAQ,CAAC,mBAAmB,EAAE,CAK5C,CACF,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAC5C,KAAK,EAAE,OAAe,EAAE,EAAE;QACzB,MAAM,uBAAuB,CAAC,OAAO,EAAE;YACtC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;YACjD,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;YACrD,eAAe,EAAE,aAAa;YAC9B,yBAAyB,EAAE,YAAY,CAAC,uBAAuB;YAC/D,4BAA4B,EAAE,YAAY,CAAC,0BAA0B;YACrE,yBAAyB,EAAE,YAAY,CAAC,uBAAuB;YAC/D,0BAA0B,EAAE,YAAY,CAAC,wBAAwB;YACjE,uBAAuB,EAAE,YAAY,CAAC,qBAAqB;YAC3D,YAAY,EAAE,gBAAgB;YAC9B,mBAAmB,EAAE,WAAW,CAAC,iBAAiB;YAClD,gBAAgB,EAAE,QAAQ,CAAC,cAAc;YACzC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;YACjD,WAAW,EAAE,QAAQ,CAAC,cAAc;YACpC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;YACrD,QAAQ,EAAE,QAAQ,CAAC,eAAe;YAClC,KAAK,EAAE,QAAQ,CAAC,YAAY;YAC5B,KAAK,EAAE,QAAQ,CAAC,YAAY;YAC5B,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;SAC3C,CAAC,CAAC;IACJ,CAAC,EACD;QACC,QAAQ,CAAC,kBAAkB;QAC3B,QAAQ,CAAC,mBAAmB;QAC5B,QAAQ,CAAC,qBAAqB;QAC9B,aAAa;QACb,YAAY,CAAC,uBAAuB;QACpC,YAAY,CAAC,0BAA0B;QACvC,YAAY,CAAC,uBAAuB;QACpC,YAAY,CAAC,wBAAwB;QACrC,YAAY,CAAC,qBAAqB;QAClC,gBAAgB;QAChB,WAAW,CAAC,iBAAiB;QAC7B,QAAQ,CAAC,cAAc;QACvB,QAAQ,CAAC,mBAAmB;QAC5B,QAAQ,CAAC,cAAc;QACvB,QAAQ,CAAC,QAAQ;QACjB,QAAQ,CAAC,kBAAkB;QAC3B,QAAQ,CAAC,qBAAqB;QAC9B,QAAQ,CAAC,eAAe;QACxB,QAAQ,CAAC,YAAY;QACrB,QAAQ,CAAC,YAAY;QACrB,QAAQ,CAAC,UAAU;QACnB,QAAQ,CAAC,gBAAgB;KACzB,CACD,CAAC;IAEF,8DAA8D;IAC9D,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CACrC,GAAG,EAAE,CAAC;QACL,KAAC,cAAc,MAAK,SAAS,CAAG;QAChC,KAAC,MAAM,IAEN,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAClC,KAAK,EAAE,QAAQ,CAAC,YAAY,EAC5B,KAAK,EAAE,QAAQ,CAAC,YAAY,EAC5B,UAAU,EAAE,QAAQ,CAAC,UAAU,IAJ3B,QAAQ,CAKX;KACF,EACD;QACC,QAAQ,CAAC,eAAe;QACxB,QAAQ,CAAC,YAAY;QACrB,QAAQ,CAAC,YAAY;QACrB,QAAQ,CAAC,UAAU;KACnB,CACD,CAAC;IAEF,iDAAiD;IACjD,IAAI,cAAc,EAAE,CAAC;QACpB,OAAO,CACN,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,YACrC,MAAC,IAAI,IAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,SAAS,aAC9C,KAAC,OAAO,IAAC,IAAI,EAAC,OAAO,GAAG,oCAClB,GACF,CACN,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,cAAc,EAAE,CAAC;QACpB,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,aACrC,MAAC,IAAI,IAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,8DACN,cAAc,IAC5C,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,SAAS,0EAExC,IACF,CACN,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,CACN,KAAC,kBAAkB,IAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,GAAI,CACzE,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAI,mBAAmB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrD,OAAO,CACN,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,YAC9C,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,aACrC,KAAC,cAAc,KAAG,EAClB,KAAC,qBAAqB,IACrB,UAAU,EAAE,GAAG,EAAE;4BAChB,sBAAsB,CAAC,KAAK,CAAC,CAAC;4BAC9B,0BAA0B,CAAC,IAAI,CAAC,CAAC;wBAClC,CAAC,EACD,MAAM,EAAE,GAAG,EAAE;4BACZ,sBAAsB,CAAC,KAAK,CAAC,CAAC;4BAC9B,0BAA0B,CAAC,IAAI,CAAC,CAAC;wBAClC,CAAC,GACA,IACG,GACiB,CACxB,CAAC;IACH,CAAC;IAED,OAAO,CACN,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,YAC9C,KAAC,eAAe,cACf,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAC,MAAM,aAEnD,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACnD,QAAQ,CAAC,SAAS,IAAI,CACtB,KAAC,SAAS,IACT,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,QAAQ,CAAC,cAAc,GACxC,CACF,GACI,EACL,QAAQ,CAAC,SAAS,IAAI,CACtB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,CAAC,aACxC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CACxB,KAAC,mBAAmB,KAAG,CACvB,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CACrD,KAAC,iBAAiB,KAAG,CACrB,CAAC,CAAC,CAAC,IAAI,EAEP,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,gBAAgB,IAAI,CAC3D,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aAC1C,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YACnB,MAAC,IAAI,IAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,mBACjD,QAAQ,CAAC,YAAY,SAChB,GACF,EACN,KAAC,IAAI,cAAE,WAAW,CAAC,gBAAgB,GAAQ,IACtC,CACN,EACA,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAChC,KAAC,aAAa,IACb,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,YAAY,EAAE,QAAQ,CAAC,YAAY,EACnC,aAAa,EAAE,KAAK,CAAC,EAAE,CACtB,KAAK,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAE3C,QAAQ,EAAE,YAAY,CAAC,0BAA0B,GAChD,CACF,CAAC,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CACtC,KAAC,gBAAgB,IAChB,eAAe,EAAE,QAAQ,CAAC,eAAe,EACzC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAC5B,KAAK,YAAY,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAEjD,QAAQ,EAAE,YAAY,CAAC,6BAA6B,GACnD,CACF,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CACnC,KAAC,aAAa,IACb,aAAa,EAAE,YAAY,CAAC,iBAAiB,EAC7C,QAAQ,EAAE,YAAY,CAAC,0BAA0B,GAChD,CACF,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CACpC,KAAC,sBAAsB,IACtB,QAAQ,EAAE,YAAY,CAAC,2BAA2B,GACjD,CACF,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACjC,KAAC,YAAY,IACZ,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EACzB,UAAU,EAAE,UAAU,CAAC,EAAE,CACxB,KAAK,YAAY,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAEzD,QAAQ,EAAE,YAAY,CAAC,wBAAwB,GAC9C,CACF,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB;gCACjC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CACxD,KAAC,gBAAgB,IAChB,QAAQ,EACP,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAErD,SAAS,EAAE,WAAW,CAAC,sBAAsB,EAC7C,QAAQ,EAAE,WAAW,CAAC,4BAA4B,GACjD,CACF,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe;gCAC1B,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CACxD,KAAC,sBAAsB,IACtB,QAAQ,EACP,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC;qCAClD,QAAQ,CAAC,IAAI,EAEhB,YAAY,EAAE,QAAQ,CAAC,gBAAgB,EACvC,UAAU,EAAE,QAAQ,CAAC,gBAAgB,CAAC,MAAM,GAC3C,CACF,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAC9B,KAAC,sBAAsB,IAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,GAAI,CAChE,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAChD,KAAC,SAAS,IACT,cAAc,EAAE,KAAK,CAAC,IAAI,CACzB,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAClC,EACD,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,mBAAmB,CAAC,GAAG,CAAC,EAC9C,QAAQ,EACP,QAAQ,CAAC,UAAU;oCACnB,QAAQ,CAAC,eAAe;oCACxB,QAAQ,CAAC,eAAe,EAEzB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,2BAA2B,EACzC,eAAe,EAAE,QAAQ,CAAC,eAAe,GACxC,CACF,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CACjD,mBAAK,CACL,CAAC,CAAC,CAAC,CACH,MAAC,IAAI,IAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,SAAS,aAC9C,KAAC,OAAO,IAAC,IAAI,EAAC,OAAO,GAAG,mBAClB,CACP,IACI,CACN,IACI,GACW,GACK,CACxB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from '../types/index.js';
2
+ export declare const debuggingCommand: Command;
3
+ //# sourceMappingURL=debugging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugging.d.ts","sourceRoot":"","sources":["../../source/commands/debugging.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAmBtC,eAAO,MAAM,gBAAgB,EAAE,OAgB9B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import InfoMessage from '../components/info-message.js';
4
+ import { isDebuggingEnabled, setDebuggingEnabled } from '../config/preferences.js';
5
+ import { Box } from 'ink';
6
+ function DebuggingToggle({ enabled }) {
7
+ return (_jsx(Box, { marginTop: 1, marginBottom: 1, children: _jsx(InfoMessage, { hideBox: true, message: `Tool execution debugging ${enabled ? 'enabled' : 'disabled'}.` }) }));
8
+ }
9
+ export const debuggingCommand = {
10
+ name: 'debugging',
11
+ description: 'Toggle tool execution debugging logs on/off',
12
+ handler: (_args) => {
13
+ // Toggle the current debugging setting
14
+ const currentSetting = isDebuggingEnabled();
15
+ const newSetting = !currentSetting;
16
+ setDebuggingEnabled(newSetting);
17
+ return Promise.resolve(React.createElement(DebuggingToggle, {
18
+ enabled: newSetting,
19
+ key: `debugging-${Date.now()}`,
20
+ }));
21
+ },
22
+ };
23
+ //# sourceMappingURL=debugging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugging.js","sourceRoot":"","sources":["../../source/commands/debugging.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAC,kBAAkB,EAAE,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB,SAAS,eAAe,CAAC,EAAC,OAAO,EAAqB;IACrD,OAAO,CACN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,YACjC,KAAC,WAAW,IACX,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,4BACR,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UACvB,GAAG,GACF,GACG,CACN,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACxC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,6CAA6C;IAC1D,OAAO,EAAE,CAAC,KAAe,EAAE,EAAE;QAC5B,uCAAuC;QACvC,MAAM,cAAc,GAAG,kBAAkB,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC;QACnC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAEhC,OAAO,OAAO,CAAC,OAAO,CACrB,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE;YACpC,OAAO,EAAE,UAAU;YACnB,GAAG,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE;SAC9B,CAAC,CACF,CAAC;IACH,CAAC;CACD,CAAC"}
@@ -4,14 +4,15 @@ export * from '../commands/clear.js';
4
4
  export * from '../commands/model.js';
5
5
  export * from '../commands/provider.js';
6
6
  export * from '../commands/mcp.js';
7
+ export * from '../commands/lsp.js';
7
8
  export * from '../commands/custom-commands.js';
8
9
  export * from '../commands/init.js';
9
10
  export * from '../commands/theme.js';
10
11
  export * from '../commands/export.js';
11
12
  export * from '../commands/update.js';
12
- export * from '../commands/recommendations.js';
13
+ export * from '../commands/model-database.js';
13
14
  export * from '../commands/status.js';
14
15
  export * from '../commands/setup-config.js';
15
- export * from '../commands/streaming.js';
16
+ export * from '../commands/debugging.js';
16
17
  export * from '../commands/usage.js';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
@@ -4,14 +4,15 @@ export * from '../commands/clear.js';
4
4
  export * from '../commands/model.js';
5
5
  export * from '../commands/provider.js';
6
6
  export * from '../commands/mcp.js';
7
+ export * from '../commands/lsp.js';
7
8
  export * from '../commands/custom-commands.js';
8
9
  export * from '../commands/init.js';
9
10
  export * from '../commands/theme.js';
10
11
  export * from '../commands/export.js';
11
12
  export * from '../commands/update.js';
12
- export * from '../commands/recommendations.js';
13
+ export * from '../commands/model-database.js';
13
14
  export * from '../commands/status.js';
14
15
  export * from '../commands/setup-config.js';
15
- export * from '../commands/streaming.js';
16
+ export * from '../commands/debugging.js';
16
17
  export * from '../commands/usage.js';
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Command } from '../types/index.js';
2
+ interface LSPProps {
3
+ status: {
4
+ initialized: boolean;
5
+ servers: Array<{
6
+ name: string;
7
+ ready: boolean;
8
+ languages: string[];
9
+ }>;
10
+ };
11
+ }
12
+ export declare function LSP({ status }: LSPProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare const lspCommand: Command;
14
+ export {};
15
+ //# sourceMappingURL=lsp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsp.d.ts","sourceRoot":"","sources":["../../source/commands/lsp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAQ3C,UAAU,QAAQ;IACjB,MAAM,EAAE;QACP,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,KAAK,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,OAAO,CAAC;YAAC,SAAS,EAAE,MAAM,EAAE,CAAA;SAAC,CAAC,CAAC;KACpE,CAAC;CACF;AAED,wBAAgB,GAAG,CAAC,EAAC,MAAM,EAAC,EAAE,QAAQ,2CAyFrC;AAED,eAAO,MAAM,UAAU,EAAE,OAgBxB,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { getLSPManager } from '../lsp/lsp-manager.js';
3
+ import React from 'react';
4
+ import { TitledBox, titleStyles } from '@mishieck/ink-titled-box';
5
+ import { Box, Text } from 'ink';
6
+ import { useTerminalWidth } from '../hooks/useTerminalWidth.js';
7
+ import { useTheme } from '../hooks/useTheme.js';
8
+ export function LSP({ status }) {
9
+ const boxWidth = useTerminalWidth();
10
+ const { colors } = useTheme();
11
+ const { servers } = status;
12
+ return (_jsx(TitledBox, { borderStyle: "round", titles: ['/lsp'], titleStyles: titleStyles.pill, width: boxWidth, borderColor: colors.primary, paddingX: 2, paddingY: 1, flexDirection: "column", marginBottom: 1, children: servers.length === 0 ? (_jsxs(_Fragment, { children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.white, bold: true, children: "No LSP servers connected" }) }), _jsxs(Text, { color: colors.white, children: ["To connect LSP servers, configure them in your", ' ', _jsx(Text, { color: colors.primary, children: "agents.config.json" }), " file:"] }), _jsx(Box, { marginTop: 1, marginBottom: 1, children: _jsx(Text, { color: colors.secondary, children: `{
13
+ "nanocoder": {
14
+ "lsp": {
15
+ "servers": [
16
+ {
17
+ "name": "typescript-language-server",
18
+ "command": "typescript-language-server",
19
+ "args": ["--stdio"],
20
+ "languages": ["ts", "js", "tsx", "jsx"]
21
+ }
22
+ ]
23
+ }
24
+ }
25
+ }` }) }), _jsx(Text, { color: colors.secondary, children: "LSP servers will auto-discover based on your project files." })] })) : (_jsxs(_Fragment, { children: [_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: colors.primary, children: ["Connected LSP Servers (", servers.length, "):"] }) }), servers.map((server, index) => {
26
+ // Determine status icon and text based on readiness
27
+ const statusIcon = server.ready ? '🟢' : '🔴';
28
+ const statusText = server.ready ? 'Ready' : 'Initializing';
29
+ return (_jsx(Box, { marginBottom: 1, children: _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: colors.white, children: ["\u2022 ", statusIcon, ' ', _jsx(Text, { color: colors.primary, children: server.name }), ":", ' ', _jsxs(Text, { color: colors.secondary, children: ["(", statusText, ")"] })] }), server.languages.length > 0 && (_jsxs(Text, { color: colors.secondary, children: ["Languages: ", server.languages.join(', ')] }))] }) }, index));
30
+ })] })) }, colors.primary));
31
+ }
32
+ export const lspCommand = {
33
+ name: 'lsp',
34
+ description: 'Show connected LSP servers and their status',
35
+ handler: (_args, _messages, _metadata) => {
36
+ const lspManager = getLSPManager();
37
+ // Get the current status of LSP servers
38
+ const status = lspManager.getStatus();
39
+ return Promise.resolve(React.createElement(LSP, {
40
+ key: `lsp-${Date.now()}`,
41
+ status: status,
42
+ }));
43
+ },
44
+ };
45
+ //# sourceMappingURL=lsp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsp.js","sourceRoot":"","sources":["../../source/commands/lsp.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Command } from '../types/index.js';
2
+ interface ModelDatabaseDisplayProps {
3
+ onCancel?: () => void;
4
+ }
5
+ declare function ModelDatabaseDisplay({ onCancel }: ModelDatabaseDisplayProps): import("react/jsx-runtime").JSX.Element | null;
6
+ export { ModelDatabaseDisplay };
7
+ export declare const modelDatabaseCommand: Command;
8
+ //# sourceMappingURL=model-database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-database.d.ts","sourceRoot":"","sources":["../../source/commands/model-database.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAqB,MAAM,eAAe,CAAC;AAO1D,UAAU,yBAAyB;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,iBAAS,oBAAoB,CAAC,EAAC,QAAQ,EAAC,EAAE,yBAAyB,kDAoNlE;AAmLD,OAAO,EAAC,oBAAoB,EAAC,CAAC;AAE9B,eAAO,MAAM,oBAAoB,EAAE,OAMlC,CAAC"}
@@ -0,0 +1,193 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useState, useEffect } from 'react';
3
+ import { Box, Text, useInput, useFocus } from 'ink';
4
+ import { TitledBox, titleStyles } from '@mishieck/ink-titled-box';
5
+ import { Tabs, Tab } from 'ink-tab';
6
+ import { useTerminalWidth } from '../hooks/useTerminalWidth.js';
7
+ import { useTheme } from '../hooks/useTheme.js';
8
+ import { databaseEngine } from '../model-database/database-engine.js';
9
+ function ModelDatabaseDisplay({ onCancel }) {
10
+ const boxWidth = useTerminalWidth();
11
+ const { colors } = useTheme();
12
+ const [openModels, setOpenModels] = useState([]);
13
+ const [proprietaryModels, setProprietaryModels] = useState([]);
14
+ const [latestModels, setLatestModels] = useState([]);
15
+ const [allModels, setAllModels] = useState([]);
16
+ const [loading, setLoading] = useState(true);
17
+ const [error, setError] = useState(null);
18
+ const [currentModelIndex, setCurrentModelIndex] = useState(0);
19
+ const [activeTab, setActiveTab] = useState('latest');
20
+ const [searchQuery, setSearchQuery] = useState('');
21
+ const [searchMode, setSearchMode] = useState(false);
22
+ const [closed, setClosed] = useState(false);
23
+ // Capture focus to prevent user input from being active
24
+ useFocus({ autoFocus: true, id: 'model-database-display' });
25
+ // Get current tab's models with search filtering
26
+ const filterBySearch = (modelList) => {
27
+ if (!searchQuery)
28
+ return modelList;
29
+ const query = searchQuery.toLowerCase();
30
+ return modelList.filter(m => m.name.toLowerCase().includes(query) ||
31
+ m.author.toLowerCase().includes(query) ||
32
+ m.id.toLowerCase().includes(query));
33
+ };
34
+ // Get models for current view
35
+ const getCurrentModels = () => {
36
+ if (searchMode) {
37
+ return filterBySearch(allModels);
38
+ }
39
+ switch (activeTab) {
40
+ case 'latest':
41
+ return latestModels;
42
+ case 'open':
43
+ return openModels;
44
+ case 'proprietary':
45
+ return proprietaryModels;
46
+ default:
47
+ return [];
48
+ }
49
+ };
50
+ const currentTabModels = getCurrentModels();
51
+ // Keyboard handler for navigation
52
+ useInput((input, key) => {
53
+ if (key.escape) {
54
+ if (searchMode) {
55
+ setSearchMode(false);
56
+ setSearchQuery('');
57
+ setCurrentModelIndex(0);
58
+ }
59
+ else {
60
+ setClosed(true);
61
+ if (onCancel) {
62
+ onCancel();
63
+ }
64
+ }
65
+ }
66
+ else if (key.return) {
67
+ setClosed(true);
68
+ if (onCancel) {
69
+ onCancel();
70
+ }
71
+ }
72
+ else if (key.upArrow) {
73
+ setCurrentModelIndex(prev => Math.max(0, prev - 1));
74
+ }
75
+ else if (key.downArrow) {
76
+ setCurrentModelIndex(prev => Math.min(currentTabModels.length - 1, prev + 1));
77
+ }
78
+ else if (key.tab && !searchMode) {
79
+ // Cycle through tabs
80
+ const tabs = ['latest', 'open', 'proprietary'];
81
+ const currentIndex = tabs.indexOf(activeTab);
82
+ const nextIndex = (currentIndex + 1) % tabs.length;
83
+ setActiveTab(tabs[nextIndex]);
84
+ }
85
+ else if (key.backspace || key.delete) {
86
+ if (searchMode) {
87
+ setSearchQuery(prev => {
88
+ const newQuery = prev.slice(0, -1);
89
+ if (newQuery === '') {
90
+ setSearchMode(false);
91
+ }
92
+ return newQuery;
93
+ });
94
+ setCurrentModelIndex(0);
95
+ }
96
+ }
97
+ else if (input && input.length === 1 && !key.ctrl && !key.meta) {
98
+ if (!searchMode) {
99
+ setSearchMode(true);
100
+ }
101
+ setSearchQuery(prev => prev + input);
102
+ setCurrentModelIndex(0);
103
+ }
104
+ });
105
+ // Reset index when switching tabs
106
+ useEffect(() => {
107
+ // eslint-disable-next-line react-hooks/set-state-in-effect -- Reset state when activeTab changes is intentional
108
+ setCurrentModelIndex(0);
109
+ }, [activeTab]);
110
+ useEffect(() => {
111
+ async function loadModels() {
112
+ try {
113
+ const result = await databaseEngine.getDatabasesAsync();
114
+ setOpenModels(result.openModels);
115
+ setProprietaryModels(result.proprietaryModels);
116
+ setLatestModels(result.latestModels);
117
+ setAllModels(result.allModels);
118
+ setLoading(false);
119
+ }
120
+ catch (error_) {
121
+ setError(error_ instanceof Error
122
+ ? error_.message
123
+ : 'Failed to fetch model data');
124
+ setLoading(false);
125
+ }
126
+ }
127
+ void loadModels();
128
+ }, []);
129
+ if (closed) {
130
+ return null;
131
+ }
132
+ if (loading) {
133
+ return (_jsx(TitledBox, { borderStyle: "round", titles: ['/model-database'], titleStyles: titleStyles.pill, width: boxWidth, borderColor: colors.primary, paddingX: 2, paddingY: 1, children: _jsx(Text, { color: colors.white, children: "Fetching models from OpenRouter..." }) }));
134
+ }
135
+ if (error) {
136
+ return (_jsx(TitledBox, { borderStyle: "round", titles: ['/model-database'], titleStyles: titleStyles.pill, width: boxWidth, borderColor: colors.error, paddingX: 2, paddingY: 1, children: _jsxs(Text, { color: colors.error, children: ["Error: ", error] }) }));
137
+ }
138
+ return (_jsxs(TitledBox, { borderStyle: "round", titles: ['/model-database'], titleStyles: titleStyles.pill, width: boxWidth, borderColor: colors.primary, paddingX: 2, paddingY: 1, marginBottom: 1, flexDirection: "column", children: [_jsx(ModelsTabView, { openModels: openModels, proprietaryModels: proprietaryModels, latestModels: latestModels, colors: colors, currentModelIndex: currentModelIndex, activeTab: activeTab, onTabChange: setActiveTab, searchMode: searchMode, searchQuery: searchQuery, currentTabModels: currentTabModels }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [searchMode && searchQuery && (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: colors.primary, children: ["Search: ", _jsx(Text, { bold: true, children: searchQuery })] }) })), _jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.secondary, dimColor: true, children: "Data from OpenRouter" }) }), _jsx(Text, { color: colors.secondary, dimColor: true, children: searchMode
139
+ ? 'Type to search | Backspace to delete | Up/Down: Navigate | Esc: Exit search'
140
+ : 'Type to search | Up/Down: Navigate | Tab: Switch tabs | Esc: Close' })] })] }));
141
+ }
142
+ function ModelsTabView({ openModels, proprietaryModels, latestModels, colors, currentModelIndex, activeTab, onTabChange, searchMode, searchQuery, currentTabModels, }) {
143
+ const currentModel = currentTabModels[currentModelIndex];
144
+ if (!currentModel) {
145
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: 'round', borderColor: colors.secondary, padding: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.primary, bold: true, underline: true, children: searchMode ? 'Search Results' : 'Model Browser' }) }), !searchMode && (_jsxs(Tabs, { onChange: name => onTabChange(name), defaultValue: activeTab, colors: {
146
+ activeTab: {
147
+ color: colors.success,
148
+ },
149
+ }, children: [_jsxs(Tab, { name: "latest", children: ["Latest (", latestModels.length, ")"] }), _jsxs(Tab, { name: "open", children: ["Open (", openModels.length, ")"] }), _jsxs(Tab, { name: "proprietary", children: ["Proprietary (", proprietaryModels.length, ")"] })] })), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.warning, children: searchMode && searchQuery
150
+ ? `No models found matching "${searchQuery}"`
151
+ : 'No models available in this category' }) })] }));
152
+ }
153
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: 'round', borderColor: colors.secondary, padding: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.primary, bold: true, underline: true, children: searchMode ? 'Search Results' : 'Model Browser' }) }), !searchMode && (_jsxs(Tabs, { onChange: name => onTabChange(name), defaultValue: activeTab, colors: {
154
+ activeTab: {
155
+ color: colors.success,
156
+ },
157
+ }, children: [_jsxs(Tab, { name: "latest", children: ["Latest (", latestModels.length, ")"] }), _jsxs(Tab, { name: "open", children: ["Open (", openModels.length, ")"] }), _jsxs(Tab, { name: "proprietary", children: ["Proprietary (", proprietaryModels.length, ")"] })] })), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: colors.secondary, dimColor: true, children: ["Model ", currentModelIndex + 1, " of ", currentTabModels.length] }) }), _jsx(ModelItem, { model: currentModel, colors: colors })] })] }));
158
+ }
159
+ function ModelItem({ model, colors }) {
160
+ // Format the created date
161
+ const formatDate = (timestamp) => {
162
+ const date = new Date(timestamp * 1000);
163
+ return date.toLocaleDateString('en-US', {
164
+ year: 'numeric',
165
+ month: 'short',
166
+ day: 'numeric',
167
+ });
168
+ };
169
+ // Get cost label based on score
170
+ const getCostLabel = (score) => {
171
+ if (score >= 9)
172
+ return { label: 'Free', color: colors.success };
173
+ if (score >= 7)
174
+ return { label: 'Cheap', color: colors.success };
175
+ if (score >= 5)
176
+ return { label: 'Moderate', color: colors.primary };
177
+ if (score >= 3)
178
+ return { label: 'Expensive', color: colors.warning };
179
+ return { label: 'Premium', color: colors.error };
180
+ };
181
+ const costInfo = getCostLabel(model.quality.cost);
182
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Box, { children: _jsx(Text, { color: colors.primary, bold: true, underline: true, children: model.name }) }), _jsx(Box, { marginLeft: 2, flexDirection: "column", children: _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: colors.white, children: [_jsx(Text, { bold: true, children: "ID: " }), _jsx(Text, { dimColor: true, children: model.id })] }), _jsxs(Text, { color: colors.white, children: [_jsx(Text, { bold: true, children: "Author: " }), model.author] }), _jsxs(Text, { color: colors.white, children: [_jsx(Text, { bold: true, children: "Context: " }), model.size, " tokens"] }), _jsxs(Text, { color: colors.white, children: [_jsx(Text, { bold: true, children: "Type: " }), model.local ? 'Open Weights' : 'Proprietary'] }), _jsxs(Text, { color: colors.white, children: [_jsx(Text, { bold: true, children: "Cost: " }), _jsx(Text, { color: costInfo.color, children: costInfo.label }), _jsxs(Text, { dimColor: true, children: [" - ", model.costDetails] })] }), _jsxs(Text, { color: colors.white, children: [_jsx(Text, { bold: true, children: "Tools: " }), model.hasToolSupport ? (_jsx(Text, { color: colors.success, children: "Supported" })) : (_jsx(Text, { dimColor: true, children: "Not supported" }))] }), _jsxs(Text, { color: colors.white, children: [_jsx(Text, { bold: true, children: "Added: " }), formatDate(model.created)] })] }) })] }));
183
+ }
184
+ // Export the display component for use in app.tsx
185
+ export { ModelDatabaseDisplay };
186
+ export const modelDatabaseCommand = {
187
+ name: 'model-database',
188
+ description: 'Browse coding models from OpenRouter',
189
+ handler: (_args, _messages, _metadata) => {
190
+ return Promise.resolve(React.createElement(React.Fragment));
191
+ },
192
+ };
193
+ //# sourceMappingURL=model-database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-database.js","sourceRoot":"","sources":["../../source/commands/model-database.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../source/commands/usage.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAY9C,eAAO,MAAM,YAAY,EAAE,OAmF1B,CAAC"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../source/commands/usage.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAY9C,eAAO,MAAM,YAAY,EAAE,OAiF1B,CAAC"}
@@ -18,7 +18,7 @@ export const usageCommand = {
18
18
  const tokenizer = createTokenizer(provider, model);
19
19
  // Generate the system prompt to include in token calculation
20
20
  const toolManager = getToolManager();
21
- const systemPrompt = processPromptTemplate(toolManager ? toolManager.getAllTools() : {});
21
+ const systemPrompt = processPromptTemplate();
22
22
  // Create system message to include in token calculation
23
23
  const systemMessage = {
24
24
  role: 'system',
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../source/commands/usage.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,YAAY,EAAC,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EACN,uBAAuB,EACvB,8BAA8B,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAE/D,MAAM,CAAC,MAAM,YAAY,GAAY;IACpC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,gCAAgC;IAC7C,OAAO,EAAE,KAAK,EACb,KAAe,EACf,QAAmB,EACnB,QAKC,EACA,EAAE;QACH,MAAM,EAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAC,GAAG,QAAQ,CAAC;QAErD,0CAA0C;QAC1C,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEnD,6DAA6D;QAC7D,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,qBAAqB,CACzC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAC5C,CAAC;QAEF,wDAAwD;QACxD,MAAM,aAAa,GAAY;YAC9B,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,YAAY;SACrB,CAAC;QAEF,kEAAkE;QAClE,0FAA0F;QAC1F,2FAA2F;QAC3F,MAAM,aAAa,GAAG,uBAAuB,CAC5C,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,EAC5B,SAAS,EACT,OAAO,CAAC,EAAE;YACT,0EAA0E;YAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YACD,8CAA8C;YAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC,CACD,CAAC;QAEF,wCAAwC;QACxC,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QAE1C,+BAA+B;QAC/B,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,EAAE,CAAC;QAClB,CAAC;QAED,2EAA2E;QAC3E,+EAA+E;QAC/E,MAAM,eAAe,GAAG,WAAW;YAClC,CAAC,CAAC,8BAA8B,CAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,CAChD;YACH,CAAC,CAAC,CAAC,CAAC;QAEL,MAAM,SAAS,GAAG;YACjB,GAAG,aAAa;YAChB,eAAe;YACf,KAAK,EAAE,aAAa,CAAC,KAAK,GAAG,eAAe;SAC5C,CAAC;QAEF,oCAAoC;QACpC,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAEvD,OAAO,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE;YACxC,GAAG,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,EAAE;YAC1B,QAAQ;YACR,KAAK;YACL,YAAY;YACZ,aAAa,EAAE,SAAS,CAAC,KAAK;YAC9B,SAAS;YACT,QAAQ;YACR,aAAa;YACb,gBAAgB;SAChB,CAAC,CAAC;IACJ,CAAC;CACD,CAAC"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../source/commands/usage.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,YAAY,EAAC,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EACN,uBAAuB,EACvB,8BAA8B,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAE/D,MAAM,CAAC,MAAM,YAAY,GAAY;IACpC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,gCAAgC;IAC7C,OAAO,EAAE,KAAK,EACb,KAAe,EACf,QAAmB,EACnB,QAKC,EACA,EAAE;QACH,MAAM,EAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAC,GAAG,QAAQ,CAAC;QAErD,0CAA0C;QAC1C,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEnD,6DAA6D;QAC7D,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;QAE7C,wDAAwD;QACxD,MAAM,aAAa,GAAY;YAC9B,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,YAAY;SACrB,CAAC;QAEF,kEAAkE;QAClE,0FAA0F;QAC1F,2FAA2F;QAC3F,MAAM,aAAa,GAAG,uBAAuB,CAC5C,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,EAC5B,SAAS,EACT,OAAO,CAAC,EAAE;YACT,0EAA0E;YAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YACD,8CAA8C;YAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC,CACD,CAAC;QAEF,wCAAwC;QACxC,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QAE1C,+BAA+B;QAC/B,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,EAAE,CAAC;QAClB,CAAC;QAED,2EAA2E;QAC3E,+EAA+E;QAC/E,MAAM,eAAe,GAAG,WAAW;YAClC,CAAC,CAAC,8BAA8B,CAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,CAChD;YACH,CAAC,CAAC,CAAC,CAAC;QAEL,MAAM,SAAS,GAAG;YACjB,GAAG,aAAa;YAChB,eAAe;YACf,KAAK,EAAE,aAAa,CAAC,KAAK,GAAG,eAAe;SAC5C,CAAC;QAEF,oCAAoC;QACpC,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAEvD,OAAO,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE;YACxC,GAAG,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,EAAE;YAC1B,QAAQ;YACR,KAAK;YACL,YAAY;YACZ,aAAa,EAAE,SAAS,CAAC,KAAK;YAC9B,SAAS;YACT,QAAQ;YACR,aAAa;YACb,gBAAgB;SAChB,CAAC,CAAC;IACJ,CAAC;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-message.d.ts","sourceRoot":"","sources":["../../source/components/assistant-message.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;;AAGzD,wBA0BG"}
1
+ {"version":3,"file":"assistant-message.d.ts","sourceRoot":"","sources":["../../source/components/assistant-message.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;;AAGzD,wBA2BG"}
@@ -6,13 +6,14 @@ import { parseMarkdown } from '../markdown-parser/index.js';
6
6
  export default memo(function AssistantMessage({ message, model, }) {
7
7
  const { colors } = useTheme();
8
8
  // Render markdown to terminal-formatted text with theme colors
9
+ // Add trailing newline to ensure consistent spacing after message
9
10
  const renderedMessage = useMemo(() => {
10
11
  try {
11
- return parseMarkdown(message, colors);
12
+ return parseMarkdown(message, colors).trimEnd() + '\n';
12
13
  }
13
14
  catch {
14
15
  // Fallback to plain text if markdown parsing fails
15
- return message;
16
+ return message.trimEnd() + '\n';
16
17
  }
17
18
  }, [message, colors]);
18
19
  return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: colors.primary, bold: true, children: [model, ":"] }) }), _jsx(Text, { children: renderedMessage })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-message.js","sourceRoot":"","sources":["../../source/components/assistant-message.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,GAAG,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAEtD,eAAe,IAAI,CAAC,SAAS,gBAAgB,CAAC,EAC7C,OAAO,EACP,KAAK,GACkB;IACvB,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,EAAE,CAAC;IAE5B,+DAA+D;IAC/D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,IAAI,CAAC;YACJ,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACR,mDAAmD;YACnD,OAAO,OAAO,CAAC;QAChB,CAAC;IACF,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtB,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aAC1C,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YACnB,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,mBAC/B,KAAK,SACA,GACF,EACN,KAAC,IAAI,cAAE,eAAe,GAAQ,IACzB,CACN,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"assistant-message.js","sourceRoot":"","sources":["../../source/components/assistant-message.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,GAAG,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAEtD,eAAe,IAAI,CAAC,SAAS,gBAAgB,CAAC,EAC7C,OAAO,EACP,KAAK,GACkB;IACvB,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,EAAE,CAAC;IAE5B,+DAA+D;IAC/D,kEAAkE;IAClE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,IAAI,CAAC;YACJ,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACR,mDAAmD;YACnD,OAAO,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;QACjC,CAAC;IACF,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtB,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aAC1C,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YACnB,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,mBAC/B,KAAK,SACA,GACF,EACN,KAAC,IAAI,cAAE,eAAe,GAAQ,IACzB,CACN,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,11 +1,14 @@
1
1
  import type { ThemePreset } from '../types/ui.js';
2
2
  import type { UpdateInfo } from '../types/utils.js';
3
+ import type { MCPConnectionStatus, LSPConnectionStatus } from '../types/core.js';
3
4
  declare const _default: import("react").NamedExoticComponent<{
4
5
  provider: string;
5
6
  model: string;
6
7
  theme: ThemePreset;
7
8
  updateInfo?: UpdateInfo | null;
8
9
  agentsMdLoaded?: boolean;
10
+ mcpServersStatus?: MCPConnectionStatus[];
11
+ lspServersStatus?: LSPConnectionStatus[];
9
12
  }>;
10
13
  export default _default;
11
14
  //# sourceMappingURL=status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../source/components/status.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;;cAcnC,MAAM;WACT,MAAM;WACN,WAAW;iBACL,UAAU,GAAG,IAAI;qBACb,OAAO;;AAXzB,wBAkIG"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../source/components/status.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAC,mBAAmB,EAAE,mBAAmB,EAAC,MAAM,cAAc,CAAC;;cAgBhE,MAAM;WACT,MAAM;WACN,WAAW;iBACL,UAAU,GAAG,IAAI;qBACb,OAAO;uBACL,mBAAmB,EAAE;uBACrB,mBAAmB,EAAE;;AAfzC,wBA0MG"}
@@ -9,15 +9,36 @@ import { themes, getThemeColors } from '../config/themes.js';
9
9
  // Get CWD once at module load time
10
10
  const cwd = process.cwd();
11
11
  // Using UpdateInfo from '../types/utils.js' for type consistency
12
- export default memo(function Status({ provider, model, theme, updateInfo, agentsMdLoaded, }) {
12
+ export default memo(function Status({ provider, model, theme, updateInfo, agentsMdLoaded, mcpServersStatus, lspServersStatus, }) {
13
13
  const { boxWidth, isNarrow, truncatePath } = useResponsiveTerminal();
14
14
  const colors = getThemeColors(theme);
15
15
  // Check for AGENTS.md synchronously if not provided
16
16
  const hasAgentsMd = agentsMdLoaded ?? existsSync(`${cwd}/AGENTS.md`);
17
+ // Connection status calculations
18
+ const mcpStatus = mcpServersStatus || [];
19
+ const lspStatus = lspServersStatus || [];
20
+ const mcpConnected = mcpStatus.filter(s => s.status === 'connected').length;
21
+ const lspConnected = lspStatus.filter(s => s.status === 'connected').length;
22
+ const mcpTotal = mcpStatus.length;
23
+ const lspTotal = lspStatus.length;
24
+ // Get status color
25
+ const getStatusColor = (connected, total) => {
26
+ if (total === 0)
27
+ return colors.secondary;
28
+ if (connected === total)
29
+ return colors.success;
30
+ if (connected > 0)
31
+ return colors.warning;
32
+ return colors.error;
33
+ };
17
34
  // Calculate max path length based on terminal size
18
35
  const maxPathLength = isNarrow ? 30 : 60;
19
- return (_jsx(_Fragment, { children: isNarrow ? (_jsxs(Box, { flexDirection: "column", marginBottom: 1, borderStyle: "round", borderColor: colors.info, paddingY: 1, paddingX: 2, children: [_jsxs(Text, { color: colors.info, children: [_jsx(Text, { bold: true, children: "CWD: " }), truncatePath(cwd, maxPathLength)] }), _jsxs(Text, { color: colors.success, children: [_jsx(Text, { bold: true, children: "Model: " }), model] }), _jsxs(Text, { color: colors.primary, children: [_jsx(Text, { bold: true, children: "Theme: " }), themes[theme].displayName] }), hasAgentsMd ? (_jsx(Text, { color: colors.secondary, italic: true, children: "\u2713 AGENTS.md" })) : (_jsx(Text, { color: colors.secondary, italic: true, children: "\u2717 No AGENTS.md" })), updateInfo?.hasUpdate && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: colors.warning, children: ["\u26A0 v", updateInfo.currentVersion, " \u2192 v", updateInfo.latestVersion] }), updateInfo.updateCommand ? (_jsxs(Text, { color: colors.secondary, children: ["\u21B3 Run: /update or ", updateInfo.updateCommand] })) : updateInfo.updateMessage ? (_jsx(Text, { color: colors.secondary, children: updateInfo.updateMessage })) : null] }))] })) : (
36
+ return (_jsx(_Fragment, { children: isNarrow ? (_jsxs(Box, { flexDirection: "column", marginBottom: 1, borderStyle: "round", borderColor: colors.info, paddingY: 1, paddingX: 2, children: [_jsxs(Text, { color: colors.info, children: [_jsx(Text, { bold: true, children: "CWD: " }), truncatePath(cwd, maxPathLength)] }), _jsxs(Text, { color: colors.success, children: [_jsx(Text, { bold: true, children: "Model: " }), model] }), _jsxs(Text, { color: colors.primary, children: [_jsx(Text, { bold: true, children: "Theme: " }), themes[theme].displayName] }), hasAgentsMd ? (_jsx(Text, { color: colors.secondary, italic: true, children: "\u2713 AGENTS.md" })) : (_jsx(Text, { color: colors.secondary, italic: true, children: "\u2717 No AGENTS.md" })), mcpTotal > 0 && (_jsxs(Text, { color: getStatusColor(mcpConnected, mcpTotal), children: [_jsx(Text, { bold: true, children: "MCP: " }), mcpConnected, "/", mcpTotal, " connected"] })), lspTotal > 0 && (_jsxs(Text, { color: getStatusColor(lspConnected, lspTotal), children: [_jsx(Text, { bold: true, children: "LSP: " }), lspConnected, "/", lspTotal, " connected"] })), updateInfo?.hasUpdate && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: colors.warning, children: ["\u26A0 v", updateInfo.currentVersion, " \u2192 v", updateInfo.latestVersion] }), updateInfo.updateCommand ? (_jsxs(Text, { color: colors.secondary, children: ["\u21B3 Run: /update or ", updateInfo.updateCommand] })) : updateInfo.updateMessage ? (_jsx(Text, { color: colors.secondary, children: updateInfo.updateMessage })) : null] }))] })) : (
20
37
  /* Normal/Wide terminal: full layout with TitledBox */
21
- _jsxs(TitledBox, { borderStyle: "round", titles: ['Status'], titleStyles: titleStyles.pill, width: boxWidth, borderColor: colors.info, paddingX: 2, paddingY: 1, flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { color: colors.info, children: [_jsx(Text, { bold: true, children: "CWD: " }), truncatePath(cwd, maxPathLength)] }), _jsxs(Text, { color: colors.info, children: [_jsx(Text, { bold: true, children: "Config: " }), truncatePath(confDirMap['agents.config.json'], maxPathLength)] }), _jsxs(Text, { color: colors.success, children: [_jsx(Text, { bold: true, children: "Provider: " }), provider, ", ", _jsx(Text, { bold: true, children: "Model: " }), model] }), _jsxs(Text, { color: colors.primary, children: [_jsx(Text, { bold: true, children: "Theme: " }), themes[theme].displayName] }), hasAgentsMd ? (_jsx(Text, { color: colors.secondary, italic: true, children: _jsx(Text, { children: "\u21B3 Using AGENTS.md. Project initialized" }) })) : (_jsx(Text, { color: colors.secondary, italic: true, children: "\u21B3 No AGENTS.md file found, run `/init` to initialize this directory" })), updateInfo?.hasUpdate && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: colors.warning, children: [_jsx(Text, { bold: true, children: "Update Available: " }), "v", updateInfo.currentVersion, " \u2192 v", updateInfo.latestVersion] }), updateInfo.updateCommand ? (_jsxs(Text, { color: colors.secondary, children: ["\u21B3 Run: /update or ", updateInfo.updateCommand] })) : updateInfo.updateMessage ? (_jsx(Text, { color: colors.secondary, children: updateInfo.updateMessage })) : null] }))] }, colors.primary)) }));
38
+ _jsxs(TitledBox, { borderStyle: "round", titles: ['Status'], titleStyles: titleStyles.pill, width: boxWidth, borderColor: colors.info, paddingX: 2, paddingY: 1, flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { color: colors.info, children: [_jsx(Text, { bold: true, children: "CWD: " }), truncatePath(cwd, maxPathLength)] }), _jsxs(Text, { color: colors.info, children: [_jsx(Text, { bold: true, children: "Config: " }), truncatePath(confDirMap['agents.config.json'], maxPathLength)] }), _jsxs(Text, { color: colors.success, children: [_jsx(Text, { bold: true, children: "Provider: " }), provider, ", ", _jsx(Text, { bold: true, children: "Model: " }), model] }), _jsxs(Text, { color: colors.primary, children: [_jsx(Text, { bold: true, children: "Theme: " }), themes[theme].displayName] }), mcpTotal > 0 && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: getStatusColor(mcpConnected, mcpTotal), children: [_jsx(Text, { bold: true, children: "MCP: " }), mcpConnected, "/", mcpTotal, " connected"] }), mcpConnected < mcpTotal && (_jsx(Box, { flexDirection: "column", marginLeft: 2, children: mcpStatus
39
+ .filter(s => s.status === 'failed')
40
+ .map(server => (_jsxs(Text, { color: colors.error, children: ["\u2022 ", server.name, ":", ' ', server.errorMessage || 'Connection failed'] }, server.name))) }))] })), lspTotal > 0 && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: getStatusColor(lspConnected, lspTotal), children: [_jsx(Text, { bold: true, children: "LSP: " }), lspConnected, "/", lspTotal, " connected"] }), lspConnected < lspTotal && (_jsx(Box, { flexDirection: "column", marginLeft: 2, children: lspStatus
41
+ .filter(s => s.status === 'failed')
42
+ .map(server => (_jsxs(Text, { color: colors.error, children: ["\u2022 ", server.name, ":", ' ', server.errorMessage || 'Connection failed'] }, server.name))) }))] })), hasAgentsMd ? (_jsx(Text, { color: colors.secondary, italic: true, children: _jsx(Text, { children: "\u21B3 Using AGENTS.md. Project initialized" }) })) : (_jsx(Text, { color: colors.secondary, italic: true, children: "\u21B3 No AGENTS.md file found, run `/init` to initialize this directory" })), updateInfo?.hasUpdate && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: colors.warning, children: [_jsx(Text, { bold: true, children: "Update Available: " }), "v", updateInfo.currentVersion, " \u2192 v", updateInfo.latestVersion] }), updateInfo.updateCommand ? (_jsxs(Text, { color: colors.secondary, children: ["\u21B3 Run: /update or ", updateInfo.updateCommand] })) : updateInfo.updateMessage ? (_jsx(Text, { color: colors.secondary, children: updateInfo.updateMessage })) : null] }))] }, colors.primary)) }));
22
43
  });
23
44
  //# sourceMappingURL=status.js.map