@termix-ssh/plugin-sdk 1.0.11 → 1.0.12

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 (117) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/PLUGIN-GUIDE.md +95 -3
  3. package/cli/commands/build.mjs +36 -22
  4. package/cli/commands/pack.mjs +12 -2
  5. package/cli/commands/validate.mjs +63 -3
  6. package/cli/lib/plugin-dir.mjs +11 -0
  7. package/cli/lib/tmxplug.mjs +9 -0
  8. package/dist/capabilities.js +2 -0
  9. package/dist/frontend.d.ts +152 -0
  10. package/dist/frontend.js +7 -0
  11. package/dist/host/PluginsTab-EV4MSGY6.js +2933 -0
  12. package/dist/host/{chunk-RLQBKJRK.js → chunk-AWR6FYDO.js} +8873 -11163
  13. package/dist/host/{chunk-7RRTYD6B.js → chunk-RUPLD6RF.js} +1497 -15
  14. package/dist/host/{chunk-LSWB3ZZV.js → chunk-VEWOYAMZ.js} +6 -1
  15. package/dist/host/chunk-X4QZKO5G.js +3120 -0
  16. package/dist/host/chunk-XKA3DBB2.js +10375 -0
  17. package/dist/host/chunk-YGYBM7SQ.js +58 -0
  18. package/dist/host/core-classes.json +1 -1
  19. package/dist/host/{linked-server-UCW74T2V.js → linked-server-B4NEG4MA.js} +2 -2
  20. package/dist/host/{rbac-api-6UYMFIFV.js → rbac-api-OUO3LUOC.js} +2 -2
  21. package/dist/host/testing-host.js +123 -57
  22. package/dist/host/types/src/types/ui-types.d.ts +2 -1
  23. package/dist/host/types/src/ui/api/audit-log-api.d.ts +46 -0
  24. package/dist/host/types/src/ui/api/host-defaults-api.d.ts +42 -0
  25. package/dist/host/types/src/ui/api/host-tags-api.d.ts +2 -0
  26. package/dist/host/types/src/ui/api/look-api.d.ts +40 -0
  27. package/dist/host/types/src/ui/api/open-tabs-api.d.ts +4 -0
  28. package/dist/host/types/src/ui/api/plugins-api.d.ts +26 -0
  29. package/dist/host/types/src/ui/api/private-endpoints-api.d.ts +6 -0
  30. package/dist/host/types/src/ui/api/tls-api.d.ts +25 -0
  31. package/dist/host/types/src/ui/auth/ElectronLoginForm.d.ts +9 -0
  32. package/dist/host/types/src/ui/components/command.d.ts +78 -0
  33. package/dist/host/types/src/ui/components/folder-style.d.ts +16 -0
  34. package/dist/host/types/src/ui/components/theme-provider.d.ts +2 -1
  35. package/dist/host/types/src/ui/components/version-badge.d.ts +7 -0
  36. package/dist/host/types/src/ui/hooks/use-page-visible-interval.d.ts +10 -0
  37. package/dist/host/types/src/ui/lib/activity-types.d.ts +15 -0
  38. package/dist/host/types/src/ui/lib/app-version.d.ts +2 -0
  39. package/dist/host/types/src/ui/lib/apply-ui-preset.d.ts +19 -0
  40. package/dist/host/types/src/ui/lib/create-id.d.ts +2 -0
  41. package/dist/host/types/src/ui/lib/database-transfer-url.d.ts +8 -0
  42. package/dist/host/types/src/ui/lib/desktop-updates.d.ts +29 -0
  43. package/dist/host/types/src/ui/lib/host-connection-tabs.d.ts +14 -0
  44. package/dist/host/types/src/ui/lib/host-to-ssh-host.d.ts +4 -0
  45. package/dist/host/types/src/ui/lib/issue-url.d.ts +21 -0
  46. package/dist/host/types/src/ui/lib/local-adaptive-preferences.d.ts +9 -0
  47. package/dist/host/types/src/ui/lib/pane-nav-hotkey.d.ts +7 -0
  48. package/dist/host/types/src/ui/lib/plugin-i18n.d.ts +4 -3
  49. package/dist/host/types/src/ui/lib/role-label.d.ts +3 -0
  50. package/dist/host/types/src/ui/look/LookSettings.d.ts +8 -0
  51. package/dist/host/types/src/ui/look/layout-registry.d.ts +34 -0
  52. package/dist/host/types/src/ui/look/look-store.d.ts +29 -0
  53. package/dist/host/types/src/ui/look/resolve-look.d.ts +18 -0
  54. package/dist/host/types/src/ui/look/theme-css.d.ts +7 -0
  55. package/dist/host/types/src/ui/look/theme-registry.d.ts +41 -0
  56. package/dist/host/types/src/ui/look/use-look-theme.d.ts +12 -0
  57. package/dist/host/types/src/ui/manage/manage-requests.d.ts +34 -0
  58. package/dist/host/types/src/ui/plugin-host/loader.d.ts +2 -0
  59. package/dist/host/types/src/ui/plugin-host/scope.d.ts +6 -0
  60. package/dist/host/types/src/ui/plugin-host/sdk-ui.d.ts +102 -0
  61. package/dist/host/types/src/ui/plugin-host/view-ownership.d.ts +1 -1
  62. package/dist/host/types/src/ui/plugins/PluginConsentPrompt.d.ts +20 -0
  63. package/dist/host/types/src/ui/plugins/PluginDetail.d.ts +7 -0
  64. package/dist/host/types/src/ui/plugins/PluginReleaseNotes.d.ts +14 -0
  65. package/dist/host/types/src/ui/plugins/PluginsTab.d.ts +1 -0
  66. package/dist/host/types/src/ui/plugins/RegistriesSection.d.ts +4 -0
  67. package/dist/host/types/src/ui/plugins/plugin-bits.d.ts +23 -0
  68. package/dist/host/types/src/ui/plugins/plugin-model.d.ts +116 -0
  69. package/dist/host/types/src/ui/plugins/use-plugins-manager.d.ts +75 -0
  70. package/dist/host/types/src/ui/settings/appearance/appearance-controls.d.ts +53 -0
  71. package/dist/host/types/src/ui/settings/sync/LinkServerDialog.d.ts +12 -0
  72. package/dist/host/types/src/ui/settings/sync/ProxySettingsFields.d.ts +15 -0
  73. package/dist/host/types/src/ui/settings/sync/saved-servers.d.ts +3 -0
  74. package/dist/host/types/src/ui/shell/controller/ShellControllerProvider.d.ts +20 -0
  75. package/dist/host/types/src/ui/shell/controller/plugin-shell.d.ts +7 -0
  76. package/dist/host/types/src/ui/shell/controller/shell-store.d.ts +4 -0
  77. package/dist/host/types/src/ui/shell/controller/types.d.ts +156 -0
  78. package/dist/host/types/src/ui/shell/controller/use-hosts.d.ts +10 -0
  79. package/dist/host/types/src/ui/shell/controller/use-regions.d.ts +5 -0
  80. package/dist/host/types/src/ui/shell/controller/use-shell-keybindings.d.ts +12 -0
  81. package/dist/host/types/src/ui/shell/controller/use-shell-lifecycle.d.ts +17 -0
  82. package/dist/host/types/src/ui/shell/controller/use-split.d.ts +21 -0
  83. package/dist/host/types/src/ui/shell/controller/use-tabs.d.ts +70 -0
  84. package/dist/host/types/src/ui/shell/controller/use-workspace-layout.d.ts +4 -0
  85. package/dist/host/types/src/ui/shell/reconnect-tabs.d.ts +6 -0
  86. package/dist/host/types/src/ui/shell/shell-layout.d.ts +46 -0
  87. package/dist/host/types/src/ui/shell/split/EmptyPanePicker.d.ts +32 -0
  88. package/dist/host/types/src/ui/shell/split/SplitDropOverlay.d.ts +9 -0
  89. package/dist/host/types/src/ui/shell/split/SplitLayoutMenu.d.ts +16 -0
  90. package/dist/host/types/src/ui/shell/split/SplitView.d.ts +31 -0
  91. package/dist/host/types/src/ui/shell/split/split-drag.d.ts +58 -0
  92. package/dist/host/types/src/ui/shell/split/split-presets.d.ts +28 -0
  93. package/dist/host/types/src/ui/shell/split/split-tabs.d.ts +95 -0
  94. package/dist/host/types/src/ui/shell/split/split-targets.d.ts +30 -0
  95. package/dist/host/types/src/ui/shell/split/split-tree.d.ts +89 -0
  96. package/dist/host/types/src/ui/shell/stage/TabStage.d.ts +9 -0
  97. package/dist/host/types/src/ui/shell/stage/tab-stage-store.d.ts +24 -0
  98. package/dist/host/types/src/ui/shell/tab-close-guards.d.ts +9 -0
  99. package/dist/host/types/src/ui/shell/tab-handles.d.ts +8 -0
  100. package/dist/host/types/src/ui/shell/tabUtils.d.ts +15 -0
  101. package/dist/host/types/src/ui/sidebar/AuthEnrollmentSections.d.ts +5 -0
  102. package/dist/host/types/src/ui/sidebar/HostManagerData.d.ts +4 -0
  103. package/dist/host/types/src/ui/sidebar/build-host-tree.d.ts +25 -0
  104. package/dist/host/types/src/ui/sidebar/host-export-payload.d.ts +30 -0
  105. package/dist/host/ui.js +6236 -4055
  106. package/dist/host/{use-permissions-GYCBY2AU.js → use-permissions-6VSHHUMB.js} +2 -2
  107. package/dist/manifest.d.ts +41 -1
  108. package/dist/manifest.js +89 -1
  109. package/dist/testing/setup.js +1 -0
  110. package/dist/theme-css.d.ts +11 -0
  111. package/dist/theme-css.js +142 -0
  112. package/dist/vitest-preset.d.ts +18 -0
  113. package/dist/vitest-preset.js +14 -3
  114. package/package.json +1 -1
  115. package/schema/manifest.schema.json +111 -8
  116. package/tsconfig.plugin.json +1 -0
  117. package/dist/host/chunk-YC2MAKSP.js +0 -14
@@ -0,0 +1,58 @@
1
+ const __termixNoGlob = () => ({});
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __esm = (fn, res, err) => function __init() {
9
+ if (err) throw err[0];
10
+ try {
11
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
12
+ } catch (e) {
13
+ throw err = [e], e;
14
+ }
15
+ };
16
+ var __commonJS = (cb, mod) => function __require() {
17
+ try {
18
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
19
+ } catch (e) {
20
+ throw mod = 0, e;
21
+ }
22
+ };
23
+ var __export = (target, all) => {
24
+ for (var name in all)
25
+ __defProp(target, name, { get: all[name], enumerable: true });
26
+ };
27
+ var __copyProps = (to, from, except, desc) => {
28
+ if (from && typeof from === "object" || typeof from === "function") {
29
+ for (let key of __getOwnPropNames(from))
30
+ if (!__hasOwnProp.call(to, key) && key !== except)
31
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
32
+ }
33
+ return to;
34
+ };
35
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
36
+ // If the importer is in node compatibility mode or this is not an ESM
37
+ // file that has been converted to a CommonJS file using a Babel-
38
+ // compatible transform (i.e. "__esModule" has not been set), then set
39
+ // "default" to the CommonJS "module.exports" for node compatibility.
40
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
41
+ mod
42
+ ));
43
+
44
+ // <define:import.meta.env>
45
+ var define_import_meta_env_default;
46
+ var init_define_import_meta_env = __esm({
47
+ "<define:import.meta.env>"() {
48
+ define_import_meta_env_default = { DEV: false, PROD: true, MODE: "production", SSR: false, BASE_URL: "/" };
49
+ }
50
+ });
51
+
52
+ export {
53
+ __commonJS,
54
+ __export,
55
+ __toESM,
56
+ init_define_import_meta_env,
57
+ define_import_meta_env_default
58
+ };
@@ -1 +1 @@
1
- ["!max-h-[60px]","!mt-0","!opacity-100","!running","**:data-[slot=kbd]:isolate","**:data-[slot=kbd]:relative","**:data-[slot=kbd]:rounded-none","**:data-[slot=kbd]:z-50","*:[a]:hover:text-foreground","*:[a]:underline","*:[a]:underline-offset-3","*:[img:first-child]:rounded-none","*:[img:last-child]:rounded-none","*:[span]:last:flex","*:[span]:last:gap-2","*:[span]:last:items-center","*:data-[slot=alert-description]:text-destructive/90","*:data-[slot=select-value]:flex","*:data-[slot=select-value]:gap-2","*:data-[slot=select-value]:items-center","*:data-[slot=select-value]:line-clamp-1","*:flex-1","-bottom-1.5","-left-1.5","-left-px","-mt-0.5","-mt-1","-mt-[3.5px]","-mx-1","-mx-3","-my-1","-right-1.5","-right-2","-right-2.5","-right-px","-top-1.5","-top-[3px]","-translate-x-1/2","-translate-x-px","-translate-y-1/2","2xl:flex","3","@container","@container/card-header","@md:grid-cols-2","[&::-webkit-inner-spin-button]:appearance-none","[&::-webkit-outer-spin-button]:appearance-none","[&::-webkit-scrollbar]:hidden","[&>*:last-child]:border-b-0","[&>*]:h-full","[&>*]:shrink-0","[&>button]:hidden","[&>span:last-child]:truncate","[&>svg]:pointer-events-none","[&>svg]:shrink-0","[&>svg]:size-3","[&>svg]:size-4","[&>svg]:text-current","[&>svg]:text-sidebar-accent-foreground","[&>svg]:translate-y-0.5","[&_[cmdk-group-heading]]:font-medium","[&_[cmdk-group-heading]]:px-2","[&_[cmdk-group-heading]]:py-1.5","[&_[cmdk-group-heading]]:text-muted-foreground","[&_[cmdk-group-heading]]:text-xs","[&_[cmdk-list-sizer]]:flex","[&_[cmdk-list-sizer]]:flex-col","[&_p]:leading-relaxed","[&_svg:not([class*='size-'])]:size-3","[&_svg:not([class*='size-'])]:size-3.5","[&_svg:not([class*='size-'])]:size-4","[&_svg:not([class*='text-'])]:text-muted-foreground","[&_svg]:pointer-events-none","[&_svg]:shrink-0","[&_svg]:size-2.5","[&_svg]:size-3","[&_svg]:size-3.5","[&_svg]:size-4","[.border-b]:pb-4","[.gap-4>&]:border-0","[.gap-4>&]:py-0","[@media(hover:none)]:flex","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2","[[data-side=right][data-state=collapsed]_&]:cursor-w-resize","[a&]:hover:bg-accent","[a&]:hover:bg-destructive/90","[a&]:hover:bg-primary/90","[a&]:hover:bg-secondary/90","[a&]:hover:text-accent-foreground","[a]:hover:bg-primary/80","[animation-duration:900ms]","[appearance:textfield]","[backend:stderr]","[clip-path:inset(0px_-4px_-4px_-4px)]","[contain:content]","[op:http_server_port_conflict]","[op:startup_failed]","[scrollbar-width:none]","absolute","accent-[var(--accent-brand)]","active:bg-muted","active:bg-muted/60","active:bg-sidebar-accent","active:cursor-grabbing","active:not-aria-[haspopup]:translate-y-px","active:text-sidebar-accent-foreground","after:-inset-2","after:absolute","after:inset-y-0","after:start-1/2","after:w-[2px]","animate-pulse","animate-spin","appearance-none","aria-disabled:opacity-50","aria-disabled:pointer-events-none","aria-expanded:bg-muted","aria-expanded:bg-secondary","aria-expanded:opacity-100","aria-expanded:text-foreground","aria-expanded:text-secondary-foreground","aria-invalid:border-destructive","aria-invalid:ring-1","aria-invalid:ring-destructive/20","aspect-square","aspect-video","auto-cols-fr","auto-rows-fr","auto-rows-min","before:-top-0.5","before:-top-px","before:absolute","before:bg-accent-brand","before:h-0.5","before:inset-x-0","before:inset-x-1","before:z-20","bg-accent-brand","bg-accent-brand/10","bg-accent-brand/15","bg-accent-brand/20","bg-accent-brand/25","bg-accent-brand/40","bg-accent-brand/5","bg-accent-brand/60","bg-accent-brand/70","bg-accent-brand/[0.07]","bg-accent/30","bg-accent/60","bg-background","bg-background/50","bg-background/60","bg-background/70","bg-background/85","bg-background/90","bg-black","bg-black/10","bg-blue-500/20","bg-border","bg-border/60","bg-canvas","bg-card","bg-clip-padding","bg-destructive","bg-destructive/10","bg-destructive/15","bg-destructive/5","bg-destructive/70","bg-emerald-500","bg-emerald-500/10","bg-foreground","bg-green-500","bg-green-500/10","bg-green-500/70","bg-input","bg-muted","bg-muted-foreground","bg-muted-foreground/15","bg-muted-foreground/20","bg-muted-foreground/25","bg-muted-foreground/30","bg-muted-foreground/40","bg-muted-foreground/50","bg-muted/10","bg-muted/15","bg-muted/20","bg-muted/30","bg-muted/40","bg-muted/50","bg-muted/60","bg-muted/70","bg-muted/[0.08]","bg-overlay","bg-popover","bg-primary","bg-red-400","bg-red-500","bg-red-500/10","bg-red-500/40","bg-secondary","bg-sidebar","bg-sidebar-border","bg-surface","bg-surface-dim/40","bg-surface-dim/60","bg-surface/40","bg-transparent","bg-warning","bg-warning/10","bg-warning/20","bg-warning/40","bg-warning/5","bg-warning/70","block","blur","border","border-0","border-2","border-accent-brand","border-accent-brand/20","border-accent-brand/30","border-accent-brand/40","border-accent-brand/50","border-accent-brand/60","border-accent-brand/70","border-b","border-b-2","border-b-accent-brand","border-border","border-border/30","border-border/40","border-border/50","border-border/60","border-current","border-dashed","border-destructive","border-destructive/20","border-destructive/30","border-destructive/40","border-destructive/50","border-emerald-500/40","border-foreground","border-foreground/10","border-green-500/30","border-green-500/40","border-input","border-l","border-l-2","border-l-transparent","border-muted-foreground/30","border-primary","border-r","border-red-500/40","border-sidebar-border","border-t","border-t-0","border-t-border/40","border-t-muted-foreground/70","border-t-transparent","border-transparent","border-warning/30","border-warning/40","border-x","border-y","bottom-0","bottom-4","break-all","break-words","capitalize","catppuccin","col-span-2","col-start-2","collapse","columns-2","columns-3","com","container","contents","cursor-col-resize","cursor-default","cursor-grab","cursor-not-allowed","cursor-ns-resize","cursor-pointer","cursor-row-resize","dark","dark:aria-invalid:border-destructive/50","dark:aria-invalid:ring-destructive/40","dark:bg-destructive/20","dark:bg-destructive/60","dark:bg-input/30","dark:bg-transparent","dark:border-accent-brand/40","dark:border-input","dark:data-[state=active]:bg-input/30","dark:data-[state=active]:border-input","dark:data-[state=active]:text-foreground","dark:data-[state=checked]:bg-primary","dark:data-[variant=destructive]:focus:bg-destructive/20","dark:disabled:bg-input/80","dark:focus-visible:ring-destructive/40","dark:hover:bg-accent-brand/10","dark:hover:bg-destructive/10","dark:hover:bg-destructive/30","dark:hover:bg-input/50","dark:hover:bg-muted/50","dark:text-muted-foreground","data-[disabled=true]:opacity-50","data-[disabled=true]:pointer-events-none","data-[disabled]:opacity-50","data-[disabled]:pointer-events-none","data-[orientation=horizontal]:h-1.5","data-[orientation=horizontal]:h-full","data-[orientation=horizontal]:h-px","data-[orientation=horizontal]:w-full","data-[orientation=vertical]:flex-col","data-[orientation=vertical]:h-full","data-[orientation=vertical]:min-h-44","data-[orientation=vertical]:self-center","data-[orientation=vertical]:self-stretch","data-[orientation=vertical]:w-1.5","data-[orientation=vertical]:w-auto","data-[orientation=vertical]:w-full","data-[orientation=vertical]:w-px","data-[placeholder]:text-muted-foreground","data-[selected=true]:bg-muted","data-[selected=true]:text-accent-foreground","data-[side=bottom]:border-t","data-[side=bottom]:bottom-0","data-[side=bottom]:data-closed:slide-out-to-bottom-10","data-[side=bottom]:data-open:slide-in-from-bottom-10","data-[side=bottom]:h-auto","data-[side=bottom]:inset-x-0","data-[side=bottom]:slide-in-from-top-2","data-[side=bottom]:translate-y-1","data-[side=left]:-translate-x-1","data-[side=left]:border-r","data-[side=left]:data-closed:slide-out-to-left-10","data-[side=left]:data-open:slide-in-from-left-10","data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]","data-[side=left]:h-full","data-[side=left]:inset-y-0","data-[side=left]:left-0","data-[side=left]:slide-in-from-right-2","data-[side=left]:sm:max-w-sm","data-[side=left]:w-3/4","data-[side=right]:border-l","data-[side=right]:data-closed:slide-out-to-right-10","data-[side=right]:data-open:slide-in-from-right-10","data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","data-[side=right]:h-full","data-[side=right]:inset-y-0","data-[side=right]:right-0","data-[side=right]:slide-in-from-left-2","data-[side=right]:sm:max-w-sm","data-[side=right]:translate-x-1","data-[side=right]:w-3/4","data-[side=top]:-translate-y-1","data-[side=top]:border-b","data-[side=top]:data-closed:slide-out-to-top-10","data-[side=top]:data-open:slide-in-from-top-10","data-[side=top]:h-auto","data-[side=top]:inset-x-0","data-[side=top]:slide-in-from-bottom-2","data-[side=top]:top-0","data-[size=default]:h-9","data-[size=md]:text-xs","data-[size=sm]:gap-2","data-[size=sm]:h-8","data-[size=sm]:has-data-[slot=card-footer]:pb-0","data-[size=sm]:py-3","data-[size=sm]:text-xs","data-[state=active]:animate-in","data-[state=active]:bg-background","data-[state=active]:fade-in-0","data-[state=active]:shadow-sm","data-[state=checked]:bg-accent-brand","data-[state=checked]:bg-primary","data-[state=checked]:border-accent-brand","data-[state=checked]:border-primary","data-[state=checked]:text-primary-foreground","data-[state=checked]:translate-x-4","data-[state=closed]:animate-out","data-[state=closed]:fade-out-0","data-[state=closed]:overflow-hidden","data-[state=closed]:zoom-out-95","data-[state=delayed-open]:animate-in","data-[state=delayed-open]:fade-in-0","data-[state=delayed-open]:zoom-in-95","data-[state=inactive]:animate-out","data-[state=inactive]:fade-out-0","data-[state=open]:animate-in","data-[state=open]:fade-in-0","data-[state=open]:zoom-in-95","data-[state=unchecked]:bg-muted","data-[state=unchecked]:border-border","data-[state=unchecked]:translate-x-0.5","data-[variant=destructive]:*:[svg]:text-destructive","data-[variant=destructive]:focus:bg-destructive/10","data-[variant=destructive]:focus:text-destructive","data-[variant=destructive]:text-destructive","data-active:bg-sidebar-accent","data-active:font-medium","data-active:text-sidebar-accent-foreground","data-closed:animate-out","data-closed:fade-out-0","data-closed:zoom-out-95","data-disabled:opacity-50","data-disabled:pointer-events-none","data-inset:pl-7","data-open:animate-in","data-open:bg-accent","data-open:fade-in-0","data-open:hover:bg-sidebar-accent","data-open:hover:text-sidebar-accent-foreground","data-open:text-accent-foreground","data-open:zoom-in-95","delay-75","disabled:bg-input/50","disabled:cursor-not-allowed","disabled:opacity-30","disabled:opacity-40","disabled:opacity-50","disabled:opacity-60","disabled:pointer-events-none","divide-border","divide-x","divide-y","dracula","drop-shadow","duration-100","duration-150","duration-200","duration-500","duration-[450ms]","ease-in-out","ease-linear","ease-out","enabled:hover:text-accent-brand","fade-in","file:bg-transparent","file:border-0","file:font-medium","file:h-6","file:inline-flex","file:text-foreground","file:text-xs","fill-foreground","filter","fixed","flex","flex-1","flex-col","flex-col-reverse","flex-row","flex-wrap","focus-visible:border-destructive/40","focus-visible:border-ring","focus-visible:outline-1","focus-visible:outline-hidden","focus-visible:outline-none","focus-visible:outline-ring","focus-visible:relative","focus-visible:ring-0","focus-visible:ring-1","focus-visible:ring-2","focus-visible:ring-4","focus-visible:ring-[#f59145]/40","focus-visible:ring-[3px]","focus-visible:ring-destructive/20","focus-visible:ring-inset","focus-visible:ring-ring","focus-visible:ring-ring/50","focus-visible:z-10","focus-within:border-ring","focus-within:opacity-100","focus-within:ring-1","focus-within:ring-ring","focus-within:ring-ring/50","focus:**:text-accent-foreground","focus:bg-accent","focus:ring-1","focus:ring-ring","focus:text-accent-brand","focus:text-accent-foreground","focus:text-destructive","font-bold","font-heading","font-medium","font-mono","font-normal","font-semibold","fs-lg","fs-md","fs-sm","fs-xl","fs-xs","gap-0","gap-0.5","gap-1","gap-1.5","gap-2","gap-2.5","gap-3","gap-3.5","gap-4","gap-5","gap-6","gap-[1.75px]","gap-[10.5px]","gap-[2px]","gap-[3.5px]","gap-[3px]","gap-px","gap-x-2","gap-x-3","gap-x-4","gap-x-6","gap-y-0","gap-y-0.5","gap-y-1","gap-y-1.5","gap-y-2","gap-y-3","grid","grid-cols-1","grid-cols-2","grid-cols-3","grid-cols-4","grid-cols-6","grid-cols-8","grid-cols-[0_1fr]","grid-cols-[1fr_5rem]","grid-flow-col","group","group-[.toast]:!border-accent-brand/30","group-[.toast]:!border-destructive/30","group-[.toast]:!text-accent-brand","group-[.toast]:!text-destructive","group-[.toast]:bg-accent-brand","group-[.toast]:bg-muted","group-[.toast]:font-semibold","group-[.toast]:text-muted-foreground","group-[.toast]:text-white","group-[.toaster]:bg-card","group-[.toaster]:border-border","group-[.toaster]:font-mono","group-[.toaster]:rounded-none!","group-[.toaster]:shadow-lg","group-[.toaster]:text-card-foreground","group-data-[collapsible=icon]:-mt-8","group-data-[collapsible=icon]:hidden","group-data-[collapsible=icon]:opacity-0","group-data-[collapsible=icon]:overflow-hidden","group-data-[collapsible=icon]:p-0!","group-data-[collapsible=icon]:p-2!","group-data-[collapsible=icon]:size-8!","group-data-[collapsible=icon]:w-(--sidebar-width-icon)","group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]","group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]","group-data-[collapsible=offcanvas]:after:left-full","group-data-[collapsible=offcanvas]:translate-x-0","group-data-[collapsible=offcanvas]:w-0","group-data-[disabled=true]:opacity-50","group-data-[disabled=true]:pointer-events-none","group-data-[selected=true]:opacity-100","group-data-[side=left]:-right-4","group-data-[side=left]:border-r","group-data-[side=right]:border-l","group-data-[side=right]:left-0","group-data-[side=right]:rotate-180","group-data-[size=sm]/card:[.border-b]:pb-3","group-data-[size=sm]/card:p-3","group-data-[size=sm]/card:px-3","group-data-[size=sm]/card:text-sm","group-data-[variant=floating]:ring-1","group-data-[variant=floating]:ring-sidebar-border","group-data-[variant=floating]:rounded-none","group-data-[variant=floating]:shadow-sm","group-focus-within/folder:flex","group-focus-within/menu-item:opacity-100","group-focus-within/row:flex","group-focus/dropdown-menu-item:text-accent-foreground","group-has-data-[sidebar=menu-action]/menu-item:pr-8","group-hover/btn:bg-accent-brand/20","group-hover/btn:border-accent-brand/40","group-hover/folder:flex","group-hover/folder:opacity-100","group-hover/folder:text-muted-foreground/70","group-hover/menu-item:opacity-100","group-hover/open:text-accent-brand","group-hover/resize:bg-accent-brand/60","group-hover/row:flex","group-hover/row:text-muted-foreground/60","group-hover/tab:opacity-100","group-hover:bg-accent-brand/60","group-hover:hidden","group-hover:max-h-[60px]","group-hover:mt-0","group-hover:opacity-100","group-hover:text-muted-foreground/70","group/btn","group/card","group/dropdown-menu-item","group/folder","group/menu-item","group/open","group/resize","group/row","group/tab","grow","gruvbox","h-0","h-0.5","h-1","h-1.5","h-10","h-11","h-12","h-12.5","h-14","h-16","h-2.5","h-20","h-24","h-28","h-3","h-3.5","h-4","h-5","h-6","h-7","h-8","h-9","h-[136px]","h-[14px]","h-[2px]","h-[3px]","h-[46%]","h-[calc(100%-1px)]","h-[var(--radix-select-trigger-height)]","h-full","h-px","h-screen","h-svh","has-[>img:first-child]:pt-0","has-[>svg]:gap-x-3","has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr]","has-[[data-state=open]]:opacity-100","has-data-[icon=inline-end]:pr-1.5","has-data-[icon=inline-end]:pr-2","has-data-[icon=inline-start]:pl-1.5","has-data-[icon=inline-start]:pl-2","has-data-[slot=card-action]:grid-cols-[1fr_auto]","has-data-[slot=card-description]:grid-rows-[auto_auto]","has-data-[slot=card-footer]:pb-0","has-data-[slot=kbd]:pr-1.5","has-data-[variant=inset]:bg-sidebar","hidden","host-status-stripe","hover:after:bg-sidebar-border","hover:bg-accent","hover:bg-accent-brand","hover:bg-accent-brand/10","hover:bg-accent-brand/15","hover:bg-accent-brand/20","hover:bg-accent-brand/40","hover:bg-accent-brand/5","hover:bg-accent-brand/90","hover:bg-background/80","hover:bg-destructive/10","hover:bg-destructive/20","hover:bg-destructive/90","hover:bg-foreground/[0.03]","hover:bg-muted","hover:bg-muted-foreground/10","hover:bg-muted/20","hover:bg-muted/30","hover:bg-muted/40","hover:bg-muted/50","hover:bg-muted/60","hover:bg-secondary/80","hover:bg-sidebar-accent","hover:bg-surface","hover:border-accent-brand","hover:border-accent-brand/30","hover:border-accent-brand/40","hover:border-accent-brand/60","hover:border-destructive/40","hover:border-foreground/40","hover:border-muted-foreground","hover:border-ring/60","hover:group-data-[collapsible=offcanvas]:bg-sidebar","hover:opacity-100","hover:ring-4","hover:ring-[#f59145]/40","hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]","hover:text-accent-brand","hover:text-accent-brand/70","hover:text-accent-brand/80","hover:text-accent-foreground","hover:text-destructive","hover:text-destructive/80","hover:text-foreground","hover:text-muted-foreground","hover:text-primary","hover:text-sidebar-accent-foreground","hover:underline","in-data-[side=left]:cursor-w-resize","in-data-[side=right]:cursor-e-resize","inline","inline-block","inline-flex","inset-0","inset-x-0","inset-x-3","inset-y-0","invisible","isolate","italic","items-baseline","items-center","items-end","items-start","items-stretch","justify-between","justify-center","justify-end","justify-items-start","justify-self-end","justify-start","last:border-0","last:border-b-0","leading-[1.4]","leading-[1.7]","leading-[14px]","leading-none","leading-relaxed","leading-snug","leading-tight","left-0","left-1/2","left-2","left-2.5","left-[50%]","lg:block","lg:col-span-2","lg:flex","lg:grid-cols-1","lg:grid-cols-2","lg:grid-cols-3","lg:grid-cols-4","lg:grid-cols-5","lg:hidden","lg:inline","line-clamp-2","line-clamp-3","line-clamp-4","line-through","list-disc","list-inside","lowercase","ltr:-translate-x-1/2","lucide","m-2.5","m-auto","max-h-(--radix-dropdown-menu-content-available-height)","max-h-(--radix-popover-content-available-height)","max-h-(--radix-select-content-available-height)","max-h-0","max-h-24","max-h-40","max-h-56","max-h-64","max-h-96","max-h-[130px]","max-h-[300px]","max-h-[60px]","max-h-[60vh]","max-h-[80dvh]","max-w-(--skeleton-width)","max-w-0","max-w-2xl","max-w-32","max-w-3xl","max-w-40","max-w-48","max-w-5xl","max-w-72","max-w-96","max-w-[120px]","max-w-[160px]","max-w-[180px]","max-w-[200px]","max-w-[260px]","max-w-[380px]","max-w-[50%]","max-w-[560px]","max-w-[5rem]","max-w-[60%]","max-w-[calc(100%-2rem)]","max-w-full","max-w-lg","max-w-md","max-w-sm","max-w-xl","max-w-xs","mb-0.5","mb-1","mb-1.5","mb-2","mb-4","md:-mx-4","md:after:hidden","md:block","md:col-span-1","md:flex","md:flex-row","md:grid-cols-1","md:grid-cols-2","md:grid-cols-3","md:grid-cols-4","md:hidden","md:max-h-none","md:opacity-0","md:overflow-visible","md:overflow-y-auto","md:peer-data-[variant=inset]:m-2","md:peer-data-[variant=inset]:ml-0","md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2","md:peer-data-[variant=inset]:rounded-none","md:peer-data-[variant=inset]:shadow-sm","md:px-3.5","md:px-4","md:size-4","md:static","md:text-2xl","md:text-xs","md:w-44","md:w-48","md:w-56","md:w-60","md:w-72","min-[280px]:inline","min-h-0","min-h-11","min-h-16","min-h-24","min-h-48","min-h-8","min-h-9","min-h-[19px]","min-h-[220px]","min-h-[70vh]","min-h-[80px]","min-h-full","min-h-svh","min-w-(--radix-popover-trigger-width)","min-w-0","min-w-16","min-w-3","min-w-32","min-w-4","min-w-40","min-w-44","min-w-5","min-w-52","min-w-[14px]","min-w-[150px]","min-w-[160px]","min-w-[170px]","min-w-[180px]","min-w-[200px]","min-w-[8rem]","min-w-[96px]","min-w-[var(--radix-select-trigger-width)]","min-w-max","ml-0.5","ml-1","ml-1.5","ml-2","ml-3","ml-3.5","ml-4","ml-8","ml-[27px]","ml-auto","motion-context-enter","motion-fade-enter","motion-interactive","motion-meter","motion-panel-enter","motion-transfer-phase","motion-workspace-enter","motion-workspace-layout","mr-1","mr-1.5","mr-2","mt-0.5","mt-1","mt-1.5","mt-2","mt-2.5","mt-3","mt-4","mt-[1.75px]","mt-auto","mt-px","mx-0.5","mx-2","mx-3.5","mx-4","mx-auto","my-0.5","my-1","my-3","my-auto","nord","normal-case","not-data-[variant=destructive]:focus:**:text-accent-foreground","object-contain","one-dark","opacity-0","opacity-100","opacity-40","opacity-50","opacity-60","opacity-70","opacity-80","origin-(--radix-dropdown-menu-content-transform-origin)","origin-(--radix-popover-content-transform-origin)","origin-(--radix-select-content-transform-origin)","origin-(--radix-tooltip-content-transform-origin)","origin-center","outline","outline-hidden","outline-none","overflow-auto","overflow-hidden","overflow-x-auto","overflow-x-hidden","overflow-y-auto","overflow-y-hidden","overline","p-0","p-0.5","p-1","p-1.5","p-10","p-2","p-2.5","p-3","p-4","p-5","p-6","p-8","p-[3px]","p-px","paused","pb-0","pb-1","pb-1.5","pb-2","pb-3","pb-6","peer","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","peer-data-[size=sm]/menu-button:top-1","peer-data-active/menu-button:text-sidebar-accent-foreground","peer-disabled:cursor-not-allowed","peer-disabled:opacity-50","peer-hover/menu-button:text-sidebar-accent-foreground","peer/menu-button","pl-1","pl-2","pl-2.5","pl-4","pl-5","pl-5.5","pl-6","pl-7","pl-8","pl-[7px]","pl-[8.75px]","pl-px","placeholder:text-muted-foreground","placeholder:text-muted-foreground/50","pointer-coarse:flex","pointer-coarse:opacity-100","pointer-events-none","pr-0.5","pr-1","pr-1.5","pr-12","pr-2","pr-2.5","pr-7","pr-8","pr-9","pr-[5.25px]","pr-[7px]","pt-0.5","pt-1","pt-1.5","pt-2","pt-2.5","pt-3","pt-4","pt-[15vh]","pt-[3.5px]","pt-[3px]","pt-[5.25px]","px-0","px-0.5","px-1","px-1.5","px-2","px-2.5","px-3","px-3.5","px-4","px-5","px-6","px-[3px]","py-0","py-0.5","py-1","py-1.5","py-10","py-12","py-2","py-2.5","py-3","py-4","py-6","py-8","py-[1px]","py-[2px]","py-[5px]","py-[7px]","py-px","relative","resize","resize-none","right-0","right-1","right-1.5","right-2","right-2.5","right-3","ring","ring-1","ring-2","ring-accent-brand","ring-accent-brand/50","ring-border","ring-foreground/10","ring-inset","ring-offset-1","ring-offset-background","ring-sidebar-ring","ring-white/60","rotate-180","rotate-45","rotate-90","rounded","rounded-[inherit]","rounded-full","rounded-none","rounded-sm","row-span-2","row-start-1","rtl:-translate-x-1/2","running","safe-bottom","scale-110","scroll-my-1","scrollbar-none","select-none","self-end","self-start","self-stretch","settings-search-hit","shadow","shadow-2xl","shadow-[0_0_0_1px_hsl(var(--sidebar-border))]","shadow-lg","shadow-md","shadow-none","shadow-sm","shadow-xl","shadow-xs","shrink-0","size-1.5","size-10","size-12","size-2","size-2.5","size-3","size-3.5","size-4","size-5","size-6","size-6.5","size-7","size-8","size-9","size-[10.5px]","size-[17.5px]","size-[19px]","size-[22.75px]","size-full","size-px","sm:border-b-0","sm:border-r","sm:col-span-2","sm:flex","sm:flex-row","sm:grid-cols-12","sm:grid-cols-2","sm:grid-cols-3","sm:grid-cols-4","sm:items-center","sm:justify-end","sm:max-w-lg","sm:max-w-sm","sm:mr-auto","sm:py-14","sm:text-left","solarized","space-y-0.5","space-y-1.5","space-y-2","sr-only","static","sticky","stroke-accent-brand","stroke-border","stroke-muted","supports-backdrop-filter:backdrop-blur-xs","tab-1","tab-2","table","tabular-nums","text-2xl","text-[10px]","text-[11px]","text-[12px]","text-[13px]","text-[9px]","text-accent-brand","text-accent-brand/50","text-accent-brand/80","text-accent-foreground","text-background","text-base","text-blue-400","text-blue-500","text-card-foreground","text-center","text-current","text-destructive","text-destructive/80","text-emerald-500","text-foreground","text-foreground-secondary","text-foreground/70","text-foreground/80","text-green-500","text-left","text-lg","text-muted-foreground","text-muted-foreground/0","text-muted-foreground/20","text-muted-foreground/30","text-muted-foreground/35","text-muted-foreground/40","text-muted-foreground/45","text-muted-foreground/50","text-muted-foreground/60","text-muted-foreground/70","text-muted-foreground/80","text-popover-foreground","text-primary","text-primary-foreground","text-red-500","text-right","text-secondary-foreground","text-sidebar-foreground","text-sidebar-foreground/70","text-sm","text-warning","text-white","text-xl","text-xs","text-xs/relaxed","thin-scrollbar","toast","toaster","tokyo-night","top-0","top-1","top-1.5","top-1/2","top-2","top-20","top-3","top-3.5","top-[50%]","touch-none","tracking-[0.35em]","tracking-[0.3em]","tracking-normal","tracking-tight","tracking-wide","tracking-wider","tracking-widest","transfer-progress-fill","transfer-progress-indeterminate","transfer-progress-stalled","transfer-progress-track","transform","transition","transition-[color,background-color,border-color,opacity,box-shadow,transform]","transition-[color,box-shadow]","transition-[height,border-color]","transition-[height]","transition-[left,right,width]","transition-[left,top,width,height]","transition-[margin,opacity]","transition-[max-height,opacity,margin]","transition-[opacity,max-width]","transition-[opacity,width]","transition-[padding]","transition-[stroke-dasharray]","transition-[width,height,padding]","transition-[width]","transition-all","transition-colors","transition-none","transition-opacity","transition-shadow","transition-transform","translate-x-0.5","translate-x-4","translate-x-[-50%]","translate-x-px","translate-y-[-1px]","translate-y-[-50%]","translate-y-[calc(-50%_-_2px)]","truncate","underline","underline-offset-2","underline-offset-4","uppercase","visible","w-(--radix-dropdown-menu-trigger-width)","w-(--sidebar-width)","w-0","w-0.5","w-1","w-1.5","w-1/2","w-1/4","w-10","w-11","w-12","w-12.5","w-2","w-2.5","w-2/3","w-20","w-28","w-3","w-3/4","w-4","w-40","w-48","w-5","w-5/6","w-52","w-56","w-6","w-60","w-64","w-72","w-8","w-9","w-[240px]","w-[2px]","w-[3px]","w-[46%]","w-[min(85vw,360px)]","w-[var(--radix-popover-trigger-width)]","w-auto","w-fit","w-full","w-max","w-px","w-screen","whitespace-normal","whitespace-nowrap","whitespace-pre","whitespace-pre-line","whitespace-pre-wrap","xl:block","xl:flex","xl:grid-cols-1","xl:grid-cols-2","xl:grid-cols-3","xl:grid-cols-4","z-0","z-10","z-20","z-30","z-40","z-50","z-500","z-[10000]","z-[100]","z-[200]","z-[60]","z-[9998]","z-[99999]"]
1
+ ["!running","**:data-[slot=kbd]:isolate","**:data-[slot=kbd]:relative","**:data-[slot=kbd]:rounded-none","**:data-[slot=kbd]:z-50","*:[a]:hover:text-foreground","*:[a]:underline","*:[a]:underline-offset-3","*:[img:first-child]:rounded-none","*:[img:last-child]:rounded-none","*:[span]:last:flex","*:[span]:last:gap-2","*:[span]:last:items-center","*:data-[slot=alert-description]:text-destructive/90","*:data-[slot=select-value]:flex","*:data-[slot=select-value]:gap-2","*:data-[slot=select-value]:items-center","*:data-[slot=select-value]:line-clamp-1","*:flex-1","-bottom-1.5","-left-1.5","-mx-1","-mx-3","-my-1","-right-1.5","-top-1.5","-translate-x-1/2","-translate-x-px","-translate-y-1/2","2xl:flex","3","@container/card-header","[&::-webkit-inner-spin-button]:appearance-none","[&::-webkit-outer-spin-button]:appearance-none","[&>*:last-child]:border-b-0","[&>*]:h-full","[&>button]:hidden","[&>span:last-child]:truncate","[&>svg]:pointer-events-none","[&>svg]:shrink-0","[&>svg]:size-3","[&>svg]:size-4","[&>svg]:text-current","[&>svg]:text-sidebar-accent-foreground","[&>svg]:translate-y-0.5","[&_[cmdk-group-heading]]:font-medium","[&_[cmdk-group-heading]]:px-2","[&_[cmdk-group-heading]]:py-1.5","[&_[cmdk-group-heading]]:text-muted-foreground","[&_[cmdk-group-heading]]:text-xs","[&_[cmdk-list-sizer]]:flex","[&_[cmdk-list-sizer]]:flex-col","[&_p]:leading-relaxed","[&_svg:not([class*='size-'])]:size-3","[&_svg:not([class*='size-'])]:size-3.5","[&_svg:not([class*='size-'])]:size-4","[&_svg:not([class*='text-'])]:text-muted-foreground","[&_svg]:pointer-events-none","[&_svg]:shrink-0","[&_svg]:size-2.5","[&_svg]:size-3","[&_svg]:size-3.5","[&_svg]:size-4","[.border-b]:pb-4","[.gap-4>&]:border-0","[.gap-4>&]:py-0","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2","[[data-side=right][data-state=collapsed]_&]:cursor-w-resize","[a&]:hover:bg-accent","[a&]:hover:bg-destructive/90","[a&]:hover:bg-primary/90","[a&]:hover:bg-secondary/90","[a&]:hover:text-accent-foreground","[a]:hover:bg-primary/80","[animation-duration:900ms]","[appearance:textfield]","[backend:stderr]","[clip-path:inset(0px_-4px_-4px_-4px)]","[op:http_server_port_conflict]","[op:startup_failed]","absolute","accent-[var(--accent-brand)]","active:bg-sidebar-accent","active:cursor-grabbing","active:not-aria-[haspopup]:translate-y-px","active:text-sidebar-accent-foreground","after:-inset-2","after:absolute","after:inset-y-0","after:start-1/2","after:w-[2px]","animate-pulse","animate-spin","appearance-none","aria-disabled:opacity-50","aria-disabled:pointer-events-none","aria-expanded:bg-muted","aria-expanded:bg-secondary","aria-expanded:opacity-100","aria-expanded:text-foreground","aria-expanded:text-secondary-foreground","aria-invalid:border-destructive","aria-invalid:ring-1","aria-invalid:ring-destructive/20","aspect-square","aspect-video","auto-rows-min","bg-accent-brand","bg-accent-brand/10","bg-accent-brand/15","bg-accent-brand/20","bg-accent-brand/25","bg-accent-brand/40","bg-accent-brand/5","bg-accent-brand/60","bg-accent-brand/70","bg-background","bg-background/60","bg-background/85","bg-background/90","bg-black","bg-black/10","bg-blue-500/20","bg-border","bg-canvas","bg-card","bg-clip-padding","bg-destructive","bg-destructive/10","bg-destructive/15","bg-destructive/5","bg-destructive/70","bg-emerald-500","bg-emerald-500/10","bg-foreground","bg-green-500","bg-green-500/10","bg-green-500/70","bg-input","bg-muted","bg-muted-foreground","bg-muted-foreground/20","bg-muted-foreground/25","bg-muted-foreground/30","bg-muted-foreground/40","bg-muted-foreground/50","bg-muted/10","bg-muted/15","bg-muted/20","bg-muted/30","bg-muted/40","bg-muted/50","bg-muted/60","bg-muted/70","bg-muted/[0.08]","bg-overlay","bg-popover","bg-primary","bg-red-500","bg-red-500/10","bg-red-500/40","bg-secondary","bg-sidebar","bg-sidebar-border","bg-surface-dim/60","bg-transparent","bg-warning","bg-warning/10","bg-warning/20","bg-warning/40","bg-warning/5","bg-warning/70","block","blur","border","border-0","border-2","border-accent-brand","border-accent-brand/30","border-accent-brand/40","border-accent-brand/50","border-accent-brand/60","border-accent-brand/70","border-b","border-b-2","border-border","border-border/30","border-border/40","border-border/50","border-border/60","border-current","border-dashed","border-destructive/20","border-destructive/30","border-destructive/40","border-destructive/50","border-emerald-500/40","border-foreground/10","border-green-500/30","border-input","border-l","border-l-transparent","border-muted-foreground/30","border-primary","border-r","border-red-500/40","border-sidebar-border","border-t","border-t-0","border-t-border/40","border-t-muted-foreground/70","border-t-transparent","border-transparent","border-warning/30","border-warning/40","border-y","bottom-0","break-all","break-words","col-start-2","collapse","columns-2","columns-3","com","container","contents","cursor-col-resize","cursor-default","cursor-grab","cursor-pointer","cursor-row-resize","dark","dark:aria-invalid:border-destructive/50","dark:aria-invalid:ring-destructive/40","dark:bg-destructive/20","dark:bg-destructive/60","dark:bg-input/30","dark:bg-transparent","dark:border-accent-brand/40","dark:border-input","dark:data-[state=active]:bg-input/30","dark:data-[state=active]:border-input","dark:data-[state=active]:text-foreground","dark:data-[state=checked]:bg-primary","dark:data-[variant=destructive]:focus:bg-destructive/20","dark:disabled:bg-input/80","dark:focus-visible:ring-destructive/40","dark:hover:bg-accent-brand/10","dark:hover:bg-destructive/10","dark:hover:bg-destructive/30","dark:hover:bg-input/50","dark:hover:bg-muted/50","dark:text-muted-foreground","data-[disabled=true]:opacity-50","data-[disabled=true]:pointer-events-none","data-[disabled]:opacity-50","data-[disabled]:pointer-events-none","data-[orientation=horizontal]:h-1.5","data-[orientation=horizontal]:h-full","data-[orientation=horizontal]:h-px","data-[orientation=horizontal]:w-full","data-[orientation=vertical]:flex-col","data-[orientation=vertical]:h-full","data-[orientation=vertical]:min-h-44","data-[orientation=vertical]:self-center","data-[orientation=vertical]:self-stretch","data-[orientation=vertical]:w-1.5","data-[orientation=vertical]:w-auto","data-[orientation=vertical]:w-full","data-[orientation=vertical]:w-px","data-[placeholder]:text-muted-foreground","data-[selected=true]:bg-muted","data-[selected=true]:text-accent-foreground","data-[side=bottom]:border-t","data-[side=bottom]:bottom-0","data-[side=bottom]:data-closed:slide-out-to-bottom-10","data-[side=bottom]:data-open:slide-in-from-bottom-10","data-[side=bottom]:h-auto","data-[side=bottom]:inset-x-0","data-[side=bottom]:slide-in-from-top-2","data-[side=bottom]:translate-y-1","data-[side=left]:-translate-x-1","data-[side=left]:border-r","data-[side=left]:data-closed:slide-out-to-left-10","data-[side=left]:data-open:slide-in-from-left-10","data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]","data-[side=left]:h-full","data-[side=left]:inset-y-0","data-[side=left]:left-0","data-[side=left]:slide-in-from-right-2","data-[side=left]:sm:max-w-sm","data-[side=left]:w-3/4","data-[side=right]:border-l","data-[side=right]:data-closed:slide-out-to-right-10","data-[side=right]:data-open:slide-in-from-right-10","data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","data-[side=right]:h-full","data-[side=right]:inset-y-0","data-[side=right]:right-0","data-[side=right]:slide-in-from-left-2","data-[side=right]:sm:max-w-sm","data-[side=right]:translate-x-1","data-[side=right]:w-3/4","data-[side=top]:-translate-y-1","data-[side=top]:border-b","data-[side=top]:data-closed:slide-out-to-top-10","data-[side=top]:data-open:slide-in-from-top-10","data-[side=top]:h-auto","data-[side=top]:inset-x-0","data-[side=top]:slide-in-from-bottom-2","data-[side=top]:top-0","data-[size=default]:h-9","data-[size=md]:text-xs","data-[size=sm]:gap-2","data-[size=sm]:h-8","data-[size=sm]:has-data-[slot=card-footer]:pb-0","data-[size=sm]:py-3","data-[size=sm]:text-xs","data-[state=active]:animate-in","data-[state=active]:bg-background","data-[state=active]:fade-in-0","data-[state=active]:shadow-sm","data-[state=checked]:bg-accent-brand","data-[state=checked]:bg-primary","data-[state=checked]:border-accent-brand","data-[state=checked]:border-primary","data-[state=checked]:text-primary-foreground","data-[state=checked]:translate-x-4","data-[state=closed]:animate-out","data-[state=closed]:fade-out-0","data-[state=closed]:overflow-hidden","data-[state=closed]:zoom-out-95","data-[state=delayed-open]:animate-in","data-[state=delayed-open]:fade-in-0","data-[state=delayed-open]:zoom-in-95","data-[state=inactive]:animate-out","data-[state=inactive]:fade-out-0","data-[state=open]:animate-in","data-[state=open]:fade-in-0","data-[state=open]:zoom-in-95","data-[state=unchecked]:bg-muted","data-[state=unchecked]:border-border","data-[state=unchecked]:translate-x-0.5","data-[variant=destructive]:*:[svg]:text-destructive","data-[variant=destructive]:focus:bg-destructive/10","data-[variant=destructive]:focus:text-destructive","data-[variant=destructive]:text-destructive","data-active:bg-sidebar-accent","data-active:font-medium","data-active:text-sidebar-accent-foreground","data-closed:animate-out","data-closed:fade-out-0","data-closed:zoom-out-95","data-disabled:opacity-50","data-disabled:pointer-events-none","data-inset:pl-7","data-open:animate-in","data-open:bg-accent","data-open:fade-in-0","data-open:hover:bg-sidebar-accent","data-open:hover:text-sidebar-accent-foreground","data-open:text-accent-foreground","data-open:zoom-in-95","disabled:bg-input/50","disabled:cursor-not-allowed","disabled:opacity-30","disabled:opacity-40","disabled:opacity-50","disabled:opacity-60","disabled:pointer-events-none","divide-border","divide-y","drop-shadow","duration-100","duration-150","duration-200","duration-500","duration-[450ms]","ease-in-out","ease-linear","enabled:hover:text-accent-brand","fade-in","file:bg-transparent","file:border-0","file:font-medium","file:h-6","file:inline-flex","file:text-foreground","file:text-xs","fill-foreground","filter","fixed","flex","flex-1","flex-col","flex-col-reverse","flex-row","flex-wrap","focus-visible:border-destructive/40","focus-visible:border-ring","focus-visible:outline-1","focus-visible:outline-hidden","focus-visible:outline-none","focus-visible:outline-ring","focus-visible:relative","focus-visible:ring-0","focus-visible:ring-1","focus-visible:ring-2","focus-visible:ring-4","focus-visible:ring-[#f59145]/40","focus-visible:ring-[3px]","focus-visible:ring-destructive/20","focus-visible:ring-inset","focus-visible:ring-ring","focus-visible:ring-ring/50","focus-visible:z-10","focus-within:border-ring","focus-within:opacity-100","focus-within:ring-1","focus-within:ring-ring/50","focus:**:text-accent-foreground","focus:bg-accent","focus:ring-1","focus:ring-ring","focus:text-accent-brand","focus:text-accent-foreground","font-bold","font-heading","font-medium","font-mono","font-normal","font-semibold","fs-lg","fs-md","fs-sm","fs-xl","fs-xs","gap-0","gap-0.5","gap-1","gap-1.5","gap-2","gap-2.5","gap-3","gap-3.5","gap-4","gap-5","gap-6","gap-[1.75px]","gap-[2px]","gap-[3.5px]","gap-[3px]","gap-px","gap-x-2","gap-x-4","gap-y-0.5","gap-y-1","gap-y-1.5","grid","grid-cols-1","grid-cols-2","grid-cols-3","grid-cols-4","grid-cols-6","grid-cols-8","grid-cols-[0_1fr]","group","group-[.toast]:!border-accent-brand/30","group-[.toast]:!border-destructive/30","group-[.toast]:!text-accent-brand","group-[.toast]:!text-destructive","group-[.toast]:bg-accent-brand","group-[.toast]:bg-muted","group-[.toast]:font-semibold","group-[.toast]:text-muted-foreground","group-[.toast]:text-white","group-[.toaster]:bg-card","group-[.toaster]:border-border","group-[.toaster]:font-mono","group-[.toaster]:rounded-none!","group-[.toaster]:shadow-lg","group-[.toaster]:text-card-foreground","group-data-[collapsible=icon]:-mt-8","group-data-[collapsible=icon]:hidden","group-data-[collapsible=icon]:opacity-0","group-data-[collapsible=icon]:overflow-hidden","group-data-[collapsible=icon]:p-0!","group-data-[collapsible=icon]:p-2!","group-data-[collapsible=icon]:size-8!","group-data-[collapsible=icon]:w-(--sidebar-width-icon)","group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]","group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]","group-data-[collapsible=offcanvas]:after:left-full","group-data-[collapsible=offcanvas]:translate-x-0","group-data-[collapsible=offcanvas]:w-0","group-data-[disabled=true]:opacity-50","group-data-[disabled=true]:pointer-events-none","group-data-[side=left]:-right-4","group-data-[side=left]:border-r","group-data-[side=right]:border-l","group-data-[side=right]:left-0","group-data-[side=right]:rotate-180","group-data-[size=sm]/card:[.border-b]:pb-3","group-data-[size=sm]/card:p-3","group-data-[size=sm]/card:px-3","group-data-[size=sm]/card:text-sm","group-data-[variant=floating]:ring-1","group-data-[variant=floating]:ring-sidebar-border","group-data-[variant=floating]:rounded-none","group-data-[variant=floating]:shadow-sm","group-focus-within/menu-item:opacity-100","group-focus-within/row:flex","group-focus/dropdown-menu-item:text-accent-foreground","group-has-data-[sidebar=menu-action]/menu-item:pr-8","group-hover/folder:opacity-100","group-hover/menu-item:opacity-100","group-hover/open:text-accent-brand","group-hover/resize:bg-accent-brand/60","group-hover/row:flex","group-hover:bg-accent-brand/60","group-hover:opacity-100","group/card","group/dropdown-menu-item","group/folder","group/menu-item","group/open","group/resize","group/row","grow","h-0.5","h-1","h-1.5","h-10","h-11","h-12","h-12.5","h-14","h-16","h-2.5","h-3","h-4","h-5","h-6","h-7","h-8","h-9","h-[136px]","h-[2px]","h-[3px]","h-[46%]","h-[calc(100%-1px)]","h-[var(--radix-select-trigger-height)]","h-dvh","h-full","h-px","h-screen","h-svh","has-[>img:first-child]:pt-0","has-[>svg]:gap-x-3","has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr]","has-[[data-state=open]]:opacity-100","has-data-[icon=inline-end]:pr-1.5","has-data-[icon=inline-end]:pr-2","has-data-[icon=inline-start]:pl-1.5","has-data-[icon=inline-start]:pl-2","has-data-[slot=card-action]:grid-cols-[1fr_auto]","has-data-[slot=card-description]:grid-rows-[auto_auto]","has-data-[slot=card-footer]:pb-0","has-data-[slot=kbd]:pr-1.5","has-data-[variant=inset]:bg-sidebar","hidden","host-status-stripe","hover:after:bg-sidebar-border","hover:bg-accent-brand/10","hover:bg-accent-brand/15","hover:bg-accent-brand/5","hover:bg-accent-brand/90","hover:bg-destructive/10","hover:bg-destructive/20","hover:bg-destructive/90","hover:bg-foreground/[0.03]","hover:bg-muted","hover:bg-muted/30","hover:bg-muted/40","hover:bg-muted/50","hover:bg-secondary/80","hover:bg-sidebar-accent","hover:border-accent-brand/40","hover:border-accent-brand/60","hover:border-destructive/40","hover:border-foreground/40","hover:border-muted-foreground","hover:group-data-[collapsible=offcanvas]:bg-sidebar","hover:opacity-100","hover:ring-4","hover:ring-[#f59145]/40","hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]","hover:text-accent-brand","hover:text-accent-brand/70","hover:text-destructive","hover:text-foreground","hover:text-primary","hover:text-sidebar-accent-foreground","hover:underline","in-data-[side=left]:cursor-w-resize","in-data-[side=right]:cursor-e-resize","inline","inline-block","inline-flex","inset-0","inset-x-0","inset-y-0","invisible","isolate","italic","items-baseline","items-center","items-start","items-stretch","justify-between","justify-center","justify-end","justify-items-start","justify-self-end","justify-start","last:border-0","last:border-b-0","leading-[1.7]","leading-none","leading-relaxed","leading-snug","leading-tight","left-0","left-1/2","left-2","left-2.5","left-[50%]","lg:block","lg:col-span-2","lg:flex","lg:grid-cols-1","lg:grid-cols-2","lg:grid-cols-3","lg:grid-cols-4","lg:grid-cols-5","lg:hidden","line-clamp-2","line-clamp-3","line-clamp-4","line-through","list-disc","lowercase","ltr:-translate-x-1/2","lucide","m-auto","max-h-(--radix-dropdown-menu-content-available-height)","max-h-(--radix-select-content-available-height)","max-h-40","max-h-56","max-h-64","max-h-96","max-h-[300px]","max-w-(--skeleton-width)","max-w-2xl","max-w-32","max-w-3xl","max-w-40","max-w-48","max-w-5xl","max-w-[380px]","max-w-[560px]","max-w-[calc(100%-2rem)]","max-w-lg","max-w-md","max-w-sm","max-w-xl","max-w-xs","mb-1","mb-2","mb-4","md:-mx-4","md:after:hidden","md:block","md:flex","md:flex-row","md:grid-cols-1","md:grid-cols-2","md:grid-cols-3","md:grid-cols-4","md:max-h-none","md:opacity-0","md:peer-data-[variant=inset]:m-2","md:peer-data-[variant=inset]:ml-0","md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2","md:peer-data-[variant=inset]:rounded-none","md:peer-data-[variant=inset]:shadow-sm","md:px-4","md:text-2xl","md:text-xs","md:w-44","md:w-56","min-h-0","min-h-16","min-h-8","min-h-[220px]","min-h-[70vh]","min-h-[80px]","min-h-full","min-h-svh","min-w-0","min-w-16","min-w-32","min-w-4","min-w-40","min-w-5","min-w-52","min-w-[8rem]","min-w-[96px]","min-w-[var(--radix-select-trigger-width)]","min-w-max","ml-0.5","ml-1.5","ml-2","ml-3","ml-[27px]","ml-auto","motion-context-enter","motion-fade-enter","motion-interactive","motion-meter","motion-panel-enter","motion-transfer-phase","motion-workspace-enter","motion-workspace-layout","mr-1","mr-2","mt-0.5","mt-1","mt-3","mt-4","mt-auto","mt-px","mx-2","mx-3.5","mx-4","mx-auto","my-1","my-3","my-auto","normal-case","not-data-[variant=destructive]:focus:**:text-accent-foreground","object-contain","opacity-0","opacity-100","opacity-40","opacity-50","opacity-60","opacity-70","opacity-80","origin-(--radix-dropdown-menu-content-transform-origin)","origin-(--radix-popover-content-transform-origin)","origin-(--radix-select-content-transform-origin)","origin-(--radix-tooltip-content-transform-origin)","origin-center","outline","outline-hidden","outline-none","overflow-auto","overflow-hidden","overflow-x-auto","overflow-x-hidden","overflow-y-auto","overline","p-0","p-0.5","p-1","p-1.5","p-10","p-2","p-2.5","p-3","p-4","p-5","p-6","p-[3px]","p-px","paused","pb-1.5","pb-2","peer","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","peer-data-[size=sm]/menu-button:top-1","peer-data-active/menu-button:text-sidebar-accent-foreground","peer-disabled:cursor-not-allowed","peer-disabled:opacity-50","peer-hover/menu-button:text-sidebar-accent-foreground","peer/menu-button","pl-1","pl-2","pl-2.5","pl-4","pl-7","pl-8","pl-[8.75px]","placeholder:text-muted-foreground","placeholder:text-muted-foreground/50","pointer-coarse:flex","pointer-coarse:opacity-100","pointer-events-none","pr-0.5","pr-1","pr-1.5","pr-12","pr-2","pr-7","pr-8","pr-9","pr-[7px]","pt-0.5","pt-1","pt-2","pt-3","pt-4","pt-[3.5px]","px-0","px-1","px-1.5","px-2","px-2.5","px-3","px-4","px-6","py-0","py-0.5","py-1","py-1.5","py-10","py-2","py-2.5","py-3","py-4","py-6","py-8","py-[1px]","py-[2px]","py-[7px]","py-px","relative","resize","resize-none","right-0","right-1","right-1.5","right-2","right-2.5","right-3","ring","ring-1","ring-2","ring-accent-brand","ring-border","ring-foreground/10","ring-inset","ring-offset-1","ring-offset-background","ring-sidebar-ring","ring-white/60","rotate-45","rotate-90","rounded","rounded-[inherit]","rounded-full","rounded-none","row-span-2","row-start-1","rtl:-translate-x-1/2","running","safe-bottom","scroll-my-1","scrollbar-none","select-none","self-start","sepia","settings-search-hit","shadow","shadow-[0_0_0_1px_hsl(var(--sidebar-border))]","shadow-lg","shadow-md","shadow-none","shadow-sm","shadow-xl","shadow-xs","shrink-0","size-1.5","size-10","size-12","size-2.5","size-3","size-3.5","size-4","size-5","size-6","size-7","size-8","size-9","size-[22.75px]","size-full","sm:flex","sm:flex-row","sm:grid-cols-12","sm:grid-cols-2","sm:grid-cols-3","sm:grid-cols-4","sm:items-center","sm:justify-end","sm:max-w-lg","sm:max-w-sm","sm:mr-auto","sm:py-14","sm:text-left","space-y-1.5","space-y-2","sr-only","static","sticky","stroke-accent-brand","stroke-border","stroke-muted","supports-backdrop-filter:backdrop-blur-xs","tab-1","tab-2","table","tabular-nums","text-2xl","text-[10px]","text-[11px]","text-[13px]","text-[9px]","text-accent-brand","text-accent-brand/80","text-accent-foreground","text-background","text-base","text-blue-400","text-blue-500","text-card-foreground","text-center","text-current","text-destructive","text-destructive/80","text-emerald-500","text-foreground","text-foreground-secondary","text-green-500","text-left","text-lg","text-muted-foreground","text-muted-foreground/30","text-muted-foreground/40","text-muted-foreground/50","text-muted-foreground/60","text-muted-foreground/70","text-muted-foreground/80","text-popover-foreground","text-primary","text-primary-foreground","text-red-500","text-right","text-secondary-foreground","text-sidebar-foreground","text-sidebar-foreground/70","text-sm","text-warning","text-white","text-xl","text-xs","text-xs/relaxed","thin-scrollbar","toast","toaster","top-0","top-1","top-1.5","top-1/2","top-2","top-20","top-3","top-3.5","top-[50%]","touch-none","tracking-[0.35em]","tracking-[0.3em]","tracking-normal","tracking-tight","tracking-wider","tracking-widest","transfer-progress-fill","transfer-progress-indeterminate","transfer-progress-stalled","transfer-progress-track","transform","transition","transition-[color,background-color,border-color,opacity,box-shadow,transform]","transition-[color,box-shadow]","transition-[height]","transition-[left,right,width]","transition-[left,top,width,height]","transition-[margin,opacity]","transition-[stroke-dasharray]","transition-[width,height,padding]","transition-[width]","transition-all","transition-colors","transition-none","transition-opacity","transition-shadow","transition-transform","translate-x-0.5","translate-x-4","translate-x-[-50%]","translate-x-px","translate-y-[-1px]","translate-y-[-50%]","translate-y-[calc(-50%_-_2px)]","truncate","underline","underline-offset-2","underline-offset-4","uppercase","visible","w-(--radix-dropdown-menu-trigger-width)","w-(--sidebar-width)","w-0.5","w-1/2","w-1/4","w-10","w-11","w-12","w-12.5","w-2","w-2.5","w-2/3","w-28","w-3","w-3/4","w-4","w-40","w-48","w-5","w-5/6","w-52","w-56","w-6","w-60","w-64","w-72","w-8","w-9","w-[240px]","w-[2px]","w-[3px]","w-[46%]","w-[var(--radix-popover-trigger-width)]","w-auto","w-fit","w-full","w-px","w-screen","whitespace-normal","whitespace-nowrap","whitespace-pre-line","whitespace-pre-wrap","xl:grid-cols-1","xl:grid-cols-2","xl:grid-cols-3","xl:grid-cols-4","z-0","z-10","z-20","z-30","z-40","z-50","z-500","z-[100]","z-[60]","z-[9998]","z-[99999]"]
@@ -3,8 +3,8 @@ import {
3
3
  SYNC_CHANGED_EVENT,
4
4
  getLinkedSession,
5
5
  notifySyncChanged
6
- } from "./chunk-7RRTYD6B.js";
7
- import "./chunk-YC2MAKSP.js";
6
+ } from "./chunk-RUPLD6RF.js";
7
+ import "./chunk-YGYBM7SQ.js";
8
8
  export {
9
9
  SYNC_CHANGED_EVENT,
10
10
  getLinkedSession,
@@ -23,8 +23,8 @@ import {
23
23
  shareHost,
24
24
  updateHostAccess,
25
25
  updateRole
26
- } from "./chunk-7RRTYD6B.js";
27
- import "./chunk-YC2MAKSP.js";
26
+ } from "./chunk-RUPLD6RF.js";
27
+ import "./chunk-YGYBM7SQ.js";
28
28
  export {
29
29
  assignRoleToUser,
30
30
  createRole,
@@ -2,15 +2,21 @@ const __termixNoGlob = () => ({});
2
2
  import {
3
3
  ActionSlot,
4
4
  ComponentSlot,
5
+ HostPluginSections,
6
+ LOCAL_ADAPTIVE_PREFERENCES_KEY,
5
7
  PluginViewPlaceholder,
6
- SurfaceScope,
8
+ RAIL_ITEMS,
9
+ ServerStatusProvider,
10
+ ShellControllerProvider,
7
11
  ThemeProvider,
8
12
  createPluginApp,
13
+ declareActionSlot,
9
14
  getExtension,
10
15
  getHostEditorSection,
11
16
  getLoginMethodUI,
12
17
  getPanel,
13
18
  getRegisteredDashboardCard,
19
+ getRegisteredLayout,
14
20
  getSecondFactorUI,
15
21
  getSettingsComponent,
16
22
  getSlotContributions,
@@ -31,64 +37,99 @@ import {
31
37
  listSecondFactorUIs,
32
38
  listSettingsComponents,
33
39
  loadPaletteGroup,
34
- notifyShellReady,
35
40
  onboardingSteps,
41
+ registerAction,
42
+ registerDashboardCard,
43
+ registerHostAction,
44
+ registerHostProtocol,
45
+ registerKeybindingAction,
46
+ registerKeybindingDefault,
47
+ registerRailItem,
48
+ registerSlotContribution,
36
49
  registeredDashboardCardList,
37
- resetShellBridge,
50
+ renderTabContent,
51
+ resetActionRegistry,
52
+ resetDashboardCards,
53
+ resetHostContributions,
54
+ resetKeybindingRegistry,
55
+ resetRegisteredRailItems,
56
+ resolveLayoutTabTarget,
38
57
  setPluginApiForTesting,
39
58
  setRemoteServerUrlForTesting,
59
+ trackTabHandle,
60
+ useShellController,
61
+ useTabStageStore
62
+ } from "./chunk-XKA3DBB2.js";
63
+ import {
64
+ setPermissionsForTesting
65
+ } from "./chunk-VEWOYAMZ.js";
66
+ import {
67
+ SurfaceScope,
68
+ notifyShellReady,
69
+ resetShellBridge,
40
70
  setShellCallbacks,
41
71
  setShellHosts,
42
72
  setShellLayoutProvider
43
- } from "./chunk-RLQBKJRK.js";
44
- import {
45
- setPermissionsForTesting
46
- } from "./chunk-LSWB3ZZV.js";
73
+ } from "./chunk-AWR6FYDO.js";
47
74
  import {
48
75
  getTabType,
49
76
  listTabTypes,
77
+ resetPluginStore,
50
78
  setFrontendState,
51
79
  setPluginSummaries
52
- } from "./chunk-7RRTYD6B.js";
53
- import "./chunk-YC2MAKSP.js";
80
+ } from "./chunk-RUPLD6RF.js";
81
+ import {
82
+ init_define_import_meta_env
83
+ } from "./chunk-YGYBM7SQ.js";
54
84
 
55
85
  // src/ui/plugin-host/testing-host.tsx
86
+ init_define_import_meta_env();
56
87
  import { render } from "@testing-library/react";
57
88
 
58
- // src/ui/shell/shell-layout.ts
59
- var CORE_UNSAVED = /* @__PURE__ */ new Set([
60
- "dashboard",
61
- "host-manager",
62
- "settings",
63
- "user-profile",
64
- "admin-settings",
65
- "split-screen",
66
- "plugins"
67
- ]);
68
- function isUnregisteredPluginTabType(type) {
69
- return !CORE_UNSAVED.has(type) && !getTabType(type);
70
- }
71
- function opensAsSingleton(type, hasHost) {
72
- const def = getTabType(type);
73
- return !!def && (!!def.singleton || !!def.hostless && !hasHost);
74
- }
75
- function resolveLayoutTabTarget(snapshot, allHosts) {
76
- let host;
77
- if (snapshot.hostSyncId) {
78
- host = allHosts.find((h) => h.syncId === snapshot.hostSyncId);
79
- if (!host) return { kind: "skip" };
80
- }
81
- if (opensAsSingleton(snapshot.type, !!host)) {
82
- return { kind: "singleton", host };
83
- }
84
- if (!host && isUnregisteredPluginTabType(snapshot.type)) {
85
- return { kind: "singleton" };
86
- }
87
- return host ? { kind: "host", host } : { kind: "skip" };
89
+ // src/ui/shell/stage/TabPortals.tsx
90
+ init_define_import_meta_env();
91
+ import { useLayoutEffect, useSyncExternalStore } from "react";
92
+ import { createPortal } from "react-dom";
93
+ import { Fragment, jsx } from "react/jsx-runtime";
94
+ var ownBackground = (tab) => !!getTabType(tab.type)?.ownBackground;
95
+ function TabPortals() {
96
+ const shell = useShellController();
97
+ const store = useTabStageStore();
98
+ useSyncExternalStore(store.subscribe, store.version, store.version);
99
+ const { list: tabs, activeId, targetTerminal } = shell.tabs;
100
+ const { paneIdByTabId, focusedPaneId } = shell.split;
101
+ useLayoutEffect(() => {
102
+ store.place(tabs, activeId, paneIdByTabId, ownBackground);
103
+ });
104
+ return /* @__PURE__ */ jsx(Fragment, { children: store.portalOrder(tabs).map((tab) => {
105
+ const paneId = paneIdByTabId.get(tab.id);
106
+ const inPane = !!paneId;
107
+ const activeInline = !inPane && tab.id === activeId;
108
+ const isFocusedPane = inPane ? paneId === focusedPaneId : activeInline;
109
+ return createPortal(
110
+ /* @__PURE__ */ jsx(
111
+ SurfaceScope,
112
+ {
113
+ kind: "tab",
114
+ className: "h-full w-full",
115
+ onClose: tab.id === "dashboard" ? void 0 : () => shell.tabs.close(tab.id),
116
+ children: renderTabContent(tab, {
117
+ shell: shell.callbacks,
118
+ panelTargetTab: targetTerminal,
119
+ isVisible: inPane || activeInline,
120
+ isFocusedPane,
121
+ inSplit: inPane
122
+ })
123
+ }
124
+ ),
125
+ store.getNode(tab.id, ownBackground(tab)),
126
+ tab.id
127
+ );
128
+ }) });
88
129
  }
89
130
 
90
131
  // src/ui/plugin-host/testing-host.tsx
91
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
132
+ import { Fragment as Fragment2, jsx as jsx2, jsxs } from "react/jsx-runtime";
92
133
  function recordingShell(calls) {
93
134
  const record = (method) => (...args) => {
94
135
  calls.push({ method, args });
@@ -109,7 +150,7 @@ function recordingShell(calls) {
109
150
  }
110
151
  function wrap(element) {
111
152
  return render(
112
- /* @__PURE__ */ jsx(ThemeProvider, { defaultTheme: "dark", storageKey: "termix-test-theme", children: /* @__PURE__ */ jsx(SurfaceScope, { className: "h-full", children: element }) })
153
+ /* @__PURE__ */ jsx2(ThemeProvider, { defaultTheme: "dark", storageKey: "termix-test-theme", children: /* @__PURE__ */ jsx2(SurfaceScope, { className: "h-full", children: element }) })
113
154
  ).container;
114
155
  }
115
156
  function missing(kind, id) {
@@ -245,7 +286,7 @@ async function renderPlugin(plugin, options = {}) {
245
286
  const Component = def.component;
246
287
  const host = props.host;
247
288
  return wrap(
248
- /* @__PURE__ */ jsx(
289
+ /* @__PURE__ */ jsx2(
249
290
  Component,
250
291
  {
251
292
  tab: tabRecord(type, host),
@@ -266,11 +307,11 @@ async function renderPlugin(plugin, options = {}) {
266
307
  const tab = opened[index] ?? missing("an opened tab at index", index);
267
308
  const def = getTabType(tab.type);
268
309
  if (!def) {
269
- return wrap(/* @__PURE__ */ jsx(PluginViewPlaceholder, { kind: "tab", viewId: tab.type }));
310
+ return wrap(/* @__PURE__ */ jsx2(PluginViewPlaceholder, { kind: "tab", viewId: tab.type }));
270
311
  }
271
312
  const Component = def.component;
272
313
  return wrap(
273
- /* @__PURE__ */ jsx(
314
+ /* @__PURE__ */ jsx2(
274
315
  Component,
275
316
  {
276
317
  tab: tabRecord(tab.type),
@@ -288,7 +329,7 @@ async function renderPlugin(plugin, options = {}) {
288
329
  const panel = getPanel(id) ?? missing("a panel", id);
289
330
  const Component = panel.component;
290
331
  return wrap(
291
- /* @__PURE__ */ jsx(
332
+ /* @__PURE__ */ jsx2(
292
333
  Component,
293
334
  {
294
335
  active: true,
@@ -305,7 +346,7 @@ async function renderPlugin(plugin, options = {}) {
305
346
  const extension = getExtension(pointId, id);
306
347
  const Component = extension?.pluginId === pluginId ? extension.components?.[component] : void 0;
307
348
  if (!Component) missing(`an extension "${component}" component`, id);
308
- return wrap(/* @__PURE__ */ jsx(Component, { ...props }));
349
+ return wrap(/* @__PURE__ */ jsx2(Component, { ...props }));
309
350
  },
310
351
  renderOnboardingStep(id, props = {}) {
311
352
  const step = onboardingSteps.get(`${pluginId}:${id}`) ?? missing("an onboarding step", id);
@@ -313,7 +354,7 @@ async function renderPlugin(plugin, options = {}) {
313
354
  let canContinue = true;
314
355
  let beforeNext = null;
315
356
  const element = wrap(
316
- /* @__PURE__ */ jsx(
357
+ /* @__PURE__ */ jsx2(
317
358
  Component,
318
359
  {
319
360
  mode: "full",
@@ -339,13 +380,13 @@ async function renderPlugin(plugin, options = {}) {
339
380
  renderDashboardCard(id) {
340
381
  const card = getRegisteredDashboardCard(id) ?? missing("a card", id);
341
382
  const Component = card.component;
342
- return wrap(/* @__PURE__ */ jsx(Component, { isVisible: true, shell }));
383
+ return wrap(/* @__PURE__ */ jsx2(Component, { isVisible: true, shell }));
343
384
  },
344
385
  renderHostEditorSection(id, props = {}) {
345
386
  const section = getHostEditorSection(id) ?? missing("a host editor section", id);
346
387
  const Component = section.component;
347
388
  return wrap(
348
- /* @__PURE__ */ jsx(
389
+ /* @__PURE__ */ jsx2(
349
390
  Component,
350
391
  {
351
392
  form: {},
@@ -362,7 +403,7 @@ async function renderPlugin(plugin, options = {}) {
362
403
  renderSettingsComponent(componentId, props = {}) {
363
404
  const Component = getSettingsComponent(pluginId, componentId) ?? missing("a settings component", componentId);
364
405
  return wrap(
365
- /* @__PURE__ */ jsx(
406
+ /* @__PURE__ */ jsx2(
366
407
  Component,
367
408
  {
368
409
  pluginId,
@@ -379,7 +420,7 @@ async function renderPlugin(plugin, options = {}) {
379
420
  const method = getLoginMethodUI(id) ?? missing("a login method", id);
380
421
  const Component = method.component;
381
422
  return wrap(
382
- /* @__PURE__ */ jsx(
423
+ /* @__PURE__ */ jsx2(
383
424
  Component,
384
425
  {
385
426
  methodId: id,
@@ -401,7 +442,7 @@ async function renderPlugin(plugin, options = {}) {
401
442
  const factor = getSecondFactorUI(id) ?? missing("a second factor", id);
402
443
  const Component = factor.component;
403
444
  return wrap(
404
- /* @__PURE__ */ jsx(
445
+ /* @__PURE__ */ jsx2(
405
446
  Component,
406
447
  {
407
448
  factorId: id,
@@ -420,13 +461,13 @@ async function renderPlugin(plugin, options = {}) {
420
461
  renderEnrollment(id) {
421
462
  const entry = getSecondFactorUI(id) ?? getLoginMethodUI(id);
422
463
  const Component = entry?.enrollment ?? missing("an enrolment section", id);
423
- return wrap(/* @__PURE__ */ jsx(Component, {}));
464
+ return wrap(/* @__PURE__ */ jsx2(Component, {}));
424
465
  },
425
466
  renderSlot(slotId, props = {}) {
426
467
  return wrap(
427
- /* @__PURE__ */ jsxs(Fragment, { children: [
428
- /* @__PURE__ */ jsx(ActionSlot, { slotId }),
429
- /* @__PURE__ */ jsx(ComponentSlot, { slotId, props })
468
+ /* @__PURE__ */ jsxs(Fragment2, { children: [
469
+ /* @__PURE__ */ jsx2(ActionSlot, { slotId }),
470
+ /* @__PURE__ */ jsx2(ComponentSlot, { slotId, props })
430
471
  ] })
431
472
  );
432
473
  },
@@ -443,5 +484,30 @@ async function renderPlugin(plugin, options = {}) {
443
484
  };
444
485
  }
445
486
  export {
446
- renderPlugin
487
+ HostPluginSections,
488
+ LOCAL_ADAPTIVE_PREFERENCES_KEY,
489
+ RAIL_ITEMS,
490
+ ServerStatusProvider,
491
+ ShellControllerProvider,
492
+ TabPortals,
493
+ declareActionSlot,
494
+ getRegisteredLayout,
495
+ registerAction,
496
+ registerDashboardCard,
497
+ registerHostAction,
498
+ registerHostProtocol,
499
+ registerKeybindingAction,
500
+ registerKeybindingDefault,
501
+ registerRailItem,
502
+ registerSlotContribution,
503
+ renderPlugin,
504
+ resetActionRegistry,
505
+ resetDashboardCards,
506
+ resetHostContributions,
507
+ resetKeybindingRegistry,
508
+ resetPluginStore,
509
+ resetRegisteredRailItems,
510
+ setPermissionsForTesting,
511
+ setPluginSummaries,
512
+ trackTabHandle
447
513
  };
@@ -180,7 +180,8 @@ export type DashboardCardConfig = {
180
180
  defaultEnabled: boolean;
181
181
  };
182
182
  export type AdminSection = "general" | "users" | "sessions" | "roles" | "host-defaults" | "branding" | "database" | "api-keys" | "audit-log" | "ssl";
183
- export type ThemeId = "dark" | "light" | "system" | "dracula" | "catppuccin" | "nord" | "solarized" | "tokyo-night" | "one-dark" | "gruvbox";
183
+ export type ThemeId = string;
184
+ export type LegacyThemeId = "dark" | "light" | "system" | "dracula" | "catppuccin" | "nord" | "solarized" | "tokyo-night" | "one-dark" | "gruvbox";
184
185
  export type FontSizeId = "xs" | "sm" | "md" | "lg" | "xl";
185
186
  export type UiFontId = "jetbrains-mono" | "system-sans" | "fira-code" | "source-code-pro" | "caskaydia-cove";
186
187
  /** A tools panel view: a rail panel a plugin registered. */
@@ -0,0 +1,46 @@
1
+ export type AuditLog = {
2
+ id: number;
3
+ userId: string;
4
+ username: string;
5
+ action: string;
6
+ resourceType: string;
7
+ resourceId: string | null;
8
+ resourceName: string | null;
9
+ details: string | null;
10
+ ipAddress: string | null;
11
+ userAgent: string | null;
12
+ success: boolean;
13
+ errorMessage: string | null;
14
+ timestamp: string;
15
+ };
16
+ export interface AuditLogFilters {
17
+ page?: number;
18
+ limit?: number;
19
+ userId?: string;
20
+ action?: string;
21
+ resourceType?: string;
22
+ success?: boolean | "";
23
+ startDate?: string;
24
+ endDate?: string;
25
+ }
26
+ export interface AuditLogResponse {
27
+ logs: AuditLog[];
28
+ total: number;
29
+ page: number;
30
+ totalPages: number;
31
+ }
32
+ export declare function mapAuditLog(row: Record<string, unknown>): AuditLog;
33
+ export declare function getAuditLogs(filters?: AuditLogFilters): Promise<AuditLogResponse>;
34
+ export declare function getAuditLogActions(): Promise<{
35
+ actions: string[];
36
+ }>;
37
+ export interface AuditForwardingSettings {
38
+ url: string;
39
+ hasToken: boolean;
40
+ envConfigured: boolean;
41
+ }
42
+ export declare function getAuditForwarding(): Promise<AuditForwardingSettings>;
43
+ export declare function updateAuditForwarding(url: string, token?: string): Promise<{
44
+ url: string;
45
+ hasToken: boolean;
46
+ }>;