@mmnto/cli 1.14.13 → 1.14.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.
- package/dist/assets/universal-lessons.d.ts +1 -1
- package/dist/assets/universal-lessons.d.ts.map +1 -1
- package/dist/assets/universal-lessons.js +1 -1
- package/dist/commands/compile-templates.d.ts +1 -1
- package/dist/commands/compile-templates.d.ts.map +1 -1
- package/dist/commands/compile-templates.js +29 -7
- package/dist/commands/compile-templates.js.map +1 -1
- package/dist/commands/init-templates.d.ts +2 -2
- package/dist/commands/init-templates.d.ts.map +1 -1
- package/dist/commands/init-templates.js +6 -8
- package/dist/commands/init-templates.js.map +1 -1
- package/dist/commands/shield.js +1 -1
- package/dist/commands/shield.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +2 -3
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/commands/audit-templates.d.ts +0 -16
- package/dist/commands/audit-templates.d.ts.map +0 -1
- package/dist/commands/audit-templates.js +0 -57
- package/dist/commands/audit-templates.js.map +0 -1
- package/dist/commands/audit.d.ts +0 -41
- package/dist/commands/audit.d.ts.map +0 -1
- package/dist/commands/audit.js +0 -359
- package/dist/commands/audit.js.map +0 -1
- package/dist/commands/audit.test.d.ts +0 -2
- package/dist/commands/audit.test.d.ts.map +0 -1
- package/dist/commands/audit.test.js +0 -268
- package/dist/commands/audit.test.js.map +0 -1
- package/dist/commands/bridge.d.ts +0 -7
- package/dist/commands/bridge.d.ts.map +0 -1
- package/dist/commands/bridge.js +0 -50
- package/dist/commands/bridge.js.map +0 -1
- package/dist/commands/bridge.test.d.ts +0 -2
- package/dist/commands/bridge.test.d.ts.map +0 -1
- package/dist/commands/bridge.test.js +0 -50
- package/dist/commands/bridge.test.js.map +0 -1
- package/dist/commands/briefing.d.ts +0 -18
- package/dist/commands/briefing.d.ts.map +0 -1
- package/dist/commands/briefing.js +0 -146
- package/dist/commands/briefing.js.map +0 -1
- package/dist/commands/briefing.test.d.ts +0 -2
- package/dist/commands/briefing.test.d.ts.map +0 -1
- package/dist/commands/briefing.test.js +0 -59
- package/dist/commands/briefing.test.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audit.test.js","sourceRoot":"","sources":["../../src/commands/audit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare function assembleBridge(branch: string, status: string, message?: string): string;
|
|
2
|
-
export interface BridgeOptions {
|
|
3
|
-
message?: string;
|
|
4
|
-
out?: string;
|
|
5
|
-
}
|
|
6
|
-
export declare function bridgeCommand(options: BridgeOptions): Promise<void>;
|
|
7
|
-
//# sourceMappingURL=bridge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/commands/bridge.ts"],"names":[],"mappings":"AAOA,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CA6BvF;AAID,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BzE"}
|
package/dist/commands/bridge.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
// ─── Constants ──────────────────────────────────────────
|
|
2
|
-
const TAG = 'Bridge';
|
|
3
|
-
const MAX_STATUS_FILES = 20;
|
|
4
|
-
// ─── Prompt assembly ────────────────────────────────────
|
|
5
|
-
export function assembleBridge(branch, status, message) {
|
|
6
|
-
const sections = ['# Context Bridge'];
|
|
7
|
-
sections.push(`**Branch:** ${branch}`);
|
|
8
|
-
// Summarize modified files
|
|
9
|
-
if (status.trim()) {
|
|
10
|
-
const lines = status.trim().split('\n');
|
|
11
|
-
const fileList = lines.slice(0, MAX_STATUS_FILES).join('\n');
|
|
12
|
-
const summary = lines.length > MAX_STATUS_FILES
|
|
13
|
-
? `${fileList}\n... and ${lines.length - MAX_STATUS_FILES} more file${lines.length - MAX_STATUS_FILES === 1 ? '' : 's'}`
|
|
14
|
-
: fileList;
|
|
15
|
-
sections.push(`**Modified Files:**\n${summary}`);
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
sections.push('**Modified Files:** (clean working tree)');
|
|
19
|
-
}
|
|
20
|
-
// Breadcrumb message
|
|
21
|
-
if (message) {
|
|
22
|
-
const sanitized = message.replace(/<\/\s*([a-zA-Z0-9_]+)\s*>/gi, '<\\/$1>');
|
|
23
|
-
sections.push(`**Current Task / Breadcrumb:** "${sanitized}"`);
|
|
24
|
-
}
|
|
25
|
-
sections.push('**Instruction:** Resume work based on the current uncommitted changes and the breadcrumb above. Do not restart the task from scratch.');
|
|
26
|
-
return sections.join('\n\n');
|
|
27
|
-
}
|
|
28
|
-
export async function bridgeCommand(options) {
|
|
29
|
-
const fs = await import('node:fs');
|
|
30
|
-
const path = await import('node:path');
|
|
31
|
-
const { TotemGitError } = await import('@mmnto/totem');
|
|
32
|
-
const { getGitBranch, getGitStatus } = await import('../git.js');
|
|
33
|
-
const { log } = await import('../ui.js');
|
|
34
|
-
const { writeOutput } = await import('../utils.js');
|
|
35
|
-
const cwd = process.cwd();
|
|
36
|
-
if (!fs.existsSync(path.join(cwd, '.git'))) {
|
|
37
|
-
throw new TotemGitError('Not a git repository.', 'Run `totem bridge` from a project with git initialized.');
|
|
38
|
-
}
|
|
39
|
-
log.info(TAG, 'Capturing workspace state...');
|
|
40
|
-
const branch = getGitBranch(cwd);
|
|
41
|
-
const status = getGitStatus(cwd);
|
|
42
|
-
log.info(TAG, `Branch: ${branch}`);
|
|
43
|
-
const output = assembleBridge(branch, status, options.message);
|
|
44
|
-
writeOutput(output, options.out);
|
|
45
|
-
if (options.out) {
|
|
46
|
-
log.success(TAG, `Written to ${options.out}`);
|
|
47
|
-
}
|
|
48
|
-
log.success(TAG, 'Context bridge generated. Paste this into your new session.');
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=bridge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/commands/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.test.d.ts","sourceRoot":"","sources":["../../src/commands/bridge.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { assembleBridge } from './bridge.js';
|
|
3
|
-
describe('assembleBridge', () => {
|
|
4
|
-
it('generates a bridge with branch and clean status', () => {
|
|
5
|
-
const output = assembleBridge('main', '');
|
|
6
|
-
expect(output).toContain('# Context Bridge');
|
|
7
|
-
expect(output).toContain('**Branch:** main');
|
|
8
|
-
expect(output).toContain('(clean working tree)');
|
|
9
|
-
expect(output).toContain('Resume work');
|
|
10
|
-
});
|
|
11
|
-
it('includes modified files from git status', () => {
|
|
12
|
-
const status = ' M src/foo.ts\n M src/bar.ts';
|
|
13
|
-
const output = assembleBridge('feat/test', status);
|
|
14
|
-
expect(output).toContain('src/foo.ts');
|
|
15
|
-
expect(output).toContain('src/bar.ts');
|
|
16
|
-
expect(output).not.toContain('clean working tree');
|
|
17
|
-
});
|
|
18
|
-
it('includes breadcrumb message when provided', () => {
|
|
19
|
-
const output = assembleBridge('main', '', 'Stuck on auth bug in middleware.ts');
|
|
20
|
-
expect(output).toContain('Stuck on auth bug in middleware.ts');
|
|
21
|
-
expect(output).toContain('**Current Task / Breadcrumb:**');
|
|
22
|
-
});
|
|
23
|
-
it('omits breadcrumb section when no message provided', () => {
|
|
24
|
-
const output = assembleBridge('main', '');
|
|
25
|
-
expect(output).not.toContain('Breadcrumb');
|
|
26
|
-
});
|
|
27
|
-
it('truncates file list when more than 20 files', () => {
|
|
28
|
-
const lines = Array.from({ length: 25 }, (_, i) => ` M src/file${i}.ts`);
|
|
29
|
-
const status = lines.join('\n');
|
|
30
|
-
const output = assembleBridge('main', status);
|
|
31
|
-
expect(output).toContain('src/file0.ts');
|
|
32
|
-
expect(output).toContain('src/file19.ts');
|
|
33
|
-
expect(output).not.toContain('src/file20.ts');
|
|
34
|
-
expect(output).toContain('and 5 more files');
|
|
35
|
-
});
|
|
36
|
-
it('escapes closing XML tags in breadcrumb message', () => {
|
|
37
|
-
const output = assembleBridge('main', '', 'Fix </system> injection </TAG >');
|
|
38
|
-
expect(output).toContain('<\\/system>');
|
|
39
|
-
expect(output).toContain('<\\/TAG>');
|
|
40
|
-
expect(output).not.toContain('</system>');
|
|
41
|
-
});
|
|
42
|
-
it('uses singular "file" when exactly 1 file over limit', () => {
|
|
43
|
-
const lines = Array.from({ length: 21 }, (_, i) => ` M src/file${i}.ts`);
|
|
44
|
-
const status = lines.join('\n');
|
|
45
|
-
const output = assembleBridge('main', status);
|
|
46
|
-
expect(output).toContain('and 1 more file');
|
|
47
|
-
expect(output).not.toContain('and 1 more files');
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
//# sourceMappingURL=bridge.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.test.js","sourceRoot":"","sources":["../../src/commands/bridge.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { SearchResult } from '@mmnto/totem';
|
|
2
|
-
import type { StandardPrListItem } from '../adapters/pr-adapter.js';
|
|
3
|
-
interface RetrievedContext {
|
|
4
|
-
specs: SearchResult[];
|
|
5
|
-
sessions: SearchResult[];
|
|
6
|
-
lessons: SearchResult[];
|
|
7
|
-
}
|
|
8
|
-
export declare function formatPRList(prs: StandardPrListItem[]): string;
|
|
9
|
-
export declare function assemblePrompt(branch: string, status: string, prs: StandardPrListItem[], context: RetrievedContext, systemPrompt: string): string;
|
|
10
|
-
export interface BriefingOptions {
|
|
11
|
-
raw?: boolean;
|
|
12
|
-
out?: string;
|
|
13
|
-
model?: string;
|
|
14
|
-
fresh?: boolean;
|
|
15
|
-
}
|
|
16
|
-
export declare function briefingCommand(options: BriefingOptions): Promise<void>;
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=briefing.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"briefing.d.ts","sourceRoot":"","sources":["../../src/commands/briefing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA+CpE,UAAU,gBAAgB;IACxB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AA6BD,wBAAgB,YAAY,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAG9D;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,kBAAkB,EAAE,EACzB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,MAAM,GACnB,MAAM,CA6BR;AAID,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkF7E"}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { formatLessonSection, formatResults, wrapXml } from '../utils.js';
|
|
2
|
-
// ─── Constants ──────────────────────────────────────────
|
|
3
|
-
const TAG = 'Briefing';
|
|
4
|
-
const SPEC_SEARCH_POOL = 20;
|
|
5
|
-
const MAX_SPEC_RESULTS = 5;
|
|
6
|
-
const MAX_LESSONS = 5;
|
|
7
|
-
const MAX_SESSION_RESULTS = 5;
|
|
8
|
-
// ─── System prompt ──────────────────────────────────────
|
|
9
|
-
const SYSTEM_PROMPT = `# Briefing System Prompt — Session Startup Briefing
|
|
10
|
-
|
|
11
|
-
## Purpose
|
|
12
|
-
Produce a session startup briefing that orients the developer at the start of an AI-assisted work session.
|
|
13
|
-
|
|
14
|
-
## Role
|
|
15
|
-
You are a technical project assistant producing a quick-start briefing. You have access to the current git state, open pull requests, and project knowledge from Totem. Your job is to synthesize this into an actionable summary so the developer knows exactly where they left off and what to do next.
|
|
16
|
-
|
|
17
|
-
## Rules
|
|
18
|
-
- Reference PRs by number (#NNN) and branch name
|
|
19
|
-
- Reference issues by number (#NNN) when they appear in Totem knowledge
|
|
20
|
-
- Be opinionated about what the recommended first action should be
|
|
21
|
-
- Be concise — this is a startup briefing, not a project plan
|
|
22
|
-
- If there are uncommitted changes, flag them prominently
|
|
23
|
-
- If there are no open PRs, say so
|
|
24
|
-
|
|
25
|
-
## Output Format
|
|
26
|
-
Respond with ONLY the sections below. No preamble, no closing remarks.
|
|
27
|
-
|
|
28
|
-
### Session Context
|
|
29
|
-
[Current branch, uncommitted changes summary. If working tree is clean, say so. If on a feature branch, note what it likely relates to.]
|
|
30
|
-
|
|
31
|
-
### Open PRs
|
|
32
|
-
[List of open PRs with number, title, and branch. If none, say "No open PRs." Highlight any that are the developer's current branch.]
|
|
33
|
-
|
|
34
|
-
### Active Priorities
|
|
35
|
-
[Key priorities and recent work context from Totem knowledge — what was recently worked on, what specs are active, what sessions covered. If no relevant knowledge, say "No recent context found in Totem index."]
|
|
36
|
-
|
|
37
|
-
### Recommended First Action
|
|
38
|
-
[Single clear recommendation for what the developer should do first in this session. Consider: uncommitted work to commit/continue, PRs to review/merge, next issue to pick up.]
|
|
39
|
-
`;
|
|
40
|
-
async function retrieveContext(query, store) {
|
|
41
|
-
const { partitionLessons } = await import('../utils.js');
|
|
42
|
-
const search = (typeFilter, maxResults) => store.search({ query, typeFilter, maxResults });
|
|
43
|
-
const [allSpecs, sessions] = await Promise.all([
|
|
44
|
-
search('spec', SPEC_SEARCH_POOL),
|
|
45
|
-
search('session_log', MAX_SESSION_RESULTS),
|
|
46
|
-
]);
|
|
47
|
-
const { lessons, specs } = partitionLessons(allSpecs, MAX_LESSONS, MAX_SPEC_RESULTS);
|
|
48
|
-
return { specs, sessions, lessons };
|
|
49
|
-
}
|
|
50
|
-
// ─── Prompt assembly ────────────────────────────────────
|
|
51
|
-
export function formatPRList(prs) {
|
|
52
|
-
if (prs.length === 0)
|
|
53
|
-
return '(none)';
|
|
54
|
-
return prs.map((pr) => `- #${pr.number} — ${pr.title} (branch: ${pr.headRefName})`).join('\n');
|
|
55
|
-
}
|
|
56
|
-
export function assemblePrompt(branch, status, prs, context, systemPrompt) {
|
|
57
|
-
const sections = [systemPrompt];
|
|
58
|
-
// Git state
|
|
59
|
-
sections.push('=== GIT STATE ===');
|
|
60
|
-
sections.push(`Branch: ${branch}`);
|
|
61
|
-
sections.push(`Uncommitted changes:\n${status ? wrapXml('git_status', status) : '(clean working tree)'}`);
|
|
62
|
-
// Open PRs
|
|
63
|
-
sections.push('\n=== OPEN PULL REQUESTS ===');
|
|
64
|
-
sections.push(formatPRList(prs));
|
|
65
|
-
// Totem knowledge (condensed — fast-boot command, minimize token usage)
|
|
66
|
-
const specSection = formatResults(context.specs, 'RECENT SPECS & ADRs', true);
|
|
67
|
-
const sessionSection = formatResults(context.sessions, 'RECENT SESSION HISTORY', true);
|
|
68
|
-
if (specSection || sessionSection) {
|
|
69
|
-
sections.push('\n=== TOTEM KNOWLEDGE ===');
|
|
70
|
-
if (specSection)
|
|
71
|
-
sections.push(specSection);
|
|
72
|
-
if (sessionSection)
|
|
73
|
-
sections.push(sessionSection);
|
|
74
|
-
}
|
|
75
|
-
// Lessons — condensed snippets for fast-boot command
|
|
76
|
-
const lessonSection = formatLessonSection(context.lessons, undefined, true);
|
|
77
|
-
if (lessonSection)
|
|
78
|
-
sections.push(lessonSection);
|
|
79
|
-
return sections.join('\n');
|
|
80
|
-
}
|
|
81
|
-
export async function briefingCommand(options) {
|
|
82
|
-
const path = await import('node:path');
|
|
83
|
-
const { createEmbedder, LanceStore } = await import('@mmnto/totem');
|
|
84
|
-
const { GitHubCliPrAdapter } = await import('../adapters/github-cli-pr.js');
|
|
85
|
-
const { getGitBranch, getGitStatus } = await import('../git.js');
|
|
86
|
-
const { log } = await import('../ui.js');
|
|
87
|
-
const { getSystemPrompt, loadConfig, loadEnv, requireEmbedding, resolveConfigPath, runOrchestrator, writeOutput, } = await import('../utils.js');
|
|
88
|
-
const cwd = process.cwd();
|
|
89
|
-
const configPath = resolveConfigPath(cwd);
|
|
90
|
-
loadEnv(cwd);
|
|
91
|
-
const config = await loadConfig(configPath);
|
|
92
|
-
// Gather git state
|
|
93
|
-
log.info(TAG, 'Gathering git state...');
|
|
94
|
-
const branch = getGitBranch(cwd);
|
|
95
|
-
const status = getGitStatus(cwd);
|
|
96
|
-
log.info(TAG, `Branch: ${branch}`);
|
|
97
|
-
// Fetch open PRs
|
|
98
|
-
log.info(TAG, 'Fetching open PRs...');
|
|
99
|
-
const adapter = new GitHubCliPrAdapter(cwd);
|
|
100
|
-
const prs = adapter.fetchOpenPRs();
|
|
101
|
-
log.info(TAG, `Found ${prs.length} open PRs.`);
|
|
102
|
-
// Connect to LanceDB
|
|
103
|
-
const embedding = requireEmbedding(config);
|
|
104
|
-
const embedder = createEmbedder(embedding);
|
|
105
|
-
const store = new LanceStore(path.join(cwd, config.lanceDir), embedder, {
|
|
106
|
-
absolutePathRoot: cwd,
|
|
107
|
-
});
|
|
108
|
-
await store.connect();
|
|
109
|
-
// Run index health check — surface issues before the briefing content
|
|
110
|
-
let healthWarningSection = '';
|
|
111
|
-
try {
|
|
112
|
-
const healthResult = await store.healthCheck();
|
|
113
|
-
if (!healthResult.healthy) {
|
|
114
|
-
const issueLines = healthResult.issues.map((issue) => `- ${issue}`).join('\n');
|
|
115
|
-
healthWarningSection =
|
|
116
|
-
'\n### Index Health\n' +
|
|
117
|
-
'**Warning:** The Totem index has issues that may affect search quality:\n' +
|
|
118
|
-
issueLines +
|
|
119
|
-
'\n\nRun `totem sync --full` to re-index and fix these issues.\n';
|
|
120
|
-
log.warn(TAG, `Index health check found ${healthResult.issues.length} issue(s)`);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
catch (err) {
|
|
124
|
-
log.warn(TAG, `Index health check failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
125
|
-
}
|
|
126
|
-
// Retrieve context from LanceDB
|
|
127
|
-
const query = `${branch} active work session priorities`;
|
|
128
|
-
log.info(TAG, 'Querying Totem index...');
|
|
129
|
-
const context = await retrieveContext(query, store);
|
|
130
|
-
const totalResults = context.specs.length + context.sessions.length + context.lessons.length;
|
|
131
|
-
log.info(TAG, `Found: ${context.specs.length} specs, ${context.sessions.length} sessions, ${context.lessons.length} lessons`);
|
|
132
|
-
// Resolve system prompt (allow .totem/prompts/briefing.md override)
|
|
133
|
-
const systemPrompt = getSystemPrompt('briefing', SYSTEM_PROMPT, cwd, config.totemDir);
|
|
134
|
-
// Assemble prompt
|
|
135
|
-
const prompt = assemblePrompt(branch, status, prs, context, systemPrompt);
|
|
136
|
-
log.dim(TAG, `Prompt: ${(prompt.length / 1024).toFixed(0)}KB`);
|
|
137
|
-
const content = await runOrchestrator({ prompt, tag: TAG, options, config, cwd, totalResults });
|
|
138
|
-
if (content != null) {
|
|
139
|
-
// Append index health warning section if issues were found
|
|
140
|
-
const finalContent = healthWarningSection ? content + healthWarningSection : content;
|
|
141
|
-
writeOutput(finalContent, options.out);
|
|
142
|
-
if (options.out)
|
|
143
|
-
log.success(TAG, `Written to ${options.out}`);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
//# sourceMappingURL=briefing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"briefing.js","sourceRoot":"","sources":["../../src/commands/briefing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"briefing.test.d.ts","sourceRoot":"","sources":["../../src/commands/briefing.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { assemblePrompt, formatPRList } from './briefing.js';
|
|
3
|
-
describe('formatPRList', () => {
|
|
4
|
-
it('returns (none) for empty PR list', () => {
|
|
5
|
-
expect(formatPRList([])).toBe('(none)');
|
|
6
|
-
});
|
|
7
|
-
it('formats a single PR with number, title, and branch', () => {
|
|
8
|
-
const prs = [
|
|
9
|
-
{ number: 42, title: 'Add widget', headRefName: 'feat/widget' },
|
|
10
|
-
];
|
|
11
|
-
const output = formatPRList(prs);
|
|
12
|
-
expect(output).toBe('- #42 — Add widget (branch: feat/widget)');
|
|
13
|
-
});
|
|
14
|
-
it('formats multiple PRs as a bulleted list', () => {
|
|
15
|
-
const prs = [
|
|
16
|
-
{ number: 1, title: 'First', headRefName: 'feat/first' },
|
|
17
|
-
{ number: 2, title: 'Second', headRefName: 'feat/second' },
|
|
18
|
-
];
|
|
19
|
-
const output = formatPRList(prs);
|
|
20
|
-
const lines = output.split('\n');
|
|
21
|
-
expect(lines).toHaveLength(2);
|
|
22
|
-
expect(lines[0]).toContain('#1');
|
|
23
|
-
expect(lines[1]).toContain('#2');
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
// ─── assemblePrompt ──────────────────────────────────────
|
|
27
|
-
describe('assemblePrompt', () => {
|
|
28
|
-
const makeLesson = (label) => ({
|
|
29
|
-
content: 'Lesson content here',
|
|
30
|
-
contextPrefix: '',
|
|
31
|
-
filePath: '.totem/lessons.md',
|
|
32
|
-
absoluteFilePath: '.totem/lessons.md',
|
|
33
|
-
type: 'spec',
|
|
34
|
-
label,
|
|
35
|
-
score: 0.9,
|
|
36
|
-
metadata: {},
|
|
37
|
-
});
|
|
38
|
-
it('includes condensed lesson section when lessons are present', () => {
|
|
39
|
-
const context = { specs: [], sessions: [], lessons: [makeLesson('Test trap')] };
|
|
40
|
-
const result = assemblePrompt('main', '', [], context, 'SYSTEM');
|
|
41
|
-
expect(result).toContain('RELEVANT LESSONS (HARD CONSTRAINTS)');
|
|
42
|
-
expect(result).toContain('Test trap');
|
|
43
|
-
// Condensed mode: no score display
|
|
44
|
-
expect(result).not.toContain('score:');
|
|
45
|
-
});
|
|
46
|
-
it('omits lesson section when no lessons', () => {
|
|
47
|
-
const context = { specs: [], sessions: [], lessons: [] };
|
|
48
|
-
const result = assemblePrompt('main', '', [], context, 'SYSTEM');
|
|
49
|
-
expect(result).not.toContain('RELEVANT LESSONS');
|
|
50
|
-
});
|
|
51
|
-
it('includes git state and PR info', () => {
|
|
52
|
-
const prs = [{ number: 42, title: 'Widget', headRefName: 'feat/widget' }];
|
|
53
|
-
const context = { specs: [], sessions: [], lessons: [] };
|
|
54
|
-
const result = assemblePrompt('feat/widget', 'M src/index.ts', prs, context, 'SYSTEM');
|
|
55
|
-
expect(result).toContain('Branch: feat/widget');
|
|
56
|
-
expect(result).toContain('#42');
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
//# sourceMappingURL=briefing.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"briefing.test.js","sourceRoot":"","sources":["../../src/commands/briefing.test.ts"],"names":[],"mappings":"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"}
|