@omnicross/core 0.4.2 → 0.4.3

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 (147) hide show
  1. package/dist/auth/GeminiCodeAssistProjectResolver.cjs +11 -184
  2. package/dist/auth/GeminiCodeAssistProjectResolver.d.cts +41 -3
  3. package/dist/auth/GeminiCodeAssistProjectResolver.d.ts +41 -3
  4. package/dist/auth/GeminiCodeAssistProjectResolver.js +12 -185
  5. package/dist/{chunk-POUTD5AM.cjs → chunk-47E3I5PF.cjs} +10 -3
  6. package/dist/{chunk-WX2E2G7H.cjs → chunk-4NAMH4UE.cjs} +79 -51
  7. package/dist/{chunk-LQYS2N47.js → chunk-4RM22ETG.js} +14 -2
  8. package/dist/{chunk-YEVWA4C7.cjs → chunk-57Y2EA2G.cjs} +6 -5
  9. package/dist/chunk-6I4SAWCN.js +24 -0
  10. package/dist/chunk-AFH5CEMF.cjs +38 -0
  11. package/dist/{chunk-KIQ2HA2A.cjs → chunk-BTSADEX4.cjs} +5 -5
  12. package/dist/chunk-CGEZQC2G.cjs +67 -0
  13. package/dist/chunk-E5RCCGE7.cjs +95 -0
  14. package/dist/chunk-EE7VP4O3.js +230 -0
  15. package/dist/chunk-F6P4DIBL.js +95 -0
  16. package/dist/{chunk-BKXC4XM6.cjs → chunk-FORICQ5U.cjs} +15 -11
  17. package/dist/{chunk-PF7YQBKX.js → chunk-FYPKKMB3.js} +6 -2
  18. package/dist/chunk-HRBXQ5AC.js +44 -0
  19. package/dist/{chunk-LFEH7CEO.js → chunk-IDPMD4B7.js} +22 -0
  20. package/dist/{chunk-UPQIWJIE.cjs → chunk-INY54AYX.cjs} +14 -2
  21. package/dist/{chunk-QEOV6Y4E.cjs → chunk-J5XMB5KY.cjs} +359 -170
  22. package/dist/{chunk-C3NPMQTK.js → chunk-JHJRZ75C.js} +14 -10
  23. package/dist/chunk-K6J2RIEX.js +67 -0
  24. package/dist/chunk-KSMK45RD.cjs +45 -0
  25. package/dist/chunk-LL3MZ7O5.cjs +24 -0
  26. package/dist/{chunk-ECZ3ZE2C.js → chunk-M6PKXP6T.js} +4 -29
  27. package/dist/{chunk-PAXJGABW.js → chunk-MPFOC7AT.js} +10 -5
  28. package/dist/{chunk-DKBXDV5U.cjs → chunk-N3MGNLCU.cjs} +49 -44
  29. package/dist/chunk-NDIBVTBZ.cjs +230 -0
  30. package/dist/{chunk-5DJSOFEP.js → chunk-NTF7TLT7.js} +1 -1
  31. package/dist/chunk-ONTTXSRL.js +32 -0
  32. package/dist/{chunk-HN74IGEO.js → chunk-OXBGNEYR.js} +1 -1
  33. package/dist/{chunk-5GXOYVLB.js → chunk-QSOHEDKO.js} +44 -39
  34. package/dist/{chunk-TX3AEV6H.cjs → chunk-RXMF7GNF.cjs} +4 -3
  35. package/dist/{chunk-5TEWZN5J.js → chunk-SWY2LTMR.js} +277 -88
  36. package/dist/{chunk-EUZRH544.js → chunk-TKZ3DZS5.js} +10 -3
  37. package/dist/{chunk-MXI2PWIC.cjs → chunk-UKQHBK4Q.cjs} +1 -32
  38. package/dist/{chunk-3XVDFRCQ.cjs → chunk-UOOLU64V.cjs} +13 -8
  39. package/dist/{chunk-ZSA44G7J.cjs → chunk-VFFCV4J6.cjs} +3 -3
  40. package/dist/{chunk-6DDYNS2B.cjs → chunk-VGBJPHHD.cjs} +36 -14
  41. package/dist/{chunk-2T6D7LWE.cjs → chunk-VYOBVPNB.cjs} +6 -2
  42. package/dist/chunk-WYECWQ3J.cjs +44 -0
  43. package/dist/chunk-X6GHTNDL.cjs +482 -0
  44. package/dist/chunk-XBQTVRMK.js +45 -0
  45. package/dist/{chunk-R4VCO2CB.js → chunk-YEHQ5FXZ.js} +28 -0
  46. package/dist/{chunk-HDXSPXIN.js → chunk-ZBDDPWVQ.js} +4 -3
  47. package/dist/chunk-ZJJBITUN.js +482 -0
  48. package/dist/{chunk-QRXOLINS.js → chunk-ZMERU7D3.js} +3 -2
  49. package/dist/completion/CompletionService.cjs +29 -22
  50. package/dist/completion/CompletionService.js +28 -21
  51. package/dist/completion.cjs +29 -22
  52. package/dist/completion.js +28 -21
  53. package/dist/image-generation.cjs +2 -2
  54. package/dist/image-generation.d.cts +2 -2
  55. package/dist/image-generation.d.ts +2 -2
  56. package/dist/image-generation.js +1 -1
  57. package/dist/index.cjs +40 -29
  58. package/dist/index.d.cts +6 -3
  59. package/dist/index.d.ts +6 -3
  60. package/dist/index.js +40 -29
  61. package/dist/outbound-api/routeResolver.cjs +3 -3
  62. package/dist/outbound-api/routeResolver.d.cts +3 -3
  63. package/dist/outbound-api/routeResolver.d.ts +3 -3
  64. package/dist/outbound-api/routeResolver.js +2 -2
  65. package/dist/outbound-api/types.cjs +6 -2
  66. package/dist/outbound-api/types.d.cts +2 -2
  67. package/dist/outbound-api/types.d.ts +2 -2
  68. package/dist/outbound-api/types.js +7 -3
  69. package/dist/outbound-api.cjs +33 -22
  70. package/dist/outbound-api.d.cts +4 -4
  71. package/dist/outbound-api.d.ts +4 -4
  72. package/dist/outbound-api.js +33 -22
  73. package/dist/pipeline/AccountAllowanceScheduling.cjs +4 -3
  74. package/dist/pipeline/AccountAllowanceScheduling.d.cts +4 -4
  75. package/dist/pipeline/AccountAllowanceScheduling.d.ts +4 -4
  76. package/dist/pipeline/AccountAllowanceScheduling.js +3 -2
  77. package/dist/pipeline/AccountAllowanceStore.cjs +2 -2
  78. package/dist/pipeline/AccountAllowanceStore.js +1 -1
  79. package/dist/pipeline/AuthSource.d.cts +6 -0
  80. package/dist/pipeline/AuthSource.d.ts +6 -0
  81. package/dist/pipeline/SubscriptionAuthSource.cjs +5 -4
  82. package/dist/pipeline/SubscriptionAuthSource.js +4 -3
  83. package/dist/pipeline/SubscriptionAuthStrategy.d.cts +7 -0
  84. package/dist/pipeline/SubscriptionAuthStrategy.d.ts +7 -0
  85. package/dist/pipeline/antigravityQuotaFamily.cjs +16 -0
  86. package/dist/pipeline/antigravityQuotaFamily.d.cts +52 -0
  87. package/dist/pipeline/antigravityQuotaFamily.d.ts +52 -0
  88. package/dist/pipeline/antigravityQuotaFamily.js +16 -0
  89. package/dist/pipeline/upstreamFetch.cjs +3 -3
  90. package/dist/pipeline/upstreamFetch.js +2 -2
  91. package/dist/ports.d.cts +2 -2
  92. package/dist/ports.d.ts +2 -2
  93. package/dist/provider-proxy/ProviderProxy.cjs +29 -22
  94. package/dist/provider-proxy/ProviderProxy.js +28 -21
  95. package/dist/provider-proxy/identity/codexCliHeaders.cjs +4 -2
  96. package/dist/provider-proxy/identity/codexCliHeaders.js +4 -2
  97. package/dist/provider-proxy/identity/openCodeGoHeaders.cjs +17 -0
  98. package/dist/provider-proxy/identity/openCodeGoHeaders.d.cts +71 -0
  99. package/dist/provider-proxy/identity/openCodeGoHeaders.d.ts +71 -0
  100. package/dist/provider-proxy/identity/openCodeGoHeaders.js +17 -0
  101. package/dist/provider-proxy/ingress/providerProxyShared.cjs +29 -22
  102. package/dist/provider-proxy/ingress/providerProxyShared.js +28 -21
  103. package/dist/provider-proxy.cjs +29 -22
  104. package/dist/provider-proxy.d.cts +2 -2
  105. package/dist/provider-proxy.d.ts +2 -2
  106. package/dist/provider-proxy.js +28 -21
  107. package/dist/{routeResolver-STwMz_G4.d.ts → routeResolver-BLTleO4H.d.ts} +1 -1
  108. package/dist/{routeResolver-Da0yvkL1.d.cts → routeResolver-C2z0pp-q.d.cts} +1 -1
  109. package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.cjs +2 -2
  110. package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.js +1 -1
  111. package/dist/transformer/transformers/AnthropicTransformer.cjs +3 -3
  112. package/dist/transformer/transformers/AnthropicTransformer.js +2 -2
  113. package/dist/transformer/transformers/AntigravityTransformer.cjs +31 -0
  114. package/dist/transformer/transformers/AntigravityTransformer.d.cts +104 -0
  115. package/dist/transformer/transformers/AntigravityTransformer.d.ts +104 -0
  116. package/dist/transformer/transformers/AntigravityTransformer.js +31 -0
  117. package/dist/transformer/transformers/GeminiCodeAssistTransformer.cjs +3 -3
  118. package/dist/transformer/transformers/GeminiCodeAssistTransformer.d.cts +2 -1
  119. package/dist/transformer/transformers/GeminiCodeAssistTransformer.d.ts +2 -1
  120. package/dist/transformer/transformers/GeminiCodeAssistTransformer.js +2 -2
  121. package/dist/transformer/transformers/GeminiTransformer.cjs +3 -3
  122. package/dist/transformer/transformers/GeminiTransformer.js +2 -2
  123. package/dist/transformer/transformers/antigravityFailover.cjs +30 -0
  124. package/dist/transformer/transformers/antigravityFailover.d.cts +52 -0
  125. package/dist/transformer/transformers/antigravityFailover.d.ts +52 -0
  126. package/dist/transformer/transformers/antigravityFailover.js +30 -0
  127. package/dist/transformer/transformers/antigravityIdentity.cjs +24 -0
  128. package/dist/transformer/transformers/antigravityIdentity.d.cts +76 -0
  129. package/dist/transformer/transformers/antigravityIdentity.d.ts +76 -0
  130. package/dist/transformer/transformers/antigravityIdentity.js +24 -0
  131. package/dist/transformer/transformers.cjs +61 -9
  132. package/dist/transformer/transformers.d.cts +7 -2
  133. package/dist/transformer/transformers.d.ts +7 -2
  134. package/dist/transformer/transformers.js +61 -9
  135. package/dist/transformer/types.d.cts +11 -0
  136. package/dist/transformer/types.d.ts +11 -0
  137. package/dist/transformer.cjs +21 -12
  138. package/dist/transformer.d.cts +3 -0
  139. package/dist/transformer.d.ts +3 -0
  140. package/dist/transformer.js +20 -11
  141. package/dist/{types-Be-yt_6T.d.cts → types-BVwJQ9ZS.d.cts} +3 -0
  142. package/dist/{types-D-oHYusb.d.cts → types-C6m-Db26.d.cts} +25 -4
  143. package/dist/{types-Dvlpjn0d.d.ts → types-Da735j2d.d.ts} +25 -4
  144. package/dist/{types-Dm4_36V4.d.ts → types-VAHRysdP.d.ts} +3 -0
  145. package/package.json +2 -2
  146. package/dist/chunk-4IH4EL7M.cjs +0 -9
  147. package/dist/chunk-XEKD23J5.js +0 -9
@@ -0,0 +1,482 @@
1
+ import {
2
+ ensureAntigravityVersion,
3
+ getAntigravityModelWireProfile,
4
+ getAntigravityUserAgent,
5
+ getAntigravityVersion
6
+ } from "./chunk-F6P4DIBL.js";
7
+ import {
8
+ antigravityModelFamily
9
+ } from "./chunk-XBQTVRMK.js";
10
+ import {
11
+ ANTIGRAVITY_CODE_ASSIST_ENDPOINT
12
+ } from "./chunk-EE7VP4O3.js";
13
+ import {
14
+ buildCcaMethodUrl,
15
+ unwrapCcaResponse
16
+ } from "./chunk-QSOHEDKO.js";
17
+ import {
18
+ buildRequestBody,
19
+ transformRequestOut,
20
+ transformResponseOut
21
+ } from "./chunk-YEHQ5FXZ.js";
22
+ import {
23
+ extractReasoningIntent,
24
+ resolveReasoningEffort,
25
+ resolveTargetModelCapabilities
26
+ } from "./chunk-ZLNHPUFA.js";
27
+
28
+ // src/transformer/transformers/AntigravityTransformer.ts
29
+ import { createHash, randomUUID } from "crypto";
30
+
31
+ // src/transformer/transformers/utils/ccaLegacySchema.ts
32
+ function appendHint(description, hint) {
33
+ if (!hint) return description ?? "";
34
+ if (!description) return hint;
35
+ return `${description} (${hint})`;
36
+ }
37
+ function refHint(refValue) {
38
+ const name = refValue.slice(refValue.lastIndexOf("/") + 1);
39
+ return name ? `See: ${name}` : "";
40
+ }
41
+ var CONSTRAINT_KEYS = [
42
+ "minLength",
43
+ "maxLength",
44
+ "exclusiveMinimum",
45
+ "exclusiveMaximum",
46
+ "pattern",
47
+ "minItems",
48
+ "maxItems"
49
+ ];
50
+ function normalizeType(typeValue) {
51
+ if (typeof typeValue === "string" && typeValue) return { type: typeValue, hint: "" };
52
+ if (!Array.isArray(typeValue) || typeValue.length === 0) return { type: "", hint: "" };
53
+ const raw = typeValue.map((t) => t == null ? "" : String(t)).filter(Boolean);
54
+ const hasNull = raw.includes("null");
55
+ const nonNull = raw.filter((t) => t !== "null");
56
+ const primary = nonNull[0] || "string";
57
+ const hints = [];
58
+ if (nonNull.length > 1) hints.push(`Accepts: ${nonNull.join(" | ")}`);
59
+ if (hasNull) hints.push("nullable");
60
+ return { type: primary, hint: hints.join("; ") };
61
+ }
62
+ function schemaScore(schema) {
63
+ if (!schema || typeof schema !== "object") return 0;
64
+ const s = schema;
65
+ const t = typeof s["type"] === "string" ? s["type"] : "";
66
+ if (t === "object" || s["properties"] && typeof s["properties"] === "object") return 3;
67
+ if (t === "array" || s["items"]) return 2;
68
+ if (t && t !== "null") return 1;
69
+ return 0;
70
+ }
71
+ function cleanSchemaForCcaLegacyParameters(schema) {
72
+ if (!schema || typeof schema !== "object" || Array.isArray(schema)) {
73
+ return { type: "object", properties: {} };
74
+ }
75
+ const s = schema;
76
+ const ref = s["$ref"];
77
+ if (typeof ref === "string" && ref) {
78
+ return {
79
+ type: "object",
80
+ description: appendHint(
81
+ typeof s["description"] === "string" ? s["description"] : void 0,
82
+ refHint(ref)
83
+ ),
84
+ properties: {}
85
+ };
86
+ }
87
+ const alternatives = Array.isArray(s["anyOf"]) ? s["anyOf"] : Array.isArray(s["oneOf"]) ? s["oneOf"] : null;
88
+ if (alternatives && alternatives.length > 0) {
89
+ let best = alternatives[0];
90
+ let bestScore = -1;
91
+ const types = [];
92
+ for (const alternative of alternatives) {
93
+ const score = schemaScore(alternative);
94
+ const normalized = normalizeType(alternative?.["type"]);
95
+ if (normalized.type) types.push(normalized.type);
96
+ if (score > bestScore) {
97
+ bestScore = score;
98
+ best = alternative;
99
+ }
100
+ }
101
+ const cleaned = cleanSchemaForCcaLegacyParameters(best);
102
+ const typeHint2 = types.length > 1 ? `Accepts: ${[...new Set(types)].join(" || ")}` : "";
103
+ return {
104
+ ...cleaned,
105
+ description: appendHint(
106
+ appendHint(cleaned.description, typeof s["description"] === "string" ? s["description"] : void 0),
107
+ typeHint2
108
+ )
109
+ };
110
+ }
111
+ if (Array.isArray(s["allOf"]) && s["allOf"].length > 0) {
112
+ const merged = {};
113
+ let mergedDescription = typeof s["description"] === "string" ? s["description"] : void 0;
114
+ const required = /* @__PURE__ */ new Set();
115
+ const properties = {};
116
+ for (const branch of s["allOf"]) {
117
+ const cleaned = cleanSchemaForCcaLegacyParameters(branch);
118
+ if (cleaned.description) mergedDescription = appendHint(mergedDescription, cleaned.description);
119
+ for (const key of cleaned.required ?? []) required.add(key);
120
+ Object.assign(properties, cleaned.properties ?? {});
121
+ if (cleaned.type && !merged.type) merged.type = cleaned.type;
122
+ if (cleaned.items && !merged.items) merged.items = cleaned.items;
123
+ if (cleaned.enum && !merged.enum) merged.enum = cleaned.enum;
124
+ }
125
+ if (Object.keys(properties).length > 0) {
126
+ merged.type = merged.type ?? "object";
127
+ merged.properties = properties;
128
+ const validRequired = [...required].filter((key) => key in properties);
129
+ if (validRequired.length > 0) merged.required = validRequired;
130
+ }
131
+ if (mergedDescription) merged.description = mergedDescription;
132
+ return cleanSchemaForCcaLegacyParameters(merged);
133
+ }
134
+ const result = {};
135
+ const constraintHints = [];
136
+ if (typeof s["description"] === "string") result.description = s["description"];
137
+ for (const key of CONSTRAINT_KEYS) {
138
+ const value = s[key];
139
+ if (value === void 0 || value === null || typeof value === "object") continue;
140
+ constraintHints.push(`${key}: ${String(value)}`);
141
+ }
142
+ if (s["const"] !== void 0 && !Array.isArray(s["enum"])) {
143
+ result.enum = [s["const"]];
144
+ }
145
+ if (Array.isArray(s["enum"])) {
146
+ const values = s["enum"].filter(
147
+ (v) => typeof v === "string" || typeof v === "number" || typeof v === "boolean"
148
+ );
149
+ if (values.length > 0) result.enum = values;
150
+ if (result.enum && result.enum.length > 1 && result.enum.length <= 10) {
151
+ result.description = appendHint(
152
+ result.description,
153
+ `Allowed: ${result.enum.map(String).join(", ")}`
154
+ );
155
+ }
156
+ }
157
+ const { type: normalizedType, hint: typeHint } = normalizeType(s["type"]);
158
+ if (normalizedType) result.type = normalizedType;
159
+ if (typeHint) result.description = appendHint(result.description, typeHint);
160
+ if (constraintHints.length > 0) {
161
+ result.description = appendHint(result.description, constraintHints.join(", "));
162
+ }
163
+ if (s["additionalProperties"] === false) {
164
+ result.description = appendHint(result.description, "No extra properties allowed");
165
+ }
166
+ if (s["properties"] && typeof s["properties"] === "object" && !Array.isArray(s["properties"])) {
167
+ const properties = {};
168
+ for (const [name, property] of Object.entries(s["properties"])) {
169
+ properties[name] = cleanSchemaForCcaLegacyParameters(property);
170
+ }
171
+ result.type = result.type ?? "object";
172
+ result.properties = properties;
173
+ }
174
+ if (s["items"] !== void 0) {
175
+ result.type = result.type ?? "array";
176
+ result.items = cleanSchemaForCcaLegacyParameters(s["items"]);
177
+ }
178
+ if (Array.isArray(s["required"]) && result.properties) {
179
+ const required = s["required"].filter(
180
+ (key) => typeof key === "string" && !!key && key in result.properties
181
+ );
182
+ if (required.length > 0) result.required = required;
183
+ }
184
+ if (!result.type) {
185
+ result.type = result.properties ? "object" : result.items !== void 0 ? "array" : "object";
186
+ }
187
+ if (result.type === "object" && !result.properties) {
188
+ result.properties = {};
189
+ }
190
+ return result;
191
+ }
192
+
193
+ // src/transformer/transformers/AntigravityTransformer.ts
194
+ var ANTIGRAVITY_FORCED_TOOL_DIRECTIVE = "TOOL-ONLY TURN. This turn accepts a tool call and nothing else; a text reply here is discarded unread and you will be re-prompted. Emit the tool call now.";
195
+ var ANTIGRAVITY_FORCED_TOOL_ASSET_VERSION = "2.8.0";
196
+ var CLAUDE_THINKING_BETA_HEADER = "interleaved-thinking-2025-05-14";
197
+ var forcedToolDriftLogged = false;
198
+ function checkForcedToolAssetDrift(currentVersion, log) {
199
+ if (forcedToolDriftLogged || currentVersion === ANTIGRAVITY_FORCED_TOOL_ASSET_VERSION) return;
200
+ forcedToolDriftLogged = true;
201
+ const message = `[AntigravityTransformer] UA version ${currentVersion} differs from the frozen forced-tool asset version ${ANTIGRAVITY_FORCED_TOOL_ASSET_VERSION} \u2014 review whether the upstream directive changed (the asset does not auto-follow).`;
202
+ (log ?? ((line) => console.warn(line)))(message);
203
+ }
204
+ var ANTIGRAVITY_VARIANT_ROUTES = {
205
+ // Gemini ≥3.6 flash (google-level): minimal|low → -low, medium → -medium, high → -high.
206
+ "gemini-3.6-flash": {
207
+ default: "gemini-3.6-flash-low",
208
+ minimal: "gemini-3.6-flash-low",
209
+ low: "gemini-3.6-flash-low",
210
+ medium: "gemini-3.6-flash-medium",
211
+ high: "gemini-3.6-flash-high"
212
+ },
213
+ "gemini-3.7-flash": {
214
+ default: "gemini-3.7-flash-low",
215
+ minimal: "gemini-3.7-flash-low",
216
+ low: "gemini-3.7-flash-low",
217
+ medium: "gemini-3.7-flash-medium",
218
+ high: "gemini-3.7-flash-high"
219
+ },
220
+ "gemini-3.8-flash": {
221
+ default: "gemini-3.8-flash-low",
222
+ minimal: "gemini-3.8-flash-low",
223
+ low: "gemini-3.8-flash-low",
224
+ medium: "gemini-3.8-flash-medium",
225
+ high: "gemini-3.8-flash-high"
226
+ },
227
+ // Gemini 3.5 flash (budget transport; `gemini-3-flash` is its alias):
228
+ // minimal|low → extra-low, medium → -low, high → the agent id.
229
+ "gemini-3.5-flash": {
230
+ default: "gemini-3.5-flash-extra-low",
231
+ off: "gemini-3.5-flash-extra-low",
232
+ minimal: "gemini-3.5-flash-extra-low",
233
+ low: "gemini-3.5-flash-extra-low",
234
+ medium: "gemini-3.5-flash-low",
235
+ high: "gemini-3-flash-agent"
236
+ },
237
+ "gemini-3-flash": {
238
+ default: "gemini-3.5-flash-extra-low",
239
+ off: "gemini-3.5-flash-extra-low",
240
+ minimal: "gemini-3.5-flash-extra-low",
241
+ low: "gemini-3.5-flash-extra-low",
242
+ medium: "gemini-3.5-flash-low",
243
+ high: "gemini-3-flash-agent"
244
+ },
245
+ // Gemini 3.1 pro: low → -low, high → the pro-agent id.
246
+ "gemini-3.1-pro": {
247
+ default: "gemini-3.1-pro-low",
248
+ off: "gemini-3.1-pro-low",
249
+ low: "gemini-3.1-pro-low",
250
+ high: "gemini-pro-agent"
251
+ },
252
+ // Gemini 3 pro (google-level): low → -low, high → -high.
253
+ "gemini-3-pro": {
254
+ default: "gemini-3-pro-low",
255
+ off: "gemini-3-pro-low",
256
+ low: "gemini-3-pro-low",
257
+ high: "gemini-3-pro-high"
258
+ },
259
+ // gpt-oss 120b: every effort level rides the -medium wire id.
260
+ "gpt-oss-120b": {
261
+ default: "gpt-oss-120b-medium",
262
+ minimal: "gpt-oss-120b-medium",
263
+ low: "gpt-oss-120b-medium",
264
+ medium: "gpt-oss-120b-medium",
265
+ high: "gpt-oss-120b-medium"
266
+ },
267
+ // Claude 4.5: thinking is a separate wire id; off rides the base id.
268
+ "claude-opus-4-5": {
269
+ off: "claude-opus-4-5",
270
+ minimal: "claude-opus-4-5-thinking",
271
+ low: "claude-opus-4-5-thinking",
272
+ medium: "claude-opus-4-5-thinking",
273
+ high: "claude-opus-4-5-thinking"
274
+ },
275
+ "claude-sonnet-4-5": {
276
+ off: "claude-sonnet-4-5",
277
+ minimal: "claude-sonnet-4-5-thinking",
278
+ low: "claude-sonnet-4-5-thinking",
279
+ medium: "claude-sonnet-4-5-thinking",
280
+ high: "claude-sonnet-4-5-thinking"
281
+ },
282
+ // Claude opus 4.6: the BASE id is retired upstream — every request (off or
283
+ // not) rides the thinking wire id.
284
+ "claude-opus-4-6": {
285
+ default: "claude-opus-4-6-thinking",
286
+ off: "claude-opus-4-6-thinking",
287
+ minimal: "claude-opus-4-6-thinking",
288
+ low: "claude-opus-4-6-thinking",
289
+ medium: "claude-opus-4-6-thinking",
290
+ high: "claude-opus-4-6-thinking"
291
+ },
292
+ // Claude sonnet 4.6: the THINKING variant is retired upstream — always base.
293
+ "claude-sonnet-4-6": {
294
+ default: "claude-sonnet-4-6"
295
+ },
296
+ // Gemini 2.5 flash/lite: thinking rides the -thinking wire id.
297
+ "gemini-2.5-flash": {
298
+ off: "gemini-2.5-flash",
299
+ minimal: "gemini-2.5-flash-thinking",
300
+ low: "gemini-2.5-flash-thinking",
301
+ medium: "gemini-2.5-flash-thinking",
302
+ high: "gemini-2.5-flash-thinking"
303
+ },
304
+ "gemini-2.5-flash-lite": {
305
+ off: "gemini-2.5-flash-lite",
306
+ minimal: "gemini-2.5-flash-lite-thinking",
307
+ low: "gemini-2.5-flash-lite-thinking",
308
+ medium: "gemini-2.5-flash-lite-thinking",
309
+ high: "gemini-2.5-flash-lite-thinking"
310
+ }
311
+ };
312
+ function resolveAntigravityWireModelId(logicalModelId, request, provider) {
313
+ const routes = ANTIGRAVITY_VARIANT_ROUTES[logicalModelId];
314
+ const intent = extractReasoningIntent({ model: logicalModelId, reasoning: request.reasoning });
315
+ const capabilities = resolveTargetModelCapabilities(logicalModelId, provider);
316
+ const reasoningCapable = !!capabilities.thinkingLevels?.some((level) => level !== "none") || capabilities.reasoning === true;
317
+ if (!routes || !intent?.effort) {
318
+ return { wireModelId: routes?.default ?? logicalModelId, variantEngaged: false, effort: intent?.effort };
319
+ }
320
+ const effort = intent.effort === "none" ? "none" : reasoningCapable ? resolveReasoningEffort(intent.effort, logicalModelId, provider) : "none";
321
+ if (effort === "none") {
322
+ return { wireModelId: routes.off ?? routes.default ?? logicalModelId, variantEngaged: true, effort };
323
+ }
324
+ const routed = routes[effort];
325
+ if (routed) {
326
+ return { wireModelId: routed, variantEngaged: true, effort };
327
+ }
328
+ return { wireModelId: routes.default ?? logicalModelId, variantEngaged: false, effort };
329
+ }
330
+ var ANTIGRAVITY_ENDPOINT = ANTIGRAVITY_CODE_ASSIST_ENDPOINT;
331
+ function buildAntigravityUrl(stream, base = ANTIGRAVITY_ENDPOINT) {
332
+ return buildCcaMethodUrl(base, "v1internal", stream);
333
+ }
334
+ var INT63_MASK = (1n << 63n) - 1n;
335
+ function deriveAntigravitySessionId(text) {
336
+ const digest = createHash("sha256").update(text).digest();
337
+ let value = 0n;
338
+ for (let index = 0; index < 8; index += 1) {
339
+ value = value << 8n | BigInt(digest[index] ?? 0);
340
+ }
341
+ return `-${(value & INT63_MASK).toString()}`;
342
+ }
343
+ function firstUserText(request) {
344
+ for (const message of request.messages) {
345
+ if (message.role !== "user") continue;
346
+ if (typeof message.content === "string") return message.content;
347
+ if (Array.isArray(message.content)) {
348
+ const firstText = message.content.find((part) => part.type === "text");
349
+ return firstText?.text;
350
+ }
351
+ return void 0;
352
+ }
353
+ return void 0;
354
+ }
355
+ var AntigravityTransformer = class {
356
+ static TransformerName = "antigravity";
357
+ name = "antigravity";
358
+ logger;
359
+ /** The URL is built per-request (colon-method, no fixed endpoint pattern). */
360
+ endPoint = void 0;
361
+ async transformRequestIn(request, provider, _context) {
362
+ void ensureAntigravityVersion().catch(() => void 0);
363
+ checkForcedToolAssetDrift(getAntigravityVersion(), this.logger?.warn?.bind(this.logger));
364
+ const family = antigravityModelFamily(request.model) ?? "gemini";
365
+ const { wireModelId, variantEngaged } = resolveAntigravityWireModelId(request.model, request, provider);
366
+ const inner = buildRequestBody({ ...request, model: wireModelId }, provider);
367
+ const generationConfig = { ...inner["generationConfig"] ?? {} };
368
+ if (variantEngaged) {
369
+ delete generationConfig["thinkingConfig"];
370
+ }
371
+ const profile = getAntigravityModelWireProfile(wireModelId);
372
+ if (profile) {
373
+ generationConfig["maxOutputTokens"] = profile.maxOutputTokens;
374
+ }
375
+ const tools = inner["tools"];
376
+ const decoratedTools = family === "claude" && tools ? tools.map((tool) => legacyParametersTool(tool)) : tools;
377
+ const contents = inner["contents"];
378
+ let toolConfig = inner["toolConfig"];
379
+ let forcedToolInjected = false;
380
+ const hasTools = !!decoratedTools?.some((tool) => (tool.functionDeclarations?.length ?? 0) > 0);
381
+ if (toolConfig?.functionCallingConfig.mode === "none") {
382
+ toolConfig = { functionCallingConfig: { mode: "NONE" } };
383
+ } else if (toolConfig?.functionCallingConfig.mode === "any") {
384
+ toolConfig = {
385
+ functionCallingConfig: {
386
+ mode: "ANY",
387
+ ...toolConfig.functionCallingConfig.allowedFunctionNames ? { allowedFunctionNames: toolConfig.functionCallingConfig.allowedFunctionNames } : {}
388
+ }
389
+ };
390
+ if (family !== "claude") {
391
+ contents.push({ role: "user", parts: [{ text: ANTIGRAVITY_FORCED_TOOL_DIRECTIVE }] });
392
+ forcedToolInjected = true;
393
+ }
394
+ } else if (hasTools || family === "claude") {
395
+ toolConfig = { functionCallingConfig: { mode: "VALIDATED" } };
396
+ } else {
397
+ toolConfig = void 0;
398
+ }
399
+ void forcedToolInjected;
400
+ const anchor = firstUserText(request);
401
+ const sessionId = anchor && anchor.trim().length > 0 ? deriveAntigravitySessionId(anchor) : `-${Date.now()}`;
402
+ const trajectoryId = randomUUID();
403
+ const step = request.messages.filter((message) => message.role === "assistant").length + 2;
404
+ const requestId = `agent/${randomUUID()}/${Date.now()}/${trajectoryId}/${step}`;
405
+ const labels = {
406
+ last_step_index: String(step - 1),
407
+ // Anthropic ids carry no model_enum token (the backend does not require it).
408
+ ...family !== "claude" && profile?.modelEnum !== void 0 ? { model_enum: profile.modelEnum } : {},
409
+ trajectory_id: trajectoryId,
410
+ used_claude: String(family === "claude"),
411
+ used_claude_conservative: String(family === "claude")
412
+ };
413
+ const innerRequest = {
414
+ ...inner,
415
+ contents,
416
+ ...decoratedTools ? { tools: decoratedTools } : {},
417
+ ...toolConfig ? { toolConfig } : {},
418
+ ...Object.keys(generationConfig).length > 0 ? { generationConfig } : {},
419
+ sessionId,
420
+ labels
421
+ };
422
+ const envelope = {
423
+ project: provider.geminiProject,
424
+ requestId,
425
+ model: wireModelId,
426
+ userAgent: "antigravity",
427
+ requestType: "agent",
428
+ request: innerRequest
429
+ };
430
+ const url = buildAntigravityUrl(Boolean(request.stream));
431
+ const headers = {
432
+ "x-goog-api-key": void 0,
433
+ "X-Goog-Api-Key": void 0,
434
+ "User-Agent": getAntigravityUserAgent(),
435
+ // Claude thinking models ride the interleaved-thinking beta (the CCA
436
+ // backend needs it to return thinking blocks for Anthropic ids).
437
+ ...family === "claude" ? { "anthropic-beta": CLAUDE_THINKING_BETA_HEADER } : {}
438
+ };
439
+ return {
440
+ body: envelope,
441
+ config: { url, headers }
442
+ };
443
+ }
444
+ /** antigravity request → unified (endpoint-decode parity with the gemini one). */
445
+ async transformRequestOut(request, _context) {
446
+ const r = request;
447
+ const inner = r && typeof r === "object" && "request" in r ? r.request : r;
448
+ if (inner && typeof inner === "object" && !("model" in inner) && "model" in r) {
449
+ inner.model = r.model;
450
+ }
451
+ return transformRequestOut(inner);
452
+ }
453
+ /** antigravity response → OpenAI-compatible: peel `.response`, delegate. */
454
+ async transformResponseOut(response, _context) {
455
+ const unwrapped = await unwrapCcaResponse(response);
456
+ return transformResponseOut(unwrapped, this.name, this.logger);
457
+ }
458
+ };
459
+ function legacyParametersTool(tool) {
460
+ if (!tool.functionDeclarations) return tool;
461
+ return {
462
+ functionDeclarations: tool.functionDeclarations.map((declaration) => {
463
+ if ("parameters" in declaration) return declaration;
464
+ const { parametersJsonSchema, ...rest } = declaration;
465
+ return {
466
+ ...rest,
467
+ parameters: cleanSchemaForCcaLegacyParameters(parametersJsonSchema)
468
+ };
469
+ })
470
+ };
471
+ }
472
+
473
+ export {
474
+ ANTIGRAVITY_FORCED_TOOL_DIRECTIVE,
475
+ ANTIGRAVITY_FORCED_TOOL_ASSET_VERSION,
476
+ checkForcedToolAssetDrift,
477
+ resolveAntigravityWireModelId,
478
+ ANTIGRAVITY_ENDPOINT,
479
+ buildAntigravityUrl,
480
+ deriveAntigravitySessionId,
481
+ AntigravityTransformer
482
+ };
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-AQ5TNQB7.js";
4
4
  import {
5
5
  ENDPOINT_MODEL_KINDS
6
- } from "./chunk-XEKD23J5.js";
6
+ } from "./chunk-6I4SAWCN.js";
7
7
 
8
8
  // src/outbound-api/kindDetection.ts
9
9
  import { normalizeModelId as normalizeModelId2 } from "@omnicross/contracts/canonical-models";
@@ -122,7 +122,8 @@ var SUBSCRIPTION_PROVIDER_IDS = [
122
122
  "opencodego",
123
123
  "kimi",
124
124
  "grok",
125
- "copilot"
125
+ "copilot",
126
+ "antigravity"
126
127
  ];
127
128
  var SUBSCRIPTION_ID_SET = new Set(SUBSCRIPTION_PROVIDER_IDS);
128
129
  function isSubscriptionProviderId(providerId) {
@@ -1,26 +1,31 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkQEOV6Y4Ecjs = require('../chunk-QEOV6Y4E.cjs');
4
- require('../chunk-E4QHVXV5.cjs');
5
- require('../chunk-HQP3K7PU.cjs');
3
+ var _chunkJ5XMB5KYcjs = require('../chunk-J5XMB5KY.cjs');
6
4
  require('../chunk-QVOB2DNX.cjs');
7
- require('../chunk-7ZHBN75N.cjs');
8
- require('../chunk-GBHYAGX3.cjs');
9
- require('../chunk-3OPYJG76.cjs');
10
- require('../chunk-3XVDFRCQ.cjs');
11
- require('../chunk-KIQ2HA2A.cjs');
5
+ require('../chunk-UOOLU64V.cjs');
12
6
  require('../chunk-NOITAVHA.cjs');
13
7
  require('../chunk-QWNUOR7F.cjs');
14
- require('../chunk-POUTD5AM.cjs');
15
- require('../chunk-6DDYNS2B.cjs');
8
+ require('../chunk-47E3I5PF.cjs');
16
9
  require('../chunk-5RSZYQJH.cjs');
10
+ require('../chunk-VGBJPHHD.cjs');
11
+ require('../chunk-CGEZQC2G.cjs');
12
+ require('../chunk-X6GHTNDL.cjs');
13
+ require('../chunk-E5RCCGE7.cjs');
14
+ require('../chunk-BTSADEX4.cjs');
17
15
  require('../chunk-32SRZFFP.cjs');
18
16
  require('../chunk-2E42SAW3.cjs');
19
17
  require('../chunk-5UK3KLE2.cjs');
20
- require('../chunk-MXI2PWIC.cjs');
18
+ require('../chunk-7ZHBN75N.cjs');
19
+ require('../chunk-GBHYAGX3.cjs');
20
+ require('../chunk-3OPYJG76.cjs');
21
+ require('../chunk-J3QQ6JS5.cjs');
22
+ require('../chunk-E4QHVXV5.cjs');
23
+ require('../chunk-HQP3K7PU.cjs');
24
+ require('../chunk-AFH5CEMF.cjs');
21
25
  require('../chunk-RPII3E6Z.cjs');
22
26
  require('../chunk-6RPZADX3.cjs');
23
- require('../chunk-J3QQ6JS5.cjs');
27
+ require('../chunk-WYECWQ3J.cjs');
28
+ require('../chunk-UKQHBK4Q.cjs');
24
29
  require('../chunk-UIBD2YY5.cjs');
25
30
  require('../chunk-R3HK6R4B.cjs');
26
31
  require('../chunk-KQBLZMP6.cjs');
@@ -29,10 +34,11 @@ require('../chunk-QXD4MV2X.cjs');
29
34
  require('../chunk-NYUNU75A.cjs');
30
35
  require('../chunk-OTZC4TNH.cjs');
31
36
  require('../chunk-7LRTPNFL.cjs');
32
- require('../chunk-TX3AEV6H.cjs');
37
+ require('../chunk-RXMF7GNF.cjs');
33
38
  require('../chunk-SVNDB62D.cjs');
34
- require('../chunk-BKXC4XM6.cjs');
35
39
  require('../chunk-25GXJCEZ.cjs');
40
+ require('../chunk-FORICQ5U.cjs');
41
+ require('../chunk-KSMK45RD.cjs');
36
42
  require('../chunk-FX325I5Q.cjs');
37
43
  require('../chunk-AEOZIDEB.cjs');
38
44
  require('../chunk-HCOQQAZE.cjs');
@@ -40,25 +46,26 @@ require('../chunk-APYG5QD7.cjs');
40
46
  require('../chunk-L74VDN4A.cjs');
41
47
  require('../chunk-XSVNC2UD.cjs');
42
48
  require('../chunk-4YINUUKQ.cjs');
43
- require('../chunk-YEVWA4C7.cjs');
49
+ require('../chunk-57Y2EA2G.cjs');
44
50
  require('../chunk-QBZJ7P2T.cjs');
45
- require('../chunk-4IH4EL7M.cjs');
51
+ require('../chunk-LL3MZ7O5.cjs');
46
52
  require('../chunk-JMJBSACD.cjs');
47
53
  require('../chunk-GMMT7RVN.cjs');
48
54
  require('../chunk-UNEFIWXI.cjs');
49
55
  require('../chunk-A2YMUCBT.cjs');
50
56
  require('../chunk-GDIXXKF2.cjs');
51
- require('../chunk-DKBXDV5U.cjs');
52
- require('../chunk-WX2E2G7H.cjs');
57
+ require('../chunk-NDIBVTBZ.cjs');
58
+ require('../chunk-N3MGNLCU.cjs');
59
+ require('../chunk-4NAMH4UE.cjs');
53
60
  require('../chunk-77USGNRW.cjs');
54
61
  require('../chunk-IUL4VWNU.cjs');
55
- require('../chunk-ZSA44G7J.cjs');
62
+ require('../chunk-VFFCV4J6.cjs');
56
63
  require('../chunk-235MXAGX.cjs');
57
- require('../chunk-2T6D7LWE.cjs');
64
+ require('../chunk-VYOBVPNB.cjs');
58
65
  require('../chunk-NKVZ6Z3Y.cjs');
59
- require('../chunk-UPQIWJIE.cjs');
66
+ require('../chunk-INY54AYX.cjs');
60
67
  require('../chunk-G4CZIUIB.cjs');
61
68
  require('../chunk-2RCCLQYV.cjs');
62
69
 
63
70
 
64
- exports.CompletionService = _chunkQEOV6Y4Ecjs.CompletionService;
71
+ exports.CompletionService = _chunkJ5XMB5KYcjs.CompletionService;
@@ -1,26 +1,31 @@
1
1
  import {
2
2
  CompletionService
3
- } from "../chunk-5TEWZN5J.js";
4
- import "../chunk-MZEGQSKQ.js";
5
- import "../chunk-VVEHS2LI.js";
3
+ } from "../chunk-SWY2LTMR.js";
6
4
  import "../chunk-WTQMX2Q6.js";
7
- import "../chunk-EYGBM2VC.js";
8
- import "../chunk-MZNPGW5Q.js";
9
- import "../chunk-DK4A7DLE.js";
10
- import "../chunk-PAXJGABW.js";
11
- import "../chunk-HN74IGEO.js";
5
+ import "../chunk-MPFOC7AT.js";
12
6
  import "../chunk-V53ZEFXC.js";
13
7
  import "../chunk-7PIUVCKK.js";
14
- import "../chunk-EUZRH544.js";
15
- import "../chunk-LFEH7CEO.js";
8
+ import "../chunk-TKZ3DZS5.js";
16
9
  import "../chunk-FU7EAR73.js";
10
+ import "../chunk-IDPMD4B7.js";
11
+ import "../chunk-K6J2RIEX.js";
12
+ import "../chunk-ZJJBITUN.js";
13
+ import "../chunk-F6P4DIBL.js";
14
+ import "../chunk-OXBGNEYR.js";
17
15
  import "../chunk-QIIAMBTM.js";
18
16
  import "../chunk-FXR6N3SR.js";
19
17
  import "../chunk-AQDON6MB.js";
20
- import "../chunk-ECZ3ZE2C.js";
18
+ import "../chunk-EYGBM2VC.js";
19
+ import "../chunk-MZNPGW5Q.js";
20
+ import "../chunk-DK4A7DLE.js";
21
+ import "../chunk-GFIZ6LQI.js";
22
+ import "../chunk-MZEGQSKQ.js";
23
+ import "../chunk-VVEHS2LI.js";
24
+ import "../chunk-M6PKXP6T.js";
21
25
  import "../chunk-XTEI64OU.js";
22
26
  import "../chunk-XX6NQJMA.js";
23
- import "../chunk-GFIZ6LQI.js";
27
+ import "../chunk-HRBXQ5AC.js";
28
+ import "../chunk-ONTTXSRL.js";
24
29
  import "../chunk-OE6TDIWW.js";
25
30
  import "../chunk-DRWHTIIZ.js";
26
31
  import "../chunk-X335TJNS.js";
@@ -29,10 +34,11 @@ import "../chunk-JWC6APFQ.js";
29
34
  import "../chunk-5ERIZW3D.js";
30
35
  import "../chunk-PO3XB56Z.js";
31
36
  import "../chunk-V2UKUTJ3.js";
32
- import "../chunk-HDXSPXIN.js";
37
+ import "../chunk-ZBDDPWVQ.js";
33
38
  import "../chunk-AVYJ4YBN.js";
34
- import "../chunk-C3NPMQTK.js";
35
39
  import "../chunk-2JYRIADS.js";
40
+ import "../chunk-JHJRZ75C.js";
41
+ import "../chunk-XBQTVRMK.js";
36
42
  import "../chunk-6OKXH2TW.js";
37
43
  import "../chunk-WNY4WMRF.js";
38
44
  import "../chunk-N76KU6F5.js";
@@ -40,23 +46,24 @@ import "../chunk-WLYIIEAF.js";
40
46
  import "../chunk-TKJMZBAH.js";
41
47
  import "../chunk-OZFM4X3S.js";
42
48
  import "../chunk-3QFXFCHG.js";
43
- import "../chunk-QRXOLINS.js";
49
+ import "../chunk-ZMERU7D3.js";
44
50
  import "../chunk-AQ5TNQB7.js";
45
- import "../chunk-XEKD23J5.js";
51
+ import "../chunk-6I4SAWCN.js";
46
52
  import "../chunk-Y7FO65VT.js";
47
53
  import "../chunk-FMOBD2OQ.js";
48
54
  import "../chunk-HUZZZ3JL.js";
49
55
  import "../chunk-H5JUT3KV.js";
50
56
  import "../chunk-5NJLQ6T6.js";
51
- import "../chunk-5GXOYVLB.js";
52
- import "../chunk-R4VCO2CB.js";
57
+ import "../chunk-EE7VP4O3.js";
58
+ import "../chunk-QSOHEDKO.js";
59
+ import "../chunk-YEHQ5FXZ.js";
53
60
  import "../chunk-WYVGULTQ.js";
54
61
  import "../chunk-ZLNHPUFA.js";
55
- import "../chunk-5DJSOFEP.js";
62
+ import "../chunk-NTF7TLT7.js";
56
63
  import "../chunk-3WD4HTR2.js";
57
- import "../chunk-PF7YQBKX.js";
64
+ import "../chunk-FYPKKMB3.js";
58
65
  import "../chunk-GL6XM527.js";
59
- import "../chunk-LQYS2N47.js";
66
+ import "../chunk-4RM22ETG.js";
60
67
  import "../chunk-4JOU54M5.js";
61
68
  import "../chunk-4PFWFODB.js";
62
69
  export {