nodebench-mcp 2.15.0 → 2.18.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/LICENSE +21 -0
- package/NODEBENCH_AGENTS.md +2 -2
- package/README.md +514 -82
- package/dist/__tests__/analytics.test.d.ts +11 -0
- package/dist/__tests__/analytics.test.js +546 -0
- package/dist/__tests__/analytics.test.js.map +1 -0
- package/dist/__tests__/architectComplex.test.d.ts +1 -0
- package/dist/__tests__/architectComplex.test.js +375 -0
- package/dist/__tests__/architectComplex.test.js.map +1 -0
- package/dist/__tests__/architectSmoke.test.d.ts +1 -0
- package/dist/__tests__/architectSmoke.test.js +92 -0
- package/dist/__tests__/architectSmoke.test.js.map +1 -0
- package/dist/__tests__/dynamicLoading.test.d.ts +1 -0
- package/dist/__tests__/dynamicLoading.test.js +278 -0
- package/dist/__tests__/dynamicLoading.test.js.map +1 -0
- package/dist/__tests__/evalHarness.test.js +7 -2
- package/dist/__tests__/evalHarness.test.js.map +1 -1
- package/dist/__tests__/gaiaCapabilityEval.test.js +229 -12
- package/dist/__tests__/gaiaCapabilityEval.test.js.map +1 -1
- package/dist/__tests__/gaiaCapabilityMediaEval.test.js +194 -109
- package/dist/__tests__/gaiaCapabilityMediaEval.test.js.map +1 -1
- package/dist/__tests__/helpers/answerMatch.js +22 -22
- package/dist/__tests__/presetRealWorldBench.test.js +11 -2
- package/dist/__tests__/presetRealWorldBench.test.js.map +1 -1
- package/dist/__tests__/tools.test.js +10 -4
- package/dist/__tests__/tools.test.js.map +1 -1
- package/dist/__tests__/toolsetGatingEval.test.js +12 -4
- package/dist/__tests__/toolsetGatingEval.test.js.map +1 -1
- package/dist/analytics/index.d.ts +10 -0
- package/dist/analytics/index.js +11 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/analytics/projectDetector.d.ts +19 -0
- package/dist/analytics/projectDetector.js +259 -0
- package/dist/analytics/projectDetector.js.map +1 -0
- package/dist/analytics/schema.d.ts +57 -0
- package/dist/analytics/schema.js +157 -0
- package/dist/analytics/schema.js.map +1 -0
- package/dist/analytics/smartPreset.d.ts +63 -0
- package/dist/analytics/smartPreset.js +300 -0
- package/dist/analytics/smartPreset.js.map +1 -0
- package/dist/analytics/toolTracker.d.ts +59 -0
- package/dist/analytics/toolTracker.js +163 -0
- package/dist/analytics/toolTracker.js.map +1 -0
- package/dist/analytics/usageStats.d.ts +64 -0
- package/dist/analytics/usageStats.js +252 -0
- package/dist/analytics/usageStats.js.map +1 -0
- package/dist/db.js +359 -321
- package/dist/db.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +653 -84
- package/dist/index.js.map +1 -1
- package/dist/tools/architectTools.d.ts +15 -0
- package/dist/tools/architectTools.js +304 -0
- package/dist/tools/architectTools.js.map +1 -0
- package/dist/tools/critterTools.js +14 -14
- package/dist/tools/emailTools.d.ts +15 -0
- package/dist/tools/emailTools.js +664 -0
- package/dist/tools/emailTools.js.map +1 -0
- package/dist/tools/metaTools.js +660 -0
- package/dist/tools/metaTools.js.map +1 -1
- package/dist/tools/parallelAgentTools.js +176 -176
- package/dist/tools/patternTools.js +11 -11
- package/dist/tools/progressiveDiscoveryTools.d.ts +5 -1
- package/dist/tools/progressiveDiscoveryTools.js +113 -21
- package/dist/tools/progressiveDiscoveryTools.js.map +1 -1
- package/dist/tools/researchWritingTools.js +42 -42
- package/dist/tools/rssTools.d.ts +8 -0
- package/dist/tools/rssTools.js +833 -0
- package/dist/tools/rssTools.js.map +1 -0
- package/dist/tools/toolRegistry.d.ts +17 -0
- package/dist/tools/toolRegistry.js +236 -17
- package/dist/tools/toolRegistry.js.map +1 -1
- package/dist/tools/voiceBridgeTools.js +498 -498
- package/dist/toolsetRegistry.d.ts +10 -0
- package/dist/toolsetRegistry.js +84 -0
- package/dist/toolsetRegistry.js.map +1 -0
- package/package.json +12 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rssTools.js","sourceRoot":"","sources":["../../src/tools/rssTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,6 +105,23 @@ export declare function hybridSearch(query: string, tools: Array<{
|
|
|
105
105
|
explain?: boolean;
|
|
106
106
|
/** Pre-computed query embedding vector for semantic search (passed from async caller) */
|
|
107
107
|
embeddingQueryVec?: Float32Array;
|
|
108
|
+
/** If true, search ALL_REGISTRY_ENTRIES (full 175-tool registry) regardless of loaded preset.
|
|
109
|
+
* Needed for dynamic loading: discover_tools must find unloaded tools to suggest load_toolset. */
|
|
110
|
+
searchFullRegistry?: boolean;
|
|
111
|
+
/** Ablation flags: disable individual strategies to measure their contribution */
|
|
112
|
+
ablation?: {
|
|
113
|
+
disableSynonyms?: boolean;
|
|
114
|
+
disableFuzzy?: boolean;
|
|
115
|
+
disableTagCoverage?: boolean;
|
|
116
|
+
disableTfIdf?: boolean;
|
|
117
|
+
disableNgram?: boolean;
|
|
118
|
+
disableBigram?: boolean;
|
|
119
|
+
disableDense?: boolean;
|
|
120
|
+
disableDomainBoost?: boolean;
|
|
121
|
+
disableTraceEdges?: boolean;
|
|
122
|
+
disablePrefix?: boolean;
|
|
123
|
+
disableEmbedding?: boolean;
|
|
124
|
+
};
|
|
108
125
|
}): SearchResult[];
|
|
109
126
|
/** Available search modes for discover_tools */
|
|
110
127
|
export declare const SEARCH_MODES: SearchMode[];
|
|
@@ -1097,7 +1097,7 @@ const REGISTRY_ENTRIES = [
|
|
|
1097
1097
|
{
|
|
1098
1098
|
name: "call_llm",
|
|
1099
1099
|
category: "llm",
|
|
1100
|
-
tags: ["llm", "call", "generate", "prompt", "gemini", "openai", "anthropic", "gpt", "claude"],
|
|
1100
|
+
tags: ["llm", "call", "generate", "prompt", "gemini", "openai", "anthropic", "gpt", "claude", "model", "ai", "inference", "completion", "analyze", "text"],
|
|
1101
1101
|
quickRef: {
|
|
1102
1102
|
nextAction: "LLM response received. Validate output quality. Use for analysis, generation, or judgment tasks.",
|
|
1103
1103
|
nextTools: ["extract_structured_data", "record_learning"],
|
|
@@ -1107,7 +1107,7 @@ const REGISTRY_ENTRIES = [
|
|
|
1107
1107
|
{
|
|
1108
1108
|
name: "extract_structured_data",
|
|
1109
1109
|
category: "llm",
|
|
1110
|
-
tags: ["extract", "structured", "data", "json", "parse", "schema", "llm"],
|
|
1110
|
+
tags: ["extract", "structured", "data", "json", "parse", "schema", "llm", "model", "ai", "transform", "output"],
|
|
1111
1111
|
quickRef: {
|
|
1112
1112
|
nextAction: "Structured data extracted. Validate against expected schema. Use for downstream processing.",
|
|
1113
1113
|
nextTools: ["record_eval_result", "record_learning"],
|
|
@@ -1117,7 +1117,7 @@ const REGISTRY_ENTRIES = [
|
|
|
1117
1117
|
{
|
|
1118
1118
|
name: "benchmark_models",
|
|
1119
1119
|
category: "llm",
|
|
1120
|
-
tags: ["benchmark", "models", "compare", "latency", "quality", "cost", "llm"],
|
|
1120
|
+
tags: ["benchmark", "models", "compare", "latency", "quality", "cost", "llm", "ai", "gpt", "claude", "gemini", "evaluate"],
|
|
1121
1121
|
quickRef: {
|
|
1122
1122
|
nextAction: "Benchmark complete. Compare models on quality, latency, and cost. Record winner with record_learning.",
|
|
1123
1123
|
nextTools: ["record_learning", "call_llm"],
|
|
@@ -1495,6 +1495,17 @@ const REGISTRY_ENTRIES = [
|
|
|
1495
1495
|
},
|
|
1496
1496
|
phase: "meta",
|
|
1497
1497
|
},
|
|
1498
|
+
{
|
|
1499
|
+
name: "check_mcp_setup",
|
|
1500
|
+
category: "meta",
|
|
1501
|
+
tags: ["setup", "wizard", "diagnostic", "config", "env", "api-key", "onboarding", "health-check", "status", "readiness"],
|
|
1502
|
+
quickRef: {
|
|
1503
|
+
nextAction: "Review the readiness report. Configure missing domains by following setupInstructions. Re-run to verify.",
|
|
1504
|
+
nextTools: ["check_email_setup", "discover_tools", "getMethodology"],
|
|
1505
|
+
tip: "Run this FIRST when starting with NodeBench MCP. Checks all env vars, API keys, npm packages, and servers across every domain.",
|
|
1506
|
+
},
|
|
1507
|
+
phase: "meta",
|
|
1508
|
+
},
|
|
1498
1509
|
// ── Image solver tools (GAIA media lane) ──────────────────────────────
|
|
1499
1510
|
{
|
|
1500
1511
|
name: "solve_red_green_deviation_average_from_image",
|
|
@@ -1838,6 +1849,141 @@ const REGISTRY_ENTRIES = [
|
|
|
1838
1849
|
},
|
|
1839
1850
|
phase: "research",
|
|
1840
1851
|
},
|
|
1852
|
+
// ═══ EMAIL (SMTP send, IMAP read, draft replies) ═══
|
|
1853
|
+
{
|
|
1854
|
+
name: "send_email",
|
|
1855
|
+
category: "email",
|
|
1856
|
+
tags: ["email", "smtp", "send", "gmail", "notification", "alert", "digest", "report"],
|
|
1857
|
+
quickRef: {
|
|
1858
|
+
nextAction: "Email sent. Log the action with save_session_note and continue with your workflow.",
|
|
1859
|
+
nextTools: ["save_session_note", "record_learning", "build_research_digest"],
|
|
1860
|
+
methodology: "agent_contract",
|
|
1861
|
+
tip: "Requires EMAIL_USER and EMAIL_PASS env vars. For Gmail, use an App Password. Supports html parameter for rich emails.",
|
|
1862
|
+
},
|
|
1863
|
+
phase: "implement",
|
|
1864
|
+
},
|
|
1865
|
+
{
|
|
1866
|
+
name: "read_emails",
|
|
1867
|
+
category: "email",
|
|
1868
|
+
tags: ["email", "imap", "read", "inbox", "gmail", "fetch", "messages", "unread"],
|
|
1869
|
+
quickRef: {
|
|
1870
|
+
nextAction: "Emails retrieved. Review subjects/content, then draft_email_reply for actionable items or save_session_note to persist context.",
|
|
1871
|
+
nextTools: ["draft_email_reply", "save_session_note", "extract_structured_data"],
|
|
1872
|
+
methodology: "agent_contract",
|
|
1873
|
+
tip: "Requires EMAIL_USER and EMAIL_PASS env vars. Use folder param for specific mailboxes (INBOX default). Limit controls count.",
|
|
1874
|
+
},
|
|
1875
|
+
phase: "research",
|
|
1876
|
+
},
|
|
1877
|
+
{
|
|
1878
|
+
name: "draft_email_reply",
|
|
1879
|
+
category: "email",
|
|
1880
|
+
tags: ["email", "reply", "draft", "compose", "response", "assistant"],
|
|
1881
|
+
quickRef: {
|
|
1882
|
+
nextAction: "Draft generated. Review the draft, then send_email to deliver or edit and re-draft.",
|
|
1883
|
+
nextTools: ["send_email", "save_session_note"],
|
|
1884
|
+
methodology: "agent_contract",
|
|
1885
|
+
tip: "Generates a professional reply draft from original email context. Always review before sending.",
|
|
1886
|
+
},
|
|
1887
|
+
phase: "implement",
|
|
1888
|
+
},
|
|
1889
|
+
// ═══ RSS (subscribe, fetch, digest feeds) ═══
|
|
1890
|
+
{
|
|
1891
|
+
name: "add_rss_source",
|
|
1892
|
+
category: "rss",
|
|
1893
|
+
tags: ["rss", "atom", "feed", "subscribe", "source", "monitor", "research", "news"],
|
|
1894
|
+
quickRef: {
|
|
1895
|
+
nextAction: "RSS source registered. Call fetch_rss_feeds to pull articles, then build_research_digest for a summary.",
|
|
1896
|
+
nextTools: ["fetch_rss_feeds", "build_research_digest", "save_session_note"],
|
|
1897
|
+
methodology: "research_digest",
|
|
1898
|
+
tip: "Validates the feed URL on add. Use category param to group sources for filtered digests.",
|
|
1899
|
+
},
|
|
1900
|
+
phase: "research",
|
|
1901
|
+
},
|
|
1902
|
+
{
|
|
1903
|
+
name: "fetch_rss_feeds",
|
|
1904
|
+
category: "rss",
|
|
1905
|
+
tags: ["rss", "atom", "feed", "fetch", "articles", "news", "update", "pull"],
|
|
1906
|
+
quickRef: {
|
|
1907
|
+
nextAction: "Feeds fetched. New articles stored in SQLite. Call build_research_digest to generate a summary of new items.",
|
|
1908
|
+
nextTools: ["build_research_digest", "save_session_note", "record_learning"],
|
|
1909
|
+
methodology: "research_digest",
|
|
1910
|
+
tip: "Deduplicates automatically — same article won't be stored twice. Fetches all registered sources if no URLs specified.",
|
|
1911
|
+
},
|
|
1912
|
+
phase: "research",
|
|
1913
|
+
},
|
|
1914
|
+
{
|
|
1915
|
+
name: "build_research_digest",
|
|
1916
|
+
category: "rss",
|
|
1917
|
+
tags: ["rss", "digest", "summary", "research", "newsletter", "report", "markdown", "html"],
|
|
1918
|
+
quickRef: {
|
|
1919
|
+
nextAction: "Digest generated. Use send_email with html format to distribute, or save_session_note to persist the digest.",
|
|
1920
|
+
nextTools: ["send_email", "save_session_note", "record_learning"],
|
|
1921
|
+
methodology: "research_digest",
|
|
1922
|
+
tip: "Marks articles as seen after digest — next call only shows truly new content. Use format='html' for email-ready output.",
|
|
1923
|
+
},
|
|
1924
|
+
phase: "implement",
|
|
1925
|
+
},
|
|
1926
|
+
// ═══ SETUP WIZARDS ═══
|
|
1927
|
+
{
|
|
1928
|
+
name: "check_email_setup",
|
|
1929
|
+
category: "email",
|
|
1930
|
+
tags: ["email", "setup", "wizard", "diagnostic", "config", "smtp", "imap", "onboarding", "gmail", "outlook"],
|
|
1931
|
+
quickRef: {
|
|
1932
|
+
nextAction: "Setup check complete. If ready, try send_email or read_emails. If not, follow the setup instructions.",
|
|
1933
|
+
nextTools: ["send_email", "read_emails", "get_workflow_chain"],
|
|
1934
|
+
methodology: "agent_contract",
|
|
1935
|
+
tip: "Run this FIRST before using any email tools. Tests SMTP/IMAP connections and generates MCP config snippets.",
|
|
1936
|
+
},
|
|
1937
|
+
phase: "research",
|
|
1938
|
+
},
|
|
1939
|
+
{
|
|
1940
|
+
name: "scaffold_research_pipeline",
|
|
1941
|
+
category: "rss",
|
|
1942
|
+
tags: ["rss", "scaffold", "pipeline", "project", "cron", "automation", "digest", "email", "standalone", "setup", "wizard"],
|
|
1943
|
+
quickRef: {
|
|
1944
|
+
nextAction: "Pipeline scaffolded. Save the generated files, configure .env, add feeds, and run.",
|
|
1945
|
+
nextTools: ["save_session_note", "check_email_setup"],
|
|
1946
|
+
methodology: "research_digest",
|
|
1947
|
+
tip: "Generates a ZERO-dependency standalone Node.js project. Copy files, add feeds, run. No nodebench-mcp needed at runtime.",
|
|
1948
|
+
},
|
|
1949
|
+
phase: "implement",
|
|
1950
|
+
},
|
|
1951
|
+
// ═══════════════════════════════════════════
|
|
1952
|
+
// ARCHITECT — Structural code analysis
|
|
1953
|
+
// ═══════════════════════════════════════════
|
|
1954
|
+
{
|
|
1955
|
+
name: "scan_capabilities",
|
|
1956
|
+
category: "architect",
|
|
1957
|
+
tags: ["structural-analysis", "capability-scan", "code-patterns", "regex-scan", "react", "backend", "state-management", "layout", "interaction", "rendering"],
|
|
1958
|
+
quickRef: {
|
|
1959
|
+
nextAction: "Review the capability report. Use verify_concept_support to check if a specific concept is implemented.",
|
|
1960
|
+
nextTools: ["verify_concept_support", "generate_implementation_plan", "save_session_note"],
|
|
1961
|
+
tip: "Pure regex analysis — no LLM needed, instant results. Scans React hooks, layout patterns, interaction handlers, rendering, and backend patterns.",
|
|
1962
|
+
},
|
|
1963
|
+
phase: "research",
|
|
1964
|
+
},
|
|
1965
|
+
{
|
|
1966
|
+
name: "verify_concept_support",
|
|
1967
|
+
category: "architect",
|
|
1968
|
+
tags: ["concept-verification", "gap-analysis", "structural-analysis", "regex-scan", "implementation-check", "progress-tracking"],
|
|
1969
|
+
quickRef: {
|
|
1970
|
+
nextAction: "If gaps found, use generate_implementation_plan to build a plan. If fully implemented, move on.",
|
|
1971
|
+
nextTools: ["generate_implementation_plan", "scan_capabilities", "record_learning"],
|
|
1972
|
+
tip: "Define required signatures from web research, then verify against code. Results persisted to SQLite for tracking progress.",
|
|
1973
|
+
},
|
|
1974
|
+
phase: "research",
|
|
1975
|
+
},
|
|
1976
|
+
{
|
|
1977
|
+
name: "generate_implementation_plan",
|
|
1978
|
+
category: "architect",
|
|
1979
|
+
tags: ["implementation-plan", "gap-analysis", "code-generation", "structural-analysis", "concept-verification", "strategy"],
|
|
1980
|
+
quickRef: {
|
|
1981
|
+
nextAction: "Follow the step-by-step plan. After each step, re-run verify_concept_support to track progress.",
|
|
1982
|
+
nextTools: ["verify_concept_support", "scan_capabilities", "start_verification_cycle"],
|
|
1983
|
+
tip: "Pass current_context from scan_capabilities to get conflict-aware injection strategies.",
|
|
1984
|
+
},
|
|
1985
|
+
phase: "implement",
|
|
1986
|
+
},
|
|
1841
1987
|
];
|
|
1842
1988
|
// ── Exported lookup structures ───────────────────────────────────────────
|
|
1843
1989
|
/** Map of tool name → registry entry for O(1) lookup */
|
|
@@ -1892,6 +2038,9 @@ const CATEGORY_COMPLEXITY = {
|
|
|
1892
2038
|
seo: "medium",
|
|
1893
2039
|
voice_bridge: "medium",
|
|
1894
2040
|
critter: "low",
|
|
2041
|
+
email: "medium",
|
|
2042
|
+
rss: "low",
|
|
2043
|
+
architect: "low",
|
|
1895
2044
|
};
|
|
1896
2045
|
/** Per-tool complexity overrides (when category default is wrong) */
|
|
1897
2046
|
const TOOL_COMPLEXITY_OVERRIDES = {
|
|
@@ -1961,6 +2110,7 @@ export function getToolComplexity(toolName) {
|
|
|
1961
2110
|
}
|
|
1962
2111
|
// ── Synonym / semantic expansion map ──────────────────────────────────────
|
|
1963
2112
|
const SYNONYM_MAP = {
|
|
2113
|
+
// ── Existing technical synonyms ──
|
|
1964
2114
|
verify: ["validate", "check", "confirm", "test", "assert", "ensure", "correct"],
|
|
1965
2115
|
test: ["verify", "validate", "check", "assert", "spec", "expect"],
|
|
1966
2116
|
search: ["find", "discover", "lookup", "query", "locate", "browse"],
|
|
@@ -1969,7 +2119,7 @@ const SYNONYM_MAP = {
|
|
|
1969
2119
|
setup: ["bootstrap", "init", "configure", "scaffold", "create"],
|
|
1970
2120
|
fix: ["resolve", "repair", "debug", "patch", "correct"],
|
|
1971
2121
|
deploy: ["ship", "publish", "release", "launch", "ci", "cd", "pipeline"],
|
|
1972
|
-
analyze: ["inspect", "review", "examine", "audit", "scan"],
|
|
2122
|
+
analyze: ["inspect", "review", "examine", "audit", "scan", "screenshot"],
|
|
1973
2123
|
monitor: ["watch", "observe", "track", "follow"],
|
|
1974
2124
|
security: ["vulnerability", "audit", "cve", "secret", "credential", "leak", "exposure"],
|
|
1975
2125
|
benchmark: ["measure", "evaluate", "score", "grade", "performance", "capability"],
|
|
@@ -1982,7 +2132,7 @@ const SYNONYM_MAP = {
|
|
|
1982
2132
|
ui: ["frontend", "visual", "screenshot", "responsive", "layout", "css", "component"],
|
|
1983
2133
|
llm: ["model", "ai", "generate", "prompt", "gpt", "claude", "gemini"],
|
|
1984
2134
|
migrate: ["upgrade", "update", "port", "convert", "transition", "refactor"],
|
|
1985
|
-
review: ["inspect", "audit", "pr", "pull-request", "feedback", "critique"],
|
|
2135
|
+
review: ["inspect", "audit", "pr", "pull-request", "feedback", "critique", "merge"],
|
|
1986
2136
|
performance: ["speed", "latency", "optimize", "fast", "slow", "bottleneck"],
|
|
1987
2137
|
data: ["csv", "xlsx", "json", "pdf", "file", "parse", "extract", "spreadsheet"],
|
|
1988
2138
|
paper: ["academic", "research", "write", "publish", "neurips", "icml", "arxiv", "section"],
|
|
@@ -1998,6 +2148,31 @@ const SYNONYM_MAP = {
|
|
|
1998
2148
|
why: ["purpose", "reason", "intentionality", "motivation", "goal", "critter"],
|
|
1999
2149
|
purpose: ["why", "reason", "intentionality", "motivation", "goal", "critter"],
|
|
2000
2150
|
reflect: ["think", "pause", "reconsider", "intentionality", "metacognition", "critter"],
|
|
2151
|
+
// ── New user natural language expansions (ablation-driven) ──
|
|
2152
|
+
website: ["seo", "url", "web", "fetch", "page", "lighthouse", "performance"],
|
|
2153
|
+
webpage: ["seo", "url", "web", "fetch", "page", "html"],
|
|
2154
|
+
fast: ["seo", "performance", "speed", "latency", "lighthouse"],
|
|
2155
|
+
slow: ["seo", "performance", "speed", "latency", "lighthouse", "bottleneck"],
|
|
2156
|
+
inbox: ["email", "read_emails", "send_email", "messages"],
|
|
2157
|
+
email: ["send_email", "read_emails", "inbox", "messages", "smtp", "imap"],
|
|
2158
|
+
ai: ["llm", "model", "prompt", "generate", "gpt", "claude", "gemini", "call_llm"],
|
|
2159
|
+
summarize: ["llm", "extract", "generate", "analyze", "call_llm"],
|
|
2160
|
+
bugs: ["scan", "code", "analysis", "dependencies", "vulnerabilities", "debug"],
|
|
2161
|
+
readme: ["documentation", "generate", "report", "markdown", "document"],
|
|
2162
|
+
compiles: ["closed_loop", "build", "test", "verify", "compile"],
|
|
2163
|
+
works: ["test", "verify", "closed_loop", "flywheel", "quality", "check"],
|
|
2164
|
+
commits: ["git", "commit", "messages", "conventional", "pr"],
|
|
2165
|
+
push: ["git", "commit", "merge", "pr", "deploy"],
|
|
2166
|
+
merge: ["git", "pr", "review", "checklist", "enforce"],
|
|
2167
|
+
open: ["read", "file", "csv", "json", "parse", "load"],
|
|
2168
|
+
look: ["read", "analyze", "inspect", "view", "examine", "fetch"],
|
|
2169
|
+
good: ["quality", "gate", "check", "validate", "analysis"],
|
|
2170
|
+
screenshot: ["analyze", "capture", "vision", "ui", "responsive", "visual"],
|
|
2171
|
+
run: ["test", "execute", "closed_loop", "quality", "cli"],
|
|
2172
|
+
check: ["verify", "validate", "audit", "scan", "review", "gate", "test"],
|
|
2173
|
+
help: ["generate", "create", "scaffold", "analyze", "recommend"],
|
|
2174
|
+
computer: ["llm", "ai", "model", "analyze", "extract"],
|
|
2175
|
+
text: ["extract", "parse", "read", "llm", "structured", "analyze"],
|
|
2001
2176
|
};
|
|
2002
2177
|
// ── TF-IDF: compute inverse document frequency for tags ───────────────────
|
|
2003
2178
|
let _idfCache = null;
|
|
@@ -2309,6 +2484,7 @@ export function hybridSearch(query, tools, options) {
|
|
|
2309
2484
|
const explain = options?.explain ?? false;
|
|
2310
2485
|
const mode = options?.mode ?? "hybrid";
|
|
2311
2486
|
const idf = computeIDF();
|
|
2487
|
+
const ab = options?.ablation ?? {};
|
|
2312
2488
|
// Regex mode: compile pattern, match against name+description
|
|
2313
2489
|
let regexPattern = null;
|
|
2314
2490
|
if (mode === "regex") {
|
|
@@ -2367,7 +2543,16 @@ export function hybridSearch(query, tools, options) {
|
|
|
2367
2543
|
}
|
|
2368
2544
|
}
|
|
2369
2545
|
const toolScores = new Map();
|
|
2370
|
-
|
|
2546
|
+
// When searchFullRegistry is enabled, search ALL registry entries (not just loaded tools).
|
|
2547
|
+
// This lets discover_tools find unloaded tools and suggest load_toolset.
|
|
2548
|
+
const toolDescMap = new Map(tools.map(t => [t.name, t.description]));
|
|
2549
|
+
const searchList = options?.searchFullRegistry
|
|
2550
|
+
? ALL_REGISTRY_ENTRIES.map(e => ({
|
|
2551
|
+
name: e.name,
|
|
2552
|
+
description: toolDescMap.get(e.name) ?? `${e.tags.join(" ")} ${e.category} ${e.phase}`,
|
|
2553
|
+
}))
|
|
2554
|
+
: tools;
|
|
2555
|
+
for (const tool of searchList) {
|
|
2371
2556
|
const entry = TOOL_REGISTRY.get(tool.name);
|
|
2372
2557
|
if (!entry)
|
|
2373
2558
|
continue;
|
|
@@ -2408,7 +2593,7 @@ export function hybridSearch(query, tools, options) {
|
|
|
2408
2593
|
}
|
|
2409
2594
|
}
|
|
2410
2595
|
// ── MODE: prefix ──
|
|
2411
|
-
if (mode === "hybrid" || mode === "prefix") {
|
|
2596
|
+
if ((mode === "hybrid" || mode === "prefix") && !ab.disablePrefix) {
|
|
2412
2597
|
for (const word of queryWords) {
|
|
2413
2598
|
if (nameLower.startsWith(word)) {
|
|
2414
2599
|
score += 20;
|
|
@@ -2440,7 +2625,7 @@ export function hybridSearch(query, tools, options) {
|
|
|
2440
2625
|
// Tag exact match (weighted by TF-IDF)
|
|
2441
2626
|
if (entry.tags.includes(word)) {
|
|
2442
2627
|
const idfWeight = idf.get(word) ?? 3;
|
|
2443
|
-
const tagScore = Math.round(10 * (idfWeight / 3));
|
|
2628
|
+
const tagScore = ab.disableTfIdf ? 10 : Math.round(10 * (idfWeight / 3));
|
|
2444
2629
|
score += tagScore;
|
|
2445
2630
|
reasons.push(`keyword:tag(${word},idf=${idfWeight.toFixed(1)})`);
|
|
2446
2631
|
}
|
|
@@ -2465,9 +2650,21 @@ export function hybridSearch(query, tools, options) {
|
|
|
2465
2650
|
score += 12;
|
|
2466
2651
|
reasons.push(`keyword:methodology(${entry.quickRef.methodology})`);
|
|
2467
2652
|
}
|
|
2653
|
+
// ── TAG COVERAGE BONUS: reward tools where many query words hit tags ──
|
|
2654
|
+
// If 60%+ of query words match tags, that's a strong relevance signal.
|
|
2655
|
+
if (queryWords.length >= 3 && !ab.disableTagCoverage) {
|
|
2656
|
+
const tagSet = new Set(entry.tags);
|
|
2657
|
+
const hits = queryWords.filter(w => tagSet.has(w)).length;
|
|
2658
|
+
const coverage = hits / queryWords.length;
|
|
2659
|
+
if (coverage >= 0.6) {
|
|
2660
|
+
const coverageBonus = Math.round(coverage * hits * 5);
|
|
2661
|
+
score += coverageBonus;
|
|
2662
|
+
reasons.push(`tag_coverage:${hits}/${queryWords.length}(${(coverage * 100).toFixed(0)}%,+${coverageBonus})`);
|
|
2663
|
+
}
|
|
2664
|
+
}
|
|
2468
2665
|
}
|
|
2469
2666
|
// ── SEMANTIC: synonym expansion (only score expanded words, not original) ──
|
|
2470
|
-
if (mode === "hybrid" || mode === "semantic") {
|
|
2667
|
+
if ((mode === "hybrid" || mode === "semantic") && !ab.disableSynonyms) {
|
|
2471
2668
|
for (const syn of expandedWords) {
|
|
2472
2669
|
if (queryWords.includes(syn))
|
|
2473
2670
|
continue; // skip original words
|
|
@@ -2486,7 +2683,7 @@ export function hybridSearch(query, tools, options) {
|
|
|
2486
2683
|
}
|
|
2487
2684
|
}
|
|
2488
2685
|
// ── FUZZY: Levenshtein distance for typo tolerance ──
|
|
2489
|
-
if (mode === "hybrid" || mode === "fuzzy") {
|
|
2686
|
+
if ((mode === "hybrid" || mode === "fuzzy") && !ab.disableFuzzy) {
|
|
2490
2687
|
for (const word of queryWords) {
|
|
2491
2688
|
if (word.length < 4)
|
|
2492
2689
|
continue; // skip short words for fuzzy
|
|
@@ -2513,7 +2710,7 @@ export function hybridSearch(query, tools, options) {
|
|
|
2513
2710
|
}
|
|
2514
2711
|
}
|
|
2515
2712
|
// ── N-GRAM: trigram similarity ──
|
|
2516
|
-
if (mode === "hybrid" || mode === "fuzzy") {
|
|
2713
|
+
if ((mode === "hybrid" || mode === "fuzzy") && !ab.disableNgram) {
|
|
2517
2714
|
for (const word of queryWords) {
|
|
2518
2715
|
if (word.length < 4)
|
|
2519
2716
|
continue;
|
|
@@ -2534,7 +2731,7 @@ export function hybridSearch(query, tools, options) {
|
|
|
2534
2731
|
}
|
|
2535
2732
|
}
|
|
2536
2733
|
// ── BIGRAM: phrase matching ──
|
|
2537
|
-
if (queryBigrams.length > 0) {
|
|
2734
|
+
if (queryBigrams.length > 0 && !ab.disableBigram) {
|
|
2538
2735
|
for (const bigram of queryBigrams) {
|
|
2539
2736
|
if (allText.includes(bigram)) {
|
|
2540
2737
|
score += 15;
|
|
@@ -2543,7 +2740,7 @@ export function hybridSearch(query, tools, options) {
|
|
|
2543
2740
|
}
|
|
2544
2741
|
}
|
|
2545
2742
|
// ── DENSE: TF-IDF cosine similarity (query vec pre-computed above) ──
|
|
2546
|
-
if (denseQueryVec && denseDocVectors) {
|
|
2743
|
+
if (denseQueryVec && denseDocVectors && !ab.disableDense) {
|
|
2547
2744
|
const docVec = denseDocVectors.get(tool.name);
|
|
2548
2745
|
if (docVec) {
|
|
2549
2746
|
const sim = cosineSimilarity(denseQueryVec, docVec);
|
|
@@ -2555,7 +2752,7 @@ export function hybridSearch(query, tools, options) {
|
|
|
2555
2752
|
}
|
|
2556
2753
|
}
|
|
2557
2754
|
// ── EMBEDDING: Agent-as-a-Graph bipartite RRF (ranks pre-computed above) ──
|
|
2558
|
-
if (embToolRanks && embDomainRanks) {
|
|
2755
|
+
if (embToolRanks && embDomainRanks && !ab.disableEmbedding) {
|
|
2559
2756
|
const toolRank = embToolRanks.get(tool.name);
|
|
2560
2757
|
if (toolRank) {
|
|
2561
2758
|
const rrfScore = Math.round(WRRF_ALPHA_T * 1000 / (WRRF_K + toolRank));
|
|
@@ -2595,18 +2792,18 @@ export function hybridSearch(query, tools, options) {
|
|
|
2595
2792
|
neighbors.forEach((n) => traceBoostTargets.add(n));
|
|
2596
2793
|
}
|
|
2597
2794
|
const results = [];
|
|
2598
|
-
for (const tool of
|
|
2795
|
+
for (const tool of searchList) {
|
|
2599
2796
|
const entry = TOOL_REGISTRY.get(tool.name);
|
|
2600
2797
|
const scored = toolScores.get(tool.name);
|
|
2601
2798
|
if (!entry || !scored)
|
|
2602
2799
|
continue;
|
|
2603
|
-
const domainBoost = getDomainBoost(entry.category, topCategories);
|
|
2800
|
+
const domainBoost = ab.disableDomainBoost ? 0 : getDomainBoost(entry.category, topCategories);
|
|
2604
2801
|
if (domainBoost > 0) {
|
|
2605
2802
|
scored.score += domainBoost;
|
|
2606
2803
|
scored.reasons.push(`domain_boost:+${domainBoost}`);
|
|
2607
2804
|
}
|
|
2608
2805
|
// Execution trace edge: boost tools that frequently co-occur with top results
|
|
2609
|
-
if (traceBoostTargets.has(tool.name) && !topToolNames.includes(tool.name)) {
|
|
2806
|
+
if (traceBoostTargets.has(tool.name) && !topToolNames.includes(tool.name) && !ab.disableTraceEdges) {
|
|
2610
2807
|
scored.score += TRACE_EDGE_BOOST;
|
|
2611
2808
|
scored.reasons.push(`trace_edge:+${TRACE_EDGE_BOOST}`);
|
|
2612
2809
|
}
|
|
@@ -2964,5 +3161,27 @@ export const WORKFLOW_CHAINS = {
|
|
|
2964
3161
|
{ tool: "run_recon", action: "Gather context now that purpose is clear" },
|
|
2965
3162
|
],
|
|
2966
3163
|
},
|
|
3164
|
+
research_digest: {
|
|
3165
|
+
name: "Automated Research Digest",
|
|
3166
|
+
description: "Subscribe to RSS/Atom feeds, fetch new articles, build a digest, and optionally email it",
|
|
3167
|
+
steps: [
|
|
3168
|
+
{ tool: "add_rss_source", action: "Register RSS/Atom feed URLs for topics of interest (arXiv, blogs, news)" },
|
|
3169
|
+
{ tool: "fetch_rss_feeds", action: "Pull latest articles from all registered sources — new items stored in SQLite" },
|
|
3170
|
+
{ tool: "build_research_digest", action: "Generate a categorized digest of new (unseen) articles in markdown, json, or html" },
|
|
3171
|
+
{ tool: "send_email", action: "Email the html digest to yourself or your team for daily/weekly review" },
|
|
3172
|
+
{ tool: "save_session_note", action: "Persist key findings so they survive context compaction" },
|
|
3173
|
+
{ tool: "record_learning", action: "Record insights from noteworthy articles for the knowledge base" },
|
|
3174
|
+
],
|
|
3175
|
+
},
|
|
3176
|
+
email_assistant: {
|
|
3177
|
+
name: "Email Draft Assistant",
|
|
3178
|
+
description: "Read inbox, draft professional replies, review, and send — all from the agent",
|
|
3179
|
+
steps: [
|
|
3180
|
+
{ tool: "read_emails", action: "Fetch recent/unread emails from IMAP inbox to understand what needs attention" },
|
|
3181
|
+
{ tool: "draft_email_reply", action: "Generate a professional reply draft from original email context and your instructions" },
|
|
3182
|
+
{ tool: "send_email", action: "Send the reviewed and approved draft reply" },
|
|
3183
|
+
{ tool: "save_session_note", action: "Log sent emails so you have an audit trail that survives compaction" },
|
|
3184
|
+
],
|
|
3185
|
+
},
|
|
2967
3186
|
};
|
|
2968
3187
|
//# sourceMappingURL=toolRegistry.js.map
|