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,265 +0,0 @@
1
- /**
2
- * Slash Command Manager
3
- *
4
- * Loads and manages slash commands from markdown files with frontmatter.
5
- * Commands can be stored in:
6
- * - Project-specific: ./.agents/commands/ (relative to thread path)
7
- * - Global: ~/.agents/commands/
8
- */
9
- import { readdir, readFile, mkdir, writeFile, unlink } from "fs/promises";
10
- import { join, basename, extname } from "path";
11
- import { existsSync } from "fs";
12
- import { homedir } from "os";
13
- /**
14
- * Slugify a filename to a command name
15
- * - Convert to lowercase
16
- * - Replace spaces with dashes
17
- * - Remove special characters (except dashes)
18
- * - Collapse multiple dashes
19
- * - Trim leading/trailing dashes
20
- */
21
- function slugify(filename) {
22
- return filename
23
- .toLowerCase()
24
- .replace(/\s+/g, "-")
25
- .replace(/[^a-z0-9-]/g, "")
26
- .replace(/-+/g, "-")
27
- .replace(/^-+|-+$/g, "");
28
- }
29
- /**
30
- * Parse frontmatter from markdown content
31
- * Returns { metadata, content } where content is the body after frontmatter
32
- */
33
- function parseFrontmatter(markdown) {
34
- const lines = markdown.split("\n");
35
- // Check if file starts with ---
36
- if (lines[0]?.trim() !== "---") {
37
- return {
38
- metadata: {},
39
- content: markdown.trim(),
40
- };
41
- }
42
- // Find the closing ---
43
- let endIndex = -1;
44
- for (let i = 1; i < lines.length; i++) {
45
- if (lines[i]?.trim() === "---") {
46
- endIndex = i;
47
- break;
48
- }
49
- }
50
- // No closing --- found
51
- if (endIndex === -1) {
52
- return {
53
- metadata: {},
54
- content: markdown.trim(),
55
- };
56
- }
57
- // Parse frontmatter
58
- const frontmatterLines = lines.slice(1, endIndex);
59
- const metadata = {};
60
- for (const line of frontmatterLines) {
61
- const colonIndex = line.indexOf(":");
62
- if (colonIndex === -1)
63
- continue;
64
- const key = line.slice(0, colonIndex).trim();
65
- const value = line.slice(colonIndex + 1).trim();
66
- // Map YAML keys to TypeScript property names
67
- if (key === "description") {
68
- metadata.description = value;
69
- }
70
- else if (key === "argument-hint") {
71
- metadata.argumentHint = value;
72
- }
73
- else if (key === "mode") {
74
- metadata.mode = value;
75
- }
76
- }
77
- // Content is everything after the closing ---
78
- const content = lines
79
- .slice(endIndex + 1)
80
- .join("\n")
81
- .trim();
82
- return { metadata, content };
83
- }
84
- /**
85
- * Get the global commands directory path
86
- */
87
- function getGlobalCommandsDir() {
88
- return join(homedir(), ".agents", "commands");
89
- }
90
- /**
91
- * Get the project-specific commands directory path
92
- */
93
- function getProjectCommandsDir(threadPath) {
94
- return join(threadPath, ".agents", "commands");
95
- }
96
- /**
97
- * SlashCommandManager handles loading, creating, and managing slash commands
98
- */
99
- export class SlashCommandManager {
100
- /**
101
- * Built-in commands that cannot be overridden
102
- */
103
- static BUILT_IN_COMMANDS = new Set(["init"]);
104
- /**
105
- * Load all available commands for a given thread
106
- * Project commands override global ones with the same name
107
- * Built-in commands cannot be overridden
108
- */
109
- async loadCommands(threadPath) {
110
- const commands = new Map();
111
- // Load global commands first
112
- const globalDir = getGlobalCommandsDir();
113
- if (existsSync(globalDir)) {
114
- const globalCommands = await this.loadCommandsFromDir(globalDir, "global");
115
- for (const cmd of globalCommands) {
116
- commands.set(cmd.name, cmd);
117
- }
118
- }
119
- // Load project commands (override global)
120
- const projectDir = getProjectCommandsDir(threadPath);
121
- if (existsSync(projectDir)) {
122
- const projectCommands = await this.loadCommandsFromDir(projectDir, "project");
123
- for (const cmd of projectCommands) {
124
- // Don't allow overriding built-in commands
125
- if (!SlashCommandManager.BUILT_IN_COMMANDS.has(cmd.name)) {
126
- commands.set(cmd.name, cmd);
127
- }
128
- }
129
- }
130
- return Array.from(commands.values());
131
- }
132
- /**
133
- * Load commands from a specific directory
134
- */
135
- async loadCommandsFromDir(dir, scope) {
136
- const commands = [];
137
- try {
138
- const files = await readdir(dir);
139
- for (const file of files) {
140
- if (!file.endsWith(".md"))
141
- continue;
142
- const filePath = join(dir, file);
143
- const fileContent = await readFile(filePath, "utf-8");
144
- // Parse frontmatter and content
145
- const { metadata, content } = parseFrontmatter(fileContent);
146
- // Generate command name from filename
147
- const nameWithoutExt = basename(file, extname(file));
148
- const commandName = slugify(nameWithoutExt);
149
- // Skip if name becomes empty after slugification
150
- if (!commandName)
151
- continue;
152
- commands.push({
153
- name: commandName,
154
- content,
155
- metadata,
156
- scope,
157
- filePath,
158
- });
159
- }
160
- }
161
- catch (error) {
162
- // Directory doesn't exist or can't be read - that's okay
163
- console.error(`Failed to load commands from ${dir}:`, error);
164
- }
165
- return commands;
166
- }
167
- /**
168
- * Create a new command
169
- * Creates the directory if it doesn't exist
170
- */
171
- async createCommand(name, content, metadata, scope, threadPath) {
172
- // Validate name
173
- if (SlashCommandManager.BUILT_IN_COMMANDS.has(name)) {
174
- throw new Error(`Cannot create built-in command: ${name}`);
175
- }
176
- // Determine directory
177
- const dir = scope === "global"
178
- ? getGlobalCommandsDir()
179
- : threadPath
180
- ? getProjectCommandsDir(threadPath)
181
- : null;
182
- if (!dir) {
183
- throw new Error("threadPath required for project-scoped commands");
184
- }
185
- // Ensure directory exists
186
- if (!existsSync(dir)) {
187
- await mkdir(dir, { recursive: true });
188
- }
189
- // Generate filename from name (reverse slugify)
190
- const filename = `${name}.md`;
191
- const filePath = join(dir, filename);
192
- // Check if file already exists
193
- if (existsSync(filePath)) {
194
- throw new Error(`Command already exists: ${name}`);
195
- }
196
- // Build markdown with frontmatter
197
- let markdown = "";
198
- // Add frontmatter if metadata exists
199
- if (metadata.description || metadata.argumentHint || metadata.mode) {
200
- markdown += "---\n";
201
- if (metadata.description) {
202
- markdown += `description: ${metadata.description}\n`;
203
- }
204
- if (metadata.argumentHint) {
205
- markdown += `argument-hint: ${metadata.argumentHint}\n`;
206
- }
207
- if (metadata.mode) {
208
- markdown += `mode: ${metadata.mode}\n`;
209
- }
210
- markdown += "---\n\n";
211
- }
212
- markdown += content;
213
- // Write file
214
- await writeFile(filePath, markdown, "utf-8");
215
- return {
216
- name,
217
- content,
218
- metadata,
219
- scope,
220
- filePath,
221
- };
222
- }
223
- /**
224
- * Update an existing command
225
- */
226
- async updateCommand(filePath, content, metadata) {
227
- if (!existsSync(filePath)) {
228
- throw new Error(`Command file not found: ${filePath}`);
229
- }
230
- // Build markdown with frontmatter
231
- let markdown = "";
232
- if (metadata.description || metadata.argumentHint || metadata.mode) {
233
- markdown += "---\n";
234
- if (metadata.description) {
235
- markdown += `description: ${metadata.description}\n`;
236
- }
237
- if (metadata.argumentHint) {
238
- markdown += `argument-hint: ${metadata.argumentHint}\n`;
239
- }
240
- if (metadata.mode) {
241
- markdown += `mode: ${metadata.mode}\n`;
242
- }
243
- markdown += "---\n\n";
244
- }
245
- markdown += content;
246
- await writeFile(filePath, markdown, "utf-8");
247
- }
248
- /**
249
- * Delete a command
250
- */
251
- async deleteCommand(filePath) {
252
- if (!existsSync(filePath)) {
253
- throw new Error(`Command file not found: ${filePath}`);
254
- }
255
- await unlink(filePath);
256
- }
257
- /**
258
- * Get a specific command by name
259
- */
260
- async getCommand(name, threadPath) {
261
- const commands = await this.loadCommands(threadPath);
262
- return commands.find((cmd) => cmd.name === name) ?? null;
263
- }
264
- }
265
- //# sourceMappingURL=slash-commands.manager.js.map
@@ -1,13 +0,0 @@
1
- /**
2
- * Slash Commands API Routes
3
- *
4
- * Endpoints for managing and querying slash commands
5
- */
6
- import { Hono } from "hono";
7
- import type { ThreadManager } from "../threads/threads.manager.js";
8
- /**
9
- * Create slash command routes
10
- * @param threadManager - The ThreadManager instance
11
- */
12
- export declare function createSlashCommandRoutes(router: Hono, threadManager: ThreadManager): void;
13
- //# sourceMappingURL=slash-commands.routes.d.ts.map
@@ -1,20 +0,0 @@
1
- /**
2
- * Slash Commands API Routes
3
- *
4
- * Endpoints for managing and querying slash commands
5
- */
6
- import { getSlashCommands } from "./slash-commands-get.route.js";
7
- import { createSlashCommand } from "./slash-commands-post.route.js";
8
- import { updateSlashCommand } from "./slash-commands-put.route.js";
9
- import { deleteSlashCommand } from "./slash-commands-delete.route.js";
10
- /**
11
- * Create slash command routes
12
- * @param threadManager - The ThreadManager instance
13
- */
14
- export function createSlashCommandRoutes(router, threadManager) {
15
- router.get("/api/slash-commands", (c) => getSlashCommands(c, threadManager));
16
- router.post("/api/slash-commands", (c) => createSlashCommand(c, threadManager));
17
- router.put("/api/slash-commands", (c) => updateSlashCommand(c));
18
- router.delete("/api/slash-commands", (c) => deleteSlashCommand(c));
19
- }
20
- //# sourceMappingURL=slash-commands.routes.js.map
@@ -1,153 +0,0 @@
1
- /**
2
- * AI Files routes for threads REST API
3
- *
4
- * Handles listing and editing AI-related files in a thread's path:
5
- * - GET /api/threads/:id/ai-files - List AI file tree (skills, rules, commands, markdown files)
6
- * - GET /api/threads/:id/ai-file?path=... - Read file content
7
- * - PUT /api/threads/:id/ai-file - Write file content
8
- * - DELETE /api/threads/:id/ai-file?path=... - Delete file or folder
9
- * - POST /api/threads/:id/ai-files/skill - Create a new skill
10
- */
11
- import { type Context } from "hono";
12
- import type { ThreadManager } from "./threads.manager.js";
13
- /**
14
- * GET /api/threads/:id/ai-files
15
- */
16
- export declare function handleGetThreadAIFiles(c: Context, threadManager: ThreadManager): Promise<(Response & import("hono").TypedResponse<{
17
- error: {
18
- code: string;
19
- message: string;
20
- details?: import("hono/utils/types").JSONValue | undefined;
21
- timestamp: string;
22
- };
23
- }, any, "json">) | (Response & import("hono").TypedResponse<{
24
- nodes: {
25
- id: string;
26
- name: string;
27
- type: "file" | "folder";
28
- path: string;
29
- children?: /*elided*/ any[] | undefined;
30
- virtual?: boolean | undefined;
31
- }[];
32
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
33
- /**
34
- * GET /api/threads/:id/ai-file?path=...
35
- */
36
- export declare function handleGetThreadAIFile(c: Context, threadManager: ThreadManager): Promise<(Response & import("hono").TypedResponse<{
37
- error: {
38
- code: string;
39
- message: string;
40
- details?: import("hono/utils/types").JSONValue | undefined;
41
- timestamp: string;
42
- };
43
- }, any, "json">) | (Response & import("hono").TypedResponse<{
44
- error: {
45
- code: string;
46
- message: string;
47
- };
48
- }, 400, "json">) | (Response & import("hono").TypedResponse<{
49
- content: string;
50
- path: string;
51
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
52
- error: {
53
- code: string;
54
- message: string;
55
- };
56
- }, 404, "json">)>;
57
- /**
58
- * PUT /api/threads/:id/ai-file
59
- * Body: { path: string, content: string }
60
- */
61
- export declare function handleSaveThreadAIFile(c: Context, threadManager: ThreadManager): Promise<(Response & import("hono").TypedResponse<{
62
- error: {
63
- code: string;
64
- message: string;
65
- details?: import("hono/utils/types").JSONValue | undefined;
66
- timestamp: string;
67
- };
68
- }, any, "json">) | (Response & import("hono").TypedResponse<{
69
- error: {
70
- code: string;
71
- message: string;
72
- };
73
- }, 400, "json">) | (Response & import("hono").TypedResponse<{
74
- success: true;
75
- path: string;
76
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
77
- /**
78
- * DELETE /api/threads/:id/ai-file?path=...
79
- */
80
- export declare function handleDeleteThreadAIFile(c: Context, threadManager: ThreadManager): Promise<(Response & import("hono").TypedResponse<{
81
- error: {
82
- code: string;
83
- message: string;
84
- details?: import("hono/utils/types").JSONValue | undefined;
85
- timestamp: string;
86
- };
87
- }, any, "json">) | (Response & import("hono").TypedResponse<{
88
- error: {
89
- code: string;
90
- message: string;
91
- };
92
- }, 400, "json">) | (Response & import("hono").TypedResponse<{
93
- error: {
94
- code: string;
95
- message: string;
96
- };
97
- }, 404, "json">) | (Response & import("hono").TypedResponse<{
98
- success: true;
99
- path: string;
100
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
101
- /**
102
- * POST /api/threads/:id/ai-files/agent
103
- * Body: { name: string, description: string, tools?: string }
104
- */
105
- export declare function handleCreateThreadAgent(c: Context, threadManager: ThreadManager): Promise<(Response & import("hono").TypedResponse<{
106
- error: {
107
- code: string;
108
- message: string;
109
- details?: import("hono/utils/types").JSONValue | undefined;
110
- timestamp: string;
111
- };
112
- }, any, "json">) | (Response & import("hono").TypedResponse<{
113
- error: {
114
- code: string;
115
- message: string;
116
- };
117
- }, 400, "json">) | (Response & import("hono").TypedResponse<{
118
- error: {
119
- code: string;
120
- message: string;
121
- };
122
- }, 409, "json">) | (Response & import("hono").TypedResponse<{
123
- success: true;
124
- path: string;
125
- content: string;
126
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
127
- /**
128
- * POST /api/threads/:id/ai-files/skill
129
- * Body: { name: string, description: string }
130
- */
131
- export declare function handleCreateThreadSkill(c: Context, threadManager: ThreadManager): Promise<(Response & import("hono").TypedResponse<{
132
- error: {
133
- code: string;
134
- message: string;
135
- details?: import("hono/utils/types").JSONValue | undefined;
136
- timestamp: string;
137
- };
138
- }, any, "json">) | (Response & import("hono").TypedResponse<{
139
- error: {
140
- code: string;
141
- message: string;
142
- };
143
- }, 400, "json">) | (Response & import("hono").TypedResponse<{
144
- error: {
145
- code: string;
146
- message: string;
147
- };
148
- }, 409, "json">) | (Response & import("hono").TypedResponse<{
149
- success: true;
150
- path: string;
151
- content: string;
152
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
153
- //# sourceMappingURL=threads-ai-files.route.d.ts.map