opencode-antigravity-auth-remix 1.1.1 → 1.2.0

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/README.md CHANGED
@@ -30,7 +30,8 @@ Enable Opencode to authenticate against **Antigravity** (Google's IDE) via OAuth
30
30
  - **Auto Recovery** - Automatic session recovery from Claude tool_result_missing errors
31
31
  - **Plugin Compatible** - Works alongside other OpenCode plugins (opencodesync, etc.)
32
32
  - **generate_image Tool** - AI image generation with auto-save, WebP conversion, and 4K support (Stability varies)
33
- - **google_search Tool** - (WIP) Built-in web search. Currently returning "Preview access required" errors.
33
+ - **google_search Tool** - High-quality web search with structural citations and URL analysis.
34
+ - **count_tokens Tool** - Count tokens for any text using specified models.
34
35
 
35
36
  ## Installation
36
37
 
@@ -50,7 +51,7 @@ Install the opencode-antigravity-auth-remix plugin and add the Antigravity model
50
51
 
51
52
  ```json
52
53
  {
53
- "plugin": ["opencode-antigravity-auth-remix@1.1.1"]
54
+ "plugin": ["opencode-antigravity-auth-remix@1.2.0"]
54
55
  }
55
56
  ```
56
57
 
@@ -101,7 +102,7 @@ Copy this to `~/.config/opencode/opencode.json`:
101
102
  ```json
102
103
  {
103
104
  "$schema": "https://opencode.ai/config.json",
104
- "plugin": ["opencode-antigravity-auth-remix@1.1.1"],
105
+ "plugin": ["opencode-antigravity-auth-remix@1.2.0"],
105
106
  "provider": {
106
107
  "google": {
107
108
  "models": {
@@ -253,9 +254,18 @@ AI image generation with automatic file saving and WebP conversion. Uses `gemini
253
254
  - Generates WebP version (75% quality) alongside original
254
255
  - 4K support via dynamic model configuration
255
256
 
256
- ### google_search (WIP)
257
+ ### google_search
257
258
 
258
- Web search and URL analysis. Currently experimental and may return "Preview access required" errors due to API restrictions.
259
+ High-quality web search and URL analysis with structural citations.
260
+
261
+ ### count_tokens
262
+
263
+ Count the number of tokens in a given text string.
264
+
265
+ | Parameter | Type | Required | Default | Description |
266
+ |-----------|------|----------|---------|-------------|
267
+ | `text` | string | Yes | - | The text to count tokens for |
268
+ | `model` | string | No | "gemini-2.5-flash" | The model to use for counting |
259
269
 
260
270
  ## License
261
271
 
@@ -295,7 +305,8 @@ MIT
295
305
  - **自动恢复** - 自动处理 Claude 的 `tool_result_missing` 错误并恢复会话
296
306
  - **插件兼容性** - 可与其他 OpenCode 插件 (如 opencodesync 等) 同时运行
297
307
  - **generate_image 工具** - AI 图像生成,支持自动保存、WebP 转换和 4K 输出 (稳定性视配额而定)
298
- - **google_search 工具** - (开发中) 内置网页搜索。目前可能会返回 "Preview access required" 错误。
308
+ - **google_search 工具** - 高质量网页搜索,支持结构化引用和 URL 分析。
309
+ - **count_tokens 工具** - 统计指定文本在特定模型下的 Token 消耗。
299
310
 
300
311
  ## 安装步骤
301
312
 
@@ -313,7 +324,7 @@ MIT
313
324
 
314
325
  ```json
315
326
  {
316
- "plugin": ["opencode-antigravity-auth-remix@1.1.1"]
327
+ "plugin": ["opencode-antigravity-auth-remix@1.2.0"]
317
328
  }
318
329
  ```
319
330
 
@@ -364,7 +375,7 @@ MIT
364
375
  ```json
365
376
  {
366
377
  "$schema": "https://opencode.ai/config.json",
367
- "plugin": ["opencode-antigravity-auth-remix@1.1.1"],
378
+ "plugin": ["opencode-antigravity-auth-remix@1.2.0"],
368
379
  "provider": {
369
380
  "google": {
370
381
  "models": {
@@ -516,9 +527,18 @@ opencode run "你好" --model=google/gemini-2.5-flash
516
527
  - 同时生成 WebP 版本 (75% 质量) 以节省空间
517
528
  - 支持动态配置 4K (HD) 高清输出
518
529
 
519
- ### google_search (搜索工具 - 开发中)
530
+ ### google_search (搜索工具)
520
531
 
521
- 网页搜索和 URL 分析。由于 API 限制,目前处于实验阶段,可能会触发 "Preview access required" 错误。
532
+ 高质量网页搜索和 URL 分析,支持结构化引用来源。
533
+
534
+ ### count_tokens (Token 统计工具)
535
+
536
+ 统计指定文本在特定模型下的 Token 消耗。
537
+
538
+ | 参数 | 类型 | 是否必填 | 默认值 | 描述 |
539
+ |-----------|------|----------|---------|-------------|
540
+ | `text` | string | 是 | - | 需要统计的文本 |
541
+ | `model` | string | 否 | "gemini-2.5-flash" | 统计所使用的模型 |
522
542
 
523
543
  ## 开源协议
524
544
 
@@ -97,7 +97,7 @@ export declare const ANTIGRAVITY_SYSTEM_INSTRUCTION = "<identity>\nYou are Antig
97
97
  /**
98
98
  * Model used for Google Search tool execution.
99
99
  */
100
- export declare const SEARCH_MODEL = "gemini-2.0-flash-exp";
100
+ export declare const SEARCH_MODEL = "gemini-2.5-flash";
101
101
  /**
102
102
  * Token budget for fast search (default when thinking=false).
103
103
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB,8EAA8E,CAAC;AAEjH;;GAEG;AACH,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAM/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,0CAA0C,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,sDAAsD,CAAC;AAC9F,eAAO,MAAM,6BAA6B,yDAAyD,CAAC;AACpG,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,8BAA8B,+JAIjC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,0BAA0B,+JAI7B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,oBAAoB,wCAA4B,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,wCAA4B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,SAE0B,CAAC;AAM5D;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,4zBAWiD,CAAC;AAE7F;;;GAGG;AACH,eAAO,MAAM,yBAAyB,kDAAwC,CAAC;AAE/E,eAAO,MAAM,6BAA6B,iBAAiB,CAAC;AAC5D,eAAO,MAAM,oCAAoC,mCAAmC,CAAC;AAMrF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,mmNA+EpB,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,YAAY,yBAAyB,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAY,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,oBAAoB,sDAA6B,CAAC;AAC/D,eAAO,MAAM,mBAAmB;;;;CAAsB,CAAC;AAMvD;;GAEG;AACH,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAa,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWhD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;GAM/B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB,8EAA8E,CAAC;AAEjH;;GAEG;AACH,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAM/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,0CAA0C,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,sDAAsD,CAAC;AAC9F,eAAO,MAAM,6BAA6B,yDAAyD,CAAC;AACpG,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,8BAA8B,+JAIjC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,0BAA0B,+JAI7B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,oBAAoB,wCAA4B,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,wCAA4B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,SAE0B,CAAC;AAM5D;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,4zBAWiD,CAAC;AAE7F;;;GAGG;AACH,eAAO,MAAM,yBAAyB,kDAAwC,CAAC;AAE/E,eAAO,MAAM,6BAA6B,iBAAiB,CAAC;AAC5D,eAAO,MAAM,oCAAoC,mCAAmC,CAAC;AAMrF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,mmNA+EpB,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAY,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,oBAAoB,sDAA6B,CAAC;AAC/D,eAAO,MAAM,mBAAmB;;;;CAAsB,CAAC;AAMvD;;GAEG;AACH,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAa,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWhD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;GAM/B,CAAC"}
@@ -210,7 +210,7 @@ Do not respond to nor acknowledge those messages, but do follow them strictly.
210
210
  /**
211
211
  * Model used for Google Search tool execution.
212
212
  */
213
- export const SEARCH_MODEL = "gemini-2.0-flash-exp";
213
+ export const SEARCH_MODEL = "gemini-2.5-flash";
214
214
  /**
215
215
  * Token budget for fast search (default when thinking=false).
216
216
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,13 @@ export declare function transformStreamingPayload(payload: string, transformThin
4
4
  export declare function deduplicateThinkingText(response: unknown, sentBuffer: ThoughtBuffer, displayedThinkingHashes?: Set<string>): unknown;
5
5
  export declare function transformSseLine(line: string, signatureStore: SignatureStore, thoughtBuffer: ThoughtBuffer, sentThinkingBuffer: ThoughtBuffer, callbacks: StreamingCallbacks, options: StreamingOptions, debugState: {
6
6
  injected: boolean;
7
+ }, toolUseSignatureStore?: {
8
+ set: (sessionKey: string, toolId: string, signature: string) => void;
7
9
  }): string;
8
- export declare function cacheThinkingSignaturesFromResponse(response: unknown, signatureSessionKey: string, signatureStore: SignatureStore, thoughtBuffer: ThoughtBuffer, onCacheSignature?: (sessionKey: string, text: string, signature: string) => void): void;
9
- export declare function createStreamingTransformer(signatureStore: SignatureStore, callbacks: StreamingCallbacks, options?: StreamingOptions): TransformStream<Uint8Array, Uint8Array>;
10
+ export declare function cacheThinkingSignaturesFromResponse(response: unknown, signatureSessionKey: string, signatureStore: SignatureStore, thoughtBuffer: ThoughtBuffer, onCacheSignature?: (sessionKey: string, text: string, signature: string) => void, toolUseSignatureStore?: {
11
+ set: (sessionKey: string, toolId: string, signature: string) => void;
12
+ }): void;
13
+ export declare function createStreamingTransformer(signatureStore: SignatureStore, callbacks: StreamingCallbacks, options?: StreamingOptions, toolUseSignatureStore?: {
14
+ set: (sessionKey: string, toolId: string, signature: string) => void;
15
+ }): TransformStream<Uint8Array, Uint8Array>;
10
16
  //# sourceMappingURL=transformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../../../../src/plugin/core/streaming/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACd,MAAM,SAAS,CAAC;AAcjB,wBAAgB,mBAAmB,IAAI,aAAa,CAOnD;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,GACtD,MAAM,CAuBR;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,aAAa,EACzB,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACpC,OAAO,CAkGT;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,aAAa,EACjC,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,GAChC,MAAM,CAwCR;AAED,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,OAAO,EACjB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GAC/E,IAAI,CAgDN;AAED,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,kBAAkB,EAC7B,OAAO,GAAE,gBAAqB,GAC7B,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CA6CzC"}
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../../../../src/plugin/core/streaming/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACd,MAAM,SAAS,CAAC;AAcjB,wBAAgB,mBAAmB,IAAI,aAAa,CAOnD;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,GACtD,MAAM,CAuBR;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,aAAa,EACzB,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACpC,OAAO,CAkGT;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,aAAa,EACjC,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,EACjC,qBAAqB,CAAC,EAAE;IAAE,GAAG,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC/F,MAAM,CAyCR;AAED,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,OAAO,EACjB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,EAChF,qBAAqB,CAAC,EAAE;IAAE,GAAG,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC/F,IAAI,CAyEN;AAED,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,kBAAkB,EAC7B,OAAO,GAAE,gBAAqB,EAC9B,qBAAqB,CAAC,EAAE;IAAE,GAAG,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC/F,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CA+CzC"}
@@ -124,7 +124,7 @@ export function deduplicateThinkingText(response, sentBuffer, displayedThinkingH
124
124
  }
125
125
  return response;
126
126
  }
127
- export function transformSseLine(line, signatureStore, thoughtBuffer, sentThinkingBuffer, callbacks, options, debugState) {
127
+ export function transformSseLine(line, signatureStore, thoughtBuffer, sentThinkingBuffer, callbacks, options, debugState, toolUseSignatureStore) {
128
128
  if (!line.startsWith('data:')) {
129
129
  return line;
130
130
  }
@@ -136,7 +136,7 @@ export function transformSseLine(line, signatureStore, thoughtBuffer, sentThinki
136
136
  const parsed = JSON.parse(json);
137
137
  if (parsed.response !== undefined) {
138
138
  if (options.cacheSignatures && options.signatureSessionKey) {
139
- cacheThinkingSignaturesFromResponse(parsed.response, options.signatureSessionKey, signatureStore, thoughtBuffer, callbacks.onCacheSignature);
139
+ cacheThinkingSignaturesFromResponse(parsed.response, options.signatureSessionKey, signatureStore, thoughtBuffer, callbacks.onCacheSignature, toolUseSignatureStore);
140
140
  }
141
141
  let response = deduplicateThinkingText(parsed.response, sentThinkingBuffer, options.displayedThinkingHashes);
142
142
  if (options.debugText && callbacks.onInjectDebug && !debugState.injected) {
@@ -152,7 +152,7 @@ export function transformSseLine(line, signatureStore, thoughtBuffer, sentThinki
152
152
  catch (_) { }
153
153
  return line;
154
154
  }
155
- export function cacheThinkingSignaturesFromResponse(response, signatureSessionKey, signatureStore, thoughtBuffer, onCacheSignature) {
155
+ export function cacheThinkingSignaturesFromResponse(response, signatureSessionKey, signatureStore, thoughtBuffer, onCacheSignature, toolUseSignatureStore) {
156
156
  if (!response || typeof response !== 'object')
157
157
  return;
158
158
  const resp = response;
@@ -164,6 +164,7 @@ export function cacheThinkingSignaturesFromResponse(response, signatureSessionKe
164
164
  const content = cand.content;
165
165
  if (!Array.isArray(content.parts))
166
166
  return;
167
+ let lastSignature;
167
168
  content.parts.forEach((part) => {
168
169
  const p = part;
169
170
  if (p.thought === true || p.type === 'thinking') {
@@ -177,15 +178,27 @@ export function cacheThinkingSignaturesFromResponse(response, signatureSessionKe
177
178
  const fullText = thoughtBuffer.get(index) ?? '';
178
179
  if (fullText) {
179
180
  const signature = p.thoughtSignature;
181
+ lastSignature = signature;
180
182
  onCacheSignature?.(signatureSessionKey, fullText, signature);
181
183
  signatureStore.set(signatureSessionKey, { text: fullText, signature });
182
184
  }
183
185
  }
186
+ // Catch tool_use and associate with last known signature in this candidate
187
+ if (toolUseSignatureStore && lastSignature) {
188
+ const toolUse = p.functionCall || p.tool_use || p.toolUse;
189
+ if (toolUse && typeof toolUse === 'object') {
190
+ const toolId = toolUse.id;
191
+ if (toolId) {
192
+ toolUseSignatureStore.set(signatureSessionKey, toolId, lastSignature);
193
+ }
194
+ }
195
+ }
184
196
  });
185
197
  });
186
198
  }
187
199
  if (Array.isArray(resp.content)) {
188
200
  let thinkingText = '';
201
+ let lastSignature;
189
202
  resp.content.forEach((block) => {
190
203
  const b = block;
191
204
  if (b?.type === 'thinking') {
@@ -193,13 +206,21 @@ export function cacheThinkingSignaturesFromResponse(response, signatureSessionKe
193
206
  }
194
207
  if (b?.signature && thinkingText) {
195
208
  const signature = b.signature;
209
+ lastSignature = signature;
196
210
  onCacheSignature?.(signatureSessionKey, thinkingText, signature);
197
211
  signatureStore.set(signatureSessionKey, { text: thinkingText, signature });
198
212
  }
213
+ // Catch tool_use in message format
214
+ if (toolUseSignatureStore && lastSignature && b?.type === 'tool_use') {
215
+ const toolId = b.id;
216
+ if (toolId) {
217
+ toolUseSignatureStore.set(signatureSessionKey, toolId, lastSignature);
218
+ }
219
+ }
199
220
  });
200
221
  }
201
222
  }
202
- export function createStreamingTransformer(signatureStore, callbacks, options = {}) {
223
+ export function createStreamingTransformer(signatureStore, callbacks, options = {}, toolUseSignatureStore) {
203
224
  const decoder = new TextDecoder();
204
225
  const encoder = new TextEncoder();
205
226
  let buffer = '';
@@ -212,14 +233,14 @@ export function createStreamingTransformer(signatureStore, callbacks, options =
212
233
  const lines = buffer.split('\n');
213
234
  buffer = lines.pop() || '';
214
235
  for (const line of lines) {
215
- const transformedLine = transformSseLine(line, signatureStore, thoughtBuffer, sentThinkingBuffer, callbacks, options, debugState);
236
+ const transformedLine = transformSseLine(line, signatureStore, thoughtBuffer, sentThinkingBuffer, callbacks, options, debugState, toolUseSignatureStore);
216
237
  controller.enqueue(encoder.encode(transformedLine + '\n'));
217
238
  }
218
239
  },
219
240
  flush(controller) {
220
241
  buffer += decoder.decode();
221
242
  if (buffer) {
222
- const transformedLine = transformSseLine(buffer, signatureStore, thoughtBuffer, sentThinkingBuffer, callbacks, options, debugState);
243
+ const transformedLine = transformSseLine(buffer, signatureStore, thoughtBuffer, sentThinkingBuffer, callbacks, options, debugState, toolUseSignatureStore);
223
244
  controller.enqueue(encoder.encode(transformedLine));
224
245
  }
225
246
  },
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../../../src/plugin/core/streaming/transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../../../src/plugin/core/streaming/transformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface CountTokensArgs {
2
+ text: string;
3
+ model?: string;
4
+ }
5
+ export interface CountTokensResponse {
6
+ totalTokens: number;
7
+ billableTokens?: number;
8
+ cachedTokens?: number;
9
+ }
10
+ export declare function executeCountTokens(args: CountTokensArgs, accessToken: string, projectId: string, endpoint: string): Promise<string>;
11
+ //# sourceMappingURL=count-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"count-tokens.d.ts","sourceRoot":"","sources":["../../../src/plugin/count-tokens.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,eAAe,EACrB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CA2DjB"}
@@ -0,0 +1,57 @@
1
+ import { generateRequestId } from "./request-helpers";
2
+ import { createLogger } from "./logger";
3
+ import { CODE_ASSIST_HEADERS, SEARCH_MODEL } from "../constants";
4
+ const log = createLogger("count-tokens");
5
+ export async function executeCountTokens(args, accessToken, projectId, endpoint) {
6
+ const { text, model = SEARCH_MODEL } = args;
7
+ const requestPayload = {
8
+ contents: [
9
+ {
10
+ role: "user",
11
+ parts: [{ text }],
12
+ },
13
+ ],
14
+ };
15
+ const wrappedBody = {
16
+ project: projectId,
17
+ model: model,
18
+ requestId: generateRequestId(),
19
+ request: {
20
+ ...requestPayload,
21
+ },
22
+ };
23
+ const url = `${endpoint}/v1internal:countTokens`;
24
+ try {
25
+ log.debug("Attempting count tokens", { endpoint, url, model });
26
+ const response = await fetch(url, {
27
+ method: "POST",
28
+ headers: {
29
+ ...CODE_ASSIST_HEADERS,
30
+ Authorization: `Bearer ${accessToken}`,
31
+ "Content-Type": "application/json",
32
+ },
33
+ body: JSON.stringify(wrappedBody),
34
+ });
35
+ if (!response.ok) {
36
+ const errorText = await response.text();
37
+ log.debug("Count tokens failed", { status: response.status, error: errorText });
38
+ return `Error counting tokens: ${errorText}`;
39
+ }
40
+ const data = (await response.json());
41
+ const totalTokens = data.totalTokens ?? 0;
42
+ let result = `### Token Count\n\n- **Total Tokens**: ${totalTokens}`;
43
+ if (data.billableTokens !== undefined) {
44
+ result += `\n- **Billable Tokens**: ${data.billableTokens}`;
45
+ }
46
+ if (data.cachedTokens !== undefined) {
47
+ result += `\n- **Cached Tokens**: ${data.cachedTokens}`;
48
+ }
49
+ return result;
50
+ }
51
+ catch (error) {
52
+ const message = error instanceof Error ? error.message : String(error);
53
+ log.error("Count tokens error", { error: message });
54
+ return `Error: ${message}`;
55
+ }
56
+ }
57
+ //# sourceMappingURL=count-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"count-tokens.js","sourceRoot":"","sources":["../../../src/plugin/count-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,GAAG,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;AAazC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAqB,EACrB,WAAmB,EACnB,SAAiB,EACjB,QAAgB;IAEhB,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;IAE5C,MAAM,cAAc,GAAG;QACrB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;aAClB;SACF;KACF,CAAC;IAEF,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,iBAAiB,EAAE;QAC9B,OAAO,EAAE;YACP,GAAG,cAAc;SAClB;KACF,CAAC;IAEF,MAAM,GAAG,GAAG,GAAG,QAAQ,yBAAyB,CAAC;IAEjD,IAAI,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,GAAG,mBAAmB;gBACtB,aAAa,EAAE,UAAU,WAAW,EAAE;gBACtC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAChF,OAAO,0BAA0B,SAAS,EAAE,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QAE1C,IAAI,MAAM,GAAG,0CAA0C,WAAW,EAAE,CAAC;QACrE,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,4BAA4B,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9D,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,0BAA0B,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,OAAO,UAAU,OAAO,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/plugin/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/plugin/request.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import crypto from "node:crypto";
2
2
  import { ANTIGRAVITY_HEADERS, GEMINI_CLI_HEADERS, ANTIGRAVITY_ENDPOINT, GEMINI_CLI_ENDPOINT, EMPTY_SCHEMA_PLACEHOLDER_NAME, EMPTY_SCHEMA_PLACEHOLDER_DESCRIPTION, } from "../constants";
3
3
  import { cacheSignature, getCachedSignature } from "./cache";
4
4
  import { createStreamingTransformer, transformSseLine, transformStreamingPayload, } from "./core/streaming";
5
- import { defaultSignatureStore } from "./stores/signature-store";
5
+ import { defaultSignatureStore, toolUseSignatureStore } from "./stores/signature-store";
6
6
  import { DEBUG_MESSAGE_PREFIX, isDebugEnabled, logAntigravityDebugResponse, } from "./debug";
7
7
  import { createLogger } from "./logger";
8
8
  import { cleanJSONSchemaForAntigravity, DEFAULT_THINKING_BUDGET, deepFilterThinkingBlocks, extractThinkingConfig, extractVariantThinkingConfig, extractUsageFromSsePayload, extractUsageMetadata, fixToolResponseGrouping, validateAndFixClaudeToolPairing, applyToolPairingFixes, injectParameterSignatures, injectToolHardeningInstruction, isThinkingCapableModel, normalizeThinkingConfig, parseAntigravityApiBody, resolveThinkingConfig, rewriteAntigravityPreviewAccessError, transformThinkingParts, } from "./request-helpers";
@@ -231,11 +231,11 @@ function ensureThoughtSignature(part, sessionId) {
231
231
  return part;
232
232
  }
233
233
  const text = typeof part.text === "string" ? part.text : typeof part.thinking === "string" ? part.thinking : "";
234
- if (!text) {
235
- return part;
236
- }
234
+ // Try to find signature for thinking block
237
235
  if (part.thought === true) {
238
236
  if (!part.thoughtSignature) {
237
+ // First try to find if any tool_use in the same content block has a signature
238
+ // (This is a simplified approach, usually we need more context to find the right tool ID)
239
239
  const cached = getCachedSignature(sessionId, text);
240
240
  if (cached) {
241
241
  return { ...part, thoughtSignature: cached };
@@ -277,19 +277,46 @@ function ensureThinkingBeforeToolUseInContents(contents, signatureSessionKey) {
277
277
  if (!hasToolUse) {
278
278
  return content;
279
279
  }
280
+ // Try to find a signature via tool ID if available
281
+ let toolIdSignature;
282
+ for (const p of parts) {
283
+ const toolUse = p.functionCall || p.tool_use || p.toolUse;
284
+ if (toolUse && typeof toolUse === "object" && toolUse.id) {
285
+ const sig = toolUseSignatureStore.get(signatureSessionKey, toolUse.id);
286
+ if (sig) {
287
+ toolIdSignature = sig;
288
+ break;
289
+ }
290
+ }
291
+ }
280
292
  const thinkingParts = parts.filter(isGeminiThinkingPart).map((p) => ensureThoughtSignature(p, signatureSessionKey));
281
293
  const otherParts = parts.filter((p) => !isGeminiThinkingPart(p));
282
- const hasSignedThinking = thinkingParts.some(hasSignedThinkingPart);
283
- if (hasSignedThinking) {
284
- return { ...content, parts: [...thinkingParts, ...otherParts] };
294
+ // If we have thinking parts, ensure they have signatures (either from text cache or tool ID)
295
+ if (thinkingParts.length > 0) {
296
+ const updatedThinkingParts = thinkingParts.map(p => {
297
+ if (toolIdSignature) {
298
+ if (p.thought === true && !p.thoughtSignature)
299
+ return { ...p, thoughtSignature: toolIdSignature };
300
+ if ((p.type === "thinking" || p.type === "reasoning") && !p.signature)
301
+ return { ...p, signature: toolIdSignature };
302
+ }
303
+ return p;
304
+ });
305
+ const hasSignedThinking = updatedThinkingParts.some(hasSignedThinkingPart);
306
+ if (hasSignedThinking) {
307
+ return { ...content, parts: [...updatedThinkingParts, ...otherParts] };
308
+ }
285
309
  }
286
- const lastThinking = defaultSignatureStore.get(signatureSessionKey);
310
+ // If no thinking parts but has tool use, we MUST inject thinking with signature
311
+ const lastThinking = toolIdSignature
312
+ ? { text: "...", signature: toolIdSignature } // We don't have the text here, but the signature is more important
313
+ : defaultSignatureStore.get(signatureSessionKey);
287
314
  if (!lastThinking) {
288
315
  return content;
289
316
  }
290
317
  const injected = {
291
318
  thought: true,
292
- text: lastThinking.text,
319
+ text: lastThinking.text || "...",
293
320
  thoughtSignature: lastThinking.signature,
294
321
  };
295
322
  return { ...content, parts: [injected, ...otherParts] };
@@ -360,25 +387,39 @@ function ensureThinkingBeforeToolUseInMessages(messages, signatureSessionKey) {
360
387
  return message;
361
388
  }
362
389
  const blocks = message.content;
363
- const hasToolUse = blocks.some((b) => b && typeof b === "object" && (b.type === "tool_use" || b.type === "tool_result"));
364
- if (!hasToolUse) {
390
+ const toolUseBlock = blocks.find((b) => b && typeof b === "object" && (b.type === "tool_use" || b.type === "tool_result"));
391
+ if (!toolUseBlock) {
365
392
  return message;
366
393
  }
394
+ // Try to find a signature via tool ID if available
395
+ let toolIdSignature;
396
+ if (toolUseBlock.id) {
397
+ toolIdSignature = toolUseSignatureStore.get(signatureSessionKey, toolUseBlock.id);
398
+ }
367
399
  const thinkingBlocks = blocks
368
400
  .filter((b) => b && typeof b === "object" && (b.type === "thinking" || b.type === "redacted_thinking"))
369
401
  .map((b) => ensureMessageThinkingSignature(b, signatureSessionKey));
370
402
  const otherBlocks = blocks.filter((b) => !(b && typeof b === "object" && (b.type === "thinking" || b.type === "redacted_thinking")));
371
- const hasSignedThinking = thinkingBlocks.some((b) => typeof b.signature === "string" && b.signature.length >= MIN_SIGNATURE_LENGTH);
372
- if (hasSignedThinking) {
373
- return { ...message, content: [...thinkingBlocks, ...otherBlocks] };
403
+ if (thinkingBlocks.length > 0) {
404
+ const updatedThinkingBlocks = thinkingBlocks.map(b => {
405
+ if (toolIdSignature && !b.signature)
406
+ return { ...b, signature: toolIdSignature };
407
+ return b;
408
+ });
409
+ const hasSignedThinking = updatedThinkingBlocks.some((b) => typeof b.signature === "string" && b.signature.length >= MIN_SIGNATURE_LENGTH);
410
+ if (hasSignedThinking) {
411
+ return { ...message, content: [...updatedThinkingBlocks, ...otherBlocks] };
412
+ }
374
413
  }
375
- const lastThinking = defaultSignatureStore.get(signatureSessionKey);
414
+ const lastThinking = toolIdSignature
415
+ ? { text: "...", signature: toolIdSignature }
416
+ : defaultSignatureStore.get(signatureSessionKey);
376
417
  if (!lastThinking) {
377
418
  return message;
378
419
  }
379
420
  const injected = {
380
421
  type: "thinking",
381
- thinking: lastThinking.text,
422
+ thinking: lastThinking.text || "...",
382
423
  signature: lastThinking.signature,
383
424
  };
384
425
  return { ...message, content: [injected, ...otherBlocks] };
@@ -1188,7 +1229,7 @@ export async function transformAntigravityResponse(response, streaming, debugCon
1188
1229
  debugText,
1189
1230
  cacheSignatures,
1190
1231
  displayedThinkingHashes: effectiveModel && isGemini3Model(effectiveModel) ? sessionDisplayedThinkingHashes : undefined,
1191
- });
1232
+ }, toolUseSignatureStore);
1192
1233
  return new Response(response.body.pipeThrough(streamingTransformer), {
1193
1234
  status: response.status,
1194
1235
  statusText: response.statusText,