@younndai/lyt 0.9.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/LICENSE +200 -0
- package/NOTICE +23 -0
- package/README.md +117 -0
- package/dist/automator-bodies/arc-builder.d.ts +13 -0
- package/dist/automator-bodies/arc-builder.d.ts.map +1 -0
- package/dist/automator-bodies/arc-builder.js +34 -0
- package/dist/automator-bodies/arc-builder.js.map +1 -0
- package/dist/automator-bodies/index.d.ts +20 -0
- package/dist/automator-bodies/index.d.ts.map +1 -0
- package/dist/automator-bodies/index.js +32 -0
- package/dist/automator-bodies/index.js.map +1 -0
- package/dist/automator-bodies/lane-builder.d.ts +12 -0
- package/dist/automator-bodies/lane-builder.d.ts.map +1 -0
- package/dist/automator-bodies/lane-builder.js +34 -0
- package/dist/automator-bodies/lane-builder.js.map +1 -0
- package/dist/automator-bodies/metadata-filler.d.ts +34 -0
- package/dist/automator-bodies/metadata-filler.d.ts.map +1 -0
- package/dist/automator-bodies/metadata-filler.js +211 -0
- package/dist/automator-bodies/metadata-filler.js.map +1 -0
- package/dist/automator-run.d.ts +27 -0
- package/dist/automator-run.d.ts.map +1 -0
- package/dist/automator-run.js +137 -0
- package/dist/automator-run.js.map +1 -0
- package/dist/bench/graded-corpus.d.ts +5 -0
- package/dist/bench/graded-corpus.d.ts.map +1 -0
- package/dist/bench/graded-corpus.js +121 -0
- package/dist/bench/graded-corpus.js.map +1 -0
- package/dist/bench/invariant-corpus.d.ts +18 -0
- package/dist/bench/invariant-corpus.d.ts.map +1 -0
- package/dist/bench/invariant-corpus.js +181 -0
- package/dist/bench/invariant-corpus.js.map +1 -0
- package/dist/bench/ir-metrics.d.ts +33 -0
- package/dist/bench/ir-metrics.d.ts.map +1 -0
- package/dist/bench/ir-metrics.js +79 -0
- package/dist/bench/ir-metrics.js.map +1 -0
- package/dist/bench/latency-bench.d.ts +15 -0
- package/dist/bench/latency-bench.d.ts.map +1 -0
- package/dist/bench/latency-bench.js +68 -0
- package/dist/bench/latency-bench.js.map +1 -0
- package/dist/bench/latency-corpus.d.ts +4 -0
- package/dist/bench/latency-corpus.d.ts.map +1 -0
- package/dist/bench/latency-corpus.js +109 -0
- package/dist/bench/latency-corpus.js.map +1 -0
- package/dist/bench/pod-harness.d.ts +16 -0
- package/dist/bench/pod-harness.d.ts.map +1 -0
- package/dist/bench/pod-harness.js +127 -0
- package/dist/bench/pod-harness.js.map +1 -0
- package/dist/bench/run-bench.d.ts +20 -0
- package/dist/bench/run-bench.d.ts.map +1 -0
- package/dist/bench/run-bench.js +86 -0
- package/dist/bench/run-bench.js.map +1 -0
- package/dist/cli-automator-run.d.ts +7 -0
- package/dist/cli-automator-run.d.ts.map +1 -0
- package/dist/cli-automator-run.js +80 -0
- package/dist/cli-automator-run.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +161 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/bench.d.ts +3 -0
- package/dist/commands/bench.d.ts.map +1 -0
- package/dist/commands/bench.js +92 -0
- package/dist/commands/bench.js.map +1 -0
- package/dist/commands/capture.d.ts +4 -0
- package/dist/commands/capture.d.ts.map +1 -0
- package/dist/commands/capture.js +251 -0
- package/dist/commands/capture.js.map +1 -0
- package/dist/commands/init.d.ts +12 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +741 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/primer.d.ts +3 -0
- package/dist/commands/primer.d.ts.map +1 -0
- package/dist/commands/primer.js +199 -0
- package/dist/commands/primer.js.map +1 -0
- package/dist/commands/reindex.d.ts +3 -0
- package/dist/commands/reindex.d.ts.map +1 -0
- package/dist/commands/reindex.js +105 -0
- package/dist/commands/reindex.js.map +1 -0
- package/dist/commands/search.d.ts +3 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +224 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/flows/heal.d.ts +29 -0
- package/dist/flows/heal.d.ts.map +1 -0
- package/dist/flows/heal.js +146 -0
- package/dist/flows/heal.js.map +1 -0
- package/dist/flows/init-bootstrap.d.ts +93 -0
- package/dist/flows/init-bootstrap.d.ts.map +1 -0
- package/dist/flows/init-bootstrap.js +561 -0
- package/dist/flows/init-bootstrap.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primer.d.ts","sourceRoot":"","sources":["../../src/commands/primer.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,wBAAgB,kBAAkB,IAAI,OAAO,CAuG5C"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 MARLINK TRADING SRL (YounndAI)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
// v1.D.4 — `lyt primer` top-level meta-CLI verb (OD-1 default).
|
|
17
|
+
//
|
|
18
|
+
// Second CONSUMER verb of Lane D (mirrors v1.D.3 `lyt search` posture).
|
|
19
|
+
// Composes a deterministic agent-priming markdown file from the
|
|
20
|
+
// already-shipped per-vault caches (lanes.db + arcs.db + provenance.db)
|
|
21
|
+
// into <vault>/.lyt/primers/{scope}-primer.md.
|
|
22
|
+
//
|
|
23
|
+
// Lives at meta-CLI level — placing under `vault` would tilt user
|
|
24
|
+
// mental model toward single-vault use; the verb operates at
|
|
25
|
+
// vault/mesh/federation scope. Mirrors how `lyt search` is wired.
|
|
26
|
+
//
|
|
27
|
+
// Error contract (OD-8 default):
|
|
28
|
+
// missing --target on scope=vault/mesh → exit 1 + structured JSON
|
|
29
|
+
// unknown vault / mesh → exit 1 + structured JSON
|
|
30
|
+
// invalid --top-keywords / --top-arcs / → exit 1 + structured JSON
|
|
31
|
+
// --provenance-days
|
|
32
|
+
// underlying flow throws → exit 2 + structured JSON
|
|
33
|
+
import { Command } from "commander";
|
|
34
|
+
import { generatePrimerFlow, withSpinner, } from "@younndai/lyt-vault";
|
|
35
|
+
const VALID_SCOPES = new Set(["vault", "mesh", "federation"]);
|
|
36
|
+
export function buildPrimerCommand() {
|
|
37
|
+
return new Command("primer")
|
|
38
|
+
.description("v1.D.4: generate an agent-priming markdown file by aggregating top keywords (frequency × recency), active arcs, recent provenance entries, and top lanes across the selected scope. Writes to <vault>/.lyt/primers/{scope}-primer.md (atomic). Query-less aggregation — distinct from `lyt search` (query-driven).")
|
|
39
|
+
.requiredOption("--scope <scope>", "Aggregation scope: vault | mesh | federation")
|
|
40
|
+
.option("--target <name>", "Target name (required for scope=vault | mesh; ignored for scope=federation)")
|
|
41
|
+
.option("--top-keywords <n>", "Top-N keywords to surface (default 20)")
|
|
42
|
+
.option("--top-arcs <n>", "Top-N arcs + top-N lanes to surface (default 10; shared cap)")
|
|
43
|
+
.option("--provenance-days <n>", "Days of provenance history to include in Recent activity (default 7)")
|
|
44
|
+
.option("--dry-run", "Render markdown to stdout WITHOUT writing the primer file")
|
|
45
|
+
.option("--json", "Emit deterministic Lock 0.3 JSON (includes full markdown payload)")
|
|
46
|
+
.option("--now-iso <iso>", "Pin the 'now' timestamp for deterministic testing (ISO 8601)")
|
|
47
|
+
.action(async (opts) => {
|
|
48
|
+
const scopeRaw = String(opts.scope ?? "");
|
|
49
|
+
if (!VALID_SCOPES.has(scopeRaw)) {
|
|
50
|
+
emitError(opts.json === true, {
|
|
51
|
+
error: "invalid-scope",
|
|
52
|
+
value: scopeRaw,
|
|
53
|
+
message: `--scope must be one of: vault, mesh, federation (got: ${JSON.stringify(scopeRaw)}).`,
|
|
54
|
+
});
|
|
55
|
+
process.exitCode = 1;
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const scope = scopeRaw;
|
|
59
|
+
if ((scope === "vault" || scope === "mesh") && opts.target === undefined) {
|
|
60
|
+
emitError(opts.json === true, {
|
|
61
|
+
error: "missing-target",
|
|
62
|
+
scope,
|
|
63
|
+
message: `--target <name> is required for --scope ${scope}.`,
|
|
64
|
+
});
|
|
65
|
+
process.exitCode = 1;
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const topKeywords = parsePositiveInt(opts.topKeywords, "top-keywords");
|
|
69
|
+
if (topKeywords.error !== null) {
|
|
70
|
+
emitError(opts.json === true, topKeywords.error);
|
|
71
|
+
process.exitCode = 1;
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const topArcs = parsePositiveInt(opts.topArcs, "top-arcs");
|
|
75
|
+
if (topArcs.error !== null) {
|
|
76
|
+
emitError(opts.json === true, topArcs.error);
|
|
77
|
+
process.exitCode = 1;
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const provenanceDays = parsePositiveInt(opts.provenanceDays, "provenance-days");
|
|
81
|
+
if (provenanceDays.error !== null) {
|
|
82
|
+
emitError(opts.json === true, provenanceDays.error);
|
|
83
|
+
process.exitCode = 1;
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const args = {
|
|
87
|
+
scope,
|
|
88
|
+
...(opts.target !== undefined ? { scopeTarget: opts.target } : {}),
|
|
89
|
+
...(topKeywords.value !== null ? { topKeywords: topKeywords.value } : {}),
|
|
90
|
+
...(topArcs.value !== null ? { topArcs: topArcs.value } : {}),
|
|
91
|
+
...(provenanceDays.value !== null ? { provenanceDays: provenanceDays.value } : {}),
|
|
92
|
+
...(opts.dryRun === true ? { dryRun: true } : {}),
|
|
93
|
+
...(opts.nowIso !== undefined ? { nowIso: opts.nowIso } : {}),
|
|
94
|
+
};
|
|
95
|
+
try {
|
|
96
|
+
// V-DX-1 — liveness spinner over the silent aggregate window. Gated
|
|
97
|
+
// off for BOTH --json AND --dry-run: dry-run renders pipeable markdown
|
|
98
|
+
// to stdout ("pipeable into other tools"), so a spinner byte would
|
|
99
|
+
// pollute it. Non-TTY otherwise prints "Priming…" once (zero escapes).
|
|
100
|
+
const useSpinner = opts.json !== true && opts.dryRun !== true;
|
|
101
|
+
const res = useSpinner
|
|
102
|
+
? await withSpinner(scope === "federation" ? "federation" : (opts.target ?? scope), () => generatePrimerFlow(args), { op: "primer" })
|
|
103
|
+
: await generatePrimerFlow(args);
|
|
104
|
+
if (opts.json === true) {
|
|
105
|
+
emitJsonResult(res);
|
|
106
|
+
}
|
|
107
|
+
else if (opts.dryRun === true) {
|
|
108
|
+
// Human dry-run: print the rendered markdown verbatim per OD-11
|
|
109
|
+
// default (full markdown to stdout; pipeable into other tools).
|
|
110
|
+
// eslint-disable-next-line no-console
|
|
111
|
+
console.log(res.markdown);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
emitHumanResult(res);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
119
|
+
emitError(opts.json === true, {
|
|
120
|
+
error: "primer-generate-error",
|
|
121
|
+
message,
|
|
122
|
+
});
|
|
123
|
+
process.exitCode = 2;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function parsePositiveInt(raw, name) {
|
|
128
|
+
if (raw === undefined)
|
|
129
|
+
return { value: null, error: null };
|
|
130
|
+
const parsed = Number.parseInt(raw, 10);
|
|
131
|
+
if (!Number.isFinite(parsed) || parsed < 1) {
|
|
132
|
+
return {
|
|
133
|
+
value: null,
|
|
134
|
+
error: {
|
|
135
|
+
error: `invalid-${name}`,
|
|
136
|
+
value: raw,
|
|
137
|
+
message: `--${name} must be a positive integer (got: ${JSON.stringify(raw)}).`,
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
return { value: parsed, error: null };
|
|
142
|
+
}
|
|
143
|
+
function emitJsonResult(res) {
|
|
144
|
+
// Stable-key-ordered output per Lock 0.3.
|
|
145
|
+
const stable = {
|
|
146
|
+
scope: res.scope,
|
|
147
|
+
scopeTarget: res.scopeTarget,
|
|
148
|
+
primerPath: res.primerPath,
|
|
149
|
+
dryRun: res.dryRun,
|
|
150
|
+
vaultsScanned: res.vaultsScanned,
|
|
151
|
+
topKeywords: res.topKeywords.map((k) => ({
|
|
152
|
+
keyword: k.keyword,
|
|
153
|
+
score: k.score,
|
|
154
|
+
totalMemCount: k.totalMemCount,
|
|
155
|
+
lastSeen: k.lastSeen,
|
|
156
|
+
})),
|
|
157
|
+
topArcs: res.topArcs.map((a) => ({
|
|
158
|
+
name: a.name,
|
|
159
|
+
category: a.category,
|
|
160
|
+
lastTouched: a.lastTouched,
|
|
161
|
+
vaultName: a.vaultName,
|
|
162
|
+
memberCount: a.memberCount,
|
|
163
|
+
})),
|
|
164
|
+
recentActivity: res.recentActivity.map((r) => ({
|
|
165
|
+
ts: r.ts,
|
|
166
|
+
tsIso: r.tsIso,
|
|
167
|
+
targetType: r.targetType,
|
|
168
|
+
targetId: r.targetId,
|
|
169
|
+
src: r.src,
|
|
170
|
+
vaultName: r.vaultName,
|
|
171
|
+
idHex: r.idHex,
|
|
172
|
+
})),
|
|
173
|
+
topLanes: res.topLanes.map((l) => ({
|
|
174
|
+
name: l.name,
|
|
175
|
+
keywords: l.keywords,
|
|
176
|
+
memCount: l.memCount,
|
|
177
|
+
vaultName: l.vaultName,
|
|
178
|
+
})),
|
|
179
|
+
markdown: res.markdown,
|
|
180
|
+
durationMs: res.durationMs,
|
|
181
|
+
};
|
|
182
|
+
// eslint-disable-next-line no-console
|
|
183
|
+
console.log(JSON.stringify(stable, null, 2));
|
|
184
|
+
}
|
|
185
|
+
function emitHumanResult(res) {
|
|
186
|
+
// eslint-disable-next-line no-console
|
|
187
|
+
console.log(`Primer written to ${res.primerPath} (${res.topKeywords.length} keywords, ${res.topArcs.length} arcs, ${res.recentActivity.length} recent activity entries, ${res.topLanes.length} lanes; ${res.durationMs}ms).`);
|
|
188
|
+
}
|
|
189
|
+
function emitError(json, body) {
|
|
190
|
+
if (json) {
|
|
191
|
+
// eslint-disable-next-line no-console
|
|
192
|
+
console.error(JSON.stringify(body, null, 2));
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
// eslint-disable-next-line no-console
|
|
196
|
+
console.error(`lyt primer: ${String(body["message"] ?? body["error"])}`);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=primer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primer.js","sourceRoot":"","sources":["../../src/commands/primer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reindex.d.ts","sourceRoot":"","sources":["../../src/commands/reindex.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,mBAAmB,IAAI,OAAO,CAoE7C"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 MARLINK TRADING SRL (YounndAI)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Command } from "commander";
|
|
17
|
+
import { reindexFlow, withSpinner } from "@younndai/lyt-vault";
|
|
18
|
+
// Lane V Phase 0 (0.5 / CLI gaps C1+C2) — `lyt reindex`.
|
|
19
|
+
//
|
|
20
|
+
// Pod / mesh / vault-wide all-content-tier reindex. The umbrella over
|
|
21
|
+
// `lyt vault rebuild` (one vault, all tiers), which is itself the umbrella over
|
|
22
|
+
// the four `lyt vault rebuild-*` verbs. Top-level (like `lyt search` / `lyt
|
|
23
|
+
// primer`) because its default mental model is pod-wide, not single-vault.
|
|
24
|
+
// NOT `lyt vault rebuild-index` (a vault's destructive schema reset — C4).
|
|
25
|
+
export function buildReindexCommand() {
|
|
26
|
+
return new Command("reindex")
|
|
27
|
+
.description("Rebuild ALL content-tier caches (lanes + arcs + fts + rollup) across a scope: --all (whole pod), --mesh <name>, or --vault <name>. The pod/mesh-wide umbrella over `lyt vault rebuild`.")
|
|
28
|
+
.option("--all", "Reindex every registered vault in the pod")
|
|
29
|
+
.option("--mesh <name>", "Reindex every vault in the named mesh")
|
|
30
|
+
.option("--vault <name>", "Reindex a single named vault")
|
|
31
|
+
.option("--threshold <n>", "Lane clustering threshold (default 2)")
|
|
32
|
+
.option("--json", "Emit a JSON result instead of the human-readable summary")
|
|
33
|
+
.action(async (opts) => {
|
|
34
|
+
try {
|
|
35
|
+
const scope = resolveScope(opts);
|
|
36
|
+
const threshold = opts.threshold !== undefined ? Number.parseInt(opts.threshold, 10) : undefined;
|
|
37
|
+
const reindexArgs = {
|
|
38
|
+
scope: scope.scope,
|
|
39
|
+
...(scope.target !== undefined ? { target: scope.target } : {}),
|
|
40
|
+
...(threshold !== undefined && Number.isFinite(threshold) ? { threshold } : {}),
|
|
41
|
+
};
|
|
42
|
+
// V-DX-1 — liveness spinner over the multi-vault reindex window.
|
|
43
|
+
// --json stays spinner-free; non-TTY prints "Reindexing…" once.
|
|
44
|
+
const result = opts.json !== true
|
|
45
|
+
? await withSpinner(scope.target ?? scope.scope, () => reindexFlow(reindexArgs), {
|
|
46
|
+
op: "reindex",
|
|
47
|
+
})
|
|
48
|
+
: await reindexFlow(reindexArgs);
|
|
49
|
+
if (opts.json === true) {
|
|
50
|
+
// eslint-disable-next-line no-console
|
|
51
|
+
console.log(JSON.stringify(result, null, 2));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (result.vaultsReindexed === 0 && result.vaultsSkippedFrozen.length === 0) {
|
|
55
|
+
// eslint-disable-next-line no-console
|
|
56
|
+
console.log("reindex: no vaults in scope (nothing to do).");
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const head = `Reindexed ${result.vaultsReindexed} vault(s) [${result.scope}${result.target !== null ? ` ${result.target}` : ""}] in ${result.durationMs}ms:`;
|
|
60
|
+
const lines = [head];
|
|
61
|
+
// hardening pass follow-through (release review): batch scopes skip
|
|
62
|
+
// frozen vaults instead of aborting the sweep — say which, loudly.
|
|
63
|
+
for (const s of result.vaultsSkippedFrozen) {
|
|
64
|
+
lines.push(` ❄ ${s.name}: skipped (frozen until ${s.frozenUntil ?? "<unknown>"}) — run 'lyt vault unfreeze ${s.name}' then re-run, or reindex it alone with --vault.`);
|
|
65
|
+
}
|
|
66
|
+
for (const v of result.vaults) {
|
|
67
|
+
lines.push(` ${v.vaultName}: lanes ${v.lanes.lanesWritten} · arcs ${v.arcs.arcsWritten} · fts ${v.fts.ftsDocsInserted} · rollup ${v.rollup.rollupRowsWritten}`);
|
|
68
|
+
// F15 — say so loudly when a corrupt index was quarantined; the
|
|
69
|
+
// rebuild above ran on a fresh schema and the old file is kept
|
|
70
|
+
// beside it for inspection.
|
|
71
|
+
if (v.indexQuarantinedTo !== null) {
|
|
72
|
+
lines.push(` ⚠ ${v.vaultName}: corrupt index quarantined → ${v.indexQuarantinedTo}; rebuilt fresh.`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// eslint-disable-next-line no-console
|
|
76
|
+
console.log(lines.join("\n"));
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
// eslint-disable-next-line no-console
|
|
80
|
+
console.error(`lyt reindex: ${err instanceof Error ? err.message : String(err)}`);
|
|
81
|
+
process.exitCode = 2;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function resolveScope(opts) {
|
|
86
|
+
const chosen = [];
|
|
87
|
+
if (opts.all === true)
|
|
88
|
+
chosen.push("all");
|
|
89
|
+
if (opts.mesh !== undefined)
|
|
90
|
+
chosen.push("mesh");
|
|
91
|
+
if (opts.vault !== undefined)
|
|
92
|
+
chosen.push("vault");
|
|
93
|
+
if (chosen.length === 0) {
|
|
94
|
+
throw new Error("specify exactly one scope: --all, --mesh <name>, or --vault <name>.");
|
|
95
|
+
}
|
|
96
|
+
if (chosen.length > 1) {
|
|
97
|
+
throw new Error(`specify exactly one scope; got ${chosen.join(" + ")}.`);
|
|
98
|
+
}
|
|
99
|
+
if (opts.all === true)
|
|
100
|
+
return { scope: "all" };
|
|
101
|
+
if (opts.mesh !== undefined)
|
|
102
|
+
return { scope: "mesh", target: opts.mesh };
|
|
103
|
+
return { scope: "vault", target: opts.vault };
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=reindex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reindex.js","sourceRoot":"","sources":["../../src/commands/reindex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AA4CA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,wBAAgB,kBAAkB,IAAI,OAAO,CAiH5C"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 MARLINK TRADING SRL (YounndAI)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
// v1.D.3b — `lyt search` top-level CLI verb (meta-CLI level per OD-1).
|
|
17
|
+
//
|
|
18
|
+
// First CONSUMER verb of Lane D — runs the tiered-cascade engine
|
|
19
|
+
// (Tier 0 arcs → Tier 1 lanes → Tier 2 FTS5 → Tier 3 edges) over
|
|
20
|
+
// the chosen scope and emits ranked results.
|
|
21
|
+
//
|
|
22
|
+
// Scope flags (mutually exclusive; default = federation per
|
|
23
|
+
// master-plan §v1.D.3:786):
|
|
24
|
+
// --vault <name> single-vault search (skips Tier 3 per spec)
|
|
25
|
+
// --mesh <name> mesh-scoped (home_mesh_rid ∪ mesh_vaults union
|
|
26
|
+
// per OD-6 default)
|
|
27
|
+
// --all explicit alias for federation (ergonomics +
|
|
28
|
+
// symmetry with --vault / --mesh)
|
|
29
|
+
// (none) federation (every registered vault, name ASC)
|
|
30
|
+
//
|
|
31
|
+
// --limit defaults to 20 per OD-9; --json emits Lock 0.3
|
|
32
|
+
// deterministic stable-key-ordered output.
|
|
33
|
+
//
|
|
34
|
+
// Error contract (per OD-8 default):
|
|
35
|
+
// empty query → exit 1, JSON { error: "empty-query", ... }
|
|
36
|
+
// conflicting flags → exit 1, JSON { error: "conflicting-scope-flags", ... }
|
|
37
|
+
//
|
|
38
|
+
// Lives at the meta-CLI level (not under `vault` group) because the
|
|
39
|
+
// default scope is federation — putting it under `vault` would tilt
|
|
40
|
+
// user mental model toward single-vault use. The cascade engine
|
|
41
|
+
// itself lives in lyt-vault (data-layer ownership); this file is
|
|
42
|
+
// the CLI surface adapter.
|
|
43
|
+
import { Command } from "commander";
|
|
44
|
+
import { searchCascadeFlow, withSpinner, } from "@younndai/lyt-vault";
|
|
45
|
+
const DEFAULT_LIMIT = 20;
|
|
46
|
+
const MAX_LIMIT = 1000;
|
|
47
|
+
export function buildSearchCommand() {
|
|
48
|
+
return new Command("search")
|
|
49
|
+
.description("v1.D.3: tiered-cascade search across vaults. Cascade: Tier 0 arcs (0.95) → Tier 1 lanes (0.9) → Tier 2 FTS5 (0.7) → Tier 3 edges (0.5). Default scope = federation (every vault across every mesh per §v1.D.3:786). Use --vault / --mesh for narrower scope; --all is the explicit federation alias.")
|
|
50
|
+
.argument("<query>", "Search query (multi-word: implicit AND)")
|
|
51
|
+
.option("--vault <name>", "Search only the named vault (skips Tier 3)")
|
|
52
|
+
.option("--mesh <name>", "Search only vaults home-to OR referenced-by the named mesh")
|
|
53
|
+
.option("--all", "Explicit alias for federation scope (default behavior)")
|
|
54
|
+
.option("--limit <n>", `Max results (default ${DEFAULT_LIMIT}, max ${MAX_LIMIT})`)
|
|
55
|
+
.option("--json", "Emit deterministic Lock 0.3 JSON instead of human-readable lines")
|
|
56
|
+
.option("--no-self-heal", "Disable the empty-result self-heal (on 0 hits, search reindexes stale vaults + re-queries). Auto-disabled under --json.")
|
|
57
|
+
.action(async (query, opts) => {
|
|
58
|
+
// Resolve scope from mutually-exclusive flags.
|
|
59
|
+
const scopeFlags = [
|
|
60
|
+
opts.vault !== undefined ? "--vault" : null,
|
|
61
|
+
opts.mesh !== undefined ? "--mesh" : null,
|
|
62
|
+
opts.all === true ? "--all" : null,
|
|
63
|
+
].filter((s) => s !== null);
|
|
64
|
+
if (scopeFlags.length > 1) {
|
|
65
|
+
emitError(opts.json === true, {
|
|
66
|
+
error: "conflicting-scope-flags",
|
|
67
|
+
flags: scopeFlags,
|
|
68
|
+
message: `Conflicting scope flags: ${scopeFlags.join(", ")}. Pass at most one.`,
|
|
69
|
+
});
|
|
70
|
+
process.exitCode = 1;
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
// Empty / whitespace-only query (OD-8 default = error).
|
|
74
|
+
const trimmed = (query ?? "").trim();
|
|
75
|
+
if (trimmed.length === 0) {
|
|
76
|
+
emitError(opts.json === true, {
|
|
77
|
+
error: "empty-query",
|
|
78
|
+
message: "Empty search query. Provide at least one non-whitespace character.",
|
|
79
|
+
});
|
|
80
|
+
process.exitCode = 1;
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
// Parse + clamp limit.
|
|
84
|
+
let limit = DEFAULT_LIMIT;
|
|
85
|
+
if (opts.limit !== undefined) {
|
|
86
|
+
const parsed = Number.parseInt(opts.limit, 10);
|
|
87
|
+
if (!Number.isFinite(parsed) || parsed < 1) {
|
|
88
|
+
emitError(opts.json === true, {
|
|
89
|
+
error: "invalid-limit",
|
|
90
|
+
value: opts.limit,
|
|
91
|
+
message: `--limit must be a positive integer (got: ${JSON.stringify(opts.limit)}).`,
|
|
92
|
+
});
|
|
93
|
+
process.exitCode = 1;
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
limit = Math.min(parsed, MAX_LIMIT);
|
|
97
|
+
}
|
|
98
|
+
// Scope resolution.
|
|
99
|
+
let scope;
|
|
100
|
+
let scopeTarget;
|
|
101
|
+
if (opts.vault !== undefined) {
|
|
102
|
+
scope = "vault";
|
|
103
|
+
scopeTarget = opts.vault;
|
|
104
|
+
}
|
|
105
|
+
else if (opts.mesh !== undefined) {
|
|
106
|
+
scope = "mesh";
|
|
107
|
+
scopeTarget = opts.mesh;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
// Default OR explicit --all: federation.
|
|
111
|
+
scope = "federation";
|
|
112
|
+
}
|
|
113
|
+
// V-C-1 Phase C (L3) — enable the empty-result self-heal ONLY for human
|
|
114
|
+
// runs: never under --json (deterministic output contract), never under
|
|
115
|
+
// --no-self-heal, and never when LYT_NO_SELF_HEAL=1 (a hard determinism
|
|
116
|
+
// escape hatch for the Lane V retrieval harness / any reproducible run).
|
|
117
|
+
const selfHeal = opts.json !== true && opts.selfHeal !== false && process.env["LYT_NO_SELF_HEAL"] !== "1";
|
|
118
|
+
try {
|
|
119
|
+
const args = {
|
|
120
|
+
query: trimmed,
|
|
121
|
+
scope,
|
|
122
|
+
limit,
|
|
123
|
+
...(scopeTarget !== undefined ? { scopeTarget } : {}),
|
|
124
|
+
...(selfHeal ? { selfHeal: true } : {}),
|
|
125
|
+
};
|
|
126
|
+
// V-DX-1 — liveness spinner over the silent DB-open + cascade window.
|
|
127
|
+
// --json stays spinner-free (mirror init: useSpinner = json !== true);
|
|
128
|
+
// non-TTY prints "Searching…" once (zero escape codes) per the
|
|
129
|
+
// primitive's built-in agent-safe fallback.
|
|
130
|
+
const res = opts.json !== true
|
|
131
|
+
? await withSpinner(scopeTarget ?? scope, () => searchCascadeFlow(args), {
|
|
132
|
+
op: "search",
|
|
133
|
+
})
|
|
134
|
+
: await searchCascadeFlow(args);
|
|
135
|
+
if (opts.json === true) {
|
|
136
|
+
emitJsonResult(res);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
emitHumanResult(res);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
144
|
+
emitError(opts.json === true, {
|
|
145
|
+
error: "cascade-error",
|
|
146
|
+
message,
|
|
147
|
+
});
|
|
148
|
+
process.exitCode = 2;
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
function emitJsonResult(res) {
|
|
153
|
+
// Stable-key-ordered output per Lock 0.3 — Object construction order
|
|
154
|
+
// determines JSON.stringify key order in Node.
|
|
155
|
+
const stable = {
|
|
156
|
+
query: res.query,
|
|
157
|
+
scope: res.scope,
|
|
158
|
+
scopeTarget: res.scopeTarget,
|
|
159
|
+
limit: res.limit,
|
|
160
|
+
results: res.results.map((r) => ({
|
|
161
|
+
confidence: r.confidence,
|
|
162
|
+
tier: r.tier,
|
|
163
|
+
vault_name: r.vault_name,
|
|
164
|
+
mesh_name: r.mesh_name,
|
|
165
|
+
figment_path: r.figment_path,
|
|
166
|
+
snippet: r.snippet,
|
|
167
|
+
})),
|
|
168
|
+
trace: {
|
|
169
|
+
tiersRun: res.trace.tiersRun,
|
|
170
|
+
perTierHitCount: res.trace.perTierHitCount,
|
|
171
|
+
vaultsSearched: res.trace.vaultsSearched,
|
|
172
|
+
},
|
|
173
|
+
durationMs: res.durationMs,
|
|
174
|
+
};
|
|
175
|
+
// eslint-disable-next-line no-console
|
|
176
|
+
console.log(JSON.stringify(stable, null, 2));
|
|
177
|
+
}
|
|
178
|
+
function emitHumanResult(res) {
|
|
179
|
+
// V-C-1 Phase C (L3) — when the empty-result self-heal reindexed stale
|
|
180
|
+
// vault(s) and re-queried, say so (the results below are post-heal).
|
|
181
|
+
if (res.trace.selfHealed !== undefined) {
|
|
182
|
+
const v = res.trace.selfHealed.reindexedVaults;
|
|
183
|
+
// eslint-disable-next-line no-console
|
|
184
|
+
console.log(`↻ self-healed: reindexed ${v.length} stale vault(s) (${v.join(", ")}) before this result.`);
|
|
185
|
+
}
|
|
186
|
+
if (res.results.length === 0) {
|
|
187
|
+
// eslint-disable-next-line no-console
|
|
188
|
+
console.log(`No matches for ${JSON.stringify(res.query)} (scope=${res.scope}, vaults searched: ${res.trace.vaultsSearched.length}).`);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
// eslint-disable-next-line no-console
|
|
192
|
+
console.log(`${res.results.length} match(es) for ${JSON.stringify(res.query)} (scope=${res.scope}, ${res.durationMs}ms):`);
|
|
193
|
+
for (const r of res.results) {
|
|
194
|
+
// eslint-disable-next-line no-console
|
|
195
|
+
console.log(` [${r.tier}.${r.confidence.toFixed(2)}] ${r.vault_name}/${r.figment_path}`);
|
|
196
|
+
if (r.snippet.length > 0) {
|
|
197
|
+
// eslint-disable-next-line no-console
|
|
198
|
+
console.log(` ${r.snippet}`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
function emitError(json, body) {
|
|
203
|
+
// Track C Wave 3 F14 — a corrupt vault index used to fail with the bare
|
|
204
|
+
// libSQL message and no remedy. Name the fix: `lyt reindex` quarantines +
|
|
205
|
+
// rebuilds corrupt index caches (F15 self-heal), so route the user/agent
|
|
206
|
+
// straight there.
|
|
207
|
+
const msg = String(body["message"] ?? body["error"]);
|
|
208
|
+
const corrupt = msg.includes("SQLITE_NOTADB") ||
|
|
209
|
+
msg.includes("file is not a database") ||
|
|
210
|
+
msg.includes("SQLITE_CORRUPT") ||
|
|
211
|
+
msg.includes("database disk image is malformed");
|
|
212
|
+
const remedy = corrupt
|
|
213
|
+
? "a vault's index cache is corrupt (derived state — safe to rebuild). Run `lyt reindex --vault <name>` (or `lyt reindex --all`) to quarantine and rebuild it."
|
|
214
|
+
: null;
|
|
215
|
+
if (json) {
|
|
216
|
+
// eslint-disable-next-line no-console
|
|
217
|
+
console.error(JSON.stringify(remedy !== null ? { ...body, remedy } : body, null, 2));
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
// eslint-disable-next-line no-console
|
|
221
|
+
console.error(`lyt search: ${msg}${remedy !== null ? ` — ${remedy}` : ""}`);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
|