@karlorz/codexhost-cli-win32-arm64 0.13.3-0 → 0.13.3-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/console-web.js +64 -0
- package/app/host-runtime.mjs +100 -184
- package/app/plugins/grok/plugin.mjs +315 -181
- package/app/renderer-extension.js +211 -5
- package/bin/codexhost.exe +0 -0
- package/libexec/codexhost-node-repl.exe +0 -0
- package/libexec/codexhost-shim.exe +0 -0
- package/libexec/codexhost-updater.exe +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Run Pi and Claude Code as first-class external harnesses inside Codex Desktop.
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
npm install -g @karlorz/codexhost-cli@0.13.3-
|
|
10
|
+
npm install -g @karlorz/codexhost-cli@0.13.3-3
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Do not install this package directly. npm selects it through the optional dependencies of `@karlorz/codexhost-cli`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"schemaVersion":1,"version":"0.13.3-
|
|
1
|
+
{"schemaVersion":1,"version":"0.13.3-3","distribution":"npm","target":"windows-arm64"}
|
package/app/console-web.js
CHANGED
|
@@ -18856,6 +18856,7 @@ th[aria-sort] .console-usage-sort__mark {
|
|
|
18856
18856
|
"Codex Desktop installation discovered": "findDesktop",
|
|
18857
18857
|
"acquiring Launcher ownership": "ownership",
|
|
18858
18858
|
"Launcher ownership acquired": "ownership",
|
|
18859
|
+
"recovering leftover Desktop Controller": "ownership",
|
|
18859
18860
|
"attached to existing controlled Desktop": "ownership",
|
|
18860
18861
|
"launching Codex Desktop": "launchDesktop",
|
|
18861
18862
|
"Codex Desktop launched": "launchDesktop",
|
|
@@ -20662,6 +20663,14 @@ th[aria-sort] .console-usage-sort__mark {
|
|
|
20662
20663
|
otherSection: "Other",
|
|
20663
20664
|
appearanceDescription: "Conversation display and local resource management.",
|
|
20664
20665
|
appearanceGroup: "Appearance",
|
|
20666
|
+
hideCodexUsageBannerTitle: "Hide Codex usage warning",
|
|
20667
|
+
hideCodexUsageBannerDescription: "On by default. Hide the out-of-usage card on every Composer.",
|
|
20668
|
+
hideCodexUsageBannerHelpLabel: "About hiding the Codex usage warning",
|
|
20669
|
+
hideCodexUsageBannerHelp: Object.freeze([
|
|
20670
|
+
"The native card appears when the signed-in ChatGPT Codex quota is exhausted.",
|
|
20671
|
+
"When this is on, that card is hidden on every Composer, including Codex threads. Reset usage and Upgrade stay available in Settings.",
|
|
20672
|
+
"Turning this off only shows the native card again. Send on this Composer, including Codex threads, is already separated from that quota card."
|
|
20673
|
+
]),
|
|
20665
20674
|
cpaLiveVoiceTitle: "Override live voice",
|
|
20666
20675
|
cpaLiveVoiceDescription: "On by default. Host creates the realtime call instead of ChatGPT.",
|
|
20667
20676
|
cpaLiveVoiceHelpLabel: "About overriding live voice",
|
|
@@ -20945,6 +20954,14 @@ th[aria-sort] .console-usage-sort__mark {
|
|
|
20945
20954
|
otherSection: "\u5176\u4ED6",
|
|
20946
20955
|
appearanceDescription: "\u4F1A\u8BDD\u663E\u793A\u4E0E\u672C\u5730\u8D44\u6E90\u7BA1\u7406\u3002",
|
|
20947
20956
|
appearanceGroup: "\u5916\u89C2",
|
|
20957
|
+
hideCodexUsageBannerTitle: "\u9690\u85CF Codex \u989D\u5EA6\u8B66\u544A",
|
|
20958
|
+
hideCodexUsageBannerDescription: "\u9ED8\u8BA4\u5F00\u542F\u3002\u5728\u6240\u6709 Composer \u4E0A\u9690\u85CF\u989D\u5EA6\u8017\u5C3D\u5361\u7247\u3002",
|
|
20959
|
+
hideCodexUsageBannerHelpLabel: "\u9690\u85CF Codex \u989D\u5EA6\u8B66\u544A\u8BF4\u660E",
|
|
20960
|
+
hideCodexUsageBannerHelp: Object.freeze([
|
|
20961
|
+
"\u5DF2\u767B\u5F55\u7684 ChatGPT Codex \u989D\u5EA6\u8017\u5C3D\u65F6\uFF0CDesktop \u4F1A\u663E\u793A\u539F\u751F\u8B66\u544A\u5361\u7247\u3002",
|
|
20962
|
+
"\u5F00\u542F\u540E\uFF0C\u6240\u6709 Composer \u90FD\u9690\u85CF\u8BE5\u5361\u7247\uFF0C\u5305\u62EC Codex \u4F1A\u8BDD\u3002\u300C\u91CD\u7F6E\u7528\u91CF\u300D\u548C\u300C\u5347\u7EA7\u300D\u4ECD\u53EF\u5728\u8BBE\u7F6E\u4E2D\u4F7F\u7528\u3002",
|
|
20963
|
+
"\u5173\u95ED\u6B64\u5F00\u5173\u53EA\u4F1A\u91CD\u65B0\u663E\u793A\u539F\u751F\u5361\u7247\u3002\u5F53\u524D Composer \u7684\u53D1\u9001\uFF08\u5305\u62EC Codex \u4F1A\u8BDD\uFF09\u5DF2\u4E0E\u8BE5\u989D\u5EA6\u5361\u7247\u5206\u79BB\u3002"
|
|
20964
|
+
]),
|
|
20948
20965
|
cpaLiveVoiceTitle: "\u6539\u5199\u5B9E\u65F6\u8BED\u97F3",
|
|
20949
20966
|
cpaLiveVoiceDescription: "\u9ED8\u8BA4\u5F00\u542F\u3002\u7531 Host \u521B\u5EFA realtime \u901A\u8BDD\uFF0C\u800C\u4E0D\u662F ChatGPT\u3002",
|
|
20950
20967
|
cpaLiveVoiceHelpLabel: "\u6539\u5199\u5B9E\u65F6\u8BED\u97F3\u8BF4\u660E",
|
|
@@ -26744,6 +26761,27 @@ ${error51.stderrTail}`] : []
|
|
|
26744
26761
|
};
|
|
26745
26762
|
}
|
|
26746
26763
|
|
|
26764
|
+
// src/renderer-codex-usage-banner-preference.ts
|
|
26765
|
+
var CODEX_USAGE_BANNER_STORAGE_KEY = "codexhost.codex-usage-banner-hidden.v1";
|
|
26766
|
+
var CODEX_USAGE_BANNER_CHANGE_EVENT = "codexhost:codex-usage-banner-changed";
|
|
26767
|
+
function readCodexUsageBannerPreference(owner) {
|
|
26768
|
+
if (!owner) return true;
|
|
26769
|
+
try {
|
|
26770
|
+
return owner.localStorage.getItem(CODEX_USAGE_BANNER_STORAGE_KEY) !== "0";
|
|
26771
|
+
} catch {
|
|
26772
|
+
return true;
|
|
26773
|
+
}
|
|
26774
|
+
}
|
|
26775
|
+
function writeCodexUsageBannerPreference(owner, enabled) {
|
|
26776
|
+
try {
|
|
26777
|
+
owner.localStorage.setItem(CODEX_USAGE_BANNER_STORAGE_KEY, enabled ? "1" : "0");
|
|
26778
|
+
} catch {
|
|
26779
|
+
return false;
|
|
26780
|
+
}
|
|
26781
|
+
owner.dispatchEvent(new Event(CODEX_USAGE_BANNER_CHANGE_EVENT));
|
|
26782
|
+
return true;
|
|
26783
|
+
}
|
|
26784
|
+
|
|
26747
26785
|
// src/renderer-transcript-dom.ts
|
|
26748
26786
|
var REASONING_SOFT_WRAP_STORAGE_KEY = "codexhost.reasoning-soft-wrap.v1";
|
|
26749
26787
|
var REASONING_SOFT_WRAP_CHANGE_EVENT = "codexhost:reasoning-soft-wrap-changed";
|
|
@@ -27010,6 +27048,31 @@ ${error51.stderrTail}`] : []
|
|
|
27010
27048
|
description.className = "settings-page-description";
|
|
27011
27049
|
description.textContent = messages.appearanceDescription;
|
|
27012
27050
|
const { group, card } = createPreferenceGroup(document2, messages.appearanceGroup);
|
|
27051
|
+
const usageBannerId = preferenceId("hide-codex-usage-banner");
|
|
27052
|
+
const usageBannerRow = createPreferenceItem(document2, {
|
|
27053
|
+
title: messages.hideCodexUsageBannerTitle,
|
|
27054
|
+
description: messages.hideCodexUsageBannerDescription,
|
|
27055
|
+
controlId: usageBannerId,
|
|
27056
|
+
help: {
|
|
27057
|
+
label: messages.hideCodexUsageBannerHelpLabel,
|
|
27058
|
+
lines: messages.hideCodexUsageBannerHelp
|
|
27059
|
+
}
|
|
27060
|
+
});
|
|
27061
|
+
const usageBanner = createPreferenceSwitch(
|
|
27062
|
+
document2,
|
|
27063
|
+
usageBannerId,
|
|
27064
|
+
usageBannerRow.description.id
|
|
27065
|
+
);
|
|
27066
|
+
usageBanner.checked = readCodexUsageBannerPreference(ownerWindow);
|
|
27067
|
+
usageBanner.addEventListener("change", () => {
|
|
27068
|
+
writeCodexUsageBannerPreference(ownerWindow, usageBanner.checked);
|
|
27069
|
+
});
|
|
27070
|
+
const syncUsageBanner = () => {
|
|
27071
|
+
usageBanner.checked = readCodexUsageBannerPreference(ownerWindow);
|
|
27072
|
+
};
|
|
27073
|
+
ownerWindow.addEventListener(CODEX_USAGE_BANNER_CHANGE_EVENT, syncUsageBanner);
|
|
27074
|
+
usageBannerRow.item.append(usageBanner);
|
|
27075
|
+
card.append(usageBannerRow.item);
|
|
27013
27076
|
const liveVoiceId = preferenceId("cpa-live-voice");
|
|
27014
27077
|
const liveVoiceRow = createPreferenceItem(document2, {
|
|
27015
27078
|
title: messages.cpaLiveVoiceTitle,
|
|
@@ -27059,6 +27122,7 @@ ${error51.stderrTail}`] : []
|
|
|
27059
27122
|
getLoadedSessionsClient
|
|
27060
27123
|
);
|
|
27061
27124
|
return () => {
|
|
27125
|
+
ownerWindow.removeEventListener(CODEX_USAGE_BANNER_CHANGE_EVENT, syncUsageBanner);
|
|
27062
27126
|
ownerWindow.removeEventListener(CPA_LIVE_VOICE_CHANGE_EVENT, syncLiveVoice);
|
|
27063
27127
|
ownerWindow.removeEventListener(REASONING_SOFT_WRAP_CHANGE_EVENT, sync);
|
|
27064
27128
|
disposeIdleRelease();
|