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,27 +0,0 @@
1
- /**
2
- * MCP Configuration loading utilities
3
- *
4
- * This file handles loading and parsing MCP configuration files from
5
- * both .agents/mcp.json and mcp.json locations.
6
- */
7
- import type { MCPConfig } from "@tarsk/shared";
8
- /**
9
- * Load MCP configuration from a project directory
10
- * @param projectPath - Path to the project directory
11
- * @returns Promise resolving to MCP configuration or null if not found
12
- */
13
- export declare function loadMCPConfig(projectPath: string): Promise<MCPConfig | null>;
14
- /**
15
- * Get the modification time of the MCP configuration file
16
- * @param projectPath - Path to the project directory
17
- * @returns Promise resolving to modification date or null if no config found
18
- */
19
- export declare function getMCPConfigModificationTime(projectPath: string): Promise<Date | null>;
20
- /**
21
- * Check if MCP configuration has changed since last load
22
- * @param projectPath - Path to the project directory
23
- * @param lastModified - Last known modification time
24
- * @returns Promise resolving to true if configuration needs reloading
25
- */
26
- export declare function hasMCPConfigChanged(projectPath: string, lastModified: Date | null): Promise<boolean>;
27
- //# sourceMappingURL=mcp.config.d.ts.map
@@ -1,148 +0,0 @@
1
- /**
2
- * MCP Configuration loading utilities
3
- *
4
- * This file handles loading and parsing MCP configuration files from
5
- * both .agents/mcp.json and mcp.json locations.
6
- */
7
- import { readFile, stat, access } from "fs/promises";
8
- import { join } from "path";
9
- /**
10
- * Possible MCP configuration file locations in order of preference
11
- */
12
- const MCP_CONFIG_PATHS = [".agents/mcp.json", "mcp.json"];
13
- /**
14
- * Load MCP configuration from a project directory
15
- * @param projectPath - Path to the project directory
16
- * @returns Promise resolving to MCP configuration or null if not found
17
- */
18
- export async function loadMCPConfig(projectPath) {
19
- for (const configPath of MCP_CONFIG_PATHS) {
20
- const fullPath = join(projectPath, configPath);
21
- try {
22
- // Check if file exists and is accessible
23
- await access(fullPath);
24
- // Get file stats for modification time
25
- const fileStats = await stat(fullPath);
26
- // Read and parse the configuration file
27
- const fileContent = await readFile(fullPath, "utf-8");
28
- const rawConfig = JSON.parse(fileContent);
29
- // Normalize configuration to use 'servers' key (supports both 'servers' and 'mcpServers')
30
- const serversData = rawConfig.servers ||
31
- rawConfig.mcpServers ||
32
- {};
33
- const config = {
34
- servers: serversData,
35
- };
36
- // Validate configuration structure
37
- if (!isValidMCPConfig(config)) {
38
- console.warn(`[MCP] Invalid configuration structure in ${configPath}`);
39
- continue;
40
- }
41
- console.log(`[MCP] Loaded configuration from ${configPath} (${fileStats.mtime.toISOString()})`);
42
- return config;
43
- }
44
- catch (error) {
45
- if (error instanceof Error && "code" in error && error.code !== "ENOENT") {
46
- console.warn(`[MCP] Error loading configuration from ${configPath}:`, error.message);
47
- }
48
- // File doesn't exist or other error, try next location
49
- continue;
50
- }
51
- }
52
- // No valid configuration found
53
- return null;
54
- }
55
- /**
56
- * Get the modification time of the MCP configuration file
57
- * @param projectPath - Path to the project directory
58
- * @returns Promise resolving to modification date or null if no config found
59
- */
60
- export async function getMCPConfigModificationTime(projectPath) {
61
- for (const configPath of MCP_CONFIG_PATHS) {
62
- const fullPath = join(projectPath, configPath);
63
- try {
64
- await access(fullPath);
65
- const fileStats = await stat(fullPath);
66
- return fileStats.mtime;
67
- }
68
- catch {
69
- // File doesn't exist or not accessible, try next location
70
- continue;
71
- }
72
- }
73
- return null;
74
- }
75
- /**
76
- * Validate MCP configuration structure
77
- * @param config - Configuration to validate
78
- * @returns True if configuration is valid
79
- */
80
- function isValidMCPConfig(config) {
81
- if (!config || typeof config !== "object") {
82
- return false;
83
- }
84
- const cfg = config;
85
- // Must have servers object (supports both 'servers' and 'mcpServers' keys)
86
- const serversKey = cfg.servers ? "servers" : cfg.mcpServers ? "mcpServers" : null;
87
- if (!serversKey || typeof cfg[serversKey] !== "object") {
88
- return false;
89
- }
90
- const servers = cfg[serversKey];
91
- // Each server must have required properties
92
- for (const [serverName, serverConfig] of Object.entries(servers)) {
93
- if (!serverConfig || typeof serverConfig !== "object") {
94
- console.warn(`[MCP] Invalid server configuration for ${serverName}`);
95
- return false;
96
- }
97
- const server = serverConfig;
98
- // Required properties
99
- if (!server.command || typeof server.command !== "string") {
100
- console.warn(`[MCP] Server ${serverName} missing required 'command' property`);
101
- return false;
102
- }
103
- if (!server.args || !Array.isArray(server.args)) {
104
- console.warn(`[MCP] Server ${serverName} missing required 'args' array`);
105
- return false;
106
- }
107
- // Validate args are strings
108
- if (!server.args.every((arg) => typeof arg === "string")) {
109
- console.warn(`[MCP] Server ${serverName} has non-string arguments`);
110
- return false;
111
- }
112
- // Optional env validation
113
- if (server.env && typeof server.env === "object") {
114
- const env = server.env;
115
- for (const [key, value] of Object.entries(env)) {
116
- if (typeof value !== "string") {
117
- console.warn(`[MCP] Server ${serverName} has non-string environment variable ${key}`);
118
- return false;
119
- }
120
- }
121
- }
122
- }
123
- return true;
124
- }
125
- /**
126
- * Check if MCP configuration has changed since last load
127
- * @param projectPath - Path to the project directory
128
- * @param lastModified - Last known modification time
129
- * @returns Promise resolving to true if configuration needs reloading
130
- */
131
- export async function hasMCPConfigChanged(projectPath, lastModified) {
132
- const currentModified = await getMCPConfigModificationTime(projectPath);
133
- if (!currentModified && !lastModified) {
134
- // No config then and no config now
135
- return false;
136
- }
137
- if (!currentModified && lastModified) {
138
- // Config was deleted
139
- return true;
140
- }
141
- if (currentModified && !lastModified) {
142
- // Config was created
143
- return true;
144
- }
145
- // Compare modification times
146
- return currentModified.getTime() !== lastModified.getTime();
147
- }
148
- //# sourceMappingURL=mcp.config.js.map
@@ -1,61 +0,0 @@
1
- /**
2
- * MCP Manager implementation
3
- *
4
- * This file contains the main MCPManager implementation that handles
5
- * MCP server lifecycle, configuration loading, and tool management.
6
- */
7
- import type { MCPConfig, MCPTool } from "@tarsk/shared";
8
- import type { MCPManager, MCPToolWrapper } from "./mcp.types.js";
9
- /**
10
- * MCP Manager implementation
11
- */
12
- export declare class MCPManagerImpl implements MCPManager {
13
- private configCache;
14
- private serverInstances;
15
- private toolWrappers;
16
- /**
17
- * Load MCP configuration from file
18
- */
19
- loadConfig(projectPath: string): Promise<MCPConfig | null>;
20
- /**
21
- * Get all available MCP tools for a project
22
- */
23
- getTools(projectPath: string): Promise<MCPTool[]>;
24
- /**
25
- * Execute an MCP tool
26
- */
27
- executeTool(toolName: string, args: Record<string, unknown>, projectPath: string): Promise<unknown>;
28
- /**
29
- * Check if MCP configuration needs reloading
30
- */
31
- needsReload(projectPath: string): Promise<boolean>;
32
- /**
33
- * Clear cached configuration for a project
34
- */
35
- clearCache(projectPath: string): void;
36
- /**
37
- * Get tools from a specific MCP server
38
- */
39
- private getServerTools;
40
- /**
41
- * Get or create a server instance
42
- */
43
- private getOrCreateServerInstance;
44
- /**
45
- * Create a new server instance and connect to it
46
- */
47
- private createServerInstance;
48
- /**
49
- * Execute a tool on a specific server
50
- */
51
- private executeServerTool;
52
- /**
53
- * Create Pi Agent compatible tool wrappers for MCP tools
54
- */
55
- createToolWrappers(projectPath: string): Promise<MCPToolWrapper[]>;
56
- /**
57
- * Create a single tool wrapper
58
- */
59
- private createToolWrapper;
60
- }
61
- //# sourceMappingURL=mcp.manager.d.ts.map
@@ -1,254 +0,0 @@
1
- /**
2
- * MCP Manager implementation
3
- *
4
- * This file contains the main MCPManager implementation that handles
5
- * MCP server lifecycle, configuration loading, and tool management.
6
- */
7
- import { loadMCPConfig, hasMCPConfigChanged, getMCPConfigModificationTime } from "./mcp.config.js";
8
- import { Client } from "@modelcontextprotocol/sdk/client/index.js";
9
- import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
10
- /**
11
- * MCP Manager implementation
12
- */
13
- export class MCPManagerImpl {
14
- configCache = new Map();
15
- serverInstances = new Map();
16
- toolWrappers = new Map();
17
- /**
18
- * Load MCP configuration from file
19
- */
20
- async loadConfig(projectPath) {
21
- const cached = this.configCache.get(projectPath);
22
- const currentModified = await getMCPConfigModificationTime(projectPath);
23
- // Return cached config if it hasn't changed
24
- if (cached && cached.lastModified.getTime() === currentModified?.getTime()) {
25
- return cached.config;
26
- }
27
- // Load fresh configuration
28
- const config = await loadMCPConfig(projectPath);
29
- if (config && currentModified) {
30
- this.configCache.set(projectPath, { config, lastModified: currentModified });
31
- }
32
- return config;
33
- }
34
- /**
35
- * Get all available MCP tools for a project
36
- */
37
- async getTools(projectPath) {
38
- const config = await this.loadConfig(projectPath);
39
- if (!config) {
40
- return [];
41
- }
42
- const allTools = [];
43
- for (const [serverName, serverConfig] of Object.entries(config.servers)) {
44
- const serverTools = await this.getServerTools(serverName, serverConfig, projectPath);
45
- allTools.push(...serverTools);
46
- }
47
- return allTools;
48
- }
49
- /**
50
- * Execute an MCP tool
51
- */
52
- async executeTool(toolName, args, projectPath) {
53
- // Find the server that provides this tool
54
- const config = await this.loadConfig(projectPath);
55
- if (!config) {
56
- throw new Error(`No MCP configuration found for project: ${projectPath}`);
57
- }
58
- for (const [serverName, serverConfig] of Object.entries(config.servers)) {
59
- const tools = await this.getServerTools(serverName, serverConfig, projectPath);
60
- const tool = tools.find((t) => t.name === toolName);
61
- if (tool) {
62
- return this.executeServerTool(serverName, serverConfig, toolName, args, projectPath);
63
- }
64
- }
65
- throw new Error(`MCP tool not found: ${toolName}`);
66
- }
67
- /**
68
- * Check if MCP configuration needs reloading
69
- */
70
- async needsReload(projectPath) {
71
- const cached = this.configCache.get(projectPath);
72
- return hasMCPConfigChanged(projectPath, cached?.lastModified ?? null);
73
- }
74
- /**
75
- * Clear cached configuration for a project
76
- */
77
- clearCache(projectPath) {
78
- this.configCache.delete(projectPath);
79
- // Clean up server instances for this project
80
- const instancesToCleanup = [];
81
- for (const [key, instance] of this.serverInstances.entries()) {
82
- if (key.startsWith(`${projectPath}:`)) {
83
- instancesToCleanup.push(key);
84
- // Close MCP client connection if it exists
85
- if (instance.client) {
86
- try {
87
- void instance.client.close();
88
- console.log(`[MCP] Closed connection for server: ${key}`);
89
- }
90
- catch (error) {
91
- console.warn(`[MCP] Failed to close connection for server ${key}:`, error);
92
- }
93
- }
94
- }
95
- }
96
- instancesToCleanup.forEach((key) => this.serverInstances.delete(key));
97
- this.toolWrappers.delete(projectPath);
98
- }
99
- /**
100
- * Get tools from a specific MCP server
101
- */
102
- async getServerTools(serverName, serverConfig, projectPath) {
103
- const instance = await this.getOrCreateServerInstance(serverName, serverConfig, projectPath);
104
- if (instance.state !== "connected") {
105
- console.warn(`[MCP] Server ${serverName} not connected (state: ${instance.state})`);
106
- return [];
107
- }
108
- return instance.tools;
109
- }
110
- /**
111
- * Get or create a server instance
112
- */
113
- async getOrCreateServerInstance(serverName, serverConfig, projectPath) {
114
- const instanceKey = `${projectPath}:${serverName}`;
115
- let instance = this.serverInstances.get(instanceKey);
116
- if (!instance || instance.state === "error") {
117
- instance = await this.createServerInstance(serverName, serverConfig);
118
- this.serverInstances.set(instanceKey, instance);
119
- }
120
- return instance;
121
- }
122
- /**
123
- * Create a new server instance and connect to it
124
- */
125
- async createServerInstance(serverName, serverConfig) {
126
- const instance = {
127
- config: serverConfig,
128
- state: "connecting",
129
- tools: [],
130
- };
131
- try {
132
- console.log(`[MCP] Connecting to server ${serverName} with command: ${serverConfig.command} ${serverConfig.args.join(" ")}`);
133
- // Create stdio transport for the MCP server
134
- const transport = new StdioClientTransport({
135
- command: serverConfig.command,
136
- args: serverConfig.args,
137
- env: serverConfig.env,
138
- });
139
- // Create MCP client
140
- const client = new Client({
141
- name: "tarsk-cli",
142
- version: "0.4.0",
143
- }, {
144
- capabilities: {},
145
- });
146
- // Connect to the server
147
- await client.connect(transport);
148
- console.log(`[MCP] Connected to server ${serverName}`);
149
- // List available tools
150
- const toolsResponse = await client.listTools();
151
- // Convert MCP tools to our internal format
152
- instance.tools = toolsResponse.tools.map((tool) => ({
153
- name: tool.name,
154
- description: tool.description ?? "",
155
- inputSchema: tool.inputSchema,
156
- serverName,
157
- }));
158
- instance.client = client;
159
- instance.state = "connected";
160
- console.log(`[MCP] Connected to server ${serverName}, found ${instance.tools.length} tools`);
161
- }
162
- catch (error) {
163
- instance.state = "error";
164
- instance.error = error instanceof Error ? error.message : String(error);
165
- // Gracefully handle connection failures without alarming error logs
166
- console.log(`[MCP] Unable to connect to server ${serverName}: ${instance.error}`);
167
- }
168
- return instance;
169
- }
170
- /**
171
- * Execute a tool on a specific server
172
- */
173
- async executeServerTool(serverName, _serverConfig, toolName, args, _projectPath) {
174
- console.log(`[MCP] Executing tool ${toolName} on server ${serverName} with args:`, args);
175
- const instanceKey = `${_projectPath}:${serverName}`;
176
- const instance = this.serverInstances.get(instanceKey);
177
- if (!instance?.client || instance.state !== "connected") {
178
- throw new Error(`MCP server ${serverName} is not connected`);
179
- }
180
- try {
181
- // Execute the tool using the MCP client
182
- const result = await instance.client.callTool({
183
- name: toolName,
184
- arguments: args,
185
- });
186
- console.log(`[MCP] Tool ${toolName} executed successfully on server ${serverName}`);
187
- return result;
188
- }
189
- catch (error) {
190
- const errorMessage = error instanceof Error ? error.message : String(error);
191
- console.error(`[MCP] Failed to execute tool ${toolName} on server ${serverName}:`, errorMessage);
192
- throw new Error(`MCP tool execution failed: ${errorMessage}`);
193
- }
194
- }
195
- /**
196
- * Create Pi Agent compatible tool wrappers for MCP tools
197
- */
198
- async createToolWrappers(projectPath) {
199
- const cacheKey = projectPath;
200
- const cached = this.toolWrappers.get(cacheKey);
201
- // Return cached wrappers if config hasn't changed
202
- if (cached && !(await this.needsReload(projectPath))) {
203
- return cached;
204
- }
205
- const mcpTools = await this.getTools(projectPath);
206
- const wrappers = [];
207
- for (const mcpTool of mcpTools) {
208
- const wrapper = this.createToolWrapper(mcpTool, projectPath);
209
- wrappers.push(wrapper);
210
- }
211
- this.toolWrappers.set(cacheKey, wrappers);
212
- return wrappers;
213
- }
214
- /**
215
- * Create a single tool wrapper
216
- */
217
- createToolWrapper(mcpTool, projectPath) {
218
- return {
219
- name: mcpTool.name,
220
- description: mcpTool.description,
221
- parameters: mcpTool.inputSchema,
222
- label: `${mcpTool.serverName}: ${mcpTool.name}`,
223
- execute: async (_toolCallId, params) => {
224
- try {
225
- const result = await this.executeTool(mcpTool.name, params, projectPath);
226
- return {
227
- content: [
228
- {
229
- type: "text",
230
- text: typeof result === "string" ? result : JSON.stringify(result, null, 2),
231
- },
232
- ],
233
- details: result,
234
- };
235
- }
236
- catch (error) {
237
- const errorMessage = error instanceof Error ? error.message : String(error);
238
- return {
239
- content: [
240
- {
241
- type: "text",
242
- text: `Error executing MCP tool ${mcpTool.name}: ${errorMessage}`,
243
- },
244
- ],
245
- details: { error: errorMessage },
246
- };
247
- }
248
- },
249
- serverName: mcpTool.serverName,
250
- mcpTool,
251
- };
252
- }
253
- }
254
- //# sourceMappingURL=mcp.manager.js.map
@@ -1,103 +0,0 @@
1
- [
2
- {
3
- "id": "context7",
4
- "name": "Context7",
5
- "description": "Fetches up-to-date, version-specific library documentation and code examples directly into your prompt",
6
- "command": "npx",
7
- "args": ["-y", "@upstash/context7-mcp@latest"],
8
- "env": {},
9
- "category": "Documentation"
10
- },
11
- {
12
- "id": "playwright",
13
- "name": "Playwright",
14
- "description": "Browser automation via Microsoft Playwright — interact with web pages using accessibility snapshots without screenshots",
15
- "command": "npx",
16
- "args": ["-y", "@playwright/mcp@latest"],
17
- "env": {},
18
- "category": "Browser"
19
- },
20
- {
21
- "id": "github",
22
- "name": "GitHub",
23
- "description": "Search repositories, manage issues, create pull requests, and interact with GitHub APIs",
24
- "command": "npx",
25
- "args": ["-y", "@modelcontextprotocol/server-github"],
26
- "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "" },
27
- "category": "Development"
28
- },
29
- {
30
- "id": "sequential-thinking",
31
- "name": "Sequential Thinking",
32
- "description": "Enhanced reasoning through structured sequential thought processes",
33
- "command": "npx",
34
- "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"],
35
- "env": {},
36
- "category": "Utilities"
37
- },
38
- {
39
- "id": "mongodb",
40
- "name": "MongoDB",
41
- "description": "Query MongoDB databases and Atlas clusters with natural language, schema inspection, and Atlas management",
42
- "command": "npx",
43
- "args": ["-y", "@mongodb-js/mongodb-mcp-server@latest"],
44
- "env": { "MDB_MCP_CONNECTION_STRING": "" },
45
- "category": "Database"
46
- },
47
- {
48
- "id": "azure",
49
- "name": "Azure",
50
- "description": "Access Azure resources including storage, databases, and services via your Azure account",
51
- "command": "npx",
52
- "args": ["-y", "@azure/mcp@latest", "server", "start"],
53
- "env": { "AZURE_TENANT_ID": "", "AZURE_CLIENT_ID": "", "AZURE_CLIENT_SECRET": "" },
54
- "category": "Cloud"
55
- },
56
- {
57
- "id": "cloudflare",
58
- "name": "Cloudflare",
59
- "description": "Deploy Workers, query D1 databases, manage KV, and interact with your Cloudflare account",
60
- "command": "npx",
61
- "args": ["-y", "@cloudflare/mcp-server-cloudflare@latest"],
62
- "env": { "CLOUDFLARE_API_TOKEN": "", "CLOUDFLARE_ACCOUNT_ID": "" },
63
- "category": "Cloud"
64
- },
65
- {
66
- "id": "supabase",
67
- "name": "Supabase",
68
- "description": "Manage Supabase projects, run queries, handle migrations, and interact with your database",
69
- "command": "npx",
70
- "args": ["-y", "@supabase/mcp-server-supabase@latest"],
71
- "env": { "SUPABASE_ACCESS_TOKEN": "" },
72
- "category": "Database"
73
- },
74
- {
75
- "id": "notion",
76
- "name": "Notion",
77
- "description": "Read and write Notion pages, databases, and blocks using your integration token",
78
- "command": "npx",
79
- "args": ["-y", "@notionhq/notion-mcp-server@latest"],
80
- "env": {
81
- "OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer ntn_YOUR_TOKEN\", \"Notion-Version\": \"2022-06-28\"}"
82
- },
83
- "category": "Productivity"
84
- },
85
- {
86
- "id": "postgres",
87
- "name": "PostgreSQL",
88
- "description": "Connect to and query PostgreSQL databases with full SQL support",
89
- "command": "npx",
90
- "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"],
91
- "env": {},
92
- "category": "Database"
93
- },
94
- {
95
- "id": "chrome-devtools",
96
- "name": "Chrome DevTools",
97
- "description": "Control and inspect a live Chrome browser via the Chrome DevTools Protocol — requires Chrome launched with --remote-debugging-port=9222",
98
- "command": "npx",
99
- "args": ["-y", "chrome-devtools-mcp@latest", "--browser-url=http://127.0.0.1:9222"],
100
- "env": {},
101
- "category": "Browser"
102
- }
103
- ]
@@ -1,13 +0,0 @@
1
- /**
2
- * MCP routes for the REST API
3
- *
4
- * Handles all MCP-related operations:
5
- * - GET /api/mcp/config?projectPath=... - Get current MCP config for a project
6
- * - PUT /api/mcp/config - Save or update a server in the MCP config
7
- * - DELETE /api/mcp/config/:serverName?projectPath=... - Remove a server from MCP config
8
- * - GET /api/mcp/popular - List popular MCP servers
9
- * - GET /api/mcp/search?q=...&limit=... - Search MCP registry
10
- */
11
- import { Hono } from "hono";
12
- export declare function createMCPRoutes(): Hono;
13
- //# sourceMappingURL=mcp.routes.d.ts.map