scorecard-ai-mcp 1.0.0-alpha.4

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 (274) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +228 -0
  3. package/compat.d.mts +53 -0
  4. package/compat.d.mts.map +1 -0
  5. package/compat.d.ts +53 -0
  6. package/compat.d.ts.map +1 -0
  7. package/compat.js +351 -0
  8. package/compat.js.map +1 -0
  9. package/compat.mjs +338 -0
  10. package/compat.mjs.map +1 -0
  11. package/compat.test.d.mts +2 -0
  12. package/compat.test.d.mts.map +1 -0
  13. package/compat.test.d.ts +2 -0
  14. package/compat.test.d.ts.map +1 -0
  15. package/compat.test.js +950 -0
  16. package/compat.test.js.map +1 -0
  17. package/compat.test.mjs +948 -0
  18. package/compat.test.mjs.map +1 -0
  19. package/index.d.mts +2 -0
  20. package/index.d.mts.map +1 -0
  21. package/index.d.ts +2 -0
  22. package/index.d.ts.map +1 -0
  23. package/index.js +89 -0
  24. package/index.js.map +1 -0
  25. package/index.mjs +86 -0
  26. package/index.mjs.map +1 -0
  27. package/options.d.mts +9 -0
  28. package/options.d.mts.map +1 -0
  29. package/options.d.ts +9 -0
  30. package/options.d.ts.map +1 -0
  31. package/options.js +321 -0
  32. package/options.js.map +1 -0
  33. package/options.mjs +314 -0
  34. package/options.mjs.map +1 -0
  35. package/options.test.d.mts +2 -0
  36. package/options.test.d.mts.map +1 -0
  37. package/options.test.d.ts +2 -0
  38. package/options.test.d.ts.map +1 -0
  39. package/options.test.js +154 -0
  40. package/options.test.js.map +1 -0
  41. package/options.test.mjs +152 -0
  42. package/options.test.mjs.map +1 -0
  43. package/package.json +129 -0
  44. package/server.d.mts +33 -0
  45. package/server.d.mts.map +1 -0
  46. package/server.d.ts +33 -0
  47. package/server.d.ts.map +1 -0
  48. package/server.js +85 -0
  49. package/server.js.map +1 -0
  50. package/server.mjs +74 -0
  51. package/server.mjs.map +1 -0
  52. package/src/compat.test.ts +1068 -0
  53. package/src/compat.ts +437 -0
  54. package/src/index.ts +106 -0
  55. package/src/options.test.ts +193 -0
  56. package/src/options.ts +339 -0
  57. package/src/server.ts +98 -0
  58. package/src/tools/index.ts +129 -0
  59. package/src/tools/projects/list-projects.ts +39 -0
  60. package/src/tools/records/create-records.ts +47 -0
  61. package/src/tools/runs/create-runs.ts +46 -0
  62. package/src/tools/runs/update-runs.ts +44 -0
  63. package/src/tools/system-configs/create-system-configs.ts +59 -0
  64. package/src/tools/system-configs/get-system-configs.ts +34 -0
  65. package/src/tools/system-configs/list-system-configs.ts +42 -0
  66. package/src/tools/systems/create-systems.ts +52 -0
  67. package/src/tools/systems/delete-systems.ts +31 -0
  68. package/src/tools/systems/get-systems.ts +31 -0
  69. package/src/tools/systems/list-systems.ts +41 -0
  70. package/src/tools/systems/update-systems.ts +52 -0
  71. package/src/tools/testcases/create-testcases.ts +47 -0
  72. package/src/tools/testcases/delete-testcases.ts +35 -0
  73. package/src/tools/testcases/get-testcases.ts +31 -0
  74. package/src/tools/testcases/list-testcases.ts +41 -0
  75. package/src/tools/testcases/update-testcases.ts +35 -0
  76. package/src/tools/testsets/create-testsets.ts +73 -0
  77. package/src/tools/testsets/delete-testsets.ts +31 -0
  78. package/src/tools/testsets/get-testsets.ts +31 -0
  79. package/src/tools/testsets/list-testsets.ts +41 -0
  80. package/src/tools/testsets/update-testsets.ts +73 -0
  81. package/src/tools.ts +1 -0
  82. package/src/tsconfig.json +11 -0
  83. package/tools/index.d.mts +21 -0
  84. package/tools/index.d.mts.map +1 -0
  85. package/tools/index.d.ts +21 -0
  86. package/tools/index.d.ts.map +1 -0
  87. package/tools/index.js +99 -0
  88. package/tools/index.js.map +1 -0
  89. package/tools/index.mjs +92 -0
  90. package/tools/index.mjs.map +1 -0
  91. package/tools/projects/list-projects.d.mts +24 -0
  92. package/tools/projects/list-projects.d.mts.map +1 -0
  93. package/tools/projects/list-projects.d.ts +24 -0
  94. package/tools/projects/list-projects.d.ts.map +1 -0
  95. package/tools/projects/list-projects.js +33 -0
  96. package/tools/projects/list-projects.js.map +1 -0
  97. package/tools/projects/list-projects.mjs +29 -0
  98. package/tools/projects/list-projects.mjs.map +1 -0
  99. package/tools/records/create-records.d.mts +24 -0
  100. package/tools/records/create-records.d.mts.map +1 -0
  101. package/tools/records/create-records.d.ts +24 -0
  102. package/tools/records/create-records.d.ts.map +1 -0
  103. package/tools/records/create-records.js +44 -0
  104. package/tools/records/create-records.js.map +1 -0
  105. package/tools/records/create-records.mjs +40 -0
  106. package/tools/records/create-records.mjs.map +1 -0
  107. package/tools/runs/create-runs.d.mts +24 -0
  108. package/tools/runs/create-runs.d.mts.map +1 -0
  109. package/tools/runs/create-runs.d.ts +24 -0
  110. package/tools/runs/create-runs.d.ts.map +1 -0
  111. package/tools/runs/create-runs.js +43 -0
  112. package/tools/runs/create-runs.js.map +1 -0
  113. package/tools/runs/create-runs.mjs +39 -0
  114. package/tools/runs/create-runs.mjs.map +1 -0
  115. package/tools/runs/update-runs.d.mts +24 -0
  116. package/tools/runs/update-runs.d.mts.map +1 -0
  117. package/tools/runs/update-runs.d.ts +24 -0
  118. package/tools/runs/update-runs.d.ts.map +1 -0
  119. package/tools/runs/update-runs.js +41 -0
  120. package/tools/runs/update-runs.js.map +1 -0
  121. package/tools/runs/update-runs.mjs +37 -0
  122. package/tools/runs/update-runs.mjs.map +1 -0
  123. package/tools/system-configs/create-system-configs.d.mts +24 -0
  124. package/tools/system-configs/create-system-configs.d.mts.map +1 -0
  125. package/tools/system-configs/create-system-configs.d.ts +24 -0
  126. package/tools/system-configs/create-system-configs.d.ts.map +1 -0
  127. package/tools/system-configs/create-system-configs.js +54 -0
  128. package/tools/system-configs/create-system-configs.js.map +1 -0
  129. package/tools/system-configs/create-system-configs.mjs +50 -0
  130. package/tools/system-configs/create-system-configs.mjs.map +1 -0
  131. package/tools/system-configs/get-system-configs.d.mts +24 -0
  132. package/tools/system-configs/get-system-configs.d.mts.map +1 -0
  133. package/tools/system-configs/get-system-configs.d.ts +24 -0
  134. package/tools/system-configs/get-system-configs.d.ts.map +1 -0
  135. package/tools/system-configs/get-system-configs.js +31 -0
  136. package/tools/system-configs/get-system-configs.js.map +1 -0
  137. package/tools/system-configs/get-system-configs.mjs +27 -0
  138. package/tools/system-configs/get-system-configs.mjs.map +1 -0
  139. package/tools/system-configs/list-system-configs.d.mts +24 -0
  140. package/tools/system-configs/list-system-configs.d.mts.map +1 -0
  141. package/tools/system-configs/list-system-configs.d.ts +24 -0
  142. package/tools/system-configs/list-system-configs.d.ts.map +1 -0
  143. package/tools/system-configs/list-system-configs.js +36 -0
  144. package/tools/system-configs/list-system-configs.js.map +1 -0
  145. package/tools/system-configs/list-system-configs.mjs +32 -0
  146. package/tools/system-configs/list-system-configs.mjs.map +1 -0
  147. package/tools/systems/create-systems.d.mts +24 -0
  148. package/tools/systems/create-systems.d.mts.map +1 -0
  149. package/tools/systems/create-systems.d.ts +24 -0
  150. package/tools/systems/create-systems.d.ts.map +1 -0
  151. package/tools/systems/create-systems.js +48 -0
  152. package/tools/systems/create-systems.js.map +1 -0
  153. package/tools/systems/create-systems.mjs +44 -0
  154. package/tools/systems/create-systems.mjs.map +1 -0
  155. package/tools/systems/delete-systems.d.mts +24 -0
  156. package/tools/systems/delete-systems.d.mts.map +1 -0
  157. package/tools/systems/delete-systems.d.ts +24 -0
  158. package/tools/systems/delete-systems.d.ts.map +1 -0
  159. package/tools/systems/delete-systems.js +28 -0
  160. package/tools/systems/delete-systems.js.map +1 -0
  161. package/tools/systems/delete-systems.mjs +24 -0
  162. package/tools/systems/delete-systems.mjs.map +1 -0
  163. package/tools/systems/get-systems.d.mts +24 -0
  164. package/tools/systems/get-systems.d.mts.map +1 -0
  165. package/tools/systems/get-systems.d.ts +24 -0
  166. package/tools/systems/get-systems.d.ts.map +1 -0
  167. package/tools/systems/get-systems.js +28 -0
  168. package/tools/systems/get-systems.js.map +1 -0
  169. package/tools/systems/get-systems.mjs +24 -0
  170. package/tools/systems/get-systems.mjs.map +1 -0
  171. package/tools/systems/list-systems.d.mts +24 -0
  172. package/tools/systems/list-systems.d.mts.map +1 -0
  173. package/tools/systems/list-systems.d.ts +24 -0
  174. package/tools/systems/list-systems.d.ts.map +1 -0
  175. package/tools/systems/list-systems.js +36 -0
  176. package/tools/systems/list-systems.js.map +1 -0
  177. package/tools/systems/list-systems.mjs +32 -0
  178. package/tools/systems/list-systems.mjs.map +1 -0
  179. package/tools/systems/update-systems.d.mts +24 -0
  180. package/tools/systems/update-systems.d.mts.map +1 -0
  181. package/tools/systems/update-systems.d.ts +24 -0
  182. package/tools/systems/update-systems.d.ts.map +1 -0
  183. package/tools/systems/update-systems.js +48 -0
  184. package/tools/systems/update-systems.js.map +1 -0
  185. package/tools/systems/update-systems.mjs +44 -0
  186. package/tools/systems/update-systems.mjs.map +1 -0
  187. package/tools/testcases/create-testcases.d.mts +24 -0
  188. package/tools/testcases/create-testcases.d.mts.map +1 -0
  189. package/tools/testcases/create-testcases.d.ts +24 -0
  190. package/tools/testcases/create-testcases.d.ts.map +1 -0
  191. package/tools/testcases/create-testcases.js +43 -0
  192. package/tools/testcases/create-testcases.js.map +1 -0
  193. package/tools/testcases/create-testcases.mjs +39 -0
  194. package/tools/testcases/create-testcases.mjs.map +1 -0
  195. package/tools/testcases/delete-testcases.d.mts +24 -0
  196. package/tools/testcases/delete-testcases.d.mts.map +1 -0
  197. package/tools/testcases/delete-testcases.d.ts +24 -0
  198. package/tools/testcases/delete-testcases.d.ts.map +1 -0
  199. package/tools/testcases/delete-testcases.js +32 -0
  200. package/tools/testcases/delete-testcases.js.map +1 -0
  201. package/tools/testcases/delete-testcases.mjs +28 -0
  202. package/tools/testcases/delete-testcases.mjs.map +1 -0
  203. package/tools/testcases/get-testcases.d.mts +24 -0
  204. package/tools/testcases/get-testcases.d.mts.map +1 -0
  205. package/tools/testcases/get-testcases.d.ts +24 -0
  206. package/tools/testcases/get-testcases.d.ts.map +1 -0
  207. package/tools/testcases/get-testcases.js +28 -0
  208. package/tools/testcases/get-testcases.js.map +1 -0
  209. package/tools/testcases/get-testcases.mjs +24 -0
  210. package/tools/testcases/get-testcases.mjs.map +1 -0
  211. package/tools/testcases/list-testcases.d.mts +24 -0
  212. package/tools/testcases/list-testcases.d.mts.map +1 -0
  213. package/tools/testcases/list-testcases.d.ts +24 -0
  214. package/tools/testcases/list-testcases.d.ts.map +1 -0
  215. package/tools/testcases/list-testcases.js +36 -0
  216. package/tools/testcases/list-testcases.js.map +1 -0
  217. package/tools/testcases/list-testcases.mjs +32 -0
  218. package/tools/testcases/list-testcases.mjs.map +1 -0
  219. package/tools/testcases/update-testcases.d.mts +24 -0
  220. package/tools/testcases/update-testcases.d.mts.map +1 -0
  221. package/tools/testcases/update-testcases.d.ts +24 -0
  222. package/tools/testcases/update-testcases.d.ts.map +1 -0
  223. package/tools/testcases/update-testcases.js +32 -0
  224. package/tools/testcases/update-testcases.js.map +1 -0
  225. package/tools/testcases/update-testcases.mjs +28 -0
  226. package/tools/testcases/update-testcases.mjs.map +1 -0
  227. package/tools/testsets/create-testsets.d.mts +24 -0
  228. package/tools/testsets/create-testsets.d.mts.map +1 -0
  229. package/tools/testsets/create-testsets.d.ts +24 -0
  230. package/tools/testsets/create-testsets.d.ts.map +1 -0
  231. package/tools/testsets/create-testsets.js +68 -0
  232. package/tools/testsets/create-testsets.js.map +1 -0
  233. package/tools/testsets/create-testsets.mjs +64 -0
  234. package/tools/testsets/create-testsets.mjs.map +1 -0
  235. package/tools/testsets/delete-testsets.d.mts +24 -0
  236. package/tools/testsets/delete-testsets.d.mts.map +1 -0
  237. package/tools/testsets/delete-testsets.d.ts +24 -0
  238. package/tools/testsets/delete-testsets.d.ts.map +1 -0
  239. package/tools/testsets/delete-testsets.js +28 -0
  240. package/tools/testsets/delete-testsets.js.map +1 -0
  241. package/tools/testsets/delete-testsets.mjs +24 -0
  242. package/tools/testsets/delete-testsets.mjs.map +1 -0
  243. package/tools/testsets/get-testsets.d.mts +24 -0
  244. package/tools/testsets/get-testsets.d.mts.map +1 -0
  245. package/tools/testsets/get-testsets.d.ts +24 -0
  246. package/tools/testsets/get-testsets.d.ts.map +1 -0
  247. package/tools/testsets/get-testsets.js +28 -0
  248. package/tools/testsets/get-testsets.js.map +1 -0
  249. package/tools/testsets/get-testsets.mjs +24 -0
  250. package/tools/testsets/get-testsets.mjs.map +1 -0
  251. package/tools/testsets/list-testsets.d.mts +24 -0
  252. package/tools/testsets/list-testsets.d.mts.map +1 -0
  253. package/tools/testsets/list-testsets.d.ts +24 -0
  254. package/tools/testsets/list-testsets.d.ts.map +1 -0
  255. package/tools/testsets/list-testsets.js +36 -0
  256. package/tools/testsets/list-testsets.js.map +1 -0
  257. package/tools/testsets/list-testsets.mjs +32 -0
  258. package/tools/testsets/list-testsets.mjs.map +1 -0
  259. package/tools/testsets/update-testsets.d.mts +24 -0
  260. package/tools/testsets/update-testsets.d.mts.map +1 -0
  261. package/tools/testsets/update-testsets.d.ts +24 -0
  262. package/tools/testsets/update-testsets.d.ts.map +1 -0
  263. package/tools/testsets/update-testsets.js +68 -0
  264. package/tools/testsets/update-testsets.js.map +1 -0
  265. package/tools/testsets/update-testsets.mjs +64 -0
  266. package/tools/testsets/update-testsets.mjs.map +1 -0
  267. package/tools.d.mts +2 -0
  268. package/tools.d.mts.map +1 -0
  269. package/tools.d.ts +2 -0
  270. package/tools.d.ts.map +1 -0
  271. package/tools.js +18 -0
  272. package/tools.js.map +1 -0
  273. package/tools.mjs +2 -0
  274. package/tools.mjs.map +1 -0
package/compat.mjs ADDED
@@ -0,0 +1,338 @@
1
+ import Ajv from 'ajv';
2
+ const ajv = new Ajv();
3
+ export const defaultClientCapabilities = {
4
+ topLevelUnions: true,
5
+ validJson: true,
6
+ refs: true,
7
+ unions: true,
8
+ formats: true,
9
+ toolNameLength: undefined,
10
+ };
11
+ /**
12
+ * Attempts to parse strings into JSON objects if initial schema
13
+ * validation fails.
14
+ */
15
+ export function parseEmbeddedJSON(args, schema) {
16
+ if (ajv.validate(schema, args)) {
17
+ return args;
18
+ }
19
+ let updated = false;
20
+ const newArgs = Object.assign({}, args);
21
+ for (const [key, value] of Object.entries(newArgs)) {
22
+ if (typeof value === 'string') {
23
+ try {
24
+ const parsed = JSON.parse(value);
25
+ newArgs[key] = parsed;
26
+ updated = true;
27
+ }
28
+ catch (e) {
29
+ // Not valid JSON, leave as is
30
+ }
31
+ }
32
+ }
33
+ if (updated) {
34
+ return newArgs;
35
+ }
36
+ return args;
37
+ }
38
+ /**
39
+ * Truncates tool names to the specified length while ensuring uniqueness.
40
+ * If truncation would cause duplicate names, appends a number to make them unique.
41
+ */
42
+ export function truncateToolNames(names, maxLength) {
43
+ if (maxLength <= 0) {
44
+ return new Map();
45
+ }
46
+ const renameMap = new Map();
47
+ const usedNames = new Set();
48
+ const toTruncate = names.filter((name) => name.length > maxLength);
49
+ if (toTruncate.length === 0) {
50
+ return renameMap;
51
+ }
52
+ const willCollide = new Set(toTruncate.map((name) => name.slice(0, maxLength - 1))).size < toTruncate.length;
53
+ if (!willCollide) {
54
+ for (const name of toTruncate) {
55
+ const truncatedName = name.slice(0, maxLength);
56
+ renameMap.set(name, truncatedName);
57
+ }
58
+ }
59
+ else {
60
+ const baseLength = maxLength - 1;
61
+ for (const name of toTruncate) {
62
+ const baseName = name.slice(0, baseLength);
63
+ let counter = 1;
64
+ while (usedNames.has(baseName + counter)) {
65
+ counter++;
66
+ }
67
+ const finalName = baseName + counter;
68
+ renameMap.set(name, finalName);
69
+ usedNames.add(finalName);
70
+ }
71
+ }
72
+ return renameMap;
73
+ }
74
+ /**
75
+ * Removes top-level unions from a tool by splitting it into multiple tools,
76
+ * one for each variant in the union.
77
+ */
78
+ export function removeTopLevelUnions(tool) {
79
+ const inputSchema = tool.inputSchema;
80
+ const variants = inputSchema.anyOf;
81
+ if (!variants || !Array.isArray(variants) || variants.length === 0) {
82
+ return [tool];
83
+ }
84
+ const defs = inputSchema.$defs || {};
85
+ return variants.map((variant, index) => {
86
+ const variantSchema = {
87
+ ...inputSchema,
88
+ ...variant,
89
+ type: 'object',
90
+ properties: {
91
+ ...(inputSchema.properties || {}),
92
+ ...(variant.properties || {}),
93
+ },
94
+ };
95
+ delete variantSchema.anyOf;
96
+ if (!variantSchema['description']) {
97
+ variantSchema['description'] = tool.description;
98
+ }
99
+ const usedDefs = findUsedDefs(variant, defs);
100
+ if (Object.keys(usedDefs).length > 0) {
101
+ variantSchema.$defs = usedDefs;
102
+ }
103
+ else {
104
+ delete variantSchema.$defs;
105
+ }
106
+ return {
107
+ ...tool,
108
+ name: `${tool.name}_${toSnakeCase(variant['title'] || `variant${index + 1}`)}`,
109
+ description: variant['description'] || tool.description,
110
+ inputSchema: variantSchema,
111
+ };
112
+ });
113
+ }
114
+ function findUsedDefs(schema, defs) {
115
+ const usedDefs = {};
116
+ if (typeof schema !== 'object' || schema === null) {
117
+ return usedDefs;
118
+ }
119
+ if (schema.$ref) {
120
+ const refParts = schema.$ref.split('/');
121
+ if (refParts[0] === '#' && refParts[1] === '$defs' && refParts[2]) {
122
+ const defName = refParts[2];
123
+ const def = defs[defName];
124
+ if (def) {
125
+ usedDefs[defName] = def;
126
+ Object.assign(usedDefs, findUsedDefs(def, defs));
127
+ }
128
+ }
129
+ return usedDefs;
130
+ }
131
+ for (const key in schema) {
132
+ if (key !== '$defs' && typeof schema[key] === 'object' && schema[key] !== null) {
133
+ Object.assign(usedDefs, findUsedDefs(schema[key], defs));
134
+ }
135
+ }
136
+ return usedDefs;
137
+ }
138
+ /**
139
+ * Inlines all $refs in a schema, eliminating $defs.
140
+ * If a circular reference is detected, the circular property is removed.
141
+ */
142
+ export function inlineRefs(schema) {
143
+ if (!schema || typeof schema !== 'object') {
144
+ return schema;
145
+ }
146
+ const clonedSchema = { ...schema };
147
+ const defs = schema.$defs || {};
148
+ delete clonedSchema.$defs;
149
+ const result = inlineRefsRecursive(clonedSchema, defs, new Set());
150
+ // The top level can never be null
151
+ return result === null ? {} : result;
152
+ }
153
+ function inlineRefsRecursive(schema, defs, refPath) {
154
+ if (!schema || typeof schema !== 'object') {
155
+ return schema;
156
+ }
157
+ if (Array.isArray(schema)) {
158
+ return schema.map((item) => {
159
+ const processed = inlineRefsRecursive(item, defs, refPath);
160
+ return processed === null ? {} : processed;
161
+ });
162
+ }
163
+ const result = { ...schema };
164
+ if ('$ref' in result && typeof result.$ref === 'string') {
165
+ if (result.$ref.startsWith('#/$defs/')) {
166
+ const refName = result.$ref.split('/').pop();
167
+ const def = defs[refName];
168
+ // If we've already seen this ref in our path, we have a circular reference
169
+ if (refPath.has(result.$ref)) {
170
+ // For circular references, we completely remove the property
171
+ // by returning null. The parent will remove it.
172
+ return null;
173
+ }
174
+ if (def) {
175
+ const newRefPath = new Set(refPath);
176
+ newRefPath.add(result.$ref);
177
+ const inlinedDef = inlineRefsRecursive({ ...def }, defs, newRefPath);
178
+ if (inlinedDef === null) {
179
+ return { ...result };
180
+ }
181
+ // Merge the inlined definition with the original schema's properties
182
+ // but preserve things like description, etc.
183
+ const { $ref, ...rest } = result;
184
+ return { ...inlinedDef, ...rest };
185
+ }
186
+ }
187
+ // Keep external refs as-is
188
+ return result;
189
+ }
190
+ for (const key in result) {
191
+ if (result[key] && typeof result[key] === 'object') {
192
+ const processed = inlineRefsRecursive(result[key], defs, refPath);
193
+ if (processed === null) {
194
+ // Remove properties that would cause circular references
195
+ delete result[key];
196
+ }
197
+ else {
198
+ result[key] = processed;
199
+ }
200
+ }
201
+ }
202
+ return result;
203
+ }
204
+ /**
205
+ * Removes anyOf fields from a schema, using only the first variant.
206
+ */
207
+ export function removeAnyOf(schema) {
208
+ if (!schema || typeof schema !== 'object') {
209
+ return schema;
210
+ }
211
+ if (Array.isArray(schema)) {
212
+ return schema.map((item) => removeAnyOf(item));
213
+ }
214
+ const result = { ...schema };
215
+ if ('anyOf' in result && Array.isArray(result.anyOf) && result.anyOf.length > 0) {
216
+ const firstVariant = result.anyOf[0];
217
+ if (firstVariant && typeof firstVariant === 'object') {
218
+ // Special handling for properties to ensure deep merge
219
+ if (firstVariant.properties && result.properties) {
220
+ result.properties = {
221
+ ...result.properties,
222
+ ...firstVariant.properties,
223
+ };
224
+ }
225
+ else if (firstVariant.properties) {
226
+ result.properties = { ...firstVariant.properties };
227
+ }
228
+ for (const key in firstVariant) {
229
+ if (key !== 'properties') {
230
+ result[key] = firstVariant[key];
231
+ }
232
+ }
233
+ }
234
+ delete result.anyOf;
235
+ }
236
+ for (const key in result) {
237
+ if (result[key] && typeof result[key] === 'object') {
238
+ result[key] = removeAnyOf(result[key]);
239
+ }
240
+ }
241
+ return result;
242
+ }
243
+ /**
244
+ * Removes format fields from a schema and appends them to the description.
245
+ */
246
+ export function removeFormats(schema, formatsCapability) {
247
+ if (formatsCapability) {
248
+ return schema;
249
+ }
250
+ if (!schema || typeof schema !== 'object') {
251
+ return schema;
252
+ }
253
+ if (Array.isArray(schema)) {
254
+ return schema.map((item) => removeFormats(item, formatsCapability));
255
+ }
256
+ const result = { ...schema };
257
+ if ('format' in result && typeof result['format'] === 'string') {
258
+ const formatStr = `(format: "${result['format']}")`;
259
+ if ('description' in result && typeof result['description'] === 'string') {
260
+ result['description'] = `${result['description']} ${formatStr}`;
261
+ }
262
+ else {
263
+ result['description'] = formatStr;
264
+ }
265
+ delete result['format'];
266
+ }
267
+ for (const key in result) {
268
+ if (result[key] && typeof result[key] === 'object') {
269
+ result[key] = removeFormats(result[key], formatsCapability);
270
+ }
271
+ }
272
+ return result;
273
+ }
274
+ /**
275
+ * Applies all compatibility transformations to the endpoints based on the provided capabilities.
276
+ */
277
+ export function applyCompatibilityTransformations(endpoints, capabilities) {
278
+ let transformedEndpoints = [...endpoints];
279
+ // Handle top-level unions first as this changes tool names
280
+ if (!capabilities.topLevelUnions) {
281
+ const newEndpoints = [];
282
+ for (const endpoint of transformedEndpoints) {
283
+ const variantTools = removeTopLevelUnions(endpoint.tool);
284
+ if (variantTools.length === 1) {
285
+ newEndpoints.push(endpoint);
286
+ }
287
+ else {
288
+ for (const variantTool of variantTools) {
289
+ newEndpoints.push({
290
+ ...endpoint,
291
+ tool: variantTool,
292
+ });
293
+ }
294
+ }
295
+ }
296
+ transformedEndpoints = newEndpoints;
297
+ }
298
+ if (capabilities.toolNameLength) {
299
+ const toolNames = transformedEndpoints.map((endpoint) => endpoint.tool.name);
300
+ const renameMap = truncateToolNames(toolNames, capabilities.toolNameLength);
301
+ transformedEndpoints = transformedEndpoints.map((endpoint) => ({
302
+ ...endpoint,
303
+ tool: {
304
+ ...endpoint.tool,
305
+ name: renameMap.get(endpoint.tool.name) ?? endpoint.tool.name,
306
+ },
307
+ }));
308
+ }
309
+ if (!capabilities.refs || !capabilities.unions || !capabilities.formats) {
310
+ transformedEndpoints = transformedEndpoints.map((endpoint) => {
311
+ let schema = endpoint.tool.inputSchema;
312
+ if (!capabilities.refs) {
313
+ schema = inlineRefs(schema);
314
+ }
315
+ if (!capabilities.unions) {
316
+ schema = removeAnyOf(schema);
317
+ }
318
+ if (!capabilities.formats) {
319
+ schema = removeFormats(schema, capabilities.formats);
320
+ }
321
+ return {
322
+ ...endpoint,
323
+ tool: {
324
+ ...endpoint.tool,
325
+ inputSchema: schema,
326
+ },
327
+ };
328
+ });
329
+ }
330
+ return transformedEndpoints;
331
+ }
332
+ function toSnakeCase(str) {
333
+ return str
334
+ .replace(/\s+/g, '_')
335
+ .replace(/([a-z])([A-Z])/g, '$1_$2')
336
+ .toLowerCase();
337
+ }
338
+ //# sourceMappingURL=compat.mjs.map
package/compat.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.mjs","sourceRoot":"","sources":["src/compat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compat.test.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.test.d.mts","sourceRoot":"","sources":["src/compat.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compat.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.test.d.ts","sourceRoot":"","sources":["src/compat.test.ts"],"names":[],"mappings":""}