atabey 0.0.37 → 0.1.0-beta.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 (354) hide show
  1. package/PRIVACY.md +2 -2
  2. package/README.md +28 -31
  3. package/dist/atabey/src/cli/commands/api.d.ts +1 -0
  4. package/dist/atabey/src/cli/commands/api.js +90 -0
  5. package/dist/atabey/src/cli/commands/api.js.map +1 -0
  6. package/dist/atabey/src/cli/commands/audit.d.ts +5 -0
  7. package/dist/atabey/src/cli/commands/audit.js +33 -0
  8. package/dist/atabey/src/cli/commands/audit.js.map +1 -0
  9. package/dist/atabey/src/cli/commands/check.js +15 -6
  10. package/dist/atabey/src/cli/commands/check.js.map +1 -1
  11. package/dist/atabey/src/cli/commands/contract.js +51 -8
  12. package/dist/atabey/src/cli/commands/contract.js.map +1 -1
  13. package/dist/atabey/src/cli/commands/dashboard.js +101 -16
  14. package/dist/atabey/src/cli/commands/dashboard.js.map +1 -1
  15. package/dist/atabey/src/cli/commands/db.d.ts +1 -0
  16. package/dist/atabey/src/cli/commands/db.js +58 -0
  17. package/dist/atabey/src/cli/commands/db.js.map +1 -0
  18. package/dist/atabey/src/cli/commands/hitl.js +2 -1
  19. package/dist/atabey/src/cli/commands/hitl.js.map +1 -1
  20. package/dist/atabey/src/cli/commands/index-codebase.js +10 -0
  21. package/dist/atabey/src/cli/commands/index-codebase.js.map +1 -1
  22. package/dist/atabey/src/cli/commands/init/scaffold-app.js +82 -7
  23. package/dist/atabey/src/cli/commands/init/scaffold-app.js.map +1 -1
  24. package/dist/atabey/src/cli/commands/init/scaffold-core.js +3 -3
  25. package/dist/atabey/src/cli/commands/init/scaffold-core.js.map +1 -1
  26. package/dist/atabey/src/cli/commands/init/scaffold-docs.js +1 -1
  27. package/dist/atabey/src/cli/commands/init/scaffold-docs.js.map +1 -1
  28. package/dist/atabey/src/cli/commands/init/scaffold-ops.js +47 -7
  29. package/dist/atabey/src/cli/commands/init/scaffold-ops.js.map +1 -1
  30. package/dist/atabey/src/cli/commands/init/scaffold-standards.js +8 -15
  31. package/dist/atabey/src/cli/commands/init/scaffold-standards.js.map +1 -1
  32. package/dist/atabey/src/cli/commands/init.js +28 -62
  33. package/dist/atabey/src/cli/commands/init.js.map +1 -1
  34. package/dist/atabey/src/cli/commands/mcp.js +15 -10
  35. package/dist/atabey/src/cli/commands/mcp.js.map +1 -1
  36. package/dist/atabey/src/cli/commands/orchestrate.d.ts +2 -2
  37. package/dist/atabey/src/cli/commands/plan.d.ts +1 -1
  38. package/dist/atabey/src/cli/commands/plan.js +10 -0
  39. package/dist/atabey/src/cli/commands/plan.js.map +1 -1
  40. package/dist/atabey/src/cli/commands/quickstart.js +1 -1
  41. package/dist/atabey/src/cli/commands/quickstart.js.map +1 -1
  42. package/dist/atabey/src/cli/commands/script.js +4 -0
  43. package/dist/atabey/src/cli/commands/script.js.map +1 -1
  44. package/dist/atabey/src/cli/commands/secrets.d.ts +1 -0
  45. package/dist/atabey/src/cli/commands/secrets.js +146 -0
  46. package/dist/atabey/src/cli/commands/secrets.js.map +1 -0
  47. package/dist/atabey/src/cli/commands/worktree.d.ts +10 -0
  48. package/dist/atabey/src/cli/commands/worktree.js +90 -0
  49. package/dist/atabey/src/cli/commands/worktree.js.map +1 -0
  50. package/dist/atabey/src/cli/index.js +74 -10
  51. package/dist/atabey/src/cli/index.js.map +1 -1
  52. package/dist/atabey/src/cli/platforms/core.d.ts +0 -1
  53. package/dist/atabey/src/cli/platforms/core.js +0 -14
  54. package/dist/atabey/src/cli/platforms/core.js.map +1 -1
  55. package/dist/atabey/src/cli/platforms/index.d.ts +2 -2
  56. package/dist/atabey/src/cli/platforms/index.js +1 -1
  57. package/dist/atabey/src/cli/platforms/index.js.map +1 -1
  58. package/dist/atabey/src/cli/platforms/paths.d.ts +0 -2
  59. package/dist/atabey/src/cli/platforms/paths.js +1 -8
  60. package/dist/atabey/src/cli/platforms/paths.js.map +1 -1
  61. package/dist/atabey/src/cli/platforms/scaffold.js +1 -1
  62. package/dist/atabey/src/cli/platforms/scaffold.js.map +1 -1
  63. package/dist/atabey/src/cli/utils/claude.js +6 -0
  64. package/dist/atabey/src/cli/utils/claude.js.map +1 -1
  65. package/dist/atabey/src/cli/utils/compliance.d.ts +1 -1
  66. package/dist/atabey/src/cli/utils/compliance.js +33 -20
  67. package/dist/atabey/src/cli/utils/compliance.js.map +1 -1
  68. package/dist/atabey/src/cli/utils/fs.js +1 -1
  69. package/dist/atabey/src/cli/utils/fs.js.map +1 -1
  70. package/dist/atabey/src/cli/utils/i18n.js +2 -2
  71. package/dist/atabey/src/cli/utils/i18n.js.map +1 -1
  72. package/dist/atabey/src/cli/utils/memory.js +27 -16
  73. package/dist/atabey/src/cli/utils/memory.js.map +1 -1
  74. package/dist/atabey/src/cli/utils/pkg.js +5 -2
  75. package/dist/atabey/src/cli/utils/pkg.js.map +1 -1
  76. package/dist/atabey/src/cli/utils/quality.d.ts +1 -1
  77. package/dist/atabey/src/cli/utils/ui.d.ts +1 -1
  78. package/dist/atabey/src/cli/utils/ui.js +1 -1
  79. package/dist/atabey/src/modules/agents/definitions.d.ts +1 -1
  80. package/dist/atabey/src/modules/agents/definitions.js +13 -9
  81. package/dist/atabey/src/modules/agents/definitions.js.map +1 -1
  82. package/dist/atabey/src/modules/agents/registry/analyst.js +0 -2
  83. package/dist/atabey/src/modules/agents/registry/analyst.js.map +1 -1
  84. package/dist/atabey/src/modules/agents/registry/architect.js +0 -2
  85. package/dist/atabey/src/modules/agents/registry/architect.js.map +1 -1
  86. package/dist/atabey/src/modules/agents/registry/backend.js +0 -2
  87. package/dist/atabey/src/modules/agents/registry/backend.js.map +1 -1
  88. package/dist/atabey/src/modules/agents/registry/database.js +0 -2
  89. package/dist/atabey/src/modules/agents/registry/database.js.map +1 -1
  90. package/dist/atabey/src/modules/agents/registry/devops.js +0 -2
  91. package/dist/atabey/src/modules/agents/registry/devops.js.map +1 -1
  92. package/dist/atabey/src/modules/agents/registry/explorer.js +0 -2
  93. package/dist/atabey/src/modules/agents/registry/explorer.js.map +1 -1
  94. package/dist/atabey/src/modules/agents/registry/frontend.js +0 -2
  95. package/dist/atabey/src/modules/agents/registry/frontend.js.map +1 -1
  96. package/dist/atabey/src/modules/agents/registry/git.js +0 -2
  97. package/dist/atabey/src/modules/agents/registry/git.js.map +1 -1
  98. package/dist/atabey/src/modules/agents/registry/manager.js +0 -3
  99. package/dist/atabey/src/modules/agents/registry/manager.js.map +1 -1
  100. package/dist/atabey/src/modules/agents/registry/mobile.js +0 -2
  101. package/dist/atabey/src/modules/agents/registry/mobile.js.map +1 -1
  102. package/dist/atabey/src/modules/agents/registry/native.js +0 -2
  103. package/dist/atabey/src/modules/agents/registry/native.js.map +1 -1
  104. package/dist/atabey/src/modules/agents/registry/quality.js +3 -5
  105. package/dist/atabey/src/modules/agents/registry/quality.js.map +1 -1
  106. package/dist/atabey/src/modules/agents/registry/security.js +0 -2
  107. package/dist/atabey/src/modules/agents/registry/security.js.map +1 -1
  108. package/dist/atabey/src/modules/agents/types.d.ts +0 -1
  109. package/dist/atabey/src/modules/audit/export.d.ts +22 -0
  110. package/dist/atabey/src/modules/audit/export.js +58 -0
  111. package/dist/atabey/src/modules/audit/export.js.map +1 -0
  112. package/dist/atabey/src/modules/contracts/api.d.ts +2 -2
  113. package/dist/atabey/src/modules/engines/agent-executor.js +37 -0
  114. package/dist/atabey/src/modules/engines/agent-executor.js.map +1 -1
  115. package/dist/atabey/src/modules/engines/evaluation-engine.js +10 -0
  116. package/dist/atabey/src/modules/engines/evaluation-engine.js.map +1 -1
  117. package/dist/atabey/src/modules/engines/quality-gate.js +2 -2
  118. package/dist/atabey/src/modules/engines/quality-gate.js.map +1 -1
  119. package/dist/atabey/src/modules/engines/routing-engine.js +1 -1
  120. package/dist/atabey/src/modules/engines/routing-engine.js.map +1 -1
  121. package/dist/atabey/src/modules/memory/code-graph.d.ts +44 -0
  122. package/dist/atabey/src/modules/memory/code-graph.js +180 -0
  123. package/dist/atabey/src/modules/memory/code-graph.js.map +1 -0
  124. package/dist/atabey/src/modules/memory/context-assembler.d.ts +50 -0
  125. package/dist/atabey/src/modules/memory/context-assembler.js +146 -0
  126. package/dist/atabey/src/modules/memory/context-assembler.js.map +1 -0
  127. package/dist/atabey/src/modules/providers/definitions.js +65 -32
  128. package/dist/atabey/src/modules/providers/definitions.js.map +1 -1
  129. package/dist/atabey/src/modules/providers/shared.d.ts +1 -1
  130. package/dist/atabey/src/modules/providers/shared.js +34 -15
  131. package/dist/atabey/src/modules/providers/shared.js.map +1 -1
  132. package/dist/atabey/src/modules/providers/types.d.ts +0 -4
  133. package/dist/atabey/src/modules/runtime/adapters/headless-cli.d.ts +35 -0
  134. package/dist/atabey/src/modules/runtime/adapters/headless-cli.js +115 -0
  135. package/dist/atabey/src/modules/runtime/adapters/headless-cli.js.map +1 -0
  136. package/dist/atabey/src/modules/runtime/adapters/index.d.ts +2 -0
  137. package/dist/atabey/src/modules/runtime/adapters/index.js +3 -0
  138. package/dist/atabey/src/modules/runtime/adapters/index.js.map +1 -0
  139. package/dist/atabey/src/modules/runtime/adapters/types.d.ts +48 -0
  140. package/dist/atabey/src/modules/runtime/adapters/types.js +12 -0
  141. package/dist/atabey/src/modules/runtime/adapters/types.js.map +1 -0
  142. package/dist/atabey/src/modules/runtime/agent-runtime.d.ts +54 -0
  143. package/dist/atabey/src/modules/runtime/agent-runtime.js +203 -0
  144. package/dist/atabey/src/modules/runtime/agent-runtime.js.map +1 -0
  145. package/dist/atabey/src/modules/runtime/dispatcher.d.ts +75 -0
  146. package/dist/atabey/src/modules/runtime/dispatcher.js +255 -0
  147. package/dist/atabey/src/modules/runtime/dispatcher.js.map +1 -0
  148. package/dist/atabey/src/modules/runtime/evidence.d.ts +39 -0
  149. package/dist/atabey/src/modules/runtime/evidence.js +53 -0
  150. package/dist/atabey/src/modules/runtime/evidence.js.map +1 -0
  151. package/dist/atabey/src/modules/runtime/worktree.d.ts +44 -0
  152. package/dist/atabey/src/modules/runtime/worktree.js +259 -0
  153. package/dist/atabey/src/modules/runtime/worktree.js.map +1 -0
  154. package/dist/atabey/src/modules/skills/adapter-skills.d.ts +0 -29
  155. package/dist/atabey/src/modules/skills/adapter-skills.js +0 -61
  156. package/dist/atabey/src/modules/skills/adapter-skills.js.map +1 -1
  157. package/dist/atabey/src/modules/skills/definitions.d.ts +1 -1
  158. package/dist/atabey/src/modules/skills/definitions.js +8 -8
  159. package/dist/atabey/src/schema/agent-lifecycle.d.ts +36 -0
  160. package/dist/atabey/src/schema/agent-lifecycle.js +96 -0
  161. package/dist/atabey/src/schema/agent-lifecycle.js.map +1 -0
  162. package/dist/atabey-mcp/src/mcp/utils/ast-scan.d.ts +21 -0
  163. package/dist/atabey-mcp/src/mcp/utils/ast-scan.js +64 -0
  164. package/dist/atabey-mcp/src/mcp/utils/ast-scan.js.map +1 -0
  165. package/dist/atabey-mcp/src/mcp/utils/auth.d.ts +73 -0
  166. package/dist/atabey-mcp/src/mcp/utils/auth.js +316 -0
  167. package/dist/atabey-mcp/src/mcp/utils/auth.js.map +1 -0
  168. package/dist/atabey-mcp/src/mcp/utils/auto-rollback.d.ts +83 -0
  169. package/dist/atabey-mcp/src/mcp/utils/auto-rollback.js +418 -0
  170. package/dist/atabey-mcp/src/mcp/utils/auto-rollback.js.map +1 -0
  171. package/dist/atabey-mcp/src/mcp/utils/context-optimizer.d.ts +85 -0
  172. package/dist/atabey-mcp/src/mcp/utils/context-optimizer.js +296 -0
  173. package/dist/atabey-mcp/src/mcp/utils/context-optimizer.js.map +1 -0
  174. package/dist/atabey-mcp/src/mcp/utils/discipline.d.ts +72 -0
  175. package/dist/atabey-mcp/src/mcp/utils/discipline.js +385 -0
  176. package/dist/atabey-mcp/src/mcp/utils/discipline.js.map +1 -0
  177. package/dist/atabey-mcp/src/mcp/utils/finops.d.ts +81 -0
  178. package/dist/atabey-mcp/src/mcp/utils/finops.js +274 -0
  179. package/dist/atabey-mcp/src/mcp/utils/finops.js.map +1 -0
  180. package/dist/atabey-mcp/src/mcp/utils/loop-detector.d.ts +106 -0
  181. package/dist/atabey-mcp/src/mcp/utils/loop-detector.js +419 -0
  182. package/dist/atabey-mcp/src/mcp/utils/loop-detector.js.map +1 -0
  183. package/dist/atabey-mcp/src/mcp/utils/rules-engine.d.ts +80 -0
  184. package/dist/atabey-mcp/src/mcp/utils/rules-engine.js +296 -0
  185. package/dist/atabey-mcp/src/mcp/utils/rules-engine.js.map +1 -0
  186. package/dist/atabey-mcp/src/mcp/utils/telemetry-streamer.d.ts +133 -0
  187. package/dist/atabey-mcp/src/mcp/utils/telemetry-streamer.js +400 -0
  188. package/dist/atabey-mcp/src/mcp/utils/telemetry-streamer.js.map +1 -0
  189. package/dist/atabey-mcp/src/shared/logger.d.ts +1 -0
  190. package/dist/atabey-mcp/src/shared/logger.js +2 -0
  191. package/dist/atabey-mcp/src/shared/logger.js.map +1 -0
  192. package/dist/atabey-mcp/src/shared/pii.d.ts +1 -0
  193. package/dist/atabey-mcp/src/shared/pii.js +2 -0
  194. package/dist/atabey-mcp/src/shared/pii.js.map +1 -0
  195. package/dist/atabey-mcp/src/shared/storage.d.ts +2 -0
  196. package/dist/atabey-mcp/src/shared/storage.js +3 -0
  197. package/dist/atabey-mcp/src/shared/storage.js.map +1 -0
  198. package/dist/shared/src/agent-identity.d.ts +34 -0
  199. package/dist/shared/src/agent-identity.js +77 -0
  200. package/dist/shared/src/agent-identity.js.map +1 -0
  201. package/dist/shared/src/api-catalog.d.ts +57 -0
  202. package/dist/shared/src/api-catalog.js +254 -0
  203. package/dist/shared/src/api-catalog.js.map +1 -0
  204. package/dist/shared/src/audit-chain.d.ts +32 -3
  205. package/dist/shared/src/audit-chain.js +187 -10
  206. package/dist/shared/src/audit-chain.js.map +1 -1
  207. package/dist/shared/src/audit.d.ts +8 -0
  208. package/dist/shared/src/audit.js +44 -7
  209. package/dist/shared/src/audit.js.map +1 -1
  210. package/dist/shared/src/constants.d.ts +4 -3
  211. package/dist/shared/src/constants.js +11 -12
  212. package/dist/shared/src/constants.js.map +1 -1
  213. package/dist/shared/src/errors.d.ts +1 -1
  214. package/dist/shared/src/errors.js +1 -1
  215. package/dist/shared/src/file-lock.d.ts +5 -0
  216. package/dist/shared/src/file-lock.js +20 -31
  217. package/dist/shared/src/file-lock.js.map +1 -1
  218. package/dist/shared/src/index.d.ts +9 -0
  219. package/dist/shared/src/index.js +9 -0
  220. package/dist/shared/src/index.js.map +1 -1
  221. package/dist/shared/src/logger.d.ts +1 -0
  222. package/dist/shared/src/logger.js +33 -7
  223. package/dist/shared/src/logger.js.map +1 -1
  224. package/dist/shared/src/memory-prune.d.ts +18 -0
  225. package/dist/shared/src/memory-prune.js +48 -0
  226. package/dist/shared/src/memory-prune.js.map +1 -0
  227. package/dist/shared/src/migrations.d.ts +69 -0
  228. package/dist/shared/src/migrations.js +375 -0
  229. package/dist/shared/src/migrations.js.map +1 -0
  230. package/dist/shared/src/otel.d.ts +39 -0
  231. package/dist/shared/src/otel.js +93 -0
  232. package/dist/shared/src/otel.js.map +1 -0
  233. package/dist/shared/src/outbound-http.d.ts +32 -0
  234. package/dist/shared/src/outbound-http.js +88 -0
  235. package/dist/shared/src/outbound-http.js.map +1 -0
  236. package/dist/shared/src/pii.d.ts +1 -0
  237. package/dist/shared/src/pii.js +82 -26
  238. package/dist/shared/src/pii.js.map +1 -1
  239. package/dist/shared/src/policy-gate.js +27 -3
  240. package/dist/shared/src/policy-gate.js.map +1 -1
  241. package/dist/shared/src/retention.d.ts +6 -1
  242. package/dist/shared/src/retention.js +56 -9
  243. package/dist/shared/src/retention.js.map +1 -1
  244. package/dist/shared/src/sandbox-fs.d.ts +1 -1
  245. package/dist/shared/src/sandbox-fs.js +31 -38
  246. package/dist/shared/src/sandbox-fs.js.map +1 -1
  247. package/dist/shared/src/sandbox-runtime.d.ts +21 -28
  248. package/dist/shared/src/sandbox-runtime.js +124 -92
  249. package/dist/shared/src/sandbox-runtime.js.map +1 -1
  250. package/dist/shared/src/secrets.d.ts +99 -0
  251. package/dist/shared/src/secrets.js +371 -0
  252. package/dist/shared/src/secrets.js.map +1 -0
  253. package/dist/shared/src/storage.d.ts +67 -0
  254. package/dist/shared/src/storage.js +291 -11
  255. package/dist/shared/src/storage.js.map +1 -1
  256. package/dist/shared/src/time.js +6 -2
  257. package/dist/shared/src/time.js.map +1 -1
  258. package/dist/shared/src/tls.d.ts +87 -0
  259. package/dist/shared/src/tls.js +154 -0
  260. package/dist/shared/src/tls.js.map +1 -0
  261. package/dist/shared/src/tokenizer.d.ts +54 -0
  262. package/dist/shared/src/tokenizer.js +272 -0
  263. package/dist/shared/src/tokenizer.js.map +1 -0
  264. package/dist/shared/src/types.d.ts +1 -1
  265. package/dist/shared/src/types.js +1 -1
  266. package/dist/shared/src/worker-pool.js +19 -0
  267. package/dist/shared/src/worker-pool.js.map +1 -1
  268. package/package.json +4 -4
  269. package/templates/docs/tech-stack.md +21 -0
  270. package/templates/full/ATABEY_FULL.md +38 -49
  271. package/templates/prompts/security-audit-recipe.md +1 -1
  272. package/templates/standards/architecture-standards.md +1 -1
  273. package/templates/standards/crud-governance.md +1 -1
  274. package/templates/standards/deployment-standards.md +1 -1
  275. package/templates/standards/eslint-standards.md +10 -0
  276. package/templates/standards/frontend-standards.md +2 -2
  277. package/templates/standards/governance-standards.md +2 -2
  278. package/templates/standards/i18n-standards.md +1 -1
  279. package/templates/standards/logging-and-secrets.md +1 -1
  280. package/templates/standards/native-standards.md +1 -1
  281. package/templates/standards/quality-standards.md +1 -1
  282. package/templates/standards/security-audit-standards.md +1 -1
  283. package/templates/standards/security-standards.md +1 -1
  284. package/templates/standards/testing-standards.md +1 -1
  285. package/templates/standards/token-economy.md +27 -0
  286. package/dist/atabey/src/cli/commands/init/create-agent.d.ts +0 -4
  287. package/dist/atabey/src/cli/commands/init/create-agent.js +0 -59
  288. package/dist/atabey/src/cli/commands/init/create-agent.js.map +0 -1
  289. package/dist/atabey/src/cli/utils/config-schema.d.ts +0 -213
  290. package/dist/atabey/src/cli/utils/config-schema.js +0 -58
  291. package/dist/atabey/src/cli/utils/config-schema.js.map +0 -1
  292. package/dist/atabey/src/cli/utils/schemas.d.ts +0 -49
  293. package/dist/atabey/src/cli/utils/schemas.js +0 -20
  294. package/dist/atabey/src/cli/utils/schemas.js.map +0 -1
  295. package/dist/atabey/src/contracts/index.d.ts +0 -1
  296. package/dist/atabey/src/contracts/index.js +0 -2
  297. package/dist/atabey/src/contracts/index.js.map +0 -1
  298. package/dist/atabey/src/contracts/tasks.d.ts +0 -44
  299. package/dist/atabey/src/contracts/tasks.js +0 -21
  300. package/dist/atabey/src/contracts/tasks.js.map +0 -1
  301. package/dist/atabey/src/modules/contracts/index.d.ts +0 -5
  302. package/dist/atabey/src/modules/contracts/index.js +0 -6
  303. package/dist/atabey/src/modules/contracts/index.js.map +0 -1
  304. package/dist/atabey/src/modules/engines/contract-engine.d.ts +0 -46
  305. package/dist/atabey/src/modules/engines/contract-engine.js +0 -116
  306. package/dist/atabey/src/modules/engines/contract-engine.js.map +0 -1
  307. package/dist/atabey/src/modules/engines/discovery-engine.d.ts +0 -42
  308. package/dist/atabey/src/modules/engines/discovery-engine.js +0 -161
  309. package/dist/atabey/src/modules/engines/discovery-engine.js.map +0 -1
  310. package/dist/atabey/src/modules/engines/file-lock.d.ts +0 -56
  311. package/dist/atabey/src/modules/engines/file-lock.js +0 -171
  312. package/dist/atabey/src/modules/engines/file-lock.js.map +0 -1
  313. package/dist/atabey/src/modules/engines/phase-engine.d.ts +0 -82
  314. package/dist/atabey/src/modules/engines/phase-engine.js +0 -204
  315. package/dist/atabey/src/modules/engines/phase-engine.js.map +0 -1
  316. package/dist/atabey/src/modules/engines/policy-engine.d.ts +0 -63
  317. package/dist/atabey/src/modules/engines/policy-engine.js +0 -188
  318. package/dist/atabey/src/modules/engines/policy-engine.js.map +0 -1
  319. package/dist/atabey/src/modules/engines/sandbox.d.ts +0 -31
  320. package/dist/atabey/src/modules/engines/sandbox.js +0 -57
  321. package/dist/atabey/src/modules/engines/sandbox.js.map +0 -1
  322. package/dist/atabey/src/modules/engines/session-engine.d.ts +0 -68
  323. package/dist/atabey/src/modules/engines/session-engine.js +0 -141
  324. package/dist/atabey/src/modules/engines/session-engine.js.map +0 -1
  325. package/dist/atabey/src/modules/engines/worker-pool.d.ts +0 -8
  326. package/dist/atabey/src/modules/engines/worker-pool.js +0 -9
  327. package/dist/atabey/src/modules/engines/worker-pool.js.map +0 -1
  328. package/dist/atabey/src/modules/providers/llm-provider.d.ts +0 -87
  329. package/dist/atabey/src/modules/providers/llm-provider.js +0 -242
  330. package/dist/atabey/src/modules/providers/llm-provider.js.map +0 -1
  331. package/dist/atabey/src/shared/file-lock.d.ts +0 -1
  332. package/dist/atabey/src/shared/file-lock.js +0 -2
  333. package/dist/atabey/src/shared/file-lock.js.map +0 -1
  334. package/dist/atabey/src/shared/job-queue.d.ts +0 -1
  335. package/dist/atabey/src/shared/job-queue.js +0 -2
  336. package/dist/atabey/src/shared/job-queue.js.map +0 -1
  337. package/dist/atabey/src/shared/lock.d.ts +0 -1
  338. package/dist/atabey/src/shared/lock.js +0 -2
  339. package/dist/atabey/src/shared/lock.js.map +0 -1
  340. package/dist/atabey/src/shared/resilience.d.ts +0 -1
  341. package/dist/atabey/src/shared/resilience.js +0 -2
  342. package/dist/atabey/src/shared/resilience.js.map +0 -1
  343. package/dist/atabey/src/shared/retention.d.ts +0 -1
  344. package/dist/atabey/src/shared/retention.js +0 -2
  345. package/dist/atabey/src/shared/retention.js.map +0 -1
  346. package/dist/atabey/src/shared/sandbox-runtime.d.ts +0 -1
  347. package/dist/atabey/src/shared/sandbox-runtime.js +0 -2
  348. package/dist/atabey/src/shared/sandbox-runtime.js.map +0 -1
  349. package/dist/atabey/src/shared/sandbox.d.ts +0 -1
  350. package/dist/atabey/src/shared/sandbox.js +0 -2
  351. package/dist/atabey/src/shared/sandbox.js.map +0 -1
  352. package/dist/atabey/src/shared/worker-pool.d.ts +0 -1
  353. package/dist/atabey/src/shared/worker-pool.js +0 -2
  354. package/dist/atabey/src/shared/worker-pool.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import fs from "fs";
2
- import http from "http";
3
2
  import path from "path";
4
3
  import { fileURLToPath } from "url";
5
4
  import { WebSocket, WebSocketServer } from "ws";
5
+ import { assertTransportSecurity, createHttpOrHttpsServer, describeTls, resolveTlsConfig, tlsScheme, wsScheme } from "atabey-shared/tls.js";
6
6
  import { Audit } from "../../shared/audit.js";
7
7
  import { FRAMEWORK } from "../../shared/constants.js";
8
8
  import { appendFile } from "../../shared/fs.js";
@@ -10,8 +10,35 @@ import { Storage } from "../../shared/storage.js";
10
10
  import { asTraceID } from "../../shared/types.js";
11
11
  import { scanProjectCompliance } from "../utils/compliance.js";
12
12
  import { getFrameworkDir } from "../utils/memory.js";
13
+ import { getPackageRoot } from "../utils/pkg.js";
13
14
  import { analyzePathQuality } from "../utils/quality.js";
14
15
  import { UI } from "../utils/ui.js";
16
+ /**
17
+ * Resolve the dashboard version from the nearest package.json (walks up from
18
+ * the compiled file) instead of a hardcoded, drift-prone string.
19
+ */
20
+ function resolveDashboardVersion() {
21
+ try {
22
+ let dir = path.dirname(fileURLToPath(import.meta.url));
23
+ for (let i = 0; i < 8; i++) {
24
+ const candidate = path.join(dir, "package.json");
25
+ if (fs.existsSync(candidate)) {
26
+ const pkg = JSON.parse(fs.readFileSync(candidate, "utf8"));
27
+ if (pkg.version && (pkg.name === "atabey" || pkg.name === "atabey-mcp"))
28
+ return pkg.version;
29
+ }
30
+ const parent = path.dirname(dir);
31
+ if (parent === dir)
32
+ break;
33
+ dir = parent;
34
+ }
35
+ }
36
+ catch {
37
+ /* fall through */
38
+ }
39
+ return "0.0.0";
40
+ }
41
+ const DASHBOARD_VERSION = resolveDashboardVersion();
15
42
  /**
16
43
  * Serves a JSON response.
17
44
  */
@@ -106,16 +133,25 @@ function parseJsonBody(req, maxBytes = 2 * 1024 * 1024) {
106
133
  */
107
134
  export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
108
135
  const frameworkDir = getFrameworkDir();
109
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
110
- const projectRoot = path.resolve(__dirname, "../../../../");
136
+ const pkgRoot = getPackageRoot();
137
+ const projectRoot = process.cwd();
111
138
  const possibleUiDistPaths = [
112
- path.join(projectRoot, "atabey-mcp/dist/dashboard"),
113
- path.join(projectRoot, "atabey-mcp/dashboard/dist"),
114
- path.join(projectRoot, "packages/atabey-mcp/dist/dashboard"),
115
- path.join(projectRoot, "packages/atabey-mcp/dashboard/dist"),
139
+ path.join(pkgRoot, "../atabey-mcp/dashboard/dist"),
140
+ path.join(pkgRoot, "../atabey-mcp/dist/dashboard"),
141
+ path.join(pkgRoot, "../../packages/atabey-mcp/dashboard/dist"),
142
+ path.join(pkgRoot, "../../packages/atabey-mcp/dist/dashboard"),
143
+ path.join(process.cwd(), "packages/atabey-mcp/dashboard/dist"),
144
+ path.join(process.cwd(), "packages/atabey-mcp/dist/dashboard"),
145
+ path.join(process.cwd(), "atabey-mcp/dashboard/dist"),
146
+ path.join(process.cwd(), "atabey-mcp/dist/dashboard"),
147
+ path.join(process.cwd(), "node_modules/atabey-mcp/dashboard/dist"),
148
+ path.join(process.cwd(), "node_modules/atabey-mcp/dist/dashboard"),
149
+ path.join(pkgRoot, "node_modules/atabey-mcp/dashboard/dist"),
150
+ path.join(pkgRoot, "node_modules/atabey-mcp/dist/dashboard"),
116
151
  ];
117
- const uiDistPath = possibleUiDistPaths.find(p => fs.existsSync(p)) || possibleUiDistPaths[0];
118
- const server = http.createServer(async (req, res) => {
152
+ const uiDistPath = possibleUiDistPaths.find(p => fs.existsSync(path.join(p, "index.html"))) || possibleUiDistPaths[0];
153
+ const tls = resolveTlsConfig();
154
+ const server = createHttpOrHttpsServer(tls, async (req, res) => {
119
155
  // CORS & Cache Headers
120
156
  const origin = req.headers.origin;
121
157
  const isLocalOrigin = !origin ||
@@ -156,13 +192,16 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
156
192
  }
157
193
  }
158
194
  catch (e) {
159
- UI.warning(`[AUTH-WARNING] Auth module error: ${e.message}`);
195
+ // FAIL-CLOSED: if we cannot verify auth, deny rather than serve.
196
+ UI.warning(`[AUTH-WARNING] Auth module error: ${e.message}. Denying request (fail-closed).`);
197
+ serveJson(res, 500, { error: "Authentication subsystem unavailable; request denied." });
198
+ return;
160
199
  }
161
200
  }
162
201
  // ─── API Routes ────────────────────────────────────────────────
163
202
  // Health check
164
203
  if (pathname === "/api/health") {
165
- serveJson(res, 200, { status: "healthy", version: "0.0.6", frameworkDir });
204
+ serveJson(res, 200, { status: "healthy", version: DASHBOARD_VERSION, frameworkDir });
166
205
  return;
167
206
  }
168
207
  // System status
@@ -310,6 +349,41 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
310
349
  }
311
350
  return;
312
351
  }
352
+ // ─── FinOps API ────────────────────────────────────────────────
353
+ if (pathname === "/api/finops" && req.method === "GET") {
354
+ try {
355
+ const { FinOpsManager } = await import("atabey-mcp/utils/finops.js");
356
+ const state = FinOpsManager.getBudgetState();
357
+ serveJson(res, 200, { success: true, data: state });
358
+ }
359
+ catch (e) {
360
+ serveJson(res, 500, { success: false, error: e.message });
361
+ }
362
+ return;
363
+ }
364
+ if (pathname === "/api/finops/daily" && req.method === "GET") {
365
+ try {
366
+ const { FinOpsManager } = await import("atabey-mcp/utils/finops.js");
367
+ const days = parseInt(params.days || "7", 10) || 7;
368
+ const history = FinOpsManager.getDailyTokenHistory(days);
369
+ serveJson(res, 200, { success: true, data: history });
370
+ }
371
+ catch (e) {
372
+ serveJson(res, 500, { success: false, error: e.message });
373
+ }
374
+ return;
375
+ }
376
+ if (pathname === "/api/finops/reset" && req.method === "POST") {
377
+ try {
378
+ const { FinOpsManager } = await import("atabey-mcp/utils/finops.js");
379
+ FinOpsManager.resetBudgetPeriod();
380
+ serveJson(res, 200, { success: true, message: "Budget period reset successfully." });
381
+ }
382
+ catch (e) {
383
+ serveJson(res, 500, { success: false, error: e.message });
384
+ }
385
+ return;
386
+ }
313
387
  // ─── Approval API ──────────────────────────────────────────────
314
388
  if (pathname.startsWith("/api/approve/") && req.method === "POST") {
315
389
  const traceId = pathname.replace("/api/approve/", "");
@@ -694,10 +768,17 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
694
768
  return;
695
769
  }
696
770
  // ─── Static UI Serving ─────────────────────────────────────────
697
- let filePath = path.join(uiDistPath, pathname === "/" ? "index.html" : pathname);
771
+ // Confine served files to the UI dist directory (block ../ traversal).
772
+ const uiRoot = path.resolve(uiDistPath);
773
+ const requested = pathname === "/" ? "index.html" : decodeURIComponent(pathname).replace(/^\/+/, "");
774
+ let filePath = path.resolve(uiRoot, requested);
775
+ if (filePath !== uiRoot && !filePath.startsWith(uiRoot + path.sep)) {
776
+ serveJson(res, 403, { error: "Forbidden", message: "Path escapes the UI root" });
777
+ return;
778
+ }
698
779
  // Fallback to index.html for SPA routing if file not found
699
780
  if (!fs.existsSync(filePath) && !pathname.startsWith("/api")) {
700
- filePath = path.join(uiDistPath, "index.html");
781
+ filePath = path.join(uiRoot, "index.html");
701
782
  }
702
783
  if (fs.existsSync(filePath) && !fs.statSync(filePath).isDirectory()) {
703
784
  const ext = path.extname(filePath).toLowerCase();
@@ -779,11 +860,15 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
779
860
  }
780
861
  });
781
862
  const host = process.env.ATABEY_DASHBOARD_HOST || "127.0.0.1";
863
+ assertTransportSecurity(tls, host);
864
+ const scheme = tlsScheme(tls);
865
+ const wsProtocol = wsScheme(tls);
782
866
  server.listen(port, host, () => {
783
867
  UI.success("\n[START] Hermes Visual Control Plane is running!");
784
- UI.success(`[INFO] Web UI: http://${host}:${port}`);
785
- UI.success(`[DATA] API Base: http://${host}:${port}/api`);
786
- UI.success(`[WS] WebSocket: ws://${host}:${port}/ws`);
868
+ UI.success(`[INFO] Transport: ${describeTls(tls)}`);
869
+ UI.success(`[INFO] Web UI: ${scheme}://${host}:${port}`);
870
+ UI.success(`[DATA] API Base: ${scheme}://${host}:${port}/api`);
871
+ UI.success(`[WS] WebSocket: ${wsProtocol}://${host}:${port}/ws`);
787
872
  UI.success("[ENDPOINTS]");
788
873
  UI.success(" GET /api/health → System health check");
789
874
  UI.success(" GET /api/status → Agent statuses");
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../../../src/cli/commands/dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../../../src/cli/commands/dashboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function dbCommand(args: string[]): Promise<void>;
@@ -0,0 +1,58 @@
1
+ import { Storage } from "atabey-shared/storage.js";
2
+ import { runPendingMigrations } from "atabey-shared/migrations.js";
3
+ import { UI } from "../utils/ui.js";
4
+ export async function dbCommand(args) {
5
+ const sub = (args[0] || "status").toLowerCase();
6
+ if (sub === "status") {
7
+ const status = Storage.getMigrationStatus();
8
+ const integrity = Storage.verifyDatabaseIntegrity("quick");
9
+ UI.info(`SQLite Schema Version: v${status.currentVersion}`);
10
+ UI.info(`Integrity Check: ${integrity.ok ? "OK" : `FAILED (${integrity.messages.join("; ")})`}`);
11
+ UI.info(`Applied Migrations: ${status.applied.length}`);
12
+ for (const m of status.applied) {
13
+ process.stdout.write(` [v${m.version}] ${m.name} (${m.applied_at})\n`);
14
+ }
15
+ if (status.pending.length > 0) {
16
+ UI.warning(`Pending Migrations: ${status.pending.map((p) => `v${p.version}:${p.name}`).join(", ")}`);
17
+ }
18
+ return;
19
+ }
20
+ if (sub === "migrate") {
21
+ const db = Storage.getDB();
22
+ const res = runPendingMigrations(db);
23
+ UI.success(`Migrations complete. Applied: ${res.applied.length} (current schema v${res.currentVersion}).`);
24
+ return;
25
+ }
26
+ if (sub === "verify") {
27
+ const res = Storage.verifyDatabaseIntegrity("full");
28
+ if (res.ok) {
29
+ UI.success("Database full integrity check passed (0 foreign-key violations).");
30
+ }
31
+ else {
32
+ UI.error(`Database integrity check failed: ${res.messages.join("; ")} (FK violations: ${res.foreignKeyViolations})`);
33
+ process.exitCode = 1;
34
+ }
35
+ return;
36
+ }
37
+ if (sub === "backup") {
38
+ const dest = args[1];
39
+ const result = Storage.backup(dest);
40
+ UI.success(`Database backup written to: ${result.backupPath}`);
41
+ UI.info(`SHA-256: ${result.sha256} (${result.sizeBytes} bytes, schema v${result.schemaVersion})`);
42
+ return;
43
+ }
44
+ if (sub === "restore") {
45
+ const src = args[1];
46
+ if (!src) {
47
+ UI.error("Usage: atabey db restore <backup-file> [target-db-path]");
48
+ process.exitCode = 64;
49
+ return;
50
+ }
51
+ const restored = Storage.restore(src, args[2]);
52
+ UI.success(`Database restored to: ${restored.restoredPath}`);
53
+ UI.info(`Verified SHA-256: ${restored.sha256} (schema v${restored.schemaVersion})`);
54
+ return;
55
+ }
56
+ UI.error("Usage: atabey db <status|migrate|verify|backup|restore> [path]");
57
+ }
58
+ //# sourceMappingURL=db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../../../src/cli/commands/db.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,8 @@ export async function hitlStatusCommand() {
41
41
  const riskBadge = req.riskScore >= 75
42
42
  ? chalk.bgRed.white.bold(` ${req.riskLevel} (${req.riskScore}) `)
43
43
  : chalk.bgYellow.black(` ${req.riskLevel} (${req.riskScore}) `);
44
- process.stdout.write(`Trace ID: ${chalk.bold.cyan(req.traceId)} | Agent: ${chalk.green("@" + req.agent)} | Risk: ${riskBadge}\n`);
44
+ const displayAgent = req.agent.startsWith("@") ? req.agent : `@${req.agent}`;
45
+ process.stdout.write(`Trace ID: ${chalk.bold.cyan(req.traceId)} | Agent: ${chalk.green(displayAgent)} | Risk: ${riskBadge}\n`);
45
46
  process.stdout.write(`Tool: ${chalk.bold(req.toolName)}\n`);
46
47
  process.stdout.write(`Reason: ${chalk.white(req.reason)}\n`);
47
48
  process.stdout.write(`Created: ${chalk.gray(new Date(req.createdAt).toLocaleString())}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"hitl.js","sourceRoot":"","sources":["../../../../../src/cli/commands/hitl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hitl.js","sourceRoot":"","sources":["../../../../../src/cli/commands/hitl.ts"],"names":[],"mappings":"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"}
@@ -59,5 +59,15 @@ export async function indexCodebaseCommand(dirPath = process.cwd()) {
59
59
  catch (err) {
60
60
  UI.error(`Indexing failed: ${err.message}`);
61
61
  }
62
+ // Incremental symbol/file/import graph (CodeGraph) — the substrate for
63
+ // "assemble context without re-scanning the whole codebase".
64
+ try {
65
+ const { CodeGraph } = await import("../../modules/memory/code-graph.js");
66
+ const g = CodeGraph.index(dirPath);
67
+ UI.success(`Symbol graph: ${g.files} files, ${g.symbols} symbols, ${g.imports} imports (updated: ${g.updated}, removed: ${g.removed}).`);
68
+ }
69
+ catch (err) {
70
+ UI.warning(`Code graph indexing skipped: ${err.message}`);
71
+ }
62
72
  }
63
73
  //# sourceMappingURL=index-codebase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-codebase.js","sourceRoot":"","sources":["../../../../../src/cli/commands/index-codebase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-codebase.js","sourceRoot":"","sources":["../../../../../src/cli/commands/index-codebase.ts"],"names":[],"mappings":"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"}
@@ -169,14 +169,20 @@ function scaffoldNodeBackend(dir, opts, created, skipped) {
169
169
  include: ["src"],
170
170
  }, null, 2) + "\n");
171
171
  write(".gitignore", GITIGNORE_COMMON);
172
- write("src/index.ts", `import Fastify from "fastify";
172
+ write("src/app.ts", `import Fastify from "fastify";
173
173
  import { z } from "zod";
174
174
 
175
- const app = Fastify({ logger: true });
175
+ export const HealthSchema = z.object({ status: z.literal("ok") });
176
176
 
177
- const HealthSchema = z.object({ status: z.literal("ok") });
177
+ export function buildApp() {
178
+ const app = Fastify({ logger: false });
179
+ app.get("/health", async () => HealthSchema.parse({ status: "ok" }));
180
+ return app;
181
+ }
182
+ `);
183
+ write("src/index.ts", `import { buildApp } from "./app.js";
178
184
 
179
- app.get("/health", async () => HealthSchema.parse({ status: "ok" }));
185
+ const app = buildApp();
180
186
 
181
187
  const start = async () => {
182
188
  try {
@@ -188,6 +194,20 @@ const start = async () => {
188
194
  };
189
195
 
190
196
  start();
197
+ `);
198
+ ensureDir(path.join(dir, "tests"), opts.dryRun);
199
+ write("tests/health.test.ts", `import { describe, it, expect } from "vitest";
200
+ import { buildApp } from "../src/app.js";
201
+
202
+ describe("health endpoint", () => {
203
+ it("returns { status: 'ok' }", async () => {
204
+ const app = buildApp();
205
+ const res = await app.inject({ method: "GET", url: "/health" });
206
+ expect(res.statusCode).toBe(200);
207
+ expect(JSON.parse(res.body)).toEqual({ status: "ok" });
208
+ await app.close();
209
+ });
210
+ });
191
211
  `);
192
212
  }
193
213
  // ─── Backend: Go ────────────────────────────────────────────────────────────
@@ -372,7 +392,29 @@ function scaffoldViteFrontend(dir, opts, created, skipped) {
372
392
  type: "module",
373
393
  scripts: { dev: "vite", build: "tsc && vite build", preview: "vite preview" },
374
394
  dependencies: { react: "^18.3.1", "react-dom": "^18.3.1" },
375
- devDependencies: { "@vitejs/plugin-react": "^4.3.4", typescript: "^5.9.3", vite: "^6.0.0" },
395
+ devDependencies: {
396
+ "@types/react": "^18.3.12",
397
+ "@types/react-dom": "^18.3.1",
398
+ "@vitejs/plugin-react": "^4.3.4",
399
+ typescript: "^5.9.3",
400
+ vite: "^6.0.0",
401
+ },
402
+ }, null, 2) + "\n");
403
+ write("tsconfig.json", JSON.stringify({
404
+ compilerOptions: {
405
+ target: "ES2022",
406
+ lib: ["ES2022", "DOM", "DOM.Iterable"],
407
+ module: "ESNext",
408
+ moduleResolution: "bundler",
409
+ jsx: "react-jsx",
410
+ strict: true,
411
+ noEmit: true,
412
+ esModuleInterop: true,
413
+ skipLibCheck: true,
414
+ isolatedModules: true,
415
+ forceConsistentCasingInFileNames: true,
416
+ },
417
+ include: ["src"],
376
418
  }, null, 2) + "\n");
377
419
  write("vite.config.ts", `import { defineConfig } from "vite";
378
420
  import react from "@vitejs/plugin-react";
@@ -421,7 +463,31 @@ function scaffoldNextFrontend(dir, opts, created, skipped) {
421
463
  version: "0.1.0",
422
464
  scripts: { dev: "next dev", build: "next build", start: "next start" },
423
465
  dependencies: { next: "^15.0.0", react: "^18.3.1", "react-dom": "^18.3.1" },
424
- devDependencies: { typescript: "^5.9.3", "@types/node": "^22.15.3" },
466
+ devDependencies: {
467
+ typescript: "^5.9.3",
468
+ "@types/node": "^22.15.3",
469
+ "@types/react": "^18.3.12",
470
+ "@types/react-dom": "^18.3.1",
471
+ },
472
+ }, null, 2) + "\n");
473
+ write("tsconfig.json", JSON.stringify({
474
+ compilerOptions: {
475
+ target: "ES2022",
476
+ lib: ["ES2022", "DOM", "DOM.Iterable"],
477
+ module: "ESNext",
478
+ moduleResolution: "bundler",
479
+ jsx: "preserve",
480
+ strict: true,
481
+ noEmit: true,
482
+ esModuleInterop: true,
483
+ skipLibCheck: true,
484
+ isolatedModules: true,
485
+ allowJs: true,
486
+ incremental: true,
487
+ plugins: [{ name: "next" }],
488
+ },
489
+ include: ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
490
+ exclude: ["node_modules"],
425
491
  }, null, 2) + "\n");
426
492
  write("next.config.mjs", `/** @type {import('next').NextConfig} */
427
493
  const nextConfig = {};
@@ -475,8 +541,17 @@ function scaffoldReactNativeMobile(dir, opts, created, skipped) {
475
541
  main: "index.js",
476
542
  scripts: { start: "expo start", android: "expo start --android", ios: "expo start --ios" },
477
543
  dependencies: { expo: "~52.0.0", react: "18.3.1", "react-native": "0.76.0" },
478
- devDependencies: { typescript: "^5.9.3", "@types/react": "~18.3.12" },
544
+ devDependencies: { typescript: "^5.9.3", "@types/react": "~18.3.12", "@babel/core": "^7.25.0" },
479
545
  }, null, 2) + "\n");
546
+ write("tsconfig.json", JSON.stringify({
547
+ extends: "expo/tsconfig.base",
548
+ compilerOptions: { strict: true },
549
+ }, null, 2) + "\n");
550
+ write("babel.config.js", `module.exports = function (api) {
551
+ api.cache(true);
552
+ return { presets: ["babel-preset-expo"] };
553
+ };
554
+ `);
480
555
  write("app.json", JSON.stringify({
481
556
  expo: { name: opts.projectName, slug: opts.projectName, version: "0.1.0" },
482
557
  }, null, 2) + "\n");