@assistant-ui/react-devtools 1.2.19 → 1.2.21

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 (213) hide show
  1. package/dist/DevToolsModal.d.ts +10 -13
  2. package/dist/DevToolsModal.d.ts.map +1 -1
  3. package/dist/DevToolsModalImpl.d.ts +3 -5
  4. package/dist/DevToolsModalImpl.d.ts.map +1 -1
  5. package/dist/data/createInProcessClient.d.ts +3 -6
  6. package/dist/data/createInProcessClient.d.ts.map +1 -1
  7. package/dist/data/projectApi.d.ts +6 -8
  8. package/dist/data/projectApi.d.ts.map +1 -1
  9. package/dist/data/projectApi.js +2 -2
  10. package/dist/data/projectApi.js.map +1 -1
  11. package/dist/data/types.d.ts +33 -35
  12. package/dist/data/types.d.ts.map +1 -1
  13. package/dist/data/useDevToolsClient.d.ts +7 -10
  14. package/dist/data/useDevToolsClient.d.ts.map +1 -1
  15. package/dist/index.d.ts +10 -10
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/shell/DevToolsOverlay.d.ts +7 -10
  18. package/dist/shell/DevToolsOverlay.d.ts.map +1 -1
  19. package/dist/shell/DevToolsPanel.d.ts +12 -15
  20. package/dist/shell/DevToolsPanel.d.ts.map +1 -1
  21. package/dist/shell/ShadowRoot.d.ts +7 -10
  22. package/dist/shell/ShadowRoot.d.ts.map +1 -1
  23. package/dist/shell/SplitLayout.d.ts +13 -16
  24. package/dist/shell/SplitLayout.d.ts.map +1 -1
  25. package/dist/shell/registry.d.ts +34 -37
  26. package/dist/shell/registry.d.ts.map +1 -1
  27. package/dist/shell/tabs/ActivityTab.d.ts +2 -5
  28. package/dist/shell/tabs/ActivityTab.d.ts.map +1 -1
  29. package/dist/shell/tabs/ContextTab.d.ts +2 -5
  30. package/dist/shell/tabs/ContextTab.d.ts.map +1 -1
  31. package/dist/shell/tabs/RawTab.d.ts +2 -5
  32. package/dist/shell/tabs/RawTab.d.ts.map +1 -1
  33. package/dist/shell/tabs/ThreadTab.d.ts +2 -5
  34. package/dist/shell/tabs/ThreadTab.d.ts.map +1 -1
  35. package/dist/shell/tabs/navSelection.d.ts +1 -4
  36. package/dist/shell/tabs/navSelection.d.ts.map +1 -1
  37. package/dist/styles/panel.generated.d.ts +1 -4
  38. package/dist/styles/panel.generated.d.ts.map +1 -1
  39. package/dist/types.d.ts +6 -9
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/utils/common.d.ts +13 -16
  42. package/dist/utils/common.d.ts.map +1 -1
  43. package/dist/utils/diff.d.ts +6 -9
  44. package/dist/utils/diff.d.ts.map +1 -1
  45. package/dist/utils/serialization.d.ts +7 -10
  46. package/dist/utils/serialization.d.ts.map +1 -1
  47. package/dist/utils/serialization.js +17 -0
  48. package/dist/utils/serialization.js.map +1 -1
  49. package/dist/utils/toolNormalization.d.ts +14 -17
  50. package/dist/utils/toolNormalization.d.ts.map +1 -1
  51. package/dist/utils/unserializable.d.ts +2 -5
  52. package/dist/utils/unserializable.d.ts.map +1 -1
  53. package/dist/views/activity/EventLogRow.d.ts +12 -15
  54. package/dist/views/activity/EventLogRow.d.ts.map +1 -1
  55. package/dist/views/activity/EventStreamPane.d.ts +3 -6
  56. package/dist/views/activity/EventStreamPane.d.ts.map +1 -1
  57. package/dist/views/activity/OrphansPane.d.ts +3 -6
  58. package/dist/views/activity/OrphansPane.d.ts.map +1 -1
  59. package/dist/views/activity/RunDetailPane.d.ts +3 -6
  60. package/dist/views/activity/RunDetailPane.d.ts.map +1 -1
  61. package/dist/views/activity/activityNodes.d.ts +29 -32
  62. package/dist/views/activity/activityNodes.d.ts.map +1 -1
  63. package/dist/views/activity/index.d.ts +7 -6
  64. package/dist/views/activity/index.d.ts.map +1 -0
  65. package/dist/views/attachments/AttachmentList.d.ts +5 -8
  66. package/dist/views/attachments/AttachmentList.d.ts.map +1 -1
  67. package/dist/views/attachments/MediaPartView.d.ts +10 -13
  68. package/dist/views/attachments/MediaPartView.d.ts.map +1 -1
  69. package/dist/views/attachments/formatBytes.d.ts +3 -6
  70. package/dist/views/attachments/formatBytes.d.ts.map +1 -1
  71. package/dist/views/attachments/index.d.ts +5 -5
  72. package/dist/views/attachments/index.d.ts.map +1 -0
  73. package/dist/views/attachments/parseAttachment.d.ts +3 -6
  74. package/dist/views/attachments/parseAttachment.d.ts.map +1 -1
  75. package/dist/views/attachments/types.d.ts +12 -15
  76. package/dist/views/attachments/types.d.ts.map +1 -1
  77. package/dist/views/context/ContextDetail.d.ts +5 -8
  78. package/dist/views/context/ContextDetail.d.ts.map +1 -1
  79. package/dist/views/context/ToolUIsView.d.ts +2 -5
  80. package/dist/views/context/ToolUIsView.d.ts.map +1 -1
  81. package/dist/views/context/contextNodes.d.ts +21 -24
  82. package/dist/views/context/contextNodes.d.ts.map +1 -1
  83. package/dist/views/context/index.d.ts +5 -4
  84. package/dist/views/context/index.d.ts.map +1 -0
  85. package/dist/views/mcp/McpView.d.ts +3 -6
  86. package/dist/views/mcp/McpView.d.ts.map +1 -1
  87. package/dist/views/mcp/index.d.ts +2 -2
  88. package/dist/views/mcp/index.d.ts.map +1 -0
  89. package/dist/views/mcp/parse.d.ts +2 -5
  90. package/dist/views/mcp/parse.d.ts.map +1 -1
  91. package/dist/views/mcp/types.d.ts +15 -18
  92. package/dist/views/mcp/types.d.ts.map +1 -1
  93. package/dist/views/message/ChainOfThought.d.ts +3 -6
  94. package/dist/views/message/ChainOfThought.d.ts.map +1 -1
  95. package/dist/views/message/MessageDetailPane.d.ts +4 -7
  96. package/dist/views/message/MessageDetailPane.d.ts.map +1 -1
  97. package/dist/views/message/MessageItem.d.ts +5 -8
  98. package/dist/views/message/MessageItem.d.ts.map +1 -1
  99. package/dist/views/message/MessageList.d.ts +4 -7
  100. package/dist/views/message/MessageList.d.ts.map +1 -1
  101. package/dist/views/message/MessageMetrics.d.ts +3 -6
  102. package/dist/views/message/MessageMetrics.d.ts.map +1 -1
  103. package/dist/views/message/MessageTimeline.d.ts +7 -10
  104. package/dist/views/message/MessageTimeline.d.ts.map +1 -1
  105. package/dist/views/message/PartDisclosure.d.ts +6 -9
  106. package/dist/views/message/PartDisclosure.d.ts.map +1 -1
  107. package/dist/views/message/PartView.d.ts +4 -7
  108. package/dist/views/message/PartView.d.ts.map +1 -1
  109. package/dist/views/message/RoleLabel.d.ts +3 -6
  110. package/dist/views/message/RoleLabel.d.ts.map +1 -1
  111. package/dist/views/message/StatusBadge.d.ts +7 -10
  112. package/dist/views/message/StatusBadge.d.ts.map +1 -1
  113. package/dist/views/message/ToolCallView.d.ts +4 -7
  114. package/dist/views/message/ToolCallView.d.ts.map +1 -1
  115. package/dist/views/message/TtftBar.d.ts +3 -6
  116. package/dist/views/message/TtftBar.d.ts.map +1 -1
  117. package/dist/views/message/index.d.ts +6 -6
  118. package/dist/views/message/index.d.ts.map +1 -0
  119. package/dist/views/message/messagePlainText.d.ts +2 -5
  120. package/dist/views/message/messagePlainText.d.ts.map +1 -1
  121. package/dist/views/message/parse.d.ts +5 -8
  122. package/dist/views/message/parse.d.ts.map +1 -1
  123. package/dist/views/message/types.d.ts +108 -110
  124. package/dist/views/message/types.d.ts.map +1 -1
  125. package/dist/views/model-context/ModelContextView.d.ts +9 -12
  126. package/dist/views/model-context/ModelContextView.d.ts.map +1 -1
  127. package/dist/views/nav.d.ts +10 -13
  128. package/dist/views/nav.d.ts.map +1 -1
  129. package/dist/views/raw/RawDetail.d.ts +5 -8
  130. package/dist/views/raw/RawDetail.d.ts.map +1 -1
  131. package/dist/views/raw/index.d.ts +4 -3
  132. package/dist/views/raw/index.d.ts.map +1 -0
  133. package/dist/views/raw/rawNodes.d.ts +13 -16
  134. package/dist/views/raw/rawNodes.d.ts.map +1 -1
  135. package/dist/views/raw/statePreview.d.ts +1 -4
  136. package/dist/views/raw/statePreview.d.ts.map +1 -1
  137. package/dist/views/runs/PayloadDiff.d.ts +3 -6
  138. package/dist/views/runs/PayloadDiff.d.ts.map +1 -1
  139. package/dist/views/runs/parse.d.ts +3 -6
  140. package/dist/views/runs/parse.d.ts.map +1 -1
  141. package/dist/views/runs/types.d.ts +18 -21
  142. package/dist/views/runs/types.d.ts.map +1 -1
  143. package/dist/views/scopes/ScopesView.d.ts +2 -5
  144. package/dist/views/scopes/ScopesView.d.ts.map +1 -1
  145. package/dist/views/scopes/index.d.ts +2 -2
  146. package/dist/views/scopes/index.d.ts.map +1 -0
  147. package/dist/views/scopes/parse.d.ts +2 -5
  148. package/dist/views/scopes/parse.d.ts.map +1 -1
  149. package/dist/views/scopes/types.d.ts +5 -8
  150. package/dist/views/scopes/types.d.ts.map +1 -1
  151. package/dist/views/thread/ComposerAttachments.d.ts +3 -6
  152. package/dist/views/thread/ComposerAttachments.d.ts.map +1 -1
  153. package/dist/views/thread/ComposerFlags.d.ts +3 -6
  154. package/dist/views/thread/ComposerFlags.d.ts.map +1 -1
  155. package/dist/views/thread/ComposerQueue.d.ts +3 -6
  156. package/dist/views/thread/ComposerQueue.d.ts.map +1 -1
  157. package/dist/views/thread/ConversationList.d.ts +7 -10
  158. package/dist/views/thread/ConversationList.d.ts.map +1 -1
  159. package/dist/views/thread/ConversationStatusDot.d.ts +12 -15
  160. package/dist/views/thread/ConversationStatusDot.d.ts.map +1 -1
  161. package/dist/views/thread/ThreadDetails.d.ts +4 -7
  162. package/dist/views/thread/ThreadDetails.d.ts.map +1 -1
  163. package/dist/views/thread/Transcript.d.ts +8 -11
  164. package/dist/views/thread/Transcript.d.ts.map +1 -1
  165. package/dist/views/thread/index.d.ts +10 -10
  166. package/dist/views/thread/index.d.ts.map +1 -0
  167. package/dist/views/thread/resolve.d.ts +3 -6
  168. package/dist/views/thread/resolve.d.ts.map +1 -1
  169. package/dist/views/thread/types.d.ts +40 -42
  170. package/dist/views/thread/types.d.ts.map +1 -1
  171. package/dist/views/thread/utils.d.ts +5 -8
  172. package/dist/views/thread/utils.d.ts.map +1 -1
  173. package/dist/views/ui/CenteredMessage.d.ts +3 -6
  174. package/dist/views/ui/CenteredMessage.d.ts.map +1 -1
  175. package/dist/views/ui/Chip.d.ts +4 -7
  176. package/dist/views/ui/Chip.d.ts.map +1 -1
  177. package/dist/views/ui/ControlButton.d.ts +2 -5
  178. package/dist/views/ui/ControlButton.d.ts.map +1 -1
  179. package/dist/views/ui/CopyButton.d.ts +7 -10
  180. package/dist/views/ui/CopyButton.d.ts.map +1 -1
  181. package/dist/views/ui/EmptyState.d.ts +3 -6
  182. package/dist/views/ui/EmptyState.d.ts.map +1 -1
  183. package/dist/views/ui/InfoCard.d.ts +6 -9
  184. package/dist/views/ui/InfoCard.d.ts.map +1 -1
  185. package/dist/views/ui/JSONTree.d.ts +4 -7
  186. package/dist/views/ui/JSONTree.d.ts.map +1 -1
  187. package/dist/views/ui/PaneHeader.d.ts +8 -11
  188. package/dist/views/ui/PaneHeader.d.ts.map +1 -1
  189. package/dist/views/ui/RailTime.d.ts +3 -6
  190. package/dist/views/ui/RailTime.d.ts.map +1 -1
  191. package/dist/views/ui/SectionLabel.d.ts +3 -6
  192. package/dist/views/ui/SectionLabel.d.ts.map +1 -1
  193. package/dist/views/ui/SelectableRow.d.ts +8 -11
  194. package/dist/views/ui/SelectableRow.d.ts.map +1 -1
  195. package/dist/views/ui/Sparkline.d.ts +3 -6
  196. package/dist/views/ui/Sparkline.d.ts.map +1 -1
  197. package/dist/views/ui/SummaryItem.d.ts +6 -9
  198. package/dist/views/ui/SummaryItem.d.ts.map +1 -1
  199. package/dist/views/ui/ToneBadge.d.ts +7 -10
  200. package/dist/views/ui/ToneBadge.d.ts.map +1 -1
  201. package/dist/views/ui/badgeTone.d.ts +13 -16
  202. package/dist/views/ui/badgeTone.d.ts.map +1 -1
  203. package/dist/views/ui/getInlineJson.d.ts +1 -4
  204. package/dist/views/ui/getInlineJson.d.ts.map +1 -1
  205. package/dist/views/ui/index.d.ts +17 -16
  206. package/dist/views/ui/index.d.ts.map +1 -0
  207. package/dist/views/ui/useCopyToClipboard.d.ts +4 -7
  208. package/dist/views/ui/useCopyToClipboard.d.ts.map +1 -1
  209. package/package.json +14 -13
  210. package/src/data/projectApi.test.ts +41 -0
  211. package/src/data/projectApi.ts +2 -2
  212. package/src/utils/serialization.test.ts +81 -0
  213. package/src/utils/serialization.ts +36 -0
@@ -1,6 +1,3 @@
1
- import { DevToolsTabContext } from "../registry.js";
2
- //#region src/shell/tabs/RawTab.d.ts
3
- declare const RawTab: ({ data, selection, setSelection }: DevToolsTabContext) => import("react").JSX.Element;
4
- //#endregion
5
- export { RawTab };
1
+ import type { DevToolsTabContext } from "../registry.js";
2
+ export declare const RawTab: ({ data, selection, setSelection, }: DevToolsTabContext) => import("react").JSX.Element;
6
3
  //# sourceMappingURL=RawTab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RawTab.d.ts","names":[],"sources":["../../../src/shell/tabs/RawTab.tsx"],"mappings":";;cAca,WAAU,MAAA,WAAA,gBAIpB,uCAAkB,IAAA"}
1
+ {"version":3,"file":"RawTab.d.ts","sourceRoot":"","sources":["../../../src/shell/tabs/RawTab.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAoB;AAQtD,eAAO,MAAM,MAAM,GAAI,oCAIpB,kBAAkB,gCAwGpB,CAAC"}
@@ -1,6 +1,3 @@
1
- import { DevToolsTabContext } from "../registry.js";
2
- //#region src/shell/tabs/ThreadTab.d.ts
3
- declare const ThreadTab: ({ data, selection, setSelection, switchToThread }: DevToolsTabContext) => import("react").JSX.Element;
4
- //#endregion
5
- export { ThreadTab };
1
+ import type { DevToolsTabContext } from "../registry.js";
2
+ export declare const ThreadTab: ({ data, selection, setSelection, switchToThread, }: DevToolsTabContext) => import("react").JSX.Element;
6
3
  //# sourceMappingURL=ThreadTab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadTab.d.ts","names":[],"sources":["../../../src/shell/tabs/ThreadTab.tsx"],"mappings":";;cA8Da,cAAa,MAAA,WAAA,cAAA,kBAKvB,uCAAkB,IAAA"}
1
+ {"version":3,"file":"ThreadTab.d.ts","sourceRoot":"","sources":["../../../src/shell/tabs/ThreadTab.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAoB;AA+CtD,eAAO,MAAM,SAAS,GAAI,oDAKvB,kBAAkB,gCA4JpB,CAAC"}
@@ -1,10 +1,7 @@
1
- //#region src/shell/tabs/navSelection.d.ts
2
1
  /**
3
2
  * Persists the resolved master/detail selection back to the panel once it
4
3
  * settles, so the nav highlight and the detail pane stay in agreement without
5
4
  * re-selecting on every render.
6
5
  */
7
- declare const useNavSelectionSync: (selectedId: string | null, selection: string | null, setSelection: (id: string | null) => void) => void;
8
- //#endregion
9
- export { useNavSelectionSync };
6
+ export declare const useNavSelectionSync: (selectedId: string | null, selection: string | null, setSelection: (id: string | null) => void) => void;
10
7
  //# sourceMappingURL=navSelection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navSelection.d.ts","names":[],"sources":["../../../src/shell/tabs/navSelection.ts"],"mappings":";;;;;;cAOa,sBACX,2BACA,0BACA,eAAe"}
1
+ {"version":3,"file":"navSelection.d.ts","sourceRoot":"","sources":["../../../src/shell/tabs/navSelection.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,YAAY,MAAM,GAAG,IAAI,EACzB,WAAW,MAAM,GAAG,IAAI,EACxB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,SAM1C,CAAC"}
@@ -1,5 +1,2 @@
1
- //#region src/styles/panel.generated.d.ts
2
- declare const panelCss = "/*! 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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--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-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-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:host,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-700:oklch(49.1% .27 292.581);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-black:#000;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-2xl:40px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;--default-mono-font-family:ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box;border-color:var(--border)}:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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);--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}:focus-visible{--tw-outline-style:none;outline-style:none}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-2{inset-inline:calc(var(--spacing) * 2)}.end-5{inset-inline-end:calc(var(--spacing) * 5)}.top-0{top:0}.top-1\\/2{top:50%}.-bottom-px{bottom:-1px}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-1\\/2{left:50%}.z-\\[2147483646\\]{z-index:2147483646}.z-\\[2147483647\\]{z-index:2147483647}.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}}.ms-1{margin-inline-start:var(--spacing)}.ms-\\[5px\\]{margin-inline-start:5px}.mt-1{margin-top:var(--spacing)}.ml-1{margin-left:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-0\\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-3{height:calc(var(--spacing) * 3)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-\\[min\\(560px\\,80vh\\)\\]{height:min(560px,80vh)}.h-full{height:100%}.max-h-8{max-height:calc(var(--spacing) * 8)}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-\\[360px\\]{max-height:360px}.min-h-0{min-height:0}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-8{min-height:calc(var(--spacing) * 8)}.w-0\\.5{width:calc(var(--spacing) * .5)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-\\[min\\(960px\\,92vw\\)\\]{width:min(960px,92vw)}.w-full{width:100%}.max-w-\\[45\\%\\]{max-width:45%}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[2\\.875rem\\]{min-width:2.875rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.\\[animation\\:aui-dt-fade-in_150ms_ease-out\\]{animation:.15s ease-out aui-dt-fade-in}.\\[animation\\:aui-dt-launcher-in_200ms_cubic-bezier\\(0\\.175\\,0\\.885\\,0\\.32\\,1\\.1\\)\\]{animation:.2s cubic-bezier(.175,.885,.32,1.1) aui-dt-launcher-in}.\\[animation\\:aui-dt-window-in_200ms_cubic-bezier\\(0\\.175\\,0\\.885\\,0\\.32\\,1\\.1\\)\\]{animation:.2s cubic-bezier(.175,.885,.32,1.1) aui-dt-window-in}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.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-6{gap:calc(var(--spacing) * 6)}.gap-px{gap:1px}:where(.space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-0\\.5{row-gap:calc(var(--spacing) * .5)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-300{border-color:var(--color-amber-300)}.border-blue-300{border-color:var(--color-blue-300)}.border-border,.border-border\\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.border-border\\/70{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/70{border-color:color-mix(in oklab, var(--border) 70%, transparent)}}.border-emerald-300{border-color:var(--color-emerald-300)}.border-foreground{border-color:var(--foreground)}.border-red-300{border-color:var(--color-red-300)}.border-transparent{border-color:#0000}.border-violet-300{border-color:var(--color-violet-300)}.border-zinc-300{border-color:var(--color-zinc-300)}.bg-accent{background-color:var(--accent)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-background{background-color:var(--background)}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-card{background-color:var(--card)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground,.bg-muted-foreground\\/30{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\\/30{background-color:color-mix(in oklab, var(--muted-foreground) 30%, transparent)}}.bg-muted-foreground\\/40{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\\/40{background-color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.bg-muted-foreground\\/45{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\\/45{background-color:color-mix(in oklab, var(--muted-foreground) 45%, transparent)}}.bg-muted\\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-primary{background-color:var(--primary)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\\/10{background-color:color-mix(in oklab, var(--color-violet-500) 10%, transparent)}}.bg-zinc-500\\/10{background-color:#71717b1a}@supports (color:color-mix(in lab, red, red)){.bg-zinc-500\\/10{background-color:color-mix(in oklab, var(--color-zinc-500) 10%, transparent)}}.object-contain{object-fit:contain}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-px{padding-block:1px}.ps-2{padding-inline-start:calc(var(--spacing) * 2)}.ps-3{padding-inline-start:calc(var(--spacing) * 3)}.ps-3\\.5{padding-inline-start:calc(var(--spacing) * 3.5)}.ps-6{padding-inline-start:calc(var(--spacing) * 6)}.ps-\\[3\\.75rem\\]{padding-inline-start:3.75rem}.ps-\\[4\\.5rem\\]{padding-inline-start:4.5rem}.pe-1{padding-inline-end:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-px{padding-top:1px}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-0\\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.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)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-background{color:var(--background)}.text-blue-700{color:var(--color-blue-700)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-violet-700{color:var(--color-violet-700)}.text-zinc-600{color:var(--color-zinc-600)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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,)}.\\[font-variant-numeric\\:tabular-nums\\]{font-variant-numeric:tabular-nums}.accent-foreground{accent-color:var(--foreground)}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.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-\\[var\\(--shadow-launcher\\)\\]{--tw-shadow:var(--shadow-launcher);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[var\\(--shadow-window\\)\\]{--tw-shadow:var(--shadow-window);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(var(--blur-2xl));-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,)}.backdrop-blur-\\[3px\\]{--tw-backdrop-blur:blur(3px);-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-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-transform{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))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.\\[font-variant-ligatures\\:none\\]{font-variant-ligatures:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}.placeholder\\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:bg-accent:hover,.hover\\:bg-accent\\/40:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/40:hover{background-color:color-mix(in oklab, var(--accent) 40%, transparent)}}.hover\\:bg-accent\\/60:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/60:hover{background-color:color-mix(in oklab, var(--accent) 60%, transparent)}}.hover\\:text-foreground:hover{color:var(--foreground)}}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:opacity-40:disabled{opacity:.4}@media (min-width:40rem){.sm\\:inline{display:inline}}.dark\\:border-amber-500\\/40:where(.dark,.dark *){border-color:#f99c0066}@supports (color:color-mix(in lab, red, red)){.dark\\:border-amber-500\\/40:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-amber-500) 40%, transparent)}}.dark\\:border-blue-500\\/40:where(.dark,.dark *){border-color:#3080ff66}@supports (color:color-mix(in lab, red, red)){.dark\\:border-blue-500\\/40:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-blue-500) 40%, transparent)}}.dark\\:border-emerald-500\\/40:where(.dark,.dark *){border-color:#00bb7f66}@supports (color:color-mix(in lab, red, red)){.dark\\:border-emerald-500\\/40:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-emerald-500) 40%, transparent)}}.dark\\:border-red-500\\/40:where(.dark,.dark *){border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.dark\\:border-red-500\\/40:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-red-500) 40%, transparent)}}.dark\\:border-violet-500\\/40:where(.dark,.dark *){border-color:#8d54ff66}@supports (color:color-mix(in lab, red, red)){.dark\\:border-violet-500\\/40:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-violet-500) 40%, transparent)}}.dark\\:border-zinc-600:where(.dark,.dark *){border-color:var(--color-zinc-600)}.dark\\:bg-amber-500\\/15:where(.dark,.dark *){background-color:#f99c0026}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-amber-500\\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.dark\\:bg-blue-500\\/15:where(.dark,.dark *){background-color:#3080ff26}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-blue-500\\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-500) 15%, transparent)}}.dark\\:bg-emerald-500\\/15:where(.dark,.dark *){background-color:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-emerald-500\\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.dark\\:bg-red-500\\/15:where(.dark,.dark *){background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-red-500\\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.dark\\:bg-violet-500\\/15:where(.dark,.dark *){background-color:#8d54ff26}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-violet-500\\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-violet-500) 15%, transparent)}}.dark\\:bg-zinc-500\\/15:where(.dark,.dark *){background-color:#71717b26}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-zinc-500\\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-zinc-500) 15%, transparent)}}.dark\\:text-amber-300:where(.dark,.dark *){color:var(--color-amber-300)}.dark\\:text-amber-400:where(.dark,.dark *){color:var(--color-amber-400)}.dark\\:text-blue-300:where(.dark,.dark *){color:var(--color-blue-300)}.dark\\:text-emerald-300:where(.dark,.dark *){color:var(--color-emerald-300)}.dark\\:text-emerald-400:where(.dark,.dark *){color:var(--color-emerald-400)}.dark\\:text-red-300:where(.dark,.dark *){color:var(--color-red-300)}.dark\\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.dark\\:text-violet-300:where(.dark,.dark *){color:var(--color-violet-300)}.dark\\:text-zinc-300:where(.dark,.dark *){color:var(--color-zinc-300)}}:host{--radius:.75rem;--background:oklch(100% 0 0);--foreground:oklch(14.1% .005 285.823);--card:oklch(100% 0 0);--card-foreground:oklch(14.1% .005 285.823);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.1% .005 285.823);--primary:oklch(21% .006 285.885);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.7% .001 286.375);--muted-foreground:oklch(55.2% .016 285.938);--accent:oklch(96.7% .001 286.375);--accent-foreground:oklch(21% .006 285.885);--destructive:oklch(57.7% .245 27.325);--border:oklch(0% 0 0/.08);--input:oklch(0% 0 0/.1);--ring:oklch(70.5% .015 286.067);--shadow-window:0 1px 1px #00000005, 0 4px 8px -4px #0000000a, 0 16px 24px -8px #0000000f;--shadow-launcher:0 0 0 1px #0000000f, inset 0 0 0 1px #ffffff1f, 0 16px 32px -8px #0000003d;color-scheme:light;font-family:var(--font-sans);font-variant-ligatures:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}:host(.dark),.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(18.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(18.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92% .004 286.32);--primary-foreground:oklch(21% .006 285.885);--secondary:oklch(20.5% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(20.5% 0 0);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(22.5% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.12);--ring:oklch(55.2% .016 285.938);--shadow-window:0 1px 1px #0003, 0 4px 8px -4px #0000004d, 0 16px 32px -8px #00000073;color-scheme:dark}@keyframes aui-dt-window-in{0%{opacity:0;scale:.97}to{opacity:1;scale:1}}@keyframes aui-dt-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-dt-launcher-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@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-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-ease{syntax:\"*\";inherits:false}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@keyframes pulse{50%{opacity:.5}}";
3
- //#endregion
4
- export { panelCss };
1
+ export declare const panelCss = "/*! 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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--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-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-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:host,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-700:oklch(49.1% .27 292.581);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-black:#000;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-2xl:40px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;--default-mono-font-family:ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box;border-color:var(--border)}:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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);--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}:focus-visible{--tw-outline-style:none;outline-style:none}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-2{inset-inline:calc(var(--spacing) * 2)}.end-5{inset-inline-end:calc(var(--spacing) * 5)}.top-0{top:0}.top-1\\/2{top:50%}.-bottom-px{bottom:-1px}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-1\\/2{left:50%}.z-\\[2147483646\\]{z-index:2147483646}.z-\\[2147483647\\]{z-index:2147483647}.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}}.ms-1{margin-inline-start:var(--spacing)}.ms-\\[5px\\]{margin-inline-start:5px}.mt-1{margin-top:var(--spacing)}.ml-1{margin-left:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-0\\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-3{height:calc(var(--spacing) * 3)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-\\[min\\(560px\\,80vh\\)\\]{height:min(560px,80vh)}.h-full{height:100%}.max-h-8{max-height:calc(var(--spacing) * 8)}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-\\[360px\\]{max-height:360px}.min-h-0{min-height:0}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-8{min-height:calc(var(--spacing) * 8)}.w-0\\.5{width:calc(var(--spacing) * .5)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-\\[min\\(960px\\,92vw\\)\\]{width:min(960px,92vw)}.w-full{width:100%}.max-w-\\[45\\%\\]{max-width:45%}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[2\\.875rem\\]{min-width:2.875rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.\\[animation\\:aui-dt-fade-in_150ms_ease-out\\]{animation:.15s ease-out aui-dt-fade-in}.\\[animation\\:aui-dt-launcher-in_200ms_cubic-bezier\\(0\\.175\\,0\\.885\\,0\\.32\\,1\\.1\\)\\]{animation:.2s cubic-bezier(.175,.885,.32,1.1) aui-dt-launcher-in}.\\[animation\\:aui-dt-window-in_200ms_cubic-bezier\\(0\\.175\\,0\\.885\\,0\\.32\\,1\\.1\\)\\]{animation:.2s cubic-bezier(.175,.885,.32,1.1) aui-dt-window-in}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.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-6{gap:calc(var(--spacing) * 6)}.gap-px{gap:1px}:where(.space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-0\\.5{row-gap:calc(var(--spacing) * .5)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-300{border-color:var(--color-amber-300)}.border-blue-300{border-color:var(--color-blue-300)}.border-border,.border-border\\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.border-border\\/70{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/70{border-color:color-mix(in oklab, var(--border) 70%, transparent)}}.border-emerald-300{border-color:var(--color-emerald-300)}.border-foreground{border-color:var(--foreground)}.border-red-300{border-color:var(--color-red-300)}.border-transparent{border-color:#0000}.border-violet-300{border-color:var(--color-violet-300)}.border-zinc-300{border-color:var(--color-zinc-300)}.bg-accent{background-color:var(--accent)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-background{background-color:var(--background)}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-card{background-color:var(--card)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground,.bg-muted-foreground\\/30{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\\/30{background-color:color-mix(in oklab, var(--muted-foreground) 30%, transparent)}}.bg-muted-foreground\\/40{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\\/40{background-color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.bg-muted-foreground\\/45{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\\/45{background-color:color-mix(in oklab, var(--muted-foreground) 45%, transparent)}}.bg-muted\\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-primary{background-color:var(--primary)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\\/10{background-color:color-mix(in oklab, var(--color-violet-500) 10%, transparent)}}.bg-zinc-500\\/10{background-color:#71717b1a}@supports (color:color-mix(in lab, red, red)){.bg-zinc-500\\/10{background-color:color-mix(in oklab, var(--color-zinc-500) 10%, transparent)}}.object-contain{object-fit:contain}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-px{padding-block:1px}.ps-2{padding-inline-start:calc(var(--spacing) * 2)}.ps-3{padding-inline-start:calc(var(--spacing) * 3)}.ps-3\\.5{padding-inline-start:calc(var(--spacing) * 3.5)}.ps-6{padding-inline-start:calc(var(--spacing) * 6)}.ps-\\[3\\.75rem\\]{padding-inline-start:3.75rem}.ps-\\[4\\.5rem\\]{padding-inline-start:4.5rem}.pe-1{padding-inline-end:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-px{padding-top:1px}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-0\\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.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)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-background{color:var(--background)}.text-blue-700{color:var(--color-blue-700)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-violet-700{color:var(--color-violet-700)}.text-zinc-600{color:var(--color-zinc-600)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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,)}.\\[font-variant-numeric\\:tabular-nums\\]{font-variant-numeric:tabular-nums}.accent-foreground{accent-color:var(--foreground)}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.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-\\[var\\(--shadow-launcher\\)\\]{--tw-shadow:var(--shadow-launcher);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[var\\(--shadow-window\\)\\]{--tw-shadow:var(--shadow-window);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(var(--blur-2xl));-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,)}.backdrop-blur-\\[3px\\]{--tw-backdrop-blur:blur(3px);-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-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-transform{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))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.\\[font-variant-ligatures\\:none\\]{font-variant-ligatures:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}.placeholder\\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:bg-accent:hover,.hover\\:bg-accent\\/40:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/40:hover{background-color:color-mix(in oklab, var(--accent) 40%, transparent)}}.hover\\:bg-accent\\/60:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/60:hover{background-color:color-mix(in oklab, var(--accent) 60%, transparent)}}.hover\\:text-foreground:hover{color:var(--foreground)}}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:opacity-40:disabled{opacity:.4}@media (min-width:40rem){.sm\\:inline{display:inline}}.dark\\:border-amber-500\\/40:where(.dark,.dark *){border-color:#f99c0066}@supports (color:color-mix(in lab, red, red)){.dark\\:border-amber-500\\/40:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-amber-500) 40%, transparent)}}.dark\\:border-blue-500\\/40:where(.dark,.dark *){border-color:#3080ff66}@supports (color:color-mix(in lab, red, red)){.dark\\:border-blue-500\\/40:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-blue-500) 40%, transparent)}}.dark\\:border-emerald-500\\/40:where(.dark,.dark *){border-color:#00bb7f66}@supports (color:color-mix(in lab, red, red)){.dark\\:border-emerald-500\\/40:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-emerald-500) 40%, transparent)}}.dark\\:border-red-500\\/40:where(.dark,.dark *){border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.dark\\:border-red-500\\/40:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-red-500) 40%, transparent)}}.dark\\:border-violet-500\\/40:where(.dark,.dark *){border-color:#8d54ff66}@supports (color:color-mix(in lab, red, red)){.dark\\:border-violet-500\\/40:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-violet-500) 40%, transparent)}}.dark\\:border-zinc-600:where(.dark,.dark *){border-color:var(--color-zinc-600)}.dark\\:bg-amber-500\\/15:where(.dark,.dark *){background-color:#f99c0026}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-amber-500\\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.dark\\:bg-blue-500\\/15:where(.dark,.dark *){background-color:#3080ff26}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-blue-500\\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-500) 15%, transparent)}}.dark\\:bg-emerald-500\\/15:where(.dark,.dark *){background-color:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-emerald-500\\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.dark\\:bg-red-500\\/15:where(.dark,.dark *){background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-red-500\\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.dark\\:bg-violet-500\\/15:where(.dark,.dark *){background-color:#8d54ff26}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-violet-500\\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-violet-500) 15%, transparent)}}.dark\\:bg-zinc-500\\/15:where(.dark,.dark *){background-color:#71717b26}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-zinc-500\\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-zinc-500) 15%, transparent)}}.dark\\:text-amber-300:where(.dark,.dark *){color:var(--color-amber-300)}.dark\\:text-amber-400:where(.dark,.dark *){color:var(--color-amber-400)}.dark\\:text-blue-300:where(.dark,.dark *){color:var(--color-blue-300)}.dark\\:text-emerald-300:where(.dark,.dark *){color:var(--color-emerald-300)}.dark\\:text-emerald-400:where(.dark,.dark *){color:var(--color-emerald-400)}.dark\\:text-red-300:where(.dark,.dark *){color:var(--color-red-300)}.dark\\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.dark\\:text-violet-300:where(.dark,.dark *){color:var(--color-violet-300)}.dark\\:text-zinc-300:where(.dark,.dark *){color:var(--color-zinc-300)}}:host{--radius:.75rem;--background:oklch(100% 0 0);--foreground:oklch(14.1% .005 285.823);--card:oklch(100% 0 0);--card-foreground:oklch(14.1% .005 285.823);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.1% .005 285.823);--primary:oklch(21% .006 285.885);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.7% .001 286.375);--muted-foreground:oklch(55.2% .016 285.938);--accent:oklch(96.7% .001 286.375);--accent-foreground:oklch(21% .006 285.885);--destructive:oklch(57.7% .245 27.325);--border:oklch(0% 0 0/.08);--input:oklch(0% 0 0/.1);--ring:oklch(70.5% .015 286.067);--shadow-window:0 1px 1px #00000005, 0 4px 8px -4px #0000000a, 0 16px 24px -8px #0000000f;--shadow-launcher:0 0 0 1px #0000000f, inset 0 0 0 1px #ffffff1f, 0 16px 32px -8px #0000003d;color-scheme:light;font-family:var(--font-sans);font-variant-ligatures:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}:host(.dark),.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(18.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(18.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92% .004 286.32);--primary-foreground:oklch(21% .006 285.885);--secondary:oklch(20.5% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(20.5% 0 0);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(22.5% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.12);--ring:oklch(55.2% .016 285.938);--shadow-window:0 1px 1px #0003, 0 4px 8px -4px #0000004d, 0 16px 32px -8px #00000073;color-scheme:dark}@keyframes aui-dt-window-in{0%{opacity:0;scale:.97}to{opacity:1;scale:1}}@keyframes aui-dt-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-dt-launcher-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@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-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-ease{syntax:\"*\";inherits:false}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@keyframes pulse{50%{opacity:.5}}";
5
2
  //# sourceMappingURL=panel.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"panel.generated.d.ts","names":[],"sources":["../../src/styles/panel.generated.ts"],"mappings":";cACa"}
1
+ {"version":3,"file":"panel.generated.d.ts","sourceRoot":"","sources":["../../src/styles/panel.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,QAAQ,83/BAA83/B,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,11 +1,8 @@
1
- import { NormalizedTool } from "./utils/toolNormalization.js";
2
- //#region src/types.d.ts
3
- interface SerializedModelContext {
4
- system?: string;
5
- tools?: NormalizedTool[];
6
- callSettings?: Record<string, unknown>;
7
- config?: Record<string, unknown>;
1
+ import type { NormalizedTool } from "./utils/toolNormalization.js";
2
+ export interface SerializedModelContext {
3
+ system?: string;
4
+ tools?: NormalizedTool[];
5
+ callSettings?: Record<string, unknown>;
6
+ config?: Record<string, unknown>;
8
7
  }
9
- //#endregion
10
- export { SerializedModelContext };
11
8
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":";;UAEiB;EACf;EACA,QAAQ;EACR,eAAe;EACf,SAAS"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qCAAkC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
@@ -1,24 +1,21 @@
1
- //#region src/utils/common.d.ts
2
- declare const isRecord: (value: unknown) => value is Record<string, unknown>;
3
- declare const asString: (value: unknown) => string | undefined;
4
- declare const asNumber: (value: unknown) => number | undefined;
5
- declare const asBool: (value: unknown) => boolean | undefined;
6
- declare const isStringArray: (value: unknown) => string[];
7
- declare const formatBoolean: (value: boolean | undefined) => string | undefined;
1
+ export declare const isRecord: (value: unknown) => value is Record<string, unknown>;
2
+ export declare const asString: (value: unknown) => string | undefined;
3
+ export declare const asNumber: (value: unknown) => number | undefined;
4
+ export declare const asBool: (value: unknown) => boolean | undefined;
5
+ export declare const isStringArray: (value: unknown) => string[];
6
+ export declare const formatBoolean: (value: boolean | undefined) => string | undefined;
8
7
  /** Full date + time for detail views and tooltips. */
9
- declare const formatDateTime: (value: string | Date | undefined) => string | undefined;
8
+ export declare const formatDateTime: (value: string | Date | undefined) => string | undefined;
10
9
  /** Full label for `title` attributes. */
11
- declare const formatWhenLabel: (value: string | Date | undefined) => string | undefined;
10
+ export declare const formatWhenLabel: (value: string | Date | undefined) => string | undefined;
12
11
  /**
13
12
  * Contextual timestamp for narrow rails: time-only today, short date + time
14
13
  * otherwise. Avoids locale strings that break when split on spaces.
15
14
  */
16
- declare const formatWhen: (value: string | Date | undefined, now?: Date) => string | undefined;
17
- declare const truncate: (value: string, max?: number) => string;
18
- declare const formatClockTime: (value: Date) => string;
19
- declare const eventScope: (event: string) => string;
15
+ export declare const formatWhen: (value: string | Date | undefined, now?: Date) => string | undefined;
16
+ export declare const truncate: (value: string, max?: number) => string;
17
+ export declare const formatClockTime: (value: Date) => string;
18
+ export declare const eventScope: (event: string) => string;
20
19
  /** Compact duration: seconds with two decimals at or above 1s, whole ms below. */
21
- declare const formatMs: (value: number) => string;
22
- //#endregion
23
- export { asBool, asNumber, asString, eventScope, formatBoolean, formatClockTime, formatDateTime, formatMs, formatWhen, formatWhenLabel, isRecord, isStringArray, truncate };
20
+ export declare const formatMs: (value: number) => string;
24
21
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","names":[],"sources":["../../src/utils/common.ts"],"mappings":";cAAa,WAAY,mBAAiB,SAAS;cAGtC,WAAY;cAGZ,WAAY;cAGZ,SAAU;cAGV,gBAAiB;cAKjB,gBAAiB;;cAajB,iBAAkB,gBAAgB;;cAOlC,kBAAmB,gBAAgB;;;;;cAanC,aACX,gBAAgB,kBAChB,MAAK;cA8BM,WAAY,eAAe;cAG3B,kBAAmB,OAAO;cAS1B,aAAc;;cAGd,WAAY"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/utils/common.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CACH,CAAC;AAEvE,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,MAAM,GAAG,SACJ,CAAC;AAEhD,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,MAAM,GAAG,SACsB,CAAC;AAE1E,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,KAAG,OAAO,GAAG,SACF,CAAC;AAEjD,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,MAAM,EAG7C,CAAC;AAET,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,GAAG,SAAS,uBACA,CAAC;AAWzD,sDAAsD;AACtD,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,uBAI9D,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,uBAO/D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,GACrB,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,MAAK,IAAiB,uBA4BvB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,EAAE,YAAS,WACS,CAAC;AAE3D,eAAO,MAAM,eAAe,GAAI,OAAO,IAAI,WAOpB,CAAC;AAExB,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,WAAiC,CAAC;AAE1E,kFAAkF;AAClF,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,WAGrC,CAAC"}
@@ -1,16 +1,13 @@
1
- //#region src/utils/diff.d.ts
2
- interface DiffEntry {
3
- path: string;
4
- kind: "added" | "removed" | "changed";
5
- before?: unknown;
6
- after?: unknown;
1
+ export interface DiffEntry {
2
+ path: string;
3
+ kind: "added" | "removed" | "changed";
4
+ before?: unknown;
5
+ after?: unknown;
7
6
  }
8
7
  /**
9
8
  * Structural diff of two JSON-safe values by dotted path. Objects recurse
10
9
  * key-by-key; arrays and primitives are compared as whole leaves. Used for the
11
10
  * opt-in event payload diff, where most payloads are shallow.
12
11
  */
13
- declare const diffValues: (before: unknown, after: unknown, base?: string) => DiffEntry[];
14
- //#endregion
15
- export { DiffEntry, diffValues };
12
+ export declare const diffValues: (before: unknown, after: unknown, base?: string) => DiffEntry[];
16
13
  //# sourceMappingURL=diff.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","names":[],"sources":["../../src/utils/diff.ts"],"mappings":";UAAiB;EACf;EACA;EACA;EACA;;;;;;;cAWW,aACX,iBACA,gBACA,kBACC"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAKD;;;;GAIG;AACH,eAAO,MAAM,UAAU,GACrB,QAAQ,OAAO,EACf,OAAO,OAAO,EACd,aAAS,KACR,SAAS,EAqBX,CAAC"}
@@ -1,8 +1,7 @@
1
- import { SerializedModelContext } from "../types.js";
2
- import { ModelContext } from "@assistant-ui/react";
3
- //#region src/utils/serialization.d.ts
4
- declare const sanitizeForMessage: (value: unknown, seen?: WeakSet<object>) => unknown;
5
- declare const REDACTED = "[redacted]";
1
+ import type { ModelContext } from "@assistant-ui/react";
2
+ import type { SerializedModelContext } from "../types.js";
3
+ export declare const sanitizeForMessage: (value: unknown, seen?: WeakSet<object>) => unknown;
4
+ export declare const REDACTED = "[redacted]";
6
5
  /**
7
6
  * Mask values whose key names a known credential, and mask every value inside
8
7
  * an `env`/`headers` subtree wholesale. Operates on already sanitized plain
@@ -10,9 +9,7 @@ declare const REDACTED = "[redacted]";
10
9
  * subtrees, never to a tool's parameters schema, so a schema property literally
11
10
  * named `token` is not corrupted.
12
11
  */
13
- declare const redactSensitive: (value: unknown, maskAll?: boolean) => unknown;
14
- declare const sanitizeAndRedact: (value: unknown) => unknown;
15
- declare const serializeModelContext: (context: ModelContext | undefined) => SerializedModelContext | undefined;
16
- //#endregion
17
- export { REDACTED, redactSensitive, sanitizeAndRedact, sanitizeForMessage, serializeModelContext };
12
+ export declare const redactSensitive: (value: unknown, maskAll?: boolean) => unknown;
13
+ export declare const sanitizeAndRedact: (value: unknown) => unknown;
14
+ export declare const serializeModelContext: (context: ModelContext | undefined) => SerializedModelContext | undefined;
18
15
  //# sourceMappingURL=serialization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.d.ts","names":[],"sources":["../../src/utils/serialization.ts"],"mappings":";;;cAsBa,qBACX,gBACA,OAAA;cAmGW;;;;;;;;cAwCA,kBAAmB,gBAAgB;cAuBnC,oBAAqB;cAGrB,wBACX,SAAS,6BACR"}
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../src/utils/serialization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAiB;AA2BvD,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,EACd,sBAA4B,KAC3B,OA8HF,CAAC;AAEF,eAAO,MAAM,QAAQ,eAAe,CAAC;AAiCrC;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,EAAE,iBAAe,KAAG,OAqBjE,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,OACP,CAAC;AAE7C,eAAO,MAAM,qBAAqB,GAChC,SAAS,YAAY,GAAG,SAAS,KAChC,sBAAsB,GAAG,SAwD3B,CAAC"}
@@ -10,6 +10,7 @@ const setOwnProperty = (target, key, value) => {
10
10
  });
11
11
  else target[key] = value;
12
12
  };
13
+ const isErrorLike = (value) => value instanceof Error || Object.prototype.toString.call(value) === "[object Error]";
13
14
  const sanitizeForMessage = (value, seen = /* @__PURE__ */ new WeakSet()) => {
14
15
  if (value === null || value === void 0) return value;
15
16
  if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") return value;
@@ -56,6 +57,22 @@ const sanitizeForMessage = (value, seen = /* @__PURE__ */ new WeakSet()) => {
56
57
  }
57
58
  return result;
58
59
  }
60
+ if (isErrorLike(value)) {
61
+ const error = {
62
+ name: sanitizeForMessage(readProperty(value, "name"), seen),
63
+ message: sanitizeForMessage(readProperty(value, "message"), seen)
64
+ };
65
+ const stack = readProperty(value, "stack");
66
+ if (stack !== void 0) error["stack"] = sanitizeForMessage(stack, seen);
67
+ const cause = readProperty(value, "cause");
68
+ if (cause !== void 0) error["cause"] = sanitizeForMessage(cause, seen);
69
+ for (const key of Object.keys(value)) try {
70
+ setOwnProperty(error, key, sanitizeForMessage(readProperty(value, key), seen));
71
+ } catch {
72
+ setOwnProperty(error, key, UNSERIALIZABLE);
73
+ }
74
+ return error;
75
+ }
59
76
  const result = {};
60
77
  for (const key of Object.keys(value)) try {
61
78
  setOwnProperty(result, key, sanitizeForMessage(value[key], seen));
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.js","names":["ModelContext","SerializedModelContext","normalizeToolList","NormalizedTool","readProperty","UNSERIALIZABLE","setOwnProperty","target","Record","key","value","Object","defineProperty","enumerable","configurable","writable","sanitizeForMessage","seen","WeakSet","undefined","String","has","add","Date","Number","isNaN","getTime","toISOString","Map","result","nextSuffixByKey","entry","entries","serializedKey","hasOwn","baseKey","suffix","get","set","Set","Array","from","map","isArray","length","index","item","push","keys","delete","REDACTED","SENSITIVE_KEYS","normalizeKey","toLowerCase","replace","MASK_ALL_KEYS","redactSensitive","maskAll","normalized","sanitizeAndRedact","serializeModelContext","context","modelContext","systemValue","system","tools","tool","parameters","providerOptions","providerArgs","server","backendDefault","callSettingsValue","callSettings","configValue","config"],"sources":["../../src/utils/serialization.ts"],"sourcesContent":["import type { ModelContext } from \"@assistant-ui/react\";\nimport type { SerializedModelContext } from \"../types\";\nimport { normalizeToolList, type NormalizedTool } from \"./toolNormalization\";\nimport { readProperty, UNSERIALIZABLE } from \"./unserializable\";\n\nconst setOwnProperty = (\n target: Record<string, unknown>,\n key: string,\n value: unknown,\n): void => {\n if (key === \"__proto__\") {\n Object.defineProperty(target, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n });\n } else {\n target[key] = value;\n }\n};\n\nexport const sanitizeForMessage = (\n value: unknown,\n seen = new WeakSet<object>(),\n): unknown => {\n // Early return for primitives\n if (value === null || value === undefined) return value;\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n ) {\n return value;\n }\n if (typeof value === \"bigint\" || typeof value === \"symbol\") {\n return String(value);\n }\n if (typeof value === \"function\") {\n return \"[Function]\";\n }\n if (typeof value === \"object\") {\n if (seen.has(value)) return \"[Circular]\";\n seen.add(value);\n try {\n if (value instanceof Date) {\n return Number.isNaN(value.getTime())\n ? String(value)\n : value.toISOString();\n }\n if (value instanceof Map) {\n const result: Record<string, unknown> = {};\n const nextSuffixByKey = new Map<string, number>();\n for (const [key, entry] of value.entries()) {\n let serializedKey: string;\n try {\n serializedKey = String(key);\n } catch {\n serializedKey = UNSERIALIZABLE;\n }\n\n if (Object.hasOwn(result, serializedKey)) {\n const baseKey = serializedKey;\n let suffix = nextSuffixByKey.get(baseKey) ?? 2;\n do {\n serializedKey = `${baseKey} (${suffix})`;\n suffix += 1;\n } while (Object.hasOwn(result, serializedKey));\n nextSuffixByKey.set(baseKey, suffix);\n } else {\n nextSuffixByKey.set(serializedKey, 2);\n }\n\n setOwnProperty(\n result,\n serializedKey,\n sanitizeForMessage(entry, seen),\n );\n }\n return result;\n }\n if (value instanceof Set) {\n return Array.from(value).map((entry) =>\n sanitizeForMessage(entry, seen),\n );\n }\n if (Array.isArray(value)) {\n const result: unknown[] = [];\n const length = value.length;\n for (let index = 0; index < length; index++) {\n try {\n if (!(index in value)) continue;\n const item = sanitizeForMessage(value[index], seen);\n if (item !== undefined) result.push(item);\n } catch {\n result.push(UNSERIALIZABLE);\n }\n }\n return result;\n }\n\n const result: Record<string, unknown> = {};\n for (const key of Object.keys(value)) {\n try {\n setOwnProperty(\n result,\n key,\n sanitizeForMessage((value as Record<string, unknown>)[key], seen),\n );\n } catch {\n setOwnProperty(result, key, UNSERIALIZABLE);\n }\n }\n return result;\n } catch {\n return UNSERIALIZABLE;\n } finally {\n seen.delete(value);\n }\n }\n return value;\n};\n\nexport const REDACTED = \"[redacted]\";\n\nconst SENSITIVE_KEYS = new Set([\n \"apikey\",\n \"xapikey\",\n \"accesskey\",\n \"authorization\",\n \"password\",\n \"passwd\",\n \"secret\",\n \"clientsecret\",\n \"token\",\n \"accesstoken\",\n \"refreshtoken\",\n \"cookie\",\n \"setcookie\",\n \"credential\",\n \"credentials\",\n \"privatekey\",\n \"bearer\",\n \"sessionid\",\n]);\n\nconst normalizeKey = (key: string) => key.toLowerCase().replace(/[-_]/g, \"\");\n\n/**\n * Subtrees that are credential maps with arbitrary, user-defined key names\n * (MCP stdio `env`, HTTP `headers`). Per-key name matching cannot catch\n * `OPENAI_API_KEY` or a custom auth header, so every leaf inside one of these\n * is masked wholesale.\n */\nconst MASK_ALL_KEYS = new Set([\"env\", \"headers\"]);\n\n/**\n * Mask values whose key names a known credential, and mask every value inside\n * an `env`/`headers` subtree wholesale. Operates on already sanitized plain\n * data (primitives, arrays, plain objects). Applied only to config-bearing\n * subtrees, never to a tool's parameters schema, so a schema property literally\n * named `token` is not corrupted.\n */\nexport const redactSensitive = (value: unknown, maskAll = false): unknown => {\n if (Array.isArray(value)) {\n return value.map((entry) => redactSensitive(entry, maskAll));\n }\n if (value && typeof value === \"object\") {\n const result: Record<string, unknown> = {};\n for (const [key, entry] of Object.entries(\n value as Record<string, unknown>,\n )) {\n const normalized = normalizeKey(key);\n setOwnProperty(\n result,\n key,\n maskAll || SENSITIVE_KEYS.has(normalized)\n ? REDACTED\n : redactSensitive(entry, MASK_ALL_KEYS.has(normalized)),\n );\n }\n return result;\n }\n return maskAll ? REDACTED : value;\n};\n\nexport const sanitizeAndRedact = (value: unknown): unknown =>\n redactSensitive(sanitizeForMessage(value));\n\nexport const serializeModelContext = (\n context: ModelContext | undefined,\n): SerializedModelContext | undefined => {\n if (!context || typeof context !== \"object\") {\n return undefined;\n }\n\n const modelContext = context as Record<string, unknown>;\n const result: SerializedModelContext = {};\n\n const systemValue = readProperty(modelContext, \"system\");\n if (typeof systemValue === \"string\" && systemValue.length > 0) {\n result.system = systemValue;\n }\n\n const tools = normalizeToolList(readProperty(modelContext, \"tools\"));\n if (tools.length > 0) {\n result.tools = tools.map((tool): NormalizedTool => {\n return {\n ...tool,\n parameters: sanitizeForMessage(tool.parameters),\n ...(tool.providerOptions !== undefined\n ? { providerOptions: sanitizeAndRedact(tool.providerOptions) }\n : {}),\n ...(tool.providerArgs !== undefined\n ? { providerArgs: sanitizeAndRedact(tool.providerArgs) }\n : {}),\n ...(tool.server !== undefined\n ? { server: sanitizeAndRedact(tool.server) }\n : {}),\n ...(tool.backendDefault !== undefined\n ? { backendDefault: sanitizeForMessage(tool.backendDefault) }\n : {}),\n };\n });\n }\n\n const callSettingsValue = readProperty(modelContext, \"callSettings\");\n if (callSettingsValue !== undefined) {\n const callSettings = sanitizeAndRedact(callSettingsValue);\n if (\n callSettings &&\n typeof callSettings === \"object\" &&\n !Array.isArray(callSettings)\n ) {\n result.callSettings = callSettings as Record<string, unknown>;\n }\n }\n\n const configValue = readProperty(modelContext, \"config\");\n if (configValue !== undefined) {\n const config = sanitizeAndRedact(configValue);\n if (config && typeof config === \"object\" && !Array.isArray(config)) {\n result.config = config as Record<string, unknown>;\n }\n }\n\n return Object.keys(result).length > 0 ? result : undefined;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"serialization.js","names":["ModelContext","SerializedModelContext","normalizeToolList","NormalizedTool","readProperty","UNSERIALIZABLE","setOwnProperty","target","Record","key","value","Object","defineProperty","enumerable","configurable","writable","isErrorLike","Error","prototype","toString","call","sanitizeForMessage","seen","WeakSet","undefined","String","has","add","Date","Number","isNaN","getTime","toISOString","Map","result","nextSuffixByKey","entry","entries","serializedKey","hasOwn","baseKey","suffix","get","set","Set","Array","from","map","isArray","length","index","item","push","error","name","message","stack","cause","keys","delete","REDACTED","SENSITIVE_KEYS","normalizeKey","toLowerCase","replace","MASK_ALL_KEYS","redactSensitive","maskAll","normalized","sanitizeAndRedact","serializeModelContext","context","modelContext","systemValue","system","tools","tool","parameters","providerOptions","providerArgs","server","backendDefault","callSettingsValue","callSettings","configValue","config"],"sources":["../../src/utils/serialization.ts"],"sourcesContent":["import type { ModelContext } from \"@assistant-ui/react\";\nimport type { SerializedModelContext } from \"../types\";\nimport { normalizeToolList, type NormalizedTool } from \"./toolNormalization\";\nimport { readProperty, UNSERIALIZABLE } from \"./unserializable\";\n\nconst setOwnProperty = (\n target: Record<string, unknown>,\n key: string,\n value: unknown,\n): void => {\n if (key === \"__proto__\") {\n Object.defineProperty(target, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n });\n } else {\n target[key] = value;\n }\n};\n\n// An Error from an iframe or worker fails `instanceof`, so the brand check is\n// what keeps a cross-realm error from serializing as an empty object.\nconst isErrorLike = (value: object): boolean =>\n value instanceof Error ||\n Object.prototype.toString.call(value) === \"[object Error]\";\n\nexport const sanitizeForMessage = (\n value: unknown,\n seen = new WeakSet<object>(),\n): unknown => {\n // Early return for primitives\n if (value === null || value === undefined) return value;\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n ) {\n return value;\n }\n if (typeof value === \"bigint\" || typeof value === \"symbol\") {\n return String(value);\n }\n if (typeof value === \"function\") {\n return \"[Function]\";\n }\n if (typeof value === \"object\") {\n if (seen.has(value)) return \"[Circular]\";\n seen.add(value);\n try {\n if (value instanceof Date) {\n return Number.isNaN(value.getTime())\n ? String(value)\n : value.toISOString();\n }\n if (value instanceof Map) {\n const result: Record<string, unknown> = {};\n const nextSuffixByKey = new Map<string, number>();\n for (const [key, entry] of value.entries()) {\n let serializedKey: string;\n try {\n serializedKey = String(key);\n } catch {\n serializedKey = UNSERIALIZABLE;\n }\n\n if (Object.hasOwn(result, serializedKey)) {\n const baseKey = serializedKey;\n let suffix = nextSuffixByKey.get(baseKey) ?? 2;\n do {\n serializedKey = `${baseKey} (${suffix})`;\n suffix += 1;\n } while (Object.hasOwn(result, serializedKey));\n nextSuffixByKey.set(baseKey, suffix);\n } else {\n nextSuffixByKey.set(serializedKey, 2);\n }\n\n setOwnProperty(\n result,\n serializedKey,\n sanitizeForMessage(entry, seen),\n );\n }\n return result;\n }\n if (value instanceof Set) {\n return Array.from(value).map((entry) =>\n sanitizeForMessage(entry, seen),\n );\n }\n if (Array.isArray(value)) {\n const result: unknown[] = [];\n const length = value.length;\n for (let index = 0; index < length; index++) {\n try {\n if (!(index in value)) continue;\n const item = sanitizeForMessage(value[index], seen);\n if (item !== undefined) result.push(item);\n } catch {\n result.push(UNSERIALIZABLE);\n }\n }\n return result;\n }\n\n // `name`, `message` and `stack` are not enumerable, so the branch below\n // would render every Error as an empty object. Each is sanitized like any\n // other value, since an Error carries whatever its author assigned.\n if (isErrorLike(value)) {\n const error: Record<string, unknown> = {\n name: sanitizeForMessage(readProperty(value, \"name\"), seen),\n message: sanitizeForMessage(readProperty(value, \"message\"), seen),\n };\n const stack = readProperty(value, \"stack\");\n if (stack !== undefined) {\n error[\"stack\"] = sanitizeForMessage(stack, seen);\n }\n const cause = readProperty(value, \"cause\");\n if (cause !== undefined) {\n error[\"cause\"] = sanitizeForMessage(cause, seen);\n }\n for (const key of Object.keys(value)) {\n try {\n setOwnProperty(\n error,\n key,\n sanitizeForMessage(readProperty(value, key), seen),\n );\n } catch {\n setOwnProperty(error, key, UNSERIALIZABLE);\n }\n }\n return error;\n }\n\n const result: Record<string, unknown> = {};\n for (const key of Object.keys(value)) {\n try {\n setOwnProperty(\n result,\n key,\n sanitizeForMessage((value as Record<string, unknown>)[key], seen),\n );\n } catch {\n setOwnProperty(result, key, UNSERIALIZABLE);\n }\n }\n return result;\n } catch {\n return UNSERIALIZABLE;\n } finally {\n seen.delete(value);\n }\n }\n return value;\n};\n\nexport const REDACTED = \"[redacted]\";\n\nconst SENSITIVE_KEYS = new Set([\n \"apikey\",\n \"xapikey\",\n \"accesskey\",\n \"authorization\",\n \"password\",\n \"passwd\",\n \"secret\",\n \"clientsecret\",\n \"token\",\n \"accesstoken\",\n \"refreshtoken\",\n \"cookie\",\n \"setcookie\",\n \"credential\",\n \"credentials\",\n \"privatekey\",\n \"bearer\",\n \"sessionid\",\n]);\n\nconst normalizeKey = (key: string) => key.toLowerCase().replace(/[-_]/g, \"\");\n\n/**\n * Subtrees that are credential maps with arbitrary, user-defined key names\n * (MCP stdio `env`, HTTP `headers`). Per-key name matching cannot catch\n * `OPENAI_API_KEY` or a custom auth header, so every leaf inside one of these\n * is masked wholesale.\n */\nconst MASK_ALL_KEYS = new Set([\"env\", \"headers\"]);\n\n/**\n * Mask values whose key names a known credential, and mask every value inside\n * an `env`/`headers` subtree wholesale. Operates on already sanitized plain\n * data (primitives, arrays, plain objects). Applied only to config-bearing\n * subtrees, never to a tool's parameters schema, so a schema property literally\n * named `token` is not corrupted.\n */\nexport const redactSensitive = (value: unknown, maskAll = false): unknown => {\n if (Array.isArray(value)) {\n return value.map((entry) => redactSensitive(entry, maskAll));\n }\n if (value && typeof value === \"object\") {\n const result: Record<string, unknown> = {};\n for (const [key, entry] of Object.entries(\n value as Record<string, unknown>,\n )) {\n const normalized = normalizeKey(key);\n setOwnProperty(\n result,\n key,\n maskAll || SENSITIVE_KEYS.has(normalized)\n ? REDACTED\n : redactSensitive(entry, MASK_ALL_KEYS.has(normalized)),\n );\n }\n return result;\n }\n return maskAll ? REDACTED : value;\n};\n\nexport const sanitizeAndRedact = (value: unknown): unknown =>\n redactSensitive(sanitizeForMessage(value));\n\nexport const serializeModelContext = (\n context: ModelContext | undefined,\n): SerializedModelContext | undefined => {\n if (!context || typeof context !== \"object\") {\n return undefined;\n }\n\n const modelContext = context as Record<string, unknown>;\n const result: SerializedModelContext = {};\n\n const systemValue = readProperty(modelContext, \"system\");\n if (typeof systemValue === \"string\" && systemValue.length > 0) {\n result.system = systemValue;\n }\n\n const tools = normalizeToolList(readProperty(modelContext, \"tools\"));\n if (tools.length > 0) {\n result.tools = tools.map((tool): NormalizedTool => {\n return {\n ...tool,\n parameters: sanitizeForMessage(tool.parameters),\n ...(tool.providerOptions !== undefined\n ? { providerOptions: sanitizeAndRedact(tool.providerOptions) }\n : {}),\n ...(tool.providerArgs !== undefined\n ? { providerArgs: sanitizeAndRedact(tool.providerArgs) }\n : {}),\n ...(tool.server !== undefined\n ? { server: sanitizeAndRedact(tool.server) }\n : {}),\n ...(tool.backendDefault !== undefined\n ? { backendDefault: sanitizeForMessage(tool.backendDefault) }\n : {}),\n };\n });\n }\n\n const callSettingsValue = readProperty(modelContext, \"callSettings\");\n if (callSettingsValue !== undefined) {\n const callSettings = sanitizeAndRedact(callSettingsValue);\n if (\n callSettings &&\n typeof callSettings === \"object\" &&\n !Array.isArray(callSettings)\n ) {\n result.callSettings = callSettings as Record<string, unknown>;\n }\n }\n\n const configValue = readProperty(modelContext, \"config\");\n if (configValue !== undefined) {\n const config = sanitizeAndRedact(configValue);\n if (config && typeof config === \"object\" && !Array.isArray(config)) {\n result.config = config as Record<string, unknown>;\n }\n }\n\n return Object.keys(result).length > 0 ? result : undefined;\n};\n"],"mappings":";;;AAKA,MAAMM,kBACJC,QACAE,KACAC,UACS;CACT,IAAID,QAAQ,aACVE,OAAOC,eAAeL,QAAQE,KAAK;EACjCC;EACAG,YAAY;EACZC,cAAc;EACdC,UAAU;CACZ,CAAC;MAEDR,OAAOE,OAAOC;AAElB;AAIA,MAAMM,eAAeN,UACnBA,iBAAiBO,SACjBN,OAAOO,UAAUC,SAASC,KAAKV,KAAK,MAAM;AAE5C,MAAaW,sBACXX,OACAY,uBAAO,IAAIC,QAAgB,MACf;CAEZ,IAAIb,UAAU,QAAQA,UAAUc,KAAAA,GAAW,OAAOd;CAClD,IACE,OAAOA,UAAU,YACjB,OAAOA,UAAU,YACjB,OAAOA,UAAU,WAEjB,OAAOA;CAET,IAAI,OAAOA,UAAU,YAAY,OAAOA,UAAU,UAChD,OAAOe,OAAOf,KAAK;CAErB,IAAI,OAAOA,UAAU,YACnB,OAAO;CAET,IAAI,OAAOA,UAAU,UAAU;EAC7B,IAAIY,KAAKI,IAAIhB,KAAK,GAAG,OAAO;EAC5BY,KAAKK,IAAIjB,KAAK;EACd,IAAI;GACF,IAAIA,iBAAiBkB,MACnB,OAAOC,OAAOC,MAAMpB,MAAMqB,QAAQ,CAAC,IAC/BN,OAAOf,KAAK,IACZA,MAAMsB,YAAY;GAExB,IAAItB,iBAAiBuB,KAAK;IACxB,MAAMC,SAAkC,CAAC;IACzC,MAAMC,kCAAkB,IAAIF,IAAoB;IAChD,KAAK,MAAM,CAACxB,KAAK2B,UAAU1B,MAAM2B,QAAQ,GAAG;KAC1C,IAAIC;KACJ,IAAI;MACFA,gBAAgBb,OAAOhB,GAAG;KAC5B,QAAQ;MACN6B,gBAAgBjC;KAClB;KAEA,IAAIM,OAAO4B,OAAOL,QAAQI,aAAa,GAAG;MACxC,MAAME,UAAUF;MAChB,IAAIG,SAASN,gBAAgBO,IAAIF,OAAO,KAAK;MAC7C,GAAG;OACDF,gBAAgB,GAAGE,QAAO,IAAKC,OAAM;OACrCA,UAAU;MACZ,SAAS9B,OAAO4B,OAAOL,QAAQI,aAAa;MAC5CH,gBAAgBQ,IAAIH,SAASC,MAAM;KACrC,OACEN,gBAAgBQ,IAAIL,eAAe,CAAC;KAGtChC,eACE4B,QACAI,eACAjB,mBAAmBe,OAAOd,IAAI,CAChC;IACF;IACA,OAAOY;GACT;GACA,IAAIxB,iBAAiBkC,KACnB,OAAOC,MAAMC,KAAKpC,KAAK,CAAC,CAACqC,KAAKX,UAC5Bf,mBAAmBe,OAAOd,IAAI,CAChC;GAEF,IAAIuB,MAAMG,QAAQtC,KAAK,GAAG;IACxB,MAAMwB,SAAoB,CAAA;IAC1B,MAAMe,SAASvC,MAAMuC;IACrB,KAAK,IAAIC,QAAQ,GAAGA,QAAQD,QAAQC,SAClC,IAAI;KACF,IAAI,EAAEA,SAASxC,QAAQ;KACvB,MAAMyC,OAAO9B,mBAAmBX,MAAMwC,QAAQ5B,IAAI;KAClD,IAAI6B,SAAS3B,KAAAA,GAAWU,OAAOkB,KAAKD,IAAI;IAC1C,QAAQ;KACNjB,OAAOkB,KAAK/C,cAAc;IAC5B;IAEF,OAAO6B;GACT;GAKA,IAAIlB,YAAYN,KAAK,GAAG;IACtB,MAAM2C,QAAiC;KACrCC,MAAMjC,mBAAmBjB,aAAaM,OAAO,MAAM,GAAGY,IAAI;KAC1DiC,SAASlC,mBAAmBjB,aAAaM,OAAO,SAAS,GAAGY,IAAI;IAClE;IACA,MAAMkC,QAAQpD,aAAaM,OAAO,OAAO;IACzC,IAAI8C,UAAUhC,KAAAA,GACZ6B,MAAM,WAAWhC,mBAAmBmC,OAAOlC,IAAI;IAEjD,MAAMmC,QAAQrD,aAAaM,OAAO,OAAO;IACzC,IAAI+C,UAAUjC,KAAAA,GACZ6B,MAAM,WAAWhC,mBAAmBoC,OAAOnC,IAAI;IAEjD,KAAK,MAAMb,OAAOE,OAAO+C,KAAKhD,KAAK,GACjC,IAAI;KACFJ,eACE+C,OACA5C,KACAY,mBAAmBjB,aAAaM,OAAOD,GAAG,GAAGa,IAAI,CACnD;IACF,QAAQ;KACNhB,eAAe+C,OAAO5C,KAAKJ,cAAc;IAC3C;IAEF,OAAOgD;GACT;GAEA,MAAMnB,SAAkC,CAAC;GACzC,KAAK,MAAMzB,OAAOE,OAAO+C,KAAKhD,KAAK,GACjC,IAAI;IACFJ,eACE4B,QACAzB,KACAY,mBAAoBX,MAAkCD,MAAMa,IAAI,CAClE;GACF,QAAQ;IACNhB,eAAe4B,QAAQzB,KAAKJ,cAAc;GAC5C;GAEF,OAAO6B;EACT,QAAQ;GACN,OAAO7B;EACT,UAAU;GACRiB,KAAKqC,OAAOjD,KAAK;EACnB;CACF;CACA,OAAOA;AACT;AAEA,MAAakD,WAAW;AAExB,MAAMC,iCAAiB,IAAIjB,IAAI;CAC7B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAAW,CACZ;AAED,MAAMkB,gBAAgBrD,QAAgBA,IAAIsD,YAAY,CAAC,CAACC,QAAQ,SAAS,EAAE;;;;;;;AAQ3E,MAAMC,gCAAgB,IAAIrB,IAAI,CAAC,OAAO,SAAS,CAAC;;;;;;;;AAShD,MAAasB,mBAAmBxD,OAAgByD,UAAU,UAAmB;CAC3E,IAAItB,MAAMG,QAAQtC,KAAK,GACrB,OAAOA,MAAMqC,KAAKX,UAAU8B,gBAAgB9B,OAAO+B,OAAO,CAAC;CAE7D,IAAIzD,SAAS,OAAOA,UAAU,UAAU;EACtC,MAAMwB,SAAkC,CAAC;EACzC,KAAK,MAAM,CAACzB,KAAK2B,UAAUzB,OAAO0B,QAChC3B,KACF,GAAG;GACD,MAAM0D,aAAaN,aAAarD,GAAG;GACnCH,eACE4B,QACAzB,KACA0D,WAAWN,eAAenC,IAAI0C,UAAU,IACpCR,WACAM,gBAAgB9B,OAAO6B,cAAcvC,IAAI0C,UAAU,CAAC,CAC1D;EACF;EACA,OAAOlC;CACT;CACA,OAAOiC,UAAUP,WAAWlD;AAC9B;AAEA,MAAa2D,qBAAqB3D,UAChCwD,gBAAgB7C,mBAAmBX,KAAK,CAAC;AAE3C,MAAa4D,yBACXC,YACuC;CACvC,IAAI,CAACA,WAAW,OAAOA,YAAY,UACjC;CAGF,MAAMC,eAAeD;CACrB,MAAMrC,SAAiC,CAAC;CAExC,MAAMuC,cAAcrE,aAAaoE,cAAc,QAAQ;CACvD,IAAI,OAAOC,gBAAgB,YAAYA,YAAYxB,SAAS,GAC1Df,OAAOwC,SAASD;CAGlB,MAAME,QAAQzE,kBAAkBE,aAAaoE,cAAc,OAAO,CAAC;CACnE,IAAIG,MAAM1B,SAAS,GACjBf,OAAOyC,QAAQA,MAAM5B,KAAK6B,SAAyB;EACjD,OAAO;GACL,GAAGA;GACHC,YAAYxD,mBAAmBuD,KAAKC,UAAU;GAC9C,GAAID,KAAKE,oBAAoBtD,KAAAA,IACzB,EAAEsD,iBAAiBT,kBAAkBO,KAAKE,eAAe,EAAE,IAC3D,CAAC;GACL,GAAIF,KAAKG,iBAAiBvD,KAAAA,IACtB,EAAEuD,cAAcV,kBAAkBO,KAAKG,YAAY,EAAE,IACrD,CAAC;GACL,GAAIH,KAAKI,WAAWxD,KAAAA,IAChB,EAAEwD,QAAQX,kBAAkBO,KAAKI,MAAM,EAAE,IACzC,CAAC;GACL,GAAIJ,KAAKK,mBAAmBzD,KAAAA,IACxB,EAAEyD,gBAAgB5D,mBAAmBuD,KAAKK,cAAc,EAAE,IAC1D,CAAC;EACP;CACF,CAAC;CAGH,MAAMC,oBAAoB9E,aAAaoE,cAAc,cAAc;CACnE,IAAIU,sBAAsB1D,KAAAA,GAAW;EACnC,MAAM2D,eAAed,kBAAkBa,iBAAiB;EACxD,IACEC,gBACA,OAAOA,iBAAiB,YACxB,CAACtC,MAAMG,QAAQmC,YAAY,GAE3BjD,OAAOiD,eAAeA;CAE1B;CAEA,MAAMC,cAAchF,aAAaoE,cAAc,QAAQ;CACvD,IAAIY,gBAAgB5D,KAAAA,GAAW;EAC7B,MAAM6D,SAAShB,kBAAkBe,WAAW;EAC5C,IAAIC,UAAU,OAAOA,WAAW,YAAY,CAACxC,MAAMG,QAAQqC,MAAM,GAC/DnD,OAAOmD,SAASA;CAEpB;CAEA,OAAO1E,OAAO+C,KAAKxB,MAAM,CAAC,CAACe,SAAS,IAAIf,SAASV,KAAAA;AACnD"}
@@ -1,19 +1,16 @@
1
- //#region src/utils/toolNormalization.d.ts
2
- type NormalizedTool = {
3
- name: string;
4
- type?: string;
5
- description?: string;
6
- disabled?: boolean;
7
- display?: string;
8
- providerId?: string;
9
- supportsDeferredResults?: boolean;
10
- backendDefault?: unknown;
11
- providerOptions?: unknown;
12
- providerArgs?: unknown;
13
- server?: unknown;
14
- parameters?: unknown;
1
+ export type NormalizedTool = {
2
+ name: string;
3
+ type?: string;
4
+ description?: string;
5
+ disabled?: boolean;
6
+ display?: string;
7
+ providerId?: string;
8
+ supportsDeferredResults?: boolean;
9
+ backendDefault?: unknown;
10
+ providerOptions?: unknown;
11
+ providerArgs?: unknown;
12
+ server?: unknown;
13
+ parameters?: unknown;
15
14
  };
16
- declare const normalizeToolList: (value: unknown) => NormalizedTool[];
17
- //#endregion
18
- export { NormalizedTool, normalizeToolList };
15
+ export declare const normalizeToolList: (value: unknown) => NormalizedTool[];
19
16
  //# sourceMappingURL=toolNormalization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolNormalization.d.ts","names":[],"sources":["../../src/utils/toolNormalization.ts"],"mappings":";KAGY;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;cAqFW,oBAAqB,mBAAiB"}
1
+ {"version":3,"file":"toolNormalization.d.ts","sourceRoot":"","sources":["../../src/utils/toolNormalization.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAoFF,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,cAAc,EAmDhE,CAAC"}
@@ -1,6 +1,3 @@
1
- //#region src/utils/unserializable.d.ts
2
- declare const UNSERIALIZABLE = "[Unserializable]";
3
- declare const readProperty: (value: object, key: PropertyKey) => unknown;
4
- //#endregion
5
- export { UNSERIALIZABLE, readProperty };
1
+ export declare const UNSERIALIZABLE = "[Unserializable]";
2
+ export declare const readProperty: (value: object, key: PropertyKey) => unknown;
6
3
  //# sourceMappingURL=unserializable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unserializable.d.ts","names":[],"sources":["../../src/utils/unserializable.ts"],"mappings":";cAAa;cAEA,eAAgB,eAAe,KAAK"}
1
+ {"version":3,"file":"unserializable.d.ts","sourceRoot":"","sources":["../../src/utils/unserializable.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,qBAAqB,CAAC;AAEjD,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,KAAK,WAAW,KAAG,OAM9D,CAAC"}
@@ -1,18 +1,15 @@
1
- import { EventLogEntry } from "../../data/types.js";
2
- //#region src/views/activity/EventLogRow.d.ts
3
- declare const EventLogRow: ({ log, previous, showDiff, timeLabel }: {
4
- log: EventLogEntry;
5
- previous?: EventLogEntry | undefined;
6
- showDiff?: boolean;
7
- /** Overrides the default clock time label. */
8
- timeLabel?: string | undefined;
1
+ import type { EventLogEntry } from "../../data/types.js";
2
+ export declare const EventLogRow: ({ log, previous, showDiff, timeLabel, }: {
3
+ log: EventLogEntry;
4
+ previous?: EventLogEntry | undefined;
5
+ showDiff?: boolean;
6
+ /** Overrides the default clock time label. */
7
+ timeLabel?: string | undefined;
9
8
  }) => import("react").JSX.Element;
10
- declare const ScopeFilterBar: ({ eventTypesByScope, unselectedEventTypes, toggleScope, toggleEventType }: {
11
- eventTypesByScope: readonly (readonly [string, string[]])[];
12
- unselectedEventTypes: ReadonlySet<string>;
13
- toggleScope: (types: string[]) => void;
14
- toggleEventType: (eventType: string) => void;
9
+ export declare const ScopeFilterBar: ({ eventTypesByScope, unselectedEventTypes, toggleScope, toggleEventType, }: {
10
+ eventTypesByScope: readonly (readonly [string, string[]])[];
11
+ unselectedEventTypes: ReadonlySet<string>;
12
+ toggleScope: (types: string[]) => void;
13
+ toggleEventType: (eventType: string) => void;
15
14
  }) => import("react").JSX.Element | null;
16
- //#endregion
17
- export { EventLogRow, ScopeFilterBar };
18
15
  //# sourceMappingURL=EventLogRow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventLogRow.d.ts","names":[],"sources":["../../../src/views/activity/EventLogRow.tsx"],"mappings":";;cAOa,gBAAe,KAAA,UAAA,UAAA;EAM1B,KAAK;EACL,WAAW;EACX;;EAEA;sBACD,IAAA;cA+BY,mBAAkB,mBAAA,sBAAA,aAAA;EAM7B;EACA,sBAAsB;EACtB,cAAc;EACd,kBAAkB;sBACnB,IAAA"}
1
+ {"version":3,"file":"EventLogRow.d.ts","sourceRoot":"","sources":["../../../src/views/activity/EventLogRow.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,4BAAyB;AAKtD,eAAO,MAAM,WAAW,GAAI,yCAKzB;IACD,GAAG,EAAE,aAAa,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,gCA6BA,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,4EAK5B;IACD,iBAAiB,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;IAC5D,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,uCAgDA,CAAC"}
@@ -1,8 +1,5 @@
1
- import { EventLogEntry } from "../../data/types.js";
2
- //#region src/views/activity/EventStreamPane.d.ts
3
- declare const EventStreamPane: ({ logs }: {
4
- logs: readonly EventLogEntry[];
1
+ import type { EventLogEntry } from "../../data/types.js";
2
+ export declare const EventStreamPane: ({ logs, }: {
3
+ logs: readonly EventLogEntry[];
5
4
  }) => import("react").JSX.Element;
6
- //#endregion
7
- export { EventStreamPane };
8
5
  //# sourceMappingURL=EventStreamPane.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventStreamPane.d.ts","names":[],"sources":["../../../src/views/activity/EventStreamPane.tsx"],"mappings":";;cAKa,oBAAmB;EAG9B,eAAe;sBAChB,IAAA"}
1
+ {"version":3,"file":"EventStreamPane.d.ts","sourceRoot":"","sources":["../../../src/views/activity/EventStreamPane.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,4BAAyB;AAItD,eAAO,MAAM,eAAe,GAAI,WAE7B;IACD,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;CAChC,gCA4EA,CAAC"}
@@ -1,8 +1,5 @@
1
- import { RunEventEntry } from "../runs/types.js";
2
- //#region src/views/activity/OrphansPane.d.ts
3
- declare const OrphansPane: ({ events }: {
4
- events: readonly RunEventEntry[];
1
+ import type { RunEventEntry } from "../runs/types.js";
2
+ export declare const OrphansPane: ({ events, }: {
3
+ events: readonly RunEventEntry[];
5
4
  }) => import("react").JSX.Element;
6
- //#endregion
7
- export { OrphansPane };
8
5
  //# sourceMappingURL=OrphansPane.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrphansPane.d.ts","names":[],"sources":["../../../src/views/activity/OrphansPane.tsx"],"mappings":";;cAIa,gBAAe;EAG1B,iBAAiB;sBAClB,IAAA"}
1
+ {"version":3,"file":"OrphansPane.d.ts","sourceRoot":"","sources":["../../../src/views/activity/OrphansPane.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAsB;AAGnD,eAAO,MAAM,WAAW,GAAI,aAEzB;IACD,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;CAClC,gCAcA,CAAC"}