mcoda 0.1.13 → 0.1.15

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.
@@ -44,7 +44,7 @@ Subcommands:
44
44
  list List agents (supports --json)
45
45
  details <NAME> Show agent details (supports --json)
46
46
  add <NAME> Create a global agent
47
- --adapter <TYPE> Adapter slug (openai-api|zhipu-api|codex-cli|gemini-cli|local-model|qa-cli|ollama-remote)
47
+ --adapter <TYPE> Adapter slug (openai-api|zhipu-api|codex-cli|claude-cli|gemini-cli|local-model|qa-cli|ollama-remote)
48
48
  --model <MODEL> Default model name
49
49
  --rating <N> Relative capability rating (higher is stronger)
50
50
  --reasoning-rating <N> Relative reasoning strength rating (higher is stronger)
@@ -17,6 +17,8 @@ interface ParsedArgs {
17
17
  workRunner?: string;
18
18
  useCodali?: boolean;
19
19
  agentAdapterOverride?: string;
20
+ missingTestsPolicy?: "block_job" | "skip_task" | "fail_task";
21
+ allowMissingTests?: boolean;
20
22
  json: boolean;
21
23
  }
22
24
  export declare const parseWorkOnTasksArgs: (argv: string[]) => ParsedArgs;
@@ -1 +1 @@
1
- {"version":3,"file":"WorkOnTasksCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/work/WorkOnTasksCommand.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;CACf;AAgED,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,EAAE,KAAG,UAoOrD,CAAC;AAEF,qBAAa,kBAAkB;WAChB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAiHhD"}
1
+ {"version":3,"file":"WorkOnTasksCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/work/WorkOnTasksCommand.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;CACf;AA6ED,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,EAAE,KAAG,UAwQrD,CAAC;AAEF,qBAAa,kBAAkB;WAChB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAmHhD"}
@@ -14,6 +14,8 @@ const usage = `mcoda work-on-tasks \\
14
14
  [--agent-stream <true|false>] \\
15
15
  [--work-runner <codali|default>] \\
16
16
  [--use-codali <true|false>] \\
17
+ [--missing-tests-policy <block_job|skip_task|fail_task>] \\
18
+ [--allow-missing-tests <true|false>] \\
17
19
  [--rate-agents] \\
18
20
  [--auto-merge <true|false>] \\
19
21
  [--auto-push <true|false>] \\
@@ -46,6 +48,15 @@ const normalizeRunner = (value) => {
46
48
  return undefined;
47
49
  return trimmed.toLowerCase();
48
50
  };
51
+ const normalizeMissingTestsPolicy = (value) => {
52
+ if (!value)
53
+ return undefined;
54
+ const normalized = value.trim().toLowerCase().replace(/-/g, "_");
55
+ if (normalized === "block_job" || normalized === "skip_task" || normalized === "fail_task") {
56
+ return normalized;
57
+ }
58
+ return undefined;
59
+ };
49
60
  const resolveEnvRunner = () => normalizeRunner(process.env.MCODA_WORK_ON_TASKS_ADAPTER);
50
61
  const resolveRunnerOverride = (workRunner) => {
51
62
  if (!workRunner)
@@ -80,6 +91,8 @@ export const parseWorkOnTasksArgs = (argv) => {
80
91
  let autoPush;
81
92
  let workRunner;
82
93
  let useCodali;
94
+ let missingTestsPolicy;
95
+ let allowMissingTests;
83
96
  let json = false;
84
97
  for (let i = 0; i < argv.length; i += 1) {
85
98
  const arg = argv[i];
@@ -124,6 +137,18 @@ export const parseWorkOnTasksArgs = (argv) => {
124
137
  useCodali = parseBooleanFlag(raw, true);
125
138
  continue;
126
139
  }
140
+ if (arg.startsWith("--missing-tests-policy=")) {
141
+ const [, raw] = arg.split("=", 2);
142
+ const parsedPolicy = normalizeMissingTestsPolicy(raw);
143
+ if (parsedPolicy)
144
+ missingTestsPolicy = parsedPolicy;
145
+ continue;
146
+ }
147
+ if (arg.startsWith("--allow-missing-tests=")) {
148
+ const [, raw] = arg.split("=", 2);
149
+ allowMissingTests = parseBooleanFlag(raw, true);
150
+ continue;
151
+ }
127
152
  switch (arg) {
128
153
  case "--workspace":
129
154
  case "--workspace-root":
@@ -201,6 +226,28 @@ export const parseWorkOnTasksArgs = (argv) => {
201
226
  }
202
227
  break;
203
228
  }
229
+ case "--missing-tests-policy": {
230
+ const next = argv[i + 1];
231
+ if (next && !next.startsWith("--")) {
232
+ const parsedPolicy = normalizeMissingTestsPolicy(next);
233
+ if (parsedPolicy) {
234
+ missingTestsPolicy = parsedPolicy;
235
+ }
236
+ i += 1;
237
+ }
238
+ break;
239
+ }
240
+ case "--allow-missing-tests": {
241
+ const next = argv[i + 1];
242
+ if (next && !next.startsWith("--")) {
243
+ allowMissingTests = parseBooleanFlag(next, true);
244
+ i += 1;
245
+ }
246
+ else {
247
+ allowMissingTests = true;
248
+ }
249
+ break;
250
+ }
204
251
  case "--auto-merge": {
205
252
  const next = argv[i + 1];
206
253
  if (next && !next.startsWith("--")) {
@@ -286,6 +333,8 @@ export const parseWorkOnTasksArgs = (argv) => {
286
333
  workRunner: runnerOverride.workRunner ?? workRunner,
287
334
  useCodali,
288
335
  agentAdapterOverride: runnerOverride.agentAdapterOverride,
336
+ missingTestsPolicy,
337
+ allowMissingTests,
289
338
  json,
290
339
  };
291
340
  };
@@ -351,6 +400,8 @@ export class WorkOnTasksCommand {
351
400
  workRunner: parsed.workRunner,
352
401
  useCodali: parsed.useCodali,
353
402
  agentAdapterOverride: parsed.agentAdapterOverride,
403
+ missingTestsPolicy: parsed.missingTestsPolicy,
404
+ allowMissingTests: parsed.allowMissingTests,
354
405
  onAgentChunk,
355
406
  abortSignal: abortController.signal,
356
407
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcoda",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "description": "Local-first CLI for planning, documentation, and execution workflows with agent assistance.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -45,12 +45,12 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "yaml": "^2.4.2",
48
- "@mcoda/core": "0.1.13",
49
- "@mcoda/shared": "0.1.13"
48
+ "@mcoda/core": "0.1.15",
49
+ "@mcoda/shared": "0.1.15"
50
50
  },
51
51
  "devDependencies": {
52
- "@mcoda/integrations": "0.1.13",
53
- "@mcoda/db": "0.1.13"
52
+ "@mcoda/db": "0.1.15",
53
+ "@mcoda/integrations": "0.1.15"
54
54
  },
55
55
  "scripts": {
56
56
  "build": "tsc -p tsconfig.json",