@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.
Files changed (34) hide show
  1. package/README.md +1 -1
  2. package/app/codexhost-distribution.json +1 -1
  3. package/app/console-server.mjs +55 -4
  4. package/app/console-web.js +344 -54
  5. package/app/cpa-live-voice-hook.js +55 -4
  6. package/app/desktop-controller.mjs +69 -8
  7. package/app/host-runtime.mjs +743 -230
  8. package/app/plugins/antigravity/plugin.mjs +88 -12
  9. package/app/plugins/claude-code/plugin.mjs +397 -21
  10. package/app/plugins/codebuddy/plugin.mjs +107 -17
  11. package/app/plugins/codex-usage/plugin.mjs +67 -7
  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 +88 -6
  16. package/app/plugins/deepseek-harness/plugin.mjs +73 -6
  17. package/app/plugins/enabled.json +1 -0
  18. package/app/plugins/grok/plugin.mjs +272 -60
  19. package/app/plugins/hermes/plugin.mjs +70 -4
  20. package/app/plugins/kimi-code/plugin.mjs +73 -6
  21. package/app/plugins/kiro-cli/plugin.mjs +73 -6
  22. package/app/plugins/omp/plugin.mjs +73 -112
  23. package/app/plugins/opencode/plugin.mjs +75 -6
  24. package/app/plugins/pi/plugin.mjs +204 -44
  25. package/app/plugins/qoder/plugin.mjs +73 -6
  26. package/app/plugins/qoder-cn/plugin.mjs +73 -6
  27. package/app/plugins/workbuddy/plugin.mjs +368 -41
  28. package/app/plugins/zcode/plugin.mjs +74 -6
  29. package/app/renderer-extension.js +749 -157
  30. package/bin/codexhost.exe +0 -0
  31. package/libexec/codexhost-node-repl.exe +0 -0
  32. package/libexec/codexhost-shim.exe +0 -0
  33. package/libexec/codexhost-updater.exe +0 -0
  34. package/package.json +1 -1
@@ -14848,10 +14848,19 @@ var model = external_exports.string().min(1).max(512);
14848
14848
  var project = external_exports.string().min(1).max(4096);
14849
14849
  var usageStatisticsParamsSchema = external_exports.strictObject({
14850
14850
  range: external_exports.enum(USAGE_STATISTICS_RANGES),
14851
+ /** Display timezone for ranges, dates and hourly buckets; omitted means the Host's local zone. */
14852
+ timeZone: external_exports.string().min(1).max(128).refine((value) => {
14853
+ try {
14854
+ new Intl.DateTimeFormat("en", { timeZone: value });
14855
+ return true;
14856
+ } catch {
14857
+ return false;
14858
+ }
14859
+ }, "Unsupported usage statistics timezone").optional(),
14851
14860
  harness: harness.optional(),
14852
14861
  model: model.nullable().optional(),
14853
14862
  project: project.nullable().optional(),
14854
- /** One local date inside the range. */
14863
+ /** One date in the query timezone inside the range. */
14855
14864
  date: localDate.optional()
14856
14865
  });
14857
14866
  var usageStatisticsTotalsSchema = external_exports.strictObject({
@@ -14887,7 +14896,7 @@ var usageStatisticsSessionSchema = external_exports.strictObject({
14887
14896
  });
14888
14897
  var usageStatisticsResultSchema = external_exports.strictObject({
14889
14898
  range: external_exports.enum(USAGE_STATISTICS_RANGES),
14890
- /** First local date of the range; null for all time. */
14899
+ /** First date in the query timezone (Host local when omitted); null for all time. */
14891
14900
  from: localDate.nullable(),
14892
14901
  to: localDate,
14893
14902
  /** The filters these figures apply, echoed so a late answer to older filters is recognised. */
@@ -14927,7 +14936,7 @@ var usageStatisticsResultSchema = external_exports.strictObject({
14927
14936
  totals: usageStatisticsTotalsSchema,
14928
14937
  /** Each date and Harness of the range: every filter except the day. */
14929
14938
  daily: external_exports.array(external_exports.strictObject({ date: localDate, harness, ...totals })).max(2e5),
14930
- /** Local weekday (0 = Sunday) and hour, all filters applied. */
14939
+ /** Weekday (0 = Sunday) and hour in the query timezone, all filters applied. */
14931
14940
  hourly: external_exports.array(external_exports.strictObject({
14932
14941
  weekday: external_exports.number().int().min(0).max(6),
14933
14942
  hour: external_exports.number().int().min(0).max(23),
@@ -15018,6 +15027,8 @@ var CONSOLE_HOST_METHODS = Object.freeze([
15018
15027
  "codexhost/harness/display-settings/set",
15019
15028
  "codexhost/harness/inspect",
15020
15029
  "codexhost/harness/installation",
15030
+ "codexhost/harness/installation/start",
15031
+ "codexhost/harness/installation/status",
15021
15032
  "codexhost/harness/launch-settings/get",
15022
15033
  "codexhost/harness/launch-settings/set",
15023
15034
  "codexhost/harness/grok-computer-use/get",
@@ -15095,7 +15106,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
15095
15106
  var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
15096
15107
  var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
15097
15108
  var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
15109
+ var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text2) => text2.length <= maximum));
15110
+ var composerIndicatorsSchema = external_exports.array(external_exports.object({
15111
+ kind: external_exports.literal("countdown"),
15112
+ id: external_exports.string().min(1).max(64),
15113
+ expiresAtUnix: nonNegativeSafeIntegerSchema,
15114
+ label: indicatorTextSchema(256).optional(),
15115
+ tooltip: indicatorTextSchema(1024).optional()
15116
+ }).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
15117
+ message: "Composer indicator IDs must be unique"
15118
+ });
15098
15119
  var threadUsageSnapshotSchema = external_exports.object({
15120
+ composerIndicators: composerIndicatorsSchema.optional(),
15099
15121
  inputTokens: nonNegativeSafeIntegerSchema.optional(),
15100
15122
  cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
15101
15123
  cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
@@ -15503,7 +15525,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
15503
15525
  }).strict().optional(),
15504
15526
  autonomousTurns: external_exports.object({
15505
15527
  observe: external_exports.boolean()
15506
- }).strict().optional()
15528
+ }).strict().optional(),
15529
+ /** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
15530
+ steer: external_exports.boolean().optional()
15507
15531
  }).strict();
15508
15532
  var harnessConfigurationStateSchema = external_exports.object({
15509
15533
  effectiveModel: harnessModelRefSchema.optional(),
@@ -15635,6 +15659,15 @@ var threadOwnershipListResultSchema = external_exports.object({
15635
15659
  seen.add(thread.threadId);
15636
15660
  }
15637
15661
  });
15662
+ var threadSteeringInspectParamsSchema = external_exports.object({
15663
+ threadId: hostThreadIdSchema,
15664
+ /** The text about to be steered; a Harness command always stops and restarts. */
15665
+ text: external_exports.string().optional()
15666
+ }).strict();
15667
+ var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
15668
+ var threadSteeringInspectResultSchema = external_exports.object({
15669
+ delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
15670
+ }).strict();
15638
15671
 
15639
15672
  // ../../shared-contracts/dist/harness-plugins.js
15640
15673
  var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
@@ -15756,6 +15789,10 @@ var harnessInstallationStateSchema = external_exports.object({
15756
15789
  latestVersion: external_exports.string().min(1).max(128),
15757
15790
  updateAvailable: external_exports.boolean(),
15758
15791
  canUpdate: external_exports.boolean(),
15792
+ /** Defaults to CLI; some Harnesses ship only inside a desktop application. */
15793
+ versionKind: external_exports.enum(["cli", "application"]).optional(),
15794
+ /** Official download opened by the user; does not imply an automatic installation. */
15795
+ manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
15759
15796
  // Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
15760
15797
  message: external_exports.string().max(2048).optional(),
15761
15798
  messageCode: external_exports.string().min(1).max(128).optional(),
@@ -15763,6 +15800,20 @@ var harnessInstallationStateSchema = external_exports.object({
15763
15800
  notice: harnessLocalizedTextSchema.optional(),
15764
15801
  latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
15765
15802
  }).strict();
15803
+ var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
15804
+ var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
15805
+ external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
15806
+ external_exports.object({
15807
+ taskId: external_exports.string().uuid(),
15808
+ status: external_exports.literal("succeeded"),
15809
+ result: harnessInstallationStateSchema
15810
+ }).strict(),
15811
+ external_exports.object({
15812
+ taskId: external_exports.string().uuid(),
15813
+ status: external_exports.literal("failed"),
15814
+ error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
15815
+ }).strict()
15816
+ ]);
15766
15817
 
15767
15818
  // ../../shared-contracts/dist/codex-accounts.js
15768
15819
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
@@ -16294,6 +16345,18 @@ function sanitizeDiagnosticTail(value) {
16294
16345
  return redacted.length <= DIAGNOSTIC_TAIL_MAX_LENGTH ? redacted : redacted.slice(-DIAGNOSTIC_TAIL_MAX_LENGTH);
16295
16346
  }
16296
16347
 
16348
+ // ../../harness-adapter/dist/steer.js
16349
+ function unsupportedSteer(harnessLabel) {
16350
+ return {
16351
+ ok: false,
16352
+ error: {
16353
+ code: "unsupported",
16354
+ message: `${harnessLabel} cannot steer an active Turn natively`,
16355
+ retryable: false
16356
+ }
16357
+ };
16358
+ }
16359
+
16297
16360
  // ../../harness-adapter/dist/usage.js
16298
16361
  var tokenFields = [
16299
16362
  "inputTokens",
@@ -16321,6 +16384,7 @@ var usageFields = /* @__PURE__ */ new Set([
16321
16384
  ...safeIntegerFields,
16322
16385
  ...percentFields,
16323
16386
  "sessionCacheUsage",
16387
+ "composerIndicators",
16324
16388
  "totalCostUsd",
16325
16389
  "totalCredits",
16326
16390
  "contextUsagePercent",
@@ -16343,6 +16407,7 @@ function parseHostUsage(value) {
16343
16407
  throw new Error(`Harness Usage contains unknown field '${key}'`);
16344
16408
  }
16345
16409
  }
16410
+ const indicators = value.composerIndicators === void 0 ? {} : { composerIndicators: composerIndicatorsSchema.parse(value.composerIndicators) };
16346
16411
  for (const field2 of [
16347
16412
  "totalCredits",
16348
16413
  "contextUsagePercent",
@@ -16413,9 +16478,9 @@ function parseHostUsage(value) {
16413
16478
  if (value.costSource !== "publicPrice") {
16414
16479
  throw new Error("Harness Usage 'unpricedModels' must be provided with a 'publicPrice' cost");
16415
16480
  }
16416
- return { ...value, unpricedModels: [...models] };
16481
+ return { ...value, ...indicators, unpricedModels: [...models] };
16417
16482
  }
16418
- return { ...value };
16483
+ return { ...value, ...indicators };
16419
16484
  }
16420
16485
  var requestTokenFields = [
16421
16486
  "inputTokens",
@@ -19523,6 +19588,7 @@ async function readHistory(transport, snapshot, events = []) {
19523
19588
 
19524
19589
  // dist/capabilities.js
19525
19590
  var ZCODE_CAPABILITIES = {
19591
+ steer: false,
19526
19592
  configuration: {
19527
19593
  selectModel: true,
19528
19594
  selectThinkingOption: true,
@@ -19697,6 +19763,8 @@ var ZcodeSession = class {
19697
19763
  if (this.#closed || this.#faulted)
19698
19764
  return failure("invalidState", "ZCode session is closed");
19699
19765
  try {
19766
+ if (command.type === "turn.steer")
19767
+ return unsupportedSteer("ZCode");
19700
19768
  if (command.type === "turn.start") {
19701
19769
  if (!hostTurnIdSchema.safeParse(command.turnId).success || !command.input.length || command.input.some((item) => item.type !== "text") || !command.input.some((item) => item.text.trim()))
19702
19770
  return failure("invalidRequest", "ZCode requires nonempty text and a turn ID");