@jigyasudham/veto 3.2.0 → 3.3.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 +12 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +3 -1
- package/dist/adapters/index.js.map +1 -1
- package/dist/bin/veto-server.d.ts +3 -0
- package/dist/bin/veto-server.d.ts.map +1 -0
- package/dist/bin/veto-server.js +18 -0
- package/dist/bin/veto-server.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/memory/decisions.d.ts +34 -1
- package/dist/memory/decisions.d.ts.map +1 -1
- package/dist/memory/decisions.js +158 -13
- package/dist/memory/decisions.js.map +1 -1
- package/dist/memory/local.d.ts.map +1 -1
- package/dist/memory/local.js +22 -3
- package/dist/memory/local.js.map +1 -1
- package/dist/memory/schema.d.ts +2 -1
- package/dist/memory/schema.d.ts.map +1 -1
- package/dist/memory/schema.js +15 -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 +12 -1
- package/dist/server/handlers/council.js.map +1 -1
- package/dist/server/handlers/generators.d.ts.map +1 -1
- package/dist/server/handlers/generators.js +8 -0
- package/dist/server/handlers/generators.js.map +1 -1
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +31 -4
- package/dist/server/handlers/memory.js.map +1 -1
- package/dist/server/handlers/session.js +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +33 -4
- package/dist/server.js.map +1 -1
- package/dist/tools/definitions.d.ts +7 -3
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +4 -3
- package/dist/tools/definitions.js.map +1 -1
- package/package.json +2 -2
- package/server.json +2 -2
package/README.md
CHANGED
|
@@ -146,6 +146,10 @@ veto_decisions {
|
|
|
146
146
|
|
|
147
147
|
From then on, `veto_diff_review` and `veto_ci_gate` automatically fail any diff whose **added lines** match a forbidden pattern — when an AI quietly adds `mongoose` to the imports three sessions later, the review fails with the rule and the rationale attached. Patterns are case-insensitive regexes (with substring fallback), optionally scoped to a file glob (`src/**/*.ts`), per-project or global, severity `block` or `warn`. Manage with `action: list / check / disable / enable`.
|
|
148
148
|
|
|
149
|
+
You don't have to remember to do this. When a council verdict (the LLM-backed one) or an ADR settles something, its result carries a one-time `constraint_invitation`: your AI asks you once whether it should become a rule, and passes your answer back as `add` or `decline` with the `invitation_id`. It never asks twice about the same verdict. `action: list` shows how many invitations were offered, accepted and declined; that count stays on your machine.
|
|
150
|
+
|
|
151
|
+
A rule can't stall your reviews. `add` refuses a pattern that could hang the check: one over 200 characters, or a repeated group that itself repeats, like `(a+)+`. Every check is also time-boxed, so a slow rule turns into a warning instead of blocking `veto_ci_gate`.
|
|
152
|
+
|
|
149
153
|
## Compounding-Error Circuit Breaker
|
|
150
154
|
|
|
151
155
|
Agents fail silently in loops — retrying the same broken call, re-hitting the same error, thrashing between two tools — and burn a whole session before anyone notices. `veto_drift_check` scans the recent tool-call trace for that pattern mid-flight and trips a breaker before the spiral compounds:
|
|
@@ -527,6 +531,14 @@ costs milliseconds. The inference code is Veto's own.
|
|
|
527
531
|
|
|
528
532
|
## Release Notes
|
|
529
533
|
|
|
534
|
+
### 3.3.0
|
|
535
|
+
- **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
|
+
- **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.
|
|
537
|
+
- **Bug fix: a resumed session showed when it started, not when it was last saved.** `veto_continue` and `veto_session_restore` reported the time of a session's first save, so a session updated 18 days after it began resumed looking 18 days out of date. Underneath, the last-saved time was stored in two formats, and that caused two more faults. `veto_continue` called without a session id could restore the wrong session when one session was updated and another saved for the first time on the same day; the VS Code extension picks its latest session the same way. And `veto_metrics` counted zero sessions today for any session saved today and not yet updated. Existing records are converted once, automatically, the first time 3.3.0 opens its database; the times themselves don't change. `veto sessions` now shows the last-saved time too.
|
|
538
|
+
|
|
539
|
+
### 3.2.1
|
|
540
|
+
- **Bug fix: `veto-server` did not start when installed through npm or npx on macOS or Linux.** The process exited immediately, without error and with a success status, so clients reported only "connection closed during initialize". The cause was the check that decides whether the server was run directly or merely imported: it compared the running module's path against the path it was invoked with, and npm installs a command as a symlink on those platforms, so one side was resolved through the link and the other was not. They never matched, the server never started, and this had been true of every release since 2.1.0. Windows was unaffected throughout, because npm creates a different kind of shim there that passes the real path — which is why the fault survived ten releases of local testing. Also unaffected: any configuration that runs `node .../dist/server.js` directly, including the Desktop Extension bundle. The packaged command is now a dedicated entry point that starts unconditionally rather than inferring whether it should, and the test suite now launches the built artifact the way a package manager does, which is the check that was missing. Reported, diagnosed and reproduced by [@khaliqgant](https://github.com/khaliqgant) in [#39](https://github.com/jigyasudham/veto/issues/39).
|
|
541
|
+
|
|
530
542
|
### 3.2.0
|
|
531
543
|
- **Transcript capture now works in Codex CLI and Gemini CLI, not just Claude Code.** A session in any of the three is archived, indexed, recalled and expanded through the same pipeline, with the same consent, masking and retention rules. Both adapters were written against every real transcript on a development machine rather than against documentation — 12 Codex rollouts spanning six CLI versions and 2,365 Gemini chat files — and parse all of it without an unrecognized record. That is also how two format traps surfaced, neither visible from a single example file: Codex writes every message on two interleaved streams where neither is a complete record on its own, and Gemini's log is append-only over *revisions* rather than messages, re-appending the same message id as its text grows. Left unhandled, either would have counted every message twice in search. Nothing is discarded — the duplicate copies are still stored and still byte-addressable — they simply do not enter the index.
|
|
532
544
|
- **Veto finds Codex and Gemini sessions on its own.** Only Claude Code offers a hook that hands Veto the transcript path, so for the other two Veto locates the session files on disk instead. `veto transcripts sources` reports what it can actually see for each CLI, which is the difference between capture being switched on and capture being able to work where you are.
|
|
@@ -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;
|
|
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"}
|
package/dist/adapters/index.js
CHANGED
|
@@ -85,8 +85,10 @@ function buildContinueResult(session, now) {
|
|
|
85
85
|
catch {
|
|
86
86
|
task_state = session.task_state;
|
|
87
87
|
}
|
|
88
|
+
// created_at, not started_at: an in-place save rewrites created_at, so it is
|
|
89
|
+
// when the session was last saved. started_at never moves after the first save.
|
|
88
90
|
const message = [
|
|
89
|
-
`Session restored from ${session.platform} (saved ${session.
|
|
91
|
+
`Session restored from ${session.platform} (saved ${session.created_at.slice(0, 16)}).`,
|
|
90
92
|
session.summary ? `\nSummary: ${session.summary}` : '',
|
|
91
93
|
next_action ? `\nNext action: ${next_action}` : '',
|
|
92
94
|
`\nContinue exactly where you left off. Nothing needs to be re-explained.`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,EAAE,aAAa,EAAgB,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAwC/E,iFAAiF;AAEjF,MAAM,UAAU,OAAO,CAAC,OAQvB;IACC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,IAAI,GAAa,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC;IAEzD,0CAA0C;IAC1C,MAAM,EAAE,GAAa,OAAO,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE3E,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;QACnD,CAAC,CAAC,GAAG,IAAI,UAAU,UAAU,CAAC,IAAI,CAAC,CAAC,YAAY,kBAAkB;QAClE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;YACvC,CAAC,CAAC,GAAG,IAAI,UAAU,UAAU,CAAC,IAAI,CAAC,CAAC,YAAY,2BAA2B;YAC3E,CAAC,CAAC,kCAAkC,CAAC;IAEvC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;QAC3C,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,2BAA2B,IAAI,OAAO,EAAE,EAAE;QACtE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC;QACrC,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,kBAAkB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAE7F,OAAO;QACL,UAAU;QACV,QAAQ;QACR,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,EAAE;QACf,MAAM;QACN,WAAW,EAAE,UAAU;QACvB,YAAY;QACZ,SAAS;KACV,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,eAAe,CAAC,SAAkB,EAAE,aAAsB;IACxE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,6BAA6B,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;QAC/F,CAAC;QACD,OAAO,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,uFAAuF;YAChG,WAAW,EAAE,GAAG;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,4CAA4C,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;IACnG,CAAC;IAED,OAAO,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA2C,EAAE,GAAW;IACnF,IAAI,OAAO,GAAY,IAAI,CAAC;IAC5B,IAAI,UAAU,GAAY,IAAI,CAAC;IAC/B,IAAI,WAA+B,CAAC;IAEpC,IAAI,CAAC;QACH,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAAC,CAAC;IAEtC,IAAI,CAAC;QACH,IAAI,EAAE,GAAY,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,uFAAuF;QACvF,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAAC,CAAC;QAC3F,UAAU,GAAG,EAAE,CAAC;QAChB,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;YACvD,WAAW,GAAG,MAAM,CAAE,EAA8B,CAAC,YAAY,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAAC,CAAC;IAE5C,MAAM,OAAO,GAAG;QACd,yBAAyB,OAAO,CAAC,QAAQ,WAAW,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI;QACvF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;QACtD,WAAW,CAAC,CAAC,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;QAClD,0EAA0E;KAC3E,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE3B,OAAO;QACL,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,OAAO,CAAC,EAAE;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,SAAS;QACjD,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS;QACrC,OAAO;QACP,UAAU;QACV,WAAW;QACX,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,SAAS;QAC7C,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO;QACP,WAAW,EAAE,GAAG;KACjB,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,gBAAgB,CAAC,QAAuB,EAAE,cAAsB;IAC9E,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,0BAA0B,EAAE,aAAa,CAAC,EAAE,CAAC;IAE1G,+EAA+E;IAC/E,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,OAAO;YACL,QAAQ;YACR,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,qCAAqC,EAAE;YAClG,WAAW,EAAE;gBACX,uFAAuF;gBACvF,6CAA6C;gBAC7C,iFAAiF;gBACjF,kFAAkF;aACnF;YACD,kBAAkB,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,KAAK,EAAE,gBAAgB,CAAC;YAChF,gBAAgB,EAAE,eAAe;YACjC,KAAK,EAAE;gBACL,yEAAyE;gBACzE,4FAA4F;gBAC5F,kEAAkE;aACnE;SACF,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;YAClD,CAAC,CAAC,+BAA+B;YACjC,CAAC,CAAC,6BAA6B,CAAC;QAClC,OAAO;YACL,QAAQ;YACR,UAAU,EAAE,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE;YACjF,WAAW,EAAE;gBACX,8FAA8F;gBAC9F,sBAAsB;gBACtB,qEAAqE;gBACrE,oBAAoB,eAAe,EAAE;aACtC;YACD,kBAAkB,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,KAAK,EAAE,gBAAgB,CAAC;YAChF,gBAAgB,EAAE,eAAe;YACjC,KAAK,EAAE;gBACL,gEAAgE;gBAChE,oEAAoE;gBACpE,mGAAmG;aACpG;SACF,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO;YACL,QAAQ;YACR,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,kBAAkB,EAAE,yBAAyB;gBAC7C,mBAAmB,EAAE,mBAAmB;aACzC;YACD,WAAW,EAAE;gBACX,kFAAkF;gBAClF,+HAA+H;gBAC/H,0DAA0D;gBAC1D,qEAAqE;gBACrE,4FAA4F;aAC7F;YACD,kBAAkB,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,KAAK,CAAC;YAC7F,gBAAgB,EAAE,eAAe;YACjC,KAAK,EAAE;gBACL,wGAAwG;gBACxG,+EAA+E;gBAC/E,sGAAsG;aACvG;SACF,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO;YACL,QAAQ;YACR,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE;YACvF,WAAW,EAAE;gBACX,4EAA4E;gBAC5E,kDAAkD;gBAClD,qEAAqE;aACtE;YACD,kBAAkB,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,KAAK,EAAE,gBAAgB,CAAC;YAChF,gBAAgB,EAAE,eAAe;YACjC,KAAK,EAAE;gBACL,2FAA2F;aAC5F;SACF,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,OAAO;YACL,QAAQ;YACR,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE;YAC7F,WAAW,EAAE;gBACX,sDAAsD;gBACtD,wGAAwG;gBACxG,4CAA4C;gBAC5C,qEAAqE;aACtE;YACD,kBAAkB,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,KAAK,EAAE,gBAAgB,CAAC;YAChF,gBAAgB,EAAE,eAAe;YACjC,KAAK,EAAE;gBACL,6CAA6C;aAC9C;SACF,CAAC;IACJ,CAAC;IAEH,8EAA8E;IAC5E,MAAM,OAAO,GAAqG;QAChH,MAAM,EAAE;YACN,UAAU,EAAE,uDAAuD;YACnE,SAAS,EAAG,YAAY;YACxB,UAAU,EAAE,sFAAsF;YAClG,KAAK,EAAE;gBACL,0EAA0E;gBAC1E,qGAAqG;gBACrG,iEAAiE;gBACjE,wEAAwE;aACzE;SACF;QACD,MAAM,EAAE;YACN,UAAU,EAAE,yBAAyB;YACrC,SAAS,EAAG,YAAY;YACxB,UAAU,EAAE,mCAAmC;YAC/C,KAAK,EAAE;gBACL,qEAAqE;gBACrE,0EAA0E;gBAC1E,2DAA2D;aAC5D;SACF;QACD,WAAW,EAAE;YACX,UAAU,EAAE,2CAA2C;YACvD,SAAS,EAAG,YAAY;YACxB,UAAU,EAAE,mCAAmC;YAC/C,KAAK,EAAE;gBACL,0DAA0D;gBAC1D,oEAAoE;gBACpE,gEAAgE;aACjE;SACF;QACD,KAAK,EAAE;YACL,UAAU,EAAE,mDAAmD;YAC/D,SAAS,EAAG,kBAAkB;YAC9B,UAAU,EAAE,6EAA6E;YACzF,KAAK,EAAE;gBACL,2FAA2F;gBAC3F,gGAAgG;gBAChG,qFAAqF;gBACrF,4EAA4E;gBAC5E,6EAA6E;aAC9E;SACF;KACF,CAAC;IAEF,MAAM,GAAG,GAAG,OAAO,CAAC,QAAoB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE/D,MAAM,WAAW,GAAG;QAClB,8FAA8F;QAC9F,mFAAmF;QACnF,yEAAyE;QACzE,qEAAqE;QACrE,gFAAgF;KACjF,CAAC;IAEF,MAAM,gBAAgB,GAAG;QACvB,oGAAoG;QACpG,qEAAqE;QACrE,yGAAyG;QACzG,wCAAwC;QACxC,qEAAqE;KACtE,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,qFAAqF;QACrF,4FAA4F;QAC5F,6FAA6F;QAC7F,yEAAyE;QACzE,4BAA4B;QAC5B,qEAAqE;QACrE,oFAAoF;KACrF,CAAC;IAEF,MAAM,YAAY,GAAG;QACnB,eAAe,GAAG,CAAC,UAAU,EAAE;QAC/B,6DAA6D,GAAG,CAAC,UAAU,GAAG;QAC9E,oBAAoB,QAAQ,mDAAmD;QAC/E,qEAAqE;KACtE,CAAC;IAEF,MAAM,cAAc,GAAG;QACrB,SAAS,EAAE,sBAAsB;QACjC,UAAU,EAAE,+JAA+J;QAC3K,gBAAgB,EAAE,iFAAiF;QACnG,OAAO,EAAE,2EAA2E;KACrF,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,UAAU,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC3F,WAAW,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;QACnJ,kBAAkB,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,CAAC;QACtG,gBAAgB,EAAE,eAAe;QACjC,KAAK,EAAE,GAAG,CAAC,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,SAAS,YAAY,CAAC,IAAc,EAAE,UAA4C;IAChF,MAAM,KAAK,GAAe,IAAI,KAAK,QAAQ;QACzC,CAAC,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC;QACpC,CAAC,CAAC,IAAI,KAAK,QAAQ;YACnB,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC;YACpC,CAAC,CAAC,IAAI,KAAK,aAAa;gBACxB,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC/B,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAExC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IACD,2DAA2D;IAC3D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAC9B,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EACrE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CACxB,SAAiB,EACjB,IAAc,EACd,EAAY,EACZ,UAA4C;IAE5C,MAAM,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,KAAK,GAAa;QACtB,4DAA4D;QAC5D,aAAa,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,YAAY,SAAS;QACtE,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,YAAY,SAAS;QAC5D,aAAa,SAAS,EAAE;QACxB,EAAE;QACF,MAAM,EAAE,GAAG;QACX,iCAAiC,EAAE,MAAM;QACzC,yDAAyD;QACzD,2BAA2B;QAC3B,gDAAgD;QAChD,wCAAwC;QACxC,EAAE;QACF,gCAAgC;QAChC,oCAAoC,SAAS,KAAK;QAClD,EAAE;QACF,mBAAmB,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM;QAChE,2DAA2D;KAC5D,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"veto-server.d.ts","sourceRoot":"","sources":["../../src/bin/veto-server.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// The packaged `veto-server` entry point.
|
|
3
|
+
//
|
|
4
|
+
// This file exists so that starting the server never depends on comparing the
|
|
5
|
+
// running module's path against process.argv[1]. npm installs a bin as a symlink
|
|
6
|
+
// on macOS and Linux, so any such comparison sees a resolved path on one side and
|
|
7
|
+
// the link path on the other, fails, and the process exits 0 without ever
|
|
8
|
+
// answering MCP initialize — issue #39. Here there is nothing to compare: being
|
|
9
|
+
// run is the whole contract of this module, so it calls main() unconditionally.
|
|
10
|
+
//
|
|
11
|
+
// src/server.ts stays import-safe for tests, which import callTool from it and
|
|
12
|
+
// must not start a stdio transport as a side effect.
|
|
13
|
+
import { main } from '../server.js';
|
|
14
|
+
main().catch((err) => {
|
|
15
|
+
process.stderr.write(`Fatal: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
16
|
+
process.exit(1);
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=veto-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"veto-server.js","sourceRoot":"","sources":["../../src/bin/veto-server.ts"],"names":[],"mappings":";AACA,0CAA0C;AAC1C,EAAE;AACF,8EAA8E;AAC9E,iFAAiF;AACjF,kFAAkF;AAClF,0EAA0E;AAC1E,gFAAgF;AAChF,gFAAgF;AAChF,EAAE;AACF,+EAA+E;AAC/E,qDAAqD;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -845,7 +845,7 @@ async function sessionsCommand() {
|
|
|
845
845
|
}
|
|
846
846
|
else {
|
|
847
847
|
for (const s of sessions) {
|
|
848
|
-
const date = new Date(s.
|
|
848
|
+
const date = new Date(s.created_at).toLocaleString();
|
|
849
849
|
const badge = s.save_type === 'auto' ? c.dim(' [auto]') : '';
|
|
850
850
|
console.log(` ${c.cyan(s.id.slice(0, 8))} ${c.dim(date)} ${c.bold(s.platform ?? 'claude')}${badge} ${s.summary?.slice(0, 60) ?? ''}`);
|
|
851
851
|
}
|
|
@@ -19,6 +19,8 @@ export type DriftViolation = {
|
|
|
19
19
|
line: string;
|
|
20
20
|
matched_pattern: string;
|
|
21
21
|
};
|
|
22
|
+
export declare const MAX_PATTERN_LENGTH = 200;
|
|
23
|
+
export declare function validateForbiddenPatterns(patterns: string[]): string[];
|
|
22
24
|
export declare function addConstraint(input: {
|
|
23
25
|
rule: string;
|
|
24
26
|
forbidden_patterns: string[];
|
|
@@ -29,5 +31,36 @@ export declare function addConstraint(input: {
|
|
|
29
31
|
}): DecisionConstraint;
|
|
30
32
|
export declare function listConstraints(project_dir?: string, include_inactive?: boolean): DecisionConstraint[];
|
|
31
33
|
export declare function setConstraintActive(id: string, active: boolean): boolean;
|
|
32
|
-
export declare
|
|
34
|
+
export declare const MAX_LINE_CHARS = 2000;
|
|
35
|
+
export declare const CHECK_BUDGET_MS = 2000;
|
|
36
|
+
export declare function checkDiffAgainstConstraints(diff: string, project_dir?: string, budgetMs?: number): DriftViolation[];
|
|
37
|
+
export type InvitationSource = 'council' | 'adr';
|
|
38
|
+
export type InvitationAnswer = 'accepted' | 'declined';
|
|
39
|
+
export type ConstraintInvitation = {
|
|
40
|
+
id: string;
|
|
41
|
+
source_kind: InvitationSource;
|
|
42
|
+
source_id: string | null;
|
|
43
|
+
project_dir: string | null;
|
|
44
|
+
offered_at: string;
|
|
45
|
+
answer: InvitationAnswer | null;
|
|
46
|
+
answered_at: string | null;
|
|
47
|
+
constraint_id: string | null;
|
|
48
|
+
};
|
|
49
|
+
export declare function offerInvitation(input: {
|
|
50
|
+
source_kind: InvitationSource;
|
|
51
|
+
source_id?: string;
|
|
52
|
+
project_dir?: string;
|
|
53
|
+
}): ConstraintInvitation | null;
|
|
54
|
+
export declare function getInvitation(id: string): ConstraintInvitation | null;
|
|
55
|
+
export declare function answerInvitation(id: string, answer: InvitationAnswer, constraint_id?: string): 'recorded' | 'not_found' | 'already_answered';
|
|
56
|
+
export declare function invitationStats(): {
|
|
57
|
+
offered: number;
|
|
58
|
+
accepted: number;
|
|
59
|
+
declined: number;
|
|
60
|
+
unanswered: number;
|
|
61
|
+
};
|
|
62
|
+
export declare function invitationPayload(invitation_id: string): {
|
|
63
|
+
invitation_id: string;
|
|
64
|
+
instruction: string;
|
|
65
|
+
};
|
|
33
66
|
//# sourceMappingURL=decisions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../src/memory/decisions.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;
|
|
1
|
+
{"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../src/memory/decisions.ts"],"names":[],"mappings":"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"}
|
package/dist/memory/decisions.js
CHANGED
|
@@ -29,7 +29,83 @@ function normalizeDir(dir) {
|
|
|
29
29
|
return null;
|
|
30
30
|
return dir.replace(/\\/g, '/').replace(/\/+$/, '').toLowerCase();
|
|
31
31
|
}
|
|
32
|
+
// ─── Pattern safety ───────────────────────────────────────────────────────────
|
|
33
|
+
// Constraints run inside veto_diff_review and veto_ci_gate, so one bad pattern
|
|
34
|
+
// must never wedge them. addConstraint is the only way into the table, and it
|
|
35
|
+
// refuses a pattern that fails these checks; a pattern stored before they
|
|
36
|
+
// existed degrades to a literal substring match at check time instead.
|
|
37
|
+
export const MAX_PATTERN_LENGTH = 200;
|
|
38
|
+
// True when a repeated group contains a repeat of its own — (a+)+, (\w*)*,
|
|
39
|
+
// ((ab)+c){2,} — the shape behind catastrophic backtracking. Deliberately
|
|
40
|
+
// over-approximate: refusing a safe pattern costs the user one rewrite,
|
|
41
|
+
// accepting a bad one can hang every review that follows.
|
|
42
|
+
function hasNestedQuantifier(src) {
|
|
43
|
+
const groups = []; // per open group: does its body repeat anything?
|
|
44
|
+
let closedGroupRepeats = false; // the group that closed on the previous character
|
|
45
|
+
let inClass = false;
|
|
46
|
+
for (let i = 0; i < src.length; i++) {
|
|
47
|
+
const ch = src[i];
|
|
48
|
+
const afterRepeatingGroup = closedGroupRepeats;
|
|
49
|
+
closedGroupRepeats = false;
|
|
50
|
+
if (ch === '\\') {
|
|
51
|
+
i++;
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (inClass) {
|
|
55
|
+
if (ch === ']')
|
|
56
|
+
inClass = false;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (ch === '[') {
|
|
60
|
+
inClass = true;
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (ch === '(') {
|
|
64
|
+
groups.push(false);
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (ch === ')') {
|
|
68
|
+
closedGroupRepeats = groups.pop() ?? false;
|
|
69
|
+
if (closedGroupRepeats && groups.length > 0)
|
|
70
|
+
groups[groups.length - 1] = true;
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
if (ch === '+' || ch === '*' || (ch === '{' && /^\{\d+(,\d*)?\}/.test(src.slice(i)))) {
|
|
74
|
+
if (afterRepeatingGroup)
|
|
75
|
+
return true;
|
|
76
|
+
if (groups.length > 0)
|
|
77
|
+
groups[groups.length - 1] = true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
function compiles(pattern) {
|
|
83
|
+
try {
|
|
84
|
+
new RegExp(pattern, 'i');
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// Why each pattern is unsafe to run against every future diff; [] means all are safe.
|
|
92
|
+
// A pattern that does not compile is not a problem: it is matched as plain text.
|
|
93
|
+
export function validateForbiddenPatterns(patterns) {
|
|
94
|
+
const problems = [];
|
|
95
|
+
for (const p of patterns) {
|
|
96
|
+
if (p.length > MAX_PATTERN_LENGTH) {
|
|
97
|
+
problems.push(`"${p.slice(0, 40)}…" is ${p.length} characters; the limit is ${MAX_PATTERN_LENGTH}.`);
|
|
98
|
+
}
|
|
99
|
+
else if (compiles(p) && hasNestedQuantifier(p)) {
|
|
100
|
+
problems.push(`"${p}" repeats a group that already repeats, which can hang diff review on some inputs. Drop the outer repeat — "(a+)+" matches the same lines as "a+".`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return problems;
|
|
104
|
+
}
|
|
32
105
|
export function addConstraint(input) {
|
|
106
|
+
const problems = validateForbiddenPatterns(input.forbidden_patterns);
|
|
107
|
+
if (problems.length > 0)
|
|
108
|
+
throw new Error(`Unsafe forbidden_patterns: ${problems.join(' ')}`);
|
|
33
109
|
const db = getDb();
|
|
34
110
|
const id = randomUUID();
|
|
35
111
|
const created_at = new Date().toISOString();
|
|
@@ -76,23 +152,50 @@ function scopeMatches(scope, file) {
|
|
|
76
152
|
return true;
|
|
77
153
|
}
|
|
78
154
|
}
|
|
79
|
-
// A pattern is a case-insensitive regex
|
|
80
|
-
//
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
155
|
+
// A pattern is a case-insensitive regex. One that doesn't compile — or that
|
|
156
|
+
// validateForbiddenPatterns would refuse, e.g. stored before those checks
|
|
157
|
+
// existed — degrades to a case-insensitive substring match, so user input can
|
|
158
|
+
// never break or hang the check.
|
|
159
|
+
function toMatcher(pattern) {
|
|
160
|
+
if (validateForbiddenPatterns([pattern]).length === 0) {
|
|
161
|
+
try {
|
|
162
|
+
const re = new RegExp(pattern, 'i');
|
|
163
|
+
return line => re.test(line);
|
|
164
|
+
}
|
|
165
|
+
catch { /* not a regex */ }
|
|
87
166
|
}
|
|
167
|
+
const needle = pattern.toLowerCase();
|
|
168
|
+
return line => line.toLowerCase().includes(needle);
|
|
88
169
|
}
|
|
89
|
-
|
|
90
|
-
|
|
170
|
+
// A check must finish. Only the first MAX_LINE_CHARS of each added line are
|
|
171
|
+
// tested (a minified bundle can put 100KB on one line), and once the check has
|
|
172
|
+
// run for budgetMs it stops and reports a warning — so a slow rule degrades
|
|
173
|
+
// review and CI to a warning instead of wedging them.
|
|
174
|
+
export const MAX_LINE_CHARS = 2_000;
|
|
175
|
+
export const CHECK_BUDGET_MS = 2_000;
|
|
176
|
+
export function checkDiffAgainstConstraints(diff, project_dir, budgetMs = CHECK_BUDGET_MS) {
|
|
177
|
+
const constraints = listConstraints(project_dir).map(c => ({
|
|
178
|
+
...c,
|
|
179
|
+
matchers: c.forbidden_patterns.filter(Boolean).map(pattern => ({ pattern, test: toMatcher(pattern) })),
|
|
180
|
+
}));
|
|
91
181
|
if (constraints.length === 0 || !diff.trim())
|
|
92
182
|
return [];
|
|
183
|
+
const deadline = Date.now() + budgetMs;
|
|
93
184
|
const violations = [];
|
|
94
185
|
let currentFile = '';
|
|
95
186
|
for (const raw of diff.split('\n')) {
|
|
187
|
+
if (Date.now() >= deadline) {
|
|
188
|
+
violations.push({
|
|
189
|
+
constraint_id: 'veto:check-budget',
|
|
190
|
+
rule: `Decision check stopped after ${budgetMs}ms; the rest of this diff was not checked.`,
|
|
191
|
+
why: 'A constraint is too slow for this diff. Find it with veto_decisions list, then simplify or disable it.',
|
|
192
|
+
severity: 'warn',
|
|
193
|
+
file: currentFile || '(diff)',
|
|
194
|
+
line: '',
|
|
195
|
+
matched_pattern: '',
|
|
196
|
+
});
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
96
199
|
const fileHeader = raw.match(/^\+\+\+ b\/(.+)$/);
|
|
97
200
|
if (fileHeader) {
|
|
98
201
|
currentFile = fileHeader[1];
|
|
@@ -100,12 +203,12 @@ export function checkDiffAgainstConstraints(diff, project_dir) {
|
|
|
100
203
|
}
|
|
101
204
|
if (!raw.startsWith('+') || raw.startsWith('+++'))
|
|
102
205
|
continue;
|
|
103
|
-
const line = raw.slice(1);
|
|
206
|
+
const line = raw.slice(1, 1 + MAX_LINE_CHARS);
|
|
104
207
|
for (const c of constraints) {
|
|
105
208
|
if (!scopeMatches(c.file_scope, currentFile))
|
|
106
209
|
continue;
|
|
107
|
-
for (const pattern of c.
|
|
108
|
-
if (
|
|
210
|
+
for (const { pattern, test } of c.matchers) {
|
|
211
|
+
if (test(line)) {
|
|
109
212
|
violations.push({
|
|
110
213
|
constraint_id: c.id,
|
|
111
214
|
rule: c.rule,
|
|
@@ -122,4 +225,46 @@ export function checkDiffAgainstConstraints(diff, project_dir) {
|
|
|
122
225
|
}
|
|
123
226
|
return violations;
|
|
124
227
|
}
|
|
228
|
+
// Records an offer, or returns null when this source (a council outcome) has
|
|
229
|
+
// already been offered — one question per verdict, however many tools see it.
|
|
230
|
+
export function offerInvitation(input) {
|
|
231
|
+
const db = getDb();
|
|
232
|
+
const id = randomUUID();
|
|
233
|
+
const res = db.prepare(`INSERT OR IGNORE INTO constraint_invitations (id, source_kind, source_id, project_dir, offered_at)
|
|
234
|
+
VALUES (?, ?, ?, ?, ?)`).run(id, input.source_kind, input.source_id ?? null, normalizeDir(input.project_dir), new Date().toISOString());
|
|
235
|
+
return res.changes > 0 ? getInvitation(id) : null;
|
|
236
|
+
}
|
|
237
|
+
export function getInvitation(id) {
|
|
238
|
+
const row = getDb().prepare('SELECT * FROM constraint_invitations WHERE id = ?').get(id);
|
|
239
|
+
return row ?? null;
|
|
240
|
+
}
|
|
241
|
+
// An invitation is answered once; a second answer is refused so the counts
|
|
242
|
+
// cannot drift from what the user actually said.
|
|
243
|
+
export function answerInvitation(id, answer, constraint_id) {
|
|
244
|
+
const res = getDb().prepare('UPDATE constraint_invitations SET answer = ?, answered_at = ?, constraint_id = ? WHERE id = ? AND answer IS NULL').run(answer, new Date().toISOString(), constraint_id ?? null, id);
|
|
245
|
+
if (res.changes > 0)
|
|
246
|
+
return 'recorded';
|
|
247
|
+
return getInvitation(id) ? 'already_answered' : 'not_found';
|
|
248
|
+
}
|
|
249
|
+
// Across all projects: the question is whether anyone ever says yes, not where.
|
|
250
|
+
export function invitationStats() {
|
|
251
|
+
const r = getDb().prepare(`SELECT COUNT(*) AS offered,
|
|
252
|
+
COALESCE(SUM(answer = 'accepted'), 0) AS accepted,
|
|
253
|
+
COALESCE(SUM(answer = 'declined'), 0) AS declined,
|
|
254
|
+
COALESCE(SUM(answer IS NULL), 0) AS unanswered
|
|
255
|
+
FROM constraint_invitations`).get();
|
|
256
|
+
return { offered: r.offered, accepted: r.accepted, declined: r.declined, unanswered: r.unanswered };
|
|
257
|
+
}
|
|
258
|
+
// The text a tool result carries to the host AI. Fixed wording, no derived
|
|
259
|
+
// content: the rule is written in the user's words when they say yes, so what
|
|
260
|
+
// ends up enforced is text the user authored or confirmed.
|
|
261
|
+
export function invitationPayload(invitation_id) {
|
|
262
|
+
return {
|
|
263
|
+
invitation_id,
|
|
264
|
+
instruction: 'Ask the user once, in one line, whether this verdict should become an enforceable rule: Veto would then flag any future diff that breaks it. ' +
|
|
265
|
+
'Ask only if the verdict settles a lasting choice (e.g. "we use Postgres, not Mongo"); if it settles nothing lasting, skip the question without mentioning it. ' +
|
|
266
|
+
'If they say yes, call veto_decisions with { action: "add", invitation_id, rule (in the user\'s words), forbidden_patterns, why }. ' +
|
|
267
|
+
'If they say no, call veto_decisions with { action: "decline", invitation_id }. Never raise it again for this verdict.',
|
|
268
|
+
};
|
|
269
|
+
}
|
|
125
270
|
//# sourceMappingURL=decisions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../src/memory/decisions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../src/memory/decisions.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,0EAA0E;AAC1E,mDAAmD;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAgCnC,SAAS,eAAe,CAAC,CAAM;IAC7B,IAAI,QAAQ,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC;QAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,8CAA8C,CAAC,CAAC;IAC7G,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QACvE,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QAClD,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC;QACtB,UAAU,EAAE,CAAC,CAAC,UAAU;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAA8B;IAClD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACnE,CAAC;AAED,iFAAiF;AACjF,+EAA+E;AAC/E,8EAA8E;AAC9E,0EAA0E;AAC1E,uEAAuE;AAEvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,2EAA2E;AAC3E,0EAA0E;AAC1E,wEAAwE;AACxE,0DAA0D;AAC1D,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,MAAM,GAAc,EAAE,CAAC,CAAG,iDAAiD;IACjF,IAAI,kBAAkB,GAAG,KAAK,CAAC,CAAC,kDAAkD;IAClF,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;QAC/C,kBAAkB,GAAG,KAAK,CAAC;QAC3B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACnC,IAAI,OAAO,EAAE,CAAC;YAAC,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,GAAG,KAAK,CAAC;YAAC,SAAS;QAAC,CAAC;QAC3D,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;YAAC,SAAS;QAAC,CAAC;QAC7C,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACjD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,kBAAkB,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC;YAC3C,IAAI,kBAAkB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAC9E,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,IAAI,mBAAmB;gBAAE,OAAO,IAAI,CAAC;YACrC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe;IAC/B,IAAI,CAAC;QAAC,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AACxE,CAAC;AAED,sFAAsF;AACtF,iFAAiF;AACjF,MAAM,UAAU,yBAAyB,CAAC,QAAkB;IAC1D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,6BAA6B,kBAAkB,GAAG,CAAC,CAAC;QACvG,CAAC;aAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,oJAAoJ,CAAC,CAAC;QAC3K,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAO7B;IACC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACrE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7F,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,EAAE,CAAC,OAAO,CACR;wCACoC,CACrC,CAAC,GAAG,CACH,EAAE,EACF,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,EAC/B,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,GAAG,IAAI,IAAI,EACjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,EACxC,KAAK,CAAC,UAAU,IAAI,IAAI,EACxB,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC5C,UAAU,CACX,CAAC;IACF,OAAO,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAE,CAAC;AACnD,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,eAAe,CAAC,WAAoB,EAAE,gBAAgB,GAAG,KAAK;IAC5E,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,EAAW,CAAC;IACtG,OAAO,IAAI;SACR,GAAG,CAAC,eAAe,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,IAAI,CAAC,CAAC,MAAM,CAAC;SACzC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAU,EAAE,MAAe;IAC7D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAwB,CAAC;IACjI,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,iFAAiF;AAEjF,mEAAmE;AACnE,2EAA2E;AAC3E,8EAA8E;AAC9E,+EAA+E;AAC/E,SAAS,YAAY,CAAC,KAAoB,EAAE,IAAY;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,EAAE,GAAG,GAAG,GAAG,KAAK;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;SAClC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;SACxB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;SACvB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;SAC5B,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;IAC7B,IAAI,CAAC;QAAC,OAAO,IAAI,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC3F,CAAC;AAED,4EAA4E;AAC5E,0EAA0E;AAC1E,8EAA8E;AAC9E,iCAAiC;AACjC,SAAS,SAAS,CAAC,OAAe;IAChC,IAAI,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC;YAAC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,4EAA4E;AAC5E,+EAA+E;AAC/E,4EAA4E;AAC5E,sDAAsD;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AACpC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AAErC,MAAM,UAAU,2BAA2B,CAAC,IAAY,EAAE,WAAoB,EAAE,QAAQ,GAAG,eAAe;IACxG,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzD,GAAG,CAAC;QACJ,QAAQ,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KACvG,CAAC,CAAC,CAAC;IACJ,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAExD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;IACvC,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC3B,UAAU,CAAC,IAAI,CAAC;gBACd,aAAa,EAAE,mBAAmB;gBAClC,IAAI,EAAE,gCAAgC,QAAQ,4CAA4C;gBAC1F,GAAG,EAAE,wGAAwG;gBAC7G,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,WAAW,IAAI,QAAQ;gBAC7B,IAAI,EAAE,EAAE;gBACR,eAAe,EAAE,EAAE;aACpB,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjD,IAAI,UAAU,EAAE,CAAC;YAAC,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,SAAS;QAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC;gBAAE,SAAS;YACvD,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACf,UAAU,CAAC,IAAI,CAAC;wBACd,aAAa,EAAE,CAAC,CAAC,EAAE;wBACnB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,IAAI,EAAE,WAAW,IAAI,gBAAgB;wBACrC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;wBAC/B,eAAe,EAAE,OAAO;qBACzB,CAAC,CAAC;oBACH,MAAM,CAAC,wCAAwC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AA4BD,6EAA6E;AAC7E,8EAA8E;AAC9E,MAAM,UAAU,eAAe,CAAC,KAI/B;IACC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CACpB;4BACwB,CACzB,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAwB,CAAC;IACxI,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,EAAE,CAAqC,CAAC;IAC7H,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC;AAED,2EAA2E;AAC3E,iDAAiD;AACjD,MAAM,UAAU,gBAAgB,CAC9B,EAAU,EACV,MAAwB,EACxB,aAAsB;IAEtB,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,OAAO,CACzB,kHAAkH,CACnH,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,aAAa,IAAI,IAAI,EAAE,EAAE,CAAwB,CAAC;IAC1F,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACvC,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC;AAC9D,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,OAAO,CACvB;;;;mCAI+B,CAChC,CAAC,GAAG,EAAiF,CAAC;IACvF,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;AACtG,CAAC;AAED,2EAA2E;AAC3E,8EAA8E;AAC9E,2DAA2D;AAC3D,MAAM,UAAU,iBAAiB,CAAC,aAAqB;IACrD,OAAO;QACL,aAAa;QACb,WAAW,EACT,+IAA+I;YAC/I,gKAAgK;YAChK,oIAAoI;YACpI,uHAAuH;KAC1H,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/memory/local.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA8BhD,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AACD,OAAO,EAAyC,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAqB,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAG7L,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIlD,CAAC;AAmCF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAS7E;AAOD,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAED,wBAAgB,KAAK,IAAI,YAAY,
|
|
1
|
+
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/memory/local.ts"],"names":[],"mappings":"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"}
|
package/dist/memory/local.js
CHANGED
|
@@ -119,6 +119,7 @@ export function getDb() {
|
|
|
119
119
|
migrateRoutingFeedback(_db);
|
|
120
120
|
migrateToolTraceLog(_db);
|
|
121
121
|
migrateProjectDirCase(_db);
|
|
122
|
+
migrateSessionCreatedAtIso(_db);
|
|
122
123
|
// Stamp the read-contract version so external readers (veto-vscode, statusline)
|
|
123
124
|
// can detect drift via `PRAGMA user_version`. See VETO_DB_SCHEMA_VERSION.
|
|
124
125
|
_db.exec(`PRAGMA user_version = ${VETO_DB_SCHEMA_VERSION}`);
|
|
@@ -141,6 +142,21 @@ function migrateProjectDirCase(db) {
|
|
|
141
142
|
}
|
|
142
143
|
}
|
|
143
144
|
}
|
|
145
|
+
// Rewrites sessions.created_at values still in SQLite's default form
|
|
146
|
+
// ('YYYY-MM-DD HH:MM:SS', from before saveSession wrote it explicitly) into the
|
|
147
|
+
// ISO form every write now uses. created_at is the last-saved time — updateSession
|
|
148
|
+
// rewrites it — and it is what listSessions and the VS Code HUD order by, so a
|
|
149
|
+
// mixed column let a session updated at 02:00 outrank one first saved at 23:00
|
|
150
|
+
// the same day. Idempotent: the GLOB only matches the space-separated form, and
|
|
151
|
+
// anything strftime cannot parse is left alone rather than violating NOT NULL.
|
|
152
|
+
function migrateSessionCreatedAtIso(db) {
|
|
153
|
+
db.exec(`
|
|
154
|
+
UPDATE sessions
|
|
155
|
+
SET created_at = strftime('%Y-%m-%dT%H:%M:%fZ', created_at)
|
|
156
|
+
WHERE created_at GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]*'
|
|
157
|
+
AND strftime('%Y-%m-%dT%H:%M:%fZ', created_at) IS NOT NULL
|
|
158
|
+
`);
|
|
159
|
+
}
|
|
144
160
|
// Creates tool_call_trace_log table for auditing and session replay (v1.8.0 migration)
|
|
145
161
|
function migrateToolTraceLog(db) {
|
|
146
162
|
db.exec(`
|
|
@@ -342,10 +358,13 @@ export function saveSession(input) {
|
|
|
342
358
|
const connection_type = input.connection_type ?? 'subscription';
|
|
343
359
|
const token_count = input.token_count ?? 0;
|
|
344
360
|
const save_type = input.save_type ?? 'manual';
|
|
361
|
+
// created_at is written explicitly rather than left to its column default:
|
|
362
|
+
// datetime('now') yields 'YYYY-MM-DD HH:MM:SS', while updateSession writes ISO,
|
|
363
|
+
// and a mixed column sorts wrong within a day (' ' < 'T').
|
|
345
364
|
db.prepare(`
|
|
346
|
-
INSERT INTO sessions (id, started_at, platform, connection_type, project_dir, summary, context, task_state, token_count, save_type, tags)
|
|
347
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
348
|
-
`).run(id, now, platform, connection_type, normalizeProjectDir(input.project_dir) ?? null, input.summary ?? null, input.context ? JSON.stringify(input.context) : null, input.task_state ? JSON.stringify(input.task_state) : null, token_count, save_type, input.tags ? JSON.stringify(input.tags) : null);
|
|
365
|
+
INSERT INTO sessions (id, started_at, platform, connection_type, project_dir, summary, context, task_state, token_count, save_type, tags, created_at)
|
|
366
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
367
|
+
`).run(id, now, platform, connection_type, normalizeProjectDir(input.project_dir) ?? null, input.summary ?? null, input.context ? JSON.stringify(input.context) : null, input.task_state ? JSON.stringify(input.task_state) : null, token_count, save_type, input.tags ? JSON.stringify(input.tags) : null, now);
|
|
349
368
|
// Record usage event
|
|
350
369
|
db.prepare(`
|
|
351
370
|
INSERT INTO usage_events (id, session_id, platform, connection_type, tokens, event_type, recorded_at)
|