tarsk 0.4.4 → 0.4.6

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 (366) hide show
  1. package/dist/index.js +447375 -37
  2. package/package.json +2 -2
  3. package/dist/agent/agent.error-utils.d.ts +0 -14
  4. package/dist/agent/agent.error-utils.js +0 -52
  5. package/dist/agent/agent.event-transformer.d.ts +0 -55
  6. package/dist/agent/agent.event-transformer.js +0 -175
  7. package/dist/agent/agent.executor.d.ts +0 -26
  8. package/dist/agent/agent.executor.js +0 -286
  9. package/dist/agent/agent.model-resolver.d.ts +0 -22
  10. package/dist/agent/agent.model-resolver.js +0 -67
  11. package/dist/agent/agent.process-manager.d.ts +0 -57
  12. package/dist/agent/agent.process-manager.js +0 -262
  13. package/dist/agent/agent.processing-state-manager.d.ts +0 -74
  14. package/dist/agent/agent.processing-state-manager.js +0 -87
  15. package/dist/agent/agent.prompt-loader.d.ts +0 -16
  16. package/dist/agent/agent.prompt-loader.js +0 -227
  17. package/dist/agent/agent.subagent-executor.d.ts +0 -35
  18. package/dist/agent/agent.subagent-executor.js +0 -135
  19. package/dist/bun/index.d.ts +0 -2
  20. package/dist/bun/index.js +0 -165
  21. package/dist/cli.d.ts +0 -3
  22. package/dist/cli.js +0 -22
  23. package/dist/core/crypto.d.ts +0 -29
  24. package/dist/core/crypto.js +0 -166
  25. package/dist/core/dev-server-cache.d.ts +0 -46
  26. package/dist/core/dev-server-cache.js +0 -59
  27. package/dist/core/env-manager.d.ts +0 -3
  28. package/dist/core/env-manager.js +0 -60
  29. package/dist/core/error-responses.d.ts +0 -61
  30. package/dist/core/error-responses.js +0 -64
  31. package/dist/core/logger.d.ts +0 -10
  32. package/dist/core/logger.js +0 -47
  33. package/dist/core/paths.d.ts +0 -22
  34. package/dist/core/paths.js +0 -26
  35. package/dist/core/random-words.d.ts +0 -18
  36. package/dist/core/random-words.js +0 -135
  37. package/dist/core/response-builder.d.ts +0 -50
  38. package/dist/core/response-builder.js +0 -56
  39. package/dist/core/route-helpers.d.ts +0 -47
  40. package/dist/core/route-helpers.js +0 -54
  41. package/dist/core/run-command-detector.d.ts +0 -26
  42. package/dist/core/run-command-detector.js +0 -98
  43. package/dist/core/stream-helper.d.ts +0 -44
  44. package/dist/core/stream-helper.js +0 -50
  45. package/dist/core/utils.d.ts +0 -43
  46. package/dist/core/utils.js +0 -113
  47. package/dist/core/validation.d.ts +0 -10
  48. package/dist/core/validation.js +0 -20
  49. package/dist/database/database.d.ts +0 -40
  50. package/dist/database/database.encryption.d.ts +0 -33
  51. package/dist/database/database.encryption.js +0 -62
  52. package/dist/database/database.js +0 -480
  53. package/dist/database/database.state.d.ts +0 -52
  54. package/dist/database/database.state.js +0 -119
  55. package/dist/database/database.test-utils.d.ts +0 -22
  56. package/dist/database/database.test-utils.js +0 -39
  57. package/dist/database/database.types.d.ts +0 -3
  58. package/dist/database/database.types.js +0 -2
  59. package/dist/features/agents/agents.manager.d.ts +0 -24
  60. package/dist/features/agents/agents.manager.js +0 -200
  61. package/dist/features/ask-user/ask-user.routes.d.ts +0 -9
  62. package/dist/features/ask-user/ask-user.routes.js +0 -35
  63. package/dist/features/chat/chat-delete.route.d.ts +0 -15
  64. package/dist/features/chat/chat-delete.route.js +0 -36
  65. package/dist/features/chat/chat-post.route.d.ts +0 -11
  66. package/dist/features/chat/chat-post.route.js +0 -270
  67. package/dist/features/chat/chat-stop.route.d.ts +0 -21
  68. package/dist/features/chat/chat-stop.route.js +0 -22
  69. package/dist/features/chat/chat-subscribe.route.d.ts +0 -9
  70. package/dist/features/chat/chat-subscribe.route.js +0 -71
  71. package/dist/features/chat/chat.routes.d.ts +0 -22
  72. package/dist/features/chat/chat.routes.js +0 -29
  73. package/dist/features/conversations/conversations-delete.route.d.ts +0 -16
  74. package/dist/features/conversations/conversations-delete.route.js +0 -34
  75. package/dist/features/conversations/conversations-get-all.route.d.ts +0 -16
  76. package/dist/features/conversations/conversations-get-all.route.js +0 -39
  77. package/dist/features/conversations/conversations-get-by-id.route.d.ts +0 -16
  78. package/dist/features/conversations/conversations-get-by-id.route.js +0 -38
  79. package/dist/features/conversations/conversations-get-deleted.route.d.ts +0 -15
  80. package/dist/features/conversations/conversations-get-deleted.route.js +0 -34
  81. package/dist/features/conversations/conversations-get-messages.route.d.ts +0 -16
  82. package/dist/features/conversations/conversations-get-messages.route.js +0 -49
  83. package/dist/features/conversations/conversations.content.d.ts +0 -28
  84. package/dist/features/conversations/conversations.content.js +0 -142
  85. package/dist/features/conversations/conversations.database.d.ts +0 -108
  86. package/dist/features/conversations/conversations.database.js +0 -373
  87. package/dist/features/conversations/conversations.manager.d.ts +0 -130
  88. package/dist/features/conversations/conversations.manager.js +0 -162
  89. package/dist/features/conversations/conversations.routes.d.ts +0 -21
  90. package/dist/features/conversations/conversations.routes.js +0 -38
  91. package/dist/features/conversations/token-usage.route.d.ts +0 -41
  92. package/dist/features/conversations/token-usage.route.js +0 -419
  93. package/dist/features/git/git-commit.route.d.ts +0 -12
  94. package/dist/features/git/git-commit.route.js +0 -39
  95. package/dist/features/git/git-create-branch.route.d.ts +0 -28
  96. package/dist/features/git/git-create-branch.route.js +0 -119
  97. package/dist/features/git/git-create-pr.route.d.ts +0 -13
  98. package/dist/features/git/git-create-pr.route.js +0 -50
  99. package/dist/features/git/git-create-repo.route.d.ts +0 -14
  100. package/dist/features/git/git-create-repo.route.js +0 -108
  101. package/dist/features/git/git-diff.route.d.ts +0 -30
  102. package/dist/features/git/git-diff.route.js +0 -189
  103. package/dist/features/git/git-fetch.route.d.ts +0 -12
  104. package/dist/features/git/git-fetch.route.js +0 -31
  105. package/dist/features/git/git-generate-commit-message.route.d.ts +0 -12
  106. package/dist/features/git/git-generate-commit-message.route.js +0 -76
  107. package/dist/features/git/git-generate-pr-info.route.d.ts +0 -13
  108. package/dist/features/git/git-generate-pr-info.route.js +0 -147
  109. package/dist/features/git/git-github-status.route.d.ts +0 -16
  110. package/dist/features/git/git-github-status.route.js +0 -68
  111. package/dist/features/git/git-log.route.d.ts +0 -17
  112. package/dist/features/git/git-log.route.js +0 -33
  113. package/dist/features/git/git-pr-status.route.d.ts +0 -15
  114. package/dist/features/git/git-pr-status.route.js +0 -33
  115. package/dist/features/git/git-pull.route.d.ts +0 -12
  116. package/dist/features/git/git-pull.route.js +0 -35
  117. package/dist/features/git/git-push.route.d.ts +0 -12
  118. package/dist/features/git/git-push.route.js +0 -46
  119. package/dist/features/git/git-status-cache.database.d.ts +0 -7
  120. package/dist/features/git/git-status-cache.database.js +0 -53
  121. package/dist/features/git/git-status.route.d.ts +0 -15
  122. package/dist/features/git/git-status.route.js +0 -62
  123. package/dist/features/git/git-sync-branch.route.d.ts +0 -4
  124. package/dist/features/git/git-sync-branch.route.js +0 -208
  125. package/dist/features/git/git-unified-status.route.d.ts +0 -30
  126. package/dist/features/git/git-unified-status.route.js +0 -165
  127. package/dist/features/git/git-username.route.d.ts +0 -3
  128. package/dist/features/git/git-username.route.js +0 -24
  129. package/dist/features/git/git.manager.d.ts +0 -139
  130. package/dist/features/git/git.manager.js +0 -352
  131. package/dist/features/git/git.routes.d.ts +0 -4
  132. package/dist/features/git/git.routes.js +0 -116
  133. package/dist/features/git/git.utils.d.ts +0 -82
  134. package/dist/features/git/git.utils.js +0 -1040
  135. package/dist/features/mcp/mcp.config.d.ts +0 -27
  136. package/dist/features/mcp/mcp.config.js +0 -148
  137. package/dist/features/mcp/mcp.manager.d.ts +0 -61
  138. package/dist/features/mcp/mcp.manager.js +0 -254
  139. package/dist/features/mcp/mcp.popular.json +0 -103
  140. package/dist/features/mcp/mcp.routes.d.ts +0 -13
  141. package/dist/features/mcp/mcp.routes.js +0 -159
  142. package/dist/features/mcp/mcp.types.d.ts +0 -80
  143. package/dist/features/mcp/mcp.types.js +0 -8
  144. package/dist/features/metadata/metadata.manager.d.ts +0 -126
  145. package/dist/features/metadata/metadata.manager.js +0 -423
  146. package/dist/features/models/model-info-aihubmix.d.ts +0 -25
  147. package/dist/features/models/model-info-aihubmix.js +0 -117
  148. package/dist/features/models/model-info-openrouter.d.ts +0 -25
  149. package/dist/features/models/model-info-openrouter.js +0 -104
  150. package/dist/features/models/model-info.d.ts +0 -37
  151. package/dist/features/models/model-info.js +0 -39
  152. package/dist/features/models/models-catalog.d.ts +0 -49
  153. package/dist/features/models/models-catalog.js +0 -80
  154. package/dist/features/models/models-catalog.route.d.ts +0 -43
  155. package/dist/features/models/models-catalog.route.js +0 -15
  156. package/dist/features/models/models-get-available.route.d.ts +0 -36
  157. package/dist/features/models/models-get-available.route.js +0 -66
  158. package/dist/features/models/models-get-enabled.route.d.ts +0 -33
  159. package/dist/features/models/models-get-enabled.route.js +0 -45
  160. package/dist/features/models/models-get-model-info.route.d.ts +0 -31
  161. package/dist/features/models/models-get-model-info.route.js +0 -84
  162. package/dist/features/models/models-model-disable.route.d.ts +0 -15
  163. package/dist/features/models/models-model-disable.route.js +0 -20
  164. package/dist/features/models/models-model-enable.route.d.ts +0 -13
  165. package/dist/features/models/models-model-enable.route.js +0 -20
  166. package/dist/features/models/models-provider-refresh.route.d.ts +0 -17
  167. package/dist/features/models/models-provider-refresh.route.js +0 -20
  168. package/dist/features/models/models.manager.d.ts +0 -58
  169. package/dist/features/models/models.manager.js +0 -138
  170. package/dist/features/models/models.routes.d.ts +0 -18
  171. package/dist/features/models/models.routes.js +0 -83
  172. package/dist/features/models/open-router-models.d.ts +0 -38
  173. package/dist/features/models/open-router-models.js +0 -73
  174. package/dist/features/models/openai-models.d.ts +0 -63
  175. package/dist/features/models/openai-models.js +0 -150
  176. package/dist/features/onboarding/onboarding-get-git-check.route.d.ts +0 -11
  177. package/dist/features/onboarding/onboarding-get-git-check.route.js +0 -28
  178. package/dist/features/onboarding/onboarding-get-status.route.d.ts +0 -12
  179. package/dist/features/onboarding/onboarding-get-status.route.js +0 -15
  180. package/dist/features/onboarding/onboarding-post-complete.route.d.ts +0 -12
  181. package/dist/features/onboarding/onboarding-post-complete.route.js +0 -15
  182. package/dist/features/onboarding/onboarding-post-reset.route.d.ts +0 -12
  183. package/dist/features/onboarding/onboarding-post-reset.route.js +0 -15
  184. package/dist/features/onboarding/onboarding.routes.d.ts +0 -18
  185. package/dist/features/onboarding/onboarding.routes.js +0 -28
  186. package/dist/features/project-todos/project-todos.database.d.ts +0 -38
  187. package/dist/features/project-todos/project-todos.database.js +0 -91
  188. package/dist/features/project-todos/project-todos.routes.d.ts +0 -4
  189. package/dist/features/project-todos/project-todos.routes.js +0 -94
  190. package/dist/features/projects/projects-ai-files.route.d.ts +0 -148
  191. package/dist/features/projects/projects-ai-files.route.js +0 -425
  192. package/dist/features/projects/projects-commands.route.d.ts +0 -27
  193. package/dist/features/projects/projects-commands.route.js +0 -39
  194. package/dist/features/projects/projects-create.route.d.ts +0 -19
  195. package/dist/features/projects/projects-create.route.js +0 -37
  196. package/dist/features/projects/projects-delete.route.d.ts +0 -24
  197. package/dist/features/projects/projects-delete.route.js +0 -34
  198. package/dist/features/projects/projects-get.route.d.ts +0 -47
  199. package/dist/features/projects/projects-get.route.js +0 -36
  200. package/dist/features/projects/projects-list.route.d.ts +0 -58
  201. package/dist/features/projects/projects-list.route.js +0 -59
  202. package/dist/features/projects/projects-open-folder.route.d.ts +0 -10
  203. package/dist/features/projects/projects-open-folder.route.js +0 -11
  204. package/dist/features/projects/projects-open.route.d.ts +0 -26
  205. package/dist/features/projects/projects-open.route.js +0 -49
  206. package/dist/features/projects/projects-package-scripts.route.d.ts +0 -15
  207. package/dist/features/projects/projects-package-scripts.route.js +0 -96
  208. package/dist/features/projects/projects-run-command.route.d.ts +0 -8
  209. package/dist/features/projects/projects-run-command.route.js +0 -21
  210. package/dist/features/projects/projects-run.route.d.ts +0 -51
  211. package/dist/features/projects/projects-run.route.js +0 -74
  212. package/dist/features/projects/projects-update.route.d.ts +0 -24
  213. package/dist/features/projects/projects-update.route.js +0 -81
  214. package/dist/features/projects/projects.creator.d.ts +0 -33
  215. package/dist/features/projects/projects.creator.js +0 -555
  216. package/dist/features/projects/projects.database.d.ts +0 -61
  217. package/dist/features/projects/projects.database.js +0 -212
  218. package/dist/features/projects/projects.manager.d.ts +0 -291
  219. package/dist/features/projects/projects.manager.js +0 -426
  220. package/dist/features/projects/projects.open-with.d.ts +0 -27
  221. package/dist/features/projects/projects.open-with.js +0 -156
  222. package/dist/features/projects/projects.routes.d.ts +0 -20
  223. package/dist/features/projects/projects.routes.js +0 -255
  224. package/dist/features/projects/terminal-session-manager.d.ts +0 -55
  225. package/dist/features/projects/terminal-session-manager.js +0 -90
  226. package/dist/features/providers/provider-resolver.d.ts +0 -13
  227. package/dist/features/providers/provider-resolver.js +0 -22
  228. package/dist/features/providers/providers-get-credits.route.d.ts +0 -15
  229. package/dist/features/providers/providers-get-credits.route.js +0 -51
  230. package/dist/features/providers/providers-get.route.d.ts +0 -16
  231. package/dist/features/providers/providers-get.route.js +0 -32
  232. package/dist/features/providers/providers-open-external.route.d.ts +0 -15
  233. package/dist/features/providers/providers-open-external.route.js +0 -49
  234. package/dist/features/providers/providers-post-bulk-keys.route.d.ts +0 -14
  235. package/dist/features/providers/providers-post-bulk-keys.route.js +0 -31
  236. package/dist/features/providers/providers-post-keys.route.d.ts +0 -14
  237. package/dist/features/providers/providers-post-keys.route.js +0 -25
  238. package/dist/features/providers/providers.routes.d.ts +0 -19
  239. package/dist/features/providers/providers.routes.js +0 -31
  240. package/dist/features/rules/rules-post.route.d.ts +0 -43
  241. package/dist/features/rules/rules-post.route.js +0 -89
  242. package/dist/features/rules/rules.manager.d.ts +0 -36
  243. package/dist/features/rules/rules.manager.js +0 -203
  244. package/dist/features/rules/rules.routes.d.ts +0 -12
  245. package/dist/features/rules/rules.routes.js +0 -13
  246. package/dist/features/run/run-get-running.route.d.ts +0 -15
  247. package/dist/features/run/run-get-running.route.js +0 -21
  248. package/dist/features/run/run-post-start.route.d.ts +0 -8
  249. package/dist/features/run/run-post-start.route.js +0 -21
  250. package/dist/features/run/run-post-stop.route.d.ts +0 -15
  251. package/dist/features/run/run-post-stop.route.js +0 -24
  252. package/dist/features/run/run-post-suggest.route.d.ts +0 -15
  253. package/dist/features/run/run-post-suggest.route.js +0 -21
  254. package/dist/features/run/run-put-command.route.d.ts +0 -15
  255. package/dist/features/run/run-put-command.route.js +0 -24
  256. package/dist/features/run/run.routes.d.ts +0 -19
  257. package/dist/features/run/run.routes.js +0 -31
  258. package/dist/features/scaffold/index.d.ts +0 -7
  259. package/dist/features/scaffold/index.js +0 -5
  260. package/dist/features/scaffold/scaffold-get-templates.route.d.ts +0 -27
  261. package/dist/features/scaffold/scaffold-get-templates.route.js +0 -17
  262. package/dist/features/scaffold/scaffold-post.route.d.ts +0 -8
  263. package/dist/features/scaffold/scaffold-post.route.js +0 -30
  264. package/dist/features/scaffold/scaffold.routes.d.ts +0 -10
  265. package/dist/features/scaffold/scaffold.routes.js +0 -16
  266. package/dist/features/scaffold/scaffold.runner.d.ts +0 -48
  267. package/dist/features/scaffold/scaffold.runner.js +0 -475
  268. package/dist/features/scaffold/scaffold.types.d.ts +0 -26
  269. package/dist/features/scaffold/scaffold.types.js +0 -5
  270. package/dist/features/skills/skills.activation.d.ts +0 -31
  271. package/dist/features/skills/skills.activation.js +0 -155
  272. package/dist/features/skills/skills.manager.d.ts +0 -35
  273. package/dist/features/skills/skills.manager.js +0 -251
  274. package/dist/features/slash-commands/slash-commands-delete.route.d.ts +0 -23
  275. package/dist/features/slash-commands/slash-commands-delete.route.js +0 -36
  276. package/dist/features/slash-commands/slash-commands-get.route.d.ts +0 -53
  277. package/dist/features/slash-commands/slash-commands-get.route.js +0 -54
  278. package/dist/features/slash-commands/slash-commands-post.route.d.ts +0 -39
  279. package/dist/features/slash-commands/slash-commands-post.route.js +0 -70
  280. package/dist/features/slash-commands/slash-commands-put.route.d.ts +0 -23
  281. package/dist/features/slash-commands/slash-commands-put.route.js +0 -36
  282. package/dist/features/slash-commands/slash-commands.manager.d.ts +0 -46
  283. package/dist/features/slash-commands/slash-commands.manager.js +0 -265
  284. package/dist/features/slash-commands/slash-commands.routes.d.ts +0 -13
  285. package/dist/features/slash-commands/slash-commands.routes.js +0 -20
  286. package/dist/features/threads/threads-ai-files.route.d.ts +0 -153
  287. package/dist/features/threads/threads-ai-files.route.js +0 -287
  288. package/dist/features/threads/threads-conversation-folder-path.route.d.ts +0 -14
  289. package/dist/features/threads/threads-conversation-folder-path.route.js +0 -23
  290. package/dist/features/threads/threads-create.route.d.ts +0 -22
  291. package/dist/features/threads/threads-create.route.js +0 -60
  292. package/dist/features/threads/threads-delete.route.d.ts +0 -25
  293. package/dist/features/threads/threads-delete.route.js +0 -35
  294. package/dist/features/threads/threads-files.route.d.ts +0 -15
  295. package/dist/features/threads/threads-files.route.js +0 -20
  296. package/dist/features/threads/threads-fix-comments.route.d.ts +0 -26
  297. package/dist/features/threads/threads-fix-comments.route.js +0 -45
  298. package/dist/features/threads/threads-get.route.d.ts +0 -30
  299. package/dist/features/threads/threads-get.route.js +0 -38
  300. package/dist/features/threads/threads-list.route.d.ts +0 -56
  301. package/dist/features/threads/threads-list.route.js +0 -58
  302. package/dist/features/threads/threads-messages.route.d.ts +0 -28
  303. package/dist/features/threads/threads-messages.route.js +0 -110
  304. package/dist/features/threads/threads-open.route.d.ts +0 -26
  305. package/dist/features/threads/threads-open.route.js +0 -62
  306. package/dist/features/threads/threads-select.route.d.ts +0 -25
  307. package/dist/features/threads/threads-select.route.js +0 -35
  308. package/dist/features/threads/threads-update.route.d.ts +0 -15
  309. package/dist/features/threads/threads-update.route.js +0 -30
  310. package/dist/features/threads/threads.database.d.ts +0 -68
  311. package/dist/features/threads/threads.database.js +0 -215
  312. package/dist/features/threads/threads.manager.d.ts +0 -204
  313. package/dist/features/threads/threads.manager.js +0 -505
  314. package/dist/features/threads/threads.routes.d.ts +0 -20
  315. package/dist/features/threads/threads.routes.js +0 -230
  316. package/dist/features/todos/todos.database.d.ts +0 -14
  317. package/dist/features/todos/todos.database.js +0 -31
  318. package/dist/features/updates/updates.routes.d.ts +0 -13
  319. package/dist/features/updates/updates.routes.js +0 -40
  320. package/dist/index.d.ts +0 -3
  321. package/dist/project-analyzer.d.ts +0 -26
  322. package/dist/project-analyzer.js +0 -307
  323. package/dist/server.d.ts +0 -12
  324. package/dist/server.js +0 -142
  325. package/dist/tools/agent-tool.d.ts +0 -49
  326. package/dist/tools/agent-tool.js +0 -131
  327. package/dist/tools/ask-user.d.ts +0 -25
  328. package/dist/tools/ask-user.js +0 -74
  329. package/dist/tools/ast-grep.d.ts +0 -28
  330. package/dist/tools/ast-grep.js +0 -273
  331. package/dist/tools/bash.d.ts +0 -33
  332. package/dist/tools/bash.js +0 -186
  333. package/dist/tools/edit-diff.d.ts +0 -24
  334. package/dist/tools/edit-diff.js +0 -136
  335. package/dist/tools/edit.d.ts +0 -28
  336. package/dist/tools/edit.js +0 -78
  337. package/dist/tools/find.d.ts +0 -31
  338. package/dist/tools/find.js +0 -117
  339. package/dist/tools/grep.d.ts +0 -37
  340. package/dist/tools/grep.js +0 -231
  341. package/dist/tools/index.d.ts +0 -93
  342. package/dist/tools/index.js +0 -110
  343. package/dist/tools/ls.d.ts +0 -31
  344. package/dist/tools/ls.js +0 -108
  345. package/dist/tools/mcp-tools.d.ts +0 -31
  346. package/dist/tools/mcp-tools.js +0 -59
  347. package/dist/tools/path-utils.d.ts +0 -14
  348. package/dist/tools/path-utils.js +0 -87
  349. package/dist/tools/read.d.ts +0 -27
  350. package/dist/tools/read.js +0 -86
  351. package/dist/tools/resolve-bin.d.ts +0 -5
  352. package/dist/tools/resolve-bin.js +0 -28
  353. package/dist/tools/shell.d.ts +0 -7
  354. package/dist/tools/shell.js +0 -143
  355. package/dist/tools/skill-reference-tool.d.ts +0 -30
  356. package/dist/tools/skill-reference-tool.js +0 -171
  357. package/dist/tools/skill-tool.d.ts +0 -33
  358. package/dist/tools/skill-tool.js +0 -213
  359. package/dist/tools/todo.d.ts +0 -20
  360. package/dist/tools/todo.js +0 -168
  361. package/dist/tools/tool-helpers.d.ts +0 -78
  362. package/dist/tools/tool-helpers.js +0 -109
  363. package/dist/tools/truncate.d.ts +0 -31
  364. package/dist/tools/truncate.js +0 -164
  365. package/dist/tools/write.d.ts +0 -21
  366. package/dist/tools/write.js +0 -65
@@ -1,215 +0,0 @@
1
- /**
2
- * SQLite Database Operations for Threads
3
- *
4
- * This module handles all CRUD operations for threads in the SQLite database.
5
- * Includes transaction support for atomic operations.
6
- */
7
- import { markConversationHistoryAsDeleted } from '../conversations/conversations.database.js';
8
- /**
9
- * Insert a new thread into the database
10
- * @param db SQLite database instance
11
- * @param thread Thread to insert
12
- */
13
- export async function insertThread(db, thread) {
14
- try {
15
- await db.execute(`
16
- INSERT INTO threads (id, projectId, title, path, currentBranch, createdAt, enabledSkills, disabledSkills, currentConversationId, status)
17
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
18
- `, [
19
- thread.id,
20
- thread.projectId,
21
- thread.title,
22
- thread.path,
23
- thread.currentBranch,
24
- thread.createdAt.toISOString(),
25
- thread.enabledSkills ? JSON.stringify(thread.enabledSkills) : null,
26
- thread.disabledSkills ? JSON.stringify(thread.disabledSkills) : null,
27
- thread.currentConversationId ?? null,
28
- "active", // Default status for new threads
29
- ]);
30
- }
31
- catch (error) {
32
- console.error("Failed to insert thread:", error);
33
- throw error;
34
- }
35
- }
36
- /**
37
- * Update an existing thread in the database
38
- * @param db SQLite database instance
39
- * @param id Thread ID
40
- * @param updates Partial thread object with fields to update
41
- */
42
- export async function updateThread(db, id, updates) {
43
- try {
44
- const fields = [];
45
- const values = [];
46
- if (updates.title !== undefined) {
47
- fields.push("title = ?");
48
- values.push(updates.title);
49
- }
50
- if (updates.path !== undefined) {
51
- fields.push("path = ?");
52
- values.push(updates.path);
53
- }
54
- if (updates.currentBranch !== undefined) {
55
- fields.push("currentBranch = ?");
56
- values.push(updates.currentBranch);
57
- }
58
- if (updates.enabledSkills !== undefined) {
59
- fields.push("enabledSkills = ?");
60
- values.push(updates.enabledSkills ? JSON.stringify(updates.enabledSkills) : null);
61
- }
62
- if (updates.disabledSkills !== undefined) {
63
- fields.push("disabledSkills = ?");
64
- values.push(updates.disabledSkills ? JSON.stringify(updates.disabledSkills) : null);
65
- }
66
- if (updates.currentConversationId !== undefined) {
67
- fields.push("currentConversationId = ?");
68
- values.push(updates.currentConversationId ?? null);
69
- }
70
- if (updates.status !== undefined) {
71
- fields.push("status = ?");
72
- values.push(updates.status);
73
- }
74
- if (updates.diffComments !== undefined) {
75
- fields.push("diffComments = ?");
76
- values.push(updates.diffComments ? JSON.stringify(updates.diffComments) : null);
77
- }
78
- if (updates.model !== undefined) {
79
- fields.push("model = ?");
80
- values.push(updates.model ?? null);
81
- }
82
- if (updates.modelProvider !== undefined) {
83
- fields.push("modelProvider = ?");
84
- values.push(updates.modelProvider ?? null);
85
- }
86
- if (fields.length === 0) {
87
- return; // No fields to update
88
- }
89
- values.push(id);
90
- const sql = `UPDATE threads SET ${fields.join(", ")} WHERE id = ?`;
91
- await db.execute(sql, values);
92
- }
93
- catch (error) {
94
- console.error("Failed to update thread:", error);
95
- throw error;
96
- }
97
- }
98
- /**
99
- * Mark a thread as deleted (soft delete)
100
- * @param db SQLite database instance
101
- * @param id Thread ID
102
- */
103
- export async function deleteThread(db, id) {
104
- try {
105
- // Mark conversation history as deleted
106
- await markConversationHistoryAsDeleted(db, id);
107
- // Mark thread as deleted instead of deleting it
108
- await db.execute("UPDATE threads SET status = ? WHERE id = ?", ["deleted", id]);
109
- }
110
- catch (error) {
111
- console.error("Failed to mark thread as deleted:", error);
112
- throw error;
113
- }
114
- }
115
- /**
116
- * Get a single thread by ID
117
- * @param db SQLite database instance
118
- * @param id Thread ID
119
- * @returns Thread object or null if not found
120
- */
121
- export async function getThread(db, id) {
122
- const result = await db.execute("SELECT * FROM threads WHERE id = ?", [id]);
123
- const row = result.rows[0];
124
- if (!row) {
125
- return null;
126
- }
127
- return deserializeThread(row);
128
- }
129
- /**
130
- * Get all active threads from the database
131
- * @param db SQLite database instance
132
- * @returns Array of active threads only
133
- */
134
- export async function getAllThreads(db) {
135
- try {
136
- const result = await db.execute("SELECT * FROM threads WHERE status = ? ORDER BY createdAt DESC", ["active"]);
137
- const rows = result.rows;
138
- return rows.map(deserializeThread);
139
- }
140
- catch (error) {
141
- console.error("Failed to get all threads:", error);
142
- throw error;
143
- }
144
- }
145
- /**
146
- * Get active threads for a specific project
147
- * @param db SQLite database instance
148
- * @param projectId Project ID
149
- * @returns Array of active threads for project only
150
- */
151
- export async function getThreadsByProjectId(db, projectId) {
152
- try {
153
- const result = await db.execute("SELECT * FROM threads WHERE projectId = ? AND status = ? ORDER BY createdAt DESC", [projectId, "active"]);
154
- const rows = result.rows;
155
- return rows.map(deserializeThread);
156
- }
157
- catch (error) {
158
- console.error("Failed to get threads by project ID:", error);
159
- throw error;
160
- }
161
- }
162
- /**
163
- * Deserialize a thread row from the database
164
- * @param row Database row
165
- * @returns Thread object
166
- */
167
- function deserializeThread(row) {
168
- return {
169
- id: row.id,
170
- projectId: row.projectId,
171
- title: row.title,
172
- path: row.path,
173
- currentBranch: row.currentBranch,
174
- createdAt: new Date(row.createdAt),
175
- enabledSkills: row.enabledSkills ? JSON.parse(row.enabledSkills) : undefined,
176
- disabledSkills: row.disabledSkills ? JSON.parse(row.disabledSkills) : undefined,
177
- currentConversationId: row.currentConversationId ?? undefined,
178
- status: row.status,
179
- diffComments: row.diffComments ? JSON.parse(row.diffComments) : undefined,
180
- model: row.model ?? undefined,
181
- modelProvider: row.modelProvider ?? undefined,
182
- };
183
- }
184
- /**
185
- * Check if a thread exists
186
- * @param db SQLite database instance
187
- * @param id Thread ID
188
- * @returns True if thread exists
189
- */
190
- export async function threadExists(db, id) {
191
- const result = await db.execute("SELECT 1 FROM threads WHERE id = ? LIMIT 1", [id]);
192
- return result.rows.length > 0;
193
- }
194
- /**
195
- * Get thread count
196
- * @param db SQLite database instance
197
- * @returns Number of threads
198
- */
199
- export async function getThreadCount(db) {
200
- const result = await db.execute("SELECT COUNT(*) as count FROM threads");
201
- return result.rows[0].count;
202
- }
203
- /**
204
- * Get thread count for a specific project
205
- * @param db SQLite database instance
206
- * @param projectId Project ID
207
- * @returns Number of threads in the project
208
- */
209
- export async function getThreadCountByProjectId(db, projectId) {
210
- const result = await db.execute("SELECT COUNT(*) as count FROM threads WHERE projectId = ?", [
211
- projectId,
212
- ]);
213
- return result.rows[0].count;
214
- }
215
- //# sourceMappingURL=threads.database.js.map
@@ -1,204 +0,0 @@
1
- /**
2
- * ThreadManager handles thread lifecycle and metadata management
3
- *
4
- * This manager is responsible for:
5
- * - Creating new threads for existing projects
6
- * - Managing thread metadata
7
- * - Coordinating with GitManager for repository cloning
8
- * - Providing CRUD operations for threads
9
- * - Ensuring thread path uniqueness
10
- */
11
- import { Thread, ThreadEvent } from "@tarsk/shared";
12
- import { MetadataManager } from "../metadata/metadata.manager";
13
- import { GitManager } from "../git/git.manager";
14
- import type { ProcessingStateManager } from "../../agent/agent.processing-state-manager";
15
- /**
16
- * ThreadManager interface defines the contract for thread operations
17
- */
18
- export interface ThreadManager {
19
- /**
20
- * Creates a new thread for an existing project
21
- * @param projectId - The parent project ID
22
- * @param title - Optional thread title (auto-generated if not provided)
23
- * @yields ThreadEvent objects during the creation process
24
- */
25
- createThread(projectId: string, title?: string): AsyncGenerator<ThreadEvent>;
26
- /**
27
- * Gets a thread by ID
28
- * @param threadId - The thread ID
29
- * @returns The thread or null if not found
30
- */
31
- getThread(threadId: string): Promise<Thread | null>;
32
- /**
33
- * Lists all threads for a specific project
34
- * @param projectId - The project ID to filter threads
35
- * @returns Array of threads for the project
36
- */
37
- listThreads(projectId: string): Promise<Thread[]>;
38
- /**
39
- * Deletes a thread and removes its directory
40
- * @param threadId - The thread ID to delete
41
- */
42
- deleteThread(threadId: string): Promise<void>;
43
- /**
44
- * Updates a thread's metadata with partial data
45
- * @param threadId - The thread ID to update
46
- * @param updates - Partial thread data to merge
47
- */
48
- updateThread(threadId: string, updates: Partial<Omit<Thread, "id">>): Promise<void>;
49
- /**
50
- * Selects a thread as the active thread
51
- * @param threadId - The thread ID to select
52
- */
53
- selectThread(threadId: string): Promise<void>;
54
- /**
55
- * Gets the currently selected thread ID
56
- * @returns The selected thread ID or null
57
- */
58
- getSelectedThreadId(): Promise<string | null>;
59
- /**
60
- * Lists all files in a thread's directory (tracked and untracked, but not ignored)
61
- * @param threadId - The thread ID
62
- * @returns Array of file paths relative to the thread root
63
- */
64
- listFiles(threadId: string): Promise<string[]>;
65
- }
66
- /**
67
- * ThreadManagerImpl provides the implementation for thread operations
68
- */
69
- export declare class ThreadManagerImpl implements ThreadManager {
70
- private metadataManager;
71
- private gitManager;
72
- private processingStateManager?;
73
- private rootFolder;
74
- /**
75
- * Create a new ThreadManager
76
- * @param metadataManager - Manager for persisting metadata
77
- * @param gitManager - Manager for git operations
78
- * @param processingStateManager - Optional manager for processing state (for spinner during clone)
79
- * @param rootFolder - Base directory where threads will be stored
80
- *
81
- * Requirements:
82
- * - 2.1 - WHEN a user creates a new Thread for a Project, THE CLI SHALL create a new clone of the Project's git repository
83
- * - 2.4 - THE System SHALL maintain a title for each Thread
84
- */
85
- constructor(metadataManager: MetadataManager, gitManager: GitManager, processingStateManager?: ProcessingStateManager, rootFolder?: string);
86
- /**
87
- * Creates a new thread for an existing project
88
- *
89
- * This method:
90
- * 1. Validates that the project exists
91
- * 2. Generates a unique thread ID
92
- * 3. Gets the project's git URL
93
- * 4. Generates a unique thread path
94
- * 5. Delegates to GitManager for cloning
95
- * 6. Saves thread metadata
96
- * 7. Updates the project's thread list
97
- * 8. Yields progress events during the operation
98
- *
99
- * @param projectId - The parent project ID
100
- * @param title - Optional thread title (auto-generated if not provided)
101
- * @yields ThreadEvent objects during the creation process
102
- *
103
- * Requirements:
104
- * - 2.1 - WHEN a user creates a new Thread for a Project, THE CLI SHALL create a new clone of the Project's git repository
105
- * - 2.2 - WHEN a Thread is created, THE App SHALL display it under its parent Project in the Side_Panel
106
- * - 2.4 - THE System SHALL maintain a title for each Thread
107
- * - 7.4 - THE CLI SHALL ensure each Thread clone is stored in a unique directory path
108
- */
109
- createThread(projectId: string, title?: string): AsyncGenerator<ThreadEvent>;
110
- /**
111
- * Gets a thread by ID
112
- * @param threadId - The thread ID
113
- * @returns The thread or null if not found
114
- */
115
- getThread(threadId: string): Promise<Thread | null>;
116
- /**
117
- * Lists all threads for a specific project
118
- * @param projectId - The project ID to filter threads
119
- * @returns Array of threads for the project
120
- *
121
- * Requirements:
122
- * - 2.1 - WHEN a Thread is created, THE App SHALL display it under its parent Project in the Side_Panel
123
- */
124
- listThreads(projectId: string): Promise<Thread[]>;
125
- /**
126
- * Deletes a thread and removes its directory
127
- *
128
- * This method:
129
- * 1. Finds the thread by ID
130
- * 2. Removes the thread directory from filesystem
131
- * 3. Removes the thread from metadata
132
- * 4. Updates the parent project's thread list
133
- * 5. Marks the thread as deleted in the database
134
- *
135
- * @param threadId - The thread ID to delete
136
- * @throws Error if thread not found
137
- *
138
- * Requirements:
139
- * - 2.3 - WHEN a user deletes a Thread, THE System SHALL remove the Thread's folder and update the Side_Panel display
140
- * - 7.5 - WHEN a Thread is deleted, THE CLI SHALL remove the associated git repository clone from the filesystem
141
- */
142
- deleteThread(threadId: string): Promise<void>;
143
- /**
144
- * Updates a thread's metadata with partial data
145
- *
146
- * This method loads all threads, finds the target, merges the updates,
147
- * and persists the result.
148
- *
149
- * @param threadId - The thread ID to update
150
- * @param updates - Partial thread data to merge
151
- * @throws Error if thread not found or model format is invalid
152
- */
153
- updateThread(threadId: string, updates: Partial<Omit<Thread, "id">>): Promise<void>;
154
- /**
155
- * Selects a thread as the active thread
156
- *
157
- * @param threadId - The thread ID to select
158
- */
159
- selectThread(threadId: string): Promise<void>;
160
- /**
161
- * Gets the currently selected thread ID
162
- *
163
- * @returns The selected thread ID or null
164
- */
165
- getSelectedThreadId(): Promise<string | null>;
166
- /**
167
- * Runs a setup script in the given path and yields progress events
168
- * @param threadPath - Path to run the command in
169
- * @param commandLine - The command to execute
170
- * @yields ThreadEvent progress events
171
- */
172
- private runSetupScript;
173
- /**
174
- * Generates a unique thread path
175
- *
176
- * Path format: {dataDir}/{threadId}
177
- *
178
- * This ensures thread paths are unique across all projects and threads.
179
- *
180
- * @param projectPath - The parent project path
181
- * @param threadId - The thread ID
182
- * @returns The absolute path to the thread folder
183
- *
184
- * Requirements:
185
- * - 7.4 - THE CLI SHALL ensure each Thread clone is stored in a unique directory path
186
- */
187
- private generateThreadPath;
188
- /**
189
- * Generates a thread title if not provided
190
- *
191
- * Format: {word1}-{word2} where words are random from a curated list
192
- *
193
- * @param existingTitles - Set of titles already in use for this project
194
- * @returns The generated thread title (e.g. bouncy-panda, sparkly-taco)
195
- */
196
- private generateThreadTitle;
197
- /**
198
- * Lists all files in a thread's directory (tracked and untracked, but not ignored)
199
- * @param threadId - The thread ID
200
- * @returns Array of file paths relative to the thread root
201
- */
202
- listFiles(threadId: string): Promise<string[]>;
203
- }
204
- //# sourceMappingURL=threads.manager.d.ts.map