@itphx/synth-core 0.2.0 → 0.3.0

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 (510) hide show
  1. package/definitions/protected-paths.json +36 -0
  2. package/definitions/shell-policy.json +36 -0
  3. package/dist/definitions/protected-paths.json +36 -0
  4. package/dist/definitions/shell-policy.json +36 -0
  5. package/dist/engine/agents/definitions/admin.json +3 -1
  6. package/dist/engine/agents/definitions/analyst.json +3 -1
  7. package/dist/engine/agents/definitions/assistant.json +2 -2
  8. package/dist/engine/agents/definitions/auditor.json +4 -1
  9. package/dist/engine/agents/definitions/developer.json +4 -1
  10. package/dist/engine/agents/definitions/devops.json +4 -1
  11. package/dist/engine/agents/definitions/explore.json +3 -3
  12. package/dist/engine/agents/definitions/general.json +2 -2
  13. package/dist/engine/agents/definitions/pm.json +5 -1
  14. package/dist/engine/agents/definitions/qa.json +4 -1
  15. package/dist/engine/agents/definitions/title.json +2 -2
  16. package/dist/engine/agents/index.d.ts +4 -0
  17. package/dist/engine/agents/index.d.ts.map +1 -1
  18. package/dist/engine/agents/index.js +9 -3
  19. package/dist/engine/agents/index.js.map +1 -1
  20. package/dist/engine/agents/mode.d.ts +5 -3
  21. package/dist/engine/agents/mode.d.ts.map +1 -1
  22. package/dist/engine/agents/mode.js +6 -6
  23. package/dist/engine/agents/mode.js.map +1 -1
  24. package/dist/engine/agents/mode.test.js +9 -3
  25. package/dist/engine/agents/mode.test.js.map +1 -1
  26. package/dist/engine/agents/normalize.d.ts +9 -0
  27. package/dist/engine/agents/normalize.d.ts.map +1 -0
  28. package/dist/engine/agents/normalize.js +22 -0
  29. package/dist/engine/agents/normalize.js.map +1 -0
  30. package/dist/engine/agents/normalize.test.d.ts +2 -0
  31. package/dist/engine/agents/normalize.test.d.ts.map +1 -0
  32. package/dist/engine/agents/normalize.test.js +37 -0
  33. package/dist/engine/agents/normalize.test.js.map +1 -0
  34. package/dist/engine/agents/registry.d.ts +2 -1
  35. package/dist/engine/agents/registry.d.ts.map +1 -1
  36. package/dist/engine/agents/registry.js +7 -6
  37. package/dist/engine/agents/registry.js.map +1 -1
  38. package/dist/engine/agents/registry.test.js +24 -0
  39. package/dist/engine/agents/registry.test.js.map +1 -1
  40. package/dist/engine/context/config.d.ts +43 -6
  41. package/dist/engine/context/config.d.ts.map +1 -1
  42. package/dist/engine/context/config.js +123 -26
  43. package/dist/engine/context/config.js.map +1 -1
  44. package/dist/engine/context/config.security.test.d.ts +2 -0
  45. package/dist/engine/context/config.security.test.d.ts.map +1 -0
  46. package/dist/engine/context/config.security.test.js +82 -0
  47. package/dist/engine/context/config.security.test.js.map +1 -0
  48. package/dist/engine/context/config.test.js +199 -10
  49. package/dist/engine/context/config.test.js.map +1 -1
  50. package/dist/engine/context/optimizer.d.ts +20 -1
  51. package/dist/engine/context/optimizer.d.ts.map +1 -1
  52. package/dist/engine/context/optimizer.js +63 -29
  53. package/dist/engine/context/optimizer.js.map +1 -1
  54. package/dist/engine/context/optimizer.test.js +156 -0
  55. package/dist/engine/context/optimizer.test.js.map +1 -1
  56. package/dist/engine/gateway/gateway-provider.d.ts +4 -0
  57. package/dist/engine/gateway/gateway-provider.d.ts.map +1 -1
  58. package/dist/engine/gateway/gateway-provider.js +7 -2
  59. package/dist/engine/gateway/gateway-provider.js.map +1 -1
  60. package/dist/engine/gateway/gateway-provider.test.js +3 -3
  61. package/dist/engine/gateway/gateway-provider.test.js.map +1 -1
  62. package/dist/engine/gateway/input-guard.d.ts.map +1 -1
  63. package/dist/engine/gateway/input-guard.js +2 -1
  64. package/dist/engine/gateway/input-guard.js.map +1 -1
  65. package/dist/engine/gateway/secret-detector.d.ts.map +1 -1
  66. package/dist/engine/gateway/secret-detector.js +2 -3
  67. package/dist/engine/gateway/secret-detector.js.map +1 -1
  68. package/dist/engine/gateway/secret-detector.test.js +4 -4
  69. package/dist/engine/gateway/secret-detector.test.js.map +1 -1
  70. package/dist/engine/llm-error.d.ts +23 -0
  71. package/dist/engine/llm-error.d.ts.map +1 -0
  72. package/dist/engine/llm-error.js +86 -0
  73. package/dist/engine/llm-error.js.map +1 -0
  74. package/dist/engine/llm-error.test.d.ts +2 -0
  75. package/dist/engine/llm-error.test.d.ts.map +1 -0
  76. package/dist/engine/llm-error.test.js +101 -0
  77. package/dist/engine/llm-error.test.js.map +1 -0
  78. package/dist/engine/orchestrator-deny-abort.test.d.ts +2 -0
  79. package/dist/engine/orchestrator-deny-abort.test.d.ts.map +1 -0
  80. package/dist/engine/orchestrator-deny-abort.test.js +414 -0
  81. package/dist/engine/orchestrator-deny-abort.test.js.map +1 -0
  82. package/dist/engine/orchestrator-error.test.d.ts +2 -0
  83. package/dist/engine/orchestrator-error.test.d.ts.map +1 -0
  84. package/dist/engine/orchestrator-error.test.js +136 -0
  85. package/dist/engine/orchestrator-error.test.js.map +1 -0
  86. package/dist/engine/orchestrator.d.ts +123 -10
  87. package/dist/engine/orchestrator.d.ts.map +1 -1
  88. package/dist/engine/orchestrator.js +791 -181
  89. package/dist/engine/orchestrator.js.map +1 -1
  90. package/dist/engine/orchestrator.test.js +723 -0
  91. package/dist/engine/orchestrator.test.js.map +1 -1
  92. package/dist/engine/permission/approval.d.ts.map +1 -1
  93. package/dist/engine/permission/approval.js +29 -10
  94. package/dist/engine/permission/approval.js.map +1 -1
  95. package/dist/engine/permission/approval.test.js +57 -0
  96. package/dist/engine/permission/approval.test.js.map +1 -1
  97. package/dist/engine/permission/evaluator.d.ts +13 -0
  98. package/dist/engine/permission/evaluator.d.ts.map +1 -1
  99. package/dist/engine/permission/evaluator.js +121 -22
  100. package/dist/engine/permission/evaluator.js.map +1 -1
  101. package/dist/engine/permission/evaluator.test.js +188 -4
  102. package/dist/engine/permission/evaluator.test.js.map +1 -1
  103. package/dist/engine/permission/groups.d.ts.map +1 -1
  104. package/dist/engine/permission/groups.js +19 -1
  105. package/dist/engine/permission/groups.js.map +1 -1
  106. package/dist/engine/permission/integration.test.js +165 -4
  107. package/dist/engine/permission/integration.test.js.map +1 -1
  108. package/dist/engine/plan.integration.test.js +142 -33
  109. package/dist/engine/plan.integration.test.js.map +1 -1
  110. package/dist/engine/router/micro/tasks/classify-intent.d.ts.map +1 -1
  111. package/dist/engine/router/micro/tasks/classify-intent.js +24 -18
  112. package/dist/engine/router/micro/tasks/classify-intent.js.map +1 -1
  113. package/dist/engine/router/micro/tasks/classify-intent.test.js +4 -4
  114. package/dist/engine/router/micro/tasks/classify-intent.test.js.map +1 -1
  115. package/dist/engine/router/micro/tasks/enum-decision.d.ts.map +1 -1
  116. package/dist/engine/router/micro/tasks/enum-decision.js +14 -8
  117. package/dist/engine/router/micro/tasks/enum-decision.js.map +1 -1
  118. package/dist/engine/router/micro/tasks/enum-decision.test.js +2 -2
  119. package/dist/engine/router/micro/tasks/enum-decision.test.js.map +1 -1
  120. package/dist/engine/router/micro/tasks/small-talk.d.ts.map +1 -1
  121. package/dist/engine/router/micro/tasks/small-talk.js +20 -17
  122. package/dist/engine/router/micro/tasks/small-talk.js.map +1 -1
  123. package/dist/engine/router/micro/types.d.ts +2 -0
  124. package/dist/engine/router/micro/types.d.ts.map +1 -1
  125. package/dist/engine/router/provider-pool.d.ts +2 -2
  126. package/dist/engine/router/provider-pool.d.ts.map +1 -1
  127. package/dist/engine/router/provider-pool.js +5 -3
  128. package/dist/engine/router/provider-pool.js.map +1 -1
  129. package/dist/engine/router/quality-checker.d.ts.map +1 -1
  130. package/dist/engine/router/quality-checker.js +15 -14
  131. package/dist/engine/router/quality-checker.js.map +1 -1
  132. package/dist/engine/router/router.d.ts +2 -2
  133. package/dist/engine/router/router.d.ts.map +1 -1
  134. package/dist/engine/router/router.js +8 -5
  135. package/dist/engine/router/router.js.map +1 -1
  136. package/dist/engine/router/utils.d.ts +2 -2
  137. package/dist/engine/router/utils.d.ts.map +1 -1
  138. package/dist/engine/router/utils.js +2 -1
  139. package/dist/engine/router/utils.js.map +1 -1
  140. package/dist/engine/security/index.d.ts +6 -0
  141. package/dist/engine/security/index.d.ts.map +1 -1
  142. package/dist/engine/security/index.js +3 -0
  143. package/dist/engine/security/index.js.map +1 -1
  144. package/dist/engine/security/integration.test.js +11 -11
  145. package/dist/engine/security/integration.test.js.map +1 -1
  146. package/dist/engine/security/prompt-injection.d.ts +1 -1
  147. package/dist/engine/security/prompt-injection.d.ts.map +1 -1
  148. package/dist/engine/security/prompt-injection.js +2 -1
  149. package/dist/engine/security/prompt-injection.js.map +1 -1
  150. package/dist/engine/security/prompt-injection.test.js +1 -1
  151. package/dist/engine/security/prompt-injection.test.js.map +1 -1
  152. package/dist/engine/security/protected-paths-store.d.ts +56 -0
  153. package/dist/engine/security/protected-paths-store.d.ts.map +1 -0
  154. package/dist/engine/security/protected-paths-store.js +239 -0
  155. package/dist/engine/security/protected-paths-store.js.map +1 -0
  156. package/dist/engine/security/protected-paths.d.ts +54 -0
  157. package/dist/engine/security/protected-paths.d.ts.map +1 -0
  158. package/dist/engine/security/protected-paths.js +193 -0
  159. package/dist/engine/security/protected-paths.js.map +1 -0
  160. package/dist/engine/security/protected-paths.test.d.ts +2 -0
  161. package/dist/engine/security/protected-paths.test.d.ts.map +1 -0
  162. package/dist/engine/security/protected-paths.test.js +166 -0
  163. package/dist/engine/security/protected-paths.test.js.map +1 -0
  164. package/dist/engine/security/shell-guard.d.ts +117 -0
  165. package/dist/engine/security/shell-guard.d.ts.map +1 -0
  166. package/dist/engine/security/shell-guard.js +578 -0
  167. package/dist/engine/security/shell-guard.js.map +1 -0
  168. package/dist/engine/security/shell-guard.test.d.ts +2 -0
  169. package/dist/engine/security/shell-guard.test.d.ts.map +1 -0
  170. package/dist/engine/security/shell-guard.test.js +378 -0
  171. package/dist/engine/security/shell-guard.test.js.map +1 -0
  172. package/dist/engine/system-messages.d.ts +237 -0
  173. package/dist/engine/system-messages.d.ts.map +1 -0
  174. package/dist/engine/system-messages.js +276 -0
  175. package/dist/engine/system-messages.js.map +1 -0
  176. package/dist/engine/system-messages.test.d.ts +2 -0
  177. package/dist/engine/system-messages.test.d.ts.map +1 -0
  178. package/dist/engine/system-messages.test.js +81 -0
  179. package/dist/engine/system-messages.test.js.map +1 -0
  180. package/dist/engine/tools/abort.d.ts +21 -0
  181. package/dist/engine/tools/abort.d.ts.map +1 -0
  182. package/dist/engine/tools/abort.js +44 -0
  183. package/dist/engine/tools/abort.js.map +1 -0
  184. package/dist/engine/tools/classify-conversation.d.ts.map +1 -1
  185. package/dist/engine/tools/classify-conversation.js +7 -2
  186. package/dist/engine/tools/classify-conversation.js.map +1 -1
  187. package/dist/engine/tools/fs-read.d.ts.map +1 -1
  188. package/dist/engine/tools/fs-read.js +17 -6
  189. package/dist/engine/tools/fs-read.js.map +1 -1
  190. package/dist/engine/tools/fs-read.test.js +43 -0
  191. package/dist/engine/tools/fs-read.test.js.map +1 -1
  192. package/dist/engine/tools/fs-write.d.ts.map +1 -1
  193. package/dist/engine/tools/fs-write.js +47 -17
  194. package/dist/engine/tools/fs-write.js.map +1 -1
  195. package/dist/engine/tools/git.d.ts +2 -1
  196. package/dist/engine/tools/git.d.ts.map +1 -1
  197. package/dist/engine/tools/git.js +85 -17
  198. package/dist/engine/tools/git.js.map +1 -1
  199. package/dist/engine/tools/git.test.js +39 -0
  200. package/dist/engine/tools/git.test.js.map +1 -1
  201. package/dist/engine/tools/index.d.ts.map +1 -1
  202. package/dist/engine/tools/index.js +16 -2
  203. package/dist/engine/tools/index.js.map +1 -1
  204. package/dist/engine/tools/json-schema.js +38 -0
  205. package/dist/engine/tools/json-schema.js.map +1 -1
  206. package/dist/engine/tools/json-schema.test.d.ts +2 -0
  207. package/dist/engine/tools/json-schema.test.d.ts.map +1 -0
  208. package/dist/engine/tools/json-schema.test.js +40 -0
  209. package/dist/engine/tools/json-schema.test.js.map +1 -0
  210. package/dist/engine/tools/path-utils.d.ts.map +1 -1
  211. package/dist/engine/tools/path-utils.js +24 -0
  212. package/dist/engine/tools/path-utils.js.map +1 -1
  213. package/dist/engine/tools/path-utils.test.js +15 -0
  214. package/dist/engine/tools/path-utils.test.js.map +1 -1
  215. package/dist/engine/tools/plan.d.ts +11 -3
  216. package/dist/engine/tools/plan.d.ts.map +1 -1
  217. package/dist/engine/tools/plan.js +326 -95
  218. package/dist/engine/tools/plan.js.map +1 -1
  219. package/dist/engine/tools/plan.test.js +161 -47
  220. package/dist/engine/tools/plan.test.js.map +1 -1
  221. package/dist/engine/tools/project-context.d.ts.map +1 -1
  222. package/dist/engine/tools/project-context.js +54 -42
  223. package/dist/engine/tools/project-context.js.map +1 -1
  224. package/dist/engine/tools/project-context.test.js +37 -22
  225. package/dist/engine/tools/project-context.test.js.map +1 -1
  226. package/dist/engine/tools/project-manage.d.ts +24 -0
  227. package/dist/engine/tools/project-manage.d.ts.map +1 -0
  228. package/dist/engine/tools/project-manage.js +311 -0
  229. package/dist/engine/tools/project-manage.js.map +1 -0
  230. package/dist/engine/tools/project-manage.test.d.ts +2 -0
  231. package/dist/engine/tools/project-manage.test.d.ts.map +1 -0
  232. package/dist/engine/tools/project-manage.test.js +196 -0
  233. package/dist/engine/tools/project-manage.test.js.map +1 -0
  234. package/dist/engine/tools/read-reference.d.ts.map +1 -1
  235. package/dist/engine/tools/read-reference.js +10 -5
  236. package/dist/engine/tools/read-reference.js.map +1 -1
  237. package/dist/engine/tools/read-reference.test.js +5 -2
  238. package/dist/engine/tools/read-reference.test.js.map +1 -1
  239. package/dist/engine/tools/search.d.ts.map +1 -1
  240. package/dist/engine/tools/search.js +16 -6
  241. package/dist/engine/tools/search.js.map +1 -1
  242. package/dist/engine/tools/shell.d.ts.map +1 -1
  243. package/dist/engine/tools/shell.js +17 -4
  244. package/dist/engine/tools/shell.js.map +1 -1
  245. package/dist/engine/tools/shell.test.js +63 -1
  246. package/dist/engine/tools/shell.test.js.map +1 -1
  247. package/dist/engine/tools/task-resume.d.ts +93 -0
  248. package/dist/engine/tools/task-resume.d.ts.map +1 -0
  249. package/dist/engine/tools/task-resume.js +269 -0
  250. package/dist/engine/tools/task-resume.js.map +1 -0
  251. package/dist/engine/tools/task-resume.test.d.ts +2 -0
  252. package/dist/engine/tools/task-resume.test.d.ts.map +1 -0
  253. package/dist/engine/tools/task-resume.test.js +423 -0
  254. package/dist/engine/tools/task-resume.test.js.map +1 -0
  255. package/dist/engine/tools/task.d.ts +81 -2
  256. package/dist/engine/tools/task.d.ts.map +1 -1
  257. package/dist/engine/tools/task.js +898 -471
  258. package/dist/engine/tools/task.js.map +1 -1
  259. package/dist/engine/tools/task.test.js +371 -3
  260. package/dist/engine/tools/task.test.js.map +1 -1
  261. package/dist/engine/tools/todo.d.ts +27 -1
  262. package/dist/engine/tools/todo.d.ts.map +1 -1
  263. package/dist/engine/tools/todo.js +320 -14
  264. package/dist/engine/tools/todo.js.map +1 -1
  265. package/dist/engine/tools/todo.test.js +150 -48
  266. package/dist/engine/tools/todo.test.js.map +1 -1
  267. package/dist/engine/tools/web.d.ts.map +1 -1
  268. package/dist/engine/tools/web.js +65 -18
  269. package/dist/engine/tools/web.js.map +1 -1
  270. package/dist/engine/tools/web.test.js +94 -2
  271. package/dist/engine/tools/web.test.js.map +1 -1
  272. package/dist/index.d.ts +8 -2
  273. package/dist/index.d.ts.map +1 -1
  274. package/dist/index.js +5 -2
  275. package/dist/index.js.map +1 -1
  276. package/dist/logger.d.ts.map +1 -1
  277. package/dist/logger.js +0 -1
  278. package/dist/logger.js.map +1 -1
  279. package/dist/main.js +3 -2
  280. package/dist/main.js.map +1 -1
  281. package/dist/prompts/roles/ADMIN.en.md +12 -11
  282. package/dist/prompts/roles/ADMIN.ru.md +12 -11
  283. package/dist/prompts/roles/ANALYST.en.md +12 -11
  284. package/dist/prompts/roles/ANALYST.ru.md +12 -11
  285. package/dist/prompts/roles/ASSISTANT.en.md +12 -11
  286. package/dist/prompts/roles/ASSISTANT.ru.md +12 -11
  287. package/dist/prompts/roles/AUDITOR.en.md +12 -11
  288. package/dist/prompts/roles/AUDITOR.ru.md +12 -11
  289. package/dist/prompts/roles/DEVELOPER.en.md +12 -11
  290. package/dist/prompts/roles/DEVELOPER.ru.md +12 -11
  291. package/dist/prompts/roles/DEVOPS.en.md +12 -11
  292. package/dist/prompts/roles/DEVOPS.ru.md +12 -11
  293. package/dist/prompts/roles/PM.en.md +12 -11
  294. package/dist/prompts/roles/PM.ru.md +12 -11
  295. package/dist/prompts/roles/QA.en.md +12 -11
  296. package/dist/prompts/roles/QA.ru.md +12 -11
  297. package/dist/prompts/roles/TITLE.en.md +30 -0
  298. package/dist/prompts/roles/TITLE.ru.md +3 -11
  299. package/dist/prompts/security/ask-protected-path.en.md +1 -0
  300. package/dist/prompts/security/ask-protected-path.ru.md +1 -0
  301. package/dist/prompts/security/deny-command.en.md +1 -0
  302. package/dist/prompts/security/deny-command.ru.md +1 -0
  303. package/dist/prompts/security/deny-protected-dir.en.md +1 -0
  304. package/dist/prompts/security/deny-protected-dir.ru.md +1 -0
  305. package/dist/prompts/security/deny-protected-path.en.md +1 -0
  306. package/dist/prompts/security/deny-protected-path.ru.md +1 -0
  307. package/dist/prompts/subagents/explore.en.md +23 -0
  308. package/dist/prompts/subagents/general.en.md +19 -0
  309. package/dist/prompts/system/MODE_ACT.en.md +20 -0
  310. package/{prompts/modes/act.md → dist/prompts/system/MODE_ACT.ru.md} +2 -0
  311. package/dist/prompts/system/MODE_PLAN.en.md +22 -0
  312. package/dist/prompts/{modes/plan.md → system/MODE_PLAN.ru.md} +4 -3
  313. package/dist/prompts/system/MODE_YOLO.en.md +22 -0
  314. package/{prompts/modes/yolo.md → dist/prompts/system/MODE_YOLO.ru.md} +2 -0
  315. package/dist/prompts/system/PLAN_GUIDE.en.md +36 -0
  316. package/dist/prompts/system/PLAN_GUIDE.ru.md +33 -0
  317. package/dist/prompts/system/PLAN_MODE_AUTO.en.md +11 -0
  318. package/dist/prompts/system/PLAN_MODE_AUTO.ru.md +12 -0
  319. package/dist/prompts/system/PLAN_MODE_STRICT_APPROVED.en.md +8 -0
  320. package/dist/prompts/system/PLAN_MODE_STRICT_APPROVED.ru.md +8 -0
  321. package/dist/prompts/system/PLAN_MODE_STRICT_NOT_APPROVED.en.md +7 -0
  322. package/dist/prompts/system/PLAN_MODE_STRICT_NOT_APPROVED.ru.md +7 -0
  323. package/dist/providers/anthropic.d.ts.map +1 -1
  324. package/dist/providers/anthropic.js +28 -2
  325. package/dist/providers/anthropic.js.map +1 -1
  326. package/dist/providers/base.d.ts +20 -1
  327. package/dist/providers/base.d.ts.map +1 -1
  328. package/dist/providers/base.js +17 -0
  329. package/dist/providers/base.js.map +1 -1
  330. package/dist/providers/exceptions.d.ts.map +1 -1
  331. package/dist/providers/exceptions.js +3 -2
  332. package/dist/providers/exceptions.js.map +1 -1
  333. package/dist/providers/ollama.d.ts +23 -0
  334. package/dist/providers/ollama.d.ts.map +1 -1
  335. package/dist/providers/ollama.js +128 -12
  336. package/dist/providers/ollama.js.map +1 -1
  337. package/dist/providers/ollama.test.d.ts +2 -0
  338. package/dist/providers/ollama.test.d.ts.map +1 -0
  339. package/dist/providers/ollama.test.js +129 -0
  340. package/dist/providers/ollama.test.js.map +1 -0
  341. package/dist/providers/openai.d.ts.map +1 -1
  342. package/dist/providers/openai.js +82 -9
  343. package/dist/providers/openai.js.map +1 -1
  344. package/dist/providers/openai.test.d.ts +2 -0
  345. package/dist/providers/openai.test.d.ts.map +1 -0
  346. package/dist/providers/openai.test.js +84 -0
  347. package/dist/providers/openai.test.js.map +1 -0
  348. package/dist/providers/stream-error.test.d.ts +2 -0
  349. package/dist/providers/stream-error.test.d.ts.map +1 -0
  350. package/dist/providers/stream-error.test.js +63 -0
  351. package/dist/providers/stream-error.test.js.map +1 -0
  352. package/dist/providers/timeout.test.d.ts +2 -0
  353. package/dist/providers/timeout.test.d.ts.map +1 -0
  354. package/dist/providers/timeout.test.js +129 -0
  355. package/dist/providers/timeout.test.js.map +1 -0
  356. package/dist/queue/processor.d.ts +22 -0
  357. package/dist/queue/processor.d.ts.map +1 -1
  358. package/dist/queue/processor.js +150 -25
  359. package/dist/queue/processor.js.map +1 -1
  360. package/dist/queue/processor.test.d.ts +2 -0
  361. package/dist/queue/processor.test.d.ts.map +1 -0
  362. package/dist/queue/processor.test.js +211 -0
  363. package/dist/queue/processor.test.js.map +1 -0
  364. package/dist/server/app.d.ts.map +1 -1
  365. package/dist/server/app.js +30 -8
  366. package/dist/server/app.js.map +1 -1
  367. package/dist/server/chat.d.ts.map +1 -1
  368. package/dist/server/chat.js +18 -2
  369. package/dist/server/chat.js.map +1 -1
  370. package/dist/server/routes/agents.d.ts.map +1 -1
  371. package/dist/server/routes/agents.js +39 -23
  372. package/dist/server/routes/agents.js.map +1 -1
  373. package/dist/server/routes/fs.d.ts.map +1 -1
  374. package/dist/server/routes/fs.js +185 -6
  375. package/dist/server/routes/fs.js.map +1 -1
  376. package/dist/server/routes/models.d.ts.map +1 -1
  377. package/dist/server/routes/models.js +3 -1
  378. package/dist/server/routes/models.js.map +1 -1
  379. package/dist/server/routes/queue.d.ts.map +1 -1
  380. package/dist/server/routes/queue.js +91 -17
  381. package/dist/server/routes/queue.js.map +1 -1
  382. package/dist/server/routes/sessions.d.ts +2 -1
  383. package/dist/server/routes/sessions.d.ts.map +1 -1
  384. package/dist/server/routes/sessions.js +68 -10
  385. package/dist/server/routes/sessions.js.map +1 -1
  386. package/dist/server/routes/sessions.test.js +102 -2
  387. package/dist/server/routes/sessions.test.js.map +1 -1
  388. package/dist/server/routes/settings.d.ts +6 -1
  389. package/dist/server/routes/settings.d.ts.map +1 -1
  390. package/dist/server/routes/settings.js +138 -0
  391. package/dist/server/routes/settings.js.map +1 -1
  392. package/dist/server/routes/settings.test.js +65 -1
  393. package/dist/server/routes/settings.test.js.map +1 -1
  394. package/dist/server/serialize.d.ts +9 -3
  395. package/dist/server/serialize.d.ts.map +1 -1
  396. package/dist/server/serialize.js +9 -3
  397. package/dist/server/serialize.js.map +1 -1
  398. package/dist/sessions/auto-title.d.ts +1 -1
  399. package/dist/sessions/auto-title.d.ts.map +1 -1
  400. package/dist/sessions/auto-title.js +24 -13
  401. package/dist/sessions/auto-title.js.map +1 -1
  402. package/dist/sessions/manager.d.ts +1 -2
  403. package/dist/sessions/manager.d.ts.map +1 -1
  404. package/dist/sessions/manager.js +11 -36
  405. package/dist/sessions/manager.js.map +1 -1
  406. package/dist/sessions/manager.test.js +2 -10
  407. package/dist/sessions/manager.test.js.map +1 -1
  408. package/dist/storage/file-store.d.ts.map +1 -1
  409. package/dist/storage/file-store.js +2 -6
  410. package/dist/storage/file-store.js.map +1 -1
  411. package/dist/storage/file-store.test.js +1 -6
  412. package/dist/storage/file-store.test.js.map +1 -1
  413. package/dist/storage/project-store.d.ts.map +1 -1
  414. package/dist/storage/project-store.js +12 -0
  415. package/dist/storage/project-store.js.map +1 -1
  416. package/dist/storage/runtime-settings.d.ts +25 -1
  417. package/dist/storage/runtime-settings.d.ts.map +1 -1
  418. package/dist/storage/runtime-settings.js +31 -0
  419. package/dist/storage/runtime-settings.js.map +1 -1
  420. package/package.json +6 -5
  421. package/prompts/roles/TITLE.en.md +30 -0
  422. package/prompts/security/ask-protected-path.en.md +1 -0
  423. package/prompts/security/ask-protected-path.ru.md +1 -0
  424. package/prompts/security/deny-command.en.md +1 -0
  425. package/prompts/security/deny-command.ru.md +1 -0
  426. package/prompts/security/deny-protected-dir.en.md +1 -0
  427. package/prompts/security/deny-protected-dir.ru.md +1 -0
  428. package/prompts/security/deny-protected-path.en.md +1 -0
  429. package/prompts/security/deny-protected-path.ru.md +1 -0
  430. package/prompts/subagents/explore.en.md +23 -0
  431. package/prompts/subagents/general.en.md +19 -0
  432. package/prompts/system/MODE_ACT.en.md +20 -0
  433. package/{dist/prompts/modes/act.md → prompts/system/MODE_ACT.ru.md} +2 -0
  434. package/prompts/system/MODE_PLAN.en.md +22 -0
  435. package/{dist/prompts/prompts/modes/plan.md → prompts/system/MODE_PLAN.ru.md} +4 -3
  436. package/prompts/system/MODE_YOLO.en.md +22 -0
  437. package/{dist/prompts/prompts/modes/yolo.md → prompts/system/MODE_YOLO.ru.md} +2 -0
  438. package/prompts/system/PLAN_GUIDE.en.md +36 -0
  439. package/prompts/system/PLAN_GUIDE.ru.md +33 -0
  440. package/prompts/system/PLAN_MODE_AUTO.en.md +11 -0
  441. package/prompts/system/PLAN_MODE_AUTO.ru.md +12 -0
  442. package/prompts/system/PLAN_MODE_STRICT_APPROVED.en.md +8 -0
  443. package/prompts/system/PLAN_MODE_STRICT_APPROVED.ru.md +8 -0
  444. package/prompts/system/PLAN_MODE_STRICT_NOT_APPROVED.en.md +7 -0
  445. package/prompts/system/PLAN_MODE_STRICT_NOT_APPROVED.ru.md +7 -0
  446. package/dist/dictionaries/dictionaries/coding.en.yaml +0 -20
  447. package/dist/dictionaries/dictionaries/coding.ru.yaml +0 -22
  448. package/dist/dictionaries/dictionaries/coding.tools.yaml +0 -12
  449. package/dist/dictionaries/dictionaries/enum.en.yaml +0 -54
  450. package/dist/dictionaries/dictionaries/enum.ru.yaml +0 -67
  451. package/dist/dictionaries/dictionaries/injection.en.yaml +0 -51
  452. package/dist/dictionaries/dictionaries/injection.ru.yaml +0 -51
  453. package/dist/dictionaries/dictionaries/intents.en.yaml +0 -68
  454. package/dist/dictionaries/dictionaries/intents.ru.yaml +0 -78
  455. package/dist/dictionaries/dictionaries/research.en.yaml +0 -17
  456. package/dist/dictionaries/dictionaries/research.ru.yaml +0 -17
  457. package/dist/dictionaries/dictionaries/small-talk.en.yaml +0 -67
  458. package/dist/dictionaries/dictionaries/small-talk.ru.yaml +0 -81
  459. package/dist/prompts/modes/yolo.md +0 -20
  460. package/dist/prompts/prompts/modes/act.md +0 -18
  461. package/dist/prompts/prompts/roles/ADMIN.en.md +0 -33
  462. package/dist/prompts/prompts/roles/ADMIN.ru.md +0 -33
  463. package/dist/prompts/prompts/roles/ANALYST.en.md +0 -33
  464. package/dist/prompts/prompts/roles/ANALYST.ru.md +0 -33
  465. package/dist/prompts/prompts/roles/ASSISTANT.en.md +0 -38
  466. package/dist/prompts/prompts/roles/ASSISTANT.ru.md +0 -38
  467. package/dist/prompts/prompts/roles/AUDITOR.en.md +0 -33
  468. package/dist/prompts/prompts/roles/AUDITOR.ru.md +0 -33
  469. package/dist/prompts/prompts/roles/DEVELOPER.en.md +0 -42
  470. package/dist/prompts/prompts/roles/DEVELOPER.ru.md +0 -42
  471. package/dist/prompts/prompts/roles/DEVOPS.en.md +0 -35
  472. package/dist/prompts/prompts/roles/DEVOPS.ru.md +0 -35
  473. package/dist/prompts/prompts/roles/PM.en.md +0 -33
  474. package/dist/prompts/prompts/roles/PM.ru.md +0 -33
  475. package/dist/prompts/prompts/roles/QA.en.md +0 -33
  476. package/dist/prompts/prompts/roles/QA.ru.md +0 -33
  477. package/dist/prompts/prompts/roles/TITLE.ru.md +0 -30
  478. package/dist/prompts/prompts/subagents/explore.ru.md +0 -23
  479. package/dist/prompts/prompts/subagents/general.ru.md +0 -19
  480. package/dist/prompts/prompts/system/COMPRESSED_DIALOG.en.md +0 -5
  481. package/dist/prompts/prompts/system/COMPRESSED_DIALOG.ru.md +0 -5
  482. package/dist/prompts/prompts/system/INTERVIEW.en.md +0 -18
  483. package/dist/prompts/prompts/system/INTERVIEW.ru.md +0 -18
  484. package/dist/prompts/prompts/system/PARTICIPANTS_NOTICE.en.md +0 -7
  485. package/dist/prompts/prompts/system/PARTICIPANTS_NOTICE.ru.md +0 -7
  486. package/dist/prompts/prompts/system/ROLES_DESCRIPTION.en.md +0 -16
  487. package/dist/prompts/prompts/system/ROLES_DESCRIPTION.ru.md +0 -16
  488. package/dist/prompts/prompts/system/ROUTING.en.md +0 -13
  489. package/dist/prompts/prompts/system/ROUTING.md +0 -6
  490. package/dist/prompts/prompts/system/ROUTING.ru.md +0 -13
  491. package/dist/prompts/prompts/system/RULES.en.md +0 -10
  492. package/dist/prompts/prompts/system/RULES.md +0 -10
  493. package/dist/prompts/prompts/system/RULES.ru.md +0 -10
  494. package/dist/prompts/prompts/system/STICKY_NOTES.en.md +0 -6
  495. package/dist/prompts/prompts/system/STICKY_NOTES.ru.md +0 -6
  496. package/dist/prompts/prompts/system/SUMMARIZER.en.md +0 -54
  497. package/dist/prompts/prompts/system/SUMMARIZER.ru.md +0 -54
  498. package/dist/prompts/prompts/system/USER_CONTEXT.en.md +0 -5
  499. package/dist/prompts/prompts/system/USER_CONTEXT.ru.md +0 -5
  500. package/dist/prompts/system/ROUTING.md +0 -6
  501. package/dist/prompts/system/RULES.md +0 -10
  502. package/dist/server/routes/i18n.d.ts +0 -3
  503. package/dist/server/routes/i18n.d.ts.map +0 -1
  504. package/dist/server/routes/i18n.js +0 -83
  505. package/dist/server/routes/i18n.js.map +0 -1
  506. package/prompts/modes/plan.md +0 -20
  507. package/prompts/system/ROUTING.md +0 -6
  508. package/prompts/system/RULES.md +0 -10
  509. /package/dist/prompts/{prompts/system → system}/GATEWAY.en.md +0 -0
  510. /package/dist/prompts/{prompts/system → system}/GATEWAY.ru.md +0 -0
@@ -3,11 +3,12 @@ import { execFile } from 'node:child_process';
3
3
  import { promisify } from 'node:util';
4
4
  import { mkdtemp, rm, mkdir, writeFile } from 'node:fs/promises';
5
5
  import { tmpdir } from 'node:os';
6
- import { join, basename } from 'node:path';
6
+ import { join } from 'node:path';
7
7
  import { getProjectInfoTool, listReposTool } from './project-context.js';
8
8
  import { SessionManager } from '../../sessions/manager.js';
9
9
  import { FileStore } from '../../storage/file-store.js';
10
10
  import { ProjectStore } from '../../storage/project-store.js';
11
+ import { ToolCapability } from '@itphx/synth-shared';
11
12
  const execFileAsync = promisify(execFile);
12
13
  describe('project-context tools', () => {
13
14
  let tmpDir;
@@ -29,6 +30,10 @@ describe('project-context tools', () => {
29
30
  ...overrides,
30
31
  };
31
32
  }
33
+ it('capability RUNTIME (группа runtime, а не file_read/git_read)', () => {
34
+ expect(getProjectInfoTool.capabilities).toEqual([ToolCapability.RUNTIME]);
35
+ expect(listReposTool.capabilities).toEqual([ToolCapability.RUNTIME]);
36
+ });
32
37
  async function initGitRepo(dir) {
33
38
  await execFileAsync('git', ['init', '-q'], { cwd: dir });
34
39
  await execFileAsync('git', ['config', 'user.email', 'test@example.com'], { cwd: dir });
@@ -37,16 +42,26 @@ describe('project-context tools', () => {
37
42
  await execFileAsync('git', ['add', '.'], { cwd: dir });
38
43
  await execFileAsync('git', ['commit', '-q', '-m', 'initial'], { cwd: dir });
39
44
  }
40
- it('get_project_info: возвращает имя и путь рабочего каталога', async () => {
45
+ it('get_project_info: без проекта возвращает честный статус и рабочий каталог', async () => {
41
46
  const result = await getProjectInfoTool.execute({}, makeCtx());
42
- expect(result.content).toContain(`# Проект: ${basename(tmpDir)}`);
43
- expect(result.content).toContain(`- Путь: ${tmpDir}`);
47
+ expect(result.content).toContain('# Project: none');
48
+ expect(result.content).toContain(`- Working directory: ${tmpDir}`);
49
+ expect(result.content).toContain('The plan is unavailable');
50
+ });
51
+ it('get_project_info: проект указан, но не найден', async () => {
52
+ const session = await sessionManager.createSession({ projectId: 'missing-id', title: 'S' });
53
+ const result = await getProjectInfoTool.execute({}, makeCtx({
54
+ sessionId: session.id,
55
+ extra: { sessionManager, projectStore, sessionId: session.id },
56
+ }));
57
+ expect(result.content).toContain('# Project: not found (id: missing-id)');
58
+ expect(result.content).toContain(`- Working directory: ${tmpDir}`);
44
59
  });
45
60
  it('get_project_info: определяет git-репозиторий в рабочем каталоге', async () => {
46
61
  await initGitRepo(tmpDir);
47
62
  const result = await getProjectInfoTool.execute({}, makeCtx());
48
- expect(result.content).toContain('Git-репозиторий');
49
- expect(result.content).toContain('- Ветка:');
63
+ expect(result.content).toContain('Git repository');
64
+ expect(result.content).toContain('- Branch:');
50
65
  expect(result.content).toContain('initial');
51
66
  });
52
67
  it('get_project_info: использует данные проекта при наличии ProjectStore и projectId в сессии', async () => {
@@ -57,9 +72,9 @@ describe('project-context tools', () => {
57
72
  sessionId: session.id,
58
73
  extra: { sessionManager, projectStore, sessionId: session.id },
59
74
  }));
60
- expect(result.content).toContain('# Проект: TestProject');
75
+ expect(result.content).toContain('# Project: TestProject');
61
76
  expect(result.content).toContain(`- ID: ${project.id}`);
62
- expect(result.content).toContain(`- Рабочий каталог проекта: ${tmpDir}`);
77
+ expect(result.content).toContain(`- Project working directory: ${tmpDir}`);
63
78
  expect(result.metadata?.projectWorkspace).toBe(tmpDir);
64
79
  });
65
80
  it('get_project_info: каталог проекта берётся из project.workspace, а не из рабочего каталога сессии', async () => {
@@ -74,9 +89,9 @@ describe('project-context tools', () => {
74
89
  workingDir: tmpDir,
75
90
  extra: { sessionManager, projectStore, sessionId: session.id },
76
91
  }));
77
- expect(result.content).toContain('# Проект: WsProject');
78
- expect(result.content).toContain(`- Рабочий каталог проекта: ${wsDir}`);
79
- expect(result.content).toContain('Git-репозиторий');
92
+ expect(result.content).toContain('# Project: WsProject');
93
+ expect(result.content).toContain(`- Project working directory: ${wsDir}`);
94
+ expect(result.content).toContain('Git repository');
80
95
  expect(result.content).toContain(wsDir);
81
96
  expect(result.metadata?.workingDir).toBe(tmpDir);
82
97
  expect(result.metadata?.projectWorkspace).toBe(wsDir);
@@ -95,14 +110,14 @@ describe('project-context tools', () => {
95
110
  await mkdir(sub, { recursive: true });
96
111
  await initGitRepo(sub);
97
112
  const result = await listReposTool.execute({}, makeCtx());
98
- expect(result.content).toContain('# Git-репозитории');
113
+ expect(result.content).toContain('# Git repositories');
99
114
  expect(result.content).toContain(tmpDir);
100
115
  expect(result.content).toContain(sub);
101
- expect(result.content).toContain('- Ветка:');
116
+ expect(result.content).toContain('- Branch:');
102
117
  });
103
118
  it('list_repos: возвращает сообщение, если репозитории не найдены', async () => {
104
119
  const result = await listReposTool.execute({}, makeCtx());
105
- expect(result.content).toContain('не найдены');
120
+ expect(result.content).toContain('No git repositories in');
106
121
  });
107
122
  it('list_repos: использует repos из проекта при наличии ProjectStore', async () => {
108
123
  await initGitRepo(tmpDir);
@@ -113,8 +128,8 @@ describe('project-context tools', () => {
113
128
  sessionId: session.id,
114
129
  extra: { sessionManager, projectStore, sessionId: session.id },
115
130
  }));
116
- expect(result.content).toContain('# Репозитории проекта TestProject:');
117
- expect(result.content).toContain('- Ветка:');
131
+ expect(result.content).toContain('# Repositories of project TestProject:');
132
+ expect(result.content).toContain('- Branch:');
118
133
  });
119
134
  it('get_project_info: относительный workspace резолвится относительно workspacesRoot', async () => {
120
135
  const wsRoot = join(tmpDir, 'ws-root');
@@ -129,8 +144,8 @@ describe('project-context tools', () => {
129
144
  workingDir: tmpDir,
130
145
  extra: { sessionManager, projectStore, sessionId: session.id, workspacesRoot: wsRoot },
131
146
  }));
132
- expect(result.content).toContain(`- Рабочий каталог проекта: ${wsDir}`);
133
- expect(result.content).toContain('Git-репозиторий');
147
+ expect(result.content).toContain(`- Project working directory: ${wsDir}`);
148
+ expect(result.content).toContain('Git repository');
134
149
  expect(result.metadata?.projectWorkspace).toBe(wsDir);
135
150
  });
136
151
  it('list_repos: относительный repo path резолвится относительно project.workspace', async () => {
@@ -150,9 +165,9 @@ describe('project-context tools', () => {
150
165
  workingDir: tmpDir,
151
166
  extra: { sessionManager, projectStore, sessionId: session.id, workspacesRoot: wsRoot },
152
167
  }));
153
- expect(result.content).toContain('# Репозитории проекта RelRepos:');
168
+ expect(result.content).toContain('# Repositories of project RelRepos:');
154
169
  expect(result.content).toContain(subrepo);
155
- expect(result.content).toContain('- Ветка:');
170
+ expect(result.content).toContain('- Branch:');
156
171
  expect(result.metadata?.projectWorkspace).toBe(wsDir);
157
172
  });
158
173
  it('list_repos: сканирует project.workspace, когда в проекте нет настроенных repos', async () => {
@@ -166,9 +181,9 @@ describe('project-context tools', () => {
166
181
  sessionId: session.id,
167
182
  extra: { sessionManager, projectStore, sessionId: session.id },
168
183
  }));
169
- expect(result.content).toContain(`# Git-репозитории в ${wsDir}:`);
184
+ expect(result.content).toContain(`# Git repositories in ${wsDir}:`);
170
185
  expect(result.content).toContain(wsDir);
171
- expect(result.content).toContain('- Ветка:');
186
+ expect(result.content).toContain('- Branch:');
172
187
  expect(result.metadata?.projectWorkspace).toBe(wsDir);
173
188
  });
174
189
  });
@@ -1 +1 @@
1
- {"version":3,"file":"project-context.test.js","sourceRoot":"","sources":["../../../src/engine/tools/project-context.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-context.test.js","sourceRoot":"","sources":["../../../src/engine/tools/project-context.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { ToolDefinition, ToolContext } from '@itphx/synth-shared';
2
+ import type { SessionManager } from '../../sessions/manager.js';
3
+ import type { EventBus } from '../../events/bus.js';
4
+ import type { ProjectStore } from '../../storage/project-store.js';
5
+ export interface ProjectManageExtra {
6
+ sessionManager?: SessionManager;
7
+ projectStore?: ProjectStore;
8
+ sessionId?: string;
9
+ eventBus?: EventBus;
10
+ }
11
+ /** Извлекает зависимости для project_create / project_attach из ctx.extra. */
12
+ export declare function getSessionExtra(ctx: ToolContext): ProjectManageExtra;
13
+ /**
14
+ * Привязывает сессию к проекту (AD-040): ставит projectId, сбрасывает
15
+ * planApproved (план берётся от нового проекта) и публикует session.moved.
16
+ */
17
+ export declare function attachSessionToProject(sessionManager: SessionManager, projectStore: ProjectStore, eventBus: EventBus | undefined, sessionId: string, projectId: string): Promise<void>;
18
+ export declare const projectCreateTool: ToolDefinition;
19
+ export declare const projectAttachTool: ToolDefinition;
20
+ export declare const projectLogWriteTool: ToolDefinition;
21
+ export declare const projectLogReadTool: ToolDefinition;
22
+ export declare const projectInvariantsReadTool: ToolDefinition;
23
+ export declare const projectInvariantsWriteTool: ToolDefinition;
24
+ //# sourceMappingURL=project-manage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-manage.d.ts","sourceRoot":"","sources":["../../../src/engine/tools/project-manage.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EAIZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAInE,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,kBAAkB,CAEpE;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAUf;AAiDD,eAAO,MAAM,iBAAiB,EAAE,cAgE/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,cAgD/B,CAAC;AAMF,eAAO,MAAM,mBAAmB,EAAE,cAsDjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cA+BhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,cA2BvC,CAAC;AAMF,eAAO,MAAM,0BAA0B,EAAE,cAyCxC,CAAC"}
@@ -0,0 +1,311 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { z } from 'zod';
3
+ import { nowISO, ToolCapability } from '@itphx/synth-shared';
4
+ import { isAborted, abortedResult } from './abort.js';
5
+ import { t as sm, i18n as i18nMeta } from '../system-messages.js';
6
+ /** Извлекает зависимости для project_create / project_attach из ctx.extra. */
7
+ export function getSessionExtra(ctx) {
8
+ return (ctx.extra ?? {});
9
+ }
10
+ /**
11
+ * Привязывает сессию к проекту (AD-040): ставит projectId, сбрасывает
12
+ * planApproved (план берётся от нового проекта) и публикует session.moved.
13
+ */
14
+ export async function attachSessionToProject(sessionManager, projectStore, eventBus, sessionId, projectId) {
15
+ await sessionManager.withLock(sessionId, async (s) => {
16
+ s.projectId = projectId;
17
+ s.planApproved = false;
18
+ await sessionManager.saveSession(s);
19
+ });
20
+ eventBus?.publish(sessionId, 'session.moved', {
21
+ session_id: sessionId,
22
+ project_id: projectId,
23
+ });
24
+ }
25
+ function argError(toolName, issues) {
26
+ return sm('tool.args_error', { tool: toolName, issues: issues
27
+ .map((i) => `${i.path.join('.') || 'root'}: ${i.message}`)
28
+ .join('; ') });
29
+ }
30
+ const NO_PROJECT_LOG_ERROR = sm('project.log_no_project');
31
+ const NO_PROJECT_INVARIANTS_ERROR = sm('project.invariants_no_project');
32
+ /** Загружает сессию и её проект. project === null, если проекта нет (или сессия не найдена). */
33
+ async function loadSessionProject(ctx) {
34
+ const extra = getSessionExtra(ctx);
35
+ if (!extra.projectStore || !extra.sessionManager) {
36
+ return { session: null, project: null };
37
+ }
38
+ const sessionId = ctx.sessionId || extra.sessionId;
39
+ if (!sessionId)
40
+ return { session: null, project: null };
41
+ try {
42
+ const session = await extra.sessionManager.getSession(sessionId);
43
+ if (!session)
44
+ return { session: null, project: null };
45
+ if (!session.projectId)
46
+ return { session, project: null };
47
+ const project = await extra.projectStore.load(session.projectId);
48
+ return { session, project };
49
+ }
50
+ catch {
51
+ return { session: null, project: null };
52
+ }
53
+ }
54
+ function missingDepsError(toolName) {
55
+ return {
56
+ content: sm('project.deps_unavailable', { tool: toolName }),
57
+ isError: true,
58
+ };
59
+ }
60
+ const projectCreateSchema = z.object({
61
+ name: z.string().min(1).describe('Project name'),
62
+ description: z.string().optional().describe('Project description'),
63
+ workspace: z.string().optional().describe('Workspace path of the project'),
64
+ });
65
+ const projectAttachSchema = z.object({
66
+ projectId: z.string().min(1).describe('Id of the project to attach the session to'),
67
+ });
68
+ export const projectCreateTool = {
69
+ name: 'project_create',
70
+ description: 'Create a new project and attach the current session to it. '
71
+ + 'Use it when the task requires a plan or long-term work with files, but the session has no project yet. '
72
+ + 'The session todo list is kept; the project plan is taken from the new project.',
73
+ parameters: projectCreateSchema,
74
+ capabilities: [ToolCapability.RUNTIME],
75
+ async execute(args, ctx) {
76
+ // «Стоп» пришёл до запуска — операция не выполняется (см. tools/abort.ts)
77
+ if (isAborted(ctx))
78
+ return abortedResult(this.name);
79
+ const parsed = this.parameters.safeParse(args);
80
+ if (!parsed.success) {
81
+ return { content: argError(this.name, parsed.error.issues), isError: true };
82
+ }
83
+ const params = parsed.data;
84
+ const extra = getSessionExtra(ctx);
85
+ if (!extra.sessionManager || !extra.projectStore || !extra.sessionId) {
86
+ return {
87
+ content: sm('project.deps_unavailable', { tool: 'project_create' }),
88
+ isError: true,
89
+ };
90
+ }
91
+ let session;
92
+ try {
93
+ session = await extra.sessionManager.getSession(extra.sessionId);
94
+ }
95
+ catch {
96
+ return { content: sm('project.session_read_error'), isError: true };
97
+ }
98
+ if (!session) {
99
+ return { content: sm('project.session_not_found'), isError: true };
100
+ }
101
+ const ownerId = session.ownerId || session.userId || 'local';
102
+ const project = extra.projectStore.create(params.name, ownerId, {
103
+ description: params.description,
104
+ workspace: params.workspace,
105
+ });
106
+ try {
107
+ await extra.projectStore.save(project);
108
+ }
109
+ catch (err) {
110
+ return {
111
+ content: sm('project.save_error', { error: err instanceof Error ? err.message : String(err) }),
112
+ isError: true,
113
+ };
114
+ }
115
+ await attachSessionToProject(extra.sessionManager, extra.projectStore, extra.eventBus, extra.sessionId, project.id);
116
+ const summary = { id: project.id, name: project.name, workspace: project.workspace ?? null };
117
+ return {
118
+ content: sm('project.created', { name: project.name, json: JSON.stringify(summary) }),
119
+ metadata: summary,
120
+ };
121
+ },
122
+ };
123
+ export const projectAttachTool = {
124
+ name: 'project_attach',
125
+ description: 'Attach the current session to an existing project by id. '
126
+ + 'The session todo list is kept; the project plan is taken from the target project. '
127
+ + 'Errors if the project does not exist.',
128
+ parameters: projectAttachSchema,
129
+ capabilities: [ToolCapability.RUNTIME],
130
+ async execute(args, ctx) {
131
+ // «Стоп» пришёл до запуска — операция не выполняется (см. tools/abort.ts)
132
+ if (isAborted(ctx))
133
+ return abortedResult(this.name);
134
+ const parsed = this.parameters.safeParse(args);
135
+ if (!parsed.success) {
136
+ return { content: argError(this.name, parsed.error.issues), isError: true };
137
+ }
138
+ const params = parsed.data;
139
+ const extra = getSessionExtra(ctx);
140
+ if (!extra.sessionManager || !extra.projectStore || !extra.sessionId) {
141
+ return {
142
+ content: sm('project.deps_unavailable', { tool: 'project_attach' }),
143
+ isError: true,
144
+ };
145
+ }
146
+ let project;
147
+ try {
148
+ project = await extra.projectStore.load(params.projectId);
149
+ }
150
+ catch {
151
+ return { content: sm('project.read_error'), isError: true };
152
+ }
153
+ if (!project) {
154
+ return { content: sm('project.not_found', { id: params.projectId }), isError: true, metadata: { i18n: i18nMeta('project.not_found', { id: params.projectId }) } };
155
+ }
156
+ await attachSessionToProject(extra.sessionManager, extra.projectStore, extra.eventBus, extra.sessionId, project.id);
157
+ return {
158
+ content: sm('project.attached', { name: project.name }),
159
+ metadata: { id: project.id, name: project.name },
160
+ };
161
+ },
162
+ };
163
+ const projectLogWriteSchema = z.object({
164
+ text: z.string().min(1).describe('Log entry text'),
165
+ });
166
+ export const projectLogWriteTool = {
167
+ name: 'project_log_write',
168
+ description: 'Append an entry to the project work log. The log is a chronological record of work '
169
+ + 'done in the project (stored in the project, visible in the UI). Requires the session '
170
+ + 'to be attached to a project.',
171
+ parameters: projectLogWriteSchema,
172
+ capabilities: [ToolCapability.RUNTIME],
173
+ async execute(args, ctx) {
174
+ // «Стоп» пришёл до запуска — операция не выполняется (см. tools/abort.ts)
175
+ if (isAborted(ctx))
176
+ return abortedResult(this.name);
177
+ const parsed = this.parameters.safeParse(args);
178
+ if (!parsed.success) {
179
+ return { content: argError(this.name, parsed.error.issues), isError: true };
180
+ }
181
+ const params = parsed.data;
182
+ const extra = getSessionExtra(ctx);
183
+ if (!extra.sessionManager || !extra.projectStore || !extra.sessionId) {
184
+ return missingDepsError(this.name);
185
+ }
186
+ const { session, project } = await loadSessionProject(ctx);
187
+ if (!project) {
188
+ return { content: NO_PROJECT_LOG_ERROR, isError: true };
189
+ }
190
+ const entry = {
191
+ id: randomUUID(),
192
+ text: params.text,
193
+ createdAt: nowISO(),
194
+ sessionId: extra.sessionId,
195
+ author: session?.settings.agentRole || 'assistant',
196
+ };
197
+ const log = project.log ?? [];
198
+ log.push(entry);
199
+ project.log = log;
200
+ project.updatedAt = nowISO();
201
+ try {
202
+ await extra.projectStore.save(project);
203
+ }
204
+ catch (err) {
205
+ return {
206
+ content: sm('project.log_save_error', { error: err instanceof Error ? err.message : String(err) }),
207
+ isError: true,
208
+ };
209
+ }
210
+ return {
211
+ content: sm('project.log_added', { count: String(log.length) }),
212
+ metadata: { entry, count: log.length },
213
+ };
214
+ },
215
+ };
216
+ export const projectLogReadTool = {
217
+ name: 'project_log_read',
218
+ description: 'Return the project work log as markdown. Each line is "- {createdAt} — {text}". '
219
+ + 'Requires the session to be attached to a project.',
220
+ parameters: z.object({}),
221
+ capabilities: [ToolCapability.RUNTIME],
222
+ async execute(_args, ctx) {
223
+ // «Стоп» пришёл до запуска — операция не выполняется (см. tools/abort.ts)
224
+ if (isAborted(ctx))
225
+ return abortedResult(this.name);
226
+ const extra = getSessionExtra(ctx);
227
+ if (!extra.sessionManager || !extra.projectStore || !extra.sessionId) {
228
+ return missingDepsError(this.name);
229
+ }
230
+ const { project } = await loadSessionProject(ctx);
231
+ if (!project) {
232
+ return { content: NO_PROJECT_LOG_ERROR, isError: true };
233
+ }
234
+ const log = project.log ?? [];
235
+ if (log.length === 0) {
236
+ return { content: sm('project.log_empty'), metadata: { count: 0, i18n: i18nMeta('project.log_empty') } };
237
+ }
238
+ const lines = log.map((e) => `- ${e.createdAt} — ${e.text}`);
239
+ return {
240
+ content: sm('project.log_list', { count: String(log.length), items: lines.join('\n') }),
241
+ metadata: { count: log.length },
242
+ };
243
+ },
244
+ };
245
+ export const projectInvariantsReadTool = {
246
+ name: 'project_invariants_read',
247
+ description: 'Return the project invariants — the rules and constraints the model must follow while '
248
+ + 'working on the project. Requires the session to be attached to a project.',
249
+ parameters: z.object({}),
250
+ capabilities: [ToolCapability.RUNTIME],
251
+ async execute(_args, ctx) {
252
+ // «Стоп» пришёл до запуска — операция не выполняется (см. tools/abort.ts)
253
+ if (isAborted(ctx))
254
+ return abortedResult(this.name);
255
+ const extra = getSessionExtra(ctx);
256
+ if (!extra.sessionManager || !extra.projectStore || !extra.sessionId) {
257
+ return missingDepsError(this.name);
258
+ }
259
+ const { project } = await loadSessionProject(ctx);
260
+ if (!project) {
261
+ return { content: NO_PROJECT_INVARIANTS_ERROR, isError: true };
262
+ }
263
+ const invariants = project.invariants?.trim();
264
+ if (!invariants) {
265
+ return { content: sm('project.invariants_empty'), metadata: { i18n: i18nMeta('project.invariants_empty') } };
266
+ }
267
+ return { content: invariants };
268
+ },
269
+ };
270
+ const projectInvariantsWriteSchema = z.object({
271
+ invariants: z.string().describe('Project invariants text'),
272
+ });
273
+ export const projectInvariantsWriteTool = {
274
+ name: 'project_invariants_write',
275
+ description: 'Set the project invariants — the rules and constraints the model must follow while '
276
+ + 'working on the project. Replaces the existing value. Requires the session to be '
277
+ + 'attached to a project.',
278
+ parameters: projectInvariantsWriteSchema,
279
+ capabilities: [ToolCapability.RUNTIME],
280
+ async execute(args, ctx) {
281
+ // «Стоп» пришёл до запуска — операция не выполняется (см. tools/abort.ts)
282
+ if (isAborted(ctx))
283
+ return abortedResult(this.name);
284
+ const parsed = this.parameters.safeParse(args);
285
+ if (!parsed.success) {
286
+ return { content: argError(this.name, parsed.error.issues), isError: true };
287
+ }
288
+ const params = parsed.data;
289
+ const extra = getSessionExtra(ctx);
290
+ if (!extra.sessionManager || !extra.projectStore || !extra.sessionId) {
291
+ return missingDepsError(this.name);
292
+ }
293
+ const { project } = await loadSessionProject(ctx);
294
+ if (!project) {
295
+ return { content: NO_PROJECT_INVARIANTS_ERROR, isError: true };
296
+ }
297
+ project.invariants = params.invariants;
298
+ project.updatedAt = nowISO();
299
+ try {
300
+ await extra.projectStore.save(project);
301
+ }
302
+ catch (err) {
303
+ return {
304
+ content: sm('project.invariants_save_error', { error: err instanceof Error ? err.message : String(err) }),
305
+ isError: true,
306
+ };
307
+ }
308
+ return { content: sm('project.invariants_saved'), metadata: { i18n: i18nMeta('project.invariants_saved') } };
309
+ },
310
+ };
311
+ //# sourceMappingURL=project-manage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-manage.js","sourceRoot":"","sources":["../../../src/engine/tools/project-manage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=project-manage.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-manage.test.d.ts","sourceRoot":"","sources":["../../../src/engine/tools/project-manage.test.ts"],"names":[],"mappings":""}