agent-enderun 1.10.2 → 1.11.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 (322) hide show
  1. package/README.md +34 -44
  2. package/dist/framework-mcp/src/constants.d.ts +47 -0
  3. package/dist/framework-mcp/src/constants.js +65 -0
  4. package/dist/framework-mcp/src/constants.js.map +1 -0
  5. package/dist/framework-mcp/src/index.js +26 -5
  6. package/dist/framework-mcp/src/index.js.map +1 -1
  7. package/dist/framework-mcp/src/tools/control_plane/locking.d.ts +3 -9
  8. package/dist/framework-mcp/src/tools/control_plane/locking.js.map +1 -1
  9. package/dist/framework-mcp/src/tools/control_plane/registry.d.ts +2 -8
  10. package/dist/framework-mcp/src/tools/control_plane/registry.js.map +1 -1
  11. package/dist/framework-mcp/src/tools/dashboard/start_dashboard.d.ts +2 -2
  12. package/dist/framework-mcp/src/tools/dashboard/start_dashboard.js.map +1 -1
  13. package/dist/framework-mcp/src/tools/definitions.js +30 -0
  14. package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
  15. package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.d.ts +2 -2
  16. package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +12 -4
  17. package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js.map +1 -1
  18. package/dist/framework-mcp/src/tools/file_system/patch_file.d.ts +2 -2
  19. package/dist/framework-mcp/src/tools/file_system/patch_file.js +6 -2
  20. package/dist/framework-mcp/src/tools/file_system/patch_file.js.map +1 -1
  21. package/dist/framework-mcp/src/tools/file_system/read_file.d.ts +2 -2
  22. package/dist/framework-mcp/src/tools/file_system/read_file.js +43 -26
  23. package/dist/framework-mcp/src/tools/file_system/read_file.js.map +1 -1
  24. package/dist/framework-mcp/src/tools/file_system/replace_text.d.ts +2 -2
  25. package/dist/framework-mcp/src/tools/file_system/replace_text.js +7 -3
  26. package/dist/framework-mcp/src/tools/file_system/replace_text.js.map +1 -1
  27. package/dist/framework-mcp/src/tools/file_system/write_file.d.ts +2 -2
  28. package/dist/framework-mcp/src/tools/file_system/write_file.js +27 -15
  29. package/dist/framework-mcp/src/tools/file_system/write_file.js.map +1 -1
  30. package/dist/framework-mcp/src/tools/framework/get_status.d.ts +2 -2
  31. package/dist/framework-mcp/src/tools/framework/get_status.js.map +1 -1
  32. package/dist/framework-mcp/src/tools/framework/orchestrate.d.ts +2 -2
  33. package/dist/framework-mcp/src/tools/framework/orchestrate.js.map +1 -1
  34. package/dist/framework-mcp/src/tools/framework/run_tests.d.ts +2 -2
  35. package/dist/framework-mcp/src/tools/framework/run_tests.js.map +1 -1
  36. package/dist/framework-mcp/src/tools/framework/update_contract_hash.d.ts +2 -2
  37. package/dist/framework-mcp/src/tools/framework/update_contract_hash.js.map +1 -1
  38. package/dist/framework-mcp/src/tools/framework/update_memory.d.ts +2 -2
  39. package/dist/framework-mcp/src/tools/framework/update_memory.js +1 -1
  40. package/dist/framework-mcp/src/tools/framework/update_memory.js.map +1 -1
  41. package/dist/framework-mcp/src/tools/index.d.ts +1 -2
  42. package/dist/framework-mcp/src/tools/index.js +33 -25
  43. package/dist/framework-mcp/src/tools/index.js.map +1 -1
  44. package/dist/framework-mcp/src/tools/messaging/log_action.d.ts +2 -2
  45. package/dist/framework-mcp/src/tools/messaging/log_action.js.map +1 -1
  46. package/dist/framework-mcp/src/tools/messaging/send_message.d.ts +2 -2
  47. package/dist/framework-mcp/src/tools/messaging/send_message.js +14 -1
  48. package/dist/framework-mcp/src/tools/messaging/send_message.js.map +1 -1
  49. package/dist/framework-mcp/src/tools/observability/check_ports.d.ts +2 -2
  50. package/dist/framework-mcp/src/tools/observability/check_ports.js.map +1 -1
  51. package/dist/framework-mcp/src/tools/quality/check_lint.d.ts +5 -0
  52. package/dist/framework-mcp/src/tools/quality/check_lint.js +29 -0
  53. package/dist/framework-mcp/src/tools/quality/check_lint.js.map +1 -0
  54. package/dist/framework-mcp/src/tools/search/get_gaps.d.ts +2 -2
  55. package/dist/framework-mcp/src/tools/search/get_gaps.js.map +1 -1
  56. package/dist/framework-mcp/src/tools/search/get_map.d.ts +2 -2
  57. package/dist/framework-mcp/src/tools/search/get_map.js +1 -1
  58. package/dist/framework-mcp/src/tools/search/get_map.js.map +1 -1
  59. package/dist/framework-mcp/src/tools/search/grep_search.d.ts +2 -2
  60. package/dist/framework-mcp/src/tools/search/grep_search.js +45 -28
  61. package/dist/framework-mcp/src/tools/search/grep_search.js.map +1 -1
  62. package/dist/framework-mcp/src/tools/search/list_dir.d.ts +2 -2
  63. package/dist/framework-mcp/src/tools/search/list_dir.js.map +1 -1
  64. package/dist/framework-mcp/src/tools/shell/run_command.d.ts +2 -0
  65. package/dist/framework-mcp/src/tools/shell/run_command.js +47 -0
  66. package/dist/framework-mcp/src/tools/shell/run_command.js.map +1 -0
  67. package/dist/framework-mcp/src/tools/types.d.ts +95 -28
  68. package/dist/framework-mcp/src/utils/metrics.d.ts +20 -0
  69. package/dist/framework-mcp/src/utils/metrics.js +24 -6
  70. package/dist/framework-mcp/src/utils/metrics.js.map +1 -1
  71. package/dist/framework-mcp/src/utils/security.d.ts +1 -3
  72. package/dist/framework-mcp/src/utils/security.js +21 -18
  73. package/dist/framework-mcp/src/utils/security.js.map +1 -1
  74. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +19 -14
  75. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +1 -1
  76. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +1 -1
  77. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -1
  78. package/dist/framework-mcp/tests/tools/quality/check_lint.test.d.ts +1 -0
  79. package/dist/framework-mcp/tests/tools/quality/check_lint.test.js +36 -0
  80. package/dist/framework-mcp/tests/tools/quality/check_lint.test.js.map +1 -0
  81. package/dist/framework-mcp/tests/tools/shell/run_command.test.d.ts +1 -0
  82. package/dist/framework-mcp/tests/tools/shell/run_command.test.js +43 -0
  83. package/dist/framework-mcp/tests/tools/shell/run_command.test.js.map +1 -0
  84. package/dist/src/cli/adapters/core.d.ts +1 -1
  85. package/dist/src/cli/adapters/core.js +4 -0
  86. package/dist/src/cli/adapters/core.js.map +1 -1
  87. package/dist/src/cli/adapters/index.d.ts +1 -0
  88. package/dist/src/cli/adapters/index.js +1 -0
  89. package/dist/src/cli/adapters/index.js.map +1 -1
  90. package/dist/src/cli/adapters/paths.d.ts +15 -0
  91. package/dist/src/cli/adapters/paths.js +101 -0
  92. package/dist/src/cli/adapters/paths.js.map +1 -0
  93. package/dist/src/cli/adapters/scaffold.d.ts +1 -1
  94. package/dist/src/cli/adapters/scaffold.js +10 -7
  95. package/dist/src/cli/adapters/scaffold.js.map +1 -1
  96. package/dist/src/cli/commands/check.js +15 -36
  97. package/dist/src/cli/commands/check.js.map +1 -1
  98. package/dist/src/cli/commands/dashboard/data-service.d.ts +8 -0
  99. package/dist/src/cli/commands/dashboard/data-service.js +37 -0
  100. package/dist/src/cli/commands/dashboard/data-service.js.map +1 -1
  101. package/dist/src/cli/commands/init/scaffold-core.d.ts +5 -2
  102. package/dist/src/cli/commands/init/scaffold-core.js +28 -6
  103. package/dist/src/cli/commands/init/scaffold-core.js.map +1 -1
  104. package/dist/src/cli/commands/init/scaffold-standards.js +6 -1
  105. package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -1
  106. package/dist/src/cli/commands/init.js +30 -6
  107. package/dist/src/cli/commands/init.js.map +1 -1
  108. package/dist/src/cli/commands/orchestrate.d.ts +11 -6
  109. package/dist/src/cli/commands/orchestrate.js +148 -128
  110. package/dist/src/cli/commands/orchestrate.js.map +1 -1
  111. package/dist/src/cli/commands/plan.d.ts +3 -1
  112. package/dist/src/cli/commands/plan.js +79 -22
  113. package/dist/src/cli/commands/plan.js.map +1 -1
  114. package/dist/src/cli/index.js +11 -15
  115. package/dist/src/cli/index.js.map +1 -1
  116. package/dist/src/cli/utils/compliance.js +0 -1
  117. package/dist/src/cli/utils/compliance.js.map +1 -1
  118. package/dist/src/cli/utils/config-schema.d.ts +7 -7
  119. package/dist/src/cli/utils/fs.js +1 -1
  120. package/dist/src/cli/utils/fs.js.map +1 -1
  121. package/dist/src/cli/utils/memory.d.ts +1 -1
  122. package/dist/src/cli/utils/memory.js +28 -8
  123. package/dist/src/cli/utils/memory.js.map +1 -1
  124. package/dist/src/cli/utils/pkg.d.ts +19 -0
  125. package/dist/src/cli/utils/pkg.js +29 -5
  126. package/dist/src/cli/utils/pkg.js.map +1 -1
  127. package/dist/src/modules/adapters/definitions.js +3 -3
  128. package/dist/src/modules/adapters/definitions.js.map +1 -1
  129. package/dist/src/modules/agents/definitions.js +2 -1
  130. package/dist/src/modules/agents/definitions.js.map +1 -1
  131. package/dist/src/modules/agents/registry/analyst.js +1 -1
  132. package/dist/src/modules/agents/registry/analyst.js.map +1 -1
  133. package/dist/src/modules/agents/registry/architect.js +1 -0
  134. package/dist/src/modules/agents/registry/architect.js.map +1 -1
  135. package/dist/src/modules/agents/registry/backend.js +7 -6
  136. package/dist/src/modules/agents/registry/backend.js.map +1 -1
  137. package/dist/src/modules/agents/registry/database.js +4 -3
  138. package/dist/src/modules/agents/registry/database.js.map +1 -1
  139. package/dist/src/modules/agents/registry/devops.js +1 -1
  140. package/dist/src/modules/agents/registry/devops.js.map +1 -1
  141. package/dist/src/modules/agents/registry/git.js +1 -1
  142. package/dist/src/modules/agents/registry/git.js.map +1 -1
  143. package/dist/src/modules/agents/registry/manager.js +3 -2
  144. package/dist/src/modules/agents/registry/manager.js.map +1 -1
  145. package/dist/src/modules/agents/registry/native.js +1 -1
  146. package/dist/src/modules/agents/registry/native.js.map +1 -1
  147. package/dist/src/modules/agents/registry/quality.js +1 -0
  148. package/dist/src/modules/agents/registry/quality.js.map +1 -1
  149. package/dist/src/modules/agents/registry/security.js +1 -0
  150. package/dist/src/modules/agents/registry/security.js.map +1 -1
  151. package/dist/src/shared/constants.d.ts +113 -0
  152. package/dist/src/shared/constants.js +178 -0
  153. package/dist/src/shared/constants.js.map +1 -0
  154. package/dist/tests/adapters/paths.test.d.ts +1 -0
  155. package/dist/tests/adapters/paths.test.js +63 -0
  156. package/dist/tests/adapters/paths.test.js.map +1 -0
  157. package/dist/tests/approve.test.js +5 -9
  158. package/dist/tests/approve.test.js.map +1 -1
  159. package/dist/tests/cli/init/unified_init.test.d.ts +1 -0
  160. package/dist/tests/cli/init/unified_init.test.js +47 -0
  161. package/dist/tests/cli/init/unified_init.test.js.map +1 -0
  162. package/dist/tests/fs-utils.test.js +1 -1
  163. package/dist/tests/fs-utils.test.js.map +1 -1
  164. package/dist/tests/memory-utils.test.js +1 -1
  165. package/dist/tests/memory-utils.test.js.map +1 -1
  166. package/dist/tests/shared/constants.test.d.ts +1 -0
  167. package/dist/tests/shared/constants.test.js +17 -0
  168. package/dist/tests/shared/constants.test.js.map +1 -0
  169. package/dist/tests/trace.test.js +2 -2
  170. package/dist/tests/trace.test.js.map +1 -1
  171. package/framework-mcp/dist/constants.js +64 -0
  172. package/framework-mcp/dist/index.js +109 -0
  173. package/framework-mcp/dist/tools/control_plane/locking.js +64 -0
  174. package/framework-mcp/dist/tools/control_plane/registry.js +34 -0
  175. package/framework-mcp/dist/tools/dashboard/start_dashboard.js +29 -0
  176. package/framework-mcp/dist/tools/definitions.js +300 -0
  177. package/framework-mcp/dist/tools/file_system/batch_surgical_edit.js +59 -0
  178. package/framework-mcp/dist/tools/file_system/patch_file.js +25 -0
  179. package/framework-mcp/dist/tools/file_system/read_file.js +51 -0
  180. package/framework-mcp/dist/tools/file_system/replace_text.js +43 -0
  181. package/framework-mcp/dist/tools/file_system/write_file.js +38 -0
  182. package/framework-mcp/dist/tools/framework/audit_deps.js +41 -0
  183. package/framework-mcp/dist/tools/framework/get_status.js +5 -0
  184. package/framework-mcp/dist/tools/framework/orchestrate.js +5 -0
  185. package/framework-mcp/dist/tools/framework/run_tests.js +25 -0
  186. package/framework-mcp/dist/tools/framework/update_contract_hash.js +5 -0
  187. package/framework-mcp/dist/tools/framework/update_memory.js +8 -0
  188. package/framework-mcp/dist/tools/index.js +62 -0
  189. package/framework-mcp/dist/tools/memory/get_insights.js +34 -0
  190. package/framework-mcp/dist/tools/memory/read_memory.js +28 -0
  191. package/framework-mcp/dist/tools/messaging/log_action.js +22 -0
  192. package/framework-mcp/dist/tools/messaging/send_message.js +87 -0
  193. package/framework-mcp/dist/tools/observability/check_ports.js +26 -0
  194. package/framework-mcp/dist/tools/observability/get_health.js +19 -0
  195. package/framework-mcp/dist/tools/quality/check_lint.js +28 -0
  196. package/framework-mcp/dist/tools/search/get_gaps.js +48 -0
  197. package/framework-mcp/dist/tools/search/get_map.js +43 -0
  198. package/framework-mcp/dist/tools/search/grep_search.js +76 -0
  199. package/framework-mcp/dist/tools/search/list_dir.js +28 -0
  200. package/framework-mcp/dist/tools/shell/run_command.js +46 -0
  201. package/framework-mcp/dist/tools/types.js +1 -0
  202. package/framework-mcp/dist/utils/cli.js +20 -0
  203. package/framework-mcp/dist/utils/compliance.js +29 -0
  204. package/framework-mcp/dist/utils/fs.js +44 -0
  205. package/framework-mcp/dist/utils/metrics.js +56 -0
  206. package/framework-mcp/dist/utils/security.js +60 -0
  207. package/framework-mcp/package.json +19 -0
  208. package/framework-mcp/src/constants.ts +78 -0
  209. package/framework-mcp/src/declarations.d.ts +17 -0
  210. package/framework-mcp/src/index.ts +132 -0
  211. package/framework-mcp/src/tools/control_plane/locking.ts +71 -0
  212. package/framework-mcp/src/tools/control_plane/registry.ts +38 -0
  213. package/framework-mcp/src/tools/dashboard/start_dashboard.ts +33 -0
  214. package/framework-mcp/src/tools/definitions.ts +302 -0
  215. package/framework-mcp/src/tools/file_system/batch_surgical_edit.ts +79 -0
  216. package/framework-mcp/src/tools/file_system/patch_file.ts +33 -0
  217. package/framework-mcp/src/tools/file_system/read_file.ts +58 -0
  218. package/framework-mcp/src/tools/file_system/replace_text.ts +52 -0
  219. package/framework-mcp/src/tools/file_system/write_file.ts +45 -0
  220. package/framework-mcp/src/tools/framework/audit_deps.ts +49 -0
  221. package/framework-mcp/src/tools/framework/get_status.ts +7 -0
  222. package/framework-mcp/src/tools/framework/orchestrate.ts +7 -0
  223. package/framework-mcp/src/tools/framework/run_tests.ts +28 -0
  224. package/framework-mcp/src/tools/framework/update_contract_hash.ts +7 -0
  225. package/framework-mcp/src/tools/framework/update_memory.ts +10 -0
  226. package/framework-mcp/src/tools/index.ts +66 -0
  227. package/framework-mcp/src/tools/memory/get_insights.ts +41 -0
  228. package/framework-mcp/src/tools/memory/read_memory.ts +31 -0
  229. package/framework-mcp/src/tools/messaging/log_action.ts +28 -0
  230. package/framework-mcp/src/tools/messaging/send_message.ts +89 -0
  231. package/framework-mcp/src/tools/observability/check_ports.ts +30 -0
  232. package/framework-mcp/src/tools/observability/get_health.ts +24 -0
  233. package/framework-mcp/src/tools/quality/check_lint.ts +33 -0
  234. package/framework-mcp/src/tools/search/get_gaps.ts +54 -0
  235. package/framework-mcp/src/tools/search/get_map.ts +48 -0
  236. package/framework-mcp/src/tools/search/grep_search.ts +76 -0
  237. package/framework-mcp/src/tools/search/list_dir.ts +34 -0
  238. package/framework-mcp/src/tools/shell/run_command.ts +56 -0
  239. package/framework-mcp/src/tools/types.ts +89 -0
  240. package/framework-mcp/src/utils/cli.ts +20 -0
  241. package/framework-mcp/src/utils/compliance.ts +37 -0
  242. package/framework-mcp/src/utils/fs.ts +45 -0
  243. package/framework-mcp/src/utils/metrics.ts +73 -0
  244. package/framework-mcp/src/utils/security.ts +66 -0
  245. package/framework-mcp/tests/tools/file_system/file_system_tools.test.ts +212 -0
  246. package/framework-mcp/tests/tools/messaging/send_message.test.ts +136 -0
  247. package/framework-mcp/tests/tools/quality/check_lint.test.ts +46 -0
  248. package/framework-mcp/tests/tools/shell/run_command.test.ts +55 -0
  249. package/framework-mcp/tsconfig.json +14 -0
  250. package/package.json +9 -7
  251. package/src/cli/adapters/core.ts +7 -1
  252. package/src/cli/adapters/index.ts +1 -0
  253. package/src/cli/adapters/paths.ts +134 -0
  254. package/src/cli/adapters/scaffold.ts +17 -7
  255. package/src/cli/commands/check.ts +16 -38
  256. package/src/cli/commands/dashboard/data-service.ts +48 -0
  257. package/src/cli/commands/init/scaffold-core.ts +45 -6
  258. package/src/cli/commands/init/scaffold-standards.ts +6 -1
  259. package/src/cli/commands/init.ts +32 -6
  260. package/src/cli/commands/orchestrate.ts +151 -127
  261. package/src/cli/commands/plan.ts +89 -23
  262. package/src/cli/index.ts +14 -19
  263. package/src/cli/utils/compliance.ts +8 -9
  264. package/src/cli/utils/fs.ts +1 -1
  265. package/src/cli/utils/memory.ts +32 -7
  266. package/src/cli/utils/pkg.ts +42 -13
  267. package/src/modules/adapters/definitions.ts +4 -3
  268. package/src/modules/agents/definitions.ts +2 -1
  269. package/src/modules/agents/registry/analyst.ts +1 -1
  270. package/src/modules/agents/registry/architect.ts +1 -0
  271. package/src/modules/agents/registry/backend.ts +7 -6
  272. package/src/modules/agents/registry/database.ts +4 -3
  273. package/src/modules/agents/registry/devops.ts +1 -1
  274. package/src/modules/agents/registry/git.ts +1 -1
  275. package/src/modules/agents/registry/manager.ts +3 -2
  276. package/src/modules/agents/registry/native.ts +1 -1
  277. package/src/modules/agents/registry/quality.ts +1 -0
  278. package/src/modules/agents/registry/security.ts +1 -0
  279. package/src/shared/constants.ts +212 -0
  280. package/templates/prompts/bug-fix-recipe.md +20 -0
  281. package/templates/prompts/contract-design-recipe.md +21 -0
  282. package/templates/prompts/db-management-recipe.md +25 -0
  283. package/templates/prompts/deployment-recipe.md +23 -0
  284. package/templates/prompts/new-feature-recipe.md +19 -0
  285. package/templates/prompts/performance-optimization-recipe.md +23 -0
  286. package/templates/prompts/pull-request-template.md +21 -0
  287. package/templates/prompts/refactoring-recipe.md +21 -0
  288. package/templates/prompts/security-audit-recipe.md +20 -0
  289. package/templates/standards/architecture-standards.md +23 -0
  290. package/templates/standards/auth-standards.md +125 -0
  291. package/templates/standards/crud-governance.md +21 -0
  292. package/templates/standards/deployment-standards.md +21 -0
  293. package/templates/standards/frontend-standards.md +37 -0
  294. package/templates/standards/github-actions-standards.md +43 -0
  295. package/templates/standards/i18n-standards.md +17 -0
  296. package/templates/standards/kysely-standards.md +47 -0
  297. package/templates/standards/llm-governance.md +15 -0
  298. package/templates/standards/logging-and-secrets.md +34 -0
  299. package/templates/standards/mobile-standards.md +23 -0
  300. package/templates/standards/observability-standards.md +15 -0
  301. package/templates/standards/performance-standards.md +15 -0
  302. package/templates/standards/pino-standards.md +46 -0
  303. package/templates/standards/playwright-standards.md +54 -0
  304. package/templates/standards/quality-standards.md +31 -0
  305. package/templates/standards/react-query-standards.md +72 -0
  306. package/templates/standards/react-router-standards.md +62 -0
  307. package/templates/standards/security-audit-standards.md +16 -0
  308. package/templates/standards/security-standards.md +21 -0
  309. package/templates/standards/swagger-standards.md +50 -0
  310. package/templates/standards/tailwind-standards.md +20 -0
  311. package/templates/standards/testing-standards.md +31 -0
  312. package/templates/standards/typeorm-standards.md +49 -0
  313. package/templates/standards/vitest-standards.md +110 -0
  314. package/bin/validate-agent-army.js +0 -148
  315. package/src/cli/commands/app.ts +0 -56
  316. package/src/cli/utils/app-backend.ts +0 -257
  317. package/src/cli/utils/app-docs.ts +0 -83
  318. package/src/cli/utils/app-frontend.ts +0 -263
  319. package/src/cli/utils/app-inferrer.ts +0 -63
  320. package/src/cli/utils/app-mobile.ts +0 -113
  321. package/src/cli/utils/app-types.ts +0 -248
  322. package/src/cli/utils/app.ts +0 -6
@@ -3,8 +3,8 @@ export const backend = {
3
3
  name: "backend",
4
4
  displayName: "Backend Specialist",
5
5
  role: "Backend Development",
6
- description: "Server logic, Databases, and API implementation specialist. " +
7
- "Owns the Database Management & Migrations discipline.",
6
+ description: "Server logic and API implementation specialist. " +
7
+ "Owns the API contracts and business logic implementation.",
8
8
  capability: 9,
9
9
  tier: "core",
10
10
  tags: ["core", "logic"],
@@ -23,21 +23,22 @@ export const backend = {
23
23
  ],
24
24
  instructions: {
25
25
  identity: "Backend Domain Engineer and Database Management Owner",
26
- mission: "Deliver reliable, type-safe server logic that upholds Kysley-only " +
26
+ mission: "Deliver reliable, type-safe server logic that upholds Kysely/TypeORM " +
27
27
  "data access and strict repository/service separation.",
28
28
  chainOfThought: "1. Analyze: Read the task, context, and relevant governance documents.\n" +
29
29
  "2. Validate: Cross-reference with project rules, contracts, and architecture standards.\n" +
30
30
  "3. Plan: Break down the task into small, atomic, and verifiable steps.\n" +
31
31
  "4. Execute: Perform the task using approved tools, adhering to quality and security constraints.",
32
32
  rules: [
33
- "BRANDED TYPES: Use branded types for all domain IDs never raw string or number.",
34
- "KYSELY ONLY: All database access via Kysely — raw SQL strings are unconditionally forbidden.",
33
+ "STRICT BRANDED TYPES: Absolute enforcement of branded types for ALL domain IDs (e.g., UserId, ProjectId). Raw 'string' or 'number' for IDs is a Nizam violation and will cause task rejection.",
34
+ "KYSELY ONLY: All database access via Kysely — raw SQL strings are unconditionally forbidden. No exceptions.",
35
35
  "LAYER SEPARATION: Isolate queries in repository/service layers — direct DB calls in controllers are forbidden.",
36
36
  "ERROR HANDLING: Wrap all async logic in robust try/catch blocks with typed error responses.",
37
+ "PII PROTECTION: Never log or store real user data. Use anonymized hashes for debugging tasks.",
37
38
  "HIGH-RISK OPS: Refuse User/Role management, bulk deletes, schema alterations, and billing changes autonomously. " +
38
39
  "Return a standard refusal, send a managerApproval request to @manager, and shift to WAITING status.",
39
40
  ],
40
- knowledgeFiles: ["skills/database_management.md"],
41
+ knowledgeFiles: ["crud-governance.md", "kysely-standards.md", "typeorm-standards.md"],
41
42
  },
42
43
  };
43
44
  //# sourceMappingURL=backend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/backend.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,OAAO,GAAoB;IACpC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,oBAAoB;IACjC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACb,8DAA8D;QAC9D,uDAAuD;IACrD,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,WAAW;QACX,YAAY;QACZ,cAAc;QACd,qBAAqB;QACrB,YAAY;QACZ,UAAU;QACV,aAAa;QACb,oBAAoB;QACpB,qBAAqB;QACrB,qBAAqB;KACxB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,uDAAuD;QACjE,OAAO,EACX,oEAAoE;YACpE,uDAAuD;QACnD,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,mFAAmF;YACnF,8FAA8F;YAC9F,gHAAgH;YAChH,6FAA6F;YAC7F,kHAAkH;gBACxH,qGAAqG;SAClG;QACD,cAAc,EAAE,CAAC,+BAA+B,CAAC;KACpD;CACJ,CAAC"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/backend.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,OAAO,GAAoB;IACpC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,oBAAoB;IACjC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACb,kDAAkD;QAClD,2DAA2D;IACzD,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,WAAW;QACX,YAAY;QACZ,cAAc;QACd,qBAAqB;QACrB,YAAY;QACZ,UAAU;QACV,aAAa;QACb,oBAAoB;QACpB,qBAAqB;QACrB,qBAAqB;KACxB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,uDAAuD;QACjE,OAAO,EACX,uEAAuE;YACvE,uDAAuD;QACnD,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,gMAAgM;YAChM,6GAA6G;YAC7G,gHAAgH;YAChH,6FAA6F;YAC7F,+FAA+F;YAC/F,kHAAkH;gBACxH,qGAAqG;SAClG;QACD,cAAc,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,CAAC;KACxF;CACJ,CAAC"}
@@ -3,8 +3,8 @@ export const database = {
3
3
  name: "database",
4
4
  displayName: "Database Specialist",
5
5
  role: "Data Management",
6
- description: "SQL Schema design and Query Optimization specialist. " +
7
- "Manages data as the empire's treasury secure and optimized.",
6
+ description: "SQL Schema design, migration, and query optimization specialist. " +
7
+ "Owns the database schema, migrations, and data integrity.",
8
8
  capability: 9,
9
9
  tier: "core",
10
10
  tags: ["core", "data"],
@@ -17,6 +17,7 @@ export const database = {
17
17
  "list_dir",
18
18
  "grep_search",
19
19
  "read_project_memory",
20
+ "send_agent_message",
20
21
  ],
21
22
  instructions: {
22
23
  identity: "Database Architect and Migration Integrity Owner",
@@ -32,7 +33,7 @@ export const database = {
32
33
  "DETERMINISTIC MIGRATIONS: Every migration must be reversible and produce identical results across environments.",
33
34
  "PERFORMANCE FIRST: Design indexes proactively — never retroactively after a performance incident.",
34
35
  ],
35
- knowledgeFiles: ["skills/database_management.md"],
36
+ knowledgeFiles: ["kysely-standards.md", "typeorm-standards.md", "quality-standards.md"],
36
37
  },
37
38
  };
38
39
  //# sourceMappingURL=database.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/database.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACrC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,qBAAqB;IAClC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACb,uDAAuD;QACvD,+DAA+D;IAC7D,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,WAAW;QACX,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,UAAU;QACV,aAAa;QACb,qBAAqB;KACxB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,kDAAkD;QAC5D,OAAO,EACX,iEAAiE;YACjE,kDAAkD;QAC9C,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,8FAA8F;YAC9F,mFAAmF;YACnF,iHAAiH;YACjH,mGAAmG;SACtG;QACD,cAAc,EAAE,CAAC,+BAA+B,CAAC;KACpD;CACJ,CAAC"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/database.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACrC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,qBAAqB;IAClC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACb,mEAAmE;QACnE,2DAA2D;IACzD,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,WAAW;QACX,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,UAAU;QACV,aAAa;QACb,qBAAqB;QACrB,oBAAoB;KACvB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,kDAAkD;QAC5D,OAAO,EACX,iEAAiE;YACjE,kDAAkD;QAC9C,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,8FAA8F;YAC9F,mFAAmF;YACnF,iHAAiH;YACjH,mGAAmG;SACtG;QACD,cAAc,EAAE,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,sBAAsB,CAAC;KAC1F;CACJ,CAAC"}
@@ -32,7 +32,7 @@ export const devops = {
32
32
  "ENVIRONMENT ISOLATION: All variables managed via '.env' — hardcoded secrets trigger immediate escalation.",
33
33
  "NO UNTRACKED DEPLOYMENTS: Every deployment must be declared, versioned, and traceable.",
34
34
  ],
35
- knowledgeFiles: ["skills/devops_infrastructure.md"],
35
+ knowledgeFiles: ["deployment-standards.md"],
36
36
  },
37
37
  };
38
38
  //# sourceMappingURL=devops.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"devops.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/devops.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,MAAM,GAAoB;IACnC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,2BAA2B;IACxC,IAAI,EAAE,QAAQ;IACd,WAAW,EACb,oDAAoD;QACpD,oEAAoE;IAClE,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,mBAAmB;QACnB,WAAW;QACX,UAAU;QACV,mBAAmB;QACnB,oBAAoB;QACpB,qBAAqB;QACrB,oBAAoB;KACvB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,4DAA4D;QACtE,OAAO,EACX,sEAAsE;YACtE,4CAA4C;QACxC,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,mHAAmH;YACnH,8GAA8G;YAC9G,2GAA2G;YAC3G,wFAAwF;SAC3F;QACD,cAAc,EAAE,CAAC,iCAAiC,CAAC;KACtD;CACJ,CAAC"}
1
+ {"version":3,"file":"devops.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/devops.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,MAAM,GAAoB;IACnC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,2BAA2B;IACxC,IAAI,EAAE,QAAQ;IACd,WAAW,EACb,oDAAoD;QACpD,oEAAoE;IAClE,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,mBAAmB;QACnB,WAAW;QACX,UAAU;QACV,mBAAmB;QACnB,oBAAoB;QACpB,qBAAqB;QACrB,oBAAoB;KACvB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,4DAA4D;QACtE,OAAO,EACX,sEAAsE;YACtE,4CAA4C;QACxC,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,mHAAmH;YACnH,8GAA8G;YAC9G,2GAA2G;YAC3G,wFAAwF;SAC3F;QACD,cAAc,EAAE,CAAC,yBAAyB,CAAC;KAC9C;CACJ,CAAC"}
@@ -6,7 +6,7 @@ export const git = {
6
6
  description: "Git flow, Branching, and Atomic Commit master. " +
7
7
  "Manages the scrolls of history.",
8
8
  capability: 9,
9
- tier: "core",
9
+ tier: "recon",
10
10
  tags: ["core", "logistics"],
11
11
  stateMachine: STATE_MACHINE,
12
12
  tools: [
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/git.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,GAAG,GAAoB;IAChC,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,kBAAkB;IAC/B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACb,iDAAiD;QACjD,iCAAiC;IAC/B,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IAC3B,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,mBAAmB;QACnB,UAAU;QACV,aAAa;QACb,qBAAqB;QACrB,oBAAoB;KACvB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,6DAA6D;QACvE,OAAO,EACX,kEAAkE;YAClE,yCAAyC;QACrC,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,uGAAuG;YACvG,2GAA2G;YAC3G,iFAAiF;YACjF,sGAAsG;SACzG;KACJ;CACJ,CAAC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/git.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,GAAG,GAAoB;IAChC,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,kBAAkB;IAC/B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACb,iDAAiD;QACjD,iCAAiC;IAC/B,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IAC3B,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,mBAAmB;QACnB,UAAU;QACV,aAAa;QACb,qBAAqB;QACrB,oBAAoB;KACvB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,6DAA6D;QACvE,OAAO,EACX,kEAAkE;YAClE,yCAAyC;QACrC,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,uGAAuG;YACvG,2GAA2G;YAC3G,iFAAiF;YACjF,sGAAsG;SACzG;KACJ;CACJ,CAAC"}
@@ -35,8 +35,9 @@ export const manager = {
35
35
  "4. Execute: Delegate sub-tasks to appropriate specialists and verify compliance at each step.",
36
36
  rules: [
37
37
  "ABSOLUTE COMPLIANCE: Freeze project and block task on any Nizam violation " +
38
- "(e.g. 'any' type, 'console.log', file overwrite). No further action until breach is purged.",
39
- "PHASE WALL: Gate every phase transition reject if even one TODO or lint error exists in scope.",
38
+ "(e.g. 'any' type, 'console.log', PII leakage, or raw ID usage). No further action until breach is purged.",
39
+ "PII AUDIT: Proactively scan all specialist logs and memories for PII (Emails, Names). Purge immediately if detected.",
40
+ "PHASE WALL: Gate every phase transition — reject if even one TODO, lint error, or unbranded ID exists in scope.",
40
41
  "ORCHESTRATION AUDIT: Audit every specialist message for constitutional compliance before delegating next sub-task.",
41
42
  "STRATEGIC RECIPES: Direct specialists to '.enderun/prompts/' for all refactor, bug-fix, or feature tasks.",
42
43
  "SURGICAL PRECISION: Reject any full-file overwrite proposal unless the file is under 50 lines.",
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/manager.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,OAAO,GAAoB;IACpC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,wBAAwB;IACrC,IAAI,EAAE,yCAAyC;IAC/C,WAAW,EACb,kEAAkE;QAClE,uEAAuE;IACrE,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC;IAC7C,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,kBAAkB;QAClB,oBAAoB;QACpB,qBAAqB;QACrB,qBAAqB;QACrB,uBAAuB;QACvB,kBAAkB;QAClB,iBAAiB;QACjB,oBAAoB;QACpB,UAAU;QACV,aAAa;QACb,sBAAsB;QACtB,mBAAmB;QACnB,oBAAoB;QACpB,iBAAiB;KACpB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,yDAAyD;QACnE,OAAO,EACX,kEAAkE;YAClE,4CAA4C;QACxC,cAAc,EAAE,yFAAyF;YACzF,mFAAmF;YACnF,0EAA0E;YAC1E,+FAA+F;QAC/G,KAAK,EAAE;YACH,4EAA4E;gBAClF,6FAA6F;YACvF,kGAAkG;YAClG,oHAAoH;YACpH,2GAA2G;YAC3G,gGAAgG;YAChG,qGAAqG;YACrG,yHAAyH;YACzH,qGAAqG;SACxG;KACJ;CACJ,CAAC"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/manager.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,OAAO,GAAoB;IACpC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,wBAAwB;IACrC,IAAI,EAAE,yCAAyC;IAC/C,WAAW,EACb,kEAAkE;QAClE,uEAAuE;IACrE,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC;IAC7C,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,kBAAkB;QAClB,oBAAoB;QACpB,qBAAqB;QACrB,qBAAqB;QACrB,uBAAuB;QACvB,kBAAkB;QAClB,iBAAiB;QACjB,oBAAoB;QACpB,UAAU;QACV,aAAa;QACb,sBAAsB;QACtB,mBAAmB;QACnB,oBAAoB;QACpB,iBAAiB;KACpB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,yDAAyD;QACnE,OAAO,EACX,kEAAkE;YAClE,4CAA4C;QACxC,cAAc,EAAE,yFAAyF;YACzF,mFAAmF;YACnF,0EAA0E;YAC1E,+FAA+F;QAC/G,KAAK,EAAE;YACH,4EAA4E;gBAClF,2GAA2G;YACrG,sHAAsH;YACtH,iHAAiH;YACjH,oHAAoH;YACpH,2GAA2G;YAC3G,gGAAgG;YAChG,qGAAqG;YACrG,yHAAyH;YACzH,qGAAqG;SACxG;KACJ;CACJ,CAAC"}
@@ -6,7 +6,7 @@ export const native = {
6
6
  description: "Desktop apps and system-level logic specialist. " +
7
7
  "Handles OS deep layers with paramount security.",
8
8
  capability: 9,
9
- tier: "core",
9
+ tier: "recon",
10
10
  tags: ["core", "native"],
11
11
  stateMachine: STATE_MACHINE,
12
12
  tools: [
@@ -1 +1 @@
1
- {"version":3,"file":"native.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/native.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,MAAM,GAAoB;IACnC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,iBAAiB;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACb,kDAAkD;QAClD,iDAAiD;IAC/C,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IACxB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,WAAW;QACX,YAAY;QACZ,cAAc;QACd,UAAU;QACV,aAAa;QACb,qBAAqB;QACrB,mBAAmB;KACtB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,4DAA4D;QACtE,OAAO,EACX,kEAAkE;YAClE,4CAA4C;QACxC,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,oFAAoF;YACpF,0FAA0F;YAC1F,gGAAgG;SACnG;KACJ;CACJ,CAAC"}
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/native.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,MAAM,GAAoB;IACnC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,iBAAiB;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACb,kDAAkD;QAClD,iDAAiD;IAC/C,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IACxB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,WAAW;QACX,YAAY;QACZ,cAAc;QACd,UAAU;QACV,aAAa;QACb,qBAAqB;QACrB,mBAAmB;KACtB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,4DAA4D;QACtE,OAAO,EACX,kEAAkE;YAClE,4CAA4C;QACxC,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,oFAAoF;YACpF,0FAA0F;YAC1F,gGAAgG;SACnG;KACJ;CACJ,CAAC"}
@@ -17,6 +17,7 @@ export const quality = {
17
17
  "read_project_memory",
18
18
  "get_memory_insights",
19
19
  "run_tests",
20
+ "check_lint",
20
21
  "log_agent_action",
21
22
  "send_agent_message",
22
23
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"quality.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/quality.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,OAAO,GAAoB;IACpC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,oBAAoB;IACjC,IAAI,EAAE,qCAAqC;IAC3C,WAAW,EACb,6CAA6C;QAC7C,oDAAoD;IAClD,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;IACrC,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,UAAU;QACV,aAAa;QACb,WAAW;QACX,kBAAkB;QAClB,qBAAqB;QACrB,qBAAqB;QACrB,WAAW;QACX,kBAAkB;QAClB,oBAAoB;KACvB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,iDAAiD;QAC3D,OAAO,EACX,mEAAmE;YACnE,sDAAsD;QAClD,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,oHAAoH;YACpH,0GAA0G;YAC1G,sHAAsH;YACtH,uGAAuG;YACvG,qFAAqF;SACxF;QACD,cAAc,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;KACnE;CACJ,CAAC"}
1
+ {"version":3,"file":"quality.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/quality.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,OAAO,GAAoB;IACpC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,oBAAoB;IACjC,IAAI,EAAE,qCAAqC;IAC3C,WAAW,EACb,6CAA6C;QAC7C,oDAAoD;IAClD,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;IACrC,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,UAAU;QACV,aAAa;QACb,WAAW;QACX,kBAAkB;QAClB,qBAAqB;QACrB,qBAAqB;QACrB,WAAW;QACX,YAAY;QACZ,kBAAkB;QAClB,oBAAoB;KACvB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,iDAAiD;QAC3D,OAAO,EACX,mEAAmE;YACnE,sDAAsD;QAClD,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,oHAAoH;YACpH,0GAA0G;YAC1G,sHAAsH;YACtH,uGAAuG;YACvG,qFAAqF;SACxF;QACD,cAAc,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;KACnE;CACJ,CAAC"}
@@ -13,6 +13,7 @@ export const security = {
13
13
  "read_file",
14
14
  "replace_text",
15
15
  "grep_search",
16
+ "send_agent_message",
16
17
  "read_project_memory",
17
18
  "get_memory_insights",
18
19
  "log_agent_action",
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/security.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACrC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,qBAAqB;IAClC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACb,uDAAuD;QACvD,uEAAuE;IACrE,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IAC1B,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,WAAW;QACX,cAAc;QACd,aAAa;QACb,qBAAqB;QACrB,qBAAqB;QACrB,kBAAkB;KACrB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,2CAA2C;QACrD,OAAO,EACX,kEAAkE;YAClE,gCAAgC;QAC5B,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,sGAAsG;YACtG,sGAAsG;YACtG,6EAA6E;YAC7E,0FAA0F;SAC7F;QACD,cAAc,EAAE,CAAC,uBAAuB,CAAC;KAC5C;CACJ,CAAC"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/security.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACrC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,qBAAqB;IAClC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACb,uDAAuD;QACvD,uEAAuE;IACrE,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IAC1B,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,WAAW;QACX,cAAc;QACd,aAAa;QACb,oBAAoB;QACpB,qBAAqB;QACrB,qBAAqB;QACrB,kBAAkB;KACrB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,2CAA2C;QACrD,OAAO,EACX,kEAAkE;YAClE,gCAAgC;QAC5B,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,sGAAsG;YACtG,sGAAsG;YACtG,6EAA6E;YAC7E,0FAA0F;SAC7F;QACD,cAAc,EAAE,CAAC,uBAAuB,CAAC;KAC5C;CACJ,CAAC"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Agent Enderun — Single Source of Truth for framework constants.
3
+ * Import from here instead of hardcoding paths, phases, or directory names.
4
+ */
5
+ export declare const FRAMEWORK: {
6
+ readonly NAME: "Agent Enderun";
7
+ readonly CORE_DIR: ".enderun";
8
+ readonly UNIFIED_HUB_DIR: ".agents";
9
+ readonly CONSTITUTION_FILE: "ENDERUN.md";
10
+ readonly DEFAULT_TRACE_ID: "T-000";
11
+ readonly DEFAULT_PHASE: "PHASE_0";
12
+ readonly DEFAULT_MANAGER_STATE: "ACTIVE";
13
+ };
14
+ export declare const PROJECT_PHASES: readonly ["PHASE_0", "PHASE_1", "PHASE_2", "PHASE_3", "PHASE_4"];
15
+ export declare const ADAPTER_DIRS: {
16
+ readonly GEMINI: ".gemini";
17
+ readonly CLAUDE: ".claude";
18
+ readonly GROK: ".grok";
19
+ readonly CURSOR: ".cursor";
20
+ readonly CODEX: ".agents";
21
+ readonly ANTIGRAVITY: ".antigravity";
22
+ readonly LEGACY_AGENT: ".agent";
23
+ };
24
+ /** Priority order for framework directory resolution (CLI + MCP). */
25
+ export declare const FRAMEWORK_DIR_CANDIDATES: readonly [".enderun", ".agents", ".claude", ".gemini", ".grok", ".cursor", ".antigravity"];
26
+ /** Slug under `.agents/{slug}/` for each adapter in unified mode. */
27
+ export declare const UNIFIED_ADAPTER_SLUG: {
28
+ readonly gemini: "gemini";
29
+ readonly claude: "claude";
30
+ readonly grok: "grok";
31
+ readonly cursor: "cursor";
32
+ readonly codex: "codex";
33
+ readonly "antigravity-cli": "antigravity";
34
+ };
35
+ export type UnifiedAdapterSlug = keyof typeof UNIFIED_ADAPTER_SLUG;
36
+ export declare const NATIVE_AGENT_PATHS: {
37
+ readonly gemini: string;
38
+ readonly claude: string;
39
+ readonly grok: string;
40
+ readonly cursor: string;
41
+ readonly codex: string;
42
+ readonly "antigravity-cli": string;
43
+ };
44
+ /** Legacy layout bases used by `check` and discovery (non-unified installs). */
45
+ export declare const LEGACY_AGENT_LAYOUT_BASES: readonly [string, string, string, string, string, string];
46
+ export declare const FRAMEWORK_SUBDIRS: {
47
+ readonly AGENTS: "agents";
48
+ readonly SKILLS: "skills";
49
+ readonly KNOWLEDGE: "knowledge";
50
+ readonly PROMPTS: "prompts";
51
+ readonly MEMORY: "memory";
52
+ readonly ROUTER: "router";
53
+ readonly REGISTRY: "registry";
54
+ readonly OBSERVABILITY: "observability";
55
+ readonly RULES: "rules";
56
+ readonly MESSAGES: "messages";
57
+ readonly LOGS: "logs";
58
+ readonly MEMORY_GRAPH: "memory-graph";
59
+ };
60
+ export declare const CORE_SCAFFOLD_SUBDIRS: readonly ["knowledge", "prompts", "memory", "router", "registry", "observability", "rules"];
61
+ export declare const RUNTIME_SUBDIRS: readonly ["messages", "logs", "memory-graph"];
62
+ export declare const MEMORY_SUBDIRS: {
63
+ readonly TASKS: "tasks";
64
+ readonly HISTORY: "history";
65
+ };
66
+ export declare const MEMORY_FILES: {
67
+ readonly STATE: "state.json";
68
+ readonly STATUS: "status.json";
69
+ readonly PROJECT_MEMORY: "PROJECT_MEMORY.md";
70
+ readonly SHARED_FACTS: "shared-facts.json";
71
+ };
72
+ export declare const DEFAULT_MONOREPO_PATHS: {
73
+ readonly backend: "apps/backend";
74
+ readonly frontend: "apps/web";
75
+ readonly mobile: "apps/mobile";
76
+ readonly docs: "docs";
77
+ readonly tests: "tests";
78
+ };
79
+ /** Cursor rule globs per agent role (monorepo layout). */
80
+ export declare const CURSOR_AGENT_GLOBS: Record<string, string>;
81
+ export declare const MCP: {
82
+ readonly SERVER_NAME: "agent-enderun";
83
+ readonly ROOT_CONFIG_FILE: "mcp.json";
84
+ readonly PROJECT_ROOT_ENV: "ENDERUN_PROJECT_ROOT";
85
+ readonly TEST_DIR_ENV: "ENDERUN_TEST_DIR";
86
+ };
87
+ export declare const ROOT_CONFIG_FILES: {
88
+ readonly MCP: "mcp.json";
89
+ readonly DOT_MCP: ".mcp.json";
90
+ readonly ENV_EXAMPLE: ".env.example";
91
+ readonly VSCODE_MCP: ".vscode/mcp.json";
92
+ };
93
+ export declare const TEMPLATE_PLACEHOLDERS: {
94
+ readonly FRAMEWORK_DIR: "{{FRAMEWORK_DIR}}";
95
+ readonly ADAPTER: "{{ADAPTER}}";
96
+ readonly BACKEND_DIR: "{{BACKEND_DIR}}";
97
+ readonly FRONTEND_DIR: "{{FRONTEND_DIR}}";
98
+ readonly DOCS_DIR: "{{DOCS_DIR}}";
99
+ readonly TESTS_DIR: "{{TESTS_DIR}}";
100
+ };
101
+ export declare const AGENT_FILE_EXT: {
102
+ readonly MARKDOWN: ".md";
103
+ readonly CURSOR_RULE: ".mdc";
104
+ };
105
+ export declare function pathJoin(...segments: string[]): string;
106
+ export declare function corePath(...segments: string[]): string;
107
+ export declare function unifiedHubPath(...segments: string[]): string;
108
+ export declare function unifiedAdapterPath(slug: string, ...segments: string[]): string;
109
+ export declare function knowledgePath(filename: string): string;
110
+ /** Backward-compatible aliases */
111
+ export declare const CORE_FRAMEWORK_DIR: ".enderun";
112
+ export declare const UNIFIED_HUB_DIR: ".agents";
113
+ export declare const SKILLS_HUB_PATH: string;
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Agent Enderun — Single Source of Truth for framework constants.
3
+ * Import from here instead of hardcoding paths, phases, or directory names.
4
+ */
5
+ // ─── Framework identity ───────────────────────────────────────────────────────
6
+ export const FRAMEWORK = {
7
+ NAME: "Agent Enderun",
8
+ CORE_DIR: ".enderun",
9
+ UNIFIED_HUB_DIR: ".agents",
10
+ CONSTITUTION_FILE: "ENDERUN.md",
11
+ DEFAULT_TRACE_ID: "T-000",
12
+ DEFAULT_PHASE: "PHASE_0",
13
+ DEFAULT_MANAGER_STATE: "ACTIVE",
14
+ };
15
+ export const PROJECT_PHASES = [
16
+ "PHASE_0",
17
+ "PHASE_1",
18
+ "PHASE_2",
19
+ "PHASE_3",
20
+ "PHASE_4",
21
+ ];
22
+ // ─── Adapter platform directories (native / legacy) ───────────────────────────
23
+ export const ADAPTER_DIRS = {
24
+ GEMINI: ".gemini",
25
+ CLAUDE: ".claude",
26
+ GROK: ".grok",
27
+ CURSOR: ".cursor",
28
+ CODEX: ".agents",
29
+ ANTIGRAVITY: ".antigravity",
30
+ LEGACY_AGENT: ".agent",
31
+ };
32
+ /** Priority order for framework directory resolution (CLI + MCP). */
33
+ export const FRAMEWORK_DIR_CANDIDATES = [
34
+ FRAMEWORK.CORE_DIR,
35
+ ADAPTER_DIRS.CODEX,
36
+ ADAPTER_DIRS.CLAUDE,
37
+ ADAPTER_DIRS.GEMINI,
38
+ ADAPTER_DIRS.GROK,
39
+ ADAPTER_DIRS.CURSOR,
40
+ ADAPTER_DIRS.ANTIGRAVITY,
41
+ ];
42
+ /** Slug under `.agents/{slug}/` for each adapter in unified mode. */
43
+ export const UNIFIED_ADAPTER_SLUG = {
44
+ gemini: "gemini",
45
+ claude: "claude",
46
+ grok: "grok",
47
+ cursor: "cursor",
48
+ codex: "codex",
49
+ "antigravity-cli": "antigravity",
50
+ };
51
+ // ─── Native agent instruction paths (legacy tool compatibility) ───────────────
52
+ export const NATIVE_AGENT_PATHS = {
53
+ gemini: pathJoin(ADAPTER_DIRS.GEMINI, "agents"),
54
+ claude: pathJoin(ADAPTER_DIRS.CLAUDE, "agents"),
55
+ grok: pathJoin(ADAPTER_DIRS.GROK, "agents"),
56
+ cursor: pathJoin(ADAPTER_DIRS.CURSOR, "rules"),
57
+ codex: pathJoin(ADAPTER_DIRS.CODEX, "instructions"),
58
+ "antigravity-cli": pathJoin(ADAPTER_DIRS.ANTIGRAVITY, "agents"),
59
+ };
60
+ /** Legacy layout bases used by `check` and discovery (non-unified installs). */
61
+ export const LEGACY_AGENT_LAYOUT_BASES = [
62
+ NATIVE_AGENT_PATHS.gemini,
63
+ NATIVE_AGENT_PATHS.claude,
64
+ NATIVE_AGENT_PATHS.cursor,
65
+ NATIVE_AGENT_PATHS.grok,
66
+ NATIVE_AGENT_PATHS.codex,
67
+ NATIVE_AGENT_PATHS["antigravity-cli"],
68
+ ];
69
+ // ─── Framework internal subdirectories (under `.enderun/`) ──────────────────
70
+ export const FRAMEWORK_SUBDIRS = {
71
+ AGENTS: "agents",
72
+ SKILLS: "skills",
73
+ KNOWLEDGE: "knowledge",
74
+ PROMPTS: "prompts",
75
+ MEMORY: "memory",
76
+ ROUTER: "router",
77
+ REGISTRY: "registry",
78
+ OBSERVABILITY: "observability",
79
+ RULES: "rules",
80
+ MESSAGES: "messages",
81
+ LOGS: "logs",
82
+ MEMORY_GRAPH: "memory-graph",
83
+ };
84
+ export const CORE_SCAFFOLD_SUBDIRS = [
85
+ FRAMEWORK_SUBDIRS.KNOWLEDGE,
86
+ FRAMEWORK_SUBDIRS.PROMPTS,
87
+ FRAMEWORK_SUBDIRS.MEMORY,
88
+ FRAMEWORK_SUBDIRS.ROUTER,
89
+ FRAMEWORK_SUBDIRS.REGISTRY,
90
+ FRAMEWORK_SUBDIRS.OBSERVABILITY,
91
+ FRAMEWORK_SUBDIRS.RULES,
92
+ ];
93
+ export const RUNTIME_SUBDIRS = [
94
+ FRAMEWORK_SUBDIRS.MESSAGES,
95
+ FRAMEWORK_SUBDIRS.LOGS,
96
+ FRAMEWORK_SUBDIRS.MEMORY_GRAPH,
97
+ ];
98
+ export const MEMORY_SUBDIRS = {
99
+ TASKS: "tasks",
100
+ HISTORY: "history",
101
+ };
102
+ export const MEMORY_FILES = {
103
+ STATE: "state.json",
104
+ STATUS: "status.json",
105
+ PROJECT_MEMORY: "PROJECT_MEMORY.md",
106
+ SHARED_FACTS: "shared-facts.json",
107
+ };
108
+ // ─── Monorepo default paths ───────────────────────────────────────────────────
109
+ export const DEFAULT_MONOREPO_PATHS = {
110
+ backend: "apps/backend",
111
+ frontend: "apps/web",
112
+ mobile: "apps/mobile",
113
+ docs: "docs",
114
+ tests: "tests",
115
+ };
116
+ /** Cursor rule globs per agent role (monorepo layout). */
117
+ export const CURSOR_AGENT_GLOBS = {
118
+ backend: `${DEFAULT_MONOREPO_PATHS.backend}/**/*`,
119
+ frontend: `${DEFAULT_MONOREPO_PATHS.frontend}/**/*`,
120
+ database: `${DEFAULT_MONOREPO_PATHS.backend}/src/database/**/*`,
121
+ mobile: `${DEFAULT_MONOREPO_PATHS.mobile}/**/*`,
122
+ native: "apps/native/**/*",
123
+ quality: "*",
124
+ security: "*",
125
+ devops: "*",
126
+ explorer: "*",
127
+ git: "*",
128
+ analyst: "*",
129
+ manager: "*",
130
+ };
131
+ // ─── MCP & environment ──────────────────────────────────────────────────────
132
+ export const MCP = {
133
+ SERVER_NAME: "agent-enderun",
134
+ ROOT_CONFIG_FILE: "mcp.json",
135
+ PROJECT_ROOT_ENV: "ENDERUN_PROJECT_ROOT",
136
+ TEST_DIR_ENV: "ENDERUN_TEST_DIR",
137
+ };
138
+ export const ROOT_CONFIG_FILES = {
139
+ MCP: MCP.ROOT_CONFIG_FILE,
140
+ DOT_MCP: ".mcp.json",
141
+ ENV_EXAMPLE: ".env.example",
142
+ VSCODE_MCP: ".vscode/mcp.json",
143
+ };
144
+ // ─── Shim template placeholders ───────────────────────────────────────────────
145
+ export const TEMPLATE_PLACEHOLDERS = {
146
+ FRAMEWORK_DIR: "{{FRAMEWORK_DIR}}",
147
+ ADAPTER: "{{ADAPTER}}",
148
+ BACKEND_DIR: "{{BACKEND_DIR}}",
149
+ FRONTEND_DIR: "{{FRONTEND_DIR}}",
150
+ DOCS_DIR: "{{DOCS_DIR}}",
151
+ TESTS_DIR: "{{TESTS_DIR}}",
152
+ };
153
+ // ─── File extensions ─────────────────────────────────────────────────────────
154
+ export const AGENT_FILE_EXT = {
155
+ MARKDOWN: ".md",
156
+ CURSOR_RULE: ".mdc",
157
+ };
158
+ // ─── Path helpers ─────────────────────────────────────────────────────────────
159
+ export function pathJoin(...segments) {
160
+ return segments.filter(Boolean).join("/");
161
+ }
162
+ export function corePath(...segments) {
163
+ return pathJoin(FRAMEWORK.CORE_DIR, ...segments);
164
+ }
165
+ export function unifiedHubPath(...segments) {
166
+ return pathJoin(FRAMEWORK.UNIFIED_HUB_DIR, ...segments);
167
+ }
168
+ export function unifiedAdapterPath(slug, ...segments) {
169
+ return unifiedHubPath(slug, ...segments);
170
+ }
171
+ export function knowledgePath(filename) {
172
+ return corePath(FRAMEWORK_SUBDIRS.KNOWLEDGE, filename);
173
+ }
174
+ /** Backward-compatible aliases */
175
+ export const CORE_FRAMEWORK_DIR = FRAMEWORK.CORE_DIR;
176
+ export const UNIFIED_HUB_DIR = FRAMEWORK.UNIFIED_HUB_DIR;
177
+ export const SKILLS_HUB_PATH = pathJoin(UNIFIED_HUB_DIR, FRAMEWORK_SUBDIRS.SKILLS);
178
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shared/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,63 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from "vitest";
2
+ import fs from "fs";
3
+ import path from "path";
4
+ import os from "os";
5
+ import { resolveAgentsDir, findAgentInstruction, detectActiveAgentLayouts, getUnifiedAgentLayoutBases, mirrorUnifiedAgentsToNative, UNIFIED_ADAPTER_SLUG, } from "../../src/cli/adapters/paths.js";
6
+ import { scaffoldAgents } from "../../src/cli/adapters/scaffold.js";
7
+ describe("Adapter Paths", () => {
8
+ let tempDir;
9
+ beforeEach(() => {
10
+ tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "enderun-paths-test-"));
11
+ });
12
+ afterEach(() => {
13
+ fs.rmSync(tempDir, { recursive: true, force: true });
14
+ });
15
+ describe("resolveAgentsDir", () => {
16
+ it("should use adapter-specific dir in legacy mode", () => {
17
+ expect(resolveAgentsDir("gemini", false).agentsDir).toBe(".gemini/agents");
18
+ expect(resolveAgentsDir("codex", false).agentsDir).toBe(".agents/instructions");
19
+ });
20
+ it("should use per-platform subtree under unified hub in unified mode", () => {
21
+ expect(resolveAgentsDir("gemini", true).agentsDir).toBe(".agents/gemini/agents");
22
+ expect(resolveAgentsDir("cursor", true).agentsDir).toBe(".agents/cursor/rules");
23
+ expect(resolveAgentsDir("codex", true).agentsDir).toBe(".agents/codex/instructions");
24
+ expect(resolveAgentsDir("antigravity-cli", true).agentsDir).toBe(".agents/antigravity/agents");
25
+ });
26
+ it("should expose a layout base for every adapter slug", () => {
27
+ const bases = getUnifiedAgentLayoutBases();
28
+ expect(bases).toHaveLength(6);
29
+ expect(bases.some((b) => b.includes(UNIFIED_ADAPTER_SLUG.gemini))).toBe(true);
30
+ });
31
+ });
32
+ describe("findAgentInstruction", () => {
33
+ it("should find unified gemini agent", () => {
34
+ const dir = path.join(tempDir, ".agents/gemini/agents");
35
+ fs.mkdirSync(dir, { recursive: true });
36
+ fs.writeFileSync(path.join(dir, "manager.md"), "# manager");
37
+ expect(findAgentInstruction(tempDir, "manager")).toBe(".agents/gemini/agents/manager.md");
38
+ });
39
+ it("should find nested antigravity agent.json", () => {
40
+ const agentDir = path.join(tempDir, ".agents/antigravity/agents/manager");
41
+ fs.mkdirSync(agentDir, { recursive: true });
42
+ fs.writeFileSync(path.join(agentDir, "agent.json"), "{}");
43
+ expect(findAgentInstruction(tempDir, "manager")).toBe(".agents/antigravity/agents/manager/agent.json");
44
+ });
45
+ });
46
+ describe("mirrorUnifiedAgentsToNative", () => {
47
+ it("should copy unified agents to native gemini path", () => {
48
+ scaffoldAgents(tempDir, "gemini", false, ["manager"]);
49
+ mirrorUnifiedAgentsToNative(tempDir, "gemini");
50
+ expect(fs.existsSync(path.join(tempDir, ".gemini/agents/manager.md"))).toBe(true);
51
+ });
52
+ });
53
+ describe("detectActiveAgentLayouts", () => {
54
+ it("should list unified and legacy layouts", () => {
55
+ fs.mkdirSync(path.join(tempDir, ".agents/claude/agents"), { recursive: true });
56
+ fs.mkdirSync(path.join(tempDir, ".gemini/agents"), { recursive: true });
57
+ const layouts = detectActiveAgentLayouts(tempDir);
58
+ expect(layouts).toContain(".agents/claude/agents");
59
+ expect(layouts).toContain(".gemini/agents");
60
+ });
61
+ });
62
+ });
63
+ //# sourceMappingURL=paths.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.test.js","sourceRoot":"","sources":["../../../tests/adapters/paths.test.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import os from "os";
5
5
  import * as memoryUtils from "../src/cli/utils/memory.js";
6
6
  import { approveCommand } from "../src/cli/commands/approve.js";
7
7
  import { UI } from "../src/cli/utils/ui.js";
8
+ import { ValidationError } from "../src/shared/errors.js";
8
9
  describe("Approve Command", () => {
9
10
  let tempDir;
10
11
  let messagesDir;
@@ -21,16 +22,11 @@ describe("Approve Command", () => {
21
22
  fs.rmSync(tempDir, { recursive: true, force: true });
22
23
  vi.restoreAllMocks();
23
24
  });
24
- it("should exit with error if messages directory does not exist", () => {
25
+ it("should exit with error if messages directory does not exist", async () => {
25
26
  const uiErrorSpy = vi.spyOn(UI, "error");
26
- const exitSpy = vi.spyOn(process, "exit").mockImplementation((code) => {
27
- throw new Error(`process.exit: ${code}`);
28
- });
29
- expect(() => approveCommand("trace-123")).toThrow("process.exit: 1");
30
- expect(uiErrorSpy).toHaveBeenCalledWith("No messages directory found.");
31
- exitSpy.mockRestore();
27
+ await expect(approveCommand("trace-123")).rejects.toThrow(ValidationError);
32
28
  });
33
- it("should successfully approve pending ACTION/ALERT message", () => {
29
+ it("should successfully approve pending ACTION/ALERT message", async () => {
34
30
  fs.mkdirSync(messagesDir, { recursive: true });
35
31
  const message = {
36
32
  timestamp: new Date().toISOString(),
@@ -44,7 +40,7 @@ describe("Approve Command", () => {
44
40
  const msgFilePath = path.join(messagesDir, "msg.json");
45
41
  fs.writeFileSync(msgFilePath, JSON.stringify(message) + "\n");
46
42
  const uiSuccessSpy = vi.spyOn(UI, "success");
47
- approveCommand("trace-123");
43
+ await approveCommand("trace-123");
48
44
  const fileContent = fs.readFileSync(msgFilePath, "utf8");
49
45
  const parsed = JSON.parse(fileContent.trim());
50
46
  expect(parsed.status).toBe("APPROVED");
@@ -1 +1 @@
1
- {"version":3,"file":"approve.test.js","sourceRoot":"","sources":["../../tests/approve.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approve.test.js","sourceRoot":"","sources":["../../tests/approve.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};