mcoda 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/README.md +9 -300
  3. package/dist/bin/McodaEntrypoint.d.ts +5 -0
  4. package/dist/bin/McodaEntrypoint.d.ts.map +1 -0
  5. package/dist/bin/McodaEntrypoint.js +175 -0
  6. package/dist/commands/agents/AgentsCommands.d.ts +4 -0
  7. package/dist/commands/agents/AgentsCommands.d.ts.map +1 -0
  8. package/dist/commands/agents/AgentsCommands.js +376 -0
  9. package/dist/commands/agents/GatewayAgentCommand.d.ts +4 -0
  10. package/dist/commands/agents/GatewayAgentCommand.d.ts.map +1 -0
  11. package/dist/commands/agents/GatewayAgentCommand.js +583 -0
  12. package/dist/commands/agents/TestAgentCommand.d.ts +4 -0
  13. package/dist/commands/agents/TestAgentCommand.d.ts.map +1 -0
  14. package/dist/commands/agents/TestAgentCommand.js +57 -0
  15. package/dist/commands/backlog/BacklogCommands.d.ts +17 -0
  16. package/dist/commands/backlog/BacklogCommands.d.ts.map +1 -0
  17. package/dist/commands/backlog/BacklogCommands.js +260 -0
  18. package/dist/commands/backlog/OrderTasksCommand.d.ts +16 -0
  19. package/dist/commands/backlog/OrderTasksCommand.d.ts.map +1 -0
  20. package/dist/commands/backlog/OrderTasksCommand.js +211 -0
  21. package/dist/commands/backlog/TaskShowCommands.d.ts +16 -0
  22. package/dist/commands/backlog/TaskShowCommands.d.ts.map +1 -0
  23. package/dist/commands/backlog/TaskShowCommands.js +275 -0
  24. package/dist/commands/docs/DocsCommands.d.ts +37 -0
  25. package/dist/commands/docs/DocsCommands.d.ts.map +1 -0
  26. package/dist/commands/docs/DocsCommands.js +381 -0
  27. package/dist/commands/estimate/EstimateCommands.d.ts +24 -0
  28. package/dist/commands/estimate/EstimateCommands.d.ts.map +1 -0
  29. package/dist/commands/estimate/EstimateCommands.js +259 -0
  30. package/dist/commands/jobs/JobsCommands.d.ts +24 -0
  31. package/dist/commands/jobs/JobsCommands.d.ts.map +1 -0
  32. package/dist/commands/jobs/JobsCommands.js +535 -0
  33. package/dist/commands/openapi/OpenapiCommands.d.ts +14 -0
  34. package/dist/commands/openapi/OpenapiCommands.d.ts.map +1 -0
  35. package/dist/commands/openapi/OpenapiCommands.js +157 -0
  36. package/dist/commands/planning/CreateTasksCommand.d.ts +17 -0
  37. package/dist/commands/planning/CreateTasksCommand.d.ts.map +1 -0
  38. package/dist/commands/planning/CreateTasksCommand.js +134 -0
  39. package/dist/commands/planning/MigrateTasksCommand.d.ts +15 -0
  40. package/dist/commands/planning/MigrateTasksCommand.d.ts.map +1 -0
  41. package/dist/commands/planning/MigrateTasksCommand.js +95 -0
  42. package/dist/commands/planning/PlanningCommands.d.ts +3 -0
  43. package/dist/commands/planning/PlanningCommands.d.ts.map +1 -0
  44. package/dist/commands/planning/PlanningCommands.js +2 -0
  45. package/dist/commands/planning/QaTasksCommand.d.ts +30 -0
  46. package/dist/commands/planning/QaTasksCommand.d.ts.map +1 -0
  47. package/dist/commands/planning/QaTasksCommand.js +293 -0
  48. package/dist/commands/planning/RefineTasksCommand.d.ts +30 -0
  49. package/dist/commands/planning/RefineTasksCommand.d.ts.map +1 -0
  50. package/dist/commands/planning/RefineTasksCommand.js +365 -0
  51. package/dist/commands/review/CodeReviewCommand.d.ts +21 -0
  52. package/dist/commands/review/CodeReviewCommand.d.ts.map +1 -0
  53. package/dist/commands/review/CodeReviewCommand.js +236 -0
  54. package/dist/commands/routing/RoutingCommands.d.ts +7 -0
  55. package/dist/commands/routing/RoutingCommands.d.ts.map +1 -0
  56. package/dist/commands/routing/RoutingCommands.js +484 -0
  57. package/dist/commands/telemetry/TelemetryCommands.d.ts +26 -0
  58. package/dist/commands/telemetry/TelemetryCommands.d.ts.map +1 -0
  59. package/dist/commands/telemetry/TelemetryCommands.js +313 -0
  60. package/dist/commands/update/UpdateCommands.d.ts +4 -0
  61. package/dist/commands/update/UpdateCommands.d.ts.map +1 -0
  62. package/dist/commands/update/UpdateCommands.js +280 -0
  63. package/dist/commands/work/WorkOnTasksCommand.d.ts +21 -0
  64. package/dist/commands/work/WorkOnTasksCommand.d.ts.map +1 -0
  65. package/dist/commands/work/WorkOnTasksCommand.js +238 -0
  66. package/dist/commands/workspace/SetWorkspaceCommand.d.ts +9 -0
  67. package/dist/commands/workspace/SetWorkspaceCommand.d.ts.map +1 -0
  68. package/dist/commands/workspace/SetWorkspaceCommand.js +128 -0
  69. package/dist/index.d.ts +19 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/package.json +31 -16
  72. package/.editorconfig +0 -9
  73. package/.eslintrc.cjs +0 -12
  74. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -29
  75. package/.github/ISSUE_TEMPLATE/config.yml +0 -5
  76. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
  77. package/.github/workflows/ci.yml +0 -37
  78. package/.github/workflows/nightly.yml +0 -38
  79. package/.github/workflows/release-dry-run.yml +0 -40
  80. package/.github/workflows/release-please.yml +0 -22
  81. package/.github/workflows/release.yml +0 -139
  82. package/.prettierrc +0 -5
  83. package/.release-please-manifest.json +0 -8
  84. package/CLA.md +0 -42
  85. package/CONTRIBUTING.md +0 -38
  86. package/docs/oss_publishing_plan.md +0 -41
  87. package/docs/pdr/.gitkeep +0 -0
  88. package/docs/quality_gates.md +0 -32
  89. package/docs/rfp/.gitkeep +0 -0
  90. package/docs/sds/sds.md +0 -11963
  91. package/docs/usage.md +0 -72
  92. package/openapi/gen-openapi.ts +0 -1
  93. package/openapi/generated/clients/.gitkeep +0 -0
  94. package/openapi/generated/types/.gitkeep +0 -0
  95. package/openapi/generated/types/index.ts +0 -118
  96. package/openapi/mcoda.yaml +0 -2063
  97. package/pack-mcoda.sh +0 -88
  98. package/packages/agents/CHANGELOG.md +0 -7
  99. package/packages/agents/LICENSE +0 -21
  100. package/packages/agents/README.md +0 -9
  101. package/packages/agents/package.json +0 -41
  102. package/packages/agents/src/AgentService/.gitkeep +0 -0
  103. package/packages/agents/src/AgentService/AgentService.d.ts +0 -21
  104. package/packages/agents/src/AgentService/AgentService.d.ts.map +0 -1
  105. package/packages/agents/src/AgentService/AgentService.js +0 -141
  106. package/packages/agents/src/AgentService/AgentService.ts +0 -308
  107. package/packages/agents/src/__tests__/AgentService.test.ts +0 -284
  108. package/packages/agents/src/adapters/AdapterTypes.d.ts +0 -29
  109. package/packages/agents/src/adapters/AdapterTypes.d.ts.map +0 -1
  110. package/packages/agents/src/adapters/AdapterTypes.js +0 -1
  111. package/packages/agents/src/adapters/AdapterTypes.ts +0 -32
  112. package/packages/agents/src/adapters/codex/.gitkeep +0 -0
  113. package/packages/agents/src/adapters/codex/CodexAdapter.d.ts +0 -11
  114. package/packages/agents/src/adapters/codex/CodexAdapter.d.ts.map +0 -1
  115. package/packages/agents/src/adapters/codex/CodexAdapter.js +0 -43
  116. package/packages/agents/src/adapters/codex/CodexAdapter.ts +0 -63
  117. package/packages/agents/src/adapters/codex/CodexCliRunner.ts +0 -154
  118. package/packages/agents/src/adapters/gemini/.gitkeep +0 -0
  119. package/packages/agents/src/adapters/gemini/GeminiAdapter.d.ts +0 -11
  120. package/packages/agents/src/adapters/gemini/GeminiAdapter.d.ts.map +0 -1
  121. package/packages/agents/src/adapters/gemini/GeminiAdapter.js +0 -42
  122. package/packages/agents/src/adapters/gemini/GeminiAdapter.ts +0 -58
  123. package/packages/agents/src/adapters/gemini/GeminiCliRunner.ts +0 -75
  124. package/packages/agents/src/adapters/local/.gitkeep +0 -0
  125. package/packages/agents/src/adapters/local/LocalAdapter.d.ts +0 -11
  126. package/packages/agents/src/adapters/local/LocalAdapter.d.ts.map +0 -1
  127. package/packages/agents/src/adapters/local/LocalAdapter.js +0 -38
  128. package/packages/agents/src/adapters/local/LocalAdapter.ts +0 -43
  129. package/packages/agents/src/adapters/ollama/OllamaCliAdapter.ts +0 -58
  130. package/packages/agents/src/adapters/ollama/OllamaCliRunner.ts +0 -70
  131. package/packages/agents/src/adapters/ollama/OllamaRemoteAdapter.ts +0 -205
  132. package/packages/agents/src/adapters/openai/.gitkeep +0 -0
  133. package/packages/agents/src/adapters/openai/OpenAiAdapter.d.ts +0 -11
  134. package/packages/agents/src/adapters/openai/OpenAiAdapter.d.ts.map +0 -1
  135. package/packages/agents/src/adapters/openai/OpenAiAdapter.js +0 -51
  136. package/packages/agents/src/adapters/openai/OpenAiAdapter.ts +0 -56
  137. package/packages/agents/src/adapters/openai/OpenAiCliAdapter.ts +0 -62
  138. package/packages/agents/src/adapters/qa/.gitkeep +0 -0
  139. package/packages/agents/src/adapters/qa/QaAdapter.d.ts +0 -11
  140. package/packages/agents/src/adapters/qa/QaAdapter.d.ts.map +0 -1
  141. package/packages/agents/src/adapters/qa/QaAdapter.js +0 -37
  142. package/packages/agents/src/adapters/qa/QaAdapter.ts +0 -42
  143. package/packages/agents/src/adapters/zhipu/ZhipuApiAdapter.ts +0 -273
  144. package/packages/agents/src/index.d.ts +0 -8
  145. package/packages/agents/src/index.d.ts.map +0 -1
  146. package/packages/agents/src/index.js +0 -7
  147. package/packages/agents/src/index.ts +0 -11
  148. package/packages/agents/tsconfig.json +0 -14
  149. package/packages/cli/CHANGELOG.md +0 -7
  150. package/packages/cli/LICENSE +0 -21
  151. package/packages/cli/README.md +0 -23
  152. package/packages/cli/package.json +0 -61
  153. package/packages/cli/src/__tests__/AgentsCommands.test.ts +0 -137
  154. package/packages/cli/src/__tests__/BacklogCommands.test.ts +0 -40
  155. package/packages/cli/src/__tests__/CodeReviewCommand.test.ts +0 -594
  156. package/packages/cli/src/__tests__/CreateTasksCommand.test.ts +0 -40
  157. package/packages/cli/src/__tests__/DocsCommands.test.ts +0 -41
  158. package/packages/cli/src/__tests__/EstimateCommands.test.ts +0 -54
  159. package/packages/cli/src/__tests__/JobsCommands.behavior.test.ts +0 -311
  160. package/packages/cli/src/__tests__/JobsCommands.test.ts +0 -49
  161. package/packages/cli/src/__tests__/MigrateTasksCommand.test.ts +0 -36
  162. package/packages/cli/src/__tests__/OpenapiCommands.test.ts +0 -34
  163. package/packages/cli/src/__tests__/OrderTasksCommand.test.ts +0 -150
  164. package/packages/cli/src/__tests__/PlanningCommands.test.ts +0 -9
  165. package/packages/cli/src/__tests__/QaTasksCommand.test.ts +0 -58
  166. package/packages/cli/src/__tests__/RefineTasksCommand.test.ts +0 -63
  167. package/packages/cli/src/__tests__/RoutingCommands.test.ts +0 -302
  168. package/packages/cli/src/__tests__/SetWorkspaceCommand.test.ts +0 -18
  169. package/packages/cli/src/__tests__/TaskShowCommands.test.ts +0 -130
  170. package/packages/cli/src/__tests__/TelemetryCommands.test.ts +0 -35
  171. package/packages/cli/src/__tests__/TestAgentCommand.test.ts +0 -41
  172. package/packages/cli/src/__tests__/UpdateCommands.test.ts +0 -292
  173. package/packages/cli/src/__tests__/WorkOnTasksCommand.test.ts +0 -42
  174. package/packages/cli/src/bin/.gitkeep +0 -0
  175. package/packages/cli/src/bin/McodaEntrypoint.ts +0 -180
  176. package/packages/cli/src/commands/agents/.gitkeep +0 -0
  177. package/packages/cli/src/commands/agents/AgentsCommands.ts +0 -374
  178. package/packages/cli/src/commands/agents/GatewayAgentCommand.ts +0 -621
  179. package/packages/cli/src/commands/agents/TestAgentCommand.ts +0 -63
  180. package/packages/cli/src/commands/backlog/.gitkeep +0 -0
  181. package/packages/cli/src/commands/backlog/BacklogCommands.ts +0 -286
  182. package/packages/cli/src/commands/backlog/OrderTasksCommand.ts +0 -237
  183. package/packages/cli/src/commands/backlog/TaskShowCommands.ts +0 -289
  184. package/packages/cli/src/commands/docs/.gitkeep +0 -0
  185. package/packages/cli/src/commands/docs/DocsCommands.ts +0 -413
  186. package/packages/cli/src/commands/estimate/EstimateCommands.ts +0 -290
  187. package/packages/cli/src/commands/jobs/.gitkeep +0 -0
  188. package/packages/cli/src/commands/jobs/JobsCommands.ts +0 -595
  189. package/packages/cli/src/commands/openapi/OpenapiCommands.ts +0 -167
  190. package/packages/cli/src/commands/planning/.gitkeep +0 -0
  191. package/packages/cli/src/commands/planning/CreateTasksCommand.ts +0 -149
  192. package/packages/cli/src/commands/planning/MigrateTasksCommand.ts +0 -105
  193. package/packages/cli/src/commands/planning/PlanningCommands.ts +0 -1
  194. package/packages/cli/src/commands/planning/QaTasksCommand.ts +0 -320
  195. package/packages/cli/src/commands/planning/RefineTasksCommand.ts +0 -408
  196. package/packages/cli/src/commands/review/CodeReviewCommand.ts +0 -262
  197. package/packages/cli/src/commands/routing/.gitkeep +0 -0
  198. package/packages/cli/src/commands/routing/RoutingCommands.ts +0 -554
  199. package/packages/cli/src/commands/telemetry/.gitkeep +0 -0
  200. package/packages/cli/src/commands/telemetry/TelemetryCommands.ts +0 -348
  201. package/packages/cli/src/commands/update/.gitkeep +0 -0
  202. package/packages/cli/src/commands/update/UpdateCommands.ts +0 -301
  203. package/packages/cli/src/commands/work/WorkOnTasksCommand.ts +0 -264
  204. package/packages/cli/src/commands/workspace/SetWorkspaceCommand.ts +0 -132
  205. package/packages/cli/test/packaging_guardrails.test.js +0 -75
  206. package/packages/cli/tsconfig.json +0 -20
  207. package/packages/core/CHANGELOG.md +0 -7
  208. package/packages/core/LICENSE +0 -21
  209. package/packages/core/README.md +0 -9
  210. package/packages/core/package.json +0 -45
  211. package/packages/core/src/__tests__/SmokeClasses.test.ts +0 -32
  212. package/packages/core/src/api/AgentsApi.ts +0 -219
  213. package/packages/core/src/api/QaTasksApi.ts +0 -38
  214. package/packages/core/src/api/TasksApi.ts +0 -35
  215. package/packages/core/src/api/__tests__/AgentsApi.test.ts +0 -203
  216. package/packages/core/src/api/__tests__/QaTasksApi.test.ts +0 -51
  217. package/packages/core/src/api/__tests__/TasksApi.test.ts +0 -56
  218. package/packages/core/src/config/.gitkeep +0 -0
  219. package/packages/core/src/config/ConfigService.ts +0 -1
  220. package/packages/core/src/domain/dependencies/.gitkeep +0 -0
  221. package/packages/core/src/domain/dependencies/Dependency.ts +0 -1
  222. package/packages/core/src/domain/epics/.gitkeep +0 -0
  223. package/packages/core/src/domain/epics/Epic.ts +0 -1
  224. package/packages/core/src/domain/projects/.gitkeep +0 -0
  225. package/packages/core/src/domain/projects/Project.ts +0 -1
  226. package/packages/core/src/domain/tasks/.gitkeep +0 -0
  227. package/packages/core/src/domain/tasks/Task.ts +0 -1
  228. package/packages/core/src/domain/userStories/.gitkeep +0 -0
  229. package/packages/core/src/domain/userStories/UserStory.ts +0 -1
  230. package/packages/core/src/index.ts +0 -27
  231. package/packages/core/src/prompts/.gitkeep +0 -0
  232. package/packages/core/src/prompts/PdrPrompts.ts +0 -23
  233. package/packages/core/src/prompts/PromptLoader.ts +0 -1
  234. package/packages/core/src/prompts/SdsPrompts.ts +0 -47
  235. package/packages/core/src/services/agents/.gitkeep +0 -0
  236. package/packages/core/src/services/agents/AgentManagementService.ts +0 -1
  237. package/packages/core/src/services/agents/GatewayAgentService.ts +0 -956
  238. package/packages/core/src/services/agents/RoutingService.ts +0 -461
  239. package/packages/core/src/services/agents/__tests__/GatewayAgentService.test.ts +0 -72
  240. package/packages/core/src/services/agents/__tests__/RoutingService.test.ts +0 -267
  241. package/packages/core/src/services/agents/generated/RoutingApiClient.ts +0 -89
  242. package/packages/core/src/services/backlog/.gitkeep +0 -0
  243. package/packages/core/src/services/backlog/BacklogService.ts +0 -580
  244. package/packages/core/src/services/backlog/TaskOrderingService.ts +0 -868
  245. package/packages/core/src/services/backlog/__tests__/BacklogService.test.ts +0 -219
  246. package/packages/core/src/services/backlog/__tests__/TaskOrderingService.test.ts +0 -268
  247. package/packages/core/src/services/docs/.gitkeep +0 -0
  248. package/packages/core/src/services/docs/DocsService.ts +0 -1913
  249. package/packages/core/src/services/docs/__tests__/DocsService.test.ts +0 -350
  250. package/packages/core/src/services/estimate/EstimateService.ts +0 -111
  251. package/packages/core/src/services/estimate/VelocityService.ts +0 -272
  252. package/packages/core/src/services/estimate/__tests__/VelocityAndEstimate.test.ts +0 -209
  253. package/packages/core/src/services/estimate/types.ts +0 -41
  254. package/packages/core/src/services/execution/.gitkeep +0 -0
  255. package/packages/core/src/services/execution/ExecutionService.ts +0 -1
  256. package/packages/core/src/services/execution/QaFollowupService.ts +0 -289
  257. package/packages/core/src/services/execution/QaProfileService.ts +0 -160
  258. package/packages/core/src/services/execution/QaTasksService.ts +0 -1303
  259. package/packages/core/src/services/execution/TaskSelectionService.ts +0 -362
  260. package/packages/core/src/services/execution/TaskStateService.ts +0 -64
  261. package/packages/core/src/services/execution/WorkOnTasksService.ts +0 -2023
  262. package/packages/core/src/services/execution/__tests__/QaFollowupService.test.ts +0 -58
  263. package/packages/core/src/services/execution/__tests__/QaProfileService.test.ts +0 -49
  264. package/packages/core/src/services/execution/__tests__/QaTasksService.test.ts +0 -157
  265. package/packages/core/src/services/execution/__tests__/TaskSelectionService.test.ts +0 -179
  266. package/packages/core/src/services/execution/__tests__/TaskStateService.test.ts +0 -51
  267. package/packages/core/src/services/execution/__tests__/WorkOnTasksService.test.ts +0 -285
  268. package/packages/core/src/services/jobs/.gitkeep +0 -0
  269. package/packages/core/src/services/jobs/JobInsightsService.ts +0 -355
  270. package/packages/core/src/services/jobs/JobResumeService.ts +0 -119
  271. package/packages/core/src/services/jobs/JobService.ts +0 -648
  272. package/packages/core/src/services/jobs/JobsApiClient.ts +0 -113
  273. package/packages/core/src/services/jobs/__tests__/JobInsightsService.test.ts +0 -17
  274. package/packages/core/src/services/jobs/__tests__/JobResumeService.test.ts +0 -45
  275. package/packages/core/src/services/jobs/__tests__/JobService.test.ts +0 -44
  276. package/packages/core/src/services/openapi/OpenApiService.ts +0 -558
  277. package/packages/core/src/services/openapi/__tests__/OpenApiService.test.ts +0 -57
  278. package/packages/core/src/services/planning/.gitkeep +0 -0
  279. package/packages/core/src/services/planning/CreateTasksService.ts +0 -1280
  280. package/packages/core/src/services/planning/KeyHelpers.ts +0 -80
  281. package/packages/core/src/services/planning/PlanningService.ts +0 -1
  282. package/packages/core/src/services/planning/RefineTasksService.ts +0 -1552
  283. package/packages/core/src/services/planning/__tests__/CreateTasksService.test.ts +0 -288
  284. package/packages/core/src/services/planning/__tests__/KeyHelpers.test.ts +0 -16
  285. package/packages/core/src/services/planning/__tests__/RefineTasksService.test.ts +0 -172
  286. package/packages/core/src/services/review/CodeReviewService.ts +0 -1386
  287. package/packages/core/src/services/review/__tests__/CodeReviewService.test.ts +0 -89
  288. package/packages/core/src/services/system/SystemUpdateService.ts +0 -177
  289. package/packages/core/src/services/system/__tests__/SystemUpdateService.test.ts +0 -40
  290. package/packages/core/src/services/tasks/TaskApiResolver.ts +0 -37
  291. package/packages/core/src/services/tasks/TaskDetailService.ts +0 -494
  292. package/packages/core/src/services/tasks/__tests__/TaskApiResolver.test.ts +0 -41
  293. package/packages/core/src/services/tasks/__tests__/TaskDetailService.test.ts +0 -178
  294. package/packages/core/src/services/telemetry/.gitkeep +0 -0
  295. package/packages/core/src/services/telemetry/TelemetryService.ts +0 -515
  296. package/packages/core/src/services/telemetry/__tests__/TelemetryService.test.ts +0 -160
  297. package/packages/core/src/workspace/.gitkeep +0 -0
  298. package/packages/core/src/workspace/WorkspaceManager.ts +0 -234
  299. package/packages/core/tsconfig.json +0 -20
  300. package/packages/db/CHANGELOG.md +0 -7
  301. package/packages/db/LICENSE +0 -21
  302. package/packages/db/README.md +0 -9
  303. package/packages/db/package.json +0 -42
  304. package/packages/db/src/__tests__/GlobalRepository.test.ts +0 -109
  305. package/packages/db/src/__tests__/SchemaAlignment.test.ts +0 -80
  306. package/packages/db/src/__tests__/WorkspaceRepository.test.ts +0 -19
  307. package/packages/db/src/index.d.ts +0 -6
  308. package/packages/db/src/index.d.ts.map +0 -1
  309. package/packages/db/src/index.js +0 -5
  310. package/packages/db/src/index.ts +0 -6
  311. package/packages/db/src/migrations/global/.gitkeep +0 -0
  312. package/packages/db/src/migrations/global/GlobalMigrations.d.ts +0 -9
  313. package/packages/db/src/migrations/global/GlobalMigrations.d.ts.map +0 -1
  314. package/packages/db/src/migrations/global/GlobalMigrations.js +0 -68
  315. package/packages/db/src/migrations/global/GlobalMigrations.ts +0 -336
  316. package/packages/db/src/migrations/workspace/.gitkeep +0 -0
  317. package/packages/db/src/migrations/workspace/WorkspaceMigrations.d.ts +0 -9
  318. package/packages/db/src/migrations/workspace/WorkspaceMigrations.d.ts.map +0 -1
  319. package/packages/db/src/migrations/workspace/WorkspaceMigrations.js +0 -251
  320. package/packages/db/src/migrations/workspace/WorkspaceMigrations.ts +0 -248
  321. package/packages/db/src/repositories/global/.gitkeep +0 -0
  322. package/packages/db/src/repositories/global/GlobalRepository.d.ts +0 -30
  323. package/packages/db/src/repositories/global/GlobalRepository.d.ts.map +0 -1
  324. package/packages/db/src/repositories/global/GlobalRepository.js +0 -209
  325. package/packages/db/src/repositories/global/GlobalRepository.ts +0 -492
  326. package/packages/db/src/repositories/workspace/.gitkeep +0 -0
  327. package/packages/db/src/repositories/workspace/WorkspaceRepository.d.ts +0 -282
  328. package/packages/db/src/repositories/workspace/WorkspaceRepository.d.ts.map +0 -1
  329. package/packages/db/src/repositories/workspace/WorkspaceRepository.js +0 -773
  330. package/packages/db/src/repositories/workspace/WorkspaceRepository.ts +0 -1511
  331. package/packages/db/src/sqlite/connection.d.ts +0 -11
  332. package/packages/db/src/sqlite/connection.d.ts.map +0 -1
  333. package/packages/db/src/sqlite/connection.js +0 -31
  334. package/packages/db/src/sqlite/connection.ts +0 -35
  335. package/packages/db/src/sqlite/pragmas.d.ts +0 -5
  336. package/packages/db/src/sqlite/pragmas.d.ts.map +0 -1
  337. package/packages/db/src/sqlite/pragmas.js +0 -6
  338. package/packages/db/src/sqlite/pragmas.ts +0 -10
  339. package/packages/db/tsconfig.json +0 -13
  340. package/packages/generators/package.json +0 -21
  341. package/packages/generators/src/__tests__/Generators.test.ts +0 -19
  342. package/packages/generators/src/index.ts +0 -1
  343. package/packages/generators/src/openapi/generateTypes.ts +0 -1
  344. package/packages/generators/src/openapi/validateSchema.ts +0 -1
  345. package/packages/generators/src/scaffolding/docs/.gitkeep +0 -0
  346. package/packages/generators/src/scaffolding/docs/DocsScaffolder.ts +0 -1
  347. package/packages/generators/src/scaffolding/global/.gitkeep +0 -0
  348. package/packages/generators/src/scaffolding/global/GlobalScaffolder.ts +0 -1
  349. package/packages/generators/src/scaffolding/workspace/.gitkeep +0 -0
  350. package/packages/generators/src/scaffolding/workspace/WorkspaceScaffolder.ts +0 -1
  351. package/packages/generators/tsconfig.json +0 -10
  352. package/packages/integrations/CHANGELOG.md +0 -7
  353. package/packages/integrations/LICENSE +0 -21
  354. package/packages/integrations/README.md +0 -9
  355. package/packages/integrations/package.json +0 -47
  356. package/packages/integrations/src/docdex/.gitkeep +0 -0
  357. package/packages/integrations/src/docdex/DocdexClient.d.ts +0 -50
  358. package/packages/integrations/src/docdex/DocdexClient.d.ts.map +0 -1
  359. package/packages/integrations/src/docdex/DocdexClient.js +0 -216
  360. package/packages/integrations/src/docdex/DocdexClient.ts +0 -261
  361. package/packages/integrations/src/docdex/__tests__/DocdexClient.test.ts +0 -29
  362. package/packages/integrations/src/index.d.ts +0 -2
  363. package/packages/integrations/src/index.d.ts.map +0 -1
  364. package/packages/integrations/src/index.js +0 -4
  365. package/packages/integrations/src/index.ts +0 -5
  366. package/packages/integrations/src/issues/.gitkeep +0 -0
  367. package/packages/integrations/src/issues/IssuesClient.ts +0 -1
  368. package/packages/integrations/src/issues/__tests__/IssuesClient.test.ts +0 -10
  369. package/packages/integrations/src/qa/.gitkeep +0 -0
  370. package/packages/integrations/src/qa/ChromiumQaAdapter.ts +0 -89
  371. package/packages/integrations/src/qa/CliQaAdapter.ts +0 -95
  372. package/packages/integrations/src/qa/MaestroQaAdapter.ts +0 -91
  373. package/packages/integrations/src/qa/QaAdapter.ts +0 -7
  374. package/packages/integrations/src/qa/QaClient.ts +0 -1
  375. package/packages/integrations/src/qa/QaTypes.ts +0 -26
  376. package/packages/integrations/src/qa/__tests__/ChromiumQaAdapter.test.ts +0 -30
  377. package/packages/integrations/src/qa/__tests__/CliQaAdapter.test.ts +0 -33
  378. package/packages/integrations/src/qa/__tests__/MaestroQaAdapter.test.ts +0 -30
  379. package/packages/integrations/src/qa/index.ts +0 -5
  380. package/packages/integrations/src/system/SystemClient.ts +0 -50
  381. package/packages/integrations/src/system/__tests__/SystemClient.test.ts +0 -40
  382. package/packages/integrations/src/telemetry/TelemetryClient.ts +0 -139
  383. package/packages/integrations/src/telemetry/__tests__/TelemetryClient.test.ts +0 -41
  384. package/packages/integrations/src/vcs/.gitkeep +0 -0
  385. package/packages/integrations/src/vcs/VcsClient.ts +0 -211
  386. package/packages/integrations/src/vcs/__tests__/VcsClient.test.ts +0 -26
  387. package/packages/integrations/tsconfig.json +0 -14
  388. package/packages/shared/CHANGELOG.md +0 -7
  389. package/packages/shared/LICENSE +0 -21
  390. package/packages/shared/README.md +0 -9
  391. package/packages/shared/package.json +0 -40
  392. package/packages/shared/src/__tests__/CommandMetadata.test.ts +0 -15
  393. package/packages/shared/src/__tests__/ServiceShells.test.ts +0 -16
  394. package/packages/shared/src/crypto/.gitkeep +0 -0
  395. package/packages/shared/src/crypto/CryptoHelper.d.ts +0 -15
  396. package/packages/shared/src/crypto/CryptoHelper.d.ts.map +0 -1
  397. package/packages/shared/src/crypto/CryptoHelper.js +0 -54
  398. package/packages/shared/src/crypto/CryptoHelper.ts +0 -57
  399. package/packages/shared/src/errors/.gitkeep +0 -0
  400. package/packages/shared/src/errors/ErrorFactory.ts +0 -1
  401. package/packages/shared/src/index.d.ts +0 -6
  402. package/packages/shared/src/index.d.ts.map +0 -1
  403. package/packages/shared/src/index.js +0 -4
  404. package/packages/shared/src/index.ts +0 -35
  405. package/packages/shared/src/logging/.gitkeep +0 -0
  406. package/packages/shared/src/logging/Logger.ts +0 -1
  407. package/packages/shared/src/metadata/CommandMetadata.ts +0 -165
  408. package/packages/shared/src/openapi/.gitkeep +0 -0
  409. package/packages/shared/src/openapi/OpenApiTypes.d.ts +0 -216
  410. package/packages/shared/src/openapi/OpenApiTypes.d.ts.map +0 -1
  411. package/packages/shared/src/openapi/OpenApiTypes.js +0 -1
  412. package/packages/shared/src/openapi/OpenApiTypes.ts +0 -312
  413. package/packages/shared/src/paths/.gitkeep +0 -0
  414. package/packages/shared/src/paths/PathHelper.d.ts +0 -12
  415. package/packages/shared/src/paths/PathHelper.d.ts.map +0 -1
  416. package/packages/shared/src/paths/PathHelper.js +0 -24
  417. package/packages/shared/src/paths/PathHelper.ts +0 -29
  418. package/packages/shared/src/qa/QaProfile.ts +0 -14
  419. package/packages/shared/src/utils/.gitkeep +0 -0
  420. package/packages/shared/src/utils/UtilityService.ts +0 -1
  421. package/packages/shared/tsconfig.json +0 -10
  422. package/packages/testing/package.json +0 -26
  423. package/packages/testing/src/__tests__/TestingFakes.test.ts +0 -15
  424. package/packages/testing/src/cli/e2e/.gitkeep +0 -0
  425. package/packages/testing/src/cli/e2e/E2eSuite.ts +0 -1
  426. package/packages/testing/src/fakes/agents/.gitkeep +0 -0
  427. package/packages/testing/src/fakes/agents/FakeAgents.ts +0 -1
  428. package/packages/testing/src/fakes/docdex/.gitkeep +0 -0
  429. package/packages/testing/src/fakes/docdex/FakeDocdexClient.ts +0 -1
  430. package/packages/testing/src/fakes/qa/.gitkeep +0 -0
  431. package/packages/testing/src/fakes/qa/FakeQaClient.ts +0 -1
  432. package/packages/testing/src/fakes/vcs/.gitkeep +0 -0
  433. package/packages/testing/src/fakes/vcs/FakeVcsClient.ts +0 -1
  434. package/packages/testing/src/fixtures/db/.gitkeep +0 -0
  435. package/packages/testing/src/fixtures/db/DbFixtures.ts +0 -1
  436. package/packages/testing/src/fixtures/workspaces/.gitkeep +0 -0
  437. package/packages/testing/src/fixtures/workspaces/WorkspaceFixtures.ts +0 -1
  438. package/packages/testing/src/index.ts +0 -1
  439. package/packages/testing/tsconfig.json +0 -10
  440. package/pnpm-workspace.yaml +0 -2
  441. package/prompts/README.md +0 -5
  442. package/prompts/code-reviewer.md +0 -23
  443. package/prompts/code-writer.md +0 -35
  444. package/prompts/gateway-agent.md +0 -27
  445. package/prompts/qa-agent.md +0 -21
  446. package/release-please-config.json +0 -39
  447. package/scripts/build-all.ts +0 -1
  448. package/scripts/dev.ts +0 -1
  449. package/scripts/install-local-cli.sh +0 -28
  450. package/scripts/pack-npm-tarballs.js +0 -63
  451. package/scripts/release.ts +0 -1
  452. package/scripts/run-node-tests.js +0 -37
  453. package/tests/all.js +0 -127
  454. package/tests/api/openapi_spec.test.js +0 -21
  455. package/tests/artifacts.md +0 -31
  456. package/tests/component/cli_version.test.js +0 -38
  457. package/tests/integration/workspace_resolver.test.js +0 -44
  458. package/tests/unit/crypto_helper.test.js +0 -36
  459. package/tests/unit/path_helper.test.js +0 -20
  460. package/tsconfig.base.json +0 -32
  461. /package/{packages/cli/src/index.ts → dist/index.js} +0 -0
@@ -1,292 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import os from "node:os";
3
- import path from "node:path";
4
- import fs from "node:fs/promises";
5
- import { test } from "node:test";
6
- import { UpdateCommands } from "../commands/update/UpdateCommands.js";
7
- import { Connection } from "@mcoda/db";
8
- import { PathHelper } from "@mcoda/shared";
9
- import { SystemClient } from "@mcoda/integrations";
10
- import { SystemUpdateService } from "@mcoda/core";
11
-
12
- const withPatched = <T, K extends keyof T>(
13
- target: T,
14
- key: K,
15
- impl: T[K],
16
- fn: () => Promise<void> | void,
17
- ): Promise<void> => {
18
- const original = target[key];
19
- // @ts-ignore override for testing
20
- target[key] = impl;
21
- return (async () => {
22
- try {
23
- await fn();
24
- } finally {
25
- // @ts-ignore restore original
26
- target[key] = original;
27
- }
28
- })();
29
- };
30
-
31
- const captureLogs = async (fn: () => Promise<void> | void): Promise<string[]> => {
32
- const logs: string[] = [];
33
- const originalLog = console.log;
34
- // @ts-ignore override
35
- console.log = (...args: any[]) => {
36
- logs.push(args.join(" "));
37
- };
38
- try {
39
- await fn();
40
- } finally {
41
- // @ts-ignore restore
42
- console.log = originalLog;
43
- }
44
- return logs;
45
- };
46
-
47
- const withTempHome = async (fn: (home: string) => Promise<void>): Promise<void> => {
48
- const originalHome = process.env.HOME;
49
- const tempHome = await fs.mkdtemp(path.join(os.tmpdir(), "mcoda-update-"));
50
- process.env.HOME = tempHome;
51
- try {
52
- await fn(tempHome);
53
- } finally {
54
- process.env.HOME = originalHome;
55
- await fs.rm(tempHome, { recursive: true, force: true });
56
- }
57
- };
58
-
59
- const readCommandRuns = async (): Promise<Array<{ command_name: string; status: string; exit_code: number | null; error_summary: string | null }>> => {
60
- const dbPath = PathHelper.getGlobalDbPath();
61
- const conn = await Connection.open(dbPath);
62
- try {
63
- const rows = await conn.db.all(
64
- "SELECT command_name, status, exit_code, error_summary FROM command_runs ORDER BY started_at ASC",
65
- );
66
- return rows as any[];
67
- } finally {
68
- await conn.close();
69
- }
70
- };
71
-
72
- test("update --check writes releases.json and outputs json", async () => {
73
- await withTempHome(async (home) => {
74
- const originalExit = process.exitCode;
75
- process.exitCode = undefined;
76
- await withPatched(
77
- SystemClient.prototype as any,
78
- "checkUpdate",
79
- async () => ({
80
- currentVersion: "0.1.2",
81
- latestVersion: "0.2.0",
82
- channel: "stable",
83
- updateAvailable: true,
84
- notes: "Changelog",
85
- }),
86
- async () => {
87
- const logs = await captureLogs(async () => {
88
- await UpdateCommands.run(["--check", "--json"]);
89
- });
90
- const parsed = JSON.parse(logs.join("\n"));
91
- assert.equal(parsed.latestVersion, "0.2.0");
92
- assert.equal(parsed.updateAvailable, true);
93
- const releasesRaw = await fs.readFile(path.join(home, ".mcoda", "releases.json"), "utf8");
94
- const releases = JSON.parse(releasesRaw);
95
- assert.equal(releases.lastCheck.latestVersion, "0.2.0");
96
- assert.ok(releases.lastCheck.checkedAt);
97
- },
98
- );
99
- process.exitCode = originalExit;
100
- });
101
- });
102
-
103
- test("update apply succeeds and records state", async () => {
104
- await withTempHome(async (home) => {
105
- const originalExit = process.exitCode;
106
- process.exitCode = undefined;
107
- await withPatched(
108
- SystemClient.prototype as any,
109
- "checkUpdate",
110
- async () => ({
111
- currentVersion: "0.1.2",
112
- latestVersion: "0.3.0",
113
- channel: "stable",
114
- updateAvailable: true,
115
- }),
116
- async () => {
117
- await withPatched(
118
- SystemClient.prototype as any,
119
- "applyUpdate",
120
- async () => ({ status: "completed", logFile: "/tmp/log" }),
121
- async () => {
122
- await UpdateCommands.run(["--force"]);
123
- const releasesRaw = await fs.readFile(path.join(home, ".mcoda", "releases.json"), "utf8");
124
- const releases = JSON.parse(releasesRaw);
125
- assert.equal(releases.lastCheck.currentVersion, "0.3.0");
126
- assert.equal(releases.lastCheck.updateAvailable, false);
127
- assert.equal(process.exitCode ?? 0, 0);
128
- },
129
- );
130
- },
131
- );
132
- process.exitCode = originalExit;
133
- });
134
- });
135
-
136
- test("requires --force when CI is set", async () => {
137
- await withTempHome(async () => {
138
- const originalExit = process.exitCode;
139
- const originalCi = process.env.CI;
140
- process.exitCode = undefined;
141
- process.env.CI = "true";
142
- let applyCalled = 0;
143
- await withPatched(
144
- SystemClient.prototype as any,
145
- "checkUpdate",
146
- async () => ({
147
- currentVersion: "0.1.2",
148
- latestVersion: "0.3.0",
149
- channel: "stable",
150
- updateAvailable: true,
151
- }),
152
- async () => {
153
- await withPatched(
154
- SystemClient.prototype as any,
155
- "applyUpdate",
156
- async () => {
157
- applyCalled += 1;
158
- return { status: "completed" };
159
- },
160
- async () => {
161
- await UpdateCommands.run([]);
162
- assert.equal(applyCalled, 0);
163
- assert.equal(process.exitCode, 2);
164
- },
165
- );
166
- },
167
- );
168
- process.exitCode = originalExit;
169
- process.env.CI = originalCi;
170
- });
171
- });
172
-
173
- test("invalid channel yields usage error", async () => {
174
- await withTempHome(async () => {
175
- const originalExit = process.exitCode;
176
- process.exitCode = undefined;
177
- await UpdateCommands.run(["--channel", "bogus"]);
178
- assert.equal(process.exitCode, 1);
179
- process.exitCode = originalExit;
180
- });
181
- });
182
-
183
- test("writes command_runs row with exit code 4 on network failure", async () => {
184
- await withTempHome(async () => {
185
- const originalExit = process.exitCode;
186
- process.exitCode = undefined;
187
- await withPatched(
188
- SystemClient.prototype as any,
189
- "checkUpdate",
190
- async () => {
191
- throw new Error("network down");
192
- },
193
- async () => {
194
- await UpdateCommands.run(["--check"]);
195
- const runs = await readCommandRuns();
196
- assert.equal(runs.length, 1);
197
- assert.equal(runs[0].command_name, "update");
198
- assert.equal(runs[0].status, "failed");
199
- assert.equal(runs[0].exit_code, 4);
200
- assert.match(runs[0].error_summary ?? "", /network down/);
201
- assert.equal(process.exitCode, 4);
202
- },
203
- );
204
- process.exitCode = originalExit;
205
- });
206
- });
207
-
208
- test("writes command_runs row with exit code 6 on install failure", async () => {
209
- await withTempHome(async () => {
210
- const originalExit = process.exitCode;
211
- process.exitCode = undefined;
212
- await withPatched(
213
- SystemClient.prototype as any,
214
- "checkUpdate",
215
- async () => ({
216
- currentVersion: "0.1.2",
217
- latestVersion: "0.3.0",
218
- channel: "stable",
219
- updateAvailable: true,
220
- }),
221
- async () => {
222
- await withPatched(
223
- SystemClient.prototype as any,
224
- "applyUpdate",
225
- async () => {
226
- throw new Error("apply failed");
227
- },
228
- async () => {
229
- await withPatched(
230
- (SystemUpdateService.prototype as any) as { runNpmInstall: any },
231
- "runNpmInstall",
232
- async () => ({ code: 1 }),
233
- async () => {
234
- await UpdateCommands.run(["--force"]);
235
- const runs = await readCommandRuns();
236
- assert.equal(runs.length, 1);
237
- assert.equal(runs[0].status, "failed");
238
- assert.equal(runs[0].exit_code, 6);
239
- assert.match(runs[0].error_summary ?? "", /npm install exited with code 1/);
240
- assert.equal(process.exitCode, 6);
241
- },
242
- );
243
- },
244
- );
245
- },
246
- );
247
- process.exitCode = originalExit;
248
- });
249
- });
250
-
251
- test("falls back to npm on apply failure and succeeds", async () => {
252
- await withTempHome(async () => {
253
- const originalExit = process.exitCode;
254
- process.exitCode = undefined;
255
- await withPatched(
256
- SystemClient.prototype as any,
257
- "checkUpdate",
258
- async () => ({
259
- currentVersion: "0.1.2",
260
- latestVersion: "0.3.0",
261
- channel: "beta",
262
- updateAvailable: true,
263
- }),
264
- async () => {
265
- await withPatched(
266
- SystemClient.prototype as any,
267
- "applyUpdate",
268
- async () => {
269
- throw new Error("apply failed");
270
- },
271
- async () => {
272
- await withPatched(
273
- (SystemUpdateService.prototype as any) as { runNpmInstall: any },
274
- "runNpmInstall",
275
- async () => ({ code: 0 }),
276
- async () => {
277
- await UpdateCommands.run(["--force", "--channel", "beta"]);
278
- const runs = await readCommandRuns();
279
- assert.equal(runs.length, 1);
280
- assert.equal(runs[0].status, "succeeded");
281
- assert.equal(runs[0].exit_code, 0);
282
- assert.equal(runs[0].error_summary, null);
283
- assert.equal(process.exitCode ?? 0, 0);
284
- },
285
- );
286
- },
287
- );
288
- },
289
- );
290
- process.exitCode = originalExit;
291
- });
292
- });
@@ -1,42 +0,0 @@
1
- import { describe, it } from "node:test";
2
- import assert from "node:assert/strict";
3
- import path from "node:path";
4
- import { parseWorkOnTasksArgs } from "../commands/work/WorkOnTasksCommand.js";
5
-
6
- describe("work-on-tasks argument parsing", () => {
7
- it("applies defaults for booleans and statuses", () => {
8
- const parsed = parseWorkOnTasksArgs([]);
9
- assert.equal(parsed.agentStream, true);
10
- assert.equal(parsed.noCommit, false);
11
- assert.equal(parsed.dryRun, false);
12
- assert.deepEqual(parsed.statusFilter, ["not_started", "in_progress"]);
13
- });
14
-
15
- it("captures tasks and explicit statuses", () => {
16
- const parsed = parseWorkOnTasksArgs([
17
- "--task",
18
- "alpha",
19
- "--task=beta",
20
- "--status",
21
- "blocked,in_progress",
22
- ]);
23
- assert.deepEqual(parsed.taskKeys, ["alpha", "beta"]);
24
- assert.deepEqual(parsed.statusFilter, ["blocked", "in_progress"]);
25
- });
26
-
27
- it("parses numeric flags and agent stream overrides", () => {
28
- const parsed = parseWorkOnTasksArgs(["--agent-stream=false", "--limit", "5", "--parallel", "2", "--no-commit", "--dry-run"]);
29
- assert.equal(parsed.agentStream, false);
30
- assert.equal(parsed.limit, 5);
31
- assert.equal(parsed.parallel, 2);
32
- assert.equal(parsed.noCommit, true);
33
- assert.equal(parsed.dryRun, true);
34
- });
35
-
36
- it("accepts workspace alias flags", () => {
37
- const root = path.resolve("/tmp/demo");
38
- const parsed = parseWorkOnTasksArgs(["--workspace-root", root, "--project", "proj"]);
39
- assert.equal(parsed.workspaceRoot, root);
40
- assert.equal(parsed.projectKey, "proj");
41
- });
42
- });
File without changes
@@ -1,180 +0,0 @@
1
- #!/usr/bin/env node
2
- import { realpathSync } from "node:fs";
3
- import { fileURLToPath } from "node:url";
4
- import packageJson from "../../package.json" with { type: "json" };
5
- import { AgentsCommands } from "../commands/agents/AgentsCommands.js";
6
- import { GatewayAgentCommand } from "../commands/agents/GatewayAgentCommand.js";
7
- import { DocsCommands } from "../commands/docs/DocsCommands.js";
8
- import { JobsCommands } from "../commands/jobs/JobsCommands.js";
9
- import { OpenapiCommands } from "../commands/openapi/OpenapiCommands.js";
10
- import { CreateTasksCommand } from "../commands/planning/CreateTasksCommand.js";
11
- import { RefineTasksCommand } from "../commands/planning/RefineTasksCommand.js";
12
- import { BacklogCommands } from "../commands/backlog/BacklogCommands.js";
13
- import { TaskShowCommands } from "../commands/backlog/TaskShowCommands.js";
14
- import { OrderTasksCommand } from "../commands/backlog/OrderTasksCommand.js";
15
- import { EstimateCommands } from "../commands/estimate/EstimateCommands.js";
16
- import { TelemetryCommands } from "../commands/telemetry/TelemetryCommands.js";
17
- import { WorkOnTasksCommand } from "../commands/work/WorkOnTasksCommand.js";
18
- import { CodeReviewCommand } from "../commands/review/CodeReviewCommand.js";
19
- import { QaTasksCommand } from "../commands/planning/QaTasksCommand.js";
20
- import { MigrateTasksCommand } from "../commands/planning/MigrateTasksCommand.js";
21
- import { UpdateCommands } from "../commands/update/UpdateCommands.js";
22
- import { RoutingCommands } from "../commands/routing/RoutingCommands.js";
23
- import { TestAgentCommand } from "../commands/agents/TestAgentCommand.js";
24
- import { SetWorkspaceCommand } from "../commands/workspace/SetWorkspaceCommand.js";
25
-
26
- export class McodaEntrypoint {
27
- static async run(argv: string[] = process.argv.slice(2)): Promise<void> {
28
- const [command, ...rest] = argv;
29
- const wantsJson = argv.some((arg) => arg === "--json" || arg.startsWith("--json="));
30
- const wantsQuiet = argv.some((arg) => arg === "--quiet" || arg.startsWith("--quiet="));
31
- if (wantsJson || wantsQuiet) {
32
- process.env.MCODA_STREAM_IO = "0";
33
- } else if (process.env.MCODA_STREAM_IO === undefined) {
34
- process.env.MCODA_STREAM_IO = "1";
35
- }
36
- if (command === "--version" || command === "-v" || command === "version") {
37
- // Keep this simple so `mcoda --version` works even in thin installs.
38
- // eslint-disable-next-line no-console
39
- console.log((packageJson as { version?: string }).version ?? "dev");
40
- return;
41
- }
42
- if (!command) {
43
- throw new Error(
44
- "Usage: mcoda <agent|gateway-agent|routing|docs|openapi|job|jobs|tokens|telemetry|create-tasks|migrate-tasks|refine-tasks|order-tasks|tasks|work-on-tasks|code-review|qa-tasks|backlog|task|task-detail|estimate|update|set-workspace|pdr|sds> [...args]\n" +
45
- "Routing: use `mcoda routing defaults` to view/update workspace/global defaults, `mcoda routing preview|explain` to inspect agent selection/provenance (override → workspace_default → global_default).\n" +
46
- "Aliases: `tasks order-by-deps` forwards to `order-tasks` (dependency-aware ordering), `task`/`task-detail` show a single task.\n" +
47
- "Job commands (mcoda job --help for details): list|status|watch|logs|inspect|resume|cancel|tokens\n" +
48
- "Jobs API required for job commands (set MCODA_API_BASE_URL/MCODA_JOBS_API_URL or workspace api.baseUrl). status/watch/logs exit non-zero on failed/cancelled jobs per SDS.",
49
- );
50
- }
51
- if (command === "agent") {
52
- await AgentsCommands.run(rest);
53
- return;
54
- }
55
- if (command === "gateway-agent") {
56
- await GatewayAgentCommand.run(rest);
57
- return;
58
- }
59
- if (command === "test-agent") {
60
- await TestAgentCommand.run(rest);
61
- return;
62
- }
63
- if (command === "routing") {
64
- await RoutingCommands.run(rest);
65
- return;
66
- }
67
- if (command === "docs") {
68
- await DocsCommands.run(rest);
69
- return;
70
- }
71
- if (command === "openapi-from-docs" || command === "openapi") {
72
- await OpenapiCommands.run(rest);
73
- return;
74
- }
75
- if (command === "job" || command === "jobs") {
76
- await JobsCommands.run(rest);
77
- return;
78
- }
79
- if (command === "tokens") {
80
- await TelemetryCommands.runTokens(rest);
81
- return;
82
- }
83
- if (command === "telemetry") {
84
- await TelemetryCommands.runTelemetry(rest);
85
- return;
86
- }
87
- if (command === "pdr" || command === "mcoda:pdr") {
88
- await DocsCommands.run(["pdr", "generate", ...rest]);
89
- return;
90
- }
91
- if (command === "sds" || command === "mcoda:sds") {
92
- await DocsCommands.run(["sds", "generate", ...rest]);
93
- return;
94
- }
95
- if (command === "create-tasks") {
96
- await CreateTasksCommand.run(rest);
97
- return;
98
- }
99
- if (command === "migrate-tasks") {
100
- await MigrateTasksCommand.run(rest);
101
- return;
102
- }
103
- if (command === "refine-tasks") {
104
- await RefineTasksCommand.run(rest);
105
- return;
106
- }
107
- if (command === "qa-tasks") {
108
- if (rest.includes("--help") || rest.includes("-h")) {
109
- // eslint-disable-next-line no-console
110
- console.log(
111
- "Usage: mcoda qa-tasks [--workspace-root <path>] --project <PROJECT_KEY> [--task <TASK_KEY> ... | --epic <EPIC_KEY> | --story <STORY_KEY>] [--status <STATUS_FILTER>] [--mode auto|manual] [--profile <PROFILE_NAME>] [--level unit|integration|acceptance] [--test-command \"<CMD>\"] [--agent <NAME>] [--agent-stream true|false] [--resume <JOB_ID>] [--create-followup-tasks auto|none|prompt] [--result pass|fail|blocked] [--notes \"<text>\"] [--evidence-url \"<url>\"] [--dry-run] [--json]",
112
- );
113
- return;
114
- }
115
- await QaTasksCommand.run(rest);
116
- return;
117
- }
118
- if (command === "order-tasks") {
119
- await OrderTasksCommand.run(rest);
120
- return;
121
- }
122
- if (command === "tasks") {
123
- const [sub, ...tail] = rest;
124
- if (sub === "order-by-deps" || sub === "order-by-dependencies") {
125
- await OrderTasksCommand.run(tail);
126
- return;
127
- }
128
- }
129
- if (command === "work-on-tasks") {
130
- await WorkOnTasksCommand.run(rest);
131
- return;
132
- }
133
- if (command === "code-review") {
134
- await CodeReviewCommand.run(rest);
135
- return;
136
- }
137
- if (command === "backlog") {
138
- await BacklogCommands.run(rest);
139
- return;
140
- }
141
- if (command === "task" || command === "task-detail") {
142
- await TaskShowCommands.run(rest);
143
- return;
144
- }
145
- if (command === "estimate") {
146
- await EstimateCommands.run(rest);
147
- return;
148
- }
149
- if (command === "update") {
150
- await UpdateCommands.run(rest);
151
- return;
152
- }
153
- if (command === "set-workspace") {
154
- await SetWorkspaceCommand.run(rest);
155
- return;
156
- }
157
- throw new Error(`Unknown command: ${command}`);
158
- }
159
- }
160
-
161
- const isDirectRun = (() => {
162
- if (typeof process.argv[1] !== "string") {
163
- return false;
164
- }
165
- try {
166
- const invokedPath = realpathSync(process.argv[1]);
167
- const modulePath = realpathSync(fileURLToPath(import.meta.url));
168
- return invokedPath === modulePath;
169
- } catch {
170
- return false;
171
- }
172
- })();
173
-
174
- if (isDirectRun) {
175
- McodaEntrypoint.run().catch((error) => {
176
- // eslint-disable-next-line no-console
177
- console.error(error instanceof Error ? error.message : error);
178
- process.exitCode = 1;
179
- });
180
- }
File without changes