opencode-gemini-cli-oauth 1.1.19 → 1.1.21
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/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin.d.ts +0 -7
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +14 -19
- package/dist/plugin.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH,OAAO,UAAU,MAAM,aAAa,CAAC;AAGrC,eAAe,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH,OAAO,UAAU,MAAM,aAAa,CAAC;AAGrC,eAAe,UAAU,CAAC;AAG1B,eAAO,MAAM,IAAI,mBAAa,CAAC;AAC/B,eAAO,MAAM,cAAc,mBAAa,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,iCAAiC;AACjC,eAAe,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,iCAAiC;AACjC,eAAe,UAAU,CAAC;AAE1B,kCAAkC;AAClC,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAC;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC"}
|
package/dist/plugin.d.ts
CHANGED
|
@@ -4,18 +4,11 @@
|
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
*/
|
|
6
6
|
import type { PluginContext } from './types.js';
|
|
7
|
-
/**
|
|
8
|
-
* OpenCode Plugin for Gemini CLI OAuth Authentication
|
|
9
|
-
* Refactored based on Architectural Analysis (Factory Function Pattern)
|
|
10
|
-
*/
|
|
11
7
|
export default function loadPlugin(context: PluginContext): Promise<{
|
|
12
8
|
auth: {
|
|
13
9
|
provider: string;
|
|
14
10
|
loader: (getAuth: any, provider: string) => Promise<{
|
|
15
11
|
apiKey: string;
|
|
16
|
-
client: {
|
|
17
|
-
name: string;
|
|
18
|
-
};
|
|
19
12
|
fetch: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
20
13
|
}>;
|
|
21
14
|
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;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,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
|
@@ -4,32 +4,27 @@
|
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
*/
|
|
6
6
|
import { oauth } from './auth/oauth.js';
|
|
7
|
-
/**
|
|
8
|
-
* OpenCode Plugin for Gemini CLI OAuth Authentication
|
|
9
|
-
* Refactored based on Architectural Analysis (Factory Function Pattern)
|
|
10
|
-
*/
|
|
11
7
|
export default async function loadPlugin(context) {
|
|
12
|
-
console.log('🚀 Loading Gemini CLI OAuth plugin (v1.1.
|
|
13
|
-
// 1. Capture original fetcher
|
|
14
|
-
// Fallback to global fetch if context.client.fetch is not available
|
|
8
|
+
console.log('🚀 [GeminiPlugin] Loading Gemini CLI OAuth plugin (v1.1.21)...');
|
|
9
|
+
// 1. Capture original fetcher
|
|
15
10
|
const nextFetch = (context.client && context.client.fetch)
|
|
16
11
|
? context.client.fetch.bind(context.client)
|
|
17
12
|
: globalThis.fetch.bind(globalThis);
|
|
18
13
|
// 2. Define the interceptor
|
|
19
14
|
const interceptedFetch = async (input, init) => {
|
|
20
|
-
// Logging for debug
|
|
21
15
|
const urlStr = typeof input === 'string' ? input : input instanceof URL ? input.href : input.url;
|
|
22
|
-
console.log(`📡 [
|
|
16
|
+
console.log(`📡 [GeminiPlugin] Intercepting request to: ${urlStr}`);
|
|
23
17
|
try {
|
|
24
18
|
// 3. Auth Check & Token Retrieval
|
|
25
19
|
const token = await oauth.getAccessToken();
|
|
26
|
-
|
|
20
|
+
console.log('🔑 [GeminiPlugin] Token retrieved successfully');
|
|
21
|
+
// 4. Clone init
|
|
27
22
|
const newInit = { ...init };
|
|
28
23
|
const headers = new Headers(newInit.headers);
|
|
29
|
-
// 5. Inject Header
|
|
24
|
+
// 5. Inject Header
|
|
30
25
|
headers.set('Authorization', `Bearer ${token}`);
|
|
31
26
|
newInit.headers = headers;
|
|
32
|
-
// Remove API key query param
|
|
27
|
+
// Remove API key query param
|
|
33
28
|
let targetInput = input;
|
|
34
29
|
if (typeof input === 'string' && input.includes('key=')) {
|
|
35
30
|
const urlObj = new URL(input);
|
|
@@ -41,11 +36,13 @@ export default async function loadPlugin(context) {
|
|
|
41
36
|
urlObj.searchParams.delete('key');
|
|
42
37
|
targetInput = urlObj;
|
|
43
38
|
}
|
|
44
|
-
|
|
39
|
+
console.log(`📤 [GeminiPlugin] Forwarding request with Auth header`);
|
|
40
|
+
const response = await nextFetch(targetInput, newInit);
|
|
41
|
+
console.log(`✅ [GeminiPlugin] Response status: ${response.status}`);
|
|
42
|
+
return response;
|
|
45
43
|
}
|
|
46
44
|
catch (error) {
|
|
47
|
-
console.error(
|
|
48
|
-
// Fallback: try request without auth injection
|
|
45
|
+
console.error(`❌ [GeminiPlugin] Token error or fetch failed: ${error}`);
|
|
49
46
|
return nextFetch(input, init);
|
|
50
47
|
}
|
|
51
48
|
};
|
|
@@ -53,12 +50,10 @@ export default async function loadPlugin(context) {
|
|
|
53
50
|
auth: {
|
|
54
51
|
provider: 'gemini-cli-oauth',
|
|
55
52
|
loader: async (getAuth, provider) => {
|
|
56
|
-
console.log(`🔌 Initializing auth strategy for ${provider} (v1.1.
|
|
57
|
-
// Return
|
|
58
|
-
// Using a realistic-looking dummy key to bypass potential regex validation
|
|
53
|
+
console.log(`🔌 [GeminiPlugin] Initializing auth strategy for ${provider} (v1.1.21)`);
|
|
54
|
+
// Return minimal structure required
|
|
59
55
|
return {
|
|
60
56
|
apiKey: 'AIzaSyDummyTokenForGeminiCliOAuthBypassValidation',
|
|
61
|
-
client: { name: 'gemini-cli-oauth-client' },
|
|
62
57
|
fetch: interceptedFetch
|
|
63
58
|
};
|
|
64
59
|
},
|
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
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED