@copilotkit/web-inspector 1.69.1 → 1.69.3
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.
- package/dist/index.cjs +1221 -994
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +30 -46
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +30 -46
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1223 -994
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +1304 -1644
- package/dist/index.umd.js.map +1 -1
- package/dist/lib/inspector-nav.cjs +0 -1
- package/dist/lib/inspector-nav.cjs.map +1 -1
- package/dist/lib/inspector-nav.mjs +0 -1
- package/dist/lib/inspector-nav.mjs.map +1 -1
- package/dist/lib/telemetry.cjs +1 -19
- package/dist/lib/telemetry.cjs.map +1 -1
- package/dist/lib/telemetry.d.cts.map +1 -1
- package/dist/lib/telemetry.d.mts.map +1 -1
- package/dist/lib/telemetry.mjs +2 -18
- package/dist/lib/telemetry.mjs.map +1 -1
- package/dist/package.cjs +1 -1
- package/dist/package.mjs +1 -1
- package/dist/styles/generated.cjs +1 -1
- package/dist/styles/generated.cjs.map +1 -1
- package/dist/styles/generated.mjs +1 -1
- package/dist/styles/generated.mjs.map +1 -1
- package/package.json +3 -3
- package/dist/lib/event-snippets.cjs +0 -559
- package/dist/lib/event-snippets.cjs.map +0 -1
- package/dist/lib/event-snippets.d.cts +0 -61
- package/dist/lib/event-snippets.d.cts.map +0 -1
- package/dist/lib/event-snippets.d.mts +0 -61
- package/dist/lib/event-snippets.d.mts.map +0 -1
- package/dist/lib/event-snippets.mjs +0 -537
- package/dist/lib/event-snippets.mjs.map +0 -1
- package/dist/lib/inspector-nav.d.cts +0 -11
- package/dist/lib/inspector-nav.d.cts.map +0 -1
- package/dist/lib/inspector-nav.d.mts +0 -11
- package/dist/lib/inspector-nav.d.mts.map +0 -1
package/dist/index.umd.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
7
7
|
|
|
8
8
|
//#region src/styles/generated.css
|
|
9
|
-
var generated_default = "/*! tailwindcss v4.1.18 | 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-green-100:oklch(96.2% .044 156.743);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-700:oklch(50% .134 242.749);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-800:oklch(43.2% .232 292.759);--color-violet-950:oklch(28.3% .141 291.089);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-700:oklch(49.6% .265 301.924);--color-fuchsia-50:oklch(97.7% .017 320.058);--color-fuchsia-200:oklch(90.3% .076 319.62);--color-fuchsia-700:oklch(51.8% .253 323.949);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-950:oklch(27.1% .105 12.094);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,ui-sans-serif,system-ui,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{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}:host{font-family:var(--font-sans);color:var(--color-slate-900);background-color:#0000;display:block}}@layer components;@layer utilities{.\\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.m-0{margin:calc(var(--spacing)*0)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-3{margin-block:calc(var(--spacing)*3)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-auto{margin-right:auto}.mb-0\\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.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}.table{display:table}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.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-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-40{height:calc(var(--spacing)*40)}.h-\\[28rem\\]{height:28rem}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing)*32)}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-7{min-height:calc(var(--spacing)*7)}.min-h-\\[20rem\\]{min-height:20rem}.min-h-\\[40px\\]{min-height:40px}.min-h-\\[420px\\]{min-height:420px}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-40{width:calc(var(--spacing)*40)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\\[80\\%\\]{max-width:80%}.max-w-\\[200px\\]{max-width:200px}.max-w-\\[240px\\]{max-width:240px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\\[200px\\]{min-width:200px}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.translate-x-0\\.5{--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-\\[2px\\]{--tw-translate-y:calc(2px*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-nesw-resize{cursor:nesw-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-nwse-resize{cursor:nwse-resize}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.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)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}: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-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[16px\\]{border-radius:16px}.rounded-\\[28px\\]{border-radius:28px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-200{border-color:var(--color-blue-200)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-fuchsia-200{border-color:var(--color-fuchsia-200)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-purple-200{border-color:var(--color-purple-200)}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-300{border-color:var(--color-rose-300)}.border-sky-200{border-color:var(--color-sky-200)}.border-slate-200{border-color:var(--color-slate-200)}.border-violet-200{border-color:var(--color-violet-200)}.border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-\\[\\#00000014\\]{background-color:#00000014}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-black{background-color:var(--color-black)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-fuchsia-50{background-color:var(--color-fuchsia-50)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-50\\/50{background-color:#f9fafb80}@supports (color:color-mix(in lab, red, red)){.bg-gray-50\\/50{background-color:color-mix(in oklab,var(--color-gray-50)50%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-100{background-color:var(--color-green-100)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-100{background-color:var(--color-sky-100)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-950\\/95{background-color:#020618f2}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\\/95{background-color:color-mix(in oklab,var(--color-slate-950)95%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-100{background-color:var(--color-violet-100)}.bg-white{background-color:var(--color-white)}.bg-white\\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\\/95{background-color:color-mix(in oklab,var(--color-white)95%,transparent)}}.p-0\\.5{padding:calc(var(--spacing)*.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pt-8{padding-top:calc(var(--spacing)*8)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-\\[22px\\]{--tw-leading:22px;line-height:22px}.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)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[rgb\\(13\\,13\\,13\\)\\]{color:#0d0d0d}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-fuchsia-700{color:var(--color-fuchsia-700)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-purple-700{color:var(--color-purple-700)}.text-rose-700{color:var(--color-rose-700)}.text-rose-800{color:var(--color-rose-800)}.text-rose-950{color:var(--color-rose-950)}.text-sky-700{color:var(--color-sky-700)}.text-slate-500{color:var(--color-slate-500)}.text-slate-800{color:var(--color-slate-800)}.text-violet-500{color:var(--color-violet-500)}.text-violet-600{color:var(--color-violet-600)}.text-violet-700{color:var(--color-violet-700)}.text-violet-950{color:var(--color-violet-950)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-violet-300{-webkit-text-decoration-color:var(--color-violet-300);-webkit-text-decoration-color:var(--color-violet-300);text-decoration-color:var(--color-violet-300)}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_4px_4px_0_\\#0000000a\\,0_0_1px_0_\\#0000009e\\]{--tw-shadow:0 4px 4px 0 var(--tw-shadow-color,#0000000a),0 0 1px 0 var(--tw-shadow-color,#0000009e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px 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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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-sm{--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)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black\\/5{--tw-ring-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.ring-black\\/5{--tw-ring-color:color-mix(in oklab,var(--color-black)5%,transparent)}}.ring-transparent{--tw-ring-color:transparent}.ring-white\\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.ring-white\\/10{--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;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-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-gray-500::placeholder{color:var(--color-gray-500)}.focus-within\\:shadow-\\[0_6px_18px_0_\\#00000014\\,0_0_1px_0_\\#0000009e\\]:focus-within{--tw-shadow:0 6px 18px 0 var(--tw-shadow-color,#00000014),0 0 1px 0 var(--tw-shadow-color,#0000009e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@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\\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\\:border-white\\/30:hover{border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\\:border-white\\/30:hover{border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\\:bg-blue-50\\/50:hover{background-color:#eff6ff80}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-blue-50\\/50:hover{background-color:color-mix(in oklab,var(--color-blue-50)50%,transparent)}}.hover\\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\\:bg-gray-400:hover{background-color:var(--color-gray-400)}.hover\\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\\:bg-rose-100:hover{background-color:var(--color-rose-100)}.hover\\:bg-slate-900\\/95:hover{background-color:#0f172bf2}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-slate-900\\/95:hover{background-color:color-mix(in oklab,var(--color-slate-900)95%,transparent)}}.hover\\:bg-violet-100:hover{background-color:var(--color-violet-100)}.hover\\:text-gray-900:hover{color:var(--color-gray-900)}.hover\\:text-violet-800:hover{color:var(--color-violet-800)}.hover\\:decoration-violet-700:hover{-webkit-text-decoration-color:var(--color-violet-700);-webkit-text-decoration-color:var(--color-violet-700);text-decoration-color:var(--color-violet-700)}.hover\\:opacity-70:hover{opacity:.7}}.focus\\:border-gray-300:focus{border-color:var(--color-gray-300)}.focus\\:border-violet-400:focus{border-color:var(--color-violet-400)}.focus\\:bg-gray-50:focus{background-color:var(--color-gray-50)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + 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)}.focus\\:ring-gray-200:focus{--tw-ring-color:var(--color-gray-200)}.focus\\:ring-violet-100:focus{--tw-ring-color:var(--color-violet-100)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:rounded:focus-visible{border-radius:.25rem}.focus-visible\\:rounded-sm:focus-visible{border-radius:var(--radius-sm)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + 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)}.focus-visible\\:ring-rose-300:focus-visible{--tw-ring-color:var(--color-rose-300)}.focus-visible\\:ring-violet-300:focus-visible{--tw-ring-color:var(--color-violet-300)}.focus-visible\\:ring-violet-400:focus-visible{--tw-ring-color:var(--color-violet-400)}.focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-\\[\\#BEC2FF\\]:focus-visible{outline-color:#bec2ff}.focus-visible\\:outline-gray-300:focus-visible{outline-color:var(--color-gray-300)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:opacity-60:active{opacity:.6}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:text-gray-500:disabled{color:var(--color-gray-500)}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-60:disabled{opacity:.6}@media (min-width:48rem){.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\\[\\&\\>svg\\]\\:\\!h-8>svg{height:calc(var(--spacing)*8)!important}.\\[\\&\\>svg\\]\\:h-3>svg{height:calc(var(--spacing)*3)}.\\[\\&\\>svg\\]\\:h-3\\.5>svg{height:calc(var(--spacing)*3.5)}.\\[\\&\\>svg\\]\\:h-\\[18px\\]>svg{height:18px}.\\[\\&\\>svg\\]\\:\\!w-8>svg{width:calc(var(--spacing)*8)!important}.\\[\\&\\>svg\\]\\:w-3>svg{width:calc(var(--spacing)*3)}.\\[\\&\\>svg\\]\\:w-3\\.5>svg{width:calc(var(--spacing)*3.5)}.\\[\\&\\>svg\\]\\:w-\\[18px\\]>svg{width:18px}.\\[\\&\\>svg\\]\\:animate-spin>svg{animation:var(--animate-spin)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.cpk-json-block{white-space:pre-wrap;word-break:break-all;color:#57575b;margin:0;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:11px;line-height:1.8;overflow:auto}.inspector-account-strip{border-bottom:1px solid #d8d8e8;width:100%;min-width:0;color:#010507!important;background:linear-gradient(90deg,#fff 0%,#f3f1ff 58%,#eefbf7 100%)!important}.inspector-account-logo{filter:none}.inspector-account-brand{position:relative}.inspector-account-logo-accent{clip-path:inset(0 0 0 80%);pointer-events:none;display:none;position:absolute;inset:0}.inspector-account-cta{isolation:isolate;color:#3f176f;white-space:nowrap;cursor:pointer;background-color:#eee6fe;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;gap:7px;min-height:32px;padding:7px 10px;font-size:11px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.inspector-account-cta:after{z-index:0;content:\"\";opacity:0;pointer-events:none;background:linear-gradient(105deg,#0000 0%,#ffffff14 32%,#ffffffad 50%,#ffffff14 68%,#0000 100%);width:68%;animation:3.8s cubic-bezier(.16,1,.3,1) infinite inspector-account-cta-shimmer;position:absolute;inset:0;transform:translate(-180%)skew(-14deg)}.inspector-account-cta>*{z-index:1;position:relative}.inspector-account-cta[data-motion-paused=true]:after{animation-play-state:paused}@keyframes inspector-account-cta-shimmer{0%{opacity:0;transform:translate(-180%)skew(-14deg)}12%{opacity:1}82%{opacity:.8}to{opacity:0;transform:translate(280%)skew(-14deg)}}.inspector-account-cta:hover{color:#32105d;background-color:#e4d8fc}.inspector-account-cta svg{width:14px;height:14px}@media (prefers-reduced-motion:reduce){.inspector-account-cta:after{animation:none}}.inspector-window-layout{position:relative}.inspector-window-layout-menu{z-index:60;color:#010507;background-color:#fff;border:1px solid #d8d8e8;border-radius:5px;width:188px;padding:4px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 10px 24px #1f173924}.inspector-window-layout-menu button{min-height:34px;color:inherit;text-align:left;cursor:pointer;background-color:#0000;border:0;border-radius:4px;align-items:center;gap:9px;padding:7px 9px;font-size:12px;font-weight:600;display:flex}.inspector-window-layout-menu button:hover,.inspector-window-layout-menu button:focus-visible{color:#3f176f;background-color:#eee6fe;outline:none}.inspector-window-layout-menu button span:first-child{flex:none;display:inline-flex}.inspector-agent-placeholder{color:#68686e;border-color:#c8c8d8}.inspector-primary-navigation,.inspector-child-navigation{display:none}.inspector-shell{background-color:#f7f6fd;flex:auto;min-height:0;display:flex}.inspector-sidebar{z-index:20;background-color:#f7f6fd;border-right:1px solid #d8d8e8;flex-direction:column;flex:none;gap:8px;width:224px;min-width:224px;padding:12px 10px;transition:width .22s,min-width .22s,padding .22s;display:flex;position:relative;overflow:visible}.inspector-snippet-sidebar{background-color:#f7f6fd;flex-direction:column;gap:8px;padding:12px 10px;display:flex;overflow:auto}.inspector-sidebar[data-icon-rail=true]{width:56px;min-width:56px;padding:10px 6px}.inspector-sidebar-agent-scope{border-bottom:1px solid #d8d8e8;flex:none;min-width:0;padding-bottom:10px}.inspector-sidebar .inspector-agent-selector{width:100%;min-width:0}.inspector-sidebar .inspector-agent-selector>[data-context-dropdown-root=true]>button{background-color:#fff;border-radius:5px;max-width:none;min-height:34px;padding:6px 8px}.inspector-context-dropdown-icon{color:#68686e;display:inline-flex}.inspector-context-dropdown-icon svg,.inspector-context-dropdown-chevron svg{width:14px;height:14px}.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-agent-scope{padding-bottom:8px}.inspector-sidebar[data-icon-rail=true] .inspector-agent-selector>[data-context-dropdown-root=true]>button{justify-content:center;width:100%;min-height:34px;padding:6px 0}.inspector-sidebar[data-icon-rail=true] .inspector-context-dropdown-label,.inspector-sidebar[data-icon-rail=true] .inspector-context-dropdown-chevron,.inspector-sidebar[data-icon-rail=true] .inspector-agent-placeholder span:last-child{display:none}.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-agent-scope [data-context-dropdown-root=true]>div{margin-top:0;top:0;left:calc(100% + 8px)}.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-section+.inspector-sidebar-section{border-top:1px solid #dbdbe5;margin-top:4px;padding-top:10px}.inspector-sidebar-nav{cursor:default;flex-direction:column;flex:auto;gap:14px;min-height:0;display:flex;overflow:hidden auto}.inspector-sidebar-section{flex-direction:column;gap:4px;display:flex}.inspector-sidebar-label{color:#838389;letter-spacing:.02em;text-align:left;text-transform:none;background:0 0;border:0;width:100%;margin:0 0 2px;padding:0 8px;font-size:11px;font-weight:600;display:block}.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-label,.inspector-sidebar[data-icon-rail=true] .inspector-nav-label{display:none}.inspector-sidebar-rail-tooltip{z-index:60;color:#fff;pointer-events:none;white-space:nowrap;background-color:#242331;border-radius:6px;max-width:220px;padding:6px 9px;font-size:11px;font-weight:600;line-height:1.2;position:absolute;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 7px 18px #1a172a2e}.inspector-sidebar-control{justify-content:flex-start;width:100%;min-height:36px;display:flex;position:relative}.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-control,.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-toggle,.inspector-sidebar[data-icon-rail=true] .inspector-nav-control{justify-content:center;align-items:center;gap:0;padding:6px 0;overflow:hidden}.inspector-home-badge{background-color:#fa5f67;border-radius:999px;width:7px;height:7px;position:absolute;top:8px;right:8px}.inspector-sidebar[data-icon-rail=true] .inspector-home-badge{top:6px;right:8px}.inspector-sidebar-toggle{color:#57575b;width:100%;min-height:32px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;justify-content:flex-start;align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:600;display:flex}.inspector-sidebar-toggle:hover{color:#010507;background-color:#f0f0f4}.inspector-sidebar-footer{flex-direction:column;flex:none;gap:6px;padding:2px 0 18px;display:flex}.inspector-sidebar-status-list{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.inspector-sidebar-status-card{color:#2b2b2b;background-color:#fff;border:1px solid #d8d8e8;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;padding:9px 10px;display:grid;position:relative}.inspector-sidebar-status-copy{flex-direction:column;gap:2px;min-width:0;line-height:1.25;display:flex}.inspector-sidebar-status-copy strong{color:#010507;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.inspector-sidebar-status-copy>span{color:#57575b;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.inspector-sidebar-status-card[data-state=disconnected] .inspector-sidebar-status-copy>span{color:#68686e}.inspector-sidebar-status-action{color:#3f176f;white-space:nowrap;background-color:#0000;border:0;border-radius:5px;justify-content:center;align-items:center;gap:0;width:28px;height:28px;padding:0;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.inspector-sidebar-status-action:hover{color:#6430ab;background-color:#eee7f8;text-decoration:none}.inspector-sidebar-status-action svg{width:12px;height:12px}.inspector-sidebar-status-action-label{display:none}.inspector-sidebar-intelligence-setup{color:#3f176f;cursor:pointer;background-color:#eee7f8;border-color:#bba5df;text-decoration:none;transition:border-color .12s,background-color .12s,box-shadow .3s;animation:3.2s ease-in-out infinite inspector-sidebar-intelligence-setup-glow}@keyframes inspector-sidebar-intelligence-setup-glow{0%,to{box-shadow:0 0 #6430ab00}50%{box-shadow:0 0 16px 2px #6430ab26}}.inspector-sidebar-intelligence-setup:hover{background-color:#e4d9f4;border-color:#8e6fc0}.inspector-sidebar-intelligence-setup .inspector-sidebar-status-copy strong{color:#3f176f}.inspector-sidebar-setup-arrow{background-color:#6430ab1a;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.inspector-sidebar-setup-arrow svg{width:13px;height:13px}.inspector-main{background-color:#fff;flex-direction:column;flex:auto;min-width:0;display:flex;position:relative}.cpk-memory-locked{background-color:#fff;justify-content:center;align-items:center;height:100%;padding:32px;display:flex;position:relative;overflow:hidden}.cpk-locked-preview{opacity:.58;pointer-events:none;grid-template-columns:minmax(180px,28%) 1fr;display:grid;position:absolute;inset:0;overflow:hidden}.cpk-locked-preview-sidebar{background-color:#fafafa;border-right:1px solid #dbdbe5;flex-direction:column;gap:12px;padding:28px 24px;display:flex}.cpk-locked-preview-row{background-color:#fff;border-radius:10px;padding:12px;box-shadow:inset 0 0 0 1px #eeeef4}.cpk-locked-preview-row[data-accent=true]{background-color:#eee6fe}.cpk-locked-preview-bar{background-color:#d7d7df;border-radius:999px}.cpk-locked-preview-row-title{width:var(--preview-width);height:8px}.cpk-locked-preview-row[data-accent=true] .cpk-locked-preview-row-title{background-color:#a984f5}.cpk-locked-preview-row-line{background-color:#e3e3eb;width:88%;height:6px;margin-top:10px}.cpk-locked-preview-row-line:last-child{background-color:#e8e8ef;width:62%;margin-top:7px}.cpk-locked-preview-main{background-color:#fff;min-width:0;padding:42px 48px}.cpk-locked-preview-heading{width:180px;height:10px}.cpk-locked-preview-copy{background-color:#e3e3eb;width:min(520px,58%);height:8px;margin-top:28px}.cpk-locked-preview-copy+.cpk-locked-preview-copy{background-color:#e8e8ef;width:min(430px,48%);margin-top:12px}.cpk-locked-preview-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:620px;margin-top:30px;display:grid}.cpk-locked-preview-card{background-color:#f5f5f8;border-radius:10px;height:116px;box-shadow:inset 0 0 0 1px #eeeef4}.cpk-locked-preview-footer-line{background-color:#e3e3eb;width:min(680px,74%);height:10px;margin-top:34px}.cpk-locked-preview-footer-line+.cpk-locked-preview-footer-line{background-color:#e8e8ef;width:min(560px,60%);margin-top:14px}.cpk-memory-locked-scrim{pointer-events:none;background:radial-gradient(circle,#ffffffe6 0,#ffffffc7 24%,#ffffff57 48%,#ffffff8f 100%);position:absolute;inset:0}.cpk-memory-locked-content{z-index:1;color:#57575b;text-align:center;max-width:440px;position:relative}.cpk-memory-locked-icon-wrap{justify-content:center;margin:0 auto 18px;display:flex}.cpk-memory-locked-icon{color:#57575b;background-color:#eee6fe;border:1px solid #dfd6fb;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 8px 18px #57575b24}.cpk-memory-locked-title{color:#010507;margin:0 0 8px;font-size:16px;font-weight:600;line-height:1.35}.cpk-memory-locked-copy{color:#57575b;max-width:380px;margin:0 auto 18px;font-size:13px;line-height:1.55}.cpk-memory-locked-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.cpk-memory-locked-action{color:#fff;background-color:#6430ab;border:1px solid #6430ab;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:8px 12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.cpk-memory-locked-action:hover{background-color:#4e238c;border-color:#4e238c}.cpk-memory-locked-action-secondary{color:#57575b;background-color:#fff;border-color:#dbdbe5}.cpk-memory-locked-action-secondary:hover{background-color:#f7f7f9;border-color:#afafb7}.inspector-home{background-color:#fff;min-height:100%;padding:30px 32px 40px;position:relative;overflow:auto}.inspector-home:before{display:none}.inspector-home>*{width:min(100%,960px);margin-left:auto;margin-right:auto}.inspector-settings{color:#010507;background-color:#fff;min-height:100%;padding:28px 28px 36px;overflow:auto}.inspector-settings-header{border-bottom:1px solid #d5d3e4;max-width:70ch;padding-bottom:22px}.inspector-settings-title{color:#010507;margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:28px;font-weight:600;line-height:1.15}.inspector-settings-subtitle{color:#57575b;max-width:60ch;margin:10px 0 0;font-size:14px;line-height:1.5}.inspector-settings-section{grid-template-columns:minmax(138px,168px) minmax(0,1fr);gap:30px;max-width:820px;margin-top:28px;display:grid}.inspector-settings-section-heading{align-items:flex-start;gap:10px;display:flex}.inspector-settings-section-icon{color:#3f176f;background-color:#eee6fe;border:1px solid #bec2ff;border-radius:5px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.inspector-settings-section-icon svg{width:16px;height:16px}.inspector-settings-section-heading h2,.inspector-settings-status-row h3{color:#010507;margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600}.inspector-settings-section-heading h2{font-size:15px;line-height:1.3}.inspector-settings-section-heading p{color:#68686e;margin:5px 0 0;font-size:11px;line-height:1.45}.inspector-settings-privacy{border-top:1px solid #d5d3e4;border-bottom:1px solid #d5d3e4;padding:20px 0 22px}.inspector-settings-status-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.inspector-settings-status-row h3{font-size:16px;line-height:1.3}.inspector-settings-status-row p{color:#57575b;max-width:56ch;margin:8px 0 0;font-size:13px;line-height:1.55}.inspector-settings-status{color:#087653;background-color:#e5f7f1;border:1px solid #85d3bb;border-radius:999px;flex:none;align-items:center;min-height:24px;padding:3px 8px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.inspector-settings-privacy[data-state=disabled] .inspector-settings-status{color:#7d4d0a;background-color:#fff5df;border-color:#dfc08f}.inspector-settings-private-content{border-top:1px solid #e4e4ec;margin-top:20px;padding-top:18px}.inspector-settings-private-content strong{color:#010507;font-size:13px;font-weight:700}.inspector-settings-private-content>p{color:#68686e;margin:4px 0 0;font-size:11px;line-height:1.45}.inspector-settings-private-content ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:12px 0 0;display:grid}.inspector-settings-private-content li{color:#3e3d48;align-items:center;gap:7px;min-width:0;font-size:12px;line-height:1.35;display:flex}.inspector-settings-private-content li span{color:#087653;flex:none;display:inline-flex}.inspector-settings-private-content li svg{width:14px;height:14px}.inspector-settings-policy-link{color:#3f176f;text-underline-offset:3px;outline-offset:2px;outline:2px solid #0000;align-items:center;gap:6px;min-height:32px;margin-top:20px;font-size:12px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.inspector-settings-policy-link:hover{color:#6430ab}.inspector-settings-policy-link:focus-visible{outline-color:#6430ab}.inspector-settings-policy-link svg{width:14px;height:14px}@media (max-width:720px){.inspector-settings{padding:24px 20px 32px}.inspector-settings-section{grid-template-columns:1fr;gap:18px}.inspector-settings-section-heading p{max-width:42ch}}@media (max-width:480px){.inspector-settings-status-row{flex-direction:column;gap:12px}.inspector-settings-private-content ul{grid-template-columns:1fr}}.inspector-home-card,.inspector-home-story{background-color:#ffffffd1;border:1px solid #deddea;border-radius:5px;padding:18px 18px 16px;position:relative}.inspector-home-eyebrow,.inspector-home-card-label,.inspector-home-meta{color:#57575b;margin:0;font-size:12px;font-weight:600}.inspector-home-title,.inspector-home-section-title,.inspector-home-card-title{color:#010507;margin:8px 0 0;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:28px;font-weight:600;line-height:1.15}.inspector-home-section-title{letter-spacing:-.015em;margin:0 0 14px;font-size:17px}.inspector-home-card-title{font-size:16px}.inspector-home-body,.inspector-home-card-copy{color:#57575b;max-width:52ch;margin:10px 0 0;font-size:15px;line-height:1.5}.inspector-home-section{margin-top:24px;position:relative}.inspector-home>.inspector-home-section:first-child{margin-top:0}.inspector-whats-new-preview+.inspector-home-section{margin-top:20px}.inspector-home-section-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.inspector-home-section-header .inspector-home-section-title{margin-bottom:0}.inspector-home-section-header>span{color:#68686e;font-size:11px;font-weight:600;line-height:1.35}.inspector-system-health-header>span[data-tone=success]{color:#087653}.inspector-system-health-header>span[data-tone=checking]{color:#8a5900}.inspector-system-health-header>span[data-tone=offline],.inspector-system-health-header>span[data-tone=error]{color:#b32d3b}.inspector-system-health-section{background-color:#f7f4fe;border:1px solid #c8c6e6;border-radius:5px;overflow:hidden}.inspector-system-health-section .inspector-system-health-header{background-color:#f7f4fe;border-bottom:1px solid #d5d3e4;align-items:center;min-height:76px;margin:0;padding:18px}.inspector-system-health-heading{min-width:0}.inspector-system-health-heading .inspector-home-section-title{color:#010507;letter-spacing:-.025em;font-size:18px}.inspector-system-health-state,.inspector-intelligence-hud-state{color:#087653;background-color:#e5f7f1;border:1px solid #85d3bb;border-radius:999px;flex:none;align-items:center;gap:6px;min-height:24px;padding:4px 8px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.inspector-system-health-state>span,.inspector-intelligence-hud-state>span{background-color:currentColor;border-radius:999px;width:6px;height:6px}.inspector-system-health-state[data-tone=checking],.inspector-intelligence-hud-state[data-tone=checking]{background-color:#fff5df;border-color:#dfc08f;color:#7d4d0a!important}.inspector-system-health-state[data-tone=offline],.inspector-system-health-state[data-tone=error],.inspector-intelligence-hud-state[data-tone=offline],.inspector-intelligence-hud-state[data-tone=error]{background-color:#fff0f1;border-color:#e7a7ac;color:#b32d3b!important}.inspector-system-health-state[data-tone=unavailable],.inspector-intelligence-hud-state[data-tone=unavailable]{background-color:#f0f0f4;border-color:#c8c8d2;color:#57575b!important}.inspector-system-health{background-color:#d5d3e4;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.inspector-system-health-signal{background-color:#fff;grid-template-columns:minmax(0,1fr);align-items:start;min-width:0;min-height:84px;padding:15px 16px 14px;display:grid}.inspector-system-health-copy{flex-direction:column;min-width:0;display:flex}.inspector-system-health-signal dt{color:#68686e;letter-spacing:.035em;text-transform:uppercase;font-size:10px;font-weight:700;line-height:1.3}.inspector-system-health-signal dd{color:#010507;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:5px 0 0;font-size:15px;font-weight:700;overflow:hidden}.inspector-system-health-signal small{color:#68686e;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-top:4px;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:10px;line-height:1.4;overflow:hidden}small.inspector-system-health-detail{letter-spacing:0;font-family:inherit;font-size:11px;font-weight:500;line-height:1.4}.inspector-system-health-url{cursor:help;outline:none;position:relative;overflow:visible!important}.inspector-system-health-url>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.inspector-system-health-url:after{z-index:30;color:#f3f4f8;content:attr(data-full-value);opacity:0;overflow-wrap:anywhere;pointer-events:none;white-space:normal;background-color:#15171e;border:1px solid #3a3d49;border-radius:4px;width:max-content;max-width:min(360px,70vw);padding:7px 9px;font-size:10px;font-weight:500;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 7px);left:0;transform:translateY(3px);box-shadow:0 8px 20px #0105072e}.inspector-system-health-url:hover:after,.inspector-system-health-url:focus-visible:after{opacity:1;transform:translateY(0)}.inspector-system-health-url:focus-visible>span{outline-offset:2px;border-radius:3px;outline:2px solid #6430ab}.inspector-system-health-signal[data-tone=success] dd{color:#087653}.inspector-system-health-signal[data-tone=active] dd{color:#8a5900}.inspector-system-health-event-link{width:100%;min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;display:block}.inspector-system-health-event-link>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.inspector-system-health-event-link>.inspector-system-health-event-type{color:#57575b;letter-spacing:.025em;background-color:#f1f1f3;border-radius:999px;align-items:center;width:fit-content;max-width:100%;padding:3px 6px;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:10px;font-weight:700;line-height:1.25;display:inline-flex}.inspector-system-health-event-link>small{color:#68686e;align-items:center;gap:6px;margin:5px 0 0;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:10px;font-weight:500;line-height:1.25;display:flex}.inspector-system-health-event-meta strong{color:#6430ab;text-underline-offset:3px;font-weight:700;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.inspector-system-health-signal[data-tone=error] .inspector-system-health-event-type{color:#b32d3b;background-color:#fff0f1}.inspector-system-health-signal[data-tone=success] .inspector-system-health-event-type{color:#087653;background-color:#e3f5ee}.inspector-system-health-signal[data-tone=active] .inspector-system-health-event-type{color:#8a5900;background-color:#fff5df}.inspector-system-health-event-link:hover .inspector-system-health-event-meta strong{text-decoration-color:currentColor}.inspector-system-health-event-link:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #6430ab}.inspector-intelligence-hud{background-color:#f7f4fe;border:1px solid #c8c6e6;border-radius:5px;overflow:hidden}.inspector-intelligence-hud-header{justify-content:space-between;align-items:center;gap:24px;padding:18px;display:flex}.inspector-intelligence-hud[data-state=disconnected]{border-color:#bba5df}.inspector-intelligence-hud[data-state=disconnected] .inspector-intelligence-hud-header{align-items:center;min-height:132px;padding:22px}.inspector-intelligence-hud[data-state=disconnected] .inspector-intelligence-hud-header-actions{flex-direction:column;align-items:flex-end;gap:10px}.inspector-intelligence-hud-heading{min-width:0}.inspector-intelligence-hud-header-actions{flex:none;align-items:center;gap:8px;display:flex}.inspector-intelligence-hud-heading .inspector-home-section-title{margin:0;font-size:18px}.inspector-intelligence-hud-description{color:#4f4f55;max-width:64ch;margin:10px 0 0;font-size:12px;line-height:1.55}.inspector-intelligence-hud-action{color:#fff;background-color:#6430ab;border:1px solid #6430ab;border-radius:4px;flex:none;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:8px 11px;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.inspector-intelligence-hud-action:hover{background-color:#4e238c;border-color:#4e238c}.inspector-intelligence-hud-action svg{width:13px;height:13px}.inspector-intelligence-hud-connect-action{min-height:38px;padding:10px 14px;font-size:12px}.inspector-intelligence-hud-details{background-color:#d5d3e4;border-top:1px solid #d5d3e4;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1px;display:grid}.inspector-intelligence-hud-details>section{background-color:#fff;min-width:0;padding:15px 18px 17px}.inspector-intelligence-hud-detail-label{color:#68686e;font-size:11px;font-weight:600;display:block}.inspector-intelligence-hud-detail-value{color:#010507;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:5px 0 0;font-size:14px;font-weight:700;display:block;overflow:hidden}.inspector-intelligence-hud-detail-subvalue{color:#68686e;text-transform:capitalize;margin-top:3px;font-size:10px;font-weight:500;display:block}.inspector-intelligence-hud-plan{grid-template-columns:minmax(0,1fr) minmax(120px,1fr);align-items:start;gap:24px;display:grid}.inspector-intelligence-hud-usage{min-width:0}.inspector-intelligence-hud-plan-action{color:#6430ab;text-underline-offset:3px;background-color:#0000;border:0;border-radius:0;gap:4px;min-height:auto;margin-top:9px;padding:0;font-size:10px;font-weight:700;line-height:1.2;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}.inspector-intelligence-hud-plan-action:hover{color:#4e238c;background-color:#0000;border-color:#0000;text-decoration-color:currentColor}.inspector-intelligence-hud-plan-action svg{width:11px;height:11px}.inspector-home-usage-bar{background-color:#dbdbe5;border-radius:999px;width:min(160px,100%);height:5px;margin-top:8px;display:block;overflow:hidden}.inspector-home-usage-bar>span{background-color:#bec2ff;height:100%;display:block}.inspector-home-feature-groups{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));align-items:start;gap:12px;display:grid}.inspector-home-feature-group{background-color:#fff;border:1px solid #d5d3e4;border-radius:5px;overflow:hidden}.inspector-home-feature-group-header{color:#57575b;background-color:#f7f7f9;border-bottom:1px solid #e4e4ec;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:9px 12px;display:flex}.inspector-home-feature-group-header strong{font-size:12px;font-weight:700}.inspector-home-feature-group-header>span{background-color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:22px;min-height:20px;padding:2px 6px;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:10px;font-weight:700;display:inline-flex}.inspector-home-feature-group[data-feature-state-group=active] .inspector-home-feature-group-header{color:#087653;background-color:#e5f7f1;border-color:#b9e3d6}.inspector-home-feature-list{background-color:#fff;flex-direction:column;margin:0;display:flex}.inspector-home-feature{color:#010507;background-color:#fff;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:8px;min-width:0;min-height:43px;padding:10px 12px;font-size:12px;font-weight:600;text-decoration:none;display:grid}.inspector-home-feature+.inspector-home-feature{border-top:1px solid #ececf1}.inspector-home-feature-group-empty{color:#68686e;margin:0;padding:15px 12px;font-size:11px}.inspector-home-feature:hover{background-color:#f7f7f9}.inspector-home-feature-arrow svg{width:12px;height:12px}.inspector-home-feature small{color:#087653;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:10px;font-weight:700}.inspector-home-feature[data-state=off],.inspector-home-feature[data-state=off] small,.inspector-home-feature-arrow{color:#68686e}.inspector-home-features-empty{color:#57575b;border-top:1px solid #deddea;border-bottom:1px solid #deddea;margin:14px 0 0;padding:16px 0;font-size:12px}.inspector-home-news{gap:12px;display:grid}.inspector-whats-new-preview{color:#010507;background-color:#f7f4fe;border:1px solid #c8c6e6;border-radius:5px;align-items:stretch;width:100%;min-height:64px;display:flex;position:relative;overflow:hidden;container-type:inline-size}.inspector-whats-new-preview:has(.inspector-whats-new-preview-body:hover){background-color:#f1ebfc;border-color:#8f91d7}.inspector-whats-new-preview-body{min-width:0;color:inherit;text-align:left;cursor:pointer;background-color:#0000;border:0;flex:auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.inspector-whats-new-preview-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.inspector-whats-new-preview-title{align-items:center;gap:8px;min-width:0;display:flex}.inspector-whats-new-preview-copy strong{text-overflow:ellipsis;white-space:nowrap;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:13px;line-height:1.25;overflow:hidden}.inspector-whats-new-preview-copy>span:last-child{color:#4e4c63;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.4;overflow:hidden}.inspector-whats-new-preview-action{color:#3f176f;white-space:nowrap;flex:none;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.inspector-whats-new-preview-action svg{width:15px;height:15px}@container (max-width:640px){.inspector-whats-new-preview-body{grid-template-columns:minmax(0,1fr)}.inspector-whats-new-preview-action{display:none}}.inspector-whats-new-preview-dismiss{color:#68686e;cursor:pointer;background-color:#0000;border:0;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.inspector-whats-new-preview-dismiss:hover{color:#3f176f;background-color:#6430ab1a}.inspector-whats-new-preview-dismiss svg{width:14px;height:14px}@media (max-width:720px){.inspector-account-cta{width:32px;padding-inline:0}.inspector-account-cta-label{display:none}.inspector-home{padding:24px 22px 34px}.inspector-intelligence-hud-header{flex-wrap:wrap}.inspector-intelligence-hud-details{grid-template-columns:1fr}.inspector-intelligence-hud-plan{grid-template-columns:repeat(2,minmax(0,1fr))}.inspector-whats-new-preview-action{display:none}}@media (max-width:600px){.inspector-system-health{grid-template-columns:1fr}}@media (max-width:480px){.inspector-system-health-section .inspector-system-health-header{align-items:flex-start}.inspector-intelligence-hud-header{flex-direction:column;align-items:stretch}.inspector-intelligence-hud-header-actions{justify-content:space-between}.inspector-intelligence-hud-header-actions .inspector-intelligence-hud-action,.inspector-intelligence-hud-plan{width:100%}.inspector-intelligence-hud-plan{grid-template-columns:1fr;align-items:stretch}.inspector-intelligence-hud-plan-action{justify-self:start}.inspector-whats-new-header{align-items:center;gap:16px;width:calc(100% - 24px);padding:24px 22px}.inspector-whats-new-document,.inspector-whats-new-empty{padding:20px 22px 36px}.inspector-whats-new-document .announcement-content h1+p{font-size:16px}}.inspector-whats-new-header{background:#f8f7ff;border:1px solid #d8d8e8;border-radius:5px;justify-content:space-between;align-items:center;gap:24px;width:calc(100% - 44px);max-width:calc(70ch - 44px);padding:30px 32px 28px;display:flex;box-shadow:0 12px 28px #26224e0f}.inspector-whats-new-header .inspector-home-title{letter-spacing:-.035em;margin:0;font-size:clamp(27px,3.6vw,36px)}.inspector-whats-new-updated{color:#6c687c;letter-spacing:.01em;white-space:nowrap;flex:none;margin:0;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:11px;font-weight:600}.inspector-whats-new .inspector-home-news{max-width:70ch;margin-top:0}.inspector-whats-new-document,.inspector-whats-new-empty{max-width:70ch;padding:22px 32px 52px}.inspector-whats-new-document .announcement-content{color:#2b2b39;font-size:15px;line-height:1.72}.inspector-whats-new-document .announcement-content h1{color:#15131d;letter-spacing:-.032em;max-width:24ch;margin:0 0 16px;font-size:clamp(26px,3.2vw,34px);line-height:1.1}.inspector-whats-new-document .announcement-content h1+p{color:#504d61;max-width:58ch;margin-top:0;font-size:18px;line-height:1.58}.inspector-whats-new-document .announcement-content>hr:first-child{display:none}.inspector-whats-new-document .announcement-content h2:first-of-type{border-top:0;margin-top:14px;padding-top:0}.inspector-whats-new-document .announcement-content h2{color:#1b1924;letter-spacing:-.024em;border-top:1px solid #dfdeea;margin:44px 0 14px;padding-top:24px;font-size:21px;line-height:1.2}.inspector-whats-new-document .announcement-content p{max-width:70ch;margin:.85rem 0}.inspector-whats-new-document .announcement-content ul,.inspector-whats-new-document .announcement-content ol{max-width:68ch;margin:1.25rem 0 1.5rem;padding-left:1.4rem}.inspector-whats-new-document .announcement-content li+li{margin-top:.7rem}.inspector-whats-new-document .announcement-content a{color:#4e46a5;text-underline-offset:4px;font-weight:600;text-decoration-color:#4e46a56b;text-decoration-thickness:1px;transition:color .16s,text-decoration-color .16s}.inspector-whats-new-document .announcement-content a:hover{color:#312879;text-decoration-color:currentColor}.inspector-whats-new-empty{color:#5e5b70}.inspector-whats-new-empty .inspector-home-card-title{color:#1b1924;margin:0}.inspector-whats-new-empty .inspector-home-card-copy{max-width:48ch;margin:8px 0 0}.inspector-home-story-featured{padding:22px}.inspector-home-story-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.inspector-home-story-link:hover{background-color:#fff;border-color:#8f91d7}.inspector-home-story[data-unread=true]{border-color:#bec2ff;padding-right:64px;box-shadow:0 0 0 1px #6430ab}.inspector-home-story-unread{color:#fff;letter-spacing:.04em;text-transform:uppercase;background-color:#6430ab;border-radius:999px;align-items:center;min-height:18px;padding:0 7px;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:10px;font-weight:700;display:inline-flex}.inspector-nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;transition:opacity .18s,width .22s;overflow:hidden}.inspector-nav-control{color:#57575b;min-height:32px;font:inherit;text-align:left;outline-offset:-2px;cursor:pointer;background-color:#0000;border:1px solid #0000;border-radius:5px;outline:2px solid #0000;flex:none;justify-content:flex-start;align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:600;line-height:1.25;display:flex}.inspector-nav-control:hover{color:#010507;background-color:#f0f0f4}.inspector-nav-control-active{color:#3f176f;background-color:#eee6fe;border-color:#bec2ff}.inspector-nav-icon{flex:none;align-items:center;display:inline-flex}.inspector-nav-icon svg{width:15px;height:15px}.inspector-nav-control:focus-visible,.inspector-account-control:focus-visible,[data-inspector-thread-cta]:focus-visible,[data-inspector-sidebar-intelligence-action]:focus-visible,[data-inspector-whats-new-preview]:focus-visible,[data-inspector-whats-new-dismiss]:focus-visible,[data-inspector-home-intelligence-action]:focus-visible,.inspector-home-feature:focus-visible,[data-inspector-action-placement=threads-footer]:focus-visible{outline-offset:2px;outline:2px solid #6430ab!important}.inspector-sidebar .inspector-nav-control:focus-visible,.inspector-sidebar .inspector-sidebar-label:focus-visible,.inspector-sidebar [data-inspector-thread-cta]:focus-visible{outline-offset:-2px!important}.inspector-account-control{color:#57575b;font:inherit;outline-offset:2px;cursor:pointer;background-color:#0000;border:1px solid #0000;outline:2px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.inspector-account-control:hover,.inspector-account-control-active{color:#3f176f;background-color:#6430ab17}:host ::selection{color:#010507;background-color:#cfd2ff}:host *{scrollbar-color:#aaa9c1 transparent;scrollbar-width:thin}:host ::-webkit-scrollbar{width:8px;height:8px}:host ::-webkit-scrollbar-thumb{background:#aaa9c1 padding-box padding-box;border:2px solid #0000;border-radius:999px}.inspector-account-control-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.inspector-account-control-icon svg{width:15px;height:15px}[data-inspector-thread-cta],[data-inspector-account-strip] button,[data-inspector-account-strip] a{cursor:pointer}@media (prefers-reduced-motion:reduce){.inspector-sidebar,.inspector-nav-label{transition:none}}[data-inspector-threads-setup-prompt],[data-inspector-threads-setup-link]{min-height:34px;font:inherit;outline-offset:2px;cursor:pointer;border:1px solid #dbdbe5;border-radius:7px;outline:2px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;line-height:1.25;text-decoration:none;display:inline-flex}[data-inspector-threads-setup-prompt]{color:#fff;background-color:#010507;border-color:#010507}[data-inspector-threads-setup-prompt]:hover{background-color:#2b2b2b;border-color:#2b2b2b}[data-inspector-threads-setup-link]{color:#57575b;background-color:#fff}[data-inspector-threads-setup-link]:hover{color:#010507;background-color:#f7f7f9;border-color:#afafb7}[data-inspector-threads-setup-prompt]:focus-visible,[data-inspector-threads-setup-link]:focus-visible{outline-offset:2px;outline:2px solid #6430ab}.inspector-threads-footer{color:#57575b;background-color:#f7f7f9;border-top:1px solid #dbdbe5;flex:none;gap:10px;padding:12px;font-size:11px;line-height:1.35;display:grid}.inspector-threads-usage{gap:6px;display:grid}[data-inspector-thread-count]{color:#010507;font-weight:600}[data-inspector-thread-expiry]{color:#57575b}.inspector-thread-progress{--inspector-thread-progress-color:#189370;width:100%;height:6px;accent-color:var(--inspector-thread-progress-color);border-radius:999px;overflow:hidden}.inspector-thread-progress[data-inspector-thread-capacity=warning]{--inspector-thread-progress-color:#b45309}.inspector-thread-progress[data-inspector-thread-capacity=critical]{--inspector-thread-progress-color:#be123c}.inspector-thread-progress::-webkit-progress-bar{background-color:#dbdbe5;border-radius:999px}.inspector-thread-progress::-webkit-progress-value{background-color:var(--inspector-thread-progress-color);border-radius:999px}.inspector-thread-progress::-moz-progress-bar{background-color:var(--inspector-thread-progress-color);border-radius:999px}[data-inspector-action-placement=threads-footer]{color:#57575b;outline-offset:2px;cursor:pointer;background-color:#0000;border:1px solid #d5d3e4;border-radius:5px;outline:2px solid #0000;justify-content:center;align-items:center;width:100%;min-height:32px;padding:6px 9px;font-size:11px;font-weight:600;line-height:1.25;text-decoration:none;display:inline-flex}[data-inspector-action-placement=threads-footer][data-inspector-action-intent=upgrade]{color:#fff;background-color:#6430ab;border-color:#6430ab}[data-inspector-action-placement=threads-footer][data-inspector-action-intent=upgrade]:hover{color:#fff;background-color:#3f176f;border-color:#3f176f}[data-inspector-action-placement=threads-footer]:hover{color:#010507;background-color:#f7f4fe;border-color:#c8c6e6}.cpk-threads-overview-video{opacity:0;transition:opacity .22s}.cpk-threads-overview{background-color:#f7f7f9;flex:1;justify-content:center;align-items:center;min-width:0;padding:32px;display:flex}.cpk-threads-overview-content{color:#57575b;width:100%;max-width:440px}.cpk-threads-overview-title{color:#010507;margin:0 0 10px;font-size:20px;font-weight:600;line-height:1.25}.cpk-threads-overview-copy{color:#57575b;margin:0 0 16px;font-size:13px;line-height:1.55}.cpk-threads-overview-actions{flex-wrap:wrap;gap:8px;display:flex}.cpk-threads-overview-action{outline-offset:2px;border:1px solid #0000;border-radius:7px;outline:2px solid #0000;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:8px 12px;font-size:12px;font-weight:600;line-height:1.25;text-decoration:none;display:inline-flex}.cpk-threads-overview-action-primary{color:#fff;background-color:#010507;border-color:#010507}.cpk-threads-overview-action-primary:hover{background-color:#2b2b2b;border-color:#2b2b2b}.cpk-threads-overview-action-secondary{color:#010507;background-color:#fff;border-color:#dbdbe5}.cpk-threads-overview-action-secondary:hover{background-color:#fff;border-color:#afafb7}.cpk-threads-overview-video[data-loaded=true]{opacity:1}.cpk-threads-overview-video-control{color:#3f176f;min-height:32px;font:inherit;outline-offset:2px;cursor:pointer;background-color:#fff;border:1px solid #dbdbe5;border-radius:5px;outline:2px solid #0000;justify-content:center;align-items:center;margin:0 0 14px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.25;display:inline-flex}.cpk-threads-overview-video-control:hover{color:#010507;background-color:#f7f7f9;border-color:#afafb7}.cpk-threads-overview-video-control:focus-visible{outline-offset:2px;outline:2px solid #6430ab}.cpk-threads-overview-video-fallback{color:#57575b;max-width:440px;margin:-4px 0 14px;font-size:12px;line-height:1.5}.cpk-threads-tour-launch{z-index:2;color:#57575b;outline-offset:2px;cursor:pointer;background-color:#fff;border:1px solid #dbdbe5;border-radius:7px;outline:2px solid #0000;padding:7px 10px;font-size:12px;font-weight:600;position:absolute;bottom:16px;right:16px;box-shadow:0 8px 18px #01050714}.cpk-threads-tour{z-index:3;color:#57575b;background-color:#fff;border:1px solid #dbdbe5;border-radius:10px;width:min(340px,100% - 32px);padding:14px;position:absolute;bottom:16px;right:16px;box-shadow:0 16px 36px #01050724}.cpk-threads-tour-step{color:#087653;text-transform:uppercase;margin-bottom:8px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:600}.cpk-threads-tour-title{color:#010507;margin-bottom:6px;font-size:14px;font-weight:600;line-height:1.35}.cpk-threads-tour-copy{color:#57575b;font-size:12px;line-height:1.5}.cpk-threads-tour-actions{justify-content:space-between;gap:8px;margin-top:14px;display:flex}.cpk-threads-tour-nav{gap:8px;display:flex}.cpk-threads-tour-skip,.cpk-threads-tour-button{font:inherit;outline-offset:2px;cursor:pointer;border-radius:7px;outline:2px solid #0000;padding:7px 10px;font-size:12px;font-weight:600}.cpk-threads-overview-action:focus-visible,.cpk-threads-tour-launch:focus-visible,.cpk-threads-tour-skip:focus-visible,.cpk-threads-tour-button:focus-visible{outline-color:#6430ab}.cpk-threads-tour-skip{color:#68686e;background-color:#0000;border:0;padding-inline:0}.cpk-threads-tour-button-secondary{color:#57575b;background-color:#fff;border:1px solid #dbdbe5}.cpk-threads-tour-button-primary{color:#fff;background-color:#010507;border:1px solid #010507}.cpk-threads-tour-button:disabled{cursor:not-allowed;opacity:.45}@media (max-width:720px){.cpk-threads-overview{padding:24px}}@media (prefers-reduced-motion:reduce){.cpk-threads-overview-video{transition:none}}.inspector-window[data-color-scheme=dark]{color-scheme:dark;color:#f3f4f8!important;background-color:#111319!important;border-color:#7b7d89!important}.inspector-window[data-color-scheme=dark]>div,.inspector-window[data-color-scheme=dark] .inspector-shell,.inspector-window[data-color-scheme=dark] .inspector-main,.inspector-window[data-color-scheme=dark] #cpk-main-scroll{color:#f3f4f8!important;background-color:#111319!important}.inspector-window[data-color-scheme=dark] .drag-handle,.inspector-window[data-color-scheme=dark] .inspector-account-strip{color:#f3f4f8!important;background:#171a22!important;border-color:#3a3d49!important}.inspector-window[data-color-scheme=dark] .inspector-account-logo{filter:brightness(0)invert();clip-path:inset(0 20% 0 0)}.inspector-window[data-color-scheme=dark] .inspector-account-logo-accent{filter:none;display:block}.inspector-window[data-color-scheme=dark] .inspector-agent-placeholder{color:#b8bbc7!important;border-color:#3a3d49!important}.inspector-window[data-color-scheme=dark] .inspector-account-control{color:#b8bbc7!important;border:0!important}.inspector-window[data-color-scheme=dark] .inspector-account-control:hover,.inspector-window[data-color-scheme=dark] .inspector-account-control-active{color:#d8d9ff!important;background-color:#292c38!important}.inspector-window[data-color-scheme=dark] .inspector-account-cta{color:#d8d9ff;background-color:#292b43}.inspector-window[data-color-scheme=dark] .inspector-account-cta:hover{color:#fff;background-color:#353854}.inspector-window[data-color-scheme=dark] .inspector-window-layout-menu{color:#f3f4f8;background-color:#191c24;border-color:#464957;box-shadow:0 12px 28px #00000052}.inspector-window[data-color-scheme=dark] .inspector-window-layout-menu button:hover,.inspector-window[data-color-scheme=dark] .inspector-window-layout-menu button:focus-visible{color:#d8d9ff;background-color:#292b43}.inspector-window[data-color-scheme=dark] .inspector-sidebar .inspector-agent-selector>[data-context-dropdown-root=true]>button{color:#f3f4f8!important;background-color:#20232c!important;border-color:#464957!important}.inspector-window[data-color-scheme=dark] .inspector-sidebar .inspector-agent-selector>[data-context-dropdown-root=true]>button:hover{background-color:#292c38!important;border-color:#777aae!important}.inspector-window[data-color-scheme=dark] .inspector-sidebar .inspector-agent-selector>[data-context-dropdown-root=true]>button>span:last-child{color:#aeb1bd!important}.inspector-window[data-color-scheme=dark] [data-context-dropdown-root=true]>div{color:#f3f4f8!important;box-shadow:none!important;background-color:#191c24!important;border-color:#464957!important}.inspector-window[data-color-scheme=dark] [data-context-dropdown-root=true]>div button:hover,.inspector-window[data-color-scheme=dark] [data-context-dropdown-root=true]>div button:focus{color:#f3f4f8!important;background-color:#343746!important}.inspector-window[data-color-scheme=dark] .inspector-sidebar,.inspector-window[data-color-scheme=dark] .inspector-snippet-sidebar{color:#f3f4f8;background-color:#15171e;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-sidebar-label{color:#8f93a1}.inspector-window[data-color-scheme=dark] .inspector-sidebar-rail-tooltip{color:#191c24;background-color:#e9e9f1;box-shadow:0 7px 18px #00000047}.inspector-window[data-color-scheme=dark] .inspector-nav-control,.inspector-window[data-color-scheme=dark] .inspector-sidebar-toggle{color:#b8bbc7}.inspector-window[data-color-scheme=dark] .inspector-nav-control:hover,.inspector-window[data-color-scheme=dark] .inspector-sidebar-toggle:hover{color:#fff;background-color:#22252f}.inspector-window[data-color-scheme=dark] .inspector-nav-control-active{color:#d8d9ff;background-color:#292b43;border-color:#666a9e}.inspector-window[data-color-scheme=dark] .inspector-sidebar-agent-scope{border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-sidebar-status-card{background-color:#191c24;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-sidebar-status-copy strong{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .inspector-sidebar-status-copy>span,.inspector-window[data-color-scheme=dark] .inspector-sidebar-status-card[data-state=disconnected] .inspector-sidebar-status-copy>span{color:#9da1af}.inspector-window[data-color-scheme=dark] .inspector-sidebar-status-action{color:#caccff}.inspector-window[data-color-scheme=dark] .inspector-sidebar-status-action:hover{color:#fff;background-color:#292b43}.inspector-window[data-color-scheme=dark] .inspector-sidebar-intelligence-setup{color:#d8d9ff;background-color:#292b43;border-color:#666a9e}.inspector-window[data-color-scheme=dark] .inspector-sidebar-intelligence-setup:hover{background-color:#343653;border-color:#777aae}.inspector-window[data-color-scheme=dark] .inspector-sidebar-intelligence-setup .inspector-sidebar-status-copy strong{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .inspector-sidebar-setup-arrow{background-color:#caccff1f}@media (prefers-reduced-motion:reduce){.inspector-sidebar-intelligence-setup{animation:none}}.inspector-window[data-color-scheme=dark] .inspector-home{background-color:#111319}.inspector-window[data-color-scheme=dark] .inspector-settings{color:#f3f4f8;background-color:#111319}.inspector-window[data-color-scheme=dark] .inspector-settings-header,.inspector-window[data-color-scheme=dark] .inspector-settings-privacy,.inspector-window[data-color-scheme=dark] .inspector-settings-private-content{border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-settings-title,.inspector-window[data-color-scheme=dark] .inspector-settings-section-heading h2,.inspector-window[data-color-scheme=dark] .inspector-settings-status-row h3,.inspector-window[data-color-scheme=dark] .inspector-settings-private-content strong{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .inspector-settings-subtitle,.inspector-window[data-color-scheme=dark] .inspector-settings-section-heading p,.inspector-window[data-color-scheme=dark] .inspector-settings-status-row p,.inspector-window[data-color-scheme=dark] .inspector-settings-private-content>p{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .inspector-settings-section-icon{color:#d8d9ff;background-color:#292b43;border-color:#666a9e}.inspector-window[data-color-scheme=dark] .inspector-settings-private-content li{color:#c9ccd6}.inspector-window[data-color-scheme=dark] .inspector-settings-private-content li span{color:#75d8b9}.inspector-window[data-color-scheme=dark] .inspector-settings-status{color:#8ce1c5;background-color:#173b32;border-color:#347d69}.inspector-window[data-color-scheme=dark] .inspector-settings-privacy[data-state=disabled] .inspector-settings-status{color:#f2cf8f;background-color:#342916;border-color:#866932}.inspector-window[data-color-scheme=dark] .inspector-settings-policy-link{color:#caccff}.inspector-window[data-color-scheme=dark] .inspector-settings-policy-link:hover{color:#fff}.inspector-window[data-color-scheme=dark] .inspector-home-card,.inspector-window[data-color-scheme=dark] .inspector-home-story,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud,.inspector-window[data-color-scheme=dark] .inspector-home-feature-list,.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview{color:#f3f4f8;background:#191c24;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud[data-state=disconnected]{background-color:#1d1e2b;border-color:#666a9e}.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud[data-state=disconnected] .inspector-intelligence-hud-description{color:#c5c7d0}.inspector-window[data-color-scheme=dark] .inspector-system-health,.inspector-window[data-color-scheme=dark] .inspector-system-health-section{border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-system-health-section{background-color:#191c24}.inspector-window[data-color-scheme=dark] .inspector-system-health-section .inspector-system-health-header{background-color:#191c24;border-bottom-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-system-health{background-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal{background-color:#191c24}.inspector-window[data-color-scheme=dark] .inspector-system-health-event-link>small{color:#caccff}.inspector-window[data-color-scheme=dark] .inspector-system-health-header>span[data-tone=success]{color:#8ce1c5}.inspector-window[data-color-scheme=dark] .inspector-system-health-state[data-tone=success],.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-state[data-tone=success]{background-color:#173b32;border-color:#347d69;color:#8ce1c5!important}.inspector-window[data-color-scheme=dark] .inspector-system-health-state[data-tone=checking],.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-state[data-tone=checking]{background-color:#342916;border-color:#866932;color:#f2cf8f!important}.inspector-window[data-color-scheme=dark] .inspector-system-health-state[data-tone=offline],.inspector-window[data-color-scheme=dark] .inspector-system-health-state[data-tone=error],.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-state[data-tone=offline],.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-state[data-tone=error]{background-color:#3b1c22;border-color:#87424a;color:#ff9aa0!important}.inspector-window[data-color-scheme=dark] .inspector-system-health-state[data-tone=unavailable],.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-state[data-tone=unavailable]{background-color:#242731;border-color:#464957;color:#aeb1bd!important}.inspector-window[data-color-scheme=dark] .inspector-system-health-header>span[data-tone=checking]{color:#f2cf8f}.inspector-window[data-color-scheme=dark] .inspector-system-health-header>span[data-tone=offline],.inspector-window[data-color-scheme=dark] .inspector-system-health-header>span[data-tone=error]{color:#ff9aa0}.inspector-window[data-color-scheme=dark] .inspector-home-story-link:hover,.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview:has(.inspector-whats-new-preview-body:hover){background:#242131;border-color:#777aae}.inspector-window[data-color-scheme=dark] .inspector-home-title,.inspector-window[data-color-scheme=dark] .inspector-home-section-title,.inspector-window[data-color-scheme=dark] .inspector-home-card-title,.inspector-window[data-color-scheme=dark] .inspector-system-health-signal dd,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details .inspector-intelligence-hud-detail-value,.inspector-window[data-color-scheme=dark] .inspector-home-feature{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .inspector-home-eyebrow,.inspector-window[data-color-scheme=dark] .inspector-home-card-label,.inspector-window[data-color-scheme=dark] .inspector-home-meta,.inspector-window[data-color-scheme=dark] .inspector-home-body,.inspector-window[data-color-scheme=dark] .inspector-home-card-copy,.inspector-window[data-color-scheme=dark] .inspector-system-health-signal dt,.inspector-window[data-color-scheme=dark] .inspector-system-health-signal small,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-heading p,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details .inspector-intelligence-hud-detail-label,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details .inspector-intelligence-hud-detail-subvalue,.inspector-window[data-color-scheme=dark] .inspector-home-section-header>span,.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview-copy>span:last-child{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details{background-color:#3a3d49;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details>section{background-color:#15171e}.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-plan-action{color:#caccff}.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-plan-action:hover{color:#fff;background-color:#0000;border-color:#0000}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal+.inspector-system-health-signal,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details>section+section,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details,.inspector-window[data-color-scheme=dark] .inspector-home-features-empty{border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal[data-tone=success] dd,.inspector-window[data-color-scheme=dark] .inspector-home-feature small{color:#8ce1c5}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal[data-tone=active] dd{color:#f2cf8f}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal[data-tone=error] .inspector-system-health-event-type{color:#ff9aa0;background-color:#3b1c22}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal[data-tone=success] .inspector-system-health-event-type{color:#8ce1c5;background-color:#173b32}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal[data-tone=active] .inspector-system-health-event-type{color:#f2cf8f;background-color:#342916}.inspector-window[data-color-scheme=dark] .inspector-home-feature-group{background-color:#191c24;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-home-feature-group-header{color:#c9ccd6;background-color:#20232d;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-home-feature-group-header>span{color:#c9ccd6;background-color:#191c24}.inspector-window[data-color-scheme=dark] .inspector-home-feature-group[data-feature-state-group=active] .inspector-home-feature-group-header{color:#8ce1c5;background-color:#173b32;border-color:#347d69}.inspector-window[data-color-scheme=dark] .inspector-home-feature{background-color:#191c24}.inspector-window[data-color-scheme=dark] .inspector-home-feature:hover{background-color:#20232d}.inspector-window[data-color-scheme=dark] .inspector-home-feature+.inspector-home-feature{border-color:#2f323d}.inspector-window[data-color-scheme=dark] .inspector-home-feature-group-empty{color:#9da1af}.inspector-window[data-color-scheme=dark] .inspector-home-feature[data-state=off]{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .inspector-home-feature[data-state=off] small,.inspector-window[data-color-scheme=dark] .inspector-home-feature-arrow{color:#9da1af}.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview-dismiss{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview-dismiss:hover{color:#fff;background-color:#302a40}.inspector-window[data-color-scheme=dark] .inspector-home-usage-bar{background-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-thread-progress::-webkit-progress-bar{background-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-whats-new-header{box-shadow:none;background-color:#1d1e2b;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-whats-new-updated,.inspector-window[data-color-scheme=dark] .inspector-whats-new-empty{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview-action{color:#d8d9ff}.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview:hover .inspector-whats-new-preview-action{color:#fff}.inspector-window[data-color-scheme=dark] .inspector-whats-new-document,.inspector-window[data-color-scheme=dark] .inspector-whats-new-empty{border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content{color:#c9ccd6}.inspector-window[data-color-scheme=dark] .inspector-whats-new-empty .inspector-home-card-title{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content h1+p{color:#c9ccd6}.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content h2{border-top-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content h1,.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content h2,.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content h3,.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content strong{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content a{color:#caccff}.inspector-window[data-color-scheme=dark] .inspector-threads-footer{color:#aeb1bd;background-color:#15171e;border-color:#343742}.inspector-window[data-color-scheme=dark] [data-inspector-thread-count]{color:#f3f4f8}.inspector-window[data-color-scheme=dark] [data-inspector-thread-expiry]{color:#aeb1bd}.inspector-window[data-color-scheme=dark] [data-inspector-action-placement=threads-footer]{color:#d8d9ff;background-color:#191c24;border-color:#464957}.inspector-window[data-color-scheme=dark] [data-inspector-action-placement=threads-footer]:hover{color:#fff;background-color:#20232d;border-color:#777aae}.inspector-window[data-color-scheme=dark] .cpk-threads-overview{background-color:#111319}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-content,.inspector-window[data-color-scheme=dark] .cpk-threads-overview-copy,.inspector-window[data-color-scheme=dark] .cpk-threads-overview-video-fallback,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-copy{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-title,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-title{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-video-frame{background:linear-gradient(135deg,#666a9e3d,#347d6929),#191c24;border-color:#3a3d49;box-shadow:0 8px 20px #00000038}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-video-control,.inspector-window[data-color-scheme=dark] .cpk-threads-overview-action-secondary,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-launch,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-button-secondary{color:#d8d9ff;background-color:#191c24;border-color:#464957}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-video-control:hover,.inspector-window[data-color-scheme=dark] .cpk-threads-overview-action-secondary:hover,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-launch:hover,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-button-secondary:hover{color:#fff;background-color:#242731;border-color:#777aae}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-action-primary,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-button-primary{color:#171823;background-color:#caccff;border-color:#caccff}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-action-primary:hover,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-button-primary:hover{background-color:#d8d9ff;border-color:#d8d9ff}.inspector-window[data-color-scheme=dark] .cpk-threads-tour{color:#aeb1bd;background-color:#191c24;border-color:#464957;box-shadow:0 16px 36px #00000052}.inspector-window[data-color-scheme=dark] .cpk-threads-tour-step{color:#8ce1c5}.inspector-window[data-color-scheme=dark] .cpk-threads-tour-skip{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-action:focus-visible,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-launch:focus-visible,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-skip:focus-visible,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-button:focus-visible{outline-color:#bec2ff}.inspector-window[data-color-scheme=dark] .cpk-memory-locked{color:#f3f4f8;background-color:#111319}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-sidebar{background-color:#15171e;border-color:#2f323d}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-main{background-color:#111319}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-row{background-color:#191c24;box-shadow:inset 0 0 0 1px #2f323d}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-row[data-accent=true]{background-color:#292b43}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-bar{background-color:#333641}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-row[data-accent=true] .cpk-locked-preview-row-title{background-color:#777aae}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-row-line,.inspector-window[data-color-scheme=dark] .cpk-locked-preview-copy,.inspector-window[data-color-scheme=dark] .cpk-locked-preview-footer-line{background-color:#2f323d}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-row-line:last-child,.inspector-window[data-color-scheme=dark] .cpk-locked-preview-copy+.cpk-locked-preview-copy,.inspector-window[data-color-scheme=dark] .cpk-locked-preview-footer-line+.cpk-locked-preview-footer-line{background-color:#292c36}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-card{background-color:#191c24;box-shadow:inset 0 0 0 1px #2f323d}.inspector-window[data-color-scheme=dark] .cpk-memory-locked-scrim{background:radial-gradient(circle,#111319f0 0,#111319d6 24%,#11131975 48%,#111319ad 100%)}.inspector-window[data-color-scheme=dark] .cpk-memory-locked-content,.inspector-window[data-color-scheme=dark] .cpk-memory-locked-copy{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .cpk-memory-locked-title{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .cpk-memory-locked-icon{color:#d8d9ff;box-shadow:none;background-color:#292b43;border-color:#666a9e}.inspector-window[data-color-scheme=dark] .cpk-memory-locked-action-secondary{color:#d8d9ff;background-color:#191c24;border-color:#464957}.inspector-window[data-color-scheme=dark] .cpk-memory-locked-action-secondary:hover{color:#fff;background-color:#242731;border-color:#777aae}.inspector-window[data-color-scheme=dark] .cpk-agent-overview,.inspector-window[data-color-scheme=dark] .cpk-section-card{background-color:#191c24!important;border-color:#3a3d49!important}.inspector-window[data-color-scheme=dark] .cpk-section-header{background-color:#242731!important;border-color:#3a3d49!important}.inspector-window[data-color-scheme=dark] .cpk-section-header h4{color:#f3f4f8!important}.inspector-window[data-color-scheme=dark] .cpk-agent-icon{color:#d8d9ff!important;background-color:#292b43!important}.inspector-window[data-color-scheme=dark] .cpk-stat-card{background-color:#191c24!important;border-color:#464957!important}.inspector-window[data-color-scheme=dark] button.cpk-stat-card:hover{background-color:#20232d!important}.inspector-window[data-color-scheme=dark] .cpk-agent-view .divide-gray-200>:not([hidden])~:not([hidden]){border-color:#3a3d49!important}.inspector-window[data-color-scheme=dark] .cpk-json-block{color:#c9ccd6}.inspector-window[data-color-scheme=dark] [class*=bg-emerald-50],.inspector-window[data-color-scheme=dark] [class*=bg-green-100]{color:#8ce1c5!important;background-color:#173b32!important}.inspector-window[data-color-scheme=dark] [class*=bg-rose-50]{color:#ff9aa0!important;background-color:#3b1c22!important}.inspector-window[data-color-scheme=dark] [data-cpk-event-error] p,.inspector-window[data-color-scheme=dark] [data-playground-error] p{color:inherit!important}.inspector-window[data-color-scheme=dark] [class*=bg-amber-50],.inspector-window[data-color-scheme=dark] [class*=bg-amber-100]{color:#f2cf8f!important;background-color:#342916!important}.inspector-window[data-color-scheme=dark] [class*=bg-blue-50],.inspector-window[data-color-scheme=dark] [class*=bg-blue-100],.inspector-window[data-color-scheme=dark] [class*=bg-sky-50],.inspector-window[data-color-scheme=dark] [class*=bg-violet-50],.inspector-window[data-color-scheme=dark] [class*=bg-purple-50],.inspector-window[data-color-scheme=dark] [class*=bg-fuchsia-50]{color:#d8d9ff!important;background-color:#292b43!important}.inspector-window[data-color-scheme=dark] [class*=bg-white]{background-color:#191c24!important}.inspector-window[data-color-scheme=dark] [class*=bg-gray-50],.inspector-window[data-color-scheme=dark] [class*=bg-slate-50],.inspector-window[data-color-scheme=dark] [class*=bg-gray-100],.inspector-window[data-color-scheme=dark] [class*=bg-slate-100]{background-color:#171a22!important}.inspector-window[data-color-scheme=dark] [class*=text-gray-900],.inspector-window[data-color-scheme=dark] [class*=text-slate-900],.inspector-window[data-color-scheme=dark] [class*=text-gray-800],.inspector-window[data-color-scheme=dark] [class*=text-slate-800],.inspector-window[data-color-scheme=dark] [class*=text-gray-700],.inspector-window[data-color-scheme=dark] [class*=text-slate-700]{color:#f3f4f8!important}.inspector-window[data-color-scheme=dark] [class*=text-gray-600],.inspector-window[data-color-scheme=dark] [class*=text-slate-600],.inspector-window[data-color-scheme=dark] [class*=text-gray-500],.inspector-window[data-color-scheme=dark] [class*=text-slate-500],.inspector-window[data-color-scheme=dark] [class*=text-gray-400],.inspector-window[data-color-scheme=dark] [class*=text-slate-400]{color:#aeb1bd!important}.inspector-window[data-color-scheme=dark] [class*=border-gray-100],.inspector-window[data-color-scheme=dark] [class*=border-slate-100],.inspector-window[data-color-scheme=dark] [class*=border-gray-200],.inspector-window[data-color-scheme=dark] [class*=border-slate-200],.inspector-window[data-color-scheme=dark] [class*=border-gray-300],.inspector-window[data-color-scheme=dark] [class*=border-slate-300]{border-color:#3a3d49!important}.inspector-window[data-color-scheme=dark] input,.inspector-window[data-color-scheme=dark] select,.inspector-window[data-color-scheme=dark] textarea{color:#f3f4f8!important;background-color:#191c24!important;border-color:#464957!important}.inspector-window[data-color-scheme=dark] input::placeholder,.inspector-window[data-color-scheme=dark] textarea::placeholder{color:#858996}.inspector-window[data-color-scheme=dark] ::selection{color:#fff;background-color:#5b5f92}@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-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-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-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-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 spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
|
|
9
|
+
var generated_default = "/*! tailwindcss v4.1.18 | 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-green-100:oklch(96.2% .044 156.743);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-800:oklch(43.2% .232 292.759);--color-violet-950:oklch(28.3% .141 291.089);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-700:oklch(49.6% .265 301.924);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-950:oklch(27.1% .105 12.094);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-medium:500;--font-weight-semibold:600;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,ui-sans-serif,system-ui,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{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}:host{font-family:var(--font-sans);color:var(--color-slate-900);background-color:#0000;display:block}}@layer components;@layer utilities{.\\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-3{margin-block:calc(var(--spacing)*3)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-auto{margin-right:auto}.mb-0\\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.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}.table{display:table}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.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-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-\\[28rem\\]{height:28rem}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing)*32)}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-7{min-height:calc(var(--spacing)*7)}.min-h-\\[20rem\\]{min-height:20rem}.min-h-\\[40px\\]{min-height:40px}.min-h-\\[420px\\]{min-height:420px}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-40{width:calc(var(--spacing)*40)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\\[80\\%\\]{max-width:80%}.max-w-\\[200px\\]{max-width:200px}.max-w-\\[240px\\]{max-width:240px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\\[200px\\]{min-width:200px}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.translate-x-0\\.5{--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-\\[2px\\]{--tw-translate-y:calc(2px*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-nwse-resize{cursor:nwse-resize}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.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)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[16px\\]{border-radius:16px}.rounded-\\[28px\\]{border-radius:28px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-200{border-color:var(--color-blue-200)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-gray-200{border-color:var(--color-gray-200)}.border-purple-200{border-color:var(--color-purple-200)}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-300{border-color:var(--color-rose-300)}.border-slate-200{border-color:var(--color-slate-200)}.border-violet-200{border-color:var(--color-violet-200)}.bg-\\[\\#00000014\\]{background-color:#00000014}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-black{background-color:var(--color-black)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-50\\/50{background-color:#f9fafb80}@supports (color:color-mix(in lab, red, red)){.bg-gray-50\\/50{background-color:color-mix(in oklab,var(--color-gray-50)50%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-100{background-color:var(--color-green-100)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-white{background-color:var(--color-white)}.bg-white\\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\\/95{background-color:color-mix(in oklab,var(--color-white)95%,transparent)}}.p-0\\.5{padding:calc(var(--spacing)*.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pt-8{padding-top:calc(var(--spacing)*8)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-\\[22px\\]{--tw-leading:22px;line-height:22px}.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)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[rgb\\(13\\,13\\,13\\)\\]{color:#0d0d0d}.text-amber-600{color:var(--color-amber-600)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-purple-700{color:var(--color-purple-700)}.text-rose-700{color:var(--color-rose-700)}.text-rose-800{color:var(--color-rose-800)}.text-rose-950{color:var(--color-rose-950)}.text-slate-500{color:var(--color-slate-500)}.text-slate-800{color:var(--color-slate-800)}.text-violet-500{color:var(--color-violet-500)}.text-violet-600{color:var(--color-violet-600)}.text-violet-950{color:var(--color-violet-950)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-violet-300{-webkit-text-decoration-color:var(--color-violet-300);-webkit-text-decoration-color:var(--color-violet-300);text-decoration-color:var(--color-violet-300)}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_4px_4px_0_\\#0000000a\\,0_0_1px_0_\\#0000009e\\]{--tw-shadow:0 4px 4px 0 var(--tw-shadow-color,#0000000a),0 0 1px 0 var(--tw-shadow-color,#0000009e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px 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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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-sm{--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)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-transparent{--tw-ring-color:transparent}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;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-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-gray-500::placeholder{color:var(--color-gray-500)}.focus-within\\:shadow-\\[0_6px_18px_0_\\#00000014\\,0_0_1px_0_\\#0000009e\\]:focus-within{--tw-shadow:0 6px 18px 0 var(--tw-shadow-color,#00000014),0 0 1px 0 var(--tw-shadow-color,#0000009e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.hover\\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\\:bg-blue-50\\/50:hover{background-color:#eff6ff80}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-blue-50\\/50:hover{background-color:color-mix(in oklab,var(--color-blue-50)50%,transparent)}}.hover\\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\\:bg-rose-100:hover{background-color:var(--color-rose-100)}.hover\\:bg-violet-100:hover{background-color:var(--color-violet-100)}.hover\\:text-gray-900:hover{color:var(--color-gray-900)}.hover\\:text-violet-800:hover{color:var(--color-violet-800)}.hover\\:decoration-violet-700:hover{-webkit-text-decoration-color:var(--color-violet-700);-webkit-text-decoration-color:var(--color-violet-700);text-decoration-color:var(--color-violet-700)}.hover\\:opacity-70:hover{opacity:.7}}.focus\\:border-gray-300:focus{border-color:var(--color-gray-300)}.focus\\:border-violet-400:focus{border-color:var(--color-violet-400)}.focus\\:bg-gray-50:focus{background-color:var(--color-gray-50)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + 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)}.focus\\:ring-gray-200:focus{--tw-ring-color:var(--color-gray-200)}.focus\\:ring-violet-100:focus{--tw-ring-color:var(--color-violet-100)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:rounded:focus-visible{border-radius:.25rem}.focus-visible\\:rounded-sm:focus-visible{border-radius:var(--radius-sm)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + 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)}.focus-visible\\:ring-rose-300:focus-visible{--tw-ring-color:var(--color-rose-300)}.focus-visible\\:ring-violet-300:focus-visible{--tw-ring-color:var(--color-violet-300)}.focus-visible\\:ring-violet-400:focus-visible{--tw-ring-color:var(--color-violet-400)}.focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-\\[\\#BEC2FF\\]:focus-visible{outline-color:#bec2ff}.focus-visible\\:outline-gray-300:focus-visible{outline-color:var(--color-gray-300)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:opacity-60:active{opacity:.6}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:text-gray-500:disabled{color:var(--color-gray-500)}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-60:disabled{opacity:.6}@media (min-width:48rem){.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\\[\\&\\>svg\\]\\:\\!h-8>svg{height:calc(var(--spacing)*8)!important}.\\[\\&\\>svg\\]\\:h-3>svg{height:calc(var(--spacing)*3)}.\\[\\&\\>svg\\]\\:h-3\\.5>svg{height:calc(var(--spacing)*3.5)}.\\[\\&\\>svg\\]\\:h-\\[18px\\]>svg{height:18px}.\\[\\&\\>svg\\]\\:\\!w-8>svg{width:calc(var(--spacing)*8)!important}.\\[\\&\\>svg\\]\\:w-3>svg{width:calc(var(--spacing)*3)}.\\[\\&\\>svg\\]\\:w-3\\.5>svg{width:calc(var(--spacing)*3.5)}.\\[\\&\\>svg\\]\\:w-\\[18px\\]>svg{width:18px}.\\[\\&\\>svg\\]\\:animate-spin>svg{animation:var(--animate-spin)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.cpk-json-block{white-space:pre-wrap;word-break:break-all;color:#57575b;margin:0;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:11px;line-height:1.8;overflow:auto}.inspector-account-strip{border-bottom:1px solid #d8d8e8;width:100%;min-width:0;color:#010507!important;background:linear-gradient(90deg,#fff 0%,#f3f1ff 58%,#eefbf7 100%)!important}.inspector-account-logo{filter:none}.inspector-account-brand{position:relative}.inspector-account-logo-accent{clip-path:inset(0 0 0 80%);pointer-events:none;display:none;position:absolute;inset:0}.inspector-account-cta{isolation:isolate;color:#3f176f;white-space:nowrap;cursor:pointer;background-color:#eee6fe;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;gap:7px;min-height:32px;padding:7px 10px;font-size:11px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.inspector-account-cta:after{z-index:0;content:\"\";opacity:0;pointer-events:none;background:linear-gradient(105deg,#0000 0%,#ffffff14 32%,#ffffffad 50%,#ffffff14 68%,#0000 100%);width:68%;animation:3.8s cubic-bezier(.16,1,.3,1) infinite inspector-account-cta-shimmer;position:absolute;inset:0;transform:translate(-180%)skew(-14deg)}.inspector-account-cta>*{z-index:1;position:relative}.inspector-account-cta[data-motion-paused=true]:after{animation-play-state:paused}@keyframes inspector-account-cta-shimmer{0%{opacity:0;transform:translate(-180%)skew(-14deg)}12%{opacity:1}82%{opacity:.8}to{opacity:0;transform:translate(280%)skew(-14deg)}}.inspector-account-cta:hover{color:#32105d;background-color:#e4d8fc}.inspector-account-cta svg{width:14px;height:14px}@media (prefers-reduced-motion:reduce){.inspector-account-cta:after{animation:none}}.inspector-window-layout{position:relative}.inspector-window-layout-menu{z-index:60;color:#010507;background-color:#fff;border:1px solid #d8d8e8;border-radius:5px;width:188px;padding:4px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 10px 24px #1f173924}.inspector-window-layout-menu button{min-height:34px;color:inherit;text-align:left;cursor:pointer;background-color:#0000;border:0;border-radius:4px;align-items:center;gap:9px;padding:7px 9px;font-size:12px;font-weight:600;display:flex}.inspector-window-layout-menu button:hover,.inspector-window-layout-menu button:focus-visible{color:#3f176f;background-color:#eee6fe;outline:none}.inspector-window-layout-menu button span:first-child{flex:none;display:inline-flex}.inspector-agent-placeholder{color:#68686e;border-color:#c8c8d8}.inspector-primary-navigation,.inspector-child-navigation{display:none}.inspector-shell{background-color:#f7f6fd;flex:auto;min-height:0;display:flex}.inspector-sidebar{z-index:20;background-color:#f7f6fd;border-right:1px solid #d8d8e8;flex-direction:column;flex:none;gap:8px;width:224px;min-width:224px;padding:12px 10px;transition:width .22s,min-width .22s,padding .22s;display:flex;position:relative;overflow:visible}.inspector-sidebar[data-icon-rail=true]{align-items:center;width:52px;min-width:52px;padding:8px}.inspector-sidebar-agent-scope{border-bottom:1px solid #d8d8e8;flex:none;min-width:0;padding-bottom:10px}.inspector-sidebar .inspector-agent-selector{width:100%;min-width:0}.inspector-sidebar .inspector-agent-selector>[data-context-dropdown-root=true]>button{background-color:#fff;border-radius:5px;max-width:none;min-height:34px;padding:6px 8px}.inspector-context-dropdown-icon{color:#68686e;display:inline-flex}.inspector-context-dropdown-icon svg,.inspector-context-dropdown-chevron svg{width:14px;height:14px}.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-agent-scope{padding-bottom:8px}.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-agent-scope,.inspector-sidebar[data-icon-rail=true] .inspector-agent-selector,.inspector-sidebar[data-icon-rail=true] .inspector-agent-selector>[data-context-dropdown-root=true],.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-footer{flex:none;justify-content:center;align-items:center;width:36px;min-width:36px;max-width:36px;display:flex}.inspector-sidebar[data-icon-rail=true] .inspector-agent-selector>[data-context-dropdown-root=true]>button,.inspector-sidebar[data-icon-rail=true] .inspector-agent-placeholder{box-sizing:border-box;justify-content:center;align-items:center;gap:0;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;padding:0;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s;display:flex;overflow:visible}.inspector-sidebar[data-icon-rail=true] .inspector-context-dropdown-label,.inspector-sidebar[data-icon-rail=true] .inspector-context-dropdown-chevron,.inspector-sidebar[data-icon-rail=true] .inspector-agent-placeholder span:last-child{display:none}.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-agent-scope [data-context-dropdown-root=true]>div{margin-top:0;top:0;left:calc(100% + 8px)}.inspector-icon-rail-menu{transform-origin:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility .18s;transform:translate(-8px)scale(.96)}.inspector-icon-rail-menu[data-open=true]{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0)scale(1)}.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-section+.inspector-sidebar-section{border-top:1px solid #dbdbe5;margin-top:4px;padding-top:10px}.inspector-sidebar-nav{cursor:default;flex-direction:column;flex:auto;gap:14px;min-height:0;display:flex;overflow:hidden auto}.inspector-sidebar-section{flex-direction:column;gap:4px;display:flex}.inspector-sidebar-label{color:#838389;letter-spacing:.02em;text-align:left;text-transform:none;background:0 0;border:0;width:100%;margin:0 0 2px;padding:0 8px;font-size:11px;font-weight:600;display:block}.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-label,.inspector-sidebar[data-icon-rail=true] .inspector-nav-label{display:none}.inspector-sidebar-rail-tooltip{z-index:60;color:#fff;pointer-events:none;white-space:nowrap;background-color:#242331;border-radius:6px;max-width:220px;padding:6px 9px;font-size:11px;font-weight:600;line-height:1.2;position:absolute;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 7px 18px #1a172a2e}.inspector-sidebar-control{justify-content:flex-start;width:100%;min-height:36px;display:flex;position:relative}.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-nav{overflow:visible}.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-control,.inspector-sidebar[data-icon-rail=true] .inspector-sidebar-toggle,.inspector-sidebar[data-icon-rail=true] .inspector-nav-control{box-sizing:border-box;justify-content:center;align-items:center;gap:0;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;overflow:visible}.inspector-sidebar[data-icon-rail=true] .inspector-nav-icon,.inspector-sidebar[data-icon-rail=true] .inspector-nav-icon svg,.inspector-sidebar[data-icon-rail=true] .inspector-context-dropdown-icon,.inspector-sidebar[data-icon-rail=true] .inspector-context-dropdown-icon svg{width:18px;height:18px;overflow:visible}.inspector-home-badge{background-color:#fa5f67;border-radius:999px;width:7px;height:7px;position:absolute;top:8px;right:8px}.inspector-sidebar[data-icon-rail=true] .inspector-home-badge{top:6px;right:8px}.inspector-sidebar-toggle{color:#57575b;width:100%;min-height:32px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;justify-content:flex-start;align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:600;display:flex}.inspector-sidebar-toggle:hover{color:#010507;background-color:#f0f0f4}.inspector-sidebar-footer{flex-direction:column;flex:none;gap:6px;padding:2px 0 0;display:flex}.inspector-sidebar-status-list{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.inspector-sidebar-status-card{color:#2b2b2b;background-color:#fff;border:1px solid #d8d8e8;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;padding:9px 10px;display:grid;position:relative}.inspector-sidebar-status-copy{flex-direction:column;gap:2px;min-width:0;line-height:1.25;display:flex}.inspector-sidebar-status-copy strong{color:#010507;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.inspector-sidebar-status-copy>span{color:#57575b;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.inspector-sidebar-status-card[data-state=disconnected] .inspector-sidebar-status-copy>span{color:#68686e}.inspector-sidebar-status-action{color:#3f176f;white-space:nowrap;background-color:#0000;border:0;border-radius:5px;justify-content:center;align-items:center;gap:0;width:28px;height:28px;padding:0;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.inspector-sidebar-status-action:hover{color:#6430ab;background-color:#eee7f8;text-decoration:none}.inspector-sidebar-status-action svg{width:12px;height:12px}.inspector-sidebar-status-action-label{display:none}.inspector-sidebar-intelligence-setup{color:#3f176f;cursor:pointer;background-color:#eee7f8;border-color:#bba5df;text-decoration:none;transition:border-color .12s,background-color .12s,box-shadow .3s;animation:3.2s ease-in-out infinite inspector-sidebar-intelligence-setup-glow}@keyframes inspector-sidebar-intelligence-setup-glow{0%,to{box-shadow:0 0 #6430ab00}50%{box-shadow:0 0 16px 2px #6430ab26}}.inspector-sidebar-intelligence-setup:hover{background-color:#e4d9f4;border-color:#8e6fc0}.inspector-sidebar-intelligence-setup .inspector-sidebar-status-copy strong{color:#3f176f}.inspector-sidebar-setup-arrow{background-color:#6430ab1a;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.inspector-sidebar-setup-arrow svg{width:13px;height:13px}.inspector-main{background-color:#fff;flex-direction:column;flex:auto;min-width:0;display:flex;position:relative}.cpk-memory-locked{background-color:#fff;justify-content:center;align-items:center;height:100%;padding:32px;display:flex;position:relative;overflow:hidden}.cpk-locked-preview{opacity:.58;pointer-events:none;grid-template-columns:minmax(180px,28%) 1fr;display:grid;position:absolute;inset:0;overflow:hidden}.cpk-locked-preview-sidebar{background-color:#fafafa;border-right:1px solid #dbdbe5;flex-direction:column;gap:12px;padding:28px 24px;display:flex}.cpk-locked-preview-row{background-color:#fff;border-radius:10px;padding:12px;box-shadow:inset 0 0 0 1px #eeeef4}.cpk-locked-preview-row[data-accent=true]{background-color:#eee6fe}.cpk-locked-preview-bar{background-color:#d7d7df;border-radius:999px}.cpk-locked-preview-row-title{width:var(--preview-width);height:8px}.cpk-locked-preview-row[data-accent=true] .cpk-locked-preview-row-title{background-color:#a984f5}.cpk-locked-preview-row-line{background-color:#e3e3eb;width:88%;height:6px;margin-top:10px}.cpk-locked-preview-row-line:last-child{background-color:#e8e8ef;width:62%;margin-top:7px}.cpk-locked-preview-main{background-color:#fff;min-width:0;padding:42px 48px}.cpk-locked-preview-heading{width:180px;height:10px}.cpk-locked-preview-copy{background-color:#e3e3eb;width:min(520px,58%);height:8px;margin-top:28px}.cpk-locked-preview-copy+.cpk-locked-preview-copy{background-color:#e8e8ef;width:min(430px,48%);margin-top:12px}.cpk-locked-preview-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:620px;margin-top:30px;display:grid}.cpk-locked-preview-card{background-color:#f5f5f8;border-radius:10px;height:116px;box-shadow:inset 0 0 0 1px #eeeef4}.cpk-locked-preview-footer-line{background-color:#e3e3eb;width:min(680px,74%);height:10px;margin-top:34px}.cpk-locked-preview-footer-line+.cpk-locked-preview-footer-line{background-color:#e8e8ef;width:min(560px,60%);margin-top:14px}.cpk-memory-locked-scrim{pointer-events:none;background:radial-gradient(circle,#ffffffe6 0,#ffffffc7 24%,#ffffff57 48%,#ffffff8f 100%);position:absolute;inset:0}.cpk-memory-locked-content{z-index:1;color:#57575b;text-align:center;max-width:440px;position:relative}.cpk-memory-locked-icon-wrap{justify-content:center;margin:0 auto 18px;display:flex}.cpk-memory-locked-icon{color:#57575b;background-color:#eee6fe;border:1px solid #dfd6fb;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 8px 18px #57575b24}.cpk-memory-locked-title{color:#010507;margin:0 0 8px;font-size:16px;font-weight:600;line-height:1.35}.cpk-memory-locked-copy{color:#57575b;max-width:380px;margin:0 auto 18px;font-size:13px;line-height:1.55}.cpk-memory-locked-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.cpk-memory-locked-action{color:#fff;background-color:#6430ab;border:1px solid #6430ab;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:8px 12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.cpk-memory-locked-action:hover{background-color:#4e238c;border-color:#4e238c}.cpk-memory-locked-action-secondary{color:#57575b;background-color:#fff;border-color:#dbdbe5}.cpk-memory-locked-action-secondary:hover{background-color:#f7f7f9;border-color:#afafb7}.inspector-home{background-color:#fff;min-height:100%;padding:30px 32px 40px;position:relative;overflow:auto}.inspector-home:before{display:none}.inspector-home>*{width:min(100%,960px);margin-left:auto;margin-right:auto}.inspector-settings{color:#010507;background-color:#fff;min-height:100%;padding:28px 28px 36px;overflow:auto}.inspector-settings-header{max-width:70ch;padding-bottom:22px}.inspector-settings-title{color:#010507;margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:28px;font-weight:600;line-height:1.15}.inspector-settings-subtitle{color:#57575b;max-width:60ch;margin:10px 0 0;font-size:14px;line-height:1.5}.inspector-settings-section{grid-template-columns:minmax(138px,168px) minmax(0,1fr);gap:30px;max-width:820px;margin-top:28px;display:grid}.inspector-settings-section-heading{align-items:flex-start;gap:10px;display:flex}.inspector-settings-section-icon{color:#3f176f;background-color:#eee6fe;border:1px solid #bec2ff;border-radius:5px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.inspector-settings-section-icon svg{width:16px;height:16px}.inspector-settings-section-heading h2,.inspector-settings-status-row h3{color:#010507;margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600}.inspector-settings-section-heading h2{font-size:15px;line-height:1.3}.inspector-settings-section-heading p{color:#68686e;margin:5px 0 0;font-size:11px;line-height:1.45}.inspector-settings-privacy{border-bottom:1px solid #d5d3e4;padding:0 0 22px}.inspector-settings-status-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.inspector-settings-status-row h3{font-size:16px;line-height:1.3}.inspector-settings-status-row p{color:#57575b;max-width:56ch;margin:8px 0 0;font-size:13px;line-height:1.55}.inspector-settings-status{color:#087653;background-color:#e5f7f1;border:1px solid #85d3bb;border-radius:999px;flex:none;align-items:center;min-height:24px;padding:3px 8px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.inspector-settings-privacy[data-state=disabled] .inspector-settings-status{color:#7d4d0a;background-color:#fff5df;border-color:#dfc08f}.inspector-settings-private-content{border-top:1px solid #e4e4ec;margin-top:20px;padding-top:18px}.inspector-settings-private-content strong{color:#010507;font-size:13px;font-weight:700}.inspector-settings-private-content>p{color:#68686e;margin:4px 0 0;font-size:11px;line-height:1.45}.inspector-settings-private-content ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:12px 0 0;display:grid}.inspector-settings-private-content li{color:#3e3d48;align-items:center;gap:7px;min-width:0;font-size:12px;line-height:1.35;display:flex}.inspector-settings-private-content li span{color:#087653;flex:none;display:inline-flex}.inspector-settings-private-content li svg{width:14px;height:14px}.inspector-settings-policy-link{color:#3f176f;text-underline-offset:3px;outline-offset:2px;outline:2px solid #0000;align-items:center;gap:6px;min-height:32px;margin-top:20px;font-size:12px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.inspector-settings-policy-link:hover{color:#6430ab}.inspector-settings-policy-link:focus-visible{outline-color:#6430ab}.inspector-settings-policy-link svg{width:14px;height:14px}@media (max-width:720px){.inspector-settings{padding:24px 20px 32px}.inspector-settings-section{grid-template-columns:1fr;gap:18px}.inspector-settings-section-heading p{max-width:42ch}}@media (max-width:480px){.inspector-settings-status-row{flex-direction:column;gap:12px}.inspector-settings-private-content ul{grid-template-columns:1fr}}.inspector-home-card,.inspector-home-story{background-color:#ffffffd1;border:1px solid #deddea;border-radius:5px;padding:18px 18px 16px;position:relative}.inspector-home-eyebrow,.inspector-home-card-label,.inspector-home-meta{color:#57575b;margin:0;font-size:12px;font-weight:600}.inspector-home-title,.inspector-home-section-title,.inspector-home-card-title{color:#010507;margin:8px 0 0;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:28px;font-weight:600;line-height:1.15}.inspector-home-section-title{letter-spacing:-.015em;margin:0 0 14px;font-size:17px}.inspector-home-card-title{font-size:16px}.inspector-home-body,.inspector-home-card-copy{color:#57575b;max-width:52ch;margin:10px 0 0;font-size:15px;line-height:1.5}.inspector-home-section{margin-top:24px;position:relative}.inspector-home>.inspector-home-section:first-child{margin-top:0}.inspector-whats-new-preview+.inspector-home-section{margin-top:20px}.inspector-home-section-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.inspector-home-section-header .inspector-home-section-title{margin-bottom:0}.inspector-home-section-header>span{color:#68686e;font-size:11px;font-weight:600;line-height:1.35}.inspector-system-health-header>span[data-tone=success]{color:#087653}.inspector-system-health-header>span[data-tone=checking]{color:#8a5900}.inspector-system-health-header>span[data-tone=offline],.inspector-system-health-header>span[data-tone=error]{color:#b32d3b}.inspector-system-health-section{background-color:#f7f4fe;border:1px solid #c8c6e6;border-radius:5px;overflow:hidden}.inspector-system-health-section .inspector-system-health-header{background-color:#f7f4fe;border-bottom:1px solid #d5d3e4;align-items:center;min-height:76px;margin:0;padding:18px}.inspector-system-health-heading{min-width:0}.inspector-system-health-heading .inspector-home-section-title{color:#010507;letter-spacing:-.025em;font-size:18px}.inspector-system-health-state,.inspector-intelligence-hud-state{color:#087653;background-color:#e5f7f1;border:1px solid #85d3bb;border-radius:999px;flex:none;align-items:center;gap:6px;min-height:24px;padding:4px 8px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.inspector-system-health-state>span,.inspector-intelligence-hud-state>span{background-color:currentColor;border-radius:999px;width:6px;height:6px}.inspector-system-health-state[data-tone=checking],.inspector-intelligence-hud-state[data-tone=checking]{background-color:#fff5df;border-color:#dfc08f;color:#7d4d0a!important}.inspector-system-health-state[data-tone=offline],.inspector-system-health-state[data-tone=error],.inspector-intelligence-hud-state[data-tone=offline],.inspector-intelligence-hud-state[data-tone=error]{background-color:#fff0f1;border-color:#e7a7ac;color:#b32d3b!important}.inspector-system-health-state[data-tone=unavailable],.inspector-intelligence-hud-state[data-tone=unavailable]{background-color:#f0f0f4;border-color:#c8c8d2;color:#57575b!important}.inspector-system-health{background-color:#d5d3e4;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.inspector-system-health-signal{background-color:#fff;grid-template-columns:minmax(0,1fr);align-items:start;min-width:0;min-height:84px;padding:15px 16px 14px;display:grid}.inspector-system-health-copy{flex-direction:column;min-width:0;display:flex}.inspector-system-health-signal dt{color:#68686e;letter-spacing:.035em;text-transform:uppercase;font-size:10px;font-weight:700;line-height:1.3}.inspector-system-health-signal dd{color:#010507;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:5px 0 0;font-size:15px;font-weight:700;overflow:hidden}.inspector-system-health-signal small{color:#68686e;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-top:4px;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:10px;line-height:1.4;overflow:hidden}small.inspector-system-health-detail{letter-spacing:0;font-family:inherit;font-size:11px;font-weight:500;line-height:1.4}.inspector-system-health-url{cursor:help;outline:none;position:relative;overflow:visible!important}.inspector-system-health-url>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.inspector-system-health-url:after{z-index:30;color:#f3f4f8;content:attr(data-full-value);opacity:0;overflow-wrap:anywhere;pointer-events:none;white-space:normal;background-color:#15171e;border:1px solid #3a3d49;border-radius:4px;width:max-content;max-width:min(360px,70vw);padding:7px 9px;font-size:10px;font-weight:500;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 7px);left:0;transform:translateY(3px);box-shadow:0 8px 20px #0105072e}.inspector-system-health-url:hover:after,.inspector-system-health-url:focus-visible:after{opacity:1;transform:translateY(0)}.inspector-system-health-url:focus-visible>span{outline-offset:2px;border-radius:3px;outline:2px solid #6430ab}.inspector-system-health-signal[data-tone=success] dd{color:#087653}.inspector-system-health-signal[data-tone=active] dd{color:#8a5900}.inspector-system-health-event-link{width:100%;min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;display:block}.inspector-system-health-event-link>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.inspector-system-health-event-link>.inspector-system-health-event-type{color:#57575b;letter-spacing:.025em;background-color:#f1f1f3;border-radius:999px;align-items:center;width:fit-content;max-width:100%;padding:3px 6px;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:10px;font-weight:700;line-height:1.25;display:inline-flex}.inspector-system-health-event-link>small{color:#68686e;align-items:center;gap:6px;margin:5px 0 0;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:10px;font-weight:500;line-height:1.25;display:flex}.inspector-system-health-event-meta strong{color:#6430ab;text-underline-offset:3px;font-weight:700;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.inspector-system-health-signal[data-tone=error] .inspector-system-health-event-type{color:#b32d3b;background-color:#fff0f1}.inspector-system-health-signal[data-tone=success] .inspector-system-health-event-type{color:#087653;background-color:#e3f5ee}.inspector-system-health-signal[data-tone=active] .inspector-system-health-event-type{color:#8a5900;background-color:#fff5df}.inspector-system-health-event-link:hover .inspector-system-health-event-meta strong{text-decoration-color:currentColor}.inspector-system-health-event-link:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #6430ab}.inspector-intelligence-hud{background-color:#f7f4fe;border:1px solid #c8c6e6;border-radius:5px;overflow:hidden}.inspector-intelligence-hud-header{justify-content:space-between;align-items:center;gap:24px;padding:18px;display:flex}.inspector-intelligence-hud[data-state=disconnected]{border-color:#bba5df}.inspector-intelligence-hud[data-state=disconnected] .inspector-intelligence-hud-header{align-items:center;min-height:132px;padding:22px}.inspector-intelligence-hud[data-state=disconnected] .inspector-intelligence-hud-header-actions{flex-direction:column;align-items:flex-end;gap:10px}.inspector-intelligence-hud-heading{min-width:0}.inspector-intelligence-hud-header-actions{flex:none;align-items:center;gap:8px;display:flex}.inspector-intelligence-hud-heading .inspector-home-section-title{margin:0;font-size:18px}.inspector-intelligence-hud-description{color:#4f4f55;max-width:64ch;margin:10px 0 0;font-size:12px;line-height:1.55}.inspector-intelligence-hud-action{color:#fff;background-color:#6430ab;border:1px solid #6430ab;border-radius:4px;flex:none;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:8px 11px;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.inspector-intelligence-hud-action:hover{background-color:#4e238c;border-color:#4e238c}.inspector-intelligence-hud-action svg{width:13px;height:13px}.inspector-intelligence-hud-connect-action{min-height:38px;padding:10px 14px;font-size:12px}.inspector-intelligence-hud-details{background-color:#d5d3e4;border-top:1px solid #d5d3e4;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1px;display:grid}.inspector-intelligence-hud-details>section{background-color:#fff;min-width:0;padding:15px 18px 17px}.inspector-intelligence-hud-detail-label{color:#68686e;font-size:11px;font-weight:600;display:block}.inspector-intelligence-hud-detail-value{color:#010507;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:5px 0 0;font-size:14px;font-weight:700;display:block;overflow:hidden}.inspector-intelligence-hud-detail-subvalue{color:#68686e;text-transform:capitalize;margin-top:3px;font-size:10px;font-weight:500;display:block}.inspector-intelligence-hud-plan{grid-template-columns:minmax(0,1fr) minmax(120px,1fr);align-items:start;gap:24px;display:grid}.inspector-intelligence-hud-usage{min-width:0}.inspector-intelligence-hud-plan-action{color:#6430ab;text-underline-offset:3px;background-color:#0000;border:0;border-radius:0;gap:4px;min-height:auto;margin-top:9px;padding:0;font-size:10px;font-weight:700;line-height:1.2;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}.inspector-intelligence-hud-plan-action:hover{color:#4e238c;background-color:#0000;border-color:#0000;text-decoration-color:currentColor}.inspector-intelligence-hud-plan-action svg{width:11px;height:11px}.inspector-home-usage-bar{background-color:#dbdbe5;border-radius:999px;width:min(160px,100%);height:5px;margin-top:8px;display:block;overflow:hidden}.inspector-home-usage-bar>span{background-color:#bec2ff;height:100%;display:block}.inspector-home-feature-groups{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));align-items:start;gap:12px;display:grid}.inspector-home-feature-group{background-color:#fff;border:1px solid #d5d3e4;border-radius:5px;overflow:hidden}.inspector-home-feature-group-header{color:#57575b;background-color:#f7f7f9;border-bottom:1px solid #e4e4ec;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:9px 12px;display:flex}.inspector-home-feature-group-header strong{font-size:12px;font-weight:700}.inspector-home-feature-group-header>span{background-color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:22px;min-height:20px;padding:2px 6px;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:10px;font-weight:700;display:inline-flex}.inspector-home-feature-group[data-feature-state-group=active] .inspector-home-feature-group-header{color:#087653;background-color:#e5f7f1;border-color:#b9e3d6}.inspector-home-feature-list{background-color:#fff;flex-direction:column;margin:0;display:flex}.inspector-home-feature{color:#010507;background-color:#fff;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:8px;min-width:0;min-height:43px;padding:10px 12px;font-size:12px;font-weight:600;text-decoration:none;display:grid}.inspector-home-feature+.inspector-home-feature{border-top:1px solid #ececf1}.inspector-home-feature-group-empty{color:#68686e;margin:0;padding:15px 12px;font-size:11px}.inspector-home-feature:hover{background-color:#f7f7f9}.inspector-home-feature-arrow svg{width:12px;height:12px}.inspector-home-feature small{color:#087653;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:10px;font-weight:700}.inspector-home-feature[data-state=off],.inspector-home-feature[data-state=off] small,.inspector-home-feature-arrow{color:#68686e}.inspector-home-features-empty{color:#57575b;border-top:1px solid #deddea;border-bottom:1px solid #deddea;margin:14px 0 0;padding:16px 0;font-size:12px}.inspector-home-news{gap:12px;display:grid}.inspector-whats-new-preview{color:#010507;background-color:#f7f4fe;border:1px solid #c8c6e6;border-radius:5px;align-items:stretch;width:100%;min-height:64px;display:flex;position:relative;overflow:hidden;container-type:inline-size}.inspector-whats-new-preview:has(.inspector-whats-new-preview-body:hover){background-color:#f1ebfc;border-color:#8f91d7}.inspector-whats-new-preview-body{min-width:0;color:inherit;text-align:left;cursor:pointer;background-color:#0000;border:0;flex:auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.inspector-whats-new-preview-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.inspector-whats-new-preview-title{align-items:center;gap:8px;min-width:0;display:flex}.inspector-whats-new-preview-copy strong{text-overflow:ellipsis;white-space:nowrap;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:13px;line-height:1.25;overflow:hidden}.inspector-whats-new-preview-copy>span:last-child{color:#4e4c63;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.4;overflow:hidden}.inspector-whats-new-preview-action{color:#3f176f;white-space:nowrap;flex:none;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.inspector-whats-new-preview-action svg{width:15px;height:15px}@container (max-width:640px){.inspector-whats-new-preview-body{grid-template-columns:minmax(0,1fr)}.inspector-whats-new-preview-action{display:none}}.inspector-whats-new-preview-dismiss{color:#68686e;cursor:pointer;background-color:#0000;border:0;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.inspector-whats-new-preview-dismiss:hover{color:#3f176f;background-color:#6430ab1a}.inspector-whats-new-preview-dismiss svg{width:14px;height:14px}@media (max-width:720px){.inspector-account-cta{width:32px;padding-inline:0}.inspector-account-cta-label{display:none}.inspector-home{padding:24px 22px 34px}.inspector-intelligence-hud-header{flex-wrap:wrap}.inspector-intelligence-hud-details{grid-template-columns:1fr}.inspector-intelligence-hud-plan{grid-template-columns:repeat(2,minmax(0,1fr))}.inspector-whats-new-preview-action{display:none}}@media (max-width:600px){.inspector-system-health{grid-template-columns:1fr}}@media (max-width:480px){.inspector-system-health-section .inspector-system-health-header{align-items:flex-start}.inspector-intelligence-hud-header{flex-direction:column;align-items:stretch}.inspector-intelligence-hud-header-actions{justify-content:space-between}.inspector-intelligence-hud-header-actions .inspector-intelligence-hud-action,.inspector-intelligence-hud-plan{width:100%}.inspector-intelligence-hud-plan{grid-template-columns:1fr;align-items:stretch}.inspector-intelligence-hud-plan-action{justify-self:start}.inspector-whats-new-header{align-items:center;gap:16px;width:calc(100% - 24px);padding:24px 22px}.inspector-whats-new-document,.inspector-whats-new-empty{padding:20px 22px 36px}.inspector-whats-new-document .announcement-content h1+p{font-size:16px}}.inspector-whats-new-header{background:#f8f7ff;border:1px solid #d8d8e8;border-radius:5px;justify-content:space-between;align-items:center;gap:24px;width:calc(100% - 44px);max-width:calc(70ch - 44px);padding:30px 32px 28px;display:flex;box-shadow:0 12px 28px #26224e0f}.inspector-whats-new-header .inspector-home-title{letter-spacing:-.035em;margin:0;font-size:clamp(27px,3.6vw,36px)}.inspector-whats-new-updated{color:#6c687c;letter-spacing:.01em;white-space:nowrap;flex:none;margin:0;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:11px;font-weight:600}.inspector-whats-new .inspector-home-news{max-width:70ch;margin-top:0}.inspector-whats-new-document,.inspector-whats-new-empty{max-width:70ch;padding:22px 32px 52px}.inspector-whats-new-document .announcement-content{color:#2b2b39;font-size:15px;line-height:1.72}.inspector-whats-new-document .announcement-content h1{color:#15131d;letter-spacing:-.032em;max-width:24ch;margin:0 0 16px;font-size:clamp(26px,3.2vw,34px);line-height:1.1}.inspector-whats-new-document .announcement-content h1+p{color:#504d61;max-width:58ch;margin-top:0;font-size:18px;line-height:1.58}.inspector-whats-new-document .announcement-content>hr:first-child{display:none}.inspector-whats-new-document .announcement-content h2:first-of-type{border-top:0;margin-top:14px;padding-top:0}.inspector-whats-new-document .announcement-content h2{color:#1b1924;letter-spacing:-.024em;border-top:1px solid #dfdeea;margin:44px 0 14px;padding-top:24px;font-size:21px;line-height:1.2}.inspector-whats-new-document .announcement-content p{max-width:70ch;margin:.85rem 0}.inspector-whats-new-document .announcement-content ul,.inspector-whats-new-document .announcement-content ol{max-width:68ch;margin:1.25rem 0 1.5rem;padding-left:1.4rem}.inspector-whats-new-document .announcement-content li+li{margin-top:.7rem}.inspector-whats-new-document .announcement-content a{color:#4e46a5;text-underline-offset:4px;font-weight:600;text-decoration-color:#4e46a56b;text-decoration-thickness:1px;transition:color .16s,text-decoration-color .16s}.inspector-whats-new-document .announcement-content a:hover{color:#312879;text-decoration-color:currentColor}.inspector-whats-new-empty{color:#5e5b70}.inspector-whats-new-empty .inspector-home-card-title{color:#1b1924;margin:0}.inspector-whats-new-empty .inspector-home-card-copy{max-width:48ch;margin:8px 0 0}.inspector-home-story-featured{padding:22px}.inspector-home-story-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.inspector-home-story-link:hover{background-color:#fff;border-color:#8f91d7}.inspector-home-story[data-unread=true]{border-color:#bec2ff;padding-right:64px;box-shadow:0 0 0 1px #6430ab}.inspector-home-story-unread{color:#fff;letter-spacing:.04em;text-transform:uppercase;background-color:#6430ab;border-radius:999px;align-items:center;min-height:18px;padding:0 7px;font-family:Spline Sans Mono,ui-monospace,monospace;font-size:10px;font-weight:700;display:inline-flex}.inspector-nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;transition:opacity .18s,width .22s;overflow:hidden}.inspector-nav-control{color:#57575b;min-height:32px;font:inherit;text-align:left;outline-offset:-2px;cursor:pointer;background-color:#0000;border:1px solid #0000;border-radius:5px;outline:2px solid #0000;flex:none;justify-content:flex-start;align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:600;line-height:1.25;display:flex}.inspector-nav-control:hover{color:#010507;background-color:#f0f0f4}.inspector-nav-control-active{color:#3f176f;background-color:#eee6fe;border-color:#bec2ff}.inspector-nav-icon{flex:none;align-items:center;display:inline-flex}.inspector-nav-icon svg{width:15px;height:15px}.inspector-nav-control:focus-visible,.inspector-account-control:focus-visible,[data-inspector-thread-cta]:focus-visible,[data-inspector-sidebar-intelligence-action]:focus-visible,[data-inspector-whats-new-preview]:focus-visible,[data-inspector-whats-new-dismiss]:focus-visible,[data-inspector-home-intelligence-action]:focus-visible,.inspector-home-feature:focus-visible,[data-inspector-action-placement=threads-footer]:focus-visible{outline-offset:2px;outline:2px solid #6430ab!important}.inspector-sidebar .inspector-nav-control:focus-visible,.inspector-sidebar .inspector-sidebar-label:focus-visible,.inspector-sidebar [data-inspector-thread-cta]:focus-visible{outline-offset:-2px!important}.inspector-account-control{color:#57575b;font:inherit;outline-offset:2px;cursor:pointer;background-color:#0000;border:1px solid #0000;outline:2px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.inspector-account-control:hover,.inspector-account-control-active{color:#3f176f;background-color:#6430ab17}:host ::selection{color:#010507;background-color:#cfd2ff}:host *{scrollbar-color:#aaa9c1 transparent;scrollbar-width:thin}:host ::-webkit-scrollbar{width:8px;height:8px}:host ::-webkit-scrollbar-thumb{background:#aaa9c1 padding-box padding-box;border:2px solid #0000;border-radius:999px}.inspector-account-control-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.inspector-account-control-icon svg{width:15px;height:15px}[data-inspector-thread-cta],[data-inspector-account-strip] button,[data-inspector-account-strip] a{cursor:pointer}@media (prefers-reduced-motion:reduce){.inspector-sidebar,.inspector-nav-label,.inspector-sidebar[data-icon-rail=true] .inspector-agent-selector>[data-context-dropdown-root=true]>button{transition:none}.inspector-icon-rail-menu{transition:none;animation:none}}[data-inspector-threads-setup-prompt],[data-inspector-threads-setup-link]{min-height:34px;font:inherit;outline-offset:2px;cursor:pointer;border:1px solid #dbdbe5;border-radius:7px;outline:2px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;line-height:1.25;text-decoration:none;display:inline-flex}[data-inspector-threads-setup-prompt]{color:#fff;background-color:#010507;border-color:#010507}[data-inspector-threads-setup-prompt]:hover{background-color:#2b2b2b;border-color:#2b2b2b}[data-inspector-threads-setup-link]{color:#57575b;background-color:#fff}[data-inspector-threads-setup-link]:hover{color:#010507;background-color:#f7f7f9;border-color:#afafb7}[data-inspector-threads-setup-prompt]:focus-visible,[data-inspector-threads-setup-link]:focus-visible{outline-offset:2px;outline:2px solid #6430ab}.inspector-threads-footer{color:#57575b;background-color:#f7f7f9;border-top:1px solid #dbdbe5;flex:none;gap:10px;padding:12px;font-size:11px;line-height:1.35;display:grid}.inspector-threads-usage{gap:6px;display:grid}[data-inspector-thread-count]{color:#010507;font-weight:600}[data-inspector-thread-expiry]{color:#57575b}.inspector-thread-progress{--inspector-thread-progress-color:#189370;width:100%;height:6px;accent-color:var(--inspector-thread-progress-color);border-radius:999px;overflow:hidden}.inspector-thread-progress[data-inspector-thread-capacity=warning]{--inspector-thread-progress-color:#b45309}.inspector-thread-progress[data-inspector-thread-capacity=critical]{--inspector-thread-progress-color:#be123c}.inspector-thread-progress::-webkit-progress-bar{background-color:#dbdbe5;border-radius:999px}.inspector-thread-progress::-webkit-progress-value{background-color:var(--inspector-thread-progress-color);border-radius:999px}.inspector-thread-progress::-moz-progress-bar{background-color:var(--inspector-thread-progress-color);border-radius:999px}[data-inspector-action-placement=threads-footer]{color:#57575b;outline-offset:2px;cursor:pointer;background-color:#0000;border:1px solid #d5d3e4;border-radius:5px;outline:2px solid #0000;justify-content:center;align-items:center;width:100%;min-height:32px;padding:6px 9px;font-size:11px;font-weight:600;line-height:1.25;text-decoration:none;display:inline-flex}[data-inspector-action-placement=threads-footer][data-inspector-action-intent=upgrade]{color:#fff;background-color:#6430ab;border-color:#6430ab}[data-inspector-action-placement=threads-footer][data-inspector-action-intent=upgrade]:hover{color:#fff;background-color:#3f176f;border-color:#3f176f}[data-inspector-action-placement=threads-footer]:hover{color:#010507;background-color:#f7f4fe;border-color:#c8c6e6}.cpk-threads-overview-video{opacity:0;transition:opacity .22s}.cpk-threads-overview{background-color:#f7f7f9;flex:1;justify-content:center;align-items:center;min-width:0;padding:32px;display:flex}.cpk-threads-overview-content{color:#57575b;width:100%;max-width:440px}.cpk-threads-overview-title{color:#010507;margin:0 0 10px;font-size:20px;font-weight:600;line-height:1.25}.cpk-threads-overview-copy{color:#57575b;margin:0 0 16px;font-size:13px;line-height:1.55}.cpk-threads-overview-actions{flex-wrap:wrap;gap:8px;display:flex}.cpk-threads-overview-action{outline-offset:2px;border:1px solid #0000;border-radius:7px;outline:2px solid #0000;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:8px 12px;font-size:12px;font-weight:600;line-height:1.25;text-decoration:none;display:inline-flex}.cpk-threads-overview-action-primary{color:#fff;background-color:#010507;border-color:#010507}.cpk-threads-overview-action-primary:hover{background-color:#2b2b2b;border-color:#2b2b2b}.cpk-threads-overview-action-secondary{color:#010507;background-color:#fff;border-color:#dbdbe5}.cpk-threads-overview-action-secondary:hover{background-color:#fff;border-color:#afafb7}.cpk-threads-overview-video[data-loaded=true]{opacity:1}.cpk-threads-overview-video-control{color:#3f176f;min-height:32px;font:inherit;outline-offset:2px;cursor:pointer;background-color:#fff;border:1px solid #dbdbe5;border-radius:5px;outline:2px solid #0000;justify-content:center;align-items:center;margin:0 0 14px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.25;display:inline-flex}.cpk-threads-overview-video-control:hover{color:#010507;background-color:#f7f7f9;border-color:#afafb7}.cpk-threads-overview-video-control:focus-visible{outline-offset:2px;outline:2px solid #6430ab}.cpk-threads-overview-video-fallback{color:#57575b;max-width:440px;margin:-4px 0 14px;font-size:12px;line-height:1.5}.cpk-threads-tour-launch{z-index:2;color:#57575b;outline-offset:2px;cursor:pointer;background-color:#fff;border:1px solid #dbdbe5;border-radius:7px;outline:2px solid #0000;padding:7px 10px;font-size:12px;font-weight:600;position:absolute;bottom:16px;right:16px;box-shadow:0 8px 18px #01050714}.cpk-threads-tour{z-index:3;color:#57575b;background-color:#fff;border:1px solid #dbdbe5;border-radius:10px;width:min(340px,100% - 32px);padding:14px;position:absolute;bottom:16px;right:16px;box-shadow:0 16px 36px #01050724}.cpk-threads-tour-step{color:#087653;text-transform:uppercase;margin-bottom:8px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:600}.cpk-threads-tour-title{color:#010507;margin-bottom:6px;font-size:14px;font-weight:600;line-height:1.35}.cpk-threads-tour-copy{color:#57575b;font-size:12px;line-height:1.5}.cpk-threads-tour-actions{justify-content:space-between;gap:8px;margin-top:14px;display:flex}.cpk-threads-tour-nav{gap:8px;display:flex}.cpk-threads-tour-skip,.cpk-threads-tour-button{font:inherit;outline-offset:2px;cursor:pointer;border-radius:7px;outline:2px solid #0000;padding:7px 10px;font-size:12px;font-weight:600}.cpk-threads-overview-action:focus-visible,.cpk-threads-tour-launch:focus-visible,.cpk-threads-tour-skip:focus-visible,.cpk-threads-tour-button:focus-visible{outline-color:#6430ab}.cpk-threads-tour-skip{color:#68686e;background-color:#0000;border:0;padding-inline:0}.cpk-threads-tour-button-secondary{color:#57575b;background-color:#fff;border:1px solid #dbdbe5}.cpk-threads-tour-button-primary{color:#fff;background-color:#010507;border:1px solid #010507}.cpk-threads-tour-button:disabled{cursor:not-allowed;opacity:.45}@media (max-width:720px){.cpk-threads-overview{padding:24px}}@media (prefers-reduced-motion:reduce){.cpk-threads-overview-video{transition:none}}.inspector-window[data-color-scheme=dark]{color-scheme:dark;background-color:var(--cpk-inspector-surface-dark)!important;color:#f3f4f8!important;border-color:#7b7d89!important}.inspector-window[data-color-scheme=dark] .inspector-shell,.inspector-window[data-color-scheme=dark] .inspector-main,.inspector-window[data-color-scheme=dark] #cpk-main-scroll{color:#f3f4f8!important;background-color:#111319!important}.inspector-window[data-color-scheme=dark] .resize-handle,.inspector-window[data-color-scheme=dark] .edge-resize-handle,.inspector-window[data-color-scheme=dark] .dock-resize-handle{background:0 0!important}.inspector-window[data-color-scheme=dark] .drag-handle,.inspector-window[data-color-scheme=dark] .inspector-account-strip{color:#f3f4f8!important;background:#171a22!important;border-color:#3a3d49!important}.inspector-window[data-color-scheme=dark] .inspector-account-logo{filter:brightness(0)invert();clip-path:inset(0 20% 0 0)}.inspector-window[data-color-scheme=dark] .inspector-account-logo-accent{filter:none;display:block}.inspector-window[data-color-scheme=dark] .inspector-agent-placeholder{color:#b8bbc7!important;border-color:#3a3d49!important}.inspector-window[data-color-scheme=dark] .inspector-account-control{color:#b8bbc7!important;border:0!important}.inspector-window[data-color-scheme=dark] .inspector-account-control:hover,.inspector-window[data-color-scheme=dark] .inspector-account-control-active{color:#d8d9ff!important;background-color:#292c38!important}.inspector-window[data-color-scheme=dark] .inspector-account-cta{color:#d8d9ff;background-color:#292b43}.inspector-window[data-color-scheme=dark] .inspector-account-cta:hover{color:#fff;background-color:#353854}.inspector-window[data-color-scheme=dark] .inspector-window-layout-menu{box-shadow:0 12px 28px #00000052;color:#f3f4f8!important;background-color:#111319!important;border-color:#5c6173!important}.inspector-window[data-color-scheme=dark] .inspector-window-layout-menu button,.inspector-window[data-color-scheme=dark] .inspector-window-layout-menu button span{color:#f3f4f8!important}.inspector-window[data-color-scheme=dark] .inspector-window-layout-menu button:hover,.inspector-window[data-color-scheme=dark] .inspector-window-layout-menu button:focus-visible,.inspector-window[data-color-scheme=dark] .inspector-window-layout-menu button:hover span,.inspector-window[data-color-scheme=dark] .inspector-window-layout-menu button:focus-visible span{color:#fff!important;background-color:#3a3f52!important}.inspector-window[data-color-scheme=dark] .inspector-sidebar .inspector-agent-selector>[data-context-dropdown-root=true]>button{color:#f3f4f8!important;background-color:#20232c!important;border-color:#464957!important}.inspector-window[data-color-scheme=dark] .inspector-sidebar .inspector-agent-selector>[data-context-dropdown-root=true]>button:hover{background-color:#292c38!important;border-color:#777aae!important}.inspector-window[data-color-scheme=dark] .inspector-sidebar .inspector-agent-selector>[data-context-dropdown-root=true]>button>span:last-child{color:#aeb1bd!important}.inspector-window[data-color-scheme=dark] .inspector-context-dropdown-icon{color:#f3f4f8!important}.inspector-window[data-color-scheme=dark] .inspector-sidebar[data-icon-rail=true] .inspector-agent-selector>[data-context-dropdown-root=true]>button{color:#fff!important;background-color:#2f3340!important;border-color:#8b90a5!important}.inspector-window[data-color-scheme=dark] .inspector-sidebar[data-icon-rail=true] .inspector-context-dropdown-icon,.inspector-window[data-color-scheme=dark] .inspector-sidebar[data-icon-rail=true] .inspector-agent-placeholder{color:#fff!important}.inspector-window[data-color-scheme=dark] [data-context-dropdown-root=true]>div{color:#f3f4f8!important;box-shadow:none!important;background-color:#191c24!important;border-color:#464957!important}.inspector-window[data-color-scheme=dark] [data-context-dropdown-root=true]>div button:hover,.inspector-window[data-color-scheme=dark] [data-context-dropdown-root=true]>div button:focus{color:#f3f4f8!important;background-color:#343746!important}.inspector-window[data-color-scheme=dark] .inspector-sidebar{color:#f3f4f8;background-color:#15171e;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-sidebar-label{color:#8f93a1}.inspector-window[data-color-scheme=dark] .inspector-sidebar-rail-tooltip{color:#191c24;background-color:#e9e9f1;box-shadow:0 7px 18px #00000047}.inspector-window[data-color-scheme=dark] .inspector-nav-control,.inspector-window[data-color-scheme=dark] .inspector-sidebar-toggle{color:#b8bbc7}.inspector-window[data-color-scheme=dark] .inspector-nav-control:hover,.inspector-window[data-color-scheme=dark] .inspector-sidebar-toggle:hover{color:#fff;background-color:#22252f}.inspector-window[data-color-scheme=dark] .inspector-nav-control-active{color:#d8d9ff;background-color:#292b43;border-color:#666a9e}.inspector-window[data-color-scheme=dark] .inspector-sidebar-agent-scope{border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-sidebar-status-card{background-color:#191c24;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-sidebar-status-copy strong{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .inspector-sidebar-status-copy>span,.inspector-window[data-color-scheme=dark] .inspector-sidebar-status-card[data-state=disconnected] .inspector-sidebar-status-copy>span{color:#9da1af}.inspector-window[data-color-scheme=dark] .inspector-sidebar-status-action{color:#caccff}.inspector-window[data-color-scheme=dark] .inspector-sidebar-status-action:hover{color:#fff;background-color:#292b43}.inspector-window[data-color-scheme=dark] .inspector-sidebar-intelligence-setup{color:#d8d9ff;background-color:#292b43;border-color:#666a9e}.inspector-window[data-color-scheme=dark] .inspector-sidebar-intelligence-setup:hover{background-color:#343653;border-color:#777aae}.inspector-window[data-color-scheme=dark] .inspector-sidebar-intelligence-setup .inspector-sidebar-status-copy strong{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .inspector-sidebar-setup-arrow{background-color:#caccff1f}@media (prefers-reduced-motion:reduce){.inspector-sidebar-intelligence-setup{animation:none}}.inspector-window[data-color-scheme=dark] .inspector-home{background-color:#111319}.inspector-window[data-color-scheme=dark] .inspector-settings{color:#f3f4f8;background-color:#111319}.inspector-window[data-color-scheme=dark] .inspector-settings-header,.inspector-window[data-color-scheme=dark] .inspector-settings-privacy,.inspector-window[data-color-scheme=dark] .inspector-settings-private-content{border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-settings-title,.inspector-window[data-color-scheme=dark] .inspector-settings-section-heading h2,.inspector-window[data-color-scheme=dark] .inspector-settings-status-row h3,.inspector-window[data-color-scheme=dark] .inspector-settings-private-content strong{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .inspector-settings-subtitle,.inspector-window[data-color-scheme=dark] .inspector-settings-section-heading p,.inspector-window[data-color-scheme=dark] .inspector-settings-status-row p,.inspector-window[data-color-scheme=dark] .inspector-settings-private-content>p{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .inspector-settings-section-icon{color:#d8d9ff;background-color:#292b43;border-color:#666a9e}.inspector-window[data-color-scheme=dark] .inspector-settings-private-content li{color:#c9ccd6}.inspector-window[data-color-scheme=dark] .inspector-settings-private-content li span{color:#75d8b9}.inspector-window[data-color-scheme=dark] .inspector-settings-status{color:#8ce1c5;background-color:#173b32;border-color:#347d69}.inspector-window[data-color-scheme=dark] .inspector-settings-privacy[data-state=disabled] .inspector-settings-status{color:#f2cf8f;background-color:#342916;border-color:#866932}.inspector-window[data-color-scheme=dark] .inspector-settings-policy-link{color:#caccff}.inspector-window[data-color-scheme=dark] .inspector-settings-policy-link:hover{color:#fff}.inspector-window[data-color-scheme=dark] .inspector-home-card,.inspector-window[data-color-scheme=dark] .inspector-home-story,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud,.inspector-window[data-color-scheme=dark] .inspector-home-feature-list,.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview{color:#f3f4f8;background:#191c24;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud[data-state=disconnected]{background-color:#1d1e2b;border-color:#666a9e}.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud[data-state=disconnected] .inspector-intelligence-hud-description{color:#c5c7d0}.inspector-window[data-color-scheme=dark] .inspector-system-health,.inspector-window[data-color-scheme=dark] .inspector-system-health-section{border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-system-health-section{background-color:#191c24}.inspector-window[data-color-scheme=dark] .inspector-system-health-section .inspector-system-health-header{background-color:#191c24;border-bottom-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-system-health{background-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal{background-color:#191c24}.inspector-window[data-color-scheme=dark] .inspector-system-health-event-link>small{color:#caccff}.inspector-window[data-color-scheme=dark] .inspector-system-health-header>span[data-tone=success]{color:#8ce1c5}.inspector-window[data-color-scheme=dark] .inspector-system-health-state[data-tone=success],.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-state[data-tone=success]{background-color:#173b32;border-color:#347d69;color:#8ce1c5!important}.inspector-window[data-color-scheme=dark] .inspector-system-health-state[data-tone=checking],.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-state[data-tone=checking]{background-color:#342916;border-color:#866932;color:#f2cf8f!important}.inspector-window[data-color-scheme=dark] .inspector-system-health-state[data-tone=offline],.inspector-window[data-color-scheme=dark] .inspector-system-health-state[data-tone=error],.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-state[data-tone=offline],.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-state[data-tone=error]{background-color:#3b1c22;border-color:#87424a;color:#ff9aa0!important}.inspector-window[data-color-scheme=dark] .inspector-system-health-state[data-tone=unavailable],.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-state[data-tone=unavailable]{background-color:#242731;border-color:#464957;color:#aeb1bd!important}.inspector-window[data-color-scheme=dark] .inspector-system-health-header>span[data-tone=checking]{color:#f2cf8f}.inspector-window[data-color-scheme=dark] .inspector-system-health-header>span[data-tone=offline],.inspector-window[data-color-scheme=dark] .inspector-system-health-header>span[data-tone=error]{color:#ff9aa0}.inspector-window[data-color-scheme=dark] .inspector-home-story-link:hover,.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview:has(.inspector-whats-new-preview-body:hover){background:#242131;border-color:#777aae}.inspector-window[data-color-scheme=dark] .inspector-home-title,.inspector-window[data-color-scheme=dark] .inspector-home-section-title,.inspector-window[data-color-scheme=dark] .inspector-home-card-title,.inspector-window[data-color-scheme=dark] .inspector-system-health-signal dd,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details .inspector-intelligence-hud-detail-value,.inspector-window[data-color-scheme=dark] .inspector-home-feature{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .inspector-home-eyebrow,.inspector-window[data-color-scheme=dark] .inspector-home-card-label,.inspector-window[data-color-scheme=dark] .inspector-home-meta,.inspector-window[data-color-scheme=dark] .inspector-home-body,.inspector-window[data-color-scheme=dark] .inspector-home-card-copy,.inspector-window[data-color-scheme=dark] .inspector-system-health-signal dt,.inspector-window[data-color-scheme=dark] .inspector-system-health-signal small,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-heading p,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details .inspector-intelligence-hud-detail-label,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details .inspector-intelligence-hud-detail-subvalue,.inspector-window[data-color-scheme=dark] .inspector-home-section-header>span,.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview-copy>span:last-child{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details{background-color:#3a3d49;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details>section{background-color:#15171e}.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-plan-action{color:#caccff}.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-plan-action:hover{color:#fff;background-color:#0000;border-color:#0000}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal+.inspector-system-health-signal,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details>section+section,.inspector-window[data-color-scheme=dark] .inspector-intelligence-hud-details,.inspector-window[data-color-scheme=dark] .inspector-home-features-empty{border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal[data-tone=success] dd,.inspector-window[data-color-scheme=dark] .inspector-home-feature small{color:#8ce1c5}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal[data-tone=active] dd{color:#f2cf8f}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal[data-tone=error] .inspector-system-health-event-type{color:#ff9aa0;background-color:#3b1c22}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal[data-tone=success] .inspector-system-health-event-type{color:#8ce1c5;background-color:#173b32}.inspector-window[data-color-scheme=dark] .inspector-system-health-signal[data-tone=active] .inspector-system-health-event-type{color:#f2cf8f;background-color:#342916}.inspector-window[data-color-scheme=dark] .inspector-home-feature-group{background-color:#191c24;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-home-feature-group-header{color:#c9ccd6;background-color:#20232d;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-home-feature-group-header>span{color:#c9ccd6;background-color:#191c24}.inspector-window[data-color-scheme=dark] .inspector-home-feature-group[data-feature-state-group=active] .inspector-home-feature-group-header{color:#8ce1c5;background-color:#173b32;border-color:#347d69}.inspector-window[data-color-scheme=dark] .inspector-home-feature{background-color:#191c24}.inspector-window[data-color-scheme=dark] .inspector-home-feature:hover{background-color:#20232d}.inspector-window[data-color-scheme=dark] .inspector-home-feature+.inspector-home-feature{border-color:#2f323d}.inspector-window[data-color-scheme=dark] .inspector-home-feature-group-empty{color:#9da1af}.inspector-window[data-color-scheme=dark] .inspector-home-feature[data-state=off]{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .inspector-home-feature[data-state=off] small,.inspector-window[data-color-scheme=dark] .inspector-home-feature-arrow{color:#9da1af}.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview-dismiss{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview-dismiss:hover{color:#fff;background-color:#302a40}.inspector-window[data-color-scheme=dark] .inspector-home-usage-bar{background-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-thread-progress::-webkit-progress-bar{background-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-whats-new-header{box-shadow:none;background-color:#1d1e2b;border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-whats-new-updated,.inspector-window[data-color-scheme=dark] .inspector-whats-new-empty{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview-action{color:#d8d9ff}.inspector-window[data-color-scheme=dark] .inspector-whats-new-preview:hover .inspector-whats-new-preview-action{color:#fff}.inspector-window[data-color-scheme=dark] .inspector-whats-new-document,.inspector-window[data-color-scheme=dark] .inspector-whats-new-empty{border-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content{color:#c9ccd6}.inspector-window[data-color-scheme=dark] .inspector-whats-new-empty .inspector-home-card-title{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content h1+p{color:#c9ccd6}.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content h2{border-top-color:#3a3d49}.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content h1,.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content h2,.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content h3,.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content strong{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .inspector-whats-new-document .announcement-content a{color:#caccff}.inspector-window[data-color-scheme=dark] .inspector-threads-footer{color:#aeb1bd;background-color:#15171e;border-color:#343742}.inspector-window[data-color-scheme=dark] [data-inspector-thread-count]{color:#f3f4f8}.inspector-window[data-color-scheme=dark] [data-inspector-thread-expiry]{color:#aeb1bd}.inspector-window[data-color-scheme=dark] [data-inspector-action-placement=threads-footer]{color:#d8d9ff;background-color:#191c24;border-color:#464957}.inspector-window[data-color-scheme=dark] [data-inspector-action-placement=threads-footer]:hover{color:#fff;background-color:#20232d;border-color:#777aae}.inspector-window[data-color-scheme=dark] .cpk-threads-overview{background-color:#111319}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-content,.inspector-window[data-color-scheme=dark] .cpk-threads-overview-copy,.inspector-window[data-color-scheme=dark] .cpk-threads-overview-video-fallback,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-copy{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-title,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-title{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-video-frame{background:linear-gradient(135deg,#666a9e3d,#347d6929),#191c24;border-color:#3a3d49;box-shadow:0 8px 20px #00000038}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-video-control,.inspector-window[data-color-scheme=dark] .cpk-threads-overview-action-secondary,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-launch,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-button-secondary{color:#d8d9ff;background-color:#191c24;border-color:#464957}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-video-control:hover,.inspector-window[data-color-scheme=dark] .cpk-threads-overview-action-secondary:hover,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-launch:hover,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-button-secondary:hover{color:#fff;background-color:#242731;border-color:#777aae}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-action-primary,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-button-primary{color:#171823;background-color:#caccff;border-color:#caccff}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-action-primary:hover,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-button-primary:hover{background-color:#d8d9ff;border-color:#d8d9ff}.inspector-window[data-color-scheme=dark] .cpk-threads-tour{color:#aeb1bd;background-color:#191c24;border-color:#464957;box-shadow:0 16px 36px #00000052}.inspector-window[data-color-scheme=dark] .cpk-threads-tour-step{color:#8ce1c5}.inspector-window[data-color-scheme=dark] .cpk-threads-tour-skip{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .cpk-threads-overview-action:focus-visible,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-launch:focus-visible,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-skip:focus-visible,.inspector-window[data-color-scheme=dark] .cpk-threads-tour-button:focus-visible{outline-color:#bec2ff}.inspector-window[data-color-scheme=dark] .cpk-memory-locked{color:#f3f4f8;background-color:#111319}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-sidebar{background-color:#15171e;border-color:#2f323d}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-main{background-color:#111319}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-row{background-color:#191c24;box-shadow:inset 0 0 0 1px #2f323d}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-row[data-accent=true]{background-color:#292b43}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-bar{background-color:#333641}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-row[data-accent=true] .cpk-locked-preview-row-title{background-color:#777aae}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-row-line,.inspector-window[data-color-scheme=dark] .cpk-locked-preview-copy,.inspector-window[data-color-scheme=dark] .cpk-locked-preview-footer-line{background-color:#2f323d}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-row-line:last-child,.inspector-window[data-color-scheme=dark] .cpk-locked-preview-copy+.cpk-locked-preview-copy,.inspector-window[data-color-scheme=dark] .cpk-locked-preview-footer-line+.cpk-locked-preview-footer-line{background-color:#292c36}.inspector-window[data-color-scheme=dark] .cpk-locked-preview-card{background-color:#191c24;box-shadow:inset 0 0 0 1px #2f323d}.inspector-window[data-color-scheme=dark] .cpk-memory-locked-scrim{background:radial-gradient(circle,#111319f0 0,#111319d6 24%,#11131975 48%,#111319ad 100%)}.inspector-window[data-color-scheme=dark] .cpk-memory-locked-content,.inspector-window[data-color-scheme=dark] .cpk-memory-locked-copy{color:#aeb1bd}.inspector-window[data-color-scheme=dark] .cpk-memory-locked-title{color:#f3f4f8}.inspector-window[data-color-scheme=dark] .cpk-memory-locked-icon{color:#d8d9ff;box-shadow:none;background-color:#292b43;border-color:#666a9e}.inspector-window[data-color-scheme=dark] .cpk-memory-locked-action-secondary{color:#d8d9ff;background-color:#191c24;border-color:#464957}.inspector-window[data-color-scheme=dark] .cpk-memory-locked-action-secondary:hover{color:#fff;background-color:#242731;border-color:#777aae}.inspector-window[data-color-scheme=dark] .cpk-agent-overview,.inspector-window[data-color-scheme=dark] .cpk-section-card{background-color:#191c24!important;border-color:#3a3d49!important}.inspector-window[data-color-scheme=dark] .cpk-section-header{background-color:#242731!important;border-color:#3a3d49!important}.inspector-window[data-color-scheme=dark] .cpk-section-header h4{color:#f3f4f8!important}.inspector-window[data-color-scheme=dark] .cpk-agent-icon{color:#d8d9ff!important;background-color:#292b43!important}.inspector-window[data-color-scheme=dark] .cpk-stat-card{background-color:#191c24!important;border-color:#464957!important}.inspector-window[data-color-scheme=dark] button.cpk-stat-card:hover{background-color:#20232d!important}.cpk-agent-messages-head{border-bottom:1px solid #e4e4ec}.cpk-agent-message-row+.cpk-agent-message-row{border-top:1px solid #e4e4ec}.inspector-window[data-color-scheme=dark] .cpk-agent-messages-head,.inspector-window[data-color-scheme=dark] .cpk-agent-message-row+.cpk-agent-message-row,.inspector-window[data-color-scheme=dark] .cpk-agent-view .divide-gray-200>:not([hidden])~:not([hidden]),.inspector-window[data-color-scheme=dark] .cpk-agent-view .divide-y>*{border-color:#3a3d49!important}.inspector-window[data-color-scheme=dark] .cpk-json-block{color:#c9ccd6}.inspector-window[data-color-scheme=dark] [class*=bg-emerald-50],.inspector-window[data-color-scheme=dark] [class*=bg-green-100]{color:#8ce1c5!important;background-color:#173b32!important}.inspector-window[data-color-scheme=dark] [class*=bg-rose-50]{color:#ff9aa0!important;background-color:#3b1c22!important}.inspector-window[data-color-scheme=dark] [data-cpk-event-error] p,.inspector-window[data-color-scheme=dark] [data-playground-error] p{color:inherit!important}.inspector-window[data-color-scheme=dark] [class*=bg-amber-50],.inspector-window[data-color-scheme=dark] [class*=bg-amber-100]{color:#f2cf8f!important;background-color:#342916!important}.inspector-window[data-color-scheme=dark] [class*=bg-blue-50],.inspector-window[data-color-scheme=dark] [class*=bg-blue-100],.inspector-window[data-color-scheme=dark] [class*=bg-sky-50],.inspector-window[data-color-scheme=dark] [class*=bg-violet-50],.inspector-window[data-color-scheme=dark] [class*=bg-purple-50],.inspector-window[data-color-scheme=dark] [class*=bg-fuchsia-50]{color:#d8d9ff!important;background-color:#292b43!important}.inspector-window[data-color-scheme=dark] [class*=bg-white]{background-color:#191c24!important}.inspector-window[data-color-scheme=dark] [class*=bg-gray-50],.inspector-window[data-color-scheme=dark] [class*=bg-slate-50],.inspector-window[data-color-scheme=dark] [class*=bg-gray-100],.inspector-window[data-color-scheme=dark] [class*=bg-slate-100]{background-color:#171a22!important}.inspector-window[data-color-scheme=dark] [class*=text-gray-900],.inspector-window[data-color-scheme=dark] [class*=text-slate-900],.inspector-window[data-color-scheme=dark] [class*=text-gray-800],.inspector-window[data-color-scheme=dark] [class*=text-slate-800],.inspector-window[data-color-scheme=dark] [class*=text-gray-700],.inspector-window[data-color-scheme=dark] [class*=text-slate-700]{color:#f3f4f8!important}.inspector-window[data-color-scheme=dark] [class*=text-gray-600],.inspector-window[data-color-scheme=dark] [class*=text-slate-600],.inspector-window[data-color-scheme=dark] [class*=text-gray-500],.inspector-window[data-color-scheme=dark] [class*=text-slate-500],.inspector-window[data-color-scheme=dark] [class*=text-gray-400],.inspector-window[data-color-scheme=dark] [class*=text-slate-400]{color:#aeb1bd!important}.inspector-window[data-color-scheme=dark] [class*=border-gray-100],.inspector-window[data-color-scheme=dark] [class*=border-slate-100],.inspector-window[data-color-scheme=dark] [class*=border-gray-200],.inspector-window[data-color-scheme=dark] [class*=border-slate-200],.inspector-window[data-color-scheme=dark] [class*=border-gray-300],.inspector-window[data-color-scheme=dark] [class*=border-slate-300]{border-color:#3a3d49!important}.inspector-window[data-color-scheme=dark] input,.inspector-window[data-color-scheme=dark] select,.inspector-window[data-color-scheme=dark] textarea{color:#f3f4f8!important;background-color:#191c24!important;border-color:#464957!important}.inspector-window[data-color-scheme=dark] input::placeholder,.inspector-window[data-color-scheme=dark] textarea::placeholder{color:#858996}.inspector-window[data-color-scheme=dark] .cpk-playground-composer{background-color:#2f3340!important;box-shadow:0 0 0 1px #6d7285!important}.inspector-window[data-color-scheme=dark] .cpk-playground-composer:focus-within{box-shadow:0 0 0 1px #c5c8de!important}.inspector-window[data-color-scheme=dark] .cpk-playground-input{color:#f3f4f8!important;caret-color:#f3f4f8!important;background-color:#0000!important}.inspector-window[data-color-scheme=dark] .cpk-playground-input::placeholder{color:#e4e6ef!important;opacity:1!important}.inspector-window[data-color-scheme=dark] .cpk-playground-send:not(:disabled){color:#111319!important;opacity:1!important;background-color:#f3f4f8!important}.inspector-window[data-color-scheme=dark] .cpk-playground-send:disabled{color:#f3f4f8!important;background-color:#f3f4f833!important}.inspector-window[data-color-scheme=dark] ::selection{color:#fff;background-color:#5b5f92}@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-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-space-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-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
|
|
10
10
|
|
|
11
11
|
//#endregion
|
|
12
12
|
//#region src/assets/inspector-logo.svg
|
|
@@ -714,7 +714,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
714
714
|
inspect: [
|
|
715
715
|
"agents",
|
|
716
716
|
"ag-ui-events",
|
|
717
|
-
"event-snippets",
|
|
718
717
|
"frontend-tools",
|
|
719
718
|
"capabilities",
|
|
720
719
|
"agent-context"
|
|
@@ -788,552 +787,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
788
787
|
return (_sort$0$id = (_sort$ = [...input.threads].sort(compareVisibleThreads)[0]) === null || _sort$ === void 0 ? void 0 : _sort$.id) !== null && _sort$0$id !== void 0 ? _sort$0$id : null;
|
|
789
788
|
}
|
|
790
789
|
|
|
791
|
-
//#endregion
|
|
792
|
-
//#region src/lib/event-snippets.ts
|
|
793
|
-
const EVENT_SNIPPETS_STORAGE_KEY = "cpk:inspector:event-snippets";
|
|
794
|
-
const SNIPPET_RECIPES = [
|
|
795
|
-
"tool-call",
|
|
796
|
-
"reasoning",
|
|
797
|
-
"text",
|
|
798
|
-
"activity",
|
|
799
|
-
"raw"
|
|
800
|
-
];
|
|
801
|
-
const ACTIVITY_STARTERS = ["a2ui-surface", "open-generative-ui"];
|
|
802
|
-
function isSnippetRecipe(value) {
|
|
803
|
-
return typeof value === "string" && SNIPPET_RECIPES.some((recipe) => recipe === value);
|
|
804
|
-
}
|
|
805
|
-
function createSnippetId() {
|
|
806
|
-
if (typeof crypto !== "undefined" && "randomUUID" in crypto) return crypto.randomUUID();
|
|
807
|
-
return `cpk-snippet-${Date.now()}-${Math.random().toString(36).slice(2, 10)}`;
|
|
808
|
-
}
|
|
809
|
-
function autoSnippetName(recipe, label) {
|
|
810
|
-
const time = (/* @__PURE__ */ new Date()).toLocaleTimeString([], {
|
|
811
|
-
hour: "2-digit",
|
|
812
|
-
minute: "2-digit"
|
|
813
|
-
});
|
|
814
|
-
return `${label.trim() || recipeLabel(recipe)} - ${time}`;
|
|
815
|
-
}
|
|
816
|
-
function recipeLabel(recipe) {
|
|
817
|
-
switch (recipe) {
|
|
818
|
-
case "tool-call": return "Tool call";
|
|
819
|
-
case "reasoning": return "Reasoning";
|
|
820
|
-
case "text": return "Assistant text";
|
|
821
|
-
case "activity": return "Activity";
|
|
822
|
-
case "raw": return "Raw events";
|
|
823
|
-
}
|
|
824
|
-
}
|
|
825
|
-
const GENERATE_SANDBOXED_UI_TOOL_NAME = "generateSandboxedUi";
|
|
826
|
-
const OPEN_GENERATIVE_UI_ACTIVITY_TYPE = "open-generative-ui";
|
|
827
|
-
function recipeIconName(recipe) {
|
|
828
|
-
switch (recipe) {
|
|
829
|
-
case "tool-call": return "Hammer";
|
|
830
|
-
case "reasoning": return "Brain";
|
|
831
|
-
case "text": return "MessageSquare";
|
|
832
|
-
case "activity": return "LayoutDashboard";
|
|
833
|
-
case "raw": return "Code";
|
|
834
|
-
}
|
|
835
|
-
}
|
|
836
|
-
function recipeIconWrapClass(recipe) {
|
|
837
|
-
switch (recipe) {
|
|
838
|
-
case "tool-call": return "bg-amber-100 text-amber-700";
|
|
839
|
-
case "reasoning": return "bg-violet-100 text-violet-700";
|
|
840
|
-
case "text": return "bg-sky-100 text-sky-700";
|
|
841
|
-
case "activity": return "bg-emerald-100 text-emerald-700";
|
|
842
|
-
case "raw": return "bg-gray-200 text-gray-700";
|
|
843
|
-
}
|
|
844
|
-
}
|
|
845
|
-
function groupEventSnippets(snippets) {
|
|
846
|
-
return SNIPPET_RECIPES.flatMap((recipe) => {
|
|
847
|
-
const items = snippets.filter((snippet) => snippet.recipe === recipe);
|
|
848
|
-
if (items.length === 0) return [];
|
|
849
|
-
return [{
|
|
850
|
-
recipe,
|
|
851
|
-
label: recipeLabel(recipe),
|
|
852
|
-
snippets: items
|
|
853
|
-
}];
|
|
854
|
-
});
|
|
855
|
-
}
|
|
856
|
-
function snippetJsonIsRunnable(raw) {
|
|
857
|
-
try {
|
|
858
|
-
return parseSnippetEvents(raw).length > 0;
|
|
859
|
-
} catch (_unused) {
|
|
860
|
-
return false;
|
|
861
|
-
}
|
|
862
|
-
}
|
|
863
|
-
function expandSnippetEventsForRun(events) {
|
|
864
|
-
const next = [...events];
|
|
865
|
-
const hasOpenGenUi = next.some((event) => event.type === "ACTIVITY_SNAPSHOT" && event.activityType === OPEN_GENERATIVE_UI_ACTIVITY_TYPE);
|
|
866
|
-
const toolCallIds = [];
|
|
867
|
-
for (const event of next) if (event.type === "TOOL_CALL_START" && event.toolCallName === GENERATE_SANDBOXED_UI_TOOL_NAME && typeof event.toolCallId === "string") toolCallIds.push(event.toolCallId);
|
|
868
|
-
if (toolCallIds.length === 0) return next;
|
|
869
|
-
const argParts = /* @__PURE__ */ new Map();
|
|
870
|
-
for (const event of next) if (event.type === "TOOL_CALL_ARGS" && typeof event.toolCallId === "string" && typeof event.delta === "string") {
|
|
871
|
-
var _argParts$get;
|
|
872
|
-
const parts = (_argParts$get = argParts.get(event.toolCallId)) !== null && _argParts$get !== void 0 ? _argParts$get : [];
|
|
873
|
-
parts.push(event.delta);
|
|
874
|
-
argParts.set(event.toolCallId, parts);
|
|
875
|
-
}
|
|
876
|
-
const extras = [];
|
|
877
|
-
for (const toolCallId of toolCallIds) {
|
|
878
|
-
let addedSnapshot = false;
|
|
879
|
-
if (!hasOpenGenUi) {
|
|
880
|
-
var _argParts$get2;
|
|
881
|
-
const snapshot = activitySnapshotFromSandboxedUiArgs(toolCallId, ((_argParts$get2 = argParts.get(toolCallId)) !== null && _argParts$get2 !== void 0 ? _argParts$get2 : []).join(""));
|
|
882
|
-
if (snapshot) {
|
|
883
|
-
extras.push(snapshot);
|
|
884
|
-
addedSnapshot = true;
|
|
885
|
-
}
|
|
886
|
-
}
|
|
887
|
-
if (!hasOpenGenUi && !addedSnapshot) continue;
|
|
888
|
-
if (!next.some((event) => event.type === "TOOL_CALL_RESULT" && event.toolCallId === toolCallId)) extras.push({
|
|
889
|
-
type: "TOOL_CALL_RESULT",
|
|
890
|
-
toolCallId,
|
|
891
|
-
messageId: `${toolCallId}-result`,
|
|
892
|
-
role: "tool",
|
|
893
|
-
content: "UI generated"
|
|
894
|
-
});
|
|
895
|
-
}
|
|
896
|
-
if (extras.length === 0) return next;
|
|
897
|
-
const finishIndex = next.findIndex((event) => event.type === "RUN_FINISHED");
|
|
898
|
-
if (finishIndex === -1) return [...next, ...extras];
|
|
899
|
-
return [
|
|
900
|
-
...next.slice(0, finishIndex),
|
|
901
|
-
...extras,
|
|
902
|
-
...next.slice(finishIndex)
|
|
903
|
-
];
|
|
904
|
-
}
|
|
905
|
-
function activitySnapshotFromSandboxedUiArgs(toolCallId, rawArgs) {
|
|
906
|
-
let args;
|
|
907
|
-
try {
|
|
908
|
-
const parsed = JSON.parse(snippetArgsJson(rawArgs));
|
|
909
|
-
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) return null;
|
|
910
|
-
args = parsed;
|
|
911
|
-
} catch (_unused2) {
|
|
912
|
-
return null;
|
|
913
|
-
}
|
|
914
|
-
const html = sandboxedUiHtmlChunks(args.html);
|
|
915
|
-
const css = typeof args.css === "string" ? args.css : void 0;
|
|
916
|
-
const jsFunctions = typeof args.jsFunctions === "string" ? args.jsFunctions : void 0;
|
|
917
|
-
const jsExpressions = Array.isArray(args.jsExpressions) ? args.jsExpressions.filter((item) => typeof item === "string") : void 0;
|
|
918
|
-
if (html.length === 0 && css === void 0 && jsFunctions === void 0 && (jsExpressions === void 0 || jsExpressions.length === 0)) return null;
|
|
919
|
-
return {
|
|
920
|
-
type: "ACTIVITY_SNAPSHOT",
|
|
921
|
-
messageId: `${toolCallId}-activity`,
|
|
922
|
-
activityType: OPEN_GENERATIVE_UI_ACTIVITY_TYPE,
|
|
923
|
-
content: {
|
|
924
|
-
initialHeight: typeof args.initialHeight === "number" ? args.initialHeight : void 0,
|
|
925
|
-
generating: false,
|
|
926
|
-
css,
|
|
927
|
-
cssComplete: true,
|
|
928
|
-
html,
|
|
929
|
-
htmlComplete: true,
|
|
930
|
-
jsFunctions,
|
|
931
|
-
jsFunctionsComplete: true,
|
|
932
|
-
jsExpressions,
|
|
933
|
-
jsExpressionsComplete: true
|
|
934
|
-
},
|
|
935
|
-
replace: true
|
|
936
|
-
};
|
|
937
|
-
}
|
|
938
|
-
function sandboxedUiHtmlChunks(html) {
|
|
939
|
-
if (typeof html === "string" && html.length > 0) return [html];
|
|
940
|
-
if (Array.isArray(html)) return html.filter((item) => typeof item === "string");
|
|
941
|
-
return [];
|
|
942
|
-
}
|
|
943
|
-
function snippetContainsToolCall(events) {
|
|
944
|
-
return events.some((event) => typeof event.type === "string" && event.type.startsWith("TOOL_CALL"));
|
|
945
|
-
}
|
|
946
|
-
function ensureRunEnvelope(events, ids) {
|
|
947
|
-
const next = [...events];
|
|
948
|
-
const hasStart = next.some((event) => event.type === "RUN_STARTED");
|
|
949
|
-
const hasFinish = next.some((event) => event.type === "RUN_FINISHED");
|
|
950
|
-
if (!hasStart) next.unshift({
|
|
951
|
-
type: "RUN_STARTED",
|
|
952
|
-
threadId: ids.threadId,
|
|
953
|
-
runId: ids.runId
|
|
954
|
-
});
|
|
955
|
-
if (!hasFinish) next.push({
|
|
956
|
-
type: "RUN_FINISHED",
|
|
957
|
-
threadId: ids.threadId,
|
|
958
|
-
runId: ids.runId
|
|
959
|
-
});
|
|
960
|
-
return next;
|
|
961
|
-
}
|
|
962
|
-
function snippetArgsJson(value) {
|
|
963
|
-
if (value && typeof value === "object") return JSON.stringify(value);
|
|
964
|
-
if (typeof value !== "string") return "{}";
|
|
965
|
-
const trimmed = value.trim() || "{}";
|
|
966
|
-
try {
|
|
967
|
-
return JSON.stringify(JSON.parse(trimmed));
|
|
968
|
-
} catch (_unused3) {
|
|
969
|
-
const recovered = firstJsonValue(trimmed);
|
|
970
|
-
if (recovered !== void 0) return JSON.stringify(recovered);
|
|
971
|
-
throw new Error("Tool args JSON is invalid.");
|
|
972
|
-
}
|
|
973
|
-
}
|
|
974
|
-
function firstJsonValue(raw) {
|
|
975
|
-
const start = raw.indexOf("{");
|
|
976
|
-
if (start === -1) return;
|
|
977
|
-
let depth = 0;
|
|
978
|
-
let inString = false;
|
|
979
|
-
let escaped = false;
|
|
980
|
-
for (let index = start; index < raw.length; index += 1) {
|
|
981
|
-
const char = raw[index];
|
|
982
|
-
if (inString) {
|
|
983
|
-
if (escaped) escaped = false;
|
|
984
|
-
else if (char === "\\") escaped = true;
|
|
985
|
-
else if (char === "\"") inString = false;
|
|
986
|
-
continue;
|
|
987
|
-
}
|
|
988
|
-
if (char === "\"") inString = true;
|
|
989
|
-
else if (char === "{") depth += 1;
|
|
990
|
-
else if (char === "}") {
|
|
991
|
-
depth -= 1;
|
|
992
|
-
if (depth === 0) try {
|
|
993
|
-
return JSON.parse(raw.slice(start, index + 1));
|
|
994
|
-
} catch (_unused4) {
|
|
995
|
-
return;
|
|
996
|
-
}
|
|
997
|
-
}
|
|
998
|
-
}
|
|
999
|
-
}
|
|
1000
|
-
function compileToolCallRecipe(input) {
|
|
1001
|
-
var _input$parentMessageI, _input$toolCallId;
|
|
1002
|
-
const toolName = input.toolName.trim();
|
|
1003
|
-
if (!toolName) throw new Error("Tool name is required.");
|
|
1004
|
-
const argsJson = snippetArgsJson(input.argsJson);
|
|
1005
|
-
parseObjectJson(argsJson, "Tool args");
|
|
1006
|
-
const parentMessageId = (_input$parentMessageI = input.parentMessageId) !== null && _input$parentMessageI !== void 0 ? _input$parentMessageI : createSnippetId();
|
|
1007
|
-
const toolCallId = (_input$toolCallId = input.toolCallId) !== null && _input$toolCallId !== void 0 ? _input$toolCallId : createSnippetId();
|
|
1008
|
-
return ensureRunEnvelope([
|
|
1009
|
-
{
|
|
1010
|
-
type: "TOOL_CALL_START",
|
|
1011
|
-
toolCallId,
|
|
1012
|
-
toolCallName: toolName,
|
|
1013
|
-
parentMessageId
|
|
1014
|
-
},
|
|
1015
|
-
{
|
|
1016
|
-
type: "TOOL_CALL_ARGS",
|
|
1017
|
-
toolCallId,
|
|
1018
|
-
delta: argsJson
|
|
1019
|
-
},
|
|
1020
|
-
{
|
|
1021
|
-
type: "TOOL_CALL_END",
|
|
1022
|
-
toolCallId
|
|
1023
|
-
}
|
|
1024
|
-
], input);
|
|
1025
|
-
}
|
|
1026
|
-
function compileReasoningRecipe(input) {
|
|
1027
|
-
const text = input.text.trim();
|
|
1028
|
-
if (!text) throw new Error("Reasoning text is required.");
|
|
1029
|
-
const messageId = createSnippetId();
|
|
1030
|
-
return ensureRunEnvelope([
|
|
1031
|
-
{
|
|
1032
|
-
type: "REASONING_START",
|
|
1033
|
-
messageId
|
|
1034
|
-
},
|
|
1035
|
-
{
|
|
1036
|
-
type: "REASONING_MESSAGE_START",
|
|
1037
|
-
messageId,
|
|
1038
|
-
role: "reasoning"
|
|
1039
|
-
},
|
|
1040
|
-
{
|
|
1041
|
-
type: "REASONING_MESSAGE_CONTENT",
|
|
1042
|
-
messageId,
|
|
1043
|
-
delta: text
|
|
1044
|
-
},
|
|
1045
|
-
{
|
|
1046
|
-
type: "REASONING_MESSAGE_END",
|
|
1047
|
-
messageId
|
|
1048
|
-
},
|
|
1049
|
-
{
|
|
1050
|
-
type: "REASONING_END",
|
|
1051
|
-
messageId
|
|
1052
|
-
}
|
|
1053
|
-
], input);
|
|
1054
|
-
}
|
|
1055
|
-
function compileTextRecipe(input) {
|
|
1056
|
-
var _input$messageId;
|
|
1057
|
-
const text = input.text.trim();
|
|
1058
|
-
if (!text) throw new Error("Assistant text is required.");
|
|
1059
|
-
const messageId = (_input$messageId = input.messageId) !== null && _input$messageId !== void 0 ? _input$messageId : createSnippetId();
|
|
1060
|
-
return ensureRunEnvelope([
|
|
1061
|
-
{
|
|
1062
|
-
type: "TEXT_MESSAGE_START",
|
|
1063
|
-
messageId,
|
|
1064
|
-
role: "assistant"
|
|
1065
|
-
},
|
|
1066
|
-
{
|
|
1067
|
-
type: "TEXT_MESSAGE_CONTENT",
|
|
1068
|
-
messageId,
|
|
1069
|
-
delta: text
|
|
1070
|
-
},
|
|
1071
|
-
{
|
|
1072
|
-
type: "TEXT_MESSAGE_END",
|
|
1073
|
-
messageId
|
|
1074
|
-
}
|
|
1075
|
-
], input);
|
|
1076
|
-
}
|
|
1077
|
-
function compileActivityRecipe(input) {
|
|
1078
|
-
var _input$messageId2;
|
|
1079
|
-
const activityType = input.activityType.trim();
|
|
1080
|
-
if (!activityType) throw new Error("Activity type is required.");
|
|
1081
|
-
const content = parseObjectJson(input.contentJson, "Activity content");
|
|
1082
|
-
return ensureRunEnvelope([{
|
|
1083
|
-
type: "ACTIVITY_SNAPSHOT",
|
|
1084
|
-
messageId: (_input$messageId2 = input.messageId) !== null && _input$messageId2 !== void 0 ? _input$messageId2 : createSnippetId(),
|
|
1085
|
-
activityType,
|
|
1086
|
-
content,
|
|
1087
|
-
replace: true
|
|
1088
|
-
}], input);
|
|
1089
|
-
}
|
|
1090
|
-
function emptyRecipeDraft() {
|
|
1091
|
-
return {
|
|
1092
|
-
toolName: "",
|
|
1093
|
-
toolArgs: "{}",
|
|
1094
|
-
reasoningText: "",
|
|
1095
|
-
textContent: "",
|
|
1096
|
-
activityType: "a2ui-surface",
|
|
1097
|
-
activityContent: "{}"
|
|
1098
|
-
};
|
|
1099
|
-
}
|
|
1100
|
-
function compileChatSnippet(input) {
|
|
1101
|
-
switch (input.kind) {
|
|
1102
|
-
case "text": return {
|
|
1103
|
-
recipe: "text",
|
|
1104
|
-
events: compileTextRecipe({
|
|
1105
|
-
text: input.content,
|
|
1106
|
-
threadId: input.threadId,
|
|
1107
|
-
runId: input.runId,
|
|
1108
|
-
messageId: input.messageId
|
|
1109
|
-
}),
|
|
1110
|
-
name: autoSnippetName("text", snippetLabelFromText(input.content))
|
|
1111
|
-
};
|
|
1112
|
-
case "reasoning": return {
|
|
1113
|
-
recipe: "reasoning",
|
|
1114
|
-
events: compileReasoningRecipe({
|
|
1115
|
-
text: input.content,
|
|
1116
|
-
threadId: input.threadId,
|
|
1117
|
-
runId: input.runId
|
|
1118
|
-
}),
|
|
1119
|
-
name: autoSnippetName("reasoning", snippetLabelFromText(input.content))
|
|
1120
|
-
};
|
|
1121
|
-
case "tool-call": return {
|
|
1122
|
-
recipe: "tool-call",
|
|
1123
|
-
events: compileToolCallRecipe({
|
|
1124
|
-
toolName: input.toolName,
|
|
1125
|
-
argsJson: snippetArgsJson(input.argsJson),
|
|
1126
|
-
threadId: input.threadId,
|
|
1127
|
-
runId: input.runId,
|
|
1128
|
-
parentMessageId: input.messageId,
|
|
1129
|
-
toolCallId: input.toolCallId
|
|
1130
|
-
}),
|
|
1131
|
-
name: autoSnippetName("tool-call", input.toolName)
|
|
1132
|
-
};
|
|
1133
|
-
case "activity":
|
|
1134
|
-
var _input$content;
|
|
1135
|
-
return {
|
|
1136
|
-
recipe: "activity",
|
|
1137
|
-
events: compileActivityRecipe({
|
|
1138
|
-
activityType: input.activityType,
|
|
1139
|
-
contentJson: JSON.stringify((_input$content = input.content) !== null && _input$content !== void 0 ? _input$content : {}),
|
|
1140
|
-
threadId: input.threadId,
|
|
1141
|
-
runId: input.runId,
|
|
1142
|
-
messageId: input.messageId
|
|
1143
|
-
}),
|
|
1144
|
-
name: autoSnippetName("activity", input.activityType)
|
|
1145
|
-
};
|
|
1146
|
-
}
|
|
1147
|
-
}
|
|
1148
|
-
function editorStateFromSnippet(snippet) {
|
|
1149
|
-
return {
|
|
1150
|
-
recipe: snippet.recipe,
|
|
1151
|
-
name: snippet.name,
|
|
1152
|
-
json: JSON.stringify(snippet.events, null, 2),
|
|
1153
|
-
draft: recipeDraftFromEvents(snippet.events)
|
|
1154
|
-
};
|
|
1155
|
-
}
|
|
1156
|
-
function recipeDraftFromEvents(events) {
|
|
1157
|
-
const draft = emptyRecipeDraft();
|
|
1158
|
-
const textParts = [];
|
|
1159
|
-
const reasoningParts = [];
|
|
1160
|
-
const argParts = [];
|
|
1161
|
-
for (const event of events) {
|
|
1162
|
-
if (event.type === "TEXT_MESSAGE_CONTENT") {
|
|
1163
|
-
const delta = readEventString(event, "delta");
|
|
1164
|
-
if (delta) textParts.push(delta);
|
|
1165
|
-
}
|
|
1166
|
-
if (event.type === "REASONING_MESSAGE_CONTENT") {
|
|
1167
|
-
const delta = readEventString(event, "delta");
|
|
1168
|
-
if (delta) reasoningParts.push(delta);
|
|
1169
|
-
}
|
|
1170
|
-
if (event.type === "TOOL_CALL_START") {
|
|
1171
|
-
const toolName = readEventString(event, "toolCallName");
|
|
1172
|
-
if (toolName) draft.toolName = toolName;
|
|
1173
|
-
}
|
|
1174
|
-
if (event.type === "TOOL_CALL_ARGS") {
|
|
1175
|
-
const delta = readEventString(event, "delta");
|
|
1176
|
-
if (delta) argParts.push(delta);
|
|
1177
|
-
}
|
|
1178
|
-
if (event.type === "ACTIVITY_SNAPSHOT") {
|
|
1179
|
-
var _event$content;
|
|
1180
|
-
const activityType = readEventString(event, "activityType");
|
|
1181
|
-
if (activityType) draft.activityType = activityType;
|
|
1182
|
-
draft.activityContent = prettyJson((_event$content = event.content) !== null && _event$content !== void 0 ? _event$content : {});
|
|
1183
|
-
}
|
|
1184
|
-
}
|
|
1185
|
-
draft.textContent = textParts.join("");
|
|
1186
|
-
draft.reasoningText = reasoningParts.join("");
|
|
1187
|
-
if (argParts.length > 0) draft.toolArgs = prettyJson(argParts.join(""));
|
|
1188
|
-
return draft;
|
|
1189
|
-
}
|
|
1190
|
-
function compileFromActivityMessage(input) {
|
|
1191
|
-
return compileChatSnippet({
|
|
1192
|
-
kind: "activity",
|
|
1193
|
-
messageId: input.message.id,
|
|
1194
|
-
activityType: input.message.activityType,
|
|
1195
|
-
content: input.message.content,
|
|
1196
|
-
threadId: input.threadId,
|
|
1197
|
-
runId: input.runId
|
|
1198
|
-
});
|
|
1199
|
-
}
|
|
1200
|
-
function parseSnippetEvents(raw) {
|
|
1201
|
-
let parsed;
|
|
1202
|
-
try {
|
|
1203
|
-
parsed = JSON.parse(raw);
|
|
1204
|
-
} catch (_unused5) {
|
|
1205
|
-
throw new Error("Snippet JSON is invalid.");
|
|
1206
|
-
}
|
|
1207
|
-
if (!Array.isArray(parsed)) throw new Error("Snippet JSON must be an array of events.");
|
|
1208
|
-
const events = [];
|
|
1209
|
-
for (const item of parsed) {
|
|
1210
|
-
if (!item || typeof item !== "object" || Array.isArray(item)) throw new Error("Each event must be an object with a string type.");
|
|
1211
|
-
const record = item;
|
|
1212
|
-
if (typeof record.type !== "string" || record.type.length === 0) throw new Error("Each event must have a string type.");
|
|
1213
|
-
events.push(item);
|
|
1214
|
-
}
|
|
1215
|
-
return events;
|
|
1216
|
-
}
|
|
1217
|
-
function loadEventSnippets(storage = defaultStorage()) {
|
|
1218
|
-
if (!storage) return [];
|
|
1219
|
-
try {
|
|
1220
|
-
const raw = storage.getItem(EVENT_SNIPPETS_STORAGE_KEY);
|
|
1221
|
-
if (!raw) return [];
|
|
1222
|
-
const parsed = JSON.parse(raw);
|
|
1223
|
-
if (!Array.isArray(parsed)) return [];
|
|
1224
|
-
return parsed.flatMap((item) => {
|
|
1225
|
-
const snippet = parseStoredSnippet(item);
|
|
1226
|
-
return snippet ? [snippet] : [];
|
|
1227
|
-
});
|
|
1228
|
-
} catch (_unused6) {
|
|
1229
|
-
return [];
|
|
1230
|
-
}
|
|
1231
|
-
}
|
|
1232
|
-
function saveEventSnippets(snippets, storage = defaultStorage()) {
|
|
1233
|
-
if (!storage) throw new Error("Snippet storage is not available.");
|
|
1234
|
-
storage.setItem(EVENT_SNIPPETS_STORAGE_KEY, JSON.stringify(snippets));
|
|
1235
|
-
}
|
|
1236
|
-
function upsertEventSnippet(snippet, storage = defaultStorage()) {
|
|
1237
|
-
const current = loadEventSnippets(storage);
|
|
1238
|
-
const index = current.findIndex((item) => item.id === snippet.id);
|
|
1239
|
-
const next = index === -1 ? [...current, snippet] : current.map((item, itemIndex) => itemIndex === index ? snippet : item);
|
|
1240
|
-
saveEventSnippets(next, storage);
|
|
1241
|
-
return next;
|
|
1242
|
-
}
|
|
1243
|
-
function deleteEventSnippet(id, storage = defaultStorage()) {
|
|
1244
|
-
const next = loadEventSnippets(storage).filter((item) => item.id !== id);
|
|
1245
|
-
saveEventSnippets(next, storage);
|
|
1246
|
-
return next;
|
|
1247
|
-
}
|
|
1248
|
-
function exportEventSnippetsJson(snippets) {
|
|
1249
|
-
return JSON.stringify(snippets, null, 2);
|
|
1250
|
-
}
|
|
1251
|
-
function importEventSnippets(raw, storage = defaultStorage()) {
|
|
1252
|
-
let parsed;
|
|
1253
|
-
try {
|
|
1254
|
-
parsed = JSON.parse(raw);
|
|
1255
|
-
} catch (_unused7) {
|
|
1256
|
-
throw new Error("Import JSON is invalid.");
|
|
1257
|
-
}
|
|
1258
|
-
const incoming = Array.isArray(parsed) ? parsed : [parsed];
|
|
1259
|
-
const imported = [];
|
|
1260
|
-
for (const item of incoming) {
|
|
1261
|
-
const snippet = parseStoredSnippet(item);
|
|
1262
|
-
if (!snippet) throw new Error("Import JSON is not a valid snippet list.");
|
|
1263
|
-
imported.push({
|
|
1264
|
-
...snippet,
|
|
1265
|
-
id: createSnippetId(),
|
|
1266
|
-
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1267
|
-
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
1268
|
-
});
|
|
1269
|
-
}
|
|
1270
|
-
if (imported.length === 0) throw new Error("Import JSON is not a valid snippet list.");
|
|
1271
|
-
const next = [...loadEventSnippets(storage), ...imported];
|
|
1272
|
-
saveEventSnippets(next, storage);
|
|
1273
|
-
return next;
|
|
1274
|
-
}
|
|
1275
|
-
function snippetLabelFromText(text) {
|
|
1276
|
-
const compact = text.trim().replace(/\s+/g, " ");
|
|
1277
|
-
if (compact.length <= 40) return compact;
|
|
1278
|
-
return `${compact.slice(0, 37)}...`;
|
|
1279
|
-
}
|
|
1280
|
-
function parseObjectJson(raw, label) {
|
|
1281
|
-
try {
|
|
1282
|
-
return JSON.parse(raw);
|
|
1283
|
-
} catch (_unused8) {
|
|
1284
|
-
throw new Error(`${label} JSON is invalid.`);
|
|
1285
|
-
}
|
|
1286
|
-
}
|
|
1287
|
-
function readEventString(event, key) {
|
|
1288
|
-
const value = event[key];
|
|
1289
|
-
return typeof value === "string" && value.length > 0 ? value : null;
|
|
1290
|
-
}
|
|
1291
|
-
function prettyJson(value) {
|
|
1292
|
-
if (typeof value === "string") try {
|
|
1293
|
-
return JSON.stringify(JSON.parse(value), null, 2);
|
|
1294
|
-
} catch (_unused9) {
|
|
1295
|
-
return value;
|
|
1296
|
-
}
|
|
1297
|
-
try {
|
|
1298
|
-
return JSON.stringify(value !== null && value !== void 0 ? value : {}, null, 2);
|
|
1299
|
-
} catch (_unused10) {
|
|
1300
|
-
return "{}";
|
|
1301
|
-
}
|
|
1302
|
-
}
|
|
1303
|
-
function parseStoredSnippet(value) {
|
|
1304
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) return null;
|
|
1305
|
-
const record = value;
|
|
1306
|
-
if (typeof record.id !== "string" || record.id.length === 0) return null;
|
|
1307
|
-
if (typeof record.name !== "string") return null;
|
|
1308
|
-
if (!isSnippetRecipe(record.recipe)) return null;
|
|
1309
|
-
if (!Array.isArray(record.events)) return null;
|
|
1310
|
-
const events = [];
|
|
1311
|
-
for (const event of record.events) {
|
|
1312
|
-
if (!event || typeof event !== "object" || Array.isArray(event)) return null;
|
|
1313
|
-
if (typeof event.type !== "string") return null;
|
|
1314
|
-
events.push(event);
|
|
1315
|
-
}
|
|
1316
|
-
return {
|
|
1317
|
-
id: record.id,
|
|
1318
|
-
name: record.name,
|
|
1319
|
-
recipe: record.recipe,
|
|
1320
|
-
events,
|
|
1321
|
-
createdAt: typeof record.createdAt === "string" ? record.createdAt : (/* @__PURE__ */ new Date()).toISOString(),
|
|
1322
|
-
updatedAt: typeof record.updatedAt === "string" ? record.updatedAt : (/* @__PURE__ */ new Date()).toISOString()
|
|
1323
|
-
};
|
|
1324
|
-
}
|
|
1325
|
-
function defaultStorage() {
|
|
1326
|
-
if (typeof window === "undefined") return null;
|
|
1327
|
-
try {
|
|
1328
|
-
return window.localStorage;
|
|
1329
|
-
} catch (_unused11) {
|
|
1330
|
-
return null;
|
|
1331
|
-
}
|
|
1332
|
-
}
|
|
1333
|
-
|
|
1334
790
|
//#endregion
|
|
1335
791
|
//#region package.json
|
|
1336
|
-
var version = "1.69.
|
|
792
|
+
var version = "1.69.3";
|
|
1337
793
|
|
|
1338
794
|
//#endregion
|
|
1339
795
|
//#region src/lib/telemetry.ts
|
|
@@ -1361,9 +817,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
1361
817
|
homeViewed: "oss.inspector.home_viewed",
|
|
1362
818
|
homeCtaClicked: "oss.inspector.home_cta_clicked",
|
|
1363
819
|
metadataModuleViewed: "oss.inspector.metadata_module_viewed",
|
|
1364
|
-
metadataActionClicked: "oss.inspector.metadata_action_clicked"
|
|
1365
|
-
eventSnippetsRun: "oss.inspector.event_snippets_run",
|
|
1366
|
-
eventSnippetsSaved: "oss.inspector.event_snippets_saved"
|
|
820
|
+
metadataActionClicked: "oss.inspector.metadata_action_clicked"
|
|
1367
821
|
};
|
|
1368
822
|
const TELEMETRY_INGEST_URL = "https://telemetry.copilotkit.ai/ingest";
|
|
1369
823
|
const TELEMETRY_DOCS_URL = "https://docs.copilotkit.ai/telemetry";
|
|
@@ -1610,20 +1064,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
1610
1064
|
...metadataCoarseProperties(props)
|
|
1611
1065
|
});
|
|
1612
1066
|
}
|
|
1613
|
-
function trackEventSnippetsRun(props) {
|
|
1614
|
-
track(TELEMETRY_EVENTS.eventSnippetsRun, {
|
|
1615
|
-
recipe: props.recipe,
|
|
1616
|
-
source: props.source,
|
|
1617
|
-
success: props.success
|
|
1618
|
-
});
|
|
1619
|
-
}
|
|
1620
|
-
function trackEventSnippetsSaved(props) {
|
|
1621
|
-
track(TELEMETRY_EVENTS.eventSnippetsSaved, {
|
|
1622
|
-
recipe: props.recipe,
|
|
1623
|
-
source: props.source,
|
|
1624
|
-
success: props.success
|
|
1625
|
-
});
|
|
1626
|
-
}
|
|
1627
1067
|
/**
|
|
1628
1068
|
* Returns the inspector's anonymous distinct-ID for cross-domain
|
|
1629
1069
|
* propagation onto outbound announcement-CTA links, or `null` when the user
|
|
@@ -1914,6 +1354,21 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
1914
1354
|
const EDGE_MARGIN = 16;
|
|
1915
1355
|
/** HUD card plus the hover bridge. Used to pick left vs right. */
|
|
1916
1356
|
const LAUNCHER_HUD_WIDTH = 248;
|
|
1357
|
+
/**
|
|
1358
|
+
* One page-load preview of the launcher's feature HUD.
|
|
1359
|
+
*
|
|
1360
|
+
* The card arrives after the host page has had a beat to settle. Its four rows
|
|
1361
|
+
* then come online in order, stay readable, and leave together. Nothing is
|
|
1362
|
+
* persisted: a new Inspector element means a new preview.
|
|
1363
|
+
*/
|
|
1364
|
+
const LAUNCHER_HUD_INTRO_MS = {
|
|
1365
|
+
delay: 500,
|
|
1366
|
+
duration: 3400,
|
|
1367
|
+
rowStart: 180,
|
|
1368
|
+
rowStagger: 170,
|
|
1369
|
+
rowDuration: 300,
|
|
1370
|
+
blockedRetry: 250
|
|
1371
|
+
};
|
|
1917
1372
|
const DRAG_THRESHOLD = 6;
|
|
1918
1373
|
const MIN_WINDOW_WIDTH = 880;
|
|
1919
1374
|
const MIN_WINDOW_WIDTH_DOCKED_LEFT = 640;
|
|
@@ -2020,6 +1475,29 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2020
1475
|
"ACTIVITY_SNAPSHOT",
|
|
2021
1476
|
"ACTIVITY_DELTA"
|
|
2022
1477
|
];
|
|
1478
|
+
const EMPTY_INSPECTOR_MESSAGES = [];
|
|
1479
|
+
function textFromUnknownContent(content) {
|
|
1480
|
+
if (typeof content === "string") return content;
|
|
1481
|
+
if (Array.isArray(content)) {
|
|
1482
|
+
const parts = [];
|
|
1483
|
+
for (const part of content) {
|
|
1484
|
+
if (typeof part === "string") {
|
|
1485
|
+
parts.push(part);
|
|
1486
|
+
continue;
|
|
1487
|
+
}
|
|
1488
|
+
if (typeof part === "object" && part !== null && "text" in part) {
|
|
1489
|
+
const text = part.text;
|
|
1490
|
+
if (typeof text === "string") parts.push(text);
|
|
1491
|
+
}
|
|
1492
|
+
}
|
|
1493
|
+
return parts.join("");
|
|
1494
|
+
}
|
|
1495
|
+
if (typeof content === "object" && content !== null && "text" in content) {
|
|
1496
|
+
const text = content.text;
|
|
1497
|
+
if (typeof text === "string") return text;
|
|
1498
|
+
}
|
|
1499
|
+
return "";
|
|
1500
|
+
}
|
|
2023
1501
|
/**
|
|
2024
1502
|
* Map core.tools (the registry INCLUDING disabled tools) into Capabilities-tab
|
|
2025
1503
|
* frontend-tool rows. Pure: no DOM, no `this`. Reads current on/off state from
|
|
@@ -2281,13 +1759,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2281
1759
|
const cached = highlightedJsonCache.get(obj);
|
|
2282
1760
|
if (cached !== void 0) return cached;
|
|
2283
1761
|
}
|
|
2284
|
-
const colors = {
|
|
2285
|
-
key: "#5558B2",
|
|
2286
|
-
str: "#087653",
|
|
2287
|
-
num: "#8a5900",
|
|
2288
|
-
bool: "#c0333a",
|
|
2289
|
-
nil: "#68686e"
|
|
2290
|
-
};
|
|
2291
1762
|
const json = JSON.stringify(obj, null, 2);
|
|
2292
1763
|
if (!json) return "";
|
|
2293
1764
|
const parts = [];
|
|
@@ -2297,11 +1768,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2297
1768
|
while ((match = re.exec(json)) !== null) {
|
|
2298
1769
|
parts.push(escapeHtml(json.slice(lastIndex, match.index)));
|
|
2299
1770
|
const m = match[0];
|
|
2300
|
-
let
|
|
2301
|
-
if (m.startsWith("\""))
|
|
2302
|
-
else if (m === "true" || m === "false")
|
|
2303
|
-
else if (m === "null")
|
|
2304
|
-
parts.push(`<span
|
|
1771
|
+
let token = "num";
|
|
1772
|
+
if (m.startsWith("\"")) token = m.trimEnd().endsWith(":") ? "key" : "str";
|
|
1773
|
+
else if (m === "true" || m === "false") token = "bool";
|
|
1774
|
+
else if (m === "null") token = "nil";
|
|
1775
|
+
parts.push(`<span class="cpk-json-token cpk-json-token--${token}">${escapeHtml(m)}</span>`);
|
|
2305
1776
|
lastIndex = match.index + m.length;
|
|
2306
1777
|
}
|
|
2307
1778
|
parts.push(escapeHtml(json.slice(lastIndex)));
|
|
@@ -2326,31 +1797,23 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2326
1797
|
${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
2327
1798
|
>`;
|
|
2328
1799
|
}
|
|
2329
|
-
function
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
};
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
}
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
if (type
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
if (type.startsWith("RUN_") || type.startsWith("STEP_")) return {
|
|
2347
|
-
bg: "rgba(255,172,77,0.2)",
|
|
2348
|
-
fg: "#8a5900"
|
|
2349
|
-
};
|
|
2350
|
-
return {
|
|
2351
|
-
bg: "#F7F7F9",
|
|
2352
|
-
fg: "#68686e"
|
|
2353
|
-
};
|
|
1800
|
+
function humanizeEventType(type) {
|
|
1801
|
+
const words = type.trim().split(/[_\s]+/).filter(Boolean).map((word) => word.toLowerCase());
|
|
1802
|
+
if (words.length === 0) return "Event";
|
|
1803
|
+
const [first = "event", ...rest] = words;
|
|
1804
|
+
return [`${first.charAt(0).toUpperCase()}${first.slice(1)}`, ...rest].join(" ");
|
|
1805
|
+
}
|
|
1806
|
+
function messageTitle(role) {
|
|
1807
|
+
const normalized = role.trim() || "message";
|
|
1808
|
+
return `${`${normalized.charAt(0).toUpperCase()}${normalized.slice(1).toLowerCase()}`} message`;
|
|
1809
|
+
}
|
|
1810
|
+
function eventCategory(type) {
|
|
1811
|
+
if (type === "RUN_ERROR" || type === "ERROR") return "error";
|
|
1812
|
+
if (type.startsWith("TEXT_MESSAGE")) return "message";
|
|
1813
|
+
if (type.startsWith("TOOL_CALL")) return "tool";
|
|
1814
|
+
if (type.startsWith("STATE") || type.startsWith("MESSAGES")) return "state";
|
|
1815
|
+
if (type.startsWith("RUN_") || type.startsWith("STEP_")) return "run";
|
|
1816
|
+
return "event";
|
|
2354
1817
|
}
|
|
2355
1818
|
function formatTimestamp(ts) {
|
|
2356
1819
|
const date = typeof ts === "number" ? new Date(ts) : new Date(ts);
|
|
@@ -2755,6 +2218,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
2755
2218
|
this.threadInspectionAvailable = false;
|
|
2756
2219
|
this.agentStateInput = null;
|
|
2757
2220
|
this.agentEventsInput = [];
|
|
2221
|
+
this.agentMessagesInput = EMPTY_INSPECTOR_MESSAGES;
|
|
2758
2222
|
this.liveMessageVersion = 0;
|
|
2759
2223
|
this.viewInAppMode = "hidden";
|
|
2760
2224
|
this.viewInAppError = null;
|
|
@@ -2912,7 +2376,8 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
2912
2376
|
if (this.canFetchEvents()) {
|
|
2913
2377
|
this._eventsFetched = true;
|
|
2914
2378
|
this.fetchEvents(this.threadId);
|
|
2915
|
-
}
|
|
2379
|
+
}
|
|
2380
|
+
if (this.canFetchMessages()) this.fetchMessages(this.threadId);
|
|
2916
2381
|
} else {
|
|
2917
2382
|
this._fetchedMetadata = null;
|
|
2918
2383
|
this._conversation = [];
|
|
@@ -2924,7 +2389,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
2924
2389
|
this._messagesAbort = null;
|
|
2925
2390
|
this.fetchMessages(this.threadId, true);
|
|
2926
2391
|
}
|
|
2927
|
-
const focusedContentChanged = _changed.has("_fetchedEvents") || _changed.has("agentEventsInput") || _changed.has("_conversation");
|
|
2392
|
+
const focusedContentChanged = _changed.has("_fetchedEvents") || _changed.has("agentEventsInput") || _changed.has("agentMessagesInput") || _changed.has("_conversation");
|
|
2928
2393
|
if (this.focusMessageId && (this.focusRequestId > this._scrolledFocusRequestId || focusedContentChanged)) {
|
|
2929
2394
|
if (this._tab !== "timeline") {
|
|
2930
2395
|
this._activatedTabs = new Set([...this._activatedTabs, "timeline"]);
|
|
@@ -3092,18 +2557,14 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3092
2557
|
if (result.status === "not-available") {
|
|
3093
2558
|
this._eventsNotAvailable = true;
|
|
3094
2559
|
this._fetchedEvents = [];
|
|
3095
|
-
if (this.canFetchMessages()) this.fetchMessages(threadId);
|
|
3096
2560
|
return;
|
|
3097
2561
|
}
|
|
3098
|
-
|
|
3099
|
-
this._fetchedEvents = mappedEvents;
|
|
3100
|
-
if (mappedEvents.length === 0 && this.canFetchMessages()) this.fetchMessages(threadId);
|
|
2562
|
+
this._fetchedEvents = this.mapApiEvents(result.events);
|
|
3101
2563
|
} catch (err) {
|
|
3102
2564
|
if (err instanceof Error && err.name === "AbortError") return;
|
|
3103
2565
|
if (this.threadId !== threadId) return;
|
|
3104
2566
|
this._eventsError = err instanceof Error ? err.message : "Failed to load events";
|
|
3105
2567
|
this._fetchedEvents = [];
|
|
3106
|
-
if (this.canFetchMessages()) this.fetchMessages(threadId);
|
|
3107
2568
|
} finally {
|
|
3108
2569
|
if (!controller.signal.aborted && this.threadId === threadId) this._loadingEvents = false;
|
|
3109
2570
|
}
|
|
@@ -3180,13 +2641,15 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3180
2641
|
mapMessages(messages) {
|
|
3181
2642
|
const items = [];
|
|
3182
2643
|
const toolCallMap = /* @__PURE__ */ new Map();
|
|
3183
|
-
for (const msg of messages) if (msg.role === "user"
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
|
|
2644
|
+
for (const msg of messages) if (msg.role === "user") {
|
|
2645
|
+
const content = textFromUnknownContent(msg.content);
|
|
2646
|
+
if (content) items.push({
|
|
2647
|
+
id: msg.id,
|
|
2648
|
+
type: "user",
|
|
2649
|
+
content,
|
|
2650
|
+
createdAt: ""
|
|
2651
|
+
});
|
|
2652
|
+
} else if (msg.role === "assistant") {
|
|
3190
2653
|
var _msg$toolCalls;
|
|
3191
2654
|
if ((_msg$toolCalls = msg.toolCalls) === null || _msg$toolCalls === void 0 ? void 0 : _msg$toolCalls.length) for (const tc of msg.toolCalls) {
|
|
3192
2655
|
let args = {};
|
|
@@ -3216,10 +2679,11 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3216
2679
|
toolCallMap.set(tc.id, item);
|
|
3217
2680
|
items.push(item);
|
|
3218
2681
|
}
|
|
3219
|
-
|
|
2682
|
+
const assistantContent = textFromUnknownContent(msg.content);
|
|
2683
|
+
if (assistantContent) items.push({
|
|
3220
2684
|
id: msg.id,
|
|
3221
2685
|
type: "assistant",
|
|
3222
|
-
content:
|
|
2686
|
+
content: assistantContent,
|
|
3223
2687
|
createdAt: ""
|
|
3224
2688
|
});
|
|
3225
2689
|
} else if (msg.role === "activity") {
|
|
@@ -3271,14 +2735,89 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3271
2735
|
}
|
|
3272
2736
|
timelineItemsForEvents(events) {
|
|
3273
2737
|
var _this$_timelineItemsC;
|
|
3274
|
-
|
|
3275
|
-
const
|
|
2738
|
+
const conversation = this._conversation;
|
|
2739
|
+
const agentMessages = this.agentMessagesInput;
|
|
2740
|
+
if (((_this$_timelineItemsC = this._timelineItemsCache) === null || _this$_timelineItemsC === void 0 ? void 0 : _this$_timelineItemsC.events) === events && this._timelineItemsCache.conversation === conversation && this._timelineItemsCache.agentMessages === agentMessages) return this._timelineItemsCache.items;
|
|
2741
|
+
const items = this.mergeUserMessagesIntoTimeline(this.timelineItemsFromEvents(events));
|
|
3276
2742
|
this._timelineItemsCache = {
|
|
3277
2743
|
events,
|
|
2744
|
+
conversation,
|
|
2745
|
+
agentMessages,
|
|
3278
2746
|
items
|
|
3279
2747
|
};
|
|
3280
2748
|
return items;
|
|
3281
2749
|
}
|
|
2750
|
+
conversationUsers() {
|
|
2751
|
+
const users = [];
|
|
2752
|
+
const seenIds = /* @__PURE__ */ new Set();
|
|
2753
|
+
const seenBodies = /* @__PURE__ */ new Set();
|
|
2754
|
+
const push = (user) => {
|
|
2755
|
+
const body = user.content.trim();
|
|
2756
|
+
if (!body) return;
|
|
2757
|
+
if (seenIds.has(user.id) || seenBodies.has(body)) return;
|
|
2758
|
+
seenIds.add(user.id);
|
|
2759
|
+
seenBodies.add(body);
|
|
2760
|
+
users.push(user);
|
|
2761
|
+
};
|
|
2762
|
+
for (const item of this._conversation) if (item.type === "user") push(item);
|
|
2763
|
+
this.agentMessagesInput.forEach((message, index) => {
|
|
2764
|
+
var _message$id;
|
|
2765
|
+
if (message.role !== "user") return;
|
|
2766
|
+
push({
|
|
2767
|
+
id: (_message$id = message.id) !== null && _message$id !== void 0 ? _message$id : `live-user-${index}`,
|
|
2768
|
+
type: "user",
|
|
2769
|
+
content: message.contentText,
|
|
2770
|
+
createdAt: ""
|
|
2771
|
+
});
|
|
2772
|
+
});
|
|
2773
|
+
return users;
|
|
2774
|
+
}
|
|
2775
|
+
mergeUserMessagesIntoTimeline(items) {
|
|
2776
|
+
if (items.length === 0) return items;
|
|
2777
|
+
const users = this.conversationUsers();
|
|
2778
|
+
if (users.length === 0) return items;
|
|
2779
|
+
const shownIds = /* @__PURE__ */ new Set();
|
|
2780
|
+
const shownBodies = /* @__PURE__ */ new Set();
|
|
2781
|
+
for (const item of items) {
|
|
2782
|
+
var _item$body;
|
|
2783
|
+
if (item.kind !== "message") continue;
|
|
2784
|
+
if (!item.title.toLowerCase().startsWith("user")) continue;
|
|
2785
|
+
if (item.messageId) shownIds.add(item.messageId);
|
|
2786
|
+
const body = (_item$body = item.body) === null || _item$body === void 0 ? void 0 : _item$body.trim();
|
|
2787
|
+
if (body) shownBodies.add(body);
|
|
2788
|
+
}
|
|
2789
|
+
const missing = users.filter((user) => {
|
|
2790
|
+
if (shownIds.has(user.id)) return false;
|
|
2791
|
+
if (shownBodies.has(user.content.trim())) return false;
|
|
2792
|
+
return true;
|
|
2793
|
+
});
|
|
2794
|
+
if (missing.length === 0) return items;
|
|
2795
|
+
const insertAt = [];
|
|
2796
|
+
for (let index = 0; index < items.length; index++) {
|
|
2797
|
+
const item = items[index];
|
|
2798
|
+
if (item.kind === "run" && item.title === "Run started") insertAt.push(index);
|
|
2799
|
+
}
|
|
2800
|
+
if (insertAt.length === 0) for (let index = 0; index < items.length; index++) {
|
|
2801
|
+
const item = items[index];
|
|
2802
|
+
if (item.kind === "message" && item.title.toLowerCase().includes("assistant")) insertAt.push(index);
|
|
2803
|
+
}
|
|
2804
|
+
const merged = [...items];
|
|
2805
|
+
for (let index = missing.length - 1; index >= 0; index--) {
|
|
2806
|
+
var _insertAt$index;
|
|
2807
|
+
const user = missing[index];
|
|
2808
|
+
const row = {
|
|
2809
|
+
id: `conversation-user-${user.id}`,
|
|
2810
|
+
messageId: user.id,
|
|
2811
|
+
kind: "message",
|
|
2812
|
+
title: "User message",
|
|
2813
|
+
body: user.content,
|
|
2814
|
+
timestamp: user.createdAt || 0,
|
|
2815
|
+
sourceIndex: 0
|
|
2816
|
+
};
|
|
2817
|
+
merged.splice((_insertAt$index = insertAt[index]) !== null && _insertAt$index !== void 0 ? _insertAt$index : 0, 0, row);
|
|
2818
|
+
}
|
|
2819
|
+
return merged;
|
|
2820
|
+
}
|
|
3282
2821
|
timelineItemsFromEvents(events) {
|
|
3283
2822
|
if (events.length === 0) return [];
|
|
3284
2823
|
const items = [];
|
|
@@ -3321,7 +2860,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3321
2860
|
id: `message-${key}`,
|
|
3322
2861
|
messageId: key,
|
|
3323
2862
|
kind: "message",
|
|
3324
|
-
title:
|
|
2863
|
+
title: messageTitle(role || "message"),
|
|
3325
2864
|
body: "",
|
|
3326
2865
|
timestamp: event.timestamp,
|
|
3327
2866
|
sourceIndex
|
|
@@ -3414,9 +2953,9 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3414
2953
|
continue;
|
|
3415
2954
|
}
|
|
3416
2955
|
if (type === "TEXT_MESSAGE_CONTENT") {
|
|
3417
|
-
var _readString6, _item$
|
|
2956
|
+
var _readString6, _item$body2, _readString7;
|
|
3418
2957
|
const item = ensureMessage(event, (_readString6 = readString(payload, ["role"])) !== null && _readString6 !== void 0 ? _readString6 : "assistant");
|
|
3419
|
-
item.body = `${(_item$
|
|
2958
|
+
item.body = `${(_item$body2 = item.body) !== null && _item$body2 !== void 0 ? _item$body2 : ""}${(_readString7 = readString(payload, [
|
|
3420
2959
|
"delta",
|
|
3421
2960
|
"content",
|
|
3422
2961
|
"text"
|
|
@@ -3477,7 +3016,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3477
3016
|
items.push({
|
|
3478
3017
|
id: `${type}-${sourceIndex}`,
|
|
3479
3018
|
kind: "state",
|
|
3480
|
-
title: type === "STATE_SNAPSHOT" ? "State snapshot
|
|
3019
|
+
title: type === "STATE_SNAPSHOT" ? "State snapshot" : "State delta",
|
|
3481
3020
|
timestamp: event.timestamp,
|
|
3482
3021
|
sourceIndex,
|
|
3483
3022
|
details: payload
|
|
@@ -3487,7 +3026,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3487
3026
|
items.push({
|
|
3488
3027
|
id: `event-${sourceIndex}`,
|
|
3489
3028
|
kind: "event",
|
|
3490
|
-
title: type,
|
|
3029
|
+
title: humanizeEventType(type),
|
|
3491
3030
|
timestamp: event.timestamp,
|
|
3492
3031
|
sourceIndex,
|
|
3493
3032
|
details: payload
|
|
@@ -3630,6 +3169,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3630
3169
|
});
|
|
3631
3170
|
}
|
|
3632
3171
|
render() {
|
|
3172
|
+
const viewInApp = this.renderViewInAppAction();
|
|
3633
3173
|
return lit.html`
|
|
3634
3174
|
<div class="cpk-td">
|
|
3635
3175
|
<!-- ── Left area: tabs + content ─────────────────────────────────── -->
|
|
@@ -3657,6 +3197,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3657
3197
|
</button>
|
|
3658
3198
|
`)}
|
|
3659
3199
|
</div>
|
|
3200
|
+
${viewInApp !== lit.nothing ? lit.html`<div class="cpk-td__chrome-actions">${viewInApp}</div>` : lit.nothing}
|
|
3660
3201
|
${this.renderPanelToggle()}
|
|
3661
3202
|
</div>
|
|
3662
3203
|
${this.renderMetadataStrip()}
|
|
@@ -3712,8 +3253,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3712
3253
|
value: (_ref5 = (_metadata$name = metadata === null || metadata === void 0 ? void 0 : metadata.name) !== null && _metadata$name !== void 0 ? _metadata$name : (_this$thread = this.thread) === null || _this$thread === void 0 ? void 0 : _this$thread.name) !== null && _ref5 !== void 0 ? _ref5 : "Untitled"
|
|
3713
3254
|
}, {
|
|
3714
3255
|
label: "ID",
|
|
3715
|
-
value: (_ref6 = (_metadata$id = metadata === null || metadata === void 0 ? void 0 : metadata.id) !== null && _metadata$id !== void 0 ? _metadata$id : this.threadId) !== null && _ref6 !== void 0 ? _ref6 : "—"
|
|
3716
|
-
wrap: true
|
|
3256
|
+
value: (_ref6 = (_metadata$id = metadata === null || metadata === void 0 ? void 0 : metadata.id) !== null && _metadata$id !== void 0 ? _metadata$id : this.threadId) !== null && _ref6 !== void 0 ? _ref6 : "—"
|
|
3717
3257
|
}];
|
|
3718
3258
|
for (const fact of [
|
|
3719
3259
|
{
|
|
@@ -3735,7 +3275,6 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3735
3275
|
value: fact.label === "Created" || fact.label === "Updated" ? this.fmtTime(fact.value) : fact.value
|
|
3736
3276
|
});
|
|
3737
3277
|
}
|
|
3738
|
-
const bulkControls = this.renderActiveBulkControls();
|
|
3739
3278
|
return lit.html`
|
|
3740
3279
|
<div
|
|
3741
3280
|
class="cpk-td__metadata-strip"
|
|
@@ -3758,8 +3297,6 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3758
3297
|
</span>
|
|
3759
3298
|
`)}
|
|
3760
3299
|
</div>
|
|
3761
|
-
${this.renderViewInAppAction()}
|
|
3762
|
-
${bulkControls}
|
|
3763
3300
|
</div>
|
|
3764
3301
|
`;
|
|
3765
3302
|
}
|
|
@@ -3786,10 +3323,8 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3786
3323
|
>` : lit.nothing}
|
|
3787
3324
|
`;
|
|
3788
3325
|
}
|
|
3789
|
-
|
|
3326
|
+
renderTimelineBulkControls() {
|
|
3790
3327
|
if (this._eventsNotAvailable) return lit.nothing;
|
|
3791
|
-
if (this._tab === "raw-events") return this.renderRawEventBulkControls();
|
|
3792
|
-
if (this._tab !== "timeline") return lit.nothing;
|
|
3793
3328
|
const detailIds = this.timelineItemsForEvents(this.activeEvents).filter((item) => item.details).map((item) => item.id);
|
|
3794
3329
|
if (detailIds.length <= 1) return lit.nothing;
|
|
3795
3330
|
return lit.html`<div class="cpk-td__timeline-toolbar">
|
|
@@ -3864,7 +3399,12 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3864
3399
|
`;
|
|
3865
3400
|
}
|
|
3866
3401
|
const events = this.activeEvents;
|
|
3867
|
-
const cachedTimeline = this.getCachedPanelTpl("timeline", [
|
|
3402
|
+
const cachedTimeline = this.getCachedPanelTpl("timeline", [
|
|
3403
|
+
events,
|
|
3404
|
+
this._conversation,
|
|
3405
|
+
this.agentMessagesInput,
|
|
3406
|
+
this._expandedTimelineDetails
|
|
3407
|
+
]);
|
|
3868
3408
|
if (cachedTimeline) return cachedTimeline;
|
|
3869
3409
|
const timelineItems = this.timelineItemsForEvents(events);
|
|
3870
3410
|
if (timelineItems.length === 0) {
|
|
@@ -3880,15 +3420,29 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3880
3420
|
</div>
|
|
3881
3421
|
`;
|
|
3882
3422
|
}
|
|
3883
|
-
return this.cachedPanelTpl("timeline", [
|
|
3423
|
+
return this.cachedPanelTpl("timeline", [
|
|
3424
|
+
events,
|
|
3425
|
+
this._conversation,
|
|
3426
|
+
this.agentMessagesInput,
|
|
3427
|
+
this._expandedTimelineDetails
|
|
3428
|
+
], () => lit.html`${this.renderTimelineBulkControls()}${timelineItems.map((item) => this.renderTimelineItem(item))}`);
|
|
3429
|
+
}
|
|
3430
|
+
timelineItemClass(item) {
|
|
3431
|
+
const classes = ["cpk-td__timeline-item", `cpk-td__timeline-item--${item.kind}`];
|
|
3432
|
+
if (item.kind === "warning" || item.severity === "error") classes.push("cpk-td__timeline-item--warning");
|
|
3433
|
+
if (item.kind === "message") {
|
|
3434
|
+
const title = item.title.toLowerCase();
|
|
3435
|
+
if (title.startsWith("user")) classes.push("cpk-td__timeline-item--user");
|
|
3436
|
+
else if (title.includes("assistant")) classes.push("cpk-td__timeline-item--assistant");
|
|
3437
|
+
}
|
|
3438
|
+
return classes.join(" ");
|
|
3884
3439
|
}
|
|
3885
3440
|
renderTimelineItem(item) {
|
|
3886
3441
|
var _item$messageId;
|
|
3887
|
-
const isWarning = item.kind === "warning";
|
|
3888
3442
|
const detailsExpanded = this._expandedTimelineDetails.has(item.id);
|
|
3889
3443
|
return lit.html`
|
|
3890
3444
|
<div
|
|
3891
|
-
class
|
|
3445
|
+
class=${this.timelineItemClass(item)}
|
|
3892
3446
|
data-message-id=${(_item$messageId = item.messageId) !== null && _item$messageId !== void 0 ? _item$messageId : lit.nothing}
|
|
3893
3447
|
>
|
|
3894
3448
|
<div class="cpk-td__timeline-header">
|
|
@@ -3896,13 +3450,15 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3896
3450
|
>${item.severity === "error" ? "error" : item.kind}</span
|
|
3897
3451
|
>
|
|
3898
3452
|
<span class="cpk-td__timeline-title">${item.title}</span>
|
|
3899
|
-
|
|
3900
|
-
|
|
3901
|
-
|
|
3902
|
-
|
|
3903
|
-
|
|
3904
|
-
|
|
3905
|
-
|
|
3453
|
+
${item.sourceIndex ? lit.html`
|
|
3454
|
+
<button
|
|
3455
|
+
type="button"
|
|
3456
|
+
class="cpk-td__source-link"
|
|
3457
|
+
@click=${() => this.revealSourceEvent(item.sourceIndex)}
|
|
3458
|
+
>
|
|
3459
|
+
Source event #${item.sourceIndex}
|
|
3460
|
+
</button>
|
|
3461
|
+
` : lit.nothing}
|
|
3906
3462
|
<span class="cpk-td__timeline-time"
|
|
3907
3463
|
>${formatTimestamp(item.timestamp)}</span
|
|
3908
3464
|
>
|
|
@@ -3939,9 +3495,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(parsed))}</pre
|
|
|
3939
3495
|
<span>${detailsExpanded ? "Hide details" : "Show details"}</span>
|
|
3940
3496
|
</button>` : lit.nothing}
|
|
3941
3497
|
${item.body ? lit.html`<div class="cpk-td__timeline-body">${item.body}</div>` : lit.nothing}
|
|
3942
|
-
${item.details && detailsExpanded ? lit.
|
|
3943
|
-
${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(item.details))}</pre
|
|
3944
|
-
>` : lit.nothing}
|
|
3498
|
+
${item.details && detailsExpanded ? renderHighlightedJsonBlock(item.details) : lit.nothing}
|
|
3945
3499
|
</div>
|
|
3946
3500
|
`;
|
|
3947
3501
|
}
|
|
@@ -4071,9 +3625,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(item.details))}<
|
|
|
4071
3625
|
${expanded ? lit.html`
|
|
4072
3626
|
<div class="cpk-td__tool-body">
|
|
4073
3627
|
<div class="cpk-td__tool-section-label">Arguments</div>
|
|
4074
|
-
|
|
4075
|
-
${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(item.arguments))}</pre
|
|
4076
|
-
>
|
|
3628
|
+
${renderHighlightedJsonBlock(item.arguments)}
|
|
4077
3629
|
${item.result ? lit.html`
|
|
4078
3630
|
<div
|
|
4079
3631
|
class="cpk-td__tool-section-label"
|
|
@@ -4081,9 +3633,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(item.arguments))
|
|
|
4081
3633
|
>
|
|
4082
3634
|
Result
|
|
4083
3635
|
</div>
|
|
4084
|
-
|
|
4085
|
-
${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(item.result))}</pre
|
|
4086
|
-
>
|
|
3636
|
+
${renderHighlightedJsonBlock(item.result)}
|
|
4087
3637
|
` : lit.nothing}
|
|
4088
3638
|
</div>
|
|
4089
3639
|
` : lit.nothing}
|
|
@@ -4198,16 +3748,18 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(item.result))}</
|
|
|
4198
3748
|
</div>
|
|
4199
3749
|
`;
|
|
4200
3750
|
return this.cachedPanelTpl("raw-events", [events, this._expandedRawEvents], () => {
|
|
4201
|
-
return lit.html`${events.map((event) => {
|
|
3751
|
+
return lit.html`${this.renderRawEventBulkControls()}${events.map((event) => {
|
|
4202
3752
|
var _event$rawEvent;
|
|
4203
|
-
const { bg, fg } = eventColors(event.type);
|
|
4204
3753
|
const eventId = this.rawEventId(event);
|
|
4205
3754
|
const detailsExpanded = this._expandedRawEvents.has(eventId);
|
|
4206
3755
|
return lit.html`
|
|
4207
|
-
<div
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
3756
|
+
<div
|
|
3757
|
+
class="cpk-td__event cpk-td__event--${eventCategory(event.type)}"
|
|
3758
|
+
data-source-index=${event.sourceIndex}
|
|
3759
|
+
>
|
|
3760
|
+
<div class="cpk-td__event-header">
|
|
3761
|
+
<span class="cpk-td__event-type" title=${event.type}
|
|
3762
|
+
>${humanizeEventType(event.type)}</span
|
|
4211
3763
|
>
|
|
4212
3764
|
<span class="cpk-td__event-time"
|
|
4213
3765
|
>${formatTimestamp(event.timestamp)}</span
|
|
@@ -4246,9 +3798,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson(item.result))}</
|
|
|
4246
3798
|
>${detailsExpanded ? "Hide details" : "Show details"}</span
|
|
4247
3799
|
>
|
|
4248
3800
|
</button>
|
|
4249
|
-
${detailsExpanded ? lit.
|
|
4250
|
-
${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent = event.rawEvent) !== null && _event$rawEvent !== void 0 ? _event$rawEvent : event))}</pre
|
|
4251
|
-
>` : lit.nothing}
|
|
3801
|
+
${detailsExpanded ? renderHighlightedJsonBlock((_event$rawEvent = event.rawEvent) !== null && _event$rawEvent !== void 0 ? _event$rawEvent : event) : lit.nothing}
|
|
4252
3802
|
</div>
|
|
4253
3803
|
`;
|
|
4254
3804
|
})}`;
|
|
@@ -4367,6 +3917,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
4367
3917
|
threadInspectionAvailable: { attribute: false },
|
|
4368
3918
|
agentStateInput: { attribute: false },
|
|
4369
3919
|
agentEventsInput: { attribute: false },
|
|
3920
|
+
agentMessagesInput: { attribute: false },
|
|
4370
3921
|
liveMessageVersion: { attribute: false },
|
|
4371
3922
|
viewInAppMode: { attribute: false },
|
|
4372
3923
|
viewInAppError: { attribute: false },
|
|
@@ -4420,6 +3971,11 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
4420
3971
|
display: flex;
|
|
4421
3972
|
flex-direction: row;
|
|
4422
3973
|
overflow: hidden;
|
|
3974
|
+
--cpk-json-key: #3d408f;
|
|
3975
|
+
--cpk-json-str: #0b6b4c;
|
|
3976
|
+
--cpk-json-num: #8a5900;
|
|
3977
|
+
--cpk-json-bool: #c0333a;
|
|
3978
|
+
--cpk-json-nil: #57575b;
|
|
4423
3979
|
}
|
|
4424
3980
|
|
|
4425
3981
|
.cpk-td {
|
|
@@ -4544,11 +4100,25 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
4544
4100
|
flex-shrink: 0;
|
|
4545
4101
|
}
|
|
4546
4102
|
|
|
4547
|
-
.cpk-
|
|
4103
|
+
.cpk-td__chrome-actions {
|
|
4104
|
+
margin-inline-start: auto;
|
|
4548
4105
|
display: flex;
|
|
4106
|
+
flex-wrap: wrap;
|
|
4549
4107
|
align-items: center;
|
|
4108
|
+
justify-content: flex-end;
|
|
4550
4109
|
gap: 6px;
|
|
4551
|
-
|
|
4110
|
+
padding-inline: 8px;
|
|
4111
|
+
min-width: 0;
|
|
4112
|
+
}
|
|
4113
|
+
|
|
4114
|
+
.cpk-td__chrome-actions + .cpk-td__panel-toggle {
|
|
4115
|
+
margin-inline-start: 0;
|
|
4116
|
+
}
|
|
4117
|
+
|
|
4118
|
+
.cpk-td__metadata-strip {
|
|
4119
|
+
display: flex;
|
|
4120
|
+
flex-direction: column;
|
|
4121
|
+
gap: 8px;
|
|
4552
4122
|
padding: 10px 16px;
|
|
4553
4123
|
border-bottom: 1px solid #e9e9ef;
|
|
4554
4124
|
background: #fbfbfd;
|
|
@@ -4557,19 +4127,22 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
4557
4127
|
|
|
4558
4128
|
.cpk-td__metadata-pills {
|
|
4559
4129
|
display: flex;
|
|
4130
|
+
align-items: center;
|
|
4560
4131
|
gap: 6px;
|
|
4561
|
-
|
|
4562
|
-
flex-wrap: wrap;
|
|
4132
|
+
width: 100%;
|
|
4563
4133
|
min-width: 0;
|
|
4134
|
+
flex-wrap: nowrap;
|
|
4564
4135
|
}
|
|
4565
4136
|
|
|
4566
4137
|
.cpk-td__metadata-pill {
|
|
4567
4138
|
display: inline-flex;
|
|
4568
4139
|
align-items: center;
|
|
4569
|
-
gap:
|
|
4570
|
-
|
|
4571
|
-
|
|
4572
|
-
|
|
4140
|
+
gap: 6px;
|
|
4141
|
+
flex: 1 1 0;
|
|
4142
|
+
min-width: 0;
|
|
4143
|
+
height: 24px;
|
|
4144
|
+
padding: 0 8px;
|
|
4145
|
+
border: 1px solid #dbdbe5;
|
|
4573
4146
|
border-radius: 6px;
|
|
4574
4147
|
background: #ffffff;
|
|
4575
4148
|
color: #57575b;
|
|
@@ -4585,20 +4158,17 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
4585
4158
|
}
|
|
4586
4159
|
|
|
4587
4160
|
.cpk-td__metadata-value {
|
|
4161
|
+
min-width: 0;
|
|
4588
4162
|
overflow: hidden;
|
|
4589
4163
|
text-overflow: ellipsis;
|
|
4164
|
+
white-space: nowrap;
|
|
4590
4165
|
}
|
|
4591
4166
|
|
|
4167
|
+
.cpk-td__metadata-value--wrap,
|
|
4592
4168
|
.cpk-td__metadata-pill--wrap {
|
|
4593
|
-
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4597
|
-
.cpk-td__metadata-value--wrap {
|
|
4598
|
-
overflow: visible;
|
|
4599
|
-
text-overflow: clip;
|
|
4600
|
-
white-space: normal;
|
|
4601
|
-
overflow-wrap: anywhere;
|
|
4169
|
+
overflow: hidden;
|
|
4170
|
+
text-overflow: ellipsis;
|
|
4171
|
+
white-space: nowrap;
|
|
4602
4172
|
}
|
|
4603
4173
|
|
|
4604
4174
|
.cpk-td__view-in-app {
|
|
@@ -4609,11 +4179,18 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
4609
4179
|
border-radius: 6px;
|
|
4610
4180
|
background: #5558b2;
|
|
4611
4181
|
color: #ffffff;
|
|
4612
|
-
font-family: "
|
|
4613
|
-
font-size:
|
|
4182
|
+
font-family: "Spline Sans Mono", monospace;
|
|
4183
|
+
font-size: 10px;
|
|
4614
4184
|
font-weight: 600;
|
|
4615
|
-
|
|
4185
|
+
line-height: 1.2;
|
|
4186
|
+
min-height: 24px;
|
|
4187
|
+
padding: 3px 8px;
|
|
4616
4188
|
cursor: pointer;
|
|
4189
|
+
transition:
|
|
4190
|
+
transform 160ms cubic-bezier(0.23, 1, 0.32, 1),
|
|
4191
|
+
background 120ms ease,
|
|
4192
|
+
color 120ms ease,
|
|
4193
|
+
border-color 120ms ease;
|
|
4617
4194
|
}
|
|
4618
4195
|
|
|
4619
4196
|
.cpk-td__view-in-app:focus-visible {
|
|
@@ -4621,6 +4198,10 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
4621
4198
|
outline-offset: 2px;
|
|
4622
4199
|
}
|
|
4623
4200
|
|
|
4201
|
+
.cpk-td__view-in-app:active {
|
|
4202
|
+
transform: scale(0.96);
|
|
4203
|
+
}
|
|
4204
|
+
|
|
4624
4205
|
.cpk-td__view-in-app--stop {
|
|
4625
4206
|
background: #ffffff;
|
|
4626
4207
|
color: #5558b2;
|
|
@@ -4632,6 +4213,16 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
4632
4213
|
font-size: 11px;
|
|
4633
4214
|
}
|
|
4634
4215
|
|
|
4216
|
+
@media (prefers-reduced-motion: reduce) {
|
|
4217
|
+
.cpk-td__view-in-app {
|
|
4218
|
+
transition: none;
|
|
4219
|
+
}
|
|
4220
|
+
|
|
4221
|
+
.cpk-td__view-in-app:active {
|
|
4222
|
+
transform: none;
|
|
4223
|
+
}
|
|
4224
|
+
}
|
|
4225
|
+
|
|
4635
4226
|
/*
|
|
4636
4227
|
* Each tab's content is wrapped in this panel so the keep-mounted
|
|
4637
4228
|
* inactive panels can be hidden via display:none without disturbing
|
|
@@ -4828,15 +4419,16 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
4828
4419
|
.cpk-td__tool-pre {
|
|
4829
4420
|
margin: 0;
|
|
4830
4421
|
font-family: "Spline Sans Mono", monospace;
|
|
4831
|
-
font-size:
|
|
4422
|
+
font-size: 12px;
|
|
4832
4423
|
background: #f7f7f9;
|
|
4833
|
-
padding:
|
|
4834
|
-
border-radius:
|
|
4424
|
+
padding: 10px 12px;
|
|
4425
|
+
border-radius: 6px;
|
|
4835
4426
|
overflow-x: auto;
|
|
4836
4427
|
white-space: pre-wrap;
|
|
4837
|
-
|
|
4428
|
+
overflow-wrap: anywhere;
|
|
4429
|
+
word-break: normal;
|
|
4838
4430
|
color: #010507;
|
|
4839
|
-
line-height: 1.
|
|
4431
|
+
line-height: 1.65;
|
|
4840
4432
|
}
|
|
4841
4433
|
|
|
4842
4434
|
/* ── Tool call group ─────────────────────────────────────────────── */
|
|
@@ -4889,12 +4481,31 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
4889
4481
|
|
|
4890
4482
|
/* ── Interaction timeline ───────────────────────────────────────── */
|
|
4891
4483
|
.cpk-td__timeline-item {
|
|
4892
|
-
border: 1px solid
|
|
4893
|
-
border-radius:
|
|
4894
|
-
background:
|
|
4484
|
+
border: 1px solid transparent;
|
|
4485
|
+
border-radius: 10px;
|
|
4486
|
+
background: transparent;
|
|
4895
4487
|
overflow: hidden;
|
|
4896
4488
|
}
|
|
4897
4489
|
|
|
4490
|
+
.cpk-td__timeline-item--run,
|
|
4491
|
+
.cpk-td__timeline-item--state,
|
|
4492
|
+
.cpk-td__timeline-item--event,
|
|
4493
|
+
.cpk-td__timeline-item--tool,
|
|
4494
|
+
.cpk-td__event--run,
|
|
4495
|
+
.cpk-td__event--event,
|
|
4496
|
+
.cpk-td__event--state,
|
|
4497
|
+
.cpk-td__event--message,
|
|
4498
|
+
.cpk-td__event--tool {
|
|
4499
|
+
border-color: #dbdbe5;
|
|
4500
|
+
background: #ffffff;
|
|
4501
|
+
}
|
|
4502
|
+
|
|
4503
|
+
.cpk-td__timeline-item--message {
|
|
4504
|
+
border-color: #dbdbe5;
|
|
4505
|
+
background: #ffffff;
|
|
4506
|
+
box-shadow: 0 1px 2px #0105070d;
|
|
4507
|
+
}
|
|
4508
|
+
|
|
4898
4509
|
.cpk-td__timeline-item--warning {
|
|
4899
4510
|
border-color: rgba(250, 95, 103, 0.35);
|
|
4900
4511
|
background: rgba(250, 95, 103, 0.04);
|
|
@@ -4904,29 +4515,72 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
4904
4515
|
display: flex;
|
|
4905
4516
|
align-items: center;
|
|
4906
4517
|
gap: 8px;
|
|
4907
|
-
padding:
|
|
4518
|
+
padding: 6px 10px;
|
|
4519
|
+
background: transparent;
|
|
4520
|
+
}
|
|
4521
|
+
|
|
4522
|
+
.cpk-td__timeline-item--message .cpk-td__timeline-header {
|
|
4523
|
+
padding: 10px 12px;
|
|
4908
4524
|
background: #f7f7f9;
|
|
4909
4525
|
}
|
|
4910
4526
|
|
|
4527
|
+
.cpk-td__timeline-item--user .cpk-td__timeline-header {
|
|
4528
|
+
background: #bec2ff1a;
|
|
4529
|
+
}
|
|
4530
|
+
|
|
4531
|
+
.cpk-td__timeline-item--assistant .cpk-td__timeline-header {
|
|
4532
|
+
background: #85ecce1a;
|
|
4533
|
+
}
|
|
4534
|
+
|
|
4911
4535
|
.cpk-td__timeline-kind {
|
|
4536
|
+
display: inline-flex;
|
|
4537
|
+
align-items: center;
|
|
4538
|
+
padding: 4px 8px;
|
|
4539
|
+
border-radius: 999px;
|
|
4540
|
+
background: #f0f0f4;
|
|
4541
|
+
color: #57575b;
|
|
4912
4542
|
font-family: "Spline Sans Mono", monospace;
|
|
4913
|
-
font-size:
|
|
4543
|
+
font-size: 10px;
|
|
4914
4544
|
font-weight: 600;
|
|
4545
|
+
letter-spacing: 0.04em;
|
|
4546
|
+
line-height: 1.2;
|
|
4915
4547
|
text-transform: uppercase;
|
|
4916
|
-
|
|
4548
|
+
flex-shrink: 0;
|
|
4549
|
+
}
|
|
4550
|
+
|
|
4551
|
+
.cpk-td__timeline-item--message .cpk-td__timeline-kind {
|
|
4552
|
+
background: #bec2ff33;
|
|
4553
|
+
color: #010507;
|
|
4554
|
+
}
|
|
4555
|
+
|
|
4556
|
+
.cpk-td__timeline-item--assistant .cpk-td__timeline-kind {
|
|
4557
|
+
background: #85ecce4d;
|
|
4558
|
+
color: #010507;
|
|
4559
|
+
}
|
|
4560
|
+
|
|
4561
|
+
.cpk-td__timeline-item--warning .cpk-td__timeline-kind {
|
|
4562
|
+
background: rgba(250, 95, 103, 0.16);
|
|
4563
|
+
color: #c0333a;
|
|
4917
4564
|
}
|
|
4918
4565
|
|
|
4919
4566
|
.cpk-td__timeline-title {
|
|
4920
4567
|
flex: 1;
|
|
4921
4568
|
min-width: 0;
|
|
4569
|
+
font-family: "Plus Jakarta Sans", sans-serif;
|
|
4922
4570
|
font-size: 12px;
|
|
4923
4571
|
font-weight: 500;
|
|
4924
|
-
color: #
|
|
4572
|
+
color: #57575b;
|
|
4925
4573
|
overflow: hidden;
|
|
4926
4574
|
text-overflow: ellipsis;
|
|
4927
4575
|
white-space: nowrap;
|
|
4928
4576
|
}
|
|
4929
4577
|
|
|
4578
|
+
.cpk-td__timeline-item--message .cpk-td__timeline-title {
|
|
4579
|
+
font-size: 13px;
|
|
4580
|
+
font-weight: 600;
|
|
4581
|
+
color: #010507;
|
|
4582
|
+
}
|
|
4583
|
+
|
|
4930
4584
|
.cpk-td__timeline-time {
|
|
4931
4585
|
font-family: "Spline Sans Mono", monospace;
|
|
4932
4586
|
font-size: 9px;
|
|
@@ -4937,6 +4591,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
4937
4591
|
.cpk-td__timeline-body {
|
|
4938
4592
|
margin: 0;
|
|
4939
4593
|
padding: 0 10px 9px;
|
|
4594
|
+
font-family: "Plus Jakarta Sans", sans-serif;
|
|
4940
4595
|
font-size: 12px;
|
|
4941
4596
|
line-height: 1.55;
|
|
4942
4597
|
color: #57575b;
|
|
@@ -4944,21 +4599,26 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
4944
4599
|
word-break: break-word;
|
|
4945
4600
|
}
|
|
4946
4601
|
|
|
4602
|
+
.cpk-td__timeline-item--message .cpk-td__timeline-body {
|
|
4603
|
+
padding: 0 12px 12px;
|
|
4604
|
+
font-size: 13px;
|
|
4605
|
+
color: #010507;
|
|
4606
|
+
}
|
|
4607
|
+
|
|
4947
4608
|
.cpk-td__timeline-toolbar {
|
|
4948
4609
|
display: flex;
|
|
4949
4610
|
gap: 6px;
|
|
4950
|
-
margin-left: auto;
|
|
4951
4611
|
}
|
|
4952
4612
|
|
|
4953
4613
|
.cpk-td__timeline-bulk-toggle {
|
|
4954
4614
|
margin: 0;
|
|
4955
|
-
padding:
|
|
4956
|
-
border: 1px solid #
|
|
4957
|
-
border-radius:
|
|
4615
|
+
padding: 6px 10px;
|
|
4616
|
+
border: 1px solid #dbdbe5;
|
|
4617
|
+
border-radius: 8px;
|
|
4958
4618
|
background: #ffffff;
|
|
4959
4619
|
color: #36363a;
|
|
4960
4620
|
cursor: pointer;
|
|
4961
|
-
font-family: "
|
|
4621
|
+
font-family: "Spline Sans Mono", monospace;
|
|
4962
4622
|
font-size: 11px;
|
|
4963
4623
|
font-weight: 600;
|
|
4964
4624
|
line-height: 1.2;
|
|
@@ -5033,84 +4693,6 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
5033
4693
|
}
|
|
5034
4694
|
}
|
|
5035
4695
|
|
|
5036
|
-
@keyframes cpk-playground-message-enter {
|
|
5037
|
-
from {
|
|
5038
|
-
opacity: 0;
|
|
5039
|
-
filter: blur(2px);
|
|
5040
|
-
transform: translateY(4px);
|
|
5041
|
-
}
|
|
5042
|
-
to {
|
|
5043
|
-
opacity: 1;
|
|
5044
|
-
filter: blur(0);
|
|
5045
|
-
transform: translateY(0);
|
|
5046
|
-
}
|
|
5047
|
-
}
|
|
5048
|
-
|
|
5049
|
-
@keyframes cpk-playground-thinking {
|
|
5050
|
-
0%,
|
|
5051
|
-
60%,
|
|
5052
|
-
100% {
|
|
5053
|
-
opacity: 0.28;
|
|
5054
|
-
transform: translateY(0);
|
|
5055
|
-
}
|
|
5056
|
-
30% {
|
|
5057
|
-
opacity: 1;
|
|
5058
|
-
transform: translateY(-2px);
|
|
5059
|
-
}
|
|
5060
|
-
}
|
|
5061
|
-
|
|
5062
|
-
.cpk-playground-root {
|
|
5063
|
-
container-type: inline-size;
|
|
5064
|
-
}
|
|
5065
|
-
|
|
5066
|
-
.cpk-playground-message-enter {
|
|
5067
|
-
animation: cpk-playground-message-enter 0.24s cubic-bezier(0.16, 1, 0.3, 1)
|
|
5068
|
-
both;
|
|
5069
|
-
}
|
|
5070
|
-
|
|
5071
|
-
.cpk-playground-thinking-dot {
|
|
5072
|
-
animation: cpk-playground-thinking 1.2s ease-in-out infinite;
|
|
5073
|
-
}
|
|
5074
|
-
|
|
5075
|
-
.cpk-playground-thinking-dot:nth-child(2) {
|
|
5076
|
-
animation-delay: 0.12s;
|
|
5077
|
-
}
|
|
5078
|
-
|
|
5079
|
-
.cpk-playground-thinking-dot:nth-child(3) {
|
|
5080
|
-
animation-delay: 0.24s;
|
|
5081
|
-
}
|
|
5082
|
-
|
|
5083
|
-
.cpk-playground-reasoning summary::-webkit-details-marker {
|
|
5084
|
-
display: none;
|
|
5085
|
-
}
|
|
5086
|
-
|
|
5087
|
-
.cpk-playground-reasoning[open] .cpk-playground-reasoning-chevron {
|
|
5088
|
-
transform: rotate(90deg);
|
|
5089
|
-
}
|
|
5090
|
-
|
|
5091
|
-
@container (max-width: 560px) {
|
|
5092
|
-
.cpk-playground-header {
|
|
5093
|
-
align-items: stretch;
|
|
5094
|
-
}
|
|
5095
|
-
|
|
5096
|
-
.cpk-playground-actions {
|
|
5097
|
-
width: 100%;
|
|
5098
|
-
}
|
|
5099
|
-
|
|
5100
|
-
.cpk-playground-thread-select {
|
|
5101
|
-
min-width: 0;
|
|
5102
|
-
max-width: none;
|
|
5103
|
-
flex: 1;
|
|
5104
|
-
}
|
|
5105
|
-
}
|
|
5106
|
-
|
|
5107
|
-
@media (prefers-reduced-motion: reduce) {
|
|
5108
|
-
.cpk-playground-message-enter,
|
|
5109
|
-
.cpk-playground-thinking-dot {
|
|
5110
|
-
animation: none;
|
|
5111
|
-
}
|
|
5112
|
-
}
|
|
5113
|
-
|
|
5114
4696
|
.cpk-td__genui {
|
|
5115
4697
|
display: flex;
|
|
5116
4698
|
flex-direction: column;
|
|
@@ -5152,8 +4734,9 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
5152
4734
|
/* ── AG-UI Events ────────────────────────────────────────────────── */
|
|
5153
4735
|
.cpk-td__event {
|
|
5154
4736
|
flex-shrink: 0;
|
|
5155
|
-
border: 1px solid #
|
|
5156
|
-
border-radius:
|
|
4737
|
+
border: 1px solid #dbdbe5;
|
|
4738
|
+
border-radius: 10px;
|
|
4739
|
+
background: #ffffff;
|
|
5157
4740
|
overflow: hidden;
|
|
5158
4741
|
/*
|
|
5159
4742
|
* content-visibility: auto lets the browser skip layout + paint for
|
|
@@ -5169,48 +4752,89 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
5169
4752
|
contain-intrinsic-size: 0 80px;
|
|
5170
4753
|
}
|
|
5171
4754
|
|
|
4755
|
+
.cpk-td__event--error {
|
|
4756
|
+
border-color: rgba(250, 95, 103, 0.35);
|
|
4757
|
+
background: rgba(250, 95, 103, 0.04);
|
|
4758
|
+
}
|
|
4759
|
+
|
|
5172
4760
|
.cpk-td__event-header {
|
|
5173
4761
|
display: flex;
|
|
5174
|
-
justify-content: space-between;
|
|
5175
4762
|
align-items: center;
|
|
5176
|
-
|
|
4763
|
+
gap: 8px;
|
|
4764
|
+
padding: 6px 10px;
|
|
4765
|
+
background: transparent;
|
|
5177
4766
|
}
|
|
5178
4767
|
|
|
5179
4768
|
.cpk-td__event-type {
|
|
4769
|
+
display: inline-flex;
|
|
4770
|
+
align-items: center;
|
|
4771
|
+
padding: 4px 8px;
|
|
4772
|
+
border-radius: 999px;
|
|
4773
|
+
background: #f0f0f4;
|
|
4774
|
+
color: #010507;
|
|
5180
4775
|
font-family: "Spline Sans Mono", monospace;
|
|
5181
|
-
font-size:
|
|
5182
|
-
font-weight:
|
|
5183
|
-
|
|
4776
|
+
font-size: 10px;
|
|
4777
|
+
font-weight: 600;
|
|
4778
|
+
letter-spacing: 0.02em;
|
|
4779
|
+
line-height: 1.2;
|
|
4780
|
+
}
|
|
4781
|
+
|
|
4782
|
+
.cpk-td__event--message .cpk-td__event-type {
|
|
4783
|
+
background: #bec2ff33;
|
|
4784
|
+
}
|
|
4785
|
+
|
|
4786
|
+
.cpk-td__event--tool .cpk-td__event-type {
|
|
4787
|
+
background: #85ecce4d;
|
|
4788
|
+
}
|
|
4789
|
+
|
|
4790
|
+
.cpk-td__event--error .cpk-td__event-type {
|
|
4791
|
+
background: rgba(250, 95, 103, 0.16);
|
|
4792
|
+
color: #c0333a;
|
|
5184
4793
|
}
|
|
5185
4794
|
|
|
5186
4795
|
.cpk-td__event-time {
|
|
4796
|
+
margin-inline-start: auto;
|
|
5187
4797
|
font-family: "Spline Sans Mono", monospace;
|
|
5188
4798
|
font-size: 9px;
|
|
5189
4799
|
color: #68686e;
|
|
4800
|
+
flex-shrink: 0;
|
|
5190
4801
|
}
|
|
5191
4802
|
|
|
5192
|
-
.cpk-td__event-payload
|
|
5193
|
-
margin: 0;
|
|
5194
|
-
font-family: "Spline Sans Mono", monospace;
|
|
5195
|
-
font-size: 10px;
|
|
5196
|
-
line-height: 1.6;
|
|
5197
|
-
white-space: pre-wrap;
|
|
5198
|
-
word-break: break-all;
|
|
5199
|
-
color: #57575b;
|
|
5200
|
-
padding: 8px 10px;
|
|
5201
|
-
border-top: 1px solid #e9e9ef;
|
|
5202
|
-
}
|
|
5203
|
-
|
|
5204
|
-
/* ── JSON block (agent state) ────────────────────────────────────── */
|
|
4803
|
+
.cpk-td__event-payload,
|
|
5205
4804
|
.cpk-td__json-block,
|
|
5206
4805
|
.cpk-json-block {
|
|
5207
4806
|
margin: 0;
|
|
4807
|
+
padding: 10px 12px;
|
|
4808
|
+
border-top: 1px solid #dbdbe5;
|
|
4809
|
+
background: #f7f7f9;
|
|
5208
4810
|
font-family: "Spline Sans Mono", monospace;
|
|
5209
|
-
font-size:
|
|
5210
|
-
line-height: 1.
|
|
4811
|
+
font-size: 12px;
|
|
4812
|
+
line-height: 1.65;
|
|
5211
4813
|
white-space: pre-wrap;
|
|
5212
|
-
|
|
5213
|
-
|
|
4814
|
+
overflow-wrap: anywhere;
|
|
4815
|
+
word-break: normal;
|
|
4816
|
+
color: #010507;
|
|
4817
|
+
overflow: auto;
|
|
4818
|
+
}
|
|
4819
|
+
|
|
4820
|
+
.cpk-json-token--key {
|
|
4821
|
+
color: var(--cpk-json-key);
|
|
4822
|
+
}
|
|
4823
|
+
|
|
4824
|
+
.cpk-json-token--str {
|
|
4825
|
+
color: var(--cpk-json-str);
|
|
4826
|
+
}
|
|
4827
|
+
|
|
4828
|
+
.cpk-json-token--num {
|
|
4829
|
+
color: var(--cpk-json-num);
|
|
4830
|
+
}
|
|
4831
|
+
|
|
4832
|
+
.cpk-json-token--bool {
|
|
4833
|
+
color: var(--cpk-json-bool);
|
|
4834
|
+
}
|
|
4835
|
+
|
|
4836
|
+
.cpk-json-token--nil {
|
|
4837
|
+
color: var(--cpk-json-nil);
|
|
5214
4838
|
}
|
|
5215
4839
|
|
|
5216
4840
|
/* ── Resize divider ──────────────────────────────────────────────── */
|
|
@@ -5309,6 +4933,11 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
5309
4933
|
|
|
5310
4934
|
:host([data-color-scheme="dark"]) {
|
|
5311
4935
|
color-scheme: dark;
|
|
4936
|
+
--cpk-json-key: #bec2ff;
|
|
4937
|
+
--cpk-json-str: #85ecce;
|
|
4938
|
+
--cpk-json-num: #ffac4d;
|
|
4939
|
+
--cpk-json-bool: #fa5f67;
|
|
4940
|
+
--cpk-json-nil: #afafb7;
|
|
5312
4941
|
}
|
|
5313
4942
|
|
|
5314
4943
|
:host([data-color-scheme="dark"]) .cpk-td {
|
|
@@ -5349,11 +4978,15 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
5349
4978
|
}
|
|
5350
4979
|
|
|
5351
4980
|
:host([data-color-scheme="dark"]) .cpk-td__timeline-header,
|
|
5352
|
-
:host([data-color-scheme="dark"]) .cpk-td__tool-body
|
|
5353
|
-
:host([data-color-scheme="dark"]) .cpk-td__tool-pre {
|
|
4981
|
+
:host([data-color-scheme="dark"]) .cpk-td__tool-body {
|
|
5354
4982
|
background: #171a22;
|
|
5355
4983
|
}
|
|
5356
4984
|
|
|
4985
|
+
:host([data-color-scheme="dark"]) .cpk-td__tool-pre {
|
|
4986
|
+
background: #111319;
|
|
4987
|
+
color: #f3f4f8;
|
|
4988
|
+
}
|
|
4989
|
+
|
|
5357
4990
|
:host([data-color-scheme="dark"]) .cpk-td__panel-toggle:hover,
|
|
5358
4991
|
:host([data-color-scheme="dark"]) .cpk-td__tool-header:hover,
|
|
5359
4992
|
:host([data-color-scheme="dark"]) .cpk-td__timeline-bulk-toggle:hover,
|
|
@@ -5363,12 +4996,115 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
5363
4996
|
|
|
5364
4997
|
:host([data-color-scheme="dark"]) .cpk-td__panel-toggle--active,
|
|
5365
4998
|
:host([data-color-scheme="dark"]) .cpk-td__inline-chip,
|
|
5366
|
-
:host([data-color-scheme="dark"]) .cpk-td__timeline-kind,
|
|
5367
4999
|
:host([data-color-scheme="dark"]) .cpk-td__genui-badge {
|
|
5368
5000
|
background: #302b43;
|
|
5369
5001
|
color: #d8d9ff;
|
|
5370
5002
|
}
|
|
5371
5003
|
|
|
5004
|
+
:host([data-color-scheme="dark"]) .cpk-td__timeline-item--message {
|
|
5005
|
+
background: #191c24;
|
|
5006
|
+
border-color: #343742;
|
|
5007
|
+
box-shadow: none;
|
|
5008
|
+
}
|
|
5009
|
+
|
|
5010
|
+
:host([data-color-scheme="dark"])
|
|
5011
|
+
.cpk-td__timeline-item--user
|
|
5012
|
+
.cpk-td__timeline-header {
|
|
5013
|
+
background: #bec2ff1a;
|
|
5014
|
+
}
|
|
5015
|
+
|
|
5016
|
+
:host([data-color-scheme="dark"])
|
|
5017
|
+
.cpk-td__timeline-item--assistant
|
|
5018
|
+
.cpk-td__timeline-header {
|
|
5019
|
+
background: #85ecce1a;
|
|
5020
|
+
}
|
|
5021
|
+
|
|
5022
|
+
:host([data-color-scheme="dark"])
|
|
5023
|
+
.cpk-td__timeline-item--message
|
|
5024
|
+
.cpk-td__timeline-kind {
|
|
5025
|
+
background: #302b43;
|
|
5026
|
+
color: #d8d9ff;
|
|
5027
|
+
}
|
|
5028
|
+
|
|
5029
|
+
:host([data-color-scheme="dark"])
|
|
5030
|
+
.cpk-td__timeline-item--assistant
|
|
5031
|
+
.cpk-td__timeline-kind {
|
|
5032
|
+
background: #1a3a32;
|
|
5033
|
+
color: #85ecce;
|
|
5034
|
+
}
|
|
5035
|
+
|
|
5036
|
+
:host([data-color-scheme="dark"]) .cpk-td__timeline-item--run,
|
|
5037
|
+
:host([data-color-scheme="dark"]) .cpk-td__timeline-item--event,
|
|
5038
|
+
:host([data-color-scheme="dark"]) .cpk-td__timeline-item--state,
|
|
5039
|
+
:host([data-color-scheme="dark"]) .cpk-td__timeline-item--tool,
|
|
5040
|
+
:host([data-color-scheme="dark"]) .cpk-td__event--run,
|
|
5041
|
+
:host([data-color-scheme="dark"]) .cpk-td__event--event,
|
|
5042
|
+
:host([data-color-scheme="dark"]) .cpk-td__event--state,
|
|
5043
|
+
:host([data-color-scheme="dark"]) .cpk-td__event--message,
|
|
5044
|
+
:host([data-color-scheme="dark"]) .cpk-td__event--tool {
|
|
5045
|
+
background: #191c24;
|
|
5046
|
+
border-color: #343742;
|
|
5047
|
+
}
|
|
5048
|
+
|
|
5049
|
+
:host([data-color-scheme="dark"])
|
|
5050
|
+
.cpk-td__timeline-item--run
|
|
5051
|
+
.cpk-td__timeline-header,
|
|
5052
|
+
:host([data-color-scheme="dark"])
|
|
5053
|
+
.cpk-td__timeline-item--event
|
|
5054
|
+
.cpk-td__timeline-header,
|
|
5055
|
+
:host([data-color-scheme="dark"])
|
|
5056
|
+
.cpk-td__timeline-item--state
|
|
5057
|
+
.cpk-td__timeline-header {
|
|
5058
|
+
background: transparent;
|
|
5059
|
+
}
|
|
5060
|
+
|
|
5061
|
+
:host([data-color-scheme="dark"]) .cpk-td__timeline-kind {
|
|
5062
|
+
background: #20232d;
|
|
5063
|
+
color: #aeb1bd;
|
|
5064
|
+
}
|
|
5065
|
+
|
|
5066
|
+
:host([data-color-scheme="dark"])
|
|
5067
|
+
.cpk-td__timeline-item--run
|
|
5068
|
+
.cpk-td__timeline-title,
|
|
5069
|
+
:host([data-color-scheme="dark"])
|
|
5070
|
+
.cpk-td__timeline-item--event
|
|
5071
|
+
.cpk-td__timeline-title,
|
|
5072
|
+
:host([data-color-scheme="dark"])
|
|
5073
|
+
.cpk-td__timeline-item--state
|
|
5074
|
+
.cpk-td__timeline-title {
|
|
5075
|
+
color: #aeb1bd;
|
|
5076
|
+
}
|
|
5077
|
+
|
|
5078
|
+
:host([data-color-scheme="dark"]) .cpk-td__event-header {
|
|
5079
|
+
background: transparent;
|
|
5080
|
+
}
|
|
5081
|
+
|
|
5082
|
+
:host([data-color-scheme="dark"]) .cpk-td__event-type {
|
|
5083
|
+
background: #20232d;
|
|
5084
|
+
color: #f3f4f8;
|
|
5085
|
+
}
|
|
5086
|
+
|
|
5087
|
+
:host([data-color-scheme="dark"]) .cpk-td__event--message .cpk-td__event-type {
|
|
5088
|
+
background: #302b43;
|
|
5089
|
+
color: #d8d9ff;
|
|
5090
|
+
}
|
|
5091
|
+
|
|
5092
|
+
:host([data-color-scheme="dark"]) .cpk-td__event--tool .cpk-td__event-type {
|
|
5093
|
+
background: #1a3a32;
|
|
5094
|
+
color: #85ecce;
|
|
5095
|
+
}
|
|
5096
|
+
|
|
5097
|
+
:host([data-color-scheme="dark"]) .cpk-td__event--error .cpk-td__event-type {
|
|
5098
|
+
background: rgba(250, 95, 103, 0.2);
|
|
5099
|
+
color: #fa5f67;
|
|
5100
|
+
}
|
|
5101
|
+
|
|
5102
|
+
:host([data-color-scheme="dark"])
|
|
5103
|
+
.cpk-td__timeline-item--message
|
|
5104
|
+
.cpk-td__timeline-body {
|
|
5105
|
+
color: #f3f4f8;
|
|
5106
|
+
}
|
|
5107
|
+
|
|
5372
5108
|
:host([data-color-scheme="dark"]) .cpk-td__tab,
|
|
5373
5109
|
:host([data-color-scheme="dark"]) .cpk-td__panel-toggle,
|
|
5374
5110
|
:host([data-color-scheme="dark"]) .cpk-td__metadata-label,
|
|
@@ -5395,7 +5131,9 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
5395
5131
|
:host([data-color-scheme="dark"]) .cpk-td__event-payload,
|
|
5396
5132
|
:host([data-color-scheme="dark"]) .cpk-td__json-block,
|
|
5397
5133
|
:host([data-color-scheme="dark"]) .cpk-json-block {
|
|
5398
|
-
|
|
5134
|
+
background: #111319;
|
|
5135
|
+
border-top-color: #343742;
|
|
5136
|
+
color: #f3f4f8;
|
|
5399
5137
|
}
|
|
5400
5138
|
|
|
5401
5139
|
:host([data-color-scheme="dark"]) .cpk-tdp__divider {
|
|
@@ -6108,26 +5846,6 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
6108
5846
|
inspect: "ag-ui-events"
|
|
6109
5847
|
};
|
|
6110
5848
|
this.lastScrolledAgentNavigationLayout = null;
|
|
6111
|
-
this.eventSnippets = [];
|
|
6112
|
-
this.selectedSnippetId = null;
|
|
6113
|
-
this.snippetRecipe = "tool-call";
|
|
6114
|
-
this.snippetName = "";
|
|
6115
|
-
this.snippetJson = "[]";
|
|
6116
|
-
this.snippetToolName = "";
|
|
6117
|
-
this.snippetToolArgs = "{}";
|
|
6118
|
-
this.snippetReasoningText = "";
|
|
6119
|
-
this.snippetTextContent = "";
|
|
6120
|
-
this.snippetActivityType = "a2ui-surface";
|
|
6121
|
-
this.snippetActivityContent = "{}";
|
|
6122
|
-
this.snippetError = null;
|
|
6123
|
-
this.snippetBanner = null;
|
|
6124
|
-
this.snippetConfirmOpen = false;
|
|
6125
|
-
this.lastInject = null;
|
|
6126
|
-
this.snippetListWidth = 200;
|
|
6127
|
-
this.snippetDividerResizing = false;
|
|
6128
|
-
this.snippetDividerPointerId = -1;
|
|
6129
|
-
this.snippetDividerStartX = 0;
|
|
6130
|
-
this.snippetDividerStartWidth = 0;
|
|
6131
5849
|
this.selectedThreadId = null;
|
|
6132
5850
|
this.inAppThreadId = null;
|
|
6133
5851
|
this.inAppAgentId = null;
|
|
@@ -6168,6 +5886,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
6168
5886
|
this.threadCapabilityEnabled = null;
|
|
6169
5887
|
this.threadCapabilityGeneration = 0;
|
|
6170
5888
|
this.contextMenuOpen = false;
|
|
5889
|
+
this.iconRailContextCloseTimer = null;
|
|
6171
5890
|
this.layoutMenuOpen = false;
|
|
6172
5891
|
this.dockMode = "floating";
|
|
6173
5892
|
this.popOut = null;
|
|
@@ -6229,6 +5948,9 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
6229
5948
|
this.launcherHudSide = "left";
|
|
6230
5949
|
this.launcherHudHelp = null;
|
|
6231
5950
|
this.launcherHudCloseTimer = null;
|
|
5951
|
+
this.launcherHudIntro = false;
|
|
5952
|
+
this.launcherHudIntroStartTimer = null;
|
|
5953
|
+
this.launcherHudIntroEndTimer = null;
|
|
6232
5954
|
this.hudLandingMenu = null;
|
|
6233
5955
|
this.pillOutcome = null;
|
|
6234
5956
|
this.viewedNewsSignalIds = /* @__PURE__ */ new Set();
|
|
@@ -6313,6 +6035,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
6313
6035
|
this.openInspector("floating_button");
|
|
6314
6036
|
};
|
|
6315
6037
|
this.handleLauncherHudEnter = () => {
|
|
6038
|
+
this.cancelLauncherHudIntro();
|
|
6316
6039
|
this.openLauncherHud();
|
|
6317
6040
|
};
|
|
6318
6041
|
this.handleLauncherHudLeave = () => {
|
|
@@ -6323,6 +6046,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
6323
6046
|
}, 160);
|
|
6324
6047
|
};
|
|
6325
6048
|
this.handleLauncherHudFocusIn = () => {
|
|
6049
|
+
this.cancelLauncherHudIntro();
|
|
6326
6050
|
this.openLauncherHud();
|
|
6327
6051
|
};
|
|
6328
6052
|
this.handleLauncherHudFocusOut = (event) => {
|
|
@@ -6741,20 +6465,6 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
6741
6465
|
var _this$playgroundAgent;
|
|
6742
6466
|
(_this$playgroundAgent = this.playgroundAgent) === null || _this$playgroundAgent === void 0 || _this$playgroundAgent.abortRun();
|
|
6743
6467
|
};
|
|
6744
|
-
this.handleSnippetImportChange = async (event) => {
|
|
6745
|
-
var _input$files;
|
|
6746
|
-
const input = event.target;
|
|
6747
|
-
const file = (_input$files = input.files) === null || _input$files === void 0 ? void 0 : _input$files[0];
|
|
6748
|
-
input.value = "";
|
|
6749
|
-
if (!file) return;
|
|
6750
|
-
try {
|
|
6751
|
-
this.eventSnippets = importEventSnippets(await file.text());
|
|
6752
|
-
this.snippetError = null;
|
|
6753
|
-
} catch (error) {
|
|
6754
|
-
this.snippetError = error instanceof Error ? error.message : "Import failed.";
|
|
6755
|
-
}
|
|
6756
|
-
this.requestUpdate();
|
|
6757
|
-
};
|
|
6758
6468
|
this.handleInspectorMetadataActionClick = (action, placement) => {
|
|
6759
6469
|
var _this$core;
|
|
6760
6470
|
if (!this.isOpen || this.runtimeStatus !== _copilotkit_core.CopilotKitCoreRuntimeConnectionStatus.Connected || ((_this$core = this.core) === null || _this$core === void 0 ? void 0 : _this$core.telemetryDisabled)) return;
|
|
@@ -6786,26 +6496,6 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
6786
6496
|
if ((_this$core4 = this.core) === null || _this$core4 === void 0 ? void 0 : _this$core4.telemetryDisabled) return;
|
|
6787
6497
|
trackThreadsTalkToEngineerClicked(this.getThreadsCtaTelemetryProps("talk_to_engineer", "threads_locked"));
|
|
6788
6498
|
};
|
|
6789
|
-
this.handleSnippetListDividerPointerDown = (event) => {
|
|
6790
|
-
this.snippetDividerResizing = true;
|
|
6791
|
-
this.snippetDividerPointerId = event.pointerId;
|
|
6792
|
-
this.snippetDividerStartX = event.clientX;
|
|
6793
|
-
this.snippetDividerStartWidth = this.snippetListWidth;
|
|
6794
|
-
event.currentTarget.setPointerCapture(event.pointerId);
|
|
6795
|
-
event.preventDefault();
|
|
6796
|
-
};
|
|
6797
|
-
this.handleSnippetListDividerPointerMove = (event) => {
|
|
6798
|
-
if (!this.snippetDividerResizing || this.snippetDividerPointerId !== event.pointerId) return;
|
|
6799
|
-
const delta = event.clientX - this.snippetDividerStartX;
|
|
6800
|
-
this.snippetListWidth = Math.max(160, Math.min(360, this.snippetDividerStartWidth + delta));
|
|
6801
|
-
this.requestUpdate();
|
|
6802
|
-
};
|
|
6803
|
-
this.handleSnippetListDividerPointerUp = (event) => {
|
|
6804
|
-
if (this.snippetDividerPointerId !== event.pointerId) return;
|
|
6805
|
-
const target = event.currentTarget;
|
|
6806
|
-
if (target.hasPointerCapture(this.snippetDividerPointerId)) target.releasePointerCapture(this.snippetDividerPointerId);
|
|
6807
|
-
this.snippetDividerResizing = false;
|
|
6808
|
-
};
|
|
6809
6499
|
this.handleThreadDividerPointerDown = (event) => {
|
|
6810
6500
|
this.threadDividerResizing = true;
|
|
6811
6501
|
this.threadDividerPointerId = event.pointerId;
|
|
@@ -6920,15 +6610,21 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
6920
6610
|
this.requestUpdate();
|
|
6921
6611
|
};
|
|
6922
6612
|
this.handleIconRailContextPointerEnter = (event) => {
|
|
6923
|
-
if (event.pointerType === "touch"
|
|
6613
|
+
if (event.pointerType === "touch") return;
|
|
6614
|
+
this.clearIconRailContextCloseTimer();
|
|
6615
|
+
if (this.contextMenuOpen) return;
|
|
6924
6616
|
this.layoutMenuOpen = false;
|
|
6925
6617
|
this.contextMenuOpen = true;
|
|
6926
6618
|
this.requestUpdate();
|
|
6927
6619
|
};
|
|
6928
6620
|
this.handleIconRailContextPointerLeave = () => {
|
|
6929
6621
|
if (!this.contextMenuOpen) return;
|
|
6930
|
-
this.
|
|
6931
|
-
this.
|
|
6622
|
+
this.clearIconRailContextCloseTimer();
|
|
6623
|
+
this.iconRailContextCloseTimer = setTimeout(() => {
|
|
6624
|
+
this.iconRailContextCloseTimer = null;
|
|
6625
|
+
this.contextMenuOpen = false;
|
|
6626
|
+
this.requestUpdate();
|
|
6627
|
+
}, 180);
|
|
6932
6628
|
};
|
|
6933
6629
|
this.handleIconRailContextPointerDown = (event) => {
|
|
6934
6630
|
if (event.pointerType === "touch") {
|
|
@@ -6939,6 +6635,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
6939
6635
|
event.stopPropagation();
|
|
6940
6636
|
};
|
|
6941
6637
|
this.handleIconRailContextFocusIn = () => {
|
|
6638
|
+
this.clearIconRailContextCloseTimer();
|
|
6942
6639
|
if (this.contextMenuOpen) return;
|
|
6943
6640
|
this.layoutMenuOpen = false;
|
|
6944
6641
|
this.contextMenuOpen = true;
|
|
@@ -7055,11 +6752,6 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
7055
6752
|
label: "AG-UI Events",
|
|
7056
6753
|
icon: "Zap"
|
|
7057
6754
|
},
|
|
7058
|
-
{
|
|
7059
|
-
key: "event-snippets",
|
|
7060
|
-
label: "Event Snippets",
|
|
7061
|
-
icon: "Code"
|
|
7062
|
-
},
|
|
7063
6755
|
{
|
|
7064
6756
|
key: "agents",
|
|
7065
6757
|
label: "Agent",
|
|
@@ -7938,7 +7630,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
7938
7630
|
const messages = this.normalizeAgentMessages(agent.messages);
|
|
7939
7631
|
if (messages) this.agentMessages.set(agent.agentId, messages);
|
|
7940
7632
|
else this.agentMessages.delete(agent.agentId);
|
|
7941
|
-
const runThreadId = agent
|
|
7633
|
+
const runThreadId = this.readAgentThreadId(agent);
|
|
7942
7634
|
if (runThreadId) {
|
|
7943
7635
|
var _this$liveMessageVers;
|
|
7944
7636
|
this.liveMessageVersion.set(runThreadId, ((_this$liveMessageVers = this.liveMessageVersion.get(runThreadId)) !== null && _this$liveMessageVers !== void 0 ? _this$liveMessageVers : 0) + 1);
|
|
@@ -8029,19 +7721,6 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
8029
7721
|
this.persistState();
|
|
8030
7722
|
this.requestUpdate();
|
|
8031
7723
|
}
|
|
8032
|
-
focusEventSnippets(options) {
|
|
8033
|
-
this.pendingPersistedMenu = null;
|
|
8034
|
-
this.selectedMenu = "event-snippets";
|
|
8035
|
-
this.settingsOpen = false;
|
|
8036
|
-
this.lastSelectedMenuByGroup.inspect = "event-snippets";
|
|
8037
|
-
this.contextMenuOpen = false;
|
|
8038
|
-
this.layoutMenuOpen = false;
|
|
8039
|
-
this.reloadEventSnippets();
|
|
8040
|
-
if (options.snippetId) this.selectEventSnippet(options.snippetId);
|
|
8041
|
-
if (options.agentId && this.contextOptions.some((option) => option.key === options.agentId)) this.selectedContext = options.agentId;
|
|
8042
|
-
this.persistState();
|
|
8043
|
-
this.requestUpdate();
|
|
8044
|
-
}
|
|
8045
7724
|
filterEvents(events) {
|
|
8046
7725
|
const query = this.eventFilterText.trim().toLowerCase();
|
|
8047
7726
|
return events.filter((event) => {
|
|
@@ -8065,6 +7744,21 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
8065
7744
|
const messages = this.agentMessages.get(agentId);
|
|
8066
7745
|
return messages !== null && messages !== void 0 ? messages : null;
|
|
8067
7746
|
}
|
|
7747
|
+
readAgentThreadId(agent) {
|
|
7748
|
+
if (!("threadId" in agent)) return void 0;
|
|
7749
|
+
const threadId = agent.threadId;
|
|
7750
|
+
return typeof threadId === "string" ? threadId : void 0;
|
|
7751
|
+
}
|
|
7752
|
+
getLiveAgentMessagesForThread(thread) {
|
|
7753
|
+
var _this$agentMessages$g;
|
|
7754
|
+
const messages = (_this$agentMessages$g = this.agentMessages.get(thread.agentId)) !== null && _this$agentMessages$g !== void 0 ? _this$agentMessages$g : EMPTY_INSPECTOR_MESSAGES;
|
|
7755
|
+
const core = this._core;
|
|
7756
|
+
if (!core || typeof core.getAgent !== "function") return messages;
|
|
7757
|
+
const agent = core.getAgent(thread.agentId);
|
|
7758
|
+
if (!agent) return EMPTY_INSPECTOR_MESSAGES;
|
|
7759
|
+
if (this.readAgentThreadId(agent) !== thread.id) return EMPTY_INSPECTOR_MESSAGES;
|
|
7760
|
+
return messages;
|
|
7761
|
+
}
|
|
8068
7762
|
getAgentStatus(agentId) {
|
|
8069
7763
|
var _this$agentEvents$get4;
|
|
8070
7764
|
const events = (_this$agentEvents$get4 = this.agentEvents.get(agentId)) !== null && _this$agentEvents$get4 !== void 0 ? _this$agentEvents$get4 : [];
|
|
@@ -8098,7 +7792,7 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
8098
7792
|
return lit.html`
|
|
8099
7793
|
<div class="mt-2 space-y-2">
|
|
8100
7794
|
${toolCalls.map((call, index) => {
|
|
8101
|
-
var _ref9, _call$function$name, _call$function, _call$function2;
|
|
7795
|
+
var _ref9, _call$function$name, _call$function, _call$function2, _call$function3;
|
|
8102
7796
|
const functionName = (_ref9 = (_call$function$name = (_call$function = call.function) === null || _call$function === void 0 ? void 0 : _call$function.name) !== null && _call$function$name !== void 0 ? _call$function$name : call.toolName) !== null && _ref9 !== void 0 ? _ref9 : "Unknown function";
|
|
8103
7797
|
const callId = typeof (call === null || call === void 0 ? void 0 : call.id) === "string" ? call.id : `tool-call-${index + 1}`;
|
|
8104
7798
|
const argsString = this.formatToolCallArguments((_call$function2 = call.function) === null || _call$function2 === void 0 ? void 0 : _call$function2.arguments);
|
|
@@ -8117,11 +7811,9 @@ ${(0, lit_directives_unsafe_html_js.unsafeHTML)(highlightedJson((_event$rawEvent
|
|
|
8117
7811
|
${isFailedCall && (toolError === null || toolError === void 0 ? void 0 : toolError.message) ? lit.html`<p class="mt-2 break-words leading-relaxed text-gray-800">
|
|
8118
7812
|
${toolError.message}
|
|
8119
7813
|
</p>` : lit.nothing}
|
|
8120
|
-
${argsString ? lit.html`<
|
|
8121
|
-
|
|
8122
|
-
|
|
8123
|
-
${argsString}</pre
|
|
8124
|
-
>` : lit.nothing}
|
|
7814
|
+
${argsString ? lit.html`<div class="mt-2">
|
|
7815
|
+
${renderHighlightedJsonBlock(coerceJsonValue((_call$function3 = call.function) === null || _call$function3 === void 0 ? void 0 : _call$function3.arguments))}
|
|
7816
|
+
</div>` : lit.nothing}
|
|
8125
7817
|
</div>
|
|
8126
7818
|
`;
|
|
8127
7819
|
})}
|
|
@@ -8173,15 +7865,14 @@ ${argsString}</pre
|
|
|
8173
7865
|
return String(state);
|
|
8174
7866
|
}
|
|
8175
7867
|
getEventBadgeClasses(type) {
|
|
8176
|
-
const base = "font-mono text-[10px] font-
|
|
8177
|
-
if (type === "RUN_ERROR") return `${base} bg-rose-50 text-rose-
|
|
8178
|
-
if (type.startsWith("
|
|
8179
|
-
if (type.startsWith("
|
|
8180
|
-
if (type.startsWith("
|
|
8181
|
-
if (type.startsWith("REASONING")) return `${base} bg-
|
|
8182
|
-
if (type.startsWith("STATE")) return `${base} bg-violet-50 text-
|
|
8183
|
-
|
|
8184
|
-
return `${base} bg-gray-100 text-gray-600 border-gray-200`;
|
|
7868
|
+
const base = "font-mono text-[10px] font-semibold inline-flex items-center rounded-sm px-1.5 py-0.5 border";
|
|
7869
|
+
if (type === "RUN_ERROR") return `${base} bg-rose-50 text-rose-800 border-rose-200`;
|
|
7870
|
+
if (type.startsWith("TEXT_MESSAGE")) return `${base} bg-violet-50 text-gray-900 border-violet-200`;
|
|
7871
|
+
if (type.startsWith("TOOL_CALL")) return `${base} bg-emerald-50 text-gray-900 border-emerald-200`;
|
|
7872
|
+
if (type.startsWith("RUN_") || type.startsWith("STEP_")) return `${base} bg-gray-100 text-gray-900 border-gray-200`;
|
|
7873
|
+
if (type.startsWith("REASONING")) return `${base} bg-violet-50 text-gray-900 border-violet-200`;
|
|
7874
|
+
if (type.startsWith("STATE") || type.startsWith("MESSAGES")) return `${base} bg-violet-50 text-gray-900 border-violet-200`;
|
|
7875
|
+
return `${base} bg-gray-100 text-gray-900 border-gray-200`;
|
|
8185
7876
|
}
|
|
8186
7877
|
stringifyPayload(payload, pretty) {
|
|
8187
7878
|
try {
|
|
@@ -8270,6 +7961,7 @@ ${argsString}</pre
|
|
|
8270
7961
|
clearTimeout(this.transitionTimeoutId);
|
|
8271
7962
|
this.transitionTimeoutId = null;
|
|
8272
7963
|
}
|
|
7964
|
+
this.clearIconRailContextCloseTimer();
|
|
8273
7965
|
this.unsubscribeFromInspectorThreadBridge();
|
|
8274
7966
|
this.threadsSetupPromptCopyGeneration += 1;
|
|
8275
7967
|
if (this.threadsSetupPromptCopyResetTimeoutId !== null) {
|
|
@@ -8279,6 +7971,7 @@ ${argsString}</pre
|
|
|
8279
7971
|
this.threadsSetupPromptCopyState = "idle";
|
|
8280
7972
|
this.stopSignalPulse();
|
|
8281
7973
|
this.cancelGestureTail();
|
|
7974
|
+
this.cancelLauncherHudIntro();
|
|
8282
7975
|
this.cancelThreadRefreshDebounce();
|
|
8283
7976
|
this.clearInspectorUsageRefresh();
|
|
8284
7977
|
this.cleanupThreadsExampleOverviewVideo();
|
|
@@ -8315,6 +8008,7 @@ ${argsString}</pre
|
|
|
8315
8008
|
else this.centerContext("window");
|
|
8316
8009
|
this.ensureAnnouncementLoading();
|
|
8317
8010
|
this.updateHostTransform(this.isOpen ? "window" : "button");
|
|
8011
|
+
this.scheduleLauncherHudIntro();
|
|
8318
8012
|
}
|
|
8319
8013
|
render() {
|
|
8320
8014
|
return this.isOpen ? lit.html`
|
|
@@ -8375,18 +8069,9 @@ ${argsString}</pre
|
|
|
8375
8069
|
"justify-center",
|
|
8376
8070
|
"rounded-full",
|
|
8377
8071
|
"border",
|
|
8378
|
-
"border-white/20",
|
|
8379
|
-
"bg-slate-950/95",
|
|
8380
8072
|
"text-xs",
|
|
8381
8073
|
"font-medium",
|
|
8382
8074
|
"text-white",
|
|
8383
|
-
"ring-1",
|
|
8384
|
-
"ring-white/10",
|
|
8385
|
-
"backdrop-blur-md",
|
|
8386
|
-
"transition",
|
|
8387
|
-
"hover:border-white/30",
|
|
8388
|
-
"hover:bg-slate-900/95",
|
|
8389
|
-
"hover:scale-105",
|
|
8390
8075
|
"focus-visible:outline",
|
|
8391
8076
|
"focus-visible:outline-2",
|
|
8392
8077
|
"focus-visible:outline-offset-2",
|
|
@@ -8508,6 +8193,41 @@ ${argsString}</pre
|
|
|
8508
8193
|
isLauncherHudBlocked() {
|
|
8509
8194
|
return this.gestureSignal !== null;
|
|
8510
8195
|
}
|
|
8196
|
+
scheduleLauncherHudIntro(delay = LAUNCHER_HUD_INTRO_MS.delay) {
|
|
8197
|
+
if (this.launcherHudIntroStartTimer !== null) clearTimeout(this.launcherHudIntroStartTimer);
|
|
8198
|
+
this.launcherHudIntroStartTimer = setTimeout(() => {
|
|
8199
|
+
this.launcherHudIntroStartTimer = null;
|
|
8200
|
+
if (!this.isConnected || this.isOpen) return;
|
|
8201
|
+
if (this.isLauncherHudBlocked()) {
|
|
8202
|
+
this.scheduleLauncherHudIntro(LAUNCHER_HUD_INTRO_MS.blockedRetry);
|
|
8203
|
+
return;
|
|
8204
|
+
}
|
|
8205
|
+
this.resolveLauncherHudSide();
|
|
8206
|
+
this.launcherHudIntro = true;
|
|
8207
|
+
this.launcherHudOpen = true;
|
|
8208
|
+
this.requestUpdate();
|
|
8209
|
+
this.launcherHudIntroEndTimer = setTimeout(() => {
|
|
8210
|
+
this.launcherHudIntroEndTimer = null;
|
|
8211
|
+
this.launcherHudIntro = false;
|
|
8212
|
+
this.launcherHudOpen = false;
|
|
8213
|
+
this.launcherHudHelp = null;
|
|
8214
|
+
this.requestUpdate();
|
|
8215
|
+
}, LAUNCHER_HUD_INTRO_MS.duration);
|
|
8216
|
+
}, delay);
|
|
8217
|
+
}
|
|
8218
|
+
cancelLauncherHudIntro() {
|
|
8219
|
+
if (this.launcherHudIntroStartTimer !== null) {
|
|
8220
|
+
clearTimeout(this.launcherHudIntroStartTimer);
|
|
8221
|
+
this.launcherHudIntroStartTimer = null;
|
|
8222
|
+
}
|
|
8223
|
+
if (this.launcherHudIntroEndTimer !== null) {
|
|
8224
|
+
clearTimeout(this.launcherHudIntroEndTimer);
|
|
8225
|
+
this.launcherHudIntroEndTimer = null;
|
|
8226
|
+
}
|
|
8227
|
+
if (!this.launcherHudIntro) return;
|
|
8228
|
+
this.launcherHudIntro = false;
|
|
8229
|
+
if (this.isConnected) this.requestUpdate();
|
|
8230
|
+
}
|
|
8511
8231
|
resolveLauncherHudSide() {
|
|
8512
8232
|
if (typeof window === "undefined") {
|
|
8513
8233
|
this.launcherHudSide = "left";
|
|
@@ -8536,6 +8256,7 @@ ${argsString}</pre
|
|
|
8536
8256
|
this.requestUpdate();
|
|
8537
8257
|
}
|
|
8538
8258
|
closeLauncherHud() {
|
|
8259
|
+
this.cancelLauncherHudIntro();
|
|
8539
8260
|
if (this.launcherHudCloseTimer !== null) {
|
|
8540
8261
|
clearTimeout(this.launcherHudCloseTimer);
|
|
8541
8262
|
this.launcherHudCloseTimer = null;
|
|
@@ -8573,6 +8294,10 @@ ${argsString}</pre
|
|
|
8573
8294
|
class="cpk-launcher-hud__row"
|
|
8574
8295
|
data-cpk-hud-row=${args.id}
|
|
8575
8296
|
data-cpk-hud-help=${helpOpen ? "open" : lit.nothing}
|
|
8297
|
+
style=${(0, lit_directives_style_map_js.styleMap)({
|
|
8298
|
+
"--cpk-hud-row-index": `${args.introIndex}`,
|
|
8299
|
+
"--cpk-hud-row-delay": `${LAUNCHER_HUD_INTRO_MS.rowStart + args.introIndex * LAUNCHER_HUD_INTRO_MS.rowStagger}ms`
|
|
8300
|
+
})}
|
|
8576
8301
|
@click=${(event) => this.handleHudRowClick(event, args.id)}
|
|
8577
8302
|
>
|
|
8578
8303
|
<button
|
|
@@ -8601,25 +8326,32 @@ ${argsString}</pre
|
|
|
8601
8326
|
`;
|
|
8602
8327
|
}
|
|
8603
8328
|
renderLauncherHud() {
|
|
8604
|
-
var _this$_core6;
|
|
8605
8329
|
if (!this.launcherHudOpen) return lit.nothing;
|
|
8606
|
-
const
|
|
8607
|
-
const
|
|
8608
|
-
const learningOn =
|
|
8330
|
+
const homeModel = this.getHomeModel();
|
|
8331
|
+
const threadsOn = homeModel.services.some((service) => service.id === "threads" && service.enabled);
|
|
8332
|
+
const learningOn = homeModel.services.some((service) => service.id === "memory" && service.enabled);
|
|
8333
|
+
const intelligenceOn = homeModel.hero.connection === "connected";
|
|
8609
8334
|
return lit.html`
|
|
8610
8335
|
<div
|
|
8611
8336
|
class="cpk-launcher-hud"
|
|
8612
8337
|
id="cpk-launcher-hud"
|
|
8613
8338
|
data-cpk-launcher-hud
|
|
8614
8339
|
data-cpk-hud-side=${this.launcherHudSide}
|
|
8340
|
+
data-cpk-hud-intro=${this.launcherHudIntro ? "true" : lit.nothing}
|
|
8341
|
+
data-color-scheme=${this.colorScheme}
|
|
8342
|
+
style=${(0, lit_directives_style_map_js.styleMap)({
|
|
8343
|
+
"--cpk-launcher-hud-intro-duration": `${LAUNCHER_HUD_INTRO_MS.duration}ms`,
|
|
8344
|
+
"--cpk-launcher-hud-row-duration": `${LAUNCHER_HUD_INTRO_MS.rowDuration}ms`
|
|
8345
|
+
})}
|
|
8615
8346
|
>
|
|
8347
|
+
<span class="cpk-launcher-hud__arrow" aria-hidden="true"></span>
|
|
8616
8348
|
<div class="cpk-launcher-hud__card">
|
|
8617
|
-
<span class="cpk-launcher-hud__arrow" aria-hidden="true"></span>
|
|
8618
8349
|
<ul class="cpk-launcher-hud__list" role="list">
|
|
8619
8350
|
${this.renderHudRow({
|
|
8620
8351
|
id: "inspector",
|
|
8621
8352
|
label: HUD_OPEN_INSPECTOR_LABEL,
|
|
8622
|
-
detail: HUD_OPEN_INSPECTOR_DETAIL
|
|
8353
|
+
detail: HUD_OPEN_INSPECTOR_DETAIL,
|
|
8354
|
+
introIndex: 0
|
|
8623
8355
|
})}
|
|
8624
8356
|
</ul>
|
|
8625
8357
|
<ul class="cpk-launcher-hud__list" role="list">
|
|
@@ -8627,19 +8359,22 @@ ${argsString}</pre
|
|
|
8627
8359
|
id: "threads",
|
|
8628
8360
|
label: threadsOn ? HUD_THREADS_ON_LABEL : HUD_THREADS_OFF_LABEL,
|
|
8629
8361
|
detail: threadsOn ? HUD_THREADS_ON_DETAIL : HUD_THREADS_OFF_DETAIL,
|
|
8630
|
-
connected: threadsOn
|
|
8362
|
+
connected: threadsOn,
|
|
8363
|
+
introIndex: 1
|
|
8631
8364
|
})}
|
|
8632
8365
|
${this.renderHudRow({
|
|
8633
8366
|
id: "intelligence",
|
|
8634
8367
|
label: intelligenceOn ? HUD_INTELLIGENCE_ON_LABEL : HUD_INTELLIGENCE_OFF_LABEL,
|
|
8635
8368
|
detail: intelligenceOn ? HUD_INTELLIGENCE_ON_DETAIL : HUD_INTELLIGENCE_OFF_DETAIL,
|
|
8636
|
-
connected: intelligenceOn
|
|
8369
|
+
connected: intelligenceOn,
|
|
8370
|
+
introIndex: 2
|
|
8637
8371
|
})}
|
|
8638
8372
|
${this.renderHudRow({
|
|
8639
8373
|
id: "learning",
|
|
8640
8374
|
label: learningOn ? HUD_LEARNING_ON_LABEL : HUD_LEARNING_OFF_LABEL,
|
|
8641
8375
|
detail: learningOn ? HUD_LEARNING_ON_DETAIL : HUD_LEARNING_OFF_DETAIL,
|
|
8642
|
-
connected: learningOn
|
|
8376
|
+
connected: learningOn,
|
|
8377
|
+
introIndex: 3
|
|
8643
8378
|
})}
|
|
8644
8379
|
</ul>
|
|
8645
8380
|
</div>
|
|
@@ -8743,34 +8478,34 @@ ${argsString}</pre
|
|
|
8743
8478
|
})}
|
|
8744
8479
|
</nav>
|
|
8745
8480
|
${automaticallyCollapsed ? lit.nothing : lit.html`
|
|
8746
|
-
<button
|
|
8747
|
-
type="button"
|
|
8748
|
-
class="inspector-sidebar-toggle"
|
|
8749
|
-
data-inspector-sidebar-toggle
|
|
8750
|
-
aria-label=${iconRail ? "Expand sidebar" : "Collapse sidebar"}
|
|
8751
|
-
aria-expanded=${iconRail ? "false" : "true"}
|
|
8752
|
-
data-inspector-tooltip=${iconRail ? "Expand sidebar" : lit.nothing}
|
|
8753
|
-
title=${iconRail ? lit.nothing : "Collapse sidebar"}
|
|
8754
|
-
style=${INTERACTIVE_FOCUS_BASE_STYLE}
|
|
8755
|
-
@pointerenter=${iconRail ? this.handleSidebarRailTooltipShow : lit.nothing}
|
|
8756
|
-
@pointerleave=${iconRail ? this.handleSidebarRailTooltipHide : lit.nothing}
|
|
8757
|
-
@focus=${iconRail ? this.handleSidebarRailTooltipShow : lit.nothing}
|
|
8758
|
-
@blur=${iconRail ? this.handleSidebarRailTooltipHide : lit.nothing}
|
|
8759
|
-
@click=${this.handleSidebarToggle}
|
|
8760
|
-
>
|
|
8761
|
-
<span class="inspector-nav-icon" aria-hidden="true">
|
|
8762
|
-
${this.renderIcon(iconRail ? "ChevronRight" : "ChevronLeft")}
|
|
8763
|
-
</span>
|
|
8764
|
-
<span class="inspector-nav-label"
|
|
8765
|
-
>${iconRail ? "Expand" : "Collapse"}</span
|
|
8766
|
-
>
|
|
8767
|
-
</button>
|
|
8768
|
-
`}
|
|
8769
|
-
${iconRail ? lit.nothing : lit.html`
|
|
8770
8481
|
<div class="inspector-sidebar-footer">
|
|
8771
|
-
|
|
8772
|
-
|
|
8773
|
-
|
|
8482
|
+
${iconRail ? lit.nothing : lit.html`
|
|
8483
|
+
<div class="inspector-sidebar-status-list">
|
|
8484
|
+
${this.renderSidebarIntelligenceStatus(homeModel)}
|
|
8485
|
+
</div>
|
|
8486
|
+
`}
|
|
8487
|
+
<button
|
|
8488
|
+
type="button"
|
|
8489
|
+
class="inspector-sidebar-toggle"
|
|
8490
|
+
data-inspector-sidebar-toggle
|
|
8491
|
+
aria-label=${iconRail ? "Expand sidebar" : "Collapse sidebar"}
|
|
8492
|
+
aria-expanded=${iconRail ? "false" : "true"}
|
|
8493
|
+
data-inspector-tooltip=${iconRail ? "Expand sidebar" : lit.nothing}
|
|
8494
|
+
title=${iconRail ? lit.nothing : "Collapse sidebar"}
|
|
8495
|
+
style=${INTERACTIVE_FOCUS_BASE_STYLE}
|
|
8496
|
+
@pointerenter=${iconRail ? this.handleSidebarRailTooltipShow : lit.nothing}
|
|
8497
|
+
@pointerleave=${iconRail ? this.handleSidebarRailTooltipHide : lit.nothing}
|
|
8498
|
+
@focus=${iconRail ? this.handleSidebarRailTooltipShow : lit.nothing}
|
|
8499
|
+
@blur=${iconRail ? this.handleSidebarRailTooltipHide : lit.nothing}
|
|
8500
|
+
@click=${this.handleSidebarToggle}
|
|
8501
|
+
>
|
|
8502
|
+
<span class="inspector-nav-icon" aria-hidden="true">
|
|
8503
|
+
${this.renderIcon(iconRail ? "ChevronRight" : "ChevronLeft")}
|
|
8504
|
+
</span>
|
|
8505
|
+
<span class="inspector-nav-label"
|
|
8506
|
+
>${iconRail ? "Expand" : "Collapse"}</span
|
|
8507
|
+
>
|
|
8508
|
+
</button>
|
|
8774
8509
|
</div>
|
|
8775
8510
|
`}
|
|
8776
8511
|
</aside>
|
|
@@ -8851,13 +8586,13 @@ ${argsString}</pre
|
|
|
8851
8586
|
`;
|
|
8852
8587
|
}
|
|
8853
8588
|
getHomeModel() {
|
|
8854
|
-
var _this$_core7, _this$_core8, _this$_core9, _this$_core10, _this$_core11, _this$_core12, _this$
|
|
8589
|
+
var _this$_core6, _this$_core7, _this$_core8, _this$_core9, _this$_core10, _this$_core11, _this$_core12, _this$announcementPre, _this$announcementMar, _this$announcementHtm;
|
|
8855
8590
|
const lastRuntimeEvent = this.flattenedEvents[0];
|
|
8856
8591
|
return buildHomeModel({
|
|
8857
|
-
intelligenceConnected: Boolean((_this$
|
|
8592
|
+
intelligenceConnected: Boolean((_this$_core6 = this._core) === null || _this$_core6 === void 0 ? void 0 : _this$_core6.intelligence),
|
|
8858
8593
|
threadsAvailable: this.areThreadEndpointsAvailable(),
|
|
8859
8594
|
metadata: this.inspectorMetadataProjection,
|
|
8860
|
-
runtimeUrl: (_this$
|
|
8595
|
+
runtimeUrl: (_this$_core7 = this._core) === null || _this$_core7 === void 0 ? void 0 : _this$_core7.runtimeUrl,
|
|
8861
8596
|
runtimeConnectionState: this.getCoreStatusSummary().state,
|
|
8862
8597
|
lastRuntimeEvent: lastRuntimeEvent ? {
|
|
8863
8598
|
id: lastRuntimeEvent.id,
|
|
@@ -8866,11 +8601,11 @@ ${argsString}</pre
|
|
|
8866
8601
|
timestamp: lastRuntimeEvent.timestamp
|
|
8867
8602
|
} : void 0,
|
|
8868
8603
|
memoriesOn: this._memoriesAvailable,
|
|
8869
|
-
a2uiOn: ((_this$
|
|
8870
|
-
openGenUiOn: ((_this$
|
|
8871
|
-
suggestionsOn: ((_this$
|
|
8872
|
-
audioOn: ((_this$
|
|
8873
|
-
websocketUrl: (_this$
|
|
8604
|
+
a2uiOn: ((_this$_core8 = this._core) === null || _this$_core8 === void 0 ? void 0 : _this$_core8.a2uiEnabled) === true,
|
|
8605
|
+
openGenUiOn: ((_this$_core9 = this._core) === null || _this$_core9 === void 0 ? void 0 : _this$_core9.openGenerativeUIEnabled) === true,
|
|
8606
|
+
suggestionsOn: ((_this$_core10 = this._core) === null || _this$_core10 === void 0 ? void 0 : _this$_core10.suggestions) === true,
|
|
8607
|
+
audioOn: ((_this$_core11 = this._core) === null || _this$_core11 === void 0 ? void 0 : _this$_core11.audioFileTranscriptionEnabled) === true,
|
|
8608
|
+
websocketUrl: (_this$_core12 = this._core) === null || _this$_core12 === void 0 || (_this$_core12 = _this$_core12.intelligence) === null || _this$_core12 === void 0 ? void 0 : _this$_core12.wsUrl,
|
|
8874
8609
|
announcementPreviewText: (_this$announcementPre = this.announcementPreviewText) !== null && _this$announcementPre !== void 0 ? _this$announcementPre : void 0,
|
|
8875
8610
|
announcementMarkdown: (_this$announcementMar = this.announcementMarkdown) !== null && _this$announcementMar !== void 0 ? _this$announcementMar : void 0,
|
|
8876
8611
|
announcementHtml: (_this$announcementHtm = this.announcementHtml) !== null && _this$announcementHtm !== void 0 ? _this$announcementHtm : void 0,
|
|
@@ -9545,16 +9280,6 @@ ${argsString}</pre
|
|
|
9545
9280
|
@pointerup=${this.handleResizePointerUp}
|
|
9546
9281
|
@pointercancel=${this.handleResizePointerCancel}
|
|
9547
9282
|
></div>
|
|
9548
|
-
<div
|
|
9549
|
-
class="resize-handle pointer-events-auto absolute bottom-0 left-0 flex h-7 w-7 cursor-nesw-resize items-center justify-center text-gray-600 transition hover:text-gray-900"
|
|
9550
|
-
data-resize-edge="sw"
|
|
9551
|
-
role="presentation"
|
|
9552
|
-
aria-hidden="true"
|
|
9553
|
-
@pointerdown=${this.handleResizePointerDown}
|
|
9554
|
-
@pointermove=${this.handleResizePointerMove}
|
|
9555
|
-
@pointerup=${this.handleResizePointerUp}
|
|
9556
|
-
@pointercancel=${this.handleResizePointerCancel}
|
|
9557
|
-
></div>
|
|
9558
9283
|
`}
|
|
9559
9284
|
<div
|
|
9560
9285
|
class="resize-handle pointer-events-auto absolute bottom-0 right-0 flex h-7 w-7 cursor-nwse-resize items-center justify-center text-gray-600 transition hover:text-gray-900"
|
|
@@ -9971,8 +9696,7 @@ ${argsString}</pre
|
|
|
9971
9696
|
this.draggedDuringInteraction = false;
|
|
9972
9697
|
}
|
|
9973
9698
|
openInspector(source, options = {}) {
|
|
9974
|
-
if (options.
|
|
9975
|
-
else if (options.threadId) this.focusThread(options);
|
|
9699
|
+
if (options.threadId) this.focusThread(options);
|
|
9976
9700
|
if (this.isPoppedOut) return;
|
|
9977
9701
|
if (this.isOpen) return;
|
|
9978
9702
|
const hadUnseenAnnouncement = this.newsSignalArmed;
|
|
@@ -10156,11 +9880,8 @@ ${argsString}</pre
|
|
|
10156
9880
|
return this.sanitizeForLogging(payload);
|
|
10157
9881
|
}
|
|
10158
9882
|
normalizeMessageContent(content) {
|
|
10159
|
-
|
|
10160
|
-
if (
|
|
10161
|
-
const maybeText = content.text;
|
|
10162
|
-
if (typeof maybeText === "string") return maybeText;
|
|
10163
|
-
}
|
|
9883
|
+
const extracted = textFromUnknownContent(content);
|
|
9884
|
+
if (extracted) return extracted;
|
|
10164
9885
|
if (content === null || content === void 0) return "";
|
|
10165
9886
|
if (typeof content === "object") try {
|
|
10166
9887
|
return JSON.stringify(this.sanitizeForLogging(content));
|
|
@@ -10274,8 +9995,8 @@ ${argsString}</pre
|
|
|
10274
9995
|
};
|
|
10275
9996
|
}
|
|
10276
9997
|
resolvePlaygroundAgentId(preferredAgentId) {
|
|
10277
|
-
var _this$_core$agents, _this$
|
|
10278
|
-
const agents = (_this$_core$agents = (_this$
|
|
9998
|
+
var _this$_core$agents, _this$_core13, _Object$keys$;
|
|
9999
|
+
const agents = (_this$_core$agents = (_this$_core13 = this._core) === null || _this$_core13 === void 0 ? void 0 : _this$_core13.agents) !== null && _this$_core$agents !== void 0 ? _this$_core$agents : {};
|
|
10279
10000
|
if (preferredAgentId && preferredAgentId !== "all-agents" && agents[preferredAgentId]) return preferredAgentId;
|
|
10280
10001
|
return (_Object$keys$ = Object.keys(agents)[0]) !== null && _Object$keys$ !== void 0 ? _Object$keys$ : null;
|
|
10281
10002
|
}
|
|
@@ -10304,13 +10025,13 @@ ${argsString}</pre
|
|
|
10304
10025
|
});
|
|
10305
10026
|
}
|
|
10306
10027
|
startPlaygroundSession(showEphemeralNotice, seedMessages = [], seedState = {}, preferredAgentId) {
|
|
10307
|
-
var _this$
|
|
10028
|
+
var _this$_core14, _this$_core15, _this$_core16;
|
|
10308
10029
|
const agentId = this.resolvePlaygroundAgentId(preferredAgentId !== null && preferredAgentId !== void 0 ? preferredAgentId : this.selectedContext);
|
|
10309
|
-
const sourceAgent = agentId ? typeof ((_this$
|
|
10030
|
+
const sourceAgent = agentId ? typeof ((_this$_core14 = this._core) === null || _this$_core14 === void 0 ? void 0 : _this$_core14.getAgent) === "function" ? this._core.getAgent(agentId) : (_this$_core15 = this._core) === null || _this$_core15 === void 0 ? void 0 : _this$_core15.agents[agentId] : void 0;
|
|
10310
10031
|
this.teardownPlaygroundAgent();
|
|
10311
10032
|
this.playgroundError = null;
|
|
10312
10033
|
this.playgroundSourceThreadId = null;
|
|
10313
|
-
this.playgroundShowEphemeralNotice = showEphemeralNotice && ((_this$
|
|
10034
|
+
this.playgroundShowEphemeralNotice = showEphemeralNotice && ((_this$_core16 = this._core) === null || _this$_core16 === void 0 ? void 0 : _this$_core16.runtimeMode) !== "intelligence";
|
|
10314
10035
|
if (!agentId || !sourceAgent) {
|
|
10315
10036
|
this.requestUpdate();
|
|
10316
10037
|
return;
|
|
@@ -10392,7 +10113,7 @@ ${argsString}</pre
|
|
|
10392
10113
|
const sendDisabled = !agentId || this.playgroundIsLoadingThread || !this.playgroundIsRunning && !this.playgroundInput.trim();
|
|
10393
10114
|
return lit.html`
|
|
10394
10115
|
<form
|
|
10395
|
-
class=${centered ? "mt-5 w-full" : "bg-white px-3 pb-3 pt-1.5"}
|
|
10116
|
+
class=${centered ? "cpk-playground-form mt-5 w-full" : "cpk-playground-form bg-white px-3 pb-3 pt-1.5"}
|
|
10396
10117
|
@submit=${this.handlePlaygroundSubmit}
|
|
10397
10118
|
>
|
|
10398
10119
|
${this.playgroundError ? lit.html`<div
|
|
@@ -10421,587 +10142,34 @@ ${argsString}</pre
|
|
|
10421
10142
|
` : lit.nothing}
|
|
10422
10143
|
</div>` : lit.nothing}
|
|
10423
10144
|
<div
|
|
10424
|
-
class="mx-auto flex max-w-3xl items-end gap-1.5 rounded-[28px] bg-white px-2.5 py-1.5 shadow-[0_4px_4px_0_#0000000a,0_0_1px_0_#0000009e] transition-shadow duration-200 focus-within:shadow-[0_6px_18px_0_#00000014,0_0_1px_0_#0000009e]"
|
|
10145
|
+
class="cpk-playground-composer mx-auto flex max-w-3xl items-end gap-1.5 rounded-[28px] bg-white px-2.5 py-1.5 shadow-[0_4px_4px_0_#0000000a,0_0_1px_0_#0000009e] transition-shadow duration-200 focus-within:shadow-[0_6px_18px_0_#00000014,0_0_1px_0_#0000009e]"
|
|
10425
10146
|
>
|
|
10426
10147
|
<textarea
|
|
10427
|
-
class="min-h-[40px] max-h-32 flex-1 resize-none bg-transparent px-2.5 py-2.5 text-[13px] leading-5 text-gray-900 outline-none placeholder:text-gray-500 disabled:cursor-not-allowed disabled:opacity-60"
|
|
10428
|
-
rows="1"
|
|
10429
|
-
placeholder=${placeholder}
|
|
10430
|
-
aria-label="Playground message"
|
|
10431
|
-
.value=${this.playgroundInput}
|
|
10432
|
-
?disabled=${!agentId || busy}
|
|
10433
|
-
@input=${this.handlePlaygroundInput}
|
|
10434
|
-
@keydown=${this.handlePlaygroundKeyDown}
|
|
10435
|
-
></textarea>
|
|
10436
|
-
<button
|
|
10437
|
-
type=${this.playgroundIsRunning ? "button" : "submit"}
|
|
10438
|
-
class=${`mb-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-full transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-violet-400 focus-visible:ring-offset-2 [&>svg]:h-[18px] [&>svg]:w-[18px] ${sendDisabled ? "cursor-not-allowed bg-[#00000014] text-[rgb(13,13,13)] opacity-50" : "cursor-pointer bg-black text-white hover:opacity-70 active:opacity-60"}`}
|
|
10439
|
-
aria-label=${this.playgroundIsRunning ? "Stop agent" : "Send playground message"}
|
|
10440
|
-
?disabled=${sendDisabled}
|
|
10441
|
-
@click=${this.playgroundIsRunning ? this.handlePlaygroundStop : lit.nothing}
|
|
10442
|
-
>
|
|
10443
|
-
${this.renderIcon(this.playgroundIsRunning ? "Square" : "ArrowUp")}
|
|
10444
|
-
</button>
|
|
10445
|
-
</div>
|
|
10446
|
-
<p
|
|
10447
|
-
class="mx-auto max-w-3xl px-3 py-2 text-center text-[10px] leading-4 text-gray-500"
|
|
10448
|
-
>
|
|
10449
|
-
AI can make mistakes. Please verify important information.
|
|
10450
|
-
</p>
|
|
10451
|
-
</form>
|
|
10452
|
-
`;
|
|
10453
|
-
}
|
|
10454
|
-
reloadEventSnippets() {
|
|
10455
|
-
this.eventSnippets = loadEventSnippets();
|
|
10456
|
-
}
|
|
10457
|
-
renderSnippetImportControl() {
|
|
10458
|
-
return lit.html`
|
|
10459
|
-
<label
|
|
10460
|
-
class="inline-flex shrink-0 cursor-pointer items-center rounded-md border border-gray-300 bg-white px-3 py-1.5 text-[11px] text-gray-700"
|
|
10461
|
-
data-testid="cpk-snippet-import"
|
|
10462
|
-
>
|
|
10463
|
-
Import
|
|
10464
|
-
<input
|
|
10465
|
-
type="file"
|
|
10466
|
-
accept="application/json"
|
|
10467
|
-
class="hidden"
|
|
10468
|
-
@change=${this.handleSnippetImportChange}
|
|
10469
|
-
/>
|
|
10470
|
-
</label>
|
|
10471
|
-
`;
|
|
10472
|
-
}
|
|
10473
|
-
selectEventSnippet(id) {
|
|
10474
|
-
const snippet = this.eventSnippets.find((item) => item.id === id);
|
|
10475
|
-
this.selectedSnippetId = id;
|
|
10476
|
-
if (!snippet) {
|
|
10477
|
-
this.requestUpdate();
|
|
10478
|
-
return;
|
|
10479
|
-
}
|
|
10480
|
-
const editor = editorStateFromSnippet(snippet);
|
|
10481
|
-
this.snippetRecipe = editor.recipe;
|
|
10482
|
-
this.snippetName = editor.name;
|
|
10483
|
-
this.snippetJson = editor.json;
|
|
10484
|
-
this.snippetToolName = editor.draft.toolName;
|
|
10485
|
-
this.snippetToolArgs = editor.draft.toolArgs;
|
|
10486
|
-
this.snippetReasoningText = editor.draft.reasoningText;
|
|
10487
|
-
this.snippetTextContent = editor.draft.textContent;
|
|
10488
|
-
this.snippetActivityType = editor.draft.activityType;
|
|
10489
|
-
this.snippetActivityContent = editor.draft.activityContent;
|
|
10490
|
-
this.snippetError = null;
|
|
10491
|
-
this.requestUpdate();
|
|
10492
|
-
}
|
|
10493
|
-
compileSnippetDraft() {
|
|
10494
|
-
switch (this.snippetRecipe) {
|
|
10495
|
-
case "tool-call": return compileToolCallRecipe({
|
|
10496
|
-
toolName: this.snippetToolName,
|
|
10497
|
-
argsJson: this.snippetToolArgs,
|
|
10498
|
-
threadId: this.getSnippetThreadId(),
|
|
10499
|
-
runId: this.getSnippetRunId()
|
|
10500
|
-
});
|
|
10501
|
-
case "reasoning": return compileReasoningRecipe({
|
|
10502
|
-
text: this.snippetReasoningText,
|
|
10503
|
-
threadId: this.getSnippetThreadId(),
|
|
10504
|
-
runId: this.getSnippetRunId()
|
|
10505
|
-
});
|
|
10506
|
-
case "text": return compileTextRecipe({
|
|
10507
|
-
text: this.snippetTextContent,
|
|
10508
|
-
threadId: this.getSnippetThreadId(),
|
|
10509
|
-
runId: this.getSnippetRunId()
|
|
10510
|
-
});
|
|
10511
|
-
case "activity": return compileActivityRecipe({
|
|
10512
|
-
activityType: this.snippetActivityType,
|
|
10513
|
-
contentJson: this.snippetActivityContent,
|
|
10514
|
-
threadId: this.getSnippetThreadId(),
|
|
10515
|
-
runId: this.getSnippetRunId()
|
|
10516
|
-
});
|
|
10517
|
-
case "raw": return parseSnippetEvents(this.snippetJson);
|
|
10518
|
-
}
|
|
10519
|
-
}
|
|
10520
|
-
getSnippetThreadId() {
|
|
10521
|
-
var _this$selectedThreadI;
|
|
10522
|
-
return (_this$selectedThreadI = this.selectedThreadId) !== null && _this$selectedThreadI !== void 0 ? _this$selectedThreadI : "inspector-snippet";
|
|
10523
|
-
}
|
|
10524
|
-
getSnippetRunId() {
|
|
10525
|
-
return `inspector-snippet-${Date.now()}`;
|
|
10526
|
-
}
|
|
10527
|
-
getSnippetTargetAgent() {
|
|
10528
|
-
var _core$getAgent2;
|
|
10529
|
-
const core = this._core;
|
|
10530
|
-
if (!core) return null;
|
|
10531
|
-
const selected = this.selectedContext !== "all-agents" ? this.selectedContext : null;
|
|
10532
|
-
if (selected) {
|
|
10533
|
-
var _core$getAgent;
|
|
10534
|
-
return (_core$getAgent = core.getAgent(selected)) !== null && _core$getAgent !== void 0 ? _core$getAgent : null;
|
|
10535
|
-
}
|
|
10536
|
-
const first = this.contextOptions.find((option) => option.key !== "all-agents");
|
|
10537
|
-
return first ? (_core$getAgent2 = core.getAgent(first.key)) !== null && _core$getAgent2 !== void 0 ? _core$getAgent2 : null : null;
|
|
10538
|
-
}
|
|
10539
|
-
applyRecipeToEditor() {
|
|
10540
|
-
try {
|
|
10541
|
-
const events = this.compileSnippetDraft();
|
|
10542
|
-
this.snippetJson = JSON.stringify(events, null, 2);
|
|
10543
|
-
this.snippetError = null;
|
|
10544
|
-
} catch (error) {
|
|
10545
|
-
this.snippetError = error instanceof Error ? error.message : "Could not compile recipe.";
|
|
10546
|
-
}
|
|
10547
|
-
this.requestUpdate();
|
|
10548
|
-
}
|
|
10549
|
-
handleSnippetRecipeChange(event) {
|
|
10550
|
-
const value = event.target.value;
|
|
10551
|
-
if (value === "tool-call" || value === "reasoning" || value === "text" || value === "activity" || value === "raw") {
|
|
10552
|
-
this.snippetRecipe = value;
|
|
10553
|
-
if (value !== "raw") this.applyRecipeToEditor();
|
|
10554
|
-
else this.requestUpdate();
|
|
10555
|
-
}
|
|
10556
|
-
}
|
|
10557
|
-
saveCurrentSnippet(source) {
|
|
10558
|
-
try {
|
|
10559
|
-
var _this$selectedSnippet, _this$eventSnippets$f, _this$eventSnippets$f2, _this$core14;
|
|
10560
|
-
const events = parseSnippetEvents(this.snippetJson);
|
|
10561
|
-
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
10562
|
-
const snippet = {
|
|
10563
|
-
id: (_this$selectedSnippet = this.selectedSnippetId) !== null && _this$selectedSnippet !== void 0 ? _this$selectedSnippet : createSnippetId(),
|
|
10564
|
-
name: this.snippetName.trim() || recipeLabel(this.snippetRecipe),
|
|
10565
|
-
recipe: this.snippetRecipe,
|
|
10566
|
-
events,
|
|
10567
|
-
createdAt: (_this$eventSnippets$f = (_this$eventSnippets$f2 = this.eventSnippets.find((item) => item.id === this.selectedSnippetId)) === null || _this$eventSnippets$f2 === void 0 ? void 0 : _this$eventSnippets$f2.createdAt) !== null && _this$eventSnippets$f !== void 0 ? _this$eventSnippets$f : now,
|
|
10568
|
-
updatedAt: now
|
|
10569
|
-
};
|
|
10570
|
-
this.eventSnippets = upsertEventSnippet(snippet);
|
|
10571
|
-
this.selectedSnippetId = snippet.id;
|
|
10572
|
-
this.snippetBanner = "Snippet saved.";
|
|
10573
|
-
this.snippetError = null;
|
|
10574
|
-
if (!((_this$core14 = this.core) === null || _this$core14 === void 0 ? void 0 : _this$core14.telemetryDisabled)) trackEventSnippetsSaved({
|
|
10575
|
-
recipe: this.snippetRecipe,
|
|
10576
|
-
source,
|
|
10577
|
-
success: true
|
|
10578
|
-
});
|
|
10579
|
-
} catch (error) {
|
|
10580
|
-
var _this$core15;
|
|
10581
|
-
this.snippetError = error instanceof Error ? error.message : "Could not save snippet.";
|
|
10582
|
-
if (!((_this$core15 = this.core) === null || _this$core15 === void 0 ? void 0 : _this$core15.telemetryDisabled)) trackEventSnippetsSaved({
|
|
10583
|
-
recipe: this.snippetRecipe,
|
|
10584
|
-
source,
|
|
10585
|
-
success: false
|
|
10586
|
-
});
|
|
10587
|
-
}
|
|
10588
|
-
this.requestUpdate();
|
|
10589
|
-
}
|
|
10590
|
-
async runCurrentSnippet() {
|
|
10591
|
-
this.snippetError = null;
|
|
10592
|
-
this.snippetBanner = null;
|
|
10593
|
-
let events;
|
|
10594
|
-
try {
|
|
10595
|
-
events = expandSnippetEventsForRun(parseSnippetEvents(this.snippetJson));
|
|
10596
|
-
} catch (error) {
|
|
10597
|
-
this.snippetError = error instanceof Error ? error.message : "Snippet JSON is invalid.";
|
|
10598
|
-
this.requestUpdate();
|
|
10599
|
-
return;
|
|
10600
|
-
}
|
|
10601
|
-
if (snippetContainsToolCall(events) && !this.snippetConfirmOpen) {
|
|
10602
|
-
this.snippetConfirmOpen = true;
|
|
10603
|
-
this.requestUpdate();
|
|
10604
|
-
return;
|
|
10605
|
-
}
|
|
10606
|
-
this.snippetConfirmOpen = false;
|
|
10607
|
-
const core = this._core;
|
|
10608
|
-
const agent = this.getSnippetTargetAgent();
|
|
10609
|
-
if (!core || !agent) {
|
|
10610
|
-
this.snippetError = "No agent is available to inject into.";
|
|
10611
|
-
this.requestUpdate();
|
|
10612
|
-
return;
|
|
10613
|
-
}
|
|
10614
|
-
if (agent.isRunning) {
|
|
10615
|
-
this.snippetError = "The agent is running. Wait for the current run to end.";
|
|
10616
|
-
this.requestUpdate();
|
|
10617
|
-
return;
|
|
10618
|
-
}
|
|
10619
|
-
try {
|
|
10620
|
-
var _this$selectedSnippet2, _agent$agentId, _this$core16;
|
|
10621
|
-
const result = await (0, _copilotkit_core.ɵinjectInspectorEvents)({
|
|
10622
|
-
core,
|
|
10623
|
-
agent,
|
|
10624
|
-
events
|
|
10625
|
-
});
|
|
10626
|
-
this.lastInject = {
|
|
10627
|
-
snippetId: (_this$selectedSnippet2 = this.selectedSnippetId) !== null && _this$selectedSnippet2 !== void 0 ? _this$selectedSnippet2 : "unsaved",
|
|
10628
|
-
agentId: (_agent$agentId = agent.agentId) !== null && _agent$agentId !== void 0 ? _agent$agentId : "default",
|
|
10629
|
-
runId: this.getSnippetRunId(),
|
|
10630
|
-
messageIds: result.messageIds
|
|
10631
|
-
};
|
|
10632
|
-
this.snippetBanner = "Inspector injected these events into the live thread.";
|
|
10633
|
-
if (!((_this$core16 = this.core) === null || _this$core16 === void 0 ? void 0 : _this$core16.telemetryDisabled)) trackEventSnippetsRun({
|
|
10634
|
-
recipe: this.snippetRecipe,
|
|
10635
|
-
source: "pane",
|
|
10636
|
-
success: true
|
|
10637
|
-
});
|
|
10638
|
-
} catch (error) {
|
|
10639
|
-
var _this$core17;
|
|
10640
|
-
this.snippetError = error instanceof Error ? error.message : "Could not run snippet.";
|
|
10641
|
-
if (!((_this$core17 = this.core) === null || _this$core17 === void 0 ? void 0 : _this$core17.telemetryDisabled)) trackEventSnippetsRun({
|
|
10642
|
-
recipe: this.snippetRecipe,
|
|
10643
|
-
source: "pane",
|
|
10644
|
-
success: false
|
|
10645
|
-
});
|
|
10646
|
-
}
|
|
10647
|
-
this.requestUpdate();
|
|
10648
|
-
}
|
|
10649
|
-
resetLastSnippetRun() {
|
|
10650
|
-
const last = this.lastInject;
|
|
10651
|
-
const core = this._core;
|
|
10652
|
-
if (!last || !core) return;
|
|
10653
|
-
const agent = core.getAgent(last.agentId);
|
|
10654
|
-
if (!agent) {
|
|
10655
|
-
this.snippetError = "The injected agent is no longer available.";
|
|
10656
|
-
this.requestUpdate();
|
|
10657
|
-
return;
|
|
10658
|
-
}
|
|
10659
|
-
(0, _copilotkit_core.ɵresetInspectorInject)({
|
|
10660
|
-
agent,
|
|
10661
|
-
messageIds: last.messageIds
|
|
10662
|
-
});
|
|
10663
|
-
this.lastInject = null;
|
|
10664
|
-
this.snippetBanner = "Last inject was removed from the thread. App state from a tool handler was not undone.";
|
|
10665
|
-
this.requestUpdate();
|
|
10666
|
-
}
|
|
10667
|
-
renderEventSnippetsView() {
|
|
10668
|
-
var _this$_core$tools, _this$_core18;
|
|
10669
|
-
if (this.eventSnippets.length === 0 && this.selectedSnippetId === null) this.reloadEventSnippets();
|
|
10670
|
-
const agent = this.getSnippetTargetAgent();
|
|
10671
|
-
const runBlocked = (agent === null || agent === void 0 ? void 0 : agent.isRunning) === true;
|
|
10672
|
-
const canRunJson = snippetJsonIsRunnable(this.snippetJson);
|
|
10673
|
-
const canRun = canRunJson && !!agent && !runBlocked;
|
|
10674
|
-
const canSave = canRunJson;
|
|
10675
|
-
const canDelete = this.selectedSnippetId !== null;
|
|
10676
|
-
const canExport = this.eventSnippets.length > 0;
|
|
10677
|
-
const canReset = this.lastInject !== null;
|
|
10678
|
-
const snippetGroups = groupEventSnippets(this.eventSnippets);
|
|
10679
|
-
const tools = (_this$_core$tools = (_this$_core18 = this._core) === null || _this$_core18 === void 0 ? void 0 : _this$_core18.tools) !== null && _this$_core$tools !== void 0 ? _this$_core$tools : [];
|
|
10680
|
-
return lit.html`
|
|
10681
|
-
<div class="flex h-full min-h-0 flex-col bg-white">
|
|
10682
|
-
<div
|
|
10683
|
-
class="flex items-center justify-between gap-4 border-b border-gray-200 px-4 py-3"
|
|
10684
|
-
>
|
|
10685
|
-
<div class="min-w-0">
|
|
10686
|
-
<h2 class="text-sm font-semibold text-gray-900">Event Snippets</h2>
|
|
10687
|
-
<p class="mt-1 text-[11px] text-gray-500">
|
|
10688
|
-
Compile AG-UI events, run them on the live agent, and save them
|
|
10689
|
-
for later. Tool-call runs use the real frontend-tool handler.
|
|
10690
|
-
</p>
|
|
10691
|
-
</div>
|
|
10692
|
-
${this.renderSnippetImportControl()}
|
|
10693
|
-
</div>
|
|
10694
|
-
${this.snippetBanner ? lit.html`<div
|
|
10695
|
-
class="border-b border-emerald-200 bg-emerald-50 px-4 py-2 text-[11px] text-emerald-800"
|
|
10696
|
-
role="status"
|
|
10697
|
-
>
|
|
10698
|
-
${this.snippetBanner}
|
|
10699
|
-
</div>` : lit.nothing}
|
|
10700
|
-
${this.snippetError ? lit.html`<div
|
|
10701
|
-
class="border-b border-rose-200 bg-rose-50 px-4 py-2 text-[11px] text-rose-800"
|
|
10702
|
-
role="alert"
|
|
10703
|
-
>
|
|
10704
|
-
${this.snippetError}
|
|
10705
|
-
</div>` : lit.nothing}
|
|
10706
|
-
${this.snippetConfirmOpen ? lit.html`<div
|
|
10707
|
-
class="border-b border-amber-200 bg-amber-50 px-4 py-2 text-[11px] text-amber-900"
|
|
10708
|
-
role="alertdialog"
|
|
10709
|
-
aria-label="Confirm tool-call run"
|
|
10710
|
-
>
|
|
10711
|
-
<p>
|
|
10712
|
-
This snippet contains a tool call. Run will execute the real
|
|
10713
|
-
handler on the live thread.
|
|
10714
|
-
</p>
|
|
10715
|
-
<div class="mt-2 flex gap-2">
|
|
10716
|
-
<button
|
|
10717
|
-
type="button"
|
|
10718
|
-
class="rounded-md bg-gray-900 px-2 py-1 text-[11px] text-white"
|
|
10719
|
-
data-testid="cpk-snippet-run-handler"
|
|
10720
|
-
@click=${() => {
|
|
10721
|
-
this.snippetConfirmOpen = true;
|
|
10722
|
-
this.runCurrentSnippet();
|
|
10723
|
-
}}
|
|
10724
|
-
>
|
|
10725
|
-
Run handler
|
|
10726
|
-
</button>
|
|
10727
|
-
<button
|
|
10728
|
-
type="button"
|
|
10729
|
-
class="rounded-md border border-gray-300 bg-white px-2 py-1 text-[11px]"
|
|
10730
|
-
@click=${() => {
|
|
10731
|
-
this.snippetConfirmOpen = false;
|
|
10732
|
-
this.requestUpdate();
|
|
10733
|
-
}}
|
|
10734
|
-
>
|
|
10735
|
-
Cancel
|
|
10736
|
-
</button>
|
|
10737
|
-
</div>
|
|
10738
|
-
</div>` : lit.nothing}
|
|
10739
|
-
<div class="flex min-h-0 flex-1">
|
|
10740
|
-
<div
|
|
10741
|
-
class="inspector-snippet-sidebar shrink-0"
|
|
10742
|
-
style="width:${this.snippetListWidth}px"
|
|
10743
|
-
data-testid="cpk-snippet-list"
|
|
10744
|
-
>
|
|
10745
|
-
${snippetGroups.length === 0 ? lit.html`
|
|
10746
|
-
<p class="px-2 py-2 text-[11px] text-gray-500">No saved snippets yet.</p>
|
|
10747
|
-
` : lit.html`
|
|
10748
|
-
<nav class="inspector-sidebar-nav" aria-label="Saved snippets">
|
|
10749
|
-
${snippetGroups.map((group) => lit.html`
|
|
10750
|
-
<div class="inspector-sidebar-section">
|
|
10751
|
-
<div
|
|
10752
|
-
class="inspector-sidebar-label"
|
|
10753
|
-
data-testid="cpk-snippet-category"
|
|
10754
|
-
data-recipe=${group.recipe}
|
|
10755
|
-
>
|
|
10756
|
-
${group.label}
|
|
10757
|
-
</div>
|
|
10758
|
-
${group.snippets.map((snippet) => {
|
|
10759
|
-
const isSelected = snippet.id === this.selectedSnippetId;
|
|
10760
|
-
return lit.html`
|
|
10761
|
-
<button
|
|
10762
|
-
type="button"
|
|
10763
|
-
class="inspector-nav-control inspector-sidebar-control ${isSelected ? "inspector-nav-control-active" : ""}"
|
|
10764
|
-
data-testid="cpk-snippet-item"
|
|
10765
|
-
data-recipe=${snippet.recipe}
|
|
10766
|
-
aria-current=${isSelected ? "page" : lit.nothing}
|
|
10767
|
-
aria-label="${recipeLabel(snippet.recipe)}: ${snippet.name}"
|
|
10768
|
-
style=${INTERACTIVE_FOCUS_BASE_STYLE}
|
|
10769
|
-
@click=${() => this.selectEventSnippet(snippet.id)}
|
|
10770
|
-
>
|
|
10771
|
-
<span
|
|
10772
|
-
class="inspector-nav-icon"
|
|
10773
|
-
aria-hidden="true"
|
|
10774
|
-
>
|
|
10775
|
-
<span
|
|
10776
|
-
class="flex h-6 w-6 items-center justify-center rounded-md ${recipeIconWrapClass(snippet.recipe)}"
|
|
10777
|
-
>
|
|
10778
|
-
${this.renderIcon(recipeIconName(snippet.recipe))}
|
|
10779
|
-
</span>
|
|
10780
|
-
</span>
|
|
10781
|
-
<span class="inspector-nav-label"
|
|
10782
|
-
>${snippet.name}</span
|
|
10783
|
-
>
|
|
10784
|
-
</button>
|
|
10785
|
-
`;
|
|
10786
|
-
})}
|
|
10787
|
-
</div>
|
|
10788
|
-
`)}
|
|
10789
|
-
</nav>
|
|
10790
|
-
`}
|
|
10791
|
-
</div>
|
|
10792
|
-
<div
|
|
10793
|
-
class="w-1.5 shrink-0 cursor-col-resize bg-gray-200 hover:bg-gray-400"
|
|
10794
|
-
role="separator"
|
|
10795
|
-
aria-orientation="vertical"
|
|
10796
|
-
aria-label="Resize snippet list"
|
|
10797
|
-
title="Drag to resize"
|
|
10798
|
-
data-testid="cpk-snippet-list-resize"
|
|
10799
|
-
style="touch-action:none"
|
|
10800
|
-
@pointerdown=${this.handleSnippetListDividerPointerDown}
|
|
10801
|
-
@pointermove=${this.handleSnippetListDividerPointerMove}
|
|
10802
|
-
@pointerup=${this.handleSnippetListDividerPointerUp}
|
|
10803
|
-
@pointercancel=${this.handleSnippetListDividerPointerUp}
|
|
10804
|
-
></div>
|
|
10805
|
-
<div class="flex min-h-0 min-w-0 flex-1 flex-col gap-2 overflow-auto p-4">
|
|
10806
|
-
<label class="text-[11px] text-gray-600">
|
|
10807
|
-
Name
|
|
10808
|
-
<input
|
|
10809
|
-
class="mt-1 w-full rounded-md border border-gray-200 px-2 py-1 text-[11px]"
|
|
10810
|
-
data-testid="cpk-snippet-name"
|
|
10811
|
-
.value=${this.snippetName}
|
|
10812
|
-
@input=${(event) => {
|
|
10813
|
-
this.snippetName = event.target.value;
|
|
10814
|
-
}}
|
|
10815
|
-
/>
|
|
10816
|
-
</label>
|
|
10817
|
-
<label class="text-[11px] text-gray-600">
|
|
10818
|
-
Recipe
|
|
10819
|
-
<select
|
|
10820
|
-
class="mt-1 w-full rounded-md border border-gray-200 px-2 py-1 text-[11px]"
|
|
10821
|
-
data-testid="cpk-snippet-recipe"
|
|
10822
|
-
.value=${this.snippetRecipe}
|
|
10823
|
-
@change=${this.handleSnippetRecipeChange}
|
|
10824
|
-
>
|
|
10825
|
-
${[
|
|
10826
|
-
"tool-call",
|
|
10827
|
-
"reasoning",
|
|
10828
|
-
"text",
|
|
10829
|
-
"activity",
|
|
10830
|
-
"raw"
|
|
10831
|
-
].map((recipe) => lit.html`<option
|
|
10832
|
-
value=${recipe}
|
|
10833
|
-
?selected=${recipe === this.snippetRecipe}
|
|
10834
|
-
>
|
|
10835
|
-
${recipeLabel(recipe)}
|
|
10836
|
-
</option>`)}
|
|
10837
|
-
</select>
|
|
10838
|
-
</label>
|
|
10839
|
-
${this.snippetRecipe === "tool-call" ? lit.html`
|
|
10840
|
-
<label class="text-[11px] text-gray-600">
|
|
10841
|
-
Tool
|
|
10842
|
-
<input
|
|
10843
|
-
list="cpk-snippet-tools"
|
|
10844
|
-
class="mt-1 w-full rounded-md border border-gray-200 px-2 py-1 text-[11px]"
|
|
10845
|
-
data-testid="cpk-snippet-tool-name"
|
|
10846
|
-
.value=${this.snippetToolName}
|
|
10847
|
-
@input=${(event) => {
|
|
10848
|
-
this.snippetToolName = event.target.value;
|
|
10849
|
-
this.applyRecipeToEditor();
|
|
10850
|
-
}}
|
|
10851
|
-
/>
|
|
10852
|
-
<datalist id="cpk-snippet-tools">
|
|
10853
|
-
${tools.map((tool) => lit.html`<option value=${tool.name}></option>`)}
|
|
10854
|
-
</datalist>
|
|
10855
|
-
</label>
|
|
10856
|
-
<label class="text-[11px] text-gray-600">
|
|
10857
|
-
Args JSON
|
|
10858
|
-
<textarea
|
|
10859
|
-
class="mt-1 h-20 w-full rounded-md border border-gray-200 px-2 py-1 font-mono text-[11px]"
|
|
10860
|
-
data-testid="cpk-snippet-tool-args"
|
|
10861
|
-
.value=${this.snippetToolArgs}
|
|
10862
|
-
@input=${(event) => {
|
|
10863
|
-
this.snippetToolArgs = event.target.value;
|
|
10864
|
-
this.applyRecipeToEditor();
|
|
10865
|
-
}}
|
|
10866
|
-
></textarea>
|
|
10867
|
-
</label>
|
|
10868
|
-
` : lit.nothing}
|
|
10869
|
-
${this.snippetRecipe === "reasoning" ? lit.html`<label class="text-[11px] text-gray-600">
|
|
10870
|
-
Reasoning
|
|
10871
|
-
<textarea
|
|
10872
|
-
class="mt-1 h-20 w-full rounded-md border border-gray-200 px-2 py-1 text-[11px]"
|
|
10873
|
-
data-testid="cpk-snippet-reasoning"
|
|
10874
|
-
.value=${this.snippetReasoningText}
|
|
10875
|
-
@input=${(event) => {
|
|
10876
|
-
this.snippetReasoningText = event.target.value;
|
|
10877
|
-
this.applyRecipeToEditor();
|
|
10878
|
-
}}
|
|
10879
|
-
></textarea>
|
|
10880
|
-
</label>` : lit.nothing}
|
|
10881
|
-
${this.snippetRecipe === "text" ? lit.html`<label class="text-[11px] text-gray-600">
|
|
10882
|
-
Assistant text
|
|
10883
|
-
<textarea
|
|
10884
|
-
class="mt-1 h-20 w-full rounded-md border border-gray-200 px-2 py-1 text-[11px]"
|
|
10885
|
-
data-testid="cpk-snippet-text"
|
|
10886
|
-
.value=${this.snippetTextContent}
|
|
10887
|
-
@input=${(event) => {
|
|
10888
|
-
this.snippetTextContent = event.target.value;
|
|
10889
|
-
this.applyRecipeToEditor();
|
|
10890
|
-
}}
|
|
10891
|
-
></textarea>
|
|
10892
|
-
</label>` : lit.nothing}
|
|
10893
|
-
${this.snippetRecipe === "activity" ? lit.html`
|
|
10894
|
-
<label class="text-[11px] text-gray-600">
|
|
10895
|
-
Activity type
|
|
10896
|
-
<input
|
|
10897
|
-
list="cpk-snippet-activity"
|
|
10898
|
-
class="mt-1 w-full rounded-md border border-gray-200 px-2 py-1 text-[11px]"
|
|
10899
|
-
data-testid="cpk-snippet-activity-type"
|
|
10900
|
-
.value=${this.snippetActivityType}
|
|
10901
|
-
@input=${(event) => {
|
|
10902
|
-
this.snippetActivityType = event.target.value;
|
|
10903
|
-
this.applyRecipeToEditor();
|
|
10904
|
-
}}
|
|
10905
|
-
/>
|
|
10906
|
-
<datalist id="cpk-snippet-activity">
|
|
10907
|
-
${ACTIVITY_STARTERS.map((type) => lit.html`<option value=${type}></option>`)}
|
|
10908
|
-
</datalist>
|
|
10909
|
-
</label>
|
|
10910
|
-
<label class="text-[11px] text-gray-600">
|
|
10911
|
-
Content JSON
|
|
10912
|
-
<textarea
|
|
10913
|
-
class="mt-1 h-24 w-full rounded-md border border-gray-200 px-2 py-1 font-mono text-[11px]"
|
|
10914
|
-
data-testid="cpk-snippet-activity-content"
|
|
10915
|
-
.value=${this.snippetActivityContent}
|
|
10916
|
-
@input=${(event) => {
|
|
10917
|
-
this.snippetActivityContent = event.target.value;
|
|
10918
|
-
this.applyRecipeToEditor();
|
|
10919
|
-
}}
|
|
10920
|
-
></textarea>
|
|
10921
|
-
</label>
|
|
10922
|
-
` : lit.nothing}
|
|
10923
|
-
<label class="text-[11px] text-gray-600">
|
|
10924
|
-
Events JSON
|
|
10925
|
-
<textarea
|
|
10926
|
-
class="mt-1 h-40 w-full rounded-md border border-gray-200 px-2 py-1 font-mono text-[11px]"
|
|
10927
|
-
data-testid="cpk-snippet-json"
|
|
10928
|
-
.value=${this.snippetJson}
|
|
10929
|
-
@input=${(event) => {
|
|
10930
|
-
this.snippetJson = event.target.value;
|
|
10931
|
-
this.requestUpdate();
|
|
10932
|
-
}}
|
|
10933
|
-
></textarea>
|
|
10934
|
-
</label>
|
|
10935
|
-
<div class="flex flex-wrap gap-2">
|
|
10936
|
-
<button
|
|
10937
|
-
type="button"
|
|
10938
|
-
class="rounded-md bg-gray-900 px-3 py-1.5 text-[11px] text-white disabled:opacity-50"
|
|
10939
|
-
data-testid="cpk-snippet-run"
|
|
10940
|
-
?disabled=${!canRun}
|
|
10941
|
-
title=${runBlocked ? "The agent is running. Wait for the current run to end." : !agent ? "No agent is available to inject into." : !canRunJson ? "Events JSON must be a non-empty event array." : "Run snippet"}
|
|
10942
|
-
@click=${() => void this.runCurrentSnippet()}
|
|
10943
|
-
>
|
|
10944
|
-
${runBlocked ? "Agent running" : "Run"}
|
|
10945
|
-
</button>
|
|
10946
|
-
<button
|
|
10947
|
-
type="button"
|
|
10948
|
-
class="rounded-md border border-gray-300 bg-white px-3 py-1.5 text-[11px] disabled:opacity-50"
|
|
10949
|
-
data-testid="cpk-snippet-save"
|
|
10950
|
-
?disabled=${!canSave}
|
|
10951
|
-
title=${canSave ? "Save snippet" : "Events JSON must be a non-empty event array."}
|
|
10952
|
-
@click=${() => this.saveCurrentSnippet("pane")}
|
|
10953
|
-
>
|
|
10954
|
-
Save
|
|
10955
|
-
</button>
|
|
10956
|
-
<button
|
|
10957
|
-
type="button"
|
|
10958
|
-
class="rounded-md border border-gray-300 bg-white px-3 py-1.5 text-[11px] disabled:opacity-50"
|
|
10959
|
-
data-testid="cpk-snippet-reset"
|
|
10960
|
-
?disabled=${!canReset}
|
|
10961
|
-
title=${canReset ? "Remove the last inject from the thread" : "No Inspector inject to reset."}
|
|
10962
|
-
@click=${() => this.resetLastSnippetRun()}
|
|
10963
|
-
>
|
|
10964
|
-
Reset last run
|
|
10965
|
-
</button>
|
|
10966
|
-
<button
|
|
10967
|
-
type="button"
|
|
10968
|
-
class="rounded-md border border-gray-300 bg-white px-3 py-1.5 text-[11px] disabled:opacity-50"
|
|
10969
|
-
data-testid="cpk-snippet-delete"
|
|
10970
|
-
?disabled=${!canDelete}
|
|
10971
|
-
title=${canDelete ? "Delete this snippet" : "Select a snippet to delete."}
|
|
10972
|
-
@click=${() => {
|
|
10973
|
-
if (!this.selectedSnippetId) return;
|
|
10974
|
-
if (!window.confirm("Delete this snippet?")) return;
|
|
10975
|
-
this.eventSnippets = deleteEventSnippet(this.selectedSnippetId);
|
|
10976
|
-
this.selectedSnippetId = null;
|
|
10977
|
-
this.requestUpdate();
|
|
10978
|
-
}}
|
|
10979
|
-
>
|
|
10980
|
-
Delete
|
|
10981
|
-
</button>
|
|
10982
|
-
<button
|
|
10983
|
-
type="button"
|
|
10984
|
-
class="rounded-md border border-gray-300 bg-white px-3 py-1.5 text-[11px] disabled:opacity-50"
|
|
10985
|
-
data-testid="cpk-snippet-export"
|
|
10986
|
-
?disabled=${!canExport}
|
|
10987
|
-
title=${canExport ? "Export snippets" : "Save a snippet before you export."}
|
|
10988
|
-
@click=${() => {
|
|
10989
|
-
if (!canExport) return;
|
|
10990
|
-
const blob = new Blob([exportEventSnippetsJson(this.eventSnippets)], { type: "application/json" });
|
|
10991
|
-
const url = URL.createObjectURL(blob);
|
|
10992
|
-
const link = document.createElement("a");
|
|
10993
|
-
link.href = url;
|
|
10994
|
-
link.download = "event-snippets.json";
|
|
10995
|
-
link.click();
|
|
10996
|
-
URL.revokeObjectURL(url);
|
|
10997
|
-
}}
|
|
10998
|
-
>
|
|
10999
|
-
Export
|
|
11000
|
-
</button>
|
|
11001
|
-
</div>
|
|
11002
|
-
</div>
|
|
10148
|
+
class="cpk-playground-input min-h-[40px] max-h-32 flex-1 resize-none bg-transparent px-2.5 py-2.5 text-[13px] leading-5 text-gray-900 outline-none placeholder:text-gray-500 disabled:cursor-not-allowed disabled:opacity-60"
|
|
10149
|
+
rows="1"
|
|
10150
|
+
placeholder=${placeholder}
|
|
10151
|
+
aria-label="Playground message"
|
|
10152
|
+
.value=${this.playgroundInput}
|
|
10153
|
+
?disabled=${!agentId || busy}
|
|
10154
|
+
@input=${this.handlePlaygroundInput}
|
|
10155
|
+
@keydown=${this.handlePlaygroundKeyDown}
|
|
10156
|
+
></textarea>
|
|
10157
|
+
<button
|
|
10158
|
+
type=${this.playgroundIsRunning ? "button" : "submit"}
|
|
10159
|
+
class=${`cpk-playground-send mb-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-full transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-violet-400 focus-visible:ring-offset-2 [&>svg]:h-[18px] [&>svg]:w-[18px] ${sendDisabled ? "cursor-not-allowed bg-[#00000014] text-[rgb(13,13,13)] opacity-50" : "cursor-pointer bg-black text-white hover:opacity-70 active:opacity-60"}`}
|
|
10160
|
+
aria-label=${this.playgroundIsRunning ? "Stop agent" : "Send playground message"}
|
|
10161
|
+
?disabled=${sendDisabled}
|
|
10162
|
+
@click=${this.playgroundIsRunning ? this.handlePlaygroundStop : lit.nothing}
|
|
10163
|
+
>
|
|
10164
|
+
${this.renderIcon(this.playgroundIsRunning ? "Square" : "ArrowUp")}
|
|
10165
|
+
</button>
|
|
11003
10166
|
</div>
|
|
11004
|
-
|
|
10167
|
+
<p
|
|
10168
|
+
class="mx-auto max-w-3xl px-3 py-2 text-center text-[10px] leading-4 text-gray-500"
|
|
10169
|
+
>
|
|
10170
|
+
AI can make mistakes. Please verify important information.
|
|
10171
|
+
</p>
|
|
10172
|
+
</form>
|
|
11005
10173
|
`;
|
|
11006
10174
|
}
|
|
11007
10175
|
renderMainContent() {
|
|
@@ -11017,7 +10185,6 @@ ${argsString}</pre
|
|
|
11017
10185
|
</div>
|
|
11018
10186
|
`;
|
|
11019
10187
|
if (this.selectedMenu === "playground") return this.renderPlaygroundView();
|
|
11020
|
-
if (this.selectedMenu === "event-snippets") return this.renderEventSnippetsView();
|
|
11021
10188
|
if (this.selectedMenu === "agents") return this.renderAgentsView();
|
|
11022
10189
|
if (this.selectedMenu === "frontend-tools") return this.renderToolsView();
|
|
11023
10190
|
if (this.selectedMenu === "capabilities") return this.renderCapabilitiesView();
|
|
@@ -11027,13 +10194,13 @@ ${argsString}</pre
|
|
|
11027
10194
|
return lit.nothing;
|
|
11028
10195
|
}
|
|
11029
10196
|
renderPlaygroundView() {
|
|
11030
|
-
var _this$playgroundAgent4, _this$playgroundAgent5, _this$_core$runtimeMo, _this$
|
|
10197
|
+
var _this$playgroundAgent4, _this$playgroundAgent5, _this$_core$runtimeMo, _this$_core17, _this$_core$runtimeUr, _this$_core18, _this$playgroundSourc;
|
|
11031
10198
|
const agentId = this.resolvePlaygroundAgentId(this.selectedContext);
|
|
11032
10199
|
const sourceThreads = this._threads.filter((thread) => !agentId || thread.agentId === agentId);
|
|
11033
10200
|
const visibleMessages = this.playgroundMessages.filter((message) => message.role === "user" || message.role === "assistant" || message.role === "reasoning" || message.role === "activity");
|
|
11034
10201
|
const hasRetry = (_this$playgroundAgent4 = (_this$playgroundAgent5 = this.playgroundAgent) === null || _this$playgroundAgent5 === void 0 ? void 0 : _this$playgroundAgent5.messages.some((message) => message.role === "user")) !== null && _this$playgroundAgent4 !== void 0 ? _this$playgroundAgent4 : false;
|
|
11035
|
-
const runtimeMode = (_this$_core$runtimeMo = (_this$
|
|
11036
|
-
const runtimeLabel = (_this$_core$runtimeUr = (_this$
|
|
10202
|
+
const runtimeMode = (_this$_core$runtimeMo = (_this$_core17 = this._core) === null || _this$_core17 === void 0 ? void 0 : _this$_core17.runtimeMode) !== null && _this$_core$runtimeMo !== void 0 ? _this$_core$runtimeMo : "sse";
|
|
10203
|
+
const runtimeLabel = (_this$_core$runtimeUr = (_this$_core18 = this._core) === null || _this$_core18 === void 0 ? void 0 : _this$_core18.runtimeUrl) !== null && _this$_core$runtimeUr !== void 0 ? _this$_core$runtimeUr : "Self-managed agent";
|
|
11037
10204
|
const busy = this.playgroundIsRunning || this.playgroundIsLoadingThread;
|
|
11038
10205
|
const suggestions = agentId && this._core ? this._core.getSuggestions(agentId).suggestions : [];
|
|
11039
10206
|
const lastAssistantIndex = visibleMessages.reduce((last, message, index) => message.role === "assistant" ? index : last, -1);
|
|
@@ -11153,9 +10320,9 @@ ${argsString}</pre
|
|
|
11153
10320
|
</div>
|
|
11154
10321
|
` : visibleMessages.length === 0 ? lit.html`
|
|
11155
10322
|
<div
|
|
11156
|
-
class="mx-auto flex h-full w-full
|
|
10323
|
+
class="cpk-playground-welcome mx-auto flex h-full w-full flex-col items-center justify-center text-center"
|
|
11157
10324
|
>
|
|
11158
|
-
<p class="
|
|
10325
|
+
<p class="cpk-playground-welcome-title">
|
|
11159
10326
|
How can I help you today?
|
|
11160
10327
|
</p>
|
|
11161
10328
|
${this.renderPlaygroundComposer(agentId, busy, hasRetry, true)}
|
|
@@ -11163,7 +10330,7 @@ ${argsString}</pre
|
|
|
11163
10330
|
` : lit.html`
|
|
11164
10331
|
<div class="mx-auto flex max-w-3xl flex-col pb-5">
|
|
11165
10332
|
${visibleMessages.map((message, index) => {
|
|
11166
|
-
var _message$activityType, _message$
|
|
10333
|
+
var _message$activityType, _message$id2;
|
|
11167
10334
|
const isUser = message.role === "user";
|
|
11168
10335
|
const isReasoning = message.role === "reasoning";
|
|
11169
10336
|
const isActivity = message.role === "activity";
|
|
@@ -11225,7 +10392,7 @@ ${argsString}</pre
|
|
|
11225
10392
|
`;
|
|
11226
10393
|
}
|
|
11227
10394
|
const isMultiline = content.includes("\n") || content.length > 72;
|
|
11228
|
-
const copyKey = `playground-message-${(_message$
|
|
10395
|
+
const copyKey = `playground-message-${(_message$id2 = message.id) !== null && _message$id2 !== void 0 ? _message$id2 : index}`;
|
|
11229
10396
|
const showToolbar = !isUser && !isActivity && Boolean(content) && !(this.playgroundIsRunning && index === lastAssistantIndex);
|
|
11230
10397
|
return lit.html`
|
|
11231
10398
|
<article
|
|
@@ -11328,8 +10495,8 @@ ${argsString}</pre
|
|
|
11328
10495
|
`;
|
|
11329
10496
|
}
|
|
11330
10497
|
renderSettingsPanel() {
|
|
11331
|
-
var _this$core$telemetryD, _this$
|
|
11332
|
-
const optedOut = (_this$core$telemetryD = (_this$
|
|
10498
|
+
var _this$core$telemetryD, _this$core14;
|
|
10499
|
+
const optedOut = (_this$core$telemetryD = (_this$core14 = this.core) === null || _this$core14 === void 0 ? void 0 : _this$core14.telemetryDisabled) !== null && _this$core$telemetryD !== void 0 ? _this$core$telemetryD : false;
|
|
11333
10500
|
return lit.html`
|
|
11334
10501
|
<div
|
|
11335
10502
|
class="inspector-settings"
|
|
@@ -11408,16 +10575,16 @@ ${argsString}</pre
|
|
|
11408
10575
|
`;
|
|
11409
10576
|
}
|
|
11410
10577
|
trackOpened(source, hadUnseenAnnouncement, firstOpen = false, activeSignal = null) {
|
|
11411
|
-
var _this$
|
|
11412
|
-
if ((_this$
|
|
10578
|
+
var _this$core15, _this$core$licenseSta2, _this$core16, _this$core$runtimeMod2, _this$core17, _this$core18;
|
|
10579
|
+
if ((_this$core15 = this.core) === null || _this$core15 === void 0 ? void 0 : _this$core15.telemetryDisabled) return;
|
|
11413
10580
|
const errorSignal = activeSignal !== null && isErrorSignalKey(activeSignal) ? activeSignal : null;
|
|
11414
10581
|
trackInspectorOpened({
|
|
11415
10582
|
open_source: source,
|
|
11416
10583
|
...this.runtimeStatus === "connected" ? {
|
|
11417
|
-
license_status: (_this$core$licenseSta2 = (_this$
|
|
11418
|
-
runtime_mode: (_this$core$runtimeMod2 = (_this$
|
|
10584
|
+
license_status: (_this$core$licenseSta2 = (_this$core16 = this.core) === null || _this$core16 === void 0 ? void 0 : _this$core16.licenseStatus) !== null && _this$core$licenseSta2 !== void 0 ? _this$core$licenseSta2 : void 0,
|
|
10585
|
+
runtime_mode: (_this$core$runtimeMod2 = (_this$core17 = this.core) === null || _this$core17 === void 0 ? void 0 : _this$core17.runtimeMode) !== null && _this$core$runtimeMod2 !== void 0 ? _this$core$runtimeMod2 : void 0
|
|
11419
10586
|
} : {},
|
|
11420
|
-
runtime_url_type: getRuntimeUrlType((_this$
|
|
10587
|
+
runtime_url_type: getRuntimeUrlType((_this$core18 = this.core) === null || _this$core18 === void 0 ? void 0 : _this$core18.runtimeUrl),
|
|
11421
10588
|
has_unseen_announcement: hadUnseenAnnouncement,
|
|
11422
10589
|
has_error_signal: errorSignal !== null,
|
|
11423
10590
|
...errorSignal === null ? {} : { error_signal_source: errorSignal },
|
|
@@ -11460,8 +10627,8 @@ ${argsString}</pre
|
|
|
11460
10627
|
} catch (_unused16) {}
|
|
11461
10628
|
}
|
|
11462
10629
|
maybeTrackInspectorMetadataViews() {
|
|
11463
|
-
var _this$
|
|
11464
|
-
if (!this.isOpen || this.runtimeStatus !== _copilotkit_core.CopilotKitCoreRuntimeConnectionStatus.Connected || ((_this$
|
|
10630
|
+
var _this$core19, _telemetryContext$gro, _telemetryContext$lea;
|
|
10631
|
+
if (!this.isOpen || this.runtimeStatus !== _copilotkit_core.CopilotKitCoreRuntimeConnectionStatus.Connected || ((_this$core19 = this.core) === null || _this$core19 === void 0 ? void 0 : _this$core19.telemetryDisabled)) return;
|
|
11465
10632
|
const { identity, plan } = this.inspectorMetadataProjection;
|
|
11466
10633
|
const license_bucket = this.inspectorMetadataProjection.licenseState;
|
|
11467
10634
|
const telemetryContext = this.getMetadataTelemetryContext();
|
|
@@ -11513,8 +10680,8 @@ ${argsString}</pre
|
|
|
11513
10680
|
} else this.metadataTelemetryFingerprints.delete("action");
|
|
11514
10681
|
}
|
|
11515
10682
|
trackWhatsNewClickedOnce(opts) {
|
|
11516
|
-
var _this$
|
|
11517
|
-
if (this.runtimeStatus !== _copilotkit_core.CopilotKitCoreRuntimeConnectionStatus.Connected || ((_this$
|
|
10683
|
+
var _this$core20, _this$announcementCta;
|
|
10684
|
+
if (this.runtimeStatus !== _copilotkit_core.CopilotKitCoreRuntimeConnectionStatus.Connected || ((_this$core20 = this.core) === null || _this$core20 === void 0 ? void 0 : _this$core20.telemetryDisabled)) return;
|
|
11518
10685
|
const id = this.announcementTimestamp;
|
|
11519
10686
|
if (!id) return;
|
|
11520
10687
|
const key = `${id}:${opts.cta}`;
|
|
@@ -11527,8 +10694,8 @@ ${argsString}</pre
|
|
|
11527
10694
|
});
|
|
11528
10695
|
}
|
|
11529
10696
|
trackThreadsViewStateOnce(state) {
|
|
11530
|
-
var _this$
|
|
11531
|
-
if ((_this$
|
|
10697
|
+
var _this$core21;
|
|
10698
|
+
if ((_this$core21 = this.core) === null || _this$core21 === void 0 ? void 0 : _this$core21.telemetryDisabled) return;
|
|
11532
10699
|
const key = `${state}:${this.getThreadServiceStatus()}`;
|
|
11533
10700
|
if (this.viewedThreadsTelemetryStates.has(key)) return;
|
|
11534
10701
|
this.viewedThreadsTelemetryStates.add(key);
|
|
@@ -11575,8 +10742,8 @@ ${argsString}</pre
|
|
|
11575
10742
|
return provider;
|
|
11576
10743
|
}
|
|
11577
10744
|
trackThreadsExampleViewedOnce() {
|
|
11578
|
-
var _this$
|
|
11579
|
-
if ((_this$
|
|
10745
|
+
var _this$core22;
|
|
10746
|
+
if ((_this$core22 = this.core) === null || _this$core22 === void 0 ? void 0 : _this$core22.telemetryDisabled) return;
|
|
11580
10747
|
for (const thread of THREADS_EXAMPLE_THREADS) {
|
|
11581
10748
|
const exampleKind = getExampleKind(thread.id);
|
|
11582
10749
|
if (!exampleKind || this.viewedExampleKinds.has(exampleKind)) continue;
|
|
@@ -11588,8 +10755,8 @@ ${argsString}</pre
|
|
|
11588
10755
|
}
|
|
11589
10756
|
}
|
|
11590
10757
|
trackThreadsExampleSelectedOnce(threadId) {
|
|
11591
|
-
var _this$
|
|
11592
|
-
if ((_this$
|
|
10758
|
+
var _this$core23;
|
|
10759
|
+
if ((_this$core23 = this.core) === null || _this$core23 === void 0 ? void 0 : _this$core23.telemetryDisabled) return;
|
|
11593
10760
|
const exampleKind = getExampleKind(threadId);
|
|
11594
10761
|
if (!exampleKind || this.selectedExampleKinds.has(exampleKind)) return;
|
|
11595
10762
|
this.selectedExampleKinds.add(exampleKind);
|
|
@@ -11655,8 +10822,8 @@ ${argsString}</pre
|
|
|
11655
10822
|
};
|
|
11656
10823
|
}
|
|
11657
10824
|
trackThreadsExampleTourStepViewedOnce() {
|
|
11658
|
-
var _this$
|
|
11659
|
-
if (((_this$
|
|
10825
|
+
var _this$core24;
|
|
10826
|
+
if (((_this$core24 = this.core) === null || _this$core24 === void 0 ? void 0 : _this$core24.telemetryDisabled) || !this.selectedThreadId) return;
|
|
11660
10827
|
const props = this.getCurrentExampleTourProps();
|
|
11661
10828
|
if (!props) return;
|
|
11662
10829
|
const key = `${props.example_kind}:${props.tour_step}`;
|
|
@@ -11675,18 +10842,18 @@ ${argsString}</pre
|
|
|
11675
10842
|
});
|
|
11676
10843
|
}
|
|
11677
10844
|
startExampleTour(autoStarted) {
|
|
11678
|
-
var _this$
|
|
10845
|
+
var _this$core26;
|
|
11679
10846
|
if (!this.selectedThreadId) return;
|
|
11680
10847
|
this.exampleTourActive = true;
|
|
11681
10848
|
this.exampleTourStep = 0;
|
|
11682
10849
|
if (autoStarted) {
|
|
11683
|
-
var _this$
|
|
10850
|
+
var _this$core25;
|
|
11684
10851
|
this.exampleTourAutoShown = true;
|
|
11685
|
-
if (!((_this$
|
|
10852
|
+
if (!((_this$core25 = this.core) === null || _this$core25 === void 0 ? void 0 : _this$core25.telemetryDisabled)) {
|
|
11686
10853
|
const props = this.getCurrentExampleTourProps();
|
|
11687
10854
|
if (props) trackThreadsExampleTourStarted(props);
|
|
11688
10855
|
}
|
|
11689
|
-
} else if (!((_this$
|
|
10856
|
+
} else if (!((_this$core26 = this.core) === null || _this$core26 === void 0 ? void 0 : _this$core26.telemetryDisabled)) {
|
|
11690
10857
|
const props = this.getCurrentExampleTourProps();
|
|
11691
10858
|
if (props) trackThreadsExampleTourReopened(props);
|
|
11692
10859
|
}
|
|
@@ -11702,12 +10869,12 @@ ${argsString}</pre
|
|
|
11702
10869
|
this.requestUpdate();
|
|
11703
10870
|
}
|
|
11704
10871
|
dismissExampleTour(method) {
|
|
11705
|
-
var _this$
|
|
10872
|
+
var _this$core27;
|
|
11706
10873
|
if (!this.selectedThreadId) return;
|
|
11707
10874
|
this.exampleTourActive = false;
|
|
11708
10875
|
this.exampleTourDismissed = true;
|
|
11709
10876
|
this.writeThreadsExampleTourDismissed();
|
|
11710
|
-
if (!((_this$
|
|
10877
|
+
if (!((_this$core27 = this.core) === null || _this$core27 === void 0 ? void 0 : _this$core27.telemetryDisabled)) {
|
|
11711
10878
|
const currentProps = this.getCurrentExampleTourProps();
|
|
11712
10879
|
if (currentProps) {
|
|
11713
10880
|
const props = {
|
|
@@ -12208,8 +11375,8 @@ ${argsString}</pre
|
|
|
12208
11375
|
`;
|
|
12209
11376
|
}
|
|
12210
11377
|
renderMemoriesView() {
|
|
12211
|
-
var _this$
|
|
12212
|
-
if (!((_this$
|
|
11378
|
+
var _this$core28;
|
|
11379
|
+
if (!((_this$core28 = this.core) === null || _this$core28 === void 0 ? void 0 : _this$core28.intelligence) || !this._memoriesAvailable) return lit.html`
|
|
12213
11380
|
<div class="cpk-memory-locked">
|
|
12214
11381
|
${this.renderThreadsLockedBackgroundMockup()}
|
|
12215
11382
|
<div aria-hidden="true" class="cpk-memory-locked-scrim"></div>
|
|
@@ -12456,7 +11623,7 @@ ${argsString}</pre
|
|
|
12456
11623
|
`;
|
|
12457
11624
|
}
|
|
12458
11625
|
renderThreadsView() {
|
|
12459
|
-
var _visibleThreads$find, _this$_core$runtimeUr2, _this$
|
|
11626
|
+
var _visibleThreads$find, _this$_core$runtimeUr2, _this$_core19, _this$_core$headers, _this$_core20, _this$_core21, _this$liveMessageVers2, _this$agentEvents$get6;
|
|
12460
11627
|
const locked = !this.areThreadEndpointsAvailable();
|
|
12461
11628
|
const { displayThreads, threadsErrorMessage, threadsLoading } = this.getActiveThreadsState();
|
|
12462
11629
|
const loadingWithoutRows = !locked && threadsLoading && !threadsErrorMessage && displayThreads.length === 0;
|
|
@@ -12547,9 +11714,9 @@ ${argsString}</pre
|
|
|
12547
11714
|
.threadId=${selectedThread.id}
|
|
12548
11715
|
.thread=${selectedThread}
|
|
12549
11716
|
.provider=${selectedThreadIsLocalExample ? this.getExampleThreadProvider(selectedThread.id) : null}
|
|
12550
|
-
.runtimeUrl=${selectedThreadIsLocalExample ? "" : (_this$_core$runtimeUr2 = (_this$
|
|
12551
|
-
.headers=${(_this$_core$headers = (_this$
|
|
12552
|
-
.threadInspectionAvailable=${selectedThreadIsLocalExample || this.areThreadEndpointsAvailable() && ((_this$
|
|
11717
|
+
.runtimeUrl=${selectedThreadIsLocalExample ? "" : (_this$_core$runtimeUr2 = (_this$_core19 = this._core) === null || _this$_core19 === void 0 ? void 0 : _this$_core19.runtimeUrl) !== null && _this$_core$runtimeUr2 !== void 0 ? _this$_core$runtimeUr2 : ""}
|
|
11718
|
+
.headers=${(_this$_core$headers = (_this$_core20 = this._core) === null || _this$_core20 === void 0 ? void 0 : _this$_core20.headers) !== null && _this$_core$headers !== void 0 ? _this$_core$headers : {}}
|
|
11719
|
+
.threadInspectionAvailable=${selectedThreadIsLocalExample || this.areThreadEndpointsAvailable() && ((_this$_core21 = this._core) === null || _this$_core21 === void 0 || (_this$_core21 = _this$_core21.threadEndpoints) === null || _this$_core21 === void 0 ? void 0 : _this$_core21.inspect) !== false}
|
|
12553
11720
|
.liveMessageVersion=${(_this$liveMessageVers2 = this.liveMessageVersion.get(selectedThread.id)) !== null && _this$liveMessageVers2 !== void 0 ? _this$liveMessageVers2 : 0}
|
|
12554
11721
|
.viewInAppMode=${this.getViewInAppMode(selectedThread, selectedThreadIsLocalExample)}
|
|
12555
11722
|
.viewInAppError=${this.viewInAppError}
|
|
@@ -12559,6 +11726,7 @@ ${argsString}</pre
|
|
|
12559
11726
|
.focusRequestId=${this.threadFocusRequestId}
|
|
12560
11727
|
.agentStateInput=${this.getLatestStateForAgent(selectedThread.agentId)}
|
|
12561
11728
|
.agentEventsInput=${(_this$agentEvents$get6 = this.agentEvents.get(selectedThread.agentId)) !== null && _this$agentEvents$get6 !== void 0 ? _this$agentEvents$get6 : []}
|
|
11729
|
+
.agentMessagesInput=${selectedThreadIsLocalExample ? EMPTY_INSPECTOR_MESSAGES : this.getLiveAgentMessagesForThread(selectedThread)}
|
|
12562
11730
|
></cpk-thread-details>
|
|
12563
11731
|
${selectedThreadIsLocalExample ? this.renderThreadsExampleTour() : lit.nothing}` : showingExamples ? this.renderThreadsExampleOverview(locked) : lit.html`
|
|
12564
11732
|
<div
|
|
@@ -12800,11 +11968,7 @@ ${argsString}</pre
|
|
|
12800
11968
|
>
|
|
12801
11969
|
${isExpanded ? lit.html`
|
|
12802
11970
|
<div class="group relative">
|
|
12803
|
-
|
|
12804
|
-
class="m-0 whitespace-pre-wrap break-words text-[10px] font-mono text-gray-600"
|
|
12805
|
-
>
|
|
12806
|
-
${prettyEvent}</pre
|
|
12807
|
-
>
|
|
11971
|
+
${renderHighlightedJsonBlock(extractedEvent)}
|
|
12808
11972
|
<button
|
|
12809
11973
|
class="absolute right-0 top-0 cursor-pointer rounded px-2 py-1 text-[10px] opacity-0 transition group-hover:opacity-100 ${this.copiedEvents.has(event.id) ? "bg-green-100 text-green-700" : "bg-gray-100 text-gray-600 hover:bg-gray-200 hover:text-gray-900"}"
|
|
12810
11974
|
@click=${(e) => {
|
|
@@ -13031,7 +12195,7 @@ ${prettyEvent}</pre
|
|
|
13031
12195
|
<div class="overflow-auto">
|
|
13032
12196
|
${messages && messages.length > 0 ? lit.html`
|
|
13033
12197
|
<div class="w-full text-xs">
|
|
13034
|
-
<div class="flex bg-gray-50">
|
|
12198
|
+
<div class="cpk-agent-messages-head flex bg-gray-50">
|
|
13035
12199
|
<div
|
|
13036
12200
|
class="w-40 shrink-0 px-4 py-2 font-medium text-gray-700"
|
|
13037
12201
|
>
|
|
@@ -13041,7 +12205,7 @@ ${prettyEvent}</pre
|
|
|
13041
12205
|
Content
|
|
13042
12206
|
</div>
|
|
13043
12207
|
</div>
|
|
13044
|
-
<div class="
|
|
12208
|
+
<div class="cpk-agent-messages-rows">
|
|
13045
12209
|
${messages.map((msg) => {
|
|
13046
12210
|
var _msg$contentText, _msg$toolCalls2;
|
|
13047
12211
|
const role = msg.role || "unknown";
|
|
@@ -13060,7 +12224,7 @@ ${prettyEvent}</pre
|
|
|
13060
12224
|
const isFailedResult = role === "tool" && (toolError === null || toolError === void 0 ? void 0 : toolError.toolCallId) !== void 0 && toolError.toolCallId === msg.toolCallId;
|
|
13061
12225
|
return lit.html`
|
|
13062
12226
|
<div
|
|
13063
|
-
class=${isFailedResult ? "flex items-start bg-rose-50" : "flex items-start"}
|
|
12227
|
+
class=${isFailedResult ? "cpk-agent-message-row flex items-start bg-rose-50" : "cpk-agent-message-row flex items-start"}
|
|
13064
12228
|
data-cpk-failed-tool-result=${isFailedResult ? msg.toolCallId : lit.nothing}
|
|
13065
12229
|
>
|
|
13066
12230
|
<div class="w-40 shrink-0 px-4 py-2">
|
|
@@ -13143,10 +12307,12 @@ ${prettyEvent}</pre
|
|
|
13143
12307
|
>${this.renderIcon("ChevronDown")}</span
|
|
13144
12308
|
>
|
|
13145
12309
|
</button>
|
|
13146
|
-
${this.contextMenuOpen ? lit.html`
|
|
12310
|
+
${iconRail || this.contextMenuOpen ? lit.html`
|
|
13147
12311
|
<div
|
|
13148
|
-
class="absolute left-0 z-50 mt-1.5 w-40 rounded-md border border-gray-200 bg-white py-1 shadow-md ring-1 ring-black/5"
|
|
12312
|
+
class="absolute left-0 z-50 mt-1.5 w-40 rounded-md border border-gray-200 bg-white py-1 shadow-md ring-1 ring-black/5${iconRail ? " inspector-icon-rail-menu" : ""}"
|
|
13149
12313
|
data-context-dropdown-root="true"
|
|
12314
|
+
data-open=${this.contextMenuOpen ? "true" : "false"}
|
|
12315
|
+
aria-hidden=${this.contextMenuOpen ? "false" : "true"}
|
|
13150
12316
|
>
|
|
13151
12317
|
${filteredOptions.map((option) => lit.html`
|
|
13152
12318
|
<button
|
|
@@ -13262,18 +12428,17 @@ ${prettyEvent}</pre
|
|
|
13262
12428
|
if (this.contextOptions.filter((opt) => opt.key !== "all-agents").length > 1) this.selectedContext = "all-agents";
|
|
13263
12429
|
}
|
|
13264
12430
|
if (key === "threads") {
|
|
13265
|
-
var _this$
|
|
13266
|
-
if (previousMenu !== "threads" && !((_this$
|
|
12431
|
+
var _this$core29;
|
|
12432
|
+
if (previousMenu !== "threads" && !((_this$core29 = this.core) === null || _this$core29 === void 0 ? void 0 : _this$core29.telemetryDisabled)) trackThreadsTabClicked(this.getThreadsTelemetryProps());
|
|
13267
12433
|
this.autoSelectLatestThread();
|
|
13268
12434
|
}
|
|
13269
12435
|
if (key === "playground" && !this.playgroundAgent) this.startPlaygroundSession(false);
|
|
13270
12436
|
if (key === "memories") {
|
|
13271
|
-
var _this$
|
|
12437
|
+
var _this$core30;
|
|
13272
12438
|
this.ensureMemorySubscription();
|
|
13273
|
-
if (previousMenu !== "memories" && !((_this$
|
|
12439
|
+
if (previousMenu !== "memories" && !((_this$core30 = this.core) === null || _this$core30 === void 0 ? void 0 : _this$core30.telemetryDisabled)) trackMemoriesTabClicked(this.getMemoriesTelemetryProps());
|
|
13274
12440
|
}
|
|
13275
12441
|
if (key === "home" && previousMenu !== "home") this.homeViewedThisOpen = false;
|
|
13276
|
-
if (key === "event-snippets") this.reloadEventSnippets();
|
|
13277
12442
|
if (key === "ag-ui-events" || key === "agents") {
|
|
13278
12443
|
if (!(this.pendingScrollToEventId !== null || this.pendingScrollToToolCallId !== null)) requestAnimationFrame(() => {
|
|
13279
12444
|
const scroller = this.activeRoot.querySelector("#cpk-main-scroll");
|
|
@@ -13292,8 +12457,14 @@ ${prettyEvent}</pre
|
|
|
13292
12457
|
this.contextMenuOpen = !this.contextMenuOpen;
|
|
13293
12458
|
this.requestUpdate();
|
|
13294
12459
|
}
|
|
12460
|
+
clearIconRailContextCloseTimer() {
|
|
12461
|
+
if (this.iconRailContextCloseTimer === null) return;
|
|
12462
|
+
clearTimeout(this.iconRailContextCloseTimer);
|
|
12463
|
+
this.iconRailContextCloseTimer = null;
|
|
12464
|
+
}
|
|
13295
12465
|
handleContextOptionSelect(key) {
|
|
13296
12466
|
if (!this.contextOptions.some((option) => option.key === key)) return;
|
|
12467
|
+
this.clearIconRailContextCloseTimer();
|
|
13297
12468
|
if (this.selectedContext !== key) {
|
|
13298
12469
|
this.selectedContext = key;
|
|
13299
12470
|
this.expandedRows.clear();
|
|
@@ -13465,10 +12636,10 @@ ${prettyEvent}</pre
|
|
|
13465
12636
|
`;
|
|
13466
12637
|
}
|
|
13467
12638
|
extractToolsFromAgents() {
|
|
13468
|
-
var _this$_core$
|
|
12639
|
+
var _this$_core$tools;
|
|
13469
12640
|
if (!this._core) return [];
|
|
13470
12641
|
const tools = [];
|
|
13471
|
-
for (const coreTool of (_this$_core$
|
|
12642
|
+
for (const coreTool of (_this$_core$tools = this._core.tools) !== null && _this$_core$tools !== void 0 ? _this$_core$tools : []) {
|
|
13472
12643
|
var _coreTool$agentId;
|
|
13473
12644
|
tools.push({
|
|
13474
12645
|
agentId: (_coreTool$agentId = coreTool.agentId) !== null && _coreTool$agentId !== void 0 ? _coreTool$agentId : "",
|
|
@@ -13797,23 +12968,25 @@ ${prettyEvent}</pre
|
|
|
13797
12968
|
</button>
|
|
13798
12969
|
|
|
13799
12970
|
${isExpanded ? lit.html`
|
|
13800
|
-
<div class="border-t border-gray-200
|
|
12971
|
+
<div class="border-t border-gray-200 px-4 py-3">
|
|
13801
12972
|
<div class="mb-3">
|
|
13802
|
-
<
|
|
13803
|
-
|
|
13804
|
-
|
|
13805
|
-
|
|
13806
|
-
|
|
13807
|
-
|
|
13808
|
-
type="button"
|
|
13809
|
-
class="cpk-copy-btn"
|
|
13810
|
-
@click=${(e) => {
|
|
12973
|
+
<div class="mb-1 flex items-center justify-between gap-2">
|
|
12974
|
+
<h5 class="text-xs font-semibold text-gray-700">ID</h5>
|
|
12975
|
+
<button
|
|
12976
|
+
type="button"
|
|
12977
|
+
class="cpk-copy-btn"
|
|
12978
|
+
@click=${(e) => {
|
|
13811
12979
|
e.stopPropagation();
|
|
13812
12980
|
this.copyContextValue(id, `${id}:id`, e);
|
|
13813
12981
|
}}
|
|
12982
|
+
>
|
|
12983
|
+
${this.copiedContextItems.has(`${id}:id`) ? "Copied" : "Copy"}
|
|
12984
|
+
</button>
|
|
12985
|
+
</div>
|
|
12986
|
+
<code
|
|
12987
|
+
class="block min-w-0 truncate font-mono text-xs font-medium text-gray-800"
|
|
12988
|
+
>${id}</code
|
|
13814
12989
|
>
|
|
13815
|
-
${this.copiedContextItems.has(`${id}:id`) ? "✓" : "Copy"}
|
|
13816
|
-
</button>
|
|
13817
12990
|
</div>
|
|
13818
12991
|
${hasValue ? lit.html`
|
|
13819
12992
|
<div class="mb-2 flex items-center justify-between gap-2">
|
|
@@ -14349,13 +13522,13 @@ ${prettyEvent}</pre
|
|
|
14349
13522
|
* opt-out inside `track`, and the runtime's flag once it is known.
|
|
14350
13523
|
*/
|
|
14351
13524
|
maybeTrackErrorSignalViewed() {
|
|
14352
|
-
var _this$
|
|
13525
|
+
var _this$core31, _this$pillOutcome;
|
|
14353
13526
|
if (this.isOpen || typeof document === "undefined" || document.visibilityState !== "visible") return;
|
|
14354
13527
|
const active = this.getActiveLauncherSignal();
|
|
14355
13528
|
if (active === null || !isErrorSignalKey(active)) return;
|
|
14356
13529
|
if (this.errorSignalViewedSources.has(active)) return;
|
|
14357
13530
|
if (this.pillOutcome === null && LAUNCHER_SIGNALS[active].pillLabel !== void 0) return;
|
|
14358
|
-
if ((_this$
|
|
13531
|
+
if ((_this$core31 = this.core) === null || _this$core31 === void 0 ? void 0 : _this$core31.telemetryDisabled) return;
|
|
14359
13532
|
this.errorSignalViewedSources.add(active);
|
|
14360
13533
|
trackErrorSignalViewed({
|
|
14361
13534
|
source: active,
|
|
@@ -14434,9 +13607,9 @@ ${prettyEvent}</pre
|
|
|
14434
13607
|
this.flushPendingWhatsNewTelemetry();
|
|
14435
13608
|
}
|
|
14436
13609
|
flushPendingWhatsNewTelemetry() {
|
|
14437
|
-
var _this$
|
|
13610
|
+
var _this$core32;
|
|
14438
13611
|
if (this.pendingBannerViewed.length === 0 && !this.pendingNewsSignalViewed) return;
|
|
14439
|
-
if ((_this$
|
|
13612
|
+
if ((_this$core32 = this.core) === null || _this$core32 === void 0 ? void 0 : _this$core32.telemetryDisabled) {
|
|
14440
13613
|
this.pendingBannerViewed = [];
|
|
14441
13614
|
this.pendingNewsSignalViewed = null;
|
|
14442
13615
|
return;
|
|
@@ -14518,11 +13691,11 @@ ${prettyEvent}</pre
|
|
|
14518
13691
|
}
|
|
14519
13692
|
appendRefParam(href, ref = "cpk-inspector") {
|
|
14520
13693
|
try {
|
|
14521
|
-
var _this$
|
|
13694
|
+
var _this$core33;
|
|
14522
13695
|
const isRootRelative = href.startsWith("/") && !href.startsWith("//");
|
|
14523
13696
|
const url = new URL(href, typeof window !== "undefined" ? window.location.href : "https://copilotkit.ai");
|
|
14524
13697
|
if (!url.searchParams.has("ref")) url.searchParams.append("ref", ref);
|
|
14525
|
-
if (!url.searchParams.has("posthog_distinct_id") && this.runtimeStatus === _copilotkit_core.CopilotKitCoreRuntimeConnectionStatus.Connected && !((_this$
|
|
13698
|
+
if (!url.searchParams.has("posthog_distinct_id") && this.runtimeStatus === _copilotkit_core.CopilotKitCoreRuntimeConnectionStatus.Connected && !((_this$core33 = this.core) === null || _this$core33 === void 0 ? void 0 : _this$core33.telemetryDisabled) && this.isCopilotKitDestination(url)) {
|
|
14526
13699
|
const distinctId = getTelemetryDistinctIdForUrl();
|
|
14527
13700
|
if (distinctId) url.searchParams.append("posthog_distinct_id", distinctId);
|
|
14528
13701
|
}
|
|
@@ -14550,6 +13723,13 @@ ${prettyEvent}</pre
|
|
|
14550
13723
|
};
|
|
14551
13724
|
WebInspectorElement.styles = [(0, lit.unsafeCSS)(generated_default), lit.css`
|
|
14552
13725
|
:host {
|
|
13726
|
+
--cpk-inspector-shell-radius: 5px;
|
|
13727
|
+
--cpk-inspector-surface-dark: #111319;
|
|
13728
|
+
--cpk-json-key: #3d408f;
|
|
13729
|
+
--cpk-json-str: #0b6b4c;
|
|
13730
|
+
--cpk-json-num: #8a5900;
|
|
13731
|
+
--cpk-json-bool: #c0333a;
|
|
13732
|
+
--cpk-json-nil: #57575b;
|
|
14553
13733
|
position: fixed;
|
|
14554
13734
|
top: 0;
|
|
14555
13735
|
left: 0;
|
|
@@ -14559,6 +13739,191 @@ ${prettyEvent}</pre
|
|
|
14559
13739
|
font-family: "Plus Jakarta Sans", system-ui, sans-serif;
|
|
14560
13740
|
}
|
|
14561
13741
|
|
|
13742
|
+
:host([data-color-scheme="dark"]),
|
|
13743
|
+
.inspector-window[data-color-scheme="dark"] {
|
|
13744
|
+
--cpk-json-key: #bec2ff;
|
|
13745
|
+
--cpk-json-str: #85ecce;
|
|
13746
|
+
--cpk-json-num: #ffac4d;
|
|
13747
|
+
--cpk-json-bool: #fa5f67;
|
|
13748
|
+
--cpk-json-nil: #afafb7;
|
|
13749
|
+
}
|
|
13750
|
+
|
|
13751
|
+
.cpk-json-token--key {
|
|
13752
|
+
color: var(--cpk-json-key);
|
|
13753
|
+
}
|
|
13754
|
+
|
|
13755
|
+
.cpk-json-token--str {
|
|
13756
|
+
color: var(--cpk-json-str);
|
|
13757
|
+
}
|
|
13758
|
+
|
|
13759
|
+
.cpk-json-token--num {
|
|
13760
|
+
color: var(--cpk-json-num);
|
|
13761
|
+
}
|
|
13762
|
+
|
|
13763
|
+
.cpk-json-token--bool {
|
|
13764
|
+
color: var(--cpk-json-bool);
|
|
13765
|
+
}
|
|
13766
|
+
|
|
13767
|
+
.cpk-json-token--nil {
|
|
13768
|
+
color: var(--cpk-json-nil);
|
|
13769
|
+
}
|
|
13770
|
+
|
|
13771
|
+
.cpk-json-block {
|
|
13772
|
+
margin: 0;
|
|
13773
|
+
padding: 10px 12px;
|
|
13774
|
+
border: 1px solid #dbdbe5;
|
|
13775
|
+
border-radius: 8px;
|
|
13776
|
+
background: #f7f7f9;
|
|
13777
|
+
font-family: "Spline Sans Mono", monospace;
|
|
13778
|
+
font-size: 12px;
|
|
13779
|
+
line-height: 1.65;
|
|
13780
|
+
white-space: pre-wrap;
|
|
13781
|
+
overflow-wrap: anywhere;
|
|
13782
|
+
word-break: normal;
|
|
13783
|
+
color: #010507;
|
|
13784
|
+
overflow: auto;
|
|
13785
|
+
}
|
|
13786
|
+
|
|
13787
|
+
:host([data-color-scheme="dark"]) .cpk-json-block,
|
|
13788
|
+
.inspector-window[data-color-scheme="dark"] .cpk-json-block {
|
|
13789
|
+
background: #111319;
|
|
13790
|
+
border-color: #343742;
|
|
13791
|
+
color: #f3f4f8;
|
|
13792
|
+
}
|
|
13793
|
+
|
|
13794
|
+
@keyframes cpk-playground-message-enter {
|
|
13795
|
+
from {
|
|
13796
|
+
opacity: 0;
|
|
13797
|
+
filter: blur(2px);
|
|
13798
|
+
transform: translateY(4px);
|
|
13799
|
+
}
|
|
13800
|
+
to {
|
|
13801
|
+
opacity: 1;
|
|
13802
|
+
filter: blur(0);
|
|
13803
|
+
transform: translateY(0);
|
|
13804
|
+
}
|
|
13805
|
+
}
|
|
13806
|
+
|
|
13807
|
+
@keyframes cpk-playground-thinking {
|
|
13808
|
+
0%,
|
|
13809
|
+
60%,
|
|
13810
|
+
100% {
|
|
13811
|
+
opacity: 0.28;
|
|
13812
|
+
transform: translateY(0);
|
|
13813
|
+
}
|
|
13814
|
+
30% {
|
|
13815
|
+
opacity: 1;
|
|
13816
|
+
transform: translateY(-2px);
|
|
13817
|
+
}
|
|
13818
|
+
}
|
|
13819
|
+
|
|
13820
|
+
.cpk-playground-root {
|
|
13821
|
+
container-type: inline-size;
|
|
13822
|
+
background: #fbfbfd !important;
|
|
13823
|
+
}
|
|
13824
|
+
|
|
13825
|
+
.cpk-playground-header {
|
|
13826
|
+
min-height: 58px;
|
|
13827
|
+
background: #f7f6fd !important;
|
|
13828
|
+
}
|
|
13829
|
+
|
|
13830
|
+
.cpk-playground-welcome {
|
|
13831
|
+
max-width: 560px;
|
|
13832
|
+
padding: 24px;
|
|
13833
|
+
}
|
|
13834
|
+
|
|
13835
|
+
.cpk-playground-welcome-title {
|
|
13836
|
+
color: #24242b;
|
|
13837
|
+
font-size: 15px;
|
|
13838
|
+
font-weight: 600;
|
|
13839
|
+
letter-spacing: -0.015em;
|
|
13840
|
+
}
|
|
13841
|
+
|
|
13842
|
+
.cpk-playground-composer {
|
|
13843
|
+
border: 1px solid #dcdce8;
|
|
13844
|
+
box-shadow: 0 8px 22px rgba(31, 23, 57, 0.08),
|
|
13845
|
+
0 1px 2px rgba(31, 23, 57, 0.1);
|
|
13846
|
+
}
|
|
13847
|
+
|
|
13848
|
+
.cpk-playground-composer:focus-within {
|
|
13849
|
+
border-color: #aaa4d4;
|
|
13850
|
+
box-shadow: 0 10px 26px rgba(86, 53, 155, 0.13),
|
|
13851
|
+
0 0 0 3px rgba(190, 194, 255, 0.3);
|
|
13852
|
+
}
|
|
13853
|
+
|
|
13854
|
+
.inspector-window[data-color-scheme="dark"] .cpk-playground-root,
|
|
13855
|
+
.inspector-window[data-color-scheme="dark"] .cpk-playground-header {
|
|
13856
|
+
background: #15171e !important;
|
|
13857
|
+
}
|
|
13858
|
+
|
|
13859
|
+
.inspector-window[data-color-scheme="dark"]
|
|
13860
|
+
.cpk-playground-welcome-title {
|
|
13861
|
+
color: #f3f4f8 !important;
|
|
13862
|
+
}
|
|
13863
|
+
|
|
13864
|
+
.inspector-window[data-color-scheme="dark"] .cpk-playground-composer {
|
|
13865
|
+
border-color: #464957;
|
|
13866
|
+
background: #15171e !important;
|
|
13867
|
+
box-shadow: 0 8px 22px rgba(0, 0, 0, 0.26),
|
|
13868
|
+
0 1px 2px rgba(0, 0, 0, 0.36);
|
|
13869
|
+
}
|
|
13870
|
+
|
|
13871
|
+
.inspector-window[data-color-scheme="dark"]
|
|
13872
|
+
.cpk-playground-composer:focus-within {
|
|
13873
|
+
border-color: #777aae;
|
|
13874
|
+
box-shadow: 0 10px 26px rgba(0, 0, 0, 0.34),
|
|
13875
|
+
0 0 0 3px rgba(102, 106, 158, 0.3);
|
|
13876
|
+
}
|
|
13877
|
+
|
|
13878
|
+
.cpk-playground-message-enter {
|
|
13879
|
+
animation: cpk-playground-message-enter 0.24s cubic-bezier(0.16, 1, 0.3, 1)
|
|
13880
|
+
both;
|
|
13881
|
+
}
|
|
13882
|
+
|
|
13883
|
+
.cpk-playground-thinking-dot {
|
|
13884
|
+
animation: cpk-playground-thinking 1.2s ease-in-out infinite;
|
|
13885
|
+
}
|
|
13886
|
+
|
|
13887
|
+
.cpk-playground-thinking-dot:nth-child(2) {
|
|
13888
|
+
animation-delay: 0.12s;
|
|
13889
|
+
}
|
|
13890
|
+
|
|
13891
|
+
.cpk-playground-thinking-dot:nth-child(3) {
|
|
13892
|
+
animation-delay: 0.24s;
|
|
13893
|
+
}
|
|
13894
|
+
|
|
13895
|
+
.cpk-playground-reasoning summary::-webkit-details-marker {
|
|
13896
|
+
display: none;
|
|
13897
|
+
}
|
|
13898
|
+
|
|
13899
|
+
.cpk-playground-reasoning[open]
|
|
13900
|
+
.cpk-playground-reasoning-chevron {
|
|
13901
|
+
transform: rotate(90deg);
|
|
13902
|
+
}
|
|
13903
|
+
|
|
13904
|
+
@container (max-width: 560px) {
|
|
13905
|
+
.cpk-playground-header {
|
|
13906
|
+
align-items: stretch;
|
|
13907
|
+
}
|
|
13908
|
+
|
|
13909
|
+
.cpk-playground-actions {
|
|
13910
|
+
width: 100%;
|
|
13911
|
+
}
|
|
13912
|
+
|
|
13913
|
+
.cpk-playground-thread-select {
|
|
13914
|
+
min-width: 0;
|
|
13915
|
+
max-width: none;
|
|
13916
|
+
flex: 1;
|
|
13917
|
+
}
|
|
13918
|
+
}
|
|
13919
|
+
|
|
13920
|
+
@media (prefers-reduced-motion: reduce) {
|
|
13921
|
+
.cpk-playground-message-enter,
|
|
13922
|
+
.cpk-playground-thinking-dot {
|
|
13923
|
+
animation: none;
|
|
13924
|
+
}
|
|
13925
|
+
}
|
|
13926
|
+
|
|
14562
13927
|
.rounded-sm {
|
|
14563
13928
|
border-radius: 3px;
|
|
14564
13929
|
}
|
|
@@ -14594,8 +13959,8 @@ ${prettyEvent}</pre
|
|
|
14594
13959
|
the two cannot drift apart. A dark grey rather than near-black: the
|
|
14595
13960
|
launcher sits on a customer's page, and 1,5,7 against white is a
|
|
14596
13961
|
harder edge than this surface needs. */
|
|
14597
|
-
--cpk-launcher-face: rgba(28, 31,
|
|
14598
|
-
--cpk-launcher-face-solid: rgb(28, 31
|
|
13962
|
+
--cpk-launcher-face: rgba(24, 28, 31, 0.95);
|
|
13963
|
+
--cpk-launcher-face-solid: rgb(24, 28, 31);
|
|
14599
13964
|
--cpk-launcher-edge: rgba(190, 194, 255, 0.25);
|
|
14600
13965
|
/* The launcher's own size, exposed so the signal dot can be placed
|
|
14601
13966
|
against the OUTER rim with a length rather than a percentage.
|
|
@@ -14618,6 +13983,10 @@ ${prettyEvent}</pre
|
|
|
14618
13983
|
box-sizing: border-box;
|
|
14619
13984
|
transition:
|
|
14620
13985
|
transform 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
|
|
13986
|
+
scale 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
|
|
13987
|
+
background-color 200ms ease,
|
|
13988
|
+
border-color 200ms ease,
|
|
13989
|
+
box-shadow 200ms ease,
|
|
14621
13990
|
opacity 160ms ease;
|
|
14622
13991
|
}
|
|
14623
13992
|
|
|
@@ -14645,6 +14014,7 @@ ${prettyEvent}</pre
|
|
|
14645
14014
|
touch-action: none;
|
|
14646
14015
|
user-select: none;
|
|
14647
14016
|
z-index: 60;
|
|
14017
|
+
background: transparent;
|
|
14648
14018
|
}
|
|
14649
14019
|
|
|
14650
14020
|
.edge-resize-handle {
|
|
@@ -14779,18 +14149,77 @@ ${prettyEvent}</pre
|
|
|
14779
14149
|
flex-shrink: 0;
|
|
14780
14150
|
transition:
|
|
14781
14151
|
background-color 0.15s,
|
|
14782
|
-
border-color 0.15s
|
|
14152
|
+
border-color 0.15s,
|
|
14153
|
+
color 0.15s;
|
|
14783
14154
|
}
|
|
14784
14155
|
.cpk-copy-btn:hover {
|
|
14785
14156
|
background-color: #f0f0f4;
|
|
14786
14157
|
border-color: #afafb7;
|
|
14787
14158
|
}
|
|
14788
14159
|
|
|
14160
|
+
.inspector-window[data-color-scheme="dark"] .cpk-copy-btn {
|
|
14161
|
+
background: #191c24;
|
|
14162
|
+
border-color: #3a3d49;
|
|
14163
|
+
color: #f3f4f8;
|
|
14164
|
+
}
|
|
14165
|
+
|
|
14166
|
+
.inspector-window[data-color-scheme="dark"] .cpk-copy-btn:hover {
|
|
14167
|
+
background: #20232d;
|
|
14168
|
+
border-color: #57575b;
|
|
14169
|
+
}
|
|
14170
|
+
|
|
14171
|
+
.inspector-sidebar[data-icon-rail="true"]
|
|
14172
|
+
.inspector-sidebar-agent-scope
|
|
14173
|
+
[data-context-dropdown-root="true"]
|
|
14174
|
+
> div {
|
|
14175
|
+
left: 100%;
|
|
14176
|
+
margin-inline-start: 8px;
|
|
14177
|
+
}
|
|
14178
|
+
|
|
14179
|
+
.inspector-icon-rail-menu {
|
|
14180
|
+
transform-origin: left center;
|
|
14181
|
+
opacity: 0;
|
|
14182
|
+
visibility: hidden;
|
|
14183
|
+
pointer-events: none;
|
|
14184
|
+
transform: translateX(-8px) scale(0.96);
|
|
14185
|
+
transition:
|
|
14186
|
+
opacity 180ms ease,
|
|
14187
|
+
transform 180ms ease,
|
|
14188
|
+
visibility 180ms ease;
|
|
14189
|
+
}
|
|
14190
|
+
|
|
14191
|
+
.inspector-icon-rail-menu[data-open="true"] {
|
|
14192
|
+
opacity: 1;
|
|
14193
|
+
visibility: visible;
|
|
14194
|
+
pointer-events: auto;
|
|
14195
|
+
transform: translateX(0) scale(1);
|
|
14196
|
+
}
|
|
14197
|
+
|
|
14198
|
+
@media (prefers-reduced-motion: reduce) {
|
|
14199
|
+
.inspector-icon-rail-menu {
|
|
14200
|
+
transition: none;
|
|
14201
|
+
}
|
|
14202
|
+
}
|
|
14203
|
+
|
|
14204
|
+
.inspector-sidebar[data-icon-rail="true"]
|
|
14205
|
+
.inspector-sidebar-agent-scope
|
|
14206
|
+
[data-context-dropdown-root="true"]
|
|
14207
|
+
> div::before {
|
|
14208
|
+
content: "";
|
|
14209
|
+
position: absolute;
|
|
14210
|
+
inset-block: 0;
|
|
14211
|
+
inset-inline-end: 100%;
|
|
14212
|
+
width: 12px;
|
|
14213
|
+
}
|
|
14214
|
+
|
|
14789
14215
|
.cpk-section-header {
|
|
14790
14216
|
background: #e8edf5;
|
|
14791
14217
|
border-bottom: 1px solid rgba(0, 0, 0, 0.08);
|
|
14792
14218
|
padding: 10px 16px;
|
|
14793
14219
|
}
|
|
14220
|
+
.inspector-window[data-color-scheme="dark"] .cpk-section-header {
|
|
14221
|
+
border-bottom-color: #3a3d49;
|
|
14222
|
+
}
|
|
14794
14223
|
.cpk-section-header h4 {
|
|
14795
14224
|
font-size: 11px;
|
|
14796
14225
|
font-weight: 600;
|
|
@@ -15015,13 +14444,29 @@ ${prettyEvent}</pre
|
|
|
15015
14444
|
.console-button {
|
|
15016
14445
|
background-color: var(--cpk-launcher-face) !important;
|
|
15017
14446
|
border-color: var(--cpk-launcher-edge) !important;
|
|
14447
|
+
/* One hairline, not two. The border above is it; a second ring used to
|
|
14448
|
+
sit 1px outside as a box-shadow and hardcoded the lilac instead of
|
|
14449
|
+
reading the --cpk-launcher-edge token, so it could not follow it.
|
|
14450
|
+
What replaces it is a one-pixel light edge along the top, which is
|
|
14451
|
+
what keeps the face from reading flat without drawing a frame.
|
|
14452
|
+
|
|
14453
|
+
The border is not decoration: the face is #181C1F, which against a
|
|
14454
|
+
dark host page (GitHub dark 1.10:1, Tailwind slate-900 1.04:1) is
|
|
14455
|
+
indistinguishable from the page. It is the only thing that gives the
|
|
14456
|
+
launcher an outline there, so it stays. */
|
|
15018
14457
|
box-shadow:
|
|
15019
|
-
|
|
14458
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.07),
|
|
15020
14459
|
0 4px 14px rgba(1, 5, 7, 0.28) !important;
|
|
14460
|
+
/* Promotes the launcher to its own compositing layer, which the
|
|
14461
|
+
backdrop-filter this replaces used to do as a side effect. Without
|
|
14462
|
+
a layer the hover scale re-rasterises the mark every frame and it
|
|
14463
|
+
visibly jitters; with one, the compositor scales it as a texture. */
|
|
14464
|
+
will-change: transform;
|
|
15021
14465
|
}
|
|
15022
14466
|
.console-button:hover {
|
|
15023
14467
|
background-color: var(--cpk-launcher-face-solid) !important;
|
|
15024
14468
|
border-color: rgba(190, 194, 255, 0.45) !important;
|
|
14469
|
+
transform: scale(1.05);
|
|
15025
14470
|
}
|
|
15026
14471
|
.console-button:focus-visible {
|
|
15027
14472
|
outline-color: #bec2ff !important;
|
|
@@ -15143,8 +14588,23 @@ ${prettyEvent}</pre
|
|
|
15143
14588
|
width: 19%;
|
|
15144
14589
|
height: 19%;
|
|
15145
14590
|
border-radius: 50%;
|
|
15146
|
-
|
|
15147
|
-
|
|
14591
|
+
/* Lit from the upper left and shaded at the lower right, so the dot
|
|
14592
|
+
reads as a lens rather than a flat disc. Both stops are derived from
|
|
14593
|
+
the signal colour, so a new tone needs no new values. */
|
|
14594
|
+
background: radial-gradient(
|
|
14595
|
+
circle at 32% 28%,
|
|
14596
|
+
color-mix(in srgb, var(--cpk-launcher-signal), white 40%) 0%,
|
|
14597
|
+
var(--cpk-launcher-signal) 60%,
|
|
14598
|
+
color-mix(in srgb, var(--cpk-launcher-signal), black 20%) 100%
|
|
14599
|
+
);
|
|
14600
|
+
/* Replaces an opaque 1.5px collar in the launcher's own face. That
|
|
14601
|
+
collar was 21% of the dot's footprint, and because the dot's centre
|
|
14602
|
+
sits *on* the rim, its outer half painted a hard dark crescent onto
|
|
14603
|
+
the host page rather than onto the launcher. A hairline plus a soft
|
|
14604
|
+
drop does the same separating job without the hard edge. */
|
|
14605
|
+
box-shadow:
|
|
14606
|
+
0 0 0 0.5px rgba(1, 5, 7, 0.4),
|
|
14607
|
+
0 1px 2.5px rgba(1, 5, 7, 0.5);
|
|
15148
14608
|
}
|
|
15149
14609
|
|
|
15150
14610
|
/* ── Launcher pill: the launcher opens sideways and says what ─── */
|
|
@@ -15355,6 +14815,12 @@ ${prettyEvent}</pre
|
|
|
15355
14815
|
.cpk-launcher-signal-wash {
|
|
15356
14816
|
animation: none !important;
|
|
15357
14817
|
}
|
|
14818
|
+
.console-button {
|
|
14819
|
+
transition: opacity 160ms ease;
|
|
14820
|
+
}
|
|
14821
|
+
.console-button:hover {
|
|
14822
|
+
transform: none;
|
|
14823
|
+
}
|
|
15358
14824
|
}
|
|
15359
14825
|
|
|
15360
14826
|
/* ── Launcher HUD: hover menu, quieter than the error island ── */
|
|
@@ -15366,6 +14832,9 @@ ${prettyEvent}</pre
|
|
|
15366
14832
|
}
|
|
15367
14833
|
|
|
15368
14834
|
.cpk-launcher-hud {
|
|
14835
|
+
--hud-fill: var(--cpk-inspector-surface-dark);
|
|
14836
|
+
--hud-line: rgb(190 194 255 / 0.5);
|
|
14837
|
+
--hud-blur: blur(12px) saturate(1.2);
|
|
15369
14838
|
position: absolute;
|
|
15370
14839
|
top: 0;
|
|
15371
14840
|
z-index: 4;
|
|
@@ -15399,38 +14868,47 @@ ${prettyEvent}</pre
|
|
|
15399
14868
|
}
|
|
15400
14869
|
|
|
15401
14870
|
.cpk-launcher-hud__card {
|
|
15402
|
-
--hud-fill: rgb(28 31 36 / 0.88);
|
|
15403
|
-
--hud-line: rgb(190 194 255 / 0.5);
|
|
15404
14871
|
position: relative;
|
|
15405
14872
|
width: 228px;
|
|
15406
14873
|
padding: 4px;
|
|
15407
14874
|
border: 1px dotted var(--hud-line);
|
|
15408
|
-
border-radius:
|
|
14875
|
+
border-radius: var(--cpk-inspector-shell-radius);
|
|
15409
14876
|
background: var(--hud-fill);
|
|
15410
14877
|
color: #fff;
|
|
15411
|
-
backdrop-filter: blur
|
|
14878
|
+
backdrop-filter: var(--hud-blur);
|
|
14879
|
+
-webkit-backdrop-filter: var(--hud-blur);
|
|
15412
14880
|
box-shadow: 0 8px 20px rgb(1 5 7 / 0.18);
|
|
15413
14881
|
}
|
|
15414
14882
|
|
|
14883
|
+
.cpk-launcher-hud[data-color-scheme="light"] {
|
|
14884
|
+
--hud-fill: #fff;
|
|
14885
|
+
--hud-line: #d8d8e8;
|
|
14886
|
+
}
|
|
14887
|
+
|
|
14888
|
+
.cpk-launcher-hud[data-color-scheme="light"] .cpk-launcher-hud__card {
|
|
14889
|
+
color: #010507;
|
|
14890
|
+
}
|
|
14891
|
+
|
|
15415
14892
|
.cpk-launcher-hud__arrow {
|
|
15416
14893
|
position: absolute;
|
|
15417
14894
|
top: calc(var(--cpk-launcher-size) / 2);
|
|
14895
|
+
z-index: 1;
|
|
15418
14896
|
width: 10px;
|
|
15419
14897
|
height: 10px;
|
|
15420
|
-
|
|
14898
|
+
border: 0;
|
|
14899
|
+
/* The card frosts the page behind it, so it reads lighter than the
|
|
14900
|
+
raw fill. Mix a little white so the arrow matches the glass card
|
|
14901
|
+
without going lighter than the HUD. */
|
|
14902
|
+
background: color-mix(in srgb, var(--hud-fill) 88%, white 12%);
|
|
15421
14903
|
transform: translateY(-50%) rotate(45deg);
|
|
15422
14904
|
}
|
|
15423
14905
|
|
|
15424
14906
|
.cpk-launcher-hud[data-cpk-hud-side="left"] .cpk-launcher-hud__arrow {
|
|
15425
|
-
right:
|
|
15426
|
-
border-top: 1px solid var(--hud-line);
|
|
15427
|
-
border-right: 1px solid var(--hud-line);
|
|
14907
|
+
right: 9px;
|
|
15428
14908
|
}
|
|
15429
14909
|
|
|
15430
14910
|
.cpk-launcher-hud[data-cpk-hud-side="right"] .cpk-launcher-hud__arrow {
|
|
15431
|
-
left:
|
|
15432
|
-
border-bottom: 1px solid var(--hud-line);
|
|
15433
|
-
border-left: 1px solid var(--hud-line);
|
|
14911
|
+
left: 9px;
|
|
15434
14912
|
}
|
|
15435
14913
|
|
|
15436
14914
|
.cpk-launcher-hud__list {
|
|
@@ -15464,6 +14942,12 @@ ${prettyEvent}</pre
|
|
|
15464
14942
|
background: rgb(255 255 255 / 0.06);
|
|
15465
14943
|
}
|
|
15466
14944
|
|
|
14945
|
+
.cpk-launcher-hud[data-color-scheme="light"] .cpk-launcher-hud__row:hover,
|
|
14946
|
+
.cpk-launcher-hud[data-color-scheme="light"] .cpk-launcher-hud__row:focus-within,
|
|
14947
|
+
.cpk-launcher-hud[data-color-scheme="light"] .cpk-launcher-hud__row[data-cpk-hud-help="open"] {
|
|
14948
|
+
background: #f0f0f4;
|
|
14949
|
+
}
|
|
14950
|
+
|
|
15467
14951
|
.cpk-launcher-hud__action {
|
|
15468
14952
|
display: flex;
|
|
15469
14953
|
gap: 8px;
|
|
@@ -15481,6 +14965,10 @@ ${prettyEvent}</pre
|
|
|
15481
14965
|
cursor: pointer;
|
|
15482
14966
|
}
|
|
15483
14967
|
|
|
14968
|
+
.cpk-launcher-hud[data-color-scheme="light"] .cpk-launcher-hud__action {
|
|
14969
|
+
color: #010507;
|
|
14970
|
+
}
|
|
14971
|
+
|
|
15484
14972
|
/* Stretch the row action over the whole tab, including the detail
|
|
15485
14973
|
copy. The help mark sits above this layer. */
|
|
15486
14974
|
.cpk-launcher-hud__action::after {
|
|
@@ -15524,6 +15012,10 @@ ${prettyEvent}</pre
|
|
|
15524
15012
|
line-height: 1;
|
|
15525
15013
|
}
|
|
15526
15014
|
|
|
15015
|
+
.cpk-launcher-hud[data-color-scheme="light"] .cpk-launcher-hud__help {
|
|
15016
|
+
color: #68686e;
|
|
15017
|
+
}
|
|
15018
|
+
|
|
15527
15019
|
.cpk-launcher-hud__help:focus-visible,
|
|
15528
15020
|
.cpk-launcher-hud__action:focus-visible {
|
|
15529
15021
|
outline: 2px solid #bec2ff;
|
|
@@ -15550,6 +15042,10 @@ ${prettyEvent}</pre
|
|
|
15550
15042
|
padding-bottom 200ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
15551
15043
|
}
|
|
15552
15044
|
|
|
15045
|
+
.cpk-launcher-hud[data-color-scheme="light"] .cpk-launcher-hud__detail {
|
|
15046
|
+
color: #68686e;
|
|
15047
|
+
}
|
|
15048
|
+
|
|
15553
15049
|
.cpk-launcher-hud__row:hover .cpk-launcher-hud__detail,
|
|
15554
15050
|
.cpk-launcher-hud__row:focus-within .cpk-launcher-hud__detail,
|
|
15555
15051
|
.cpk-launcher-hud__row[data-cpk-hud-help="open"] .cpk-launcher-hud__detail {
|
|
@@ -15566,6 +15062,103 @@ ${prettyEvent}</pre
|
|
|
15566
15062
|
}
|
|
15567
15063
|
}
|
|
15568
15064
|
|
|
15065
|
+
/*
|
|
15066
|
+
* On mount, borrow the hover HUD for one short introduction. The card
|
|
15067
|
+
* establishes the destination first; its rows then resolve in order so
|
|
15068
|
+
* the eye can count the available features instead of receiving one
|
|
15069
|
+
* undifferentiated block. Only opacity and transform move.
|
|
15070
|
+
*/
|
|
15071
|
+
@keyframes cpk-launcher-hud-intro {
|
|
15072
|
+
0% {
|
|
15073
|
+
opacity: 0;
|
|
15074
|
+
transform: translateX(8px);
|
|
15075
|
+
}
|
|
15076
|
+
8%,
|
|
15077
|
+
88% {
|
|
15078
|
+
opacity: 1;
|
|
15079
|
+
transform: none;
|
|
15080
|
+
}
|
|
15081
|
+
100% {
|
|
15082
|
+
opacity: 0;
|
|
15083
|
+
transform: translateX(4px);
|
|
15084
|
+
}
|
|
15085
|
+
}
|
|
15086
|
+
|
|
15087
|
+
@keyframes cpk-launcher-hud-intro-right {
|
|
15088
|
+
0% {
|
|
15089
|
+
opacity: 0;
|
|
15090
|
+
transform: translateX(-8px);
|
|
15091
|
+
}
|
|
15092
|
+
8%,
|
|
15093
|
+
88% {
|
|
15094
|
+
opacity: 1;
|
|
15095
|
+
transform: none;
|
|
15096
|
+
}
|
|
15097
|
+
100% {
|
|
15098
|
+
opacity: 0;
|
|
15099
|
+
transform: translateX(-4px);
|
|
15100
|
+
}
|
|
15101
|
+
}
|
|
15102
|
+
|
|
15103
|
+
@keyframes cpk-launcher-hud-row-online {
|
|
15104
|
+
from {
|
|
15105
|
+
opacity: 0;
|
|
15106
|
+
transform: translateY(4px);
|
|
15107
|
+
}
|
|
15108
|
+
to {
|
|
15109
|
+
opacity: 1;
|
|
15110
|
+
transform: none;
|
|
15111
|
+
}
|
|
15112
|
+
}
|
|
15113
|
+
|
|
15114
|
+
@keyframes cpk-launcher-hud-check-online {
|
|
15115
|
+
from {
|
|
15116
|
+
opacity: 0;
|
|
15117
|
+
transform: scale(0.65);
|
|
15118
|
+
}
|
|
15119
|
+
to {
|
|
15120
|
+
opacity: 1;
|
|
15121
|
+
transform: scale(1);
|
|
15122
|
+
}
|
|
15123
|
+
}
|
|
15124
|
+
|
|
15125
|
+
.cpk-launcher-hud[data-cpk-hud-intro="true"] {
|
|
15126
|
+
animation: cpk-launcher-hud-intro
|
|
15127
|
+
var(--cpk-launcher-hud-intro-duration)
|
|
15128
|
+
cubic-bezier(0.16, 1, 0.3, 1) both;
|
|
15129
|
+
}
|
|
15130
|
+
|
|
15131
|
+
.cpk-launcher-hud[data-cpk-hud-intro="true"][data-cpk-hud-side="right"] {
|
|
15132
|
+
animation-name: cpk-launcher-hud-intro-right;
|
|
15133
|
+
}
|
|
15134
|
+
|
|
15135
|
+
.cpk-launcher-hud[data-cpk-hud-intro="true"]
|
|
15136
|
+
.cpk-launcher-hud__row {
|
|
15137
|
+
animation: cpk-launcher-hud-row-online
|
|
15138
|
+
var(--cpk-launcher-hud-row-duration)
|
|
15139
|
+
cubic-bezier(0.16, 1, 0.3, 1) both;
|
|
15140
|
+
animation-delay: var(--cpk-hud-row-delay);
|
|
15141
|
+
}
|
|
15142
|
+
|
|
15143
|
+
.cpk-launcher-hud[data-cpk-hud-intro="true"]
|
|
15144
|
+
.cpk-launcher-hud__check {
|
|
15145
|
+
animation: cpk-launcher-hud-check-online 220ms
|
|
15146
|
+
cubic-bezier(0.16, 1, 0.3, 1) both;
|
|
15147
|
+
animation-delay: calc(var(--cpk-hud-row-delay) + 90ms);
|
|
15148
|
+
}
|
|
15149
|
+
|
|
15150
|
+
@media (prefers-reduced-motion: reduce) {
|
|
15151
|
+
.cpk-launcher-hud[data-cpk-hud-intro="true"],
|
|
15152
|
+
.cpk-launcher-hud[data-cpk-hud-intro="true"]
|
|
15153
|
+
.cpk-launcher-hud__row,
|
|
15154
|
+
.cpk-launcher-hud[data-cpk-hud-intro="true"]
|
|
15155
|
+
.cpk-launcher-hud__check {
|
|
15156
|
+
animation: none !important;
|
|
15157
|
+
opacity: 1;
|
|
15158
|
+
transform: none;
|
|
15159
|
+
}
|
|
15160
|
+
}
|
|
15161
|
+
|
|
15569
15162
|
/*
|
|
15570
15163
|
* Marker on the navigation entry, which is what keeps a signal alive
|
|
15571
15164
|
* once the panel is open and the launcher is hidden. Static by design:
|
|
@@ -15592,7 +15185,7 @@ ${prettyEvent}</pre
|
|
|
15592
15185
|
/* ── Inspector window ────────────────────────────────────────── */
|
|
15593
15186
|
.inspector-window {
|
|
15594
15187
|
border: 1px solid #d8d8e8 !important;
|
|
15595
|
-
border-radius:
|
|
15188
|
+
border-radius: var(--cpk-inspector-shell-radius) !important;
|
|
15596
15189
|
box-shadow: none !important;
|
|
15597
15190
|
}
|
|
15598
15191
|
|
|
@@ -15708,10 +15301,69 @@ ${prettyEvent}</pre
|
|
|
15708
15301
|
.inspector-sidebar[data-icon-rail="true"] .inspector-nav-control,
|
|
15709
15302
|
.inspector-sidebar[data-icon-rail="true"] .inspector-sidebar-control,
|
|
15710
15303
|
.inspector-sidebar[data-icon-rail="true"] .inspector-sidebar-toggle {
|
|
15304
|
+
box-sizing: border-box !important;
|
|
15305
|
+
width: 36px !important;
|
|
15306
|
+
height: 36px !important;
|
|
15307
|
+
min-width: 36px !important;
|
|
15308
|
+
min-height: 36px !important;
|
|
15711
15309
|
justify-content: center !important;
|
|
15712
15310
|
align-items: center !important;
|
|
15713
15311
|
gap: 0 !important;
|
|
15714
|
-
padding
|
|
15312
|
+
padding: 0 !important;
|
|
15313
|
+
overflow: visible !important;
|
|
15314
|
+
}
|
|
15315
|
+
.inspector-sidebar[data-icon-rail="true"] .inspector-nav-icon,
|
|
15316
|
+
.inspector-sidebar[data-icon-rail="true"] .inspector-nav-icon svg,
|
|
15317
|
+
.inspector-sidebar[data-icon-rail="true"]
|
|
15318
|
+
.inspector-context-dropdown-icon,
|
|
15319
|
+
.inspector-sidebar[data-icon-rail="true"]
|
|
15320
|
+
.inspector-context-dropdown-icon
|
|
15321
|
+
svg,
|
|
15322
|
+
.inspector-sidebar[data-icon-rail="true"] .inspector-agent-placeholder svg {
|
|
15323
|
+
width: 18px !important;
|
|
15324
|
+
height: 18px !important;
|
|
15325
|
+
overflow: visible !important;
|
|
15326
|
+
}
|
|
15327
|
+
.inspector-sidebar[data-icon-rail="true"]
|
|
15328
|
+
.inspector-agent-selector
|
|
15329
|
+
> [data-context-dropdown-root="true"] {
|
|
15330
|
+
display: flex !important;
|
|
15331
|
+
flex: none !important;
|
|
15332
|
+
width: 36px !important;
|
|
15333
|
+
min-width: 36px !important;
|
|
15334
|
+
max-width: 36px !important;
|
|
15335
|
+
justify-content: center !important;
|
|
15336
|
+
align-items: center !important;
|
|
15337
|
+
}
|
|
15338
|
+
.inspector-sidebar[data-icon-rail="true"]
|
|
15339
|
+
.inspector-agent-selector
|
|
15340
|
+
> [data-context-dropdown-root="true"]
|
|
15341
|
+
> button,
|
|
15342
|
+
.inspector-sidebar[data-icon-rail="true"] .inspector-agent-placeholder {
|
|
15343
|
+
display: flex !important;
|
|
15344
|
+
width: 36px !important;
|
|
15345
|
+
height: 36px !important;
|
|
15346
|
+
min-width: 36px !important;
|
|
15347
|
+
min-height: 36px !important;
|
|
15348
|
+
max-width: 36px !important;
|
|
15349
|
+
align-items: center !important;
|
|
15350
|
+
justify-content: center !important;
|
|
15351
|
+
gap: 0 !important;
|
|
15352
|
+
padding: 0 !important;
|
|
15353
|
+
transition:
|
|
15354
|
+
background-color 180ms ease,
|
|
15355
|
+
border-color 180ms ease,
|
|
15356
|
+
color 180ms ease !important;
|
|
15357
|
+
}
|
|
15358
|
+
.inspector-sidebar[data-icon-rail="true"]
|
|
15359
|
+
.inspector-context-dropdown-label,
|
|
15360
|
+
.inspector-sidebar[data-icon-rail="true"]
|
|
15361
|
+
.inspector-context-dropdown-chevron {
|
|
15362
|
+
display: none !important;
|
|
15363
|
+
width: 0 !important;
|
|
15364
|
+
min-width: 0 !important;
|
|
15365
|
+
flex: none !important;
|
|
15366
|
+
overflow: hidden !important;
|
|
15715
15367
|
}
|
|
15716
15368
|
.inspector-sidebar[data-icon-rail="true"] .inspector-nav-label,
|
|
15717
15369
|
.inspector-sidebar[data-icon-rail="true"] .inspector-sidebar-label {
|
|
@@ -15907,6 +15559,16 @@ ${prettyEvent}</pre
|
|
|
15907
15559
|
defineElementOnce(registry, "cpk-memory-list", CpkMemoryList);
|
|
15908
15560
|
defineElementOnce(registry, WEB_INSPECTOR_TAG, WebInspectorElement);
|
|
15909
15561
|
}
|
|
15562
|
+
/**
|
|
15563
|
+
* Bind a host-owned core before an Inspector is connected to the DOM. Disabling
|
|
15564
|
+
* auto-attachment first prevents `connectedCallback` from briefly selecting a
|
|
15565
|
+
* different global core.
|
|
15566
|
+
*/
|
|
15567
|
+
function configureWebInspectorElement(inspector, core) {
|
|
15568
|
+
inspector.autoAttachCore = false;
|
|
15569
|
+
inspector.core = core;
|
|
15570
|
+
return inspector;
|
|
15571
|
+
}
|
|
15910
15572
|
defineWebInspector();
|
|
15911
15573
|
|
|
15912
15574
|
//#endregion
|
|
@@ -15914,10 +15576,8 @@ exports.CpkThreadInspector = CpkThreadInspector;
|
|
|
15914
15576
|
exports.THREAD_INSPECTOR_TAG = THREAD_INSPECTOR_TAG;
|
|
15915
15577
|
exports.WEB_INSPECTOR_TAG = WEB_INSPECTOR_TAG;
|
|
15916
15578
|
exports.WebInspectorElement = WebInspectorElement;
|
|
15917
|
-
exports.
|
|
15918
|
-
exports.compileFromActivityMessage = compileFromActivityMessage;
|
|
15579
|
+
exports.configureWebInspectorElement = configureWebInspectorElement;
|
|
15919
15580
|
exports.defineWebInspector = defineWebInspector;
|
|
15920
|
-
exports.upsertEventSnippet = upsertEventSnippet;
|
|
15921
15581
|
exports.ɵCpkThreadDetails = ɵCpkThreadDetails;
|
|
15922
15582
|
exports.ɵbuildCapabilityRows = buildCapabilityRows;
|
|
15923
15583
|
exports.ɵmaxRecallScore = maxRecallScore;
|