@djolex999/vir-cli 0.14.0 → 0.15.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/README.md +265 -264
- package/dist/cli/embedSetup.js +62 -0
- package/dist/cli/embedSetup.js.map +1 -0
- package/dist/cli.js +70 -18
- package/dist/cli.js.map +1 -1
- package/dist/config.js +5 -0
- package/dist/config.js.map +1 -1
- package/dist/diagnostics/doctor.js +116 -18
- package/dist/diagnostics/doctor.js.map +1 -1
- package/dist/pipeline/embeddingSweep.js +17 -11
- package/dist/pipeline/embeddingSweep.js.map +1 -1
- package/dist/pipeline/projects.js +44 -7
- package/dist/pipeline/projects.js.map +1 -1
- package/dist/pipeline/run.js +33 -18
- package/dist/pipeline/run.js.map +1 -1
- package/dist/pipeline/writer.js +43 -23
- package/dist/pipeline/writer.js.map +1 -1
- package/dist/search/embedder.js +75 -15
- package/dist/search/embedder.js.map +1 -1
- package/dist/search/localProvider.js +99 -0
- package/dist/search/localProvider.js.map +1 -0
- package/dist/search/provider.js +72 -0
- package/dist/search/provider.js.map +1 -0
- package/dist/search/retriever.js +39 -12
- package/dist/search/retriever.js.map +1 -1
- package/dist/search/thresholds.js +18 -0
- package/dist/search/thresholds.js.map +1 -0
- package/dist/state/db.js +68 -17
- package/dist/state/db.js.map +1 -1
- package/package.json +1 -1
|
@@ -16,6 +16,7 @@ import { CONFIG_PATH, ConfigSchema, DAEMON_LOG_PATH, STATE_PATH, expandHome, } f
|
|
|
16
16
|
import { callLLM, maybeAnthropicClient, normalizeModelName, } from "../pipeline/distiller.js";
|
|
17
17
|
import { status as daemonStatus } from "../daemon/index.js";
|
|
18
18
|
import { EMBED_MODEL, isOllamaAvailable, probeEmbedding, } from "../search/embedder.js";
|
|
19
|
+
import { resolveEmbeddingProvider } from "../search/provider.js";
|
|
19
20
|
import { isClaudeAvailable, isInstalled } from "../mcp/install.js";
|
|
20
21
|
import { gatherProjectsReport } from "../cli/projects.js";
|
|
21
22
|
import { StateDb } from "../state/db.js";
|
|
@@ -311,35 +312,91 @@ async function checkDaemon(cfg) {
|
|
|
311
312
|
// out), so a silently-dead backup job is real data-loss exposure — warn past
|
|
312
313
|
// the threshold. Exported + parameterized for tests.
|
|
313
314
|
export const BACKUP_STALE_MS = 48 * 3600 * 1000;
|
|
314
|
-
|
|
315
|
+
// A stamp is "<iso>" or "<iso> <trigger>". Legacy bare-ISO stamps predate the
|
|
316
|
+
// trigger field and were overwhelmingly the nightly job — treating them as
|
|
317
|
+
// manual would false-warn every upgraded install until its next scheduled run.
|
|
318
|
+
function parseStamp(raw) {
|
|
319
|
+
if (raw === null)
|
|
320
|
+
return null;
|
|
321
|
+
const [iso, trigger = "scheduled"] = raw.trim().split(/\s+/);
|
|
322
|
+
const at = Date.parse(iso ?? "");
|
|
323
|
+
if (Number.isNaN(at))
|
|
324
|
+
return null;
|
|
325
|
+
return { at, trigger };
|
|
326
|
+
}
|
|
327
|
+
// Timestamp of a backup.log line like "[<iso>] FAIL: sqlite dump".
|
|
328
|
+
function parseFailTime(line) {
|
|
329
|
+
const iso = line?.match(/^\[([^\]]+)\]/)?.[1];
|
|
330
|
+
if (iso === undefined)
|
|
331
|
+
return null;
|
|
332
|
+
const at = Date.parse(iso);
|
|
333
|
+
return Number.isNaN(at) ? null : at;
|
|
334
|
+
}
|
|
335
|
+
// Only a SCHEDULED success within 48h reads healthy: a manual run proves the
|
|
336
|
+
// script works, not that the launchd job runs, so it must never silence the
|
|
337
|
+
// warning. And a FAIL that post-dates the last scheduled success is surfaced
|
|
338
|
+
// verbatim — a job that fails loudly every night into a log nobody reads is
|
|
339
|
+
// still a silent failure.
|
|
340
|
+
export function backupCheck(s, now) {
|
|
315
341
|
// No backup job configured — not an error state, just not this install's
|
|
316
342
|
// setup; emit no row rather than nag every vanilla install.
|
|
317
|
-
if (!configured)
|
|
343
|
+
if (!s.configured)
|
|
318
344
|
return null;
|
|
319
|
-
|
|
320
|
-
|
|
345
|
+
const last = parseStamp(s.last);
|
|
346
|
+
const scheduled = parseStamp(s.lastScheduled) ??
|
|
347
|
+
(last !== null && last.trigger !== "manual" ? last : null);
|
|
348
|
+
const failNote = s.lastFail === null ? "" : `\nlast failure: ${s.lastFail}`;
|
|
349
|
+
const manualNote = last !== null && last.trigger === "manual"
|
|
350
|
+
? `\nmanual run ${ageH(last.at, now)}h ago proves the script, not the job`
|
|
351
|
+
: "";
|
|
352
|
+
if (scheduled === null) {
|
|
353
|
+
if (s.last !== null && last === null) {
|
|
354
|
+
return warn("backup", "backup.last is unreadable — run ~/.vir/backup.sh");
|
|
355
|
+
}
|
|
356
|
+
return warn("backup", `scheduled job has never succeeded — check ~/.vir/backup.log${manualNote}${failNote}`);
|
|
321
357
|
}
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
return warn("backup", "backup.last is unreadable — run ~/.vir/backup.sh");
|
|
358
|
+
if (now - scheduled.at > BACKUP_STALE_MS) {
|
|
359
|
+
return warn("backup", `last scheduled success ${ageH(scheduled.at, now)}h ago (> 48h) — check ~/.vir/backup.log${manualNote}${failNote}`);
|
|
325
360
|
}
|
|
326
|
-
const
|
|
327
|
-
if (
|
|
328
|
-
return warn("backup", `
|
|
361
|
+
const failAt = parseFailTime(s.lastFail);
|
|
362
|
+
if (failAt !== null && failAt > scheduled.at) {
|
|
363
|
+
return warn("backup", `a run failed after the last scheduled success${failNote}`);
|
|
329
364
|
}
|
|
330
|
-
return ok("backup", `last success ${ageH}h ago`);
|
|
365
|
+
return ok("backup", `last scheduled success ${ageH(scheduled.at, now)}h ago`);
|
|
331
366
|
}
|
|
332
|
-
function
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
367
|
+
function ageH(at, now) {
|
|
368
|
+
return Math.round((now - at) / 3600000);
|
|
369
|
+
}
|
|
370
|
+
function readTrimmed(path) {
|
|
336
371
|
try {
|
|
337
|
-
|
|
372
|
+
return readFileSync(path, "utf8").trim() || null;
|
|
338
373
|
}
|
|
339
374
|
catch {
|
|
340
|
-
|
|
375
|
+
return null;
|
|
341
376
|
}
|
|
342
|
-
|
|
377
|
+
}
|
|
378
|
+
function lastFailLine(logPath) {
|
|
379
|
+
try {
|
|
380
|
+
const lines = readFileSync(logPath, "utf8").split("\n");
|
|
381
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
382
|
+
const line = lines[i];
|
|
383
|
+
if (line !== undefined && line.includes("FAIL: "))
|
|
384
|
+
return line.trim();
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
catch {
|
|
388
|
+
// no log yet
|
|
389
|
+
}
|
|
390
|
+
return null;
|
|
391
|
+
}
|
|
392
|
+
function checkBackup() {
|
|
393
|
+
const virDir = join(homedir(), ".vir");
|
|
394
|
+
return backupCheck({
|
|
395
|
+
configured: existsSync(join(virDir, "backup.sh")),
|
|
396
|
+
last: readTrimmed(join(virDir, "backup.last")),
|
|
397
|
+
lastScheduled: readTrimmed(join(virDir, "backup.last.scheduled")),
|
|
398
|
+
lastFail: lastFailLine(join(virDir, "backup.log")),
|
|
399
|
+
}, Date.now());
|
|
343
400
|
}
|
|
344
401
|
// ── 8. Ollama (optional) ──────────────────────────────────────────────────────
|
|
345
402
|
// Exported for tests: pure mapping from (reachability, probe result) to a
|
|
@@ -359,6 +416,46 @@ async function checkOllama() {
|
|
|
359
416
|
const reachable = await isOllamaAvailable();
|
|
360
417
|
return ollamaCheck(reachable, reachable ? await probeEmbedding() : null);
|
|
361
418
|
}
|
|
419
|
+
// ── 8b. embedding provider ────────────────────────────────────────────────────
|
|
420
|
+
// Pure so the states are unit-testable. Human table ONLY — never serialized
|
|
421
|
+
// into doctor --json (the 8-field VirDoctorResult is a cross-repo contract).
|
|
422
|
+
export function embeddingProviderCheck(providerName, model, dim, mismatched) {
|
|
423
|
+
if (providerName === "none") {
|
|
424
|
+
return warn("embedding provider", "none — search is keyword-only (TF-IDF), a supported mode\n" +
|
|
425
|
+
"semantic search: `vir embed --setup` (fastembed, ~233 MB + ~128 MB model, 384d)\n" +
|
|
426
|
+
"or install Ollama + nomic-embed-text (768d)");
|
|
427
|
+
}
|
|
428
|
+
if (mismatched > 0) {
|
|
429
|
+
return warn("embedding provider", `${providerName} · ${model} (${dim}d) — but ${mismatched} note(s) are embedded under a different model\n` +
|
|
430
|
+
"that is an unfinished migration: they are excluded from vector search\n" +
|
|
431
|
+
"finish it: `vir embed --force`");
|
|
432
|
+
}
|
|
433
|
+
return ok("embedding provider", `${providerName} · ${model} (${dim}d) · all embedded notes match`);
|
|
434
|
+
}
|
|
435
|
+
async function checkEmbeddingProvider(cfg) {
|
|
436
|
+
const provider = await resolveEmbeddingProvider(cfg?.embeddingProvider);
|
|
437
|
+
if (!provider)
|
|
438
|
+
return embeddingProviderCheck("none", null, null, 0);
|
|
439
|
+
let mismatched = 0;
|
|
440
|
+
if (cfg) {
|
|
441
|
+
try {
|
|
442
|
+
const db = new StateDb();
|
|
443
|
+
const root = join(expandHome(cfg.vaultPath), cfg.outputDir);
|
|
444
|
+
const rows = [
|
|
445
|
+
...db.getEmbeddings(root),
|
|
446
|
+
...db.getArticleEmbeddings(),
|
|
447
|
+
...db.getTopicEmbeddings(root, cfg.topicsDir),
|
|
448
|
+
...db.getPdfEmbeddings(),
|
|
449
|
+
];
|
|
450
|
+
mismatched = rows.filter((r) => r.embeddingModel !== provider.modelName).length;
|
|
451
|
+
db.close();
|
|
452
|
+
}
|
|
453
|
+
catch {
|
|
454
|
+
// provenance count is best-effort; the provider report alone is useful
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
return embeddingProviderCheck(provider.name, provider.modelName, provider.dimensions, mismatched);
|
|
458
|
+
}
|
|
362
459
|
// ── 9. Claude Code CLI ────────────────────────────────────────────────────────
|
|
363
460
|
async function checkClaudeCli() {
|
|
364
461
|
const available = await isClaudeAvailable();
|
|
@@ -412,6 +509,7 @@ export async function runDoctor() {
|
|
|
412
509
|
if (backup)
|
|
413
510
|
record(backup);
|
|
414
511
|
record(await checkOllama());
|
|
512
|
+
record(await checkEmbeddingProvider(cfg));
|
|
415
513
|
const claude = await checkClaudeCli();
|
|
416
514
|
record(claude.result);
|
|
417
515
|
// MCP registration is meaningless without the claude CLI — skip it entirely.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/diagnostics/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/diagnostics/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { deriveSessionId, } from "../state/db.js";
|
|
2
|
-
import {
|
|
2
|
+
import { embedNoteWithProvider, resolveEmbeddingProvider, } from "../search/provider.js";
|
|
3
3
|
// Pure selector mirroring db.listEmbeddingTargets's SQL filter, for unit tests
|
|
4
4
|
// against fixture rows. A note needs embedding when it was distilled
|
|
5
5
|
// (skipped=0, no error, has content + topic + category, not archived) but its
|
|
@@ -59,12 +59,17 @@ export function selectPdfEmbeddingTargets(rows) {
|
|
|
59
59
|
// pending, so the caller can log it. Same failure class as the Kie-200 and
|
|
60
60
|
// content-null silent failures: a best-effort step must record its skip so a
|
|
61
61
|
// reconcile pass can find it later.
|
|
62
|
-
export async function sweepEmbeddings(db) {
|
|
62
|
+
export async function sweepEmbeddings(db, log, provider) {
|
|
63
63
|
const targets = db.listEmbeddingTargets();
|
|
64
64
|
const topicTargets = db.listTopicEmbeddingTargets();
|
|
65
65
|
const articleTargets = db.listArticleEmbeddingTargets();
|
|
66
66
|
const pdfTargets = db.listPdfEmbeddingTargets();
|
|
67
|
-
|
|
67
|
+
// `undefined` = caller didn't resolve one (legacy call shape) → auto-detect.
|
|
68
|
+
// `null` = caller resolved to none. Either way, no provider → no-op sweep.
|
|
69
|
+
const active = provider !== undefined
|
|
70
|
+
? provider
|
|
71
|
+
: await resolveEmbeddingProvider(undefined);
|
|
72
|
+
if (!active) {
|
|
68
73
|
return {
|
|
69
74
|
ran: false,
|
|
70
75
|
embedded: 0,
|
|
@@ -75,17 +80,18 @@ export async function sweepEmbeddings(db) {
|
|
|
75
80
|
pdfTargets.length,
|
|
76
81
|
};
|
|
77
82
|
}
|
|
83
|
+
const provenance = active.provenance();
|
|
78
84
|
let embedded = 0;
|
|
79
85
|
let errors = 0;
|
|
80
86
|
for (const t of targets) {
|
|
81
87
|
if (!t.content || t.content.trim().length === 0)
|
|
82
88
|
continue;
|
|
83
|
-
const vec = await
|
|
89
|
+
const vec = await embedNoteWithProvider(active, t.content, log);
|
|
84
90
|
if (!vec) {
|
|
85
91
|
errors += 1;
|
|
86
92
|
continue;
|
|
87
93
|
}
|
|
88
|
-
db.storeEmbedding(deriveSessionId(t.path), vec);
|
|
94
|
+
db.storeEmbedding(deriveSessionId(t.path), vec, provenance);
|
|
89
95
|
embedded += 1;
|
|
90
96
|
}
|
|
91
97
|
// Topics live in a separate table but heal the same way: a `vir compose` while
|
|
@@ -95,12 +101,12 @@ export async function sweepEmbeddings(db) {
|
|
|
95
101
|
for (const t of topicTargets) {
|
|
96
102
|
if (!t.content || t.content.trim().length === 0)
|
|
97
103
|
continue;
|
|
98
|
-
const vec = await
|
|
104
|
+
const vec = await embedNoteWithProvider(active, t.content, log);
|
|
99
105
|
if (!vec) {
|
|
100
106
|
errors += 1;
|
|
101
107
|
continue;
|
|
102
108
|
}
|
|
103
|
-
db.storeTopicEmbedding(t.id, vec);
|
|
109
|
+
db.storeTopicEmbedding(t.id, vec, provenance);
|
|
104
110
|
embedded += 1;
|
|
105
111
|
}
|
|
106
112
|
// Articles heal the same way (their own table). A clip distilled while Ollama
|
|
@@ -111,12 +117,12 @@ export async function sweepEmbeddings(db) {
|
|
|
111
117
|
for (const a of articleTargets) {
|
|
112
118
|
if (!a.content || a.content.trim().length === 0)
|
|
113
119
|
continue;
|
|
114
|
-
const vec = await
|
|
120
|
+
const vec = await embedNoteWithProvider(active, a.content, log);
|
|
115
121
|
if (!vec) {
|
|
116
122
|
errors += 1;
|
|
117
123
|
continue;
|
|
118
124
|
}
|
|
119
|
-
db.storeArticleEmbedding(a.path, vec);
|
|
125
|
+
db.storeArticleEmbedding(a.path, vec, provenance);
|
|
120
126
|
embedded += 1;
|
|
121
127
|
}
|
|
122
128
|
// PDFs heal the same way (their own table). A paper distilled while Ollama was
|
|
@@ -126,12 +132,12 @@ export async function sweepEmbeddings(db) {
|
|
|
126
132
|
for (const p of pdfTargets) {
|
|
127
133
|
if (!p.content || p.content.trim().length === 0)
|
|
128
134
|
continue;
|
|
129
|
-
const vec = await
|
|
135
|
+
const vec = await embedNoteWithProvider(active, p.content, log);
|
|
130
136
|
if (!vec) {
|
|
131
137
|
errors += 1;
|
|
132
138
|
continue;
|
|
133
139
|
}
|
|
134
|
-
db.storePdfEmbedding(p.path, vec);
|
|
140
|
+
db.storePdfEmbedding(p.path, vec, provenance);
|
|
135
141
|
embedded += 1;
|
|
136
142
|
}
|
|
137
143
|
return { ran: true, embedded, errors, pending: errors };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddingSweep.js","sourceRoot":"","sources":["../../src/pipeline/embeddingSweep.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAMhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"embeddingSweep.js","sourceRoot":"","sources":["../../src/pipeline/embeddingSweep.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,18 +93,55 @@ export function sniffAgentEntrypoint(head) {
|
|
|
93
93
|
}
|
|
94
94
|
return null;
|
|
95
95
|
}
|
|
96
|
-
//
|
|
97
|
-
//
|
|
98
|
-
//
|
|
99
|
-
//
|
|
96
|
+
// Chunk size for the scan-time sniff. Review-agent first prompts embed whole
|
|
97
|
+
// diffs, so the first user line can be >100KB — and a queue-operation enqueue
|
|
98
|
+
// preamble DUPLICATES that prompt before it (observed: 133KB enqueue + 134KB
|
|
99
|
+
// user line, neither alone over one chunk, together past it). So the reader
|
|
100
|
+
// below keeps appending chunks until a COMPLETE user line is buffered instead
|
|
101
|
+
// of stopping at a fixed byte count — raising the constant would just lose
|
|
102
|
+
// the same race at a bigger size, since the preamble scales with the prompt.
|
|
100
103
|
export const SNIFF_HEAD_BYTES = 262_144;
|
|
101
|
-
|
|
104
|
+
// Hard ceiling — a pathological transcript must not drag the scan toward a
|
|
105
|
+
// full-file read. Past this, the sniff gives up (null → interactive; never
|
|
106
|
+
// downgrade what we can't see — the parser backstop still catches it later).
|
|
107
|
+
export const SNIFF_CAP_BYTES = 4 * SNIFF_HEAD_BYTES;
|
|
108
|
+
// True when a complete line in the buffer parses as a user event. The final
|
|
109
|
+
// line is complete only at EOF — a mid-line chunk boundary must not count.
|
|
110
|
+
function hasCompleteUserLine(head, eof) {
|
|
111
|
+
const lines = head.split("\n");
|
|
112
|
+
const complete = eof ? lines.length : lines.length - 1;
|
|
113
|
+
for (let i = 0; i < complete; i++) {
|
|
114
|
+
const line = lines[i];
|
|
115
|
+
if (line === undefined || line.trim().length === 0)
|
|
116
|
+
continue;
|
|
117
|
+
try {
|
|
118
|
+
if (JSON.parse(line).type === "user")
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// non-JSON or garbage line — keep scanning
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
export function readTranscriptHead(path, bytes = SNIFF_HEAD_BYTES, cap = SNIFF_CAP_BYTES) {
|
|
102
128
|
try {
|
|
103
129
|
const fd = openSync(path, "r");
|
|
104
130
|
try {
|
|
105
131
|
const buf = Buffer.alloc(bytes);
|
|
106
|
-
|
|
107
|
-
|
|
132
|
+
// Decode from the concatenated bytes each round — decoding chunks
|
|
133
|
+
// separately would corrupt a multi-byte char split across a boundary.
|
|
134
|
+
const chunks = [];
|
|
135
|
+
let pos = 0;
|
|
136
|
+
for (;;) {
|
|
137
|
+
const n = readSync(fd, buf, 0, bytes, pos);
|
|
138
|
+
chunks.push(Buffer.from(buf.subarray(0, n)));
|
|
139
|
+
pos += n;
|
|
140
|
+
const eof = n < bytes;
|
|
141
|
+
const head = Buffer.concat(chunks).toString("utf8");
|
|
142
|
+
if (eof || pos >= cap || hasCompleteUserLine(head, eof))
|
|
143
|
+
return head;
|
|
144
|
+
}
|
|
108
145
|
}
|
|
109
146
|
finally {
|
|
110
147
|
closeSync(fd);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/pipeline/projects.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/pipeline/projects.ts"],"names":[],"mappings":"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"}
|
package/dist/pipeline/run.js
CHANGED
|
@@ -30,6 +30,7 @@ import { summarizeProject } from "./summarizer.js";
|
|
|
30
30
|
import { filterToolCalls } from "./toolCallFilter.js";
|
|
31
31
|
import { kebab, VaultWriter } from "./writer.js";
|
|
32
32
|
import { sweepEmbeddings } from "./embeddingSweep.js";
|
|
33
|
+
import { resolveEmbeddingProvider } from "../search/provider.js";
|
|
33
34
|
// Per-document distill cost estimate for the article/PDF dry-run paths. Both run
|
|
34
35
|
// a Haiku classify + Sonnet distill with input bounded by the distiller's 24k
|
|
35
36
|
// char cap, so this is an accurate per-item figure (papers/long articles hit the
|
|
@@ -39,6 +40,19 @@ export function estimatePerDocDistillCost(cfg, classifyModel, distillModel) {
|
|
|
39
40
|
return (computeCost(cfg.provider, classifyModel, Math.ceil(3000 / CPT), 200, cfg.pricing, cfg.kieTopUpTier) +
|
|
40
41
|
computeCost(cfg.provider, distillModel, Math.ceil(24_000 / CPT), 1500, cfg.pricing, cfg.kieTopUpTier));
|
|
41
42
|
}
|
|
43
|
+
// The run log is the audit trail for spend, and spend happens in every mode —
|
|
44
|
+
// so this is UNGATED: interactive runs log exactly like daemon runs. (It was
|
|
45
|
+
// once gated behind a daemon-only flag; an interactive run that distilled 6
|
|
46
|
+
// sessions left no trace and produced two wrong diagnoses.) Best-effort:
|
|
47
|
+
// logging must never fail a run.
|
|
48
|
+
export function appendRunLog(msg, logPath = DAEMON_LOG_PATH) {
|
|
49
|
+
try {
|
|
50
|
+
appendFileSync(logPath, `[${new Date().toISOString()}] ${msg}\n`);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// ignore log errors
|
|
54
|
+
}
|
|
55
|
+
}
|
|
42
56
|
export async function runPipeline(cfg, opts = {}) {
|
|
43
57
|
ensureVirDir();
|
|
44
58
|
const db = new StateDb();
|
|
@@ -68,17 +82,7 @@ export async function runPipeline(cfg, opts = {}) {
|
|
|
68
82
|
pdfsErrored: 0,
|
|
69
83
|
};
|
|
70
84
|
const interactive = !opts.quiet;
|
|
71
|
-
|
|
72
|
-
const fileLog = (msg) => {
|
|
73
|
-
if (!opts.logToFile)
|
|
74
|
-
return;
|
|
75
|
-
try {
|
|
76
|
-
appendFileSync(DAEMON_LOG_PATH, `[${new Date().toISOString()}] ${msg}\n`);
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
// ignore log errors
|
|
80
|
-
}
|
|
81
|
-
};
|
|
85
|
+
const fileLog = (msg) => appendRunLog(msg);
|
|
82
86
|
if (interactive) {
|
|
83
87
|
ui.header(opts.dryRun
|
|
84
88
|
? "run --dry-run"
|
|
@@ -185,7 +189,7 @@ export async function runPipeline(cfg, opts = {}) {
|
|
|
185
189
|
return summary;
|
|
186
190
|
}
|
|
187
191
|
await runArticlePhase(cfg, db, writer, summary, fileLog, interactive);
|
|
188
|
-
await runEmbeddingSweep(db, writer, fileLog, interactive);
|
|
192
|
+
await runEmbeddingSweep(cfg, db, writer, fileLog, interactive);
|
|
189
193
|
if (interactive) {
|
|
190
194
|
ui.blank();
|
|
191
195
|
ui.divider();
|
|
@@ -219,7 +223,7 @@ export async function runPipeline(cfg, opts = {}) {
|
|
|
219
223
|
return summary;
|
|
220
224
|
}
|
|
221
225
|
await runPdfPhase(cfg, db, writer, summary, fileLog, interactive);
|
|
222
|
-
await runEmbeddingSweep(db, writer, fileLog, interactive);
|
|
226
|
+
await runEmbeddingSweep(cfg, db, writer, fileLog, interactive);
|
|
223
227
|
if (interactive) {
|
|
224
228
|
ui.blank();
|
|
225
229
|
ui.divider();
|
|
@@ -775,7 +779,7 @@ export async function runPipeline(cfg, opts = {}) {
|
|
|
775
779
|
// Self-heal: back-fill notes whose write-time embedding silently no-op'd
|
|
776
780
|
// (Ollama down during distill). Without this a transient outage is permanent
|
|
777
781
|
// — the note never enters the embedding-search candidate set.
|
|
778
|
-
await runEmbeddingSweep(db, writer, fileLog, interactive);
|
|
782
|
+
await runEmbeddingSweep(cfg, db, writer, fileLog, interactive);
|
|
779
783
|
fileLog(`vir run done — scanned=${summary.scanned} new=${summary.scanned - summary.alreadyProcessed} distilled=${summary.distilled} skipped=${summary.skippedByFilter} lowConf=${summary.lowConfidence} errored=${summary.errored} projectExcluded=${summary.projectExcluded} projectPending=${summary.projectPending} flagSkipped=${summary.flagSkipped} workflowSkipped=${summary.workflowSkipped} sidechainSkipped=${summary.sidechainSkipped} agentSkipped=${summary.agentSkipped} articles=${summary.articlesDistilled} pdfs=${summary.pdfsDistilled}`);
|
|
780
784
|
if (interactive) {
|
|
781
785
|
ui.blank();
|
|
@@ -824,9 +828,20 @@ export async function runPipeline(cfg, opts = {}) {
|
|
|
824
828
|
// only / --pdfs-only shortcuts (so an inline-embed miss self-heals in the same
|
|
825
829
|
// invocation rather than waiting for the next full run). A sweep failure must
|
|
826
830
|
// never fail the run; when Ollama is down it no-ops and retries next pass.
|
|
827
|
-
async function runEmbeddingSweep(db, writer, fileLog, interactive) {
|
|
831
|
+
async function runEmbeddingSweep(cfg, db, writer, fileLog, interactive) {
|
|
828
832
|
try {
|
|
829
|
-
const
|
|
833
|
+
const provider = await resolveEmbeddingProvider(cfg.embeddingProvider);
|
|
834
|
+
if (!provider) {
|
|
835
|
+
// Once per run, never per note — and it's an offer, not an error.
|
|
836
|
+
// TF-IDF is a supported mode.
|
|
837
|
+
if (interactive) {
|
|
838
|
+
ui.line(ui.dim("· No embedding provider. Using keyword search."));
|
|
839
|
+
ui.line(ui.dim(" Semantic search: `vir embed --setup` (one command, ~1 min, 233 MB)"));
|
|
840
|
+
ui.line(ui.dim(" Or install Ollama for 768d local embeddings."));
|
|
841
|
+
}
|
|
842
|
+
fileLog("no embedding provider — keyword search only");
|
|
843
|
+
}
|
|
844
|
+
const sweep = await sweepEmbeddings(db, fileLog, provider);
|
|
830
845
|
if (sweep.ran) {
|
|
831
846
|
if (sweep.embedded > 0 || sweep.errors > 0) {
|
|
832
847
|
fileLog(`embedding sweep: backfilled ${sweep.embedded}, ${sweep.errors} errors, ${sweep.pending} pending`);
|
|
@@ -836,9 +851,9 @@ async function runEmbeddingSweep(db, writer, fileLog, interactive) {
|
|
|
836
851
|
}
|
|
837
852
|
}
|
|
838
853
|
else if (sweep.pending > 0) {
|
|
839
|
-
fileLog(`embedding skipped,
|
|
854
|
+
fileLog(`embedding skipped, no usable provider — ${sweep.pending} pending (${writer.embedSkipped} this run)`);
|
|
840
855
|
if (interactive) {
|
|
841
|
-
ui.line(ui.dim(` embedding skipped (
|
|
856
|
+
ui.line(ui.dim(` embedding skipped (no usable provider) — ${sweep.pending} pending`));
|
|
842
857
|
}
|
|
843
858
|
}
|
|
844
859
|
}
|