@karlorz/codexhost-cli-win32-arm64 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.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
|
@@ -504,10 +504,13 @@ function usageSessionTitle(value) {
|
|
|
504
504
|
return void 0;
|
|
505
505
|
if (normalized.length <= MAX_SESSION_TITLE_LENGTH)
|
|
506
506
|
return normalized;
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
507
|
+
let title = "";
|
|
508
|
+
for (const character of normalized) {
|
|
509
|
+
if (title.length + character.length >= MAX_SESSION_TITLE_LENGTH)
|
|
510
|
+
break;
|
|
511
|
+
title += character;
|
|
512
|
+
}
|
|
513
|
+
return `${title.trimEnd()}…`;
|
|
511
514
|
}
|
|
512
515
|
function sessionIdOk(value) {
|
|
513
516
|
return typeof value === "string" && value.length > 0 && value.length <= MAX_SESSION_ID_LENGTH;
|
|
@@ -15199,10 +15202,19 @@ var model = external_exports.string().min(1).max(512);
|
|
|
15199
15202
|
var project = external_exports.string().min(1).max(4096);
|
|
15200
15203
|
var usageStatisticsParamsSchema = external_exports.strictObject({
|
|
15201
15204
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
15205
|
+
/** Display timezone for ranges, dates and hourly buckets; omitted means the Host's local zone. */
|
|
15206
|
+
timeZone: external_exports.string().min(1).max(128).refine((value) => {
|
|
15207
|
+
try {
|
|
15208
|
+
new Intl.DateTimeFormat("en", { timeZone: value });
|
|
15209
|
+
return true;
|
|
15210
|
+
} catch {
|
|
15211
|
+
return false;
|
|
15212
|
+
}
|
|
15213
|
+
}, "Unsupported usage statistics timezone").optional(),
|
|
15202
15214
|
harness: harness.optional(),
|
|
15203
15215
|
model: model.nullable().optional(),
|
|
15204
15216
|
project: project.nullable().optional(),
|
|
15205
|
-
/** One
|
|
15217
|
+
/** One date in the query timezone inside the range. */
|
|
15206
15218
|
date: localDate.optional()
|
|
15207
15219
|
});
|
|
15208
15220
|
var usageStatisticsTotalsSchema = external_exports.strictObject({
|
|
@@ -15238,7 +15250,7 @@ var usageStatisticsSessionSchema = external_exports.strictObject({
|
|
|
15238
15250
|
});
|
|
15239
15251
|
var usageStatisticsResultSchema = external_exports.strictObject({
|
|
15240
15252
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
15241
|
-
/** First
|
|
15253
|
+
/** First date in the query timezone (Host local when omitted); null for all time. */
|
|
15242
15254
|
from: localDate.nullable(),
|
|
15243
15255
|
to: localDate,
|
|
15244
15256
|
/** The filters these figures apply, echoed so a late answer to older filters is recognised. */
|
|
@@ -15278,7 +15290,7 @@ var usageStatisticsResultSchema = external_exports.strictObject({
|
|
|
15278
15290
|
totals: usageStatisticsTotalsSchema,
|
|
15279
15291
|
/** Each date and Harness of the range: every filter except the day. */
|
|
15280
15292
|
daily: external_exports.array(external_exports.strictObject({ date: localDate, harness, ...totals })).max(2e5),
|
|
15281
|
-
/**
|
|
15293
|
+
/** Weekday (0 = Sunday) and hour in the query timezone, all filters applied. */
|
|
15282
15294
|
hourly: external_exports.array(external_exports.strictObject({
|
|
15283
15295
|
weekday: external_exports.number().int().min(0).max(6),
|
|
15284
15296
|
hour: external_exports.number().int().min(0).max(23),
|
|
@@ -15369,8 +15381,12 @@ var CONSOLE_HOST_METHODS = Object.freeze([
|
|
|
15369
15381
|
"codexhost/harness/display-settings/set",
|
|
15370
15382
|
"codexhost/harness/inspect",
|
|
15371
15383
|
"codexhost/harness/installation",
|
|
15384
|
+
"codexhost/harness/installation/start",
|
|
15385
|
+
"codexhost/harness/installation/status",
|
|
15372
15386
|
"codexhost/harness/launch-settings/get",
|
|
15373
15387
|
"codexhost/harness/launch-settings/set",
|
|
15388
|
+
"codexhost/harness/grok-computer-use/get",
|
|
15389
|
+
"codexhost/harness/grok-computer-use/set",
|
|
15374
15390
|
"codexhost/harness/web-ui/open",
|
|
15375
15391
|
"codexhost/harness/accounts/sources",
|
|
15376
15392
|
"codexhost/harness/accounts/list",
|
|
@@ -15444,7 +15460,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
|
|
|
15444
15460
|
var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
|
|
15445
15461
|
var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
|
|
15446
15462
|
var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
|
|
15463
|
+
var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text) => text.length <= maximum));
|
|
15464
|
+
var composerIndicatorsSchema = external_exports.array(external_exports.object({
|
|
15465
|
+
kind: external_exports.literal("countdown"),
|
|
15466
|
+
id: external_exports.string().min(1).max(64),
|
|
15467
|
+
expiresAtUnix: nonNegativeSafeIntegerSchema,
|
|
15468
|
+
label: indicatorTextSchema(256).optional(),
|
|
15469
|
+
tooltip: indicatorTextSchema(1024).optional()
|
|
15470
|
+
}).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
|
|
15471
|
+
message: "Composer indicator IDs must be unique"
|
|
15472
|
+
});
|
|
15447
15473
|
var threadUsageSnapshotSchema = external_exports.object({
|
|
15474
|
+
composerIndicators: composerIndicatorsSchema.optional(),
|
|
15448
15475
|
inputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15449
15476
|
cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15450
15477
|
cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
@@ -15852,7 +15879,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
|
|
|
15852
15879
|
}).strict().optional(),
|
|
15853
15880
|
autonomousTurns: external_exports.object({
|
|
15854
15881
|
observe: external_exports.boolean()
|
|
15855
|
-
}).strict().optional()
|
|
15882
|
+
}).strict().optional(),
|
|
15883
|
+
/** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
|
|
15884
|
+
steer: external_exports.boolean().optional()
|
|
15856
15885
|
}).strict();
|
|
15857
15886
|
var harnessConfigurationStateSchema = external_exports.object({
|
|
15858
15887
|
effectiveModel: harnessModelRefSchema.optional(),
|
|
@@ -15899,7 +15928,9 @@ var harnessInspectionSchema = external_exports.union([
|
|
|
15899
15928
|
var harnessInspectParamsSchema = external_exports.object({
|
|
15900
15929
|
harnessId: harnessIdSchema,
|
|
15901
15930
|
cwd: nonBlankTextSchema2.max(16384).optional(),
|
|
15902
|
-
refresh: external_exports.boolean().optional()
|
|
15931
|
+
refresh: external_exports.boolean().optional(),
|
|
15932
|
+
/** `availability` asks only whether the Harness can run; see `InspectHarnessInput.purpose`. */
|
|
15933
|
+
purpose: external_exports.literal("availability").optional()
|
|
15903
15934
|
}).strict();
|
|
15904
15935
|
var harnessWebUiOpenParamsSchema = external_exports.object({
|
|
15905
15936
|
harnessId: harnessIdSchema
|
|
@@ -15982,6 +16013,15 @@ var threadOwnershipListResultSchema = external_exports.object({
|
|
|
15982
16013
|
seen.add(thread.threadId);
|
|
15983
16014
|
}
|
|
15984
16015
|
});
|
|
16016
|
+
var threadSteeringInspectParamsSchema = external_exports.object({
|
|
16017
|
+
threadId: hostThreadIdSchema,
|
|
16018
|
+
/** The text about to be steered; a Harness command always stops and restarts. */
|
|
16019
|
+
text: external_exports.string().optional()
|
|
16020
|
+
}).strict();
|
|
16021
|
+
var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
|
|
16022
|
+
var threadSteeringInspectResultSchema = external_exports.object({
|
|
16023
|
+
delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
|
|
16024
|
+
}).strict();
|
|
15985
16025
|
|
|
15986
16026
|
// ../../shared-contracts/dist/harness-plugins.js
|
|
15987
16027
|
var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
|
|
@@ -16073,6 +16113,26 @@ var harnessLaunchSettingsSchema = external_exports.object({
|
|
|
16073
16113
|
restartRequired: external_exports.boolean()
|
|
16074
16114
|
}).strict();
|
|
16075
16115
|
|
|
16116
|
+
// ../../shared-contracts/dist/grok-computer-use.js
|
|
16117
|
+
var grokComputerUseGetSchema = external_exports.object({}).strict();
|
|
16118
|
+
var grokComputerUseSetSchema = external_exports.object({
|
|
16119
|
+
enabled: external_exports.boolean().optional(),
|
|
16120
|
+
browser: external_exports.boolean().optional()
|
|
16121
|
+
}).strict().refine((value) => value.enabled !== void 0 || value.browser !== void 0, {
|
|
16122
|
+
message: "Expected enabled or browser"
|
|
16123
|
+
});
|
|
16124
|
+
var grokComputerUseSettingsSchema = external_exports.object({
|
|
16125
|
+
enabled: external_exports.boolean(),
|
|
16126
|
+
available: external_exports.boolean(),
|
|
16127
|
+
unavailableReason: external_exports.string().min(1).max(500).optional(),
|
|
16128
|
+
browser: external_exports.boolean().optional(),
|
|
16129
|
+
browserFilesPresent: external_exports.boolean().optional(),
|
|
16130
|
+
browserAvailable: external_exports.boolean().optional(),
|
|
16131
|
+
browserUnavailableReason: external_exports.string().min(1).max(500).optional(),
|
|
16132
|
+
applyFailed: external_exports.boolean().optional(),
|
|
16133
|
+
applyError: external_exports.string().min(1).max(500).optional()
|
|
16134
|
+
}).strict();
|
|
16135
|
+
|
|
16076
16136
|
// ../../shared-contracts/dist/harness-installation.js
|
|
16077
16137
|
var harnessInstallationParamsSchema = external_exports.object({
|
|
16078
16138
|
harnessId: harnessIdSchema,
|
|
@@ -16083,6 +16143,10 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
16083
16143
|
latestVersion: external_exports.string().min(1).max(128),
|
|
16084
16144
|
updateAvailable: external_exports.boolean(),
|
|
16085
16145
|
canUpdate: external_exports.boolean(),
|
|
16146
|
+
/** Defaults to CLI; some Harnesses ship only inside a desktop application. */
|
|
16147
|
+
versionKind: external_exports.enum(["cli", "application"]).optional(),
|
|
16148
|
+
/** Official download opened by the user; does not imply an automatic installation. */
|
|
16149
|
+
manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
|
|
16086
16150
|
// Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
|
|
16087
16151
|
message: external_exports.string().max(2048).optional(),
|
|
16088
16152
|
messageCode: external_exports.string().min(1).max(128).optional(),
|
|
@@ -16090,6 +16154,20 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
16090
16154
|
notice: harnessLocalizedTextSchema.optional(),
|
|
16091
16155
|
latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
|
|
16092
16156
|
}).strict();
|
|
16157
|
+
var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
|
|
16158
|
+
var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
|
|
16159
|
+
external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
|
|
16160
|
+
external_exports.object({
|
|
16161
|
+
taskId: external_exports.string().uuid(),
|
|
16162
|
+
status: external_exports.literal("succeeded"),
|
|
16163
|
+
result: harnessInstallationStateSchema
|
|
16164
|
+
}).strict(),
|
|
16165
|
+
external_exports.object({
|
|
16166
|
+
taskId: external_exports.string().uuid(),
|
|
16167
|
+
status: external_exports.literal("failed"),
|
|
16168
|
+
error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
|
|
16169
|
+
}).strict()
|
|
16170
|
+
]);
|
|
16093
16171
|
|
|
16094
16172
|
// ../../shared-contracts/dist/codex-accounts.js
|
|
16095
16173
|
var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
|
|
@@ -16621,6 +16699,18 @@ function sanitizeDiagnosticTail(value) {
|
|
|
16621
16699
|
return redacted.length <= DIAGNOSTIC_TAIL_MAX_LENGTH ? redacted : redacted.slice(-DIAGNOSTIC_TAIL_MAX_LENGTH);
|
|
16622
16700
|
}
|
|
16623
16701
|
|
|
16702
|
+
// ../../harness-adapter/dist/steer.js
|
|
16703
|
+
function unsupportedSteer(harnessLabel) {
|
|
16704
|
+
return {
|
|
16705
|
+
ok: false,
|
|
16706
|
+
error: {
|
|
16707
|
+
code: "unsupported",
|
|
16708
|
+
message: `${harnessLabel} cannot steer an active Turn natively`,
|
|
16709
|
+
retryable: false
|
|
16710
|
+
}
|
|
16711
|
+
};
|
|
16712
|
+
}
|
|
16713
|
+
|
|
16624
16714
|
// ../../harness-adapter/dist/usage.js
|
|
16625
16715
|
var tokenFields = [
|
|
16626
16716
|
"inputTokens",
|
|
@@ -16648,6 +16738,7 @@ var usageFields = /* @__PURE__ */ new Set([
|
|
|
16648
16738
|
...safeIntegerFields,
|
|
16649
16739
|
...percentFields,
|
|
16650
16740
|
"sessionCacheUsage",
|
|
16741
|
+
"composerIndicators",
|
|
16651
16742
|
"totalCostUsd",
|
|
16652
16743
|
"totalCredits",
|
|
16653
16744
|
"contextUsagePercent",
|
|
@@ -16670,6 +16761,7 @@ function parseHostUsage(value) {
|
|
|
16670
16761
|
throw new Error(`Harness Usage contains unknown field '${key}'`);
|
|
16671
16762
|
}
|
|
16672
16763
|
}
|
|
16764
|
+
const indicators = value.composerIndicators === void 0 ? {} : { composerIndicators: composerIndicatorsSchema.parse(value.composerIndicators) };
|
|
16673
16765
|
for (const field of [
|
|
16674
16766
|
"totalCredits",
|
|
16675
16767
|
"contextUsagePercent",
|
|
@@ -16740,9 +16832,9 @@ function parseHostUsage(value) {
|
|
|
16740
16832
|
if (value.costSource !== "publicPrice") {
|
|
16741
16833
|
throw new Error("Harness Usage 'unpricedModels' must be provided with a 'publicPrice' cost");
|
|
16742
16834
|
}
|
|
16743
|
-
return { ...value, unpricedModels: [...models] };
|
|
16835
|
+
return { ...value, ...indicators, unpricedModels: [...models] };
|
|
16744
16836
|
}
|
|
16745
|
-
return { ...value };
|
|
16837
|
+
return { ...value, ...indicators };
|
|
16746
16838
|
}
|
|
16747
16839
|
var requestTokenFields = [
|
|
16748
16840
|
"inputTokens",
|
|
@@ -23858,6 +23950,8 @@ var OpenCodeHarnessSession = class {
|
|
|
23858
23950
|
if (this.#phase !== "open") {
|
|
23859
23951
|
return { ok: false, error: invalidState("OpenCode Session is not open") };
|
|
23860
23952
|
}
|
|
23953
|
+
if (command.type === "turn.steer")
|
|
23954
|
+
return unsupportedSteer("OpenCode");
|
|
23861
23955
|
if (command.type === "turn.cancel")
|
|
23862
23956
|
return this.#cancel(command);
|
|
23863
23957
|
if (command.type === "interaction.respond")
|
|
@@ -27538,6 +27632,8 @@ var V2Session = class {
|
|
|
27538
27632
|
async execute(command) {
|
|
27539
27633
|
if (this.#closed)
|
|
27540
27634
|
return { ok: false, error: failure("OpenCode Session is closed", "invalidState") };
|
|
27635
|
+
if (command.type === "turn.steer")
|
|
27636
|
+
return unsupportedSteer("OpenCode");
|
|
27541
27637
|
if (command.type === "turn.start")
|
|
27542
27638
|
return this.#start(command, false);
|
|
27543
27639
|
if (command.type === "turn.cancel") {
|