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,12 +0,0 @@
1
- /**
2
- * GET /api/onboarding/status
3
- * Check if onboarding has been completed
4
- */
5
- import type { Context } from "hono";
6
- import type { MetadataManager } from "../metadata/metadata.manager.js";
7
- export declare function getOnboardingStatus(c: Context, metadataManager: MetadataManager): Promise<(Response & import("hono").TypedResponse<{
8
- onboardingCompleted: boolean;
9
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
10
- error: string;
11
- }, 500, "json">)>;
12
- //# sourceMappingURL=onboarding-get-status.route.d.ts.map
@@ -1,15 +0,0 @@
1
- /**
2
- * GET /api/onboarding/status
3
- * Check if onboarding has been completed
4
- */
5
- export async function getOnboardingStatus(c, metadataManager) {
6
- try {
7
- const onboardingCompleted = await metadataManager.getOnboardingCompleted();
8
- return c.json({ onboardingCompleted });
9
- }
10
- catch (error) {
11
- const message = error instanceof Error ? error.message : "Failed to check onboarding status";
12
- return c.json({ error: message }, 500);
13
- }
14
- }
15
- //# sourceMappingURL=onboarding-get-status.route.js.map
@@ -1,12 +0,0 @@
1
- /**
2
- * POST /api/onboarding/complete
3
- * Mark onboarding as complete
4
- */
5
- import type { Context } from "hono";
6
- import type { MetadataManager } from "../metadata/metadata.manager.js";
7
- export declare function postOnboardingComplete(c: Context, metadataManager: MetadataManager): Promise<(Response & import("hono").TypedResponse<{
8
- success: true;
9
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
10
- error: string;
11
- }, 500, "json">)>;
12
- //# sourceMappingURL=onboarding-post-complete.route.d.ts.map
@@ -1,15 +0,0 @@
1
- /**
2
- * POST /api/onboarding/complete
3
- * Mark onboarding as complete
4
- */
5
- export async function postOnboardingComplete(c, metadataManager) {
6
- try {
7
- await metadataManager.setOnboardingCompleted(true);
8
- return c.json({ success: true });
9
- }
10
- catch (error) {
11
- const message = error instanceof Error ? error.message : "Failed to complete onboarding";
12
- return c.json({ error: message }, 500);
13
- }
14
- }
15
- //# sourceMappingURL=onboarding-post-complete.route.js.map
@@ -1,12 +0,0 @@
1
- /**
2
- * POST /api/onboarding/reset
3
- * Reset onboarding so the flow can be run again (hidden feature)
4
- */
5
- import type { Context } from "hono";
6
- import type { MetadataManager } from "../metadata/metadata.manager.js";
7
- export declare function postOnboardingReset(c: Context, metadataManager: MetadataManager): Promise<(Response & import("hono").TypedResponse<{
8
- success: true;
9
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
10
- error: string;
11
- }, 500, "json">)>;
12
- //# sourceMappingURL=onboarding-post-reset.route.d.ts.map
@@ -1,15 +0,0 @@
1
- /**
2
- * POST /api/onboarding/reset
3
- * Reset onboarding so the flow can be run again (hidden feature)
4
- */
5
- export async function postOnboardingReset(c, metadataManager) {
6
- try {
7
- await metadataManager.setOnboardingCompleted(false);
8
- return c.json({ success: true });
9
- }
10
- catch (error) {
11
- const message = error instanceof Error ? error.message : "Failed to reset onboarding";
12
- return c.json({ error: message }, 500);
13
- }
14
- }
15
- //# sourceMappingURL=onboarding-post-reset.route.js.map
@@ -1,18 +0,0 @@
1
- /**
2
- * Onboarding routes for the REST API
3
- *
4
- * Handles onboarding flow for first-time users:
5
- * - GET /api/onboarding/status - Check if onboarding is complete
6
- * - GET /api/onboarding/git-check - Check if git is installed
7
- * - POST /api/onboarding/complete - Mark onboarding as complete
8
- * - POST /api/onboarding/reset - Reset onboarding (hidden feature)
9
- */
10
- import { Hono } from "hono";
11
- import type { MetadataManager } from "../metadata/metadata.manager.js";
12
- /**
13
- * Creates onboarding routes
14
- * @param metadataManager - Manager for metadata persistence
15
- * @returns Hono router with onboarding routes
16
- */
17
- export declare function createOnboardingRoutes(metadataManager: MetadataManager): Hono;
18
- //# sourceMappingURL=onboarding.routes.d.ts.map
@@ -1,28 +0,0 @@
1
- /**
2
- * Onboarding routes for the REST API
3
- *
4
- * Handles onboarding flow for first-time users:
5
- * - GET /api/onboarding/status - Check if onboarding is complete
6
- * - GET /api/onboarding/git-check - Check if git is installed
7
- * - POST /api/onboarding/complete - Mark onboarding as complete
8
- * - POST /api/onboarding/reset - Reset onboarding (hidden feature)
9
- */
10
- import { Hono } from "hono";
11
- import { getOnboardingStatus } from "./onboarding-get-status.route.js";
12
- import { getGitCheck } from "./onboarding-get-git-check.route.js";
13
- import { postOnboardingComplete } from "./onboarding-post-complete.route.js";
14
- import { postOnboardingReset } from "./onboarding-post-reset.route.js";
15
- /**
16
- * Creates onboarding routes
17
- * @param metadataManager - Manager for metadata persistence
18
- * @returns Hono router with onboarding routes
19
- */
20
- export function createOnboardingRoutes(metadataManager) {
21
- const router = new Hono();
22
- router.get("/status", (c) => getOnboardingStatus(c, metadataManager));
23
- router.get("/git-check", (c) => getGitCheck(c));
24
- router.post("/complete", (c) => postOnboardingComplete(c, metadataManager));
25
- router.post("/reset", (c) => postOnboardingReset(c, metadataManager));
26
- return router;
27
- }
28
- //# sourceMappingURL=onboarding.routes.js.map
@@ -1,38 +0,0 @@
1
- import type { Database } from "../../database/database.types.js";
2
- import type { ProjectTodoStatus } from "@tarsk/shared";
3
- export interface ProjectTodoRecord {
4
- id: string;
5
- projectId: string;
6
- title: string;
7
- description: string;
8
- status: string;
9
- working: number;
10
- threadId: string | null;
11
- createdAt: string;
12
- updatedAt: string;
13
- }
14
- export declare function serializeTodo(row: ProjectTodoRecord): {
15
- working: boolean;
16
- id: string;
17
- projectId: string;
18
- title: string;
19
- description: string;
20
- status: string;
21
- threadId: string | null;
22
- createdAt: string;
23
- updatedAt: string;
24
- };
25
- export declare function getTodosByProject(db: Database, projectId: string): Promise<ProjectTodoRecord[]>;
26
- export declare function getTodoById(db: Database, todoId: string): Promise<ProjectTodoRecord | null>;
27
- export declare function insertTodo(projectId: string, title: string, description: string): Promise<ProjectTodoRecord>;
28
- export declare function updateTodo(db: Database, todoId: string, updates: {
29
- title?: string;
30
- description?: string;
31
- status?: ProjectTodoStatus;
32
- working?: boolean;
33
- threadId?: string | null;
34
- }): Promise<ProjectTodoRecord | null>;
35
- export declare function deleteTodoById(db: Database, todoId: string): Promise<void>;
36
- export declare function getTodoByThreadId(db: Database, threadId: string): Promise<ProjectTodoRecord | null>;
37
- export declare function clearWorkingByThreadId(db: Database, threadId: string): Promise<void>;
38
- //# sourceMappingURL=project-todos.database.d.ts.map
@@ -1,91 +0,0 @@
1
- import { randomUUID } from "crypto";
2
- import { getDatabase } from "../../database/database.js";
3
- export function serializeTodo(row) {
4
- return {
5
- ...row,
6
- working: row.working === 1,
7
- };
8
- }
9
- export async function getTodosByProject(db, projectId) {
10
- const result = await db.execute({
11
- sql: `SELECT id, projectId, title, description, status, working, threadId, createdAt, updatedAt
12
- FROM project_todos WHERE projectId = ? ORDER BY createdAt ASC`,
13
- args: [projectId],
14
- });
15
- return result.rows;
16
- }
17
- export async function getTodoById(db, todoId) {
18
- const result = await db.execute({
19
- sql: `SELECT id, projectId, title, description, status, working, threadId, createdAt, updatedAt
20
- FROM project_todos WHERE id = ?`,
21
- args: [todoId],
22
- });
23
- return result.rows[0] ?? null;
24
- }
25
- export async function insertTodo(projectId, title, description) {
26
- const db = await getDatabase();
27
- const id = randomUUID();
28
- const now = new Date().toISOString();
29
- await db.execute({
30
- sql: `INSERT INTO project_todos (id, projectId, title, description, status, working, createdAt, updatedAt)
31
- VALUES (?, ?, ?, ?, 'Ready', 0, ?, ?)`,
32
- args: [id, projectId, title, description, now, now],
33
- });
34
- return (await getTodoById(db, id));
35
- }
36
- export async function updateTodo(db, todoId, updates) {
37
- const fields = [];
38
- const values = [];
39
- if (updates.title !== undefined) {
40
- fields.push("title = ?");
41
- values.push(updates.title);
42
- }
43
- if (updates.description !== undefined) {
44
- fields.push("description = ?");
45
- values.push(updates.description);
46
- }
47
- if (updates.status !== undefined) {
48
- fields.push("status = ?");
49
- values.push(updates.status);
50
- }
51
- if (updates.working !== undefined) {
52
- fields.push("working = ?");
53
- values.push(updates.working ? 1 : 0);
54
- }
55
- if (updates.threadId !== undefined) {
56
- fields.push("threadId = ?");
57
- values.push(updates.threadId);
58
- }
59
- if (fields.length === 0) {
60
- return getTodoById(db, todoId);
61
- }
62
- fields.push("updatedAt = ?");
63
- const now = new Date().toISOString();
64
- values.push(now, todoId);
65
- await db.execute({
66
- sql: `UPDATE project_todos SET ${fields.join(", ")} WHERE id = ?`,
67
- args: values,
68
- });
69
- return getTodoById(db, todoId);
70
- }
71
- export async function deleteTodoById(db, todoId) {
72
- await db.execute({
73
- sql: "DELETE FROM project_todos WHERE id = ?",
74
- args: [todoId],
75
- });
76
- }
77
- export async function getTodoByThreadId(db, threadId) {
78
- const result = await db.execute({
79
- sql: `SELECT id, projectId, title, description, status, working, threadId, createdAt, updatedAt
80
- FROM project_todos WHERE threadId = ? LIMIT 1`,
81
- args: [threadId],
82
- });
83
- return result.rows[0] ?? null;
84
- }
85
- export async function clearWorkingByThreadId(db, threadId) {
86
- await db.execute({
87
- sql: `UPDATE project_todos SET working = 0, updatedAt = ? WHERE threadId = ?`,
88
- args: [new Date().toISOString(), threadId],
89
- });
90
- }
91
- //# sourceMappingURL=project-todos.database.js.map
@@ -1,4 +0,0 @@
1
- import { Hono } from "hono";
2
- import type { MetadataManager } from "../metadata/metadata.manager.js";
3
- export declare function createProjectTodosRoutes(metadataManager: MetadataManager): Hono;
4
- //# sourceMappingURL=project-todos.routes.d.ts.map
@@ -1,94 +0,0 @@
1
- import { Hono } from "hono";
2
- import { getDatabase } from "../../database/database.js";
3
- import { getTodosByProject, insertTodo, updateTodo, deleteTodoById, serializeTodo, } from "./project-todos.database.js";
4
- import { resolveProviderAndKey, resolveModelForGit, DEFAULT_MODEL_MAP } from "../git/git.utils.js";
5
- import { completeSimple } from "@mariozechner/pi-ai";
6
- const VALID_STATUSES = ["Ready", "Plan", "Build", "Test", "Review", "Done"];
7
- async function generateTodoTitle(description, metadataManager) {
8
- const prompt = `Generate a concise 5-8 word title for this todo item.
9
- Return ONLY the title text, nothing else.
10
-
11
- Todo description: ${description}`;
12
- try {
13
- const providerKeys = await metadataManager.getProviderKeys();
14
- const resolved = await resolveProviderAndKey(providerKeys);
15
- if (!resolved?.provider.api)
16
- return description.slice(0, 60);
17
- const selectedModel = DEFAULT_MODEL_MAP[resolved.provider.name] || "default";
18
- const resolvedModel = resolveModelForGit(resolved.provider.name, selectedModel, resolved.provider.api);
19
- const response = await completeSimple(resolvedModel, {
20
- messages: [{ role: "user", content: prompt, timestamp: Date.now() }],
21
- }, { apiKey: resolved.apiKey });
22
- const title = response.content
23
- .filter((b) => b.type === "text")
24
- .map((b) => b.text)
25
- .join("")
26
- .trim()
27
- .replace(/^["']|["']$/g, "");
28
- return title || description.slice(0, 60);
29
- }
30
- catch {
31
- return description.slice(0, 60);
32
- }
33
- }
34
- export function createProjectTodosRoutes(metadataManager) {
35
- const router = new Hono();
36
- // GET /api/projects/:projectId/todos
37
- router.get("/:projectId/todos", async (c) => {
38
- const projectId = c.req.param("projectId");
39
- const db = await getDatabase();
40
- const rows = await getTodosByProject(db, projectId);
41
- return c.json(rows.map(serializeTodo));
42
- });
43
- // POST /api/projects/:projectId/todos
44
- // Body: { description: string }
45
- router.post("/:projectId/todos", async (c) => {
46
- const projectId = c.req.param("projectId");
47
- const body = await c.req.json();
48
- if (!body.description?.trim()) {
49
- return c.json({ error: "description is required" }, 400);
50
- }
51
- const title = await generateTodoTitle(body.description.trim(), metadataManager);
52
- const todo = await insertTodo(projectId, title, body.description.trim());
53
- return c.json(serializeTodo(todo), 201);
54
- });
55
- // PATCH /api/projects/:projectId/todos/:todoId
56
- // Body: { description?, status?, working? }
57
- router.patch("/:projectId/todos/:todoId", async (c) => {
58
- const todoId = c.req.param("todoId");
59
- const body = await c.req.json();
60
- const updates = {};
61
- if (body.description !== undefined) {
62
- updates.description = body.description.trim();
63
- updates.working = false; // editing description always resets working
64
- }
65
- if (body.status !== undefined) {
66
- if (!VALID_STATUSES.includes(body.status)) {
67
- return c.json({ error: `Invalid status: ${body.status}` }, 400);
68
- }
69
- updates.status = body.status;
70
- updates.working = body.working === true;
71
- }
72
- else if (body.working !== undefined && body.description === undefined) {
73
- updates.working = body.working;
74
- }
75
- if (body.threadId !== undefined) {
76
- updates.threadId = body.threadId;
77
- }
78
- const db = await getDatabase();
79
- const updated = await updateTodo(db, todoId, updates);
80
- if (!updated) {
81
- return c.json({ error: "Todo not found" }, 404);
82
- }
83
- return c.json(serializeTodo(updated));
84
- });
85
- // DELETE /api/projects/:projectId/todos/:todoId
86
- router.delete("/:projectId/todos/:todoId", async (c) => {
87
- const todoId = c.req.param("todoId");
88
- const db = await getDatabase();
89
- await deleteTodoById(db, todoId);
90
- return c.json({ success: true });
91
- });
92
- return router;
93
- }
94
- //# sourceMappingURL=project-todos.routes.js.map
@@ -1,148 +0,0 @@
1
- /**
2
- * AI Files routes for the REST API
3
- *
4
- * Handles listing and editing AI-related files in a project:
5
- * - GET /api/projects/:id/ai-files - List AI file tree (skills, rules, commands, markdown files)
6
- * - GET /api/projects/:id/ai-file?path=... - Read file content
7
- * - PUT /api/projects/:id/ai-file - Write file content
8
- * - DELETE /api/projects/:id/ai-file?path=... - Delete file or folder
9
- * - POST /api/projects/:id/ai-files/skill - Create a new skill
10
- */
11
- import { type Context } from "hono";
12
- import { ProjectManager } from "../projects/projects.manager.js";
13
- export interface AIFileNode {
14
- id: string;
15
- name: string;
16
- type: "file" | "folder";
17
- path: string;
18
- children?: AIFileNode[];
19
- virtual?: boolean;
20
- }
21
- /**
22
- * Build the full AI file tree for a project or thread.
23
- * - Always shows .agents/skills, .agents/rules, .agents/commands (virtual if missing)
24
- * - Shows markdown files at root level
25
- * - Shows folders that contain markdown files
26
- */
27
- export declare function buildAIFileTree(projectPath: string): Promise<AIFileNode[]>;
28
- /**
29
- * Validate that a file path is safe (no path traversal, within project or thread)
30
- */
31
- export declare function validateFilePath(projectPath: string, filePath: string): string | null;
32
- /**
33
- * GET /api/projects/:id/ai-files
34
- */
35
- export declare function handleGetAIFiles(c: Context, projectManager: ProjectManager): Promise<(Response & import("hono").TypedResponse<{
36
- error: {
37
- code: string;
38
- message: string;
39
- details?: import("hono/utils/types").JSONValue | undefined;
40
- timestamp: string;
41
- };
42
- }, any, "json">) | (Response & import("hono").TypedResponse<{
43
- nodes: {
44
- id: string;
45
- name: string;
46
- type: "file" | "folder";
47
- path: string;
48
- children?: /*elided*/ any[] | undefined;
49
- virtual?: boolean | undefined;
50
- }[];
51
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
52
- /**
53
- * GET /api/projects/:id/ai-file?path=...
54
- */
55
- export declare function handleGetAIFile(c: Context, projectManager: ProjectManager): Promise<(Response & import("hono").TypedResponse<{
56
- error: {
57
- code: string;
58
- message: string;
59
- details?: import("hono/utils/types").JSONValue | undefined;
60
- timestamp: string;
61
- };
62
- }, any, "json">) | (Response & import("hono").TypedResponse<{
63
- error: {
64
- code: string;
65
- message: string;
66
- };
67
- }, 400, "json">) | (Response & import("hono").TypedResponse<{
68
- content: string;
69
- path: string;
70
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
71
- error: {
72
- code: string;
73
- message: string;
74
- };
75
- }, 404, "json">)>;
76
- /**
77
- * PUT /api/projects/:id/ai-file
78
- * Body: { path: string, content: string }
79
- */
80
- export declare function handleSaveAIFile(c: Context, projectManager: ProjectManager): 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
- success: true;
94
- path: string;
95
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
96
- /**
97
- * DELETE /api/projects/:id/ai-file?path=...
98
- * Deletes a file or folder at the specified path
99
- */
100
- export declare function handleDeleteAIFile(c: Context, projectManager: ProjectManager): Promise<(Response & import("hono").TypedResponse<{
101
- error: {
102
- code: string;
103
- message: string;
104
- details?: import("hono/utils/types").JSONValue | undefined;
105
- timestamp: string;
106
- };
107
- }, any, "json">) | (Response & import("hono").TypedResponse<{
108
- error: {
109
- code: string;
110
- message: string;
111
- };
112
- }, 400, "json">) | (Response & import("hono").TypedResponse<{
113
- error: {
114
- code: string;
115
- message: string;
116
- };
117
- }, 404, "json">) | (Response & import("hono").TypedResponse<{
118
- success: true;
119
- path: string;
120
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
121
- /**
122
- * POST /api/projects/:id/ai-files/skill
123
- * Body: { name: string, description: string, isGlobal?: boolean }
124
- * Creates .agents/skills/{name}/SKILL.md
125
- */
126
- export declare function handleCreateSkill(c: Context, projectManager: ProjectManager): Promise<(Response & import("hono").TypedResponse<{
127
- error: {
128
- code: string;
129
- message: string;
130
- details?: import("hono/utils/types").JSONValue | undefined;
131
- timestamp: string;
132
- };
133
- }, any, "json">) | (Response & import("hono").TypedResponse<{
134
- error: {
135
- code: string;
136
- message: string;
137
- };
138
- }, 400, "json">) | (Response & import("hono").TypedResponse<{
139
- error: {
140
- code: string;
141
- message: string;
142
- };
143
- }, 409, "json">) | (Response & import("hono").TypedResponse<{
144
- success: true;
145
- path: string;
146
- content: string;
147
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
148
- //# sourceMappingURL=projects-ai-files.route.d.ts.map