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,56 +0,0 @@
1
- import { AgentHealth } from "@mcoda/shared";
2
- import { AdapterConfig, AgentAdapter, InvocationRequest, InvocationResult } from "../AdapterTypes.js";
3
-
4
- export class OpenAiAdapter implements AgentAdapter {
5
- constructor(private config: AdapterConfig) {}
6
-
7
- async getCapabilities(): Promise<string[]> {
8
- return this.config.capabilities;
9
- }
10
-
11
- async healthCheck(): Promise<AgentHealth> {
12
- if (!this.config.apiKey) {
13
- return {
14
- agentId: this.config.agent.id,
15
- status: "unreachable",
16
- lastCheckedAt: new Date().toISOString(),
17
- details: { reason: "missing_api_key" },
18
- };
19
- }
20
- return {
21
- agentId: this.config.agent.id,
22
- status: "healthy",
23
- lastCheckedAt: new Date().toISOString(),
24
- latencyMs: 0,
25
- details: { adapter: "openai-api", model: this.config.model },
26
- };
27
- }
28
-
29
- async invoke(request: InvocationRequest): Promise<InvocationResult> {
30
- const authMode = this.config.apiKey ? "api" : "none";
31
- return {
32
- output: `openai-stub:${request.input}`,
33
- adapter: this.config.adapter ?? "openai-api",
34
- model: this.config.model,
35
- metadata: {
36
- mode: authMode,
37
- capabilities: this.config.capabilities,
38
- prompts: this.config.prompts,
39
- authMode,
40
- adapterType: this.config.adapter ?? "openai-api",
41
- },
42
- };
43
- }
44
-
45
- async *invokeStream(request: InvocationRequest): AsyncGenerator<InvocationResult, void, unknown> {
46
- yield {
47
- output: `openai-stream:${request.input}`,
48
- adapter: this.config.adapter ?? "openai-api",
49
- model: this.config.model,
50
- metadata: {
51
- mode: this.config.apiKey ? "api" : "none",
52
- streaming: true,
53
- },
54
- };
55
- }
56
- }
@@ -1,62 +0,0 @@
1
- import { AgentHealth } from "@mcoda/shared";
2
- import { AdapterConfig, AgentAdapter, InvocationRequest, InvocationResult } from "../AdapterTypes.js";
3
- import { cliHealthy as codexCliHealthy, runCodexExec, runCodexExecStream } from "../codex/CodexCliRunner.js";
4
-
5
- export class OpenAiCliAdapter implements AgentAdapter {
6
- constructor(private config: AdapterConfig) {}
7
-
8
- async getCapabilities(): Promise<string[]> {
9
- return this.config.capabilities;
10
- }
11
-
12
- async healthCheck(): Promise<AgentHealth> {
13
- const started = Date.now();
14
- const result = codexCliHealthy();
15
- return {
16
- agentId: this.config.agent.id,
17
- status: result.ok ? "healthy" : "unreachable",
18
- lastCheckedAt: new Date().toISOString(),
19
- latencyMs: Date.now() - started,
20
- details: { adapter: "codex-cli", ...result.details },
21
- };
22
- }
23
-
24
- async invoke(request: InvocationRequest): Promise<InvocationResult> {
25
- const cliDetails = codexCliHealthy(true);
26
- const result = runCodexExec(request.input, this.config.model);
27
- return {
28
- output: result.output,
29
- adapter: this.config.adapter ?? "codex-cli",
30
- model: this.config.model,
31
- metadata: {
32
- mode: "cli",
33
- capabilities: this.config.capabilities,
34
- prompts: this.config.prompts,
35
- adapterType: this.config.adapter ?? "codex-cli",
36
- cli: cliDetails.details,
37
- raw: result.raw,
38
- },
39
- };
40
- }
41
-
42
- async *invokeStream(request: InvocationRequest): AsyncGenerator<InvocationResult, void, unknown> {
43
- const health = codexCliHealthy(true);
44
- const cliDetails = health.details;
45
- for await (const chunk of runCodexExecStream(request.input, this.config.model)) {
46
- yield {
47
- output: chunk.output,
48
- adapter: this.config.adapter ?? "codex-cli",
49
- model: this.config.model,
50
- metadata: {
51
- mode: "cli",
52
- capabilities: this.config.capabilities,
53
- prompts: this.config.prompts,
54
- adapterType: this.config.adapter ?? "codex-cli",
55
- cli: cliDetails,
56
- raw: chunk.raw,
57
- streaming: true,
58
- },
59
- };
60
- }
61
- }
62
- }
File without changes
@@ -1,11 +0,0 @@
1
- import { AgentHealth } from "@mcoda/shared";
2
- import { AdapterConfig, AgentAdapter, InvocationRequest, InvocationResult } from "../AdapterTypes.js";
3
- export declare class QaAdapter implements AgentAdapter {
4
- private config;
5
- constructor(config: AdapterConfig);
6
- getCapabilities(): Promise<string[]>;
7
- healthCheck(): Promise<AgentHealth>;
8
- invoke(request: InvocationRequest): Promise<InvocationResult>;
9
- invokeStream(request: InvocationRequest): AsyncGenerator<InvocationResult, void, unknown>;
10
- }
11
- //# sourceMappingURL=QaAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QaAdapter.d.ts","sourceRoot":"","sources":["QaAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtG,qBAAa,SAAU,YAAW,YAAY;IAChC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIpC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IASnC,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAc5D,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC;CAQjG"}
@@ -1,37 +0,0 @@
1
- export class QaAdapter {
2
- constructor(config) {
3
- this.config = config;
4
- }
5
- async getCapabilities() {
6
- return this.config.capabilities;
7
- }
8
- async healthCheck() {
9
- return {
10
- agentId: this.config.agent.id,
11
- status: "healthy",
12
- lastCheckedAt: new Date().toISOString(),
13
- details: { adapter: "qa-cli" },
14
- };
15
- }
16
- async invoke(request) {
17
- return {
18
- output: `qa-stub:${request.input}`,
19
- adapter: this.config.adapter ?? "qa-cli",
20
- model: this.config.model,
21
- metadata: {
22
- mode: "cli",
23
- capabilities: this.config.capabilities,
24
- adapterType: this.config.adapter ?? "qa-cli",
25
- authMode: "cli",
26
- },
27
- };
28
- }
29
- async *invokeStream(request) {
30
- yield {
31
- output: `qa-stream:${request.input}`,
32
- adapter: this.config.adapter ?? "qa-cli",
33
- model: this.config.model,
34
- metadata: { mode: "cli", streaming: true },
35
- };
36
- }
37
- }
@@ -1,42 +0,0 @@
1
- import { AgentHealth } from "@mcoda/shared";
2
- import { AdapterConfig, AgentAdapter, InvocationRequest, InvocationResult } from "../AdapterTypes.js";
3
-
4
- export class QaAdapter implements AgentAdapter {
5
- constructor(private config: AdapterConfig) {}
6
-
7
- async getCapabilities(): Promise<string[]> {
8
- return this.config.capabilities;
9
- }
10
-
11
- async healthCheck(): Promise<AgentHealth> {
12
- return {
13
- agentId: this.config.agent.id,
14
- status: "healthy",
15
- lastCheckedAt: new Date().toISOString(),
16
- details: { adapter: "qa-cli" },
17
- };
18
- }
19
-
20
- async invoke(request: InvocationRequest): Promise<InvocationResult> {
21
- return {
22
- output: `qa-stub:${request.input}`,
23
- adapter: this.config.adapter ?? "qa-cli",
24
- model: this.config.model,
25
- metadata: {
26
- mode: "cli",
27
- capabilities: this.config.capabilities,
28
- adapterType: this.config.adapter ?? "qa-cli",
29
- authMode: "cli",
30
- },
31
- };
32
- }
33
-
34
- async *invokeStream(request: InvocationRequest): AsyncGenerator<InvocationResult, void, unknown> {
35
- yield {
36
- output: `qa-stream:${request.input}`,
37
- adapter: this.config.adapter ?? "qa-cli",
38
- model: this.config.model,
39
- metadata: { mode: "cli", streaming: true },
40
- };
41
- }
42
- }
@@ -1,273 +0,0 @@
1
- import { AgentHealth } from "@mcoda/shared";
2
- import { AdapterConfig, AgentAdapter, InvocationRequest, InvocationResult } from "../AdapterTypes.js";
3
-
4
- const DEFAULT_BASE_URL = "https://open.bigmodel.cn/api/paas/v4";
5
- const DEFAULT_TEMPERATURE = 0.1;
6
-
7
- const normalizeBaseUrl = (value?: unknown): string | undefined => {
8
- if (!value) return undefined;
9
- const str = String(value).trim();
10
- if (!str) return undefined;
11
- return str.endsWith("/") ? str.slice(0, -1) : str;
12
- };
13
-
14
- const isRecord = (value: unknown): value is Record<string, unknown> =>
15
- typeof value === "object" && value !== null && !Array.isArray(value);
16
-
17
- const extractUsage = (usage: any) => {
18
- if (!usage || typeof usage !== "object") return undefined;
19
- const tokensPrompt =
20
- typeof usage.prompt_tokens === "number"
21
- ? usage.prompt_tokens
22
- : typeof usage.promptTokens === "number"
23
- ? usage.promptTokens
24
- : undefined;
25
- const tokensCompletion =
26
- typeof usage.completion_tokens === "number"
27
- ? usage.completion_tokens
28
- : typeof usage.completionTokens === "number"
29
- ? usage.completionTokens
30
- : undefined;
31
- let tokensTotal =
32
- typeof usage.total_tokens === "number"
33
- ? usage.total_tokens
34
- : typeof usage.totalTokens === "number"
35
- ? usage.totalTokens
36
- : undefined;
37
- if (tokensTotal === undefined && typeof tokensPrompt === "number" && typeof tokensCompletion === "number") {
38
- tokensTotal = tokensPrompt + tokensCompletion;
39
- }
40
- if (tokensPrompt === undefined && tokensCompletion === undefined && tokensTotal === undefined) return undefined;
41
- return { tokensPrompt, tokensCompletion, tokensTotal };
42
- };
43
-
44
- type ZhipuConfig = AdapterConfig & {
45
- baseUrl?: string;
46
- headers?: Record<string, string>;
47
- temperature?: number;
48
- thinking?: boolean;
49
- extraBody?: Record<string, unknown>;
50
- };
51
-
52
- export class ZhipuApiAdapter implements AgentAdapter {
53
- private baseUrl: string;
54
- private headers: Record<string, string> | undefined;
55
- private temperature: number | undefined;
56
- private thinking: boolean | undefined;
57
- private extraBody: Record<string, unknown> | undefined;
58
-
59
- constructor(private config: ZhipuConfig) {
60
- this.baseUrl = normalizeBaseUrl(config.baseUrl) ?? DEFAULT_BASE_URL;
61
- this.headers = isRecord((config as any).headers) ? ((config as any).headers as Record<string, string>) : undefined;
62
- this.temperature = typeof (config as any).temperature === "number" ? (config as any).temperature : undefined;
63
- this.thinking = typeof (config as any).thinking === "boolean" ? (config as any).thinking : undefined;
64
- this.extraBody = isRecord((config as any).extraBody) ? ((config as any).extraBody as Record<string, unknown>) : undefined;
65
- this.assertConfig();
66
- }
67
-
68
- async getCapabilities(): Promise<string[]> {
69
- return this.config.capabilities;
70
- }
71
-
72
- async healthCheck(): Promise<AgentHealth> {
73
- if (!this.config.apiKey) {
74
- return {
75
- agentId: this.config.agent.id,
76
- status: "unreachable",
77
- lastCheckedAt: new Date().toISOString(),
78
- details: { reason: "missing_api_key" },
79
- };
80
- }
81
- return {
82
- agentId: this.config.agent.id,
83
- status: "healthy",
84
- lastCheckedAt: new Date().toISOString(),
85
- latencyMs: 0,
86
- details: { adapter: "zhipu-api", model: this.config.model, baseUrl: this.baseUrl },
87
- };
88
- }
89
-
90
- async invoke(request: InvocationRequest): Promise<InvocationResult> {
91
- const url = this.ensureBaseUrl();
92
- const model = this.ensureModel();
93
- const apiKey = this.ensureApiKey();
94
- const body = this.buildBody(request.input, model, false);
95
- const resp = await fetch(`${url}/chat/completions`, {
96
- method: "POST",
97
- headers: this.buildHeaders(apiKey, false),
98
- body: JSON.stringify(body),
99
- });
100
- if (!resp.ok) {
101
- const text = await resp.text().catch(() => "");
102
- throw new Error(`Zhipu chat completions failed (${resp.status}): ${text}`);
103
- }
104
- const data: any = await resp.json().catch(() => ({}));
105
- const choice = data?.choices?.[0];
106
- const message = choice?.message;
107
- const content = typeof message?.content === "string" ? message.content : undefined;
108
- const reasoning = typeof message?.reasoning_content === "string" ? message.reasoning_content : undefined;
109
- const output = content ?? reasoning ?? (typeof data?.output_text === "string" ? data.output_text : JSON.stringify(data));
110
- const usage = extractUsage(data?.usage);
111
-
112
- return {
113
- output: output.trim(),
114
- adapter: this.config.adapter ?? "zhipu-api",
115
- model,
116
- metadata: {
117
- mode: "api",
118
- adapterType: this.config.adapter ?? "zhipu-api",
119
- baseUrl: url,
120
- capabilities: this.config.capabilities,
121
- usage: data?.usage,
122
- tokensPrompt: usage?.tokensPrompt,
123
- tokensCompletion: usage?.tokensCompletion,
124
- tokensTotal: usage?.tokensTotal,
125
- tokens_prompt: usage?.tokensPrompt,
126
- tokens_completion: usage?.tokensCompletion,
127
- tokens_total: usage?.tokensTotal,
128
- reasoning,
129
- },
130
- };
131
- }
132
-
133
- async *invokeStream(request: InvocationRequest): AsyncGenerator<InvocationResult, void, unknown> {
134
- const url = this.ensureBaseUrl();
135
- const model = this.ensureModel();
136
- const apiKey = this.ensureApiKey();
137
- const body = this.buildBody(request.input, model, true);
138
- const resp = await fetch(`${url}/chat/completions`, {
139
- method: "POST",
140
- headers: this.buildHeaders(apiKey, true),
141
- body: JSON.stringify(body),
142
- });
143
- if (!resp.ok || !resp.body) {
144
- const text = !resp.ok ? await resp.text().catch(() => "") : "";
145
- throw new Error(`Zhipu chat completions (stream) failed (${resp.status}): ${text}`);
146
- }
147
-
148
- const reader = resp.body.getReader();
149
- const decoder = new TextDecoder();
150
- let buffer = "";
151
- let latestUsage: { tokensPrompt?: number; tokensCompletion?: number; tokensTotal?: number } | undefined;
152
- const buildChunk = (payload: string): InvocationResult | null => {
153
- const data = JSON.parse(payload);
154
- const choice = data?.choices?.[0];
155
- const delta = choice?.delta ?? choice?.message ?? {};
156
- const content = typeof delta?.content === "string" ? delta.content : "";
157
- const reasoning = typeof delta?.reasoning_content === "string" ? delta.reasoning_content : undefined;
158
- const usage = extractUsage(data?.usage);
159
- if (usage) latestUsage = usage;
160
- const output = content || reasoning || "";
161
- const shouldEmit = Boolean(output) || Boolean(usage);
162
- if (!shouldEmit) return null;
163
- return {
164
- output,
165
- adapter: this.config.adapter ?? "zhipu-api",
166
- model,
167
- metadata: {
168
- mode: "api",
169
- adapterType: this.config.adapter ?? "zhipu-api",
170
- baseUrl: url,
171
- capabilities: this.config.capabilities,
172
- streaming: true,
173
- reasoning,
174
- usage: data?.usage,
175
- tokensPrompt: latestUsage?.tokensPrompt,
176
- tokensCompletion: latestUsage?.tokensCompletion,
177
- tokensTotal: latestUsage?.tokensTotal,
178
- tokens_prompt: latestUsage?.tokensPrompt,
179
- tokens_completion: latestUsage?.tokensCompletion,
180
- tokens_total: latestUsage?.tokensTotal,
181
- raw: payload,
182
- },
183
- };
184
- };
185
-
186
- while (true) {
187
- const { value, done } = await reader.read();
188
- if (done) break;
189
- buffer += decoder.decode(value, { stream: true });
190
- let idx: number;
191
- while ((idx = buffer.indexOf("\n")) !== -1) {
192
- const line = buffer.slice(0, idx).trim();
193
- buffer = buffer.slice(idx + 1);
194
- if (!line || !line.startsWith("data:")) continue;
195
- const payload = line.slice(5).trim();
196
- if (!payload) continue;
197
- if (payload === "[DONE]") return;
198
- try {
199
- const chunk = buildChunk(payload);
200
- if (chunk) yield chunk;
201
- } catch {
202
- // Ignore malformed lines; keep streaming.
203
- }
204
- }
205
- }
206
- const tail = buffer.trim();
207
- if (tail) {
208
- const lines = tail.split(/\r?\n/).filter((line) => line.trim().length > 0);
209
- for (const line of lines) {
210
- const trimmed = line.trim();
211
- if (!trimmed.startsWith("data:")) continue;
212
- const payload = trimmed.slice(5).trim();
213
- if (!payload || payload === "[DONE]") continue;
214
- try {
215
- const chunk = buildChunk(payload);
216
- if (chunk) yield chunk;
217
- } catch {
218
- // Ignore malformed lines; keep streaming.
219
- }
220
- }
221
- }
222
- }
223
-
224
- private assertConfig() {
225
- if (!/^https?:\/\//i.test(this.baseUrl)) {
226
- throw new Error("Zhipu baseUrl must start with http:// or https://");
227
- }
228
- }
229
-
230
- private ensureBaseUrl(): string {
231
- return this.baseUrl;
232
- }
233
-
234
- private ensureModel(): string {
235
- if (!this.config.model) {
236
- throw new Error("Zhipu model is not configured for this agent");
237
- }
238
- return this.config.model;
239
- }
240
-
241
- private ensureApiKey(): string {
242
- if (!this.config.apiKey) {
243
- throw new Error("AUTH_REQUIRED: Zhipu API key missing; run `mcoda agent auth set <name>`");
244
- }
245
- return this.config.apiKey;
246
- }
247
-
248
- private buildHeaders(apiKey: string, streaming: boolean): Record<string, string> {
249
- return {
250
- Authorization: `Bearer ${apiKey}`,
251
- "Content-Type": "application/json",
252
- ...(streaming ? { Accept: "text/event-stream" } : {}),
253
- ...(this.headers ?? {}),
254
- };
255
- }
256
-
257
- private buildBody(input: string, model: string, stream: boolean): Record<string, unknown> {
258
- const body: Record<string, unknown> = {
259
- model,
260
- messages: [{ role: "user", content: input }],
261
- stream,
262
- };
263
- const temperature = this.temperature ?? DEFAULT_TEMPERATURE;
264
- if (typeof temperature === "number") body.temperature = temperature;
265
- if (typeof this.thinking === "boolean") body.thinking = this.thinking;
266
- if (this.extraBody) {
267
- for (const [key, value] of Object.entries(this.extraBody)) {
268
- if (body[key] === undefined) body[key] = value;
269
- }
270
- }
271
- return body;
272
- }
273
- }
@@ -1,8 +0,0 @@
1
- export * from "./AgentService/AgentService.js";
2
- export * from "./adapters/AdapterTypes.js";
3
- export * from "./adapters/openai/OpenAiAdapter.js";
4
- export * from "./adapters/codex/CodexAdapter.js";
5
- export * from "./adapters/gemini/GeminiAdapter.js";
6
- export * from "./adapters/local/LocalAdapter.js";
7
- export * from "./adapters/qa/QaAdapter.js";
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC"}
@@ -1,7 +0,0 @@
1
- export * from "./AgentService/AgentService.js";
2
- export * from "./adapters/AdapterTypes.js";
3
- export * from "./adapters/openai/OpenAiAdapter.js";
4
- export * from "./adapters/codex/CodexAdapter.js";
5
- export * from "./adapters/gemini/GeminiAdapter.js";
6
- export * from "./adapters/local/LocalAdapter.js";
7
- export * from "./adapters/qa/QaAdapter.js";
@@ -1,11 +0,0 @@
1
- export * from "./AgentService/AgentService.js";
2
- export * from "./adapters/AdapterTypes.js";
3
- export * from "./adapters/openai/OpenAiAdapter.js";
4
- export * from "./adapters/openai/OpenAiCliAdapter.js";
5
- export * from "./adapters/codex/CodexAdapter.js";
6
- export * from "./adapters/gemini/GeminiAdapter.js";
7
- export * from "./adapters/local/LocalAdapter.js";
8
- export * from "./adapters/ollama/OllamaCliAdapter.js";
9
- export * from "./adapters/ollama/OllamaRemoteAdapter.js";
10
- export * from "./adapters/zhipu/ZhipuApiAdapter.js";
11
- export * from "./adapters/qa/QaAdapter.js";
@@ -1,14 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.base.json",
3
- "compilerOptions": {
4
- "rootDir": "src",
5
- "outDir": "dist",
6
- "declaration": true,
7
- "declarationMap": true,
8
- "paths": {
9
- "@mcoda/shared": ["packages/shared/dist/index.d.ts"],
10
- "@mcoda/db": ["packages/db/dist/index.d.ts"]
11
- }
12
- },
13
- "include": ["src"]
14
- }
@@ -1,7 +0,0 @@
1
- # Changelog
2
-
3
- ## Unreleased
4
- - Initial npm packaging scaffold for the mcoda CLI.
5
-
6
- ## 0.1.2
7
- - Initial public release of the mcoda CLI.
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 bekir dag
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,23 +0,0 @@
1
- # mcoda
2
-
3
- mcoda is a local-first CLI for planning, documentation, and execution workflows with agent assistance.
4
-
5
- ## Install
6
- - Requires Node.js >= 20.
7
- - Global install: `npm i -g mcoda`
8
- - Verify: `mcoda --version`
9
-
10
- ## Quick start
11
- ```sh
12
- mcoda set-workspace --workspace-root .
13
- mcoda docs pdr generate --workspace-root . --project WEB --rfp-path docs/rfp/web.md --agent codex
14
- ```
15
-
16
- ## Documentation
17
- Full docs live in the repository:
18
- - README: https://github.com/bekirdag/mcoda
19
- - Usage guide: https://github.com/bekirdag/mcoda/blob/main/docs/usage.md
20
- - Quality gates: https://github.com/bekirdag/mcoda/blob/main/docs/quality_gates.md
21
-
22
- ## License
23
- MIT - see `LICENSE`.
@@ -1,61 +0,0 @@
1
- {
2
- "name": "mcoda",
3
- "version": "0.1.2",
4
- "description": "Local-first CLI for planning, documentation, and execution workflows with agent assistance.",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "bin": {
9
- "mcoda": "dist/bin/McodaEntrypoint.js"
10
- },
11
- "files": [
12
- "dist",
13
- "!dist/**/__tests__/**",
14
- "!dist/**/*.test.*",
15
- "README.md",
16
- "CHANGELOG.md",
17
- "LICENSE"
18
- ],
19
- "scripts": {
20
- "build": "tsc -p tsconfig.json",
21
- "lint": "echo \"lint not configured\"",
22
- "test": "pnpm run build && node ../../scripts/run-node-tests.js dist",
23
- "pack:verify": "node --test test/packaging_guardrails.test.js"
24
- },
25
- "engines": {
26
- "node": ">=20"
27
- },
28
- "repository": {
29
- "type": "git",
30
- "url": "git+https://github.com/bekirdag/mcoda.git"
31
- },
32
- "bugs": {
33
- "url": "https://github.com/bekirdag/mcoda/issues"
34
- },
35
- "homepage": "https://github.com/bekirdag/mcoda#readme",
36
- "license": "MIT",
37
- "author": "bekir dag",
38
- "keywords": [
39
- "mcoda",
40
- "cli",
41
- "planning",
42
- "backlog",
43
- "agent",
44
- "documentation",
45
- "openapi",
46
- "pdr",
47
- "sds"
48
- ],
49
- "publishConfig": {
50
- "access": "public"
51
- },
52
- "dependencies": {
53
- "@mcoda/core": "workspace:*",
54
- "@mcoda/shared": "workspace:*",
55
- "yaml": "^2.4.2"
56
- },
57
- "devDependencies": {
58
- "@mcoda/db": "workspace:*",
59
- "@mcoda/integrations": "workspace:*"
60
- }
61
- }