@codexhost/cli-darwin-arm64 0.18.0-beta.1 → 0.18.0-beta.4

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 (62) hide show
  1. package/README.md +1 -1
  2. package/app/codexhost-distribution.json +1 -1
  3. package/app/console-server.mjs +109 -94
  4. package/app/console-web.js +110 -95
  5. package/app/desktop-controller.mjs +109 -110
  6. package/app/host-runtime.mjs +14225 -10527
  7. package/app/plugins/antigravity/plugin.mjs +109 -94
  8. package/app/plugins/claude-code/plugin.mjs +229 -148
  9. package/app/plugins/codebuddy/plugin.mjs +109 -94
  10. package/app/plugins/codex-usage/plugin.mjs +109 -94
  11. package/app/plugins/copilot/plugin.mjs +109 -94
  12. package/app/plugins/cursor-cli/plugin.mjs +109 -94
  13. package/app/plugins/deepseek-harness/plugin.mjs +109 -94
  14. package/app/plugins/devin/plugin.mjs +109 -94
  15. package/app/plugins/enabled.json +0 -1
  16. package/app/plugins/grok/plugin.mjs +109 -94
  17. package/app/plugins/hermes/plugin.mjs +109 -94
  18. package/app/plugins/kimi-code/plugin.mjs +109 -94
  19. package/app/plugins/kiro-cli/plugin.mjs +109 -94
  20. package/app/plugins/omp/plugin.mjs +109 -94
  21. package/app/plugins/opencode/plugin.mjs +109 -94
  22. package/app/plugins/pi/plugin.mjs +109 -94
  23. package/app/plugins/qoder/plugin.mjs +109 -94
  24. package/app/plugins/qoder-cn/plugin.mjs +109 -94
  25. package/app/plugins/qwen-code/plugin.mjs +109 -94
  26. package/app/plugins/workbuddy/plugin.mjs +109 -94
  27. package/app/plugins/zcode/plugin.mjs +109 -94
  28. package/app/renderer-extension.js +128 -150
  29. package/app/web/assets/index-C3lniEH1.css +1 -0
  30. package/app/web/assets/index-D1dOzBMI.js +199 -0
  31. package/app/web/codexhost-settings.js +110 -95
  32. package/app/web/index.html +2 -2
  33. package/app/web/plugins/deepseek-ai__dsh-api-gateway/client.js +1 -1
  34. package/app/web/plugins/deepseek-ai__dsh-api-remotes/client.js +64 -64
  35. package/app/web/plugins/deepseek-ai__dsh-api-session-controller/client.js +69 -69
  36. package/app/web/plugins/deepseek-ai__dsh-client-connection/client.js +1 -1
  37. package/app/web/plugins/deepseek-ai__dsh-client-ui-chat/client.js +2 -2
  38. package/app/web/plugins/deepseek-ai__dsh-client-ui-codexhost/client.js +57 -56
  39. package/app/web/plugins/deepseek-ai__dsh-client-ui-conversation/client.js +87 -87
  40. package/app/web/plugins/deepseek-ai__dsh-client-ui-directory-picker-browse/client.js +10 -10
  41. package/app/web/plugins/deepseek-ai__dsh-client-ui-input-trigger/client.js +1 -1
  42. package/app/web/plugins/deepseek-ai__dsh-client-ui-layout/client.js +3 -3
  43. package/app/web/plugins/deepseek-ai__dsh-client-ui-model-selection/client.js +2 -2
  44. package/app/web/plugins/deepseek-ai__dsh-client-ui-permission-presets/client.js +1 -1
  45. package/app/web/plugins/deepseek-ai__dsh-client-ui-settings/client.js +1 -1
  46. package/app/web/plugins/deepseek-ai__dsh-client-ui-settings-general/client.js +2 -2
  47. package/app/web/plugins/deepseek-ai__dsh-client-ui-sidebar/client.js +2 -2
  48. package/app/web/plugins/deepseek-ai__dsh-client-ui-sidebar-right/client.js +55 -55
  49. package/app/web/plugins/deepseek-ai__dsh-client-ui-tool/client.js +18 -18
  50. package/app/web/plugins/deepseek-ai__dsh-client-ui-workspace/client.js +8 -12
  51. package/app/web/plugins.json +4 -0
  52. package/app/web/sw.js +55 -24
  53. package/app/web-modules/server.mjs +1415 -784
  54. package/bin/codexhost +0 -0
  55. package/libexec/codexhost-shim +0 -0
  56. package/libexec/codexhost-updater +0 -0
  57. package/package.json +1 -1
  58. package/app/plugins/codex-cli/manifest.json +0 -16
  59. package/app/plugins/codex-cli/plugin.mjs +0 -20374
  60. package/app/web/assets/index-CIeTchMu.css +0 -1
  61. package/app/web/assets/index-DeAPBQbV.js +0 -199
  62. /package/app/{plugins/codex-cli/assets/icon.png → web/codex.png} +0 -0
@@ -14869,7 +14869,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14869
14869
  var nonBlankTextSchema = external_exports.string().refine((value) => value.trim().length > 0, {
14870
14870
  message: "Value must not be empty or whitespace"
14871
14871
  });
14872
- var harnessPermissionModeIdSchema = nonBlankTextSchema.max(HARNESS_PERMISSION_MODE_ID_MAX_LENGTH).regex(/^[A-Za-z0-9._~-]+$/u, "Permission Mode ID must use transport-safe characters").brand();
14872
+ var harnessPermissionModeIdSchema = nonBlankTextSchema.max(HARNESS_PERMISSION_MODE_ID_MAX_LENGTH).regex(/^[A-Za-z0-9._~:-]+$/u, "Permission Mode ID must use transport-safe characters").brand();
14873
14873
  var harnessPermissionModeSchema = external_exports.object({
14874
14874
  id: harnessPermissionModeIdSchema,
14875
14875
  label: nonBlankTextSchema.max(HARNESS_PERMISSION_MODE_LABEL_MAX_LENGTH),
@@ -15262,7 +15262,12 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15262
15262
  }).strict();
15263
15263
  var codexThreadInspectionSchema = external_exports.object({
15264
15264
  owner: external_exports.literal("codex"),
15265
- locked: external_exports.literal(true),
15265
+ locked: external_exports.boolean(),
15266
+ effectiveModel: harnessModelRefSchema.optional(),
15267
+ resolvedModelLabel: harnessResolvedModelLabelSchema.optional(),
15268
+ effectiveThinkingOptionId: harnessThinkingOptionIdSchema.optional(),
15269
+ effectivePermissionModeId: harnessPermissionModeIdSchema.optional(),
15270
+ history: harnessHistoryCapabilitiesSchema.optional(),
15266
15271
  supportsThreadReferences: external_exports.literal(true).optional()
15267
15272
  }).strict();
15268
15273
  var externalThreadInspectionSchema = external_exports.object({
@@ -15486,7 +15491,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15486
15491
  thread: external_exports.object({
15487
15492
  id: external_exports.string().min(1),
15488
15493
  cwd: external_exports.string(),
15489
- modelProvider: external_exports.literal("codexhost"),
15494
+ /** External rows use codexhost; native Codex rows retain their official provider. */
15495
+ modelProvider: external_exports.string().min(1),
15490
15496
  createdAt: external_exports.number(),
15491
15497
  updatedAt: external_exports.number(),
15492
15498
  status: external_exports.object({ type: external_exports.string() }).passthrough(),
@@ -15500,6 +15506,11 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15500
15506
  nextCursor: external_exports.string().nullable()
15501
15507
  }),
15502
15508
  configuration: external_exports.object({
15509
+ /** Native Codex model names are not external Harness transport refs. */
15510
+ native: external_exports.object({
15511
+ model: external_exports.string().min(1).max(1024).optional(),
15512
+ reasoningEffort: external_exports.string().min(1).max(128).optional()
15513
+ }).optional(),
15503
15514
  effectiveModel: harnessModelRefSchema.optional(),
15504
15515
  effectiveThinkingOptionId: harnessThinkingOptionIdSchema.optional(),
15505
15516
  effectivePermissionModeId: harnessPermissionModeIdSchema.optional()
@@ -15526,6 +15537,21 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15526
15537
  result: record2
15527
15538
  });
15528
15539
 
15540
+ // ../shared-contracts/dist/thread-catalog.js
15541
+ var threadCatalogReadParamsSchema = external_exports.object({
15542
+ includeArchived: external_exports.boolean().optional(),
15543
+ /** Absent means first page; null means this branch is exhausted. Native cursors only. */
15544
+ officialCursor: external_exports.object({ live: external_exports.string().nullable(), archived: external_exports.string().nullable().optional() }).strict().optional()
15545
+ }).strict();
15546
+ var threadCatalogReadResultSchema = external_exports.object({
15547
+ threads: external_exports.array(jsonObjectSchema),
15548
+ ownership: external_exports.array(threadOwnershipSchema),
15549
+ /** Known archived IDs, including visible local external records even when their rows are
15550
+ * excluded. Native archived IDs describe only the returned page, never a complete set. */
15551
+ archivedThreadIds: external_exports.array(hostThreadIdSchema),
15552
+ officialCursor: external_exports.object({ live: external_exports.string().nullable(), archived: external_exports.string().nullable().optional() }).strict().optional()
15553
+ }).strict();
15554
+
15529
15555
  // ../shared-contracts/dist/voice.js
15530
15556
  var VOICE_AUDIO_MAX_BYTES = 10 * 1024 * 1024;
15531
15557
  var voiceAudioMimeTypeSchema = external_exports.string().regex(/^audio\/[a-z0-9.+-]+(?:\s*;[^\r\n]*)?$/i);
@@ -15765,84 +15791,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15765
15791
  });
15766
15792
  var DEFAULT_IDLE_RELEASE_SETTINGS = Object.freeze({
15767
15793
  enabled: false,
15768
- timeoutMinutes: 30
15769
- });
15770
-
15771
- // ../shared-contracts/dist/harness-plugins.js
15772
- var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
15773
- var HARNESS_PLUGIN_ICON_MAX_BYTES = 128 * 1024;
15774
- var HARNESS_PLUGIN_LIMIT = 128;
15775
- var HARNESS_PLUGIN_SURFACES = ["desktop", "web"];
15776
- var harnessPluginSurfaceSchema = external_exports.enum(HARNESS_PLUGIN_SURFACES);
15777
- var installedHarnessPluginIdSchema = external_exports.string().min(1).max(128).regex(/^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/u).pipe(harnessIdSchema);
15778
- var harnessPluginIdSchema = installedHarnessPluginIdSchema.refine((id) => id !== "codex", "The official Codex identity is reserved");
15779
- var relativeResourceSchema = external_exports.string().min(1).max(512).refine((value) => !/[\\\u0000:#?]/u.test(value) && !value.startsWith("/") && !value.split("/").some((part) => part === ".." || part === ""), "Plugin resources must be relative paths inside the plugin");
15780
- var documentationUrlSchema = external_exports.url().refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Plugin documentation links must be credential-free HTTPS URLs");
15781
- var localizedTextSchema = external_exports.object({ en: external_exports.string().max(4096), "zh-CN": external_exports.string().max(4096).optional() }).strict();
15782
- var harnessInstallationGuideSchema = external_exports.object({
15783
- commands: external_exports.array(external_exports.object({ terminal: external_exports.string().max(256), command: external_exports.string().max(4096) }).strict()).max(8),
15784
- before: localizedTextSchema.optional(),
15785
- after: localizedTextSchema.optional(),
15786
- downloads: external_exports.array(external_exports.object({ label: external_exports.string().max(128), url: documentationUrlSchema }).strict()).max(8).optional()
15787
- }).strict();
15788
- var pluginPresentationShape = {
15789
- id: installedHarnessPluginIdSchema,
15790
- name: external_exports.string().trim().min(1).max(128),
15791
- version: external_exports.string().min(1).max(128),
15792
- /** Capability-only plugin; omitted for existing session-capable plugins. */
15793
- kind: external_exports.literal("usage").optional(),
15794
- /** Original image styling or bounded vector paths; never arbitrary CSS/SVG markup. */
15795
- iconStyle: external_exports.object({
15796
- vector: external_exports.object({
15797
- viewBox: external_exports.string().max(128).regex(/^-?\d+(?:\.\d+)?(?: +-?\d+(?:\.\d+)?){3}$/u),
15798
- color: external_exports.string().regex(/^(?:currentColor|#[a-f0-9]{6})$/iu),
15799
- paths: external_exports.array(external_exports.object({
15800
- d: external_exports.string().min(1).max(32768).regex(/^[MmLlHhVvCcSsQqTtAaZz\d.,+eE\s-]+$/u),
15801
- fillRule: external_exports.enum(["evenodd", "nonzero"]).optional(),
15802
- fill: external_exports.string().regex(/^(?:currentColor|#[a-f0-9]{6})$/iu).optional()
15803
- }).strict()).min(1).max(32)
15804
- }).strict().optional(),
15805
- background: external_exports.string().regex(/^#[a-f0-9]{6}$/iu).optional(),
15806
- borderRadius: external_exports.number().min(0).max(50).optional(),
15807
- paddingRatio: external_exports.number().min(0).max(0.25).optional()
15808
- }).strict().optional(),
15809
- installation: harnessInstallationGuideSchema.optional(),
15810
- notice: localizedTextSchema.optional(),
15811
- /** The factory accepts a persisted local entrypoint through its construction context. */
15812
- launchCommand: external_exports.literal(true).optional(),
15813
- links: external_exports.object({
15814
- website: documentationUrlSchema.optional(),
15815
- documentation: documentationUrlSchema.optional(),
15816
- installation: documentationUrlSchema.optional()
15817
- }).strict().optional()
15818
- };
15819
- var harnessPluginSurfacesSchema = external_exports.array(harnessPluginSurfaceSchema).min(1).max(HARNESS_PLUGIN_SURFACES.length).refine((surfaces) => new Set(surfaces).size === surfaces.length, {
15820
- message: "Plugin surfaces must be unique"
15821
- });
15822
- var harnessPluginManifestSchema = external_exports.object({
15823
- manifestVersion: external_exports.literal(1),
15824
- ...pluginPresentationShape,
15825
- adapterApiVersion: external_exports.number().int().positive(),
15826
- entry: relativeResourceSchema,
15827
- icon: relativeResourceSchema.optional(),
15828
- /** Omitted means the plugin appears in every surface; never inferred from its identity. */
15829
- surfaces: harnessPluginSurfacesSchema.optional()
15830
- }).strict();
15831
- var harnessPluginIconSchema = external_exports.string().max(Math.ceil(HARNESS_PLUGIN_ICON_MAX_BYTES / 3) * 4 + 64).regex(/^data:image\/(?:png|jpeg|webp|svg\+xml);base64,[A-Za-z0-9+/]+={0,2}$/u);
15832
- var harnessPluginDescriptorSchema = external_exports.object({
15833
- ...pluginPresentationShape,
15834
- icon: harnessPluginIconSchema.optional()
15835
- }).strict();
15836
- var harnessPluginListParamsSchema = external_exports.object({}).strict();
15837
- var harnessPluginListResultSchema = external_exports.object({
15838
- plugins: external_exports.array(harnessPluginDescriptorSchema.extend({ id: harnessPluginIdSchema })).max(HARNESS_PLUGIN_LIMIT)
15839
- }).strict();
15840
- var harnessPluginConfigurationSchema = external_exports.object({
15841
- version: external_exports.literal(1),
15842
- enabled: external_exports.array(installedHarnessPluginIdSchema).max(HARNESS_PLUGIN_LIMIT)
15843
- }).strict().refine((value) => new Set(value.enabled).size === value.enabled.length, {
15844
- message: "Enabled plugin IDs must be unique",
15845
- path: ["enabled"]
15794
+ timeoutMinutes: 10
15846
15795
  });
15847
15796
 
15848
15797
  // ../shared-contracts/dist/harness-preferences.js
@@ -15850,14 +15799,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15850
15799
  var HARNESS_PREFERENCES_PATCH_METHOD = "codexhost/harness/preferences/patch";
15851
15800
  var HARNESS_PREFERENCES_CHANGED_METHOD = "codexhost/harness/preferences/changed";
15852
15801
  var harnessPreferenceScopeSchema = external_exports.string().regex(/^external$/u);
15853
- var preferenceHarnessKey = installedHarnessPluginIdSchema.transform((id) => String(id));
15802
+ var preferenceHarnessKey = harnessIdSchema.transform((id) => String(id));
15854
15803
  var harnessDefaultConfigurationSchema = external_exports.strictObject({
15855
15804
  model: harnessModelRefSchema.optional(),
15856
15805
  thinkingOptionId: harnessThinkingOptionIdSchema.optional(),
15857
15806
  permissionModeId: harnessPermissionModeIdSchema.optional()
15858
15807
  }).refine((value) => Boolean(value.model || value.thinkingOptionId || value.permissionModeId), "A default configuration must contain a preference");
15859
15808
  var newThreadDefaultsSchema = external_exports.strictObject({
15860
- lastHarness: installedHarnessPluginIdSchema.optional(),
15809
+ lastHarness: harnessIdSchema.optional(),
15861
15810
  byHarness: external_exports.record(preferenceHarnessKey, harnessDefaultConfigurationSchema)
15862
15811
  });
15863
15812
  var modelId = external_exports.string().min(1).max(1024);
@@ -15878,19 +15827,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15878
15827
  external_exports.strictObject({ kind: external_exports.literal("idleRelease"), value: idleReleaseSettingsSchema }),
15879
15828
  external_exports.strictObject({
15880
15829
  kind: external_exports.literal("favorite"),
15881
- harnessId: installedHarnessPluginIdSchema,
15830
+ harnessId: harnessIdSchema,
15882
15831
  modelId,
15883
15832
  enabled: external_exports.boolean()
15884
15833
  }),
15885
15834
  external_exports.strictObject({
15886
15835
  kind: external_exports.literal("favorites"),
15887
- harnessId: installedHarnessPluginIdSchema,
15836
+ harnessId: harnessIdSchema,
15888
15837
  modelIds: external_exports.array(modelId).max(2048)
15889
15838
  }),
15890
15839
  external_exports.strictObject({
15891
15840
  kind: external_exports.literal("newThread"),
15892
- lastHarness: installedHarnessPluginIdSchema.optional(),
15893
- harnessId: installedHarnessPluginIdSchema.optional(),
15841
+ lastHarness: harnessIdSchema.optional(),
15842
+ harnessId: harnessIdSchema.optional(),
15894
15843
  configuration: harnessDefaultConfigurationSchema.optional()
15895
15844
  })
15896
15845
  ]);
@@ -15906,12 +15855,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15906
15855
  code: "custom",
15907
15856
  message: "A default Harness or complete configuration is required"
15908
15857
  });
15909
- const harnessId = "harnessId" in operation ? operation.harnessId : void 0;
15910
- if (harnessId === "codex")
15911
- ctx.addIssue({
15912
- code: "custom",
15913
- message: "Official Codex is not an external Harness"
15914
- });
15915
15858
  }
15916
15859
  });
15917
15860
  var harnessPreferencesDocumentSchema = external_exports.strictObject({
@@ -16310,6 +16253,76 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16310
16253
  accounts: external_exports.array(requireReportedQuota(harnessAccountSnapshotObject.extend(harnessAccountIdentityShape))).max(128)
16311
16254
  }).strict();
16312
16255
 
16256
+ // ../shared-contracts/dist/harness-plugins.js
16257
+ var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
16258
+ var HARNESS_PLUGIN_ICON_MAX_BYTES = 128 * 1024;
16259
+ var HARNESS_PLUGIN_LIMIT = 128;
16260
+ var installedHarnessPluginIdSchema = external_exports.string().min(1).max(128).regex(/^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/u).pipe(harnessIdSchema);
16261
+ var harnessPluginIdSchema = installedHarnessPluginIdSchema.refine((id) => id !== "codex", "The official Codex identity is reserved");
16262
+ var relativeResourceSchema = external_exports.string().min(1).max(512).refine((value) => !/[\\\u0000:#?]/u.test(value) && !value.startsWith("/") && !value.split("/").some((part) => part === ".." || part === ""), "Plugin resources must be relative paths inside the plugin");
16263
+ var documentationUrlSchema = external_exports.url().refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Plugin documentation links must be credential-free HTTPS URLs");
16264
+ var localizedTextSchema = external_exports.object({ en: external_exports.string().max(4096), "zh-CN": external_exports.string().max(4096).optional() }).strict();
16265
+ var harnessInstallationGuideSchema = external_exports.object({
16266
+ commands: external_exports.array(external_exports.object({ terminal: external_exports.string().max(256), command: external_exports.string().max(4096) }).strict()).max(8),
16267
+ before: localizedTextSchema.optional(),
16268
+ after: localizedTextSchema.optional(),
16269
+ downloads: external_exports.array(external_exports.object({ label: external_exports.string().max(128), url: documentationUrlSchema }).strict()).max(8).optional()
16270
+ }).strict();
16271
+ var pluginPresentationShape = {
16272
+ id: installedHarnessPluginIdSchema,
16273
+ name: external_exports.string().trim().min(1).max(128),
16274
+ version: external_exports.string().min(1).max(128),
16275
+ /** Capability-only plugin; omitted for existing session-capable plugins. */
16276
+ kind: external_exports.literal("usage").optional(),
16277
+ /** Original image styling or bounded vector paths; never arbitrary CSS/SVG markup. */
16278
+ iconStyle: external_exports.object({
16279
+ vector: external_exports.object({
16280
+ viewBox: external_exports.string().max(128).regex(/^-?\d+(?:\.\d+)?(?: +-?\d+(?:\.\d+)?){3}$/u),
16281
+ color: external_exports.string().regex(/^(?:currentColor|#[a-f0-9]{6})$/iu),
16282
+ paths: external_exports.array(external_exports.object({
16283
+ d: external_exports.string().min(1).max(32768).regex(/^[MmLlHhVvCcSsQqTtAaZz\d.,+eE\s-]+$/u),
16284
+ fillRule: external_exports.enum(["evenodd", "nonzero"]).optional(),
16285
+ fill: external_exports.string().regex(/^(?:currentColor|#[a-f0-9]{6})$/iu).optional()
16286
+ }).strict()).min(1).max(32)
16287
+ }).strict().optional(),
16288
+ background: external_exports.string().regex(/^#[a-f0-9]{6}$/iu).optional(),
16289
+ borderRadius: external_exports.number().min(0).max(50).optional(),
16290
+ paddingRatio: external_exports.number().min(0).max(0.25).optional()
16291
+ }).strict().optional(),
16292
+ installation: harnessInstallationGuideSchema.optional(),
16293
+ notice: localizedTextSchema.optional(),
16294
+ /** The factory accepts a persisted local entrypoint through its construction context. */
16295
+ launchCommand: external_exports.literal(true).optional(),
16296
+ links: external_exports.object({
16297
+ website: documentationUrlSchema.optional(),
16298
+ documentation: documentationUrlSchema.optional(),
16299
+ installation: documentationUrlSchema.optional()
16300
+ }).strict().optional()
16301
+ };
16302
+ var harnessPluginManifestSchema = external_exports.object({
16303
+ manifestVersion: external_exports.literal(1),
16304
+ ...pluginPresentationShape,
16305
+ adapterApiVersion: external_exports.number().int().positive(),
16306
+ entry: relativeResourceSchema,
16307
+ icon: relativeResourceSchema.optional()
16308
+ }).strict();
16309
+ var harnessPluginIconSchema = external_exports.string().max(Math.ceil(HARNESS_PLUGIN_ICON_MAX_BYTES / 3) * 4 + 64).regex(/^data:image\/(?:png|jpeg|webp|svg\+xml);base64,[A-Za-z0-9+/]+={0,2}$/u);
16310
+ var harnessPluginDescriptorSchema = external_exports.object({
16311
+ ...pluginPresentationShape,
16312
+ icon: harnessPluginIconSchema.optional()
16313
+ }).strict();
16314
+ var harnessPluginListParamsSchema = external_exports.object({}).strict();
16315
+ var harnessPluginListResultSchema = external_exports.object({
16316
+ plugins: external_exports.array(harnessPluginDescriptorSchema.extend({ id: harnessPluginIdSchema })).max(HARNESS_PLUGIN_LIMIT)
16317
+ }).strict();
16318
+ var harnessPluginConfigurationSchema = external_exports.object({
16319
+ version: external_exports.literal(1),
16320
+ enabled: external_exports.array(installedHarnessPluginIdSchema).max(HARNESS_PLUGIN_LIMIT)
16321
+ }).strict().refine((value) => new Set(value.enabled).size === value.enabled.length, {
16322
+ message: "Enabled plugin IDs must be unique",
16323
+ path: ["enabled"]
16324
+ });
16325
+
16313
16326
  // ../shared-contracts/dist/harness-route.js
16314
16327
  var HARNESS_PLUGIN_ROUTE_PREFIX = "codexhost/plugin-v1@";
16315
16328
  var MAX_ROUTE_LENGTH = 4096;
@@ -16536,6 +16549,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16536
16549
  }).strict();
16537
16550
  var harnessCommandCatalogSchema = external_exports.object({
16538
16551
  commands: external_exports.array(harnessCommandDescriptorSchema),
16552
+ /** Partial discovery failures; valid commands remain available. */
16553
+ warnings: external_exports.array(external_exports.string().min(1)).optional(),
16539
16554
  /**
16540
16555
  * `live` when the catalog includes what a native Session reports for its
16541
16556
  * workspace (custom commands, skills); `static` for Adapter built-ins only.
@@ -16571,7 +16586,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16571
16586
  }).strict();
16572
16587
  var threadCommandExecuteResultSchema = external_exports.object({
16573
16588
  accepted: external_exports.literal(true),
16574
- turnId: hostTurnIdSchema
16589
+ turnId: hostTurnIdSchema.optional()
16575
16590
  }).strict();
16576
16591
 
16577
16592
  // ../shared-contracts/dist/json-rpc.js
@@ -19242,10 +19257,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
19242
19257
  ["path", { d: "M12 5v14" }]
19243
19258
  ];
19244
19259
 
19245
- // src/assets/codexhost-otter.ts
19246
- var CODEXHOST_OTTER_PATH = "M 152.500 10.075 C 129.025 14.023, 104.595 27.399, 95.563 41.250 C 94.051 43.569, 93.073 44, 89.320 44 C 71.027 44, 63.404 62.631, 76.952 74.227 C 80.957 77.655, 80.957 77.655, 78.826 84.578 C 77.038 90.382, 76.648 94.489, 76.413 110 L 76.132 128.500 64.714 152 C 41.628 199.516, 33.823 235.669, 38.117 275.211 C 42.456 315.166, 60.630 343.145, 92.810 359.411 C 118.968 372.632, 173.494 379.565, 208.895 374.170 C 219.397 372.569, 219.476 361.316, 209.058 350.898 C 202.120 343.960, 196.931 342.052, 182.500 341.135 C 177 340.786, 172.634 340.172, 172.797 339.771 C 172.960 339.370, 174.022 336.943, 175.157 334.379 C 185.925 310.036, 176.859 284.223, 153.603 273.007 C 144.240 268.491, 138.780 267.059, 130.799 267.024 C 113.376 266.950, 97.903 275.331, 87.455 290.501 C 85.372 293.526, 83.536 295.869, 83.375 295.709 C 82.253 294.586, 86.406 282.928, 89.560 278.348 C 94.785 270.762, 107.797 261, 112.683 261 C 115.145 261, 114.931 259.022, 111.951 254.228 C 108.884 249.294, 108.884 249.294, 99.192 248.664 C 80.845 247.473, 65.485 240.122, 60.519 230.157 C 58.194 225.493, 58.692 225.513, 66.274 230.390 C 81.511 240.192, 107.139 244.317, 131.678 240.916 C 148.025 238.650, 154.372 233.751, 154.623 223.203 C 154.891 211.913, 151.463 207.610, 138.500 202.970 C 135.200 201.788, 130.475 199.902, 128 198.778 C 125.525 197.654, 121.649 195.937, 119.388 194.962 C 114.653 192.921, 102.571 182.005, 100.401 177.808 C 96.661 170.577, 107.506 152.012, 120.854 142.792 C 123.207 141.167, 123.207 141.167, 119.975 134.601 C 117.063 128.685, 116.866 127.739, 117.982 125.043 C 119.734 120.815, 127.191 114.260, 133.575 111.337 C 138.979 108.863, 140.126 107.179, 137.750 105.208 C 134.476 102.492, 112.886 113.199, 103.250 122.317 C 100.217 125.187, 100 125.249, 100 123.248 C 100 120.647, 109.225 109.310, 112.587 107.778 C 113.914 107.174, 115 106.378, 115 106.010 C 115 105.141, 122.782 101.608, 130.987 98.752 C 138.540 96.123, 140.156 93.485, 134.812 92.509 C 128.753 91.403, 116.219 94.594, 105.165 100.056 C 99.481 102.865, 94.655 104.988, 94.441 104.775 C 94.227 104.561, 95.953 102.290, 98.276 99.730 C 106.009 91.205, 121.186 85.063, 134.628 85.017 C 137.812 85.007, 140.200 84.463, 140.930 83.584 C 143.855 80.060, 156.139 72.964, 163 70.835 C 177.789 66.246, 200.577 67.946, 208.571 74.235 C 210.996 76.142, 211.681 76.233, 215.642 75.173 C 218.055 74.528, 221.574 74, 223.463 74 C 227.711 74, 241.366 78.270, 245.750 80.970 C 248.732 82.806, 248.999 82.828, 248.993 81.235 C 248.983 78.712, 245.165 63.178, 244.038 61.070 C 243.293 59.680, 243.660 58.739, 245.668 56.888 C 253.535 49.635, 252.566 36.463, 243.759 30.937 C 241.124 29.283, 239.256 28.963, 234 29.268 C 227.544 29.642, 227.457 29.611, 221.138 24.783 C 211.089 17.102, 200.215 12.468, 186.566 10.051 C 179.695 8.834, 159.795 8.848, 152.500 10.075 M 206.655 52.829 C 201.815 58.177, 209.347 66.510, 214.429 61.429 C 216.701 59.156, 216.476 53.325, 214.066 52.035 C 211.182 50.492, 208.511 50.778, 206.655 52.829 M 130.228 60.107 C 126.349 61.549, 125.352 66.523, 128.296 69.750 C 130.847 72.547, 132.976 72.593, 136.365 69.927 C 141.897 65.576, 136.924 57.618, 130.228 60.107 M 170 76.577 C 164.501 78.022, 160 81.620, 160 84.570 C 160 87.230, 166.425 92.916, 171.500 94.747 C 177.094 96.765, 178.267 99.526, 175.929 105.172 C 174.227 109.281, 165.836 113.978, 160.177 113.991 C 154.668 114.003, 154.553 117.015, 160.011 118.361 C 164.807 119.544, 170.663 117.786, 176.137 113.521 C 180.625 110.024, 180.625 110.024, 184.524 112.012 C 189.204 114.398, 195 114.569, 199.113 112.441 C 203.543 110.151, 202.268 108.550, 196.268 108.869 C 182.432 109.603, 178.867 100.798, 189.070 91.090 C 194.710 85.723, 195.117 85.039, 194.820 81.430 C 194.576 78.466, 193.908 77.248, 192 76.288 C 188.683 74.618, 176.862 74.774, 170 76.577 M 218 82.354 C 215.683 83.231, 214.500 84.324, 214.500 85.589 C 214.500 87.235, 215.505 87.590, 221.736 88.146 C 229.250 88.818, 240.850 93.682, 245.684 98.188 C 247.867 100.224, 247.867 100.224, 248.511 96.795 C 250.095 88.347, 249.198 86.732, 241.500 84.173 C 232.924 81.321, 222.801 80.538, 218 82.354 M 215.162 97.033 C 215.433 98.882, 216.757 99.759, 221.835 101.450 C 228.312 103.607, 236 109.646, 236 112.577 C 236 113.767, 235.257 113.661, 232.022 112.011 C 228.043 109.981, 228.043 109.981, 225.459 115.081 C 224.038 117.886, 221.103 122.103, 218.937 124.452 C 214.116 129.682, 214.077 128.895, 219.499 135.551 C 226.900 144.638, 228.056 147.784, 229.748 163.433 C 230.585 171.170, 231.623 177.892, 232.056 178.371 C 232.495 178.858, 234.860 178.554, 237.421 177.682 C 239.939 176.824, 242 176.450, 242 176.852 C 242 179.011, 232.214 186.397, 223.141 191.087 C 211.431 197.140, 207.405 201.119, 206.433 207.595 C 204.593 219.868, 212.158 227.267, 229.386 230.046 C 249.355 233.267, 264.421 228.151, 270.391 216.120 C 279.018 198.735, 275.222 178.470, 258.474 152.500 C 253.212 144.341, 247.317 131.998, 244.995 124.280 C 242.824 117.060, 242.824 117.060, 244.912 111.026 C 246.060 107.707, 247 104.748, 247 104.450 C 247 104.152, 243.147 102.059, 238.439 99.800 C 227.428 94.517, 214.571 92.988, 215.162 97.033 M 306.986 162.517 C 306.031 163.668, 305.941 166.135, 306.614 172.767 C 307.869 185.132, 307.574 210.440, 306.096 217.276 C 296.787 260.333, 263.769 303.618, 231.967 314.458 C 227.500 315.981, 227.500 315.981, 230 313.923 C 246.782 300.107, 257.533 289.291, 263.481 280.239 C 266.128 276.210, 266.251 275.528, 265.741 267.739 C 264.829 253.795, 258.847 244.491, 248.382 240.740 C 238.577 237.225, 238.238 237.495, 237.844 249.143 C 237.500 259.286, 237.500 259.286, 234 261.893 C 220.563 271.901, 215.211 279.679, 201.928 308.500 C 198.179 316.635, 194.149 322.783, 188.657 328.750 C 186.506 331.087, 184.915 333.037, 185.123 333.082 C 185.330 333.127, 186.850 333.369, 188.500 333.620 C 210.412 336.946, 222.715 347.490, 223.820 363.890 L 224.251 370.280 232.875 369.703 C 243.458 368.995, 251.665 367.118, 264.586 362.452 C 330.014 338.826, 363.830 263.317, 338.235 198 C 329.100 174.688, 312.515 155.855, 306.986 162.517 M 208 147.673 C 196.334 149.545, 164.145 154.396, 149.500 156.489 C 122.830 160.300, 123.891 159.337, 126.429 177.418 C 128.742 193.901, 128.373 193.300, 138.181 196.524 C 154.885 202.015, 162 209.476, 162 221.500 C 162 232.829, 156.432 239.510, 143 244.299 C 136.500 246.617, 136.500 246.617, 136.809 251.058 C 137.196 256.617, 140.797 260.411, 144.868 259.551 C 146.316 259.245, 153.125 258.139, 160 257.094 C 233.547 245.912, 230 246.775, 230 240.045 C 230 236.400, 230 236.400, 223.804 235.120 C 207.987 231.853, 199.599 223.464, 199.670 210.983 C 199.730 200.457, 205.028 193.222, 216.660 187.778 C 220.146 186.147, 223.251 184.402, 223.562 183.900 C 224.309 182.692, 220.166 153.178, 218.923 150.856 C 217.114 147.476, 214.314 146.660, 208 147.673";
19247
- var CODEXHOST_OTTER_DARK_DETAIL_PATH = "M 152.500 10.075 C 129.025 14.023, 104.595 27.399, 95.563 41.250 C 94.051 43.569, 93.073 44, 89.320 44 C 72.130 44, 63.937 60.724, 75.262 72.694 C 78.284 75.888, 78.284 75.888, 77.552 85.194 C 77.149 90.312, 76.504 102.600, 76.119 112.500 C 75.419 130.500, 75.419 130.500, 64.361 153 C 48.132 186.021, 40.840 209.445, 38.078 237.424 C 32.831 290.591, 48.586 331.890, 82.333 353.429 C 102.359 366.210, 127.398 372.995, 162.663 375.195 C 186.578 376.688, 211.023 375.230, 214.444 372.108 C 216.149 370.551, 218.634 370.144, 229 369.720 C 312.560 366.307, 369.260 277.174, 338.235 198 C 330.976 179.473, 316.636 160.443, 310.485 161.171 C 305.883 161.715, 305.517 163.455, 306.982 177.823 C 310.371 211.059, 303.146 240.143, 284.449 268.533 C 278.874 277, 278.874 277, 272.576 277 C 266.277 277, 266.277 277, 265.747 268.250 C 265.108 257.707, 262.739 251.685, 257.060 246.174 C 253.192 242.420, 253 241.947, 253 236.164 C 253 230.094, 253 230.094, 257.250 228.205 C 273.444 221.009, 279.255 200.767, 271.519 178.500 C 268.906 170.979, 262.180 157.332, 259.443 154 C 257.105 151.153, 249.157 136.034, 247.081 130.488 C 244.543 123.703, 244.387 115.139, 246.626 105.500 C 249.069 94.986, 249.466 81.783, 247.584 73.688 C 245.313 63.923, 245.507 57.586, 248.186 53.962 C 251.356 49.674, 251.806 40.607, 249.064 36.241 C 245.767 30.989, 241.545 29.008, 233.637 29.004 C 227.037 29, 226.540 28.824, 220.652 24.398 C 210.774 16.972, 199.971 12.425, 186.566 10.051 C 179.695 8.834, 159.795 8.848, 152.500 10.075";
19248
-
19249
19260
  // src/settings/icons.ts
19250
19261
  var RENDERER_SETTINGS_ICON_NAMES = [
19251
19262
  "settings",
@@ -19358,21 +19369,27 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
19358
19369
  var SVG_NAMESPACE = "http://www.w3.org/2000/svg";
19359
19370
  function createRendererSettingsBrandGlyph(size = 20) {
19360
19371
  const svg2 = document.createElementNS(SVG_NAMESPACE, "svg");
19361
- svg2.setAttribute("viewBox", "0 0 384 384");
19372
+ svg2.setAttribute("viewBox", "12.8 12.2 40 40");
19362
19373
  svg2.setAttribute("width", String(size));
19363
19374
  svg2.setAttribute("height", String(size));
19364
19375
  svg2.setAttribute("aria-hidden", "true");
19365
19376
  svg2.setAttribute("focusable", "false");
19366
- svg2.setAttribute("data-codexhost-mark", "otter-navigation");
19367
- const detail = document.createElementNS(SVG_NAMESPACE, "path");
19368
- detail.setAttribute("d", CODEXHOST_OTTER_DARK_DETAIL_PATH);
19369
- detail.setAttribute("fill", "light-dark(transparent, #b8c0c6)");
19370
- detail.setAttribute("fill-rule", "evenodd");
19371
- const silhouette = document.createElementNS(SVG_NAMESPACE, "path");
19372
- silhouette.setAttribute("d", CODEXHOST_OTTER_PATH);
19373
- silhouette.setAttribute("fill", "light-dark(currentColor, #697680)");
19374
- silhouette.setAttribute("fill-rule", "evenodd");
19375
- svg2.append(detail, silhouette);
19377
+ svg2.setAttribute("data-codexhost-mark", "ch-navigation");
19378
+ const ring = document.createElementNS(SVG_NAMESPACE, "path");
19379
+ ring.setAttribute("d", "M 44.55 23.97 A 14.35 14.35 0 1 0 44.55 40.43");
19380
+ ring.setAttribute("fill", "none");
19381
+ ring.setAttribute("stroke", "currentColor");
19382
+ ring.setAttribute("stroke-width", "3.2");
19383
+ ring.setAttribute("stroke-linecap", "round");
19384
+ const module = document.createElementNS(SVG_NAMESPACE, "rect");
19385
+ module.setAttribute("x", "27.6");
19386
+ module.setAttribute("y", "27");
19387
+ module.setAttribute("width", "10.4");
19388
+ module.setAttribute("height", "10.4");
19389
+ module.setAttribute("rx", "2.4");
19390
+ module.setAttribute("fill", "currentColor");
19391
+ module.setAttribute("stroke", "none");
19392
+ svg2.append(ring, module);
19376
19393
  svg2.classList.add("codexhost-settings-icon");
19377
19394
  return svg2;
19378
19395
  }
@@ -22050,7 +22067,7 @@ ${messages.harnessVersionLatest}: ${harnessVersionLabel(version2.state, messages
22050
22067
  var COMPACT_COMPOSER_WIDTH = 420;
22051
22068
  var TRIGGER_CHIP_SQUEEZE_MIN_WIDTH = "48px";
22052
22069
  function rendererModelTriggerMaxWidth() {
22053
- return "min(200px, 26vw)";
22070
+ return "min(280px, 36vw)";
22054
22071
  }
22055
22072
  function rendererPermissionModeTriggerMaxWidth() {
22056
22073
  return "min(160px, 24vw)";
@@ -40935,7 +40952,7 @@ th[aria-sort] .console-usage-sort__mark {
40935
40952
  `;
40936
40953
 
40937
40954
  // src/settings/tailwind.css
40938
- var tailwind_default = '@layer properties, theme, base, components, utilities;\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-full{top:100%}.left-0{left:0}.z-20{z-index:20}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1{margin-left:var(--spacing)}.ml-\\[45px\\]{margin-left:45px}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-\\[60px\\]{min-height:60px}.w-9{width:calc(var(--spacing) * 9)}.w-14{width:calc(var(--spacing) * 14)}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.w-px{width:1px}.max-w-64{max-width:calc(var(--spacing) * 64)}.min-w-0{min-width:0}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.overflow-x-auto{overflow-x:auto}.rounded-\\[10px\\]{border-radius:10px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-settings-border{border-color:var(--settings-border)}.border-settings-divider{border-color:var(--settings-divider)}.bg-settings-panel{background-color:var(--settings-panel)}.bg-settings-subtle{background-color:var(--settings-subtle)}.bg-settings-surface{background-color:var(--settings-surface)}.bg-settings-surface-hover{background-color:var(--settings-surface-hover)}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-4{padding:calc(var(--spacing) * 4)}.\\!px-0{padding-inline:0!important}.px-1{padding-inline:var(--spacing)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pl-4{padding-left:calc(var(--spacing) * 4)}.\\!text-right{text-align:right!important}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.text-settings-muted{color:var(--settings-muted)}.text-settings-subtle{color:var(--settings-subtle)}.text-settings-text{color:var(--settings-text)}.lowercase{text-transform:lowercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_10px_30px_rgb\\(0_0_0\\/0\\.22\\)\\]{--tw-shadow:0 10px 30px var(--tw-shadow-color,#00000038);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-settings-border{--tw-ring-color:var(--settings-border)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.ring-inset{--tw-ring-inset:inset}.group-focus-within\\:visible:is(:where(.group):focus-within *){visibility:visible}.group-focus-within\\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\\[state\\=failed\\]\\/status\\:bg-settings-danger:is(:where(.group\\/status)[data-state=failed] *){background-color:var(--settings-danger)}.group-data-\\[state\\=unavailable\\]\\/status\\:bg-settings-warning:is(:where(.group\\/status)[data-state=unavailable] *){background-color:var(--settings-warning)}.marker\\:text-settings-subtle ::marker{color:var(--settings-subtle)}.marker\\:text-settings-subtle::marker{color:var(--settings-subtle)}.marker\\:text-settings-subtle ::-webkit-details-marker{color:var(--settings-subtle)}.marker\\:text-settings-subtle::-webkit-details-marker{color:var(--settings-subtle)}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:top-0\\.5:before{content:var(--tw-content);top:calc(var(--spacing) * .5)}.before\\:left-0\\.5:before{content:var(--tw-content);left:calc(var(--spacing) * .5)}.before\\:size-4:before{content:var(--tw-content);width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.before\\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\\:bg-white:before{content:var(--tw-content);background-color:#fff}.before\\:shadow-\\[0_1px_2px_rgb\\(0_0_0\\/0\\.3\\)\\]:before{content:var(--tw-content);--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.before\\:transition-transform:before{content:var(--tw-content);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.first\\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first-of-type\\:mt-0:first-of-type{margin-top:0}.checked\\:bg-settings-focus:checked{background-color:var(--settings-focus)}.checked\\:ring-transparent:checked{--tw-ring-color:transparent}.checked\\:before\\:translate-x-4:checked:before{content:var(--tw-content);--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.focus-within\\:border-settings-focus:focus-within{border-color:var(--settings-focus)}@media (hover:hover){.hover\\:bg-settings-hover:hover{background-color:var(--settings-hover)}.hover\\:text-settings-text:hover{color:var(--settings-text)}}.focus-visible\\:text-settings-text:focus-visible{color:var(--settings-text)}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-settings-focus:focus-visible{outline-color:var(--settings-focus)}.data-\\[invalid\\=true\\]\\:border-settings-danger[data-invalid=true]{border-color:var(--settings-danger)}.data-\\[invalid\\=true\\]\\:text-settings-danger[data-invalid=true],.data-\\[state\\=failed\\]\\:text-settings-danger[data-state=failed]{color:var(--settings-danger)}.data-\\[state\\=unavailable\\]\\:text-settings-warning[data-state=unavailable]{color:var(--settings-warning)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@layer properties{\n *, ::before, ::after, ::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-alpha:100%;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-offset-width:0;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-drop-shadow-alpha:100%;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}\n';
40955
+ var tailwind_default = '@layer properties, theme, base, components, utilities;\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-full{top:100%}.left-0{left:0}.z-20{z-index:20}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1{margin-left:var(--spacing)}.ml-\\[45px\\]{margin-left:45px}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-\\[60px\\]{min-height:60px}.w-9{width:calc(var(--spacing) * 9)}.w-14{width:calc(var(--spacing) * 14)}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.w-px{width:1px}.max-w-64{max-width:calc(var(--spacing) * 64)}.min-w-0{min-width:0}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.overflow-x-auto{overflow-x:auto}.rounded-\\[10px\\]{border-radius:10px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-settings-border{border-color:var(--settings-border)}.border-settings-divider{border-color:var(--settings-divider)}.bg-settings-panel{background-color:var(--settings-panel)}.bg-settings-subtle{background-color:var(--settings-subtle)}.bg-settings-surface{background-color:var(--settings-surface)}.bg-settings-surface-hover{background-color:var(--settings-surface-hover)}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-4{padding:calc(var(--spacing) * 4)}.\\!px-0{padding-inline:0!important}.px-1{padding-inline:var(--spacing)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pl-4{padding-left:calc(var(--spacing) * 4)}.\\!text-right{text-align:right!important}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.text-settings-muted{color:var(--settings-muted)}.text-settings-subtle{color:var(--settings-subtle)}.text-settings-text{color:var(--settings-text)}.lowercase{text-transform:lowercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_10px_30px_rgb\\(0_0_0\\/0\\.22\\)\\]{--tw-shadow:0 10px 30px var(--tw-shadow-color,#00000038);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-settings-border{--tw-ring-color:var(--settings-border)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.ring-inset{--tw-ring-inset:inset}.group-focus-within\\:visible:is(:where(.group):focus-within *){visibility:visible}.group-focus-within\\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\\[state\\=failed\\]\\/status\\:bg-settings-danger:is(:where(.group\\/status)[data-state=failed] *){background-color:var(--settings-danger)}.group-data-\\[state\\=unavailable\\]\\/status\\:bg-settings-warning:is(:where(.group\\/status)[data-state=unavailable] *){background-color:var(--settings-warning)}.marker\\:text-settings-subtle ::marker{color:var(--settings-subtle)}.marker\\:text-settings-subtle::marker{color:var(--settings-subtle)}.marker\\:text-settings-subtle ::-webkit-details-marker{color:var(--settings-subtle)}.marker\\:text-settings-subtle::-webkit-details-marker{color:var(--settings-subtle)}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:top-0\\.5:before{content:var(--tw-content);top:calc(var(--spacing) * .5)}.before\\:left-0\\.5:before{content:var(--tw-content);left:calc(var(--spacing) * .5)}.before\\:size-4:before{content:var(--tw-content);width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.before\\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\\:bg-white:before{content:var(--tw-content);background-color:#fff}.before\\:shadow-\\[0_1px_2px_rgb\\(0_0_0\\/0\\.3\\)\\]:before{content:var(--tw-content);--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.before\\:transition-transform:before{content:var(--tw-content);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.first\\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first-of-type\\:mt-0:first-of-type{margin-top:0}.checked\\:bg-settings-focus:checked{background-color:var(--settings-focus)}.checked\\:ring-transparent:checked{--tw-ring-color:transparent}.checked\\:before\\:translate-x-4:checked:before{content:var(--tw-content);--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.focus-within\\:border-settings-focus:focus-within{border-color:var(--settings-focus)}@media (hover:hover){.hover\\:bg-settings-hover:hover{background-color:var(--settings-hover)}.hover\\:text-settings-text:hover{color:var(--settings-text)}}.focus-visible\\:text-settings-text:focus-visible{color:var(--settings-text)}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-settings-focus:focus-visible{outline-color:var(--settings-focus)}.data-\\[invalid\\=true\\]\\:border-settings-danger[data-invalid=true]{border-color:var(--settings-danger)}.data-\\[invalid\\=true\\]\\:text-settings-danger[data-invalid=true],.data-\\[state\\=failed\\]\\:text-settings-danger[data-state=failed]{color:var(--settings-danger)}.data-\\[state\\=unavailable\\]\\:text-settings-warning[data-state=unavailable]{color:var(--settings-warning)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@layer properties{\n *, ::before, ::after, ::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-alpha:100%;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-offset-width:0;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-drop-shadow-alpha:100%;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}\n';
40939
40956
 
40940
40957
  // src/renderer-brand-mark.css
40941
40958
  var renderer_brand_mark_default = ".codexhost-colored-brand {\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n background: light-dark(transparent, #f4f5f7);\n}\n\n.codexhost-colored-brand__image {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n@media (prefers-color-scheme: dark) {\n .codexhost-colored-brand__image {\n transform: scale(0.9);\n }\n}\n";
@@ -42485,44 +42502,6 @@ ${renderer_brand_mark_default}`;
42485
42502
  return event.defaultPrevented;
42486
42503
  }
42487
42504
 
42488
- // src/codex-thread-catalog.ts
42489
- function isThreadCatalogServices(value) {
42490
- if (typeof value !== "object" || value === null || Array.isArray(value) || !Object.hasOwn(value, "localThreadCatalog"))
42491
- return false;
42492
- const catalog = value.localThreadCatalog;
42493
- return catalog != null && typeof catalog.invalidateSource === "function";
42494
- }
42495
- function withCachedAppServices(module) {
42496
- const runtime = module.__webpack_require__;
42497
- if (typeof runtime !== "function") return module;
42498
- const cache = Reflect.get(runtime, "c");
42499
- if (typeof cache !== "object" || cache === null) return module;
42500
- const candidates = { ...module };
42501
- for (const [id, entry] of Object.entries(cache)) {
42502
- try {
42503
- if (typeof entry !== "object" || entry === null || !Object.hasOwn(entry, "exports")) continue;
42504
- const exports = Reflect.get(entry, "exports");
42505
- if (typeof exports !== "object" || exports === null || !Object.hasOwn(exports, "appServices"))
42506
- continue;
42507
- const services = Reflect.get(exports, "appServices");
42508
- if (isThreadCatalogServices(services)) candidates[`cached:${id}`] = services;
42509
- } catch {
42510
- }
42511
- }
42512
- return candidates;
42513
- }
42514
- async function invalidateThreadCatalog(ownerWindow = window, importModule = (url2) => import(url2)) {
42515
- try {
42516
- const services = await loadCodexNativeServices(
42517
- ownerWindow,
42518
- isThreadCatalogServices,
42519
- async (url2) => withCachedAppServices(await importModule(url2))
42520
- );
42521
- await services?.localThreadCatalog.invalidateSource("local");
42522
- } catch {
42523
- }
42524
- }
42525
-
42526
42505
  // src/codex-schedule-navigation.ts
42527
42506
  function isNavigationBus(value) {
42528
42507
  if (typeof value !== "object" || value === null) return false;
@@ -45804,7 +45783,6 @@ ${renderer_brand_mark_default}`;
45804
45783
  });
45805
45784
  const api = {
45806
45785
  remoteConnections: (request) => handleRemoteConnectionsRequest(remoteConnections, request),
45807
- invalidateThreadCatalog: () => invalidateThreadCatalog(window),
45808
45786
  currentThreadId() {
45809
45787
  const connected = connectedComposers();
45810
45788
  const visible = connected.filter(