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/index.js DELETED
@@ -1,125 +0,0 @@
1
- #!/usr/bin/env node
2
- process.env.NEXT_PUBLIC_STRIPE_CUSTOMER_PORTAL = 'https://billing.stripe.com/p/login/cN22bea8W6Ra2is144';
3
- process.env.NEXT_PUBLIC_POSTHOG_API_KEY = 'phc_tug7g8yc10qNestK14QV8WyKwjfEl6vwzIbJkBdqeHS';
4
- process.env.NEXT_PUBLIC_BACKEND_URL = 'manicode-backend.onrender.com';
5
- process.env.NEXT_PUBLIC_APP_URL = 'https://codebuff.com';
6
- process.env.NEXT_PUBLIC_CB_ENVIRONMENT = 'prod';
7
- process.env.NEXT_PUBLIC_SUPPORT_EMAIL = 'support@codebuff.com';
8
- process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com';
9
- process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY = 'pk_live_51Q0SA5KrNS6SjmqWMgRE0ar5v6cMvtizkyY3mXjYaZsU6AG9ctpNPKZMVf6xFK2ngqwkt8rHNIQgNiCFSbRdGb9Z00QEo13rfx';
10
- process.env.NEXT_PUBLIC_LINKEDIN_PARTNER_ID = '6771996';
11
- "use strict";
12
- var __importDefault = (this && this.__importDefault) || function (mod) {
13
- return (mod && mod.__esModule) ? mod : { "default": mod };
14
- };
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- const commander_1 = require("commander");
17
- const picocolors_1 = require("picocolors");
18
- const package_json_1 = __importDefault(require("../package.json"));
19
- const cli_1 = require("./cli");
20
- const cli_definitions_1 = require("./cli-definitions");
21
- const create_template_project_1 = require("./create-template-project");
22
- const display_1 = require("./display");
23
- const project_files_1 = require("./project-files");
24
- const startup_process_handler_1 = require("./startup-process-handler");
25
- const base_1 = require("./terminal/base");
26
- const update_codebuff_1 = require("./update-codebuff");
27
- const analytics_1 = require("./utils/analytics");
28
- const git_1 = require("./utils/git");
29
- const logger_1 = require("./utils/logger");
30
- async function codebuff(projectDir, { initialInput, git, costMode, runInitFlow, model }) {
31
- (0, display_1.enableSquashNewlines)();
32
- // Initialize starting directory
33
- const { cwd, shouldSearch } = (0, project_files_1.getStartingDirectory)(projectDir);
34
- const gitRoot = shouldSearch ? (0, git_1.findGitRoot)(cwd) ?? cwd : cwd;
35
- const projectRoot = (0, project_files_1.setProjectRoot)(gitRoot);
36
- (0, project_files_1.setWorkingDirectory)(cwd);
37
- (0, base_1.recreateShell)(cwd);
38
- // Kill all processes we failed to kill before
39
- const processCleanupPromise = (0, startup_process_handler_1.logAndHandleStartup)();
40
- (0, analytics_1.initAnalytics)();
41
- const updatePromise = (0, update_codebuff_1.updateCodebuff)();
42
- const initFileContextPromise = (0, project_files_1.initProjectFileContextWithWorker)(projectRoot);
43
- const readyPromise = Promise.all([
44
- initFileContextPromise,
45
- updatePromise,
46
- processCleanupPromise,
47
- ]);
48
- // Initialize the CLI singleton
49
- cli_1.CLI.initialize(readyPromise, { git, costMode, model });
50
- const cli = cli_1.CLI.getInstance();
51
- await cli.printInitialPrompt({ initialInput, runInitFlow });
52
- }
53
- if (require.main === module) {
54
- const program = new commander_1.Command();
55
- program.name('codebuff').version(package_json_1.default.version);
56
- // Add arguments from shared definitions
57
- cli_definitions_1.cliArguments.forEach((arg) => {
58
- // For hidden arguments, just skip adding them to the help text
59
- if (!arg.hidden) {
60
- program.argument(arg.flags, arg.description);
61
- }
62
- });
63
- // Add options from shared definitions
64
- cli_definitions_1.cliOptions.forEach((opt) => {
65
- const optionInstance = new commander_1.Option(opt.flags, opt.description);
66
- if (opt.hidden) {
67
- optionInstance.hideHelp(true);
68
- }
69
- program.addOption(optionInstance);
70
- });
71
- program.addHelpText('after', `
72
- Examples:
73
- $ codebuff # Start in current directory
74
- $ codebuff my-project # Start in specific directory
75
- $ codebuff --create nextjs my-app # Create and scaffold a new Next.js project
76
-
77
- For all commands and options, run 'codebuff' and then type 'help'.
78
- `);
79
- program.parse();
80
- const options = program.opts();
81
- const args = program.args;
82
- // Handle template creation
83
- if (options.create) {
84
- const template = options.create;
85
- const projectDir = args[0] || '.';
86
- const projectName = args[1] || template;
87
- (0, create_template_project_1.createTemplateProject)(template, projectDir, projectName);
88
- process.exit(0);
89
- }
90
- // Handle deprecated --pro flag
91
- if (options.pro) {
92
- console.error((0, picocolors_1.red)('Warning: The --pro flag is deprecated. Please restart codebuff and use the --max option instead.'));
93
- logger_1.logger.error({
94
- errorMessage: 'The --pro flag is deprecated. Please restart codebuff and use the --max option instead.',
95
- }, 'Deprecated --pro flag used');
96
- process.exit(1);
97
- }
98
- // Determine cost mode
99
- let costMode = 'normal';
100
- if (options.lite) {
101
- costMode = 'lite';
102
- }
103
- else if (options.max) {
104
- costMode = 'max';
105
- }
106
- else if (options.experimental) {
107
- costMode = 'experimental';
108
- }
109
- else if (options.ask) {
110
- costMode = 'ask';
111
- }
112
- // Handle git integration
113
- const git = options.git === 'stage' ? 'stage' : undefined;
114
- // Get project directory and initial input
115
- const projectPath = args[0];
116
- const initialInput = args.slice(1).join(' ');
117
- codebuff(projectPath, {
118
- initialInput,
119
- git,
120
- costMode,
121
- runInitFlow: options.init,
122
- model: options.model,
123
- });
124
- }
125
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { ToolResult } from '../common/types/agent-state';
2
- /**
3
- * Runs file change hooks defined in the codebuff.json configuration.
4
- * Returns an array of tool results for any hooks that fail.
5
- */
6
- export declare function runFileChangeHooks(filesChanged: string[]): Promise<{
7
- toolResults: ToolResult[];
8
- someHooksFailed: boolean;
9
- }>;
@@ -1,60 +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.runFileChangeHooks = runFileChangeHooks;
7
- const string_1 = require("../common/util/string");
8
- const micromatch_1 = __importDefault(require("micromatch"));
9
- const project_files_1 = require("../project-files");
10
- const base_1 = require("../terminal/base");
11
- const logger_1 = require("../utils/logger");
12
- const parser_1 = require("./parser");
13
- /**
14
- * Runs file change hooks defined in the codebuff.json configuration.
15
- * Returns an array of tool results for any hooks that fail.
16
- */
17
- async function runFileChangeHooks(filesChanged) {
18
- const config = (0, parser_1.loadCodebuffConfig)();
19
- const toolResults = [];
20
- let someHooksFailed = false;
21
- if (!config?.fileChangeHooks) {
22
- return { toolResults, someHooksFailed };
23
- }
24
- for (const hook of config.fileChangeHooks) {
25
- if (!hook.enabled) {
26
- continue;
27
- }
28
- // If a filePattern is specified, check if any of the changed files match
29
- if (hook.filePattern && filesChanged.length > 0) {
30
- const matchingFiles = (0, micromatch_1.default)(filesChanged, hook.filePattern);
31
- if (matchingFiles.length === 0) {
32
- // No files match the pattern, skip this hook
33
- continue;
34
- }
35
- }
36
- try {
37
- const hookName = `file-change-hook-${hook.name}`;
38
- const hookId = (0, string_1.generateCompactId)(`${hookName}-`);
39
- const result = await (0, base_1.runTerminalCommand)(hookId, hook.command, 'assistant', 'SYNC', -1, hook.cwd || (0, project_files_1.getProjectRoot)(), undefined, undefined);
40
- if (result.exitCode !== 0) {
41
- someHooksFailed = true;
42
- }
43
- toolResults.push({
44
- toolName: hookName,
45
- toolCallId: hookId,
46
- result: result.result,
47
- });
48
- }
49
- catch (error) {
50
- logger_1.logger.error({
51
- errorMessage: error instanceof Error ? error.message : String(error),
52
- errorStack: error instanceof Error ? error.stack : undefined,
53
- hookName: hook.name,
54
- hookCommand: hook.command,
55
- }, 'Error running file change hook');
56
- }
57
- }
58
- return { toolResults, someHooksFailed };
59
- }
60
- //# sourceMappingURL=hooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/json-config/hooks.ts"],"names":[],"mappings":";;;;;AAaA,gDA4DC;AAxED,+CAAsD;AACtD,4DAAmC;AAEnC,oDAAiD;AACjD,2CAAqD;AACrD,4CAAwC;AACxC,qCAA6C;AAE7C;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CACtC,YAAsB;IAEtB,MAAM,MAAM,GAAG,IAAA,2BAAkB,GAAE,CAAA;IACnC,MAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,IAAI,eAAe,GAAG,KAAK,CAAA;IAE3B,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;QAC7B,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAA;IACzC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,SAAQ;QACV,CAAC;QAED,yEAAyE;QACzE,IAAI,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,aAAa,GAAG,IAAA,oBAAU,EAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAChE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,6CAA6C;gBAC7C,SAAQ;YACV,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAA;YAChD,MAAM,MAAM,GAAG,IAAA,0BAAiB,EAAC,GAAG,QAAQ,GAAG,CAAC,CAAA;YAChD,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAkB,EACrC,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,WAAW,EACX,MAAM,EACN,CAAC,CAAC,EACF,IAAI,CAAC,GAAG,IAAI,IAAA,8BAAc,GAAE,EAC5B,SAAS,EACT,SAAS,CACV,CAAA;YACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,eAAe,GAAG,IAAI,CAAA;YACxB,CAAC;YACD,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,MAAM;gBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CACV;gBACE,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACpE,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC5D,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,WAAW,EAAE,IAAI,CAAC,OAAO;aAC1B,EACD,gCAAgC,CACjC,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAA;AACzC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { CodebuffConfig } from '../common/json-config/constants';
2
- /**
3
- * Loads and validates the configuration file from the project directory.
4
- * @param projectPath - The root directory of the project
5
- * @returns The parsed and validated configuration, or null if no valid config exists
6
- */
7
- export declare function loadCodebuffConfig(): CodebuffConfig;
@@ -1,54 +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.loadCodebuffConfig = loadCodebuffConfig;
7
- const fs_1 = require("fs");
8
- const path_1 = __importDefault(require("path"));
9
- const jsonc_parser_1 = require("jsonc-parser");
10
- const picocolors_1 = require("picocolors");
11
- const constants_1 = require("../common/json-config/constants");
12
- const default_1 = require("../common/json-config/default");
13
- const project_files_1 = require("../project-files");
14
- /**
15
- * Loads and validates the configuration file from the project directory.
16
- * @param projectPath - The root directory of the project
17
- * @returns The parsed and validated configuration, or null if no valid config exists
18
- */
19
- function loadCodebuffConfig() {
20
- const projectPath = (0, project_files_1.getProjectRoot)();
21
- const configPathPrimary = path_1.default.join(projectPath, constants_1.codebuffConfigFile);
22
- const configPathBackup = path_1.default.join(projectPath, constants_1.codebuffConfigFileBackup);
23
- const configPath = (0, fs_1.existsSync)(configPathBackup)
24
- ? configPathBackup
25
- : (0, fs_1.existsSync)(configPathPrimary)
26
- ? configPathPrimary
27
- : null;
28
- if (configPath === null) {
29
- return (0, default_1.getDefaultConfig)();
30
- }
31
- try {
32
- const jsoncContent = (0, fs_1.readFileSync)(configPath, 'utf-8');
33
- const parsedConfig = (0, jsonc_parser_1.parse)(jsoncContent);
34
- const result = constants_1.CodebuffConfigSchema.safeParse(parsedConfig);
35
- if (!result.success) {
36
- console.warn((0, picocolors_1.yellow)(`Warning: Invalid ${constants_1.codebuffConfigFile} configuration. Please check the schema:\n` +
37
- result.error.errors
38
- .map((err) => `- ${err.path.join('.')}: ${err.message}`)
39
- .join('\n')));
40
- return (0, default_1.getDefaultConfig)();
41
- }
42
- return result.data;
43
- }
44
- catch (error) {
45
- if (error instanceof SyntaxError) {
46
- console.warn((0, picocolors_1.yellow)(`Warning: Invalid JSON in ${constants_1.codebuffConfigFile}. Please check the syntax.`));
47
- }
48
- else {
49
- console.warn((0, picocolors_1.yellow)(`Warning: Error reading ${constants_1.codebuffConfigFile} configuration file.`));
50
- }
51
- return (0, default_1.getDefaultConfig)();
52
- }
53
- }
54
- //# sourceMappingURL=parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/json-config/parser.ts"],"names":[],"mappings":";;;;;AAoBA,gDAiDC;AArED,2BAA6C;AAC7C,gDAAuB;AAEvB,+CAAkD;AAClD,2CAAmC;AAEnC,4DAKqC;AACrC,wDAA6D;AAC7D,oDAAiD;AAEjD;;;;GAIG;AACH,SAAgB,kBAAkB;IAChC,MAAM,WAAW,GAAG,IAAA,8BAAc,GAAE,CAAA;IACpC,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,8BAAkB,CAAC,CAAA;IACpE,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oCAAwB,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG,IAAA,eAAU,EAAC,gBAAgB,CAAC;QAC7C,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,IAAA,eAAU,EAAC,iBAAiB,CAAC;YAC7B,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,IAAI,CAAA;IAEV,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAA,0BAAgB,GAAE,CAAA;IAC3B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,iBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACtD,MAAM,YAAY,GAAG,IAAA,oBAAU,EAAC,YAAY,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,gCAAoB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAE3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,oBAAoB,8BAAkB,4CAA4C;gBAChF,MAAM,CAAC,KAAK,CAAC,MAAM;qBAChB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;qBACvD,IAAI,CAAC,IAAI,CAAC,CAChB,CACF,CAAA;YACD,OAAO,IAAA,0BAAgB,GAAE,CAAA;QAC3B,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,4BAA4B,8BAAkB,4BAA4B,CAC3E,CACF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,0BAA0B,8BAAkB,sBAAsB,CACnE,CACF,CAAA;QACH,CAAC;QACD,OAAO,IAAA,0BAAgB,GAAE,CAAA;IAC3B,CAAC;AACH,CAAC"}
package/dist/menu.d.ts DELETED
@@ -1,14 +0,0 @@
1
- import { CostMode } from './common/constants';
2
- export interface CommandInfo {
3
- commandText: string;
4
- description: string;
5
- baseCommand?: string;
6
- params?: string;
7
- isSlashCommand?: boolean;
8
- aliases?: string[];
9
- }
10
- export declare const interactiveCommandDetails: CommandInfo[];
11
- export declare function getSlashCommands(): CommandInfo[];
12
- export declare function displaySlashCommandHelperMenu(): void;
13
- export declare function displayGreeting(costMode: CostMode, username: string | null): void;
14
- export declare function displayMenu(): void;
package/dist/menu.js DELETED
@@ -1,344 +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.interactiveCommandDetails = void 0;
30
- exports.getSlashCommands = getSlashCommands;
31
- exports.displaySlashCommandHelperMenu = displaySlashCommandHelperMenu;
32
- exports.displayGreeting = displayGreeting;
33
- exports.displayMenu = displayMenu;
34
- const fs = __importStar(require("fs"));
35
- const os_1 = __importDefault(require("os"));
36
- const path_1 = __importDefault(require("path"));
37
- const picocolors_1 = require("picocolors");
38
- const constants_1 = require("./common/json-config/constants");
39
- const file_1 = require("./common/util/file");
40
- const project_files_1 = require("./project-files");
41
- exports.interactiveCommandDetails = [
42
- {
43
- baseCommand: 'help',
44
- description: 'Display help information',
45
- isSlashCommand: true,
46
- commandText: '', // Empty commandText ensures it's not shown in the main interactive list
47
- aliases: ['h'], // Optional: if you want /h to also work for tab completion
48
- },
49
- {
50
- commandText: '"init"',
51
- baseCommand: 'init',
52
- description: 'Configure project for better results',
53
- isSlashCommand: true,
54
- },
55
- {
56
- commandText: '"login"',
57
- baseCommand: 'login',
58
- description: 'Authenticate your session',
59
- isSlashCommand: false,
60
- },
61
- {
62
- commandText: '"diff" or "d"',
63
- baseCommand: 'diff',
64
- aliases: ['d'],
65
- description: 'Show last assistant change diff',
66
- isSlashCommand: true,
67
- },
68
- {
69
- commandText: '"undo" / "redo"',
70
- description: 'Revert or re-apply last change',
71
- // This entry will be expanded into two slash commands: /undo and /redo
72
- },
73
- {
74
- commandText: '"checkpoint <id>"',
75
- baseCommand: 'checkpoint',
76
- params: '<id>',
77
- description: 'Restore to a specific checkpoint',
78
- isSlashCommand: true,
79
- },
80
- {
81
- commandText: '"!<cmd>"',
82
- baseCommand: '!', // Or handle this specially, e.g. baseCommand 'shell'
83
- params: '<cmd>',
84
- description: 'Run shell command directly',
85
- isSlashCommand: false, // e.g. /! <cmd> or /shell <cmd>
86
- },
87
- {
88
- commandText: '"usage" or "credits"',
89
- description: 'View remaining / bonus AI credits',
90
- // This entry will be expanded into two slash commands: /usage and /credits
91
- },
92
- {
93
- commandText: '"reset"',
94
- baseCommand: 'reset',
95
- description: 'Reset the conversation history, as if you just started a new Codebuff session',
96
- isSlashCommand: true,
97
- },
98
- {
99
- baseCommand: 'compact',
100
- description: 'Replace the conversation history with a summary and free up context',
101
- isSlashCommand: true,
102
- commandText: '"compact"',
103
- },
104
- {
105
- baseCommand: 'export',
106
- description: 'Export conversation summary to file',
107
- isSlashCommand: true,
108
- commandText: '"export"',
109
- },
110
- {
111
- commandText: 'ESC key or Ctrl-C',
112
- description: 'Cancel generation',
113
- isSlashCommand: false,
114
- },
115
- {
116
- baseCommand: 'undo',
117
- description: 'Undo last change',
118
- isSlashCommand: true,
119
- commandText: '',
120
- }, // commandText empty as it's covered by "undo / redo" for main menu
121
- {
122
- baseCommand: 'redo',
123
- description: 'Redo last undone change',
124
- isSlashCommand: true,
125
- commandText: '',
126
- },
127
- {
128
- baseCommand: 'usage',
129
- description: 'View AI credits usage',
130
- isSlashCommand: true,
131
- commandText: '',
132
- },
133
- {
134
- baseCommand: 'credits',
135
- description: 'View AI credits balance',
136
- isSlashCommand: false,
137
- commandText: '',
138
- },
139
- {
140
- baseCommand: 'ask',
141
- description: "Switch to ask mode (won't modify code)",
142
- isSlashCommand: true,
143
- commandText: '',
144
- },
145
- {
146
- baseCommand: 'lite',
147
- description: 'Switch to lite mode (faster, cheaper)',
148
- isSlashCommand: true,
149
- commandText: '',
150
- },
151
- {
152
- baseCommand: 'normal',
153
- description: 'Switch to normal mode (balanced)',
154
- isSlashCommand: true,
155
- commandText: '',
156
- },
157
- {
158
- baseCommand: 'max',
159
- description: 'Switch to max mode (slower, more thorough)',
160
- isSlashCommand: true,
161
- commandText: '',
162
- },
163
- {
164
- baseCommand: 'experimental',
165
- description: 'Switch to experimental mode (cutting-edge)',
166
- isSlashCommand: false,
167
- commandText: '',
168
- },
169
- {
170
- commandText: '"exit" or Ctrl-C x2',
171
- baseCommand: 'exit',
172
- description: 'Quit Codebuff',
173
- isSlashCommand: true,
174
- },
175
- ];
176
- function getSlashCommands() {
177
- return exports.interactiveCommandDetails.filter((cmd) => cmd.isSlashCommand && cmd.baseCommand);
178
- }
179
- function displaySlashCommandHelperMenu() {
180
- const commands = getSlashCommands();
181
- if (commands.length === 0) {
182
- return;
183
- }
184
- // Calculate the maximum length of command strings for alignment
185
- const maxCommandLength = Math.max(...commands.map((cmd) => {
186
- const commandString = `/${cmd.baseCommand}${cmd.params ? ` ${cmd.params}` : ''}`;
187
- return commandString.length;
188
- }));
189
- // Format each command with its description
190
- const commandLines = commands.map((cmd) => {
191
- const commandString = `/${cmd.baseCommand}${cmd.params ? ` ${cmd.params}` : ''}`;
192
- // Pad with dots to align descriptions
193
- const padding = '.'.repeat(maxCommandLength - commandString.length + 3);
194
- return `${(0, picocolors_1.cyan)(commandString)} ${padding} ${cmd.description}`;
195
- });
196
- // Add the shell command tip at the end
197
- const shellTip = (0, picocolors_1.gray)('Tip: Type "!" followed by a command to run it in your shell, e.g., !ls');
198
- // Print with consistent spacing
199
- console.log(`\n\n${commandLines.join('\n')}\n${shellTip}\n`);
200
- }
201
- function displayGreeting(costMode, username) {
202
- // Show extra info only for logged in users
203
- const costModeDescription = {
204
- lite: (0, picocolors_1.bold)((0, picocolors_1.yellow)('Lite mode ✨ enabled (switch modes by typing in "/")')),
205
- normal: '',
206
- max: (0, picocolors_1.bold)((0, picocolors_1.blueBright)('Max mode️ ⚡ enabled (switch modes by typing in "/")')),
207
- experimental: (0, picocolors_1.bold)((0, picocolors_1.magenta)('Experimental mode 🧪 enabled')),
208
- ask: (0, picocolors_1.bold)((0, picocolors_1.cyan)("Ask mode 💬 enabled (won't modify code)")),
209
- };
210
- if (costModeDescription[costMode]) {
211
- console.log(`${costModeDescription[costMode]}`);
212
- }
213
- if (!(0, file_1.isValidProjectRoot)((0, project_files_1.getProjectRoot)())) {
214
- console.info(`Welcome! Codebuff is your AI pair programmer that edits your codebase through natural conversation.
215
-
216
- You are currently in "${(0, picocolors_1.green)((0, project_files_1.getProjectRoot)())}".
217
-
218
- To get started:
219
- 1. Navigate to your project (cd your/project/root)
220
- 2. Run "codebuff" there instead
221
- `.trim());
222
- process.exit(0);
223
- }
224
- console.log(`Codebuff will read and write files in "${(0, project_files_1.getProjectRoot)()}". Type "help" for a list of commands.`);
225
- const gitDir = path_1.default.join((0, project_files_1.getProjectRoot)(), '.git');
226
- if (!fs.existsSync(gitDir)) {
227
- console.info((0, picocolors_1.magenta)("Just fyi, this project doesn't contain a .git directory (are you at the top level of your project?). Codebuff works best with a git repo!"));
228
- }
229
- console.log(`\nWelcome${username ? ` back ${username}` : ''}! What would you like to do?`);
230
- }
231
- const getRandomColors = () => {
232
- const allColors = [picocolors_1.red, picocolors_1.green, picocolors_1.yellow, picocolors_1.blue, picocolors_1.blueBright, picocolors_1.magenta, picocolors_1.cyan];
233
- const colors = [];
234
- while (colors.length < 3) {
235
- const color = allColors[Math.floor(Math.random() * allColors.length)];
236
- if (!colors.includes(color)) {
237
- colors.push(color);
238
- }
239
- }
240
- return colors;
241
- };
242
- function displayMenu() {
243
- const terminalWidth = process.stdout.columns || 80;
244
- const dividerLine = '─'.repeat(terminalWidth);
245
- const selectedColors = getRandomColors();
246
- const colorizeRandom = (text) => {
247
- return text
248
- .split('')
249
- .map((char) => {
250
- const colorFn = selectedColors[Math.floor(Math.random() * selectedColors.length)];
251
- return colorFn(char);
252
- })
253
- .join('');
254
- };
255
- console.log(`
256
- ${colorizeRandom(' ')}
257
- ${colorizeRandom('██████╗')}${colorizeRandom(' ██████╗ ')}${colorizeRandom('██████╗ ')}${colorizeRandom('███████╗')}${colorizeRandom('██████╗ ')}${colorizeRandom('██╗ ██╗')}${colorizeRandom('███████╗')}${colorizeRandom('███████╗')}
258
- ${colorizeRandom('██╔════╝')}${colorizeRandom('██╔═══██╗')}${colorizeRandom('██╔══██╗')}${colorizeRandom('██╔════╝')}${colorizeRandom('██╔══██╗')}${colorizeRandom('██║ ██║')}${colorizeRandom('██╔════╝')}${colorizeRandom('██╔════╝')}
259
- ${colorizeRandom('██║ ')}${colorizeRandom('██║ ██║')}${colorizeRandom('██║ ██║')}${colorizeRandom('█████╗ ')}${colorizeRandom('██████╔╝')}${colorizeRandom('██║ ██║')}${colorizeRandom('█████╗ ')}${colorizeRandom('█████╗ ')}
260
- ${colorizeRandom('██║ ')}${colorizeRandom('██║ ██║')}${colorizeRandom('██║ ██║')}${colorizeRandom('██╔══╝ ')}${colorizeRandom('██╔══██╗')}${colorizeRandom('██║ ██║')}${colorizeRandom('██╔══╝ ')}${colorizeRandom('██╔══╝ ')}
261
- ${colorizeRandom('╚██████╗')}${colorizeRandom('╚██████╔╝')}${colorizeRandom('██████╔╝')}${colorizeRandom('███████╗')}${colorizeRandom('██████╔╝')}${colorizeRandom('╚██████╔╝')}${colorizeRandom('██║ ')}${colorizeRandom('██║ ')}
262
- ${colorizeRandom(' ╚═════╝')}${colorizeRandom(' ╚═════╝ ')}${colorizeRandom('╚═════╝ ')}${colorizeRandom('╚══════╝')}${colorizeRandom('╚═════╝ ')}${colorizeRandom(' ╚═════╝ ')}${colorizeRandom('╚═╝ ')}${colorizeRandom('╚═╝ ')}
263
- `);
264
- console.log(`\n${(0, picocolors_1.bold)('Your AI pair programmer that understands, edits, and improves your codebase through natural conversation.')}`);
265
- console.log(`\n${(0, picocolors_1.bold)((0, picocolors_1.underline)('PROJECT SETUP'))}`);
266
- console.log((() => {
267
- const currentDirectoryLine = `${(0, picocolors_1.green)('✅ Current directory:')} ${(0, picocolors_1.bold)((0, picocolors_1.blueBright)((0, project_files_1.getProjectRoot)()))}`;
268
- const hasGitRepo = fs.existsSync(path_1.default.join((0, project_files_1.getProjectRoot)(), '.git'));
269
- const hasGitIgnore = fs.existsSync(path_1.default.join((0, project_files_1.getProjectRoot)(), '.gitignore'));
270
- const hasKnowledgeMd = fs.existsSync(path_1.default.join((0, project_files_1.getProjectRoot)(), 'knowledge.md'));
271
- const hasCodebuffJson = fs.existsSync(path_1.default.join((0, project_files_1.getProjectRoot)(), constants_1.codebuffConfigFile));
272
- const gitignoreNote = ' (Codebuff never reads files in your .gitignore/.codebuffignore)';
273
- // Condition 1: Git repo found, all files present
274
- if (hasGitRepo && hasGitIgnore && hasKnowledgeMd && hasCodebuffJson) {
275
- return `${currentDirectoryLine}\n${(0, picocolors_1.green)('✅ Git repo: detected')}
276
- ${(0, picocolors_1.green)('✅ .gitignore: detected')}${gitignoreNote}
277
- ${(0, picocolors_1.green)('✅ knowledge.md: detected')}
278
- ${(0, picocolors_1.green)(`✅ ${constants_1.codebuffConfigFile}: detected`)}`;
279
- }
280
- // Condition 2: Git repo not found
281
- if (!hasGitRepo) {
282
- return `${currentDirectoryLine}\n${(0, picocolors_1.yellow)('❌ Git repo: not found')}${' - navigate to a working directory!'}
283
- ${hasGitIgnore ? (0, picocolors_1.green)('✅ .gitignore: detected') : (0, picocolors_1.yellow)('❌ .gitignore: missing')}${gitignoreNote}
284
- ${hasKnowledgeMd ? (0, picocolors_1.green)('✅ knowledge.md: detected') : (0, picocolors_1.yellow)('❌ knowledge.md: missing')}${' — run "init" to fix'}
285
- ${hasCodebuffJson ? (0, picocolors_1.green)(`✅ ${constants_1.codebuffConfigFile}: detected`) : (0, picocolors_1.yellow)(`❌ ${constants_1.codebuffConfigFile}: missing`)}${' — run "init" to fix'}`;
286
- }
287
- // Condition 3: Missing .gitignore
288
- if (!hasGitIgnore) {
289
- return `${currentDirectoryLine}\n${(0, picocolors_1.green)('✅ Git repo: detected')}
290
- ${(0, picocolors_1.yellow)('❌ .gitignore: missing - type "generate a reasonable .gitignore"')}${gitignoreNote}
291
- ${hasKnowledgeMd ? (0, picocolors_1.green)('✅ knowledge.md: detected') : (0, picocolors_1.yellow)('❌ knowledge.md: missing')}
292
- ${hasCodebuffJson ? (0, picocolors_1.green)(`✅ ${constants_1.codebuffConfigFile}: detected`) : (0, picocolors_1.yellow)(`❌ ${constants_1.codebuffConfigFile}: missing`)}`;
293
- }
294
- // Condition 4: Missing knowledge files
295
- return `${currentDirectoryLine}\n${(0, picocolors_1.green)('✅ Git repo: detected')}
296
- ${(0, picocolors_1.green)('✅ .gitignore: detected')}${gitignoreNote}
297
- ${!hasKnowledgeMd && !hasCodebuffJson
298
- ? (0, picocolors_1.yellow)(`❌ knowledge.md & ${constants_1.codebuffConfigFile}: missing - type "init"`)
299
- : !hasKnowledgeMd
300
- ? (0, picocolors_1.yellow)('❌ knowledge.md: missing - type "init"')
301
- : !hasCodebuffJson
302
- ? (0, picocolors_1.yellow)(`❌ ${constants_1.codebuffConfigFile}: missing - type "init"`)
303
- : (0, picocolors_1.green)(`✅ knowledge.md & ${constants_1.codebuffConfigFile}: detected`)}
304
- ${hasKnowledgeMd && !hasCodebuffJson ? `\n${(0, picocolors_1.yellow)(`${constants_1.codebuffConfigFile} runs deployment scripts for you to test your code and runs configured checks for you by running your dev server.`)}` : ''}
305
- ${!hasKnowledgeMd && hasCodebuffJson ? `\n${(0, picocolors_1.yellow)('knowledge.md helps Codebuff understand your project structure and codebase better for better results.')}` : ''}
306
- ${!hasKnowledgeMd && !hasCodebuffJson ? `\n${(0, picocolors_1.yellow)('knowledge.md helps Codebuff understand your project structure and codebase better for better results.')}\n${(0, picocolors_1.yellow)(`${constants_1.codebuffConfigFile} runs deployment scripts for you to test your code and runs configured checks for you by running your dev server.`)}` : ''}`;
307
- })());
308
- // COMMUNITY & FEEDBACK SECTION
309
- console.log(`\n${(0, picocolors_1.bold)((0, picocolors_1.underline)('COMMUNITY & FEEDBACK'))}`);
310
- console.log(`Thanks for using Codebuff! DM @brandonkachen or @jahooma on Discord, or email ${(0, picocolors_1.blueBright)('founders@codebuff.com')}`);
311
- console.log(`Join our Discord: ${(0, picocolors_1.blueBright)('https://codebuff.com/discord')} ${(0, picocolors_1.gray)(`(${os_1.default.platform() === 'darwin' ? 'Command' : 'Ctrl'} + Click to open)`)}`);
312
- console.log(`\n${(0, picocolors_1.bold)((0, picocolors_1.underline)('EXAMPLE PROMPTS'))}
313
- ${'Code Quality:'}
314
- ${(0, picocolors_1.cyan)(' • "Add error handling to this function"')}
315
- ${(0, picocolors_1.cyan)(' • "Add JSDoc comments to this file"')}
316
- ${(0, picocolors_1.cyan)(' • "Fix the type errors in this component"')}
317
-
318
- ${'Testing & Validation:'}
319
- ${(0, picocolors_1.cyan)(' • "Create a unit test for the auth module"')}
320
- ${(0, picocolors_1.cyan)(' • "Add input validation to this endpoint"')}
321
-
322
- ${'Performance & Architecture:'}
323
- ${(0, picocolors_1.cyan)(' • "Optimize this database query"')}
324
- ${(0, picocolors_1.cyan)(' • "Refactor this to use async/await"')}
325
- ${(0, picocolors_1.cyan)(' • "Add caching to this service"')}
326
-
327
- ${'Features & Infrastructure:'}
328
- ${(0, picocolors_1.cyan)(' • "Create a new API endpoint for users"')}
329
- ${(0, picocolors_1.cyan)(' • "Add logging to these functions"')}
330
- ${(0, picocolors_1.cyan)(' • "Set up CI/CD pipeline config"')}
331
- `);
332
- // INTERACTIVE COMMANDS SECTION
333
- const fixedCommandWidth = 30; // Fixed width for command column
334
- const formatMenuLine = (commandText, description) => {
335
- const paddedCommand = commandText.padEnd(fixedCommandWidth);
336
- return `${paddedCommand}${description}`;
337
- };
338
- const menuLines = exports.interactiveCommandDetails
339
- .filter((cmd) => cmd.commandText) // Filter out slash-only commands like the discrete undo/redo
340
- .map((cmd) => formatMenuLine(cmd.commandText, cmd.description));
341
- console.log(`\n${(0, picocolors_1.bold)((0, picocolors_1.underline)('COMMANDS (type these below)'))}${' '.repeat(fixedCommandWidth - 27)}${(0, picocolors_1.bold)((0, picocolors_1.underline)('DESCRIPTION'))}\n\n${menuLines.join(`\n${dividerLine}`)}\n`);
342
- console.log(`\n↓ Enter your prompt or command below ↓`);
343
- }
344
- //# sourceMappingURL=menu.js.map