@alisio/server 0.6.0 → 0.8.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/dist/bridges/interaction-bridge.js +5 -0
- package/dist/host/sessions.d.ts +3 -1
- package/dist/host/sessions.js +4 -1
- package/dist/index.js +4 -0
- package/dist/routes/commands.js +3 -0
- package/dist/routes/goal.d.ts +1 -0
- package/dist/routes/goal.js +14 -1
- package/dist/routes/proof.d.ts +5 -0
- package/dist/routes/proof.js +123 -0
- package/dist/web/assets/{AgentPicker-BH-tahQA.js → AgentPicker-CHCnAWFV.js} +1 -1
- package/dist/web/assets/{AgentsModal-C3tHYoW2.js → AgentsModal-C9JANTC0.js} +2 -2
- package/dist/web/assets/{ArtifactPanel-BSU3p4Me.js → ArtifactPanel-CMy7S56f.js} +3 -3
- package/dist/web/assets/{BtwPanel-BDofONkj.js → BtwPanel-DXZdSCeO.js} +1 -1
- package/dist/web/assets/{ChangelogDialog-B5zSEON8.js → ChangelogDialog-B1zYDaIS.js} +1 -1
- package/dist/web/assets/{CopyButton-CMHaee_H.js → CopyButton-DEf4thwH.js} +1 -1
- package/dist/web/assets/{GoalBar-JOJIfBUX.js → GoalBar-CCT6XlB-.js} +1 -1
- package/dist/web/assets/{MemoryTab-C3rFMsRH.js → MemoryTab-lph1Kv8C.js} +1 -1
- package/dist/web/assets/{PermissionsMenu-9enV9rs4.js → PermissionsMenu-oMuzx7AI.js} +1 -1
- package/dist/web/assets/PlanReviewPanel-BXl-gcFF.js +1 -0
- package/dist/web/assets/PlanReviewPanel-DebrpVm2.css +1 -0
- package/dist/web/assets/{PlanViewer-D05Fnb6D.js → PlanViewer-TxP_h0KX.js} +1 -1
- package/dist/web/assets/ProofCard-CxJcKB8q.css +1 -0
- package/dist/web/assets/ProofCard-DFVScMg6.js +1 -0
- package/dist/web/assets/ScratchTab-f751fxOV.js +1 -0
- package/dist/web/assets/SettingsModal-DZhl5vvS.js +1 -0
- package/dist/web/assets/{SpreadsheetPanel-BIo8rckB.js → SpreadsheetPanel-Db_lqwkD.js} +1 -1
- package/dist/web/assets/{TasksTab-C1obfmnr.js → TasksTab-BnafNW7J.js} +1 -1
- package/dist/web/assets/{TextPreview-DPHScW4M.js → TextPreview-DHQCGoiY.js} +1 -1
- package/dist/web/assets/{TrajectoryTab-DcmVZkfm.js → TrajectoryTab-DMJw5g-T.js} +1 -1
- package/dist/web/assets/{agents.module-Brrjzfmx.js → agents.module-BlfBTz7i.js} +1 -1
- package/dist/web/assets/app-BknkHksg.js +3 -0
- package/dist/web/assets/{es-DwvaEaQO.js → es-ySPgx3os.js} +1 -1
- package/dist/web/assets/goal-B1jQsfH5.js +1 -0
- package/dist/web/assets/{i18n-BGlOHOa5.js → i18n-C54K0mc6.js} +1 -1
- package/dist/web/assets/{icons-BWy-tv8u.js → icons-DTCoNVsk.js} +1 -1
- package/dist/web/assets/index-XYSVNCIf.js +79 -0
- package/dist/web/assets/{jsxRuntime-CU76aMLO.js → jsxRuntime-DWBdSTGf.js} +1 -1
- package/dist/web/assets/{panel-INm2KdPq.js → panel-LBWYDX9B.js} +1 -1
- package/dist/web/assets/{shared-DF0YqvHb.js → shared-DLevBtPm.js} +1 -1
- package/dist/web/assets/strings-DDeSYQDZ.js +1 -0
- package/dist/web/assets/{tasks-Dlp_xs_J.js → tasks-Sc_vWQpd.js} +1 -1
- package/dist/web/assets/{view-B4LIdGiS.js → view-BFzfUho9.js} +1 -1
- package/dist/web/assets/{view-CpEZmnjL.js → view-C4NPIs0Y.js} +1 -1
- package/dist/web/assets/{view-CjV4GnT8.js → view-CChCbdid.js} +1 -1
- package/dist/web/assets/view-Cp3A_Nly.js +1 -0
- package/dist/web/assets/{view-DOYsFrMs.js → view-Cs6w0jid.js} +1 -1
- package/dist/web/assets/{view-Ce_7xHIu.js → view-DF9hOwPO.js} +1 -1
- package/dist/web/assets/{view-Dm0LR0Rz.js → view-D_Sw63-N.js} +1 -1
- package/dist/web/assets/{view-BRtrf5cD.js → view-DooqXXnU.js} +1 -1
- package/dist/web/assets/{view-D5UQr-hn.js → view-s7NM5Jdr.js} +1 -1
- package/dist/web/index.html +7 -7
- package/package.json +4 -4
- package/dist/web/assets/PlanReviewPanel-Bv7qk6nv.js +0 -1
- package/dist/web/assets/PlanReviewPanel-DWit05Bs.css +0 -1
- package/dist/web/assets/ScratchTab-Z-Klh15S.js +0 -1
- package/dist/web/assets/SettingsModal-Bax8Y4UT.js +0 -1
- package/dist/web/assets/app-B_dNXnFa.js +0 -3
- package/dist/web/assets/goal-D5qC2_WT.js +0 -1
- package/dist/web/assets/index-CcgO2jIy.js +0 -79
- package/dist/web/assets/strings-Dn5dLhWb.js +0 -1
- package/dist/web/assets/view-CWZ2W6Nn.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{T as e,a as t,b as n,g as r,y as i}from"./i18n-C54K0mc6.js";import{u as a}from"./app-BknkHksg.js";import{t as o}from"./jsxRuntime-DWBdSTGf.js";import{t as s}from"./icons-DTCoNVsk.js";import{F as c,V as l,a as u,c as d,i as f,o as p,r as m,s as h}from"./index-XYSVNCIf.js";import{n as g,t as _}from"./strings-DDeSYQDZ.js";var v=e=>e.map(e=>({keep:!0,text:e.text,required:e.required}));function y(e,t){let n=[],r={},i={};if(e.forEach((e,a)=>{let o=t[a];if(!o)return;if(!o.keep){n.push(a);return}let s=o.text.replace(/\s+/g,` `).trim();s&&s!==e.text&&(r[String(a)]=s),o.required!==e.required&&(i[String(a)]=o.required)}),n.length||Object.keys(r).length||Object.keys(i).length)return JSON.stringify({...n.length?{reject:n}:{},...Object.keys(r).length?{edit:r}:{},...Object.keys(i).length?{required:i}:{}})}var b={planTitle:`_planTitle_1qt60_1`,contextField:`_contextField_1qt60_8`,contextInput:`_contextInput_1qt60_13`,diagramsLine:`_diagramsLine_1qt60_32`,viewerButton:`_viewerButton_1qt60_42`,criteria:`_criteria_1qt60_61`,criteriaHint:`_criteriaHint_1qt60_77`,criterion:`_criterion_1qt60_83`,criterionText:`_criterionText_1qt60_93`,criterionRequired:`_criterionRequired_1qt60_110`};function x({interaction:x}){let S=h(x),C=r(null),w=r(null),[T,E]=i(`choose`),[D,O]=i(``),[k,A]=i(!1),[j,M]=i([]),N=S?.plan.acceptanceCriteria??[];if(n(()=>{E(`choose`),O(``),A(!1),M(v(S?.plan.acceptanceCriteria??[])),C.current?.focus()},[x.interactionId]),n(()=>{T===`text`?w.current?.focus():C.current?.focus()},[T]),!S)return null;let P=e=>{k||(A(!0),a(x.interactionId,p(S.question,e,D,y(N,j))))},F=`plan-review-${x.interactionId}`;return o(`div`,{class:l.dock,children:o(`div`,{ref:C,class:l.panel,role:`dialog`,"aria-labelledby":F,tabIndex:-1,onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),T===`text`?E(`choose`):P(`skip`))},children:[o(`div`,{class:l.head,children:[o(`span`,{class:l.badge,children:o(s,{name:`file`,size:16})}),o(`p`,{class:l.eyebrow,children:[t(`plan.review.eyebrow`),S.plan.revision>1?` · ${t(`plan.review.revision`,{n:S.plan.revision})}`:``]})]}),o(`div`,{class:l.body,children:[o(`h2`,{id:F,class:l.title,children:t(`plan.review.title`)}),o(`p`,{class:b.planTitle,children:S.plan.title}),S.plan.artifact?o(d,{artifact:S.plan.artifact,compact:!0}):null,S.plan.diagrams?.length?o(`p`,{class:b.diagramsLine,children:[o(`span`,{children:_(S.plan.diagrams.length)}),S.plan.artifact?o(`button`,{type:`button`,class:b.viewerButton,"aria-controls":`artifact-panel`,onClick:e=>c(S.plan.artifact.id,e.currentTarget),children:g(`openViewer`)}):null]}):null,N.length&&T===`choose`?o(`fieldset`,{class:b.criteria,disabled:k,children:[o(`legend`,{children:g(`criteriaTitle`)}),o(`p`,{class:b.criteriaHint,children:g(`criteriaHint`)}),N.map((e,t)=>{let n=j[t]??{keep:!0,text:e.text,required:e.required},r=e=>M(n=>n.map((n,r)=>r===t?{...n,...e}:n));return o(`div`,{class:b.criterion,"data-kept":String(n.keep),children:[o(`input`,{type:`checkbox`,checked:n.keep,"aria-label":g(`criterionKeep`),onChange:e=>r({keep:e.target.checked})}),o(`input`,{type:`text`,class:b.criterionText,value:n.text,maxLength:500,disabled:!n.keep,"aria-label":g(`criterionText`),onInput:e=>r({text:e.target.value})}),o(`label`,{class:b.criterionRequired,children:[o(`input`,{type:`checkbox`,checked:n.required,disabled:!n.keep,onChange:e=>r({required:e.target.checked})}),o(`span`,{children:g(`criterionRequired`)})]})]},`${t}-${e.text}`)})]}):null,T===`choose`?o(`div`,{class:l.options,role:`group`,"aria-labelledby":F,children:S.question.options.map(e=>{let n=u(e.value)?e.value:void 0,r=n!==void 0;return o(`button`,{type:`button`,class:l.option,"data-primary":n===`approve`?`true`:void 0,disabled:k,onClick:()=>{n===`context`?E(`text`):n?P(n):k||(A(!0),a(x.interactionId,{[S.question.id]:e.value}))},children:[o(`span`,{class:l.optionLabel,children:r?t(f[n]):e.label}),r?o(`span`,{class:l.optionDescription,children:t(m[n])}):e.description?o(`span`,{class:l.optionDescription,children:e.description}):null]},e.value)})}):o(`label`,{class:b.contextField,children:[o(`span`,{class:`sr-only`,children:t(`plan.review.contextLabel`)}),o(`textarea`,{ref:w,class:b.contextInput,rows:4,value:D,disabled:k,maxLength:2e4,placeholder:t(`plan.review.contextPlaceholder`),onInput:e=>O(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&!e.isComposing&&(e.preventDefault(),D.trim()&&P(`context`))}})]})]}),o(`div`,{class:l.actions,children:T===`text`?o(e,{children:[o(`button`,{type:`button`,class:l.secondary,disabled:k,onClick:()=>E(`choose`),children:t(`plan.review.back`)}),o(`span`,{class:l.gap}),o(`button`,{type:`button`,class:l.primary,disabled:k||!D.trim(),onClick:()=>P(`context`),children:t(`plan.review.send`)})]}):null})]})})}export{x as PlanReviewPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._planTitle_1qt60_1{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 8px;font-size:13px}._contextField_1qt60_8{margin-top:10px;display:block}._contextInput_1qt60_13{resize:vertical;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--code-bg);width:100%;min-height:84px;max-height:240px;color:inherit;font:inherit;padding:9px 12px;font-size:14px}._contextInput_1qt60_13:focus-visible{outline:2px solid var(--accent);outline-offset:1px}._diagramsLine_1qt60_32{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:2px 0 8px;font-size:13px;display:flex}._viewerButton_1qt60_42{border:1px solid var(--border-strong);color:var(--accent-strong);font:inherit;background:0 0;border-radius:999px;padding:3px 10px;font-size:13px}._viewerButton_1qt60_42:hover{background:var(--hover)}._viewerButton_1qt60_42:focus-visible{box-shadow:var(--focus);outline:none}._criteria_1qt60_61{border:1px solid var(--border-strong);border-radius:var(--radius);flex-direction:column;gap:6px;margin:0 0 10px;padding:8px 10px;display:flex}._criteria_1qt60_61 legend{padding:0 4px;font-size:12px;font-weight:600}._criteriaHint_1qt60_77{color:var(--muted);margin:0;font-size:12px}._criterion_1qt60_83{align-items:center;gap:8px;display:flex}._criterion_1qt60_83[data-kept=false]{opacity:.6}._criterionText_1qt60_93{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);min-width:0;color:var(--text);font:inherit;flex:1;padding:4px 8px;font-size:13px}._criterionText_1qt60_93:focus-visible{box-shadow:var(--focus);outline:none}._criterionRequired_1qt60_110{white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:flex}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,b as t,g as n,y as r}from"./i18n-
|
|
1
|
+
import{_ as e,b as t,g as n,y as r}from"./i18n-C54K0mc6.js";import{d as i}from"./app-BknkHksg.js";import{t as a}from"./jsxRuntime-DWBdSTGf.js";import{r as o}from"./panel-LBWYDX9B.js";import{S as s,x as c}from"./index-XYSVNCIf.js";import{n as l}from"./strings-DDeSYQDZ.js";import{a as u,c as d,i as f,l as p,n as m,o as h,r as g,s as _,t as v}from"./ArtifactPanel-CMy7S56f.js";import y from"./view-DF9hOwPO.js";var b={viewer:`_viewer_t9xlp_2`,top:`_top_t9xlp_10`,heading:`_heading_t9xlp_22`,revision:`_revision_t9xlp_33`,nav:`_nav_t9xlp_39`,navButton:`_navButton_t9xlp_48`,link:`_link_t9xlp_66`,part:`_part_t9xlp_67`,card:`_card_t9xlp_68`,retry:`_retry_t9xlp_69`,partTitle:`_partTitle_t9xlp_80`,summary:`_summary_t9xlp_89`,goals:`_goals_t9xlp_96`,goal:`_goal_t9xlp_96`,stepper:`_stepper_t9xlp_125`,stage:`_stage_t9xlp_132`,bubble:`_bubble_t9xlp_150`,stageTitle:`_stageTitle_t9xlp_163`,stageDetail:`_stageDetail_t9xlp_170`,cards:`_cards_t9xlp_178`,cardHead:`_cardHead_t9xlp_196`,cardTitle:`_cardTitle_t9xlp_203`,chip:`_chip_t9xlp_210`,badge:`_badge_t9xlp_219`,explanation:`_explanation_t9xlp_233`,diagram:`_diagram_t9xlp_241`,diagramError:`_diagramError_t9xlp_249`,removed:`_removed_t9xlp_278`,notes:`_notes_t9xlp_284`,note:`_note_t9xlp_284`,noteKind:`_noteKind_t9xlp_312`,planBody:`_planBody_t9xlp_322`,planSection:`_planSection_t9xlp_326`,related:`_related_t9xlp_332`,hint:`_hint_t9xlp_342`,state:`_state_t9xlp_351`,stateError:`_stateError_t9xlp_361`};function x(e){let t=document.getElementById(e);if(!t)return;let n=!window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches;t.scrollIntoView({block:`start`,behavior:n?`smooth`:`auto`}),t.focus({preventScroll:!0})}var S=e=>l(`type_${e}`);function C(e){let{diagram:t,load:n,manifest:r}=e,i=r?m(r,t):void 0,o=`${g(t.id)}-title`;return a(`article`,{id:g(t.id),class:b.card,tabIndex:-1,"aria-labelledby":o,"aria-describedby":t.explanation?`${o}-text`:void 0,children:[a(`div`,{class:b.cardHead,children:[a(`h4`,{id:o,class:b.cardTitle,children:t.title}),a(`span`,{class:b.chip,children:S(t.type)}),i&&r?a(`span`,{class:b.badge,"data-kind":i,children:l(i===`new`?`badgeNew`:`badgeUpdated`,{n:r.revision})}):null]}),t.explanation?a(`p`,{id:`${o}-text`,class:b.explanation,children:t.explanation}):null,a(`div`,{class:b.diagram,children:n?.source===void 0?n?.error?a(`p`,{class:b.diagramError,role:`note`,children:l(`diagramFailed`,{error:n.error})}):null:a(y,{block:{kind:`mermaid`,source:n.source,title:t.id},themed:!0})}),t.section&&e.sectionTitle?a(`button`,{type:`button`,class:b.link,"aria-label":l(`goToSection`,{name:e.sectionTitle}),onClick:()=>x(d(t.section)),children:l(`planSection`,{name:e.sectionTitle})}):null]})}function w(e){let t=`${_(e.id)}-title`;return a(`section`,{id:_(e.id),class:b.part,tabIndex:-1,"aria-labelledby":t,children:[a(`h3`,{id:t,class:b.partTitle,children:e.title}),e.children]})}function T(e){if(![`ArrowRight`,`ArrowLeft`,`Home`,`End`].includes(e.key))return;let t=[...e.currentTarget.querySelectorAll(`button`)],n=t.indexOf(document.activeElement);n<0||(e.preventDefault(),t[e.key===`Home`?0:e.key===`End`?t.length-1:(n+(e.key===`ArrowRight`?1:-1)+t.length)%t.length]?.focus())}function E(o){let{artifactId:s,files:c}=o,[u,d]=r({status:`loading`}),[f,p]=r(0),m=n({artifactId:s,files:c});m.current={artifactId:s,files:c};let g=e(()=>v(e=>h({files:m.current.files,fetchText:t=>i.artifactText(e,t)})),[]);return t(()=>{d({status:`loading`}),g(s).then(e=>{e&&d({status:`ready`,bundle:e})},e=>d({status:`error`,message:e instanceof Error?e.message:String(e)}))},[s,f,g]),u.status===`loading`?a(`div`,{class:b.state,"aria-busy":`true`,children:l(`loading`)}):u.status===`error`?a(`div`,{class:`${b.state} ${b.stateError}`,role:`status`,children:[a(`p`,{children:l(`loadFailed`)}),a(`p`,{children:u.message}),a(`button`,{type:`button`,class:b.retry,onClick:()=>p(e=>e+1),children:l(`retry`)})]}):a(D,{bundle:u.bundle,...o})}function D(t){let{bundle:n,artifactId:r}=t,i=n.manifest,m=i?i.diagrams:n.fallbackDiagrams,{components:h,others:v}=u(m),y=e(()=>p(n.markdown),[n.markdown]),S=e(()=>{let e=new Map;for(let t of y)e.set(t.id,t.title);return e},[y]),E=e(()=>f(m),[m]),D=e(()=>({image:e=>o(e,r,t.entry),workspaceLinks:!1}),[r,t.entry]),O=i?.considerations??[],k=[...i?.summary?[{id:`summary`,label:l(`part.summary`)}]:[],...i?.goals.length?[{id:`goals`,label:l(`part.goals`)}]:[],...i?.stages.length?[{id:`stages`,label:l(`part.stages`)}]:[],...v.length?[{id:`diagrams`,label:l(`part.diagrams`)}]:[],...h.length?[{id:`components`,label:l(`part.components`)}]:[],...O.length?[{id:`considerations`,label:l(`part.considerations`)}]:[],{id:`plan`,label:l(`part.plan`)}],A=e=>a(C,{diagram:e,load:n.diagrams[e.id],manifest:i,sectionTitle:e.section?S.get(e.section):void 0},e.id);return a(`div`,{class:b.viewer,role:`region`,"aria-label":l(`label`),children:[a(`div`,{class:b.top,children:[a(`h2`,{class:b.heading,children:[a(`span`,{children:i?.title??t.title}),i&&i.revision>1?a(`span`,{class:b.revision,children:l(`revision`,{n:i.revision})}):null]}),a(`nav`,{class:b.nav,"aria-label":l(`nav`),onKeyDown:T,children:k.map(e=>a(`button`,{type:`button`,class:b.navButton,onClick:()=>x(_(e.id)),children:e.label},e.id))})]}),i?null:a(`p`,{class:b.hint,children:l(`noManifest`)}),i?.summary?a(w,{id:`summary`,title:l(`part.summary`),children:a(`p`,{class:b.summary,children:i.summary})}):null,i?.goals.length?a(w,{id:`goals`,title:l(`part.goals`),children:a(`ul`,{class:b.goals,children:i.goals.map((e,t)=>a(`li`,{class:b.goal,children:e},t))})}):null,i?.stages.length?a(w,{id:`stages`,title:l(`part.stages`),children:a(`ol`,{class:b.stepper,children:i.stages.map((e,t)=>a(`li`,{class:b.stage,children:[a(`span`,{class:b.bubble,"aria-hidden":`true`,children:t+1}),a(`div`,{children:[a(`p`,{class:b.stageTitle,children:[a(`span`,{class:`sr-only`,children:[l(`stage`,{n:t+1}),`: `]}),e.title]}),e.detail?a(`p`,{class:b.stageDetail,children:e.detail}):null]})]},t))})}):null,v.length?a(w,{id:`diagrams`,title:l(`part.diagrams`),children:[a(`div`,{class:b.cards,children:v.map(A)}),i?.removed.length?a(`p`,{class:b.removed,children:l(`removed`,{n:i.revision,names:i.removed.map(e=>e.title).join(`, `)})}):null]}):null,h.length?a(w,{id:`components`,title:l(`part.components`),children:[a(`div`,{class:b.cards,children:h.map(A)}),!v.length&&i?.removed.length?a(`p`,{class:b.removed,children:l(`removed`,{n:i.revision,names:i.removed.map(e=>e.title).join(`, `)})}):null]}):null,!m.length&&i?.removed.length?a(w,{id:`diagrams`,title:l(`part.diagrams`),children:a(`p`,{class:b.removed,children:l(`removed`,{n:i.revision,names:i.removed.map(e=>e.title).join(`, `)})})}):null,O.length?a(w,{id:`considerations`,title:l(`part.considerations`),children:a(`div`,{class:b.notes,children:O.map((e,t)=>a(`p`,{class:b.note,"data-kind":e.kind,children:[a(`span`,{class:b.noteKind,children:l(`kind.${e.kind}`)}),e.text]},t))})}):null,a(w,{id:`plan`,title:l(`part.plan`),children:a(`div`,{class:b.planBody,children:a(s.Provider,{value:D,children:y.length?y.map((e,t)=>{let n=E.get(e.id)??[];return a(`section`,{id:d(e.id),class:b.planSection,tabIndex:-1,children:[a(c,{text:e.text}),n.length?a(`p`,{class:b.related,children:[a(`span`,{children:[l(`diagramsFor`),`:`]}),n.map(e=>a(`button`,{type:`button`,class:b.link,"aria-label":l(`goToDiagram`,{name:e.title}),onClick:()=>x(g(e.id)),children:e.title},e.id))]}):null]},`${e.id}-${t}`)}):a(`p`,{class:b.explanation,children:l(`empty`)})})})})]})}export{E as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._wrap_me0dk_1{max-width:var(--column);flex-direction:column;gap:6px;margin:0 auto;padding:0 24px 8px;display:flex}._panel_me0dk_10{padding:4px 2px 12px}._card_me0dk_14{border:1px solid var(--border-strong);border-left-width:3px;border-left-color:var(--accent);border-radius:var(--radius);background:var(--panel);flex-direction:column;gap:8px;padding:10px 12px;display:flex}._head_me0dk_26{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}._title_me0dk_33{margin:0;font-size:13px;font-weight:600}._summary_me0dk_39,._note_me0dk_40{color:var(--muted);margin:0;font-size:12px}._unmet_me0dk_46{color:var(--warn);font-size:12px;font-weight:600}._list_me0dk_52{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}._row_me0dk_61{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:3px;padding:6px 8px;display:flex}._rowHead_me0dk_71{align-items:baseline;gap:8px;min-width:0;display:flex}._status_me0dk_78{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border-radius:999px;flex:none;padding:1px 8px;font-size:11.5px;font-weight:600}._status_me0dk_78[data-status=failed]{background:var(--danger-soft);color:var(--danger)}._status_me0dk_78[data-status=verified]{color:var(--ok);background:#7ccf8e29}._status_me0dk_78[data-status=not_checked],._status_me0dk_78[data-status=manual_review]{color:var(--warn);background:#e3b55c29}._status_me0dk_78[data-status=not_applicable]{background:var(--hover);color:var(--muted)}._text_me0dk_110{overflow-wrap:anywhere;flex:1;min-width:0;font-size:13px}._required_me0dk_117{color:var(--faint);flex:none;font-size:11px}._required_me0dk_117[data-required=true]{color:var(--text);font-weight:600}._command_me0dk_128{overflow-wrap:anywhere;background:var(--code-bg);border-radius:4px;align-self:flex-start;max-width:100%;padding:1px 6px;font-size:12px}._divergences_me0dk_138{border-left:3px solid var(--warn);color:var(--warn);margin:0;padding:6px 10px;font-size:12px;list-style:none}._actions_me0dk_147{flex-wrap:wrap;gap:4px 14px;display:flex}._inline_me0dk_153>summary{cursor:pointer;color:var(--accent-strong);font-size:12px}._inline_me0dk_153>summary:focus-visible{box-shadow:var(--focus);outline:none}._form_me0dk_164{flex-direction:column;gap:6px;margin-top:6px;display:flex}._field_me0dk_171{flex-direction:column;gap:2px;font-size:12px;display:flex}._field_me0dk_171 small{color:var(--muted)}._field_me0dk_171 input[type=text]{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit;padding:5px 8px}._check_me0dk_191{align-items:center;gap:6px;font-size:12px;display:flex}._primary_me0dk_198,._danger_me0dk_199,._open_me0dk_200{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--raised);color:var(--text);font:inherit;cursor:pointer;align-self:flex-start;padding:4px 10px;font-size:12px}._primary_me0dk_198{border-color:var(--accent);color:var(--accent-strong)}._danger_me0dk_199{border-color:var(--danger);color:var(--danger)}._open_me0dk_200{align-self:center}._exports_me0dk_226{gap:14px;margin:0;font-size:12px;display:flex}@media (prefers-reduced-motion:reduce){._card_me0dk_14 *{transition:none}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{T as e,b as t,h as n,o as r,r as i}from"./i18n-C54K0mc6.js";import{$ as a,E as o,M as s,Q as c,Vt as l,d as u,mt as d,tn as f}from"./app-BknkHksg.js";import{t as p}from"./jsxRuntime-DWBdSTGf.js";import{overrideGoal as m}from"./goal-B1jQsfH5.js";var h={label:`Acceptance criteria`,summary:`{verified} of {total} verified`,unmet:`{n} required not verified`,"status.verified":`Verified`,"status.failed":`Failed`,"status.not_checked":`Not checked`,"status.manual_review":`Manual review`,"status.not_applicable":`Not applicable`,stale:`stale: edited after the evidence`,required:`Required`,optional:`Optional`,evidence:`Evidence: {callId} · exit {code}`,noEvidence:`No evidence yet`,naReason:`Not applicable: {reason}`,divergence:`Claimed without evidence: “{claim}” ({status})`,empty:`No criteria yet. Add one: Alisio marks it verified only when a command it ran proves it.`,add:`Add criterion`,text:`Criterion`,command:`Command that verifies it (optional)`,commandHint:`Verified when the agent runs exactly this command and it succeeds.`,requiredLabel:`Required`,edit:`Edit`,save:`Save`,cancel:`Cancel`,notApplicable:`Not applicable`,reason:`Reason`,override:`Complete the goal anyway`,overrideHint:`Required criteria are not verified. Only you can complete the goal over them; the reason is kept.`,overrideConfirm:`Complete the goal`,"export.md":`Export Markdown`,"export.json":`Export JSON`,disclaimer:`Proof records operational evidence; it does not prove that the code is correct.`,failed:`Could not update the criteria: {error}`,open:`Open the Proof panel`,panel:`Proof`},g={label:`Criterios de aceptación`,summary:`{verified} de {total} verificados`,unmet:`{n} requeridos sin verificar`,"status.verified":`Verificado`,"status.failed":`Falló`,"status.not_checked":`Sin comprobar`,"status.manual_review":`Revisión manual`,"status.not_applicable":`No aplica`,stale:`caducada: se editó después de la evidencia`,required:`Requerido`,optional:`Opcional`,evidence:`Evidencia: {callId} · salida {code}`,noEvidence:`Aún sin evidencia`,naReason:`No aplica: {reason}`,divergence:`Afirmado sin evidencia: «{claim}» ({status})`,empty:`Aún no hay criterios. Añade uno: Alisio lo marca verificado solo cuando un comando que ejecutó lo demuestra.`,add:`Añadir criterio`,text:`Criterio`,command:`Comando que lo verifica (opcional)`,commandHint:`Se verifica cuando el agente ejecuta exactamente este comando y termina bien.`,requiredLabel:`Requerido`,edit:`Editar`,save:`Guardar`,cancel:`Cancelar`,notApplicable:`No aplica`,reason:`Motivo`,override:`Completar el objetivo de todos modos`,overrideHint:`Hay criterios requeridos sin verificar. Solo tú puedes completar el objetivo sobre ellos; el motivo queda registrado.`,overrideConfirm:`Completar el objetivo`,"export.md":`Exportar Markdown`,"export.json":`Exportar JSON`,disclaimer:`Proof registra evidencia operativa; no demuestra que el código sea correcto.`,failed:`No se pudieron actualizar los criterios: {error}`,open:`Abrir el panel Proof`,panel:`Proof`},_=(e,t)=>r((i.value===`es`?g:h)[e]??h[e],t),v=e=>_(`status.${e}`),y=n(void 0),b=n(!1);function x(e){let t=new Map(e.evidence.map(e=>[e.evidenceId,e]));return e.criteria.map(e=>{let n=[...e.evidenceIds].map(e=>t.get(e)).filter(e=>!!e).at(-1);return{criterionId:e.criterionId,text:e.text,status:e.status,stale:!!e.stale,required:e.required,origin:e.origin,...e.verifier?.kind===`command`||e.verifier?.kind===`coverage`?{command:e.verifier.command}:{},...n?{evidence:{callId:n.callId,...n.exitCode===void 0?{}:{exitCode:n.exitCode},capturedAt:n.capturedAt,ok:n.ok}}:{},...e.notApplicableReason?{notApplicableReason:e.notApplicableReason}:{}}})}function S(e){let t=t=>e.criteria.filter(e=>e.status===t).length;return{total:e.criteria.length,verified:t(`verified`),failed:t(`failed`),notChecked:t(`not_checked`),manualReview:t(`manual_review`),notApplicable:t(`not_applicable`),requiredUnmet:e.criteria.filter(e=>e.required&&(e.status===`failed`||e.status===`not_checked`||e.status===`manual_review`)).length}}function C(e,t){return!e||!t||e.status!==`active`&&e.status!==`paused`&&e.status!==`blocked`?!1:S(t).requiredUnmet>0}var w=(e,t)=>`/api/sessions/${encodeURIComponent(e)}/proof/export?format=${t}`,T=e=>`/api/sessions/${encodeURIComponent(e)}/proof`;async function E(e){try{let t=await u.request(`GET`,T(e));o.value===e&&(y.value=t,c.value=t.criteria.length)}catch{}}async function D(e,t){b.value=!0;try{let n=await t();return o.value===e&&(y.value=n,c.value=n.criteria.length),!0}catch(e){return d(_(`failed`,{error:l(e)})),!1}finally{b.value=!1}}var O=(e,t)=>D(e,()=>u.request(`POST`,`${T(e)}/criteria`,{text:t.text,...t.verify?{verify:t.verify}:{},...t.required===void 0?{}:{required:t.required}})),k=(e,t,n)=>D(e,()=>u.request(`POST`,`${T(e)}/criteria`,{criterionId:t,...n})),A=(e,t,n)=>D(e,()=>u.request(`POST`,`${T(e)}/criteria/${encodeURIComponent(t)}/not-applicable`,{reason:n})),j={wrap:`_wrap_me0dk_1`,panel:`_panel_me0dk_10`,card:`_card_me0dk_14`,head:`_head_me0dk_26`,title:`_title_me0dk_33`,summary:`_summary_me0dk_39`,note:`_note_me0dk_40`,unmet:`_unmet_me0dk_46`,list:`_list_me0dk_52`,row:`_row_me0dk_61`,rowHead:`_rowHead_me0dk_71`,status:`_status_me0dk_78`,text:`_text_me0dk_110`,required:`_required_me0dk_117`,command:`_command_me0dk_128`,divergences:`_divergences_me0dk_138`,actions:`_actions_me0dk_147`,inline:`_inline_me0dk_153`,form:`_form_me0dk_164`,field:`_field_me0dk_171`,check:`_check_me0dk_191`,primary:`_primary_me0dk_198`,danger:`_danger_me0dk_199`,open:`_open_me0dk_200`,exports:`_exports_me0dk_226`},M=(e,t)=>String(new FormData(e).get(t)??``).trim();function N(e){return t=>{t.preventDefault();let n=t.currentTarget;e(n),n.reset()}}function P(e){let{row:t,panel:n}=e,r=n&&t.status!==`not_applicable`;return p(`li`,{class:j.row,"data-criterion":t.criterionId,"data-status":t.status,"data-stale":t.stale?`true`:void 0,children:[p(`div`,{class:j.rowHead,children:[p(`span`,{class:j.status,"data-status":t.status,children:v(t.status)}),p(`span`,{class:j.text,children:t.text}),p(`span`,{class:j.required,"data-required":t.required?`true`:void 0,children:t.required?_(`required`):_(`optional`)})]}),t.stale?p(`p`,{class:j.note,children:_(`stale`)}):null,t.command?p(`code`,{class:j.command,children:t.command}):null,p(`p`,{class:j.note,children:t.notApplicableReason?_(`naReason`,{reason:t.notApplicableReason}):t.evidence?_(`evidence`,{callId:t.evidence.callId,code:t.evidence.exitCode??`-`}):t.status===`manual_review`?``:_(`noEvidence`)}),r?p(`div`,{class:j.actions,children:[p(`details`,{class:j.inline,children:[p(`summary`,{children:_(`edit`)}),p(`form`,{class:j.form,onSubmit:N(n=>e.onSave(t.criterionId,{text:M(n,`text`),required:new FormData(n).get(`required`)===`on`})),children:[p(`label`,{class:j.field,children:[p(`span`,{children:_(`text`)}),p(`input`,{name:`text`,type:`text`,required:!0,maxLength:600,value:t.text})]}),p(`label`,{class:j.check,children:[p(`input`,{name:`required`,type:`checkbox`,checked:t.required}),p(`span`,{children:_(`requiredLabel`)})]}),p(`button`,{type:`submit`,class:j.primary,children:_(`save`)})]})]}),p(`details`,{class:j.inline,children:[p(`summary`,{children:_(`notApplicable`)}),p(`form`,{class:j.form,onSubmit:N(n=>e.onNotApplicable(t.criterionId,M(n,`reason`))),children:[p(`label`,{class:j.field,children:[p(`span`,{children:_(`reason`)}),p(`input`,{name:`reason`,type:`text`,required:!0,maxLength:500})]}),p(`button`,{type:`submit`,class:j.primary,children:_(`save`)})]})]})]}):null]})}function F(t){let{ledger:n,mode:r,goal:i,sessionId:a}=t,o=r===`panel`,s=S(n),c=x(n);return p(`section`,{class:j.card,"data-mode":r,"aria-label":_(`label`),children:[p(`header`,{class:j.head,children:[p(`h3`,{class:j.title,children:_(`label`)}),p(`span`,{class:j.summary,children:_(`summary`,{verified:s.verified,total:s.total})}),s.requiredUnmet?p(`span`,{class:j.unmet,children:_(`unmet`,{n:s.requiredUnmet})}):null]}),c.length?p(`ul`,{class:j.list,children:c.map(e=>p(P,{row:e,panel:o,onSave:t.onSave,onNotApplicable:t.onNotApplicable},e.criterionId))}):o?p(`p`,{class:j.note,children:_(`empty`)}):null,n.divergences.length?p(`ul`,{class:j.divergences,role:`note`,children:n.divergences.map(e=>p(`li`,{children:_(`divergence`,{claim:e.claim,status:v(e.actual)})},`${e.claim}-${e.actual}`))}):null,o?p(e,{children:[p(`details`,{class:j.inline,open:!c.length,children:[p(`summary`,{children:_(`add`)}),p(`form`,{class:j.form,onSubmit:N(e=>t.onAdd({text:M(e,`text`),...M(e,`verify`)?{verify:M(e,`verify`)}:{},required:new FormData(e).get(`required`)===`on`})),children:[p(`label`,{class:j.field,children:[p(`span`,{children:_(`text`)}),p(`input`,{name:`text`,type:`text`,required:!0,maxLength:600})]}),p(`label`,{class:j.field,children:[p(`span`,{children:_(`command`)}),p(`input`,{name:`verify`,type:`text`,maxLength:1e3,placeholder:`pnpm test`}),p(`small`,{children:_(`commandHint`)})]}),p(`label`,{class:j.check,children:[p(`input`,{name:`required`,type:`checkbox`}),p(`span`,{children:_(`requiredLabel`)})]}),p(`button`,{type:`submit`,class:j.primary,children:_(`add`)})]})]}),C(i,n)?p(`details`,{class:j.inline,"data-override":`true`,children:[p(`summary`,{children:_(`override`)}),p(`form`,{class:j.form,onSubmit:N(e=>t.onOverride(M(e,`reason`))),children:[p(`p`,{class:j.note,children:_(`overrideHint`)}),p(`label`,{class:j.field,children:[p(`span`,{children:_(`reason`)}),p(`input`,{name:`reason`,type:`text`,required:!0,maxLength:500})]}),p(`button`,{type:`submit`,class:j.danger,children:_(`overrideConfirm`)})]})]}):null,p(`p`,{class:j.exports,children:[p(`a`,{href:w(a,`md`),download:`proof.md`,children:_(`export.md`)}),p(`a`,{href:w(a,`json`),download:`proof.json`,children:_(`export.json`)})]}),p(`p`,{class:j.note,children:_(`disclaimer`)})]}):null]})}function I(){let e=o.value,n=a.value;return t(()=>{e&&E(e)},[e,n]),e}function L(){let e=I(),t=y.value;return!e||!t||t.sessionId!==e||!t.criteria.length?null:p(`div`,{class:j.wrap,children:[p(F,{ledger:t,mode:`card`,goal:null,sessionId:e,onAdd:()=>void 0,onSave:()=>void 0,onNotApplicable:()=>void 0,onOverride:()=>void 0}),p(`button`,{type:`button`,class:j.open,onClick:f,children:_(`open`)})]})}function R(){let e=I(),t=y.value;return!e||!t||t.sessionId!==e?null:p(`div`,{class:j.panel,children:p(F,{ledger:t,mode:`panel`,goal:s.value,sessionId:e,onAdd:t=>void O(e,t),onSave:(t,n)=>void k(e,t,n),onNotApplicable:(t,n)=>void A(e,t,n),onOverride:e=>{let t=s.value;t&&m(t,e)}})})}export{L as ProofCard,R as ProofTab};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{T as e,b as t,h as n,o as r,r as i,y as a}from"./i18n-C54K0mc6.js";import{Dt as o,E as s,Sn as c,_n as l,bn as u,d,it as f,xn as p,yn as m}from"./app-BknkHksg.js";import{t as h}from"./jsxRuntime-DWBdSTGf.js";import{t as g}from"./icons-DTCoNVsk.js";import{n as _}from"./TextPreview-DHQCGoiY.js";var v=()=>({sessionId:``,status:`idle`,clearing:!1}),y=n(v()),b=()=>{y.value=v()},x=e=>e instanceof Error?e.message:String(e);async function S(e){y.value={...y.value.sessionId===e?y.value:v(),sessionId:e,status:`loading`};try{let t=await d.scratch(e);if(y.value.sessionId!==e)return;let{selected:n}=y.value,{selected:r,error:i,...a}=y.value;y.value={...a,status:`ready`,listing:t,...n&&t.files.some(e=>e.name===n)?{selected:n}:{}}}catch(t){if(y.value.sessionId!==e)return;let{listing:n,selected:r,...i}=y.value;y.value={...i,status:`error`,error:x(t)}}}function C(e){let t=y.value;if(e!==void 0&&!t.listing?.files.some(t=>t.name===e))return;let{selected:n,...r}=t;y.value=e===void 0?r:{...r,selected:e}}async function w(e){if(y.value.sessionId!==e)return;let{notice:t,...n}=y.value;y.value={...n,clearing:!0};try{let t=await d.clearScratch(e);if(y.value.sessionId!==e)return;let{selected:n,...r}=y.value;y.value={...r,clearing:!1,...r.listing?{listing:{...r.listing,files:[],usedBytes:0}}:{},notice:{kind:`cleared`,removed:t.removed,freedBytes:t.freedBytes}}}catch(t){if(y.value.sessionId!==e)return;let n=t instanceof l&&t.code===`runs_active`?{kind:`runsActive`}:t instanceof l&&t.status===403?{kind:`readOnly`}:{kind:`failed`,message:x(t)};y.value={...y.value,clearing:!1,notice:n}}}var T={tab:`_tab_1plr6_1`,detail:`_detail_1plr6_2`,lead:`_lead_1plr6_13`,note:`_note_1plr6_14`,error:`_error_1plr6_21`,live:`_live_1plr6_28`,quota:`_quota_1plr6_41`,meter:`_meter_1plr6_46`,list:`_list_1plr6_68`,item:`_item_1plr6_77`,file:`_file_1plr6_83`,name:`_name_1plr6_101`,meta:`_meta_1plr6_109`,iconLink:`_iconLink_1plr6_117`,detailHead:`_detailHead_1plr6_131`,back:`_back_1plr6_138`,fileTitle:`_fileTitle_1plr6_154`,row:`_row_1plr6_164`,button:`_button_1plr6_169`,danger:`_danger_1plr6_182`,confirm:`_confirm_1plr6_187`},E={title:`Scratchpad`,lead:`Work files the agent's scripts saved in this session. They are temporary and are removed after a while without use.`,loading:`Loading…`,loadFailed:`Couldn't load the scratchpad.`,retry:`Retry`,unavailable:`The scratchpad is off for this session. Turn on JavaScript in Settings → Forja, and check forge.scratch.enabled.`,empty:`No files yet. Scripts can save intermediate work here.`,files:`Files`,quota:`{used} of {total} used`,truncated:`Showing the first {count} files; the quota counts all of them.`,modified:`Modified {time}`,download:`Download {name}`,back:`Back to files`,noPreview:`No preview for this file type. Download it to open it.`,previewFailed:`Couldn't load the file.`,cancel:`Cancel`,emptyAction:`Empty`,confirm:`Delete all files from the scratchpad? This cannot be undone.`,confirmAction:`Empty the scratchpad`,cleared:`Scratchpad emptied: {removed} files, {size} freed.`,runsActive:`A script is still running. Wait for it to finish, then empty the scratchpad.`,readOnly:`The scratchpad can't be emptied while the server is read-only.`,failed:`Couldn't empty the scratchpad: {error}`,working:`Emptying…`},D={en:E,es:{title:`Scratchpad`,lead:`Archivos de trabajo que los scripts del agente guardaron en esta sesión. Son temporales y se eliminan tras un tiempo sin uso.`,loading:`Cargando…`,loadFailed:`No se pudo cargar el scratchpad.`,retry:`Reintentar`,unavailable:`El scratchpad está desactivado en esta sesión. Activa JavaScript en Ajustes → Forja y revisa forge.scratch.enabled.`,empty:`Aún no hay archivos. Los scripts pueden guardar aquí su trabajo intermedio.`,files:`Archivos`,quota:`{used} de {total} usados`,truncated:`Se muestran los primeros {count} archivos; la cuota cuenta todos.`,modified:`Modificado {time}`,download:`Descargar {name}`,back:`Volver a los archivos`,noPreview:`No hay vista previa para este tipo de archivo. Descárgalo para abrirlo.`,previewFailed:`No se pudo cargar el archivo.`,cancel:`Cancelar`,emptyAction:`Vaciar`,confirm:`¿Eliminar todos los archivos del scratchpad? No se puede deshacer.`,confirmAction:`Vaciar el scratchpad`,cleared:`Scratchpad vaciado: {removed} archivos, {size} liberados.`,runsActive:`Un script sigue en ejecución. Espera a que termine y vacía el scratchpad.`,readOnly:`El scratchpad no se puede vaciar mientras el servidor está en solo lectura.`,failed:`No se pudo vaciar el scratchpad: {error}`,working:`Vaciando…`}},O=(e,t)=>r(D[i.value][e]??E[e],t),k=e=>{switch(e.kind){case`cleared`:return O(`cleared`,{removed:e.removed,size:o(e.freedBytes)});case`runsActive`:return O(`runsActive`);case`readOnly`:return O(`readOnly`);case`failed`:return O(`failed`,{error:e.message})}};function A(e){let{sessionId:n,file:r}=e,i=u(r),[o,s]=a(),[c,l]=a(!1);return t(()=>{if(s(void 0),l(!1),!i)return;let e=!0;return d.scratchText(n,r.name).then(t=>e&&s(t),()=>e&&l(!0)),()=>{e=!1}},[n,r.name,r.mtime,r.size]),i?c?h(`p`,{class:T.error,role:`status`,children:O(`previewFailed`)}):o===void 0?h(`p`,{class:T.note,"aria-busy":`true`,children:O(`loading`)}):h(_,{text:o,as:i.as,entry:i.entry}):h(`p`,{class:T.note,children:O(`noPreview`)})}function j(e){let{percent:t,level:n}=p(e.used,e.total),r=O(`quota`,{used:o(e.used),total:o(e.total)});return h(`div`,{class:T.quota,children:[h(`div`,{class:T.meter,role:`meter`,"aria-label":O(`title`),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":t,"aria-valuetext":r,"data-level":n,children:h(`span`,{style:{width:`${t}%`}})}),h(`p`,{class:T.note,children:r})]})}function M(){let n=s.value,r=y.value,[i,l]=a(!1);if(t(()=>{l(!1),n?S(n):b()},[n,f.value]),!n)return null;let{listing:u}=r,d=u?m(u.files):[],p=d.find(e=>e.name===r.selected);return h(`div`,{class:T.tab,children:[h(`p`,{class:T.lead,children:O(`lead`)}),h(`div`,{class:T.live,role:`status`,"aria-live":`polite`,children:r.notice?k(r.notice):``}),r.status===`error`?h(`div`,{role:`alert`,children:[h(`p`,{class:T.error,children:[O(`loadFailed`),` `,r.error]}),h(`button`,{type:`button`,class:T.button,onClick:()=>void S(n),children:O(`retry`)})]}):r.status!==`ready`||!u?h(`p`,{class:T.note,"aria-busy":`true`,children:O(`loading`)}):u.available?h(e,{children:[h(j,{used:u.usedBytes,total:u.quotaBytes}),u.truncated?h(`p`,{class:T.note,children:O(`truncated`,{count:u.files.length})}):null,p?h(`div`,{class:T.detail,children:[h(`div`,{class:T.detailHead,children:[h(`button`,{type:`button`,class:T.back,onClick:()=>C(void 0),children:[h(`span`,{"aria-hidden":`true`,children:`←`}),O(`back`)]}),h(`a`,{class:T.iconLink,href:c(n,p.name),download:``,"aria-label":O(`download`,{name:p.name}),title:O(`download`,{name:p.name}),children:h(g,{name:`download`,size:15})})]}),h(`h4`,{class:T.fileTitle,title:p.name,children:p.name}),h(A,{sessionId:n,file:p})]}):d.length?h(e,{children:[h(`ul`,{class:T.list,"aria-label":O(`files`),children:d.map(e=>h(`li`,{class:T.item,children:[h(`button`,{type:`button`,class:T.file,onClick:()=>C(e.name),children:[h(`span`,{class:T.name,title:e.name,children:e.name}),h(`span`,{class:T.meta,children:[h(`span`,{children:o(e.size)}),h(`span`,{children:O(`modified`,{time:new Date(e.mtime).toLocaleString()})})]})]}),h(`a`,{class:T.iconLink,href:c(n,e.name),download:``,"aria-label":O(`download`,{name:e.name}),title:O(`download`,{name:e.name}),children:h(g,{name:`download`,size:15})})]},e.name))}),i?h(`div`,{class:T.confirm,role:`alertdialog`,"aria-label":O(`confirmAction`),children:[h(`p`,{children:O(`confirm`)}),h(`div`,{class:T.row,children:[h(`button`,{type:`button`,class:T.button,ref:e=>e?.focus(),onClick:()=>l(!1),children:O(`cancel`)}),h(`button`,{type:`button`,class:`${T.button} ${T.danger}`,disabled:r.clearing,onClick:()=>{l(!1),w(n)},children:r.clearing?O(`working`):O(`confirmAction`)})]})]}):h(`div`,{class:T.row,children:h(`button`,{type:`button`,class:`${T.button} ${T.danger}`,disabled:r.clearing,onClick:()=>l(!0),children:O(`emptyAction`)})})]}):h(`p`,{class:T.note,children:O(`empty`)})]}):h(`p`,{class:T.note,children:O(`unavailable`)})]})}export{M as ScratchTab};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{T as e,a as t,b as n,g as r,i,r as a,t as o,y as s}from"./i18n-C54K0mc6.js";import{Dt as c,K as l,d as u,f as d,ft as f,k as p,mt as m,pt as h}from"./app-BknkHksg.js";import{t as g}from"./jsxRuntime-DWBdSTGf.js";import{t as _}from"./icons-DTCoNVsk.js";import{t as v}from"./CopyButton-DEf4thwH.js";import{_ as y,b as ee,g as b,h as x,p as S,y as C}from"./index-XYSVNCIf.js";import{t as w}from"./settings.module-BClxMWCR.js";import{a as T,c as E,i as D,l as O,n as k,o as A,r as j,s as M,t as N}from"./shared-DLevBtPm.js";import{a as P,i as F,n as I,o as te,t as ne}from"./forge-page-BuIg49Im.js";var re=`https://github.com/GustavoGutierrez/alisio`;function ie(){return g(`section`,{class:w.about,children:[g(k,{title:t(`settings.about`)}),g(`img`,{class:w.aboutLogo,src:`/alisio-wordmark.png`,alt:`Alisio`,width:320,height:150}),g(`p`,{class:w.aboutVersion,children:d.value?t(`about.version`,{version:d.value}):t(`about.versionUnknown`)}),g(`p`,{class:w.aboutDescription,children:t(`about.description`)}),g(`p`,{class:w.aboutAttribution,children:`Gustavo Gutiérrez · Bogotá, Colombia`}),g(`a`,{class:w.aboutLink,href:re,target:`_blank`,rel:`noopener noreferrer`,"aria-label":t(`about.repositoryLabel`),children:[g(_,{name:`github`,size:19}),t(`about.repository`)]})]})}function L(){let n=E(),[r,i]=s(),a=O(n?()=>u.agents(n.id):void 0,[n?.id],[`agents`,`plugins`]),o=p.value,c=o?.agent??a.data?.find(e=>e.default)?.id;return g(e,{children:[g(k,{title:t(`settings.agents`),body:t(`agents.lead`),workspace:n?.path}),g(T,{loading:a.loading&&!a.data,error:a.error,empty:n?void 0:`settings.noWorkspace`}),g(`ul`,{class:w.rows,children:(a.data??[]).map(n=>g(`li`,{class:w.row,"data-current":n.id===c,children:[g(`div`,{class:w.rowMain,children:[g(`div`,{class:w.rowTitle,children:[g(`span`,{class:w.cardName,children:n.name}),g(j,{tone:`off`,children:t(`agents.source.${n.source}`)}),n.readOnly?g(j,{tone:`warn`,children:t(`agents.readOnly`)}):null,n.default?g(j,{tone:`ok`,children:t(`agents.default`)}):null]}),g(`p`,{class:w.cardText,children:n.description}),n.model?g(`p`,{class:w.meta,children:t(`agents.model`,{model:n.model})}):null,n.instructions?g(e,{children:[g(`button`,{type:`button`,class:w.linkButton,"aria-expanded":r===n.id,onClick:()=>i(r===n.id?void 0:n.id),children:[g(_,{name:r===n.id?`chevronDown`:`chevronRight`,size:14}),t(`agents.instructions`)]}),r===n.id?g(`pre`,{class:w.instructions,children:n.instructions}):null]}):null]}),g(`div`,{class:w.rowActions,children:o&&!o.parentId?n.id===c?g(`span`,{class:w.meta,children:t(`agents.inUse`)}):g(`button`,{type:`button`,class:w.secondary,onClick:()=>void l({agent:n.id}),children:t(`agents.use`)}):null})]},n.id))})]})}function R(){let n=E(),r=O(n?()=>u.settings(n.id):void 0,[n?.id]),i=O(n?()=>u.iconThemes(n.id):void 0,[n?.id]),a=r.data?.settings.find(e=>e.key===`web.iconTheme`)?.value??`none`,o=i.data?.themes??[],s=async e=>{if(n&&r.data)try{await u.setSetting(n.id,`web.iconTheme`,e),r.set({...r.data,settings:r.data.settings.map(t=>t.key===`web.iconTheme`?{...t,value:e}:t)}),ee(),C(n.id)}catch(e){m(M(e))}};return g(e,{children:[g(k,{title:t(`settings.appearance`),body:t(`appearance.lead`)}),g(N,{legend:t(`settings.theme`),value:y.value,options:[`dark`,`light`,`system`].map(e=>({id:e,label:t(`theme.${e}`)})),onChange:b}),g(N,{legend:t(`settings.density`),value:S.value,options:[`compact`,`detailed`].map(e=>({id:e,label:t(`density.${e}`)})),onChange:x}),g(T,{loading:i.loading&&!i.data,error:i.error,empty:n?void 0:`settings.noWorkspace`}),i.data?g(e,{children:[g(N,{legend:t(`appearance.iconTheme`),value:a,options:[{id:`none`,label:t(`appearance.iconTheme.none`)},...o.map(e=>({id:e.id,label:e.label}))],onChange:e=>void s(e)}),o.length===0?g(`p`,{class:w.note,children:t(`appearance.iconTheme.empty`)}):null]}):null]})}var z={min:1,max:900},B={min:0,max:3650};function V(e,t,n){let r=e.trim();if(!/^\d+$/.test(r))return;let i=Number(r);return i>=t&&i<=n?i:void 0}function H(e){let t=V(e,z.min,z.max);return t===void 0?void 0:t*1e3}var U=e=>Math.round(e/1e3);function W(e,t){return e.find(e=>e.key===t)?.value}function G(e){return e.join(`, `)}function K(e){let[t,n]=s(),[r,i]=s(!1),a=async()=>{if(t===void 0)return;let r=e.parse?e.parse(t):V(t,e.min,e.max);if(n(void 0),r!==void 0){i(!0);try{await e.onSave(r)}catch{}finally{i(!1)}}};return g(`li`,{class:w.settingRow,children:[g(`label`,{class:w.settingLabel,for:e.id,children:[g(`span`,{children:e.label}),g(`code`,{class:w.settingKey,children:e.keyName})]}),g(`input`,{id:e.id,class:w.input,type:`number`,inputMode:`numeric`,min:e.min,max:e.max,step:1,disabled:e.disabled||r,value:t??String(e.value),onInput:e=>n(e.target.value),onBlur:()=>void a(),onKeyDown:e=>{e.key===`Enter`&&a(),e.key===`Escape`&&t!==void 0&&(e.stopPropagation(),n(void 0))}})]})}function q(e){return I(e.mode,e.isolation,e.backends??[])||(e.mode===`auto`?`managed`:e.mode)}function J(e){if(!e.backends?.length)return e.mode===`oci`?`ok`:`warn`;let t=I(e.mode,e.isolation,e.backends);return t===void 0?`off`:t===`managed`?`warn`:`ok`}function Y({card:e}){return g(`li`,{class:w.backend,"data-ready":e.ready?`true`:`false`,children:[g(`div`,{class:w.backendHead,children:[g(`h5`,{class:w.backendName,children:t(`forge.backend.${e.id}`)}),g(j,{tone:e.ready?`ok`:`off`,children:t(e.ready?`forge.ready`:`forge.notReady`)}),e.current?g(`span`,{class:w.chip,children:t(`forge.inUse`)}):null]}),g(`p`,{class:w.isolation,"data-sandboxed":e.sandboxed?`true`:`false`,children:[g(_,{name:e.icon,size:14}),t(e.isolationKey)]}),e.profiles.length?g(`p`,{class:w.profiles,children:[t(`forge.profiles`),` `,e.profiles.map(e=>g(`span`,{class:w.chip,children:e},e))]}):null,e.reason?g(`p`,{class:w.reasonText,children:e.reason}):null,e.setup?g(`div`,{class:w.command,children:[g(`code`,{children:e.setup}),g(v,{text:()=>e.setup??``,label:t(`forge.copyCommand`)})]}):null]})}function ae({status:n}){let r=ne(n),i=r.find(e=>e.current);return g(e,{children:[g(`h4`,{class:w.sectionTitle,children:t(`forge.backends`)}),r.length?g(`ul`,{class:w.backendList,"aria-label":t(`forge.backends`),children:r.map(e=>g(Y,{card:e},e.id))}):null,g(`dl`,{class:w.facts,"data-testid":`forge-policy`,children:[g(`dt`,{children:t(`forge.runtimeSetting`)}),g(`dd`,{children:[g(`code`,{children:n.mode}),` `,g(`code`,{class:w.settingKey,children:`analysis.runtime`})]}),g(`dt`,{children:t(`forge.isolationPolicy`)}),g(`dd`,{children:[g(`code`,{children:n.isolation??`preferred`}),` `,g(`code`,{class:w.settingKey,children:`analysis.isolation`})]}),g(`dt`,{children:t(`forge.runsOn`)}),g(`dd`,{children:t(i?`forge.backend.${i.id}`:`forge.noneReady`)})]}),g(`p`,{class:w.note,children:t(`forge.policyHint`,{policy:n.isolation??`preferred`})})]})}function oe(n){let{status:r}=n,{python:i,oci:a}=r;return g(e,{children:[g(`h4`,{class:w.sectionTitle,children:t(`settings.analysis.status`)}),g(`dl`,{class:w.facts,"data-testid":`analysis-status`,children:[g(`dt`,{children:t(`settings.analysis.mode`)}),g(`dd`,{children:g(j,{tone:J(r),children:t(P(r.mode))})}),g(`dt`,{children:t(`settings.analysis.runtime`)}),g(`dd`,{children:i.found?t(`settings.analysis.detected`,{version:i.version,path:i.path}):g(`span`,{children:t(`settings.analysis.notFound`)})}),i.found&&i.runtimeVersion?g(e,{children:[g(`dt`,{children:t(`settings.analysis.runtimeVersion`)}),g(`dd`,{children:g(`code`,{children:i.runtimeVersion})})]}):null,g(`dt`,{children:t(`settings.analysis.extras`)}),g(`dd`,{children:i.found&&i.extras.length?t(`settings.analysis.extras.installed`,{extras:G(i.extras)}):t(`settings.analysis.extras.none`)}),g(`dt`,{children:t(`settings.analysis.oci`)}),g(`dd`,{children:r.mode===`managed`&&!a.image&&a.available===void 0?t(`settings.analysis.oci.unused`):g(e,{children:[g(`span`,{children:[a.engine,` ·`,` `,t(`settings.analysis.oci.limits`,{memory:a.memoryMb,cpus:a.cpus})]}),g(`br`,{}),a.image?g(`code`,{children:a.image}):t(`settings.analysis.oci.noImage`),a.available===void 0?null:g(e,{children:[g(`br`,{}),a.available?t(`settings.analysis.oci.available`,{version:a.version??``}):t(`settings.analysis.oci.unavailable`,{reason:a.reason??``})]})]})})]}),g(`p`,{class:w.note,role:`note`,children:t(q(r)===`oci`?`settings.analysis.containerNote`:q(r)===`wasm`?`settings.analysis.wasmNote`:`settings.analysis.managedNote`)}),i.found?g(`p`,{class:w.note,children:t(`settings.analysis.extras.hint`)}):g(`div`,{role:`group`,"aria-label":t(`settings.analysis.installHint.title`),children:[g(`h4`,{class:w.sectionTitle,children:t(`settings.analysis.installHint.title`)}),g(`p`,{class:w.note,children:[i.hints.system,i.hints.heading?` · ${i.hints.heading}`:``]}),g(`pre`,{class:w.note,children:g(`code`,{children:i.hints.primary})}),i.hints.alternatives.map(e=>g(`p`,{class:w.note,children:e},e)),i.hints.notes.map(e=>g(`p`,{class:w.note,children:e},e)),g(`p`,{class:w.note,children:t(`settings.analysis.installHint.afterInstall`)})]})]})}function se(n){let[r,i]=s(!1),{readOnly:a,status:o,save:c}=n,l=n.settings??[],u=W(l,`analysis.enabled`),d=W(l,`analysis.smartDashboard`),f=(e,t)=>{let n=W(l,e);return typeof n==`number`?n:t},p=o?.retention.lastSweep;return g(e,{children:[g(`h4`,{class:w.sectionTitle,children:t(`forge.python`)}),g(`p`,{class:w.lead,children:t(`settings.analysis.lead`)}),o?.readOnly?g(`p`,{class:w.note,children:t(`settings.analysis.readOnlyRuntime`)}):u===!1?g(`p`,{class:w.note,children:t(`settings.analysis.disabled`)}):null,o?g(ae,{status:o}):null,o?g(oe,{status:o}):null,n.settings?g(e,{children:[g(`ul`,{class:w.settingList,children:[g(`li`,{class:w.settingRow,children:[g(`label`,{class:w.settingLabel,for:`analysis-enabled`,children:[g(`span`,{children:t(`settings.analysis.enabled`)}),g(`code`,{class:w.settingKey,children:`analysis.enabled`})]}),g(A,{checked:u!==!1,label:t(`settings.analysis.enabled`),disabled:a,busy:r,onChange:e=>{i(!0),c(`analysis.enabled`,e).catch(()=>void 0).finally(()=>i(!1))}})]}),g(`li`,{class:w.settingRow,children:[g(`label`,{class:w.settingLabel,for:`analysis-smart-dashboard`,children:[g(`span`,{children:t(`settings.analysis.smartDashboard`)}),g(`code`,{class:w.settingKey,children:`analysis.smartDashboard`})]}),g(A,{checked:d!==!1,label:t(`settings.analysis.smartDashboard`),disabled:a,busy:r,onChange:e=>{i(!0),c(`analysis.smartDashboard`,e).catch(()=>void 0).finally(()=>i(!1))}})]}),g(K,{id:`analysis-timeout`,label:t(`settings.analysis.timeout`),keyName:`analysis.limits.timeoutMs`,value:U(f(`analysis.limits.timeoutMs`,12e4)),min:z.min,max:z.max,disabled:a,parse:H,onSave:e=>c(`analysis.limits.timeoutMs`,e)})]}),g(`p`,{class:w.note,children:t(`settings.analysis.enabledHint`)}),g(`p`,{class:w.note,children:t(`settings.analysis.smartDashboardHint`)}),g(`h4`,{class:w.sectionTitle,children:t(`settings.analysis.retention`)}),g(`p`,{class:w.note,children:t(`settings.analysis.retention.lead`)}),g(`ul`,{class:w.settingList,children:[[`analysis.retention.jobsDays`,`settings.analysis.retention.jobs`,30],[`analysis.retention.intermediateDays`,`settings.analysis.retention.intermediate`,7],[`analysis.retention.artifactsDays`,`settings.analysis.retention.artifacts`,0]].map(([e,n,r])=>g(K,{id:`analysis-${e}`,label:t(n),keyName:e,value:f(e,r),min:B.min,max:B.max,disabled:a,onSave:t=>c(e,t)},e))}),g(`p`,{class:w.note,children:p===void 0?t(`settings.analysis.retention.never`):t(`settings.analysis.retention.lastSweep`,{time:new Date(p).toLocaleString()})})]}):null]})}function X(e){let[t,n]=s(!1);return g(`li`,{class:w.settingRow,children:[g(`label`,{class:w.settingLabel,for:e.id,children:[g(`span`,{children:e.label}),g(`code`,{class:w.settingKey,children:e.keyName})]}),g(A,{checked:e.checked,label:e.label,disabled:e.disabled,busy:t,onChange:t=>{n(!0),e.onChange(t).catch(()=>void 0).finally(()=>n(!1))}})]})}function ce(n){let r=F(n.forge),{scratch:i}=n.forge;return g(e,{children:[g(`h4`,{class:w.sectionTitle,children:t(`forge.javascript`)}),g(`p`,{class:w.lead,children:t(`forge.javascript.lead`)}),g(`dl`,{class:w.facts,"data-testid":`forge-javascript`,children:[g(`dt`,{children:t(`forge.status`)}),g(`dd`,{children:[g(j,{tone:n.enabled?r.verified?`ok`:`danger`:`off`,children:t(n.enabled?r.verified?`forge.js.ready`:`forge.js.unverified`:`forge.js.off`)}),r.verification?g(e,{children:[` `,r.verification]}):null]}),g(`dt`,{children:t(`forge.js.engine`)}),g(`dd`,{children:g(`code`,{children:r.version})}),g(`dt`,{children:t(`forge.js.hash`)}),g(`dd`,{children:g(`code`,{title:n.forge.javascript.wasmSha256,children:[r.hash,`…`]})}),g(`dt`,{children:t(`forge.js.host`)}),g(`dd`,{children:[t(`forge.host.${r.host}`),` `,g(`code`,{class:w.settingKey,children:[`forge.javascript.host=`,r.hostSetting]})]}),r.limits.map(n=>g(e,{children:[g(`dt`,{children:t(`forge.limit.${n.id}`)}),g(`dd`,{children:n.value})]},n.id)),g(`dt`,{children:t(`forge.scratch`)}),g(`dd`,{children:i.enabled?t(`forge.scratchValue`,{size:c(i.maxBytes),days:i.retentionDays}):t(`forge.scratchOff`)})]}),g(`ul`,{class:w.settingList,children:g(X,{id:`forge-javascript-enabled`,label:t(`forge.js.enable`),keyName:`forge.javascript.enabled`,checked:n.enabled,disabled:n.readOnly,onChange:e=>n.save(`forge.javascript.enabled`,e)})}),g(`p`,{class:w.note,children:t(`forge.js.enableHint`)}),g(`p`,{class:w.note,children:t(`forge.limitsHint`)})]})}function le(){let n=E(),r=O(n?()=>u.forge(n.id):void 0,[n?.id]),i=O(n?()=>u.analysis(n.id):void 0,[n?.id]),a=O(n?()=>u.settings(n.id):void 0,[n?.id]),o=!!a.data?.readOnly,s=a.data?.settings,c=async(e,t)=>{if(n&&a.data)try{await u.setSetting(n.id,e,t),a.set({...a.data,settings:a.data.settings.map(n=>n.key===e?{...n,value:t}:n)}),r.reload(),i.reload()}catch(e){throw m(M(e)),e}},l=(e,t)=>{let n=s?.find(t=>t.key===e)?.value;return typeof n==`boolean`?n:t};return g(e,{children:[g(k,{title:t(`settings.forge.title`),body:t(`settings.forge.lead`)}),g(T,{loading:a.loading&&!a.data||i.loading&&!i.data||r.loading&&!r.data,error:a.error??i.error??r.error,empty:n?void 0:`settings.noWorkspace`}),o?g(`p`,{class:w.note,children:t(`settings.readOnly`)}):null,r.data?g(ce,{forge:r.data,enabled:l(`forge.javascript.enabled`,r.data.javascript.enabled),readOnly:o,save:c}):null,g(se,{status:i.data,settings:s,readOnly:o,save:c}),r.data?g(e,{children:[g(`h4`,{class:w.sectionTitle,children:t(`forge.guides`)}),g(`ul`,{class:w.settingList,children:g(X,{id:`forge-guides-enabled`,label:t(`forge.guides.enable`),keyName:`forge.guides.enabled`,checked:l(`forge.guides.enabled`,r.data.guides.enabled),disabled:o,onChange:e=>c(`forge.guides.enabled`,e)})}),g(`p`,{class:w.note,children:t(`forge.guides.hint`)})]}):null]})}var Z={en:{"compaction.auto":`Compact the context automatically`,"compaction.threshold":`Compaction threshold (fraction of the window)`,"compaction.keepTurns":`Recent turns kept verbatim`,"compaction.maxOutputTokens":`Summary length (tokens)`,"context.claudeMdFallback":`Read CLAUDE.md when there is no AGENTS.md`,"context.maxBytes":`Project instructions limit (bytes)`,"limits.maxTurns":`Turns per run`,"limits.maxOutputTokens":`Output tokens per turn`,"limits.maxContextChars":`Context characters sent`,"limits.timeoutMs":`Run time limit, active time (ms)`,"limits.firstTokenTimeoutMs":`First-token timeout (ms)`,"limits.firstTokenRetries":`Retries when the model stays silent`,"limits.truncationRecoveries":`Recoveries from truncated output`,"pluginHooks.timeoutMs":`Plugin hook timeout (ms)`,"pluginHooks.disposeTimeoutMs":`Plugin shutdown timeout (ms)`,"decisions.enabled":`Decision Intelligence`,"decisions.provider":`Decision provider`,"decisions.timeoutMs":`Decision timeout (ms)`,"decisions.minConfidence":`Decision minimum confidence`,"decisions.telemetry":`Record decision telemetry`,"websearch.provider":`Web search provider`,"web.iconTheme":`Icon theme (web)`,"tui.paddingX":`Terminal horizontal padding`,"tui.contentPaddingX":`Terminal content padding`,"tui.skillSlashCommands":`Skills as slash commands (terminal)`,"agents.active":`Active agent`,"agents.effort":`Agent reasoning effort`,"analysis.enabled":`Data analysis`,"analysis.smartDashboard":`Smart Dashboard (dashboard_generate)`,"analysis.limits.timeoutMs":`Analysis run timeout (ms)`,"analysis.retention.jobsDays":`Keep analysis jobs (days)`,"analysis.retention.intermediateDays":`Keep intermediate files (days)`,"analysis.retention.artifactsDays":`Keep artifacts (days)`,"tasks.enabled":`Background tasks`,"tasks.maxPerSession":`Live background tasks per session`,"tasks.maxRunMs":`Background task time limit (ms)`,"tasks.maxOutputBytes":`Background task log size (bytes)`,"tasks.retentionDays":`Keep finished tasks (days)`,"goal.enabled":`Session goals (/goal)`,"goal.maxTurns":`Goal turn limit`,"goal.maxMinutes":`Goal time limit (minutes)`,"goal.repeatedReplyLimit":`Pause a goal after identical replies`,"goal.noToolTurnsLimit":`Pause a goal after turns without tools`,"goal.blockedRepeats":`Turns the agent must report a blocker`,"plan.diagrams":`Plan diagrams`,"plan.maxDiagrams":`Most diagrams per plan`,"forge.javascript.enabled":`Forja JavaScript (js_run)`,"forge.guides.enabled":`Forja guides (forge_guide)`},es:{"compaction.auto":`Compactar el contexto automáticamente`,"compaction.threshold":`Umbral de compactación (fracción de la ventana)`,"compaction.keepTurns":`Turnos recientes conservados literalmente`,"compaction.maxOutputTokens":`Longitud del resumen (tokens)`,"context.claudeMdFallback":`Leer CLAUDE.md si no hay AGENTS.md`,"context.maxBytes":`Límite de instrucciones del proyecto (bytes)`,"limits.maxTurns":`Turnos por run`,"limits.maxOutputTokens":`Tokens de salida por turno`,"limits.maxContextChars":`Caracteres de contexto enviados`,"limits.timeoutMs":`Límite de tiempo de la ejecución, tiempo activo (ms)`,"limits.firstTokenTimeoutMs":`Tiempo máximo al primer token (ms)`,"limits.firstTokenRetries":`Reintentos cuando el modelo no responde`,"limits.truncationRecoveries":`Recuperaciones de salida truncada`,"pluginHooks.timeoutMs":`Tiempo máximo de hooks de plugins (ms)`,"pluginHooks.disposeTimeoutMs":`Tiempo máximo de cierre de plugins (ms)`,"decisions.enabled":`Decision Intelligence`,"decisions.provider":`Proveedor de decisiones`,"decisions.timeoutMs":`Tiempo máximo de decisión (ms)`,"decisions.minConfidence":`Confianza mínima de las decisiones`,"decisions.telemetry":`Registrar telemetría de decisiones`,"websearch.provider":`Proveedor de búsqueda web`,"web.iconTheme":`Tema de iconos (web)`,"tui.paddingX":`Margen horizontal del terminal`,"tui.contentPaddingX":`Margen del contenido del terminal`,"tui.skillSlashCommands":`Skills como comandos slash (terminal)`,"agents.active":`Agente activo`,"agents.effort":`Esfuerzo de razonamiento del agente`,"analysis.enabled":`Análisis de datos`,"analysis.smartDashboard":`Smart Dashboard (dashboard_generate)`,"analysis.limits.timeoutMs":`Tiempo máximo de una ejecución de análisis (ms)`,"analysis.retention.jobsDays":`Conservar trabajos de análisis (días)`,"analysis.retention.intermediateDays":`Conservar archivos intermedios (días)`,"analysis.retention.artifactsDays":`Conservar artefactos (días)`,"tasks.enabled":`Tareas en segundo plano`,"tasks.maxPerSession":`Tareas en segundo plano activas por sesión`,"tasks.maxRunMs":`Tiempo máximo de una tarea en segundo plano (ms)`,"tasks.maxOutputBytes":`Tamaño del registro de una tarea (bytes)`,"tasks.retentionDays":`Conservar tareas terminadas (días)`,"goal.enabled":`Objetivos de sesión (/goal)`,"goal.maxTurns":`Límite de turnos de un objetivo`,"goal.maxMinutes":`Límite de tiempo de un objetivo (minutos)`,"goal.repeatedReplyLimit":`Pausar un objetivo tras respuestas idénticas`,"goal.noToolTurnsLimit":`Pausar un objetivo tras turnos sin herramientas`,"goal.blockedRepeats":`Turnos en que el agente debe reportar un bloqueo`,"plan.diagrams":`Diagramas del plan`,"plan.maxDiagrams":`Máximo de diagramas por plan`,"forge.javascript.enabled":`Forja JavaScript (js_run)`,"forge.guides.enabled":`Guías de Forja (forge_guide)`}},ue=(e,t)=>Z[t][e]??Z.en[e]??e,de=/^(tui|agents|analysis|forge|web)\./;function fe(e){let{setting:n}=e,[r,i]=s(),[o,c]=s(!1),l=async t=>{c(!0);try{await e.onSave(t),i(void 0)}finally{c(!1)}},u=ue(n.key,a.value),d=`setting-${n.key}`,f=()=>{if(r!==void 0){if(n.kind===`number`){let e=Number(r);if(r.trim()===``||!Number.isFinite(e))return i(void 0);l(e)}else l(r.trim()===``?null:r)}};return g(`li`,{class:w.settingRow,children:[g(`label`,{class:w.settingLabel,for:d,children:[g(`span`,{children:u}),g(`code`,{class:w.settingKey,children:n.key})]}),n.kind===`boolean`?g(A,{checked:n.value===!0,label:u,disabled:e.disabled,busy:o,onChange:e=>void l(e)}):n.kind===`enum`?g(`select`,{id:d,class:w.input,disabled:e.disabled||o,value:typeof n.value==`string`?n.value:``,onChange:e=>{let t=e.target.value;l(t===``?null:t)},children:[g(`option`,{value:``,children:t(`settings.default`)}),(n.options??[]).map(e=>g(`option`,{value:e,children:e},e))]}):g(`input`,{id:d,class:w.input,type:n.kind===`number`?`number`:`text`,disabled:e.disabled||o,value:r??(n.value===void 0?``:String(n.value)),onInput:e=>i(e.target.value),onBlur:f,onKeyDown:e=>{e.key===`Enter`&&f(),e.key===`Escape`&&r!==void 0&&(e.stopPropagation(),i(void 0))}})]})}function pe(){let n=E(),r=O(n?()=>u.settings(n.id):void 0,[n?.id]),s=async(e,t)=>{if(n&&r.data)try{await u.setSetting(n.id,e,t),r.set({...r.data,settings:r.data.settings.map(n=>n.key===e?{...n,...t===null?{value:void 0}:{value:t}}:n)})}catch(e){throw m(M(e)),e}},c=(r.data?.settings??[]).filter(e=>!de.test(e.key));return g(e,{children:[g(k,{title:t(`settings.general`)}),g(N,{legend:t(`settings.language`),value:a.value,options:o.map(e=>({id:e,label:t(`language.${e}`)})),onChange:i}),g(`h4`,{class:w.sectionTitle,children:t(`settings.agentSettings`)}),g(`p`,{class:w.note,children:[t(`settings.agentSettingsLead`),r.data?g(e,{children:[` `,g(`code`,{children:r.data.settingsPath})]}):null]}),g(T,{loading:r.loading&&!r.data,error:r.error,empty:n?void 0:`settings.noWorkspace`}),r.data?.readOnly?g(`p`,{class:w.note,children:t(`settings.readOnly`)}):null,g(`ul`,{class:w.settingList,children:c.map(e=>g(fe,{setting:e,disabled:!!r.data?.readOnly,onSave:t=>s(e.key,t)},e.key))})]})}var me={connected:`ok`,connecting:`warn`,failed:`danger`,"needs-authentication":`warn`,"restart-required":`warn`};function he(e){let[n,r]=s(!1);return g(`div`,{class:w.confirm,role:`alertdialog`,"aria-labelledby":`mcp-consent-title`,children:[g(`h4`,{id:`mcp-consent-title`,class:w.confirmTitle,children:[g(_,{name:`alert`,size:17}),t(`mcp.consentTitle`)]}),g(`p`,{class:w.cardText,children:t(`mcp.consentBody`)}),g(`label`,{class:w.checkRow,children:[g(`input`,{type:`checkbox`,checked:n,onChange:e=>r(e.target.checked)}),g(`span`,{children:t(`mcp.remember`)})]}),g(`div`,{class:w.actions,children:[g(`button`,{type:`button`,class:w.secondary,onClick:e.onCancel,children:t(`common.cancel`)}),g(`button`,{type:`button`,class:w.primary,onClick:()=>e.onGrant(n),children:t(`mcp.grant`)})]})]})}function ge(){let n=E(),[r,i]=s(!1),[a,o]=s(),c=O(n?()=>u.mcp(n.id):void 0,[n?.id],[`mcp`]),l=c.data,d=e=>{l&&c.set({...l,servers:l.servers.map(t=>t.name===e.name?e:t)})},f=async(e,t,r)=>{if(n){o(e.name);try{let i=await u.setMcp(n.id,e.name,t,r);d(i),r&&i.status!==`connected`&&i.diagnostic&&m(i.diagnostic)}catch(e){m(M(e))}finally{o(void 0)}}},p=async e=>{if(n){i(!1);try{c.set(await u.mcpConsent(n.id,e))}catch(e){m(M(e))}}},h=l?.permission===`granted`;return g(e,{children:[g(k,{title:t(`settings.mcp`),body:t(`mcp.lead`),workspace:n?.path}),l?g(`div`,{class:w.banner,"data-tone":h?`ok`:`warn`,children:[g(`span`,{children:l.permission===`read-only`?t(`mcp.readOnly`):h?l.persisted?t(`mcp.grantedPersisted`):t(`mcp.granted`):t(`mcp.notGranted`)}),l.permission===`not-granted`&&!r?g(`button`,{type:`button`,class:w.primary,onClick:()=>i(!0),children:t(`mcp.grant`)}):null]}):null,r?g(he,{onCancel:()=>i(!1),onGrant:e=>void p(e)}):null,g(T,{loading:c.loading&&!l,error:c.error,empty:n?l&&!l.servers.length?`mcp.none`:void 0:`settings.noWorkspace`}),g(`ul`,{class:w.rows,children:(l?.servers??[]).map(e=>g(`li`,{class:w.row,children:[g(`div`,{class:w.rowMain,children:[g(`div`,{class:w.rowTitle,children:[g(`span`,{class:w.cardName,children:e.displayName}),g(j,{tone:me[e.status]??`off`,children:t(`mcp.status`,{status:e.status})})]}),g(`p`,{class:w.meta,children:t(`mcp.meta`,{transport:e.transport,source:e.source,tools:e.counts.tools,resources:e.counts.resources,prompts:e.counts.prompts})}),e.diagnostic?g(`p`,{class:w.diagnostic,children:e.diagnostic}):null]}),g(`div`,{class:w.rowActions,children:[e.enabled&&e.status!==`connected`?g(`button`,{type:`button`,class:w.secondary,disabled:!h||a===e.name,title:h?void 0:t(`mcp.needsGrant`),onClick:()=>void f(e,!0,!0),children:t(`mcp.connect`)}):null,g(A,{checked:e.enabled,label:t(`plugins.enableNamed`,{name:e.displayName}),disabled:l?.permission===`read-only`,busy:a===e.name,onChange:t=>void f(e,t,!1)})]})]},e.name))})]})}var _e={apiKey:`API key`,bearerToken:`Bearer token`};function ve(e){return e.configured?e.source===`env`?t(`models.credential.env`):e.tail?t(`models.credential.storedTail`,{tail:e.tail}):t(`models.credential.stored`):t(`models.credential.missing`)}function ye(e){let[n,r]=s(``),[i,a]=s(!1),o=_e[e.field]??e.field,c=`cred-${e.profile}-${e.field}`,l=async()=>{let i=n.trim();if(i){a(!0);try{let n=await u.setCredentials(e.profile,{[e.field]:i});e.onChange({...n,source:`file`}),r(``),m(t(`models.credential.saved`))}catch(e){m(M(e))}finally{a(!1)}}},d=async()=>{a(!0);try{await u.deleteCredentials(e.profile),e.onChange({configured:!1})}catch(e){m(M(e))}finally{a(!1)}};return g(`div`,{class:w.credential,children:[g(`label`,{for:c,class:w.settingLabel,children:[g(`span`,{children:o}),g(`span`,{class:w.meta,"data-configured":e.status.configured,children:ve(e.status)})]}),g(`form`,{class:w.credentialForm,onSubmit:e=>{e.preventDefault(),l()},children:[g(`input`,{id:c,class:w.input,type:`password`,autocomplete:`off`,spellcheck:!1,placeholder:e.status.configured?t(`models.credential.replace`):t(`models.credential.enter`),value:n,disabled:i,onInput:e=>r(e.target.value)}),g(`button`,{type:`submit`,class:w.primary,disabled:i||!n.trim(),children:t(`models.credential.save`)}),e.status.configured&&e.status.source===`file`?g(`button`,{type:`button`,class:w.secondary,disabled:i,onClick:()=>void d(),children:t(`models.credential.remove`)}):null]})]})}function Q(e){let[n,r]=s(e.initial?.name??``),[i,a]=s(e.initial?.provider??e.types[0]?.id??``),[o,c]=s(e.initial?.model??``),[l,d]=s(e.initial?.values??{}),[f,p]=s(!1),h=(e.types.find(e=>e.id===i)?.fields??[]).filter(e=>e.kind!==`secret`),_=(e,t)=>l[e]??t,v=async()=>{p(!0);try{let t={};for(let e of h){let n=_(e.key,e.defaultValue);n!==void 0&&n!==``&&(t[e.key]=n)}e.onSaved(await u.saveProfile(e.workspace,n.trim(),{provider:i,values:t,model:o}))}catch(e){m(M(e))}finally{p(!1)}};return g(`form`,{class:w.profileForm,onSubmit:e=>{e.preventDefault(),v()},children:[g(`label`,{class:w.formRow,children:[g(`span`,{children:t(`models.form.name`)}),g(`input`,{class:w.input,required:!0,pattern:`[A-Za-z0-9][A-Za-z0-9._\\-]{0,63}`,disabled:!!e.initial,value:n,onInput:e=>r(e.target.value)})]}),g(`label`,{class:w.formRow,children:[g(`span`,{children:t(`models.form.type`)}),g(`select`,{class:w.input,value:i,onChange:e=>a(e.target.value),children:e.types.map(e=>g(`option`,{value:e.id,children:e.name},e.id))})]}),h.map(e=>g(`label`,{class:w.formRow,title:e.description,children:[g(`span`,{children:e.label}),e.kind===`select`?g(`select`,{class:w.input,value:String(_(e.key,e.defaultValue)??``),onChange:t=>d({...l,[e.key]:t.target.value}),children:(e.options??[]).map(e=>g(`option`,{value:e.value,children:e.label},e.value))}):e.kind===`boolean`?g(`input`,{type:`checkbox`,checked:_(e.key,e.defaultValue)===!0,onChange:t=>d({...l,[e.key]:t.target.checked})}):g(`input`,{class:w.input,type:e.kind===`url`?`url`:`text`,required:e.required,value:String(_(e.key,e.defaultValue)??``),onInput:t=>d({...l,[e.key]:t.target.value})})]},e.key)),g(`label`,{class:w.formRow,children:[g(`span`,{children:t(`models.form.model`)}),g(`input`,{class:w.input,required:!0,value:o,onInput:e=>c(e.target.value)})]}),g(`p`,{class:w.note,children:t(`models.form.secretsNote`)}),g(`div`,{class:w.actions,children:[g(`button`,{type:`button`,class:w.secondary,onClick:e.onCancel,children:t(`common.cancel`)}),g(`button`,{type:`submit`,class:w.primary,disabled:f,children:t(`models.form.save`)})]})]})}function be(n){let{profile:r,overview:i}=n,[a,o]=s(!1),[c,l]=s(r.model),[d,f]=s(!1),p=i.types.find(e=>e.id===r.provider),h=i.current?.profile===r.name,v=async()=>{f(!0);try{let{changed:e}=await u.activateProvider(n.workspace,r.name,c);m(e?t(`models.activated`,{name:r.name}):t(`models.unchanged`)),n.onActivated()}catch(e){m(M(e))}finally{f(!1)}},y=n.catalog?.models??[];return g(`li`,{class:w.row,"data-current":h,children:g(`div`,{class:w.rowMain,children:[g(`div`,{class:w.rowTitle,children:[g(`span`,{class:w.cardName,children:r.name}),g(j,{tone:`off`,children:p?.name??r.provider}),r.active?g(j,{tone:`ok`,children:t(`models.activeGlobal`)}):null,h?g(j,{tone:`ok`,children:t(`models.current`)}):null,g(`button`,{type:`button`,class:w.linkButton,"aria-expanded":a,onClick:()=>o(!a),children:[g(_,{name:`edit`,size:14}),t(`models.edit`)]})]}),a?g(Q,{types:i.types,initial:r,workspace:n.workspace,onCancel:()=>o(!1),onSaved:e=>{o(!1),n.onChange(e)}}):g(`dl`,{class:w.facts,children:[g(`dt`,{children:t(`models.form.model`)}),g(`dd`,{children:r.model}),Object.entries(r.values).map(([t,n])=>g(e,{children:[g(`dt`,{children:p?.fields.find(e=>e.key===t)?.label??t}),g(`dd`,{children:String(n)})]},t))]}),Object.entries(r.credentials).map(([e,t])=>g(ye,{profile:r.name,field:e,status:t,onChange:t=>n.onChange({...r,credentials:{...r.credentials,[e]:t}})},e)),g(`form`,{class:w.credentialForm,onSubmit:e=>{e.preventDefault(),v()},children:[y.length?g(`select`,{class:w.input,"aria-label":t(`models.form.model`),value:c,onChange:e=>l(e.target.value),children:[y.some(e=>e.id===c)?null:g(`option`,{value:c,children:c}),y.map(e=>g(`option`,{value:e.id,children:e.name??e.id},e.id))]}):g(`input`,{class:w.input,"aria-label":t(`models.form.model`),value:c,onInput:e=>l(e.target.value)}),g(`button`,{type:`submit`,class:w.secondary,disabled:d||!c.trim(),children:t(`models.activate`)}),n.catalog?.unavailable?g(`span`,{class:w.meta,children:t(`composer.modelsUnavailable`)}):null]})]})})}function $(){let n=E(),[r,i]=s(!1),a=O(n?()=>u.providers(n.id):void 0,[n?.id],[`models`]),o=O(n?()=>u.providerModels(n.id).catch(()=>[]):void 0,[n?.id],[`models`]),c=a.data,l=e=>{if(!c)return;let t=c.profiles.some(t=>t.name===e.name);a.set({...c,profiles:t?c.profiles.map(t=>t.name===e.name?e:t):[...c.profiles,e]})};return g(e,{children:[g(k,{title:t(`settings.models`),body:t(`models.lead`),workspace:n?.path}),c?.current?g(`p`,{class:w.banner,"data-tone":`ok`,children:t(`models.running`,{provider:c.current.provider,model:c.current.model,profile:c.current.profile??`—`})}):null,g(T,{loading:a.loading&&!c,error:a.error,empty:n?c&&!c.profiles.length?`models.none`:void 0:`settings.noWorkspace`}),g(`ul`,{class:w.rows,children:(c?.profiles??[]).map(e=>g(be,{profile:e,overview:c,catalog:o.data?.find(t=>t.profile===e.name),workspace:n?.id??``,onChange:l,onActivated:()=>a.reload()},e.name))}),n&&c?.types.length?r?g(Q,{types:c.types,workspace:n.id,onCancel:()=>i(!1),onSaved:e=>{i(!1),l(e)}}):g(`button`,{type:`button`,class:`${w.secondary} ${w.addButton}`,onClick:()=>i(!0),children:t(`models.add`)}):null]})}var xe={active:`ok`,inactive:`off`,failed:`danger`,"restart-required":`warn`};function Se(e){return e.status===`failed`?t(`plugins.status.failed`):e.status===`restart-required`?t(`plugins.status.restart`):e.enabled?t(`plugins.status.enabled`):t(`plugins.status.disabled`)}function Ce(n){let{plugin:r}=n,[i,a]=s(!1),o=`plugin-${r.id}`;return g(`li`,{class:w.card,"data-open":i,children:[g(`button`,{type:`button`,class:w.cardHead,"aria-expanded":i,"aria-controls":o,onClick:()=>a(!i),children:[g(`span`,{class:w.cardName,title:r.name,children:r.name}),g(j,{tone:xe[r.status],children:Se(r)}),g(_,{name:i?`chevronDown`:`chevronRight`,size:16,class:w.chevron})]}),i?g(`div`,{id:o,class:w.cardBody,children:[r.description?g(`p`,{class:w.cardText,children:r.description}):null,g(`dl`,{class:w.facts,children:[g(`dt`,{children:t(`plugins.id`)}),g(`dd`,{children:g(`code`,{children:r.id})}),r.version?g(e,{children:[g(`dt`,{children:t(`plugins.version`)}),g(`dd`,{children:r.version})]}):null,g(`dt`,{children:t(`plugins.source`)}),g(`dd`,{children:r.builtin?t(`plugins.builtin`):r.source}),r.categories.length?g(e,{children:[g(`dt`,{children:t(`plugins.categories`)}),g(`dd`,{children:r.categories.join(`, `)})]}):null,g(`dt`,{children:t(`plugins.tools`)}),g(`dd`,{children:r.tools.length?r.tools.join(`, `):`—`}),g(`dt`,{children:t(`plugins.commands`)}),g(`dd`,{children:r.commands.length?r.commands.map(e=>`/${e}`).join(`, `):`—`})]}),r.diagnostic?g(`p`,{class:w.diagnostic,children:r.diagnostic}):null,g(`div`,{class:w.toggleRow,children:[g(`span`,{children:t(`plugins.enable`)}),g(A,{checked:r.enabled,label:t(`plugins.enableNamed`,{name:r.name}),disabled:!r.manageable,busy:n.busy,onChange:n.onToggle})]})]}):null]})}function we(){let n=E(),[r,i]=s(`list`),[a,o]=s(``),[c,l]=s(),d=O(n?()=>u.plugins(n.id):void 0,[n?.id],[`plugins`]),f=O(n&&r===`configuration`?()=>u.settings(n.id):void 0,[n?.id,r]),p=async(e,r)=>{if(n){l(e.id);try{let i=await u.setPlugin(n.id,e.id,r);d.set((d.data??[]).map(e=>e.id===i.id?i:e)),i.status===`restart-required`&&m(t(`plugins.deferred`))}catch(e){m(M(e))}finally{l(void 0)}}},h=a.trim().toLowerCase(),v=(d.data??[]).filter(e=>!h||e.name.toLowerCase().includes(h)||e.id.toLowerCase().includes(h)||e.description.toLowerCase().includes(h));return g(e,{children:[g(k,{title:t(`settings.plugins`),body:t(`plugins.lead`),workspace:n?.path}),g(`div`,{class:w.tabs,role:`tablist`,children:[`configuration`,`list`].map(e=>g(`button`,{type:`button`,role:`tab`,class:w.tab,"aria-selected":r===e,onClick:()=>i(e),children:t(e===`list`?`plugins.tab.list`:`plugins.tab.configuration`)},e))}),r===`configuration`?g(`div`,{class:w.stack,children:[g(`p`,{class:w.callout,children:[g(_,{name:`shield`,size:16}),g(`span`,{children:t(`plugins.notSandboxed`)})]}),g(`p`,{class:w.note,children:t(`plugins.howToInstall`)}),g(`p`,{class:w.note,children:t(`plugins.applyNote`)}),f.data?g(`p`,{class:w.note,children:[t(`plugins.projectFile`),` `,g(`code`,{children:f.data.configPath})]}):null]}):g(e,{children:[g(D,{value:a,label:t(`plugins.search`),onInput:o}),g(`h4`,{class:w.listTitle,children:[t(`plugins.tab.list`),` `,g(`span`,{class:w.count,children:v.length})]}),g(T,{loading:d.loading&&!d.data,error:d.error,empty:n?d.data&&!v.length?`plugins.none`:void 0:`settings.noWorkspace`}),g(`ul`,{class:w.grid,children:v.map(e=>g(Ce,{plugin:e,busy:c===e.id,onToggle:t=>void p(e,t)},e.id))})]})]})}function Te(){let n=E(),[r,i]=s(``),[a,o]=s(),c=O(n?()=>u.skills(n.id):void 0,[n?.id],[`skills`]),l=async(e,t)=>{if(n){o(e.id);try{let r=await u.setSkill(n.id,e.id,t);c.set((c.data??[]).map(e=>e.id===r.id&&e.effective?r:e))}catch(e){m(M(e))}finally{o(void 0)}}},d=r.trim().toLowerCase(),f=(c.data??[]).filter(e=>!d||e.displayId.toLowerCase().includes(d)||e.description.toLowerCase().includes(d));return g(e,{children:[g(k,{title:t(`settings.skills`),body:t(`skills.lead`),workspace:n?.path}),g(D,{value:r,label:t(`skills.search`),onInput:i}),g(T,{loading:c.loading&&!c.data,error:c.error,empty:n?c.data&&!f.length?`skills.none`:void 0:`settings.noWorkspace`}),g(`ul`,{class:w.rows,children:f.map(e=>g(`li`,{class:w.row,"data-muted":!e.effective,children:[g(`div`,{class:w.rowMain,children:[g(`div`,{class:w.rowTitle,children:[g(`span`,{class:w.cardName,children:e.displayId}),g(j,{tone:e.enabled&&e.effective?`ok`:`off`,children:e.effective?e.enabled?t(`plugins.status.enabled`):t(`plugins.status.disabled`):t(`skills.shadowed`)})]}),g(`p`,{class:w.cardText,children:e.description}),g(`p`,{class:w.meta,children:[t(`skills.meta`,{scope:e.owner?`${e.scope} · ${e.owner.name}`:e.scope,tokens:e.approximateTokens}),e.shadowedBy?` · ${t(`skills.shadowedBy`,{id:e.shadowedBy})}`:``,e.locked?` · ${t(`skills.locked`)}`:``]})]}),g(A,{checked:e.enabled,label:t(`plugins.enableNamed`,{name:e.displayId}),disabled:!e.effective||!e.manageable||e.locked,busy:a===e.id,onChange:t=>void l(e,t)})]},`${e.id}:${e.source}`))})]})}var Ee=[{id:`general`,icon:`settings`},{id:`models`,icon:`database`},{id:`plugins`,icon:`sliders`},{id:`skills`,icon:`book`},{id:`mcp`,icon:`plug`},{id:`agents`,icon:`users`},{id:`forge`,icon:`terminal`},{id:`appearance`,icon:`palette`},{id:`about`,icon:`info`}],De=`button:not(:disabled), input:not(:disabled), select:not(:disabled), [tabindex='0']`;function Oe(e){let n=E(),r=O(n?()=>u.settings(n.id):void 0,[n?.id]),i=r.data?[{label:t(`config.effective`),path:r.data.configPath},{label:t(`config.settings`),path:r.data.settingsPath},{label:t(`config.providers`),path:r.data.providersPath}]:[];return g(`div`,{class:w.popover,role:`dialog`,"aria-label":t(`config.open`),children:[g(`div`,{class:w.popoverHead,children:[g(`strong`,{children:t(`config.open`)}),g(`button`,{type:`button`,class:`icon-btn`,"aria-label":t(`common.close`),onClick:e.onClose,children:g(_,{name:`x`,size:16})})]}),g(`p`,{class:w.note,children:t(`config.lead`)}),n?null:g(`p`,{class:w.note,children:t(`settings.noWorkspace`)}),r.error?g(`p`,{class:w.errorText,children:r.error}):null,g(`ul`,{class:w.paths,children:i.map(e=>g(`li`,{children:[g(`span`,{class:w.meta,children:e.label}),g(`span`,{class:w.pathRow,children:[g(`code`,{class:w.path,children:e.path}),g(v,{text:()=>e.path,label:t(`config.copy`)})]})]},e.label))}),r.data&&!r.data.trusted?g(`p`,{class:w.note,children:t(`config.untrusted`)}):null]})}function ke(){let[e,i]=s(()=>te(h.peek())),[a,o]=s(!1),c=r(null);n(()=>{let e=document.activeElement;return c.current?.querySelector(`nav button`)?.focus(),()=>e?.focus()},[]);let l=()=>{f.value=!1,h.value=void 0};return g(`div`,{class:w.backdrop,onMouseDown:e=>{e.target===e.currentTarget&&l()},children:g(`div`,{ref:c,class:w.dialog,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`settings-title`,onKeyDown:e=>{if(e.key===`Escape`&&(a?o(!1):l()),e.key===`Tab`){let t=[...c.current?.querySelectorAll(De)??[]],n=t[0],r=t.at(-1);e.shiftKey&&document.activeElement===n?(e.preventDefault(),r?.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n?.focus())}},children:[g(`nav`,{class:w.nav,"aria-label":t(`settings.title`),children:[g(`h2`,{id:`settings-title`,class:w.heading,children:t(`settings.title`)}),Ee.map(({id:n,icon:r})=>g(`button`,{type:`button`,class:w.navItem,"aria-current":e===n?`page`:void 0,onClick:()=>i(n),children:[g(_,{name:r,size:17}),t(`settings.${n}`)]},n))]}),g(`div`,{class:w.content,children:[g(`div`,{class:w.topBar,children:[g(`button`,{type:`button`,class:w.outline,"aria-expanded":a,onClick:()=>o(!a),children:t(`config.open`)}),g(`button`,{type:`button`,class:`icon-btn`,"aria-label":t(`common.close`),onClick:l,children:g(_,{name:`x`,size:18})})]}),a?g(Oe,{onClose:()=>o(!1)}):null,g(e===`general`?pe:e===`models`?$:e===`plugins`?we:e===`skills`?Te:e===`mcp`?ge:e===`agents`?L:e===`forge`?le:e===`appearance`?R:ie,{})]})]})})}export{ke as SettingsModal};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,a as t,b as n,g as r,v as i,x as a,y as o}from"./i18n-BGlOHOa5.js";import{d as s,ft as c,wt as l}from"./app-B_dNXnFa.js";import{t as u}from"./jsxRuntime-CU76aMLO.js";import{t as d}from"./icons-BWy-tv8u.js";import{t as ee}from"./clipboard-hOiC7lD8.js";var te=1e5,ne=(e,t)=>JSON.stringify([e,t.sheet,t.sort??null,t.filter?.text?t.filter:null]),re=class{capacity;map=new Map;constructor(e=20){this.capacity=e}get size(){return this.map.size}has(e){return this.map.has(e)}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}peek(e){return this.map.get(e)}set(e,t){for(this.map.delete(e),this.map.set(e,t);this.map.size>this.capacity;){let e=this.map.keys().next().value;this.map.delete(e)}}clear(){this.map.clear()}keys(){return[...this.map.keys()]}};function ie(e,t,n,r=10){return n<=0?{first:0,last:-1}:{first:Math.max(0,Math.floor(e/28)-r),last:Math.min(n-1,Math.ceil((e+t)/28)+r)}}function ae(e,t){if(t<e)return[];let n=[];for(let r=Math.floor(e/200);r<=Math.floor(t/200);r++)n.push(r);return n}function oe(e,t,n,r){let i={limit:200};if(n&&t.sort&&(i.sort=t.sort.column,i.dir=t.sort.dir),n&&t.filter?.text&&(i.filter=t.filter.text,t.filter.column!==void 0&&(i.column=t.filter.column)),e===0)return{request:i};let a=r.peek(e-1)?.page.next;if(a)return{request:{...i,after:a}};let o=e*200;return!i.sort&&!i.filter||o<=1e5?{request:{...i,offset:o}}:{need:e-1}}function se(e,t){if(e?.column!==t)return{column:t,dir:`asc`};if(e.dir===`asc`)return{column:t,dir:`desc`}}var ce=(e,t)=>e?.column===t?e.dir===`asc`?`ascending`:`descending`:`none`;function le(e,t,n,r,i){let a=Math.max(0,r.rows-1),o=Math.max(0,r.cols-1),s=e=>({row:Math.min(a,Math.max(0,e.row)),col:Math.min(o,Math.max(0,e.col))});switch(e){case`ArrowDown`:return s({...n,row:n.row+1});case`ArrowUp`:return s({...n,row:n.row-1});case`ArrowRight`:return s({...n,col:n.col+1});case`ArrowLeft`:return s({...n,col:n.col-1});case`PageDown`:return s({...n,row:n.row+Math.max(1,i-1)});case`PageUp`:return s({...n,row:n.row-Math.max(1,i-1)});case`Home`:return s(t?{row:0,col:0}:{...n,col:0});case`End`:return s(t?{row:a,col:o}:{...n,col:o});default:return}}function ue(e,t,n,r=28){let i=e*28,a=i+28,o=Math.max(28,n-r);return i<t?i:a>t+o?a-o:t}var f=e=>Math.min(800,Math.max(60,Math.round(e)));function de(e,t,n){let r=t?64:16;switch(e){case`ArrowRight`:return f(n+r);case`ArrowLeft`:return f(n-r);case`Home`:return 60;case`End`:return 800;case`Enter`:return 140;default:return}}var p=e=>e==null?``:String(e),fe=e=>e.map(e=>p(e).replace(/[\t\r\n]+/g,` `)).join(` `),m=e=>e.toLocaleString(`en-US`),h={root:`_root_1scuo_2`,toolbar:`_toolbar_1scuo_12`,field:`_field_1scuo_21`,filter:`_filter_1scuo_22`,iconButton:`_iconButton_1scuo_40`,linkButton:`_linkButton_1scuo_41`,button:`_button_1scuo_42`,count:`_count_1scuo_52`,notice:`_notice_1scuo_79`,error:`_error_1scuo_88`,scroller:`_scroller_1scuo_103`,sizer:`_sizer_1scuo_112`,header:`_header_1scuo_116`,headerCell:`_headerCell_1scuo_125`,headerText:`_headerText_1scuo_153`,type:`_type_1scuo_158`,handle:`_handle_1scuo_166`,rows:`_rows_1scuo_180`,row:`_row_1scuo_180`,cell:`_cell_1scuo_195`,rowNumber:`_rowNumber_1scuo_201`,empty:`_empty_1scuo_259`,state:`_state_1scuo_270`,muted:`_muted_1scuo_283`,sheetShimmer:`_sheet-shimmer_1scuo_1`},g=64;function _(l){let{datasetId:_}=l,[v,y]=o(),[pe,me]=o(),[he,ge]=o(0),[b,x]=o({sheet:``}),[S,_e]=o(``),[C,ve]=o(),[w,T]=o({}),[E,D]=o({top:0,left:0,width:600,height:400}),[O,k]=o({row:0,col:0}),[ye,A]=o(0),[j,be]=o({interactive:!0}),[xe,M]=o(),N=r(null),P=r(new re),F=r(new Map),I=r(0),L=r(void 0),R=r(0);n(()=>{let e=!0;return y(void 0),me(void 0),s.dataset(_).then(t=>{e&&(y(t),x({sheet:t.sheetDetails[0]?.name??``}))},t=>{e&&me(t instanceof Error?t.message:String(t))}),()=>{e=!1}},[_,he]);let z=v?.sheetDetails.find(e=>e.name===b.sheet),B=z?.columns??[],V=!!z&&z.rows<=(v?.maxInteractiveRows??0),H=!!z&&z.rows>1e5,U=V&&!!b.filter?.text,W=U?j.matched??0:z?.rows??0,Se=ne(_,b);n(()=>{I.current++,P.current.clear(),F.current.clear(),M(void 0),be({interactive:!0}),k({row:0,col:0}),N.current&&(N.current.scrollTop=0),D(e=>({...e,top:0})),A(e=>e+1)},[Se]);let G=e(()=>{let e=[],t=g;for(let n of B)e.push(t),t+=w[n.name]??140;return{starts:e,total:t}},[B,w]),K=a(e=>{let t=F.current.get(e);if(t)return t;if(P.current.has(e)||!z)return Promise.resolve();let n=I.current,r=(async()=>{let t=oe(e,b,V,P.current);if(`need`in t&&(await K(t.need),n!==I.current||(t=oe(e,b,V,P.current),`need`in t)))return;let r=await s.datasetRows(_,{sheet:z.name,...t.request});n===I.current&&(P.current.set(e,{page:r}),e===0&&be({...r.matched===void 0?{}:{matched:r.matched},interactive:r.interactive}),A(e=>e+1))})().catch(e=>{n===I.current&&M(e instanceof Error?e.message:String(e))}).finally(()=>{F.current.get(e)===r&&F.current.delete(e)});return F.current.set(e,r),r},[_,z,b,V]),q=ie(E.top,E.height-28,W),Ce=ae(q.first,q.last),we=Ce.join(`,`);n(()=>{if(!z)return;let e=new Set([0,...Ce]);for(let t of[...e].sort((e,t)=>e-t))K(t)},[we,K,z]),i(()=>{let e=L.current;if(!e||!N.current)return;let t=N.current.querySelector(`[data-r="${e.row}"][data-c="${e.col}"]`);t&&(t.focus({preventScroll:!0}),L.current=void 0)}),n(()=>{let e=N.current;if(!e)return;let t=()=>D(t=>({...t,width:e.clientWidth,height:e.clientHeight}));if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[z]);let Te=()=>{let e=N.current;e&&!R.current&&(R.current=requestAnimationFrame(()=>{R.current=0,D(t=>({...t,top:e.scrollTop,left:e.scrollLeft,width:e.clientWidth,height:e.clientHeight}))}))},J=e=>P.current.peek(Math.floor(e/200))?.page.rows[e%200],Ee=e=>P.current.peek(Math.floor(e/200))?.page.rowids[e%200],Y=e=>{k(e),L.current=e;let t=N.current;if(t&&e.row>=0){let n=ue(e.row,t.scrollTop,t.clientHeight);n!==t.scrollTop&&(t.scrollTop=n);let r=G.starts[e.col]??0,i=r+(w[B[e.col]?.name??``]??140);r-g<t.scrollLeft?t.scrollLeft=Math.max(0,r-g):i>t.scrollLeft+t.clientWidth&&(t.scrollLeft=i-t.clientWidth)}},De=e=>{if(!V)return;let t=se(b.sort,e);x({...b,...t?{sort:t}:{sort:void 0}})},X=async e=>{await ee(e)&&c(t(`sheet.copied`))},Oe=e=>{if(!z||!B.length)return;let t=e.ctrlKey||e.metaKey;if(t&&e.key.toLowerCase()===`c`&&!window.getSelection()?.toString()){if(e.preventDefault(),O.row<0)X(B[O.col]?.label??``);else{let t=J(O.row);t&&X(e.shiftKey?fe(t):p(t[O.col]))}return}if(O.row<0&&(e.key===`Enter`||e.key===` `)){e.preventDefault();let t=B[O.col];t&&De(t.name);return}if(e.altKey&&O.row<0&&(e.key===`ArrowLeft`||e.key===`ArrowRight`)){e.preventDefault();let t=B[O.col];if(!t)return;let n=w[t.name]??140,r=de(e.key,e.shiftKey,n);r!==void 0&&T({...w,[t.name]:r});return}let n=le(e.key,t,O,{rows:W,cols:B.length},Math.floor((E.height-28)/28));if(n){if(e.preventDefault(),e.key===`ArrowUp`&&O.row===0)return Y({row:-1,col:O.col});if(e.key===`ArrowDown`&&O.row===-1)return Y({row:W?0:-1,col:O.col});Y(n)}};n(()=>{if(!z)return;let e=setTimeout(()=>{let e=S.trim(),t=C??(H?B[0]?.name:void 0);x(n=>{if((n.filter?.text??``)===e&&n.filter?.column===t)return n;let{filter:r,...i}=n;return e?{...i,filter:{text:e,...t===void 0?{}:{column:t}}}:i})},300);return()=>clearTimeout(e)},[S,C,z,H]);let ke=(e,t)=>{e.preventDefault(),e.stopPropagation();let n=e.currentTarget;n.setPointerCapture(e.pointerId);let r=e.clientX,i=w[t]??140,a=e=>T(n=>({...n,[t]:f(i+e.clientX-r)})),o=()=>{n.removeEventListener(`pointermove`,a),n.removeEventListener(`pointerup`,o),n.removeEventListener(`pointercancel`,o)};n.addEventListener(`pointermove`,a),n.addEventListener(`pointerup`,o),n.addEventListener(`pointercancel`,o)};if(pe)return u(`div`,{class:h.state,role:`status`,children:[u(`p`,{children:t(`sheet.error`)}),u(`p`,{class:h.muted,children:pe}),u(`button`,{type:`button`,class:h.button,onClick:()=>ge(e=>e+1),children:t(`artifact.retry`)})]});if(!v||!z)return u(`div`,{class:h.state,"aria-busy":`true`,children:t(`sheet.loading`)});let Ae=q.first,je=[];for(let e=q.first;e<=q.last;e++)je.push(e);let Z=0;for(;Z<B.length-1&&(G.starts[Z+1]??G.total)-g<E.left;)Z++;let Q=Z;for(;Q<B.length-1&&(G.starts[Q+1]??G.total)<E.left+E.width;)Q++;Z=Math.max(0,Z-3),Q=Math.min(B.length-1,Q+3);let $=[];for(let e=Z;e<=Q;e++)$.push(e);let Me=e=>w[B[e]?.name??``]??140;return u(`div`,{class:h.root,children:[u(`div`,{class:h.toolbar,children:[v.sheetDetails.length>1?u(`label`,{class:h.field,children:[u(`span`,{class:`sr-only`,children:t(`sheet.sheet`)}),u(`select`,{value:b.sheet,"aria-label":t(`sheet.sheet`),onChange:e=>{_e(``),x({sheet:e.target.value})},children:v.sheetDetails.map(e=>u(`option`,{value:e.name,children:e.name},e.name))})]}):null,u(`label`,{class:h.field,children:[u(`span`,{class:`sr-only`,children:t(`sheet.filterColumn`)}),u(`select`,{disabled:!V,"aria-label":t(`sheet.filterColumn`),value:C??(H?B[0]?.name??``:``),onChange:e=>{let t=e.target.value;ve(t===``?void 0:t)},children:[H?null:u(`option`,{value:``,children:t(`sheet.allColumns`)}),B.map(e=>u(`option`,{value:e.name,children:e.label},e.name))]})]}),u(`input`,{type:`search`,class:h.filter,disabled:!V,placeholder:t(`sheet.filter`),"aria-label":t(`sheet.filter`),value:S,onInput:e=>_e(e.target.value)}),u(`span`,{class:h.count,"aria-live":`polite`,children:U&&j.matched!==void 0?t(`sheet.matches`,{matched:m(j.matched),total:m(z.rows)}):t(`sheet.rows`,{total:m(z.rows)})}),u(`button`,{type:`button`,class:h.iconButton,disabled:O.row<0||!J(O.row),"aria-label":t(`sheet.copyRow`),title:t(`sheet.copyRow`),onClick:()=>{let e=J(O.row);e&&X(fe(e))},children:u(d,{name:`copy`,size:15})}),l.downloadHref?u(`a`,{class:h.iconButton,href:l.downloadHref,download:``,"aria-label":t(`sheet.downloadOriginal`),title:t(`sheet.downloadOriginal`),children:u(d,{name:`download`,size:15})}):null]}),V?H?u(`p`,{class:h.notice,children:t(`sheet.needColumn`)}):(b.sort||U)&&W>1e5?u(`p`,{class:h.notice,children:t(`sheet.jumpLimited`,{limit:m(te)})}):null:u(`p`,{class:h.notice,role:`status`,children:t(`sheet.notInteractive`,{limit:m(v.maxInteractiveRows)})}),xe?u(`p`,{class:`${h.notice} ${h.error}`,role:`alert`,children:[t(`sheet.error`),` `,xe,` `,u(`button`,{type:`button`,class:h.linkButton,onClick:()=>{I.current++,P.current.clear(),F.current.clear(),M(void 0),A(e=>e+1)},children:t(`artifact.retry`)})]}):null,u(`div`,{ref:N,class:h.scroller,role:`grid`,"aria-label":t(`sheet.label`),"aria-rowcount":W+1,"aria-colcount":B.length+1,"data-version":ye,onScroll:Te,onKeyDown:Oe,children:u(`div`,{class:h.sizer,style:{width:`${G.total}px`,height:`${(W+1)*28}px`},children:[u(`div`,{class:h.header,role:`row`,"aria-rowindex":1,style:{width:`${G.total}px`},children:[u(`div`,{class:`${h.rowNumber} ${h.headerCell}`,role:`columnheader`,"aria-colindex":1,children:t(`sheet.rowNumber`)}),$.map(e=>{let n=B[e];if(!n)return null;let r=O.row===-1&&O.col===e,i=ce(b.sort,n.name);return u(`div`,{class:h.headerCell,role:`columnheader`,"aria-colindex":e+2,"aria-sort":i,"data-r":-1,"data-c":e,tabIndex:r?0:-1,style:{left:`${G.starts[e]}px`,width:`${Me(e)}px`},title:`${n.label} · ${n.type}`,onFocus:()=>k({row:-1,col:e}),onClick:()=>{k({row:-1,col:e}),De(n.name)},children:[u(`span`,{class:h.headerText,children:n.label}),u(`span`,{class:h.type,children:n.type}),i===`none`?null:u(d,{name:i===`ascending`?`arrowUp`:`arrowDown`,size:13}),u(`span`,{class:`sr-only`,children:V?t(`sheet.sortBy`,{column:n.label}):``}),u(`span`,{class:h.handle,role:`separator`,"aria-orientation":`vertical`,"aria-label":t(`sheet.resizeColumn`,{column:n.label}),"aria-valuenow":Me(e),onPointerDown:e=>ke(e,n.name),onClick:e=>e.stopPropagation(),onDblClick:e=>{e.stopPropagation(),T({...w,[n.name]:140})}})]},n.name)})]}),W===0&&j.matched===0&&U?u(`p`,{class:h.empty,children:t(`sheet.noMatches`)}):W===0&&z.rows===0?u(`p`,{class:h.empty,children:t(`sheet.empty`)}):null,u(`div`,{class:h.rows,style:{top:`${(Ae+1)*28}px`},children:je.map(e=>{let t=J(e),n=Ee(e);return u(`div`,{class:h.row,role:`row`,"aria-rowindex":e+2,"data-odd":e%2==1?`true`:void 0,"data-loading":t?void 0:`true`,style:{width:`${G.total}px`},children:[u(`div`,{class:h.rowNumber,role:`rowheader`,"aria-colindex":1,title:n===void 0?void 0:String(n),children:n??``}),$.map(n=>{let r=O.row===e&&O.col===n,i=t?.[n];return u(`div`,{class:h.cell,role:`gridcell`,"aria-colindex":n+2,"data-r":e,"data-c":n,"data-null":t&&i===null?`true`:void 0,"data-number":typeof i==`number`?`true`:void 0,"data-active":r?`true`:void 0,tabIndex:r?0:-1,style:{left:`${G.starts[n]}px`,width:`${Me(n)}px`},onFocus:()=>k({row:e,col:n}),onMouseDown:()=>k({row:e,col:n}),title:t?p(i):void 0,children:t?p(i):``},n)})]},e)})})]})}),U||b.sort?u(`span`,{class:`sr-only`,"aria-live":`polite`,children:(b.sort?b.sort.column:``)+(U?` ${b.filter?.text}`:``)}):null]})}function v(e){let[r,i]=o(),[a,c]=o(),[d,ee]=o(0);return n(()=>{let t=!0,n;i(void 0),c(void 0);let r=()=>s.artifactDataset(e.artifactId).then(e=>{t&&(e.dataset?i(e.dataset):n=setTimeout(r,2e3))},e=>{t&&c(e instanceof Error?e.message:String(e))});return r(),()=>{t=!1,clearTimeout(n)}},[e.artifactId,d]),a?u(`div`,{class:h.state,role:`status`,children:[u(`p`,{children:t(`sheet.error`)}),u(`p`,{class:h.muted,children:a}),u(`button`,{type:`button`,class:h.button,onClick:()=>ee(e=>e+1),children:t(`artifact.retry`)})]}):r?u(_,{datasetId:r.id,name:e.name,downloadHref:l(e.artifactId)}):u(`div`,{class:h.state,"aria-busy":`true`,children:t(`sheet.preparing`)})}function y(e){return u(_,{datasetId:e.dataset.id,name:e.dataset.name,...e.original?{downloadHref:s.datasetDownloadUrl(e.dataset.id)}:{}})}export{v as ArtifactSpreadsheet,y as DatasetSpreadsheet,_ as SpreadsheetView};
|
|
1
|
+
import{_ as e,a as t,b as n,g as r,v as i,x as a,y as o}from"./i18n-C54K0mc6.js";import{Et as s,d as c,mt as l}from"./app-BknkHksg.js";import{t as u}from"./jsxRuntime-DWBdSTGf.js";import{t as d}from"./icons-DTCoNVsk.js";import{t as ee}from"./clipboard-hOiC7lD8.js";var te=1e5,ne=(e,t)=>JSON.stringify([e,t.sheet,t.sort??null,t.filter?.text?t.filter:null]),re=class{capacity;map=new Map;constructor(e=20){this.capacity=e}get size(){return this.map.size}has(e){return this.map.has(e)}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}peek(e){return this.map.get(e)}set(e,t){for(this.map.delete(e),this.map.set(e,t);this.map.size>this.capacity;){let e=this.map.keys().next().value;this.map.delete(e)}}clear(){this.map.clear()}keys(){return[...this.map.keys()]}};function ie(e,t,n,r=10){return n<=0?{first:0,last:-1}:{first:Math.max(0,Math.floor(e/28)-r),last:Math.min(n-1,Math.ceil((e+t)/28)+r)}}function ae(e,t){if(t<e)return[];let n=[];for(let r=Math.floor(e/200);r<=Math.floor(t/200);r++)n.push(r);return n}function oe(e,t,n,r){let i={limit:200};if(n&&t.sort&&(i.sort=t.sort.column,i.dir=t.sort.dir),n&&t.filter?.text&&(i.filter=t.filter.text,t.filter.column!==void 0&&(i.column=t.filter.column)),e===0)return{request:i};let a=r.peek(e-1)?.page.next;if(a)return{request:{...i,after:a}};let o=e*200;return!i.sort&&!i.filter||o<=1e5?{request:{...i,offset:o}}:{need:e-1}}function se(e,t){if(e?.column!==t)return{column:t,dir:`asc`};if(e.dir===`asc`)return{column:t,dir:`desc`}}var ce=(e,t)=>e?.column===t?e.dir===`asc`?`ascending`:`descending`:`none`;function le(e,t,n,r,i){let a=Math.max(0,r.rows-1),o=Math.max(0,r.cols-1),s=e=>({row:Math.min(a,Math.max(0,e.row)),col:Math.min(o,Math.max(0,e.col))});switch(e){case`ArrowDown`:return s({...n,row:n.row+1});case`ArrowUp`:return s({...n,row:n.row-1});case`ArrowRight`:return s({...n,col:n.col+1});case`ArrowLeft`:return s({...n,col:n.col-1});case`PageDown`:return s({...n,row:n.row+Math.max(1,i-1)});case`PageUp`:return s({...n,row:n.row-Math.max(1,i-1)});case`Home`:return s(t?{row:0,col:0}:{...n,col:0});case`End`:return s(t?{row:a,col:o}:{...n,col:o});default:return}}function ue(e,t,n,r=28){let i=e*28,a=i+28,o=Math.max(28,n-r);return i<t?i:a>t+o?a-o:t}var f=e=>Math.min(800,Math.max(60,Math.round(e)));function de(e,t,n){let r=t?64:16;switch(e){case`ArrowRight`:return f(n+r);case`ArrowLeft`:return f(n-r);case`Home`:return 60;case`End`:return 800;case`Enter`:return 140;default:return}}var p=e=>e==null?``:String(e),fe=e=>e.map(e=>p(e).replace(/[\t\r\n]+/g,` `)).join(` `),m=e=>e.toLocaleString(`en-US`),h={root:`_root_1scuo_2`,toolbar:`_toolbar_1scuo_12`,field:`_field_1scuo_21`,filter:`_filter_1scuo_22`,iconButton:`_iconButton_1scuo_40`,linkButton:`_linkButton_1scuo_41`,button:`_button_1scuo_42`,count:`_count_1scuo_52`,notice:`_notice_1scuo_79`,error:`_error_1scuo_88`,scroller:`_scroller_1scuo_103`,sizer:`_sizer_1scuo_112`,header:`_header_1scuo_116`,headerCell:`_headerCell_1scuo_125`,headerText:`_headerText_1scuo_153`,type:`_type_1scuo_158`,handle:`_handle_1scuo_166`,rows:`_rows_1scuo_180`,row:`_row_1scuo_180`,cell:`_cell_1scuo_195`,rowNumber:`_rowNumber_1scuo_201`,empty:`_empty_1scuo_259`,state:`_state_1scuo_270`,muted:`_muted_1scuo_283`,sheetShimmer:`_sheet-shimmer_1scuo_1`},g=64;function _(s){let{datasetId:_}=s,[v,y]=o(),[pe,me]=o(),[he,ge]=o(0),[b,x]=o({sheet:``}),[S,_e]=o(``),[C,ve]=o(),[w,T]=o({}),[E,D]=o({top:0,left:0,width:600,height:400}),[O,k]=o({row:0,col:0}),[ye,A]=o(0),[j,be]=o({interactive:!0}),[xe,M]=o(),N=r(null),P=r(new re),F=r(new Map),I=r(0),L=r(void 0),R=r(0);n(()=>{let e=!0;return y(void 0),me(void 0),c.dataset(_).then(t=>{e&&(y(t),x({sheet:t.sheetDetails[0]?.name??``}))},t=>{e&&me(t instanceof Error?t.message:String(t))}),()=>{e=!1}},[_,he]);let z=v?.sheetDetails.find(e=>e.name===b.sheet),B=z?.columns??[],V=!!z&&z.rows<=(v?.maxInteractiveRows??0),H=!!z&&z.rows>1e5,U=V&&!!b.filter?.text,W=U?j.matched??0:z?.rows??0,Se=ne(_,b);n(()=>{I.current++,P.current.clear(),F.current.clear(),M(void 0),be({interactive:!0}),k({row:0,col:0}),N.current&&(N.current.scrollTop=0),D(e=>({...e,top:0})),A(e=>e+1)},[Se]);let G=e(()=>{let e=[],t=g;for(let n of B)e.push(t),t+=w[n.name]??140;return{starts:e,total:t}},[B,w]),K=a(e=>{let t=F.current.get(e);if(t)return t;if(P.current.has(e)||!z)return Promise.resolve();let n=I.current,r=(async()=>{let t=oe(e,b,V,P.current);if(`need`in t&&(await K(t.need),n!==I.current||(t=oe(e,b,V,P.current),`need`in t)))return;let r=await c.datasetRows(_,{sheet:z.name,...t.request});n===I.current&&(P.current.set(e,{page:r}),e===0&&be({...r.matched===void 0?{}:{matched:r.matched},interactive:r.interactive}),A(e=>e+1))})().catch(e=>{n===I.current&&M(e instanceof Error?e.message:String(e))}).finally(()=>{F.current.get(e)===r&&F.current.delete(e)});return F.current.set(e,r),r},[_,z,b,V]),q=ie(E.top,E.height-28,W),Ce=ae(q.first,q.last),we=Ce.join(`,`);n(()=>{if(!z)return;let e=new Set([0,...Ce]);for(let t of[...e].sort((e,t)=>e-t))K(t)},[we,K,z]),i(()=>{let e=L.current;if(!e||!N.current)return;let t=N.current.querySelector(`[data-r="${e.row}"][data-c="${e.col}"]`);t&&(t.focus({preventScroll:!0}),L.current=void 0)}),n(()=>{let e=N.current;if(!e)return;let t=()=>D(t=>({...t,width:e.clientWidth,height:e.clientHeight}));if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[z]);let Te=()=>{let e=N.current;e&&!R.current&&(R.current=requestAnimationFrame(()=>{R.current=0,D(t=>({...t,top:e.scrollTop,left:e.scrollLeft,width:e.clientWidth,height:e.clientHeight}))}))},J=e=>P.current.peek(Math.floor(e/200))?.page.rows[e%200],Ee=e=>P.current.peek(Math.floor(e/200))?.page.rowids[e%200],Y=e=>{k(e),L.current=e;let t=N.current;if(t&&e.row>=0){let n=ue(e.row,t.scrollTop,t.clientHeight);n!==t.scrollTop&&(t.scrollTop=n);let r=G.starts[e.col]??0,i=r+(w[B[e.col]?.name??``]??140);r-g<t.scrollLeft?t.scrollLeft=Math.max(0,r-g):i>t.scrollLeft+t.clientWidth&&(t.scrollLeft=i-t.clientWidth)}},De=e=>{if(!V)return;let t=se(b.sort,e);x({...b,...t?{sort:t}:{sort:void 0}})},X=async e=>{await ee(e)&&l(t(`sheet.copied`))},Oe=e=>{if(!z||!B.length)return;let t=e.ctrlKey||e.metaKey;if(t&&e.key.toLowerCase()===`c`&&!window.getSelection()?.toString()){if(e.preventDefault(),O.row<0)X(B[O.col]?.label??``);else{let t=J(O.row);t&&X(e.shiftKey?fe(t):p(t[O.col]))}return}if(O.row<0&&(e.key===`Enter`||e.key===` `)){e.preventDefault();let t=B[O.col];t&&De(t.name);return}if(e.altKey&&O.row<0&&(e.key===`ArrowLeft`||e.key===`ArrowRight`)){e.preventDefault();let t=B[O.col];if(!t)return;let n=w[t.name]??140,r=de(e.key,e.shiftKey,n);r!==void 0&&T({...w,[t.name]:r});return}let n=le(e.key,t,O,{rows:W,cols:B.length},Math.floor((E.height-28)/28));if(n){if(e.preventDefault(),e.key===`ArrowUp`&&O.row===0)return Y({row:-1,col:O.col});if(e.key===`ArrowDown`&&O.row===-1)return Y({row:W?0:-1,col:O.col});Y(n)}};n(()=>{if(!z)return;let e=setTimeout(()=>{let e=S.trim(),t=C??(H?B[0]?.name:void 0);x(n=>{if((n.filter?.text??``)===e&&n.filter?.column===t)return n;let{filter:r,...i}=n;return e?{...i,filter:{text:e,...t===void 0?{}:{column:t}}}:i})},300);return()=>clearTimeout(e)},[S,C,z,H]);let ke=(e,t)=>{e.preventDefault(),e.stopPropagation();let n=e.currentTarget;n.setPointerCapture(e.pointerId);let r=e.clientX,i=w[t]??140,a=e=>T(n=>({...n,[t]:f(i+e.clientX-r)})),o=()=>{n.removeEventListener(`pointermove`,a),n.removeEventListener(`pointerup`,o),n.removeEventListener(`pointercancel`,o)};n.addEventListener(`pointermove`,a),n.addEventListener(`pointerup`,o),n.addEventListener(`pointercancel`,o)};if(pe)return u(`div`,{class:h.state,role:`status`,children:[u(`p`,{children:t(`sheet.error`)}),u(`p`,{class:h.muted,children:pe}),u(`button`,{type:`button`,class:h.button,onClick:()=>ge(e=>e+1),children:t(`artifact.retry`)})]});if(!v||!z)return u(`div`,{class:h.state,"aria-busy":`true`,children:t(`sheet.loading`)});let Ae=q.first,je=[];for(let e=q.first;e<=q.last;e++)je.push(e);let Z=0;for(;Z<B.length-1&&(G.starts[Z+1]??G.total)-g<E.left;)Z++;let Q=Z;for(;Q<B.length-1&&(G.starts[Q+1]??G.total)<E.left+E.width;)Q++;Z=Math.max(0,Z-3),Q=Math.min(B.length-1,Q+3);let $=[];for(let e=Z;e<=Q;e++)$.push(e);let Me=e=>w[B[e]?.name??``]??140;return u(`div`,{class:h.root,children:[u(`div`,{class:h.toolbar,children:[v.sheetDetails.length>1?u(`label`,{class:h.field,children:[u(`span`,{class:`sr-only`,children:t(`sheet.sheet`)}),u(`select`,{value:b.sheet,"aria-label":t(`sheet.sheet`),onChange:e=>{_e(``),x({sheet:e.target.value})},children:v.sheetDetails.map(e=>u(`option`,{value:e.name,children:e.name},e.name))})]}):null,u(`label`,{class:h.field,children:[u(`span`,{class:`sr-only`,children:t(`sheet.filterColumn`)}),u(`select`,{disabled:!V,"aria-label":t(`sheet.filterColumn`),value:C??(H?B[0]?.name??``:``),onChange:e=>{let t=e.target.value;ve(t===``?void 0:t)},children:[H?null:u(`option`,{value:``,children:t(`sheet.allColumns`)}),B.map(e=>u(`option`,{value:e.name,children:e.label},e.name))]})]}),u(`input`,{type:`search`,class:h.filter,disabled:!V,placeholder:t(`sheet.filter`),"aria-label":t(`sheet.filter`),value:S,onInput:e=>_e(e.target.value)}),u(`span`,{class:h.count,"aria-live":`polite`,children:U&&j.matched!==void 0?t(`sheet.matches`,{matched:m(j.matched),total:m(z.rows)}):t(`sheet.rows`,{total:m(z.rows)})}),u(`button`,{type:`button`,class:h.iconButton,disabled:O.row<0||!J(O.row),"aria-label":t(`sheet.copyRow`),title:t(`sheet.copyRow`),onClick:()=>{let e=J(O.row);e&&X(fe(e))},children:u(d,{name:`copy`,size:15})}),s.downloadHref?u(`a`,{class:h.iconButton,href:s.downloadHref,download:``,"aria-label":t(`sheet.downloadOriginal`),title:t(`sheet.downloadOriginal`),children:u(d,{name:`download`,size:15})}):null]}),V?H?u(`p`,{class:h.notice,children:t(`sheet.needColumn`)}):(b.sort||U)&&W>1e5?u(`p`,{class:h.notice,children:t(`sheet.jumpLimited`,{limit:m(te)})}):null:u(`p`,{class:h.notice,role:`status`,children:t(`sheet.notInteractive`,{limit:m(v.maxInteractiveRows)})}),xe?u(`p`,{class:`${h.notice} ${h.error}`,role:`alert`,children:[t(`sheet.error`),` `,xe,` `,u(`button`,{type:`button`,class:h.linkButton,onClick:()=>{I.current++,P.current.clear(),F.current.clear(),M(void 0),A(e=>e+1)},children:t(`artifact.retry`)})]}):null,u(`div`,{ref:N,class:h.scroller,role:`grid`,"aria-label":t(`sheet.label`),"aria-rowcount":W+1,"aria-colcount":B.length+1,"data-version":ye,onScroll:Te,onKeyDown:Oe,children:u(`div`,{class:h.sizer,style:{width:`${G.total}px`,height:`${(W+1)*28}px`},children:[u(`div`,{class:h.header,role:`row`,"aria-rowindex":1,style:{width:`${G.total}px`},children:[u(`div`,{class:`${h.rowNumber} ${h.headerCell}`,role:`columnheader`,"aria-colindex":1,children:t(`sheet.rowNumber`)}),$.map(e=>{let n=B[e];if(!n)return null;let r=O.row===-1&&O.col===e,i=ce(b.sort,n.name);return u(`div`,{class:h.headerCell,role:`columnheader`,"aria-colindex":e+2,"aria-sort":i,"data-r":-1,"data-c":e,tabIndex:r?0:-1,style:{left:`${G.starts[e]}px`,width:`${Me(e)}px`},title:`${n.label} · ${n.type}`,onFocus:()=>k({row:-1,col:e}),onClick:()=>{k({row:-1,col:e}),De(n.name)},children:[u(`span`,{class:h.headerText,children:n.label}),u(`span`,{class:h.type,children:n.type}),i===`none`?null:u(d,{name:i===`ascending`?`arrowUp`:`arrowDown`,size:13}),u(`span`,{class:`sr-only`,children:V?t(`sheet.sortBy`,{column:n.label}):``}),u(`span`,{class:h.handle,role:`separator`,"aria-orientation":`vertical`,"aria-label":t(`sheet.resizeColumn`,{column:n.label}),"aria-valuenow":Me(e),onPointerDown:e=>ke(e,n.name),onClick:e=>e.stopPropagation(),onDblClick:e=>{e.stopPropagation(),T({...w,[n.name]:140})}})]},n.name)})]}),W===0&&j.matched===0&&U?u(`p`,{class:h.empty,children:t(`sheet.noMatches`)}):W===0&&z.rows===0?u(`p`,{class:h.empty,children:t(`sheet.empty`)}):null,u(`div`,{class:h.rows,style:{top:`${(Ae+1)*28}px`},children:je.map(e=>{let t=J(e),n=Ee(e);return u(`div`,{class:h.row,role:`row`,"aria-rowindex":e+2,"data-odd":e%2==1?`true`:void 0,"data-loading":t?void 0:`true`,style:{width:`${G.total}px`},children:[u(`div`,{class:h.rowNumber,role:`rowheader`,"aria-colindex":1,title:n===void 0?void 0:String(n),children:n??``}),$.map(n=>{let r=O.row===e&&O.col===n,i=t?.[n];return u(`div`,{class:h.cell,role:`gridcell`,"aria-colindex":n+2,"data-r":e,"data-c":n,"data-null":t&&i===null?`true`:void 0,"data-number":typeof i==`number`?`true`:void 0,"data-active":r?`true`:void 0,tabIndex:r?0:-1,style:{left:`${G.starts[n]}px`,width:`${Me(n)}px`},onFocus:()=>k({row:e,col:n}),onMouseDown:()=>k({row:e,col:n}),title:t?p(i):void 0,children:t?p(i):``},n)})]},e)})})]})}),U||b.sort?u(`span`,{class:`sr-only`,"aria-live":`polite`,children:(b.sort?b.sort.column:``)+(U?` ${b.filter?.text}`:``)}):null]})}function v(e){let[r,i]=o(),[a,l]=o(),[d,ee]=o(0);return n(()=>{let t=!0,n;i(void 0),l(void 0);let r=()=>c.artifactDataset(e.artifactId).then(e=>{t&&(e.dataset?i(e.dataset):n=setTimeout(r,2e3))},e=>{t&&l(e instanceof Error?e.message:String(e))});return r(),()=>{t=!1,clearTimeout(n)}},[e.artifactId,d]),a?u(`div`,{class:h.state,role:`status`,children:[u(`p`,{children:t(`sheet.error`)}),u(`p`,{class:h.muted,children:a}),u(`button`,{type:`button`,class:h.button,onClick:()=>ee(e=>e+1),children:t(`artifact.retry`)})]}):r?u(_,{datasetId:r.id,name:e.name,downloadHref:s(e.artifactId)}):u(`div`,{class:h.state,"aria-busy":`true`,children:t(`sheet.preparing`)})}function y(e){return u(_,{datasetId:e.dataset.id,name:e.dataset.name,...e.original?{downloadHref:c.datasetDownloadUrl(e.dataset.id)}:{}})}export{v as ArtifactSpreadsheet,y as DatasetSpreadsheet,_ as SpreadsheetView};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{T as e,b as t,y as n}from"./i18n-
|
|
1
|
+
import{T as e,b as t,y as n}from"./i18n-C54K0mc6.js";import{E as r}from"./app-BknkHksg.js";import{t as i}from"./jsxRuntime-DWBdSTGf.js";import{C as a,l as o}from"./index-XYSVNCIf.js";import{isLiveTask as s,leaveTasks as c,loadTasks as l,outputState as u,selectTask as d,selectedTask as f,stopTask as p,stopping as m,t as h,tasksState as g}from"./tasks-Sc_vWQpd.js";var _={tab:`_tab_ro3y1_1`,detail:`_detail_ro3y1_2`,lead:`_lead_ro3y1_9`,muted:`_muted_ro3y1_10`,note:`_note_ro3y1_11`,error:`_error_ro3y1_18`,link:`_link_ro3y1_24`,list:`_list_ro3y1_32`,row:`_row_ro3y1_41`,rowTop:`_rowTop_ro3y1_58`,titleRow:`_titleRow_ro3y1_59`,detailHead:`_detailHead_ro3y1_60`,label:`_label_ro3y1_67`,meta:`_meta_ro3y1_75`,status:`_status_ro3y1_82`,back:`_back_ro3y1_108`,stop:`_stop_ro3y1_109`,detailTitle:`_detailTitle_ro3y1_135`,facts:`_facts_ro3y1_144`},v=(e,t)=>e.startedAt?Math.max(0,(e.endedAt??t)-e.startedAt):void 0;function y({task:e}){return i(`span`,{class:_.status,"data-status":e.status,children:h(`status.${e.status}`)})}function b(e){if(e.errorCode===`timeout`)return h(`timeout`);if(e.status===`cancelled`&&e.abortOrigin)return h(`stoppedBy`,{who:h(`who.${e.abortOrigin}`)});if(e.status===`lost`)return h(`lostHint`)}function x({task:e,now:t}){let n=v(e,t);return i(`li`,{children:i(`button`,{type:`button`,class:_.row,onClick:()=>d(e.id),children:[i(`span`,{class:_.rowTop,children:[i(`span`,{class:_.label,title:e.label,children:e.label}),i(y,{task:e})]}),i(`span`,{class:_.meta,children:[i(`span`,{children:h(`kind.${e.kind}`)}),n===void 0?null:i(`span`,{children:o(n)}),e.kind===`shell`?i(`span`,{children:h(`bytes`,{size:Math.max(1,Math.round(e.bytes/1024))})}):null]})]})})}function S({task:t,now:n}){let r=u.value,c=m.value.has(t.id)||t.status===`stopping`,l=s(t),f=b(t),g=v(t,n);return i(`div`,{class:_.detail,children:[i(`div`,{class:_.detailHead,children:[i(`button`,{type:`button`,class:_.back,onClick:()=>d(void 0),children:[i(`span`,{"aria-hidden":`true`,children:`←`}),h(`back`)]}),t.kind===`shell`&&l?i(`button`,{type:`button`,class:_.stop,disabled:c,onClick:()=>void p(t.id),children:h(c?`stopping`:`stop`)}):null]}),i(`div`,{class:_.titleRow,children:[i(`h3`,{class:_.detailTitle,children:t.label}),i(y,{task:t})]}),i(`dl`,{class:_.facts,children:[t.command?i(e,{children:[i(`dt`,{children:h(`command`)}),i(`dd`,{children:i(`code`,{children:t.command})})]}):null,t.kind===`shell`&&t.cwd?i(e,{children:[i(`dt`,{children:h(`directory`)}),i(`dd`,{children:i(`code`,{children:t.cwd})})]}):null,g===void 0?null:i(e,{children:[i(`dt`,{children:h(`time`)}),i(`dd`,{children:o(g)})]})]}),f?i(`p`,{class:_.note,children:f}):null,t.kind===`subagent`?i(`p`,{class:_.note,children:h(`subagentHint`)}):null,t.kind===`shell`?i(e,{children:[r?.error?i(`p`,{class:_.error,children:r.error}):null,r?.loading?i(`p`,{class:_.muted,children:h(`loading`)}):null,r&&!r.loading&&!r.text&&!l?i(`p`,{class:_.muted,children:h(`noOutput`)}):i(a,{block:{kind:`terminal`,output:r?.text??``,...t.command?{command:t.command}:{},...t.exitCode!==void 0&&!l?{exitCode:t.exitCode}:{},...t.truncated||r?.trimmed?{truncated:!0}:{}},live:l}),r?.trimmed?i(`p`,{class:_.muted,children:h(`outputTrimmed`)}):null,t.truncated?i(`p`,{class:_.muted,children:h(`outputCut`)}):null]}):null]})}function C(){let e=r.value,a=g.value,[o,u]=n(Date.now()),d=f.value?a.items.find(e=>e.id===f.value):void 0;t(()=>{e&&a.sessionId!==e&&l(e)},[e,a.sessionId]),t(()=>c,[]);let p=a.items.some(s);return t(()=>{if(!p)return;let e=setInterval(()=>u(Date.now()),1e3);return()=>clearInterval(e)},[p]),d?i(S,{task:d,now:o}):i(`div`,{class:_.tab,children:[i(`p`,{class:_.lead,children:h(`lead`)}),a.error?i(`p`,{class:_.error,children:[h(`loadFailed`),` `,i(`button`,{type:`button`,class:_.link,onClick:()=>e&&void l(e),children:h(`retry`)})]}):null,a.loading&&!a.items.length?i(`p`,{class:_.muted,children:h(`loading`)}):null,!a.loading&&!a.error&&!a.items.length?i(`p`,{class:_.muted,children:h(`empty`)}):null,i(`ul`,{class:_.list,"aria-label":h(`title`),children:a.items.map(e=>i(x,{task:e,now:o},e.id))})]})}export{C as TasksTab};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,b as t,y as n}from"./i18n-
|
|
1
|
+
import{a as e,b as t,y as n}from"./i18n-C54K0mc6.js";import{d as r}from"./app-BknkHksg.js";import{t as i}from"./jsxRuntime-DWBdSTGf.js";import{o as a,r as o}from"./panel-LBWYDX9B.js";import{S as s,j as c,w as l,x as u,z as d}from"./index-XYSVNCIf.js";import{t as f}from"./view-CChCbdid.js";var p={panel:`_panel_ildbo_2`,head:`_head_ildbo_24`,titleButton:`_titleButton_ildbo_34`,iconButton:`_iconButton_ildbo_56`,option:`_option_ildbo_57`,action:`_action_ildbo_58`,titleText:`_titleText_ildbo_63`,kindIcon:`_kindIcon_ildbo_69`,actions:`_actions_ildbo_74`,popup:`_popup_ildbo_97`,filter:`_filter_ildbo_112`,listbox:`_listbox_ildbo_122`,optionName:`_optionName_ildbo_146`,optionKind:`_optionKind_ildbo_156`,dot:`_dot_ildbo_161`,menu:`_menu_ildbo_171`,danger:`_danger_ildbo_196`,muted:`_muted_ildbo_200`,body:`_body_ildbo_206`,document:`_document_ildbo_213`,frameWrap:`_frameWrap_ildbo_217`,frame:`_frame_ildbo_217`,skeleton:`_skeleton_ildbo_232`,state:`_state_ildbo_241`,stateError:`_stateError_ildbo_253`,button:`_button_ildbo_257`,primary:`_primary_ildbo_271`,fallbackIcon:`_fallbackIcon_ildbo_277`,fallbackName:`_fallbackName_ildbo_287`,imageBar:`_imageBar_ildbo_296`,toggle:`_toggle_ildbo_307`,imageWrap:`_imageWrap_ildbo_312`,image:`_image_ildbo_296`,sheet:`_sheet_ildbo_324`,check:`_check_ildbo_345`,hint:`_hint_ildbo_361`,row:`_row_ildbo_367`,details:`_details_ildbo_373`,mono:`_mono_ildbo_390`};function m(a){let{artifact:s,entry:l}=a,[u,f]=n(),[m,g]=n(),[_,v]=n(0);return t(()=>{let e=!0;return f(void 0),g(void 0),r.artifactText(s.id,l).then(t=>{e&&f(t)},t=>{if(!e)return;let n=t instanceof Error?t.message:String(t);g(n),c(t)&&d(s.id,n)}),()=>{e=!1}},[s.id,l,_]),m?i(`div`,{class:`${p.state} ${p.stateError}`,role:`status`,children:[i(`p`,{children:e(`artifactPanel.loadFailed`)}),i(`button`,{type:`button`,class:p.button,onClick:()=>v(e=>e+1),children:e(`artifact.retry`)})]}):u===void 0?i(`div`,{class:p.state,"aria-busy":`true`,children:e(`artifact.loading`)}):i(h,{text:u,as:a.as,entry:l,image:e=>o(e,s.id,l)})}function h(e){let{text:t,entry:n}=e;if(e.as===`markdown`)return i(`div`,{class:p.document,children:i(s.Provider,{value:{image:e.image??(()=>void 0),workspaceLinks:!1},children:i(u,{text:t})})});if(e.as===`json`)try{return i(`div`,{class:p.document,children:i(f,{block:{kind:`json`,value:JSON.parse(t),collapsedDepth:2}})})}catch{}let r=a(n);return i(`div`,{class:p.document,children:i(l,{block:{kind:`code`,code:t,...r?{lang:r}:{}}})})}export{h as n,p as r,m as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{T as e,a as t,b as n,u as r,y as i}from"./i18n-
|
|
1
|
+
import{T as e,a as t,b as n,u as r,y as i}from"./i18n-C54K0mc6.js";import{A as a,E as o}from"./app-BknkHksg.js";import{t as s}from"./jsxRuntime-DWBdSTGf.js";import{d as c,f as l,l as u,u as d}from"./index-XYSVNCIf.js";var f={tab:`_tab_1eaeu_1`,run:`_run_1eaeu_8`,runHead:`_runHead_1eaeu_16`,status:`_status_1eaeu_27`,runId:`_runId_1eaeu_47`,mono:`_mono_1eaeu_48`,duration:`_duration_1eaeu_53`,table:`_table_1eaeu_58`,num:`_num_1eaeu_88`,colTime:`_colTime_1eaeu_93`,colTurn:`_colTurn_1eaeu_97`,colType:`_colType_1eaeu_101`,colDuration:`_colDuration_1eaeu_105`,summary:`_summary_1eaeu_109`,empty:`_empty_1eaeu_115`,error:`_error_1eaeu_116`,more:`_more_1eaeu_125`,viewToggle:`_viewToggle_1eaeu_137`,viewButton:`_viewButton_1eaeu_146`,timeline:`_timeline_1eaeu_161`,chartFigure:`_chartFigure_1eaeu_169`,chartTitle:`_chartTitle_1eaeu_173`,chart:`_chart_1eaeu_169`,chartGrid:`_chartGrid_1eaeu_187`,laneLabel:`_laneLabel_1eaeu_193`,grid:`_grid_1eaeu_198`,axis:`_axis_1eaeu_203`,tick:`_tick_1eaeu_208`,axisLabel:`_axisLabel_1eaeu_214`,barError:`_barError_1eaeu_220`,legend:`_legend_1eaeu_225`,swatch:`_swatch_1eaeu_242`,toolBars:`_toolBars_1eaeu_248`,toolName:`_toolName_1eaeu_265`,toolTrack:`_toolTrack_1eaeu_272`,toolFill:`_toolFill_1eaeu_279`},p={model:`var(--accent)`,tool:`var(--ok)`,question:`var(--warn)`,approval:`var(--danger)`},m={model:`trajectory.lane.model`,tool:`trajectory.lane.tool`,user:`trajectory.lane.user`},h=[{kind:`model`,key:`trajectory.legend.model`},{kind:`tool`,key:`trajectory.legend.tool`},{kind:`question`,key:`trajectory.legend.question`},{kind:`approval`,key:`trajectory.legend.approval`}],g=e=>{let t=Math.max(0,Math.round(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=`${r}:${String(i).padStart(2,`0`)}`;return n?`${n}:${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`:a},_=e=>e>=1e3?`${Math.round(e/1e3)}k`:String(e),v=[1e3,2e3,5e3,1e4,15e3,3e4,6e4,12e4,3e5,6e5,18e5];function y(e){let t=e/8,n=v.find(e=>e>=t)??v[v.length-1]??6e4,r=[];for(let t=0;t<=e+1;t+=n)r.push(t);return r}var b=1e3,x={top:16,right:18,bottom:36,left:122},S=30,C=14;function w({timeline:e}){let n=Math.max(1,e.endAt-e.startAt),r=b-x.left-x.right,i=x.top+e.lanes.length*S+x.bottom,a=i-x.bottom,o=t=>x.left+(t-e.startAt)/n*r;return s(`svg`,{class:f.chart,viewBox:`0 0 ${b} ${i}`,role:`img`,"aria-label":t(`trajectory.waterfall`),children:[e.lanes.map((e,n)=>{let r=x.top+n*S;return s(`g`,{children:[s(`text`,{x:x.left-12,y:r+S/2,class:f.laneLabel,"dominant-baseline":`middle`,children:t(m[e.id])}),s(`line`,{x1:x.left,x2:b-x.right,y1:r+S/2,y2:r+S/2,class:f.grid}),e.intervals.map((e,t)=>{let n=o(e.start),i=Math.max(1.5,o(e.end)-n);return s(`rect`,{x:n,y:r+8,width:i,height:C,rx:2.5,class:e.error?f.barError:void 0,style:{fill:p[e.kind]},children:s(`title`,{children:`${e.label} · ${u(e.end-e.start)}`})},t)})]},e.id)}),s(`line`,{x1:x.left,x2:b-x.right,y1:a,y2:a,class:f.axis}),y(n).map(e=>{let t=x.left+e/n*r;return s(`g`,{children:[s(`line`,{x1:t,x2:t,y1:a,y2:a+4,class:f.axis}),s(`text`,{x:t,y:a+17,class:f.tick,"text-anchor":`middle`,children:g(e)})]},e)}),s(`text`,{x:x.left+r/2,y:i-4,class:f.axisLabel,children:t(`trajectory.axis.time`)})]})}function T({values:e,color:t,label:n,xLabel:r}){let i={top:18,right:12,bottom:30,left:54},a=Math.max(1,...e),o=Math.max(1,e.length-1),c=e=>i.left+e/o*(460-i.left-i.right),l=e=>i.top+(1-e/a)*(190-i.top-i.bottom),u=e.map((e,t)=>`${t?`L`:`M`}${c(t).toFixed(1)},${l(e).toFixed(1)}`).join(` `),d=`${u} L${c(e.length-1).toFixed(1)},${l(0).toFixed(1)} L${c(0).toFixed(1)},${l(0).toFixed(1)} Z`;return s(`figure`,{class:f.chartFigure,children:[s(`figcaption`,{class:f.chartTitle,children:n}),s(`svg`,{class:f.chart,viewBox:`0 0 460 190`,role:`img`,"aria-label":n,children:[s(`path`,{d,style:{fill:t},opacity:.14}),s(`path`,{d:u,style:{stroke:t},fill:`none`,"stroke-width":2}),s(`line`,{x1:i.left,x2:460-i.right,y1:l(0),y2:l(0),class:f.axis}),s(`line`,{x1:i.left,x2:i.left,y1:i.top,y2:l(0),class:f.axis}),s(`text`,{x:i.left-8,y:l(a)+4,class:f.tick,"text-anchor":`end`,children:_(a)}),s(`text`,{x:i.left-8,y:l(0),class:f.tick,"text-anchor":`end`,children:`0`}),s(`text`,{x:(i.left+460-i.right)/2,y:186,class:f.axisLabel,children:r})]})]})}function E({tools:e}){let t=Math.max(1,...e.map(e=>e.durationMs));return s(`ul`,{class:f.toolBars,children:e.map(e=>s(`li`,{children:[s(`span`,{class:f.toolName,title:e.name,children:e.name}),s(`span`,{class:f.toolTrack,children:s(`span`,{class:f.toolFill,style:{width:`${e.durationMs/t*100}%`,background:e.error?`var(--danger)`:`var(--ok)`}})}),s(`span`,{class:`${f.num} ${f.mono}`,children:u(e.durationMs)})]},e.name))})}function D({timeline:e}){let n=e.turns;return s(`div`,{class:f.timeline,children:[s(`figure`,{class:f.chartFigure,children:[s(`figcaption`,{class:f.chartTitle,children:t(`trajectory.waterfall`)}),s(w,{timeline:e})]}),s(`ul`,{class:f.legend,children:h.map(({kind:e,key:n})=>s(`li`,{children:[s(`span`,{class:f.swatch,style:{background:p[e]}}),t(n)]},e))}),n.length?s(`div`,{class:f.chartGrid,children:[s(T,{values:n.map(e=>e.input),color:`var(--accent)`,label:t(`trajectory.tokensIn`),xLabel:t(`trajectory.axis.turn`)}),s(T,{values:n.map(e=>e.output),color:`var(--warn)`,label:t(`trajectory.tokensOut`),xLabel:t(`trajectory.axis.turn`)})]}):null,e.tools.length?s(`figure`,{class:f.chartFigure,children:[s(`figcaption`,{class:f.chartTitle,children:t(`trajectory.toolDuration`)}),s(E,{tools:e.tools})]}):null]})}var O=e=>e?new Date(e).toLocaleTimeString(void 0,{hour12:!1}):`—`;function k({run:e,open:n}){return s(`details`,{class:f.run,open:n,children:[s(`summary`,{class:f.runHead,children:[s(`span`,{class:f.status,"data-status":e.status,children:t(`trajectory.status.${e.status}`)}),s(`span`,{class:f.runId,title:e.runId,children:e.runId.slice(0,8)}),s(`span`,{children:O(e.startedAt)}),s(`span`,{children:t(e.turns===1?`stats.turn`:`stats.turns`,{count:e.turns})}),s(`span`,{class:f.duration,children:u(e.durationMs)})]}),s(`table`,{class:f.table,children:[s(`thead`,{children:s(`tr`,{children:[s(`th`,{scope:`col`,class:f.colTime,children:t(`trajectory.time`)}),s(`th`,{scope:`col`,class:f.colTurn,children:t(`trajectory.turn`)}),s(`th`,{scope:`col`,class:f.colType,children:t(`trajectory.type`)}),s(`th`,{scope:`col`,children:t(`trajectory.summary`)}),s(`th`,{scope:`col`,class:`${f.num} ${f.colDuration}`,children:t(`trajectory.duration`)})]})}),s(`tbody`,{children:e.rows.map(e=>s(`tr`,{"data-error":e.error?`true`:void 0,children:[s(`td`,{class:f.mono,children:O(e.at)}),s(`td`,{class:f.num,children:e.turn??``}),s(`td`,{class:`${f.mono} ${f.summary}`,title:e.type,children:e.type}),s(`td`,{class:f.summary,title:e.summary,children:e.summary}),s(`td`,{class:`${f.num} ${f.mono}`,children:e.durationMs===void 0?``:u(e.durationMs)})]},e.eventId))})]})]})}function A(){let u=o.value,[p,m]=i(!1),[h,g]=i(`table`);n(()=>{d.sync()},[u,a.value]);let _=d.state.value,v=r(()=>l(d.state.value.items)),y=r(()=>c(d.state.value.items)),b=v.value,x=p?b:b.slice(-20);return s(`section`,{class:f.tab,"aria-label":t(`header.trajectory`),children:[b.length?s(`div`,{class:f.viewToggle,role:`group`,"aria-label":t(`trajectory.view`),children:[s(`button`,{type:`button`,class:f.viewButton,"aria-pressed":h===`table`,"data-active":h===`table`?`true`:void 0,onClick:()=>g(`table`),children:t(`trajectory.view.table`)}),s(`button`,{type:`button`,class:f.viewButton,"aria-pressed":h===`timeline`,"data-active":h===`timeline`?`true`:void 0,onClick:()=>g(`timeline`),children:t(`trajectory.view.timeline`)})]}):null,_.error?s(`p`,{class:f.error,children:_.error}):null,b.length?null:s(`p`,{class:f.empty,children:_.loading||!_.loaded?t(`common.loading`):t(`trajectory.empty`)}),h===`timeline`&&y.value?s(D,{timeline:y.value}):s(e,{children:[x.length<b.length?s(`button`,{type:`button`,class:f.more,onClick:()=>m(!0),children:t(`trajectory.earlier`,{count:b.length-x.length})}):null,x.map((e,t)=>s(k,{run:e,open:t===x.length-1},e.runId))]})]})}export{A as TrajectoryTab};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as e,l as t}from"./i18n-
|
|
1
|
+
import{c as e,l as t}from"./i18n-C54K0mc6.js";var n=[`auto`,`none`,`concise`,`detailed`],r=[`low`,`medium`,`high`],i=[`text`,`json_object`,`json_schema`];function a(e,t=``){return{scope:e,name:`New agent`,description:``,instructions:``,model:t,effort:``,summary:``,verbosity:``,format:`text`}}var o=e=>({effort:e.reasoning?.effort??``,summary:e.reasoning?.summary??``,verbosity:e.text?.verbosity??``,format:e.text?.format?.type??`text`});function s(e,t,n){return{scope:t,name:e.name,description:e.description,instructions:e.instructions,model:n,...o(e)}}function c(e){return{scope:e.scope,id:e.id,name:e.name,description:e.description,instructions:e.instructions,model:e.model,...o(e)}}function l(e,t){return{...e,name:t.name,description:t.description,instructions:t.instructions,...o(t)}}var u={known:!1,reasoning:!0,effortLevels:[`low`,`medium`,`high`],summary:!0,verbosity:!0,textFormats:[...i]};function d(e,t){return e?.find(e=>e.reference===t||e.id===t)?.capabilities??u}function f(e,t){let n={...e};return t.reasoning?n.effort&&!t.effortLevels.includes(n.effort)&&(n.effort=t.defaultEffort??``):(n.effort=``,n.summary=``),t.summary||(n.summary=``),t.textFormats.includes(n.format)||(n.format=`text`),t.verbosity||(n.verbosity=``),n}function p(e){let t={...e.effort?{effort:e.effort}:{},...e.summary?{summary:e.summary}:{}};return{name:e.name.trim(),...e.description.trim()?{description:e.description.trim()}:{},...e.instructions.trim()?{instructions:e.instructions.trim()}:{},model:e.model.trim(),...Object.keys(t).length?{reasoning:t}:{},text:{format:{type:e.format},...e.verbosity?{verbosity:e.verbosity}:{}}}}var m=e=>JSON.stringify({...p(e),scope:e.scope});function h(e){let t=e.trim();if(!t)return`required`;if(t.length>80)return`tooLong`;if(!/[\p{L}\p{N}]/u.test(t))return`noLetters`}function g(e,t){return h(e.name)||!e.model.trim()||e.instructions.length>24e3||e.description.length>300?!1:!t||m(e)!==m(t)}function _(e,t){let n={...t.workspace&&e.scope===`project`?{workspace:t.workspace}:{},scope:e.scope,...p(e)},r=JSON.stringify(n,null,2),i=e.id?`-X PUT ${t.origin}/api/agents/${encodeURIComponent(e.id)}`:`-X POST ${t.origin}/api/agents`,a=``;try{let e=new URL(t.origin);a=e.port||(e.protocol===`https:`?`443`:`80`)}catch{}return[`curl ${i} \\`,` -H "Content-Type: application/json" \\`,` -H "Origin: ${t.origin}" \\`,` -H "Cookie: alisio_session_${a||`<port>`}=<session cookie>" \\`,` -d '${r.replace(/'/g,`'\\''`)}'`].join(`
|
|
2
2
|
`)}function v(e){let t=[],n=/("(?:[^"\\]|\\.)*")(\s*:)?|(-?\b\d+(?:\.\d+)?\b)|\b(true|false|null)\b|(\bcurl\b|-X|-H|-d)\b|([{}[\],])/g,r=0;for(let i of e.matchAll(n)){let n=i.index??0;n>r&&t.push({kind:`plain`,text:e.slice(r,n)}),i[1]?(t.push({kind:i[2]?`key`:`string`,text:i[1]}),i[2]&&t.push({kind:`punct`,text:i[2]})):i[3]?t.push({kind:`number`,text:i[3]}):i[4]?t.push({kind:`keyword`,text:i[4]}):i[5]?t.push({kind:`command`,text:i[5]}):i[6]&&t.push({kind:`punct`,text:i[6]}),r=n+i[0].length}return r<e.length&&t.push({kind:`plain`,text:e.slice(r)}),t}function y(e){return[{id:`define`,done:e.saved},{id:`runtime`,done:e.workspace},{id:`session`,done:e.saved&&e.sessions.length>0},{id:`events`,done:e.saved&&e.sessions.some(e=>!!e.title)}]}var b=`alisio.agents.gettingStarted`,x=()=>e(b)===`dismissed`,S=()=>t(b,`dismissed`);function C(e,t){let n=t.toLowerCase().split(/\s+/).filter(Boolean);return n.length?e.filter(e=>{let t=`${e.id} ${e.name} ${e.description}`.toLowerCase();return n.every(e=>t.includes(e))}):[...e]}function w(e,t){if(e.source!==`user`)return;let n=t.filter(t=>t.id===e.id);return n.find(e=>e.scope===`project`)?.scope??n[0]?.scope}function T(e,t=36){if(e.length<=t)return e;let n=e.includes(`\\`)&&!e.includes(`/`)?`\\`:`/`,r=e.split(n).filter(Boolean),i=``;for(let e=r.length-1;e>=0;e--){let a=i?`${r[e]}${n}${i}`:r[e];if(a.length+2>t)break;i=a}return i?`…${n}${i}`:`…${e.slice(-(t-1))}`}function E(e,t,n=36){if(!t)return``;if(e===`global`){let e=t.includes(`\\`)&&!t.includes(`/`)?`\\`:`/`;return`~${e}.agents${e}agents`}return T(t,n)}var D={shell:`_shell_eya8z_4`,maximized:`_maximized_eya8z_13`,scroll:`_scroll_eya8z_20`,breadcrumb:`_breadcrumb_eya8z_25`,crumbLink:`_crumbLink_eya8z_34`,crumbCurrent:`_crumbCurrent_eya8z_47`,listHead:`_listHead_eya8z_54`,templateCard:`_templateCard_eya8z_61`,templateName:`_templateName_eya8z_78`,templateText:`_templateText_eya8z_83`,rowButton:`_rowButton_eya8z_89`,columns:`_columns_eya8z_98`,column:`_column_eya8z_98`,section:`_section_eya8z_111`,sectionHead:`_sectionHead_eya8z_117`,sectionBody:`_sectionBody_eya8z_130`,field:`_field_eya8z_136`,fieldLabel:`_fieldLabel_eya8z_142`,control:`_control_eya8z_149`,settingsGrid:`_settingsGrid_eya8z_180`,fieldHint:`_fieldHint_eya8z_186`,fieldError:`_fieldError_eya8z_191`,saveButton:`_saveButton_eya8z_196`,assist:`_assist_eya8z_201`,assistTitle:`_assistTitle_eya8z_210`,assistActions:`_assistActions_eya8z_218`,code:`_code_eya8z_223`,codeHead:`_codeHead_eya8z_231`,codeBody:`_codeBody_eya8z_242`,codeLine:`_codeLine_eya8z_252`,lineNo:`_lineNo_eya8z_257`,tokKey:`_tok-key_eya8z_266`,tokString:`_tok-string_eya8z_270`,tokNumber:`_tok-number_eya8z_274`,tokKeyword:`_tok-keyword_eya8z_275`,tokCommand:`_tok-command_eya8z_279`,tokPunct:`_tok-punct_eya8z_284`,stepper:`_stepper_eya8z_288`,stepperHead:`_stepperHead_eya8z_296`,steps:`_steps_eya8z_304`,step:`_step_eya8z_288`,stepNode:`_stepNode_eya8z_329`,stepTitle:`_stepTitle_eya8z_347`,stepText:`_stepText_eya8z_353`,overlay:`_overlay_eya8z_359`,overlayCard:`_overlayCard_eya8z_369`,overlayTitle:`_overlayTitle_eya8z_381`,spinner:`_spinner_eya8z_386`,spin:`_spin_eya8z_386`,progress:`_progress_eya8z_396`,progressBar:`_progressBar_eya8z_403`,slide:`_slide_eya8z_1`,overlayActions:`_overlayActions_eya8z_436`,picker:`_picker_eya8z_442`,pickerHead:`_pickerHead_eya8z_450`,pickerList:`_pickerList_eya8z_457`,pickerItem:`_pickerItem_eya8z_464`,pickerTitle:`_pickerTitle_eya8z_484`};export{v as S,x as _,_ as a,w as b,S as c,f as d,c as f,p as g,m as h,r as i,a as l,s as m,n,g as o,l as p,i as r,d as s,D as t,C as u,y as v,E as x,h as y};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/tasks-Sc_vWQpd.js","assets/i18n-C54K0mc6.js","assets/preload-helper-B3nfOi5I.js","assets/goal-B1jQsfH5.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a as e,c as t,d as n,h as r,l as i,p as a,s as o}from"./i18n-C54K0mc6.js";import{t as s}from"./preload-helper-B3nfOi5I.js";function c(e,t){let n=t.trim().replace(/\\/g,`/`).replace(/#.*$/,``);if(!n||/^[a-z][a-z0-9+.-]*:/i.test(n)||n.startsWith(`//`))return;if(n=n.replace(/:\d+(:\d+)?$/,``),n.startsWith(`/`)){let t=e?.replace(/\\/g,`/`).replace(/\/+$/,``);if(!t)return;if(n===t)return``;if(!n.startsWith(`${t}/`))return;n=n.slice(t.length+1)}let r=[];for(let e of n.split(`/`))if(e&&e!==`.`){if(e===`..`){if(!r.length)return;r.pop()}else r.push(e)}return r.join(`/`)}var l=e=>e.split(`/`).slice(0,-1).map((e,t,n)=>n.slice(0,t+1).join(`/`)),u=e=>{let t=e.split(`/`).pop()??``,n=t.lastIndexOf(`.`);return n>0?t.slice(n+1).toLowerCase():``},d=e=>e.split(`/`).pop()??e;function f(e,t){if(!e)return;let n=e.includes(`\\`)&&!e.includes(`/`)?`\\`:`/`,r=e.replace(/[\\/]+$/,``),i=t.replace(/^[\\/]+/,``).split(`/`).filter(Boolean).join(n);return i?`${r}${n}${i}`:r}function ee(e,t){if(t.startsWith(`image/`))return`image`;if(t===`application/pdf`)return`pdf`;if(!t.startsWith(`text/`))return`binary`;let n=u(e);return n===`md`||n===`markdown`||n===`mdx`?`markdown`:n===`html`||n===`htm`?`html`:n===`json`?`json`:`code`}var te={js:`code`,py:`code`,csv:`code`,txt:`code`,json:`json`,md:`markdown`};function ne(e){let t=te[u(e.name)];return t&&e.size<=1048576?{as:t,entry:e.name}:void 0}function re(e,t){if(!t||t.startsWith(`/`)||t.includes(`\\`))return;let n=t.split(`/`);if(!n.some(e=>e===``||e===`..`))return`/api/sessions/${encodeURIComponent(e)}/scratch/files/${n.map(encodeURIComponent).join(`/`)}`}var ie=e=>[...e].sort((e,t)=>t.mtime-e.mtime||(e.name<t.name?-1:+(e.name>t.name)));function ae(e,t){let n=t>0?Math.min(100,Math.floor(e/t*100)):0;return{percent:n,level:n>=95?`full`:n>=80?`warn`:`ok`}}var p=class extends Error{status;code;details;constructor(e,t,n,r){super(n),this.status=e,this.code=t,this.details=r}},m=()=>typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now().toString(36)}${Math.random().toString(36).slice(2)}`,oe=class{options;fetcher;constructor(e={}){this.options=e,this.fetcher=e.fetch??((e,t)=>fetch(e,t))}async request(e,t,n,r={}){let i={"X-Request-Id":(this.options.requestId??m)().replace(/[^A-Za-z0-9_-]/g,``),Accept:`application/json`};e!==`GET`&&(i[`Content-Type`]=`application/json`);let a;try{a=await this.fetcher(t,{method:e,headers:i,credentials:`same-origin`,...e===`GET`?{}:{body:JSON.stringify(n??{})},...r.signal?{signal:r.signal}:{}})}catch(e){throw new p(0,`network`,e instanceof Error?e.message:`Network error`)}a.status===401&&this.options.onUnauthorized?.();let o=await a.text();if(!a.ok){let e;try{e=JSON.parse(o)}catch{}throw new p(a.status,e?.error?.code??`internal`,e?.error?.message??`HTTP ${a.status}`,e?.error?.details)}return o?JSON.parse(o):void 0}health=()=>this.request(`GET`,`/api/health`);workspaces=(e=`false`)=>this.request(`GET`,`/api/workspaces?archived=${e}`);addWorkspace=e=>this.request(`POST`,`/api/workspaces`,{path:e});patchWorkspace=(e,t)=>this.request(`PATCH`,`/api/workspaces/${h(e)}`,t);trustWorkspace=(e,t)=>this.request(`POST`,`/api/workspaces/${h(e)}/trust`,{trusted:t,confirmed:!0});pickFolder=e=>this.request(`POST`,`/api/workspaces/pick`,e?{start:e}:{});listDirs=(e,t=!1)=>this.request(`GET`,`/api/fs/dirs?${e===void 0?``:`path=${encodeURIComponent(e)}&`}hidden=${t}`);sessions=(e={})=>this.request(`GET`,`/api/sessions?archived=${e.archived??`false`}&limit=${e.limit??200}`);createSession=e=>this.request(`POST`,`/api/sessions`,e);session=e=>this.request(`GET`,`/api/sessions/${h(e)}`);patchSession=(e,t)=>this.request(`PATCH`,`/api/sessions/${h(e)}`,t);messages=(e,t,n=50)=>this.request(`GET`,`/api/sessions/${h(e)}/messages?before=${t}&limit=${n}`);prompt=(e,t)=>this.request(`POST`,`/api/sessions/${h(e)}/prompts`,t);cancel=e=>this.request(`POST`,`/api/sessions/${h(e)}/cancel`,{});commands=e=>this.request(`GET`,`/api/commands${e?`?session=${h(e)}`:``}`);command=(e,t)=>this.request(`POST`,`/api/sessions/${h(e)}/commands`,t);sideQuestions=e=>this.request(`GET`,`/api/sessions/${h(e)}/btw`);askSideQuestion=(e,t,n)=>this.request(`POST`,`/api/sessions/${h(e)}/btw`,{question:t},n?{signal:n}:{});cancelSideQuestions=e=>this.request(`POST`,`/api/sessions/${h(e)}/btw/cancel`,{});models=e=>this.request(`GET`,`/api/sessions/${h(e)}/models`);context=e=>this.request(`GET`,`/api/sessions/${h(e)}/context`);approvals=e=>this.request(`GET`,`/api/approvals?session=${h(e)}`);decide=(e,t)=>this.request(`POST`,`/api/approvals/${h(e)}`,{decision:t});answer=(e,t)=>this.request(`POST`,`/api/interactions/${h(e)}`,{answer:t});tasks=e=>this.request(`GET`,`/api/sessions/${h(e)}/tasks`);taskOutput=(e,t,n)=>this.request(`GET`,`/api/sessions/${h(e)}/tasks/${h(t)}/output?offset=${n}`);stopTask=(e,t)=>this.request(`POST`,`/api/sessions/${h(e)}/tasks/${h(t)}/stop`,{});exportUrl=e=>`/api/sessions/${h(e)}/export`;artifacts=e=>this.request(`GET`,`/api/sessions/${h(e)}/artifacts?limit=200`);artifact=e=>this.request(`GET`,`/api/artifacts/${h(e)}`);artifactView=e=>this.request(`POST`,`/api/artifacts/${h(e)}/view`,{});exportArtifact=(e,t,n=!1)=>this.request(`POST`,`/api/artifacts/${h(e)}/export`,{target:t,...n?{overwrite:!0}:{}});rerunArtifact=e=>this.request(`POST`,`/api/artifacts/${h(e)}/rerun`,{});deleteArtifact=e=>this.request(`DELETE`,`/api/artifacts/${h(e)}`);artifactFileUrl=(e,t)=>`/api/artifacts/${h(e)}/files/${t.split(`/`).map(h).join(`/`)}`;artifactSourcesUrl=e=>`/api/artifacts/${h(e)}/sources`;async artifactText(e,t){return(await this.raw(this.artifactFileUrl(e,t))).text()}datasets=e=>this.request(`GET`,`/api/sessions/${h(e)}/datasets`);dataset=e=>this.request(`GET`,`/api/datasets/${h(e)}`);datasetRows=(e,t,n)=>{let r=new URLSearchParams;for(let[e,n]of Object.entries(t))n!==void 0&&n!==``&&r.set(e,String(n));return this.request(`GET`,`/api/datasets/${h(e)}/rows?${r}`,void 0,n?{signal:n}:{})};datasetDownloadUrl=e=>`/api/datasets/${h(e)}/download`;artifactDataset=e=>this.request(`POST`,`/api/artifacts/${h(e)}/dataset`,{});async uploadDataset(e,t){return await(await this.raw(`/api/sessions/${h(e)}/datasets`,{method:`POST`,body:t,contentType:`application/octet-stream`,headers:{"X-File-Name":encodeURIComponent(t.name)}})).json()}capabilities=e=>this.request(`GET`,`/api/sessions/${h(e)}/capabilities`);revokeCapability=(e,t)=>this.request(`DELETE`,`/api/sessions/${h(e)}/capabilities/${h(t)}`);events=(e,t,n=1e3,r)=>this.request(`GET`,`/api/sessions/${h(e)}/events?after=${t}&limit=${n}${r?.length?`&types=${h(r.join(`,`))}`:``}`);tree=(e,t,n)=>this.request(`GET`,`/api/workspaces/${h(e)}/tree?path=${h(t)}${n?`&cursor=${h(n)}`:``}`);diff=(e,t)=>this.request(`GET`,`/api/workspaces/${h(e)}/diff?path=${h(t)}`);changes=e=>this.request(`GET`,`/api/sessions/${h(e)}/changes`);plugins=e=>this.request(`GET`,`/api/plugins?workspace=${h(e)}`);setPlugin=(e,t,n)=>this.request(`PATCH`,`/api/plugins/${h(t)}`,{workspace:e,enabled:n});skills=e=>this.request(`GET`,`/api/skills?workspace=${h(e)}`);setSkill=(e,t,n)=>this.request(`PATCH`,`/api/skills/${h(t)}`,{workspace:e,enabled:n});mcp=e=>this.request(`GET`,`/api/mcp?workspace=${h(e)}`);setMcp=(e,t,n,r=!1)=>this.request(`PATCH`,`/api/mcp/${h(t)}`,{workspace:e,enabled:n,...r?{connect:r}:{}});mcpConsent=(e,t)=>this.request(`POST`,`/api/mcp/consent`,{workspace:e,confirmed:!0,...t?{remember:t}:{}});agents=e=>this.request(`GET`,`/api/agents?workspace=${h(e)}`);changelog=(e={})=>{let t=new URLSearchParams;e.version&&t.set(`version`,e.version),e.lastSeen&&t.set(`lastSeen`,e.lastSeen);let n=t.toString();return this.request(`GET`,`/api/changelog${n?`?${n}`:``}`)};reloadWorkspace=e=>this.request(`POST`,`/api/workspaces/${h(e)}/reload`,{});agentDefinitions=e=>this.request(`GET`,`/api/agents/definitions${e?`?workspace=${h(e)}`:``}`);agentTemplates=()=>this.request(`GET`,`/api/agents/templates`);agentModels=e=>this.request(`GET`,`/api/agents/models?workspace=${h(e)}`);createAgent=e=>this.request(`POST`,`/api/agents`,e);updateAgent=(e,t)=>this.request(`PUT`,`/api/agents/${h(e)}`,t);deleteAgent=(e,t,n)=>this.request(`DELETE`,`/api/agents/${h(e)}?scope=${t}${n?`&workspace=${h(n)}`:``}`);agentDefinition=(e,t,n)=>this.request(`GET`,`/api/agents/${h(e)}?scope=${t}${n?`&workspace=${h(n)}`:``}`);draftAgent=(e,t)=>this.request(`POST`,`/api/agents/draft`,e,t?{signal:t}:{});agentSessions=e=>this.request(`GET`,`/api/sessions?agent=${h(e)}&archived=all&limit=50`);settings=e=>this.request(`GET`,`/api/settings?workspace=${h(e)}`);forge=e=>this.request(`GET`,`/api/forge?workspace=${h(e)}`);scratch=e=>this.request(`GET`,`/api/sessions/${h(e)}/scratch`);clearScratch=e=>this.request(`DELETE`,`/api/sessions/${h(e)}/scratch`);async scratchText(e,t){let n=re(e,t);if(!n)throw new p(400,`validation_failed`,`Invalid file name`);return(await this.raw(n)).text()}analysis=e=>this.request(`GET`,`/api/analysis?workspace=${h(e)}`);setSetting=(e,t,n)=>this.request(`PATCH`,`/api/settings`,{workspace:e,key:t,value:n});iconThemes=e=>this.request(`GET`,`/api/icon-themes?workspace=${h(e)}`);iconThemeManifest=e=>this.request(`GET`,`/api/icon-theme/manifest?workspace=${h(e)}`);iconThemeIconUrl=(e,t)=>`/api/icon-theme/icons/${encodeURIComponent(t)}?workspace=${h(e)}`;providers=e=>this.request(`GET`,`/api/providers${e?`?workspace=${h(e)}`:``}`);providerModels=e=>this.request(`GET`,`/api/models?workspace=${h(e)}`);saveProfile=(e,t,n)=>this.request(`PUT`,`/api/providers/${h(t)}`,{workspace:e,...n});setCredentials=(e,t)=>this.request(`PUT`,`/api/providers/${h(e)}/credentials`,t);deleteCredentials=e=>this.request(`DELETE`,`/api/providers/${h(e)}/credentials`);activateProvider=(e,t,n)=>this.request(`POST`,`/api/providers/${h(t)}/activate`,{workspace:e,model:n});fileUrl=(e,t,n=!1)=>`/api/workspaces/${h(e)}/file?path=${h(t)}${n?`&download=1`:``}`;async file(e,t){let n=await this.raw(this.fileUrl(e,t));return{contentType:n.headers.get(`Content-Type`)??`application/octet-stream`,truncated:n.headers.get(`X-Truncated`)===`true`,size:Number(n.headers.get(`X-File-Size`)??0),blob:await n.blob()}}async upload(e){return await(await this.raw(`/api/blobs`,{method:`POST`,body:e,contentType:e.type||`application/octet-stream`})).json()}async raw(e,t={}){let n={"X-Request-Id":(this.options.requestId??m)().replace(/[^A-Za-z0-9_-]/g,``),...t.headers??{}};t.contentType&&(n[`Content-Type`]=t.contentType);let r;try{r=await this.fetcher(e,{method:t.method??`GET`,headers:n,credentials:`same-origin`,...t.body?{body:t.body}:{}})}catch(e){throw new p(0,`network`,e instanceof Error?e.message:`Network error`)}if(r.status===401&&this.options.onUnauthorized?.(),!r.ok){let e;try{e=JSON.parse(await r.text())}catch{}throw new p(r.status,e?.error?.code??`internal`,e?.error?.message??`HTTP ${r.status}`,e?.error?.details)}return r}},h=encodeURIComponent,se=2,ce=e=>e.length?`/api/events?${e.map(e=>`session=${encodeURIComponent(e)}`).join(`&`)}`:`/api/events`,le=(e,t=Math.random)=>Math.round(Math.min(1e4,500*2**Math.min(e,10)*(.5+t()))),ue=class{options;source;sessions=[];key;queue=[];scheduled=!1;attempt=0;cancelRetry;stopped=!1;requestFrame;setTimer;constructor(e){this.options=e,this.requestFrame=e.requestFrame??(e=>typeof requestAnimationFrame==`function`?requestAnimationFrame(()=>e()):e()),this.setTimer=e.setTimer??((e,t)=>{let n=setTimeout(e,t);return()=>clearTimeout(n)})}subscribe(e){let t=[...new Set(e)].sort(),n=t.join(`
|
|
3
|
+
`);(n!==this.key||!this.source||this.stopped)&&(this.key=n,this.sessions=t,this.stopped=!1,this.attempt=0,this.connect())}nudge(){this.stopped||this.key===void 0||this.source&&this.source.readyState!==se||this.connect()}refresh(){this.stopped||this.key===void 0||(this.attempt=0,this.connect())}close(){this.stopped=!0,this.cancelRetry?.(),this.source?.close(),this.options.onStatus?.(`closed`)}connect(){this.cancelRetry?.(),this.cancelRetry=void 0,this.source?.close(),this.options.onStatus?.(this.attempt?`reconnecting`:`connecting`);let e=this.options.create(ce(this.sessions));this.source=e,e.onopen=()=>{this.source===e&&(this.attempt=0,this.options.onStatus?.(`open`))},e.onmessage=t=>{if(this.source!==e)return;let n;try{n=JSON.parse(t.data)}catch{return}if(n&&typeof n==`object`&&typeof n.t==`string`){if(n.t===`hello`&&n.protocolVersion!==1){this.stopped=!0,e.close(),this.options.onStatus?.(`closed`),this.options.onProtocolMismatch?.();return}this.enqueue(n),n.t===`resync`&&this.connect()}},e.onerror=()=>{if(this.source!==e||this.stopped||(this.options.onStatus?.(`reconnecting`),e.readyState!==se))return;this.options.onClosed?.();let t=le(this.attempt++,this.options.random);this.cancelRetry=this.setTimer(()=>{this.cancelRetry=void 0,this.stopped||this.connect()},t)}}enqueue(e){this.queue.push(e),!this.scheduled&&(this.scheduled=!0,this.requestFrame(()=>{this.scheduled=!1;let e=this.queue;this.queue=[],e.length&&this.options.onFrames(e)}))}};function de(e){if(e.startsWith(`{`))try{let t=JSON.parse(e);return t&&typeof t==`object`&&t.kind===`forge`?t:void 0}catch{return}}function fe(e,t){let n=e&&e.executionId===t.executionId?e:{executionId:t.executionId,engine:t.engine,phase:t.phase,calls:[]},r={...n,engine:t.engine,phase:t.phase};if(t.message!==void 0&&(r.message=t.message),t.completed!==void 0&&(r.completed=t.completed),t.total!==void 0&&(r.total=t.total),t.call){let{callId:e,tool:i,status:a,durationMs:o}=t.call,s={callId:e,tool:i,status:a,...o===void 0?{}:{durationMs:o}},c=n.calls.findIndex(t=>t.callId===e);r.calls=c<0?[...n.calls,s]:n.calls.map((e,t)=>t===c?s:e)}return r}function pe(e){let t=t=>e.calls.filter(e=>e.status===t).length;return{total:e.calls.length,running:t(`started`),failed:t(`failed`),denied:t(`denied`)}}function me(e){if(!e)return``;let t=e.total===void 0?void 0:`${e.completed??0}/${e.total}`;return[e.message,t].filter(Boolean).join(` · `)}var he=e=>e.call!==void 0&&e.call.status!==`started`||e.phase===`collecting`,ge=e=>e.t===`tool_result`||e.t===`message`||e.t===`event`&&(e.event.type===`tool_completed`||e.event.type.startsWith(`run_`)),_e=class{windows=new Map;admit(e,t){let n=[];for(let r of e){if(r.t===`snapshot`){this.windows.clear(),n.push(r);continue}if(r.t!==`delta`||!r.progress?.length){ge(r)&&n.push(...this.release(t,!0)),n.push(r);continue}let e=[];for(let n of r.progress){let i=de(n.chunk);if(!i){e.push(n);continue}let a=this.windowOf(n.toolId,r),o=i.call?`call:${i.call.callId}`:`state`;if(a.held.set(o,i),a.lastEmit===void 0||t-a.lastEmit>=250||he(i)){for(let t of a.held.values())e.push({toolId:n.toolId,chunk:JSON.stringify(t)});a.held.clear(),a.lastEmit=t}}let{progress:i,...a}=r;e.length?n.push({...a,progress:e}):(r.text||r.reasoning)&&n.push(a)}return n}flush(e){return this.release(e,!1)}nextFlushIn(e){let t;for(let n of this.windows.values()){if(!n.held.size)continue;let r=Math.max(0,(n.lastEmit??e)+250-e);t=t===void 0?r:Math.min(t,r)}return t}windowOf(e,t){let n=this.windows.get(e);return n||(n={held:new Map,runId:t.runId},this.windows.set(e,n)),t.sessionId!==void 0&&(n.sessionId=t.sessionId),n.runId=t.runId,n}release(e,t){let n=[];for(let[r,i]of this.windows)i.held.size&&(!t&&e-(i.lastEmit??e)<250||(n.push({t:`delta`,...i.sessionId===void 0?{}:{sessionId:i.sessionId},runId:i.runId,progress:[...i.held.values()].map(e=>({toolId:r,chunk:JSON.stringify(e)}))}),i.held.clear(),i.lastEmit=e));return n}};function ve(e){if(typeof e==`string`)return e.trim()||void 0}function ye(e){let t=/^\s*\/([^\s/][^\s]*)(?:\s+([\s\S]*))?$/.exec(e);if(t?.[1])return{name:t[1],args:(t[2]??``).trim()}}var be=(e,t)=>{let n=0;for(let r of t)r===e[n]&&n++;return n===e.length};function xe(e,t){let n=t.trim().toLowerCase();if(!n)return e;let r=[[],[],[],[]];for(let t of e){let e=t.name.toLowerCase(),i=e.startsWith(n)?0:t.aliases?.some(e=>e.toLowerCase().startsWith(n))?1:e.includes(n)?2:be(n,e)?3:-1;i>=0&&r[i]?.push(t)}return r.flat()}var Se={pause:`Pause the goal's automatic continuation`,resume:`Resume the paused or blocked goal`,edit:`Edit the goal's objective`,clear:`Remove the goal from this session`};function Ce(e,t){let n=t.trim().toLowerCase();return!e||n.length<3||!`goal`.startsWith(n)?[]:e.actions.filter(e=>e in Se).map(e=>({name:`goal ${e}`,description:Se[e],source:`builtin`,surfaces:[`web`],execution:`surface`}))}function we(e,t,n){let r=xe(e,t),i=Ce(n,t);if(!i.length)return r;let a=r.findIndex(e=>e.name===`goal`);return a<0?[...r,...i]:[...r.slice(0,a+1),...i,...r.slice(a+1)]}function Te(e,t,n=12){if(t.trim()||e.length<=n)return e.slice(0,n);let r=e.filter(e=>e.source!==`builtin`).slice(0,4);return[...e.filter(e=>e.source===`builtin`).slice(0,n-r.length),...r]}function Ee(e){return e.disabled||e.compacting}function De(e,t,n=100){return!t.trim()||e.at(-1)===t?e:[...e,t].slice(-n)}function Oe(e,t,n,r){if(!e.length)return{index:void 0,text:r};if(t===void 0){if(n===1)return{index:void 0,text:r};let t=e.length-1;return{index:t,text:e[t]}}let i=t+n;return i<0?{index:0,text:e[0]}:i>=e.length?{index:void 0,text:r}:{index:i,text:e[i]}}var ke=`Usage: /btw <question>`;function Ae(e,t){let n=ye(e);if(!n)return;let r=n.name.toLowerCase();return t.find(e=>e.source===`builtin`&&(e.name===r||e.aliases?.includes(r)))?.name===`btw`?{question:n.args}:void 0}function je(e,t){return t.length?{sessionId:e,entries:t,index:t.length-1}:{sessionId:e,entries:t,index:0,usage:!0}}function Me(e,t,n,r=Date.now()){return{sessionId:e,entries:t,index:Math.max(0,t.length-1),pending:{question:n,startedAt:r}}}function Ne(e,t){return{sessionId:e.sessionId,entries:t,index:Math.max(0,t.length-1)}}function Pe(e,t){let{pending:n,...r}=e;return{...r,error:{question:e.pending?.question??``,message:t}}}function Fe(e,t){if(e.pending||!e.entries.length)return e;let n=e.error?e.entries.length:e.index,r=Math.min(e.entries.length-1,Math.max(0,n+t));return r===e.index&&!e.error?e:{sessionId:e.sessionId,entries:e.entries,index:r}}function Ie(e){return e.pending||e.error||e.usage?void 0:e.entries[e.index]}function Le(e){return e.pending||!e.entries.length?{earlier:!1,later:!1}:e.error?{earlier:!0,later:!1}:{earlier:e.index>0,later:e.index<e.entries.length-1}}var Re=`alisio.lastSeenVersion`;function ze(e,t){return t.current===`dev`||t.current===e?{}:{...t.news?{toast:t.news.latest}:{},record:t.current}}var Be=r([]),Ve=0;function He(e){let t;e.t===`dataset_ready`?t={n:++Ve,sessionId:e.sessionId,ready:e.dataset}:e.t===`dataset_failed`&&(t={n:++Ve,sessionId:e.sessionId,failed:{name:e.name,error:e.error}}),t&&(Be.value=[...Be.value,t].slice(-50))}var g=r(t(`alisio.dock`)===`open`),_=r(`files`),Ue=r(0),v=r({}),y=r(new Set([``])),b=r(void 0),We=r(void 0);function Ge(e,t){e.preventDefault(),We.value={x:e.clientX,y:e.clientY,path:t}}function Ke(){We.value=void 0}var x=r({files:[],loading:!1}),qe,S,Je=e=>e instanceof Error?e.message:String(e);function Ye(){a(()=>{g.value=!0,_.value=`tasks`}),i(`alisio.dock`,`open`),C()}function Xe(){a(()=>{g.value=!0,_.value=`proof`}),i(`alisio.dock`,`open`),C()}function Ze(e){g.value=e,i(`alisio.dock`,e?`open`:void 0),e&&C()}function C(){let e=F.value?.workspaceId;return e!==qe&&(qe=e,a(()=>{v.value={},y.value=new Set([``]),x.value={files:[],loading:!1}}),e&&w(``)),e}async function w(e,t=!1){let n=C();if(!n)return;let r=v.value[e];if(!(r?.loading||r&&!t&&!r.error)){v.value={...v.value,[e]:{entries:r?.entries??[],loading:!0,...r?.next?{next:r.next}:{}}};try{let i=await W.tree(n,e,t?r?.next:void 0);if(qe!==n)return;v.value={...v.value,[e]:{entries:[...t?r?.entries??[]:[],...i.entries],loading:!1,...i.next?{next:i.next}:{}}}}catch(t){v.value={...v.value,[e]:{entries:[],loading:!1,error:Je(t)}}}}}function Qe(e){let t=new Set(y.value);t.has(e)?t.delete(e):(t.add(e),w(e)),y.value=t}function $e(){v.value={};for(let e of y.value)w(e)}async function et(){let e=P.value;if(e){x.value={...x.value,loading:!0};try{let{files:t}=await W.changes(e);P.value===e&&(x.value={files:t,loading:!1})}catch(e){x.value={files:[],loading:!1,error:Je(e)}}}}async function tt(e,t={}){let n=c(F.value?.workspace,e),r=C();if(n===void 0||!r)return;a(()=>{g.value=!0,_.value=`preview`,b.value={path:n,status:`loading`};let e=new Set(y.value);for(let t of l(n))e.add(t);y.value=e}),i(`alisio.dock`,`open`);for(let e of l(n))w(e);S&&URL.revokeObjectURL(S),S=void 0;let o;if(t.diff)try{o=await W.diff(r,n)}catch{}if(u(n)===`pdf`){b.value={path:n,status:`ready`,kind:`pdf`,truncated:!1,size:0,url:W.fileUrl(r,n),...o?{diff:o}:{}};return}try{let e=await W.file(r,n);if(b.value?.path!==n)return;let t=ee(n,e.contentType);t===`image`&&(S=URL.createObjectURL(e.blob)),b.value={path:n,status:`ready`,kind:t,truncated:e.truncated,size:e.size,...t===`image`?{url:S}:t===`binary`?{}:{text:await e.blob.text()},...o?{diff:o}:{}}}catch(e){if(b.value?.path!==n)return;b.value=o?{path:n,status:`ready`,kind:`binary`,truncated:!1,size:0,diff:o}:{path:n,status:`error`,error:Je(e)}}}var nt=e=>F.value?.workspaceId?W.fileUrl(F.value.workspaceId,e,!0):void 0;function T(t){if(t instanceof p){let n=t.details?.path,r={path:typeof n==`string`?n:``};if(t.code===`workspace_missing`)return e(`error.workspaceMissing`,r);if(t.code===`workspace_archived`)return e(`error.workspaceArchived`,r);if(t.code===`picker_busy`)return e(`error.pickerBusy`)}return t instanceof Error?t.message:String(t)}function rt(e,t){if((e.t===`snapshot`||e.t===`goal_changed`)&&e.sessionId===t)return e.goal??null}function it(e,t){return e.key===`Tab`&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&!e.isComposing&&!t.composing&&!t.paletteOpen&&!t.disabled}function at(e,t,n=1){if(!e.length)return;let r=e.findIndex(e=>e.id===t);return r<0?e[0]?.id:e[(r+n+e.length)%e.length]?.id}function ot(e,t){return e??t.find(e=>e.default)?.id??`build`}var st=(e,t)=>e===`full-access`&&t!==`full-access`,ct=()=>({approvals:[],interactions:[]});function lt(e,t){switch(t.t){case`snapshot`:{let n=t.sessionId,r=new Set(t.pending.interactions.map(e=>e.interactionId));return{approvals:[...e.approvals.filter(e=>e.rootSessionId!==n),...t.pending.approvals],interactions:[...e.interactions.filter(e=>!r.has(e.interactionId)),...t.pending.interactions]}}case`approval`:return{...e,approvals:[...e.approvals.filter(e=>e.approvalId!==t.approval.approvalId),t.approval]};case`approval_withdrawn`:return{...e,approvals:e.approvals.filter(e=>e.approvalId!==t.approvalId)};case`interaction`:return{...e,interactions:[...e.interactions.filter(e=>e.interactionId!==t.interaction.interactionId),t.interaction]};case`interaction_withdrawn`:return{...e,interactions:e.interactions.filter(e=>e.interactionId!==t.interactionId)};default:return e}}function ut(e,t){return t?{approvals:e.approvals.filter(e=>e.rootSessionId===t.id),interactions:e.interactions.filter(e=>e.workspaceId===t.workspaceId&&(!e.sessionId||e.sessionId===t.id))}:ct()}var dt=(e,t)=>({approvals:e.approvals.filter(e=>e.approvalId!==t),interactions:e.interactions.filter(e=>e.interactionId!==t)}),ft=`memory`,pt={workspace:``},mt=(e,t)=>e.workspace===t&&e.list?e:{workspace:t,failed:!0};function ht(e,t,n){if(!t||e.workspace!==t)return`loading`;if(!e.list)return e.failed?`error`:`loading`;let r=e.list.find(e=>e.id===n);return r?.enabled&&r.status===`active`?`enabled`:`disabled`}var gt=e=>e===`enabled`?[`conversation`,`trajectory`,`memory`]:[`conversation`,`trajectory`],_t=(e,t)=>gt(t).includes(e)?e:`conversation`,vt=15e3,yt=6e4,bt=e=>e.kind===`approval`||e.kind===`tool`&&(e.category===`question`||e.category===`agent`),xt=e=>{let t=e.replace(/^p_[0-9a-f]{10}_/,``);return t===`python_run`?`python`:t===`js_run`?`javascript`:t===`data_inspect`||t===`data_query`?`data`:t===`artifact_create`?`artifact`:t===`ask_user_question`||t===`exit_plan`?`question`:t===`task`||t===`task_wait`?`agent`:`other`},St=[`title`,`fileName`,`path`,`file_path`,`file`,`name`,`description`];function Ct(e,t=48){let n;try{n=JSON.parse(e)}catch{return``}if(!n||typeof n!=`object`)return``;let r=n,i;for(let e of St){let t=r[e];if(typeof t==`string`&&t.trim()){i=t;break}}if(i===void 0){let e=r.inputs,t=Array.isArray(e)?e[0]:void 0;t&&typeof t.path==`string`&&(i=t.path)}if(!i)return``;let a=(i.replace(/\\/g,`/`).split(`/`).filter(Boolean).pop()??i).replace(/\s+/g,` `).trim();return a.length>t?`${a.slice(0,t-1)}…`:a}function wt(e){let t=Object.values(e.approvals)[0];if(t!==void 0)return{kind:`approval`,name:t};let n=e.tools.at(-1);return n?{kind:`tool`,name:n.name,category:xt(n.name),summary:Ct(n.arguments)}:e.compacting?{kind:`compacting`}:e.retry?{kind:`retrying`,...e.retry}:e.recovery?{kind:`recovering`,...e.recovery}:{kind:e.stream}}var Tt=e=>{let t=Object.keys(e.approvals)[0];if(t!==void 0)return`approval:${t}`;let n=e.tools.at(-1);return n?`tool:${n.id}`:e.compacting?`compacting`:e.recovery?`recovery:${e.recovery.attempt}`:e.retry?`retry:${e.retry.attempt}`:e.stream},E=e=>{let{retry:t,recovery:n,...r}=e;return r},D=(e,t,n)=>{let r=Tt(e);return{...e,phaseKey:r,phaseSince:t&&t.phaseKey===r?t.phaseSince:n}},Et=(e,t,n=t)=>D({runId:e,startedAt:n,lastActivityAt:t,stream:`waiting`,tools:[],approvals:{},compacting:!1},void 0,t);function Dt(e,t){if(t.t===`snapshot`)return!1;if(t.t===`session_status`)return t.status===`running`||t.status===`queued`?e:!1;if(t.t!==`event`)return e;switch(t.event.type){case`compaction_started`:return!0;case`compaction_completed`:case`compaction_failed`:case`compaction_skipped`:case`run_completed`:case`run_failed`:case`run_cancelled`:case`run_turns_exceeded`:return!1;default:return e}}var O=e=>e==null?``:String(e);function Ot(e,t,n){if(t.t===`snapshot`){let r=t.inflight;if(!r)return;let i={};for(let e of t.pending?.approvals??[])e.rootSessionId===t.sessionId&&(i[e.callId??e.approvalId]=e.name??e.approvalId);return D({runId:r.runId,startedAt:r.startedAt??e?.startedAt??n,lastActivityAt:n,stream:r.text?`writing`:r.reasoning?`thinking`:`waiting`,tools:r.tools.map(e=>({id:e.id,name:e.name,arguments:e.arguments,startedAt:e.startedAt})),approvals:i,compacting:!1},e?.runId===r.runId?e:void 0,n)}if(t.t===`delta`){let r=e?.runId===t.runId?e:Et(t.runId,n),i=t.text?`writing`:t.reasoning?`thinking`:r.stream;return D({...E(r),stream:i,lastActivityAt:n,compacting:!1},r,n)}if(t.t!==`event`)return e;let r=t.event,i=r.data??{};switch(r.type){case`run_started`:return Et(r.runId,n);case`run_completed`:case`run_failed`:case`run_cancelled`:case`run_turns_exceeded`:return e&&e.runId!==r.runId?e:void 0}let a=e?.runId===r.runId?e:Et(r.runId,n),o={...a,lastActivityAt:n};switch(r.type){case`tool_started`:{let e=O(i.id),t=a.tools.some(t=>t.id===e)?a.tools:[...a.tools,{id:e,name:O(i.name),arguments:O(i.arguments),startedAt:n}];return D({...E(o),tools:t,compacting:!1},a,n)}case`tool_completed`:{let e=O(i.id),{[e]:t,...r}=a.approvals;return D({...E(o),tools:a.tools.filter(t=>t.id!==e),approvals:r,stream:`waiting`},a,n)}case`tool_progress`:return{...o};case`approval_requested`:return D({...o,approvals:{...a.approvals,[O(i.id)]:O(i.name)}},a,n);case`approval_resolved`:{let{[O(i.id)]:e,...t}=a.approvals;return D({...o,approvals:t},a,n)}case`compaction_started`:return D({...E(o),compacting:!0},a,n);case`compaction_completed`:case`compaction_failed`:case`compaction_skipped`:return D({...E(o),compacting:!1,stream:`waiting`},a,n);case`turn_completed`:return D({...E(o),stream:`waiting`},a,n);case`request_retry`:return D({...o,stream:`waiting`,retry:{attempt:Number(i.attempt)||1,of:Number(i.of)||1}},a,n);case`truncation_recovery`:return D({...E(o),stream:`waiting`,recovery:{attempt:Number(i.attempt)||1,of:Number(i.of)||1}},a,n);case`artifact_published`:case`plugin_hook_failed`:case`context_reduced`:case`session_context_injected`:case`response_truncated`:return o;default:return e}}function kt(e,t,n={quietMs:vt,stalledMs:yt}){let r=Math.max(0,t-e.lastActivityAt);return bt(wt(e))?{level:`none`,idleMs:r}:r>=n.stalledMs?{level:`stalled`,idleMs:r}:r>=n.quietMs?{level:`quiet`,idleMs:r}:{level:`none`,idleMs:r}}function At(e){let t=Math.max(0,Math.floor(e/1e3)),n=t%60,r=Math.floor(t/60)%60,i=Math.floor(t/3600),a=e=>String(e).padStart(2,`0`);return i?`${i}:${a(r)}:${a(n)}`:`${r}:${a(n)}`}function jt(e,t){if(`sessionId`in e&&e.sessionId===t){if(e.t===`snapshot`)return{count:e.proof?.criteria??0,changed:!1};if(e.t===`event`&&e.event.type===`proof_updated`)return{count:void 0,changed:!0}}}var Mt=()=>({workspaces:[],sessions:{},stale:!1,loaded:!1});function Nt(e,t,n){return{workspaces:t,sessions:Object.fromEntries(n.filter(e=>!e.parentId).map(e=>[e.id,e])),stale:!1,loaded:!0}}var k=(e,t)=>({...e,sessions:{...e.sessions,[t.id]:{...e.sessions[t.id],...t}}}),Pt=(e,t)=>({...e,workspaces:[...e.workspaces.filter(e=>e.id!==t.id),t].sort((e,t)=>e.path.localeCompare(t.path))});function Ft(e,t){let n=e.sessions[t.sessionId];return n?k(e,{...n,status:t.status,...t.title===void 0?{}:{title:t.title},...t.updatedAt===void 0?{}:{updatedAt:t.updatedAt}}):{...e,stale:!0}}var It=e=>e.label??e.path.split(/[\\/]/).filter(Boolean).at(-1)??e.path,Lt=e=>e.split(/[\\/]/).filter(Boolean).slice(0,-1);function Rt(e){let t=new Map;for(let n of e){if(n.label)continue;let e=It(n).toLowerCase();t.set(e,[...t.get(e)??[],n])}let n=new Map;for(let e of t.values()){if(e.length<2)continue;let t=e.map(e=>Lt(e.path)),r=Math.max(...t.map(e=>e.length)),i=e=>t.map(t=>t.length?t.slice(-e).join(`/`):`/`),a=Math.min(2,Math.max(1,r));for(;a<r&&new Set(i(a)).size<e.length;)a++;i(a).forEach((t,r)=>{let i=e[r]?.id;i&&n.set(i,t)})}return n}function zt(e,t){let n=e=>e?.exists!==!1&&!e?.archived;if(t&&(t=>n(e.workspaces.find(e=>e.id===t)))(t))return t;let r=new Map;for(let t of Object.values(e.sessions))r.set(t.workspaceId,Math.max(r.get(t.workspaceId)??0,t.updatedAt??0));let i=e=>Math.max(e.lastOpenedAt??0,r.get(e.id)??0);return e.workspaces.filter(n).sort((e,t)=>i(t)-i(e))[0]?.id}var Bt=(e,t)=>e.pinned===t.pinned?(t.updatedAt??-1)-(e.updatedAt??-1):e.pinned?-1:1;function Vt(e,t,n=!1){let r=t.trim().toLowerCase(),i=Object.values(e.sessions).filter(e=>n||!e.archived),a=new Map(e.workspaces.map(e=>[e.id,e]));for(let e of i)a.has(e.workspaceId)||a.set(e.workspaceId,{id:e.workspaceId,path:e.workspace,pinned:!1,open:!1,exists:!0,trusted:!1,untrustedResources:!1,archived:!1});let o=[],s=[...a.values()].filter(e=>n||!e.archived),c=Rt(s);for(let e of s){let t=It(e),n=c.get(e.id),a=i.filter(t=>t.workspaceId===e.id).filter(e=>!r||(e.title??``).toLowerCase().includes(r)||e.id.toLowerCase().startsWith(r)||t.toLowerCase().includes(r)).sort(Bt);(!r||a.length||t.toLowerCase().includes(r))&&o.push({workspace:e,name:t,...n?{hint:n}:{},sessions:a})}return o.sort((e,t)=>Number(e.workspace.archived)-Number(t.workspace.archived)||Number(t.workspace.pinned)-Number(e.workspace.pinned)||e.workspace.path.localeCompare(t.workspace.path))}function Ht(e){return e?.nativePicker?`native`:e?.folderBrowser?`browser`:`manual`}function Ut(e){let t=[];for(let n of e?.content??[])n.type===`ui`&&n.block.kind===`artifact`&&n.block.artifact?.id&&t.push(n.block.artifact);return t}function Wt(e,t){let n=new Map(e.map(e=>[e.id,e]));for(let e of t)n.set(e.id,e);return[...n.values()].sort((e,t)=>t.createdAt-e.createdAt||(e.id<t.id?1:-1))}function Gt(e,t){if(!t)return{artifact:e,state:`loading`};let n=t.find(t=>t.id===e.id)??e;return{artifact:n,state:n.status}}var Kt=e=>e.previewable&&e.status===`ready`?`open`:`download`,qt=e=>`/api/artifacts/${encodeURIComponent(e)}/download`,Jt={dashboard:`fileChart`,document:`fileText`,spreadsheet:`fileTable`,image:`fileImage`,data:`fileCode`,code:`fileCode`,archive:`fileArchive`,file:`file`};function Yt(e){return e<1024?`${e} B`:e<1048576?`${Math.max(1,Math.round(e/1024))} KB`:`${(e/1048576).toFixed(1)} MB`}function Xt(e){if(e.generator!==`dashboard_generate`)return;let t=e.planner;if(t!==`rules`&&t!==`rules+decisions`)return;let n=e.decisionProvider;return{planner:t,...typeof n==`string`&&n?{decisionProvider:n}:{}}}var Zt=e=>({sessionId:e,cursor:0,entries:[],tools:{},echoes:[],hasMore:!1,maxSeq:-1,ready:!1,version:0,counter:0}),A=(e,t)=>({...e,...t,version:e.version+1}),j=e=>({id:e.id,name:e.name,arguments:e.arguments,status:`pending`,tail:``}),Qt=e=>e.isError?`failed`:`completed`;function $t(e,t){let n=[];for(let{seq:r,message:i}of e)if(i.role===`user`)i.summary?n.push({kind:`notice`,key:`m${r}`,seq:r,code:`summary`,tone:`info`,params:{}}):n.push({kind:`user`,key:`m${r}`,seq:r,text:i.display??i.text,attachments:i.attachments?.length??0,...i.attachments?.length?{images:i.attachments.map(e=>({mimeType:e.mimeType,data:e.data}))}:{},...i.datasets?.length?{datasets:i.datasets}:{}});else if(i.role===`assistant`){for(let e of i.calls)t[e.id]={...j(e),...t[e.id]};n.push({kind:`assistant`,key:`m${r}`,seq:r,text:i.text,calls:i.calls.map(e=>e.id),...i.truncated?{truncated:!0}:{}})}else{let e=t[i.callId];t[i.callId]={...e??j({id:i.callId,name:`tool`,arguments:``}),result:i.result,status:Qt(i.result)}}return n}function en(e,t){if(!t.length)return e;let n=[],r=[...t];for(let t of e){let e=`seq`in t&&t.seq!==void 0?t.seq:void 0;if(e!==void 0){let t=r.filter(t=>tn(t)<e);r=r.filter(t=>tn(t)>=e),n.push(...t)}n.push(t)}return[...n,...r]}var tn=e=>`anchor`in e&&e.anchor!==void 0?e.anchor:1/0,nn=e=>`anchor`in e&&e.anchor!==void 0;function rn(e,t){let n={},r=t.messages.items,i=$t(r,n),a=r[0]?.seq,o=e.entries.filter(e=>nn(e)&&(a===void 0||tn(e)>=a)),s;if(t.inflight){s={runId:t.inflight.runId,text:t.inflight.text,reasoning:t.inflight.reasoning,toolIds:t.inflight.tools.map(e=>e.id)};for(let e of t.inflight.tools)n[e.id]={...j(e),...n[e.id],effect:e.effect,status:`running`,tail:e.tail,...e.forge?{forge:fe(void 0,e.forge)}:{}}}let c=r.map(e=>e.message).filter(e=>e.role===`user`),l=e.echoes.filter(e=>e.state===`failed`||!c.some(t=>an(t,e)));return A(e,{session:t.session,cursor:t.cursor,entries:en(i,o),tools:n,echoes:l,live:s,hasMore:t.messages.hasMore,oldestSeq:a,maxSeq:r.at(-1)?.seq??-1,ready:!0})}var an=(e,t)=>t.datasets?.length?e.display===(t.display??t.text)&&e.text.startsWith(t.text):t.display===void 0?e.text===t.text&&e.display===void 0:e.display===t.display&&e.text===t.text;function on(e,t){if(t.seq<=e.maxSeq)return e;let n={...e.tools},[r]=$t([t],n),{echoes:i,live:a}=e,{message:o}=t;if(o.role===`user`){let e=i.findIndex(e=>e.state!==`failed`&&an(o,e));e>=0&&(i=i.filter((t,n)=>n!==e))}let s=r;if(o.role===`assistant`&&r?.kind===`assistant`&&a&&(a.reasoning&&(s={...r,think:a.reasoning}),a={...a,text:``,reasoning:``}),o.role===`tool`){let t=n[o.callId];t&&e.tools[o.callId]?.durationMs!==void 0&&(n[o.callId]={...t,durationMs:e.tools[o.callId]?.durationMs})}return A(e,{entries:s?[...e.entries,s]:e.entries,tools:n,echoes:i,live:a,maxSeq:t.seq,oldestSeq:e.oldestSeq??t.seq})}var sn=(e,t,n,r={})=>({kind:`notice`,key:`n${e.counter}`,anchor:e.maxSeq,code:t,tone:n,params:r}),cn=e=>e===`user`||e===`model`||e==="default"?e:`unknown`;function ln(e){if(e.code!==`output_truncated`)return;let t=e.truncation;if(t&&typeof t.maxOutputTokens==`number`&&t.model)return{code:`run_output_truncated`,params:{who:t.model,attempts:String(t.attempts??1),maxOutputTokens:String(t.maxOutputTokens),source:cn(t.source)}}}function un(e){if(e.code!==`timeout`)return;let t=e.timeout;if(!t||typeof t.ms!=`number`)return;let n=t.model?t.provider?`${t.model} (${t.provider})`:t.model:``,r={who:n,seconds:String(Math.round(t.ms/1e3)),tool:t.tool??``,attempts:String(t.attempts??1)};return t.kind===`first_token`&&n?{code:t.attempts&&t.attempts>1?`run_timeout_first_token_retried`:`run_timeout_first_token`,params:r}:t.stage===`waiting_model`&&n?{code:t.firstRequest?`run_timeout_waiting`:`run_timeout_waiting_later`,params:r}:t.stage===`streaming`&&n?{code:`run_timeout_streaming`,params:r}:t.stage===`tool`&&t.tool?{code:`run_timeout_tool`,params:r}:{code:`run_timeout_other`,params:r}}function dn(e,t){let n=Math.max(e.cursor,Number(t.eventId??0)||0),r={...e,cursor:n,counter:e.counter+1},i=t.data??{},a=e=>e===void 0?``:String(e),o=(t,n,i={})=>A(r,{entries:[...e.entries,sn(e,t,n,i)]});switch(t.type){case`run_started`:return A(r,{live:{runId:t.runId,text:``,reasoning:``,toolIds:[]}});case`tool_started`:{let n=a(i.id),o=r.live??{runId:t.runId,text:``,reasoning:``,toolIds:[]};return A(r,{tools:{...e.tools,[n]:{...j({id:n,name:a(i.name),arguments:a(i.arguments)}),...e.tools[n],effect:i.effect,status:`running`}},live:o.toolIds.includes(n)?o:{...o,toolIds:[...o.toolIds,n]}})}case`tool_completed`:{let t=a(i.id),n=e.tools[t]??j({id:t,name:a(i.name),arguments:``});return A(r,{tools:{...e.tools,[t]:{...n,status:i.isError?`failed`:`completed`,durationMs:Number(i.durationMs)||0,preview:a(i.preview)}}})}case`run_completed`:return A(r,{live:void 0});case`run_failed`:{let e=un(i)??ln(i);return{...e?o(e.code,`error`,e.params):o(`run_failed`,`error`,{error:a(i.error)}),live:void 0}}case`run_cancelled`:return{...o(`run_cancelled`,`warning`),live:void 0};case`run_turns_exceeded`:return o(`run_turns_exceeded`,`warning`,{turns:a(i.turns)});case`response_truncated`:return o(`response_truncated`,`warning`,{maxOutputTokens:a(i.maxOutputTokens),source:cn(i.source)});case`model_changed`:return o(`model_changed`,`info`,{model:a(i.model),previous:a(i.previous)});case`compaction_completed`:return o(`compaction_completed`,`info`,{before:a(i.before),after:a(i.after)});case`compaction_failed`:return o(`compaction_failed`,`error`,{error:a(i.error)});case`context_reduced`:return o(`context_reduced`,`info`,{messages:a(i.messages)});case`plugin_hook_failed`:return o(`plugin_hook_failed`,`warning`,{source:a(i.source),hook:a(i.hook),error:a(i.error)});case`session_context_injected`:return A(r,{entries:[...e.entries,{kind:`context`,key:`n${e.counter}`,anchor:e.maxSeq,sources:Array.isArray(i.sources)?i.sources.map(String):[],tokens:Number(i.tokens)||0}]});default:return n===e.cursor?e:{...e,cursor:n}}}function fn(e,t){let n=e.live?.runId===t.runId?e.live:{runId:t.runId,text:``,reasoning:``,toolIds:[]},r={...n,text:n.text+(t.text??``),reasoning:n.reasoning+(t.reasoning??``)},i=e.tools;if(t.progress?.length){i={...i};for(let{toolId:e,chunk:n}of t.progress){let t=i[e]??j({id:e,name:`tool`,arguments:``}),r=de(n);i[e]=r?{...t,forge:fe(t.forge,r)}:{...t,tail:(t.tail+n).slice(-8192)}}}return A(e,{live:r,tools:i})}function pn(e,t){if(`sessionId`in t&&t.sessionId!==void 0&&t.sessionId!==e.sessionId)return e;switch(t.t){case`snapshot`:return rn(e,t);case`message`:return on(e,t);case`event`:return dn(e,t.event);case`delta`:return fn(e,t);case`tool_result`:{let n=e.tools[t.callId]??j({id:t.callId,name:`tool`,arguments:``});return A(e,{tools:{...e.tools,[t.callId]:{...n,result:t.result,...t.truncated?{truncated:!0}:{},...n.status===`running`||n.status===`pending`?{status:Qt(t.result)}:{}}}})}case`session_status`:return e.session?A(e,{session:{...e.session,status:t.status,...t.title===void 0?{}:{title:t.title},...t.updatedAt===void 0?{}:{updatedAt:t.updatedAt}}}):e;default:return e}}var mn=(e,t)=>t.reduce(pn,e),hn=(e,t)=>A(e,{echoes:[...e.echoes,{...t,state:`sending`}]}),gn=(e,t,n)=>A(e,{echoes:e.echoes.map(e=>e.localId===t?{...e,state:`failed`,error:n}:e)}),_n=(e,t)=>A(e,{echoes:e.echoes.filter(e=>e.localId!==t)}),M=(e,t)=>A(e,{counter:e.counter+1,entries:[...e.entries,{kind:`note`,key:`n${e.counter}`,anchor:e.maxSeq,text:t}]});function vn(e,t){let n=e.oldestSeq??1/0,r=t.items.filter(e=>e.seq<n),i={...e.tools};return A(e,{entries:[...$t(r,i),...e.entries],tools:i,hasMore:t.hasMore,oldestSeq:r[0]?.seq??e.oldestSeq,maxSeq:Math.max(e.maxSeq,r.at(-1)?.seq??-1)})}function yn(e){let t=[],n=new Set,r=(n,r)=>{let i=n.flatMap(t=>Ut(e.tools[t]?.result));i.length&&t.push({kind:`artifacts`,key:r,artifacts:i})};for(let i of e.entries)if(i.kind===`assistant`){let{calls:a,...o}=i;(i.text||i.think)&&t.push(o);for(let r of a){let i=e.tools[r];i&&(n.add(r),t.push({kind:`tool`,key:`t${r}`,tool:i}))}r(a,`a${i.key}`)}else t.push(i);for(let n of e.echoes)t.push({kind:`echo`,key:`e${n.localId}`,echo:n});let i=e.live;if(i){i.reasoning&&t.push({kind:`think`,key:`think-${i.runId}`,text:i.reasoning});let a=i.toolIds.filter(t=>e.tools[t]&&!n.has(t));for(let n of a){let r=e.tools[n];r&&t.push({kind:`tool`,key:`t${n}`,tool:r})}r(a,`live-a${i.runId}`),i.text&&t.push({kind:`streaming`,key:`live-${i.runId}`,text:i.text})}return t}var bn=r(`ok`),xn=r(!1),Sn=r(`connecting`),N=r(Mt()),P=r(void 0),F=r(void 0),I=r(Zt(``)),Cn=r(void 0),L=r(!1),R=r(ct()),z=r([]),wn=r(void 0),Tn=r(void 0),En=r(o(`alisio.history`,[])),Dn=r(``),On=r(``),kn=r(Date.now()),An=r(!1),jn=r(void 0),Mn=r(!1),Nn=r(!1),Pn=r([]),Fn=r(``),In=r(void 0),Ln=r(!1),B=r(0),Rn=r(void 0),zn=r(void 0),Bn=r(0),Vn=r(0),V=r({}),H=r(void 0),Hn=r(`conversation`),U=r(pt),Un=n(()=>Object.fromEntries((U.value.list??[]).map(e=>[e.toolPrefix,e.name]))),Wn=()=>ht(U.value,F.value?.workspaceId,ft),Gn=()=>_t(Hn.value,Wn());function Kn(e,t){U.value={workspace:e,list:t},V.value={...V.value,agents:(V.value.agents??0)+1},Wn()===`disabled`&&(Hn.value=_t(Hn.value,`disabled`))}function qn(e){U.value=mt(U.value,e)}var Jn=r(!1),Yn=r(null),Xn=r(0),Zn=r(0),Qn=r(0),$n=r(void 0),er=r(void 0),tr=n(()=>ut(R.value,I.value.session)),nr=n(()=>I.value.session?.status??F.value?.status??`idle`),rr=n(()=>{let e=nr.value;return!!I.value.live||e===`running`||e===`queued`||e===`awaiting_input`}),W=new oe({onUnauthorized:()=>{bn.value=`unauthorized`}}),G,ir,ar=r(0),K=r(void 0),or=n(()=>ve(K.value?.version)),sr=n(()=>Ht(K.value?.capabilities)),cr=r(!1);function lr(e){zn.value={text:e,n:(zn.value?.n??0)+1},B.value++}function q(e){Rn.value=e,setTimeout(()=>{Rn.value===e&&(Rn.value=void 0)},5e3)}async function J(){return ir??=(async()=>{try{let[e,t]=await Promise.all([W.workspaces(`all`),W.sessions({archived:`all`})]);N.value=Nt(N.value,e,t.items)}catch(e){e instanceof p&&e.status===401||q(T(e))}finally{ir=void 0}})(),ir}async function Y(){let e=P.value;if(e)try{let t=await W.context(e);P.value===e&&(Tn.value=t)}catch{}}async function X(){let e=P.value;if(e)try{let t=await W.models(e);P.value===e&&(wn.value=t)}catch{wn.value=void 0}}async function ur(){let e=P.value;try{let t=await W.commands(e);P.value===e&&(z.value=t)}catch{}}async function dr(){let e=F.value?.workspaceId;if(!e){Pn.value=[];return}try{let t=await W.agents(e);F.value?.workspaceId===e&&(Pn.value=t)}catch{}}async function fr(){let e=F.value?.workspaceId;if(e)try{let t=await W.plugins(e);if(F.value?.workspaceId!==e)return;Kn(e,t),dr()}catch{qn(e)}}async function pr(){let e=P.value;if(e)try{let t=await W.session(e);P.value===e&&(F.value=t,N.value=k(N.value,t))}catch{}}var mr=!1,hr=new _e,gr;function _r(){if(gr!==void 0)return;let e=hr.nextFlushIn(Date.now());e!==void 0&&(gr=setTimeout(()=>{gr=void 0;let e=hr.flush(Date.now());e.length&&yr(e),_r()},e))}function vr(e){let t=hr.admit(e,Date.now());_r(),t.length&&yr(t)}function yr(e){let t=!1,n=!1,r=!1,i=!1,o=!1,c=[],l=new Set;a(()=>{I.value=mn(I.value,e);let a=Date.now(),u=Cn.value;for(let t of e)(!(`sessionId`in t)||t.sessionId===I.value.sessionId)&&(u=Ot(u,t,a));Cn.value=u;let d=L.value;for(let t of e)(!(`sessionId`in t)||t.sessionId===I.value.sessionId)&&(d=Dt(d,t));d!==L.value&&(L.value=d);let f=R.value,ee=N.value;for(let a of e){f=lt(f,a),a.t===`session_status`&&(ee=Ft(ee,a)),a.t===`approval`&&a.approval.rootSessionId===P.value&&(On.value=a.approval.name??a.approval.approvalId),a.t===`capabilities_changed`&&a.sessionId===P.value&&Qn.value++,(a.t===`dataset_ready`||a.t===`dataset_failed`)&&He(a),a.t===`tasks_changed`&&s(()=>import(`./tasks-Sc_vWQpd.js`).then(e=>e.receiveTask(a.sessionId,a.task)),__vite__mapDeps([0,1,2]));let e=rt(a,P.value);e!==void 0&&(Yn.value=e);let u=jt(a,P.value);if(u&&(u.count!==void 0&&(Xn.value=u.count),u.changed&&(Zn.value++,Xn.value||=1)),a.t===`catalog_changed`&&(l.add(a.scope),a.scope===`commands`&&(i=!0)),a.t===`event`&&a.sessionId===P.value){o=!0;let e=a.event.type;if(e===`run_completed`&&(Dn.value=`${Date.now()}`),(e===`run_completed`||e===`run_failed`||e===`run_cancelled`)&&(t=!0),e===`compaction_completed`&&(r=!0),e===`artifact_published`){let e=a.event.data;e.artifact&&c.push(e.artifact)}e===`model_changed`&&(t=!0),e===`plan_decided`&&(mr=a.event.data.decision===`approve`),e===`run_started`&&mr&&(mr=!1,n=!0)}}R.value=f,N.value=ee}),o&&Vn.value++,n&&pr();let u=P.value;if(c.length&&u&&(er.value={sessionId:u,artifacts:c}),N.value.stale&&J(),t&&(Bn.value++,Y()),i&&ur(),l.size){let e={...V.value};for(let t of l)e[t]=(e[t]??0)+1;V.value=e,l.has(`models`)&&X(),l.has(`plugins`)&&fr(),l.has(`agents`)&&dr()}r&&(G?.refresh(),Y())}async function Z(e){if(e===P.value&&e)return;a(()=>{P.value=e,F.value=void 0,I.value=Zt(e??``),Cn.value=void 0,L.value=!1,wn.value=void 0,Tn.value=void 0,Ln.value=!1,H.value=void 0,Yn.value=null,Xn.value=0});let t=e?`#/s/${encodeURIComponent(e)}`:`#/`;if(location.hash!==t&&br(t),G?.subscribe(e?[e]:[]),e&&i(`alisio.lastSession`,e),ur(),Ue.value=0,e){s(()=>import(`./tasks-Sc_vWQpd.js`).then(t=>t.loadTasks(e)),__vite__mapDeps([0,1,2]));try{let t=await W.session(e);P.value===e&&(F.value=t)}catch(e){if(e instanceof p&&e.code===`not_found`){q(T(e)),Z(void 0);return}}X(),Y(),fr(),dr()}}function br(e){try{window.history.replaceState(null,``,e)}catch{location.hash=e}}var xr=()=>{let e=/^#\/s\/(.+)$/.exec(location.hash);return e?.[1]?decodeURIComponent(e[1]):void 0};async function Sr(){let n=t(Re);try{let t=await W.changelog(n?{lastSeen:n}:{}),r=ze(n,t);return r.toast&&q(e(`changelog.news`,{version:r.toast})),r.record&&i(Re,r.record),t}catch{return}}async function Cr(){if(G=new ue({create:e=>new EventSource(e),onFrames:vr,onStatus:e=>{Sn.value=e},onProtocolMismatch:()=>{xn.value=!0},onClosed:()=>{W.workspaces().catch(()=>{})}}),window.addEventListener(`online`,()=>G?.nudge()),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&G?.nudge()}),window.addEventListener(`hashchange`,()=>{let e=xr();e!==P.value&&Z(e)}),setInterval(()=>{kn.value=Date.now()},3e4),W.health().then(e=>{K.value=e}).catch(()=>{}),await J(),bn.value!==`ok`)return;Sr();let e=xr(),n=t(`alisio.lastSession`),r=N.value.sessions,i=e??(n&&r[n]&&!r[n]?.archived?n:Object.values(r).filter(e=>!e.archived).sort((e,t)=>(t.updatedAt??-1)-(e.updatedAt??-1))[0]?.id);i?await Z(i):(G.subscribe([]),ur())}async function wr(t){let n=t??zt(N.value,F.value?.workspaceId);if(!n){q(e(`sidebar.openWorkspaceFirst`)),ar.value++;return}try{let e=await W.createSession({workspace:n});N.value=k(N.value,e),await Z(e.id),B.value++}catch(e){q(T(e)),e instanceof p&&e.code===`workspace_missing`&&J()}}async function Tr(t){try{let n=await W.addWorkspace(t.trim());return N.value=Pt(N.value,n),n.untrustedResources&&q(e(`sidebar.untrustedHint`)),!0}catch(e){return q(T(e)),!1}}async function Er(){if(cr.value)return`cancelled`;cr.value=!0;try{let e=await W.pickFolder();return`cancelled`in e?`cancelled`:await Tr(e.path)?`added`:`cancelled`}catch(e){return e instanceof p&&e.code===`picker_unavailable`?(K.value&&={...K.value,capabilities:{...K.value.capabilities,nativePicker:!1}},`unavailable`):(q(T(e)),`cancelled`)}finally{cr.value=!1}}async function Dr(e,t){try{let n=await W.patchWorkspace(e,t);N.value=Pt(N.value,n)}catch(e){q(T(e))}}async function Q(e,t=P.value){if(t)try{let n=await W.patchSession(t,e);N.value=k(N.value,n),t===P.value&&(F.value=n,(e.model!==void 0||e.effort!==void 0)&&(X(),Y()))}catch(e){q(T(e))}}async function Or(e){let t=P.value;if(t)try{let n=await W.command(t,{requestId:m(),name:`agent:${e}`});n.output&&(I.value=M(I.value,n.output)),pr(),n.effects?.includes(`model`)&&(X(),Y())}catch(e){q(T(e))}}async function kr(t=1){let n=F.value;if(!n||ut(R.value,n).interactions.length)return;let r=Pn.value,i=n.agent??r.find(e=>e.default)?.id,a=at(r,i,t);if(!a||a===i)return;await Or(a);let o=r.find(e=>e.id===a)?.name??a;Fn.value=e(`composer.agentApplied`,{agent:o})}async function Ar(t,n,r){try{let i;try{i=await W.createSession({workspace:t,agent:n,...r?{model:r}:{}})}catch(a){if(!r||!(a instanceof p)||a.code!==`validation_failed`)throw a;i=await W.createSession({workspace:t,agent:n}),q(e(`agentsWin.modelFallback`,{model:r}))}return N.value=k(N.value,i),await Z(i.id),B.value++,!0}catch(e){return q(T(e)),!1}}async function jr(t,n){let r=e(n?`trust.confirm`:`trust.confirmRevoke`,{path:t.path});if(!window.confirm(r))return!1;try{let r=await W.trustWorkspace(t.id,n);return N.value=Pt(N.value,r),q(e(r.trusted?`trust.granted`:`trust.revoked`)),F.value?.workspaceId===t.id&&ur(),!0}catch(e){return q(T(e)),!1}}var Mr=e=>Q({preset:e}),Nr=e=>Q({model:e}),Pr=e=>Q({effort:e});function Fr(e){En.value=De(En.value,e),i(`alisio.history`,JSON.stringify(En.value))}async function Ir(e,t,n=m(),r,i){let a=P.value;if(!a)return;let o=m(),s=r?.refs.length?r.refs:void 0;I.value=hn(I.value,{localId:o,requestId:n,text:e,...t?{display:t}:{},...s?{attachments:s,thumbs:r?.thumbs??[]}:{},...i?.length?{datasets:i}:{}});try{await W.prompt(a,{requestId:n,text:e,...t?{display:t}:{},...s?{attachments:s}:{},...i?.length?{datasets:i.map(e=>e.id)}:{}})}catch(e){P.value===a&&(I.value=gn(I.value,o,T(e)))}}function Lr(e){let t=I.value.echoes.find(t=>t.localId===e);t&&(I.value=_n(I.value,e),Ir(t.text,t.display,t.requestId,t.attachments?{refs:t.attachments,thumbs:t.thumbs??[]}:void 0,t.datasets))}async function Rr(t,n,r){let i=P.value;if(!i||!t.trim()&&!n?.refs.length&&!r?.length)return;if(t.trim()&&Fr(t),n?.refs.length||r?.length)return Ir(t.trim()||!r?.length?t:e(`dataset.defaultPrompt`),void 0,m(),n,r);let a=ye(t);if((a?.name===`permission`||a?.name===`permissions`)&&!a.args){Jn.value=!0;return}if(a?.name===`changelog`){In.value={version:a.args??``,at:Date.now()};return}if(a?.name===`tasks`){Ye();return}if(a?.name===`proof`&&z.value.some(e=>e.name===`proof`)){Xe();return}if(a?.name===`goal`&&z.value.some(e=>e.name===`goal`)){s(()=>import(`./goal-B1jQsfH5.js`).then(e=>e.runGoalCommand(i,a.args??``)),__vite__mapDeps([3,1,2]));return}if(a?.name===`artifacts`){$n.value={filter:a.args??``,at:Date.now()};return}if(a?.name===`agents`&&!a.args){Nn.value=!0;return}let o=a?z.value.find(e=>e.name===a.name||e.aliases?.includes(a.name.toLowerCase())):void 0;if(!a||!o)return Ir(t);let c=Ae(t,z.value);if(c)return zr(i,c.question);try{let t=await W.command(i,{requestId:m(),name:o.name,...a.args?{args:a.args}:{}});t.output&&(I.value=M(I.value,t.output)),o.name===`reload`&&q(e(`reloadCmd.done`)),t.prompt&&await Ir(t.prompt.text,t.prompt.display),t.effects?.length&&(pr(),X(),Y()),t.sessionId&&(await J(),await Z(t.sessionId))}catch(e){I.value=M(I.value,`**/${o.name}**: ${T(e)}`)}}var $;async function zr(e,t){let n=H.value?.sessionId===e?H.value.entries:[];if(!t){H.value=je(e,n);try{n=await W.sideQuestions(e)}catch(e){q(T(e));return}H.value?.sessionId===e&&!H.value.pending&&(H.value=je(e,n));return}$?.abort();let r=new AbortController;$=r,H.value=Me(e,n,t);try{await W.askSideQuestion(e,t,r.signal);let n=await W.sideQuestions(e);H.value?.sessionId===e&&H.value.pending?.question===t&&(H.value=Ne(H.value,n))}catch(t){if(r.signal.aborted)return;H.value?.sessionId===e&&H.value.pending&&(H.value=Pe(H.value,T(t)))}finally{$===r&&($=void 0)}}function Br(){let e=H.value;e?.pending&&($?.abort(),$=void 0,W.cancelSideQuestions(e.sessionId).catch(()=>{})),H.value=void 0,B.value++}async function Vr(){let e=P.value;if(e)try{await W.cancel(e)}catch(e){q(T(e))}}async function Hr(){let e=I.value;if(e.hasMore&&e.oldestSeq!==void 0)try{let t=await W.messages(e.sessionId,e.oldestSeq);I.value.sessionId===e.sessionId&&(I.value=vn(I.value,t))}catch(e){q(T(e))}}async function Ur(e,t){try{await W.decide(e,t)}catch(e){e instanceof p&&(e.status===409||e.status===404)||q(T(e))}R.value=dt(R.value,e),B.value++}async function Wr(e,t){try{await W.answer(e,t)}catch(e){e instanceof p&&(e.status===409||e.status===404)||q(T(e))}R.value=dt(R.value,e),B.value++}function Gr(e,t){i(`alisio.draft.${e}`,t||void 0)}var Kr=e=>t(`alisio.draft.${e}`)??``;export{Zn as $,Ge as $t,Vn as A,Gt as At,wn as B,it as Bt,L as C,f as Cn,yn as Ct,kr as D,Yt as Dt,P as E,c as En,qt as Et,lr as F,At as Ft,ar as G,g as Gt,kn as H,x as Ht,Kr as I,kt as It,Jn as J,y as Jt,Q as K,_ as Kt,Hr as L,gt as Lt,Yn as M,vt as Mt,En as N,yt as Nt,Ur as O,Wt as Ot,Cr as P,wt as Pt,Xn as Q,w as Qt,Wn as R,ot as Rt,z as S,re as Sn,M as St,Tn as T,d as Tn,Xt as Tt,sr as U,Ke as Ut,wr as V,T as Vt,Z as W,v as Wt,cr as X,Ue as Xt,Er as Y,We as Yt,Un as Z,et as Zt,Vr as _,p as _n,Sn as _t,Nn as a,Qe as an,Cn as at,In as b,ne as bn,I as bt,On as c,Ie as cn,Pr as ct,W as d,Ee as dn,jr as dt,tt as en,er as et,or as f,Oe as fn,An as ft,rr as g,me as gn,Ar as gt,H as h,pe as hn,N as ht,Pn as i,Ze as in,Bn as it,B as j,Vt as jt,F as k,Kt as kt,Dn as l,Le as ln,Nr as lt,bn as m,Te as mn,q as mt,Gn as n,b as nn,J as nt,Mn as o,Be as on,Gr as ot,$n as p,we as pn,jn as pt,Dr as q,nt as qt,Tr as r,$e as rn,Lr as rt,Fn as s,ke as sn,Hn as st,Or as t,Xe as tn,xn as tt,Wr as u,Fe as un,Mr as ut,Qn as v,m as vn,Rr as vt,zn as w,u as wn,Jt as wt,Br as x,ae as xn,tr as xt,V as y,ie as yn,Rn as yt,Ln as z,st as zt};
|