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,56 +0,0 @@
1
- /**
2
- * GET /api/threads?projectId=xxx
3
- * List all threads for a specific project
4
- *
5
- * Query parameters:
6
- * - projectId (required): The project ID to filter threads
7
- *
8
- * Response:
9
- * [
10
- * {
11
- * "id": "uuid",
12
- * "projectId": "uuid",
13
- * "title": "Thread title",
14
- * "path": "/path/to/thread",
15
- * "currentBranch": "branch-name",
16
- * "createdAt": "2024-01-01T00:00:00Z"
17
- * }
18
- * ]
19
- *
20
- * Requirements:
21
- * - 6.3 - THE CLI SHALL expose REST API endpoints for Thread operations
22
- */
23
- import { Context } from "hono";
24
- import type { ThreadManager } from "../threads/threads.manager.js";
25
- import type { Database } from "../../database/database.types.js";
26
- export declare function handleListThreads(c: Context, threadManager: ThreadManager, db?: Database): Promise<(Response & import("hono").TypedResponse<{
27
- error: {
28
- code: string;
29
- message: string;
30
- details?: import("hono/utils/types").JSONValue | undefined;
31
- timestamp: string;
32
- };
33
- }, any, "json">) | (Response & import("hono").TypedResponse<{
34
- id: string;
35
- projectId: string;
36
- title: string;
37
- path: string;
38
- currentBranch: string;
39
- createdAt: string;
40
- enabledSkills?: string[] | undefined;
41
- disabledSkills?: string[] | undefined;
42
- currentConversationId?: string | undefined;
43
- status?: "active" | "deleted" | undefined;
44
- diffComments?: {
45
- id: string;
46
- filePath: string;
47
- fileIndex: number;
48
- lineNumber: number;
49
- lineContent: string;
50
- comment: string;
51
- side: "original" | "modified";
52
- }[] | undefined;
53
- model?: string | undefined;
54
- modelProvider?: string | undefined;
55
- }[], import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
56
- //# sourceMappingURL=threads-list.route.d.ts.map
@@ -1,58 +0,0 @@
1
- /**
2
- * GET /api/threads?projectId=xxx
3
- * List all threads for a specific project
4
- *
5
- * Query parameters:
6
- * - projectId (required): The project ID to filter threads
7
- *
8
- * Response:
9
- * [
10
- * {
11
- * "id": "uuid",
12
- * "projectId": "uuid",
13
- * "title": "Thread title",
14
- * "path": "/path/to/thread",
15
- * "currentBranch": "branch-name",
16
- * "createdAt": "2024-01-01T00:00:00Z"
17
- * }
18
- * ]
19
- *
20
- * Requirements:
21
- * - 6.3 - THE CLI SHALL expose REST API endpoints for Thread operations
22
- */
23
- import { errorResponse } from "../../core/route-helpers.js";
24
- import { ErrorCodes } from "../../core/error-responses.js";
25
- import { getGitStatusCacheBulk } from "../git/git-status-cache.database.js";
26
- function computeGitStatusDot(status) {
27
- if (status.hasChanges)
28
- return true;
29
- if (status.commitsAheadOfDefault && !status.prExists)
30
- return true;
31
- if (status.status === "Behind" || status.status === "Diverged")
32
- return true;
33
- return false;
34
- }
35
- export async function handleListThreads(c, threadManager, db) {
36
- try {
37
- const projectId = c.req.query("projectId");
38
- // Validate projectId is provided
39
- if (!projectId) {
40
- return errorResponse(c, ErrorCodes.INVALID_REQUEST, "projectId query parameter is required", 400);
41
- }
42
- const threads = await threadManager.listThreads(projectId);
43
- if (!db) {
44
- return c.json(threads);
45
- }
46
- const statusCache = await getGitStatusCacheBulk(db, threads.map((t) => t.id));
47
- const threadsWithStatus = threads.map((thread) => {
48
- const cached = statusCache.get(thread.id);
49
- const gitStatusDot = cached ? computeGitStatusDot(cached) : false;
50
- return { ...thread, gitStatusDot };
51
- });
52
- return c.json(threadsWithStatus);
53
- }
54
- catch (error) {
55
- return errorResponse(c, ErrorCodes.LIST_THREADS_ERROR, "Failed to list threads", 500, error instanceof Error ? error.message : String(error));
56
- }
57
- }
58
- //# sourceMappingURL=threads-list.route.js.map
@@ -1,28 +0,0 @@
1
- /**
2
- * GET /api/threads/:id/messages
3
- * Get chat history for a thread
4
- */
5
- import { Context } from "hono";
6
- import type { ThreadManager } from "../threads/threads.manager.js";
7
- import type { ConversationManager } from "../conversations/conversations.manager.js";
8
- export declare function handleGetThreadMessages(c: Context, threadManager: ThreadManager, conversationManager: ConversationManager): Promise<(Response & import("hono").TypedResponse<{
9
- error: {
10
- code: string;
11
- message: string;
12
- details?: import("hono/utils/types").JSONValue | undefined;
13
- timestamp: string;
14
- };
15
- }, any, "json">) | (Response & import("hono").TypedResponse<{
16
- messageId: string;
17
- sender: "user" | "agent";
18
- content: string;
19
- contentType: "text" | "markdown";
20
- timestamp: string;
21
- model?: string | undefined;
22
- attachments?: {
23
- fileName: string;
24
- content: string;
25
- size?: number | undefined;
26
- }[] | undefined;
27
- }[], import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
28
- //# sourceMappingURL=threads-messages.route.d.ts.map
@@ -1,110 +0,0 @@
1
- /**
2
- * GET /api/threads/:id/messages
3
- * Get chat history for a thread
4
- */
5
- import { extractAssistantContent, parseAssistantContentBlocks, } from "../conversations/conversations.content.js";
6
- import { errorResponse } from "../../core/route-helpers.js";
7
- import { ErrorCodes } from "../../core/error-responses.js";
8
- /**
9
- * Builds content for the UI that includes reasoning, tool_use, tool results, and final answer.
10
- * Returns a JSON string of content blocks so the frontend can show reasoning, tool progress, and answer.
11
- */
12
- const buildStructuredContentFromEvents = (events, fallbackContent) => {
13
- if (!events || events.length === 0) {
14
- return fallbackContent;
15
- }
16
- // Prefer assistant message content when it is already a structured array (reasoning, text, tool_use)
17
- for (const event of events) {
18
- if (event.type === "message" &&
19
- event.role === "assistant" &&
20
- typeof event.content === "string") {
21
- const assistantBlocks = parseAssistantContentBlocks(event.content);
22
- if (assistantBlocks && assistantBlocks.length > 0) {
23
- return JSON.stringify(assistantBlocks);
24
- }
25
- }
26
- }
27
- const blocks = [];
28
- for (const event of events) {
29
- if (event.type === "message" && event.role === "tool" && typeof event.content === "string") {
30
- try {
31
- const parsed = JSON.parse(event.content.trim());
32
- if (Array.isArray(parsed)) {
33
- for (const item of parsed) {
34
- if (item && typeof item === "object" && "type" in item) {
35
- blocks.push(item);
36
- }
37
- }
38
- }
39
- else if (parsed && typeof parsed === "object" && "type" in parsed) {
40
- blocks.push(parsed);
41
- }
42
- }
43
- catch {
44
- blocks.push({ type: "text", text: event.content });
45
- }
46
- }
47
- }
48
- const finalText = extractAssistantContent(events, fallbackContent);
49
- if (finalText.trim().length > 0) {
50
- blocks.push({ type: "text", text: finalText });
51
- }
52
- if (blocks.length === 0) {
53
- return fallbackContent;
54
- }
55
- if (blocks.length === 1 && blocks[0].type === "text" && "text" in blocks[0]) {
56
- return typeof blocks[0].text === "string" ? blocks[0].text : fallbackContent;
57
- }
58
- return JSON.stringify(blocks);
59
- };
60
- export async function handleGetThreadMessages(c, threadManager, conversationManager) {
61
- try {
62
- const threadId = c.req.param("id");
63
- if (!threadId) {
64
- return errorResponse(c, ErrorCodes.INVALID_REQUEST, "Thread ID is required", 400);
65
- }
66
- const thread = await threadManager.getThread(threadId);
67
- if (!thread) {
68
- return errorResponse(c, ErrorCodes.THREAD_NOT_FOUND, `Thread not found: ${threadId}`, 404);
69
- }
70
- // Load messages for the current conversation only
71
- const history = thread.currentConversationId
72
- ? await conversationManager.getConversationHistoryByConversationId(thread.path, thread.currentConversationId)
73
- : await conversationManager.getConversationHistory(thread.path);
74
- if (!history || history.messages.length === 0) {
75
- return c.json([]);
76
- }
77
- const messages = history.messages.flatMap((message) => {
78
- const userMessage = {
79
- messageId: `user-${message.id}`,
80
- sender: "user",
81
- content: message.request.message,
82
- contentType: "text",
83
- timestamp: message.timestamp,
84
- model: message.request.model,
85
- attachments: message.request.attachments?.map((attachment) => ({
86
- fileName: attachment.name,
87
- content: attachment.content,
88
- size: attachment.size,
89
- })),
90
- };
91
- if (!message.response) {
92
- return [userMessage];
93
- }
94
- const agentMessage = {
95
- messageId: `agent-${message.id}`,
96
- sender: "agent",
97
- content: buildStructuredContentFromEvents(message.response.events, message.response.content),
98
- contentType: "markdown",
99
- timestamp: message.response.completedAt,
100
- model: message.request.model,
101
- };
102
- return [userMessage, agentMessage];
103
- });
104
- return c.json(messages);
105
- }
106
- catch (error) {
107
- return errorResponse(c, ErrorCodes.GET_THREAD_MESSAGES_ERROR, "Failed to load thread messages", 500, error instanceof Error ? error.message : String(error));
108
- }
109
- }
110
- //# sourceMappingURL=threads-messages.route.js.map
@@ -1,26 +0,0 @@
1
- /**
2
- * POST /api/threads/:id/open
3
- * Open a thread in the specified program
4
- *
5
- * Request body:
6
- * {
7
- * "program": "VS Code" | "Cursor" | "Windsurf" | "Xcode" | "Android Studio" | "Kiro"
8
- * }
9
- *
10
- * Response:
11
- * {
12
- * "success": true,
13
- * "message": "Thread opened in VS Code"
14
- * }
15
- */
16
- import { Context } from "hono";
17
- import type { ThreadManager } from "../threads/threads.manager.js";
18
- export declare function handleOpenThread(c: Context, threadManager: ThreadManager): Promise<(Response & import("hono").TypedResponse<{
19
- error: {
20
- code: string;
21
- message: string;
22
- details?: import("hono/utils/types").JSONValue | undefined;
23
- timestamp: string;
24
- };
25
- }, any, "json">) | (Response & import("hono").TypedResponse<import("hono/utils/types").JSONValue, any, "json">)>;
26
- //# sourceMappingURL=threads-open.route.d.ts.map
@@ -1,62 +0,0 @@
1
- /**
2
- * POST /api/threads/:id/open
3
- * Open a thread in the specified program
4
- *
5
- * Request body:
6
- * {
7
- * "program": "VS Code" | "Cursor" | "Windsurf" | "Xcode" | "Android Studio" | "Kiro"
8
- * }
9
- *
10
- * Response:
11
- * {
12
- * "success": true,
13
- * "message": "Thread opened in VS Code"
14
- * }
15
- */
16
- import { PROGRAM_APP_NAMES } from "@tarsk/shared";
17
- import { validateProgram } from "../projects/projects.open-with.js";
18
- import open from "open";
19
- import { errorResponse, successResponse } from "../../core/route-helpers.js";
20
- import { ErrorCodes } from "../../core/error-responses.js";
21
- export async function handleOpenThread(c, threadManager) {
22
- try {
23
- const threadId = c.req.param("id");
24
- const body = await c.req.json();
25
- const { program } = body;
26
- if (!threadId) {
27
- return errorResponse(c, ErrorCodes.INVALID_REQUEST, "Thread ID is required", 400);
28
- }
29
- const programError = validateProgram(program);
30
- if (programError) {
31
- return errorResponse(c, ErrorCodes.INVALID_REQUEST, programError, 400);
32
- }
33
- const thread = await threadManager.getThread(threadId);
34
- if (!thread) {
35
- return errorResponse(c, ErrorCodes.THREAD_NOT_FOUND, `Thread not found: ${threadId}`, 404);
36
- }
37
- const threadPath = thread.path;
38
- // Ensure program is defined and is a string before indexing
39
- const appNames = typeof program === "string" ? PROGRAM_APP_NAMES[program] : undefined;
40
- if (!appNames) {
41
- return errorResponse(c, ErrorCodes.OPEN_PROGRAM_ERROR, `Unsupported program: ${program}`, 500);
42
- }
43
- console.log("[POST /api/threads/:id/open] threadId=%s program=%s threadPath=%s", threadId, program, threadPath);
44
- try {
45
- await open(threadPath, {
46
- app: { name: appNames },
47
- });
48
- console.log("[POST /api/threads/:id/open] Successfully opened thread in %s", program);
49
- }
50
- catch (openError) {
51
- const message = openError instanceof Error ? openError.message : String(openError);
52
- console.error("[POST /api/threads/:id/open] Failed to open thread:", message);
53
- return errorResponse(c, ErrorCodes.OPEN_PROGRAM_ERROR, `Failed to open ${program}: ${message}`, 500);
54
- }
55
- return successResponse(c, { success: true, message: `Thread opened in ${program}` });
56
- }
57
- catch (error) {
58
- const errorMessage = error instanceof Error ? error.message : String(error);
59
- return errorResponse(c, ErrorCodes.OPEN_PROGRAM_ERROR, "Failed to open thread", 500, errorMessage);
60
- }
61
- }
62
- //# sourceMappingURL=threads-open.route.js.map
@@ -1,25 +0,0 @@
1
- /**
2
- * POST /api/threads/:id/select
3
- * Select a thread as the active thread
4
- *
5
- * Response:
6
- * {
7
- * "success": true,
8
- * "message": "Thread selected successfully",
9
- * "threadId": "uuid"
10
- * }
11
- *
12
- * Requirements:
13
- * - 6.3 - THE CLI SHALL expose REST API endpoints for Thread operations
14
- */
15
- import { Context } from "hono";
16
- import type { ThreadManager } from "../threads/threads.manager.js";
17
- export declare function handleSelectThread(c: Context, threadManager: ThreadManager): Promise<(Response & import("hono").TypedResponse<{
18
- error: {
19
- code: string;
20
- message: string;
21
- details?: import("hono/utils/types").JSONValue | undefined;
22
- timestamp: string;
23
- };
24
- }, any, "json">) | (Response & import("hono").TypedResponse<import("hono/utils/types").JSONValue, any, "json">)>;
25
- //# sourceMappingURL=threads-select.route.d.ts.map
@@ -1,35 +0,0 @@
1
- /**
2
- * POST /api/threads/:id/select
3
- * Select a thread as the active thread
4
- *
5
- * Response:
6
- * {
7
- * "success": true,
8
- * "message": "Thread selected successfully",
9
- * "threadId": "uuid"
10
- * }
11
- *
12
- * Requirements:
13
- * - 6.3 - THE CLI SHALL expose REST API endpoints for Thread operations
14
- */
15
- import { errorResponse, successResponse } from "../../core/route-helpers.js";
16
- import { ErrorCodes } from "../../core/error-responses.js";
17
- export async function handleSelectThread(c, threadManager) {
18
- try {
19
- const threadId = c.req.param("id");
20
- if (!threadId) {
21
- return errorResponse(c, ErrorCodes.INVALID_REQUEST, "Thread ID is required", 400);
22
- }
23
- // Verify thread exists
24
- const thread = await threadManager.getThread(threadId);
25
- if (!thread) {
26
- return errorResponse(c, ErrorCodes.THREAD_NOT_FOUND, `Thread not found: ${threadId}`, 404);
27
- }
28
- await threadManager.selectThread(threadId);
29
- return successResponse(c, { success: true, message: "Thread selected successfully", threadId });
30
- }
31
- catch (error) {
32
- return errorResponse(c, ErrorCodes.SELECT_THREAD_ERROR, "Failed to select thread", 500, error instanceof Error ? error.message : String(error));
33
- }
34
- }
35
- //# sourceMappingURL=threads-select.route.js.map
@@ -1,15 +0,0 @@
1
- /**
2
- * PATCH /api/threads/:id
3
- * Update thread metadata
4
- */
5
- import { Context } from "hono";
6
- import type { ThreadManager } from "../threads/threads.manager.js";
7
- export declare function handleUpdateThread(c: Context, threadManager: ThreadManager): Promise<(Response & import("hono").TypedResponse<{
8
- error: {
9
- code: string;
10
- message: string;
11
- details?: import("hono/utils/types").JSONValue | undefined;
12
- timestamp: string;
13
- };
14
- }, any, "json">) | (Response & import("hono").TypedResponse<import("hono/utils/types").JSONValue, any, "json">)>;
15
- //# sourceMappingURL=threads-update.route.d.ts.map
@@ -1,30 +0,0 @@
1
- /**
2
- * PATCH /api/threads/:id
3
- * Update thread metadata
4
- */
5
- import { errorResponse, successResponse } from "../../core/route-helpers.js";
6
- import { ErrorCodes } from "../../core/error-responses.js";
7
- export async function handleUpdateThread(c, threadManager) {
8
- try {
9
- const threadId = c.req.param("id");
10
- const body = await c.req.json();
11
- if (!threadId) {
12
- return errorResponse(c, ErrorCodes.INVALID_REQUEST, "Thread ID is required", 400);
13
- }
14
- // Validate model format if present
15
- if (body.model && !body.modelProvider) {
16
- return errorResponse(c, ErrorCodes.INVALID_REQUEST, `Invalid model format (model=${body.model}, provider=${body.provider}): Model must be in format "{provider}/{model}" (e.g., "openrouter/claude-3-5-sonnet-20241022").`, 400);
17
- }
18
- // Validate modelProvider format if present
19
- if (body.modelProvider && typeof body.modelProvider !== "string") {
20
- return errorResponse(c, ErrorCodes.INVALID_REQUEST, "modelProvider must be a string", 400);
21
- }
22
- await threadManager.updateThread(threadId, body);
23
- return successResponse(c, { success: true, message: "Thread updated successfully" });
24
- }
25
- catch (error) {
26
- const errorMessage = error instanceof Error ? error.message : String(error);
27
- return errorResponse(c, ErrorCodes.UPDATE_THREAD_ERROR, "Failed to update thread", 500, errorMessage);
28
- }
29
- }
30
- //# sourceMappingURL=threads-update.route.js.map
@@ -1,68 +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 { Thread } from "@tarsk/shared";
8
- import { Database } from "../../database/database.types";
9
- /**
10
- * Insert a new thread into the database
11
- * @param db SQLite database instance
12
- * @param thread Thread to insert
13
- */
14
- export declare function insertThread(db: Database, thread: Thread): Promise<void>;
15
- /**
16
- * Update an existing thread in the database
17
- * @param db SQLite database instance
18
- * @param id Thread ID
19
- * @param updates Partial thread object with fields to update
20
- */
21
- export declare function updateThread(db: Database, id: string, updates: Partial<Thread>): Promise<void>;
22
- /**
23
- * Mark a thread as deleted (soft delete)
24
- * @param db SQLite database instance
25
- * @param id Thread ID
26
- */
27
- export declare function deleteThread(db: Database, id: string): Promise<void>;
28
- /**
29
- * Get a single thread by ID
30
- * @param db SQLite database instance
31
- * @param id Thread ID
32
- * @returns Thread object or null if not found
33
- */
34
- export declare function getThread(db: Database, id: string): Promise<Thread | null>;
35
- /**
36
- * Get all active threads from the database
37
- * @param db SQLite database instance
38
- * @returns Array of active threads only
39
- */
40
- export declare function getAllThreads(db: Database): Promise<Thread[]>;
41
- /**
42
- * Get active threads for a specific project
43
- * @param db SQLite database instance
44
- * @param projectId Project ID
45
- * @returns Array of active threads for project only
46
- */
47
- export declare function getThreadsByProjectId(db: Database, projectId: string): Promise<Thread[]>;
48
- /**
49
- * Check if a thread exists
50
- * @param db SQLite database instance
51
- * @param id Thread ID
52
- * @returns True if thread exists
53
- */
54
- export declare function threadExists(db: Database, id: string): Promise<boolean>;
55
- /**
56
- * Get thread count
57
- * @param db SQLite database instance
58
- * @returns Number of threads
59
- */
60
- export declare function getThreadCount(db: Database): Promise<number>;
61
- /**
62
- * Get thread count for a specific project
63
- * @param db SQLite database instance
64
- * @param projectId Project ID
65
- * @returns Number of threads in the project
66
- */
67
- export declare function getThreadCountByProjectId(db: Database, projectId: string): Promise<number>;
68
- //# sourceMappingURL=threads.database.d.ts.map