scorecard-ai-mcp 2.5.0 → 3.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +14 -225
  3. package/code-tool-types.d.mts +6 -7
  4. package/code-tool-types.d.mts.map +1 -1
  5. package/code-tool-types.d.ts +6 -7
  6. package/code-tool-types.d.ts.map +1 -1
  7. package/code-tool.d.mts +2 -2
  8. package/code-tool.d.mts.map +1 -1
  9. package/code-tool.d.ts +2 -2
  10. package/code-tool.d.ts.map +1 -1
  11. package/code-tool.js +54 -128
  12. package/code-tool.js.map +1 -1
  13. package/code-tool.mjs +54 -95
  14. package/code-tool.mjs.map +1 -1
  15. package/docs-search-tool.d.mts +15 -9
  16. package/docs-search-tool.d.mts.map +1 -1
  17. package/docs-search-tool.d.ts +15 -9
  18. package/docs-search-tool.d.ts.map +1 -1
  19. package/docs-search-tool.js +11 -3
  20. package/docs-search-tool.js.map +1 -1
  21. package/docs-search-tool.mjs +11 -3
  22. package/docs-search-tool.mjs.map +1 -1
  23. package/http.d.mts.map +1 -1
  24. package/http.d.ts.map +1 -1
  25. package/http.js +1 -18
  26. package/http.js.map +1 -1
  27. package/http.mjs +1 -18
  28. package/http.mjs.map +1 -1
  29. package/index.js +4 -40
  30. package/index.js.map +1 -1
  31. package/index.mjs +4 -40
  32. package/index.mjs.map +1 -1
  33. package/options.d.mts +0 -9
  34. package/options.d.mts.map +1 -1
  35. package/options.d.ts +0 -9
  36. package/options.d.ts.map +1 -1
  37. package/options.js +6 -361
  38. package/options.js.map +1 -1
  39. package/options.mjs +6 -361
  40. package/options.mjs.map +1 -1
  41. package/package.json +10 -66
  42. package/server.d.mts +3 -8
  43. package/server.d.mts.map +1 -1
  44. package/server.d.ts +3 -8
  45. package/server.d.ts.map +1 -1
  46. package/server.js +12 -65
  47. package/server.js.map +1 -1
  48. package/server.mjs +11 -62
  49. package/server.mjs.map +1 -1
  50. package/src/code-tool-types.ts +6 -5
  51. package/src/code-tool.ts +63 -117
  52. package/src/docs-search-tool.ts +15 -4
  53. package/src/http.ts +1 -19
  54. package/src/index.ts +5 -52
  55. package/src/options.ts +7 -388
  56. package/src/server.ts +12 -72
  57. package/src/stdio.ts +2 -3
  58. package/src/{tools/types.ts → types.ts} +1 -1
  59. package/stdio.d.mts +1 -2
  60. package/stdio.d.mts.map +1 -1
  61. package/stdio.d.ts +1 -2
  62. package/stdio.d.ts.map +1 -1
  63. package/stdio.js +2 -2
  64. package/stdio.js.map +1 -1
  65. package/stdio.mjs +2 -2
  66. package/stdio.mjs.map +1 -1
  67. package/{tools/types.d.mts → types.d.mts} +1 -1
  68. package/types.d.mts.map +1 -0
  69. package/{tools/types.d.ts → types.d.ts} +1 -1
  70. package/types.d.ts.map +1 -0
  71. package/types.js.map +1 -0
  72. package/types.mjs.map +1 -0
  73. package/code-tool-paths.cjs +0 -6
  74. package/code-tool-paths.cjs.map +0 -1
  75. package/code-tool-paths.d.cts +0 -2
  76. package/code-tool-paths.d.cts.map +0 -1
  77. package/code-tool-worker.d.mts +0 -5
  78. package/code-tool-worker.d.mts.map +0 -1
  79. package/code-tool-worker.d.ts +0 -5
  80. package/code-tool-worker.d.ts.map +0 -1
  81. package/code-tool-worker.js +0 -179
  82. package/code-tool-worker.js.map +0 -1
  83. package/code-tool-worker.mjs +0 -174
  84. package/code-tool-worker.mjs.map +0 -1
  85. package/compat.d.mts +0 -58
  86. package/compat.d.mts.map +0 -1
  87. package/compat.d.ts +0 -58
  88. package/compat.d.ts.map +0 -1
  89. package/compat.js +0 -387
  90. package/compat.js.map +0 -1
  91. package/compat.mjs +0 -378
  92. package/compat.mjs.map +0 -1
  93. package/dynamic-tools.d.mts +0 -12
  94. package/dynamic-tools.d.mts.map +0 -1
  95. package/dynamic-tools.d.ts +0 -12
  96. package/dynamic-tools.d.ts.map +0 -1
  97. package/dynamic-tools.js +0 -135
  98. package/dynamic-tools.js.map +0 -1
  99. package/dynamic-tools.mjs +0 -132
  100. package/dynamic-tools.mjs.map +0 -1
  101. package/filtering.d.mts +0 -3
  102. package/filtering.d.mts.map +0 -1
  103. package/filtering.d.ts +0 -3
  104. package/filtering.d.ts.map +0 -1
  105. package/filtering.js +0 -24
  106. package/filtering.js.map +0 -1
  107. package/filtering.mjs +0 -16
  108. package/filtering.mjs.map +0 -1
  109. package/src/code-tool-paths.cts +0 -3
  110. package/src/code-tool-worker.ts +0 -225
  111. package/src/compat.ts +0 -483
  112. package/src/dynamic-tools.ts +0 -159
  113. package/src/filtering.ts +0 -18
  114. package/src/tools/index.ts +0 -131
  115. package/src/tools/metrics/create-metrics.ts +0 -376
  116. package/src/tools/metrics/delete-metrics.ts +0 -54
  117. package/src/tools/metrics/get-metrics.ts +0 -39
  118. package/src/tools/metrics/list-metrics.ts +0 -51
  119. package/src/tools/metrics/update-metrics.ts +0 -376
  120. package/src/tools/projects/create-projects.ts +0 -57
  121. package/src/tools/projects/list-projects.ts +0 -62
  122. package/src/tools/records/create-records.ts +0 -71
  123. package/src/tools/records/delete-records.ts +0 -54
  124. package/src/tools/records/list-records.ts +0 -65
  125. package/src/tools/runs/create-runs.ts +0 -67
  126. package/src/tools/runs/get-runs.ts +0 -54
  127. package/src/tools/runs/list-runs.ts +0 -65
  128. package/src/tools/scores/upsert-scores.ts +0 -65
  129. package/src/tools/systems/delete-systems.ts +0 -54
  130. package/src/tools/systems/get-systems.ts +0 -54
  131. package/src/tools/systems/list-systems.ts +0 -65
  132. package/src/tools/systems/update-systems.ts +0 -64
  133. package/src/tools/systems/upsert-systems.ts +0 -66
  134. package/src/tools/systems/versions/get-systems-versions.ts +0 -56
  135. package/src/tools/systems/versions/upsert-systems-versions.ts +0 -64
  136. package/src/tools/testcases/create-testcases.ts +0 -67
  137. package/src/tools/testcases/delete-testcases.ts +0 -56
  138. package/src/tools/testcases/get-testcases.ts +0 -54
  139. package/src/tools/testcases/list-testcases.ts +0 -65
  140. package/src/tools/testcases/update-testcases.ts +0 -59
  141. package/src/tools/testsets/create-testsets.ts +0 -94
  142. package/src/tools/testsets/delete-testsets.ts +0 -54
  143. package/src/tools/testsets/get-testsets.ts +0 -54
  144. package/src/tools/testsets/list-testsets.ts +0 -65
  145. package/src/tools/testsets/update-testsets.ts +0 -94
  146. package/src/tools.ts +0 -1
  147. package/tools/index.d.mts +0 -10
  148. package/tools/index.d.mts.map +0 -1
  149. package/tools/index.d.ts +0 -10
  150. package/tools/index.d.ts.map +0 -1
  151. package/tools/index.js +0 -115
  152. package/tools/index.js.map +0 -1
  153. package/tools/index.mjs +0 -108
  154. package/tools/index.mjs.map +0 -1
  155. package/tools/metrics/create-metrics.d.mts +0 -45
  156. package/tools/metrics/create-metrics.d.mts.map +0 -1
  157. package/tools/metrics/create-metrics.d.ts +0 -45
  158. package/tools/metrics/create-metrics.d.ts.map +0 -1
  159. package/tools/metrics/create-metrics.js +0 -369
  160. package/tools/metrics/create-metrics.js.map +0 -1
  161. package/tools/metrics/create-metrics.mjs +0 -365
  162. package/tools/metrics/create-metrics.mjs.map +0 -1
  163. package/tools/metrics/delete-metrics.d.mts +0 -45
  164. package/tools/metrics/delete-metrics.d.mts.map +0 -1
  165. package/tools/metrics/delete-metrics.d.ts +0 -45
  166. package/tools/metrics/delete-metrics.d.ts.map +0 -1
  167. package/tools/metrics/delete-metrics.js +0 -50
  168. package/tools/metrics/delete-metrics.js.map +0 -1
  169. package/tools/metrics/delete-metrics.mjs +0 -46
  170. package/tools/metrics/delete-metrics.mjs.map +0 -1
  171. package/tools/metrics/get-metrics.d.mts +0 -45
  172. package/tools/metrics/get-metrics.d.mts.map +0 -1
  173. package/tools/metrics/get-metrics.d.ts +0 -45
  174. package/tools/metrics/get-metrics.d.ts.map +0 -1
  175. package/tools/metrics/get-metrics.js +0 -36
  176. package/tools/metrics/get-metrics.js.map +0 -1
  177. package/tools/metrics/get-metrics.mjs +0 -32
  178. package/tools/metrics/get-metrics.mjs.map +0 -1
  179. package/tools/metrics/list-metrics.d.mts +0 -45
  180. package/tools/metrics/list-metrics.d.mts.map +0 -1
  181. package/tools/metrics/list-metrics.d.ts +0 -45
  182. package/tools/metrics/list-metrics.d.ts.map +0 -1
  183. package/tools/metrics/list-metrics.js +0 -45
  184. package/tools/metrics/list-metrics.js.map +0 -1
  185. package/tools/metrics/list-metrics.mjs +0 -41
  186. package/tools/metrics/list-metrics.mjs.map +0 -1
  187. package/tools/metrics/update-metrics.d.mts +0 -45
  188. package/tools/metrics/update-metrics.d.mts.map +0 -1
  189. package/tools/metrics/update-metrics.d.ts +0 -45
  190. package/tools/metrics/update-metrics.d.ts.map +0 -1
  191. package/tools/metrics/update-metrics.js +0 -369
  192. package/tools/metrics/update-metrics.js.map +0 -1
  193. package/tools/metrics/update-metrics.mjs +0 -365
  194. package/tools/metrics/update-metrics.mjs.map +0 -1
  195. package/tools/projects/create-projects.d.mts +0 -45
  196. package/tools/projects/create-projects.d.mts.map +0 -1
  197. package/tools/projects/create-projects.d.ts +0 -45
  198. package/tools/projects/create-projects.d.ts.map +0 -1
  199. package/tools/projects/create-projects.js +0 -53
  200. package/tools/projects/create-projects.js.map +0 -1
  201. package/tools/projects/create-projects.mjs +0 -49
  202. package/tools/projects/create-projects.mjs.map +0 -1
  203. package/tools/projects/list-projects.d.mts +0 -45
  204. package/tools/projects/list-projects.d.mts.map +0 -1
  205. package/tools/projects/list-projects.d.ts +0 -45
  206. package/tools/projects/list-projects.d.ts.map +0 -1
  207. package/tools/projects/list-projects.js +0 -56
  208. package/tools/projects/list-projects.js.map +0 -1
  209. package/tools/projects/list-projects.mjs +0 -52
  210. package/tools/projects/list-projects.mjs.map +0 -1
  211. package/tools/records/create-records.d.mts +0 -45
  212. package/tools/records/create-records.d.mts.map +0 -1
  213. package/tools/records/create-records.d.ts +0 -45
  214. package/tools/records/create-records.d.ts.map +0 -1
  215. package/tools/records/create-records.js +0 -67
  216. package/tools/records/create-records.js.map +0 -1
  217. package/tools/records/create-records.mjs +0 -63
  218. package/tools/records/create-records.mjs.map +0 -1
  219. package/tools/records/delete-records.d.mts +0 -45
  220. package/tools/records/delete-records.d.mts.map +0 -1
  221. package/tools/records/delete-records.d.ts +0 -45
  222. package/tools/records/delete-records.d.ts.map +0 -1
  223. package/tools/records/delete-records.js +0 -50
  224. package/tools/records/delete-records.js.map +0 -1
  225. package/tools/records/delete-records.mjs +0 -46
  226. package/tools/records/delete-records.mjs.map +0 -1
  227. package/tools/records/list-records.d.mts +0 -45
  228. package/tools/records/list-records.d.mts.map +0 -1
  229. package/tools/records/list-records.d.ts +0 -45
  230. package/tools/records/list-records.d.ts.map +0 -1
  231. package/tools/records/list-records.js +0 -59
  232. package/tools/records/list-records.js.map +0 -1
  233. package/tools/records/list-records.mjs +0 -55
  234. package/tools/records/list-records.mjs.map +0 -1
  235. package/tools/runs/create-runs.d.mts +0 -45
  236. package/tools/runs/create-runs.d.mts.map +0 -1
  237. package/tools/runs/create-runs.d.ts +0 -45
  238. package/tools/runs/create-runs.d.ts.map +0 -1
  239. package/tools/runs/create-runs.js +0 -63
  240. package/tools/runs/create-runs.js.map +0 -1
  241. package/tools/runs/create-runs.mjs +0 -59
  242. package/tools/runs/create-runs.mjs.map +0 -1
  243. package/tools/runs/get-runs.d.mts +0 -45
  244. package/tools/runs/get-runs.d.mts.map +0 -1
  245. package/tools/runs/get-runs.d.ts +0 -45
  246. package/tools/runs/get-runs.d.ts.map +0 -1
  247. package/tools/runs/get-runs.js +0 -50
  248. package/tools/runs/get-runs.js.map +0 -1
  249. package/tools/runs/get-runs.mjs +0 -46
  250. package/tools/runs/get-runs.mjs.map +0 -1
  251. package/tools/runs/list-runs.d.mts +0 -45
  252. package/tools/runs/list-runs.d.mts.map +0 -1
  253. package/tools/runs/list-runs.d.ts +0 -45
  254. package/tools/runs/list-runs.d.ts.map +0 -1
  255. package/tools/runs/list-runs.js +0 -59
  256. package/tools/runs/list-runs.js.map +0 -1
  257. package/tools/runs/list-runs.mjs +0 -55
  258. package/tools/runs/list-runs.mjs.map +0 -1
  259. package/tools/scores/upsert-scores.d.mts +0 -45
  260. package/tools/scores/upsert-scores.d.mts.map +0 -1
  261. package/tools/scores/upsert-scores.d.ts +0 -45
  262. package/tools/scores/upsert-scores.d.ts.map +0 -1
  263. package/tools/scores/upsert-scores.js +0 -58
  264. package/tools/scores/upsert-scores.js.map +0 -1
  265. package/tools/scores/upsert-scores.mjs +0 -54
  266. package/tools/scores/upsert-scores.mjs.map +0 -1
  267. package/tools/systems/delete-systems.d.mts +0 -45
  268. package/tools/systems/delete-systems.d.mts.map +0 -1
  269. package/tools/systems/delete-systems.d.ts +0 -45
  270. package/tools/systems/delete-systems.d.ts.map +0 -1
  271. package/tools/systems/delete-systems.js +0 -50
  272. package/tools/systems/delete-systems.js.map +0 -1
  273. package/tools/systems/delete-systems.mjs +0 -46
  274. package/tools/systems/delete-systems.mjs.map +0 -1
  275. package/tools/systems/get-systems.d.mts +0 -45
  276. package/tools/systems/get-systems.d.mts.map +0 -1
  277. package/tools/systems/get-systems.d.ts +0 -45
  278. package/tools/systems/get-systems.d.ts.map +0 -1
  279. package/tools/systems/get-systems.js +0 -50
  280. package/tools/systems/get-systems.js.map +0 -1
  281. package/tools/systems/get-systems.mjs +0 -46
  282. package/tools/systems/get-systems.mjs.map +0 -1
  283. package/tools/systems/list-systems.d.mts +0 -45
  284. package/tools/systems/list-systems.d.mts.map +0 -1
  285. package/tools/systems/list-systems.d.ts +0 -45
  286. package/tools/systems/list-systems.d.ts.map +0 -1
  287. package/tools/systems/list-systems.js +0 -59
  288. package/tools/systems/list-systems.js.map +0 -1
  289. package/tools/systems/list-systems.mjs +0 -55
  290. package/tools/systems/list-systems.mjs.map +0 -1
  291. package/tools/systems/update-systems.d.mts +0 -45
  292. package/tools/systems/update-systems.d.mts.map +0 -1
  293. package/tools/systems/update-systems.d.ts +0 -45
  294. package/tools/systems/update-systems.d.ts.map +0 -1
  295. package/tools/systems/update-systems.js +0 -60
  296. package/tools/systems/update-systems.js.map +0 -1
  297. package/tools/systems/update-systems.mjs +0 -56
  298. package/tools/systems/update-systems.mjs.map +0 -1
  299. package/tools/systems/upsert-systems.d.mts +0 -45
  300. package/tools/systems/upsert-systems.d.mts.map +0 -1
  301. package/tools/systems/upsert-systems.d.ts +0 -45
  302. package/tools/systems/upsert-systems.d.ts.map +0 -1
  303. package/tools/systems/upsert-systems.js +0 -61
  304. package/tools/systems/upsert-systems.js.map +0 -1
  305. package/tools/systems/upsert-systems.mjs +0 -57
  306. package/tools/systems/upsert-systems.mjs.map +0 -1
  307. package/tools/systems/versions/get-systems-versions.d.mts +0 -45
  308. package/tools/systems/versions/get-systems-versions.d.mts.map +0 -1
  309. package/tools/systems/versions/get-systems-versions.d.ts +0 -45
  310. package/tools/systems/versions/get-systems-versions.d.ts.map +0 -1
  311. package/tools/systems/versions/get-systems-versions.js +0 -50
  312. package/tools/systems/versions/get-systems-versions.js.map +0 -1
  313. package/tools/systems/versions/get-systems-versions.mjs +0 -46
  314. package/tools/systems/versions/get-systems-versions.mjs.map +0 -1
  315. package/tools/systems/versions/upsert-systems-versions.d.mts +0 -45
  316. package/tools/systems/versions/upsert-systems-versions.d.mts.map +0 -1
  317. package/tools/systems/versions/upsert-systems-versions.d.ts +0 -45
  318. package/tools/systems/versions/upsert-systems-versions.d.ts.map +0 -1
  319. package/tools/systems/versions/upsert-systems-versions.js +0 -57
  320. package/tools/systems/versions/upsert-systems-versions.js.map +0 -1
  321. package/tools/systems/versions/upsert-systems-versions.mjs +0 -53
  322. package/tools/systems/versions/upsert-systems-versions.mjs.map +0 -1
  323. package/tools/testcases/create-testcases.d.mts +0 -45
  324. package/tools/testcases/create-testcases.d.mts.map +0 -1
  325. package/tools/testcases/create-testcases.d.ts +0 -45
  326. package/tools/testcases/create-testcases.d.ts.map +0 -1
  327. package/tools/testcases/create-testcases.js +0 -63
  328. package/tools/testcases/create-testcases.js.map +0 -1
  329. package/tools/testcases/create-testcases.mjs +0 -59
  330. package/tools/testcases/create-testcases.mjs.map +0 -1
  331. package/tools/testcases/delete-testcases.d.mts +0 -45
  332. package/tools/testcases/delete-testcases.d.mts.map +0 -1
  333. package/tools/testcases/delete-testcases.d.ts +0 -45
  334. package/tools/testcases/delete-testcases.d.ts.map +0 -1
  335. package/tools/testcases/delete-testcases.js +0 -52
  336. package/tools/testcases/delete-testcases.js.map +0 -1
  337. package/tools/testcases/delete-testcases.mjs +0 -48
  338. package/tools/testcases/delete-testcases.mjs.map +0 -1
  339. package/tools/testcases/get-testcases.d.mts +0 -45
  340. package/tools/testcases/get-testcases.d.mts.map +0 -1
  341. package/tools/testcases/get-testcases.d.ts +0 -45
  342. package/tools/testcases/get-testcases.d.ts.map +0 -1
  343. package/tools/testcases/get-testcases.js +0 -50
  344. package/tools/testcases/get-testcases.js.map +0 -1
  345. package/tools/testcases/get-testcases.mjs +0 -46
  346. package/tools/testcases/get-testcases.mjs.map +0 -1
  347. package/tools/testcases/list-testcases.d.mts +0 -45
  348. package/tools/testcases/list-testcases.d.mts.map +0 -1
  349. package/tools/testcases/list-testcases.d.ts +0 -45
  350. package/tools/testcases/list-testcases.d.ts.map +0 -1
  351. package/tools/testcases/list-testcases.js +0 -59
  352. package/tools/testcases/list-testcases.js.map +0 -1
  353. package/tools/testcases/list-testcases.mjs +0 -55
  354. package/tools/testcases/list-testcases.mjs.map +0 -1
  355. package/tools/testcases/update-testcases.d.mts +0 -45
  356. package/tools/testcases/update-testcases.d.mts.map +0 -1
  357. package/tools/testcases/update-testcases.d.ts +0 -45
  358. package/tools/testcases/update-testcases.d.ts.map +0 -1
  359. package/tools/testcases/update-testcases.js +0 -55
  360. package/tools/testcases/update-testcases.js.map +0 -1
  361. package/tools/testcases/update-testcases.mjs +0 -51
  362. package/tools/testcases/update-testcases.mjs.map +0 -1
  363. package/tools/testsets/create-testsets.d.mts +0 -45
  364. package/tools/testsets/create-testsets.d.mts.map +0 -1
  365. package/tools/testsets/create-testsets.d.ts +0 -45
  366. package/tools/testsets/create-testsets.d.ts.map +0 -1
  367. package/tools/testsets/create-testsets.js +0 -89
  368. package/tools/testsets/create-testsets.js.map +0 -1
  369. package/tools/testsets/create-testsets.mjs +0 -85
  370. package/tools/testsets/create-testsets.mjs.map +0 -1
  371. package/tools/testsets/delete-testsets.d.mts +0 -45
  372. package/tools/testsets/delete-testsets.d.mts.map +0 -1
  373. package/tools/testsets/delete-testsets.d.ts +0 -45
  374. package/tools/testsets/delete-testsets.d.ts.map +0 -1
  375. package/tools/testsets/delete-testsets.js +0 -50
  376. package/tools/testsets/delete-testsets.js.map +0 -1
  377. package/tools/testsets/delete-testsets.mjs +0 -46
  378. package/tools/testsets/delete-testsets.mjs.map +0 -1
  379. package/tools/testsets/get-testsets.d.mts +0 -45
  380. package/tools/testsets/get-testsets.d.mts.map +0 -1
  381. package/tools/testsets/get-testsets.d.ts +0 -45
  382. package/tools/testsets/get-testsets.d.ts.map +0 -1
  383. package/tools/testsets/get-testsets.js +0 -50
  384. package/tools/testsets/get-testsets.js.map +0 -1
  385. package/tools/testsets/get-testsets.mjs +0 -46
  386. package/tools/testsets/get-testsets.mjs.map +0 -1
  387. package/tools/testsets/list-testsets.d.mts +0 -45
  388. package/tools/testsets/list-testsets.d.mts.map +0 -1
  389. package/tools/testsets/list-testsets.d.ts +0 -45
  390. package/tools/testsets/list-testsets.d.ts.map +0 -1
  391. package/tools/testsets/list-testsets.js +0 -59
  392. package/tools/testsets/list-testsets.js.map +0 -1
  393. package/tools/testsets/list-testsets.mjs +0 -55
  394. package/tools/testsets/list-testsets.mjs.map +0 -1
  395. package/tools/testsets/update-testsets.d.mts +0 -45
  396. package/tools/testsets/update-testsets.d.mts.map +0 -1
  397. package/tools/testsets/update-testsets.d.ts +0 -45
  398. package/tools/testsets/update-testsets.d.ts.map +0 -1
  399. package/tools/testsets/update-testsets.js +0 -89
  400. package/tools/testsets/update-testsets.js.map +0 -1
  401. package/tools/testsets/update-testsets.mjs +0 -85
  402. package/tools/testsets/update-testsets.mjs.map +0 -1
  403. package/tools/types.d.mts.map +0 -1
  404. package/tools/types.d.ts.map +0 -1
  405. package/tools/types.js.map +0 -1
  406. package/tools/types.mjs.map +0 -1
  407. package/tools.d.mts +0 -2
  408. package/tools.d.mts.map +0 -1
  409. package/tools.d.ts +0 -2
  410. package/tools.d.ts.map +0 -1
  411. package/tools.js +0 -18
  412. package/tools.js.map +0 -1
  413. package/tools.mjs +0 -2
  414. package/tools.mjs.map +0 -1
  415. /package/{tools/types.js → types.js} +0 -0
  416. /package/{tools/types.mjs → types.mjs} +0 -0
@@ -1,65 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { isJqError, maybeFilter } from 'scorecard-ai-mcp/filtering';
4
- import { Metadata, asErrorResult, asTextContentResult } from 'scorecard-ai-mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import Scorecard from 'scorecard-ai';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'records',
11
- operation: 'read',
12
- tags: [],
13
- httpMethod: 'get',
14
- httpPath: '/runs/{runId}/records',
15
- operationId: 'listRecords',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'list_records',
20
- description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve a paginated list of Records for a Run, including all scores for each record.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n $ref: '#/$defs/record_list_response'\n }\n },\n hasMore: {\n type: 'boolean'\n },\n nextCursor: {\n type: 'string'\n },\n total: {\n type: 'integer'\n }\n },\n required: [ 'data',\n 'hasMore',\n 'nextCursor'\n ],\n $defs: {\n record_list_response: {\n allOf: [ {\n $ref: '#/$defs/record'\n }\n ],\n description: 'A record with all its associated scores.'\n },\n record: {\n type: 'object',\n description: 'A record of a system execution in the Scorecard system.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the Record.'\n },\n expected: {\n type: 'object',\n description: 'The expected outputs for the Testcase.',\n additionalProperties: true\n },\n inputs: {\n type: 'object',\n description: 'The actual inputs sent to the system, which should match the system\\'s input schema.',\n additionalProperties: true\n },\n outputs: {\n type: 'object',\n description: 'The actual outputs from the system.',\n additionalProperties: true\n },\n runId: {\n type: 'string',\n description: 'The ID of the Run containing this Record.'\n },\n testcaseId: {\n type: 'string',\n description: 'The ID of the Testcase.'\n }\n },\n required: [ 'id',\n 'expected',\n 'inputs',\n 'outputs',\n 'runId'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- runId: {
26
- type: 'string',
27
- },
28
- cursor: {
29
- type: 'string',
30
- description:
31
- 'Cursor for pagination. Pass the `nextCursor` from the previous response to get the next page of results.',
32
- },
33
- limit: {
34
- type: 'integer',
35
- description:
36
- 'Maximum number of items to return (1-100). Use with `cursor` for pagination through large sets.',
37
- },
38
- jq_filter: {
39
- type: 'string',
40
- title: 'jq Filter',
41
- description:
42
- 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
43
- },
44
- },
45
- required: ['runId'],
46
- },
47
- annotations: {
48
- readOnlyHint: true,
49
- },
50
- };
51
-
52
- export const handler = async (client: Scorecard, args: Record<string, unknown> | undefined) => {
53
- const { runId, jq_filter, ...body } = args as any;
54
- const response = await client.records.list(runId, body).asResponse();
55
- try {
56
- return asTextContentResult(await maybeFilter(jq_filter, await response.json()));
57
- } catch (error) {
58
- if (isJqError(error)) {
59
- return asErrorResult(error.message);
60
- }
61
- throw error;
62
- }
63
- };
64
-
65
- export default { metadata, tool, handler };
@@ -1,67 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { isJqError, maybeFilter } from 'scorecard-ai-mcp/filtering';
4
- import { Metadata, asErrorResult, asTextContentResult } from 'scorecard-ai-mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import Scorecard from 'scorecard-ai';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'runs',
11
- operation: 'write',
12
- tags: [],
13
- httpMethod: 'post',
14
- httpPath: '/projects/{projectId}/runs',
15
- operationId: 'createRun',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'create_runs',
20
- description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCreate a new Run.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/run',\n $defs: {\n run: {\n type: 'object',\n description: 'A Run in the Scorecard system.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the Run.'\n },\n metricIds: {\n type: 'array',\n description: 'The IDs of the metrics this Run is using.',\n items: {\n type: 'string'\n }\n },\n metricVersionIds: {\n type: 'array',\n description: 'The IDs of the metric versions this Run is using.',\n items: {\n type: 'string'\n }\n },\n numExpectedRecords: {\n type: 'number',\n description: 'The number of expected records in the Run. Determined by the number of testcases in the Run\\'s Testset at the time of Run creation.'\n },\n numRecords: {\n type: 'number',\n description: 'The number of records in the Run.'\n },\n numScores: {\n type: 'number',\n description: 'The number of completed scores in the Run so far.'\n },\n status: {\n type: 'string',\n description: 'The status of the Run.',\n enum: [ 'pending',\n 'awaiting_execution',\n 'running_execution',\n 'awaiting_scoring',\n 'running_scoring',\n 'awaiting_human_scoring',\n 'completed'\n ]\n },\n systemId: {\n type: 'string',\n description: 'The ID of the system this Run is using.'\n },\n systemVersionId: {\n type: 'string',\n description: 'The ID of the system version this Run is using.'\n },\n testsetId: {\n type: 'string',\n description: 'The ID of the Testset this Run is testing.'\n }\n },\n required: [ 'id',\n 'metricIds',\n 'metricVersionIds',\n 'numExpectedRecords',\n 'numRecords',\n 'numScores',\n 'status',\n 'systemId',\n 'systemVersionId',\n 'testsetId'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- projectId: {
26
- type: 'string',
27
- },
28
- metricIds: {
29
- type: 'array',
30
- description: 'The IDs of the metrics this Run is using.',
31
- items: {
32
- type: 'string',
33
- },
34
- },
35
- systemVersionId: {
36
- type: 'string',
37
- description: 'The ID of the system version this Run is using.',
38
- },
39
- testsetId: {
40
- type: 'string',
41
- description: 'The ID of the Testset this Run is testing.',
42
- },
43
- jq_filter: {
44
- type: 'string',
45
- title: 'jq Filter',
46
- description:
47
- 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
48
- },
49
- },
50
- required: ['projectId', 'metricIds'],
51
- },
52
- annotations: {},
53
- };
54
-
55
- export const handler = async (client: Scorecard, args: Record<string, unknown> | undefined) => {
56
- const { projectId, jq_filter, ...body } = args as any;
57
- try {
58
- return asTextContentResult(await maybeFilter(jq_filter, await client.runs.create(projectId, body)));
59
- } catch (error) {
60
- if (isJqError(error)) {
61
- return asErrorResult(error.message);
62
- }
63
- throw error;
64
- }
65
- };
66
-
67
- export default { metadata, tool, handler };
@@ -1,54 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { isJqError, maybeFilter } from 'scorecard-ai-mcp/filtering';
4
- import { Metadata, asErrorResult, asTextContentResult } from 'scorecard-ai-mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import Scorecard from 'scorecard-ai';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'runs',
11
- operation: 'read',
12
- tags: [],
13
- httpMethod: 'get',
14
- httpPath: '/runs/{runId}',
15
- operationId: 'getRun',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'get_runs',
20
- description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve a specific Run by ID.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/run',\n $defs: {\n run: {\n type: 'object',\n description: 'A Run in the Scorecard system.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the Run.'\n },\n metricIds: {\n type: 'array',\n description: 'The IDs of the metrics this Run is using.',\n items: {\n type: 'string'\n }\n },\n metricVersionIds: {\n type: 'array',\n description: 'The IDs of the metric versions this Run is using.',\n items: {\n type: 'string'\n }\n },\n numExpectedRecords: {\n type: 'number',\n description: 'The number of expected records in the Run. Determined by the number of testcases in the Run\\'s Testset at the time of Run creation.'\n },\n numRecords: {\n type: 'number',\n description: 'The number of records in the Run.'\n },\n numScores: {\n type: 'number',\n description: 'The number of completed scores in the Run so far.'\n },\n status: {\n type: 'string',\n description: 'The status of the Run.',\n enum: [ 'pending',\n 'awaiting_execution',\n 'running_execution',\n 'awaiting_scoring',\n 'running_scoring',\n 'awaiting_human_scoring',\n 'completed'\n ]\n },\n systemId: {\n type: 'string',\n description: 'The ID of the system this Run is using.'\n },\n systemVersionId: {\n type: 'string',\n description: 'The ID of the system version this Run is using.'\n },\n testsetId: {\n type: 'string',\n description: 'The ID of the Testset this Run is testing.'\n }\n },\n required: [ 'id',\n 'metricIds',\n 'metricVersionIds',\n 'numExpectedRecords',\n 'numRecords',\n 'numScores',\n 'status',\n 'systemId',\n 'systemVersionId',\n 'testsetId'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- runId: {
26
- type: 'string',
27
- },
28
- jq_filter: {
29
- type: 'string',
30
- title: 'jq Filter',
31
- description:
32
- 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
33
- },
34
- },
35
- required: ['runId'],
36
- },
37
- annotations: {
38
- readOnlyHint: true,
39
- },
40
- };
41
-
42
- export const handler = async (client: Scorecard, args: Record<string, unknown> | undefined) => {
43
- const { runId, jq_filter, ...body } = args as any;
44
- try {
45
- return asTextContentResult(await maybeFilter(jq_filter, await client.runs.get(runId)));
46
- } catch (error) {
47
- if (isJqError(error)) {
48
- return asErrorResult(error.message);
49
- }
50
- throw error;
51
- }
52
- };
53
-
54
- export default { metadata, tool, handler };
@@ -1,65 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { isJqError, maybeFilter } from 'scorecard-ai-mcp/filtering';
4
- import { Metadata, asErrorResult, asTextContentResult } from 'scorecard-ai-mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import Scorecard from 'scorecard-ai';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'runs',
11
- operation: 'read',
12
- tags: [],
13
- httpMethod: 'get',
14
- httpPath: '/projects/{projectId}/runs',
15
- operationId: 'listRuns',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'list_runs',
20
- description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve a paginated list of all Runs for a Project. Runs are ordered by creation date, most recent first.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n $ref: '#/$defs/run'\n }\n },\n hasMore: {\n type: 'boolean'\n },\n nextCursor: {\n type: 'string'\n },\n total: {\n type: 'integer'\n }\n },\n required: [ 'data',\n 'hasMore',\n 'nextCursor'\n ],\n $defs: {\n run: {\n type: 'object',\n description: 'A Run in the Scorecard system.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the Run.'\n },\n metricIds: {\n type: 'array',\n description: 'The IDs of the metrics this Run is using.',\n items: {\n type: 'string'\n }\n },\n metricVersionIds: {\n type: 'array',\n description: 'The IDs of the metric versions this Run is using.',\n items: {\n type: 'string'\n }\n },\n numExpectedRecords: {\n type: 'number',\n description: 'The number of expected records in the Run. Determined by the number of testcases in the Run\\'s Testset at the time of Run creation.'\n },\n numRecords: {\n type: 'number',\n description: 'The number of records in the Run.'\n },\n numScores: {\n type: 'number',\n description: 'The number of completed scores in the Run so far.'\n },\n status: {\n type: 'string',\n description: 'The status of the Run.',\n enum: [ 'pending',\n 'awaiting_execution',\n 'running_execution',\n 'awaiting_scoring',\n 'running_scoring',\n 'awaiting_human_scoring',\n 'completed'\n ]\n },\n systemId: {\n type: 'string',\n description: 'The ID of the system this Run is using.'\n },\n systemVersionId: {\n type: 'string',\n description: 'The ID of the system version this Run is using.'\n },\n testsetId: {\n type: 'string',\n description: 'The ID of the Testset this Run is testing.'\n }\n },\n required: [ 'id',\n 'metricIds',\n 'metricVersionIds',\n 'numExpectedRecords',\n 'numRecords',\n 'numScores',\n 'status',\n 'systemId',\n 'systemVersionId',\n 'testsetId'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- projectId: {
26
- type: 'string',
27
- },
28
- cursor: {
29
- type: 'string',
30
- description:
31
- 'Cursor for pagination. Pass the `nextCursor` from the previous response to get the next page of results.',
32
- },
33
- limit: {
34
- type: 'integer',
35
- description:
36
- 'Maximum number of items to return (1-100). Use with `cursor` for pagination through large sets.',
37
- },
38
- jq_filter: {
39
- type: 'string',
40
- title: 'jq Filter',
41
- description:
42
- 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
43
- },
44
- },
45
- required: ['projectId'],
46
- },
47
- annotations: {
48
- readOnlyHint: true,
49
- },
50
- };
51
-
52
- export const handler = async (client: Scorecard, args: Record<string, unknown> | undefined) => {
53
- const { projectId, jq_filter, ...body } = args as any;
54
- const response = await client.runs.list(projectId, body).asResponse();
55
- try {
56
- return asTextContentResult(await maybeFilter(jq_filter, await response.json()));
57
- } catch (error) {
58
- if (isJqError(error)) {
59
- return asErrorResult(error.message);
60
- }
61
- throw error;
62
- }
63
- };
64
-
65
- export default { metadata, tool, handler };
@@ -1,65 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { isJqError, maybeFilter } from 'scorecard-ai-mcp/filtering';
4
- import { Metadata, asErrorResult, asTextContentResult } from 'scorecard-ai-mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import Scorecard from 'scorecard-ai';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'scores',
11
- operation: 'write',
12
- tags: [],
13
- httpMethod: 'put',
14
- httpPath: '/records/{recordId}/scores/{metricConfigId}',
15
- operationId: 'upsertScore',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'upsert_scores',
20
- description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCreate or update a Score for a given Record and MetricConfig. If a Score with the specified Record ID and MetricConfig ID already exists, it will be updated. Otherwise, a new Score will be created. The score provided should conform to the schema defined by the MetricConfig; otherwise, validation errors will be reported.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/score',\n $defs: {\n score: {\n type: 'object',\n description: 'A Score represents the evaluation of a Record against a specific MetricConfig. The actual `score` is stored as flexible JSON. While any JSON is accepted, it is expected to conform to the output schema defined by the MetricConfig. Any discrepancies will be noted in the `validationErrors` field, but the Score will still be stored.',\n properties: {\n metricConfigId: {\n type: 'string',\n description: 'The ID of the MetricConfig this Score is for.'\n },\n recordId: {\n type: 'string',\n description: 'The ID of the Record this Score is for.'\n },\n score: {\n type: 'object',\n description: 'The score of the Record, as arbitrary JSON. This data should ideally conform to the output schema defined by the associated MetricConfig. If it doesn\\'t, validation errors will be captured in the `validationErrors` field.',\n additionalProperties: true\n },\n validationErrors: {\n type: 'array',\n description: 'Validation errors found in the Score data. If present, the Score doesn\\'t fully conform to its MetricConfig\\'s schema.',\n items: {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n description: 'Human-readable error description.'\n },\n path: {\n type: 'string',\n description: 'JSON Pointer to the field with the validation error.'\n }\n },\n required: [ 'message',\n 'path'\n ]\n }\n }\n },\n required: [ 'metricConfigId',\n 'recordId',\n 'score'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- recordId: {
26
- type: 'string',
27
- },
28
- metricConfigId: {
29
- type: 'string',
30
- },
31
- score: {
32
- type: 'object',
33
- description:
34
- "The score of the Record, as arbitrary JSON. This data should ideally conform to the output schema defined by the associated MetricConfig. If it doesn't, validation errors will be captured in the `validationErrors` field.",
35
- additionalProperties: true,
36
- },
37
- jq_filter: {
38
- type: 'string',
39
- title: 'jq Filter',
40
- description:
41
- 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
42
- },
43
- },
44
- required: ['recordId', 'metricConfigId', 'score'],
45
- },
46
- annotations: {
47
- idempotentHint: true,
48
- },
49
- };
50
-
51
- export const handler = async (client: Scorecard, args: Record<string, unknown> | undefined) => {
52
- const { metricConfigId, jq_filter, ...body } = args as any;
53
- try {
54
- return asTextContentResult(
55
- await maybeFilter(jq_filter, await client.scores.upsert(metricConfigId, body)),
56
- );
57
- } catch (error) {
58
- if (isJqError(error)) {
59
- return asErrorResult(error.message);
60
- }
61
- throw error;
62
- }
63
- };
64
-
65
- export default { metadata, tool, handler };
@@ -1,54 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { isJqError, maybeFilter } from 'scorecard-ai-mcp/filtering';
4
- import { Metadata, asErrorResult, asTextContentResult } from 'scorecard-ai-mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import Scorecard from 'scorecard-ai';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'systems',
11
- operation: 'write',
12
- tags: [],
13
- httpMethod: 'delete',
14
- httpPath: '/systems/{systemId}',
15
- operationId: 'deleteSystem',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'delete_systems',
20
- description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nDelete a system definition by ID. This will not delete associated system versions.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/system_delete_response',\n $defs: {\n system_delete_response: {\n type: 'object',\n properties: {\n success: {\n type: 'boolean',\n description: 'Whether the deletion was successful.'\n }\n },\n required: [ 'success'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- systemId: {
26
- type: 'string',
27
- },
28
- jq_filter: {
29
- type: 'string',
30
- title: 'jq Filter',
31
- description:
32
- 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
33
- },
34
- },
35
- required: ['systemId'],
36
- },
37
- annotations: {
38
- idempotentHint: true,
39
- },
40
- };
41
-
42
- export const handler = async (client: Scorecard, args: Record<string, unknown> | undefined) => {
43
- const { systemId, jq_filter, ...body } = args as any;
44
- try {
45
- return asTextContentResult(await maybeFilter(jq_filter, await client.systems.delete(systemId)));
46
- } catch (error) {
47
- if (isJqError(error)) {
48
- return asErrorResult(error.message);
49
- }
50
- throw error;
51
- }
52
- };
53
-
54
- export default { metadata, tool, handler };
@@ -1,54 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { isJqError, maybeFilter } from 'scorecard-ai-mcp/filtering';
4
- import { Metadata, asErrorResult, asTextContentResult } from 'scorecard-ai-mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import Scorecard from 'scorecard-ai';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'systems',
11
- operation: 'read',
12
- tags: [],
13
- httpMethod: 'get',
14
- httpPath: '/systems/{systemId}',
15
- operationId: 'getSystem',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'get_systems',
20
- description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve a specific system by ID.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/system',\n $defs: {\n system: {\n type: 'object',\n description: 'A System Under Test (SUT).\\n\\nSystems are templates - to run evaluations, pair them with a SystemVersion that provides specific\\nparameter values.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the system.'\n },\n description: {\n type: 'string',\n description: 'The description of the system.'\n },\n name: {\n type: 'string',\n description: 'The name of the system. Unique within the project.'\n },\n productionVersion: {\n $ref: '#/$defs/system_version'\n },\n versions: {\n type: 'array',\n description: 'The versions of the system.',\n items: {\n type: 'object',\n description: 'A SystemVersion defines the specific settings for a System Under Test.\\n\\nSystem versions contain parameter values that determine system behavior during evaluation.\\nThey are immutable snapshots - once created, they never change.\\n\\nWhen running evaluations, you reference a specific systemVersionId to establish which system version to test.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the system version.'\n },\n name: {\n type: 'string',\n description: 'The name of the system version.'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n },\n required: [ 'id',\n 'description',\n 'name',\n 'productionVersion',\n 'versions'\n ]\n },\n system_version: {\n type: 'object',\n description: 'A SystemVersion defines the specific settings for a System Under Test.\\n\\nSystem versions contain parameter values that determine system behavior during evaluation.\\nThey are immutable snapshots - once created, they never change.\\n\\nWhen running evaluations, you reference a specific systemVersionId to establish which system version to test.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the system version.'\n },\n config: {\n type: 'object',\n description: 'The configuration of the system version.',\n additionalProperties: true\n },\n name: {\n type: 'string',\n description: 'The name of the system version.'\n },\n systemId: {\n type: 'string',\n description: 'The ID of the system the system version belongs to.'\n }\n },\n required: [ 'id',\n 'config',\n 'name',\n 'systemId'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- systemId: {
26
- type: 'string',
27
- },
28
- jq_filter: {
29
- type: 'string',
30
- title: 'jq Filter',
31
- description:
32
- 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
33
- },
34
- },
35
- required: ['systemId'],
36
- },
37
- annotations: {
38
- readOnlyHint: true,
39
- },
40
- };
41
-
42
- export const handler = async (client: Scorecard, args: Record<string, unknown> | undefined) => {
43
- const { systemId, jq_filter, ...body } = args as any;
44
- try {
45
- return asTextContentResult(await maybeFilter(jq_filter, await client.systems.get(systemId)));
46
- } catch (error) {
47
- if (isJqError(error)) {
48
- return asErrorResult(error.message);
49
- }
50
- throw error;
51
- }
52
- };
53
-
54
- export default { metadata, tool, handler };
@@ -1,65 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { isJqError, maybeFilter } from 'scorecard-ai-mcp/filtering';
4
- import { Metadata, asErrorResult, asTextContentResult } from 'scorecard-ai-mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import Scorecard from 'scorecard-ai';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'systems',
11
- operation: 'read',
12
- tags: [],
13
- httpMethod: 'get',
14
- httpPath: '/projects/{projectId}/systems',
15
- operationId: 'listSystems',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'list_systems',
20
- description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve a paginated list of all systems. Systems are ordered by creation date.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n $ref: '#/$defs/system'\n }\n },\n hasMore: {\n type: 'boolean'\n },\n nextCursor: {\n type: 'string'\n },\n total: {\n type: 'integer'\n }\n },\n required: [ 'data',\n 'hasMore',\n 'nextCursor'\n ],\n $defs: {\n system: {\n type: 'object',\n description: 'A System Under Test (SUT).\\n\\nSystems are templates - to run evaluations, pair them with a SystemVersion that provides specific\\nparameter values.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the system.'\n },\n description: {\n type: 'string',\n description: 'The description of the system.'\n },\n name: {\n type: 'string',\n description: 'The name of the system. Unique within the project.'\n },\n productionVersion: {\n $ref: '#/$defs/system_version'\n },\n versions: {\n type: 'array',\n description: 'The versions of the system.',\n items: {\n type: 'object',\n description: 'A SystemVersion defines the specific settings for a System Under Test.\\n\\nSystem versions contain parameter values that determine system behavior during evaluation.\\nThey are immutable snapshots - once created, they never change.\\n\\nWhen running evaluations, you reference a specific systemVersionId to establish which system version to test.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the system version.'\n },\n name: {\n type: 'string',\n description: 'The name of the system version.'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n },\n required: [ 'id',\n 'description',\n 'name',\n 'productionVersion',\n 'versions'\n ]\n },\n system_version: {\n type: 'object',\n description: 'A SystemVersion defines the specific settings for a System Under Test.\\n\\nSystem versions contain parameter values that determine system behavior during evaluation.\\nThey are immutable snapshots - once created, they never change.\\n\\nWhen running evaluations, you reference a specific systemVersionId to establish which system version to test.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the system version.'\n },\n config: {\n type: 'object',\n description: 'The configuration of the system version.',\n additionalProperties: true\n },\n name: {\n type: 'string',\n description: 'The name of the system version.'\n },\n systemId: {\n type: 'string',\n description: 'The ID of the system the system version belongs to.'\n }\n },\n required: [ 'id',\n 'config',\n 'name',\n 'systemId'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- projectId: {
26
- type: 'string',
27
- },
28
- cursor: {
29
- type: 'string',
30
- description:
31
- 'Cursor for pagination. Pass the `nextCursor` from the previous response to get the next page of results.',
32
- },
33
- limit: {
34
- type: 'integer',
35
- description:
36
- 'Maximum number of items to return (1-100). Use with `cursor` for pagination through large sets.',
37
- },
38
- jq_filter: {
39
- type: 'string',
40
- title: 'jq Filter',
41
- description:
42
- 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
43
- },
44
- },
45
- required: ['projectId'],
46
- },
47
- annotations: {
48
- readOnlyHint: true,
49
- },
50
- };
51
-
52
- export const handler = async (client: Scorecard, args: Record<string, unknown> | undefined) => {
53
- const { projectId, jq_filter, ...body } = args as any;
54
- const response = await client.systems.list(projectId, body).asResponse();
55
- try {
56
- return asTextContentResult(await maybeFilter(jq_filter, await response.json()));
57
- } catch (error) {
58
- if (isJqError(error)) {
59
- return asErrorResult(error.message);
60
- }
61
- throw error;
62
- }
63
- };
64
-
65
- export default { metadata, tool, handler };
@@ -1,64 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { isJqError, maybeFilter } from 'scorecard-ai-mcp/filtering';
4
- import { Metadata, asErrorResult, asTextContentResult } from 'scorecard-ai-mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import Scorecard from 'scorecard-ai';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'systems',
11
- operation: 'write',
12
- tags: [],
13
- httpMethod: 'patch',
14
- httpPath: '/systems/{systemId}',
15
- operationId: 'updateSystem',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'update_systems',
20
- description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nUpdate an existing system. Only the fields provided in the request body will be updated.\nIf a field is provided, the new content will replace the existing content.\nIf a field is not provided, the existing content will remain unchanged.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/system',\n $defs: {\n system: {\n type: 'object',\n description: 'A System Under Test (SUT).\\n\\nSystems are templates - to run evaluations, pair them with a SystemVersion that provides specific\\nparameter values.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the system.'\n },\n description: {\n type: 'string',\n description: 'The description of the system.'\n },\n name: {\n type: 'string',\n description: 'The name of the system. Unique within the project.'\n },\n productionVersion: {\n $ref: '#/$defs/system_version'\n },\n versions: {\n type: 'array',\n description: 'The versions of the system.',\n items: {\n type: 'object',\n description: 'A SystemVersion defines the specific settings for a System Under Test.\\n\\nSystem versions contain parameter values that determine system behavior during evaluation.\\nThey are immutable snapshots - once created, they never change.\\n\\nWhen running evaluations, you reference a specific systemVersionId to establish which system version to test.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the system version.'\n },\n name: {\n type: 'string',\n description: 'The name of the system version.'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n },\n required: [ 'id',\n 'description',\n 'name',\n 'productionVersion',\n 'versions'\n ]\n },\n system_version: {\n type: 'object',\n description: 'A SystemVersion defines the specific settings for a System Under Test.\\n\\nSystem versions contain parameter values that determine system behavior during evaluation.\\nThey are immutable snapshots - once created, they never change.\\n\\nWhen running evaluations, you reference a specific systemVersionId to establish which system version to test.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the system version.'\n },\n config: {\n type: 'object',\n description: 'The configuration of the system version.',\n additionalProperties: true\n },\n name: {\n type: 'string',\n description: 'The name of the system version.'\n },\n systemId: {\n type: 'string',\n description: 'The ID of the system the system version belongs to.'\n }\n },\n required: [ 'id',\n 'config',\n 'name',\n 'systemId'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- systemId: {
26
- type: 'string',
27
- },
28
- description: {
29
- type: 'string',
30
- description: 'The description of the system.',
31
- },
32
- name: {
33
- type: 'string',
34
- description: 'The name of the system. Unique within the project.',
35
- },
36
- productionVersionId: {
37
- type: 'string',
38
- description: 'The ID of the production version of the system.',
39
- },
40
- jq_filter: {
41
- type: 'string',
42
- title: 'jq Filter',
43
- description:
44
- 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
45
- },
46
- },
47
- required: ['systemId'],
48
- },
49
- annotations: {},
50
- };
51
-
52
- export const handler = async (client: Scorecard, args: Record<string, unknown> | undefined) => {
53
- const { systemId, jq_filter, ...body } = args as any;
54
- try {
55
- return asTextContentResult(await maybeFilter(jq_filter, await client.systems.update(systemId, body)));
56
- } catch (error) {
57
- if (isJqError(error)) {
58
- return asErrorResult(error.message);
59
- }
60
- throw error;
61
- }
62
- };
63
-
64
- export default { metadata, tool, handler };