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,227 +0,0 @@
1
- /**
2
- * System prompt loader for Pi Agent
3
- * Loads agent system prompt from agents.md file with fallback
4
- */
5
- import { resolve } from "path";
6
- import { readFileSync } from "fs";
7
- import { analyzeProject } from "../project-analyzer.js";
8
- import { RuleManager } from "../features/rules/rules.manager.js";
9
- import { devServerCache } from "../core/dev-server-cache.js";
10
- /**
11
- * Default prompt used when agents.md cannot be loaded
12
- */
13
- const DEFAULT_PROMPT = "You are a helpful coding assistant. You have access to read, bash, edit, todo, and write tools. Use them to explore and modify the codebase as needed. Break tasks down into smaller, manageable steps using the todo tool.";
14
- const PLAN_MODE_INSTRUCTIONS = `
15
-
16
- # Plan Mode (ACTIVE)
17
-
18
- You are currently in PLAN MODE. You MUST follow these constraints strictly:
19
-
20
- ## What you MUST do:
21
- - Analyze the user's request thoroughly
22
- - Create a clear, structured plan with numbered steps
23
- - Identify all files that would need to be created, modified, or deleted
24
- - Explain the reasoning behind each step
25
- - Highlight complexity and potential risks for each step
26
- - Present the plan for user review and approval
27
-
28
- ## What you MUST NOT do:
29
- - Do NOT use any tools that modify files (Write, Edit, Bash with write operations)
30
- - Do NOT create, delete, or modify any files
31
- - Do NOT run any commands that change system state (npm install, git commit, etc.)
32
- - You MAY use read-only tools (Read, Glob, Grep, Bash with read-only commands like ls, cat, git status, git log, git diff) to explore the codebase
33
-
34
- ## Output format:
35
- Structure your response as:
36
- 1. **Understanding**: Brief summary of what the user wants
37
- 2. **Plan**: Numbered steps with file paths and descriptions of changes
38
- 3. **Files to modify**: List of files with what changes each needs
39
- 4. **Considerations**: Any risks, trade-offs, or questions
40
-
41
- YOU MUST use the ask_user tool to ask clarifying questions if needed and to confirm implementation of the plan.
42
-
43
- Remember: You are ONLY planning. Do NOT execute any changes.`;
44
- /**
45
- * Load agents.md content as developer context
46
- */
47
- function loadDeveloperContext(threadPath) {
48
- try {
49
- // Path to agents.md in the thread directory
50
- const agentsPath = resolve(threadPath, "agents.md");
51
- const agentsContent = readFileSync(agentsPath, "utf-8").trim();
52
- console.log("[ai] Successfully loaded agents.md from thread path for developer context");
53
- return agentsContent;
54
- }
55
- catch (error) {
56
- // Gracefully fall back if agents.md not found
57
- const isFileNotFound = error && typeof error === "object" && "code" in error && error.code === "ENOENT";
58
- if (isFileNotFound) {
59
- console.log("[ai] agents.md not found in thread path, skipping developer context");
60
- }
61
- else {
62
- console.warn("[ai] Error loading agents.md from thread path:", error instanceof Error ? error.message : String(error));
63
- }
64
- return "";
65
- }
66
- }
67
- /**
68
- * Load and format rules for the prompt
69
- */
70
- async function loadRulesSection(threadPath) {
71
- try {
72
- const ruleManager = new RuleManager();
73
- const rules = await ruleManager.loadRules(threadPath);
74
- if (rules.length > 0) {
75
- const rulesSection = ruleManager.formatRulesForPrompt(rules);
76
- console.log(`[ai] Loaded ${rules.length} rule(s) from .agents/rules directory`);
77
- return rulesSection;
78
- }
79
- return "";
80
- }
81
- catch (error) {
82
- console.warn("[ai] Error loading rules:", error instanceof Error ? error.message : String(error));
83
- return "";
84
- }
85
- }
86
- /**
87
- * Check if dev server is running and reachable for the thread
88
- */
89
- async function loadDevServerSection(threadPath) {
90
- try {
91
- // Extract thread ID from path (last part of the path)
92
- const threadId = threadPath.split(/[\\/]/).pop() ?? "unknown";
93
- // Check if there's a cached URL for this thread
94
- const cachedUrl = devServerCache.getUrl(threadId);
95
- if (!cachedUrl) {
96
- return "";
97
- }
98
- // Check if the dev server is reachable
99
- try {
100
- const response = await fetch(cachedUrl, {
101
- method: "HEAD",
102
- signal: AbortSignal.timeout(3000), // 3 second timeout
103
- });
104
- if (response.ok) {
105
- console.log(`[ai] Dev server is running at ${cachedUrl} for thread ${threadId}`);
106
- return `\n\n# Dev Server\n\nThe dev server is running at ${cachedUrl}.`;
107
- }
108
- else {
109
- console.log(`[ai] Dev server at ${cachedUrl} responded with status ${response.status} for thread ${threadId}`);
110
- return "";
111
- }
112
- }
113
- catch (fetchError) {
114
- console.log(`[ai] Dev server at ${cachedUrl} is not reachable for thread ${threadId}:`, fetchError instanceof Error ? fetchError.message : String(fetchError));
115
- return "";
116
- }
117
- }
118
- catch (error) {
119
- console.warn("[ai] Error checking dev server status:", error instanceof Error ? error.message : String(error));
120
- return "";
121
- }
122
- }
123
- /**
124
- * Load project analysis section
125
- */
126
- function loadProjectAnalysisSection(threadPath) {
127
- try {
128
- const projectAnalysis = analyzeProject(threadPath);
129
- if (projectAnalysis) {
130
- return "\n\n# Project Analysis\n\n" + projectAnalysis;
131
- }
132
- return "";
133
- }
134
- catch (error) {
135
- console.warn("[ai] Error analyzing project:", error instanceof Error ? error.message : String(error));
136
- return "";
137
- }
138
- }
139
- /**
140
- * Format skills for the prompt
141
- */
142
- function formatSkillsSection(skills) {
143
- if (!skills || skills.length === 0) {
144
- return "";
145
- }
146
- let skillsSection = "\n\n# Available Skills\n\n";
147
- skillsSection +=
148
- "The following skills are available for this session. Use them to enhance your capabilities:\n\n";
149
- for (const skill of skills) {
150
- skillsSection += `## ${skill.name}\n\n`;
151
- skillsSection += `**Description**: ${skill.description}\n\n`;
152
- if (skill.compatibility) {
153
- skillsSection += `**Compatibility**: ${skill.compatibility}\n\n`;
154
- }
155
- skillsSection += skill.instructions;
156
- skillsSection += "\n\n---\n\n";
157
- }
158
- console.log(`[ai] Injected ${skills.length} skill(s) into system prompt: ${skills.map((s) => s.name).join(", ")}`);
159
- return skillsSection;
160
- }
161
- /**
162
- * Format available agents for injection into the system prompt
163
- */
164
- function formatAgentsSection(agents) {
165
- const invocable = agents.filter((a) => !a.disableModelInvocation);
166
- if (invocable.length === 0)
167
- return "";
168
- let section = "\n\n# Available Agents\n\n" +
169
- "Use the `agent` tool to delegate focused subtasks to these specialized agents. " +
170
- "Each agent runs in an isolated context and returns its result.\n\n";
171
- for (const agent of invocable) {
172
- section += `## ${agent.name}\n\n`;
173
- section += `**Description**: ${agent.description}\n`;
174
- section += `**Invoke as**: \`agentName: "${agent.name}"\`\n\n`;
175
- }
176
- console.log(`[ai] Injected ${invocable.length} agent(s) into system prompt: ${invocable.map((a) => a.name).join(", ")}`);
177
- return section;
178
- }
179
- /**
180
- * Load agent system prompt from agents.md file
181
- * System prompt is the DEFAULT_PROMPT, agents.md is appended as developer context
182
- *
183
- * @param threadPath - Path to the thread directory (required)
184
- * @param skills - Optional array of activated skills to inject into the prompt
185
- * @param planMode - Optional flag to enable plan mode instructions
186
- * @param agents - Optional array of available agent definitions to inject into the prompt
187
- */
188
- export async function loadAgentSystemPrompt(threadPath, skills, planMode, agents) {
189
- // Start with the default prompt
190
- let prompt = DEFAULT_PROMPT;
191
- // Load and append developer context
192
- const agentsContent = loadDeveloperContext(threadPath);
193
- if (agentsContent) {
194
- prompt += "\n\n# Developer Context\n\n" + agentsContent;
195
- }
196
- // Load and append rules
197
- const rulesSection = await loadRulesSection(threadPath);
198
- if (rulesSection) {
199
- prompt += rulesSection;
200
- }
201
- // Append project analysis
202
- const projectAnalysisSection = loadProjectAnalysisSection(threadPath);
203
- if (projectAnalysisSection) {
204
- prompt += projectAnalysisSection;
205
- }
206
- // Append dev server status
207
- const devServerSection = await loadDevServerSection(threadPath);
208
- if (devServerSection) {
209
- prompt += devServerSection;
210
- }
211
- // Append plan mode instructions if enabled
212
- if (planMode) {
213
- prompt += PLAN_MODE_INSTRUCTIONS;
214
- }
215
- // Append skills section
216
- const skillsSection = formatSkillsSection(skills ?? []);
217
- if (skillsSection) {
218
- prompt += skillsSection;
219
- }
220
- // Append agents section
221
- const agentsSection = formatAgentsSection(agents ?? []);
222
- if (agentsSection) {
223
- prompt += agentsSection;
224
- }
225
- return prompt;
226
- }
227
- //# sourceMappingURL=agent.prompt-loader.js.map
@@ -1,35 +0,0 @@
1
- /**
2
- * Subagent executor
3
- *
4
- * Runs an isolated agent invocation with a controlled tool set.
5
- * Used by the agent tool to spawn subagents for focused subtasks.
6
- * Unlike PiExecutorImpl, tools are passed in rather than built internally,
7
- * which allows callers to restrict which tools the subagent can use.
8
- */
9
- import type { AgentEvent } from "@tarsk/shared";
10
- import type { MetadataManager } from "../features/metadata/metadata.manager.js";
11
- import type { Tool } from "../tools/index.js";
12
- export interface SubagentOptions {
13
- /** The task prompt for the subagent */
14
- prompt: string;
15
- /** System prompt to use (from AGENT.md or a default) */
16
- systemPrompt: string;
17
- /** Pre-filtered tool set the subagent is allowed to use */
18
- tools: Tool[];
19
- /** Model identifier (provider-prefixed, e.g. "anthropic/claude-opus-4-6") */
20
- model: string;
21
- /** Provider name (e.g. "anthropic") */
22
- provider: string;
23
- /** MetadataManager for API key resolution */
24
- metadataManager: MetadataManager;
25
- /** Callback for each event emitted during subagent execution */
26
- onEvent: (event: AgentEvent) => void;
27
- /** Optional abort signal */
28
- signal?: AbortSignal;
29
- }
30
- /**
31
- * Execute a subagent and return its final result text.
32
- * All events are reported via onEvent for the parent to stream.
33
- */
34
- export declare function executeSubagent(options: SubagentOptions): Promise<string>;
35
- //# sourceMappingURL=agent.subagent-executor.d.ts.map
@@ -1,135 +0,0 @@
1
- /**
2
- * Subagent executor
3
- *
4
- * Runs an isolated agent invocation with a controlled tool set.
5
- * Used by the agent tool to spawn subagents for focused subtasks.
6
- * Unlike PiExecutorImpl, tools are passed in rather than built internally,
7
- * which allows callers to restrict which tools the subagent can use.
8
- */
9
- import { Agent } from "@mariozechner/pi-agent-core";
10
- import { resolveProviderConfig } from "../features/providers/provider-resolver.js";
11
- import { resolveModel } from "./agent.model-resolver.js";
12
- import { EventQueue } from "./agent.event-transformer.js";
13
- import { getErrorCode, formatErrorEvent } from "./agent.error-utils.js";
14
- /**
15
- * Execute a subagent and return its final result text.
16
- * All events are reported via onEvent for the parent to stream.
17
- */
18
- export async function executeSubagent(options) {
19
- const { prompt, systemPrompt, tools, metadataManager, onEvent, signal } = options;
20
- const providerName = options.provider;
21
- let model = options.model.trim().replace(`${providerName.toLowerCase()}/`, "");
22
- const providerConfig = await resolveProviderConfig(providerName);
23
- if (!providerConfig) {
24
- throw new Error(`Unknown provider for subagent: ${providerName}`);
25
- }
26
- let apiKey = providerConfig.env && providerConfig.env.length > 0
27
- ? process.env[providerConfig.env[0]]
28
- : undefined;
29
- if (!apiKey) {
30
- const providerKeys = await metadataManager.getProviderKeys();
31
- apiKey = providerKeys[providerConfig.name];
32
- }
33
- if (!apiKey) {
34
- throw new Error(`No API key found for subagent provider: ${providerName}. ` +
35
- `Set ${providerConfig.env && providerConfig.env.length > 0 ? providerConfig.env[0] : "an API key"} ` +
36
- `in environment variables or configuration.`);
37
- }
38
- const resolvedModel = resolveModel(providerName, model, providerConfig);
39
- console.log(`[subagent] Starting with model=${resolvedModel.id}, tools=${tools.map((t) => t.name).join(",")}`);
40
- const agent = new Agent({
41
- initialState: {
42
- systemPrompt,
43
- model: resolvedModel,
44
- tools,
45
- },
46
- getApiKey: async () => apiKey,
47
- });
48
- const eventQueue = new EventQueue();
49
- let done = false;
50
- let aborted = false;
51
- const onAbort = () => {
52
- if (aborted)
53
- return;
54
- aborted = true;
55
- agent.abort();
56
- done = true;
57
- eventQueue.notify();
58
- };
59
- if (signal) {
60
- if (signal.aborted)
61
- return "";
62
- signal.addEventListener("abort", onAbort, { once: true });
63
- }
64
- const unsubscribe = agent.subscribe((event) => {
65
- eventQueue.handlePiEvent(event);
66
- // Drain the queue immediately and forward events to the parent
67
- while (eventQueue.length > 0) {
68
- const e = eventQueue.shift();
69
- if (e)
70
- onEvent(e);
71
- }
72
- });
73
- const promptDone = agent
74
- .prompt(prompt)
75
- .then(() => {
76
- done = true;
77
- eventQueue.notify();
78
- })
79
- .catch((err) => {
80
- const errMessage = err instanceof Error ? err.message : String(err);
81
- console.error(`[subagent] Agent prompt failed:`, errMessage);
82
- if (!eventQueue.errorOccurred) {
83
- eventQueue.errorOccurred = true;
84
- const errorEvent = {
85
- type: "error",
86
- content: errMessage,
87
- error: {
88
- code: getErrorCode(err) ?? "SUBAGENT_EXECUTION_ERROR",
89
- message: errMessage,
90
- details: { stack: err instanceof Error ? err.stack : undefined },
91
- },
92
- };
93
- onEvent(errorEvent);
94
- }
95
- done = true;
96
- eventQueue.notify();
97
- });
98
- try {
99
- // Drain any remaining queued events while waiting for completion
100
- while (!done || eventQueue.length > 0) {
101
- if (eventQueue.length > 0) {
102
- const e = eventQueue.shift();
103
- if (e)
104
- onEvent(e);
105
- }
106
- else {
107
- await new Promise((resolve) => {
108
- eventQueue.setResolver(resolve);
109
- });
110
- }
111
- }
112
- if (!aborted) {
113
- await promptDone;
114
- // Drain any final events
115
- while (eventQueue.length > 0) {
116
- const e = eventQueue.shift();
117
- if (e)
118
- onEvent(e);
119
- }
120
- }
121
- return eventQueue.finalContent;
122
- }
123
- catch (error) {
124
- onEvent(formatErrorEvent(error));
125
- return "";
126
- }
127
- finally {
128
- if (signal)
129
- signal.removeEventListener("abort", onAbort);
130
- unsubscribe();
131
- agent.abort();
132
- eventQueue.clearResolver();
133
- }
134
- }
135
- //# sourceMappingURL=agent.subagent-executor.js.map
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.d.ts.map
package/dist/bun/index.js DELETED
@@ -1,165 +0,0 @@
1
- import Electrobun, { BrowserWindow, PATHS, ApplicationMenu } from "electrobun/bun";
2
- import path from "path";
3
- import { Utils } from "electrobun/bun";
4
- import { startTarskServer } from "../server.js";
5
- import { logger } from "../core/logger.js";
6
- // Setup logging to capture all console output
7
- logger.setupLogging();
8
- const args = process.argv.slice(2);
9
- const isDebug = args.includes("--debug");
10
- console.log(`Startup: isDebug=${isDebug} electroBun=${!!Electrobun}`);
11
- if (!isDebug && !Electrobun) {
12
- console.log = () => { };
13
- }
14
- async function showLogs() {
15
- Utils.showItemInFolder(logger.getLogFilePath());
16
- }
17
- async function checkForAppUpdate() {
18
- try {
19
- // Skip update checks in dev mode
20
- let info = undefined;
21
- try {
22
- console.log(`checkForAppUpdate.getLocalInfo()`);
23
- info = await Electrobun.Updater.getLocallocalInfo();
24
- console.log(`checkForAppUpdate`, info);
25
- }
26
- catch (e) {
27
- console.warn("Failed to get local info", e);
28
- //return;
29
- }
30
- console.log(`checkForAppUpdate.checkForUpdate()`);
31
- const updateInfo = await Electrobun.Updater.checkForUpdate();
32
- console.log(`checkForAppUpdate.checkForUpdate()`, updateInfo);
33
- if (!updateInfo?.updateAvailable) {
34
- console.log("No updates available");
35
- Utils.showNotification({
36
- title: "No Updates Available",
37
- });
38
- return;
39
- }
40
- Utils.showNotification({
41
- title: "Downloading Update",
42
- });
43
- console.log(`checkForAppUpdate.downloadUpdate()`);
44
- await Electrobun.Updater.downloadUpdate();
45
- console.log(`checkForAppUpdate.downloadUpdate() completed`);
46
- if (Electrobun.Updater.updateInfo()?.updateReady) {
47
- Utils.showNotification({
48
- title: "Applying Update",
49
- });
50
- console.log(`checkForAppUpdate.applyUpdate()`);
51
- await Electrobun.Updater.applyUpdate();
52
- console.log(`checkForAppUpdate.applyUpdate() completed`);
53
- }
54
- }
55
- catch (error) {
56
- if (isDebug) {
57
- console.error("Failed to check/apply update", error);
58
- }
59
- }
60
- }
61
- // Setup application menu with version info
62
- const setupMenu = async () => {
63
- try {
64
- // Skip version info and updates in dev mode
65
- let version = "Unknown";
66
- let includeUpdateMenu = false;
67
- try {
68
- const localInfo = await Electrobun.Updater.getLocallocalInfo();
69
- console.log(`Local info:`, localInfo);
70
- version = localInfo.version;
71
- includeUpdateMenu = true;
72
- }
73
- catch (e) {
74
- // In dev mode, version.json doesn't exist - this is expected
75
- console.log(`Version check failed: ${String(e)}`);
76
- }
77
- const tarskSubmenu = [
78
- {
79
- label: `Version ${version}`,
80
- action: "show-version",
81
- enabled: false,
82
- type: "normal",
83
- },
84
- ];
85
- if (includeUpdateMenu) {
86
- tarskSubmenu.push({ type: "separator" }, // eslint-disable-line @typescript-eslint/no-explicit-any
87
- {
88
- label: "Check for Updates",
89
- action: "check-for-updates",
90
- type: "normal",
91
- });
92
- }
93
- tarskSubmenu.push({ type: "separator" }, // eslint-disable-line @typescript-eslint/no-explicit-any
94
- {
95
- label: "View Logs",
96
- action: "view-logs",
97
- type: "normal",
98
- }, { type: "separator" }, // eslint-disable-line @typescript-eslint/no-explicit-any
99
- { role: "quit" });
100
- const menu = [
101
- {
102
- label: "Tarsk",
103
- submenu: tarskSubmenu,
104
- },
105
- {
106
- label: "Edit",
107
- submenu: [
108
- { role: "undo" },
109
- { role: "redo" },
110
- { type: "separator" }, // eslint-disable-line @typescript-eslint/no-explicit-any
111
- { role: "cut" },
112
- { role: "copy" },
113
- { role: "paste" },
114
- { role: "selectAll" },
115
- ],
116
- },
117
- ];
118
- ApplicationMenu.setApplicationMenu(menu); // eslint-disable-line @typescript-eslint/no-explicit-any
119
- Electrobun.events.on("application-menu-clicked", async (e) => {
120
- switch (e.data.action) {
121
- case "view-logs":
122
- await showLogs();
123
- break;
124
- case "check-for-updates":
125
- await checkForAppUpdate();
126
- break;
127
- default:
128
- break;
129
- }
130
- });
131
- }
132
- catch (error) {
133
- if (isDebug) {
134
- console.error("Failed to setup menu:", error);
135
- }
136
- }
137
- };
138
- console.log(`index.ts setupMenu()`);
139
- await setupMenu();
140
- // Check for updates on startup
141
- //void checkForAppUpdate();
142
- const publicDir = path.join(PATHS.VIEWS_FOLDER, "public");
143
- const { url } = await startTarskServer({
144
- isDebug,
145
- openBrowser: false,
146
- publicDir,
147
- updater: {
148
- checkForUpdate: () => Electrobun.Updater.checkForUpdate(),
149
- downloadUpdate: () => Electrobun.Updater.downloadUpdate(),
150
- applyUpdate: () => Electrobun.Updater.applyUpdate(),
151
- getUpdateInfo: () => Electrobun.Updater.updateInfo(),
152
- },
153
- });
154
- new BrowserWindow({
155
- title: "Tarsk",
156
- transparent: false,
157
- url,
158
- frame: {
159
- width: 1320,
160
- height: 860,
161
- x: 120,
162
- y: 80,
163
- },
164
- });
165
- //# sourceMappingURL=index.js.map
package/dist/cli.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.js DELETED
@@ -1,22 +0,0 @@
1
- #!/usr/bin/env node
2
- import { spawnProcess } from "./core/utils.js";
3
- import { fileURLToPath } from "url";
4
- import path from "path";
5
- const __filename = fileURLToPath(import.meta.url);
6
- const __dirname = path.dirname(__filename);
7
- // Run the main index.js with --open flag to open browser
8
- const indexPath = path.join(__dirname, "index.js");
9
- const args = [...process.argv.slice(2), "--open"];
10
- const child = spawnProcess("node", [indexPath, ...args], {
11
- stdio: "inherit",
12
- });
13
- process.on("SIGINT", () => {
14
- child.kill("SIGINT");
15
- });
16
- process.on("SIGTERM", () => {
17
- child.kill("SIGTERM");
18
- });
19
- child.on("exit", (code) => {
20
- process.exit(code ?? 0);
21
- });
22
- //# sourceMappingURL=cli.js.map
@@ -1,29 +0,0 @@
1
- /**
2
- * Crypto utilities for encrypting/decrypting sensitive data
3
- *
4
- * Uses AES-256-GCM encryption with a machine-specific key derived from
5
- * unchanging machine identifiers.
6
- */
7
- /**
8
- * Encrypt a string value
9
- *
10
- * @param plaintext - The string to encrypt
11
- * @returns Base64-encoded encrypted data in format: iv:authTag:ciphertext
12
- */
13
- export declare function encrypt(plaintext: string): Promise<string>;
14
- /**
15
- * Decrypt an encrypted string value
16
- *
17
- * @param encryptedData - Base64-encoded encrypted data in format: iv:authTag:ciphertext
18
- * @returns The decrypted plaintext string
19
- * @throws Error if decryption fails (wrong key, corrupted data, etc.)
20
- */
21
- export declare function decrypt(encryptedData: string): Promise<string>;
22
- /**
23
- * Check if a string appears to be encrypted
24
- *
25
- * @param value - The string to check
26
- * @returns true if the string appears to be in encrypted format
27
- */
28
- export declare function isEncrypted(value: string): boolean;
29
- //# sourceMappingURL=crypto.d.ts.map