mneme-ai 0.21.0 → 0.22.0
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/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +15 -3
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/insights-cli.d.ts.map +1 -1
- package/dist/commands/insights-cli.js +30 -0
- package/dist/commands/insights-cli.js.map +1 -1
- package/dist/commands/quant-cli.d.ts.map +1 -1
- package/dist/commands/quant-cli.js +25 -2
- package/dist/commands/quant-cli.js.map +1 -1
- package/dist/commands/setup-free.d.ts +7 -0
- package/dist/commands/setup-free.d.ts.map +1 -0
- package/dist/commands/setup-free.js +159 -0
- package/dist/commands/setup-free.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACxC;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACxC;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8JzE"}
|
package/dist/commands/ask.js
CHANGED
|
@@ -64,20 +64,25 @@ export async function askCommand(opts) {
|
|
|
64
64
|
if (!opts.json)
|
|
65
65
|
spinner.update(`Found ${results.length} candidates · confidence: ${confidence}`);
|
|
66
66
|
// ── Step 3. LLM synthesis (when available + not --no-llm). ───────────
|
|
67
|
+
// resolveEnricher uses 'auto' which walks the free-first ladder:
|
|
68
|
+
// local Ollama → Groq (free) → Together → OpenRouter → OpenAI (paid).
|
|
69
|
+
// If none available, throws NoEnricherAvailableError and we fall through
|
|
70
|
+
// to extractive (retrieval-only) mode without breaking the user.
|
|
67
71
|
const useLlm = !isNoLlm(opts.noLlm, cfg);
|
|
68
72
|
let enricher;
|
|
73
|
+
let enricherError;
|
|
69
74
|
if (useLlm && confidence !== "none") {
|
|
70
75
|
if (!opts.json)
|
|
71
76
|
spinner.update("Synthesizing answer...");
|
|
72
77
|
try {
|
|
73
78
|
enricher = await resolveEnricher({
|
|
74
|
-
provider:
|
|
79
|
+
provider: "auto",
|
|
75
80
|
model: cfg.embeddings.model,
|
|
76
81
|
});
|
|
77
82
|
}
|
|
78
|
-
catch {
|
|
79
|
-
// No LLM available — extractive fallback in synthesize().
|
|
83
|
+
catch (err) {
|
|
80
84
|
enricher = undefined;
|
|
85
|
+
enricherError = err.message ?? "no LLM available";
|
|
81
86
|
}
|
|
82
87
|
}
|
|
83
88
|
const synthesized = await retrieve.synthesize(opts.question, results, confidence, enricher, {
|
|
@@ -121,6 +126,13 @@ export async function askCommand(opts) {
|
|
|
121
126
|
repo: meta,
|
|
122
127
|
feedbackId,
|
|
123
128
|
}));
|
|
129
|
+
// If we fell back to retrieval-only because no LLM was available, tell
|
|
130
|
+
// the user how to upgrade for free. Once-per-run friendly nudge — never
|
|
131
|
+
// a hard error.
|
|
132
|
+
if (enricherError && useLlm && confidence !== "none") {
|
|
133
|
+
process.stdout.write(`\n ${kleur.yellow("ℹ")} ${kleur.gray("This was retrieval-only. For full Q&A synthesis, set up a free LLM:")}\n`);
|
|
134
|
+
process.stdout.write(` ${kleur.cyan().bold("mneme setup-free")} ${kleur.gray("(30-second guided wizard — Ollama / Groq / OpenRouter — all free)")}\n\n`);
|
|
135
|
+
}
|
|
124
136
|
return 0;
|
|
125
137
|
}
|
|
126
138
|
//# sourceMappingURL=ask.js.map
|
package/dist/commands/ask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAsB1B,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAuB;IACtD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACrC,EAAE,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEtC,wEAAwE;IACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEtD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,EAAE,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,8CAA8C;IAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,EAAE,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAC;QACrG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CACZ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EACzE,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CACT,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACtD,CAAC,CAAC,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,CAAC;IACX,CAAC;IAED,wEAAwE;IACxE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;QACrC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ;QACjC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK;QAC3B,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO;KAChC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;QACnD,KAAK,EAAE,CAAC;QACR,QAAQ;QACR,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;QACpB,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAExD,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,MAAM,6BAA6B,UAAU,EAAE,CAAC,CAAC;IAEjG,wEAAwE;IACxE,iEAAiE;IACjE,wEAAwE;IACxE,yEAAyE;IACzE,iEAAiE;IACjE,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzC,IAAI,QAAgD,CAAC;IACrD,IAAI,aAAiC,CAAC;IACtC,IAAI,MAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACzD,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,eAAe,CAAC;gBAC/B,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK;aAC5B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,GAAG,SAAS,CAAC;YACrB,aAAa,GAAI,GAAa,CAAC,OAAO,IAAI,kBAAkB,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,UAAU,CAC3C,IAAI,CAAC,QAAQ,EACb,OAAO,EACP,UAAU,EACV,QAAQ,EACR;QACE,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;QAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,QAAQ;KACxC,CACF,CAAC;IAEF,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,wEAAwE;IACxE,IAAI,UAA8B,CAAC;IACnC,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;YACjC,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAC/C,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK;YAC3B,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IAED,CAAC,CAAC,KAAK,EAAE,CAAC;IAEV,wEAAwE;IACxE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CACZ;YACE,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU;YACV,WAAW;YACX,aAAa,EAAE,OAAO;YACtB,UAAU;SACX,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CACT,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,EAAE,CAAC,MAAM,EAAE,CAAC;IACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,YAAY,CAAC;QACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW;QACX,OAAO;QACP,IAAI,EAAE,IAAI;QACV,UAAU;KACX,CAAC,CACH,CAAC;IAEF,uEAAuE;IACvE,wEAAwE;IACxE,gBAAgB;IAChB,IAAI,aAAa,IAAI,MAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,IAAI,CAAC,CAAC;QACzI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,MAAM,CAAC,CAAC;IAChK,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insights-cli.d.ts","sourceRoot":"","sources":["../../src/commands/insights-cli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+DH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"insights-cli.d.ts","sourceRoot":"","sources":["../../src/commands/insights-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,9 @@ export async function whoKnowsCommand(opts) {
|
|
|
76
76
|
const confLabel = verdict.confidencePct >= 80 ? "high" : verdict.confidencePct >= 50 ? "medium" : "low";
|
|
77
77
|
process.stdout.write(` ${meter(verdict.confidencePct / 100, { width: 12 })} ${kleur.cyan(verdict.confidencePct + "%")} confidence ${kleur.gray("(" + confLabel + ")")} ${kleur.gray(`— this person owns ${top.commitCount} of ${verdict.totalCommits} matching commits`)}\n`);
|
|
78
78
|
process.stdout.write(` ${kleur.gray(`last touch ${daysAgoFromIso(top.lastTouch)} ago · ${top.filesTouched} files in their footprint`)}\n`);
|
|
79
|
+
if (top.topFiles && top.topFiles.length > 0) {
|
|
80
|
+
process.stdout.write(` ${kleur.cyan("their territory:")} ${kleur.gray(top.topFiles.join(", "))}\n`);
|
|
81
|
+
}
|
|
79
82
|
if (verdict.risk) {
|
|
80
83
|
process.stdout.write(`\n ${pill("RISK", "warn")} ${kleur.yellow(verdict.risk)}\n`);
|
|
81
84
|
}
|
|
@@ -95,6 +98,9 @@ export async function whoKnowsCommand(opts) {
|
|
|
95
98
|
for (const c of candidates) {
|
|
96
99
|
const tier = renderTier(c.tier);
|
|
97
100
|
process.stdout.write(` ${tier} ${kleur.bold(c.name.padEnd(22))} ${meter(c.commitCount / Math.max(1, maxCount), { width: 8 })} ${kleur.gray(`${c.commitCount} commits · ${c.filesTouched} files · ${daysAgoFromIso(c.lastTouch)}`)}\n`);
|
|
101
|
+
if (c.topFiles && c.topFiles.length > 0) {
|
|
102
|
+
process.stdout.write(` ${kleur.gray("↳ " + c.topFiles.slice(0, 3).join(", "))}\n`);
|
|
103
|
+
}
|
|
98
104
|
}
|
|
99
105
|
process.stdout.write("\n");
|
|
100
106
|
}
|
|
@@ -212,6 +218,9 @@ export async function decisionsCommand(opts) {
|
|
|
212
218
|
process.stdout.write(` ${pill(d.kind, lvl)} ${kleur.gray(d.date)} ${kleur.cyan(d.author.padEnd(16))} ${kleur.bold(d.summary)}\n`);
|
|
213
219
|
if (d.rationale)
|
|
214
220
|
process.stdout.write(` ${kleur.gray("→ " + d.rationale)}\n`);
|
|
221
|
+
if (d.filesAffected && d.filesAffected.length > 0) {
|
|
222
|
+
process.stdout.write(` ${kleur.gray("files: " + d.filesAffected.join(", "))}\n`);
|
|
223
|
+
}
|
|
215
224
|
process.stdout.write(` ${kleur.gray(`confidence ${(d.confidence * 100).toFixed(0)}% (${confLabel}) · ${d.shortHash}`)}\n\n`);
|
|
216
225
|
}
|
|
217
226
|
if (decisions.length > 30) {
|
|
@@ -468,6 +477,12 @@ export async function storyCommand(opts) {
|
|
|
468
477
|
if (act.commits.length > 5) {
|
|
469
478
|
process.stdout.write(` ${kleur.gray(`...and ${act.commits.length - 5} more`)}\n`);
|
|
470
479
|
}
|
|
480
|
+
if (act.hotFiles && act.hotFiles.length > 0) {
|
|
481
|
+
process.stdout.write(` ${kleur.cyan("hot files (where this act took place):")}\n`);
|
|
482
|
+
for (const hf of act.hotFiles) {
|
|
483
|
+
process.stdout.write(` ${kleur.bold(String(hf.count).padStart(3))}× ${kleur.white(hf.path)}\n`);
|
|
484
|
+
}
|
|
485
|
+
}
|
|
471
486
|
process.stdout.write("\n");
|
|
472
487
|
}
|
|
473
488
|
process.stdout.write(nextSteps([
|
|
@@ -734,6 +749,9 @@ export async function regretCommand(opts) {
|
|
|
734
749
|
process.stdout.write(` ${kindBadge} shipped ${kleur.bold(r.shipped.authorDate.slice(0, 10))} ${kleur.gray("→ fixed in " + r.daysToFix + "d")}\n`);
|
|
735
750
|
process.stdout.write(` ${kleur.cyan(shippedHash)} ${kleur.bold(r.shipped.subject)}\n`);
|
|
736
751
|
process.stdout.write(` ${kleur.gray("↳ " + followupHash + " " + r.followup.subject)}\n`);
|
|
752
|
+
if (r.affectedFiles && r.affectedFiles.length > 0) {
|
|
753
|
+
process.stdout.write(` ${kleur.cyan("files affected:")} ${kleur.gray(r.affectedFiles.join(", "))}\n`);
|
|
754
|
+
}
|
|
737
755
|
if (r.lesson)
|
|
738
756
|
process.stdout.write(` ${kleur.gray("lesson: " + r.lesson)}\n`);
|
|
739
757
|
process.stdout.write("\n");
|
|
@@ -844,6 +862,15 @@ export async function paradoxCommand(opts) {
|
|
|
844
862
|
process.stdout.write(` ${kleur.bold(String(f.flips))} reversal${f.flips === 1 ? "" : "s"} ${kleur.gray(`over ${f.spanMonths} months · ${f.chain.length} decisions`)}\n\n`);
|
|
845
863
|
for (const d of f.chain) {
|
|
846
864
|
process.stdout.write(` ${kleur.gray("●")} ${kleur.bold(d.date)} ${kleur.cyan(d.shortHash)} ${d.summary} ${kleur.gray(`(${d.author})`)}\n`);
|
|
865
|
+
if (d.filesAffected && d.filesAffected.length > 0) {
|
|
866
|
+
process.stdout.write(` ${kleur.gray("↳ files: " + d.filesAffected.join(", "))}\n`);
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
if (f.hotFiles && f.hotFiles.length > 0) {
|
|
870
|
+
process.stdout.write(`\n ${kleur.cyan("hot files (where the flip-flop happened):")}\n`);
|
|
871
|
+
for (const hf of f.hotFiles) {
|
|
872
|
+
process.stdout.write(` ${kleur.bold(String(hf.count).padStart(3))}× ${kleur.white(hf.path)}\n`);
|
|
873
|
+
}
|
|
847
874
|
}
|
|
848
875
|
process.stdout.write(`\n ${kleur.yellow("→ ")}${kleur.yellow(f.question)}\n\n`);
|
|
849
876
|
}
|
|
@@ -910,6 +937,9 @@ export async function commitCoachCommand(opts) {
|
|
|
910
937
|
for (const r of advice.reviewers) {
|
|
911
938
|
const ownLabel = r.ownership >= 60 ? "primary owner" : r.ownership >= 30 ? "frequent contributor" : "occasional contributor";
|
|
912
939
|
process.stdout.write(` ${kleur.cyan("●")} ${kleur.bold(r.name)} ${kleur.gray(`<${r.email}>`)} ${kleur.cyan(r.ownership + "%")} ${kleur.gray("(" + ownLabel + ")")} ${kleur.gray(`— ${r.ownedFiles.length} owned files`)}\n`);
|
|
940
|
+
if (r.topFiles && r.topFiles.length > 0) {
|
|
941
|
+
process.stdout.write(` ${kleur.gray("territory: " + r.topFiles.map((tf) => tf.path).join(", "))}\n`);
|
|
942
|
+
}
|
|
913
943
|
}
|
|
914
944
|
process.stdout.write("\n");
|
|
915
945
|
}
|