evals-lab 0.14.0 → 0.16.0
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/CHANGELOG.md +97 -0
- package/README.md +35 -14
- package/bin/evals-lab.js +8 -1
- package/bin/presets.js +234 -0
- package/lab/VERSION +1 -1
- package/lab/demo/manifest.json +2 -2
- package/lab/demo/pipelines/demo-1.json +105 -103
- package/lab/demo/pipelines/demo-2.json +105 -103
- package/lab/demo/pipelines/documents.json +54 -52
- package/lab/demo/pipelines/sentiment.json +30 -30
- package/lab/demo/pipelines/weather-alerts.json +35 -35
- package/lab/demo/pipelines/wordings.json +33 -36
- package/lab/evals-core.mjs +1053 -353
- package/lab/kinds/list.mjs +328 -224
- package/lab/metrics/builtin.mjs +24 -24
- package/lab/run-evals.js +34 -56
- package/lab/server.py +478 -206
- package/lab/web/dist/assets/gallery-ICJNZQIZ.js +5 -0
- package/lab/web/dist/assets/gallery-bG2vNzKT.css +1 -0
- package/lab/web/dist/assets/main-BOkQWswU.css +1 -0
- package/lab/web/dist/assets/main-rJDsPFWT.js +18 -0
- package/lab/web/dist/assets/tokens-C5ist-xG.js +64 -0
- package/lab/web/dist/assets/tokens-CuK6hUMK.css +1 -0
- package/lab/web/dist/gallery.html +4 -4
- package/lab/web/dist/index.html +4 -4
- package/package.json +1 -1
- package/lab/presets.json +0 -62
- package/lab/web/dist/assets/gallery-B_-TH0F-.css +0 -1
- package/lab/web/dist/assets/gallery-qrf0ZGXK.js +0 -5
- package/lab/web/dist/assets/main-D6xARg2A.js +0 -16
- package/lab/web/dist/assets/main-xVU6J7Gi.css +0 -1
- package/lab/web/dist/assets/tokens-C8dqXDHN.js +0 -62
- package/lab/web/dist/assets/tokens-tQ7zTPkd.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
code{font:inherit}:where(a[href]){color:var(--amber);text-decoration:none}:where(a[href]):hover{text-underline-offset:2px;text-decoration:underline}button,input,select,textarea{font:inherit;color:var(--ink);background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-ctl)}input:not([type=checkbox]),select{height:var(--field);padding:0 var(--s2);min-width:0;max-width:100%}::placeholder{color:var(--dim);opacity:1}textarea{width:100%;min-height:calc(2lh + 2 * var(--s2) + 2px);field-sizing:content;max-height:24lh;padding:var(--s2);resize:vertical;line-height:1.45}input[type=checkbox]{width:18px;height:18px;accent-color:var(--amber);margin:0}.fbar-chip:focus-visible .fbar-pip,.pill input:focus-visible+span{outline:2px solid var(--amber);outline-offset:2px}.chiplist:has(:focus-visible){outline:2px solid var(--amber);outline-offset:2px}.affix:has(>input:focus-visible){outline:2px solid var(--amber);outline-offset:2px}.prop-card:has(input:focus-visible){outline:2px solid var(--amber);outline-offset:2px}input[readonly],textarea[readonly],.readonly{background:0 0;border-style:dashed}.prop[data-locked] .prop-value>span{border:1px dashed var(--line);border-radius:var(--r-ctl);padding:var(--s1) var(--s2);color:var(--dim)}.prop[data-locked] .prop-name{align-items:center;gap:6px;display:inline-flex}button{align-items:center;gap:var(--s1);-webkit-tap-highlight-color:transparent;min-height:var(--ctl);padding:0 var(--s3);font-size:var(--t-label);background:var(--amber);color:var(--on-amber);cursor:pointer;border-color:#0000;font-weight:600;display:inline-flex}button:where(:hover:not(:disabled,[aria-disabled=true])){background:color-mix(in srgb, var(--amber) 88%, var(--ink))}button:active:not(:disabled,[aria-disabled=true]){transform:translateY(1px)}button:disabled,button[aria-disabled=true]{opacity:.5;cursor:not-allowed}button[aria-busy=true]:disabled{opacity:1;cursor:progress}.ghost{color:var(--amber);border-color:var(--line);background:0 0;font-weight:500}.ghost.destructive{color:var(--rust)}.destructive:not(.ghost,.menu-item){background:var(--rust);color:var(--on-rust)}.destructive:not(.ghost,.menu-item):hover:not(:disabled,[aria-disabled=true]){background:color-mix(in srgb, var(--rust) 88%, var(--ink))}:where(.ghost,.fbar-btn,.wiz-pill-btn,.picker,.multi-btn,.prop-card:not([data-disabled])):hover:not(:disabled,[aria-disabled=true]),.pill:hover span,button.fbar-chip.scope:hover .fbar-pip{border-color:var(--faint)}.link-btn{min-height:0;font:inherit;color:var(--amber);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;border-radius:0;padding:0}.link-btn:hover{text-underline-offset:2px;text-decoration:underline}@media (pointer:coarse),(width<=600px){.link-btn{min-height:var(--tap);align-content:center}}.icon-btn{width:var(--ctl);min-height:var(--ctl);color:var(--faint);background:0 0;border-color:#0000;justify-content:center;padding:0}.icon-btn:hover,.icon-btn:focus-visible{color:var(--ink)}.head-undo:enabled>svg{color:var(--amber);flex:none}@media (width>=601px){.head-undo:enabled{gap:var(--s1);width:auto;max-width:32ch;padding:0 var(--s2);color:var(--dim);font-weight:400}.head-undo:enabled:hover,.head-undo:enabled:focus-visible{color:var(--ink)}.head-undo:enabled:after{content:attr(title);text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}}.row-act{white-space:nowrap}.group,.pane{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pane)}.note{color:var(--dim);font-size:var(--t-label);margin:0}.unset{color:var(--dim)}p.unset{font-size:var(--t-label);margin:0}.message.error{color:var(--rust)}.scrollx{position:relative;overflow-x:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono-block{padding:var(--s3);background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-ctl);font:var(--t-note) / 1.5 var(--mono);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.badge{align-items:center;gap:var(--s1);padding:var(--s-half) var(--s2);border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--t-note);color:var(--dim);white-space:nowrap;vertical-align:middle;background:0 0;font-weight:400;line-height:1.3;display:inline-flex}.badge.amber{color:var(--amber);border-color:var(--amber)}.badge.sage{color:var(--sage);border-color:var(--sage)}.badge.rust{color:var(--rust);border-color:var(--rust)}.group{padding:var(--s4)}.group.sub{margin-top:var(--s3);background:0 0;border:0;border-radius:0;padding:0}.group-summary{align-items:center;gap:var(--s2);min-height:var(--ctl);cursor:pointer;list-style:none;display:flex}.group-summary::-webkit-details-marker{display:none}.group-caret{color:var(--faint);transition:transform var(--dur);flex:none}.group[open]>.group-summary .group-caret{transform:rotate(90deg)}.group-title{font-size:var(--t-heading);overflow-wrap:break-word;min-width:0;margin:0;font-weight:600}.group.sub .group-title{font-size:var(--t-label)}.group.sub[data-depth="2"]>.group-summary>.group-title{color:var(--dim)}.group.sub[data-depth="2"]{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line)}.group.sub[data-depth="3"]{margin-top:var(--s3)}@media (width>=601px){.group .group{margin-inline-start:calc(16px + var(--s2))}}.group-body>.group.sub[data-depth="2"]:first-child,.group-body>.prop-scope:first-child>.group.sub[data-depth="2"]:first-child{margin-top:var(--s2);border-top:0;padding-top:0}.group-note{font-size:var(--t-note);color:var(--dim);text-overflow:ellipsis;white-space:nowrap;flex-shrink:1000;min-width:0;overflow:hidden}.group[open]>.group-summary .group-note{display:none}.group-rename{flex:1;min-width:0}.group-body{margin-top:var(--s3)}.group-about{margin:0 0 var(--s2);color:var(--dim);font-size:var(--t-label);line-height:1.45}.group-about:last-child{margin-bottom:0}.group.sub>.group-body{margin-top:var(--s2)}.group-summary .menu{margin-left:auto}.menu{flex:none;display:inline-flex;position:relative}.menu-pop{right:0;top:calc(100% + var(--s1));z-index:var(--z-popover);gap:var(--s-half);min-width:160px;max-width:calc(100vw - 2 * var(--s4));padding:var(--s1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pane);box-shadow:var(--e-pop);flex-direction:column;display:flex;position:absolute}.menu-pop.start{left:0;right:auto}.menu-pop.up{top:auto;bottom:calc(100% + var(--s1))}.menu-pop.fixed{position:fixed;bottom:auto;right:auto}.menu-item{justify-content:flex-start;gap:var(--s2);padding:0 var(--s2);color:var(--amber);white-space:nowrap;background:0 0;border-color:#0000;font-weight:500}.menu-item:hover,.menu-item:focus-visible{background:var(--surface2)}.menu-item.destructive{color:var(--rust)}.menu-item.described{height:auto;padding-block:var(--s1);text-align:left;white-space:normal;align-items:flex-start}.menu-pop:has(.described){min-width:240px}.menu-item.described svg{margin-top:3px}.menu-about{font-size:var(--t-note);color:var(--dim);white-space:normal;font-weight:400;display:block}.pe-insert .menu-pop{min-width:260px;left:auto;right:0}.pe-field{height:auto;padding:var(--s1) var(--s2);text-align:left;color:var(--ink);white-space:normal;overflow-wrap:anywhere;flex-direction:column;justify-content:center;align-items:stretch;gap:0;font-weight:400}.pe-field small{color:var(--dim);font-size:var(--t-note)}.multi{max-width:100%;display:inline-flex;position:relative}.multi-btn{justify-content:space-between;align-items:center;gap:var(--s2);height:var(--ctl);min-height:var(--ctl);max-width:100%;padding:0 var(--s2);font-size:inherit;cursor:pointer;background:var(--surface2);color:var(--ink);border-color:var(--line);font-weight:400;display:inline-flex}.multi-btn>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.multi-btn .multi-none{color:var(--dim)}.multi-btn>svg{color:var(--dim);flex:none}.multi-opt{align-items:center;gap:var(--s2);min-height:var(--ctl);padding:0 var(--s2);border-radius:var(--r-ctl);cursor:pointer;white-space:nowrap;display:flex}.multi-opt:hover,.multi-opt:focus-within{background:var(--surface2)}.chiplist{align-items:center;gap:var(--s1) var(--s2);min-height:var(--field);padding:var(--s1) var(--s2);background:var(--surface2);max-width:100%;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-ctl);cursor:text;flex-wrap:wrap;display:flex}.chiplist-chip{align-items:center;gap:var(--s1);padding-left:var(--s2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);max-width:100%;font-size:var(--t-label);display:inline-flex}.chiplist-word{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;overflow:hidden}.chiplist-x{min-height:var(--ctl);min-width:var(--s5);padding:0 var(--s1);border-radius:var(--r-pill);color:var(--dim);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.chiplist-x:hover,.chiplist-x:focus-visible{color:var(--rust)}.chiplist-input{min-width:6ch;min-height:var(--field);color:var(--ink);font:inherit;background:0 0;border:0;flex:6ch;padding:0}.chiplist-input:focus{outline:none}.chiplist-input::placeholder{color:var(--dim)}.ws-trigger{align-items:center;gap:var(--s2);min-height:var(--ctl);padding:0 var(--s2) 0 var(--s1);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-ctl);font-size:var(--t-label);cursor:pointer;font-weight:500;display:inline-flex}.ws-trigger:hover,.ws-trigger:focus-visible{background:var(--surface2)}.ws-trigger>svg{color:var(--dim);flex:none}.ws-name{text-overflow:ellipsis;white-space:nowrap;max-width:14ch;overflow:hidden}.ws-tile{background:var(--surface2);width:24px;height:24px;color:var(--amber);font-size:var(--t-note);border-radius:6px;flex:none;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex}.ws-tile.small{width:20px;height:20px}.ws-sec{gap:var(--s-half);flex-direction:column;display:flex}.ws-sec+.ws-sec{margin-top:var(--s1);padding-top:var(--s1);border-top:1px solid var(--line)}.ws-sec-head{padding:var(--s1) var(--s2) var(--s-half);font-size:var(--t-note);color:var(--dim);margin:0}.ws-opt{justify-content:flex-start}.ws-opt-name{text-align:left;flex:auto}.ws-check{color:var(--amber);flex:none}@media (width<=600px){.ws-trigger .ws-name{display:none}.ws-menu .ws-pop{left:calc(100% - 100vw + 2 * var(--s2));max-width:none;right:0}}.share-trigger{align-items:center;gap:var(--s1);min-height:var(--ctl);padding:0 var(--s2);color:var(--ink);font-size:var(--t-label);font-weight:500;display:inline-flex}.share-trigger>svg{color:var(--dim);flex:none}.share-summary{text-overflow:ellipsis;white-space:nowrap;max-width:16ch;overflow:hidden}.share-sec{gap:var(--s-half);margin:var(--s1) 0;padding:var(--s1) 0;border-block:1px solid var(--line);flex-direction:column;display:flex}.share-opt{justify-content:flex-start}.share-opt[disabled]{color:var(--dim);opacity:1}.share-check{color:var(--amber);flex:none}.share-opt[aria-checked=false] .share-check{visibility:hidden}.repeater,.repeater-items{grid-template-columns:minmax(0,1fr)}.repeater-items{gap:var(--s2);display:grid}.repeater{display:grid}.repeater-items>.group.sub,.repeater-items>.group.sub[data-depth]{border-top:0;margin-top:0;padding-top:0}.repeater-items>.group.sub:not(:last-child){padding-bottom:var(--s2);border-bottom:1px solid var(--line)}.repeater-empty{padding:var(--s4);border:1px dashed var(--line);border-radius:var(--r-pane);color:var(--dim);font-size:var(--t-label);text-align:center;margin:0}.add-btn{width:fit-content;margin:var(--s2) 0 0 auto;justify-self:end;display:flex}.add-btn.ghost,.add-btn>.menu>.ghost{background:var(--surface)}.props>.add-btn{grid-column:1/-1}.add-row{justify-content:flex-end;gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.add-row>.add-btn{margin:0}.props,.prop{--prop-cols:var(--prop-label-col,fit-content(35%)) minmax(0, 1fr) auto var(--ctl)}.prop-scope{display:contents}.prop-name.prop-probe{visibility:hidden;white-space:nowrap;pointer-events:none;min-width:0;position:absolute}.props{grid-template-columns:var(--prop-cols);row-gap:var(--s2);column-gap:var(--s2);padding-top:calc(var(--s1) * 1.5);display:grid}.props>.prop{grid-column:1/-1;grid-template-columns:subgrid}.prop{grid-template-columns:var(--prop-cols);align-items:center;gap:var(--s2);min-height:var(--ctl);grid-template-areas:"name value flag menu";display:grid}.prop-name{grid-area:name}.prop-value{grid-area:value}.prop-flag{grid-area:flag}.prop-menu{grid-area:menu}.prop[data-hint]{row-gap:var(--s-half);grid-template-areas:"name value flag menu"".hint hint hint"}.prop[data-hint][data-control=static]:has(>.prop-value>span:empty:only-child){grid-template-areas:"name hint flag menu"}.prop[data-hint][data-control=static]>.prop-value:has(>span:empty:only-child){display:none}.prop-hint{font-size:var(--t-note);color:var(--dim);grid-area:hint;max-width:72ch;line-height:1.4}.prop-name{font-size:var(--t-label);color:var(--dim);overflow-wrap:anywhere;min-width:88px}.prop-name code{font:inherit;color:inherit}.prop-value{align-items:center;gap:var(--s2);min-width:0;font-size:var(--t-label);display:flex}.prop[data-w] .prop-value>:is(input,select,.picker,.multi,.affix){width:var(--w-half);min-width:12ch;max-width:100%}.prop[data-w=quarter] .prop-value>:is(input,select,.picker,.multi,.affix){width:var(--w-quarter);min-width:10ch}.prop[data-w=full] .prop-value>:is(input,select,.picker,.multi,.secret,.affix){width:var(--w-full)}.prop .prop-value>.multi>.multi-btn{width:100%}@media (width>=601px){.props:not(:has(.menu,.prop-flag>*)) .prop-value{grid-column:2/-1}}.affix{height:var(--field);background:var(--surface2);min-width:0;box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--r-ctl);align-items:center;display:flex}.affix>input{background:0 0;border:0;flex:1;min-width:0;height:100%;padding-right:0}.affix>input:focus-visible{outline:none}.affix-text{padding:0 var(--s2) 0 var(--s-half);color:var(--dim);flex:none}.prop-value [aria-invalid=true]:is(input,select,textarea,.picker,.multi-btn){border-color:var(--rust)}.prop-value .switch[aria-invalid=true] .switch-track{box-shadow:0 0 0 1px var(--rust)}.prop:not([data-hint])>.prop-hint{position:absolute}.affix[data-invalid]{box-shadow:inset 0 0 0 1px var(--rust)}.prop-error{color:var(--rust)}textarea.mono{font-family:var(--mono);font-size:var(--t-note);white-space:pre;overflow-wrap:normal}.secret{align-items:center;gap:var(--s1);min-width:0;display:flex}.secret input{flex:1;min-width:0}.prop-static-icon{align-items:center;gap:var(--s2);display:inline-flex}.prop a[href]{color:var(--amber)}.prop-code{font:inherit;min-height:var(--ctl);max-width:100%;padding:var(--s1) var(--s2);border:1px dashed var(--line);border-radius:var(--r-ctl);white-space:pre-wrap;overflow-wrap:anywhere;align-items:center;display:flex}.prop-cards{gap:var(--s2);flex-wrap:wrap;min-width:0;display:flex}.prop-card{white-space:nowrap;align-items:center;gap:var(--s2);min-height:var(--ctl);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface2);font-size:var(--t-label);cursor:pointer;font-weight:600;display:inline-flex;position:relative}.prop-card input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.prop-card svg{color:var(--amber);flex:none}.prop-card:has(input:checked){border-color:var(--amber);background:var(--tint-amber)}.prop-card[data-disabled]{opacity:.5;cursor:not-allowed}.prop-card[data-disabled] input{cursor:not-allowed}.prop-flag label{min-width:var(--ctl);min-height:var(--ctl);justify-content:center;align-items:center;display:inline-flex}.prop-menu{min-width:var(--ctl);justify-content:flex-end;display:flex}@media (width<=600px){.group{padding:var(--s3)}.prop[data-w]:not([data-w=quarter]),.prop[data-control=cards],.prop[data-control=code]{row-gap:var(--s1);grid-template-areas:"name name flag menu""value value value value"}.prop[data-hint]:not([data-w=quarter]){grid-template-areas:"name name flag menu""value value value value""hint hint hint hint"}.prop[data-w]:not([data-w=quarter]) .prop-value>:is(input,select,.picker,.multi,.secret,.affix){width:100%}table.dt-cards,table.dt-cards :is(tbody,tr,td){display:block}table.dt-cards thead{display:none}table.dt-cards tbody tr{margin-bottom:var(--s2);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-pane);position:relative}table.dt-cards tbody tr:last-of-type{margin-bottom:0}table.dt-cards tbody tr.top-match{background:color-mix(in srgb, var(--surface2) 55%, transparent)}table.dt-cards td{height:auto;font-size:var(--t-label);overflow-wrap:anywhere;border:0;padding:0;background:0 0!important}table.dt-cards td.num{text-align:left}table.dt-cards td.dt-title{align-items:center;column-gap:var(--s2);min-height:var(--ctl);padding-right:calc(var(--ctl) + var(--s1));font-size:var(--t-label);flex-wrap:wrap;font-weight:600;display:flex}table.dt-cards td.dt-menu{top:var(--s1);right:var(--s1);width:auto;position:absolute}table.dt-cards td:not(.dt-title,.dt-menu)[data-label]:before{content:attr(data-label) " ";color:var(--dim)}table.dt-cards tbody tr:has(>td.dt-select>input){padding-left:calc(var(--s1) + var(--ctl))}table.dt-cards td.dt-select:empty{display:none}table.dt-cards td.dt-select{top:var(--s2);left:var(--s1);width:var(--ctl);height:var(--ctl);justify-content:center;align-items:center;padding:0;display:flex;position:absolute}table.dt-cards tbody tr[aria-selected=true]{background:var(--tint-amber);border-color:var(--amber)}table.dt-cards tbody tr:has(>td.dt-expand){padding-left:calc(var(--s1) + var(--ctl))}table.dt-cards td.dt-expand{top:var(--s2);left:var(--s1);padding:0;position:absolute}table.dt-cards td.dt-expand .icon-btn{min-width:var(--ctl);min-height:var(--ctl)}.dt-bulk{flex-wrap:wrap}.dt-bulk-count{flex-basis:100%}}@media (pointer:coarse),(width<=600px){input[type=checkbox]{width:22px;height:22px}}.modal-backdrop{z-index:var(--z-modal);padding:var(--s4);background:var(--scrim);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:min(100%,420px);max-height:calc(100vh - 2 * var(--s4));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pane);box-shadow:var(--e-modal);flex-direction:column;display:flex}.modal.wide{width:min(100%,960px);height:min(88vh,760px)}.modal-head{align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);display:flex}.modal-head h2{min-width:0;font-size:var(--t-heading);text-overflow:ellipsis;white-space:nowrap;flex:auto;margin:0;font-weight:600;overflow:hidden}.modal-head .menu{flex:none}.modal-body{padding:var(--s4);min-height:0;overflow-y:auto}.modal-foot{justify-content:flex-end;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-top:1px solid var(--line);flex-wrap:wrap;flex:none;display:flex}.modal.edit{width:min(100%,560px)}.modal.edit.wide{width:min(100%,880px);height:auto}.modal.edit .modal-body{flex:auto}.edit-status{margin:0 0 var(--s3);font-size:var(--t-label);color:var(--dim);overflow-wrap:anywhere}.edit-section+.edit-section{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line)}.edit-section-title{margin:0 0 var(--s2);font-size:var(--t-label);color:var(--dim);font-weight:600}.edit-choices{gap:var(--s2);flex-wrap:wrap;display:flex}.edit-choices button[aria-pressed=true]{background:var(--amber);color:var(--on-amber);border-color:#0000}.edit-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;flex:auto;display:flex}.edit-outcome-live:empty{display:none}.edit-outcome{min-height:var(--ctl)}.edit-outcome.bad{color:var(--rust)}.edit-refusal{color:var(--rust);font-size:var(--t-label);overflow-wrap:anywhere}.edit-outcomes{align-items:center;gap:var(--s2);min-width:0;margin-right:auto;display:flex}.edit-done,.edit-save{flex:none}@media (width<=600px){.modal-backdrop:has(>.modal.edit){padding:0}.modal.edit,.modal.edit.wide{border:0;border-radius:0;width:100%;height:100dvh;max-height:none}.edit-actions>button{flex:auto;justify-content:center}.edit-outcomes{flex-basis:100%}.edit-outcomes:not(:has(>:not(:empty))){display:none}}.cm-body{gap:var(--s3);flex-direction:column;display:flex}.cm-row{align-items:center;gap:var(--s2);grid-template-columns:minmax(88px,35%) minmax(0,1fr);display:grid}.cm-label{font-size:var(--t-label);color:var(--dim)}.cm-input{height:var(--field);min-height:var(--field);padding:0 var(--s3);background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-ctl);color:var(--ink);font-size:var(--t-label)}.cm-taken{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--r-ctl);background:color-mix(in srgb, var(--amber) 14%, var(--surface));font-size:var(--t-label);margin:0;display:flex}.cm-taken svg{color:var(--amber);flex:none}.cm-share-note,.cm-reassure{font-size:var(--t-note);color:var(--dim);margin:0}.cm-confirm{gap:var(--s3);flex-direction:column;display:flex}.cm-confirm-head{font-size:var(--t-label);margin:0;font-weight:600}.cm-deps{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cm-deps>li{align-items:center;gap:var(--s2);font-size:var(--t-label);display:flex}.cm-deps>li>svg{color:var(--dim);flex:none}.cm-deps>li>a{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cm-dep-kind{color:var(--dim);font-size:var(--t-note);margin-left:auto}.cm-warn{align-items:center;gap:var(--s2);font-size:var(--t-label);color:var(--rust);margin:0;display:flex}.cm-warn svg{color:var(--rust);flex:none}.undo-toast{left:50%;bottom:var(--s4);z-index:var(--z-toast);align-items:center;gap:var(--s2);max-width:calc(100vw - 2 * var(--s3));padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pane);box-shadow:var(--e-pop);font-size:var(--t-label);display:flex;position:fixed;transform:translate(-50%)}.undo-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.undo-btn{flex:none}.dt-sort,.dt-head{align-items:center;gap:var(--s1);min-height:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.dt-glyph{color:var(--faint);opacity:0;transition:opacity var(--dur);flex:none}.dt-sort:hover .dt-glyph,.dt-sort:focus-visible .dt-glyph,.dt-glyph.on{opacity:1}.dt-glyph.on{color:var(--amber)}.dt-head{min-height:0;font:inherit;color:var(--amber);background:0 0;border:0;padding:0}table.dt{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--t-label);font-variant-numeric:tabular-nums}.dt>:where(thead,tbody)>:where(tr)>:where(th,td){padding:var(--s2) var(--s3);text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}.dt>:where(thead)>:where(tr)>:where(th){height:var(--ctl);padding-block:var(--s1);font-size:var(--t-label);color:var(--dim);white-space:nowrap;background:0 0;font-weight:500}.dt>:where(tbody)>:where(tr)>:where(td){height:calc(var(--ctl) + var(--s3));color:var(--ink);transition:background-color var(--dur-fast)}.dt>:where(tbody)>:where(tr:last-child)>:where(td){border-bottom:0}.dt>:where(tbody)>:where(tr:hover,tr.top-match)>:where(td){background:color-mix(in srgb, var(--surface2) 55%, transparent)}.dt>:where(tbody)>:where(tr.dt-band)>:where(td){height:auto;font-size:var(--t-note);color:var(--dim);background:var(--surface2)}.dt td.dt-title{font-weight:500}.dt :is(th,td).num{text-align:right}.dt th.num .dt-sort{flex-direction:row-reverse}.dt :is(th,td).dt-select{width:1%;padding-inline:var(--s3) 0}.dt :is(th,td).dt-select input{margin:0;display:block}.dt>:where(tbody)>:where(tr[aria-selected=true])>:where(td){background:var(--tint-amber)}.dt :is(th,td).dt-expand{width:1%;padding-inline:var(--s1) 0}.dt .dt-chevron svg{transition:transform var(--dur)}.dt tr.dt-open>td .dt-chevron svg{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.dt .dt-chevron svg{transition:none}}.dt :is(th,td).dt-menu{width:1%;padding-inline:0 var(--s1);text-align:right;white-space:nowrap}.dt-bulk{justify-content:flex-end;align-items:center;gap:var(--s2);min-height:var(--ctl);margin-bottom:var(--s2);display:flex}.dt-bulk-count{gap:var(--s2);font-size:var(--t-label);color:var(--dim);font-variant-numeric:tabular-nums;margin-right:auto;display:flex}.dt-pager{justify-content:flex-end;align-items:center;gap:var(--s2);margin-top:var(--s2);display:flex}@media (pointer:coarse){.dt-glyph{opacity:1}.dt-sort,.dt-head{min-height:var(--tap)}}.fbar{margin-bottom:var(--s3);padding-top:calc(var(--s1) * 1.5);position:relative}.fbar-row{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.fbar-trail{margin-left:auto;display:inline-flex}.fbar-row:has(>.fbar-trail)>.fbar-search{flex-basis:0;min-width:6rem}.fbar-search{min-width:0;color:var(--faint);flex:auto;display:flex;position:relative}.fbar-search svg{left:var(--s3);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.fbar-search:focus-within{color:var(--amber)}.fbar-search input{width:100%;padding-left:calc(var(--s3) + 15px + var(--s2));font-size:var(--t-note);flex:auto}.fbar-row>.note{margin:0}.fbar-btn{width:var(--ctl);background:var(--surface2);border-color:var(--line);color:var(--dim);flex:none;justify-content:center;margin-left:auto;padding:0;position:relative}.fbar-btn:hover{color:var(--ink)}.fbar-btn[aria-expanded=true]{color:var(--ink);border-color:var(--faint)}.fbar-btn.on{color:var(--amber);border-color:var(--amber);background:var(--tint-amber)}.fbar-badge{min-width:17px;height:17px;padding:0 var(--s1);border-radius:var(--r-pill);background:var(--amber);color:var(--on-amber);font-size:var(--t-caption);font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--surface);place-items:center;font-weight:700;line-height:1;display:grid;position:absolute;top:-6px;right:-6px}.fbar-chips{align-items:center;gap:var(--s1) var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.fbar-chip{min-height:26px;color:var(--ink);font-size:var(--t-note);background:0 0;border:0;padding:0;font-weight:600}.fbar-pip{min-height:26px;padding:0 var(--s2) 0 var(--s3);border-radius:var(--r-pill);background:color-mix(in srgb, var(--amber) 14%, var(--surface));border:1px solid #0000;align-items:center;gap:6px;display:inline-flex}.fbar-chip svg{color:var(--dim)}.fbar-chip:hover svg,.fbar-chip:focus-visible svg{color:var(--rust)}.fbar-chip:focus-visible{outline:none}.fbar-chip-k{color:var(--dim);font-weight:500}.fbar-chip.scope{align-items:center;display:inline-flex}.fbar-chip.scope .fbar-pip{padding-right:var(--s3);border-color:var(--line);background:0 0}.fbar-clear{min-height:26px;padding:0 var(--s1);color:var(--amber);font-size:var(--t-note);background:0 0;border:0;font-weight:500}.fbar-count{color:var(--dim);font-size:var(--t-note);font-variant-numeric:tabular-nums;margin-left:auto}.fbar-scrim{display:none}.fbar-panel{top:calc(var(--ctl) + var(--s2));z-index:var(--z-popover);gap:var(--s4);width:min(340px,100%);padding:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pane);box-shadow:var(--e-panel);transform-origin:100% 0;animation:fbar-in var(--dur) ease-out;display:grid;position:absolute;right:0}@keyframes fbar-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.fbar-panel-head{justify-content:space-between;align-items:center;min-height:26px;display:flex}.fbar-panel-title{font-size:var(--t-heading);font-weight:600}.fbar-set{border:0;min-width:0;margin:0;padding:0}.fbar-set legend{margin-bottom:var(--s2);font-size:var(--t-note);color:var(--dim);padding:0;font-weight:600}.fbar-select{flex-direction:column;display:flex}.fbar-select .fbar-set-label{margin-bottom:var(--s2);font-size:var(--t-note);color:var(--dim);font-weight:600}.fbar-select select{width:100%}.pills{border:0;flex-wrap:wrap;gap:6px;min-width:0;margin:0;padding:0;display:flex}.pill{cursor:pointer;display:inline-flex;position:relative}.pill input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.pill span{min-height:30px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--t-label);color:var(--ink);transition:background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);align-items:center;display:inline-flex}.pill input:checked+span{background:var(--amber);border-color:var(--amber);color:var(--on-amber);font-weight:600}.field-chip{align-items:center;gap:var(--s1);padding:0 var(--s2);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface2);font-size:var(--t-label);color:var(--ink);white-space:nowrap;vertical-align:baseline;display:inline-flex}.field-chip svg{color:var(--dim);flex:none}.wizard-pill{display:inline-flex}.wiz-pill-btn{align-items:center;gap:var(--s1);height:var(--ctl);padding:0 var(--s2);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface2);color:var(--ink);font-size:var(--t-label);font-weight:600;display:inline-flex}.wiz-pill-btn svg{color:var(--amber);flex:none}.wiz-pill-btn[aria-expanded=true]{border-color:var(--faint)}.wiz-pill-count{font-variant-numeric:tabular-nums}.wiz-pop{min-width:220px;padding:var(--s2);gap:var(--s2)}.wiz-pop-head{padding:0 var(--s1);font-size:var(--t-label);color:var(--ink);margin:0;font-weight:600}.wiz-steps{gap:var(--s-half);margin:0;padding:0;list-style:none;display:grid}.wiz-step{align-items:center;gap:var(--s2);padding:var(--s1) var(--s1);font-size:var(--t-body);color:var(--dim);grid-template-columns:auto 1fr;display:grid}.wiz-step.done{color:var(--ink)}.wiz-step.current .wiz-step-title{color:var(--ink);font-weight:600}.wiz-tick{width:16px;color:var(--sage);justify-content:center;display:inline-flex}.wiz-dot{border-radius:var(--r-pill);border:1.5px solid var(--line);width:7px;height:7px}.wiz-step.current .wiz-dot{border-color:var(--ink)}.wiz-pop-acts{gap:var(--s-half);padding-top:var(--s1);border-top:1px solid var(--line);display:grid}.wiz-go{justify-content:flex-start;gap:var(--s2)}.fbar-done{display:none}@media (pointer:coarse),(width<=600px){.fbar-chip,.fbar-clear{min-height:var(--tap)}.fbar-chips{row-gap:0;margin-top:0}.fbar-pip{min-height:32px}.pill span{min-height:var(--tap);padding:0 var(--s4)}.fbar-trail .pill span{padding:0 var(--s3)}.prop-card{min-height:var(--tap)}}@media (width<=600px){.fbar-scrim{z-index:var(--z-modal);background:var(--scrim);animation:fbar-fade var(--dur) ease-out;display:block;position:fixed;inset:0}.fbar-panel{z-index:calc(var(--z-modal) + 1);width:auto;max-height:85vh;padding:var(--s3) var(--s4) calc(var(--s4) + env(safe-area-inset-bottom));border-radius:var(--r-sheet) var(--r-sheet) 0 0;animation:fbar-up var(--dur) cubic-bezier(.2, .8, .2, 1);border-width:1px 0 0;position:fixed;inset:auto 0 0;overflow:auto}.fbar-panel:before{content:"";width:36px;height:4px;margin-bottom:calc(var(--s2) - var(--s4));border-radius:var(--r-pill);background:var(--line);justify-self:center}.fbar-done{justify-content:center;width:100%;display:flex}}@keyframes fbar-up{0%{transform:translateY(100%)}}@keyframes fbar-fade{0%{opacity:0}}.tab-strip{--mark:4px;gap:var(--s1);margin-bottom:var(--s4);background:linear-gradient(var(--line), var(--line)) left bottom / 100% var(--mark) no-repeat;flex-wrap:wrap;display:flex}.tab-strip a{align-items:center;gap:var(--s1);min-height:var(--tap);padding:0 var(--s3) var(--mark);color:var(--dim);font-size:var(--t-label);white-space:nowrap;font-weight:500;text-decoration:none;display:inline-flex}.tab-strip a:hover{color:var(--ink)}.tab-strip a.on{color:var(--ink);background:linear-gradient(var(--amber), var(--amber)) left bottom / 100% var(--mark) no-repeat}.tab-strip .tab-icon{flex:none}.tab-strip.section{margin-top:calc(-1 * var(--s2))}.tab-strip.section a.on{background-image:linear-gradient(var(--dim), var(--dim))}@media (width<=600px){.tab-strip{gap:0}.tab-strip .tab-icon{width:18px;height:18px}.tab-strip a{min-height:var(--tap);justify-content:center;gap:var(--s-half);padding:var(--s1) 0 calc(var(--s1) + var(--mark));min-width:var(--tap);font-size:var(--t-note);flex-direction:column;flex:1}}.ctx-head{align-items:flex-start;gap:var(--s2) var(--s3);margin-top:calc(-1 * var(--s4));padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:0 0 var(--r-pane) var(--r-pane);border-top:0;flex-wrap:nowrap;display:flex}.ctx-id{gap:var(--s-half);flex-direction:column;flex:auto;min-width:0;display:flex}.ctx-kind{font-size:var(--t-note);color:var(--dim)}.ctx-name{align-self:flex-start;align-items:center;gap:var(--s1);max-width:100%;min-height:var(--ctl);color:var(--ink);font-size:var(--t-context);text-align:left;background:0 0;border:0;padding:0;font-weight:600;line-height:1.25;display:inline-flex}.ctx-name-text{overflow-wrap:anywhere;min-width:0}.ctx-name svg{color:var(--dim);flex:none}.ctx-name:has(.ctx-name-text){min-height:0;padding-block:calc((var(--ctl) - 1.25em) / 2);display:block}.ctx-name:has(.ctx-name-text) svg{vertical-align:-.125em;margin-left:var(--s1);display:inline-block}button.ctx-name:hover svg,button.ctx-name:focus-visible svg{color:var(--amber)}.ctx-side{justify-content:flex-end;align-items:center;gap:var(--s2) var(--s3);min-width:0;min-height:calc(var(--t-note) * 1.5 + var(--s1) / 2 + var(--ctl));flex-wrap:wrap;flex:none;margin-left:auto;display:flex}.ctx-meta{font-size:var(--t-note);color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap}.ctx-acts{align-items:center;gap:var(--s1);flex:none;margin-left:auto;display:flex}.ctx-primary{font-weight:500}@media (width<=600px){.ctx-head{flex-wrap:wrap;align-items:center}.ctx-id{flex-basis:100%}.ctx-side{flex:100%;justify-content:flex-start;min-height:0;margin-left:0}.ctx-meta{white-space:normal;overflow-wrap:anywhere;flex:100%}.ctx-acts{margin-left:0}}.ctx-head.docked{border-radius:0}.action-bar{padding:var(--s2) var(--s4);background:var(--surface2);border:1px solid var(--line);border-radius:0 0 var(--r-pane) var(--r-pane);border-top:0;position:relative;overflow:hidden}.action-bar-row{align-items:center;gap:var(--s3);flex-wrap:nowrap;display:flex}.action-bar-primary{padding:0 var(--s5);flex:none}.action-bar-line{min-width:0;font-size:var(--t-label);color:var(--dim);flex:auto}.action-bar-secondary{flex:none;margin-left:auto}.action-bar-meter{background:var(--line);height:3px;position:absolute;bottom:0;left:0;right:0}.action-bar-fill{background:var(--amber);height:100%}@media (width<=600px){.action-bar{padding:var(--s3)}.action-bar-primary{padding:0 var(--s4)}}.switcher{gap:var(--s-half);margin:0;padding:0;list-style:none;display:grid}.switcher-opt{align-items:center;gap:var(--s2);width:100%;min-height:var(--ctl);color:var(--ink);text-align:left;background:0 0;border-color:#0000;font-weight:500;display:flex}.switcher-opt:hover,.switcher-opt:focus-visible{background:var(--surface2)}.switcher-opt[aria-current=true]{color:var(--amber);font-weight:600}.switcher-label{overflow-wrap:anywhere;min-width:0}.switcher-text{flex-direction:column;min-width:0;display:flex}.switcher-detail{font-size:var(--t-note);color:var(--dim);font-weight:400}.switcher-check{flex:none}.switcher-when{font-size:var(--t-note);color:var(--dim);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-weight:400}.switcher-part+.switcher-part{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line)}.switcher-head{margin:0 0 var(--s2);font-size:var(--t-label);color:var(--dim);font-weight:600}.switcher-foot{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line)}.switcher-wait .message-retry{justify-content:flex-end}.switcher-none{margin:0}.switcher-entry{align-items:center;gap:var(--s2);flex:auto;min-width:0;display:flex}.switcher-entry-field{flex:auto;min-width:0}.switcher-entry-buttons{gap:var(--s2);flex:none;display:flex}.switcher-pick{gap:var(--s1)}.switcher-pick[aria-current=true]{font-weight:600}@media (width<=600px){.modal-backdrop:has(>.modal.switcher-sheet){padding:0}.modal.switcher-sheet{border:0;border-radius:0;width:100%;height:100dvh;max-height:none}.modal.switcher-sheet .modal-body{flex:auto}.switcher-entry{flex-wrap:wrap}.switcher-entry-field{flex-basis:100%}.switcher-entry-buttons{margin-left:auto}table.dt-cards.switcher-table tbody tr{align-items:center;gap:var(--s2);margin-bottom:var(--s1);padding:0 var(--s3);display:flex}table.dt-cards.switcher-table td.dt-title{flex:auto;min-height:0;padding-right:0}table.dt-cards.switcher-table td:not(.dt-title)[data-label]:before{content:none}table.dt-cards.switcher-table td:not(.dt-title){font-size:var(--t-note);color:var(--dim);flex:none;padding:0}}.picker{justify-content:space-between;align-items:center;gap:var(--s2);height:var(--field);min-height:var(--field);min-width:12ch;max-width:100%;padding:0 var(--s2) 0 var(--s3);background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-ctl);color:var(--ink);font-size:inherit;text-align:left;font-weight:400;display:inline-flex}.picker svg{color:var(--faint);transition:color var(--dur-fast);flex:none}.picker:hover svg,.picker:focus-visible svg{color:var(--amber)}.picker-main{align-items:center;gap:var(--s2);min-width:0;display:inline-flex}.picker-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.picker-value.empty{color:var(--dim)}.loading{min-height:var(--ctl);align-items:center;display:flex}.loading-status{align-items:center;gap:var(--s2);color:var(--dim);font-size:var(--t-note);display:inline-flex}.message-retry{align-items:center;gap:var(--s2);min-height:var(--ctl);flex-wrap:wrap;display:flex}.message-retry>.message{margin:0 auto 0 0}.spinner{flex:none;animation:.8s linear infinite spinner-turn}@keyframes spinner-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{stroke-dasharray:2 3}}.mark{vertical-align:-2px;display:inline-flex}.mark.met{color:var(--sage)}.mark.not{color:var(--rust)}.json-view{overflow:auto}.json-view.fill{box-sizing:border-box;min-height:100%}.modal-body:has(>.json-view.fill){flex-direction:column;display:flex}.modal-body>.json-view.fill{flex:auto;min-height:0}.j-key{color:var(--syn-key)}.j-str{color:var(--syn-str)}.j-num{color:var(--syn-num)}.j-lit{color:var(--syn-lit);font-weight:600}.j-punct{color:var(--dim)}.switch{align-items:center;gap:var(--s2);min-height:var(--ctl);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.switch:disabled{opacity:.5;cursor:not-allowed}@media (pointer:coarse){.switch{min-width:var(--tap)}}.switch-track{border-radius:var(--r-pill);background:var(--surface2);border:1px solid var(--line);width:34px;height:20px;transition:background var(--dur) ease, border-color var(--dur) ease;flex:none;position:relative}.switch[aria-checked=true] .switch-track{background:var(--amber);border-color:var(--amber)}.switch-thumb{background:var(--surface);border:1px solid var(--line);width:16px;height:16px;transition:transform var(--dur) ease, background var(--dur) ease, border-color var(--dur) ease;border-radius:50%;position:absolute;top:1px;left:1px}.switch[aria-checked=true] .switch-thumb{background:var(--on-amber);border-color:var(--on-amber);transform:translate(14px)}.switch-label{font-size:var(--t-note);color:var(--ink)}.prop-value .switch-label{font-size:inherit}.radio-cards{gap:var(--s2);margin:var(--s3) 0 0;border:0;min-width:0;padding:0;display:grid}.radio-cards-legend{margin-bottom:var(--s1);font-size:var(--t-label);color:var(--dim);padding:0;font-weight:600}.radio-card{gap:var(--s2);padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-pane);cursor:pointer;align-items:flex-start;display:flex;position:relative}.radio-card.on{border-color:var(--amber);background:color-mix(in srgb, var(--amber) 12%, transparent)}.radio-card>input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.radio-card:has(>input:focus-visible){outline:2px solid var(--amber);outline-offset:2px}.radio-card-dot{box-sizing:border-box;border:1px solid var(--faint);background:var(--surface);border-radius:50%;flex:none;width:16px;height:16px;margin-top:2px}.radio-card.on .radio-card-dot{border:5px solid var(--amber);background:var(--on-amber)}.radio-card-text{flex:auto;gap:2px;min-width:0;display:grid}.radio-card-text :is(input,button,select,textarea){z-index:1;position:relative}.radio-card-name{overflow-wrap:anywhere;font-weight:600}.radio-card-about{color:var(--dim);font-size:var(--t-label)}.radio-cards.compact{gap:var(--s1);margin:0}.radio-cards.compact .radio-card{align-items:center;gap:var(--s3);min-height:var(--tap);padding:var(--s1) var(--s2)}.radio-cards.compact .radio-card-dot{margin-top:0}.radio-cards.compact .radio-card-name{font-weight:400;font-size:var(--t-note)}.strip{--cell:20px;grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:clamp(1px, calc(100cqi / var(--n) / 6), 4px);min-width:0;display:grid;container-type:inline-size}.strip-cell{height:var(--cell);box-sizing:border-box;min-width:0;color:var(--rust);border-radius:3px;place-items:center;display:grid}.strip-cell.pass{background:var(--sage)}.strip-cell.fail{border:1.5px solid var(--rust);background:color-mix(in srgb, var(--rust) 10%, transparent)}.strip-cell.none{border:1px dashed var(--line)}.strip-x{width:clamp(0px, calc((100cqi / var(--n) - 14px) * 1000), 10px);height:auto}a.strip-cell:hover{outline:1px solid var(--ink);outline-offset:1px}.strip.sm{--cell:14px}.strip.xs{--cell:7px;--w:7px;grid-template-columns:repeat(var(--n), var(--w));gap:1px}.strip.xs.tight{--w:4px}.strip.xs{width:calc(var(--n) * (var(--w) + 1px) - 1px);flex:none}.strip.xs .strip-cell{border-radius:1.5px}.strip.xs .strip-cell.fail{border-width:1.5px}.strip.fit{grid-template-columns:repeat(var(--n), minmax(0, 28px))}.strip-track{background:var(--sage);border-radius:3px;min-width:0;height:20px;display:block;position:relative;overflow:hidden}.strip-track.sm{height:14px}.strip-notch{position:absolute;top:0;bottom:0}.strip-notch.fail{background:var(--surface)}.strip-notch.none{background:var(--surface);border:1px dashed var(--line);box-sizing:border-box}a.strip-track:hover{outline:1px solid var(--ink);outline-offset:1px}.trend{height:var(--trend-h,64px);min-width:0;position:relative}.trend-rule{border-top:1px solid var(--line);height:0;position:absolute;left:0;right:0}.trend-rule.top{top:var(--pad);border-top-style:dashed}.trend-rule.mid{border-top-style:dashed;top:50%}.trend-rule.base{bottom:var(--pad);border-top-color:color-mix(in srgb, var(--dim) 55%, var(--line))}.trend svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.trend-area{fill:color-mix(in srgb, var(--ink) 5%, transparent);stroke:none}.trend-path{fill:none;stroke:var(--ink);stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.trend-cols{grid-template-columns:repeat(var(--n), minmax(0, 1fr));display:grid;position:absolute;inset:0}.trend-col{min-width:0;position:relative}.trend-col:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.trend-dot{box-sizing:border-box;background:var(--surface);border:1.75px solid var(--ink);border-radius:50%;width:8px;height:8px;margin:0 0 -4px -4px;position:absolute;left:50%}.trend-dot.latest{background:var(--ink);width:10px;height:10px;margin:0 0 -5px -5px}.trend.best .trend-path{stroke:var(--sage);stroke-width:2.5px}.trend.best .trend-area{fill:color-mix(in srgb, var(--sage) 14%, transparent)}.trend.best .trend-dot{border-color:var(--sage)}.trend.best .trend-dot.latest{background:var(--sage)}.trend.quiet .trend-path{stroke:var(--dim)}.trend.quiet .trend-dot{border-color:var(--dim)}.trend.quiet .trend-dot.latest{background:var(--dim)}.trend-break{border-left:1px dashed var(--dim);position:absolute;top:0;bottom:0;left:0}.trend-break-label{font-size:var(--t-caption);color:var(--dim);white-space:nowrap;background:var(--surface);padding-right:2px;line-height:1.2;position:absolute;top:0;left:4px}.prompt{gap:var(--s1);margin-top:var(--s2);font-size:var(--t-label);grid-template-columns:minmax(0,1fr);display:grid}.prompt>.prop-name,.prompt>.prop-hint{grid-area:auto}.prompt textarea{field-sizing:content;width:100%;min-height:3lh;max-height:60vh}.pe-head{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.pe-words{margin-top:var(--s1)}.words-view{margin-top:var(--s2);font-size:var(--t-label);gap:var(--s2);display:grid}.wv-words{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.7}.wv-empty{color:var(--dim)}.wv-changed{background:var(--highlight);color:var(--ink);padding:0 var(--s-half);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:2px}.words-view.readonly{padding:var(--s2) var(--s3);border:1px dashed var(--line);border-radius:var(--r-ctl);margin-top:0}.wv-exprs{gap:var(--s1);padding:var(--s2);border:1px dashed var(--line);border-radius:var(--r-ctl);display:grid}.wv-exprs code{font-family:var(--mono);font-size:var(--t-note);color:var(--dim);overflow-wrap:anywhere}.rule-tries{margin:var(--s2) 0 0;gap:var(--s1);font-size:var(--t-label);overflow-wrap:anywhere;padding:0;list-style:none;display:grid}.rule-tries .hit{color:var(--sage)}.rule-tries .fault{color:var(--rust)}.metric-picker .mp-family{margin:0 0 var(--s3);border:0;padding:0}.metric-picker .mp-family legend{font-size:var(--t-label);color:var(--dim);margin-bottom:var(--s1);font-weight:600}.metric-picker .mp-grid{gap:var(--s1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metric-picker .mp-type{text-align:left;min-height:var(--ctl);padding:0 var(--s2);border:1px solid var(--line);border-radius:var(--r-ctl);color:var(--ink);font:inherit;font-size:var(--t-label);cursor:pointer;background:0 0}.metric-picker .mp-type:hover,.metric-picker .mp-type.top-match{border-color:var(--amber)}.metric-picker .mp-type.on{border-color:var(--amber);color:var(--amber);font-weight:600}@media (width<=600px){.metric-picker .mp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (pointer:coarse){.metric-picker .mp-type{min-height:var(--tap)}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:var(--lightningcss-light,#f4f3ef)var(--lightningcss-dark,#17181c);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1e2025);--surface2:var(--lightningcss-light,#eceae4)var(--lightningcss-dark,#262931);--line:var(--lightningcss-light,#d6d3cb)var(--lightningcss-dark,#32363f);--ink:var(--lightningcss-light,#1d1f24)var(--lightningcss-dark,#e6e8ec);--dim:var(--lightningcss-light,#5b606b)var(--lightningcss-dark,#9aa0ab);--faint:var(--lightningcss-light,#80858f)var(--lightningcss-dark,#737882);--amber:var(--lightningcss-light,#955919)var(--lightningcss-dark,#cf9349);--on-amber:var(--lightningcss-light,#fff)var(--lightningcss-dark,#20160a);--sage:var(--lightningcss-light,#3a7240)var(--lightningcss-dark,#7fa87f);--rust:var(--lightningcss-light,#a4472b)var(--lightningcss-dark,#cc7a5e);--on-sage:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0f1a10);--on-rust:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1f0f0a);--tint-amber:color-mix(in srgb, var(--amber) 10%, var(--surface));--dot:var(--lightningcss-light,#dcd9d1)var(--lightningcss-dark,#2a2d34);--scrim:var(--lightningcss-light,#1e202473)var(--lightningcss-dark,#17181cbf);--highlight:var(--lightningcss-light,#fff0a0)var(--lightningcss-dark,#5a4d1a);--w-quarter:25%;--w-half:50%;--w-full:100%;--syn-key:var(--lightningcss-light,#2d5a94)var(--lightningcss-dark,#8db4e6);--syn-str:var(--lightningcss-light,#3a6e40)var(--lightningcss-dark,#9cc69a);--syn-num:var(--lightningcss-light,#7a3fa0)var(--lightningcss-dark,#c9a3e6);--syn-lit:var(--lightningcss-light,#94561a)var(--lightningcss-dark,#e0ac6e);--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--t-shift:0px;--t-caption:calc(11px + var(--t-shift));--t-note:calc(12px + var(--t-shift));--t-label:calc(13px + var(--t-shift));--t-body:calc(14px + var(--t-shift));--t-heading:calc(15px + var(--t-shift));--t-title:calc(16px + var(--t-shift));--t-context:calc(19px + var(--t-shift));--lh:1.5;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s-half:2px;--ctl:32px;--tap:44px;--field:var(--ctl);--r-ctl:7px;--r-pane:10px;--r-pill:999px;--r-sheet:16px;--shadow:var(--lightningcss-light,#1e202424)var(--lightningcss-dark,#0a0b0d73);--e-pop:0 2px 6px var(--shadow);--e-panel:0 4px 12px var(--shadow);--e-modal:0 8px 24px var(--shadow);--z-sticky:5;--z-popover:20;--z-modal:30;--z-toast:40;--dur-fast:.12s;--dur:.15s}@media (pointer:coarse),(width<=600px){:root{--ctl:var(--tap);--field:36px;--t-shift:-1px}}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--ground);background-image:radial-gradient(var(--dot) 1px, transparent 1.5px);background-size:var(--s4) var(--s4);color:var(--ink);font:var(--t-body) / var(--lh) var(--sans);margin:0}:focus-visible,[data-focus-ring]{outline:2px solid var(--amber);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<meta name="color-scheme" content="dark light">
|
|
7
7
|
<title>Components</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/gallery-
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/assets/tokens-
|
|
10
|
-
<link rel="stylesheet" crossorigin href="/assets/tokens-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/gallery-
|
|
8
|
+
<script type="module" crossorigin src="/assets/gallery-ICJNZQIZ.js"></script>
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/tokens-C5ist-xG.js">
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/assets/tokens-CuK6hUMK.css">
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/gallery-bG2vNzKT.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<!-- The fixtures gallery: every component in every state, for the eye and
|
package/lab/web/dist/index.html
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<meta name="color-scheme" content="dark light">
|
|
7
7
|
<title>Evals Lab</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/main-
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/assets/tokens-
|
|
10
|
-
<link rel="stylesheet" crossorigin href="/assets/tokens-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/main-
|
|
8
|
+
<script type="module" crossorigin src="/assets/main-rJDsPFWT.js"></script>
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/tokens-C5ist-xG.js">
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/assets/tokens-CuK6hUMK.css">
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/main-BOkQWswU.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="root"></div>
|
package/package.json
CHANGED
package/lab/presets.json
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"id": "repeat-1.2",
|
|
4
|
-
"label": "repeat 1.2",
|
|
5
|
-
"opts": {
|
|
6
|
-
"repeatPenalty": "1.2"
|
|
7
|
-
}
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"id": "repeat-1.3",
|
|
11
|
-
"label": "repeat 1.3",
|
|
12
|
-
"opts": {
|
|
13
|
-
"repeatPenalty": "1.3"
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"id": "frequency-0.5",
|
|
18
|
-
"label": "frequency 0.5",
|
|
19
|
-
"opts": {
|
|
20
|
-
"frequencyPenalty": "0.5"
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"id": "presence-0.5",
|
|
25
|
-
"label": "presence 0.5",
|
|
26
|
-
"opts": {
|
|
27
|
-
"presencePenalty": "0.5"
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"id": "dry",
|
|
32
|
-
"label": "DRY 0.8 / 1.75 / 2",
|
|
33
|
-
"opts": {
|
|
34
|
-
"dryMultiplier": "0.8",
|
|
35
|
-
"dryBase": "1.75",
|
|
36
|
-
"dryAllowedLength": "2"
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"id": "dry-strong",
|
|
41
|
-
"label": "DRY 2 / 2 / 2",
|
|
42
|
-
"opts": {
|
|
43
|
-
"dryMultiplier": "2",
|
|
44
|
-
"dryBase": "2",
|
|
45
|
-
"dryAllowedLength": "2"
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"id": "grammar",
|
|
50
|
-
"label": "grammar",
|
|
51
|
-
"opts": {
|
|
52
|
-
"grammar": "root ::= \" \"? item (\",\" \" \"? item){0,23}\nitem ::= word (\" \" word){0,3}\nword ::= [A-Za-z] [-A-Za-z']{0,23}"
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"id": "grammar-numbered",
|
|
57
|
-
"label": "grammar + numbers",
|
|
58
|
-
"opts": {
|
|
59
|
-
"grammar": "root ::= \" \"? item (\",\" \" \"? item){0,23}\nitem ::= (num \". \")? word (\" \" word){0,3}\nnum ::= [0-9] [0-9]?\nword ::= [A-Za-z] [-A-Za-z']{0,23}"
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.gallery-index,.gallery-one{max-width:720px;padding:var(--s4);min-width:0;margin:0 auto}.gallery-index h1{font-size:var(--t-title);font-weight:600}.gallery-index ul{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.gallery-index li{gap:var(--s2);flex-wrap:wrap;align-items:baseline;min-height:44px;display:flex}.gallery-index a{color:var(--amber)}.gallery-index code{font-size:var(--t-note);color:var(--faint)}.gallery-nav{gap:var(--s2);margin-bottom:var(--s3);font-size:var(--t-note);color:var(--dim);align-items:center;min-height:44px;display:flex}.gallery-nav a{color:var(--amber)}.note{color:var(--dim);font-size:var(--t-label);margin:0}.gallery-row{gap:var(--s2);flex-wrap:wrap;display:flex}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{$t as e,Bt as t,Cn as n,Ct as r,Dn as i,Dt as a,En as o,Gt as s,Jt as c,Kt as l,Mt as u,Nt as d,Pt as ee,Rt as f,Sn as te,St as ne,Tt as re,Vt as ie,Wt as p,Xt as m,Zt as ae,_n as oe,bn as se,bt as ce,dn as h,en as g,gn as le,gt as _,hn as ue,ht as de,in as fe,ir as pe,jt as v,l as me,ln as y,mt as he,n as ge,pn as _e,qt as b,rn as ve,rr as ye,rt as be,s as x,sn as xe,st as S,un as Se,vt as Ce,xn as we,xt as Te,yt as Ee,zt as C}from"./tokens-C8dqXDHN.js";var w=pe(),De=ye(),T=[{id:`text`,label:`Plain text`,settings:[]},{id:`list`,label:`List`,settings:[{key:`parse`,label:`Parse as`,type:`select`,choices:[{value:`csv`,label:`CSV`},{value:`lines`,label:`One a line`},{value:`json`,label:`JSON array`}]}]}],E=[{id:`case`,label:`Case`,accepts:[`list`],options:[{key:`mode`,label:`Mode`,type:`select`,choices:[{value:`LOWER`,label:`lower`},{value:`SENTENCE`,label:`Sentence`},{value:`TITLE`,label:`Title`},{value:`UPPER`,label:`UPPER`},{value:`NONE`,label:`As replied`}]}],defaults:()=>({type:`case`,mode:`LOWER`})},{id:`join`,label:`Join`,accepts:[`list`],options:[{key:`with`,label:`Separator`,type:`text`}],defaults:()=>({type:`join`,with:`, `})}],Oe=[{name:`language`,type:`value`,value:`English UK`},{name:`geo-location`,type:`value`,value:`Hamilton, Waikato, New Zealand`},{name:`geo`,type:`block`,enabled:!1}],ke=[{path:`group/open`,title:`Group, open`},{path:`group/closed`,title:`Group, closed with a note`},{path:`group/no-menu`,title:`Group without actions`},{path:`group/sub`,title:`Sub-group, level 3`},{path:`group/depth`,title:`Group, three levels deep`},{path:`group/renaming`,title:`Group, renaming`},{path:`menu/disabled`,title:`Menu with a disabled item`},{path:`row/button`,title:`Row actions, one action a button`},{path:`row/menu`,title:`Row actions, two or more in the menu`},{path:`actionbar/states`,title:`Action bar, docked under a header, in its four states`},{path:`tabs/main`,title:`Tab strip, the lab's tabs`},{path:`tabs/section`,title:`Tab strip, a section strip under the lab's`},{path:`header/pipeline`,title:`Context header, a Pipeline`},{path:`header/dataset`,title:`Context header, a Dataset`},{path:`header/source`,title:`Context header, a Source`},{path:`header/switcher`,title:`Switcher, recent and more`},{path:`header/switcher-detail`,title:`Switcher, with a detail`},{path:`picker/fields`,title:`Picker, a profile and a Source`},{path:`multi/closed`,title:`Multi-select, two of three ticked`},{path:`multi/open`,title:`Multi-select, its list open`},{path:`chiplist/words`,title:`Chip-list, words with the input to add more`},{path:`chiplist/empty`,title:`Chip-list, empty with its placeholder`},{path:`workspace/menu`,title:`Workspace trigger and its three-part menu`},{path:`copymove/choose`,title:`Copy or move, a destination chosen`},{path:`copymove/collision`,title:`Copy or move, the name is already taken`},{path:`copymove/confirm`,title:`Copy or move, a Move that breaks a dependency`},{path:`copymove/confirm-pipeline`,title:`Copy or move, a pipeline Move that leaves its data behind`},{path:`share/menu`,title:`Share menu, All / some / New workspaces`},{path:`header/long`,title:`Context header, a long name`},{path:`menu/busy`,title:`Menu with a busy item`},{path:`loading/group`,title:`Loading, inside a group`},{path:`loading/error`,title:`Loading failed, with Retry`},{path:`loading/busy-button`,title:`Busy buttons`},{path:`repeater/empty`,title:`Repeater, empty`},{path:`repeater/min`,title:`Repeater at min 1`},{path:`repeater/between`,title:`Repeater, two of four`},{path:`repeater/max`,title:`Repeater at max`},{path:`repeater/locked`,title:`Repeater, a locked row`},{path:`props/controls`,title:`Property table, every control`},{path:`props/required`,title:`Property table, required only`},{path:`props/long`,title:`Property table, long values`},{path:`props/cards`,title:`Property table, a kind chosen by card`},{path:`props/widths`,title:`Property table, a width per value`},{path:`props/affix`,title:`Property table, a fixed suffix and a field's error`},{path:`props/secret`,title:`Property table, a key held and not held`},{path:`props/code`,title:`Property table, an endpoint and a payload`},{path:`table/sortable`,title:`Table, sortable headers and a row menu`},{path:`table/paged`,title:`Table, paged ten at a time`},{path:`table/select`,title:`DataTable with selection`},{path:`table/select-on`,title:`Table, two rows selected`},{path:`table/filter`,title:`Table with a filter bar`},{path:`table/filter-on`,title:`Table, filtered, with a scope`},{path:`edit/form`,title:`Edit modal, a profile`},{path:`edit/plain`,title:`Edit modal, one section and no menu`},{path:`edit/long`,title:`Edit modal, a form that scrolls`},{path:`edit/status`,title:`Edit modal, a status that is a refusal`},{path:`view/tokens`,title:`Token mappings`},{path:`view/output`,title:`Output with Case`},{path:`view/output-text`,title:`Output, plain text`},{path:`view/output-two`,title:`Output with two modifiers`},{path:`view/output-twice`,title:`Output with the same modifier twice`},{path:`view/output-flow`,title:`Responses with Read as`},{path:`view/field-chip`,title:`Field chips in a target's words, with a changed word`},{path:`view/field-edit`,title:`The Edited target's editable prompt, with Insert field and a highlighted diff`},{path:`view/insert-field`,title:`The Edited target's Insert field menu, open`},{path:`wizard/pill`,title:`Wizard pill, two of four steps done`},{path:`wizard/pill-open`,title:`Wizard pill, its checklist open on the current step`},{path:`switch/off`,title:`Switch, off`},{path:`switch/on`,title:`Switch, on`},{path:`switch/disabled`,title:`Switch, disabled`}],D=ae(),O=()=>{},k=(...e)=>e.map(e=>({label:e,icon:e===`Remove`?m.remove:e===`Clone`?m.clone:m.rename,onSelect:O,destructive:e===`Remove`}));function A({start:e,min:t,max:n,locked:r}){let[i,a]=(0,w.useState)(e);return(0,D.jsx)(de,{noun:`scenario`,items:i,...t===void 0?{}:{min:t},...n===void 0?{}:{max:n},...r?{locked:r}:{},onAdd:()=>a([...i,`Target ${String.fromCharCode(65+i.length)}`]),onRemove:e=>a(i.filter((t,n)=>n!==e)),onClone:e=>a([...i.slice(0,e+1),`${i[e]} copy`,...i.slice(e+1)]),onRename:O,empty:`No targets yet.`,renderItem:(e,t,n)=>(0,D.jsx)(p,{id:`scenario-${t}`,title:e,level:3,actions:n,children:(0,D.jsx)(`p`,{className:`note`,children:`A connection, a profile and a prompt for each job.`})},`${e}-${t}`)})}function Ae(){let[e,t]=(0,w.useState)(Oe),n=(n,r)=>t(e.map(e=>e.name===n?{...e,...r}:e));return(0,D.jsx)(me,{mappings:e,onValue:(e,t)=>n(e,{value:t}),onEnabled:(e,t)=>n(e,{enabled:t}),onEdit:O,onRemove:n=>t(e.filter(e=>e.name!==n)),onAdd:()=>t([...e,{name:`token${e.length+1}`,type:`value`,value:``}])})}function j({start:e,readAs:t}){let[n,r]=(0,w.useState)(e),[i,a]=(0,w.useState)(t);return(0,D.jsx)(be,{id:`output`,out:n,readAs:i,outputKinds:T,modifiers:E,onFormat:e=>r({kind:e,modifiers:n.modifiers.filter(t=>E.find(e=>e.id===t.type)?.accepts.includes(e))}),onReadAs:a,onModifier:(e,t)=>r({...n,modifiers:n.modifiers.map((n,r)=>r===e?t:n)}),onAddModifier:e=>r({...n,modifiers:[...n.modifiers,e]}),onRemoveModifier:e=>r({...n,modifiers:n.modifiers.filter((t,n)=>n!==e)})})}function je(){let[e,t]=(0,w.useState)(`Job 1`),[n,r]=(0,w.useState)(!0);return(0,D.jsx)(p,{id:`renaming`,title:e,actions:[{label:`Rename…`,icon:m.rename,onSelect:()=>r(!0)}],...n?{rename:{value:e,onCommit:n=>{t(n||e),r(!1)},onCancel:()=>r(!1)}}:{},children:(0,D.jsx)(`p`,{className:`note`,children:`Enter or leaving keeps the name; Escape cancels.`})})}function Me(){let[e,t]=(0,w.useState)(`system`);return(0,D.jsx)(`div`,{className:`gallery-row`,style:{justifyContent:`flex-end`},children:(0,D.jsx)(Te,{current:{id:`w1`,slug:`work`,name:`Work`},workspaces:[{id:`w1`,slug:`work`,name:`Work`},{id:`w2`,slug:`side-project`,name:`Side project`},{id:`w3`,slug:`client-demos`,name:`Client demos`}],onSwitch:O,onNew:O,onManage:O,theme:e,onTheme:t})})}var Ne=[{id:`cur`,slug:`work`,name:`Work`,archived:!1,isDefault:!0,lastUsed:`2026-10-08T09:30:00Z`,createdAt:null,pipelines:4,runs:18},{id:`side`,slug:`side-project`,name:`Side project`,archived:!1,isDefault:!1,lastUsed:`2026-10-07T09:30:00Z`,createdAt:null,pipelines:2,runs:6},{id:`demos`,slug:`client-demos`,name:`Client demos`,archived:!1,isDefault:!1,lastUsed:`2026-10-06T09:30:00Z`,createdAt:null,pipelines:1,runs:0}],Pe={id:`cur`,slug:`work`,name:`Work`},Fe={undo:null,offer:O,undoNow:O,dismiss:O},Ie=e=>({copyMovePreflight:async()=>({nameTaken:e,suggestedName:`Daily regressions (copy)`}),copyAsset:async()=>({id:`copy`}),moveAsset:async()=>({id:`same`}),forWorkspace:()=>({})});function M({nameTaken:e=!1,confirm:t=!1,subject:n,dependents:r=[]}){return(0,D.jsx)(he,{api:Ie(e),subject:n??{kind:`filter-set`,id:`f1`,name:`Daily regressions`},workspaces:Ne,current:Pe,dependents:r,undo:Fe,onClose:O,defaultDest:`side`,...t?{defaultConfirm:!0}:{}})}function Le(){let e=[{id:`w1`,name:`Work`},{id:`w2`,name:`Side project`},{id:`w3`,name:`Client demos`}];return(0,D.jsx)(`div`,{style:{display:`grid`,gap:`var(--s3)`,maxWidth:`20rem`},children:[{label:`All workspaces`,shares:void 0},{label:`Some workspaces`,shares:[`w2`]},{label:`New workspaces`,shares:[Ce]},{label:`No workspaces`,shares:[Ee]}].map(t=>(0,D.jsx)(ce,{label:t.label,workspaces:e,shares:t.shares,onChange:O},t.label))})}function N({sections:e,menu:t,status:n,statusBad:r,outcome:i}){return(0,D.jsx)(v,{title:`Lab Ollama`,...n?{status:n}:{},...r?{statusBad:!0}:{},...t?{menu:t}:{},sections:e,actions:[{label:`Test connection`,icon:Se,onSelect:O,outcome:i?{label:i,onOpen:O}:void 0}],onClose:O})}var P=()=>[{key:`name`,label:`Name`,width:`full`,required:!0,control:{type:`text`,value:`Lab Ollama`,onChange:O}},{key:`slug`,label:`Slug`,width:`full`,required:!0,control:{type:`text`,value:`lab-ollama`,onChange:O}},{key:`type`,label:`Type`,required:!0,control:{type:`select`,value:`ollama`,onChange:O,options:[{value:`ollama`,label:`Ollama (Local)`},{value:`anthropic`,label:`Anthropic`}]}},{key:`url`,label:`Address`,width:`full`,control:{type:`text`,value:``,placeholder:`http://127.0.0.1:11434`,onChange:O}},{key:`key`,label:`Key`,control:{type:`secret`,value:``,onChange:O}},{key:`model`,label:`Model`,width:`full`,control:{type:`text`,value:`minicpm-v4.6:latest`,onChange:O}}],F=()=>[{key:`seed`,label:`Seed`,control:{type:`text`,value:``,placeholder:`1234`,onChange:O}},{key:`nPredict`,label:`Reply tokens`,width:`quarter`,control:{type:`text`,value:``,onChange:O}},{key:`temperature`,label:`Temperature`,control:{type:`text`,value:`0.3`,onChange:O}},{key:`repeatPenalty`,label:`Repeat penalty`,width:`quarter`,control:{type:`text`,value:``,onChange:O}}],I=()=>[{key:`endpoint`,label:`Endpoint`,required:!0,control:{type:`code`,text:`http://127.0.0.1:11434/api/chat`}},{key:`prompt`,label:`Prompt`,required:!0,control:{type:`static`,text:`(prompt)`}},{key:`model`,label:`model`,control:{type:`code`,text:`minicpm-v4.6:latest`}},{key:`options`,label:`options`,control:{type:`code`,text:`{"seed":1234,"temperature":0.3}`}}],L={key:`kind`,label:`Response Format`,required:!0,control:{type:`select`,value:`list`,onChange:O,options:T.map(e=>({value:e.id,label:e.label}))}};function R({actions:e}){return(0,D.jsx)(p,{id:`g`,title:`Actions`,children:(0,D.jsx)(a,{label:`Actions`,rows:[{name:`Ask_Claude`}],rowKey:e=>e.name,columns:[{key:`name`,header:`Name`,role:`title`,cell:e=>e.name},{key:`menu`,header:``,role:`menu`,sort:null,cell:()=>(0,D.jsx)(s,{label:`Ask_Claude actions`,actions:e})}]})})}var Re=[[`home`,`Home`,le],[`runs`,`Runs`,te],[`history`,`History`,oe],[`library`,`Library`,ue],[`setup`,`Setup`,xe]],ze=[[`datasets`,`Datasets`,i],[`prompts`,`Prompts`,_e],[`sources`,`Sources`,we]],z=e=>(0,D.jsx)(C,{label:`Lab`,current:e,items:Re.map(([e,t,n])=>({key:e,label:t,icon:n,href:`#/${e}`}))}),B=e=>(0,D.jsx)(C,{label:`Library`,level:`section`,current:e,items:ze.map(([e,t,n])=>({key:e,label:t,icon:n,href:`#/library/${e}`}))}),V=({section:e,children:t})=>(0,D.jsxs)(`div`,{children:[z(e?`library`:`runs`),e&&B(e),t]}),H=(...e)=>e.map(e=>({label:e,icon:e===`Delete`?m.remove:e===`Clone`?m.clone:m.rename,onSelect:O,destructive:e===`Delete`})),Be={"header/pipeline":()=>(0,D.jsx)(V,{children:(0,D.jsx)(f,{kind:`Pipeline`,name:`Pipeline 1`,onPick:O,meta:`2 jobs, 3 targets`,primary:{label:`New pipeline`,icon:y,onSelect:O},actions:H(`Rename…`,`Clone`,`Export YAML`,`Import YAML…`,`Restore…`,`Delete`)})}),"header/dataset":()=>(0,D.jsx)(V,{section:`datasets`,children:(0,D.jsx)(f,{kind:`Dataset`,name:`Demo 1`,onPick:O,meta:`62 cases, 19 graded`,primary:{label:`New dataset`,icon:y,onSelect:O},actions:H(`Rename…`,`Clone`,`Import JSON…`,`Export JSON`,`Restore…`,`Delete`)})}),"header/switcher":()=>(0,D.jsx)(r,{kind:`Pipeline`,value:`p5`,onPick:O,onClose:O,recent:[`p7`,`p6`,`p5`,`p4`,`p3`],options:Array.from({length:13},(e,t)=>({id:`p${t}`,label:[`Demo 1`,`Demo 2`,`Receipts`,`Menus`,`Street signs`,`Labels`,`Plates`,`Posters`,`Packaging`,`Whiteboards`,`Book spines`,`Shop fronts`,`Timetables`][t],used:t<8?{at:`2026-10-0${t+1}T09:30:00Z`,label:S(`2026-10-0${t+1}T09:30:00Z`)}:null}))}),"header/switcher-detail":()=>(0,D.jsx)(r,{kind:`Connection`,value:`c1`,onPick:O,onClose:O,detailLabel:`Model`,recent:[`c3`,`c1`],options:[[`Lab Ollama gemma3 4b`,`gemma3:4b`],[`Lab Ollama minicpm`,`minicpm-v`],[`Anthropic`,`claude-sonnet-4-5`],[`Dell llama`,`qwen2.5vl:7b`],[`OpenAI`,`gpt-5`],[`Docker llama`,`qwen2.5vl:7b`]].map(([e,t],n)=>({id:`c${n}`,label:e,detail:t,used:n<4?{at:`2026-10-1${n}T09:30:00Z`,label:S(`2026-10-1${n}T09:30:00Z`)}:null}))}),"picker/fields":()=>(0,D.jsx)(p,{id:`g`,title:`Target A`,children:(0,D.jsx)(u,{label:`Target A setup`,rows:[{key:`profile`,label:`Profile`,control:{type:`picker`,kind:`Profile`,value:`p2`,usedLabel:`Last changed`,onChange:O,recent:[`p5`,`p4`,`p3`,`p2`,`p1`],options:[{id:`#echo`,label:`Echo`,fixed:!0},...[`Lab Ollama`,`Anthropic`,`Cloud vision`,`Local llama`,`OpenRouter`,`Bench`,`Vision`].map((e,t)=>({id:`p${t}`,label:e,used:t<6?{at:`2026-10-0${t+1}T09:30:00Z`,label:S(`2026-10-0${t+1}T09:30:00Z`)}:null}))]}},{key:`source`,label:`Source`,control:{type:`picker`,kind:`Source`,value:`gone`,usedLabel:`Last changed`,onChange:O,options:[{id:``,label:`Any`,fixed:!0},{id:`gone`,label:`Shoot 3 (missing)`,missing:!0},{id:`s1`,label:`Receipts`}]}}]})}),"header/source":()=>(0,D.jsx)(V,{section:`sources`,children:(0,D.jsx)(f,{kind:`Source`,name:`Demo 1 images`,onPick:O,meta:`File Library. 63 files, 48 MB`,primary:{label:`Upload…`,icon:g,onSelect:O},actions:H(`Rename…`,`Delete`)})}),"workspace/menu":()=>(0,D.jsx)(Me,{}),"copymove/choose":()=>(0,D.jsx)(M,{}),"copymove/collision":()=>(0,D.jsx)(M,{nameTaken:!0}),"copymove/confirm":()=>(0,D.jsx)(M,{confirm:!0,dependents:[{kind:`pipeline`,id:`w1`,name:`Nightly regression`,href:`#/runs`}]}),"copymove/confirm-pipeline":()=>(0,D.jsx)(M,{confirm:!0,subject:{kind:`pipeline`,id:`w1`,name:`Nightly regression`},dependents:[{kind:`eval-group`,id:`g1`,name:`Receipts, 62 cases`,href:`#/library/datasets/g1`},{kind:`source`,id:`s1`,name:`Receipt images`,href:`#/library/sources`}]}),"share/menu":()=>(0,D.jsx)(Le,{}),"header/long":()=>(0,D.jsx)(V,{children:(0,D.jsx)(f,{kind:`Pipeline`,name:`Receipts and handwritten menus, second pass with the tighter prompt and a Contains metric`,onPick:O,meta:`12 jobs, 8 targets`,primary:{label:`New pipeline`,icon:y,onSelect:O},actions:H(`Rename…`,`Clone`,`Delete`)})}),"actionbar/states":()=>(0,D.jsxs)(`div`,{children:[z(`runs`),(0,D.jsx)(f,{kind:`Pipeline`,name:`Demo 1`,onPick:O,meta:`1 job, 2 targets`,docked:!0,primary:{label:`New pipeline`,icon:y,onSelect:O},actions:H(`Rename…`,`Delete`)}),(0,D.jsx)(_,{primary:{label:`Run`,icon:h,onSelect:O},status:(0,D.jsx)(`b`,{children:`Ready to run`})}),(0,D.jsxs)(`div`,{style:{display:`grid`,gap:`var(--s4)`,marginTop:`var(--s5)`},children:[(0,D.jsx)(_,{primary:{label:`Run`,icon:h,onSelect:O,disabled:!0},status:(0,D.jsxs)(D.Fragment,{children:[`Connection "Vision" not found. `,(0,D.jsxs)(`a`,{href:`#/setup`,style:{whiteSpace:`nowrap`},children:[`Open`,`\xA0`,`Setup`]})]})}),(0,D.jsx)(_,{primary:{label:`Run`,icon:h,onSelect:O,disabled:!0},status:(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`b`,{children:`Running`}),` 12 of 42`]}),secondary:{label:`Stop`,icon:fe,onSelect:O},progress:28,progressLabel:`Run progress`}),(0,D.jsx)(_,{primary:{label:`Run`,icon:h,onSelect:O},status:(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`b`,{children:`Done`}),` 42 in 2m`]})})]})]}),"tabs/main":()=>z(`runs`),"tabs/section":()=>(0,D.jsxs)(`div`,{children:[z(`library`),B(`datasets`)]}),"group/open":()=>(0,D.jsx)(p,{id:`g`,title:`Evals`,actions:k(`Change…`,`Remove`),children:(0,D.jsx)(`p`,{className:`note`,children:`The graded set.`})}),"group/closed":()=>(0,D.jsx)(p,{id:`g`,title:`Content`,open:!1,note:`Sample library, 63 files`,actions:k(`Change…`,`Remove`)}),"group/no-menu":()=>(0,D.jsx)(p,{id:`g`,title:`Mapping`,children:(0,D.jsx)(`p`,{className:`note`,children:`Nothing to do to it.`})}),"group/sub":()=>(0,D.jsx)(p,{id:`g`,title:`Job 1`,actions:k(`Rename…`,`Remove`),children:(0,D.jsx)(p,{id:`g-sub`,title:`Scenarios`,level:3,actions:k(`Clear`),children:(0,D.jsx)(`p`,{className:`note`,children:`Inside a pane.`})})}),"group/depth":()=>(0,D.jsxs)(p,{id:`g`,title:`Job 1`,actions:k(`Rename…`,`Remove`),children:[(0,D.jsxs)(p,{id:`g-scenarios`,title:`Scenarios`,level:3,children:[(0,D.jsx)(p,{id:`g-plain`,title:`Plain`,level:3,actions:k(`Rename…`,`Remove`),children:(0,D.jsx)(`p`,{className:`note`,children:`A pane, a section of it, and a thing with a name inside that section.`})}),(0,D.jsx)(p,{id:`g-strict`,title:`Strict`,level:3,actions:k(`Rename…`,`Remove`)})]}),(0,D.jsx)(p,{id:`g-output`,title:`Output`,level:3,children:(0,D.jsx)(`p`,{className:`note`,children:`The next section of the same pane.`})})]}),"group/renaming":()=>(0,D.jsx)(je,{}),"menu/disabled":()=>(0,D.jsx)(p,{id:`g`,title:`Target D`,actions:[{label:`Rename…`,icon:m.rename,onSelect:O},{label:`Clone`,icon:m.clone,onSelect:O,disabled:!0},{label:`Remove`,icon:m.remove,onSelect:O,destructive:!0}]}),"row/button":()=>(0,D.jsx)(R,{actions:[{label:`New pipeline`,icon:h,onSelect:O}]}),"row/menu":()=>(0,D.jsx)(R,{actions:[{label:`View…`,icon:n,onSelect:O},{label:`Download`,icon:o,onSelect:O},{label:`Remove`,icon:ve,onSelect:O,destructive:!0}]}),"menu/busy":()=>(0,D.jsx)(p,{id:`g`,title:`History`,actions:[{label:`Export JSON`,icon:m.export,onSelect:O,busy:!0},{label:`Clear`,icon:m.clear,onSelect:O,destructive:!0}]}),"loading/group":()=>(0,D.jsx)(p,{id:`g`,title:`History`,actions:k(`Rename…`),children:(0,D.jsx)(b,{label:`Runs`,delay:0})}),"loading/error":()=>(0,D.jsx)(p,{id:`g`,title:`History`,children:(0,D.jsx)(b,{label:`Runs`,error:`Runs not loaded: server unreachable.`,onRetry:O})}),"loading/busy-button":()=>(0,D.jsx)(p,{id:`g`,title:`Run`,children:(0,D.jsxs)(`div`,{className:`gallery-row`,children:[(0,D.jsxs)(`button`,{type:`button`,className:`run`,disabled:!0,"aria-busy":!0,children:[(0,D.jsx)(c,{size:16}),`Run`]}),(0,D.jsxs)(`button`,{type:`button`,className:`ghost`,disabled:!0,"aria-busy":!0,children:[(0,D.jsx)(c,{}),`Older`]})]})}),"repeater/empty":()=>(0,D.jsx)(A,{start:[]}),"repeater/min":()=>(0,D.jsx)(A,{start:[`Target A`],min:1}),"repeater/between":()=>(0,D.jsx)(A,{start:[`Target A`,`Target B`],min:1,max:4}),"repeater/max":()=>(0,D.jsx)(A,{start:[`Target A`,`Target B`,`Target C`,`Target D`],min:1,max:4}),"repeater/locked":()=>(0,D.jsx)(A,{start:[`Reply`,`Target A`],locked:(e,t)=>t===0}),"props/controls":()=>(0,D.jsx)(u,{label:`Controls`,onRename:O,onRemove:O,onAdd:O,addLabel:`Add row`,rows:[L,{key:`language`,label:`{language}`,code:!0,control:{type:`text`,value:`English UK`,onChange:O}},{key:`geo`,label:`{geo}…{/geo}`,code:!0,control:{type:`static`,text:`Block`},enabled:{checked:!0,onChange:O}},{key:`image`,label:`Image`,control:{type:`checkbox`,checked:!0,label:`Send`,onChange:O}}]}),"props/required":()=>(0,D.jsx)(u,{label:`Output`,onRemove:O,rows:[L]}),"props/long":()=>(0,D.jsx)(u,{label:`Long`,onRemove:O,rows:[{key:`geo-location`,label:`{geo-location}`,code:!0,control:{type:`text`,value:`Hamilton, Waikato, New Zealand, Southern Hemisphere, Earth`,onChange:O}},{key:`averylongtokennamethatdoesnotbreak`,label:`{averylongtokennamethatdoesnotbreak}`,code:!0,control:{type:`text`,value:``,onChange:O}}]}),"props/cards":()=>(0,D.jsx)(Ue,{}),"props/widths":()=>(0,D.jsx)(u,{label:`Widths`,rows:[{key:`type`,label:`Type`,required:!0,control:{type:`select`,value:`ollama`,onChange:O,options:[{value:`ollama`,label:`Ollama (Local)`},{value:`anthropic`,label:`Anthropic`}]}},{key:`url`,label:`Address`,width:`full`,control:{type:`text`,value:``,placeholder:`http://127.0.0.1:11434`,onChange:O}},{key:`model`,label:`Model`,width:`full`,control:{type:`text`,value:`minicpm-v4.6:latest`,onChange:O}},{key:`seed`,label:`Seed`,control:{type:`text`,value:``,placeholder:`1234`,onChange:O}},{key:`nPredict`,label:`Reply tokens`,width:`quarter`,control:{type:`text`,value:``,onChange:O}},{key:`temperature`,label:`Temperature`,control:{type:`text`,value:`0.2`,onChange:O}},{key:`grammar`,label:`Grammar`,control:{type:`textarea`,value:`root ::= item (", " item)*
|
|
2
|
-
item ::= [a-z ]+`,onChange:O}}]}),"props/affix":()=>(0,D.jsx)(u,{label:`Call`,rows:[{key:`name`,label:`Name`,control:{type:`text`,value:`open-meteo-forecast`,suffix:`.txt`,onChange:O}},{key:`taken`,label:`Name`,error:`open-meteo-forecast-storm.txt is taken.`,control:{type:`text`,value:`open-meteo-forecast-storm`,suffix:`.txt`,onChange:O}},{key:`status`,label:`Status`,width:`quarter`,control:{type:`text`,value:`200`,numeric:!0,onChange:O}},{key:`body`,label:`Body`,control:{type:`textarea`,mono:!0,value:`{
|
|
3
|
-
"category": "utilities"
|
|
4
|
-
}`,onChange:O}}]}),"props/secret":()=>(0,D.jsx)(u,{label:`Keys`,rows:[{key:`held`,label:`Key`,control:{type:`secret`,value:`sk-not-a-real-key-0000`,onChange:O}},{key:`empty`,label:`Key`,control:{type:`secret`,value:``,onChange:O}},{key:`server`,label:`Key`,control:{type:`secret`,value:``,held:!0,onChange:O}}]}),"props/code":()=>(0,D.jsx)(u,{label:`Debug`,rows:[{key:`endpoint`,label:`Endpoint`,required:!0,control:{type:`code`,text:`https://api.anthropic.com/v1/messages`}},{key:`prompt`,label:`Prompt`,required:!0,control:{type:`static`,text:`(prompt)`}},{key:`model`,label:`model`,control:{type:`code`,text:`claude-sonnet-4-5-20250929`}},{key:`options`,label:`options`,control:{type:`code`,text:`{"seed":1234,"temperature":0}`}},{key:`stream`,label:`stream`,control:{type:`code`,text:`false`}}]}),"table/sortable":()=>(0,D.jsx)(Q,{count:4}),"table/paged":()=>(0,D.jsx)(Q,{count:35,pageSize:10}),"table/select":()=>(0,D.jsx)(Q,{count:5,picked:[]}),"table/select-on":()=>(0,D.jsx)(Q,{count:5,picked:[1,3]}),"table/filter":()=>(0,D.jsx)(He,{}),"table/filter-on":()=>(0,D.jsx)(He,{search:`IMG_40`,size:`large`}),"edit/form":()=>(0,D.jsx)(N,{outcome:`Connected`,menu:[{label:`Restore…`,icon:m.restore,onSelect:O},{label:`Apply preset: repeat 1.3`,icon:m.preset,onSelect:O}],sections:[{key:`identity`,rows:P()},{key:`settings`,title:`Settings`,rows:F()},{key:`debug`,title:`Debug`,rows:I(),folded:!0}]}),"edit/plain":()=>(0,D.jsx)(v,{title:`A mapping`,sections:[{key:`one`,rows:[L,{key:`with`,label:`Separator`,control:{type:`text`,value:`, `,onChange:O}}]}],onClose:O}),"edit/long":()=>(0,D.jsx)(N,{menu:[{label:`Restore…`,icon:m.restore,onSelect:O,disabled:!0}],sections:[{key:`identity`,rows:P()},{key:`settings`,title:`Settings`,rows:[...F(),{key:`grammar`,label:`Grammar`,control:{type:`textarea`,value:`root ::= item (", " item)*
|
|
5
|
-
item ::= [a-z ]+`,onChange:O}},{key:`imagePosition`,label:`Image position`,control:{type:`select`,value:`after`,onChange:O,options:[{value:`before`,label:`before the prompt`},{value:`after`,label:`after the prompt`}]}},{key:`cachePrompt`,label:`Cache prompt`,control:{type:`select`,value:`off`,onChange:O,options:[{value:`on`,label:`on`},{value:`off`,label:`off`}]}}]},{key:`debug`,title:`Debug`,rows:I(),folded:!0}]}),"edit/status":()=>(0,D.jsx)(N,{status:`the relay could not reach http://127.0.0.1:11434`,statusBad:!0,sections:[{key:`identity`,rows:P()}]}),"view/tokens":()=>(0,D.jsx)(p,{id:`g`,title:`Token mappings`,level:3,children:(0,D.jsx)(Ae,{})}),"view/output":()=>(0,D.jsx)(j,{start:{kind:`list`,parse:`csv`,modifiers:[{type:`case`,mode:`LOWER`}]}}),"view/output-text":()=>(0,D.jsx)(j,{start:{kind:`text`,modifiers:[]}}),"view/output-two":()=>(0,D.jsx)(j,{start:{kind:`list`,parse:`csv`,modifiers:[{type:`case`,mode:`TITLE`},{type:`join`,with:` | `}]}}),"view/output-twice":()=>(0,D.jsx)(j,{start:{kind:`list`,parse:`csv`,modifiers:[{type:`case`,mode:`TITLE`},{type:`case`,mode:`LOWER`}]}}),"view/output-flow":()=>(0,D.jsx)(j,{start:{kind:`text`,modifiers:[]},readAs:`@body('Ask')?['content']?[0]?['text']`}),"view/field-chip":()=>(0,D.jsx)(p,{id:`g`,title:`Edited`,level:3,children:(0,D.jsxs)(`div`,{className:`prompt`,children:[(0,D.jsx)(`span`,{className:`prop-name`,children:`Prompt`}),(0,D.jsx)(x,{words:`Summarise @{triggerBody()?['text']} in two short sentences for @{variables('Audience')}.`,was:`Summarise @{triggerBody()?['text']} in one sentence for @{variables('Audience')}.`})]})}),"view/field-edit":()=>(0,D.jsx)(Ve,{}),"view/insert-field":()=>(0,D.jsx)(p,{id:`g`,title:`Edited`,level:3,children:(0,D.jsxs)(`div`,{className:`prompt`,children:[(0,D.jsxs)(`div`,{className:`pe-head`,children:[(0,D.jsx)(`span`,{className:`prop-name`,children:`Prompt`}),(0,D.jsx)(ie,{fields:K,onInsert:O,label:`Edited`,defaultOpen:!0})]}),(0,D.jsx)(`textarea`,{"aria-label":`Edited, prompt`,rows:4,defaultValue:G}),(0,D.jsx)(x,{className:`pe-words`,words:G,was:W,showExprs:!1})]})}),"multi/closed":()=>(0,D.jsx)(q,{}),"multi/open":()=>(0,D.jsx)(q,{open:!0}),"chiplist/words":()=>(0,D.jsx)(J,{start:[`clearly`,`obviously`,`as an AI`]}),"chiplist/empty":()=>(0,D.jsx)(J,{start:[]}),"wizard/pill":()=>(0,D.jsx)(Y,{}),"wizard/pill-open":()=>(0,D.jsx)(Y,{open:!0}),"switch/off":()=>(0,D.jsx)(U,{}),"switch/on":()=>(0,D.jsx)(U,{start:!0}),"switch/disabled":()=>(0,D.jsx)(d,{checked:!0,disabled:!0,label:`Fetch now`,onChange:O})};function U({start:e}){let[t,n]=(0,w.useState)(!!e);return(0,D.jsx)(d,{checked:t,onChange:n,label:`Fetch now`})}var W=`Tell me about this location in 1 sentence: @{variables('LocationVar')}`,G=`Tell me about this location in 2 sentences, for someone visiting for the first time: @{variables('LocationVar')}`,K=[{name:`LocationVar`,expr:`@{variables('LocationVar')}`},{name:`text`,expr:`@{triggerBody()?['text']}`}];function Ve(){let[e,t]=(0,w.useState)(G);return(0,D.jsx)(p,{id:`g`,title:`Edited`,level:3,children:(0,D.jsx)(ge,{label:`Edited`,asks:[{key:`connection`,label:`Connection`,control:{type:`static`,text:`Anthropic Direct`}}],prompt:e,onPrompt:t,rows:[{key:`model`,label:`Model`,control:{type:`static`,text:`claude-haiku-4-5`}}],request:[{key:`request`,label:`Request`,control:{type:`code`,text:`POST /v1/messages`}},{key:`body`,label:`Body`,control:{type:`code`,text:JSON.stringify({model:`claude-haiku-4-5`,max_tokens:1024,messages:[{role:`user`,content:e}]},null,2)}}],requestId:`story-edited-request`,words:{text:e,was:W},fields:K})})}function q({open:e=!1}){let[t,n]=(0,w.useState)([`better`,`same`]),r=[{value:`better`,label:`Better`},{value:`same`,label:`Same`},{value:`worse`,label:`Worse`}];return e?(0,D.jsx)(`div`,{style:{minHeight:180},children:(0,D.jsx)(ee,{value:t,options:r,onChange:n,defaultOpen:!0})}):(0,D.jsx)(u,{label:`Judged against recorded`,rows:[{key:`expected`,label:`Expected`,required:!0,control:{type:`multi`,value:t,options:r,onChange:n}}]})}function J({start:e}){let[t,n]=(0,w.useState)(e);return(0,D.jsx)(`div`,{style:{maxWidth:360},children:(0,D.jsx)(ne,{value:t,onChange:n})})}function Y({open:e}){return(0,D.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,padding:`var(--s3)`},children:(0,D.jsx)(t,{name:`Test a workflow`,done:2,total:4,current:2,steps:[{title:`Add a workflow Source`,done:!0},{title:`Test an action`,done:!0},{title:`Run the test`,done:!1},{title:`Compare the replies`,done:!1}],onOpen:O,onCancel:O,...e?{defaultOpen:!0}:{}})})}var X=ke.map(e=>({...e,render:Be[e.path]})),Z=e=>Array.from({length:e},(e,t)=>({name:`IMG_${String(4e3+t*7919%97).padStart(4,`0`)}.jpg`,kb:t*37%900+40}));function He({search:e=``,size:t=`all`}){let[n,r]=(0,w.useState)(e),[i,o]=(0,w.useState)(t),[s,c]=(0,w.useState)(`shoot`),l=Z(12),u=l.filter(e=>e.name.toLowerCase().includes(n.trim().toLowerCase())&&(i===`all`||i===`large`==e.kb>=400));return(0,D.jsxs)(p,{id:`files`,title:`Files`,children:[(0,D.jsx)(re,{noun:`files`,search:{label:`Name`,placeholder:`Search names`,value:n,onChange:r},count:{shown:u.length,total:l.length},filters:[{key:`source`,label:`Source`,value:s,neutral:null,onChange:c,options:[{value:`shoot`,label:`Tuesday shoot`},{value:`samples`,label:`Sample library`}]},{key:`size`,label:`Size`,value:i,onChange:o,options:[{value:`all`,label:`All`},{value:`small`,label:`Small`},{value:`large`,label:`Large`}]}]}),u.length?(0,D.jsx)(a,{label:`Files`,rows:u,rowKey:e=>e.name,columns:[{key:`name`,header:`Name`,cell:e=>e.name},{key:`size`,header:`Size`,sort:e=>e.kb,cell:e=>`${e.kb} KB`}]}):(0,D.jsx)(`p`,{className:`note`,children:`No files match these filters.`})]})}function Q({count:e,pageSize:t,picked:n}){let r=Z(e),[i,o]=(0,w.useState)(r),[s,c]=(0,w.useState)(()=>new Set((n??[]).map(e=>r[e].name)));return(0,D.jsx)(p,{id:`files`,title:`Files`,children:(0,D.jsx)(a,{label:`Files`,cards:!0,rows:i,rowKey:e=>e.name,pageSize:t??null,select:n&&{noun:`file`,selected:s,onChange:c,actions:e=>[{label:`Move…`,icon:m.rename,onSelect:O},{label:`Remove`,icon:m.remove,destructive:!0,onSelect:()=>{o(t=>t.filter(t=>!e.includes(t))),c(new Set)}},{label:`Export`,icon:g,onSelect:O}]},columns:[{key:`name`,header:`Name`,role:`title`,cell:e=>e.name},{key:`size`,header:`Size`,className:`num`,sort:e=>e.kb,cell:e=>`${e.kb} KB`},{key:`menu`,header:``,role:`menu`,sort:null,cell:e=>(0,D.jsx)(l,{label:`${e.name} actions`,actions:[{label:`Rename…`,icon:m.rename,onSelect:O},{label:`Remove`,icon:m.remove,destructive:!0,onSelect:O}]})}]})})}function Ue(){let[t,n]=(0,w.useState)(`files`);return(0,D.jsx)(u,{label:`New Source`,rows:[{key:`type`,label:`Type`,control:{type:`cards`,value:t,onChange:n,options:[{value:`files`,label:`File Library`,icon:(0,D.jsx)(se,{size:16,fill:`currentColor`,"aria-hidden":`true`})},{value:`flow`,label:`Power Automate flow`,icon:(0,D.jsx)(e,{size:16,fill:`currentColor`,"aria-hidden":`true`})}]}},{key:`name`,label:`Name`,control:{type:`text`,value:``,onChange:O}}]})}var $=()=>decodeURIComponent(location.hash.replace(/^#\/?/,``));function We(){let[e,t]=(0,w.useState)($);(0,w.useEffect)(()=>{let e=()=>t($());return window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)},[]);let n=X.find(t=>t.path===e);return n?(0,D.jsxs)(`main`,{className:`gallery-one`,"data-route":n.path,children:[(0,D.jsxs)(`nav`,{className:`gallery-nav`,children:[(0,D.jsx)(`a`,{href:`#/`,children:`All`}),(0,D.jsx)(`span`,{children:n.title})]}),n.render()]}):(0,D.jsxs)(`main`,{className:`gallery-index`,"data-route":``,children:[(0,D.jsx)(`h1`,{children:`Components`}),(0,D.jsx)(`ul`,{children:X.map(e=>(0,D.jsxs)(`li`,{children:[(0,D.jsx)(`a`,{href:`#/${e.path}`,children:e.title}),` `,(0,D.jsx)(`code`,{children:e.path})]},e.path))})]})}(0,De.createRoot)(document.getElementById(`root`)).render((0,D.jsx)(w.StrictMode,{children:(0,D.jsx)(We,{})}));
|