opencode-gemini-cli-oauth 1.1.18 → 1.1.20
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/plugin.d.ts +0 -3
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +27 -15
- package/dist/plugin.js.map +1 -1
- package/package.json +1 -1
package/dist/plugin.d.ts
CHANGED
|
@@ -13,9 +13,6 @@ export default function loadPlugin(context: PluginContext): Promise<{
|
|
|
13
13
|
provider: string;
|
|
14
14
|
loader: (getAuth: any, provider: string) => Promise<{
|
|
15
15
|
apiKey: string;
|
|
16
|
-
client: {
|
|
17
|
-
name: string;
|
|
18
|
-
};
|
|
19
16
|
fetch: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
20
17
|
}>;
|
|
21
18
|
methods: {
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAchD;;;GAGG;AACH,wBAA8B,UAAU,CAAC,OAAO,EAAE,aAAa;;;0BAqDjC,GAAG,YAAY,MAAM;;2BA5CV,WAAW,GAAG,GAAG,SAAS,WAAW,KAAG,OAAO,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;GA8EjG"}
|
package/dist/plugin.js
CHANGED
|
@@ -3,33 +3,44 @@
|
|
|
3
3
|
* Copyright 2025 Yusuf
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
*/
|
|
6
|
+
import * as fs from 'fs';
|
|
6
7
|
import { oauth } from './auth/oauth.js';
|
|
8
|
+
const LOG_FILE = '/tmp/gemini_plugin_debug.log';
|
|
9
|
+
function log(message) {
|
|
10
|
+
const timestamp = new Date().toISOString();
|
|
11
|
+
const logMessage = `[${timestamp}] ${message}\n`;
|
|
12
|
+
try {
|
|
13
|
+
fs.appendFileSync(LOG_FILE, logMessage);
|
|
14
|
+
}
|
|
15
|
+
catch (e) {
|
|
16
|
+
// Ignore logging errors
|
|
17
|
+
}
|
|
18
|
+
}
|
|
7
19
|
/**
|
|
8
20
|
* OpenCode Plugin for Gemini CLI OAuth Authentication
|
|
9
21
|
* Refactored based on Architectural Analysis (Factory Function Pattern)
|
|
10
22
|
*/
|
|
11
23
|
export default async function loadPlugin(context) {
|
|
12
|
-
|
|
13
|
-
// 1. Capture original fetcher
|
|
14
|
-
// Fallback to global fetch if context.client.fetch is not available
|
|
24
|
+
log('🚀 Loading Gemini CLI OAuth plugin (v1.1.20)...');
|
|
25
|
+
// 1. Capture original fetcher
|
|
15
26
|
const nextFetch = (context.client && context.client.fetch)
|
|
16
27
|
? context.client.fetch.bind(context.client)
|
|
17
28
|
: globalThis.fetch.bind(globalThis);
|
|
18
29
|
// 2. Define the interceptor
|
|
19
30
|
const interceptedFetch = async (input, init) => {
|
|
20
|
-
// Logging for debug
|
|
21
31
|
const urlStr = typeof input === 'string' ? input : input instanceof URL ? input.href : input.url;
|
|
22
|
-
|
|
32
|
+
log(`📡 Intercepting request to: ${urlStr}`);
|
|
23
33
|
try {
|
|
24
34
|
// 3. Auth Check & Token Retrieval
|
|
25
35
|
const token = await oauth.getAccessToken();
|
|
26
|
-
|
|
36
|
+
log('🔑 Token retrieved successfully');
|
|
37
|
+
// 4. Clone init
|
|
27
38
|
const newInit = { ...init };
|
|
28
39
|
const headers = new Headers(newInit.headers);
|
|
29
|
-
// 5. Inject Header
|
|
40
|
+
// 5. Inject Header
|
|
30
41
|
headers.set('Authorization', `Bearer ${token}`);
|
|
31
42
|
newInit.headers = headers;
|
|
32
|
-
// Remove API key query param
|
|
43
|
+
// Remove API key query param
|
|
33
44
|
let targetInput = input;
|
|
34
45
|
if (typeof input === 'string' && input.includes('key=')) {
|
|
35
46
|
const urlObj = new URL(input);
|
|
@@ -41,11 +52,13 @@ export default async function loadPlugin(context) {
|
|
|
41
52
|
urlObj.searchParams.delete('key');
|
|
42
53
|
targetInput = urlObj;
|
|
43
54
|
}
|
|
44
|
-
|
|
55
|
+
log(`📤 Forwarding request with Auth header`);
|
|
56
|
+
const response = await nextFetch(targetInput, newInit);
|
|
57
|
+
log(`pw Response status: ${response.status}`);
|
|
58
|
+
return response;
|
|
45
59
|
}
|
|
46
60
|
catch (error) {
|
|
47
|
-
|
|
48
|
-
// Fallback: try request without auth injection
|
|
61
|
+
log(`❌ Token error or fetch failed: ${error}`);
|
|
49
62
|
return nextFetch(input, init);
|
|
50
63
|
}
|
|
51
64
|
};
|
|
@@ -53,11 +66,10 @@ export default async function loadPlugin(context) {
|
|
|
53
66
|
auth: {
|
|
54
67
|
provider: 'gemini-cli-oauth',
|
|
55
68
|
loader: async (getAuth, provider) => {
|
|
56
|
-
|
|
57
|
-
// Return
|
|
69
|
+
log(`🔌 Initializing auth strategy for ${provider} (v1.1.20)`);
|
|
70
|
+
// Return minimal structure required for Google provider
|
|
58
71
|
return {
|
|
59
|
-
apiKey: '
|
|
60
|
-
client: { name: 'gemini-cli-oauth-client' }, // Dummy client object
|
|
72
|
+
apiKey: 'AIzaSyDummyTokenForGeminiCliOAuthBypassValidation',
|
|
61
73
|
fetch: interceptedFetch
|
|
62
74
|
};
|
|
63
75
|
},
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC;;;GAGG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,UAAU,CAAC,OAAsB;IAC7D,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED