@alisio/server 0.5.1 → 0.6.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.
Files changed (65) hide show
  1. package/dist/index.js +6 -0
  2. package/dist/routes/files.js +16 -0
  3. package/dist/routes/management.js +24 -2
  4. package/dist/routes/scratch.d.ts +8 -0
  5. package/dist/routes/scratch.js +77 -0
  6. package/dist/routes/sessions.js +11 -1
  7. package/dist/sse/inflight.js +6 -1
  8. package/dist/web/assets/{AgentPicker-Cl47N-cj.js → AgentPicker-BH-tahQA.js} +1 -1
  9. package/dist/web/assets/{AgentsModal-h5tfJEeX.js → AgentsModal-C3tHYoW2.js} +2 -2
  10. package/dist/web/assets/ArtifactPanel-BSU3p4Me.js +5 -0
  11. package/dist/web/assets/{BtwPanel-Dq4_mguL.js → BtwPanel-BDofONkj.js} +1 -1
  12. package/dist/web/assets/{ChangelogDialog-DKij7ZgR.js → ChangelogDialog-B5zSEON8.js} +1 -1
  13. package/dist/web/assets/{CopyButton-DsWaaJHr.js → CopyButton-CMHaee_H.js} +1 -1
  14. package/dist/web/assets/{GoalBar-Dk2Cst9Y.js → GoalBar-JOJIfBUX.js} +1 -1
  15. package/dist/web/assets/{MemoryTab-C9XUOnpA.js → MemoryTab-C3rFMsRH.js} +1 -1
  16. package/dist/web/assets/PermissionsMenu-9enV9rs4.js +1 -0
  17. package/dist/web/assets/PlanReviewPanel-Bv7qk6nv.js +1 -0
  18. package/dist/web/assets/{PlanViewer-CeY05Jhh.js → PlanViewer-D05Fnb6D.js} +1 -1
  19. package/dist/web/assets/ScratchTab-Z-Klh15S.js +1 -0
  20. package/dist/web/assets/ScratchTab-c1awgFsM.css +1 -0
  21. package/dist/web/assets/SettingsModal-Bax8Y4UT.js +1 -0
  22. package/dist/web/assets/{SpreadsheetPanel-CaPNTLXV.js → SpreadsheetPanel-BIo8rckB.js} +1 -1
  23. package/dist/web/assets/{TasksTab-CxB3XymZ.js → TasksTab-C1obfmnr.js} +1 -1
  24. package/dist/web/assets/TextPreview-DPHScW4M.js +1 -0
  25. package/dist/web/assets/TrajectoryTab-DcmVZkfm.js +1 -0
  26. package/dist/web/assets/{agents.module-SodPbgcJ.js → agents.module-Brrjzfmx.js} +1 -1
  27. package/dist/web/assets/app-B_dNXnFa.js +3 -0
  28. package/dist/web/assets/{es-CLK996jq.js → es-DwvaEaQO.js} +1 -1
  29. package/dist/web/assets/forge-page-BuIg49Im.js +1 -0
  30. package/dist/web/assets/{goal-ChMqHxdJ.js → goal-D5qC2_WT.js} +1 -1
  31. package/dist/web/assets/{i18n-BZax1Psk.js → i18n-BGlOHOa5.js} +1 -1
  32. package/dist/web/assets/{icons-nQx96NOf.js → icons-BWy-tv8u.js} +1 -1
  33. package/dist/web/assets/index-CcgO2jIy.js +79 -0
  34. package/dist/web/assets/index-DoBakzIL.css +1 -0
  35. package/dist/web/assets/{jsxRuntime-C-CM9h-f.js → jsxRuntime-CU76aMLO.js} +1 -1
  36. package/dist/web/assets/{panel-Drs6RETP.js → panel-INm2KdPq.js} +1 -1
  37. package/dist/web/assets/settings-DdWABXsT.css +1 -0
  38. package/dist/web/assets/settings.module-BClxMWCR.js +1 -0
  39. package/dist/web/assets/{shared-CyriJLTb.js → shared-DF0YqvHb.js} +1 -1
  40. package/dist/web/assets/{strings-im5j6AkX.js → strings-Dn5dLhWb.js} +1 -1
  41. package/dist/web/assets/{tasks-CwT_L2cD.js → tasks-Dlp_xs_J.js} +1 -1
  42. package/dist/web/assets/{view-siaTb2If.js → view-B4LIdGiS.js} +1 -1
  43. package/dist/web/assets/view-BRtrf5cD.js +1 -0
  44. package/dist/web/assets/view-CWZ2W6Nn.js +1 -0
  45. package/dist/web/assets/{view-2dNgOSpB.js → view-Ce_7xHIu.js} +1 -1
  46. package/dist/web/assets/{view-B8k9wN-a.js → view-CjV4GnT8.js} +1 -1
  47. package/dist/web/assets/{view-BEMrRtHS.js → view-CpEZmnjL.js} +1 -1
  48. package/dist/web/assets/{view-CYrBJLQz.js → view-D5UQr-hn.js} +1 -1
  49. package/dist/web/assets/{view-D7gclAAt.js → view-DOYsFrMs.js} +1 -1
  50. package/dist/web/assets/{view-5vTUSCyJ.js → view-Dm0LR0Rz.js} +1 -1
  51. package/dist/web/index.html +8 -8
  52. package/package.json +4 -4
  53. package/dist/web/assets/ArtifactPanel-C6ipdg_g.js +0 -5
  54. package/dist/web/assets/PermissionsMenu-DPV6xncG.js +0 -1
  55. package/dist/web/assets/PlanReviewPanel-TPQ-MbDK.js +0 -1
  56. package/dist/web/assets/SettingsModal-CPOy4DEJ.js +0 -1
  57. package/dist/web/assets/TrajectoryTab-BChapHNU.js +0 -1
  58. package/dist/web/assets/app-D95B_PAO.js +0 -3
  59. package/dist/web/assets/index-Bfl4EFzp.js +0 -74
  60. package/dist/web/assets/index-DtwMJ910.css +0 -1
  61. package/dist/web/assets/settings-DTaiQjCk.css +0 -1
  62. package/dist/web/assets/settings.module-DoTtRfeo.js +0 -1
  63. package/dist/web/assets/view-BKUCEmox.js +0 -1
  64. package/dist/web/assets/view-chgkTSYd.js +0 -1
  65. /package/dist/web/assets/{ArtifactPanel-Cfi5Lgi8.css → TextPreview-Cfi5Lgi8.css} +0 -0
@@ -1 +1 @@
1
- import{a as e,b as t,y as n}from"./i18n-BZax1Psk.js";import{ft as r,k as i,y as a}from"./app-D95B_PAO.js";import{t as o}from"./jsxRuntime-C-CM9h-f.js";import{t as s}from"./settings.module-DoTtRfeo.js";var c=e=>e instanceof Error?e.message:String(e);function l(){let e=i.value;if(e)return{id:e.workspaceId,path:e.workspace};let t=r.value.workspaces[0];return t?{id:t.id,path:t.path}:void 0}function u(e,r,i=[]){let[o,s]=n({loading:!!e}),[l,u]=n(0),d=i.map(e=>a.value[e]??0).join(`,`);return t(()=>{if(!e){s({loading:!1});return}let t=!0;return s(e=>({...e,loading:!0})),e().then(e=>t&&s({data:e,loading:!1}),e=>t&&s({error:c(e),loading:!1})),()=>{t=!1}},[...r,d,l]),{...o,reload:()=>u(e=>e+1),set:e=>s({data:e,loading:!1})}}function d(e){return o(`button`,{type:`button`,role:`switch`,class:s.switch,"aria-checked":e.checked,"aria-label":e.label,"aria-busy":e.busy||void 0,disabled:e.disabled||e.busy,onClick:()=>e.onChange(!e.checked),children:o(`span`,{class:s.knob})})}function f(e){return o(`span`,{class:s.pill,"data-tone":e.tone,children:[e.tone===`ok`?o(`span`,{class:s.pillDot,"aria-hidden":`true`}):null,e.children]})}function p(e){return o(`fieldset`,{class:s.fieldset,children:[o(`legend`,{class:s.legend,children:e.legend}),o(`div`,{class:s.choices,children:e.options.map(t=>o(`label`,{class:s.choice,children:[o(`input`,{type:`radio`,name:e.legend,checked:e.value===t.id,onChange:()=>e.onChange(t.id)}),o(`span`,{children:t.label})]},t.id))})]})}function m(t){return t.error?o(`p`,{class:s.errorText,role:`alert`,children:t.error}):t.loading?o(`p`,{class:s.note,children:e(`common.loading`)}):t.empty?o(`p`,{class:s.note,children:e(t.empty)}):null}function h(t){return o(`header`,{class:s.intro,children:[o(`h3`,{class:s.pageTitle,children:t.title}),t.body?o(`p`,{class:s.lead,children:t.body}):null,t.workspace?o(`p`,{class:s.scope,title:t.workspace,children:e(`settings.workspace`,{path:t.workspace})}):null]})}function g(e){return o(`label`,{class:s.search,children:[o(`svg`,{width:`17`,height:`17`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:o(`path`,{d:`M11 18a7 7 0 1 0 0-14 7 7 0 0 0 0 14ZM20 20l-4-4`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`})}),o(`input`,{type:`search`,placeholder:e.label,"aria-label":e.label,value:e.value,onInput:t=>e.onInput(t.target.value)})]})}export{m as a,l as c,g as i,u as l,h as n,d as o,f as r,c as s,p as t};
1
+ import{a as e,b as t,y as n}from"./i18n-BGlOHOa5.js";import{k as r,pt as i,y as a}from"./app-B_dNXnFa.js";import{t as o}from"./jsxRuntime-CU76aMLO.js";import{t as s}from"./settings.module-BClxMWCR.js";var c=e=>e instanceof Error?e.message:String(e);function l(){let e=r.value;if(e)return{id:e.workspaceId,path:e.workspace};let t=i.value.workspaces[0];return t?{id:t.id,path:t.path}:void 0}function u(e,r,i=[]){let[o,s]=n({loading:!!e}),[l,u]=n(0),d=i.map(e=>a.value[e]??0).join(`,`);return t(()=>{if(!e){s({loading:!1});return}let t=!0;return s(e=>({...e,loading:!0})),e().then(e=>t&&s({data:e,loading:!1}),e=>t&&s({error:c(e),loading:!1})),()=>{t=!1}},[...r,d,l]),{...o,reload:()=>u(e=>e+1),set:e=>s({data:e,loading:!1})}}function d(e){return o(`button`,{type:`button`,role:`switch`,class:s.switch,"aria-checked":e.checked,"aria-label":e.label,"aria-busy":e.busy||void 0,disabled:e.disabled||e.busy,onClick:()=>e.onChange(!e.checked),children:o(`span`,{class:s.knob})})}function f(e){return o(`span`,{class:s.pill,"data-tone":e.tone,children:[e.tone===`ok`?o(`span`,{class:s.pillDot,"aria-hidden":`true`}):null,e.children]})}function p(e){return o(`fieldset`,{class:s.fieldset,children:[o(`legend`,{class:s.legend,children:e.legend}),o(`div`,{class:s.choices,children:e.options.map(t=>o(`label`,{class:s.choice,children:[o(`input`,{type:`radio`,name:e.legend,checked:e.value===t.id,onChange:()=>e.onChange(t.id)}),o(`span`,{children:t.label})]},t.id))})]})}function m(t){return t.error?o(`p`,{class:s.errorText,role:`alert`,children:t.error}):t.loading?o(`p`,{class:s.note,children:e(`common.loading`)}):t.empty?o(`p`,{class:s.note,children:e(t.empty)}):null}function h(t){return o(`header`,{class:s.intro,children:[o(`h3`,{class:s.pageTitle,children:t.title}),t.body?o(`p`,{class:s.lead,children:t.body}):null,t.workspace?o(`p`,{class:s.scope,title:t.workspace,children:e(`settings.workspace`,{path:t.workspace})}):null]})}function g(e){return o(`label`,{class:s.search,children:[o(`svg`,{width:`17`,height:`17`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:o(`path`,{d:`M11 18a7 7 0 1 0 0-14 7 7 0 0 0 0 14ZM20 20l-4-4`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`})}),o(`input`,{type:`search`,placeholder:e.label,"aria-label":e.label,value:e.value,onInput:t=>e.onInput(t.target.value)})]})}export{m as a,l as c,g as i,u as l,h as n,d as o,f as r,c as s,p as t};
@@ -1 +1 @@
1
- import{o as e,r as t}from"./i18n-BZax1Psk.js";var n={label:`Plan viewer`,loading:`Loading the plan…`,loadFailed:`The plan could not be loaded.`,retry:`Try again`,revision:`Revision {n}`,nav:`Plan sections`,"part.summary":`Summary`,"part.goals":`Main goals`,"part.stages":`Implementation stages`,"part.diagrams":`Diagrams`,"part.components":`Components and relationships`,"part.considerations":`Decisions and considerations`,"part.plan":`Full plan`,"kind.decision":`Decision`,"kind.risk":`Risk`,"kind.verification":`Verification`,stage:`Stage {n}`,planSection:`Plan section: {name}`,goToSection:`Go to the plan section “{name}”`,diagramsFor:`Diagrams for this section`,goToDiagram:`Go to the diagram “{name}”`,badgeNew:`New in revision {n}`,badgeUpdated:`Updated in revision {n}`,removed:`Removed in revision {n}: {names}`,diagramFailed:`This diagram could not be read: {error}`,noManifest:`This plan folder has no usable plan.json, so the viewer shows the plan text and the diagram files it found.`,type_overview:`Overview`,type_flow:`Flow`,type_components:`Components`,type_architecture:`Architecture`,type_sequence:`Sequence`,type_data:`Data`,type_state:`States`,type_other:`Diagram`,nodiagrams:`This plan has no diagrams.`,empty:`The plan has no text.`,diagramCount:`{n} diagrams`,diagramCountOne:`1 diagram`,openViewer:`Open plan viewer`},r={label:`Visor del plan`,loading:`Cargando el plan…`,loadFailed:`No se pudo cargar el plan.`,retry:`Reintentar`,revision:`Revisión {n}`,nav:`Secciones del plan`,"part.summary":`Resumen`,"part.goals":`Objetivos principales`,"part.stages":`Etapas de implementación`,"part.diagrams":`Diagramas`,"part.components":`Componentes y relaciones`,"part.considerations":`Decisiones y consideraciones`,"part.plan":`Plan completo`,"kind.decision":`Decisión`,"kind.risk":`Riesgo`,"kind.verification":`Verificación`,stage:`Etapa {n}`,planSection:`Sección del plan: {name}`,goToSection:`Ir a la sección del plan «{name}»`,diagramsFor:`Diagramas de esta sección`,goToDiagram:`Ir al diagrama «{name}»`,badgeNew:`Nuevo en la revisión {n}`,badgeUpdated:`Actualizado en la revisión {n}`,removed:`Quitados en la revisión {n}: {names}`,diagramFailed:`No se pudo leer este diagrama: {error}`,noManifest:`Esta carpeta del plan no tiene un plan.json utilizable, así que el visor muestra el texto del plan y los archivos de diagrama que encontró.`,type_overview:`Visión general`,type_flow:`Flujo`,type_components:`Componentes`,type_architecture:`Arquitectura`,type_sequence:`Secuencia`,type_data:`Datos`,type_state:`Estados`,type_other:`Diagrama`,nodiagrams:`Este plan no tiene diagramas.`,empty:`El plan no tiene texto.`,diagramCount:`{n} diagramas`,diagramCountOne:`1 diagrama`,openViewer:`Abrir el visor del plan`},i=(i,a)=>e((t.value===`es`?r:n)[i]??n[i],a),a=e=>e===1?i(`diagramCountOne`):i(`diagramCount`,{n:e});export{i as n,a as t};
1
+ import{o as e,r as t}from"./i18n-BGlOHOa5.js";var n={label:`Plan viewer`,loading:`Loading the plan…`,loadFailed:`The plan could not be loaded.`,retry:`Try again`,revision:`Revision {n}`,nav:`Plan sections`,"part.summary":`Summary`,"part.goals":`Main goals`,"part.stages":`Implementation stages`,"part.diagrams":`Diagrams`,"part.components":`Components and relationships`,"part.considerations":`Decisions and considerations`,"part.plan":`Full plan`,"kind.decision":`Decision`,"kind.risk":`Risk`,"kind.verification":`Verification`,stage:`Stage {n}`,planSection:`Plan section: {name}`,goToSection:`Go to the plan section “{name}”`,diagramsFor:`Diagrams for this section`,goToDiagram:`Go to the diagram “{name}”`,badgeNew:`New in revision {n}`,badgeUpdated:`Updated in revision {n}`,removed:`Removed in revision {n}: {names}`,diagramFailed:`This diagram could not be read: {error}`,noManifest:`This plan folder has no usable plan.json, so the viewer shows the plan text and the diagram files it found.`,type_overview:`Overview`,type_flow:`Flow`,type_components:`Components`,type_architecture:`Architecture`,type_sequence:`Sequence`,type_data:`Data`,type_state:`States`,type_other:`Diagram`,nodiagrams:`This plan has no diagrams.`,empty:`The plan has no text.`,diagramCount:`{n} diagrams`,diagramCountOne:`1 diagram`,openViewer:`Open plan viewer`},r={label:`Visor del plan`,loading:`Cargando el plan…`,loadFailed:`No se pudo cargar el plan.`,retry:`Reintentar`,revision:`Revisión {n}`,nav:`Secciones del plan`,"part.summary":`Resumen`,"part.goals":`Objetivos principales`,"part.stages":`Etapas de implementación`,"part.diagrams":`Diagramas`,"part.components":`Componentes y relaciones`,"part.considerations":`Decisiones y consideraciones`,"part.plan":`Plan completo`,"kind.decision":`Decisión`,"kind.risk":`Riesgo`,"kind.verification":`Verificación`,stage:`Etapa {n}`,planSection:`Sección del plan: {name}`,goToSection:`Ir a la sección del plan «{name}»`,diagramsFor:`Diagramas de esta sección`,goToDiagram:`Ir al diagrama «{name}»`,badgeNew:`Nuevo en la revisión {n}`,badgeUpdated:`Actualizado en la revisión {n}`,removed:`Quitados en la revisión {n}: {names}`,diagramFailed:`No se pudo leer este diagrama: {error}`,noManifest:`Esta carpeta del plan no tiene un plan.json utilizable, así que el visor muestra el texto del plan y los archivos de diagrama que encontró.`,type_overview:`Visión general`,type_flow:`Flujo`,type_components:`Componentes`,type_architecture:`Arquitectura`,type_sequence:`Secuencia`,type_data:`Datos`,type_state:`Estados`,type_other:`Diagrama`,nodiagrams:`Este plan no tiene diagramas.`,empty:`El plan no tiene texto.`,diagramCount:`{n} diagramas`,diagramCountOne:`1 diagrama`,openViewer:`Abrir el visor del plan`},i=(i,a)=>e((t.value===`es`?r:n)[i]??n[i],a),a=e=>e===1?i(`diagramCountOne`):i(`diagramCount`,{n:e});export{i as n,a as t};
@@ -1 +1 @@
1
- import{h as e,o as t,r as n}from"./i18n-BZax1Psk.js";import{E as r,d as i,dt as a,qt as o}from"./app-D95B_PAO.js";var s={title:`Background tasks`,lead:`Commands the agent started with bg_run, and your subagents. They end when Alisio exits.`,empty:`No background tasks in this session yet.`,loading:`Loading…`,loadFailed:`Couldn't load the tasks.`,retry:`Retry`,back:`Back to tasks`,stop:`Stop`,stopping:`Stopping…`,stopFailed:`Couldn't stop the task: {error}`,"status.queued":`Queued`,"status.running":`Running`,"status.stopping":`Stopping`,"status.succeeded":`Succeeded`,"status.failed":`Failed`,"status.cancelled":`Stopped`,"status.lost":`Lost`,"kind.shell":`Command`,"kind.subagent":`Subagent`,command:`Command`,directory:`Directory`,time:`Duration`,exit:`Exit code {code}`,timeout:`Stopped by the time limit`,stoppedBy:`Stopped by {who}`,"who.user":`you`,"who.model":`the agent`,"who.timeout":`the time limit`,"who.shutdown":`Alisio shutting down`,lostHint:`Alisio was closed while this task ran: it did not survive the restart.`,subagentHint:`Subagents are managed from the agents panel; this view only shows their status.`,noOutput:`No output yet.`,outputCut:`The stored log was cut at its size limit.`,outputTrimmed:`Earlier output is not shown here.`,finished:`Task “{label}” finished: {status}`,bytes:`{size} KB`},c={en:s,es:{title:`Tareas en segundo plano`,lead:`Comandos que el agente inició con bg_run, y tus subagentes. Terminan cuando Alisio se cierra.`,empty:`Todavía no hay tareas en segundo plano en esta sesión.`,loading:`Cargando…`,loadFailed:`No se pudieron cargar las tareas.`,retry:`Reintentar`,back:`Volver a las tareas`,stop:`Detener`,stopping:`Deteniendo…`,stopFailed:`No se pudo detener la tarea: {error}`,"status.queued":`En cola`,"status.running":`En ejecución`,"status.stopping":`Deteniéndose`,"status.succeeded":`Completada`,"status.failed":`Fallida`,"status.cancelled":`Detenida`,"status.lost":`Perdida`,"kind.shell":`Comando`,"kind.subagent":`Subagente`,command:`Comando`,directory:`Directorio`,time:`Duración`,exit:`Código de salida {code}`,timeout:`Detenida por el límite de tiempo`,stoppedBy:`Detenida por {who}`,"who.user":`ti`,"who.model":`el agente`,"who.timeout":`el límite de tiempo`,"who.shutdown":`el cierre de Alisio`,lostHint:`Alisio se cerró mientras esta tarea corría: no sobrevivió al reinicio.`,subagentHint:`Los subagentes se gestionan desde el panel de agentes; esta vista solo muestra su estado.`,noOutput:`Aún no hay salida.`,outputCut:`El registro guardado se cortó en su límite de tamaño.`,outputTrimmed:`La salida anterior no se muestra aquí.`,finished:`La tarea «{label}» terminó: {status}`,bytes:`{size} KB`}},l=(e,r)=>t(c[n.value][e]??s[e],r),u=new Set([`queued`,`running`,`stopping`]),d=e=>u.has(e.status),f=2e5,p=1e3,m=4e3;function h(e,t){return(e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?t:e):[t,...e]).sort((e,t)=>t.createdAt-e.createdAt||(e.id<t.id?1:-1))}var g=e=>e.filter(d).length;function _(e,t,n=f){let r=e+t;return r.length>n?{text:r.slice(r.length-n),trimmed:!0}:{text:r,trimmed:!1}}function v(e,t){return!e||!d(e)||d(t)||t.status!==`succeeded`&&t.status!==`failed`?!1:t.abortOrigin===void 0||t.abortOrigin===`timeout`}var y=e({items:[],loading:!1}),b=e(void 0),x=e(void 0),S=e(new Set),C,w=0;function T(e,t){y.value={sessionId:e,items:t,loading:!1},o.value=g(t)}async function E(e){y.peek().sessionId===e?y.value={...y.peek(),loading:!0}:(O(),b.value=void 0,x.value=void 0,y.value={sessionId:e,items:[],loading:!0});try{let{tasks:t}=await i.tasks(e);if(r.value!==e)return;T(e,t)}catch{r.value===e&&(y.value={...y.peek(),loading:!1,error:!0})}}function D(e,t){if(e!==r.value)return;let n=y.peek();if(n.sessionId!==e){E(e);return}let i=n.items.find(e=>e.id===t.id);T(e,h(n.items,t)),v(i,t)&&a(l(`finished`,{label:t.label,status:l(`status.${t.status}`)})),b.peek()===t.id&&k(e,t.id,w)}function O(){w++,C&&clearTimeout(C),C=void 0}async function k(e,t,n){if(n!==w)return;C&&clearTimeout(C),C=void 0;let r=x.peek();if(r&&r.taskId===t)try{let a=await i.taskOutput(e,t,r.offset);if(n!==w)return;let o=x.peek();if(!o||o.taskId!==t)return;let s=_(o.text,a.text);if(x.value={...o,text:s.text,offset:a.nextOffset,eof:a.eof,trimmed:o.trimmed||s.trimmed,loading:!1},a.eof)return;C=setTimeout(()=>void k(e,t,n),a.text?100:typeof document<`u`&&document.hidden?m:p)}catch(e){if(n!==w)return;let r=x.peek();r?.taskId===t&&(x.value={...r,loading:!1,error:e instanceof Error?e.message:String(e)})}}function A(e){O(),b.value=e;let t=y.peek().sessionId,n=y.peek().items.find(t=>t.id===e);if(!e||!t||!n||n.kind!==`shell`){x.value=void 0;return}x.value={taskId:e,text:``,offset:0,eof:!1,trimmed:!1,loading:!0},k(t,e,w)}function j(){O()}async function M(e){let t=y.peek().sessionId;if(t&&!S.peek().has(e)){S.value=new Set(S.peek()).add(e);try{let{task:n}=await i.stopTask(t,e),r=y.peek();r.sessionId===t&&T(t,h(r.items,n)),b.peek()===e&&k(t,e,w)}catch(e){a(l(`stopFailed`,{error:e instanceof Error?e.message:String(e)}))}finally{let t=new Set(S.peek());t.delete(e),S.value=t}}}export{d as isLiveTask,j as leaveTasks,E as loadTasks,x as outputState,D as receiveTask,A as selectTask,b as selectedTask,M as stopTask,S as stopping,l as t,y as tasksState};
1
+ import{h as e,o as t,r as n}from"./i18n-BGlOHOa5.js";import{E as r,Jt as i,d as a,ft as o}from"./app-B_dNXnFa.js";var s={title:`Background tasks`,lead:`Commands the agent started with bg_run, and your subagents. They end when Alisio exits.`,empty:`No background tasks in this session yet.`,loading:`Loading…`,loadFailed:`Couldn't load the tasks.`,retry:`Retry`,back:`Back to tasks`,stop:`Stop`,stopping:`Stopping…`,stopFailed:`Couldn't stop the task: {error}`,"status.queued":`Queued`,"status.running":`Running`,"status.stopping":`Stopping`,"status.succeeded":`Succeeded`,"status.failed":`Failed`,"status.cancelled":`Stopped`,"status.lost":`Lost`,"kind.shell":`Command`,"kind.subagent":`Subagent`,command:`Command`,directory:`Directory`,time:`Duration`,exit:`Exit code {code}`,timeout:`Stopped by the time limit`,stoppedBy:`Stopped by {who}`,"who.user":`you`,"who.model":`the agent`,"who.timeout":`the time limit`,"who.shutdown":`Alisio shutting down`,lostHint:`Alisio was closed while this task ran: it did not survive the restart.`,subagentHint:`Subagents are managed from the agents panel; this view only shows their status.`,noOutput:`No output yet.`,outputCut:`The stored log was cut at its size limit.`,outputTrimmed:`Earlier output is not shown here.`,finished:`Task “{label}” finished: {status}`,bytes:`{size} KB`},c={en:s,es:{title:`Tareas en segundo plano`,lead:`Comandos que el agente inició con bg_run, y tus subagentes. Terminan cuando Alisio se cierra.`,empty:`Todavía no hay tareas en segundo plano en esta sesión.`,loading:`Cargando…`,loadFailed:`No se pudieron cargar las tareas.`,retry:`Reintentar`,back:`Volver a las tareas`,stop:`Detener`,stopping:`Deteniendo…`,stopFailed:`No se pudo detener la tarea: {error}`,"status.queued":`En cola`,"status.running":`En ejecución`,"status.stopping":`Deteniéndose`,"status.succeeded":`Completada`,"status.failed":`Fallida`,"status.cancelled":`Detenida`,"status.lost":`Perdida`,"kind.shell":`Comando`,"kind.subagent":`Subagente`,command:`Comando`,directory:`Directorio`,time:`Duración`,exit:`Código de salida {code}`,timeout:`Detenida por el límite de tiempo`,stoppedBy:`Detenida por {who}`,"who.user":`ti`,"who.model":`el agente`,"who.timeout":`el límite de tiempo`,"who.shutdown":`el cierre de Alisio`,lostHint:`Alisio se cerró mientras esta tarea corría: no sobrevivió al reinicio.`,subagentHint:`Los subagentes se gestionan desde el panel de agentes; esta vista solo muestra su estado.`,noOutput:`Aún no hay salida.`,outputCut:`El registro guardado se cortó en su límite de tamaño.`,outputTrimmed:`La salida anterior no se muestra aquí.`,finished:`La tarea «{label}» terminó: {status}`,bytes:`{size} KB`}},l=(e,r)=>t(c[n.value][e]??s[e],r),u=new Set([`queued`,`running`,`stopping`]),d=e=>u.has(e.status),f=2e5,p=1e3,m=4e3;function h(e,t){return(e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?t:e):[t,...e]).sort((e,t)=>t.createdAt-e.createdAt||(e.id<t.id?1:-1))}var g=e=>e.filter(d).length;function _(e,t,n=f){let r=e+t;return r.length>n?{text:r.slice(r.length-n),trimmed:!0}:{text:r,trimmed:!1}}function v(e,t){return!e||!d(e)||d(t)||t.status!==`succeeded`&&t.status!==`failed`?!1:t.abortOrigin===void 0||t.abortOrigin===`timeout`}var y=e({items:[],loading:!1}),b=e(void 0),x=e(void 0),S=e(new Set),C,w=0;function T(e,t){y.value={sessionId:e,items:t,loading:!1},i.value=g(t)}async function E(e){y.peek().sessionId===e?y.value={...y.peek(),loading:!0}:(O(),b.value=void 0,x.value=void 0,y.value={sessionId:e,items:[],loading:!0});try{let{tasks:t}=await a.tasks(e);if(r.value!==e)return;T(e,t)}catch{r.value===e&&(y.value={...y.peek(),loading:!1,error:!0})}}function D(e,t){if(e!==r.value)return;let n=y.peek();if(n.sessionId!==e){E(e);return}let i=n.items.find(e=>e.id===t.id);T(e,h(n.items,t)),v(i,t)&&o(l(`finished`,{label:t.label,status:l(`status.${t.status}`)})),b.peek()===t.id&&k(e,t.id,w)}function O(){w++,C&&clearTimeout(C),C=void 0}async function k(e,t,n){if(n!==w)return;C&&clearTimeout(C),C=void 0;let r=x.peek();if(r&&r.taskId===t)try{let i=await a.taskOutput(e,t,r.offset);if(n!==w)return;let o=x.peek();if(!o||o.taskId!==t)return;let s=_(o.text,i.text);if(x.value={...o,text:s.text,offset:i.nextOffset,eof:i.eof,trimmed:o.trimmed||s.trimmed,loading:!1},i.eof)return;C=setTimeout(()=>void k(e,t,n),i.text?100:typeof document<`u`&&document.hidden?m:p)}catch(e){if(n!==w)return;let r=x.peek();r?.taskId===t&&(x.value={...r,loading:!1,error:e instanceof Error?e.message:String(e)})}}function A(e){O(),b.value=e;let t=y.peek().sessionId,n=y.peek().items.find(t=>t.id===e);if(!e||!t||!n||n.kind!==`shell`){x.value=void 0;return}x.value={taskId:e,text:``,offset:0,eof:!1,trimmed:!1,loading:!0},k(t,e,w)}function j(){O()}async function M(e){let t=y.peek().sessionId;if(t&&!S.peek().has(e)){S.value=new Set(S.peek()).add(e);try{let{task:n}=await a.stopTask(t,e),r=y.peek();r.sessionId===t&&T(t,h(r.items,n)),b.peek()===e&&k(t,e,w)}catch(e){o(l(`stopFailed`,{error:e instanceof Error?e.message:String(e)}))}finally{let t=new Set(S.peek());t.delete(e),S.value=t}}}export{d as isLiveTask,j as leaveTasks,E as loadTasks,x as outputState,D as receiveTask,A as selectTask,b as selectedTask,M as stopTask,S as stopping,l as t,y as tasksState};
@@ -1,4 +1,4 @@
1
- import{T as e,_ as t,a as n,y as r}from"./i18n-BZax1Psk.js";import{Zt as i}from"./app-D95B_PAO.js";import{t as a}from"./jsxRuntime-C-CM9h-f.js";import{t as o}from"./CopyButton-DsWaaJHr.js";var s={block:`_block_jmwvo_1`,bar:`_bar_jmwvo_10`,fileHead:`_fileHead_jmwvo_11`,title:`_title_jmwvo_20`,actions:`_actions_jmwvo_24`,action:`_action_jmwvo_24`,nav:`_nav_jmwvo_45`,file:`_file_jmwvo_11`,path:`_path_jmwvo_63`,status:`_status_jmwvo_77`,stat:`_stat_jmwvo_77`,plus:`_plus_jmwvo_101`,minus:`_minus_jmwvo_105`,scroll:`_scroll_jmwvo_109`,table:`_table_jmwvo_114`,no:`_no_jmwvo_126`,sign:`_sign_jmwvo_134`,code:`_code_jmwvo_140`,add:`_add_jmwvo_145`,del:`_del_jmwvo_149`,note:`_note_jmwvo_153`,empty:`_empty_jmwvo_160`,hunkRow:`_hunkRow_jmwvo_164`,hunkToggle:`_hunkToggle_jmwvo_169`,plainText:`_plainText_jmwvo_180`},c=/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@(.*)$/,l=e=>e.replace(/^[ab]\//,``).replace(/\t.*$/,``);function u(e,t=``){let n=[],r,i,a=0,o=0,s=0,u=0,d,f=()=>{let e={path:t,status:`modified`,hunks:[],added:0,removed:0};return n.push(e),i=void 0,e};for(let t of e.replace(/\r\n/g,`
1
+ import{T as e,_ as t,a as n,y as r}from"./i18n-BGlOHOa5.js";import{Qt as i}from"./app-B_dNXnFa.js";import{t as a}from"./jsxRuntime-CU76aMLO.js";import{t as o}from"./CopyButton-CMHaee_H.js";var s={block:`_block_jmwvo_1`,bar:`_bar_jmwvo_10`,fileHead:`_fileHead_jmwvo_11`,title:`_title_jmwvo_20`,actions:`_actions_jmwvo_24`,action:`_action_jmwvo_24`,nav:`_nav_jmwvo_45`,file:`_file_jmwvo_11`,path:`_path_jmwvo_63`,status:`_status_jmwvo_77`,stat:`_stat_jmwvo_77`,plus:`_plus_jmwvo_101`,minus:`_minus_jmwvo_105`,scroll:`_scroll_jmwvo_109`,table:`_table_jmwvo_114`,no:`_no_jmwvo_126`,sign:`_sign_jmwvo_134`,code:`_code_jmwvo_140`,add:`_add_jmwvo_145`,del:`_del_jmwvo_149`,note:`_note_jmwvo_153`,empty:`_empty_jmwvo_160`,hunkRow:`_hunkRow_jmwvo_164`,hunkToggle:`_hunkToggle_jmwvo_169`,plainText:`_plainText_jmwvo_180`},c=/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@(.*)$/,l=e=>e.replace(/^[ab]\//,``).replace(/\t.*$/,``);function u(e,t=``){let n=[],r,i,a=0,o=0,s=0,u=0,d,f=()=>{let e={path:t,status:`modified`,hunks:[],added:0,removed:0};return n.push(e),i=void 0,e};for(let t of e.replace(/\r\n/g,`
2
2
  `).split(`
3
3
  `)){if(i&&r&&(s>0||u>0)){let e=t[0],n=t.slice(1);if(e===`+`){i.lines.push({type:`add`,text:n,newNo:o++}),r.added++,u--;continue}if(e===`-`){i.lines.push({type:`del`,text:n,oldNo:a++}),r.removed++,s--;continue}if(e===` `||t===``){i.lines.push({type:`ctx`,text:n,oldNo:a++,newNo:o++}),s--,u--;continue}if(e===`\\`){i.lines.push({type:`note`,text:t.slice(2)});continue}s=u=0}if(i&&t.startsWith(`\\`)){i.lines.push({type:`note`,text:t.slice(2)});continue}if(t.startsWith(`diff --git `)){r=f();let e=/ b\/(.+)$/.exec(t);e?.[1]&&(r.path=e[1]),d=void 0;continue}if(t.startsWith(`--- `)){(!r||r.hunks.length)&&(r=f()),d=t.slice(4).trim();continue}if(t.startsWith(`+++ `)&&r&&d!==void 0){let e=t.slice(4).trim();d===`/dev/null`&&(r.status=`added`),e===`/dev/null`?(r.status=`deleted`,r.path=l(d)):(r.path=l(e),d!==`/dev/null`&&l(d)!==r.path&&(r.status=`renamed`)),d=void 0;continue}let e=c.exec(t);if(e){r??=f(),a=Number(e[1]),s=e[2]===void 0?1:Number(e[2]),o=Number(e[3]),u=e[4]===void 0?1:Number(e[4]),i={header:t,lines:[]},r.hunks.push(i);continue}i=void 0,r&&/^(new|deleted) file mode/.test(t)?r.status=t.startsWith(`new`)?`added`:`deleted`:r&&/^Binary files .* differ$/.test(t)&&(r.binary=!0)}return n}function d(e,t,n){let r=e.length,i=t.length;if(!r)return t.map(()=>2);if(!i)return e.map(()=>1);let a=r+i,o=a+1,s=new Int32Array(2*a+3),c=[];for(let l=0;l<=Math.min(a,n);l++){c.push(s.slice(o-l-1,o+l+2));for(let n=-l;n<=l;n+=2){let a=n===-l||n!==l&&s[o+n-1]<s[o+n+1]?s[o+n+1]:s[o+n-1]+1,u=a-n;for(;a<r&&u<i&&e[a]===t[u];)a++,u++;if(s[o+n]=a,a>=r&&u>=i)return f(c,r,i)}}}function f(e,t,n){let r=[],i=t,a=n;for(let t=e.length-1;t>0;t--){let n=e[t],o=e=>n[e+t+1],s=i-a,c=s===-t||s!==t&&o(s-1)<o(s+1)?s+1:s-1,l=o(c),u=l-c;for(;i>l&&a>u;)r.push(0),i--,a--;r.push(i===l?2:1),i=l,a=u}for(;i>0&&a>0;)r.push(0),i--,a--;return r.reverse()}function p(e,t,n=2e3){let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];)r++;let i=e.length,a=t.length;for(;i>r&&a>r&&e[i-1]===t[a-1];)i--,a--;let o=e.slice(r,i),s=t.slice(r,a),c=d(o,s,n)??[...o.map(()=>1),...s.map(()=>2)];return[...Array(r).fill(0),...c,...Array(e.length-i).fill(0)]}var m=e=>{if(!e)return[];let t=e.replace(/\r\n/g,`
4
4
  `).split(`
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsxRuntime-CU76aMLO.js";import{T as t,x as n}from"./index-CcgO2jIy.js";function r({block:n}){return e(`div`,{class:t.scroll,children:[n.caption?e(`p`,{class:t.caption,children:n.caption}):null,e(`table`,{class:t.table,children:[e(`thead`,{children:e(`tr`,{children:n.columns.map(t=>e(`th`,{scope:`col`,children:t},t))})}),e(`tbody`,{children:n.rows.map((t,n)=>e(`tr`,{children:t.map((t,n)=>e(`td`,{children:t},n))},n))})]})]})}function i({block:n}){return e(`div`,{class:t.scroll,children:[n.caption?e(`p`,{class:t.caption,children:n.caption}):null,e(`table`,{class:t.table,children:e(`tbody`,{children:n.entries.map(([t,n],r)=>e(`tr`,{children:[e(`th`,{scope:`row`,children:t}),e(`td`,{children:n})]},r))})})]})}function a({nodes:n}){return e(`ul`,{class:t.tree,children:n.map((n,r)=>e(`li`,{children:[n.label,n.meta?e(`span`,{class:t.meta,children:n.meta}):null,n.children?.length?e(a,{nodes:n.children}):null]},r))})}var o={table:r,"key-value":i,tree:({block:t})=>e(a,{nodes:t.nodes}),markdown:({block:t})=>e(n,{text:t.text})};export{o as views};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsxRuntime-CU76aMLO.js";import{c as t}from"./index-CcgO2jIy.js";function n({block:n}){return n.kind===`artifact`?e(t,{artifact:n.artifact,compact:!0}):null}export{n as default};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/engine--BEjnAq8.js","assets/preload-helper-B3nfOi5I.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-B6xuSHsQ.js","assets/rolldown-runtime-hePW80VL.js","assets/chunk-DU6HZSFF-CMLEkaIG.js","assets/purify.es--06brOip.js","assets/chunk-75Z2AOVW-Chht6Xhu.js","assets/dist-v5Q1xZ2K.js","assets/chunk-PWAF6VOD-yOR4r5Wg.js","assets/chunk-GMAD6QVW-Df-qsmXX.js","assets/chunk-P2QGCYS3-T_PO2L1c.js","assets/chunk-4HAMMTFA-390Mn_il.js","assets/rough.esm-Dy-Kn_BL.js","assets/chunk-GVQU2GXP-7PgapOOA.js","assets/chunk-OSK3NFVY-B1GP22y4.js","assets/line-5g6gTA1Q.js","assets/path-fybaL0A-.js","assets/array-BifhSqXX.js","assets/graphlib-DS17s2tU.js","assets/chunk-L3NEJ4N5-3E0ssqUP.js"])))=>i.map(i=>d[i]);
2
- import{T as e,a as t,b as n,g as r,y as i}from"./i18n-BZax1Psk.js";import{t as a}from"./preload-helper-B3nfOi5I.js";import{t as o}from"./jsxRuntime-C-CM9h-f.js";import{t as s}from"./icons-nQx96NOf.js";import{t as c}from"./CopyButton-DsWaaJHr.js";import{t as l}from"./visible-DLChI0F-.js";import{p as u}from"./index-Bfl4EFzp.js";var d={block:`_block_1smqo_1`,header:`_header_1smqo_9`,label:`_label_1smqo_21`,actions:`_actions_1smqo_28`,action:`_action_1smqo_28`,viewport:`_viewport_1smqo_58`,canvas:`_canvas_1smqo_64`,source:`_source_1smqo_75`,error:`_error_1smqo_87`,overlay:`_overlay_1smqo_96`,overlayBody:`_overlayBody_1smqo_106`,overlayClose:`_overlayClose_1smqo_115`},f=[.5,.75,1,1.25,1.5,2,3];function p(e,t){let n=URL.createObjectURL(new Blob([e],{type:`image/svg+xml`})),r=document.createElement(`a`);r.href=n,r.download=`${t}.svg`,r.click(),setTimeout(()=>URL.revokeObjectURL(n),1e3)}function m(e){return o(`div`,{class:d.canvas,style:{width:`${e.zoom*100}%`},dangerouslySetInnerHTML:{__html:e.svg}})}function h(h){let g=h.block.kind===`mermaid`?h.block.source:``,_=h.block.kind===`mermaid`?h.block.title:void 0,v=r(null),[y,b]=i(),[x,S]=i(!1),[C,w]=i(2),[T,E]=i(!1),D=r(null),O=u.value;n(()=>{if(b(void 0),h.live||!v.current||!g.trim())return;let e=!1,t=l(v.current,()=>{a(()=>import(`./engine--BEjnAq8.js`).then(e=>e.render(g,O,h.themed)),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])).catch(e=>({error:e instanceof Error?e.message:String(e)})).then(t=>{e||b(t)})});return()=>{e=!0,t()}},[g,O,h.live,h.themed]),n(()=>{if(!T)return;D.current?.focus();let e=e=>{e.key===`Escape`&&E(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[T]);let k=y&&`svg`in y?y.svg:void 0,A=y&&`error`in y?y.error:void 0,j=f[C]??1,M=o(`pre`,{class:d.source,children:g});return o(`figure`,{class:d.block,ref:v,children:[o(`figcaption`,{class:d.header,children:[o(`span`,{class:d.label,children:_??`mermaid`}),o(`span`,{class:d.actions,children:[k?o(e,{children:[o(`button`,{type:`button`,class:d.action,"aria-pressed":x,onClick:()=>S(!x),children:t(x?`mermaid.diagram`:`mermaid.source`)}),o(`button`,{type:`button`,class:d.action,"aria-label":t(`mermaid.zoomOut`),title:t(`mermaid.zoomOut`),disabled:C===0,onClick:()=>w(Math.max(0,C-1)),children:`−`}),o(`button`,{type:`button`,class:d.action,title:t(`mermaid.zoomReset`),onClick:()=>w(2),children:[Math.round(j*100),`%`]}),o(`button`,{type:`button`,class:d.action,"aria-label":t(`mermaid.zoomIn`),title:t(`mermaid.zoomIn`),disabled:C===f.length-1,onClick:()=>w(Math.min(f.length-1,C+1)),children:`+`}),o(`button`,{type:`button`,class:d.action,onClick:()=>p(k,_?.replace(/[^\w-]+/g,`-`)||`diagram`),children:t(`mermaid.export`)}),o(`button`,{type:`button`,class:d.action,"aria-label":t(`mermaid.fullscreen`),title:t(`mermaid.fullscreen`),onClick:()=>E(!0),children:o(s,{name:`expand`,size:14})})]}):null,o(c,{text:()=>g,class:d.action,showText:!0})]})]}),A?o(`div`,{role:`note`,children:[o(`p`,{class:d.error,children:t(`mermaid.error`,{message:A})}),M]}):k&&!x?o(`div`,{class:d.viewport,tabIndex:0,children:o(m,{svg:k,zoom:j})}):M,T&&k?o(`div`,{class:d.overlay,role:`dialog`,"aria-modal":`true`,"aria-label":_??t(`mermaid.diagram`),onMouseDown:e=>{e.target===e.currentTarget&&E(!1)},children:[o(`button`,{type:`button`,ref:D,class:`icon-btn ${d.overlayClose}`,"aria-label":t(`common.close`),onClick:()=>E(!1),children:o(s,{name:`x`,size:18})}),o(`div`,{class:d.overlayBody,children:o(m,{svg:k,zoom:1})})]}):null]})}export{h as default};
2
+ import{T as e,a as t,b as n,g as r,y as i}from"./i18n-BGlOHOa5.js";import{t as a}from"./preload-helper-B3nfOi5I.js";import{t as o}from"./jsxRuntime-CU76aMLO.js";import{t as s}from"./icons-BWy-tv8u.js";import{t as c}from"./CopyButton-CMHaee_H.js";import{t as l}from"./visible-DLChI0F-.js";import{m as u}from"./index-CcgO2jIy.js";var d={block:`_block_1smqo_1`,header:`_header_1smqo_9`,label:`_label_1smqo_21`,actions:`_actions_1smqo_28`,action:`_action_1smqo_28`,viewport:`_viewport_1smqo_58`,canvas:`_canvas_1smqo_64`,source:`_source_1smqo_75`,error:`_error_1smqo_87`,overlay:`_overlay_1smqo_96`,overlayBody:`_overlayBody_1smqo_106`,overlayClose:`_overlayClose_1smqo_115`},f=[.5,.75,1,1.25,1.5,2,3];function p(e,t){let n=URL.createObjectURL(new Blob([e],{type:`image/svg+xml`})),r=document.createElement(`a`);r.href=n,r.download=`${t}.svg`,r.click(),setTimeout(()=>URL.revokeObjectURL(n),1e3)}function m(e){return o(`div`,{class:d.canvas,style:{width:`${e.zoom*100}%`},dangerouslySetInnerHTML:{__html:e.svg}})}function h(h){let g=h.block.kind===`mermaid`?h.block.source:``,_=h.block.kind===`mermaid`?h.block.title:void 0,v=r(null),[y,b]=i(),[x,S]=i(!1),[C,w]=i(2),[T,E]=i(!1),D=r(null),O=u.value;n(()=>{if(b(void 0),h.live||!v.current||!g.trim())return;let e=!1,t=l(v.current,()=>{a(()=>import(`./engine--BEjnAq8.js`).then(e=>e.render(g,O,h.themed)),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])).catch(e=>({error:e instanceof Error?e.message:String(e)})).then(t=>{e||b(t)})});return()=>{e=!0,t()}},[g,O,h.live,h.themed]),n(()=>{if(!T)return;D.current?.focus();let e=e=>{e.key===`Escape`&&E(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[T]);let k=y&&`svg`in y?y.svg:void 0,A=y&&`error`in y?y.error:void 0,j=f[C]??1,M=o(`pre`,{class:d.source,children:g});return o(`figure`,{class:d.block,ref:v,children:[o(`figcaption`,{class:d.header,children:[o(`span`,{class:d.label,children:_??`mermaid`}),o(`span`,{class:d.actions,children:[k?o(e,{children:[o(`button`,{type:`button`,class:d.action,"aria-pressed":x,onClick:()=>S(!x),children:t(x?`mermaid.diagram`:`mermaid.source`)}),o(`button`,{type:`button`,class:d.action,"aria-label":t(`mermaid.zoomOut`),title:t(`mermaid.zoomOut`),disabled:C===0,onClick:()=>w(Math.max(0,C-1)),children:`−`}),o(`button`,{type:`button`,class:d.action,title:t(`mermaid.zoomReset`),onClick:()=>w(2),children:[Math.round(j*100),`%`]}),o(`button`,{type:`button`,class:d.action,"aria-label":t(`mermaid.zoomIn`),title:t(`mermaid.zoomIn`),disabled:C===f.length-1,onClick:()=>w(Math.min(f.length-1,C+1)),children:`+`}),o(`button`,{type:`button`,class:d.action,onClick:()=>p(k,_?.replace(/[^\w-]+/g,`-`)||`diagram`),children:t(`mermaid.export`)}),o(`button`,{type:`button`,class:d.action,"aria-label":t(`mermaid.fullscreen`),title:t(`mermaid.fullscreen`),onClick:()=>E(!0),children:o(s,{name:`expand`,size:14})})]}):null,o(c,{text:()=>g,class:d.action,showText:!0})]})]}),A?o(`div`,{role:`note`,children:[o(`p`,{class:d.error,children:t(`mermaid.error`,{message:A})}),M]}):k&&!x?o(`div`,{class:d.viewport,tabIndex:0,children:o(m,{svg:k,zoom:j})}):M,T&&k?o(`div`,{class:d.overlay,role:`dialog`,"aria-modal":`true`,"aria-label":_??t(`mermaid.diagram`),onMouseDown:e=>{e.target===e.currentTarget&&E(!1)},children:[o(`button`,{type:`button`,ref:D,class:`icon-btn ${d.overlayClose}`,"aria-label":t(`common.close`),onClick:()=>E(!1),children:o(s,{name:`x`,size:18})}),o(`div`,{class:d.overlayBody,children:o(m,{svg:k,zoom:1})})]}):null]})}export{h as default};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-hePW80VL.js";import{a as t,y as n}from"./i18n-BZax1Psk.js";import{t as r}from"./jsxRuntime-C-CM9h-f.js";import{t as i}from"./CopyButton-DsWaaJHr.js";import{C as a}from"./index-Bfl4EFzp.js";var o={block:`_block_gdsq8_1`,header:`_header_gdsq8_9`,tree:`_tree_gdsq8_18`,children:`_children_gdsq8_19`,row:`_row_gdsq8_37`,toggle:`_toggle_gdsq8_41`,key:`_key_gdsq8_53`,string:`_string_gdsq8_57`,number:`_number_gdsq8_61`,boolean:`_boolean_gdsq8_62`,null:`_null_gdsq8_66`,preview:`_preview_gdsq8_67`,more:`_more_gdsq8_68`,tools:`_tools_gdsq8_72`,tool:`_tool_gdsq8_72`},s=/^[A-Za-z_$][\w$]*$/;function c(e){return e.reduce((e,t)=>typeof t==`number`?`${e}[${t}]`:s.test(t)?`${e}.${t}`:`${e}[${JSON.stringify(t)}]`,`$`)}var l=e=>typeof e==`object`&&!!e;function u(e,t=1e3){if(!l(e))return{entries:[],more:0};let n=Array.isArray(e)?e.map((e,t)=>[t,e]):Object.entries(e);return{entries:n.slice(0,t),more:Math.max(0,n.length-t)}}var d=(e,t,n)=>`${e} ${e===1?t:n}`;function f(e,t=80){if(Array.isArray(e))return`[…] ${d(e.length,`item`,`items`)}`;if(l(e))return`{…} ${d(Object.keys(e).length,`key`,`keys`)}`;let n=e===void 0?`undefined`:JSON.stringify(e);return n.length>t?`${n.slice(0,t-1)}…`:n}var p=e({default:()=>g}),m=e=>typeof e==`string`?o.string:typeof e==`number`?o.number:typeof e==`boolean`?o.boolean:o.null;function h(e){let{value:a,path:s}=e,d=l(a),[p,g]=n(e.open>0),_=e.name===void 0?null:r(`span`,{class:o.key,children:[typeof e.name==`number`?e.name:JSON.stringify(e.name),`:`]}),v=r(`span`,{class:o.tools,children:[r(i,{text:()=>JSON.stringify(a,null,2)??`undefined`,class:o.tool,label:t(`json.copyValue`),showText:!0}),r(i,{text:()=>c(s),class:o.tool,label:t(`json.copyPath`),showText:!0})]});if(!d)return r(`li`,{class:o.row,children:[_,` `,r(`span`,{class:m(a),children:JSON.stringify(a)??`undefined`}),v]});let{entries:y,more:b}=p?u(a):{entries:[],more:0};return r(`li`,{class:o.row,children:[r(`button`,{type:`button`,class:o.toggle,"aria-expanded":p,onClick:()=>g(!p),children:p?`▾`:`▸`}),_,` `,r(`span`,{class:o.preview,children:f(a)}),v,p?r(`ul`,{class:o.children,children:[y.map(([t,n])=>r(h,{name:t,value:n,path:[...s,t],open:e.open-1},String(t))),b?r(`li`,{class:o.more,children:t(`json.more`,{count:b})}):null]}):null]})}function g({block:e}){let[i,s]=n(!1);return r(`figure`,{class:o.block,children:[r(`figcaption`,{class:o.header,children:[r(`span`,{children:e.caption??`JSON`}),r(`button`,{type:`button`,class:o.tool,"aria-pressed":i,onClick:()=>s(!i),children:t(i?`json.tree`:`json.source`)})]}),i?r(a,{block:{kind:`code`,lang:`json`,code:JSON.stringify(e.value,null,2)??``}}):r(`ul`,{class:o.tree,children:r(h,{value:e.value,path:[],open:e.collapsedDepth??2})})]})}export{p as n,g as t};
1
+ import{n as e}from"./rolldown-runtime-hePW80VL.js";import{a as t,y as n}from"./i18n-BGlOHOa5.js";import{t as r}from"./jsxRuntime-CU76aMLO.js";import{t as i}from"./CopyButton-CMHaee_H.js";import{w as a}from"./index-CcgO2jIy.js";var o={block:`_block_gdsq8_1`,header:`_header_gdsq8_9`,tree:`_tree_gdsq8_18`,children:`_children_gdsq8_19`,row:`_row_gdsq8_37`,toggle:`_toggle_gdsq8_41`,key:`_key_gdsq8_53`,string:`_string_gdsq8_57`,number:`_number_gdsq8_61`,boolean:`_boolean_gdsq8_62`,null:`_null_gdsq8_66`,preview:`_preview_gdsq8_67`,more:`_more_gdsq8_68`,tools:`_tools_gdsq8_72`,tool:`_tool_gdsq8_72`},s=/^[A-Za-z_$][\w$]*$/;function c(e){return e.reduce((e,t)=>typeof t==`number`?`${e}[${t}]`:s.test(t)?`${e}.${t}`:`${e}[${JSON.stringify(t)}]`,`$`)}var l=e=>typeof e==`object`&&!!e;function u(e,t=1e3){if(!l(e))return{entries:[],more:0};let n=Array.isArray(e)?e.map((e,t)=>[t,e]):Object.entries(e);return{entries:n.slice(0,t),more:Math.max(0,n.length-t)}}var d=(e,t,n)=>`${e} ${e===1?t:n}`;function f(e,t=80){if(Array.isArray(e))return`[…] ${d(e.length,`item`,`items`)}`;if(l(e))return`{…} ${d(Object.keys(e).length,`key`,`keys`)}`;let n=e===void 0?`undefined`:JSON.stringify(e);return n.length>t?`${n.slice(0,t-1)}…`:n}var p=e({default:()=>g}),m=e=>typeof e==`string`?o.string:typeof e==`number`?o.number:typeof e==`boolean`?o.boolean:o.null;function h(e){let{value:a,path:s}=e,d=l(a),[p,g]=n(e.open>0),_=e.name===void 0?null:r(`span`,{class:o.key,children:[typeof e.name==`number`?e.name:JSON.stringify(e.name),`:`]}),v=r(`span`,{class:o.tools,children:[r(i,{text:()=>JSON.stringify(a,null,2)??`undefined`,class:o.tool,label:t(`json.copyValue`),showText:!0}),r(i,{text:()=>c(s),class:o.tool,label:t(`json.copyPath`),showText:!0})]});if(!d)return r(`li`,{class:o.row,children:[_,` `,r(`span`,{class:m(a),children:JSON.stringify(a)??`undefined`}),v]});let{entries:y,more:b}=p?u(a):{entries:[],more:0};return r(`li`,{class:o.row,children:[r(`button`,{type:`button`,class:o.toggle,"aria-expanded":p,onClick:()=>g(!p),children:p?`▾`:`▸`}),_,` `,r(`span`,{class:o.preview,children:f(a)}),v,p?r(`ul`,{class:o.children,children:[y.map(([t,n])=>r(h,{name:t,value:n,path:[...s,t],open:e.open-1},String(t))),b?r(`li`,{class:o.more,children:t(`json.more`,{count:b})}):null]}):null]})}function g({block:e}){let[i,s]=n(!1);return r(`figure`,{class:o.block,children:[r(`figcaption`,{class:o.header,children:[r(`span`,{children:e.caption??`JSON`}),r(`button`,{type:`button`,class:o.tool,"aria-pressed":i,onClick:()=>s(!i),children:t(i?`json.tree`:`json.source`)})]}),i?r(a,{block:{kind:`code`,lang:`json`,code:JSON.stringify(e.value,null,2)??``}}):r(`ul`,{class:o.tree,children:r(h,{value:e.value,path:[],open:e.collapsedDepth??2})})]})}export{p as n,g as t};
@@ -1 +1 @@
1
- import{a as e,y as t}from"./i18n-BZax1Psk.js";import{t as n}from"./jsxRuntime-C-CM9h-f.js";function r(e){let t={passed:0,failed:0,skipped:0,todo:0,total:0};for(let n of e.suites)for(let e of n.cases)t[e.status]++,t.total++;return t}function i(e){return e.map(e=>({...e,cases:e.cases.filter(e=>e.status===`failed`)})).filter(e=>e.cases.length>0)}var a={block:`_block_17dx6_1`,header:`_header_17dx6_9`,framework:`_framework_17dx6_19`,passed:`_passed_17dx6_23`,mark:`_mark_17dx6_24`,failed:`_failed_17dx6_28`,name:`_name_17dx6_30`,filter:`_filter_17dx6_34`,body:`_body_17dx6_49`,suiteName:`_suiteName_17dx6_55`,cases:`_cases_17dx6_60`,file:`_file_17dx6_79`,time:`_time_17dx6_80`,error:`_error_17dx6_90`},o={passed:`✓`,failed:`✗`,skipped:`○`,todo:`○`};function s({block:s}){let c=r(s),[l,u]=t(!1),d=l?i(s.suites):s.suites;return n(`figure`,{class:a.block,children:[n(`figcaption`,{class:a.header,children:[s.framework?n(`span`,{class:a.framework,children:s.framework}):null,n(`span`,{class:a.passed,children:e(`tests.passed`,{count:c.passed})}),n(`span`,{class:a.failed,children:e(`tests.failed`,{count:c.failed})}),n(`span`,{children:e(`tests.skipped`,{count:c.skipped+c.todo})}),s.durationMs===void 0?null:n(`span`,{children:e(`tool.duration`,{ms:s.durationMs})}),c.failed?n(`button`,{type:`button`,class:a.filter,"aria-pressed":l,onClick:()=>u(!l),children:e(`tests.onlyFailed`)}):null]}),n(`div`,{class:a.body,children:d.map((t,r)=>n(`section`,{class:a.suite,children:[n(`p`,{class:a.suiteName,children:[t.name,t.file?n(`span`,{class:a.file,children:t.file}):null]}),n(`ul`,{class:a.cases,children:t.cases.map((r,i)=>n(`li`,{"data-status":r.status,children:[n(`span`,{class:a.mark,"aria-label":e(`tests.status.${r.status}`),children:o[r.status]}),n(`span`,{class:a.name,children:r.name}),t.file&&r.line!==void 0?n(`span`,{class:a.file,children:[t.file,`:`,r.line]}):null,r.durationMs===void 0?null:n(`span`,{class:a.time,children:[r.durationMs,` ms`]}),r.error?n(`details`,{class:a.error,open:r.status===`failed`&&t.cases.length<=20,children:[n(`summary`,{children:e(`tests.error`)}),n(`pre`,{children:r.error})]}):null]},i))})]},r))})]})}export{s as default};
1
+ import{a as e,y as t}from"./i18n-BGlOHOa5.js";import{t as n}from"./jsxRuntime-CU76aMLO.js";function r(e){let t={passed:0,failed:0,skipped:0,todo:0,total:0};for(let n of e.suites)for(let e of n.cases)t[e.status]++,t.total++;return t}function i(e){return e.map(e=>({...e,cases:e.cases.filter(e=>e.status===`failed`)})).filter(e=>e.cases.length>0)}var a={block:`_block_17dx6_1`,header:`_header_17dx6_9`,framework:`_framework_17dx6_19`,passed:`_passed_17dx6_23`,mark:`_mark_17dx6_24`,failed:`_failed_17dx6_28`,name:`_name_17dx6_30`,filter:`_filter_17dx6_34`,body:`_body_17dx6_49`,suiteName:`_suiteName_17dx6_55`,cases:`_cases_17dx6_60`,file:`_file_17dx6_79`,time:`_time_17dx6_80`,error:`_error_17dx6_90`},o={passed:`✓`,failed:`✗`,skipped:`○`,todo:`○`};function s({block:s}){let c=r(s),[l,u]=t(!1),d=l?i(s.suites):s.suites;return n(`figure`,{class:a.block,children:[n(`figcaption`,{class:a.header,children:[s.framework?n(`span`,{class:a.framework,children:s.framework}):null,n(`span`,{class:a.passed,children:e(`tests.passed`,{count:c.passed})}),n(`span`,{class:a.failed,children:e(`tests.failed`,{count:c.failed})}),n(`span`,{children:e(`tests.skipped`,{count:c.skipped+c.todo})}),s.durationMs===void 0?null:n(`span`,{children:e(`tool.duration`,{ms:s.durationMs})}),c.failed?n(`button`,{type:`button`,class:a.filter,"aria-pressed":l,onClick:()=>u(!l),children:e(`tests.onlyFailed`)}):null]}),n(`div`,{class:a.body,children:d.map((t,r)=>n(`section`,{class:a.suite,children:[n(`p`,{class:a.suiteName,children:[t.name,t.file?n(`span`,{class:a.file,children:t.file}):null]}),n(`ul`,{class:a.cases,children:t.cases.map((r,i)=>n(`li`,{"data-status":r.status,children:[n(`span`,{class:a.mark,"aria-label":e(`tests.status.${r.status}`),children:o[r.status]}),n(`span`,{class:a.name,children:r.name}),t.file&&r.line!==void 0?n(`span`,{class:a.file,children:[t.file,`:`,r.line]}):null,r.durationMs===void 0?null:n(`span`,{class:a.time,children:[r.durationMs,` ms`]}),r.error?n(`details`,{class:a.error,open:r.status===`failed`&&t.cases.length<=20,children:[n(`summary`,{children:e(`tests.error`)}),n(`pre`,{children:r.error})]}):null]},i))})]},r))})]})}export{s as default};
@@ -1,4 +1,4 @@
1
- import{_ as e,a as t}from"./i18n-BZax1Psk.js";import{t as n}from"./jsxRuntime-C-CM9h-f.js";import{t as r}from"./CopyButton-DsWaaJHr.js";import{t as i}from"./purify.es--06brOip.js";var a=class e extends Error{constructor(t,n){var r=`KaTeX parse error: `+t,i,a,o=n&&n.loc;if(o&&o.start<=o.end){var s=o.lexer.input;i=o.start,a=o.end,i===s.length?r+=` at end of input: `:r+=` at position `+(i+1)+`: `;var c=s.slice(i,a).replace(/[^]/g,`$&̲`),l=i>15?`…`+s.slice(i-15,i):s.slice(0,i),u=a+15<s.length?s.slice(a,a+15)+`…`:s.slice(a);r+=l+c+u}super(r),this.name=`ParseError`,this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,e.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}},o=/([A-Z])/g,s=e=>e.replace(o,`-$1`).toLowerCase(),c={"&":`&amp;`,">":`&gt;`,"<":`&lt;`,'"':`&quot;`,"'":`&#x27;`},l=/[&><"']/g,u=e=>String(e).replace(l,e=>c[e]),d=e=>e.type===`ordgroup`||e.type===`color`?e.body.length===1?d(e.body[0]):e:e.type===`font`?d(e.body):e,f=new Set([`mathord`,`textord`,`atom`]),p=e=>f.has(d(e).type),m=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==`:`||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():`_relative`},h={displayMode:{type:`boolean`,description:`Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.`,cli:`-d, --display-mode`},output:{type:{enum:[`htmlAndMathml`,`html`,`mathml`]},description:`Determines the markup language of the output.`,cli:`-F, --format <type>`},leqno:{type:`boolean`,description:`Render display math in leqno style (left-justified tags).`},fleqn:{type:`boolean`,description:`Render display math flush left.`},throwOnError:{type:`boolean`,default:!0,cli:`-t, --no-throw-on-error`,cliDescription:`Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.`},errorColor:{type:`string`,default:`#cc0000`,cli:`-c, --error-color <color>`,cliDescription:`A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.`,cliProcessor:e=>`#`+e},macros:{type:`object`,cli:`-m, --macro <def>`,cliDescription:`Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).`,cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:`number`,description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:`--min-rule-thickness <size>`,cliProcessor:parseFloat},colorIsTextColor:{type:`boolean`,description:`Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.`,cli:`-b, --color-is-text-color`},strict:{type:[{enum:[`warn`,`ignore`,`error`]},`boolean`,`function`],description:`Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.`,cli:`-S, --strict`,cliDefault:!1},trust:{type:[`boolean`,`function`],description:`Trust the input, enabling all HTML features such as \\url.`,cli:`-T, --trust`},maxSize:{type:`number`,default:1/0,description:`If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large`,processor:e=>Math.max(0,e),cli:`-s, --max-size <n>`,cliProcessor:parseInt},maxExpand:{type:`number`,default:1e3,description:`Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.`,processor:e=>Math.max(0,e),cli:`-e, --max-expand <n>`,cliProcessor:e=>e===`Infinity`?1/0:parseInt(e)},globalGroup:{type:`boolean`,cli:!1}};function g(e){if(typeof e!=`string`)return e.enum[0];switch(e){case`boolean`:return!1;case`string`:return``;case`number`:return 0;case`object`:return{};default:throw Error(`Unexpected schema type; settings must declare an explicit default.`)}}function _(e){return Object.prototype.hasOwnProperty.call(e,`default`)&&e.default!==void 0?e.default:g(Array.isArray(e.type)?e.type[0]:e.type)}function v(e,t,n,r){var i=Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0,a=Object.prototype.hasOwnProperty.call(r,`processor`)?r.processor:void 0;e[t]=i===void 0?_(r):a?a(i):i}var y=class{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e||={};for(var t of Object.keys(h)){var n=h[t];n&&v(this,t,e,n)}}reportNonstrict(e,t,n){var r=this.strict;if(typeof r==`function`&&(r=r(e,t,n)),r&&r!==`ignore`){if(r===!0||r===`error`)throw new a(`LaTeX-incompatible input and strict mode is set to 'error': `+(t+` [`+e+`]`),n);r===`warn`?typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)):typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`))}}useStrictBehavior(e,t,n){var r=this.strict;if(typeof r==`function`)try{r=r(e,t,n)}catch{r=`error`}return!r||r===`ignore`?!1:r===!0||r===`error`?!0:r===`warn`?(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)),!1):(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`)),!1)}isTrusted(e){if(`url`in e&&e.url&&!e.protocol){var t=m(e.url);if(t==null)return!1;e.protocol=t}return!!(typeof this.trust==`function`?this.trust(e):this.trust)}},b=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return ne[re[this.id]]}sub(){return ne[ie[this.id]]}fracNum(){return ne[ae[this.id]]}fracDen(){return ne[oe[this.id]]}cramp(){return ne[se[this.id]]}text(){return ne[ce[this.id]]}isTight(){return this.size>=2}},x=0,S=1,C=2,w=3,ee=4,T=5,te=6,E=7,ne=[new b(x,0,!1),new b(S,0,!0),new b(C,1,!1),new b(w,1,!0),new b(ee,2,!1),new b(T,2,!0),new b(te,3,!1),new b(E,3,!0)],re=[ee,T,ee,T,te,E,te,E],ie=[T,T,T,T,E,E,E,E],ae=[C,w,ee,T,te,E,te,E],oe=[w,w,T,T,E,E,E,E],se=[S,S,w,w,T,T,E,E],ce=[x,S,C,w,C,w,C,w],D={DISPLAY:ne[x],TEXT:ne[C],SCRIPT:ne[ee],SCRIPTSCRIPT:ne[te]},le=[{name:`latin`,blocks:[[256,591],[768,879]]},{name:`cyrillic`,blocks:[[1024,1279]]},{name:`armenian`,blocks:[[1328,1423]]},{name:`brahmic`,blocks:[[2304,4255]]},{name:`georgian`,blocks:[[4256,4351]]},{name:`cjk`,blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:`hangul`,blocks:[[44032,55215]]}];function ue(e){for(var t=0;t<le.length;t++)for(var n=le[t],r=0;r<n.blocks.length;r++){var i=n.blocks[r];if(e>=i[0]&&e<=i[1])return n.name}return null}var de=[];le.forEach(e=>e.blocks.forEach(e=>de.push(...e)));function fe(e){for(var t=0;t<de.length;t+=2)if(e>=de[t]&&e<=de[t+1])return!0;return!1}var pe=e=>e+` `+e,me=80,he=function(e,t){return`M95,`+(622+e+t)+`
1
+ import{_ as e,a as t}from"./i18n-BGlOHOa5.js";import{t as n}from"./jsxRuntime-CU76aMLO.js";import{t as r}from"./CopyButton-CMHaee_H.js";import{t as i}from"./purify.es--06brOip.js";var a=class e extends Error{constructor(t,n){var r=`KaTeX parse error: `+t,i,a,o=n&&n.loc;if(o&&o.start<=o.end){var s=o.lexer.input;i=o.start,a=o.end,i===s.length?r+=` at end of input: `:r+=` at position `+(i+1)+`: `;var c=s.slice(i,a).replace(/[^]/g,`$&̲`),l=i>15?`…`+s.slice(i-15,i):s.slice(0,i),u=a+15<s.length?s.slice(a,a+15)+`…`:s.slice(a);r+=l+c+u}super(r),this.name=`ParseError`,this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,e.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}},o=/([A-Z])/g,s=e=>e.replace(o,`-$1`).toLowerCase(),c={"&":`&amp;`,">":`&gt;`,"<":`&lt;`,'"':`&quot;`,"'":`&#x27;`},l=/[&><"']/g,u=e=>String(e).replace(l,e=>c[e]),d=e=>e.type===`ordgroup`||e.type===`color`?e.body.length===1?d(e.body[0]):e:e.type===`font`?d(e.body):e,f=new Set([`mathord`,`textord`,`atom`]),p=e=>f.has(d(e).type),m=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==`:`||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():`_relative`},h={displayMode:{type:`boolean`,description:`Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.`,cli:`-d, --display-mode`},output:{type:{enum:[`htmlAndMathml`,`html`,`mathml`]},description:`Determines the markup language of the output.`,cli:`-F, --format <type>`},leqno:{type:`boolean`,description:`Render display math in leqno style (left-justified tags).`},fleqn:{type:`boolean`,description:`Render display math flush left.`},throwOnError:{type:`boolean`,default:!0,cli:`-t, --no-throw-on-error`,cliDescription:`Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.`},errorColor:{type:`string`,default:`#cc0000`,cli:`-c, --error-color <color>`,cliDescription:`A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.`,cliProcessor:e=>`#`+e},macros:{type:`object`,cli:`-m, --macro <def>`,cliDescription:`Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).`,cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:`number`,description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:`--min-rule-thickness <size>`,cliProcessor:parseFloat},colorIsTextColor:{type:`boolean`,description:`Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.`,cli:`-b, --color-is-text-color`},strict:{type:[{enum:[`warn`,`ignore`,`error`]},`boolean`,`function`],description:`Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.`,cli:`-S, --strict`,cliDefault:!1},trust:{type:[`boolean`,`function`],description:`Trust the input, enabling all HTML features such as \\url.`,cli:`-T, --trust`},maxSize:{type:`number`,default:1/0,description:`If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large`,processor:e=>Math.max(0,e),cli:`-s, --max-size <n>`,cliProcessor:parseInt},maxExpand:{type:`number`,default:1e3,description:`Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.`,processor:e=>Math.max(0,e),cli:`-e, --max-expand <n>`,cliProcessor:e=>e===`Infinity`?1/0:parseInt(e)},globalGroup:{type:`boolean`,cli:!1}};function g(e){if(typeof e!=`string`)return e.enum[0];switch(e){case`boolean`:return!1;case`string`:return``;case`number`:return 0;case`object`:return{};default:throw Error(`Unexpected schema type; settings must declare an explicit default.`)}}function _(e){return Object.prototype.hasOwnProperty.call(e,`default`)&&e.default!==void 0?e.default:g(Array.isArray(e.type)?e.type[0]:e.type)}function v(e,t,n,r){var i=Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0,a=Object.prototype.hasOwnProperty.call(r,`processor`)?r.processor:void 0;e[t]=i===void 0?_(r):a?a(i):i}var y=class{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e||={};for(var t of Object.keys(h)){var n=h[t];n&&v(this,t,e,n)}}reportNonstrict(e,t,n){var r=this.strict;if(typeof r==`function`&&(r=r(e,t,n)),r&&r!==`ignore`){if(r===!0||r===`error`)throw new a(`LaTeX-incompatible input and strict mode is set to 'error': `+(t+` [`+e+`]`),n);r===`warn`?typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)):typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`))}}useStrictBehavior(e,t,n){var r=this.strict;if(typeof r==`function`)try{r=r(e,t,n)}catch{r=`error`}return!r||r===`ignore`?!1:r===!0||r===`error`?!0:r===`warn`?(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)),!1):(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`)),!1)}isTrusted(e){if(`url`in e&&e.url&&!e.protocol){var t=m(e.url);if(t==null)return!1;e.protocol=t}return!!(typeof this.trust==`function`?this.trust(e):this.trust)}},b=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return ne[re[this.id]]}sub(){return ne[ie[this.id]]}fracNum(){return ne[ae[this.id]]}fracDen(){return ne[oe[this.id]]}cramp(){return ne[se[this.id]]}text(){return ne[ce[this.id]]}isTight(){return this.size>=2}},x=0,S=1,C=2,w=3,ee=4,T=5,te=6,E=7,ne=[new b(x,0,!1),new b(S,0,!0),new b(C,1,!1),new b(w,1,!0),new b(ee,2,!1),new b(T,2,!0),new b(te,3,!1),new b(E,3,!0)],re=[ee,T,ee,T,te,E,te,E],ie=[T,T,T,T,E,E,E,E],ae=[C,w,ee,T,te,E,te,E],oe=[w,w,T,T,E,E,E,E],se=[S,S,w,w,T,T,E,E],ce=[x,S,C,w,C,w,C,w],D={DISPLAY:ne[x],TEXT:ne[C],SCRIPT:ne[ee],SCRIPTSCRIPT:ne[te]},le=[{name:`latin`,blocks:[[256,591],[768,879]]},{name:`cyrillic`,blocks:[[1024,1279]]},{name:`armenian`,blocks:[[1328,1423]]},{name:`brahmic`,blocks:[[2304,4255]]},{name:`georgian`,blocks:[[4256,4351]]},{name:`cjk`,blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:`hangul`,blocks:[[44032,55215]]}];function ue(e){for(var t=0;t<le.length;t++)for(var n=le[t],r=0;r<n.blocks.length;r++){var i=n.blocks[r];if(e>=i[0]&&e<=i[1])return n.name}return null}var de=[];le.forEach(e=>e.blocks.forEach(e=>de.push(...e)));function fe(e){for(var t=0;t<de.length;t+=2)if(e>=de[t]&&e<=de[t+1])return!0;return!1}var pe=e=>e+` `+e,me=80,he=function(e,t){return`M95,`+(622+e+t)+`
2
2
  c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
3
3
  c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
4
4
  c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
@@ -1 +1 @@
1
- import{a as e}from"./i18n-BZax1Psk.js";import{t}from"./jsxRuntime-C-CM9h-f.js";var n={block:`_block_do9qp_1`,header:`_header_do9qp_8`,count:`_count_do9qp_16`,steps:`_steps_do9qp_20`,mark:`_mark_do9qp_34`,label:`_label_do9qp_52`,detail:`_detail_do9qp_57`},r={pending:`○`,running:`●`,completed:`✓`,failed:`✗`,cancelled:`–`};function i({block:i}){let a=i.steps.filter(e=>e.status===`completed`).length;return t(`figure`,{class:n.block,children:[t(`figcaption`,{class:n.header,children:[t(`span`,{children:i.title??e(`progress.title`)}),t(`span`,{class:n.count,children:[a,`/`,i.steps.length]})]}),t(`ol`,{class:n.steps,children:i.steps.map((i,a)=>t(`li`,{"data-status":i.status,children:[t(`span`,{class:n.mark,"aria-label":e(`progress.status.${i.status}`),children:r[i.status]}),t(`span`,{class:n.label,children:i.label}),i.detail?t(`span`,{class:n.detail,children:i.detail}):null]},a))})]})}export{i as default};
1
+ import{a as e}from"./i18n-BGlOHOa5.js";import{t}from"./jsxRuntime-CU76aMLO.js";var n={block:`_block_do9qp_1`,header:`_header_do9qp_8`,count:`_count_do9qp_16`,steps:`_steps_do9qp_20`,mark:`_mark_do9qp_34`,label:`_label_do9qp_52`,detail:`_detail_do9qp_57`},r={pending:`○`,running:`●`,completed:`✓`,failed:`✗`,cancelled:`–`};function i({block:i}){let a=i.steps.filter(e=>e.status===`completed`).length;return t(`figure`,{class:n.block,children:[t(`figcaption`,{class:n.header,children:[t(`span`,{children:i.title??e(`progress.title`)}),t(`span`,{class:n.count,children:[a,`/`,i.steps.length]})]}),t(`ol`,{class:n.steps,children:i.steps.map((i,a)=>t(`li`,{"data-status":i.status,children:[t(`span`,{class:n.mark,"aria-label":e(`progress.status.${i.status}`),children:r[i.status]}),t(`span`,{class:n.label,children:i.label}),i.detail?t(`span`,{class:n.detail,children:i.detail}):null]},a))})]})}export{i as default};
@@ -1,4 +1,4 @@
1
- import{T as e,_ as t,a as n,y as r}from"./i18n-BZax1Psk.js";import{t as i}from"./jsxRuntime-C-CM9h-f.js";import{t as a}from"./CopyButton-DsWaaJHr.js";var o=/\x1b\[([0-9;:?<=>]*)([ -/]*)([@-~])|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)?|\x1b[@-_]?/g,s=[0,95,135,175,215,255];function c(e){if(!Number.isInteger(e)||e<0||e>255)return;if(e<16)return e;if(e>=232){let t=8+(e-232)*10;return`rgb(${t},${t},${t})`}let t=e-16;return`rgb(${s[Math.floor(t/36)]},${s[Math.floor(t/6)%6]},${s[t%6]})`}function l(e,t){let n=t===``?[0]:t.split(/[;:]/).map(e=>e===``?0:Number(e)),r={...e};for(let e=0;e<n.length;e++){let t=n[e];if(t===0)r={};else if(t===1)r.bold=!0;else if(t===2)r.dim=!0;else if(t===3)r.italic=!0;else if(t===4)r.underline=!0;else if(t===7)r.inverse=!0;else if(t===22)delete r.bold,delete r.dim;else if(t===23)delete r.italic;else if(t===24)delete r.underline;else if(t===27)delete r.inverse;else if(t>=30&&t<=37)r.fg=t-30;else if(t>=90&&t<=97)r.fg=t-90+8;else if(t===39)delete r.fg;else if(t>=40&&t<=47)r.bg=t-40;else if(t>=100&&t<=107)r.bg=t-100+8;else if(t===49)delete r.bg;else if(t===38||t===48){let i=t===38?`fg`:`bg`,a;if(n[e+1]===5)a=c(n[e+2]),e+=2;else if(n[e+1]===2){let[t,r,i]=[n[e+2],n[e+3],n[e+4]].map(e=>Math.max(0,Math.min(255,Number(e??0))));a=`rgb(${t},${r},${i})`,e+=4}a!==void 0&&(r[i]=a)}}return r}function u(e){let t=[],n={},r=0,i=e=>{if(!e)return;let r=t.at(-1);r&&f(r,n)?r.text+=e:t.push({text:e,...n})};for(let t of e.matchAll(o))i(e.slice(r,t.index)),r=(t.index??0)+t[0].length,t[3]===`m`&&!t[2]&&!t[1]?.startsWith(`?`)&&(n=l(n,t[1]??``));return i(e.slice(r)),t}var d=[`fg`,`bg`,`bold`,`dim`,`italic`,`underline`,`inverse`],f=(e,t)=>d.every(n=>e[n]===t[n]);function p(e){return e.includes(`\r`)?e.replace(/\r\n/g,`
1
+ import{T as e,_ as t,a as n,y as r}from"./i18n-BGlOHOa5.js";import{t as i}from"./jsxRuntime-CU76aMLO.js";import{t as a}from"./CopyButton-CMHaee_H.js";var o=/\x1b\[([0-9;:?<=>]*)([ -/]*)([@-~])|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)?|\x1b[@-_]?/g,s=[0,95,135,175,215,255];function c(e){if(!Number.isInteger(e)||e<0||e>255)return;if(e<16)return e;if(e>=232){let t=8+(e-232)*10;return`rgb(${t},${t},${t})`}let t=e-16;return`rgb(${s[Math.floor(t/36)]},${s[Math.floor(t/6)%6]},${s[t%6]})`}function l(e,t){let n=t===``?[0]:t.split(/[;:]/).map(e=>e===``?0:Number(e)),r={...e};for(let e=0;e<n.length;e++){let t=n[e];if(t===0)r={};else if(t===1)r.bold=!0;else if(t===2)r.dim=!0;else if(t===3)r.italic=!0;else if(t===4)r.underline=!0;else if(t===7)r.inverse=!0;else if(t===22)delete r.bold,delete r.dim;else if(t===23)delete r.italic;else if(t===24)delete r.underline;else if(t===27)delete r.inverse;else if(t>=30&&t<=37)r.fg=t-30;else if(t>=90&&t<=97)r.fg=t-90+8;else if(t===39)delete r.fg;else if(t>=40&&t<=47)r.bg=t-40;else if(t>=100&&t<=107)r.bg=t-100+8;else if(t===49)delete r.bg;else if(t===38||t===48){let i=t===38?`fg`:`bg`,a;if(n[e+1]===5)a=c(n[e+2]),e+=2;else if(n[e+1]===2){let[t,r,i]=[n[e+2],n[e+3],n[e+4]].map(e=>Math.max(0,Math.min(255,Number(e??0))));a=`rgb(${t},${r},${i})`,e+=4}a!==void 0&&(r[i]=a)}}return r}function u(e){let t=[],n={},r=0,i=e=>{if(!e)return;let r=t.at(-1);r&&f(r,n)?r.text+=e:t.push({text:e,...n})};for(let t of e.matchAll(o))i(e.slice(r,t.index)),r=(t.index??0)+t[0].length,t[3]===`m`&&!t[2]&&!t[1]?.startsWith(`?`)&&(n=l(n,t[1]??``));return i(e.slice(r)),t}var d=[`fg`,`bg`,`bold`,`dim`,`italic`,`underline`,`inverse`],f=(e,t)=>d.every(n=>e[n]===t[n]);function p(e){return e.includes(`\r`)?e.replace(/\r\n/g,`
2
2
  `).split(`
3
3
  `).map(e=>e.split(`\r`).findLast(e=>e!==``)??``).join(`
4
4
  `):e}function m(e,t){let n=e.split(`
@@ -8,17 +8,17 @@
8
8
  <link rel="icon" type="image/png" href="/favicon.png" />
9
9
  <link rel="apple-touch-icon" href="/favicon.png" />
10
10
  <script>(function(){var p="dark";try{p=localStorage.getItem("alisio.theme")||"dark"}catch(e){}var d=p==="system"?(matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"):p==="light"?"light":"dark";document.documentElement.setAttribute("data-theme",d)})()</script>
11
- <script type="module" crossorigin src="/assets/index-Bfl4EFzp.js"></script>
11
+ <script type="module" crossorigin src="/assets/index-CcgO2jIy.js"></script>
12
12
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-B3nfOi5I.js">
13
- <link rel="modulepreload" crossorigin href="/assets/i18n-BZax1Psk.js">
14
- <link rel="modulepreload" crossorigin href="/assets/app-D95B_PAO.js">
15
- <link rel="modulepreload" crossorigin href="/assets/jsxRuntime-C-CM9h-f.js">
16
- <link rel="modulepreload" crossorigin href="/assets/icons-nQx96NOf.js">
17
- <link rel="modulepreload" crossorigin href="/assets/panel-Drs6RETP.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/i18n-BGlOHOa5.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/app-B_dNXnFa.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/jsxRuntime-CU76aMLO.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/icons-BWy-tv8u.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/panel-INm2KdPq.js">
18
18
  <link rel="modulepreload" crossorigin href="/assets/clipboard-hOiC7lD8.js">
19
- <link rel="modulepreload" crossorigin href="/assets/CopyButton-DsWaaJHr.js">
19
+ <link rel="modulepreload" crossorigin href="/assets/CopyButton-CMHaee_H.js">
20
20
  <link rel="modulepreload" crossorigin href="/assets/visible-DLChI0F-.js">
21
- <link rel="stylesheet" crossorigin href="/assets/index-DtwMJ910.css">
21
+ <link rel="stylesheet" crossorigin href="/assets/index-DoBakzIL.css">
22
22
  </head>
23
23
  <body>
24
24
  <div id="app"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alisio/server",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "Local HTTP + SSE server behind `alisio serve`: multi-workspace, multi-session web access to the Alisio agent core with a launch-token cookie, strict Host/Origin checks and fail-closed approvals. node:http only; runs on Node >=22.16 and Bun.",
5
5
  "author": "Gustavo Gutiérrez",
6
6
  "license": "MIT",
@@ -39,11 +39,11 @@
39
39
  "node": ">=22.16"
40
40
  },
41
41
  "dependencies": {
42
- "@alisio/core": "0.5.1",
43
- "@alisio/sdk": "0.5.1"
42
+ "@alisio/core": "0.6.0",
43
+ "@alisio/sdk": "0.6.0"
44
44
  },
45
45
  "devDependencies": {
46
- "@alisio/web": "0.5.1"
46
+ "@alisio/web": "0.6.0"
47
47
  },
48
48
  "publishConfig": {
49
49
  "access": "public",
@@ -1,5 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PlanViewer-CeY05Jhh.js","assets/i18n-BZax1Psk.js","assets/preload-helper-B3nfOi5I.js","assets/app-D95B_PAO.js","assets/jsxRuntime-C-CM9h-f.js","assets/panel-Drs6RETP.js","assets/index-Bfl4EFzp.js","assets/icons-nQx96NOf.js","assets/clipboard-hOiC7lD8.js","assets/CopyButton-DsWaaJHr.js","assets/visible-DLChI0F-.js","assets/index-DtwMJ910.css","assets/strings-im5j6AkX.js","assets/view-2dNgOSpB.js","assets/view-DWcZ1gKW.css","assets/PlanViewer-CPifoQAf.css","assets/SpreadsheetPanel-CaPNTLXV.js","assets/SpreadsheetPanel-CYyWl0en.css"])))=>i.map(i=>d[i]);
2
- import{T as e,a as t,b as n,g as r,y as i}from"./i18n-BZax1Psk.js";import{t as a}from"./preload-helper-B3nfOi5I.js";import{Ct as o,E as s,St as c,d as l,gt as u,wt as d,xt as f}from"./app-D95B_PAO.js";import{t as p}from"./jsxRuntime-C-CM9h-f.js";import{t as m}from"./icons-nQx96NOf.js";import{c as h,f as g,o as _,r as v}from"./panel-Drs6RETP.js";import{A as y,C as b,D as ee,E as te,F as x,I as ne,N as re,O as ie,P as ae,R as S,T as C,b as w,k as T,t as E,x as D,z as oe}from"./index-Bfl4EFzp.js";import{t as O}from"./view-B8k9wN-a.js";var k=`plan.md`,A=`plan.json`,j=/^diagrams\/[a-z0-9]+(?:-[a-z0-9]+)*\.mmd$/,M=[`overview`,`flow`,`components`,`architecture`,`sequence`,`data`,`state`,`other`];function N(e){return e.entry===`plan.md`&&!!e.files?.some(e=>e.path===`plan.json`)}var P=(e,t=2e3)=>typeof e==`string`&&e.trim()?e.trim().slice(0,t):void 0,F=e=>Array.isArray(e)?e:[],I=e=>e&&typeof e==`object`?e:{};function L(e){let t;try{t=JSON.parse(e)}catch{return}let n=I(t);if(typeof n.version!=`number`||!Number.isFinite(n.version)||n.version<1)return;let r=P(n.title,200);if(!r)return;let i=[],a=new Set;for(let e of F(n.diagrams)){let t=I(e),n=P(t.id,60),r=P(t.file,120),o=P(t.title,120);if(!n||!o||!r||!j.test(r)||a.has(n))continue;a.add(n);let s=M.includes(t.type)?t.type:`other`,c=t.status===`new`||t.status===`updated`?t.status:`unchanged`,l=P(t.section,80);i.push({id:n,title:o,explanation:P(t.explanation,600)??``,...l?{section:l}:{},type:s,syntax:P(t.syntax,40)??``,file:r,hash:P(t.hash,80)??``,status:c})}return{version:1,planId:P(n.planId,80)??``,revision:typeof n.revision==`number`&&n.revision>=1?Math.floor(n.revision):1,title:r,hash:P(n.hash,80)??``,summary:P(n.summary,1e3)??``,goals:F(n.goals).map(e=>P(e,400)).filter(e=>!!e),stages:F(n.stages).flatMap(e=>{let t=I(e),n=P(t.title,300),r=P(t.detail,1e3);return n?[{title:n,...r?{detail:r}:{}}]:[]}),considerations:F(n.considerations).flatMap(e=>{let t=I(e),n=P(t.text,1e3),r=t.kind===`decision`||t.kind===`risk`?t.kind:`verification`;return n?[{kind:r,text:n}]:[]}),sections:F(n.sections).flatMap(e=>{let t=I(e),n=P(t.id,80),r=P(t.title,200);return n&&r?[{id:n,title:r,level:typeof t.level==`number`?t.level:2}]:[]}),diagrams:i,removed:F(n.removed).flatMap(e=>{let t=I(e),n=P(t.id,60);return n?[{id:n,title:P(t.title,120)??n}]:[]})}}function R(e){return e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,60).replace(/-+$/,``)||`section`}function z(e){return e.replace(/!\[([^\]]*)\]\([^)]*\)/g,`$1`).replace(/\[([^\]]*)\]\([^)]*\)/g,`$1`).replace(/(\*\*|__)(.*?)\1/g,`$2`).replace(/(^|[^\w*])([*_])(?!\s)(.+?)\2(?!\w)/g,`$1$3`).replace(/`([^`]*)`/g,`$1`).replace(/~~(.*?)~~/g,`$1`).replace(/\s+/g,` `).trim()}function B(e){let t=[],n=new Map,r,i,a=()=>{i&&=(i.section.text=i.lines.join(`
3
- `).replace(/\s+$/,``),(i.section.id||i.section.text.trim())&&t.push(i.section),void 0)};i={section:{id:``,title:``,level:0,text:``},lines:[]};for(let t of e.replace(/\r\n?/g,`
4
- `).split(`
5
- `)){let e=/^\s{0,3}(`{3,}|~{3,})/.exec(t)?.[1];if(e)r?t.trim().startsWith(r)&&(r=void 0):r=e[0]?.repeat(e.length);else if(!r){let e=/^\s{0,3}(#{1,6})\s+(.+?)\s*#*\s*$/.exec(t),r=e?.[2]?z(e[2]):``;if(e?.[1]&&r){a();let o=R(r),s=(n.get(o)??0)+1;n.set(o,s),i={section:{id:s===1?o:`${o}-${s}`,title:r,level:e[1].length,text:``},lines:[t]};continue}}i?.lines.push(t)}return a(),t}function V(e){return{components:e.filter(e=>e.type===`components`||e.type===`architecture`),others:e.filter(e=>e.type!==`components`&&e.type!==`architecture`)}}function H(e){let t=new Map;for(let n of e)n.section&&t.set(n.section,[...t.get(n.section)??[],n]);return t}function U(e,t){if(!(e.revision<=1))return t.status===`new`||t.status===`updated`?t.status:void 0}var W=e=>`plan-section-${e||`top`}`,G=e=>`plan-diagram-${e}`,K=e=>`plan-part-${e}`,se=e=>e instanceof Error?e.message:String(e);async function ce(e){let{files:t,fetchText:n}=e,r=e=>t.some(t=>t.path===e),i=await n(k),a=[],o;if(!r(`plan.json`))a.push(`manifest-missing`);else{try{o=L(await n(A))}catch{o=void 0}o||a.push(`manifest-invalid`)}let s=o?[]:t.map(e=>e.path).filter(e=>j.test(e)).sort().map(e=>{let t=e.slice(9,-4);return{id:t,title:t.replace(/-/g,` `),explanation:``,type:`other`,syntax:``,file:e,hash:``,status:`unchanged`}}),c=o?o.diagrams:s,l={};return await Promise.all(c.map(async e=>{if(!r(e.file)){l[e.id]={error:`${e.file} is not in this plan folder`};return}try{l[e.id]={source:await n(e.file)}}catch(t){l[e.id]={error:se(t)}}})),{...o?{manifest:o}:{},markdown:i,diagrams:l,fallbackDiagrams:s,issues:a}}function le(e){let t=0;return async n=>{let r=++t;try{let i=await e(n);return r===t?i:void 0}catch(e){if(r!==t)return;throw e}}}var q={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`},J=e=>typeof e==`string`&&e?e:void 0;function ue(n){let{detail:r}=n,i=r.provenance,a=i.runtime,o=Array.isArray(i.inputs)?i.inputs:[],s=c(i),l=[[t(`artifactPanel.created`),new Date(r.createdAt).toLocaleString()],[t(`artifactPanel.size`),d(r.bytes)],[t(`artifactPanel.files`),String(r.files.length||r.fileCount)],...J(i.model)?[[t(`artifactPanel.model`),J(i.model)]]:[],...J(i.provider)?[[t(`artifactPanel.provider`),J(i.provider)]]:[],...s?[[t(`artifactPanel.dashboard`),[t(s.planner===`rules`?`artifactPanel.plannerRules`:`artifactPanel.plannerDecisions`),s.decisionProvider].filter(Boolean).join(` · `)]]:[],...a?[[t(`artifactPanel.runtime`),[a.mode,a.engine,a.python?`Python ${a.python}`:void 0,a.image?.replace(/(@sha256:[a-f0-9]{12})[a-f0-9]+$/,`$1…`),a.extras?.length?a.extras.join(`, `):void 0,a.runtimeVersion].filter(Boolean).join(` · `)]]:[],...o.length?[[t(`artifactPanel.inputs`),p(`ul`,{class:q.mono,children:o.map(e=>p(`li`,{children:[e.name,` · `,e.sha256?.slice(0,12)]},`${e.name}-${e.sha256}`))},`inputs`)]]:[],...J(i.executionId)?[[t(`artifactPanel.execution`),p(`span`,{class:q.mono,children:J(i.executionId)})]]:[],...J(i.rerunOf)?[[t(`artifactPanel.rerunOf`),p(`span`,{class:q.mono,children:J(i.rerunOf)})]]:[],...r.status===`ready`?[]:[[t(`artifactPanel.status`),t(r.status===`expired`?`artifact.expired`:`artifact.deleted`)]],...J(i.scriptSha256)?[[t(`artifactPanel.script`),p(`span`,{class:q.mono,children:J(i.scriptSha256)?.slice(0,16)})]]:[]];return p(`section`,{class:q.sheet,"aria-label":t(`artifactPanel.detailsTitle`),children:[p(`h3`,{children:t(`artifactPanel.detailsTitle`)}),p(`dl`,{class:q.details,children:l.map(([n,r])=>p(e,{children:[p(`dt`,{children:n}),p(`dd`,{children:r??t(`artifactPanel.none`)})]},n))})]})}var de=e=>`${t(`artifact.kind.${e.kind}`)}${e.status===`expired`?` · ${t(`artifact.expired`)}`:``}`;function fe(e){let[a,o]=i(e.initialFilter??``),s=h(e.list.filter(e=>e.status===`ready`||e.status===`expired`),a),[c,l]=i(()=>Math.max(0,s.findIndex(t=>t.id===e.current))),u=r(null),d=r(null),g=r({text:``,at:0}),_=e.list.length>8||!!e.initialFilter;n(()=>{(_?d.current:u.current)?.focus()},[_]),n(()=>{c>=s.length&&l(Math.max(0,s.length-1))},[s.length,c]);let v=t=>`${e.id}-opt-${t}`;return p(`div`,{class:q.popup,onKeyDown:t=>{if(t.key===`Escape`){t.preventDefault(),t.stopPropagation(),e.onClose();return}if(t.key===`ArrowDown`||t.key===`ArrowUp`){t.preventDefault();let e=t.key===`ArrowDown`?1:-1;l(t=>Math.min(s.length-1,Math.max(0,t+e)));return}if(t.key===`Enter`){let n=s[c];n&&(t.preventDefault(),e.onPick(n.id));return}if(t.target!==d.current&&t.key.length===1&&!t.ctrlKey){let e=Date.now();g.current={text:(e-g.current.at<700?g.current.text:``)+t.key.toLowerCase(),at:e};let n=s.findIndex(e=>e.fileName.toLowerCase().startsWith(g.current.text));n>=0&&l(n)}},children:[_?p(`input`,{ref:d,class:q.filter,type:`search`,value:a,placeholder:t(`artifactPanel.filter`),"aria-label":t(`artifactPanel.filter`),"aria-controls":`${e.id}-list`,"aria-activedescendant":s.length?v(c):void 0,onInput:e=>{o(e.currentTarget.value),l(0)}}):null,p(`ul`,{ref:u,id:`${e.id}-list`,class:q.listbox,role:`listbox`,"aria-label":t(`artifactPanel.switch`),tabIndex:0,"aria-activedescendant":s.length?v(c):void 0,children:s.length?s.map((n,r)=>p(`li`,{id:v(r),role:`option`,class:q.option,"aria-selected":n.id===e.current,"data-active":r===c?`true`:void 0,onClick:()=>e.onPick(n.id),onMouseMove:()=>l(r),children:[p(m,{name:f[n.kind],size:16}),p(`span`,{class:q.optionName,title:n.fileName,children:[n.title===n.fileName?n.fileName:n.title,e.unseen.has(n.id)?p(`span`,{class:q.dot,role:`img`,"aria-label":t(`artifactPanel.new`)}):null]}),p(`span`,{class:q.optionKind,children:de(n)})]},n.id)):p(`li`,{class:q.muted,children:e.list.length?t(`artifactPanel.noMatch`):t(`artifactPanel.empty`)})}),e.actions.length?p(`div`,{class:q.menu,children:e.actions.map(t=>t.href?p(`a`,{class:q.action,href:t.href,...t.download?{download:``}:{},onClick:()=>e.onClose(),children:[t.icon?p(m,{name:t.icon,size:15}):null,t.label]},t.key):p(`button`,{type:`button`,class:`${q.action}${t.danger?` ${q.danger}`:``}`,onClick:()=>t.onSelect?.(),children:[t.icon?p(m,{name:t.icon,size:15}):null,t.label]},t.key))}):null]})}function Y(e){let{artifact:n}=e;return p(`div`,{class:q.state,children:[p(`span`,{class:q.fallbackIcon,children:p(m,{name:f[n.kind],size:26})}),p(`span`,{class:q.fallbackName,title:n.fileName,children:n.fileName}),p(`span`,{children:d(n.bytes)}),p(`p`,{children:e.reason===`tooLarge`?t(`artifact.tooLarge`,{size:d(n.bytes)}):t(`artifact.noPreview`)}),p(`a`,{class:`${q.button} ${q.primary}`,href:o(n.id),download:``,children:t(`artifact.download`)})]})}var pe=15e3;function me(e){let{artifact:r}=e,[a,o]=i(),[s,c]=i(`loading`),[l,u]=i(0);return n(()=>{let e=!0;c(`loading`),o(void 0),x(r.id).then(t=>{e&&o(t)},t=>{e&&(c(`error`),y(t)&&S(r.id,t instanceof Error?t.message:String(t)))});let t=setTimeout(()=>{e&&c(e=>e===`loading`?`error`:e)},pe);return()=>{e=!1,clearTimeout(t)}},[r.id,l]),s===`error`?p(`div`,{class:`${q.state} ${q.stateError}`,role:`status`,children:[p(`p`,{children:t(`artifactPanel.loadFailed`)}),p(`button`,{type:`button`,class:q.button,onClick:()=>u(e=>e+1),children:t(`artifactPanel.reload`)})]}):p(`div`,{class:q.frameWrap,children:[a?p(`iframe`,{class:q.frame,src:a,title:t(`artifactPanel.frameTitle`,{name:r.title}),sandbox:`allow-scripts allow-downloads`,referrerpolicy:`no-referrer`,allow:``,loading:`lazy`,onLoad:()=>c(`ready`)},`${a}#${l}`):null,s===`loading`?p(`div`,{class:q.skeleton,"aria-busy":`true`,children:t(`artifact.loading`)}):null]})}function he(e){let{artifact:n}=e,[r,a]=i(!0),[o,s]=i(!1);return o?p(`div`,{class:`${q.state} ${q.stateError}`,role:`status`,children:t(`artifactPanel.loadFailed`)}):p(`div`,{children:[p(`div`,{class:q.imageBar,children:[p(`button`,{type:`button`,class:`${q.button} ${q.toggle}`,"aria-pressed":r,onClick:()=>a(!0),children:t(`artifactPanel.fit`)}),p(`button`,{type:`button`,class:`${q.button} ${q.toggle}`,"aria-pressed":!r,onClick:()=>a(!1),children:t(`artifactPanel.actualSize`)})]}),p(`div`,{class:q.imageWrap,children:p(`img`,{class:q.image,"data-fit":r?`true`:`false`,src:l.artifactFileUrl(n.id,e.entry),alt:n.title,onError:()=>s(!0)})})]})}function X(e){let{artifact:r,entry:a}=e,[o,s]=i(),[c,u]=i(),[d,f]=i(0);if(n(()=>{let e=!0;return s(void 0),u(void 0),l.artifactText(r.id,a).then(t=>{e&&s(t)},t=>{if(!e)return;let n=t instanceof Error?t.message:String(t);u(n),y(t)&&S(r.id,n)}),()=>{e=!1}},[r.id,a,d]),c)return p(`div`,{class:`${q.state} ${q.stateError}`,role:`status`,children:[p(`p`,{children:t(`artifactPanel.loadFailed`)}),p(`button`,{type:`button`,class:q.button,onClick:()=>f(e=>e+1),children:t(`artifact.retry`)})]});if(o===void 0)return p(`div`,{class:q.state,"aria-busy":`true`,children:t(`artifact.loading`)});if(e.as===`markdown`)return p(`div`,{class:q.document,children:p(D.Provider,{value:{image:e=>v(e,r.id,a),workspaceLinks:!1},children:p(w,{text:o})})});if(e.as===`json`)try{return p(`div`,{class:q.document,children:p(O,{block:{kind:`json`,value:JSON.parse(o),collapsedDepth:2}})})}catch{}let m=_(a);return p(`div`,{class:q.document,children:p(b,{block:{kind:`code`,code:o,...m?{lang:m}:{}}})})}function ge(e){let[r,o]=i(),[s,c]=i(!1);return n(()=>{let e=!0;return a(()=>import(`./PlanViewer-CeY05Jhh.js`).then(t=>{e&&o(t)},()=>{e&&c(!0)}),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])),()=>{e=!1}},[]),s?p(X,{artifact:e.artifact,entry:e.entry,as:`markdown`},e.artifact.id):r?p(r.default,{artifactId:e.artifact.id,title:e.artifact.title,files:e.files,entry:e.entry},e.artifact.id):p(`div`,{class:q.state,"aria-busy":`true`,children:t(`artifact.loading`)})}function Z(e){let[r,o]=i(),[s,c]=i(!1);return n(()=>{let e=!0;return a(()=>import(`./SpreadsheetPanel-CaPNTLXV.js`).then(t=>{e&&o(t)},()=>{e&&c(!0)}),__vite__mapDeps([16,1,2,3,4,7,8,17])),()=>{e=!1}},[]),s?p(`div`,{class:`${q.state} ${q.stateError}`,role:`status`,children:t(`sheet.error`)}):r?`dataset`in e?p(r.DatasetSpreadsheet,{dataset:e.dataset,original:!0}):p(r.ArtifactSpreadsheet,{artifactId:e.artifactId,name:e.name}):p(`div`,{class:q.state,"aria-busy":`true`,children:t(`artifact.loading`)})}function _e(e){let{artifact:r}=e,[a,o]=i(),[s,c]=i(!1),l=typeof navigator>`u`||navigator.pdfViewerEnabled!==!1;return n(()=>{if(!l)return;let e=!0;return c(!1),x(r.id).then(t=>{e&&o(t)},t=>{e&&(c(!0),y(t)&&S(r.id,t instanceof Error?t.message:String(t)))}),()=>{e=!1}},[r.id,l]),l?s?p(`div`,{class:`${q.state} ${q.stateError}`,role:`status`,children:t(`artifactPanel.loadFailed`)}):p(`div`,{class:q.frameWrap,children:a?p(`iframe`,{class:q.frame,src:a,title:t(`artifactPanel.frameTitle`,{name:r.title}),referrerpolicy:`no-referrer`}):p(`div`,{class:q.skeleton,"aria-busy":`true`,children:t(`artifact.loading`)})}):p(Y,{artifact:r,reason:`noPreview`})}var Q=`artifact-panel`,$=`artifact-panel-title`,ve=`a[href], button:not([disabled]), input:not([disabled]), iframe, [tabindex]:not([tabindex="-1"])`;function ye(e){let{detail:t}=e,n=t.entry??t.fileName,r=g(t);if(r.kind===`markdown`&&N(t))return p(ge,{artifact:t,entry:n,files:t.files});switch(r.kind){case`html`:return p(me,{artifact:t});case`pdf`:return p(_e,{artifact:t});case`image`:return p(he,{artifact:t,entry:n});case`spreadsheet`:return p(Z,{artifactId:t.id,name:t.fileName},t.id);case`markdown`:case`json`:case`code`:return p(X,{artifact:t,entry:n,as:r.kind},t.id);default:return p(Y,{artifact:t,reason:r.reason})}}function be(e){let[a,o]=i(`.`),[s,c]=i(!1),[l,d]=i(!1),f=r(null);return n(()=>f.current?.focus(),[]),p(`form`,{class:q.sheet,"aria-label":t(`artifactPanel.exportTitle`),onSubmit:async n=>{n.preventDefault(),d(!0);let r=await T(e.artifact.id,a,s);d(!1),r&&(u.value=t(`artifactPanel.exportStarted`,{name:e.artifact.fileName}),e.onDone())},children:[p(`h3`,{children:t(`artifactPanel.exportTitle`)}),p(`label`,{children:[t(`artifactPanel.exportTarget`),p(`input`,{ref:f,type:`text`,value:a,spellcheck:!1,autocomplete:`off`,onInput:e=>o(e.currentTarget.value)})]}),p(`p`,{class:q.hint,children:t(`artifactPanel.exportHint`)}),p(`label`,{class:q.check,children:[p(`input`,{type:`checkbox`,checked:s,onChange:e=>c(e.currentTarget.checked)}),t(`artifactPanel.overwrite`)]}),p(`div`,{class:q.row,children:[p(`button`,{type:`button`,class:q.button,onClick:e.onDone,children:t(`common.cancel`)}),p(`button`,{type:`submit`,class:`${q.button} ${q.primary}`,disabled:l,children:t(`artifactPanel.exportSubmit`)})]})]})}function xe(e){let a=C.value,c=s.value,d=(c?te.value[c]:void 0)??[],h=a?.id,g=a?.dataset,[_,v]=i({status:`loading`}),[b,w]=i(!!a?.listOpen||!h&&!g),[T,D]=i(),[O,k]=i(!1),[A,j]=i(0),M=r(null),N=r(null);n(()=>{w(!!a?.listOpen||!a?.id&&!a?.dataset)},[a]),n(()=>{if(D(void 0),!h)return;let e=!0;return v({status:`loading`}),l.artifact(h).then(t=>{e&&(t.status===`ready`?v({status:`ready`,detail:t}):(v({status:`gone`,detail:t}),w(!0)))},t=>{if(!e)return;let n=t instanceof Error?t.message:String(t);y(t)?(S(h,n),v({status:`gone`}),w(!0)):v({status:`error`,message:n})}),()=>{e=!1}},[h,A]),n(()=>{C.peek()?.listOpen||N.current?.focus()},[h]),n(()=>{let e=()=>k(document.fullscreenElement===M.current);return document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)},[]);let P=_.status===`ready`?_.detail:void 0,F=d.find(e=>e.id===h),I=P??F,L=I?t(`artifact.kind.${I.kind}`):``,R=!!P&&(P.kind===`dashboard`||P.mimeType===`application/pdf`),z=()=>{document.fullscreenElement===M.current&&document.exitFullscreen?.(),ee()},B=()=>{let t=M.current;if(t){if(document.fullscreenElement===t){document.exitFullscreen();return}if(typeof t.requestFullscreen!=`function`||document.fullscreenEnabled===!1){E(!e.expanded);return}t.requestFullscreen().catch(()=>E(!e.expanded))}},V=()=>{w(!1),N.current?.focus()},H=_.status===`gone`?_.detail:void 0,U=e=>typeof e?.provenance.executionId==`string`,W=e=>({key:`rerun`,label:t(`artifactPanel.rerun`),icon:`refresh`,onSelect:()=>{w(!1),ne(e.id,e.fileName)}}),G=()=>({key:`details`,label:t(`artifactPanel.details`),icon:`info`,onSelect:()=>{D(T===`details`?void 0:`details`),w(!1)}}),K=P?[...R?[{key:`tab`,label:t(`artifactPanel.openNewTab`),icon:`globe`,onSelect:()=>{let e=window.open(`about:blank`,`_blank`);w(!1),x(P.id).then(t=>{e&&(e.opener=null,e.location.href=t)},()=>e?.close())}}]:[],...e.narrow?[]:[{key:`expand`,label:t(e.expanded?`artifactPanel.restore`:`artifactPanel.expand`),icon:e.expanded?`shrink`:`expand`,onSelect:()=>{E(!e.expanded),w(!1)}}],...typeof P.provenance.executionId==`string`?[{key:`sources`,label:t(`artifactPanel.sources`),icon:`terminal`,href:l.artifactSourcesUrl(P.id),download:!0}]:[],{key:`export`,label:t(`artifactPanel.export`),icon:`folder`,onSelect:()=>{D(`export`),w(!1)}},G(),...U(P)?[W(P)]:[],{key:`delete`,label:t(`artifactPanel.delete`),icon:`x`,danger:!0,onSelect:()=>{D(`delete`),w(!1)}}]:H?.status===`expired`?[G(),...U(H)?[W(H)]:[]]:[];return p(`aside`,{ref:M,id:Q,class:q.panel,style:e.width&&!e.expanded&&!e.narrow?{width:`${e.width}px`}:void 0,"data-expanded":e.expanded?`true`:void 0,"data-narrow":e.narrow?`true`:void 0,role:e.narrow?`dialog`:`complementary`,"aria-modal":e.narrow?`true`:void 0,"aria-labelledby":$,inert:e.inert,onKeyDown:t=>{if(t.key===`Escape`&&!t.defaultPrevented){t.preventDefault(),b&&h?V():T?D(void 0):z();return}if(t.key===`Tab`&&e.narrow&&M.current){let e=[...M.current.querySelectorAll(ve)].filter(e=>e.offsetParent!==null||e===document.activeElement),n=e[0],r=e.at(-1);if(!n||!r)return;t.shiftKey&&document.activeElement===n?(t.preventDefault(),r.focus()):!t.shiftKey&&document.activeElement===r&&(t.preventDefault(),n.focus())}},children:[e.narrow?p(`span`,{tabIndex:0,class:`sr-only`,onFocus:()=>{let e=M.current?.querySelectorAll(`header button, header a[href]`);e?.[e.length-1]?.focus()}}):null,p(`header`,{class:q.head,children:[p(`button`,{ref:N,id:$,type:`button`,class:q.titleButton,"aria-haspopup":`listbox`,"aria-expanded":b,title:g?.name??I?.fileName??t(`artifactPanel.label`),onClick:()=>b?V():w(!0),children:[I||g?p(`span`,{class:q.kindIcon,children:p(m,{name:g?`fileTable`:f[I.kind],size:17})}):null,p(`span`,{class:q.titleText,children:[g?g.name:I?I.title:t(`artifactPanel.label`),p(`span`,{class:`sr-only`,children:[I?`, ${L}. `:`. `,t(`artifactPanel.switch`)]})]}),p(m,{name:`chevronDown`,size:14})]}),p(`div`,{class:q.actions,children:[P?p(`a`,{class:q.iconButton,href:o(P.id),download:``,"aria-label":t(`artifact.downloadNamed`,{name:P.fileName}),title:t(`artifact.download`),children:p(m,{name:`download`,size:16})}):null,p(`button`,{type:`button`,class:q.iconButton,"aria-pressed":O,"aria-label":t(O?`artifactPanel.exitFullscreen`:`artifactPanel.fullscreen`),title:t(O?`artifactPanel.exitFullscreen`:`artifactPanel.fullscreen`),onClick:B,children:p(m,{name:O?`shrink`:`expand`,size:16})}),p(`button`,{type:`button`,class:q.iconButton,"aria-label":t(`artifactPanel.close`),title:t(`artifactPanel.close`),onClick:z,children:p(m,{name:`x`,size:16})})]}),b?p(fe,{id:`${Q}-switcher`,list:d,...h?{current:h}:{},unseen:oe.value,...a?.filter?{initialFilter:a.filter}:{},actions:K,onPick:e=>{w(!1),e===h?N.current?.focus():ae(e)},onClose:V}):null]}),T===`export`&&P?p(be,{artifact:P,onDone:()=>D(void 0)}):null,T===`details`&&(P??H)?p(ue,{detail:P??H}):null,T===`delete`&&P?p(`div`,{class:q.sheet,role:`alertdialog`,"aria-label":t(`artifactPanel.delete`),children:[p(`p`,{children:t(`artifactPanel.deleteConfirm`,{name:P.fileName})}),p(`div`,{class:q.row,children:[p(`button`,{type:`button`,class:q.button,onClick:()=>D(void 0),ref:e=>e?.focus(),children:t(`common.cancel`)}),p(`button`,{type:`button`,class:`${q.button} ${q.danger}`,onClick:async()=>{try{await ie(P.id),D(void 0),v({status:`gone`}),w(!0)}catch(e){u.value=e instanceof Error?e.message:String(e)}},children:t(`artifactPanel.delete`)})]})]}):null,p(`div`,{class:q.body,children:g?p(Z,{dataset:g},g.id):h?_.status===`loading`?p(`div`,{class:q.state,"aria-busy":`true`,children:t(`artifact.loading`)}):_.status===`error`?p(`div`,{class:`${q.state} ${q.stateError}`,role:`status`,children:[p(`p`,{children:t(`artifactPanel.loadFailed`)}),p(`p`,{children:_.message}),p(`button`,{type:`button`,class:q.button,onClick:()=>{j(e=>e+1),c&&re(c)},children:t(`artifact.retry`)})]}):_.status===`gone`?p(`div`,{class:q.state,role:`status`,children:[p(`p`,{children:_.detail?.status===`expired`?t(`artifact.expired`):t(`artifact.deleted`)}),p(`p`,{children:_.detail?.status===`expired`?t(`artifactPanel.expiredHint`):t(`artifactPanel.gone`)})]}):p(ye,{detail:_.detail}):d.some(e=>e.status===`ready`)?null:p(`div`,{class:q.state,children:t(`artifactPanel.empty`)})}),e.narrow?p(`span`,{tabIndex:0,class:`sr-only`,onFocus:()=>N.current?.focus()}):null]})}export{xe as ArtifactPanel,V as a,W as c,H as i,B as l,U as n,ce as o,G as r,K as s,le as t};
@@ -1 +0,0 @@
1
- import{a as e,b as t,g as n,y as r}from"./i18n-BZax1Psk.js";import{E as i,It as a,J as o,ct as s,k as c}from"./app-D95B_PAO.js";import{t as l}from"./jsxRuntime-C-CM9h-f.js";import{L as u,M as d,_ as f,j as p}from"./index-Bfl4EFzp.js";var m=[`ask`,`auto`,`full`];function h(e,t){return m.flatMap(n=>{let r=e.find(e=>e.mode===n);return r?[{mode:n,preset:r.id,available:r.available,checked:r.id===t,...r.reason?{reason:r.reason}:{}}]:[]})}var g={"analysis.run":`permissions.analysisRun`},_=(t,n)=>e(t===`auto`?`mode.auto`:`preset.${n}`),v=e=>new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`});function y(){let m=n(null),[y,b]=r(!1),x=c.value,S=x?h(x.presets,x.preset):[],C=S.find(e=>e.checked),w=i.value,T=p.value?.sessionId===w?p.value:void 0,E=T?d(T.items):[];return t(()=>{m.current?.focus();let e=e=>{e instanceof KeyboardEvent&&e.key!==`Escape`||e instanceof MouseEvent&&m.current?.contains(e.target)||(o.value=!1)};return document.addEventListener(`keydown`,e),document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`mousedown`,e)}},[]),l(`div`,{ref:m,class:f.popover,role:`dialog`,"aria-label":e(`permissions.title`),tabIndex:-1,children:[l(`p`,{class:f.popoverTitle,children:e(`modes.title`)}),l(`ul`,{class:f.modes,role:`radiogroup`,"aria-label":e(`modes.title`),children:S.map(t=>l(`li`,{children:l(`button`,{type:`button`,role:`radio`,"aria-checked":t.checked,disabled:!t.available,class:f.mode,"data-checked":t.checked?`true`:void 0,onClick:()=>{x&&!t.checked&&(!a(t.preset,x.preset)||window.confirm(e(`modes.fullConfirm`)))&&s(t.preset)},children:[l(`strong`,{children:_(t.mode,t.preset)}),l(`span`,{class:f.grantMeta,children:t.reason??e(`presetHint.${t.preset}`)})]})},t.mode))}),l(`p`,{class:f.modeStatus,role:`status`,children:C?e(`modes.status`,{mode:_(C.mode,C.preset)}):e(`modes.statusReadOnly`)}),l(`button`,{type:`button`,class:f.manage,"aria-expanded":y,onClick:()=>b(!y),children:e(`modes.manage`)}),y?T?T.error?l(`p`,{class:f.popoverEmpty,children:e(`permissions.loadFailed`)}):E.length?l(`ul`,{class:f.grants,children:E.map(t=>l(`li`,{class:f.grant,children:[l(`span`,{children:[l(`strong`,{children:e(g[t.capability]??`permissions.analysisRun`)}),l(`span`,{class:f.grantMeta,children:e(`permissions.allowedSession`,{time:v(t.createdAt)})})]}),l(`button`,{type:`button`,class:f.revoke,onClick:()=>w&&void u(w,t.id),children:e(`permissions.revoke`)})]},t.id))}):l(`p`,{class:f.popoverEmpty,children:e(`permissions.none`)}):l(`p`,{class:f.popoverEmpty,children:e(`common.loading`)}):null]})}export{y as PermissionsMenu};
@@ -1 +0,0 @@
1
- import{T as e,a as t,b as n,g as r,y as i}from"./i18n-BZax1Psk.js";import{u as a}from"./app-D95B_PAO.js";import{t as o}from"./jsxRuntime-C-CM9h-f.js";import{t as s}from"./icons-nQx96NOf.js";import{B as c,P as l,a as u,i as d,n as f,o as p,r as m,s as h}from"./index-Bfl4EFzp.js";import{n as g,t as _}from"./strings-im5j6AkX.js";var v={planTitle:`_planTitle_swilh_1`,contextField:`_contextField_swilh_8`,contextInput:`_contextInput_swilh_13`,diagramsLine:`_diagramsLine_swilh_32`,viewerButton:`_viewerButton_swilh_42`};function y({interaction:y}){let b=p(y),x=r(null),S=r(null),[C,w]=i(`choose`),[T,E]=i(``),[D,O]=i(!1);if(n(()=>{w(`choose`),E(``),O(!1),x.current?.focus()},[y.interactionId]),n(()=>{C===`text`?S.current?.focus():x.current?.focus()},[C]),!b)return null;let k=e=>{D||(O(!0),a(y.interactionId,u(b.question,e,T)))},A=`plan-review-${y.interactionId}`;return o(`div`,{class:c.dock,children:o(`div`,{ref:x,class:c.panel,role:`dialog`,"aria-labelledby":A,tabIndex:-1,onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),C===`text`?w(`choose`):k(`skip`))},children:[o(`div`,{class:c.head,children:[o(`span`,{class:c.badge,children:o(s,{name:`file`,size:16})}),o(`p`,{class:c.eyebrow,children:[t(`plan.review.eyebrow`),b.plan.revision>1?` · ${t(`plan.review.revision`,{n:b.plan.revision})}`:``]})]}),o(`div`,{class:c.body,children:[o(`h2`,{id:A,class:c.title,children:t(`plan.review.title`)}),o(`p`,{class:v.planTitle,children:b.plan.title}),b.plan.artifact?o(h,{artifact:b.plan.artifact,compact:!0}):null,b.plan.diagrams?.length?o(`p`,{class:v.diagramsLine,children:[o(`span`,{children:_(b.plan.diagrams.length)}),b.plan.artifact?o(`button`,{type:`button`,class:v.viewerButton,"aria-controls":`artifact-panel`,onClick:e=>l(b.plan.artifact.id,e.currentTarget),children:g(`openViewer`)}):null]}):null,C===`choose`?o(`div`,{class:c.options,role:`group`,"aria-labelledby":A,children:b.question.options.map(e=>{let n=d(e.value)?e.value:void 0,r=n!==void 0;return o(`button`,{type:`button`,class:c.option,"data-primary":n===`approve`?`true`:void 0,disabled:D,onClick:()=>{n===`context`?w(`text`):n?k(n):D||(O(!0),a(y.interactionId,{[b.question.id]:e.value}))},children:[o(`span`,{class:c.optionLabel,children:r?t(m[n]):e.label}),r?o(`span`,{class:c.optionDescription,children:t(f[n])}):e.description?o(`span`,{class:c.optionDescription,children:e.description}):null]},e.value)})}):o(`label`,{class:v.contextField,children:[o(`span`,{class:`sr-only`,children:t(`plan.review.contextLabel`)}),o(`textarea`,{ref:S,class:v.contextInput,rows:4,value:T,disabled:D,maxLength:2e4,placeholder:t(`plan.review.contextPlaceholder`),onInput:e=>E(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&!e.isComposing&&(e.preventDefault(),T.trim()&&k(`context`))}})]})]}),o(`div`,{class:c.actions,children:C===`text`?o(e,{children:[o(`button`,{type:`button`,class:c.secondary,disabled:D,onClick:()=>w(`choose`),children:t(`plan.review.back`)}),o(`span`,{class:c.gap}),o(`button`,{type:`button`,class:c.primary,disabled:D||!T.trim(),onClick:()=>k(`context`),children:t(`plan.review.send`)})]}):null})]})})}export{y as PlanReviewPanel};
@@ -1 +0,0 @@
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-BZax1Psk.js";import{K as c,d as l,dt as u,f as d,k as f,ut as p}from"./app-D95B_PAO.js";import{t as m}from"./jsxRuntime-C-CM9h-f.js";import{t as h}from"./icons-nQx96NOf.js";import{t as g}from"./CopyButton-DsWaaJHr.js";import{f as _,g as v,h as y,m as b,v as x,y as ee}from"./index-Bfl4EFzp.js";import{t as S}from"./settings.module-DoTtRfeo.js";import{a as C,c as w,i as T,l as E,n as D,o as O,r as k,s as A,t as j}from"./shared-CyriJLTb.js";var te=`https://github.com/GustavoGutierrez/alisio`;function M(){return m(`section`,{class:S.about,children:[m(D,{title:t(`settings.about`)}),m(`img`,{class:S.aboutLogo,src:`/alisio-wordmark.png`,alt:`Alisio`,width:320,height:150}),m(`p`,{class:S.aboutVersion,children:d.value?t(`about.version`,{version:d.value}):t(`about.versionUnknown`)}),m(`p`,{class:S.aboutDescription,children:t(`about.description`)}),m(`p`,{class:S.aboutAttribution,children:`Gustavo Gutiérrez · Bogotá, Colombia`}),m(`a`,{class:S.aboutLink,href:te,target:`_blank`,rel:`noopener noreferrer`,"aria-label":t(`about.repositoryLabel`),children:[m(h,{name:`github`,size:19}),t(`about.repository`)]})]})}function N(){let n=w(),[r,i]=s(),a=E(n?()=>l.agents(n.id):void 0,[n?.id],[`agents`,`plugins`]),o=f.value,u=o?.agent??a.data?.find(e=>e.default)?.id;return m(e,{children:[m(D,{title:t(`settings.agents`),body:t(`agents.lead`),workspace:n?.path}),m(C,{loading:a.loading&&!a.data,error:a.error,empty:n?void 0:`settings.noWorkspace`}),m(`ul`,{class:S.rows,children:(a.data??[]).map(n=>m(`li`,{class:S.row,"data-current":n.id===u,children:[m(`div`,{class:S.rowMain,children:[m(`div`,{class:S.rowTitle,children:[m(`span`,{class:S.cardName,children:n.name}),m(k,{tone:`off`,children:t(`agents.source.${n.source}`)}),n.readOnly?m(k,{tone:`warn`,children:t(`agents.readOnly`)}):null,n.default?m(k,{tone:`ok`,children:t(`agents.default`)}):null]}),m(`p`,{class:S.cardText,children:n.description}),n.model?m(`p`,{class:S.meta,children:t(`agents.model`,{model:n.model})}):null,n.instructions?m(e,{children:[m(`button`,{type:`button`,class:S.linkButton,"aria-expanded":r===n.id,onClick:()=>i(r===n.id?void 0:n.id),children:[m(h,{name:r===n.id?`chevronDown`:`chevronRight`,size:14}),t(`agents.instructions`)]}),r===n.id?m(`pre`,{class:S.instructions,children:n.instructions}):null]}):null]}),m(`div`,{class:S.rowActions,children:o&&!o.parentId?n.id===u?m(`span`,{class:S.meta,children:t(`agents.inUse`)}):m(`button`,{type:`button`,class:S.secondary,onClick:()=>void c({agent:n.id}),children:t(`agents.use`)}):null})]},n.id))})]})}var P={min:1,max:900},F={min:0,max:3650};function I(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 L(e){let t=I(e,P.min,P.max);return t===void 0?void 0:t*1e3}var R=e=>Math.round(e/1e3);function z(e,t){return e.find(e=>e.key===t)?.value}function B(e){return e.join(`, `)}function V(e){let[t,n]=s(),[r,i]=s(!1),a=async()=>{if(t===void 0)return;let r=e.parse?e.parse(t):I(t,e.min,e.max);if(n(void 0),r!==void 0){i(!0);try{await e.onSave(r)}catch{}finally{i(!1)}}};return m(`li`,{class:S.settingRow,children:[m(`label`,{class:S.settingLabel,for:e.id,children:[m(`span`,{children:e.label}),m(`code`,{class:S.settingKey,children:e.keyName})]}),m(`input`,{id:e.id,class:S.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 H(n){let{status:r}=n,{python:i,oci:a}=r;return m(e,{children:[m(`h4`,{class:S.sectionTitle,children:t(`settings.analysis.status`)}),m(`dl`,{class:S.facts,"data-testid":`analysis-status`,children:[m(`dt`,{children:t(`settings.analysis.mode`)}),m(`dd`,{children:m(k,{tone:r.mode===`oci`?`ok`:`warn`,children:t(r.mode===`oci`?`settings.analysis.mode.oci`:`settings.analysis.mode.managed`)})}),m(`dt`,{children:t(`settings.analysis.runtime`)}),m(`dd`,{children:i.found?t(`settings.analysis.detected`,{version:i.version,path:i.path}):m(`span`,{children:t(`settings.analysis.notFound`)})}),i.found&&i.runtimeVersion?m(e,{children:[m(`dt`,{children:t(`settings.analysis.runtimeVersion`)}),m(`dd`,{children:m(`code`,{children:i.runtimeVersion})})]}):null,m(`dt`,{children:t(`settings.analysis.extras`)}),m(`dd`,{children:i.found&&i.extras.length?t(`settings.analysis.extras.installed`,{extras:B(i.extras)}):t(`settings.analysis.extras.none`)}),m(`dt`,{children:t(`settings.analysis.oci`)}),m(`dd`,{children:r.mode===`managed`&&!a.image&&a.available===void 0?t(`settings.analysis.oci.unused`):m(e,{children:[m(`span`,{children:[a.engine,` ·`,` `,t(`settings.analysis.oci.limits`,{memory:a.memoryMb,cpus:a.cpus})]}),m(`br`,{}),a.image?m(`code`,{children:a.image}):t(`settings.analysis.oci.noImage`),a.available===void 0?null:m(e,{children:[m(`br`,{}),a.available?t(`settings.analysis.oci.available`,{version:a.version??``}):t(`settings.analysis.oci.unavailable`,{reason:a.reason??``})]})]})})]}),m(`p`,{class:S.note,role:`note`,children:t(r.mode===`oci`?`settings.analysis.containerNote`:`settings.analysis.managedNote`)}),i.found?m(`p`,{class:S.note,children:t(`settings.analysis.extras.hint`)}):m(`div`,{role:`group`,"aria-label":t(`settings.analysis.installHint.title`),children:[m(`h4`,{class:S.sectionTitle,children:t(`settings.analysis.installHint.title`)}),m(`p`,{class:S.note,children:[i.hints.system,i.hints.heading?` · ${i.hints.heading}`:``]}),m(`pre`,{class:S.note,children:m(`code`,{children:i.hints.primary})}),i.hints.alternatives.map(e=>m(`p`,{class:S.note,children:e},e)),i.hints.notes.map(e=>m(`p`,{class:S.note,children:e},e)),m(`p`,{class:S.note,children:t(`settings.analysis.installHint.afterInstall`)})]})]})}function U(){let n=w(),r=E(n?()=>l.analysis(n.id):void 0,[n?.id]),i=E(n?()=>l.settings(n.id):void 0,[n?.id]),[a,o]=s(!1),c=!!i.data?.readOnly,d=i.data?.settings??[],f=async(e,t)=>{if(n&&i.data)try{await l.setSetting(n.id,e,t),i.set({...i.data,settings:i.data.settings.map(n=>n.key===e?{...n,value:t}:n)}),r.reload()}catch(e){throw u(A(e)),e}},p=z(d,`analysis.enabled`),h=z(d,`analysis.smartDashboard`),g=(e,t)=>{let n=z(d,e);return typeof n==`number`?n:t},_=r.data?.retention.lastSweep;return m(e,{children:[m(D,{title:t(`settings.analysis.title`),body:t(`settings.analysis.lead`)}),m(C,{loading:i.loading&&!i.data||r.loading&&!r.data,error:i.error??r.error,empty:n?void 0:`settings.noWorkspace`}),r.data?.readOnly?m(`p`,{class:S.note,children:t(`settings.analysis.readOnlyRuntime`)}):p===!1?m(`p`,{class:S.note,children:t(`settings.analysis.disabled`)}):null,r.data?m(H,{status:r.data}):null,i.data?m(e,{children:[c?m(`p`,{class:S.note,children:t(`settings.readOnly`)}):null,m(`ul`,{class:S.settingList,children:[m(`li`,{class:S.settingRow,children:[m(`label`,{class:S.settingLabel,for:`analysis-enabled`,children:[m(`span`,{children:t(`settings.analysis.enabled`)}),m(`code`,{class:S.settingKey,children:`analysis.enabled`})]}),m(O,{checked:p!==!1,label:t(`settings.analysis.enabled`),disabled:c,busy:a,onChange:e=>{o(!0),f(`analysis.enabled`,e).catch(()=>void 0).finally(()=>o(!1))}})]}),m(`li`,{class:S.settingRow,children:[m(`label`,{class:S.settingLabel,for:`analysis-smart-dashboard`,children:[m(`span`,{children:t(`settings.analysis.smartDashboard`)}),m(`code`,{class:S.settingKey,children:`analysis.smartDashboard`})]}),m(O,{checked:h!==!1,label:t(`settings.analysis.smartDashboard`),disabled:c,busy:a,onChange:e=>{o(!0),f(`analysis.smartDashboard`,e).catch(()=>void 0).finally(()=>o(!1))}})]}),m(V,{id:`analysis-timeout`,label:t(`settings.analysis.timeout`),keyName:`analysis.limits.timeoutMs`,value:R(g(`analysis.limits.timeoutMs`,12e4)),min:P.min,max:P.max,disabled:c,parse:L,onSave:e=>f(`analysis.limits.timeoutMs`,e)})]}),m(`p`,{class:S.note,children:t(`settings.analysis.enabledHint`)}),m(`p`,{class:S.note,children:t(`settings.analysis.smartDashboardHint`)}),m(`h4`,{class:S.sectionTitle,children:t(`settings.analysis.retention`)}),m(`p`,{class:S.note,children:t(`settings.analysis.retention.lead`)}),m(`ul`,{class:S.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])=>m(V,{id:`analysis-${e}`,label:t(n),keyName:e,value:g(e,r),min:F.min,max:F.max,disabled:c,onSave:t=>f(e,t)},e))}),m(`p`,{class:S.note,children:_===void 0?t(`settings.analysis.retention.never`):t(`settings.analysis.retention.lastSweep`,{time:new Date(_).toLocaleString()})})]}):null]})}function W(){let n=w(),r=E(n?()=>l.settings(n.id):void 0,[n?.id]),i=E(n?()=>l.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 l.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(),x(n.id)}catch(e){u(A(e))}};return m(e,{children:[m(D,{title:t(`settings.appearance`),body:t(`appearance.lead`)}),m(j,{legend:t(`settings.theme`),value:v.value,options:[`dark`,`light`,`system`].map(e=>({id:e,label:t(`theme.${e}`)})),onChange:y}),m(j,{legend:t(`settings.density`),value:_.value,options:[`compact`,`detailed`].map(e=>({id:e,label:t(`density.${e}`)})),onChange:b}),m(C,{loading:i.loading&&!i.data,error:i.error,empty:n?void 0:`settings.noWorkspace`}),i.data?m(e,{children:[m(j,{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?m(`p`,{class:S.note,children:t(`appearance.iconTheme.empty`)}):null]}):null]})}var G={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`},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`}},K=(e,t)=>G[t][e]??G.en[e]??e,q=/^(tui|agents|analysis|web)\./;function J(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=K(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 m(`li`,{class:S.settingRow,children:[m(`label`,{class:S.settingLabel,for:d,children:[m(`span`,{children:u}),m(`code`,{class:S.settingKey,children:n.key})]}),n.kind===`boolean`?m(O,{checked:n.value===!0,label:u,disabled:e.disabled,busy:o,onChange:e=>void l(e)}):n.kind===`enum`?m(`select`,{id:d,class:S.input,disabled:e.disabled||o,value:typeof n.value==`string`?n.value:``,onChange:e=>{let t=e.target.value;l(t===``?null:t)},children:[m(`option`,{value:``,children:t(`settings.default`)}),(n.options??[]).map(e=>m(`option`,{value:e,children:e},e))]}):m(`input`,{id:d,class:S.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 Y(){let n=w(),r=E(n?()=>l.settings(n.id):void 0,[n?.id]),s=async(e,t)=>{if(n&&r.data)try{await l.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 u(A(e)),e}},c=(r.data?.settings??[]).filter(e=>!q.test(e.key));return m(e,{children:[m(D,{title:t(`settings.general`)}),m(j,{legend:t(`settings.language`),value:a.value,options:o.map(e=>({id:e,label:t(`language.${e}`)})),onChange:i}),m(`h4`,{class:S.sectionTitle,children:t(`settings.agentSettings`)}),m(`p`,{class:S.note,children:[t(`settings.agentSettingsLead`),r.data?m(e,{children:[` `,m(`code`,{children:r.data.settingsPath})]}):null]}),m(C,{loading:r.loading&&!r.data,error:r.error,empty:n?void 0:`settings.noWorkspace`}),r.data?.readOnly?m(`p`,{class:S.note,children:t(`settings.readOnly`)}):null,m(`ul`,{class:S.settingList,children:c.map(e=>m(J,{setting:e,disabled:!!r.data?.readOnly,onSave:t=>s(e.key,t)},e.key))})]})}var X={connected:`ok`,connecting:`warn`,failed:`danger`,"needs-authentication":`warn`,"restart-required":`warn`};function Z(e){let[n,r]=s(!1);return m(`div`,{class:S.confirm,role:`alertdialog`,"aria-labelledby":`mcp-consent-title`,children:[m(`h4`,{id:`mcp-consent-title`,class:S.confirmTitle,children:[m(h,{name:`alert`,size:17}),t(`mcp.consentTitle`)]}),m(`p`,{class:S.cardText,children:t(`mcp.consentBody`)}),m(`label`,{class:S.checkRow,children:[m(`input`,{type:`checkbox`,checked:n,onChange:e=>r(e.target.checked)}),m(`span`,{children:t(`mcp.remember`)})]}),m(`div`,{class:S.actions,children:[m(`button`,{type:`button`,class:S.secondary,onClick:e.onCancel,children:t(`common.cancel`)}),m(`button`,{type:`button`,class:S.primary,onClick:()=>e.onGrant(n),children:t(`mcp.grant`)})]})]})}function ne(){let n=w(),[r,i]=s(!1),[a,o]=s(),c=E(n?()=>l.mcp(n.id):void 0,[n?.id],[`mcp`]),d=c.data,f=e=>{d&&c.set({...d,servers:d.servers.map(t=>t.name===e.name?e:t)})},p=async(e,t,r)=>{if(n){o(e.name);try{let i=await l.setMcp(n.id,e.name,t,r);f(i),r&&i.status!==`connected`&&i.diagnostic&&u(i.diagnostic)}catch(e){u(A(e))}finally{o(void 0)}}},h=async e=>{if(n){i(!1);try{c.set(await l.mcpConsent(n.id,e))}catch(e){u(A(e))}}},g=d?.permission===`granted`;return m(e,{children:[m(D,{title:t(`settings.mcp`),body:t(`mcp.lead`),workspace:n?.path}),d?m(`div`,{class:S.banner,"data-tone":g?`ok`:`warn`,children:[m(`span`,{children:d.permission===`read-only`?t(`mcp.readOnly`):g?d.persisted?t(`mcp.grantedPersisted`):t(`mcp.granted`):t(`mcp.notGranted`)}),d.permission===`not-granted`&&!r?m(`button`,{type:`button`,class:S.primary,onClick:()=>i(!0),children:t(`mcp.grant`)}):null]}):null,r?m(Z,{onCancel:()=>i(!1),onGrant:e=>void h(e)}):null,m(C,{loading:c.loading&&!d,error:c.error,empty:n?d&&!d.servers.length?`mcp.none`:void 0:`settings.noWorkspace`}),m(`ul`,{class:S.rows,children:(d?.servers??[]).map(e=>m(`li`,{class:S.row,children:[m(`div`,{class:S.rowMain,children:[m(`div`,{class:S.rowTitle,children:[m(`span`,{class:S.cardName,children:e.displayName}),m(k,{tone:X[e.status]??`off`,children:t(`mcp.status`,{status:e.status})})]}),m(`p`,{class:S.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?m(`p`,{class:S.diagnostic,children:e.diagnostic}):null]}),m(`div`,{class:S.rowActions,children:[e.enabled&&e.status!==`connected`?m(`button`,{type:`button`,class:S.secondary,disabled:!g||a===e.name,title:g?void 0:t(`mcp.needsGrant`),onClick:()=>void p(e,!0,!0),children:t(`mcp.connect`)}):null,m(O,{checked:e.enabled,label:t(`plugins.enableNamed`,{name:e.displayName}),disabled:d?.permission===`read-only`,busy:a===e.name,onChange:t=>void p(e,t,!1)})]})]},e.name))})]})}var re={apiKey:`API key`,bearerToken:`Bearer token`};function ie(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 ae(e){let[n,r]=s(``),[i,a]=s(!1),o=re[e.field]??e.field,c=`cred-${e.profile}-${e.field}`,d=async()=>{let i=n.trim();if(i){a(!0);try{let n=await l.setCredentials(e.profile,{[e.field]:i});e.onChange({...n,source:`file`}),r(``),u(t(`models.credential.saved`))}catch(e){u(A(e))}finally{a(!1)}}},f=async()=>{a(!0);try{await l.deleteCredentials(e.profile),e.onChange({configured:!1})}catch(e){u(A(e))}finally{a(!1)}};return m(`div`,{class:S.credential,children:[m(`label`,{for:c,class:S.settingLabel,children:[m(`span`,{children:o}),m(`span`,{class:S.meta,"data-configured":e.status.configured,children:ie(e.status)})]}),m(`form`,{class:S.credentialForm,onSubmit:e=>{e.preventDefault(),d()},children:[m(`input`,{id:c,class:S.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)}),m(`button`,{type:`submit`,class:S.primary,disabled:i||!n.trim(),children:t(`models.credential.save`)}),e.status.configured&&e.status.source===`file`?m(`button`,{type:`button`,class:S.secondary,disabled:i,onClick:()=>void f(),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??``),[d,f]=s(e.initial?.values??{}),[p,h]=s(!1),g=(e.types.find(e=>e.id===i)?.fields??[]).filter(e=>e.kind!==`secret`),_=(e,t)=>d[e]??t,v=async()=>{h(!0);try{let t={};for(let e of g){let n=_(e.key,e.defaultValue);n!==void 0&&n!==``&&(t[e.key]=n)}e.onSaved(await l.saveProfile(e.workspace,n.trim(),{provider:i,values:t,model:o}))}catch(e){u(A(e))}finally{h(!1)}};return m(`form`,{class:S.profileForm,onSubmit:e=>{e.preventDefault(),v()},children:[m(`label`,{class:S.formRow,children:[m(`span`,{children:t(`models.form.name`)}),m(`input`,{class:S.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)})]}),m(`label`,{class:S.formRow,children:[m(`span`,{children:t(`models.form.type`)}),m(`select`,{class:S.input,value:i,onChange:e=>a(e.target.value),children:e.types.map(e=>m(`option`,{value:e.id,children:e.name},e.id))})]}),g.map(e=>m(`label`,{class:S.formRow,title:e.description,children:[m(`span`,{children:e.label}),e.kind===`select`?m(`select`,{class:S.input,value:String(_(e.key,e.defaultValue)??``),onChange:t=>f({...d,[e.key]:t.target.value}),children:(e.options??[]).map(e=>m(`option`,{value:e.value,children:e.label},e.value))}):e.kind===`boolean`?m(`input`,{type:`checkbox`,checked:_(e.key,e.defaultValue)===!0,onChange:t=>f({...d,[e.key]:t.target.checked})}):m(`input`,{class:S.input,type:e.kind===`url`?`url`:`text`,required:e.required,value:String(_(e.key,e.defaultValue)??``),onInput:t=>f({...d,[e.key]:t.target.value})})]},e.key)),m(`label`,{class:S.formRow,children:[m(`span`,{children:t(`models.form.model`)}),m(`input`,{class:S.input,required:!0,value:o,onInput:e=>c(e.target.value)})]}),m(`p`,{class:S.note,children:t(`models.form.secretsNote`)}),m(`div`,{class:S.actions,children:[m(`button`,{type:`button`,class:S.secondary,onClick:e.onCancel,children:t(`common.cancel`)}),m(`button`,{type:`submit`,class:S.primary,disabled:p,children:t(`models.form.save`)})]})]})}function oe(n){let{profile:r,overview:i}=n,[a,o]=s(!1),[c,d]=s(r.model),[f,p]=s(!1),g=i.types.find(e=>e.id===r.provider),_=i.current?.profile===r.name,v=async()=>{p(!0);try{let{changed:e}=await l.activateProvider(n.workspace,r.name,c);u(e?t(`models.activated`,{name:r.name}):t(`models.unchanged`)),n.onActivated()}catch(e){u(A(e))}finally{p(!1)}},y=n.catalog?.models??[];return m(`li`,{class:S.row,"data-current":_,children:m(`div`,{class:S.rowMain,children:[m(`div`,{class:S.rowTitle,children:[m(`span`,{class:S.cardName,children:r.name}),m(k,{tone:`off`,children:g?.name??r.provider}),r.active?m(k,{tone:`ok`,children:t(`models.activeGlobal`)}):null,_?m(k,{tone:`ok`,children:t(`models.current`)}):null,m(`button`,{type:`button`,class:S.linkButton,"aria-expanded":a,onClick:()=>o(!a),children:[m(h,{name:`edit`,size:14}),t(`models.edit`)]})]}),a?m(Q,{types:i.types,initial:r,workspace:n.workspace,onCancel:()=>o(!1),onSaved:e=>{o(!1),n.onChange(e)}}):m(`dl`,{class:S.facts,children:[m(`dt`,{children:t(`models.form.model`)}),m(`dd`,{children:r.model}),Object.entries(r.values).map(([t,n])=>m(e,{children:[m(`dt`,{children:g?.fields.find(e=>e.key===t)?.label??t}),m(`dd`,{children:String(n)})]},t))]}),Object.entries(r.credentials).map(([e,t])=>m(ae,{profile:r.name,field:e,status:t,onChange:t=>n.onChange({...r,credentials:{...r.credentials,[e]:t}})},e)),m(`form`,{class:S.credentialForm,onSubmit:e=>{e.preventDefault(),v()},children:[y.length?m(`select`,{class:S.input,"aria-label":t(`models.form.model`),value:c,onChange:e=>d(e.target.value),children:[y.some(e=>e.id===c)?null:m(`option`,{value:c,children:c}),y.map(e=>m(`option`,{value:e.id,children:e.name??e.id},e.id))]}):m(`input`,{class:S.input,"aria-label":t(`models.form.model`),value:c,onInput:e=>d(e.target.value)}),m(`button`,{type:`submit`,class:S.secondary,disabled:f||!c.trim(),children:t(`models.activate`)}),n.catalog?.unavailable?m(`span`,{class:S.meta,children:t(`composer.modelsUnavailable`)}):null]})]})})}function se(){let n=w(),[r,i]=s(!1),a=E(n?()=>l.providers(n.id):void 0,[n?.id],[`models`]),o=E(n?()=>l.providerModels(n.id).catch(()=>[]):void 0,[n?.id],[`models`]),c=a.data,u=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 m(e,{children:[m(D,{title:t(`settings.models`),body:t(`models.lead`),workspace:n?.path}),c?.current?m(`p`,{class:S.banner,"data-tone":`ok`,children:t(`models.running`,{provider:c.current.provider,model:c.current.model,profile:c.current.profile??`—`})}):null,m(C,{loading:a.loading&&!c,error:a.error,empty:n?c&&!c.profiles.length?`models.none`:void 0:`settings.noWorkspace`}),m(`ul`,{class:S.rows,children:(c?.profiles??[]).map(e=>m(oe,{profile:e,overview:c,catalog:o.data?.find(t=>t.profile===e.name),workspace:n?.id??``,onChange:u,onActivated:()=>a.reload()},e.name))}),n&&c?.types.length?r?m(Q,{types:c.types,workspace:n.id,onCancel:()=>i(!1),onSaved:e=>{i(!1),u(e)}}):m(`button`,{type:`button`,class:`${S.secondary} ${S.addButton}`,onClick:()=>i(!0),children:t(`models.add`)}):null]})}var ce={active:`ok`,inactive:`off`,failed:`danger`,"restart-required":`warn`};function le(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 $(n){let{plugin:r}=n,[i,a]=s(!1),o=`plugin-${r.id}`;return m(`li`,{class:S.card,"data-open":i,children:[m(`button`,{type:`button`,class:S.cardHead,"aria-expanded":i,"aria-controls":o,onClick:()=>a(!i),children:[m(`span`,{class:S.cardName,title:r.name,children:r.name}),m(k,{tone:ce[r.status],children:le(r)}),m(h,{name:i?`chevronDown`:`chevronRight`,size:16,class:S.chevron})]}),i?m(`div`,{id:o,class:S.cardBody,children:[r.description?m(`p`,{class:S.cardText,children:r.description}):null,m(`dl`,{class:S.facts,children:[m(`dt`,{children:t(`plugins.id`)}),m(`dd`,{children:m(`code`,{children:r.id})}),r.version?m(e,{children:[m(`dt`,{children:t(`plugins.version`)}),m(`dd`,{children:r.version})]}):null,m(`dt`,{children:t(`plugins.source`)}),m(`dd`,{children:r.builtin?t(`plugins.builtin`):r.source}),r.categories.length?m(e,{children:[m(`dt`,{children:t(`plugins.categories`)}),m(`dd`,{children:r.categories.join(`, `)})]}):null,m(`dt`,{children:t(`plugins.tools`)}),m(`dd`,{children:r.tools.length?r.tools.join(`, `):`—`}),m(`dt`,{children:t(`plugins.commands`)}),m(`dd`,{children:r.commands.length?r.commands.map(e=>`/${e}`).join(`, `):`—`})]}),r.diagnostic?m(`p`,{class:S.diagnostic,children:r.diagnostic}):null,m(`div`,{class:S.toggleRow,children:[m(`span`,{children:t(`plugins.enable`)}),m(O,{checked:r.enabled,label:t(`plugins.enableNamed`,{name:r.name}),disabled:!r.manageable,busy:n.busy,onChange:n.onToggle})]})]}):null]})}function ue(){let n=w(),[r,i]=s(`list`),[a,o]=s(``),[c,d]=s(),f=E(n?()=>l.plugins(n.id):void 0,[n?.id],[`plugins`]),p=E(n&&r===`configuration`?()=>l.settings(n.id):void 0,[n?.id,r]),g=async(e,r)=>{if(n){d(e.id);try{let i=await l.setPlugin(n.id,e.id,r);f.set((f.data??[]).map(e=>e.id===i.id?i:e)),i.status===`restart-required`&&u(t(`plugins.deferred`))}catch(e){u(A(e))}finally{d(void 0)}}},_=a.trim().toLowerCase(),v=(f.data??[]).filter(e=>!_||e.name.toLowerCase().includes(_)||e.id.toLowerCase().includes(_)||e.description.toLowerCase().includes(_));return m(e,{children:[m(D,{title:t(`settings.plugins`),body:t(`plugins.lead`),workspace:n?.path}),m(`div`,{class:S.tabs,role:`tablist`,children:[`configuration`,`list`].map(e=>m(`button`,{type:`button`,role:`tab`,class:S.tab,"aria-selected":r===e,onClick:()=>i(e),children:t(e===`list`?`plugins.tab.list`:`plugins.tab.configuration`)},e))}),r===`configuration`?m(`div`,{class:S.stack,children:[m(`p`,{class:S.callout,children:[m(h,{name:`shield`,size:16}),m(`span`,{children:t(`plugins.notSandboxed`)})]}),m(`p`,{class:S.note,children:t(`plugins.howToInstall`)}),m(`p`,{class:S.note,children:t(`plugins.applyNote`)}),p.data?m(`p`,{class:S.note,children:[t(`plugins.projectFile`),` `,m(`code`,{children:p.data.configPath})]}):null]}):m(e,{children:[m(T,{value:a,label:t(`plugins.search`),onInput:o}),m(`h4`,{class:S.listTitle,children:[t(`plugins.tab.list`),` `,m(`span`,{class:S.count,children:v.length})]}),m(C,{loading:f.loading&&!f.data,error:f.error,empty:n?f.data&&!v.length?`plugins.none`:void 0:`settings.noWorkspace`}),m(`ul`,{class:S.grid,children:v.map(e=>m($,{plugin:e,busy:c===e.id,onToggle:t=>void g(e,t)},e.id))})]})]})}function de(){let n=w(),[r,i]=s(``),[a,o]=s(),c=E(n?()=>l.skills(n.id):void 0,[n?.id],[`skills`]),d=async(e,t)=>{if(n){o(e.id);try{let r=await l.setSkill(n.id,e.id,t);c.set((c.data??[]).map(e=>e.id===r.id&&e.effective?r:e))}catch(e){u(A(e))}finally{o(void 0)}}},f=r.trim().toLowerCase(),p=(c.data??[]).filter(e=>!f||e.displayId.toLowerCase().includes(f)||e.description.toLowerCase().includes(f));return m(e,{children:[m(D,{title:t(`settings.skills`),body:t(`skills.lead`),workspace:n?.path}),m(T,{value:r,label:t(`skills.search`),onInput:i}),m(C,{loading:c.loading&&!c.data,error:c.error,empty:n?c.data&&!p.length?`skills.none`:void 0:`settings.noWorkspace`}),m(`ul`,{class:S.rows,children:p.map(e=>m(`li`,{class:S.row,"data-muted":!e.effective,children:[m(`div`,{class:S.rowMain,children:[m(`div`,{class:S.rowTitle,children:[m(`span`,{class:S.cardName,children:e.displayId}),m(k,{tone:e.enabled&&e.effective?`ok`:`off`,children:e.effective?e.enabled?t(`plugins.status.enabled`):t(`plugins.status.disabled`):t(`skills.shadowed`)})]}),m(`p`,{class:S.cardText,children:e.description}),m(`p`,{class:S.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`)}`:``]})]}),m(O,{checked:e.enabled,label:t(`plugins.enableNamed`,{name:e.displayId}),disabled:!e.effective||!e.manageable||e.locked,busy:a===e.id,onChange:t=>void d(e,t)})]},`${e.id}:${e.source}`))})]})}var fe=[{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:`analysis`,icon:`fileChart`},{id:`appearance`,icon:`palette`},{id:`about`,icon:`info`}],pe=`button:not(:disabled), input:not(:disabled), select:not(:disabled), [tabindex='0']`;function me(e){let n=w(),r=E(n?()=>l.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 m(`div`,{class:S.popover,role:`dialog`,"aria-label":t(`config.open`),children:[m(`div`,{class:S.popoverHead,children:[m(`strong`,{children:t(`config.open`)}),m(`button`,{type:`button`,class:`icon-btn`,"aria-label":t(`common.close`),onClick:e.onClose,children:m(h,{name:`x`,size:16})})]}),m(`p`,{class:S.note,children:t(`config.lead`)}),n?null:m(`p`,{class:S.note,children:t(`settings.noWorkspace`)}),r.error?m(`p`,{class:S.errorText,children:r.error}):null,m(`ul`,{class:S.paths,children:i.map(e=>m(`li`,{children:[m(`span`,{class:S.meta,children:e.label}),m(`span`,{class:S.pathRow,children:[m(`code`,{class:S.path,children:e.path}),m(g,{text:()=>e.path,label:t(`config.copy`)})]})]},e.label))}),r.data&&!r.data.trusted?m(`p`,{class:S.note,children:t(`config.untrusted`)}):null]})}function he(){let[e,i]=s(`general`),[a,o]=s(!1),c=r(null);n(()=>{let e=document.activeElement;return c.current?.querySelector(`nav button`)?.focus(),()=>e?.focus()},[]);let l=()=>{p.value=!1};return m(`div`,{class:S.backdrop,onMouseDown:e=>{e.target===e.currentTarget&&l()},children:m(`div`,{ref:c,class:S.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(pe)??[]],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:[m(`nav`,{class:S.nav,"aria-label":t(`settings.title`),children:[m(`h2`,{id:`settings-title`,class:S.heading,children:t(`settings.title`)}),fe.map(({id:n,icon:r})=>m(`button`,{type:`button`,class:S.navItem,"aria-current":e===n?`page`:void 0,onClick:()=>i(n),children:[m(h,{name:r,size:17}),t(`settings.${n}`)]},n))]}),m(`div`,{class:S.content,children:[m(`div`,{class:S.topBar,children:[m(`button`,{type:`button`,class:S.outline,"aria-expanded":a,onClick:()=>o(!a),children:t(`config.open`)}),m(`button`,{type:`button`,class:`icon-btn`,"aria-label":t(`common.close`),onClick:l,children:m(h,{name:`x`,size:18})})]}),a?m(me,{onClose:()=>o(!1)}):null,m(e===`general`?Y:e===`models`?se:e===`plugins`?ue:e===`skills`?de:e===`mcp`?ne:e===`agents`?N:e===`analysis`?U:e===`appearance`?W:M,{})]})]})})}export{he as SettingsModal};
@@ -1 +0,0 @@
1
- import{T as e,a as t,b as n,u as r,y as i}from"./i18n-BZax1Psk.js";import{A as a,E as o}from"./app-D95B_PAO.js";import{t as s}from"./jsxRuntime-C-CM9h-f.js";import{c,d as l,l as u,u as d}from"./index-Bfl4EFzp.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} · ${c(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:c(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:c(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?``:c(e.durationMs)})]},e.eventId))})]})]})}function A(){let c=o.value,[p,m]=i(!1),[h,g]=i(`table`);n(()=>{u.sync()},[c,a.value]);let _=u.state.value,v=r(()=>l(u.state.value.items)),y=r(()=>d(u.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,3 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/tasks-CwT_L2cD.js","assets/i18n-BZax1Psk.js","assets/preload-helper-B3nfOi5I.js","assets/goal-ChMqHxdJ.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-BZax1Psk.js";import{t as s}from"./preload-helper-B3nfOi5I.js";var c=class extends Error{status;code;details;constructor(e,t,n,r){super(n),this.status=e,this.code=t,this.details=r}},l=()=>typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now().toString(36)}${Math.random().toString(36).slice(2)}`,u=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??l)().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 c(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 c(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/${d(e)}`,t);trustWorkspace=(e,t)=>this.request(`POST`,`/api/workspaces/${d(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/${d(e)}`);patchSession=(e,t)=>this.request(`PATCH`,`/api/sessions/${d(e)}`,t);messages=(e,t,n=50)=>this.request(`GET`,`/api/sessions/${d(e)}/messages?before=${t}&limit=${n}`);prompt=(e,t)=>this.request(`POST`,`/api/sessions/${d(e)}/prompts`,t);cancel=e=>this.request(`POST`,`/api/sessions/${d(e)}/cancel`,{});commands=e=>this.request(`GET`,`/api/commands${e?`?session=${d(e)}`:``}`);command=(e,t)=>this.request(`POST`,`/api/sessions/${d(e)}/commands`,t);sideQuestions=e=>this.request(`GET`,`/api/sessions/${d(e)}/btw`);askSideQuestion=(e,t,n)=>this.request(`POST`,`/api/sessions/${d(e)}/btw`,{question:t},n?{signal:n}:{});cancelSideQuestions=e=>this.request(`POST`,`/api/sessions/${d(e)}/btw/cancel`,{});models=e=>this.request(`GET`,`/api/sessions/${d(e)}/models`);context=e=>this.request(`GET`,`/api/sessions/${d(e)}/context`);approvals=e=>this.request(`GET`,`/api/approvals?session=${d(e)}`);decide=(e,t)=>this.request(`POST`,`/api/approvals/${d(e)}`,{decision:t});answer=(e,t)=>this.request(`POST`,`/api/interactions/${d(e)}`,{answer:t});tasks=e=>this.request(`GET`,`/api/sessions/${d(e)}/tasks`);taskOutput=(e,t,n)=>this.request(`GET`,`/api/sessions/${d(e)}/tasks/${d(t)}/output?offset=${n}`);stopTask=(e,t)=>this.request(`POST`,`/api/sessions/${d(e)}/tasks/${d(t)}/stop`,{});exportUrl=e=>`/api/sessions/${d(e)}/export`;artifacts=e=>this.request(`GET`,`/api/sessions/${d(e)}/artifacts?limit=200`);artifact=e=>this.request(`GET`,`/api/artifacts/${d(e)}`);artifactView=e=>this.request(`POST`,`/api/artifacts/${d(e)}/view`,{});exportArtifact=(e,t,n=!1)=>this.request(`POST`,`/api/artifacts/${d(e)}/export`,{target:t,...n?{overwrite:!0}:{}});rerunArtifact=e=>this.request(`POST`,`/api/artifacts/${d(e)}/rerun`,{});deleteArtifact=e=>this.request(`DELETE`,`/api/artifacts/${d(e)}`);artifactFileUrl=(e,t)=>`/api/artifacts/${d(e)}/files/${t.split(`/`).map(d).join(`/`)}`;artifactSourcesUrl=e=>`/api/artifacts/${d(e)}/sources`;async artifactText(e,t){return(await this.raw(this.artifactFileUrl(e,t))).text()}datasets=e=>this.request(`GET`,`/api/sessions/${d(e)}/datasets`);dataset=e=>this.request(`GET`,`/api/datasets/${d(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/${d(e)}/rows?${r}`,void 0,n?{signal:n}:{})};datasetDownloadUrl=e=>`/api/datasets/${d(e)}/download`;artifactDataset=e=>this.request(`POST`,`/api/artifacts/${d(e)}/dataset`,{});async uploadDataset(e,t){return await(await this.raw(`/api/sessions/${d(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/${d(e)}/capabilities`);revokeCapability=(e,t)=>this.request(`DELETE`,`/api/sessions/${d(e)}/capabilities/${d(t)}`);events=(e,t,n=1e3,r)=>this.request(`GET`,`/api/sessions/${d(e)}/events?after=${t}&limit=${n}${r?.length?`&types=${d(r.join(`,`))}`:``}`);tree=(e,t,n)=>this.request(`GET`,`/api/workspaces/${d(e)}/tree?path=${d(t)}${n?`&cursor=${d(n)}`:``}`);diff=(e,t)=>this.request(`GET`,`/api/workspaces/${d(e)}/diff?path=${d(t)}`);changes=e=>this.request(`GET`,`/api/sessions/${d(e)}/changes`);plugins=e=>this.request(`GET`,`/api/plugins?workspace=${d(e)}`);setPlugin=(e,t,n)=>this.request(`PATCH`,`/api/plugins/${d(t)}`,{workspace:e,enabled:n});skills=e=>this.request(`GET`,`/api/skills?workspace=${d(e)}`);setSkill=(e,t,n)=>this.request(`PATCH`,`/api/skills/${d(t)}`,{workspace:e,enabled:n});mcp=e=>this.request(`GET`,`/api/mcp?workspace=${d(e)}`);setMcp=(e,t,n,r=!1)=>this.request(`PATCH`,`/api/mcp/${d(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=${d(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/${d(e)}/reload`,{});agentDefinitions=e=>this.request(`GET`,`/api/agents/definitions${e?`?workspace=${d(e)}`:``}`);agentTemplates=()=>this.request(`GET`,`/api/agents/templates`);agentModels=e=>this.request(`GET`,`/api/agents/models?workspace=${d(e)}`);createAgent=e=>this.request(`POST`,`/api/agents`,e);updateAgent=(e,t)=>this.request(`PUT`,`/api/agents/${d(e)}`,t);deleteAgent=(e,t,n)=>this.request(`DELETE`,`/api/agents/${d(e)}?scope=${t}${n?`&workspace=${d(n)}`:``}`);agentDefinition=(e,t,n)=>this.request(`GET`,`/api/agents/${d(e)}?scope=${t}${n?`&workspace=${d(n)}`:``}`);draftAgent=(e,t)=>this.request(`POST`,`/api/agents/draft`,e,t?{signal:t}:{});agentSessions=e=>this.request(`GET`,`/api/sessions?agent=${d(e)}&archived=all&limit=50`);settings=e=>this.request(`GET`,`/api/settings?workspace=${d(e)}`);analysis=e=>this.request(`GET`,`/api/analysis?workspace=${d(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=${d(e)}`);iconThemeManifest=e=>this.request(`GET`,`/api/icon-theme/manifest?workspace=${d(e)}`);iconThemeIconUrl=(e,t)=>`/api/icon-theme/icons/${encodeURIComponent(t)}?workspace=${d(e)}`;providers=e=>this.request(`GET`,`/api/providers${e?`?workspace=${d(e)}`:``}`);providerModels=e=>this.request(`GET`,`/api/models?workspace=${d(e)}`);saveProfile=(e,t,n)=>this.request(`PUT`,`/api/providers/${d(t)}`,{workspace:e,...n});setCredentials=(e,t)=>this.request(`PUT`,`/api/providers/${d(e)}/credentials`,t);deleteCredentials=e=>this.request(`DELETE`,`/api/providers/${d(e)}/credentials`);activateProvider=(e,t,n)=>this.request(`POST`,`/api/providers/${d(t)}/activate`,{workspace:e,model:n});fileUrl=(e,t,n=!1)=>`/api/workspaces/${d(e)}/file?path=${d(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??l)().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 c(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 c(r.status,e?.error?.code??`internal`,e?.error?.message??`HTTP ${r.status}`,e?.error?.details)}return r}},d=encodeURIComponent,f=2,ee=e=>e.length?`/api/events?${e.map(e=>`session=${encodeURIComponent(e)}`).join(`&`)}`:`/api/events`,te=(e,t=Math.random)=>Math.round(Math.min(1e4,500*2**Math.min(e,10)*(.5+t()))),ne=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!==f||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(ee(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!==f))return;this.options.onClosed?.();let t=te(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 re(e){if(typeof e==`string`)return e.trim()||void 0}function ie(e){let t=/^\s*\/([^\s/][^\s]*)(?:\s+([\s\S]*))?$/.exec(e);if(t?.[1])return{name:t[1],args:(t[2]??``).trim()}}var ae=(e,t)=>{let n=0;for(let r of t)r===e[n]&&n++;return n===e.length};function oe(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:ae(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 le(e,t,n){let r=oe(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 ue(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 de(e){return e.disabled||e.compacting}function fe(e,t,n=100){return!t.trim()||e.at(-1)===t?e:[...e,t].slice(-n)}function pe(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 me=`Usage: /btw <question>`;function he(e,t){let n=ie(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 ge(e,t){return t.length?{sessionId:e,entries:t,index:t.length-1}:{sessionId:e,entries:t,index:0,usage:!0}}function _e(e,t,n,r=Date.now()){return{sessionId:e,entries:t,index:Math.max(0,t.length-1),pending:{question:n,startedAt:r}}}function ve(e,t){return{sessionId:e.sessionId,entries:t,index:Math.max(0,t.length-1)}}function ye(e,t){let{pending:n,...r}=e;return{...r,error:{question:e.pending?.question??``,message:t}}}function be(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 xe(e){return e.pending||e.error||e.usage?void 0:e.entries[e.index]}function Se(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 Ce=`alisio.lastSeenVersion`;function we(e,t){return t.current===`dev`||t.current===e?{}:{...t.news?{toast:t.news.latest}:{},record:t.current}}var Te=r([]),Ee=0;function De(e){let t;e.t===`dataset_ready`?t={n:++Ee,sessionId:e.sessionId,ready:e.dataset}:e.t===`dataset_failed`&&(t={n:++Ee,sessionId:e.sessionId,failed:{name:e.name,error:e.error}}),t&&(Te.value=[...Te.value,t].slice(-50))}function Oe(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 ke=e=>e.split(`/`).slice(0,-1).map((e,t,n)=>n.slice(0,t+1).join(`/`)),Ae=e=>{let t=e.split(`/`).pop()??``,n=t.lastIndexOf(`.`);return n>0?t.slice(n+1).toLowerCase():``},je=e=>e.split(`/`).pop()??e;function Me(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 Ne(e,t){if(t.startsWith(`image/`))return`image`;if(t===`application/pdf`)return`pdf`;if(!t.startsWith(`text/`))return`binary`;let n=Ae(e);return n===`md`||n===`markdown`||n===`mdx`?`markdown`:n===`html`||n===`htm`?`html`:n===`json`?`json`:`code`}var p=r(t(`alisio.dock`)===`open`),Pe=r(`files`),Fe=r(0),m=r({}),h=r(new Set([``])),g=r(void 0),Ie=r(void 0);function Le(e,t){e.preventDefault(),Ie.value={x:e.clientX,y:e.clientY,path:t}}function Re(){Ie.value=void 0}var _=r({files:[],loading:!1}),ze,v,Be=e=>e instanceof Error?e.message:String(e);function Ve(){a(()=>{p.value=!0,Pe.value=`tasks`}),i(`alisio.dock`,`open`),y()}function He(e){p.value=e,i(`alisio.dock`,e?`open`:void 0),e&&y()}function y(){let e=j.value?.workspaceId;return e!==ze&&(ze=e,a(()=>{m.value={},h.value=new Set([``]),_.value={files:[],loading:!1}}),e&&b(``)),e}async function b(e,t=!1){let n=y();if(!n)return;let r=m.value[e];if(!(r?.loading||r&&!t&&!r.error)){m.value={...m.value,[e]:{entries:r?.entries??[],loading:!0,...r?.next?{next:r.next}:{}}};try{let i=await G.tree(n,e,t?r?.next:void 0);if(ze!==n)return;m.value={...m.value,[e]:{entries:[...t?r?.entries??[]:[],...i.entries],loading:!1,...i.next?{next:i.next}:{}}}}catch(t){m.value={...m.value,[e]:{entries:[],loading:!1,error:Be(t)}}}}}function Ue(e){let t=new Set(h.value);t.has(e)?t.delete(e):(t.add(e),b(e)),h.value=t}function We(){m.value={};for(let e of h.value)b(e)}async function Ge(){let e=A.value;if(e){_.value={..._.value,loading:!0};try{let{files:t}=await G.changes(e);A.value===e&&(_.value={files:t,loading:!1})}catch(e){_.value={files:[],loading:!1,error:Be(e)}}}}async function Ke(e,t={}){let n=Oe(j.value?.workspace,e),r=y();if(n===void 0||!r)return;a(()=>{p.value=!0,Pe.value=`preview`,g.value={path:n,status:`loading`};let e=new Set(h.value);for(let t of ke(n))e.add(t);h.value=e}),i(`alisio.dock`,`open`);for(let e of ke(n))b(e);v&&URL.revokeObjectURL(v),v=void 0;let o;if(t.diff)try{o=await G.diff(r,n)}catch{}if(Ae(n)===`pdf`){g.value={path:n,status:`ready`,kind:`pdf`,truncated:!1,size:0,url:G.fileUrl(r,n),...o?{diff:o}:{}};return}try{let e=await G.file(r,n);if(g.value?.path!==n)return;let t=Ne(n,e.contentType);t===`image`&&(v=URL.createObjectURL(e.blob)),g.value={path:n,status:`ready`,kind:t,truncated:e.truncated,size:e.size,...t===`image`?{url:v}:t===`binary`?{}:{text:await e.blob.text()},...o?{diff:o}:{}}}catch(e){if(g.value?.path!==n)return;g.value=o?{path:n,status:`ready`,kind:`binary`,truncated:!1,size:0,diff:o}:{path:n,status:`error`,error:Be(e)}}}var qe=e=>j.value?.workspaceId?G.fileUrl(j.value.workspaceId,e,!0):void 0;function x(t){if(t instanceof c){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 Je(e,t){if((e.t===`snapshot`||e.t===`goal_changed`)&&e.sessionId===t)return e.goal??null}function Ye(e,t){return e.key===`Tab`&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&!e.isComposing&&!t.composing&&!t.paletteOpen&&!t.disabled}function Xe(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 Ze(e,t){return e??t.find(e=>e.default)?.id??`build`}var Qe=(e,t)=>e===`full-access`&&t!==`full-access`,$e=()=>({approvals:[],interactions:[]});function et(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 tt(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))}:$e()}var nt=(e,t)=>({approvals:e.approvals.filter(e=>e.approvalId!==t),interactions:e.interactions.filter(e=>e.interactionId!==t)}),rt=`memory`,it={workspace:``},at=(e,t)=>e.workspace===t&&e.list?e:{workspace:t,failed:!0};function ot(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 st=e=>e===`enabled`?[`conversation`,`trajectory`,`memory`]:[`conversation`,`trajectory`],ct=(e,t)=>st(t).includes(e)?e:`conversation`,lt=15e3,ut=6e4,dt=e=>e.kind===`approval`||e.kind===`tool`&&(e.category===`question`||e.category===`agent`),ft=e=>{let t=e.replace(/^p_[0-9a-f]{10}_/,``);return t===`python_run`?`python`: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`},pt=[`title`,`fileName`,`path`,`file_path`,`file`,`name`,`description`];function mt(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 pt){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 ht(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:ft(n.name),summary:mt(n.arguments)}:e.compacting?{kind:`compacting`}:e.retry?{kind:`retrying`,...e.retry}:e.recovery?{kind:`recovering`,...e.recovery}:{kind:e.stream}}var gt=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},S=e=>{let{retry:t,recovery:n,...r}=e;return r},C=(e,t,n)=>{let r=gt(e);return{...e,phaseKey:r,phaseSince:t&&t.phaseKey===r?t.phaseSince:n}},_t=(e,t,n=t)=>C({runId:e,startedAt:n,lastActivityAt:t,stream:`waiting`,tools:[],approvals:{},compacting:!1},void 0,t);function vt(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 w=e=>e==null?``:String(e);function yt(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 C({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:_t(t.runId,n),i=t.text?`writing`:t.reasoning?`thinking`:r.stream;return C({...S(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 _t(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:_t(r.runId,n),o={...a,lastActivityAt:n};switch(r.type){case`tool_started`:{let e=w(i.id),t=a.tools.some(t=>t.id===e)?a.tools:[...a.tools,{id:e,name:w(i.name),arguments:w(i.arguments),startedAt:n}];return C({...S(o),tools:t,compacting:!1},a,n)}case`tool_completed`:{let e=w(i.id),{[e]:t,...r}=a.approvals;return C({...S(o),tools:a.tools.filter(t=>t.id!==e),approvals:r,stream:`waiting`},a,n)}case`tool_progress`:return{...o};case`approval_requested`:return C({...o,approvals:{...a.approvals,[w(i.id)]:w(i.name)}},a,n);case`approval_resolved`:{let{[w(i.id)]:e,...t}=a.approvals;return C({...o,approvals:t},a,n)}case`compaction_started`:return C({...S(o),compacting:!0},a,n);case`compaction_completed`:case`compaction_failed`:case`compaction_skipped`:return C({...S(o),compacting:!1,stream:`waiting`},a,n);case`turn_completed`:return C({...S(o),stream:`waiting`},a,n);case`request_retry`:return C({...o,stream:`waiting`,retry:{attempt:Number(i.attempt)||1,of:Number(i.of)||1}},a,n);case`truncation_recovery`:return C({...S(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 bt(e,t,n={quietMs:lt,stalledMs:ut}){let r=Math.max(0,t-e.lastActivityAt);return dt(ht(e))?{level:`none`,idleMs:r}:r>=n.stalledMs?{level:`stalled`,idleMs:r}:r>=n.quietMs?{level:`quiet`,idleMs:r}:{level:`none`,idleMs:r}}function xt(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)}`}var St=()=>({workspaces:[],sessions:{},stale:!1,loaded:!1});function Ct(e,t,n){return{workspaces:t,sessions:Object.fromEntries(n.filter(e=>!e.parentId).map(e=>[e.id,e])),stale:!1,loaded:!0}}var T=(e,t)=>({...e,sessions:{...e.sessions,[t.id]:{...e.sessions[t.id],...t}}}),wt=(e,t)=>({...e,workspaces:[...e.workspaces.filter(e=>e.id!==t.id),t].sort((e,t)=>e.path.localeCompare(t.path))});function Tt(e,t){let n=e.sessions[t.sessionId];return n?T(e,{...n,status:t.status,...t.title===void 0?{}:{title:t.title},...t.updatedAt===void 0?{}:{updatedAt:t.updatedAt}}):{...e,stale:!0}}var Et=e=>e.label??e.path.split(/[\\/]/).filter(Boolean).at(-1)??e.path,Dt=e=>e.split(/[\\/]/).filter(Boolean).slice(0,-1);function Ot(e){let t=new Map;for(let n of e){if(n.label)continue;let e=Et(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=>Dt(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 kt(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 At=(e,t)=>e.pinned===t.pinned?(t.updatedAt??-1)-(e.updatedAt??-1):e.pinned?-1:1;function jt(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=Ot(s);for(let e of s){let t=Et(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(At);(!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 Mt(e){return e?.nativePicker?`native`:e?.folderBrowser?`browser`:`manual`}function Nt(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 Pt(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 Ft(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 It=e=>e.previewable&&e.status===`ready`?`open`:`download`,Lt=e=>`/api/artifacts/${encodeURIComponent(e)}/download`,Rt={dashboard:`fileChart`,document:`fileText`,spreadsheet:`fileTable`,image:`fileImage`,data:`fileCode`,code:`fileCode`,archive:`fileArchive`,file:`file`};function zt(e){return e<1024?`${e} B`:e<1048576?`${Math.max(1,Math.round(e/1024))} KB`:`${(e/1048576).toFixed(1)} MB`}function Bt(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 Vt=e=>({sessionId:e,cursor:0,entries:[],tools:{},echoes:[],hasMore:!1,maxSeq:-1,ready:!1,version:0,counter:0}),E=(e,t)=>({...e,...t,version:e.version+1}),D=e=>({id:e.id,name:e.name,arguments:e.arguments,status:`pending`,tail:``}),Ht=e=>e.isError?`failed`:`completed`;function Ut(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]={...D(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??D({id:i.callId,name:`tool`,arguments:``}),result:i.result,status:Ht(i.result)}}return n}function Wt(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=>Gt(t)<e);r=r.filter(t=>Gt(t)>=e),n.push(...t)}n.push(t)}return[...n,...r]}var Gt=e=>`anchor`in e&&e.anchor!==void 0?e.anchor:1/0,Kt=e=>`anchor`in e&&e.anchor!==void 0;function qt(e,t){let n={},r=t.messages.items,i=Ut(r,n),a=r[0]?.seq,o=e.entries.filter(e=>Kt(e)&&(a===void 0||Gt(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]={...D(e),...n[e.id],effect:e.effect,status:`running`,tail:e.tail}}let c=r.map(e=>e.message).filter(e=>e.role===`user`),l=e.echoes.filter(e=>e.state===`failed`||!c.some(t=>Jt(t,e)));return E(e,{session:t.session,cursor:t.cursor,entries:Wt(i,o),tools:n,echoes:l,live:s,hasMore:t.messages.hasMore,oldestSeq:a,maxSeq:r.at(-1)?.seq??-1,ready:!0})}var Jt=(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 Yt(e,t){if(t.seq<=e.maxSeq)return e;let n={...e.tools},[r]=Ut([t],n),{echoes:i,live:a}=e,{message:o}=t;if(o.role===`user`){let e=i.findIndex(e=>e.state!==`failed`&&Jt(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 E(e,{entries:s?[...e.entries,s]:e.entries,tools:n,echoes:i,live:a,maxSeq:t.seq,oldestSeq:e.oldestSeq??t.seq})}var Xt=(e,t,n,r={})=>({kind:`notice`,key:`n${e.counter}`,anchor:e.maxSeq,code:t,tone:n,params:r}),Zt=e=>e===`user`||e===`model`||e==="default"?e:`unknown`;function Qt(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:Zt(t.source)}}}function $t(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 en(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={})=>E(r,{entries:[...e.entries,Xt(e,t,n,i)]});switch(t.type){case`run_started`:return E(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 E(r,{tools:{...e.tools,[n]:{...D({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]??D({id:t,name:a(i.name),arguments:``});return E(r,{tools:{...e.tools,[t]:{...n,status:i.isError?`failed`:`completed`,durationMs:Number(i.durationMs)||0,preview:a(i.preview)}}})}case`run_completed`:return E(r,{live:void 0});case`run_failed`:{let e=$t(i)??Qt(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:Zt(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 E(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 tn(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]??D({id:e,name:`tool`,arguments:``});i[e]={...t,tail:(t.tail+n).slice(-8192)}}}return E(e,{live:r,tools:i})}function nn(e,t){if(`sessionId`in t&&t.sessionId!==void 0&&t.sessionId!==e.sessionId)return e;switch(t.t){case`snapshot`:return qt(e,t);case`message`:return Yt(e,t);case`event`:return en(e,t.event);case`delta`:return tn(e,t);case`tool_result`:{let n=e.tools[t.callId]??D({id:t.callId,name:`tool`,arguments:``});return E(e,{tools:{...e.tools,[t.callId]:{...n,result:t.result,...t.truncated?{truncated:!0}:{},...n.status===`running`||n.status===`pending`?{status:Ht(t.result)}:{}}}})}case`session_status`:return e.session?E(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 rn=(e,t)=>t.reduce(nn,e),an=(e,t)=>E(e,{echoes:[...e.echoes,{...t,state:`sending`}]}),on=(e,t,n)=>E(e,{echoes:e.echoes.map(e=>e.localId===t?{...e,state:`failed`,error:n}:e)}),sn=(e,t)=>E(e,{echoes:e.echoes.filter(e=>e.localId!==t)}),O=(e,t)=>E(e,{counter:e.counter+1,entries:[...e.entries,{kind:`note`,key:`n${e.counter}`,anchor:e.maxSeq,text:t}]});function cn(e,t){let n=e.oldestSeq??1/0,r=t.items.filter(e=>e.seq<n),i={...e.tools};return E(e,{entries:[...Ut(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 ln(e){let t=[],n=new Set,r=(n,r)=>{let i=n.flatMap(t=>Nt(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 un=r(`ok`),dn=r(!1),fn=r(`connecting`),k=r(St()),A=r(void 0),j=r(void 0),M=r(Vt(``)),N=r(void 0),P=r(!1),F=r($e()),I=r([]),L=r(void 0),pn=r(void 0),R=r(o(`alisio.history`,[])),mn=r(``),hn=r(``),gn=r(Date.now()),_n=r(!1),vn=r(!1),yn=r(!1),z=r([]),bn=r(``),xn=r(void 0),Sn=r(!1),B=r(0),V=r(void 0),Cn=r(void 0),wn=r(0),Tn=r(0),H=r({}),U=r(void 0),En=r(`conversation`),W=r(it),Dn=n(()=>Object.fromEntries((W.value.list??[]).map(e=>[e.toolPrefix,e.name]))),On=()=>ot(W.value,j.value?.workspaceId,rt),kn=()=>ct(En.value,On());function An(e,t){W.value={workspace:e,list:t},H.value={...H.value,agents:(H.value.agents??0)+1},On()===`disabled`&&(En.value=ct(En.value,`disabled`))}function jn(e){W.value=at(W.value,e)}var Mn=r(!1),Nn=r(null),Pn=r(0),Fn=r(void 0),In=r(void 0),Ln=n(()=>tt(F.value,M.value.session)),Rn=n(()=>M.value.session?.status??j.value?.status??`idle`),zn=n(()=>{let e=Rn.value;return!!M.value.live||e===`running`||e===`queued`||e===`awaiting_input`}),G=new u({onUnauthorized:()=>{un.value=`unauthorized`}}),K,Bn,Vn=r(0),q=r(void 0),Hn=n(()=>re(q.value?.version)),Un=n(()=>Mt(q.value?.capabilities)),Wn=r(!1);function Gn(e){Cn.value={text:e,n:(Cn.value?.n??0)+1},B.value++}function J(e){V.value=e,setTimeout(()=>{V.value===e&&(V.value=void 0)},5e3)}async function Y(){return Bn??=(async()=>{try{let[e,t]=await Promise.all([G.workspaces(`all`),G.sessions({archived:`all`})]);k.value=Ct(k.value,e,t.items)}catch(e){e instanceof c&&e.status===401||J(x(e))}finally{Bn=void 0}})(),Bn}async function X(){let e=A.value;if(e)try{let t=await G.context(e);A.value===e&&(pn.value=t)}catch{}}async function Z(){let e=A.value;if(e)try{let t=await G.models(e);A.value===e&&(L.value=t)}catch{L.value=void 0}}async function Kn(){let e=A.value;try{let t=await G.commands(e);A.value===e&&(I.value=t)}catch{}}async function qn(){let e=j.value?.workspaceId;if(!e){z.value=[];return}try{let t=await G.agents(e);j.value?.workspaceId===e&&(z.value=t)}catch{}}async function Jn(){let e=j.value?.workspaceId;if(e)try{let t=await G.plugins(e);if(j.value?.workspaceId!==e)return;An(e,t),qn()}catch{jn(e)}}async function Yn(){let e=A.value;if(e)try{let t=await G.session(e);A.value===e&&(j.value=t,k.value=T(k.value,t))}catch{}}var Xn=!1;function Zn(e){let t=!1,n=!1,r=!1,i=!1,o=!1,c=[],l=new Set;a(()=>{M.value=rn(M.value,e);let a=Date.now(),u=N.value;for(let t of e)(!(`sessionId`in t)||t.sessionId===M.value.sessionId)&&(u=yt(u,t,a));N.value=u;let d=P.value;for(let t of e)(!(`sessionId`in t)||t.sessionId===M.value.sessionId)&&(d=vt(d,t));d!==P.value&&(P.value=d);let f=F.value,ee=k.value;for(let a of e){f=et(f,a),a.t===`session_status`&&(ee=Tt(ee,a)),a.t===`approval`&&a.approval.rootSessionId===A.value&&(hn.value=a.approval.name??a.approval.approvalId),a.t===`capabilities_changed`&&a.sessionId===A.value&&Pn.value++,(a.t===`dataset_ready`||a.t===`dataset_failed`)&&De(a),a.t===`tasks_changed`&&s(()=>import(`./tasks-CwT_L2cD.js`).then(e=>e.receiveTask(a.sessionId,a.task)),__vite__mapDeps([0,1,2]));let e=Je(a,A.value);if(e!==void 0&&(Nn.value=e),a.t===`catalog_changed`&&(l.add(a.scope),a.scope===`commands`&&(i=!0)),a.t===`event`&&a.sessionId===A.value){o=!0;let e=a.event.type;if(e===`run_completed`&&(mn.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`&&(Xn=a.event.data.decision===`approve`),e===`run_started`&&Xn&&(Xn=!1,n=!0)}}F.value=f,k.value=ee}),o&&Tn.value++,n&&Yn();let u=A.value;if(c.length&&u&&(In.value={sessionId:u,artifacts:c}),k.value.stale&&Y(),t&&(wn.value++,X()),i&&Kn(),l.size){let e={...H.value};for(let t of l)e[t]=(e[t]??0)+1;H.value=e,l.has(`models`)&&Z(),l.has(`plugins`)&&Jn(),l.has(`agents`)&&qn()}r&&(K?.refresh(),X())}async function Q(e){if(e===A.value&&e)return;a(()=>{A.value=e,j.value=void 0,M.value=Vt(e??``),N.value=void 0,P.value=!1,L.value=void 0,pn.value=void 0,Sn.value=!1,U.value=void 0,Nn.value=null});let t=e?`#/s/${encodeURIComponent(e)}`:`#/`;if(location.hash!==t&&Qn(t),K?.subscribe(e?[e]:[]),e&&i(`alisio.lastSession`,e),Kn(),Fe.value=0,e){s(()=>import(`./tasks-CwT_L2cD.js`).then(t=>t.loadTasks(e)),__vite__mapDeps([0,1,2]));try{let t=await G.session(e);A.value===e&&(j.value=t)}catch(e){if(e instanceof c&&e.code===`not_found`){J(x(e)),Q(void 0);return}}Z(),X(),Jn(),qn()}}function Qn(e){try{window.history.replaceState(null,``,e)}catch{location.hash=e}}var $n=()=>{let e=/^#\/s\/(.+)$/.exec(location.hash);return e?.[1]?decodeURIComponent(e[1]):void 0};async function er(){let n=t(Ce);try{let t=await G.changelog(n?{lastSeen:n}:{}),r=we(n,t);return r.toast&&J(e(`changelog.news`,{version:r.toast})),r.record&&i(Ce,r.record),t}catch{return}}async function tr(){if(K=new ne({create:e=>new EventSource(e),onFrames:Zn,onStatus:e=>{fn.value=e},onProtocolMismatch:()=>{dn.value=!0},onClosed:()=>{G.workspaces().catch(()=>{})}}),window.addEventListener(`online`,()=>K?.nudge()),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&K?.nudge()}),window.addEventListener(`hashchange`,()=>{let e=$n();e!==A.value&&Q(e)}),setInterval(()=>{gn.value=Date.now()},3e4),G.health().then(e=>{q.value=e}).catch(()=>{}),await Y(),un.value!==`ok`)return;er();let e=$n(),n=t(`alisio.lastSession`),r=k.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 Q(i):(K.subscribe([]),Kn())}async function nr(t){let n=t??kt(k.value,j.value?.workspaceId);if(!n){J(e(`sidebar.openWorkspaceFirst`)),Vn.value++;return}try{let e=await G.createSession({workspace:n});k.value=T(k.value,e),await Q(e.id),B.value++}catch(e){J(x(e)),e instanceof c&&e.code===`workspace_missing`&&Y()}}async function rr(t){try{let n=await G.addWorkspace(t.trim());return k.value=wt(k.value,n),n.untrustedResources&&J(e(`sidebar.untrustedHint`)),!0}catch(e){return J(x(e)),!1}}async function ir(){if(Wn.value)return`cancelled`;Wn.value=!0;try{let e=await G.pickFolder();return`cancelled`in e?`cancelled`:await rr(e.path)?`added`:`cancelled`}catch(e){return e instanceof c&&e.code===`picker_unavailable`?(q.value&&={...q.value,capabilities:{...q.value.capabilities,nativePicker:!1}},`unavailable`):(J(x(e)),`cancelled`)}finally{Wn.value=!1}}async function ar(e,t){try{let n=await G.patchWorkspace(e,t);k.value=wt(k.value,n)}catch(e){J(x(e))}}async function or(e,t=A.value){if(t)try{let n=await G.patchSession(t,e);k.value=T(k.value,n),t===A.value&&(j.value=n,(e.model!==void 0||e.effort!==void 0)&&(Z(),X()))}catch(e){J(x(e))}}async function sr(e){let t=A.value;if(t)try{let n=await G.command(t,{requestId:l(),name:`agent:${e}`});n.output&&(M.value=O(M.value,n.output)),Yn(),n.effects?.includes(`model`)&&(Z(),X())}catch(e){J(x(e))}}async function cr(t=1){let n=j.value;if(!n||tt(F.value,n).interactions.length)return;let r=z.value,i=n.agent??r.find(e=>e.default)?.id,a=Xe(r,i,t);if(!a||a===i)return;await sr(a);let o=r.find(e=>e.id===a)?.name??a;bn.value=e(`composer.agentApplied`,{agent:o})}async function lr(t,n,r){try{let i;try{i=await G.createSession({workspace:t,agent:n,...r?{model:r}:{}})}catch(a){if(!r||!(a instanceof c)||a.code!==`validation_failed`)throw a;i=await G.createSession({workspace:t,agent:n}),J(e(`agentsWin.modelFallback`,{model:r}))}return k.value=T(k.value,i),await Q(i.id),B.value++,!0}catch(e){return J(x(e)),!1}}async function ur(t,n){let r=e(n?`trust.confirm`:`trust.confirmRevoke`,{path:t.path});if(!window.confirm(r))return!1;try{let r=await G.trustWorkspace(t.id,n);return k.value=wt(k.value,r),J(e(r.trusted?`trust.granted`:`trust.revoked`)),j.value?.workspaceId===t.id&&Kn(),!0}catch(e){return J(x(e)),!1}}var dr=e=>or({preset:e}),fr=e=>or({model:e}),pr=e=>or({effort:e});function mr(e){R.value=fe(R.value,e),i(`alisio.history`,JSON.stringify(R.value))}async function hr(e,t,n=l(),r,i){let a=A.value;if(!a)return;let o=l(),s=r?.refs.length?r.refs:void 0;M.value=an(M.value,{localId:o,requestId:n,text:e,...t?{display:t}:{},...s?{attachments:s,thumbs:r?.thumbs??[]}:{},...i?.length?{datasets:i}:{}});try{await G.prompt(a,{requestId:n,text:e,...t?{display:t}:{},...s?{attachments:s}:{},...i?.length?{datasets:i.map(e=>e.id)}:{}})}catch(e){A.value===a&&(M.value=on(M.value,o,x(e)))}}function gr(e){let t=M.value.echoes.find(t=>t.localId===e);t&&(M.value=sn(M.value,e),hr(t.text,t.display,t.requestId,t.attachments?{refs:t.attachments,thumbs:t.thumbs??[]}:void 0,t.datasets))}async function _r(t,n,r){let i=A.value;if(!i||!t.trim()&&!n?.refs.length&&!r?.length)return;if(t.trim()&&mr(t),n?.refs.length||r?.length)return hr(t.trim()||!r?.length?t:e(`dataset.defaultPrompt`),void 0,l(),n,r);let a=ie(t);if((a?.name===`permission`||a?.name===`permissions`)&&!a.args){Mn.value=!0;return}if(a?.name===`changelog`){xn.value={version:a.args??``,at:Date.now()};return}if(a?.name===`tasks`){Ve();return}if(a?.name===`goal`&&I.value.some(e=>e.name===`goal`)){s(()=>import(`./goal-ChMqHxdJ.js`).then(e=>e.runGoalCommand(i,a.args??``)),__vite__mapDeps([3,1,2]));return}if(a?.name===`artifacts`){Fn.value={filter:a.args??``,at:Date.now()};return}if(a?.name===`agents`&&!a.args){yn.value=!0;return}let o=a?I.value.find(e=>e.name===a.name||e.aliases?.includes(a.name.toLowerCase())):void 0;if(!a||!o)return hr(t);let c=he(t,I.value);if(c)return vr(i,c.question);try{let t=await G.command(i,{requestId:l(),name:o.name,...a.args?{args:a.args}:{}});t.output&&(M.value=O(M.value,t.output)),o.name===`reload`&&J(e(`reloadCmd.done`)),t.prompt&&await hr(t.prompt.text,t.prompt.display),t.effects?.length&&(Yn(),Z(),X()),t.sessionId&&(await Y(),await Q(t.sessionId))}catch(e){M.value=O(M.value,`**/${o.name}**: ${x(e)}`)}}var $;async function vr(e,t){let n=U.value?.sessionId===e?U.value.entries:[];if(!t){U.value=ge(e,n);try{n=await G.sideQuestions(e)}catch(e){J(x(e));return}U.value?.sessionId===e&&!U.value.pending&&(U.value=ge(e,n));return}$?.abort();let r=new AbortController;$=r,U.value=_e(e,n,t);try{await G.askSideQuestion(e,t,r.signal);let n=await G.sideQuestions(e);U.value?.sessionId===e&&U.value.pending?.question===t&&(U.value=ve(U.value,n))}catch(t){if(r.signal.aborted)return;U.value?.sessionId===e&&U.value.pending&&(U.value=ye(U.value,x(t)))}finally{$===r&&($=void 0)}}function yr(){let e=U.value;e?.pending&&($?.abort(),$=void 0,G.cancelSideQuestions(e.sessionId).catch(()=>{})),U.value=void 0,B.value++}async function br(){let e=A.value;if(e)try{await G.cancel(e)}catch(e){J(x(e))}}async function xr(){let e=M.value;if(e.hasMore&&e.oldestSeq!==void 0)try{let t=await G.messages(e.sessionId,e.oldestSeq);M.value.sessionId===e.sessionId&&(M.value=cn(M.value,t))}catch(e){J(x(e))}}async function Sr(e,t){try{await G.decide(e,t)}catch(e){e instanceof c&&(e.status===409||e.status===404)||J(x(e))}F.value=nt(F.value,e),B.value++}async function Cr(e,t){try{await G.answer(e,t)}catch(e){e instanceof c&&(e.status===409||e.status===404)||J(x(e))}F.value=nt(F.value,e),B.value++}function wr(e,t){i(`alisio.draft.${e}`,t||void 0)}var Tr=e=>t(`alisio.draft.${e}`)??``;export{dn as $,We as $t,Tn as A,ut as At,L as B,Re as Bt,P as C,Lt as Ct,cr as D,Ft as Dt,A as E,It as Et,Gn as F,Ze as Ft,Vn as G,h as Gt,gn as H,p as Ht,Tr as I,Qe as It,Mn as J,Ge as Jt,or as K,Ie as Kt,xr as L,Ye as Lt,Nn as M,xt as Mt,R as N,bt as Nt,Sr as O,jt as Ot,tr as P,st as Pt,In as Q,g as Qt,On as R,x as Rt,I as S,Bt as St,pn as T,Pt as Tt,Un as U,Pe as Ut,nr as V,m as Vt,Q as W,qe as Wt,Wn as X,Le as Xt,ir as Y,b as Yt,Dn as Z,Ke as Zt,br as _,M as _t,yn as a,Oe as an,En as at,xn as b,ln as bt,hn as c,xe as cn,dr as ct,G as d,de as dn,J as dt,He as en,Y as et,Hn as f,pe as fn,k as ft,zn as g,l as gn,V as gt,U as h,c as hn,_r as ht,z as i,je as in,wr as it,B as j,ht as jt,j as k,lt as kt,mn as l,Se as ln,ur as lt,un as m,ue as mn,fn as mt,kn as n,Me as nn,wn as nt,vn as o,Te as on,pr as ot,Fn as p,le as pn,lr as pt,ar as q,Fe as qt,rr as r,Ae as rn,N as rt,bn as s,me as sn,fr as st,sr as t,Ue as tn,gr as tt,Cr as u,be as un,_n as ut,Pn as v,Ln as vt,Cn as w,zt as wt,yr as x,Rt as xt,H as y,O as yt,Sn as z,_ as zt};