opencode-gemini-business 1.0.0 → 2.0.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.
- package/CHANGELOG.md +61 -0
- package/README.md +89 -18
- package/README.ru.md +89 -18
- package/dist/opencode-gemini-business-2.0.1.tgz +0 -0
- package/dist/src/gemini-business-api.d.ts +13 -5
- package/dist/src/gemini-business-api.d.ts.map +1 -1
- package/dist/src/gemini-business-api.js +140 -48
- package/dist/src/gemini-business-api.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,64 @@
|
|
|
1
|
+
## [2.0.1](https://github.com/izzzzzi/opencode-gemini-business/compare/v2.0.0...v2.0.1) (2026-02-15)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* correct widgetStreamAssist request/response format ([4ce720b](https://github.com/izzzzzi/opencode-gemini-business/commit/4ce720b3a51c5812bb611877b763540cadc9c117))
|
|
7
|
+
|
|
8
|
+
# [2.0.0](https://github.com/izzzzzi/opencode-gemini-business/compare/v1.0.0...v2.0.0) (2026-02-15)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* implement proper JWT authentication for Gemini Business API ([a24999a](https://github.com/izzzzzi/opencode-gemini-business/commit/a24999ac93aeb113d5ac0b788ae289e86009c66e))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### BREAKING CHANGES
|
|
17
|
+
|
|
18
|
+
* - Complete rewrite of authentication flow based on business-gemini-pool
|
|
19
|
+
- Now creates JWT tokens from xsrfToken and keyId (HMAC-SHA256)
|
|
20
|
+
- Fixed cookie header case sensitivity (__Secure-C_SES, __Host-C_OSES)
|
|
21
|
+
- Fixed session creation with correct body format
|
|
22
|
+
|
|
23
|
+
Changes:
|
|
24
|
+
- Add crypto import for HMAC JWT signing
|
|
25
|
+
- Implement createJWT() method for proper JWT token generation
|
|
26
|
+
- Rename getXSRFToken() to getJWT() to reflect actual purpose
|
|
27
|
+
- Update createSession() with correct body structure:
|
|
28
|
+
- configId (team_id)
|
|
29
|
+
- additionalParams with token placeholder
|
|
30
|
+
- createSessionRequest with session name/displayName
|
|
31
|
+
- Use Authorization Bearer header instead of X-XSRF-Token
|
|
32
|
+
- Fix XSRF endpoint to use GET with ?csesidx parameter
|
|
33
|
+
- Handle XSS protection prefix )]}' in responses
|
|
34
|
+
|
|
35
|
+
Documentation:
|
|
36
|
+
- Update README examples with all supported models
|
|
37
|
+
- Add comprehensive model-specific usage examples
|
|
38
|
+
- Show configuration for gemini-pro, gemini-flash, gemini-2-pro, etc.
|
|
39
|
+
- Update both English and Russian documentation
|
|
40
|
+
|
|
41
|
+
Tested and working with real Gemini Business account! ✅
|
|
42
|
+
|
|
43
|
+
Based on: https://github.com/ddcat666/business-gemini-pool
|
|
44
|
+
|
|
45
|
+
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
46
|
+
|
|
47
|
+
# 1.0.0 (2026-02-15)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
### Bug Fixes
|
|
51
|
+
|
|
52
|
+
* add package-lock.json and fix CLI module loading ([98cca46](https://github.com/izzzzzi/opencode-gemini-business/commit/98cca46b6cf0516db3a5abfca1f65aec23033f4c))
|
|
53
|
+
* allow CI to pass with no tests ([3948e26](https://github.com/izzzzzi/opencode-gemini-business/commit/3948e264b7d924a9e6495a3c4c0c305606e72282))
|
|
54
|
+
* configure npm registry in CI workflow ([a82d1d7](https://github.com/izzzzzi/opencode-gemini-business/commit/a82d1d794eee3589a446bc829ff7b702a1ec8c56))
|
|
55
|
+
* update release workflow to match opencode-hashline pattern ([e1ef4fa](https://github.com/izzzzzi/opencode-gemini-business/commit/e1ef4fa50186469dd7190c9f5f66255e89fb05b5))
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
### Features
|
|
59
|
+
|
|
60
|
+
* initial release of opencode-gemini-business plugin ([b24c07e](https://github.com/izzzzzi/opencode-gemini-business/commit/b24c07eb6ec407dd16d8127d062ad69b1aca8fd7))
|
|
61
|
+
|
|
1
62
|
# Changelog
|
|
2
63
|
|
|
3
64
|
All notable changes to this project will be documented in this file.
|
package/README.md
CHANGED
|
@@ -60,12 +60,57 @@ Add to `~/.config/opencode/opencode.json`:
|
|
|
60
60
|
|
|
61
61
|
```json
|
|
62
62
|
{
|
|
63
|
-
"
|
|
64
|
-
"
|
|
63
|
+
"$schema": "https://opencode.ai/config.json",
|
|
64
|
+
"plugin": ["opencode-gemini-business@latest"],
|
|
65
|
+
"provider": {
|
|
65
66
|
"gemini-business": {
|
|
66
|
-
"
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
"models": {
|
|
68
|
+
"gemini-2.5-pro": {
|
|
69
|
+
"name": "Gemini 2.5 Pro (Business)",
|
|
70
|
+
"limit": { "context": 1048576, "output": 32768 },
|
|
71
|
+
"modalities": { "input": ["text"], "output": ["text"] }
|
|
72
|
+
},
|
|
73
|
+
"gemini-2.5-flash": {
|
|
74
|
+
"name": "Gemini 2.5 Flash (Business)",
|
|
75
|
+
"limit": { "context": 1048576, "output": 8192 },
|
|
76
|
+
"modalities": { "input": ["text"], "output": ["text"] }
|
|
77
|
+
},
|
|
78
|
+
"gemini-2.0-pro": {
|
|
79
|
+
"name": "Gemini 2.0 Pro (Business)",
|
|
80
|
+
"limit": { "context": 2097152, "output": 32768 },
|
|
81
|
+
"modalities": { "input": ["text"], "output": ["text"] }
|
|
82
|
+
},
|
|
83
|
+
"gemini-1.5-pro": {
|
|
84
|
+
"name": "Gemini 1.5 Pro (Business)",
|
|
85
|
+
"limit": { "context": 2097152, "output": 8192 },
|
|
86
|
+
"modalities": { "input": ["text"], "output": ["text"] }
|
|
87
|
+
},
|
|
88
|
+
"gemini-1.5-flash": {
|
|
89
|
+
"name": "Gemini 1.5 Flash (Business)",
|
|
90
|
+
"limit": { "context": 1048576, "output": 8192 },
|
|
91
|
+
"modalities": { "input": ["text"], "output": ["text"] }
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**Or use short aliases:**
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"$schema": "https://opencode.ai/config.json",
|
|
104
|
+
"plugin": ["opencode-gemini-business@latest"],
|
|
105
|
+
"provider": {
|
|
106
|
+
"gemini-business": {
|
|
107
|
+
"models": {
|
|
108
|
+
"gemini-2.5-pro": { "name": "Gemini 2.5 Pro" },
|
|
109
|
+
"gemini-2.5-flash": { "name": "Gemini 2.5 Flash" },
|
|
110
|
+
"gemini-2.0-pro": { "name": "Gemini 2.0 Pro" },
|
|
111
|
+
"gemini-1.5-pro": { "name": "Gemini 1.5 Pro" },
|
|
112
|
+
"gemini-1.5-flash": { "name": "Gemini 1.5 Flash" }
|
|
113
|
+
}
|
|
69
114
|
}
|
|
70
115
|
}
|
|
71
116
|
}
|
|
@@ -145,22 +190,41 @@ opencode-gemini-business add-account
|
|
|
145
190
|
### Basic Usage
|
|
146
191
|
|
|
147
192
|
```bash
|
|
148
|
-
# Use
|
|
149
|
-
opencode run "
|
|
193
|
+
# Use Pro model (best quality)
|
|
194
|
+
opencode run "Analyze this codebase architecture" --model=gemini-pro
|
|
150
195
|
|
|
151
|
-
#
|
|
152
|
-
|
|
153
|
-
|
|
196
|
+
# Use Flash model (fastest)
|
|
197
|
+
opencode run "Fix this syntax error" --model=gemini-flash
|
|
198
|
+
|
|
199
|
+
# Use 2.0 Pro (largest context - 2M tokens)
|
|
200
|
+
opencode run "Summarize these 100 files" --model=gemini-2-pro
|
|
154
201
|
```
|
|
155
202
|
|
|
156
203
|
### Model-Specific Usage
|
|
157
204
|
|
|
158
205
|
```bash
|
|
159
|
-
#
|
|
160
|
-
opencode run "
|
|
206
|
+
# Complex reasoning tasks → gemini-2.5-pro
|
|
207
|
+
opencode run "Design microservices architecture" --model=gemini-pro
|
|
161
208
|
|
|
162
|
-
#
|
|
163
|
-
opencode run "
|
|
209
|
+
# Quick simple tasks → gemini-2.5-flash
|
|
210
|
+
opencode run "Write hello world" --model=gemini-flash
|
|
211
|
+
|
|
212
|
+
# Massive context → gemini-2.0-pro (2M tokens)
|
|
213
|
+
opencode run "Analyze entire codebase" --model=gemini-2-pro
|
|
214
|
+
|
|
215
|
+
# Production workloads → gemini-1.5-pro
|
|
216
|
+
opencode run "Review this PR" --model=gemini-1.5-pro
|
|
217
|
+
|
|
218
|
+
# Cost-effective → gemini-1.5-flash
|
|
219
|
+
opencode run "Generate tests" --model=gemini-1.5-flash
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Set Default Model
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# Set your preferred model as default
|
|
226
|
+
export OPENCODE_MODEL=gemini-pro
|
|
227
|
+
opencode run "Your task here"
|
|
164
228
|
```
|
|
165
229
|
|
|
166
230
|
### 🛠️ Account Management
|
|
@@ -191,11 +255,18 @@ opencode-gemini-business help
|
|
|
191
255
|
|
|
192
256
|
```json
|
|
193
257
|
{
|
|
194
|
-
"
|
|
258
|
+
"$schema": "https://opencode.ai/config.json",
|
|
259
|
+
"plugin": ["opencode-gemini-business@latest"],
|
|
260
|
+
"provider": {
|
|
195
261
|
"gemini-business": {
|
|
196
|
-
"
|
|
197
|
-
"
|
|
198
|
-
|
|
262
|
+
"rotation_strategy": "least-used", // ← Change here
|
|
263
|
+
"models": {
|
|
264
|
+
"gemini-2.5-pro": {
|
|
265
|
+
"name": "Gemini 2.5 Pro (Business)",
|
|
266
|
+
"limit": { "context": 1048576, "output": 32768 },
|
|
267
|
+
"modalities": { "input": ["text"], "output": ["text"] }
|
|
268
|
+
}
|
|
269
|
+
}
|
|
199
270
|
}
|
|
200
271
|
}
|
|
201
272
|
}
|
package/README.ru.md
CHANGED
|
@@ -58,12 +58,57 @@ npx opencode-gemini-business@latest
|
|
|
58
58
|
|
|
59
59
|
```json
|
|
60
60
|
{
|
|
61
|
-
"
|
|
62
|
-
"
|
|
61
|
+
"$schema": "https://opencode.ai/config.json",
|
|
62
|
+
"plugin": ["opencode-gemini-business@latest"],
|
|
63
|
+
"provider": {
|
|
63
64
|
"gemini-business": {
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
"models": {
|
|
66
|
+
"gemini-2.5-pro": {
|
|
67
|
+
"name": "Gemini 2.5 Pro (Business)",
|
|
68
|
+
"limit": { "context": 1048576, "output": 32768 },
|
|
69
|
+
"modalities": { "input": ["text"], "output": ["text"] }
|
|
70
|
+
},
|
|
71
|
+
"gemini-2.5-flash": {
|
|
72
|
+
"name": "Gemini 2.5 Flash (Business)",
|
|
73
|
+
"limit": { "context": 1048576, "output": 8192 },
|
|
74
|
+
"modalities": { "input": ["text"], "output": ["text"] }
|
|
75
|
+
},
|
|
76
|
+
"gemini-2.0-pro": {
|
|
77
|
+
"name": "Gemini 2.0 Pro (Business)",
|
|
78
|
+
"limit": { "context": 2097152, "output": 32768 },
|
|
79
|
+
"modalities": { "input": ["text"], "output": ["text"] }
|
|
80
|
+
},
|
|
81
|
+
"gemini-1.5-pro": {
|
|
82
|
+
"name": "Gemini 1.5 Pro (Business)",
|
|
83
|
+
"limit": { "context": 2097152, "output": 8192 },
|
|
84
|
+
"modalities": { "input": ["text"], "output": ["text"] }
|
|
85
|
+
},
|
|
86
|
+
"gemini-1.5-flash": {
|
|
87
|
+
"name": "Gemini 1.5 Flash (Business)",
|
|
88
|
+
"limit": { "context": 1048576, "output": 8192 },
|
|
89
|
+
"modalities": { "input": ["text"], "output": ["text"] }
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Или используйте короткие алиасы:**
|
|
98
|
+
|
|
99
|
+
```json
|
|
100
|
+
{
|
|
101
|
+
"$schema": "https://opencode.ai/config.json",
|
|
102
|
+
"plugin": ["opencode-gemini-business@latest"],
|
|
103
|
+
"provider": {
|
|
104
|
+
"gemini-business": {
|
|
105
|
+
"models": {
|
|
106
|
+
"gemini-2.5-pro": { "name": "Gemini 2.5 Pro" },
|
|
107
|
+
"gemini-2.5-flash": { "name": "Gemini 2.5 Flash" },
|
|
108
|
+
"gemini-2.0-pro": { "name": "Gemini 2.0 Pro" },
|
|
109
|
+
"gemini-1.5-pro": { "name": "Gemini 1.5 Pro" },
|
|
110
|
+
"gemini-1.5-flash": { "name": "Gemini 1.5 Flash" }
|
|
111
|
+
}
|
|
67
112
|
}
|
|
68
113
|
}
|
|
69
114
|
}
|
|
@@ -154,22 +199,41 @@ opencode-gemini-business add-account
|
|
|
154
199
|
### Базовое использование
|
|
155
200
|
|
|
156
201
|
```bash
|
|
157
|
-
#
|
|
158
|
-
opencode run "
|
|
202
|
+
# Используй Pro (лучшее качество)
|
|
203
|
+
opencode run "Проанализируй архитектуру проекта" --model=gemini-pro
|
|
159
204
|
|
|
160
|
-
#
|
|
161
|
-
|
|
162
|
-
|
|
205
|
+
# Используй Flash (самая быстрая)
|
|
206
|
+
opencode run "Исправь синтаксическую ошибку" --model=gemini-flash
|
|
207
|
+
|
|
208
|
+
# Используй 2.0 Pro (огромный контекст - 2M токенов)
|
|
209
|
+
opencode run "Суммируй эти 100 файлов" --model=gemini-2-pro
|
|
163
210
|
```
|
|
164
211
|
|
|
165
212
|
### Использование конкретных моделей
|
|
166
213
|
|
|
167
214
|
```bash
|
|
168
|
-
#
|
|
169
|
-
opencode run "
|
|
215
|
+
# Сложные задачи → gemini-2.5-pro
|
|
216
|
+
opencode run "Спроектируй микросервисную архитектуру" --model=gemini-pro
|
|
217
|
+
|
|
218
|
+
# Быстрые простые задачи → gemini-2.5-flash
|
|
219
|
+
opencode run "Напиши hello world" --model=gemini-flash
|
|
220
|
+
|
|
221
|
+
# Массивный контекст → gemini-2.0-pro (2M токенов)
|
|
222
|
+
opencode run "Проанализируй весь codebase" --model=gemini-2-pro
|
|
223
|
+
|
|
224
|
+
# Производственные нагрузки → gemini-1.5-pro
|
|
225
|
+
opencode run "Ревью этого PR" --model=gemini-1.5-pro
|
|
170
226
|
|
|
171
|
-
#
|
|
172
|
-
opencode run "
|
|
227
|
+
# Экономичная → gemini-1.5-flash
|
|
228
|
+
opencode run "Сгенерируй тесты" --model=gemini-1.5-flash
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Установить модель по умолчанию
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
# Установи предпочитаемую модель по умолчанию
|
|
235
|
+
export OPENCODE_MODEL=gemini-pro
|
|
236
|
+
opencode run "Твоя задача здесь"
|
|
173
237
|
```
|
|
174
238
|
|
|
175
239
|
### 🛠️ Управление аккаунтами
|
|
@@ -200,11 +264,18 @@ opencode-gemini-business help
|
|
|
200
264
|
|
|
201
265
|
```json
|
|
202
266
|
{
|
|
203
|
-
"
|
|
267
|
+
"$schema": "https://opencode.ai/config.json",
|
|
268
|
+
"plugin": ["opencode-gemini-business@latest"],
|
|
269
|
+
"provider": {
|
|
204
270
|
"gemini-business": {
|
|
205
|
-
"
|
|
206
|
-
"
|
|
207
|
-
|
|
271
|
+
"rotation_strategy": "least-used", // ← Измените здесь
|
|
272
|
+
"models": {
|
|
273
|
+
"gemini-2.5-pro": {
|
|
274
|
+
"name": "Gemini 2.5 Pro (Business)",
|
|
275
|
+
"limit": { "context": 1048576, "output": 32768 },
|
|
276
|
+
"modalities": { "input": ["text"], "output": ["text"] }
|
|
277
|
+
}
|
|
278
|
+
}
|
|
208
279
|
}
|
|
209
280
|
}
|
|
210
281
|
}
|
|
Binary file
|
|
@@ -11,10 +11,14 @@ export declare class GeminiBusinessAPI {
|
|
|
11
11
|
private account;
|
|
12
12
|
constructor(account: GeminiBusinessAccount);
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
* Tokens are cached for 55 minutes
|
|
14
|
+
* Create JWT token from xsrfToken and keyId
|
|
16
15
|
*/
|
|
17
|
-
private
|
|
16
|
+
private createJWT;
|
|
17
|
+
/**
|
|
18
|
+
* Get JWT token (created from XSRF token)
|
|
19
|
+
* Tokens are cached for 5 minutes
|
|
20
|
+
*/
|
|
21
|
+
private getJWT;
|
|
18
22
|
/**
|
|
19
23
|
* Create session with widgetCreateSession
|
|
20
24
|
* Sessions are cached for 50 minutes
|
|
@@ -37,9 +41,13 @@ export declare class GeminiBusinessAPI {
|
|
|
37
41
|
*/
|
|
38
42
|
private convertToGeminiFormat;
|
|
39
43
|
/**
|
|
40
|
-
* Build
|
|
44
|
+
* Build query parts from OpenAI messages array
|
|
45
|
+
*/
|
|
46
|
+
private buildQueryParts;
|
|
47
|
+
/**
|
|
48
|
+
* Map OpenAI model names to Gemini internal model IDs
|
|
41
49
|
*/
|
|
42
|
-
private
|
|
50
|
+
private mapModelId;
|
|
43
51
|
/**
|
|
44
52
|
* Convert Gemini Business format to OpenAI format
|
|
45
53
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-business-api.d.ts","sourceRoot":"","sources":["../../src/gemini-business-api.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"gemini-business-api.d.ts","sourceRoot":"","sources":["../../src/gemini-business-api.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AAQpB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAwB;gBAE3B,OAAO,EAAE,qBAAqB;IAI1C;;OAEG;IACH,OAAO,CAAC,SAAS;IAqCjB;;;OAGG;YACW,MAAM;IA6CpB;;;OAGG;YACW,aAAa;IAsD3B;;OAEG;IACG,cAAc,CAClB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAsC1E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmC7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB;;OAEG;IACH,OAAO,CAAC,UAAU;IAYlB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA0C7B;;OAEG;YACY,oBAAoB;IAsDnC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiBlE;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAY9B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAQtC"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* - https://biz-discoveryengine.googleapis.com/v1alpha/locations/global/widgetStreamAssist (chat)
|
|
8
8
|
*/
|
|
9
9
|
import fetch from 'node-fetch';
|
|
10
|
+
import { createHmac } from 'crypto';
|
|
10
11
|
// Gemini Business API Endpoints
|
|
11
12
|
const BASE_URL = 'https://biz-discoveryengine.googleapis.com/v1alpha/locations/global';
|
|
12
13
|
const CREATE_SESSION_URL = `${BASE_URL}/widgetCreateSession`;
|
|
@@ -18,38 +19,75 @@ export class GeminiBusinessAPI {
|
|
|
18
19
|
this.account = account;
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
21
|
-
*
|
|
22
|
-
* Tokens are cached for 55 minutes
|
|
22
|
+
* Create JWT token from xsrfToken and keyId
|
|
23
23
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
createJWT(xsrfToken, keyId) {
|
|
25
|
+
const now = Math.floor(Date.now() / 1000);
|
|
26
|
+
const header = {
|
|
27
|
+
alg: 'HS256',
|
|
28
|
+
typ: 'JWT',
|
|
29
|
+
kid: keyId,
|
|
30
|
+
};
|
|
31
|
+
const payload = {
|
|
32
|
+
iss: 'https://business.gemini.google',
|
|
33
|
+
aud: 'https://biz-discoveryengine.googleapis.com',
|
|
34
|
+
sub: `csesidx/${this.account.csesidx}`,
|
|
35
|
+
iat: now,
|
|
36
|
+
exp: now + 300, // 5 minutes
|
|
37
|
+
nbf: now,
|
|
38
|
+
};
|
|
39
|
+
// Base64url encode
|
|
40
|
+
const base64url = (str) => Buffer.from(str).toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
|
|
41
|
+
const headerB64 = base64url(JSON.stringify(header));
|
|
42
|
+
const payloadB64 = base64url(JSON.stringify(payload));
|
|
43
|
+
const message = `${headerB64}.${payloadB64}`;
|
|
44
|
+
// Decode xsrfToken to get key bytes
|
|
45
|
+
const padding = '='.repeat((4 - (xsrfToken.length % 4)) % 4);
|
|
46
|
+
const keyBytes = Buffer.from(xsrfToken + padding, 'base64url');
|
|
47
|
+
// Create HMAC signature
|
|
48
|
+
const signature = createHmac('sha256', keyBytes).update(message).digest();
|
|
49
|
+
const signatureB64 = signature.toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
|
|
50
|
+
return `${message}.${signatureB64}`;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get JWT token (created from XSRF token)
|
|
54
|
+
* Tokens are cached for 5 minutes
|
|
55
|
+
*/
|
|
56
|
+
async getJWT() {
|
|
57
|
+
// Check if cached JWT is still valid
|
|
26
58
|
if (this.account.xsrf_token && this.account.xsrf_expires) {
|
|
27
59
|
if (Date.now() < this.account.xsrf_expires) {
|
|
28
|
-
return this.account.xsrf_token;
|
|
60
|
+
return this.account.xsrf_token; // Actually stores JWT
|
|
29
61
|
}
|
|
30
62
|
}
|
|
31
63
|
try {
|
|
32
|
-
const
|
|
33
|
-
|
|
64
|
+
const url = `${GETOXSRF_URL}?csesidx=${this.account.csesidx}`;
|
|
65
|
+
const response = await fetch(url, {
|
|
66
|
+
method: 'GET',
|
|
34
67
|
headers: {
|
|
35
68
|
'Cookie': this.buildCookieHeader(),
|
|
36
69
|
'User-Agent': this.getUserAgent(),
|
|
37
|
-
'Content-Type': 'application/json',
|
|
38
70
|
},
|
|
39
|
-
body: JSON.stringify({}),
|
|
40
71
|
});
|
|
41
72
|
if (!response.ok) {
|
|
42
73
|
const errorText = await response.text();
|
|
43
74
|
throw new Error(`Failed to get XSRF token: ${response.status} ${response.statusText}\n${errorText}`);
|
|
44
75
|
}
|
|
45
|
-
|
|
46
|
-
//
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
76
|
+
let text = await response.text();
|
|
77
|
+
// Remove XSS protection prefix )]}'
|
|
78
|
+
if (text.startsWith(")]}'\n")) {
|
|
79
|
+
text = text.substring(5);
|
|
80
|
+
}
|
|
81
|
+
const data = JSON.parse(text);
|
|
82
|
+
// Create JWT from xsrfToken and keyId
|
|
83
|
+
const jwt = this.createJWT(data.xsrfToken, data.keyId);
|
|
84
|
+
// Cache JWT for 5 minutes (JWT expires in 5 minutes)
|
|
85
|
+
this.account.xsrf_token = jwt; // Store JWT in xsrf_token field
|
|
86
|
+
this.account.xsrf_expires = Date.now() + (4.5 * 60 * 1000); // 4.5 minutes to be safe
|
|
87
|
+
return jwt;
|
|
50
88
|
}
|
|
51
89
|
catch (error) {
|
|
52
|
-
throw new Error(`
|
|
90
|
+
throw new Error(`JWT retrieval failed: ${error}`);
|
|
53
91
|
}
|
|
54
92
|
}
|
|
55
93
|
/**
|
|
@@ -64,30 +102,39 @@ export class GeminiBusinessAPI {
|
|
|
64
102
|
}
|
|
65
103
|
}
|
|
66
104
|
try {
|
|
67
|
-
const
|
|
105
|
+
const jwt = await this.getJWT();
|
|
106
|
+
// Generate random session ID
|
|
107
|
+
const sessionId = Math.random().toString(36).substring(2, 14);
|
|
108
|
+
const body = {
|
|
109
|
+
configId: this.account.team_id,
|
|
110
|
+
additionalParams: { token: '-' },
|
|
111
|
+
createSessionRequest: {
|
|
112
|
+
session: {
|
|
113
|
+
name: sessionId,
|
|
114
|
+
displayName: sessionId,
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
};
|
|
68
118
|
const response = await fetch(CREATE_SESSION_URL, {
|
|
69
119
|
method: 'POST',
|
|
70
120
|
headers: {
|
|
71
121
|
'Content-Type': 'application/json',
|
|
72
|
-
'
|
|
73
|
-
'X-Goog-Team-Id': this.account.team_id,
|
|
74
|
-
'X-XSRF-Token': xsrfToken,
|
|
122
|
+
'Authorization': `Bearer ${jwt}`,
|
|
75
123
|
'User-Agent': this.getUserAgent(),
|
|
124
|
+
'Origin': 'https://business.gemini.google',
|
|
125
|
+
'Referer': 'https://business.gemini.google/',
|
|
76
126
|
},
|
|
77
|
-
body: JSON.stringify(
|
|
78
|
-
team_id: this.account.team_id,
|
|
79
|
-
csesidx: this.account.csesidx,
|
|
80
|
-
}),
|
|
127
|
+
body: JSON.stringify(body),
|
|
81
128
|
});
|
|
82
129
|
if (!response.ok) {
|
|
83
130
|
const errorText = await response.text();
|
|
84
131
|
throw new Error(`Failed to create session: ${response.status} ${response.statusText}\n${errorText}`);
|
|
85
132
|
}
|
|
86
|
-
const data = await response.json();
|
|
133
|
+
const data = (await response.json());
|
|
87
134
|
// Cache session for 50 minutes
|
|
88
|
-
this.account.session_id = data.
|
|
135
|
+
this.account.session_id = data.session.name;
|
|
89
136
|
this.account.session_expires = Date.now() + (50 * 60 * 1000);
|
|
90
|
-
return data.
|
|
137
|
+
return data.session.name;
|
|
91
138
|
}
|
|
92
139
|
catch (error) {
|
|
93
140
|
throw new Error(`Session creation failed: ${error}`);
|
|
@@ -99,16 +146,16 @@ export class GeminiBusinessAPI {
|
|
|
99
146
|
async chatCompletion(request) {
|
|
100
147
|
try {
|
|
101
148
|
const sessionId = await this.createSession();
|
|
102
|
-
const xsrfToken = await this.
|
|
149
|
+
const xsrfToken = await this.getJWT();
|
|
103
150
|
// Convert OpenAI format to Gemini Business format
|
|
104
151
|
const geminiRequest = this.convertToGeminiFormat(request, sessionId);
|
|
105
152
|
const response = await fetch(STREAM_ASSIST_URL, {
|
|
106
153
|
method: 'POST',
|
|
107
154
|
headers: {
|
|
108
155
|
'Content-Type': 'application/json',
|
|
109
|
-
'
|
|
110
|
-
'
|
|
111
|
-
'
|
|
156
|
+
'Authorization': `Bearer ${xsrfToken}`,
|
|
157
|
+
'Origin': 'https://business.gemini.google',
|
|
158
|
+
'Referer': 'https://business.gemini.google/',
|
|
112
159
|
'User-Agent': this.getUserAgent(),
|
|
113
160
|
},
|
|
114
161
|
body: JSON.stringify(geminiRequest),
|
|
@@ -133,7 +180,7 @@ export class GeminiBusinessAPI {
|
|
|
133
180
|
* Build cookie header string
|
|
134
181
|
*/
|
|
135
182
|
buildCookieHeader() {
|
|
136
|
-
return `__Secure-
|
|
183
|
+
return `__Secure-C_SES=${this.account.cookies.secure_c_ses}; __Host-C_OSES=${this.account.cookies.host_c_oses}`;
|
|
137
184
|
}
|
|
138
185
|
/**
|
|
139
186
|
* Get user agent string
|
|
@@ -146,23 +193,40 @@ export class GeminiBusinessAPI {
|
|
|
146
193
|
* Convert OpenAI format to Gemini Business format
|
|
147
194
|
*/
|
|
148
195
|
convertToGeminiFormat(request, sessionId) {
|
|
149
|
-
// Build
|
|
150
|
-
const
|
|
196
|
+
// Build query parts from messages
|
|
197
|
+
const queryParts = this.buildQueryParts(request.messages);
|
|
198
|
+
// Map model name to Gemini internal model ID
|
|
199
|
+
const modelId = this.mapModelId(request.model);
|
|
151
200
|
return {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
201
|
+
configId: this.account.team_id,
|
|
202
|
+
additionalParams: { token: '-' },
|
|
203
|
+
streamAssistRequest: {
|
|
204
|
+
session: sessionId,
|
|
205
|
+
query: { parts: queryParts },
|
|
206
|
+
filter: '',
|
|
207
|
+
fileIds: [],
|
|
208
|
+
answerGenerationMode: 'NORMAL',
|
|
209
|
+
assistGenerationConfig: {
|
|
210
|
+
modelId: modelId,
|
|
211
|
+
},
|
|
212
|
+
toolsSpec: {
|
|
213
|
+
webGroundingSpec: {},
|
|
214
|
+
toolRegistry: 'default_tool_registry',
|
|
215
|
+
imageGenerationSpec: {},
|
|
216
|
+
videoGenerationSpec: {},
|
|
217
|
+
},
|
|
218
|
+
languageCode: 'en-US',
|
|
219
|
+
userMetadata: { timeZone: 'Etc/GMT' },
|
|
220
|
+
assistSkippingMode: 'REQUEST_ASSIST',
|
|
221
|
+
},
|
|
159
222
|
};
|
|
160
223
|
}
|
|
161
224
|
/**
|
|
162
|
-
* Build
|
|
225
|
+
* Build query parts from OpenAI messages array
|
|
163
226
|
*/
|
|
164
|
-
|
|
165
|
-
|
|
227
|
+
buildQueryParts(messages) {
|
|
228
|
+
// Combine all messages into a single text prompt
|
|
229
|
+
const fullPrompt = messages
|
|
166
230
|
.map((msg) => {
|
|
167
231
|
const role = msg.role === 'assistant' ? 'Assistant' : msg.role === 'system' ? 'System' : 'User';
|
|
168
232
|
if (typeof msg.content === 'string') {
|
|
@@ -178,13 +242,41 @@ export class GeminiBusinessAPI {
|
|
|
178
242
|
}
|
|
179
243
|
})
|
|
180
244
|
.join('\n\n');
|
|
245
|
+
return [{ text: fullPrompt }];
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Map OpenAI model names to Gemini internal model IDs
|
|
249
|
+
*/
|
|
250
|
+
mapModelId(model) {
|
|
251
|
+
const modelMap = {
|
|
252
|
+
'gemini-2.5-pro': 'gemini-3-pro-preview',
|
|
253
|
+
'gemini-2.5-flash': 'gemini-3-flash-preview',
|
|
254
|
+
'gemini-2.0-pro': 'gemini-2-pro',
|
|
255
|
+
'gemini-1.5-pro': 'gemini-1.5-pro',
|
|
256
|
+
'gemini-1.5-flash': 'gemini-1.5-flash',
|
|
257
|
+
};
|
|
258
|
+
return modelMap[model || 'gemini-2.5-pro'] || 'gemini-3-pro-preview';
|
|
181
259
|
}
|
|
182
260
|
/**
|
|
183
261
|
* Convert Gemini Business format to OpenAI format
|
|
184
262
|
*/
|
|
185
263
|
convertToOpenAIFormat(data, model) {
|
|
186
|
-
|
|
187
|
-
|
|
264
|
+
// Gemini Business returns an array of response chunks
|
|
265
|
+
// We need to collect text from all chunks, ignoring "thought" parts
|
|
266
|
+
let fullText = '';
|
|
267
|
+
if (Array.isArray(data)) {
|
|
268
|
+
for (const chunk of data) {
|
|
269
|
+
const answer = chunk.streamAssistResponse?.answer;
|
|
270
|
+
if (!answer || !answer.replies)
|
|
271
|
+
continue;
|
|
272
|
+
for (const reply of answer.replies) {
|
|
273
|
+
const content = reply.groundedContent?.content;
|
|
274
|
+
if (content && content.text && !content.thought) {
|
|
275
|
+
fullText += content.text;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
188
280
|
return {
|
|
189
281
|
id: `chatcmpl-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
|
|
190
282
|
object: 'chat.completion',
|
|
@@ -195,9 +287,9 @@ export class GeminiBusinessAPI {
|
|
|
195
287
|
index: 0,
|
|
196
288
|
message: {
|
|
197
289
|
role: 'assistant',
|
|
198
|
-
content,
|
|
290
|
+
content: fullText.trim(),
|
|
199
291
|
},
|
|
200
|
-
finish_reason:
|
|
292
|
+
finish_reason: 'stop',
|
|
201
293
|
},
|
|
202
294
|
],
|
|
203
295
|
usage: {
|
|
@@ -264,7 +356,7 @@ export class GeminiBusinessAPI {
|
|
|
264
356
|
async testAccount() {
|
|
265
357
|
try {
|
|
266
358
|
// Test 1: Get XSRF token
|
|
267
|
-
await this.
|
|
359
|
+
await this.getJWT();
|
|
268
360
|
// Test 2: Create session
|
|
269
361
|
await this.createSession();
|
|
270
362
|
return { success: true };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-business-api.js","sourceRoot":"","sources":["../../src/gemini-business-api.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,YAAY,CAAC;AAQ/B,gCAAgC;AAChC,MAAM,QAAQ,GAAG,qEAAqE,CAAC;AACvF,MAAM,kBAAkB,GAAG,GAAG,QAAQ,sBAAsB,CAAC;AAC7D,MAAM,iBAAiB,GAAG,GAAG,QAAQ,qBAAqB,CAAC;AAC3D,MAAM,YAAY,GAAG,8CAA8C,CAAC;AAEpE,MAAM,OAAO,iBAAiB;IACpB,OAAO,CAAwB;IAEvC,YAAY,OAA8B;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY;QACxB,uCAAuC;QACvC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YACjC,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;gBACzC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE;oBAClC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;oBACjC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;aACzB,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC,CAAC;YACvG,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAuB,CAAC;YAExD,6BAA6B;YAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAE1D,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa;QACzB,yCAAyC;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YACjC,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAE5C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,kBAAkB,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE;oBAClC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;oBACtC,cAAc,EAAE,SAAS;oBACzB,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;iBAClC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;oBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;iBAC9B,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC,CAAC;YACvG,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA4B,CAAC;YAE7D,+BAA+B;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAE7D,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,OAA8B;QAE9B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAE5C,kDAAkD;YAClD,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAErE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE;gBAC9C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE;oBAClC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;oBACtC,cAAc,EAAE,SAAS;oBACzB,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;iBAClC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;aACpC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC,CAAC;YACrG,CAAC;YAED,4BAA4B;YAC5B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5D,CAAC;YAED,gCAAgC;YAChC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,OAAO,kBAAkB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,mBAAmB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAClH,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,UAAU;YACvB,iHAAiH,CAClH,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,OAA8B,EAC9B,SAAiB;QAEjB,6BAA6B;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE9D,OAAO;YACL,UAAU,EAAE,SAAS;YACrB,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,gBAAgB;YACxC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;YAC/B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,QAAuB;QACrD,OAAO,QAAQ;aACZ,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAEhG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACpC,OAAO,GAAG,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,4CAA4C;gBAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO;qBAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC;qBACnD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;qBACxB,IAAI,CAAC,GAAG,CAAC,CAAC;gBACb,OAAO,GAAG,IAAI,KAAK,SAAS,EAAE,CAAC;YACjC,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,IAAS,EAAE,KAAa;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC;QAElD,OAAO;YACL,EAAE,EAAE,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACvE,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACtC,KAAK;YACL,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE;wBACP,IAAI,EAAE,WAAW;wBACjB,OAAO;qBACR;oBACD,aAAa,EAAE,YAAY;iBAC5B;aACF;YACD,KAAK,EAAE;gBACL,aAAa,EAAE,CAAC,EAAE,+CAA+C;gBACjE,iBAAiB,EAAE,CAAC;gBACpB,YAAY,EAAE,CAAC;aAChB;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,CAAC,oBAAoB,CACjC,QAAa,EACb,KAAa;QAEb,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC7B,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAE5B,qCAAqC;oBACrC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,cAAc;wBAAE,SAAS;oBAErD,iBAAiB;oBACjB,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjC,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BAEjC,qCAAqC;4BACrC,MAAM;gCACJ,EAAE,EAAE,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE;gCAC5B,MAAM,EAAE,uBAAuB;gCAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gCACtC,KAAK;gCACL,OAAO,EAAE;oCACP;wCACE,KAAK,EAAE,CAAC;wCACR,KAAK,EAAE;4CACL,IAAI,EAAE,WAAW;4CACjB,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE;yCACzC;wCACD,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;qCAC1C;iCACF;6BACF,CAAC;wBACJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;wBACpD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAE1B,yBAAyB;YACzB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAE3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,GAAG,CAAC;QAErD,2CAA2C;QAC3C,OAAO,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,uBAAuB;QACvB,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;QAEzC,qBAAqB;QACrB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"gemini-business-api.js","sourceRoot":"","sources":["../../src/gemini-business-api.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED