@codexhost/cli-darwin-x64 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.
@@ -14931,10 +14931,19 @@ var model = external_exports.string().min(1).max(512);
14931
14931
  var project = external_exports.string().min(1).max(4096);
14932
14932
  var usageStatisticsParamsSchema = external_exports.strictObject({
14933
14933
  range: external_exports.enum(USAGE_STATISTICS_RANGES),
14934
+ /** Display timezone for ranges, dates and hourly buckets; omitted means the Host's local zone. */
14935
+ timeZone: external_exports.string().min(1).max(128).refine((value) => {
14936
+ try {
14937
+ new Intl.DateTimeFormat("en", { timeZone: value });
14938
+ return true;
14939
+ } catch {
14940
+ return false;
14941
+ }
14942
+ }, "Unsupported usage statistics timezone").optional(),
14934
14943
  harness: harness.optional(),
14935
14944
  model: model.nullable().optional(),
14936
14945
  project: project.nullable().optional(),
14937
- /** One local date inside the range. */
14946
+ /** One date in the query timezone inside the range. */
14938
14947
  date: localDate.optional()
14939
14948
  });
14940
14949
  var usageStatisticsTotalsSchema = external_exports.strictObject({
@@ -14970,7 +14979,7 @@ var usageStatisticsSessionSchema = external_exports.strictObject({
14970
14979
  });
14971
14980
  var usageStatisticsResultSchema = external_exports.strictObject({
14972
14981
  range: external_exports.enum(USAGE_STATISTICS_RANGES),
14973
- /** First local date of the range; null for all time. */
14982
+ /** First date in the query timezone (Host local when omitted); null for all time. */
14974
14983
  from: localDate.nullable(),
14975
14984
  to: localDate,
14976
14985
  /** The filters these figures apply, echoed so a late answer to older filters is recognised. */
@@ -15010,7 +15019,7 @@ var usageStatisticsResultSchema = external_exports.strictObject({
15010
15019
  totals: usageStatisticsTotalsSchema,
15011
15020
  /** Each date and Harness of the range: every filter except the day. */
15012
15021
  daily: external_exports.array(external_exports.strictObject({ date: localDate, harness, ...totals })).max(2e5),
15013
- /** Local weekday (0 = Sunday) and hour, all filters applied. */
15022
+ /** Weekday (0 = Sunday) and hour in the query timezone, all filters applied. */
15014
15023
  hourly: external_exports.array(external_exports.strictObject({
15015
15024
  weekday: external_exports.number().int().min(0).max(6),
15016
15025
  hour: external_exports.number().int().min(0).max(23),
@@ -15070,6 +15079,8 @@ var CONSOLE_HOST_METHODS = Object.freeze([
15070
15079
  "codexhost/harness/display-settings/set",
15071
15080
  "codexhost/harness/inspect",
15072
15081
  "codexhost/harness/installation",
15082
+ "codexhost/harness/installation/start",
15083
+ "codexhost/harness/installation/status",
15073
15084
  "codexhost/harness/launch-settings/get",
15074
15085
  "codexhost/harness/launch-settings/set",
15075
15086
  "codexhost/harness/web-ui/open",
@@ -15145,7 +15156,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
15145
15156
  var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
15146
15157
  var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
15147
15158
  var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
15159
+ var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text) => text.length <= maximum));
15160
+ var composerIndicatorsSchema = external_exports.array(external_exports.object({
15161
+ kind: external_exports.literal("countdown"),
15162
+ id: external_exports.string().min(1).max(64),
15163
+ expiresAtUnix: nonNegativeSafeIntegerSchema,
15164
+ label: indicatorTextSchema(256).optional(),
15165
+ tooltip: indicatorTextSchema(1024).optional()
15166
+ }).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
15167
+ message: "Composer indicator IDs must be unique"
15168
+ });
15148
15169
  var threadUsageSnapshotSchema = external_exports.object({
15170
+ composerIndicators: composerIndicatorsSchema.optional(),
15149
15171
  inputTokens: nonNegativeSafeIntegerSchema.optional(),
15150
15172
  cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
15151
15173
  cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
@@ -15553,7 +15575,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
15553
15575
  }).strict().optional(),
15554
15576
  autonomousTurns: external_exports.object({
15555
15577
  observe: external_exports.boolean()
15556
- }).strict().optional()
15578
+ }).strict().optional(),
15579
+ /** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
15580
+ steer: external_exports.boolean().optional()
15557
15581
  }).strict();
15558
15582
  var harnessConfigurationStateSchema = external_exports.object({
15559
15583
  effectiveModel: harnessModelRefSchema.optional(),
@@ -15600,7 +15624,9 @@ var harnessInspectionSchema = external_exports.union([
15600
15624
  var harnessInspectParamsSchema = external_exports.object({
15601
15625
  harnessId: harnessIdSchema,
15602
15626
  cwd: nonBlankTextSchema2.max(16384).optional(),
15603
- refresh: external_exports.boolean().optional()
15627
+ refresh: external_exports.boolean().optional(),
15628
+ /** `availability` asks only whether the Harness can run; see `InspectHarnessInput.purpose`. */
15629
+ purpose: external_exports.literal("availability").optional()
15604
15630
  }).strict();
15605
15631
  var harnessWebUiOpenParamsSchema = external_exports.object({
15606
15632
  harnessId: harnessIdSchema
@@ -15683,6 +15709,15 @@ var threadOwnershipListResultSchema = external_exports.object({
15683
15709
  seen.add(thread.threadId);
15684
15710
  }
15685
15711
  });
15712
+ var threadSteeringInspectParamsSchema = external_exports.object({
15713
+ threadId: hostThreadIdSchema,
15714
+ /** The text about to be steered; a Harness command always stops and restarts. */
15715
+ text: external_exports.string().optional()
15716
+ }).strict();
15717
+ var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
15718
+ var threadSteeringInspectResultSchema = external_exports.object({
15719
+ delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
15720
+ }).strict();
15686
15721
 
15687
15722
  // packages/shared-contracts/dist/harness-plugins.js
15688
15723
  var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
@@ -15784,6 +15819,10 @@ var harnessInstallationStateSchema = external_exports.object({
15784
15819
  latestVersion: external_exports.string().min(1).max(128),
15785
15820
  updateAvailable: external_exports.boolean(),
15786
15821
  canUpdate: external_exports.boolean(),
15822
+ /** Defaults to CLI; some Harnesses ship only inside a desktop application. */
15823
+ versionKind: external_exports.enum(["cli", "application"]).optional(),
15824
+ /** Official download opened by the user; does not imply an automatic installation. */
15825
+ manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
15787
15826
  // Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
15788
15827
  message: external_exports.string().max(2048).optional(),
15789
15828
  messageCode: external_exports.string().min(1).max(128).optional(),
@@ -15791,6 +15830,20 @@ var harnessInstallationStateSchema = external_exports.object({
15791
15830
  notice: harnessLocalizedTextSchema.optional(),
15792
15831
  latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
15793
15832
  }).strict();
15833
+ var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
15834
+ var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
15835
+ external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
15836
+ external_exports.object({
15837
+ taskId: external_exports.string().uuid(),
15838
+ status: external_exports.literal("succeeded"),
15839
+ result: harnessInstallationStateSchema
15840
+ }).strict(),
15841
+ external_exports.object({
15842
+ taskId: external_exports.string().uuid(),
15843
+ status: external_exports.literal("failed"),
15844
+ error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
15845
+ }).strict()
15846
+ ]);
15794
15847
 
15795
15848
  // packages/shared-contracts/dist/codex-accounts.js
15796
15849
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
@@ -17187,9 +17240,13 @@ function requestManagerFromHookState(value, hostId2) {
17187
17240
  if (!record2(value)) return null;
17188
17241
  const direct = manager(value) ?? manager(value.manager);
17189
17242
  if (direct) return direct;
17190
- if (!hostId2 || typeof value.addManager !== "function" || typeof value.getForHostId !== "function" || typeof value.waitForManagerForHostId !== "function")
17243
+ if (!hostId2 || typeof value.addManager !== "function" || typeof value.getForHostId !== "function")
17191
17244
  return null;
17192
- return manager(value.getForHostId(hostId2));
17245
+ try {
17246
+ return manager(value.getForHostId(hostId2));
17247
+ } catch {
17248
+ return null;
17249
+ }
17193
17250
  }
17194
17251
  function discoverRendererHosts(root, ancestors = committedReactAncestors, managerFrom = requestManagerFromHookState) {
17195
17252
  const editors = [
@@ -17224,7 +17281,7 @@ function discoverRendererHosts(root, ancestors = committedReactAncestors, manage
17224
17281
  const value = hook.memoizedState;
17225
17282
  const manager = managerFrom(value);
17226
17283
  if (manager) managers.add(manager);
17227
- if (value && typeof value === "object" && "addManager" in value && typeof value.addManager === "function" && "getForHostId" in value && typeof value.getForHostId === "function" && "waitForManagerForHostId" in value && typeof value.waitForManagerForHostId === "function") {
17284
+ if (value && typeof value === "object" && "addManager" in value && typeof value.addManager === "function" && "getForHostId" in value && typeof value.getForHostId === "function") {
17228
17285
  registries.add(value);
17229
17286
  }
17230
17287
  hook = hook.next && typeof hook.next === "object" ? hook.next : null;
@@ -17239,7 +17296,13 @@ function discoverRendererHosts(root, ancestors = committedReactAncestors, manage
17239
17296
  }
17240
17297
  function resolveRendererHostManager(discovery, hostId2, managerFrom = requestManagerFromHookState) {
17241
17298
  if (!hostId2) return null;
17242
- const candidates = discovery.registries.length ? discovery.registries.map((registry2) => managerFrom(registry2.getForHostId(hostId2))) : discovery.managers;
17299
+ const candidates = discovery.registries.length ? discovery.registries.flatMap((registry2) => {
17300
+ try {
17301
+ return [managerFrom(registry2.getForHostId(hostId2))];
17302
+ } catch {
17303
+ return [];
17304
+ }
17305
+ }) : discovery.managers;
17243
17306
  const matching = new Set(
17244
17307
  candidates.filter(
17245
17308
  (manager) => manager && (manager.getHostId?.() ?? manager.requestClient.hostId) === hostId2 && (manager.requestClient.hostId === void 0 || manager.requestClient.hostId === hostId2)