codebuff 1.0.333 → 1.0.335

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 (363) hide show
  1. package/index.js +334 -0
  2. package/package.json +23 -72
  3. package/dist/__tests__/display.test.d.ts +0 -1
  4. package/dist/__tests__/display.test.js +0 -174
  5. package/dist/__tests__/display.test.js.map +0 -1
  6. package/dist/background-process-manager.d.ts +0 -50
  7. package/dist/background-process-manager.js +0 -364
  8. package/dist/background-process-manager.js.map +0 -1
  9. package/dist/browser-runner.d.ts +0 -35
  10. package/dist/browser-runner.js +0 -689
  11. package/dist/browser-runner.js.map +0 -1
  12. package/dist/chat-storage.d.ts +0 -2
  13. package/dist/chat-storage.js +0 -98
  14. package/dist/chat-storage.js.map +0 -1
  15. package/dist/checkpoints/checkpoint-manager.d.ts +0 -94
  16. package/dist/checkpoints/checkpoint-manager.js +0 -291
  17. package/dist/checkpoints/checkpoint-manager.js.map +0 -1
  18. package/dist/checkpoints/file-manager.d.ts +0 -72
  19. package/dist/checkpoints/file-manager.js +0 -495
  20. package/dist/checkpoints/file-manager.js.map +0 -1
  21. package/dist/cli-definitions.d.ts +0 -9
  22. package/dist/cli-definitions.js +0 -60
  23. package/dist/cli-definitions.js.map +0 -1
  24. package/dist/cli-handlers/api-key.d.ts +0 -25
  25. package/dist/cli-handlers/api-key.js +0 -66
  26. package/dist/cli-handlers/api-key.js.map +0 -1
  27. package/dist/cli-handlers/checkpoint.d.ts +0 -19
  28. package/dist/cli-handlers/checkpoint.js +0 -221
  29. package/dist/cli-handlers/checkpoint.js.map +0 -1
  30. package/dist/cli-handlers/diff.d.ts +0 -2
  31. package/dist/cli-handlers/diff.js +0 -31
  32. package/dist/cli-handlers/diff.js.map +0 -1
  33. package/dist/cli-handlers/easter-egg.d.ts +0 -1
  34. package/dist/cli-handlers/easter-egg.js +0 -126
  35. package/dist/cli-handlers/easter-egg.js.map +0 -1
  36. package/dist/cli-handlers/inititalization-flow.d.ts +0 -1
  37. package/dist/cli-handlers/inititalization-flow.js +0 -25
  38. package/dist/cli-handlers/inititalization-flow.js.map +0 -1
  39. package/dist/cli.d.ts +0 -67
  40. package/dist/cli.js +0 -777
  41. package/dist/cli.js.map +0 -1
  42. package/dist/client.d.ts +0 -91
  43. package/dist/client.js +0 -1112
  44. package/dist/client.js.map +0 -1
  45. package/dist/code-map/languages.d.ts +0 -12
  46. package/dist/code-map/languages.d.ts.map +0 -1
  47. package/dist/code-map/languages.js +0 -130
  48. package/dist/code-map/languages.js.map +0 -1
  49. package/dist/code-map/parse.d.ts +0 -22
  50. package/dist/code-map/parse.d.ts.map +0 -1
  51. package/dist/code-map/parse.js +0 -180
  52. package/dist/code-map/parse.js.map +0 -1
  53. package/dist/code-map/tree-sitter-queries/readme.md +0 -23
  54. package/dist/code-map/tree-sitter-queries/tree-sitter-c-tags.scm +0 -16
  55. package/dist/code-map/tree-sitter-queries/tree-sitter-c_sharp-tags.scm +0 -23
  56. package/dist/code-map/tree-sitter-queries/tree-sitter-cpp-tags.scm +0 -29
  57. package/dist/code-map/tree-sitter-queries/tree-sitter-go-tags.scm +0 -26
  58. package/dist/code-map/tree-sitter-queries/tree-sitter-java-tags.scm +0 -19
  59. package/dist/code-map/tree-sitter-queries/tree-sitter-javascript-tags.scm +0 -16
  60. package/dist/code-map/tree-sitter-queries/tree-sitter-php-tags.scm +0 -23
  61. package/dist/code-map/tree-sitter-queries/tree-sitter-python-tags.scm +0 -12
  62. package/dist/code-map/tree-sitter-queries/tree-sitter-ruby-tags.scm +0 -58
  63. package/dist/code-map/tree-sitter-queries/tree-sitter-rust-tags.scm +0 -26
  64. package/dist/code-map/tree-sitter-queries/tree-sitter-typescript-tags.scm +0 -22
  65. package/dist/code-map/tsconfig.tsbuildinfo +0 -1
  66. package/dist/common/actions.d.ts +0 -1809
  67. package/dist/common/actions.d.ts.map +0 -1
  68. package/dist/common/actions.js +0 -140
  69. package/dist/common/actions.js.map +0 -1
  70. package/dist/common/analytics.d.ts +0 -6
  71. package/dist/common/analytics.d.ts.map +0 -1
  72. package/dist/common/analytics.js +0 -60
  73. package/dist/common/analytics.js.map +0 -1
  74. package/dist/common/api-keys/constants.d.ts +0 -9
  75. package/dist/common/api-keys/constants.d.ts.map +0 -1
  76. package/dist/common/api-keys/constants.js +0 -26
  77. package/dist/common/api-keys/constants.js.map +0 -1
  78. package/dist/common/api-keys/crypto.d.ts +0 -25
  79. package/dist/common/api-keys/crypto.d.ts.map +0 -1
  80. package/dist/common/api-keys/crypto.js +0 -186
  81. package/dist/common/api-keys/crypto.js.map +0 -1
  82. package/dist/common/browser-actions.d.ts +0 -4416
  83. package/dist/common/browser-actions.d.ts.map +0 -1
  84. package/dist/common/browser-actions.js +0 -343
  85. package/dist/common/browser-actions.js.map +0 -1
  86. package/dist/common/constants/analytics-events.d.ts +0 -29
  87. package/dist/common/constants/analytics-events.d.ts.map +0 -1
  88. package/dist/common/constants/analytics-events.js +0 -37
  89. package/dist/common/constants/analytics-events.js.map +0 -1
  90. package/dist/common/constants/grant-priorities.d.ts +0 -3
  91. package/dist/common/constants/grant-priorities.d.ts.map +0 -1
  92. package/dist/common/constants/grant-priorities.js +0 -11
  93. package/dist/common/constants/grant-priorities.js.map +0 -1
  94. package/dist/common/constants/tools.d.ts +0 -19
  95. package/dist/common/constants/tools.d.ts.map +0 -1
  96. package/dist/common/constants/tools.js +0 -45
  97. package/dist/common/constants/tools.js.map +0 -1
  98. package/dist/common/constants.d.ts +0 -149
  99. package/dist/common/constants.d.ts.map +0 -1
  100. package/dist/common/constants.js +0 -234
  101. package/dist/common/constants.js.map +0 -1
  102. package/dist/common/db/drizzle.config.d.ts +0 -3
  103. package/dist/common/db/drizzle.config.d.ts.map +0 -1
  104. package/dist/common/db/drizzle.config.js +0 -17
  105. package/dist/common/db/drizzle.config.js.map +0 -1
  106. package/dist/common/db/index.d.ts +0 -7
  107. package/dist/common/db/index.d.ts.map +0 -1
  108. package/dist/common/db/index.js +0 -35
  109. package/dist/common/db/index.js.map +0 -1
  110. package/dist/common/db/schema.d.ts +0 -2449
  111. package/dist/common/db/schema.d.ts.map +0 -1
  112. package/dist/common/db/schema.js +0 -310
  113. package/dist/common/db/schema.js.map +0 -1
  114. package/dist/common/db/transaction.d.ts +0 -13
  115. package/dist/common/db/transaction.d.ts.map +0 -1
  116. package/dist/common/db/transaction.js +0 -36
  117. package/dist/common/db/transaction.js.map +0 -1
  118. package/dist/common/json-config/__tests__/constants.test.d.ts +0 -2
  119. package/dist/common/json-config/__tests__/constants.test.d.ts.map +0 -1
  120. package/dist/common/json-config/__tests__/constants.test.js +0 -273
  121. package/dist/common/json-config/__tests__/constants.test.js.map +0 -1
  122. package/dist/common/json-config/__tests__/stringify-schema.test.d.ts +0 -2
  123. package/dist/common/json-config/__tests__/stringify-schema.test.d.ts.map +0 -1
  124. package/dist/common/json-config/__tests__/stringify-schema.test.js +0 -66
  125. package/dist/common/json-config/__tests__/stringify-schema.test.js.map +0 -1
  126. package/dist/common/json-config/constants.d.ts +0 -138
  127. package/dist/common/json-config/constants.d.ts.map +0 -1
  128. package/dist/common/json-config/constants.js +0 -78
  129. package/dist/common/json-config/constants.js.map +0 -1
  130. package/dist/common/json-config/default.d.ts +0 -3
  131. package/dist/common/json-config/default.d.ts.map +0 -1
  132. package/dist/common/json-config/default.js +0 -12
  133. package/dist/common/json-config/default.js.map +0 -1
  134. package/dist/common/json-config/stringify-schema.d.ts +0 -10
  135. package/dist/common/json-config/stringify-schema.d.ts.map +0 -1
  136. package/dist/common/json-config/stringify-schema.js +0 -131
  137. package/dist/common/json-config/stringify-schema.js.map +0 -1
  138. package/dist/common/project-file-tree.d.ts +0 -12
  139. package/dist/common/project-file-tree.d.ts.map +0 -1
  140. package/dist/common/project-file-tree.js +0 -212
  141. package/dist/common/project-file-tree.js.map +0 -1
  142. package/dist/common/types/agent-state.d.ts +0 -265
  143. package/dist/common/types/agent-state.d.ts.map +0 -1
  144. package/dist/common/types/agent-state.js +0 -48
  145. package/dist/common/types/agent-state.js.map +0 -1
  146. package/dist/common/types/grant.d.ts +0 -3
  147. package/dist/common/types/grant.d.ts.map +0 -1
  148. package/dist/common/types/grant.js +0 -11
  149. package/dist/common/types/grant.js.map +0 -1
  150. package/dist/common/types/message.d.ts +0 -320
  151. package/dist/common/types/message.d.ts.map +0 -1
  152. package/dist/common/types/message.js +0 -60
  153. package/dist/common/types/message.js.map +0 -1
  154. package/dist/common/types/organization.d.ts +0 -106
  155. package/dist/common/types/organization.d.ts.map +0 -1
  156. package/dist/common/types/organization.js +0 -3
  157. package/dist/common/types/organization.js.map +0 -1
  158. package/dist/common/types/referral.d.ts +0 -3
  159. package/dist/common/types/referral.d.ts.map +0 -1
  160. package/dist/common/types/referral.js +0 -5
  161. package/dist/common/types/referral.js.map +0 -1
  162. package/dist/common/types/tools.d.ts +0 -6
  163. package/dist/common/types/tools.d.ts.map +0 -1
  164. package/dist/common/types/tools.js +0 -3
  165. package/dist/common/types/tools.js.map +0 -1
  166. package/dist/common/types/usage.d.ts +0 -41
  167. package/dist/common/types/usage.d.ts.map +0 -1
  168. package/dist/common/types/usage.js +0 -16
  169. package/dist/common/types/usage.js.map +0 -1
  170. package/dist/common/util/__tests__/messages.test.d.ts +0 -2
  171. package/dist/common/util/__tests__/messages.test.d.ts.map +0 -1
  172. package/dist/common/util/__tests__/messages.test.js +0 -70
  173. package/dist/common/util/__tests__/messages.test.js.map +0 -1
  174. package/dist/common/util/__tests__/saxy.test.d.ts +0 -2
  175. package/dist/common/util/__tests__/saxy.test.d.ts.map +0 -1
  176. package/dist/common/util/__tests__/saxy.test.js +0 -906
  177. package/dist/common/util/__tests__/saxy.test.js.map +0 -1
  178. package/dist/common/util/__tests__/string.test.d.ts +0 -2
  179. package/dist/common/util/__tests__/string.test.d.ts.map +0 -1
  180. package/dist/common/util/__tests__/string.test.js +0 -82
  181. package/dist/common/util/__tests__/string.test.js.map +0 -1
  182. package/dist/common/util/array.d.ts +0 -7
  183. package/dist/common/util/array.d.ts.map +0 -1
  184. package/dist/common/util/array.js +0 -32
  185. package/dist/common/util/array.js.map +0 -1
  186. package/dist/common/util/changes.d.ts +0 -9
  187. package/dist/common/util/changes.d.ts.map +0 -1
  188. package/dist/common/util/changes.js +0 -87
  189. package/dist/common/util/changes.js.map +0 -1
  190. package/dist/common/util/credentials.d.ts +0 -26
  191. package/dist/common/util/credentials.d.ts.map +0 -1
  192. package/dist/common/util/credentials.js +0 -24
  193. package/dist/common/util/credentials.js.map +0 -1
  194. package/dist/common/util/currency.d.ts +0 -15
  195. package/dist/common/util/currency.d.ts.map +0 -1
  196. package/dist/common/util/currency.js +0 -23
  197. package/dist/common/util/currency.js.map +0 -1
  198. package/dist/common/util/dates.d.ts +0 -11
  199. package/dist/common/util/dates.d.ts.map +0 -1
  200. package/dist/common/util/dates.js +0 -22
  201. package/dist/common/util/dates.js.map +0 -1
  202. package/dist/common/util/file.d.ts +0 -171
  203. package/dist/common/util/file.d.ts.map +0 -1
  204. package/dist/common/util/file.js +0 -216
  205. package/dist/common/util/file.js.map +0 -1
  206. package/dist/common/util/git.d.ts +0 -7
  207. package/dist/common/util/git.d.ts.map +0 -1
  208. package/dist/common/util/git.js +0 -81
  209. package/dist/common/util/git.js.map +0 -1
  210. package/dist/common/util/logger.d.ts +0 -9
  211. package/dist/common/util/logger.d.ts.map +0 -1
  212. package/dist/common/util/logger.js +0 -52
  213. package/dist/common/util/logger.js.map +0 -1
  214. package/dist/common/util/lru-cache.d.ts +0 -31
  215. package/dist/common/util/lru-cache.d.ts.map +0 -1
  216. package/dist/common/util/lru-cache.js +0 -68
  217. package/dist/common/util/lru-cache.js.map +0 -1
  218. package/dist/common/util/messages.d.ts +0 -12
  219. package/dist/common/util/messages.d.ts.map +0 -1
  220. package/dist/common/util/messages.js +0 -81
  221. package/dist/common/util/messages.js.map +0 -1
  222. package/dist/common/util/min-heap.d.ts +0 -16
  223. package/dist/common/util/min-heap.d.ts.map +0 -1
  224. package/dist/common/util/min-heap.js +0 -73
  225. package/dist/common/util/min-heap.js.map +0 -1
  226. package/dist/common/util/object.d.ts +0 -19
  227. package/dist/common/util/object.d.ts.map +0 -1
  228. package/dist/common/util/object.js +0 -91
  229. package/dist/common/util/object.js.map +0 -1
  230. package/dist/common/util/patch.d.ts +0 -2
  231. package/dist/common/util/patch.d.ts.map +0 -1
  232. package/dist/common/util/patch.js +0 -215
  233. package/dist/common/util/patch.js.map +0 -1
  234. package/dist/common/util/promise.d.ts +0 -17
  235. package/dist/common/util/promise.d.ts.map +0 -1
  236. package/dist/common/util/promise.js +0 -51
  237. package/dist/common/util/promise.js.map +0 -1
  238. package/dist/common/util/random.d.ts +0 -2
  239. package/dist/common/util/random.d.ts.map +0 -1
  240. package/dist/common/util/random.js +0 -17
  241. package/dist/common/util/random.js.map +0 -1
  242. package/dist/common/util/referral.d.ts +0 -2
  243. package/dist/common/util/referral.d.ts.map +0 -1
  244. package/dist/common/util/referral.js +0 -6
  245. package/dist/common/util/referral.js.map +0 -1
  246. package/dist/common/util/saxy.d.ts +0 -179
  247. package/dist/common/util/saxy.d.ts.map +0 -1
  248. package/dist/common/util/saxy.js +0 -548
  249. package/dist/common/util/saxy.js.map +0 -1
  250. package/dist/common/util/string.d.ts +0 -80
  251. package/dist/common/util/string.d.ts.map +0 -1
  252. package/dist/common/util/string.js +0 -275
  253. package/dist/common/util/string.js.map +0 -1
  254. package/dist/common/util/stripe.d.ts +0 -4
  255. package/dist/common/util/stripe.d.ts.map +0 -1
  256. package/dist/common/util/stripe.js +0 -22
  257. package/dist/common/util/stripe.js.map +0 -1
  258. package/dist/common/util/sync-failure.d.ts +0 -2
  259. package/dist/common/util/sync-failure.d.ts.map +0 -1
  260. package/dist/common/util/sync-failure.js +0 -57
  261. package/dist/common/util/sync-failure.js.map +0 -1
  262. package/dist/common/websockets/websocket-client.d.ts +0 -43
  263. package/dist/common/websockets/websocket-client.d.ts.map +0 -1
  264. package/dist/common/websockets/websocket-client.js +0 -216
  265. package/dist/common/websockets/websocket-client.js.map +0 -1
  266. package/dist/common/websockets/websocket-schema.d.ts +0 -3679
  267. package/dist/common/websockets/websocket-schema.d.ts.map +0 -1
  268. package/dist/common/websockets/websocket-schema.js +0 -55
  269. package/dist/common/websockets/websocket-schema.js.map +0 -1
  270. package/dist/config.d.ts +0 -4
  271. package/dist/config.js +0 -12
  272. package/dist/config.js.map +0 -1
  273. package/dist/create-template-project.d.ts +0 -1
  274. package/dist/create-template-project.js +0 -131
  275. package/dist/create-template-project.js.map +0 -1
  276. package/dist/credentials.d.ts +0 -4
  277. package/dist/credentials.js +0 -44
  278. package/dist/credentials.js.map +0 -1
  279. package/dist/dev-process-manager.d.ts +0 -10
  280. package/dist/dev-process-manager.js +0 -56
  281. package/dist/dev-process-manager.js.map +0 -1
  282. package/dist/display.d.ts +0 -9
  283. package/dist/display.js +0 -137
  284. package/dist/display.js.map +0 -1
  285. package/dist/fingerprint.d.ts +0 -1
  286. package/dist/fingerprint.js +0 -48
  287. package/dist/fingerprint.js.map +0 -1
  288. package/dist/index.d.ts +0 -2
  289. package/dist/index.js +0 -125
  290. package/dist/index.js.map +0 -1
  291. package/dist/json-config/hooks.d.ts +0 -9
  292. package/dist/json-config/hooks.js +0 -60
  293. package/dist/json-config/hooks.js.map +0 -1
  294. package/dist/json-config/parser.d.ts +0 -7
  295. package/dist/json-config/parser.js +0 -54
  296. package/dist/json-config/parser.js.map +0 -1
  297. package/dist/menu.d.ts +0 -14
  298. package/dist/menu.js +0 -344
  299. package/dist/menu.js.map +0 -1
  300. package/dist/project-files.d.ts +0 -104
  301. package/dist/project-files.js +0 -621
  302. package/dist/project-files.js.map +0 -1
  303. package/dist/startup-process-handler.d.ts +0 -1
  304. package/dist/startup-process-handler.js +0 -25
  305. package/dist/startup-process-handler.js.map +0 -1
  306. package/dist/terminal/background.d.ts +0 -12
  307. package/dist/terminal/background.js +0 -148
  308. package/dist/terminal/background.js.map +0 -1
  309. package/dist/terminal/base.d.ts +0 -41
  310. package/dist/terminal/base.js +0 -553
  311. package/dist/terminal/base.js.map +0 -1
  312. package/dist/tool-handlers.d.ts +0 -31
  313. package/dist/tool-handlers.js +0 -275
  314. package/dist/tool-handlers.js.map +0 -1
  315. package/dist/types.d.ts +0 -15
  316. package/dist/types.js +0 -3
  317. package/dist/types.js.map +0 -1
  318. package/dist/update-codebuff.d.ts +0 -1
  319. package/dist/update-codebuff.js +0 -169
  320. package/dist/update-codebuff.js.map +0 -1
  321. package/dist/utils/__tests__/background-process-manager.test.d.ts +0 -1
  322. package/dist/utils/__tests__/background-process-manager.test.js +0 -327
  323. package/dist/utils/__tests__/background-process-manager.test.js.map +0 -1
  324. package/dist/utils/__tests__/response-example-4-files.txt +0 -621
  325. package/dist/utils/__tests__/tool-renderers.test.d.ts +0 -1
  326. package/dist/utils/__tests__/tool-renderers.test.js +0 -83
  327. package/dist/utils/__tests__/tool-renderers.test.js.map +0 -1
  328. package/dist/utils/__tests__/xml-stream-parser.test.d.ts +0 -1
  329. package/dist/utils/__tests__/xml-stream-parser.test.js +0 -255
  330. package/dist/utils/__tests__/xml-stream-parser.test.js.map +0 -1
  331. package/dist/utils/analytics.d.ts +0 -7
  332. package/dist/utils/analytics.js +0 -132
  333. package/dist/utils/analytics.js.map +0 -1
  334. package/dist/utils/detect-shell.d.ts +0 -1
  335. package/dist/utils/detect-shell.js +0 -65
  336. package/dist/utils/detect-shell.js.map +0 -1
  337. package/dist/utils/git.d.ts +0 -13
  338. package/dist/utils/git.js +0 -143
  339. package/dist/utils/git.js.map +0 -1
  340. package/dist/utils/logger.d.ts +0 -21
  341. package/dist/utils/logger.js +0 -109
  342. package/dist/utils/logger.js.map +0 -1
  343. package/dist/utils/spinner.d.ts +0 -12
  344. package/dist/utils/spinner.js +0 -85
  345. package/dist/utils/spinner.js.map +0 -1
  346. package/dist/utils/system-info.d.ts +0 -8
  347. package/dist/utils/system-info.js +0 -22
  348. package/dist/utils/system-info.js.map +0 -1
  349. package/dist/utils/tool-renderers.d.ts +0 -16
  350. package/dist/utils/tool-renderers.js +0 -216
  351. package/dist/utils/tool-renderers.js.map +0 -1
  352. package/dist/utils/xml-stream-parser.d.ts +0 -9
  353. package/dist/utils/xml-stream-parser.js +0 -143
  354. package/dist/utils/xml-stream-parser.js.map +0 -1
  355. package/dist/web-scraper.d.ts +0 -3
  356. package/dist/web-scraper.js +0 -59
  357. package/dist/web-scraper.js.map +0 -1
  358. package/dist/workers/checkpoint-worker.d.ts +0 -1
  359. package/dist/workers/checkpoint-worker.js +0 -51
  360. package/dist/workers/checkpoint-worker.js.map +0 -1
  361. package/dist/workers/project-context.d.ts +0 -1
  362. package/dist/workers/project-context.js +0 -27
  363. package/dist/workers/project-context.js.map +0 -1
package/dist/utils/git.js DELETED
@@ -1,143 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.gitCommandIsAvailable = gitCommandIsAvailable;
30
- exports.findGitRoot = findGitRoot;
31
- exports.getRepoMetrics = getRepoMetrics;
32
- const child_process_1 = require("child_process");
33
- const file_1 = require("../common/util/file");
34
- const fs_1 = __importStar(require("fs"));
35
- const git_url_parse_1 = __importDefault(require("git-url-parse"));
36
- const isomorphic_git_1 = require("isomorphic-git");
37
- const path_1 = __importDefault(require("path"));
38
- const project_files_1 = require("../project-files");
39
- const logger_1 = require("./logger");
40
- /**
41
- * Checks if the native git command is available on the system.
42
- * Caches the result to avoid repeated checks.
43
- * @returns boolean indicating if git command is available
44
- */
45
- let cachedGitAvailable = null;
46
- function gitCommandIsAvailable() {
47
- if (cachedGitAvailable === null) {
48
- try {
49
- (0, child_process_1.execFileSync)('git', ['--version'], { stdio: 'ignore' });
50
- cachedGitAvailable = true;
51
- }
52
- catch (error) {
53
- logger_1.logger.error({
54
- errorMessage: error instanceof Error ? error.message : String(error),
55
- errorStack: error instanceof Error ? error.stack : undefined,
56
- }, 'Git command not available');
57
- cachedGitAvailable = false;
58
- }
59
- }
60
- return cachedGitAvailable;
61
- }
62
- function findGitRoot(startDir) {
63
- let currentDir = startDir;
64
- while (currentDir !== path_1.default.parse(currentDir).root) {
65
- const gitDir = path_1.default.join(currentDir, '.git');
66
- if ((0, fs_1.existsSync)(gitDir) && (0, fs_1.statSync)(gitDir).isDirectory()) {
67
- return (0, file_1.isValidProjectRoot)(currentDir) ? currentDir : null;
68
- }
69
- currentDir = path_1.default.dirname(currentDir);
70
- }
71
- return null;
72
- }
73
- function parseRepoName(remoteUrl) {
74
- if (!remoteUrl)
75
- return undefined;
76
- try {
77
- const { full_name, owner, name } = (0, git_url_parse_1.default)(remoteUrl);
78
- return full_name || (owner && name ? `${owner}/${name}` : undefined);
79
- }
80
- catch {
81
- return undefined;
82
- }
83
- }
84
- // Always uses isomorphic-git since it can more easily run asynchronously
85
- async function getRepoMetrics(providedRemoteUrl) {
86
- const t = Date.now();
87
- const cwd = (0, project_files_1.getWorkingDirectory)();
88
- const root = findGitRoot(cwd);
89
- if (!root) {
90
- return {};
91
- }
92
- const gitDir = path_1.default.join(root, '.git');
93
- const commitsArr = await (0, isomorphic_git_1.log)({ fs: fs_1.default, dir: root, gitdir: gitDir }).catch((error) => {
94
- logger_1.logger.error({ error }, 'Error fetching git log. Is this an empty git repo?');
95
- return [];
96
- });
97
- const firstCommit = commitsArr.at(-1); // earliest
98
- const tracked = await (0, isomorphic_git_1.listFiles)({ fs: fs_1.default, dir: root, gitdir: gitDir });
99
- // Use provided remote URL or fetch from git config
100
- let remoteUrl;
101
- if (providedRemoteUrl) {
102
- remoteUrl = providedRemoteUrl;
103
- }
104
- else {
105
- remoteUrl = await (0, isomorphic_git_1.getConfig)({
106
- fs: fs_1.default,
107
- gitdir: gitDir,
108
- path: 'remote.origin.url',
109
- });
110
- }
111
- // Parse owner and repo from the remote URL
112
- let owner;
113
- let repo;
114
- if (remoteUrl) {
115
- try {
116
- const parsed = (0, git_url_parse_1.default)(remoteUrl);
117
- owner = parsed.owner;
118
- repo = parsed.name;
119
- }
120
- catch (error) {
121
- // If parsing fails, owner and repo will remain undefined
122
- }
123
- }
124
- const nowSec = Math.floor(Date.now() / 1000);
125
- const THIRTY_DAYS = 30 * 24 * 60 * 60;
126
- const recent = commitsArr.filter((c) => nowSec - c.commit.committer.timestamp <= THIRTY_DAYS);
127
- const authors = new Set(recent.map((c) => `${c.commit.author.name}|${c.commit.author.email?.toLowerCase()}`));
128
- const res = {
129
- ageDays: firstCommit
130
- ? Math.floor((Date.now() / 1000 - firstCommit.commit.committer.timestamp) / 86_400)
131
- : 0,
132
- trackedFiles: tracked.length,
133
- commits: commitsArr.length,
134
- repoName: parseRepoName(remoteUrl ?? undefined),
135
- repoUrl: remoteUrl ?? undefined,
136
- owner,
137
- repo,
138
- commitsLast30Days: recent.length,
139
- authorsLast30Days: authors.size,
140
- };
141
- return res;
142
- }
143
- //# sourceMappingURL=git.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { pino } from 'pino';
2
- export interface LoggerContext {
3
- userId?: string;
4
- userEmail?: string;
5
- clientSessionId?: string;
6
- fingerprintId?: string;
7
- clientRequestId?: string;
8
- [key: string]: any;
9
- }
10
- export declare const loggerContext: LoggerContext;
11
- declare const loggingLevels: readonly ["info", "debug", "warn", "error", "fatal"];
12
- type LogLevel = (typeof loggingLevels)[number];
13
- /**
14
- * Wrapper around Pino logger.
15
- *
16
- * To also send to Posthog, set data.eventId to type AnalyticsEvent
17
- *
18
- * e.g. logger.info({eventId: AnalyticsEvent.SOME_EVENT, field: value}, 'some message')
19
- */
20
- export declare const logger: Record<LogLevel, pino.LogFn>;
21
- export {};
@@ -1,109 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.logger = exports.loggerContext = void 0;
27
- const fs_1 = require("fs");
28
- const path_1 = __importStar(require("path"));
29
- const util_1 = require("util");
30
- const analytics_events_1 = require("../common/constants/analytics-events");
31
- const pino_1 = require("pino");
32
- const project_files_1 = require("../project-files");
33
- const analytics_1 = require("./analytics");
34
- exports.loggerContext = {};
35
- const analyticsBuffer = [];
36
- let logPath = undefined;
37
- let pinoLogger = undefined;
38
- const loggingLevels = ['info', 'debug', 'warn', 'error', 'fatal'];
39
- function setLogPath(p) {
40
- if (logPath === p) {
41
- return;
42
- }
43
- logPath = p;
44
- (0, fs_1.mkdirSync)((0, path_1.dirname)(p), { recursive: true });
45
- pinoLogger = (0, pino_1.pino)({
46
- level: 'debug',
47
- formatters: {
48
- level: (label) => {
49
- return { level: label.toUpperCase() };
50
- },
51
- },
52
- timestamp: () => `,"timestamp":"${new Date(Date.now()).toISOString()}"`,
53
- }, pino_1.pino.transport({
54
- target: 'pino/file',
55
- options: { destination: p },
56
- level: 'debug',
57
- }));
58
- }
59
- function sendAnalyticsAndLog(level, data, msg, ...args) {
60
- if (process.env.CODEBUFF_GITHUB_ACTIONS !== 'true') {
61
- setLogPath(process.env.NEXT_PUBLIC_CB_ENVIRONMENT === 'dev'
62
- ? path_1.default.join(__dirname, '../../../debug', 'npm-app.log')
63
- : path_1.default.join((0, project_files_1.getCurrentChatDir)(), 'log.jsonl'));
64
- }
65
- const toTrack = {
66
- data,
67
- level,
68
- loggerContext: exports.loggerContext,
69
- msg: (0, util_1.format)(msg, ...args),
70
- };
71
- logAsErrorIfNeeded(toTrack);
72
- logOrStore: if (process.env.NEXT_PUBLIC_CB_ENVIRONMENT !== 'dev' &&
73
- Object.values(analytics_events_1.AnalyticsEvent).includes(data.eventId)) {
74
- const analyticsEventId = data.eventId;
75
- // Not accurate for anonymous users
76
- if (!exports.loggerContext.userId) {
77
- analyticsBuffer.push({ analyticsEventId, toTrack });
78
- break logOrStore;
79
- }
80
- for (const item of analyticsBuffer) {
81
- (0, analytics_1.trackEvent)(item.analyticsEventId, item.toTrack);
82
- }
83
- analyticsBuffer.length = 0;
84
- (0, analytics_1.trackEvent)(analyticsEventId, toTrack);
85
- }
86
- if (pinoLogger !== undefined) {
87
- pinoLogger[level]({ ...exports.loggerContext, data }, msg, ...args);
88
- }
89
- }
90
- function logAsErrorIfNeeded(toTrack) {
91
- if (toTrack.level === 'error' || toTrack.level === 'fatal') {
92
- (0, analytics_1.logError)(new Error(toTrack.msg), toTrack.loggerContext.userId ?? 'unknown', { ...toTrack.data, context: toTrack.loggerContext });
93
- (0, analytics_1.flushAnalytics)();
94
- }
95
- }
96
- /**
97
- * Wrapper around Pino logger.
98
- *
99
- * To also send to Posthog, set data.eventId to type AnalyticsEvent
100
- *
101
- * e.g. logger.info({eventId: AnalyticsEvent.SOME_EVENT, field: value}, 'some message')
102
- */
103
- exports.logger = Object.fromEntries(loggingLevels.map((level) => {
104
- return [
105
- level,
106
- (data, msg, ...args) => sendAnalyticsAndLog(level, data, msg, ...args),
107
- ];
108
- }));
109
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- export declare class Spinner {
2
- private static instance;
3
- private loadingInterval;
4
- private previous;
5
- private text;
6
- private constructor();
7
- static get(): Spinner;
8
- start(text: string): void;
9
- stop(): void;
10
- restoreCursor(): void;
11
- private rewriteLine;
12
- }
@@ -1,85 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Spinner = void 0;
27
- const readline = __importStar(require("readline"));
28
- const picocolors_1 = require("picocolors");
29
- const display_1 = require("../display");
30
- const chars = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
31
- class Spinner {
32
- static instance = null;
33
- loadingInterval = null;
34
- previous = null;
35
- text = 'Thinking';
36
- constructor() { }
37
- static get() {
38
- if (!Spinner.instance) {
39
- Spinner.instance = new Spinner();
40
- }
41
- return Spinner.instance;
42
- }
43
- start(text) {
44
- this.text = text;
45
- if (this.loadingInterval) {
46
- return;
47
- }
48
- this.previous = (0, display_1.getPrevious)();
49
- let i = 0;
50
- // Hide cursor while spinner is active
51
- process.stdout.write('\u001B[?25l');
52
- this.loadingInterval = setInterval(() => {
53
- this.rewriteLine((0, picocolors_1.green)(`${chars[i]} ${this.text}`));
54
- i = (i + 1) % chars.length;
55
- }, 100);
56
- }
57
- stop() {
58
- if (!this.loadingInterval) {
59
- return;
60
- }
61
- clearInterval(this.loadingInterval);
62
- this.loadingInterval = null;
63
- this.rewriteLine(''); // Clear the spinner line
64
- this.restoreCursor(); // Show cursor after spinner stops
65
- if (this.previous) {
66
- (0, display_1.setPrevious)(this.previous);
67
- }
68
- this.previous = null;
69
- }
70
- restoreCursor() {
71
- process.stdout.write('\u001B[?25h');
72
- }
73
- rewriteLine(line) {
74
- if (process.stdout.isTTY) {
75
- readline.clearLine(process.stdout, 0);
76
- readline.cursorTo(process.stdout, 0);
77
- process.stdout.write(line);
78
- }
79
- else {
80
- process.stdout.write(line + '\n');
81
- }
82
- }
83
- }
84
- exports.Spinner = Spinner;
85
- //# sourceMappingURL=spinner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/utils/spinner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AAEpC,2CAAkC;AAElC,wCAAqD;AAErD,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEhE,MAAa,OAAO;IACV,MAAM,CAAC,QAAQ,GAAmB,IAAI,CAAA;IACtC,eAAe,GAA0B,IAAI,CAAA;IAC7C,QAAQ,GAAkB,IAAI,CAAA;IAC9B,IAAI,GAAW,UAAU,CAAA;IAEjC,gBAAuB,CAAC;IAEjB,MAAM,CAAC,GAAG;QACf,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAA;QAClC,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAA,qBAAW,GAAE,CAAA;QAC7B,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,sCAAsC;QACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QACnC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,WAAW,CAAC,IAAA,kBAAK,EAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACnD,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QAC5B,CAAC,EAAE,GAAG,CAAC,CAAA;IACT,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAM;QACR,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA,CAAC,yBAAyB;QAC9C,IAAI,CAAC,aAAa,EAAE,CAAA,CAAC,kCAAkC;QACvD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAA,qBAAW,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC5B,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,aAAa;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IACrC,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACrC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;;AA1DH,0BA2DC"}
@@ -1,8 +0,0 @@
1
- export declare const getSystemInfo: () => {
2
- platform: NodeJS.Platform;
3
- shell: string;
4
- nodeVersion: string;
5
- arch: NodeJS.Architecture;
6
- homedir: string;
7
- cpus: number;
8
- };
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getSystemInfo = void 0;
7
- const os_1 = __importDefault(require("os"));
8
- const path_1 = __importDefault(require("path"));
9
- const process_1 = require("process");
10
- const getSystemInfo = () => {
11
- const shell = process.env.SHELL || process.env.COMSPEC || 'unknown';
12
- return {
13
- platform: process_1.platform,
14
- shell: path_1.default.basename(shell),
15
- nodeVersion: process.version,
16
- arch: process.arch,
17
- homedir: os_1.default.homedir(),
18
- cpus: os_1.default.cpus().length,
19
- };
20
- };
21
- exports.getSystemInfo = getSystemInfo;
22
- //# sourceMappingURL=system-info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-info.js","sourceRoot":"","sources":["../../src/utils/system-info.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AACnB,gDAAuB;AACvB,qCAAkC;AAE3B,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAA;IAEnE,OAAO;QACL,QAAQ,EAAR,kBAAQ;QACR,KAAK,EAAE,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC,OAAO;QAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,YAAE,CAAC,OAAO,EAAE;QACrB,IAAI,EAAE,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM;KACvB,CAAA;AACH,CAAC,CAAA;AAXY,QAAA,aAAa,iBAWzB"}
@@ -1,16 +0,0 @@
1
- import { ToolName } from '../common/constants/tools';
2
- /**
3
- * Interface for handling tool call rendering
4
- */
5
- export interface ToolCallRenderer {
6
- onToolStart?: (toolName: string, attributes: Record<string, string>) => string | null | (() => void);
7
- onParamStart?: (paramName: string, toolName: string) => string | null | (() => void);
8
- onParamChunk?: (content: string, paramName: string, toolName: string) => string | null | (() => void);
9
- onParamEnd?: (paramName: string, toolName: string, content: string) => string | null | (() => void);
10
- onToolEnd?: (toolName: string, params: Record<string, string>) => string | null | (() => void);
11
- }
12
- /**
13
- * Default renderer for tool calls that formats them nicely for the console
14
- */
15
- export declare const defaultToolCallRenderer: ToolCallRenderer;
16
- export declare const toolRenderers: Record<ToolName, ToolCallRenderer>;
@@ -1,216 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toolRenderers = exports.defaultToolCallRenderer = void 0;
4
- const project_file_tree_1 = require("../common/project-file-tree");
5
- const string_1 = require("../common/util/string");
6
- const picocolors_1 = require("picocolors");
7
- const project_files_1 = require("../project-files");
8
- const spinner_1 = require("./spinner");
9
- let toolStart = true;
10
- /**
11
- * Default renderer for tool calls that formats them nicely for the console
12
- */
13
- exports.defaultToolCallRenderer = {
14
- onToolStart: (toolName) => {
15
- toolStart = true;
16
- return '\n\n' + (0, picocolors_1.gray)(`[${(0, picocolors_1.bold)((0, string_1.snakeToTitleCase)(toolName))}]`) + '\n';
17
- },
18
- onParamChunk: (content, paramName, toolName) => {
19
- if (toolStart && content.startsWith('\n'))
20
- content = content.slice(1);
21
- toolStart = false;
22
- return (0, picocolors_1.gray)(content);
23
- },
24
- onParamEnd: () => null,
25
- onToolEnd: () => '\n\n',
26
- };
27
- exports.toolRenderers = {
28
- end_turn: {
29
- // Don't render anything
30
- },
31
- run_terminal_command: {
32
- // Don't render anything
33
- },
34
- code_search: {
35
- // Don't render anything
36
- },
37
- browser_logs: {
38
- // Don't render anything
39
- },
40
- read_files: {
41
- ...exports.defaultToolCallRenderer,
42
- onParamChunk: (content, paramName, toolName) => {
43
- // Don't render chunks for paths, wait for the full list
44
- return null;
45
- },
46
- onParamEnd: (paramName, toolName, content) => {
47
- const files = content
48
- .trim()
49
- .split('\n')
50
- .filter(Boolean)
51
- .map((fname) => (0, project_file_tree_1.isFileIgnored)(fname, (0, project_files_1.getProjectRoot)())
52
- ? (0, picocolors_1.strikethrough)(fname) + ' (blocked)'
53
- : fname);
54
- const numFiles = files.length;
55
- const maxInitialFiles = 3;
56
- if (numFiles <= maxInitialFiles) {
57
- // If 3 or fewer files, list them all on new lines
58
- return (0, picocolors_1.gray)(files.join('\n'));
59
- }
60
- else {
61
- // If more than 3 files
62
- const initialFiles = files.slice(0, maxInitialFiles);
63
- const remainingFiles = files.slice(maxInitialFiles);
64
- const numRemaining = remainingFiles.length;
65
- const remainingFilesString = remainingFiles.join(' ');
66
- return (0, picocolors_1.gray)(`${initialFiles.map((file) => '- ' + file).join('\n')}\nand ${numRemaining} more: ${remainingFilesString}`);
67
- }
68
- },
69
- onToolEnd: (toolName, params) => {
70
- // Add a final newline after the file list
71
- return '\n\n';
72
- },
73
- },
74
- find_files: {
75
- ...exports.defaultToolCallRenderer,
76
- },
77
- think_deeply: {
78
- ...exports.defaultToolCallRenderer,
79
- },
80
- create_plan: {
81
- ...exports.defaultToolCallRenderer,
82
- onParamStart: (paramName) => {
83
- if (paramName === 'path') {
84
- return (0, picocolors_1.gray)('Editing plan at ');
85
- }
86
- return null;
87
- },
88
- onParamChunk: (content, paramName) => {
89
- if (paramName === 'path') {
90
- return (0, picocolors_1.gray)(content);
91
- }
92
- return null;
93
- },
94
- onParamEnd: (paramName) => {
95
- if (paramName === 'path') {
96
- return (0, picocolors_1.gray)('...') + '\n';
97
- }
98
- return null;
99
- },
100
- },
101
- write_file: {
102
- ...exports.defaultToolCallRenderer,
103
- onParamStart: (paramName) => {
104
- if (paramName === 'path') {
105
- return (0, picocolors_1.gray)('Editing file at ');
106
- }
107
- return null;
108
- },
109
- onParamChunk: (content, paramName, toolName) => {
110
- return null;
111
- },
112
- onParamEnd: (paramName, toolName, content) => {
113
- if (paramName === 'path') {
114
- return (0, project_file_tree_1.isFileIgnored)(content, (0, project_files_1.getProjectRoot)())
115
- ? (0, picocolors_1.gray)((0, picocolors_1.strikethrough)(content) + ' (blocked)')
116
- : (0, picocolors_1.gray)(content + '...');
117
- }
118
- if (paramName === 'instructions') {
119
- return (0, picocolors_1.gray)('\n' + content);
120
- }
121
- return null;
122
- },
123
- },
124
- str_replace: {
125
- onToolStart: (toolName) => {
126
- toolStart = true;
127
- return '\n\n' + (0, picocolors_1.gray)(`[${(0, picocolors_1.bold)('Edit File')}]`) + '\n';
128
- },
129
- onParamStart: (paramName) => {
130
- if (paramName === 'path') {
131
- return (0, picocolors_1.gray)('Editing file at ');
132
- }
133
- return null;
134
- },
135
- onParamChunk: (content, paramName) => {
136
- if (paramName === 'path') {
137
- return (0, picocolors_1.gray)(content);
138
- }
139
- return null;
140
- },
141
- onParamEnd: (paramName) => paramName === 'path' ? (0, picocolors_1.gray)('...') + '\n' : null,
142
- },
143
- add_subgoal: {
144
- ...exports.defaultToolCallRenderer,
145
- onParamStart: (paramName, toolName) => {
146
- if (paramName === 'id') {
147
- return null;
148
- }
149
- return (0, picocolors_1.gray)((0, string_1.capitalize)(paramName) + ': ');
150
- },
151
- onParamChunk: (content, paramName, toolName) => {
152
- if (paramName === 'id') {
153
- return null;
154
- }
155
- return (0, picocolors_1.gray)(content);
156
- },
157
- onParamEnd: (paramName) => {
158
- const paramsWithNewLine = ['objective', 'status'];
159
- if (paramsWithNewLine.includes(paramName)) {
160
- return '\n';
161
- }
162
- return null;
163
- },
164
- },
165
- update_subgoal: {
166
- ...exports.defaultToolCallRenderer,
167
- onParamStart: (paramName, toolName) => {
168
- if (paramName === 'id') {
169
- return null;
170
- }
171
- return (0, picocolors_1.gray)((0, string_1.capitalize)(paramName) + ': ');
172
- },
173
- onParamChunk: (content, paramName, toolName) => {
174
- if (paramName === 'id') {
175
- return null;
176
- }
177
- return (0, picocolors_1.gray)(content);
178
- },
179
- onParamEnd: (paramName) => {
180
- const paramsWithNewLine = ['status'];
181
- if (paramsWithNewLine.includes(paramName)) {
182
- return '\n';
183
- }
184
- return null;
185
- },
186
- },
187
- research: {
188
- ...exports.defaultToolCallRenderer,
189
- onParamChunk: (content, paramName, toolName) => {
190
- // Don't render chunks for prompts, wait for the full list
191
- return null;
192
- },
193
- onParamEnd: (paramName, toolName, content) => {
194
- if (paramName === 'prompts') {
195
- try {
196
- const prompts = JSON.parse(content);
197
- if (Array.isArray(prompts)) {
198
- return (0, picocolors_1.gray)(`- ${prompts.join('\n- ')}`) + '\n\n';
199
- }
200
- }
201
- catch (e) {
202
- // Fallback for non-json or malformed
203
- const prompts = content.trim().split('\n').filter(Boolean);
204
- return (0, picocolors_1.gray)(`- ${prompts.join('\n- ')}`) + '\n\n';
205
- }
206
- }
207
- return null;
208
- },
209
- onToolEnd: (toolName, params) => {
210
- return () => {
211
- spinner_1.Spinner.get().start('Researching...');
212
- };
213
- },
214
- },
215
- };
216
- //# sourceMappingURL=tool-renderers.js.map