@karlorz/codexhost-cli-darwin-x64 0.13.3-6 → 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.
Files changed (33) hide show
  1. package/README.md +1 -1
  2. package/app/codexhost-distribution.json +1 -1
  3. package/app/console-server.mjs +539 -95
  4. package/app/console-web.js +879 -73
  5. package/app/cpa-live-voice-hook.js +605 -37
  6. package/app/desktop-controller.mjs +94 -9
  7. package/app/host-runtime.mjs +1662 -642
  8. package/app/plugins/antigravity/plugin.mjs +113 -13
  9. package/app/plugins/claude-code/plugin.mjs +429 -26
  10. package/app/plugins/codebuddy/plugin.mjs +139 -22
  11. package/app/plugins/codex-usage/plugin.mjs +198 -74
  12. package/app/plugins/copilot/assets/icon.png +0 -0
  13. package/app/plugins/copilot/manifest.json +26 -0
  14. package/app/plugins/copilot/plugin.mjs +34645 -0
  15. package/app/plugins/cursor-cli/plugin.mjs +20877 -44973
  16. package/app/plugins/deepseek-harness/plugin.mjs +105 -11
  17. package/app/plugins/enabled.json +1 -0
  18. package/app/plugins/grok/plugin.mjs +1073 -214
  19. package/app/plugins/hermes/plugin.mjs +102 -9
  20. package/app/plugins/kimi-code/plugin.mjs +98 -7
  21. package/app/plugins/kiro-cli/plugin.mjs +98 -7
  22. package/app/plugins/omp/plugin.mjs +2177 -2000
  23. package/app/plugins/opencode/plugin.mjs +107 -11
  24. package/app/plugins/pi/plugin.mjs +2554 -2285
  25. package/app/plugins/qoder/plugin.mjs +105 -11
  26. package/app/plugins/qoder-cn/plugin.mjs +105 -11
  27. package/app/plugins/workbuddy/plugin.mjs +400 -46
  28. package/app/plugins/zcode/plugin.mjs +106 -11
  29. package/app/renderer-extension.js +2717 -1237
  30. package/bin/codexhost +0 -0
  31. package/libexec/codexhost-shim +0 -0
  32. package/libexec/codexhost-updater +0 -0
  33. package/package.json +1 -1
@@ -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),
@@ -15101,8 +15110,12 @@ var CONSOLE_HOST_METHODS = Object.freeze([
15101
15110
  "codexhost/harness/display-settings/set",
15102
15111
  "codexhost/harness/inspect",
15103
15112
  "codexhost/harness/installation",
15113
+ "codexhost/harness/installation/start",
15114
+ "codexhost/harness/installation/status",
15104
15115
  "codexhost/harness/launch-settings/get",
15105
15116
  "codexhost/harness/launch-settings/set",
15117
+ "codexhost/harness/grok-computer-use/get",
15118
+ "codexhost/harness/grok-computer-use/set",
15106
15119
  "codexhost/harness/web-ui/open",
15107
15120
  "codexhost/harness/accounts/sources",
15108
15121
  "codexhost/harness/accounts/list",
@@ -15176,7 +15189,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
15176
15189
  var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
15177
15190
  var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
15178
15191
  var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
15192
+ var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text) => text.length <= maximum));
15193
+ var composerIndicatorsSchema = external_exports.array(external_exports.object({
15194
+ kind: external_exports.literal("countdown"),
15195
+ id: external_exports.string().min(1).max(64),
15196
+ expiresAtUnix: nonNegativeSafeIntegerSchema,
15197
+ label: indicatorTextSchema(256).optional(),
15198
+ tooltip: indicatorTextSchema(1024).optional()
15199
+ }).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
15200
+ message: "Composer indicator IDs must be unique"
15201
+ });
15179
15202
  var threadUsageSnapshotSchema = external_exports.object({
15203
+ composerIndicators: composerIndicatorsSchema.optional(),
15180
15204
  inputTokens: nonNegativeSafeIntegerSchema.optional(),
15181
15205
  cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
15182
15206
  cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
@@ -15584,7 +15608,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
15584
15608
  }).strict().optional(),
15585
15609
  autonomousTurns: external_exports.object({
15586
15610
  observe: external_exports.boolean()
15587
- }).strict().optional()
15611
+ }).strict().optional(),
15612
+ /** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
15613
+ steer: external_exports.boolean().optional()
15588
15614
  }).strict();
15589
15615
  var harnessConfigurationStateSchema = external_exports.object({
15590
15616
  effectiveModel: harnessModelRefSchema.optional(),
@@ -15631,7 +15657,9 @@ var harnessInspectionSchema = external_exports.union([
15631
15657
  var harnessInspectParamsSchema = external_exports.object({
15632
15658
  harnessId: harnessIdSchema,
15633
15659
  cwd: nonBlankTextSchema2.max(16384).optional(),
15634
- refresh: external_exports.boolean().optional()
15660
+ refresh: external_exports.boolean().optional(),
15661
+ /** `availability` asks only whether the Harness can run; see `InspectHarnessInput.purpose`. */
15662
+ purpose: external_exports.literal("availability").optional()
15635
15663
  }).strict();
15636
15664
  var harnessWebUiOpenParamsSchema = external_exports.object({
15637
15665
  harnessId: harnessIdSchema
@@ -15714,6 +15742,15 @@ var threadOwnershipListResultSchema = external_exports.object({
15714
15742
  seen.add(thread.threadId);
15715
15743
  }
15716
15744
  });
15745
+ var threadSteeringInspectParamsSchema = external_exports.object({
15746
+ threadId: hostThreadIdSchema,
15747
+ /** The text about to be steered; a Harness command always stops and restarts. */
15748
+ text: external_exports.string().optional()
15749
+ }).strict();
15750
+ var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
15751
+ var threadSteeringInspectResultSchema = external_exports.object({
15752
+ delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
15753
+ }).strict();
15717
15754
 
15718
15755
  // packages/shared-contracts/dist/harness-plugins.js
15719
15756
  var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
@@ -15805,6 +15842,26 @@ var harnessLaunchSettingsSchema = external_exports.object({
15805
15842
  restartRequired: external_exports.boolean()
15806
15843
  }).strict();
15807
15844
 
15845
+ // packages/shared-contracts/dist/grok-computer-use.js
15846
+ var grokComputerUseGetSchema = external_exports.object({}).strict();
15847
+ var grokComputerUseSetSchema = external_exports.object({
15848
+ enabled: external_exports.boolean().optional(),
15849
+ browser: external_exports.boolean().optional()
15850
+ }).strict().refine((value) => value.enabled !== void 0 || value.browser !== void 0, {
15851
+ message: "Expected enabled or browser"
15852
+ });
15853
+ var grokComputerUseSettingsSchema = external_exports.object({
15854
+ enabled: external_exports.boolean(),
15855
+ available: external_exports.boolean(),
15856
+ unavailableReason: external_exports.string().min(1).max(500).optional(),
15857
+ browser: external_exports.boolean().optional(),
15858
+ browserFilesPresent: external_exports.boolean().optional(),
15859
+ browserAvailable: external_exports.boolean().optional(),
15860
+ browserUnavailableReason: external_exports.string().min(1).max(500).optional(),
15861
+ applyFailed: external_exports.boolean().optional(),
15862
+ applyError: external_exports.string().min(1).max(500).optional()
15863
+ }).strict();
15864
+
15808
15865
  // packages/shared-contracts/dist/harness-installation.js
15809
15866
  var harnessInstallationParamsSchema = external_exports.object({
15810
15867
  harnessId: harnessIdSchema,
@@ -15815,6 +15872,10 @@ var harnessInstallationStateSchema = external_exports.object({
15815
15872
  latestVersion: external_exports.string().min(1).max(128),
15816
15873
  updateAvailable: external_exports.boolean(),
15817
15874
  canUpdate: external_exports.boolean(),
15875
+ /** Defaults to CLI; some Harnesses ship only inside a desktop application. */
15876
+ versionKind: external_exports.enum(["cli", "application"]).optional(),
15877
+ /** Official download opened by the user; does not imply an automatic installation. */
15878
+ manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
15818
15879
  // Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
15819
15880
  message: external_exports.string().max(2048).optional(),
15820
15881
  messageCode: external_exports.string().min(1).max(128).optional(),
@@ -15822,6 +15883,20 @@ var harnessInstallationStateSchema = external_exports.object({
15822
15883
  notice: harnessLocalizedTextSchema.optional(),
15823
15884
  latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
15824
15885
  }).strict();
15886
+ var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
15887
+ var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
15888
+ external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
15889
+ external_exports.object({
15890
+ taskId: external_exports.string().uuid(),
15891
+ status: external_exports.literal("succeeded"),
15892
+ result: harnessInstallationStateSchema
15893
+ }).strict(),
15894
+ external_exports.object({
15895
+ taskId: external_exports.string().uuid(),
15896
+ status: external_exports.literal("failed"),
15897
+ error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
15898
+ }).strict()
15899
+ ]);
15825
15900
 
15826
15901
  // packages/shared-contracts/dist/codex-accounts.js
15827
15902
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
@@ -17311,9 +17386,13 @@ function requestManagerFromHookState(value, hostId2) {
17311
17386
  if (!record2(value)) return null;
17312
17387
  const direct = manager(value) ?? manager(value.manager);
17313
17388
  if (direct) return direct;
17314
- if (!hostId2 || typeof value.addManager !== "function" || typeof value.getForHostId !== "function" || typeof value.waitForManagerForHostId !== "function")
17389
+ if (!hostId2 || typeof value.addManager !== "function" || typeof value.getForHostId !== "function")
17315
17390
  return null;
17316
- return manager(value.getForHostId(hostId2));
17391
+ try {
17392
+ return manager(value.getForHostId(hostId2));
17393
+ } catch {
17394
+ return null;
17395
+ }
17317
17396
  }
17318
17397
  function discoverRendererHosts(root, ancestors = committedReactAncestors, managerFrom = requestManagerFromHookState) {
17319
17398
  const editors = [
@@ -17348,7 +17427,7 @@ function discoverRendererHosts(root, ancestors = committedReactAncestors, manage
17348
17427
  const value = hook.memoizedState;
17349
17428
  const manager = managerFrom(value);
17350
17429
  if (manager) managers.add(manager);
17351
- 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") {
17430
+ if (value && typeof value === "object" && "addManager" in value && typeof value.addManager === "function" && "getForHostId" in value && typeof value.getForHostId === "function") {
17352
17431
  registries.add(value);
17353
17432
  }
17354
17433
  hook = hook.next && typeof hook.next === "object" ? hook.next : null;
@@ -17363,7 +17442,13 @@ function discoverRendererHosts(root, ancestors = committedReactAncestors, manage
17363
17442
  }
17364
17443
  function resolveRendererHostManager(discovery, hostId2, managerFrom = requestManagerFromHookState) {
17365
17444
  if (!hostId2) return null;
17366
- const candidates = discovery.registries.length ? discovery.registries.map((registry2) => managerFrom(registry2.getForHostId(hostId2))) : discovery.managers;
17445
+ const candidates = discovery.registries.length ? discovery.registries.flatMap((registry2) => {
17446
+ try {
17447
+ return [managerFrom(registry2.getForHostId(hostId2))];
17448
+ } catch {
17449
+ return [];
17450
+ }
17451
+ }) : discovery.managers;
17367
17452
  const matching = new Set(
17368
17453
  candidates.filter(
17369
17454
  (manager) => manager && (manager.getHostId?.() ?? manager.requestClient.hostId) === hostId2 && (manager.requestClient.hostId === void 0 || manager.requestClient.hostId === hostId2)