@lmctl-ai/lmctl 0.2.19 → 0.2.20

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.
@@ -48,6 +48,31 @@ export declare function _setTeamfileSeedForTests(fn: SeedFn | null): void;
48
48
  export declare function _setLintSessiondirFsOpsForTests(ops: Partial<LintSessiondirFsOps> | null): void;
49
49
  export declare function _setLintOpenCodeConfigProbeForTests(fn: OpenCodeConfigProbeFn | null): void;
50
50
  export declare function runLint(args: string[], io?: TeamfileCliIo): Promise<number>;
51
+ export interface LintFinding {
52
+ /** Real member alias the finding is about, or "" when it's about the file itself. */
53
+ alias: string;
54
+ message: string;
55
+ }
56
+ export interface LintStructuredResult {
57
+ /** "error" ONLY for a genuine validation error (unparseable file, bad
58
+ * _MEMBER_ line, confirmed wrong-provider model). Warnings never flip
59
+ * this to "error" -- matches the CLI's own exit-0-on-warnings contract. */
60
+ status: 'ok' | 'error';
61
+ errors: LintFinding[];
62
+ warnings: LintFinding[];
63
+ counts: {
64
+ errors: number;
65
+ warnings: number;
66
+ };
67
+ }
68
+ /**
69
+ * Structured form of the exact same lint computation `lmctl lint` runs
70
+ * (queue#22208): a workflow reads errors/warnings/counts directly instead
71
+ * of string-matching "warning:"-prefixed lines, which breaks silently the
72
+ * day that prefix changes -- the failure shape math named as the reason
73
+ * this exists. Both lists are always arrays, never null/undefined.
74
+ */
75
+ export declare function lintTeamfileStructured(teamfile: string, io: TeamfileCliIo): Promise<LintStructuredResult>;
51
76
  export declare function runSeed(args: string[], io?: TeamfileCliIo): Promise<number>;
52
77
  /**
53
78
  * Per-alias seed prompt override (lmscript's lm_seed, operator 2026-09-30:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lmctl-ai/lmctl",
3
- "version": "0.2.19",
3
+ "version": "0.2.20",
4
4
  "description": "A provider-agnostic control plane for teams of AI coding agents — across providers, with independent review and durable memory.",
5
5
  "type": "module",
6
6
  "homepage": "https://lmctl.com",