mcoda 0.1.35 → 0.1.37

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.
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTasksCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/planning/CreateTasksCommand.ts"],"names":[],"mappings":"AAKA,UAAU,UAAU;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IACrD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,KAAK,mBAAmB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,eAAO,MAAM,gBAAgB,QAIjB,CAAC;AAyDb,eAAO,MAAM,yBAAyB,GAAI,SAAS;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC,KAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAiD3C,CAAC;AAUF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,EAAE,KAAG,UAkNrD,CAAC;AAEF,qBAAa,kBAAkB;WAChB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAuEhD"}
1
+ {"version":3,"file":"CreateTasksCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/planning/CreateTasksCommand.ts"],"names":[],"mappings":"AAKA,UAAU,UAAU;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IACrD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,KAAK,mBAAmB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,eAAO,MAAM,gBAAgB,QAIjB,CAAC;AAyDb,eAAO,MAAM,yBAAyB,GAAI,SAAS;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC,KAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAiD3C,CAAC;AAUF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,EAAE,KAAG,UAkNrD,CAAC;AAEF,qBAAa,kBAAkB;WAChB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA2EhD"}
@@ -302,7 +302,7 @@ export const parseCreateTasksArgs = (argv) => {
302
302
  workspaceRoot,
303
303
  projectKey,
304
304
  agentName,
305
- agentStream: agentStream ?? false,
305
+ agentStream: agentStream ?? Boolean(agentName),
306
306
  rateAgents,
307
307
  maxEpics: Number.isFinite(maxEpics) ? maxEpics : undefined,
308
308
  maxStoriesPerEpic: Number.isFinite(maxStoriesPerEpic) ? maxStoriesPerEpic : undefined,
@@ -378,6 +378,10 @@ export class CreateTasksCommand {
378
378
  `Stored in ${dbPath}.`,
379
379
  `Job ID: ${result.jobId}, Command Run: ${result.commandRunId}`,
380
380
  ].join("\n"));
381
+ if (result.warnings.length > 0) {
382
+ // eslint-disable-next-line no-console
383
+ console.warn(result.warnings.join("\n"));
384
+ }
381
385
  }
382
386
  }
383
387
  catch (error) {
@@ -35,6 +35,12 @@ export declare const pickRefineTasksProjectKey: (options: {
35
35
  projectKey?: string;
36
36
  warnings: string[];
37
37
  };
38
+ export declare const getRefineResultStatus: (options: {
39
+ applied: boolean;
40
+ operations: number;
41
+ applyRequested: boolean;
42
+ dryRunRequested: boolean;
43
+ }) => "applied" | "dry_run" | "no_operations";
38
44
  export declare const parseRefineTasksArgs: (argv: string[]) => ParsedRefineArgs;
39
45
  export declare class RefineTasksCommand {
40
46
  static run(argv: string[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"RefineTasksCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/planning/RefineTasksCommand.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,UAAU,gBAAgB;IACxB,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,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,mBAAmB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAsBtE,eAAO,MAAM,yBAAyB,GAAI,SAAS;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC,KAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAkC5C,CAAC;AA4BF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,EAAE,KAAG,gBAyNrD,CAAC;AAEF,qBAAa,kBAAkB;WAChB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAkLhD"}
1
+ {"version":3,"file":"RefineTasksCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/planning/RefineTasksCommand.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,UAAU,gBAAgB;IACxB,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,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,mBAAmB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAsBtE,eAAO,MAAM,yBAAyB,GAAI,SAAS;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC,KAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAkC5C,CAAC;AA4BF,eAAO,MAAM,qBAAqB,GAAI,SAAS;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;CAC1B,KAAG,SAAS,GAAG,SAAS,GAAG,eAK3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,EAAE,KAAG,gBAyNrD,CAAC;AAEF,qBAAa,kBAAkB;WAChB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA+LhD"}
@@ -73,6 +73,15 @@ const formatCounts = (ops) => {
73
73
  .map(([op, count]) => `${op}: ${count}`)
74
74
  .join(", ");
75
75
  };
76
+ export const getRefineResultStatus = (options) => {
77
+ if (options.applied)
78
+ return "applied";
79
+ if (options.operations === 0)
80
+ return "no_operations";
81
+ if (options.dryRunRequested || !options.applyRequested)
82
+ return "dry_run";
83
+ return "no_operations";
84
+ };
76
85
  export const parseRefineTasksArgs = (argv) => {
77
86
  let workspaceRoot;
78
87
  let projectKey;
@@ -400,11 +409,18 @@ export class RefineTasksCommand {
400
409
  ...baseRequest,
401
410
  maxTasks: parsed.maxTasks,
402
411
  });
412
+ const operations = result.plan.operations.length;
413
+ const resultStatus = getRefineResultStatus({
414
+ applied: result.applied,
415
+ operations,
416
+ applyRequested: parsed.apply,
417
+ dryRunRequested: parsed.dryRun,
418
+ });
403
419
  if (parsed.json) {
404
420
  const warnings = [...commandWarnings, ...(result.plan.warnings ?? [])];
405
421
  // eslint-disable-next-line no-console
406
422
  console.log(JSON.stringify({
407
- status: result.applied ? "applied" : "dry_run",
423
+ status: resultStatus,
408
424
  summary: result.summary,
409
425
  plan: result.plan,
410
426
  warnings,
@@ -412,9 +428,14 @@ export class RefineTasksCommand {
412
428
  }
413
429
  else {
414
430
  const opSummary = formatCounts(result.plan.operations);
431
+ const appliedLabel = resultStatus === "applied"
432
+ ? "yes"
433
+ : resultStatus === "dry_run"
434
+ ? "no (dry run)"
435
+ : "no (no operations)";
415
436
  const summaryLines = [
416
437
  `Job: ${result.jobId}, Command Run: ${result.commandRunId}`,
417
- `Applied: ${result.applied ? "yes" : "no (dry run)"}`,
438
+ `Applied: ${appliedLabel}`,
418
439
  `Operations: ${result.plan.operations.length}${opSummary ? ` (${opSummary})` : ""}`,
419
440
  result.summary
420
441
  ? `Tasks processed: ${result.summary.tasksProcessed}, affected: ${result.summary.tasksAffected}, story points delta: ${result.summary.storyPointsDelta ?? 0}`
@@ -1 +1 @@
1
- {"version":3,"file":"TaskSufficiencyAuditCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/planning/TaskSufficiencyAuditCommand.ts"],"names":[],"mappings":"AAIA,UAAU,yBAAyB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,KAAK,mBAAmB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAsBtE,eAAO,MAAM,6BAA6B,GAAI,SAAS;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC,KAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAkC5C,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,MAAM,MAAM,EAAE,KAAG,yBAmE9D,CAAC;AAEF,qBAAa,2BAA2B;WACzB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA0GhD"}
1
+ {"version":3,"file":"TaskSufficiencyAuditCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/planning/TaskSufficiencyAuditCommand.ts"],"names":[],"mappings":"AAIA,UAAU,yBAAyB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,KAAK,mBAAmB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAsBtE,eAAO,MAAM,6BAA6B,GAAI,SAAS;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC,KAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAkC5C,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,MAAM,MAAM,EAAE,KAAG,yBAmE9D,CAAC;AAEF,qBAAa,2BAA2B;WACzB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA8GhD"}
@@ -162,10 +162,12 @@ export class TaskSufficiencyAuditCommand {
162
162
  minCoverageRatio: result.minCoverageRatio,
163
163
  totalTasksAdded: result.totalTasksAdded,
164
164
  totalTasksUpdated: result.totalTasksUpdated,
165
+ finalTotalSignals: result.finalTotalSignals,
165
166
  finalCoverageRatio: result.finalCoverageRatio,
166
167
  remainingSectionHeadings: result.remainingSectionHeadings,
167
168
  remainingFolderEntries: result.remainingFolderEntries,
168
169
  remainingGaps: result.remainingGaps,
170
+ unresolvedBundles: result.unresolvedBundles,
169
171
  iterations: result.iterations,
170
172
  reportPath: result.reportPath,
171
173
  reportHistoryPath: result.reportHistoryPath ?? null,
@@ -182,9 +184,11 @@ export class TaskSufficiencyAuditCommand {
182
184
  `Coverage: ${result.finalCoverageRatio} (target ${result.minCoverageRatio})`,
183
185
  `Tasks added: ${result.totalTasksAdded}`,
184
186
  `Tasks updated: ${result.totalTasksUpdated}`,
187
+ `Total SDS signals: ${result.finalTotalSignals}`,
185
188
  `Remaining section gaps: ${result.remainingSectionHeadings.length}`,
186
189
  `Remaining folder gaps: ${result.remainingFolderEntries.length}`,
187
190
  `Remaining total gaps: ${result.remainingGaps.total}`,
191
+ `Remaining unresolved bundles: ${result.unresolvedBundles.length}`,
188
192
  `Report: ${result.reportPath}`,
189
193
  result.reportHistoryPath ? `History snapshot: ${result.reportHistoryPath}` : undefined,
190
194
  ].filter(Boolean);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcoda",
3
- "version": "0.1.35",
3
+ "version": "0.1.37",
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.35",
49
- "@mcoda/shared": "0.1.35"
48
+ "@mcoda/shared": "0.1.37",
49
+ "@mcoda/core": "0.1.37"
50
50
  },
51
51
  "devDependencies": {
52
- "@mcoda/db": "0.1.35",
53
- "@mcoda/integrations": "0.1.35"
52
+ "@mcoda/integrations": "0.1.37",
53
+ "@mcoda/db": "0.1.37"
54
54
  },
55
55
  "scripts": {
56
56
  "build": "tsc -p tsconfig.json",