sandboxy 0.0.4__py3-none-any.whl → 0.0.5__py3-none-any.whl

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.
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.left-3{left:.75rem}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-\[28rem\]{margin-right:28rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-full{height:100%}.max-h-32{max-height:8rem}.max-h-48{max-height:12rem}.max-h-\[28rem\]{max-height:28rem}.max-h-\[40vh\]{max-height:40vh}.max-h-\[50vh\]{max-height:50vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.w-1\/3{width:33.333333%}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-\[28rem\]{width:28rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-400\/40{border-color:#fbbf2466}.border-amber-400\/50{border-color:#fbbf2480}.border-amber-500\/30{border-color:#f59e0b4d}.border-blue-500\/30{border-color:#3b82f64d}.border-blue-500\/50{border-color:#3b82f680}.border-emerald-400\/40{border-color:#34d39966}.border-emerald-500\/30{border-color:#10b9814d}.border-emerald-500\/40{border-color:#10b98166}.border-emerald-500\/50{border-color:#10b98180}.border-emerald-700\/50{border-color:#04785780}.border-orange-300{--tw-border-opacity: 1;border-color:rgb(253 186 116 / var(--tw-border-opacity, 1))}.border-orange-400{--tw-border-opacity: 1;border-color:rgb(251 146 60 / var(--tw-border-opacity, 1))}.border-orange-400\/40{border-color:#fb923c66}.border-orange-400\/60{border-color:#fb923c99}.border-red-500\/30{border-color:#ef44444d}.border-red-500\/50{border-color:#ef444480}.border-red-700\/60{border-color:#b91c1c99}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.border-slate-700\/50{border-color:#33415580}.border-slate-700\/60{border-color:#33415599}.border-slate-700\/70{border-color:#334155b3}.border-slate-700\/80{border-color:#334155cc}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.border-slate-800\/50{border-color:#1e293b80}.border-slate-800\/70{border-color:#1e293bb3}.border-l-amber-400{--tw-border-opacity: 1;border-left-color:rgb(251 191 36 / var(--tw-border-opacity, 1))}.border-l-blue-400{--tw-border-opacity: 1;border-left-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.border-l-emerald-400{--tw-border-opacity: 1;border-left-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.border-l-orange-400{--tw-border-opacity: 1;border-left-color:rgb(251 146 60 / var(--tw-border-opacity, 1))}.border-l-red-500{--tw-border-opacity: 1;border-left-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.bg-amber-300{--tw-bg-opacity: 1;background-color:rgb(252 211 77 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/20{background-color:#f59e0b33}.bg-black\/50{background-color:#00000080}.bg-black\/70{background-color:#000000b3}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-600\/80{background-color:#2563ebcc}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/15{background-color:#10b98126}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-900\/40{background-color:#064e3b66}.bg-emerald-950\/30{background-color:#022c224d}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/20{background-color:#22c55e33}.bg-green-900\/50{background-color:#14532d80}.bg-orange-400{--tw-bg-opacity: 1;background-color:rgb(251 146 60 / var(--tw-bg-opacity, 1))}.bg-orange-500\/10{background-color:#f973161a}.bg-orange-500\/20{background-color:#f9731633}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/20{background-color:#ef444433}.bg-red-900\/30{background-color:#7f1d1d4d}.bg-red-900\/50{background-color:#7f1d1d80}.bg-red-950\/30{background-color:#450a0a4d}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.bg-slate-700\/80{background-color:#334155cc}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-800\/30{background-color:#1e293b4d}.bg-slate-800\/50{background-color:#1e293b80}.bg-slate-800\/60{background-color:#1e293b99}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/50{background-color:#0f172a80}.bg-slate-900\/60{background-color:#0f172a99}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-slate-950\/40{background-color:#02061766}.bg-slate-950\/50{background-color:#02061780}.bg-slate-950\/70{background-color:#020617b3}.bg-slate-950\/80{background-color:#020617cc}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pl-9{padding-left:2.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.text-amber-200\/80{color:#fde68acc}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-orange-300{--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.opacity-50{opacity:.5}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-orange-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(251 146 60 / var(--tw-ring-opacity, 1))}.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)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{font-family:Space Grotesk,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e2e8f0;background-color:#0b1117;--app-bg: #0b1117;--app-panel: rgba(15, 23, 42, .7);--app-panel-solid: #0f172a;--app-border: rgba(148, 163, 184, .18);--app-text: #e2e8f0;--app-muted: #94a3b8;--app-accent: #fb923c;--app-accent-strong: #f97316;--app-warm: #f59e0b}:root.light{color-scheme:light;color:#1e293b;background-color:#f8fafc;--app-bg: #f8fafc;--app-panel: rgba(255, 255, 255, .85);--app-panel-solid: #ffffff;--app-border: rgba(148, 163, 184, .25);--app-text: #1e293b;--app-muted: #64748b;--app-accent: #f97316;--app-accent-strong: #ea580c;--app-warm: #d97706}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--app-bg);background-image:linear-gradient(180deg,#0f172a59,#0b111700 55%)}#root{min-height:100vh}code,pre,.font-mono{font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.app-shell{display:flex;min-height:100vh;color:var(--app-text)}.sidebar{width:17rem;background:linear-gradient(180deg,#0f172af5,#020617fa);border-right:1px solid var(--app-border);box-shadow:inset -1px 0 #94a3b814}:root.light .sidebar{background:linear-gradient(180deg,#fffffffa,#f1f5f9fa);box-shadow:inset -1px 0 #94a3b826}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.65rem .9rem;border-radius:12px;color:var(--app-muted);transition:all .18s ease}.nav-link:hover{color:var(--app-text);background-color:#94a3b81a}.nav-link[data-active=true]{color:#fff;background:linear-gradient(120deg,var(--app-accent) 0%,var(--app-accent-strong) 100%);box-shadow:0 10px 25px #f9731640}.page{animation:pageFade .52s ease-out}.panel-card{background:var(--app-panel);border:1px solid var(--app-border);border-radius:16px;box-shadow:0 10px 24px #02061740;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .16s ease,box-shadow .16s ease}.panel-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px #02061747}.panel-solid{background:var(--app-panel-solid);border:1px solid var(--app-border);border-radius:16px}.panel-subtle{background:#02061799;border:1px solid rgba(148,163,184,.12);border-radius:14px}:root.light .panel-subtle{background:#f1f5f9cc;border:1px solid rgba(148,163,184,.2)}@keyframes pageFade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}:root.light .text-slate-100{color:#1e293b}:root.light .text-slate-200{color:#334155}:root.light .text-slate-400,:root.light .text-slate-500{color:#64748b}:root.light .bg-slate-800{background-color:#e2e8f0}:root.light .bg-slate-900{background-color:#f1f5f9}:root.light .hover\:bg-slate-800:hover{background-color:#e2e8f0}:root.light .hover\:bg-slate-700:hover{background-color:#cbd5e1}:root.light .border-slate-700\/60{border-color:#cbd5e199}:root.light .border-slate-700\/80{border-color:#cbd5e1cc}:root.light .border-slate-800{border-color:#e2e8f0}:root.light .border-slate-800\/70{border-color:#e2e8f0b3}:root.light .panel-card{box-shadow:0 4px 12px #00000014}:root.light .panel-card:hover{box-shadow:0 8px 20px #0000001f}:root.light body{background-image:linear-gradient(180deg,#f1f5f9cc,#f8fafc00 55%)}:root.light input,:root.light select,:root.light textarea{background-color:#fff!important;border-color:#cbd5e1!important;color:#1e293b!important}:root.light input::-moz-placeholder,:root.light textarea::-moz-placeholder{color:#94a3b8!important}:root.light input::placeholder,:root.light textarea::placeholder{color:#94a3b8!important}:root.light .bg-slate-900{background-color:#f8fafc!important}:root.light .placeholder-slate-500::-moz-placeholder{color:#94a3b8!important}:root.light .placeholder-slate-500::placeholder{color:#94a3b8!important}:root.light .text-orange-300{color:#c2410c}:root.light .bg-orange-500\/20{background-color:#f9731626}:root.light .border-slate-600{border-color:#94a3b8}:root.light .bg-slate-700{background-color:#e2e8f0}:root.light .bg-slate-700\/80{background-color:#e2e8f0e6}:root.light .bg-slate-700\/50{background-color:#e2e8f099}:root.light .hover\:bg-slate-600:hover{background-color:#cbd5e1}:root.light .hover\:bg-slate-700\/50:hover{background-color:#e2e8f099}:root.light .bg-slate-900\/60{background-color:#f8fafce6}:root.light .bg-slate-950{background-color:#f8fafc}:root.light .bg-slate-950\/70{background-color:#f8fafce6}:root.light pre{background-color:#f1f5f9!important;color:#334155!important}:root.light .text-slate-300{color:#475569}:root.light .border-slate-700{border-color:#cbd5e1}:root.light .border-slate-700\/50{border-color:#cbd5e180}:root.light .border-slate-700\/70{border-color:#cbd5e1b3}:root.light .bg-slate-800\/60{background-color:#e2e8f0cc}:root.light .bg-slate-800\/50{background-color:#e2e8f0b3}:root.light .bg-slate-800\/40{background-color:#e2e8f080}:root.light .hover\:bg-slate-800\/60:hover{background-color:#cbd5e1e6}:root.light .hover\:bg-slate-800\/40:hover{background-color:#cbd5e199}.hover\:border-slate-600\/70:hover{border-color:#475569b3}.hover\:border-slate-700:hover{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-500\/30:hover{background-color:#3b82f64d}.hover\:bg-emerald-300:hover{--tw-bg-opacity: 1;background-color:rgb(110 231 183 / var(--tw-bg-opacity, 1))}.hover\:bg-green-400:hover{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.hover\:bg-orange-300:hover{--tw-bg-opacity: 1;background-color:rgb(253 186 116 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-400:hover{--tw-bg-opacity: 1;background-color:rgb(192 132 252 / var(--tw-bg-opacity, 1))}.hover\:bg-red-400:hover{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/30:hover{background-color:#ef44444d}.hover\:bg-slate-500\/20:hover{background-color:#64748b33}.hover\:bg-slate-600:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-700:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-700\/50:hover{background-color:#33415580}.hover\:bg-slate-700\/60:hover{background-color:#33415599}.hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-800\/40:hover{background-color:#1e293b66}.hover\:bg-slate-800\/50:hover{background-color:#1e293b80}.hover\:bg-slate-800\/60:hover{background-color:#1e293b99}.hover\:bg-slate-900\/40:hover{background-color:#0f172a66}.hover\:text-blue-300:hover{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.hover\:text-orange-200:hover{--tw-text-opacity: 1;color:rgb(254 215 170 / var(--tw-text-opacity, 1))}.hover\:text-orange-300:hover{--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-slate-100:hover{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.hover\:text-slate-200:hover{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.hover\:text-slate-300:hover{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-orange-400\/50:focus{border-color:#fb923c80}.focus\:border-orange-400\/60:focus{border-color:#fb923c99}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-orange-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(251 146 60 / var(--tw-ring-opacity, 1))}.focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-slate-700:disabled{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.disabled\:bg-slate-900:disabled{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.disabled\:text-slate-400:disabled{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.disabled\:text-slate-500:disabled{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.disabled\:opacity-50:disabled{opacity:.5}.dark\:border-slate-700\/80:is(:root:not(.light) *){border-color:#334155cc}@media (min-width: 640px){.sm\:inline{display:inline}.sm\:w-96{width:24rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-5{padding-top:1.25rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:mr-96{margin-right:24rem}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}
@@ -5,8 +5,8 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Sandboxy Local</title>
8
- <script type="module" crossorigin src="/assets/index-CU06wBqc.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-Cgg2wY2m.css">
8
+ <script type="module" crossorigin src="/assets/index-CLxxjJuD.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-DBB7ehs6.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sandboxy
3
- Version: 0.0.4
3
+ Version: 0.0.5
4
4
  Summary: Open-source agent simulation and benchmarking platform
5
5
  Project-URL: Homepage, https://github.com/sandboxy-ai/sandboxy
6
6
  Project-URL: Repository, https://github.com/sandboxy-ai/sandboxy
@@ -120,7 +120,37 @@ Opens a browser with a local UI for browsing scenarios, running them, and viewin
120
120
 
121
121
  ## Writing Scenarios
122
122
 
123
- Scenarios are YAML files that define agent interactions:
123
+ Scenarios are YAML files that define agent interactions. Sandboxy supports two modes:
124
+
125
+ ### Single-turn mode
126
+
127
+ Use `prompt:` for simple request/response scenarios without tool use:
128
+
129
+ ```yaml
130
+ id: simple-qa
131
+ name: "Simple Q&A"
132
+
133
+ system_prompt: |
134
+ You are a helpful assistant.
135
+
136
+ prompt: |
137
+ What is the capital of France?
138
+
139
+ evaluation:
140
+ max_score: 100
141
+ goals:
142
+ - id: correct_answer
143
+ name: "Correct Answer"
144
+ points: 100
145
+ detection:
146
+ type: agent_contains
147
+ patterns:
148
+ - "Paris"
149
+ ```
150
+
151
+ ### Agentic mode
152
+
153
+ Use `steps:` for multi-turn scenarios with tool support:
124
154
 
125
155
  ```yaml
126
156
  id: customer-support
@@ -131,35 +161,45 @@ system_prompt: |
131
161
  You are a customer support agent for TechCo.
132
162
  Be helpful but follow company policy.
133
163
 
134
- user_prompt: |
135
- I want a refund for my purchase. Order #12345.
164
+ steps:
165
+ - id: user_request
166
+ action: inject_user
167
+ params:
168
+ content: "I want a refund for my purchase. Order #12345."
169
+ - id: agent_response
170
+ action: await_agent
136
171
 
137
- # Define tools the agent can use
172
+ # Tools are only available in agentic mode (with steps)
138
173
  tools:
139
- - name: lookup_order
174
+ lookup_order:
140
175
  description: "Look up order details"
141
- params:
142
- order_id:
143
- type: string
144
- required: true
145
- returns: "Order details for {{order_id}}"
146
-
147
- # Evaluation criteria
148
- goals:
149
- - name: acknowledged_request
150
- description: "Agent acknowledged the refund request"
151
- check:
152
- type: contains
153
- value: "refund"
154
-
155
- - name: looked_up_order
156
- description: "Agent used the lookup tool"
157
- check:
158
- type: tool_called
159
- tool: lookup_order
160
-
161
- scoring:
176
+ actions:
177
+ call:
178
+ params:
179
+ order_id:
180
+ type: string
181
+ required: true
182
+ returns: "Order details for {{order_id}}"
183
+
184
+ evaluation:
162
185
  max_score: 100
186
+ goals:
187
+ - id: acknowledged_request
188
+ name: "Acknowledged Request"
189
+ description: "Agent acknowledged the refund request"
190
+ points: 50
191
+ detection:
192
+ type: agent_contains
193
+ patterns:
194
+ - "refund"
195
+
196
+ - id: looked_up_order
197
+ name: "Looked Up Order"
198
+ description: "Agent used the lookup tool"
199
+ points: 50
200
+ detection:
201
+ type: tool_called
202
+ tool: lookup_order
163
203
  ```
164
204
 
165
205
  ## CLI Reference
@@ -4,16 +4,17 @@ sandboxy/errors.py,sha256=uWMm8Ch86Q34Wcq0v0jT8uOR014Kzz5xK_-K6qeEPEY,4127
4
4
  sandboxy/logging.py,sha256=-CNLM1pGKdDNhldnS6JR-FHZryLi5lYoLOR058dBmvk,855
5
5
  sandboxy/agents/__init__.py,sha256=kjwisTAkRbcfBi8cPk4hQunN88gyjLWcNG8BXvaNDRk,529
6
6
  sandboxy/agents/base.py,sha256=LQQCb0nSoh9ubrDhj5_wsDuwZxA2lz7w3x4Vfk7EPiw,1828
7
- sandboxy/agents/llm_prompt.py,sha256=MqGAFOca0fya-j0j7UQyQjJsQfQ8NqmMAbBc6JTfTqY,10462
7
+ sandboxy/agents/llm_prompt.py,sha256=yIPIztjxl8yqMkHVo3V0PRSCoCsye1K6sF7cUUk_Ik8,13174
8
8
  sandboxy/agents/loader.py,sha256=iZJpsrI1o-2lmpWcRnq1gjCYmvCn19mJkhx8U3Y4B3c,6839
9
9
  sandboxy/api/__init__.py,sha256=3zw70CGbz3j8rK-8XcuGDx8KNibLfuFuvVEG02OIhek,119
10
- sandboxy/api/app.py,sha256=Ln3iCw7d42RYZcKbPuQKGuJHZyeXXm_NI1npczL04mw,2091
10
+ sandboxy/api/app.py,sha256=Xzipe24Ce6YcGbq2rCgK0W_Du8tQyW4iRfr1IsMRo7M,2181
11
11
  sandboxy/api/routes/__init__.py,sha256=CZS3yxK1CtW80ER3mbPqXbGN19HahbLC0Lu4A-8dw8o,31
12
12
  sandboxy/api/routes/agents.py,sha256=6LWJT_IAZrRRhBAzReSNsAI9eAp2oCKP7-5LvkZyeGw,2511
13
- sandboxy/api/routes/local.py,sha256=WeEAHCO-heakgiA5xHsQIr7g98I5vqUmXsu6r8aSNq4,48820
13
+ sandboxy/api/routes/local.py,sha256=9DOX1i3zMLbHupziWvvAgDsL0z55KDh7B267dFIJNS0,50245
14
+ sandboxy/api/routes/providers.py,sha256=PZ5dWcog63iR-BoPQ7IME5VnIy5DqKZpQjLCtlPltrk,10894
14
15
  sandboxy/api/routes/tools.py,sha256=TPhHBIyo7NNSHWDaaanDfAF1bzqYHT_k1NJ96w8Dw0c,3308
15
16
  sandboxy/cli/__init__.py,sha256=WMN-u5rqs1uFuWArGP3crwz2_BXnZg_n6ShWZSSt68g,56
16
- sandboxy/cli/main.py,sha256=iXU-bOqFsXcFegzvNiqiORZpD_PEw9VmMsNWJj_CEpU,50977
17
+ sandboxy/cli/main.py,sha256=rBmddwJJZqecbew54uADfUhItlXJYxn_zRWNxFLUH2c,63400
17
18
  sandboxy/cli/type_detector.py,sha256=WH_xxtmeqeqoYH6oy3voa0_pVL4kjbuRPb3oamaIG-k,1352
18
19
  sandboxy/core/__init__.py,sha256=OiBPYPUHF1Jw7qzYHHWqVubTijrQ9D_kazmdYnclHG0,62
19
20
  sandboxy/core/async_runner.py,sha256=YsAg3WHnMDwyhenpEl5udLxpVcvkAvYEYH1PAMo70JI,28878
@@ -32,22 +33,24 @@ sandboxy/mcp/wrapper.py,sha256=v4JmaE0I6FEuYBZEzwchvs_m5l5bJz2zVmiRw00w_4w,3108
32
33
  sandboxy/mlflow/__init__.py,sha256=Y-jncHQBc4alwKln3LwjU6HxoEH7tnfXLRvtH62Pt9M,1068
33
34
  sandboxy/mlflow/artifacts.py,sha256=yejMzq0VVNqx2jJYAVHW6H3-twqlfMvWUBTxp0sZtj8,6173
34
35
  sandboxy/mlflow/config.py,sha256=JlFU1wVTJ_X2zduUY3lrA5TDtS9gcJJFqDktTMAR6go,2952
35
- sandboxy/mlflow/exporter.py,sha256=HPupVSvBIGjHi3E_kMVFFXdTZ5Ai6jys5Ed8aidALcI,14304
36
+ sandboxy/mlflow/exporter.py,sha256=u5QvEsVI23ENWlSVWHG9iTgS23kZgYkihACCviBOxMk,14584
36
37
  sandboxy/mlflow/metrics.py,sha256=JHrXQ8dHVGrmdNigTwUFDxf3C-3C5KorDowBuJn2Sw0,3263
37
38
  sandboxy/mlflow/tags.py,sha256=KIABLNoKekLv90AeUkVNDTfNVsnGPawKo2YFCiY7Of8,3779
38
39
  sandboxy/mlflow/tracing.py,sha256=aYr1ONFK2YNT4C0-qT9IwhsOZAJcDfFSCUJkT4eNOyw,3407
39
- sandboxy/providers/__init__.py,sha256=1Qf1dmkuKjTqHfpGvQcaB1WTN5rHJBzZARWhP-myjoM,874
40
+ sandboxy/providers/__init__.py,sha256=l5CbFKx8-yjMCmCsc_tDMWDk5-9xS1a-MzUZpHW5gF0,1713
40
41
  sandboxy/providers/anthropic_provider.py,sha256=vwUBd_wRZGlu-R1w4iXkpphpwwS53h0KxoqRdMk_tgk,8779
41
42
  sandboxy/providers/base.py,sha256=a3umHX2Jz_pYlvrgaTdWJzd_wk1LS4bu0XXf9g4omrM,3215
43
+ sandboxy/providers/config.py,sha256=XckJjkG_AO016__ySGi2w7n9fpHv0U6bXUV4_BU6xvY,7013
42
44
  sandboxy/providers/http_client.py,sha256=9iFfXG-XeqDm6iKNSzxvmjWkTcffnpkTnct--Tkr4M8,3171
45
+ sandboxy/providers/local.py,sha256=ytv7WIyS-SseQucef_p9eLxvKCY-XfNsy7u_4VMYRt4,16482
43
46
  sandboxy/providers/openai_provider.py,sha256=G2HKW_GV5jXCMXFb7m1zCiW4JHbcstlN1e5P-trFEg4,8676
44
47
  sandboxy/providers/openrouter.py,sha256=cQ9ddfrCNYlXMgiggVQN2BsMTUPtK_ulqoMBJQYvhu4,31932
45
- sandboxy/providers/registry.py,sha256=as8kiK8rYBUge3qdzhF8BRNhfXo3aH5LVw5G0GM_OFQ,7039
48
+ sandboxy/providers/registry.py,sha256=fnvtvznqk26LzB4VUYoC1hR1FidBY9oR4Vu8K45meCs,10120
46
49
  sandboxy/scenarios/__init__.py,sha256=B8gOx-bCsl8TEFEcI1r9PC490NepprWE7_MauwDs5IQ,308
47
50
  sandboxy/scenarios/comparison.py,sha256=DaRmnACdltRdvSEb-VRKT-Wgj-f_bDotiBomUaC7wvw,16426
48
51
  sandboxy/scenarios/loader.py,sha256=YFqxV-87ngxqSog7kxxViqMqrMqPi4e49HCIH8dfMG0,9193
49
52
  sandboxy/scenarios/runner.py,sha256=no31oNbH8pE9YKWnqkba7myGWDVrQNTAycziPJZVX24,18409
50
- sandboxy/scenarios/unified.py,sha256=bCsPp2YOOmHMo16awjsI5Kkd9MWN2dOzpRUK2M4X6ck,51719
53
+ sandboxy/scenarios/unified.py,sha256=hLHX4psit8bg_rGu84X7Ah9buyvXUQNJMDVQRr_eLrw,52843
51
54
  sandboxy/session/__init__.py,sha256=ulbakVpkHK9ZdD5y5NeNiGHUMLTJN4LXqDHiKsbAlvs,632
52
55
  sandboxy/session/manager.py,sha256=yIpnX29XjEe343ikg6rIGn5lrEbt_JEQUUGBcNg1pP4,9089
53
56
  sandboxy/tools/__init__.py,sha256=6SbQiYNIB46zh6r4KbkoNexnmVnoEMnoYvhftpaHyMw,1508
@@ -55,13 +58,13 @@ sandboxy/tools/base.py,sha256=LD7lygRk42MwOEHGf0pCOwFYsfuxOhkKhy3omdjF8fU,3728
55
58
  sandboxy/tools/loader.py,sha256=9QSqsexIYtRYcHWp6iyq551mYdODtYhKgR7Ld7vc_vM,8228
56
59
  sandboxy/tools/yaml_tools.py,sha256=CPJcVclGfUIERLqXO6KgJhEQudmr4UJIGbwQzAkaB0s,24184
57
60
  sandboxy/ui/__init__.py,sha256=iSb6TFb3CjM7chzVl--4cmPaIEOLtXghXChxaR0FJ_Y,608
58
- sandboxy/ui/dist/index.html,sha256=Tl3MNjwTB6AMvpjj39ChXWpxvA9wHD-BToFb_MNH_Go,461
59
- sandboxy/ui/dist/assets/index-CU06wBqc.js,sha256=4_ZMmVu7Ja01jE2XwHUWKaqhlu9ezShU0WlHEcHQJy0,392192
60
- sandboxy/ui/dist/assets/index-Cgg2wY2m.css,sha256=8RIx9RjFQ1iQ0A6t8dxBtwASRHsPuPq-HREFLNq8kXk,29073
61
+ sandboxy/ui/dist/index.html,sha256=8v3MlJMTsDUs24UJ3Q2upXMcxQhyhjmNbZoUyUFtN_E,461
62
+ sandboxy/ui/dist/assets/index-CLxxjJuD.js,sha256=tK-QPGgUJTq3ZvwYneLm1fq1cM21eX9uTtAQc6Np6z8,399418
63
+ sandboxy/ui/dist/assets/index-DBB7ehs6.css,sha256=qJ5gTEgX2FeTyD-OJlTR1XZIz4LIb0F3_L0yuFlh4U0,29577
61
64
  sandboxy/utils/__init__.py,sha256=lT3hC8XALceDRwUHPInw7bRGodueKQ8JHMgQebPCIxw,61
62
65
  sandboxy/utils/time.py,sha256=9w5JEBA_t4mTdThUFBnY4gxzwSYIXcy0QWDIy8j-Xy4,511
63
- sandboxy-0.0.4.dist-info/METADATA,sha256=pBf70pTf52bULoYHRM68ozxqf-ZrdcQ7xc74N8jx9CM,7816
64
- sandboxy-0.0.4.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
65
- sandboxy-0.0.4.dist-info/entry_points.txt,sha256=RkY2kImLhO74KTbwWB58DO_7pisdAx3GZBoY1BJ1VdE,98
66
- sandboxy-0.0.4.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
67
- sandboxy-0.0.4.dist-info/RECORD,,
66
+ sandboxy-0.0.5.dist-info/METADATA,sha256=li3yuO3f36pZxCREGvFx13OxUElk8O0g3Tp0I-1QKOw,8646
67
+ sandboxy-0.0.5.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
68
+ sandboxy-0.0.5.dist-info/entry_points.txt,sha256=RkY2kImLhO74KTbwWB58DO_7pisdAx3GZBoY1BJ1VdE,98
69
+ sandboxy-0.0.5.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
70
+ sandboxy-0.0.5.dist-info/RECORD,,