nexus-agents 2.128.2 → 2.128.3

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 (118) hide show
  1. package/dist/{child-mcp-config-VBBVY3UC.js → child-mcp-config-TQIZEHVP.js} +2 -2
  2. package/dist/{chunk-XVWN7BIV.js → chunk-3Y2OKEHQ.js} +36 -34
  3. package/dist/{chunk-XVWN7BIV.js.map → chunk-3Y2OKEHQ.js.map} +1 -1
  4. package/dist/{chunk-NONHL3SG.js → chunk-47M2C4SO.js} +5 -5
  5. package/dist/{chunk-PI4RZNLE.js → chunk-4FFWDTUE.js} +2 -2
  6. package/dist/{chunk-6FSMURPE.js → chunk-4IBBMLNR.js} +4 -4
  7. package/dist/{chunk-YEJTDLJ3.js → chunk-5QJTUA7Y.js} +3 -3
  8. package/dist/{chunk-BJO43VLI.js → chunk-6RXWD3HT.js} +2 -2
  9. package/dist/{chunk-LYE2ZVJT.js → chunk-AOVWC7LS.js} +7 -7
  10. package/dist/{chunk-HFIYXKDQ.js → chunk-BKZ5YD66.js} +11 -648
  11. package/dist/{chunk-HFIYXKDQ.js.map → chunk-BKZ5YD66.js.map} +1 -1
  12. package/dist/{chunk-ASASLEPQ.js → chunk-EORN73QB.js} +7 -7
  13. package/dist/{chunk-LIHENWIY.js → chunk-FJREQSFG.js} +2 -2
  14. package/dist/{chunk-5UM6PJUH.js → chunk-GO7JE2MA.js} +2 -2
  15. package/dist/{chunk-4FGJAUDW.js → chunk-GZFECWWZ.js} +2 -2
  16. package/dist/{chunk-PMTPSSYV.js → chunk-GZTPQMD5.js} +3 -3
  17. package/dist/{chunk-U74PCTO2.js → chunk-IASJVOVO.js} +2 -2
  18. package/dist/{chunk-UI6BFGML.js → chunk-JAKYPFLI.js} +3 -3
  19. package/dist/{chunk-PPNLALMH.js → chunk-JQHZS7GU.js} +4 -4
  20. package/dist/{chunk-IG5XPEOV.js → chunk-KYLVH42N.js} +2 -2
  21. package/dist/{chunk-KRBE2EVT.js → chunk-ND7FZ53Q.js} +5 -5
  22. package/dist/{chunk-DGLRE36W.js → chunk-NKAPCKHN.js} +4 -4
  23. package/dist/{chunk-MQD7Y3MY.js → chunk-QJ52FRQX.js} +2 -2
  24. package/dist/{chunk-2WCL6CZZ.js → chunk-RAAMLWMY.js} +7 -7
  25. package/dist/{chunk-3FVFOMKF.js → chunk-RFXBV3A2.js} +4 -4
  26. package/dist/{chunk-BCTDE4WH.js → chunk-SH6JG7GE.js} +7 -7
  27. package/dist/{chunk-WTLYBA3N.js → chunk-TP3VZUQL.js} +3 -3
  28. package/dist/{chunk-6Q57ZBDS.js → chunk-U3FNIYWH.js} +2 -2
  29. package/dist/{chunk-CAOOOJ2C.js → chunk-U7HHO4UI.js} +2 -2
  30. package/dist/{chunk-VLZLWVDU.js → chunk-V2E74WBI.js} +2 -2
  31. package/dist/{chunk-QT3VRHNP.js → chunk-VBAGMX5I.js} +673 -50
  32. package/dist/chunk-VBAGMX5I.js.map +1 -0
  33. package/dist/{chunk-TTWJLKRC.js → chunk-VLL4L5TK.js} +2 -2
  34. package/dist/{chunk-2YEF55V2.js → chunk-XMQ3EC2B.js} +2 -2
  35. package/dist/{chunk-6LRAILEI.js → chunk-YVJFUOHY.js} +3 -3
  36. package/dist/{chunk-5K77OIRA.js → chunk-ZJPKYTH5.js} +3 -3
  37. package/dist/{cli-circuit-breaker-DMW6E7GD.js → cli-circuit-breaker-3CWRA7DZ.js} +4 -4
  38. package/dist/cli.js +39 -39
  39. package/dist/cli.js.map +1 -1
  40. package/dist/{composite-router-QICBICW4.js → composite-router-MN6W5CEQ.js} +2 -2
  41. package/dist/{consensus-vote-QMDIDPJY.js → consensus-vote-NXBPAPFW.js} +13 -13
  42. package/dist/{context-retriever-3NDDAF26.js → context-retriever-OLWFVOJG.js} +8 -8
  43. package/dist/{doctor-deep-VDYK2ZXQ.js → doctor-deep-W3QB24SM.js} +3 -3
  44. package/dist/{expert-bridge-K63WNPCR.js → expert-bridge-LAB2W5ET.js} +4 -4
  45. package/dist/{factory-IVFZPMNV.js → factory-7ZKKQDCI.js} +5 -5
  46. package/dist/factory-JNLNQ67U.js +21 -0
  47. package/dist/{improvement-review-PFWAUIB6.js → improvement-review-ATYDIHSF.js} +4 -4
  48. package/dist/index.js +28 -28
  49. package/dist/{init-opencode-DUW6BYSN.js → init-opencode-4O2R5S72.js} +5 -5
  50. package/dist/{issue-triage-GH6S3LFF.js → issue-triage-G2AKATE4.js} +5 -5
  51. package/dist/{pr-reviewer-helpers-FZEO4PKE.js → pr-reviewer-helpers-Y6LEGX2P.js} +4 -4
  52. package/dist/{registry-command-DSZ4VUZL.js → registry-command-X6A27TNG.js} +2 -2
  53. package/dist/{repo-security-plan-6R5LLVWU.js → repo-security-plan-356NFHOZ.js} +3 -3
  54. package/dist/{research-helpers-synthesize-FYTMFLSG.js → research-helpers-synthesize-7XWIAM5D.js} +4 -4
  55. package/dist/{routing-memory-D2GN2JY4.js → routing-memory-YTLUUXXX.js} +2 -2
  56. package/dist/{session-memory-DHLQXKMF.js → session-memory-IHQCJWBK.js} +3 -3
  57. package/dist/{setup-command-N6OSFYCT.js → setup-command-C6MGIEZJ.js} +11 -11
  58. package/dist/{setup-config-CSDNRV2F.js → setup-config-UA4M5OQ4.js} +3 -3
  59. package/dist/{setup-custom-api-TATYVC2H.js → setup-custom-api-UXFN75SS.js} +3 -3
  60. package/dist/{tool-memory-IQON2ASW.js → tool-memory-SJ57ZJ5F.js} +5 -5
  61. package/dist/{unified-registry-2PIGHEUG.js → unified-registry-WMJQUA43.js} +9 -9
  62. package/dist/{weather-report-ZX542NQZ.js → weather-report-WSATZR44.js} +2 -2
  63. package/package.json +1 -1
  64. package/dist/chunk-QT3VRHNP.js.map +0 -1
  65. package/dist/factory-36MT53K7.js +0 -21
  66. /package/dist/{child-mcp-config-VBBVY3UC.js.map → child-mcp-config-TQIZEHVP.js.map} +0 -0
  67. /package/dist/{chunk-NONHL3SG.js.map → chunk-47M2C4SO.js.map} +0 -0
  68. /package/dist/{chunk-PI4RZNLE.js.map → chunk-4FFWDTUE.js.map} +0 -0
  69. /package/dist/{chunk-6FSMURPE.js.map → chunk-4IBBMLNR.js.map} +0 -0
  70. /package/dist/{chunk-YEJTDLJ3.js.map → chunk-5QJTUA7Y.js.map} +0 -0
  71. /package/dist/{chunk-BJO43VLI.js.map → chunk-6RXWD3HT.js.map} +0 -0
  72. /package/dist/{chunk-LYE2ZVJT.js.map → chunk-AOVWC7LS.js.map} +0 -0
  73. /package/dist/{chunk-ASASLEPQ.js.map → chunk-EORN73QB.js.map} +0 -0
  74. /package/dist/{chunk-LIHENWIY.js.map → chunk-FJREQSFG.js.map} +0 -0
  75. /package/dist/{chunk-5UM6PJUH.js.map → chunk-GO7JE2MA.js.map} +0 -0
  76. /package/dist/{chunk-4FGJAUDW.js.map → chunk-GZFECWWZ.js.map} +0 -0
  77. /package/dist/{chunk-PMTPSSYV.js.map → chunk-GZTPQMD5.js.map} +0 -0
  78. /package/dist/{chunk-U74PCTO2.js.map → chunk-IASJVOVO.js.map} +0 -0
  79. /package/dist/{chunk-UI6BFGML.js.map → chunk-JAKYPFLI.js.map} +0 -0
  80. /package/dist/{chunk-PPNLALMH.js.map → chunk-JQHZS7GU.js.map} +0 -0
  81. /package/dist/{chunk-IG5XPEOV.js.map → chunk-KYLVH42N.js.map} +0 -0
  82. /package/dist/{chunk-KRBE2EVT.js.map → chunk-ND7FZ53Q.js.map} +0 -0
  83. /package/dist/{chunk-DGLRE36W.js.map → chunk-NKAPCKHN.js.map} +0 -0
  84. /package/dist/{chunk-MQD7Y3MY.js.map → chunk-QJ52FRQX.js.map} +0 -0
  85. /package/dist/{chunk-2WCL6CZZ.js.map → chunk-RAAMLWMY.js.map} +0 -0
  86. /package/dist/{chunk-3FVFOMKF.js.map → chunk-RFXBV3A2.js.map} +0 -0
  87. /package/dist/{chunk-BCTDE4WH.js.map → chunk-SH6JG7GE.js.map} +0 -0
  88. /package/dist/{chunk-WTLYBA3N.js.map → chunk-TP3VZUQL.js.map} +0 -0
  89. /package/dist/{chunk-6Q57ZBDS.js.map → chunk-U3FNIYWH.js.map} +0 -0
  90. /package/dist/{chunk-CAOOOJ2C.js.map → chunk-U7HHO4UI.js.map} +0 -0
  91. /package/dist/{chunk-VLZLWVDU.js.map → chunk-V2E74WBI.js.map} +0 -0
  92. /package/dist/{chunk-TTWJLKRC.js.map → chunk-VLL4L5TK.js.map} +0 -0
  93. /package/dist/{chunk-2YEF55V2.js.map → chunk-XMQ3EC2B.js.map} +0 -0
  94. /package/dist/{chunk-6LRAILEI.js.map → chunk-YVJFUOHY.js.map} +0 -0
  95. /package/dist/{chunk-5K77OIRA.js.map → chunk-ZJPKYTH5.js.map} +0 -0
  96. /package/dist/{cli-circuit-breaker-DMW6E7GD.js.map → cli-circuit-breaker-3CWRA7DZ.js.map} +0 -0
  97. /package/dist/{composite-router-QICBICW4.js.map → composite-router-MN6W5CEQ.js.map} +0 -0
  98. /package/dist/{consensus-vote-QMDIDPJY.js.map → consensus-vote-NXBPAPFW.js.map} +0 -0
  99. /package/dist/{context-retriever-3NDDAF26.js.map → context-retriever-OLWFVOJG.js.map} +0 -0
  100. /package/dist/{doctor-deep-VDYK2ZXQ.js.map → doctor-deep-W3QB24SM.js.map} +0 -0
  101. /package/dist/{expert-bridge-K63WNPCR.js.map → expert-bridge-LAB2W5ET.js.map} +0 -0
  102. /package/dist/{factory-36MT53K7.js.map → factory-7ZKKQDCI.js.map} +0 -0
  103. /package/dist/{factory-IVFZPMNV.js.map → factory-JNLNQ67U.js.map} +0 -0
  104. /package/dist/{improvement-review-PFWAUIB6.js.map → improvement-review-ATYDIHSF.js.map} +0 -0
  105. /package/dist/{init-opencode-DUW6BYSN.js.map → init-opencode-4O2R5S72.js.map} +0 -0
  106. /package/dist/{issue-triage-GH6S3LFF.js.map → issue-triage-G2AKATE4.js.map} +0 -0
  107. /package/dist/{pr-reviewer-helpers-FZEO4PKE.js.map → pr-reviewer-helpers-Y6LEGX2P.js.map} +0 -0
  108. /package/dist/{registry-command-DSZ4VUZL.js.map → registry-command-X6A27TNG.js.map} +0 -0
  109. /package/dist/{repo-security-plan-6R5LLVWU.js.map → repo-security-plan-356NFHOZ.js.map} +0 -0
  110. /package/dist/{research-helpers-synthesize-FYTMFLSG.js.map → research-helpers-synthesize-7XWIAM5D.js.map} +0 -0
  111. /package/dist/{routing-memory-D2GN2JY4.js.map → routing-memory-YTLUUXXX.js.map} +0 -0
  112. /package/dist/{session-memory-DHLQXKMF.js.map → session-memory-IHQCJWBK.js.map} +0 -0
  113. /package/dist/{setup-command-N6OSFYCT.js.map → setup-command-C6MGIEZJ.js.map} +0 -0
  114. /package/dist/{setup-config-CSDNRV2F.js.map → setup-config-UA4M5OQ4.js.map} +0 -0
  115. /package/dist/{setup-custom-api-TATYVC2H.js.map → setup-custom-api-UXFN75SS.js.map} +0 -0
  116. /package/dist/{tool-memory-IQON2ASW.js.map → tool-memory-SJ57ZJ5F.js.map} +0 -0
  117. /package/dist/{unified-registry-2PIGHEUG.js.map → unified-registry-WMJQUA43.js.map} +0 -0
  118. /package/dist/{weather-report-ZX542NQZ.js.map → weather-report-WSATZR44.js.map} +0 -0
@@ -3,6 +3,7 @@ import {
3
3
  MCP_TIMEOUTS,
4
4
  SecurityError,
5
5
  TIMEOUT_GUARD,
6
+ TOOL_MANIFEST,
6
7
  ValidationError,
7
8
  createLogger,
8
9
  createMetricsMiddleware,
@@ -12,7 +13,7 @@ import {
12
13
  getTimeProvider,
13
14
  ok,
14
15
  resolveToolClassGuardMs
15
- } from "./chunk-QT3VRHNP.js";
16
+ } from "./chunk-VBAGMX5I.js";
16
17
  import {
17
18
  getNexusDataDir
18
19
  } from "./chunk-ZGLIHPGJ.js";
@@ -1767,652 +1768,14 @@ function toSdkCallbackWithBudgetCheck(handler, toolName, configuredTimeoutMs, lo
1767
1768
  }
1768
1769
 
1769
1770
  // src/mcp/tools/tool-annotations.ts
1770
- var TOOL_ANNOTATIONS = {
1771
- run: {
1772
- annotations: {
1773
- title: "Run (Adaptive Entry Point)",
1774
- readOnlyHint: true,
1775
- destructiveHint: false,
1776
- idempotentHint: true,
1777
- openWorldHint: false
1778
- },
1779
- sideEffects: [
1780
- { category: "implicit", description: "Records a routing decision for observability" }
1781
- ]
1782
- },
1783
- delegate_to_model: {
1784
- annotations: {
1785
- title: "Delegate to Model",
1786
- readOnlyHint: true,
1787
- destructiveHint: false,
1788
- idempotentHint: true,
1789
- openWorldHint: false
1790
- },
1791
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
1792
- },
1793
- orchestrate: {
1794
- annotations: {
1795
- title: "Orchestrate Task",
1796
- readOnlyHint: false,
1797
- destructiveHint: false,
1798
- idempotentHint: false,
1799
- openWorldHint: true
1800
- },
1801
- sideEffects: [
1802
- { category: "explicit", description: "Creates and executes expert agents" },
1803
- { category: "implicit", description: "Consumes API tokens from configured provider" },
1804
- { category: "coupling", description: "May trigger rate limiting on model adapter" },
1805
- { category: "coupling", description: "Records task outcome in OutcomeFeedbackCollector" }
1806
- ]
1807
- },
1808
- create_expert: {
1809
- annotations: {
1810
- title: "Create Expert",
1811
- readOnlyHint: false,
1812
- destructiveHint: false,
1813
- idempotentHint: false,
1814
- openWorldHint: false
1815
- },
1816
- sideEffects: [
1817
- { category: "explicit", description: "Creates expert agent in shared registry" },
1818
- { category: "coupling", description: "Expert ID required by execute_expert" }
1819
- ]
1820
- },
1821
- execute_expert: {
1822
- annotations: {
1823
- title: "Execute Expert",
1824
- readOnlyHint: false,
1825
- destructiveHint: false,
1826
- idempotentHint: false,
1827
- openWorldHint: true
1828
- },
1829
- sideEffects: [
1830
- { category: "explicit", description: "Executes expert agent task via model adapter" },
1831
- { category: "implicit", description: "Consumes API tokens from configured provider" },
1832
- { category: "coupling", description: "Requires expert created by create_expert" },
1833
- { category: "coupling", description: "May trigger rate limiting on model adapter" }
1834
- ]
1835
- },
1836
- run_workflow: {
1837
- annotations: {
1838
- title: "Run Workflow",
1839
- readOnlyHint: false,
1840
- destructiveHint: false,
1841
- idempotentHint: false,
1842
- openWorldHint: true
1843
- },
1844
- sideEffects: [
1845
- { category: "explicit", description: "Executes multi-step workflow template" },
1846
- { category: "implicit", description: "Consumes API tokens if workflow uses model adapter" },
1847
- { category: "coupling", description: "May trigger rate limiting on model adapter" }
1848
- ]
1849
- },
1850
- list_experts: {
1851
- annotations: {
1852
- title: "List Experts",
1853
- readOnlyHint: true,
1854
- destructiveHint: false,
1855
- idempotentHint: true,
1856
- openWorldHint: false
1857
- },
1858
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
1859
- },
1860
- list_workflows: {
1861
- annotations: {
1862
- title: "List Workflows",
1863
- readOnlyHint: true,
1864
- destructiveHint: false,
1865
- idempotentHint: true,
1866
- openWorldHint: false
1867
- },
1868
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
1869
- },
1870
- consensus_vote: {
1871
- annotations: {
1872
- title: "Consensus Vote",
1873
- readOnlyHint: false,
1874
- destructiveHint: false,
1875
- idempotentHint: false,
1876
- openWorldHint: true
1877
- },
1878
- sideEffects: [
1879
- { category: "explicit", description: "Executes multi-agent voting across CLIs" },
1880
- { category: "implicit", description: "Consumes API tokens from multiple providers" },
1881
- { category: "coupling", description: "Records vote outcomes for weather report" }
1882
- ]
1883
- },
1884
- research_query: {
1885
- annotations: {
1886
- title: "Research Query",
1887
- readOnlyHint: true,
1888
- destructiveHint: false,
1889
- idempotentHint: true,
1890
- openWorldHint: false
1891
- },
1892
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
1893
- },
1894
- research_add: {
1895
- annotations: {
1896
- title: "Research Add",
1897
- readOnlyHint: false,
1898
- destructiveHint: false,
1899
- idempotentHint: true,
1900
- openWorldHint: true
1901
- },
1902
- sideEffects: [
1903
- { category: "explicit", description: "Adds paper to research registry on disk" },
1904
- { category: "implicit", description: "Fetches metadata from arXiv API" }
1905
- ]
1906
- },
1907
- research_discover: {
1908
- annotations: {
1909
- title: "Research Discover",
1910
- readOnlyHint: true,
1911
- destructiveHint: false,
1912
- idempotentHint: false,
1913
- openWorldHint: true
1914
- },
1915
- sideEffects: [
1916
- { category: "implicit", description: "Queries external APIs (arXiv, GitHub, etc.)" },
1917
- { category: "coupling", description: "Auto-catalogs discovered references" }
1918
- ]
1919
- },
1920
- survey_oss_landscape: {
1921
- annotations: {
1922
- title: "Survey OSS Landscape",
1923
- readOnlyHint: true,
1924
- destructiveHint: false,
1925
- // Same query may return different results day-to-day as star counts
1926
- // and last-commit dates evolve; idempotentHint=false matches reality.
1927
- idempotentHint: false,
1928
- openWorldHint: true
1929
- },
1930
- sideEffects: [{ category: "implicit", description: "Queries the GitHub search API" }]
1931
- },
1932
- vendor_publishing_audit: {
1933
- annotations: {
1934
- title: "Vendor Publishing Audit",
1935
- readOnlyHint: true,
1936
- destructiveHint: false,
1937
- // Pure static lookup against the in-process seed dataset.
1938
- idempotentHint: true,
1939
- openWorldHint: false
1940
- },
1941
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
1942
- },
1943
- compare_data_feeds: {
1944
- annotations: {
1945
- title: "Compare Data Feeds",
1946
- readOnlyHint: true,
1947
- destructiveHint: false,
1948
- // Same input → same output; pure file diff with no external calls.
1949
- idempotentHint: true,
1950
- openWorldHint: false
1951
- },
1952
- sideEffects: [{ category: "implicit", description: "Reads two files from the workspace" }]
1953
- },
1954
- research_analyze: {
1955
- annotations: {
1956
- title: "Research Analyze",
1957
- readOnlyHint: true,
1958
- destructiveHint: false,
1959
- idempotentHint: true,
1960
- openWorldHint: false
1961
- },
1962
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
1963
- },
1964
- research_catalog_review: {
1965
- annotations: {
1966
- title: "Research Catalog Review",
1967
- readOnlyHint: false,
1968
- destructiveHint: false,
1969
- idempotentHint: false,
1970
- openWorldHint: false
1971
- },
1972
- sideEffects: [
1973
- { category: "explicit", description: "Approves or dismisses cataloged references" },
1974
- { category: "coupling", description: "Approved items added to research registry" }
1975
- ]
1976
- },
1977
- memory_query: {
1978
- annotations: {
1979
- title: "Memory Query",
1980
- readOnlyHint: true,
1981
- destructiveHint: false,
1982
- idempotentHint: false,
1983
- openWorldHint: false
1984
- },
1985
- sideEffects: [
1986
- { category: "implicit", description: "Consumes rate limit quota" },
1987
- { category: "implicit", description: "May trigger reflective retrieval (MemR3)" }
1988
- ]
1989
- },
1990
- memory_stats: {
1991
- annotations: {
1992
- title: "Memory Stats",
1993
- readOnlyHint: true,
1994
- destructiveHint: false,
1995
- idempotentHint: true,
1996
- openWorldHint: false
1997
- },
1998
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
1999
- },
2000
- memory_write: {
2001
- annotations: {
2002
- title: "Memory Write",
2003
- readOnlyHint: false,
2004
- destructiveHint: false,
2005
- idempotentHint: false,
2006
- openWorldHint: false
2007
- },
2008
- sideEffects: [
2009
- { category: "explicit", description: "Writes data to memory backend" },
2010
- { category: "implicit", description: "Consumes rate limit quota" }
2011
- ]
2012
- },
2013
- weather_report: {
2014
- annotations: {
2015
- title: "Weather Report",
2016
- readOnlyHint: true,
2017
- destructiveHint: false,
2018
- idempotentHint: false,
2019
- openWorldHint: false
2020
- },
2021
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
2022
- },
2023
- improvement_review: {
2024
- annotations: {
2025
- title: "Improvement Review",
2026
- readOnlyHint: false,
2027
- destructiveHint: false,
2028
- // When fileIssues=true, creates GitHub issues — not idempotent.
2029
- idempotentHint: false,
2030
- openWorldHint: true
2031
- },
2032
- sideEffects: [
2033
- { category: "implicit", description: "Reads OutcomeStore and runs fitness audit" },
2034
- {
2035
- category: "explicit",
2036
- description: "When fileIssues=true, files candidate GitHub issues via gh CLI"
2037
- },
2038
- { category: "implicit", description: "Consumes rate limit quota" }
2039
- ]
2040
- },
2041
- run_quality_gate: {
2042
- annotations: {
2043
- title: "Run Quality Gate",
2044
- // Spawns build/test toolchains which can write artifacts — not read-only.
2045
- readOnlyHint: false,
2046
- destructiveHint: false,
2047
- // Same checks against the same code yield the same verdict.
2048
- idempotentHint: true,
2049
- // build/test/security invoke local toolchains and may reach the network.
2050
- openWorldHint: true
2051
- },
2052
- sideEffects: [
2053
- {
2054
- category: "implicit",
2055
- description: "Spawns local toolchain processes (tsc/eslint/vitest/build) in the target project dir"
2056
- },
2057
- {
2058
- category: "implicit",
2059
- description: "build/test checks may write build artifacts and coverage output to disk"
2060
- }
2061
- ]
2062
- },
2063
- issue_triage: {
2064
- annotations: {
2065
- title: "Issue Triage",
2066
- readOnlyHint: true,
2067
- destructiveHint: false,
2068
- idempotentHint: true,
2069
- openWorldHint: true
2070
- },
2071
- sideEffects: [
2072
- { category: "implicit", description: "Fetches issue data from GitHub API" },
2073
- { category: "implicit", description: "Consumes rate limit quota" }
2074
- ]
2075
- },
2076
- run_graph_workflow: {
2077
- annotations: {
2078
- title: "Run Graph Workflow",
2079
- readOnlyHint: false,
2080
- destructiveHint: false,
2081
- idempotentHint: false,
2082
- openWorldHint: true
2083
- },
2084
- sideEffects: [
2085
- { category: "explicit", description: "Executes graph-based workflow with checkpointing" },
2086
- { category: "implicit", description: "Writes checkpoint files to disk" },
2087
- { category: "coupling", description: "May trigger rate limiting on model adapters" }
2088
- ]
2089
- },
2090
- execute_spec: {
2091
- annotations: {
2092
- title: "Execute Spec",
2093
- readOnlyHint: false,
2094
- destructiveHint: false,
2095
- idempotentHint: false,
2096
- openWorldHint: true
2097
- },
2098
- sideEffects: [
2099
- { category: "explicit", description: "Parses and executes markdown specification" },
2100
- { category: "implicit", description: "Consumes API tokens from configured provider" },
2101
- { category: "implicit", description: "Writes execution trace to disk" }
2102
- ]
2103
- },
2104
- registry_import: {
2105
- annotations: {
2106
- title: "Registry Import",
2107
- readOnlyHint: false,
2108
- destructiveHint: false,
2109
- idempotentHint: true,
2110
- openWorldHint: false
2111
- },
2112
- sideEffects: [{ category: "explicit", description: "Generates draft model registry entry" }]
2113
- },
2114
- query_trace: {
2115
- annotations: {
2116
- title: "Query Trace",
2117
- readOnlyHint: true,
2118
- destructiveHint: false,
2119
- idempotentHint: true,
2120
- openWorldHint: false
2121
- },
2122
- sideEffects: [
2123
- { category: "implicit", description: "Reads execution trace JSONL files from disk" }
2124
- ]
2125
- },
2126
- repo_analyze: {
2127
- annotations: {
2128
- title: "Repo Analyze",
2129
- readOnlyHint: true,
2130
- destructiveHint: false,
2131
- idempotentHint: true,
2132
- openWorldHint: true
2133
- },
2134
- sideEffects: [
2135
- {
2136
- category: "implicit",
2137
- description: "Fetches repository metadata from GitHub API via gh CLI"
2138
- },
2139
- { category: "implicit", description: "Consumes rate limit quota" }
2140
- ]
2141
- },
2142
- repo_security_plan: {
2143
- annotations: {
2144
- title: "Repo Security Plan",
2145
- readOnlyHint: true,
2146
- destructiveHint: false,
2147
- idempotentHint: true,
2148
- openWorldHint: true
2149
- },
2150
- sideEffects: [
2151
- {
2152
- category: "implicit",
2153
- description: "Fetches repository metadata from GitHub API via gh CLI"
2154
- },
2155
- { category: "implicit", description: "Consumes rate limit quota" }
2156
- ]
2157
- },
2158
- research_add_source: {
2159
- annotations: {
2160
- title: "Research Add Source",
2161
- readOnlyHint: false,
2162
- destructiveHint: false,
2163
- idempotentHint: false,
2164
- openWorldHint: true
2165
- },
2166
- sideEffects: [
2167
- { category: "explicit", description: "Adds a non-paper source to the research registry" },
2168
- { category: "coupling", description: "New entries affect research_discover/research_query" }
2169
- ]
2170
- },
2171
- research_synthesize: {
2172
- annotations: {
2173
- title: "Research Synthesize",
2174
- readOnlyHint: true,
2175
- destructiveHint: false,
2176
- idempotentHint: true,
2177
- openWorldHint: false
2178
- },
2179
- sideEffects: [{ category: "implicit", description: "Reads research catalog + alignment map" }]
2180
- },
2181
- query_task_state: {
2182
- annotations: {
2183
- title: "Query Task State",
2184
- readOnlyHint: true,
2185
- destructiveHint: false,
2186
- idempotentHint: true,
2187
- openWorldHint: false
2188
- },
2189
- sideEffects: [
2190
- { category: "implicit", description: "Reads the structured task-state log (#2278)" }
2191
- ]
2192
- },
2193
- get_job_result: {
2194
- annotations: {
2195
- title: "Get Job Result",
2196
- readOnlyHint: true,
2197
- destructiveHint: false,
2198
- idempotentHint: true,
2199
- openWorldHint: false
2200
- },
2201
- sideEffects: [
2202
- {
2203
- category: "implicit",
2204
- description: "Reads the async-mode job-result sidecar (#3042 / epic #2631)"
2205
- }
2206
- ]
2207
- },
2208
- list_jobs: {
2209
- annotations: {
2210
- title: "List Jobs",
2211
- readOnlyHint: true,
2212
- destructiveHint: false,
2213
- idempotentHint: true,
2214
- openWorldHint: false
2215
- },
2216
- sideEffects: [
2217
- {
2218
- category: "implicit",
2219
- description: "Lists async-mode job summaries from the sidecar dir (#3046 / epic #2631 Stage 5)"
2220
- }
2221
- ]
2222
- },
2223
- cancel_job: {
2224
- annotations: {
2225
- title: "Cancel Job",
2226
- readOnlyHint: false,
2227
- destructiveHint: false,
2228
- idempotentHint: true,
2229
- openWorldHint: false
2230
- },
2231
- sideEffects: [
2232
- {
2233
- category: "explicit",
2234
- description: "Writes cancellation record to the async-mode sidecar (#3042 Stage 1b)"
2235
- },
2236
- {
2237
- category: "coupling",
2238
- description: "Triggers AbortSignal unwind in same-process dispatcher (cross-process workers must poll)"
2239
- }
2240
- ]
2241
- },
2242
- verify_audit_chain: {
2243
- annotations: {
2244
- title: "Verify Audit Chain",
2245
- readOnlyHint: true,
2246
- destructiveHint: false,
2247
- idempotentHint: true,
2248
- openWorldHint: false
2249
- },
2250
- sideEffects: [
2251
- {
2252
- category: "implicit",
2253
- description: "Reads the immutable audit log and verifies the hash chain"
2254
- }
2255
- ]
2256
- },
2257
- ci_health_check: {
2258
- annotations: {
2259
- // #3530: NOT read-only / idempotent — every call appends a CI-health
2260
- // telemetry event (appendCiHealthEvent in ci-health-check-tool.ts), which
2261
- // both writes local state and accumulates per call. The check itself only
2262
- // reads upstream, but the per-call telemetry append is a real side effect.
2263
- title: "CI Health Check",
2264
- readOnlyHint: false,
2265
- destructiveHint: false,
2266
- idempotentHint: false,
2267
- // Outbound network to githubstatus.com + GitHub API.
2268
- openWorldHint: true
2269
- },
2270
- sideEffects: [
2271
- {
2272
- category: "implicit",
2273
- description: "Fetches GitHub status-page + repo actions/runs to assess CI infrastructure health (#3076)"
2274
- },
2275
- {
2276
- category: "implicit",
2277
- description: "Appends a local CI-health telemetry event per call for observability (#3530)"
2278
- }
2279
- ]
2280
- },
2281
- extract_symbols: {
2282
- annotations: {
2283
- title: "Extract Symbols",
2284
- readOnlyHint: true,
2285
- destructiveHint: false,
2286
- idempotentHint: true,
2287
- openWorldHint: false
2288
- },
2289
- sideEffects: [{ category: "implicit", description: "Reads source files and walks their ASTs" }]
2290
- },
2291
- search_codebase: {
2292
- annotations: {
2293
- title: "Search Codebase",
2294
- readOnlyHint: true,
2295
- destructiveHint: false,
2296
- idempotentHint: true,
2297
- openWorldHint: false
2298
- },
2299
- sideEffects: [
2300
- {
2301
- category: "implicit",
2302
- description: "Reads source files and builds an in-memory symbol index"
2303
- }
2304
- ]
2305
- },
2306
- run_dev_pipeline: {
2307
- annotations: {
2308
- title: "Run Dev Pipeline",
2309
- readOnlyHint: false,
2310
- destructiveHint: false,
2311
- idempotentHint: false,
2312
- openWorldHint: true
2313
- },
2314
- sideEffects: [
2315
- {
2316
- category: "explicit",
2317
- description: "Executes the V2 dev pipeline (delegates to CLI adapters)"
2318
- },
2319
- {
2320
- category: "implicit",
2321
- description: "Consumes API tokens; persists outcomes and checkpoints"
2322
- },
2323
- {
2324
- category: "coupling",
2325
- description: "Writes routing/learning state consumed by future runs"
2326
- }
2327
- ]
2328
- },
2329
- run_pipeline: {
2330
- annotations: {
2331
- title: "Run Pipeline",
2332
- readOnlyHint: false,
2333
- destructiveHint: false,
2334
- idempotentHint: false,
2335
- openWorldHint: true
2336
- },
2337
- sideEffects: [
2338
- { category: "explicit", description: "Executes a generic V2 pipeline TaskContract" },
2339
- { category: "implicit", description: "Consumes API tokens; emits pipeline events" },
2340
- { category: "coupling", description: "Writes policy/audit state consumed by other tools" }
2341
- ]
2342
- },
2343
- pr_review: {
2344
- annotations: {
2345
- title: "PR Review",
2346
- readOnlyHint: false,
2347
- destructiveHint: false,
2348
- idempotentHint: false,
2349
- openWorldHint: true
2350
- },
2351
- sideEffects: [
2352
- {
2353
- category: "explicit",
2354
- description: "Runs multi-voter PR review with verification gate (#2233)"
2355
- },
2356
- { category: "implicit", description: "Consumes API tokens across voter CLIs" },
2357
- { category: "coupling", description: "Records voter outcomes for weather report" }
2358
- ]
2359
- },
2360
- suggest_research_tasks: {
2361
- annotations: {
2362
- title: "Suggest Research Tasks",
2363
- // SUGGEST-ONLY: discovers/reads via research_discover and returns
2364
- // candidate tasks. Files nothing, executes nothing, mutates nothing.
2365
- readOnlyHint: true,
2366
- destructiveHint: false,
2367
- // Discovery results vary run-to-run as external sources evolve.
2368
- idempotentHint: false,
2369
- // Reaches external research APIs (arXiv/GitHub/etc.) via the engine.
2370
- openWorldHint: true
2371
- },
2372
- sideEffects: [
2373
- {
2374
- category: "implicit",
2375
- description: "Queries research_discover / external research APIs; consumes tokens"
2376
- }
2377
- ]
2378
- },
2379
- list_available_models: {
2380
- annotations: {
2381
- title: "List Available Models",
2382
- // Probes discovery transports and reports health. Reads only; mutates
2383
- // nothing and does not change routing.
2384
- readOnlyHint: true,
2385
- destructiveHint: false,
2386
- // Probe results vary as catalogs/CLIs change.
2387
- idempotentHint: false,
2388
- // Reaches the OpenRouter API + spawns CLI probes.
2389
- openWorldHint: true
2390
- },
2391
- sideEffects: [
2392
- {
2393
- category: "implicit",
2394
- description: "Fetches the OpenRouter catalog + probes CLI adapters (network/subprocess)"
2395
- }
2396
- ]
2397
- },
2398
- supply_chain_tradeoff_panel: {
2399
- annotations: {
2400
- title: "Supply-chain Tradeoff Panel",
2401
- readOnlyHint: false,
2402
- destructiveHint: false,
2403
- idempotentHint: false,
2404
- openWorldHint: true
2405
- },
2406
- sideEffects: [
2407
- {
2408
- category: "explicit",
2409
- description: "Runs per-axis tradeoff vote (build_time_determinism / supply_chain_risk / update_cadence) (#2294)"
2410
- },
2411
- { category: "implicit", description: "Consumes API tokens across voter CLIs" },
2412
- { category: "coupling", description: "Records voter outcomes for weather report" }
2413
- ]
2414
- }
2415
- };
1771
+ var TOOL_ANNOTATIONS = Object.freeze(
1772
+ Object.fromEntries(
1773
+ TOOL_MANIFEST.map((entry) => [
1774
+ entry.name,
1775
+ { annotations: entry.annotations, sideEffects: entry.sideEffects }
1776
+ ])
1777
+ )
1778
+ );
2416
1779
  function getMcpAnnotations(toolName) {
2417
1780
  return TOOL_ANNOTATIONS[toolName]?.annotations;
2418
1781
  }
@@ -2627,4 +1990,4 @@ export {
2627
1990
  VOTING_THRESHOLDS,
2628
1991
  ConsensusMetricsSchema
2629
1992
  };
2630
- //# sourceMappingURL=chunk-HFIYXKDQ.js.map
1993
+ //# sourceMappingURL=chunk-BKZ5YD66.js.map