@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.
Files changed (67) hide show
  1. package/README.md +36 -0
  2. package/dist/agents/llm-runner.d.ts.map +1 -1
  3. package/dist/agents/llm-runner.js +61 -4
  4. package/dist/agents/llm-runner.js.map +1 -1
  5. package/dist/cli/lessons.d.ts +17 -0
  6. package/dist/cli/lessons.d.ts.map +1 -0
  7. package/dist/cli/lessons.js +448 -0
  8. package/dist/cli/lessons.js.map +1 -0
  9. package/dist/cli/statusline-hosts.js +1 -1
  10. package/dist/cli/statusline-hosts.js.map +1 -1
  11. package/dist/cli/statusline.d.ts +1 -0
  12. package/dist/cli/statusline.d.ts.map +1 -1
  13. package/dist/cli/statusline.js +18 -1
  14. package/dist/cli/statusline.js.map +1 -1
  15. package/dist/cli.js +10 -0
  16. package/dist/cli.js.map +1 -1
  17. package/dist/lessons/classify.d.ts +3 -0
  18. package/dist/lessons/classify.d.ts.map +1 -1
  19. package/dist/lessons/classify.js +12 -5
  20. package/dist/lessons/classify.js.map +1 -1
  21. package/dist/lessons/consent.d.ts +30 -0
  22. package/dist/lessons/consent.d.ts.map +1 -0
  23. package/dist/lessons/consent.js +86 -0
  24. package/dist/lessons/consent.js.map +1 -0
  25. package/dist/lessons/discover.d.ts +7 -0
  26. package/dist/lessons/discover.d.ts.map +1 -1
  27. package/dist/lessons/discover.js +5 -5
  28. package/dist/lessons/discover.js.map +1 -1
  29. package/dist/lessons/harvest.d.ts +40 -4
  30. package/dist/lessons/harvest.d.ts.map +1 -1
  31. package/dist/lessons/harvest.js +192 -17
  32. package/dist/lessons/harvest.js.map +1 -1
  33. package/dist/lessons/manage.d.ts +163 -0
  34. package/dist/lessons/manage.d.ts.map +1 -0
  35. package/dist/lessons/manage.js +337 -0
  36. package/dist/lessons/manage.js.map +1 -0
  37. package/dist/lessons/on-save.d.ts +18 -0
  38. package/dist/lessons/on-save.d.ts.map +1 -0
  39. package/dist/lessons/on-save.js +53 -0
  40. package/dist/lessons/on-save.js.map +1 -0
  41. package/dist/lessons/select.d.ts +1 -1
  42. package/dist/lessons/select.d.ts.map +1 -1
  43. package/dist/lessons/select.js +8 -6
  44. package/dist/lessons/select.js.map +1 -1
  45. package/dist/lessons/store.d.ts +80 -1
  46. package/dist/lessons/store.d.ts.map +1 -1
  47. package/dist/lessons/store.js +147 -10
  48. package/dist/lessons/store.js.map +1 -1
  49. package/dist/memory/config.d.ts +13 -0
  50. package/dist/memory/config.d.ts.map +1 -1
  51. package/dist/memory/config.js +24 -0
  52. package/dist/memory/config.js.map +1 -1
  53. package/dist/memory/local.d.ts.map +1 -1
  54. package/dist/memory/local.js +6 -3
  55. package/dist/memory/local.js.map +1 -1
  56. package/dist/memory/schema.d.ts +1 -1
  57. package/dist/memory/schema.d.ts.map +1 -1
  58. package/dist/memory/schema.js +50 -0
  59. package/dist/memory/schema.js.map +1 -1
  60. package/dist/server/handlers/council.d.ts.map +1 -1
  61. package/dist/server/handlers/council.js +36 -3
  62. package/dist/server/handlers/council.js.map +1 -1
  63. package/dist/server/handlers/session.d.ts.map +1 -1
  64. package/dist/server/handlers/session.js +10 -0
  65. package/dist/server/handlers/session.js.map +1 -1
  66. package/package.json +1 -1
  67. 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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"}
@@ -5,6 +5,7 @@ export interface StatuslineData {
5
5
  rate5hPct: number | null;
6
6
  rate7dPct: number | null;
7
7
  memCount: number | null;
8
+ noteCount: number | null;
8
9
  host?: {
9
10
  name: string;
10
11
  session: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"statusline.d.ts","sourceRoot":"","sources":["../../src/cli/statusline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statusline.d.ts","sourceRoot":"","sources":["../../src/cli/statusline.ts"],"names":[],"mappings":"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"}
@@ -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));