@unclick/mcp-server 0.2.2 → 0.2.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 (175) hide show
  1. package/dist/airtable-tool.d.ts +2 -0
  2. package/dist/airtable-tool.d.ts.map +1 -0
  3. package/dist/airtable-tool.js +154 -0
  4. package/dist/airtable-tool.js.map +1 -0
  5. package/dist/anthropic-tool.d.ts +3 -0
  6. package/dist/anthropic-tool.d.ts.map +1 -0
  7. package/dist/anthropic-tool.js +123 -0
  8. package/dist/anthropic-tool.js.map +1 -0
  9. package/dist/asana-tool.d.ts +8 -0
  10. package/dist/asana-tool.d.ts.map +1 -0
  11. package/dist/asana-tool.js +218 -0
  12. package/dist/asana-tool.js.map +1 -0
  13. package/dist/calendly-tool.d.ts +6 -0
  14. package/dist/calendly-tool.d.ts.map +1 -0
  15. package/dist/calendly-tool.js +182 -0
  16. package/dist/calendly-tool.js.map +1 -0
  17. package/dist/clickup-tool.d.ts +2 -0
  18. package/dist/clickup-tool.d.ts.map +1 -0
  19. package/dist/clickup-tool.js +153 -0
  20. package/dist/clickup-tool.js.map +1 -0
  21. package/dist/connectors/figma.d.ts +3 -0
  22. package/dist/connectors/figma.d.ts.map +1 -0
  23. package/dist/connectors/figma.js +18 -0
  24. package/dist/connectors/figma.js.map +1 -0
  25. package/dist/connectors/index.d.ts +3 -1
  26. package/dist/connectors/index.d.ts.map +1 -1
  27. package/dist/connectors/index.js +5 -1
  28. package/dist/connectors/index.js.map +1 -1
  29. package/dist/connectors/line.d.ts +3 -0
  30. package/dist/connectors/line.d.ts.map +1 -0
  31. package/dist/connectors/line.js +18 -0
  32. package/dist/connectors/line.js.map +1 -0
  33. package/dist/ebay-tool.d.ts +5 -0
  34. package/dist/ebay-tool.d.ts.map +1 -0
  35. package/dist/ebay-tool.js +179 -0
  36. package/dist/ebay-tool.js.map +1 -0
  37. package/dist/elevenlabs-tool.d.ts +6 -0
  38. package/dist/elevenlabs-tool.d.ts.map +1 -0
  39. package/dist/elevenlabs-tool.js +166 -0
  40. package/dist/elevenlabs-tool.js.map +1 -0
  41. package/dist/etsy-tool.d.ts +6 -0
  42. package/dist/etsy-tool.d.ts.map +1 -0
  43. package/dist/etsy-tool.js +125 -0
  44. package/dist/etsy-tool.js.map +1 -0
  45. package/dist/exchangerate-tool.d.ts +5 -0
  46. package/dist/exchangerate-tool.d.ts.map +1 -0
  47. package/dist/exchangerate-tool.js +139 -0
  48. package/dist/exchangerate-tool.js.map +1 -0
  49. package/dist/figma-tool.d.ts +8 -0
  50. package/dist/figma-tool.d.ts.map +1 -0
  51. package/dist/figma-tool.js +231 -0
  52. package/dist/figma-tool.js.map +1 -0
  53. package/dist/gdelt-tool.d.ts +5 -0
  54. package/dist/gdelt-tool.d.ts.map +1 -0
  55. package/dist/gdelt-tool.js +177 -0
  56. package/dist/gdelt-tool.js.map +1 -0
  57. package/dist/github-tool.d.ts +2 -0
  58. package/dist/github-tool.d.ts.map +1 -0
  59. package/dist/github-tool.js +165 -0
  60. package/dist/github-tool.js.map +1 -0
  61. package/dist/gitlab-tool.d.ts +2 -0
  62. package/dist/gitlab-tool.d.ts.map +1 -0
  63. package/dist/gitlab-tool.js +127 -0
  64. package/dist/gitlab-tool.js.map +1 -0
  65. package/dist/igdb-tool.d.ts +6 -0
  66. package/dist/igdb-tool.d.ts.map +1 -0
  67. package/dist/igdb-tool.js +140 -0
  68. package/dist/igdb-tool.js.map +1 -0
  69. package/dist/line-tool.d.ts +7 -0
  70. package/dist/line-tool.d.ts.map +1 -0
  71. package/dist/line-tool.js +188 -0
  72. package/dist/line-tool.js.map +1 -0
  73. package/dist/linear-tool.d.ts +2 -0
  74. package/dist/linear-tool.d.ts.map +1 -0
  75. package/dist/linear-tool.js +186 -0
  76. package/dist/linear-tool.js.map +1 -0
  77. package/dist/monday-tool.d.ts +7 -0
  78. package/dist/monday-tool.d.ts.map +1 -0
  79. package/dist/monday-tool.js +206 -0
  80. package/dist/monday-tool.js.map +1 -0
  81. package/dist/openai-tool.d.ts +6 -0
  82. package/dist/openai-tool.d.ts.map +1 -0
  83. package/dist/openai-tool.js +227 -0
  84. package/dist/openai-tool.js.map +1 -0
  85. package/dist/paypal-tool.d.ts +3 -0
  86. package/dist/paypal-tool.d.ts.map +1 -0
  87. package/dist/paypal-tool.js +157 -0
  88. package/dist/paypal-tool.js.map +1 -0
  89. package/dist/pinterest-tool.d.ts +7 -0
  90. package/dist/pinterest-tool.d.ts.map +1 -0
  91. package/dist/pinterest-tool.js +219 -0
  92. package/dist/pinterest-tool.js.map +1 -0
  93. package/dist/plaid-tool.d.ts +6 -0
  94. package/dist/plaid-tool.d.ts.map +1 -0
  95. package/dist/plaid-tool.js +149 -0
  96. package/dist/plaid-tool.js.map +1 -0
  97. package/dist/postman-tool.d.ts +2 -0
  98. package/dist/postman-tool.d.ts.map +1 -0
  99. package/dist/postman-tool.js +92 -0
  100. package/dist/postman-tool.js.map +1 -0
  101. package/dist/pushover-tool.d.ts +6 -0
  102. package/dist/pushover-tool.d.ts.map +1 -0
  103. package/dist/pushover-tool.js +146 -0
  104. package/dist/pushover-tool.js.map +1 -0
  105. package/dist/quickbooks-tool.d.ts +5 -0
  106. package/dist/quickbooks-tool.d.ts.map +1 -0
  107. package/dist/quickbooks-tool.js +160 -0
  108. package/dist/quickbooks-tool.js.map +1 -0
  109. package/dist/replicate-tool.d.ts +7 -0
  110. package/dist/replicate-tool.d.ts.map +1 -0
  111. package/dist/replicate-tool.js +172 -0
  112. package/dist/replicate-tool.js.map +1 -0
  113. package/dist/sentry-tool.d.ts +2 -0
  114. package/dist/sentry-tool.d.ts.map +1 -0
  115. package/dist/sentry-tool.js +123 -0
  116. package/dist/sentry-tool.js.map +1 -0
  117. package/dist/speedrun-tool.d.ts +6 -0
  118. package/dist/speedrun-tool.d.ts.map +1 -0
  119. package/dist/speedrun-tool.js +192 -0
  120. package/dist/speedrun-tool.js.map +1 -0
  121. package/dist/spotify-tool.d.ts +8 -0
  122. package/dist/spotify-tool.d.ts.map +1 -0
  123. package/dist/spotify-tool.js +274 -0
  124. package/dist/spotify-tool.js.map +1 -0
  125. package/dist/square-tool.d.ts +5 -0
  126. package/dist/square-tool.d.ts.map +1 -0
  127. package/dist/square-tool.js +133 -0
  128. package/dist/square-tool.js.map +1 -0
  129. package/dist/stability-tool.d.ts +5 -0
  130. package/dist/stability-tool.d.ts.map +1 -0
  131. package/dist/stability-tool.js +190 -0
  132. package/dist/stability-tool.js.map +1 -0
  133. package/dist/steam-tool.d.ts +6 -0
  134. package/dist/steam-tool.d.ts.map +1 -0
  135. package/dist/steam-tool.js +222 -0
  136. package/dist/steam-tool.js.map +1 -0
  137. package/dist/stripe-tool.d.ts +7 -0
  138. package/dist/stripe-tool.d.ts.map +1 -0
  139. package/dist/stripe-tool.js +181 -0
  140. package/dist/stripe-tool.js.map +1 -0
  141. package/dist/tiktok-tool.d.ts +4 -0
  142. package/dist/tiktok-tool.d.ts.map +1 -0
  143. package/dist/tiktok-tool.js +129 -0
  144. package/dist/tiktok-tool.js.map +1 -0
  145. package/dist/toilets-tool.js +2 -2
  146. package/dist/tool-wiring.d.ts +4066 -18
  147. package/dist/tool-wiring.d.ts.map +1 -1
  148. package/dist/tool-wiring.js +2601 -18
  149. package/dist/tool-wiring.js.map +1 -1
  150. package/dist/trello-tool.d.ts +2 -0
  151. package/dist/trello-tool.d.ts.map +1 -0
  152. package/dist/trello-tool.js +166 -0
  153. package/dist/trello-tool.js.map +1 -0
  154. package/dist/twilio-tool.d.ts +8 -0
  155. package/dist/twilio-tool.d.ts.map +1 -0
  156. package/dist/twilio-tool.js +243 -0
  157. package/dist/twilio-tool.js.map +1 -0
  158. package/dist/whatsapp-tool.d.ts +6 -0
  159. package/dist/whatsapp-tool.d.ts.map +1 -0
  160. package/dist/whatsapp-tool.js +200 -0
  161. package/dist/whatsapp-tool.js.map +1 -0
  162. package/dist/woocommerce-tool.d.ts +4 -0
  163. package/dist/woocommerce-tool.d.ts.map +1 -0
  164. package/dist/woocommerce-tool.js +140 -0
  165. package/dist/woocommerce-tool.js.map +1 -0
  166. package/dist/youtube-tool.d.ts +7 -0
  167. package/dist/youtube-tool.d.ts.map +1 -0
  168. package/dist/youtube-tool.js +196 -0
  169. package/dist/youtube-tool.js.map +1 -0
  170. package/package.json +2 -2
  171. package/server.json +24 -5
  172. package/dist/cloudflare-worker.d.ts +0 -12
  173. package/dist/cloudflare-worker.d.ts.map +0 -1
  174. package/dist/cloudflare-worker.js +0 -50
  175. package/dist/cloudflare-worker.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickbooks-tool.js","sourceRoot":"","sources":["../src/quickbooks-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function replicateListModels(args: Record<string, unknown>): Promise<unknown>;
2
+ export declare function replicateGetModel(args: Record<string, unknown>): Promise<unknown>;
3
+ export declare function replicateCreatePrediction(args: Record<string, unknown>): Promise<unknown>;
4
+ export declare function replicateGetPrediction(args: Record<string, unknown>): Promise<unknown>;
5
+ export declare function replicateListPredictions(args: Record<string, unknown>): Promise<unknown>;
6
+ export declare function replicateCancelPrediction(args: Record<string, unknown>): Promise<unknown>;
7
+ //# sourceMappingURL=replicate-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replicate-tool.d.ts","sourceRoot":"","sources":["../src/replicate-tool.ts"],"names":[],"mappings":"AA6GA,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBzF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBvF;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAiC/F;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAO5F;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAY9F;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAa/F"}
@@ -0,0 +1,172 @@
1
+ // Replicate API integration for the UnClick MCP server.
2
+ // Uses the Replicate REST API via fetch - no external dependencies.
3
+ // Users must supply an API token from replicate.com/account/api-tokens.
4
+ const REPLICATE_API_BASE = "https://api.replicate.com/v1";
5
+ // ─── Auth validation ──────────────────────────────────────────────────────────
6
+ function requireToken(args) {
7
+ const token = String(args.api_token ?? "").trim();
8
+ if (!token)
9
+ throw new Error("api_token is required. Get one at replicate.com/account/api-tokens.");
10
+ return token;
11
+ }
12
+ // ─── API helpers ──────────────────────────────────────────────────────────────
13
+ async function replicateGet(token, path) {
14
+ const res = await fetch(`${REPLICATE_API_BASE}${path}`, {
15
+ headers: {
16
+ Authorization: `Bearer ${token}`,
17
+ "Content-Type": "application/json",
18
+ },
19
+ });
20
+ const data = await res.json();
21
+ if (!res.ok) {
22
+ const detail = data.detail ?? `HTTP ${res.status}`;
23
+ throw new Error(`Replicate error (${res.status}): ${detail}`);
24
+ }
25
+ return data;
26
+ }
27
+ async function replicatePost(token, path, body) {
28
+ const res = await fetch(`${REPLICATE_API_BASE}${path}`, {
29
+ method: "POST",
30
+ headers: {
31
+ Authorization: `Bearer ${token}`,
32
+ "Content-Type": "application/json",
33
+ },
34
+ body: JSON.stringify(body),
35
+ });
36
+ const data = await res.json();
37
+ if (!res.ok) {
38
+ const detail = data.detail ?? `HTTP ${res.status}`;
39
+ throw new Error(`Replicate error (${res.status}): ${detail}`);
40
+ }
41
+ return data;
42
+ }
43
+ // ─── Prediction normalizer ────────────────────────────────────────────────────
44
+ function normalizePrediction(p) {
45
+ return {
46
+ id: p.id,
47
+ version: p.version ?? null,
48
+ model: p.model ?? null,
49
+ status: p.status,
50
+ created_at: p.created_at,
51
+ started_at: p.started_at ?? null,
52
+ completed_at: p.completed_at ?? null,
53
+ input: p.input,
54
+ output: p.output ?? null,
55
+ error: p.error ?? null,
56
+ logs: p.logs ?? null,
57
+ predict_time_seconds: p.metrics?.predict_time ?? null,
58
+ get_url: p.urls.get,
59
+ };
60
+ }
61
+ // ─── Operations ───────────────────────────────────────────────────────────────
62
+ export async function replicateListModels(args) {
63
+ const token = requireToken(args);
64
+ const cursor = args.cursor ? `?cursor=${encodeURIComponent(String(args.cursor))}` : "";
65
+ const data = await replicateGet(token, `/models${cursor}`);
66
+ return {
67
+ count: data.results.length,
68
+ next_cursor: data.next ?? null,
69
+ models: data.results.map((m) => ({
70
+ owner: m.owner,
71
+ name: m.name,
72
+ description: m.description,
73
+ visibility: m.visibility,
74
+ url: m.url,
75
+ latest_version_id: m.latest_version?.id ?? null,
76
+ })),
77
+ };
78
+ }
79
+ export async function replicateGetModel(args) {
80
+ const token = requireToken(args);
81
+ const owner = String(args.owner ?? "").trim();
82
+ const name = String(args.model_name ?? "").trim();
83
+ if (!owner)
84
+ throw new Error("owner is required (the model owner's username).");
85
+ if (!name)
86
+ throw new Error("model_name is required.");
87
+ const model = await replicateGet(token, `/models/${encodeURIComponent(owner)}/${encodeURIComponent(name)}`);
88
+ return {
89
+ owner: model.owner,
90
+ name: model.name,
91
+ description: model.description,
92
+ visibility: model.visibility,
93
+ url: model.url,
94
+ github_url: model.github_url,
95
+ paper_url: model.paper_url,
96
+ license_url: model.license_url,
97
+ latest_version: model.latest_version ? {
98
+ id: model.latest_version.id,
99
+ created_at: model.latest_version.created_at,
100
+ } : null,
101
+ };
102
+ }
103
+ export async function replicateCreatePrediction(args) {
104
+ const token = requireToken(args);
105
+ let input;
106
+ if (typeof args.input === "string") {
107
+ try {
108
+ input = JSON.parse(args.input);
109
+ }
110
+ catch {
111
+ throw new Error("input must be valid JSON (an object of model-specific parameters).");
112
+ }
113
+ }
114
+ else if (args.input && typeof args.input === "object") {
115
+ input = args.input;
116
+ }
117
+ else {
118
+ throw new Error("input is required (object of model-specific parameters).");
119
+ }
120
+ const body = { input };
121
+ const version = String(args.version ?? "").trim();
122
+ const model = String(args.model ?? "").trim();
123
+ if (version) {
124
+ body.version = version;
125
+ }
126
+ else if (model) {
127
+ // model format: owner/name or owner/name:version
128
+ body.model = model;
129
+ }
130
+ else {
131
+ throw new Error("Either version (version ID) or model (owner/name) is required.");
132
+ }
133
+ if (args.webhook)
134
+ body.webhook = String(args.webhook);
135
+ if (args.webhook_events_filter)
136
+ body.webhook_events_filter = args.webhook_events_filter;
137
+ if (args.stream === true)
138
+ body.stream = true;
139
+ const prediction = await replicatePost(token, "/predictions", body);
140
+ return normalizePrediction(prediction);
141
+ }
142
+ export async function replicateGetPrediction(args) {
143
+ const token = requireToken(args);
144
+ const predictionId = String(args.prediction_id ?? "").trim();
145
+ if (!predictionId)
146
+ throw new Error("prediction_id is required.");
147
+ const prediction = await replicateGet(token, `/predictions/${encodeURIComponent(predictionId)}`);
148
+ return normalizePrediction(prediction);
149
+ }
150
+ export async function replicateListPredictions(args) {
151
+ const token = requireToken(args);
152
+ const cursor = args.cursor ? `?cursor=${encodeURIComponent(String(args.cursor))}` : "";
153
+ const data = await replicateGet(token, `/predictions${cursor}`);
154
+ return {
155
+ count: data.results.length,
156
+ next_cursor: data.next ?? null,
157
+ predictions: data.results.map(normalizePrediction),
158
+ };
159
+ }
160
+ export async function replicateCancelPrediction(args) {
161
+ const token = requireToken(args);
162
+ const predictionId = String(args.prediction_id ?? "").trim();
163
+ if (!predictionId)
164
+ throw new Error("prediction_id is required.");
165
+ const prediction = await replicatePost(token, `/predictions/${encodeURIComponent(predictionId)}/cancel`, {});
166
+ return {
167
+ success: true,
168
+ prediction_id: prediction.id,
169
+ status: prediction.status,
170
+ };
171
+ }
172
+ //# sourceMappingURL=replicate-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replicate-tool.js","sourceRoot":"","sources":["../src/replicate-tool.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,oEAAoE;AACpE,wEAAwE;AAExE,MAAM,kBAAkB,GAAG,8BAA8B,CAAC;AAuC1D,iFAAiF;AAEjF,SAAS,YAAY,CAAC,IAA6B;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACnG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,YAAY,CAAI,KAAa,EAAE,IAAY;IACxD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,kBAAkB,GAAG,IAAI,EAAE,EAAE;QACtD,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAA6B,CAAC;IACzD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiB,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,MAAM,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,IAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,aAAa,CAAI,KAAa,EAAE,IAAY,EAAE,IAAa;IACxE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,kBAAkB,GAAG,IAAI,EAAE,EAAE;QACtD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAA6B,CAAC;IACzD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiB,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,MAAM,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,IAAS,CAAC;AACnB,CAAC;AAED,iFAAiF;AAEjF,SAAS,mBAAmB,CAAC,CAAsB;IACjD,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;QAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;QACtB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;QAChC,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;QACpC,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI;QACxB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;QACtB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;QACpB,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,YAAY,IAAI,IAAI;QACrD,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG;KACpB,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAA6B;IACrE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,MAAM,IAAI,GAAG,MAAM,YAAY,CAC7B,KAAK,EAAE,UAAU,MAAM,EAAE,CAC1B,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;QAC1B,WAAW,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;QAC9B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,iBAAiB,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,IAAI,IAAI;SAChD,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAA6B;IACnE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC/E,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEtD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAiB,KAAK,EAAE,WAAW,kBAAkB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5H,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACrC,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE;YAC3B,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU;SAC5C,CAAC,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAA6B;IAC3E,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,KAA8B,CAAC;IACnC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QACvC,MAAM,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAAC,CAAC;IAClG,CAAC;SAAM,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxD,KAAK,GAAG,IAAI,CAAC,KAAgC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,CAAC;IAEhD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9C,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,iDAAiD;QACjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,IAAI,CAAC,qBAAqB;QAAE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;IACxF,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;QAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IAE7C,MAAM,UAAU,GAAG,MAAM,aAAa,CAAsB,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACzF,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAA6B;IACxE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,MAAM,YAAY,CAAsB,KAAK,EAAE,gBAAgB,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACtH,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAA6B;IAC1E,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,MAAM,IAAI,GAAG,MAAM,YAAY,CAC7B,KAAK,EAAE,eAAe,MAAM,EAAE,CAC/B,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;QAC1B,WAAW,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;QAC9B,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAA6B;IAC3E,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,MAAM,aAAa,CACpC,KAAK,EAAE,gBAAgB,kBAAkB,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CACrE,CAAC;IACF,OAAO;QACL,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,UAAU,CAAC,EAAE;QAC5B,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function sentryAction(action: string, args: Record<string, unknown>): Promise<unknown>;
2
+ //# sourceMappingURL=sentry-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentry-tool.d.ts","sourceRoot":"","sources":["../src/sentry-tool.ts"],"names":[],"mappings":"AA8GA,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,OAAO,CAAC,CAmBlB"}
@@ -0,0 +1,123 @@
1
+ // ── Sentry REST API tool ───────────────────────────────────────────────────
2
+ // Wraps the Sentry REST API (https://sentry.io/api/0/) via fetch.
3
+ // Auth: auth token passed as auth_token.
4
+ // No external dependencies.
5
+ const SENTRY_API = "https://sentry.io/api/0";
6
+ // ── Fetch helper ───────────────────────────────────────────────────────────────
7
+ async function sentryFetch(token, method, path, body, query) {
8
+ const url = new URL(`${SENTRY_API}${path}`);
9
+ if (query) {
10
+ for (const [k, v] of Object.entries(query)) {
11
+ if (v !== undefined && v !== "")
12
+ url.searchParams.set(k, String(v));
13
+ }
14
+ }
15
+ const headers = {
16
+ Authorization: `Bearer ${token}`,
17
+ "User-Agent": "UnClick-MCP/1.0",
18
+ };
19
+ if (body !== undefined)
20
+ headers["Content-Type"] = "application/json";
21
+ let response;
22
+ try {
23
+ response = await fetch(url.toString(), {
24
+ method,
25
+ headers,
26
+ body: body !== undefined ? JSON.stringify(body) : undefined,
27
+ });
28
+ }
29
+ catch (err) {
30
+ return { error: `Network error reaching Sentry API: ${err instanceof Error ? err.message : String(err)}` };
31
+ }
32
+ const text = await response.text();
33
+ let data;
34
+ try {
35
+ data = JSON.parse(text);
36
+ }
37
+ catch {
38
+ data = { raw: text };
39
+ }
40
+ if (response.status === 401)
41
+ return { error: "Sentry auth token is invalid or expired. Check your auth_token.", status: 401 };
42
+ if (response.status === 403)
43
+ return { error: "Insufficient permissions for this Sentry resource.", status: 403 };
44
+ if (response.status === 404)
45
+ return { error: "Project, issue, or event not found. Check the organization_slug and project_slug.", status: 404 };
46
+ if (response.status === 429)
47
+ return { error: "Sentry rate limit exceeded. Please wait and retry.", status: 429 };
48
+ if (!response.ok) {
49
+ const detail = data?.detail ?? text;
50
+ return { error: `Sentry API error ${response.status}: ${detail}`, status: response.status };
51
+ }
52
+ return data;
53
+ }
54
+ // ── Action implementations ─────────────────────────────────────────────────────
55
+ async function listProjects(token, args) {
56
+ const orgSlug = String(args.organization_slug ?? "").trim();
57
+ if (!orgSlug)
58
+ return { error: "organization_slug is required." };
59
+ return sentryFetch(token, "GET", `/organizations/${encodeURIComponent(orgSlug)}/projects/`, undefined, {
60
+ cursor: args.cursor ? String(args.cursor) : undefined,
61
+ });
62
+ }
63
+ async function listIssues(token, args) {
64
+ const orgSlug = String(args.organization_slug ?? "").trim();
65
+ const projSlug = String(args.project_slug ?? "").trim();
66
+ if (!orgSlug)
67
+ return { error: "organization_slug is required." };
68
+ if (!projSlug)
69
+ return { error: "project_slug is required." };
70
+ return sentryFetch(token, "GET", `/projects/${encodeURIComponent(orgSlug)}/${encodeURIComponent(projSlug)}/issues/`, undefined, {
71
+ query: args.query ? String(args.query) : undefined,
72
+ limit: args.limit ? Number(args.limit) : 25,
73
+ cursor: args.cursor ? String(args.cursor) : undefined,
74
+ statsPeriod: args.stats_period ? String(args.stats_period) : undefined,
75
+ });
76
+ }
77
+ async function getIssue(token, args) {
78
+ const issueId = String(args.issue_id ?? "").trim();
79
+ if (!issueId)
80
+ return { error: "issue_id is required." };
81
+ return sentryFetch(token, "GET", `/issues/${encodeURIComponent(issueId)}/`);
82
+ }
83
+ async function listEvents(token, args) {
84
+ const orgSlug = String(args.organization_slug ?? "").trim();
85
+ const projSlug = String(args.project_slug ?? "").trim();
86
+ const issueId = String(args.issue_id ?? "").trim();
87
+ if (!orgSlug)
88
+ return { error: "organization_slug is required." };
89
+ if (!projSlug)
90
+ return { error: "project_slug is required." };
91
+ if (!issueId)
92
+ return { error: "issue_id is required." };
93
+ return sentryFetch(token, "GET", `/projects/${encodeURIComponent(orgSlug)}/${encodeURIComponent(projSlug)}/issues/${encodeURIComponent(issueId)}/events/`, undefined, { limit: args.limit ? Number(args.limit) : 10 });
94
+ }
95
+ async function resolveIssue(token, args) {
96
+ const issueId = String(args.issue_id ?? "").trim();
97
+ if (!issueId)
98
+ return { error: "issue_id is required." };
99
+ return sentryFetch(token, "PUT", `/issues/${encodeURIComponent(issueId)}/`, { status: "resolved" });
100
+ }
101
+ // ── Public dispatcher ──────────────────────────────────────────────────────────
102
+ export async function sentryAction(action, args) {
103
+ const token = String(args.auth_token ?? "").trim();
104
+ if (!token)
105
+ return { error: "auth_token is required." };
106
+ try {
107
+ switch (action) {
108
+ case "list_projects": return listProjects(token, args);
109
+ case "list_issues": return listIssues(token, args);
110
+ case "get_issue": return getIssue(token, args);
111
+ case "list_events": return listEvents(token, args);
112
+ case "resolve_issue": return resolveIssue(token, args);
113
+ default:
114
+ return {
115
+ error: `Unknown Sentry action: "${action}". Valid actions: list_projects, list_issues, get_issue, list_events, resolve_issue.`,
116
+ };
117
+ }
118
+ }
119
+ catch (err) {
120
+ return { error: err instanceof Error ? err.message : String(err) };
121
+ }
122
+ }
123
+ //# sourceMappingURL=sentry-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentry-tool.js","sourceRoot":"","sources":["../src/sentry-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function speedrunSearchGames(args: Record<string, unknown>): Promise<unknown>;
2
+ export declare function speedrunGetGame(args: Record<string, unknown>): Promise<unknown>;
3
+ export declare function speedrunGetLeaderboard(args: Record<string, unknown>): Promise<unknown>;
4
+ export declare function speedrunListRuns(args: Record<string, unknown>): Promise<unknown>;
5
+ export declare function speedrunGetUser(args: Record<string, unknown>): Promise<unknown>;
6
+ //# sourceMappingURL=speedrun-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speedrun-tool.d.ts","sourceRoot":"","sources":["../src/speedrun-tool.ts"],"names":[],"mappings":"AA8BA,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAwBzF;AAGD,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAqBrF;AAGD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAuC5F;AAGD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA+BtF;AAGD,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAoBrF"}
@@ -0,0 +1,192 @@
1
+ // Speedrun.com API - games, runs, and leaderboards.
2
+ // Docs: https://github.com/speedruncomorg/api
3
+ // Auth: None required for public data
4
+ // Base: https://www.speedrun.com/api/v1
5
+ const SPEEDRUN_BASE = "https://www.speedrun.com/api/v1";
6
+ async function speedrunGet(path, params) {
7
+ const url = new URL(`${SPEEDRUN_BASE}${path}`);
8
+ if (params) {
9
+ for (const [k, v] of Object.entries(params)) {
10
+ if (v !== undefined && v !== "")
11
+ url.searchParams.set(k, v);
12
+ }
13
+ }
14
+ const res = await fetch(url.toString(), {
15
+ headers: { Accept: "application/json" },
16
+ });
17
+ if (res.status === 404)
18
+ throw new Error(`Speedrun.com: resource not found at ${path}.`);
19
+ if (res.status === 420)
20
+ throw new Error("Speedrun.com rate limit exceeded. Please wait before retrying.");
21
+ if (!res.ok) {
22
+ const body = await res.text().catch(() => "");
23
+ throw new Error(`Speedrun.com HTTP ${res.status}: ${body || res.statusText}`);
24
+ }
25
+ return res.json();
26
+ }
27
+ // speedrun_search_games
28
+ export async function speedrunSearchGames(args) {
29
+ try {
30
+ const name = String(args.name ?? "").trim();
31
+ if (!name)
32
+ return { error: "name is required." };
33
+ const params = { name };
34
+ if (args.max)
35
+ params.max = String(args.max);
36
+ const json = await speedrunGet("/games", params);
37
+ const data = (json.data ?? []);
38
+ return {
39
+ count: data.length,
40
+ games: data.map((g) => ({
41
+ id: g.id,
42
+ names: g.names,
43
+ abbreviation: g.abbreviation,
44
+ weblink: g.weblink,
45
+ released: g.released,
46
+ platforms: g.platforms ?? [],
47
+ regions: g.regions ?? [],
48
+ })),
49
+ };
50
+ }
51
+ catch (err) {
52
+ return { error: err instanceof Error ? err.message : String(err) };
53
+ }
54
+ }
55
+ // speedrun_get_game
56
+ export async function speedrunGetGame(args) {
57
+ try {
58
+ const gameId = String(args.game_id ?? "").trim();
59
+ if (!gameId)
60
+ return { error: "game_id is required (use speedrun_search_games to find an ID)." };
61
+ const json = await speedrunGet(`/games/${gameId}`, { embed: "categories,levels,platforms" });
62
+ const data = json.data;
63
+ if (!data)
64
+ return { error: "Game not found." };
65
+ return {
66
+ id: data.id,
67
+ names: data.names,
68
+ abbreviation: data.abbreviation,
69
+ weblink: data.weblink,
70
+ released: data.released,
71
+ categories: data.categories?.data ?? [],
72
+ levels: data.levels?.data ?? [],
73
+ platforms: data.platforms?.data ?? [],
74
+ };
75
+ }
76
+ catch (err) {
77
+ return { error: err instanceof Error ? err.message : String(err) };
78
+ }
79
+ }
80
+ // speedrun_get_leaderboard
81
+ export async function speedrunGetLeaderboard(args) {
82
+ try {
83
+ const gameId = String(args.game_id ?? "").trim();
84
+ if (!gameId)
85
+ return { error: "game_id is required." };
86
+ const categoryId = String(args.category_id ?? "").trim();
87
+ if (!categoryId)
88
+ return { error: "category_id is required." };
89
+ const params = { embed: "players" };
90
+ if (args.top)
91
+ params.top = String(args.top);
92
+ if (args.platform)
93
+ params.platform = String(args.platform);
94
+ if (args.region)
95
+ params.region = String(args.region);
96
+ if (args.emulators !== undefined)
97
+ params.emulators = String(args.emulators);
98
+ if (args.video_only !== undefined)
99
+ params.video_only = String(args.video_only);
100
+ const json = await speedrunGet(`/leaderboards/${gameId}/category/${categoryId}`, params);
101
+ const data = json.data;
102
+ const runs = (data?.runs ?? []);
103
+ return {
104
+ game: data?.game,
105
+ category: data?.category,
106
+ weblink: data?.weblink,
107
+ count: runs.length,
108
+ runs: runs.map((r) => {
109
+ const run = r.run;
110
+ return {
111
+ place: r.place,
112
+ run_id: run?.id,
113
+ status: run?.status?.status,
114
+ times: run?.times,
115
+ date: run?.date,
116
+ weblink: run?.weblink,
117
+ players: run?.players,
118
+ videos: run?.videos,
119
+ };
120
+ }),
121
+ };
122
+ }
123
+ catch (err) {
124
+ return { error: err instanceof Error ? err.message : String(err) };
125
+ }
126
+ }
127
+ // speedrun_list_runs
128
+ export async function speedrunListRuns(args) {
129
+ try {
130
+ const params = {};
131
+ if (args.game)
132
+ params.game = String(args.game);
133
+ if (args.category)
134
+ params.category = String(args.category);
135
+ if (args.user)
136
+ params.user = String(args.user);
137
+ if (args.status)
138
+ params.status = String(args.status);
139
+ if (args.orderby)
140
+ params.orderby = String(args.orderby);
141
+ if (args.direction)
142
+ params.direction = String(args.direction);
143
+ if (args.max)
144
+ params.max = String(args.max);
145
+ if (!params.game && !params.user)
146
+ return { error: "At least game or user is required." };
147
+ const json = await speedrunGet("/runs", params);
148
+ const data = (json.data ?? []);
149
+ return {
150
+ count: data.length,
151
+ runs: data.map((r) => ({
152
+ id: r.id,
153
+ game: r.game,
154
+ category: r.category,
155
+ status: r.status?.status,
156
+ times: r.times,
157
+ date: r.date,
158
+ weblink: r.weblink,
159
+ players: r.players,
160
+ videos: r.videos,
161
+ })),
162
+ };
163
+ }
164
+ catch (err) {
165
+ return { error: err instanceof Error ? err.message : String(err) };
166
+ }
167
+ }
168
+ // speedrun_get_user
169
+ export async function speedrunGetUser(args) {
170
+ try {
171
+ const userId = String(args.user_id ?? "").trim();
172
+ if (!userId)
173
+ return { error: "user_id is required (can be the username or ID)." };
174
+ const json = await speedrunGet(`/users/${userId}`);
175
+ const data = json.data;
176
+ if (!data)
177
+ return { error: "User not found." };
178
+ return {
179
+ id: data.id,
180
+ names: data.names,
181
+ weblink: data.weblink,
182
+ location: data.location,
183
+ signup: data.signup,
184
+ role: data.role,
185
+ links: data.links,
186
+ };
187
+ }
188
+ catch (err) {
189
+ return { error: err instanceof Error ? err.message : String(err) };
190
+ }
191
+ }
192
+ //# sourceMappingURL=speedrun-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speedrun-tool.js","sourceRoot":"","sources":["../src/speedrun-tool.ts"],"names":[],"mappings":"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"}
@@ -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"}