@alisio/server 0.8.0 → 0.10.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 (70) hide show
  1. package/dist/index.d.ts +25 -0
  2. package/dist/index.js +40 -2
  3. package/dist/plugins/catalog-schema.d.ts +37 -0
  4. package/dist/plugins/catalog-schema.js +141 -0
  5. package/dist/plugins/catalog-service.d.ts +89 -0
  6. package/dist/plugins/catalog-service.js +306 -0
  7. package/dist/plugins/jobs.d.ts +41 -0
  8. package/dist/plugins/jobs.js +94 -0
  9. package/dist/plugins/sdk-version.d.ts +6 -0
  10. package/dist/plugins/sdk-version.js +28 -0
  11. package/dist/plugins/staging.d.ts +13 -0
  12. package/dist/plugins/staging.js +48 -0
  13. package/dist/routes/plugin-catalog.d.ts +103 -0
  14. package/dist/routes/plugin-catalog.js +436 -0
  15. package/dist/routes/server-restart.d.ts +7 -0
  16. package/dist/routes/server-restart.js +24 -0
  17. package/dist/routes/session-views.js +8 -0
  18. package/dist/web/assets/{AgentPicker-CHCnAWFV.js → AgentPicker-B2dNJHaW.js} +1 -1
  19. package/dist/web/assets/{AgentsModal-C9JANTC0.js → AgentsModal-BWrVQpCo.js} +2 -2
  20. package/dist/web/assets/{ArtifactPanel-CMy7S56f.js → ArtifactPanel-ZkBV87x7.js} +3 -3
  21. package/dist/web/assets/{BtwPanel-DXZdSCeO.js → BtwPanel-BtIHip-u.js} +1 -1
  22. package/dist/web/assets/{ChangelogDialog-B1zYDaIS.js → ChangelogDialog-NBwCG0Bo.js} +1 -1
  23. package/dist/web/assets/ContextTab-Bi8MZwMV.js +1 -0
  24. package/dist/web/assets/ContextTab-g4wwZXSY.css +1 -0
  25. package/dist/web/assets/{CopyButton-DEf4thwH.js → CopyButton-Bh3Dsk-o.js} +1 -1
  26. package/dist/web/assets/{GoalBar-CCT6XlB-.js → GoalBar-DVwQsVtS.js} +1 -1
  27. package/dist/web/assets/{MemoryTab-lph1Kv8C.js → MemoryTab-CjZTbnFG.js} +1 -1
  28. package/dist/web/assets/{PermissionsMenu-oMuzx7AI.js → PermissionsMenu-B03X019W.js} +1 -1
  29. package/dist/web/assets/{PlanReviewPanel-BXl-gcFF.js → PlanReviewPanel-CM1uxJVs.js} +1 -1
  30. package/dist/web/assets/{PlanViewer-TxP_h0KX.js → PlanViewer-DxAqn6IP.js} +1 -1
  31. package/dist/web/assets/ProofCard-B2nxuxaT.js +1 -0
  32. package/dist/web/assets/ScratchTab-BLkjPbJC.js +1 -0
  33. package/dist/web/assets/SettingsModal-BJj7ELxX.js +3 -0
  34. package/dist/web/assets/{SpreadsheetPanel-Db_lqwkD.js → SpreadsheetPanel-BJLNla1t.js} +1 -1
  35. package/dist/web/assets/{TasksTab-BnafNW7J.js → TasksTab-DhKGW5By.js} +1 -1
  36. package/dist/web/assets/{TextPreview-DHQCGoiY.js → TextPreview-CcGkaf6g.js} +1 -1
  37. package/dist/web/assets/{TrajectoryTab-DMJw5g-T.js → TrajectoryTab-U37sw2D0.js} +1 -1
  38. package/dist/web/assets/{agents.module-BlfBTz7i.js → agents.module-C5jXUIc1.js} +1 -1
  39. package/dist/web/assets/app-CGSX2FCK.js +3 -0
  40. package/dist/web/assets/{es-ySPgx3os.js → es-DP4ejr3u.js} +2 -2
  41. package/dist/web/assets/{goal-B1jQsfH5.js → goal-Cib1wj1f.js} +1 -1
  42. package/dist/web/assets/{i18n-C54K0mc6.js → i18n-DqOZSMVh.js} +2 -2
  43. package/dist/web/assets/{icons-DTCoNVsk.js → icons-BZSZMbqh.js} +1 -1
  44. package/dist/web/assets/index-CSQo6Bhi.js +79 -0
  45. package/dist/web/assets/{jsxRuntime-DWBdSTGf.js → jsxRuntime-BWhXelbu.js} +1 -1
  46. package/dist/web/assets/{panel-LBWYDX9B.js → panel-IZ40pPYp.js} +1 -1
  47. package/dist/web/assets/settings-BAW93knU.css +1 -0
  48. package/dist/web/assets/settings.module-ErkNzIk4.js +1 -0
  49. package/dist/web/assets/{shared-DLevBtPm.js → shared-C2fqplXu.js} +1 -1
  50. package/dist/web/assets/{strings-DDeSYQDZ.js → strings-BUuRkgRy.js} +1 -1
  51. package/dist/web/assets/{tasks-Sc_vWQpd.js → tasks-Bw0p2a6l.js} +1 -1
  52. package/dist/web/assets/{view-BFzfUho9.js → view-B95Eg9o2.js} +1 -1
  53. package/dist/web/assets/view-BeVPW5cE.js +1 -0
  54. package/dist/web/assets/{view-CChCbdid.js → view-BkR3NRaK.js} +1 -1
  55. package/dist/web/assets/{view-C4NPIs0Y.js → view-C99qRBgc.js} +1 -1
  56. package/dist/web/assets/{view-DooqXXnU.js → view-CI66xheW.js} +1 -1
  57. package/dist/web/assets/{view-Cs6w0jid.js → view-CSAgn7-g.js} +1 -1
  58. package/dist/web/assets/{view-D_Sw63-N.js → view-DJAfpDXs.js} +1 -1
  59. package/dist/web/assets/{view-s7NM5Jdr.js → view-DrHx2F_3.js} +1 -1
  60. package/dist/web/assets/{view-DF9hOwPO.js → view-Du7qfIhE.js} +1 -1
  61. package/dist/web/index.html +7 -7
  62. package/package.json +4 -4
  63. package/dist/web/assets/ProofCard-DFVScMg6.js +0 -1
  64. package/dist/web/assets/ScratchTab-f751fxOV.js +0 -1
  65. package/dist/web/assets/SettingsModal-DZhl5vvS.js +0 -1
  66. package/dist/web/assets/app-BknkHksg.js +0 -3
  67. package/dist/web/assets/index-XYSVNCIf.js +0 -79
  68. package/dist/web/assets/settings-DdWABXsT.css +0 -1
  69. package/dist/web/assets/settings.module-BClxMWCR.js +0 -1
  70. package/dist/web/assets/view-Cp3A_Nly.js +0 -1
@@ -1,4 +1,4 @@
1
- import{T as e,_ as t,a as n,y as r}from"./i18n-C54K0mc6.js";import{en as i}from"./app-BknkHksg.js";import{t as a}from"./jsxRuntime-DWBdSTGf.js";import{t as o}from"./CopyButton-DEf4thwH.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{E as e,_ as t,a as n,y as r}from"./i18n-DqOZSMVh.js";import{nn as i}from"./app-CGSX2FCK.js";import{t as a}from"./jsxRuntime-BWhXelbu.js";import{t as o}from"./CopyButton-Bh3Dsk-o.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-BWhXelbu.js";import{c as t}from"./index-CSQo6Bhi.js";function n({block:n}){return n.kind===`artifact`?e(t,{artifact:n.artifact,compact:!0}):null}export{n as default};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-hePW80VL.js";import{a as t,y as n}from"./i18n-C54K0mc6.js";import{t as r}from"./jsxRuntime-DWBdSTGf.js";import{t as i}from"./CopyButton-DEf4thwH.js";import{w as a}from"./index-XYSVNCIf.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-DqOZSMVh.js";import{t as r}from"./jsxRuntime-BWhXelbu.js";import{t as i}from"./CopyButton-Bh3Dsk-o.js";import{w as a}from"./index-CSQo6Bhi.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-C54K0mc6.js";import{t as n}from"./jsxRuntime-DWBdSTGf.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-DqOZSMVh.js";import{t as n}from"./jsxRuntime-BWhXelbu.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 +1 @@
1
- import{t as e}from"./jsxRuntime-DWBdSTGf.js";import{T as t,x as n}from"./index-XYSVNCIf.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};
1
+ import{t as e}from"./jsxRuntime-BWhXelbu.js";import{T as t,x as n}from"./index-CSQo6Bhi.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};
@@ -1 +1 @@
1
- import{a as e}from"./i18n-C54K0mc6.js";import{t}from"./jsxRuntime-DWBdSTGf.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-DqOZSMVh.js";import{t}from"./jsxRuntime-BWhXelbu.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-C54K0mc6.js";import{t as i}from"./jsxRuntime-DWBdSTGf.js";import{t as a}from"./CopyButton-DEf4thwH.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{E as e,_ as t,a as n,y as r}from"./i18n-DqOZSMVh.js";import{t as i}from"./jsxRuntime-BWhXelbu.js";import{t as a}from"./CopyButton-Bh3Dsk-o.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(`
@@ -1,4 +1,4 @@
1
- import{_ as e,a as t}from"./i18n-C54K0mc6.js";import{t as n}from"./jsxRuntime-DWBdSTGf.js";import{t as r}from"./CopyButton-DEf4thwH.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-DqOZSMVh.js";import{t as n}from"./jsxRuntime-BWhXelbu.js";import{t as r}from"./CopyButton-Bh3Dsk-o.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,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-C54K0mc6.js";import{t as a}from"./preload-helper-B3nfOi5I.js";import{t as o}from"./jsxRuntime-DWBdSTGf.js";import{t as s}from"./icons-DTCoNVsk.js";import{t as c}from"./CopyButton-DEf4thwH.js";import{t as l}from"./visible-DLChI0F-.js";import{m as u}from"./index-XYSVNCIf.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{E as e,a as t,b as n,g as r,y as i}from"./i18n-DqOZSMVh.js";import{t as a}from"./preload-helper-B3nfOi5I.js";import{t as o}from"./jsxRuntime-BWhXelbu.js";import{t as s}from"./icons-BZSZMbqh.js";import{t as c}from"./CopyButton-Bh3Dsk-o.js";import{t as l}from"./visible-DLChI0F-.js";import{m as u}from"./index-CSQo6Bhi.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};
@@ -8,15 +8,15 @@
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-XYSVNCIf.js"></script>
11
+ <script type="module" crossorigin src="/assets/index-CSQo6Bhi.js"></script>
12
12
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-B3nfOi5I.js">
13
- <link rel="modulepreload" crossorigin href="/assets/i18n-C54K0mc6.js">
14
- <link rel="modulepreload" crossorigin href="/assets/app-BknkHksg.js">
15
- <link rel="modulepreload" crossorigin href="/assets/jsxRuntime-DWBdSTGf.js">
16
- <link rel="modulepreload" crossorigin href="/assets/icons-DTCoNVsk.js">
17
- <link rel="modulepreload" crossorigin href="/assets/panel-LBWYDX9B.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/i18n-DqOZSMVh.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/app-CGSX2FCK.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/jsxRuntime-BWhXelbu.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/icons-BZSZMbqh.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/panel-IZ40pPYp.js">
18
18
  <link rel="modulepreload" crossorigin href="/assets/clipboard-hOiC7lD8.js">
19
- <link rel="modulepreload" crossorigin href="/assets/CopyButton-DEf4thwH.js">
19
+ <link rel="modulepreload" crossorigin href="/assets/CopyButton-Bh3Dsk-o.js">
20
20
  <link rel="modulepreload" crossorigin href="/assets/visible-DLChI0F-.js">
21
21
  <link rel="stylesheet" crossorigin href="/assets/index-DoBakzIL.css">
22
22
  </head>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alisio/server",
3
- "version": "0.8.0",
3
+ "version": "0.10.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.8.0",
43
- "@alisio/sdk": "0.8.0"
42
+ "@alisio/core": "0.10.0",
43
+ "@alisio/sdk": "0.10.0"
44
44
  },
45
45
  "devDependencies": {
46
- "@alisio/web": "0.8.0"
46
+ "@alisio/web": "0.10.0"
47
47
  },
48
48
  "publishConfig": {
49
49
  "access": "public",
@@ -1 +0,0 @@
1
- import{T as e,b as t,h as n,o as r,r as i}from"./i18n-C54K0mc6.js";import{$ as a,E as o,M as s,Q as c,Vt as l,d as u,mt as d,tn as f}from"./app-BknkHksg.js";import{t as p}from"./jsxRuntime-DWBdSTGf.js";import{overrideGoal as m}from"./goal-B1jQsfH5.js";var h={label:`Acceptance criteria`,summary:`{verified} of {total} verified`,unmet:`{n} required not verified`,"status.verified":`Verified`,"status.failed":`Failed`,"status.not_checked":`Not checked`,"status.manual_review":`Manual review`,"status.not_applicable":`Not applicable`,stale:`stale: edited after the evidence`,required:`Required`,optional:`Optional`,evidence:`Evidence: {callId} · exit {code}`,noEvidence:`No evidence yet`,naReason:`Not applicable: {reason}`,divergence:`Claimed without evidence: “{claim}” ({status})`,empty:`No criteria yet. Add one: Alisio marks it verified only when a command it ran proves it.`,add:`Add criterion`,text:`Criterion`,command:`Command that verifies it (optional)`,commandHint:`Verified when the agent runs exactly this command and it succeeds.`,requiredLabel:`Required`,edit:`Edit`,save:`Save`,cancel:`Cancel`,notApplicable:`Not applicable`,reason:`Reason`,override:`Complete the goal anyway`,overrideHint:`Required criteria are not verified. Only you can complete the goal over them; the reason is kept.`,overrideConfirm:`Complete the goal`,"export.md":`Export Markdown`,"export.json":`Export JSON`,disclaimer:`Proof records operational evidence; it does not prove that the code is correct.`,failed:`Could not update the criteria: {error}`,open:`Open the Proof panel`,panel:`Proof`},g={label:`Criterios de aceptación`,summary:`{verified} de {total} verificados`,unmet:`{n} requeridos sin verificar`,"status.verified":`Verificado`,"status.failed":`Falló`,"status.not_checked":`Sin comprobar`,"status.manual_review":`Revisión manual`,"status.not_applicable":`No aplica`,stale:`caducada: se editó después de la evidencia`,required:`Requerido`,optional:`Opcional`,evidence:`Evidencia: {callId} · salida {code}`,noEvidence:`Aún sin evidencia`,naReason:`No aplica: {reason}`,divergence:`Afirmado sin evidencia: «{claim}» ({status})`,empty:`Aún no hay criterios. Añade uno: Alisio lo marca verificado solo cuando un comando que ejecutó lo demuestra.`,add:`Añadir criterio`,text:`Criterio`,command:`Comando que lo verifica (opcional)`,commandHint:`Se verifica cuando el agente ejecuta exactamente este comando y termina bien.`,requiredLabel:`Requerido`,edit:`Editar`,save:`Guardar`,cancel:`Cancelar`,notApplicable:`No aplica`,reason:`Motivo`,override:`Completar el objetivo de todos modos`,overrideHint:`Hay criterios requeridos sin verificar. Solo tú puedes completar el objetivo sobre ellos; el motivo queda registrado.`,overrideConfirm:`Completar el objetivo`,"export.md":`Exportar Markdown`,"export.json":`Exportar JSON`,disclaimer:`Proof registra evidencia operativa; no demuestra que el código sea correcto.`,failed:`No se pudieron actualizar los criterios: {error}`,open:`Abrir el panel Proof`,panel:`Proof`},_=(e,t)=>r((i.value===`es`?g:h)[e]??h[e],t),v=e=>_(`status.${e}`),y=n(void 0),b=n(!1);function x(e){let t=new Map(e.evidence.map(e=>[e.evidenceId,e]));return e.criteria.map(e=>{let n=[...e.evidenceIds].map(e=>t.get(e)).filter(e=>!!e).at(-1);return{criterionId:e.criterionId,text:e.text,status:e.status,stale:!!e.stale,required:e.required,origin:e.origin,...e.verifier?.kind===`command`||e.verifier?.kind===`coverage`?{command:e.verifier.command}:{},...n?{evidence:{callId:n.callId,...n.exitCode===void 0?{}:{exitCode:n.exitCode},capturedAt:n.capturedAt,ok:n.ok}}:{},...e.notApplicableReason?{notApplicableReason:e.notApplicableReason}:{}}})}function S(e){let t=t=>e.criteria.filter(e=>e.status===t).length;return{total:e.criteria.length,verified:t(`verified`),failed:t(`failed`),notChecked:t(`not_checked`),manualReview:t(`manual_review`),notApplicable:t(`not_applicable`),requiredUnmet:e.criteria.filter(e=>e.required&&(e.status===`failed`||e.status===`not_checked`||e.status===`manual_review`)).length}}function C(e,t){return!e||!t||e.status!==`active`&&e.status!==`paused`&&e.status!==`blocked`?!1:S(t).requiredUnmet>0}var w=(e,t)=>`/api/sessions/${encodeURIComponent(e)}/proof/export?format=${t}`,T=e=>`/api/sessions/${encodeURIComponent(e)}/proof`;async function E(e){try{let t=await u.request(`GET`,T(e));o.value===e&&(y.value=t,c.value=t.criteria.length)}catch{}}async function D(e,t){b.value=!0;try{let n=await t();return o.value===e&&(y.value=n,c.value=n.criteria.length),!0}catch(e){return d(_(`failed`,{error:l(e)})),!1}finally{b.value=!1}}var O=(e,t)=>D(e,()=>u.request(`POST`,`${T(e)}/criteria`,{text:t.text,...t.verify?{verify:t.verify}:{},...t.required===void 0?{}:{required:t.required}})),k=(e,t,n)=>D(e,()=>u.request(`POST`,`${T(e)}/criteria`,{criterionId:t,...n})),A=(e,t,n)=>D(e,()=>u.request(`POST`,`${T(e)}/criteria/${encodeURIComponent(t)}/not-applicable`,{reason:n})),j={wrap:`_wrap_me0dk_1`,panel:`_panel_me0dk_10`,card:`_card_me0dk_14`,head:`_head_me0dk_26`,title:`_title_me0dk_33`,summary:`_summary_me0dk_39`,note:`_note_me0dk_40`,unmet:`_unmet_me0dk_46`,list:`_list_me0dk_52`,row:`_row_me0dk_61`,rowHead:`_rowHead_me0dk_71`,status:`_status_me0dk_78`,text:`_text_me0dk_110`,required:`_required_me0dk_117`,command:`_command_me0dk_128`,divergences:`_divergences_me0dk_138`,actions:`_actions_me0dk_147`,inline:`_inline_me0dk_153`,form:`_form_me0dk_164`,field:`_field_me0dk_171`,check:`_check_me0dk_191`,primary:`_primary_me0dk_198`,danger:`_danger_me0dk_199`,open:`_open_me0dk_200`,exports:`_exports_me0dk_226`},M=(e,t)=>String(new FormData(e).get(t)??``).trim();function N(e){return t=>{t.preventDefault();let n=t.currentTarget;e(n),n.reset()}}function P(e){let{row:t,panel:n}=e,r=n&&t.status!==`not_applicable`;return p(`li`,{class:j.row,"data-criterion":t.criterionId,"data-status":t.status,"data-stale":t.stale?`true`:void 0,children:[p(`div`,{class:j.rowHead,children:[p(`span`,{class:j.status,"data-status":t.status,children:v(t.status)}),p(`span`,{class:j.text,children:t.text}),p(`span`,{class:j.required,"data-required":t.required?`true`:void 0,children:t.required?_(`required`):_(`optional`)})]}),t.stale?p(`p`,{class:j.note,children:_(`stale`)}):null,t.command?p(`code`,{class:j.command,children:t.command}):null,p(`p`,{class:j.note,children:t.notApplicableReason?_(`naReason`,{reason:t.notApplicableReason}):t.evidence?_(`evidence`,{callId:t.evidence.callId,code:t.evidence.exitCode??`-`}):t.status===`manual_review`?``:_(`noEvidence`)}),r?p(`div`,{class:j.actions,children:[p(`details`,{class:j.inline,children:[p(`summary`,{children:_(`edit`)}),p(`form`,{class:j.form,onSubmit:N(n=>e.onSave(t.criterionId,{text:M(n,`text`),required:new FormData(n).get(`required`)===`on`})),children:[p(`label`,{class:j.field,children:[p(`span`,{children:_(`text`)}),p(`input`,{name:`text`,type:`text`,required:!0,maxLength:600,value:t.text})]}),p(`label`,{class:j.check,children:[p(`input`,{name:`required`,type:`checkbox`,checked:t.required}),p(`span`,{children:_(`requiredLabel`)})]}),p(`button`,{type:`submit`,class:j.primary,children:_(`save`)})]})]}),p(`details`,{class:j.inline,children:[p(`summary`,{children:_(`notApplicable`)}),p(`form`,{class:j.form,onSubmit:N(n=>e.onNotApplicable(t.criterionId,M(n,`reason`))),children:[p(`label`,{class:j.field,children:[p(`span`,{children:_(`reason`)}),p(`input`,{name:`reason`,type:`text`,required:!0,maxLength:500})]}),p(`button`,{type:`submit`,class:j.primary,children:_(`save`)})]})]})]}):null]})}function F(t){let{ledger:n,mode:r,goal:i,sessionId:a}=t,o=r===`panel`,s=S(n),c=x(n);return p(`section`,{class:j.card,"data-mode":r,"aria-label":_(`label`),children:[p(`header`,{class:j.head,children:[p(`h3`,{class:j.title,children:_(`label`)}),p(`span`,{class:j.summary,children:_(`summary`,{verified:s.verified,total:s.total})}),s.requiredUnmet?p(`span`,{class:j.unmet,children:_(`unmet`,{n:s.requiredUnmet})}):null]}),c.length?p(`ul`,{class:j.list,children:c.map(e=>p(P,{row:e,panel:o,onSave:t.onSave,onNotApplicable:t.onNotApplicable},e.criterionId))}):o?p(`p`,{class:j.note,children:_(`empty`)}):null,n.divergences.length?p(`ul`,{class:j.divergences,role:`note`,children:n.divergences.map(e=>p(`li`,{children:_(`divergence`,{claim:e.claim,status:v(e.actual)})},`${e.claim}-${e.actual}`))}):null,o?p(e,{children:[p(`details`,{class:j.inline,open:!c.length,children:[p(`summary`,{children:_(`add`)}),p(`form`,{class:j.form,onSubmit:N(e=>t.onAdd({text:M(e,`text`),...M(e,`verify`)?{verify:M(e,`verify`)}:{},required:new FormData(e).get(`required`)===`on`})),children:[p(`label`,{class:j.field,children:[p(`span`,{children:_(`text`)}),p(`input`,{name:`text`,type:`text`,required:!0,maxLength:600})]}),p(`label`,{class:j.field,children:[p(`span`,{children:_(`command`)}),p(`input`,{name:`verify`,type:`text`,maxLength:1e3,placeholder:`pnpm test`}),p(`small`,{children:_(`commandHint`)})]}),p(`label`,{class:j.check,children:[p(`input`,{name:`required`,type:`checkbox`}),p(`span`,{children:_(`requiredLabel`)})]}),p(`button`,{type:`submit`,class:j.primary,children:_(`add`)})]})]}),C(i,n)?p(`details`,{class:j.inline,"data-override":`true`,children:[p(`summary`,{children:_(`override`)}),p(`form`,{class:j.form,onSubmit:N(e=>t.onOverride(M(e,`reason`))),children:[p(`p`,{class:j.note,children:_(`overrideHint`)}),p(`label`,{class:j.field,children:[p(`span`,{children:_(`reason`)}),p(`input`,{name:`reason`,type:`text`,required:!0,maxLength:500})]}),p(`button`,{type:`submit`,class:j.danger,children:_(`overrideConfirm`)})]})]}):null,p(`p`,{class:j.exports,children:[p(`a`,{href:w(a,`md`),download:`proof.md`,children:_(`export.md`)}),p(`a`,{href:w(a,`json`),download:`proof.json`,children:_(`export.json`)})]}),p(`p`,{class:j.note,children:_(`disclaimer`)})]}):null]})}function I(){let e=o.value,n=a.value;return t(()=>{e&&E(e)},[e,n]),e}function L(){let e=I(),t=y.value;return!e||!t||t.sessionId!==e||!t.criteria.length?null:p(`div`,{class:j.wrap,children:[p(F,{ledger:t,mode:`card`,goal:null,sessionId:e,onAdd:()=>void 0,onSave:()=>void 0,onNotApplicable:()=>void 0,onOverride:()=>void 0}),p(`button`,{type:`button`,class:j.open,onClick:f,children:_(`open`)})]})}function R(){let e=I(),t=y.value;return!e||!t||t.sessionId!==e?null:p(`div`,{class:j.panel,children:p(F,{ledger:t,mode:`panel`,goal:s.value,sessionId:e,onAdd:t=>void O(e,t),onSave:(t,n)=>void k(e,t,n),onNotApplicable:(t,n)=>void A(e,t,n),onOverride:e=>{let t=s.value;t&&m(t,e)}})})}export{L as ProofCard,R as ProofTab};
@@ -1 +0,0 @@
1
- import{T as e,b as t,h as n,o as r,r as i,y as a}from"./i18n-C54K0mc6.js";import{Dt as o,E as s,Sn as c,_n as l,bn as u,d,it as f,xn as p,yn as m}from"./app-BknkHksg.js";import{t as h}from"./jsxRuntime-DWBdSTGf.js";import{t as g}from"./icons-DTCoNVsk.js";import{n as _}from"./TextPreview-DHQCGoiY.js";var v=()=>({sessionId:``,status:`idle`,clearing:!1}),y=n(v()),b=()=>{y.value=v()},x=e=>e instanceof Error?e.message:String(e);async function S(e){y.value={...y.value.sessionId===e?y.value:v(),sessionId:e,status:`loading`};try{let t=await d.scratch(e);if(y.value.sessionId!==e)return;let{selected:n}=y.value,{selected:r,error:i,...a}=y.value;y.value={...a,status:`ready`,listing:t,...n&&t.files.some(e=>e.name===n)?{selected:n}:{}}}catch(t){if(y.value.sessionId!==e)return;let{listing:n,selected:r,...i}=y.value;y.value={...i,status:`error`,error:x(t)}}}function C(e){let t=y.value;if(e!==void 0&&!t.listing?.files.some(t=>t.name===e))return;let{selected:n,...r}=t;y.value=e===void 0?r:{...r,selected:e}}async function w(e){if(y.value.sessionId!==e)return;let{notice:t,...n}=y.value;y.value={...n,clearing:!0};try{let t=await d.clearScratch(e);if(y.value.sessionId!==e)return;let{selected:n,...r}=y.value;y.value={...r,clearing:!1,...r.listing?{listing:{...r.listing,files:[],usedBytes:0}}:{},notice:{kind:`cleared`,removed:t.removed,freedBytes:t.freedBytes}}}catch(t){if(y.value.sessionId!==e)return;let n=t instanceof l&&t.code===`runs_active`?{kind:`runsActive`}:t instanceof l&&t.status===403?{kind:`readOnly`}:{kind:`failed`,message:x(t)};y.value={...y.value,clearing:!1,notice:n}}}var T={tab:`_tab_1plr6_1`,detail:`_detail_1plr6_2`,lead:`_lead_1plr6_13`,note:`_note_1plr6_14`,error:`_error_1plr6_21`,live:`_live_1plr6_28`,quota:`_quota_1plr6_41`,meter:`_meter_1plr6_46`,list:`_list_1plr6_68`,item:`_item_1plr6_77`,file:`_file_1plr6_83`,name:`_name_1plr6_101`,meta:`_meta_1plr6_109`,iconLink:`_iconLink_1plr6_117`,detailHead:`_detailHead_1plr6_131`,back:`_back_1plr6_138`,fileTitle:`_fileTitle_1plr6_154`,row:`_row_1plr6_164`,button:`_button_1plr6_169`,danger:`_danger_1plr6_182`,confirm:`_confirm_1plr6_187`},E={title:`Scratchpad`,lead:`Work files the agent's scripts saved in this session. They are temporary and are removed after a while without use.`,loading:`Loading…`,loadFailed:`Couldn't load the scratchpad.`,retry:`Retry`,unavailable:`The scratchpad is off for this session. Turn on JavaScript in Settings → Forja, and check forge.scratch.enabled.`,empty:`No files yet. Scripts can save intermediate work here.`,files:`Files`,quota:`{used} of {total} used`,truncated:`Showing the first {count} files; the quota counts all of them.`,modified:`Modified {time}`,download:`Download {name}`,back:`Back to files`,noPreview:`No preview for this file type. Download it to open it.`,previewFailed:`Couldn't load the file.`,cancel:`Cancel`,emptyAction:`Empty`,confirm:`Delete all files from the scratchpad? This cannot be undone.`,confirmAction:`Empty the scratchpad`,cleared:`Scratchpad emptied: {removed} files, {size} freed.`,runsActive:`A script is still running. Wait for it to finish, then empty the scratchpad.`,readOnly:`The scratchpad can't be emptied while the server is read-only.`,failed:`Couldn't empty the scratchpad: {error}`,working:`Emptying…`},D={en:E,es:{title:`Scratchpad`,lead:`Archivos de trabajo que los scripts del agente guardaron en esta sesión. Son temporales y se eliminan tras un tiempo sin uso.`,loading:`Cargando…`,loadFailed:`No se pudo cargar el scratchpad.`,retry:`Reintentar`,unavailable:`El scratchpad está desactivado en esta sesión. Activa JavaScript en Ajustes → Forja y revisa forge.scratch.enabled.`,empty:`Aún no hay archivos. Los scripts pueden guardar aquí su trabajo intermedio.`,files:`Archivos`,quota:`{used} de {total} usados`,truncated:`Se muestran los primeros {count} archivos; la cuota cuenta todos.`,modified:`Modificado {time}`,download:`Descargar {name}`,back:`Volver a los archivos`,noPreview:`No hay vista previa para este tipo de archivo. Descárgalo para abrirlo.`,previewFailed:`No se pudo cargar el archivo.`,cancel:`Cancelar`,emptyAction:`Vaciar`,confirm:`¿Eliminar todos los archivos del scratchpad? No se puede deshacer.`,confirmAction:`Vaciar el scratchpad`,cleared:`Scratchpad vaciado: {removed} archivos, {size} liberados.`,runsActive:`Un script sigue en ejecución. Espera a que termine y vacía el scratchpad.`,readOnly:`El scratchpad no se puede vaciar mientras el servidor está en solo lectura.`,failed:`No se pudo vaciar el scratchpad: {error}`,working:`Vaciando…`}},O=(e,t)=>r(D[i.value][e]??E[e],t),k=e=>{switch(e.kind){case`cleared`:return O(`cleared`,{removed:e.removed,size:o(e.freedBytes)});case`runsActive`:return O(`runsActive`);case`readOnly`:return O(`readOnly`);case`failed`:return O(`failed`,{error:e.message})}};function A(e){let{sessionId:n,file:r}=e,i=u(r),[o,s]=a(),[c,l]=a(!1);return t(()=>{if(s(void 0),l(!1),!i)return;let e=!0;return d.scratchText(n,r.name).then(t=>e&&s(t),()=>e&&l(!0)),()=>{e=!1}},[n,r.name,r.mtime,r.size]),i?c?h(`p`,{class:T.error,role:`status`,children:O(`previewFailed`)}):o===void 0?h(`p`,{class:T.note,"aria-busy":`true`,children:O(`loading`)}):h(_,{text:o,as:i.as,entry:i.entry}):h(`p`,{class:T.note,children:O(`noPreview`)})}function j(e){let{percent:t,level:n}=p(e.used,e.total),r=O(`quota`,{used:o(e.used),total:o(e.total)});return h(`div`,{class:T.quota,children:[h(`div`,{class:T.meter,role:`meter`,"aria-label":O(`title`),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":t,"aria-valuetext":r,"data-level":n,children:h(`span`,{style:{width:`${t}%`}})}),h(`p`,{class:T.note,children:r})]})}function M(){let n=s.value,r=y.value,[i,l]=a(!1);if(t(()=>{l(!1),n?S(n):b()},[n,f.value]),!n)return null;let{listing:u}=r,d=u?m(u.files):[],p=d.find(e=>e.name===r.selected);return h(`div`,{class:T.tab,children:[h(`p`,{class:T.lead,children:O(`lead`)}),h(`div`,{class:T.live,role:`status`,"aria-live":`polite`,children:r.notice?k(r.notice):``}),r.status===`error`?h(`div`,{role:`alert`,children:[h(`p`,{class:T.error,children:[O(`loadFailed`),` `,r.error]}),h(`button`,{type:`button`,class:T.button,onClick:()=>void S(n),children:O(`retry`)})]}):r.status!==`ready`||!u?h(`p`,{class:T.note,"aria-busy":`true`,children:O(`loading`)}):u.available?h(e,{children:[h(j,{used:u.usedBytes,total:u.quotaBytes}),u.truncated?h(`p`,{class:T.note,children:O(`truncated`,{count:u.files.length})}):null,p?h(`div`,{class:T.detail,children:[h(`div`,{class:T.detailHead,children:[h(`button`,{type:`button`,class:T.back,onClick:()=>C(void 0),children:[h(`span`,{"aria-hidden":`true`,children:`←`}),O(`back`)]}),h(`a`,{class:T.iconLink,href:c(n,p.name),download:``,"aria-label":O(`download`,{name:p.name}),title:O(`download`,{name:p.name}),children:h(g,{name:`download`,size:15})})]}),h(`h4`,{class:T.fileTitle,title:p.name,children:p.name}),h(A,{sessionId:n,file:p})]}):d.length?h(e,{children:[h(`ul`,{class:T.list,"aria-label":O(`files`),children:d.map(e=>h(`li`,{class:T.item,children:[h(`button`,{type:`button`,class:T.file,onClick:()=>C(e.name),children:[h(`span`,{class:T.name,title:e.name,children:e.name}),h(`span`,{class:T.meta,children:[h(`span`,{children:o(e.size)}),h(`span`,{children:O(`modified`,{time:new Date(e.mtime).toLocaleString()})})]})]}),h(`a`,{class:T.iconLink,href:c(n,e.name),download:``,"aria-label":O(`download`,{name:e.name}),title:O(`download`,{name:e.name}),children:h(g,{name:`download`,size:15})})]},e.name))}),i?h(`div`,{class:T.confirm,role:`alertdialog`,"aria-label":O(`confirmAction`),children:[h(`p`,{children:O(`confirm`)}),h(`div`,{class:T.row,children:[h(`button`,{type:`button`,class:T.button,ref:e=>e?.focus(),onClick:()=>l(!1),children:O(`cancel`)}),h(`button`,{type:`button`,class:`${T.button} ${T.danger}`,disabled:r.clearing,onClick:()=>{l(!1),w(n)},children:r.clearing?O(`working`):O(`confirmAction`)})]})]}):h(`div`,{class:T.row,children:h(`button`,{type:`button`,class:`${T.button} ${T.danger}`,disabled:r.clearing,onClick:()=>l(!0),children:O(`emptyAction`)})})]}):h(`p`,{class:T.note,children:O(`empty`)})]}):h(`p`,{class:T.note,children:O(`unavailable`)})]})}export{M as ScratchTab};
@@ -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-C54K0mc6.js";import{Dt as c,K as l,d as u,f as d,ft as f,k as p,mt as m,pt as h}from"./app-BknkHksg.js";import{t as g}from"./jsxRuntime-DWBdSTGf.js";import{t as _}from"./icons-DTCoNVsk.js";import{t as v}from"./CopyButton-DEf4thwH.js";import{_ as y,b as ee,g as b,h as x,p as S,y as C}from"./index-XYSVNCIf.js";import{t as w}from"./settings.module-BClxMWCR.js";import{a as T,c as E,i as D,l as O,n as k,o as A,r as j,s as M,t as N}from"./shared-DLevBtPm.js";import{a as P,i as F,n as I,o as te,t as ne}from"./forge-page-BuIg49Im.js";var re=`https://github.com/GustavoGutierrez/alisio`;function ie(){return g(`section`,{class:w.about,children:[g(k,{title:t(`settings.about`)}),g(`img`,{class:w.aboutLogo,src:`/alisio-wordmark.png`,alt:`Alisio`,width:320,height:150}),g(`p`,{class:w.aboutVersion,children:d.value?t(`about.version`,{version:d.value}):t(`about.versionUnknown`)}),g(`p`,{class:w.aboutDescription,children:t(`about.description`)}),g(`p`,{class:w.aboutAttribution,children:`Gustavo Gutiérrez · Bogotá, Colombia`}),g(`a`,{class:w.aboutLink,href:re,target:`_blank`,rel:`noopener noreferrer`,"aria-label":t(`about.repositoryLabel`),children:[g(_,{name:`github`,size:19}),t(`about.repository`)]})]})}function L(){let n=E(),[r,i]=s(),a=O(n?()=>u.agents(n.id):void 0,[n?.id],[`agents`,`plugins`]),o=p.value,c=o?.agent??a.data?.find(e=>e.default)?.id;return g(e,{children:[g(k,{title:t(`settings.agents`),body:t(`agents.lead`),workspace:n?.path}),g(T,{loading:a.loading&&!a.data,error:a.error,empty:n?void 0:`settings.noWorkspace`}),g(`ul`,{class:w.rows,children:(a.data??[]).map(n=>g(`li`,{class:w.row,"data-current":n.id===c,children:[g(`div`,{class:w.rowMain,children:[g(`div`,{class:w.rowTitle,children:[g(`span`,{class:w.cardName,children:n.name}),g(j,{tone:`off`,children:t(`agents.source.${n.source}`)}),n.readOnly?g(j,{tone:`warn`,children:t(`agents.readOnly`)}):null,n.default?g(j,{tone:`ok`,children:t(`agents.default`)}):null]}),g(`p`,{class:w.cardText,children:n.description}),n.model?g(`p`,{class:w.meta,children:t(`agents.model`,{model:n.model})}):null,n.instructions?g(e,{children:[g(`button`,{type:`button`,class:w.linkButton,"aria-expanded":r===n.id,onClick:()=>i(r===n.id?void 0:n.id),children:[g(_,{name:r===n.id?`chevronDown`:`chevronRight`,size:14}),t(`agents.instructions`)]}),r===n.id?g(`pre`,{class:w.instructions,children:n.instructions}):null]}):null]}),g(`div`,{class:w.rowActions,children:o&&!o.parentId?n.id===c?g(`span`,{class:w.meta,children:t(`agents.inUse`)}):g(`button`,{type:`button`,class:w.secondary,onClick:()=>void l({agent:n.id}),children:t(`agents.use`)}):null})]},n.id))})]})}function R(){let n=E(),r=O(n?()=>u.settings(n.id):void 0,[n?.id]),i=O(n?()=>u.iconThemes(n.id):void 0,[n?.id]),a=r.data?.settings.find(e=>e.key===`web.iconTheme`)?.value??`none`,o=i.data?.themes??[],s=async e=>{if(n&&r.data)try{await u.setSetting(n.id,`web.iconTheme`,e),r.set({...r.data,settings:r.data.settings.map(t=>t.key===`web.iconTheme`?{...t,value:e}:t)}),ee(),C(n.id)}catch(e){m(M(e))}};return g(e,{children:[g(k,{title:t(`settings.appearance`),body:t(`appearance.lead`)}),g(N,{legend:t(`settings.theme`),value:y.value,options:[`dark`,`light`,`system`].map(e=>({id:e,label:t(`theme.${e}`)})),onChange:b}),g(N,{legend:t(`settings.density`),value:S.value,options:[`compact`,`detailed`].map(e=>({id:e,label:t(`density.${e}`)})),onChange:x}),g(T,{loading:i.loading&&!i.data,error:i.error,empty:n?void 0:`settings.noWorkspace`}),i.data?g(e,{children:[g(N,{legend:t(`appearance.iconTheme`),value:a,options:[{id:`none`,label:t(`appearance.iconTheme.none`)},...o.map(e=>({id:e.id,label:e.label}))],onChange:e=>void s(e)}),o.length===0?g(`p`,{class:w.note,children:t(`appearance.iconTheme.empty`)}):null]}):null]})}var z={min:1,max:900},B={min:0,max:3650};function V(e,t,n){let r=e.trim();if(!/^\d+$/.test(r))return;let i=Number(r);return i>=t&&i<=n?i:void 0}function H(e){let t=V(e,z.min,z.max);return t===void 0?void 0:t*1e3}var U=e=>Math.round(e/1e3);function W(e,t){return e.find(e=>e.key===t)?.value}function G(e){return e.join(`, `)}function K(e){let[t,n]=s(),[r,i]=s(!1),a=async()=>{if(t===void 0)return;let r=e.parse?e.parse(t):V(t,e.min,e.max);if(n(void 0),r!==void 0){i(!0);try{await e.onSave(r)}catch{}finally{i(!1)}}};return g(`li`,{class:w.settingRow,children:[g(`label`,{class:w.settingLabel,for:e.id,children:[g(`span`,{children:e.label}),g(`code`,{class:w.settingKey,children:e.keyName})]}),g(`input`,{id:e.id,class:w.input,type:`number`,inputMode:`numeric`,min:e.min,max:e.max,step:1,disabled:e.disabled||r,value:t??String(e.value),onInput:e=>n(e.target.value),onBlur:()=>void a(),onKeyDown:e=>{e.key===`Enter`&&a(),e.key===`Escape`&&t!==void 0&&(e.stopPropagation(),n(void 0))}})]})}function q(e){return I(e.mode,e.isolation,e.backends??[])||(e.mode===`auto`?`managed`:e.mode)}function J(e){if(!e.backends?.length)return e.mode===`oci`?`ok`:`warn`;let t=I(e.mode,e.isolation,e.backends);return t===void 0?`off`:t===`managed`?`warn`:`ok`}function Y({card:e}){return g(`li`,{class:w.backend,"data-ready":e.ready?`true`:`false`,children:[g(`div`,{class:w.backendHead,children:[g(`h5`,{class:w.backendName,children:t(`forge.backend.${e.id}`)}),g(j,{tone:e.ready?`ok`:`off`,children:t(e.ready?`forge.ready`:`forge.notReady`)}),e.current?g(`span`,{class:w.chip,children:t(`forge.inUse`)}):null]}),g(`p`,{class:w.isolation,"data-sandboxed":e.sandboxed?`true`:`false`,children:[g(_,{name:e.icon,size:14}),t(e.isolationKey)]}),e.profiles.length?g(`p`,{class:w.profiles,children:[t(`forge.profiles`),` `,e.profiles.map(e=>g(`span`,{class:w.chip,children:e},e))]}):null,e.reason?g(`p`,{class:w.reasonText,children:e.reason}):null,e.setup?g(`div`,{class:w.command,children:[g(`code`,{children:e.setup}),g(v,{text:()=>e.setup??``,label:t(`forge.copyCommand`)})]}):null]})}function ae({status:n}){let r=ne(n),i=r.find(e=>e.current);return g(e,{children:[g(`h4`,{class:w.sectionTitle,children:t(`forge.backends`)}),r.length?g(`ul`,{class:w.backendList,"aria-label":t(`forge.backends`),children:r.map(e=>g(Y,{card:e},e.id))}):null,g(`dl`,{class:w.facts,"data-testid":`forge-policy`,children:[g(`dt`,{children:t(`forge.runtimeSetting`)}),g(`dd`,{children:[g(`code`,{children:n.mode}),` `,g(`code`,{class:w.settingKey,children:`analysis.runtime`})]}),g(`dt`,{children:t(`forge.isolationPolicy`)}),g(`dd`,{children:[g(`code`,{children:n.isolation??`preferred`}),` `,g(`code`,{class:w.settingKey,children:`analysis.isolation`})]}),g(`dt`,{children:t(`forge.runsOn`)}),g(`dd`,{children:t(i?`forge.backend.${i.id}`:`forge.noneReady`)})]}),g(`p`,{class:w.note,children:t(`forge.policyHint`,{policy:n.isolation??`preferred`})})]})}function oe(n){let{status:r}=n,{python:i,oci:a}=r;return g(e,{children:[g(`h4`,{class:w.sectionTitle,children:t(`settings.analysis.status`)}),g(`dl`,{class:w.facts,"data-testid":`analysis-status`,children:[g(`dt`,{children:t(`settings.analysis.mode`)}),g(`dd`,{children:g(j,{tone:J(r),children:t(P(r.mode))})}),g(`dt`,{children:t(`settings.analysis.runtime`)}),g(`dd`,{children:i.found?t(`settings.analysis.detected`,{version:i.version,path:i.path}):g(`span`,{children:t(`settings.analysis.notFound`)})}),i.found&&i.runtimeVersion?g(e,{children:[g(`dt`,{children:t(`settings.analysis.runtimeVersion`)}),g(`dd`,{children:g(`code`,{children:i.runtimeVersion})})]}):null,g(`dt`,{children:t(`settings.analysis.extras`)}),g(`dd`,{children:i.found&&i.extras.length?t(`settings.analysis.extras.installed`,{extras:G(i.extras)}):t(`settings.analysis.extras.none`)}),g(`dt`,{children:t(`settings.analysis.oci`)}),g(`dd`,{children:r.mode===`managed`&&!a.image&&a.available===void 0?t(`settings.analysis.oci.unused`):g(e,{children:[g(`span`,{children:[a.engine,` ·`,` `,t(`settings.analysis.oci.limits`,{memory:a.memoryMb,cpus:a.cpus})]}),g(`br`,{}),a.image?g(`code`,{children:a.image}):t(`settings.analysis.oci.noImage`),a.available===void 0?null:g(e,{children:[g(`br`,{}),a.available?t(`settings.analysis.oci.available`,{version:a.version??``}):t(`settings.analysis.oci.unavailable`,{reason:a.reason??``})]})]})})]}),g(`p`,{class:w.note,role:`note`,children:t(q(r)===`oci`?`settings.analysis.containerNote`:q(r)===`wasm`?`settings.analysis.wasmNote`:`settings.analysis.managedNote`)}),i.found?g(`p`,{class:w.note,children:t(`settings.analysis.extras.hint`)}):g(`div`,{role:`group`,"aria-label":t(`settings.analysis.installHint.title`),children:[g(`h4`,{class:w.sectionTitle,children:t(`settings.analysis.installHint.title`)}),g(`p`,{class:w.note,children:[i.hints.system,i.hints.heading?` · ${i.hints.heading}`:``]}),g(`pre`,{class:w.note,children:g(`code`,{children:i.hints.primary})}),i.hints.alternatives.map(e=>g(`p`,{class:w.note,children:e},e)),i.hints.notes.map(e=>g(`p`,{class:w.note,children:e},e)),g(`p`,{class:w.note,children:t(`settings.analysis.installHint.afterInstall`)})]})]})}function se(n){let[r,i]=s(!1),{readOnly:a,status:o,save:c}=n,l=n.settings??[],u=W(l,`analysis.enabled`),d=W(l,`analysis.smartDashboard`),f=(e,t)=>{let n=W(l,e);return typeof n==`number`?n:t},p=o?.retention.lastSweep;return g(e,{children:[g(`h4`,{class:w.sectionTitle,children:t(`forge.python`)}),g(`p`,{class:w.lead,children:t(`settings.analysis.lead`)}),o?.readOnly?g(`p`,{class:w.note,children:t(`settings.analysis.readOnlyRuntime`)}):u===!1?g(`p`,{class:w.note,children:t(`settings.analysis.disabled`)}):null,o?g(ae,{status:o}):null,o?g(oe,{status:o}):null,n.settings?g(e,{children:[g(`ul`,{class:w.settingList,children:[g(`li`,{class:w.settingRow,children:[g(`label`,{class:w.settingLabel,for:`analysis-enabled`,children:[g(`span`,{children:t(`settings.analysis.enabled`)}),g(`code`,{class:w.settingKey,children:`analysis.enabled`})]}),g(A,{checked:u!==!1,label:t(`settings.analysis.enabled`),disabled:a,busy:r,onChange:e=>{i(!0),c(`analysis.enabled`,e).catch(()=>void 0).finally(()=>i(!1))}})]}),g(`li`,{class:w.settingRow,children:[g(`label`,{class:w.settingLabel,for:`analysis-smart-dashboard`,children:[g(`span`,{children:t(`settings.analysis.smartDashboard`)}),g(`code`,{class:w.settingKey,children:`analysis.smartDashboard`})]}),g(A,{checked:d!==!1,label:t(`settings.analysis.smartDashboard`),disabled:a,busy:r,onChange:e=>{i(!0),c(`analysis.smartDashboard`,e).catch(()=>void 0).finally(()=>i(!1))}})]}),g(K,{id:`analysis-timeout`,label:t(`settings.analysis.timeout`),keyName:`analysis.limits.timeoutMs`,value:U(f(`analysis.limits.timeoutMs`,12e4)),min:z.min,max:z.max,disabled:a,parse:H,onSave:e=>c(`analysis.limits.timeoutMs`,e)})]}),g(`p`,{class:w.note,children:t(`settings.analysis.enabledHint`)}),g(`p`,{class:w.note,children:t(`settings.analysis.smartDashboardHint`)}),g(`h4`,{class:w.sectionTitle,children:t(`settings.analysis.retention`)}),g(`p`,{class:w.note,children:t(`settings.analysis.retention.lead`)}),g(`ul`,{class:w.settingList,children:[[`analysis.retention.jobsDays`,`settings.analysis.retention.jobs`,30],[`analysis.retention.intermediateDays`,`settings.analysis.retention.intermediate`,7],[`analysis.retention.artifactsDays`,`settings.analysis.retention.artifacts`,0]].map(([e,n,r])=>g(K,{id:`analysis-${e}`,label:t(n),keyName:e,value:f(e,r),min:B.min,max:B.max,disabled:a,onSave:t=>c(e,t)},e))}),g(`p`,{class:w.note,children:p===void 0?t(`settings.analysis.retention.never`):t(`settings.analysis.retention.lastSweep`,{time:new Date(p).toLocaleString()})})]}):null]})}function X(e){let[t,n]=s(!1);return g(`li`,{class:w.settingRow,children:[g(`label`,{class:w.settingLabel,for:e.id,children:[g(`span`,{children:e.label}),g(`code`,{class:w.settingKey,children:e.keyName})]}),g(A,{checked:e.checked,label:e.label,disabled:e.disabled,busy:t,onChange:t=>{n(!0),e.onChange(t).catch(()=>void 0).finally(()=>n(!1))}})]})}function ce(n){let r=F(n.forge),{scratch:i}=n.forge;return g(e,{children:[g(`h4`,{class:w.sectionTitle,children:t(`forge.javascript`)}),g(`p`,{class:w.lead,children:t(`forge.javascript.lead`)}),g(`dl`,{class:w.facts,"data-testid":`forge-javascript`,children:[g(`dt`,{children:t(`forge.status`)}),g(`dd`,{children:[g(j,{tone:n.enabled?r.verified?`ok`:`danger`:`off`,children:t(n.enabled?r.verified?`forge.js.ready`:`forge.js.unverified`:`forge.js.off`)}),r.verification?g(e,{children:[` `,r.verification]}):null]}),g(`dt`,{children:t(`forge.js.engine`)}),g(`dd`,{children:g(`code`,{children:r.version})}),g(`dt`,{children:t(`forge.js.hash`)}),g(`dd`,{children:g(`code`,{title:n.forge.javascript.wasmSha256,children:[r.hash,`…`]})}),g(`dt`,{children:t(`forge.js.host`)}),g(`dd`,{children:[t(`forge.host.${r.host}`),` `,g(`code`,{class:w.settingKey,children:[`forge.javascript.host=`,r.hostSetting]})]}),r.limits.map(n=>g(e,{children:[g(`dt`,{children:t(`forge.limit.${n.id}`)}),g(`dd`,{children:n.value})]},n.id)),g(`dt`,{children:t(`forge.scratch`)}),g(`dd`,{children:i.enabled?t(`forge.scratchValue`,{size:c(i.maxBytes),days:i.retentionDays}):t(`forge.scratchOff`)})]}),g(`ul`,{class:w.settingList,children:g(X,{id:`forge-javascript-enabled`,label:t(`forge.js.enable`),keyName:`forge.javascript.enabled`,checked:n.enabled,disabled:n.readOnly,onChange:e=>n.save(`forge.javascript.enabled`,e)})}),g(`p`,{class:w.note,children:t(`forge.js.enableHint`)}),g(`p`,{class:w.note,children:t(`forge.limitsHint`)})]})}function le(){let n=E(),r=O(n?()=>u.forge(n.id):void 0,[n?.id]),i=O(n?()=>u.analysis(n.id):void 0,[n?.id]),a=O(n?()=>u.settings(n.id):void 0,[n?.id]),o=!!a.data?.readOnly,s=a.data?.settings,c=async(e,t)=>{if(n&&a.data)try{await u.setSetting(n.id,e,t),a.set({...a.data,settings:a.data.settings.map(n=>n.key===e?{...n,value:t}:n)}),r.reload(),i.reload()}catch(e){throw m(M(e)),e}},l=(e,t)=>{let n=s?.find(t=>t.key===e)?.value;return typeof n==`boolean`?n:t};return g(e,{children:[g(k,{title:t(`settings.forge.title`),body:t(`settings.forge.lead`)}),g(T,{loading:a.loading&&!a.data||i.loading&&!i.data||r.loading&&!r.data,error:a.error??i.error??r.error,empty:n?void 0:`settings.noWorkspace`}),o?g(`p`,{class:w.note,children:t(`settings.readOnly`)}):null,r.data?g(ce,{forge:r.data,enabled:l(`forge.javascript.enabled`,r.data.javascript.enabled),readOnly:o,save:c}):null,g(se,{status:i.data,settings:s,readOnly:o,save:c}),r.data?g(e,{children:[g(`h4`,{class:w.sectionTitle,children:t(`forge.guides`)}),g(`ul`,{class:w.settingList,children:g(X,{id:`forge-guides-enabled`,label:t(`forge.guides.enable`),keyName:`forge.guides.enabled`,checked:l(`forge.guides.enabled`,r.data.guides.enabled),disabled:o,onChange:e=>c(`forge.guides.enabled`,e)})}),g(`p`,{class:w.note,children:t(`forge.guides.hint`)})]}):null]})}var Z={en:{"compaction.auto":`Compact the context automatically`,"compaction.threshold":`Compaction threshold (fraction of the window)`,"compaction.keepTurns":`Recent turns kept verbatim`,"compaction.maxOutputTokens":`Summary length (tokens)`,"context.claudeMdFallback":`Read CLAUDE.md when there is no AGENTS.md`,"context.maxBytes":`Project instructions limit (bytes)`,"limits.maxTurns":`Turns per run`,"limits.maxOutputTokens":`Output tokens per turn`,"limits.maxContextChars":`Context characters sent`,"limits.timeoutMs":`Run time limit, active time (ms)`,"limits.firstTokenTimeoutMs":`First-token timeout (ms)`,"limits.firstTokenRetries":`Retries when the model stays silent`,"limits.truncationRecoveries":`Recoveries from truncated output`,"pluginHooks.timeoutMs":`Plugin hook timeout (ms)`,"pluginHooks.disposeTimeoutMs":`Plugin shutdown timeout (ms)`,"decisions.enabled":`Decision Intelligence`,"decisions.provider":`Decision provider`,"decisions.timeoutMs":`Decision timeout (ms)`,"decisions.minConfidence":`Decision minimum confidence`,"decisions.telemetry":`Record decision telemetry`,"websearch.provider":`Web search provider`,"web.iconTheme":`Icon theme (web)`,"tui.paddingX":`Terminal horizontal padding`,"tui.contentPaddingX":`Terminal content padding`,"tui.skillSlashCommands":`Skills as slash commands (terminal)`,"agents.active":`Active agent`,"agents.effort":`Agent reasoning effort`,"analysis.enabled":`Data analysis`,"analysis.smartDashboard":`Smart Dashboard (dashboard_generate)`,"analysis.limits.timeoutMs":`Analysis run timeout (ms)`,"analysis.retention.jobsDays":`Keep analysis jobs (days)`,"analysis.retention.intermediateDays":`Keep intermediate files (days)`,"analysis.retention.artifactsDays":`Keep artifacts (days)`,"tasks.enabled":`Background tasks`,"tasks.maxPerSession":`Live background tasks per session`,"tasks.maxRunMs":`Background task time limit (ms)`,"tasks.maxOutputBytes":`Background task log size (bytes)`,"tasks.retentionDays":`Keep finished tasks (days)`,"goal.enabled":`Session goals (/goal)`,"goal.maxTurns":`Goal turn limit`,"goal.maxMinutes":`Goal time limit (minutes)`,"goal.repeatedReplyLimit":`Pause a goal after identical replies`,"goal.noToolTurnsLimit":`Pause a goal after turns without tools`,"goal.blockedRepeats":`Turns the agent must report a blocker`,"plan.diagrams":`Plan diagrams`,"plan.maxDiagrams":`Most diagrams per plan`,"forge.javascript.enabled":`Forja JavaScript (js_run)`,"forge.guides.enabled":`Forja guides (forge_guide)`},es:{"compaction.auto":`Compactar el contexto automáticamente`,"compaction.threshold":`Umbral de compactación (fracción de la ventana)`,"compaction.keepTurns":`Turnos recientes conservados literalmente`,"compaction.maxOutputTokens":`Longitud del resumen (tokens)`,"context.claudeMdFallback":`Leer CLAUDE.md si no hay AGENTS.md`,"context.maxBytes":`Límite de instrucciones del proyecto (bytes)`,"limits.maxTurns":`Turnos por run`,"limits.maxOutputTokens":`Tokens de salida por turno`,"limits.maxContextChars":`Caracteres de contexto enviados`,"limits.timeoutMs":`Límite de tiempo de la ejecución, tiempo activo (ms)`,"limits.firstTokenTimeoutMs":`Tiempo máximo al primer token (ms)`,"limits.firstTokenRetries":`Reintentos cuando el modelo no responde`,"limits.truncationRecoveries":`Recuperaciones de salida truncada`,"pluginHooks.timeoutMs":`Tiempo máximo de hooks de plugins (ms)`,"pluginHooks.disposeTimeoutMs":`Tiempo máximo de cierre de plugins (ms)`,"decisions.enabled":`Decision Intelligence`,"decisions.provider":`Proveedor de decisiones`,"decisions.timeoutMs":`Tiempo máximo de decisión (ms)`,"decisions.minConfidence":`Confianza mínima de las decisiones`,"decisions.telemetry":`Registrar telemetría de decisiones`,"websearch.provider":`Proveedor de búsqueda web`,"web.iconTheme":`Tema de iconos (web)`,"tui.paddingX":`Margen horizontal del terminal`,"tui.contentPaddingX":`Margen del contenido del terminal`,"tui.skillSlashCommands":`Skills como comandos slash (terminal)`,"agents.active":`Agente activo`,"agents.effort":`Esfuerzo de razonamiento del agente`,"analysis.enabled":`Análisis de datos`,"analysis.smartDashboard":`Smart Dashboard (dashboard_generate)`,"analysis.limits.timeoutMs":`Tiempo máximo de una ejecución de análisis (ms)`,"analysis.retention.jobsDays":`Conservar trabajos de análisis (días)`,"analysis.retention.intermediateDays":`Conservar archivos intermedios (días)`,"analysis.retention.artifactsDays":`Conservar artefactos (días)`,"tasks.enabled":`Tareas en segundo plano`,"tasks.maxPerSession":`Tareas en segundo plano activas por sesión`,"tasks.maxRunMs":`Tiempo máximo de una tarea en segundo plano (ms)`,"tasks.maxOutputBytes":`Tamaño del registro de una tarea (bytes)`,"tasks.retentionDays":`Conservar tareas terminadas (días)`,"goal.enabled":`Objetivos de sesión (/goal)`,"goal.maxTurns":`Límite de turnos de un objetivo`,"goal.maxMinutes":`Límite de tiempo de un objetivo (minutos)`,"goal.repeatedReplyLimit":`Pausar un objetivo tras respuestas idénticas`,"goal.noToolTurnsLimit":`Pausar un objetivo tras turnos sin herramientas`,"goal.blockedRepeats":`Turnos en que el agente debe reportar un bloqueo`,"plan.diagrams":`Diagramas del plan`,"plan.maxDiagrams":`Máximo de diagramas por plan`,"forge.javascript.enabled":`Forja JavaScript (js_run)`,"forge.guides.enabled":`Guías de Forja (forge_guide)`}},ue=(e,t)=>Z[t][e]??Z.en[e]??e,de=/^(tui|agents|analysis|forge|web)\./;function fe(e){let{setting:n}=e,[r,i]=s(),[o,c]=s(!1),l=async t=>{c(!0);try{await e.onSave(t),i(void 0)}finally{c(!1)}},u=ue(n.key,a.value),d=`setting-${n.key}`,f=()=>{if(r!==void 0){if(n.kind===`number`){let e=Number(r);if(r.trim()===``||!Number.isFinite(e))return i(void 0);l(e)}else l(r.trim()===``?null:r)}};return g(`li`,{class:w.settingRow,children:[g(`label`,{class:w.settingLabel,for:d,children:[g(`span`,{children:u}),g(`code`,{class:w.settingKey,children:n.key})]}),n.kind===`boolean`?g(A,{checked:n.value===!0,label:u,disabled:e.disabled,busy:o,onChange:e=>void l(e)}):n.kind===`enum`?g(`select`,{id:d,class:w.input,disabled:e.disabled||o,value:typeof n.value==`string`?n.value:``,onChange:e=>{let t=e.target.value;l(t===``?null:t)},children:[g(`option`,{value:``,children:t(`settings.default`)}),(n.options??[]).map(e=>g(`option`,{value:e,children:e},e))]}):g(`input`,{id:d,class:w.input,type:n.kind===`number`?`number`:`text`,disabled:e.disabled||o,value:r??(n.value===void 0?``:String(n.value)),onInput:e=>i(e.target.value),onBlur:f,onKeyDown:e=>{e.key===`Enter`&&f(),e.key===`Escape`&&r!==void 0&&(e.stopPropagation(),i(void 0))}})]})}function pe(){let n=E(),r=O(n?()=>u.settings(n.id):void 0,[n?.id]),s=async(e,t)=>{if(n&&r.data)try{await u.setSetting(n.id,e,t),r.set({...r.data,settings:r.data.settings.map(n=>n.key===e?{...n,...t===null?{value:void 0}:{value:t}}:n)})}catch(e){throw m(M(e)),e}},c=(r.data?.settings??[]).filter(e=>!de.test(e.key));return g(e,{children:[g(k,{title:t(`settings.general`)}),g(N,{legend:t(`settings.language`),value:a.value,options:o.map(e=>({id:e,label:t(`language.${e}`)})),onChange:i}),g(`h4`,{class:w.sectionTitle,children:t(`settings.agentSettings`)}),g(`p`,{class:w.note,children:[t(`settings.agentSettingsLead`),r.data?g(e,{children:[` `,g(`code`,{children:r.data.settingsPath})]}):null]}),g(T,{loading:r.loading&&!r.data,error:r.error,empty:n?void 0:`settings.noWorkspace`}),r.data?.readOnly?g(`p`,{class:w.note,children:t(`settings.readOnly`)}):null,g(`ul`,{class:w.settingList,children:c.map(e=>g(fe,{setting:e,disabled:!!r.data?.readOnly,onSave:t=>s(e.key,t)},e.key))})]})}var me={connected:`ok`,connecting:`warn`,failed:`danger`,"needs-authentication":`warn`,"restart-required":`warn`};function he(e){let[n,r]=s(!1);return g(`div`,{class:w.confirm,role:`alertdialog`,"aria-labelledby":`mcp-consent-title`,children:[g(`h4`,{id:`mcp-consent-title`,class:w.confirmTitle,children:[g(_,{name:`alert`,size:17}),t(`mcp.consentTitle`)]}),g(`p`,{class:w.cardText,children:t(`mcp.consentBody`)}),g(`label`,{class:w.checkRow,children:[g(`input`,{type:`checkbox`,checked:n,onChange:e=>r(e.target.checked)}),g(`span`,{children:t(`mcp.remember`)})]}),g(`div`,{class:w.actions,children:[g(`button`,{type:`button`,class:w.secondary,onClick:e.onCancel,children:t(`common.cancel`)}),g(`button`,{type:`button`,class:w.primary,onClick:()=>e.onGrant(n),children:t(`mcp.grant`)})]})]})}function ge(){let n=E(),[r,i]=s(!1),[a,o]=s(),c=O(n?()=>u.mcp(n.id):void 0,[n?.id],[`mcp`]),l=c.data,d=e=>{l&&c.set({...l,servers:l.servers.map(t=>t.name===e.name?e:t)})},f=async(e,t,r)=>{if(n){o(e.name);try{let i=await u.setMcp(n.id,e.name,t,r);d(i),r&&i.status!==`connected`&&i.diagnostic&&m(i.diagnostic)}catch(e){m(M(e))}finally{o(void 0)}}},p=async e=>{if(n){i(!1);try{c.set(await u.mcpConsent(n.id,e))}catch(e){m(M(e))}}},h=l?.permission===`granted`;return g(e,{children:[g(k,{title:t(`settings.mcp`),body:t(`mcp.lead`),workspace:n?.path}),l?g(`div`,{class:w.banner,"data-tone":h?`ok`:`warn`,children:[g(`span`,{children:l.permission===`read-only`?t(`mcp.readOnly`):h?l.persisted?t(`mcp.grantedPersisted`):t(`mcp.granted`):t(`mcp.notGranted`)}),l.permission===`not-granted`&&!r?g(`button`,{type:`button`,class:w.primary,onClick:()=>i(!0),children:t(`mcp.grant`)}):null]}):null,r?g(he,{onCancel:()=>i(!1),onGrant:e=>void p(e)}):null,g(T,{loading:c.loading&&!l,error:c.error,empty:n?l&&!l.servers.length?`mcp.none`:void 0:`settings.noWorkspace`}),g(`ul`,{class:w.rows,children:(l?.servers??[]).map(e=>g(`li`,{class:w.row,children:[g(`div`,{class:w.rowMain,children:[g(`div`,{class:w.rowTitle,children:[g(`span`,{class:w.cardName,children:e.displayName}),g(j,{tone:me[e.status]??`off`,children:t(`mcp.status`,{status:e.status})})]}),g(`p`,{class:w.meta,children:t(`mcp.meta`,{transport:e.transport,source:e.source,tools:e.counts.tools,resources:e.counts.resources,prompts:e.counts.prompts})}),e.diagnostic?g(`p`,{class:w.diagnostic,children:e.diagnostic}):null]}),g(`div`,{class:w.rowActions,children:[e.enabled&&e.status!==`connected`?g(`button`,{type:`button`,class:w.secondary,disabled:!h||a===e.name,title:h?void 0:t(`mcp.needsGrant`),onClick:()=>void f(e,!0,!0),children:t(`mcp.connect`)}):null,g(A,{checked:e.enabled,label:t(`plugins.enableNamed`,{name:e.displayName}),disabled:l?.permission===`read-only`,busy:a===e.name,onChange:t=>void f(e,t,!1)})]})]},e.name))})]})}var _e={apiKey:`API key`,bearerToken:`Bearer token`};function ve(e){return e.configured?e.source===`env`?t(`models.credential.env`):e.tail?t(`models.credential.storedTail`,{tail:e.tail}):t(`models.credential.stored`):t(`models.credential.missing`)}function ye(e){let[n,r]=s(``),[i,a]=s(!1),o=_e[e.field]??e.field,c=`cred-${e.profile}-${e.field}`,l=async()=>{let i=n.trim();if(i){a(!0);try{let n=await u.setCredentials(e.profile,{[e.field]:i});e.onChange({...n,source:`file`}),r(``),m(t(`models.credential.saved`))}catch(e){m(M(e))}finally{a(!1)}}},d=async()=>{a(!0);try{await u.deleteCredentials(e.profile),e.onChange({configured:!1})}catch(e){m(M(e))}finally{a(!1)}};return g(`div`,{class:w.credential,children:[g(`label`,{for:c,class:w.settingLabel,children:[g(`span`,{children:o}),g(`span`,{class:w.meta,"data-configured":e.status.configured,children:ve(e.status)})]}),g(`form`,{class:w.credentialForm,onSubmit:e=>{e.preventDefault(),l()},children:[g(`input`,{id:c,class:w.input,type:`password`,autocomplete:`off`,spellcheck:!1,placeholder:e.status.configured?t(`models.credential.replace`):t(`models.credential.enter`),value:n,disabled:i,onInput:e=>r(e.target.value)}),g(`button`,{type:`submit`,class:w.primary,disabled:i||!n.trim(),children:t(`models.credential.save`)}),e.status.configured&&e.status.source===`file`?g(`button`,{type:`button`,class:w.secondary,disabled:i,onClick:()=>void d(),children:t(`models.credential.remove`)}):null]})]})}function Q(e){let[n,r]=s(e.initial?.name??``),[i,a]=s(e.initial?.provider??e.types[0]?.id??``),[o,c]=s(e.initial?.model??``),[l,d]=s(e.initial?.values??{}),[f,p]=s(!1),h=(e.types.find(e=>e.id===i)?.fields??[]).filter(e=>e.kind!==`secret`),_=(e,t)=>l[e]??t,v=async()=>{p(!0);try{let t={};for(let e of h){let n=_(e.key,e.defaultValue);n!==void 0&&n!==``&&(t[e.key]=n)}e.onSaved(await u.saveProfile(e.workspace,n.trim(),{provider:i,values:t,model:o}))}catch(e){m(M(e))}finally{p(!1)}};return g(`form`,{class:w.profileForm,onSubmit:e=>{e.preventDefault(),v()},children:[g(`label`,{class:w.formRow,children:[g(`span`,{children:t(`models.form.name`)}),g(`input`,{class:w.input,required:!0,pattern:`[A-Za-z0-9][A-Za-z0-9._\\-]{0,63}`,disabled:!!e.initial,value:n,onInput:e=>r(e.target.value)})]}),g(`label`,{class:w.formRow,children:[g(`span`,{children:t(`models.form.type`)}),g(`select`,{class:w.input,value:i,onChange:e=>a(e.target.value),children:e.types.map(e=>g(`option`,{value:e.id,children:e.name},e.id))})]}),h.map(e=>g(`label`,{class:w.formRow,title:e.description,children:[g(`span`,{children:e.label}),e.kind===`select`?g(`select`,{class:w.input,value:String(_(e.key,e.defaultValue)??``),onChange:t=>d({...l,[e.key]:t.target.value}),children:(e.options??[]).map(e=>g(`option`,{value:e.value,children:e.label},e.value))}):e.kind===`boolean`?g(`input`,{type:`checkbox`,checked:_(e.key,e.defaultValue)===!0,onChange:t=>d({...l,[e.key]:t.target.checked})}):g(`input`,{class:w.input,type:e.kind===`url`?`url`:`text`,required:e.required,value:String(_(e.key,e.defaultValue)??``),onInput:t=>d({...l,[e.key]:t.target.value})})]},e.key)),g(`label`,{class:w.formRow,children:[g(`span`,{children:t(`models.form.model`)}),g(`input`,{class:w.input,required:!0,value:o,onInput:e=>c(e.target.value)})]}),g(`p`,{class:w.note,children:t(`models.form.secretsNote`)}),g(`div`,{class:w.actions,children:[g(`button`,{type:`button`,class:w.secondary,onClick:e.onCancel,children:t(`common.cancel`)}),g(`button`,{type:`submit`,class:w.primary,disabled:f,children:t(`models.form.save`)})]})]})}function be(n){let{profile:r,overview:i}=n,[a,o]=s(!1),[c,l]=s(r.model),[d,f]=s(!1),p=i.types.find(e=>e.id===r.provider),h=i.current?.profile===r.name,v=async()=>{f(!0);try{let{changed:e}=await u.activateProvider(n.workspace,r.name,c);m(e?t(`models.activated`,{name:r.name}):t(`models.unchanged`)),n.onActivated()}catch(e){m(M(e))}finally{f(!1)}},y=n.catalog?.models??[];return g(`li`,{class:w.row,"data-current":h,children:g(`div`,{class:w.rowMain,children:[g(`div`,{class:w.rowTitle,children:[g(`span`,{class:w.cardName,children:r.name}),g(j,{tone:`off`,children:p?.name??r.provider}),r.active?g(j,{tone:`ok`,children:t(`models.activeGlobal`)}):null,h?g(j,{tone:`ok`,children:t(`models.current`)}):null,g(`button`,{type:`button`,class:w.linkButton,"aria-expanded":a,onClick:()=>o(!a),children:[g(_,{name:`edit`,size:14}),t(`models.edit`)]})]}),a?g(Q,{types:i.types,initial:r,workspace:n.workspace,onCancel:()=>o(!1),onSaved:e=>{o(!1),n.onChange(e)}}):g(`dl`,{class:w.facts,children:[g(`dt`,{children:t(`models.form.model`)}),g(`dd`,{children:r.model}),Object.entries(r.values).map(([t,n])=>g(e,{children:[g(`dt`,{children:p?.fields.find(e=>e.key===t)?.label??t}),g(`dd`,{children:String(n)})]},t))]}),Object.entries(r.credentials).map(([e,t])=>g(ye,{profile:r.name,field:e,status:t,onChange:t=>n.onChange({...r,credentials:{...r.credentials,[e]:t}})},e)),g(`form`,{class:w.credentialForm,onSubmit:e=>{e.preventDefault(),v()},children:[y.length?g(`select`,{class:w.input,"aria-label":t(`models.form.model`),value:c,onChange:e=>l(e.target.value),children:[y.some(e=>e.id===c)?null:g(`option`,{value:c,children:c}),y.map(e=>g(`option`,{value:e.id,children:e.name??e.id},e.id))]}):g(`input`,{class:w.input,"aria-label":t(`models.form.model`),value:c,onInput:e=>l(e.target.value)}),g(`button`,{type:`submit`,class:w.secondary,disabled:d||!c.trim(),children:t(`models.activate`)}),n.catalog?.unavailable?g(`span`,{class:w.meta,children:t(`composer.modelsUnavailable`)}):null]})]})})}function $(){let n=E(),[r,i]=s(!1),a=O(n?()=>u.providers(n.id):void 0,[n?.id],[`models`]),o=O(n?()=>u.providerModels(n.id).catch(()=>[]):void 0,[n?.id],[`models`]),c=a.data,l=e=>{if(!c)return;let t=c.profiles.some(t=>t.name===e.name);a.set({...c,profiles:t?c.profiles.map(t=>t.name===e.name?e:t):[...c.profiles,e]})};return g(e,{children:[g(k,{title:t(`settings.models`),body:t(`models.lead`),workspace:n?.path}),c?.current?g(`p`,{class:w.banner,"data-tone":`ok`,children:t(`models.running`,{provider:c.current.provider,model:c.current.model,profile:c.current.profile??`—`})}):null,g(T,{loading:a.loading&&!c,error:a.error,empty:n?c&&!c.profiles.length?`models.none`:void 0:`settings.noWorkspace`}),g(`ul`,{class:w.rows,children:(c?.profiles??[]).map(e=>g(be,{profile:e,overview:c,catalog:o.data?.find(t=>t.profile===e.name),workspace:n?.id??``,onChange:l,onActivated:()=>a.reload()},e.name))}),n&&c?.types.length?r?g(Q,{types:c.types,workspace:n.id,onCancel:()=>i(!1),onSaved:e=>{i(!1),l(e)}}):g(`button`,{type:`button`,class:`${w.secondary} ${w.addButton}`,onClick:()=>i(!0),children:t(`models.add`)}):null]})}var xe={active:`ok`,inactive:`off`,failed:`danger`,"restart-required":`warn`};function Se(e){return e.status===`failed`?t(`plugins.status.failed`):e.status===`restart-required`?t(`plugins.status.restart`):e.enabled?t(`plugins.status.enabled`):t(`plugins.status.disabled`)}function Ce(n){let{plugin:r}=n,[i,a]=s(!1),o=`plugin-${r.id}`;return g(`li`,{class:w.card,"data-open":i,children:[g(`button`,{type:`button`,class:w.cardHead,"aria-expanded":i,"aria-controls":o,onClick:()=>a(!i),children:[g(`span`,{class:w.cardName,title:r.name,children:r.name}),g(j,{tone:xe[r.status],children:Se(r)}),g(_,{name:i?`chevronDown`:`chevronRight`,size:16,class:w.chevron})]}),i?g(`div`,{id:o,class:w.cardBody,children:[r.description?g(`p`,{class:w.cardText,children:r.description}):null,g(`dl`,{class:w.facts,children:[g(`dt`,{children:t(`plugins.id`)}),g(`dd`,{children:g(`code`,{children:r.id})}),r.version?g(e,{children:[g(`dt`,{children:t(`plugins.version`)}),g(`dd`,{children:r.version})]}):null,g(`dt`,{children:t(`plugins.source`)}),g(`dd`,{children:r.builtin?t(`plugins.builtin`):r.source}),r.categories.length?g(e,{children:[g(`dt`,{children:t(`plugins.categories`)}),g(`dd`,{children:r.categories.join(`, `)})]}):null,g(`dt`,{children:t(`plugins.tools`)}),g(`dd`,{children:r.tools.length?r.tools.join(`, `):`—`}),g(`dt`,{children:t(`plugins.commands`)}),g(`dd`,{children:r.commands.length?r.commands.map(e=>`/${e}`).join(`, `):`—`})]}),r.diagnostic?g(`p`,{class:w.diagnostic,children:r.diagnostic}):null,g(`div`,{class:w.toggleRow,children:[g(`span`,{children:t(`plugins.enable`)}),g(A,{checked:r.enabled,label:t(`plugins.enableNamed`,{name:r.name}),disabled:!r.manageable,busy:n.busy,onChange:n.onToggle})]})]}):null]})}function we(){let n=E(),[r,i]=s(`list`),[a,o]=s(``),[c,l]=s(),d=O(n?()=>u.plugins(n.id):void 0,[n?.id],[`plugins`]),f=O(n&&r===`configuration`?()=>u.settings(n.id):void 0,[n?.id,r]),p=async(e,r)=>{if(n){l(e.id);try{let i=await u.setPlugin(n.id,e.id,r);d.set((d.data??[]).map(e=>e.id===i.id?i:e)),i.status===`restart-required`&&m(t(`plugins.deferred`))}catch(e){m(M(e))}finally{l(void 0)}}},h=a.trim().toLowerCase(),v=(d.data??[]).filter(e=>!h||e.name.toLowerCase().includes(h)||e.id.toLowerCase().includes(h)||e.description.toLowerCase().includes(h));return g(e,{children:[g(k,{title:t(`settings.plugins`),body:t(`plugins.lead`),workspace:n?.path}),g(`div`,{class:w.tabs,role:`tablist`,children:[`configuration`,`list`].map(e=>g(`button`,{type:`button`,role:`tab`,class:w.tab,"aria-selected":r===e,onClick:()=>i(e),children:t(e===`list`?`plugins.tab.list`:`plugins.tab.configuration`)},e))}),r===`configuration`?g(`div`,{class:w.stack,children:[g(`p`,{class:w.callout,children:[g(_,{name:`shield`,size:16}),g(`span`,{children:t(`plugins.notSandboxed`)})]}),g(`p`,{class:w.note,children:t(`plugins.howToInstall`)}),g(`p`,{class:w.note,children:t(`plugins.applyNote`)}),f.data?g(`p`,{class:w.note,children:[t(`plugins.projectFile`),` `,g(`code`,{children:f.data.configPath})]}):null]}):g(e,{children:[g(D,{value:a,label:t(`plugins.search`),onInput:o}),g(`h4`,{class:w.listTitle,children:[t(`plugins.tab.list`),` `,g(`span`,{class:w.count,children:v.length})]}),g(T,{loading:d.loading&&!d.data,error:d.error,empty:n?d.data&&!v.length?`plugins.none`:void 0:`settings.noWorkspace`}),g(`ul`,{class:w.grid,children:v.map(e=>g(Ce,{plugin:e,busy:c===e.id,onToggle:t=>void p(e,t)},e.id))})]})]})}function Te(){let n=E(),[r,i]=s(``),[a,o]=s(),c=O(n?()=>u.skills(n.id):void 0,[n?.id],[`skills`]),l=async(e,t)=>{if(n){o(e.id);try{let r=await u.setSkill(n.id,e.id,t);c.set((c.data??[]).map(e=>e.id===r.id&&e.effective?r:e))}catch(e){m(M(e))}finally{o(void 0)}}},d=r.trim().toLowerCase(),f=(c.data??[]).filter(e=>!d||e.displayId.toLowerCase().includes(d)||e.description.toLowerCase().includes(d));return g(e,{children:[g(k,{title:t(`settings.skills`),body:t(`skills.lead`),workspace:n?.path}),g(D,{value:r,label:t(`skills.search`),onInput:i}),g(T,{loading:c.loading&&!c.data,error:c.error,empty:n?c.data&&!f.length?`skills.none`:void 0:`settings.noWorkspace`}),g(`ul`,{class:w.rows,children:f.map(e=>g(`li`,{class:w.row,"data-muted":!e.effective,children:[g(`div`,{class:w.rowMain,children:[g(`div`,{class:w.rowTitle,children:[g(`span`,{class:w.cardName,children:e.displayId}),g(j,{tone:e.enabled&&e.effective?`ok`:`off`,children:e.effective?e.enabled?t(`plugins.status.enabled`):t(`plugins.status.disabled`):t(`skills.shadowed`)})]}),g(`p`,{class:w.cardText,children:e.description}),g(`p`,{class:w.meta,children:[t(`skills.meta`,{scope:e.owner?`${e.scope} · ${e.owner.name}`:e.scope,tokens:e.approximateTokens}),e.shadowedBy?` · ${t(`skills.shadowedBy`,{id:e.shadowedBy})}`:``,e.locked?` · ${t(`skills.locked`)}`:``]})]}),g(A,{checked:e.enabled,label:t(`plugins.enableNamed`,{name:e.displayId}),disabled:!e.effective||!e.manageable||e.locked,busy:a===e.id,onChange:t=>void l(e,t)})]},`${e.id}:${e.source}`))})]})}var Ee=[{id:`general`,icon:`settings`},{id:`models`,icon:`database`},{id:`plugins`,icon:`sliders`},{id:`skills`,icon:`book`},{id:`mcp`,icon:`plug`},{id:`agents`,icon:`users`},{id:`forge`,icon:`terminal`},{id:`appearance`,icon:`palette`},{id:`about`,icon:`info`}],De=`button:not(:disabled), input:not(:disabled), select:not(:disabled), [tabindex='0']`;function Oe(e){let n=E(),r=O(n?()=>u.settings(n.id):void 0,[n?.id]),i=r.data?[{label:t(`config.effective`),path:r.data.configPath},{label:t(`config.settings`),path:r.data.settingsPath},{label:t(`config.providers`),path:r.data.providersPath}]:[];return g(`div`,{class:w.popover,role:`dialog`,"aria-label":t(`config.open`),children:[g(`div`,{class:w.popoverHead,children:[g(`strong`,{children:t(`config.open`)}),g(`button`,{type:`button`,class:`icon-btn`,"aria-label":t(`common.close`),onClick:e.onClose,children:g(_,{name:`x`,size:16})})]}),g(`p`,{class:w.note,children:t(`config.lead`)}),n?null:g(`p`,{class:w.note,children:t(`settings.noWorkspace`)}),r.error?g(`p`,{class:w.errorText,children:r.error}):null,g(`ul`,{class:w.paths,children:i.map(e=>g(`li`,{children:[g(`span`,{class:w.meta,children:e.label}),g(`span`,{class:w.pathRow,children:[g(`code`,{class:w.path,children:e.path}),g(v,{text:()=>e.path,label:t(`config.copy`)})]})]},e.label))}),r.data&&!r.data.trusted?g(`p`,{class:w.note,children:t(`config.untrusted`)}):null]})}function ke(){let[e,i]=s(()=>te(h.peek())),[a,o]=s(!1),c=r(null);n(()=>{let e=document.activeElement;return c.current?.querySelector(`nav button`)?.focus(),()=>e?.focus()},[]);let l=()=>{f.value=!1,h.value=void 0};return g(`div`,{class:w.backdrop,onMouseDown:e=>{e.target===e.currentTarget&&l()},children:g(`div`,{ref:c,class:w.dialog,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`settings-title`,onKeyDown:e=>{if(e.key===`Escape`&&(a?o(!1):l()),e.key===`Tab`){let t=[...c.current?.querySelectorAll(De)??[]],n=t[0],r=t.at(-1);e.shiftKey&&document.activeElement===n?(e.preventDefault(),r?.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n?.focus())}},children:[g(`nav`,{class:w.nav,"aria-label":t(`settings.title`),children:[g(`h2`,{id:`settings-title`,class:w.heading,children:t(`settings.title`)}),Ee.map(({id:n,icon:r})=>g(`button`,{type:`button`,class:w.navItem,"aria-current":e===n?`page`:void 0,onClick:()=>i(n),children:[g(_,{name:r,size:17}),t(`settings.${n}`)]},n))]}),g(`div`,{class:w.content,children:[g(`div`,{class:w.topBar,children:[g(`button`,{type:`button`,class:w.outline,"aria-expanded":a,onClick:()=>o(!a),children:t(`config.open`)}),g(`button`,{type:`button`,class:`icon-btn`,"aria-label":t(`common.close`),onClick:l,children:g(_,{name:`x`,size:18})})]}),a?g(Oe,{onClose:()=>o(!1)}):null,g(e===`general`?pe:e===`models`?$:e===`plugins`?we:e===`skills`?Te:e===`mcp`?ge:e===`agents`?L:e===`forge`?le:e===`appearance`?R:ie,{})]})]})})}export{ke as SettingsModal};
@@ -1,3 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/tasks-Sc_vWQpd.js","assets/i18n-C54K0mc6.js","assets/preload-helper-B3nfOi5I.js","assets/goal-B1jQsfH5.js"])))=>i.map(i=>d[i]);
2
- import{a as e,c as t,d as n,h as r,l as i,p as a,s as o}from"./i18n-C54K0mc6.js";import{t as s}from"./preload-helper-B3nfOi5I.js";function c(e,t){let n=t.trim().replace(/\\/g,`/`).replace(/#.*$/,``);if(!n||/^[a-z][a-z0-9+.-]*:/i.test(n)||n.startsWith(`//`))return;if(n=n.replace(/:\d+(:\d+)?$/,``),n.startsWith(`/`)){let t=e?.replace(/\\/g,`/`).replace(/\/+$/,``);if(!t)return;if(n===t)return``;if(!n.startsWith(`${t}/`))return;n=n.slice(t.length+1)}let r=[];for(let e of n.split(`/`))if(e&&e!==`.`){if(e===`..`){if(!r.length)return;r.pop()}else r.push(e)}return r.join(`/`)}var l=e=>e.split(`/`).slice(0,-1).map((e,t,n)=>n.slice(0,t+1).join(`/`)),u=e=>{let t=e.split(`/`).pop()??``,n=t.lastIndexOf(`.`);return n>0?t.slice(n+1).toLowerCase():``},d=e=>e.split(`/`).pop()??e;function f(e,t){if(!e)return;let n=e.includes(`\\`)&&!e.includes(`/`)?`\\`:`/`,r=e.replace(/[\\/]+$/,``),i=t.replace(/^[\\/]+/,``).split(`/`).filter(Boolean).join(n);return i?`${r}${n}${i}`:r}function ee(e,t){if(t.startsWith(`image/`))return`image`;if(t===`application/pdf`)return`pdf`;if(!t.startsWith(`text/`))return`binary`;let n=u(e);return n===`md`||n===`markdown`||n===`mdx`?`markdown`:n===`html`||n===`htm`?`html`:n===`json`?`json`:`code`}var te={js:`code`,py:`code`,csv:`code`,txt:`code`,json:`json`,md:`markdown`};function ne(e){let t=te[u(e.name)];return t&&e.size<=1048576?{as:t,entry:e.name}:void 0}function re(e,t){if(!t||t.startsWith(`/`)||t.includes(`\\`))return;let n=t.split(`/`);if(!n.some(e=>e===``||e===`..`))return`/api/sessions/${encodeURIComponent(e)}/scratch/files/${n.map(encodeURIComponent).join(`/`)}`}var ie=e=>[...e].sort((e,t)=>t.mtime-e.mtime||(e.name<t.name?-1:+(e.name>t.name)));function ae(e,t){let n=t>0?Math.min(100,Math.floor(e/t*100)):0;return{percent:n,level:n>=95?`full`:n>=80?`warn`:`ok`}}var p=class extends Error{status;code;details;constructor(e,t,n,r){super(n),this.status=e,this.code=t,this.details=r}},m=()=>typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now().toString(36)}${Math.random().toString(36).slice(2)}`,oe=class{options;fetcher;constructor(e={}){this.options=e,this.fetcher=e.fetch??((e,t)=>fetch(e,t))}async request(e,t,n,r={}){let i={"X-Request-Id":(this.options.requestId??m)().replace(/[^A-Za-z0-9_-]/g,``),Accept:`application/json`};e!==`GET`&&(i[`Content-Type`]=`application/json`);let a;try{a=await this.fetcher(t,{method:e,headers:i,credentials:`same-origin`,...e===`GET`?{}:{body:JSON.stringify(n??{})},...r.signal?{signal:r.signal}:{}})}catch(e){throw new p(0,`network`,e instanceof Error?e.message:`Network error`)}a.status===401&&this.options.onUnauthorized?.();let o=await a.text();if(!a.ok){let e;try{e=JSON.parse(o)}catch{}throw new p(a.status,e?.error?.code??`internal`,e?.error?.message??`HTTP ${a.status}`,e?.error?.details)}return o?JSON.parse(o):void 0}health=()=>this.request(`GET`,`/api/health`);workspaces=(e=`false`)=>this.request(`GET`,`/api/workspaces?archived=${e}`);addWorkspace=e=>this.request(`POST`,`/api/workspaces`,{path:e});patchWorkspace=(e,t)=>this.request(`PATCH`,`/api/workspaces/${h(e)}`,t);trustWorkspace=(e,t)=>this.request(`POST`,`/api/workspaces/${h(e)}/trust`,{trusted:t,confirmed:!0});pickFolder=e=>this.request(`POST`,`/api/workspaces/pick`,e?{start:e}:{});listDirs=(e,t=!1)=>this.request(`GET`,`/api/fs/dirs?${e===void 0?``:`path=${encodeURIComponent(e)}&`}hidden=${t}`);sessions=(e={})=>this.request(`GET`,`/api/sessions?archived=${e.archived??`false`}&limit=${e.limit??200}`);createSession=e=>this.request(`POST`,`/api/sessions`,e);session=e=>this.request(`GET`,`/api/sessions/${h(e)}`);patchSession=(e,t)=>this.request(`PATCH`,`/api/sessions/${h(e)}`,t);messages=(e,t,n=50)=>this.request(`GET`,`/api/sessions/${h(e)}/messages?before=${t}&limit=${n}`);prompt=(e,t)=>this.request(`POST`,`/api/sessions/${h(e)}/prompts`,t);cancel=e=>this.request(`POST`,`/api/sessions/${h(e)}/cancel`,{});commands=e=>this.request(`GET`,`/api/commands${e?`?session=${h(e)}`:``}`);command=(e,t)=>this.request(`POST`,`/api/sessions/${h(e)}/commands`,t);sideQuestions=e=>this.request(`GET`,`/api/sessions/${h(e)}/btw`);askSideQuestion=(e,t,n)=>this.request(`POST`,`/api/sessions/${h(e)}/btw`,{question:t},n?{signal:n}:{});cancelSideQuestions=e=>this.request(`POST`,`/api/sessions/${h(e)}/btw/cancel`,{});models=e=>this.request(`GET`,`/api/sessions/${h(e)}/models`);context=e=>this.request(`GET`,`/api/sessions/${h(e)}/context`);approvals=e=>this.request(`GET`,`/api/approvals?session=${h(e)}`);decide=(e,t)=>this.request(`POST`,`/api/approvals/${h(e)}`,{decision:t});answer=(e,t)=>this.request(`POST`,`/api/interactions/${h(e)}`,{answer:t});tasks=e=>this.request(`GET`,`/api/sessions/${h(e)}/tasks`);taskOutput=(e,t,n)=>this.request(`GET`,`/api/sessions/${h(e)}/tasks/${h(t)}/output?offset=${n}`);stopTask=(e,t)=>this.request(`POST`,`/api/sessions/${h(e)}/tasks/${h(t)}/stop`,{});exportUrl=e=>`/api/sessions/${h(e)}/export`;artifacts=e=>this.request(`GET`,`/api/sessions/${h(e)}/artifacts?limit=200`);artifact=e=>this.request(`GET`,`/api/artifacts/${h(e)}`);artifactView=e=>this.request(`POST`,`/api/artifacts/${h(e)}/view`,{});exportArtifact=(e,t,n=!1)=>this.request(`POST`,`/api/artifacts/${h(e)}/export`,{target:t,...n?{overwrite:!0}:{}});rerunArtifact=e=>this.request(`POST`,`/api/artifacts/${h(e)}/rerun`,{});deleteArtifact=e=>this.request(`DELETE`,`/api/artifacts/${h(e)}`);artifactFileUrl=(e,t)=>`/api/artifacts/${h(e)}/files/${t.split(`/`).map(h).join(`/`)}`;artifactSourcesUrl=e=>`/api/artifacts/${h(e)}/sources`;async artifactText(e,t){return(await this.raw(this.artifactFileUrl(e,t))).text()}datasets=e=>this.request(`GET`,`/api/sessions/${h(e)}/datasets`);dataset=e=>this.request(`GET`,`/api/datasets/${h(e)}`);datasetRows=(e,t,n)=>{let r=new URLSearchParams;for(let[e,n]of Object.entries(t))n!==void 0&&n!==``&&r.set(e,String(n));return this.request(`GET`,`/api/datasets/${h(e)}/rows?${r}`,void 0,n?{signal:n}:{})};datasetDownloadUrl=e=>`/api/datasets/${h(e)}/download`;artifactDataset=e=>this.request(`POST`,`/api/artifacts/${h(e)}/dataset`,{});async uploadDataset(e,t){return await(await this.raw(`/api/sessions/${h(e)}/datasets`,{method:`POST`,body:t,contentType:`application/octet-stream`,headers:{"X-File-Name":encodeURIComponent(t.name)}})).json()}capabilities=e=>this.request(`GET`,`/api/sessions/${h(e)}/capabilities`);revokeCapability=(e,t)=>this.request(`DELETE`,`/api/sessions/${h(e)}/capabilities/${h(t)}`);events=(e,t,n=1e3,r)=>this.request(`GET`,`/api/sessions/${h(e)}/events?after=${t}&limit=${n}${r?.length?`&types=${h(r.join(`,`))}`:``}`);tree=(e,t,n)=>this.request(`GET`,`/api/workspaces/${h(e)}/tree?path=${h(t)}${n?`&cursor=${h(n)}`:``}`);diff=(e,t)=>this.request(`GET`,`/api/workspaces/${h(e)}/diff?path=${h(t)}`);changes=e=>this.request(`GET`,`/api/sessions/${h(e)}/changes`);plugins=e=>this.request(`GET`,`/api/plugins?workspace=${h(e)}`);setPlugin=(e,t,n)=>this.request(`PATCH`,`/api/plugins/${h(t)}`,{workspace:e,enabled:n});skills=e=>this.request(`GET`,`/api/skills?workspace=${h(e)}`);setSkill=(e,t,n)=>this.request(`PATCH`,`/api/skills/${h(t)}`,{workspace:e,enabled:n});mcp=e=>this.request(`GET`,`/api/mcp?workspace=${h(e)}`);setMcp=(e,t,n,r=!1)=>this.request(`PATCH`,`/api/mcp/${h(t)}`,{workspace:e,enabled:n,...r?{connect:r}:{}});mcpConsent=(e,t)=>this.request(`POST`,`/api/mcp/consent`,{workspace:e,confirmed:!0,...t?{remember:t}:{}});agents=e=>this.request(`GET`,`/api/agents?workspace=${h(e)}`);changelog=(e={})=>{let t=new URLSearchParams;e.version&&t.set(`version`,e.version),e.lastSeen&&t.set(`lastSeen`,e.lastSeen);let n=t.toString();return this.request(`GET`,`/api/changelog${n?`?${n}`:``}`)};reloadWorkspace=e=>this.request(`POST`,`/api/workspaces/${h(e)}/reload`,{});agentDefinitions=e=>this.request(`GET`,`/api/agents/definitions${e?`?workspace=${h(e)}`:``}`);agentTemplates=()=>this.request(`GET`,`/api/agents/templates`);agentModels=e=>this.request(`GET`,`/api/agents/models?workspace=${h(e)}`);createAgent=e=>this.request(`POST`,`/api/agents`,e);updateAgent=(e,t)=>this.request(`PUT`,`/api/agents/${h(e)}`,t);deleteAgent=(e,t,n)=>this.request(`DELETE`,`/api/agents/${h(e)}?scope=${t}${n?`&workspace=${h(n)}`:``}`);agentDefinition=(e,t,n)=>this.request(`GET`,`/api/agents/${h(e)}?scope=${t}${n?`&workspace=${h(n)}`:``}`);draftAgent=(e,t)=>this.request(`POST`,`/api/agents/draft`,e,t?{signal:t}:{});agentSessions=e=>this.request(`GET`,`/api/sessions?agent=${h(e)}&archived=all&limit=50`);settings=e=>this.request(`GET`,`/api/settings?workspace=${h(e)}`);forge=e=>this.request(`GET`,`/api/forge?workspace=${h(e)}`);scratch=e=>this.request(`GET`,`/api/sessions/${h(e)}/scratch`);clearScratch=e=>this.request(`DELETE`,`/api/sessions/${h(e)}/scratch`);async scratchText(e,t){let n=re(e,t);if(!n)throw new p(400,`validation_failed`,`Invalid file name`);return(await this.raw(n)).text()}analysis=e=>this.request(`GET`,`/api/analysis?workspace=${h(e)}`);setSetting=(e,t,n)=>this.request(`PATCH`,`/api/settings`,{workspace:e,key:t,value:n});iconThemes=e=>this.request(`GET`,`/api/icon-themes?workspace=${h(e)}`);iconThemeManifest=e=>this.request(`GET`,`/api/icon-theme/manifest?workspace=${h(e)}`);iconThemeIconUrl=(e,t)=>`/api/icon-theme/icons/${encodeURIComponent(t)}?workspace=${h(e)}`;providers=e=>this.request(`GET`,`/api/providers${e?`?workspace=${h(e)}`:``}`);providerModels=e=>this.request(`GET`,`/api/models?workspace=${h(e)}`);saveProfile=(e,t,n)=>this.request(`PUT`,`/api/providers/${h(t)}`,{workspace:e,...n});setCredentials=(e,t)=>this.request(`PUT`,`/api/providers/${h(e)}/credentials`,t);deleteCredentials=e=>this.request(`DELETE`,`/api/providers/${h(e)}/credentials`);activateProvider=(e,t,n)=>this.request(`POST`,`/api/providers/${h(t)}/activate`,{workspace:e,model:n});fileUrl=(e,t,n=!1)=>`/api/workspaces/${h(e)}/file?path=${h(t)}${n?`&download=1`:``}`;async file(e,t){let n=await this.raw(this.fileUrl(e,t));return{contentType:n.headers.get(`Content-Type`)??`application/octet-stream`,truncated:n.headers.get(`X-Truncated`)===`true`,size:Number(n.headers.get(`X-File-Size`)??0),blob:await n.blob()}}async upload(e){return await(await this.raw(`/api/blobs`,{method:`POST`,body:e,contentType:e.type||`application/octet-stream`})).json()}async raw(e,t={}){let n={"X-Request-Id":(this.options.requestId??m)().replace(/[^A-Za-z0-9_-]/g,``),...t.headers??{}};t.contentType&&(n[`Content-Type`]=t.contentType);let r;try{r=await this.fetcher(e,{method:t.method??`GET`,headers:n,credentials:`same-origin`,...t.body?{body:t.body}:{}})}catch(e){throw new p(0,`network`,e instanceof Error?e.message:`Network error`)}if(r.status===401&&this.options.onUnauthorized?.(),!r.ok){let e;try{e=JSON.parse(await r.text())}catch{}throw new p(r.status,e?.error?.code??`internal`,e?.error?.message??`HTTP ${r.status}`,e?.error?.details)}return r}},h=encodeURIComponent,se=2,ce=e=>e.length?`/api/events?${e.map(e=>`session=${encodeURIComponent(e)}`).join(`&`)}`:`/api/events`,le=(e,t=Math.random)=>Math.round(Math.min(1e4,500*2**Math.min(e,10)*(.5+t()))),ue=class{options;source;sessions=[];key;queue=[];scheduled=!1;attempt=0;cancelRetry;stopped=!1;requestFrame;setTimer;constructor(e){this.options=e,this.requestFrame=e.requestFrame??(e=>typeof requestAnimationFrame==`function`?requestAnimationFrame(()=>e()):e()),this.setTimer=e.setTimer??((e,t)=>{let n=setTimeout(e,t);return()=>clearTimeout(n)})}subscribe(e){let t=[...new Set(e)].sort(),n=t.join(`
3
- `);(n!==this.key||!this.source||this.stopped)&&(this.key=n,this.sessions=t,this.stopped=!1,this.attempt=0,this.connect())}nudge(){this.stopped||this.key===void 0||this.source&&this.source.readyState!==se||this.connect()}refresh(){this.stopped||this.key===void 0||(this.attempt=0,this.connect())}close(){this.stopped=!0,this.cancelRetry?.(),this.source?.close(),this.options.onStatus?.(`closed`)}connect(){this.cancelRetry?.(),this.cancelRetry=void 0,this.source?.close(),this.options.onStatus?.(this.attempt?`reconnecting`:`connecting`);let e=this.options.create(ce(this.sessions));this.source=e,e.onopen=()=>{this.source===e&&(this.attempt=0,this.options.onStatus?.(`open`))},e.onmessage=t=>{if(this.source!==e)return;let n;try{n=JSON.parse(t.data)}catch{return}if(n&&typeof n==`object`&&typeof n.t==`string`){if(n.t===`hello`&&n.protocolVersion!==1){this.stopped=!0,e.close(),this.options.onStatus?.(`closed`),this.options.onProtocolMismatch?.();return}this.enqueue(n),n.t===`resync`&&this.connect()}},e.onerror=()=>{if(this.source!==e||this.stopped||(this.options.onStatus?.(`reconnecting`),e.readyState!==se))return;this.options.onClosed?.();let t=le(this.attempt++,this.options.random);this.cancelRetry=this.setTimer(()=>{this.cancelRetry=void 0,this.stopped||this.connect()},t)}}enqueue(e){this.queue.push(e),!this.scheduled&&(this.scheduled=!0,this.requestFrame(()=>{this.scheduled=!1;let e=this.queue;this.queue=[],e.length&&this.options.onFrames(e)}))}};function de(e){if(e.startsWith(`{`))try{let t=JSON.parse(e);return t&&typeof t==`object`&&t.kind===`forge`?t:void 0}catch{return}}function fe(e,t){let n=e&&e.executionId===t.executionId?e:{executionId:t.executionId,engine:t.engine,phase:t.phase,calls:[]},r={...n,engine:t.engine,phase:t.phase};if(t.message!==void 0&&(r.message=t.message),t.completed!==void 0&&(r.completed=t.completed),t.total!==void 0&&(r.total=t.total),t.call){let{callId:e,tool:i,status:a,durationMs:o}=t.call,s={callId:e,tool:i,status:a,...o===void 0?{}:{durationMs:o}},c=n.calls.findIndex(t=>t.callId===e);r.calls=c<0?[...n.calls,s]:n.calls.map((e,t)=>t===c?s:e)}return r}function pe(e){let t=t=>e.calls.filter(e=>e.status===t).length;return{total:e.calls.length,running:t(`started`),failed:t(`failed`),denied:t(`denied`)}}function me(e){if(!e)return``;let t=e.total===void 0?void 0:`${e.completed??0}/${e.total}`;return[e.message,t].filter(Boolean).join(` · `)}var he=e=>e.call!==void 0&&e.call.status!==`started`||e.phase===`collecting`,ge=e=>e.t===`tool_result`||e.t===`message`||e.t===`event`&&(e.event.type===`tool_completed`||e.event.type.startsWith(`run_`)),_e=class{windows=new Map;admit(e,t){let n=[];for(let r of e){if(r.t===`snapshot`){this.windows.clear(),n.push(r);continue}if(r.t!==`delta`||!r.progress?.length){ge(r)&&n.push(...this.release(t,!0)),n.push(r);continue}let e=[];for(let n of r.progress){let i=de(n.chunk);if(!i){e.push(n);continue}let a=this.windowOf(n.toolId,r),o=i.call?`call:${i.call.callId}`:`state`;if(a.held.set(o,i),a.lastEmit===void 0||t-a.lastEmit>=250||he(i)){for(let t of a.held.values())e.push({toolId:n.toolId,chunk:JSON.stringify(t)});a.held.clear(),a.lastEmit=t}}let{progress:i,...a}=r;e.length?n.push({...a,progress:e}):(r.text||r.reasoning)&&n.push(a)}return n}flush(e){return this.release(e,!1)}nextFlushIn(e){let t;for(let n of this.windows.values()){if(!n.held.size)continue;let r=Math.max(0,(n.lastEmit??e)+250-e);t=t===void 0?r:Math.min(t,r)}return t}windowOf(e,t){let n=this.windows.get(e);return n||(n={held:new Map,runId:t.runId},this.windows.set(e,n)),t.sessionId!==void 0&&(n.sessionId=t.sessionId),n.runId=t.runId,n}release(e,t){let n=[];for(let[r,i]of this.windows)i.held.size&&(!t&&e-(i.lastEmit??e)<250||(n.push({t:`delta`,...i.sessionId===void 0?{}:{sessionId:i.sessionId},runId:i.runId,progress:[...i.held.values()].map(e=>({toolId:r,chunk:JSON.stringify(e)}))}),i.held.clear(),i.lastEmit=e));return n}};function ve(e){if(typeof e==`string`)return e.trim()||void 0}function ye(e){let t=/^\s*\/([^\s/][^\s]*)(?:\s+([\s\S]*))?$/.exec(e);if(t?.[1])return{name:t[1],args:(t[2]??``).trim()}}var be=(e,t)=>{let n=0;for(let r of t)r===e[n]&&n++;return n===e.length};function xe(e,t){let n=t.trim().toLowerCase();if(!n)return e;let r=[[],[],[],[]];for(let t of e){let e=t.name.toLowerCase(),i=e.startsWith(n)?0:t.aliases?.some(e=>e.toLowerCase().startsWith(n))?1:e.includes(n)?2:be(n,e)?3:-1;i>=0&&r[i]?.push(t)}return r.flat()}var Se={pause:`Pause the goal's automatic continuation`,resume:`Resume the paused or blocked goal`,edit:`Edit the goal's objective`,clear:`Remove the goal from this session`};function Ce(e,t){let n=t.trim().toLowerCase();return!e||n.length<3||!`goal`.startsWith(n)?[]:e.actions.filter(e=>e in Se).map(e=>({name:`goal ${e}`,description:Se[e],source:`builtin`,surfaces:[`web`],execution:`surface`}))}function we(e,t,n){let r=xe(e,t),i=Ce(n,t);if(!i.length)return r;let a=r.findIndex(e=>e.name===`goal`);return a<0?[...r,...i]:[...r.slice(0,a+1),...i,...r.slice(a+1)]}function Te(e,t,n=12){if(t.trim()||e.length<=n)return e.slice(0,n);let r=e.filter(e=>e.source!==`builtin`).slice(0,4);return[...e.filter(e=>e.source===`builtin`).slice(0,n-r.length),...r]}function Ee(e){return e.disabled||e.compacting}function De(e,t,n=100){return!t.trim()||e.at(-1)===t?e:[...e,t].slice(-n)}function Oe(e,t,n,r){if(!e.length)return{index:void 0,text:r};if(t===void 0){if(n===1)return{index:void 0,text:r};let t=e.length-1;return{index:t,text:e[t]}}let i=t+n;return i<0?{index:0,text:e[0]}:i>=e.length?{index:void 0,text:r}:{index:i,text:e[i]}}var ke=`Usage: /btw <question>`;function Ae(e,t){let n=ye(e);if(!n)return;let r=n.name.toLowerCase();return t.find(e=>e.source===`builtin`&&(e.name===r||e.aliases?.includes(r)))?.name===`btw`?{question:n.args}:void 0}function je(e,t){return t.length?{sessionId:e,entries:t,index:t.length-1}:{sessionId:e,entries:t,index:0,usage:!0}}function Me(e,t,n,r=Date.now()){return{sessionId:e,entries:t,index:Math.max(0,t.length-1),pending:{question:n,startedAt:r}}}function Ne(e,t){return{sessionId:e.sessionId,entries:t,index:Math.max(0,t.length-1)}}function Pe(e,t){let{pending:n,...r}=e;return{...r,error:{question:e.pending?.question??``,message:t}}}function Fe(e,t){if(e.pending||!e.entries.length)return e;let n=e.error?e.entries.length:e.index,r=Math.min(e.entries.length-1,Math.max(0,n+t));return r===e.index&&!e.error?e:{sessionId:e.sessionId,entries:e.entries,index:r}}function Ie(e){return e.pending||e.error||e.usage?void 0:e.entries[e.index]}function Le(e){return e.pending||!e.entries.length?{earlier:!1,later:!1}:e.error?{earlier:!0,later:!1}:{earlier:e.index>0,later:e.index<e.entries.length-1}}var Re=`alisio.lastSeenVersion`;function ze(e,t){return t.current===`dev`||t.current===e?{}:{...t.news?{toast:t.news.latest}:{},record:t.current}}var Be=r([]),Ve=0;function He(e){let t;e.t===`dataset_ready`?t={n:++Ve,sessionId:e.sessionId,ready:e.dataset}:e.t===`dataset_failed`&&(t={n:++Ve,sessionId:e.sessionId,failed:{name:e.name,error:e.error}}),t&&(Be.value=[...Be.value,t].slice(-50))}var g=r(t(`alisio.dock`)===`open`),_=r(`files`),Ue=r(0),v=r({}),y=r(new Set([``])),b=r(void 0),We=r(void 0);function Ge(e,t){e.preventDefault(),We.value={x:e.clientX,y:e.clientY,path:t}}function Ke(){We.value=void 0}var x=r({files:[],loading:!1}),qe,S,Je=e=>e instanceof Error?e.message:String(e);function Ye(){a(()=>{g.value=!0,_.value=`tasks`}),i(`alisio.dock`,`open`),C()}function Xe(){a(()=>{g.value=!0,_.value=`proof`}),i(`alisio.dock`,`open`),C()}function Ze(e){g.value=e,i(`alisio.dock`,e?`open`:void 0),e&&C()}function C(){let e=F.value?.workspaceId;return e!==qe&&(qe=e,a(()=>{v.value={},y.value=new Set([``]),x.value={files:[],loading:!1}}),e&&w(``)),e}async function w(e,t=!1){let n=C();if(!n)return;let r=v.value[e];if(!(r?.loading||r&&!t&&!r.error)){v.value={...v.value,[e]:{entries:r?.entries??[],loading:!0,...r?.next?{next:r.next}:{}}};try{let i=await W.tree(n,e,t?r?.next:void 0);if(qe!==n)return;v.value={...v.value,[e]:{entries:[...t?r?.entries??[]:[],...i.entries],loading:!1,...i.next?{next:i.next}:{}}}}catch(t){v.value={...v.value,[e]:{entries:[],loading:!1,error:Je(t)}}}}}function Qe(e){let t=new Set(y.value);t.has(e)?t.delete(e):(t.add(e),w(e)),y.value=t}function $e(){v.value={};for(let e of y.value)w(e)}async function et(){let e=P.value;if(e){x.value={...x.value,loading:!0};try{let{files:t}=await W.changes(e);P.value===e&&(x.value={files:t,loading:!1})}catch(e){x.value={files:[],loading:!1,error:Je(e)}}}}async function tt(e,t={}){let n=c(F.value?.workspace,e),r=C();if(n===void 0||!r)return;a(()=>{g.value=!0,_.value=`preview`,b.value={path:n,status:`loading`};let e=new Set(y.value);for(let t of l(n))e.add(t);y.value=e}),i(`alisio.dock`,`open`);for(let e of l(n))w(e);S&&URL.revokeObjectURL(S),S=void 0;let o;if(t.diff)try{o=await W.diff(r,n)}catch{}if(u(n)===`pdf`){b.value={path:n,status:`ready`,kind:`pdf`,truncated:!1,size:0,url:W.fileUrl(r,n),...o?{diff:o}:{}};return}try{let e=await W.file(r,n);if(b.value?.path!==n)return;let t=ee(n,e.contentType);t===`image`&&(S=URL.createObjectURL(e.blob)),b.value={path:n,status:`ready`,kind:t,truncated:e.truncated,size:e.size,...t===`image`?{url:S}:t===`binary`?{}:{text:await e.blob.text()},...o?{diff:o}:{}}}catch(e){if(b.value?.path!==n)return;b.value=o?{path:n,status:`ready`,kind:`binary`,truncated:!1,size:0,diff:o}:{path:n,status:`error`,error:Je(e)}}}var nt=e=>F.value?.workspaceId?W.fileUrl(F.value.workspaceId,e,!0):void 0;function T(t){if(t instanceof p){let n=t.details?.path,r={path:typeof n==`string`?n:``};if(t.code===`workspace_missing`)return e(`error.workspaceMissing`,r);if(t.code===`workspace_archived`)return e(`error.workspaceArchived`,r);if(t.code===`picker_busy`)return e(`error.pickerBusy`)}return t instanceof Error?t.message:String(t)}function rt(e,t){if((e.t===`snapshot`||e.t===`goal_changed`)&&e.sessionId===t)return e.goal??null}function it(e,t){return e.key===`Tab`&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&!e.isComposing&&!t.composing&&!t.paletteOpen&&!t.disabled}function at(e,t,n=1){if(!e.length)return;let r=e.findIndex(e=>e.id===t);return r<0?e[0]?.id:e[(r+n+e.length)%e.length]?.id}function ot(e,t){return e??t.find(e=>e.default)?.id??`build`}var st=(e,t)=>e===`full-access`&&t!==`full-access`,ct=()=>({approvals:[],interactions:[]});function lt(e,t){switch(t.t){case`snapshot`:{let n=t.sessionId,r=new Set(t.pending.interactions.map(e=>e.interactionId));return{approvals:[...e.approvals.filter(e=>e.rootSessionId!==n),...t.pending.approvals],interactions:[...e.interactions.filter(e=>!r.has(e.interactionId)),...t.pending.interactions]}}case`approval`:return{...e,approvals:[...e.approvals.filter(e=>e.approvalId!==t.approval.approvalId),t.approval]};case`approval_withdrawn`:return{...e,approvals:e.approvals.filter(e=>e.approvalId!==t.approvalId)};case`interaction`:return{...e,interactions:[...e.interactions.filter(e=>e.interactionId!==t.interaction.interactionId),t.interaction]};case`interaction_withdrawn`:return{...e,interactions:e.interactions.filter(e=>e.interactionId!==t.interactionId)};default:return e}}function ut(e,t){return t?{approvals:e.approvals.filter(e=>e.rootSessionId===t.id),interactions:e.interactions.filter(e=>e.workspaceId===t.workspaceId&&(!e.sessionId||e.sessionId===t.id))}:ct()}var dt=(e,t)=>({approvals:e.approvals.filter(e=>e.approvalId!==t),interactions:e.interactions.filter(e=>e.interactionId!==t)}),ft=`memory`,pt={workspace:``},mt=(e,t)=>e.workspace===t&&e.list?e:{workspace:t,failed:!0};function ht(e,t,n){if(!t||e.workspace!==t)return`loading`;if(!e.list)return e.failed?`error`:`loading`;let r=e.list.find(e=>e.id===n);return r?.enabled&&r.status===`active`?`enabled`:`disabled`}var gt=e=>e===`enabled`?[`conversation`,`trajectory`,`memory`]:[`conversation`,`trajectory`],_t=(e,t)=>gt(t).includes(e)?e:`conversation`,vt=15e3,yt=6e4,bt=e=>e.kind===`approval`||e.kind===`tool`&&(e.category===`question`||e.category===`agent`),xt=e=>{let t=e.replace(/^p_[0-9a-f]{10}_/,``);return t===`python_run`?`python`:t===`js_run`?`javascript`:t===`data_inspect`||t===`data_query`?`data`:t===`artifact_create`?`artifact`:t===`ask_user_question`||t===`exit_plan`?`question`:t===`task`||t===`task_wait`?`agent`:`other`},St=[`title`,`fileName`,`path`,`file_path`,`file`,`name`,`description`];function Ct(e,t=48){let n;try{n=JSON.parse(e)}catch{return``}if(!n||typeof n!=`object`)return``;let r=n,i;for(let e of St){let t=r[e];if(typeof t==`string`&&t.trim()){i=t;break}}if(i===void 0){let e=r.inputs,t=Array.isArray(e)?e[0]:void 0;t&&typeof t.path==`string`&&(i=t.path)}if(!i)return``;let a=(i.replace(/\\/g,`/`).split(`/`).filter(Boolean).pop()??i).replace(/\s+/g,` `).trim();return a.length>t?`${a.slice(0,t-1)}…`:a}function wt(e){let t=Object.values(e.approvals)[0];if(t!==void 0)return{kind:`approval`,name:t};let n=e.tools.at(-1);return n?{kind:`tool`,name:n.name,category:xt(n.name),summary:Ct(n.arguments)}:e.compacting?{kind:`compacting`}:e.retry?{kind:`retrying`,...e.retry}:e.recovery?{kind:`recovering`,...e.recovery}:{kind:e.stream}}var Tt=e=>{let t=Object.keys(e.approvals)[0];if(t!==void 0)return`approval:${t}`;let n=e.tools.at(-1);return n?`tool:${n.id}`:e.compacting?`compacting`:e.recovery?`recovery:${e.recovery.attempt}`:e.retry?`retry:${e.retry.attempt}`:e.stream},E=e=>{let{retry:t,recovery:n,...r}=e;return r},D=(e,t,n)=>{let r=Tt(e);return{...e,phaseKey:r,phaseSince:t&&t.phaseKey===r?t.phaseSince:n}},Et=(e,t,n=t)=>D({runId:e,startedAt:n,lastActivityAt:t,stream:`waiting`,tools:[],approvals:{},compacting:!1},void 0,t);function Dt(e,t){if(t.t===`snapshot`)return!1;if(t.t===`session_status`)return t.status===`running`||t.status===`queued`?e:!1;if(t.t!==`event`)return e;switch(t.event.type){case`compaction_started`:return!0;case`compaction_completed`:case`compaction_failed`:case`compaction_skipped`:case`run_completed`:case`run_failed`:case`run_cancelled`:case`run_turns_exceeded`:return!1;default:return e}}var O=e=>e==null?``:String(e);function Ot(e,t,n){if(t.t===`snapshot`){let r=t.inflight;if(!r)return;let i={};for(let e of t.pending?.approvals??[])e.rootSessionId===t.sessionId&&(i[e.callId??e.approvalId]=e.name??e.approvalId);return D({runId:r.runId,startedAt:r.startedAt??e?.startedAt??n,lastActivityAt:n,stream:r.text?`writing`:r.reasoning?`thinking`:`waiting`,tools:r.tools.map(e=>({id:e.id,name:e.name,arguments:e.arguments,startedAt:e.startedAt})),approvals:i,compacting:!1},e?.runId===r.runId?e:void 0,n)}if(t.t===`delta`){let r=e?.runId===t.runId?e:Et(t.runId,n),i=t.text?`writing`:t.reasoning?`thinking`:r.stream;return D({...E(r),stream:i,lastActivityAt:n,compacting:!1},r,n)}if(t.t!==`event`)return e;let r=t.event,i=r.data??{};switch(r.type){case`run_started`:return Et(r.runId,n);case`run_completed`:case`run_failed`:case`run_cancelled`:case`run_turns_exceeded`:return e&&e.runId!==r.runId?e:void 0}let a=e?.runId===r.runId?e:Et(r.runId,n),o={...a,lastActivityAt:n};switch(r.type){case`tool_started`:{let e=O(i.id),t=a.tools.some(t=>t.id===e)?a.tools:[...a.tools,{id:e,name:O(i.name),arguments:O(i.arguments),startedAt:n}];return D({...E(o),tools:t,compacting:!1},a,n)}case`tool_completed`:{let e=O(i.id),{[e]:t,...r}=a.approvals;return D({...E(o),tools:a.tools.filter(t=>t.id!==e),approvals:r,stream:`waiting`},a,n)}case`tool_progress`:return{...o};case`approval_requested`:return D({...o,approvals:{...a.approvals,[O(i.id)]:O(i.name)}},a,n);case`approval_resolved`:{let{[O(i.id)]:e,...t}=a.approvals;return D({...o,approvals:t},a,n)}case`compaction_started`:return D({...E(o),compacting:!0},a,n);case`compaction_completed`:case`compaction_failed`:case`compaction_skipped`:return D({...E(o),compacting:!1,stream:`waiting`},a,n);case`turn_completed`:return D({...E(o),stream:`waiting`},a,n);case`request_retry`:return D({...o,stream:`waiting`,retry:{attempt:Number(i.attempt)||1,of:Number(i.of)||1}},a,n);case`truncation_recovery`:return D({...E(o),stream:`waiting`,recovery:{attempt:Number(i.attempt)||1,of:Number(i.of)||1}},a,n);case`artifact_published`:case`plugin_hook_failed`:case`context_reduced`:case`session_context_injected`:case`response_truncated`:return o;default:return e}}function kt(e,t,n={quietMs:vt,stalledMs:yt}){let r=Math.max(0,t-e.lastActivityAt);return bt(wt(e))?{level:`none`,idleMs:r}:r>=n.stalledMs?{level:`stalled`,idleMs:r}:r>=n.quietMs?{level:`quiet`,idleMs:r}:{level:`none`,idleMs:r}}function At(e){let t=Math.max(0,Math.floor(e/1e3)),n=t%60,r=Math.floor(t/60)%60,i=Math.floor(t/3600),a=e=>String(e).padStart(2,`0`);return i?`${i}:${a(r)}:${a(n)}`:`${r}:${a(n)}`}function jt(e,t){if(`sessionId`in e&&e.sessionId===t){if(e.t===`snapshot`)return{count:e.proof?.criteria??0,changed:!1};if(e.t===`event`&&e.event.type===`proof_updated`)return{count:void 0,changed:!0}}}var Mt=()=>({workspaces:[],sessions:{},stale:!1,loaded:!1});function Nt(e,t,n){return{workspaces:t,sessions:Object.fromEntries(n.filter(e=>!e.parentId).map(e=>[e.id,e])),stale:!1,loaded:!0}}var k=(e,t)=>({...e,sessions:{...e.sessions,[t.id]:{...e.sessions[t.id],...t}}}),Pt=(e,t)=>({...e,workspaces:[...e.workspaces.filter(e=>e.id!==t.id),t].sort((e,t)=>e.path.localeCompare(t.path))});function Ft(e,t){let n=e.sessions[t.sessionId];return n?k(e,{...n,status:t.status,...t.title===void 0?{}:{title:t.title},...t.updatedAt===void 0?{}:{updatedAt:t.updatedAt}}):{...e,stale:!0}}var It=e=>e.label??e.path.split(/[\\/]/).filter(Boolean).at(-1)??e.path,Lt=e=>e.split(/[\\/]/).filter(Boolean).slice(0,-1);function Rt(e){let t=new Map;for(let n of e){if(n.label)continue;let e=It(n).toLowerCase();t.set(e,[...t.get(e)??[],n])}let n=new Map;for(let e of t.values()){if(e.length<2)continue;let t=e.map(e=>Lt(e.path)),r=Math.max(...t.map(e=>e.length)),i=e=>t.map(t=>t.length?t.slice(-e).join(`/`):`/`),a=Math.min(2,Math.max(1,r));for(;a<r&&new Set(i(a)).size<e.length;)a++;i(a).forEach((t,r)=>{let i=e[r]?.id;i&&n.set(i,t)})}return n}function zt(e,t){let n=e=>e?.exists!==!1&&!e?.archived;if(t&&(t=>n(e.workspaces.find(e=>e.id===t)))(t))return t;let r=new Map;for(let t of Object.values(e.sessions))r.set(t.workspaceId,Math.max(r.get(t.workspaceId)??0,t.updatedAt??0));let i=e=>Math.max(e.lastOpenedAt??0,r.get(e.id)??0);return e.workspaces.filter(n).sort((e,t)=>i(t)-i(e))[0]?.id}var Bt=(e,t)=>e.pinned===t.pinned?(t.updatedAt??-1)-(e.updatedAt??-1):e.pinned?-1:1;function Vt(e,t,n=!1){let r=t.trim().toLowerCase(),i=Object.values(e.sessions).filter(e=>n||!e.archived),a=new Map(e.workspaces.map(e=>[e.id,e]));for(let e of i)a.has(e.workspaceId)||a.set(e.workspaceId,{id:e.workspaceId,path:e.workspace,pinned:!1,open:!1,exists:!0,trusted:!1,untrustedResources:!1,archived:!1});let o=[],s=[...a.values()].filter(e=>n||!e.archived),c=Rt(s);for(let e of s){let t=It(e),n=c.get(e.id),a=i.filter(t=>t.workspaceId===e.id).filter(e=>!r||(e.title??``).toLowerCase().includes(r)||e.id.toLowerCase().startsWith(r)||t.toLowerCase().includes(r)).sort(Bt);(!r||a.length||t.toLowerCase().includes(r))&&o.push({workspace:e,name:t,...n?{hint:n}:{},sessions:a})}return o.sort((e,t)=>Number(e.workspace.archived)-Number(t.workspace.archived)||Number(t.workspace.pinned)-Number(e.workspace.pinned)||e.workspace.path.localeCompare(t.workspace.path))}function Ht(e){return e?.nativePicker?`native`:e?.folderBrowser?`browser`:`manual`}function Ut(e){let t=[];for(let n of e?.content??[])n.type===`ui`&&n.block.kind===`artifact`&&n.block.artifact?.id&&t.push(n.block.artifact);return t}function Wt(e,t){let n=new Map(e.map(e=>[e.id,e]));for(let e of t)n.set(e.id,e);return[...n.values()].sort((e,t)=>t.createdAt-e.createdAt||(e.id<t.id?1:-1))}function Gt(e,t){if(!t)return{artifact:e,state:`loading`};let n=t.find(t=>t.id===e.id)??e;return{artifact:n,state:n.status}}var Kt=e=>e.previewable&&e.status===`ready`?`open`:`download`,qt=e=>`/api/artifacts/${encodeURIComponent(e)}/download`,Jt={dashboard:`fileChart`,document:`fileText`,spreadsheet:`fileTable`,image:`fileImage`,data:`fileCode`,code:`fileCode`,archive:`fileArchive`,file:`file`};function Yt(e){return e<1024?`${e} B`:e<1048576?`${Math.max(1,Math.round(e/1024))} KB`:`${(e/1048576).toFixed(1)} MB`}function Xt(e){if(e.generator!==`dashboard_generate`)return;let t=e.planner;if(t!==`rules`&&t!==`rules+decisions`)return;let n=e.decisionProvider;return{planner:t,...typeof n==`string`&&n?{decisionProvider:n}:{}}}var Zt=e=>({sessionId:e,cursor:0,entries:[],tools:{},echoes:[],hasMore:!1,maxSeq:-1,ready:!1,version:0,counter:0}),A=(e,t)=>({...e,...t,version:e.version+1}),j=e=>({id:e.id,name:e.name,arguments:e.arguments,status:`pending`,tail:``}),Qt=e=>e.isError?`failed`:`completed`;function $t(e,t){let n=[];for(let{seq:r,message:i}of e)if(i.role===`user`)i.summary?n.push({kind:`notice`,key:`m${r}`,seq:r,code:`summary`,tone:`info`,params:{}}):n.push({kind:`user`,key:`m${r}`,seq:r,text:i.display??i.text,attachments:i.attachments?.length??0,...i.attachments?.length?{images:i.attachments.map(e=>({mimeType:e.mimeType,data:e.data}))}:{},...i.datasets?.length?{datasets:i.datasets}:{}});else if(i.role===`assistant`){for(let e of i.calls)t[e.id]={...j(e),...t[e.id]};n.push({kind:`assistant`,key:`m${r}`,seq:r,text:i.text,calls:i.calls.map(e=>e.id),...i.truncated?{truncated:!0}:{}})}else{let e=t[i.callId];t[i.callId]={...e??j({id:i.callId,name:`tool`,arguments:``}),result:i.result,status:Qt(i.result)}}return n}function en(e,t){if(!t.length)return e;let n=[],r=[...t];for(let t of e){let e=`seq`in t&&t.seq!==void 0?t.seq:void 0;if(e!==void 0){let t=r.filter(t=>tn(t)<e);r=r.filter(t=>tn(t)>=e),n.push(...t)}n.push(t)}return[...n,...r]}var tn=e=>`anchor`in e&&e.anchor!==void 0?e.anchor:1/0,nn=e=>`anchor`in e&&e.anchor!==void 0;function rn(e,t){let n={},r=t.messages.items,i=$t(r,n),a=r[0]?.seq,o=e.entries.filter(e=>nn(e)&&(a===void 0||tn(e)>=a)),s;if(t.inflight){s={runId:t.inflight.runId,text:t.inflight.text,reasoning:t.inflight.reasoning,toolIds:t.inflight.tools.map(e=>e.id)};for(let e of t.inflight.tools)n[e.id]={...j(e),...n[e.id],effect:e.effect,status:`running`,tail:e.tail,...e.forge?{forge:fe(void 0,e.forge)}:{}}}let c=r.map(e=>e.message).filter(e=>e.role===`user`),l=e.echoes.filter(e=>e.state===`failed`||!c.some(t=>an(t,e)));return A(e,{session:t.session,cursor:t.cursor,entries:en(i,o),tools:n,echoes:l,live:s,hasMore:t.messages.hasMore,oldestSeq:a,maxSeq:r.at(-1)?.seq??-1,ready:!0})}var an=(e,t)=>t.datasets?.length?e.display===(t.display??t.text)&&e.text.startsWith(t.text):t.display===void 0?e.text===t.text&&e.display===void 0:e.display===t.display&&e.text===t.text;function on(e,t){if(t.seq<=e.maxSeq)return e;let n={...e.tools},[r]=$t([t],n),{echoes:i,live:a}=e,{message:o}=t;if(o.role===`user`){let e=i.findIndex(e=>e.state!==`failed`&&an(o,e));e>=0&&(i=i.filter((t,n)=>n!==e))}let s=r;if(o.role===`assistant`&&r?.kind===`assistant`&&a&&(a.reasoning&&(s={...r,think:a.reasoning}),a={...a,text:``,reasoning:``}),o.role===`tool`){let t=n[o.callId];t&&e.tools[o.callId]?.durationMs!==void 0&&(n[o.callId]={...t,durationMs:e.tools[o.callId]?.durationMs})}return A(e,{entries:s?[...e.entries,s]:e.entries,tools:n,echoes:i,live:a,maxSeq:t.seq,oldestSeq:e.oldestSeq??t.seq})}var sn=(e,t,n,r={})=>({kind:`notice`,key:`n${e.counter}`,anchor:e.maxSeq,code:t,tone:n,params:r}),cn=e=>e===`user`||e===`model`||e==="default"?e:`unknown`;function ln(e){if(e.code!==`output_truncated`)return;let t=e.truncation;if(t&&typeof t.maxOutputTokens==`number`&&t.model)return{code:`run_output_truncated`,params:{who:t.model,attempts:String(t.attempts??1),maxOutputTokens:String(t.maxOutputTokens),source:cn(t.source)}}}function un(e){if(e.code!==`timeout`)return;let t=e.timeout;if(!t||typeof t.ms!=`number`)return;let n=t.model?t.provider?`${t.model} (${t.provider})`:t.model:``,r={who:n,seconds:String(Math.round(t.ms/1e3)),tool:t.tool??``,attempts:String(t.attempts??1)};return t.kind===`first_token`&&n?{code:t.attempts&&t.attempts>1?`run_timeout_first_token_retried`:`run_timeout_first_token`,params:r}:t.stage===`waiting_model`&&n?{code:t.firstRequest?`run_timeout_waiting`:`run_timeout_waiting_later`,params:r}:t.stage===`streaming`&&n?{code:`run_timeout_streaming`,params:r}:t.stage===`tool`&&t.tool?{code:`run_timeout_tool`,params:r}:{code:`run_timeout_other`,params:r}}function dn(e,t){let n=Math.max(e.cursor,Number(t.eventId??0)||0),r={...e,cursor:n,counter:e.counter+1},i=t.data??{},a=e=>e===void 0?``:String(e),o=(t,n,i={})=>A(r,{entries:[...e.entries,sn(e,t,n,i)]});switch(t.type){case`run_started`:return A(r,{live:{runId:t.runId,text:``,reasoning:``,toolIds:[]}});case`tool_started`:{let n=a(i.id),o=r.live??{runId:t.runId,text:``,reasoning:``,toolIds:[]};return A(r,{tools:{...e.tools,[n]:{...j({id:n,name:a(i.name),arguments:a(i.arguments)}),...e.tools[n],effect:i.effect,status:`running`}},live:o.toolIds.includes(n)?o:{...o,toolIds:[...o.toolIds,n]}})}case`tool_completed`:{let t=a(i.id),n=e.tools[t]??j({id:t,name:a(i.name),arguments:``});return A(r,{tools:{...e.tools,[t]:{...n,status:i.isError?`failed`:`completed`,durationMs:Number(i.durationMs)||0,preview:a(i.preview)}}})}case`run_completed`:return A(r,{live:void 0});case`run_failed`:{let e=un(i)??ln(i);return{...e?o(e.code,`error`,e.params):o(`run_failed`,`error`,{error:a(i.error)}),live:void 0}}case`run_cancelled`:return{...o(`run_cancelled`,`warning`),live:void 0};case`run_turns_exceeded`:return o(`run_turns_exceeded`,`warning`,{turns:a(i.turns)});case`response_truncated`:return o(`response_truncated`,`warning`,{maxOutputTokens:a(i.maxOutputTokens),source:cn(i.source)});case`model_changed`:return o(`model_changed`,`info`,{model:a(i.model),previous:a(i.previous)});case`compaction_completed`:return o(`compaction_completed`,`info`,{before:a(i.before),after:a(i.after)});case`compaction_failed`:return o(`compaction_failed`,`error`,{error:a(i.error)});case`context_reduced`:return o(`context_reduced`,`info`,{messages:a(i.messages)});case`plugin_hook_failed`:return o(`plugin_hook_failed`,`warning`,{source:a(i.source),hook:a(i.hook),error:a(i.error)});case`session_context_injected`:return A(r,{entries:[...e.entries,{kind:`context`,key:`n${e.counter}`,anchor:e.maxSeq,sources:Array.isArray(i.sources)?i.sources.map(String):[],tokens:Number(i.tokens)||0}]});default:return n===e.cursor?e:{...e,cursor:n}}}function fn(e,t){let n=e.live?.runId===t.runId?e.live:{runId:t.runId,text:``,reasoning:``,toolIds:[]},r={...n,text:n.text+(t.text??``),reasoning:n.reasoning+(t.reasoning??``)},i=e.tools;if(t.progress?.length){i={...i};for(let{toolId:e,chunk:n}of t.progress){let t=i[e]??j({id:e,name:`tool`,arguments:``}),r=de(n);i[e]=r?{...t,forge:fe(t.forge,r)}:{...t,tail:(t.tail+n).slice(-8192)}}}return A(e,{live:r,tools:i})}function pn(e,t){if(`sessionId`in t&&t.sessionId!==void 0&&t.sessionId!==e.sessionId)return e;switch(t.t){case`snapshot`:return rn(e,t);case`message`:return on(e,t);case`event`:return dn(e,t.event);case`delta`:return fn(e,t);case`tool_result`:{let n=e.tools[t.callId]??j({id:t.callId,name:`tool`,arguments:``});return A(e,{tools:{...e.tools,[t.callId]:{...n,result:t.result,...t.truncated?{truncated:!0}:{},...n.status===`running`||n.status===`pending`?{status:Qt(t.result)}:{}}}})}case`session_status`:return e.session?A(e,{session:{...e.session,status:t.status,...t.title===void 0?{}:{title:t.title},...t.updatedAt===void 0?{}:{updatedAt:t.updatedAt}}}):e;default:return e}}var mn=(e,t)=>t.reduce(pn,e),hn=(e,t)=>A(e,{echoes:[...e.echoes,{...t,state:`sending`}]}),gn=(e,t,n)=>A(e,{echoes:e.echoes.map(e=>e.localId===t?{...e,state:`failed`,error:n}:e)}),_n=(e,t)=>A(e,{echoes:e.echoes.filter(e=>e.localId!==t)}),M=(e,t)=>A(e,{counter:e.counter+1,entries:[...e.entries,{kind:`note`,key:`n${e.counter}`,anchor:e.maxSeq,text:t}]});function vn(e,t){let n=e.oldestSeq??1/0,r=t.items.filter(e=>e.seq<n),i={...e.tools};return A(e,{entries:[...$t(r,i),...e.entries],tools:i,hasMore:t.hasMore,oldestSeq:r[0]?.seq??e.oldestSeq,maxSeq:Math.max(e.maxSeq,r.at(-1)?.seq??-1)})}function yn(e){let t=[],n=new Set,r=(n,r)=>{let i=n.flatMap(t=>Ut(e.tools[t]?.result));i.length&&t.push({kind:`artifacts`,key:r,artifacts:i})};for(let i of e.entries)if(i.kind===`assistant`){let{calls:a,...o}=i;(i.text||i.think)&&t.push(o);for(let r of a){let i=e.tools[r];i&&(n.add(r),t.push({kind:`tool`,key:`t${r}`,tool:i}))}r(a,`a${i.key}`)}else t.push(i);for(let n of e.echoes)t.push({kind:`echo`,key:`e${n.localId}`,echo:n});let i=e.live;if(i){i.reasoning&&t.push({kind:`think`,key:`think-${i.runId}`,text:i.reasoning});let a=i.toolIds.filter(t=>e.tools[t]&&!n.has(t));for(let n of a){let r=e.tools[n];r&&t.push({kind:`tool`,key:`t${n}`,tool:r})}r(a,`live-a${i.runId}`),i.text&&t.push({kind:`streaming`,key:`live-${i.runId}`,text:i.text})}return t}var bn=r(`ok`),xn=r(!1),Sn=r(`connecting`),N=r(Mt()),P=r(void 0),F=r(void 0),I=r(Zt(``)),Cn=r(void 0),L=r(!1),R=r(ct()),z=r([]),wn=r(void 0),Tn=r(void 0),En=r(o(`alisio.history`,[])),Dn=r(``),On=r(``),kn=r(Date.now()),An=r(!1),jn=r(void 0),Mn=r(!1),Nn=r(!1),Pn=r([]),Fn=r(``),In=r(void 0),Ln=r(!1),B=r(0),Rn=r(void 0),zn=r(void 0),Bn=r(0),Vn=r(0),V=r({}),H=r(void 0),Hn=r(`conversation`),U=r(pt),Un=n(()=>Object.fromEntries((U.value.list??[]).map(e=>[e.toolPrefix,e.name]))),Wn=()=>ht(U.value,F.value?.workspaceId,ft),Gn=()=>_t(Hn.value,Wn());function Kn(e,t){U.value={workspace:e,list:t},V.value={...V.value,agents:(V.value.agents??0)+1},Wn()===`disabled`&&(Hn.value=_t(Hn.value,`disabled`))}function qn(e){U.value=mt(U.value,e)}var Jn=r(!1),Yn=r(null),Xn=r(0),Zn=r(0),Qn=r(0),$n=r(void 0),er=r(void 0),tr=n(()=>ut(R.value,I.value.session)),nr=n(()=>I.value.session?.status??F.value?.status??`idle`),rr=n(()=>{let e=nr.value;return!!I.value.live||e===`running`||e===`queued`||e===`awaiting_input`}),W=new oe({onUnauthorized:()=>{bn.value=`unauthorized`}}),G,ir,ar=r(0),K=r(void 0),or=n(()=>ve(K.value?.version)),sr=n(()=>Ht(K.value?.capabilities)),cr=r(!1);function lr(e){zn.value={text:e,n:(zn.value?.n??0)+1},B.value++}function q(e){Rn.value=e,setTimeout(()=>{Rn.value===e&&(Rn.value=void 0)},5e3)}async function J(){return ir??=(async()=>{try{let[e,t]=await Promise.all([W.workspaces(`all`),W.sessions({archived:`all`})]);N.value=Nt(N.value,e,t.items)}catch(e){e instanceof p&&e.status===401||q(T(e))}finally{ir=void 0}})(),ir}async function Y(){let e=P.value;if(e)try{let t=await W.context(e);P.value===e&&(Tn.value=t)}catch{}}async function X(){let e=P.value;if(e)try{let t=await W.models(e);P.value===e&&(wn.value=t)}catch{wn.value=void 0}}async function ur(){let e=P.value;try{let t=await W.commands(e);P.value===e&&(z.value=t)}catch{}}async function dr(){let e=F.value?.workspaceId;if(!e){Pn.value=[];return}try{let t=await W.agents(e);F.value?.workspaceId===e&&(Pn.value=t)}catch{}}async function fr(){let e=F.value?.workspaceId;if(e)try{let t=await W.plugins(e);if(F.value?.workspaceId!==e)return;Kn(e,t),dr()}catch{qn(e)}}async function pr(){let e=P.value;if(e)try{let t=await W.session(e);P.value===e&&(F.value=t,N.value=k(N.value,t))}catch{}}var mr=!1,hr=new _e,gr;function _r(){if(gr!==void 0)return;let e=hr.nextFlushIn(Date.now());e!==void 0&&(gr=setTimeout(()=>{gr=void 0;let e=hr.flush(Date.now());e.length&&yr(e),_r()},e))}function vr(e){let t=hr.admit(e,Date.now());_r(),t.length&&yr(t)}function yr(e){let t=!1,n=!1,r=!1,i=!1,o=!1,c=[],l=new Set;a(()=>{I.value=mn(I.value,e);let a=Date.now(),u=Cn.value;for(let t of e)(!(`sessionId`in t)||t.sessionId===I.value.sessionId)&&(u=Ot(u,t,a));Cn.value=u;let d=L.value;for(let t of e)(!(`sessionId`in t)||t.sessionId===I.value.sessionId)&&(d=Dt(d,t));d!==L.value&&(L.value=d);let f=R.value,ee=N.value;for(let a of e){f=lt(f,a),a.t===`session_status`&&(ee=Ft(ee,a)),a.t===`approval`&&a.approval.rootSessionId===P.value&&(On.value=a.approval.name??a.approval.approvalId),a.t===`capabilities_changed`&&a.sessionId===P.value&&Qn.value++,(a.t===`dataset_ready`||a.t===`dataset_failed`)&&He(a),a.t===`tasks_changed`&&s(()=>import(`./tasks-Sc_vWQpd.js`).then(e=>e.receiveTask(a.sessionId,a.task)),__vite__mapDeps([0,1,2]));let e=rt(a,P.value);e!==void 0&&(Yn.value=e);let u=jt(a,P.value);if(u&&(u.count!==void 0&&(Xn.value=u.count),u.changed&&(Zn.value++,Xn.value||=1)),a.t===`catalog_changed`&&(l.add(a.scope),a.scope===`commands`&&(i=!0)),a.t===`event`&&a.sessionId===P.value){o=!0;let e=a.event.type;if(e===`run_completed`&&(Dn.value=`${Date.now()}`),(e===`run_completed`||e===`run_failed`||e===`run_cancelled`)&&(t=!0),e===`compaction_completed`&&(r=!0),e===`artifact_published`){let e=a.event.data;e.artifact&&c.push(e.artifact)}e===`model_changed`&&(t=!0),e===`plan_decided`&&(mr=a.event.data.decision===`approve`),e===`run_started`&&mr&&(mr=!1,n=!0)}}R.value=f,N.value=ee}),o&&Vn.value++,n&&pr();let u=P.value;if(c.length&&u&&(er.value={sessionId:u,artifacts:c}),N.value.stale&&J(),t&&(Bn.value++,Y()),i&&ur(),l.size){let e={...V.value};for(let t of l)e[t]=(e[t]??0)+1;V.value=e,l.has(`models`)&&X(),l.has(`plugins`)&&fr(),l.has(`agents`)&&dr()}r&&(G?.refresh(),Y())}async function Z(e){if(e===P.value&&e)return;a(()=>{P.value=e,F.value=void 0,I.value=Zt(e??``),Cn.value=void 0,L.value=!1,wn.value=void 0,Tn.value=void 0,Ln.value=!1,H.value=void 0,Yn.value=null,Xn.value=0});let t=e?`#/s/${encodeURIComponent(e)}`:`#/`;if(location.hash!==t&&br(t),G?.subscribe(e?[e]:[]),e&&i(`alisio.lastSession`,e),ur(),Ue.value=0,e){s(()=>import(`./tasks-Sc_vWQpd.js`).then(t=>t.loadTasks(e)),__vite__mapDeps([0,1,2]));try{let t=await W.session(e);P.value===e&&(F.value=t)}catch(e){if(e instanceof p&&e.code===`not_found`){q(T(e)),Z(void 0);return}}X(),Y(),fr(),dr()}}function br(e){try{window.history.replaceState(null,``,e)}catch{location.hash=e}}var xr=()=>{let e=/^#\/s\/(.+)$/.exec(location.hash);return e?.[1]?decodeURIComponent(e[1]):void 0};async function Sr(){let n=t(Re);try{let t=await W.changelog(n?{lastSeen:n}:{}),r=ze(n,t);return r.toast&&q(e(`changelog.news`,{version:r.toast})),r.record&&i(Re,r.record),t}catch{return}}async function Cr(){if(G=new ue({create:e=>new EventSource(e),onFrames:vr,onStatus:e=>{Sn.value=e},onProtocolMismatch:()=>{xn.value=!0},onClosed:()=>{W.workspaces().catch(()=>{})}}),window.addEventListener(`online`,()=>G?.nudge()),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&G?.nudge()}),window.addEventListener(`hashchange`,()=>{let e=xr();e!==P.value&&Z(e)}),setInterval(()=>{kn.value=Date.now()},3e4),W.health().then(e=>{K.value=e}).catch(()=>{}),await J(),bn.value!==`ok`)return;Sr();let e=xr(),n=t(`alisio.lastSession`),r=N.value.sessions,i=e??(n&&r[n]&&!r[n]?.archived?n:Object.values(r).filter(e=>!e.archived).sort((e,t)=>(t.updatedAt??-1)-(e.updatedAt??-1))[0]?.id);i?await Z(i):(G.subscribe([]),ur())}async function wr(t){let n=t??zt(N.value,F.value?.workspaceId);if(!n){q(e(`sidebar.openWorkspaceFirst`)),ar.value++;return}try{let e=await W.createSession({workspace:n});N.value=k(N.value,e),await Z(e.id),B.value++}catch(e){q(T(e)),e instanceof p&&e.code===`workspace_missing`&&J()}}async function Tr(t){try{let n=await W.addWorkspace(t.trim());return N.value=Pt(N.value,n),n.untrustedResources&&q(e(`sidebar.untrustedHint`)),!0}catch(e){return q(T(e)),!1}}async function Er(){if(cr.value)return`cancelled`;cr.value=!0;try{let e=await W.pickFolder();return`cancelled`in e?`cancelled`:await Tr(e.path)?`added`:`cancelled`}catch(e){return e instanceof p&&e.code===`picker_unavailable`?(K.value&&={...K.value,capabilities:{...K.value.capabilities,nativePicker:!1}},`unavailable`):(q(T(e)),`cancelled`)}finally{cr.value=!1}}async function Dr(e,t){try{let n=await W.patchWorkspace(e,t);N.value=Pt(N.value,n)}catch(e){q(T(e))}}async function Q(e,t=P.value){if(t)try{let n=await W.patchSession(t,e);N.value=k(N.value,n),t===P.value&&(F.value=n,(e.model!==void 0||e.effort!==void 0)&&(X(),Y()))}catch(e){q(T(e))}}async function Or(e){let t=P.value;if(t)try{let n=await W.command(t,{requestId:m(),name:`agent:${e}`});n.output&&(I.value=M(I.value,n.output)),pr(),n.effects?.includes(`model`)&&(X(),Y())}catch(e){q(T(e))}}async function kr(t=1){let n=F.value;if(!n||ut(R.value,n).interactions.length)return;let r=Pn.value,i=n.agent??r.find(e=>e.default)?.id,a=at(r,i,t);if(!a||a===i)return;await Or(a);let o=r.find(e=>e.id===a)?.name??a;Fn.value=e(`composer.agentApplied`,{agent:o})}async function Ar(t,n,r){try{let i;try{i=await W.createSession({workspace:t,agent:n,...r?{model:r}:{}})}catch(a){if(!r||!(a instanceof p)||a.code!==`validation_failed`)throw a;i=await W.createSession({workspace:t,agent:n}),q(e(`agentsWin.modelFallback`,{model:r}))}return N.value=k(N.value,i),await Z(i.id),B.value++,!0}catch(e){return q(T(e)),!1}}async function jr(t,n){let r=e(n?`trust.confirm`:`trust.confirmRevoke`,{path:t.path});if(!window.confirm(r))return!1;try{let r=await W.trustWorkspace(t.id,n);return N.value=Pt(N.value,r),q(e(r.trusted?`trust.granted`:`trust.revoked`)),F.value?.workspaceId===t.id&&ur(),!0}catch(e){return q(T(e)),!1}}var Mr=e=>Q({preset:e}),Nr=e=>Q({model:e}),Pr=e=>Q({effort:e});function Fr(e){En.value=De(En.value,e),i(`alisio.history`,JSON.stringify(En.value))}async function Ir(e,t,n=m(),r,i){let a=P.value;if(!a)return;let o=m(),s=r?.refs.length?r.refs:void 0;I.value=hn(I.value,{localId:o,requestId:n,text:e,...t?{display:t}:{},...s?{attachments:s,thumbs:r?.thumbs??[]}:{},...i?.length?{datasets:i}:{}});try{await W.prompt(a,{requestId:n,text:e,...t?{display:t}:{},...s?{attachments:s}:{},...i?.length?{datasets:i.map(e=>e.id)}:{}})}catch(e){P.value===a&&(I.value=gn(I.value,o,T(e)))}}function Lr(e){let t=I.value.echoes.find(t=>t.localId===e);t&&(I.value=_n(I.value,e),Ir(t.text,t.display,t.requestId,t.attachments?{refs:t.attachments,thumbs:t.thumbs??[]}:void 0,t.datasets))}async function Rr(t,n,r){let i=P.value;if(!i||!t.trim()&&!n?.refs.length&&!r?.length)return;if(t.trim()&&Fr(t),n?.refs.length||r?.length)return Ir(t.trim()||!r?.length?t:e(`dataset.defaultPrompt`),void 0,m(),n,r);let a=ye(t);if((a?.name===`permission`||a?.name===`permissions`)&&!a.args){Jn.value=!0;return}if(a?.name===`changelog`){In.value={version:a.args??``,at:Date.now()};return}if(a?.name===`tasks`){Ye();return}if(a?.name===`proof`&&z.value.some(e=>e.name===`proof`)){Xe();return}if(a?.name===`goal`&&z.value.some(e=>e.name===`goal`)){s(()=>import(`./goal-B1jQsfH5.js`).then(e=>e.runGoalCommand(i,a.args??``)),__vite__mapDeps([3,1,2]));return}if(a?.name===`artifacts`){$n.value={filter:a.args??``,at:Date.now()};return}if(a?.name===`agents`&&!a.args){Nn.value=!0;return}let o=a?z.value.find(e=>e.name===a.name||e.aliases?.includes(a.name.toLowerCase())):void 0;if(!a||!o)return Ir(t);let c=Ae(t,z.value);if(c)return zr(i,c.question);try{let t=await W.command(i,{requestId:m(),name:o.name,...a.args?{args:a.args}:{}});t.output&&(I.value=M(I.value,t.output)),o.name===`reload`&&q(e(`reloadCmd.done`)),t.prompt&&await Ir(t.prompt.text,t.prompt.display),t.effects?.length&&(pr(),X(),Y()),t.sessionId&&(await J(),await Z(t.sessionId))}catch(e){I.value=M(I.value,`**/${o.name}**: ${T(e)}`)}}var $;async function zr(e,t){let n=H.value?.sessionId===e?H.value.entries:[];if(!t){H.value=je(e,n);try{n=await W.sideQuestions(e)}catch(e){q(T(e));return}H.value?.sessionId===e&&!H.value.pending&&(H.value=je(e,n));return}$?.abort();let r=new AbortController;$=r,H.value=Me(e,n,t);try{await W.askSideQuestion(e,t,r.signal);let n=await W.sideQuestions(e);H.value?.sessionId===e&&H.value.pending?.question===t&&(H.value=Ne(H.value,n))}catch(t){if(r.signal.aborted)return;H.value?.sessionId===e&&H.value.pending&&(H.value=Pe(H.value,T(t)))}finally{$===r&&($=void 0)}}function Br(){let e=H.value;e?.pending&&($?.abort(),$=void 0,W.cancelSideQuestions(e.sessionId).catch(()=>{})),H.value=void 0,B.value++}async function Vr(){let e=P.value;if(e)try{await W.cancel(e)}catch(e){q(T(e))}}async function Hr(){let e=I.value;if(e.hasMore&&e.oldestSeq!==void 0)try{let t=await W.messages(e.sessionId,e.oldestSeq);I.value.sessionId===e.sessionId&&(I.value=vn(I.value,t))}catch(e){q(T(e))}}async function Ur(e,t){try{await W.decide(e,t)}catch(e){e instanceof p&&(e.status===409||e.status===404)||q(T(e))}R.value=dt(R.value,e),B.value++}async function Wr(e,t){try{await W.answer(e,t)}catch(e){e instanceof p&&(e.status===409||e.status===404)||q(T(e))}R.value=dt(R.value,e),B.value++}function Gr(e,t){i(`alisio.draft.${e}`,t||void 0)}var Kr=e=>t(`alisio.draft.${e}`)??``;export{Zn as $,Ge as $t,Vn as A,Gt as At,wn as B,it as Bt,L as C,f as Cn,yn as Ct,kr as D,Yt as Dt,P as E,c as En,qt as Et,lr as F,At as Ft,ar as G,g as Gt,kn as H,x as Ht,Kr as I,kt as It,Jn as J,y as Jt,Q as K,_ as Kt,Hr as L,gt as Lt,Yn as M,vt as Mt,En as N,yt as Nt,Ur as O,Wt as Ot,Cr as P,wt as Pt,Xn as Q,w as Qt,Wn as R,ot as Rt,z as S,re as Sn,M as St,Tn as T,d as Tn,Xt as Tt,sr as U,Ke as Ut,wr as V,T as Vt,Z as W,v as Wt,cr as X,Ue as Xt,Er as Y,We as Yt,Un as Z,et as Zt,Vr as _,p as _n,Sn as _t,Nn as a,Qe as an,Cn as at,In as b,ne as bn,I as bt,On as c,Ie as cn,Pr as ct,W as d,Ee as dn,jr as dt,tt as en,er as et,or as f,Oe as fn,An as ft,rr as g,me as gn,Ar as gt,H as h,pe as hn,N as ht,Pn as i,Ze as in,Bn as it,B as j,Vt as jt,F as k,Kt as kt,Dn as l,Le as ln,Nr as lt,bn as m,Te as mn,q as mt,Gn as n,b as nn,J as nt,Mn as o,Be as on,Gr as ot,$n as p,we as pn,jn as pt,Dr as q,nt as qt,Tr as r,$e as rn,Lr as rt,Fn as s,ke as sn,Hn as st,Or as t,Xe as tn,xn as tt,Wr as u,Fe as un,Mr as ut,Qn as v,m as vn,Rr as vt,zn as w,u as wn,Jt as wt,Br as x,ae as xn,tr as xt,V as y,ie as yn,Rn as yt,Ln as z,st as zt};