@botuyo/mcp 0.2.1 → 0.2.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/commands/auth.d.ts +2 -3
- package/dist/commands/auth.js +12 -31
- package/dist/commands/auth.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/auth.d.ts
CHANGED
|
@@ -9,9 +9,8 @@
|
|
|
9
9
|
* 2. Opens admin.botuyo.com/mcp-auth?redirect=http://localhost:PORT
|
|
10
10
|
* 3. The admin panel authenticates the user (login/Google),
|
|
11
11
|
* calls POST /api/v1/mcp/oauth/authorize, then redirects to localhost with ?code=...
|
|
12
|
-
* 4. CLI exchanges the code for
|
|
13
|
-
* 5.
|
|
14
|
-
* 6. Saves the JWT to ~/.botuyo/credentials.json
|
|
12
|
+
* 4. CLI exchanges the code for a JWT directly (POST /api/v1/mcp/oauth/token)
|
|
13
|
+
* 5. Saves the JWT to ~/.botuyo/credentials.json
|
|
15
14
|
*
|
|
16
15
|
* For terminal-only login (email/password), use `npx @botuyo/mcp login` instead.
|
|
17
16
|
*/
|
package/dist/commands/auth.js
CHANGED
|
@@ -9,9 +9,8 @@
|
|
|
9
9
|
* 2. Opens admin.botuyo.com/mcp-auth?redirect=http://localhost:PORT
|
|
10
10
|
* 3. The admin panel authenticates the user (login/Google),
|
|
11
11
|
* calls POST /api/v1/mcp/oauth/authorize, then redirects to localhost with ?code=...
|
|
12
|
-
* 4. CLI exchanges the code for
|
|
13
|
-
* 5.
|
|
14
|
-
* 6. Saves the JWT to ~/.botuyo/credentials.json
|
|
12
|
+
* 4. CLI exchanges the code for a JWT directly (POST /api/v1/mcp/oauth/token)
|
|
13
|
+
* 5. Saves the JWT to ~/.botuyo/credentials.json
|
|
15
14
|
*
|
|
16
15
|
* For terminal-only login (email/password), use `npx @botuyo/mcp login` instead.
|
|
17
16
|
*/
|
|
@@ -49,8 +48,8 @@ export async function runAuth(args) {
|
|
|
49
48
|
console.error('❌ La autorización expiró o fue cancelada.');
|
|
50
49
|
process.exit(1);
|
|
51
50
|
}
|
|
52
|
-
console.log('✅ Código
|
|
53
|
-
// Exchange code for API key
|
|
51
|
+
console.log('✅ Código recibido! Obteniendo sesión...');
|
|
52
|
+
// Exchange code for JWT directly (no API key intermediate)
|
|
54
53
|
const tokenRes = await fetch(`${API_URL}/api/v1/mcp/oauth/token`, {
|
|
55
54
|
method: 'POST',
|
|
56
55
|
headers: { 'Content-Type': 'application/json' },
|
|
@@ -58,41 +57,24 @@ export async function runAuth(args) {
|
|
|
58
57
|
});
|
|
59
58
|
const tokenData = (await tokenRes.json());
|
|
60
59
|
if (!tokenData.success) {
|
|
61
|
-
console.error(`❌
|
|
62
|
-
process.exit(1);
|
|
63
|
-
}
|
|
64
|
-
const apiKey = tokenData.data.key;
|
|
65
|
-
const tenantId = tokenData.data.tenantId;
|
|
66
|
-
const tenantName = tokenData.data.tenantName;
|
|
67
|
-
const role = tokenData.data.role;
|
|
68
|
-
// Now use the API key to get a JWT
|
|
69
|
-
console.log('⏳ Obteniendo sesión JWT...');
|
|
70
|
-
const authRes = await fetch(`${API_URL}/api/v1/mcp/auth`, {
|
|
71
|
-
method: 'POST',
|
|
72
|
-
headers: {
|
|
73
|
-
'x-api-key': apiKey,
|
|
74
|
-
'Content-Type': 'application/json'
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
const authData = (await authRes.json());
|
|
78
|
-
if (!authData.success) {
|
|
79
|
-
console.error(`❌ Error al obtener JWT: ${authData.error}`);
|
|
60
|
+
console.error(`❌ Error: ${tokenData.error}`);
|
|
80
61
|
process.exit(1);
|
|
81
62
|
}
|
|
82
63
|
const creds = {
|
|
83
|
-
token:
|
|
84
|
-
tenantId,
|
|
85
|
-
tenantName: tenantName || tenantId,
|
|
86
|
-
role:
|
|
87
|
-
email:
|
|
64
|
+
token: tokenData.data.token,
|
|
65
|
+
tenantId: tokenData.data.tenantId,
|
|
66
|
+
tenantName: tokenData.data.tenantName || tokenData.data.tenantId,
|
|
67
|
+
role: tokenData.data.role || 'viewer',
|
|
68
|
+
email: tokenData.data.callerEmail || '',
|
|
88
69
|
savedAt: new Date().toISOString(),
|
|
89
|
-
expiresAt: new Date(Date.now() +
|
|
70
|
+
expiresAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString() // 7 days
|
|
90
71
|
};
|
|
91
72
|
await saveCredentials(creds);
|
|
92
73
|
console.log(`\n✅ ¡Autenticado exitosamente!`);
|
|
93
74
|
console.log(` Tenant: ${creds.tenantName}`);
|
|
94
75
|
console.log(` Role: ${creds.role}`);
|
|
95
76
|
console.log(` Email: ${creds.email || '(no disponible)'}`);
|
|
77
|
+
console.log(` Expira: ${new Date(creds.expiresAt).toLocaleDateString()}`);
|
|
96
78
|
console.log(`\n🚀 Ya podés usar el servidor MCP de BotUyo.\n`);
|
|
97
79
|
}
|
|
98
80
|
// ── Local callback server ─────────────────────────────────────────────────────
|
|
@@ -127,7 +109,6 @@ function startCallbackServer() {
|
|
|
127
109
|
});
|
|
128
110
|
server.listen(0, 'localhost', () => {
|
|
129
111
|
const port = server.address().port;
|
|
130
|
-
// Timeout after 10 minutes
|
|
131
112
|
setTimeout(() => { server.close(); resolveCode(null); }, 10 * 60 * 1000);
|
|
132
113
|
resolve({ port, waitForCode });
|
|
133
114
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|