opencode-gemini-cli-oauth 1.1.3 ā 1.1.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.
- package/dist/cli/setup.js +77 -34
- package/dist/cli/setup.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/setup.js
CHANGED
|
@@ -5,7 +5,7 @@ import os from 'os';
|
|
|
5
5
|
import http from 'http';
|
|
6
6
|
import url from 'url';
|
|
7
7
|
import { OAuth2Client } from 'google-auth-library';
|
|
8
|
-
import { OAUTH_CLIENT_ID, OAUTH_CLIENT_SECRET, OAUTH_SCOPES, OAUTH_CREDS_PATH, GEMINI_DIR } from '../constants.js';
|
|
8
|
+
import { OAUTH_CLIENT_ID, OAUTH_CLIENT_SECRET, OAUTH_SCOPES, OAUTH_CREDS_PATH, GEMINI_DIR, GOOGLE_ACCOUNTS_PATH } from '../constants.js';
|
|
9
9
|
// Setup paths
|
|
10
10
|
const OPENCODE_CONFIG_DIR = path.join(os.homedir(), '.config', 'opencode');
|
|
11
11
|
const OPENCODE_CONFIG_PATH = path.join(OPENCODE_CONFIG_DIR, 'opencode.json');
|
|
@@ -45,11 +45,62 @@ const rl = readline.createInterface({
|
|
|
45
45
|
const question = (query) => {
|
|
46
46
|
return new Promise((resolve) => rl.question(query, resolve));
|
|
47
47
|
};
|
|
48
|
+
async function saveAccount(tokens, client) {
|
|
49
|
+
// Get user info to identify account
|
|
50
|
+
client.setCredentials(tokens);
|
|
51
|
+
const userInfo = await client.getTokenInfo(tokens.access_token);
|
|
52
|
+
const email = userInfo.email || 'unknown';
|
|
53
|
+
console.log(`\nš§ Identified account: ${email}`);
|
|
54
|
+
// 1. Update/Create google_accounts.json (Multi-account storage)
|
|
55
|
+
let accounts = [];
|
|
56
|
+
try {
|
|
57
|
+
const data = await fs.readFile(GOOGLE_ACCOUNTS_PATH, 'utf-8');
|
|
58
|
+
const parsed = JSON.parse(data);
|
|
59
|
+
if (Array.isArray(parsed)) {
|
|
60
|
+
accounts = parsed;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
console.log('ā ļø Warning: google_accounts.json format invalid (not an array). Resetting.');
|
|
64
|
+
accounts = [];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
// File doesn't exist yet or is corrupted
|
|
69
|
+
accounts = [];
|
|
70
|
+
}
|
|
71
|
+
// Remove existing entry for this email if any
|
|
72
|
+
accounts = accounts.filter(acc => acc.email !== email);
|
|
73
|
+
// Add new entry
|
|
74
|
+
accounts.push({
|
|
75
|
+
email,
|
|
76
|
+
tokens,
|
|
77
|
+
last_active: Date.now()
|
|
78
|
+
});
|
|
79
|
+
await fs.writeFile(GOOGLE_ACCOUNTS_PATH, JSON.stringify(accounts, null, 2));
|
|
80
|
+
console.log(`ā
Saved to account pool (${accounts.length} accounts total)`);
|
|
81
|
+
// 2. Update oauth_creds.json (Current active account)
|
|
82
|
+
// This ensures compatibility with Gemini CLI single-account mode
|
|
83
|
+
await fs.writeFile(OAUTH_CREDS_PATH, JSON.stringify(tokens, null, 2));
|
|
84
|
+
console.log('ā
Set as active account');
|
|
85
|
+
}
|
|
86
|
+
async function listAccounts() {
|
|
87
|
+
try {
|
|
88
|
+
const data = await fs.readFile(GOOGLE_ACCOUNTS_PATH, 'utf-8');
|
|
89
|
+
const accounts = JSON.parse(data);
|
|
90
|
+
console.log('\nš„ Registered Accounts:');
|
|
91
|
+
accounts.forEach((acc, idx) => {
|
|
92
|
+
console.log(` ${idx + 1}. ${acc.email}`);
|
|
93
|
+
});
|
|
94
|
+
console.log('');
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
console.log('\nš„ No accounts registered yet.\n');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
48
100
|
async function performLoopbackLogin() {
|
|
49
101
|
console.log('\nš Initiating Native Google Login (Loopback Flow)...');
|
|
50
102
|
return new Promise((resolve, reject) => {
|
|
51
|
-
let client;
|
|
52
|
-
// Create a local server to receive the code
|
|
103
|
+
let client;
|
|
53
104
|
const server = http.createServer(async (req, res) => {
|
|
54
105
|
try {
|
|
55
106
|
if (!req.url)
|
|
@@ -57,7 +108,6 @@ async function performLoopbackLogin() {
|
|
|
57
108
|
const query = url.parse(req.url, true).query;
|
|
58
109
|
if (query.code) {
|
|
59
110
|
const code = query.code;
|
|
60
|
-
// Close the browser tab
|
|
61
111
|
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
62
112
|
res.end(`
|
|
63
113
|
<html>
|
|
@@ -67,17 +117,12 @@ async function performLoopbackLogin() {
|
|
|
67
117
|
</body>
|
|
68
118
|
</html>
|
|
69
119
|
`);
|
|
70
|
-
// Close server
|
|
71
120
|
server.close();
|
|
72
121
|
console.log('ā
Authorization code received!');
|
|
73
122
|
console.log('š Exchanging code for token...');
|
|
74
123
|
try {
|
|
75
|
-
// Exchange code for tokens (client is now accessible)
|
|
76
124
|
const { tokens } = await client.getToken(code);
|
|
77
|
-
|
|
78
|
-
await fs.mkdir(GEMINI_DIR, { recursive: true });
|
|
79
|
-
await fs.writeFile(OAUTH_CREDS_PATH, JSON.stringify(tokens, null, 2));
|
|
80
|
-
console.log('ā
Authentication successful! Credentials saved.');
|
|
125
|
+
await saveAccount(tokens, client);
|
|
81
126
|
resolve();
|
|
82
127
|
}
|
|
83
128
|
catch (err) {
|
|
@@ -89,7 +134,6 @@ async function performLoopbackLogin() {
|
|
|
89
134
|
console.error('Server error:', err);
|
|
90
135
|
}
|
|
91
136
|
});
|
|
92
|
-
// Listen on a random available port
|
|
93
137
|
server.listen(0, async () => {
|
|
94
138
|
const address = server.address();
|
|
95
139
|
if (!address || typeof address === 'string') {
|
|
@@ -99,7 +143,6 @@ async function performLoopbackLogin() {
|
|
|
99
143
|
const port = address.port;
|
|
100
144
|
const redirectUri = `http://localhost:${port}`;
|
|
101
145
|
console.log(`š Local server listening on port ${port}`);
|
|
102
|
-
// Initialize OAuth client with dynamic redirect URI
|
|
103
146
|
client = new OAuth2Client({
|
|
104
147
|
clientId: OAUTH_CLIENT_ID,
|
|
105
148
|
clientSecret: OAUTH_CLIENT_SECRET,
|
|
@@ -112,7 +155,6 @@ async function performLoopbackLogin() {
|
|
|
112
155
|
});
|
|
113
156
|
console.log('\nš Opening browser to authorize...');
|
|
114
157
|
console.log(` URL: ${authorizeUrl}`);
|
|
115
|
-
// Try to open browser, or ask user to click
|
|
116
158
|
const { exec } = await import('child_process');
|
|
117
159
|
const start = (process.platform == 'darwin' ? 'open' : process.platform == 'win32' ? 'start' : 'xdg-open');
|
|
118
160
|
exec(`${start} "${authorizeUrl}"`);
|
|
@@ -141,43 +183,44 @@ async function updateOpencodeConfig() {
|
|
|
141
183
|
}
|
|
142
184
|
await fs.writeFile(OPENCODE_CONFIG_PATH, JSON.stringify(config, null, 2));
|
|
143
185
|
console.log('ā
Configuration updated successfully!');
|
|
144
|
-
console.log(` Location: ${OPENCODE_CONFIG_PATH}`);
|
|
145
186
|
}
|
|
146
187
|
catch (error) {
|
|
147
188
|
console.error('ā Failed to update configuration:', error);
|
|
148
189
|
}
|
|
149
190
|
}
|
|
150
191
|
async function main() {
|
|
151
|
-
|
|
152
|
-
console.log('
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
if
|
|
159
|
-
|
|
192
|
+
await fs.mkdir(GEMINI_DIR, { recursive: true });
|
|
193
|
+
console.log('š OpenCode Gemini CLI OAuth Manager');
|
|
194
|
+
console.log('====================================');
|
|
195
|
+
await listAccounts();
|
|
196
|
+
const action = await question('Choose action:\n1. Add/Login new account\n2. Update OpenCode config only\n3. Exit\n> ');
|
|
197
|
+
if (action === '1') {
|
|
198
|
+
await performLoopbackLogin();
|
|
199
|
+
// Ask if want to add another
|
|
200
|
+
while (true) {
|
|
201
|
+
const addMore = await question('\nDo you want to add another account? (y/N) ');
|
|
202
|
+
if (addMore.toLowerCase() === 'y') {
|
|
203
|
+
await performLoopbackLogin();
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
160
208
|
}
|
|
161
209
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
const answer = await question('Do you want to login now? (Y/n) ');
|
|
165
|
-
if (answer.toLowerCase() !== 'n') {
|
|
166
|
-
await performLoopbackLogin();
|
|
167
|
-
}
|
|
210
|
+
else if (action === '3') {
|
|
211
|
+
process.exit(0);
|
|
168
212
|
}
|
|
169
|
-
//
|
|
170
|
-
const updateConfig = await question('
|
|
213
|
+
// Always offer to update config at the end
|
|
214
|
+
const updateConfig = await question('\nUpdate OpenCode configuration? (Y/n) ');
|
|
171
215
|
if (updateConfig.toLowerCase() !== 'n') {
|
|
172
216
|
await updateOpencodeConfig();
|
|
173
217
|
}
|
|
174
|
-
console.log('\nāØ
|
|
175
|
-
console.log('You can now use "Gemini (Google Account)" models in OpenCode.');
|
|
218
|
+
console.log('\n⨠Done!');
|
|
176
219
|
rl.close();
|
|
177
220
|
process.exit(0);
|
|
178
221
|
}
|
|
179
222
|
main().catch((error) => {
|
|
180
|
-
console.error('\nā
|
|
223
|
+
console.error('\nā Operation failed:', error.message);
|
|
181
224
|
rl.close();
|
|
182
225
|
process.exit(1);
|
|
183
226
|
});
|
package/dist/cli/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,UAAU,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED