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,212 +0,0 @@
1
- /**
2
- * SQLite Database Operations for Projects
3
- *
4
- * This module handles all CRUD operations for projects in the SQLite database.
5
- * Includes transaction support for atomic operations.
6
- */
7
- import { isValidCommitMethod } from "@tarsk/shared";
8
- /**
9
- * Insert a new project into the database
10
- * @param db SQLite database instance
11
- * @param project Project to insert
12
- */
13
- export async function insertProject(db, project) {
14
- try {
15
- await db.execute(`
16
- INSERT INTO projects (id, name, gitUrl, path, createdAt, openWith, commands, setupScript, runCommand, commitMethod)
17
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
18
- `, [
19
- project.id,
20
- project.name,
21
- project.gitUrl,
22
- project.path,
23
- project.createdAt.toISOString(),
24
- project.openWith ?? null,
25
- project.commands ? JSON.stringify(project.commands) : null,
26
- project.setupScript ?? null,
27
- project.runCommand ?? null,
28
- project.commitMethod ?? null,
29
- ]);
30
- }
31
- catch (error) {
32
- console.error("Failed to insert project:", error);
33
- throw error;
34
- }
35
- }
36
- /**
37
- * Update an existing project in the database
38
- * @param db SQLite database instance
39
- * @param id Project ID
40
- * @param updates Partial project object with fields to update
41
- */
42
- export async function updateProject(db, id, updates) {
43
- try {
44
- const fields = [];
45
- const values = [];
46
- if (updates.name !== undefined) {
47
- fields.push("name = ?");
48
- values.push(updates.name);
49
- }
50
- if (updates.gitUrl !== undefined) {
51
- fields.push("gitUrl = ?");
52
- values.push(updates.gitUrl);
53
- }
54
- if (updates.path !== undefined) {
55
- fields.push("path = ?");
56
- values.push(updates.path);
57
- }
58
- if (updates.openWith !== undefined) {
59
- fields.push("openWith = ?");
60
- values.push(updates.openWith ?? null);
61
- }
62
- if (updates.commands !== undefined) {
63
- fields.push("commands = ?");
64
- values.push(updates.commands ? JSON.stringify(updates.commands) : null);
65
- }
66
- if (updates.setupScript !== undefined) {
67
- fields.push("setupScript = ?");
68
- values.push(updates.setupScript ?? null);
69
- }
70
- if (updates.runCommand !== undefined) {
71
- fields.push("runCommand = ?");
72
- values.push(updates.runCommand ?? null);
73
- }
74
- if (updates.commitMethod !== undefined) {
75
- fields.push("commitMethod = ?");
76
- values.push(updates.commitMethod ?? null);
77
- }
78
- if (fields.length === 0) {
79
- return; // No fields to update
80
- }
81
- values.push(id);
82
- const sql = `UPDATE projects SET ${fields.join(", ")} WHERE id = ?`;
83
- await db.execute(sql, values);
84
- }
85
- catch (error) {
86
- console.error("Failed to update project:", error);
87
- throw error;
88
- }
89
- }
90
- /**
91
- * Delete a project and cascade delete associated threads
92
- * @param db SQLite database instance
93
- * @param id Project ID
94
- */
95
- export async function deleteProject(db, id) {
96
- try {
97
- // Temporarily disable foreign key constraints for this operation
98
- await db.execute("PRAGMA foreign_keys = OFF");
99
- try {
100
- // First, delete any conversation history for threads belonging to this project
101
- await db.execute(`
102
- DELETE FROM conversation_history
103
- WHERE threadId IN (
104
- SELECT threads.id FROM threads WHERE threads.projectId = ?
105
- )
106
- `, [id]);
107
- // Delete todos for threads belonging to this project
108
- await db.execute(`
109
- DELETE FROM todos
110
- WHERE threadId IN (
111
- SELECT threads.id FROM threads WHERE threads.projectId = ?
112
- )
113
- `, [id]);
114
- // Delete threads for this project
115
- await db.execute("DELETE FROM threads WHERE projectId = ?", [id]);
116
- // Delete project-level todos for this project
117
- await db.execute("DELETE FROM project_todos WHERE projectId = ?", [id]);
118
- // Finally delete the project
119
- await db.execute("DELETE FROM projects WHERE id = ?", [id]);
120
- }
121
- finally {
122
- // Re-enable foreign key constraints
123
- await db.execute("PRAGMA foreign_keys = ON");
124
- }
125
- }
126
- catch (error) {
127
- console.error("Failed to delete project:", error);
128
- throw error;
129
- }
130
- }
131
- /**
132
- * Get a single project by ID
133
- * @param db SQLite database instance
134
- * @param id Project ID
135
- * @returns Project object or null if not found
136
- */
137
- export async function getProject(db, id) {
138
- const result = await db.execute("SELECT * FROM projects WHERE id = ?", [id]);
139
- const row = result.rows[0];
140
- if (!row) {
141
- return null;
142
- }
143
- return deserializeProject(db, row);
144
- }
145
- /**
146
- * Get all projects from the database
147
- * @param db SQLite database instance
148
- * @returns Array of all projects
149
- */
150
- export async function getAllProjects(db) {
151
- try {
152
- const result = await db.execute("SELECT * FROM projects ORDER BY createdAt DESC");
153
- const rows = result.rows;
154
- return await Promise.all(rows.map((row) => deserializeProject(db, row)));
155
- }
156
- catch (error) {
157
- console.error("Failed to get all projects:", error);
158
- throw error;
159
- }
160
- }
161
- /**
162
- * Get threads for a specific project
163
- * @param db SQLite database instance
164
- * @param projectId Project ID
165
- * @returns Array of thread IDs
166
- */
167
- export async function getProjectThreadIds(db, projectId) {
168
- const result = await db.execute("SELECT id FROM threads WHERE projectId = ? ORDER BY createdAt DESC", [projectId]);
169
- const rows = result.rows;
170
- return rows.map((row) => row.id);
171
- }
172
- /**
173
- * Deserialize a project row from the database
174
- * @param db SQLite database instance
175
- * @param row Database row
176
- * @returns Project object
177
- */
178
- async function deserializeProject(db, row) {
179
- return {
180
- id: row.id,
181
- name: row.name,
182
- gitUrl: row.gitUrl,
183
- path: row.path,
184
- createdAt: new Date(row.createdAt),
185
- threads: await getProjectThreadIds(db, row.id),
186
- openWith: row.openWith ?? undefined,
187
- commands: row.commands ? JSON.parse(row.commands) : undefined,
188
- setupScript: row.setupScript ?? undefined,
189
- runCommand: row.runCommand ?? undefined,
190
- commitMethod: row.commitMethod && isValidCommitMethod(row.commitMethod) ? row.commitMethod : undefined,
191
- };
192
- }
193
- /**
194
- * Check if a project exists
195
- * @param db SQLite database instance
196
- * @param id Project ID
197
- * @returns True if project exists
198
- */
199
- export async function projectExists(db, id) {
200
- const result = await db.execute("SELECT 1 FROM projects WHERE id = ? LIMIT 1", [id]);
201
- return result.rows.length > 0;
202
- }
203
- /**
204
- * Get project count
205
- * @param db SQLite database instance
206
- * @returns Number of projects
207
- */
208
- export async function getProjectCount(db) {
209
- const result = await db.execute("SELECT COUNT(*) as count FROM projects");
210
- return result.rows[0].count;
211
- }
212
- //# sourceMappingURL=projects.database.js.map
@@ -1,291 +0,0 @@
1
- /**
2
- * ProjectManager handles project lifecycle and metadata management
3
- *
4
- * This manager is responsible for:
5
- * - Creating new projects from git URLs
6
- * - Managing project metadata
7
- * - Coordinating with GitManager for repository cloning
8
- * - Providing CRUD operations for projects
9
- */
10
- import { Project, ProjectEvent, Command, CommitMethods } from "@tarsk/shared";
11
- import { MetadataManager } from "../metadata/metadata.manager.js";
12
- import { GitManager } from "../git/git.manager.js";
13
- import type { ProcessingStateManager } from "../../agent/agent.processing-state-manager.js";
14
- /**
15
- * ProjectManager interface defines the contract for project operations
16
- */
17
- export interface ProjectManager {
18
- /**
19
- * Creates a new project from a git URL
20
- * @param gitUrl - The git repository URL
21
- * @param commitMethod - Commit strategy: PullRequest creates branches, Direct commits to main
22
- * @yields ProjectEvent objects during the creation process
23
- */
24
- createProject(gitUrl: string, commitMethod?: CommitMethods): AsyncGenerator<ProjectEvent>;
25
- /**
26
- * Creates a new project from an existing local folder selected via native OS dialog.
27
- * Opens a native folder picker, then creates the project from the selected path.
28
- * @yields ProjectEvent objects during the creation process
29
- */
30
- createProjectFromFolder(): AsyncGenerator<ProjectEvent>;
31
- /**
32
- * Creates a new project by scaffolding a web app, then running git init and creating an initial thread.
33
- * @param projectName - Display name and folder name (sanitized for path)
34
- * @param templateId - Id from scaffold-templates.json
35
- * @param packageManager - bun | npm | yarn | pnpm
36
- * @yields ProjectEvent objects during the creation process
37
- */
38
- createProjectFromScaffold(projectName: string, templateId: string, packageManager: string): AsyncGenerator<ProjectEvent>;
39
- /**
40
- * Gets a project by ID
41
- * @param projectId - The project ID
42
- * @returns The project or null if not found
43
- */
44
- getProject(projectId: string): Promise<Project | null>;
45
- /**
46
- * Lists all projects
47
- * @returns Array of all projects
48
- */
49
- listProjects(): Promise<Project[]>;
50
- /**
51
- * Deletes a project and all its threads
52
- * @param projectId - The project ID to delete
53
- */
54
- deleteProject(projectId: string): Promise<void>;
55
- /**
56
- * Opens a project in the specified program
57
- * @param projectId - The project ID
58
- * @param program - The program to open the project in
59
- */
60
- openWith(projectId: string, program: string): Promise<void>;
61
- /**
62
- * Updates the project's open-with program preference
63
- * @param projectId - The project ID
64
- * @param program - The program name to set
65
- */
66
- updateOpenWith(projectId: string, program: string): Promise<void>;
67
- /**
68
- * Saves (adds or updates) a command for a project
69
- * @param projectId - The project ID
70
- * @param command - The command to save
71
- */
72
- saveCommand(projectId: string, command: Command): Promise<void>;
73
- /**
74
- * Deletes a command from a project
75
- * @param projectId - The project ID
76
- * @param commandId - The ID of the command to delete
77
- */
78
- deleteCommand(projectId: string, commandId: string): Promise<void>;
79
- /**
80
- * Runs a command in a thread's directory
81
- * @param threadId - The thread ID where to run the command
82
- * @param commandLine - The command line to execute
83
- * @param cwd - Optional working directory relative to thread path
84
- */
85
- runCommand(threadId: string, commandLine: string, cwd?: string): AsyncGenerator<unknown>;
86
- /**
87
- * Updates the project's setup script
88
- * @param projectId - The project ID
89
- * @param setupScript - The setup script to run after clone (or null to clear)
90
- */
91
- updateSetupScript(projectId: string, setupScript: string | null): Promise<void>;
92
- /**
93
- * Updates the project's name
94
- * @param projectId - The project ID
95
- * @param name - The new project name
96
- */
97
- updateProjectName(projectId: string, name: string): Promise<void>;
98
- /**
99
- * Suggests a run command based on package.json
100
- * @param projectId - The project ID
101
- * @returns Suggested run command or null if none detected
102
- */
103
- suggestRunCommand(projectId: string): Promise<string | null>;
104
- /**
105
- * Updates the project's run command
106
- * @param projectId - The project ID
107
- * @param runCommand - The run command (e.g., "npm run dev") or null to clear
108
- */
109
- updateRunCommand(projectId: string, runCommand: string | null): Promise<void>;
110
- /**
111
- * Updates the project's commit method
112
- * @param projectId - The project ID
113
- * @param commitMethod - The commit method (PullRequest or Direct)
114
- */
115
- updateCommitMethod(projectId: string, commitMethod: CommitMethods): Promise<void>;
116
- /**
117
- * Starts running a dev server process for a project
118
- * @param projectId - The project ID
119
- * @param threadId - Optional thread ID to use for the working directory (defaults to first thread)
120
- * @yields ProcessOutput events during the process
121
- */
122
- startRunningProcess(projectId: string, threadId?: string): AsyncGenerator<any>;
123
- /**
124
- * Stops a running dev server process for a project
125
- * @param projectId - The project ID
126
- * @returns true if process was stopped, false if no process was running
127
- */
128
- stopRunningProcess(projectId: string): Promise<boolean>;
129
- /**
130
- * Checks if a process is running for a project
131
- * @param projectId - The project ID
132
- * @returns true if a process is running
133
- */
134
- isProcessRunning(projectId: string): Promise<boolean>;
135
- }
136
- /**
137
- * ProjectManagerImpl provides the implementation for project operations
138
- */
139
- export declare class ProjectManagerImpl implements ProjectManager {
140
- private rootFolder;
141
- private metadataManager;
142
- private processManager;
143
- private openWithHandler;
144
- private projectCreator;
145
- private terminalSessionManager;
146
- /**
147
- * Create a new ProjectManager
148
- * @param rootFolder - Base directory where projects will be stored
149
- * @param metadataManager - Manager for persisting metadata
150
- * @param gitManager - Manager for git operations
151
- * @param processingStateManager - Optional manager for processing state (for spinner during clone)
152
- *
153
- * Requirements:
154
- * - 1.1 - WHEN a user provides a git URL to create a new Project, THE CLI SHALL clone the repository into a folder under the Root_Folder
155
- * - 1.4 - THE CLI SHALL determine the storage path for each Project folder
156
- */
157
- constructor(rootFolder: string, metadataManager: MetadataManager, gitManager: GitManager, processingStateManager?: ProcessingStateManager);
158
- /**
159
- * Creates a new project from a git URL
160
- *
161
- * This method:
162
- * 1. Validates the git URL
163
- * 2. Generates a unique project ID
164
- * 3. Derives the project name from the git URL
165
- * 4. Generates the project path
166
- * 5. Delegates to GitManager for cloning
167
- * 6. Saves project metadata
168
- * 7. Yields progress events during the operation
169
- * 8. Creates an initial thread automatically
170
- *
171
- * @param gitUrl - The git repository URL
172
- * @yields ProjectEvent objects during the creation process
173
- *
174
- * Requirements:
175
- * - 1.1 - WHEN a user provides a git URL to create a new Project, THE CLI SHALL clone the repository into a folder under the Root_Folder
176
- * - 1.2 - WHEN a Project is created, THE App SHALL display the Project in the Side_Panel with its associated Thread
177
- * - 1.4 - THE CLI SHALL determine the storage path for each Project folder
178
- * - 1.5 - WHEN a Project folder is created, THE System SHALL associate it with the provided git URL
179
- */
180
- createProject(gitUrl: string, commitMethod?: CommitMethods): AsyncGenerator<ProjectEvent>;
181
- /**
182
- * Creates a new project from a local folder via native OS dialog.
183
- */
184
- createProjectFromFolder(): AsyncGenerator<ProjectEvent>;
185
- /**
186
- * Creates a new project by scaffolding a web app, then git init and initial thread.
187
- */
188
- createProjectFromScaffold(projectName: string, templateId: string, packageManager: string): AsyncGenerator<ProjectEvent>;
189
- /**
190
- * Gets a project by ID
191
- * @param projectId - The project ID
192
- * @returns The project or null if not found
193
- */
194
- getProject(projectId: string): Promise<Project | null>;
195
- /**
196
- * Lists all projects
197
- * @returns Array of all projects
198
- */
199
- listProjects(): Promise<Project[]>;
200
- /**
201
- * Deletes a project and all its threads (cascade delete)
202
- *
203
- * This method:
204
- * 1. Finds the project by ID
205
- * 2. Removes all associated threads from metadata
206
- * 3. Removes the project directory from filesystem
207
- * 4. Removes the project from metadata
208
- *
209
- * @param projectId - The project ID to delete
210
- * @throws Error if project not found
211
- *
212
- * Requirements:
213
- * - 1.1 - Cascade delete for projects (remove all threads)
214
- */
215
- deleteProject(projectId: string): Promise<void>;
216
- /**
217
- * Gets the root folder path
218
- * @returns The root folder path
219
- */
220
- getRootFolder(): string;
221
- openWith(projectId: string, program: string): Promise<void>;
222
- updateOpenWith(projectId: string, program: string): Promise<void>;
223
- /**
224
- * Saves (adds or updates) a command for a project
225
- * @param projectId - The project ID
226
- * @param command - The command to save
227
- */
228
- saveCommand(projectId: string, command: Command): Promise<void>;
229
- /**
230
- * Deletes a command from a project
231
- * @param projectId - The project ID
232
- * @param commandId - The ID of the command to delete
233
- */
234
- deleteCommand(projectId: string, commandId: string): Promise<void>;
235
- /**
236
- * Updates the project's setup script
237
- * @param projectId - The project ID
238
- * @param setupScript - The setup script to run after clone (or null to clear)
239
- */
240
- updateSetupScript(projectId: string, setupScript: string | null): Promise<void>;
241
- /**
242
- * Updates the project's name
243
- * @param projectId - The project ID
244
- * @param name - The new project name
245
- */
246
- updateProjectName(projectId: string, name: string): Promise<void>;
247
- /**
248
- * Runs a command in a thread's directory
249
- * @param threadId - The thread ID where to run the command
250
- * @param commandLine - The command line to execute
251
- * @param cwd - Optional working directory relative to thread path
252
- */
253
- runCommand(threadId: string, commandLine: string, cwd?: string): AsyncGenerator<unknown>;
254
- /**
255
- * Suggests a run command based on package.json
256
- * @param projectId - The project ID
257
- * @returns Suggested run command or null if none detected
258
- */
259
- suggestRunCommand(projectId: string): Promise<string | null>;
260
- /**
261
- * Updates the project's run command
262
- * @param projectId - The project ID
263
- * @param runCommand - The run command (e.g., "npm run dev") or null to clear
264
- */
265
- updateRunCommand(projectId: string, runCommand: string | null): Promise<void>;
266
- /**
267
- * Updates the project's commit method
268
- * @param projectId - The project ID
269
- * @param commitMethod - The commit method (PullRequest or Direct)
270
- */
271
- updateCommitMethod(projectId: string, commitMethod: CommitMethods): Promise<void>;
272
- /**
273
- * Starts running a dev server process for a project
274
- * @param projectId - The project ID
275
- * @yields ProcessOutput events during the process
276
- */
277
- startRunningProcess(projectId: string, threadId?: string): AsyncGenerator<any>;
278
- /**
279
- * Stops a running dev server process for a project
280
- * @param projectId - The project ID
281
- * @returns true if process was stopped, false if no process was running
282
- */
283
- stopRunningProcess(projectId: string): Promise<boolean>;
284
- /**
285
- * Checks if a process is running for a project
286
- * @param projectId - The project ID
287
- * @returns true if a process is running
288
- */
289
- isProcessRunning(projectId: string): Promise<boolean>;
290
- }
291
- //# sourceMappingURL=projects.manager.d.ts.map