opencode-antigravity-auth 1.2.6 → 1.2.7-beta.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 (58) hide show
  1. package/README.md +224 -153
  2. package/dist/src/constants.d.ts +8 -0
  3. package/dist/src/constants.d.ts.map +1 -1
  4. package/dist/src/constants.js +8 -0
  5. package/dist/src/constants.js.map +1 -1
  6. package/dist/src/plugin/config/schema.d.ts +12 -0
  7. package/dist/src/plugin/config/schema.d.ts.map +1 -1
  8. package/dist/src/plugin/config/schema.js +14 -0
  9. package/dist/src/plugin/config/schema.js.map +1 -1
  10. package/dist/src/plugin/core/streaming/index.d.ts +3 -0
  11. package/dist/src/plugin/core/streaming/index.d.ts.map +1 -0
  12. package/dist/src/plugin/core/streaming/index.js +3 -0
  13. package/dist/src/plugin/core/streaming/index.js.map +1 -0
  14. package/dist/src/plugin/core/streaming/transformer.d.ts +9 -0
  15. package/dist/src/plugin/core/streaming/transformer.d.ts.map +1 -0
  16. package/dist/src/plugin/core/streaming/transformer.js +134 -0
  17. package/dist/src/plugin/core/streaming/transformer.js.map +1 -0
  18. package/dist/src/plugin/core/streaming/types.d.ts +26 -0
  19. package/dist/src/plugin/core/streaming/types.d.ts.map +1 -0
  20. package/dist/src/plugin/core/streaming/types.js +1 -0
  21. package/dist/src/plugin/core/streaming/types.js.map +1 -0
  22. package/dist/src/plugin/logger.d.ts.map +1 -1
  23. package/dist/src/plugin/logger.js +3 -2
  24. package/dist/src/plugin/logger.js.map +1 -1
  25. package/dist/src/plugin/recovery.d.ts.map +1 -1
  26. package/dist/src/plugin/recovery.js +42 -14
  27. package/dist/src/plugin/recovery.js.map +1 -1
  28. package/dist/src/plugin/request-helpers.d.ts +38 -0
  29. package/dist/src/plugin/request-helpers.d.ts.map +1 -1
  30. package/dist/src/plugin/request-helpers.js +250 -19
  31. package/dist/src/plugin/request-helpers.js.map +1 -1
  32. package/dist/src/plugin/request.d.ts +50 -3
  33. package/dist/src/plugin/request.d.ts.map +1 -1
  34. package/dist/src/plugin/request.js +89 -177
  35. package/dist/src/plugin/request.js.map +1 -1
  36. package/dist/src/plugin/storage.d.ts +1 -0
  37. package/dist/src/plugin/storage.d.ts.map +1 -1
  38. package/dist/src/plugin/storage.js +70 -5
  39. package/dist/src/plugin/storage.js.map +1 -1
  40. package/dist/src/plugin/stores/signature-store.d.ts +5 -0
  41. package/dist/src/plugin/stores/signature-store.d.ts.map +1 -0
  42. package/dist/src/plugin/stores/signature-store.js +25 -0
  43. package/dist/src/plugin/stores/signature-store.js.map +1 -0
  44. package/dist/src/plugin/transform/claude.d.ts.map +1 -1
  45. package/dist/src/plugin/transform/claude.js +30 -8
  46. package/dist/src/plugin/transform/claude.js.map +1 -1
  47. package/dist/src/plugin/transform/model-resolver.d.ts +12 -5
  48. package/dist/src/plugin/transform/model-resolver.d.ts.map +1 -1
  49. package/dist/src/plugin/transform/model-resolver.js +73 -20
  50. package/dist/src/plugin/transform/model-resolver.js.map +1 -1
  51. package/dist/src/plugin/transform/types.d.ts +3 -5
  52. package/dist/src/plugin/transform/types.d.ts.map +1 -1
  53. package/dist/src/plugin/transform/types.js +0 -5
  54. package/dist/src/plugin/transform/types.js.map +1 -1
  55. package/dist/src/plugin.d.ts.map +1 -1
  56. package/dist/src/plugin.js +113 -44
  57. package/dist/src/plugin.js.map +1 -1
  58. package/package.json +7 -3
@@ -1,22 +1,18 @@
1
1
  import crypto from "node:crypto";
2
- import { ANTIGRAVITY_HEADERS, GEMINI_CLI_HEADERS, ANTIGRAVITY_ENDPOINT, } from "../constants";
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
+ import { createStreamingTransformer, transformSseLine, transformStreamingPayload, } from "./core/streaming";
5
+ import { defaultSignatureStore } from "./stores/signature-store";
4
6
  import { DEBUG_MESSAGE_PREFIX, isDebugEnabled, logAntigravityDebugResponse, } from "./debug";
5
7
  import { createLogger } from "./logger";
6
- import { cleanJSONSchemaForAntigravity, DEFAULT_THINKING_BUDGET, deepFilterThinkingBlocks, extractThinkingConfig, extractUsageFromSsePayload, extractUsageMetadata, fixToolResponseGrouping, validateAndFixClaudeToolPairing, injectParameterSignatures, injectToolHardeningInstruction, isThinkingCapableModel, normalizeThinkingConfig, parseAntigravityApiBody, resolveThinkingConfig, rewriteAntigravityPreviewAccessError, transformThinkingParts, } from "./request-helpers";
8
+ import { cleanJSONSchemaForAntigravity, DEFAULT_THINKING_BUDGET, deepFilterThinkingBlocks, extractThinkingConfig, extractUsageFromSsePayload, extractUsageMetadata, fixToolResponseGrouping, validateAndFixClaudeToolPairing, applyToolPairingFixes, injectParameterSignatures, injectToolHardeningInstruction, isThinkingCapableModel, normalizeThinkingConfig, parseAntigravityApiBody, resolveThinkingConfig, rewriteAntigravityPreviewAccessError, transformThinkingParts, } from "./request-helpers";
7
9
  import { CLAUDE_TOOL_SYSTEM_INSTRUCTION, CLAUDE_DESCRIPTION_PROMPT, } from "../constants";
8
10
  import { analyzeConversationState, closeToolLoopForThinking, needsThinkingRecovery, } from "./thinking-recovery";
9
- import { resolveModelWithTier, isClaudeModel, isClaudeThinkingModel, configureClaudeToolConfig, appendClaudeThinkingHint, normalizeClaudeTools, normalizeGeminiTools, CLAUDE_THINKING_MAX_OUTPUT_TOKENS, } from "./transform";
11
+ import { resolveModelWithTier, isClaudeModel, isClaudeThinkingModel, CLAUDE_THINKING_MAX_OUTPUT_TOKENS, } from "./transform";
10
12
  import { detectErrorType } from "./recovery";
11
13
  const log = createLogger("request");
12
- /**
13
- * Stable session ID for the plugin's lifetime.
14
- * This is used for caching thinking signatures across multi-turn conversations.
15
- * Generated once at plugin load time and reused for all requests.
16
- */
17
14
  const PLUGIN_SESSION_ID = `-${crypto.randomUUID()}`;
18
15
  const MIN_SIGNATURE_LENGTH = 50;
19
- const lastSignedThinkingBySessionKey = new Map();
20
16
  function buildSignatureSessionKey(sessionId, model, conversationKey, projectKey) {
21
17
  const modelKey = typeof model === "string" && model.trim() ? model.toLowerCase() : "unknown";
22
18
  const projectPart = typeof projectKey === "string" && projectKey.trim()
@@ -279,7 +275,7 @@ function ensureThinkingBeforeToolUseInContents(contents, signatureSessionKey) {
279
275
  if (hasSignedThinking) {
280
276
  return { ...content, parts: [...thinkingParts, ...otherParts] };
281
277
  }
282
- const lastThinking = lastSignedThinkingBySessionKey.get(signatureSessionKey);
278
+ const lastThinking = defaultSignatureStore.get(signatureSessionKey);
283
279
  if (!lastThinking) {
284
280
  return content;
285
281
  }
@@ -368,7 +364,7 @@ function ensureThinkingBeforeToolUseInMessages(messages, signatureSessionKey) {
368
364
  if (hasSignedThinking) {
369
365
  return { ...message, content: [...thinkingBlocks, ...otherBlocks] };
370
366
  }
371
- const lastThinking = lastSignedThinkingBySessionKey.get(signatureSessionKey);
367
+ const lastThinking = defaultSignatureStore.get(signatureSessionKey);
372
368
  if (!lastThinking) {
373
369
  return message;
374
370
  }
@@ -401,151 +397,7 @@ const STREAM_ACTION = "streamGenerateContent";
401
397
  export function isGenerativeLanguageRequest(input) {
402
398
  return typeof input === "string" && input.includes("generativelanguage.googleapis.com");
403
399
  }
404
- /**
405
- * Rewrites SSE payloads so downstream consumers see only the inner `response` objects,
406
- * with thinking/reasoning blocks transformed to OpenCode's expected format.
407
- */
408
- function transformStreamingPayload(payload) {
409
- return payload
410
- .split("\n")
411
- .map((line) => {
412
- if (!line.startsWith("data:")) {
413
- return line;
414
- }
415
- const json = line.slice(5).trim();
416
- if (!json) {
417
- return line;
418
- }
419
- try {
420
- const parsed = JSON.parse(json);
421
- if (parsed.response !== undefined) {
422
- const transformed = transformThinkingParts(parsed.response);
423
- return `data: ${JSON.stringify(transformed)}`;
424
- }
425
- }
426
- catch (_) { }
427
- return line;
428
- })
429
- .join("\n");
430
- }
431
- /**
432
- * Creates a TransformStream that processes SSE chunks incrementally,
433
- * transforming each line as it arrives for true real-time streaming support.
434
- * Optionally caches thinking signatures for Claude multi-turn conversations.
435
- */
436
- function createStreamingTransformer(signatureSessionKey, debugText, cacheSignatures = false) {
437
- const decoder = new TextDecoder();
438
- const encoder = new TextEncoder();
439
- let buffer = "";
440
- // Buffer for accumulating thinking text per candidate index (for signature caching)
441
- const thoughtBuffer = new Map();
442
- const debugState = { injected: false };
443
- return new TransformStream({
444
- transform(chunk, controller) {
445
- // Decode chunk with stream: true to handle multi-byte characters correctly
446
- buffer += decoder.decode(chunk, { stream: true });
447
- // Process complete lines immediately for real-time streaming
448
- const lines = buffer.split("\n");
449
- // Keep the last incomplete line in buffer
450
- buffer = lines.pop() || "";
451
- for (const line of lines) {
452
- // Transform and forward each line immediately
453
- const transformedLine = transformSseLine(line, signatureSessionKey, thoughtBuffer, debugText, debugState, cacheSignatures);
454
- controller.enqueue(encoder.encode(transformedLine + "\n"));
455
- }
456
- },
457
- flush(controller) {
458
- // Flush any remaining bytes from TextDecoder
459
- buffer += decoder.decode();
460
- // Process any remaining data in buffer
461
- if (buffer) {
462
- const transformedLine = transformSseLine(buffer, signatureSessionKey, thoughtBuffer, debugText, debugState, cacheSignatures);
463
- controller.enqueue(encoder.encode(transformedLine));
464
- }
465
- },
466
- });
467
- }
468
- /**
469
- * Transforms a single SSE line, extracting and transforming the inner response.
470
- * Optionally caches thinking signatures for Claude multi-turn support.
471
- */
472
- function transformSseLine(line, signatureSessionKey, thoughtBuffer, debugText, debugState, cacheSignatures = false) {
473
- if (!line.startsWith("data:")) {
474
- return line;
475
- }
476
- const json = line.slice(5).trim();
477
- if (!json) {
478
- return line;
479
- }
480
- try {
481
- const parsed = JSON.parse(json);
482
- if (parsed.response !== undefined) {
483
- if (cacheSignatures && signatureSessionKey && thoughtBuffer) {
484
- cacheThinkingSignatures(parsed.response, signatureSessionKey, thoughtBuffer);
485
- }
486
- let response = parsed.response;
487
- if (debugText && debugState && !debugState.injected) {
488
- response = injectDebugThinking(response, debugText);
489
- debugState.injected = true;
490
- }
491
- const transformed = transformThinkingParts(response);
492
- return `data: ${JSON.stringify(transformed)}`;
493
- }
494
- }
495
- catch (_) { }
496
- return line;
497
- }
498
- /**
499
- * Extracts and caches thinking signatures from a response for Claude multi-turn support.
500
- */
501
- function cacheThinkingSignatures(response, signatureSessionKey, thoughtBuffer) {
502
- if (!response || typeof response !== "object")
503
- return;
504
- const resp = response;
505
- // Handle Gemini-style candidates array (Claude through Antigravity uses this format)
506
- if (Array.isArray(resp.candidates)) {
507
- resp.candidates.forEach((candidate, index) => {
508
- if (!candidate?.content?.parts)
509
- return;
510
- candidate.content.parts.forEach((part) => {
511
- // Collect thinking text
512
- if (part.thought === true || part.type === "thinking") {
513
- const text = part.text || part.thinking || "";
514
- if (text) {
515
- const current = thoughtBuffer.get(index) ?? "";
516
- thoughtBuffer.set(index, current + text);
517
- }
518
- }
519
- // Cache signature when we receive it
520
- if (part.thoughtSignature) {
521
- const fullText = thoughtBuffer.get(index) ?? "";
522
- if (fullText) {
523
- cacheSignature(signatureSessionKey, fullText, part.thoughtSignature);
524
- lastSignedThinkingBySessionKey.set(signatureSessionKey, { text: fullText, signature: part.thoughtSignature });
525
- }
526
- }
527
- });
528
- });
529
- }
530
- // Handle Anthropic-style content array
531
- if (Array.isArray(resp.content)) {
532
- let thinkingText = "";
533
- resp.content.forEach((block) => {
534
- if (block?.type === "thinking") {
535
- thinkingText += block.thinking || block.text || "";
536
- }
537
- if (block?.signature && thinkingText) {
538
- cacheSignature(signatureSessionKey, thinkingText, block.signature);
539
- lastSignedThinkingBySessionKey.set(signatureSessionKey, { text: thinkingText, signature: block.signature });
540
- }
541
- });
542
- }
543
- }
544
- /**
545
- * Rewrites OpenAI-style requests into Antigravity shape, normalizing model, headers,
546
- * optional cached_content, and thinking config. Also toggles streaming mode for SSE actions.
547
- */
548
- export function prepareAntigravityRequest(input, init, accessToken, projectId, endpointOverride, headerStyle = "antigravity", forceThinkingRecovery = false) {
400
+ export function prepareAntigravityRequest(input, init, accessToken, projectId, endpointOverride, headerStyle = "antigravity", forceThinkingRecovery = false, options) {
549
401
  const baseInit = { ...init };
550
402
  const headers = new Headers(init?.headers ?? {});
551
403
  let resolvedProjectId = projectId?.trim() || "";
@@ -580,7 +432,8 @@ export function prepareAntigravityRequest(input, init, accessToken, projectId, e
580
432
  const resolved = resolveModelWithTier(rawModel);
581
433
  const effectiveModel = resolved.actualModel;
582
434
  const streaming = rawAction === STREAM_ACTION;
583
- const baseEndpoint = endpointOverride ?? ANTIGRAVITY_ENDPOINT;
435
+ const defaultEndpoint = headerStyle === "gemini-cli" ? GEMINI_CLI_ENDPOINT : ANTIGRAVITY_ENDPOINT;
436
+ const baseEndpoint = endpointOverride ?? defaultEndpoint;
584
437
  const transformedUrl = `${baseEndpoint}/v1internal:${rawAction}${streaming ? "?alt=sse" : ""}`;
585
438
  const isClaude = isClaudeModel(effectiveModel);
586
439
  const isClaudeThinking = isClaudeThinkingModel(effectiveModel);
@@ -611,7 +464,10 @@ export function prepareAntigravityRequest(input, init, accessToken, projectId, e
611
464
  }
612
465
  }
613
466
  const conversationKey = resolveConversationKeyFromRequests(requestObjects);
614
- signatureSessionKey = buildSignatureSessionKey(PLUGIN_SESSION_ID, effectiveModel, conversationKey, resolveProjectKey(parsedBody.project));
467
+ // Strip tier suffix from model for cache key to prevent cache misses on tier change
468
+ // e.g., "claude-opus-4-5-thinking-high" -> "claude-opus-4-5-thinking"
469
+ const modelForCacheKey = effectiveModel.replace(/-(minimal|low|medium|high)$/i, "");
470
+ signatureSessionKey = buildSignatureSessionKey(PLUGIN_SESSION_ID, modelForCacheKey, conversationKey, resolveProjectKey(parsedBody.project));
615
471
  if (requestObjects.length > 0) {
616
472
  sessionId = signatureSessionKey;
617
473
  }
@@ -629,6 +485,8 @@ export function prepareAntigravityRequest(input, init, accessToken, projectId, e
629
485
  if (isClaudeThinking && Array.isArray(req.messages)) {
630
486
  req.messages = ensureThinkingBeforeToolUseInMessages(req.messages, signatureSessionKey);
631
487
  }
488
+ // Step 3: Apply tool pairing fixes (ID assignment, response matching, orphan recovery)
489
+ applyToolPairingFixes(req, true);
632
490
  }
633
491
  }
634
492
  if (isClaudeThinking && sessionId) {
@@ -636,7 +494,7 @@ export function prepareAntigravityRequest(input, init, accessToken, projectId, e
636
494
  (Array.isArray(req.messages) && hasToolUseInMessages(req.messages)));
637
495
  const hasSignedThinking = requestObjects.some((req) => (Array.isArray(req.contents) && hasSignedThinkingInContents(req.contents)) ||
638
496
  (Array.isArray(req.messages) && hasSignedThinkingInMessages(req.messages)));
639
- const hasCachedThinking = lastSignedThinkingBySessionKey.has(signatureSessionKey);
497
+ const hasCachedThinking = defaultSignatureStore.has(signatureSessionKey);
640
498
  needsSignedThinkingWarmup = hasToolUse && !hasSignedThinking && !hasCachedThinking;
641
499
  }
642
500
  body = JSON.stringify(wrappedBody);
@@ -663,7 +521,11 @@ export function prepareAntigravityRequest(input, init, accessToken, projectId, e
663
521
  const userThinkingConfig = extractThinkingConfig(requestPayload, rawGenerationConfig, extraBody);
664
522
  const hasAssistantHistory = Array.isArray(requestPayload.contents) &&
665
523
  requestPayload.contents.some((c) => c?.role === "model" || c?.role === "assistant");
666
- const finalThinkingConfig = resolveThinkingConfig(userThinkingConfig, resolved.isThinkingModel ?? isThinkingCapableModel(effectiveModel), isClaude, hasAssistantHistory);
524
+ // For claude-sonnet-4-5 (without -thinking suffix), ignore client's thinkingConfig
525
+ // Only claude-sonnet-4-5-thinking-* variants should have thinking enabled
526
+ const isClaudeSonnetNonThinking = effectiveModel.toLowerCase() === "claude-sonnet-4-5";
527
+ const effectiveUserThinkingConfig = isClaudeSonnetNonThinking ? undefined : userThinkingConfig;
528
+ const finalThinkingConfig = resolveThinkingConfig(effectiveUserThinkingConfig, isClaudeSonnetNonThinking ? false : (resolved.isThinkingModel ?? isThinkingCapableModel(effectiveModel)), isClaude, hasAssistantHistory);
667
529
  const normalizedThinking = normalizeThinkingConfig(finalThinkingConfig);
668
530
  if (normalizedThinking) {
669
531
  // Use tier-based thinking budget if specified via model suffix, otherwise fall back to user config
@@ -795,12 +657,12 @@ export function prepareAntigravityRequest(input, init, accessToken, projectId, e
795
657
  ...base,
796
658
  type: "object",
797
659
  properties: {
798
- reason: {
799
- type: "string",
800
- description: "Brief explanation of why you are calling this tool",
660
+ [EMPTY_SCHEMA_PLACEHOLDER_NAME]: {
661
+ type: "boolean",
662
+ description: EMPTY_SCHEMA_PLACEHOLDER_DESCRIPTION,
801
663
  },
802
664
  },
803
- required: ["reason"],
665
+ required: [EMPTY_SCHEMA_PLACEHOLDER_NAME],
804
666
  });
805
667
  if (!schema || typeof schema !== "object" || Array.isArray(schema)) {
806
668
  toolDebugMissing += 1;
@@ -819,29 +681,33 @@ export function prepareAntigravityRequest(input, init, accessToken, projectId, e
819
681
  cleaned.type = "object";
820
682
  if (!hasProperties) {
821
683
  cleaned.properties = {
822
- reason: {
823
- type: "string",
824
- description: "Brief explanation of why you are calling this tool",
684
+ [EMPTY_SCHEMA_PLACEHOLDER_NAME]: {
685
+ type: "boolean",
686
+ description: EMPTY_SCHEMA_PLACEHOLDER_DESCRIPTION,
825
687
  },
826
688
  };
827
689
  cleaned.required = Array.isArray(cleaned.required)
828
- ? Array.from(new Set([...cleaned.required, "reason"]))
829
- : ["reason"];
690
+ ? Array.from(new Set([...cleaned.required, EMPTY_SCHEMA_PLACEHOLDER_NAME]))
691
+ : [EMPTY_SCHEMA_PLACEHOLDER_NAME];
830
692
  }
831
693
  return cleaned;
832
694
  };
833
- requestPayload.tools.forEach((tool, idx) => {
695
+ requestPayload.tools.forEach((tool) => {
834
696
  const pushDeclaration = (decl, source) => {
835
697
  const schema = decl?.parameters ||
698
+ decl?.parametersJsonSchema ||
836
699
  decl?.input_schema ||
837
700
  decl?.inputSchema ||
838
701
  tool.parameters ||
702
+ tool.parametersJsonSchema ||
839
703
  tool.input_schema ||
840
704
  tool.inputSchema ||
841
705
  tool.function?.parameters ||
706
+ tool.function?.parametersJsonSchema ||
842
707
  tool.function?.input_schema ||
843
708
  tool.function?.inputSchema ||
844
709
  tool.custom?.parameters ||
710
+ tool.custom?.parametersJsonSchema ||
845
711
  tool.custom?.input_schema;
846
712
  let name = decl?.name ||
847
713
  tool.name ||
@@ -943,7 +809,9 @@ export function prepareAntigravityRequest(input, init, accessToken, projectId, e
943
809
  }
944
810
  // Apply Claude tool hardening (ported from LLM-API-Key-Proxy)
945
811
  // Injects parameter signatures into descriptions and adds system instruction
946
- if (isClaude && Array.isArray(requestPayload.tools) && requestPayload.tools.length > 0) {
812
+ // Can be disabled via config.claude_tool_hardening = false to reduce context size
813
+ const enableToolHardening = options?.claudeToolHardening ?? true;
814
+ if (enableToolHardening && isClaude && Array.isArray(requestPayload.tools) && requestPayload.tools.length > 0) {
947
815
  // Inject parameter signatures into tool descriptions
948
816
  requestPayload.tools = injectParameterSignatures(requestPayload.tools, CLAUDE_DESCRIPTION_PROMPT);
949
817
  // Inject tool hardening system instruction
@@ -971,7 +839,7 @@ export function prepareAntigravityRequest(input, init, accessToken, projectId, e
971
839
  (Array.isArray(requestPayload.messages) && hasToolUseInMessages(requestPayload.messages));
972
840
  const hasSignedThinking = (Array.isArray(requestPayload.contents) && hasSignedThinkingInContents(requestPayload.contents)) ||
973
841
  (Array.isArray(requestPayload.messages) && hasSignedThinkingInMessages(requestPayload.messages));
974
- const hasCachedThinking = lastSignedThinkingBySessionKey.has(signatureSessionKey);
842
+ const hasCachedThinking = defaultSignatureStore.has(signatureSessionKey);
975
843
  needsSignedThinkingWarmup = hasToolUse && !hasSignedThinking && !hasCachedThinking;
976
844
  }
977
845
  }
@@ -1062,8 +930,7 @@ export function prepareAntigravityRequest(input, init, accessToken, projectId, e
1062
930
  ? "Thinking recovery: retrying with fresh turn (API error)"
1063
931
  : "Thinking recovery: restarting turn (corrupted context)";
1064
932
  requestPayload.contents = closeToolLoopForThinking(requestPayload.contents);
1065
- // Clear the cached thinking for this session since we're starting fresh
1066
- lastSignedThinkingBySessionKey.delete(signatureSessionKey);
933
+ defaultSignatureStore.delete(signatureSessionKey);
1067
934
  }
1068
935
  }
1069
936
  if ("model" in requestPayload) {
@@ -1205,9 +1072,16 @@ export async function transformAntigravityResponse(response, streaming, debugCon
1205
1072
  logAntigravityDebugResponse(debugContext, response, {
1206
1073
  note: "Streaming SSE response (real-time transform)",
1207
1074
  });
1208
- // Use the optimized line-by-line transformer for immediate forwarding
1209
- // This ensures thinking/reasoning content streams in real-time
1210
- return new Response(response.body.pipeThrough(createStreamingTransformer(sessionId, debugText, cacheSignatures)), {
1075
+ const streamingTransformer = createStreamingTransformer(defaultSignatureStore, {
1076
+ onCacheSignature: cacheSignature,
1077
+ onInjectDebug: injectDebugThinking,
1078
+ transformThinkingParts,
1079
+ }, {
1080
+ signatureSessionKey: sessionId,
1081
+ debugText,
1082
+ cacheSignatures,
1083
+ });
1084
+ return new Response(response.body.pipeThrough(streamingTransformer), {
1211
1085
  status: response.status,
1212
1086
  statusText: response.statusText,
1213
1087
  headers,
@@ -1238,6 +1112,20 @@ export async function transformAntigravityResponse(response, streaming, debugCon
1238
1112
  recoveryError.debugInfo = debugInfo;
1239
1113
  throw recoveryError;
1240
1114
  }
1115
+ // Detect context length / prompt too long errors - signal to caller for toast
1116
+ const errorMessage = errorBody.error.message?.toLowerCase() || "";
1117
+ if (errorMessage.includes("prompt is too long") ||
1118
+ errorMessage.includes("context length exceeded") ||
1119
+ errorMessage.includes("context_length_exceeded") ||
1120
+ errorMessage.includes("maximum context length")) {
1121
+ headers.set("x-antigravity-context-error", "prompt_too_long");
1122
+ }
1123
+ // Detect tool pairing errors - signal to caller for toast
1124
+ if (errorMessage.includes("tool_use") &&
1125
+ errorMessage.includes("tool_result") &&
1126
+ (errorMessage.includes("without") || errorMessage.includes("immediately after"))) {
1127
+ headers.set("x-antigravity-context-error", "tool_pairing");
1128
+ }
1241
1129
  return new Response(JSON.stringify(errorBody), {
1242
1130
  status: response.status,
1243
1131
  statusText: response.statusText,
@@ -1310,4 +1198,28 @@ export async function transformAntigravityResponse(response, streaming, debugCon
1310
1198
  return response;
1311
1199
  }
1312
1200
  }
1201
+ export const __testExports = {
1202
+ buildSignatureSessionKey,
1203
+ hashConversationSeed,
1204
+ extractTextFromContent,
1205
+ extractConversationSeedFromMessages,
1206
+ extractConversationSeedFromContents,
1207
+ resolveConversationKey,
1208
+ resolveProjectKey,
1209
+ isGeminiToolUsePart,
1210
+ isGeminiThinkingPart,
1211
+ ensureThoughtSignature,
1212
+ hasSignedThinkingPart,
1213
+ hasSignedThinkingInContents,
1214
+ hasSignedThinkingInMessages,
1215
+ hasToolUseInContents,
1216
+ hasToolUseInMessages,
1217
+ ensureThinkingBeforeToolUseInContents,
1218
+ ensureThinkingBeforeToolUseInMessages,
1219
+ generateSyntheticProjectId,
1220
+ MIN_SIGNATURE_LENGTH,
1221
+ transformSseLine,
1222
+ transformStreamingPayload,
1223
+ createStreamingTransformer,
1224
+ };
1313
1225
  //# sourceMappingURL=request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/plugin/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/plugin/request.ts"],"names":[],"mappings":"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"}