@mmnto/cli 1.14.6 → 1.14.8

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":"gh-utils.d.ts","sourceRoot":"","sources":["../../src/adapters/gh-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAsClE;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAOxD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,CAAC,CAuBH"}
1
+ {"version":3,"file":"gh-utils.d.ts","sourceRoot":"","sources":["../../src/adapters/gh-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAsClE;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAOxD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,CAAC,CAuBH"}
@@ -1,6 +1,6 @@
1
1
  // totem-context: All functions are synchronous — safeExec is sync, handleGhError returns never. Do not flag missing await.
2
2
  import { z } from 'zod';
3
- import { safeExec, TotemConfigError, TotemError, TotemParseError } from '@mmnto/totem';
3
+ import { describeSafeExecError, safeExec, TotemConfigError, TotemError, TotemParseError, } from '@mmnto/totem';
4
4
  import { GH_TIMEOUT_MS } from '../utils.js';
5
5
  const GH_MAX_BUFFER = 10 * 1024 * 1024; // 10MB — handles paginated API responses
6
6
  const GH_PAGINATED_TIMEOUT_MS = 60_000; // 60s — paginated endpoints can be slow
@@ -25,10 +25,10 @@ export function handleGhError(err, context) {
25
25
  throw new TotemParseError(`Failed to parse GitHub ${context}`, 'Check that the GitHub API response format has not changed and your gh CLI is up to date.', err);
26
26
  }
27
27
  // safeExec wraps child-process errors: message includes stderr, cause is the original.
28
- // Check both the wrapper and the cause so detection (ENOENT, rate-limit) works regardless.
28
+ // describeSafeExecError unrolls the cause chain so detection (ENOENT, rate-limit) works
29
+ // regardless of where the relevant text lives in the chain.
29
30
  const wrapperMsg = err instanceof Error ? err.message : String(err);
30
- const causeMsg = err instanceof Error && err.cause instanceof Error ? err.cause.message : '';
31
- const msg = `${wrapperMsg}\n${causeMsg}`;
31
+ const msg = describeSafeExecError(err);
32
32
  if (msg.includes('ENOENT')) {
33
33
  throw new TotemConfigError('GitHub CLI (gh) is required but was not found.', 'Install the GitHub CLI: https://cli.github.com', 'CONFIG_MISSING', err);
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gh-utils.js","sourceRoot":"","sources":["../../src/adapters/gh-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gh-utils.js","sourceRoot":"","sources":["../../src/adapters/gh-utils.ts"],"names":[],"mappings":"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"}
@@ -236,4 +236,115 @@ describe('compileCommand no-op manifest refresh (#1337)', () => {
236
236
  expect(fs.readFileSync(manifestPath, 'utf-8')).toBe(malformed);
237
237
  });
238
238
  });
239
+ // ─── ensureLessonsDir guard (#1350) ──────────────────
240
+ //
241
+ // The NO_LESSONS_DIR guard fires in the no-op branch when lessonsDir is
242
+ // absent or is not a directory at the time generateInputHash is called.
243
+ // The realistic trigger is a workspace that populates lessons from the
244
+ // legacy .totem/lessons.md file so readAllLessons returns non-empty, but
245
+ // has no .totem/lessons/ directory for generateInputHash to hash.
246
+ //
247
+ // The helper that writes the legacy file and config but skips lessons/:
248
+ function setupWorkspaceLegacyLessons(tmpDir, lessonMarkdownContent) {
249
+ fs.writeFileSync(path.join(tmpDir, 'totem.config.ts'), [
250
+ 'export default {',
251
+ ' targets: [{ glob: "**/*.ts", type: "code", strategy: "typescript-ast" }],',
252
+ ' totemDir: ".totem",',
253
+ ' orchestrator: {',
254
+ ' provider: "shell",',
255
+ ' command: "echo should-never-run",',
256
+ ' defaultModel: "test-model",',
257
+ ' },',
258
+ '};',
259
+ '',
260
+ ].join('\n'), 'utf-8');
261
+ const totemDir = path.join(tmpDir, '.totem');
262
+ fs.mkdirSync(totemDir, { recursive: true });
263
+ // Write lessons via the legacy .totem/lessons.md path so readAllLessons
264
+ // returns non-empty without a lessons/ directory being present.
265
+ fs.writeFileSync(path.join(totemDir, 'lessons.md'), lessonMarkdownContent, 'utf-8');
266
+ // Pre-populate compiled-rules.json so every lesson is already "compiled"
267
+ // (no actual compilation runs) and the no-op branch is entered.
268
+ fs.writeFileSync(path.join(totemDir, 'compiled-rules.json'), JSON.stringify({
269
+ version: 1,
270
+ rules: [],
271
+ nonCompilable: [],
272
+ }, null, 2) + '\n', 'utf-8');
273
+ // No compile-manifest.json and no lessons/ directory - the guard should
274
+ // fire before generateInputHash attempts to hash a non-existent directory.
275
+ }
276
+ describe('ensureLessonsDir guard (#1350)', () => {
277
+ let tmpDir;
278
+ let originalCwd;
279
+ beforeEach(() => {
280
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'totem-lessons-dir-guard-'));
281
+ originalCwd = process.cwd();
282
+ process.chdir(tmpDir);
283
+ });
284
+ afterEach(() => {
285
+ process.chdir(originalCwd);
286
+ cleanTmpDir(tmpDir);
287
+ });
288
+ it('throws NO_LESSONS_DIR when lessons directory is missing during no-op compile', async () => {
289
+ // Lessons come from the legacy lessons.md so readAllLessons returns
290
+ // non-empty and the NO_LESSONS check is bypassed. The no-op branch is
291
+ // entered (toCompile.length === 0 since all rules are pre-populated or
292
+ // there are none to add). generateInputHash(lessonsDir) then hits the
293
+ // ensureLessonsDir guard because .totem/lessons/ was never created.
294
+ const heading = 'Use err in catch';
295
+ const body = 'Do not use the identifier "error" in catch blocks.';
296
+ const lessonContent = `## Lesson - ${heading}\n\n**Tags:** test\n\n${body}\n`;
297
+ setupWorkspaceLegacyLessons(tmpDir, lessonContent);
298
+ // No .totem/lessons/ directory exists - guard must fire.
299
+ const totemDir = path.join(tmpDir, '.totem');
300
+ expect(fs.existsSync(path.join(totemDir, 'lessons'))).toBe(false);
301
+ await expect(compileCommand({})).rejects.toMatchObject({
302
+ code: 'NO_LESSONS_DIR',
303
+ message: expect.stringContaining('Lessons directory not found'),
304
+ });
305
+ });
306
+ });
307
+ // ─── Explicit cwd option (#1232) ─────────────────────
308
+ //
309
+ // Verify that passing `cwd` to `compileCommand` roots the run in the given
310
+ // directory without relying on `process.chdir`. The no-op branch is used so
311
+ // no real LLM orchestrator is required.
312
+ describe('compileCommand cwd option (#1232)', () => {
313
+ let tmpDir;
314
+ beforeEach(() => {
315
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'totem-compile-cwd-'));
316
+ // Intentionally do NOT chdir. The test must work from whatever directory
317
+ // vitest happens to run in.
318
+ });
319
+ afterEach(() => {
320
+ cleanTmpDir(tmpDir);
321
+ });
322
+ it('operates on the explicit cwd rather than process.cwd()', async () => {
323
+ // Set up a workspace in tmpDir without touching the process working directory.
324
+ const heading = 'Use err in catch';
325
+ const body = 'Do not use the identifier "error" in catch blocks.';
326
+ const lessonHash = hashLesson(heading, body);
327
+ // omitManifest: true so the manifest does NOT exist before compileCommand
328
+ // runs. If compileCommand falls back to process.cwd() instead of tmpDir,
329
+ // it will fail to find the config there and throw before writing any
330
+ // manifest. The post-call assertion then proves the correct cwd was used.
331
+ setupWorkspace(tmpDir, {
332
+ lessons: {
333
+ 'use-err.md': lessonMarkdown(heading, body),
334
+ },
335
+ rules: [{ lessonHash, lessonHeading: heading }],
336
+ omitManifest: true,
337
+ });
338
+ const totemDir = path.join(tmpDir, '.totem');
339
+ const manifestPath = path.join(totemDir, 'compile-manifest.json');
340
+ // The manifest must NOT exist before the call (omitManifest: true above).
341
+ expect(fs.existsSync(manifestPath)).toBe(false);
342
+ // Passing cwd explicitly means the command reads config and lessons from
343
+ // tmpDir even though process.cwd() points elsewhere.
344
+ await compileCommand({ cwd: tmpDir });
345
+ // Manifest must now exist - proves compileCommand wrote it relative to the
346
+ // explicit cwd, not process.cwd().
347
+ expect(fs.existsSync(manifestPath)).toBe(true);
348
+ });
349
+ });
239
350
  //# sourceMappingURL=compile-noop-refresh.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile-noop-refresh.test.js","sourceRoot":"","sources":["../../src/commands/compile-noop-refresh.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile-noop-refresh.test.js","sourceRoot":"","sources":["../../src/commands/compile-noop-refresh.test.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import * as fs from 'node:fs';
2
2
  import * as os from 'node:os';
3
3
  import * as path from 'node:path';
4
4
  import { afterEach, beforeEach, describe, expect, it } from 'vitest';
5
- import { hashLesson } from '@mmnto/totem';
5
+ import { generateInputHash, hashLesson } from '@mmnto/totem';
6
6
  import { cleanTmpDir } from '../test-utils.js';
7
7
  import { buildTelemetryPrefix, compileCommand } from './compile.js';
8
8
  // ─── Helpers ─────────────────────────────────────────
@@ -158,4 +158,146 @@ describe('compileCommand --upgrade', () => {
158
158
  });
159
159
  });
160
160
  });
161
+ // ─── compileCommand upgradeBatch error paths ──────────
162
+ describe('compileCommand upgradeBatch', () => {
163
+ let tmpDir;
164
+ let originalCwd;
165
+ beforeEach(() => {
166
+ tmpDir = makeTmpDir();
167
+ originalCwd = process.cwd();
168
+ process.chdir(tmpDir);
169
+ });
170
+ afterEach(() => {
171
+ process.chdir(originalCwd);
172
+ cleanTmpDir(tmpDir);
173
+ });
174
+ it('rejects upgradeBatch combined with --upgrade', async () => {
175
+ setupWorkspace(tmpDir, {
176
+ 'rule-a.md': lessonMarkdown('Use err in catch', 'Do not use error in catch blocks.'),
177
+ });
178
+ const hashA = hashLesson('Use err in catch', 'Do not use error in catch blocks.');
179
+ await expect(compileCommand({ upgradeBatch: [{ hash: hashA }], upgrade: hashA })).rejects.toMatchObject({ code: 'CONFIG_INVALID' });
180
+ });
181
+ it('rejects upgradeBatch combined with --cloud', async () => {
182
+ setupWorkspace(tmpDir, {
183
+ 'rule-a.md': lessonMarkdown('Use err in catch', 'Do not use error in catch blocks.'),
184
+ });
185
+ const hashA = hashLesson('Use err in catch', 'Do not use error in catch blocks.');
186
+ await expect(compileCommand({ upgradeBatch: [{ hash: hashA }], cloud: 'https://example.invalid' })).rejects.toMatchObject({ code: 'UPGRADE_CLOUD_UNSUPPORTED' });
187
+ });
188
+ it('rejects upgradeBatch combined with --force', async () => {
189
+ setupWorkspace(tmpDir, {
190
+ 'rule-a.md': lessonMarkdown('Use err in catch', 'Do not use error in catch blocks.'),
191
+ });
192
+ const hashA = hashLesson('Use err in catch', 'Do not use error in catch blocks.');
193
+ await expect(compileCommand({ upgradeBatch: [{ hash: hashA }], force: true })).rejects.toMatchObject({ code: 'CONFIG_INVALID' });
194
+ });
195
+ it('returns an array of UpgradeOutcomes for batch targets', async () => {
196
+ setupWorkspace(tmpDir, {
197
+ 'rule-a.md': lessonMarkdown('Use err in catch', 'Do not use error in catch blocks.'),
198
+ 'rule-b.md': lessonMarkdown('Avoid console.log', 'Do not commit console.log calls.'),
199
+ });
200
+ const hashA = hashLesson('Use err in catch', 'Do not use error in catch blocks.');
201
+ const hashB = hashLesson('Avoid console.log', 'Do not commit console.log calls.');
202
+ // Lite-tier has no orchestrator — compileCommand throws CONFIG_MISSING after
203
+ // batch validation passes. This confirms the batch path is entered and the
204
+ // validation / lesson-filter logic runs for both hashes.
205
+ await expect(compileCommand({ upgradeBatch: [{ hash: hashA }, { hash: hashB }] })).rejects.toMatchObject({ code: 'CONFIG_MISSING' });
206
+ });
207
+ it('upgradeBatch with an empty array proceeds past validation without error', async () => {
208
+ setupWorkspace(tmpDir, {
209
+ 'rule-a.md': lessonMarkdown('Use err in catch', 'Do not use error in catch blocks.'),
210
+ });
211
+ // An empty batch is valid — zero lessons in scope, no LLM call. The
212
+ // Lite-tier config triggers CONFIG_MISSING from the orchestrator gate.
213
+ await expect(compileCommand({ upgradeBatch: [] })).rejects.toMatchObject({
214
+ code: 'CONFIG_MISSING',
215
+ });
216
+ });
217
+ });
218
+ // ─── Helpers for full-tier workspace ─────────────────────────────────────────
219
+ //
220
+ // These tests need a full-tier config (shell orchestrator) so compileCommand
221
+ // passes the orchestrator gate and the upgradeBatch return path is reachable.
222
+ // The shell command is a harmless no-op because an empty batch means no LLM
223
+ // call is ever made.
224
+ function setupFullTierWorkspace(tmpDir, lessonFiles, rules = []) {
225
+ fs.writeFileSync(path.join(tmpDir, 'totem.config.ts'), [
226
+ 'export default {',
227
+ ' targets: [{ glob: "**/*.ts", type: "code", strategy: "typescript-ast" }],',
228
+ ' totemDir: ".totem",',
229
+ ' orchestrator: {',
230
+ ' provider: "shell",',
231
+ ' command: "echo should-never-run",',
232
+ ' defaultModel: "test-model",',
233
+ ' },',
234
+ '};',
235
+ '',
236
+ ].join('\n'), 'utf-8');
237
+ const totemDir = path.join(tmpDir, '.totem');
238
+ const lessonsDir = path.join(totemDir, 'lessons');
239
+ fs.mkdirSync(lessonsDir, { recursive: true });
240
+ for (const [name, body] of Object.entries(lessonFiles)) {
241
+ fs.writeFileSync(path.join(lessonsDir, name), body, 'utf-8');
242
+ }
243
+ const now = '2026-04-13T00:00:00Z';
244
+ fs.writeFileSync(path.join(totemDir, 'compiled-rules.json'), JSON.stringify({
245
+ version: 1,
246
+ rules: rules.map((r) => ({
247
+ lessonHash: r.lessonHash,
248
+ lessonHeading: r.lessonHeading,
249
+ pattern: 'dummy-never-matches',
250
+ message: r.lessonHeading,
251
+ engine: 'regex',
252
+ compiledAt: now,
253
+ })),
254
+ nonCompilable: [],
255
+ }, null, 2) + '\n', 'utf-8');
256
+ const manifestPath = path.join(totemDir, 'compile-manifest.json');
257
+ fs.writeFileSync(manifestPath, JSON.stringify({
258
+ compiled_at: now,
259
+ model: 'test-model',
260
+ input_hash: generateInputHash(lessonsDir),
261
+ output_hash: '0000000000000000000000000000000000000000000000000000000000000000',
262
+ rule_count: rules.length,
263
+ }, null, 2) + '\n', 'utf-8');
264
+ }
265
+ // ─── compileCommand upgradeBatch success paths ────────────────────────────────
266
+ describe('compileCommand upgradeBatch success paths', () => {
267
+ let tmpDir;
268
+ let originalCwd;
269
+ beforeEach(() => {
270
+ tmpDir = makeTmpDir();
271
+ originalCwd = process.cwd();
272
+ process.chdir(tmpDir);
273
+ });
274
+ afterEach(() => {
275
+ process.chdir(originalCwd);
276
+ cleanTmpDir(tmpDir);
277
+ });
278
+ it('returns empty array for empty upgradeBatch', async () => {
279
+ setupFullTierWorkspace(tmpDir, {
280
+ 'rule-a.md': lessonMarkdown('Use err in catch', 'Do not use error in catch blocks.'),
281
+ });
282
+ // An empty batch is valid. Full-tier config means the orchestrator gate
283
+ // passes and compileCommand reaches the return path with an empty outcomes
284
+ // array rather than throwing CONFIG_MISSING.
285
+ const outcomes = await compileCommand({ upgradeBatch: [] });
286
+ expect(Array.isArray(outcomes)).toBe(true);
287
+ expect(outcomes).toEqual([]);
288
+ });
289
+ it('throws UPGRADE_HASH_NOT_FOUND for a hash not present in lessons', async () => {
290
+ setupFullTierWorkspace(tmpDir, {
291
+ 'rule-a.md': lessonMarkdown('Use err in catch', 'Do not use error in catch blocks.'),
292
+ }, [
293
+ {
294
+ lessonHash: hashLesson('Use err in catch', 'Do not use error in catch blocks.'),
295
+ lessonHeading: 'Use err in catch',
296
+ },
297
+ ]);
298
+ // A hash that does not match any lesson should throw rather than silently
299
+ // returning 'noop', which could mask compile-prune mutations.
300
+ await expect(compileCommand({ upgradeBatch: [{ hash: 'deadbeefdeadbeef' }] })).rejects.toMatchObject({ code: 'UPGRADE_HASH_NOT_FOUND' });
301
+ });
302
+ });
161
303
  //# sourceMappingURL=compile-upgrade.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile-upgrade.test.js","sourceRoot":"","sources":["../../src/commands/compile-upgrade.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEpE,wDAAwD;AAExD,SAAS,UAAU;IACjB,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,cAAc,CAAC,MAAc,EAAE,WAAmC;IACzE,kFAAkF;IAClF,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAC/B;QACE,UAAU;QACV,qBAAqB;QACrB,gBAAgB;QAChB,8BAA8B;QAC9B,kBAAkB;KACnB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EACnB,OAAO,CACR,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1D,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,SAAS,cAAc,CAAC,OAAe,EAAE,IAAY;IACnD,OAAO,eAAe,OAAO,yBAAyB,IAAI,IAAI,CAAC;AACjE,CAAC;AAED,sDAAsD;AAEtD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,MAAM,GAAG,oBAAoB,CAAC;YAClC,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QACH,8BAA8B;QAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,oBAAoB,CAAC;YAClC,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,MAAM,GAAG,oBAAoB,CAAC;YAClC,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,qEAAqE;QACrE,6EAA6E;QAC7E,qEAAqE;QACrE,MAAM,MAAM,GAAG,oBAAoB,CAAC;YAClC,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,0EAA0E;QAC1E,4EAA4E;QAC5E,MAAM,MAAM,GAAG,oBAAoB,CAAC;YAClC,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,sDAAsD;AAEtD,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAI,MAAc,CAAC;IACnB,IAAI,WAAmB,CAAC;IAExB,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,UAAU,EAAE,CAAC;QACtB,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3B,WAAW,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,cAAc,CAAC,MAAM,EAAE;YACrB,WAAW,EAAE,cAAc,CAAC,kBAAkB,EAAE,mCAAmC,CAAC;SACrF,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAClF,IAAI,EAAE,wBAAwB;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,cAAc,CAAC,MAAM,EAAE;YACrB,WAAW,EAAE,cAAc,CAAC,kBAAkB,EAAE,mCAAmC,CAAC;SACrF,CAAC,CAAC;QACH,MAAM,MAAM,CACV,cAAc,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAC1E,CAAC,OAAO,CAAC,aAAa,CAAC;YACtB,IAAI,EAAE,2BAA2B;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,cAAc,CAAC,MAAM,EAAE;YACrB,WAAW,EAAE,cAAc,CAAC,kBAAkB,EAAE,mCAAmC,CAAC;SACrF,CAAC,CAAC;QACH,sEAAsE;QACtE,6DAA6D;QAC7D,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YACvF,IAAI,EAAE,gBAAgB;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,cAAc,CAAC,MAAM,EAAE;YACrB,WAAW,EAAE,cAAc,CAAC,kBAAkB,EAAE,mCAAmC,CAAC;YACpF,WAAW,EAAE,cAAc,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;SACrF,CAAC,CAAC;QACH,2DAA2D;QAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAC;QAElF,+EAA+E;QAC/E,2EAA2E;QAC3E,uEAAuE;QACvE,oDAAoD;QACpD,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YACrE,IAAI,EAAE,gBAAgB;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,cAAc,CAAC,MAAM,EAAE;YACrB,WAAW,EAAE,cAAc,CAAC,kBAAkB,EAAE,mCAAmC,CAAC;SACrF,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,UAAU,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtC,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAC3E,IAAI,EAAE,gBAAgB;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"compile-upgrade.test.js","sourceRoot":"","sources":["../../src/commands/compile-upgrade.test.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,24 @@ export interface CompileOptions {
34
34
  * directive into the Pipeline 2 system prompt.
35
35
  */
36
36
  upgrade?: string;
37
+ /**
38
+ * Working directory for this compile run (mmnto/totem#1232). Defaults to
39
+ * `process.cwd()`. Pass an explicit path so callers like `runSelfHealing`
40
+ * can target a project directory that differs from the process working
41
+ * directory without relying on `process.chdir`.
42
+ */
43
+ cwd?: string;
44
+ /**
45
+ * Batch upgrade mode (mmnto/totem#1235). Used by `runSelfHealing` to avoid
46
+ * redundant config/lesson/rules loads when upgrading N candidates. When set,
47
+ * the single-hash `upgrade` path is skipped and all targets compile in a
48
+ * single pass. Cannot be combined with `upgrade`, `cloud`, or `force`.
49
+ */
50
+ upgradeBatch?: Array<{
51
+ hash: string;
52
+ /** Telemetry directive to inject into the Pipeline 2 prompt for this lesson. */
53
+ telemetryPrefix?: string;
54
+ }>;
37
55
  }
38
56
  /**
39
57
  * Build the directive injected into the Sonnet system prompt for `--upgrade`.
@@ -103,5 +121,5 @@ export interface AutoScaffoldDeps {
103
121
  }
104
122
  /** Returns true if the fixture was written, false on failure. */
105
123
  export declare function autoScaffoldFixture(lesson: LessonInput, rule: CompiledRule, deps: AutoScaffoldDeps): boolean;
106
- export declare function compileCommand(options: CompileOptions): Promise<UpgradeOutcome | void>;
124
+ export declare function compileCommand(options: CompileOptions): Promise<UpgradeOutcome | UpgradeOutcome[] | void>;
107
125
  //# sourceMappingURL=compile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAqB,WAAW,EAAE,MAAM,cAAc,CAAC;AAYjF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,CAcT;AAID;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB;IAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAQlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB;IAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAG3C;AAwDD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,cAAc,SAAS,CAAC,CAAC;IAC7B,IAAI,EAAE,cAAc,WAAW,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,GAAG,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;IAClD,mBAAmB,EAAE,cAAc,cAAc,EAAE,mBAAmB,CAAC;IACvE,qBAAqB,EAAE,cAAc,cAAc,EAAE,qBAAqB,CAAC;IAC3E,eAAe,EAAE,cAAc,cAAc,EAAE,eAAe,CAAC;IAC/D,mBAAmB,EAAE,cAAc,cAAc,EAAE,mBAAmB,CAAC;CACxE;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAyBT;AAID,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA6vB5F"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"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"}