agent-enderun 1.1.1 → 1.1.3

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 (837) hide show
  1. package/{.enderun/ENDERUN.md → ENDERUN.md} +25 -25
  2. package/README.md +6 -6
  3. package/bin/cli.js +3 -4
  4. package/bin/compile.js +21 -0
  5. package/bin/enderun-dashboard.js +866 -0
  6. package/bin/generate-cursor-rules.js +78 -0
  7. package/bin/test-init-run.js +147 -0
  8. package/bin/validate-agent-army.js +65 -67
  9. package/bin/watch-memory.js +54 -0
  10. package/dist/framework-mcp/src/index.js +1 -1
  11. package/dist/framework-mcp/src/tools/control_plane/locking.d.ts +15 -0
  12. package/dist/framework-mcp/src/tools/control_plane/locking.js +65 -0
  13. package/dist/framework-mcp/src/tools/control_plane/locking.js.map +1 -0
  14. package/dist/framework-mcp/src/tools/control_plane/registry.d.ts +12 -0
  15. package/dist/framework-mcp/src/tools/control_plane/registry.js +35 -0
  16. package/dist/framework-mcp/src/tools/control_plane/registry.js.map +1 -0
  17. package/dist/framework-mcp/src/tools/definitions.js +49 -8
  18. package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
  19. package/dist/framework-mcp/src/tools/file_system/read_file.js +20 -0
  20. package/dist/framework-mcp/src/tools/file_system/read_file.js.map +1 -1
  21. package/dist/framework-mcp/src/tools/file_system/write_file.js +16 -2
  22. package/dist/framework-mcp/src/tools/file_system/write_file.js.map +1 -1
  23. package/dist/framework-mcp/src/tools/index.d.ts +1 -1
  24. package/dist/framework-mcp/src/tools/index.js +5 -0
  25. package/dist/framework-mcp/src/tools/index.js.map +1 -1
  26. package/dist/framework-mcp/src/tools/messaging/send_message.d.ts +1 -1
  27. package/dist/framework-mcp/src/tools/messaging/send_message.js +36 -15
  28. package/dist/framework-mcp/src/tools/messaging/send_message.js.map +1 -1
  29. package/dist/framework-mcp/src/utils/metrics.d.ts +10 -0
  30. package/dist/framework-mcp/src/utils/metrics.js +39 -0
  31. package/dist/framework-mcp/src/utils/metrics.js.map +1 -0
  32. package/dist/framework-mcp/src/utils/security.js +7 -3
  33. package/dist/framework-mcp/src/utils/security.js.map +1 -1
  34. package/dist/init-adapters/antigravity-cli/.agents/BRAIN_DASHBOARD.md +11 -0
  35. package/dist/init-adapters/antigravity-cli/.agents/STATUS.md +3 -0
  36. package/dist/init-adapters/antigravity-cli/.agents/agents/analyst/agent.json +28 -0
  37. package/dist/init-adapters/antigravity-cli/.agents/agents/architect/agent.json +30 -0
  38. package/dist/init-adapters/antigravity-cli/.agents/agents/backend/agent.json +30 -0
  39. package/dist/init-adapters/antigravity-cli/.agents/agents/database/agent.json +29 -0
  40. package/dist/init-adapters/antigravity-cli/.agents/agents/devops/agent.json +28 -0
  41. package/dist/init-adapters/antigravity-cli/.agents/agents/explorer/agent.json +29 -0
  42. package/dist/init-adapters/antigravity-cli/.agents/agents/frontend/agent.json +29 -0
  43. package/dist/init-adapters/antigravity-cli/.agents/agents/git/agent.json +28 -0
  44. package/dist/init-adapters/antigravity-cli/.agents/agents/manager/agent.json +30 -0
  45. package/dist/init-adapters/antigravity-cli/.agents/agents/mobile/agent.json +29 -0
  46. package/dist/init-adapters/antigravity-cli/.agents/agents/native/agent.json +29 -0
  47. package/dist/init-adapters/antigravity-cli/.agents/agents/quality/agent.json +29 -0
  48. package/dist/init-adapters/antigravity-cli/.agents/agents/security/agent.json +29 -0
  49. package/dist/init-adapters/antigravity-cli/.agents/cli-commands.json +32 -0
  50. package/dist/init-adapters/antigravity-cli/.agents/config.json +12 -0
  51. package/dist/init-adapters/antigravity-cli/.agents/mcp_config.json +13 -0
  52. package/dist/init-adapters/antigravity-cli/.agents/memory/PROJECT_MEMORY.md +8 -0
  53. package/dist/init-adapters/antigravity-cli/.agents/skills/discovery.md +3 -0
  54. package/dist/init-adapters/antigravity-cli/.agents/skills/editing.md +3 -0
  55. package/dist/init-adapters/antigravity-cli/.agents/skills/execution.md +4 -0
  56. package/dist/init-adapters/antigravity-cli/.agents/skills/file_system.md +4 -0
  57. package/dist/init-adapters/antigravity-cli/.agents/skills/orchestration.md +3 -0
  58. package/dist/init-adapters/antigravity-cli/AGENTS.md +1 -0
  59. package/dist/init-adapters/antigravity-cli/ENDERUN.md +263 -0
  60. package/dist/init-adapters/antigravity-cli/mcp.json +13 -0
  61. package/dist/init-adapters/antigravity-cli/package.json +5 -0
  62. package/dist/init-adapters/antigravity-cli/panda.config.ts +2 -0
  63. package/dist/init-adapters/claude/.claude/BRAIN_DASHBOARD.md +11 -0
  64. package/dist/init-adapters/claude/.claude/STATUS.md +3 -0
  65. package/dist/init-adapters/claude/.claude/agents/analyst.md +15 -0
  66. package/dist/init-adapters/claude/.claude/agents/architect.md +15 -0
  67. package/dist/init-adapters/claude/.claude/agents/backend.md +15 -0
  68. package/dist/init-adapters/claude/.claude/agents/database.md +15 -0
  69. package/dist/init-adapters/claude/.claude/agents/devops.md +15 -0
  70. package/dist/init-adapters/claude/.claude/agents/explorer.md +15 -0
  71. package/dist/init-adapters/claude/.claude/agents/frontend.md +15 -0
  72. package/dist/init-adapters/claude/.claude/agents/git.md +15 -0
  73. package/dist/init-adapters/claude/.claude/agents/manager.md +15 -0
  74. package/dist/init-adapters/claude/.claude/agents/mobile.md +15 -0
  75. package/dist/init-adapters/claude/.claude/agents/native.md +15 -0
  76. package/dist/init-adapters/claude/.claude/agents/quality.md +15 -0
  77. package/dist/init-adapters/claude/.claude/agents/security.md +15 -0
  78. package/dist/init-adapters/claude/.claude/cli-commands.json +32 -0
  79. package/dist/init-adapters/claude/.claude/config.json +12 -0
  80. package/dist/init-adapters/claude/.claude/mcp_config.json +13 -0
  81. package/dist/init-adapters/claude/.claude/memory/PROJECT_MEMORY.md +8 -0
  82. package/dist/init-adapters/claude/.claude/skills/discovery.md +3 -0
  83. package/dist/init-adapters/claude/.claude/skills/editing.md +3 -0
  84. package/dist/init-adapters/claude/.claude/skills/execution.md +4 -0
  85. package/dist/init-adapters/claude/.claude/skills/file_system.md +4 -0
  86. package/dist/init-adapters/claude/.claude/skills/orchestration.md +3 -0
  87. package/dist/init-adapters/claude/.mcp.json +13 -0
  88. package/dist/init-adapters/claude/CLAUDE.md +1 -0
  89. package/dist/init-adapters/claude/ENDERUN.md +263 -0
  90. package/dist/init-adapters/claude/mcp.json +13 -0
  91. package/dist/init-adapters/claude/package.json +5 -0
  92. package/dist/init-adapters/claude/panda.config.ts +2 -0
  93. package/dist/init-adapters/codex/.github/BRAIN_DASHBOARD.md +11 -0
  94. package/dist/init-adapters/codex/.github/STATUS.md +3 -0
  95. package/dist/init-adapters/codex/.github/agents/analyst.md +15 -0
  96. package/dist/init-adapters/codex/.github/agents/architect.md +15 -0
  97. package/dist/init-adapters/codex/.github/agents/backend.md +15 -0
  98. package/dist/init-adapters/codex/.github/agents/database.md +15 -0
  99. package/dist/init-adapters/codex/.github/agents/devops.md +15 -0
  100. package/dist/init-adapters/codex/.github/agents/explorer.md +15 -0
  101. package/dist/init-adapters/codex/.github/agents/frontend.md +15 -0
  102. package/dist/init-adapters/codex/.github/agents/git.md +15 -0
  103. package/dist/init-adapters/codex/.github/agents/manager.md +15 -0
  104. package/dist/init-adapters/codex/.github/agents/mobile.md +15 -0
  105. package/dist/init-adapters/codex/.github/agents/native.md +15 -0
  106. package/dist/init-adapters/codex/.github/agents/quality.md +15 -0
  107. package/dist/init-adapters/codex/.github/agents/security.md +15 -0
  108. package/dist/init-adapters/codex/.github/cli-commands.json +32 -0
  109. package/dist/init-adapters/codex/.github/config.json +12 -0
  110. package/dist/init-adapters/codex/.github/mcp_config.json +13 -0
  111. package/dist/init-adapters/codex/.github/memory/PROJECT_MEMORY.md +8 -0
  112. package/dist/init-adapters/codex/.github/skills/discovery.md +3 -0
  113. package/dist/init-adapters/codex/.github/skills/editing.md +3 -0
  114. package/dist/init-adapters/codex/.github/skills/execution.md +4 -0
  115. package/dist/init-adapters/codex/.github/skills/file_system.md +4 -0
  116. package/dist/init-adapters/codex/.github/skills/orchestration.md +3 -0
  117. package/dist/init-adapters/codex/.mcp.json +13 -0
  118. package/dist/init-adapters/codex/.vscode/mcp.json +13 -0
  119. package/dist/init-adapters/codex/ENDERUN.md +263 -0
  120. package/dist/init-adapters/codex/copilot-instructions.md +1 -0
  121. package/dist/init-adapters/codex/mcp.json +13 -0
  122. package/dist/init-adapters/codex/package.json +5 -0
  123. package/dist/init-adapters/codex/panda.config.ts +2 -0
  124. package/dist/init-adapters/cursor/.cursor/BRAIN_DASHBOARD.md +11 -0
  125. package/dist/init-adapters/cursor/.cursor/STATUS.md +3 -0
  126. package/dist/init-adapters/cursor/.cursor/agents/analyst.md +15 -0
  127. package/dist/init-adapters/cursor/.cursor/agents/architect.md +15 -0
  128. package/dist/init-adapters/cursor/.cursor/agents/backend.md +15 -0
  129. package/dist/init-adapters/cursor/.cursor/agents/database.md +15 -0
  130. package/dist/init-adapters/cursor/.cursor/agents/devops.md +15 -0
  131. package/dist/init-adapters/cursor/.cursor/agents/explorer.md +15 -0
  132. package/dist/init-adapters/cursor/.cursor/agents/frontend.md +15 -0
  133. package/dist/init-adapters/cursor/.cursor/agents/git.md +15 -0
  134. package/dist/init-adapters/cursor/.cursor/agents/manager.md +15 -0
  135. package/dist/init-adapters/cursor/.cursor/agents/mobile.md +15 -0
  136. package/dist/init-adapters/cursor/.cursor/agents/native.md +15 -0
  137. package/dist/init-adapters/cursor/.cursor/agents/quality.md +15 -0
  138. package/dist/init-adapters/cursor/.cursor/agents/security.md +15 -0
  139. package/dist/init-adapters/cursor/.cursor/cli-commands.json +32 -0
  140. package/dist/init-adapters/cursor/.cursor/config.json +12 -0
  141. package/dist/init-adapters/cursor/.cursor/mcp.json +13 -0
  142. package/dist/init-adapters/cursor/.cursor/memory/PROJECT_MEMORY.md +8 -0
  143. package/dist/init-adapters/cursor/.cursor/skills/discovery.md +3 -0
  144. package/dist/init-adapters/cursor/.cursor/skills/editing.md +3 -0
  145. package/dist/init-adapters/cursor/.cursor/skills/execution.md +4 -0
  146. package/dist/init-adapters/cursor/.cursor/skills/file_system.md +4 -0
  147. package/dist/init-adapters/cursor/.cursor/skills/orchestration.md +3 -0
  148. package/dist/init-adapters/cursor/CURSOR.md +1 -0
  149. package/dist/init-adapters/cursor/ENDERUN.md +263 -0
  150. package/dist/init-adapters/cursor/mcp.json +13 -0
  151. package/dist/init-adapters/cursor/package.json +5 -0
  152. package/dist/init-adapters/cursor/panda.config.ts +2 -0
  153. package/dist/init-adapters/gemini/.gemini/BRAIN_DASHBOARD.md +11 -0
  154. package/dist/init-adapters/gemini/.gemini/STATUS.md +3 -0
  155. package/dist/init-adapters/gemini/.gemini/agents/analyst.md +15 -0
  156. package/dist/init-adapters/gemini/.gemini/agents/architect.md +15 -0
  157. package/dist/init-adapters/gemini/.gemini/agents/backend.md +15 -0
  158. package/dist/init-adapters/gemini/.gemini/agents/database.md +15 -0
  159. package/dist/init-adapters/gemini/.gemini/agents/devops.md +15 -0
  160. package/dist/init-adapters/gemini/.gemini/agents/explorer.md +15 -0
  161. package/dist/init-adapters/gemini/.gemini/agents/frontend.md +15 -0
  162. package/dist/init-adapters/gemini/.gemini/agents/git.md +15 -0
  163. package/dist/init-adapters/gemini/.gemini/agents/manager.md +15 -0
  164. package/dist/init-adapters/gemini/.gemini/agents/mobile.md +15 -0
  165. package/dist/init-adapters/gemini/.gemini/agents/native.md +15 -0
  166. package/dist/init-adapters/gemini/.gemini/agents/quality.md +15 -0
  167. package/dist/init-adapters/gemini/.gemini/agents/security.md +15 -0
  168. package/dist/init-adapters/gemini/.gemini/cli-commands.json +32 -0
  169. package/dist/init-adapters/gemini/.gemini/config.json +12 -0
  170. package/dist/init-adapters/gemini/.gemini/mcp.json +13 -0
  171. package/dist/init-adapters/gemini/.gemini/memory/PROJECT_MEMORY.md +8 -0
  172. package/dist/init-adapters/gemini/.gemini/skills/discovery.md +3 -0
  173. package/dist/init-adapters/gemini/.gemini/skills/editing.md +3 -0
  174. package/dist/init-adapters/gemini/.gemini/skills/execution.md +4 -0
  175. package/dist/init-adapters/gemini/.gemini/skills/file_system.md +4 -0
  176. package/dist/init-adapters/gemini/.gemini/skills/orchestration.md +3 -0
  177. package/dist/init-adapters/gemini/ENDERUN.md +263 -0
  178. package/dist/init-adapters/gemini/GEMINI.md +1 -0
  179. package/dist/init-adapters/gemini/mcp.json +13 -0
  180. package/dist/init-adapters/gemini/package.json +5 -0
  181. package/dist/init-adapters/gemini/panda.config.ts +2 -0
  182. package/dist/init-adapters/grok/.grok/BRAIN_DASHBOARD.md +11 -0
  183. package/dist/init-adapters/grok/.grok/STATUS.md +3 -0
  184. package/dist/init-adapters/grok/.grok/agents/analyst.md +15 -0
  185. package/dist/init-adapters/grok/.grok/agents/architect.md +15 -0
  186. package/dist/init-adapters/grok/.grok/agents/backend.md +15 -0
  187. package/dist/init-adapters/grok/.grok/agents/database.md +15 -0
  188. package/dist/init-adapters/grok/.grok/agents/devops.md +15 -0
  189. package/dist/init-adapters/grok/.grok/agents/explorer.md +15 -0
  190. package/dist/init-adapters/grok/.grok/agents/frontend.md +15 -0
  191. package/dist/init-adapters/grok/.grok/agents/git.md +15 -0
  192. package/dist/init-adapters/grok/.grok/agents/manager.md +15 -0
  193. package/dist/init-adapters/grok/.grok/agents/mobile.md +15 -0
  194. package/dist/init-adapters/grok/.grok/agents/native.md +15 -0
  195. package/dist/init-adapters/grok/.grok/agents/quality.md +15 -0
  196. package/dist/init-adapters/grok/.grok/agents/security.md +15 -0
  197. package/dist/init-adapters/grok/.grok/cli-commands.json +32 -0
  198. package/dist/init-adapters/grok/.grok/config.json +12 -0
  199. package/{.enderun → dist/init-adapters/grok/.grok}/mcp_config.json +4 -2
  200. package/dist/init-adapters/grok/.grok/memory/PROJECT_MEMORY.md +8 -0
  201. package/dist/init-adapters/grok/.grok/skills/discovery.md +3 -0
  202. package/dist/init-adapters/grok/.grok/skills/editing.md +3 -0
  203. package/dist/init-adapters/grok/.grok/skills/execution.md +4 -0
  204. package/dist/init-adapters/grok/.grok/skills/file_system.md +4 -0
  205. package/dist/init-adapters/grok/.grok/skills/orchestration.md +3 -0
  206. package/dist/init-adapters/grok/ENDERUN.md +263 -0
  207. package/dist/init-adapters/grok/GROK.md +1 -0
  208. package/{mcp.json → dist/init-adapters/grok/mcp.json} +4 -2
  209. package/dist/init-adapters/grok/package.json +5 -0
  210. package/dist/init-adapters/grok/panda.config.ts +2 -0
  211. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/mcp.json +13 -0
  212. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/mcp_config.json +13 -0
  213. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/analyst/agent.json +28 -0
  214. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/analyst.json +28 -0
  215. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/architect/agent.json +30 -0
  216. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/architect.json +30 -0
  217. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/backend/agent.json +30 -0
  218. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/backend.json +30 -0
  219. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/database/agent.json +29 -0
  220. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/database.json +29 -0
  221. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/devops/agent.json +28 -0
  222. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/devops.json +28 -0
  223. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/explorer/agent.json +29 -0
  224. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/explorer.json +29 -0
  225. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/frontend/agent.json +29 -0
  226. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/frontend.json +29 -0
  227. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/git/agent.json +28 -0
  228. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/git.json +28 -0
  229. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/manager/agent.json +30 -0
  230. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/manager.json +30 -0
  231. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/mobile/agent.json +29 -0
  232. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/mobile.json +29 -0
  233. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/native/agent.json +29 -0
  234. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/native.json +29 -0
  235. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/quality/agent.json +29 -0
  236. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/quality.json +29 -0
  237. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/security/agent.json +29 -0
  238. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/security.json +29 -0
  239. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/hooks.json +4 -0
  240. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/mcp.json +13 -0
  241. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/mcp_config.json +13 -0
  242. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/plugin.json +5 -0
  243. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/analyst.md +11 -0
  244. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/architect.md +11 -0
  245. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/backend.md +11 -0
  246. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/database.md +11 -0
  247. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/devops.md +11 -0
  248. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/explorer.md +11 -0
  249. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/frontend.md +11 -0
  250. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/git.md +11 -0
  251. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/manager.md +11 -0
  252. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/mobile.md +11 -0
  253. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/native.md +11 -0
  254. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/quality.md +11 -0
  255. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/security.md +11 -0
  256. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/discovery.md +3 -0
  257. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/editing.md +3 -0
  258. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/execution.md +4 -0
  259. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/file_system.md +4 -0
  260. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/orchestration.md +3 -0
  261. package/dist/init-adapters/mock-home/Library/Application Support/Claude/claude_desktop_config.json +13 -0
  262. package/dist/src/cli/adapters/types.d.ts +14 -0
  263. package/dist/src/cli/adapters/types.js +2 -0
  264. package/dist/src/cli/adapters/types.js.map +1 -0
  265. package/dist/src/cli/adapters.d.ts +7 -23
  266. package/dist/src/cli/adapters.js +126 -142
  267. package/dist/src/cli/adapters.js.map +1 -1
  268. package/dist/src/cli/commands/check.d.ts +0 -5
  269. package/dist/src/cli/commands/check.js +65 -66
  270. package/dist/src/cli/commands/check.js.map +1 -1
  271. package/dist/src/cli/commands/init.d.ts +1 -1
  272. package/dist/src/cli/commands/init.js +156 -311
  273. package/dist/src/cli/commands/init.js.map +1 -1
  274. package/dist/src/cli/commands/log.d.ts +1 -0
  275. package/dist/src/cli/commands/log.js.map +1 -1
  276. package/dist/src/cli/commands/memory.js +2 -69
  277. package/dist/src/cli/commands/memory.js.map +1 -1
  278. package/dist/src/cli/commands/orchestrate.d.ts +25 -0
  279. package/dist/src/cli/commands/orchestrate.js +71 -48
  280. package/dist/src/cli/commands/orchestrate.js.map +1 -1
  281. package/dist/src/cli/index.js +170 -23
  282. package/dist/src/cli/index.js.map +1 -1
  283. package/dist/src/cli/utils/app.d.ts +1 -2
  284. package/dist/src/cli/utils/app.js +2 -2
  285. package/dist/src/cli/utils/app.js.map +1 -1
  286. package/dist/src/cli/utils/config-schema.d.ts +139 -0
  287. package/dist/src/cli/utils/config-schema.js +43 -0
  288. package/dist/src/cli/utils/config-schema.js.map +1 -0
  289. package/dist/src/cli/utils/fs.d.ts +2 -4
  290. package/dist/src/cli/utils/fs.js +9 -26
  291. package/dist/src/cli/utils/fs.js.map +1 -1
  292. package/dist/src/cli/utils/memory.d.ts +4 -3
  293. package/dist/src/cli/utils/memory.js +136 -113
  294. package/dist/src/cli/utils/memory.js.map +1 -1
  295. package/dist/src/cli/utils/pkg.js +6 -2
  296. package/dist/src/cli/utils/pkg.js.map +1 -1
  297. package/dist/src/cli/utils/ui.d.ts +30 -0
  298. package/dist/src/cli/utils/ui.js +56 -0
  299. package/dist/src/cli/utils/ui.js.map +1 -0
  300. package/dist/src/modules/adapters/antigravity-cli.d.ts +3 -0
  301. package/dist/src/modules/adapters/antigravity-cli.js +21 -0
  302. package/dist/src/modules/adapters/antigravity-cli.js.map +1 -0
  303. package/dist/src/modules/adapters/claude.d.ts +3 -0
  304. package/dist/src/modules/adapters/claude.js +36 -0
  305. package/dist/src/modules/adapters/claude.js.map +1 -0
  306. package/dist/src/modules/adapters/codex.d.ts +3 -0
  307. package/dist/src/modules/adapters/codex.js +20 -0
  308. package/dist/src/modules/adapters/codex.js.map +1 -0
  309. package/dist/src/modules/adapters/cursor.d.ts +3 -0
  310. package/dist/src/modules/adapters/cursor.js +20 -0
  311. package/dist/src/modules/adapters/cursor.js.map +1 -0
  312. package/dist/src/modules/adapters/gemini.d.ts +3 -0
  313. package/dist/src/modules/adapters/gemini.js +23 -0
  314. package/dist/src/modules/adapters/gemini.js.map +1 -0
  315. package/dist/src/modules/adapters/grok.d.ts +3 -0
  316. package/dist/src/modules/adapters/grok.js +18 -0
  317. package/dist/src/modules/adapters/grok.js.map +1 -0
  318. package/dist/src/modules/adapters/shared.d.ts +1 -0
  319. package/dist/src/modules/adapters/shared.js +79 -0
  320. package/dist/src/modules/adapters/shared.js.map +1 -0
  321. package/dist/src/modules/adapters/types.d.ts +14 -0
  322. package/dist/src/modules/adapters/types.js +2 -0
  323. package/dist/src/modules/adapters/types.js.map +1 -0
  324. package/dist/src/modules/agents/definitions.d.ts +13 -0
  325. package/dist/src/modules/agents/definitions.js +169 -0
  326. package/dist/src/modules/agents/definitions.js.map +1 -0
  327. package/dist/src/modules/skills/definitions.d.ts +31 -0
  328. package/dist/src/modules/skills/definitions.js +32 -0
  329. package/dist/src/modules/skills/definitions.js.map +1 -0
  330. package/dist/src/shared/fs.d.ts +3 -0
  331. package/dist/src/shared/fs.js +24 -0
  332. package/dist/src/shared/fs.js.map +1 -0
  333. package/dist/vitest.config.js +1 -1
  334. package/dist/vitest.config.js.map +1 -1
  335. package/eslint.config.js +3 -2
  336. package/framework-mcp/dist/src/index.js +1 -1
  337. package/framework-mcp/dist/src/tools/control_plane/locking.js +64 -0
  338. package/framework-mcp/dist/src/tools/control_plane/registry.js +34 -0
  339. package/framework-mcp/dist/src/tools/definitions.js +49 -8
  340. package/framework-mcp/dist/src/tools/file_system/read_file.js +20 -0
  341. package/framework-mcp/dist/src/tools/file_system/write_file.js +16 -2
  342. package/framework-mcp/dist/src/tools/index.js +5 -0
  343. package/framework-mcp/dist/src/tools/messaging/send_message.js +2 -4
  344. package/framework-mcp/dist/src/utils/metrics.js +38 -0
  345. package/framework-mcp/dist/src/utils/security.js +7 -3
  346. package/framework-mcp/dist/tests/tools/file_system/file_system_tools.test.js +147 -0
  347. package/framework-mcp/package.json +2 -2
  348. package/framework-mcp/src/index.ts +1 -1
  349. package/framework-mcp/src/tools/control_plane/locking.ts +77 -0
  350. package/framework-mcp/src/tools/control_plane/registry.ts +44 -0
  351. package/framework-mcp/src/tools/definitions.ts +49 -8
  352. package/framework-mcp/src/tools/file_system/read_file.ts +24 -0
  353. package/framework-mcp/src/tools/file_system/write_file.ts +19 -2
  354. package/framework-mcp/src/tools/index.ts +6 -1
  355. package/framework-mcp/src/tools/messaging/send_message.ts +2 -3
  356. package/framework-mcp/src/utils/metrics.ts +53 -0
  357. package/framework-mcp/src/utils/security.ts +8 -3
  358. package/framework-mcp/tests/tools/file_system/file_system_tools.test.ts +164 -0
  359. package/framework-mcp/tsconfig.json +2 -1
  360. package/package.json +16 -13
  361. package/src/cli/adapters/types.ts +16 -0
  362. package/src/cli/adapters.ts +130 -156
  363. package/src/cli/commands/check.ts +61 -65
  364. package/src/cli/commands/init.ts +163 -311
  365. package/src/cli/commands/log.ts +1 -1
  366. package/src/cli/commands/memory.ts +3 -80
  367. package/src/cli/commands/orchestrate.ts +76 -90
  368. package/src/cli/index.ts +121 -29
  369. package/src/cli/utils/app.ts +3 -3
  370. package/src/cli/utils/config-schema.ts +48 -0
  371. package/src/cli/utils/fs.ts +10 -27
  372. package/src/cli/utils/memory.ts +143 -108
  373. package/src/cli/utils/pkg.ts +6 -2
  374. package/src/cli/utils/ui.ts +63 -0
  375. package/src/modules/adapters/antigravity-cli.ts +25 -0
  376. package/src/modules/adapters/claude.ts +36 -0
  377. package/src/modules/adapters/codex.ts +22 -0
  378. package/src/modules/adapters/cursor.ts +22 -0
  379. package/src/modules/adapters/gemini.ts +27 -0
  380. package/src/modules/adapters/grok.ts +20 -0
  381. package/src/modules/adapters/shared.ts +90 -0
  382. package/src/modules/adapters/types.ts +16 -0
  383. package/src/modules/agents/definitions.ts +182 -0
  384. package/src/modules/skills/definitions.ts +32 -0
  385. package/src/shared/fs.ts +25 -0
  386. package/tsconfig.json +0 -2
  387. package/.enderun/ARCHITECTURE.md +0 -1
  388. package/.enderun/BRAIN_DASHBOARD.md +0 -46
  389. package/.enderun/SECURITY.md +0 -1
  390. package/.enderun/STATUS.md +0 -61
  391. package/.enderun/agents/agent_army_schema.json +0 -101
  392. package/.enderun/agents/analyst.json +0 -32
  393. package/.enderun/agents/backend.json +0 -32
  394. package/.enderun/agents/database.json +0 -32
  395. package/.enderun/agents/devops.json +0 -32
  396. package/.enderun/agents/explorer.json +0 -32
  397. package/.enderun/agents/frontend.json +0 -32
  398. package/.enderun/agents/git.json +0 -32
  399. package/.enderun/agents/manager.json +0 -34
  400. package/.enderun/agents/mobile.json +0 -32
  401. package/.enderun/agents/native.json +0 -32
  402. package/.enderun/agents/quality.json +0 -32
  403. package/.enderun/agents/schema/agent-lifecycle-schema.json +0 -41
  404. package/.enderun/agents/security.json +0 -32
  405. package/.enderun/benchmarks/.gitkeep +0 -0
  406. package/.enderun/cli-commands.json +0 -76
  407. package/.enderun/config.json +0 -12
  408. package/.enderun/knowledge/ARCHITECTURE.md +0 -1
  409. package/.enderun/knowledge/SECURITY.md +0 -1
  410. package/.enderun/knowledge/SHIM_TEMPLATE.md +0 -36
  411. package/.enderun/knowledge/analyst_reference_guide.md +0 -31
  412. package/.enderun/knowledge/async_error_handling.md +0 -27
  413. package/.enderun/knowledge/backend_reference_guide.md +0 -165
  414. package/.enderun/knowledge/blueprint_driven_construction.md +0 -22
  415. package/.enderun/knowledge/context_boundary_rules.md +0 -57
  416. package/.enderun/knowledge/corporate-governance/analyst-contract-integrity-guide.md +0 -92
  417. package/.enderun/knowledge/corporate-governance/audit-logging-standard.md +0 -59
  418. package/.enderun/knowledge/corporate-governance/backend-high-risk-endpoint-guide.md +0 -125
  419. package/.enderun/knowledge/corporate-governance/branded-types-law.md +0 -77
  420. package/.enderun/knowledge/corporate-governance/contract-drift-detection-simulation.md +0 -92
  421. package/.enderun/knowledge/corporate-governance/corporate-governance-playbook.md +0 -89
  422. package/.enderun/knowledge/corporate-governance/corporate-project-kickoff-checklist.md +0 -56
  423. package/.enderun/knowledge/corporate-governance/corporate-project-kickoff-simulation.md +0 -144
  424. package/.enderun/knowledge/corporate-governance/corporate-project-scaffolding-sop.md +0 -103
  425. package/.enderun/knowledge/corporate-governance/domain-error-handling-standard.md +0 -75
  426. package/.enderun/knowledge/corporate-governance/frontend-high-risk-modal-guide.md +0 -211
  427. package/.enderun/knowledge/corporate-governance/governance-baseline-briefing-template.md +0 -54
  428. package/.enderun/knowledge/corporate-governance/high-risk-action-approval-flow-simulation.md +0 -167
  429. package/.enderun/knowledge/corporate-governance/high-risk-action-approval-flow.md +0 -29
  430. package/.enderun/knowledge/corporate-governance/high-risk-actions-managerapproval.md +0 -76
  431. package/.enderun/knowledge/corporate-governance/high-risk-security-modal-hermes-flow.md +0 -49
  432. package/.enderun/knowledge/corporate-governance/manager-first-30-days-guide.md +0 -112
  433. package/.enderun/knowledge/corporate-governance/manager-first-three-briefings.md +0 -79
  434. package/.enderun/knowledge/database_reference_guide.md +0 -38
  435. package/.enderun/knowledge/devops_reference_guide.md +0 -43
  436. package/.enderun/knowledge/documentation_ownership.md +0 -53
  437. package/.enderun/knowledge/eslint-standards.md +0 -63
  438. package/.enderun/knowledge/evaluation_engine.md +0 -26
  439. package/.enderun/knowledge/explorer_reference_guide.md +0 -34
  440. package/.enderun/knowledge/framework_vs_user_project_boundary.md +0 -52
  441. package/.enderun/knowledge/frontend_professionalization_guidelines.md +0 -108
  442. package/.enderun/knowledge/frontend_reference_guide.md +0 -64
  443. package/.enderun/knowledge/git_reference_guide.md +0 -51
  444. package/.enderun/knowledge/hermes_live_test_guidelines.md +0 -90
  445. package/.enderun/knowledge/hermes_protocol.md +0 -59
  446. package/.enderun/knowledge/legacy_onboarding.md +0 -18
  447. package/.enderun/knowledge/lessons-learned.md +0 -14
  448. package/.enderun/knowledge/manager_authority_audit_enforcement.md +0 -104
  449. package/.enderun/knowledge/manager_reference_guide.md +0 -55
  450. package/.enderun/knowledge/mobile_reference_guide.md +0 -35
  451. package/.enderun/knowledge/native_reference_guide.md +0 -34
  452. package/.enderun/knowledge/project_scaffold_guidelines.md +0 -110
  453. package/.enderun/knowledge/quality_reference_guide.md +0 -42
  454. package/.enderun/knowledge/reference_application_guidelines.md +0 -101
  455. package/.enderun/knowledge/responsive_design_standards.md +0 -27
  456. package/.enderun/knowledge/router_logic.md +0 -29
  457. package/.enderun/knowledge/security_reference_guide.md +0 -35
  458. package/.enderun/knowledge/token_economy_and_memory.md +0 -129
  459. package/.enderun/knowledge/zero_ui_library_policy.md +0 -13
  460. package/.enderun/logs/manager.json +0 -48
  461. package/.enderun/memory/BUSINESS_CONTEXT.md +0 -17
  462. package/.enderun/memory/DECISIONS.md +0 -24
  463. package/.enderun/memory/LESSONS_LEARNED.md +0 -12
  464. package/.enderun/memory/PATTERNS.md +0 -17
  465. package/.enderun/memory/PROJECT_MEMORY.md +0 -31
  466. package/.enderun/memory-graph/agent-contexts/analyst.json +0 -1
  467. package/.enderun/memory-graph/agent-contexts/backend.json +0 -1
  468. package/.enderun/memory-graph/agent-contexts/devops.json +0 -1
  469. package/.enderun/memory-graph/agent-contexts/explorer.json +0 -1
  470. package/.enderun/memory-graph/agent-contexts/frontend.json +0 -1
  471. package/.enderun/memory-graph/agent-contexts/git.json +0 -1
  472. package/.enderun/memory-graph/agent-contexts/manager.json +0 -1
  473. package/.enderun/memory-graph/agent-contexts/mobile.json +0 -1
  474. package/.enderun/memory-graph/agent-contexts/native.json +0 -1
  475. package/.enderun/memory-graph/agent-contexts/quality.json +0 -1
  476. package/.enderun/memory-graph/agent-contexts/security.json +0 -1
  477. package/.enderun/memory-graph/graph.json +0 -133
  478. package/.enderun/memory-graph/shared-facts.json +0 -46
  479. package/.enderun/monitoring/.gitkeep +0 -0
  480. package/.enderun/observability/AUDIT_LOG.md +0 -9
  481. package/.enderun/observability/METRICS.md +0 -10
  482. package/.enderun/observability/README.md +0 -19
  483. package/.enderun/observability/TRACE_LOG.md +0 -10
  484. package/.enderun/queue/README.md +0 -36
  485. package/.enderun/registry/agents.yaml +0 -69
  486. package/.enderun/skills/agent_handshake.md +0 -37
  487. package/.enderun/skills/multi_agent_coordination.md +0 -64
  488. package/.enderun/skills/subagent_lifecycle.md +0 -48
  489. package/CLAUDE.md +0 -20
  490. package/GEMINI.md +0 -23
  491. package/GROK.md +0 -20
  492. package/agent.md +0 -25
  493. package/bin/init-check.js +0 -86
  494. package/bin/update-contract.js +0 -93
  495. package/dist/.keep +0 -1
  496. package/dist/apps/backend/src/types/index.d.ts +0 -9
  497. package/dist/apps/backend/src/types/index.js +0 -5
  498. package/dist/apps/backend/src/types/index.js.map +0 -1
  499. package/dist/apps/web/src/main.d.ts +0 -1
  500. package/dist/apps/web/src/main.js +0 -9
  501. package/dist/apps/web/src/main.js.map +0 -1
  502. package/dist/apps/web/vite.config.d.ts +0 -2
  503. package/dist/apps/web/vite.config.js +0 -6
  504. package/dist/apps/web/vite.config.js.map +0 -1
  505. package/dist/tests/adapter.test.d.ts +0 -1
  506. package/dist/tests/adapter.test.js +0 -80
  507. package/dist/tests/adapter.test.js.map +0 -1
  508. package/dist/tests/framework-init-test/framework-mcp/src/index.d.ts +0 -1
  509. package/dist/tests/framework-init-test/framework-mcp/src/index.js +0 -71
  510. package/dist/tests/framework-init-test/framework-mcp/src/index.js.map +0 -1
  511. package/dist/tests/framework-init-test/framework-mcp/src/tools/definitions.d.ts +0 -2
  512. package/dist/tests/framework-init-test/framework-mcp/src/tools/definitions.js +0 -111
  513. package/dist/tests/framework-init-test/framework-mcp/src/tools/definitions.js.map +0 -1
  514. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/patch_file.d.ts +0 -2
  515. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/patch_file.js +0 -19
  516. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/patch_file.js.map +0 -1
  517. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/read_file.d.ts +0 -2
  518. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/read_file.js +0 -8
  519. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/read_file.js.map +0 -1
  520. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/replace_text.d.ts +0 -2
  521. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/replace_text.js +0 -32
  522. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/replace_text.js.map +0 -1
  523. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/write_file.d.ts +0 -2
  524. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/write_file.js +0 -10
  525. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/write_file.js.map +0 -1
  526. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/get_status.d.ts +0 -2
  527. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/get_status.js +0 -6
  528. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/get_status.js.map +0 -1
  529. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/orchestrate.d.ts +0 -2
  530. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/orchestrate.js +0 -6
  531. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/orchestrate.js.map +0 -1
  532. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_contract_hash.d.ts +0 -2
  533. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_contract_hash.js +0 -6
  534. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_contract_hash.js.map +0 -1
  535. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_memory.d.ts +0 -2
  536. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_memory.js +0 -9
  537. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_memory.js.map +0 -1
  538. package/dist/tests/framework-init-test/framework-mcp/src/tools/index.d.ts +0 -5
  539. package/dist/tests/framework-init-test/framework-mcp/src/tools/index.js +0 -26
  540. package/dist/tests/framework-init-test/framework-mcp/src/tools/index.js.map +0 -1
  541. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/log_action.d.ts +0 -2
  542. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/log_action.js +0 -23
  543. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/log_action.js.map +0 -1
  544. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/send_message.d.ts +0 -2
  545. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/send_message.js +0 -24
  546. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/send_message.js.map +0 -1
  547. package/dist/tests/framework-init-test/framework-mcp/src/tools/types.d.ts +0 -47
  548. package/dist/tests/framework-init-test/framework-mcp/src/tools/types.js +0 -2
  549. package/dist/tests/framework-init-test/framework-mcp/src/tools/types.js.map +0 -1
  550. package/dist/tests/framework-init-test/framework-mcp/src/utils/cli.d.ts +0 -5
  551. package/dist/tests/framework-init-test/framework-mcp/src/utils/cli.js +0 -21
  552. package/dist/tests/framework-init-test/framework-mcp/src/utils/cli.js.map +0 -1
  553. package/dist/tests/framework-init-test/framework-mcp/src/utils/security.d.ts +0 -12
  554. package/dist/tests/framework-init-test/framework-mcp/src/utils/security.js +0 -54
  555. package/dist/tests/framework-init-test/framework-mcp/src/utils/security.js.map +0 -1
  556. package/dist/tests/framework-init-test/framework-mcp/tests/tools/file_system/replace_text.test.d.ts +0 -1
  557. package/dist/tests/framework-init-test/framework-mcp/tests/tools/file_system/replace_text.test.js +0 -69
  558. package/dist/tests/framework-init-test/framework-mcp/tests/tools/file_system/replace_text.test.js.map +0 -1
  559. package/dist/tests/framework-init-test/panda.config.d.ts +0 -4
  560. package/dist/tests/framework-init-test/panda.config.js +0 -95
  561. package/dist/tests/framework-init-test/panda.config.js.map +0 -1
  562. package/dist/tests/framework-init-test/vitest.config.d.ts +0 -2
  563. package/dist/tests/framework-init-test/vitest.config.js +0 -19
  564. package/dist/tests/framework-init-test/vitest.config.js.map +0 -1
  565. package/dist/tests/gemini.test.d.ts +0 -1
  566. package/dist/tests/gemini.test.js +0 -38
  567. package/dist/tests/gemini.test.js.map +0 -1
  568. package/dist/tests/initial.test.d.ts +0 -1
  569. package/dist/tests/initial.test.js +0 -7
  570. package/dist/tests/initial.test.js.map +0 -1
  571. package/docs/project_analysis_report.md +0 -69
  572. package/framework-mcp/dist/index.js +0 -70
  573. package/framework-mcp/dist/tests/tools/file_system/replace_text.test.js +0 -68
  574. package/framework-mcp/dist/tools/definitions.js +0 -110
  575. package/framework-mcp/dist/tools/file_system/patch_file.js +0 -18
  576. package/framework-mcp/dist/tools/file_system/read_file.js +0 -7
  577. package/framework-mcp/dist/tools/file_system/replace_text.js +0 -31
  578. package/framework-mcp/dist/tools/file_system/write_file.js +0 -9
  579. package/framework-mcp/dist/tools/framework/get_status.js +0 -5
  580. package/framework-mcp/dist/tools/framework/orchestrate.js +0 -5
  581. package/framework-mcp/dist/tools/framework/update_contract_hash.js +0 -5
  582. package/framework-mcp/dist/tools/framework/update_memory.js +0 -8
  583. package/framework-mcp/dist/tools/index.js +0 -25
  584. package/framework-mcp/dist/tools/messaging/log_action.js +0 -22
  585. package/framework-mcp/dist/tools/messaging/send_message.js +0 -23
  586. package/framework-mcp/dist/tools/types.js +0 -1
  587. package/framework-mcp/dist/utils/cli.js +0 -20
  588. package/framework-mcp/dist/utils/security.js +0 -53
  589. package/framework-mcp/node_modules/@types/node/LICENSE +0 -21
  590. package/framework-mcp/node_modules/@types/node/README.md +0 -15
  591. package/framework-mcp/node_modules/@types/node/assert/strict.d.ts +0 -111
  592. package/framework-mcp/node_modules/@types/node/assert.d.ts +0 -1078
  593. package/framework-mcp/node_modules/@types/node/async_hooks.d.ts +0 -603
  594. package/framework-mcp/node_modules/@types/node/buffer.buffer.d.ts +0 -472
  595. package/framework-mcp/node_modules/@types/node/buffer.d.ts +0 -1934
  596. package/framework-mcp/node_modules/@types/node/child_process.d.ts +0 -1476
  597. package/framework-mcp/node_modules/@types/node/cluster.d.ts +0 -578
  598. package/framework-mcp/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  599. package/framework-mcp/node_modules/@types/node/compatibility/index.d.ts +0 -9
  600. package/framework-mcp/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  601. package/framework-mcp/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
  602. package/framework-mcp/node_modules/@types/node/console.d.ts +0 -452
  603. package/framework-mcp/node_modules/@types/node/constants.d.ts +0 -21
  604. package/framework-mcp/node_modules/@types/node/crypto.d.ts +0 -4545
  605. package/framework-mcp/node_modules/@types/node/dgram.d.ts +0 -600
  606. package/framework-mcp/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  607. package/framework-mcp/node_modules/@types/node/dns/promises.d.ts +0 -503
  608. package/framework-mcp/node_modules/@types/node/dns.d.ts +0 -923
  609. package/framework-mcp/node_modules/@types/node/domain.d.ts +0 -170
  610. package/framework-mcp/node_modules/@types/node/events.d.ts +0 -976
  611. package/framework-mcp/node_modules/@types/node/fs/promises.d.ts +0 -1295
  612. package/framework-mcp/node_modules/@types/node/fs.d.ts +0 -4461
  613. package/framework-mcp/node_modules/@types/node/globals.d.ts +0 -172
  614. package/framework-mcp/node_modules/@types/node/globals.typedarray.d.ts +0 -38
  615. package/framework-mcp/node_modules/@types/node/http.d.ts +0 -2089
  616. package/framework-mcp/node_modules/@types/node/http2.d.ts +0 -2721
  617. package/framework-mcp/node_modules/@types/node/https.d.ts +0 -579
  618. package/framework-mcp/node_modules/@types/node/index.d.ts +0 -97
  619. package/framework-mcp/node_modules/@types/node/inspector.d.ts +0 -253
  620. package/framework-mcp/node_modules/@types/node/inspector.generated.d.ts +0 -4052
  621. package/framework-mcp/node_modules/@types/node/module.d.ts +0 -891
  622. package/framework-mcp/node_modules/@types/node/net.d.ts +0 -1076
  623. package/framework-mcp/node_modules/@types/node/os.d.ts +0 -506
  624. package/framework-mcp/node_modules/@types/node/package.json +0 -145
  625. package/framework-mcp/node_modules/@types/node/path.d.ts +0 -200
  626. package/framework-mcp/node_modules/@types/node/perf_hooks.d.ts +0 -968
  627. package/framework-mcp/node_modules/@types/node/process.d.ts +0 -2084
  628. package/framework-mcp/node_modules/@types/node/punycode.d.ts +0 -117
  629. package/framework-mcp/node_modules/@types/node/querystring.d.ts +0 -152
  630. package/framework-mcp/node_modules/@types/node/readline/promises.d.ts +0 -161
  631. package/framework-mcp/node_modules/@types/node/readline.d.ts +0 -594
  632. package/framework-mcp/node_modules/@types/node/repl.d.ts +0 -428
  633. package/framework-mcp/node_modules/@types/node/sea.d.ts +0 -153
  634. package/framework-mcp/node_modules/@types/node/sqlite.d.ts +0 -721
  635. package/framework-mcp/node_modules/@types/node/stream/consumers.d.ts +0 -38
  636. package/framework-mcp/node_modules/@types/node/stream/promises.d.ts +0 -90
  637. package/framework-mcp/node_modules/@types/node/stream/web.d.ts +0 -622
  638. package/framework-mcp/node_modules/@types/node/stream.d.ts +0 -1687
  639. package/framework-mcp/node_modules/@types/node/string_decoder.d.ts +0 -67
  640. package/framework-mcp/node_modules/@types/node/test.d.ts +0 -2163
  641. package/framework-mcp/node_modules/@types/node/timers/promises.d.ts +0 -108
  642. package/framework-mcp/node_modules/@types/node/timers.d.ts +0 -287
  643. package/framework-mcp/node_modules/@types/node/tls.d.ts +0 -1319
  644. package/framework-mcp/node_modules/@types/node/trace_events.d.ts +0 -197
  645. package/framework-mcp/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -468
  646. package/framework-mcp/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -34
  647. package/framework-mcp/node_modules/@types/node/ts5.6/index.d.ts +0 -97
  648. package/framework-mcp/node_modules/@types/node/tty.d.ts +0 -208
  649. package/framework-mcp/node_modules/@types/node/url.d.ts +0 -984
  650. package/framework-mcp/node_modules/@types/node/util.d.ts +0 -2606
  651. package/framework-mcp/node_modules/@types/node/v8.d.ts +0 -920
  652. package/framework-mcp/node_modules/@types/node/vm.d.ts +0 -1000
  653. package/framework-mcp/node_modules/@types/node/wasi.d.ts +0 -181
  654. package/framework-mcp/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  655. package/framework-mcp/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  656. package/framework-mcp/node_modules/@types/node/web-globals/events.d.ts +0 -97
  657. package/framework-mcp/node_modules/@types/node/web-globals/fetch.d.ts +0 -55
  658. package/framework-mcp/node_modules/@types/node/web-globals/navigator.d.ts +0 -22
  659. package/framework-mcp/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  660. package/framework-mcp/node_modules/@types/node/worker_threads.d.ts +0 -784
  661. package/framework-mcp/node_modules/@types/node/zlib.d.ts +0 -747
  662. package/framework-mcp/node_modules/typescript/LICENSE.txt +0 -55
  663. package/framework-mcp/node_modules/typescript/README.md +0 -50
  664. package/framework-mcp/node_modules/typescript/SECURITY.md +0 -41
  665. package/framework-mcp/node_modules/typescript/ThirdPartyNoticeText.txt +0 -193
  666. package/framework-mcp/node_modules/typescript/bin/tsc +0 -2
  667. package/framework-mcp/node_modules/typescript/bin/tsserver +0 -2
  668. package/framework-mcp/node_modules/typescript/lib/_tsc.js +0 -133818
  669. package/framework-mcp/node_modules/typescript/lib/_tsserver.js +0 -659
  670. package/framework-mcp/node_modules/typescript/lib/_typingsInstaller.js +0 -222
  671. package/framework-mcp/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
  672. package/framework-mcp/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
  673. package/framework-mcp/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
  674. package/framework-mcp/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
  675. package/framework-mcp/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
  676. package/framework-mcp/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
  677. package/framework-mcp/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
  678. package/framework-mcp/node_modules/typescript/lib/lib.d.ts +0 -22
  679. package/framework-mcp/node_modules/typescript/lib/lib.decorators.d.ts +0 -384
  680. package/framework-mcp/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -22
  681. package/framework-mcp/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -41
  682. package/framework-mcp/node_modules/typescript/lib/lib.dom.d.ts +0 -39429
  683. package/framework-mcp/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -571
  684. package/framework-mcp/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -147
  685. package/framework-mcp/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -597
  686. package/framework-mcp/node_modules/typescript/lib/lib.es2015.d.ts +0 -28
  687. package/framework-mcp/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -77
  688. package/framework-mcp/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -605
  689. package/framework-mcp/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -81
  690. package/framework-mcp/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -128
  691. package/framework-mcp/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -144
  692. package/framework-mcp/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -46
  693. package/framework-mcp/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -326
  694. package/framework-mcp/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -116
  695. package/framework-mcp/node_modules/typescript/lib/lib.es2016.d.ts +0 -21
  696. package/framework-mcp/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -23
  697. package/framework-mcp/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -31
  698. package/framework-mcp/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -21
  699. package/framework-mcp/node_modules/typescript/lib/lib.es2017.d.ts +0 -26
  700. package/framework-mcp/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -31
  701. package/framework-mcp/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -23
  702. package/framework-mcp/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -44
  703. package/framework-mcp/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -49
  704. package/framework-mcp/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -135
  705. package/framework-mcp/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -45
  706. package/framework-mcp/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -53
  707. package/framework-mcp/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -77
  708. package/framework-mcp/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -53
  709. package/framework-mcp/node_modules/typescript/lib/lib.es2018.d.ts +0 -24
  710. package/framework-mcp/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -24
  711. package/framework-mcp/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -83
  712. package/framework-mcp/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -30
  713. package/framework-mcp/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -37
  714. package/framework-mcp/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -79
  715. package/framework-mcp/node_modules/typescript/lib/lib.es2019.d.ts +0 -24
  716. package/framework-mcp/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -24
  717. package/framework-mcp/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -23
  718. package/framework-mcp/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -33
  719. package/framework-mcp/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -37
  720. package/framework-mcp/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -24
  721. package/framework-mcp/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -765
  722. package/framework-mcp/node_modules/typescript/lib/lib.es2020.d.ts +0 -27
  723. package/framework-mcp/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -42
  724. package/framework-mcp/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -24
  725. package/framework-mcp/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -474
  726. package/framework-mcp/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -28
  727. package/framework-mcp/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -47
  728. package/framework-mcp/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -99
  729. package/framework-mcp/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -44
  730. package/framework-mcp/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -41
  731. package/framework-mcp/node_modules/typescript/lib/lib.es2021.d.ts +0 -23
  732. package/framework-mcp/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -24
  733. package/framework-mcp/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -166
  734. package/framework-mcp/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -48
  735. package/framework-mcp/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -33
  736. package/framework-mcp/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -78
  737. package/framework-mcp/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -121
  738. package/framework-mcp/node_modules/typescript/lib/lib.es2022.d.ts +0 -25
  739. package/framework-mcp/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -75
  740. package/framework-mcp/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -24
  741. package/framework-mcp/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -145
  742. package/framework-mcp/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -26
  743. package/framework-mcp/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -39
  744. package/framework-mcp/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -25
  745. package/framework-mcp/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -924
  746. package/framework-mcp/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -21
  747. package/framework-mcp/node_modules/typescript/lib/lib.es2023.d.ts +0 -22
  748. package/framework-mcp/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -24
  749. package/framework-mcp/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -56
  750. package/framework-mcp/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -65
  751. package/framework-mcp/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -29
  752. package/framework-mcp/node_modules/typescript/lib/lib.es2024.d.ts +0 -26
  753. package/framework-mcp/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -24
  754. package/framework-mcp/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -29
  755. package/framework-mcp/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -35
  756. package/framework-mcp/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -25
  757. package/framework-mcp/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -68
  758. package/framework-mcp/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -29
  759. package/framework-mcp/node_modules/typescript/lib/lib.es5.d.ts +0 -4601
  760. package/framework-mcp/node_modules/typescript/lib/lib.es6.d.ts +0 -23
  761. package/framework-mcp/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -35
  762. package/framework-mcp/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -96
  763. package/framework-mcp/node_modules/typescript/lib/lib.esnext.d.ts +0 -29
  764. package/framework-mcp/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -28
  765. package/framework-mcp/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -193
  766. package/framework-mcp/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -24
  767. package/framework-mcp/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -445
  768. package/framework-mcp/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -24
  769. package/framework-mcp/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -21
  770. package/framework-mcp/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -148
  771. package/framework-mcp/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -34
  772. package/framework-mcp/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -25
  773. package/framework-mcp/node_modules/typescript/lib/lib.scripthost.d.ts +0 -322
  774. package/framework-mcp/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -41
  775. package/framework-mcp/node_modules/typescript/lib/lib.webworker.d.ts +0 -13150
  776. package/framework-mcp/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -23
  777. package/framework-mcp/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -340
  778. package/framework-mcp/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
  779. package/framework-mcp/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
  780. package/framework-mcp/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
  781. package/framework-mcp/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
  782. package/framework-mcp/node_modules/typescript/lib/tsc.js +0 -8
  783. package/framework-mcp/node_modules/typescript/lib/tsserver.js +0 -8
  784. package/framework-mcp/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -17
  785. package/framework-mcp/node_modules/typescript/lib/tsserverlibrary.js +0 -21
  786. package/framework-mcp/node_modules/typescript/lib/typesMap.json +0 -497
  787. package/framework-mcp/node_modules/typescript/lib/typescript.d.ts +0 -11437
  788. package/framework-mcp/node_modules/typescript/lib/typescript.js +0 -200276
  789. package/framework-mcp/node_modules/typescript/lib/typingsInstaller.js +0 -8
  790. package/framework-mcp/node_modules/typescript/lib/watchGuard.js +0 -53
  791. package/framework-mcp/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -2122
  792. package/framework-mcp/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -2122
  793. package/framework-mcp/node_modules/typescript/package.json +0 -120
  794. package/framework-mcp/node_modules/undici-types/LICENSE +0 -21
  795. package/framework-mcp/node_modules/undici-types/README.md +0 -6
  796. package/framework-mcp/node_modules/undici-types/agent.d.ts +0 -31
  797. package/framework-mcp/node_modules/undici-types/api.d.ts +0 -43
  798. package/framework-mcp/node_modules/undici-types/balanced-pool.d.ts +0 -29
  799. package/framework-mcp/node_modules/undici-types/cache.d.ts +0 -36
  800. package/framework-mcp/node_modules/undici-types/client.d.ts +0 -108
  801. package/framework-mcp/node_modules/undici-types/connector.d.ts +0 -34
  802. package/framework-mcp/node_modules/undici-types/content-type.d.ts +0 -21
  803. package/framework-mcp/node_modules/undici-types/cookies.d.ts +0 -28
  804. package/framework-mcp/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  805. package/framework-mcp/node_modules/undici-types/dispatcher.d.ts +0 -256
  806. package/framework-mcp/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  807. package/framework-mcp/node_modules/undici-types/errors.d.ts +0 -149
  808. package/framework-mcp/node_modules/undici-types/eventsource.d.ts +0 -61
  809. package/framework-mcp/node_modules/undici-types/fetch.d.ts +0 -209
  810. package/framework-mcp/node_modules/undici-types/file.d.ts +0 -39
  811. package/framework-mcp/node_modules/undici-types/filereader.d.ts +0 -54
  812. package/framework-mcp/node_modules/undici-types/formdata.d.ts +0 -108
  813. package/framework-mcp/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  814. package/framework-mcp/node_modules/undici-types/global-origin.d.ts +0 -7
  815. package/framework-mcp/node_modules/undici-types/handlers.d.ts +0 -15
  816. package/framework-mcp/node_modules/undici-types/header.d.ts +0 -4
  817. package/framework-mcp/node_modules/undici-types/index.d.ts +0 -71
  818. package/framework-mcp/node_modules/undici-types/interceptors.d.ts +0 -17
  819. package/framework-mcp/node_modules/undici-types/mock-agent.d.ts +0 -50
  820. package/framework-mcp/node_modules/undici-types/mock-client.d.ts +0 -25
  821. package/framework-mcp/node_modules/undici-types/mock-errors.d.ts +0 -12
  822. package/framework-mcp/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  823. package/framework-mcp/node_modules/undici-types/mock-pool.d.ts +0 -25
  824. package/framework-mcp/node_modules/undici-types/package.json +0 -55
  825. package/framework-mcp/node_modules/undici-types/patch.d.ts +0 -33
  826. package/framework-mcp/node_modules/undici-types/pool-stats.d.ts +0 -19
  827. package/framework-mcp/node_modules/undici-types/pool.d.ts +0 -39
  828. package/framework-mcp/node_modules/undici-types/proxy-agent.d.ts +0 -28
  829. package/framework-mcp/node_modules/undici-types/readable.d.ts +0 -65
  830. package/framework-mcp/node_modules/undici-types/retry-agent.d.ts +0 -8
  831. package/framework-mcp/node_modules/undici-types/retry-handler.d.ts +0 -116
  832. package/framework-mcp/node_modules/undici-types/util.d.ts +0 -18
  833. package/framework-mcp/node_modules/undici-types/webidl.d.ts +0 -228
  834. package/framework-mcp/node_modules/undici-types/websocket.d.ts +0 -150
  835. package/framework-mcp/tests/tools/file_system/replace_text.test.js +0 -68
  836. package/framework-mcp/tests/tools/file_system/replace_text.test.ts +0 -77
  837. package/panda.config.ts +0 -100
@@ -1,15 +1,21 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
+ import chalk from "chalk";
3
4
  import { getFrameworkDir } from "../utils/memory.js";
5
+ import { UI } from "../utils/ui.js";
4
6
 
7
+ /**
8
+ * Hermes Protocol Message for Multi-Agent Collaboration.
9
+ */
5
10
  interface HermesMessage {
6
11
  timestamp: string;
7
12
  from: string;
8
13
  to: string;
9
- category: string;
14
+ category: "ACTION" | "DELEGATION" | "SUBTASK" | "REPLY" | "ALERT";
10
15
  content: string;
11
16
  traceId: string;
12
- status: "PENDING" | "PROCESSED";
17
+ parentId?: string; // Links sub-tasks to parent tasks
18
+ status: "PENDING" | "PROCESSED" | "WAITING";
13
19
  }
14
20
 
15
21
  export async function orchestrateCommand() {
@@ -17,166 +23,146 @@ export async function orchestrateCommand() {
17
23
  const messagesDir = path.join(process.cwd(), frameworkDir, "messages");
18
24
 
19
25
  if (!fs.existsSync(messagesDir)) {
20
- console.log("ℹ️ Henüz işlenecek bir mesaj yok (.messages dizini bulunamadı).");
26
+ UI.success("Henüz işlenecek bir mesaj yok.");
21
27
  return;
22
28
  }
23
29
 
24
30
  const messageFiles = fs.readdirSync(messagesDir).filter((f) => f.endsWith(".json"));
25
31
  const pendingMessages: HermesMessage[] = [];
32
+ const fileMessagesMap: Record<string, HermesMessage[]> = {};
26
33
 
27
34
  for (const file of messageFiles) {
28
35
  const filePath = path.join(messagesDir, file);
29
36
  try {
30
37
  const content = fs.readFileSync(filePath, "utf8").trim();
31
38
  if (!content) continue;
32
- // Messages are stored as newline-delimited JSON
33
39
  const lines = content.split("\n");
40
+ const allMsgs: HermesMessage[] = [];
34
41
  lines.forEach((line) => {
35
42
  if (!line.trim()) return;
36
43
  const msg = JSON.parse(line) as HermesMessage;
37
44
  if (msg.status === "PENDING") {
38
45
  pendingMessages.push(msg);
39
46
  }
47
+ allMsgs.push(msg);
40
48
  });
49
+ fileMessagesMap[file] = allMsgs;
41
50
  } catch {
42
- console.error(`❌ ${file} mesajı okunurken hata oluştu.`);
51
+ UI.error(`${file} mesajı okunurken hata oluştu.`);
43
52
  }
44
53
  }
45
54
 
46
55
  if (pendingMessages.length === 0) {
47
- console.log("Tüm mesajlar işlenmiş, bekleyen görev yok.");
56
+ UI.success("Tüm mesajlar işlenmiş, bekleyen görev yok.");
48
57
  return;
49
58
  }
50
59
 
51
- console.log(`📡 ${pendingMessages.length} adet bekleyen görev bulundu. İşleniyor...\n`);
60
+ UI.intent("Multi-Agent Orkestrasyonu", `${pendingMessages.length} adet bekleyen görev ve işbirliği mesajı bulundu.`);
52
61
 
53
62
  for (const msg of pendingMessages) {
54
- const { to, content, traceId, category } = msg;
55
-
56
- console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
57
- console.log(`🔹 HEDEF: ${to}`);
58
- console.log(`🔹 TRACE: ${traceId}`);
59
- console.log(`🔹 KATEGORİ: ${category}`);
60
- console.log(`🔹 GÖREV: ${content}`);
61
-
62
- // Determine agent folder based on adapter (detection or default)
63
- let agentFolder = "agents";
64
- if (frameworkDir === ".agents") {
65
- agentFolder = "skills";
66
- } else if (frameworkDir === ".grok") {
67
- agentFolder = "plugins";
68
- }
63
+ const { from, to, content, traceId, category, parentId } = msg;
64
+
65
+ // Visual distinction for Sub-tasks
66
+ const isSubtask = category === "SUBTASK" || !!parentId;
67
+ const agentLabel = isSubtask ? `${to} (Sub-Agent)` : to;
68
+
69
+ UI.agentBox(agentLabel, content, `Trace: ${traceId} | From: ${from} | Category: ${category}`);
69
70
 
70
- // Determine target state based on category
71
71
  let targetState = "EXECUTING";
72
- if (category === "DELEGATION") targetState = "BRIEFED";
73
- if (category === "ALERT" || category === "FAILED") targetState = "BLOCKED";
72
+ if (category === "DELEGATION" || category === "SUBTASK") targetState = "BRIEFED";
74
73
 
75
- // 1. Transition the target agent state in STATUS.md
76
74
  transitionAgentState(to, targetState, content);
77
75
 
78
76
  if (targetState === "BRIEFED") {
79
- console.log(`\n📝 ${to} agent'ı bilgilendirildi (BRIEFED). Hazırlık bekleniyor...`);
80
- // Auto-transition to EXECUTING for CLI flow if no blockers
77
+ UI.success(`${to} bilgilendirildi ve görevi devraldı.`);
81
78
  transitionAgentState(to, "EXECUTING", content);
82
79
  }
83
80
 
84
- console.log("\n🤖 Görev Devredildi!");
85
- console.log(`👉 Lütfen ${to} agent talimatlarını (${frameworkDir}/${agentFolder}/${to.replace("@", "")}.md) okuyun ve görevi yerine getirin.`);
86
- console.log("\n💡 İpucu: İş bittiğinde, mesajı PROCESSED olarak işaretlemek ve ajanı boşa çıkarmak için:");
87
- console.log(" npx agent-enderun status komutuyla kontrol edin.");
81
+ if (isSubtask) {
82
+ UI.success(`Alt görev bağlantısı kuruldu (Parent: ${parentId || "Unknown"}).`);
83
+ }
84
+
85
+ UI.success(`İşbirliği başlatıldı: ${from} -> ${to}`);
86
+ console.warn(chalk.gray(` 👉 Talimatlar: ${frameworkDir}/agents/${to.replace("@", "")}.md`));
87
+
88
+ // Mark message as processed
89
+ msg.status = "PROCESSED";
90
+ }
91
+
92
+ // Write back updated message statuses to files
93
+ for (const file of Object.keys(fileMessagesMap)) {
94
+ const filePath = path.join(messagesDir, file);
95
+ const msgs = fileMessagesMap[file];
96
+ try {
97
+ const updatedContent = msgs.map(m => JSON.stringify(m)).join("\n") + "\n";
98
+ fs.writeFileSync(filePath, updatedContent, "utf8");
99
+ } catch {
100
+ UI.error(`${file} mesaj dosyası güncellenirken hata oluştu.`);
101
+ }
88
102
  }
89
103
  }
90
104
 
91
- export function sendMessage(args: {
92
- from: string;
93
- to: string;
94
- category: string;
95
- content: string;
96
- traceId: string;
105
+ /**
106
+ * Standard tool for agents to delegate tasks to other agents.
107
+ */
108
+ export function sendMessage(args: {
109
+ from: string;
110
+ to: string;
111
+ category: "ACTION" | "DELEGATION" | "SUBTASK" | "REPLY" | "ALERT";
112
+ content: string;
113
+ traceId: string;
114
+ parentId?: string;
97
115
  }) {
98
116
  const frameworkDir = getFrameworkDir();
99
117
  const messagesDir = path.join(process.cwd(), frameworkDir, "messages");
100
118
  const agentName = args.to.replace("@", "");
101
119
  const messagePath = path.join(messagesDir, `${agentName}.json`);
102
- const lockPath = path.join(messagesDir, ".lock");
103
-
104
- // Hermes Lock Protocol: Retry 3 times with 500ms delay
105
- let retries = 3;
106
- while (retries > 0 && fs.existsSync(lockPath)) {
107
- const stats = fs.statSync(lockPath);
108
- // Stale lock check (older than 5 seconds)
109
- if (Date.now() - stats.mtimeMs > 5000) {
110
- fs.unlinkSync(lockPath);
111
- break;
112
- }
113
- retries--;
114
- if (retries > 0) {
115
- // Synchronous sleep for CLI simplicity
116
- const g = global as unknown as { Atomics: { wait: (ia: Int32Array, index: number, value: number, timeout: number) => string }; SharedArrayBuffer: { new (size: number): ArrayBufferLike } };
117
- if (g.Atomics && g.SharedArrayBuffer) {
118
- g.Atomics.wait(new Int32Array(new g.SharedArrayBuffer(4)), 0, 0, 500);
119
- }
120
- }
121
- }
122
120
 
123
121
  try {
124
- fs.mkdirSync(messagesDir, { recursive: true });
125
- fs.writeFileSync(lockPath, `Locked by ${args.from} at ${new Date().toISOString()}`);
122
+ if (!fs.existsSync(messagesDir)) fs.mkdirSync(messagesDir, { recursive: true });
126
123
 
127
- const message = {
124
+ const message: HermesMessage = {
128
125
  timestamp: new Date().toISOString(),
129
- from: args.from,
130
- to: args.to,
131
- category: args.category,
132
- traceId: args.traceId,
133
- content: args.content,
126
+ ...args,
134
127
  status: "PENDING"
135
128
  };
136
-
129
+
137
130
  fs.appendFileSync(messagePath, JSON.stringify(message) + "\n");
131
+
132
+ // Log collaboration to audit log
133
+ const auditPath = path.join(process.cwd(), frameworkDir, "observability/audit_log.md");
134
+ if (fs.existsSync(auditPath)) {
135
+ const logEntry = `\n- **[${message.timestamp}]** ${args.from} -> ${args.to} | ${args.category} | Trace: ${args.traceId}`;
136
+ fs.appendFileSync(auditPath, logEntry);
137
+ }
138
+
138
139
  return message;
139
- } finally {
140
- if (fs.existsSync(lockPath)) fs.unlinkSync(lockPath);
140
+ } catch {
141
+ UI.error(`Mesaj iletilemedi: ${args.from} -> ${args.to}`);
141
142
  }
142
143
  }
143
144
 
144
145
  function transitionAgentState(agent: string, state: string, task: string) {
145
146
  const frameworkDir = getFrameworkDir();
146
147
  const statusPath = path.join(process.cwd(), frameworkDir, "STATUS.md");
147
-
148
148
  if (!fs.existsSync(statusPath)) return;
149
-
150
149
  try {
151
150
  const content = fs.readFileSync(statusPath, "utf8");
152
151
  const lines = content.split("\n");
153
152
  const targetName = agent.startsWith("@") ? agent : `@${agent}`;
154
-
155
- const newLines: string[] = [];
156
- let found = false;
157
-
158
- lines.forEach((line) => {
153
+ const newLines = lines.map(line => {
159
154
  if (line.includes(`| ${targetName} |`)) {
160
- found = true;
161
- // Example: | @backend | IDLE | — | — | 9.2/10 | — |
162
155
  const parts = line.split("|");
163
156
  if (parts.length >= 7) {
164
157
  parts[2] = ` ${state} `;
165
- parts[3] = ` ${task.slice(0, 20)}... `;
166
- newLines.push(parts.join("|"));
167
- } else {
168
- newLines.push(line);
158
+ parts[3] = ` ${task.slice(0, 25)}... `;
159
+ return parts.join("|");
169
160
  }
170
- } else {
171
- newLines.push(line);
172
161
  }
162
+ return line;
173
163
  });
174
-
175
- if (found) {
176
- fs.writeFileSync(statusPath, newLines.join("\n"));
177
- console.log(`✅ STATUS.md üzerinde ${agent} durumu başarıyla '${state}' yapıldı.`);
178
- }
164
+ fs.writeFileSync(statusPath, newLines.join("\n"));
179
165
  } catch {
180
- console.error("STATUS.md güncellenirken hata oluştu.");
166
+ UI.error("STATUS.md güncellenemedi.");
181
167
  }
182
168
  }
package/src/cli/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
-
2
+ import fs from "fs";
3
3
  import { getPackageVersion, getValidatorPath } from "./utils/pkg.js";
4
+ import { getMemoryPath, readActiveTraceId } from "./utils/memory.js";
4
5
  import { initCommand } from "./commands/init.js";
5
6
  import { checkCommand } from "./commands/check.js";
6
7
  import { statusCommand } from "./commands/status.js";
@@ -19,8 +20,10 @@ async function main() {
19
20
 
20
21
  const KNOWN_COMMANDS = [
21
22
  "init", "check", "status", "trace:new", "update_project_memory",
22
- "create-app", "orchestrate", "verify-contract", "update-contract",
23
- "validate", "validate-army", "check:al", "version", "-v", "--version", "help", "-h", "--help"
23
+ "create-app", "orchestrate", "loop", "verify-contract", "update-contract",
24
+ "validate", "validate-army", "check:al", "version", "-v", "--version", "help", "-h", "--help",
25
+ "git:commit", "git:sync", "check:compliance", "explorer:graph", "explorer:audit",
26
+ "knowledge:update", "knowledge:search", "log:action", "run-script", "security:audit", "check:lint"
24
27
  ];
25
28
 
26
29
  // Handle @agent delegation syntax
@@ -29,21 +32,17 @@ async function main() {
29
32
  const content = args.slice(1).join(" ");
30
33
  if (!content) {
31
34
  console.error(`❌ Error: Missing task content for ${to}.`);
32
- console.log(`Usage: agent-enderun ${to} "Your task description"`);
35
+ console.warn(`Usage: agent-enderun ${to} "Your task description"`);
33
36
  process.exit(64);
34
37
  }
35
38
 
36
- const { getMemoryPath } = await import("./utils/memory.js");
37
- const fs = await import("fs");
38
39
  const memoryPath = getMemoryPath();
39
40
 
40
41
  let traceId = "T-000";
41
- if (fs.default.existsSync(memoryPath)) {
42
- const content = fs.default.readFileSync(memoryPath, "utf8");
43
- // More robust regex: look for any ULID-like string in the Active Trace ID column or near the label
44
- const match = content.match(/Active Trace ID\s*\|.*\|\s*\n\|.*\|.*\|.*\|\s*([A-Z0-9]+)\s*\|/i) ||
45
- content.match(/Active Trace ID[:\s|]+([A-Z0-9]+)/i);
46
- if (match) traceId = match[1].trim();
42
+ if (fs.existsSync(memoryPath)) {
43
+ const memoryContent = fs.readFileSync(memoryPath, "utf8");
44
+ const tid = readActiveTraceId(memoryContent);
45
+ if (tid) traceId = tid.trim();
47
46
  }
48
47
 
49
48
  sendMessage({
@@ -54,16 +53,17 @@ async function main() {
54
53
  traceId
55
54
  });
56
55
 
57
- console.log(`✅ Task delegated to ${to} (Trace: ${traceId})`);
58
- console.log("👉 Run \"agent-enderun orchestrate\" to process.");
56
+ console.warn(`✅ Task delegated to ${to} (Trace: ${traceId})`);
57
+ console.warn("👉 Run \"agent-enderun orchestrate\" to process.");
59
58
  return;
60
59
  }
61
60
 
62
61
  switch (command) {
63
62
  case "init": {
64
63
  const dryRun = args.includes("--dry-run");
64
+ const isInteractive = args.includes("--interactive");
65
65
  const adapter = args.find(a => !a.startsWith("-") && a !== "init");
66
- await initCommand(adapter, dryRun);
66
+ await initCommand(adapter, dryRun, isInteractive);
67
67
  break;
68
68
  }
69
69
 
@@ -99,6 +99,7 @@ async function main() {
99
99
  break;
100
100
 
101
101
  case "orchestrate":
102
+ case "loop":
102
103
  orchestrateCommand();
103
104
  break;
104
105
 
@@ -123,10 +124,93 @@ async function main() {
123
124
  break;
124
125
  }
125
126
 
127
+ case "git:commit": {
128
+ const memoryContent = fs.existsSync(getMemoryPath()) ? fs.readFileSync(getMemoryPath(), "utf8") : "";
129
+ const traceId = readActiveTraceId(memoryContent) || "T-000";
130
+ const { gitCommitCommand } = await import("./commands/git.js");
131
+ gitCommitCommand(traceId);
132
+ break;
133
+ }
134
+
135
+ case "git:sync": {
136
+ const { gitSyncCommand } = await import("./commands/git.js");
137
+ gitSyncCommand();
138
+ break;
139
+ }
140
+
141
+ case "check:compliance": {
142
+ const targetPath = args[1] || "src";
143
+ const { complianceCheckCommand } = await import("./commands/compliance.js");
144
+ complianceCheckCommand(targetPath);
145
+ break;
146
+ }
147
+
148
+ case "explorer:graph": {
149
+ const targetPath = args[1] || "src";
150
+ const { explorerGraphCommand } = await import("./commands/explorer.js");
151
+ explorerGraphCommand(targetPath);
152
+ break;
153
+ }
154
+
155
+ case "explorer:audit": {
156
+ const targetPath = args[1] || "src";
157
+ const { explorerAuditCommand } = await import("./commands/explorer.js");
158
+ explorerAuditCommand(targetPath);
159
+ break;
160
+ }
161
+
162
+ case "knowledge:update": {
163
+ const topic = args[1];
164
+ const content = args[2];
165
+ const { updateKnowledgeBaseCommand } = await import("./commands/knowledge.js");
166
+ updateKnowledgeBaseCommand(topic, content);
167
+ break;
168
+ }
169
+
170
+ case "knowledge:search": {
171
+ const query = args[1];
172
+ const { searchKnowledgeBaseCommand } = await import("./commands/knowledge.js");
173
+ searchKnowledgeBaseCommand(query);
174
+ break;
175
+ }
176
+
177
+ case "log:action": {
178
+ const agent = args[1];
179
+ const action = args[2];
180
+ const status = args[3] || "SUCCESS";
181
+ const summary = args[4] || "";
182
+ const memoryContent = fs.existsSync(getMemoryPath()) ? fs.readFileSync(getMemoryPath(), "utf8") : "";
183
+ const traceId = readActiveTraceId(memoryContent) || "T-000";
184
+ const { logAgentActionCommand } = await import("./commands/log.js");
185
+ logAgentActionCommand({ agent, action, status, summary, traceId });
186
+ break;
187
+ }
188
+
189
+ case "run-script": {
190
+ const script = args[1];
191
+ const projectPath = args[2] || ".";
192
+ const { runScriptCommand } = await import("./commands/script.js");
193
+ runScriptCommand(script, projectPath);
194
+ break;
195
+ }
196
+
197
+ case "security:audit": {
198
+ const targetPath = args[1] || "src";
199
+ const { securityAuditCommand } = await import("./commands/security.js");
200
+ securityAuditCommand(targetPath);
201
+ break;
202
+ }
203
+
204
+ case "check:lint": {
205
+ const { lintCommand } = await import("./commands/lint.js");
206
+ lintCommand();
207
+ break;
208
+ }
209
+
126
210
  case "version":
127
211
  case "-v":
128
212
  case "--version":
129
- console.log(`v${getPackageVersion()}`);
213
+ console.warn(`v${getPackageVersion()}`);
130
214
  break;
131
215
 
132
216
  case "help":
@@ -139,17 +223,13 @@ async function main() {
139
223
  if (command && !KNOWN_COMMANDS.includes(command)) {
140
224
  // Natural language request fallback to @manager
141
225
  const content = args.join(" ");
142
- const { getMemoryPath } = await import("./utils/memory.js");
143
- const fs = await import("fs");
144
226
  const memoryPath = getMemoryPath();
145
227
 
146
228
  let traceId = "T-000";
147
- if (fs.default.existsSync(memoryPath)) {
148
- const content = fs.default.readFileSync(memoryPath, "utf8");
149
- // More robust regex: look for any ULID-like string in the Active Trace ID column or near the label
150
- const match = content.match(/Active Trace ID\s*\|.*\|\s*\n\|.*\|.*\|.*\|\s*([A-Z0-9]+)\s*\|/i) ||
151
- content.match(/Active Trace ID[:\s|]+([A-Z0-9]+)/i);
152
- if (match) traceId = match[1].trim();
229
+ if (fs.existsSync(memoryPath)) {
230
+ const memoryContent = fs.readFileSync(memoryPath, "utf8");
231
+ const tid = readActiveTraceId(memoryContent);
232
+ if (tid) traceId = tid.trim();
153
233
  }
154
234
 
155
235
  sendMessage({
@@ -160,8 +240,8 @@ async function main() {
160
240
  traceId
161
241
  });
162
242
 
163
- console.log(`📡 Request sent to @manager: "${content}" (Trace: ${traceId})`);
164
- console.log("👉 Run 'agent-enderun orchestrate' to process.");
243
+ console.warn(`📡 Request sent to @manager: "${content}" (Trace: ${traceId})`);
244
+ console.warn("👉 Run 'agent-enderun orchestrate' to process.");
165
245
  } else {
166
246
  showHelp();
167
247
  }
@@ -170,8 +250,8 @@ async function main() {
170
250
  }
171
251
 
172
252
  function showHelp() {
173
- console.log(`
174
- 🤖 Agent Enderun CLI — Enterprise AI Orchestration
253
+ console.warn(`
254
+ 🎖️ Enderun Core CLI (v${getPackageVersion()}) The Supreme AI Orchestrator
175
255
 
176
256
  Usage:
177
257
  agent-enderun <command> [options]
@@ -180,7 +260,8 @@ Usage:
180
260
 
181
261
  Commands:
182
262
  @<agent> <task> Delegate a task to a specialist agent (e.g. @backend, @frontend)
183
- init [adapter] Initialize Agent Enderun framework (gemini, claude, grok, etc.)
263
+ init [adapter] Initialize Agent Enderun framework.
264
+ Options: --interactive, --dry-run
184
265
  check Perform an enterprise-grade system health check
185
266
  status Show active phase, trace ID, and agent statuses
186
267
  trace:new <desc> Start a new task chain with a unique Trace ID
@@ -188,6 +269,17 @@ Commands:
188
269
  orchestrate Start the dynamic Hermes agent orchestration loop
189
270
  verify-contract Validate type alignment between backend and frontend
190
271
  update-contract Generate and synchronize a new contract hash
272
+ git:commit Suggest git commit messages matching the Trace ID
273
+ git:sync Sync and rebase the project with remote repository
274
+ check:compliance Verify file compliance with ENDERUN.md rules
275
+ explorer:graph Generate import dependency charts in Mermaid format
276
+ explorer:audit Scan source files for lines-of-code complexity
277
+ knowledge:update Add or update a topic in the local knowledge base
278
+ knowledge:search Search the local knowledge base for a topic query
279
+ log:action Record structured logs for agent executions
280
+ run-script Execute package scripts in the project directory
281
+ security:audit Audit source files for secrets and unsafe coding
282
+ check:lint Run ESLint checks on the project files
191
283
  version Show version information
192
284
 
193
285
  Natural Language:
@@ -2,7 +2,7 @@ import fs from "fs";
2
2
  import path from "path";
3
3
  import crypto from "crypto";
4
4
  import { ensureDir, writeTextFile, writeJsonFile } from "../utils/fs.js";
5
- import { updateProjectMemoryCommand } from "../commands/memory.js";
5
+ import { updateProjectMemory } from "./memory.js";
6
6
  import { slugifyName, titleCase } from "../utils/string.js";
7
7
  import { getConfiguredPaths, getMemoryPath } from "./memory.js";
8
8
  import { getDependencyVersions } from "./pkg.js";
@@ -278,7 +278,7 @@ export interface Task {
278
278
  console.warn(`✅ Base types created in ${path.relative(targetDir, typesDir)}`);
279
279
  }
280
280
 
281
- interface AppSpec {
281
+ export interface AppSpec {
282
282
  rawDescription: string;
283
283
  appName: string;
284
284
  title: string;
@@ -735,7 +735,7 @@ export function updateMemoryForGeneratedApp(spec: AppSpec, traceId: string) {
735
735
  `- **Files:** ${pathsMap.backend}, ${pathsMap.frontend}, project docs`,
736
736
  ].join("\n");
737
737
 
738
- updateProjectMemoryCommand("HISTORY", history);
738
+ updateProjectMemory("HISTORY", history);
739
739
  }
740
740
 
741
741
  export async function collectCreateAppDescription(args: string[]) {
@@ -0,0 +1,48 @@
1
+ import { z } from "zod";
2
+
3
+ /**
4
+ * Standard Color Palette Schema
5
+ */
6
+ export const ColorPaletteSchema = z.object({
7
+ primary: z.string().regex(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/),
8
+ secondary: z.string().regex(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/),
9
+ accent: z.string().regex(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/),
10
+ });
11
+
12
+ /**
13
+ * Enderun Core config.json Schema
14
+ */
15
+ export const EnderunConfigSchema = z.object({
16
+ name: z.string().default("Enderun Core"),
17
+ version: z.string(),
18
+ frameworkDir: z.string().optional(),
19
+ theme: z.object({
20
+ palette: z.string(),
21
+ colors: ColorPaletteSchema
22
+ }).optional(),
23
+ paths: z.object({
24
+ backend: z.string(),
25
+ frontend: z.string(),
26
+ docs: z.string(),
27
+ tests: z.string(),
28
+ }).default({
29
+ backend: "apps/backend",
30
+ frontend: "apps/web",
31
+ docs: "docs",
32
+ tests: "tests"
33
+ })
34
+ });
35
+
36
+ /**
37
+ * MCP mcp.json Schema
38
+ */
39
+ export const McpConfigSchema = z.object({
40
+ mcpServers: z.record(z.object({
41
+ command: z.string(),
42
+ args: z.array(z.string()),
43
+ env: z.record(z.string()).optional()
44
+ }))
45
+ });
46
+
47
+ export type EnderunConfig = z.infer<typeof EnderunConfigSchema>;
48
+ export type McpConfig = z.infer<typeof McpConfigSchema>;
@@ -3,6 +3,9 @@ import path from "path";
3
3
 
4
4
  import { remapFrameworkContent } from "../adapters.js"; // Import from the new adapters.js
5
5
  import type { AdapterId } from "../adapters.js";
6
+ import { ensureDir, writeTextFile, writeJsonFile } from "../../shared/fs.js";
7
+
8
+ export { ensureDir, writeTextFile, writeJsonFile };
6
9
 
7
10
  export function updateGitIgnore(targetPath: string, frameworkDir = ".gemini", dryRun = false): void {
8
11
  const IGNORE_LINES = [
@@ -39,29 +42,6 @@ export function updateGitIgnore(targetPath: string, frameworkDir = ".gemini", dr
39
42
  }
40
43
  }
41
44
 
42
- export function ensureDir(dirPath: string, dryRun = false): void {
43
- if (!fs.existsSync(dirPath)) {
44
- if (dryRun) {
45
- console.warn(`[DRY RUN] Would create directory: ${dirPath}`);
46
- } else {
47
- fs.mkdirSync(dirPath, { recursive: true });
48
- }
49
- }
50
- }
51
-
52
- export function writeTextFile(filePath: string, content: string, dryRun = false): void {
53
- if (dryRun) {
54
- console.warn(`[DRY RUN] Would write file: ${filePath}`);
55
- return;
56
- }
57
- ensureDir(path.dirname(filePath));
58
- // Use template literal for content handling to avoid issues with raw newlines
59
- fs.writeFileSync(filePath, content.endsWith("\n") ? content : `${content}\n`);
60
- }
61
-
62
- export function writeJsonFile(filePath: string, value: unknown, dryRun = false): void {
63
- writeTextFile(filePath, JSON.stringify(value, null, 2), dryRun);
64
- }
65
45
 
66
46
  interface SanitizeJsonFunction {
67
47
  (obj: unknown, targetScope?: string): unknown;
@@ -90,14 +70,17 @@ export function copyDir(
90
70
 
91
71
  const srcPath = path.join(src, entry.name);
92
72
 
93
- // Physical folder remapping during copy
73
+ // Physical folder remapping during copy.
74
+ // In unified mode (frameworkDir === ".enderun") folder names are always standard —
75
+ // agents/ stays agents/, knowledge/ stays knowledge/.
76
+ // Only remap when using a legacy non-unified adapter directory.
94
77
  let effectiveEntryName = entry.name;
95
- if (entry.isDirectory()) {
78
+ if (entry.isDirectory() && frameworkDir !== ".enderun") {
96
79
  if (entry.name === "agents") {
97
- if (adapterId === "antigravity") effectiveEntryName = "skills";
80
+ if (adapterId === "antigravity-cli") effectiveEntryName = "skills";
98
81
  else if (adapterId === "grok") effectiveEntryName = "plugins";
99
82
  } else if (entry.name === "knowledge") {
100
- if (adapterId === "antigravity") effectiveEntryName = "rules";
83
+ if (adapterId === "antigravity-cli") effectiveEntryName = "rules";
101
84
  }
102
85
  }
103
86