@codeqr/ts-mcp 0.9.0 → 0.24.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 (488) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +16 -218
  3. package/auth.d.mts +6 -0
  4. package/auth.d.mts.map +1 -0
  5. package/auth.d.ts +6 -0
  6. package/auth.d.ts.map +1 -0
  7. package/auth.js +37 -0
  8. package/auth.js.map +1 -0
  9. package/{headers.mjs → auth.mjs} +16 -2
  10. package/auth.mjs.map +1 -0
  11. package/code-tool-paths.cjs +8 -0
  12. package/code-tool-paths.cjs.map +1 -0
  13. package/code-tool-paths.d.cts +2 -0
  14. package/code-tool-paths.d.cts.map +1 -0
  15. package/code-tool-types.d.mts +7 -9
  16. package/code-tool-types.d.mts.map +1 -1
  17. package/code-tool-types.d.ts +7 -9
  18. package/code-tool-types.d.ts.map +1 -1
  19. package/code-tool-worker.d.mts +5 -0
  20. package/code-tool-worker.d.mts.map +1 -0
  21. package/code-tool-worker.d.ts +5 -0
  22. package/code-tool-worker.d.ts.map +1 -0
  23. package/code-tool-worker.js +291 -0
  24. package/code-tool-worker.js.map +1 -0
  25. package/code-tool-worker.mjs +253 -0
  26. package/code-tool-worker.mjs.map +1 -0
  27. package/code-tool.d.mts +12 -45
  28. package/code-tool.d.mts.map +1 -1
  29. package/code-tool.d.ts +12 -45
  30. package/code-tool.d.ts.map +1 -1
  31. package/code-tool.js +264 -27
  32. package/code-tool.js.map +1 -1
  33. package/code-tool.mjs +231 -27
  34. package/code-tool.mjs.map +1 -1
  35. package/docs-search-tool.d.mts +12 -3
  36. package/docs-search-tool.d.mts.map +1 -1
  37. package/docs-search-tool.d.ts +12 -3
  38. package/docs-search-tool.d.ts.map +1 -1
  39. package/docs-search-tool.js +23 -10
  40. package/docs-search-tool.js.map +1 -1
  41. package/docs-search-tool.mjs +22 -10
  42. package/docs-search-tool.mjs.map +1 -1
  43. package/http.d.mts +6 -3
  44. package/http.d.mts.map +1 -1
  45. package/http.d.ts +6 -3
  46. package/http.d.ts.map +1 -1
  47. package/http.js +130 -48
  48. package/http.js.map +1 -1
  49. package/http.mjs +130 -48
  50. package/http.mjs.map +1 -1
  51. package/index.js +19 -50
  52. package/index.js.map +1 -1
  53. package/index.mjs +19 -50
  54. package/index.mjs.map +1 -1
  55. package/instructions.d.mts +5 -0
  56. package/instructions.d.mts.map +1 -0
  57. package/instructions.d.ts +5 -0
  58. package/instructions.d.ts.map +1 -0
  59. package/instructions.js +45 -0
  60. package/instructions.js.map +1 -0
  61. package/instructions.mjs +39 -0
  62. package/instructions.mjs.map +1 -0
  63. package/local-docs-search.d.mts +28 -0
  64. package/local-docs-search.d.mts.map +1 -0
  65. package/local-docs-search.d.ts +28 -0
  66. package/local-docs-search.d.ts.map +1 -0
  67. package/local-docs-search.js +1259 -0
  68. package/local-docs-search.js.map +1 -0
  69. package/local-docs-search.mjs +1219 -0
  70. package/local-docs-search.mjs.map +1 -0
  71. package/logger.d.mts +7 -0
  72. package/logger.d.mts.map +1 -0
  73. package/logger.d.ts +7 -0
  74. package/logger.d.ts.map +1 -0
  75. package/logger.js +29 -0
  76. package/logger.js.map +1 -0
  77. package/logger.mjs +22 -0
  78. package/logger.mjs.map +1 -0
  79. package/methods.d.mts +10 -0
  80. package/methods.d.mts.map +1 -0
  81. package/methods.d.ts +10 -0
  82. package/methods.d.ts.map +1 -0
  83. package/methods.js +215 -0
  84. package/methods.js.map +1 -0
  85. package/methods.mjs +211 -0
  86. package/methods.mjs.map +1 -0
  87. package/options.d.mts +12 -9
  88. package/options.d.mts.map +1 -1
  89. package/options.d.ts +12 -9
  90. package/options.d.ts.map +1 -1
  91. package/options.js +67 -353
  92. package/options.js.map +1 -1
  93. package/options.mjs +67 -353
  94. package/options.mjs.map +1 -1
  95. package/package.json +94 -60
  96. package/server.d.mts +19 -16
  97. package/server.d.mts.map +1 -1
  98. package/server.d.ts +19 -16
  99. package/server.d.ts.map +1 -1
  100. package/server.js +95 -101
  101. package/server.js.map +1 -1
  102. package/server.mjs +94 -96
  103. package/server.mjs.map +1 -1
  104. package/src/{headers.ts → auth.ts} +18 -1
  105. package/src/code-tool-paths.cts +5 -0
  106. package/src/code-tool-types.ts +8 -9
  107. package/src/code-tool-worker.ts +304 -0
  108. package/src/code-tool.ts +292 -36
  109. package/src/docs-search-tool.ts +34 -14
  110. package/src/http.ts +154 -54
  111. package/src/index.ts +22 -63
  112. package/src/instructions.ts +57 -0
  113. package/src/local-docs-search.ts +1368 -0
  114. package/src/logger.ts +28 -0
  115. package/src/methods.ts +236 -0
  116. package/src/options.ts +90 -378
  117. package/src/server.ts +118 -117
  118. package/src/stdio.ts +9 -5
  119. package/src/{tools/types.ts → types.ts} +16 -5
  120. package/src/util.ts +25 -0
  121. package/stdio.d.mts +1 -1
  122. package/stdio.d.mts.map +1 -1
  123. package/stdio.d.ts +1 -1
  124. package/stdio.d.ts.map +1 -1
  125. package/stdio.js +8 -4
  126. package/stdio.js.map +1 -1
  127. package/stdio.mjs +8 -4
  128. package/stdio.mjs.map +1 -1
  129. package/{tools/types.d.mts → types.d.mts} +15 -2
  130. package/types.d.mts.map +1 -0
  131. package/{tools/types.d.ts → types.d.ts} +15 -2
  132. package/types.d.ts.map +1 -0
  133. package/types.js.map +1 -0
  134. package/types.mjs.map +1 -0
  135. package/util.d.mts +4 -0
  136. package/util.d.mts.map +1 -0
  137. package/util.d.ts +4 -0
  138. package/util.d.ts.map +1 -0
  139. package/util.js +30 -0
  140. package/util.js.map +1 -0
  141. package/util.mjs +24 -0
  142. package/util.mjs.map +1 -0
  143. package/compat.d.mts +0 -58
  144. package/compat.d.mts.map +0 -1
  145. package/compat.d.ts +0 -58
  146. package/compat.d.ts.map +0 -1
  147. package/compat.js +0 -387
  148. package/compat.js.map +0 -1
  149. package/compat.mjs +0 -378
  150. package/compat.mjs.map +0 -1
  151. package/dynamic-tools.d.mts +0 -12
  152. package/dynamic-tools.d.mts.map +0 -1
  153. package/dynamic-tools.d.ts +0 -12
  154. package/dynamic-tools.d.ts.map +0 -1
  155. package/dynamic-tools.js +0 -135
  156. package/dynamic-tools.js.map +0 -1
  157. package/dynamic-tools.mjs +0 -132
  158. package/dynamic-tools.mjs.map +0 -1
  159. package/filtering.d.mts +0 -3
  160. package/filtering.d.mts.map +0 -1
  161. package/filtering.d.ts +0 -3
  162. package/filtering.d.ts.map +0 -1
  163. package/filtering.js +0 -24
  164. package/filtering.js.map +0 -1
  165. package/filtering.mjs +0 -16
  166. package/filtering.mjs.map +0 -1
  167. package/headers.d.mts +0 -4
  168. package/headers.d.mts.map +0 -1
  169. package/headers.d.ts +0 -4
  170. package/headers.d.ts.map +0 -1
  171. package/headers.js +0 -22
  172. package/headers.js.map +0 -1
  173. package/headers.mjs.map +0 -1
  174. package/src/compat.ts +0 -483
  175. package/src/dynamic-tools.ts +0 -153
  176. package/src/filtering.ts +0 -18
  177. package/src/tools/analytics/retrieve-analytics.ts +0 -441
  178. package/src/tools/domains/create-domains.ts +0 -75
  179. package/src/tools/domains/delete-domains.ts +0 -55
  180. package/src/tools/domains/list-domains.ts +0 -68
  181. package/src/tools/domains/update-domains.ts +0 -79
  182. package/src/tools/events/list-events.ts +0 -421
  183. package/src/tools/index.ts +0 -133
  184. package/src/tools/links/bulk/create-links-bulk.ts +0 -966
  185. package/src/tools/links/bulk/delete-links-bulk.ts +0 -59
  186. package/src/tools/links/count-links.ts +0 -957
  187. package/src/tools/links/create-links.ts +0 -957
  188. package/src/tools/links/delete-links.ts +0 -56
  189. package/src/tools/links/list-links.ts +0 -980
  190. package/src/tools/links/retrieve-info-links.ts +0 -75
  191. package/src/tools/links/update-links.ts +0 -964
  192. package/src/tools/links/upsert-links.ts +0 -958
  193. package/src/tools/projects/list-projects.ts +0 -51
  194. package/src/tools/projects/retrieve-projects.ts +0 -56
  195. package/src/tools/qrcodes/bulk/create-qrcodes-bulk.ts +0 -1077
  196. package/src/tools/qrcodes/bulk/delete-qrcodes-bulk.ts +0 -59
  197. package/src/tools/qrcodes/count-qrcodes.ts +0 -220
  198. package/src/tools/qrcodes/create-qrcodes.ts +0 -1067
  199. package/src/tools/qrcodes/delete-qrcodes.ts +0 -56
  200. package/src/tools/qrcodes/list-qrcodes.ts +0 -221
  201. package/src/tools/qrcodes/retrieve-qrcodes.ts +0 -67
  202. package/src/tools/qrcodes/update-qrcodes.ts +0 -1074
  203. package/src/tools/qrcodes/upsert-qrcodes.ts +0 -1068
  204. package/src/tools/tags/create-tags.ts +0 -59
  205. package/src/tools/tags/delete-tags.ts +0 -55
  206. package/src/tools/tags/list-tags.ts +0 -87
  207. package/src/tools/tags/update-tags.ts +0 -63
  208. package/src/tools/track/track-lead-track.ts +0 -93
  209. package/src/tools/track/track-sale-track.ts +0 -108
  210. package/src/tools.ts +0 -1
  211. package/tools/analytics/retrieve-analytics.d.mts +0 -51
  212. package/tools/analytics/retrieve-analytics.d.mts.map +0 -1
  213. package/tools/analytics/retrieve-analytics.d.ts +0 -51
  214. package/tools/analytics/retrieve-analytics.d.ts.map +0 -1
  215. package/tools/analytics/retrieve-analytics.js +0 -438
  216. package/tools/analytics/retrieve-analytics.js.map +0 -1
  217. package/tools/analytics/retrieve-analytics.mjs +0 -431
  218. package/tools/analytics/retrieve-analytics.mjs.map +0 -1
  219. package/tools/domains/create-domains.d.mts +0 -51
  220. package/tools/domains/create-domains.d.mts.map +0 -1
  221. package/tools/domains/create-domains.d.ts +0 -51
  222. package/tools/domains/create-domains.d.ts.map +0 -1
  223. package/tools/domains/create-domains.js +0 -74
  224. package/tools/domains/create-domains.js.map +0 -1
  225. package/tools/domains/create-domains.mjs +0 -67
  226. package/tools/domains/create-domains.mjs.map +0 -1
  227. package/tools/domains/delete-domains.d.mts +0 -51
  228. package/tools/domains/delete-domains.d.mts.map +0 -1
  229. package/tools/domains/delete-domains.d.ts +0 -51
  230. package/tools/domains/delete-domains.d.ts.map +0 -1
  231. package/tools/domains/delete-domains.js +0 -55
  232. package/tools/domains/delete-domains.js.map +0 -1
  233. package/tools/domains/delete-domains.mjs +0 -48
  234. package/tools/domains/delete-domains.mjs.map +0 -1
  235. package/tools/domains/list-domains.d.mts +0 -51
  236. package/tools/domains/list-domains.d.mts.map +0 -1
  237. package/tools/domains/list-domains.d.ts +0 -51
  238. package/tools/domains/list-domains.d.ts.map +0 -1
  239. package/tools/domains/list-domains.js +0 -67
  240. package/tools/domains/list-domains.js.map +0 -1
  241. package/tools/domains/list-domains.mjs +0 -60
  242. package/tools/domains/list-domains.mjs.map +0 -1
  243. package/tools/domains/update-domains.d.mts +0 -51
  244. package/tools/domains/update-domains.d.mts.map +0 -1
  245. package/tools/domains/update-domains.d.ts +0 -51
  246. package/tools/domains/update-domains.d.ts.map +0 -1
  247. package/tools/domains/update-domains.js +0 -78
  248. package/tools/domains/update-domains.js.map +0 -1
  249. package/tools/domains/update-domains.mjs +0 -71
  250. package/tools/domains/update-domains.mjs.map +0 -1
  251. package/tools/events/list-events.d.mts +0 -51
  252. package/tools/events/list-events.d.mts.map +0 -1
  253. package/tools/events/list-events.d.ts +0 -51
  254. package/tools/events/list-events.d.ts.map +0 -1
  255. package/tools/events/list-events.js +0 -418
  256. package/tools/events/list-events.js.map +0 -1
  257. package/tools/events/list-events.mjs +0 -411
  258. package/tools/events/list-events.mjs.map +0 -1
  259. package/tools/index.d.mts +0 -10
  260. package/tools/index.d.mts.map +0 -1
  261. package/tools/index.d.ts +0 -10
  262. package/tools/index.d.ts.map +0 -1
  263. package/tools/index.js +0 -117
  264. package/tools/index.js.map +0 -1
  265. package/tools/index.mjs +0 -110
  266. package/tools/index.mjs.map +0 -1
  267. package/tools/links/bulk/create-links-bulk.d.mts +0 -51
  268. package/tools/links/bulk/create-links-bulk.d.mts.map +0 -1
  269. package/tools/links/bulk/create-links-bulk.d.ts +0 -51
  270. package/tools/links/bulk/create-links-bulk.d.ts.map +0 -1
  271. package/tools/links/bulk/create-links-bulk.js +0 -956
  272. package/tools/links/bulk/create-links-bulk.js.map +0 -1
  273. package/tools/links/bulk/create-links-bulk.mjs +0 -949
  274. package/tools/links/bulk/create-links-bulk.mjs.map +0 -1
  275. package/tools/links/bulk/delete-links-bulk.d.mts +0 -51
  276. package/tools/links/bulk/delete-links-bulk.d.mts.map +0 -1
  277. package/tools/links/bulk/delete-links-bulk.d.ts +0 -51
  278. package/tools/links/bulk/delete-links-bulk.d.ts.map +0 -1
  279. package/tools/links/bulk/delete-links-bulk.js +0 -58
  280. package/tools/links/bulk/delete-links-bulk.js.map +0 -1
  281. package/tools/links/bulk/delete-links-bulk.mjs +0 -51
  282. package/tools/links/bulk/delete-links-bulk.mjs.map +0 -1
  283. package/tools/links/count-links.d.mts +0 -51
  284. package/tools/links/count-links.d.mts.map +0 -1
  285. package/tools/links/count-links.d.ts +0 -51
  286. package/tools/links/count-links.d.ts.map +0 -1
  287. package/tools/links/count-links.js +0 -951
  288. package/tools/links/count-links.js.map +0 -1
  289. package/tools/links/count-links.mjs +0 -944
  290. package/tools/links/count-links.mjs.map +0 -1
  291. package/tools/links/create-links.d.mts +0 -51
  292. package/tools/links/create-links.d.mts.map +0 -1
  293. package/tools/links/create-links.d.ts +0 -51
  294. package/tools/links/create-links.d.ts.map +0 -1
  295. package/tools/links/create-links.js +0 -947
  296. package/tools/links/create-links.js.map +0 -1
  297. package/tools/links/create-links.mjs +0 -940
  298. package/tools/links/create-links.mjs.map +0 -1
  299. package/tools/links/delete-links.d.mts +0 -51
  300. package/tools/links/delete-links.d.mts.map +0 -1
  301. package/tools/links/delete-links.d.ts +0 -51
  302. package/tools/links/delete-links.d.ts.map +0 -1
  303. package/tools/links/delete-links.js +0 -55
  304. package/tools/links/delete-links.js.map +0 -1
  305. package/tools/links/delete-links.mjs +0 -48
  306. package/tools/links/delete-links.mjs.map +0 -1
  307. package/tools/links/list-links.d.mts +0 -51
  308. package/tools/links/list-links.d.mts.map +0 -1
  309. package/tools/links/list-links.d.ts +0 -51
  310. package/tools/links/list-links.d.ts.map +0 -1
  311. package/tools/links/list-links.js +0 -973
  312. package/tools/links/list-links.js.map +0 -1
  313. package/tools/links/list-links.mjs +0 -966
  314. package/tools/links/list-links.mjs.map +0 -1
  315. package/tools/links/retrieve-info-links.d.mts +0 -51
  316. package/tools/links/retrieve-info-links.d.mts.map +0 -1
  317. package/tools/links/retrieve-info-links.d.ts +0 -51
  318. package/tools/links/retrieve-info-links.d.ts.map +0 -1
  319. package/tools/links/retrieve-info-links.js +0 -71
  320. package/tools/links/retrieve-info-links.js.map +0 -1
  321. package/tools/links/retrieve-info-links.mjs +0 -64
  322. package/tools/links/retrieve-info-links.mjs.map +0 -1
  323. package/tools/links/update-links.d.mts +0 -51
  324. package/tools/links/update-links.d.mts.map +0 -1
  325. package/tools/links/update-links.d.ts +0 -51
  326. package/tools/links/update-links.d.ts.map +0 -1
  327. package/tools/links/update-links.js +0 -953
  328. package/tools/links/update-links.js.map +0 -1
  329. package/tools/links/update-links.mjs +0 -946
  330. package/tools/links/update-links.mjs.map +0 -1
  331. package/tools/links/upsert-links.d.mts +0 -51
  332. package/tools/links/upsert-links.d.mts.map +0 -1
  333. package/tools/links/upsert-links.d.ts +0 -51
  334. package/tools/links/upsert-links.d.ts.map +0 -1
  335. package/tools/links/upsert-links.js +0 -947
  336. package/tools/links/upsert-links.js.map +0 -1
  337. package/tools/links/upsert-links.mjs +0 -940
  338. package/tools/links/upsert-links.mjs.map +0 -1
  339. package/tools/projects/list-projects.d.mts +0 -51
  340. package/tools/projects/list-projects.d.mts.map +0 -1
  341. package/tools/projects/list-projects.d.ts +0 -51
  342. package/tools/projects/list-projects.d.ts.map +0 -1
  343. package/tools/projects/list-projects.js +0 -51
  344. package/tools/projects/list-projects.js.map +0 -1
  345. package/tools/projects/list-projects.mjs +0 -44
  346. package/tools/projects/list-projects.mjs.map +0 -1
  347. package/tools/projects/retrieve-projects.d.mts +0 -51
  348. package/tools/projects/retrieve-projects.d.mts.map +0 -1
  349. package/tools/projects/retrieve-projects.d.ts +0 -51
  350. package/tools/projects/retrieve-projects.d.ts.map +0 -1
  351. package/tools/projects/retrieve-projects.js +0 -55
  352. package/tools/projects/retrieve-projects.js.map +0 -1
  353. package/tools/projects/retrieve-projects.mjs +0 -48
  354. package/tools/projects/retrieve-projects.mjs.map +0 -1
  355. package/tools/qrcodes/bulk/create-qrcodes-bulk.d.mts +0 -51
  356. package/tools/qrcodes/bulk/create-qrcodes-bulk.d.mts.map +0 -1
  357. package/tools/qrcodes/bulk/create-qrcodes-bulk.d.ts +0 -51
  358. package/tools/qrcodes/bulk/create-qrcodes-bulk.d.ts.map +0 -1
  359. package/tools/qrcodes/bulk/create-qrcodes-bulk.js +0 -1068
  360. package/tools/qrcodes/bulk/create-qrcodes-bulk.js.map +0 -1
  361. package/tools/qrcodes/bulk/create-qrcodes-bulk.mjs +0 -1061
  362. package/tools/qrcodes/bulk/create-qrcodes-bulk.mjs.map +0 -1
  363. package/tools/qrcodes/bulk/delete-qrcodes-bulk.d.mts +0 -51
  364. package/tools/qrcodes/bulk/delete-qrcodes-bulk.d.mts.map +0 -1
  365. package/tools/qrcodes/bulk/delete-qrcodes-bulk.d.ts +0 -51
  366. package/tools/qrcodes/bulk/delete-qrcodes-bulk.d.ts.map +0 -1
  367. package/tools/qrcodes/bulk/delete-qrcodes-bulk.js +0 -58
  368. package/tools/qrcodes/bulk/delete-qrcodes-bulk.js.map +0 -1
  369. package/tools/qrcodes/bulk/delete-qrcodes-bulk.mjs +0 -51
  370. package/tools/qrcodes/bulk/delete-qrcodes-bulk.mjs.map +0 -1
  371. package/tools/qrcodes/count-qrcodes.d.mts +0 -51
  372. package/tools/qrcodes/count-qrcodes.d.mts.map +0 -1
  373. package/tools/qrcodes/count-qrcodes.d.ts +0 -51
  374. package/tools/qrcodes/count-qrcodes.d.ts.map +0 -1
  375. package/tools/qrcodes/count-qrcodes.js +0 -215
  376. package/tools/qrcodes/count-qrcodes.js.map +0 -1
  377. package/tools/qrcodes/count-qrcodes.mjs +0 -208
  378. package/tools/qrcodes/count-qrcodes.mjs.map +0 -1
  379. package/tools/qrcodes/create-qrcodes.d.mts +0 -51
  380. package/tools/qrcodes/create-qrcodes.d.mts.map +0 -1
  381. package/tools/qrcodes/create-qrcodes.d.ts +0 -51
  382. package/tools/qrcodes/create-qrcodes.d.ts.map +0 -1
  383. package/tools/qrcodes/create-qrcodes.js +0 -1059
  384. package/tools/qrcodes/create-qrcodes.js.map +0 -1
  385. package/tools/qrcodes/create-qrcodes.mjs +0 -1052
  386. package/tools/qrcodes/create-qrcodes.mjs.map +0 -1
  387. package/tools/qrcodes/delete-qrcodes.d.mts +0 -51
  388. package/tools/qrcodes/delete-qrcodes.d.mts.map +0 -1
  389. package/tools/qrcodes/delete-qrcodes.d.ts +0 -51
  390. package/tools/qrcodes/delete-qrcodes.d.ts.map +0 -1
  391. package/tools/qrcodes/delete-qrcodes.js +0 -55
  392. package/tools/qrcodes/delete-qrcodes.js.map +0 -1
  393. package/tools/qrcodes/delete-qrcodes.mjs +0 -48
  394. package/tools/qrcodes/delete-qrcodes.mjs.map +0 -1
  395. package/tools/qrcodes/list-qrcodes.d.mts +0 -51
  396. package/tools/qrcodes/list-qrcodes.d.mts.map +0 -1
  397. package/tools/qrcodes/list-qrcodes.d.ts +0 -51
  398. package/tools/qrcodes/list-qrcodes.d.ts.map +0 -1
  399. package/tools/qrcodes/list-qrcodes.js +0 -217
  400. package/tools/qrcodes/list-qrcodes.js.map +0 -1
  401. package/tools/qrcodes/list-qrcodes.mjs +0 -210
  402. package/tools/qrcodes/list-qrcodes.mjs.map +0 -1
  403. package/tools/qrcodes/retrieve-qrcodes.d.mts +0 -51
  404. package/tools/qrcodes/retrieve-qrcodes.d.mts.map +0 -1
  405. package/tools/qrcodes/retrieve-qrcodes.d.ts +0 -51
  406. package/tools/qrcodes/retrieve-qrcodes.d.ts.map +0 -1
  407. package/tools/qrcodes/retrieve-qrcodes.js +0 -65
  408. package/tools/qrcodes/retrieve-qrcodes.js.map +0 -1
  409. package/tools/qrcodes/retrieve-qrcodes.mjs +0 -58
  410. package/tools/qrcodes/retrieve-qrcodes.mjs.map +0 -1
  411. package/tools/qrcodes/update-qrcodes.d.mts +0 -51
  412. package/tools/qrcodes/update-qrcodes.d.mts.map +0 -1
  413. package/tools/qrcodes/update-qrcodes.d.ts +0 -51
  414. package/tools/qrcodes/update-qrcodes.d.ts.map +0 -1
  415. package/tools/qrcodes/update-qrcodes.js +0 -1065
  416. package/tools/qrcodes/update-qrcodes.js.map +0 -1
  417. package/tools/qrcodes/update-qrcodes.mjs +0 -1058
  418. package/tools/qrcodes/update-qrcodes.mjs.map +0 -1
  419. package/tools/qrcodes/upsert-qrcodes.d.mts +0 -51
  420. package/tools/qrcodes/upsert-qrcodes.d.mts.map +0 -1
  421. package/tools/qrcodes/upsert-qrcodes.d.ts +0 -51
  422. package/tools/qrcodes/upsert-qrcodes.d.ts.map +0 -1
  423. package/tools/qrcodes/upsert-qrcodes.js +0 -1059
  424. package/tools/qrcodes/upsert-qrcodes.js.map +0 -1
  425. package/tools/qrcodes/upsert-qrcodes.mjs +0 -1052
  426. package/tools/qrcodes/upsert-qrcodes.mjs.map +0 -1
  427. package/tools/tags/create-tags.d.mts +0 -51
  428. package/tools/tags/create-tags.d.mts.map +0 -1
  429. package/tools/tags/create-tags.d.ts +0 -51
  430. package/tools/tags/create-tags.d.ts.map +0 -1
  431. package/tools/tags/create-tags.js +0 -58
  432. package/tools/tags/create-tags.js.map +0 -1
  433. package/tools/tags/create-tags.mjs +0 -51
  434. package/tools/tags/create-tags.mjs.map +0 -1
  435. package/tools/tags/delete-tags.d.mts +0 -51
  436. package/tools/tags/delete-tags.d.mts.map +0 -1
  437. package/tools/tags/delete-tags.d.ts +0 -51
  438. package/tools/tags/delete-tags.d.ts.map +0 -1
  439. package/tools/tags/delete-tags.js +0 -55
  440. package/tools/tags/delete-tags.js.map +0 -1
  441. package/tools/tags/delete-tags.mjs +0 -48
  442. package/tools/tags/delete-tags.mjs.map +0 -1
  443. package/tools/tags/list-tags.d.mts +0 -51
  444. package/tools/tags/list-tags.d.mts.map +0 -1
  445. package/tools/tags/list-tags.d.ts +0 -51
  446. package/tools/tags/list-tags.d.ts.map +0 -1
  447. package/tools/tags/list-tags.js +0 -87
  448. package/tools/tags/list-tags.js.map +0 -1
  449. package/tools/tags/list-tags.mjs +0 -80
  450. package/tools/tags/list-tags.mjs.map +0 -1
  451. package/tools/tags/update-tags.d.mts +0 -51
  452. package/tools/tags/update-tags.d.mts.map +0 -1
  453. package/tools/tags/update-tags.d.ts +0 -51
  454. package/tools/tags/update-tags.d.ts.map +0 -1
  455. package/tools/tags/update-tags.js +0 -63
  456. package/tools/tags/update-tags.js.map +0 -1
  457. package/tools/tags/update-tags.mjs +0 -56
  458. package/tools/tags/update-tags.mjs.map +0 -1
  459. package/tools/track/track-lead-track.d.mts +0 -51
  460. package/tools/track/track-lead-track.d.mts.map +0 -1
  461. package/tools/track/track-lead-track.d.ts +0 -51
  462. package/tools/track/track-lead-track.d.ts.map +0 -1
  463. package/tools/track/track-lead-track.js +0 -87
  464. package/tools/track/track-lead-track.js.map +0 -1
  465. package/tools/track/track-lead-track.mjs +0 -80
  466. package/tools/track/track-lead-track.mjs.map +0 -1
  467. package/tools/track/track-sale-track.d.mts +0 -51
  468. package/tools/track/track-sale-track.d.mts.map +0 -1
  469. package/tools/track/track-sale-track.d.ts +0 -51
  470. package/tools/track/track-sale-track.d.ts.map +0 -1
  471. package/tools/track/track-sale-track.js +0 -99
  472. package/tools/track/track-sale-track.js.map +0 -1
  473. package/tools/track/track-sale-track.mjs +0 -92
  474. package/tools/track/track-sale-track.mjs.map +0 -1
  475. package/tools/types.d.mts.map +0 -1
  476. package/tools/types.d.ts.map +0 -1
  477. package/tools/types.js.map +0 -1
  478. package/tools/types.mjs.map +0 -1
  479. package/tools.d.mts +0 -2
  480. package/tools.d.mts.map +0 -1
  481. package/tools.d.ts +0 -2
  482. package/tools.d.ts.map +0 -1
  483. package/tools.js +0 -18
  484. package/tools.js.map +0 -1
  485. package/tools.mjs +0 -2
  486. package/tools.mjs.map +0 -1
  487. /package/{tools/types.js → types.js} +0 -0
  488. /package/{tools/types.mjs → types.mjs} +0 -0
@@ -1,79 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { isJqError, maybeFilter } from '@codeqr/ts-mcp/filtering';
4
- import { Metadata, asErrorResult, asTextContentResult } from '@codeqr/ts-mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import Codeqr from '@codeqr/ts';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'domains',
11
- operation: 'write',
12
- tags: [],
13
- httpMethod: 'patch',
14
- httpPath: '/domains/{slug}',
15
- operationId: 'updateDomain',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'update_domains',
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 a domain for the authenticated workspace.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/domain',\n $defs: {\n domain: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'The unique identifier of the domain.'\n },\n archived: {\n type: 'boolean',\n description: 'Whether the domain is archived.'\n },\n createdAt: {\n type: 'string',\n description: 'The date the domain was created.'\n },\n expiredUrl: {\n type: 'string',\n description: 'The URL to redirect to when a link under this domain has expired.'\n },\n placeholder: {\n type: 'string',\n description: 'Provide context to your teammates in the link creation modal by showing them an example of a link to be shortened.'\n },\n primary: {\n type: 'boolean',\n description: 'Whether the domain is the primary domain for the project.'\n },\n slug: {\n type: 'string',\n description: 'The domain name.'\n },\n target: {\n type: 'string',\n description: 'The target URL to redirect to when accessing the domain root.'\n },\n type: {\n type: 'string',\n description: 'The behavior type for the domain root redirect.',\n enum: [ 'redirect',\n 'rewrite'\n ]\n },\n updatedAt: {\n type: 'string',\n description: 'The date the domain was last updated.'\n },\n verified: {\n type: 'boolean',\n description: 'Whether the domain is verified.'\n }\n },\n required: [ 'id',\n 'archived',\n 'createdAt',\n 'expiredUrl',\n 'placeholder',\n 'primary',\n 'slug',\n 'target',\n 'type',\n 'updatedAt',\n 'verified'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- path_slug: {
26
- type: 'string',
27
- description: 'The domain name.',
28
- },
29
- archived: {
30
- type: 'boolean',
31
- description: 'Whether to archive this domain. `false` will unarchive a previously archived domain.',
32
- },
33
- expiredUrl: {
34
- type: 'string',
35
- description: 'Redirect users to a specific URL when any link under this domain has expired.',
36
- },
37
- placeholder: {
38
- type: 'string',
39
- description:
40
- 'Provide context to your teammates in the link creation modal by showing them an example of a link to be shortened.',
41
- },
42
- body_slug: {
43
- type: 'string',
44
- description: 'Name of the domain.',
45
- },
46
- target: {
47
- type: 'string',
48
- description: 'The target URL to redirect to when accessing the domain root.',
49
- },
50
- type: {
51
- type: 'string',
52
- description: 'The behavior type for the domain root redirect.',
53
- enum: ['redirect', 'rewrite'],
54
- },
55
- jq_filter: {
56
- type: 'string',
57
- title: 'jq Filter',
58
- description:
59
- '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/).',
60
- },
61
- },
62
- required: ['path_slug'],
63
- },
64
- annotations: {},
65
- };
66
-
67
- export const handler = async (client: Codeqr, args: Record<string, unknown> | undefined) => {
68
- const { slug, jq_filter, ...body } = args as any;
69
- try {
70
- return asTextContentResult(await maybeFilter(jq_filter, await client.domains.update(slug, body)));
71
- } catch (error) {
72
- if (error instanceof Codeqr.APIError || isJqError(error)) {
73
- return asErrorResult(error.message);
74
- }
75
- throw error;
76
- }
77
- };
78
-
79
- export default { metadata, tool, handler };
@@ -1,421 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { Metadata, asErrorResult, asTextContentResult } from '@codeqr/ts-mcp/tools/types';
4
-
5
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
- import Codeqr from '@codeqr/ts';
7
-
8
- export const metadata: Metadata = {
9
- resource: 'events',
10
- operation: 'read',
11
- tags: [],
12
- httpMethod: 'get',
13
- httpPath: '/events',
14
- operationId: 'listEvents',
15
- };
16
-
17
- export const tool: Tool = {
18
- name: 'list_events',
19
- description: 'Retrieve a paginated list of events for the authenticated workspace.',
20
- inputSchema: {
21
- type: 'object',
22
- properties: {
23
- browser: {
24
- type: 'string',
25
- description: 'The browser to retrieve analytics for.',
26
- },
27
- city: {
28
- type: 'string',
29
- description: 'The city to retrieve analytics for.',
30
- },
31
- continent: {
32
- $ref: '#/$defs/continent_code',
33
- },
34
- country: {
35
- $ref: '#/$defs/country_code',
36
- },
37
- device: {
38
- type: 'string',
39
- description: 'The device to retrieve analytics for.',
40
- },
41
- domain: {
42
- type: 'string',
43
- description: 'The domain of the short link.',
44
- },
45
- end: {
46
- type: 'string',
47
- description:
48
- 'The end date and time when to retrieve analytics from. If not provided, defaults to the current date.',
49
- },
50
- event: {
51
- type: 'string',
52
- description: "The type of event to retrieve analytics for. Defaults to 'clicks'.",
53
- enum: ['clicks', 'leads', 'sales', 'scans', 'views'],
54
- },
55
- excludeRoot: {
56
- type: 'boolean',
57
- description: 'Whether to exclude the root link from the response.',
58
- },
59
- externalId: {
60
- type: 'string',
61
- description:
62
- "This is the ID of the link in the your database. Must be prefixed with 'ext_' when passed as a query parameter.",
63
- },
64
- interval: {
65
- type: 'string',
66
- description:
67
- 'The interval to retrieve events for. Takes precedence over start and end. If undefined, defaults to 24h.',
68
- enum: ['24h', '7d', '30d', '90d', 'ytd', '1y', 'all'],
69
- },
70
- key: {
71
- type: 'string',
72
- description: 'The short link slug.',
73
- },
74
- limit: {
75
- type: 'number',
76
- },
77
- linkId: {
78
- type: 'string',
79
- description: 'The unique ID of the short link on CodeQR.',
80
- },
81
- order: {
82
- type: 'string',
83
- enum: ['asc', 'desc'],
84
- },
85
- os: {
86
- type: 'string',
87
- description: 'The OS to retrieve analytics for.',
88
- },
89
- page: {
90
- type: 'number',
91
- },
92
- pageId: {
93
- type: 'string',
94
- description: 'The unique ID of the page on CodeQR.',
95
- },
96
- qrcodeId: {
97
- type: 'string',
98
- description: 'The unique ID of the QR code on CodeQR.',
99
- },
100
- referer: {
101
- type: 'string',
102
- description: 'The referer to retrieve analytics for.',
103
- },
104
- root: {
105
- type: 'boolean',
106
- description:
107
- 'Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both.',
108
- },
109
- sortBy: {
110
- type: 'string',
111
- enum: ['timestamp'],
112
- },
113
- start: {
114
- type: 'string',
115
- description: 'The start date and time when to retrieve analytics from.',
116
- },
117
- tagId: {
118
- type: 'string',
119
- description: 'The tag ID to retrieve analytics for.',
120
- },
121
- timezone: {
122
- type: 'string',
123
- description:
124
- 'The IANA time zone code for aligning timeseries granularity (e.g. America/New_York). Defaults to UTC.',
125
- },
126
- type: {
127
- type: 'string',
128
- description: 'The type of analytics to retrieve.',
129
- },
130
- types: {
131
- type: 'string',
132
- description: 'The types of analytics to retrieve.',
133
- },
134
- url: {
135
- type: 'string',
136
- description: 'The URL to retrieve analytics for.',
137
- },
138
- },
139
- required: [],
140
- $defs: {
141
- continent_code: {
142
- type: 'string',
143
- description: 'The continent to retrieve analytics for.',
144
- enum: ['AF', 'AN', 'AS', 'EU', 'NA', 'OC', 'SA'],
145
- },
146
- country_code: {
147
- type: 'string',
148
- description: 'The country to retrieve analytics for.',
149
- enum: [
150
- 'AF',
151
- 'AL',
152
- 'DZ',
153
- 'AS',
154
- 'AD',
155
- 'AO',
156
- 'AI',
157
- 'AQ',
158
- 'AG',
159
- 'AR',
160
- 'AM',
161
- 'AW',
162
- 'AU',
163
- 'AT',
164
- 'AZ',
165
- 'BS',
166
- 'BH',
167
- 'BD',
168
- 'BB',
169
- 'BY',
170
- 'BE',
171
- 'BZ',
172
- 'BJ',
173
- 'BM',
174
- 'BT',
175
- 'BO',
176
- 'BA',
177
- 'BW',
178
- 'BV',
179
- 'BR',
180
- 'IO',
181
- 'BN',
182
- 'BG',
183
- 'BF',
184
- 'BI',
185
- 'KH',
186
- 'CM',
187
- 'CA',
188
- 'CV',
189
- 'KY',
190
- 'CF',
191
- 'TD',
192
- 'CL',
193
- 'CN',
194
- 'CX',
195
- 'CC',
196
- 'CO',
197
- 'KM',
198
- 'CG',
199
- 'CD',
200
- 'CK',
201
- 'CR',
202
- 'CI',
203
- 'HR',
204
- 'CU',
205
- 'CY',
206
- 'CZ',
207
- 'DK',
208
- 'DJ',
209
- 'DM',
210
- 'DO',
211
- 'EC',
212
- 'EG',
213
- 'SV',
214
- 'GQ',
215
- 'ER',
216
- 'EE',
217
- 'ET',
218
- 'FK',
219
- 'FO',
220
- 'FJ',
221
- 'FI',
222
- 'FR',
223
- 'GF',
224
- 'PF',
225
- 'TF',
226
- 'GA',
227
- 'GM',
228
- 'GE',
229
- 'DE',
230
- 'GH',
231
- 'GI',
232
- 'GR',
233
- 'GL',
234
- 'GD',
235
- 'GP',
236
- 'GU',
237
- 'GT',
238
- 'GN',
239
- 'GW',
240
- 'GY',
241
- 'HT',
242
- 'HM',
243
- 'VA',
244
- 'HN',
245
- 'HK',
246
- 'HU',
247
- 'IS',
248
- 'IN',
249
- 'ID',
250
- 'IR',
251
- 'IQ',
252
- 'IE',
253
- 'IL',
254
- 'IT',
255
- 'JM',
256
- 'JP',
257
- 'JO',
258
- 'KZ',
259
- 'KE',
260
- 'KI',
261
- 'KP',
262
- 'KR',
263
- 'KW',
264
- 'KG',
265
- 'LA',
266
- 'LV',
267
- 'LB',
268
- 'LS',
269
- 'LR',
270
- 'LY',
271
- 'LI',
272
- 'LT',
273
- 'LU',
274
- 'MO',
275
- 'MG',
276
- 'MW',
277
- 'MY',
278
- 'MV',
279
- 'ML',
280
- 'MT',
281
- 'MH',
282
- 'MQ',
283
- 'MR',
284
- 'MU',
285
- 'YT',
286
- 'MX',
287
- 'FM',
288
- 'MD',
289
- 'MC',
290
- 'MN',
291
- 'MS',
292
- 'MA',
293
- 'MZ',
294
- 'MM',
295
- 'NA',
296
- 'NR',
297
- 'NP',
298
- 'NL',
299
- 'NC',
300
- 'NZ',
301
- 'NI',
302
- 'NE',
303
- 'NG',
304
- 'NU',
305
- 'NF',
306
- 'MK',
307
- 'MP',
308
- 'NO',
309
- 'OM',
310
- 'PK',
311
- 'PW',
312
- 'PS',
313
- 'PA',
314
- 'PG',
315
- 'PY',
316
- 'PE',
317
- 'PH',
318
- 'PN',
319
- 'PL',
320
- 'PT',
321
- 'PR',
322
- 'QA',
323
- 'RE',
324
- 'RO',
325
- 'RU',
326
- 'RW',
327
- 'SH',
328
- 'KN',
329
- 'LC',
330
- 'PM',
331
- 'VC',
332
- 'WS',
333
- 'SM',
334
- 'ST',
335
- 'SA',
336
- 'SN',
337
- 'SC',
338
- 'SL',
339
- 'SG',
340
- 'SK',
341
- 'SI',
342
- 'SB',
343
- 'SO',
344
- 'ZA',
345
- 'GS',
346
- 'ES',
347
- 'LK',
348
- 'SD',
349
- 'SR',
350
- 'SJ',
351
- 'SZ',
352
- 'SE',
353
- 'CH',
354
- 'SY',
355
- 'TW',
356
- 'TJ',
357
- 'TZ',
358
- 'TH',
359
- 'TL',
360
- 'TG',
361
- 'TK',
362
- 'TO',
363
- 'TT',
364
- 'TN',
365
- 'TR',
366
- 'TM',
367
- 'TC',
368
- 'TV',
369
- 'UG',
370
- 'UA',
371
- 'AE',
372
- 'GB',
373
- 'US',
374
- 'UM',
375
- 'UY',
376
- 'UZ',
377
- 'VU',
378
- 'VE',
379
- 'VN',
380
- 'VG',
381
- 'VI',
382
- 'WF',
383
- 'EH',
384
- 'YE',
385
- 'ZM',
386
- 'ZW',
387
- 'AX',
388
- 'BQ',
389
- 'CW',
390
- 'GG',
391
- 'IM',
392
- 'JE',
393
- 'ME',
394
- 'BL',
395
- 'MF',
396
- 'RS',
397
- 'SX',
398
- 'SS',
399
- 'XK',
400
- ],
401
- },
402
- },
403
- },
404
- annotations: {
405
- readOnlyHint: true,
406
- },
407
- };
408
-
409
- export const handler = async (client: Codeqr, args: Record<string, unknown> | undefined) => {
410
- const body = args as any;
411
- try {
412
- return asTextContentResult(await client.events.list(body));
413
- } catch (error) {
414
- if (error instanceof Codeqr.APIError) {
415
- return asErrorResult(error.message);
416
- }
417
- throw error;
418
- }
419
- };
420
-
421
- export default { metadata, tool, handler };
@@ -1,133 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { Metadata, Endpoint, HandlerFunction } from './types';
4
-
5
- export { Metadata, Endpoint, HandlerFunction };
6
-
7
- import create_links from './links/create-links';
8
- import update_links from './links/update-links';
9
- import list_links from './links/list-links';
10
- import delete_links from './links/delete-links';
11
- import count_links from './links/count-links';
12
- import retrieve_info_links from './links/retrieve-info-links';
13
- import upsert_links from './links/upsert-links';
14
- import create_links_bulk from './links/bulk/create-links-bulk';
15
- import delete_links_bulk from './links/bulk/delete-links-bulk';
16
- import create_qrcodes from './qrcodes/create-qrcodes';
17
- import retrieve_qrcodes from './qrcodes/retrieve-qrcodes';
18
- import update_qrcodes from './qrcodes/update-qrcodes';
19
- import list_qrcodes from './qrcodes/list-qrcodes';
20
- import delete_qrcodes from './qrcodes/delete-qrcodes';
21
- import count_qrcodes from './qrcodes/count-qrcodes';
22
- import upsert_qrcodes from './qrcodes/upsert-qrcodes';
23
- import create_qrcodes_bulk from './qrcodes/bulk/create-qrcodes-bulk';
24
- import delete_qrcodes_bulk from './qrcodes/bulk/delete-qrcodes-bulk';
25
- import retrieve_analytics from './analytics/retrieve-analytics';
26
- import list_events from './events/list-events';
27
- import create_tags from './tags/create-tags';
28
- import update_tags from './tags/update-tags';
29
- import list_tags from './tags/list-tags';
30
- import delete_tags from './tags/delete-tags';
31
- import create_domains from './domains/create-domains';
32
- import update_domains from './domains/update-domains';
33
- import list_domains from './domains/list-domains';
34
- import delete_domains from './domains/delete-domains';
35
- import track_lead_track from './track/track-lead-track';
36
- import track_sale_track from './track/track-sale-track';
37
- import retrieve_projects from './projects/retrieve-projects';
38
- import list_projects from './projects/list-projects';
39
-
40
- export const endpoints: Endpoint[] = [];
41
-
42
- function addEndpoint(endpoint: Endpoint) {
43
- endpoints.push(endpoint);
44
- }
45
-
46
- addEndpoint(create_links);
47
- addEndpoint(update_links);
48
- addEndpoint(list_links);
49
- addEndpoint(delete_links);
50
- addEndpoint(count_links);
51
- addEndpoint(retrieve_info_links);
52
- addEndpoint(upsert_links);
53
- addEndpoint(create_links_bulk);
54
- addEndpoint(delete_links_bulk);
55
- addEndpoint(create_qrcodes);
56
- addEndpoint(retrieve_qrcodes);
57
- addEndpoint(update_qrcodes);
58
- addEndpoint(list_qrcodes);
59
- addEndpoint(delete_qrcodes);
60
- addEndpoint(count_qrcodes);
61
- addEndpoint(upsert_qrcodes);
62
- addEndpoint(create_qrcodes_bulk);
63
- addEndpoint(delete_qrcodes_bulk);
64
- addEndpoint(retrieve_analytics);
65
- addEndpoint(list_events);
66
- addEndpoint(create_tags);
67
- addEndpoint(update_tags);
68
- addEndpoint(list_tags);
69
- addEndpoint(delete_tags);
70
- addEndpoint(create_domains);
71
- addEndpoint(update_domains);
72
- addEndpoint(list_domains);
73
- addEndpoint(delete_domains);
74
- addEndpoint(track_lead_track);
75
- addEndpoint(track_sale_track);
76
- addEndpoint(retrieve_projects);
77
- addEndpoint(list_projects);
78
-
79
- export type Filter = {
80
- type: 'resource' | 'operation' | 'tag' | 'tool';
81
- op: 'include' | 'exclude';
82
- value: string;
83
- };
84
-
85
- export function query(filters: Filter[], endpoints: Endpoint[]): Endpoint[] {
86
- const allExcludes = filters.length > 0 && filters.every((filter) => filter.op === 'exclude');
87
- const unmatchedFilters = new Set(filters);
88
-
89
- const filtered = endpoints.filter((endpoint: Endpoint) => {
90
- let included = false || allExcludes;
91
-
92
- for (const filter of filters) {
93
- if (match(filter, endpoint)) {
94
- unmatchedFilters.delete(filter);
95
- included = filter.op === 'include';
96
- }
97
- }
98
-
99
- return included;
100
- });
101
-
102
- // Check if any filters didn't match
103
- const unmatched = Array.from(unmatchedFilters).filter((f) => f.type === 'tool' || f.type === 'resource');
104
- if (unmatched.length > 0) {
105
- throw new Error(
106
- `The following filters did not match any endpoints: ${unmatched
107
- .map((f) => `${f.type}=${f.value}`)
108
- .join(', ')}`,
109
- );
110
- }
111
-
112
- return filtered;
113
- }
114
-
115
- function match({ type, value }: Filter, endpoint: Endpoint): boolean {
116
- switch (type) {
117
- case 'resource': {
118
- const regexStr = '^' + normalizeResource(value).replace(/\*/g, '.*') + '$';
119
- const regex = new RegExp(regexStr);
120
- return regex.test(normalizeResource(endpoint.metadata.resource));
121
- }
122
- case 'operation':
123
- return endpoint.metadata.operation === value;
124
- case 'tag':
125
- return endpoint.metadata.tags.includes(value);
126
- case 'tool':
127
- return endpoint.tool.name === value;
128
- }
129
- }
130
-
131
- function normalizeResource(resource: string): string {
132
- return resource.toLowerCase().replace(/[^a-z.*\-_]*/g, '');
133
- }