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
@@ -1,50 +0,0 @@
1
- import { ChildProcessByStdio, ChildProcessWithoutNullStreams, SpawnOptionsWithoutStdio } from 'child_process';
2
- import { ToolResult } from './common/types/agent-state';
3
- /**
4
- * Interface describing the information stored for each background process.
5
- */
6
- export interface BackgroundProcessInfo {
7
- pid: number;
8
- toolCallId: string;
9
- command: string;
10
- process: ChildProcessByStdio<any, any, any>;
11
- stdoutBuffer: string[];
12
- stderrBuffer: string[];
13
- status: 'running' | 'completed' | 'error';
14
- startTime: number;
15
- endTime: number | null;
16
- lastReportedStdoutLength: number;
17
- lastReportedStderrLength: number;
18
- lastReportedStatus: 'running' | 'completed' | 'error' | null;
19
- stdoutFile?: string;
20
- stderrFile?: string;
21
- }
22
- /**
23
- * Global map storing information about active and completed background processes.
24
- * Keyed by the OS-assigned Process ID (PID).
25
- */
26
- export declare const backgroundProcesses: Map<number, BackgroundProcessInfo>;
27
- /**
28
- * Formats a single background process's info into a string
29
- */
30
- export declare function getBackgroundProcessInfoString(info: BackgroundProcessInfo): string;
31
- /**
32
- * Gets updates from all background processes and updates tracking info
33
- */
34
- export declare function getBackgroundProcessUpdates(): ToolResult[];
35
- export declare function spawnAndTrack(command: string, args: string[] | undefined, options: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams;
36
- export declare function sendKillSignalToAllBackgroundProcesses(): void;
37
- export declare function killAllBackgroundProcesses(): Promise<void>;
38
- /**
39
- * Cleans up stale lock files and attempts to kill orphaned processes found in the lock directory.
40
- * This function is intended to run on startup to handle cases where the application might have
41
- * exited uncleanly, leaving orphaned processes or lock files.
42
- *
43
- * @returns Object containing:
44
- * - shouldStartNewProcesses: boolean indicating if it's safe to start new processes
45
- * - cleanUpPromise: Promise that resolves when cleanup is complete
46
- */
47
- export declare function cleanupStoredProcesses(): {
48
- separateCodebuffInstanceRunning: boolean;
49
- cleanUpPromise: Promise<any>;
50
- };
@@ -1,364 +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.backgroundProcesses = void 0;
7
- exports.getBackgroundProcessInfoString = getBackgroundProcessInfoString;
8
- exports.getBackgroundProcessUpdates = getBackgroundProcessUpdates;
9
- exports.spawnAndTrack = spawnAndTrack;
10
- exports.sendKillSignalToAllBackgroundProcesses = sendKillSignalToAllBackgroundProcesses;
11
- exports.killAllBackgroundProcesses = killAllBackgroundProcesses;
12
- exports.cleanupStoredProcesses = cleanupStoredProcesses;
13
- const assert_1 = __importDefault(require("assert"));
14
- const child_process_1 = require("child_process");
15
- const fs_1 = require("fs");
16
- const path_1 = __importDefault(require("path"));
17
- const process_1 = __importDefault(require("process"));
18
- const analytics_events_1 = require("./common/constants/analytics-events");
19
- const array_1 = require("./common/util/array");
20
- const string_1 = require("./common/util/string");
21
- const picocolors_1 = require("picocolors");
22
- const zod_1 = require("zod");
23
- const credentials_1 = require("./credentials");
24
- const logger_1 = require("./utils/logger");
25
- const COMMAND_OUTPUT_LIMIT = 5000; // Limit output to 10KB per stream
26
- const COMMAND_KILL_TIMEOUT_MS = 5000;
27
- const POLLING_INTERVAL_MS = 200;
28
- const LOCK_DIR = path_1.default.join(credentials_1.CONFIG_DIR, 'background_processes');
29
- /**
30
- * Global map storing information about active and completed background processes.
31
- * Keyed by the OS-assigned Process ID (PID).
32
- */
33
- exports.backgroundProcesses = new Map();
34
- /**
35
- * Gets output with context about whether there was previous content
36
- */
37
- function getOutputWithContext(newContent, lastReportedLength) {
38
- if (newContent) {
39
- const hasOldContent = lastReportedLength > 0;
40
- return hasOldContent ? '[PREVIOUS OUTPUT]\n' + newContent : newContent;
41
- }
42
- return '[NO NEW OUTPUT]';
43
- }
44
- /**
45
- * Formats a single background process's info into a string
46
- */
47
- function getBackgroundProcessInfoString(info) {
48
- const newStdout = info.stdoutBuffer
49
- .join('')
50
- .slice(info.lastReportedStdoutLength);
51
- const newStderr = info.stderrBuffer
52
- .join('')
53
- .slice(info.lastReportedStderrLength);
54
- // Only report finished processes if there are changes
55
- if (info.status !== 'running' &&
56
- !newStdout &&
57
- !newStderr &&
58
- info.status === info.lastReportedStatus) {
59
- return '';
60
- }
61
- // Calculate duration in milliseconds
62
- const duration = info.endTime
63
- ? info.endTime - info.startTime
64
- : Date.now() - info.startTime;
65
- return (0, array_1.buildArray)('<background_process>', `<process_id>${info.pid}</process_id>`, `<command>${info.command}</command>`, `<start_time_utc>${new Date(info.startTime).toISOString()}</start_time_utc>`, `<duration_ms>${duration}</duration_ms>`, newStdout &&
66
- `<stdout>${(0, string_1.truncateStringWithMessage)({
67
- str: getOutputWithContext(newStdout, info.lastReportedStdoutLength),
68
- maxLength: COMMAND_OUTPUT_LIMIT,
69
- remove: 'START',
70
- })}</stdout>`, newStderr &&
71
- `<stderr>${(0, string_1.truncateStringWithMessage)({
72
- str: getOutputWithContext(newStderr, info.lastReportedStderrLength),
73
- maxLength: COMMAND_OUTPUT_LIMIT,
74
- remove: 'START',
75
- })}</stderr>`, `<status>${info.status}</status>`, info.process.exitCode !== null &&
76
- `<exit_code>${info.process.exitCode}</exit_code>`, info.process.signalCode &&
77
- `<signal_code>${info.process.signalCode}</signal_code>`, '</background_process>').join('\n');
78
- }
79
- /**
80
- * Gets updates from all background processes and updates tracking info
81
- */
82
- function getBackgroundProcessUpdates() {
83
- const updates = Array.from(exports.backgroundProcesses.values())
84
- .map((bgProcess) => {
85
- return [getBackgroundProcessInfoString(bgProcess), bgProcess.toolCallId];
86
- })
87
- .filter(([update]) => Boolean(update));
88
- // Update tracking info after getting updates
89
- for (const process of exports.backgroundProcesses.values()) {
90
- process.lastReportedStdoutLength = process.stdoutBuffer.join('').length;
91
- process.lastReportedStderrLength = process.stderrBuffer.join('').length;
92
- process.lastReportedStatus = process.status;
93
- }
94
- // Clean up completed processes that we've already reported
95
- cleanupReportedProcesses();
96
- return updates.map(([update, toolCallId]) => {
97
- return {
98
- toolCallId,
99
- toolName: 'background_process_updates',
100
- result: update,
101
- };
102
- });
103
- }
104
- function deleteFileIfExists(fileName) {
105
- try {
106
- (0, fs_1.unlinkSync)(fileName);
107
- }
108
- catch { }
109
- }
110
- const zodMaybeNumber = zod_1.z.preprocess((val) => {
111
- const n = Number(val);
112
- return typeof val === 'undefined' || isNaN(n) ? undefined : n;
113
- }, zod_1.z.number().optional());
114
- const lockFileSchema = zod_1.z.object({
115
- parentPid: zodMaybeNumber,
116
- });
117
- /**
118
- * Creates a lock file for a background process with the current process's PID.
119
- * This allows tracking parent-child process relationships for cleanup.
120
- *
121
- * @param filePath - Path where the lock file should be created
122
- */
123
- function createLockFile(filePath) {
124
- const data = {
125
- parentPid: process_1.default.pid,
126
- };
127
- (0, fs_1.writeFileSync)(filePath, JSON.stringify(data, null, 1));
128
- }
129
- /**
130
- * Checks if a process with the given PID is still running.
131
- *
132
- * @param pid - Process ID to check
133
- * @returns true if the process is running, false otherwise
134
- */
135
- function isRunning(pid) {
136
- try {
137
- process_1.default.kill(pid, 0);
138
- }
139
- catch (error) {
140
- if (error.code === 'ESRCH') {
141
- return false;
142
- }
143
- }
144
- return true;
145
- }
146
- /**
147
- * Determines whether the process associated with a given PID should be
148
- * terminated, based on the lock file contents stored for that PID.
149
- *
150
- * If the parent process is no longer active or the file is invalid, the
151
- * function assumes the process is orphaned and should be killed.
152
- *
153
- * @param lockFile - The path of the lock file.
154
- * @returns `true` if the process should be killed (e.g. parent no longer exists or file is invalid),
155
- * `false` if the parent process is still alive and the process should be kept running.
156
- */
157
- function shouldKillProcessUsingLock(lockFile) {
158
- const fileContents = String((0, fs_1.readFileSync)(lockFile));
159
- let data;
160
- try {
161
- data = lockFileSchema.parse(JSON.parse(fileContents));
162
- }
163
- catch (error) {
164
- data = {
165
- parentPid: undefined,
166
- };
167
- }
168
- if (data.parentPid && isRunning(data.parentPid)) {
169
- return false;
170
- }
171
- return true;
172
- }
173
- function spawnAndTrack(command, args = [], options) {
174
- const child = (0, child_process_1.spawn)(command, args, {
175
- ...options,
176
- detached: true,
177
- });
178
- (0, assert_1.default)(child.pid !== undefined);
179
- logger_1.logger.info({
180
- eventId: analytics_events_1.AnalyticsEvent.BACKGROUND_PROCESS_START,
181
- pid: child.pid,
182
- }, `Process start: \`${command} ${args.join(' ')}\``);
183
- (0, fs_1.mkdirSync)(LOCK_DIR, { recursive: true });
184
- const filePath = path_1.default.join(LOCK_DIR, `${child.pid}`);
185
- createLockFile(filePath);
186
- child.on('exit', () => {
187
- deleteFileIfExists(filePath);
188
- logger_1.logger.info({ eventId: analytics_events_1.AnalyticsEvent.BACKGROUND_PROCESS_END, pid: child.pid }, `Graceful exit: \`${command} ${args.join(' ')}\``);
189
- });
190
- return child;
191
- }
192
- /**
193
- * Removes completed processes that have been fully reported
194
- */
195
- function cleanupReportedProcesses() {
196
- for (const [pid, info] of exports.backgroundProcesses.entries()) {
197
- if ((info.status === 'completed' || info.status === 'error') &&
198
- info.lastReportedStatus === info.status &&
199
- info.lastReportedStdoutLength === info.stdoutBuffer.join('').length &&
200
- info.lastReportedStderrLength === info.stderrBuffer.join('').length) {
201
- exports.backgroundProcesses.delete(pid);
202
- }
203
- }
204
- }
205
- function waitForProcessExit(pid) {
206
- return new Promise((resolve) => {
207
- let resolved = false;
208
- const interval = setInterval(() => {
209
- if (!isRunning(pid)) {
210
- clearInterval(interval);
211
- clearTimeout(timeout);
212
- resolved = true;
213
- resolve(true);
214
- }
215
- }, POLLING_INTERVAL_MS);
216
- const timeout = setTimeout(() => {
217
- if (!resolved) {
218
- clearInterval(interval);
219
- resolve(false);
220
- }
221
- }, COMMAND_KILL_TIMEOUT_MS);
222
- });
223
- }
224
- function killProcessTreeSoftly(pid) {
225
- if (process_1.default.platform === 'win32') {
226
- // /T = kill tree, no /F = soft kill
227
- (0, child_process_1.spawn)('taskkill', ['/PID', String(pid), '/T'], {
228
- stdio: 'ignore',
229
- detached: true,
230
- }).unref();
231
- }
232
- else {
233
- try {
234
- process_1.default.kill(-pid, 'SIGTERM');
235
- }
236
- catch (err) {
237
- if (err?.code !== 'ESRCH')
238
- throw err;
239
- }
240
- }
241
- }
242
- async function killAndWait(pid) {
243
- try {
244
- killProcessTreeSoftly(pid);
245
- if (await waitForProcessExit(pid)) {
246
- return;
247
- }
248
- }
249
- catch (error) {
250
- if (error.code === 'ESRCH') {
251
- return;
252
- }
253
- else {
254
- throw error;
255
- }
256
- }
257
- throw new Error(`Unable to kill process ${pid}`);
258
- }
259
- // Only to be run on exit
260
- function sendKillSignalToAllBackgroundProcesses() {
261
- for (const [pid, p] of exports.backgroundProcesses.entries()) {
262
- if (p.status !== 'running') {
263
- continue;
264
- }
265
- try {
266
- killProcessTreeSoftly(pid);
267
- }
268
- catch { }
269
- }
270
- }
271
- async function killAllBackgroundProcesses() {
272
- const killPromises = Array.from(exports.backgroundProcesses.entries())
273
- .filter(([, p]) => p.status === 'running')
274
- .map(async ([pid, processInfo]) => {
275
- try {
276
- await killAndWait(pid);
277
- // console.log(gray(`Killed process: \`${processInfo.command}\``))
278
- }
279
- catch (error) {
280
- console.error((0, picocolors_1.red)(`Failed to kill: \`${processInfo.command}\` (pid ${pid}): ${error?.message || error}`));
281
- logger_1.logger.error({
282
- errorMessage: error?.message || String(error),
283
- pid,
284
- command: processInfo.command,
285
- }, 'Failed to kill process');
286
- }
287
- });
288
- await Promise.all(killPromises);
289
- exports.backgroundProcesses.clear();
290
- }
291
- /**
292
- * Cleans up stale lock files and attempts to kill orphaned processes found in the lock directory.
293
- * This function is intended to run on startup to handle cases where the application might have
294
- * exited uncleanly, leaving orphaned processes or lock files.
295
- *
296
- * @returns Object containing:
297
- * - shouldStartNewProcesses: boolean indicating if it's safe to start new processes
298
- * - cleanUpPromise: Promise that resolves when cleanup is complete
299
- */
300
- function cleanupStoredProcesses() {
301
- // Determine which processes to kill (sync)
302
- let separateCodebuffInstanceRunning = false;
303
- const locksToProcess = [];
304
- try {
305
- (0, fs_1.mkdirSync)(LOCK_DIR, { recursive: true });
306
- const files = (0, fs_1.readdirSync)(LOCK_DIR);
307
- for (const file of files) {
308
- const lockFile = path_1.default.join(LOCK_DIR, file);
309
- if (shouldKillProcessUsingLock(lockFile)) {
310
- locksToProcess.push(file);
311
- }
312
- else {
313
- separateCodebuffInstanceRunning = true;
314
- }
315
- }
316
- }
317
- catch { }
318
- if (locksToProcess.length) {
319
- console.log((0, picocolors_1.gray)('Detected running codebuff processes. Cleaning...\n'));
320
- logger_1.logger.info({
321
- eventId: analytics_events_1.AnalyticsEvent.BACKGROUND_PROCESS_LEFTOVER_DETECTED,
322
- pids: locksToProcess,
323
- });
324
- }
325
- // Actually kill processes (async)
326
- const processLockFile = async (pidName) => {
327
- const lockFile = path_1.default.join(LOCK_DIR, pidName);
328
- const pid = parseInt(pidName, 10);
329
- if (isNaN(pid)) {
330
- deleteFileIfExists(lockFile);
331
- logger_1.logger.info({ eventId: analytics_events_1.AnalyticsEvent.BACKGROUND_PROCESS_END, pid }, 'Lock found but process not running.');
332
- return;
333
- }
334
- if (exports.backgroundProcesses.has(pid)) {
335
- logger_1.logger.error({ eventId: analytics_events_1.AnalyticsEvent.BACKGROUND_PROCESS_END, pid }, 'Process running in current session. Should not occur.');
336
- return;
337
- }
338
- try {
339
- killProcessTreeSoftly(pid);
340
- if (await waitForProcessExit(pid)) {
341
- deleteFileIfExists(lockFile);
342
- logger_1.logger.info({ eventId: analytics_events_1.AnalyticsEvent.BACKGROUND_PROCESS_END, pid }, 'Process successfully killed.');
343
- }
344
- else {
345
- logger_1.logger.warn({ eventId: analytics_events_1.AnalyticsEvent.BACKGROUND_PROCESS_CONTINUE, pid }, 'Process unable to be killed. Leaving lock file.');
346
- }
347
- }
348
- catch (err) {
349
- if (err.code === 'ESRCH') {
350
- deleteFileIfExists(lockFile);
351
- logger_1.logger.info({ eventId: analytics_events_1.AnalyticsEvent.BACKGROUND_PROCESS_END, pid }, 'Leftover process (with lock) died naturally.');
352
- }
353
- else {
354
- logger_1.logger.error({ eventId: analytics_events_1.AnalyticsEvent.BACKGROUND_PROCESS_CONTINUE, err, pid }, 'Error killing process');
355
- }
356
- }
357
- };
358
- const cleanUpPromise = Promise.all(locksToProcess.map(processLockFile));
359
- return {
360
- separateCodebuffInstanceRunning,
361
- cleanUpPromise,
362
- };
363
- }
364
- //# sourceMappingURL=background-process-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"background-process-manager.js","sourceRoot":"","sources":["../src/background-process-manager.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- import { BrowserAction, BrowserResponse } from './common/browser-actions';
2
- export declare class BrowserRunner {
3
- getLogs(): BrowserResponse['logs'];
4
- getNetworkEvents(): BrowserResponse['networkEvents'];
5
- private browser;
6
- private page;
7
- private logs;
8
- private jsErrorCount;
9
- private retryCount;
10
- private startTime;
11
- private consecutiveErrors;
12
- private totalErrors;
13
- constructor();
14
- private maxConsecutiveErrors;
15
- private totalErrorThreshold;
16
- private performanceMetrics;
17
- private networkEvents;
18
- private executeWithRetry;
19
- private executeAction;
20
- private logErrorForAnalysis;
21
- private getBrowser;
22
- private startBrowser;
23
- private navigate;
24
- private typeText;
25
- private scroll;
26
- private takeScreenshot;
27
- private attachPageListeners;
28
- private collectPerformanceMetrics;
29
- private collectMetrics;
30
- private filterLogs;
31
- execute(action: BrowserAction): Promise<BrowserResponse>;
32
- shutdown(): Promise<void>;
33
- }
34
- export declare const handleBrowserInstruction: (action: BrowserAction) => Promise<BrowserResponse>;
35
- export declare const activeBrowserRunner: BrowserRunner;