@karlorz/codexhost-cli-win32-x64 0.13.3-4 → 0.13.3-6
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-server.mjs +432 -31
- package/app/console-web.js +806 -186
- package/app/cpa-live-voice-hook.js +16310 -31
- package/app/desktop-controller.mjs +147 -37
- package/app/host-runtime.mjs +3535 -3126
- package/app/plugins/antigravity/plugin.mjs +77 -0
- package/app/plugins/claude-code/plugin.mjs +152 -29
- package/app/plugins/codebuddy/plugin.mjs +109 -32
- package/app/plugins/codex-usage/plugin.mjs +77 -0
- package/app/plugins/cursor-cli/plugin.mjs +120 -43
- package/app/plugins/deepseek-harness/plugin.mjs +82 -5
- package/app/plugins/grok/plugin.mjs +138 -24
- package/app/plugins/hermes/plugin.mjs +77 -0
- package/app/plugins/kimi-code/plugin.mjs +99 -22
- package/app/plugins/kiro-cli/plugin.mjs +99 -22
- package/app/plugins/omp/plugin.mjs +92 -15
- package/app/plugins/opencode/plugin.mjs +77 -0
- package/app/plugins/pi/plugin.mjs +98 -21
- package/app/plugins/qoder/plugin.mjs +85 -8
- package/app/plugins/qoder-cn/plugin.mjs +85 -8
- package/app/plugins/workbuddy/plugin.mjs +109 -32
- package/app/plugins/zcode/plugin.mjs +100 -23
- package/app/renderer-extension.js +2238 -860
- 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
|
@@ -15318,6 +15318,36 @@ var hostInteractionIdSchema = opaqueIdSchema.brand();
|
|
|
15318
15318
|
var threadPrewarmDiscardParamsSchema = external_exports.object({ threadId: hostThreadIdSchema });
|
|
15319
15319
|
var threadPrewarmDiscardResultSchema = external_exports.object({ discarded: external_exports.boolean() });
|
|
15320
15320
|
|
|
15321
|
+
// ../../shared-contracts/dist/realtime-call.js
|
|
15322
|
+
var REALTIME_CALL_FORWARDED_HEADERS = [
|
|
15323
|
+
"openai-alpha",
|
|
15324
|
+
"thread-id",
|
|
15325
|
+
"session-id",
|
|
15326
|
+
"originator",
|
|
15327
|
+
"x-codex-turn-metadata"
|
|
15328
|
+
];
|
|
15329
|
+
var FORWARDED_HEADERS = new Set(REALTIME_CALL_FORWARDED_HEADERS);
|
|
15330
|
+
var REALTIME_CALL_ID_PATTERN = /^rtc_[A-Za-z0-9_-]{1,128}$/u;
|
|
15331
|
+
var requestId = external_exports.string().min(1).max(128);
|
|
15332
|
+
var realtimeCallParamsSchema = external_exports.discriminatedUnion("operation", [
|
|
15333
|
+
external_exports.object({
|
|
15334
|
+
operation: external_exports.literal("create"),
|
|
15335
|
+
requestId,
|
|
15336
|
+
body: external_exports.string().min(1).max(16 << 20),
|
|
15337
|
+
headers: external_exports.record(external_exports.string(), external_exports.string()).default({})
|
|
15338
|
+
}),
|
|
15339
|
+
external_exports.object({ operation: external_exports.literal("cancel"), requestId }),
|
|
15340
|
+
external_exports.object({
|
|
15341
|
+
operation: external_exports.literal("hangup"),
|
|
15342
|
+
callId: external_exports.string().regex(REALTIME_CALL_ID_PATTERN)
|
|
15343
|
+
})
|
|
15344
|
+
]);
|
|
15345
|
+
var realtimeCallResponseSchema = external_exports.object({
|
|
15346
|
+
status: external_exports.number().int().min(200).max(599),
|
|
15347
|
+
body: external_exports.string(),
|
|
15348
|
+
headers: external_exports.record(external_exports.string(), external_exports.string())
|
|
15349
|
+
});
|
|
15350
|
+
|
|
15321
15351
|
// ../../shared-contracts/dist/console.js
|
|
15322
15352
|
var consoleAnnouncementSchema = external_exports.strictObject({
|
|
15323
15353
|
title: external_exports.string().trim().min(1).max(200),
|
|
@@ -15330,6 +15360,7 @@ var consoleOpenResultSchema = external_exports.strictObject({
|
|
|
15330
15360
|
url: external_exports.string().max(2048).regex(/^http:\/\/(?:127\.0\.0\.1|localhost):\d{1,5}\/(?:\?.*)?$/u)
|
|
15331
15361
|
});
|
|
15332
15362
|
var CONSOLE_HOST_METHODS = Object.freeze([
|
|
15363
|
+
"codexhost/voice/gateway-status",
|
|
15333
15364
|
"codexhost/console/remote-connections",
|
|
15334
15365
|
"codexhost/runtime/status",
|
|
15335
15366
|
"codexhost/remote/ssh-setup",
|
|
@@ -16439,6 +16470,52 @@ var remoteConnectionsReplySchema = external_exports.union([
|
|
|
16439
16470
|
external_exports.strictObject({ error: external_exports.strictObject({ code: external_exports.number().int(), message: external_exports.string() }) })
|
|
16440
16471
|
]);
|
|
16441
16472
|
|
|
16473
|
+
// ../../shared-contracts/dist/voice-settings.js
|
|
16474
|
+
var voiceRoutesSchema = external_exports.strictObject({
|
|
16475
|
+
chatExperience: external_exports.enum(["chatgpt", "codex"]),
|
|
16476
|
+
chatConnection: external_exports.enum(["desktop", "gateway"]),
|
|
16477
|
+
workConnection: external_exports.enum(["desktop", "gateway"])
|
|
16478
|
+
});
|
|
16479
|
+
var DEFAULT_VOICE_ROUTES = Object.freeze({
|
|
16480
|
+
chatExperience: "chatgpt",
|
|
16481
|
+
chatConnection: "desktop",
|
|
16482
|
+
workConnection: "gateway"
|
|
16483
|
+
});
|
|
16484
|
+
var voiceSettingsSchema = voiceRoutesSchema.extend({ inject: external_exports.boolean() });
|
|
16485
|
+
var voiceSettingsRequestSchema = external_exports.discriminatedUnion("operation", [
|
|
16486
|
+
external_exports.strictObject({
|
|
16487
|
+
operation: external_exports.literal("get"),
|
|
16488
|
+
runtime: external_exports.strictObject({
|
|
16489
|
+
id: external_exports.string().uuid(),
|
|
16490
|
+
revision: external_exports.string().max(64),
|
|
16491
|
+
activeCall: external_exports.boolean()
|
|
16492
|
+
}).optional()
|
|
16493
|
+
}),
|
|
16494
|
+
external_exports.strictObject({ operation: external_exports.literal("migrate"), routes: voiceRoutesSchema }),
|
|
16495
|
+
external_exports.strictObject({
|
|
16496
|
+
operation: external_exports.literal("set"),
|
|
16497
|
+
settings: voiceSettingsSchema,
|
|
16498
|
+
revision: external_exports.string().max(64)
|
|
16499
|
+
}),
|
|
16500
|
+
external_exports.strictObject({ operation: external_exports.literal("restart"), confirm: external_exports.literal(true) })
|
|
16501
|
+
]);
|
|
16502
|
+
var voiceSettingsStateSchema = external_exports.strictObject({
|
|
16503
|
+
settings: voiceSettingsSchema,
|
|
16504
|
+
initialized: external_exports.boolean(),
|
|
16505
|
+
revision: external_exports.string(),
|
|
16506
|
+
activeInject: external_exports.boolean().nullable(),
|
|
16507
|
+
envOverride: external_exports.enum(["0", "1"]).nullable(),
|
|
16508
|
+
activeEnvOverride: external_exports.enum(["0", "1"]).nullable(),
|
|
16509
|
+
routesActive: external_exports.boolean().nullable(),
|
|
16510
|
+
activeCall: external_exports.boolean().nullable(),
|
|
16511
|
+
gatewayReady: external_exports.boolean().nullable(),
|
|
16512
|
+
restartAvailable: external_exports.boolean(),
|
|
16513
|
+
restart: external_exports.strictObject({
|
|
16514
|
+
phase: external_exports.enum(["idle", "restarting", "succeeded", "failed"]),
|
|
16515
|
+
error: external_exports.string().nullable()
|
|
16516
|
+
})
|
|
16517
|
+
});
|
|
16518
|
+
|
|
16442
16519
|
// ../../shared-contracts/dist/index.js
|
|
16443
16520
|
var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
|
|
16444
16521
|
|
|
@@ -18001,8 +18078,8 @@ function piUsageRecord(message3, extra = {}) {
|
|
|
18001
18078
|
const usage = isRecord4(message3.usage) ? message3.usage : null;
|
|
18002
18079
|
const input = nonNegativeSafeInteger(usage?.input);
|
|
18003
18080
|
const output = nonNegativeSafeInteger(usage?.output);
|
|
18004
|
-
const
|
|
18005
|
-
if (!usage || input === null || output === null ||
|
|
18081
|
+
const requestId2 = typeof message3.responseId === "string" && message3.responseId.length > 0 ? message3.responseId : typeof message3.timestamp === "number" && Number.isSafeInteger(message3.timestamp) ? `t${message3.timestamp}` : null;
|
|
18082
|
+
if (!usage || input === null || output === null || requestId2 === null) {
|
|
18006
18083
|
return { kind: "missing" };
|
|
18007
18084
|
}
|
|
18008
18085
|
const cacheRead = nonNegativeSafeInteger(usage.cacheRead);
|
|
@@ -18013,7 +18090,7 @@ function piUsageRecord(message3, extra = {}) {
|
|
|
18013
18090
|
return {
|
|
18014
18091
|
kind: "request",
|
|
18015
18092
|
request: parseHostUsageRequest({
|
|
18016
|
-
requestId,
|
|
18093
|
+
requestId: requestId2,
|
|
18017
18094
|
...extra.historical ? { historical: true } : {},
|
|
18018
18095
|
// Pi's provider is a user-configurable name, not a standard provider ID.
|
|
18019
18096
|
...typeof message3.model === "string" && message3.model.length > 0 ? { model: message3.model } : {},
|
|
@@ -19735,26 +19812,26 @@ var PiSubagentRpc = class {
|
|
|
19735
19812
|
if (!Array.isArray(data?.commands) || !data.commands.some((command) => command?.name === "subagents-inspect-rpc" && command.source === "extension")) {
|
|
19736
19813
|
throw new Error("Installed Pi has no pi-subagents Host inspection command");
|
|
19737
19814
|
}
|
|
19738
|
-
const
|
|
19815
|
+
const requestId2 = randomUUID4();
|
|
19739
19816
|
const reply = new Promise((resolve, reject) => {
|
|
19740
19817
|
const timer = setTimeout(() => {
|
|
19741
|
-
this.#pending.delete(
|
|
19818
|
+
this.#pending.delete(requestId2);
|
|
19742
19819
|
reject(new Error("Pi subagent inspection timed out"));
|
|
19743
19820
|
}, this.timeoutMs);
|
|
19744
|
-
this.#pending.set(
|
|
19821
|
+
this.#pending.set(requestId2, { resolve, reject, timer });
|
|
19745
19822
|
});
|
|
19746
19823
|
try {
|
|
19747
|
-
const message3 = `/subagents-inspect-rpc ${
|
|
19824
|
+
const message3 = `/subagents-inspect-rpc ${requestId2} ${address.runId}${address.childId ? ` ${address.childId}` : ""} --lines 200`;
|
|
19748
19825
|
const [, result] = await Promise.all([this.send("prompt", { message: message3 }), reply]);
|
|
19749
19826
|
if (!result.error && (result.asyncId !== address.runId && result.asyncId !== address.childId || result.childId !== address.childId)) {
|
|
19750
19827
|
throw new Error("Pi subagent inspection identity does not match the request");
|
|
19751
19828
|
}
|
|
19752
19829
|
return result;
|
|
19753
19830
|
} finally {
|
|
19754
|
-
const pending = this.#pending.get(
|
|
19831
|
+
const pending = this.#pending.get(requestId2);
|
|
19755
19832
|
if (pending) {
|
|
19756
19833
|
clearTimeout(pending.timer);
|
|
19757
|
-
this.#pending.delete(
|
|
19834
|
+
this.#pending.delete(requestId2);
|
|
19758
19835
|
}
|
|
19759
19836
|
}
|
|
19760
19837
|
}
|
|
@@ -20613,11 +20690,11 @@ var PiRpcSession = class {
|
|
|
20613
20690
|
#startInteraction(active, value) {
|
|
20614
20691
|
if (!this.#isBlockingInteraction(value))
|
|
20615
20692
|
return;
|
|
20616
|
-
const
|
|
20693
|
+
const requestId2 = value.id;
|
|
20617
20694
|
const method = value.method;
|
|
20618
20695
|
const title = value.title;
|
|
20619
20696
|
const timeoutMs = value.timeout;
|
|
20620
|
-
if (typeof
|
|
20697
|
+
if (typeof requestId2 !== "string" || requestId2.length === 0 || typeof method !== "string" || typeof title !== "string" || title.length === 0 || timeoutMs !== void 0 && (typeof timeoutMs !== "number" || !Number.isFinite(timeoutMs) || timeoutMs < 0) || active.interactions.has(requestId2)) {
|
|
20621
20698
|
throw new PiRpcFaultError("protocolError", "Pi RPC returned an invalid Interaction request");
|
|
20622
20699
|
}
|
|
20623
20700
|
let request;
|
|
@@ -20626,7 +20703,7 @@ var PiRpcSession = class {
|
|
|
20626
20703
|
throw new PiRpcFaultError("protocolError", "Pi RPC select request has invalid options");
|
|
20627
20704
|
}
|
|
20628
20705
|
request = {
|
|
20629
|
-
requestId,
|
|
20706
|
+
requestId: requestId2,
|
|
20630
20707
|
method,
|
|
20631
20708
|
title,
|
|
20632
20709
|
options: [...value.options],
|
|
@@ -20637,7 +20714,7 @@ var PiRpcSession = class {
|
|
|
20637
20714
|
throw new PiRpcFaultError("protocolError", "Pi RPC confirm request has no message");
|
|
20638
20715
|
}
|
|
20639
20716
|
request = {
|
|
20640
|
-
requestId,
|
|
20717
|
+
requestId: requestId2,
|
|
20641
20718
|
method,
|
|
20642
20719
|
title,
|
|
20643
20720
|
message: value.message,
|
|
@@ -20648,7 +20725,7 @@ var PiRpcSession = class {
|
|
|
20648
20725
|
throw new PiRpcFaultError("protocolError", "Pi RPC input placeholder is invalid");
|
|
20649
20726
|
}
|
|
20650
20727
|
request = {
|
|
20651
|
-
requestId,
|
|
20728
|
+
requestId: requestId2,
|
|
20652
20729
|
method,
|
|
20653
20730
|
title,
|
|
20654
20731
|
...typeof value.placeholder === "string" ? { placeholder: value.placeholder } : {},
|
|
@@ -20659,7 +20736,7 @@ var PiRpcSession = class {
|
|
|
20659
20736
|
throw new PiRpcFaultError("protocolError", "Pi RPC editor prefill is invalid");
|
|
20660
20737
|
}
|
|
20661
20738
|
request = {
|
|
20662
|
-
requestId,
|
|
20739
|
+
requestId: requestId2,
|
|
20663
20740
|
method: "editor",
|
|
20664
20741
|
title,
|
|
20665
20742
|
...typeof value.prefill === "string" ? { prefill: value.prefill } : {},
|
|
@@ -20669,16 +20746,16 @@ var PiRpcSession = class {
|
|
|
20669
20746
|
const pending = { request, timeout: null };
|
|
20670
20747
|
if (request.timeoutMs !== void 0) {
|
|
20671
20748
|
pending.timeout = setTimeout(() => {
|
|
20672
|
-
if (this.#activeTurn !== active || !active.interactions.has(
|
|
20749
|
+
if (this.#activeTurn !== active || !active.interactions.has(requestId2))
|
|
20673
20750
|
return;
|
|
20674
|
-
void this.#resolveInteraction({ requestId, cancelled: true }, "expired").catch((error51) => {
|
|
20751
|
+
void this.#resolveInteraction({ requestId: requestId2, cancelled: true }, "expired").catch((error51) => {
|
|
20675
20752
|
if (this.#closed || this.#failed)
|
|
20676
20753
|
return;
|
|
20677
20754
|
this.#fail(new PiRpcFaultError("protocolError", `Pi RPC Interaction timeout handling failed: ${message2(error51)}`));
|
|
20678
20755
|
});
|
|
20679
20756
|
}, request.timeoutMs);
|
|
20680
20757
|
}
|
|
20681
|
-
active.interactions.set(
|
|
20758
|
+
active.interactions.set(requestId2, pending);
|
|
20682
20759
|
active.onEvent({ type: "interaction.requested", request });
|
|
20683
20760
|
}
|
|
20684
20761
|
#handleResponse(value) {
|
|
@@ -20932,13 +21009,13 @@ var PiRpcSession = class {
|
|
|
20932
21009
|
this.#options.onFault?.(finalFault);
|
|
20933
21010
|
}
|
|
20934
21011
|
#closeInteractions(active, reason) {
|
|
20935
|
-
for (const [
|
|
20936
|
-
active.interactions.delete(
|
|
21012
|
+
for (const [requestId2, pending] of active.interactions) {
|
|
21013
|
+
active.interactions.delete(requestId2);
|
|
20937
21014
|
if (pending.timeout)
|
|
20938
21015
|
clearTimeout(pending.timeout);
|
|
20939
21016
|
active.onEvent({
|
|
20940
21017
|
type: "interaction.closed",
|
|
20941
|
-
requestId,
|
|
21018
|
+
requestId: requestId2,
|
|
20942
21019
|
reason
|
|
20943
21020
|
});
|
|
20944
21021
|
}
|
|
@@ -27767,6 +27767,36 @@ var hostInteractionIdSchema = opaqueIdSchema.brand();
|
|
|
27767
27767
|
var threadPrewarmDiscardParamsSchema = external_exports.object({ threadId: hostThreadIdSchema });
|
|
27768
27768
|
var threadPrewarmDiscardResultSchema = external_exports.object({ discarded: external_exports.boolean() });
|
|
27769
27769
|
|
|
27770
|
+
// ../../shared-contracts/dist/realtime-call.js
|
|
27771
|
+
var REALTIME_CALL_FORWARDED_HEADERS = [
|
|
27772
|
+
"openai-alpha",
|
|
27773
|
+
"thread-id",
|
|
27774
|
+
"session-id",
|
|
27775
|
+
"originator",
|
|
27776
|
+
"x-codex-turn-metadata"
|
|
27777
|
+
];
|
|
27778
|
+
var FORWARDED_HEADERS = new Set(REALTIME_CALL_FORWARDED_HEADERS);
|
|
27779
|
+
var REALTIME_CALL_ID_PATTERN = /^rtc_[A-Za-z0-9_-]{1,128}$/u;
|
|
27780
|
+
var requestId = external_exports.string().min(1).max(128);
|
|
27781
|
+
var realtimeCallParamsSchema = external_exports.discriminatedUnion("operation", [
|
|
27782
|
+
external_exports.object({
|
|
27783
|
+
operation: external_exports.literal("create"),
|
|
27784
|
+
requestId,
|
|
27785
|
+
body: external_exports.string().min(1).max(16 << 20),
|
|
27786
|
+
headers: external_exports.record(external_exports.string(), external_exports.string()).default({})
|
|
27787
|
+
}),
|
|
27788
|
+
external_exports.object({ operation: external_exports.literal("cancel"), requestId }),
|
|
27789
|
+
external_exports.object({
|
|
27790
|
+
operation: external_exports.literal("hangup"),
|
|
27791
|
+
callId: external_exports.string().regex(REALTIME_CALL_ID_PATTERN)
|
|
27792
|
+
})
|
|
27793
|
+
]);
|
|
27794
|
+
var realtimeCallResponseSchema = external_exports.object({
|
|
27795
|
+
status: external_exports.number().int().min(200).max(599),
|
|
27796
|
+
body: external_exports.string(),
|
|
27797
|
+
headers: external_exports.record(external_exports.string(), external_exports.string())
|
|
27798
|
+
});
|
|
27799
|
+
|
|
27770
27800
|
// ../../shared-contracts/dist/console.js
|
|
27771
27801
|
var consoleAnnouncementSchema = external_exports.strictObject({
|
|
27772
27802
|
title: external_exports.string().trim().min(1).max(200),
|
|
@@ -27779,6 +27809,7 @@ var consoleOpenResultSchema = external_exports.strictObject({
|
|
|
27779
27809
|
url: external_exports.string().max(2048).regex(/^http:\/\/(?:127\.0\.0\.1|localhost):\d{1,5}\/(?:\?.*)?$/u)
|
|
27780
27810
|
});
|
|
27781
27811
|
var CONSOLE_HOST_METHODS = Object.freeze([
|
|
27812
|
+
"codexhost/voice/gateway-status",
|
|
27782
27813
|
"codexhost/console/remote-connections",
|
|
27783
27814
|
"codexhost/runtime/status",
|
|
27784
27815
|
"codexhost/remote/ssh-setup",
|
|
@@ -28888,6 +28919,52 @@ var remoteConnectionsReplySchema = external_exports.union([
|
|
|
28888
28919
|
external_exports.strictObject({ error: external_exports.strictObject({ code: external_exports.number().int(), message: external_exports.string() }) })
|
|
28889
28920
|
]);
|
|
28890
28921
|
|
|
28922
|
+
// ../../shared-contracts/dist/voice-settings.js
|
|
28923
|
+
var voiceRoutesSchema = external_exports.strictObject({
|
|
28924
|
+
chatExperience: external_exports.enum(["chatgpt", "codex"]),
|
|
28925
|
+
chatConnection: external_exports.enum(["desktop", "gateway"]),
|
|
28926
|
+
workConnection: external_exports.enum(["desktop", "gateway"])
|
|
28927
|
+
});
|
|
28928
|
+
var DEFAULT_VOICE_ROUTES = Object.freeze({
|
|
28929
|
+
chatExperience: "chatgpt",
|
|
28930
|
+
chatConnection: "desktop",
|
|
28931
|
+
workConnection: "gateway"
|
|
28932
|
+
});
|
|
28933
|
+
var voiceSettingsSchema = voiceRoutesSchema.extend({ inject: external_exports.boolean() });
|
|
28934
|
+
var voiceSettingsRequestSchema = external_exports.discriminatedUnion("operation", [
|
|
28935
|
+
external_exports.strictObject({
|
|
28936
|
+
operation: external_exports.literal("get"),
|
|
28937
|
+
runtime: external_exports.strictObject({
|
|
28938
|
+
id: external_exports.string().uuid(),
|
|
28939
|
+
revision: external_exports.string().max(64),
|
|
28940
|
+
activeCall: external_exports.boolean()
|
|
28941
|
+
}).optional()
|
|
28942
|
+
}),
|
|
28943
|
+
external_exports.strictObject({ operation: external_exports.literal("migrate"), routes: voiceRoutesSchema }),
|
|
28944
|
+
external_exports.strictObject({
|
|
28945
|
+
operation: external_exports.literal("set"),
|
|
28946
|
+
settings: voiceSettingsSchema,
|
|
28947
|
+
revision: external_exports.string().max(64)
|
|
28948
|
+
}),
|
|
28949
|
+
external_exports.strictObject({ operation: external_exports.literal("restart"), confirm: external_exports.literal(true) })
|
|
28950
|
+
]);
|
|
28951
|
+
var voiceSettingsStateSchema = external_exports.strictObject({
|
|
28952
|
+
settings: voiceSettingsSchema,
|
|
28953
|
+
initialized: external_exports.boolean(),
|
|
28954
|
+
revision: external_exports.string(),
|
|
28955
|
+
activeInject: external_exports.boolean().nullable(),
|
|
28956
|
+
envOverride: external_exports.enum(["0", "1"]).nullable(),
|
|
28957
|
+
activeEnvOverride: external_exports.enum(["0", "1"]).nullable(),
|
|
28958
|
+
routesActive: external_exports.boolean().nullable(),
|
|
28959
|
+
activeCall: external_exports.boolean().nullable(),
|
|
28960
|
+
gatewayReady: external_exports.boolean().nullable(),
|
|
28961
|
+
restartAvailable: external_exports.boolean(),
|
|
28962
|
+
restart: external_exports.strictObject({
|
|
28963
|
+
phase: external_exports.enum(["idle", "restarting", "succeeded", "failed"]),
|
|
28964
|
+
error: external_exports.string().nullable()
|
|
28965
|
+
})
|
|
28966
|
+
});
|
|
28967
|
+
|
|
28891
28968
|
// ../../shared-contracts/dist/index.js
|
|
28892
28969
|
var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
|
|
28893
28970
|
|
|
@@ -37211,10 +37288,10 @@ var Protocol = class {
|
|
|
37211
37288
|
while (queuedMessage = await this._taskMessageQueue.dequeue(taskId, extra.sessionId)) {
|
|
37212
37289
|
if (queuedMessage.type === "response" || queuedMessage.type === "error") {
|
|
37213
37290
|
const message = queuedMessage.message;
|
|
37214
|
-
const
|
|
37215
|
-
const resolver = this._requestResolvers.get(
|
|
37291
|
+
const requestId2 = message.id;
|
|
37292
|
+
const resolver = this._requestResolvers.get(requestId2);
|
|
37216
37293
|
if (resolver) {
|
|
37217
|
-
this._requestResolvers.delete(
|
|
37294
|
+
this._requestResolvers.delete(requestId2);
|
|
37218
37295
|
if (queuedMessage.type === "response") {
|
|
37219
37296
|
resolver(message);
|
|
37220
37297
|
} else {
|
|
@@ -37224,7 +37301,7 @@ var Protocol = class {
|
|
|
37224
37301
|
}
|
|
37225
37302
|
} else {
|
|
37226
37303
|
const messageType = queuedMessage.type === "response" ? "Response" : "Error";
|
|
37227
|
-
this._onerror(new Error(`${messageType} handler missing for request ${
|
|
37304
|
+
this._onerror(new Error(`${messageType} handler missing for request ${requestId2}`));
|
|
37228
37305
|
}
|
|
37229
37306
|
continue;
|
|
37230
37307
|
}
|
|
@@ -37993,13 +38070,13 @@ var Protocol = class {
|
|
|
37993
38070
|
const messages = await this._taskMessageQueue.dequeueAll(taskId, sessionId);
|
|
37994
38071
|
for (const message of messages) {
|
|
37995
38072
|
if (message.type === "request" && isJSONRPCRequest(message.message)) {
|
|
37996
|
-
const
|
|
37997
|
-
const resolver = this._requestResolvers.get(
|
|
38073
|
+
const requestId2 = message.message.id;
|
|
38074
|
+
const resolver = this._requestResolvers.get(requestId2);
|
|
37998
38075
|
if (resolver) {
|
|
37999
38076
|
resolver(new McpError(ErrorCode.InternalError, "Task cancelled or completed"));
|
|
38000
|
-
this._requestResolvers.delete(
|
|
38077
|
+
this._requestResolvers.delete(requestId2);
|
|
38001
38078
|
} else {
|
|
38002
|
-
this._onerror(new Error(`Resolver missing for request ${
|
|
38079
|
+
this._onerror(new Error(`Resolver missing for request ${requestId2} during task ${taskId} cleanup`));
|
|
38003
38080
|
}
|
|
38004
38081
|
}
|
|
38005
38082
|
}
|
|
@@ -27364,6 +27364,36 @@ var hostInteractionIdSchema = opaqueIdSchema.brand();
|
|
|
27364
27364
|
var threadPrewarmDiscardParamsSchema = external_exports.object({ threadId: hostThreadIdSchema });
|
|
27365
27365
|
var threadPrewarmDiscardResultSchema = external_exports.object({ discarded: external_exports.boolean() });
|
|
27366
27366
|
|
|
27367
|
+
// ../../shared-contracts/dist/realtime-call.js
|
|
27368
|
+
var REALTIME_CALL_FORWARDED_HEADERS = [
|
|
27369
|
+
"openai-alpha",
|
|
27370
|
+
"thread-id",
|
|
27371
|
+
"session-id",
|
|
27372
|
+
"originator",
|
|
27373
|
+
"x-codex-turn-metadata"
|
|
27374
|
+
];
|
|
27375
|
+
var FORWARDED_HEADERS = new Set(REALTIME_CALL_FORWARDED_HEADERS);
|
|
27376
|
+
var REALTIME_CALL_ID_PATTERN = /^rtc_[A-Za-z0-9_-]{1,128}$/u;
|
|
27377
|
+
var requestId = external_exports.string().min(1).max(128);
|
|
27378
|
+
var realtimeCallParamsSchema = external_exports.discriminatedUnion("operation", [
|
|
27379
|
+
external_exports.object({
|
|
27380
|
+
operation: external_exports.literal("create"),
|
|
27381
|
+
requestId,
|
|
27382
|
+
body: external_exports.string().min(1).max(16 << 20),
|
|
27383
|
+
headers: external_exports.record(external_exports.string(), external_exports.string()).default({})
|
|
27384
|
+
}),
|
|
27385
|
+
external_exports.object({ operation: external_exports.literal("cancel"), requestId }),
|
|
27386
|
+
external_exports.object({
|
|
27387
|
+
operation: external_exports.literal("hangup"),
|
|
27388
|
+
callId: external_exports.string().regex(REALTIME_CALL_ID_PATTERN)
|
|
27389
|
+
})
|
|
27390
|
+
]);
|
|
27391
|
+
var realtimeCallResponseSchema = external_exports.object({
|
|
27392
|
+
status: external_exports.number().int().min(200).max(599),
|
|
27393
|
+
body: external_exports.string(),
|
|
27394
|
+
headers: external_exports.record(external_exports.string(), external_exports.string())
|
|
27395
|
+
});
|
|
27396
|
+
|
|
27367
27397
|
// ../../shared-contracts/dist/console.js
|
|
27368
27398
|
var consoleAnnouncementSchema = external_exports.strictObject({
|
|
27369
27399
|
title: external_exports.string().trim().min(1).max(200),
|
|
@@ -27376,6 +27406,7 @@ var consoleOpenResultSchema = external_exports.strictObject({
|
|
|
27376
27406
|
url: external_exports.string().max(2048).regex(/^http:\/\/(?:127\.0\.0\.1|localhost):\d{1,5}\/(?:\?.*)?$/u)
|
|
27377
27407
|
});
|
|
27378
27408
|
var CONSOLE_HOST_METHODS = Object.freeze([
|
|
27409
|
+
"codexhost/voice/gateway-status",
|
|
27379
27410
|
"codexhost/console/remote-connections",
|
|
27380
27411
|
"codexhost/runtime/status",
|
|
27381
27412
|
"codexhost/remote/ssh-setup",
|
|
@@ -28485,6 +28516,52 @@ var remoteConnectionsReplySchema = external_exports.union([
|
|
|
28485
28516
|
external_exports.strictObject({ error: external_exports.strictObject({ code: external_exports.number().int(), message: external_exports.string() }) })
|
|
28486
28517
|
]);
|
|
28487
28518
|
|
|
28519
|
+
// ../../shared-contracts/dist/voice-settings.js
|
|
28520
|
+
var voiceRoutesSchema = external_exports.strictObject({
|
|
28521
|
+
chatExperience: external_exports.enum(["chatgpt", "codex"]),
|
|
28522
|
+
chatConnection: external_exports.enum(["desktop", "gateway"]),
|
|
28523
|
+
workConnection: external_exports.enum(["desktop", "gateway"])
|
|
28524
|
+
});
|
|
28525
|
+
var DEFAULT_VOICE_ROUTES = Object.freeze({
|
|
28526
|
+
chatExperience: "chatgpt",
|
|
28527
|
+
chatConnection: "desktop",
|
|
28528
|
+
workConnection: "gateway"
|
|
28529
|
+
});
|
|
28530
|
+
var voiceSettingsSchema = voiceRoutesSchema.extend({ inject: external_exports.boolean() });
|
|
28531
|
+
var voiceSettingsRequestSchema = external_exports.discriminatedUnion("operation", [
|
|
28532
|
+
external_exports.strictObject({
|
|
28533
|
+
operation: external_exports.literal("get"),
|
|
28534
|
+
runtime: external_exports.strictObject({
|
|
28535
|
+
id: external_exports.string().uuid(),
|
|
28536
|
+
revision: external_exports.string().max(64),
|
|
28537
|
+
activeCall: external_exports.boolean()
|
|
28538
|
+
}).optional()
|
|
28539
|
+
}),
|
|
28540
|
+
external_exports.strictObject({ operation: external_exports.literal("migrate"), routes: voiceRoutesSchema }),
|
|
28541
|
+
external_exports.strictObject({
|
|
28542
|
+
operation: external_exports.literal("set"),
|
|
28543
|
+
settings: voiceSettingsSchema,
|
|
28544
|
+
revision: external_exports.string().max(64)
|
|
28545
|
+
}),
|
|
28546
|
+
external_exports.strictObject({ operation: external_exports.literal("restart"), confirm: external_exports.literal(true) })
|
|
28547
|
+
]);
|
|
28548
|
+
var voiceSettingsStateSchema = external_exports.strictObject({
|
|
28549
|
+
settings: voiceSettingsSchema,
|
|
28550
|
+
initialized: external_exports.boolean(),
|
|
28551
|
+
revision: external_exports.string(),
|
|
28552
|
+
activeInject: external_exports.boolean().nullable(),
|
|
28553
|
+
envOverride: external_exports.enum(["0", "1"]).nullable(),
|
|
28554
|
+
activeEnvOverride: external_exports.enum(["0", "1"]).nullable(),
|
|
28555
|
+
routesActive: external_exports.boolean().nullable(),
|
|
28556
|
+
activeCall: external_exports.boolean().nullable(),
|
|
28557
|
+
gatewayReady: external_exports.boolean().nullable(),
|
|
28558
|
+
restartAvailable: external_exports.boolean(),
|
|
28559
|
+
restart: external_exports.strictObject({
|
|
28560
|
+
phase: external_exports.enum(["idle", "restarting", "succeeded", "failed"]),
|
|
28561
|
+
error: external_exports.string().nullable()
|
|
28562
|
+
})
|
|
28563
|
+
});
|
|
28564
|
+
|
|
28488
28565
|
// ../../shared-contracts/dist/index.js
|
|
28489
28566
|
var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
|
|
28490
28567
|
|
|
@@ -37213,10 +37290,10 @@ var Protocol = class {
|
|
|
37213
37290
|
while (queuedMessage = await this._taskMessageQueue.dequeue(taskId, extra.sessionId)) {
|
|
37214
37291
|
if (queuedMessage.type === "response" || queuedMessage.type === "error") {
|
|
37215
37292
|
const message = queuedMessage.message;
|
|
37216
|
-
const
|
|
37217
|
-
const resolver = this._requestResolvers.get(
|
|
37293
|
+
const requestId2 = message.id;
|
|
37294
|
+
const resolver = this._requestResolvers.get(requestId2);
|
|
37218
37295
|
if (resolver) {
|
|
37219
|
-
this._requestResolvers.delete(
|
|
37296
|
+
this._requestResolvers.delete(requestId2);
|
|
37220
37297
|
if (queuedMessage.type === "response") {
|
|
37221
37298
|
resolver(message);
|
|
37222
37299
|
} else {
|
|
@@ -37226,7 +37303,7 @@ var Protocol = class {
|
|
|
37226
37303
|
}
|
|
37227
37304
|
} else {
|
|
37228
37305
|
const messageType = queuedMessage.type === "response" ? "Response" : "Error";
|
|
37229
|
-
this._onerror(new Error(`${messageType} handler missing for request ${
|
|
37306
|
+
this._onerror(new Error(`${messageType} handler missing for request ${requestId2}`));
|
|
37230
37307
|
}
|
|
37231
37308
|
continue;
|
|
37232
37309
|
}
|
|
@@ -37995,13 +38072,13 @@ var Protocol = class {
|
|
|
37995
38072
|
const messages = await this._taskMessageQueue.dequeueAll(taskId, sessionId);
|
|
37996
38073
|
for (const message of messages) {
|
|
37997
38074
|
if (message.type === "request" && isJSONRPCRequest(message.message)) {
|
|
37998
|
-
const
|
|
37999
|
-
const resolver = this._requestResolvers.get(
|
|
38075
|
+
const requestId2 = message.message.id;
|
|
38076
|
+
const resolver = this._requestResolvers.get(requestId2);
|
|
38000
38077
|
if (resolver) {
|
|
38001
38078
|
resolver(new McpError(ErrorCode.InternalError, "Task cancelled or completed"));
|
|
38002
|
-
this._requestResolvers.delete(
|
|
38079
|
+
this._requestResolvers.delete(requestId2);
|
|
38003
38080
|
} else {
|
|
38004
|
-
this._onerror(new Error(`Resolver missing for request ${
|
|
38081
|
+
this._onerror(new Error(`Resolver missing for request ${requestId2} during task ${taskId} cleanup`));
|
|
38005
38082
|
}
|
|
38006
38083
|
}
|
|
38007
38084
|
}
|