agent-gateway-mcp 0.6.0 → 0.7.2
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.
- package/dist/auth.d.ts +12 -2
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +335 -49
- package/dist/auth.js.map +1 -1
- package/dist/config.d.ts +0 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -34
- package/dist/config.js.map +1 -1
- package/dist/credentials.d.ts +6 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +52 -0
- package/dist/credentials.js.map +1 -0
- package/dist/discovery.d.ts +2 -1
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +26 -0
- package/dist/discovery.js.map +1 -1
- package/dist/guides.d.ts +6 -0
- package/dist/guides.d.ts.map +1 -0
- package/dist/guides.js +19 -0
- package/dist/guides.js.map +1 -0
- package/dist/index.js +23 -3
- package/dist/index.js.map +1 -1
- package/dist/init.js +204 -275
- package/dist/init.js.map +1 -1
- package/dist/service-guides.d.ts +3 -0
- package/dist/service-guides.d.ts.map +1 -0
- package/dist/service-guides.js +270 -0
- package/dist/service-guides.js.map +1 -0
- package/dist/types.d.ts +41 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/src/auth.ts +387 -51
- package/src/config.ts +0 -42
- package/src/credentials.ts +58 -0
- package/src/discovery.ts +33 -1
- package/src/guides.ts +19 -0
- package/src/index.ts +25 -3
- package/src/init.ts +216 -353
- package/src/service-guides.ts +271 -0
- package/src/types.ts +52 -1
package/dist/auth.d.ts
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
|
-
import type { StoredToken } from "./types.js";
|
|
1
|
+
import type { StoredToken, ServiceGuide } from "./types.js";
|
|
2
|
+
export interface TestResult {
|
|
3
|
+
passed: boolean;
|
|
4
|
+
status_code?: number;
|
|
5
|
+
error_message?: string;
|
|
6
|
+
suggestion?: string;
|
|
7
|
+
}
|
|
2
8
|
export interface AuthResult {
|
|
3
9
|
success: boolean;
|
|
4
10
|
message: string;
|
|
5
11
|
token?: StoredToken;
|
|
12
|
+
needs_credentials?: boolean;
|
|
13
|
+
setup_instructions?: string;
|
|
14
|
+
guide?: ServiceGuide;
|
|
15
|
+
test_result?: TestResult;
|
|
6
16
|
}
|
|
7
|
-
export declare function authenticate(domain: string): Promise<AuthResult>;
|
|
17
|
+
export declare function authenticate(domain: string, overrideClientId?: string, overrideClientSecret?: string): Promise<AuthResult>;
|
|
8
18
|
export declare function storeApiKey(domain: string, apiKey: string): Promise<AuthResult>;
|
|
9
19
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAY,YAAY,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B;AAuPD,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,EACzB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,OAAO,CAAC,UAAU,CAAC,CAsGrB;AAID,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,CAAC,CAoDrB"}
|
package/dist/auth.js
CHANGED
|
@@ -1,7 +1,242 @@
|
|
|
1
1
|
import http from "http";
|
|
2
|
-
import {
|
|
2
|
+
import { spawn } from "child_process";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { loadConfig, getToken, storeToken, storeConnection } from "./config.js";
|
|
5
|
+
import { getCredential, storeCredential } from "./credentials.js";
|
|
3
6
|
import { fetchManifest } from "./discovery.js";
|
|
4
|
-
|
|
7
|
+
import { getGuide } from "./guides.js";
|
|
8
|
+
// ─── Setup instructions for LLM relay ────────────────────────────
|
|
9
|
+
async function buildSetupInstructions(domain, manifest) {
|
|
10
|
+
const guide = await getGuide(domain);
|
|
11
|
+
if (guide) {
|
|
12
|
+
return { text: formatGuideInstructions(domain, guide), guide };
|
|
13
|
+
}
|
|
14
|
+
// Fallback: generic instructions from manifest
|
|
15
|
+
const auth = manifest.auth;
|
|
16
|
+
const lines = [];
|
|
17
|
+
if (auth.type === "api_key") {
|
|
18
|
+
lines.push(`## Setup: ${manifest.name} (API Key)`);
|
|
19
|
+
lines.push("");
|
|
20
|
+
if (auth.setup_url) {
|
|
21
|
+
lines.push(`1. Go to: ${auth.setup_url}`);
|
|
22
|
+
lines.push("2. Create or copy your API key");
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
lines.push("1. Visit the service's developer portal and create an API key");
|
|
26
|
+
}
|
|
27
|
+
lines.push(`3. Call the auth tool again with: domain="${domain}" and api_key="<your-key>"`);
|
|
28
|
+
lines.push("");
|
|
29
|
+
lines.push(`Header: ${auth.header ?? "Authorization"}${auth.prefix ? ` (prefix: "${auth.prefix}")` : ""}`);
|
|
30
|
+
}
|
|
31
|
+
else if (auth.type === "oauth2") {
|
|
32
|
+
lines.push(`## Setup: ${manifest.name} (OAuth2)`);
|
|
33
|
+
lines.push("");
|
|
34
|
+
if (auth.setup_url) {
|
|
35
|
+
lines.push(`1. Go to: ${auth.setup_url}`);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
lines.push("1. Go to the service's developer portal / OAuth app settings");
|
|
39
|
+
}
|
|
40
|
+
lines.push("2. Create an OAuth application");
|
|
41
|
+
lines.push("3. Set the redirect URI to: http://localhost:9876/callback");
|
|
42
|
+
if (auth.scopes?.length) {
|
|
43
|
+
lines.push(`4. Required scopes: ${auth.scopes.join(", ")}`);
|
|
44
|
+
}
|
|
45
|
+
lines.push(`${auth.scopes?.length ? "5" : "4"}. Copy the client_id and client_secret`);
|
|
46
|
+
lines.push(`${auth.scopes?.length ? "6" : "5"}. Call the auth tool again with: domain="${domain}", client_id="<id>", client_secret="<secret>"`);
|
|
47
|
+
}
|
|
48
|
+
return { text: lines.join("\n") };
|
|
49
|
+
}
|
|
50
|
+
function formatGuideInstructions(domain, guide) {
|
|
51
|
+
const lines = [];
|
|
52
|
+
lines.push(`## Setup: ${guide.display_name} (${guide.auth_type})`);
|
|
53
|
+
lines.push("");
|
|
54
|
+
// Steps
|
|
55
|
+
for (let i = 0; i < guide.steps.length; i++) {
|
|
56
|
+
lines.push(`${i + 1}. ${guide.steps[i]}`);
|
|
57
|
+
}
|
|
58
|
+
lines.push("");
|
|
59
|
+
// Credential fields
|
|
60
|
+
lines.push("### Credentials needed:");
|
|
61
|
+
for (const field of guide.credential_fields) {
|
|
62
|
+
const masked = field.secret ? " (secret)" : "";
|
|
63
|
+
const placeholder = field.placeholder ? ` — e.g. ${field.placeholder}` : "";
|
|
64
|
+
lines.push(` - **${field.label}**${masked}: ${field.description}${placeholder}`);
|
|
65
|
+
}
|
|
66
|
+
lines.push("");
|
|
67
|
+
// How to provide
|
|
68
|
+
if (guide.auth_type === "api_key") {
|
|
69
|
+
lines.push(`Call auth with: domain="${domain}" and api_key="<your-key>"`);
|
|
70
|
+
}
|
|
71
|
+
else if (guide.auth_type === "oauth2") {
|
|
72
|
+
lines.push(`Call auth with: domain="${domain}", client_id="<id>", client_secret="<secret>"`);
|
|
73
|
+
}
|
|
74
|
+
// Notes
|
|
75
|
+
if (guide.notes.length > 0) {
|
|
76
|
+
lines.push("");
|
|
77
|
+
lines.push("### Notes:");
|
|
78
|
+
for (const note of guide.notes) {
|
|
79
|
+
lines.push(` - ${note}`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Test endpoint info
|
|
83
|
+
if (guide.test_endpoint) {
|
|
84
|
+
lines.push("");
|
|
85
|
+
lines.push(`After setup, credentials will be tested via ${guide.test_endpoint.method} ${guide.test_endpoint.path}${guide.test_endpoint.description ? ` (${guide.test_endpoint.description})` : ""}`);
|
|
86
|
+
}
|
|
87
|
+
return lines.join("\n");
|
|
88
|
+
}
|
|
89
|
+
// ─── Credential testing ─────────────────────────────────────────
|
|
90
|
+
async function testCredential(domain, guide, manifest, token) {
|
|
91
|
+
if (!guide.test_endpoint) {
|
|
92
|
+
return { passed: true };
|
|
93
|
+
}
|
|
94
|
+
const te = guide.test_endpoint;
|
|
95
|
+
const url = `${manifest.base_url}${te.path}`;
|
|
96
|
+
const headers = {
|
|
97
|
+
Accept: "application/json",
|
|
98
|
+
};
|
|
99
|
+
// Inject auth header using same logic as caller.ts
|
|
100
|
+
if (token.access_token !== "none") {
|
|
101
|
+
if (token.type === "api_key") {
|
|
102
|
+
const authHeader = manifest.auth.header ?? "Authorization";
|
|
103
|
+
const prefix = manifest.auth.prefix ?? "Bearer";
|
|
104
|
+
headers[authHeader] = `${prefix} ${token.access_token}`;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
headers["Authorization"] = `Bearer ${token.access_token}`;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
const res = await fetch(url, {
|
|
112
|
+
method: te.method,
|
|
113
|
+
headers,
|
|
114
|
+
signal: AbortSignal.timeout(10000),
|
|
115
|
+
});
|
|
116
|
+
const expectedStatus = te.expected_status;
|
|
117
|
+
const passed = expectedStatus
|
|
118
|
+
? res.status === expectedStatus
|
|
119
|
+
: res.status >= 200 && res.status < 300;
|
|
120
|
+
if (passed) {
|
|
121
|
+
return { passed: true, status_code: res.status };
|
|
122
|
+
}
|
|
123
|
+
// Failure — provide helpful suggestion
|
|
124
|
+
let suggestion;
|
|
125
|
+
if (res.status === 401) {
|
|
126
|
+
suggestion = "The key appears to be invalid or expired. Double-check it and try again.";
|
|
127
|
+
}
|
|
128
|
+
else if (res.status === 403) {
|
|
129
|
+
suggestion = "The key is valid but lacks required permissions/scopes.";
|
|
130
|
+
}
|
|
131
|
+
else if (res.status === 429) {
|
|
132
|
+
suggestion = "Rate limited. The credential may be correct — try again later.";
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
suggestion = `Unexpected status ${res.status}. The credential may still be correct.`;
|
|
136
|
+
}
|
|
137
|
+
return {
|
|
138
|
+
passed: false,
|
|
139
|
+
status_code: res.status,
|
|
140
|
+
error_message: `HTTP ${res.status}`,
|
|
141
|
+
suggestion,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
catch (err) {
|
|
145
|
+
return {
|
|
146
|
+
passed: false,
|
|
147
|
+
error_message: err instanceof Error ? err.message : "unknown error",
|
|
148
|
+
suggestion: "Service may be temporarily unavailable. Credentials may still be correct.",
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// ─── Interactive registration (spawn terminal) ──────────────────
|
|
153
|
+
async function launchRegistrationTerminal(domain) {
|
|
154
|
+
// Resolve the init script path relative to this file (same dist/ folder)
|
|
155
|
+
const rawDir = path.dirname(new URL(import.meta.url).pathname);
|
|
156
|
+
// On Windows, pathname starts with /C: — strip the leading slash
|
|
157
|
+
const fixedDir = process.platform === "win32" ? rawDir.replace(/^\/([A-Za-z]:)/, "$1") : rawDir;
|
|
158
|
+
const initScript = path.resolve(fixedDir, "init.js");
|
|
159
|
+
return new Promise((resolve) => {
|
|
160
|
+
const platform = process.platform;
|
|
161
|
+
try {
|
|
162
|
+
if (platform === "win32") {
|
|
163
|
+
// Windows: open a new cmd window
|
|
164
|
+
const child = spawn("cmd.exe", ["/c", "start", "Agent Gateway - Register", "node", initScript, "--register", domain], {
|
|
165
|
+
detached: true,
|
|
166
|
+
stdio: "ignore",
|
|
167
|
+
shell: false,
|
|
168
|
+
});
|
|
169
|
+
child.unref();
|
|
170
|
+
}
|
|
171
|
+
else if (platform === "darwin") {
|
|
172
|
+
// macOS: open a new Terminal.app window
|
|
173
|
+
const script = `tell application "Terminal" to do script "node '${initScript}' --register '${domain}'"`;
|
|
174
|
+
const child = spawn("osascript", ["-e", script], {
|
|
175
|
+
detached: true,
|
|
176
|
+
stdio: "ignore",
|
|
177
|
+
});
|
|
178
|
+
child.unref();
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
// Linux: try common terminal emulators
|
|
182
|
+
const terminals = ["x-terminal-emulator", "gnome-terminal", "konsole", "xterm"];
|
|
183
|
+
let launched = false;
|
|
184
|
+
for (const term of terminals) {
|
|
185
|
+
try {
|
|
186
|
+
const args = term === "gnome-terminal"
|
|
187
|
+
? ["--", "node", initScript, "--register", domain]
|
|
188
|
+
: ["-e", `node '${initScript}' --register '${domain}'`];
|
|
189
|
+
const child = spawn(term, args, {
|
|
190
|
+
detached: true,
|
|
191
|
+
stdio: "ignore",
|
|
192
|
+
});
|
|
193
|
+
child.unref();
|
|
194
|
+
launched = true;
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (!launched) {
|
|
202
|
+
resolve(false);
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
resolve(false);
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
// Poll credentials.json for the new credential to appear
|
|
212
|
+
const timeoutMs = 120_000; // 2 minutes
|
|
213
|
+
const pollIntervalMs = 1_000;
|
|
214
|
+
const startTime = Date.now();
|
|
215
|
+
const poll = setInterval(() => {
|
|
216
|
+
const cred = getCredential(domain);
|
|
217
|
+
if (cred) {
|
|
218
|
+
clearInterval(poll);
|
|
219
|
+
resolve(true);
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
if (Date.now() - startTime > timeoutMs) {
|
|
223
|
+
clearInterval(poll);
|
|
224
|
+
resolve(false);
|
|
225
|
+
}
|
|
226
|
+
}, pollIntervalMs);
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
// ─── Main authenticate flow ──────────────────────────────────────
|
|
230
|
+
export async function authenticate(domain, overrideClientId, overrideClientSecret) {
|
|
231
|
+
// If override credentials passed, store them first
|
|
232
|
+
if (overrideClientId && overrideClientSecret) {
|
|
233
|
+
storeCredential(domain, {
|
|
234
|
+
type: "oauth2",
|
|
235
|
+
client_id: overrideClientId,
|
|
236
|
+
client_secret: overrideClientSecret,
|
|
237
|
+
added_at: new Date().toISOString(),
|
|
238
|
+
});
|
|
239
|
+
}
|
|
5
240
|
// Check existing token
|
|
6
241
|
const existing = getToken(domain);
|
|
7
242
|
if (existing && existing.access_token) {
|
|
@@ -55,19 +290,27 @@ export async function authenticate(domain) {
|
|
|
55
290
|
};
|
|
56
291
|
}
|
|
57
292
|
if (auth.type === "api_key") {
|
|
293
|
+
// Check credentials.json for a stored API key
|
|
294
|
+
let cred = getCredential(domain);
|
|
295
|
+
if (cred && cred.type === "api_key") {
|
|
296
|
+
return storeApiKey(domain, cred.api_key);
|
|
297
|
+
}
|
|
298
|
+
// No stored key — try interactive terminal registration
|
|
299
|
+
const registered = await launchRegistrationTerminal(domain);
|
|
300
|
+
if (registered) {
|
|
301
|
+
cred = getCredential(domain);
|
|
302
|
+
if (cred && cred.type === "api_key") {
|
|
303
|
+
return storeApiKey(domain, cred.api_key);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
// Fallback: return setup instructions
|
|
307
|
+
const { text: instructions, guide } = await buildSetupInstructions(domain, manifest);
|
|
58
308
|
return {
|
|
59
309
|
success: false,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
` domain: "${domain}"`,
|
|
65
|
-
`Then provide the API key when prompted.`,
|
|
66
|
-
``,
|
|
67
|
-
`Or set the key manually: the header is "${auth.header ?? "Authorization"}"${auth.prefix ? ` with prefix "${auth.prefix}"` : ""}.`,
|
|
68
|
-
]
|
|
69
|
-
.filter(Boolean)
|
|
70
|
-
.join("\n"),
|
|
310
|
+
needs_credentials: true,
|
|
311
|
+
setup_instructions: instructions,
|
|
312
|
+
guide,
|
|
313
|
+
message: instructions,
|
|
71
314
|
};
|
|
72
315
|
}
|
|
73
316
|
if (auth.type === "oauth2") {
|
|
@@ -78,6 +321,7 @@ export async function authenticate(domain) {
|
|
|
78
321
|
message: `Unknown auth type: ${auth.type}`,
|
|
79
322
|
};
|
|
80
323
|
}
|
|
324
|
+
// ─── Store API key ───────────────────────────────────────────────
|
|
81
325
|
export async function storeApiKey(domain, apiKey) {
|
|
82
326
|
let manifest;
|
|
83
327
|
try {
|
|
@@ -94,7 +338,13 @@ export async function storeApiKey(domain, apiKey) {
|
|
|
94
338
|
type: "api_key",
|
|
95
339
|
access_token: apiKey,
|
|
96
340
|
};
|
|
341
|
+
// Dual-write: tokens.json (runtime) + credentials.json (persistent)
|
|
97
342
|
storeToken(token);
|
|
343
|
+
storeCredential(domain, {
|
|
344
|
+
type: "api_key",
|
|
345
|
+
api_key: apiKey,
|
|
346
|
+
added_at: new Date().toISOString(),
|
|
347
|
+
});
|
|
98
348
|
storeConnection({
|
|
99
349
|
domain,
|
|
100
350
|
service_name: manifest.name,
|
|
@@ -102,13 +352,26 @@ export async function storeApiKey(domain, apiKey) {
|
|
|
102
352
|
token,
|
|
103
353
|
connected_at: new Date().toISOString(),
|
|
104
354
|
});
|
|
355
|
+
// Test credential if guide has a test endpoint
|
|
356
|
+
const guide = await getGuide(domain);
|
|
357
|
+
let test_result;
|
|
358
|
+
if (guide?.test_endpoint) {
|
|
359
|
+
test_result = await testCredential(domain, guide, manifest, token);
|
|
360
|
+
}
|
|
361
|
+
const testMsg = test_result
|
|
362
|
+
? test_result.passed
|
|
363
|
+
? `\nCredential test: PASSED (${guide.test_endpoint.method} ${guide.test_endpoint.path} → ${test_result.status_code ?? "OK"})`
|
|
364
|
+
: `\nCredential test: FAILED — ${test_result.error_message}. ${test_result.suggestion ?? ""}`
|
|
365
|
+
: "";
|
|
105
366
|
return {
|
|
106
367
|
success: true,
|
|
107
|
-
message: `API key stored for ${manifest.name}. Connected
|
|
368
|
+
message: `API key stored for ${manifest.name}. Connected.${testMsg}`,
|
|
108
369
|
token,
|
|
370
|
+
guide: guide ?? undefined,
|
|
371
|
+
test_result,
|
|
109
372
|
};
|
|
110
373
|
}
|
|
111
|
-
//
|
|
374
|
+
// ─── Registry proxy helpers ──────────────────────────────────────
|
|
112
375
|
async function fetchRegistryOAuthClient(domain) {
|
|
113
376
|
try {
|
|
114
377
|
const config = loadConfig();
|
|
@@ -126,7 +389,6 @@ async function fetchRegistryOAuthClient(domain) {
|
|
|
126
389
|
return null;
|
|
127
390
|
}
|
|
128
391
|
}
|
|
129
|
-
// Exchange authorization code or refresh token via the registry proxy
|
|
130
392
|
async function registryTokenExchange(domain, params) {
|
|
131
393
|
try {
|
|
132
394
|
const config = loadConfig();
|
|
@@ -147,13 +409,14 @@ async function registryTokenExchange(domain, params) {
|
|
|
147
409
|
return null;
|
|
148
410
|
}
|
|
149
411
|
}
|
|
412
|
+
// ─── Token refresh ───────────────────────────────────────────────
|
|
150
413
|
async function tryRefreshToken(domain, existing) {
|
|
151
414
|
try {
|
|
152
415
|
const manifest = await fetchManifest(domain);
|
|
153
416
|
if (manifest.auth.type !== "oauth2" || !manifest.auth.token_url) {
|
|
154
417
|
return null;
|
|
155
418
|
}
|
|
156
|
-
// Try registry proxy first
|
|
419
|
+
// 1. Try registry proxy first
|
|
157
420
|
const registryResult = await registryTokenExchange(domain, {
|
|
158
421
|
grant_type: "refresh_token",
|
|
159
422
|
refresh_token: existing.refresh_token,
|
|
@@ -172,18 +435,15 @@ async function tryRefreshToken(domain, existing) {
|
|
|
172
435
|
storeToken(token);
|
|
173
436
|
return token;
|
|
174
437
|
}
|
|
175
|
-
//
|
|
176
|
-
const
|
|
177
|
-
|
|
178
|
-
const oauthProvider = isGoogle ? "google" : isGitHub ? "github" : null;
|
|
179
|
-
const creds = oauthProvider ? getOAuthCredentials(oauthProvider) : null;
|
|
180
|
-
if (!creds)
|
|
438
|
+
// 2. Try local credentials
|
|
439
|
+
const cred = getCredential(domain);
|
|
440
|
+
if (!cred || cred.type !== "oauth2")
|
|
181
441
|
return null;
|
|
182
442
|
const refreshParams = {
|
|
183
443
|
grant_type: "refresh_token",
|
|
184
444
|
refresh_token: existing.refresh_token,
|
|
185
|
-
client_id:
|
|
186
|
-
client_secret:
|
|
445
|
+
client_id: cred.client_id,
|
|
446
|
+
client_secret: cred.client_secret,
|
|
187
447
|
};
|
|
188
448
|
const body = new URLSearchParams(refreshParams);
|
|
189
449
|
const res = await fetch(manifest.auth.token_url, {
|
|
@@ -212,6 +472,7 @@ async function tryRefreshToken(domain, existing) {
|
|
|
212
472
|
return null;
|
|
213
473
|
}
|
|
214
474
|
}
|
|
475
|
+
// ─── OAuth2 flow ─────────────────────────────────────────────────
|
|
215
476
|
async function startOAuth2Flow(domain, manifest) {
|
|
216
477
|
const auth = manifest.auth;
|
|
217
478
|
if (!auth.authorization_url || !auth.token_url) {
|
|
@@ -224,31 +485,47 @@ async function startOAuth2Flow(domain, manifest) {
|
|
|
224
485
|
const port = config.auth_callback_port;
|
|
225
486
|
const redirectUri = `http://localhost:${port}/callback`;
|
|
226
487
|
const state = Math.random().toString(36).substring(2);
|
|
227
|
-
// Resolve OAuth credentials — try registry first, then hardcoded fallback
|
|
228
488
|
const isGoogle = auth.authorization_url.includes("google.com") || auth.authorization_url.includes("googleapis.com");
|
|
229
|
-
|
|
489
|
+
// Resolve OAuth credentials
|
|
230
490
|
let clientId = null;
|
|
491
|
+
let clientSecret = null;
|
|
231
492
|
let useRegistryProxy = false;
|
|
232
493
|
let extraAuthParams = null;
|
|
233
|
-
// 1.
|
|
234
|
-
const
|
|
235
|
-
if (
|
|
236
|
-
clientId =
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
494
|
+
// 1. Local credentials (user-owned)
|
|
495
|
+
const cred = getCredential(domain);
|
|
496
|
+
if (cred && cred.type === "oauth2") {
|
|
497
|
+
clientId = cred.client_id;
|
|
498
|
+
clientSecret = cred.client_secret;
|
|
499
|
+
}
|
|
500
|
+
// 2. Registry proxy (future paid tier)
|
|
501
|
+
if (!clientId) {
|
|
502
|
+
const registryClient = await fetchRegistryOAuthClient(domain);
|
|
503
|
+
if (registryClient) {
|
|
504
|
+
clientId = registryClient.client_id;
|
|
505
|
+
extraAuthParams = registryClient.extra_params ?? null;
|
|
506
|
+
useRegistryProxy = true;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
// 3. No credentials available — try interactive terminal registration
|
|
241
510
|
if (!clientId) {
|
|
242
|
-
const
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
511
|
+
const registered = await launchRegistrationTerminal(domain);
|
|
512
|
+
if (registered) {
|
|
513
|
+
const newCred = getCredential(domain);
|
|
514
|
+
if (newCred && newCred.type === "oauth2") {
|
|
515
|
+
clientId = newCred.client_id;
|
|
516
|
+
clientSecret = newCred.client_secret;
|
|
517
|
+
}
|
|
246
518
|
}
|
|
247
519
|
}
|
|
520
|
+
// 4. Still no credentials — return setup instructions as fallback
|
|
248
521
|
if (!clientId) {
|
|
522
|
+
const { text: instructions, guide } = await buildSetupInstructions(domain, manifest);
|
|
249
523
|
return {
|
|
250
524
|
success: false,
|
|
251
|
-
|
|
525
|
+
needs_credentials: true,
|
|
526
|
+
setup_instructions: instructions,
|
|
527
|
+
guide,
|
|
528
|
+
message: instructions,
|
|
252
529
|
};
|
|
253
530
|
}
|
|
254
531
|
// Build authorization URL
|
|
@@ -264,7 +541,6 @@ async function startOAuth2Flow(domain, manifest) {
|
|
|
264
541
|
if (auth.scopes?.length) {
|
|
265
542
|
authUrl.searchParams.set("scope", auth.scopes.join(" "));
|
|
266
543
|
}
|
|
267
|
-
// Apply extra_params from registry (e.g. Reddit's "duration": "permanent")
|
|
268
544
|
if (extraAuthParams) {
|
|
269
545
|
for (const [key, value] of Object.entries(extraAuthParams)) {
|
|
270
546
|
authUrl.searchParams.set(key, String(value));
|
|
@@ -303,7 +579,6 @@ async function startOAuth2Flow(domain, manifest) {
|
|
|
303
579
|
try {
|
|
304
580
|
let tokenData;
|
|
305
581
|
if (useRegistryProxy) {
|
|
306
|
-
// Exchange via registry proxy (client_secret stays server-side)
|
|
307
582
|
const result = await registryTokenExchange(domain, {
|
|
308
583
|
code,
|
|
309
584
|
redirect_uri: redirectUri,
|
|
@@ -313,17 +588,15 @@ async function startOAuth2Flow(domain, manifest) {
|
|
|
313
588
|
tokenData = result;
|
|
314
589
|
}
|
|
315
590
|
else {
|
|
316
|
-
// Direct exchange with
|
|
317
|
-
const oauthProvider = isGoogle ? "google" : isGitHub ? "github" : null;
|
|
318
|
-
const creds = oauthProvider ? getOAuthCredentials(oauthProvider) : null;
|
|
591
|
+
// Direct exchange with user's own credentials
|
|
319
592
|
const tokenParams = {
|
|
320
593
|
grant_type: "authorization_code",
|
|
321
594
|
code,
|
|
322
595
|
redirect_uri: redirectUri,
|
|
596
|
+
client_id: clientId,
|
|
323
597
|
};
|
|
324
|
-
if (
|
|
325
|
-
tokenParams.
|
|
326
|
-
tokenParams.client_secret = creds.clientSecret;
|
|
598
|
+
if (clientSecret) {
|
|
599
|
+
tokenParams.client_secret = clientSecret;
|
|
327
600
|
}
|
|
328
601
|
const tokenBody = new URLSearchParams(tokenParams);
|
|
329
602
|
const tokenRes = await fetch(auth.token_url, {
|
|
@@ -384,10 +657,23 @@ async function startOAuth2Flow(domain, manifest) {
|
|
|
384
657
|
token,
|
|
385
658
|
connected_at: new Date().toISOString(),
|
|
386
659
|
});
|
|
660
|
+
// Test credential if guide has a test endpoint
|
|
661
|
+
const guide = await getGuide(domain);
|
|
662
|
+
let test_result;
|
|
663
|
+
if (guide?.test_endpoint) {
|
|
664
|
+
test_result = await testCredential(domain, guide, manifest, token);
|
|
665
|
+
}
|
|
666
|
+
const testMsg = test_result
|
|
667
|
+
? test_result.passed
|
|
668
|
+
? `\nCredential test: PASSED (${guide.test_endpoint.method} ${guide.test_endpoint.path} → ${test_result.status_code ?? "OK"})`
|
|
669
|
+
: `\nCredential test: FAILED — ${test_result.error_message}. ${test_result.suggestion ?? ""}`
|
|
670
|
+
: "";
|
|
387
671
|
return {
|
|
388
672
|
success: true,
|
|
389
|
-
message: `${openMessage}\n\nConnected to ${manifest.name} via OAuth2
|
|
673
|
+
message: `${openMessage}\n\nConnected to ${manifest.name} via OAuth2.${testMsg}`,
|
|
390
674
|
token,
|
|
675
|
+
guide: guide ?? undefined,
|
|
676
|
+
test_result,
|
|
391
677
|
};
|
|
392
678
|
}
|
|
393
679
|
catch (err) {
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -20,8 +20,4 @@ export declare function setCachedManifest(domain: string, manifest: Manifest): v
|
|
|
20
20
|
export declare function getCachedCapability(domain: string, capName: string): CapabilityDetail | undefined;
|
|
21
21
|
export declare function setCachedCapability(domain: string, capName: string, detail: CapabilityDetail): void;
|
|
22
22
|
export declare function clearAllCaches(): void;
|
|
23
|
-
export declare function getOAuthCredentials(provider: "google" | "github"): {
|
|
24
|
-
clientId: string;
|
|
25
|
-
clientSecret: string;
|
|
26
|
-
};
|
|
27
23
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,EAEZ,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAqBpB,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEhD;AAoBD,wBAAgB,UAAU,IAAI,aAAa,CA+B1C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAQtD;AAID,wBAAgB,WAAW,IAAI,YAAY,GAAG,SAAS,CAGtD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAI1D;AAED,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AA2BD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAQhE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAInD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKhD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAGpE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAI5D;AAED,wBAAgB,iBAAiB,IAAI,UAAU,EAAE,CAGhD;AAED,wBAAgB,YAAY,IAAI,WAAW,EAAE,CAG5C;AAmCD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAEtF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAEzF;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEtE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAE1E;AAGD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEjG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAEnG;AAGD,wBAAgB,cAAc,IAAI,IAAI,CAQrC
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,EAEZ,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAqBpB,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEhD;AAoBD,wBAAgB,UAAU,IAAI,aAAa,CA+B1C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAQtD;AAID,wBAAgB,WAAW,IAAI,YAAY,GAAG,SAAS,CAGtD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAI1D;AAED,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AA2BD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAQhE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAInD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKhD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAGpE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAI5D;AAED,wBAAgB,iBAAiB,IAAI,UAAU,EAAE,CAGhD;AAED,wBAAgB,YAAY,IAAI,WAAW,EAAE,CAG5C;AAmCD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAEtF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAEzF;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEtE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAE1E;AAGD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEjG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAEnG;AAGD,wBAAgB,cAAc,IAAI,IAAI,CAQrC"}
|