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
package/dist/server.js DELETED
@@ -1,142 +0,0 @@
1
- import { serve } from "@hono/node-server";
2
- import { serveStatic } from "@hono/node-server/serve-static";
3
- import { AVAILABLE_PROGRAMS } from "@tarsk/shared";
4
- import fs from "fs";
5
- import { Hono } from "hono";
6
- import { cors } from "hono/cors";
7
- import open from "open";
8
- import path from "path";
9
- import { fileURLToPath } from "url";
10
- import { PiExecutorImpl } from "./agent/agent.executor.js";
11
- import { ProcessingStateManagerImpl } from "./agent/agent.processing-state-manager.js";
12
- import { getDataDir } from "./core/paths.js";
13
- import { createAskUserRoutes } from "./features/ask-user/ask-user.routes.js";
14
- import { createChatRoutes } from "./features/chat/chat.routes.js";
15
- import { ConversationManagerImpl } from "./features/conversations/conversations.manager.js";
16
- import { createConversationRoutes } from "./features/conversations/conversations.routes.js";
17
- import { MetadataManager } from "./features/metadata/metadata.manager.js";
18
- import { createModelRoutes } from "./features/models/models.routes.js";
19
- import { createOnboardingRoutes } from "./features/onboarding/onboarding.routes.js";
20
- import { createProjectRoutes } from "./features/projects/projects.routes.js";
21
- import { ProjectManagerImpl } from "./features/projects/projects.manager.js";
22
- import { createProviderRoutes } from "./features/providers/providers.routes.js";
23
- import { createRunRoutes } from "./features/run/run.routes.js";
24
- import { createScaffoldRoutes } from "./features/scaffold/scaffold.routes.js";
25
- import { createSlashCommandRoutes } from "./features/slash-commands/slash-commands.routes.js";
26
- import { createRuleRoutes } from "./features/rules/rules.routes.js";
27
- import { ThreadManagerImpl } from "./features/threads/threads.manager.js";
28
- import { createThreadRoutes } from "./features/threads/threads.routes.js";
29
- import { GitManagerImpl } from "./features/git/git.manager.js";
30
- import { createGitRoutes } from "./features/git/git.routes.js";
31
- import { createUpdateRoutes } from "./features/updates/updates.routes.js";
32
- import { createMCPRoutes } from "./features/mcp/mcp.routes.js";
33
- import { createProjectTodosRoutes } from "./features/project-todos/project-todos.routes.js";
34
- const __filename = fileURLToPath(import.meta.url);
35
- const __dirname = path.dirname(__filename);
36
- export async function startTarskServer(options) {
37
- const { isDebug, publicDir: publicDirOverride } = options;
38
- const port = isDebug ? 462 : process.env.PORT ? parseInt(process.env.PORT) : 641;
39
- const app = new Hono();
40
- app.use("/*", cors());
41
- app.use("/*", async (c, next) => {
42
- if (c.req.path.startsWith("/api/")) {
43
- const method = c.req.method;
44
- const reqPath = c.req.path;
45
- const fullUrl = `http://localhost:${port}${reqPath}`;
46
- if (!fullUrl.includes("processing")) {
47
- console.log(`${method} ${fullUrl}`);
48
- }
49
- }
50
- return next();
51
- });
52
- const dataDir = getDataDir();
53
- const metadataManager = new MetadataManager(dataDir);
54
- const gitManager = new GitManagerImpl();
55
- const processingStateManager = new ProcessingStateManagerImpl();
56
- const projectManager = new ProjectManagerImpl(dataDir, metadataManager, gitManager, processingStateManager);
57
- const threadManager = new ThreadManagerImpl(metadataManager, gitManager, processingStateManager, dataDir);
58
- const conversationManager = new ConversationManagerImpl(dataDir);
59
- const agentExecutor = new PiExecutorImpl(metadataManager);
60
- await metadataManager.initialize();
61
- await conversationManager.initialize();
62
- app.get("/health", (c) => {
63
- return c.json({
64
- status: "ok",
65
- timestamp: new Date().toISOString(),
66
- service: "project-threads-manager-cli",
67
- });
68
- });
69
- app.get("/api/programs", (c) => {
70
- return c.json({
71
- programs: AVAILABLE_PROGRAMS,
72
- });
73
- });
74
- app.get("/api/threads/processing", (c) => {
75
- return c.json({
76
- processingThreadIds: processingStateManager.getProcessingThreadIds(),
77
- });
78
- });
79
- app.route("/api/projects", createProjectRoutes(projectManager, threadManager));
80
- app.route("/api/projects", createRunRoutes(projectManager));
81
- app.route("/api/projects", createProjectTodosRoutes(metadataManager));
82
- app.route("/api/threads", createThreadRoutes(threadManager, gitManager, conversationManager));
83
- app.route("/api/chat", createChatRoutes(threadManager, agentExecutor, conversationManager, processingStateManager));
84
- app.route("/api/conversations", createConversationRoutes(conversationManager, threadManager));
85
- app.route("/api/providers", createProviderRoutes(metadataManager));
86
- app.route("/api/models", createModelRoutes(metadataManager));
87
- app.route("/api/mcp", createMCPRoutes());
88
- app.route("/api/git", createGitRoutes(metadataManager));
89
- app.route("/api/onboarding", createOnboardingRoutes(metadataManager));
90
- app.route("/api/scaffold", createScaffoldRoutes(projectManager));
91
- app.route("/api/ask-user", createAskUserRoutes());
92
- app.route("/api/update", createUpdateRoutes(options.updater));
93
- createSlashCommandRoutes(app, threadManager);
94
- createRuleRoutes(app, projectManager);
95
- const prodPublicDir = path.join(__dirname, "public");
96
- const devCopiedPublicDir = path.join(process.cwd(), "dist", "public");
97
- const appDistDir = path.join(process.cwd(), "..", "app", "dist");
98
- const resolvedPublicDir = publicDirOverride ??
99
- [prodPublicDir, devCopiedPublicDir, appDistDir].find((dirPath) => fs.existsSync(dirPath));
100
- if (!resolvedPublicDir) {
101
- throw new Error("No static frontend assets found. Expected one of: " +
102
- `${prodPublicDir}, ${devCopiedPublicDir}, ${appDistDir}. ` +
103
- "Build the app first with `cd ../app && bun run build`.");
104
- }
105
- const staticRoot = path.relative(process.cwd(), resolvedPublicDir);
106
- app.use("/*", async (c, next) => {
107
- if (c.req.path.startsWith("/api/")) {
108
- return next();
109
- }
110
- return serveStatic({ root: staticRoot })(c, next);
111
- });
112
- app.get("*", async (c, next) => {
113
- if (c.req.path.startsWith("/api/")) {
114
- return next();
115
- }
116
- return serveStatic({
117
- path: path.relative(process.cwd(), path.join(resolvedPublicDir, "index.html")),
118
- })(c, next);
119
- });
120
- app.all("*", (c) => {
121
- const errorResponse = {
122
- error: {
123
- code: "NOT_FOUND",
124
- message: `Route not found: ${c.req.method} ${c.req.path}`,
125
- timestamp: new Date().toISOString(),
126
- },
127
- };
128
- return c.json(errorResponse, 404);
129
- });
130
- const url = `http://localhost:${port}`;
131
- process.stdout.write(`Tarsk started on ${url}\n`);
132
- serve({
133
- fetch: app.fetch,
134
- port,
135
- }, () => {
136
- if (options.openBrowser) {
137
- open(url).catch(() => { });
138
- }
139
- });
140
- return { url, port };
141
- }
142
- //# sourceMappingURL=server.js.map
@@ -1,49 +0,0 @@
1
- /**
2
- * Agent Tool
3
- *
4
- * Allows the running agent to spawn focused subagents for isolated subtasks.
5
- * Subagents have their own execution context and controlled tool access.
6
- *
7
- * Inspired by VS Code Copilot's subagent model:
8
- * https://code.visualstudio.com/docs/copilot/agents/subagents
9
- */
10
- import type { AgentTool } from "@mariozechner/pi-agent-core";
11
- import { type Static } from "@sinclair/typebox";
12
- import type { AgentDefinition, AgentEvent } from "@tarsk/shared";
13
- import type { MetadataManager } from "../features/metadata/metadata.manager.js";
14
- import type { Tool } from "./index.js";
15
- /** Maximum subagent nesting depth (enforced by the caller via tool registration) */
16
- export declare const MAX_SUBAGENT_DEPTH = 2;
17
- declare const agentToolSchema: import("@sinclair/typebox").TObject<{
18
- prompt: import("@sinclair/typebox").TString;
19
- agentName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
20
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
21
- }>;
22
- export type AgentToolInput = Static<typeof agentToolSchema>;
23
- export interface AgentToolOptions {
24
- /** Defined agents available for invocation */
25
- agents: AgentDefinition[];
26
- /** The full base tool set (will be filtered per agent definition) */
27
- baseTools: Tool[];
28
- /** MetadataManager for API key resolution */
29
- metadataManager: MetadataManager;
30
- /** Parent context model (used as default if agent definition doesn't override) */
31
- parentModel: string;
32
- /** Parent context provider (used as default if agent definition doesn't override) */
33
- parentProvider: string;
34
- /** Default system prompt for unnamed subagents */
35
- defaultSystemPrompt: string;
36
- /** Callback to forward subagent events into the parent's stream */
37
- onEvent: (event: AgentEvent) => void;
38
- /** Optional abort signal from the parent */
39
- signal?: AbortSignal;
40
- }
41
- /**
42
- * Create the `agent` tool that allows the running agent to spawn subagents.
43
- *
44
- * @param options - Configuration including agents list, tools, metadata manager, etc.
45
- * @returns AgentTool for registration with the Pi agent
46
- */
47
- export declare function createAgentTool(options: AgentToolOptions): AgentTool<typeof agentToolSchema>;
48
- export {};
49
- //# sourceMappingURL=agent-tool.d.ts.map
@@ -1,131 +0,0 @@
1
- /**
2
- * Agent Tool
3
- *
4
- * Allows the running agent to spawn focused subagents for isolated subtasks.
5
- * Subagents have their own execution context and controlled tool access.
6
- *
7
- * Inspired by VS Code Copilot's subagent model:
8
- * https://code.visualstudio.com/docs/copilot/agents/subagents
9
- */
10
- import { Type } from "@sinclair/typebox";
11
- import { executeSubagent } from "../agent/agent.subagent-executor.js";
12
- /** Maximum subagent nesting depth (enforced by the caller via tool registration) */
13
- export const MAX_SUBAGENT_DEPTH = 2;
14
- const agentToolSchema = Type.Object({
15
- prompt: Type.String({ description: "The task or question for the subagent to work on" }),
16
- agentName: Type.Optional(Type.String({
17
- description: "Name of a defined agent (from AGENT.md) to use. If omitted, a general-purpose subagent is created.",
18
- })),
19
- description: Type.Optional(Type.String({
20
- description: "A short (3-5 word) label describing what the subagent will do",
21
- })),
22
- });
23
- /**
24
- * Filter a base tool set to only tools whose names appear in the whitelist.
25
- * Returns all tools if allowedToolNames is undefined/empty.
26
- */
27
- function filterTools(baseTools, allowedToolNames) {
28
- if (!allowedToolNames || !allowedToolNames.trim())
29
- return baseTools;
30
- const allowed = new Set(allowedToolNames
31
- .split(/\s+/)
32
- .map((s) => s.trim())
33
- .filter(Boolean));
34
- return baseTools.filter((t) => allowed.has(t.name));
35
- }
36
- /**
37
- * Create the `agent` tool that allows the running agent to spawn subagents.
38
- *
39
- * @param options - Configuration including agents list, tools, metadata manager, etc.
40
- * @returns AgentTool for registration with the Pi agent
41
- */
42
- export function createAgentTool(options) {
43
- const { agents, baseTools, metadataManager, parentModel, parentProvider, defaultSystemPrompt, onEvent, signal, } = options;
44
- return {
45
- name: "agent",
46
- label: "agent",
47
- description: "Launch a specialized subagent to handle a focused subtask in an isolated context. " +
48
- "The subagent runs autonomously and returns its result. " +
49
- "Use this to delegate research, analysis, or parallel work without polluting the current context. " +
50
- "If agentName is provided, that agent's system prompt and tool restrictions are applied.",
51
- parameters: agentToolSchema,
52
- execute: async (_toolCallId, { prompt, agentName, description }) => {
53
- // Resolve agent definition if named
54
- const agentDef = agentName
55
- ? agents.find((a) => a.name === agentName && !a.disableModelInvocation)
56
- : undefined;
57
- if (agentName && !agentDef) {
58
- const available = agents
59
- .filter((a) => !a.disableModelInvocation)
60
- .map((a) => a.name)
61
- .join(", ");
62
- return {
63
- content: [
64
- {
65
- type: "text",
66
- text: `Agent '${agentName}' not found or is not invocable. Available agents: ${available || "none"}`,
67
- },
68
- ],
69
- details: undefined,
70
- };
71
- }
72
- const label = description ?? agentName ?? "subagent";
73
- const systemPrompt = agentDef?.systemPrompt ?? defaultSystemPrompt;
74
- const model = agentDef?.model ?? parentModel;
75
- const provider = agentDef?.provider ?? parentProvider;
76
- const subTools = filterTools(baseTools, agentDef?.tools);
77
- console.log(`[agent-tool] Spawning subagent '${label}' with model=${model}, tools=${subTools.map((t) => t.name).join(",")}`);
78
- // Emit subagent_start so the UI can render a collapsible block
79
- onEvent({
80
- type: "subagent_start",
81
- subagentName: label,
82
- subagentDescription: agentDef?.description,
83
- subagentPrompt: prompt,
84
- });
85
- let result = "";
86
- try {
87
- result = await executeSubagent({
88
- prompt,
89
- systemPrompt,
90
- tools: subTools,
91
- model,
92
- provider,
93
- metadataManager,
94
- onEvent: (event) => {
95
- // Wrap nested events in subagent_event envelope
96
- onEvent({
97
- type: "subagent_event",
98
- subagentName: label,
99
- subagentEvent: event,
100
- });
101
- },
102
- signal,
103
- });
104
- }
105
- catch (err) {
106
- const message = err instanceof Error ? err.message : String(err);
107
- console.error(`[agent-tool] Subagent '${label}' failed:`, message);
108
- onEvent({
109
- type: "subagent_complete",
110
- subagentName: label,
111
- subagentResult: `Error: ${message}`,
112
- });
113
- return {
114
- content: [{ type: "text", text: `Subagent failed: ${message}` }],
115
- details: undefined,
116
- };
117
- }
118
- onEvent({
119
- type: "subagent_complete",
120
- subagentName: label,
121
- subagentResult: result,
122
- });
123
- console.log(`[agent-tool] Subagent '${label}' completed, result length=${result.length}`);
124
- return {
125
- content: [{ type: "text", text: result || "(subagent produced no output)" }],
126
- details: undefined,
127
- };
128
- },
129
- };
130
- }
131
- //# sourceMappingURL=agent-tool.js.map
@@ -1,25 +0,0 @@
1
- import type { AgentTool } from "@mariozechner/pi-agent-core";
2
- import { type Static } from "@sinclair/typebox";
3
- declare const askUserSchema: import("@sinclair/typebox").TObject<{
4
- question: import("@sinclair/typebox").TString;
5
- options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
6
- context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
7
- }>;
8
- export type AskUserToolInput = Static<typeof askUserSchema>;
9
- /**
10
- * Submit a user's answer for a pending question.
11
- * Called by the API route when the frontend posts a response.
12
- */
13
- export declare function submitAnswer(toolCallId: string, answer: string): boolean;
14
- /**
15
- * Cancel a pending question (e.g. when the stream is aborted).
16
- */
17
- export declare function cancelPendingQuestion(toolCallId: string): boolean;
18
- export declare function createAskUserTool(): AgentTool<typeof askUserSchema>;
19
- export declare const askUserTool: AgentTool<import("@sinclair/typebox").TObject<{
20
- question: import("@sinclair/typebox").TString;
21
- options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
22
- context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
23
- }>, any>;
24
- export {};
25
- //# sourceMappingURL=ask-user.d.ts.map
@@ -1,74 +0,0 @@
1
- import { Type } from "@sinclair/typebox";
2
- const askUserSchema = Type.Object({
3
- question: Type.String({
4
- description: "A clear, specific question to ask the user. Frame it to help clarify ambiguous requirements, confirm decisions, or gather preferences needed to proceed.",
5
- }),
6
- options: Type.Optional(Type.Array(Type.String(), {
7
- description: "Optional list of predefined answer choices. The user can pick one or type a custom response. Use when there are a small number of clear alternatives.",
8
- })),
9
- context: Type.Optional(Type.String({
10
- description: "Optional brief context explaining why this question is being asked, so the user understands the impact of their answer.",
11
- })),
12
- });
13
- /**
14
- * Registry of pending questions awaiting user responses.
15
- * Keyed by toolCallId so the HTTP endpoint can resolve the correct Promise.
16
- */
17
- const pendingQuestions = new Map();
18
- /**
19
- * Submit a user's answer for a pending question.
20
- * Called by the API route when the frontend posts a response.
21
- */
22
- export function submitAnswer(toolCallId, answer) {
23
- const pending = pendingQuestions.get(toolCallId);
24
- if (!pending)
25
- return false;
26
- pending.resolve(answer);
27
- pendingQuestions.delete(toolCallId);
28
- return true;
29
- }
30
- /**
31
- * Cancel a pending question (e.g. when the stream is aborted).
32
- */
33
- export function cancelPendingQuestion(toolCallId) {
34
- const pending = pendingQuestions.get(toolCallId);
35
- if (!pending)
36
- return false;
37
- pending.reject(new Error("Question cancelled"));
38
- pendingQuestions.delete(toolCallId);
39
- return true;
40
- }
41
- export function createAskUserTool() {
42
- return {
43
- name: "ask_user",
44
- label: "ask_user",
45
- description: "Ask the user a question when you need clarification, confirmation, or a decision when there is ambiguity or multiple choices.",
46
- parameters: askUserSchema,
47
- execute: async (toolCallId, { question, options, context }, signal) => {
48
- console.log(`[ai] ask_user: "${question}" (options: ${options?.join(", ") ?? "free-text"})`);
49
- if (signal?.aborted) {
50
- throw new Error("Operation aborted");
51
- }
52
- const answer = await new Promise((resolve, reject) => {
53
- pendingQuestions.set(toolCallId, {
54
- resolve,
55
- reject,
56
- question,
57
- options,
58
- context,
59
- });
60
- const onAbort = () => {
61
- cancelPendingQuestion(toolCallId);
62
- };
63
- signal?.addEventListener("abort", onAbort, { once: true });
64
- });
65
- console.log(`[ai] ask_user response: "${answer}"`);
66
- return {
67
- content: [{ type: "text", text: answer }],
68
- details: undefined,
69
- };
70
- },
71
- };
72
- }
73
- export const askUserTool = createAskUserTool();
74
- //# sourceMappingURL=ask-user.js.map
@@ -1,28 +0,0 @@
1
- import type { AgentTool } from "@mariozechner/pi-agent-core";
2
- import { type Static } from "@sinclair/typebox";
3
- import { type TruncationResult } from "./truncate.js";
4
- declare const astGrepSchema: import("@sinclair/typebox").TObject<{
5
- command: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"run">, import("@sinclair/typebox").TLiteral<"scan">]>;
6
- pattern: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
7
- lang: import("@sinclair/typebox").TString;
8
- rule: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
9
- path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
10
- limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
11
- }>;
12
- export type AstGrepToolInput = Static<typeof astGrepSchema>;
13
- export interface AstGrepToolDetails {
14
- truncation?: TruncationResult;
15
- matchLimitReached?: number;
16
- linesTruncated?: boolean;
17
- }
18
- export declare function createAstGrepTool(cwd: string): AgentTool<typeof astGrepSchema>;
19
- export declare const astGrepTool: AgentTool<import("@sinclair/typebox").TObject<{
20
- command: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"run">, import("@sinclair/typebox").TLiteral<"scan">]>;
21
- pattern: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
22
- lang: import("@sinclair/typebox").TString;
23
- rule: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
24
- path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
25
- limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
26
- }>, any>;
27
- export {};
28
- //# sourceMappingURL=ast-grep.d.ts.map