@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
|
@@ -22,10 +22,13 @@ function usageSessionTitle(value) {
|
|
|
22
22
|
return void 0;
|
|
23
23
|
if (normalized.length <= MAX_SESSION_TITLE_LENGTH)
|
|
24
24
|
return normalized;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
let title = "";
|
|
26
|
+
for (const character of normalized) {
|
|
27
|
+
if (title.length + character.length >= MAX_SESSION_TITLE_LENGTH)
|
|
28
|
+
break;
|
|
29
|
+
title += character;
|
|
30
|
+
}
|
|
31
|
+
return `${title.trimEnd()}…`;
|
|
29
32
|
}
|
|
30
33
|
function sessionIdOk(value) {
|
|
31
34
|
return typeof value === "string" && value.length > 0 && value.length <= MAX_SESSION_ID_LENGTH;
|
|
@@ -14845,10 +14848,19 @@ var model = external_exports.string().min(1).max(512);
|
|
|
14845
14848
|
var project = external_exports.string().min(1).max(4096);
|
|
14846
14849
|
var usageStatisticsParamsSchema = external_exports.strictObject({
|
|
14847
14850
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
14851
|
+
/** Display timezone for ranges, dates and hourly buckets; omitted means the Host's local zone. */
|
|
14852
|
+
timeZone: external_exports.string().min(1).max(128).refine((value) => {
|
|
14853
|
+
try {
|
|
14854
|
+
new Intl.DateTimeFormat("en", { timeZone: value });
|
|
14855
|
+
return true;
|
|
14856
|
+
} catch {
|
|
14857
|
+
return false;
|
|
14858
|
+
}
|
|
14859
|
+
}, "Unsupported usage statistics timezone").optional(),
|
|
14848
14860
|
harness: harness.optional(),
|
|
14849
14861
|
model: model.nullable().optional(),
|
|
14850
14862
|
project: project.nullable().optional(),
|
|
14851
|
-
/** One
|
|
14863
|
+
/** One date in the query timezone inside the range. */
|
|
14852
14864
|
date: localDate.optional()
|
|
14853
14865
|
});
|
|
14854
14866
|
var usageStatisticsTotalsSchema = external_exports.strictObject({
|
|
@@ -14884,7 +14896,7 @@ var usageStatisticsSessionSchema = external_exports.strictObject({
|
|
|
14884
14896
|
});
|
|
14885
14897
|
var usageStatisticsResultSchema = external_exports.strictObject({
|
|
14886
14898
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
14887
|
-
/** First
|
|
14899
|
+
/** First date in the query timezone (Host local when omitted); null for all time. */
|
|
14888
14900
|
from: localDate.nullable(),
|
|
14889
14901
|
to: localDate,
|
|
14890
14902
|
/** The filters these figures apply, echoed so a late answer to older filters is recognised. */
|
|
@@ -14924,7 +14936,7 @@ var usageStatisticsResultSchema = external_exports.strictObject({
|
|
|
14924
14936
|
totals: usageStatisticsTotalsSchema,
|
|
14925
14937
|
/** Each date and Harness of the range: every filter except the day. */
|
|
14926
14938
|
daily: external_exports.array(external_exports.strictObject({ date: localDate, harness, ...totals })).max(2e5),
|
|
14927
|
-
/**
|
|
14939
|
+
/** Weekday (0 = Sunday) and hour in the query timezone, all filters applied. */
|
|
14928
14940
|
hourly: external_exports.array(external_exports.strictObject({
|
|
14929
14941
|
weekday: external_exports.number().int().min(0).max(6),
|
|
14930
14942
|
hour: external_exports.number().int().min(0).max(23),
|
|
@@ -14984,6 +14996,8 @@ var CONSOLE_HOST_METHODS = Object.freeze([
|
|
|
14984
14996
|
"codexhost/harness/display-settings/set",
|
|
14985
14997
|
"codexhost/harness/inspect",
|
|
14986
14998
|
"codexhost/harness/installation",
|
|
14999
|
+
"codexhost/harness/installation/start",
|
|
15000
|
+
"codexhost/harness/installation/status",
|
|
14987
15001
|
"codexhost/harness/launch-settings/get",
|
|
14988
15002
|
"codexhost/harness/launch-settings/set",
|
|
14989
15003
|
"codexhost/harness/web-ui/open",
|
|
@@ -15059,7 +15073,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
|
|
|
15059
15073
|
var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
|
|
15060
15074
|
var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
|
|
15061
15075
|
var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
|
|
15076
|
+
var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text2) => text2.length <= maximum));
|
|
15077
|
+
var composerIndicatorsSchema = external_exports.array(external_exports.object({
|
|
15078
|
+
kind: external_exports.literal("countdown"),
|
|
15079
|
+
id: external_exports.string().min(1).max(64),
|
|
15080
|
+
expiresAtUnix: nonNegativeSafeIntegerSchema,
|
|
15081
|
+
label: indicatorTextSchema(256).optional(),
|
|
15082
|
+
tooltip: indicatorTextSchema(1024).optional()
|
|
15083
|
+
}).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
|
|
15084
|
+
message: "Composer indicator IDs must be unique"
|
|
15085
|
+
});
|
|
15062
15086
|
var threadUsageSnapshotSchema = external_exports.object({
|
|
15087
|
+
composerIndicators: composerIndicatorsSchema.optional(),
|
|
15063
15088
|
inputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15064
15089
|
cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15065
15090
|
cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
@@ -15467,7 +15492,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
|
|
|
15467
15492
|
}).strict().optional(),
|
|
15468
15493
|
autonomousTurns: external_exports.object({
|
|
15469
15494
|
observe: external_exports.boolean()
|
|
15470
|
-
}).strict().optional()
|
|
15495
|
+
}).strict().optional(),
|
|
15496
|
+
/** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
|
|
15497
|
+
steer: external_exports.boolean().optional()
|
|
15471
15498
|
}).strict();
|
|
15472
15499
|
var harnessConfigurationStateSchema = external_exports.object({
|
|
15473
15500
|
effectiveModel: harnessModelRefSchema.optional(),
|
|
@@ -15514,7 +15541,9 @@ var harnessInspectionSchema = external_exports.union([
|
|
|
15514
15541
|
var harnessInspectParamsSchema = external_exports.object({
|
|
15515
15542
|
harnessId: harnessIdSchema,
|
|
15516
15543
|
cwd: nonBlankTextSchema2.max(16384).optional(),
|
|
15517
|
-
refresh: external_exports.boolean().optional()
|
|
15544
|
+
refresh: external_exports.boolean().optional(),
|
|
15545
|
+
/** `availability` asks only whether the Harness can run; see `InspectHarnessInput.purpose`. */
|
|
15546
|
+
purpose: external_exports.literal("availability").optional()
|
|
15518
15547
|
}).strict();
|
|
15519
15548
|
var harnessWebUiOpenParamsSchema = external_exports.object({
|
|
15520
15549
|
harnessId: harnessIdSchema
|
|
@@ -15597,6 +15626,15 @@ var threadOwnershipListResultSchema = external_exports.object({
|
|
|
15597
15626
|
seen.add(thread.threadId);
|
|
15598
15627
|
}
|
|
15599
15628
|
});
|
|
15629
|
+
var threadSteeringInspectParamsSchema = external_exports.object({
|
|
15630
|
+
threadId: hostThreadIdSchema,
|
|
15631
|
+
/** The text about to be steered; a Harness command always stops and restarts. */
|
|
15632
|
+
text: external_exports.string().optional()
|
|
15633
|
+
}).strict();
|
|
15634
|
+
var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
|
|
15635
|
+
var threadSteeringInspectResultSchema = external_exports.object({
|
|
15636
|
+
delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
|
|
15637
|
+
}).strict();
|
|
15600
15638
|
|
|
15601
15639
|
// ../../shared-contracts/dist/harness-plugins.js
|
|
15602
15640
|
var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
|
|
@@ -15698,6 +15736,10 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15698
15736
|
latestVersion: external_exports.string().min(1).max(128),
|
|
15699
15737
|
updateAvailable: external_exports.boolean(),
|
|
15700
15738
|
canUpdate: external_exports.boolean(),
|
|
15739
|
+
/** Defaults to CLI; some Harnesses ship only inside a desktop application. */
|
|
15740
|
+
versionKind: external_exports.enum(["cli", "application"]).optional(),
|
|
15741
|
+
/** Official download opened by the user; does not imply an automatic installation. */
|
|
15742
|
+
manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
|
|
15701
15743
|
// Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
|
|
15702
15744
|
message: external_exports.string().max(2048).optional(),
|
|
15703
15745
|
messageCode: external_exports.string().min(1).max(128).optional(),
|
|
@@ -15705,6 +15747,20 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15705
15747
|
notice: harnessLocalizedTextSchema.optional(),
|
|
15706
15748
|
latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
|
|
15707
15749
|
}).strict();
|
|
15750
|
+
var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
|
|
15751
|
+
var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
|
|
15752
|
+
external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
|
|
15753
|
+
external_exports.object({
|
|
15754
|
+
taskId: external_exports.string().uuid(),
|
|
15755
|
+
status: external_exports.literal("succeeded"),
|
|
15756
|
+
result: harnessInstallationStateSchema
|
|
15757
|
+
}).strict(),
|
|
15758
|
+
external_exports.object({
|
|
15759
|
+
taskId: external_exports.string().uuid(),
|
|
15760
|
+
status: external_exports.literal("failed"),
|
|
15761
|
+
error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
|
|
15762
|
+
}).strict()
|
|
15763
|
+
]);
|
|
15708
15764
|
|
|
15709
15765
|
// ../../shared-contracts/dist/codex-accounts.js
|
|
15710
15766
|
var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
|
|
@@ -16190,6 +16246,18 @@ function sanitizeDiagnosticTail(value) {
|
|
|
16190
16246
|
return redacted.length <= DIAGNOSTIC_TAIL_MAX_LENGTH ? redacted : redacted.slice(-DIAGNOSTIC_TAIL_MAX_LENGTH);
|
|
16191
16247
|
}
|
|
16192
16248
|
|
|
16249
|
+
// ../../harness-adapter/dist/steer.js
|
|
16250
|
+
function unsupportedSteer(harnessLabel) {
|
|
16251
|
+
return {
|
|
16252
|
+
ok: false,
|
|
16253
|
+
error: {
|
|
16254
|
+
code: "unsupported",
|
|
16255
|
+
message: `${harnessLabel} cannot steer an active Turn natively`,
|
|
16256
|
+
retryable: false
|
|
16257
|
+
}
|
|
16258
|
+
};
|
|
16259
|
+
}
|
|
16260
|
+
|
|
16193
16261
|
// ../../harness-adapter/dist/usage.js
|
|
16194
16262
|
var tokenFields = [
|
|
16195
16263
|
"inputTokens",
|
|
@@ -16217,6 +16285,7 @@ var usageFields = /* @__PURE__ */ new Set([
|
|
|
16217
16285
|
...safeIntegerFields,
|
|
16218
16286
|
...percentFields,
|
|
16219
16287
|
"sessionCacheUsage",
|
|
16288
|
+
"composerIndicators",
|
|
16220
16289
|
"totalCostUsd",
|
|
16221
16290
|
"totalCredits",
|
|
16222
16291
|
"contextUsagePercent",
|
|
@@ -16239,6 +16308,7 @@ function parseHostUsage(value) {
|
|
|
16239
16308
|
throw new Error(`Harness Usage contains unknown field '${key}'`);
|
|
16240
16309
|
}
|
|
16241
16310
|
}
|
|
16311
|
+
const indicators = value.composerIndicators === void 0 ? {} : { composerIndicators: composerIndicatorsSchema.parse(value.composerIndicators) };
|
|
16242
16312
|
for (const field2 of [
|
|
16243
16313
|
"totalCredits",
|
|
16244
16314
|
"contextUsagePercent",
|
|
@@ -16309,9 +16379,9 @@ function parseHostUsage(value) {
|
|
|
16309
16379
|
if (value.costSource !== "publicPrice") {
|
|
16310
16380
|
throw new Error("Harness Usage 'unpricedModels' must be provided with a 'publicPrice' cost");
|
|
16311
16381
|
}
|
|
16312
|
-
return { ...value, unpricedModels: [...models] };
|
|
16382
|
+
return { ...value, ...indicators, unpricedModels: [...models] };
|
|
16313
16383
|
}
|
|
16314
|
-
return { ...value };
|
|
16384
|
+
return { ...value, ...indicators };
|
|
16315
16385
|
}
|
|
16316
16386
|
var requestTokenFields = [
|
|
16317
16387
|
"inputTokens",
|
|
@@ -19419,6 +19489,7 @@ async function readHistory(transport, snapshot, events = []) {
|
|
|
19419
19489
|
|
|
19420
19490
|
// dist/capabilities.js
|
|
19421
19491
|
var ZCODE_CAPABILITIES = {
|
|
19492
|
+
steer: false,
|
|
19422
19493
|
configuration: {
|
|
19423
19494
|
selectModel: true,
|
|
19424
19495
|
selectThinkingOption: true,
|
|
@@ -19593,6 +19664,8 @@ var ZcodeSession = class {
|
|
|
19593
19664
|
if (this.#closed || this.#faulted)
|
|
19594
19665
|
return failure("invalidState", "ZCode session is closed");
|
|
19595
19666
|
try {
|
|
19667
|
+
if (command.type === "turn.steer")
|
|
19668
|
+
return unsupportedSteer("ZCode");
|
|
19596
19669
|
if (command.type === "turn.start") {
|
|
19597
19670
|
if (!hostTurnIdSchema.safeParse(command.turnId).success || !command.input.length || command.input.some((item) => item.type !== "text") || !command.input.some((item) => item.text.trim()))
|
|
19598
19671
|
return failure("invalidRequest", "ZCode requires nonempty text and a turn ID");
|