@itphx/synth-core 0.2.0 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (670) hide show
  1. package/definitions/protected-paths.json +36 -0
  2. package/definitions/shell-policy.json +36 -0
  3. package/dist/auth/local.d.ts +14 -0
  4. package/dist/auth/local.d.ts.map +1 -1
  5. package/dist/auth/local.js +63 -11
  6. package/dist/auth/local.js.map +1 -1
  7. package/dist/auth/local.test.js +59 -0
  8. package/dist/auth/local.test.js.map +1 -1
  9. package/dist/definitions/protected-paths.json +36 -0
  10. package/dist/definitions/shell-policy.json +36 -0
  11. package/dist/engine/agents/definitions/admin.json +3 -1
  12. package/dist/engine/agents/definitions/analyst.json +3 -1
  13. package/dist/engine/agents/definitions/assistant.json +2 -2
  14. package/dist/engine/agents/definitions/auditor.json +4 -1
  15. package/dist/engine/agents/definitions/developer.json +4 -1
  16. package/dist/engine/agents/definitions/devops.json +4 -1
  17. package/dist/engine/agents/definitions/explore.json +3 -3
  18. package/dist/engine/agents/definitions/general.json +2 -2
  19. package/dist/engine/agents/definitions/pm.json +5 -1
  20. package/dist/engine/agents/definitions/qa.json +4 -1
  21. package/dist/engine/agents/definitions/title.json +2 -2
  22. package/dist/engine/agents/index.d.ts +4 -0
  23. package/dist/engine/agents/index.d.ts.map +1 -1
  24. package/dist/engine/agents/index.js +9 -3
  25. package/dist/engine/agents/index.js.map +1 -1
  26. package/dist/engine/agents/mode.d.ts +5 -3
  27. package/dist/engine/agents/mode.d.ts.map +1 -1
  28. package/dist/engine/agents/mode.js +6 -6
  29. package/dist/engine/agents/mode.js.map +1 -1
  30. package/dist/engine/agents/mode.test.js +9 -3
  31. package/dist/engine/agents/mode.test.js.map +1 -1
  32. package/dist/engine/agents/normalize.d.ts +9 -0
  33. package/dist/engine/agents/normalize.d.ts.map +1 -0
  34. package/dist/engine/agents/normalize.js +22 -0
  35. package/dist/engine/agents/normalize.js.map +1 -0
  36. package/dist/engine/agents/normalize.test.d.ts +2 -0
  37. package/dist/engine/agents/normalize.test.d.ts.map +1 -0
  38. package/dist/engine/agents/normalize.test.js +37 -0
  39. package/dist/engine/agents/normalize.test.js.map +1 -0
  40. package/dist/engine/agents/registry.d.ts +2 -1
  41. package/dist/engine/agents/registry.d.ts.map +1 -1
  42. package/dist/engine/agents/registry.js +7 -6
  43. package/dist/engine/agents/registry.js.map +1 -1
  44. package/dist/engine/agents/registry.test.js +24 -0
  45. package/dist/engine/agents/registry.test.js.map +1 -1
  46. package/dist/engine/context/config.d.ts +43 -6
  47. package/dist/engine/context/config.d.ts.map +1 -1
  48. package/dist/engine/context/config.js +123 -26
  49. package/dist/engine/context/config.js.map +1 -1
  50. package/dist/engine/context/config.security.test.d.ts +2 -0
  51. package/dist/engine/context/config.security.test.d.ts.map +1 -0
  52. package/dist/engine/context/config.security.test.js +82 -0
  53. package/dist/engine/context/config.security.test.js.map +1 -0
  54. package/dist/engine/context/config.test.js +199 -10
  55. package/dist/engine/context/config.test.js.map +1 -1
  56. package/dist/engine/context/optimizer.d.ts +20 -1
  57. package/dist/engine/context/optimizer.d.ts.map +1 -1
  58. package/dist/engine/context/optimizer.js +63 -29
  59. package/dist/engine/context/optimizer.js.map +1 -1
  60. package/dist/engine/context/optimizer.test.js +156 -0
  61. package/dist/engine/context/optimizer.test.js.map +1 -1
  62. package/dist/engine/gateway/gateway-provider.d.ts +4 -0
  63. package/dist/engine/gateway/gateway-provider.d.ts.map +1 -1
  64. package/dist/engine/gateway/gateway-provider.js +7 -2
  65. package/dist/engine/gateway/gateway-provider.js.map +1 -1
  66. package/dist/engine/gateway/gateway-provider.test.js +3 -3
  67. package/dist/engine/gateway/gateway-provider.test.js.map +1 -1
  68. package/dist/engine/gateway/input-guard.d.ts.map +1 -1
  69. package/dist/engine/gateway/input-guard.js +2 -1
  70. package/dist/engine/gateway/input-guard.js.map +1 -1
  71. package/dist/engine/gateway/secret-detector.d.ts.map +1 -1
  72. package/dist/engine/gateway/secret-detector.js +2 -3
  73. package/dist/engine/gateway/secret-detector.js.map +1 -1
  74. package/dist/engine/gateway/secret-detector.test.js +4 -4
  75. package/dist/engine/gateway/secret-detector.test.js.map +1 -1
  76. package/dist/engine/llm-error.d.ts +23 -0
  77. package/dist/engine/llm-error.d.ts.map +1 -0
  78. package/dist/engine/llm-error.js +86 -0
  79. package/dist/engine/llm-error.js.map +1 -0
  80. package/dist/engine/llm-error.test.d.ts +2 -0
  81. package/dist/engine/llm-error.test.d.ts.map +1 -0
  82. package/dist/engine/llm-error.test.js +101 -0
  83. package/dist/engine/llm-error.test.js.map +1 -0
  84. package/dist/engine/orchestrator-deny-abort.test.d.ts +2 -0
  85. package/dist/engine/orchestrator-deny-abort.test.d.ts.map +1 -0
  86. package/dist/engine/orchestrator-deny-abort.test.js +414 -0
  87. package/dist/engine/orchestrator-deny-abort.test.js.map +1 -0
  88. package/dist/engine/orchestrator-error.test.d.ts +2 -0
  89. package/dist/engine/orchestrator-error.test.d.ts.map +1 -0
  90. package/dist/engine/orchestrator-error.test.js +136 -0
  91. package/dist/engine/orchestrator-error.test.js.map +1 -0
  92. package/dist/engine/orchestrator.d.ts +123 -10
  93. package/dist/engine/orchestrator.d.ts.map +1 -1
  94. package/dist/engine/orchestrator.js +791 -181
  95. package/dist/engine/orchestrator.js.map +1 -1
  96. package/dist/engine/orchestrator.test.js +723 -0
  97. package/dist/engine/orchestrator.test.js.map +1 -1
  98. package/dist/engine/permission/approval.d.ts.map +1 -1
  99. package/dist/engine/permission/approval.js +29 -10
  100. package/dist/engine/permission/approval.js.map +1 -1
  101. package/dist/engine/permission/approval.test.js +57 -0
  102. package/dist/engine/permission/approval.test.js.map +1 -1
  103. package/dist/engine/permission/evaluator.d.ts +13 -0
  104. package/dist/engine/permission/evaluator.d.ts.map +1 -1
  105. package/dist/engine/permission/evaluator.js +121 -22
  106. package/dist/engine/permission/evaluator.js.map +1 -1
  107. package/dist/engine/permission/evaluator.test.js +188 -4
  108. package/dist/engine/permission/evaluator.test.js.map +1 -1
  109. package/dist/engine/permission/groups.d.ts.map +1 -1
  110. package/dist/engine/permission/groups.js +19 -1
  111. package/dist/engine/permission/groups.js.map +1 -1
  112. package/dist/engine/permission/integration.test.js +165 -4
  113. package/dist/engine/permission/integration.test.js.map +1 -1
  114. package/dist/engine/plan.integration.test.js +142 -33
  115. package/dist/engine/plan.integration.test.js.map +1 -1
  116. package/dist/engine/router/micro/tasks/classify-intent.d.ts.map +1 -1
  117. package/dist/engine/router/micro/tasks/classify-intent.js +24 -18
  118. package/dist/engine/router/micro/tasks/classify-intent.js.map +1 -1
  119. package/dist/engine/router/micro/tasks/classify-intent.test.js +4 -4
  120. package/dist/engine/router/micro/tasks/classify-intent.test.js.map +1 -1
  121. package/dist/engine/router/micro/tasks/enum-decision.d.ts.map +1 -1
  122. package/dist/engine/router/micro/tasks/enum-decision.js +14 -8
  123. package/dist/engine/router/micro/tasks/enum-decision.js.map +1 -1
  124. package/dist/engine/router/micro/tasks/enum-decision.test.js +2 -2
  125. package/dist/engine/router/micro/tasks/enum-decision.test.js.map +1 -1
  126. package/dist/engine/router/micro/tasks/small-talk.d.ts.map +1 -1
  127. package/dist/engine/router/micro/tasks/small-talk.js +20 -17
  128. package/dist/engine/router/micro/tasks/small-talk.js.map +1 -1
  129. package/dist/engine/router/micro/types.d.ts +2 -0
  130. package/dist/engine/router/micro/types.d.ts.map +1 -1
  131. package/dist/engine/router/provider-pool.d.ts +2 -2
  132. package/dist/engine/router/provider-pool.d.ts.map +1 -1
  133. package/dist/engine/router/provider-pool.js +5 -3
  134. package/dist/engine/router/provider-pool.js.map +1 -1
  135. package/dist/engine/router/quality-checker.d.ts.map +1 -1
  136. package/dist/engine/router/quality-checker.js +15 -14
  137. package/dist/engine/router/quality-checker.js.map +1 -1
  138. package/dist/engine/router/router.d.ts +2 -2
  139. package/dist/engine/router/router.d.ts.map +1 -1
  140. package/dist/engine/router/router.js +8 -5
  141. package/dist/engine/router/router.js.map +1 -1
  142. package/dist/engine/router/utils.d.ts +2 -2
  143. package/dist/engine/router/utils.d.ts.map +1 -1
  144. package/dist/engine/router/utils.js +2 -1
  145. package/dist/engine/router/utils.js.map +1 -1
  146. package/dist/engine/security/index.d.ts +6 -0
  147. package/dist/engine/security/index.d.ts.map +1 -1
  148. package/dist/engine/security/index.js +3 -0
  149. package/dist/engine/security/index.js.map +1 -1
  150. package/dist/engine/security/integration.test.js +11 -11
  151. package/dist/engine/security/integration.test.js.map +1 -1
  152. package/dist/engine/security/prompt-injection.d.ts +1 -1
  153. package/dist/engine/security/prompt-injection.d.ts.map +1 -1
  154. package/dist/engine/security/prompt-injection.js +2 -1
  155. package/dist/engine/security/prompt-injection.js.map +1 -1
  156. package/dist/engine/security/prompt-injection.test.js +1 -1
  157. package/dist/engine/security/prompt-injection.test.js.map +1 -1
  158. package/dist/engine/security/protected-paths-store.d.ts +56 -0
  159. package/dist/engine/security/protected-paths-store.d.ts.map +1 -0
  160. package/dist/engine/security/protected-paths-store.js +239 -0
  161. package/dist/engine/security/protected-paths-store.js.map +1 -0
  162. package/dist/engine/security/protected-paths.d.ts +54 -0
  163. package/dist/engine/security/protected-paths.d.ts.map +1 -0
  164. package/dist/engine/security/protected-paths.js +193 -0
  165. package/dist/engine/security/protected-paths.js.map +1 -0
  166. package/dist/engine/security/protected-paths.test.d.ts +2 -0
  167. package/dist/engine/security/protected-paths.test.d.ts.map +1 -0
  168. package/dist/engine/security/protected-paths.test.js +166 -0
  169. package/dist/engine/security/protected-paths.test.js.map +1 -0
  170. package/dist/engine/security/shell-guard.d.ts +117 -0
  171. package/dist/engine/security/shell-guard.d.ts.map +1 -0
  172. package/dist/engine/security/shell-guard.js +578 -0
  173. package/dist/engine/security/shell-guard.js.map +1 -0
  174. package/dist/engine/security/shell-guard.test.d.ts +2 -0
  175. package/dist/engine/security/shell-guard.test.d.ts.map +1 -0
  176. package/dist/engine/security/shell-guard.test.js +378 -0
  177. package/dist/engine/security/shell-guard.test.js.map +1 -0
  178. package/dist/engine/system-messages.d.ts +237 -0
  179. package/dist/engine/system-messages.d.ts.map +1 -0
  180. package/dist/engine/system-messages.js +276 -0
  181. package/dist/engine/system-messages.js.map +1 -0
  182. package/dist/engine/system-messages.test.d.ts +2 -0
  183. package/dist/engine/system-messages.test.d.ts.map +1 -0
  184. package/dist/engine/system-messages.test.js +81 -0
  185. package/dist/engine/system-messages.test.js.map +1 -0
  186. package/dist/engine/tools/abort.d.ts +21 -0
  187. package/dist/engine/tools/abort.d.ts.map +1 -0
  188. package/dist/engine/tools/abort.js +44 -0
  189. package/dist/engine/tools/abort.js.map +1 -0
  190. package/dist/engine/tools/classify-conversation.d.ts.map +1 -1
  191. package/dist/engine/tools/classify-conversation.js +7 -2
  192. package/dist/engine/tools/classify-conversation.js.map +1 -1
  193. package/dist/engine/tools/fs-read.d.ts.map +1 -1
  194. package/dist/engine/tools/fs-read.js +17 -6
  195. package/dist/engine/tools/fs-read.js.map +1 -1
  196. package/dist/engine/tools/fs-read.test.js +43 -0
  197. package/dist/engine/tools/fs-read.test.js.map +1 -1
  198. package/dist/engine/tools/fs-write.d.ts.map +1 -1
  199. package/dist/engine/tools/fs-write.js +47 -17
  200. package/dist/engine/tools/fs-write.js.map +1 -1
  201. package/dist/engine/tools/git.d.ts +2 -1
  202. package/dist/engine/tools/git.d.ts.map +1 -1
  203. package/dist/engine/tools/git.js +85 -17
  204. package/dist/engine/tools/git.js.map +1 -1
  205. package/dist/engine/tools/git.test.js +39 -0
  206. package/dist/engine/tools/git.test.js.map +1 -1
  207. package/dist/engine/tools/index.d.ts.map +1 -1
  208. package/dist/engine/tools/index.js +16 -2
  209. package/dist/engine/tools/index.js.map +1 -1
  210. package/dist/engine/tools/json-schema.js +38 -0
  211. package/dist/engine/tools/json-schema.js.map +1 -1
  212. package/dist/engine/tools/json-schema.test.d.ts +2 -0
  213. package/dist/engine/tools/json-schema.test.d.ts.map +1 -0
  214. package/dist/engine/tools/json-schema.test.js +40 -0
  215. package/dist/engine/tools/json-schema.test.js.map +1 -0
  216. package/dist/engine/tools/path-utils.d.ts.map +1 -1
  217. package/dist/engine/tools/path-utils.js +24 -0
  218. package/dist/engine/tools/path-utils.js.map +1 -1
  219. package/dist/engine/tools/path-utils.test.js +15 -0
  220. package/dist/engine/tools/path-utils.test.js.map +1 -1
  221. package/dist/engine/tools/plan.d.ts +11 -3
  222. package/dist/engine/tools/plan.d.ts.map +1 -1
  223. package/dist/engine/tools/plan.js +326 -95
  224. package/dist/engine/tools/plan.js.map +1 -1
  225. package/dist/engine/tools/plan.test.js +161 -47
  226. package/dist/engine/tools/plan.test.js.map +1 -1
  227. package/dist/engine/tools/project-context.d.ts.map +1 -1
  228. package/dist/engine/tools/project-context.js +54 -42
  229. package/dist/engine/tools/project-context.js.map +1 -1
  230. package/dist/engine/tools/project-context.test.js +37 -22
  231. package/dist/engine/tools/project-context.test.js.map +1 -1
  232. package/dist/engine/tools/project-manage.d.ts +24 -0
  233. package/dist/engine/tools/project-manage.d.ts.map +1 -0
  234. package/dist/engine/tools/project-manage.js +311 -0
  235. package/dist/engine/tools/project-manage.js.map +1 -0
  236. package/dist/engine/tools/project-manage.test.d.ts +2 -0
  237. package/dist/engine/tools/project-manage.test.d.ts.map +1 -0
  238. package/dist/engine/tools/project-manage.test.js +196 -0
  239. package/dist/engine/tools/project-manage.test.js.map +1 -0
  240. package/dist/engine/tools/read-reference.d.ts.map +1 -1
  241. package/dist/engine/tools/read-reference.js +10 -5
  242. package/dist/engine/tools/read-reference.js.map +1 -1
  243. package/dist/engine/tools/read-reference.test.js +5 -2
  244. package/dist/engine/tools/read-reference.test.js.map +1 -1
  245. package/dist/engine/tools/search.d.ts.map +1 -1
  246. package/dist/engine/tools/search.js +16 -6
  247. package/dist/engine/tools/search.js.map +1 -1
  248. package/dist/engine/tools/shell.d.ts.map +1 -1
  249. package/dist/engine/tools/shell.js +17 -4
  250. package/dist/engine/tools/shell.js.map +1 -1
  251. package/dist/engine/tools/shell.test.js +63 -1
  252. package/dist/engine/tools/shell.test.js.map +1 -1
  253. package/dist/engine/tools/task-resume.d.ts +93 -0
  254. package/dist/engine/tools/task-resume.d.ts.map +1 -0
  255. package/dist/engine/tools/task-resume.js +269 -0
  256. package/dist/engine/tools/task-resume.js.map +1 -0
  257. package/dist/engine/tools/task-resume.test.d.ts +2 -0
  258. package/dist/engine/tools/task-resume.test.d.ts.map +1 -0
  259. package/dist/engine/tools/task-resume.test.js +423 -0
  260. package/dist/engine/tools/task-resume.test.js.map +1 -0
  261. package/dist/engine/tools/task.d.ts +81 -2
  262. package/dist/engine/tools/task.d.ts.map +1 -1
  263. package/dist/engine/tools/task.js +898 -471
  264. package/dist/engine/tools/task.js.map +1 -1
  265. package/dist/engine/tools/task.test.js +371 -3
  266. package/dist/engine/tools/task.test.js.map +1 -1
  267. package/dist/engine/tools/todo.d.ts +27 -1
  268. package/dist/engine/tools/todo.d.ts.map +1 -1
  269. package/dist/engine/tools/todo.js +320 -14
  270. package/dist/engine/tools/todo.js.map +1 -1
  271. package/dist/engine/tools/todo.test.js +150 -48
  272. package/dist/engine/tools/todo.test.js.map +1 -1
  273. package/dist/engine/tools/web.d.ts.map +1 -1
  274. package/dist/engine/tools/web.js +65 -18
  275. package/dist/engine/tools/web.js.map +1 -1
  276. package/dist/engine/tools/web.test.js +94 -2
  277. package/dist/engine/tools/web.test.js.map +1 -1
  278. package/dist/events/bus.d.ts +7 -0
  279. package/dist/events/bus.d.ts.map +1 -1
  280. package/dist/events/bus.js +26 -3
  281. package/dist/events/bus.js.map +1 -1
  282. package/dist/events/bus.test.js +46 -0
  283. package/dist/events/bus.test.js.map +1 -1
  284. package/dist/index.d.ts +11 -3
  285. package/dist/index.d.ts.map +1 -1
  286. package/dist/index.js +7 -3
  287. package/dist/index.js.map +1 -1
  288. package/dist/logger.d.ts.map +1 -1
  289. package/dist/logger.js +0 -1
  290. package/dist/logger.js.map +1 -1
  291. package/dist/main.js +250 -10
  292. package/dist/main.js.map +1 -1
  293. package/dist/prompts/roles/ADMIN.en.md +12 -11
  294. package/dist/prompts/roles/ADMIN.ru.md +12 -11
  295. package/dist/prompts/roles/ANALYST.en.md +12 -11
  296. package/dist/prompts/roles/ANALYST.ru.md +12 -11
  297. package/dist/prompts/roles/ASSISTANT.en.md +12 -11
  298. package/dist/prompts/roles/ASSISTANT.ru.md +12 -11
  299. package/dist/prompts/roles/AUDITOR.en.md +12 -11
  300. package/dist/prompts/roles/AUDITOR.ru.md +12 -11
  301. package/dist/prompts/roles/DEVELOPER.en.md +12 -11
  302. package/dist/prompts/roles/DEVELOPER.ru.md +12 -11
  303. package/dist/prompts/roles/DEVOPS.en.md +12 -11
  304. package/dist/prompts/roles/DEVOPS.ru.md +12 -11
  305. package/dist/prompts/roles/PM.en.md +12 -11
  306. package/dist/prompts/roles/PM.ru.md +12 -11
  307. package/dist/prompts/roles/QA.en.md +12 -11
  308. package/dist/prompts/roles/QA.ru.md +12 -11
  309. package/dist/prompts/roles/TITLE.en.md +30 -0
  310. package/dist/prompts/roles/TITLE.ru.md +3 -11
  311. package/dist/prompts/security/ask-protected-path.en.md +1 -0
  312. package/dist/prompts/security/ask-protected-path.ru.md +1 -0
  313. package/dist/prompts/security/deny-command.en.md +1 -0
  314. package/dist/prompts/security/deny-command.ru.md +1 -0
  315. package/dist/prompts/security/deny-protected-dir.en.md +1 -0
  316. package/dist/prompts/security/deny-protected-dir.ru.md +1 -0
  317. package/dist/prompts/security/deny-protected-path.en.md +1 -0
  318. package/dist/prompts/security/deny-protected-path.ru.md +1 -0
  319. package/dist/prompts/subagents/explore.en.md +23 -0
  320. package/dist/prompts/subagents/general.en.md +19 -0
  321. package/dist/prompts/system/MODE_ACT.en.md +20 -0
  322. package/{prompts/modes/act.md → dist/prompts/system/MODE_ACT.ru.md} +2 -0
  323. package/dist/prompts/system/MODE_PLAN.en.md +22 -0
  324. package/dist/prompts/{modes/plan.md → system/MODE_PLAN.ru.md} +4 -3
  325. package/dist/prompts/system/MODE_YOLO.en.md +22 -0
  326. package/{prompts/modes/yolo.md → dist/prompts/system/MODE_YOLO.ru.md} +2 -0
  327. package/dist/prompts/system/PLAN_GUIDE.en.md +36 -0
  328. package/dist/prompts/system/PLAN_GUIDE.ru.md +33 -0
  329. package/dist/prompts/system/PLAN_MODE_AUTO.en.md +11 -0
  330. package/dist/prompts/system/PLAN_MODE_AUTO.ru.md +12 -0
  331. package/dist/prompts/system/PLAN_MODE_STRICT_APPROVED.en.md +8 -0
  332. package/dist/prompts/system/PLAN_MODE_STRICT_APPROVED.ru.md +8 -0
  333. package/dist/prompts/system/PLAN_MODE_STRICT_NOT_APPROVED.en.md +7 -0
  334. package/dist/prompts/system/PLAN_MODE_STRICT_NOT_APPROVED.ru.md +7 -0
  335. package/dist/providers/anthropic.d.ts.map +1 -1
  336. package/dist/providers/anthropic.js +28 -2
  337. package/dist/providers/anthropic.js.map +1 -1
  338. package/dist/providers/base.d.ts +20 -1
  339. package/dist/providers/base.d.ts.map +1 -1
  340. package/dist/providers/base.js +17 -0
  341. package/dist/providers/base.js.map +1 -1
  342. package/dist/providers/exceptions.d.ts.map +1 -1
  343. package/dist/providers/exceptions.js +3 -2
  344. package/dist/providers/exceptions.js.map +1 -1
  345. package/dist/providers/index.d.ts +1 -0
  346. package/dist/providers/index.d.ts.map +1 -1
  347. package/dist/providers/index.js +4 -0
  348. package/dist/providers/index.js.map +1 -1
  349. package/dist/providers/ollama.d.ts +23 -0
  350. package/dist/providers/ollama.d.ts.map +1 -1
  351. package/dist/providers/ollama.js +128 -12
  352. package/dist/providers/ollama.js.map +1 -1
  353. package/dist/providers/ollama.test.d.ts +2 -0
  354. package/dist/providers/ollama.test.d.ts.map +1 -0
  355. package/dist/providers/ollama.test.js +129 -0
  356. package/dist/providers/ollama.test.js.map +1 -0
  357. package/dist/providers/openai.d.ts.map +1 -1
  358. package/dist/providers/openai.js +82 -9
  359. package/dist/providers/openai.js.map +1 -1
  360. package/dist/providers/openai.test.d.ts +2 -0
  361. package/dist/providers/openai.test.d.ts.map +1 -0
  362. package/dist/providers/openai.test.js +84 -0
  363. package/dist/providers/openai.test.js.map +1 -0
  364. package/dist/providers/remote.d.ts +60 -0
  365. package/dist/providers/remote.d.ts.map +1 -0
  366. package/dist/providers/remote.js +394 -0
  367. package/dist/providers/remote.js.map +1 -0
  368. package/dist/providers/remote.test.d.ts +2 -0
  369. package/dist/providers/remote.test.d.ts.map +1 -0
  370. package/dist/providers/remote.test.js +258 -0
  371. package/dist/providers/remote.test.js.map +1 -0
  372. package/dist/providers/stream-error.test.d.ts +2 -0
  373. package/dist/providers/stream-error.test.d.ts.map +1 -0
  374. package/dist/providers/stream-error.test.js +63 -0
  375. package/dist/providers/stream-error.test.js.map +1 -0
  376. package/dist/providers/timeout.test.d.ts +2 -0
  377. package/dist/providers/timeout.test.d.ts.map +1 -0
  378. package/dist/providers/timeout.test.js +129 -0
  379. package/dist/providers/timeout.test.js.map +1 -0
  380. package/dist/queue/processor.d.ts +22 -0
  381. package/dist/queue/processor.d.ts.map +1 -1
  382. package/dist/queue/processor.js +150 -25
  383. package/dist/queue/processor.js.map +1 -1
  384. package/dist/queue/processor.test.d.ts +2 -0
  385. package/dist/queue/processor.test.d.ts.map +1 -0
  386. package/dist/queue/processor.test.js +211 -0
  387. package/dist/queue/processor.test.js.map +1 -0
  388. package/dist/remote/aggregate.d.ts +43 -0
  389. package/dist/remote/aggregate.d.ts.map +1 -0
  390. package/dist/remote/aggregate.js +84 -0
  391. package/dist/remote/aggregate.js.map +1 -0
  392. package/dist/remote/aggregate.test.d.ts +2 -0
  393. package/dist/remote/aggregate.test.d.ts.map +1 -0
  394. package/dist/remote/aggregate.test.js +120 -0
  395. package/dist/remote/aggregate.test.js.map +1 -0
  396. package/dist/remote/client.d.ts +142 -0
  397. package/dist/remote/client.d.ts.map +1 -0
  398. package/dist/remote/client.js +290 -0
  399. package/dist/remote/client.js.map +1 -0
  400. package/dist/remote/client.test.d.ts +2 -0
  401. package/dist/remote/client.test.d.ts.map +1 -0
  402. package/dist/remote/client.test.js +176 -0
  403. package/dist/remote/client.test.js.map +1 -0
  404. package/dist/remote/connection.d.ts +66 -0
  405. package/dist/remote/connection.d.ts.map +1 -0
  406. package/dist/remote/connection.js +298 -0
  407. package/dist/remote/connection.js.map +1 -0
  408. package/dist/remote/connection.test.d.ts +2 -0
  409. package/dist/remote/connection.test.d.ts.map +1 -0
  410. package/dist/remote/connection.test.js +323 -0
  411. package/dist/remote/connection.test.js.map +1 -0
  412. package/dist/remote/credentials.d.ts +13 -0
  413. package/dist/remote/credentials.d.ts.map +1 -0
  414. package/dist/remote/credentials.js +81 -0
  415. package/dist/remote/credentials.js.map +1 -0
  416. package/dist/remote/credentials.test.d.ts +2 -0
  417. package/dist/remote/credentials.test.d.ts.map +1 -0
  418. package/dist/remote/credentials.test.js +69 -0
  419. package/dist/remote/credentials.test.js.map +1 -0
  420. package/dist/remote/device-flow.d.ts +72 -0
  421. package/dist/remote/device-flow.d.ts.map +1 -0
  422. package/dist/remote/device-flow.js +229 -0
  423. package/dist/remote/device-flow.js.map +1 -0
  424. package/dist/remote/device-flow.test.d.ts +2 -0
  425. package/dist/remote/device-flow.test.d.ts.map +1 -0
  426. package/dist/remote/device-flow.test.js +103 -0
  427. package/dist/remote/device-flow.test.js.map +1 -0
  428. package/dist/remote/event-bridge.d.ts +46 -0
  429. package/dist/remote/event-bridge.d.ts.map +1 -0
  430. package/dist/remote/event-bridge.js +218 -0
  431. package/dist/remote/event-bridge.js.map +1 -0
  432. package/dist/remote/event-bridge.test.d.ts +2 -0
  433. package/dist/remote/event-bridge.test.d.ts.map +1 -0
  434. package/dist/remote/event-bridge.test.js +240 -0
  435. package/dist/remote/event-bridge.test.js.map +1 -0
  436. package/dist/remote/index.d.ts +19 -0
  437. package/dist/remote/index.d.ts.map +1 -0
  438. package/dist/remote/index.js +11 -0
  439. package/dist/remote/index.js.map +1 -0
  440. package/dist/remote/session.d.ts +72 -0
  441. package/dist/remote/session.d.ts.map +1 -0
  442. package/dist/remote/session.js +248 -0
  443. package/dist/remote/session.js.map +1 -0
  444. package/dist/remote/session.test.d.ts +2 -0
  445. package/dist/remote/session.test.d.ts.map +1 -0
  446. package/dist/remote/session.test.js +482 -0
  447. package/dist/remote/session.test.js.map +1 -0
  448. package/dist/remote/transfer.d.ts +75 -0
  449. package/dist/remote/transfer.d.ts.map +1 -0
  450. package/dist/remote/transfer.js +491 -0
  451. package/dist/remote/transfer.js.map +1 -0
  452. package/dist/remote/transfer.test.d.ts +2 -0
  453. package/dist/remote/transfer.test.d.ts.map +1 -0
  454. package/dist/remote/transfer.test.js +416 -0
  455. package/dist/remote/transfer.test.js.map +1 -0
  456. package/dist/remote/types.d.ts +28 -0
  457. package/dist/remote/types.d.ts.map +1 -0
  458. package/dist/remote/types.js +10 -0
  459. package/dist/remote/types.js.map +1 -0
  460. package/dist/server/app.d.ts +62 -1
  461. package/dist/server/app.d.ts.map +1 -1
  462. package/dist/server/app.js +393 -27
  463. package/dist/server/app.js.map +1 -1
  464. package/dist/server/app.proxy.test.d.ts +2 -0
  465. package/dist/server/app.proxy.test.d.ts.map +1 -0
  466. package/dist/server/app.proxy.test.js +193 -0
  467. package/dist/server/app.proxy.test.js.map +1 -0
  468. package/dist/server/app.remote.test.d.ts +2 -0
  469. package/dist/server/app.remote.test.d.ts.map +1 -0
  470. package/dist/server/app.remote.test.js +674 -0
  471. package/dist/server/app.remote.test.js.map +1 -0
  472. package/dist/server/chat.d.ts.map +1 -1
  473. package/dist/server/chat.js +18 -2
  474. package/dist/server/chat.js.map +1 -1
  475. package/dist/server/proxy.d.ts +14 -0
  476. package/dist/server/proxy.d.ts.map +1 -0
  477. package/dist/server/proxy.js +93 -0
  478. package/dist/server/proxy.js.map +1 -0
  479. package/dist/server/routes/agents.d.ts.map +1 -1
  480. package/dist/server/routes/agents.js +39 -23
  481. package/dist/server/routes/agents.js.map +1 -1
  482. package/dist/server/routes/auth.d.ts +26 -2
  483. package/dist/server/routes/auth.d.ts.map +1 -1
  484. package/dist/server/routes/auth.js +269 -36
  485. package/dist/server/routes/auth.js.map +1 -1
  486. package/dist/server/routes/auth.test.d.ts +2 -0
  487. package/dist/server/routes/auth.test.d.ts.map +1 -0
  488. package/dist/server/routes/auth.test.js +466 -0
  489. package/dist/server/routes/auth.test.js.map +1 -0
  490. package/dist/server/routes/fs.d.ts +2 -1
  491. package/dist/server/routes/fs.d.ts.map +1 -1
  492. package/dist/server/routes/fs.js +340 -7
  493. package/dist/server/routes/fs.js.map +1 -1
  494. package/dist/server/routes/hybrid.d.ts +32 -0
  495. package/dist/server/routes/hybrid.d.ts.map +1 -0
  496. package/dist/server/routes/hybrid.js +21 -0
  497. package/dist/server/routes/hybrid.js.map +1 -0
  498. package/dist/server/routes/hybrid.test.d.ts +2 -0
  499. package/dist/server/routes/hybrid.test.d.ts.map +1 -0
  500. package/dist/server/routes/hybrid.test.js +454 -0
  501. package/dist/server/routes/hybrid.test.js.map +1 -0
  502. package/dist/server/routes/messages.d.ts +2 -1
  503. package/dist/server/routes/messages.d.ts.map +1 -1
  504. package/dist/server/routes/messages.js +104 -1
  505. package/dist/server/routes/messages.js.map +1 -1
  506. package/dist/server/routes/models.cache.test.d.ts +2 -0
  507. package/dist/server/routes/models.cache.test.d.ts.map +1 -0
  508. package/dist/server/routes/models.cache.test.js +59 -0
  509. package/dist/server/routes/models.cache.test.js.map +1 -0
  510. package/dist/server/routes/models.d.ts +9 -1
  511. package/dist/server/routes/models.d.ts.map +1 -1
  512. package/dist/server/routes/models.js +38 -3
  513. package/dist/server/routes/models.js.map +1 -1
  514. package/dist/server/routes/models.remote.test.d.ts +2 -0
  515. package/dist/server/routes/models.remote.test.d.ts.map +1 -0
  516. package/dist/server/routes/models.remote.test.js +101 -0
  517. package/dist/server/routes/models.remote.test.js.map +1 -0
  518. package/dist/server/routes/project-transfer.d.ts +16 -0
  519. package/dist/server/routes/project-transfer.d.ts.map +1 -0
  520. package/dist/server/routes/project-transfer.js +141 -0
  521. package/dist/server/routes/project-transfer.js.map +1 -0
  522. package/dist/server/routes/project-transfer.test.d.ts +2 -0
  523. package/dist/server/routes/project-transfer.test.d.ts.map +1 -0
  524. package/dist/server/routes/project-transfer.test.js +199 -0
  525. package/dist/server/routes/project-transfer.test.js.map +1 -0
  526. package/dist/server/routes/projects.d.ts +2 -1
  527. package/dist/server/routes/projects.d.ts.map +1 -1
  528. package/dist/server/routes/projects.js +101 -5
  529. package/dist/server/routes/projects.js.map +1 -1
  530. package/dist/server/routes/providers.d.ts +1 -1
  531. package/dist/server/routes/providers.d.ts.map +1 -1
  532. package/dist/server/routes/providers.js +3 -1
  533. package/dist/server/routes/providers.js.map +1 -1
  534. package/dist/server/routes/providers.test.d.ts +2 -0
  535. package/dist/server/routes/providers.test.d.ts.map +1 -0
  536. package/dist/server/routes/providers.test.js +58 -0
  537. package/dist/server/routes/providers.test.js.map +1 -0
  538. package/dist/server/routes/queue.d.ts +2 -1
  539. package/dist/server/routes/queue.d.ts.map +1 -1
  540. package/dist/server/routes/queue.js +180 -18
  541. package/dist/server/routes/queue.js.map +1 -1
  542. package/dist/server/routes/sessions.d.ts +9 -1
  543. package/dist/server/routes/sessions.d.ts.map +1 -1
  544. package/dist/server/routes/sessions.js +269 -18
  545. package/dist/server/routes/sessions.js.map +1 -1
  546. package/dist/server/routes/sessions.test.js +102 -2
  547. package/dist/server/routes/sessions.test.js.map +1 -1
  548. package/dist/server/routes/settings.d.ts +6 -1
  549. package/dist/server/routes/settings.d.ts.map +1 -1
  550. package/dist/server/routes/settings.js +138 -0
  551. package/dist/server/routes/settings.js.map +1 -1
  552. package/dist/server/routes/settings.test.js +65 -1
  553. package/dist/server/routes/settings.test.js.map +1 -1
  554. package/dist/server/serialize.d.ts +11 -3
  555. package/dist/server/serialize.d.ts.map +1 -1
  556. package/dist/server/serialize.js +11 -3
  557. package/dist/server/serialize.js.map +1 -1
  558. package/dist/sessions/auto-title.d.ts +1 -1
  559. package/dist/sessions/auto-title.d.ts.map +1 -1
  560. package/dist/sessions/auto-title.js +24 -13
  561. package/dist/sessions/auto-title.js.map +1 -1
  562. package/dist/sessions/manager.d.ts +1 -2
  563. package/dist/sessions/manager.d.ts.map +1 -1
  564. package/dist/sessions/manager.js +11 -36
  565. package/dist/sessions/manager.js.map +1 -1
  566. package/dist/sessions/manager.test.js +2 -10
  567. package/dist/sessions/manager.test.js.map +1 -1
  568. package/dist/storage/file-store.d.ts.map +1 -1
  569. package/dist/storage/file-store.js +2 -6
  570. package/dist/storage/file-store.js.map +1 -1
  571. package/dist/storage/file-store.test.js +1 -6
  572. package/dist/storage/file-store.test.js.map +1 -1
  573. package/dist/storage/project-store.d.ts.map +1 -1
  574. package/dist/storage/project-store.js +12 -0
  575. package/dist/storage/project-store.js.map +1 -1
  576. package/dist/storage/runtime-settings.d.ts +25 -1
  577. package/dist/storage/runtime-settings.d.ts.map +1 -1
  578. package/dist/storage/runtime-settings.js +31 -0
  579. package/dist/storage/runtime-settings.js.map +1 -1
  580. package/package.json +10 -5
  581. package/prompts/roles/TITLE.en.md +30 -0
  582. package/prompts/security/ask-protected-path.en.md +1 -0
  583. package/prompts/security/ask-protected-path.ru.md +1 -0
  584. package/prompts/security/deny-command.en.md +1 -0
  585. package/prompts/security/deny-command.ru.md +1 -0
  586. package/prompts/security/deny-protected-dir.en.md +1 -0
  587. package/prompts/security/deny-protected-dir.ru.md +1 -0
  588. package/prompts/security/deny-protected-path.en.md +1 -0
  589. package/prompts/security/deny-protected-path.ru.md +1 -0
  590. package/prompts/subagents/explore.en.md +23 -0
  591. package/prompts/subagents/general.en.md +19 -0
  592. package/prompts/system/MODE_ACT.en.md +20 -0
  593. package/{dist/prompts/modes/act.md → prompts/system/MODE_ACT.ru.md} +2 -0
  594. package/prompts/system/MODE_PLAN.en.md +22 -0
  595. package/{dist/prompts/prompts/modes/plan.md → prompts/system/MODE_PLAN.ru.md} +4 -3
  596. package/prompts/system/MODE_YOLO.en.md +22 -0
  597. package/{dist/prompts/prompts/modes/yolo.md → prompts/system/MODE_YOLO.ru.md} +2 -0
  598. package/prompts/system/PLAN_GUIDE.en.md +36 -0
  599. package/prompts/system/PLAN_GUIDE.ru.md +33 -0
  600. package/prompts/system/PLAN_MODE_AUTO.en.md +11 -0
  601. package/prompts/system/PLAN_MODE_AUTO.ru.md +12 -0
  602. package/prompts/system/PLAN_MODE_STRICT_APPROVED.en.md +8 -0
  603. package/prompts/system/PLAN_MODE_STRICT_APPROVED.ru.md +8 -0
  604. package/prompts/system/PLAN_MODE_STRICT_NOT_APPROVED.en.md +7 -0
  605. package/prompts/system/PLAN_MODE_STRICT_NOT_APPROVED.ru.md +7 -0
  606. package/dist/dictionaries/dictionaries/coding.en.yaml +0 -20
  607. package/dist/dictionaries/dictionaries/coding.ru.yaml +0 -22
  608. package/dist/dictionaries/dictionaries/coding.tools.yaml +0 -12
  609. package/dist/dictionaries/dictionaries/enum.en.yaml +0 -54
  610. package/dist/dictionaries/dictionaries/enum.ru.yaml +0 -67
  611. package/dist/dictionaries/dictionaries/injection.en.yaml +0 -51
  612. package/dist/dictionaries/dictionaries/injection.ru.yaml +0 -51
  613. package/dist/dictionaries/dictionaries/intents.en.yaml +0 -68
  614. package/dist/dictionaries/dictionaries/intents.ru.yaml +0 -78
  615. package/dist/dictionaries/dictionaries/research.en.yaml +0 -17
  616. package/dist/dictionaries/dictionaries/research.ru.yaml +0 -17
  617. package/dist/dictionaries/dictionaries/small-talk.en.yaml +0 -67
  618. package/dist/dictionaries/dictionaries/small-talk.ru.yaml +0 -81
  619. package/dist/prompts/modes/yolo.md +0 -20
  620. package/dist/prompts/prompts/modes/act.md +0 -18
  621. package/dist/prompts/prompts/roles/ADMIN.en.md +0 -33
  622. package/dist/prompts/prompts/roles/ADMIN.ru.md +0 -33
  623. package/dist/prompts/prompts/roles/ANALYST.en.md +0 -33
  624. package/dist/prompts/prompts/roles/ANALYST.ru.md +0 -33
  625. package/dist/prompts/prompts/roles/ASSISTANT.en.md +0 -38
  626. package/dist/prompts/prompts/roles/ASSISTANT.ru.md +0 -38
  627. package/dist/prompts/prompts/roles/AUDITOR.en.md +0 -33
  628. package/dist/prompts/prompts/roles/AUDITOR.ru.md +0 -33
  629. package/dist/prompts/prompts/roles/DEVELOPER.en.md +0 -42
  630. package/dist/prompts/prompts/roles/DEVELOPER.ru.md +0 -42
  631. package/dist/prompts/prompts/roles/DEVOPS.en.md +0 -35
  632. package/dist/prompts/prompts/roles/DEVOPS.ru.md +0 -35
  633. package/dist/prompts/prompts/roles/PM.en.md +0 -33
  634. package/dist/prompts/prompts/roles/PM.ru.md +0 -33
  635. package/dist/prompts/prompts/roles/QA.en.md +0 -33
  636. package/dist/prompts/prompts/roles/QA.ru.md +0 -33
  637. package/dist/prompts/prompts/roles/TITLE.ru.md +0 -30
  638. package/dist/prompts/prompts/subagents/explore.ru.md +0 -23
  639. package/dist/prompts/prompts/subagents/general.ru.md +0 -19
  640. package/dist/prompts/prompts/system/COMPRESSED_DIALOG.en.md +0 -5
  641. package/dist/prompts/prompts/system/COMPRESSED_DIALOG.ru.md +0 -5
  642. package/dist/prompts/prompts/system/INTERVIEW.en.md +0 -18
  643. package/dist/prompts/prompts/system/INTERVIEW.ru.md +0 -18
  644. package/dist/prompts/prompts/system/PARTICIPANTS_NOTICE.en.md +0 -7
  645. package/dist/prompts/prompts/system/PARTICIPANTS_NOTICE.ru.md +0 -7
  646. package/dist/prompts/prompts/system/ROLES_DESCRIPTION.en.md +0 -16
  647. package/dist/prompts/prompts/system/ROLES_DESCRIPTION.ru.md +0 -16
  648. package/dist/prompts/prompts/system/ROUTING.en.md +0 -13
  649. package/dist/prompts/prompts/system/ROUTING.md +0 -6
  650. package/dist/prompts/prompts/system/ROUTING.ru.md +0 -13
  651. package/dist/prompts/prompts/system/RULES.en.md +0 -10
  652. package/dist/prompts/prompts/system/RULES.md +0 -10
  653. package/dist/prompts/prompts/system/RULES.ru.md +0 -10
  654. package/dist/prompts/prompts/system/STICKY_NOTES.en.md +0 -6
  655. package/dist/prompts/prompts/system/STICKY_NOTES.ru.md +0 -6
  656. package/dist/prompts/prompts/system/SUMMARIZER.en.md +0 -54
  657. package/dist/prompts/prompts/system/SUMMARIZER.ru.md +0 -54
  658. package/dist/prompts/prompts/system/USER_CONTEXT.en.md +0 -5
  659. package/dist/prompts/prompts/system/USER_CONTEXT.ru.md +0 -5
  660. package/dist/prompts/system/ROUTING.md +0 -6
  661. package/dist/prompts/system/RULES.md +0 -10
  662. package/dist/server/routes/i18n.d.ts +0 -3
  663. package/dist/server/routes/i18n.d.ts.map +0 -1
  664. package/dist/server/routes/i18n.js +0 -83
  665. package/dist/server/routes/i18n.js.map +0 -1
  666. package/prompts/modes/plan.md +0 -20
  667. package/prompts/system/ROUTING.md +0 -6
  668. package/prompts/system/RULES.md +0 -10
  669. /package/dist/prompts/{prompts/system → system}/GATEWAY.en.md +0 -0
  670. /package/dist/prompts/{prompts/system → system}/GATEWAY.ru.md +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.test.js","sourceRoot":"","sources":["../../src/engine/orchestrator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.test.js","sourceRoot":"","sources":["../../src/engine/orchestrator.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../src/engine/permission/approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;GAMG;AACH,qBAAa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,QAAQ;IAE1C,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC;CAmD7B"}
1
+ {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../src/engine/permission/approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;GAMG;AACH,qBAAa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,QAAQ;IAE1C,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC;CAoE7B"}
@@ -16,31 +16,50 @@ export class PermissionApprovalManager {
16
16
  }
17
17
  return new Promise((resolve) => {
18
18
  let done = false;
19
+ let held = false;
19
20
  let unsub = () => { };
20
- const timer = setTimeout(() => {
21
- if (done)
22
- return;
23
- done = true;
24
- clearTimeout(timer);
25
- unsub();
26
- resolve({ approved: false, timeout: true });
27
- }, timeoutMs);
21
+ // AD-029: askTimeoutMs <= 0 (0 = «таймаут выключен») таймер не ставим,
22
+ // ждём permission.replied бесконечно (без авто-отклонения).
23
+ const timer = typeof timeoutMs === 'number' && timeoutMs > 0
24
+ ? setTimeout(() => {
25
+ if (done)
26
+ return;
27
+ done = true;
28
+ clearTimeout(timer);
29
+ unsub();
30
+ resolve({ approved: false, timeout: true });
31
+ }, timeoutMs)
32
+ : undefined;
28
33
  const finish = (decision) => {
29
34
  if (done)
30
35
  return;
31
36
  done = true;
32
- clearTimeout(timer);
37
+ if (timer)
38
+ clearTimeout(timer);
33
39
  unsub();
34
40
  resolve(decision);
35
41
  };
36
42
  // Подписка ДО публикации: EventBus.publish синхронный, иначе ответ
37
43
  // мгновенного подписчика (имитация UI) был бы потерян.
38
44
  unsub = this._eventBus.subscribe(sessionId, (event) => {
39
- if (event.type !== 'permission.replied')
45
+ if (done)
40
46
  return;
41
47
  const data = event.data;
42
48
  if (data.approval_id !== request.approvalId)
43
49
  return;
50
+ // «Остановить таймер» (permission.hold): прекращаем авто-отклонение по
51
+ // таймауту. Запрос остаётся на паузе до тех пор, пока не придёт
52
+ // permission.replied; затем finish(decision) разрешает как обычно.
53
+ if (event.type === 'permission.hold') {
54
+ if (!held) {
55
+ held = true;
56
+ if (timer)
57
+ clearTimeout(timer);
58
+ }
59
+ return;
60
+ }
61
+ if (event.type !== 'permission.replied')
62
+ return;
44
63
  const action = data.action === 'allow' || data.action === 'deny' ? data.action : undefined;
45
64
  const decision = {
46
65
  approved: action !== undefined ? action === 'allow' : data.approved === true,
@@ -1 +1 @@
1
- {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../src/engine/permission/approval.ts"],"names":[],"mappings":"AAsBA;;;;;;GAMG;AACH,MAAM,OAAO,yBAAyB;IACP;IAA7B,YAA6B,SAAmB;QAAnB,cAAS,GAAT,SAAS,CAAU;IAAG,CAAC;IAEpD,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,OAAwB,EACxB,SAAiB;QAEjB,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,EAAE;YAC/C,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,KAAK,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;YAEjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,EAAE,CAAC;gBACR,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,MAAM,MAAM,GAAG,CAAC,QAA0B,EAAQ,EAAE;gBAClD,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,EAAE,CAAC;gBACR,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC,CAAC;YAEF,mEAAmE;YACnE,uDAAuD;YACvD,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACpD,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB;oBAAE,OAAO;gBAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAA+B,CAAC;gBACnD,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,UAAU;oBAAE,OAAO;gBACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3F,MAAM,QAAQ,GAAqB;oBACjC,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI;iBAC7E,CAAC;gBACF,IAAI,MAAM;oBAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS;oBAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC9D,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,EAAE;gBACpD,WAAW,EAAE,OAAO,CAAC,UAAU;gBAC/B,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,OAAO,CAAC,MAAM;gBACvB,IAAI,EAAE,OAAO,CAAC,QAAQ;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,cAAc,EAAE,SAAS;aAC1B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../src/engine/permission/approval.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,24 @@ describe('PermissionApprovalManager — ask flow', () => {
68
68
  expect(decision.approved).toBe(false);
69
69
  expect(decision.timeout).toBe(true);
70
70
  });
71
+ it('timeoutMs=0 — ждёт ответа бесконечно, без авто-отклонения', async () => {
72
+ const asked = [];
73
+ bus.subscribe('s1', (e) => {
74
+ if (e.type === 'permission.asked')
75
+ asked.push(e.data);
76
+ });
77
+ const pending = manager.waitForDecision('s1', request, 0);
78
+ await new Promise((r) => setTimeout(r, 80));
79
+ // поле ask_timeout_ms в событии передаётся как 0 («без таймаута»)
80
+ expect(asked.at(-1)?.ask_timeout_ms).toBe(0);
81
+ // авто-отклонения нет — отвечаем спустя время, большее «обычного» таймаута
82
+ bus.publish('s1', 'permission.replied', {
83
+ approval_id: 'approval_1', session_id: 's1', action: 'allow', once: false,
84
+ });
85
+ const decision = await pending;
86
+ expect(decision.approved).toBe(true);
87
+ expect(decision.timeout).toBeUndefined();
88
+ });
71
89
  it('ответ с action=allow + once=false — решение с action/once', async () => {
72
90
  bus.subscribe('s1', () => { });
73
91
  const pending = manager.waitForDecision('s1', request, 1000);
@@ -135,5 +153,44 @@ describe('PermissionApprovalManager — ask flow', () => {
135
153
  await pending;
136
154
  expect(spy).toHaveBeenCalled();
137
155
  });
156
+ it('permission.hold останавливает таймаут: allow после паузы резолвит без timeout', async () => {
157
+ bus.subscribe('s1', () => { });
158
+ const pending = manager.waitForDecision('s1', request, 50);
159
+ await new Promise((r) => setTimeout(r, 10));
160
+ bus.publish('s1', 'permission.hold', { approval_id: 'approval_1', session_id: 's1' });
161
+ // ждём дольше исходного таймаута — авто-отклонения быть не должно
162
+ await new Promise((r) => setTimeout(r, 80));
163
+ bus.publish('s1', 'permission.replied', {
164
+ approval_id: 'approval_1', session_id: 's1', action: 'allow', once: false,
165
+ });
166
+ const decision = await pending;
167
+ expect(decision.approved).toBe(true);
168
+ expect(decision.timeout).toBeUndefined();
169
+ expect(decision.action).toBe('allow');
170
+ expect(decision.once).toBe(false);
171
+ });
172
+ it('после permission.hold ответ deny по-прежнему резолвит отказом', async () => {
173
+ bus.subscribe('s1', () => { });
174
+ const pending = manager.waitForDecision('s1', request, 50);
175
+ await new Promise((r) => setTimeout(r, 10));
176
+ bus.publish('s1', 'permission.hold', { approval_id: 'approval_1', session_id: 's1' });
177
+ await new Promise((r) => setTimeout(r, 80));
178
+ bus.publish('s1', 'permission.replied', {
179
+ approval_id: 'approval_1', session_id: 's1', action: 'deny',
180
+ });
181
+ const decision = await pending;
182
+ expect(decision.approved).toBe(false);
183
+ expect(decision.action).toBe('deny');
184
+ expect(decision.timeout).toBeUndefined();
185
+ });
186
+ it('чужой approval_id в permission.hold игнорируется', async () => {
187
+ bus.subscribe('s1', () => { });
188
+ const pending = manager.waitForDecision('s1', request, 50);
189
+ await new Promise((r) => setTimeout(r, 10));
190
+ bus.publish('s1', 'permission.hold', { approval_id: 'approval_other', session_id: 's1' });
191
+ // чужой hold не останавливает таймаут — запрос уходит в timeout
192
+ const decision = await pending;
193
+ expect(decision.timeout).toBe(true);
194
+ });
138
195
  });
139
196
  //# sourceMappingURL=approval.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval.test.js","sourceRoot":"","sources":["../../../src/engine/permission/approval.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approval.test.js","sourceRoot":"","sources":["../../../src/engine/permission/approval.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import type { PermissionConfig, PermissionDecision, PlanMode, SessionMode, McpServerToolSettings, McpToolAvailability } from '@itphx/synth-shared';
2
+ import type { ShellPolicy } from '../security/shell-guard.js';
3
+ import type { ProtectedPathsPolicy } from '../security/protected-paths.js';
2
4
  export interface PermissionCheckInput {
3
5
  toolName: string;
4
6
  params: Record<string, unknown>;
@@ -12,6 +14,12 @@ export interface PermissionCheckInput {
12
14
  planApproved?: boolean;
13
15
  /** Доступность MCP-инструментов по режимам plan/act (serverName → настройки). */
14
16
  mcpToolSettings?: Record<string, McpServerToolSettings>;
17
+ /** Политика безопасности execute_shell (денлист путей/команд). Опционально. */
18
+ shellPolicy?: ShellPolicy;
19
+ /** Единая политика защищённых путей (AD: ProtectedPaths) для всех файловых тулов. Опционально. */
20
+ protectedPaths?: ProtectedPathsPolicy;
21
+ /** Тумблер полного отключения защищённых путей (default true). false — проверка путей пропускается. */
22
+ protectedPathsEnabled?: boolean;
15
23
  }
16
24
  /**
17
25
  * AD-025: активна ли рестрикция write-тулов.
@@ -55,6 +63,11 @@ export declare class PermissionEvaluator {
55
63
  check(input: PermissionCheckInput): PermissionDecision;
56
64
  private _computeDecision;
57
65
  private _resolveRule;
66
+ /**
67
+ * Разрешение правил группы shell для execute_shell: паттерны матчатся по
68
+ * команде (а не по пути). Поддержан префиксный синтаксис "git commit *".
69
+ */
70
+ private _resolveShellRule;
58
71
  }
59
72
  /** Резолвит все файловые параметры тула в абсолютные пути. */
60
73
  export declare function extractPaths(toolName: string, params: Record<string, unknown>, workingDir: string): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../src/engine/permission/evaluator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAoB,gBAAgB,EAAE,kBAAkB,EAAkB,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAIrL,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,qEAAqE;IACrE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oDAAoD;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACzD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,YAAY,EAAE,OAAO,GAAG,SAAS,GAChC,OAAO,CAKT;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAEtF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAG7F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,SAAS,EAC3D,YAAY,EAAE,MAAM,GACnB,mBAAmB,GAAG,SAAS,CASjC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,gBAAgB;IAEtD,IAAI,MAAM,IAAI,gBAAgB,CAE7B;IAED,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,kBAAkB;IAgBtD,OAAO,CAAC,gBAAgB;IAiFxB,OAAO,CAAC,YAAY;CA4CrB;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CAWV;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAOnG;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAKzE"}
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../src/engine/permission/evaluator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAoB,gBAAgB,EAAE,kBAAkB,EAAkB,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAKrL,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,qEAAqE;IACrE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oDAAoD;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACxD,+EAA+E;IAC/E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,kGAAkG;IAClG,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,uGAAuG;IACvG,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,YAAY,EAAE,OAAO,GAAG,SAAS,GAChC,OAAO,CAKT;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAEtF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAG7F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,SAAS,EAC3D,YAAY,EAAE,MAAM,GACnB,mBAAmB,GAAG,SAAS,CASjC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,gBAAgB;IAEtD,IAAI,MAAM,IAAI,gBAAgB,CAE7B;IAED,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,kBAAkB;IAgBtD,OAAO,CAAC,gBAAgB;IAmJxB,OAAO,CAAC,YAAY;IA6CpB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAiC1B;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CAWV;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAOnG;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAKzE"}
@@ -1,7 +1,10 @@
1
1
  import { relative, resolve, isAbsolute, normalize, sep } from 'node:path';
2
2
  import { globMatch, ToolCapability } from '@itphx/synth-shared';
3
3
  import { resolvePath } from '../tools/path-utils.js';
4
+ import { t as sm } from '../system-messages.js';
4
5
  import { getToolGroups, TOOL_PATH_PARAMS } from './groups.js';
6
+ import { checkShellCommand, isMutatingCommand, tokenizeCommand, matchShellCommandPattern } from '../security/shell-guard.js';
7
+ import { checkPath } from '../security/protected-paths.js';
5
8
  /**
6
9
  * AD-025: активна ли рестрикция write-тулов.
7
10
  * - mode === 'plan' — сессия в режиме планирования (plan_enter).
@@ -79,33 +82,89 @@ export class PermissionEvaluator {
79
82
  return {
80
83
  ...decision,
81
84
  action: 'allow',
82
- reason: `${decision.reason} (yolo-режим: автоподтверждение)`,
85
+ reason: sm('permission.yolo_auto_approved', { reason: decision.reason }),
83
86
  };
84
87
  }
85
88
  return decision;
86
89
  }
87
90
  _computeDecision(input) {
88
- const { toolName, params, workingDir, capabilities, sessionMode, planMode, planApproved, mcpToolSettings } = input;
91
+ const { toolName, params, workingDir, capabilities, sessionMode, planMode, planApproved, mcpToolSettings, shellPolicy, protectedPaths, protectedPathsEnabled } = input;
89
92
  const paths = extractPaths(toolName, params, workingDir);
90
93
  const isFile = paths.length > 0;
94
+ // Командный контекст execute_shell: сама команда и каталог выполнения.
95
+ const shellCommand = toolName === 'execute_shell' && typeof params.command === 'string'
96
+ ? params.command
97
+ : undefined;
98
+ const shellCwd = toolName === 'execute_shell'
99
+ ? (typeof params.cwd === 'string' && params.cwd.trim() !== '' ? resolvePath(params.cwd, workingDir) : workingDir)
100
+ : workingDir;
91
101
  // AD-025: plan-рестрикция применяется поверх конфига. В режиме plan (или
92
- // strict без утверждённого плана) все write/edit/delete тулы и git-запись → deny,
93
- // единственное исключение — файлы .synth/plans/*.md для edit-тулов.
102
+ // strict без утверждённого плана) все write/edit/delete тулы и git-запись → deny.
94
103
  if (isPlanRestricted(sessionMode, planMode, planApproved) && isPlanBlockedTool(toolName, capabilities)) {
95
- if (isEditTool(toolName, capabilities) && isFile && paths.some((p) => matchPathPattern('.synth/plans/*.md', p, workingDir))) {
96
- return {
97
- action: 'allow',
98
- reason: 'plan mode: запись в .synth/plans/*.md разрешена',
99
- matchedRule: 'plan.plans',
100
- };
101
- }
102
- const restrictionSource = sessionMode === 'plan' ? 'режим plan' : 'strict: план не утверждён';
104
+ const restrictionSource = sessionMode === 'plan' ? sm('permission.plan_source_mode') : sm('permission.plan_source_strict');
103
105
  return {
104
106
  action: 'deny',
105
- reason: `plan mode: запись файлов заблокирована (${restrictionSource})`,
107
+ reason: sm('permission.plan_write_blocked', { source: restrictionSource }),
106
108
  matchedRule: 'plan.deny',
107
109
  };
108
110
  }
111
+ // AD-025: в plan-режиме мутирующие shell-команды запрещены, read-only разрешены.
112
+ if (shellCommand !== undefined && isPlanRestricted(sessionMode, planMode, planApproved)
113
+ && isMutatingCommand(tokenizeCommand(shellCommand), shellCommand)) {
114
+ return {
115
+ action: 'deny',
116
+ reason: sm('permission.plan_shell_denied'),
117
+ matchedRule: 'plan.shell-deny',
118
+ };
119
+ }
120
+ // Денлист shell-политики: критичный deny/ask поверх конфига (как
121
+ // plan-рестрикция). ApprovalPaths → ask, всё остальное из политики → deny.
122
+ if (shellCommand !== undefined && shellPolicy) {
123
+ const sc = checkShellCommand(shellCommand, shellCwd, shellPolicy);
124
+ if (sc.action !== 'allow') {
125
+ return {
126
+ action: sc.action,
127
+ reason: sc.reason,
128
+ matchedRule: sc.matchedRule,
129
+ messageId: sc.messageId,
130
+ params: sc.params,
131
+ };
132
+ }
133
+ }
134
+ // Защищённые пути (ProtectedPaths): единый слой для ВСЕХ файловых тулов.
135
+ // Жёсткий deny/ask ПОВЕРХ permission.rules (не переопределяется правилами).
136
+ // Тумблер protectedPathsEnabled === false — проверка пропускается полностью.
137
+ // Проверяем СЫРЫЕ параметры-пути (до resolvePath), чтобы checkPath мог раскрыть
138
+ // `~`, `$HOME`, `$PWD` и относительные пути (extractPaths резолвит без `~`).
139
+ if (protectedPaths && protectedPathsEnabled !== false) {
140
+ const rawPaths = [];
141
+ for (const name of (TOOL_PATH_PARAMS[toolName] ?? [])) {
142
+ const v = params[name];
143
+ if (typeof v === 'string' && v.trim() !== '')
144
+ rawPaths.push(v);
145
+ }
146
+ for (const p of rawPaths) {
147
+ const cp = checkPath(p, workingDir, protectedPaths);
148
+ if (cp.action === 'deny') {
149
+ return {
150
+ action: 'deny',
151
+ reason: cp.reason ?? '',
152
+ matchedRule: cp.matchedRule,
153
+ messageId: cp.messageId,
154
+ params: cp.params,
155
+ };
156
+ }
157
+ if (cp.action === 'ask') {
158
+ return {
159
+ action: 'ask',
160
+ reason: cp.reason ?? '',
161
+ matchedRule: cp.matchedRule,
162
+ messageId: cp.messageId,
163
+ params: cp.params,
164
+ };
165
+ }
166
+ }
167
+ }
109
168
  // MCP-доступность по режимам (настройки сессии): в plan-режиме инструмент
110
169
  // доступен только если plan=true, в act — act=true. Применяется поверх конфига.
111
170
  if (capabilities?.includes(ToolCapability.MCP) && mcpToolSettings) {
@@ -115,7 +174,7 @@ export class PermissionEvaluator {
115
174
  if (!availability[modeKey]) {
116
175
  return {
117
176
  action: 'deny',
118
- reason: `MCP-инструмент недоступен в режиме ${modeKey}`,
177
+ reason: sm('permission.mcp_unavailable', { mode: modeKey }),
119
178
  matchedRule: 'mcp.mode',
120
179
  };
121
180
  }
@@ -146,9 +205,18 @@ export class PermissionEvaluator {
146
205
  const groupRule = this._config.rules[group];
147
206
  if (groupRule === undefined)
148
207
  continue;
149
- const d = this._resolveRule(group, groupRule, isFile ? paths : [], workingDir);
150
- if (d)
151
- return d;
208
+ // Для execute_shell правила группы shell матчатся по КОМАНДЕ (префиксы
209
+ // токенов), а не по cwd-пути: "npm install *" → ask, "*" → любая команда.
210
+ if (shellCommand !== undefined && group === 'shell') {
211
+ const d = this._resolveShellRule(group, groupRule, shellCommand, workingDir);
212
+ if (d)
213
+ return d;
214
+ }
215
+ else {
216
+ const d = this._resolveRule(group, groupRule, isFile ? paths : [], workingDir);
217
+ if (d)
218
+ return d;
219
+ }
152
220
  }
153
221
  // 4. Глобальный '*'
154
222
  const starRule = this._config.rules['*'];
@@ -160,18 +228,18 @@ export class PermissionEvaluator {
160
228
  // 5. Дефолт: allow
161
229
  return {
162
230
  action: 'allow',
163
- reason: `нет правил permissions для "${toolName}" — разрешено по умолчанию`,
231
+ reason: sm('permission.no_rules', { tool: toolName }),
164
232
  };
165
233
  }
166
234
  _resolveRule(key, rule, paths, workingDir) {
167
235
  if (typeof rule === 'string') {
168
- return { action: rule, reason: `правило "${key}" ${rule}`, matchedRule: key };
236
+ return { action: rule, reason: sm('permission.rule_matched', { key, action: rule }), matchedRule: key };
169
237
  }
170
238
  // Объект — файловые паттерны. Для тулов без путей учитываем только '*'.
171
239
  if (paths.length === 0) {
172
240
  const star = rule['*'];
173
241
  if (star) {
174
- return { action: star, reason: `правило "${key}.*" ${star}`, matchedRule: `${key}.*` };
242
+ return { action: star, reason: sm('permission.rule_prefix_matched', { key, action: star }), matchedRule: `${key}.*` };
175
243
  }
176
244
  return undefined;
177
245
  }
@@ -185,7 +253,7 @@ export class PermissionEvaluator {
185
253
  if (matchPathPattern(pattern, p, workingDir)) {
186
254
  return {
187
255
  action,
188
- reason: `правило "${key}.${pattern}" → ${action} (путь: ${p})`,
256
+ reason: sm('permission.rule_pattern_matched', { key, pattern, action, path: p }),
189
257
  matchedRule: `${key}.${pattern}`,
190
258
  };
191
259
  }
@@ -194,7 +262,38 @@ export class PermissionEvaluator {
194
262
  if (starAction) {
195
263
  return {
196
264
  action: starAction,
197
- reason: `правило "${key}.*" ${starAction}`,
265
+ reason: sm('permission.rule_prefix_matched', { key, action: starAction }),
266
+ matchedRule: `${key}.*`,
267
+ };
268
+ }
269
+ return undefined;
270
+ }
271
+ /**
272
+ * Разрешение правил группы shell для execute_shell: паттерны матчатся по
273
+ * команде (а не по пути). Поддержан префиксный синтаксис "git commit *".
274
+ */
275
+ _resolveShellRule(key, rule, command, _workingDir) {
276
+ if (typeof rule === 'string') {
277
+ return { action: rule, reason: sm('permission.rule_matched', { key, action: rule }), matchedRule: key };
278
+ }
279
+ let starAction;
280
+ for (const [pattern, action] of Object.entries(rule)) {
281
+ if (pattern === '*') {
282
+ starAction = action;
283
+ continue;
284
+ }
285
+ if (matchShellCommandPattern(pattern, command)) {
286
+ return {
287
+ action,
288
+ reason: sm('permission.rule_command_matched', { key, pattern, action, command }),
289
+ matchedRule: `${key}.${pattern}`,
290
+ };
291
+ }
292
+ }
293
+ if (starAction) {
294
+ return {
295
+ action: starAction,
296
+ reason: sm('permission.rule_prefix_matched', { key, action: starAction }),
198
297
  matchedRule: `${key}.*`,
199
298
  };
200
299
  }
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/engine/permission/evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/engine/permission/evaluator.ts"],"names":[],"mappings":"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"}