@mmnto/cli 0.32.0 → 0.33.1

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.
@@ -70,6 +70,21 @@ describe('agent instruction files match consumer AI_PROMPT_BLOCK', () => {
70
70
  expect(AI_PROMPT_BLOCK).toContain(`totem:reflexes:version:${REFLEX_VERSION}`);
71
71
  });
72
72
  });
73
+ // ─── Instruction file length limits (FR-C01) ─────────
74
+ describe('agent instruction files stay under 50 lines (FMEA-001 / FR-C01)', () => {
75
+ const MAX_LINES = 50;
76
+ const files = [
77
+ { name: 'CLAUDE.md', content: readRoot('CLAUDE.md') },
78
+ { name: 'GEMINI.md', content: readRoot('GEMINI.md') },
79
+ { name: '.junie/guidelines.md', content: readRoot('.junie/guidelines.md') },
80
+ ];
81
+ for (const { name, content } of files) {
82
+ it(`${name} is under ${MAX_LINES} lines`, () => {
83
+ const lineCount = content.split('\n').length;
84
+ expect(lineCount).toBeLessThanOrEqual(MAX_LINES);
85
+ });
86
+ }
87
+ });
73
88
  // ─── Cross-agent consistency ─────────────────────────
74
89
  describe('all agent instruction files share the same project rules', () => {
75
90
  const claudeMd = readRoot('CLAUDE.md');
@@ -1 +1 @@
1
- {"version":3,"file":"config-drift.test.js","sourceRoot":"","sources":["../../src/commands/config-drift.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-drift.test.js","sourceRoot":"","sources":["../../src/commands/config-drift.test.ts"],"names":[],"mappings":"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"}
@@ -118,7 +118,7 @@ module.exports = function beforeTool(toolName, toolInput) {
118
118
  if (!/git\\s+(push|commit)/.test(cmd) && !/["']git["'].*["'](push|commit)["']/.test(cmd)) return;
119
119
 
120
120
  try {
121
- execSync('totem shield', { encoding: 'utf-8', timeout: 60000, stdio: 'inherit' });
121
+ execSync('totem shield --deterministic', { encoding: 'utf-8', timeout: 60000, stdio: 'inherit' });
122
122
  } catch (err) {
123
123
  throw new Error('[Totem Error] Shield check failed. Fix violations before pushing.\\n' + err.message);
124
124
  }
@@ -165,7 +165,7 @@ const { execSync } = require('child_process');
165
165
  const input = process.env.TOOL_INPUT || '';
166
166
  if (/git/.test(input) && /(push|commit)/.test(input)) {
167
167
  try {
168
- execSync('totem shield', { encoding: 'utf-8', timeout: 60000, stdio: 'inherit' });
168
+ execSync('totem shield --deterministic', { encoding: 'utf-8', timeout: 60000, stdio: 'inherit' });
169
169
  } catch (err) {
170
170
  process.exit(1);
171
171
  }
@@ -0,0 +1,4 @@
1
+ export declare function testRulesCommand(opts: {
2
+ filter?: string;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=test-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-rules.d.ts","sourceRoot":"","sources":["../../src/commands/test-rules.ts"],"names":[],"mappings":"AAEA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsF/E"}
@@ -0,0 +1,77 @@
1
+ const TAG = 'Test';
2
+ export async function testRulesCommand(opts) {
3
+ const path = await import('node:path');
4
+ const { log, bold, errorColor, success: successColor } = await import('../ui.js');
5
+ const { loadConfig, loadEnv, resolveConfigPath } = await import('../utils.js');
6
+ const { runRuleTests, sanitize } = await import('@mmnto/totem');
7
+ const cwd = process.cwd();
8
+ loadEnv(cwd);
9
+ const configPath = resolveConfigPath(cwd);
10
+ const config = await loadConfig(configPath);
11
+ const rulesPath = path.join(cwd, config.totemDir, 'compiled-rules.json');
12
+ const testsDir = path.join(cwd, config.totemDir, 'tests');
13
+ log.info(TAG, 'Running rule tests...');
14
+ const summary = runRuleTests(rulesPath, testsDir);
15
+ if (summary.total === 0) {
16
+ log.dim(TAG, `No test fixtures found in ${config.totemDir}/tests/`); // totem-ignore — config.totemDir is our own config, not untrusted
17
+ log.dim(TAG, 'Create a fixture with:');
18
+ log.dim(TAG, '');
19
+ log.dim(TAG, ' ---');
20
+ log.dim(TAG, ' rule: <lessonHash from compiled-rules.json>');
21
+ log.dim(TAG, ' file: src/example.ts'); // totem-ignore — static example text
22
+ log.dim(TAG, ' ---');
23
+ log.dim(TAG, '');
24
+ log.dim(TAG, ' ## Should fail');
25
+ log.dim(TAG, ' ```ts');
26
+ log.dim(TAG, ' const data = JSON.parse(response);'); // totem-ignore — static example text
27
+ log.dim(TAG, ' ```');
28
+ log.dim(TAG, '');
29
+ log.dim(TAG, ' ## Should pass');
30
+ log.dim(TAG, ' ```ts');
31
+ log.dim(TAG, ' const data = safeJsonParse(response);'); // totem-ignore — static example text
32
+ log.dim(TAG, ' ```');
33
+ return;
34
+ }
35
+ // Filter results if --filter is provided
36
+ let results = summary.results;
37
+ if (opts.filter) {
38
+ const filter = opts.filter.toLowerCase();
39
+ results = results.filter((r) => r.ruleHash.includes(filter) || r.ruleHeading.toLowerCase().includes(filter));
40
+ }
41
+ // Display results
42
+ for (const result of results) {
43
+ const heading = sanitize(result.ruleHeading);
44
+ if (result.passed) {
45
+ log.success(TAG, `${heading} — PASS`);
46
+ }
47
+ else {
48
+ log.error('Totem Error', `${heading} — FAIL`);
49
+ if (result.missedFails.length > 0) {
50
+ log.warn(TAG, ' Missed violations (should have caught these):');
51
+ for (const line of result.missedFails) {
52
+ console.error(` - ${sanitize(line.trim())}`);
53
+ }
54
+ }
55
+ if (result.falsePositives.length > 0) {
56
+ log.warn(TAG, ' False positives (should NOT have caught these):');
57
+ for (const line of result.falsePositives) {
58
+ console.error(` - ${sanitize(line.trim())}`);
59
+ }
60
+ }
61
+ }
62
+ }
63
+ // Summary line
64
+ const passedCount = results.filter((r) => r.passed).length;
65
+ const failedCount = results.length - passedCount;
66
+ console.error('');
67
+ if (failedCount === 0) {
68
+ const label = successColor(bold('PASS'));
69
+ log.info(TAG, `${label} — ${passedCount} rule test(s) passed`);
70
+ }
71
+ else {
72
+ const label = errorColor(bold('FAIL'));
73
+ log.info(TAG, `${label} — ${failedCount} failed, ${passedCount} passed`);
74
+ process.exit(1);
75
+ }
76
+ }
77
+ //# sourceMappingURL=test-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-rules.js","sourceRoot":"","sources":["../../src/commands/test-rules.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -226,6 +226,19 @@ program
226
226
  handleError(err);
227
227
  }
228
228
  });
229
+ program
230
+ .command('test')
231
+ .description('Run test fixtures against compiled rules (TDD for governance rules)')
232
+ .option('--filter <term>', 'Filter by rule hash or heading substring')
233
+ .action(async (opts) => {
234
+ try {
235
+ const { testRulesCommand } = await import('./commands/test-rules.js');
236
+ await testRulesCommand(opts);
237
+ }
238
+ catch (err) {
239
+ handleError(err);
240
+ }
241
+ });
229
242
  program
230
243
  .command('extract <pr-numbers...>')
231
244
  .description('Extract lessons from PR review(s) into .totem/lessons/ (interactive cherry-pick)')
@@ -328,6 +341,18 @@ program
328
341
  handleError(err);
329
342
  }
330
343
  });
344
+ program
345
+ .command('demo')
346
+ .description('Show the Totem spinner with movie quotes')
347
+ .option('--duration <seconds>', 'How long to run (default: 6)', '6')
348
+ .action(async (opts) => {
349
+ const { createSpinner } = await import('./ui.js');
350
+ const seconds = Math.max(1, Math.min(60, parseInt(opts.duration, 10) || 6));
351
+ const spinner = await createSpinner('Totem');
352
+ setTimeout(() => {
353
+ spinner.succeed(`Done — ${seconds}s of vibes`);
354
+ }, seconds * 1000);
355
+ });
331
356
  program
332
357
  .command('install-hooks')
333
358
  .description('Install git hooks interactively (legacy — prefer `totem hooks`)')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shell-orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrators/shell-orchestrator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAwBvF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,GACV;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAwBjG;AAID,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAoG7B"}
1
+ {"version":3,"file":"shell-orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrators/shell-orchestrator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAwBvF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,GACV;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAwBjG;AAID,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAoH7B"}
@@ -79,9 +79,26 @@ export async function invokeShellOrchestrator(opts) {
79
79
  if (stderr.length < LLM_MAX_OUTPUT)
80
80
  stderr += chunk.toString();
81
81
  });
82
+ const killTree = () => {
83
+ // On Windows with shell: true, child.kill() only kills the shell,
84
+ // leaving the actual process (grandchild) alive as a zombie.
85
+ // Use taskkill /T to kill the entire process tree.
86
+ if (IS_WIN && child.pid) {
87
+ try {
88
+ spawn('taskkill', ['/pid', String(child.pid), '/T', '/F'], { stdio: 'ignore' });
89
+ }
90
+ catch (_err) {
91
+ // taskkill failed — fall back to basic kill
92
+ child.kill();
93
+ }
94
+ }
95
+ else {
96
+ child.kill();
97
+ }
98
+ };
82
99
  const timer = setTimeout(() => {
83
100
  timedOut = true;
84
- child.kill();
101
+ killTree();
85
102
  }, LLM_TIMEOUT_MS);
86
103
  child.on('error', (err) => {
87
104
  clearTimeout(timer);
@@ -1 +1 @@
1
- {"version":3,"file":"shell-orchestrator.js","sourceRoot":"","sources":["../../src/orchestrators/shell-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-orchestrator.js","sourceRoot":"","sources":["../../src/orchestrators/shell-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export type QuoteCategory = 'nolan' | 'action_80s' | 'sci_fi' | 'cult_classics';
2
+ export interface Quote {
3
+ text: string;
4
+ category: QuoteCategory;
5
+ }
6
+ export declare const QUOTE_LIBRARY: Quote[];
7
+ /**
8
+ * Gets a random quote from the library.
9
+ * Weights the selection so Nolan quotes appear ~20% of the time.
10
+ */
11
+ export declare function getRandomSpinnerQuote(): string;
12
+ //# sourceMappingURL=quotes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quotes.d.ts","sourceRoot":"","sources":["../../src/ui/quotes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,GAAG,eAAe,CAAC;AAEhF,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,EA8EhC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAe9C"}
@@ -0,0 +1,96 @@
1
+ export const QUOTE_LIBRARY = [
2
+ // --- Christopher Nolan (20% target representation) ---
3
+ { text: 'We need to go deeper...', category: 'nolan' },
4
+ { text: 'Building the architecture of the dream...', category: 'nolan' },
5
+ { text: "You mustn't be afraid to dream a little bigger, darling...", category: 'nolan' },
6
+ { text: 'An idea is like a virus...', category: 'nolan' },
7
+ { text: 'I have to believe in a world outside my own mind...', category: 'nolan' },
8
+ { text: 'Memory can change the shape of a room...', category: 'nolan' },
9
+ { text: "Don't believe his lies...", category: 'nolan' },
10
+ { text: "It's not possible. No, it's necessary...", category: 'nolan' },
11
+ { text: 'Do not go gentle into that good night...', category: 'nolan' },
12
+ { text: 'Some men just want to watch the world burn...', category: 'nolan' },
13
+ { text: 'Why do we fall? So we can learn to pick ourselves up...', category: 'nolan' },
14
+ { text: 'Are you watching closely?', category: 'nolan' },
15
+ { text: 'A dream within a dream...', category: 'nolan' },
16
+ {
17
+ text: 'We used to look up at the sky and wonder at our place in the stars...',
18
+ category: 'nolan',
19
+ },
20
+ { text: 'Mankind was born on Earth. It was never meant to die here...', category: 'nolan' },
21
+ { text: 'The night is darkest just before the dawn...', category: 'nolan' },
22
+ // --- 80s Action & Sci-Fi ---
23
+ { text: 'Game over, man! Game over!', category: 'action_80s' },
24
+ {
25
+ text: "I say we take off and nuke the entire site from orbit. It's the only way to be sure...",
26
+ category: 'action_80s',
27
+ },
28
+ { text: 'Get to the chopper!', category: 'action_80s' },
29
+ { text: 'If it bleeds, we can kill it...', category: 'action_80s' },
30
+ { text: "I'll be back...", category: 'action_80s' },
31
+ { text: 'Come with me if you want to live...', category: 'action_80s' },
32
+ { text: 'Let off some steam, Bennett...', category: 'action_80s' },
33
+ { text: 'They drew first blood, not me...', category: 'action_80s' },
34
+ { text: 'If he dies, he dies...', category: 'action_80s' },
35
+ {
36
+ text: "It ain't about how hard you hit. It's about how hard you can get hit and keep moving forward...",
37
+ category: 'action_80s',
38
+ },
39
+ { text: "I'm your worst nightmare...", category: 'action_80s' },
40
+ { text: "Dead or alive, you're coming with me...", category: 'action_80s' },
41
+ { text: 'I have come here to chew bubblegum and kick ass...', category: 'action_80s' },
42
+ { text: 'Yippee-ki-yay, motherfucker...', category: 'action_80s' },
43
+ { text: "I ain't got time to bleed...", category: 'action_80s' },
44
+ // --- Sci-Fi Classics ---
45
+ {
46
+ text: 'Greetings, Starfighter. You have been recruited by the Star League...',
47
+ category: 'sci_fi',
48
+ },
49
+ { text: "I've seen things you people wouldn't believe...", category: 'sci_fi' },
50
+ { text: 'All those moments will be lost in time, like tears in rain...', category: 'sci_fi' },
51
+ { text: 'The spice must flow...', category: 'sci_fi' },
52
+ { text: 'I must not fear. Fear is the mind-killer...', category: 'sci_fi' },
53
+ { text: 'Open the pod bay doors, HAL...', category: 'sci_fi' },
54
+ { text: "I'm sorry, Dave. I'm afraid I can't do that...", category: 'sci_fi' },
55
+ { text: 'Never tell me the odds...', category: 'sci_fi' },
56
+ { text: "I am serious... and don't call me Shirley...", category: 'sci_fi' },
57
+ { text: 'May the Force be with you...', category: 'sci_fi' },
58
+ // --- Cult Classics & High Weirdness ---
59
+ { text: "It's all in the reflexes...", category: 'cult_classics' },
60
+ {
61
+ text: "You know what ol' Jack Burton always says at a time like this?",
62
+ category: 'cult_classics',
63
+ },
64
+ { text: 'Space herpes...', category: 'cult_classics' },
65
+ { text: "Forget it, Jake. It's Chinatown...", category: 'cult_classics' },
66
+ { text: 'The Glaive! You must find the Glaive...', category: 'cult_classics' },
67
+ { text: 'I can see through the eyes of the eagle...', category: 'cult_classics' },
68
+ { text: 'Transylvania 6-5000...', category: 'cult_classics' },
69
+ { text: "It's getting late. The monsters will be out soon...", category: 'cult_classics' },
70
+ { text: 'Klaatu barada nikto...', category: 'cult_classics' },
71
+ { text: 'This is my boomstick!', category: 'cult_classics' },
72
+ { text: 'Hail to the king, baby...', category: 'cult_classics' },
73
+ { text: "Good, bad, I'm the guy with the gun...", category: 'cult_classics' },
74
+ { text: "We're gonna need a bigger boat...", category: 'cult_classics' },
75
+ { text: 'What we have here is a failure to communicate...', category: 'cult_classics' },
76
+ ];
77
+ /**
78
+ * Gets a random quote from the library.
79
+ * Weights the selection so Nolan quotes appear ~20% of the time.
80
+ */
81
+ export function getRandomSpinnerQuote() {
82
+ const isNolanTime = Math.random() < 0.2; // 20% chance to force a Nolan quote
83
+ let pool = QUOTE_LIBRARY;
84
+ if (isNolanTime) {
85
+ pool = QUOTE_LIBRARY.filter((q) => q.category === 'nolan');
86
+ }
87
+ else {
88
+ pool = QUOTE_LIBRARY.filter((q) => q.category !== 'nolan');
89
+ }
90
+ // Fallback just in case the arrays are empty
91
+ if (pool.length === 0)
92
+ pool = QUOTE_LIBRARY;
93
+ const randomIndex = Math.floor(Math.random() * pool.length);
94
+ return pool[randomIndex].text;
95
+ }
96
+ //# sourceMappingURL=quotes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quotes.js","sourceRoot":"","sources":["../../src/ui/quotes.ts"],"names":[],"mappings":"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"}
package/dist/ui.d.ts CHANGED
@@ -21,6 +21,6 @@ export interface Spinner {
21
21
  * Create a spinner that writes to stderr.
22
22
  * Falls back to static log lines in non-TTY environments (CI, piped).
23
23
  */
24
- export declare function createSpinner(tag: string, text: string): Promise<Spinner>;
24
+ export declare function createSpinner(tag: string, text?: string): Promise<Spinner>;
25
25
  export declare function printBanner(): void;
26
26
  //# sourceMappingURL=ui.d.ts.map
package/dist/ui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG,MAAuB,CAAC;AAC7D,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAsB,CAAC;AAC1D,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,KAAG,MAAwB,CAAC;AAChE,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,MAAyB,CAAC;AAC9D,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAAsB,CAAC;AACjE,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,MAAuB,CAAC;AAQ5D,eAAO,MAAM,GAAG;cACJ,MAAM,OAAO,MAAM,GAAG,IAAI;iBAGvB,MAAM,OAAO,MAAM,GAAG,IAAI;cAG7B,MAAM,OAAO,MAAM,GAAG,IAAI;eAGzB,MAAM,OAAO,MAAM,GAAG,IAAI;aAG5B,MAAM,OAAO,MAAM,GAAG,IAAI;CAGpC,CAAC;AAIF,MAAM,WAAW,OAAO;IACtB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAyC/E;AAWD,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG,MAAuB,CAAC;AAC7D,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAsB,CAAC;AAC1D,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,KAAG,MAAwB,CAAC;AAChE,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,MAAyB,CAAC;AAC9D,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAAsB,CAAC;AACjE,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,MAAuB,CAAC;AAQ5D,eAAO,MAAM,GAAG;cACJ,MAAM,OAAO,MAAM,GAAG,IAAI;iBAGvB,MAAM,OAAO,MAAM,GAAG,IAAI;cAG7B,MAAM,OAAO,MAAM,GAAG,IAAI;eAGzB,MAAM,OAAO,MAAM,GAAG,IAAI;aAG5B,MAAM,OAAO,MAAM,GAAG,IAAI;CAGpC,CAAC;AAIF,MAAM,WAAW,OAAO;IACtB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,IAAI,CAAC;CACd;AAYD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA8DhF;AAWD,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
package/dist/ui.js CHANGED
@@ -27,15 +27,25 @@ export const log = {
27
27
  console.error(`${prefix(tag)} ${dim(msg)}`);
28
28
  },
29
29
  };
30
+ import { getRandomSpinnerQuote } from './ui/quotes.js'; // totem-ignore — ui.ts is a shared utility, not a command file
31
+ /**
32
+ * Custom spinner frame resembling an Inception spinning top wobbling.
33
+ */
34
+ const INCEPTION_TOP = {
35
+ interval: 100,
36
+ frames: ['◐', '◓', '◑', '◒'],
37
+ };
30
38
  /**
31
39
  * Create a spinner that writes to stderr.
32
40
  * Falls back to static log lines in non-TTY environments (CI, piped).
33
41
  */
34
42
  export async function createSpinner(tag, text) {
35
43
  const isTTY = !!process.stderr.isTTY;
44
+ const isQuoteMode = !text; // If no text provided, we cycle quotes
45
+ let currentText = text || getRandomSpinnerQuote();
36
46
  if (!isTTY) {
37
47
  // Non-interactive: static log lines
38
- console.error(`${prefix(tag)} ${text}`);
48
+ console.error(`${prefix(tag)} ${currentText}`);
39
49
  return {
40
50
  update(newText) {
41
51
  console.error(`${prefix(tag)} ${newText}`);
@@ -54,20 +64,38 @@ export async function createSpinner(tag, text) {
54
64
  // Dynamic import to keep startup fast for non-spinner commands
55
65
  const ora = (await import('ora')).default;
56
66
  const spinner = ora({
57
- text: `${prefix(tag)} ${text}`,
67
+ text: `${prefix(tag)} ${currentText}`,
58
68
  stream: process.stderr,
69
+ spinner: INCEPTION_TOP,
59
70
  }).start();
71
+ let quoteInterval = null;
72
+ // Cycle quotes every 4 seconds if we are in quote mode
73
+ if (isQuoteMode) {
74
+ quoteInterval = setInterval(() => {
75
+ currentText = getRandomSpinnerQuote();
76
+ spinner.text = `${prefix(tag)} ${currentText}`;
77
+ }, 4000);
78
+ }
79
+ const cleanup = () => {
80
+ if (quoteInterval)
81
+ clearInterval(quoteInterval);
82
+ };
60
83
  return {
61
84
  update(newText) {
85
+ if (isQuoteMode)
86
+ return; // Don't let external progress updates overwrite our movie quotes if in quote mode
62
87
  spinner.text = `${prefix(tag)} ${newText}`;
63
88
  },
64
89
  succeed(doneText) {
90
+ cleanup();
65
91
  spinner.succeed(doneText ? `${prefix(tag)} ${doneText}` : undefined);
66
92
  },
67
93
  fail(errText) {
94
+ cleanup();
68
95
  spinner.fail(errText ? `${prefix(tag)} ${errText}` : undefined);
69
96
  },
70
97
  stop() {
98
+ cleanup();
71
99
  spinner.stop();
72
100
  },
73
101
  };
package/dist/ui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,wDAAwD;AAExD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE5D,uDAAuD;AAEvD,SAAS,MAAM,CAAC,GAAW;IACzB,OAAO,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,IAAI,CAAC,GAAW,EAAE,GAAW;QAC3B,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,GAAW,EAAE,GAAW;QAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,CAAC,GAAW,EAAE,GAAW;QAC3B,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,GAAW,EAAE,GAAW;QAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,GAAG,CAAC,GAAW,EAAE,GAAW;QAC1B,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC;AAWF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,IAAY;IAC3D,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAErC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,oCAAoC;QACpC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO;YACL,MAAM,CAAC,OAAe;gBACpB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,QAAiB;gBACvB,IAAI,QAAQ;oBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,OAAgB;gBACnB,IAAI,OAAO;oBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,KAAI,CAAC;SACV,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC;QAClB,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEX,OAAO;QACL,MAAM,CAAC,OAAe;YACpB,OAAO,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,CAAC,QAAiB;YACvB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,OAAgB;YACnB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC;QACD,IAAI;YACF,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,wDAAwD;AAExD,MAAM,MAAM,GAAG;IACX,KAAK,CAAC,iBAAiB,CAAC;IACxB,KAAK,CAAC,iBAAiB,CAAC;IACxB,KAAK,CAAC,iBAAiB,CAAC;IACxB,GAAG,CAAC,mCAAmC,CAAC;CAC3C,CAAC;AAEF,MAAM,UAAU,WAAW;IACzB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmnto/cli",
3
- "version": "0.32.0",
3
+ "version": "0.33.1",
4
4
  "description": "CLI for Totem — AI persistent memory and context layer",
5
5
  "type": "module",
6
6
  "bin": {
@@ -21,7 +21,7 @@
21
21
  "ora": "^9.3.0",
22
22
  "picocolors": "^1.1.1",
23
23
  "zod": "^3.24.0",
24
- "@mmnto/totem": "0.32.0"
24
+ "@mmnto/totem": "0.33.1"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@anthropic-ai/sdk": "^0.78.0",