@karlorz/codexhost-cli-darwin-x64 0.13.3-6 → 0.14.0-0
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 +539 -95
- package/app/console-web.js +879 -73
- package/app/cpa-live-voice-hook.js +605 -37
- package/app/desktop-controller.mjs +94 -9
- package/app/host-runtime.mjs +1662 -642
- package/app/plugins/antigravity/plugin.mjs +113 -13
- package/app/plugins/claude-code/plugin.mjs +429 -26
- package/app/plugins/codebuddy/plugin.mjs +139 -22
- package/app/plugins/codex-usage/plugin.mjs +198 -74
- package/app/plugins/copilot/assets/icon.png +0 -0
- package/app/plugins/copilot/manifest.json +26 -0
- package/app/plugins/copilot/plugin.mjs +34645 -0
- package/app/plugins/cursor-cli/plugin.mjs +20877 -44973
- package/app/plugins/deepseek-harness/plugin.mjs +105 -11
- package/app/plugins/enabled.json +1 -0
- package/app/plugins/grok/plugin.mjs +1073 -214
- package/app/plugins/hermes/plugin.mjs +102 -9
- package/app/plugins/kimi-code/plugin.mjs +98 -7
- package/app/plugins/kiro-cli/plugin.mjs +98 -7
- package/app/plugins/omp/plugin.mjs +2177 -2000
- package/app/plugins/opencode/plugin.mjs +107 -11
- package/app/plugins/pi/plugin.mjs +2554 -2285
- package/app/plugins/qoder/plugin.mjs +105 -11
- package/app/plugins/qoder-cn/plugin.mjs +105 -11
- package/app/plugins/workbuddy/plugin.mjs +400 -46
- package/app/plugins/zcode/plugin.mjs +106 -11
- package/app/renderer-extension.js +2717 -1237
- package/bin/codexhost +0 -0
- package/libexec/codexhost-shim +0 -0
- package/libexec/codexhost-updater +0 -0
- package/package.json +1 -1
|
@@ -15068,10 +15068,19 @@ var model = external_exports.string().min(1).max(512);
|
|
|
15068
15068
|
var project = external_exports.string().min(1).max(4096);
|
|
15069
15069
|
var usageStatisticsParamsSchema = external_exports.strictObject({
|
|
15070
15070
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
15071
|
+
/** Display timezone for ranges, dates and hourly buckets; omitted means the Host's local zone. */
|
|
15072
|
+
timeZone: external_exports.string().min(1).max(128).refine((value) => {
|
|
15073
|
+
try {
|
|
15074
|
+
new Intl.DateTimeFormat("en", { timeZone: value });
|
|
15075
|
+
return true;
|
|
15076
|
+
} catch {
|
|
15077
|
+
return false;
|
|
15078
|
+
}
|
|
15079
|
+
}, "Unsupported usage statistics timezone").optional(),
|
|
15071
15080
|
harness: harness.optional(),
|
|
15072
15081
|
model: model.nullable().optional(),
|
|
15073
15082
|
project: project.nullable().optional(),
|
|
15074
|
-
/** One
|
|
15083
|
+
/** One date in the query timezone inside the range. */
|
|
15075
15084
|
date: localDate.optional()
|
|
15076
15085
|
});
|
|
15077
15086
|
var usageStatisticsTotalsSchema = external_exports.strictObject({
|
|
@@ -15107,7 +15116,7 @@ var usageStatisticsSessionSchema = external_exports.strictObject({
|
|
|
15107
15116
|
});
|
|
15108
15117
|
var usageStatisticsResultSchema = external_exports.strictObject({
|
|
15109
15118
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
15110
|
-
/** First
|
|
15119
|
+
/** First date in the query timezone (Host local when omitted); null for all time. */
|
|
15111
15120
|
from: localDate.nullable(),
|
|
15112
15121
|
to: localDate,
|
|
15113
15122
|
/** The filters these figures apply, echoed so a late answer to older filters is recognised. */
|
|
@@ -15147,7 +15156,7 @@ var usageStatisticsResultSchema = external_exports.strictObject({
|
|
|
15147
15156
|
totals: usageStatisticsTotalsSchema,
|
|
15148
15157
|
/** Each date and Harness of the range: every filter except the day. */
|
|
15149
15158
|
daily: external_exports.array(external_exports.strictObject({ date: localDate, harness, ...totals })).max(2e5),
|
|
15150
|
-
/**
|
|
15159
|
+
/** Weekday (0 = Sunday) and hour in the query timezone, all filters applied. */
|
|
15151
15160
|
hourly: external_exports.array(external_exports.strictObject({
|
|
15152
15161
|
weekday: external_exports.number().int().min(0).max(6),
|
|
15153
15162
|
hour: external_exports.number().int().min(0).max(23),
|
|
@@ -15238,8 +15247,12 @@ var CONSOLE_HOST_METHODS = Object.freeze([
|
|
|
15238
15247
|
"codexhost/harness/display-settings/set",
|
|
15239
15248
|
"codexhost/harness/inspect",
|
|
15240
15249
|
"codexhost/harness/installation",
|
|
15250
|
+
"codexhost/harness/installation/start",
|
|
15251
|
+
"codexhost/harness/installation/status",
|
|
15241
15252
|
"codexhost/harness/launch-settings/get",
|
|
15242
15253
|
"codexhost/harness/launch-settings/set",
|
|
15254
|
+
"codexhost/harness/grok-computer-use/get",
|
|
15255
|
+
"codexhost/harness/grok-computer-use/set",
|
|
15243
15256
|
"codexhost/harness/web-ui/open",
|
|
15244
15257
|
"codexhost/harness/accounts/sources",
|
|
15245
15258
|
"codexhost/harness/accounts/list",
|
|
@@ -15313,7 +15326,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
|
|
|
15313
15326
|
var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
|
|
15314
15327
|
var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
|
|
15315
15328
|
var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
|
|
15329
|
+
var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text) => text.length <= maximum));
|
|
15330
|
+
var composerIndicatorsSchema = external_exports.array(external_exports.object({
|
|
15331
|
+
kind: external_exports.literal("countdown"),
|
|
15332
|
+
id: external_exports.string().min(1).max(64),
|
|
15333
|
+
expiresAtUnix: nonNegativeSafeIntegerSchema,
|
|
15334
|
+
label: indicatorTextSchema(256).optional(),
|
|
15335
|
+
tooltip: indicatorTextSchema(1024).optional()
|
|
15336
|
+
}).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
|
|
15337
|
+
message: "Composer indicator IDs must be unique"
|
|
15338
|
+
});
|
|
15316
15339
|
var threadUsageSnapshotSchema = external_exports.object({
|
|
15340
|
+
composerIndicators: composerIndicatorsSchema.optional(),
|
|
15317
15341
|
inputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15318
15342
|
cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15319
15343
|
cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
@@ -15721,7 +15745,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
|
|
|
15721
15745
|
}).strict().optional(),
|
|
15722
15746
|
autonomousTurns: external_exports.object({
|
|
15723
15747
|
observe: external_exports.boolean()
|
|
15724
|
-
}).strict().optional()
|
|
15748
|
+
}).strict().optional(),
|
|
15749
|
+
/** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
|
|
15750
|
+
steer: external_exports.boolean().optional()
|
|
15725
15751
|
}).strict();
|
|
15726
15752
|
var harnessConfigurationStateSchema = external_exports.object({
|
|
15727
15753
|
effectiveModel: harnessModelRefSchema.optional(),
|
|
@@ -15768,7 +15794,9 @@ var harnessInspectionSchema = external_exports.union([
|
|
|
15768
15794
|
var harnessInspectParamsSchema = external_exports.object({
|
|
15769
15795
|
harnessId: harnessIdSchema,
|
|
15770
15796
|
cwd: nonBlankTextSchema2.max(16384).optional(),
|
|
15771
|
-
refresh: external_exports.boolean().optional()
|
|
15797
|
+
refresh: external_exports.boolean().optional(),
|
|
15798
|
+
/** `availability` asks only whether the Harness can run; see `InspectHarnessInput.purpose`. */
|
|
15799
|
+
purpose: external_exports.literal("availability").optional()
|
|
15772
15800
|
}).strict();
|
|
15773
15801
|
var harnessWebUiOpenParamsSchema = external_exports.object({
|
|
15774
15802
|
harnessId: harnessIdSchema
|
|
@@ -15851,6 +15879,15 @@ var threadOwnershipListResultSchema = external_exports.object({
|
|
|
15851
15879
|
seen.add(thread.threadId);
|
|
15852
15880
|
}
|
|
15853
15881
|
});
|
|
15882
|
+
var threadSteeringInspectParamsSchema = external_exports.object({
|
|
15883
|
+
threadId: hostThreadIdSchema,
|
|
15884
|
+
/** The text about to be steered; a Harness command always stops and restarts. */
|
|
15885
|
+
text: external_exports.string().optional()
|
|
15886
|
+
}).strict();
|
|
15887
|
+
var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
|
|
15888
|
+
var threadSteeringInspectResultSchema = external_exports.object({
|
|
15889
|
+
delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
|
|
15890
|
+
}).strict();
|
|
15854
15891
|
|
|
15855
15892
|
// ../../shared-contracts/dist/harness-plugins.js
|
|
15856
15893
|
var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
|
|
@@ -15942,6 +15979,26 @@ var harnessLaunchSettingsSchema = external_exports.object({
|
|
|
15942
15979
|
restartRequired: external_exports.boolean()
|
|
15943
15980
|
}).strict();
|
|
15944
15981
|
|
|
15982
|
+
// ../../shared-contracts/dist/grok-computer-use.js
|
|
15983
|
+
var grokComputerUseGetSchema = external_exports.object({}).strict();
|
|
15984
|
+
var grokComputerUseSetSchema = external_exports.object({
|
|
15985
|
+
enabled: external_exports.boolean().optional(),
|
|
15986
|
+
browser: external_exports.boolean().optional()
|
|
15987
|
+
}).strict().refine((value) => value.enabled !== void 0 || value.browser !== void 0, {
|
|
15988
|
+
message: "Expected enabled or browser"
|
|
15989
|
+
});
|
|
15990
|
+
var grokComputerUseSettingsSchema = external_exports.object({
|
|
15991
|
+
enabled: external_exports.boolean(),
|
|
15992
|
+
available: external_exports.boolean(),
|
|
15993
|
+
unavailableReason: external_exports.string().min(1).max(500).optional(),
|
|
15994
|
+
browser: external_exports.boolean().optional(),
|
|
15995
|
+
browserFilesPresent: external_exports.boolean().optional(),
|
|
15996
|
+
browserAvailable: external_exports.boolean().optional(),
|
|
15997
|
+
browserUnavailableReason: external_exports.string().min(1).max(500).optional(),
|
|
15998
|
+
applyFailed: external_exports.boolean().optional(),
|
|
15999
|
+
applyError: external_exports.string().min(1).max(500).optional()
|
|
16000
|
+
}).strict();
|
|
16001
|
+
|
|
15945
16002
|
// ../../shared-contracts/dist/harness-installation.js
|
|
15946
16003
|
var harnessInstallationParamsSchema = external_exports.object({
|
|
15947
16004
|
harnessId: harnessIdSchema,
|
|
@@ -15952,6 +16009,10 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15952
16009
|
latestVersion: external_exports.string().min(1).max(128),
|
|
15953
16010
|
updateAvailable: external_exports.boolean(),
|
|
15954
16011
|
canUpdate: external_exports.boolean(),
|
|
16012
|
+
/** Defaults to CLI; some Harnesses ship only inside a desktop application. */
|
|
16013
|
+
versionKind: external_exports.enum(["cli", "application"]).optional(),
|
|
16014
|
+
/** Official download opened by the user; does not imply an automatic installation. */
|
|
16015
|
+
manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
|
|
15955
16016
|
// Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
|
|
15956
16017
|
message: external_exports.string().max(2048).optional(),
|
|
15957
16018
|
messageCode: external_exports.string().min(1).max(128).optional(),
|
|
@@ -15959,6 +16020,20 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15959
16020
|
notice: harnessLocalizedTextSchema.optional(),
|
|
15960
16021
|
latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
|
|
15961
16022
|
}).strict();
|
|
16023
|
+
var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
|
|
16024
|
+
var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
|
|
16025
|
+
external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
|
|
16026
|
+
external_exports.object({
|
|
16027
|
+
taskId: external_exports.string().uuid(),
|
|
16028
|
+
status: external_exports.literal("succeeded"),
|
|
16029
|
+
result: harnessInstallationStateSchema
|
|
16030
|
+
}).strict(),
|
|
16031
|
+
external_exports.object({
|
|
16032
|
+
taskId: external_exports.string().uuid(),
|
|
16033
|
+
status: external_exports.literal("failed"),
|
|
16034
|
+
error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
|
|
16035
|
+
}).strict()
|
|
16036
|
+
]);
|
|
15962
16037
|
|
|
15963
16038
|
// ../../shared-contracts/dist/codex-accounts.js
|
|
15964
16039
|
var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
|
|
@@ -16482,6 +16557,18 @@ function sanitizeDiagnosticTail(value) {
|
|
|
16482
16557
|
return redacted.length <= DIAGNOSTIC_TAIL_MAX_LENGTH ? redacted : redacted.slice(-DIAGNOSTIC_TAIL_MAX_LENGTH);
|
|
16483
16558
|
}
|
|
16484
16559
|
|
|
16560
|
+
// ../../harness-adapter/dist/steer.js
|
|
16561
|
+
function unsupportedSteer(harnessLabel) {
|
|
16562
|
+
return {
|
|
16563
|
+
ok: false,
|
|
16564
|
+
error: {
|
|
16565
|
+
code: "unsupported",
|
|
16566
|
+
message: `${harnessLabel} cannot steer an active Turn natively`,
|
|
16567
|
+
retryable: false
|
|
16568
|
+
}
|
|
16569
|
+
};
|
|
16570
|
+
}
|
|
16571
|
+
|
|
16485
16572
|
// ../../harness-adapter/dist/usage.js
|
|
16486
16573
|
var tokenFields = [
|
|
16487
16574
|
"inputTokens",
|
|
@@ -16509,6 +16596,7 @@ var usageFields = /* @__PURE__ */ new Set([
|
|
|
16509
16596
|
...safeIntegerFields,
|
|
16510
16597
|
...percentFields,
|
|
16511
16598
|
"sessionCacheUsage",
|
|
16599
|
+
"composerIndicators",
|
|
16512
16600
|
"totalCostUsd",
|
|
16513
16601
|
"totalCredits",
|
|
16514
16602
|
"contextUsagePercent",
|
|
@@ -19119,6 +19207,8 @@ var AntigravitySession = class {
|
|
|
19119
19207
|
#closed = false;
|
|
19120
19208
|
#model;
|
|
19121
19209
|
#nativeRef;
|
|
19210
|
+
/** The last result's `response`: agy carries earlier Turns' replies in it. */
|
|
19211
|
+
#lastResultResponse = "";
|
|
19122
19212
|
#permissionMode;
|
|
19123
19213
|
#thinkingOptionId;
|
|
19124
19214
|
#catalog;
|
|
@@ -19180,6 +19270,8 @@ var AntigravitySession = class {
|
|
|
19180
19270
|
return { ok: false, error: invalidState("Antigravity Session is closed") };
|
|
19181
19271
|
if (command.type === "turn.cancel")
|
|
19182
19272
|
return this.#cancel(command);
|
|
19273
|
+
if (command.type === "turn.steer")
|
|
19274
|
+
return unsupportedSteer("Antigravity");
|
|
19183
19275
|
if (command.type === "model.select")
|
|
19184
19276
|
return this.#selectModel(command);
|
|
19185
19277
|
if (command.type === "permissionMode.select")
|
|
@@ -19506,9 +19598,13 @@ ${line}`).slice(-8e3);
|
|
|
19506
19598
|
this.#history.bindNativeSession(convId);
|
|
19507
19599
|
this.#event({ type: "session.state.changed", state: this.#state() });
|
|
19508
19600
|
}
|
|
19509
|
-
|
|
19510
|
-
|
|
19511
|
-
|
|
19601
|
+
const response = event.result.response ?? "";
|
|
19602
|
+
const turnReply = response.startsWith(this.#lastResultResponse) ? response.slice(this.#lastResultResponse.length) : response;
|
|
19603
|
+
const repliedThisTurn = Boolean(active.agentItem) || turnReply.trim() !== "";
|
|
19604
|
+
if (response)
|
|
19605
|
+
this.#lastResultResponse = response;
|
|
19606
|
+
if (turnReply.trim() !== "")
|
|
19607
|
+
this.#appendOrSyncAgentText(active, turnReply, false);
|
|
19512
19608
|
const safeTurnId = event.result.num_turns !== void 0 && event.result.num_turns !== null ? `turn:${event.result.num_turns}` : `turn:${this.#history.snapshot().length + 1}`;
|
|
19513
19609
|
const safeSessionId = convId || this.#nativeRef?.nativeSessionId || "unknown-session";
|
|
19514
19610
|
const nativeTurnRef = nativeTurnRefSchema.parse({
|
|
@@ -19538,13 +19634,17 @@ ${line}`).slice(-8e3);
|
|
|
19538
19634
|
} else {
|
|
19539
19635
|
const nativeError = event.result.error?.trim();
|
|
19540
19636
|
const errorDetail = nativeError || active.stderr;
|
|
19541
|
-
|
|
19542
|
-
|
|
19543
|
-
|
|
19544
|
-
|
|
19545
|
-
|
|
19637
|
+
const error51 = normalizedProcessError(errorDetail, `Antigravity Turn ended with status ${event.result.status}`, nativeError !== void 0);
|
|
19638
|
+
if (repliedThisTurn && nativeError && this.#reportedEarlier(error51)) {
|
|
19639
|
+
this.#completeTurn(active, { status: "succeeded", checkpoint }, nativeTurnRef);
|
|
19640
|
+
} else {
|
|
19641
|
+
this.#completeTurn(active, { status: "failed", error: error51, checkpoint }, nativeTurnRef);
|
|
19642
|
+
}
|
|
19546
19643
|
}
|
|
19547
19644
|
}
|
|
19645
|
+
#reportedEarlier(error51) {
|
|
19646
|
+
return this.#history.snapshot().some(({ outcome }) => outcome.status === "failed" && outcome.error.code === error51.code && outcome.error.message === error51.message);
|
|
19647
|
+
}
|
|
19548
19648
|
#publishUsage(active, usage) {
|
|
19549
19649
|
active.latestUsage = { ...active.latestUsage ?? {}, ...usage };
|
|
19550
19650
|
this.#event({
|