@karlorz/codexhost-cli-win32-x64 0.13.3-7 → 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 +55 -4
- package/app/console-web.js +344 -54
- package/app/cpa-live-voice-hook.js +55 -4
- package/app/desktop-controller.mjs +69 -8
- package/app/host-runtime.mjs +743 -230
- package/app/plugins/antigravity/plugin.mjs +88 -12
- package/app/plugins/claude-code/plugin.mjs +397 -21
- package/app/plugins/codebuddy/plugin.mjs +107 -17
- package/app/plugins/codex-usage/plugin.mjs +67 -7
- 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 +88 -6
- package/app/plugins/deepseek-harness/plugin.mjs +73 -6
- package/app/plugins/enabled.json +1 -0
- package/app/plugins/grok/plugin.mjs +272 -60
- package/app/plugins/hermes/plugin.mjs +70 -4
- package/app/plugins/kimi-code/plugin.mjs +73 -6
- package/app/plugins/kiro-cli/plugin.mjs +73 -6
- package/app/plugins/omp/plugin.mjs +73 -112
- package/app/plugins/opencode/plugin.mjs +75 -6
- package/app/plugins/pi/plugin.mjs +204 -44
- package/app/plugins/qoder/plugin.mjs +73 -6
- package/app/plugins/qoder-cn/plugin.mjs +73 -6
- package/app/plugins/workbuddy/plugin.mjs +368 -41
- package/app/plugins/zcode/plugin.mjs +74 -6
- package/app/renderer-extension.js +749 -157
- 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),
|
|
@@ -15193,6 +15202,8 @@ var CONSOLE_HOST_METHODS = Object.freeze([
|
|
|
15193
15202
|
"codexhost/harness/display-settings/set",
|
|
15194
15203
|
"codexhost/harness/inspect",
|
|
15195
15204
|
"codexhost/harness/installation",
|
|
15205
|
+
"codexhost/harness/installation/start",
|
|
15206
|
+
"codexhost/harness/installation/status",
|
|
15196
15207
|
"codexhost/harness/launch-settings/get",
|
|
15197
15208
|
"codexhost/harness/launch-settings/set",
|
|
15198
15209
|
"codexhost/harness/grok-computer-use/get",
|
|
@@ -15270,7 +15281,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
|
|
|
15270
15281
|
var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
|
|
15271
15282
|
var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
|
|
15272
15283
|
var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
|
|
15284
|
+
var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text) => text.length <= maximum));
|
|
15285
|
+
var composerIndicatorsSchema = external_exports.array(external_exports.object({
|
|
15286
|
+
kind: external_exports.literal("countdown"),
|
|
15287
|
+
id: external_exports.string().min(1).max(64),
|
|
15288
|
+
expiresAtUnix: nonNegativeSafeIntegerSchema,
|
|
15289
|
+
label: indicatorTextSchema(256).optional(),
|
|
15290
|
+
tooltip: indicatorTextSchema(1024).optional()
|
|
15291
|
+
}).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
|
|
15292
|
+
message: "Composer indicator IDs must be unique"
|
|
15293
|
+
});
|
|
15273
15294
|
var threadUsageSnapshotSchema = external_exports.object({
|
|
15295
|
+
composerIndicators: composerIndicatorsSchema.optional(),
|
|
15274
15296
|
inputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15275
15297
|
cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
15276
15298
|
cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
@@ -15678,7 +15700,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
|
|
|
15678
15700
|
}).strict().optional(),
|
|
15679
15701
|
autonomousTurns: external_exports.object({
|
|
15680
15702
|
observe: external_exports.boolean()
|
|
15681
|
-
}).strict().optional()
|
|
15703
|
+
}).strict().optional(),
|
|
15704
|
+
/** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
|
|
15705
|
+
steer: external_exports.boolean().optional()
|
|
15682
15706
|
}).strict();
|
|
15683
15707
|
var harnessConfigurationStateSchema = external_exports.object({
|
|
15684
15708
|
effectiveModel: harnessModelRefSchema.optional(),
|
|
@@ -15810,6 +15834,15 @@ var threadOwnershipListResultSchema = external_exports.object({
|
|
|
15810
15834
|
seen.add(thread.threadId);
|
|
15811
15835
|
}
|
|
15812
15836
|
});
|
|
15837
|
+
var threadSteeringInspectParamsSchema = external_exports.object({
|
|
15838
|
+
threadId: hostThreadIdSchema,
|
|
15839
|
+
/** The text about to be steered; a Harness command always stops and restarts. */
|
|
15840
|
+
text: external_exports.string().optional()
|
|
15841
|
+
}).strict();
|
|
15842
|
+
var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
|
|
15843
|
+
var threadSteeringInspectResultSchema = external_exports.object({
|
|
15844
|
+
delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
|
|
15845
|
+
}).strict();
|
|
15813
15846
|
|
|
15814
15847
|
// ../../shared-contracts/dist/harness-plugins.js
|
|
15815
15848
|
var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
|
|
@@ -15931,6 +15964,10 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15931
15964
|
latestVersion: external_exports.string().min(1).max(128),
|
|
15932
15965
|
updateAvailable: external_exports.boolean(),
|
|
15933
15966
|
canUpdate: external_exports.boolean(),
|
|
15967
|
+
/** Defaults to CLI; some Harnesses ship only inside a desktop application. */
|
|
15968
|
+
versionKind: external_exports.enum(["cli", "application"]).optional(),
|
|
15969
|
+
/** Official download opened by the user; does not imply an automatic installation. */
|
|
15970
|
+
manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
|
|
15934
15971
|
// Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
|
|
15935
15972
|
message: external_exports.string().max(2048).optional(),
|
|
15936
15973
|
messageCode: external_exports.string().min(1).max(128).optional(),
|
|
@@ -15938,6 +15975,20 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
15938
15975
|
notice: harnessLocalizedTextSchema.optional(),
|
|
15939
15976
|
latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
|
|
15940
15977
|
}).strict();
|
|
15978
|
+
var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
|
|
15979
|
+
var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
|
|
15980
|
+
external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
|
|
15981
|
+
external_exports.object({
|
|
15982
|
+
taskId: external_exports.string().uuid(),
|
|
15983
|
+
status: external_exports.literal("succeeded"),
|
|
15984
|
+
result: harnessInstallationStateSchema
|
|
15985
|
+
}).strict(),
|
|
15986
|
+
external_exports.object({
|
|
15987
|
+
taskId: external_exports.string().uuid(),
|
|
15988
|
+
status: external_exports.literal("failed"),
|
|
15989
|
+
error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
|
|
15990
|
+
}).strict()
|
|
15991
|
+
]);
|
|
15941
15992
|
|
|
15942
15993
|
// ../../shared-contracts/dist/codex-accounts.js
|
|
15943
15994
|
var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
|
|
@@ -16486,6 +16537,18 @@ function sanitizeDiagnosticTail(value) {
|
|
|
16486
16537
|
return redacted.length <= DIAGNOSTIC_TAIL_MAX_LENGTH ? redacted : redacted.slice(-DIAGNOSTIC_TAIL_MAX_LENGTH);
|
|
16487
16538
|
}
|
|
16488
16539
|
|
|
16540
|
+
// ../../harness-adapter/dist/steer.js
|
|
16541
|
+
function unsupportedSteer(harnessLabel) {
|
|
16542
|
+
return {
|
|
16543
|
+
ok: false,
|
|
16544
|
+
error: {
|
|
16545
|
+
code: "unsupported",
|
|
16546
|
+
message: `${harnessLabel} cannot steer an active Turn natively`,
|
|
16547
|
+
retryable: false
|
|
16548
|
+
}
|
|
16549
|
+
};
|
|
16550
|
+
}
|
|
16551
|
+
|
|
16489
16552
|
// ../../harness-adapter/dist/usage.js
|
|
16490
16553
|
var tokenFields = [
|
|
16491
16554
|
"inputTokens",
|
|
@@ -16513,6 +16576,7 @@ var usageFields = /* @__PURE__ */ new Set([
|
|
|
16513
16576
|
...safeIntegerFields,
|
|
16514
16577
|
...percentFields,
|
|
16515
16578
|
"sessionCacheUsage",
|
|
16579
|
+
"composerIndicators",
|
|
16516
16580
|
"totalCostUsd",
|
|
16517
16581
|
"totalCredits",
|
|
16518
16582
|
"contextUsagePercent",
|
|
@@ -16535,6 +16599,7 @@ function parseHostUsage(value) {
|
|
|
16535
16599
|
throw new Error(`Harness Usage contains unknown field '${key}'`);
|
|
16536
16600
|
}
|
|
16537
16601
|
}
|
|
16602
|
+
const indicators = value.composerIndicators === void 0 ? {} : { composerIndicators: composerIndicatorsSchema.parse(value.composerIndicators) };
|
|
16538
16603
|
for (const field of [
|
|
16539
16604
|
"totalCredits",
|
|
16540
16605
|
"contextUsagePercent",
|
|
@@ -16605,9 +16670,9 @@ function parseHostUsage(value) {
|
|
|
16605
16670
|
if (value.costSource !== "publicPrice") {
|
|
16606
16671
|
throw new Error("Harness Usage 'unpricedModels' must be provided with a 'publicPrice' cost");
|
|
16607
16672
|
}
|
|
16608
|
-
return { ...value, unpricedModels: [...models] };
|
|
16673
|
+
return { ...value, ...indicators, unpricedModels: [...models] };
|
|
16609
16674
|
}
|
|
16610
|
-
return { ...value };
|
|
16675
|
+
return { ...value, ...indicators };
|
|
16611
16676
|
}
|
|
16612
16677
|
var requestTokenFields = [
|
|
16613
16678
|
"inputTokens",
|
|
@@ -23650,6 +23715,8 @@ var CursorSession = class {
|
|
|
23650
23715
|
return rejected("invalidState", "Cursor session is closed");
|
|
23651
23716
|
if (command.type === "interaction.respond")
|
|
23652
23717
|
return this.#interactions.respond(command);
|
|
23718
|
+
if (command.type === "turn.steer")
|
|
23719
|
+
return unsupportedSteer("Cursor ACP");
|
|
23653
23720
|
if (command.type === "turn.cancel") {
|
|
23654
23721
|
if (!this.#active || this.#active.command.turnId !== command.turnId)
|
|
23655
23722
|
return rejected("invalidState", "Cursor turn is not active");
|
|
@@ -23860,6 +23927,7 @@ var harnessBrokerMethodSchema = external_exports.enum([
|
|
|
23860
23927
|
"adapter.open",
|
|
23861
23928
|
"adapter.subagent.readSnapshot",
|
|
23862
23929
|
"session.readSnapshot",
|
|
23930
|
+
"session.readCapabilities",
|
|
23863
23931
|
"session.refreshUsage",
|
|
23864
23932
|
"session.execute",
|
|
23865
23933
|
"session.commands.list",
|
|
@@ -24040,6 +24108,11 @@ var turnStartSchema = external_exports.object({
|
|
|
24040
24108
|
turnId: hostTurnIdSchema,
|
|
24041
24109
|
input: external_exports.array(textInputSchema)
|
|
24042
24110
|
}).strict();
|
|
24111
|
+
var turnSteerSchema = external_exports.object({
|
|
24112
|
+
type: external_exports.literal("turn.steer"),
|
|
24113
|
+
turnId: hostTurnIdSchema,
|
|
24114
|
+
input: external_exports.array(textInputSchema)
|
|
24115
|
+
}).strict();
|
|
24043
24116
|
var turnCancelSchema = external_exports.object({ type: external_exports.literal("turn.cancel"), turnId: hostTurnIdSchema }).strict();
|
|
24044
24117
|
var interactionResponseSchema = external_exports.union([
|
|
24045
24118
|
external_exports.object({
|
|
@@ -24065,6 +24138,7 @@ var permissionSelectSchema = external_exports.object({
|
|
|
24065
24138
|
}).strict();
|
|
24066
24139
|
var brokerHostCommandSchema = external_exports.discriminatedUnion("type", [
|
|
24067
24140
|
turnStartSchema,
|
|
24141
|
+
turnSteerSchema,
|
|
24068
24142
|
turnCancelSchema,
|
|
24069
24143
|
interactionRespondSchema,
|
|
24070
24144
|
modelSelectSchema,
|
|
@@ -24257,6 +24331,7 @@ function parseSessionMetadata(value) {
|
|
|
24257
24331
|
sessionId: candidate.sessionId,
|
|
24258
24332
|
sessionGeneration: candidate.sessionGeneration,
|
|
24259
24333
|
capabilities: harnessSessionCapabilitiesSchema.parse(candidate.capabilities),
|
|
24334
|
+
readCapabilities: candidate.readCapabilities === true,
|
|
24260
24335
|
initialState: state,
|
|
24261
24336
|
initialUsage: candidate.initialUsage === null ? null : parseHostUsage(candidate.initialUsage),
|
|
24262
24337
|
commands: candidate.commands === true
|
|
@@ -24608,6 +24683,11 @@ var BrokeredHarnessSession = class {
|
|
|
24608
24683
|
event: { type: "session.faulted", error: unavailable(error51.message) }
|
|
24609
24684
|
});
|
|
24610
24685
|
}
|
|
24686
|
+
async readCapabilities() {
|
|
24687
|
+
if (!this.#metadata.readCapabilities)
|
|
24688
|
+
return { ...this.capabilities, steer: false };
|
|
24689
|
+
return harnessSessionCapabilitiesSchema.parse(await this.#request("session.readCapabilities", {}));
|
|
24690
|
+
}
|
|
24611
24691
|
async refreshUsage() {
|
|
24612
24692
|
await this.#request("session.refreshUsage", {});
|
|
24613
24693
|
}
|
|
@@ -24639,6 +24719,8 @@ var BrokeredHarnessSession = class {
|
|
|
24639
24719
|
try {
|
|
24640
24720
|
return parseHarnessResult(await this.#request("session.execute", { command }));
|
|
24641
24721
|
} catch (error51) {
|
|
24722
|
+
if (command.type === "turn.steer")
|
|
24723
|
+
throw error51;
|
|
24642
24724
|
return {
|
|
24643
24725
|
ok: false,
|
|
24644
24726
|
error: unavailable(error51 instanceof Error ? error51.message : String(error51))
|
|
@@ -18903,10 +18903,19 @@ var model = external_exports.string().min(1).max(512);
|
|
|
18903
18903
|
var project = external_exports.string().min(1).max(4096);
|
|
18904
18904
|
var usageStatisticsParamsSchema = external_exports.strictObject({
|
|
18905
18905
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
18906
|
+
/** Display timezone for ranges, dates and hourly buckets; omitted means the Host's local zone. */
|
|
18907
|
+
timeZone: external_exports.string().min(1).max(128).refine((value) => {
|
|
18908
|
+
try {
|
|
18909
|
+
new Intl.DateTimeFormat("en", { timeZone: value });
|
|
18910
|
+
return true;
|
|
18911
|
+
} catch {
|
|
18912
|
+
return false;
|
|
18913
|
+
}
|
|
18914
|
+
}, "Unsupported usage statistics timezone").optional(),
|
|
18906
18915
|
harness: harness.optional(),
|
|
18907
18916
|
model: model.nullable().optional(),
|
|
18908
18917
|
project: project.nullable().optional(),
|
|
18909
|
-
/** One
|
|
18918
|
+
/** One date in the query timezone inside the range. */
|
|
18910
18919
|
date: localDate.optional()
|
|
18911
18920
|
});
|
|
18912
18921
|
var usageStatisticsTotalsSchema = external_exports.strictObject({
|
|
@@ -18942,7 +18951,7 @@ var usageStatisticsSessionSchema = external_exports.strictObject({
|
|
|
18942
18951
|
});
|
|
18943
18952
|
var usageStatisticsResultSchema = external_exports.strictObject({
|
|
18944
18953
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
18945
|
-
/** First
|
|
18954
|
+
/** First date in the query timezone (Host local when omitted); null for all time. */
|
|
18946
18955
|
from: localDate.nullable(),
|
|
18947
18956
|
to: localDate,
|
|
18948
18957
|
/** The filters these figures apply, echoed so a late answer to older filters is recognised. */
|
|
@@ -18982,7 +18991,7 @@ var usageStatisticsResultSchema = external_exports.strictObject({
|
|
|
18982
18991
|
totals: usageStatisticsTotalsSchema,
|
|
18983
18992
|
/** Each date and Harness of the range: every filter except the day. */
|
|
18984
18993
|
daily: external_exports.array(external_exports.strictObject({ date: localDate, harness, ...totals })).max(2e5),
|
|
18985
|
-
/**
|
|
18994
|
+
/** Weekday (0 = Sunday) and hour in the query timezone, all filters applied. */
|
|
18986
18995
|
hourly: external_exports.array(external_exports.strictObject({
|
|
18987
18996
|
weekday: external_exports.number().int().min(0).max(6),
|
|
18988
18997
|
hour: external_exports.number().int().min(0).max(23),
|
|
@@ -19073,6 +19082,8 @@ var CONSOLE_HOST_METHODS = Object.freeze([
|
|
|
19073
19082
|
"codexhost/harness/display-settings/set",
|
|
19074
19083
|
"codexhost/harness/inspect",
|
|
19075
19084
|
"codexhost/harness/installation",
|
|
19085
|
+
"codexhost/harness/installation/start",
|
|
19086
|
+
"codexhost/harness/installation/status",
|
|
19076
19087
|
"codexhost/harness/launch-settings/get",
|
|
19077
19088
|
"codexhost/harness/launch-settings/set",
|
|
19078
19089
|
"codexhost/harness/grok-computer-use/get",
|
|
@@ -19150,7 +19161,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
|
|
|
19150
19161
|
var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
|
|
19151
19162
|
var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
|
|
19152
19163
|
var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
|
|
19164
|
+
var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text) => text.length <= maximum));
|
|
19165
|
+
var composerIndicatorsSchema = external_exports.array(external_exports.object({
|
|
19166
|
+
kind: external_exports.literal("countdown"),
|
|
19167
|
+
id: external_exports.string().min(1).max(64),
|
|
19168
|
+
expiresAtUnix: nonNegativeSafeIntegerSchema,
|
|
19169
|
+
label: indicatorTextSchema(256).optional(),
|
|
19170
|
+
tooltip: indicatorTextSchema(1024).optional()
|
|
19171
|
+
}).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
|
|
19172
|
+
message: "Composer indicator IDs must be unique"
|
|
19173
|
+
});
|
|
19153
19174
|
var threadUsageSnapshotSchema = external_exports.object({
|
|
19175
|
+
composerIndicators: composerIndicatorsSchema.optional(),
|
|
19154
19176
|
inputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
19155
19177
|
cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
19156
19178
|
cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
@@ -19558,7 +19580,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
|
|
|
19558
19580
|
}).strict().optional(),
|
|
19559
19581
|
autonomousTurns: external_exports.object({
|
|
19560
19582
|
observe: external_exports.boolean()
|
|
19561
|
-
}).strict().optional()
|
|
19583
|
+
}).strict().optional(),
|
|
19584
|
+
/** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
|
|
19585
|
+
steer: external_exports.boolean().optional()
|
|
19562
19586
|
}).strict();
|
|
19563
19587
|
var harnessConfigurationStateSchema = external_exports.object({
|
|
19564
19588
|
effectiveModel: harnessModelRefSchema.optional(),
|
|
@@ -19690,6 +19714,15 @@ var threadOwnershipListResultSchema = external_exports.object({
|
|
|
19690
19714
|
seen.add(thread.threadId);
|
|
19691
19715
|
}
|
|
19692
19716
|
});
|
|
19717
|
+
var threadSteeringInspectParamsSchema = external_exports.object({
|
|
19718
|
+
threadId: hostThreadIdSchema,
|
|
19719
|
+
/** The text about to be steered; a Harness command always stops and restarts. */
|
|
19720
|
+
text: external_exports.string().optional()
|
|
19721
|
+
}).strict();
|
|
19722
|
+
var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
|
|
19723
|
+
var threadSteeringInspectResultSchema = external_exports.object({
|
|
19724
|
+
delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
|
|
19725
|
+
}).strict();
|
|
19693
19726
|
|
|
19694
19727
|
// ../../shared-contracts/dist/harness-plugins.js
|
|
19695
19728
|
var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
|
|
@@ -19811,6 +19844,10 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
19811
19844
|
latestVersion: external_exports.string().min(1).max(128),
|
|
19812
19845
|
updateAvailable: external_exports.boolean(),
|
|
19813
19846
|
canUpdate: external_exports.boolean(),
|
|
19847
|
+
/** Defaults to CLI; some Harnesses ship only inside a desktop application. */
|
|
19848
|
+
versionKind: external_exports.enum(["cli", "application"]).optional(),
|
|
19849
|
+
/** Official download opened by the user; does not imply an automatic installation. */
|
|
19850
|
+
manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
|
|
19814
19851
|
// Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
|
|
19815
19852
|
message: external_exports.string().max(2048).optional(),
|
|
19816
19853
|
messageCode: external_exports.string().min(1).max(128).optional(),
|
|
@@ -19818,6 +19855,20 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
19818
19855
|
notice: harnessLocalizedTextSchema.optional(),
|
|
19819
19856
|
latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
|
|
19820
19857
|
}).strict();
|
|
19858
|
+
var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
|
|
19859
|
+
var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
|
|
19860
|
+
external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
|
|
19861
|
+
external_exports.object({
|
|
19862
|
+
taskId: external_exports.string().uuid(),
|
|
19863
|
+
status: external_exports.literal("succeeded"),
|
|
19864
|
+
result: harnessInstallationStateSchema
|
|
19865
|
+
}).strict(),
|
|
19866
|
+
external_exports.object({
|
|
19867
|
+
taskId: external_exports.string().uuid(),
|
|
19868
|
+
status: external_exports.literal("failed"),
|
|
19869
|
+
error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
|
|
19870
|
+
}).strict()
|
|
19871
|
+
]);
|
|
19821
19872
|
|
|
19822
19873
|
// ../../shared-contracts/dist/codex-accounts.js
|
|
19823
19874
|
var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
|
|
@@ -20375,6 +20426,18 @@ function sanitizeDiagnosticTail(value) {
|
|
|
20375
20426
|
return redacted.length <= DIAGNOSTIC_TAIL_MAX_LENGTH ? redacted : redacted.slice(-DIAGNOSTIC_TAIL_MAX_LENGTH);
|
|
20376
20427
|
}
|
|
20377
20428
|
|
|
20429
|
+
// ../../harness-adapter/dist/steer.js
|
|
20430
|
+
function unsupportedSteer(harnessLabel) {
|
|
20431
|
+
return {
|
|
20432
|
+
ok: false,
|
|
20433
|
+
error: {
|
|
20434
|
+
code: "unsupported",
|
|
20435
|
+
message: `${harnessLabel} cannot steer an active Turn natively`,
|
|
20436
|
+
retryable: false
|
|
20437
|
+
}
|
|
20438
|
+
};
|
|
20439
|
+
}
|
|
20440
|
+
|
|
20378
20441
|
// ../../harness-adapter/dist/usage.js
|
|
20379
20442
|
var tokenFields = [
|
|
20380
20443
|
"inputTokens",
|
|
@@ -20402,6 +20465,7 @@ var usageFields = /* @__PURE__ */ new Set([
|
|
|
20402
20465
|
...safeIntegerFields,
|
|
20403
20466
|
...percentFields,
|
|
20404
20467
|
"sessionCacheUsage",
|
|
20468
|
+
"composerIndicators",
|
|
20405
20469
|
"totalCostUsd",
|
|
20406
20470
|
"totalCredits",
|
|
20407
20471
|
"contextUsagePercent",
|
|
@@ -20424,6 +20488,7 @@ function parseHostUsage(value) {
|
|
|
20424
20488
|
throw new Error(`Harness Usage contains unknown field '${key}'`);
|
|
20425
20489
|
}
|
|
20426
20490
|
}
|
|
20491
|
+
const indicators = value.composerIndicators === void 0 ? {} : { composerIndicators: composerIndicatorsSchema.parse(value.composerIndicators) };
|
|
20427
20492
|
for (const field of [
|
|
20428
20493
|
"totalCredits",
|
|
20429
20494
|
"contextUsagePercent",
|
|
@@ -20494,9 +20559,9 @@ function parseHostUsage(value) {
|
|
|
20494
20559
|
if (value.costSource !== "publicPrice") {
|
|
20495
20560
|
throw new Error("Harness Usage 'unpricedModels' must be provided with a 'publicPrice' cost");
|
|
20496
20561
|
}
|
|
20497
|
-
return { ...value, unpricedModels: [...models] };
|
|
20562
|
+
return { ...value, ...indicators, unpricedModels: [...models] };
|
|
20498
20563
|
}
|
|
20499
|
-
return { ...value };
|
|
20564
|
+
return { ...value, ...indicators };
|
|
20500
20565
|
}
|
|
20501
20566
|
var requestTokenFields = [
|
|
20502
20567
|
"inputTokens",
|
|
@@ -28878,6 +28943,8 @@ var ModernHarnessSession = class {
|
|
|
28878
28943
|
switch (command.type) {
|
|
28879
28944
|
case "turn.start":
|
|
28880
28945
|
return this.#start(command);
|
|
28946
|
+
case "turn.steer":
|
|
28947
|
+
return Promise.resolve(unsupportedSteer("DeepSeek Harness"));
|
|
28881
28948
|
case "turn.cancel":
|
|
28882
28949
|
return this.#cancel(command);
|
|
28883
28950
|
case "interaction.respond":
|