@unclick/mcp-server 0.2.3 → 0.2.5

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 (324) hide show
  1. package/README.md +139 -153
  2. package/dist/airtable-tool.d.ts +2 -0
  3. package/dist/airtable-tool.d.ts.map +1 -0
  4. package/dist/airtable-tool.js +154 -0
  5. package/dist/airtable-tool.js.map +1 -0
  6. package/dist/algolia-tool.d.ts +5 -0
  7. package/dist/algolia-tool.d.ts.map +1 -0
  8. package/dist/algolia-tool.js +121 -0
  9. package/dist/algolia-tool.js.map +1 -0
  10. package/dist/anthropic-tool.d.ts +3 -0
  11. package/dist/anthropic-tool.d.ts.map +1 -0
  12. package/dist/anthropic-tool.js +123 -0
  13. package/dist/anthropic-tool.js.map +1 -0
  14. package/dist/asana-tool.d.ts +8 -0
  15. package/dist/asana-tool.d.ts.map +1 -0
  16. package/dist/asana-tool.js +218 -0
  17. package/dist/asana-tool.js.map +1 -0
  18. package/dist/assemblyai-tool.d.ts +7 -0
  19. package/dist/assemblyai-tool.d.ts.map +1 -0
  20. package/dist/assemblyai-tool.js +127 -0
  21. package/dist/assemblyai-tool.js.map +1 -0
  22. package/dist/calendly-tool.d.ts +6 -0
  23. package/dist/calendly-tool.d.ts.map +1 -0
  24. package/dist/calendly-tool.js +182 -0
  25. package/dist/calendly-tool.js.map +1 -0
  26. package/dist/circleci-tool.d.ts +7 -0
  27. package/dist/circleci-tool.d.ts.map +1 -0
  28. package/dist/circleci-tool.js +133 -0
  29. package/dist/circleci-tool.js.map +1 -0
  30. package/dist/clickup-tool.d.ts +2 -0
  31. package/dist/clickup-tool.d.ts.map +1 -0
  32. package/dist/clickup-tool.js +153 -0
  33. package/dist/clickup-tool.js.map +1 -0
  34. package/dist/cohere-tool.d.ts +7 -0
  35. package/dist/cohere-tool.d.ts.map +1 -0
  36. package/dist/cohere-tool.js +225 -0
  37. package/dist/cohere-tool.js.map +1 -0
  38. package/dist/connectors/figma.d.ts +3 -0
  39. package/dist/connectors/figma.d.ts.map +1 -0
  40. package/dist/connectors/figma.js +18 -0
  41. package/dist/connectors/figma.js.map +1 -0
  42. package/dist/connectors/index.d.ts +3 -1
  43. package/dist/connectors/index.d.ts.map +1 -1
  44. package/dist/connectors/index.js +5 -1
  45. package/dist/connectors/index.js.map +1 -1
  46. package/dist/connectors/line.d.ts +3 -0
  47. package/dist/connectors/line.d.ts.map +1 -0
  48. package/dist/connectors/line.js +18 -0
  49. package/dist/connectors/line.js.map +1 -0
  50. package/dist/convertkit-tool.d.ts +7 -0
  51. package/dist/convertkit-tool.d.ts.map +1 -0
  52. package/dist/convertkit-tool.js +213 -0
  53. package/dist/convertkit-tool.js.map +1 -0
  54. package/dist/datadog-tool.d.ts +7 -0
  55. package/dist/datadog-tool.d.ts.map +1 -0
  56. package/dist/datadog-tool.js +121 -0
  57. package/dist/datadog-tool.js.map +1 -0
  58. package/dist/deepl-tool.d.ts +5 -0
  59. package/dist/deepl-tool.d.ts.map +1 -0
  60. package/dist/deepl-tool.js +137 -0
  61. package/dist/deepl-tool.js.map +1 -0
  62. package/dist/ebay-tool.d.ts +5 -0
  63. package/dist/ebay-tool.d.ts.map +1 -0
  64. package/dist/ebay-tool.js +179 -0
  65. package/dist/ebay-tool.js.map +1 -0
  66. package/dist/elevenlabs-tool.d.ts +6 -0
  67. package/dist/elevenlabs-tool.d.ts.map +1 -0
  68. package/dist/elevenlabs-tool.js +166 -0
  69. package/dist/elevenlabs-tool.js.map +1 -0
  70. package/dist/etsy-tool.d.ts +6 -0
  71. package/dist/etsy-tool.d.ts.map +1 -0
  72. package/dist/etsy-tool.js +125 -0
  73. package/dist/etsy-tool.js.map +1 -0
  74. package/dist/exchangerate-tool.d.ts +5 -0
  75. package/dist/exchangerate-tool.d.ts.map +1 -0
  76. package/dist/exchangerate-tool.js +139 -0
  77. package/dist/exchangerate-tool.js.map +1 -0
  78. package/dist/figma-tool.d.ts +8 -0
  79. package/dist/figma-tool.d.ts.map +1 -0
  80. package/dist/figma-tool.js +231 -0
  81. package/dist/figma-tool.js.map +1 -0
  82. package/dist/flyio-tool.d.ts +6 -0
  83. package/dist/flyio-tool.d.ts.map +1 -0
  84. package/dist/flyio-tool.js +158 -0
  85. package/dist/flyio-tool.js.map +1 -0
  86. package/dist/gdelt-tool.d.ts +5 -0
  87. package/dist/gdelt-tool.d.ts.map +1 -0
  88. package/dist/gdelt-tool.js +177 -0
  89. package/dist/gdelt-tool.js.map +1 -0
  90. package/dist/github-tool.d.ts +2 -0
  91. package/dist/github-tool.d.ts.map +1 -0
  92. package/dist/github-tool.js +165 -0
  93. package/dist/github-tool.js.map +1 -0
  94. package/dist/gitlab-tool.d.ts +2 -0
  95. package/dist/gitlab-tool.d.ts.map +1 -0
  96. package/dist/gitlab-tool.js +127 -0
  97. package/dist/gitlab-tool.js.map +1 -0
  98. package/dist/groq-tool.d.ts +3 -0
  99. package/dist/groq-tool.d.ts.map +1 -0
  100. package/dist/groq-tool.js +109 -0
  101. package/dist/groq-tool.js.map +1 -0
  102. package/dist/gumroad-tool.d.ts +6 -0
  103. package/dist/gumroad-tool.d.ts.map +1 -0
  104. package/dist/gumroad-tool.js +90 -0
  105. package/dist/gumroad-tool.js.map +1 -0
  106. package/dist/heygen-tool.d.ts +5 -0
  107. package/dist/heygen-tool.d.ts.map +1 -0
  108. package/dist/heygen-tool.js +134 -0
  109. package/dist/heygen-tool.js.map +1 -0
  110. package/dist/higgsfield-tool.d.ts +5 -0
  111. package/dist/higgsfield-tool.d.ts.map +1 -0
  112. package/dist/higgsfield-tool.js +120 -0
  113. package/dist/higgsfield-tool.js.map +1 -0
  114. package/dist/igdb-tool.d.ts +6 -0
  115. package/dist/igdb-tool.d.ts.map +1 -0
  116. package/dist/igdb-tool.js +140 -0
  117. package/dist/igdb-tool.js.map +1 -0
  118. package/dist/keychain-crypto.d.ts +24 -0
  119. package/dist/keychain-crypto.d.ts.map +1 -0
  120. package/dist/keychain-crypto.js +60 -0
  121. package/dist/keychain-crypto.js.map +1 -0
  122. package/dist/keychain-secure-input.d.ts +17 -0
  123. package/dist/keychain-secure-input.d.ts.map +1 -0
  124. package/dist/keychain-secure-input.js +229 -0
  125. package/dist/keychain-secure-input.js.map +1 -0
  126. package/dist/keychain-tool.d.ts +3 -0
  127. package/dist/keychain-tool.d.ts.map +1 -0
  128. package/dist/keychain-tool.js +516 -0
  129. package/dist/keychain-tool.js.map +1 -0
  130. package/dist/kling-tool.d.ts +3 -0
  131. package/dist/kling-tool.d.ts.map +1 -0
  132. package/dist/kling-tool.js +102 -0
  133. package/dist/kling-tool.js.map +1 -0
  134. package/dist/lemonsqueezy-tool.d.ts +7 -0
  135. package/dist/lemonsqueezy-tool.d.ts.map +1 -0
  136. package/dist/lemonsqueezy-tool.js +220 -0
  137. package/dist/lemonsqueezy-tool.js.map +1 -0
  138. package/dist/line-tool.d.ts +7 -0
  139. package/dist/line-tool.d.ts.map +1 -0
  140. package/dist/line-tool.js +188 -0
  141. package/dist/line-tool.js.map +1 -0
  142. package/dist/linear-tool.d.ts +2 -0
  143. package/dist/linear-tool.d.ts.map +1 -0
  144. package/dist/linear-tool.js +186 -0
  145. package/dist/linear-tool.js.map +1 -0
  146. package/dist/local-catalog-handlers.d.ts +3 -0
  147. package/dist/local-catalog-handlers.d.ts.map +1 -0
  148. package/dist/local-catalog-handlers.js +1254 -0
  149. package/dist/local-catalog-handlers.js.map +1 -0
  150. package/dist/mailchimp-tool.d.ts +8 -0
  151. package/dist/mailchimp-tool.d.ts.map +1 -0
  152. package/dist/mailchimp-tool.js +138 -0
  153. package/dist/mailchimp-tool.js.map +1 -0
  154. package/dist/mapbox-tool.d.ts +6 -0
  155. package/dist/mapbox-tool.d.ts.map +1 -0
  156. package/dist/mapbox-tool.js +106 -0
  157. package/dist/mapbox-tool.js.map +1 -0
  158. package/dist/mistral-tool.d.ts +4 -0
  159. package/dist/mistral-tool.d.ts.map +1 -0
  160. package/dist/mistral-tool.js +145 -0
  161. package/dist/mistral-tool.js.map +1 -0
  162. package/dist/mixpanel-tool.d.ts +6 -0
  163. package/dist/mixpanel-tool.d.ts.map +1 -0
  164. package/dist/mixpanel-tool.js +162 -0
  165. package/dist/mixpanel-tool.js.map +1 -0
  166. package/dist/monday-tool.d.ts +7 -0
  167. package/dist/monday-tool.d.ts.map +1 -0
  168. package/dist/monday-tool.js +206 -0
  169. package/dist/monday-tool.js.map +1 -0
  170. package/dist/neon-tool.d.ts +7 -0
  171. package/dist/neon-tool.d.ts.map +1 -0
  172. package/dist/neon-tool.js +156 -0
  173. package/dist/neon-tool.js.map +1 -0
  174. package/dist/openai-tool.d.ts +6 -0
  175. package/dist/openai-tool.d.ts.map +1 -0
  176. package/dist/openai-tool.js +227 -0
  177. package/dist/openai-tool.js.map +1 -0
  178. package/dist/pagerduty-tool.d.ts +8 -0
  179. package/dist/pagerduty-tool.d.ts.map +1 -0
  180. package/dist/pagerduty-tool.js +185 -0
  181. package/dist/pagerduty-tool.js.map +1 -0
  182. package/dist/paypal-tool.d.ts +3 -0
  183. package/dist/paypal-tool.d.ts.map +1 -0
  184. package/dist/paypal-tool.js +157 -0
  185. package/dist/paypal-tool.js.map +1 -0
  186. package/dist/perplexity-tool.d.ts +2 -0
  187. package/dist/perplexity-tool.d.ts.map +1 -0
  188. package/dist/perplexity-tool.js +93 -0
  189. package/dist/perplexity-tool.js.map +1 -0
  190. package/dist/pika-tool.d.ts +4 -0
  191. package/dist/pika-tool.d.ts.map +1 -0
  192. package/dist/pika-tool.js +102 -0
  193. package/dist/pika-tool.js.map +1 -0
  194. package/dist/pinecone-tool.d.ts +6 -0
  195. package/dist/pinecone-tool.d.ts.map +1 -0
  196. package/dist/pinecone-tool.js +148 -0
  197. package/dist/pinecone-tool.js.map +1 -0
  198. package/dist/pinterest-tool.d.ts +7 -0
  199. package/dist/pinterest-tool.d.ts.map +1 -0
  200. package/dist/pinterest-tool.js +219 -0
  201. package/dist/pinterest-tool.js.map +1 -0
  202. package/dist/plaid-tool.d.ts +6 -0
  203. package/dist/plaid-tool.d.ts.map +1 -0
  204. package/dist/plaid-tool.js +149 -0
  205. package/dist/plaid-tool.js.map +1 -0
  206. package/dist/postman-tool.d.ts +2 -0
  207. package/dist/postman-tool.d.ts.map +1 -0
  208. package/dist/postman-tool.js +92 -0
  209. package/dist/postman-tool.js.map +1 -0
  210. package/dist/postmark-tool.d.ts +7 -0
  211. package/dist/postmark-tool.d.ts.map +1 -0
  212. package/dist/postmark-tool.js +148 -0
  213. package/dist/postmark-tool.js.map +1 -0
  214. package/dist/pushover-tool.d.ts +6 -0
  215. package/dist/pushover-tool.d.ts.map +1 -0
  216. package/dist/pushover-tool.js +146 -0
  217. package/dist/pushover-tool.js.map +1 -0
  218. package/dist/qc-tool.d.ts +4 -0
  219. package/dist/qc-tool.d.ts.map +1 -0
  220. package/dist/qc-tool.js +415 -0
  221. package/dist/qc-tool.js.map +1 -0
  222. package/dist/quickbooks-tool.d.ts +5 -0
  223. package/dist/quickbooks-tool.d.ts.map +1 -0
  224. package/dist/quickbooks-tool.js +160 -0
  225. package/dist/quickbooks-tool.js.map +1 -0
  226. package/dist/render-tool.d.ts +7 -0
  227. package/dist/render-tool.d.ts.map +1 -0
  228. package/dist/render-tool.js +158 -0
  229. package/dist/render-tool.js.map +1 -0
  230. package/dist/replicate-tool.d.ts +7 -0
  231. package/dist/replicate-tool.d.ts.map +1 -0
  232. package/dist/replicate-tool.js +172 -0
  233. package/dist/replicate-tool.js.map +1 -0
  234. package/dist/runway-tool.d.ts +4 -0
  235. package/dist/runway-tool.d.ts.map +1 -0
  236. package/dist/runway-tool.js +110 -0
  237. package/dist/runway-tool.js.map +1 -0
  238. package/dist/segment-tool.d.ts +6 -0
  239. package/dist/segment-tool.d.ts.map +1 -0
  240. package/dist/segment-tool.js +129 -0
  241. package/dist/segment-tool.js.map +1 -0
  242. package/dist/sendgrid-tool.d.ts +7 -0
  243. package/dist/sendgrid-tool.d.ts.map +1 -0
  244. package/dist/sendgrid-tool.js +124 -0
  245. package/dist/sendgrid-tool.js.map +1 -0
  246. package/dist/sentry-tool.d.ts +2 -0
  247. package/dist/sentry-tool.d.ts.map +1 -0
  248. package/dist/sentry-tool.js +123 -0
  249. package/dist/sentry-tool.js.map +1 -0
  250. package/dist/server.d.ts.map +1 -1
  251. package/dist/server.js +10 -0
  252. package/dist/server.js.map +1 -1
  253. package/dist/speedrun-tool.d.ts +6 -0
  254. package/dist/speedrun-tool.d.ts.map +1 -0
  255. package/dist/speedrun-tool.js +192 -0
  256. package/dist/speedrun-tool.js.map +1 -0
  257. package/dist/spotify-tool.d.ts +8 -0
  258. package/dist/spotify-tool.d.ts.map +1 -0
  259. package/dist/spotify-tool.js +274 -0
  260. package/dist/spotify-tool.js.map +1 -0
  261. package/dist/square-tool.d.ts +5 -0
  262. package/dist/square-tool.d.ts.map +1 -0
  263. package/dist/square-tool.js +133 -0
  264. package/dist/square-tool.js.map +1 -0
  265. package/dist/stability-tool.d.ts +5 -0
  266. package/dist/stability-tool.d.ts.map +1 -0
  267. package/dist/stability-tool.js +190 -0
  268. package/dist/stability-tool.js.map +1 -0
  269. package/dist/steam-tool.d.ts +6 -0
  270. package/dist/steam-tool.d.ts.map +1 -0
  271. package/dist/steam-tool.js +222 -0
  272. package/dist/steam-tool.js.map +1 -0
  273. package/dist/stripe-tool.d.ts +7 -0
  274. package/dist/stripe-tool.d.ts.map +1 -0
  275. package/dist/stripe-tool.js +181 -0
  276. package/dist/stripe-tool.js.map +1 -0
  277. package/dist/tiktok-tool.d.ts +4 -0
  278. package/dist/tiktok-tool.d.ts.map +1 -0
  279. package/dist/tiktok-tool.js +129 -0
  280. package/dist/tiktok-tool.js.map +1 -0
  281. package/dist/togetherai-tool.d.ts +5 -0
  282. package/dist/togetherai-tool.d.ts.map +1 -0
  283. package/dist/togetherai-tool.js +129 -0
  284. package/dist/togetherai-tool.js.map +1 -0
  285. package/dist/toilets-tool.js +2 -2
  286. package/dist/tool-wiring.d.ts +7982 -18
  287. package/dist/tool-wiring.d.ts.map +1 -1
  288. package/dist/tool-wiring.js +5084 -18
  289. package/dist/tool-wiring.js.map +1 -1
  290. package/dist/trello-tool.d.ts +2 -0
  291. package/dist/trello-tool.d.ts.map +1 -0
  292. package/dist/trello-tool.js +166 -0
  293. package/dist/trello-tool.js.map +1 -0
  294. package/dist/turso-tool.d.ts +6 -0
  295. package/dist/turso-tool.d.ts.map +1 -0
  296. package/dist/turso-tool.js +158 -0
  297. package/dist/turso-tool.js.map +1 -0
  298. package/dist/twilio-tool.d.ts +8 -0
  299. package/dist/twilio-tool.d.ts.map +1 -0
  300. package/dist/twilio-tool.js +243 -0
  301. package/dist/twilio-tool.js.map +1 -0
  302. package/dist/upstash-tool.d.ts +8 -0
  303. package/dist/upstash-tool.d.ts.map +1 -0
  304. package/dist/upstash-tool.js +191 -0
  305. package/dist/upstash-tool.js.map +1 -0
  306. package/dist/whatsapp-tool.d.ts +6 -0
  307. package/dist/whatsapp-tool.d.ts.map +1 -0
  308. package/dist/whatsapp-tool.js +200 -0
  309. package/dist/whatsapp-tool.js.map +1 -0
  310. package/dist/woocommerce-tool.d.ts +4 -0
  311. package/dist/woocommerce-tool.d.ts.map +1 -0
  312. package/dist/woocommerce-tool.js +140 -0
  313. package/dist/woocommerce-tool.js.map +1 -0
  314. package/dist/youtube-tool.d.ts +7 -0
  315. package/dist/youtube-tool.d.ts.map +1 -0
  316. package/dist/youtube-tool.js +196 -0
  317. package/dist/youtube-tool.js.map +1 -0
  318. package/package.json +1 -1
  319. package/server.json +37 -37
  320. package/LICENSE +0 -216
  321. package/dist/cloudflare-worker.d.ts +0 -12
  322. package/dist/cloudflare-worker.d.ts.map +0 -1
  323. package/dist/cloudflare-worker.js +0 -50
  324. package/dist/cloudflare-worker.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ export declare function spotifySearch(args: Record<string, unknown>): Promise<unknown>;
2
+ export declare function spotifyGetTrack(args: Record<string, unknown>): Promise<unknown>;
3
+ export declare function spotifyGetAlbum(args: Record<string, unknown>): Promise<unknown>;
4
+ export declare function spotifyGetArtist(args: Record<string, unknown>): Promise<unknown>;
5
+ export declare function spotifyGetPlaylist(args: Record<string, unknown>): Promise<unknown>;
6
+ export declare function spotifyGetRecommendations(args: Record<string, unknown>): Promise<unknown>;
7
+ export declare function spotifyGetAudioFeatures(args: Record<string, unknown>): Promise<unknown>;
8
+ //# sourceMappingURL=spotify-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spotify-tool.d.ts","sourceRoot":"","sources":["../src/spotify-tool.ts"],"names":[],"mappings":"AAwHA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAgFnF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA0BrF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBrF;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAetF;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA4BxF;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAwC/F;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAsB7F"}
@@ -0,0 +1,274 @@
1
+ // Spotify Web API integration for the UnClick MCP server.
2
+ // Uses the Spotify Web API via fetch - no external dependencies.
3
+ // Users must supply a Bearer token (access token) from Spotify OAuth.
4
+ const SPOTIFY_API_BASE = "https://api.spotify.com/v1";
5
+ // ─── API helper ───────────────────────────────────────────────────────────────
6
+ async function spotifyGet(token, path, params = {}) {
7
+ const qs = Object.keys(params).length > 0 ? `?${new URLSearchParams(params).toString()}` : "";
8
+ const res = await fetch(`${SPOTIFY_API_BASE}${path}${qs}`, {
9
+ headers: { Authorization: `Bearer ${token}` },
10
+ });
11
+ const data = await res.json();
12
+ if (!res.ok) {
13
+ const err = data.error;
14
+ const msg = err?.message ?? `HTTP ${res.status}`;
15
+ const status = err?.status ? ` (${err.status})` : "";
16
+ throw new Error(`Spotify API error${status}: ${msg}`);
17
+ }
18
+ return data;
19
+ }
20
+ // ─── Auth validation ──────────────────────────────────────────────────────────
21
+ function requireToken(args) {
22
+ const token = String(args.bearer_token ?? "").trim();
23
+ if (!token)
24
+ throw new Error("bearer_token is required. Obtain one via Spotify OAuth at developer.spotify.com.");
25
+ return token;
26
+ }
27
+ // ─── Operations ───────────────────────────────────────────────────────────────
28
+ export async function spotifySearch(args) {
29
+ const token = requireToken(args);
30
+ const q = String(args.query ?? "").trim();
31
+ if (!q)
32
+ throw new Error("query is required.");
33
+ const type = String(args.type ?? "track");
34
+ const limit = Math.min(50, Math.max(1, Number(args.limit ?? 10)));
35
+ const offset = Math.max(0, Number(args.offset ?? 0));
36
+ const market = args.market ? String(args.market) : undefined;
37
+ const validTypes = ["track", "album", "artist", "playlist", "show", "episode"];
38
+ const requestedTypes = type.split(",").map((t) => t.trim());
39
+ const invalid = requestedTypes.filter((t) => !validTypes.includes(t));
40
+ if (invalid.length > 0) {
41
+ throw new Error(`Invalid type(s): ${invalid.join(", ")}. Valid: ${validTypes.join(", ")}.`);
42
+ }
43
+ const params = { q, type, limit: String(limit), offset: String(offset) };
44
+ if (market)
45
+ params.market = market;
46
+ const data = await spotifyGet(token, "/search", params);
47
+ const result = {};
48
+ if (data.tracks) {
49
+ result.tracks = {
50
+ total: data.tracks.total,
51
+ next: data.tracks.next,
52
+ items: data.tracks.items.map((t) => ({
53
+ id: t.id,
54
+ name: t.name,
55
+ artists: t.artists.map((a) => a.name),
56
+ album: t.album?.name,
57
+ duration_ms: t.duration_ms,
58
+ popularity: t.popularity,
59
+ preview_url: t.preview_url,
60
+ spotify_url: t.external_urls.spotify,
61
+ })),
62
+ };
63
+ }
64
+ if (data.albums) {
65
+ result.albums = {
66
+ total: data.albums.total,
67
+ next: data.albums.next,
68
+ items: data.albums.items.map((a) => ({
69
+ id: a.id,
70
+ name: a.name,
71
+ artists: a.artists.map((ar) => ar.name),
72
+ release_date: a.release_date,
73
+ total_tracks: a.total_tracks,
74
+ spotify_url: a.external_urls.spotify,
75
+ })),
76
+ };
77
+ }
78
+ if (data.artists) {
79
+ result.artists = {
80
+ total: data.artists.total,
81
+ next: data.artists.next,
82
+ items: data.artists.items.map((a) => ({
83
+ id: a.id,
84
+ name: a.name,
85
+ genres: a.genres,
86
+ popularity: a.popularity,
87
+ followers: a.followers.total,
88
+ spotify_url: a.external_urls.spotify,
89
+ })),
90
+ };
91
+ }
92
+ if (data.playlists) {
93
+ result.playlists = {
94
+ total: data.playlists.total,
95
+ next: data.playlists.next,
96
+ items: data.playlists.items.map((p) => ({
97
+ id: p.id,
98
+ name: p.name,
99
+ owner: p.owner.display_name,
100
+ tracks_total: p.tracks.total,
101
+ spotify_url: p.external_urls.spotify,
102
+ })),
103
+ };
104
+ }
105
+ return result;
106
+ }
107
+ export async function spotifyGetTrack(args) {
108
+ const token = requireToken(args);
109
+ const trackId = String(args.track_id ?? "").trim();
110
+ if (!trackId)
111
+ throw new Error("track_id is required.");
112
+ const params = {};
113
+ if (args.market)
114
+ params.market = String(args.market);
115
+ const track = await spotifyGet(token, `/tracks/${encodeURIComponent(trackId)}`, params);
116
+ return {
117
+ id: track.id,
118
+ name: track.name,
119
+ artists: track.artists.map((a) => ({ id: a.id, name: a.name })),
120
+ album: track.album ? {
121
+ id: track.album.id,
122
+ name: track.album.name,
123
+ release_date: track.album.release_date,
124
+ type: track.album.album_type,
125
+ } : null,
126
+ duration_ms: track.duration_ms,
127
+ explicit: track.explicit,
128
+ popularity: track.popularity,
129
+ preview_url: track.preview_url,
130
+ track_number: track.track_number,
131
+ spotify_url: track.external_urls.spotify,
132
+ };
133
+ }
134
+ export async function spotifyGetAlbum(args) {
135
+ const token = requireToken(args);
136
+ const albumId = String(args.album_id ?? "").trim();
137
+ if (!albumId)
138
+ throw new Error("album_id is required.");
139
+ const album = await spotifyGet(token, `/albums/${encodeURIComponent(albumId)}`);
140
+ return {
141
+ id: album.id,
142
+ name: album.name,
143
+ type: album.album_type,
144
+ release_date: album.release_date,
145
+ total_tracks: album.total_tracks,
146
+ artists: album.artists.map((a) => ({ id: a.id, name: a.name })),
147
+ label: album.label ?? null,
148
+ popularity: album.popularity ?? null,
149
+ genres: album.genres ?? [],
150
+ image: album.images[0]?.url ?? null,
151
+ spotify_url: album.external_urls.spotify,
152
+ tracks: album.tracks?.items.map((t) => ({
153
+ id: t.id,
154
+ name: t.name,
155
+ duration_ms: t.duration_ms,
156
+ track_number: t.track_number,
157
+ })) ?? [],
158
+ };
159
+ }
160
+ export async function spotifyGetArtist(args) {
161
+ const token = requireToken(args);
162
+ const artistId = String(args.artist_id ?? "").trim();
163
+ if (!artistId)
164
+ throw new Error("artist_id is required.");
165
+ const artist = await spotifyGet(token, `/artists/${encodeURIComponent(artistId)}`);
166
+ return {
167
+ id: artist.id,
168
+ name: artist.name,
169
+ genres: artist.genres,
170
+ popularity: artist.popularity,
171
+ followers: artist.followers.total,
172
+ image: artist.images[0]?.url ?? null,
173
+ spotify_url: artist.external_urls.spotify,
174
+ };
175
+ }
176
+ export async function spotifyGetPlaylist(args) {
177
+ const token = requireToken(args);
178
+ const playlistId = String(args.playlist_id ?? "").trim();
179
+ if (!playlistId)
180
+ throw new Error("playlist_id is required.");
181
+ const params = {};
182
+ if (args.market)
183
+ params.market = String(args.market);
184
+ const pl = await spotifyGet(token, `/playlists/${encodeURIComponent(playlistId)}`, params);
185
+ return {
186
+ id: pl.id,
187
+ name: pl.name,
188
+ description: pl.description,
189
+ public: pl.public,
190
+ owner: pl.owner.display_name,
191
+ followers: pl.followers.total,
192
+ total_tracks: pl.tracks.total,
193
+ image: pl.images[0]?.url ?? null,
194
+ spotify_url: pl.external_urls.spotify,
195
+ tracks: (pl.tracks.items ?? [])
196
+ .filter((item) => item.track !== null)
197
+ .map((item) => ({
198
+ id: item.track.id,
199
+ name: item.track.name,
200
+ artists: item.track.artists.map((a) => a.name),
201
+ duration_ms: item.track.duration_ms,
202
+ })),
203
+ };
204
+ }
205
+ export async function spotifyGetRecommendations(args) {
206
+ const token = requireToken(args);
207
+ const limit = Math.min(100, Math.max(1, Number(args.limit ?? 20)));
208
+ const params = { limit: String(limit) };
209
+ // At least one seed is required
210
+ const seedTracks = String(args.seed_tracks ?? "").trim();
211
+ const seedArtists = String(args.seed_artists ?? "").trim();
212
+ const seedGenres = String(args.seed_genres ?? "").trim();
213
+ if (!seedTracks && !seedArtists && !seedGenres) {
214
+ throw new Error("At least one of seed_tracks, seed_artists, or seed_genres is required.");
215
+ }
216
+ if (seedTracks)
217
+ params.seed_tracks = seedTracks;
218
+ if (seedArtists)
219
+ params.seed_artists = seedArtists;
220
+ if (seedGenres)
221
+ params.seed_genres = seedGenres;
222
+ if (args.market)
223
+ params.market = String(args.market);
224
+ if (args.min_energy !== undefined)
225
+ params.min_energy = String(args.min_energy);
226
+ if (args.max_energy !== undefined)
227
+ params.max_energy = String(args.max_energy);
228
+ if (args.min_tempo !== undefined)
229
+ params.min_tempo = String(args.min_tempo);
230
+ if (args.max_tempo !== undefined)
231
+ params.max_tempo = String(args.max_tempo);
232
+ if (args.target_valence !== undefined)
233
+ params.target_valence = String(args.target_valence);
234
+ if (args.target_danceability !== undefined)
235
+ params.target_danceability = String(args.target_danceability);
236
+ const data = await spotifyGet(token, "/recommendations", params);
237
+ return {
238
+ count: data.tracks.length,
239
+ tracks: data.tracks.map((t) => ({
240
+ id: t.id,
241
+ name: t.name,
242
+ artists: t.artists.map((a) => a.name),
243
+ album: t.album?.name ?? null,
244
+ duration_ms: t.duration_ms,
245
+ popularity: t.popularity,
246
+ preview_url: t.preview_url,
247
+ spotify_url: t.external_urls.spotify,
248
+ })),
249
+ };
250
+ }
251
+ export async function spotifyGetAudioFeatures(args) {
252
+ const token = requireToken(args);
253
+ const trackId = String(args.track_id ?? "").trim();
254
+ if (!trackId)
255
+ throw new Error("track_id is required.");
256
+ const features = await spotifyGet(token, `/audio-features/${encodeURIComponent(trackId)}`);
257
+ return {
258
+ id: features.id,
259
+ danceability: features.danceability,
260
+ energy: features.energy,
261
+ key: features.key,
262
+ loudness: features.loudness,
263
+ mode: features.mode,
264
+ speechiness: features.speechiness,
265
+ acousticness: features.acousticness,
266
+ instrumentalness: features.instrumentalness,
267
+ liveness: features.liveness,
268
+ valence: features.valence,
269
+ tempo: features.tempo,
270
+ time_signature: features.time_signature,
271
+ duration_ms: features.duration_ms,
272
+ };
273
+ }
274
+ //# sourceMappingURL=spotify-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spotify-tool.js","sourceRoot":"","sources":["../src/spotify-tool.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,iEAAiE;AACjE,sEAAsE;AAEtE,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AAwFtD,iFAAiF;AAEjF,KAAK,UAAU,UAAU,CAAI,KAAa,EAAE,IAAY,EAAE,SAAiC,EAAE;IAC3F,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,gBAAgB,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE;QACzD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;KAC9C,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAA6B,CAAC;IACzD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,KAA4C,CAAC;QAC9D,MAAM,GAAG,GAAI,GAAG,EAAE,OAAkB,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,IAAS,CAAC;AACnB,CAAC;AAED,iFAAiF;AAEjF,SAAS,YAAY,CAAC,IAA6B;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;IAChH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAA6B;IAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7D,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,MAAM,GAA2B,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACjG,IAAI,MAAM;QAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IAEnC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAsB,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAE7E,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,MAAM,GAAG;YACd,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI;gBACpB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;aACrC,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,MAAM,GAAG;YACd,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;gBACvC,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;aACrC,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,GAAG;YACf,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK;gBAC5B,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;aACrC,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,SAAS,GAAG;YACjB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;YAC3B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;YACzB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY;gBAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;gBAC5B,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;aACrC,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAA6B;IACjE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAEvD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,MAAM;QAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAErD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAe,KAAK,EAAE,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACtG,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACnB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;YAClB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;YACtB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY;YACtC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;SAC7B,CAAC,CAAC,CAAC,IAAI;QACR,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAA6B;IACjE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAEvD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAe,KAAK,EAAE,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9F,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,UAAU;QACtB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;QAC1B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI;QACnC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO;QACxC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;SAC7B,CAAC,CAAC,IAAI,EAAE;KACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAA6B;IAClE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAgB,KAAK,EAAE,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClG,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK;QACjC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI;QACpC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAA6B;IACpE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAE7D,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,MAAM;QAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAErD,MAAM,EAAE,GAAG,MAAM,UAAU,CAAkB,KAAK,EAAE,cAAc,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5G,OAAO;QACL,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,WAAW,EAAE,EAAE,CAAC,WAAW;QAC3B,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY;QAC5B,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK;QAC7B,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK;QAC7B,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI;QAChC,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO;QACrC,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;aACrC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,EAAE,EAAE,IAAI,CAAC,KAAM,CAAC,EAAE;YAClB,IAAI,EAAE,IAAI,CAAC,KAAM,CAAC,IAAI;YACtB,OAAO,EAAE,IAAI,CAAC,KAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/C,WAAW,EAAE,IAAI,CAAC,KAAM,CAAC,WAAW;SACrC,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAA6B;IAC3E,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,MAAM,GAA2B,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAEhE,gCAAgC;IAChC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzD,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,UAAU;QAAE,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;IAChD,IAAI,WAAW;QAAE,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC;IACnD,IAAI,UAAU;QAAE,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;IAChD,IAAI,IAAI,CAAC,MAAM;QAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/E,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/E,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5E,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5E,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;QAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS;QAAE,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE1G,MAAM,IAAI,GAAG,MAAM,UAAU,CAA6B,KAAK,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC7F,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACrC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI;YAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;SACrC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAA6B;IACzE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAuB,KAAK,EAAE,mBAAmB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjH,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,WAAW,EAAE,QAAQ,CAAC,WAAW;KAClC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function squarePayments(args: Record<string, unknown>): Promise<unknown>;
2
+ export declare function squareCustomers(args: Record<string, unknown>): Promise<unknown>;
3
+ export declare function squareCatalogList(args: Record<string, unknown>): Promise<unknown>;
4
+ export declare function squareCatalogSearch(args: Record<string, unknown>): Promise<unknown>;
5
+ //# sourceMappingURL=square-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"square-tool.d.ts","sourceRoot":"","sources":["../src/square-tool.ts"],"names":[],"mappings":"AAyEA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAiCpF;AAID,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAUrF;AAID,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CASvF;AAID,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBzF"}
@@ -0,0 +1,133 @@
1
+ // ─── Square REST API Tool ────────────────────────────────────────────────────
2
+ // Covers payments, orders, customers, and catalog.
3
+ // Auth: Access token (Bearer token).
4
+ // Base URL: https://connect.squareup.com/v2
5
+ // No external dependencies - native fetch only.
6
+ const SQUARE_BASE = "https://connect.squareup.com/v2";
7
+ // ─── Helpers ──────────────────────────────────────────────────────────────────
8
+ function requireConfig(args) {
9
+ const access_token = String(args.access_token ?? "").trim();
10
+ if (!access_token)
11
+ return { error: "access_token is required (Square access token)." };
12
+ return { access_token };
13
+ }
14
+ async function squareFetch(cfg, method, path, body, query) {
15
+ const url = new URL(`${SQUARE_BASE}${path}`);
16
+ if (method === "GET" && query) {
17
+ for (const [k, v] of Object.entries(query)) {
18
+ if (v !== undefined)
19
+ url.searchParams.set(k, String(v));
20
+ }
21
+ }
22
+ let response;
23
+ try {
24
+ response = await fetch(url.toString(), {
25
+ method,
26
+ headers: {
27
+ Authorization: `Bearer ${cfg.access_token}`,
28
+ "Square-Version": "2024-01-17",
29
+ "Content-Type": "application/json",
30
+ "Accept": "application/json",
31
+ },
32
+ body: body !== undefined ? JSON.stringify(body) : undefined,
33
+ });
34
+ }
35
+ catch (err) {
36
+ return { error: `Network error: ${err instanceof Error ? err.message : String(err)}` };
37
+ }
38
+ if (response.status === 429) {
39
+ return { error: "Square rate limit reached. Wait before retrying.", status: 429 };
40
+ }
41
+ if (response.status === 401) {
42
+ return { error: "Square auth failed: invalid or missing access token.", status: 401 };
43
+ }
44
+ let data;
45
+ try {
46
+ data = await response.json();
47
+ }
48
+ catch {
49
+ return { error: `Non-JSON response (HTTP ${response.status})`, status: response.status };
50
+ }
51
+ if (!response.ok) {
52
+ const d = data;
53
+ return { error: d["errors"] ?? d["message"] ?? "Square API error", status: response.status };
54
+ }
55
+ return data;
56
+ }
57
+ // ─── square_payments ──────────────────────────────────────────────────────────
58
+ export async function squarePayments(args) {
59
+ const cfg = requireConfig(args);
60
+ if ("error" in cfg)
61
+ return cfg;
62
+ const action = String(args.action ?? "list");
63
+ switch (action) {
64
+ case "list": {
65
+ return squareFetch(cfg, "GET", "/payments", undefined, {
66
+ begin_time: args.begin_time ? String(args.begin_time) : undefined,
67
+ end_time: args.end_time ? String(args.end_time) : undefined,
68
+ cursor: args.cursor ? String(args.cursor) : undefined,
69
+ limit: args.limit ? Number(args.limit) : 20,
70
+ });
71
+ }
72
+ case "create": {
73
+ const source_id = String(args.source_id ?? "").trim();
74
+ const idempotency_key = String(args.idempotency_key ?? crypto.randomUUID());
75
+ if (!source_id)
76
+ return { error: "source_id is required for action='create'." };
77
+ if (!args.amount_money || typeof args.amount_money !== "object") {
78
+ return { error: "amount_money object is required for action='create' (e.g. {amount: 100, currency: 'USD'})." };
79
+ }
80
+ return squareFetch(cfg, "POST", "/payments", {
81
+ source_id,
82
+ idempotency_key,
83
+ amount_money: args.amount_money,
84
+ note: args.note ? String(args.note) : undefined,
85
+ customer_id: args.customer_id ? String(args.customer_id) : undefined,
86
+ });
87
+ }
88
+ default:
89
+ return { error: `Unknown action "${action}". Valid: list, create.` };
90
+ }
91
+ }
92
+ // ─── square_customers ─────────────────────────────────────────────────────────
93
+ export async function squareCustomers(args) {
94
+ const cfg = requireConfig(args);
95
+ if ("error" in cfg)
96
+ return cfg;
97
+ return squareFetch(cfg, "GET", "/customers", undefined, {
98
+ cursor: args.cursor ? String(args.cursor) : undefined,
99
+ limit: args.limit ? Number(args.limit) : 20,
100
+ sort_field: args.sort_field ? String(args.sort_field) : undefined,
101
+ sort_order: args.sort_order ? String(args.sort_order) : undefined,
102
+ });
103
+ }
104
+ // ─── square_catalog_list ──────────────────────────────────────────────────────
105
+ export async function squareCatalogList(args) {
106
+ const cfg = requireConfig(args);
107
+ if ("error" in cfg)
108
+ return cfg;
109
+ return squareFetch(cfg, "GET", "/catalog/list", undefined, {
110
+ cursor: args.cursor ? String(args.cursor) : undefined,
111
+ types: args.types ? String(args.types) : undefined,
112
+ limit: args.limit ? Number(args.limit) : 100,
113
+ });
114
+ }
115
+ // ─── square_catalog_search ────────────────────────────────────────────────────
116
+ export async function squareCatalogSearch(args) {
117
+ const cfg = requireConfig(args);
118
+ if ("error" in cfg)
119
+ return cfg;
120
+ const text_filter = String(args.text_filter ?? "").trim();
121
+ if (!text_filter)
122
+ return { error: "text_filter (search text) is required." };
123
+ const objectTypes = args.object_types && Array.isArray(args.object_types)
124
+ ? args.object_types
125
+ : ["ITEM"];
126
+ return squareFetch(cfg, "POST", "/catalog/search", {
127
+ text_filter: { keyword: text_filter },
128
+ object_types: objectTypes,
129
+ limit: args.limit ? Number(args.limit) : 20,
130
+ cursor: args.cursor ? String(args.cursor) : undefined,
131
+ });
132
+ }
133
+ //# sourceMappingURL=square-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"square-tool.js","sourceRoot":"","sources":["../src/square-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function stabilityTextToImage(args: Record<string, unknown>): Promise<unknown>;
2
+ export declare function stabilityImageToImage(args: Record<string, unknown>): Promise<unknown>;
3
+ export declare function stabilityUpscale(args: Record<string, unknown>): Promise<unknown>;
4
+ export declare function stabilityListEngines(args: Record<string, unknown>): Promise<unknown>;
5
+ //# sourceMappingURL=stability-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stability-tool.d.ts","sourceRoot":"","sources":["../src/stability-tool.ts"],"names":[],"mappings":"AAuGA,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA2C1F;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA+C3F;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA8BtF;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAc1F"}