@codexhost/cli-darwin-x64 0.3.3 → 0.3.5
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 +2 -36
- package/app/host-runtime.mjs +5496 -1532
- package/app/renderer-extension.js +133 -86
- package/bin/codexhost +0 -0
- package/libexec/codexhost-shim +0 -0
- package/libexec/codexhost-updater +0 -0
- package/package.json +1 -1
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"pi",
|
|
13
13
|
"claude-code",
|
|
14
14
|
"deepseek-harness",
|
|
15
|
-
"grok"
|
|
15
|
+
"grok",
|
|
16
|
+
"omp"
|
|
16
17
|
];
|
|
17
18
|
var DEFAULT_RENDERER_AGENTS = KNOWN_RENDERER_AGENTS;
|
|
18
19
|
function defaultIdFactory(sequence) {
|
|
@@ -123,6 +124,7 @@
|
|
|
123
124
|
if (agent === "claude-code" && model) state.claudeModel = model;
|
|
124
125
|
if (agent === "deepseek-harness" && model) state.deepSeekHarnessModel = model;
|
|
125
126
|
if (agent === "grok" && model) state.grokModel = model;
|
|
127
|
+
if (agent === "omp" && model) state.ompModel = model;
|
|
126
128
|
if (agent === "pi" && thinkingOptionId) state.piThinkingOptionId = thinkingOptionId;
|
|
127
129
|
else if (agent === "pi") delete state.piThinkingOptionId;
|
|
128
130
|
if (agent === "claude-code" && thinkingOptionId) {
|
|
@@ -130,9 +132,11 @@
|
|
|
130
132
|
} else if (agent === "claude-code") delete state.claudeThinkingOptionId;
|
|
131
133
|
if (agent === "grok" && thinkingOptionId) state.grokThinkingOptionId = thinkingOptionId;
|
|
132
134
|
else if (agent === "grok") delete state.grokThinkingOptionId;
|
|
135
|
+
if (agent === "omp" && thinkingOptionId) state.ompThinkingOptionId = thinkingOptionId;
|
|
136
|
+
else if (agent === "omp") delete state.ompThinkingOptionId;
|
|
133
137
|
if (agent !== "codex") {
|
|
134
138
|
const permissionModeByAgent = {};
|
|
135
|
-
for (const candidate of ["pi", "claude-code", "deepseek-harness", "grok"]) {
|
|
139
|
+
for (const candidate of ["pi", "claude-code", "deepseek-harness", "grok", "omp"]) {
|
|
136
140
|
const current = state.permissionModeByAgent?.[candidate];
|
|
137
141
|
if (candidate !== agent && current) permissionModeByAgent[candidate] = current;
|
|
138
142
|
}
|
|
@@ -150,13 +154,15 @@
|
|
|
150
154
|
if (agent === "pi") return state.piModel;
|
|
151
155
|
if (agent === "claude-code") return state.claudeModel;
|
|
152
156
|
if (agent === "deepseek-harness") return state.deepSeekHarnessModel;
|
|
153
|
-
|
|
157
|
+
if (agent === "grok") return state.grokModel;
|
|
158
|
+
return state.ompModel;
|
|
154
159
|
}
|
|
155
160
|
thinkingOptionForAgent(composer, agent) {
|
|
156
161
|
const state = this.#state(composer);
|
|
157
162
|
if (agent === "pi") return state.piThinkingOptionId;
|
|
158
163
|
if (agent === "claude-code") return state.claudeThinkingOptionId;
|
|
159
|
-
|
|
164
|
+
if (agent === "grok") return state.grokThinkingOptionId;
|
|
165
|
+
return state.ompThinkingOptionId;
|
|
160
166
|
}
|
|
161
167
|
permissionModeForAgent(composer, agent) {
|
|
162
168
|
return this.#state(composer).permissionModeByAgent?.[agent];
|
|
@@ -174,7 +180,8 @@
|
|
|
174
180
|
if (agent === "pi") state.piModel = model;
|
|
175
181
|
else if (agent === "claude-code") state.claudeModel = model;
|
|
176
182
|
else if (agent === "deepseek-harness") state.deepSeekHarnessModel = model;
|
|
177
|
-
else state.grokModel = model;
|
|
183
|
+
else if (agent === "grok") state.grokModel = model;
|
|
184
|
+
else state.ompModel = model;
|
|
178
185
|
return state;
|
|
179
186
|
}
|
|
180
187
|
setPiConfiguration(composer, model, thinkingOptionId) {
|
|
@@ -199,6 +206,10 @@
|
|
|
199
206
|
state.grokThinkingOptionId = thinkingOptionId;
|
|
200
207
|
} else if (agent === "grok") {
|
|
201
208
|
delete state.grokThinkingOptionId;
|
|
209
|
+
} else if (agent === "omp" && thinkingOptionId) {
|
|
210
|
+
state.ompThinkingOptionId = thinkingOptionId;
|
|
211
|
+
} else if (agent === "omp") {
|
|
212
|
+
delete state.ompThinkingOptionId;
|
|
202
213
|
}
|
|
203
214
|
return state;
|
|
204
215
|
}
|
|
@@ -15003,7 +15014,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15003
15014
|
productUsage: external_exports.array(accountCreditsProductUsageSchema).min(1).optional()
|
|
15004
15015
|
}).strict();
|
|
15005
15016
|
var threadUsageInspectionParamsSchema = external_exports.object({
|
|
15006
|
-
threadId: hostThreadIdSchema
|
|
15017
|
+
threadId: hostThreadIdSchema,
|
|
15018
|
+
refresh: external_exports.literal("exact").optional()
|
|
15007
15019
|
}).strict();
|
|
15008
15020
|
var threadUsageInspectionSchema = external_exports.object({
|
|
15009
15021
|
threadId: hostThreadIdSchema,
|
|
@@ -15416,13 +15428,17 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15416
15428
|
// src/assets/grok-agent.png
|
|
15417
15429
|
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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";
|
|
15418
15430
|
|
|
15431
|
+
// src/assets/omp-agent.svg
|
|
15432
|
+
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';
|
|
15433
|
+
|
|
15419
15434
|
// src/renderer-agent-icon.ts
|
|
15420
15435
|
var RENDERER_AGENT_LABELS = {
|
|
15421
15436
|
codex: "Codex",
|
|
15422
15437
|
pi: "Pi",
|
|
15423
15438
|
"claude-code": "Claude Code",
|
|
15424
15439
|
"deepseek-harness": "DeepSeek Harness",
|
|
15425
|
-
grok: "Grok"
|
|
15440
|
+
grok: "Grok",
|
|
15441
|
+
omp: "Oh My Pi"
|
|
15426
15442
|
};
|
|
15427
15443
|
var PI_PATHS = [
|
|
15428
15444
|
{
|
|
@@ -15474,6 +15490,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15474
15490
|
"0 0 23.16 17.04"
|
|
15475
15491
|
);
|
|
15476
15492
|
}
|
|
15493
|
+
if (agent === "omp") {
|
|
15494
|
+
const image = ownerDocument.createElement("img");
|
|
15495
|
+
image.src = omp_agent_default;
|
|
15496
|
+
image.alt = "";
|
|
15497
|
+
image.draggable = false;
|
|
15498
|
+
image.style.width = `${size}px`;
|
|
15499
|
+
image.style.height = `${size}px`;
|
|
15500
|
+
image.style.objectFit = "contain";
|
|
15501
|
+
image.style.borderRadius = "22.37%";
|
|
15502
|
+
image.style.flex = "none";
|
|
15503
|
+
return image;
|
|
15504
|
+
}
|
|
15477
15505
|
const mark = ownerDocument.createElement("img");
|
|
15478
15506
|
mark.src = grok_agent_default;
|
|
15479
15507
|
mark.alt = "";
|
|
@@ -15491,7 +15519,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15491
15519
|
pi: "https://pi.dev/",
|
|
15492
15520
|
"claude-code": "https://code.claude.com/docs/en/quickstart",
|
|
15493
15521
|
"deepseek-harness": "https://github.com/deepseek-ai/deepseek-harness",
|
|
15494
|
-
grok: "https://grok.com/"
|
|
15522
|
+
grok: "https://grok.com/",
|
|
15523
|
+
omp: "https://github.com/can1357/oh-my-pi"
|
|
15495
15524
|
};
|
|
15496
15525
|
var CONTROL_ATTRIBUTE = "data-codexhost-agent-control";
|
|
15497
15526
|
var AGENT_MENU_WIDTH = 200;
|
|
@@ -16975,12 +17004,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
16975
17004
|
control.trigger.setAttribute("aria-expanded", "false");
|
|
16976
17005
|
}
|
|
16977
17006
|
function openPopover(control) {
|
|
17007
|
+
const wasOpen = control.trigger.getAttribute("aria-expanded") === "true";
|
|
16978
17008
|
positionPopover(control);
|
|
16979
17009
|
control.popover.hidden = false;
|
|
16980
17010
|
if (typeof control.popover.showPopover === "function" && !popoverIsOpen(control.popover)) {
|
|
16981
17011
|
control.popover.showPopover();
|
|
16982
17012
|
}
|
|
16983
17013
|
control.trigger.setAttribute("aria-expanded", "true");
|
|
17014
|
+
if (!wasOpen) control.onOpen?.();
|
|
16984
17015
|
}
|
|
16985
17016
|
function togglePopover(control) {
|
|
16986
17017
|
if (control.trigger.getAttribute("aria-expanded") === "true") closePopover(control);
|
|
@@ -17045,6 +17076,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
17045
17076
|
popover,
|
|
17046
17077
|
anchor: null,
|
|
17047
17078
|
label,
|
|
17079
|
+
onOpen: null,
|
|
17048
17080
|
dispose() {
|
|
17049
17081
|
closePopover(control);
|
|
17050
17082
|
if (closeTimer !== null) window.clearTimeout(closeTimer);
|
|
@@ -17971,7 +18003,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
17971
18003
|
function usagePlacementAnchor(control) {
|
|
17972
18004
|
const context = control.nativeContextUsageControl?.element;
|
|
17973
18005
|
const contextWrapper = context?.parentElement;
|
|
17974
|
-
|
|
18006
|
+
if (contextWrapper?.parentElement) return contextWrapper;
|
|
18007
|
+
const modelRoot = control.modelPicker?.root;
|
|
18008
|
+
return modelRoot?.parentElement ? modelRoot : null;
|
|
17975
18009
|
}
|
|
17976
18010
|
function creditsPlacementAnchor(control) {
|
|
17977
18011
|
const root = control.permissionModePicker?.root;
|
|
@@ -18219,6 +18253,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
18219
18253
|
if (ownership.harnessId === "claude-code") return "claude-code";
|
|
18220
18254
|
if (ownership.harnessId === "deepseek-harness") return "deepseek-harness";
|
|
18221
18255
|
if (ownership.harnessId === "grok") return "grok";
|
|
18256
|
+
if (ownership.harnessId === "omp") return "omp";
|
|
18222
18257
|
return null;
|
|
18223
18258
|
}
|
|
18224
18259
|
var BrowserSidebarAgentIconRow = class {
|
|
@@ -18594,7 +18629,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
18594
18629
|
pending.add(key);
|
|
18595
18630
|
void client.inspectThread({ threadId: target.threadId }).then(async (inspection) => {
|
|
18596
18631
|
if (disposed) return;
|
|
18597
|
-
if (inspection.owner === "codex" || !inspection.history.fork || !target.isProjectlessConversation
|
|
18632
|
+
if (inspection.owner === "codex" || !inspection.history.fork || !target.isProjectlessConversation) {
|
|
18598
18633
|
dom.replay(target);
|
|
18599
18634
|
return;
|
|
18600
18635
|
}
|
|
@@ -18627,6 +18662,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
18627
18662
|
var THREAD_PERMISSION_MODE_SELECT_METHOD = "codexhost/thread/permission-mode/select";
|
|
18628
18663
|
var THREAD_OWNERSHIP_LIST_METHOD = "codexhost/thread/ownership/list";
|
|
18629
18664
|
var THREAD_USAGE_INSPECT_METHOD = "codexhost/thread/usage/inspect";
|
|
18665
|
+
var THREAD_USAGE_UPDATED_METHOD = "codexhost/thread/usage/updated";
|
|
18630
18666
|
var THREAD_TOKEN_USAGE_UPDATED_METHOD = "thread/tokenUsage/updated";
|
|
18631
18667
|
var UPDATE_CHECK_METHOD = "codexhost/update/check";
|
|
18632
18668
|
var UPDATE_START_METHOD = "codexhost/update/start";
|
|
@@ -18635,7 +18671,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
18635
18671
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
18636
18672
|
}
|
|
18637
18673
|
function notifiedThreadId(notification) {
|
|
18638
|
-
if (!isRecord4(notification) || notification.method !== THREAD_TOKEN_USAGE_UPDATED_METHOD) {
|
|
18674
|
+
if (!isRecord4(notification) || notification.method !== THREAD_TOKEN_USAGE_UPDATED_METHOD && notification.method !== THREAD_USAGE_UPDATED_METHOD) {
|
|
18639
18675
|
return null;
|
|
18640
18676
|
}
|
|
18641
18677
|
const params = notification.params;
|
|
@@ -18751,7 +18787,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
18751
18787
|
let disposed = false;
|
|
18752
18788
|
const generations = /* @__PURE__ */ new Map();
|
|
18753
18789
|
const removeNotificationCallback = notifications.addNotificationCallback(
|
|
18754
|
-
THREAD_TOKEN_USAGE_UPDATED_METHOD,
|
|
18790
|
+
[THREAD_TOKEN_USAGE_UPDATED_METHOD, THREAD_USAGE_UPDATED_METHOD],
|
|
18755
18791
|
(notification) => {
|
|
18756
18792
|
const threadId = notifiedThreadId(notification);
|
|
18757
18793
|
if (!threadId) return;
|
|
@@ -18805,6 +18841,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
18805
18841
|
var DEEPSEEK_HARNESS_TRANSPORT_MODEL_PREFIX = `${DEEPSEEK_HARNESS_TRANSPORT_MODEL_ID}@`;
|
|
18806
18842
|
var GROK_TRANSPORT_MODEL_ID = "codexhost/grok-native";
|
|
18807
18843
|
var GROK_TRANSPORT_MODEL_PREFIX = `${GROK_TRANSPORT_MODEL_ID}@`;
|
|
18844
|
+
var OMP_TRANSPORT_MODEL_ID = "codexhost/omp-native";
|
|
18845
|
+
var OMP_TRANSPORT_MODEL_PREFIX = `${OMP_TRANSPORT_MODEL_ID}@`;
|
|
18808
18846
|
function transitionRendererAdapterStatus(current, next, publish) {
|
|
18809
18847
|
if (current.state === next.state && current.reason === next.reason && current.hook === next.hook) {
|
|
18810
18848
|
return false;
|
|
@@ -18822,6 +18860,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
18822
18860
|
if (agent === "claude-code") return CLAUDE_CODE_TRANSPORT_MODEL_ID;
|
|
18823
18861
|
if (agent === "deepseek-harness") return DEEPSEEK_HARNESS_TRANSPORT_MODEL_ID;
|
|
18824
18862
|
if (agent === "grok") return GROK_TRANSPORT_MODEL_ID;
|
|
18863
|
+
if (agent === "omp") return OMP_TRANSPORT_MODEL_ID;
|
|
18825
18864
|
return null;
|
|
18826
18865
|
}
|
|
18827
18866
|
function isRecord5(value) {
|
|
@@ -18836,6 +18875,15 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
18836
18875
|
const parsedThinking = thinkingOptionId ? harnessThinkingOptionIdSchema.parse(thinkingOptionId) : void 0;
|
|
18837
18876
|
return `${PI_TRANSPORT_MODEL_PREFIX}${parsedModel.id}${parsedThinking ? `@${parsedThinking}` : ""}`;
|
|
18838
18877
|
}
|
|
18878
|
+
function ompTransportModelId(model, thinkingOptionId) {
|
|
18879
|
+
if (!model) {
|
|
18880
|
+
if (thinkingOptionId) throw new Error("OMP transport Thinking requires a Model Ref");
|
|
18881
|
+
return OMP_TRANSPORT_MODEL_ID;
|
|
18882
|
+
}
|
|
18883
|
+
const parsedModel = harnessModelRefSchema.parse(model);
|
|
18884
|
+
const parsedThinking = thinkingOptionId ? harnessThinkingOptionIdSchema.parse(thinkingOptionId) : void 0;
|
|
18885
|
+
return `${OMP_TRANSPORT_MODEL_PREFIX}${parsedModel.id}${parsedThinking ? `@${parsedThinking}` : ""}`;
|
|
18886
|
+
}
|
|
18839
18887
|
function claudeTransportModelId(model, permissionModeId, thinkingOptionId) {
|
|
18840
18888
|
if (!model) {
|
|
18841
18889
|
if (permissionModeId || thinkingOptionId) {
|
|
@@ -18938,6 +18986,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
18938
18986
|
...thinking?.success ? { thinkingOptionId: thinking.data } : {}
|
|
18939
18987
|
};
|
|
18940
18988
|
}
|
|
18989
|
+
function decodeOmpTransportModelId(value) {
|
|
18990
|
+
if (value === OMP_TRANSPORT_MODEL_ID) return {};
|
|
18991
|
+
if (typeof value !== "string" || !value.startsWith(OMP_TRANSPORT_MODEL_PREFIX)) return null;
|
|
18992
|
+
const components = value.slice(OMP_TRANSPORT_MODEL_PREFIX.length).split("@");
|
|
18993
|
+
if (components.length < 1 || components.length > 2) return null;
|
|
18994
|
+
const [modelId, thinkingOptionId] = components;
|
|
18995
|
+
if (components.length === 2 && !thinkingOptionId) return null;
|
|
18996
|
+
const model = harnessModelRefSchema.safeParse({ id: modelId });
|
|
18997
|
+
if (!model.success) return null;
|
|
18998
|
+
const thinking = thinkingOptionId ? harnessThinkingOptionIdSchema.safeParse(thinkingOptionId) : null;
|
|
18999
|
+
if (thinking && !thinking.success) return null;
|
|
19000
|
+
return { model: model.data, ...thinking?.success ? { thinkingOptionId: thinking.data } : {} };
|
|
19001
|
+
}
|
|
18941
19002
|
function threadIdFromComposerModelTarget(target) {
|
|
18942
19003
|
if (target?.[0] !== "conversation" || typeof target[1] !== "string" || target[1].trim().length === 0) {
|
|
18943
19004
|
return null;
|
|
@@ -19124,7 +19185,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
19124
19185
|
}
|
|
19125
19186
|
}
|
|
19126
19187
|
function modelSelectionForAgent(officialSelection, reasoningEffort, agent, model, thinkingOptionId, permissionModeId) {
|
|
19127
|
-
const transportModelId = agent === "pi" ? piTransportModelId(model, thinkingOptionId) : agent === "claude-code" ? claudeTransportModelId(model, permissionModeId, thinkingOptionId) : agent === "deepseek-harness" ? deepSeekHarnessTransportModelId(model) : agent === "grok" ? grokTransportModelId(model, permissionModeId, thinkingOptionId) : transportModelIdForAgent(agent);
|
|
19188
|
+
const transportModelId = agent === "pi" ? piTransportModelId(model, thinkingOptionId) : agent === "claude-code" ? claudeTransportModelId(model, permissionModeId, thinkingOptionId) : agent === "deepseek-harness" ? deepSeekHarnessTransportModelId(model) : agent === "grok" ? grokTransportModelId(model, permissionModeId, thinkingOptionId) : agent === "omp" ? ompTransportModelId(model, thinkingOptionId) : transportModelIdForAgent(agent);
|
|
19128
19189
|
return transportModelId ? { model: transportModelId, reasoningEffort } : officialSelection;
|
|
19129
19190
|
}
|
|
19130
19191
|
function installCurrentRendererAdapter() {
|
|
@@ -21147,7 +21208,8 @@ ${error51.stderrTail}`] : []
|
|
|
21147
21208
|
|
|
21148
21209
|
// src/settings/trigger.ts
|
|
21149
21210
|
var SETTINGS_TRIGGER_ATTRIBUTE = "data-codexhost-settings-trigger";
|
|
21150
|
-
var
|
|
21211
|
+
var SETTINGS_APPLICATION_HEADER_SELECTOR = 'header[data-pip-obstacle="app-shell-header"]';
|
|
21212
|
+
var SETTINGS_HEADER_SLOT_SELECTOR = ':scope > [data-test-id="header-shell-slot"]';
|
|
21151
21213
|
function measuredBounds(element) {
|
|
21152
21214
|
const bounds = element.getBoundingClientRect();
|
|
21153
21215
|
return {
|
|
@@ -21159,38 +21221,16 @@ ${error51.stderrTail}`] : []
|
|
|
21159
21221
|
height: bounds.height
|
|
21160
21222
|
};
|
|
21161
21223
|
}
|
|
21162
|
-
function isVisibleButton(button) {
|
|
21163
|
-
const bounds = button.getBoundingClientRect();
|
|
21164
|
-
return bounds.width > 0 && bounds.height > 0;
|
|
21165
|
-
}
|
|
21166
|
-
function selectRendererSettingsHeaderSlot(header, candidates) {
|
|
21167
|
-
const midpoint = header.left + header.width / 2;
|
|
21168
|
-
const maximumWidth = Math.min(320, header.width / 2);
|
|
21169
|
-
const eligible = candidates.filter(
|
|
21170
|
-
({ bounds, visibleButtonCount, structuralActionGroup }) => (visibleButtonCount > 1 || structuralActionGroup === true) && bounds.width >= 0 && bounds.height >= 0 && bounds.width <= maximumWidth && bounds.left >= midpoint && bounds.right <= header.right + 1 && bounds.top >= header.top - 1 && bounds.bottom <= header.bottom + 1
|
|
21171
|
-
);
|
|
21172
|
-
eligible.sort(
|
|
21173
|
-
(left, right) => Math.abs(header.right - left.bounds.right) - Math.abs(header.right - right.bounds.right) || right.visibleButtonCount - left.visibleButtonCount || left.bounds.left - right.bounds.left
|
|
21174
|
-
);
|
|
21175
|
-
return eligible[0]?.value ?? null;
|
|
21176
|
-
}
|
|
21177
21224
|
function findRendererSettingsHeaderInsertionPoint(ownerDocument) {
|
|
21178
|
-
const
|
|
21179
|
-
if (!
|
|
21180
|
-
const
|
|
21181
|
-
|
|
21182
|
-
const
|
|
21183
|
-
(slot)
|
|
21184
|
-
|
|
21185
|
-
|
|
21186
|
-
|
|
21187
|
-
isVisibleButton
|
|
21188
|
-
).length,
|
|
21189
|
-
structuralActionGroup: slot.parentElement?.lastElementChild === slot && view?.getComputedStyle(slot.parentElement).display === "grid"
|
|
21190
|
-
})
|
|
21191
|
-
);
|
|
21192
|
-
const actionGroup = selectRendererSettingsHeaderSlot(surfaceBounds, measuredSlots);
|
|
21193
|
-
return actionGroup ? { parent: actionGroup, before: actionGroup.firstChild } : null;
|
|
21225
|
+
const header = ownerDocument.querySelector(SETTINGS_APPLICATION_HEADER_SELECTOR);
|
|
21226
|
+
if (!header) return null;
|
|
21227
|
+
const headerBounds = measuredBounds(header);
|
|
21228
|
+
if (headerBounds.width <= 0 || headerBounds.height <= 0) return null;
|
|
21229
|
+
const endSlot = [...header.querySelectorAll(SETTINGS_HEADER_SLOT_SELECTOR)].filter((slot) => {
|
|
21230
|
+
const bounds = measuredBounds(slot);
|
|
21231
|
+
return bounds.width > 0 && bounds.height > 0;
|
|
21232
|
+
}).toSorted((left, right) => measuredBounds(right).left - measuredBounds(left).left)[0];
|
|
21233
|
+
return endSlot ? { parent: header, before: endSlot } : null;
|
|
21194
21234
|
}
|
|
21195
21235
|
function mountRendererSettingsTrigger(triggerId, available, onOpen, ownerDocument = document, messages = DEFAULT_RENDERER_SETTINGS_MESSAGES) {
|
|
21196
21236
|
const root = ownerDocument.createElement("div");
|
|
@@ -21318,23 +21358,27 @@ ${error51.stderrTail}`] : []
|
|
|
21318
21358
|
let disposed = false;
|
|
21319
21359
|
const refresh = () => {
|
|
21320
21360
|
if (disposed) return false;
|
|
21321
|
-
if (trigger?.root.isConnected) return true;
|
|
21322
|
-
trigger?.dispose();
|
|
21323
|
-
trigger = null;
|
|
21324
|
-
for (const duplicate of ownerDocument.querySelectorAll(`[${SETTINGS_TRIGGER_ATTRIBUTE}]`)) {
|
|
21325
|
-
duplicate.remove();
|
|
21326
|
-
}
|
|
21327
21361
|
const insertionPoint = findRendererSettingsHeaderInsertionPoint(ownerDocument);
|
|
21328
|
-
if (!insertionPoint)
|
|
21329
|
-
|
|
21330
|
-
|
|
21331
|
-
|
|
21332
|
-
|
|
21333
|
-
ownerDocument
|
|
21334
|
-
|
|
21335
|
-
|
|
21336
|
-
|
|
21337
|
-
|
|
21362
|
+
if (!insertionPoint) {
|
|
21363
|
+
trigger?.root.remove();
|
|
21364
|
+
return false;
|
|
21365
|
+
}
|
|
21366
|
+
if (!trigger) {
|
|
21367
|
+
for (const duplicate of ownerDocument.querySelectorAll(`[${SETTINGS_TRIGGER_ATTRIBUTE}]`)) {
|
|
21368
|
+
duplicate.remove();
|
|
21369
|
+
}
|
|
21370
|
+
trigger = mountRendererSettingsTrigger(
|
|
21371
|
+
"application-header",
|
|
21372
|
+
options.available,
|
|
21373
|
+
options.onOpen,
|
|
21374
|
+
ownerDocument,
|
|
21375
|
+
options.messages
|
|
21376
|
+
);
|
|
21377
|
+
trigger.setUpdateAvailable(updateAvailable);
|
|
21378
|
+
}
|
|
21379
|
+
if (trigger.root.parentElement !== insertionPoint.parent || trigger.root.nextSibling !== insertionPoint.before) {
|
|
21380
|
+
insertionPoint.parent.insertBefore(trigger.root, insertionPoint.before);
|
|
21381
|
+
}
|
|
21338
21382
|
return true;
|
|
21339
21383
|
};
|
|
21340
21384
|
refresh();
|
|
@@ -21522,35 +21566,20 @@ ${error51.stderrTail}`] : []
|
|
|
21522
21566
|
};
|
|
21523
21567
|
}
|
|
21524
21568
|
|
|
21525
|
-
// src/compatibility-update.ts
|
|
21526
|
-
async function startCompatibilityUpdate(client) {
|
|
21527
|
-
if (!client) return "unavailable";
|
|
21528
|
-
try {
|
|
21529
|
-
const check2 = await client.checkUpdate();
|
|
21530
|
-
if (check2.updateAvailable && check2.installationAvailable) {
|
|
21531
|
-
void client.startUpdate().catch(() => void 0);
|
|
21532
|
-
return "update-started";
|
|
21533
|
-
}
|
|
21534
|
-
if (check2.error === null && check2.latestVersion !== null && check2.currentVersion === check2.latestVersion) {
|
|
21535
|
-
return "current";
|
|
21536
|
-
}
|
|
21537
|
-
} catch {
|
|
21538
|
-
}
|
|
21539
|
-
return "unavailable";
|
|
21540
|
-
}
|
|
21541
|
-
|
|
21542
21569
|
// src/renderer-binding-probe.ts
|
|
21543
21570
|
var externalHarnessIds = {
|
|
21544
21571
|
pi: harnessIdSchema.parse("pi"),
|
|
21545
21572
|
"claude-code": harnessIdSchema.parse("claude-code"),
|
|
21546
21573
|
"deepseek-harness": harnessIdSchema.parse("deepseek-harness"),
|
|
21547
|
-
grok: harnessIdSchema.parse("grok")
|
|
21574
|
+
grok: harnessIdSchema.parse("grok"),
|
|
21575
|
+
omp: harnessIdSchema.parse("omp")
|
|
21548
21576
|
};
|
|
21549
21577
|
var externalAgents = [
|
|
21550
21578
|
"pi",
|
|
21551
21579
|
"claude-code",
|
|
21552
21580
|
"deepseek-harness",
|
|
21553
|
-
"grok"
|
|
21581
|
+
"grok",
|
|
21582
|
+
"omp"
|
|
21554
21583
|
];
|
|
21555
21584
|
function isRetryableHarnessAvailability(availability, error51) {
|
|
21556
21585
|
return availability !== void 0 && availability !== "ready" && availability !== "notInstalled" && error51?.retryable === true;
|
|
@@ -21624,6 +21653,17 @@ ${error51.stderrTail}`] : []
|
|
|
21624
21653
|
...permissionModeId ? { permissionModeId } : {}
|
|
21625
21654
|
};
|
|
21626
21655
|
}
|
|
21656
|
+
if (inspection.harnessId === "omp") {
|
|
21657
|
+
const transportSelection = decodeOmpTransportModelId(inspection.transportModelId);
|
|
21658
|
+
if (!transportSelection) throw new Error("OMP Thread reported an incompatible transport Model");
|
|
21659
|
+
const model = inspection.effectiveModel ?? transportSelection.model;
|
|
21660
|
+
const thinkingOptionId = selectableThinkingOptionId(inspection) ?? transportSelection.thinkingOptionId;
|
|
21661
|
+
return {
|
|
21662
|
+
agent: "omp",
|
|
21663
|
+
...model ? { model } : {},
|
|
21664
|
+
...thinkingOptionId ? { thinkingOptionId } : {}
|
|
21665
|
+
};
|
|
21666
|
+
}
|
|
21627
21667
|
if (inspection.harnessId === "claude-code") {
|
|
21628
21668
|
const transportSelection = decodeClaudeTransportModelId(inspection.transportModelId);
|
|
21629
21669
|
if (!transportSelection) {
|
|
@@ -21768,7 +21808,8 @@ ${error51.stderrTail}`] : []
|
|
|
21768
21808
|
pi: void 0,
|
|
21769
21809
|
"claude-code": void 0,
|
|
21770
21810
|
"deepseek-harness": void 0,
|
|
21771
|
-
grok: void 0
|
|
21811
|
+
grok: void 0,
|
|
21812
|
+
omp: void 0
|
|
21772
21813
|
},
|
|
21773
21814
|
requestGeneration: 0,
|
|
21774
21815
|
request: null,
|
|
@@ -21832,6 +21873,12 @@ ${error51.stderrTail}`] : []
|
|
|
21832
21873
|
mounted.usage,
|
|
21833
21874
|
mounted.accountCredits
|
|
21834
21875
|
);
|
|
21876
|
+
if (mounted.control.usage) {
|
|
21877
|
+
mounted.control.usage.onOpen = () => {
|
|
21878
|
+
if (controller.get(mounted.composer).agent === "codex") return;
|
|
21879
|
+
void refreshThreadUsage(mounted, "exact");
|
|
21880
|
+
};
|
|
21881
|
+
}
|
|
21835
21882
|
};
|
|
21836
21883
|
const refreshCommands = async (mounted) => {
|
|
21837
21884
|
const state = controller.get(mounted.composer);
|
|
@@ -21877,7 +21924,7 @@ ${error51.stderrTail}`] : []
|
|
|
21877
21924
|
renderMounted(mounted);
|
|
21878
21925
|
}
|
|
21879
21926
|
};
|
|
21880
|
-
const refreshThreadUsage = async (mounted) => {
|
|
21927
|
+
const refreshThreadUsage = async (mounted, refresh) => {
|
|
21881
21928
|
const threadId = threadIdFromComposerModelTarget(mounted.modelTarget);
|
|
21882
21929
|
if (!threadId || !modelControl) {
|
|
21883
21930
|
mounted.usage = null;
|
|
@@ -21888,7 +21935,10 @@ ${error51.stderrTail}`] : []
|
|
|
21888
21935
|
}
|
|
21889
21936
|
const generation = ++mounted.usageRequestGeneration;
|
|
21890
21937
|
try {
|
|
21891
|
-
const result = await modelControl.inspectThreadUsage({
|
|
21938
|
+
const result = await modelControl.inspectThreadUsage({
|
|
21939
|
+
threadId,
|
|
21940
|
+
...refresh ? { refresh } : {}
|
|
21941
|
+
});
|
|
21892
21942
|
if (disposed || mountedByComposer.get(mounted.composer) !== mounted || !mounted.composer.isConnected || mounted.usageRequestGeneration !== generation || threadIdFromComposerModelTarget(mounted.modelTarget) !== threadId || result.threadId !== threadId) {
|
|
21893
21943
|
return;
|
|
21894
21944
|
}
|
|
@@ -23205,9 +23255,6 @@ ${error51.stderrTail}`] : []
|
|
|
23205
23255
|
...permissionModeId ? { permissionModeId } : {}
|
|
23206
23256
|
};
|
|
23207
23257
|
},
|
|
23208
|
-
requestCompatibilityUpdate() {
|
|
23209
|
-
return startCompatibilityUpdate(modelControl);
|
|
23210
|
-
},
|
|
23211
23258
|
setAdapter(status, dispose, applyAgent, nextModelControl) {
|
|
23212
23259
|
usageNotificationDispose?.();
|
|
23213
23260
|
usageNotificationDispose = null;
|
package/bin/codexhost
CHANGED
|
Binary file
|
package/libexec/codexhost-shim
CHANGED
|
Binary file
|
|
Binary file
|