@jigyasudham/veto 3.4.0 → 3.5.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 +36 -0
- package/dist/agents/llm-runner.d.ts.map +1 -1
- package/dist/agents/llm-runner.js +61 -4
- package/dist/agents/llm-runner.js.map +1 -1
- package/dist/cli/lessons.d.ts +17 -0
- package/dist/cli/lessons.d.ts.map +1 -0
- package/dist/cli/lessons.js +448 -0
- package/dist/cli/lessons.js.map +1 -0
- package/dist/cli/statusline-hosts.js +1 -1
- package/dist/cli/statusline-hosts.js.map +1 -1
- package/dist/cli/statusline.d.ts +1 -0
- package/dist/cli/statusline.d.ts.map +1 -1
- package/dist/cli/statusline.js +18 -1
- package/dist/cli/statusline.js.map +1 -1
- package/dist/cli.js +10 -0
- package/dist/cli.js.map +1 -1
- package/dist/lessons/classify.d.ts +3 -0
- package/dist/lessons/classify.d.ts.map +1 -1
- package/dist/lessons/classify.js +12 -5
- package/dist/lessons/classify.js.map +1 -1
- package/dist/lessons/consent.d.ts +30 -0
- package/dist/lessons/consent.d.ts.map +1 -0
- package/dist/lessons/consent.js +86 -0
- package/dist/lessons/consent.js.map +1 -0
- package/dist/lessons/discover.d.ts +7 -0
- package/dist/lessons/discover.d.ts.map +1 -1
- package/dist/lessons/discover.js +5 -5
- package/dist/lessons/discover.js.map +1 -1
- package/dist/lessons/harvest.d.ts +40 -4
- package/dist/lessons/harvest.d.ts.map +1 -1
- package/dist/lessons/harvest.js +192 -17
- package/dist/lessons/harvest.js.map +1 -1
- package/dist/lessons/manage.d.ts +163 -0
- package/dist/lessons/manage.d.ts.map +1 -0
- package/dist/lessons/manage.js +337 -0
- package/dist/lessons/manage.js.map +1 -0
- package/dist/lessons/on-save.d.ts +18 -0
- package/dist/lessons/on-save.d.ts.map +1 -0
- package/dist/lessons/on-save.js +53 -0
- package/dist/lessons/on-save.js.map +1 -0
- package/dist/lessons/select.d.ts +1 -1
- package/dist/lessons/select.d.ts.map +1 -1
- package/dist/lessons/select.js +8 -6
- package/dist/lessons/select.js.map +1 -1
- package/dist/lessons/store.d.ts +80 -1
- package/dist/lessons/store.d.ts.map +1 -1
- package/dist/lessons/store.js +147 -10
- package/dist/lessons/store.js.map +1 -1
- package/dist/memory/config.d.ts +13 -0
- package/dist/memory/config.d.ts.map +1 -1
- package/dist/memory/config.js +24 -0
- package/dist/memory/config.js.map +1 -1
- package/dist/memory/local.d.ts.map +1 -1
- package/dist/memory/local.js +6 -3
- package/dist/memory/local.js.map +1 -1
- package/dist/memory/schema.d.ts +1 -1
- package/dist/memory/schema.d.ts.map +1 -1
- package/dist/memory/schema.js +50 -0
- package/dist/memory/schema.js.map +1 -1
- package/dist/server/handlers/council.d.ts.map +1 -1
- package/dist/server/handlers/council.js +36 -3
- package/dist/server/handlers/council.js.map +1 -1
- package/dist/server/handlers/session.d.ts.map +1 -1
- package/dist/server/handlers/session.js +10 -0
- package/dist/server/handlers/session.js.map +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
// `veto lessons`: see and control what Veto harvests from each AI's own memory
|
|
2
|
+
// (Harvest-and-Share, council 320c40dc). Nothing here delivers a note to any
|
|
3
|
+
// AI; it only shows the user their notes and where the rules would let them go.
|
|
4
|
+
import { createInterface } from 'node:readline';
|
|
5
|
+
import { LESSON_SOURCES } from '../lessons/adapters/index.js';
|
|
6
|
+
import { acceptLessonsConsent, detectAiSession, lessonsDisclosure } from '../lessons/consent.js';
|
|
7
|
+
import { aliasGroups, explainLesson, excludeProjectDir, findLesson, forgetLesson, HOST_NAMES, includeProjectDir, lessonFlows, lessonReach, lessonsStatus, lessonTitle, listLessons, projectName, recheckSource, refreshLessons, removeProjectAlias, setProjectAlias, turnLessonsOff, unresolvedFolders, } from '../lessons/manage.js';
|
|
8
|
+
const ansi = (code) => (s) => `\x1b[${code}m${s}\x1b[0m`;
|
|
9
|
+
const COLORS = { bold: ansi(1), dim: ansi(2), green: ansi(32), yellow: ansi(33), cyan: ansi(36), red: ansi(31) };
|
|
10
|
+
const PLAIN = { bold: s => s, dim: s => s, green: s => s, yellow: s => s, cyan: s => s, red: s => s };
|
|
11
|
+
const RULE = '─────────────────────────────────────────────────────';
|
|
12
|
+
const SHADOW = 'shadow mode: nothing is delivered to any AI yet';
|
|
13
|
+
const USAGE = [
|
|
14
|
+
'veto lessons [status]',
|
|
15
|
+
'veto lessons on (in your own terminal: you type yes to accept)',
|
|
16
|
+
'veto lessons list [--scope=user|machine|project] [--source=claude|codex|gemini] [--shared] [--held] [--project=<dir>] [--json]',
|
|
17
|
+
'veto lessons why <id>',
|
|
18
|
+
'veto lessons forget <id>',
|
|
19
|
+
'veto lessons flows',
|
|
20
|
+
'veto lessons off',
|
|
21
|
+
'veto lessons exclude [<dir>] · veto lessons include [<dir>]',
|
|
22
|
+
'veto lessons alias [<path> --to=<dir>] · veto lessons alias --remove <path>',
|
|
23
|
+
'veto lessons recheck <claude|codex|gemini>',
|
|
24
|
+
];
|
|
25
|
+
const VALUE_FLAGS = new Set(['scope', 'source', 'project', 'to']);
|
|
26
|
+
function parseArgs(args) {
|
|
27
|
+
const positional = [];
|
|
28
|
+
const flags = new Map();
|
|
29
|
+
for (let i = 0; i < args.length; i++) {
|
|
30
|
+
const arg = args[i];
|
|
31
|
+
if (!arg.startsWith('--')) {
|
|
32
|
+
positional.push(arg);
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
const eq = arg.indexOf('=');
|
|
36
|
+
if (eq > 2) {
|
|
37
|
+
flags.set(arg.slice(2, eq), arg.slice(eq + 1));
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
const name = arg.slice(2);
|
|
41
|
+
if (VALUE_FLAGS.has(name) && i + 1 < args.length && !args[i + 1].startsWith('--'))
|
|
42
|
+
flags.set(name, args[++i]);
|
|
43
|
+
else
|
|
44
|
+
flags.set(name, true);
|
|
45
|
+
}
|
|
46
|
+
return { positional, flags };
|
|
47
|
+
}
|
|
48
|
+
const shortId = (row) => row.id.slice(0, 8);
|
|
49
|
+
const clip = (text, width) => (text.length > width ? `${text.slice(0, width - 1)}…` : text);
|
|
50
|
+
const plural = (n, one, many = `${one}s`) => `${n} ${n === 1 ? one : many}`;
|
|
51
|
+
function reachLabel(row) {
|
|
52
|
+
const reach = lessonReach(row);
|
|
53
|
+
if (reach === 'any-project')
|
|
54
|
+
return 'any project';
|
|
55
|
+
if (row.quarantined)
|
|
56
|
+
return `held: ${row.quarantine_reason ?? 'held'}`;
|
|
57
|
+
return reach === 'own-project' ? 'own project' : 'nowhere';
|
|
58
|
+
}
|
|
59
|
+
function lookup(found, id, out, c) {
|
|
60
|
+
if ('row' in found)
|
|
61
|
+
return found.row;
|
|
62
|
+
if ('matches' in found) {
|
|
63
|
+
out(c.red(` ${id} matches more than one note. Give more of the ID:`));
|
|
64
|
+
for (const row of found.matches)
|
|
65
|
+
out(` ${c.cyan(row.id.slice(0, 12))} ${clip(lessonTitle(row), 60)}`);
|
|
66
|
+
}
|
|
67
|
+
else if (found.error === 'too-short')
|
|
68
|
+
out(c.red(' Give at least the first 4 characters of the note ID, as veto lessons list shows it.'));
|
|
69
|
+
else
|
|
70
|
+
out(c.red(` No note ${id}. See veto lessons list.`));
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
function sharingLine(c) {
|
|
74
|
+
const s = lessonsStatus();
|
|
75
|
+
if (s.sharing)
|
|
76
|
+
return `${c.green('on')}${s.consentAt ? c.dim(` · accepted ${s.consentAt.slice(0, 10)}`) : ''} · ${c.dim(SHADOW)}`;
|
|
77
|
+
if (s.needsReconsent)
|
|
78
|
+
return c.yellow('paused: what sharing does has changed since you accepted it') + c.dim(' → veto lessons on');
|
|
79
|
+
return `${c.dim('off')}${s.notes ? '' : c.dim(": Veto has not read any AI's memory")}`;
|
|
80
|
+
}
|
|
81
|
+
function status(out, c, home) {
|
|
82
|
+
refreshLessons(home);
|
|
83
|
+
const s = lessonsStatus();
|
|
84
|
+
out('');
|
|
85
|
+
out(c.bold(' Veto Lessons: notes your AIs wrote, shared between them'));
|
|
86
|
+
out(c.dim(` ${RULE}`));
|
|
87
|
+
out(` Sharing: ${sharingLine(c)}`);
|
|
88
|
+
if (s.notes || s.sharing) {
|
|
89
|
+
out(` Notes: ${s.notes} ${c.dim(`(${LESSON_SOURCES.map(host => `${HOST_NAMES[host]} ${s.byHost[host]}`).join(' · ')})`)}`);
|
|
90
|
+
out(` Reach: ${plural(s.anyProject, 'note')} may go to any project · ${s.held} held in their own project`);
|
|
91
|
+
}
|
|
92
|
+
for (const [host, reason] of s.disabledHosts) {
|
|
93
|
+
out(c.yellow(` Switched off: ${HOST_NAMES[host]}, its memory format changed (${reason})`) + c.dim(` → veto lessons recheck ${host}`));
|
|
94
|
+
}
|
|
95
|
+
if (s.excluded.length)
|
|
96
|
+
out(` Kept out: ${s.excluded.map(e => e.project_label ?? e.project_identity).join(', ')} ${c.dim('(nothing leaves, nothing enters)')}`);
|
|
97
|
+
if (s.unresolved)
|
|
98
|
+
out(` Unlinked: ${plural(s.unresolved, 'memory folder')} with no project Veto can find ${c.dim('→ veto lessons alias')}`);
|
|
99
|
+
if (s.forgotten)
|
|
100
|
+
out(` Forgotten: ${s.forgotten} ${c.dim('(permanent)')}`);
|
|
101
|
+
if (s.shadowLog)
|
|
102
|
+
out(` Shadow log: ${plural(s.shadowLog, 'record')} of what would have been shared`);
|
|
103
|
+
if (s.notes && !s.sharing)
|
|
104
|
+
out(c.yellow(' Sharing is off, but notes harvested earlier are still stored.') + c.dim(' Delete them with: veto lessons off'));
|
|
105
|
+
if (!s.sharing && !s.needsReconsent)
|
|
106
|
+
out(c.dim(' Turn it on, in a terminal of your own: veto lessons on'));
|
|
107
|
+
out('');
|
|
108
|
+
out(c.dim(' on · list · why <id> · forget <id> · flows · off · exclude|include [dir] · alias · recheck <host>'));
|
|
109
|
+
out('');
|
|
110
|
+
return 0;
|
|
111
|
+
}
|
|
112
|
+
function list(flags, out, c, home) {
|
|
113
|
+
const scope = flags.get('scope');
|
|
114
|
+
const source = flags.get('source');
|
|
115
|
+
const project = flags.get('project');
|
|
116
|
+
if (scope !== undefined && !['user', 'machine', 'project'].includes(String(scope))) {
|
|
117
|
+
out(c.red(' --scope must be user, machine or project.'));
|
|
118
|
+
return 1;
|
|
119
|
+
}
|
|
120
|
+
if (source !== undefined && !LESSON_SOURCES.includes(String(source))) {
|
|
121
|
+
out(c.red(' --source must be claude, codex or gemini.'));
|
|
122
|
+
return 1;
|
|
123
|
+
}
|
|
124
|
+
refreshLessons(home);
|
|
125
|
+
const rows = listLessons({
|
|
126
|
+
scope: typeof scope === 'string' ? scope : undefined,
|
|
127
|
+
source: typeof source === 'string' ? source : undefined,
|
|
128
|
+
projectDir: typeof project === 'string' ? project : undefined,
|
|
129
|
+
shared: flags.has('shared'),
|
|
130
|
+
held: flags.has('held'),
|
|
131
|
+
});
|
|
132
|
+
if (flags.has('json')) {
|
|
133
|
+
out(JSON.stringify(rows, null, 2));
|
|
134
|
+
return 0;
|
|
135
|
+
}
|
|
136
|
+
out('');
|
|
137
|
+
out(c.bold(` Notes Veto has read from your AIs' memory: ${rows.length}`));
|
|
138
|
+
out(c.dim(` ${RULE}`));
|
|
139
|
+
out(` Sharing: ${sharingLine(c)}`);
|
|
140
|
+
let group = null;
|
|
141
|
+
for (const row of rows) {
|
|
142
|
+
const name = projectName(row);
|
|
143
|
+
if (name !== group) {
|
|
144
|
+
group = name;
|
|
145
|
+
out('');
|
|
146
|
+
out(` ${c.bold(name)}`);
|
|
147
|
+
}
|
|
148
|
+
out(` ${c.cyan(shortId(row))} ${HOST_NAMES[row.source_cli].padEnd(6)} ${c.dim(row.source_mtime.slice(0, 10))} ${reachLabel(row).padEnd(13)} ${clip(lessonTitle(row), 60)}`);
|
|
149
|
+
}
|
|
150
|
+
if (!rows.length)
|
|
151
|
+
out(c.dim(flags.size ? ' (no notes match)' : ' (none)'));
|
|
152
|
+
out('');
|
|
153
|
+
out(c.dim(' why <id> shows a note and where it may go · forget <id> removes it for good'));
|
|
154
|
+
out('');
|
|
155
|
+
return 0;
|
|
156
|
+
}
|
|
157
|
+
function why(id, out, c, home) {
|
|
158
|
+
if (!id) {
|
|
159
|
+
out(c.red(' Usage: veto lessons why <id>'));
|
|
160
|
+
return 1;
|
|
161
|
+
}
|
|
162
|
+
refreshLessons(home);
|
|
163
|
+
const row = lookup(findLesson(id), id, out, c);
|
|
164
|
+
if (!row)
|
|
165
|
+
return 1;
|
|
166
|
+
const e = explainLesson(row);
|
|
167
|
+
out('');
|
|
168
|
+
out(c.bold(` Note ${shortId(row)}`) + c.dim(` ${e.provenance}`));
|
|
169
|
+
out(c.dim(` ${RULE}`));
|
|
170
|
+
out(` Source ${row.source_path} ${c.dim(`(section: ${row.section_anchor})`)}`);
|
|
171
|
+
out(` Scope ${e.scope}`);
|
|
172
|
+
if (e.held)
|
|
173
|
+
out(` Held ${e.held}`);
|
|
174
|
+
out(` May reach ${e.reach}`);
|
|
175
|
+
if (e.hostDisabled)
|
|
176
|
+
out(c.yellow(` Paused ${HOST_NAMES[row.source_cli]}'s memory format changed, so none of its notes are used (${e.hostDisabled})`));
|
|
177
|
+
out(` Delivered ${c.dim(`never yet: ${SHADOW}`)}`);
|
|
178
|
+
out('');
|
|
179
|
+
out(c.dim(' ┌─ the note as it would be shared (email addresses, home folders and secrets masked)'));
|
|
180
|
+
for (const line of row.text_masked.split('\n'))
|
|
181
|
+
out(`${c.dim(' │')} ${line}`);
|
|
182
|
+
out(c.dim(' └─'));
|
|
183
|
+
out('');
|
|
184
|
+
out(c.dim(` Forget it for good: veto lessons forget ${shortId(row)}`));
|
|
185
|
+
out('');
|
|
186
|
+
return 0;
|
|
187
|
+
}
|
|
188
|
+
function forget(id, out, c) {
|
|
189
|
+
if (!id) {
|
|
190
|
+
out(c.red(' Usage: veto lessons forget <id>'));
|
|
191
|
+
return 1;
|
|
192
|
+
}
|
|
193
|
+
const row = lookup(findLesson(id), id, out, c);
|
|
194
|
+
if (!row)
|
|
195
|
+
return 1;
|
|
196
|
+
const { removed } = forgetLesson(row);
|
|
197
|
+
out('');
|
|
198
|
+
out(c.green(` ✓ Forgot ${shortId(row)}: ${clip(lessonTitle(row), 60)}`));
|
|
199
|
+
if (removed > 1)
|
|
200
|
+
out(c.dim(` Also removed ${plural(removed - 1, 'copy', 'copies')} of it kept elsewhere.`));
|
|
201
|
+
out(c.dim(` It will not be read again, even if ${HOST_NAMES[row.source_cli]} edits it. Its memory file is untouched.`));
|
|
202
|
+
out('');
|
|
203
|
+
return 0;
|
|
204
|
+
}
|
|
205
|
+
function flows(out, c, home) {
|
|
206
|
+
refreshLessons(home);
|
|
207
|
+
const all = lessonFlows();
|
|
208
|
+
const s = lessonsStatus();
|
|
209
|
+
out('');
|
|
210
|
+
out(c.bold(' Where each AI\'s notes may go'));
|
|
211
|
+
out(c.dim(` ${RULE}`));
|
|
212
|
+
out(` Sharing: ${sharingLine(c)}`);
|
|
213
|
+
for (const flow of all) {
|
|
214
|
+
out('');
|
|
215
|
+
out(` ${c.bold(`${HOST_NAMES[flow.source]} memory · ${flow.projectLabel}`)} ${c.dim(plural(flow.notes, 'note'))}`);
|
|
216
|
+
const to = flow.source === 'claude' ? 'Codex, Gemini, and Claude in other folders'
|
|
217
|
+
: `${LESSON_SOURCES.filter(host => host !== flow.source).map(host => HOST_NAMES[host]).join(', ')}`;
|
|
218
|
+
if (flow.anyProject)
|
|
219
|
+
out(` ${String(flow.anyProject).padStart(4)} → any project, in ${to}`);
|
|
220
|
+
if (flow.ownProject)
|
|
221
|
+
out(` ${String(flow.ownProject).padStart(4)} → ${flow.projectLabel} only, in ${to}`);
|
|
222
|
+
if (flow.nowhere) {
|
|
223
|
+
out(` ${String(flow.nowhere).padStart(4)} → nowhere ${c.dim(flow.unresolved ? '(no known project folder: see veto lessons alias)' : '(held back, and no project of their own)')}`);
|
|
224
|
+
}
|
|
225
|
+
const held = Object.entries(flow.heldBack);
|
|
226
|
+
if (held.length)
|
|
227
|
+
out(c.dim(` held in their project instead of shared: ${held.map(([reason, n]) => `${n} ${reason}`).join(', ')}`));
|
|
228
|
+
if (s.disabledHosts.has(flow.source))
|
|
229
|
+
out(c.yellow(` paused: ${HOST_NAMES[flow.source]}'s memory format changed → veto lessons recheck ${flow.source}`));
|
|
230
|
+
}
|
|
231
|
+
if (!all.length) {
|
|
232
|
+
out('');
|
|
233
|
+
out(c.dim(' (no notes)'));
|
|
234
|
+
}
|
|
235
|
+
if (s.excluded.length) {
|
|
236
|
+
out('');
|
|
237
|
+
out(` Kept out: ${s.excluded.map(e => e.project_label ?? e.project_identity).join(', ')} ${c.dim('(nothing leaves, nothing enters)')}`);
|
|
238
|
+
}
|
|
239
|
+
out('');
|
|
240
|
+
out(c.dim(' A note is only ever shared into the project it came from, unless it is about you or this machine'));
|
|
241
|
+
out(c.dim(' and carries no command, web address, credential or instruction.'));
|
|
242
|
+
out('');
|
|
243
|
+
return 0;
|
|
244
|
+
}
|
|
245
|
+
function off(out, c) {
|
|
246
|
+
const r = turnLessonsOff();
|
|
247
|
+
out('');
|
|
248
|
+
out(c.green(` ✓ Sharing is off${r.wasOn ? '' : ' (it already was)'}.`));
|
|
249
|
+
out(` Deleted ${plural(r.notes, 'harvested note')} and ${plural(r.shadowLog, 'shadow-log record')}.`);
|
|
250
|
+
if (r.remaining === 0)
|
|
251
|
+
out(c.dim(' Checked: nothing harvested is left in Veto\'s database. Your AIs\' own memory files are untouched.'));
|
|
252
|
+
else
|
|
253
|
+
out(c.red(` ${r.remaining} rows could not be deleted. Run this again, or report it.`));
|
|
254
|
+
out(c.dim(' Forgotten notes, excluded projects and aliases are kept, so they still apply if you turn sharing back on.'));
|
|
255
|
+
out('');
|
|
256
|
+
return r.remaining === 0 ? 0 : 1;
|
|
257
|
+
}
|
|
258
|
+
function excludeOrInclude(sub, dir, out, c) {
|
|
259
|
+
if (sub === 'exclude') {
|
|
260
|
+
const r = excludeProjectDir(dir);
|
|
261
|
+
out('');
|
|
262
|
+
out(c.green(` ✓ ${r.label} is kept out of sharing${r.added ? '' : ' (it already was)'}.`) + c.dim(' Its notes are not read, and no note is chosen for it.'));
|
|
263
|
+
if (r.removed)
|
|
264
|
+
out(c.dim(` Deleted ${plural(r.removed, 'note')} already harvested from it.`));
|
|
265
|
+
out('');
|
|
266
|
+
return 0;
|
|
267
|
+
}
|
|
268
|
+
const r = includeProjectDir(dir);
|
|
269
|
+
out('');
|
|
270
|
+
out(r.removed ? c.green(` ✓ ${r.label} takes part in sharing again.`) : c.dim(` ${r.label} was not kept out.`));
|
|
271
|
+
out('');
|
|
272
|
+
return 0;
|
|
273
|
+
}
|
|
274
|
+
function alias(positional, flags, out, c, home) {
|
|
275
|
+
const remove = flags.get('remove');
|
|
276
|
+
const target = flags.get('to');
|
|
277
|
+
const path = typeof remove === 'string' ? remove : positional[0];
|
|
278
|
+
if (remove !== undefined) {
|
|
279
|
+
if (!path) {
|
|
280
|
+
out(c.red(' Usage: veto lessons alias --remove <path>'));
|
|
281
|
+
return 1;
|
|
282
|
+
}
|
|
283
|
+
out(removeProjectAlias(path) ? c.green(` ✓ ${path} is no longer linked to another project.`) : c.dim(` ${path} had no link.`));
|
|
284
|
+
return 0;
|
|
285
|
+
}
|
|
286
|
+
if (path) {
|
|
287
|
+
if (typeof target !== 'string') {
|
|
288
|
+
out(c.red(' Usage: veto lessons alias <path> --to=<project folder>'));
|
|
289
|
+
return 1;
|
|
290
|
+
}
|
|
291
|
+
const r = setProjectAlias(path, target);
|
|
292
|
+
if (!r.ok) {
|
|
293
|
+
out(c.red(r.error === 'target-missing' ? ` ${target} is not a folder on this machine.`
|
|
294
|
+
: r.error === 'same-folder' ? ' Those are the same folder.'
|
|
295
|
+
: ` ${path} is a different repository from ${target}, so its notes are not ${target}'s. Nothing was linked.`));
|
|
296
|
+
return 1;
|
|
297
|
+
}
|
|
298
|
+
out(c.green(` ✓ Notes from ${path} now count as ${r.label}'s.`));
|
|
299
|
+
if (!r.memoryFolders)
|
|
300
|
+
out(c.yellow(" No AI memory Veto has read belongs to that path, so nothing moves yet. Check the spelling against veto lessons alias."));
|
|
301
|
+
const report = refreshLessons(home);
|
|
302
|
+
if (report)
|
|
303
|
+
out(c.dim(` Re-read your AIs' memory: ${report.updated} notes moved or changed.`));
|
|
304
|
+
return 0;
|
|
305
|
+
}
|
|
306
|
+
refreshLessons(home);
|
|
307
|
+
const groups = aliasGroups();
|
|
308
|
+
const unresolved = unresolvedFolders();
|
|
309
|
+
out('');
|
|
310
|
+
out(c.bold(' Folders Veto treats as one project'));
|
|
311
|
+
out(c.dim(` ${RULE}`));
|
|
312
|
+
if (!groups.length)
|
|
313
|
+
out(c.dim(' (none: each project is checked out in one place)'));
|
|
314
|
+
for (const group of groups)
|
|
315
|
+
out(` ${group.paths.join(c.dim(' = '))}`);
|
|
316
|
+
if (unresolved.length) {
|
|
317
|
+
out('');
|
|
318
|
+
out(c.bold(' Memory with no project folder'));
|
|
319
|
+
out(c.dim(' Its project notes reach no session until you link it, for example a copy on a drive that is not plugged in:'));
|
|
320
|
+
for (const folder of unresolved) {
|
|
321
|
+
out(` ${folder.label} ${c.dim(plural(folder.notes, 'note'))}`);
|
|
322
|
+
const s = folder.suggestion;
|
|
323
|
+
if (s)
|
|
324
|
+
out(` ${c.dim(s.aliasPath ? 'link it:' : 'probably this project; give its folder:')} veto lessons alias "${s.aliasPath ?? '<its folder>'}" --to="${s.targetDir}"`);
|
|
325
|
+
}
|
|
326
|
+
out(c.dim(' Link one with: veto lessons alias "<its folder>" --to="<the project folder on this machine>"'));
|
|
327
|
+
}
|
|
328
|
+
out('');
|
|
329
|
+
return 0;
|
|
330
|
+
}
|
|
331
|
+
function recheck(host, out, c, home) {
|
|
332
|
+
if (!host || !LESSON_SOURCES.includes(host)) {
|
|
333
|
+
out(c.red(' Usage: veto lessons recheck <claude|codex|gemini>'));
|
|
334
|
+
return 1;
|
|
335
|
+
}
|
|
336
|
+
const r = recheckSource(host, home);
|
|
337
|
+
out('');
|
|
338
|
+
if (r.stillDisabled)
|
|
339
|
+
out(c.yellow(` ${HOST_NAMES[host]}'s memory still has a format Veto does not recognise (${r.stillDisabled}), so it stays off.`));
|
|
340
|
+
else if (!r.report)
|
|
341
|
+
out(c.green(` ✓ ${HOST_NAMES[host]} is back on.`) + c.dim(' It will be read once sharing is on.'));
|
|
342
|
+
else
|
|
343
|
+
out(c.green(` ✓ ${HOST_NAMES[host]} is back on${r.wasDisabled ? '' : ' (it was not off)'}.`) + c.dim(` Read ${plural(r.report.harvested, 'file')}.`));
|
|
344
|
+
out('');
|
|
345
|
+
return r.stillDisabled ? 1 : 0;
|
|
346
|
+
}
|
|
347
|
+
function terminalIo() {
|
|
348
|
+
return {
|
|
349
|
+
env: process.env,
|
|
350
|
+
interactive: Boolean(process.stdin.isTTY && process.stdout.isTTY),
|
|
351
|
+
ask: question => new Promise(resolve => {
|
|
352
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
353
|
+
let answered = false;
|
|
354
|
+
rl.on('close', () => { if (!answered)
|
|
355
|
+
resolve(''); });
|
|
356
|
+
rl.question(question, answer => { answered = true; rl.close(); resolve(answer); });
|
|
357
|
+
}),
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Consent v2. The disclosure is shown to anyone, but only a person typing
|
|
362
|
+
* "yes" in their own terminal can accept it. A command an AI runs is refused
|
|
363
|
+
* before any question is asked, so no AI can turn sharing on for the user.
|
|
364
|
+
*/
|
|
365
|
+
async function on(out, c, home, io) {
|
|
366
|
+
const s = lessonsStatus();
|
|
367
|
+
if (s.sharing) {
|
|
368
|
+
out('');
|
|
369
|
+
out(c.green(` Sharing is already on${s.consentAt ? ` (accepted ${s.consentAt.slice(0, 10)})` : ''}.`) + c.dim(' Turn it off with: veto lessons off'));
|
|
370
|
+
out('');
|
|
371
|
+
return 0;
|
|
372
|
+
}
|
|
373
|
+
out('');
|
|
374
|
+
for (const line of lessonsDisclosure().split('\n'))
|
|
375
|
+
out(line ? ` ${line}` : '');
|
|
376
|
+
out('');
|
|
377
|
+
const marker = detectAiSession(io.env);
|
|
378
|
+
if (marker) {
|
|
379
|
+
out(c.yellow(` An AI is running this command (${marker} is set), so it cannot accept for you. Nothing changed.`));
|
|
380
|
+
out(' To turn sharing on, open a terminal window yourself and run: veto lessons on');
|
|
381
|
+
out('');
|
|
382
|
+
return 1;
|
|
383
|
+
}
|
|
384
|
+
if (!io.interactive) {
|
|
385
|
+
out(c.yellow(' Accepting needs you to type yes in a terminal window. Nothing changed.'));
|
|
386
|
+
out(' Open one and run: veto lessons on');
|
|
387
|
+
out('');
|
|
388
|
+
return 1;
|
|
389
|
+
}
|
|
390
|
+
let answer = '';
|
|
391
|
+
try {
|
|
392
|
+
answer = await io.ask(' Type yes to turn sharing on: ');
|
|
393
|
+
}
|
|
394
|
+
catch {
|
|
395
|
+
answer = '';
|
|
396
|
+
}
|
|
397
|
+
if (answer.trim().toLowerCase() !== 'yes') {
|
|
398
|
+
out(c.dim(' Nothing changed. Sharing is still off.'));
|
|
399
|
+
out('');
|
|
400
|
+
return 0;
|
|
401
|
+
}
|
|
402
|
+
const r = acceptLessonsConsent(home);
|
|
403
|
+
out('');
|
|
404
|
+
out(c.green(' ✓ Sharing is on.'));
|
|
405
|
+
out('');
|
|
406
|
+
const hosts = LESSON_SOURCES.map(host => `${HOST_NAMES[host]} ${r.byHost[host]}`).join(' · ');
|
|
407
|
+
out(` Veto read ${plural(r.report.sources, 'memory file')} and found ${plural(r.notes, 'note')} ${c.dim(`(${hosts})`)}${r.projects ? ` across ${plural(r.projects, 'project')}` : ''}.`);
|
|
408
|
+
if (r.notes) {
|
|
409
|
+
out(` ${String(r.anyProject).padStart(4)} may be shared into any project: they are about you or this computer`);
|
|
410
|
+
out(` ${String(r.ownProject).padStart(4)} stay in their own project: they are about it, or hold a command, web address or credential`);
|
|
411
|
+
}
|
|
412
|
+
if (r.unlinked)
|
|
413
|
+
out(` ${String(r.unlinked).padStart(4)} ${r.unlinked === 1 ? 'memory folder is' : 'memory folders are'} on a drive Veto cannot see; link ${r.unlinked === 1 ? 'it' : 'them'} with: veto lessons alias`);
|
|
414
|
+
for (const host of r.disabledHosts)
|
|
415
|
+
out(c.yellow(` ${HOST_NAMES[host]}'s memory is in a format Veto does not recognise, so it was skipped.`));
|
|
416
|
+
out('');
|
|
417
|
+
out(c.dim(' This is the trial: nothing has been given to any AI. See every note with: veto lessons list'));
|
|
418
|
+
out('');
|
|
419
|
+
return 0;
|
|
420
|
+
}
|
|
421
|
+
/** Runs one `veto lessons` subcommand and returns its exit code (a promise only for `on`, which may ask a question). */
|
|
422
|
+
export function runLessonsCommand(args, options = {}) {
|
|
423
|
+
const out = options.out ?? ((line = '') => console.log(line));
|
|
424
|
+
const c = options.color === false ? PLAIN : COLORS;
|
|
425
|
+
const [sub = 'status', ...rest] = args;
|
|
426
|
+
const { positional, flags } = parseArgs(rest);
|
|
427
|
+
const cwd = options.cwd ?? process.cwd();
|
|
428
|
+
const home = options.home;
|
|
429
|
+
switch (sub) {
|
|
430
|
+
case 'on': return on(out, c, home, options.io ?? terminalIo());
|
|
431
|
+
case 'status': return status(out, c, home);
|
|
432
|
+
case 'list': return list(flags, out, c, home);
|
|
433
|
+
case 'why': return why(positional[0], out, c, home);
|
|
434
|
+
case 'forget': return forget(positional[0], out, c);
|
|
435
|
+
case 'flows': return flows(out, c, home);
|
|
436
|
+
case 'off': return off(out, c);
|
|
437
|
+
case 'exclude':
|
|
438
|
+
case 'include': return excludeOrInclude(sub, positional[0] ?? cwd, out, c);
|
|
439
|
+
case 'alias': return alias(positional, flags, out, c, home);
|
|
440
|
+
case 'recheck': return recheck(positional[0], out, c, home);
|
|
441
|
+
default:
|
|
442
|
+
out(c.red(` Unknown lessons subcommand: ${sub}`));
|
|
443
|
+
for (const line of USAGE)
|
|
444
|
+
out(c.dim(` ${line}`));
|
|
445
|
+
return 1;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
//# sourceMappingURL=lessons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lessons.js","sourceRoot":"","sources":["../../src/cli/lessons.ts"],"names":[],"mappings":"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"}
|
|
@@ -178,7 +178,7 @@ export async function watchStatusline(opts) {
|
|
|
178
178
|
line = fit(hostStatuslineData(host, opts.projectDir), opts.compose ?? {}, tty ? process.stdout.columns : undefined);
|
|
179
179
|
}
|
|
180
180
|
catch {
|
|
181
|
-
line = composeStatusline({ verdict: null, routerPct: null, contextPct: null, rate5hPct: null, rate7dPct: null, memCount: null });
|
|
181
|
+
line = composeStatusline({ verdict: null, routerPct: null, contextPct: null, rate5hPct: null, rate7dPct: null, memCount: null, noteCount: null });
|
|
182
182
|
}
|
|
183
183
|
process.stdout.write(tty ? `\r\x1b[2K${line}` : `${line}\n`);
|
|
184
184
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusline-hosts.js","sourceRoot":"","sources":["../../src/cli/statusline-hosts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"statusline-hosts.js","sourceRoot":"","sources":["../../src/cli/statusline-hosts.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/statusline.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusline.d.ts","sourceRoot":"","sources":["../../src/cli/statusline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"statusline.d.ts","sourceRoot":"","sources":["../../src/cli/statusline.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/statusline.js
CHANGED
|
@@ -15,12 +15,13 @@ import { execSync } from 'node:child_process';
|
|
|
15
15
|
import { join, dirname } from 'node:path';
|
|
16
16
|
import { homedir } from 'node:os';
|
|
17
17
|
import { getDbPath, getDb, normalizeProjectDir } from '../memory/local.js';
|
|
18
|
+
import { isLessonsSharingEnabled } from '../memory/config.js';
|
|
18
19
|
// node:sqlite is unflagged from Node 22.13+/23.4+ — use createRequire so bundlers skip it.
|
|
19
20
|
// Required lazily inside openReadOnly so importing this module (server.ts pulls in
|
|
20
21
|
// statuslineSetupInstruction at startup) never dies on runtimes without node:sqlite.
|
|
21
22
|
const _require = createRequire(import.meta.url);
|
|
22
23
|
const EMPTY = {
|
|
23
|
-
verdict: null, routerPct: null, contextPct: null, rate5hPct: null, rate7dPct: null, memCount: null,
|
|
24
|
+
verdict: null, routerPct: null, contextPct: null, rate5hPct: null, rate7dPct: null, memCount: null, noteCount: null,
|
|
24
25
|
};
|
|
25
26
|
// Open the veto DB read-only. Returns null if it can't (missing/locked/corrupt).
|
|
26
27
|
function openReadOnly(path) {
|
|
@@ -116,6 +117,19 @@ function queryStatusline(db, projectDir) {
|
|
|
116
117
|
data.memCount = row.n;
|
|
117
118
|
}
|
|
118
119
|
catch { /* segment off */ }
|
|
120
|
+
// How many notes Veto is holding from your AIs' own memory. Shown only while
|
|
121
|
+
// sharing is on, so the line never implies notes are being kept when they are
|
|
122
|
+
// not (council 320c40dc, UX condition). Reading the table is not enough:
|
|
123
|
+
// `veto lessons off` empties it, and a stale count of 0 would still be a
|
|
124
|
+
// claim about something switched off.
|
|
125
|
+
try {
|
|
126
|
+
if (isLessonsSharingEnabled()) {
|
|
127
|
+
const row = db.prepare('SELECT COUNT(*) AS n FROM lessons').get();
|
|
128
|
+
if (typeof row?.n === 'number')
|
|
129
|
+
data.noteCount = row.n;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
catch { /* segment off: an older DB has no lessons table */ }
|
|
119
133
|
return data;
|
|
120
134
|
}
|
|
121
135
|
const ANSI = {
|
|
@@ -156,6 +170,9 @@ export function composeStatusline(data, opts = {}) {
|
|
|
156
170
|
if (data.memCount !== null) {
|
|
157
171
|
segments.push(`mem ${data.memCount}`);
|
|
158
172
|
}
|
|
173
|
+
if (data.noteCount !== null) {
|
|
174
|
+
segments.push(`notes ${data.noteCount}`);
|
|
175
|
+
}
|
|
159
176
|
if (data.host) {
|
|
160
177
|
const parts = [data.host.name, data.host.session?.slice(0, 8), data.host.age].filter(Boolean);
|
|
161
178
|
segments.push(paint(parts.join(' '), ANSI.dim));
|