centaurus-cli 2.9.2 → 2.9.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 (121) hide show
  1. package/dist/cli-adapter.d.ts +78 -11
  2. package/dist/cli-adapter.d.ts.map +1 -1
  3. package/dist/cli-adapter.js +851 -215
  4. package/dist/cli-adapter.js.map +1 -1
  5. package/dist/commands/CommandParser.d.ts +1 -1
  6. package/dist/commands/CommandParser.d.ts.map +1 -1
  7. package/dist/commands/CommandParser.js +113 -0
  8. package/dist/commands/CommandParser.js.map +1 -1
  9. package/dist/config/models.d.ts.map +1 -1
  10. package/dist/config/models.js +2 -0
  11. package/dist/config/models.js.map +1 -1
  12. package/dist/config/slash-commands.d.ts +5 -0
  13. package/dist/config/slash-commands.d.ts.map +1 -1
  14. package/dist/config/slash-commands.js +63 -1
  15. package/dist/config/slash-commands.js.map +1 -1
  16. package/dist/config/types.d.ts +2 -0
  17. package/dist/config/types.d.ts.map +1 -1
  18. package/dist/config/types.js +1 -0
  19. package/dist/config/types.js.map +1 -1
  20. package/dist/context/context-manager.d.ts +1 -1
  21. package/dist/context/context-manager.d.ts.map +1 -1
  22. package/dist/context/context-manager.js +3 -1
  23. package/dist/context/context-manager.js.map +1 -1
  24. package/dist/context/handlers/docker-handler.d.ts +9 -0
  25. package/dist/context/handlers/docker-handler.d.ts.map +1 -1
  26. package/dist/context/handlers/docker-handler.js +99 -10
  27. package/dist/context/handlers/docker-handler.js.map +1 -1
  28. package/dist/context/handlers/ssh-handler.d.ts +20 -0
  29. package/dist/context/handlers/ssh-handler.d.ts.map +1 -1
  30. package/dist/context/handlers/ssh-handler.js +129 -1
  31. package/dist/context/handlers/ssh-handler.js.map +1 -1
  32. package/dist/context/subshell-handler.d.ts +15 -0
  33. package/dist/context/subshell-handler.d.ts.map +1 -1
  34. package/dist/index.js +10 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/services/ai-autocomplete-agent.d.ts +39 -0
  37. package/dist/services/ai-autocomplete-agent.d.ts.map +1 -0
  38. package/dist/services/ai-autocomplete-agent.js +189 -0
  39. package/dist/services/ai-autocomplete-agent.js.map +1 -0
  40. package/dist/services/ai-service-client.d.ts +25 -0
  41. package/dist/services/ai-service-client.d.ts.map +1 -1
  42. package/dist/services/ai-service-client.js +195 -12
  43. package/dist/services/ai-service-client.js.map +1 -1
  44. package/dist/services/api-client.js +1 -1
  45. package/dist/services/api-client.js.map +1 -1
  46. package/dist/services/auth-handler.js +1 -1
  47. package/dist/services/auth-handler.js.map +1 -1
  48. package/dist/services/local-chat-storage.d.ts +21 -0
  49. package/dist/services/local-chat-storage.d.ts.map +1 -1
  50. package/dist/services/local-chat-storage.js +138 -43
  51. package/dist/services/local-chat-storage.js.map +1 -1
  52. package/dist/services/ollama-service.d.ts +197 -0
  53. package/dist/services/ollama-service.d.ts.map +1 -0
  54. package/dist/services/ollama-service.js +324 -0
  55. package/dist/services/ollama-service.js.map +1 -0
  56. package/dist/services/warpify-detector.d.ts +43 -0
  57. package/dist/services/warpify-detector.d.ts.map +1 -0
  58. package/dist/services/warpify-detector.js +203 -0
  59. package/dist/services/warpify-detector.js.map +1 -0
  60. package/dist/services/workflow-storage.d.ts +72 -0
  61. package/dist/services/workflow-storage.d.ts.map +1 -0
  62. package/dist/services/workflow-storage.js +239 -0
  63. package/dist/services/workflow-storage.js.map +1 -0
  64. package/dist/tools/command.d.ts.map +1 -1
  65. package/dist/tools/command.js +14 -0
  66. package/dist/tools/command.js.map +1 -1
  67. package/dist/tools/enter-remote-session.d.ts +13 -0
  68. package/dist/tools/enter-remote-session.d.ts.map +1 -0
  69. package/dist/tools/enter-remote-session.js +226 -0
  70. package/dist/tools/enter-remote-session.js.map +1 -0
  71. package/dist/tools/find-files.d.ts.map +1 -1
  72. package/dist/tools/find-files.js +9 -2
  73. package/dist/tools/find-files.js.map +1 -1
  74. package/dist/tools/grep-search.d.ts +104 -31
  75. package/dist/tools/grep-search.d.ts.map +1 -1
  76. package/dist/tools/grep-search.js +699 -430
  77. package/dist/tools/grep-search.js.map +1 -1
  78. package/dist/tools/workflow-tool.d.ts +11 -0
  79. package/dist/tools/workflow-tool.d.ts.map +1 -0
  80. package/dist/tools/workflow-tool.js +87 -0
  81. package/dist/tools/workflow-tool.js.map +1 -0
  82. package/dist/types/workflow.d.ts +110 -0
  83. package/dist/types/workflow.d.ts.map +1 -0
  84. package/dist/types/workflow.js +8 -0
  85. package/dist/types/workflow.js.map +1 -0
  86. package/dist/ui/components/App.d.ts +12 -3
  87. package/dist/ui/components/App.d.ts.map +1 -1
  88. package/dist/ui/components/App.js +162 -6
  89. package/dist/ui/components/App.js.map +1 -1
  90. package/dist/ui/components/Breadcrumbs.d.ts +4 -3
  91. package/dist/ui/components/Breadcrumbs.d.ts.map +1 -1
  92. package/dist/ui/components/Breadcrumbs.js +60 -54
  93. package/dist/ui/components/Breadcrumbs.js.map +1 -1
  94. package/dist/ui/components/ConnectionStatusMessage.js +2 -2
  95. package/dist/ui/components/ConnectionStatusMessage.js.map +1 -1
  96. package/dist/ui/components/InputBox.d.ts +3 -0
  97. package/dist/ui/components/InputBox.d.ts.map +1 -1
  98. package/dist/ui/components/InputBox.js +488 -20
  99. package/dist/ui/components/InputBox.js.map +1 -1
  100. package/dist/ui/components/InteractiveShell.d.ts +2 -0
  101. package/dist/ui/components/InteractiveShell.d.ts.map +1 -1
  102. package/dist/ui/components/InteractiveShell.js +13 -3
  103. package/dist/ui/components/InteractiveShell.js.map +1 -1
  104. package/dist/ui/components/MultiLineInput.d.ts.map +1 -1
  105. package/dist/ui/components/MultiLineInput.js +68 -2
  106. package/dist/ui/components/MultiLineInput.js.map +1 -1
  107. package/dist/ui/components/ToolExecutionMessage.d.ts.map +1 -1
  108. package/dist/ui/components/ToolExecutionMessage.js +169 -26
  109. package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
  110. package/dist/ui/components/WorkflowCreatorScreen.d.ts +25 -0
  111. package/dist/ui/components/WorkflowCreatorScreen.d.ts.map +1 -0
  112. package/dist/ui/components/WorkflowCreatorScreen.js +164 -0
  113. package/dist/ui/components/WorkflowCreatorScreen.js.map +1 -0
  114. package/dist/utils/command-history.d.ts +12 -2
  115. package/dist/utils/command-history.d.ts.map +1 -1
  116. package/dist/utils/command-history.js +57 -13
  117. package/dist/utils/command-history.js.map +1 -1
  118. package/dist/utils/input-classifier.d.ts.map +1 -1
  119. package/dist/utils/input-classifier.js +3 -2
  120. package/dist/utils/input-classifier.js.map +1 -1
  121. package/package.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1D,mEAAmE;AACnE,+EAA+E;AAC/E,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;IACxD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,uEAAuE;QACvE,UAAU,CAAC,oCAAoC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,cAAc,EAAE,GAAY,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;IACxD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,UAAU,CAAC,oCAAoC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,cAAc,EAAE,GAAY,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;IACvD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC/C,UAAU,CAAC,6BAA6B,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,aAAa,EAAE,GAAY,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,4DAA4D;AAC5D,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAA0B,EAAE,EAAE;IAC7D,uFAAuF;IACvF,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACjF,UAAU,CAAC,oCAAoC,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,kFAAkF;IAClF,iEAAiE;IACjE,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;QACxF,iCAAiC;QACjC,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,0CAA0C,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IAED,oCAAoC;IACpC,QAAQ,CAAC,4BAA4B,EAAE,GAAY,CAAC,CAAC;IACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,sCAAsC;AACtC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAW,EAAE,OAAqB,EAAE,EAAE;IACtE,MAAM,KAAK,GAAG,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,KAA8B,CAAC;IAElD,+DAA+D;IAC/D,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY;QACjE,UAAU,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC/E,UAAU,CAAC,qCAAqC,UAAU,CAAC,IAAI,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAIpE,KAAK,UAAU,oBAAoB;IACjC,6DAA6D;IAC7D,IAAI,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,gEAAgE;YAChE,MAAM,SAAS,CAAC,cAAc,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,CAAC,mBAAmB;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iEAAiE;YACjE,UAAU,CAAC,+CAA+C,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC;QAC9B,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0EAA0E;QAC1E,UAAU,CAAC,qDAAqD,CAAC,CAAC;IACpE,CAAC;IAED,iDAAiD;IACjD,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QACtC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,MAAM,CACrC,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE;YACrC,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACnB,KAAK,EAAE,CAAC;gBAER,OAAO,CAAC,oCAAoC,CAAC,CAAC;gBAE9C,qCAAqC;gBACrC,+DAA+D;gBAC/D,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;gBAE9C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,CAAC,4BAA4B,CAAC,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,0BAA0B,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;oBACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,KAAK,EAAE,CAAC;gBACR,OAAO,CAAC,oCAAoC,CAAC,CAAC;gBAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;SACF,CAAC,EACF;YACE,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,IAAI;SAClB,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,wBAAwB;IACxB,MAAM,oBAAoB,EAAE,CAAC;IAE7B,MAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;IAE/B,+CAA+C;IAC/C,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IAEvB,6DAA6D;IAC7D,MAAM,gBAAgB,GAAG,GAAG,CAAC,mBAAmB,EAAE,CAAC;IACnD,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,4BAA4B,gBAAgB,EAAE,CAAC,CAAC;QAExD,+BAA+B;QAC/B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC9B,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAE7C,qCAAqC;IACrC,iFAAiF;IACjF,yDAAyD;IACzD,4DAA4D;IAC5D,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAC9B,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,EACrC,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;QACvB,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC;QAClD,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,oBAAoB,EAAE;QACjD,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE;QAC5B,eAAe,EAAE,GAAG,CAAC,WAAW,EAAE;QAClC,kBAAkB,EAAE,CAAC,QAAmC,EAAE,EAAE;YAC1D,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,eAAe,EAAE,CAAC,QAAmC,EAAE,EAAE;YACvD,GAAG,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,gBAAgB,EAAE,CAAC,QAAiC,EAAE,EAAE;YACtD,GAAG,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QACD,uBAAuB,EAAE,CAAC,QAAoB,EAAE,EAAE;YAChD,GAAG,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,eAAe,EAAE,CAAC,QAAmC,EAAE,EAAE;YACvD,GAAG,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,iBAAiB,EAAE,CAAC,QAA2C,EAAE,EAAE;YACjE,GAAG,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,aAAa,EAAE,CAAC,QAAiH,EAAE,EAAE;YACnI,GAAG,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QACD,iBAAiB,EAAE,CAAC,SAAiB,EAAE,IAAa,EAAE,EAAE;YACtD,OAAO,GAAG,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC;QACD,qBAAqB,EAAE,CAAC,QAA2K,EAAE,EAAE;YACrM,GAAG,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,qBAAqB,EAAE,CAAC,QAA6P,EAAE,EAAE;YACvR,GAAG,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,qBAAqB,EAAE,CAAC,QAA0F,EAAE,EAAE;YACpH,GAAG,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,gBAAgB,EAAE,CAAC,QAAqC,EAAE,EAAE;YAC1D,GAAG,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,qBAAqB,EAAE,CAAC,QAA0C,EAAE,EAAE;YACpE,GAAG,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,aAAa,EAAE,CAAC,QAA8B,EAAE,EAAE;YAChD,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QACD,eAAe,EAAE,CAAC,QAA6H,EAAE,EAAE;YACjJ,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QACD,mBAAmB,EAAE,CAAC,QAAwC,EAAE,EAAE;YAChE,GAAG,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,mBAAmB,EAAE,GAAG,EAAE;YACxB,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC1B,CAAC;QACD,sBAAsB,EAAE,CAAC,QAA2C,EAAE,EAAE;YACtE,GAAG,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,sBAAsB,EAAE,GAAG,EAAE;YAC3B,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC7B,CAAC;QACD,2BAA2B,EAAE,CAAC,QAAiC,EAAE,EAAE;YACjE,GAAG,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;QACD,qBAAqB,EAAE,CAAC,QAAiC,EAAE,EAAE;YAC3D,GAAG,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,kBAAkB,EAAE,CAAC,QAAoC,EAAE,EAAE;YAC3D,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,WAAW,EAAE,CAAC,QAA+B,EAAE,EAAE;YAC/C,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QACD,aAAa,EAAE,CAAC,QAA4D,EAAE,EAAE;YAC9E,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QACD,uBAAuB,EAAE,CAAC,QAAgC,EAAE,EAAE;YAC5D,GAAG,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,iBAAiB,EAAE,CAAC,QAA8C,EAAE,EAAE;YACpE,GAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,YAAY,EAAE,CAAC,KAAa,EAAE,EAAE;YAC9B,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,aAAa,EAAE,CAAC,MAAc,EAAE,EAAE;YAChC,GAAG,CAAC,iBAAiB,CAAC,MAAwB,CAAC,CAAC;QAClD,CAAC;QACD,aAAa,EAAE,GAAG,EAAE;YAClB,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC3B,CAAC;QACD,uBAAuB,EAAE,CAAC,QAAwF,EAAE,EAAE;YACpH,GAAG,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,wBAAwB,EAAE,CAAC,QAAwK,EAAE,EAAE;YACrM,GAAG,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QACD,kBAAkB,EAAE,CAAC,QAAkC,EAAE,EAAE;YACzD,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,qBAAqB,EAAE,CAAC,QAAoC,EAAE,EAAE;YAC9D,GAAG,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,iBAAiB,EAAE,CAAC,QAAyJ,EAAE,EAAE;YAC/K,GAAG,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QACD,qBAAqB,EAAE,CAAC,MAAc,EAAE,EAAE;YACxC,OAAO,GAAG,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QACD,uBAAuB,EAAE,CAAC,QAAyJ,EAAE,EAAE;YACrL,GAAG,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,2BAA2B,EAAE,CAAC,MAAc,EAAE,EAAE;YAC9C,OAAO,GAAG,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QACD,eAAe,EAAE,CAAC,QAAyJ,EAAE,EAAE;YAC7K,GAAG,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,uBAAuB,EAAE,CAAC,QAAyJ,EAAE,EAAE;YACrL,GAAG,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,YAAY,EAAE,CAAC,MAAc,EAAE,QAAgB,EAAE,EAAE;YACjD,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,sBAAsB,EAAE,CAAC,QAAmC,EAAE,EAAE;YAC9D,GAAG,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,wBAAwB,EAAE,CAAC,QAAe,EAAE,EAAE;YAC5C,GAAG,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,yBAAyB,EAAE,CAAC,QAAgC,EAAE,EAAE;YAC9D,GAAG,CAAC,qCAAqC,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;QACD,yBAAyB,EAAE,CAAC,MAAc,EAAE,EAAE;YAC5C,GAAG,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QACD,2BAA2B,EAAE,CAAC,QAAgC,EAAE,EAAE;YAChE,GAAG,CAAC,2CAA2C,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;QACD,sBAAsB,EAAE,CAAC,MAAc,EAAE,EAAE;YACzC,GAAG,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,yBAAyB,EAAE,CAAC,QAA6B,EAAE,EAAE;YAC3D,GAAG,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QACD,oBAAoB,EAAE,CAAC,QAA8E,EAAE,EAAE;YACvG,GAAG,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QACD,2BAA2B;QAC3B,mBAAmB,EAAE,CAAC,QAAoB,EAAE,EAAE;YAC5C,GAAG,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,sBAAsB,EAAE,CAAC,QAAyG,EAAE,EAAE;YACpI,GAAG,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,sBAAsB,EAAE,CAAC,QAAyG,EAAE,EAAE;YACpI,GAAG,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,uBAAuB,EAAE,CAAC,QAAyG,EAAE,EAAE;YACrI,GAAG,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,oBAAoB,EAAE,CAAC,QAAqK,EAAE,EAAE;YAC9L,GAAG,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QACD,cAAc,EAAE,CAAC,MAAW,EAAE,EAAE;YAC9B,OAAO,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,iBAAiB,EAAE,CAAC,IAAY,EAAE,EAAE;YAClC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,iBAAiB,EAAE,CAAC,IAAY,EAAE,EAAE;YAClC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,kBAAkB,EAAE,CAAC,IAAY,EAAE,EAAE;YACnC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,mBAAmB,EAAE,CAAC,UAAkB,EAAE,EAAE;YAC1C,OAAO,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,gBAAgB,EAAE,CAAC,QAAmC,EAAE,EAAE;YACxD,GAAG,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,mBAAmB,EAAE,GAAG,EAAE;YACxB,OAAO,GAAG,CAAC,sBAAsB,EAAE,CAAC;QACtC,CAAC;QACD,gBAAgB,EAAE,CAAC,OAAe,EAAE,IAA8B,EAAE,gBAAyB,EAAE,EAAE;YAC/F,OAAO,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QACD,qBAAqB;QACrB,sBAAsB,EAAE,CAAC,QAA8F,EAAE,EAAE;YACzH,GAAG,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,cAAc,EAAE,CAAC,IAAY,EAAE,KAAkE,EAAE,WAAoB,EAAE,EAAE;YACzH,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC,CACH,EACD;QACE,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,KAAK;QAClB,KAAK,EAAE,KAAK;KACb,CACF,CAAC;IAEF,wBAAwB;IACxB,MAAM,aAAa,EAAE,CAAC;AACxB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * AI Autocomplete Agent Service
3
+ *
4
+ * A lightweight AI agent using gemini-2.0-flash-lite that predicts commands
5
+ * the user is trying to type. Triggered after 5 seconds of input inactivity.
6
+ */
7
+ export interface AutocompleteContext {
8
+ os: string;
9
+ platform: string;
10
+ cwd: string;
11
+ directoryHistory: string[];
12
+ sessionCommands: string[];
13
+ files: string[];
14
+ currentInput: string;
15
+ }
16
+ declare class AIAutocompleteAgentClass {
17
+ private pendingRequest;
18
+ /**
19
+ * Predict the full command the user is trying to type
20
+ * Returns null if no confident prediction can be made
21
+ */
22
+ predictCommand(context: AutocompleteContext, signal?: AbortSignal): Promise<string | null>;
23
+ /**
24
+ * Abort any pending prediction request
25
+ */
26
+ abort(): void;
27
+ /**
28
+ * Call the AI model to get a prediction
29
+ */
30
+ private callAI;
31
+ /**
32
+ * Merge two abort signals into one
33
+ */
34
+ private mergeSignals;
35
+ }
36
+ export declare const AIAutocompleteAgent: AIAutocompleteAgentClass;
37
+ export declare const AI_AUTOCOMPLETE_DEBOUNCE_MS = 5000;
38
+ export {};
39
+ //# sourceMappingURL=ai-autocomplete-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-autocomplete-agent.d.ts","sourceRoot":"","sources":["../../src/services/ai-autocomplete-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACxB;AAwBD,cAAM,wBAAwB;IAC1B,OAAO,CAAC,cAAc,CAAgC;IAEtD;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6ChG;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;YACW,MAAM;IAwGpB;;OAEG;IACH,OAAO,CAAC,YAAY;CAcvB;AAGD,eAAO,MAAM,mBAAmB,0BAAiC,CAAC;AAGlE,eAAO,MAAM,2BAA2B,OAAc,CAAC"}
@@ -0,0 +1,189 @@
1
+ /**
2
+ * AI Autocomplete Agent Service
3
+ *
4
+ * A lightweight AI agent using gemini-2.0-flash-lite that predicts commands
5
+ * the user is trying to type. Triggered after 5 seconds of input inactivity.
6
+ */
7
+ import { aiServiceClient } from './ai-service-client.js';
8
+ import { quickLog } from '../utils/conversation-logger.js';
9
+ // ==================== Constants ====================
10
+ const MODEL = 'gemini-2.0-flash-lite'; // Fast, cheap model for prediction
11
+ const DEBOUNCE_MS = 5000; // 5 seconds of inactivity before triggering
12
+ // ==================== System Prompt ====================
13
+ const AUTOCOMPLETE_SYSTEM_PROMPT = `You are a command prediction assistant. Your job is to predict the FULL command the user is trying to type based on their current input and context.
14
+
15
+ RULES:
16
+ 1. Respond with ONLY the predicted full command - no explanations, no quotes, no markdown
17
+ 2. If you cannot confidently predict a command, respond with exactly "NONE"
18
+ 3. The prediction should be a complete, valid command that would work in the given OS and directory
19
+ 4. Consider the user's command history in this directory and session when making predictions
20
+ 5. USE THE FILE LIST: If the user is typing a command that operates on a file (like 'python', 'cat', 'ls'), try to complete the filename from the provided list.
21
+ 6. Be conservative - only predict when you have high confidence
22
+
23
+ EXAMPLES:
24
+ User typing: "git st" → git status
25
+ User typing: "npm i" → npm install
26
+ User typing: "cd .." → cd ..
27
+ User typing: "py te" (files: [test.py, main.py]) → python test.py
28
+ User typing: "cat rea" (files: [README.md]) → cat README.md
29
+ User typing: "xyz123" → NONE`;
30
+ // ==================== AIAutocompleteAgent Class ====================
31
+ class AIAutocompleteAgentClass {
32
+ pendingRequest = null;
33
+ /**
34
+ * Predict the full command the user is trying to type
35
+ * Returns null if no confident prediction can be made
36
+ */
37
+ async predictCommand(context, signal) {
38
+ // Don't predict for empty or very short inputs
39
+ if (!context.currentInput || context.currentInput.trim().length < 2) {
40
+ return null;
41
+ }
42
+ // Don't predict for slash commands
43
+ if (context.currentInput.startsWith('/')) {
44
+ return null;
45
+ }
46
+ // Don't predict for file tags
47
+ if (context.currentInput.includes('@')) {
48
+ return null;
49
+ }
50
+ // Cancel any pending request
51
+ this.abort();
52
+ // Create new abort controller
53
+ const abortController = new AbortController();
54
+ this.pendingRequest = abortController;
55
+ // Merge signals if external signal provided
56
+ const effectiveSignal = signal
57
+ ? this.mergeSignals(signal, abortController.signal)
58
+ : abortController.signal;
59
+ try {
60
+ const prediction = await this.callAI(context, effectiveSignal);
61
+ return prediction;
62
+ }
63
+ catch (error) {
64
+ if (error.name === 'AbortError' || error.message === 'AbortError') {
65
+ // Request was cancelled, this is expected
66
+ return null;
67
+ }
68
+ quickLog(`[${new Date().toISOString()}] [AIAutocompleteAgent] Prediction error: ${error.message}\n`);
69
+ return null;
70
+ }
71
+ finally {
72
+ if (this.pendingRequest === abortController) {
73
+ this.pendingRequest = null;
74
+ }
75
+ }
76
+ }
77
+ /**
78
+ * Abort any pending prediction request
79
+ */
80
+ abort() {
81
+ if (this.pendingRequest) {
82
+ this.pendingRequest.abort();
83
+ this.pendingRequest = null;
84
+ }
85
+ }
86
+ /**
87
+ * Call the AI model to get a prediction
88
+ */
89
+ async callAI(context, signal) {
90
+ // Build context string
91
+ const contextParts = [
92
+ `OS: ${context.os}`,
93
+ `Platform: ${context.platform}`,
94
+ `Current Directory: ${context.cwd}`,
95
+ ];
96
+ if (context.files && context.files.length > 0) {
97
+ const fileList = context.files.slice(0, 50); // Hard limit just in case
98
+ contextParts.push(`Files in current directory:\n${fileList.join('\n')}`);
99
+ }
100
+ if (context.directoryHistory.length > 0) {
101
+ const recentDirHistory = context.directoryHistory.slice(0, 10); // Take top 10 most frequent/recent
102
+ contextParts.push(`Recent commands in this directory:\n${recentDirHistory.join('\n')}`);
103
+ }
104
+ if (context.sessionCommands.length > 0) {
105
+ const recentSession = context.sessionCommands.slice(-10);
106
+ contextParts.push(`Commands run in this session:\n${recentSession.join('\n')}`);
107
+ }
108
+ const userPrompt = `${contextParts.join('\n\n')}
109
+
110
+ User is currently typing: "${context.currentInput}"
111
+
112
+ What is the full command they are trying to type?`;
113
+ // Build messages
114
+ const messages = [
115
+ { role: 'user', content: AUTOCOMPLETE_SYSTEM_PROMPT + '\n\n' + userPrompt }
116
+ ];
117
+ // Log detailed context and prompt for debugging
118
+ quickLog(`[${new Date().toISOString()}] [AIAutocompleteAgent] Context: ${JSON.stringify(context, null, 2)}\n`);
119
+ quickLog(`[${new Date().toISOString()}] [AIAutocompleteAgent] Full Prompt:\n${JSON.stringify(messages, null, 2)}\n`);
120
+ // Stream AI response
121
+ let responseText = '';
122
+ try {
123
+ for await (const chunk of aiServiceClient.streamChat(MODEL, messages, [], // No tools needed
124
+ {
125
+ cwd: context.cwd,
126
+ platform: context.platform,
127
+ shell: process.platform === 'win32' ? 'powershell' : 'bash',
128
+ os: (context.os === 'win32' ? 'windows' : context.os === 'darwin' ? 'macos' : 'linux'),
129
+ homeDir: ''
130
+ }, undefined, undefined, signal)) {
131
+ if (signal.aborted) {
132
+ throw new Error('AbortError');
133
+ }
134
+ if (chunk.type === 'text') {
135
+ responseText += chunk.content;
136
+ }
137
+ // Early exit if response is getting too long (should be a single command)
138
+ if (responseText.length > 200) {
139
+ break;
140
+ }
141
+ }
142
+ }
143
+ catch (error) {
144
+ if (error.message === 'AbortError' || error.name === 'AbortError') {
145
+ const abortError = new Error('AbortError');
146
+ abortError.name = 'AbortError';
147
+ throw abortError;
148
+ }
149
+ throw error;
150
+ }
151
+ // Parse response
152
+ const prediction = responseText.trim();
153
+ quickLog(`[${new Date().toISOString()}] [AIAutocompleteAgent] Raw AI Response: "${prediction}"\n`);
154
+ // Check for NONE or invalid predictions
155
+ if (!prediction || prediction.toUpperCase() === 'NONE' || prediction.length < 2) {
156
+ return null;
157
+ }
158
+ // Don't return the prediction if it's the same as the current input
159
+ if (prediction.toLowerCase() === context.currentInput.toLowerCase()) {
160
+ return null;
161
+ }
162
+ // Don't return if prediction doesn't start with the current input (should be a completion)
163
+ if (!prediction.toLowerCase().startsWith(context.currentInput.toLowerCase())) {
164
+ return null;
165
+ }
166
+ quickLog(`[${new Date().toISOString()}] [AIAutocompleteAgent] Valid Prediction: "${prediction}" for input "${context.currentInput}"\n`);
167
+ return prediction;
168
+ }
169
+ /**
170
+ * Merge two abort signals into one
171
+ */
172
+ mergeSignals(signal1, signal2) {
173
+ const controller = new AbortController();
174
+ const abort = () => controller.abort();
175
+ if (signal1.aborted || signal2.aborted) {
176
+ controller.abort();
177
+ }
178
+ else {
179
+ signal1.addEventListener('abort', abort, { once: true });
180
+ signal2.addEventListener('abort', abort, { once: true });
181
+ }
182
+ return controller.signal;
183
+ }
184
+ }
185
+ // Export singleton
186
+ export const AIAutocompleteAgent = new AIAutocompleteAgentClass();
187
+ // Export debounce constant for use in InputBox
188
+ export const AI_AUTOCOMPLETE_DEBOUNCE_MS = DEBOUNCE_MS;
189
+ //# sourceMappingURL=ai-autocomplete-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-autocomplete-agent.js","sourceRoot":"","sources":["../../src/services/ai-autocomplete-agent.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,31 @@ export declare class AIServiceClient {
91
91
  * This is a workaround since sessionToken is private
92
92
  */
93
93
  private getSessionToken;
94
+ /**
95
+ * Check if the current configuration is using a local Ollama model
96
+ */
97
+ isUsingLocalModel(): boolean;
98
+ /**
99
+ * Get the current model name from config
100
+ */
101
+ private getCurrentModel;
102
+ /**
103
+ * Convert internal message format to Ollama format (with tool support)
104
+ */
105
+ private convertToOllamaMessages;
106
+ /**
107
+ * Convert ToolSchema array to Ollama tool format
108
+ */
109
+ private convertToolsToOllamaFormat;
110
+ /**
111
+ * Stream chat request to local Ollama instance with tool calling support
112
+ *
113
+ * @param model - The local Ollama model to use (e.g., 'llama3.2:latest')
114
+ * @param messages - Conversation history
115
+ * @param tools - Available tools (will be converted to Ollama format)
116
+ * @yields Stream chunks (text, tool_call, or done events)
117
+ */
118
+ streamLocalChat(model: string, messages: Message[], tools?: ToolSchema[]): AsyncGenerator<StreamChunk, void, unknown>;
94
119
  /**
95
120
  * Parse Server-Sent Events stream from response body
96
121
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ai-service-client.d.ts","sourceRoot":"","sources":["../../src/services/ai-service-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAO5D;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,sBAAsB,CAAC;AAgBrH;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAgB;;IAQlC;;;OAGG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;;;;;;OASG;IACI,UAAU,CACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,UAAU,EAAE,EACnB,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,IAAI,CAAC,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,WAAW,CAAC,EAAE,WAAW,GACxB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IAkK7C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;;OAGG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;;;OAKG;YACY,cAAc;CA0E9B;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
1
+ {"version":3,"file":"ai-service-client.d.ts","sourceRoot":"","sources":["../../src/services/ai-service-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAS5D;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,sBAAsB,CAAC;AAgBrH;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAgB;;IAQlC;;;OAGG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;;;;;;OASG;IACI,UAAU,CACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,UAAU,EAAE,EACnB,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,IAAI,CAAC,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,WAAW,CAAC,EAAE,WAAW,GACxB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IAkN7C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;;OAGG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAc5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiC/B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAelC;;;;;;;OAOG;IACI,eAAe,CACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,GAAE,UAAU,EAAO,GACvB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IA6D7C;;;;;OAKG;YACY,cAAc;CA0E9B;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
@@ -10,6 +10,8 @@ import { join } from 'path';
10
10
  import { homedir } from 'os';
11
11
  import { IS_DEV_BUILD, DEV_BACKEND_URL, PRODUCTION_BACKEND_URL } from '../config/build-config.js';
12
12
  import { logWarning } from '../utils/logger.js';
13
+ import { ollamaService, OllamaService } from './ollama-service.js';
14
+ import { quickLog } from '../utils/conversation-logger.js';
13
15
  /**
14
16
  * AI Service Client for streaming chat requests to backend
15
17
  */
@@ -46,7 +48,23 @@ export class AIServiceClient {
46
48
  * @yields Stream chunks (text, tool calls, done, or error events)
47
49
  */
48
50
  async *streamChat(model, messages, tools, environmentContext, mode, thinkingConfig, abortSignal) {
49
- // Build request payload
51
+ // Check if using a local Ollama model
52
+ if (this.isUsingLocalModel()) {
53
+ const localModel = this.getCurrentModel();
54
+ const supportsTools = OllamaService.modelSupportsTools(localModel);
55
+ quickLog(`[${new Date().toISOString()}] [AIServiceClient] Routing to local Ollama model: ${localModel}, supportsTools: ${supportsTools}\n`);
56
+ // Show warning only if tools are provided but model doesn't support them
57
+ if (tools.length > 0 && !supportsTools) {
58
+ yield {
59
+ type: 'text',
60
+ content: `⚠️ Note: Model "${localModel}" does not support tool calling. Running in text-only mode.\n\n`,
61
+ };
62
+ }
63
+ // Route to local Ollama with tools
64
+ yield* this.streamLocalChat(localModel, messages, tools);
65
+ return;
66
+ }
67
+ // Build request payload for cloud backend
50
68
  const payload = {
51
69
  model,
52
70
  messages,
@@ -141,18 +159,40 @@ export class AIServiceClient {
141
159
  };
142
160
  return;
143
161
  }
144
- // Check if response body exists
145
- if (!response.body) {
146
- yield {
147
- type: 'error',
148
- message: 'No response body from backend',
149
- code: 'NO_RESPONSE_BODY',
150
- };
162
+ // Parse SSE stream
163
+ // We iterate manually to catch retryable errors from the stream
164
+ let contentReceived = false;
165
+ let shouldRetry = false;
166
+ for await (const chunk of this.parseSSEStream(response.body)) {
167
+ if (chunk.type === 'error') {
168
+ // Check if this is a retryable error (like rate limit) AND we haven't sent partial content yet
169
+ if (this.isRetryableError(chunk.code) && !contentReceived) {
170
+ lastError = chunk;
171
+ shouldRetry = true;
172
+ break; // Break the stream loop to trigger retry
173
+ }
174
+ // Not retryable or content already sent - yield error and stop
175
+ yield chunk;
176
+ return;
177
+ }
178
+ // Mark that we've received content
179
+ if (chunk.type !== 'done' && chunk.type !== 'thought' && chunk.type !== 'thinking_signature') {
180
+ contentReceived = true;
181
+ }
182
+ yield chunk;
183
+ }
184
+ // If stream finished cleanly (without error chunk), we are done
185
+ if (!shouldRetry) {
151
186
  return;
152
187
  }
153
- // Parse SSE stream - if successful, we're done
154
- yield* this.parseSSEStream(response.body);
155
- return;
188
+ // If we need to retry, check attempts and wait
189
+ if (attempt < this.maxRetries - 1) {
190
+ // We're going to retry, so we need to wait for the backoff period
191
+ await this.sleep(this.retryDelay * Math.pow(2, attempt));
192
+ continue;
193
+ }
194
+ // If we've exhausted retries, we'll fall through to the end of the loop
195
+ // and yield the lastError below
156
196
  }
157
197
  catch (error) {
158
198
  // Handle network errors
@@ -195,7 +235,7 @@ export class AIServiceClient {
195
235
  * Check if an error code is retryable
196
236
  */
197
237
  isRetryableError(code) {
198
- const retryableCodes = ['NETWORK_ERROR', 'TIMEOUT', 'UNKNOWN_ERROR'];
238
+ const retryableCodes = ['NETWORK_ERROR', 'TIMEOUT', 'UNKNOWN_ERROR', 'RATE_LIMIT'];
199
239
  return retryableCodes.includes(code);
200
240
  }
201
241
  /**
@@ -223,6 +263,149 @@ export class AIServiceClient {
223
263
  }
224
264
  return '';
225
265
  }
266
+ /**
267
+ * Check if the current configuration is using a local Ollama model
268
+ */
269
+ isUsingLocalModel() {
270
+ const configPath = join(homedir(), '.centaurus', 'config.json');
271
+ try {
272
+ if (existsSync(configPath)) {
273
+ const data = readFileSync(configPath, 'utf-8');
274
+ const config = JSON.parse(data);
275
+ return config.isLocalModel === true;
276
+ }
277
+ }
278
+ catch (error) {
279
+ // Return false if unable to read
280
+ }
281
+ return false;
282
+ }
283
+ /**
284
+ * Get the current model name from config
285
+ */
286
+ getCurrentModel() {
287
+ const configPath = join(homedir(), '.centaurus', 'config.json');
288
+ try {
289
+ if (existsSync(configPath)) {
290
+ const data = readFileSync(configPath, 'utf-8');
291
+ const config = JSON.parse(data);
292
+ return config.model || 'gemini-2.5-flash';
293
+ }
294
+ }
295
+ catch (error) {
296
+ // Return default if unable to read
297
+ }
298
+ return 'gemini-2.5-flash';
299
+ }
300
+ /**
301
+ * Convert internal message format to Ollama format (with tool support)
302
+ */
303
+ convertToOllamaMessages(messages) {
304
+ return messages.map(msg => {
305
+ if (msg.role === 'tool') {
306
+ // Tool results - convert to Ollama's tool message format
307
+ return {
308
+ role: 'tool',
309
+ content: msg.content,
310
+ tool_name: msg.tool_call_id || 'unknown', // Use tool_call_id as tool_name
311
+ };
312
+ }
313
+ if (msg.role === 'assistant' && msg.tool_calls?.length) {
314
+ // Assistant message with tool calls
315
+ return {
316
+ role: 'assistant',
317
+ content: msg.content || '',
318
+ tool_calls: msg.tool_calls.map(tc => ({
319
+ function: {
320
+ name: tc.name,
321
+ arguments: tc.arguments,
322
+ }
323
+ })),
324
+ };
325
+ }
326
+ // Regular message
327
+ return {
328
+ role: msg.role,
329
+ content: msg.content,
330
+ };
331
+ });
332
+ }
333
+ /**
334
+ * Convert ToolSchema array to Ollama tool format
335
+ */
336
+ convertToolsToOllamaFormat(tools) {
337
+ return tools.map(tool => ({
338
+ type: 'function',
339
+ function: {
340
+ name: tool.name,
341
+ description: tool.description,
342
+ parameters: {
343
+ type: 'object',
344
+ properties: tool.parameters.properties,
345
+ required: tool.parameters.required,
346
+ },
347
+ },
348
+ }));
349
+ }
350
+ /**
351
+ * Stream chat request to local Ollama instance with tool calling support
352
+ *
353
+ * @param model - The local Ollama model to use (e.g., 'llama3.2:latest')
354
+ * @param messages - Conversation history
355
+ * @param tools - Available tools (will be converted to Ollama format)
356
+ * @yields Stream chunks (text, tool_call, or done events)
357
+ */
358
+ async *streamLocalChat(model, messages, tools = []) {
359
+ try {
360
+ const supportsTools = OllamaService.modelSupportsTools(model);
361
+ const effectiveTools = supportsTools ? tools : [];
362
+ quickLog(`[${new Date().toISOString()}] [AIServiceClient] Starting local chat with model: ${model}, tools: ${effectiveTools.length}, supportsTools: ${supportsTools}\n`);
363
+ // Convert messages to Ollama format
364
+ const ollamaMessages = this.convertToOllamaMessages(messages);
365
+ // Convert tools to Ollama format if model supports them
366
+ const ollamaTools = effectiveTools.length > 0
367
+ ? this.convertToolsToOllamaFormat(effectiveTools)
368
+ : undefined;
369
+ // Send request to Ollama with tools
370
+ const response = await ollamaService.sendChatMessage(model, ollamaMessages, ollamaTools);
371
+ // Check for tool calls in response
372
+ if (response.message?.tool_calls?.length) {
373
+ quickLog(`[${new Date().toISOString()}] [AIServiceClient] Received ${response.message.tool_calls.length} tool calls from Ollama\n`);
374
+ // Yield each tool call
375
+ for (const toolCall of response.message.tool_calls) {
376
+ yield {
377
+ type: 'tool_call',
378
+ toolCall: {
379
+ id: `ollama-${Date.now()}-${toolCall.function.name}`, // Generate unique ID
380
+ name: toolCall.function.name,
381
+ arguments: toolCall.function.arguments,
382
+ },
383
+ };
384
+ }
385
+ // Signal completion (tool execution will happen in cli-adapter)
386
+ yield { type: 'done' };
387
+ return;
388
+ }
389
+ // No tool calls - yield text response
390
+ if (response.message.content) {
391
+ yield {
392
+ type: 'text',
393
+ content: response.message.content,
394
+ };
395
+ }
396
+ // Signal completion
397
+ yield { type: 'done' };
398
+ quickLog(`[${new Date().toISOString()}] [AIServiceClient] Local chat completed\n`);
399
+ }
400
+ catch (error) {
401
+ quickLog(`[${new Date().toISOString()}] [AIServiceClient] Local chat error: ${error.message}\n`);
402
+ yield {
403
+ type: 'error',
404
+ message: error.message || 'Failed to communicate with Ollama',
405
+ code: 'OLLAMA_ERROR',
406
+ };
407
+ }
408
+ }
226
409
  /**
227
410
  * Parse Server-Sent Events stream from response body
228
411
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ai-service-client.js","sourceRoot":"","sources":["../../src/services/ai-service-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-service-client.js","sourceRoot":"","sources":["../../src/services/ai-service-client.ts"],"names":[],"mappings":"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"}
@@ -346,7 +346,7 @@ class ApiClient {
346
346
  * @returns Upload result with gcsUri for Vertex AI
347
347
  */
348
348
  async uploadFile(conversationId, fileName, fileType, fileData) {
349
- const response = await this.getClient().post('/files/upload', { conversationId, fileName, fileType, fileData, clientType: 'cli' });
349
+ const response = await this.getClient().post('/files/upload', { conversationId, fileName, fileType, mimeType: fileType, fileData, clientType: 'cli' });
350
350
  return response.data.data;
351
351
  }
352
352
  /**