@jigyasudham/veto 3.3.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 (164) hide show
  1. package/README.md +89 -7
  2. package/dist/adapters/index.d.ts.map +1 -1
  3. package/dist/adapters/index.js +1 -0
  4. package/dist/adapters/index.js.map +1 -1
  5. package/dist/agents/llm-runner.d.ts.map +1 -1
  6. package/dist/agents/llm-runner.js +78 -8
  7. package/dist/agents/llm-runner.js.map +1 -1
  8. package/dist/cli/context-guidance.d.ts +16 -0
  9. package/dist/cli/context-guidance.d.ts.map +1 -0
  10. package/dist/cli/context-guidance.js +20 -0
  11. package/dist/cli/context-guidance.js.map +1 -0
  12. package/dist/cli/leftover-guides.d.ts +38 -0
  13. package/dist/cli/leftover-guides.d.ts.map +1 -0
  14. package/dist/cli/leftover-guides.js +135 -0
  15. package/dist/cli/leftover-guides.js.map +1 -0
  16. package/dist/cli/lessons.d.ts +17 -0
  17. package/dist/cli/lessons.d.ts.map +1 -0
  18. package/dist/cli/lessons.js +448 -0
  19. package/dist/cli/lessons.js.map +1 -0
  20. package/dist/cli/statusline-hosts.d.ts +36 -0
  21. package/dist/cli/statusline-hosts.d.ts.map +1 -0
  22. package/dist/cli/statusline-hosts.js +212 -0
  23. package/dist/cli/statusline-hosts.js.map +1 -0
  24. package/dist/cli/statusline.d.ts +7 -0
  25. package/dist/cli/statusline.d.ts.map +1 -1
  26. package/dist/cli/statusline.js +69 -11
  27. package/dist/cli/statusline.js.map +1 -1
  28. package/dist/cli.js +114 -47
  29. package/dist/cli.js.map +1 -1
  30. package/dist/council/llm-council.d.ts.map +1 -1
  31. package/dist/council/llm-council.js +13 -8
  32. package/dist/council/llm-council.js.map +1 -1
  33. package/dist/lessons/adapters/claude.d.ts +10 -0
  34. package/dist/lessons/adapters/claude.d.ts.map +1 -0
  35. package/dist/lessons/adapters/claude.js +18 -0
  36. package/dist/lessons/adapters/claude.js.map +1 -0
  37. package/dist/lessons/adapters/codex.d.ts +7 -0
  38. package/dist/lessons/adapters/codex.d.ts.map +1 -0
  39. package/dist/lessons/adapters/codex.js +9 -0
  40. package/dist/lessons/adapters/codex.js.map +1 -0
  41. package/dist/lessons/adapters/gemini.d.ts +4 -0
  42. package/dist/lessons/adapters/gemini.d.ts.map +1 -0
  43. package/dist/lessons/adapters/gemini.js +44 -0
  44. package/dist/lessons/adapters/gemini.js.map +1 -0
  45. package/dist/lessons/adapters/index.d.ts +6 -0
  46. package/dist/lessons/adapters/index.d.ts.map +1 -0
  47. package/dist/lessons/adapters/index.js +14 -0
  48. package/dist/lessons/adapters/index.js.map +1 -0
  49. package/dist/lessons/adapters/markdown.d.ts +16 -0
  50. package/dist/lessons/adapters/markdown.d.ts.map +1 -0
  51. package/dist/lessons/adapters/markdown.js +130 -0
  52. package/dist/lessons/adapters/markdown.js.map +1 -0
  53. package/dist/lessons/adapters/types.d.ts +27 -0
  54. package/dist/lessons/adapters/types.d.ts.map +1 -0
  55. package/dist/lessons/adapters/types.js +2 -0
  56. package/dist/lessons/adapters/types.js.map +1 -0
  57. package/dist/lessons/classify.d.ts +33 -0
  58. package/dist/lessons/classify.d.ts.map +1 -0
  59. package/dist/lessons/classify.js +108 -0
  60. package/dist/lessons/classify.js.map +1 -0
  61. package/dist/lessons/consent.d.ts +30 -0
  62. package/dist/lessons/consent.d.ts.map +1 -0
  63. package/dist/lessons/consent.js +86 -0
  64. package/dist/lessons/consent.js.map +1 -0
  65. package/dist/lessons/discover.d.ts +26 -0
  66. package/dist/lessons/discover.d.ts.map +1 -0
  67. package/dist/lessons/discover.js +65 -0
  68. package/dist/lessons/discover.js.map +1 -0
  69. package/dist/lessons/harvest.d.ts +84 -0
  70. package/dist/lessons/harvest.d.ts.map +1 -0
  71. package/dist/lessons/harvest.js +271 -0
  72. package/dist/lessons/harvest.js.map +1 -0
  73. package/dist/lessons/identity.d.ts +23 -0
  74. package/dist/lessons/identity.d.ts.map +1 -0
  75. package/dist/lessons/identity.js +81 -0
  76. package/dist/lessons/identity.js.map +1 -0
  77. package/dist/lessons/manage.d.ts +163 -0
  78. package/dist/lessons/manage.d.ts.map +1 -0
  79. package/dist/lessons/manage.js +337 -0
  80. package/dist/lessons/manage.js.map +1 -0
  81. package/dist/lessons/mask.d.ts +6 -0
  82. package/dist/lessons/mask.d.ts.map +1 -0
  83. package/dist/lessons/mask.js +22 -0
  84. package/dist/lessons/mask.js.map +1 -0
  85. package/dist/lessons/on-save.d.ts +18 -0
  86. package/dist/lessons/on-save.d.ts.map +1 -0
  87. package/dist/lessons/on-save.js +53 -0
  88. package/dist/lessons/on-save.js.map +1 -0
  89. package/dist/lessons/select.d.ts +23 -0
  90. package/dist/lessons/select.d.ts.map +1 -0
  91. package/dist/lessons/select.js +136 -0
  92. package/dist/lessons/select.js.map +1 -0
  93. package/dist/lessons/source-project.d.ts +9 -0
  94. package/dist/lessons/source-project.d.ts.map +1 -0
  95. package/dist/lessons/source-project.js +149 -0
  96. package/dist/lessons/source-project.js.map +1 -0
  97. package/dist/lessons/store.d.ts +135 -0
  98. package/dist/lessons/store.d.ts.map +1 -0
  99. package/dist/lessons/store.js +222 -0
  100. package/dist/lessons/store.js.map +1 -0
  101. package/dist/memory/config.d.ts +27 -0
  102. package/dist/memory/config.d.ts.map +1 -1
  103. package/dist/memory/config.js +67 -0
  104. package/dist/memory/config.js.map +1 -1
  105. package/dist/memory/local.d.ts.map +1 -1
  106. package/dist/memory/local.js +19 -1
  107. package/dist/memory/local.js.map +1 -1
  108. package/dist/memory/schema.d.ts +1 -1
  109. package/dist/memory/schema.d.ts.map +1 -1
  110. package/dist/memory/schema.js +104 -0
  111. package/dist/memory/schema.js.map +1 -1
  112. package/dist/server/handlers/council.d.ts.map +1 -1
  113. package/dist/server/handlers/council.js +40 -4
  114. package/dist/server/handlers/council.js.map +1 -1
  115. package/dist/server/handlers/memory.d.ts.map +1 -1
  116. package/dist/server/handlers/memory.js +13 -3
  117. package/dist/server/handlers/memory.js.map +1 -1
  118. package/dist/server/handlers/session.d.ts.map +1 -1
  119. package/dist/server/handlers/session.js +61 -21
  120. package/dist/server/handlers/session.js.map +1 -1
  121. package/dist/server.d.ts.map +1 -1
  122. package/dist/server.js +12 -3
  123. package/dist/server.js.map +1 -1
  124. package/dist/transcripts/cache.d.ts +1 -0
  125. package/dist/transcripts/cache.d.ts.map +1 -1
  126. package/dist/transcripts/cache.js +0 -0
  127. package/dist/transcripts/cache.js.map +1 -1
  128. package/dist/transcripts/claude-paths.d.ts +5 -0
  129. package/dist/transcripts/claude-paths.d.ts.map +1 -0
  130. package/dist/transcripts/claude-paths.js +21 -0
  131. package/dist/transcripts/claude-paths.js.map +1 -0
  132. package/dist/transcripts/context.d.ts +41 -0
  133. package/dist/transcripts/context.d.ts.map +1 -0
  134. package/dist/transcripts/context.js +144 -0
  135. package/dist/transcripts/context.js.map +1 -0
  136. package/dist/transcripts/discover.d.ts +12 -2
  137. package/dist/transcripts/discover.d.ts.map +1 -1
  138. package/dist/transcripts/discover.js +55 -7
  139. package/dist/transcripts/discover.js.map +1 -1
  140. package/dist/transcripts/manage.d.ts +8 -0
  141. package/dist/transcripts/manage.d.ts.map +1 -1
  142. package/dist/transcripts/manage.js +28 -13
  143. package/dist/transcripts/manage.js.map +1 -1
  144. package/dist/transcripts/mapping.d.ts.map +1 -1
  145. package/dist/transcripts/mapping.js +4 -2
  146. package/dist/transcripts/mapping.js.map +1 -1
  147. package/dist/transcripts/on-save.d.ts +9 -0
  148. package/dist/transcripts/on-save.d.ts.map +1 -1
  149. package/dist/transcripts/on-save.js +36 -9
  150. package/dist/transcripts/on-save.js.map +1 -1
  151. package/dist/transcripts/project-key.d.ts +4 -0
  152. package/dist/transcripts/project-key.d.ts.map +1 -0
  153. package/dist/transcripts/project-key.js +30 -0
  154. package/dist/transcripts/project-key.js.map +1 -0
  155. package/dist/transcripts/recall.d.ts +4 -0
  156. package/dist/transcripts/recall.d.ts.map +1 -1
  157. package/dist/transcripts/recall.js +6 -5
  158. package/dist/transcripts/recall.js.map +1 -1
  159. package/dist/transcripts/stopwords.d.ts +2 -0
  160. package/dist/transcripts/stopwords.d.ts.map +1 -0
  161. package/dist/transcripts/stopwords.js +8 -0
  162. package/dist/transcripts/stopwords.js.map +1 -0
  163. package/package.json +1 -1
  164. package/server.json +2 -2
package/README.md CHANGED
@@ -233,6 +233,7 @@ These work standalone in any terminal — no AI client needed. The bare `veto` c
233
233
  ```bash
234
234
  veto init # Configure all AI tools + scan project
235
235
  veto doctor # Check MCP registrations + system health
236
+ veto doctor --fix # Also move aside old Veto guides left in Codex/Gemini files
236
237
  veto status # Version, DB path, session/memory/outcome counts
237
238
  veto version # Alias for veto status
238
239
  veto sessions # List last 20 saved sessions ([auto] badge on auto-saves)
@@ -244,6 +245,10 @@ veto agents [filter] # List all 49 specialists — workers + council
244
245
  veto routing [status|log|reset] # Inspect the opt-in routing feedback loop
245
246
  veto transcripts <sub> # Opt-in transcript capture (off by default) —
246
247
  # enable|status|sources|list|show|purge|disable
248
+ veto lessons <sub> # Opt-in note sharing between your AIs (off by default) —
249
+ # on|status|list|why|forget|flows|off|exclude|include|alias|recheck
250
+ veto statusline <sub> # Veto line under the Claude Code prompt, or beside
251
+ # Codex/Gemini — install|status|print|watch|uninstall
247
252
  veto hook install # Install pre-commit secrets scan hook
248
253
  veto hook remove # Remove the veto pre-commit hook
249
254
  veto check # Scan staged changes for secrets (used by hook)
@@ -274,6 +279,22 @@ veto doctor
274
279
  ✓ All checks passed — Veto is healthy!
275
280
  ```
276
281
 
282
+ Versions of `veto init` before this release wrote Veto's guide over `~/.gemini/GEMINI.md` (Gemini's own memory file) and into `~/.codex/AGENTS.override.md`, which Codex reads *instead of* your `~/.codex/AGENTS.md`. Current versions never write either file. `veto doctor` reports any copy left behind, and `veto doctor --fix` (or `veto init`) renames a copy to `*.veto-backup` — only when the file is exactly a guide Veto shipped. A file with anything else in it, such as memories Gemini saved below the guide, is reported and never touched. What an old init overwrote cannot be recovered.
283
+
284
+ ### `veto statusline`
285
+
286
+ In Claude Code, `veto statusline install` adds a Veto line under the prompt: the latest council verdict, router confidence, live context and rate-limit use, and memory size.
287
+
288
+ Codex and Gemini cannot run a custom status line — each only shows its own built-in items (Codex: [openai/codex#20244](https://github.com/openai/codex/issues/20244)). So there, the same line runs in a small split pane beside the AI and follows its session in the current folder:
289
+
290
+ ```bash
291
+ veto statusline watch # follows whichever AI is working in this folder
292
+ veto statusline watch --client=codex # or pin one: claude | codex | gemini
293
+ veto statusline install --client=codex # prints the split-pane setup for your terminal; writes nothing
294
+ ```
295
+
296
+ For Codex it reads context and rate-limit use from Codex's own session file; Gemini records no usage figures, so its line shows the live session without gauges. `veto statusline print --client=codex` prints one line, for a tmux status bar or a script.
297
+
277
298
  ---
278
299
 
279
300
  ## Council Debate
@@ -465,8 +486,8 @@ veto transcripts enable # Opt in — prints what/where/retention, recor
465
486
  veto transcripts status # State, archive dir, retention, disk usage
466
487
  veto transcripts sources # Per-CLI: where sessions live + what Veto can see
467
488
  veto transcripts list # Archived sessions
468
- veto transcripts show <id> # One session's table-of-contents + facts
469
- veto transcripts purge <id> # Delete an archive (also --project=<dir> | --all)
489
+ veto transcripts show <id> # One session's table-of-contents + facts (any AI's session id)
490
+ veto transcripts purge <id> # Delete an archive (also --project=<dir> | --all; --source=codex to narrow)
470
491
  veto transcripts disable # Stop capturing (existing archives are kept)
471
492
  ```
472
493
 
@@ -475,10 +496,11 @@ veto transcripts disable # Stop capturing (existing archives are kept)
475
496
  All three are captured and recalled through the same pipeline, each with its own
476
497
  format adapter, and **Veto works out which one it is running in by itself** — the
477
498
  MCP handshake names the host, so nothing depends on the AI reporting it correctly.
478
- Claude Code reports its session through Veto's statusline; Codex and Gemini expose
479
- no such hook, so Veto locates their session files on disk instead.
480
- `veto transcripts sources` shows exactly what it can see for each, and
481
- `veto_health` reports the detected host if capture is not doing what you expect.
499
+ Veto finds each host's session files on disk at save time (Claude Code's statusline,
500
+ when installed, also reports its session live). A project folder matches however a
501
+ host spells it Gemini records `d:\veto` for the folder a save calls `D:\Veto`.
502
+ `veto transcripts sources` shows exactly what it can see for each, and when a save
503
+ archives nothing, its response says why.
482
504
 
483
505
  Each adapter was written against real transcripts rather than docs, which is how
484
506
  two format traps got handled: Codex records every message on two parallel
@@ -494,7 +516,24 @@ Recall runs through `veto_session_replay` as a two-call loop — search, then ex
494
516
  { expand: { event_id: 412 } } → the exact lines, masked, with a turn + timestamp citation
495
517
  ```
496
518
 
497
- Claude Code is the only adapter in 3.1.0; Codex and Gemini follow.
519
+ ### Past sessions, used without asking
520
+
521
+ Recall only helps if an AI thinks to reach for it, and mostly it did not. So the
522
+ tools where history changes the answer bring it along themselves, from every
523
+ archived chat — whichever AI it happened in:
524
+
525
+ - **`veto_continue` / `veto_session_restore`** list the chats behind the saved
526
+ session (for example a Codex chat and two Claude Code chats) and what was asked
527
+ last in each.
528
+ - **`veto_memory_search`** returns matching excerpts from past chats beside stored
529
+ memory.
530
+ - **Every prompt Veto hands a model** — agent tools and the council — carries up to
531
+ three relevant excerpts.
532
+
533
+ An excerpt is attached only when it is conversation (not a tool payload) and shares
534
+ at least two words with the question; nothing is attached while capture is off.
535
+ Excerpts are labelled as historical data, not instructions, and the deterministic
536
+ analyzers never receive them, so an old excerpt cannot become a finding.
498
537
 
499
538
  ### Semantic recall — finding what you can't quite remember
500
539
 
@@ -527,10 +566,53 @@ by [Minish Lab](https://github.com/MinishLab/model2vec) (MIT), distilled from
527
566
  neural network: there is no model running at query time, which is why a search
528
567
  costs milliseconds. The inference code is Veto's own.
529
568
 
569
+ ## Notes Shared Between Your AIs (opt-in, trial)
570
+
571
+ Claude, Codex and Gemini each keep notes in their own memory: Claude's per-project memory folders, `~/.codex/AGENTS.md`, `~/.gemini/GEMINI.md`. Each AI learns something, and the others never hear of it; the same lesson gets learned twice in two projects. Veto reads those notes and can share them where they help: **across your projects**, and **between your AIs**.
572
+
573
+ > ### ⚠️ What turning it on means
574
+ >
575
+ > - **Across your projects:** a note about you or this computer, written while you worked on one project, can be shared into your others.
576
+ > - **Between AIs:** a note Claude wrote can reach Codex and Gemini, and the other way round. A note given to an AI goes to that AI's company as part of your conversation, like anything else you send it.
577
+ > - **Read-only.** Veto never changes or deletes an AI's memory files. It keeps a copy of each note in its own local database, with email addresses, your home folder and anything that looks like a password or key removed first. Veto itself uploads nothing.
578
+ > - **Off until you say so, and only you can say so.** `veto lessons on` shows this disclosure and asks you to type `yes` in a terminal of your own. When an AI runs the command, it is refused, so no AI can switch sharing on for you. No upgrade ever turns it on, and if what sharing does materially changes, you are asked again.
579
+ > - **A trial for now.** Veto reads the notes and keeps its own masked copy of them on this computer. It gives none of them to any AI yet, and works out nothing about which ones it *would* give. Before it starts giving notes to your AIs, Veto will ask you again.
580
+
581
+ Most notes never leave their project. A note stays home if it is about that project, or if it contains a command, a web address, a credential or an instruction to fetch, send or run something; notes about secrets or personal details never leave their project at all. Only a note about *you* (Claude's `user` and `feedback` notes, a CLI's global instructions) or about *this computer* (its shell, console or network) may travel. A shared note arrives marked as information from another AI session, never as an instruction.
582
+
583
+ ```bash
584
+ veto lessons on # Read the disclosure; type yes to accept (your own terminal only)
585
+ veto lessons # Status: notes found, how many may travel, anything switched off
586
+ veto lessons list # Every note Veto has read, by project (--shared, --held, --scope=, --source=, --json)
587
+ veto lessons why <id> # One note: who wrote it, when, why it stays or travels, where it may go
588
+ veto lessons flows # Where each AI's notes may go, per project
589
+ veto lessons forget <id> # Stop one note for good, with its copies in your other checkouts
590
+ veto lessons exclude [dir] # Keep a project out entirely: nothing leaves it, nothing enters it (include undoes)
591
+ veto lessons alias # Memory on a drive that isn't plugged in: suggests the command that links it
592
+ veto lessons off # Turn sharing off and delete everything Veto copied
593
+ ```
594
+
530
595
  ---
531
596
 
532
597
  ## Release Notes
533
598
 
599
+ ### 3.5.0
600
+ - **New, opt-in and a trial: Veto reads the notes your AIs keep.** Claude Code, Codex and Gemini each write lessons into their own memory, and none of them hears what the others learned. With sharing on, Veto reads those notes, keeps a masked copy in its own local database, and works out which ones could safely travel: across your projects, and between your AIs. For now it gives none of them to any AI. That is the next step, and Veto will ask you again before taking it. Sharing is off until you run `veto lessons on` in a terminal of your own and type `yes`. When an AI runs the command, it is refused, and no upgrade turns sharing on. See [Notes Shared Between Your AIs](#notes-shared-between-your-ais-opt-in-trial).
601
+ - **New: `veto lessons`.** See what Veto read and why: `list` shows every note by project, `why <id>` shows where a note came from and where it may go, and `flows` shows where each AI's notes may go. Control it with `forget <id>` to stop one note for good, `exclude` to keep a project out entirely, `alias` to link memory on a drive that isn't plugged in, and `off` to turn sharing off and delete everything Veto copied.
602
+ - **Notes you write today are picked up when you save.** With sharing on, `veto_session_save` also re-reads each AI's memory and records what changed, so there is nothing to remember to run. A file that has not changed costs one stat, which adds about 20 ms to a save across 90 memory files. The pass is capped at 150 ms per save; anything it doesn't reach waits for the next save, and it can never cause a save to fail. Turning sharing on reads everything once, up front. To stop just the save-time pass, set `lessons.harvest_on_save` to `false` in `~/.veto/config.json`.
603
+ - **The status line shows how many notes Veto is holding** (`notes 175`), only while sharing is on. It never shows a zero that could suggest notes are kept when they are not.
604
+ - **Bug fix: an agent response of the wrong shape was reported as a result.** Every field in the agent response schema had a default, so a response Veto could not read passed validation as a complete answer assembled from defaults. For an analysis that meant score 70 and "approved with warnings". An unreadable security scan therefore reported as broadly passing, with no findings, and `veto_execute_parallel` returned confident, empty reviews. A response now has to contain what it claims to be (a plan needs an approach or steps; an analysis needs findings, a score, a verdict or a summary), and anything else is an error that names the keys that did arrive. An out-of-range field is still repaired as before, such as a score of 150 clamped to 100.
605
+ - **Bug fix: a council's seven analyses could be silently discarded.** `veto_council_debate` accepted phase-2 responses only as a JSON object, and models often send a JSON string. A string fell through to phase 1, which returned a deterministic verdict that looked like the real one, with nothing to say the written analyses had been thrown away. A string is now read like an object, and responses that genuinely cannot be read return an error saying what arrived and what was expected.
606
+
607
+ ### 3.4.0
608
+ - **Past sessions now reach the tools that need them, from every AI.** Transcript recall only helped when an AI thought to ask for it, and mostly it did not. Now `veto_continue` and `veto_session_restore` list the archived chats behind a saved session — say, the Codex chat and two Claude Code chats that worked on it — with what was asked last in each. `veto_memory_search` returns matching excerpts beside stored memory, and every prompt Veto hands a model, for the agent tools and the council, carries up to three relevant excerpts. An excerpt is attached only when it is conversation, never a raw tool payload, and shares at least two words with the question; nothing is attached while capture is off. Excerpts are labelled as historical data rather than instructions, and the deterministic analyzers never receive them, so an old excerpt cannot turn into a finding.
609
+ - **New: a Veto status line beside Codex and Gemini.** Neither CLI can run a custom status line — each shows only its own built-in items — so `veto statusline watch` draws Veto's line in a small split pane beside the AI and follows its session in the current folder. For Codex it shows context and rate-limit use, read from Codex's own session file; Gemini records no usage figures, so its line shows the live session without gauges. `veto statusline install --client=codex` (or `gemini`) prints the one-line setup for Windows Terminal, tmux or VS Code and changes nothing.
610
+ - **Bug fix: `veto init` overwrote other AI CLIs' own memory files.** Since 1.4.5, init replaced `~/.gemini/GEMINI.md` — Gemini's memory file — with Veto's guide, and wrote `~/.codex/AGENTS.override.md`, which Codex reads instead of your `~/.codex/AGENTS.md`, hiding your global Codex instructions. Init now writes neither. `veto doctor` reports a copy an older version left behind, and the new `veto doctor --fix` (or `veto init`) renames it to `*.veto-backup` — only when the file is byte-for-byte a guide Veto shipped. A file with anything else in it, such as memories Gemini saved below the guide, is reported and never touched. While a leftover exists, your AI offers the cleanup once per session. What an older init overwrote cannot be recovered.
611
+ - **Bug fix: transcript capture could archive nothing, or the wrong chat, without saying so.** Gemini records a project folder in lowercase (`d:\veto`) where a save names it `D:\Veto`, and matching was case-sensitive, so Gemini chats on Windows were never found; folder matching now ignores case and slash direction on Windows. `veto transcripts show` and `purge` looked only at Claude Code chats — purging a Codex or Gemini chat printed "✓ Purged 0 archive(s)" and deleted nothing; both now take any AI's session id, and a purge that matches nothing says so. Claude Code chats were captured only when Veto's status line was installed; they are now found in Claude Code's own projects folder. A save that did not name its project captured nothing; it now uses the project already known for the session. Every save that archives nothing now says why.
612
+ - **Bug fix: a session was labelled with the AI the model claimed to be.** A session saved from Codex by a model that reported itself as Claude resumed as "restored from claude". The AI that actually connected is now recorded, a mismatch is noted in the save response, and a resumed session names whoever saved it last. In `veto_continue` and `veto_session_restore` output, `created_by` is now `saved_by`.
613
+ - **Bug fix: a status line wired by hand counted as not installed.** Veto recognised only the exact command `veto statusline print`, so any other form — `node …/dist/cli.js statusline print`, `veto.cmd`, `npx`, or `--capture` — counted as missing: every session carried the "status line not enabled" tip, `veto statusline status` said no, and `install` asked for `--force`. Any command that runs Veto's `statusline print` now counts. Uninstall still removes only the exact line Veto wrote, so it never deletes a command someone else set up.
614
+ - **Also included, switched off: groundwork for sharing what each AI learns.** Harvest-and-Share will read the notes Claude Code, Codex and Gemini keep in their own memory and offer them to the others. This release contains only the groundwork: it reads nothing and shares nothing, has no command yet, and needs a separate opt-in that no upgrade turns on.
615
+
534
616
  ### 3.3.0
535
617
  - **Veto now asks whether a decision should be enforced.** `veto_decisions` has long been able to turn a recorded decision into a rule that fails any diff reintroducing what was ruled out, but a rule only exists if someone thinks to write one, and nothing ever prompted it. Now, when a council verdict (the LLM-backed one) or an ADR settles something, its result carries a one-time invitation: your AI asks you, in one line, whether the decision should become a rule. Yes becomes `veto_decisions add` with the invitation's id, in your own words; no becomes the new `decline` action. It never asks twice about the same verdict, never after a deadlock, and your AI is told to skip verdicts that settle nothing lasting. `veto_decisions list` shows how many invitations were offered, accepted and declined. That count is kept on your machine and never uploaded.
536
618
  - **A decision rule can no longer stall a review.** Rules run inside `veto_diff_review` and `veto_ci_gate`, so a badly shaped pattern could hang either one. `add` now refuses the shapes that cause that: a pattern over 200 characters, or a repeated group that itself repeats, like `(a+)+`. Each check also has limits. It reads only the first 2,000 characters of each added line, so a match further along a very long line (a minified bundle, say) is not flagged. It stops after two seconds and reports that it did, so a slow rule turns into a warning instead of blocking a merge. A rule saved by an earlier version that fails these checks is now matched as plain text.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAgB,MAAM,2BAA2B,CAAC;AAExE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,QAAQ,CAAC;IACxB,WAAW,EAAE,QAAQ,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhG,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,aAAa,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAIF,wBAAgB,OAAO,CAAC,OAAO,EAAE;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,aAAa,CAmChB;AAID,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,cAAc,CA2B1F;AAgDD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,GAAG,mBAAmB,CAgNrG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAgB,MAAM,2BAA2B,CAAC;AAExE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,QAAQ,CAAC;IACxB,WAAW,EAAE,QAAQ,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhG,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,aAAa,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAIF,wBAAgB,OAAO,CAAC,OAAO,EAAE;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,aAAa,CAmChB;AAID,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,cAAc,CA2B1F;AAiDD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,GAAG,mBAAmB,CAgNrG"}
@@ -87,6 +87,7 @@ function buildContinueResult(session, now) {
87
87
  }
88
88
  // created_at, not started_at: an in-place save rewrites created_at, so it is
89
89
  // when the session was last saved. started_at never moves after the first save.
90
+ // platform is the AI that saved last (updateSession), so this names who left off.
90
91
  const message = [
91
92
  `Session restored from ${session.platform} (saved ${session.created_at.slice(0, 16)}).`,
92
93
  session.summary ? `\nSummary: ${session.summary}` : '',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"llm-runner.d.ts","sourceRoot":"","sources":["../../src/agents/llm-runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAExE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAe,MAAM,YAAY,CAAC;AAyEjH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAsBrG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,aAAa,GAAG,IAAI,CAsB/F;AAUD,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,GACd,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;CAAE,GAAG,IAAI,CAAC,CA0ChE;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAkBvG;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,WAAW,EAAE,CA8Cf"}
1
+ {"version":3,"file":"llm-runner.d.ts","sourceRoot":"","sources":["../../src/agents/llm-runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAExE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAe,MAAM,YAAY,CAAC;AA4GjH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CA0BrG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,aAAa,GAAG,IAAI,CAwB/F;AAUD,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,GACd,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;CAAE,GAAG,IAAI,CAAC,CA2ChE;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAmBvG;AAaD,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,WAAW,EAAE,CA8Cf"}
@@ -4,6 +4,7 @@
4
4
  import { getManifestEntry } from './manifest.js';
5
5
  import { validateAgentPlan, validateAgentAnalysis } from './validate.js';
6
6
  import { log, errMsg } from '../log.js';
7
+ import { withPastSessions } from '../transcripts/context.js';
7
8
  // ─── System prompt builders ───────────────────────────────────────────────────
8
9
  function buildPlanPrompt(agent, role) {
9
10
  return `You are the ${agent} specialist in an AI-assisted software engineering system.
@@ -69,12 +70,50 @@ Rules:
69
70
  - Keep total JSON under 1000 tokens`;
70
71
  }
71
72
  // ─── Response parsers ─────────────────────────────────────────────────────────
73
+ /**
74
+ * Whether a parsed response actually carries a plan, rather than being valid
75
+ * JSON of some other shape.
76
+ *
77
+ * Every field in planSchema has a default and a .catch(), so Zod accepts even
78
+ * `{}` and fills it in. Without this guard a response of the wrong shape is
79
+ * silently turned into a complete plan reading "No approach provided." with
80
+ * empty steps — a confident answer built entirely out of defaults. AGENTS.md
81
+ * rule 5: a parse failure must be a visible error, never an empty result.
82
+ *
83
+ * Repairing a field is still fine and deliberate: an out-of-range tier becomes
84
+ * 2. That is a plan with a bad field. This is not a plan at all.
85
+ */
86
+ function hasPlanSubstance(p) {
87
+ if (typeof p.approach === 'string' && p.approach.trim())
88
+ return true;
89
+ return ['steps', 'checklist', 'pitfalls', 'patterns']
90
+ .some(key => Array.isArray(p[key]) && p[key].some(v => typeof v === 'string' && v.trim()));
91
+ }
92
+ /**
93
+ * The same guard for an analysis, where inventing one is worse: the defaults
94
+ * are score 70 and verdict "approved_with_warnings", so an unparseable
95
+ * security scan would otherwise report as broadly passing with no findings.
96
+ *
97
+ * An empty `findings` array IS substance — the prompt says an empty array is
98
+ * the right answer for clean code — but the key has to be there.
99
+ */
100
+ function hasAnalysisSubstance(p) {
101
+ if (Array.isArray(p.findings))
102
+ return true;
103
+ if (typeof p.score === 'number')
104
+ return true;
105
+ if (typeof p.verdict === 'string' && p.verdict.trim())
106
+ return true;
107
+ return typeof p.summary === 'string' && !!p.summary.trim();
108
+ }
72
109
  export function parsePlanResponse(raw, agent, task) {
73
110
  try {
74
111
  const match = raw.match(/\{[\s\S]*\}/);
75
112
  if (!match)
76
113
  return null;
77
114
  const p = JSON.parse(match[0]);
115
+ if (!p || typeof p !== 'object' || !hasPlanSubstance(p))
116
+ return null;
78
117
  const plan = {
79
118
  agent,
80
119
  task: typeof p.task === 'string' ? p.task : task,
@@ -86,7 +125,10 @@ export function parsePlanResponse(raw, agent, task) {
86
125
  patterns: Array.isArray(p.patterns) ? p.patterns.filter((x) => typeof x === 'string') : [],
87
126
  duration_estimate: typeof p.duration_estimate === 'string' ? p.duration_estimate : '2-4 hours',
88
127
  };
89
- return validateAgentPlan(plan, agent) ?? plan;
128
+ // Dead fallback removed: planSchema cannot reject anything, so `?? plan`
129
+ // meant the validator's answer was never used. If that ever changes, a
130
+ // rejection must be a null here, not a quiet pass.
131
+ return validateAgentPlan(plan, agent);
90
132
  }
91
133
  catch {
92
134
  return null;
@@ -98,6 +140,8 @@ export function parseAnalysisResponse(raw, agent) {
98
140
  if (!match)
99
141
  return null;
100
142
  const p = JSON.parse(match[0]);
143
+ if (!p || typeof p !== 'object' || !hasAnalysisSubstance(p))
144
+ return null;
101
145
  const verdicts = ['approved', 'approved_with_warnings', 'needs_revision', 'rejected'];
102
146
  const analysis = {
103
147
  agent,
@@ -109,7 +153,7 @@ export function parseAnalysisResponse(raw, agent) {
109
153
  critical_count: typeof p.critical_count === 'number' ? p.critical_count : 0,
110
154
  high_count: typeof p.high_count === 'number' ? p.high_count : 0,
111
155
  };
112
- return validateAgentAnalysis(analysis, agent) ?? analysis;
156
+ return validateAgentAnalysis(analysis, agent);
113
157
  }
114
158
  catch {
115
159
  return null;
@@ -137,8 +181,9 @@ export async function runAgentLlm(server, task) {
137
181
  else {
138
182
  userParts.push(`Task: ${task.task}`);
139
183
  }
140
- if (task.context)
141
- userParts.push(`\nContext:\n${task.context}`);
184
+ const context = contextWithHistory(task);
185
+ if (context)
186
+ userParts.push(`\nContext:\n${context}`);
142
187
  const userText = userParts.join('\n');
143
188
  try {
144
189
  const result = await server.createMessage({
@@ -175,16 +220,27 @@ export function buildAgenticAgentPrompt(task) {
175
220
  const schema = isAnalysis
176
221
  ? buildAnalysisPrompt(task.agent, entry.role)
177
222
  : buildPlanPrompt(task.agent, entry.role);
223
+ const context = contextWithHistory(task);
178
224
  return {
179
225
  mode: 'agentic',
180
226
  agent: task.agent,
181
227
  instruction: `MCP Sampling is unavailable. Reason as the ${task.agent} specialist and produce the output yourself, then return it in the result.`,
182
228
  output_prompt: isAnalysis
183
- ? `Analyze the following code as the ${task.agent} specialist:\n\n${task.code ?? ''}\n\n${task.context ? `Context: ${task.context}` : ''}`
184
- : `Plan the following task as the ${task.agent} specialist:\n\n${task.task}\n\n${task.context ? `Context: ${task.context}` : ''}`,
229
+ ? `Analyze the following code as the ${task.agent} specialist:\n\n${task.code ?? ''}\n\n${context ? `Context: ${context}` : ''}`
230
+ : `Plan the following task as the ${task.agent} specialist:\n\n${task.task}\n\n${context ? `Context: ${context}` : ''}`,
185
231
  schema,
186
232
  };
187
233
  }
234
+ /**
235
+ * The task's context plus relevant excerpts from this project's past chats.
236
+ * Both prompt builders a model reads go through here; the deterministic
237
+ * analyzers never do. The query is the material itself (the code, the error)
238
+ * when there is some, since a generic instruction like "perform a root-cause
239
+ * analysis" would match every chat.
240
+ */
241
+ function contextWithHistory(task) {
242
+ return withPastSessions(task.context, task.code?.trim() ? task.code : task.task, task.project_dir);
243
+ }
188
244
  export function parseAgenticAgentResponses(tasks, responses) {
189
245
  const results = [];
190
246
  const start = Date.now();
@@ -211,7 +267,7 @@ export function parseAgenticAgentResponses(tasks, responses) {
211
267
  output: deriveOutputFromAny(undefined, analysis || undefined),
212
268
  duration_ms: Date.now() - start,
213
269
  llm_backed: true,
214
- error: !analysis ? 'Failed to parse agent analysis JSON' : undefined,
270
+ error: !analysis ? `Agent response was not an analysis (needs findings, score, verdict or summary). Received: ${describeShape(raw)}` : undefined,
215
271
  });
216
272
  }
217
273
  else {
@@ -223,12 +279,26 @@ export function parseAgenticAgentResponses(tasks, responses) {
223
279
  output: deriveOutputFromAny(plan || undefined, undefined),
224
280
  duration_ms: Date.now() - start,
225
281
  llm_backed: true,
226
- error: !plan ? 'Failed to parse agent plan JSON' : undefined,
282
+ error: !plan ? `Agent response was not a plan (needs approach or steps). Received: ${describeShape(raw)}` : undefined,
227
283
  });
228
284
  }
229
285
  }
230
286
  return results;
231
287
  }
288
+ /** Name what actually arrived, so a shape mismatch is diagnosable from the error alone. */
289
+ function describeShape(raw) {
290
+ try {
291
+ const text = typeof raw === 'string' ? raw : JSON.stringify(raw);
292
+ const match = text.match(/\{[\s\S]*\}/);
293
+ if (!match)
294
+ return 'no JSON object';
295
+ const keys = Object.keys(JSON.parse(match[0]));
296
+ return keys.length ? `an object with keys ${keys.slice(0, 8).join(', ')}` : 'an empty object';
297
+ }
298
+ catch {
299
+ return 'unparseable JSON';
300
+ }
301
+ }
232
302
  function deriveOutputFromAny(plan, analysis) {
233
303
  if (analysis) {
234
304
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"llm-runner.js","sourceRoot":"","sources":["../../src/agents/llm-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-runner.js","sourceRoot":"","sources":["../../src/agents/llm-runner.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,6EAA6E;AAG7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,iFAAiF;AAEjF,SAAS,eAAe,CAAC,KAAsB,EAAE,IAAY;IAC3D,OAAO,eAAe,KAAK;;QAErB,IAAI;;;;;;cAME,KAAK;;;;;;;;;;;;;;;;;mCAiBgB,CAAC;AACpC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAsB,EAAE,IAAY;IAC/D,OAAO,eAAe,KAAK;;QAErB,IAAI;;;;;;cAME,KAAK;;;;;;;;;;;;;;;;;;;;;;;;oCAwBiB,CAAC;AACrC,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CAAC,CAA0B;IAClD,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IACrE,OAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAW;SAC7D,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAK,CAAC,CAAC,GAAG,CAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9G,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAAC,CAA0B;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IACnE,OAAO,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,KAAsB,EAAE,IAAY;IACjF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAErE,MAAM,IAAI,GAAc;YACtB,KAAK;YACL,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAChD,IAAI,EAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxD,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAuB;YAC7F,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1F,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACtG,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACnG,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACnG,iBAAiB,EAAE,OAAO,CAAC,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW;SAC/F,CAAC;QAEF,yEAAyE;QACzE,uEAAuE;QACvE,mDAAmD;QACnD,OAAO,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW,EAAE,KAAsB;IACvE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzE,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,UAAU,CAAU,CAAC;QAC/F,MAAM,QAAQ,GAAkB;YAC9B,KAAK;YACL,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;YACpE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5E,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACzF,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;YAC5E,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;YAC3E,cAAc,EAAE,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC3E,UAAU,EAAE,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAChE,CAAC;QAEF,OAAO,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,CAAU;IAChC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,OAAO,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC;AAC1G,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAc,EACd,IAAe;IAEf,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,CAAC;IAC/E,MAAM,YAAY,GAAG,UAAU;QAC7B,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;QAC7C,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,UAAU,EAAE,CAAC;QACf,SAAS,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,OAAO;QAAE,SAAS,CAAC,IAAI,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YACxC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;YACvE,YAAY;YACZ,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;SAC5B,CAAC,CAAC;QAEV,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAE/B,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,qBAAqB,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACjE,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,8EAA8E;QAC9E,mEAAmE;QACnE,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,uBAAuB,CAAC,IAAe;IACrD,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,CAAC;IAC/E,MAAM,MAAM,GAAG,UAAU;QACvB,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;QAC7C,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO;QACL,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,8CAA8C,IAAI,CAAC,KAAK,4EAA4E;QACjJ,aAAa,EAAE,UAAU;YACvB,CAAC,CAAC,qCAAqC,IAAI,CAAC,KAAK,mBAAmB,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YAChI,CAAC,CAAC,kCAAkC,IAAI,CAAC,KAAK,mBAAmB,IAAI,CAAC,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACzH,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,IAAe;IACzC,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAkB,EAClB,SAAkC;IAElC,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;gBACxH,WAAW,EAAE,CAAC;gBACd,KAAK,EAAE,iDAAiD;aACzD,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,EAAE,WAAW,KAAK,UAAU,CAAC;QAEhF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACxG,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,QAAQ,IAAI,SAAS;gBAC/B,MAAM,EAAE,mBAAmB,CAAC,SAAS,EAAE,QAAQ,IAAI,SAAS,CAAC;gBAC7D,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC/B,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,6FAA6F,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;aACjJ,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3G,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,IAAI,SAAS;gBACvB,MAAM,EAAE,mBAAmB,CAAC,IAAI,IAAI,SAAS,EAAE,SAAS,CAAC;gBACzD,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC/B,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,sEAAsE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;aACtH,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2FAA2F;AAC3F,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,gBAAgB,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAA4B,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,kBAAkB,CAAC;IAAC,CAAC;AACxC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAgB,EAAE,QAAwB;IACrE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;YAC1D,QAAQ,EAAE,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;YAChG,cAAc,EAAE,QAAQ,CAAC,OAAO;YAChC,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,QAAQ,CAAC,QAAQ;iBACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACvB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAS,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;SAC1E,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,6CAA6C;QAC7C,OAAO;YACL,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,MAAM;YAChB,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AACpG,CAAC"}
@@ -0,0 +1,16 @@
1
+ export type ContextGuidanceResult = {
2
+ geminiMemorySkipped: boolean;
3
+ codexOverrideSkipped: boolean;
4
+ projectAgents: 'created' | 'existing' | 'not-detected';
5
+ };
6
+ /**
7
+ * Install only Veto-owned project guidance. Native AI memory files are
8
+ * deliberately read-only: Veto must never replace, hide, or merge into them.
9
+ */
10
+ export declare function writeContextGuidance(options: {
11
+ cwd: string;
12
+ geminiDir: string;
13
+ codexDir: string;
14
+ guide: string;
15
+ }): ContextGuidanceResult;
16
+ //# sourceMappingURL=context-guidance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-guidance.d.ts","sourceRoot":"","sources":["../../src/cli/context-guidance.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,qBAAqB,GAAG;IAClC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,SAAS,GAAG,UAAU,GAAG,cAAc,CAAC;CACxD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,qBAAqB,CAexB"}
@@ -0,0 +1,20 @@
1
+ import { existsSync, writeFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ /**
4
+ * Install only Veto-owned project guidance. Native AI memory files are
5
+ * deliberately read-only: Veto must never replace, hide, or merge into them.
6
+ */
7
+ export function writeContextGuidance(options) {
8
+ const geminiMemorySkipped = existsSync(options.geminiDir);
9
+ const codexDetected = existsSync(options.codexDir);
10
+ if (!codexDetected) {
11
+ return { geminiMemorySkipped, codexOverrideSkipped: false, projectAgents: 'not-detected' };
12
+ }
13
+ const projectAgents = join(options.cwd, 'AGENTS.md');
14
+ if (existsSync(projectAgents)) {
15
+ return { geminiMemorySkipped, codexOverrideSkipped: true, projectAgents: 'existing' };
16
+ }
17
+ writeFileSync(projectAgents, options.guide, 'utf8');
18
+ return { geminiMemorySkipped, codexOverrideSkipped: true, projectAgents: 'created' };
19
+ }
20
+ //# sourceMappingURL=context-guidance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-guidance.js","sourceRoot":"","sources":["../../src/cli/context-guidance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAKpC;IACC,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;IAC7F,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;IACxF,CAAC;IAED,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AACvF,CAAC"}
@@ -0,0 +1,38 @@
1
+ export declare const SHIPPED_GUIDE_SHA256: ReadonlySet<string>;
2
+ export type LeftoverGuide = {
3
+ host: 'codex' | 'gemini';
4
+ path: string;
5
+ /** exact: the file is nothing but a guide Veto wrote. embedded: a guide plus other content. */
6
+ kind: 'exact' | 'embedded';
7
+ };
8
+ export type MovedGuide = LeftoverGuide & {
9
+ backupPath: string;
10
+ };
11
+ /** The only two files init ever wrote into (always under the home directory, never CODEX_HOME). */
12
+ export declare function leftoverGuideTargets(home?: string): Array<{
13
+ host: LeftoverGuide['host'];
14
+ path: string;
15
+ }>;
16
+ export declare function findLeftoverGuides(home?: string): LeftoverGuide[];
17
+ /**
18
+ * Rename each file that is exactly a guide Veto wrote to `<file>.veto-backup`.
19
+ * Embedded guides are returned in `kept`, untouched. The file is re-checked
20
+ * immediately before the rename, so content a host appended in the meantime is
21
+ * never moved away with it.
22
+ */
23
+ export declare function moveAsideLeftoverGuides(home?: string, now?: Date): {
24
+ moved: MovedGuide[];
25
+ kept: LeftoverGuide[];
26
+ };
27
+ /**
28
+ * One line about a leftover. `owner` is how the file's owner is named: "your"
29
+ * in the terminal, "the user's" in text handed to the agent.
30
+ */
31
+ export declare function describeLeftover(guide: LeftoverGuide, home?: string, owner?: string): string;
32
+ /**
33
+ * Startup tip for the MCP `instructions` field, present only while a leftover
34
+ * exists, so it resolves itself. Like the status-line tip, it hands the offer
35
+ * to the agent; nothing is changed unless the user agrees.
36
+ */
37
+ export declare function leftoverGuideInstruction(home?: string): string | undefined;
38
+ //# sourceMappingURL=leftover-guides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leftover-guides.d.ts","sourceRoot":"","sources":["../../src/cli/leftover-guides.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CASnD,CAAC;AAOH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAKhE,mGAAmG;AACnG,wBAAgB,oBAAoB,CAAC,IAAI,SAAY,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAK3G;AAYD,wBAAgB,kBAAkB,CAAC,IAAI,SAAY,GAAG,aAAa,EAAE,CAOpE;AASD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,SAAY,EAAE,GAAG,OAAa,GAAG;IAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,IAAI,EAAE,aAAa,EAAE,CAAA;CAAE,CAc1H;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,SAAY,EAAE,KAAK,SAAS,GAAG,MAAM,CAM/F;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,SAAY,GAAG,MAAM,GAAG,SAAS,CAoB7E"}