agent-enderun 1.1.10 → 1.10.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 (254) hide show
  1. package/README.md +294 -19
  2. package/bin/cli.js +7 -0
  3. package/bin/enderun-dashboard.js +16 -857
  4. package/bin/validate-agent-army.js +12 -12
  5. package/dist/framework-mcp/src/index.js +14 -2
  6. package/dist/framework-mcp/src/index.js.map +1 -1
  7. package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +2 -1
  8. package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js.map +1 -1
  9. package/dist/framework-mcp/src/tools/file_system/replace_text.js +2 -1
  10. package/dist/framework-mcp/src/tools/file_system/replace_text.js.map +1 -1
  11. package/dist/framework-mcp/src/tools/file_system/write_file.js +3 -3
  12. package/dist/framework-mcp/src/tools/file_system/write_file.js.map +1 -1
  13. package/dist/framework-mcp/src/utils/fs.d.ts +16 -0
  14. package/dist/framework-mcp/src/utils/fs.js +45 -0
  15. package/dist/framework-mcp/src/utils/fs.js.map +1 -0
  16. package/dist/framework-mcp/src/utils/metrics.js.map +1 -1
  17. package/dist/src/cli/adapters/core.js.map +1 -1
  18. package/dist/src/cli/adapters/scaffold.js +4 -3
  19. package/dist/src/cli/adapters/scaffold.js.map +1 -1
  20. package/dist/src/cli/commands/app.js +20 -5
  21. package/dist/src/cli/commands/app.js.map +1 -1
  22. package/dist/src/cli/commands/approve.d.ts +1 -1
  23. package/dist/src/cli/commands/approve.js +7 -7
  24. package/dist/src/cli/commands/approve.js.map +1 -1
  25. package/dist/src/cli/commands/check.d.ts +1 -1
  26. package/dist/src/cli/commands/check.js +35 -4
  27. package/dist/src/cli/commands/check.js.map +1 -1
  28. package/dist/src/cli/commands/compliance.d.ts +1 -1
  29. package/dist/src/cli/commands/compliance.js +1 -1
  30. package/dist/src/cli/commands/compliance.js.map +1 -1
  31. package/dist/src/cli/commands/contract.d.ts +2 -2
  32. package/dist/src/cli/commands/contract.js +8 -14
  33. package/dist/src/cli/commands/contract.js.map +1 -1
  34. package/dist/src/cli/commands/dashboard/data-service.d.ts +33 -0
  35. package/dist/src/cli/commands/dashboard/data-service.js +120 -0
  36. package/dist/src/cli/commands/dashboard/data-service.js.map +1 -0
  37. package/dist/src/cli/commands/dashboard/html-template.d.ts +4 -0
  38. package/dist/src/cli/commands/dashboard/html-template.js +697 -0
  39. package/dist/src/cli/commands/dashboard/html-template.js.map +1 -0
  40. package/dist/src/cli/commands/dashboard/server.d.ts +2 -0
  41. package/dist/src/cli/commands/dashboard/server.js +38 -0
  42. package/dist/src/cli/commands/dashboard/server.js.map +1 -0
  43. package/dist/src/cli/commands/dashboard.d.ts +4 -0
  44. package/dist/src/cli/commands/dashboard.js +10 -0
  45. package/dist/src/cli/commands/dashboard.js.map +1 -0
  46. package/dist/src/cli/commands/explorer.d.ts +2 -2
  47. package/dist/src/cli/commands/explorer.js +2 -2
  48. package/dist/src/cli/commands/explorer.js.map +1 -1
  49. package/dist/src/cli/commands/git.d.ts +2 -2
  50. package/dist/src/cli/commands/git.js +2 -2
  51. package/dist/src/cli/commands/git.js.map +1 -1
  52. package/dist/src/cli/commands/init/scaffold-core.d.ts +4 -0
  53. package/dist/src/cli/commands/init/scaffold-core.js +65 -0
  54. package/dist/src/cli/commands/init/scaffold-core.js.map +1 -0
  55. package/dist/src/cli/commands/init/scaffold-ops.d.ts +1 -0
  56. package/dist/src/cli/commands/init/scaffold-ops.js +83 -0
  57. package/dist/src/cli/commands/init/scaffold-ops.js.map +1 -0
  58. package/dist/src/cli/commands/init/scaffold-standards.d.ts +2 -0
  59. package/dist/src/cli/commands/init/scaffold-standards.js +58 -0
  60. package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -0
  61. package/dist/src/cli/commands/init.js +14 -275
  62. package/dist/src/cli/commands/init.js.map +1 -1
  63. package/dist/src/cli/commands/knowledge.d.ts +2 -2
  64. package/dist/src/cli/commands/knowledge.js +4 -3
  65. package/dist/src/cli/commands/knowledge.js.map +1 -1
  66. package/dist/src/cli/commands/lint.d.ts +1 -1
  67. package/dist/src/cli/commands/lint.js +2 -3
  68. package/dist/src/cli/commands/lint.js.map +1 -1
  69. package/dist/src/cli/commands/log.d.ts +1 -1
  70. package/dist/src/cli/commands/log.js +3 -2
  71. package/dist/src/cli/commands/log.js.map +1 -1
  72. package/dist/src/cli/commands/memory.d.ts +1 -1
  73. package/dist/src/cli/commands/memory.js +1 -1
  74. package/dist/src/cli/commands/memory.js.map +1 -1
  75. package/dist/src/cli/commands/orchestrate.js +169 -140
  76. package/dist/src/cli/commands/orchestrate.js.map +1 -1
  77. package/dist/src/cli/commands/plan.d.ts +1 -1
  78. package/dist/src/cli/commands/plan.js +1 -1
  79. package/dist/src/cli/commands/plan.js.map +1 -1
  80. package/dist/src/cli/commands/script.d.ts +1 -1
  81. package/dist/src/cli/commands/script.js +1 -1
  82. package/dist/src/cli/commands/script.js.map +1 -1
  83. package/dist/src/cli/commands/security.d.ts +1 -1
  84. package/dist/src/cli/commands/security.js +1 -1
  85. package/dist/src/cli/commands/security.js.map +1 -1
  86. package/dist/src/cli/commands/status.d.ts +1 -1
  87. package/dist/src/cli/commands/status.js +1 -1
  88. package/dist/src/cli/commands/status.js.map +1 -1
  89. package/dist/src/cli/commands/trace.d.ts +1 -1
  90. package/dist/src/cli/commands/trace.js +1 -1
  91. package/dist/src/cli/commands/trace.js.map +1 -1
  92. package/dist/src/cli/index.js +36 -21
  93. package/dist/src/cli/index.js.map +1 -1
  94. package/dist/src/cli/shims.js +6 -6
  95. package/dist/src/cli/utils/app-backend.js +7 -0
  96. package/dist/src/cli/utils/app-backend.js.map +1 -1
  97. package/dist/src/cli/utils/app-docs.js +23 -5
  98. package/dist/src/cli/utils/app-docs.js.map +1 -1
  99. package/dist/src/cli/utils/app-frontend.js +5 -0
  100. package/dist/src/cli/utils/app-frontend.js.map +1 -1
  101. package/dist/src/cli/utils/app-inferrer.d.ts +1 -0
  102. package/dist/src/cli/utils/app-inferrer.js +12 -1
  103. package/dist/src/cli/utils/app-inferrer.js.map +1 -1
  104. package/dist/src/cli/utils/app-mobile.d.ts +2 -0
  105. package/dist/src/cli/utils/app-mobile.js +106 -0
  106. package/dist/src/cli/utils/app-mobile.js.map +1 -0
  107. package/dist/src/cli/utils/app-types.js +8 -4
  108. package/dist/src/cli/utils/app-types.js.map +1 -1
  109. package/dist/src/cli/utils/app.d.ts +1 -0
  110. package/dist/src/cli/utils/app.js +1 -0
  111. package/dist/src/cli/utils/app.js.map +1 -1
  112. package/dist/src/cli/utils/claude.js +2 -1
  113. package/dist/src/cli/utils/claude.js.map +1 -1
  114. package/dist/src/cli/utils/compliance.js +37 -6
  115. package/dist/src/cli/utils/compliance.js.map +1 -1
  116. package/dist/src/cli/utils/config-schema.d.ts +3 -3
  117. package/dist/src/cli/utils/config-schema.js +3 -3
  118. package/dist/src/cli/utils/config-schema.js.map +1 -1
  119. package/dist/src/cli/utils/fs.d.ts +2 -2
  120. package/dist/src/cli/utils/fs.js +9 -13
  121. package/dist/src/cli/utils/fs.js.map +1 -1
  122. package/dist/src/cli/utils/memory.d.ts +9 -2
  123. package/dist/src/cli/utils/memory.js +87 -16
  124. package/dist/src/cli/utils/memory.js.map +1 -1
  125. package/dist/src/cli/utils/pkg.js +14 -13
  126. package/dist/src/cli/utils/pkg.js.map +1 -1
  127. package/dist/src/cli/utils/string.js +1 -1
  128. package/dist/src/cli/utils/string.js.map +1 -1
  129. package/dist/src/cli/utils/ui.d.ts +1 -1
  130. package/dist/src/cli/utils/ui.js +1 -1
  131. package/dist/src/modules/adapters/shared.js +7 -7
  132. package/dist/src/modules/adapters/shared.js.map +1 -1
  133. package/dist/src/modules/agents/definitions.d.ts +3 -34
  134. package/dist/src/modules/agents/definitions.js +35 -511
  135. package/dist/src/modules/agents/definitions.js.map +1 -1
  136. package/dist/src/modules/agents/registry/analyst.d.ts +2 -0
  137. package/dist/src/modules/agents/registry/analyst.js +36 -0
  138. package/dist/src/modules/agents/registry/analyst.js.map +1 -0
  139. package/dist/src/modules/agents/registry/architect.d.ts +2 -0
  140. package/dist/src/modules/agents/registry/architect.js +42 -0
  141. package/dist/src/modules/agents/registry/architect.js.map +1 -0
  142. package/dist/src/modules/agents/registry/backend.d.ts +2 -0
  143. package/dist/src/modules/agents/registry/backend.js +43 -0
  144. package/dist/src/modules/agents/registry/backend.js.map +1 -0
  145. package/dist/src/modules/agents/registry/database.d.ts +2 -0
  146. package/dist/src/modules/agents/registry/database.js +38 -0
  147. package/dist/src/modules/agents/registry/database.js.map +1 -0
  148. package/dist/src/modules/agents/registry/devops.d.ts +2 -0
  149. package/dist/src/modules/agents/registry/devops.js +38 -0
  150. package/dist/src/modules/agents/registry/devops.js.map +1 -0
  151. package/dist/src/modules/agents/registry/explorer.d.ts +2 -0
  152. package/dist/src/modules/agents/registry/explorer.js +36 -0
  153. package/dist/src/modules/agents/registry/explorer.js.map +1 -0
  154. package/dist/src/modules/agents/registry/frontend.d.ts +2 -0
  155. package/dist/src/modules/agents/registry/frontend.js +44 -0
  156. package/dist/src/modules/agents/registry/frontend.js.map +1 -0
  157. package/dist/src/modules/agents/registry/git.d.ts +2 -0
  158. package/dist/src/modules/agents/registry/git.js +35 -0
  159. package/dist/src/modules/agents/registry/git.js.map +1 -0
  160. package/dist/src/modules/agents/registry/manager.d.ts +2 -0
  161. package/dist/src/modules/agents/registry/manager.js +49 -0
  162. package/dist/src/modules/agents/registry/manager.js.map +1 -0
  163. package/dist/src/modules/agents/registry/mobile.d.ts +2 -0
  164. package/dist/src/modules/agents/registry/mobile.js +40 -0
  165. package/dist/src/modules/agents/registry/mobile.js.map +1 -0
  166. package/dist/src/modules/agents/registry/native.d.ts +2 -0
  167. package/dist/src/modules/agents/registry/native.js +36 -0
  168. package/dist/src/modules/agents/registry/native.js.map +1 -0
  169. package/dist/src/modules/agents/registry/quality.d.ts +2 -0
  170. package/dist/src/modules/agents/registry/quality.js +41 -0
  171. package/dist/src/modules/agents/registry/quality.js.map +1 -0
  172. package/dist/src/modules/agents/registry/security.d.ts +2 -0
  173. package/dist/src/modules/agents/registry/security.js +37 -0
  174. package/dist/src/modules/agents/registry/security.js.map +1 -0
  175. package/dist/src/modules/agents/types.d.ts +31 -0
  176. package/dist/src/modules/agents/types.js +2 -0
  177. package/dist/src/modules/agents/types.js.map +1 -0
  178. package/dist/src/modules/skills/definitions.d.ts +1 -1
  179. package/dist/src/modules/skills/definitions.js +1 -1
  180. package/dist/src/shared/errors.d.ts +8 -6
  181. package/dist/src/shared/errors.js +13 -10
  182. package/dist/src/shared/errors.js.map +1 -1
  183. package/dist/src/shared/fs.d.ts +4 -0
  184. package/dist/src/shared/fs.js +17 -2
  185. package/dist/src/shared/fs.js.map +1 -1
  186. package/dist/src/shared/types.d.ts +19 -0
  187. package/dist/src/shared/types.js +13 -0
  188. package/dist/src/shared/types.js.map +1 -0
  189. package/package.json +3 -5
  190. package/src/cli/adapters/core.ts +0 -1
  191. package/src/cli/adapters/scaffold.ts +4 -3
  192. package/src/cli/commands/app.ts +23 -5
  193. package/src/cli/commands/approve.ts +15 -7
  194. package/src/cli/commands/check.ts +38 -5
  195. package/src/cli/commands/compliance.ts +1 -1
  196. package/src/cli/commands/contract.ts +20 -14
  197. package/src/cli/commands/dashboard/data-service.ts +119 -0
  198. package/src/cli/commands/dashboard/html-template.ts +696 -0
  199. package/src/cli/commands/dashboard/server.ts +43 -0
  200. package/src/cli/commands/dashboard.ts +11 -0
  201. package/src/cli/commands/explorer.ts +2 -2
  202. package/src/cli/commands/git.ts +2 -2
  203. package/src/cli/commands/init/scaffold-core.ts +71 -0
  204. package/src/cli/commands/init/scaffold-ops.ts +86 -0
  205. package/src/cli/commands/init/scaffold-standards.ts +59 -0
  206. package/src/cli/commands/init.ts +21 -292
  207. package/src/cli/commands/knowledge.ts +5 -3
  208. package/src/cli/commands/lint.ts +2 -4
  209. package/src/cli/commands/log.ts +4 -2
  210. package/src/cli/commands/memory.ts +1 -1
  211. package/src/cli/commands/orchestrate.ts +177 -142
  212. package/src/cli/commands/plan.ts +1 -1
  213. package/src/cli/commands/script.ts +1 -1
  214. package/src/cli/commands/security.ts +1 -1
  215. package/src/cli/commands/status.ts +1 -1
  216. package/src/cli/commands/trace.ts +1 -1
  217. package/src/cli/index.ts +37 -21
  218. package/src/cli/shims.ts +6 -6
  219. package/src/cli/utils/app-backend.ts +8 -0
  220. package/src/cli/utils/app-docs.ts +23 -5
  221. package/src/cli/utils/app-frontend.ts +6 -0
  222. package/src/cli/utils/app-inferrer.ts +11 -1
  223. package/src/cli/utils/app-mobile.ts +113 -0
  224. package/src/cli/utils/app-types.ts +9 -4
  225. package/src/cli/utils/app.ts +1 -0
  226. package/src/cli/utils/claude.ts +2 -1
  227. package/src/cli/utils/compliance.ts +38 -7
  228. package/src/cli/utils/config-schema.ts +4 -4
  229. package/src/cli/utils/fs.ts +9 -14
  230. package/src/cli/utils/memory.ts +103 -20
  231. package/src/cli/utils/pkg.ts +14 -13
  232. package/src/cli/utils/string.ts +1 -1
  233. package/src/cli/utils/ui.ts +1 -1
  234. package/src/modules/adapters/shared.ts +7 -7
  235. package/src/modules/agents/definitions.ts +39 -598
  236. package/src/modules/agents/registry/analyst.ts +40 -0
  237. package/src/modules/agents/registry/architect.ts +46 -0
  238. package/src/modules/agents/registry/backend.ts +47 -0
  239. package/src/modules/agents/registry/database.ts +42 -0
  240. package/src/modules/agents/registry/devops.ts +42 -0
  241. package/src/modules/agents/registry/explorer.ts +40 -0
  242. package/src/modules/agents/registry/frontend.ts +48 -0
  243. package/src/modules/agents/registry/git.ts +39 -0
  244. package/src/modules/agents/registry/manager.ts +53 -0
  245. package/src/modules/agents/registry/mobile.ts +44 -0
  246. package/src/modules/agents/registry/native.ts +40 -0
  247. package/src/modules/agents/registry/quality.ts +45 -0
  248. package/src/modules/agents/registry/security.ts +41 -0
  249. package/src/modules/agents/types.ts +37 -0
  250. package/src/modules/skills/definitions.ts +1 -1
  251. package/src/shared/errors.ts +13 -10
  252. package/src/shared/fs.ts +17 -2
  253. package/src/shared/types.ts +20 -0
  254. package/bin/utils/docgen.ts +0 -24
@@ -63,19 +63,19 @@ async function main() {
63
63
  break;
64
64
  }
65
65
  case "check":
66
- checkCommand();
66
+ await checkCommand();
67
67
  break;
68
68
  case "plan":
69
- planCommand();
69
+ await planCommand();
70
70
  break;
71
71
  case "status":
72
- statusCommand();
72
+ await statusCommand();
73
73
  break;
74
74
  case "trace:new": {
75
75
  const description = args[1] || "Default task";
76
76
  const agent = args[2] || "manager";
77
77
  const priority = args[3] || "P1";
78
- traceNewCommand(description, agent, priority);
78
+ await traceNewCommand(description, agent, priority);
79
79
  break;
80
80
  }
81
81
  case "update_project_memory": {
@@ -85,15 +85,20 @@ async function main() {
85
85
  console.error("❌ Error: section and content are required.");
86
86
  process.exit(64);
87
87
  }
88
- updateProjectMemoryCommand(section, content);
88
+ await updateProjectMemoryCommand(section, content);
89
89
  break;
90
90
  }
91
91
  case "create-app":
92
92
  await createAppCommand(args.slice(1));
93
93
  break;
94
+ case "dashboard": {
95
+ const { dashboardCommand } = await import("./commands/dashboard.js");
96
+ await dashboardCommand(args.slice(1));
97
+ break;
98
+ }
94
99
  case "orchestrate":
95
100
  case "loop":
96
- orchestrateCommand();
101
+ await orchestrateCommand();
97
102
  break;
98
103
  case "approve": {
99
104
  const traceId = args[1];
@@ -101,14 +106,14 @@ async function main() {
101
106
  console.error("❌ Error: traceId is required.");
102
107
  process.exit(64);
103
108
  }
104
- approveCommand(traceId);
109
+ await approveCommand(traceId);
105
110
  break;
106
111
  }
107
112
  case "verify-contract":
108
- verifyApiContractCommand();
113
+ await verifyApiContractCommand();
109
114
  break;
110
115
  case "update-contract":
111
- updateApiContractCommand();
116
+ await updateApiContractCommand();
112
117
  break;
113
118
  case "validate":
114
119
  case "validate-army":
@@ -127,43 +132,43 @@ async function main() {
127
132
  const memoryContent = fs.existsSync(getMemoryPath()) ? fs.readFileSync(getMemoryPath(), "utf8") : "";
128
133
  const traceId = readActiveTraceId(memoryContent) || "T-000";
129
134
  const { gitCommitCommand } = await import("./commands/git.js");
130
- gitCommitCommand(traceId);
135
+ await gitCommitCommand(traceId);
131
136
  break;
132
137
  }
133
138
  case "git:sync": {
134
139
  const { gitSyncCommand } = await import("./commands/git.js");
135
- gitSyncCommand();
140
+ await gitSyncCommand();
136
141
  break;
137
142
  }
138
143
  case "check:compliance": {
139
144
  const targetPath = args[1] || "src";
140
145
  const { complianceCheckCommand } = await import("./commands/compliance.js");
141
- complianceCheckCommand(targetPath);
146
+ await complianceCheckCommand(targetPath);
142
147
  break;
143
148
  }
144
149
  case "explorer:graph": {
145
150
  const targetPath = args[1] || "src";
146
151
  const { explorerGraphCommand } = await import("./commands/explorer.js");
147
- explorerGraphCommand(targetPath);
152
+ await explorerGraphCommand(targetPath);
148
153
  break;
149
154
  }
150
155
  case "explorer:audit": {
151
156
  const targetPath = args[1] || "src";
152
157
  const { explorerAuditCommand } = await import("./commands/explorer.js");
153
- explorerAuditCommand(targetPath);
158
+ await explorerAuditCommand(targetPath);
154
159
  break;
155
160
  }
156
161
  case "knowledge:update": {
157
162
  const topic = args[1];
158
163
  const content = args[2];
159
164
  const { updateKnowledgeBaseCommand } = await import("./commands/knowledge.js");
160
- updateKnowledgeBaseCommand(topic, content);
165
+ await updateKnowledgeBaseCommand(topic, content);
161
166
  break;
162
167
  }
163
168
  case "knowledge:search": {
164
169
  const query = args[1];
165
170
  const { searchKnowledgeBaseCommand } = await import("./commands/knowledge.js");
166
- searchKnowledgeBaseCommand(query);
171
+ await searchKnowledgeBaseCommand(query);
167
172
  break;
168
173
  }
169
174
  case "log:action": {
@@ -174,25 +179,25 @@ async function main() {
174
179
  const memoryContent = fs.existsSync(getMemoryPath()) ? fs.readFileSync(getMemoryPath(), "utf8") : "";
175
180
  const traceId = readActiveTraceId(memoryContent) || "T-000";
176
181
  const { logAgentActionCommand } = await import("./commands/log.js");
177
- logAgentActionCommand({ agent, action, status, summary, traceId });
182
+ await logAgentActionCommand({ agent, action, status, summary, traceId });
178
183
  break;
179
184
  }
180
185
  case "run-script": {
181
186
  const script = args[1];
182
187
  const projectPath = args[2] || ".";
183
188
  const { runScriptCommand } = await import("./commands/script.js");
184
- runScriptCommand(script, projectPath);
189
+ await runScriptCommand(script, projectPath);
185
190
  break;
186
191
  }
187
192
  case "security:audit": {
188
193
  const targetPath = args[1] || "src";
189
194
  const { securityAuditCommand } = await import("./commands/security.js");
190
- securityAuditCommand(targetPath);
195
+ await securityAuditCommand(targetPath);
191
196
  break;
192
197
  }
193
198
  case "check:lint": {
194
199
  const { lintCommand } = await import("./commands/lint.js");
195
- lintCommand();
200
+ await lintCommand();
196
201
  break;
197
202
  }
198
203
  case "version":
@@ -235,7 +240,7 @@ async function main() {
235
240
  }
236
241
  function showHelp() {
237
242
  console.warn(`
238
- 🎖️ Enderun Core CLI (v${getPackageVersion()}) — The Supreme AI Orchestrator
243
+ 🎖️ Agent Enderun CLI (v${getPackageVersion()}) — The Supreme AI Orchestrator
239
244
 
240
245
  Usage:
241
246
  agent-enderun <command> [options]
@@ -276,7 +281,17 @@ Example:
276
281
  `);
277
282
  }
278
283
  import { logger } from "../shared/logger.js";
284
+ import { EnderunBaseError } from "../shared/errors.js";
279
285
  main().catch((err) => {
286
+ if (err instanceof EnderunBaseError) {
287
+ console.error(`\n❌ [${err.code}] Error: ${err.message}`);
288
+ if (err.solution) {
289
+ console.warn(`💡 Solution Tip: ${err.solution}\n`);
290
+ }
291
+ }
292
+ else {
293
+ console.error(`\n❌ Fatal Error: ${err.message || String(err)}`);
294
+ }
280
295
  logger.fatal("Fatal exception during CLI execution", err);
281
296
  process.exit(1);
282
297
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;GAEG;AACH,KAAK,UAAU,IAAI;IACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,MAAM,cAAc,GAAG;QACnB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB;QAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB;QACzE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;QAC7F,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB;QAChF,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS;KAChH,CAAC;IAEF,kCAAkC;IAClC,IAAI,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,OAAO,CAAC;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,0BAA0B,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QAEnC,IAAI,OAAO,GAAG,OAAO,CAAC;QACtB,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;YAC7C,IAAI,GAAG;gBAAE,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;QAED,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,UAAU;YAChB,EAAE;YACF,QAAQ,EAAE,YAAY;YACtB,OAAO;YACP,OAAO;SACV,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,YAAY,OAAO,GAAG,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACjE,OAAO;IACX,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,CAAC,CAAC;YACV,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC;YAC/E,MAAM,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC1E,MAAM;QACV,CAAC;QAED,KAAK,OAAO;YACR,MAAM,YAAY,EAAE,CAAC;YACrB,MAAM;QAEV,KAAK,MAAM;YACP,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACV,KAAK,QAAQ;YACT,MAAM,aAAa,EAAE,CAAC;YACtB,MAAM;QAEV,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YACjC,MAAM,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM;QACV,CAAC;QAED,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC;YACD,MAAM,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM;QACV,CAAC;QAED,KAAK,YAAY;YACb,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM;QAEV,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACrE,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM;QACV,CAAC;QAED,KAAK,aAAa,CAAC;QACnB,KAAK,MAAM;YACP,MAAM,kBAAkB,EAAE,CAAC;YAC3B,MAAM;QAEV,KAAK,SAAS,CAAC,CAAC,CAAC;YACb,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAC/C,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC;YACD,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM;QACV,CAAC;QAED,KAAK,iBAAiB;YAClB,MAAM,wBAAwB,EAAE,CAAC;YACjC,MAAM;QAEV,KAAK,iBAAiB;YAClB,MAAM,wBAAwB,EAAE,CAAC;YACjC,MAAM;QAEV,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe,CAAC;QACrB,KAAK,UAAU,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YACnD,IAAI,CAAC;gBACD,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;gBACzC,QAAQ,CAAC,SAAS,aAAa,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACT,uBAAuB;YACvB,CAAC;YACD,MAAM;QACV,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrG,MAAM,OAAO,GAAG,iBAAiB,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC;YAC5D,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC/D,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM;QACV,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC7D,MAAM,cAAc,EAAE,CAAC;YACvB,MAAM;QACV,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;YACpC,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAC5E,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM;QACV,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACpB,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;YACpC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACxE,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM;QACV,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACpB,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;YACpC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACxE,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM;QACV,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAC/E,MAAM,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM;QACV,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAC/E,MAAM,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM;QACV,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrG,MAAM,OAAO,GAAG,iBAAiB,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC;YAC5D,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACpE,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACzE,MAAM;QACV,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;YACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,MAAM,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC5C,MAAM;QACV,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACpB,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;YACpC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACxE,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM;QACV,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC3D,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACV,CAAC;QAED,KAAK,SAAS,CAAC;QACf,KAAK,IAAI,CAAC;QACV,KAAK,WAAW;YACZ,OAAO,CAAC,IAAI,CAAC,IAAI,iBAAiB,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM;QAEV,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACT,QAAQ,EAAE,CAAC;YACX,MAAM;QAEV;YACI,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,gDAAgD;gBAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;gBAEnC,IAAI,OAAO,GAAG,OAAO,CAAC;gBACtB,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC5B,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBAC1D,MAAM,GAAG,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;oBAC7C,IAAI,GAAG;wBAAE,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;gBAClC,CAAC;gBAED,MAAM,WAAW,CAAC;oBACd,IAAI,EAAE,OAAO;oBACb,EAAE,EAAE,UAAU;oBACd,QAAQ,EAAE,QAAQ;oBAClB,OAAO;oBACP,OAAO;iBACV,CAAC,CAAC;gBAEH,OAAO,CAAC,IAAI,CAAC,iCAAiC,OAAO,aAAa,OAAO,GAAG,CAAC,CAAC;gBAC9E,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,EAAE,CAAC;YACf,CAAC;YACD,MAAM;IACd,CAAC;AACL,CAAC;AAED,SAAS,QAAQ;IACb,OAAO,CAAC,IAAI,CAAC;2BACU,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsCzC,CAAC,CAAC;AACP,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;IAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export const SHIM_TEMPLATES = {
2
- gemini: `# 🎖️ Enderun Core — GEMINI Strategy
2
+ gemini: `# 🎖️ Agent Enderun — GEMINI Strategy
3
3
 
4
4
  You are the **Gemini Commander** (Strategic Decision Center).
5
5
 
@@ -8,7 +8,7 @@ You are the **Gemini Commander** (Strategic Decision Center).
8
8
  - **State Persistence:** Read \`{{FRAMEWORK_DIR}}/memory/PROJECT_MEMORY.md\` to restore session memory.
9
9
  - **Zero-Request Logging:** Write logs to \`{{FRAMEWORK_DIR}}/logs/\` at the end of every turn.
10
10
  `,
11
- "antigravity-cli": `# 🎖️ Enderun Core — ANTIGRAVITY-CLI Strategy
11
+ "antigravity-cli": `# 🎖️ Agent Enderun — ANTIGRAVITY-CLI Strategy
12
12
 
13
13
  You are the **Antigravity Specialist** (Preserve Coding Standards).
14
14
 
@@ -17,7 +17,7 @@ You are the **Antigravity Specialist** (Preserve Coding Standards).
17
17
  - **State Persistence:** Read \`{{FRAMEWORK_DIR}}/memory/PROJECT_MEMORY.md\` to restore session memory.
18
18
  - **Standard Check:** Run health checks regularly to preserve framework integrity.
19
19
  `,
20
- claude: `# 🎖️ Enderun Core — CLAUDE Strategy
20
+ claude: `# 🎖️ Agent Enderun — CLAUDE Strategy
21
21
 
22
22
  You are the **Claude Field Engineer** (Surgical Operations).
23
23
 
@@ -26,7 +26,7 @@ You are the **Claude Field Engineer** (Surgical Operations).
26
26
  - **State Persistence:** Read \`{{FRAMEWORK_DIR}}/memory/PROJECT_MEMORY.md\` to restore session memory.
27
27
  - **Surgical Precision:** Do not rewrite files. Execute surgical edits.
28
28
  `,
29
- grok: `# 🎖️ Enderun Core — GROK Strategy
29
+ grok: `# 🎖️ Agent Enderun — GROK Strategy
30
30
 
31
31
  You are the **Grok Explorer** (Experimental Protocols).
32
32
 
@@ -34,7 +34,7 @@ You are the **Grok Explorer** (Experimental Protocols).
34
34
  - **Constitutional Supremacy:** Read \`{{FRAMEWORK_DIR}}/ENDERUN.md\` first.
35
35
  - **State Persistence:** Read \`{{FRAMEWORK_DIR}}/memory/PROJECT_MEMORY.md\` to restore session memory.
36
36
  `,
37
- cursor: `# 🎖️ Enderun Core — CURSOR Strategy
37
+ cursor: `# 🎖️ Agent Enderun — CURSOR Strategy
38
38
 
39
39
  You are the **Cursor Implementer** (IDE Integration).
40
40
 
@@ -42,7 +42,7 @@ You are the **Cursor Implementer** (IDE Integration).
42
42
  - **Constitutional Supremacy:** Read \`{{FRAMEWORK_DIR}}/ENDERUN.md\` first.
43
43
  - **State Persistence:** Read \`{{FRAMEWORK_DIR}}/memory/PROJECT_MEMORY.md\` to restore session memory.
44
44
  `,
45
- codex: `# 🎖️ Enderun Core — COPILOT Strategy
45
+ codex: `# 🎖️ Agent Enderun — COPILOT Strategy
46
46
 
47
47
  You are the **Copilot Implementer** (GitHub Copilot Integration).
48
48
 
@@ -221,6 +221,13 @@ export function createBackendFiles(spec) {
221
221
  "const port = Number(process.env.PORT || 4000);",
222
222
  "await app.listen({ port, host: \"0.0.0.0\" });",
223
223
  ].join("\n"));
224
+ writeTextFile(path.join(targetDir, backendDir, ".env.example"), [
225
+ "# Agent Enderun - Backend Environment Variables",
226
+ "PORT=4000",
227
+ "NODE_ENV=development",
228
+ "DATABASE_URL=sqlite://./dev.db",
229
+ "JWT_SECRET=your_secret_key_here",
230
+ ].join("\n"));
224
231
  writeTextFile(path.join(targetDir, backendDir, "README.md"), [
225
232
  `# ${spec.title} Backend`,
226
233
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"app-backend.js","sourceRoot":"","sources":["../../../../src/cli/utils/app-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-backend.js","sourceRoot":"","sources":["../../../../src/cli/utils/app-backend.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,17 @@ export function updateProjectDocs(spec) {
8
8
  const docsDir = path.join(targetDir, pathsMap.docs);
9
9
  const apiDir = path.join(docsDir, "api");
10
10
  ensureDir(apiDir);
11
+ const architecture = [];
12
+ if (spec.platform === "full-stack" || spec.platform === "backend") {
13
+ architecture.push(`- \`${pathsMap.backend}\`: Fastify API`);
14
+ architecture.push(`- \`${pathsMap.backend}/src/types\`: Contract-first backend TypeScript types`);
15
+ }
16
+ if (spec.platform === "full-stack" || spec.platform === "web") {
17
+ architecture.push(`- \`${pathsMap.frontend}\`: React dashboard`);
18
+ }
19
+ if (spec.platform === "mobile") {
20
+ architecture.push(`- \`${pathsMap.mobile || "apps/mobile"}\`: Expo / React Native App`);
21
+ }
11
22
  writeTextFile(path.join(docsDir, "project-docs.md"), [
12
23
  `# ${spec.title} Requirements`,
13
24
  "",
@@ -17,6 +28,7 @@ export function updateProjectDocs(spec) {
17
28
  "",
18
29
  "## Generated Scope",
19
30
  "",
31
+ `- Platform: ${spec.platform}`,
20
32
  `- Domain: ${spec.domain}`,
21
33
  `- Auth: ${spec.modules.auth ? "yes" : "no"}`,
22
34
  `- Users: ${spec.modules.users ? "yes" : "no"}`,
@@ -25,9 +37,7 @@ export function updateProjectDocs(spec) {
25
37
  "",
26
38
  "## Architecture",
27
39
  "",
28
- `- \`${pathsMap.backend}\`: Fastify API`,
29
- `- \`${pathsMap.frontend}\`: React dashboard`,
30
- `- \`${pathsMap.backend}/src/types\`: Contract-first backend TypeScript types`,
40
+ ...architecture,
31
41
  ].join("\n"));
32
42
  writeTextFile(path.join(apiDir, "README.md"), [
33
43
  "# API Registry",
@@ -46,13 +56,21 @@ export function updateMemoryForGeneratedApp(spec, traceId) {
46
56
  return;
47
57
  const pathsMap = getConfiguredPaths();
48
58
  const today = new Date().toISOString().split("T")[0];
59
+ const impactedFiles = [];
60
+ if (spec.platform === "full-stack" || spec.platform === "backend")
61
+ impactedFiles.push(pathsMap.backend);
62
+ if (spec.platform === "full-stack" || spec.platform === "web")
63
+ impactedFiles.push(pathsMap.frontend);
64
+ if (spec.platform === "mobile")
65
+ impactedFiles.push(pathsMap.mobile || "apps/mobile");
66
+ impactedFiles.push("project docs");
49
67
  const history = [
50
68
  `### ${today} — Generated ${spec.title}`,
51
69
  "",
52
70
  "- **Agent:** @manager",
53
71
  `- **Trace ID:** ${traceId}`,
54
- "- **Action:** Created full-stack starter from natural language request.",
55
- `- **Files:** ${pathsMap.backend}, ${pathsMap.frontend}, project docs`,
72
+ `- **Action:** Created ${spec.platform} starter from natural language request.`,
73
+ `- **Files:** ${impactedFiles.join(", ")}`,
56
74
  ].join("\n");
57
75
  updateProjectMemory("HISTORY", history);
58
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-docs.js","sourceRoot":"","sources":["../../../../src/cli/utils/app-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGrF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAEhC,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC3C,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,SAAS,CAAC,MAAM,CAAC,CAAC;IAElB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE;QACjD,KAAK,IAAI,CAAC,KAAK,eAAe;QAC9B,EAAE;QACF,YAAY;QACZ,EAAE;QACF,IAAI,CAAC,cAAc;QACnB,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,aAAa,IAAI,CAAC,MAAM,EAAE;QAC1B,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAC7C,YAAY,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAC/C,YAAY,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAC/C,cAAc,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACnD,EAAE;QACF,iBAAiB;QACjB,EAAE;QACF,OAAO,QAAQ,CAAC,OAAO,iBAAiB;QACxC,OAAO,QAAQ,CAAC,QAAQ,qBAAqB;QAC7C,OAAO,QAAQ,CAAC,OAAO,uDAAuD;KACjF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEd,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE;QAC1C,gBAAgB;QAChB,EAAE;QACF,6BAA6B;QAC7B,2BAA2B;QAC3B,uBAAuB;QACvB,uBAAuB;QACvB,2BAA2B;QAC3B,yBAAyB;KAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAa,EAAE,OAAe;IACtE,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO;IAEvC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG;QACZ,OAAO,KAAK,gBAAgB,IAAI,CAAC,KAAK,EAAE;QACxC,EAAE;QACF,uBAAuB;QACvB,mBAAmB,OAAO,EAAE;QAC5B,yEAAyE;QACzE,gBAAgB,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,QAAQ,gBAAgB;KACzE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"app-docs.js","sourceRoot":"","sources":["../../../../src/cli/utils/app-docs.ts"],"names":[],"mappings":"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"}
@@ -233,6 +233,11 @@ export function createWebFiles(spec) {
233
233
  " .row { grid-template-columns: 1fr; }",
234
234
  "}",
235
235
  ].join("\n"));
236
+ writeTextFile(path.join(targetDir, frontendDir, ".env.example"), [
237
+ "# Agent Enderun - Web Environment Variables",
238
+ "VITE_API_URL=http://localhost:4000/api/v1",
239
+ "VITE_APP_TITLE=" + spec.title,
240
+ ].join("\n"));
236
241
  writeTextFile(path.join(targetDir, frontendDir, "README.md"), [
237
242
  `# ${spec.title} Web`,
238
243
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"app-frontend.js","sourceRoot":"","sources":["../../../../src/cli/utils/app-frontend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-frontend.js","sourceRoot":"","sources":["../../../../src/cli/utils/app-frontend.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export interface AppSpec {
3
3
  appName: string;
4
4
  title: string;
5
5
  domain: string;
6
+ platform: "web" | "mobile" | "backend" | "full-stack";
6
7
  modules: {
7
8
  auth: boolean;
8
9
  users: boolean;
@@ -5,12 +5,23 @@ export function inferAppSpec(description) {
5
5
  const hasAuth = /auth|login|giris|giriş|signin|sign in|user|kullanici|kullanıcı|role|rol/.test(normalized);
6
6
  const hasRoles = /role|rol|permission|yetki|admin/.test(normalized);
7
7
  const hasReports = /report|rapor|analytics|dashboard|chart|metric/.test(normalized);
8
+ const isMobile = /mobile|ios|android|react native|expo/.test(normalized);
9
+ const isBackend = /backend|api|server|fastify|express/.test(normalized);
10
+ const isWeb = /web|frontend|react|vite/.test(normalized);
8
11
  const appName = isCrm ? "crm-dashboard" : slugifyName(description).split("-").slice(0, 4).join("-");
12
+ let platform = "full-stack";
13
+ if (isMobile)
14
+ platform = "mobile";
15
+ else if (isBackend && !isWeb)
16
+ platform = "backend";
17
+ else if (isWeb && !isBackend)
18
+ platform = "web";
9
19
  return {
10
20
  rawDescription: description,
11
21
  appName,
12
22
  title: isCrm ? "CRM Dashboard" : titleCase(appName),
13
23
  domain: isCrm ? "CRM" : "Business",
24
+ platform,
14
25
  modules: {
15
26
  auth: hasAuth || isCrm,
16
27
  users: hasAuth || hasRoles || isCrm,
@@ -27,7 +38,7 @@ export async function collectCreateAppDescription(args) {
27
38
  const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
28
39
  try {
29
40
  const idea = await rl.question("What do you want to build? ");
30
- const platform = await rl.question("Platform? (full-stack/web/backend) ");
41
+ const platform = await rl.question("Platform? (full-stack/web/backend/mobile) ");
31
42
  const auth = await rl.question("Auth and roles? (yes/no) ");
32
43
  const reports = await rl.question("Reports/dashboard? (yes/no) ");
33
44
  return [idea, platform, auth.includes("y") ? "with auth and roles" : "", reports.includes("y") ? "with reports dashboard" : ""].filter(Boolean).join(" ");
@@ -1 +1 @@
1
- {"version":3,"file":"app-inferrer.js","sourceRoot":"","sources":["../../../../src/cli/utils/app-inferrer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAerD,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3D,MAAM,KAAK,GAAG,kCAAkC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,yEAAyE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3G,MAAM,QAAQ,GAAG,iCAAiC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,+CAA+C,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEpG,OAAO;QACH,cAAc,EAAE,WAAW;QAC3B,OAAO;QACP,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;QACnD,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;QAClC,OAAO,EAAE;YACL,IAAI,EAAE,OAAO,IAAI,KAAK;YACtB,KAAK,EAAE,OAAO,IAAI,QAAQ,IAAI,KAAK;YACnC,KAAK,EAAE,QAAQ,IAAI,KAAK;YACxB,OAAO,EAAE,UAAU,IAAI,KAAK;SAC/B;KACJ,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,IAAc;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9J,CAAC;YAAS,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"app-inferrer.js","sourceRoot":"","sources":["../../../../src/cli/utils/app-inferrer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { AppSpec } from "./app-inferrer.js";
2
+ export declare function createMobileFiles(spec: AppSpec): void;
@@ -0,0 +1,106 @@
1
+ import path from "path";
2
+ import { createBaseTypeFiles } from "./app-types.js";
3
+ import { writeJsonFile, writeTextFile } from "./fs.js";
4
+ import { getConfiguredPaths } from "./memory.js";
5
+ const targetDir = process.cwd();
6
+ export function createMobileFiles(spec) {
7
+ const pathsMap = getConfiguredPaths();
8
+ // Defaulting mobile to apps/mobile if not configured
9
+ const mobileDir = pathsMap.mobile || "apps/mobile";
10
+ createBaseTypeFiles(path.join(targetDir, mobileDir, "src"));
11
+ writeJsonFile(path.join(targetDir, mobileDir, "package.json"), {
12
+ name: "@agent-enderun/mobile",
13
+ version: "0.1.0",
14
+ private: true,
15
+ scripts: {
16
+ "start": "expo start",
17
+ "android": "expo start --android",
18
+ "ios": "expo start --ios",
19
+ "web": "expo start --web"
20
+ },
21
+ dependencies: {
22
+ "expo": "~52.0.0",
23
+ "expo-status-bar": "~2.0.0",
24
+ "react": "18.3.1",
25
+ "react-native": "0.76.0",
26
+ "lucide-react-native": "^0.468.0"
27
+ },
28
+ devDependencies: {
29
+ "@babel/core": "^7.25.2",
30
+ "@types/react": "~18.3.12",
31
+ "typescript": "^5.3.3"
32
+ }
33
+ });
34
+ writeTextFile(path.join(targetDir, mobileDir, "App.tsx"), [
35
+ "import React from 'react';",
36
+ "import { StyleSheet, Text, View, SafeAreaView, ScrollView } from 'react-native';",
37
+ "import { StatusBar } from 'expo-status-bar';",
38
+ "import { BarChart3, Users, Shield } from 'lucide-react-native';",
39
+ "",
40
+ "export default function App() {",
41
+ " return (",
42
+ " <SafeAreaView style={styles.container}>",
43
+ " <StatusBar style=\"auto\" />",
44
+ " <View style={styles.header}>",
45
+ " <Text style={styles.subtitle}>{'" + spec.domain + "'}</Text>",
46
+ " <Text style={styles.title}>{'" + spec.title + "'}</Text>",
47
+ " </View>",
48
+ " <ScrollView style={styles.content}>",
49
+ " <View style={styles.metricRow}>",
50
+ " <View style={[styles.card, { borderLeftColor: '#49a078' }]}>",
51
+ " <BarChart3 color=\"#49a078\" size={20} />",
52
+ " <Text style={styles.cardLabel}>Pipeline</Text>",
53
+ " <Text style={styles.cardValue}>$261K</Text>",
54
+ " </View>",
55
+ " <View style={[styles.card, { borderLeftColor: '#3f7cac' }]}>",
56
+ " <Users color=\"#3f7cac\" size={20} />",
57
+ " <Text style={styles.cardLabel}>Customers</Text>",
58
+ " <Text style={styles.cardValue}>18</Text>",
59
+ " </View>",
60
+ " </View>",
61
+ " <View style={styles.panel}>",
62
+ " <Text style={styles.panelTitle}>Recent Activity</Text>",
63
+ " <View style={styles.row}>",
64
+ " <Text style={styles.rowText}>Northwind updated by Manager</Text>",
65
+ " </View>",
66
+ " <View style={styles.row}>",
67
+ " <Text style={styles.rowText}>Acme Corp status changed to Lead</Text>",
68
+ " </View>",
69
+ " </View>",
70
+ " </ScrollView>",
71
+ " </SafeAreaView>",
72
+ " );",
73
+ "}",
74
+ "",
75
+ "const styles = StyleSheet.create({",
76
+ " container: { flex: 1, backgroundColor: '#f4f7f6' },",
77
+ " header: { padding: 24, backgroundColor: '#fff', borderBottomWidth: 1, borderBottomColor: '#d9e3e0' },",
78
+ " subtitle: { fontSize: 14, color: '#58666a', marginBottom: 4 },",
79
+ " title: { fontSize: 28, fontWeight: '800', color: '#172026' },",
80
+ " content: { flex: 1, padding: 16 },",
81
+ " metricRow: { flexDirection: 'row', gap: 12, marginBottom: 16 },",
82
+ " card: { flex: 1, backgroundColor: '#fff', padding: 16, borderRadius: 12, borderLeftWidth: 4, elevation: 2, shadowColor: '#000', shadowOffset: { width: 0, height: 1 }, shadowOpacity: 0.1, shadowRadius: 2 },",
83
+ " cardLabel: { fontSize: 12, color: '#58666a', marginVertical: 4 },",
84
+ " cardValue: { fontSize: 20, fontWeight: '700', color: '#172026' },",
85
+ " panel: { backgroundColor: '#fff', padding: 16, borderRadius: 12, borderWidth: 1, borderColor: '#d9e3e0' },",
86
+ " panelTitle: { fontSize: 18, fontWeight: '700', color: '#172026', marginBottom: 12 },",
87
+ " row: { paddingVertical: 12, borderBottomWidth: 1, borderBottomColor: '#f0f4f3' },",
88
+ " rowText: { color: '#58666a' }",
89
+ "});"
90
+ ].join("\n"));
91
+ writeTextFile(path.join(targetDir, mobileDir, ".env.example"), [
92
+ "# Agent Enderun - Mobile Environment Variables",
93
+ "EXPO_PUBLIC_API_URL=http://localhost:4000/api/v1",
94
+ "EXPO_PUBLIC_APP_VARIANT=development",
95
+ ].join("\n"));
96
+ writeTextFile(path.join(targetDir, mobileDir, "README.md"), [
97
+ `# ${spec.title} Mobile`,
98
+ "",
99
+ "Expo / React Native app generated by Agent Enderun.",
100
+ "",
101
+ "## Commands",
102
+ "",
103
+ "- `npx expo start`",
104
+ ].join("\n"));
105
+ }
106
+ //# sourceMappingURL=app-mobile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-mobile.js","sourceRoot":"","sources":["../../../../src/cli/utils/app-mobile.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
- import { computeTypesHash, ensureDir, writeTextFile } from "./fs.js";
3
+ import { computeTypesHash, ensureDir, writeTextFile, writeJsonFile } from "./fs.js";
4
4
  import { getConfiguredPaths } from "./memory.js";
5
5
  import { UI } from "./ui.js";
6
6
  const targetDir = process.cwd();
@@ -61,7 +61,7 @@ export function updateContractHashFile() {
61
61
  const contract = JSON.parse(fs.readFileSync(contractPath, "utf8"));
62
62
  contract.contract_hash = currentHash;
63
63
  contract.last_updated = new Date().toISOString();
64
- fs.writeFileSync(contractPath, JSON.stringify(contract, null, 2));
64
+ writeJsonFile(contractPath, contract);
65
65
  }
66
66
  export function createBaseTypeFiles(baseDir) {
67
67
  const typesDir = path.join(baseDir, "types");
@@ -162,7 +162,8 @@ export interface AgentActionLog {
162
162
  details?: Record<string, unknown>;
163
163
  }
164
164
  `);
165
- writeTextFile(path.join(typesDir, "models.ts"), `import { UserID, TraceID, AgentID } from "./brands.js";
165
+ const modelsPath = path.join(typesDir, "models.ts");
166
+ const baseModelsContent = `import { UserID, TraceID, AgentID } from "./brands.js";
166
167
  import { ProjectPhase, ExecutionProfile, TaskPriority, TaskStatus } from "./constants.js";
167
168
 
168
169
  /**
@@ -227,7 +228,10 @@ export interface Task {
227
228
  createdAt: string;
228
229
  updatedAt: string;
229
230
  }
230
- `);
231
+ `;
232
+ // Append generated application contract types
233
+ const finalModelsContent = buildSharedTypesContent(baseModelsContent);
234
+ writeTextFile(modelsPath, finalModelsContent);
231
235
  UI.success(`Base types created in ${path.relative(targetDir, typesDir)}`);
232
236
  }
233
237
  //# sourceMappingURL=app-types.js.map