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,108 +0,0 @@
1
- /**
2
- * SQLite Database Operations for Conversation History
3
- *
4
- * This module handles all operations for storing and retrieving conversation
5
- * history in the SQLite database.
6
- */
7
- import { ConversationMessage, ConversationHistory, AgentEvent, FileData } from "@tarsk/shared";
8
- import { Database } from "../../database/database.types";
9
- /**
10
- * Insert a new conversation message (incomplete)
11
- * @param db SQLite database instance
12
- * @param threadId Thread ID
13
- * @param conversationId Conversation ID (groups messages into separate conversations)
14
- * @param message User message content
15
- * @param model Model used
16
- * @param attachments Optional file attachments
17
- * @param planMode Optional plan mode flag
18
- * @returns Message ID
19
- */
20
- export declare function insertMessage(db: Database, threadId: string, conversationId: string, message: string, model: string, attachments?: FileData[], planMode?: boolean): Promise<string>;
21
- /**
22
- * Update a conversation message with response data
23
- * @param db SQLite database instance
24
- * @param messageId Message ID
25
- * @param content Response content
26
- * @param events Events captured during execution
27
- * @throws Error if message not found
28
- */
29
- export declare function updateMessage(db: Database, messageId: string, content: string, events: AgentEvent[]): Promise<void>;
30
- /**
31
- * Get conversation history for a thread (all conversations)
32
- * @param db SQLite database instance
33
- * @param threadId Thread ID
34
- * @returns ConversationHistory object or null if not found
35
- */
36
- export declare function getConversationHistory(db: Database, threadId: string): Promise<ConversationHistory | null>;
37
- export declare function getDeletedConversationHistory(db: Database, threadId: string): Promise<ConversationHistory | null>;
38
- /**
39
- * Get conversation history for a specific conversation within a thread
40
- * @param db SQLite database instance
41
- * @param threadId Thread ID
42
- * @param conversationId Conversation ID
43
- * @returns ConversationHistory object or null if not found
44
- */
45
- export declare function getConversationHistoryByConversationId(db: Database, threadId: string, conversationId: string): Promise<ConversationHistory | null>;
46
- /**
47
- * Get the last N messages from conversation history for a specific conversation
48
- * @param db SQLite database instance
49
- * @param threadId Thread ID
50
- * @param conversationId Conversation ID
51
- * @param count Number of messages to retrieve
52
- * @returns Array of conversation messages
53
- */
54
- export declare function getLastMessages(db: Database, threadId: string, conversationId: string, count?: number): Promise<ConversationMessage[]>;
55
- /**
56
- * Mark conversation history for a specific conversation as deleted
57
- * @param db SQLite database instance
58
- * @param threadId Thread ID
59
- * @param conversationId Conversation ID
60
- */
61
- export declare function clearConversationHistory(db: Database, threadId: string, conversationId: string): Promise<void>;
62
- /**
63
- * Get message count for a thread
64
- * @param db SQLite database instance
65
- * @param threadId Thread ID
66
- * @returns Number of messages
67
- */
68
- export declare function getMessageCount(db: Database, threadId: string): Promise<number>;
69
- /**
70
- * Check if a message exists
71
- * @param db SQLite database instance
72
- * @param messageId Message ID
73
- * @returns True if message exists
74
- */
75
- export declare function messageExists(db: Database, messageId: string): Promise<boolean>;
76
- /**
77
- * Mark a specific message as deleted
78
- * @param db SQLite database instance
79
- * @param messageId Message ID
80
- */
81
- export declare function deleteMessage(db: Database, messageId: string): Promise<void>;
82
- /**
83
- * Get total message count across all threads
84
- * @param db SQLite database instance
85
- * @returns Total number of messages
86
- */
87
- export declare function getTotalMessageCount(db: Database): Promise<number>;
88
- /**
89
- * Mark all conversation history for a specific thread as deleted
90
- * @param db SQLite database instance
91
- * @param threadId Thread ID
92
- */
93
- export declare function markConversationHistoryAsDeleted(db: Database, threadId: string): Promise<void>;
94
- /**
95
- * Mark all conversation history for a specific thread as deleted
96
- * @param db SQLite database instance
97
- * @param threadId Thread ID
98
- */
99
- export declare function deleteConversationHistoryForThread(db: Database, threadId: string): Promise<void>;
100
- /**
101
- * Get all unique conversation IDs for a thread
102
- * @param db SQLite database instance
103
- * @param threadId Thread ID
104
- * @returns Array of conversation IDs
105
- */
106
- export declare function getConversationIds(db: Database, threadId: string): Promise<string[]>;
107
- export declare function getDeletedConversationIds(db: Database, threadId: string): Promise<string[]>;
108
- //# sourceMappingURL=conversations.database.d.ts.map
@@ -1,373 +0,0 @@
1
- /**
2
- * SQLite Database Operations for Conversation History
3
- *
4
- * This module handles all operations for storing and retrieving conversation
5
- * history in the SQLite database.
6
- */
7
- import { randomUUID } from "crypto";
8
- /**
9
- * Insert a new conversation message (incomplete)
10
- * @param db SQLite database instance
11
- * @param threadId Thread ID
12
- * @param conversationId Conversation ID (groups messages into separate conversations)
13
- * @param message User message content
14
- * @param model Model used
15
- * @param attachments Optional file attachments
16
- * @param planMode Optional plan mode flag
17
- * @returns Message ID
18
- */
19
- export async function insertMessage(db, threadId, conversationId, message, model, attachments, planMode) {
20
- try {
21
- const messageId = randomUUID();
22
- const timestamp = new Date().toISOString();
23
- await db.execute(`
24
- INSERT INTO conversation_history (
25
- id, threadId, conversationId, timestamp, status,
26
- request_message, request_model, request_attachments, request_planMode
27
- )
28
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
29
- `, [
30
- messageId,
31
- threadId,
32
- conversationId,
33
- timestamp,
34
- "active",
35
- message,
36
- model,
37
- attachments ? JSON.stringify(attachments) : null,
38
- planMode ? 1 : 0,
39
- ]);
40
- return messageId;
41
- }
42
- catch (error) {
43
- console.error("Failed to insert conversation message:", error);
44
- throw error;
45
- }
46
- }
47
- /**
48
- * Update a conversation message with response data
49
- * @param db SQLite database instance
50
- * @param messageId Message ID
51
- * @param content Response content
52
- * @param events Events captured during execution
53
- * @throws Error if message not found
54
- */
55
- export async function updateMessage(db, messageId, content, events) {
56
- try {
57
- const completedAt = new Date().toISOString();
58
- // Calculate token usage from events.
59
- // Prefer `message` events (from message_start) as the authoritative source for usage data.
60
- // Only fall back to `toolcall_delta` events if no `message` events carry real usage,
61
- // to avoid double-counting when both event types report the same API call's tokens.
62
- let inputTokens = 0;
63
- let outputTokens = 0;
64
- const hasMessageUsage = events.some((e) => e.type === "message" &&
65
- e.message?.usage &&
66
- ((e.message?.usage?.input ?? 0) > 0 ||
67
- (e.message?.usage?.output ?? 0) > 0 ||
68
- (e.message?.usage?.cacheRead ?? 0) > 0 ||
69
- (e.message?.usage?.cacheWrite ?? 0) > 0));
70
- for (const event of events) {
71
- if (hasMessageUsage) {
72
- // Use message events as the single source of truth
73
- if (event.type === "message" && event.message?.usage) {
74
- const usage = event.message.usage;
75
- inputTokens += usage.input ?? 0;
76
- outputTokens += usage.output ?? 0;
77
- }
78
- }
79
- else {
80
- // Fall back to toolcall_delta events if no message events have real usage
81
- if (event.type === "toolcall_delta" && event.partial?.usage) {
82
- inputTokens += event.partial.usage.input ?? 0;
83
- outputTokens += event.partial.usage.output ?? 0;
84
- }
85
- }
86
- }
87
- // Fallback: Estimate output tokens from response content if no usage data was found
88
- if (inputTokens === 0 && outputTokens === 0 && content) {
89
- // Rough estimate: ~4 characters per token for English text.
90
- // Only estimate output tokens from the response content; we cannot reliably
91
- // derive input tokens here since the original request is not available.
92
- outputTokens = Math.ceil(content.length / 4);
93
- }
94
- const result = await db.execute(`
95
- UPDATE conversation_history
96
- SET response_content = ?, response_events = ?, response_completedAt = ?, input_tokens = ?, output_tokens = ?
97
- WHERE id = ?
98
- `, [content, JSON.stringify(events), completedAt, inputTokens, outputTokens, messageId]);
99
- // Check if any rows were actually updated
100
- if (result.rowsAffected === 0) {
101
- console.warn(`[updateMessage] No message found with ID: ${messageId}`);
102
- }
103
- }
104
- catch (error) {
105
- console.error("Failed to update conversation message:", error);
106
- throw error;
107
- }
108
- }
109
- /**
110
- * Get conversation history for a thread (all conversations)
111
- * @param db SQLite database instance
112
- * @param threadId Thread ID
113
- * @returns ConversationHistory object or null if not found
114
- */
115
- export async function getConversationHistory(db, threadId) {
116
- try {
117
- const result = await db.execute(`
118
- SELECT * FROM conversation_history
119
- WHERE threadId = ?
120
- ORDER BY timestamp ASC
121
- `, [threadId]);
122
- const rows = result.rows;
123
- if (rows.length === 0) {
124
- return null;
125
- }
126
- const messages = rows.map(deserializeMessage);
127
- return {
128
- threadId,
129
- messages,
130
- lastUpdated: messages.length > 0 ? messages[messages.length - 1].timestamp : new Date().toISOString(),
131
- };
132
- }
133
- catch (error) {
134
- console.error("Failed to get conversation history:", error);
135
- throw error;
136
- }
137
- }
138
- export async function getDeletedConversationHistory(db, threadId) {
139
- try {
140
- const result = await db.execute(`
141
- SELECT * FROM conversation_history
142
- WHERE threadId = ? AND status = ?
143
- ORDER BY timestamp ASC
144
- `, [threadId, "deleted"]);
145
- const rows = result.rows;
146
- if (rows.length === 0) {
147
- return null;
148
- }
149
- const messages = rows.map(deserializeMessage);
150
- return {
151
- threadId,
152
- messages,
153
- lastUpdated: messages.length > 0 ? messages[messages.length - 1].timestamp : new Date().toISOString(),
154
- };
155
- }
156
- catch (error) {
157
- console.error("Failed to get deleted conversation history:", error);
158
- throw error;
159
- }
160
- }
161
- /**
162
- * Get conversation history for a specific conversation within a thread
163
- * @param db SQLite database instance
164
- * @param threadId Thread ID
165
- * @param conversationId Conversation ID
166
- * @returns ConversationHistory object or null if not found
167
- */
168
- export async function getConversationHistoryByConversationId(db, threadId, conversationId) {
169
- try {
170
- const result = await db.execute(`
171
- SELECT * FROM conversation_history
172
- WHERE threadId = ? AND conversationId = ? AND status = ?
173
- ORDER BY timestamp ASC
174
- `, [threadId, conversationId, "active"]);
175
- const rows = result.rows;
176
- if (rows.length === 0) {
177
- return null;
178
- }
179
- const messages = rows.map(deserializeMessage);
180
- return {
181
- threadId,
182
- messages,
183
- lastUpdated: messages.length > 0 ? messages[messages.length - 1].timestamp : new Date().toISOString(),
184
- };
185
- }
186
- catch (error) {
187
- console.error("Failed to get conversation history by conversation ID:", error);
188
- throw error;
189
- }
190
- }
191
- /**
192
- * Get the last N messages from conversation history for a specific conversation
193
- * @param db SQLite database instance
194
- * @param threadId Thread ID
195
- * @param conversationId Conversation ID
196
- * @param count Number of messages to retrieve
197
- * @returns Array of conversation messages
198
- */
199
- export async function getLastMessages(db, threadId, conversationId, count = 1) {
200
- try {
201
- const result = await db.execute(`
202
- SELECT * FROM conversation_history
203
- WHERE threadId = ? AND conversationId = ? AND status = ?
204
- ORDER BY timestamp DESC
205
- LIMIT ?
206
- `, [threadId, conversationId, "active", count]);
207
- const rows = result.rows;
208
- // Reverse to get chronological order
209
- return rows.reverse().map(deserializeMessage);
210
- }
211
- catch (error) {
212
- console.error("Failed to get last messages:", error);
213
- throw error;
214
- }
215
- }
216
- /**
217
- * Mark conversation history for a specific conversation as deleted
218
- * @param db SQLite database instance
219
- * @param threadId Thread ID
220
- * @param conversationId Conversation ID
221
- */
222
- export async function clearConversationHistory(db, threadId, conversationId) {
223
- try {
224
- await db.execute("UPDATE conversation_history SET status = ? WHERE threadId = ? AND conversationId = ?", ["deleted", threadId, conversationId]);
225
- }
226
- catch (error) {
227
- console.error("Failed to mark conversation history as deleted:", error);
228
- throw error;
229
- }
230
- }
231
- /**
232
- * Get message count for a thread
233
- * @param db SQLite database instance
234
- * @param threadId Thread ID
235
- * @returns Number of messages
236
- */
237
- export async function getMessageCount(db, threadId) {
238
- const result = await db.execute("SELECT COUNT(*) as count FROM conversation_history WHERE threadId = ? AND status = ?", [threadId, "active"]);
239
- return result.rows[0].count;
240
- }
241
- /**
242
- * Check if a message exists
243
- * @param db SQLite database instance
244
- * @param messageId Message ID
245
- * @returns True if message exists
246
- */
247
- export async function messageExists(db, messageId) {
248
- const result = await db.execute("SELECT 1 FROM conversation_history WHERE id = ? LIMIT 1", [
249
- messageId,
250
- ]);
251
- return result.rows.length > 0;
252
- }
253
- /**
254
- * Deserialize a conversation message row from the database
255
- * @param row Database row
256
- * @returns ConversationMessage object
257
- */
258
- function deserializeMessage(row) {
259
- return {
260
- id: row.id,
261
- timestamp: row.timestamp,
262
- conversationId: row.conversationId,
263
- status: row.status,
264
- request: {
265
- message: row.request_message,
266
- model: row.request_model,
267
- ...(row.request_attachments && { attachments: JSON.parse(row.request_attachments) }),
268
- ...(row.request_planMode === 1 && { planMode: true }),
269
- },
270
- response: row.response_content
271
- ? {
272
- content: row.response_content,
273
- events: row.response_events ? JSON.parse(row.response_events) : [],
274
- completedAt: row.response_completedAt ?? "",
275
- }
276
- : null,
277
- inputTokens: row.input_tokens,
278
- outputTokens: row.output_tokens,
279
- };
280
- }
281
- /**
282
- * Mark a specific message as deleted
283
- * @param db SQLite database instance
284
- * @param messageId Message ID
285
- */
286
- export async function deleteMessage(db, messageId) {
287
- await db.execute("UPDATE conversation_history SET status = ? WHERE id = ?", [
288
- "deleted",
289
- messageId,
290
- ]);
291
- }
292
- /**
293
- * Get total message count across all threads
294
- * @param db SQLite database instance
295
- * @returns Total number of messages
296
- */
297
- export async function getTotalMessageCount(db) {
298
- const result = await db.execute("SELECT COUNT(*) as count FROM conversation_history");
299
- return result.rows[0].count;
300
- }
301
- /**
302
- * Mark all conversation history for a specific thread as deleted
303
- * @param db SQLite database instance
304
- * @param threadId Thread ID
305
- */
306
- export async function markConversationHistoryAsDeleted(db, threadId) {
307
- try {
308
- await db.execute("UPDATE conversation_history SET status = ? WHERE threadId = ?", [
309
- "deleted",
310
- threadId,
311
- ]);
312
- }
313
- catch (error) {
314
- console.error("Failed to mark conversation history as deleted:", error);
315
- throw error;
316
- }
317
- }
318
- /**
319
- * Mark all conversation history for a specific thread as deleted
320
- * @param db SQLite database instance
321
- * @param threadId Thread ID
322
- */
323
- export async function deleteConversationHistoryForThread(db, threadId) {
324
- try {
325
- await db.execute("UPDATE conversation_history SET status = ? WHERE threadId = ?", [
326
- "deleted",
327
- threadId,
328
- ]);
329
- }
330
- catch (error) {
331
- console.error("Failed to mark conversation history as deleted for thread:", error);
332
- throw error;
333
- }
334
- }
335
- /**
336
- * Get all unique conversation IDs for a thread
337
- * @param db SQLite database instance
338
- * @param threadId Thread ID
339
- * @returns Array of conversation IDs
340
- */
341
- export async function getConversationIds(db, threadId) {
342
- try {
343
- const result = await db.execute(`
344
- SELECT conversationId FROM conversation_history
345
- WHERE threadId = ?
346
- GROUP BY conversationId
347
- ORDER BY conversationId DESC
348
- `, [threadId]);
349
- const rows = result.rows;
350
- return rows.map((row) => row.conversationId);
351
- }
352
- catch (error) {
353
- console.error("Failed to get conversation IDs:", error);
354
- throw error;
355
- }
356
- }
357
- export async function getDeletedConversationIds(db, threadId) {
358
- try {
359
- const result = await db.execute(`
360
- SELECT conversationId FROM conversation_history
361
- WHERE threadId = ? AND status = ?
362
- GROUP BY conversationId
363
- ORDER BY conversationId DESC
364
- `, [threadId, "deleted"]);
365
- const rows = result.rows;
366
- return rows.map((row) => row.conversationId);
367
- }
368
- catch (error) {
369
- console.error("Failed to get deleted conversation IDs:", error);
370
- throw error;
371
- }
372
- }
373
- //# sourceMappingURL=conversations.database.js.map
@@ -1,130 +0,0 @@
1
- /**
2
- * ConversationManager handles conversation history storage and retrieval
3
- *
4
- * This manager is responsible for:
5
- * - Storing request/response pairs in SQLite database
6
- * - Retrieving conversation history for a thread
7
- * - Managing conversation persistence
8
- */
9
- import { ConversationHistory, ConversationMessage, AgentEvent, FileData } from "@tarsk/shared";
10
- /**
11
- * ConversationManager interface defines the contract for conversation operations
12
- */
13
- export interface ConversationManager {
14
- /**
15
- * Starts a new conversation message (request captured)
16
- * @param threadId - The thread ID
17
- * @param threadPath - The absolute path to the thread directory
18
- * @param conversationId - The conversation ID (groups messages into separate conversations)
19
- * @param message - The user's message
20
- * @param model - The model being used
21
- * @param attachments - Optional file attachments
22
- * @param planMode - Optional plan mode flag
23
- * @returns The message ID for this conversation
24
- */
25
- startMessage(threadId: string, threadPath: string, conversationId: string, message: string, model: string, attachments?: FileData[], planMode?: boolean): Promise<string>;
26
- /**
27
- * Completes a conversation message (response captured)
28
- * @param messageId - The message ID to complete
29
- * @param content - The complete response content
30
- * @param events - All events captured during execution
31
- */
32
- completeMessage(messageId: string, content: string, events: AgentEvent[]): Promise<void>;
33
- /**
34
- * Gets the conversation history for a thread (all conversations)
35
- * @param threadPath - The absolute path to the thread directory
36
- * @returns The conversation history or null if not found
37
- */
38
- getConversationHistory(threadPath: string): Promise<ConversationHistory | null>;
39
- /**
40
- * Gets the conversation history for a specific conversation
41
- * @param threadPath - The absolute path to the thread directory
42
- * @param conversationId - The conversation ID
43
- * @returns The conversation history or null if not found
44
- */
45
- getConversationHistoryByConversationId(threadPath: string, conversationId: string): Promise<ConversationHistory | null>;
46
- /**
47
- * Gets the last N messages from conversation history for a specific conversation
48
- * @param threadPath - The absolute path to the thread directory
49
- * @param conversationId - The conversation ID
50
- * @param count - Number of messages to retrieve (default: 1)
51
- * @returns Array of conversation messages
52
- */
53
- getLastMessages(threadPath: string, conversationId: string, count?: number): Promise<ConversationMessage[]>;
54
- /**
55
- * Clears conversation history for a specific conversation
56
- * @param threadPath - The absolute path to the thread directory
57
- * @param conversationId - The conversation ID
58
- */
59
- clearChatHistory(threadPath: string, conversationId: string): Promise<void>;
60
- /**
61
- * Gets all conversation IDs for a thread
62
- * @param threadPath - The absolute path to the thread directory
63
- * @returns Array of conversation IDs
64
- */
65
- getConversationIds(threadPath: string): Promise<string[]>;
66
- /**
67
- * Gets deleted conversation history for a thread
68
- * @param threadPath - The absolute path to the thread directory
69
- * @returns The deleted conversation history or null if not found
70
- */
71
- getDeletedConversationHistory(threadPath: string): Promise<ConversationHistory | null>;
72
- /**
73
- * Gets deleted conversation IDs for a thread
74
- * @param threadPath - The absolute path to the thread directory
75
- * @returns Array of deleted conversation IDs
76
- */
77
- getDeletedConversationIds(threadPath: string): Promise<string[]>;
78
- }
79
- /**
80
- * ConversationManagerImpl provides the implementation for conversation operations
81
- */
82
- export declare class ConversationManagerImpl implements ConversationManager {
83
- private db;
84
- /**
85
- * Create a new ConversationManagerImpl
86
- * @param _dataDir - Directory where metadata files are stored (unused, kept for interface compatibility)
87
- */
88
- constructor(_dataDir: string);
89
- /**
90
- * Initialize the conversation manager
91
- */
92
- initialize(): Promise<void>;
93
- /**
94
- * Starts a new conversation message
95
- */
96
- startMessage(threadId: string, _threadPath: string, conversationId: string, message: string, model: string, attachments?: FileData[], planMode?: boolean): Promise<string>;
97
- /**
98
- * Completes a conversation message
99
- */
100
- completeMessage(messageId: string, content: string, events: AgentEvent[]): Promise<void>;
101
- /**
102
- * Gets the conversation history for a thread (all conversations)
103
- */
104
- getConversationHistory(threadPath: string): Promise<ConversationHistory | null>;
105
- /**
106
- * Gets the conversation history for a specific conversation
107
- */
108
- getConversationHistoryByConversationId(threadPath: string, conversationId: string): Promise<ConversationHistory | null>;
109
- /**
110
- * Gets the last N messages from conversation history for a specific conversation
111
- */
112
- getLastMessages(threadPath: string, conversationId: string, count?: number): Promise<ConversationMessage[]>;
113
- /**
114
- * Clears conversation history for a specific conversation
115
- */
116
- clearChatHistory(threadPath: string, conversationId: string): Promise<void>;
117
- /**
118
- * Gets all conversation IDs for a thread
119
- */
120
- getConversationIds(threadPath: string): Promise<string[]>;
121
- /**
122
- * Gets deleted conversation history for a thread
123
- */
124
- getDeletedConversationHistory(threadPath: string): Promise<ConversationHistory | null>;
125
- /**
126
- * Gets deleted conversation IDs for a thread
127
- */
128
- getDeletedConversationIds(threadPath: string): Promise<string[]>;
129
- }
130
- //# sourceMappingURL=conversations.manager.d.ts.map