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
package/src/server.ts CHANGED
@@ -2,39 +2,26 @@
2
2
 
3
3
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
4
4
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
- import { Endpoint, endpoints, HandlerFunction, query } from './tools';
6
5
  import {
7
6
  CallToolRequestSchema,
8
7
  ListToolsRequestSchema,
9
8
  SetLevelRequestSchema,
10
- Implementation,
11
- Tool,
12
9
  } from '@modelcontextprotocol/sdk/types.js';
13
10
  import { ClientOptions } from 'scorecard-ai';
14
11
  import Scorecard from 'scorecard-ai';
15
- import {
16
- applyCompatibilityTransformations,
17
- ClientCapabilities,
18
- defaultClientCapabilities,
19
- knownClients,
20
- parseEmbeddedJSON,
21
- } from './compat';
22
- import { dynamicTools } from './dynamic-tools';
23
12
  import { codeTool } from './code-tool';
24
13
  import docsSearchTool from './docs-search-tool';
25
14
  import { McpOptions } from './options';
15
+ import { HandlerFunction, McpTool } from './types';
26
16
 
27
17
  export { McpOptions } from './options';
28
- export { ClientType } from './compat';
29
- export { Filter } from './tools';
30
18
  export { ClientOptions } from 'scorecard-ai';
31
- export { endpoints } from './tools';
32
19
 
33
20
  export const newMcpServer = () =>
34
21
  new McpServer(
35
22
  {
36
23
  name: 'scorecard_ai_api',
37
- version: '2.5.0',
24
+ version: '3.0.0-beta.0',
38
25
  },
39
26
  { capabilities: { tools: {}, logging: {} } },
40
27
  );
@@ -52,25 +39,6 @@ export function initMcpServer(params: {
52
39
  mcpOptions?: McpOptions;
53
40
  }) {
54
41
  const server = params.server instanceof McpServer ? params.server.server : params.server;
55
- const mcpOptions = params.mcpOptions ?? {};
56
-
57
- let providedEndpoints: Endpoint[] | null = null;
58
- let endpointMap: Record<string, Endpoint> | null = null;
59
-
60
- const initTools = async (implementation?: Implementation) => {
61
- if (implementation && (!mcpOptions.client || mcpOptions.client === 'infer')) {
62
- mcpOptions.client =
63
- implementation.name.toLowerCase().includes('claude') ? 'claude'
64
- : implementation.name.toLowerCase().includes('cursor') ? 'cursor'
65
- : undefined;
66
- mcpOptions.capabilities = {
67
- ...(mcpOptions.client && knownClients[mcpOptions.client]),
68
- ...mcpOptions.capabilities,
69
- };
70
- }
71
- providedEndpoints ??= await selectTools(endpoints, mcpOptions);
72
- endpointMap ??= Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint]));
73
- };
74
42
 
75
43
  const logAtLevel =
76
44
  (level: 'debug' | 'info' | 'warning' | 'error') =>
@@ -97,26 +65,23 @@ export function initMcpServer(params: {
97
65
  },
98
66
  });
99
67
 
68
+ const providedTools = selectTools(params.mcpOptions);
69
+ const toolMap = Object.fromEntries(providedTools.map((mcpTool) => [mcpTool.tool.name, mcpTool]));
70
+
100
71
  server.setRequestHandler(ListToolsRequestSchema, async () => {
101
- if (providedEndpoints === null) {
102
- await initTools(server.getClientVersion());
103
- }
104
72
  return {
105
- tools: providedEndpoints!.map((endpoint) => endpoint.tool),
73
+ tools: providedTools.map((mcpTool) => mcpTool.tool),
106
74
  };
107
75
  });
108
76
 
109
77
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
110
- if (endpointMap === null) {
111
- await initTools(server.getClientVersion());
112
- }
113
78
  const { name, arguments: args } = request.params;
114
- const endpoint = endpointMap![name];
115
- if (!endpoint) {
79
+ const mcpTool = toolMap[name];
80
+ if (!mcpTool) {
116
81
  throw new Error(`Unknown tool: ${name}`);
117
82
  }
118
83
 
119
- return executeHandler(endpoint.tool, endpoint.handler, client, args, mcpOptions.capabilities);
84
+ return executeHandler(mcpTool.handler, client, args);
120
85
  });
121
86
 
122
87
  server.setRequestHandler(SetLevelRequestSchema, async (request) => {
@@ -146,47 +111,22 @@ export function initMcpServer(params: {
146
111
  /**
147
112
  * Selects the tools to include in the MCP Server based on the provided options.
148
113
  */
149
- export async function selectTools(endpoints: Endpoint[], options?: McpOptions): Promise<Endpoint[]> {
150
- const filteredEndpoints = query(options?.filters ?? [], endpoints);
151
-
152
- let includedTools = filteredEndpoints.slice();
153
-
154
- if (includedTools.length > 0) {
155
- if (options?.includeDynamicTools) {
156
- includedTools = dynamicTools(includedTools);
157
- }
158
- } else {
159
- if (options?.includeAllTools) {
160
- includedTools = endpoints.slice();
161
- } else if (options?.includeDynamicTools) {
162
- includedTools = dynamicTools(endpoints);
163
- } else if (options?.includeCodeTools) {
164
- includedTools = [await codeTool()];
165
- } else {
166
- includedTools = endpoints.slice();
167
- }
168
- }
114
+ export function selectTools(options?: McpOptions): McpTool[] {
115
+ const includedTools = [codeTool()];
169
116
  if (options?.includeDocsTools ?? true) {
170
117
  includedTools.push(docsSearchTool);
171
118
  }
172
- const capabilities = { ...defaultClientCapabilities, ...options?.capabilities };
173
- return applyCompatibilityTransformations(includedTools, capabilities);
119
+ return includedTools;
174
120
  }
175
121
 
176
122
  /**
177
123
  * Runs the provided handler with the given client and arguments.
178
124
  */
179
125
  export async function executeHandler(
180
- tool: Tool,
181
126
  handler: HandlerFunction,
182
127
  client: Scorecard,
183
128
  args: Record<string, unknown> | undefined,
184
- compatibilityOptions?: Partial<ClientCapabilities>,
185
129
  ) {
186
- const options = { ...defaultClientCapabilities, ...compatibilityOptions };
187
- if (!options.validJson && args) {
188
- args = parseEmbeddedJSON(args, tool.inputSchema);
189
- }
190
130
  return await handler(client, args || {});
191
131
  }
192
132
 
package/src/stdio.ts CHANGED
@@ -1,11 +1,10 @@
1
1
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
2
2
  import { initMcpServer, newMcpServer } from './server';
3
- import { McpOptions } from './options';
4
3
 
5
- export const launchStdioServer = async (options: McpOptions) => {
4
+ export const launchStdioServer = async () => {
6
5
  const server = newMcpServer();
7
6
 
8
- initMcpServer({ server, mcpOptions: options });
7
+ initMcpServer({ server });
9
8
 
10
9
  const transport = new StdioServerTransport();
11
10
  await server.connect(transport);
@@ -108,7 +108,7 @@ export type Metadata = {
108
108
  operationId?: string;
109
109
  };
110
110
 
111
- export type Endpoint = {
111
+ export type McpTool = {
112
112
  metadata: Metadata;
113
113
  tool: Tool;
114
114
  handler: HandlerFunction;
package/stdio.d.mts CHANGED
@@ -1,3 +1,2 @@
1
- import { McpOptions } from "./options.mjs";
2
- export declare const launchStdioServer: (options: McpOptions) => Promise<void>;
1
+ export declare const launchStdioServer: () => Promise<void>;
3
2
  //# sourceMappingURL=stdio.d.mts.map
package/stdio.d.mts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.d.mts","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE;AAErB,eAAO,MAAM,iBAAiB,GAAU,SAAS,UAAU,kBAQ1D,CAAC"}
1
+ {"version":3,"file":"stdio.d.mts","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,qBAQ7B,CAAC"}
package/stdio.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- import { McpOptions } from "./options.js";
2
- export declare const launchStdioServer: (options: McpOptions) => Promise<void>;
1
+ export declare const launchStdioServer: () => Promise<void>;
3
2
  //# sourceMappingURL=stdio.d.ts.map
package/stdio.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE;AAErB,eAAO,MAAM,iBAAiB,GAAU,SAAS,UAAU,kBAQ1D,CAAC"}
1
+ {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,qBAQ7B,CAAC"}
package/stdio.js CHANGED
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.launchStdioServer = void 0;
4
4
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
5
5
  const server_1 = require("./server.js");
6
- const launchStdioServer = async (options) => {
6
+ const launchStdioServer = async () => {
7
7
  const server = (0, server_1.newMcpServer)();
8
- (0, server_1.initMcpServer)({ server, mcpOptions: options });
8
+ (0, server_1.initMcpServer)({ server });
9
9
  const transport = new stdio_js_1.StdioServerTransport();
10
10
  await server.connect(transport);
11
11
  console.error('MCP Server running on stdio');
package/stdio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.js","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":";;;AAAA,wEAAiF;AACjF,wCAAuD;AAGhD,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAmB,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAC;IAE9B,IAAA,sBAAa,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B"}
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":";;;AAAA,wEAAiF;AACjF,wCAAuD;AAEhD,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IAC1C,MAAM,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAC;IAE9B,IAAA,sBAAa,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE1B,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B"}
package/stdio.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
2
2
  import { initMcpServer, newMcpServer } from "./server.mjs";
3
- export const launchStdioServer = async (options) => {
3
+ export const launchStdioServer = async () => {
4
4
  const server = newMcpServer();
5
- initMcpServer({ server, mcpOptions: options });
5
+ initMcpServer({ server });
6
6
  const transport = new StdioServerTransport();
7
7
  await server.connect(transport);
8
8
  console.error('MCP Server running on stdio');
package/stdio.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.mjs","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C;OACzE,EAAE,aAAa,EAAE,YAAY,EAAE;AAGtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAmB,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC,CAAC"}
1
+ {"version":3,"file":"stdio.mjs","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C;OACzE,EAAE,aAAa,EAAE,YAAY,EAAE;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IAC1C,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE1B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC,CAAC"}
@@ -43,7 +43,7 @@ export type Metadata = {
43
43
  httpPath?: string;
44
44
  operationId?: string;
45
45
  };
46
- export type Endpoint = {
46
+ export type McpTool = {
47
47
  metadata: Metadata;
48
48
  tool: Tool;
49
49
  handler: HandlerFunction;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":"OAEO,SAAS,MAAM,cAAc;OAC7B,EAAE,IAAI,EAAE,MAAM,oCAAoC;AAEzD,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EACJ;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,GACD;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAE3G,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAC5B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KACtC,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CASnE;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CA2BvF;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAU7D;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC"}
@@ -43,7 +43,7 @@ export type Metadata = {
43
43
  httpPath?: string;
44
44
  operationId?: string;
45
45
  };
46
- export type Endpoint = {
46
+ export type McpTool = {
47
47
  metadata: Metadata;
48
48
  tool: Tool;
49
49
  handler: HandlerFunction;
package/types.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":"OAEO,SAAS,MAAM,cAAc;OAC7B,EAAE,IAAI,EAAE,MAAM,oCAAoC;AAEzD,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EACJ;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,GACD;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAE3G,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAC5B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KACtC,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CASnE;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CA2BvF;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAU7D;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC"}
package/types.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":";AAAA,sFAAsF;;AAiDtF,kDASC;AAED,sDA2BC;AAED,sCAUC;AAlDD,SAAgB,mBAAmB,CAAC,MAAe;IACjD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,QAAkB;IAC5D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC7C,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC7C,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE;wBACR,uEAAuE;wBACvE,GAAG,EAAE,0BAA0B;wBAC/B,QAAQ;wBACR,IAAI,EAAE,IAAI;qBACX;iBACF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
package/types.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAiDtF,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAkB;IAC5D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC7C,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC7C,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE;wBACR,uEAAuE;wBACvE,GAAG,EAAE,0BAA0B;wBAC/B,QAAQ;wBACR,IAAI,EAAE,IAAI;qBACX;iBACF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.workerPath = void 0;
5
- exports.workerPath = require.resolve('./code-tool-worker.mjs');
6
- //# sourceMappingURL=code-tool-paths.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-tool-paths.cjs","sourceRoot":"","sources":["src/code-tool-paths.cts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEzE,QAAA,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const workerPath: string;
2
- //# sourceMappingURL=code-tool-paths.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-tool-paths.d.cts","sourceRoot":"","sources":["src/code-tool-paths.cts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,QAA4C,CAAC"}
@@ -1,5 +0,0 @@
1
- declare const _default: {
2
- fetch: (req: Request) => Promise<Response>;
3
- };
4
- export default _default;
5
- //# sourceMappingURL=code-tool-worker.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-tool-worker.d.mts","sourceRoot":"","sources":["src/code-tool-worker.ts"],"names":[],"mappings":";iBAwK0B,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC;;AAwDrD,wBAAyB"}
@@ -1,5 +0,0 @@
1
- declare const _default: {
2
- fetch: (req: Request) => Promise<Response>;
3
- };
4
- export default _default;
5
- //# sourceMappingURL=code-tool-worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-tool-worker.d.ts","sourceRoot":"","sources":["src/code-tool-worker.ts"],"names":[],"mappings":";iBAwK0B,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC;;AAwDrD,wBAAyB"}
@@ -1,179 +0,0 @@
1
- "use strict";
2
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const node_util_1 = __importDefault(require("node:util"));
8
- const fuse_js_1 = __importDefault(require("fuse.js"));
9
- const typescript_1 = __importDefault(require("typescript"));
10
- const scorecard_ai_1 = require("scorecard-ai");
11
- function getRunFunctionNode(code) {
12
- const sourceFile = typescript_1.default.createSourceFile('code.ts', code, typescript_1.default.ScriptTarget.Latest, true);
13
- for (const statement of sourceFile.statements) {
14
- // Check for top-level function declarations
15
- if (typescript_1.default.isFunctionDeclaration(statement)) {
16
- if (statement.name?.text === 'run') {
17
- return statement;
18
- }
19
- }
20
- // Check for variable declarations: const run = () => {} or const run = function() {}
21
- if (typescript_1.default.isVariableStatement(statement)) {
22
- for (const declaration of statement.declarationList.declarations) {
23
- if (typescript_1.default.isIdentifier(declaration.name) && declaration.name.text === 'run') {
24
- // Check if it's initialized with a function
25
- if (declaration.initializer &&
26
- (typescript_1.default.isFunctionExpression(declaration.initializer) || typescript_1.default.isArrowFunction(declaration.initializer))) {
27
- return declaration.initializer;
28
- }
29
- }
30
- }
31
- }
32
- }
33
- return null;
34
- }
35
- const fuse = new fuse_js_1.default([
36
- 'client.projects.create',
37
- 'client.projects.list',
38
- 'client.testsets.create',
39
- 'client.testsets.delete',
40
- 'client.testsets.get',
41
- 'client.testsets.list',
42
- 'client.testsets.update',
43
- 'client.testcases.create',
44
- 'client.testcases.delete',
45
- 'client.testcases.get',
46
- 'client.testcases.list',
47
- 'client.testcases.update',
48
- 'client.runs.create',
49
- 'client.runs.get',
50
- 'client.runs.list',
51
- 'client.metrics.create',
52
- 'client.metrics.delete',
53
- 'client.metrics.get',
54
- 'client.metrics.list',
55
- 'client.metrics.update',
56
- 'client.records.create',
57
- 'client.records.delete',
58
- 'client.records.list',
59
- 'client.scores.upsert',
60
- 'client.systems.delete',
61
- 'client.systems.get',
62
- 'client.systems.list',
63
- 'client.systems.update',
64
- 'client.systems.upsert',
65
- 'client.systems.versions.get',
66
- 'client.systems.versions.upsert',
67
- ], { threshold: 1, shouldSort: true });
68
- function getMethodSuggestions(fullyQualifiedMethodName) {
69
- return fuse
70
- .search(fullyQualifiedMethodName)
71
- .map(({ item }) => item)
72
- .slice(0, 5);
73
- }
74
- const proxyToObj = new WeakMap();
75
- const objToProxy = new WeakMap();
76
- function makeSdkProxy(obj, { path, isBelievedBad = false }) {
77
- let proxy = objToProxy.get(obj);
78
- if (!proxy) {
79
- proxy = new Proxy(obj, {
80
- get(target, prop, receiver) {
81
- const propPath = [...path, String(prop)];
82
- const value = Reflect.get(target, prop, receiver);
83
- if (isBelievedBad || (!(prop in target) && value === undefined)) {
84
- // If we're accessing a path that doesn't exist, it will probably eventually error.
85
- // Let's proxy it and mark it bad so that we can control the error message.
86
- // We proxy an empty class so that an invocation or construction attempt is possible.
87
- return makeSdkProxy(class {
88
- }, { path: propPath, isBelievedBad: true });
89
- }
90
- if (value !== null && (typeof value === 'object' || typeof value === 'function')) {
91
- return makeSdkProxy(value, { path: propPath, isBelievedBad });
92
- }
93
- return value;
94
- },
95
- apply(target, thisArg, args) {
96
- if (isBelievedBad || typeof target !== 'function') {
97
- const fullyQualifiedMethodName = path.join('.');
98
- const suggestions = getMethodSuggestions(fullyQualifiedMethodName);
99
- throw new Error(`${fullyQualifiedMethodName} is not a function. Did you mean: ${suggestions.join(', ')}`);
100
- }
101
- return Reflect.apply(target, proxyToObj.get(thisArg) ?? thisArg, args);
102
- },
103
- construct(target, args, newTarget) {
104
- if (isBelievedBad || typeof target !== 'function') {
105
- const fullyQualifiedMethodName = path.join('.');
106
- const suggestions = getMethodSuggestions(fullyQualifiedMethodName);
107
- throw new Error(`${fullyQualifiedMethodName} is not a constructor. Did you mean: ${suggestions.join(', ')}`);
108
- }
109
- return Reflect.construct(target, args, newTarget);
110
- },
111
- });
112
- objToProxy.set(obj, proxy);
113
- proxyToObj.set(proxy, obj);
114
- }
115
- return proxy;
116
- }
117
- function parseError(code, error) {
118
- if (!(error instanceof Error))
119
- return;
120
- const message = error.name ? `${error.name}: ${error.message}` : error.message;
121
- try {
122
- // Deno uses V8; the first "<anonymous>:LINE:COLUMN" is the top of stack.
123
- const lineNumber = error.stack?.match(/<anonymous>:([0-9]+):[0-9]+/)?.[1];
124
- // -1 for the zero-based indexing
125
- const line = lineNumber &&
126
- code
127
- .split('\n')
128
- .at(parseInt(lineNumber, 10) - 1)
129
- ?.trim();
130
- return line ? `${message}\n at line ${lineNumber}\n ${line}` : message;
131
- }
132
- catch {
133
- return message;
134
- }
135
- }
136
- const fetch = async (req) => {
137
- const { opts, code } = (await req.json());
138
- if (code == null) {
139
- return Response.json({
140
- message: 'The code param is missing. Provide one containing a top-level `run` function. Write code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```',
141
- }, { status: 400, statusText: 'Code execution error' });
142
- }
143
- const runFunctionNode = getRunFunctionNode(code);
144
- if (!runFunctionNode) {
145
- return Response.json({
146
- message: 'The code is missing a top-level `run` function. Write code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```',
147
- }, { status: 400, statusText: 'Code execution error' });
148
- }
149
- const client = new scorecard_ai_1.Scorecard({
150
- ...opts,
151
- });
152
- const logLines = [];
153
- const errLines = [];
154
- const console = {
155
- log: (...args) => {
156
- logLines.push(node_util_1.default.format(...args));
157
- },
158
- error: (...args) => {
159
- errLines.push(node_util_1.default.format(...args));
160
- },
161
- };
162
- try {
163
- let run_ = async (client) => { };
164
- eval(`${code}\nrun_ = run;`);
165
- const result = await run_(makeSdkProxy(client, { path: ['client'] }));
166
- return Response.json({
167
- result,
168
- logLines,
169
- errLines,
170
- });
171
- }
172
- catch (e) {
173
- return Response.json({
174
- message: parseError(code, e),
175
- }, { status: 400, statusText: 'Code execution error' });
176
- }
177
- };
178
- exports.default = { fetch };
179
- //# sourceMappingURL=code-tool-worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-tool-worker.js","sourceRoot":"","sources":["src/code-tool-worker.ts"],"names":[],"mappings":"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"}