@codexhost/cli-darwin-x64 0.13.3 → 0.15.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 +109 -11
- package/app/console-web.js +649 -132
- package/app/desktop-controller.mjs +120 -12
- package/app/host-runtime.mjs +1124 -293
- package/app/plugins/antigravity/plugin.mjs +431 -66
- package/app/plugins/claude-code/plugin.mjs +761 -139
- package/app/plugins/codebuddy/plugin.mjs +322 -68
- package/app/plugins/codex-usage/plugin.mjs +249 -102
- package/app/plugins/copilot/assets/icon.png +0 -0
- package/app/plugins/copilot/manifest.json +26 -0
- package/app/plugins/copilot/plugin.mjs +34591 -0
- package/app/plugins/cursor-cli/plugin.mjs +21011 -44970
- package/app/plugins/deepseek-harness/plugin.mjs +160 -43
- package/app/plugins/enabled.json +1 -0
- package/app/plugins/grok/plugin.mjs +565 -107
- package/app/plugins/hermes/plugin.mjs +128 -12
- package/app/plugins/kimi-code/plugin.mjs +136 -22
- package/app/plugins/kiro-cli/plugin.mjs +136 -22
- package/app/plugins/omp/plugin.mjs +2236 -2036
- package/app/plugins/opencode/plugin.mjs +187 -68
- package/app/plugins/pi/plugin.mjs +2621 -2304
- package/app/plugins/qoder/plugin.mjs +153 -36
- package/app/plugins/qoder-cn/plugin.mjs +153 -36
- package/app/plugins/workbuddy/plugin.mjs +583 -92
- package/app/plugins/zcode/plugin.mjs +183 -40
- package/app/renderer-extension.js +1758 -392
- package/bin/codexhost +0 -0
- package/libexec/codexhost-shim +0 -0
- package/libexec/codexhost-updater +0 -0
- package/package.json +1 -1
|
@@ -3308,10 +3308,10 @@ var $ZodObject = /* @__PURE__ */ $constructor("$ZodObject", (inst, def) => {
|
|
|
3308
3308
|
const shape = def.shape;
|
|
3309
3309
|
const propValues = {};
|
|
3310
3310
|
for (const key in shape) {
|
|
3311
|
-
const
|
|
3312
|
-
if (
|
|
3311
|
+
const field2 = shape[key]._zod;
|
|
3312
|
+
if (field2.values) {
|
|
3313
3313
|
propValues[key] ?? (propValues[key] = /* @__PURE__ */ new Set());
|
|
3314
|
-
for (const v of
|
|
3314
|
+
for (const v of field2.values)
|
|
3315
3315
|
propValues[key].add(v);
|
|
3316
3316
|
}
|
|
3317
3317
|
}
|
|
@@ -14931,10 +14931,19 @@ var model = external_exports.string().min(1).max(512);
|
|
|
14931
14931
|
var project = external_exports.string().min(1).max(4096);
|
|
14932
14932
|
var usageStatisticsParamsSchema = external_exports.strictObject({
|
|
14933
14933
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
14934
|
+
/** Display timezone for ranges, dates and hourly buckets; omitted means the Host's local zone. */
|
|
14935
|
+
timeZone: external_exports.string().min(1).max(128).refine((value) => {
|
|
14936
|
+
try {
|
|
14937
|
+
new Intl.DateTimeFormat("en", { timeZone: value });
|
|
14938
|
+
return true;
|
|
14939
|
+
} catch {
|
|
14940
|
+
return false;
|
|
14941
|
+
}
|
|
14942
|
+
}, "Unsupported usage statistics timezone").optional(),
|
|
14934
14943
|
harness: harness.optional(),
|
|
14935
14944
|
model: model.nullable().optional(),
|
|
14936
14945
|
project: project.nullable().optional(),
|
|
14937
|
-
/** One
|
|
14946
|
+
/** One date in the query timezone inside the range. */
|
|
14938
14947
|
date: localDate.optional()
|
|
14939
14948
|
});
|
|
14940
14949
|
var usageStatisticsTotalsSchema = external_exports.strictObject({
|
|
@@ -14970,7 +14979,7 @@ var usageStatisticsSessionSchema = external_exports.strictObject({
|
|
|
14970
14979
|
});
|
|
14971
14980
|
var usageStatisticsResultSchema = external_exports.strictObject({
|
|
14972
14981
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
14973
|
-
/** First
|
|
14982
|
+
/** First date in the query timezone (Host local when omitted); null for all time. */
|
|
14974
14983
|
from: localDate.nullable(),
|
|
14975
14984
|
to: localDate,
|
|
14976
14985
|
/** The filters these figures apply, echoed so a late answer to older filters is recognised. */
|
|
@@ -15010,7 +15019,7 @@ var usageStatisticsResultSchema = external_exports.strictObject({
|
|
|
15010
15019
|
totals: usageStatisticsTotalsSchema,
|
|
15011
15020
|
/** Each date and Harness of the range: every filter except the day. */
|
|
15012
15021
|
daily: external_exports.array(external_exports.strictObject({ date: localDate, harness, ...totals })).max(2e5),
|
|
15013
|
-
/**
|
|
15022
|
+
/** Weekday (0 = Sunday) and hour in the query timezone, all filters applied. */
|
|
15014
15023
|
hourly: external_exports.array(external_exports.strictObject({
|
|
15015
15024
|
weekday: external_exports.number().int().min(0).max(6),
|
|
15016
15025
|
hour: external_exports.number().int().min(0).max(23),
|
|
@@ -15050,6 +15059,51 @@ var hostInteractionIdSchema = opaqueIdSchema.brand();
|
|
|
15050
15059
|
var threadPrewarmDiscardParamsSchema = external_exports.object({ threadId: hostThreadIdSchema });
|
|
15051
15060
|
var threadPrewarmDiscardResultSchema = external_exports.object({ discarded: external_exports.boolean() });
|
|
15052
15061
|
|
|
15062
|
+
// packages/shared-contracts/dist/thread-questions.js
|
|
15063
|
+
var field = external_exports.discriminatedUnion("type", [
|
|
15064
|
+
external_exports.object({
|
|
15065
|
+
id: external_exports.string().min(1),
|
|
15066
|
+
type: external_exports.literal("choice"),
|
|
15067
|
+
prompt: external_exports.string(),
|
|
15068
|
+
options: external_exports.array(external_exports.object({
|
|
15069
|
+
value: external_exports.string().min(1),
|
|
15070
|
+
label: external_exports.string(),
|
|
15071
|
+
description: external_exports.string().optional()
|
|
15072
|
+
})).min(1),
|
|
15073
|
+
multiple: external_exports.boolean(),
|
|
15074
|
+
allowOther: external_exports.boolean(),
|
|
15075
|
+
optional: external_exports.boolean()
|
|
15076
|
+
}),
|
|
15077
|
+
external_exports.object({
|
|
15078
|
+
id: external_exports.string().min(1),
|
|
15079
|
+
type: external_exports.literal("text"),
|
|
15080
|
+
prompt: external_exports.string(),
|
|
15081
|
+
multiline: external_exports.boolean(),
|
|
15082
|
+
secret: external_exports.literal(false),
|
|
15083
|
+
optional: external_exports.boolean(),
|
|
15084
|
+
placeholder: external_exports.string().optional(),
|
|
15085
|
+
prefill: external_exports.string().optional()
|
|
15086
|
+
})
|
|
15087
|
+
]);
|
|
15088
|
+
var threadQuestionSchema = external_exports.object({
|
|
15089
|
+
interactionId: external_exports.string().min(1),
|
|
15090
|
+
turnId: external_exports.string().min(1),
|
|
15091
|
+
title: external_exports.string().optional(),
|
|
15092
|
+
questions: external_exports.array(field).min(1)
|
|
15093
|
+
}).refine(({ questions }) => questions.some((q) => q.type === "choice" && q.multiple), {
|
|
15094
|
+
message: "Shared cards require at least one multi-select question"
|
|
15095
|
+
});
|
|
15096
|
+
var threadQuestionsListParamsSchema = external_exports.strictObject({ threadId: external_exports.string().min(1) });
|
|
15097
|
+
var threadQuestionsResultSchema = external_exports.object({ questions: external_exports.array(threadQuestionSchema) });
|
|
15098
|
+
var threadQuestionRespondParamsSchema = external_exports.strictObject({
|
|
15099
|
+
threadId: external_exports.string().min(1),
|
|
15100
|
+
turnId: external_exports.string().min(1),
|
|
15101
|
+
interactionId: external_exports.string().min(1),
|
|
15102
|
+
answers: external_exports.record(external_exports.string(), external_exports.array(external_exports.string())),
|
|
15103
|
+
cancelled: external_exports.boolean().default(false)
|
|
15104
|
+
});
|
|
15105
|
+
var threadQuestionRespondResultSchema = external_exports.object({ accepted: external_exports.literal(true) });
|
|
15106
|
+
|
|
15053
15107
|
// packages/shared-contracts/dist/console.js
|
|
15054
15108
|
var consoleAnnouncementSchema = external_exports.strictObject({
|
|
15055
15109
|
title: external_exports.string().trim().min(1).max(200),
|
|
@@ -15070,6 +15124,8 @@ var CONSOLE_HOST_METHODS = Object.freeze([
|
|
|
15070
15124
|
"codexhost/harness/display-settings/set",
|
|
15071
15125
|
"codexhost/harness/inspect",
|
|
15072
15126
|
"codexhost/harness/installation",
|
|
15127
|
+
"codexhost/harness/installation/start",
|
|
15128
|
+
"codexhost/harness/installation/status",
|
|
15073
15129
|
"codexhost/harness/launch-settings/get",
|
|
15074
15130
|
"codexhost/harness/launch-settings/set",
|
|
15075
15131
|
"codexhost/harness/web-ui/open",
|
|
@@ -15145,7 +15201,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
|
|
|
15145
15201
|
var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
|
|
15146
15202
|
var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
|
|
15147
15203
|
var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
|
|
15204
|
+
var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text) => text.length <= maximum));
|
|
15205
|
+
var composerIndicatorsSchema = external_exports.array(external_exports.object({
|
|
15206
|
+
kind: external_exports.literal("countdown"),
|
|
15207
|
+
id: external_exports.string().min(1).max(64),
|
|
15208
|
+
expiresAtUnix: nonNegativeSafeIntegerSchema,
|
|
15209
|
+
label: indicatorTextSchema(256).optional(),
|
|
15210
|
+
tooltip: indicatorTextSchema(1024).optional()
|
|
15211
|
+
}).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
|
|
15212
|
+
message: "Composer indicator IDs must be unique"
|
|
15213
|
+
});
|
|
15148
15214
|
var threadUsageSnapshotSchema = external_exports.object({
|
|
15215
|
+
composerIndicators: composerIndicatorsSchema.optional(),
|
|
15149
15216
|
inputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15150
15217
|
cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15151
15218
|
cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
@@ -15553,7 +15620,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
|
|
|
15553
15620
|
}).strict().optional(),
|
|
15554
15621
|
autonomousTurns: external_exports.object({
|
|
15555
15622
|
observe: external_exports.boolean()
|
|
15556
|
-
}).strict().optional()
|
|
15623
|
+
}).strict().optional(),
|
|
15624
|
+
/** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
|
|
15625
|
+
steer: external_exports.boolean().optional()
|
|
15557
15626
|
}).strict();
|
|
15558
15627
|
var harnessConfigurationStateSchema = external_exports.object({
|
|
15559
15628
|
effectiveModel: harnessModelRefSchema.optional(),
|
|
@@ -15600,7 +15669,9 @@ var harnessInspectionSchema = external_exports.union([
|
|
|
15600
15669
|
var harnessInspectParamsSchema = external_exports.object({
|
|
15601
15670
|
harnessId: harnessIdSchema,
|
|
15602
15671
|
cwd: nonBlankTextSchema2.max(16384).optional(),
|
|
15603
|
-
refresh: external_exports.boolean().optional()
|
|
15672
|
+
refresh: external_exports.boolean().optional(),
|
|
15673
|
+
/** `availability` asks only whether the Harness can run; see `InspectHarnessInput.purpose`. */
|
|
15674
|
+
purpose: external_exports.literal("availability").optional()
|
|
15604
15675
|
}).strict();
|
|
15605
15676
|
var harnessWebUiOpenParamsSchema = external_exports.object({
|
|
15606
15677
|
harnessId: harnessIdSchema
|
|
@@ -15683,6 +15754,15 @@ var threadOwnershipListResultSchema = external_exports.object({
|
|
|
15683
15754
|
seen.add(thread.threadId);
|
|
15684
15755
|
}
|
|
15685
15756
|
});
|
|
15757
|
+
var threadSteeringInspectParamsSchema = external_exports.object({
|
|
15758
|
+
threadId: hostThreadIdSchema,
|
|
15759
|
+
/** The text about to be steered; a Harness command always stops and restarts. */
|
|
15760
|
+
text: external_exports.string().optional()
|
|
15761
|
+
}).strict();
|
|
15762
|
+
var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
|
|
15763
|
+
var threadSteeringInspectResultSchema = external_exports.object({
|
|
15764
|
+
delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
|
|
15765
|
+
}).strict();
|
|
15686
15766
|
|
|
15687
15767
|
// packages/shared-contracts/dist/harness-plugins.js
|
|
15688
15768
|
var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
|
|
@@ -15784,6 +15864,10 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15784
15864
|
latestVersion: external_exports.string().min(1).max(128),
|
|
15785
15865
|
updateAvailable: external_exports.boolean(),
|
|
15786
15866
|
canUpdate: external_exports.boolean(),
|
|
15867
|
+
/** Defaults to CLI; some Harnesses ship only inside a desktop application. */
|
|
15868
|
+
versionKind: external_exports.enum(["cli", "application"]).optional(),
|
|
15869
|
+
/** Official download opened by the user; does not imply an automatic installation. */
|
|
15870
|
+
manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
|
|
15787
15871
|
// Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
|
|
15788
15872
|
message: external_exports.string().max(2048).optional(),
|
|
15789
15873
|
messageCode: external_exports.string().min(1).max(128).optional(),
|
|
@@ -15791,6 +15875,20 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15791
15875
|
notice: harnessLocalizedTextSchema.optional(),
|
|
15792
15876
|
latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
|
|
15793
15877
|
}).strict();
|
|
15878
|
+
var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
|
|
15879
|
+
var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
|
|
15880
|
+
external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
|
|
15881
|
+
external_exports.object({
|
|
15882
|
+
taskId: external_exports.string().uuid(),
|
|
15883
|
+
status: external_exports.literal("succeeded"),
|
|
15884
|
+
result: harnessInstallationStateSchema
|
|
15885
|
+
}).strict(),
|
|
15886
|
+
external_exports.object({
|
|
15887
|
+
taskId: external_exports.string().uuid(),
|
|
15888
|
+
status: external_exports.literal("failed"),
|
|
15889
|
+
error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
|
|
15890
|
+
}).strict()
|
|
15891
|
+
]);
|
|
15794
15892
|
|
|
15795
15893
|
// packages/shared-contracts/dist/codex-accounts.js
|
|
15796
15894
|
var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
|
|
@@ -17187,9 +17285,13 @@ function requestManagerFromHookState(value, hostId2) {
|
|
|
17187
17285
|
if (!record2(value)) return null;
|
|
17188
17286
|
const direct = manager(value) ?? manager(value.manager);
|
|
17189
17287
|
if (direct) return direct;
|
|
17190
|
-
if (!hostId2 || typeof value.addManager !== "function" || typeof value.getForHostId !== "function"
|
|
17288
|
+
if (!hostId2 || typeof value.addManager !== "function" || typeof value.getForHostId !== "function")
|
|
17191
17289
|
return null;
|
|
17192
|
-
|
|
17290
|
+
try {
|
|
17291
|
+
return manager(value.getForHostId(hostId2));
|
|
17292
|
+
} catch {
|
|
17293
|
+
return null;
|
|
17294
|
+
}
|
|
17193
17295
|
}
|
|
17194
17296
|
function discoverRendererHosts(root, ancestors = committedReactAncestors, managerFrom = requestManagerFromHookState) {
|
|
17195
17297
|
const editors = [
|
|
@@ -17224,7 +17326,7 @@ function discoverRendererHosts(root, ancestors = committedReactAncestors, manage
|
|
|
17224
17326
|
const value = hook.memoizedState;
|
|
17225
17327
|
const manager = managerFrom(value);
|
|
17226
17328
|
if (manager) managers.add(manager);
|
|
17227
|
-
if (value && typeof value === "object" && "addManager" in value && typeof value.addManager === "function" && "getForHostId" in value && typeof value.getForHostId === "function"
|
|
17329
|
+
if (value && typeof value === "object" && "addManager" in value && typeof value.addManager === "function" && "getForHostId" in value && typeof value.getForHostId === "function") {
|
|
17228
17330
|
registries.add(value);
|
|
17229
17331
|
}
|
|
17230
17332
|
hook = hook.next && typeof hook.next === "object" ? hook.next : null;
|
|
@@ -17239,7 +17341,13 @@ function discoverRendererHosts(root, ancestors = committedReactAncestors, manage
|
|
|
17239
17341
|
}
|
|
17240
17342
|
function resolveRendererHostManager(discovery, hostId2, managerFrom = requestManagerFromHookState) {
|
|
17241
17343
|
if (!hostId2) return null;
|
|
17242
|
-
const candidates = discovery.registries.length ? discovery.registries.
|
|
17344
|
+
const candidates = discovery.registries.length ? discovery.registries.flatMap((registry2) => {
|
|
17345
|
+
try {
|
|
17346
|
+
return [managerFrom(registry2.getForHostId(hostId2))];
|
|
17347
|
+
} catch {
|
|
17348
|
+
return [];
|
|
17349
|
+
}
|
|
17350
|
+
}) : discovery.managers;
|
|
17243
17351
|
const matching = new Set(
|
|
17244
17352
|
candidates.filter(
|
|
17245
17353
|
(manager) => manager && (manager.getHostId?.() ?? manager.requestClient.hostId) === hostId2 && (manager.requestClient.hostId === void 0 || manager.requestClient.hostId === hostId2)
|