Commit db7a7a0
committed
feat: add annotation/audit tools with sql.js backend
Adds MCP tools for annotation of query results and auditing of queried
codebases, as inspired by `GitHubSecurityLab/seclab-taskflow-agent`:
ref -> https://github.com/GitHubSecurityLab/seclab-taskflow-agent
Replace lowdb with sql.js (asm.js build) as the unified storage
backend. The asm.js build bundles inline with esbuild — no external
deps, no WASM binary, single self-contained JS output preserved.
Annotation & audit tools (opt-in via ENABLE_ANNOTATION_TOOLS):
- annotation_{create,get,list,update,delete,search}: general-purpose
notes/bookmarks on any entity with SQL-backed filtering
- audit_{store_findings,list_findings,add_notes,clear_repo}: repo-keyed
finding management for MRVA triage workflows
- Consolidated behind single ENABLE_ANNOTATION_TOOLS flag
CallGraphFromTo external predicates:
- Wire sourceFunction + targetFunction CSV handling in cli-tool-registry
Integration test fixtures:
- 3 CallGraphFromTo tests (cpp, javascript, python)
- 4 annotation tool tests (create, list, search, delete)
- 4 audit tool tests (store, list, triage notes, clear)
- 1 MRVA workflow test (6-step finding triage)
- 3 extension integration tests (opt-in gating, MRVA+annotation e2e)
Storage migration:
- SessionDataManager now uses SqliteStore instead of lowdb
- 20 new SqliteStore unit tests, all 1019 server tests passing1 parent dcfd0a9 commit db7a7a0
File tree
51 files changed
+130980
-771
lines changed- client/integration-tests
- primitives/tools
- annotation_create/basic_create
- after
- before
- annotation_delete/delete_by_prefix
- after
- before
- annotation_list/filter_by_category_and_prefix
- after
- before
- annotation_search/full_text_search
- after
- before
- audit_add_notes/mrva_triage_notes
- after
- before
- audit_clear_repo/clear_single_repo
- after
- before
- audit_list_findings/mrva_findings_for_repo
- after
- before
- audit_store_findings/mrva_findings_across_repos
- after
- before
- codeql_query_run
- cpp_call_graph_from_to_example1
- after
- before
- javascript_call_graph_from_to_example1
- after
- before
- python_call_graph_from_to_example1
- after
- before
- workflows/mrva_finding_triage/mrva_triage_workflow
- after
- before
- extensions/vscode/test/suite
- server
- dist
- src
- lib
- tools
- types
- test/src
- lib
- tools
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
51 files changed
+130980
-771
lines changedLines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
0 commit comments