tarsk 0.3.43 → 0.4.4

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 (414) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/agent.error-utils.d.ts +14 -0
  3. package/dist/agent/agent.error-utils.js +52 -0
  4. package/dist/agent/agent.event-transformer.d.ts +55 -0
  5. package/dist/agent/agent.event-transformer.js +175 -0
  6. package/dist/agent/agent.executor.d.ts +26 -0
  7. package/dist/agent/agent.executor.js +286 -0
  8. package/dist/agent/agent.model-resolver.d.ts +22 -0
  9. package/dist/agent/agent.model-resolver.js +67 -0
  10. package/dist/agent/agent.process-manager.d.ts +57 -0
  11. package/dist/agent/agent.process-manager.js +262 -0
  12. package/dist/agent/agent.processing-state-manager.d.ts +74 -0
  13. package/dist/agent/agent.processing-state-manager.js +87 -0
  14. package/dist/agent/agent.prompt-loader.d.ts +16 -0
  15. package/dist/agent/agent.prompt-loader.js +227 -0
  16. package/dist/agent/agent.subagent-executor.d.ts +35 -0
  17. package/dist/agent/agent.subagent-executor.js +135 -0
  18. package/dist/bun/index.d.ts +2 -0
  19. package/dist/bun/index.js +165 -0
  20. package/dist/cli.d.ts +3 -0
  21. package/dist/cli.js +22 -0
  22. package/dist/core/crypto.d.ts +29 -0
  23. package/dist/core/crypto.js +166 -0
  24. package/dist/core/dev-server-cache.d.ts +46 -0
  25. package/dist/core/dev-server-cache.js +59 -0
  26. package/dist/core/env-manager.d.ts +3 -0
  27. package/dist/core/env-manager.js +60 -0
  28. package/dist/core/error-responses.d.ts +61 -0
  29. package/dist/core/error-responses.js +64 -0
  30. package/dist/core/logger.d.ts +10 -0
  31. package/dist/core/logger.js +47 -0
  32. package/dist/core/paths.d.ts +22 -0
  33. package/dist/core/paths.js +26 -0
  34. package/dist/core/random-words.d.ts +18 -0
  35. package/dist/core/random-words.js +135 -0
  36. package/dist/core/response-builder.d.ts +50 -0
  37. package/dist/core/response-builder.js +56 -0
  38. package/dist/core/route-helpers.d.ts +47 -0
  39. package/dist/core/route-helpers.js +54 -0
  40. package/dist/core/run-command-detector.d.ts +26 -0
  41. package/dist/core/run-command-detector.js +98 -0
  42. package/dist/core/stream-helper.d.ts +44 -0
  43. package/dist/core/stream-helper.js +50 -0
  44. package/dist/core/utils.d.ts +43 -0
  45. package/dist/core/utils.js +113 -0
  46. package/dist/core/validation.d.ts +10 -0
  47. package/dist/core/validation.js +20 -0
  48. package/dist/database/database.d.ts +40 -0
  49. package/dist/database/database.encryption.d.ts +33 -0
  50. package/dist/database/database.encryption.js +62 -0
  51. package/dist/database/database.js +480 -0
  52. package/dist/database/database.state.d.ts +52 -0
  53. package/dist/database/database.state.js +119 -0
  54. package/dist/database/database.test-utils.d.ts +22 -0
  55. package/dist/database/database.test-utils.js +39 -0
  56. package/dist/database/database.types.d.ts +3 -0
  57. package/dist/database/database.types.js +2 -0
  58. package/dist/features/agents/agents.manager.d.ts +24 -0
  59. package/dist/features/agents/agents.manager.js +200 -0
  60. package/dist/features/ask-user/ask-user.routes.d.ts +9 -0
  61. package/dist/features/ask-user/ask-user.routes.js +35 -0
  62. package/dist/features/chat/chat-delete.route.d.ts +15 -0
  63. package/dist/features/chat/chat-delete.route.js +36 -0
  64. package/dist/features/chat/chat-post.route.d.ts +11 -0
  65. package/dist/features/chat/chat-post.route.js +270 -0
  66. package/dist/features/chat/chat-stop.route.d.ts +21 -0
  67. package/dist/features/chat/chat-stop.route.js +22 -0
  68. package/dist/features/chat/chat-subscribe.route.d.ts +9 -0
  69. package/dist/features/chat/chat-subscribe.route.js +71 -0
  70. package/dist/features/chat/chat.routes.d.ts +22 -0
  71. package/dist/features/chat/chat.routes.js +29 -0
  72. package/dist/features/conversations/conversations-delete.route.d.ts +16 -0
  73. package/dist/features/conversations/conversations-delete.route.js +34 -0
  74. package/dist/features/conversations/conversations-get-all.route.d.ts +16 -0
  75. package/dist/features/conversations/conversations-get-all.route.js +39 -0
  76. package/dist/features/conversations/conversations-get-by-id.route.d.ts +16 -0
  77. package/dist/features/conversations/conversations-get-by-id.route.js +38 -0
  78. package/dist/features/conversations/conversations-get-deleted.route.d.ts +15 -0
  79. package/dist/features/conversations/conversations-get-deleted.route.js +34 -0
  80. package/dist/features/conversations/conversations-get-messages.route.d.ts +16 -0
  81. package/dist/features/conversations/conversations-get-messages.route.js +49 -0
  82. package/dist/features/conversations/conversations.content.d.ts +28 -0
  83. package/dist/features/conversations/conversations.content.js +142 -0
  84. package/dist/features/conversations/conversations.database.d.ts +108 -0
  85. package/dist/features/conversations/conversations.database.js +373 -0
  86. package/dist/features/conversations/conversations.manager.d.ts +130 -0
  87. package/dist/features/conversations/conversations.manager.js +162 -0
  88. package/dist/features/conversations/conversations.routes.d.ts +21 -0
  89. package/dist/features/conversations/conversations.routes.js +38 -0
  90. package/dist/features/conversations/token-usage.route.d.ts +41 -0
  91. package/dist/features/conversations/token-usage.route.js +419 -0
  92. package/dist/features/git/git-commit.route.d.ts +12 -0
  93. package/dist/features/git/git-commit.route.js +39 -0
  94. package/dist/features/git/git-create-branch.route.d.ts +28 -0
  95. package/dist/features/git/git-create-branch.route.js +119 -0
  96. package/dist/features/git/git-create-pr.route.d.ts +13 -0
  97. package/dist/features/git/git-create-pr.route.js +50 -0
  98. package/dist/features/git/git-create-repo.route.d.ts +14 -0
  99. package/dist/features/git/git-create-repo.route.js +108 -0
  100. package/dist/features/git/git-diff.route.d.ts +30 -0
  101. package/dist/features/git/git-diff.route.js +189 -0
  102. package/dist/features/git/git-fetch.route.d.ts +12 -0
  103. package/dist/features/git/git-fetch.route.js +31 -0
  104. package/dist/features/git/git-generate-commit-message.route.d.ts +12 -0
  105. package/dist/features/git/git-generate-commit-message.route.js +76 -0
  106. package/dist/features/git/git-generate-pr-info.route.d.ts +13 -0
  107. package/dist/features/git/git-generate-pr-info.route.js +147 -0
  108. package/dist/features/git/git-github-status.route.d.ts +16 -0
  109. package/dist/features/git/git-github-status.route.js +68 -0
  110. package/dist/features/git/git-log.route.d.ts +17 -0
  111. package/dist/features/git/git-log.route.js +33 -0
  112. package/dist/features/git/git-pr-status.route.d.ts +15 -0
  113. package/dist/features/git/git-pr-status.route.js +33 -0
  114. package/dist/features/git/git-pull.route.d.ts +12 -0
  115. package/dist/features/git/git-pull.route.js +35 -0
  116. package/dist/features/git/git-push.route.d.ts +12 -0
  117. package/dist/features/git/git-push.route.js +46 -0
  118. package/dist/features/git/git-status-cache.database.d.ts +7 -0
  119. package/dist/features/git/git-status-cache.database.js +53 -0
  120. package/dist/features/git/git-status.route.d.ts +15 -0
  121. package/dist/features/git/git-status.route.js +62 -0
  122. package/dist/features/git/git-sync-branch.route.d.ts +4 -0
  123. package/dist/features/git/git-sync-branch.route.js +208 -0
  124. package/dist/features/git/git-unified-status.route.d.ts +30 -0
  125. package/dist/features/git/git-unified-status.route.js +165 -0
  126. package/dist/features/git/git-username.route.d.ts +3 -0
  127. package/dist/features/git/git-username.route.js +24 -0
  128. package/dist/features/git/git.manager.d.ts +139 -0
  129. package/dist/features/git/git.manager.js +352 -0
  130. package/dist/features/git/git.routes.d.ts +4 -0
  131. package/dist/features/git/git.routes.js +116 -0
  132. package/dist/features/git/git.utils.d.ts +82 -0
  133. package/dist/features/git/git.utils.js +1040 -0
  134. package/dist/features/mcp/mcp.config.d.ts +27 -0
  135. package/dist/features/mcp/mcp.config.js +148 -0
  136. package/dist/features/mcp/mcp.manager.d.ts +61 -0
  137. package/dist/features/mcp/mcp.manager.js +254 -0
  138. package/dist/features/mcp/mcp.popular.json +103 -0
  139. package/dist/features/mcp/mcp.routes.d.ts +13 -0
  140. package/dist/features/mcp/mcp.routes.js +159 -0
  141. package/dist/features/mcp/mcp.types.d.ts +80 -0
  142. package/dist/features/mcp/mcp.types.js +8 -0
  143. package/dist/features/metadata/metadata.manager.d.ts +126 -0
  144. package/dist/features/metadata/metadata.manager.js +423 -0
  145. package/dist/features/models/model-info-aihubmix.d.ts +25 -0
  146. package/dist/features/models/model-info-aihubmix.js +117 -0
  147. package/dist/features/models/model-info-openrouter.d.ts +25 -0
  148. package/dist/features/models/model-info-openrouter.js +104 -0
  149. package/dist/features/models/model-info.d.ts +37 -0
  150. package/dist/features/models/model-info.js +39 -0
  151. package/dist/features/models/models-catalog.d.ts +49 -0
  152. package/dist/features/models/models-catalog.js +80 -0
  153. package/dist/features/models/models-catalog.route.d.ts +43 -0
  154. package/dist/features/models/models-catalog.route.js +15 -0
  155. package/dist/features/models/models-get-available.route.d.ts +36 -0
  156. package/dist/features/models/models-get-available.route.js +66 -0
  157. package/dist/features/models/models-get-enabled.route.d.ts +33 -0
  158. package/dist/features/models/models-get-enabled.route.js +45 -0
  159. package/dist/features/models/models-get-model-info.route.d.ts +31 -0
  160. package/dist/features/models/models-get-model-info.route.js +84 -0
  161. package/dist/features/models/models-model-disable.route.d.ts +15 -0
  162. package/dist/features/models/models-model-disable.route.js +20 -0
  163. package/dist/features/models/models-model-enable.route.d.ts +13 -0
  164. package/dist/features/models/models-model-enable.route.js +20 -0
  165. package/dist/features/models/models-provider-refresh.route.d.ts +17 -0
  166. package/dist/features/models/models-provider-refresh.route.js +20 -0
  167. package/dist/features/models/models.manager.d.ts +58 -0
  168. package/dist/features/models/models.manager.js +138 -0
  169. package/dist/features/models/models.routes.d.ts +18 -0
  170. package/dist/features/models/models.routes.js +83 -0
  171. package/dist/features/models/open-router-models.d.ts +38 -0
  172. package/dist/features/models/open-router-models.js +73 -0
  173. package/dist/features/models/openai-models.d.ts +63 -0
  174. package/dist/features/models/openai-models.js +150 -0
  175. package/dist/features/onboarding/onboarding-get-git-check.route.d.ts +11 -0
  176. package/dist/features/onboarding/onboarding-get-git-check.route.js +28 -0
  177. package/dist/features/onboarding/onboarding-get-status.route.d.ts +12 -0
  178. package/dist/features/onboarding/onboarding-get-status.route.js +15 -0
  179. package/dist/features/onboarding/onboarding-post-complete.route.d.ts +12 -0
  180. package/dist/features/onboarding/onboarding-post-complete.route.js +15 -0
  181. package/dist/features/onboarding/onboarding-post-reset.route.d.ts +12 -0
  182. package/dist/features/onboarding/onboarding-post-reset.route.js +15 -0
  183. package/dist/features/onboarding/onboarding.routes.d.ts +18 -0
  184. package/dist/features/onboarding/onboarding.routes.js +28 -0
  185. package/dist/features/project-todos/project-todos.database.d.ts +38 -0
  186. package/dist/features/project-todos/project-todos.database.js +91 -0
  187. package/dist/features/project-todos/project-todos.routes.d.ts +4 -0
  188. package/dist/features/project-todos/project-todos.routes.js +94 -0
  189. package/dist/features/projects/projects-ai-files.route.d.ts +148 -0
  190. package/dist/features/projects/projects-ai-files.route.js +425 -0
  191. package/dist/features/projects/projects-commands.route.d.ts +27 -0
  192. package/dist/features/projects/projects-commands.route.js +39 -0
  193. package/dist/features/projects/projects-create.route.d.ts +19 -0
  194. package/dist/features/projects/projects-create.route.js +37 -0
  195. package/dist/features/projects/projects-delete.route.d.ts +24 -0
  196. package/dist/features/projects/projects-delete.route.js +34 -0
  197. package/dist/features/projects/projects-get.route.d.ts +47 -0
  198. package/dist/features/projects/projects-get.route.js +36 -0
  199. package/dist/features/projects/projects-list.route.d.ts +58 -0
  200. package/dist/features/projects/projects-list.route.js +59 -0
  201. package/dist/features/projects/projects-open-folder.route.d.ts +10 -0
  202. package/dist/features/projects/projects-open-folder.route.js +11 -0
  203. package/dist/features/projects/projects-open.route.d.ts +26 -0
  204. package/dist/features/projects/projects-open.route.js +49 -0
  205. package/dist/features/projects/projects-package-scripts.route.d.ts +15 -0
  206. package/dist/features/projects/projects-package-scripts.route.js +96 -0
  207. package/dist/features/projects/projects-run-command.route.d.ts +8 -0
  208. package/dist/features/projects/projects-run-command.route.js +21 -0
  209. package/dist/features/projects/projects-run.route.d.ts +51 -0
  210. package/dist/features/projects/projects-run.route.js +74 -0
  211. package/dist/features/projects/projects-update.route.d.ts +24 -0
  212. package/dist/features/projects/projects-update.route.js +81 -0
  213. package/dist/features/projects/projects.creator.d.ts +33 -0
  214. package/dist/features/projects/projects.creator.js +555 -0
  215. package/dist/features/projects/projects.database.d.ts +61 -0
  216. package/dist/features/projects/projects.database.js +212 -0
  217. package/dist/features/projects/projects.manager.d.ts +291 -0
  218. package/dist/features/projects/projects.manager.js +426 -0
  219. package/dist/features/projects/projects.open-with.d.ts +27 -0
  220. package/dist/features/projects/projects.open-with.js +156 -0
  221. package/dist/features/projects/projects.routes.d.ts +20 -0
  222. package/dist/features/projects/projects.routes.js +255 -0
  223. package/dist/features/projects/terminal-session-manager.d.ts +55 -0
  224. package/dist/features/projects/terminal-session-manager.js +90 -0
  225. package/dist/features/providers/provider-resolver.d.ts +13 -0
  226. package/dist/features/providers/provider-resolver.js +22 -0
  227. package/dist/features/providers/providers-get-credits.route.d.ts +15 -0
  228. package/dist/features/providers/providers-get-credits.route.js +51 -0
  229. package/dist/features/providers/providers-get.route.d.ts +16 -0
  230. package/dist/features/providers/providers-get.route.js +32 -0
  231. package/dist/features/providers/providers-open-external.route.d.ts +15 -0
  232. package/dist/features/providers/providers-open-external.route.js +49 -0
  233. package/dist/features/providers/providers-post-bulk-keys.route.d.ts +14 -0
  234. package/dist/features/providers/providers-post-bulk-keys.route.js +31 -0
  235. package/dist/features/providers/providers-post-keys.route.d.ts +14 -0
  236. package/dist/features/providers/providers-post-keys.route.js +25 -0
  237. package/dist/features/providers/providers.routes.d.ts +19 -0
  238. package/dist/features/providers/providers.routes.js +31 -0
  239. package/dist/features/rules/rules-post.route.d.ts +43 -0
  240. package/dist/features/rules/rules-post.route.js +89 -0
  241. package/dist/features/rules/rules.manager.d.ts +36 -0
  242. package/dist/features/rules/rules.manager.js +203 -0
  243. package/dist/features/rules/rules.routes.d.ts +12 -0
  244. package/dist/features/rules/rules.routes.js +13 -0
  245. package/dist/features/run/run-get-running.route.d.ts +15 -0
  246. package/dist/features/run/run-get-running.route.js +21 -0
  247. package/dist/features/run/run-post-start.route.d.ts +8 -0
  248. package/dist/features/run/run-post-start.route.js +21 -0
  249. package/dist/features/run/run-post-stop.route.d.ts +15 -0
  250. package/dist/features/run/run-post-stop.route.js +24 -0
  251. package/dist/features/run/run-post-suggest.route.d.ts +15 -0
  252. package/dist/features/run/run-post-suggest.route.js +21 -0
  253. package/dist/features/run/run-put-command.route.d.ts +15 -0
  254. package/dist/features/run/run-put-command.route.js +24 -0
  255. package/dist/features/run/run.routes.d.ts +19 -0
  256. package/dist/features/run/run.routes.js +31 -0
  257. package/dist/features/scaffold/index.d.ts +7 -0
  258. package/dist/features/scaffold/index.js +5 -0
  259. package/dist/features/scaffold/scaffold-get-templates.route.d.ts +27 -0
  260. package/dist/features/scaffold/scaffold-get-templates.route.js +17 -0
  261. package/dist/features/scaffold/scaffold-post.route.d.ts +8 -0
  262. package/dist/features/scaffold/scaffold-post.route.js +30 -0
  263. package/dist/features/scaffold/scaffold.routes.d.ts +10 -0
  264. package/dist/features/scaffold/scaffold.routes.js +16 -0
  265. package/dist/features/scaffold/scaffold.runner.d.ts +48 -0
  266. package/dist/features/scaffold/scaffold.runner.js +475 -0
  267. package/dist/features/scaffold/scaffold.types.d.ts +26 -0
  268. package/dist/features/scaffold/scaffold.types.js +5 -0
  269. package/dist/features/skills/skills.activation.d.ts +31 -0
  270. package/dist/features/skills/skills.activation.js +155 -0
  271. package/dist/features/skills/skills.manager.d.ts +35 -0
  272. package/dist/features/skills/skills.manager.js +251 -0
  273. package/dist/features/slash-commands/slash-commands-delete.route.d.ts +23 -0
  274. package/dist/features/slash-commands/slash-commands-delete.route.js +36 -0
  275. package/dist/features/slash-commands/slash-commands-get.route.d.ts +53 -0
  276. package/dist/features/slash-commands/slash-commands-get.route.js +54 -0
  277. package/dist/features/slash-commands/slash-commands-post.route.d.ts +39 -0
  278. package/dist/features/slash-commands/slash-commands-post.route.js +70 -0
  279. package/dist/features/slash-commands/slash-commands-put.route.d.ts +23 -0
  280. package/dist/features/slash-commands/slash-commands-put.route.js +36 -0
  281. package/dist/features/slash-commands/slash-commands.manager.d.ts +46 -0
  282. package/dist/features/slash-commands/slash-commands.manager.js +265 -0
  283. package/dist/features/slash-commands/slash-commands.routes.d.ts +13 -0
  284. package/dist/features/slash-commands/slash-commands.routes.js +20 -0
  285. package/dist/features/threads/threads-ai-files.route.d.ts +153 -0
  286. package/dist/features/threads/threads-ai-files.route.js +287 -0
  287. package/dist/features/threads/threads-conversation-folder-path.route.d.ts +14 -0
  288. package/dist/features/threads/threads-conversation-folder-path.route.js +23 -0
  289. package/dist/features/threads/threads-create.route.d.ts +22 -0
  290. package/dist/features/threads/threads-create.route.js +60 -0
  291. package/dist/features/threads/threads-delete.route.d.ts +25 -0
  292. package/dist/features/threads/threads-delete.route.js +35 -0
  293. package/dist/features/threads/threads-files.route.d.ts +15 -0
  294. package/dist/features/threads/threads-files.route.js +20 -0
  295. package/dist/features/threads/threads-fix-comments.route.d.ts +26 -0
  296. package/dist/features/threads/threads-fix-comments.route.js +45 -0
  297. package/dist/features/threads/threads-get.route.d.ts +30 -0
  298. package/dist/features/threads/threads-get.route.js +38 -0
  299. package/dist/features/threads/threads-list.route.d.ts +56 -0
  300. package/dist/features/threads/threads-list.route.js +58 -0
  301. package/dist/features/threads/threads-messages.route.d.ts +28 -0
  302. package/dist/features/threads/threads-messages.route.js +110 -0
  303. package/dist/features/threads/threads-open.route.d.ts +26 -0
  304. package/dist/features/threads/threads-open.route.js +62 -0
  305. package/dist/features/threads/threads-select.route.d.ts +25 -0
  306. package/dist/features/threads/threads-select.route.js +35 -0
  307. package/dist/features/threads/threads-update.route.d.ts +15 -0
  308. package/dist/features/threads/threads-update.route.js +30 -0
  309. package/dist/features/threads/threads.database.d.ts +68 -0
  310. package/dist/features/threads/threads.database.js +215 -0
  311. package/dist/features/threads/threads.manager.d.ts +204 -0
  312. package/dist/features/threads/threads.manager.js +505 -0
  313. package/dist/features/threads/threads.routes.d.ts +20 -0
  314. package/dist/features/threads/threads.routes.js +230 -0
  315. package/dist/features/todos/todos.database.d.ts +14 -0
  316. package/dist/features/todos/todos.database.js +31 -0
  317. package/dist/features/updates/updates.routes.d.ts +13 -0
  318. package/dist/features/updates/updates.routes.js +40 -0
  319. package/dist/index.d.ts +3 -0
  320. package/dist/index.js +37 -10022
  321. package/dist/project-analyzer.d.ts +26 -0
  322. package/dist/project-analyzer.js +307 -0
  323. package/dist/public/assets/add-agent-view-B9IQjAwU.js +1 -0
  324. package/dist/public/assets/add-rule-view-BdZHurB3.js +7 -0
  325. package/dist/public/assets/add-skill-view-Cuu6Z0fr.js +1 -0
  326. package/dist/public/assets/add-slash-command-view-uW75Jvbh.js +1 -0
  327. package/dist/public/assets/conversation-history-view-D0OBxJMC.js +1 -0
  328. package/dist/public/assets/dialogs-config-DiFQjCeA.js +46 -0
  329. package/dist/public/assets/diff-view-B5XBM5UZ.js +3 -0
  330. package/dist/public/assets/file-tree-sidebar-DMX7fHi7.js +1 -0
  331. package/dist/public/assets/files-view-CUZn7G0o.js +1 -0
  332. package/dist/public/assets/history-view-B8HM78Wa.js +1 -0
  333. package/dist/public/assets/index-C-p81QYw.js +17 -0
  334. package/dist/public/assets/index-DhVMb7D6.css +1 -0
  335. package/dist/public/assets/mcp-manager-CEm1L3dn.js +1 -0
  336. package/dist/public/assets/mcp-server-edit-view-BAwMNOAH.js +5 -0
  337. package/dist/public/assets/mcp-servers-sidebar-Ncxq9Oj5.js +1 -0
  338. package/dist/public/assets/mcp-view-Cz7nelGQ.js +1 -0
  339. package/dist/public/assets/monaco-DvsnxTfD.js +11 -0
  340. package/dist/public/assets/onboarding-CvpvkF3X.js +1 -0
  341. package/dist/public/assets/onboarding-dialog-CKJw0ULj.js +1 -0
  342. package/dist/public/assets/project-settings-view-DJ1uvrTL.js +1 -0
  343. package/dist/public/assets/provider-details-view-CkS6WbnK.js +1 -0
  344. package/dist/public/assets/providers-sidebar-C4MF6i9d.js +1 -0
  345. package/dist/public/assets/radio-group-BItFbSTw.js +1 -0
  346. package/dist/public/assets/react-vendor-DkKo9QGO.js +17 -0
  347. package/dist/public/assets/rolldown-runtime-Dw2cE7zH.js +1 -0
  348. package/dist/public/assets/settings-view-C45kmAGH.js +2 -0
  349. package/dist/public/assets/store-BVVGurzl.js +2 -0
  350. package/dist/public/assets/use-toast-DEJkXPN4.js +1 -0
  351. package/dist/public/assets/utils-DY_quHB8.js +1 -0
  352. package/dist/public/fonts/google-sans.ttf +0 -0
  353. package/dist/public/fonts/zalando.ttf +0 -0
  354. package/dist/public/ide/android-studio.svg +1 -0
  355. package/dist/public/ide/cursor.svg +12 -0
  356. package/dist/public/ide/kiro.svg +11 -0
  357. package/dist/public/ide/terminal.svg +7 -0
  358. package/dist/public/ide/vscode.svg +2 -0
  359. package/dist/public/ide/windsurf.svg +3 -0
  360. package/dist/public/ide/xcode.svg +2 -0
  361. package/dist/public/index.html +13 -9
  362. package/dist/scaffold-templates.json +3 -12
  363. package/dist/server.d.ts +12 -0
  364. package/dist/server.js +142 -0
  365. package/dist/tools/agent-tool.d.ts +49 -0
  366. package/dist/tools/agent-tool.js +131 -0
  367. package/dist/tools/ask-user.d.ts +25 -0
  368. package/dist/tools/ask-user.js +74 -0
  369. package/dist/tools/ast-grep.d.ts +28 -0
  370. package/dist/tools/ast-grep.js +273 -0
  371. package/dist/tools/bash.d.ts +33 -0
  372. package/dist/tools/bash.js +186 -0
  373. package/dist/tools/edit-diff.d.ts +24 -0
  374. package/dist/tools/edit-diff.js +136 -0
  375. package/dist/tools/edit.d.ts +28 -0
  376. package/dist/tools/edit.js +78 -0
  377. package/dist/tools/find.d.ts +31 -0
  378. package/dist/tools/find.js +117 -0
  379. package/dist/tools/grep.d.ts +37 -0
  380. package/dist/tools/grep.js +231 -0
  381. package/dist/tools/index.d.ts +93 -0
  382. package/dist/tools/index.js +110 -0
  383. package/dist/tools/ls.d.ts +31 -0
  384. package/dist/tools/ls.js +108 -0
  385. package/dist/tools/mcp-tools.d.ts +31 -0
  386. package/dist/tools/mcp-tools.js +59 -0
  387. package/dist/tools/path-utils.d.ts +14 -0
  388. package/dist/tools/path-utils.js +87 -0
  389. package/dist/tools/read.d.ts +27 -0
  390. package/dist/tools/read.js +86 -0
  391. package/dist/tools/resolve-bin.d.ts +5 -0
  392. package/dist/tools/resolve-bin.js +28 -0
  393. package/dist/tools/shell.d.ts +7 -0
  394. package/dist/tools/shell.js +143 -0
  395. package/dist/tools/skill-reference-tool.d.ts +30 -0
  396. package/dist/tools/skill-reference-tool.js +171 -0
  397. package/dist/tools/skill-tool.d.ts +33 -0
  398. package/dist/tools/skill-tool.js +213 -0
  399. package/dist/tools/todo.d.ts +20 -0
  400. package/dist/tools/todo.js +168 -0
  401. package/dist/tools/tool-helpers.d.ts +78 -0
  402. package/dist/tools/tool-helpers.js +109 -0
  403. package/dist/tools/truncate.d.ts +31 -0
  404. package/dist/tools/truncate.js +164 -0
  405. package/dist/tools/write.d.ts +21 -0
  406. package/dist/tools/write.js +65 -0
  407. package/package.json +33 -27
  408. package/dist/public/assets/index-6jySngUQ.css +0 -1
  409. package/dist/public/assets/index-BjFpLTSj.js +0 -18
  410. package/dist/public/assets/monaco-w6PwaWGP.js +0 -11
  411. package/dist/public/assets/radix-ui-e1yigncZ.js +0 -1
  412. package/dist/public/assets/react-vendor-B6JfXZmN.js +0 -59
  413. package/dist/public/assets/ui-styling-CyCIFleB.js +0 -1
  414. package/dist/public/assets/utils-Dd_itR7L.js +0 -1
@@ -0,0 +1,265 @@
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
@@ -0,0 +1,13 @@
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
@@ -0,0 +1,20 @@
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
@@ -0,0 +1,153 @@
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