@codexhost/cli-win32-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.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
|
@@ -15023,10 +15023,19 @@ var model = external_exports.string().min(1).max(512);
|
|
|
15023
15023
|
var project = external_exports.string().min(1).max(4096);
|
|
15024
15024
|
var usageStatisticsParamsSchema = external_exports.strictObject({
|
|
15025
15025
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
15026
|
+
/** Display timezone for ranges, dates and hourly buckets; omitted means the Host's local zone. */
|
|
15027
|
+
timeZone: external_exports.string().min(1).max(128).refine((value) => {
|
|
15028
|
+
try {
|
|
15029
|
+
new Intl.DateTimeFormat("en", { timeZone: value });
|
|
15030
|
+
return true;
|
|
15031
|
+
} catch {
|
|
15032
|
+
return false;
|
|
15033
|
+
}
|
|
15034
|
+
}, "Unsupported usage statistics timezone").optional(),
|
|
15026
15035
|
harness: harness.optional(),
|
|
15027
15036
|
model: model.nullable().optional(),
|
|
15028
15037
|
project: project.nullable().optional(),
|
|
15029
|
-
/** One
|
|
15038
|
+
/** One date in the query timezone inside the range. */
|
|
15030
15039
|
date: localDate.optional()
|
|
15031
15040
|
});
|
|
15032
15041
|
var usageStatisticsTotalsSchema = external_exports.strictObject({
|
|
@@ -15062,7 +15071,7 @@ var usageStatisticsSessionSchema = external_exports.strictObject({
|
|
|
15062
15071
|
});
|
|
15063
15072
|
var usageStatisticsResultSchema = external_exports.strictObject({
|
|
15064
15073
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
15065
|
-
/** First
|
|
15074
|
+
/** First date in the query timezone (Host local when omitted); null for all time. */
|
|
15066
15075
|
from: localDate.nullable(),
|
|
15067
15076
|
to: localDate,
|
|
15068
15077
|
/** The filters these figures apply, echoed so a late answer to older filters is recognised. */
|
|
@@ -15102,7 +15111,7 @@ var usageStatisticsResultSchema = external_exports.strictObject({
|
|
|
15102
15111
|
totals: usageStatisticsTotalsSchema,
|
|
15103
15112
|
/** Each date and Harness of the range: every filter except the day. */
|
|
15104
15113
|
daily: external_exports.array(external_exports.strictObject({ date: localDate, harness, ...totals })).max(2e5),
|
|
15105
|
-
/**
|
|
15114
|
+
/** Weekday (0 = Sunday) and hour in the query timezone, all filters applied. */
|
|
15106
15115
|
hourly: external_exports.array(external_exports.strictObject({
|
|
15107
15116
|
weekday: external_exports.number().int().min(0).max(6),
|
|
15108
15117
|
hour: external_exports.number().int().min(0).max(23),
|
|
@@ -15162,6 +15171,8 @@ var CONSOLE_HOST_METHODS = Object.freeze([
|
|
|
15162
15171
|
"codexhost/harness/display-settings/set",
|
|
15163
15172
|
"codexhost/harness/inspect",
|
|
15164
15173
|
"codexhost/harness/installation",
|
|
15174
|
+
"codexhost/harness/installation/start",
|
|
15175
|
+
"codexhost/harness/installation/status",
|
|
15165
15176
|
"codexhost/harness/launch-settings/get",
|
|
15166
15177
|
"codexhost/harness/launch-settings/set",
|
|
15167
15178
|
"codexhost/harness/web-ui/open",
|
|
@@ -15237,7 +15248,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
|
|
|
15237
15248
|
var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
|
|
15238
15249
|
var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
|
|
15239
15250
|
var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
|
|
15251
|
+
var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text2) => text2.length <= maximum));
|
|
15252
|
+
var composerIndicatorsSchema = external_exports.array(external_exports.object({
|
|
15253
|
+
kind: external_exports.literal("countdown"),
|
|
15254
|
+
id: external_exports.string().min(1).max(64),
|
|
15255
|
+
expiresAtUnix: nonNegativeSafeIntegerSchema,
|
|
15256
|
+
label: indicatorTextSchema(256).optional(),
|
|
15257
|
+
tooltip: indicatorTextSchema(1024).optional()
|
|
15258
|
+
}).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
|
|
15259
|
+
message: "Composer indicator IDs must be unique"
|
|
15260
|
+
});
|
|
15240
15261
|
var threadUsageSnapshotSchema = external_exports.object({
|
|
15262
|
+
composerIndicators: composerIndicatorsSchema.optional(),
|
|
15241
15263
|
inputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15242
15264
|
cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15243
15265
|
cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
@@ -15645,7 +15667,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
|
|
|
15645
15667
|
}).strict().optional(),
|
|
15646
15668
|
autonomousTurns: external_exports.object({
|
|
15647
15669
|
observe: external_exports.boolean()
|
|
15648
|
-
}).strict().optional()
|
|
15670
|
+
}).strict().optional(),
|
|
15671
|
+
/** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
|
|
15672
|
+
steer: external_exports.boolean().optional()
|
|
15649
15673
|
}).strict();
|
|
15650
15674
|
var harnessConfigurationStateSchema = external_exports.object({
|
|
15651
15675
|
effectiveModel: harnessModelRefSchema.optional(),
|
|
@@ -15692,7 +15716,9 @@ var harnessInspectionSchema = external_exports.union([
|
|
|
15692
15716
|
var harnessInspectParamsSchema = external_exports.object({
|
|
15693
15717
|
harnessId: harnessIdSchema,
|
|
15694
15718
|
cwd: nonBlankTextSchema2.max(16384).optional(),
|
|
15695
|
-
refresh: external_exports.boolean().optional()
|
|
15719
|
+
refresh: external_exports.boolean().optional(),
|
|
15720
|
+
/** `availability` asks only whether the Harness can run; see `InspectHarnessInput.purpose`. */
|
|
15721
|
+
purpose: external_exports.literal("availability").optional()
|
|
15696
15722
|
}).strict();
|
|
15697
15723
|
var harnessWebUiOpenParamsSchema = external_exports.object({
|
|
15698
15724
|
harnessId: harnessIdSchema
|
|
@@ -15775,6 +15801,15 @@ var threadOwnershipListResultSchema = external_exports.object({
|
|
|
15775
15801
|
seen.add(thread.threadId);
|
|
15776
15802
|
}
|
|
15777
15803
|
});
|
|
15804
|
+
var threadSteeringInspectParamsSchema = external_exports.object({
|
|
15805
|
+
threadId: hostThreadIdSchema,
|
|
15806
|
+
/** The text about to be steered; a Harness command always stops and restarts. */
|
|
15807
|
+
text: external_exports.string().optional()
|
|
15808
|
+
}).strict();
|
|
15809
|
+
var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
|
|
15810
|
+
var threadSteeringInspectResultSchema = external_exports.object({
|
|
15811
|
+
delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
|
|
15812
|
+
}).strict();
|
|
15778
15813
|
|
|
15779
15814
|
// ../../shared-contracts/dist/harness-plugins.js
|
|
15780
15815
|
var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
|
|
@@ -15876,6 +15911,10 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15876
15911
|
latestVersion: external_exports.string().min(1).max(128),
|
|
15877
15912
|
updateAvailable: external_exports.boolean(),
|
|
15878
15913
|
canUpdate: external_exports.boolean(),
|
|
15914
|
+
/** Defaults to CLI; some Harnesses ship only inside a desktop application. */
|
|
15915
|
+
versionKind: external_exports.enum(["cli", "application"]).optional(),
|
|
15916
|
+
/** Official download opened by the user; does not imply an automatic installation. */
|
|
15917
|
+
manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
|
|
15879
15918
|
// Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
|
|
15880
15919
|
message: external_exports.string().max(2048).optional(),
|
|
15881
15920
|
messageCode: external_exports.string().min(1).max(128).optional(),
|
|
@@ -15883,6 +15922,20 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15883
15922
|
notice: harnessLocalizedTextSchema.optional(),
|
|
15884
15923
|
latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
|
|
15885
15924
|
}).strict();
|
|
15925
|
+
var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
|
|
15926
|
+
var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
|
|
15927
|
+
external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
|
|
15928
|
+
external_exports.object({
|
|
15929
|
+
taskId: external_exports.string().uuid(),
|
|
15930
|
+
status: external_exports.literal("succeeded"),
|
|
15931
|
+
result: harnessInstallationStateSchema
|
|
15932
|
+
}).strict(),
|
|
15933
|
+
external_exports.object({
|
|
15934
|
+
taskId: external_exports.string().uuid(),
|
|
15935
|
+
status: external_exports.literal("failed"),
|
|
15936
|
+
error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
|
|
15937
|
+
}).strict()
|
|
15938
|
+
]);
|
|
15886
15939
|
|
|
15887
15940
|
// ../../shared-contracts/dist/codex-accounts.js
|
|
15888
15941
|
var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
|
|
@@ -16368,6 +16421,18 @@ function sanitizeDiagnosticTail(value) {
|
|
|
16368
16421
|
return redacted.length <= DIAGNOSTIC_TAIL_MAX_LENGTH ? redacted : redacted.slice(-DIAGNOSTIC_TAIL_MAX_LENGTH);
|
|
16369
16422
|
}
|
|
16370
16423
|
|
|
16424
|
+
// ../../harness-adapter/dist/steer.js
|
|
16425
|
+
function unsupportedSteer(harnessLabel) {
|
|
16426
|
+
return {
|
|
16427
|
+
ok: false,
|
|
16428
|
+
error: {
|
|
16429
|
+
code: "unsupported",
|
|
16430
|
+
message: `${harnessLabel} cannot steer an active Turn natively`,
|
|
16431
|
+
retryable: false
|
|
16432
|
+
}
|
|
16433
|
+
};
|
|
16434
|
+
}
|
|
16435
|
+
|
|
16371
16436
|
// ../../harness-adapter/dist/usage.js
|
|
16372
16437
|
var tokenFields = [
|
|
16373
16438
|
"inputTokens",
|
|
@@ -16395,6 +16460,7 @@ var usageFields = /* @__PURE__ */ new Set([
|
|
|
16395
16460
|
...safeIntegerFields,
|
|
16396
16461
|
...percentFields,
|
|
16397
16462
|
"sessionCacheUsage",
|
|
16463
|
+
"composerIndicators",
|
|
16398
16464
|
"totalCostUsd",
|
|
16399
16465
|
"totalCredits",
|
|
16400
16466
|
"contextUsagePercent",
|
|
@@ -18521,10 +18587,13 @@ function usageSessionTitle(value) {
|
|
|
18521
18587
|
return void 0;
|
|
18522
18588
|
if (normalized.length <= MAX_SESSION_TITLE_LENGTH)
|
|
18523
18589
|
return normalized;
|
|
18524
|
-
|
|
18525
|
-
|
|
18526
|
-
|
|
18527
|
-
|
|
18590
|
+
let title = "";
|
|
18591
|
+
for (const character of normalized) {
|
|
18592
|
+
if (title.length + character.length >= MAX_SESSION_TITLE_LENGTH)
|
|
18593
|
+
break;
|
|
18594
|
+
title += character;
|
|
18595
|
+
}
|
|
18596
|
+
return `${title.trimEnd()}…`;
|
|
18528
18597
|
}
|
|
18529
18598
|
function sessionIdOk(value) {
|
|
18530
18599
|
return typeof value === "string" && value.length > 0 && value.length <= MAX_SESSION_ID_LENGTH;
|
|
@@ -19513,6 +19582,8 @@ var HermesSession = class {
|
|
|
19513
19582
|
switch (command.type) {
|
|
19514
19583
|
case "turn.start":
|
|
19515
19584
|
return this.#startTurn(command);
|
|
19585
|
+
case "turn.steer":
|
|
19586
|
+
return Promise.resolve(unsupportedSteer("Hermes"));
|
|
19516
19587
|
case "turn.cancel":
|
|
19517
19588
|
return this.#cancelTurn(command);
|
|
19518
19589
|
case "interaction.respond":
|
|
@@ -15143,10 +15143,19 @@ var model = external_exports.string().min(1).max(512);
|
|
|
15143
15143
|
var project = external_exports.string().min(1).max(4096);
|
|
15144
15144
|
var usageStatisticsParamsSchema = external_exports.strictObject({
|
|
15145
15145
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
15146
|
+
/** Display timezone for ranges, dates and hourly buckets; omitted means the Host's local zone. */
|
|
15147
|
+
timeZone: external_exports.string().min(1).max(128).refine((value) => {
|
|
15148
|
+
try {
|
|
15149
|
+
new Intl.DateTimeFormat("en", { timeZone: value });
|
|
15150
|
+
return true;
|
|
15151
|
+
} catch {
|
|
15152
|
+
return false;
|
|
15153
|
+
}
|
|
15154
|
+
}, "Unsupported usage statistics timezone").optional(),
|
|
15146
15155
|
harness: harness.optional(),
|
|
15147
15156
|
model: model.nullable().optional(),
|
|
15148
15157
|
project: project.nullable().optional(),
|
|
15149
|
-
/** One
|
|
15158
|
+
/** One date in the query timezone inside the range. */
|
|
15150
15159
|
date: localDate.optional()
|
|
15151
15160
|
});
|
|
15152
15161
|
var usageStatisticsTotalsSchema = external_exports.strictObject({
|
|
@@ -15182,7 +15191,7 @@ var usageStatisticsSessionSchema = external_exports.strictObject({
|
|
|
15182
15191
|
});
|
|
15183
15192
|
var usageStatisticsResultSchema = external_exports.strictObject({
|
|
15184
15193
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
15185
|
-
/** First
|
|
15194
|
+
/** First date in the query timezone (Host local when omitted); null for all time. */
|
|
15186
15195
|
from: localDate.nullable(),
|
|
15187
15196
|
to: localDate,
|
|
15188
15197
|
/** The filters these figures apply, echoed so a late answer to older filters is recognised. */
|
|
@@ -15222,7 +15231,7 @@ var usageStatisticsResultSchema = external_exports.strictObject({
|
|
|
15222
15231
|
totals: usageStatisticsTotalsSchema,
|
|
15223
15232
|
/** Each date and Harness of the range: every filter except the day. */
|
|
15224
15233
|
daily: external_exports.array(external_exports.strictObject({ date: localDate, harness, ...totals })).max(2e5),
|
|
15225
|
-
/**
|
|
15234
|
+
/** Weekday (0 = Sunday) and hour in the query timezone, all filters applied. */
|
|
15226
15235
|
hourly: external_exports.array(external_exports.strictObject({
|
|
15227
15236
|
weekday: external_exports.number().int().min(0).max(6),
|
|
15228
15237
|
hour: external_exports.number().int().min(0).max(23),
|
|
@@ -15282,6 +15291,8 @@ var CONSOLE_HOST_METHODS = Object.freeze([
|
|
|
15282
15291
|
"codexhost/harness/display-settings/set",
|
|
15283
15292
|
"codexhost/harness/inspect",
|
|
15284
15293
|
"codexhost/harness/installation",
|
|
15294
|
+
"codexhost/harness/installation/start",
|
|
15295
|
+
"codexhost/harness/installation/status",
|
|
15285
15296
|
"codexhost/harness/launch-settings/get",
|
|
15286
15297
|
"codexhost/harness/launch-settings/set",
|
|
15287
15298
|
"codexhost/harness/web-ui/open",
|
|
@@ -15357,7 +15368,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
|
|
|
15357
15368
|
var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
|
|
15358
15369
|
var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
|
|
15359
15370
|
var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
|
|
15371
|
+
var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text) => text.length <= maximum));
|
|
15372
|
+
var composerIndicatorsSchema = external_exports.array(external_exports.object({
|
|
15373
|
+
kind: external_exports.literal("countdown"),
|
|
15374
|
+
id: external_exports.string().min(1).max(64),
|
|
15375
|
+
expiresAtUnix: nonNegativeSafeIntegerSchema,
|
|
15376
|
+
label: indicatorTextSchema(256).optional(),
|
|
15377
|
+
tooltip: indicatorTextSchema(1024).optional()
|
|
15378
|
+
}).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
|
|
15379
|
+
message: "Composer indicator IDs must be unique"
|
|
15380
|
+
});
|
|
15360
15381
|
var threadUsageSnapshotSchema = external_exports.object({
|
|
15382
|
+
composerIndicators: composerIndicatorsSchema.optional(),
|
|
15361
15383
|
inputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15362
15384
|
cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15363
15385
|
cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
@@ -15765,7 +15787,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
|
|
|
15765
15787
|
}).strict().optional(),
|
|
15766
15788
|
autonomousTurns: external_exports.object({
|
|
15767
15789
|
observe: external_exports.boolean()
|
|
15768
|
-
}).strict().optional()
|
|
15790
|
+
}).strict().optional(),
|
|
15791
|
+
/** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
|
|
15792
|
+
steer: external_exports.boolean().optional()
|
|
15769
15793
|
}).strict();
|
|
15770
15794
|
var harnessConfigurationStateSchema = external_exports.object({
|
|
15771
15795
|
effectiveModel: harnessModelRefSchema.optional(),
|
|
@@ -15812,7 +15836,9 @@ var harnessInspectionSchema = external_exports.union([
|
|
|
15812
15836
|
var harnessInspectParamsSchema = external_exports.object({
|
|
15813
15837
|
harnessId: harnessIdSchema,
|
|
15814
15838
|
cwd: nonBlankTextSchema2.max(16384).optional(),
|
|
15815
|
-
refresh: external_exports.boolean().optional()
|
|
15839
|
+
refresh: external_exports.boolean().optional(),
|
|
15840
|
+
/** `availability` asks only whether the Harness can run; see `InspectHarnessInput.purpose`. */
|
|
15841
|
+
purpose: external_exports.literal("availability").optional()
|
|
15816
15842
|
}).strict();
|
|
15817
15843
|
var harnessWebUiOpenParamsSchema = external_exports.object({
|
|
15818
15844
|
harnessId: harnessIdSchema
|
|
@@ -15895,6 +15921,15 @@ var threadOwnershipListResultSchema = external_exports.object({
|
|
|
15895
15921
|
seen.add(thread.threadId);
|
|
15896
15922
|
}
|
|
15897
15923
|
});
|
|
15924
|
+
var threadSteeringInspectParamsSchema = external_exports.object({
|
|
15925
|
+
threadId: hostThreadIdSchema,
|
|
15926
|
+
/** The text about to be steered; a Harness command always stops and restarts. */
|
|
15927
|
+
text: external_exports.string().optional()
|
|
15928
|
+
}).strict();
|
|
15929
|
+
var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
|
|
15930
|
+
var threadSteeringInspectResultSchema = external_exports.object({
|
|
15931
|
+
delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
|
|
15932
|
+
}).strict();
|
|
15898
15933
|
|
|
15899
15934
|
// ../../shared-contracts/dist/harness-plugins.js
|
|
15900
15935
|
var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
|
|
@@ -15996,6 +16031,10 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15996
16031
|
latestVersion: external_exports.string().min(1).max(128),
|
|
15997
16032
|
updateAvailable: external_exports.boolean(),
|
|
15998
16033
|
canUpdate: external_exports.boolean(),
|
|
16034
|
+
/** Defaults to CLI; some Harnesses ship only inside a desktop application. */
|
|
16035
|
+
versionKind: external_exports.enum(["cli", "application"]).optional(),
|
|
16036
|
+
/** Official download opened by the user; does not imply an automatic installation. */
|
|
16037
|
+
manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
|
|
15999
16038
|
// Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
|
|
16000
16039
|
message: external_exports.string().max(2048).optional(),
|
|
16001
16040
|
messageCode: external_exports.string().min(1).max(128).optional(),
|
|
@@ -16003,6 +16042,20 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
16003
16042
|
notice: harnessLocalizedTextSchema.optional(),
|
|
16004
16043
|
latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
|
|
16005
16044
|
}).strict();
|
|
16045
|
+
var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
|
|
16046
|
+
var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
|
|
16047
|
+
external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
|
|
16048
|
+
external_exports.object({
|
|
16049
|
+
taskId: external_exports.string().uuid(),
|
|
16050
|
+
status: external_exports.literal("succeeded"),
|
|
16051
|
+
result: harnessInstallationStateSchema
|
|
16052
|
+
}).strict(),
|
|
16053
|
+
external_exports.object({
|
|
16054
|
+
taskId: external_exports.string().uuid(),
|
|
16055
|
+
status: external_exports.literal("failed"),
|
|
16056
|
+
error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
|
|
16057
|
+
}).strict()
|
|
16058
|
+
]);
|
|
16006
16059
|
|
|
16007
16060
|
// ../../shared-contracts/dist/codex-accounts.js
|
|
16008
16061
|
var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
|
|
@@ -16492,6 +16545,18 @@ function sanitizeDiagnosticTail(value) {
|
|
|
16492
16545
|
return redacted.length <= DIAGNOSTIC_TAIL_MAX_LENGTH ? redacted : redacted.slice(-DIAGNOSTIC_TAIL_MAX_LENGTH);
|
|
16493
16546
|
}
|
|
16494
16547
|
|
|
16548
|
+
// ../../harness-adapter/dist/steer.js
|
|
16549
|
+
function unsupportedSteer(harnessLabel) {
|
|
16550
|
+
return {
|
|
16551
|
+
ok: false,
|
|
16552
|
+
error: {
|
|
16553
|
+
code: "unsupported",
|
|
16554
|
+
message: `${harnessLabel} cannot steer an active Turn natively`,
|
|
16555
|
+
retryable: false
|
|
16556
|
+
}
|
|
16557
|
+
};
|
|
16558
|
+
}
|
|
16559
|
+
|
|
16495
16560
|
// ../../harness-adapter/dist/usage.js
|
|
16496
16561
|
var tokenFields = [
|
|
16497
16562
|
"inputTokens",
|
|
@@ -16519,6 +16584,7 @@ var usageFields = /* @__PURE__ */ new Set([
|
|
|
16519
16584
|
...safeIntegerFields,
|
|
16520
16585
|
...percentFields,
|
|
16521
16586
|
"sessionCacheUsage",
|
|
16587
|
+
"composerIndicators",
|
|
16522
16588
|
"totalCostUsd",
|
|
16523
16589
|
"totalCredits",
|
|
16524
16590
|
"contextUsagePercent",
|
|
@@ -16541,6 +16607,7 @@ function parseHostUsage(value) {
|
|
|
16541
16607
|
throw new Error(`Harness Usage contains unknown field '${key}'`);
|
|
16542
16608
|
}
|
|
16543
16609
|
}
|
|
16610
|
+
const indicators = value.composerIndicators === void 0 ? {} : { composerIndicators: composerIndicatorsSchema.parse(value.composerIndicators) };
|
|
16544
16611
|
for (const field of [
|
|
16545
16612
|
"totalCredits",
|
|
16546
16613
|
"contextUsagePercent",
|
|
@@ -16611,9 +16678,9 @@ function parseHostUsage(value) {
|
|
|
16611
16678
|
if (value.costSource !== "publicPrice") {
|
|
16612
16679
|
throw new Error("Harness Usage 'unpricedModels' must be provided with a 'publicPrice' cost");
|
|
16613
16680
|
}
|
|
16614
|
-
return { ...value, unpricedModels: [...models] };
|
|
16681
|
+
return { ...value, ...indicators, unpricedModels: [...models] };
|
|
16615
16682
|
}
|
|
16616
|
-
return { ...value };
|
|
16683
|
+
return { ...value, ...indicators };
|
|
16617
16684
|
}
|
|
16618
16685
|
var requestTokenFields = [
|
|
16619
16686
|
"inputTokens",
|
|
@@ -24422,6 +24489,8 @@ var KimiSession = class {
|
|
|
24422
24489
|
switch (command.type) {
|
|
24423
24490
|
case "turn.start":
|
|
24424
24491
|
return this.#handleTurnStart(command);
|
|
24492
|
+
case "turn.steer":
|
|
24493
|
+
return unsupportedSteer("Kimi ACP");
|
|
24425
24494
|
case "turn.cancel":
|
|
24426
24495
|
return this.#handleTurnCancel(command);
|
|
24427
24496
|
case "interaction.respond":
|
|
@@ -15002,10 +15002,19 @@ var model = external_exports.string().min(1).max(512);
|
|
|
15002
15002
|
var project = external_exports.string().min(1).max(4096);
|
|
15003
15003
|
var usageStatisticsParamsSchema = external_exports.strictObject({
|
|
15004
15004
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
15005
|
+
/** Display timezone for ranges, dates and hourly buckets; omitted means the Host's local zone. */
|
|
15006
|
+
timeZone: external_exports.string().min(1).max(128).refine((value) => {
|
|
15007
|
+
try {
|
|
15008
|
+
new Intl.DateTimeFormat("en", { timeZone: value });
|
|
15009
|
+
return true;
|
|
15010
|
+
} catch {
|
|
15011
|
+
return false;
|
|
15012
|
+
}
|
|
15013
|
+
}, "Unsupported usage statistics timezone").optional(),
|
|
15005
15014
|
harness: harness.optional(),
|
|
15006
15015
|
model: model.nullable().optional(),
|
|
15007
15016
|
project: project.nullable().optional(),
|
|
15008
|
-
/** One
|
|
15017
|
+
/** One date in the query timezone inside the range. */
|
|
15009
15018
|
date: localDate.optional()
|
|
15010
15019
|
});
|
|
15011
15020
|
var usageStatisticsTotalsSchema = external_exports.strictObject({
|
|
@@ -15041,7 +15050,7 @@ var usageStatisticsSessionSchema = external_exports.strictObject({
|
|
|
15041
15050
|
});
|
|
15042
15051
|
var usageStatisticsResultSchema = external_exports.strictObject({
|
|
15043
15052
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
15044
|
-
/** First
|
|
15053
|
+
/** First date in the query timezone (Host local when omitted); null for all time. */
|
|
15045
15054
|
from: localDate.nullable(),
|
|
15046
15055
|
to: localDate,
|
|
15047
15056
|
/** The filters these figures apply, echoed so a late answer to older filters is recognised. */
|
|
@@ -15081,7 +15090,7 @@ var usageStatisticsResultSchema = external_exports.strictObject({
|
|
|
15081
15090
|
totals: usageStatisticsTotalsSchema,
|
|
15082
15091
|
/** Each date and Harness of the range: every filter except the day. */
|
|
15083
15092
|
daily: external_exports.array(external_exports.strictObject({ date: localDate, harness, ...totals })).max(2e5),
|
|
15084
|
-
/**
|
|
15093
|
+
/** Weekday (0 = Sunday) and hour in the query timezone, all filters applied. */
|
|
15085
15094
|
hourly: external_exports.array(external_exports.strictObject({
|
|
15086
15095
|
weekday: external_exports.number().int().min(0).max(6),
|
|
15087
15096
|
hour: external_exports.number().int().min(0).max(23),
|
|
@@ -15141,6 +15150,8 @@ var CONSOLE_HOST_METHODS = Object.freeze([
|
|
|
15141
15150
|
"codexhost/harness/display-settings/set",
|
|
15142
15151
|
"codexhost/harness/inspect",
|
|
15143
15152
|
"codexhost/harness/installation",
|
|
15153
|
+
"codexhost/harness/installation/start",
|
|
15154
|
+
"codexhost/harness/installation/status",
|
|
15144
15155
|
"codexhost/harness/launch-settings/get",
|
|
15145
15156
|
"codexhost/harness/launch-settings/set",
|
|
15146
15157
|
"codexhost/harness/web-ui/open",
|
|
@@ -15216,7 +15227,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
|
|
|
15216
15227
|
var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
|
|
15217
15228
|
var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
|
|
15218
15229
|
var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
|
|
15230
|
+
var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text) => text.length <= maximum));
|
|
15231
|
+
var composerIndicatorsSchema = external_exports.array(external_exports.object({
|
|
15232
|
+
kind: external_exports.literal("countdown"),
|
|
15233
|
+
id: external_exports.string().min(1).max(64),
|
|
15234
|
+
expiresAtUnix: nonNegativeSafeIntegerSchema,
|
|
15235
|
+
label: indicatorTextSchema(256).optional(),
|
|
15236
|
+
tooltip: indicatorTextSchema(1024).optional()
|
|
15237
|
+
}).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
|
|
15238
|
+
message: "Composer indicator IDs must be unique"
|
|
15239
|
+
});
|
|
15219
15240
|
var threadUsageSnapshotSchema = external_exports.object({
|
|
15241
|
+
composerIndicators: composerIndicatorsSchema.optional(),
|
|
15220
15242
|
inputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15221
15243
|
cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15222
15244
|
cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
@@ -15624,7 +15646,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
|
|
|
15624
15646
|
}).strict().optional(),
|
|
15625
15647
|
autonomousTurns: external_exports.object({
|
|
15626
15648
|
observe: external_exports.boolean()
|
|
15627
|
-
}).strict().optional()
|
|
15649
|
+
}).strict().optional(),
|
|
15650
|
+
/** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
|
|
15651
|
+
steer: external_exports.boolean().optional()
|
|
15628
15652
|
}).strict();
|
|
15629
15653
|
var harnessConfigurationStateSchema = external_exports.object({
|
|
15630
15654
|
effectiveModel: harnessModelRefSchema.optional(),
|
|
@@ -15671,7 +15695,9 @@ var harnessInspectionSchema = external_exports.union([
|
|
|
15671
15695
|
var harnessInspectParamsSchema = external_exports.object({
|
|
15672
15696
|
harnessId: harnessIdSchema,
|
|
15673
15697
|
cwd: nonBlankTextSchema2.max(16384).optional(),
|
|
15674
|
-
refresh: external_exports.boolean().optional()
|
|
15698
|
+
refresh: external_exports.boolean().optional(),
|
|
15699
|
+
/** `availability` asks only whether the Harness can run; see `InspectHarnessInput.purpose`. */
|
|
15700
|
+
purpose: external_exports.literal("availability").optional()
|
|
15675
15701
|
}).strict();
|
|
15676
15702
|
var harnessWebUiOpenParamsSchema = external_exports.object({
|
|
15677
15703
|
harnessId: harnessIdSchema
|
|
@@ -15754,6 +15780,15 @@ var threadOwnershipListResultSchema = external_exports.object({
|
|
|
15754
15780
|
seen.add(thread.threadId);
|
|
15755
15781
|
}
|
|
15756
15782
|
});
|
|
15783
|
+
var threadSteeringInspectParamsSchema = external_exports.object({
|
|
15784
|
+
threadId: hostThreadIdSchema,
|
|
15785
|
+
/** The text about to be steered; a Harness command always stops and restarts. */
|
|
15786
|
+
text: external_exports.string().optional()
|
|
15787
|
+
}).strict();
|
|
15788
|
+
var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
|
|
15789
|
+
var threadSteeringInspectResultSchema = external_exports.object({
|
|
15790
|
+
delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
|
|
15791
|
+
}).strict();
|
|
15757
15792
|
|
|
15758
15793
|
// ../../shared-contracts/dist/harness-plugins.js
|
|
15759
15794
|
var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
|
|
@@ -15855,6 +15890,10 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15855
15890
|
latestVersion: external_exports.string().min(1).max(128),
|
|
15856
15891
|
updateAvailable: external_exports.boolean(),
|
|
15857
15892
|
canUpdate: external_exports.boolean(),
|
|
15893
|
+
/** Defaults to CLI; some Harnesses ship only inside a desktop application. */
|
|
15894
|
+
versionKind: external_exports.enum(["cli", "application"]).optional(),
|
|
15895
|
+
/** Official download opened by the user; does not imply an automatic installation. */
|
|
15896
|
+
manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
|
|
15858
15897
|
// Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
|
|
15859
15898
|
message: external_exports.string().max(2048).optional(),
|
|
15860
15899
|
messageCode: external_exports.string().min(1).max(128).optional(),
|
|
@@ -15862,6 +15901,20 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15862
15901
|
notice: harnessLocalizedTextSchema.optional(),
|
|
15863
15902
|
latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
|
|
15864
15903
|
}).strict();
|
|
15904
|
+
var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
|
|
15905
|
+
var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
|
|
15906
|
+
external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
|
|
15907
|
+
external_exports.object({
|
|
15908
|
+
taskId: external_exports.string().uuid(),
|
|
15909
|
+
status: external_exports.literal("succeeded"),
|
|
15910
|
+
result: harnessInstallationStateSchema
|
|
15911
|
+
}).strict(),
|
|
15912
|
+
external_exports.object({
|
|
15913
|
+
taskId: external_exports.string().uuid(),
|
|
15914
|
+
status: external_exports.literal("failed"),
|
|
15915
|
+
error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
|
|
15916
|
+
}).strict()
|
|
15917
|
+
]);
|
|
15865
15918
|
|
|
15866
15919
|
// ../../shared-contracts/dist/codex-accounts.js
|
|
15867
15920
|
var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
|
|
@@ -16347,6 +16400,18 @@ function sanitizeDiagnosticTail(value) {
|
|
|
16347
16400
|
return redacted.length <= DIAGNOSTIC_TAIL_MAX_LENGTH ? redacted : redacted.slice(-DIAGNOSTIC_TAIL_MAX_LENGTH);
|
|
16348
16401
|
}
|
|
16349
16402
|
|
|
16403
|
+
// ../../harness-adapter/dist/steer.js
|
|
16404
|
+
function unsupportedSteer(harnessLabel) {
|
|
16405
|
+
return {
|
|
16406
|
+
ok: false,
|
|
16407
|
+
error: {
|
|
16408
|
+
code: "unsupported",
|
|
16409
|
+
message: `${harnessLabel} cannot steer an active Turn natively`,
|
|
16410
|
+
retryable: false
|
|
16411
|
+
}
|
|
16412
|
+
};
|
|
16413
|
+
}
|
|
16414
|
+
|
|
16350
16415
|
// ../../harness-adapter/dist/usage.js
|
|
16351
16416
|
var tokenFields = [
|
|
16352
16417
|
"inputTokens",
|
|
@@ -16374,6 +16439,7 @@ var usageFields = /* @__PURE__ */ new Set([
|
|
|
16374
16439
|
...safeIntegerFields,
|
|
16375
16440
|
...percentFields,
|
|
16376
16441
|
"sessionCacheUsage",
|
|
16442
|
+
"composerIndicators",
|
|
16377
16443
|
"totalCostUsd",
|
|
16378
16444
|
"totalCredits",
|
|
16379
16445
|
"contextUsagePercent",
|
|
@@ -16396,6 +16462,7 @@ function parseHostUsage(value) {
|
|
|
16396
16462
|
throw new Error(`Harness Usage contains unknown field '${key}'`);
|
|
16397
16463
|
}
|
|
16398
16464
|
}
|
|
16465
|
+
const indicators = value.composerIndicators === void 0 ? {} : { composerIndicators: composerIndicatorsSchema.parse(value.composerIndicators) };
|
|
16399
16466
|
for (const field of [
|
|
16400
16467
|
"totalCredits",
|
|
16401
16468
|
"contextUsagePercent",
|
|
@@ -16466,9 +16533,9 @@ function parseHostUsage(value) {
|
|
|
16466
16533
|
if (value.costSource !== "publicPrice") {
|
|
16467
16534
|
throw new Error("Harness Usage 'unpricedModels' must be provided with a 'publicPrice' cost");
|
|
16468
16535
|
}
|
|
16469
|
-
return { ...value, unpricedModels: [...models] };
|
|
16536
|
+
return { ...value, ...indicators, unpricedModels: [...models] };
|
|
16470
16537
|
}
|
|
16471
|
-
return { ...value };
|
|
16538
|
+
return { ...value, ...indicators };
|
|
16472
16539
|
}
|
|
16473
16540
|
var requestTokenFields = [
|
|
16474
16541
|
"inputTokens",
|
|
@@ -23882,6 +23949,8 @@ var KiroSession = class {
|
|
|
23882
23949
|
if (command.type === "turn.cancel") {
|
|
23883
23950
|
return this.#cancelTurn(command);
|
|
23884
23951
|
}
|
|
23952
|
+
if (command.type === "turn.steer")
|
|
23953
|
+
return unsupportedSteer("Kiro");
|
|
23885
23954
|
if (command.type === "interaction.respond") {
|
|
23886
23955
|
return this.#respondInteraction(command);
|
|
23887
23956
|
}
|