opencode-gemini-cli-oauth 1.1.21 → 1.2.1

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.
Files changed (51) hide show
  1. package/dist/constants.d.ts +9 -20
  2. package/dist/constants.d.ts.map +1 -1
  3. package/dist/constants.js +18 -29
  4. package/dist/constants.js.map +1 -1
  5. package/dist/index.d.ts +4 -12
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +4 -14
  8. package/dist/index.js.map +1 -1
  9. package/dist/oauth.d.ts +27 -0
  10. package/dist/oauth.d.ts.map +1 -0
  11. package/dist/oauth.js +170 -0
  12. package/dist/oauth.js.map +1 -0
  13. package/dist/plugin.d.ts +11 -28
  14. package/dist/plugin.d.ts.map +1 -1
  15. package/dist/plugin.js +170 -70
  16. package/dist/plugin.js.map +1 -1
  17. package/dist/types.d.ts +5 -44
  18. package/dist/types.d.ts.map +1 -1
  19. package/package.json +23 -21
  20. package/dist/auth/account-manager.d.ts +0 -16
  21. package/dist/auth/account-manager.d.ts.map +0 -1
  22. package/dist/auth/account-manager.js +0 -63
  23. package/dist/auth/account-manager.js.map +0 -1
  24. package/dist/auth/oauth.d.ts +0 -27
  25. package/dist/auth/oauth.d.ts.map +0 -1
  26. package/dist/auth/oauth.js +0 -89
  27. package/dist/auth/oauth.js.map +0 -1
  28. package/dist/cli/setup.d.ts +0 -3
  29. package/dist/cli/setup.d.ts.map +0 -1
  30. package/dist/cli/setup.js +0 -234
  31. package/dist/cli/setup.js.map +0 -1
  32. package/dist/index-minimal.d.ts +0 -2
  33. package/dist/index-minimal.d.ts.map +0 -1
  34. package/dist/index-minimal.js +0 -2
  35. package/dist/index-minimal.js.map +0 -1
  36. package/dist/index-simple.d.ts +0 -5
  37. package/dist/index-simple.d.ts.map +0 -1
  38. package/dist/index-simple.js +0 -5
  39. package/dist/index-simple.js.map +0 -1
  40. package/dist/plugin-minimal.d.ts +0 -21
  41. package/dist/plugin-minimal.d.ts.map +0 -1
  42. package/dist/plugin-minimal.js +0 -27
  43. package/dist/plugin-minimal.js.map +0 -1
  44. package/dist/plugin-simple.d.ts +0 -28
  45. package/dist/plugin-simple.d.ts.map +0 -1
  46. package/dist/plugin-simple.js +0 -117
  47. package/dist/plugin-simple.js.map +0 -1
  48. package/dist/storage/storage.d.ts +0 -56
  49. package/dist/storage/storage.d.ts.map +0 -1
  50. package/dist/storage/storage.js +0 -138
  51. package/dist/storage/storage.js.map +0 -1
@@ -1,138 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Yusuf
4
- * SPDX-License-Identifier: MIT
5
- */
6
- import fs from 'node:fs/promises';
7
- import { OAUTH_CREDS_PATH, GOOGLE_ACCOUNTS_PATH, ACCOUNT_POOL_PATH, PLUGIN_STORAGE_DIR, GEMINI_DIR, } from '../constants.js';
8
- /**
9
- * Storage manager for OAuth credentials and account pool
10
- */
11
- export const StorageManager = {
12
- /**
13
- * Ensure storage directories exist
14
- */
15
- async ensureDirectories() {
16
- await fs.mkdir(GEMINI_DIR, { recursive: true });
17
- await fs.mkdir(PLUGIN_STORAGE_DIR, { recursive: true });
18
- },
19
- /**
20
- * Read OAuth credentials from Gemini CLI storage
21
- */
22
- async readOAuthCredentials() {
23
- try {
24
- const data = await fs.readFile(OAUTH_CREDS_PATH, 'utf-8');
25
- return JSON.parse(data);
26
- }
27
- catch (error) {
28
- if (error.code === 'ENOENT') {
29
- return null;
30
- }
31
- throw error;
32
- }
33
- },
34
- /**
35
- * Write OAuth credentials to Gemini CLI storage
36
- */
37
- async writeOAuthCredentials(credentials) {
38
- await StorageManager.ensureDirectories();
39
- await fs.writeFile(OAUTH_CREDS_PATH, JSON.stringify(credentials, null, 2), 'utf-8');
40
- },
41
- /**
42
- * Read Google accounts list from Gemini CLI
43
- */
44
- async readGoogleAccounts() {
45
- try {
46
- const data = await fs.readFile(GOOGLE_ACCOUNTS_PATH, 'utf-8');
47
- const parsed = JSON.parse(data);
48
- return parsed.accounts || [];
49
- }
50
- catch (error) {
51
- if (error.code === 'ENOENT') {
52
- return [];
53
- }
54
- throw error;
55
- }
56
- },
57
- /**
58
- * Read account pool
59
- */
60
- async readAccountPool() {
61
- try {
62
- const data = await fs.readFile(ACCOUNT_POOL_PATH, 'utf-8');
63
- return JSON.parse(data);
64
- }
65
- catch (error) {
66
- if (error.code === 'ENOENT') {
67
- return { accounts: [], currentIndex: 0 };
68
- }
69
- throw error;
70
- }
71
- },
72
- /**
73
- * Write account pool
74
- */
75
- async writeAccountPool(pool) {
76
- await StorageManager.ensureDirectories();
77
- await fs.writeFile(ACCOUNT_POOL_PATH, JSON.stringify(pool, null, 2), 'utf-8');
78
- },
79
- /**
80
- * Update account in pool
81
- */
82
- async updateAccountInPool(email, updates) {
83
- const pool = await StorageManager.readAccountPool();
84
- const accountIndex = pool.accounts.findIndex((acc) => acc.email === email);
85
- if (accountIndex >= 0) {
86
- pool.accounts[accountIndex] = {
87
- ...pool.accounts[accountIndex],
88
- ...updates,
89
- };
90
- await StorageManager.writeAccountPool(pool);
91
- }
92
- },
93
- /**
94
- * Add or update account in pool
95
- */
96
- async upsertAccountInPool(entry) {
97
- const pool = await StorageManager.readAccountPool();
98
- const accountIndex = pool.accounts.findIndex((acc) => acc.email === entry.email);
99
- if (accountIndex >= 0) {
100
- pool.accounts[accountIndex] = entry;
101
- }
102
- else {
103
- pool.accounts.push(entry);
104
- }
105
- await StorageManager.writeAccountPool(pool);
106
- },
107
- /**
108
- * Remove account from pool
109
- */
110
- async removeAccountFromPool(email) {
111
- const pool = await StorageManager.readAccountPool();
112
- pool.accounts = pool.accounts.filter((acc) => acc.email !== email);
113
- await StorageManager.writeAccountPool(pool);
114
- },
115
- /**
116
- * Get current active account from pool
117
- */
118
- async getCurrentAccount() {
119
- const pool = await StorageManager.readAccountPool();
120
- if (pool.accounts.length === 0) {
121
- return null;
122
- }
123
- return pool.accounts[pool.currentIndex] || pool.accounts[0];
124
- },
125
- /**
126
- * Rotate to next account in pool
127
- */
128
- async rotateToNextAccount() {
129
- const pool = await StorageManager.readAccountPool();
130
- if (pool.accounts.length === 0) {
131
- return null;
132
- }
133
- pool.currentIndex = (pool.currentIndex + 1) % pool.accounts.length;
134
- await StorageManager.writeAccountPool(pool);
135
- return pool.accounts[pool.currentIndex];
136
- }
137
- };
138
- //# sourceMappingURL=storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage/storage.ts"],"names":[],"mappings":"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"}