@codexhost/cli-darwin-x64 0.4.1 → 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.
- package/README.md +1 -1
- package/app/codexhost-distribution.json +1 -1
- package/app/desktop-controller.mjs +209 -671
- package/app/host-runtime.mjs +3062 -1216
- package/app/renderer-extension.js +137 -42
- package/bin/codexhost +0 -0
- package/libexec/codexhost-shim +0 -0
- package/libexec/codexhost-updater +0 -0
- package/package.json +1 -1
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"deepseek-harness",
|
|
15
15
|
"opencode",
|
|
16
16
|
"grok",
|
|
17
|
-
"omp"
|
|
17
|
+
"omp",
|
|
18
|
+
"antigravity"
|
|
18
19
|
];
|
|
19
20
|
var DEFAULT_RENDERER_AGENTS = KNOWN_RENDERER_AGENTS;
|
|
20
21
|
function defaultIdFactory(sequence) {
|
|
@@ -127,6 +128,7 @@
|
|
|
127
128
|
if (agent === "opencode" && model) state.openCodeModel = model;
|
|
128
129
|
if (agent === "grok" && model) state.grokModel = model;
|
|
129
130
|
if (agent === "omp" && model) state.ompModel = model;
|
|
131
|
+
if (agent === "antigravity" && model) state.antigravityModel = model;
|
|
130
132
|
if (agent === "pi" && thinkingOptionId) state.piThinkingOptionId = thinkingOptionId;
|
|
131
133
|
else if (agent === "pi") delete state.piThinkingOptionId;
|
|
132
134
|
if (agent === "claude-code" && thinkingOptionId) {
|
|
@@ -139,6 +141,9 @@
|
|
|
139
141
|
} else if (agent === "opencode") delete state.openCodeThinkingOptionId;
|
|
140
142
|
if (agent === "omp" && thinkingOptionId) state.ompThinkingOptionId = thinkingOptionId;
|
|
141
143
|
else if (agent === "omp") delete state.ompThinkingOptionId;
|
|
144
|
+
if (agent === "antigravity" && thinkingOptionId) {
|
|
145
|
+
state.antigravityThinkingOptionId = thinkingOptionId;
|
|
146
|
+
} else if (agent === "antigravity") delete state.antigravityThinkingOptionId;
|
|
142
147
|
if (agent !== "codex") {
|
|
143
148
|
const permissionModeByAgent = {};
|
|
144
149
|
for (const candidate of [
|
|
@@ -147,7 +152,8 @@
|
|
|
147
152
|
"deepseek-harness",
|
|
148
153
|
"opencode",
|
|
149
154
|
"grok",
|
|
150
|
-
"omp"
|
|
155
|
+
"omp",
|
|
156
|
+
"antigravity"
|
|
151
157
|
]) {
|
|
152
158
|
const current = state.permissionModeByAgent?.[candidate];
|
|
153
159
|
if (candidate !== agent && current) permissionModeByAgent[candidate] = current;
|
|
@@ -168,7 +174,8 @@
|
|
|
168
174
|
if (agent === "deepseek-harness") return state.deepSeekHarnessModel;
|
|
169
175
|
if (agent === "opencode") return state.openCodeModel;
|
|
170
176
|
if (agent === "grok") return state.grokModel;
|
|
171
|
-
return state.ompModel;
|
|
177
|
+
if (agent === "omp") return state.ompModel;
|
|
178
|
+
return state.antigravityModel;
|
|
172
179
|
}
|
|
173
180
|
thinkingOptionForAgent(composer, agent) {
|
|
174
181
|
const state = this.#state(composer);
|
|
@@ -176,7 +183,8 @@
|
|
|
176
183
|
if (agent === "claude-code") return state.claudeThinkingOptionId;
|
|
177
184
|
if (agent === "grok") return state.grokThinkingOptionId;
|
|
178
185
|
if (agent === "opencode") return state.openCodeThinkingOptionId;
|
|
179
|
-
return state.ompThinkingOptionId;
|
|
186
|
+
if (agent === "omp") return state.ompThinkingOptionId;
|
|
187
|
+
return agent === "antigravity" ? state.antigravityThinkingOptionId : void 0;
|
|
180
188
|
}
|
|
181
189
|
permissionModeForAgent(composer, agent) {
|
|
182
190
|
return this.#state(composer).permissionModeByAgent?.[agent];
|
|
@@ -196,7 +204,8 @@
|
|
|
196
204
|
else if (agent === "deepseek-harness") state.deepSeekHarnessModel = model;
|
|
197
205
|
else if (agent === "opencode") state.openCodeModel = model;
|
|
198
206
|
else if (agent === "grok") state.grokModel = model;
|
|
199
|
-
else state.ompModel = model;
|
|
207
|
+
else if (agent === "omp") state.ompModel = model;
|
|
208
|
+
else state.antigravityModel = model;
|
|
200
209
|
return state;
|
|
201
210
|
}
|
|
202
211
|
setPiConfiguration(composer, model, thinkingOptionId) {
|
|
@@ -229,6 +238,10 @@
|
|
|
229
238
|
state.ompThinkingOptionId = thinkingOptionId;
|
|
230
239
|
} else if (agent === "omp") {
|
|
231
240
|
delete state.ompThinkingOptionId;
|
|
241
|
+
} else if (agent === "antigravity" && thinkingOptionId) {
|
|
242
|
+
state.antigravityThinkingOptionId = thinkingOptionId;
|
|
243
|
+
} else if (agent === "antigravity") {
|
|
244
|
+
delete state.antigravityThinkingOptionId;
|
|
232
245
|
}
|
|
233
246
|
return state;
|
|
234
247
|
}
|
|
@@ -15557,6 +15570,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15557
15570
|
// src/assets/grok-agent.png
|
|
15558
15571
|
var grok_agent_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAEk9JREFUeNrtnQdsHEUXx5fee40xnQiQ6b23IAiJAWHACV10AQHRRG8GDJgSOggEGAEBg6gGhAIBQknoppjeezGE3kybb3+je6f1fVdm93Z2Zy870iPmfN67mffmzSv/98bzLIxZZpml2ad2n7p86vWp36cBnwZ9UjlVpcHCWvUX1q6rsJbNnsvD/4ItPnX41Jcz0Rr1Fda4xSXGt/k0MWdO4sSat6XJ+FafpuaMSJ3gQWuSjG/yaUK+8M4RPGmyzfyxPk3LF9tZgjdjbTG/M1/gzFBn3Mzvzhc1c9QdF/N78sXMLPXkO386o5lnnllT3ZogP/OzRzPNNJOac8451bBhw0qFoDOKtZ8vasZ2Pv/uuOOOaoklltDCUPKesWH8/NzVyxjzfdapcePGqa222kr/XMFFbDIRgDzIkzGC4Yceeqg6/fTTKzG/GCwyCe/mi5ox5u+3337q4YcfVvPNN1851V9KrdUEII/tZ4z5e++9t/rmm2/UeuutV2v3F3MH1bJ6+cJmiPnt7e3q77//VieccIIp84XayglAntLNEPO33XZb9dtvv2nVP9tss5mo/iGp5HJgjnxxM8L8TTbZRKv9adOmqVVWWSXs7hdqCQpAR7642WD+hhtuqD777DPFOProo6MyH+oICkAO48oY8ydNmqTmmmuusKp/CLwsCOCcbgImLBg044wz6kUtpRlmmKH4npJwaqrMX3PNNdXHH3+smf/zzz+HsfqrUbNXQJw2dIQsyFx2zSKLLKKWWWYZtfrqq+uFFFpttdXUsssuqxZeeGE199xz6/cH/z4NgeBzV1hhBfX2228rGeecc04czIfavQLsuKESIsIwmI2RNGbMGHX++eere++9V73wwgvq888/Vz/88IP69ddf1e+//16kX375Rb+Omn3xxRf1+y+44AK1++67q1VXXVU/T55dh+oNxfyll15avfzyy0XmIwiLLbaY1mAxfEaXV8CeN8QZCS244IJq9OjR6tJLL1V9fX2aqeXGf//9p+nff/8tkrxWbvCcV155RV1++eVq1KhR+nPkM23NZ6mlllLPPfec/nz5fvvvv3+cn9nrFQoQMq3iUdXrrLOOuuiii9S77747hIn8/M8//9RNpc9855139Oet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";
|
|
15559
15572
|
|
|
15573
|
+
// src/assets/antigravity-agent.svg
|
|
15574
|
+
var antigravity_agent_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -1 28 28"><path d="M21.751 22.607c1.34 1.005 3.35.335 1.508-1.508C17.73 15.74 18.904 1 12.037 1 5.17 1 6.342 15.74.815 21.1c-2.01 2.009.167 2.511 1.507 1.506 5.192-3.517 4.857-9.714 9.715-9.714 4.857 0 4.522 6.197 9.714 9.715z" fill="url(%23ag)"/><defs><linearGradient id="ag" x1="2" y1="12" x2="22" y2="12" gradientUnits="userSpaceOnUse"><stop stop-color="%234285F4"/><stop offset=".33" stop-color="%23EA4335"/><stop offset=".66" stop-color="%23FBBC04"/><stop offset="1" stop-color="%2334A853"/></linearGradient></defs></svg>%0A';
|
|
15575
|
+
|
|
15560
15576
|
// src/assets/omp-agent.svg
|
|
15561
15577
|
var omp_agent_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">%0A <defs>%0A <linearGradient id="omp-gradient" x1="0" y1="0" x2="1" y2="1">%0A <stop offset="0" stop-color="%23ed4abf" />%0A <stop offset=".5" stop-color="%239b4dff" />%0A <stop offset="1" stop-color="%235ad8e6" />%0A </linearGradient>%0A </defs>%0A <path%0A fill="url(%23omp-gradient)"%0A transform="translate(-14.4 -20.2) scale(1.45)"%0A d="M14 16h36v8H40v32h-8V24h-6v22h-8V24h-4z"%0A />%0A</svg>%0A';
|
|
15562
15578
|
|
|
@@ -15571,7 +15587,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15571
15587
|
"deepseek-harness": "DeepSeek Harness",
|
|
15572
15588
|
opencode: "OpenCode",
|
|
15573
15589
|
grok: "Grok",
|
|
15574
|
-
omp: "Oh My Pi"
|
|
15590
|
+
omp: "Oh My Pi",
|
|
15591
|
+
antigravity: "Antigravity CLI"
|
|
15575
15592
|
};
|
|
15576
15593
|
var PI_PATHS = [
|
|
15577
15594
|
{
|
|
@@ -15646,6 +15663,17 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15646
15663
|
image.style.flex = "none";
|
|
15647
15664
|
return image;
|
|
15648
15665
|
}
|
|
15666
|
+
if (agent === "antigravity") {
|
|
15667
|
+
const image = ownerDocument.createElement("img");
|
|
15668
|
+
image.src = antigravity_agent_default;
|
|
15669
|
+
image.alt = "";
|
|
15670
|
+
image.draggable = false;
|
|
15671
|
+
image.style.width = `${size}px`;
|
|
15672
|
+
image.style.height = `${size}px`;
|
|
15673
|
+
image.style.objectFit = "contain";
|
|
15674
|
+
image.style.flex = "none";
|
|
15675
|
+
return image;
|
|
15676
|
+
}
|
|
15649
15677
|
const mark = ownerDocument.createElement("img");
|
|
15650
15678
|
mark.src = grok_agent_default;
|
|
15651
15679
|
mark.alt = "";
|
|
@@ -15971,7 +15999,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15971
15999
|
"deepseek-harness": "https://deepseek-harness.github.io/deepseek-harness/",
|
|
15972
16000
|
opencode: "https://opencode.ai/docs/",
|
|
15973
16001
|
grok: "https://grok.com/",
|
|
15974
|
-
omp: "https://github.com/can1357/oh-my-pi"
|
|
16002
|
+
omp: "https://github.com/can1357/oh-my-pi",
|
|
16003
|
+
antigravity: "https://antigravity.google/product/antigravity-cli"
|
|
15975
16004
|
});
|
|
15976
16005
|
function connectionStatusLabel(availability, messages, hasError = false) {
|
|
15977
16006
|
if (hasError && availability !== "notInstalled") return messages.connectionStatusError;
|
|
@@ -16983,7 +17012,8 @@ ${error51.stderrTail}`] : []
|
|
|
16983
17012
|
"deepseek-harness": "https://github.com/deepseek-ai/deepseek-harness",
|
|
16984
17013
|
opencode: "https://opencode.ai/docs/",
|
|
16985
17014
|
grok: "https://grok.com/",
|
|
16986
|
-
omp: "https://github.com/can1357/oh-my-pi"
|
|
17015
|
+
omp: "https://github.com/can1357/oh-my-pi",
|
|
17016
|
+
antigravity: "https://antigravity.google/product/antigravity-cli"
|
|
16987
17017
|
};
|
|
16988
17018
|
var CONTROL_ATTRIBUTE = "data-codexhost-agent-control";
|
|
16989
17019
|
var AGENT_MENU_WIDTH = 200;
|
|
@@ -20065,6 +20095,7 @@ ${error51.stderrTail}`] : []
|
|
|
20065
20095
|
if (ownership.harnessId === "opencode") return "opencode";
|
|
20066
20096
|
if (ownership.harnessId === "grok") return "grok";
|
|
20067
20097
|
if (ownership.harnessId === "omp") return "omp";
|
|
20098
|
+
if (ownership.harnessId === "antigravity") return "antigravity";
|
|
20068
20099
|
return null;
|
|
20069
20100
|
}
|
|
20070
20101
|
var BrowserSidebarAgentIconRow = class {
|
|
@@ -20179,11 +20210,12 @@ ${error51.stderrTail}`] : []
|
|
|
20179
20210
|
if (timer !== void 0) clearTimeout(timer);
|
|
20180
20211
|
ownershipRetryTimers.delete(key);
|
|
20181
20212
|
ownershipRetryAttempts.delete(key);
|
|
20213
|
+
failed.delete(key);
|
|
20182
20214
|
provisionalCodex.delete(key);
|
|
20183
20215
|
};
|
|
20184
20216
|
const scheduleOwnershipRetry = (hostId, threadId) => {
|
|
20185
20217
|
const key = ownershipKey(hostId, threadId);
|
|
20186
|
-
if (disposed || !provisionalCodex.has(key) || pending.has(key) || ownershipRetryTimers.has(key)) {
|
|
20218
|
+
if (disposed || !failed.has(key) && !provisionalCodex.has(key) || pending.has(key) || ownershipRetryTimers.has(key)) {
|
|
20187
20219
|
return;
|
|
20188
20220
|
}
|
|
20189
20221
|
const attempt = ownershipRetryAttempts.get(key) ?? 0;
|
|
@@ -20278,7 +20310,14 @@ ${error51.stderrTail}`] : []
|
|
|
20278
20310
|
}
|
|
20279
20311
|
for (const [hostId, unresolved] of unresolvedByHost) {
|
|
20280
20312
|
const client = options.getClient(hostId);
|
|
20281
|
-
if (!client)
|
|
20313
|
+
if (!client) {
|
|
20314
|
+
for (const threadId of unresolved) {
|
|
20315
|
+
const key = ownershipKey(hostId, threadId);
|
|
20316
|
+
failed.add(key);
|
|
20317
|
+
scheduleOwnershipRetry(hostId, threadId);
|
|
20318
|
+
}
|
|
20319
|
+
continue;
|
|
20320
|
+
}
|
|
20282
20321
|
const threadIds = [...unresolved];
|
|
20283
20322
|
for (let index = 0; index < threadIds.length; index += THREAD_OWNERSHIP_LIST_MAX_LENGTH) {
|
|
20284
20323
|
requestOwnership(
|
|
@@ -20294,13 +20333,11 @@ ${error51.stderrTail}`] : []
|
|
|
20294
20333
|
return {
|
|
20295
20334
|
refresh() {
|
|
20296
20335
|
failed.clear();
|
|
20297
|
-
for (const
|
|
20298
|
-
|
|
20299
|
-
|
|
20300
|
-
|
|
20301
|
-
|
|
20302
|
-
ownershipByThread.delete(key);
|
|
20303
|
-
}
|
|
20336
|
+
for (const timer of ownershipRetryTimers.values()) clearTimeout(timer);
|
|
20337
|
+
ownershipRetryTimers.clear();
|
|
20338
|
+
ownershipRetryAttempts.clear();
|
|
20339
|
+
for (const key of provisionalCodex) ownershipByThread.delete(key);
|
|
20340
|
+
provisionalCodex.clear();
|
|
20304
20341
|
scheduleScan();
|
|
20305
20342
|
},
|
|
20306
20343
|
dispose() {
|
|
@@ -20656,6 +20693,8 @@ ${error51.stderrTail}`] : []
|
|
|
20656
20693
|
var GROK_TRANSPORT_MODEL_PREFIX = `${GROK_TRANSPORT_MODEL_ID}@`;
|
|
20657
20694
|
var OMP_TRANSPORT_MODEL_ID = "codexhost/omp-native";
|
|
20658
20695
|
var OMP_TRANSPORT_MODEL_PREFIX = `${OMP_TRANSPORT_MODEL_ID}@`;
|
|
20696
|
+
var ANTIGRAVITY_TRANSPORT_MODEL_ID = "codexhost/antigravity-native";
|
|
20697
|
+
var ANTIGRAVITY_TRANSPORT_MODEL_PREFIX = `${ANTIGRAVITY_TRANSPORT_MODEL_ID}@`;
|
|
20659
20698
|
function transitionRendererAdapterStatus(current, next, publish) {
|
|
20660
20699
|
if (current.state === next.state && current.reason === next.reason && current.hook === next.hook) {
|
|
20661
20700
|
return false;
|
|
@@ -20675,6 +20714,7 @@ ${error51.stderrTail}`] : []
|
|
|
20675
20714
|
if (agent === "opencode") return OPENCODE_TRANSPORT_MODEL_ID;
|
|
20676
20715
|
if (agent === "grok") return GROK_TRANSPORT_MODEL_ID;
|
|
20677
20716
|
if (agent === "omp") return OMP_TRANSPORT_MODEL_ID;
|
|
20717
|
+
if (agent === "antigravity") return ANTIGRAVITY_TRANSPORT_MODEL_ID;
|
|
20678
20718
|
return null;
|
|
20679
20719
|
}
|
|
20680
20720
|
function isRecord5(value) {
|
|
@@ -20689,15 +20729,36 @@ ${error51.stderrTail}`] : []
|
|
|
20689
20729
|
const parsedThinking = thinkingOptionId ? harnessThinkingOptionIdSchema.parse(thinkingOptionId) : void 0;
|
|
20690
20730
|
return `${PI_TRANSPORT_MODEL_PREFIX}${parsedModel.id}${parsedThinking ? `@${parsedThinking}` : ""}`;
|
|
20691
20731
|
}
|
|
20692
|
-
function ompTransportModelId(model, thinkingOptionId) {
|
|
20732
|
+
function ompTransportModelId(model, thinkingOptionId, permissionModeId) {
|
|
20693
20733
|
if (!model) {
|
|
20694
|
-
if (thinkingOptionId)
|
|
20734
|
+
if (permissionModeId || thinkingOptionId) {
|
|
20735
|
+
throw new Error("OMP transport configuration requires a Model Ref");
|
|
20736
|
+
}
|
|
20695
20737
|
return OMP_TRANSPORT_MODEL_ID;
|
|
20696
20738
|
}
|
|
20697
20739
|
const parsedModel = harnessModelRefSchema.parse(model);
|
|
20740
|
+
const parsedPermissionMode = permissionModeId ? harnessPermissionModeIdSchema.parse(permissionModeId) : void 0;
|
|
20698
20741
|
const parsedThinking = thinkingOptionId ? harnessThinkingOptionIdSchema.parse(thinkingOptionId) : void 0;
|
|
20742
|
+
if (parsedPermissionMode) {
|
|
20743
|
+
return `${OMP_TRANSPORT_MODEL_PREFIX}${parsedModel.id}@${parsedPermissionMode}@${parsedThinking ?? ""}`;
|
|
20744
|
+
}
|
|
20699
20745
|
return `${OMP_TRANSPORT_MODEL_PREFIX}${parsedModel.id}${parsedThinking ? `@${parsedThinking}` : ""}`;
|
|
20700
20746
|
}
|
|
20747
|
+
function antigravityTransportModelId(model, permissionModeId, thinkingOptionId) {
|
|
20748
|
+
if (!model) {
|
|
20749
|
+
if (permissionModeId || thinkingOptionId) {
|
|
20750
|
+
throw new Error("Antigravity transport configuration requires a Model Ref");
|
|
20751
|
+
}
|
|
20752
|
+
return ANTIGRAVITY_TRANSPORT_MODEL_ID;
|
|
20753
|
+
}
|
|
20754
|
+
const parsedModel = harnessModelRefSchema.parse(model);
|
|
20755
|
+
const parsedPermission = permissionModeId ? harnessPermissionModeIdSchema.parse(permissionModeId) : void 0;
|
|
20756
|
+
const parsedThinking = thinkingOptionId ? harnessThinkingOptionIdSchema.parse(thinkingOptionId) : void 0;
|
|
20757
|
+
if (parsedThinking) {
|
|
20758
|
+
return `${ANTIGRAVITY_TRANSPORT_MODEL_PREFIX}${parsedModel.id}@${parsedPermission ?? ""}@${parsedThinking}`;
|
|
20759
|
+
}
|
|
20760
|
+
return `${ANTIGRAVITY_TRANSPORT_MODEL_PREFIX}${parsedModel.id}${parsedPermission ? `@${parsedPermission}` : ""}`;
|
|
20761
|
+
}
|
|
20701
20762
|
function openCodeTransportModelId(model, permissionModeId, thinkingOptionId) {
|
|
20702
20763
|
if (!model) {
|
|
20703
20764
|
if (permissionModeId || thinkingOptionId) {
|
|
@@ -20853,14 +20914,42 @@ ${error51.stderrTail}`] : []
|
|
|
20853
20914
|
if (value === OMP_TRANSPORT_MODEL_ID) return {};
|
|
20854
20915
|
if (typeof value !== "string" || !value.startsWith(OMP_TRANSPORT_MODEL_PREFIX)) return null;
|
|
20855
20916
|
const components = value.slice(OMP_TRANSPORT_MODEL_PREFIX.length).split("@");
|
|
20856
|
-
if (components.length < 1 || components.length >
|
|
20857
|
-
const [modelId, thinkingOptionId] = components;
|
|
20858
|
-
if (components.length === 2 && !
|
|
20917
|
+
if (components.length < 1 || components.length > 3) return null;
|
|
20918
|
+
const [modelId, permissionOrThinkingId, thinkingOptionId] = components;
|
|
20919
|
+
if (components.length === 2 && !permissionOrThinkingId) return null;
|
|
20920
|
+
if (components.length === 3 && !permissionOrThinkingId) return null;
|
|
20859
20921
|
const model = harnessModelRefSchema.safeParse({ id: modelId });
|
|
20860
20922
|
if (!model.success) return null;
|
|
20923
|
+
const permissionMode = components.length === 3 ? harnessPermissionModeIdSchema.safeParse(permissionOrThinkingId) : null;
|
|
20924
|
+
if (permissionMode && !permissionMode.success) return null;
|
|
20925
|
+
const thinking = components.length === 2 ? harnessThinkingOptionIdSchema.safeParse(permissionOrThinkingId) : thinkingOptionId ? harnessThinkingOptionIdSchema.safeParse(thinkingOptionId) : null;
|
|
20926
|
+
if (thinking && !thinking.success) return null;
|
|
20927
|
+
return {
|
|
20928
|
+
model: model.data,
|
|
20929
|
+
...permissionMode?.success ? { permissionModeId: permissionMode.data } : {},
|
|
20930
|
+
...thinking?.success ? { thinkingOptionId: thinking.data } : {}
|
|
20931
|
+
};
|
|
20932
|
+
}
|
|
20933
|
+
function decodeAntigravityTransportModelId(value) {
|
|
20934
|
+
if (value === ANTIGRAVITY_TRANSPORT_MODEL_ID) return {};
|
|
20935
|
+
if (typeof value !== "string" || !value.startsWith(ANTIGRAVITY_TRANSPORT_MODEL_PREFIX)) {
|
|
20936
|
+
return null;
|
|
20937
|
+
}
|
|
20938
|
+
const components = value.slice(ANTIGRAVITY_TRANSPORT_MODEL_PREFIX.length).split("@");
|
|
20939
|
+
if (components.length < 1 || components.length > 3) return null;
|
|
20940
|
+
const [modelId, permissionModeId, thinkingOptionId] = components;
|
|
20941
|
+
if (components.length === 2 && !permissionModeId) return null;
|
|
20942
|
+
if (components.length === 3 && !thinkingOptionId) return null;
|
|
20943
|
+
const model = harnessModelRefSchema.safeParse({ id: modelId });
|
|
20944
|
+
const permission = permissionModeId ? harnessPermissionModeIdSchema.safeParse(permissionModeId) : null;
|
|
20945
|
+
if (!model.success || permission && !permission.success) return null;
|
|
20861
20946
|
const thinking = thinkingOptionId ? harnessThinkingOptionIdSchema.safeParse(thinkingOptionId) : null;
|
|
20862
20947
|
if (thinking && !thinking.success) return null;
|
|
20863
|
-
return {
|
|
20948
|
+
return {
|
|
20949
|
+
model: model.data,
|
|
20950
|
+
...permission?.success ? { permissionModeId: permission.data } : {},
|
|
20951
|
+
...thinking?.success ? { thinkingOptionId: thinking.data } : {}
|
|
20952
|
+
};
|
|
20864
20953
|
}
|
|
20865
20954
|
function threadIdFromComposerModelTarget(target) {
|
|
20866
20955
|
if (target?.[0] !== "conversation" || typeof target[1] !== "string" || target[1].trim().length === 0) {
|
|
@@ -20997,9 +21086,6 @@ ${error51.stderrTail}`] : []
|
|
|
20997
21086
|
if (draftIds.size !== 1) return null;
|
|
20998
21087
|
return ["default", draftIds.values().next().value];
|
|
20999
21088
|
}
|
|
21000
|
-
function isMainProcessTitlePolicyReady(value) {
|
|
21001
|
-
return isRecord5(value) && value.state === "ready";
|
|
21002
|
-
}
|
|
21003
21089
|
function isDraftPrewarmPolicyReady(value) {
|
|
21004
21090
|
return isRecord5(value) && value.state === "ready" && typeof value.hostId === "string" && value.hostId.length > 0 && typeof value.select === "function" && typeof value.clear === "function";
|
|
21005
21091
|
}
|
|
@@ -21071,7 +21157,7 @@ ${error51.stderrTail}`] : []
|
|
|
21071
21157
|
}
|
|
21072
21158
|
}
|
|
21073
21159
|
function modelSelectionForAgent(officialSelection, reasoningEffort, agent, model, thinkingOptionId, permissionModeId) {
|
|
21074
|
-
const transportModelId = agent === "pi" ? piTransportModelId(model, thinkingOptionId) : agent === "claude-code" ? claudeTransportModelId(model, permissionModeId, thinkingOptionId) : agent === "deepseek-harness" ? deepSeekHarnessTransportModelId(model, permissionModeId) : agent === "opencode" ? openCodeTransportModelId(model, permissionModeId, thinkingOptionId) : agent === "grok" ? grokTransportModelId(model, permissionModeId, thinkingOptionId) : agent === "omp" ? ompTransportModelId(model, thinkingOptionId) : transportModelIdForAgent(agent);
|
|
21160
|
+
const transportModelId = agent === "pi" ? piTransportModelId(model, thinkingOptionId) : agent === "claude-code" ? claudeTransportModelId(model, permissionModeId, thinkingOptionId) : agent === "deepseek-harness" ? deepSeekHarnessTransportModelId(model, permissionModeId) : agent === "opencode" ? openCodeTransportModelId(model, permissionModeId, thinkingOptionId) : agent === "grok" ? grokTransportModelId(model, permissionModeId, thinkingOptionId) : agent === "omp" ? ompTransportModelId(model, thinkingOptionId, permissionModeId) : agent === "antigravity" ? antigravityTransportModelId(model, permissionModeId, thinkingOptionId) : transportModelIdForAgent(agent);
|
|
21075
21161
|
return transportModelId ? { model: transportModelId, reasoningEffort } : officialSelection;
|
|
21076
21162
|
}
|
|
21077
21163
|
function installCurrentRendererAdapter() {
|
|
@@ -21089,13 +21175,6 @@ ${error51.stderrTail}`] : []
|
|
|
21089
21175
|
window.dispatchEvent(new CustomEvent("codexhost:renderer-adapter-status"));
|
|
21090
21176
|
});
|
|
21091
21177
|
};
|
|
21092
|
-
const unsupportedResult = () => ({
|
|
21093
|
-
status: liveStatus,
|
|
21094
|
-
modelControl: null,
|
|
21095
|
-
applyAgent: () => false,
|
|
21096
|
-
dispose() {
|
|
21097
|
-
}
|
|
21098
|
-
});
|
|
21099
21178
|
const usageSubscription = createThreadUsageSubscriptionRelay();
|
|
21100
21179
|
const requestRouteResolver = createRendererRequestRouteResolver(
|
|
21101
21180
|
() => window.__codexhostDraftPrewarmPolicyV1,
|
|
@@ -21157,10 +21236,6 @@ ${error51.stderrTail}`] : []
|
|
|
21157
21236
|
startUpdate: () => currentModelClient().startUpdate(),
|
|
21158
21237
|
readUpdateStatus: () => currentModelClient().readUpdateStatus()
|
|
21159
21238
|
});
|
|
21160
|
-
if (!isMainProcessTitlePolicyReady(window.__codexhostMainProcessTitlePolicyV1)) {
|
|
21161
|
-
updateStatus("unsupported", "title-policy-unavailable", null);
|
|
21162
|
-
return unsupportedResult();
|
|
21163
|
-
}
|
|
21164
21239
|
const forkControl = installRendererForkControl({
|
|
21165
21240
|
getClient: () => modelControl,
|
|
21166
21241
|
reportError: (error51) => {
|
|
@@ -23006,7 +23081,8 @@ ${error51.stderrTail}`] : []
|
|
|
23006
23081
|
"deepseek-harness": harnessIdSchema.parse("deepseek-harness"),
|
|
23007
23082
|
opencode: harnessIdSchema.parse("opencode"),
|
|
23008
23083
|
grok: harnessIdSchema.parse("grok"),
|
|
23009
|
-
omp: harnessIdSchema.parse("omp")
|
|
23084
|
+
omp: harnessIdSchema.parse("omp"),
|
|
23085
|
+
antigravity: harnessIdSchema.parse("antigravity")
|
|
23010
23086
|
};
|
|
23011
23087
|
var externalAgents = [
|
|
23012
23088
|
"pi",
|
|
@@ -23014,7 +23090,8 @@ ${error51.stderrTail}`] : []
|
|
|
23014
23090
|
"deepseek-harness",
|
|
23015
23091
|
"opencode",
|
|
23016
23092
|
"grok",
|
|
23017
|
-
"omp"
|
|
23093
|
+
"omp",
|
|
23094
|
+
"antigravity"
|
|
23018
23095
|
];
|
|
23019
23096
|
function isRetryableHarnessAvailability(availability, error51) {
|
|
23020
23097
|
return availability !== void 0 && availability !== "ready" && availability !== "notInstalled" && error51?.retryable === true;
|
|
@@ -23115,10 +23192,12 @@ ${error51.stderrTail}`] : []
|
|
|
23115
23192
|
if (!transportSelection) throw new Error("OMP Thread reported an incompatible transport Model");
|
|
23116
23193
|
const model = inspection.effectiveModel ?? transportSelection.model;
|
|
23117
23194
|
const thinkingOptionId = selectableThinkingOptionId(inspection) ?? transportSelection.thinkingOptionId;
|
|
23195
|
+
const permissionModeId = inspection.effectivePermissionModeId ?? transportSelection.permissionModeId;
|
|
23118
23196
|
return {
|
|
23119
23197
|
agent: "omp",
|
|
23120
23198
|
...model ? { model } : {},
|
|
23121
|
-
...thinkingOptionId ? { thinkingOptionId } : {}
|
|
23199
|
+
...thinkingOptionId ? { thinkingOptionId } : {},
|
|
23200
|
+
...permissionModeId ? { permissionModeId } : {}
|
|
23122
23201
|
};
|
|
23123
23202
|
}
|
|
23124
23203
|
if (inspection.harnessId === "claude-code") {
|
|
@@ -23164,6 +23243,21 @@ ${error51.stderrTail}`] : []
|
|
|
23164
23243
|
...permissionModeId ? { permissionModeId } : {}
|
|
23165
23244
|
};
|
|
23166
23245
|
}
|
|
23246
|
+
if (inspection.harnessId === "antigravity") {
|
|
23247
|
+
const transportSelection = decodeAntigravityTransportModelId(inspection.transportModelId);
|
|
23248
|
+
if (!transportSelection) {
|
|
23249
|
+
throw new Error("Antigravity Thread reported an incompatible transport Model");
|
|
23250
|
+
}
|
|
23251
|
+
const model = inspection.effectiveModel ?? transportSelection.model;
|
|
23252
|
+
const thinkingOptionId = selectableThinkingOptionId(inspection) ?? transportSelection.thinkingOptionId;
|
|
23253
|
+
const permissionModeId = inspection.effectivePermissionModeId ?? transportSelection.permissionModeId;
|
|
23254
|
+
return {
|
|
23255
|
+
agent: "antigravity",
|
|
23256
|
+
...model ? { model } : {},
|
|
23257
|
+
...thinkingOptionId ? { thinkingOptionId } : {},
|
|
23258
|
+
...permissionModeId ? { permissionModeId } : {}
|
|
23259
|
+
};
|
|
23260
|
+
}
|
|
23167
23261
|
throw new Error("Thread owner is not a Renderer Agent");
|
|
23168
23262
|
}
|
|
23169
23263
|
function isOwnershipSubmissionBlocked(status) {
|
|
@@ -23290,7 +23384,8 @@ ${error51.stderrTail}`] : []
|
|
|
23290
23384
|
"deepseek-harness": void 0,
|
|
23291
23385
|
opencode: void 0,
|
|
23292
23386
|
grok: void 0,
|
|
23293
|
-
omp: void 0
|
|
23387
|
+
omp: void 0,
|
|
23388
|
+
antigravity: void 0
|
|
23294
23389
|
},
|
|
23295
23390
|
requestGeneration: 0,
|
|
23296
23391
|
request: null,
|
package/bin/codexhost
CHANGED
|
Binary file
|
package/libexec/codexhost-shim
CHANGED
|
Binary file
|
|
Binary file
|