opencode-gemini-cli-oauth 1.1.6 → 1.1.8

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 CHANGED
@@ -15,12 +15,33 @@ export default function GeminiCLIOAuthPlugin({ client, directory }: PluginContex
15
15
  auth: {
16
16
  provider: string;
17
17
  /**
18
- * Auth loader - must return an object with `apiKey` and `fetch` function
18
+ * Auth loader - returns object with apiKey and fetch function
19
19
  */
20
20
  loader: (getAuth: any, provider: string) => Promise<{
21
21
  apiKey: string;
22
22
  fetch: typeof authenticatedFetch;
23
23
  }>;
24
+ /**
25
+ * Auth methods for 'opencode auth login' menu
26
+ */
27
+ methods: {
28
+ label: string;
29
+ type: string;
30
+ authorize: () => Promise<{
31
+ url: string;
32
+ instructions: string;
33
+ method: string;
34
+ callback: () => Promise<{
35
+ type: string;
36
+ email: string;
37
+ error?: undefined;
38
+ } | {
39
+ type: string;
40
+ error: string;
41
+ email?: undefined;
42
+ }>;
43
+ }>;
44
+ }[];
24
45
  };
25
46
  }>;
26
47
  export declare const metadata: {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,YAAY,CAAC;AAK5D;;GAEG;AACH,iBAAe,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6BjG;AAED;;GAEG;AACH,wBAA8B,oBAAoB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,aAAa;;;QAmBjF;;WAEG;0BACqB,GAAG,YAAY,MAAM;;;;;GASlD;AAED,eAAO,MAAM,QAAQ;;;;;;;;CAQpB,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,YAAY,CAAC;AAK5D;;GAEG;AACH,iBAAe,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6BjG;AAED;;GAEG;AACH,wBAA8B,oBAAoB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,aAAa;;;QAOjF;;WAEG;0BACqB,GAAG,YAAY,MAAM;;;;QAO7C;;WAEG;;;;;;;;;;;;;;;;;;;;GA8BR;AAED,eAAO,MAAM,QAAQ;;;;;;;;CAQpB,CAAC"}
package/dist/plugin.js CHANGED
@@ -31,7 +31,7 @@ async function authenticatedFetch(input, init) {
31
31
  }
32
32
  catch (error) {
33
33
  console.error('❌ [Gemini OAuth] Token error:', error);
34
- // Fallback to original request (might fail with 403, but better than crashing)
34
+ // Fallback to original request
35
35
  return fetch(input, init);
36
36
  }
37
37
  }
@@ -39,39 +39,55 @@ async function authenticatedFetch(input, init) {
39
39
  * OpenCode Plugin for Gemini CLI OAuth Authentication
40
40
  */
41
41
  export default async function GeminiCLIOAuthPlugin({ client, directory }) {
42
- console.log('🚀 Loading Gemini CLI OAuth plugin (v1.1.6)...');
43
- // Verify credentials on load (optional, just for logging)
44
- try {
45
- const valid = await oauthManager.verifyCredentials();
46
- if (valid) {
47
- console.log('✅ Gemini CLI OAuth credentials verified');
48
- }
49
- else {
50
- console.warn('⚠️ Gemini CLI OAuth credentials missing or invalid. Run: opencode-gemini-setup');
51
- }
52
- }
53
- catch (e) {
54
- // Ignore init errors
55
- }
42
+ console.log('🚀 Loading Gemini CLI OAuth plugin (v1.1.8)...');
56
43
  return {
57
44
  auth: {
58
45
  provider: 'gemini-cli-oauth',
59
46
  /**
60
- * Auth loader - must return an object with `apiKey` and `fetch` function
47
+ * Auth loader - returns object with apiKey and fetch function
61
48
  */
62
49
  loader: async (getAuth, provider) => {
63
- // Return explicit object structure
64
50
  return {
65
- apiKey: 'gemini-cli-oauth-placeholder', // Must not be empty string for some checks
51
+ apiKey: 'gemini-cli-oauth-placeholder',
66
52
  fetch: authenticatedFetch
67
53
  };
68
- }
54
+ },
55
+ /**
56
+ * Auth methods for 'opencode auth login' menu
57
+ */
58
+ methods: [
59
+ {
60
+ label: "Google Account (via Gemini CLI)",
61
+ type: "oauth",
62
+ authorize: async () => {
63
+ return {
64
+ url: "",
65
+ instructions: "Please run 'opencode-gemini-setup' in your terminal to manage accounts and authenticate.",
66
+ method: "auto",
67
+ callback: async () => {
68
+ // Check if credentials exist
69
+ try {
70
+ const valid = await oauthManager.verifyCredentials();
71
+ if (valid) {
72
+ return { type: "success", email: (await oauthManager.getUserInfo()).email };
73
+ }
74
+ }
75
+ catch { }
76
+ return {
77
+ type: "failed",
78
+ error: "Authentication failed or not setup. Run 'opencode-gemini-setup' first."
79
+ };
80
+ }
81
+ };
82
+ }
83
+ }
84
+ ]
69
85
  },
70
86
  };
71
87
  }
72
88
  export const metadata = {
73
89
  name: 'opencode-gemini-cli-oauth',
74
- version: '1.1.6',
90
+ version: '1.1.8',
75
91
  description: 'Use Gemini CLI OAuth credentials in OpenCode',
76
92
  author: 'Yusuf',
77
93
  compatibleWith: {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,2BAA2B;AAC3B,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAExC;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,KAAwB,EAAE,IAAkB;IAC5E,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IAEjG,qCAAqC;IACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC;QACH,kBAAkB;QAClB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,CAAC;QAElD,8BAA8B;QAC9B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;QAEhD,6DAA6D;QAC7D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAElC,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;YAC9B,GAAG,IAAI;YACP,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACtD,+EAA+E;QAC/E,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,oBAAoB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAiB;IACrF,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAE9D,0DAA0D;IAC1D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACrD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,qBAAqB;IACvB,CAAC;IAED,OAAO;QACL,IAAI,EAAE;YACJ,QAAQ,EAAE,kBAAkB;YAE5B;;eAEG;YACH,MAAM,EAAE,KAAK,EAAE,OAAY,EAAE,QAAgB,EAAE,EAAE;gBAC/C,mCAAmC;gBACnC,OAAO;oBACL,MAAM,EAAE,8BAA8B,EAAE,2CAA2C;oBACnF,KAAK,EAAE,kBAAkB;iBAC1B,CAAC;YACJ,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,2BAA2B;IACjC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,8CAA8C;IAC3D,MAAM,EAAE,OAAO;IACf,cAAc,EAAE;QACd,QAAQ,EAAE,QAAQ;KACnB;CACF,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-gemini-cli-oauth",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
4
4
  "description": "OpenCode plugin for Gemini CLI OAuth authentication - use Google account quota without API keys",
5
5
  "type": "module",
6
6
  "main": "dist/index-minimal.js",