@codexhost/cli-linux-arm64 0.13.3 → 0.14.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 +58 -5
- package/app/console-web.js +437 -68
- package/app/desktop-controller.mjs +72 -9
- package/app/host-runtime.mjs +766 -214
- package/app/plugins/antigravity/plugin.mjs +91 -13
- package/app/plugins/claude-code/plugin.mjs +407 -26
- package/app/plugins/codebuddy/plugin.mjs +117 -22
- package/app/plugins/codex-usage/plugin.mjs +176 -74
- package/app/plugins/copilot/assets/icon.png +0 -0
- package/app/plugins/copilot/manifest.json +26 -0
- package/app/plugins/copilot/plugin.mjs +34546 -0
- package/app/plugins/cursor-cli/plugin.mjs +20701 -44819
- package/app/plugins/deepseek-harness/plugin.mjs +83 -11
- package/app/plugins/enabled.json +1 -0
- package/app/plugins/grok/plugin.mjs +214 -24
- package/app/plugins/hermes/plugin.mjs +80 -9
- package/app/plugins/kimi-code/plugin.mjs +76 -7
- package/app/plugins/kiro-cli/plugin.mjs +76 -7
- package/app/plugins/omp/plugin.mjs +2155 -2000
- package/app/plugins/opencode/plugin.mjs +85 -11
- package/app/plugins/pi/plugin.mjs +2547 -2300
- package/app/plugins/qoder/plugin.mjs +83 -11
- package/app/plugins/qoder-cn/plugin.mjs +83 -11
- package/app/plugins/workbuddy/plugin.mjs +378 -46
- package/app/plugins/zcode/plugin.mjs +84 -11
- package/app/renderer-extension.js +834 -163
- 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),
|
|
@@ -15207,6 +15216,8 @@ var CONSOLE_HOST_METHODS = Object.freeze([
|
|
|
15207
15216
|
"codexhost/harness/display-settings/set",
|
|
15208
15217
|
"codexhost/harness/inspect",
|
|
15209
15218
|
"codexhost/harness/installation",
|
|
15219
|
+
"codexhost/harness/installation/start",
|
|
15220
|
+
"codexhost/harness/installation/status",
|
|
15210
15221
|
"codexhost/harness/launch-settings/get",
|
|
15211
15222
|
"codexhost/harness/launch-settings/set",
|
|
15212
15223
|
"codexhost/harness/web-ui/open",
|
|
@@ -15282,7 +15293,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
|
|
|
15282
15293
|
var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
|
|
15283
15294
|
var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
|
|
15284
15295
|
var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
|
|
15296
|
+
var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text) => text.length <= maximum));
|
|
15297
|
+
var composerIndicatorsSchema = external_exports.array(external_exports.object({
|
|
15298
|
+
kind: external_exports.literal("countdown"),
|
|
15299
|
+
id: external_exports.string().min(1).max(64),
|
|
15300
|
+
expiresAtUnix: nonNegativeSafeIntegerSchema,
|
|
15301
|
+
label: indicatorTextSchema(256).optional(),
|
|
15302
|
+
tooltip: indicatorTextSchema(1024).optional()
|
|
15303
|
+
}).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
|
|
15304
|
+
message: "Composer indicator IDs must be unique"
|
|
15305
|
+
});
|
|
15285
15306
|
var threadUsageSnapshotSchema = external_exports.object({
|
|
15307
|
+
composerIndicators: composerIndicatorsSchema.optional(),
|
|
15286
15308
|
inputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15287
15309
|
cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15288
15310
|
cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
@@ -15690,7 +15712,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
|
|
|
15690
15712
|
}).strict().optional(),
|
|
15691
15713
|
autonomousTurns: external_exports.object({
|
|
15692
15714
|
observe: external_exports.boolean()
|
|
15693
|
-
}).strict().optional()
|
|
15715
|
+
}).strict().optional(),
|
|
15716
|
+
/** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
|
|
15717
|
+
steer: external_exports.boolean().optional()
|
|
15694
15718
|
}).strict();
|
|
15695
15719
|
var harnessConfigurationStateSchema = external_exports.object({
|
|
15696
15720
|
effectiveModel: harnessModelRefSchema.optional(),
|
|
@@ -15737,7 +15761,9 @@ var harnessInspectionSchema = external_exports.union([
|
|
|
15737
15761
|
var harnessInspectParamsSchema = external_exports.object({
|
|
15738
15762
|
harnessId: harnessIdSchema,
|
|
15739
15763
|
cwd: nonBlankTextSchema2.max(16384).optional(),
|
|
15740
|
-
refresh: external_exports.boolean().optional()
|
|
15764
|
+
refresh: external_exports.boolean().optional(),
|
|
15765
|
+
/** `availability` asks only whether the Harness can run; see `InspectHarnessInput.purpose`. */
|
|
15766
|
+
purpose: external_exports.literal("availability").optional()
|
|
15741
15767
|
}).strict();
|
|
15742
15768
|
var harnessWebUiOpenParamsSchema = external_exports.object({
|
|
15743
15769
|
harnessId: harnessIdSchema
|
|
@@ -15820,6 +15846,15 @@ var threadOwnershipListResultSchema = external_exports.object({
|
|
|
15820
15846
|
seen.add(thread.threadId);
|
|
15821
15847
|
}
|
|
15822
15848
|
});
|
|
15849
|
+
var threadSteeringInspectParamsSchema = external_exports.object({
|
|
15850
|
+
threadId: hostThreadIdSchema,
|
|
15851
|
+
/** The text about to be steered; a Harness command always stops and restarts. */
|
|
15852
|
+
text: external_exports.string().optional()
|
|
15853
|
+
}).strict();
|
|
15854
|
+
var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
|
|
15855
|
+
var threadSteeringInspectResultSchema = external_exports.object({
|
|
15856
|
+
delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
|
|
15857
|
+
}).strict();
|
|
15823
15858
|
|
|
15824
15859
|
// ../../shared-contracts/dist/harness-plugins.js
|
|
15825
15860
|
var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
|
|
@@ -15921,6 +15956,10 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15921
15956
|
latestVersion: external_exports.string().min(1).max(128),
|
|
15922
15957
|
updateAvailable: external_exports.boolean(),
|
|
15923
15958
|
canUpdate: external_exports.boolean(),
|
|
15959
|
+
/** Defaults to CLI; some Harnesses ship only inside a desktop application. */
|
|
15960
|
+
versionKind: external_exports.enum(["cli", "application"]).optional(),
|
|
15961
|
+
/** Official download opened by the user; does not imply an automatic installation. */
|
|
15962
|
+
manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
|
|
15924
15963
|
// Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
|
|
15925
15964
|
message: external_exports.string().max(2048).optional(),
|
|
15926
15965
|
messageCode: external_exports.string().min(1).max(128).optional(),
|
|
@@ -15928,6 +15967,20 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15928
15967
|
notice: harnessLocalizedTextSchema.optional(),
|
|
15929
15968
|
latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
|
|
15930
15969
|
}).strict();
|
|
15970
|
+
var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
|
|
15971
|
+
var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
|
|
15972
|
+
external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
|
|
15973
|
+
external_exports.object({
|
|
15974
|
+
taskId: external_exports.string().uuid(),
|
|
15975
|
+
status: external_exports.literal("succeeded"),
|
|
15976
|
+
result: harnessInstallationStateSchema
|
|
15977
|
+
}).strict(),
|
|
15978
|
+
external_exports.object({
|
|
15979
|
+
taskId: external_exports.string().uuid(),
|
|
15980
|
+
status: external_exports.literal("failed"),
|
|
15981
|
+
error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
|
|
15982
|
+
}).strict()
|
|
15983
|
+
]);
|
|
15931
15984
|
|
|
15932
15985
|
// ../../shared-contracts/dist/codex-accounts.js
|
|
15933
15986
|
var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
|
|
@@ -16405,6 +16458,18 @@ function sanitizeDiagnosticTail(value) {
|
|
|
16405
16458
|
return redacted.length <= DIAGNOSTIC_TAIL_MAX_LENGTH ? redacted : redacted.slice(-DIAGNOSTIC_TAIL_MAX_LENGTH);
|
|
16406
16459
|
}
|
|
16407
16460
|
|
|
16461
|
+
// ../../harness-adapter/dist/steer.js
|
|
16462
|
+
function unsupportedSteer(harnessLabel) {
|
|
16463
|
+
return {
|
|
16464
|
+
ok: false,
|
|
16465
|
+
error: {
|
|
16466
|
+
code: "unsupported",
|
|
16467
|
+
message: `${harnessLabel} cannot steer an active Turn natively`,
|
|
16468
|
+
retryable: false
|
|
16469
|
+
}
|
|
16470
|
+
};
|
|
16471
|
+
}
|
|
16472
|
+
|
|
16408
16473
|
// ../../harness-adapter/dist/usage.js
|
|
16409
16474
|
var tokenFields = [
|
|
16410
16475
|
"inputTokens",
|
|
@@ -16432,6 +16497,7 @@ var usageFields = /* @__PURE__ */ new Set([
|
|
|
16432
16497
|
...safeIntegerFields,
|
|
16433
16498
|
...percentFields,
|
|
16434
16499
|
"sessionCacheUsage",
|
|
16500
|
+
"composerIndicators",
|
|
16435
16501
|
"totalCostUsd",
|
|
16436
16502
|
"totalCredits",
|
|
16437
16503
|
"contextUsagePercent",
|
|
@@ -19042,6 +19108,8 @@ var AntigravitySession = class {
|
|
|
19042
19108
|
#closed = false;
|
|
19043
19109
|
#model;
|
|
19044
19110
|
#nativeRef;
|
|
19111
|
+
/** The last result's `response`: agy carries earlier Turns' replies in it. */
|
|
19112
|
+
#lastResultResponse = "";
|
|
19045
19113
|
#permissionMode;
|
|
19046
19114
|
#thinkingOptionId;
|
|
19047
19115
|
#catalog;
|
|
@@ -19103,6 +19171,8 @@ var AntigravitySession = class {
|
|
|
19103
19171
|
return { ok: false, error: invalidState("Antigravity Session is closed") };
|
|
19104
19172
|
if (command.type === "turn.cancel")
|
|
19105
19173
|
return this.#cancel(command);
|
|
19174
|
+
if (command.type === "turn.steer")
|
|
19175
|
+
return unsupportedSteer("Antigravity");
|
|
19106
19176
|
if (command.type === "model.select")
|
|
19107
19177
|
return this.#selectModel(command);
|
|
19108
19178
|
if (command.type === "permissionMode.select")
|
|
@@ -19429,9 +19499,13 @@ ${line}`).slice(-8e3);
|
|
|
19429
19499
|
this.#history.bindNativeSession(convId);
|
|
19430
19500
|
this.#event({ type: "session.state.changed", state: this.#state() });
|
|
19431
19501
|
}
|
|
19432
|
-
|
|
19433
|
-
|
|
19434
|
-
|
|
19502
|
+
const response = event.result.response ?? "";
|
|
19503
|
+
const turnReply = response.startsWith(this.#lastResultResponse) ? response.slice(this.#lastResultResponse.length) : response;
|
|
19504
|
+
const repliedThisTurn = Boolean(active.agentItem) || turnReply.trim() !== "";
|
|
19505
|
+
if (response)
|
|
19506
|
+
this.#lastResultResponse = response;
|
|
19507
|
+
if (turnReply.trim() !== "")
|
|
19508
|
+
this.#appendOrSyncAgentText(active, turnReply, false);
|
|
19435
19509
|
const safeTurnId = event.result.num_turns !== void 0 && event.result.num_turns !== null ? `turn:${event.result.num_turns}` : `turn:${this.#history.snapshot().length + 1}`;
|
|
19436
19510
|
const safeSessionId = convId || this.#nativeRef?.nativeSessionId || "unknown-session";
|
|
19437
19511
|
const nativeTurnRef = nativeTurnRefSchema.parse({
|
|
@@ -19461,13 +19535,17 @@ ${line}`).slice(-8e3);
|
|
|
19461
19535
|
} else {
|
|
19462
19536
|
const nativeError = event.result.error?.trim();
|
|
19463
19537
|
const errorDetail = nativeError || active.stderr;
|
|
19464
|
-
|
|
19465
|
-
|
|
19466
|
-
|
|
19467
|
-
|
|
19468
|
-
|
|
19538
|
+
const error51 = normalizedProcessError(errorDetail, `Antigravity Turn ended with status ${event.result.status}`, nativeError !== void 0);
|
|
19539
|
+
if (repliedThisTurn && nativeError && this.#reportedEarlier(error51)) {
|
|
19540
|
+
this.#completeTurn(active, { status: "succeeded", checkpoint }, nativeTurnRef);
|
|
19541
|
+
} else {
|
|
19542
|
+
this.#completeTurn(active, { status: "failed", error: error51, checkpoint }, nativeTurnRef);
|
|
19543
|
+
}
|
|
19469
19544
|
}
|
|
19470
19545
|
}
|
|
19546
|
+
#reportedEarlier(error51) {
|
|
19547
|
+
return this.#history.snapshot().some(({ outcome }) => outcome.status === "failed" && outcome.error.code === error51.code && outcome.error.message === error51.message);
|
|
19548
|
+
}
|
|
19471
19549
|
#publishUsage(active, usage) {
|
|
19472
19550
|
active.latestUsage = { ...active.latestUsage ?? {}, ...usage };
|
|
19473
19551
|
this.#event({
|