@karlorz/codexhost-cli-darwin-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.
@@ -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 local date inside the range. */
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 local date of the range; null for all time. */
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
- /** Local weekday (0 = Sunday) and hour, all filters applied. */
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((text2) => text2.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);
@@ -16469,6 +16520,18 @@ function sanitizeDiagnosticTail(value) {
16469
16520
  return redacted.length <= DIAGNOSTIC_TAIL_MAX_LENGTH ? redacted : redacted.slice(-DIAGNOSTIC_TAIL_MAX_LENGTH);
16470
16521
  }
16471
16522
 
16523
+ // ../../harness-adapter/dist/steer.js
16524
+ function unsupportedSteer(harnessLabel) {
16525
+ return {
16526
+ ok: false,
16527
+ error: {
16528
+ code: "unsupported",
16529
+ message: `${harnessLabel} cannot steer an active Turn natively`,
16530
+ retryable: false
16531
+ }
16532
+ };
16533
+ }
16534
+
16472
16535
  // ../../harness-adapter/dist/usage.js
16473
16536
  var tokenFields = [
16474
16537
  "inputTokens",
@@ -16496,6 +16559,7 @@ var usageFields = /* @__PURE__ */ new Set([
16496
16559
  ...safeIntegerFields,
16497
16560
  ...percentFields,
16498
16561
  "sessionCacheUsage",
16562
+ "composerIndicators",
16499
16563
  "totalCostUsd",
16500
16564
  "totalCredits",
16501
16565
  "contextUsagePercent",
@@ -19617,6 +19681,8 @@ var HermesSession = class {
19617
19681
  switch (command.type) {
19618
19682
  case "turn.start":
19619
19683
  return this.#startTurn(command);
19684
+ case "turn.steer":
19685
+ return Promise.resolve(unsupportedSteer("Hermes"));
19620
19686
  case "turn.cancel":
19621
19687
  return this.#cancelTurn(command);
19622
19688
  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 local date inside the range. */
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 local date of the range; null for all time. */
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
- /** Local weekday (0 = Sunday) and hour, all filters applied. */
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),
@@ -15313,6 +15322,8 @@ var CONSOLE_HOST_METHODS = Object.freeze([
15313
15322
  "codexhost/harness/display-settings/set",
15314
15323
  "codexhost/harness/inspect",
15315
15324
  "codexhost/harness/installation",
15325
+ "codexhost/harness/installation/start",
15326
+ "codexhost/harness/installation/status",
15316
15327
  "codexhost/harness/launch-settings/get",
15317
15328
  "codexhost/harness/launch-settings/set",
15318
15329
  "codexhost/harness/grok-computer-use/get",
@@ -15390,7 +15401,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
15390
15401
  var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
15391
15402
  var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
15392
15403
  var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
15404
+ var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text) => text.length <= maximum));
15405
+ var composerIndicatorsSchema = external_exports.array(external_exports.object({
15406
+ kind: external_exports.literal("countdown"),
15407
+ id: external_exports.string().min(1).max(64),
15408
+ expiresAtUnix: nonNegativeSafeIntegerSchema,
15409
+ label: indicatorTextSchema(256).optional(),
15410
+ tooltip: indicatorTextSchema(1024).optional()
15411
+ }).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
15412
+ message: "Composer indicator IDs must be unique"
15413
+ });
15393
15414
  var threadUsageSnapshotSchema = external_exports.object({
15415
+ composerIndicators: composerIndicatorsSchema.optional(),
15394
15416
  inputTokens: nonNegativeSafeIntegerSchema.optional(),
15395
15417
  cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
15396
15418
  cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
@@ -15798,7 +15820,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
15798
15820
  }).strict().optional(),
15799
15821
  autonomousTurns: external_exports.object({
15800
15822
  observe: external_exports.boolean()
15801
- }).strict().optional()
15823
+ }).strict().optional(),
15824
+ /** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
15825
+ steer: external_exports.boolean().optional()
15802
15826
  }).strict();
15803
15827
  var harnessConfigurationStateSchema = external_exports.object({
15804
15828
  effectiveModel: harnessModelRefSchema.optional(),
@@ -15930,6 +15954,15 @@ var threadOwnershipListResultSchema = external_exports.object({
15930
15954
  seen.add(thread.threadId);
15931
15955
  }
15932
15956
  });
15957
+ var threadSteeringInspectParamsSchema = external_exports.object({
15958
+ threadId: hostThreadIdSchema,
15959
+ /** The text about to be steered; a Harness command always stops and restarts. */
15960
+ text: external_exports.string().optional()
15961
+ }).strict();
15962
+ var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
15963
+ var threadSteeringInspectResultSchema = external_exports.object({
15964
+ delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
15965
+ }).strict();
15933
15966
 
15934
15967
  // ../../shared-contracts/dist/harness-plugins.js
15935
15968
  var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
@@ -16051,6 +16084,10 @@ var harnessInstallationStateSchema = external_exports.object({
16051
16084
  latestVersion: external_exports.string().min(1).max(128),
16052
16085
  updateAvailable: external_exports.boolean(),
16053
16086
  canUpdate: external_exports.boolean(),
16087
+ /** Defaults to CLI; some Harnesses ship only inside a desktop application. */
16088
+ versionKind: external_exports.enum(["cli", "application"]).optional(),
16089
+ /** Official download opened by the user; does not imply an automatic installation. */
16090
+ manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
16054
16091
  // Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
16055
16092
  message: external_exports.string().max(2048).optional(),
16056
16093
  messageCode: external_exports.string().min(1).max(128).optional(),
@@ -16058,6 +16095,20 @@ var harnessInstallationStateSchema = external_exports.object({
16058
16095
  notice: harnessLocalizedTextSchema.optional(),
16059
16096
  latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
16060
16097
  }).strict();
16098
+ var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
16099
+ var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
16100
+ external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
16101
+ external_exports.object({
16102
+ taskId: external_exports.string().uuid(),
16103
+ status: external_exports.literal("succeeded"),
16104
+ result: harnessInstallationStateSchema
16105
+ }).strict(),
16106
+ external_exports.object({
16107
+ taskId: external_exports.string().uuid(),
16108
+ status: external_exports.literal("failed"),
16109
+ error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
16110
+ }).strict()
16111
+ ]);
16061
16112
 
16062
16113
  // ../../shared-contracts/dist/codex-accounts.js
16063
16114
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
@@ -16593,6 +16644,18 @@ function sanitizeDiagnosticTail(value) {
16593
16644
  return redacted.length <= DIAGNOSTIC_TAIL_MAX_LENGTH ? redacted : redacted.slice(-DIAGNOSTIC_TAIL_MAX_LENGTH);
16594
16645
  }
16595
16646
 
16647
+ // ../../harness-adapter/dist/steer.js
16648
+ function unsupportedSteer(harnessLabel) {
16649
+ return {
16650
+ ok: false,
16651
+ error: {
16652
+ code: "unsupported",
16653
+ message: `${harnessLabel} cannot steer an active Turn natively`,
16654
+ retryable: false
16655
+ }
16656
+ };
16657
+ }
16658
+
16596
16659
  // ../../harness-adapter/dist/usage.js
16597
16660
  var tokenFields = [
16598
16661
  "inputTokens",
@@ -16620,6 +16683,7 @@ var usageFields = /* @__PURE__ */ new Set([
16620
16683
  ...safeIntegerFields,
16621
16684
  ...percentFields,
16622
16685
  "sessionCacheUsage",
16686
+ "composerIndicators",
16623
16687
  "totalCostUsd",
16624
16688
  "totalCredits",
16625
16689
  "contextUsagePercent",
@@ -16642,6 +16706,7 @@ function parseHostUsage(value) {
16642
16706
  throw new Error(`Harness Usage contains unknown field '${key}'`);
16643
16707
  }
16644
16708
  }
16709
+ const indicators = value.composerIndicators === void 0 ? {} : { composerIndicators: composerIndicatorsSchema.parse(value.composerIndicators) };
16645
16710
  for (const field of [
16646
16711
  "totalCredits",
16647
16712
  "contextUsagePercent",
@@ -16712,9 +16777,9 @@ function parseHostUsage(value) {
16712
16777
  if (value.costSource !== "publicPrice") {
16713
16778
  throw new Error("Harness Usage 'unpricedModels' must be provided with a 'publicPrice' cost");
16714
16779
  }
16715
- return { ...value, unpricedModels: [...models] };
16780
+ return { ...value, ...indicators, unpricedModels: [...models] };
16716
16781
  }
16717
- return { ...value };
16782
+ return { ...value, ...indicators };
16718
16783
  }
16719
16784
  var requestTokenFields = [
16720
16785
  "inputTokens",
@@ -24523,6 +24588,8 @@ var KimiSession = class {
24523
24588
  switch (command.type) {
24524
24589
  case "turn.start":
24525
24590
  return this.#handleTurnStart(command);
24591
+ case "turn.steer":
24592
+ return unsupportedSteer("Kimi ACP");
24526
24593
  case "turn.cancel":
24527
24594
  return this.#handleTurnCancel(command);
24528
24595
  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 local date inside the range. */
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 local date of the range; null for all time. */
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
- /** Local weekday (0 = Sunday) and hour, all filters applied. */
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),
@@ -15172,6 +15181,8 @@ var CONSOLE_HOST_METHODS = Object.freeze([
15172
15181
  "codexhost/harness/display-settings/set",
15173
15182
  "codexhost/harness/inspect",
15174
15183
  "codexhost/harness/installation",
15184
+ "codexhost/harness/installation/start",
15185
+ "codexhost/harness/installation/status",
15175
15186
  "codexhost/harness/launch-settings/get",
15176
15187
  "codexhost/harness/launch-settings/set",
15177
15188
  "codexhost/harness/grok-computer-use/get",
@@ -15249,7 +15260,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
15249
15260
  var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
15250
15261
  var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
15251
15262
  var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
15263
+ var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text) => text.length <= maximum));
15264
+ var composerIndicatorsSchema = external_exports.array(external_exports.object({
15265
+ kind: external_exports.literal("countdown"),
15266
+ id: external_exports.string().min(1).max(64),
15267
+ expiresAtUnix: nonNegativeSafeIntegerSchema,
15268
+ label: indicatorTextSchema(256).optional(),
15269
+ tooltip: indicatorTextSchema(1024).optional()
15270
+ }).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
15271
+ message: "Composer indicator IDs must be unique"
15272
+ });
15252
15273
  var threadUsageSnapshotSchema = external_exports.object({
15274
+ composerIndicators: composerIndicatorsSchema.optional(),
15253
15275
  inputTokens: nonNegativeSafeIntegerSchema.optional(),
15254
15276
  cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
15255
15277
  cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
@@ -15657,7 +15679,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
15657
15679
  }).strict().optional(),
15658
15680
  autonomousTurns: external_exports.object({
15659
15681
  observe: external_exports.boolean()
15660
- }).strict().optional()
15682
+ }).strict().optional(),
15683
+ /** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
15684
+ steer: external_exports.boolean().optional()
15661
15685
  }).strict();
15662
15686
  var harnessConfigurationStateSchema = external_exports.object({
15663
15687
  effectiveModel: harnessModelRefSchema.optional(),
@@ -15789,6 +15813,15 @@ var threadOwnershipListResultSchema = external_exports.object({
15789
15813
  seen.add(thread.threadId);
15790
15814
  }
15791
15815
  });
15816
+ var threadSteeringInspectParamsSchema = external_exports.object({
15817
+ threadId: hostThreadIdSchema,
15818
+ /** The text about to be steered; a Harness command always stops and restarts. */
15819
+ text: external_exports.string().optional()
15820
+ }).strict();
15821
+ var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
15822
+ var threadSteeringInspectResultSchema = external_exports.object({
15823
+ delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
15824
+ }).strict();
15792
15825
 
15793
15826
  // ../../shared-contracts/dist/harness-plugins.js
15794
15827
  var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
@@ -15910,6 +15943,10 @@ var harnessInstallationStateSchema = external_exports.object({
15910
15943
  latestVersion: external_exports.string().min(1).max(128),
15911
15944
  updateAvailable: external_exports.boolean(),
15912
15945
  canUpdate: external_exports.boolean(),
15946
+ /** Defaults to CLI; some Harnesses ship only inside a desktop application. */
15947
+ versionKind: external_exports.enum(["cli", "application"]).optional(),
15948
+ /** Official download opened by the user; does not imply an automatic installation. */
15949
+ manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
15913
15950
  // Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
15914
15951
  message: external_exports.string().max(2048).optional(),
15915
15952
  messageCode: external_exports.string().min(1).max(128).optional(),
@@ -15917,6 +15954,20 @@ var harnessInstallationStateSchema = external_exports.object({
15917
15954
  notice: harnessLocalizedTextSchema.optional(),
15918
15955
  latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
15919
15956
  }).strict();
15957
+ var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
15958
+ var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
15959
+ external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
15960
+ external_exports.object({
15961
+ taskId: external_exports.string().uuid(),
15962
+ status: external_exports.literal("succeeded"),
15963
+ result: harnessInstallationStateSchema
15964
+ }).strict(),
15965
+ external_exports.object({
15966
+ taskId: external_exports.string().uuid(),
15967
+ status: external_exports.literal("failed"),
15968
+ error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
15969
+ }).strict()
15970
+ ]);
15920
15971
 
15921
15972
  // ../../shared-contracts/dist/codex-accounts.js
15922
15973
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
@@ -16448,6 +16499,18 @@ function sanitizeDiagnosticTail(value) {
16448
16499
  return redacted.length <= DIAGNOSTIC_TAIL_MAX_LENGTH ? redacted : redacted.slice(-DIAGNOSTIC_TAIL_MAX_LENGTH);
16449
16500
  }
16450
16501
 
16502
+ // ../../harness-adapter/dist/steer.js
16503
+ function unsupportedSteer(harnessLabel) {
16504
+ return {
16505
+ ok: false,
16506
+ error: {
16507
+ code: "unsupported",
16508
+ message: `${harnessLabel} cannot steer an active Turn natively`,
16509
+ retryable: false
16510
+ }
16511
+ };
16512
+ }
16513
+
16451
16514
  // ../../harness-adapter/dist/usage.js
16452
16515
  var tokenFields = [
16453
16516
  "inputTokens",
@@ -16475,6 +16538,7 @@ var usageFields = /* @__PURE__ */ new Set([
16475
16538
  ...safeIntegerFields,
16476
16539
  ...percentFields,
16477
16540
  "sessionCacheUsage",
16541
+ "composerIndicators",
16478
16542
  "totalCostUsd",
16479
16543
  "totalCredits",
16480
16544
  "contextUsagePercent",
@@ -16497,6 +16561,7 @@ function parseHostUsage(value) {
16497
16561
  throw new Error(`Harness Usage contains unknown field '${key}'`);
16498
16562
  }
16499
16563
  }
16564
+ const indicators = value.composerIndicators === void 0 ? {} : { composerIndicators: composerIndicatorsSchema.parse(value.composerIndicators) };
16500
16565
  for (const field of [
16501
16566
  "totalCredits",
16502
16567
  "contextUsagePercent",
@@ -16567,9 +16632,9 @@ function parseHostUsage(value) {
16567
16632
  if (value.costSource !== "publicPrice") {
16568
16633
  throw new Error("Harness Usage 'unpricedModels' must be provided with a 'publicPrice' cost");
16569
16634
  }
16570
- return { ...value, unpricedModels: [...models] };
16635
+ return { ...value, ...indicators, unpricedModels: [...models] };
16571
16636
  }
16572
- return { ...value };
16637
+ return { ...value, ...indicators };
16573
16638
  }
16574
16639
  var requestTokenFields = [
16575
16640
  "inputTokens",
@@ -23983,6 +24048,8 @@ var KiroSession = class {
23983
24048
  if (command.type === "turn.cancel") {
23984
24049
  return this.#cancelTurn(command);
23985
24050
  }
24051
+ if (command.type === "turn.steer")
24052
+ return unsupportedSteer("Kiro");
23986
24053
  if (command.type === "interaction.respond") {
23987
24054
  return this.#respondInteraction(command);
23988
24055
  }