@shawnstack/quickforge 1.5.0 → 1.5.2

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 (49) hide show
  1. package/README.md +10 -10
  2. package/dist/assets/AgentProfilesPage-DKyIh3dE.js +1 -0
  3. package/dist/assets/ChatPanelHost-BUZ6scv9.js +242 -0
  4. package/dist/assets/{PluginsPage-kiBq0gOT.js → PluginsPage-CN-SFQ_s.js} +1 -1
  5. package/dist/assets/ScheduledTasksPage-C0htXZk2.js +2 -0
  6. package/dist/assets/SharedConversationPage-CxbAx1fN.js +1 -0
  7. package/dist/assets/TerminalDock-_voUf7d-.js +2 -0
  8. package/dist/assets/WorkspaceInspector-Ci4FuaZH.js +3 -0
  9. package/dist/assets/{WorkspaceReaderDialog-BJo_KEWi.js → WorkspaceReaderDialog-D75__GFg.js} +1 -1
  10. package/dist/assets/diff-line-counts-DHyWKEXk.js +10 -0
  11. package/dist/assets/icons-DzxBk7tb.js +1 -0
  12. package/dist/assets/index-BI7xZuj-.css +3 -0
  13. package/dist/assets/index-BzOV50wA.js +1442 -0
  14. package/dist/assets/{monaco-CGq6uVF1.js → monaco-dMY7_GLO.js} +1 -1
  15. package/dist/assets/{react-vendor-DunfCFfp.js → react-vendor-DsAeMFcm.js} +1 -1
  16. package/dist/index.html +4 -4
  17. package/package.json +1 -1
  18. package/server/acp/server.mjs +1 -0
  19. package/server/agent-manager.mjs +8 -8
  20. package/server/agent-profile-files.mjs +2 -1
  21. package/server/channels/process-channel.mjs +1 -0
  22. package/server/channels/providers/wechat.mjs +1 -0
  23. package/server/custom-commands.mjs +4 -3
  24. package/server/plugins/registry.mjs +1 -1
  25. package/server/project-config.mjs +2 -2
  26. package/server/routes/agent.mjs +0 -1
  27. package/server/routes/project.mjs +3 -2
  28. package/server/routes/scheduled-tasks.mjs +13 -121
  29. package/server/routes/static.mjs +1 -1
  30. package/server/routes/storage.mjs +13 -7
  31. package/server/routes/workspace.mjs +8 -24
  32. package/server/session-utils.mjs +2 -1
  33. package/server/skills.mjs +3 -2
  34. package/server/storage.mjs +0 -1
  35. package/server/tools/index.mjs +5 -2
  36. package/server/utils/logger.mjs +0 -1
  37. package/server/utils/package-update.mjs +2 -2
  38. package/server/utils/scheduled-tasks.mjs +127 -0
  39. package/server/utils/workspace.mjs +1 -1
  40. package/dist/assets/AgentProfilesPage-DUmXUxjA.js +0 -1
  41. package/dist/assets/ChatPanelHost-Syx0SSLe.js +0 -242
  42. package/dist/assets/ScheduledTasksPage-Dw4-tgp9.js +0 -2
  43. package/dist/assets/SharedConversationPage-CaE9bNb9.js +0 -1
  44. package/dist/assets/TerminalDock-BYJcp8Ts.js +0 -2
  45. package/dist/assets/WorkspaceInspector-Bzmv8Cvi.js +0 -3
  46. package/dist/assets/diff-line-counts-BZoYp5ai.js +0 -10
  47. package/dist/assets/icons-47L5YLKz.js +0 -1
  48. package/dist/assets/index-CqfScETb.js +0 -1200
  49. package/dist/assets/index-DzkBgHZf.css +0 -3
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-DWdDZTNf.js";import{St as t,i as n,it as r}from"./icons-47L5YLKz.js";import{n as i}from"./react-vendor-DunfCFfp.js";import{f as a,i as o,n as s,r as c,t as l,u}from"./pi-web-ui-CBet4bMl.js";import{p as d}from"./pi-ai-Cx633yhb.js";import{t as f}from"./logger-B65Akg8A.js";import{D as p,M as m,N as h,O as g,S as _,_ as v,b as y,d as b,f as x,g as S,h as C,j as w,l as T,u as E,x as D,y as O}from"./index-CqfScETb.js";import{ChatPanelHost as k}from"./ChatPanelHost-Syx0SSLe.js";var A=e(t(),1),j=`quickforgeClientMessageId`;function M(e){let t=e?.metadata;return t&&typeof t==`object`&&!Array.isArray(t)?t:void 0}function N(e){let t=M(e)?.[j];return typeof t==`string`&&t?t:void 0}function P(){return`qfcm_${typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}`}function F(e){let t=N(e);if(t)return{message:e,clientMessageId:t};let n=P();return{message:{...e,metadata:{...M(e),[j]:n}},clientMessageId:n}}function I(e){return typeof e==`string`?e:Array.isArray(e)?e.filter(e=>e&&typeof e==`object`&&e.type===`text`).map(e=>e.text).filter(e=>typeof e==`string`).join(``):``}function L(e,t){if(!e||!t||e.role!==t.role)return!1;let n=N(e),r=N(t);return n&&r?n===r:I(e.content)===I(t.content)}async function R(e,t){let n=await fetch(e,{...t,cache:`no-store`,headers:{...t?.body?{"content-type":`application/json`}:void 0,...t?.headers}}),r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.error||`Request failed: ${n.status}`);return r}var z=class e{state;streamFn=d;getApiKey;sessionId;shareId;permission;listeners=new Set;eventSource=null;disposed=!1;reconnectTimer=null;reconnectDelay=1e3;baseUrl=``;syncingThinkingLevel=!1;planMode=!1;onPlanModeConsumed;constructor(e,t){this.shareId=e,this.sessionId=t.sessionId||t.id||e,this.permission=t.permission??`read`;let n={systemPrompt:t.systemPrompt??``,model:t.model??{provider:`shared`,id:`shared`},thinkingLevel:t.thinkingLevel??`off`,messages:t.messages?.slice()??[],tools:t.tools??[],isStreaming:!!t.isStreaming,streamingMessage:void 0,pendingToolCalls:new Set,errorMessage:t.errorMessage,contextCompaction:t.contextCompaction??null,contextUsage:t.contextUsage??null};this.state=new Proxy(n,{set:(e,t,n)=>{let r=e[t];return e[t]=n,t===`thinkingLevel`&&!this.syncingThinkingLevel&&n!==r&&this.updateThinkingLevel(n).catch(e=>{f.error(`Failed to update shared thinking level:`,e)}),!0}}),this.connectEvents()}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setNextPromptCapabilities(){}setPlanMode(e,t){this.planMode=e,this.onPlanModeConsumed=e?t:void 0}async prompt(e){if(this.disposed||this.permission!==`operate`)return;let{message:t,clientMessageId:n}=F(this.normalizeInput(e)),r=this.planMode?{type:`plan`}:void 0;if(this.planMode){this.planMode=!1;let e=this.onPlanModeConsumed;this.onPlanModeConsumed=void 0,e?.()}this.state.messages=[...this.state.messages,t],this.emit({type:`message_start`,message:t}),this.state.isStreaming||(this.state.isStreaming=!0,this.state.errorMessage=void 0,this.emit({type:`agent_start`}));try{await R(`/api/shared/${encodeURIComponent(this.shareId)}/message`,{method:`POST`,body:JSON.stringify({message:t,clientMessageId:n,command:r})})}catch(e){let t=e instanceof Error?e.message:String(e);throw this.state.errorMessage=t,this.state.isStreaming=!1,this.emit({type:`error`,error:t}),this.emit({type:`agent_end`,messages:this.state.messages}),e}}async updateModel(e){if(!(this.disposed||this.permission!==`operate`)){this.state.model=e;try{let t=await R(`/api/shared/${encodeURIComponent(this.shareId)}/model`,{method:`POST`,body:JSON.stringify({model:e})});t.model&&(this.state.model=t.model)}catch(e){let t=e instanceof Error?e.message:String(e);throw this.state.errorMessage=t,this.emit({type:`error`,error:t}),e}}}async updateThinkingLevel(e){if(!(this.disposed||this.permission!==`operate`)){!this.syncingThinkingLevel&&this.state.thinkingLevel!==e&&(this.state.thinkingLevel=e);try{let t=await R(`/api/shared/${encodeURIComponent(this.shareId)}/thinking-level`,{method:`POST`,body:JSON.stringify({thinkingLevel:e})});t.thinkingLevel&&(this.state.thinkingLevel=t.thinkingLevel)}catch(e){let t=e instanceof Error?e.message:String(e);throw this.state.errorMessage=t,this.emit({type:`error`,error:t}),e}}}abort(){this.permission===`operate`&&fetch(`/api/shared/${encodeURIComponent(this.shareId)}/abort`,{method:`POST`}).catch(e=>{f.error(`Failed to abort shared conversation:`,e)})}steer(){}followUp(){}reset(){this.state.messages=[],this.state.errorMessage=void 0,this.state.isStreaming=!1,this.state.streamingMessage=void 0,this.state.pendingToolCalls=new Set}async rollback(e){if(this.permission!==`operate`)return;let t=await R(`/api/shared/${encodeURIComponent(this.shareId)}/rollback`,{method:`POST`,body:JSON.stringify({messageIndex:e})});return this.applyState(t.session),this.emit({type:`messages_replaced`,messages:this.state.messages}),t}dispose(){this.disposed=!0,this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.reconnectTimer=null,this.eventSource?.close(),this.eventSource=null,this.listeners.clear()}static async loadState(e){return R(`/api/shared/${encodeURIComponent(e)}/session`)}static async create(t){return new e(t,await e.loadState(t))}normalizeInput(e){return typeof e==`string`?{role:`user`,content:e,timestamp:Date.now()}:Array.isArray(e)?[...e].reverse().find(e=>e.role===`user`||e.role===`user-with-attachments`)??e[e.length-1]:e}connectEvents(){this.disposed||(this.eventSource?.close(),this.baseUrl=``,this.openEventSource())}openEventSource(){if(this.disposed)return;let e=`${this.baseUrl}/api/shared/${encodeURIComponent(this.shareId)}/events`;this.eventSource=new EventSource(e,{withCredentials:!0}),this.eventSource.onopen=()=>{this.reconnectDelay=1e3};let t=[`state`,`agent_start`,`agent_end`,`message_start`,`message_end`,`turn_start`,`turn_end`,`message_update`,`tool_execution_start`,`tool_execution_update`,`tool_execution_end`,`error`,`title_updated`,`messages_replaced`,`auto_compact_completed`],n=e=>t=>{try{let n=JSON.parse(t.data);this.handleEvent(e?{type:e,...n}:n)}catch{}};this.eventSource.onmessage=n();for(let e of t)this.eventSource.addEventListener(e,n(e));this.eventSource.onerror=()=>{this.eventSource?.close(),this.eventSource=null,this.scheduleReconnect()}}scheduleReconnect(){this.disposed||this.reconnectTimer||(this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.reconnectDelay=Math.min(this.reconnectDelay*2,3e4),this.openEventSource()},this.reconnectDelay))}handleEvent(e){if(e.type){switch(e.type){case`state`:this.applyState(e);break;case`agent_start`:this.state.isStreaming=!0,this.state.errorMessage=void 0;break;case`agent_end`:this.state.isStreaming=!1,this.state.streamingMessage=void 0;break;case`message_start`:if(e.message){let t=this.state.messages.findIndex(t=>L(t,e.message));if(t>=0){let n=this.state.messages.slice();n[t]=e.message,this.state.messages=n}else this.state.messages=[...this.state.messages,e.message];this.state.contextUsage=null}break;case`message_update`:e.message&&(this.state.streamingMessage=e.message);break;case`message_end`:e.message&&(this.state.messages=y(this.state.messages,e.message)),this.state.contextUsage=`contextUsage`in e?e.contextUsage:null,this.state.streamingMessage=void 0;break;case`messages_replaced`:e.messages&&(this.state.messages=e.messages,this.state.streamingMessage=void 0),`contextCompaction`in e&&(this.state.contextCompaction=e.contextCompaction),`contextUsage`in e&&(this.state.contextUsage=e.contextUsage);break;case`auto_compact_completed`:`contextCompaction`in e&&(this.state.contextCompaction=e.contextCompaction),`contextUsage`in e&&(this.state.contextUsage=e.contextUsage);break;case`tool_execution_start`:{let t=e;t.toolCallId&&(this.state.messages=D(this.state.messages,O(t),!0),this.state.pendingToolCalls=new Set([...this.state.pendingToolCalls,t.toolCallId]));break}case`tool_execution_update`:{let t=e;this.state.messages=D(this.state.messages,t,!0),t.toolCallId&&(this.state.pendingToolCalls=new Set([...this.state.pendingToolCalls,t.toolCallId]));break}case`tool_execution_end`:{let t=e;if(this.state.messages=D(this.state.messages,t,!1),t.toolCallId){let e=new Set(this.state.pendingToolCalls);e.delete(t.toolCallId),this.state.pendingToolCalls=e}break}case`error`:this.state.errorMessage=typeof e.error==`string`?e.error:`Unknown error`,this.state.isStreaming=!1;break}this.emit(e)}}applyState(e){this.sessionId=e.sessionId||e.id||this.sessionId,e.messages&&(this.state.messages=e.messages,this.state.contextUsage=e.contextUsage===void 0?null:e.contextUsage),e.systemPrompt!==void 0&&(this.state.systemPrompt=e.systemPrompt),e.model&&(this.state.model=e.model),e.thinkingLevel&&(this.syncingThinkingLevel=!0,this.state.thinkingLevel=e.thinkingLevel,this.syncingThinkingLevel=!1),e.tools&&(this.state.tools=e.tools),e.isStreaming!==void 0&&(this.state.isStreaming=!!e.isStreaming),e.errorMessage!==void 0&&(this.state.errorMessage=e.errorMessage),e.contextCompaction!==void 0&&(this.state.contextCompaction=e.contextCompaction),e.contextUsage!==void 0&&(this.state.contextUsage=e.contextUsage)}emit(e){for(let t of this.listeners)try{t(e)}catch{}}},B=i();function V(e){return{id:`shared-${e.provider}`,name:e.provider,type:e.api,baseUrl:e.baseUrl??``,models:[e]}}async function H(e,t){try{let t=await E(e);if(t.providers?.length)return t.providers}catch{}return t?[V(t)]:[]}function U(e,t){let n=t.model??{provider:`shared`,id:`shared`};return new z(e,{...t,model:n,thinkingLevel:t.thinkingLevel??_(n)})}function W(e,t){let n={settings:new l,providerKeys:new c,sessions:new s,customProviders:new o},r=new p(``,{blockedStores:[`sessions`,`provider-keys`],fakeProviderKeys:t?[t.provider]:void 0,storeOverrides:t?{"custom-providers":{keys:async()=>(await H(e,t)).map(e=>e.name),get:async n=>(await H(e,t)).find(e=>e.name===n)??null,has:async n=>(await H(e,t)).some(e=>e.name===n)}}:void 0});n.settings.setBackend(r),n.providerKeys.setBackend(r),n.sessions.setBackend(r),n.customProviders.setBackend(r),a(new u(n.settings,n.providerKeys,n.sessions,n.customProviders,r))}function G({shareId:e}){let[t,i]=(0,A.useState)(``),[a,o]=(0,A.useState)(null),[s,c]=(0,A.useState)(`read`),[l,u]=(0,A.useState)(`QuickForge 分享对话`),[d,p]=(0,A.useState)(),[_,y]=(0,A.useState)(!1),[E,D]=(0,A.useState)(),O=(0,A.useRef)(!1),j=s===`operate`,M=!!a,N=!!a?.state.tools?.length;(0,A.useEffect)(()=>{W(e,a?.state.model)},[a?.state.model,e]),(0,A.useEffect)(()=>()=>a?.dispose(),[a]);let P=(0,A.useCallback)(async(n=t.trim())=>{p(void 0),y(!0);try{let t=await b(e,n);c(t.permission),u(t.title||t.share.titleSnapshot||`QuickForge 分享对话`);let r=await z.loadState(e);W(e,r.model),o(U(e,r))}catch(e){p(e instanceof Error?e.message:`Failed to unlock shared conversation`)}finally{y(!1)}},[t,e]);(0,A.useEffect)(()=>{if(M||_||O.current)return;O.current=!0;let t=window.setTimeout(()=>{(async()=>{try{(await T(e)).share.hasPassword||await P(``)}catch(e){p(e instanceof Error?e.message:`Failed to load shared conversation`)}})()},0);return()=>window.clearTimeout(t)},[_,e,P,M]);let F=(0,A.useCallback)(async e=>{await C(e)},[]),I=(0,A.useCallback)(async()=>{if(!(!a||a.permission!==`operate`))try{let t=(await H(e,a.state.model)).flatMap(e=>e.models??[]);if(!t.length)return;x(a.state.model,t,t=>{!t.reasoning&&a.state.thinkingLevel!==`off`&&a.updateThinkingLevel(`off`).catch(e=>{f.error(`Failed to update shared thinking level:`,e)}),W(e,t),a.updateModel(t).catch(e=>{p(e instanceof Error?e.message:`Failed to update model`)})},void 0,{thinkingLevel:a.state.thinkingLevel,onThinkingLevelSelect:e=>{a.updateThinkingLevel(e).catch(e=>{f.error(`Failed to update shared thinking level:`,e),p(e instanceof Error?e.message:`Failed to update thinking level`)})}})}catch(e){p(e instanceof Error?e.message:`Failed to load models`)}},[a,e]),L=(0,A.useCallback)(async e=>{if(!a||a.permission!==`operate`)return;if(p(void 0),a.state.isStreaming){g(h(`generationStillRunning`));return}let t=v(a.state.messages,e),n=t>=0?a.state.messages[t]:void 0;if(!n){g(h(`noConversationTurnToRollback`));return}try{await a.rollback(e),D({id:Date.now(),sessionId:a.sessionId,text:S(n),attachments:n.role===`user-with-attachments`?n.attachments:void 0})}catch(e){p(e instanceof Error?e.message:`Failed to roll back`)}},[a]);return M?(0,B.jsxs)(`div`,{className:`flex h-screen min-h-0 flex-col bg-background text-foreground`,children:[(0,B.jsx)(`header`,{className:m(`shrink-0 border-b px-4 py-3`,j?`border-red-300 bg-red-50 text-red-950`:`border-border bg-background`),children:(0,B.jsxs)(`div`,{className:`mx-auto flex max-w-4xl items-start gap-3`,children:[(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`div`,{className:`truncate text-sm font-semibold`,children:l}),(0,B.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-x-2 gap-y-1 text-xs`,children:[(0,B.jsxs)(`span`,{className:m(`inline-flex items-center gap-1 rounded-full px-2 py-0.5 font-medium`,j?`bg-red-100 text-red-700`:`bg-muted text-muted-foreground`),children:[j?(0,B.jsx)(n,{className:`size-3.5`}):null,j?`高危可操作`:`只读分享`]}),(0,B.jsx)(`span`,{className:m(j?`text-red-800`:`text-muted-foreground`),children:j?`正在操作分享者的原始对话`:`只能查看,不能发送或修改`})]}),j?null:(0,B.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:`界面与正常对话保持一致`})]}),(0,B.jsxs)(w,{variant:`ghost`,size:`sm`,className:m(`shrink-0`,j?`text-red-700 hover:bg-red-100 hover:text-red-800`:void 0),onClick:()=>void C(window.location.href),"aria-label":j?`复制高危分享链接`:`复制分享链接`,title:j?`复制高危分享链接`:`复制分享链接`,children:[(0,B.jsx)(r,{className:`size-4`}),(0,B.jsx)(`span`,{className:`hidden sm:inline`,children:j?`复制高危链接`:`复制链接`})]})]})}),d?(0,B.jsx)(`div`,{className:`mx-auto w-full max-w-4xl px-4 py-2 text-sm text-destructive`,children:d}):null,(0,B.jsx)(k,{agent:a,revision:0,agentAccessMode:N?`full-access`:`default`,workspaceToolsEnabled:N,onModelSelect:I,onAccessModeChange:()=>void 0,onRollbackFromMessage:L,onRetryFromMessage:()=>void 0,onCopyAnswer:F,onForkFromMessage:()=>void 0,onApproveToolCall:()=>void 0,onRejectToolCall:()=>void 0,disableFork:!0,rollbackConfirmTitle:h(`sharedRollbackConfirmTitle`),rollbackConfirmDescription:h(`sharedRollbackConfirm`),readOnly:!j,restoredDraft:E,bypassClientApiKeyCheck:!0})]}):(0,B.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-background p-6 text-foreground`,children:(0,B.jsxs)(`div`,{className:`w-full max-w-md rounded-2xl border border-border bg-background p-6 shadow-quickforge`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 text-base font-semibold`,children:[(0,B.jsx)(n,{className:`size-5 text-amber-500`}),`QuickForge 局域网对话分享`]}),(0,B.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`如果分享者设置了密码,请输入密码。未设置密码的链接会自动打开。`}),(0,B.jsx)(`input`,{type:`password`,value:t,onChange:e=>i(e.target.value),onKeyDown:e=>{e.key===`Enter`&&P()},className:`mt-5 h-10 w-full rounded-md border border-input bg-background px-3 text-sm outline-none focus:border-primary`,placeholder:`密码`,autoFocus:!0}),d?(0,B.jsx)(`div`,{className:`mt-3 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive`,children:d}):null,(0,B.jsx)(w,{className:`mt-5 w-full`,onClick:()=>void P(),disabled:_||!t.trim(),children:_?h(`loading`):`用密码打开分享对话`})]})})}export{G as SharedConversationPage};
@@ -1,2 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-DWdDZTNf.js";import{F as t,P as n,St as r,b as i,gt as a,k as o,n as s,s as c}from"./icons-47L5YLKz.js";import{n as l}from"./react-vendor-DunfCFfp.js";import{M as u,N as d,j as f}from"./index-CqfScETb.js";import{n as p,t as m}from"./xterm-5XDrJ343.js";var h=e(r(),1);async function g(e,t){let n=await fetch(e,{cache:`no-store`,...t}),r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.error||`Request failed: ${n.status}`);return r}function _(){return g(`/api/terminal/capabilities`)}function v(e){return g(`/api/terminal/sessions${e?`?projectId=${encodeURIComponent(e)}`:``}`)}function y(e){return g(`/api/terminal/sessions`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)})}function b(e){return g(`/api/terminal/sessions/${encodeURIComponent(e)}`,{method:`DELETE`})}function x(e,t){return g(`/api/terminal/sessions/${encodeURIComponent(e)}/input`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({data:t})})}function S(){return``}function C(){let e=S();if(e){let t=new URL(e);return t.protocol=t.protocol===`https:`?`wss:`:`ws:`,t.toString().replace(/\/$/,``)}return`${location.protocol===`https:`?`wss:`:`ws:`}//${location.host}`}var w=l();function ee({session:e,active:t,height:n,onReady:r,onExited:i,onConnectionError:a}){let o=(0,h.useRef)(null),s=(0,h.useRef)(null),c=(0,h.useRef)(null),l=(0,h.useRef)(null),u=(0,h.useRef)(null),f=(0,h.useRef)(null);return(0,h.useEffect)(()=>{let t=o.current;if(!t)return;let n=!1,h=!1,g=!1,_=!1,v=t=>{n||g||_||(_=!0,a(e.id,t))},y=new p({cursorBlink:!0,convertEol:!1,fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`,fontSize:12,lineHeight:1.2,scrollback:5e3,theme:{background:`#ffffff`,foreground:`#1f2937`,cursor:`#1f2937`,selectionBackground:`#dbeafe`}}),b=new m;y.loadAddon(b),y.open(t),y.writeln(`\x1b[2mConnected to ${e.cwd}\x1b[0m`),s.current=y,c.current=b;let x=()=>{if(t.isConnected)try{b.fit();let{cols:e,rows:t}=y,n=l.current;n?.readyState===WebSocket.OPEN&&n.send(JSON.stringify({type:`resize`,cols:e,rows:t}))}catch{}},S=new WebSocket(`${C()}/api/terminal/sessions/${encodeURIComponent(e.id)}/ws`);l.current=S,S.addEventListener(`open`,()=>{h=!0,_=!1,a(e.id,void 0),u.current=y.onData(e=>{S.readyState===WebSocket.OPEN&&S.send(JSON.stringify({type:`input`,data:e}))}),window.setTimeout(x,0)}),S.addEventListener(`message`,t=>{try{let n=JSON.parse(String(t.data));n.type===`ready`?r(e.id):n.type===`output`?y.write(n.data):n.type===`exit`?(g=!0,y.writeln(``),y.writeln(`\x1b[33m[process exited with code ${n.exitCode??`unknown`}]\x1b[0m`),i(e.id)):n.type===`error`&&y.writeln(`\x1b[31m${n.message}\x1b[0m`)}catch{}}),S.addEventListener(`error`,()=>{v(d(h?`terminalConnectionClosedUnexpectedly`:`terminalConnectionFailed`))}),S.addEventListener(`close`,e=>{u.current?.dispose(),u.current=null,!(n||g)&&(!e.wasClean||e.code!==1e3)&&v(d(h?`terminalConnectionClosedUnexpectedly`:`terminalConnectionFailed`))});let w=new ResizeObserver(()=>x());return w.observe(t),f.current=w,window.setTimeout(x,50),()=>{n=!0,w.disconnect(),f.current=null,u.current?.dispose(),u.current=null,S.close(),l.current=null,y.dispose(),s.current=null,c.current=null}},[a,i,r,e.cwd,e.id]),(0,h.useEffect)(()=>{if(!t)return;let e=c.current,n=s.current;window.setTimeout(()=>{try{e?.fit(),n?.focus()}catch{}},0)},[t,n]),(0,w.jsx)(`div`,{ref:o,className:t?`h-full min-h-0 w-full`:`hidden`,"aria-hidden":!t})}var T=180,te=.7,ne=320;function E(e,t){let n=t?t.name:`Terminal`,r=new Set(e.map(e=>e.name));if(n!==`Terminal`&&!r.has(n))return n;let i=1;for(;r.has(`${n} ${i}`);)i+=1;return`${n} ${i}`}function D(e,t){let n=e?.terminalShellProfiles||[],r=t||e?.defaultTerminalShellProfileId||``;return n.find(e=>e.id===r)||n[0]}function O({project:e,onCollapse:r,pendingCommand:l,onPendingCommandHandled:p}){let[m,g]=(0,h.useState)(null),[S,C]=(0,h.useState)([]),[O,k]=(0,h.useState)(),[A,re]=(0,h.useState)(ne),[j,ie]=(0,h.useState)(!0),[M,N]=(0,h.useState)(!1),[ae,P]=(0,h.useState)(),[oe,F]=(0,h.useState)({}),[I,L]=(0,h.useState)(!1),[R,se]=(0,h.useState)(!1),z=(0,h.useRef)(!1),B=(0,h.useRef)(new Set),V=(0,h.useRef)(l),H=(0,h.useRef)(new Set),U=(0,h.useRef)(new Set),W=(0,h.useRef)(new Map),G=(0,h.useRef)(!0),[K,q]=(0,h.useState)(()=>new Set),J=(0,h.useRef)(null),ce=(0,h.useRef)(null),Y=e?.id,X=(0,h.useMemo)(()=>S.find(e=>e.id===O)??S[0],[O,S]);(0,h.useEffect)(()=>{V.current=l},[l]),(0,h.useEffect)(()=>()=>{G.current=!1},[]);let le=(0,h.useCallback)(async()=>{let e=await v(Y);return C(e.sessions),k(t=>t&&e.sessions.some(e=>e.id===t)?t:e.sessions[0]?.id),e.sessions},[Y]),ue=(0,h.useCallback)(async(e,t)=>{if(z.current)return;let n=D(m,t);z.current=!0,N(!0),P(void 0),F({});try{let t=await y({projectId:Y,name:E(e,n),cols:120,rows:30,shellProfileId:n?.id,shellProfileName:n?.name});C(e=>[...e,t]),k(t.id)}catch(e){P(e instanceof Error?e.message:d(`terminalCreateFailed`))}finally{z.current=!1,N(!1)}},[m,Y]);(0,h.useEffect)(()=>{let e=!1;return(async()=>{ie(!0),P(void 0);try{let[t,n]=await Promise.all([_(),v(Y)]);if(e)return;if(g(t),C(n.sessions),k(n.sessions[0]?.id),t.enabled&&n.sessions.length===0&&!V.current){let n=D(t);y({projectId:Y,name:E([],n),cols:120,rows:30,shellProfileId:n?.id,shellProfileName:n?.name}).then(t=>{if(e){b(t.id).catch(()=>{});return}C([t]),k(t.id)}).catch(t=>{e||P(t instanceof Error?t.message:d(`terminalCreateFailed`))})}}catch(t){e||P(t instanceof Error?t.message:d(`terminalUnavailable`))}finally{e||ie(!1)}})(),()=>{e=!0}},[Y]),(0,h.useEffect)(()=>{if(!I)return;let e=e=>{ce.current?.contains(e.target)||L(!1)},t=e=>{e.key===`Escape`&&L(!1)};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[I]),(0,h.useEffect)(()=>{if(!R)return;let e=e=>{e.key===`Escape`&&se(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[R]),(0,h.useEffect)(()=>{if(!l||B.current.has(l.id)||W.current.has(l.id)||H.current.has(l.id)||j||M||!m)return;if(!m.enabled){B.current.add(l.id),window.setTimeout(()=>{P(m.reason||d(`terminalUnavailable`)),p?.(l.id)},0);return}let e=X&&!X.exited?X:S.find(e=>!e.exited);if(e){W.current.set(l.id,e.id),window.setTimeout(()=>{G.current&&k(e.id)},0);return}H.current.add(l.id),window.setTimeout(()=>{G.current&&P(void 0)},0);let t=D(m);y({projectId:Y,name:E(S,t),cols:120,rows:30,shellProfileId:t?.id,shellProfileName:t?.name}).then(e=>{if(!G.current){b(e.id).catch(()=>{});return}W.current.set(l.id,e.id),C(t=>t.some(t=>t.id===e.id)?t:[...t,e]),k(e.id)}).catch(e=>{G.current&&(P(e instanceof Error?e.message:d(`terminalCommandExecuteFailed`)),B.current.add(l.id),p?.(l.id))}).finally(()=>{H.current.delete(l.id)})},[X,m,M,j,p,l,Y,S]),(0,h.useEffect)(()=>{if(!l||B.current.has(l.id)||U.current.has(l.id))return;let e=W.current.get(l.id),t=e?S.find(t=>t.id===e):X&&!X.exited?X:S.find(e=>!e.exited);!t||t.exited||!K.has(t.id)||(U.current.add(l.id),window.setTimeout(()=>{G.current&&(k(t.id),P(void 0))},0),(async()=>{try{if(l.execute){let e=l.command.split(`
2
- `),n=e.flatMap((t,n)=>n<e.length-1?[t,`\r`]:[t]);n.push(`\r`),await x(t.id,n.join(``))}else await x(t.id,l.command)}catch(e){G.current&&P(e instanceof Error?e.message:d(`terminalCommandExecuteFailed`))}finally{B.current.add(l.id),U.current.delete(l.id),W.current.delete(l.id),G.current&&p?.(l.id)}})())},[X,p,l,K,S]);let de=async e=>{P(void 0),F(t=>{if(!t[e])return t;let n={...t};return delete n[e],n});let t=S.filter(t=>t.id!==e);C(t),O===e&&k(t[0]?.id);try{await b(e)}catch(e){P(e instanceof Error?e.message:d(`terminalCloseFailed`)),le().catch(()=>{})}},fe=(0,h.useCallback)(e=>{C(t=>t.map(t=>t.id===e?{...t,exited:!0}:t)),q(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},[]),pe=(0,h.useCallback)(e=>{q(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),me=(0,h.useCallback)((e,t)=>{F(n=>{if(!t){if(!n[e])return n;let t={...n};return delete t[e],t}return n[e]===t?n:{...n,[e]:t}})},[]),he=e=>{J.current={startY:e.clientY,startHeight:A},e.currentTarget.setPointerCapture(e.pointerId)},ge=e=>{let t=J.current;if(!t)return;let n=Math.max(T,Math.floor(window.innerHeight*te));re(Math.min(n,Math.max(T,t.startHeight+t.startY-e.clientY)))},_e=e=>{J.current=null;try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}},Z=m?.terminalShellProfiles||[],ve=m?.defaultTerminalShellProfileId||``,Q=Z.find(e=>e.id===ve)||Z[0],ye=!!(m&&S.length>=m.maxSessions),be=M||ye,xe=X?oe[X.id]:void 0,$=ae??xe,Se=R?$?`calc(100% - 4.25rem)`:`calc(100% - 2.25rem)`:$?A-72:A-45;return(0,w.jsxs)(`div`,{className:u(`shrink-0 border-t border-border bg-background`,R&&`absolute inset-0 z-30 flex flex-col border-t-0`),style:R?void 0:{height:A},children:[R?null:(0,w.jsx)(`div`,{className:`h-1 cursor-row-resize bg-transparent hover:bg-border`,onPointerDown:he,onPointerMove:ge,onPointerUp:_e,onPointerCancel:_e}),(0,w.jsxs)(`div`,{className:`flex h-9 items-center gap-1 border-b border-border px-2`,children:[(0,w.jsx)(c,{className:`size-4 shrink-0 text-muted-foreground/60`}),(0,w.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1 overflow-x-auto`,children:S.map(e=>(0,w.jsxs)(`button`,{type:`button`,className:u(`group flex max-w-44 shrink-0 items-center gap-1 rounded-md px-2 py-1 text-xs text-muted-foreground/72 hover:bg-muted/20 hover:text-foreground/85`,X?.id===e.id&&`bg-muted/28 text-foreground/90`),onClick:()=>k(e.id),title:`${e.name} — ${e.cwd}`,children:[(0,w.jsx)(`span`,{className:u(`size-1.5 rounded-full`,e.exited?`bg-muted-foreground/40`:`bg-emerald-500/80`)}),(0,w.jsx)(`span`,{className:`truncate`,children:e.name}),(0,w.jsx)(`span`,{role:`button`,tabIndex:0,className:`ml-1 rounded-sm p-0.5 opacity-60 hover:bg-background hover:opacity-100`,onClick:t=>{t.stopPropagation(),de(e.id)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),de(e.id))},"aria-label":d(`terminalCloseSession`,{name:e.name}),children:(0,w.jsx)(s,{className:`size-3`})})]},e.id))}),(0,w.jsxs)(`div`,{className:`relative shrink-0`,ref:ce,children:[(0,w.jsxs)(`div`,{className:`flex items-center overflow-hidden rounded-md border border-border bg-background`,children:[(0,w.jsx)(`button`,{type:`button`,className:`inline-flex h-7 w-7 items-center justify-center text-foreground/85 transition-colors hover:bg-muted/20 disabled:pointer-events-none disabled:opacity-50`,onClick:()=>void ue(S),disabled:be,title:Q?d(`terminalNewWithProfile`,{name:Q.name}):d(`terminalNew`),"aria-label":d(`terminalNew`),children:M?(0,w.jsx)(t,{className:`size-3.5 animate-spin`}):(0,w.jsx)(i,{className:`size-3.5`})}),Z.length>0?(0,w.jsx)(`button`,{type:`button`,className:`inline-flex h-7 w-7 items-center justify-center border-l border-border text-muted-foreground/72 transition-colors hover:bg-muted/20 hover:text-foreground/85 disabled:pointer-events-none disabled:opacity-50`,onClick:()=>L(e=>!e),disabled:be,title:d(`terminalSelectShell`),"aria-label":d(`terminalSelectShell`),"aria-expanded":I,children:(0,w.jsx)(a,{className:`size-3.5`})}):null]}),I?(0,w.jsxs)(`div`,{className:`absolute bottom-9 right-0 z-30 w-64 overflow-hidden rounded-lg border border-border bg-background p-1.5 shadow-[0_16px_38px_-22px_rgb(15_23_42_/_0.65)]`,children:[(0,w.jsx)(`div`,{className:`px-2 pb-1.5 pt-1 text-[11px] font-medium uppercase tracking-wide text-muted-foreground/60`,children:d(`terminalNewWith`)}),Z.map(e=>(0,w.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-xs text-muted-foreground/80 hover:bg-muted/20 hover:text-foreground/90`,onClick:()=>{L(!1),ue(S,e.id)},children:[(0,w.jsx)(`span`,{className:`inline-flex size-5 shrink-0 items-center justify-center rounded bg-muted/20 text-[10px] text-muted-foreground/70`,children:e.name.slice(0,1).toUpperCase()}),(0,w.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,w.jsx)(`span`,{className:`block truncate font-medium`,children:e.name}),(0,w.jsx)(`span`,{className:`block truncate font-mono text-[11px] text-muted-foreground/55`,children:e.command})]})]},e.id))]}):null]}),(0,w.jsx)(f,{variant:`ghost`,size:`icon`,className:`size-7`,onClick:()=>se(e=>!e),title:d(R?`terminalExitFullscreen`:`terminalFullscreen`),"aria-label":d(R?`terminalExitFullscreen`:`terminalFullscreen`),children:R?(0,w.jsx)(o,{className:`size-3.5`}):(0,w.jsx)(n,{className:`size-3.5`})}),(0,w.jsx)(f,{variant:`ghost`,size:`icon`,className:`size-7`,onClick:r,title:d(`terminalCollapse`),"aria-label":d(`terminalCollapse`),children:(0,w.jsx)(a,{className:`size-3.5`})})]}),$?(0,w.jsx)(`div`,{className:`border-b border-border px-3 py-1.5 text-xs text-destructive`,children:$}):null,(0,w.jsx)(`div`,{className:`min-h-0 bg-background`,style:{height:Se},children:j?(0,w.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-xs text-muted-foreground/60`,children:[(0,w.jsx)(t,{className:`size-4 animate-spin`}),` `,d(`terminalStarting`)]}):m&&!m.enabled?(0,w.jsx)(`div`,{className:`flex h-full items-center justify-center px-4 text-center text-xs text-muted-foreground/60`,children:m.reason||d(`terminalUnavailable`)}):S.length===0?(0,w.jsx)(`div`,{className:`flex h-full items-center justify-center text-xs text-muted-foreground/60`,children:d(`terminalNoSessions`)}):S.map(e=>(0,w.jsx)(ee,{session:e,active:e.id===X?.id,height:R?window.innerHeight-36:A,onReady:pe,onExited:fe,onConnectionError:me},e.id))})]})}export{O as TerminalDock};
@@ -1,3 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-DWdDZTNf.js";import{$ as t,A as n,B as r,G as i,H as a,I as o,J as s,K as c,L as l,P as u,Q as d,R as f,St as p,U as m,W as h,X as g,Y as _,Z as v,_t as ee,at as te,et as ne,ft as re,g as y,gt as b,h as ie,it as x,k as ae,mt as oe,n as S,nt as C,o as w,ot as T,q as E,rt as D,v as se,xt as ce}from"./icons-47L5YLKz.js";import{n as O}from"./react-vendor-DunfCFfp.js";import{M as k,N as A,a as le,c as ue,i as de,j,n as fe,o as pe,r as me,s as he,t as ge}from"./index-CqfScETb.js";import{i as _e,n as M,r as ve,t as N}from"./diff-line-counts-BZoYp5ai.js";var P=e(p(),1),F=O();function I(e){let t=e.trim();if(!t.startsWith(`/api/workspace/preview/`))return!1;try{let e=new URL(t,window.location.origin);return e.origin===window.location.origin&&e.pathname.startsWith(`/api/workspace/preview/`)}catch{return!1}}function ye(e){let t=e.trim().replace(/\\/g,`/`);return t.startsWith(`/`)||/^[a-zA-Z]:\//.test(t)}function be(e,t){let n=e.trim();if(!t||!I(n))return n;try{let e=new URL(n,window.location.origin),r=`/api/workspace/preview/${encodeURIComponent(t)}/`;return e.pathname.startsWith(r)?e.pathname.slice(r.length).split(`/`).map(e=>decodeURIComponent(e)).join(`/`):n}catch{return n}}function L(e,t){let n=e.trim();if(!n)return{url:``,displayUrl:``,error:``};if(I(n)){let e=new URL(n,window.location.origin);return{url:`${e.pathname}${e.search}${e.hash}`,displayUrl:be(n,t),error:``}}if(t&&ye(n))return{url:de(t,n),displayUrl:n,error:``};let r=/^https?:\/\//i.test(n)?n:`http://${n}`;try{let e=new URL(r);return e.protocol!==`http:`&&e.protocol!==`https:`?{url:``,displayUrl:n,error:A(`invalidPreviewUrl`)}:{url:e.toString(),displayUrl:e.toString(),error:``}}catch{return{url:``,displayUrl:n,error:A(`invalidPreviewUrl`)}}}function xe({url:e,onUrlChange:t,projectId:n}){let r=(0,P.useMemo)(()=>L(e,n),[n,e]),[i,a]=(0,P.useState)({sourceUrl:e,value:r.displayUrl}),[o,s]=(0,P.useState)(``),[c,l]=(0,P.useState)(0),u=r.url,d=u.startsWith(`/api/workspace/preview/`)?`allow-scripts allow-same-origin allow-forms`:`allow-scripts allow-same-origin allow-forms allow-popups allow-downloads allow-modals allow-pointer-lock`,f=i.sourceUrl===e?i.value:r.displayUrl;function p(e=f){let r=L(e,n);if(r.error){s(r.error);return}s(``),a({sourceUrl:r.displayUrl,value:r.displayUrl}),t(r.displayUrl),r.url&&l(e=>e+1)}function m(){u&&l(e=>e+1)}function h(){u&&window.open(u,`_blank`,`noopener,noreferrer`)}return(0,F.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,F.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 border-b border-border p-3`,children:[(0,F.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),p()},children:[(0,F.jsxs)(`label`,{className:`flex min-w-0 flex-1 items-center rounded-md border border-border bg-background px-2 py-1.5 text-xs text-muted-foreground/65 focus-within:text-foreground/85`,children:[(0,F.jsx)(`span`,{className:`sr-only`,children:A(`previewUrl`)}),(0,F.jsx)(`input`,{value:f,onChange:t=>{a({sourceUrl:e,value:t.target.value}),o&&s(``)},placeholder:A(`previewUrlPlaceholder`),className:`min-w-0 flex-1 bg-transparent text-xs text-foreground/85 outline-none placeholder:text-muted-foreground/50`})]}),(0,F.jsx)(j,{type:`submit`,variant:`outline`,size:`sm`,className:`h-8 shrink-0 px-3 text-xs`,children:A(`openPreview`)}),(0,F.jsx)(j,{variant:`ghost`,size:`icon`,onClick:m,disabled:!u,"aria-label":A(`refreshPreview`),title:A(`refreshPreview`),children:(0,F.jsx)(se,{className:`size-4`})}),(0,F.jsx)(j,{variant:`ghost`,size:`icon`,onClick:h,disabled:!u,"aria-label":A(`openInBrowser`),title:A(`openInBrowser`),children:(0,F.jsx)(ne,{className:`size-4`})})]}),o?(0,F.jsx)(`div`,{className:`text-xs text-destructive`,children:o}):null]}),(0,F.jsx)(`div`,{className:`min-h-0 flex-1 bg-muted/10`,children:u?(0,F.jsx)(`iframe`,{title:A(`webPreview`),src:u,sandbox:d,className:`h-full w-full border-0 bg-background`},`${u}:${c}`):(0,F.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center px-8 text-center`,children:[(0,F.jsx)(`div`,{className:`rounded-full bg-muted/20 p-3 text-muted-foreground/70`,children:(0,F.jsx)(C,{className:`size-5`})}),(0,F.jsx)(`div`,{className:`mt-4 text-sm font-medium text-foreground/85`,children:A(`noPreviewUrlTitle`)}),(0,F.jsx)(`div`,{className:`mt-2 max-w-xs text-xs leading-5 text-muted-foreground/70`,children:A(`noPreviewUrlDescription`)})]})})]})}function R(e){return e===`added`?{label:`A`,text:A(`workspaceStatusAdded`),className:`text-emerald-600 dark:text-emerald-500`}:e===`deleted`?{label:`D`,text:A(`workspaceStatusDeleted`),className:`text-red-600 dark:text-red-500`}:e===`renamed`?{label:`R`,text:A(`workspaceStatusRenamed`),className:`text-blue-600 dark:text-blue-500`}:e===`untracked`?{label:`U`,text:A(`workspaceStatusUntracked`),className:`text-amber-600 dark:text-amber-500`}:e===`conflicted`?{label:`!`,text:A(`workspaceStatusConflict`),className:`text-red-600 dark:text-red-500`}:{label:`M`,text:A(`workspaceStatusModified`),className:`text-emerald-600 dark:text-emerald-500`}}function Se({files:e,selectedPath:t,onSelectFile:n,emptyMessage:r=A(`workspaceNoWorkingTreeChanges`)}){return e.length===0?(0,F.jsx)(`div`,{className:`px-2 py-3 text-xs text-muted-foreground/70`,children:r}):(0,F.jsx)(`div`,{className:`space-y-0.5`,children:e.map(e=>{let r=R(e.status);return(0,F.jsxs)(`button`,{type:`button`,className:`flex h-7 w-full items-center gap-2 rounded-md px-2 text-left text-xs transition-colors ${t===e.path?`bg-muted/28 text-foreground/90`:`text-muted-foreground/72 hover:bg-muted/20 hover:text-foreground/85`}`,onClick:()=>n(e.path),title:e.oldPath?`${e.oldPath} → ${e.path}`:e.path,children:[(0,F.jsx)(`span`,{className:`w-4 shrink-0 font-mono text-[0.68rem] font-semibold ${r.className}`,children:r.label}),(0,F.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.path}),typeof e.additions==`number`&&typeof e.deletions==`number`?(0,F.jsxs)(`span`,{className:`shrink-0 font-mono text-[10px] font-medium`,children:[(0,F.jsxs)(`span`,{className:`text-emerald-600 dark:text-emerald-500`,children:[`+`,e.additions]}),(0,F.jsxs)(`span`,{className:`ml-1 text-red-600 dark:text-red-500`,children:[`-`,e.deletions]})]}):null,(0,F.jsx)(`span`,{className:`shrink-0 text-[0.68rem] text-muted-foreground/55`,children:r.text})]},`${e.status}:${e.oldPath??``}:${e.path}`)})})}var z={ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,mjs:`javascript`,cjs:`javascript`,json:`json`,jsonc:`json`,css:`css`,scss:`scss`,less:`less`,html:`html`,htm:`html`,md:`markdown`,markdown:`markdown`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,c:`c`,h:`c`,cpp:`cpp`,cc:`cpp`,cxx:`cpp`,hpp:`cpp`,cs:`csharp`,php:`php`,swift:`swift`,kt:`kotlin`,kts:`kotlin`,sh:`shell`,bash:`shell`,zsh:`shell`,ps1:`powershell`,yml:`yaml`,yaml:`yaml`,xml:`xml`,sql:`sql`,dockerfile:`dockerfile`,toml:`toml`,ini:`ini`,env:`ini`};function B(e){let t=e.split(`/`).pop()?.toLowerCase()??``;return t===`dockerfile`||t.endsWith(`.dockerfile`)?`dockerfile`:z[t.includes(`.`)?t.split(`.`).pop()??``:t]??`plaintext`}function Ce(e){return e.slice(e.lastIndexOf(`/`)+1)}function V(e){let t=e.lastIndexOf(`.`);return t>0?e.slice(t+1):``}var H={typescript:{Icon:g,className:`text-sky-500 dark:text-sky-400`},javascript:{Icon:g,className:`text-amber-500 dark:text-amber-400`},python:{Icon:g,className:`text-blue-600 dark:text-blue-400`},go:{Icon:g,className:`text-cyan-600 dark:text-cyan-400`},rust:{Icon:g,className:`text-orange-600 dark:text-orange-400`},java:{Icon:g,className:`text-red-500 dark:text-red-400`},c:{Icon:g,className:`text-blue-500 dark:text-blue-400`},cpp:{Icon:g,className:`text-indigo-500 dark:text-indigo-400`},csharp:{Icon:g,className:`text-violet-500 dark:text-violet-400`},php:{Icon:g,className:`text-indigo-500 dark:text-indigo-400`},ruby:{Icon:g,className:`text-rose-500 dark:text-rose-400`},swift:{Icon:g,className:`text-orange-500 dark:text-orange-400`},kotlin:{Icon:g,className:`text-violet-500 dark:text-violet-400`},shell:{Icon:g,className:`text-green-600 dark:text-green-400`},powershell:{Icon:g,className:`text-blue-600 dark:text-blue-400`},json:{Icon:v,className:`text-amber-600 dark:text-amber-400`},css:{Icon:l,className:`text-sky-500 dark:text-sky-400`},scss:{Icon:l,className:`text-pink-500 dark:text-pink-400`},less:{Icon:l,className:`text-sky-500 dark:text-sky-400`},html:{Icon:C,className:`text-orange-500 dark:text-orange-400`},markdown:{Icon:i,className:`text-slate-500 dark:text-slate-400`},yaml:{Icon:_,className:`text-slate-500 dark:text-slate-400`},toml:{Icon:_,className:`text-slate-500 dark:text-slate-400`},ini:{Icon:_,className:`text-slate-500 dark:text-slate-400`},xml:{Icon:g,className:`text-slate-500 dark:text-slate-400`},sql:{Icon:D,className:`text-indigo-500 dark:text-indigo-400`},dockerfile:{Icon:te,className:`text-sky-600 dark:text-sky-400`},plaintext:{Icon:i,className:`text-slate-500 dark:text-slate-400`}},U=new Set([`png`,`jpg`,`jpeg`,`gif`,`svg`,`ico`,`webp`,`bmp`,`avif`]),W=new Set([`zip`,`tar`,`gz`,`tgz`,`rar`,`7z`,`bz2`,`xz`]),G=new Set([`csv`,`tsv`,`xls`,`xlsx`]);function K(e){if(e===`readme`||e.startsWith(`readme.`))return{Icon:ce,className:`text-sky-500 dark:text-sky-400`};if(e===`license`||e.startsWith(`license.`)||e===`licence`||e.startsWith(`licence.`)||e===`copying`||e.startsWith(`copying.`))return{Icon:y,className:`text-slate-500 dark:text-slate-400`};if(e===`makefile`||e.startsWith(`makefile.`))return{Icon:w,className:`text-slate-500 dark:text-slate-400`};if(e.startsWith(`docker-compose`))return{Icon:te,className:`text-sky-600 dark:text-sky-400`};if(e===`.gitignore`||e===`.gitattributes`||e===`.gitmodules`)return{Icon:y,className:`text-orange-500 dark:text-orange-400`};if(e===`.env`||e.startsWith(`.env.`))return{Icon:_,className:`text-slate-500 dark:text-slate-400`};if(e.endsWith(`.lock`)||e.endsWith(`-lock.json`)||e.endsWith(`-lock.yaml`))return{Icon:E,className:`text-slate-500 dark:text-slate-400`}}function q(e){let t=Ce(e).toLowerCase(),n=K(t);if(n)return n;let r=V(t);return U.has(r)?{Icon:s,className:`text-purple-500 dark:text-purple-400`}:W.has(r)?{Icon:d,className:`text-slate-500 dark:text-slate-400`}:G.has(r)?{Icon:c,className:`text-green-600 dark:text-green-400`}:H[B(e)]||{Icon:h,className:`text-slate-500 dark:text-slate-400`}}function J(e,t){let n=e.toLowerCase();return n===`.git`||n===`.svn`||n===`.hg`?{Icon:m,className:`text-orange-500 dark:text-orange-400`}:{Icon:t?a:r,className:`text-slate-500 dark:text-slate-400`}}function we({path:e,className:t=`size-3.5`}){let{Icon:n,className:r}=q(e);return(0,F.jsx)(n,{className:`${r} ${t}`})}function Te({name:e,open:t,className:n=`size-3.5`}){let{Icon:r,className:i}=J(e,t);return(0,F.jsx)(r,{className:`${i} ${n}`})}function Ee(e){return e?e.status===`added`?`A`:e.status===`deleted`?`D`:e.status===`renamed`?`R`:e.status===`untracked`?`U`:`M`:``}function De({node:e,depth:t,selectedPath:n,gitStatuses:r,onSelectFile:i}){let[a,o]=(0,P.useState)(t<1),s=e.type===`directory`,c=n===e.path,l=Ee(r[e.path]);return(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`button`,{type:`button`,className:`flex h-7 w-full items-center gap-1.5 rounded-md px-2 text-left text-xs transition-colors ${c?`bg-muted/28 text-foreground/90`:`text-muted-foreground/72 hover:bg-muted/20 hover:text-foreground/85`}`,style:{paddingLeft:`${.5+t*.75}rem`},onClick:()=>{s?o(e=>!e):i(e.path)},title:e.path,children:[s?(0,F.jsx)(oe,{className:`size-3 shrink-0 transition-transform ${a?`rotate-90`:``}`}):(0,F.jsx)(`span`,{className:`w-3 shrink-0`}),s?(0,F.jsx)(Te,{name:e.name,open:a,className:`size-3.5 shrink-0`}):(0,F.jsx)(we,{path:e.path,className:`size-3.5 shrink-0`}),(0,F.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),l?(0,F.jsx)(`span`,{className:`shrink-0 font-mono text-[0.68rem] text-emerald-600 dark:text-emerald-500`,children:l}):null]}),s&&a?(0,F.jsx)(`div`,{children:(e.children??[]).map(e=>(0,F.jsx)(De,{node:e,depth:t+1,selectedPath:n,gitStatuses:r,onSelectFile:i},e.path))}):null]})}function Oe({tree:e,selectedPath:t,gitStatuses:n={},onSelectFile:r}){return e.length===0?(0,F.jsx)(`div`,{className:`px-2 py-3 text-xs text-muted-foreground/70`,children:A(`workspaceNoFilesToDisplay`)}):(0,F.jsx)(`div`,{className:`space-y-0.5`,children:e.map(e=>(0,F.jsx)(De,{node:e,depth:0,selectedPath:t,gitStatuses:n,onSelectFile:r},e.path))})}function ke(e,t){return e===`browser`?`browser`:`${e}:${t}`}var Ae=[{view:`overview`,label:A(`workspaceOverview`),icon:o},{view:`files`,label:A(`workspaceFiles`),icon:r},{view:`changes`,label:A(`workspaceChanges`),icon:f},{view:`browser`,label:A(`workspaceBrowser`),icon:C}],Y=380,X=480,Z=800,je=`quickforge_workspaceInspectorWidth`,Me=140,Ne=200,Pe=400;function Fe(){if(typeof window>`u`)return X;try{let e=window.localStorage.getItem(je);if(!e)return X;let t=Number(e);return Number.isFinite(t)?Math.min(Z,Math.max(Y,t)):X}catch{return X}}function Ie(e,t){let n=t.trim().toLowerCase();return n?e.flatMap(e=>{let t=e.children?Ie(e.children,n):void 0;return!(e.name.toLowerCase().includes(n)||e.path.toLowerCase().includes(n))&&(!t||t.length===0)?[]:[{...e,...t?{children:t}:{}}]}):e}function Le(e){return A(`workspaceReviewPrompt`,{list:e.map(e=>`- ${e.status}: ${e.oldPath?`${e.oldPath} -> `:``}${e.path}`).join(`
2
- `)})}function Re(e){return A(`workspaceCommitMessagePrompt`,{list:e.map(e=>`- ${e.status}: ${e.oldPath?`${e.oldPath} -> `:``}${e.path}`).join(`
3
- `)})}function ze(e,t){let n=[`${A(`workspaceCurrentBranch`)}: ${e||A(`unknown`)}`];return t?.total&&n.push(`${t.total} ${A(`workspaceChangeCount`)}`),n.join(` · `)}function Be({title:e,files:t,selectedPath:n,onSelectFile:r}){return t.length===0?null:(0,F.jsxs)(`div`,{className:`space-y-1`,children:[(0,F.jsxs)(`div`,{className:`px-2 text-[11px] font-medium uppercase tracking-wide text-muted-foreground/60`,children:[e,` `,t.length]}),(0,F.jsx)(Se,{files:t,selectedPath:n,onSelectFile:r})]})}function Ve({view:e,changesCount:t,open:n,onOpenChange:r,onViewChange:i}){let a=Ae.find(t=>t.view===e)??Ae[0],o=a.icon;return(0,F.jsxs)(`div`,{className:`relative min-w-0`,children:[(0,F.jsxs)(`button`,{type:`button`,className:`flex max-w-full items-center gap-2 rounded-xl bg-muted/20 px-2.5 py-1.5 text-left text-sm font-semibold text-foreground/90 transition-colors hover:bg-muted/28`,onClick:()=>r(!n),"aria-haspopup":`menu`,"aria-expanded":n,children:[(0,F.jsx)(o,{className:`size-4 shrink-0 text-foreground/75`}),(0,F.jsx)(`span`,{className:`min-w-0 truncate`,children:a.label}),(0,F.jsx)(b,{className:k(`size-4 shrink-0 text-muted-foreground/65 transition-transform`,n?`rotate-180`:``)})]}),n?(0,F.jsx)(`div`,{className:`absolute left-0 top-11 z-40 w-60 rounded-2xl border border-border bg-popover p-2 shadow-quickforge`,children:Ae.map(n=>{let a=n.icon,o=n.view===e;return(0,F.jsxs)(`button`,{type:`button`,className:k(`flex w-full items-center gap-3 rounded-xl px-3 py-2.5 text-left text-sm transition-colors`,o?`bg-muted/28 text-foreground/90`:`text-foreground/80 hover:bg-muted/20 hover:text-foreground/90`),onClick:()=>{i(n.view),r(!1)},children:[(0,F.jsx)(a,{className:`size-4 shrink-0`}),(0,F.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[n.label,n.view===`changes`&&t?` ${t}`:``]}),o?(0,F.jsx)(ee,{className:`size-4 shrink-0 text-emerald-600 dark:text-emerald-500`}):null]},n.view)})}):null]})}function He(e){return e?e.language===`markdown`||/\.(md|markdown)$/i.test(e.path):!1}function Q(e,t=!1){return A(t?`readerFileMarkdownPrompt`:`readerFilePrompt`,{path:e})}function Ue(e){return A(`readerDiffPrompt`,{path:e})}function We(e){return`Diff for ${e.oldPath?`${e.oldPath} -> ${e.path}`:e.path}\n\n--- OLD\n${e.oldContent}\n\n--- NEW\n${e.newContent}`}function Ge({tabs:e,activeId:t,onSelect:n,onClose:r}){return(0,F.jsx)(`div`,{className:`flex h-full min-w-0 flex-1 items-center gap-0.5 overflow-x-auto px-1.5`,children:e.map(e=>{let i=e.id===t,a=e.mode===`browser`,s=a?A(`workspaceBrowser`):e.path.split(`/`).pop()||e.path,c=e.path.split(`.`).pop()||``;return(0,F.jsxs)(`button`,{type:`button`,className:k(`group flex max-w-44 shrink-0 items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-colors`,i?`bg-background shadow-sm text-foreground`:`text-muted-foreground/70 hover:bg-muted/40 hover:text-foreground/85`),onClick:()=>n(e.id),title:e.path,children:[(0,F.jsx)(`span`,{className:k(`flex size-4 shrink-0 items-center justify-center rounded-sm`,i?`bg-primary/10 text-primary`:`bg-muted/30 text-muted-foreground/60`),children:e.loading?(0,F.jsx)(u,{className:`size-2.5 animate-spin`}):a?(0,F.jsx)(C,{className:`size-2.5`}):c===`md`||c===`markdown`?(0,F.jsx)(o,{className:`size-2.5`}):(0,F.jsx)(g,{className:`size-2.5`})}),(0,F.jsx)(`span`,{className:`min-w-0 truncate`,children:s}),(0,F.jsx)(`span`,{role:`button`,tabIndex:0,className:k(`ml-0.5 shrink-0 rounded-sm p-0.5 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-destructive/15 hover:text-destructive`,i&&`opacity-100`),onClick:t=>{t.stopPropagation(),r(e.id)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),r(e.id))},"aria-label":A(`close`),children:(0,F.jsx)(S,{className:`size-3`})})]},e.id)})})}function Ke({mode:e,file:t,diff:r,loading:i,error:a,onClose:o,onDraftRequest:s}){let[c,l]=(0,P.useState)(),[u,d]=(0,P.useState)(`preview`);async function f(e,t){t&&(await navigator.clipboard.writeText(t),l(e),window.setTimeout(()=>l(void 0),1200))}let p=e===`file`?t?.path:r?.path,m=e===`file`&&He(t),h=e===`file`?t?.content:r?We(r):void 0,g=e===`file`&&t?Q(t.path,m):e===`diff`&&r?Ue(r.path):void 0,_=(0,P.useMemo)(()=>e===`diff`&&r?N(r.oldContent,r.newContent):void 0,[e,r]);return(0,F.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,F.jsxs)(`div`,{className:`flex h-11 shrink-0 items-center gap-2 border-b border-border px-3`,children:[m?(0,F.jsx)(`div`,{className:`inline-flex rounded-full bg-muted/25 p-1 text-xs`,children:[`preview`,`source`].map(e=>(0,F.jsx)(`button`,{type:`button`,className:e===u?`rounded-full bg-background px-3 py-1 font-medium text-foreground/90 shadow-[0_8px_20px_-16px_rgb(15_23_42_/_0.42)]`:`rounded-full px-3 py-1 text-muted-foreground/70 hover:text-foreground/85`,onClick:()=>d(e),children:A(e===`preview`?`markdownPreview`:`markdownSource`)},e))}):null,_?(0,F.jsxs)(`span`,{className:`shrink-0 font-mono text-[11px] font-medium`,children:[(0,F.jsxs)(`span`,{className:`text-emerald-600 dark:text-emerald-400`,children:[`+`,_.added]}),(0,F.jsxs)(`span`,{className:`ml-1.5 text-red-600 dark:text-red-400`,children:[`-`,_.removed]})]}):null,(0,F.jsx)(`div`,{className:`flex-1`}),(0,F.jsx)(j,{variant:`ghost`,size:`icon`,className:`size-7`,onClick:()=>void f(`path`,p),disabled:!p,"aria-label":A(`copyPath`),title:A(`copyPath`),children:c===`path`?(0,F.jsx)(ee,{className:`size-3.5`}):(0,F.jsx)(x,{className:`size-3.5`})}),(0,F.jsx)(j,{variant:`ghost`,size:`icon`,className:`size-7`,onClick:()=>void f(`content`,h),disabled:!h,"aria-label":A(`copyContent`),title:A(e===`file`?`copyContent`:`copyDiffContent`),children:c===`content`?(0,F.jsx)(ee,{className:`size-3.5`}):(0,F.jsx)(x,{className:`size-3.5`})}),(0,F.jsx)(j,{variant:`ghost`,size:`icon`,className:`size-7`,onClick:()=>g&&s?.(g),disabled:!g||!s,"aria-label":A(`askAiAboutThis`),title:A(`askAiAboutThis`),children:(0,F.jsx)(n,{className:`size-3.5`})}),(0,F.jsx)(j,{variant:`ghost`,size:`icon`,className:`size-7`,onClick:o,"aria-label":A(`close`),title:A(`close`),children:(0,F.jsx)(S,{className:`size-3.5`})})]}),(0,F.jsxs)(`div`,{className:`min-h-0 flex-1 bg-background`,children:[i?(0,F.jsx)(`div`,{className:`p-4 text-sm text-muted-foreground/70`,children:A(`openingReader`)}):null,!i&&a?(0,F.jsx)(`div`,{className:`p-4 text-sm text-destructive`,children:a}):null,!i&&!a&&e===`file`&&t?m?(0,F.jsx)(ve,{path:t.path,content:t.content,language:t.language,mode:u},t.path):(0,F.jsx)(_e,{path:t.path,content:t.content,language:t.language}):null,!i&&!a&&e===`diff`&&r?(0,F.jsx)(M,{path:r.path,oldContent:r.oldContent,newContent:r.newContent,language:r.language,status:r.status}):null]})]})}function qe({project:e,artifacts:n,changesCount:r,changedPaths:i,isGitRepository:a,gitBranch:o,onSelectFile:s,onSelectDiff:c,onPreviewFile:l}){let[u,d]=(0,P.useState)(!1),[f,p]=(0,P.useState)(()=>new Set),m=me(n),h=n.filter(e=>e.command);function g(e){p(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}return(0,F.jsxs)(`div`,{className:`space-y-3 p-2`,children:[(0,F.jsxs)(`div`,{className:`rounded-lg border border-border bg-muted/10 px-3 py-3`,children:[(0,F.jsx)(`div`,{className:`text-xs font-medium text-foreground/85`,children:e?.name??A(`noProjectSelected`)}),(0,F.jsx)(`div`,{className:`mt-1 text-[11px] text-muted-foreground/65`,children:a?`${A(`workspaceCurrentBranch`)}: ${o||A(`unknown`)} · ${r} ${A(`workspaceChangeCount`)}`:A(`workspaceNotGitRepository`)})]}),(0,F.jsxs)(`div`,{className:`rounded-lg border border-border bg-background px-3 py-3`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-semibold text-foreground/90`,children:[(0,F.jsx)(T,{className:`size-3.5 text-emerald-600 dark:text-emerald-500`}),A(`workspaceCurrentArtifacts`)]}),n.length===0?(0,F.jsx)(`div`,{className:`mt-2 text-xs leading-5 text-muted-foreground/70`,children:A(`workspaceNoArtifacts`)}):(0,F.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[m.length?(0,F.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,F.jsxs)(`div`,{className:`text-[11px] font-medium uppercase tracking-wide text-muted-foreground/60`,children:[A(`workspaceFiles`),` `,m.length]}),m.slice(0,8).map(e=>{let n=e.path,r=fe(n),a=i.has(n),o=typeof e.addedLines==`number`||typeof e.removedLines==`number`;return(0,F.jsxs)(`div`,{className:`group flex min-w-0 items-center gap-2 rounded-md px-2 py-1.5 text-xs text-foreground/85 transition-colors hover:bg-muted/20`,children:[(0,F.jsx)(`button`,{type:`button`,className:`min-w-0 flex-1 truncate text-left font-medium`,onClick:()=>r?l(n):a?c(n):s(n),title:n,children:e.title||ge(n)}),o?(0,F.jsxs)(`span`,{className:`shrink-0 font-mono text-[10px] font-medium`,children:[(0,F.jsxs)(`span`,{className:`text-emerald-600 dark:text-emerald-400`,children:[`+`,e.addedLines??0]}),(0,F.jsxs)(`span`,{className:`ml-1 text-red-600 dark:text-red-400`,children:[`-`,e.removedLines??0]})]}):null,(0,F.jsx)(`span`,{className:`shrink-0 rounded-full bg-muted/30 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground/70`,children:e.kind}),r?(0,F.jsx)(`button`,{type:`button`,className:`shrink-0 inline-flex size-5 items-center justify-center text-blue-600 opacity-0 transition-opacity hover:bg-blue-500/10 hover:text-blue-700 group-hover:opacity-100 dark:text-blue-400`,onClick:()=>l(n),"aria-label":A(`previewArtifact`),title:A(`previewArtifact`),children:(0,F.jsx)(t,{className:`size-3.5`})}):null,(0,F.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground/70 opacity-0 transition-opacity hover:bg-muted/25 group-hover:opacity-100`,onClick:()=>a?c(n):s(n),children:A(a?`workspaceViewDiff`:`artifactPreviewViewSource`)})]},e.id)}),m.length>8?(0,F.jsxs)(`div`,{className:`px-2 text-[11px] text-muted-foreground/60`,children:[`+`,m.length-8]}):null]}):null,h.length?(0,F.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,F.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-md px-1 py-1 text-left text-[11px] font-medium uppercase tracking-wide text-muted-foreground/60 transition-colors hover:bg-muted/15 hover:text-foreground/75`,onClick:()=>d(e=>!e),"aria-expanded":u,children:[(0,F.jsx)(b,{className:k(`size-3.5 transition-transform`,u?``:`-rotate-90`)}),(0,F.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[A(`workspaceCommands`),` `,h.length]})]}),u?(0,F.jsx)(`div`,{className:`space-y-1`,children:h.map((e,t)=>{let n=f.has(e.id);return(0,F.jsxs)(`div`,{className:`rounded-md bg-muted/15 text-[11px] text-muted-foreground/80`,children:[(0,F.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 px-2 py-1.5 text-left transition-colors hover:bg-muted/20`,onClick:()=>g(e.id),"aria-expanded":n,children:[(0,F.jsx)(b,{className:k(`size-3 shrink-0 transition-transform`,n?``:`-rotate-90`)}),(0,F.jsxs)(`span`,{className:`shrink-0 font-medium text-muted-foreground/65`,children:[`#`,t+1]}),(0,F.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:e.command})]}),n?(0,F.jsxs)(`div`,{className:`space-y-1 border-t border-border/30 px-2 py-2`,children:[(0,F.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-[11px] leading-5 text-foreground/80`,children:e.command}),e.outputFile?(0,F.jsxs)(`div`,{className:`text-[10px] text-muted-foreground/65`,children:[A(`workspaceCommandOutput`),`: `,(0,F.jsx)(`span`,{className:`font-mono`,children:e.outputFile})]}):null]}):null]},e.id)})}):null]}):null]})]})]})}function Je({project:e,open:t,view:r,onViewChange:i,onPreviewArtifact:a,onDraftRequest:o,focusTarget:s,previewUrl:c,onPreviewUrlChange:l,artifacts:d=[]}){let[f,p]=(0,P.useState)([]),[m,h]=(0,P.useState)([]),[g,_]=(0,P.useState)(),[v,ee]=(0,P.useState)(),[te,ne]=(0,P.useState)(!1),[y,b]=(0,P.useState)(!1),[x,oe]=(0,P.useState)(),[S,C]=(0,P.useState)(``),[w,T]=(0,P.useState)([]),[E,D]=(0,P.useState)(),[se,ce]=(0,P.useState)(!1),[O,de]=(0,P.useState)(Ne),[fe,me]=(0,P.useState)(!1),[ge,_e]=(0,P.useState)(t),[M,ve]=(0,P.useState)(!1),[N,I]=(0,P.useState)(Fe),[ye,be]=(0,P.useState)(!1),[L,R]=(0,P.useState)(!1),[Se,z]=(0,P.useState)(!1),B=(0,P.useRef)(null),Ce=(0,P.useRef)(null),V=(0,P.useRef)(null),H=(0,P.useRef)(null),U=(0,P.useRef)(null),W=(0,P.useRef)(null),G=(0,P.useRef)(null),K=(0,P.useRef)(null),q=e?.id,J=(0,P.useMemo)(()=>w.find(e=>e.id===E),[E,w]),we=J?.mode===`browser`,Te=!!(J&&J.mode!==`browser`),Ee=r===`browser`?`files`:r,De=J?.id,Ae=(0,P.useMemo)(()=>{let e={};for(let t of m)e[t.path]=t;return e},[m]),X=(0,P.useMemo)(()=>{let e=new Set;for(let t of m)e.add(t.path),t.oldPath&&e.add(t.oldPath);return e},[m]),He=(0,P.useMemo)(()=>Ie(f,S),[S,f]),Q=(0,P.useMemo)(()=>({conflicts:m.filter(e=>e.conflict||e.status===`conflicted`),staged:m.filter(e=>!e.conflict&&e.status!==`untracked`&&e.staged),unstaged:m.filter(e=>!e.conflict&&e.status!==`untracked`&&e.unstaged),untracked:m.filter(e=>!e.conflict&&e.status===`untracked`)}),[m]);(0,P.useEffect)(()=>{if(t){let e=!1;return queueMicrotask(()=>{e||(_e(!0),window.requestAnimationFrame(()=>{e||ve(!0)}))}),()=>{e=!0}}let e=!1;queueMicrotask(()=>{e||ve(!1)});let n=window.setTimeout(()=>_e(!1),180);return()=>{e=!0,window.clearTimeout(n)}},[t]),(0,P.useEffect)(()=>{if(!se)return;let e=e=>{Ce.current?.contains(e.target)||ce(!1)},t=e=>{e.key===`Escape`&&ce(!1)};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[se]),(0,P.useEffect)(()=>{let e=!1;return!t||!s||queueMicrotask(()=>{e||i(s.tab===`git`?`changes`:`files`)}),()=>{e=!0}},[s,i,t]),(0,P.useEffect)(()=>{if(!t)return;let e=w.find(e=>e.mode===`browser`);if(r===`browser`){if(!e){let e=ke(`browser`,``);T(t=>t.some(t=>t.id===e)?t:[...t,{id:e,mode:`browser`,path:``,loading:!1}]),D(e);return}E!==e.id&&D(e.id)}else J?.mode===`browser`&&D(w.find(e=>e.mode!==`browser`)?.id)},[r,t,E,J,w]),(0,P.useEffect)(()=>{try{window.localStorage.setItem(je,String(N))}catch{}},[N]);let Ue=(0,P.useCallback)(()=>{I(e=>e<Z?Z:e)},[]);(0,P.useEffect)(()=>{!M||L||(r===`browser`||r!==`overview`&&De)&&Ue()},[De,r,M,L,Ue]),(0,P.useEffect)(()=>{let e=!1;if(!(!q||!t))return queueMicrotask(()=>{e||(b(!0),oe(void 0),Promise.all([ue(q),pe(q)]).then(([t,n])=>{e||(p(t.tree),h(n.files),_(n.branch),ee(n.counts),ne(n.isGitRepository))}).catch(t=>{e||oe(t instanceof Error?t.message:A(`workspaceLoadFailed`))}).finally(()=>{e||b(!1)}))}),()=>{e=!0}},[t,q]),(0,P.useEffect)(()=>{queueMicrotask(()=>{T([]),D(void 0)})},[q]);function We(e){if(a){a(e);return}Je(e)}async function Je(e){if(!q)return;i(`files`);let t=ke(`file`,e);if(w.some(e=>e.id===t)){D(t);return}let n={id:t,mode:`file`,path:e,loading:!0};T(e=>[...e,n]),D(t);try{let n=await he(q,e);T(e=>e.map(e=>e.id===t?{...e,file:n,loading:!1}:e))}catch(e){T(n=>n.map(n=>n.id===t?{...n,loading:!1,error:e instanceof Error?e.message:A(`workspaceOpenFileFailed`)}:n))}}function Ye(){let e=ke(`browser`,``);if(w.some(t=>t.id===e)){D(e),i(`browser`);return}let t={id:e,mode:`browser`,path:``,loading:!1};T(e=>[...e,t]),D(e),i(`browser`)}async function Xe(e,t){if(!q)return;t&&i(`changes`);let n=ke(`diff`,e);if(w.some(e=>e.id===n)){D(n);return}let r={id:n,mode:`diff`,path:e,loading:!0};T(e=>[...e,r]),D(n);try{let t=await le(q,e);T(e=>e.map(e=>e.id===n?{...e,diff:t,loading:!1}:e))}catch(e){T(t=>t.map(t=>t.id===n?{...t,loading:!1,error:e instanceof Error?e.message:A(`workspaceOpenDiffFailed`)}:t))}}function Ze(e){T(t=>{let n=t.findIndex(t=>t.id===e),r=t.filter(t=>t.id!==e);return E===e&&D((r[n]??r[n-1])?.id),r})}async function $(e){await Xe(e,!0)}async function Qe(e){await Xe(e,!1)}function $e(e){U.current={startX:e.clientX,startWidth:N,currentWidth:N},K.current={cursor:document.body.style.cursor,userSelect:document.body.style.userSelect},document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,be(!0),e.preventDefault();try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}}function et(e){let t=U.current,n=B.current;!t||!n||(t.currentWidth=Math.min(Z,Math.max(Y,t.startWidth+t.startX-e.clientX)),W.current===null&&(W.current=window.requestAnimationFrame(()=>{W.current=null;let e=U.current;!e||!B.current||(B.current.style.width=`${e.currentWidth}px`)})))}function tt(e){let t=U.current?.currentWidth;U.current=null,W.current!==null&&(window.cancelAnimationFrame(W.current),W.current=null),typeof t==`number`&&(B.current&&(B.current.style.width=`${t}px`),I(t));let n=K.current;n&&(document.body.style.cursor=n.cursor,document.body.style.userSelect=n.userSelect,K.current=null),be(!1);try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}}function nt(e){V.current={startX:e.clientX,startWidth:O,currentWidth:O},document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,me(!0),e.preventDefault();try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}}function rt(e){let t=V.current;t&&(t.currentWidth=Math.min(Pe,Math.max(Me,t.startWidth+e.clientX-t.startX)),H.current===null&&(H.current=window.requestAnimationFrame(()=>{H.current=null;let e=V.current;e&&de(e.currentWidth)})))}function it(e){let t=V.current?.currentWidth;V.current=null,H.current!==null&&(window.cancelAnimationFrame(H.current),H.current=null),typeof t==`number`&&de(t),document.body.style.cursor=``,document.body.style.userSelect=``,me(!1);try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}}let at=(0,P.useCallback)(()=>{let e=B.current;if(!e){R(e=>!e);return}G.current?.cancel();let t=e.getBoundingClientRect(),n=window.innerWidth,r=window.innerHeight,i=`cubic-bezier(0.22, 1, 0.36, 1)`;if(z(!0),!L){window.requestAnimationFrame(()=>{let e=B.current;if(!e)return;Object.assign(e.style,{position:`fixed`,left:`${t.left}px`,top:`${t.top}px`,right:`auto`,bottom:`auto`,width:`${t.width}px`,height:`${t.height}px`,minWidth:`0px`,maxWidth:`none`,zIndex:`40`});let a=e.animate([{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`},{left:`0px`,top:`0px`,width:`${n}px`,height:`${r}px`}],{duration:240,easing:i,fill:`forwards`});G.current=a,a.onfinish=()=>{G.current=null,R(!0),window.requestAnimationFrame(()=>{a.cancel(),e.removeAttribute(`style`),window.requestAnimationFrame(()=>z(!1))})},a.oncancel=()=>{G.current=null,z(!1)}});return}window.requestAnimationFrame(()=>{let e=B.current;if(!e)return;Object.assign(e.style,{position:`fixed`,left:`0px`,top:`0px`,right:`auto`,bottom:`auto`,width:`${t.width}px`,height:`${t.height}px`,zIndex:`40`});let a=n-N,o=e.animate([{left:`0px`,top:`0px`,width:`${t.width}px`,height:`${t.height}px`},{left:`${a}px`,top:`0px`,width:`${N}px`,height:`${r}px`}],{duration:240,easing:i,fill:`forwards`});G.current=o,o.onfinish=()=>{G.current=null,R(!1),window.requestAnimationFrame(()=>{o.cancel(),e.style.position=``,e.style.left=``,e.style.top=``,e.style.right=``,e.style.bottom=``,e.style.height=``,e.style.zIndex=``,e.style.width=`${N}px`,e.style.minWidth=`${Y}px`,e.style.maxWidth=`${Z}px`,window.requestAnimationFrame(()=>z(!1))})},o.oncancel=()=>{G.current=null,z(!1)}})},[L,N]);return(0,P.useEffect)(()=>{if(!L)return;let e=e=>{e.key===`Escape`&&R(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[L]),(0,P.useEffect)(()=>()=>{W.current!==null&&window.cancelAnimationFrame(W.current),H.current!==null&&window.cancelAnimationFrame(H.current),G.current?.cancel(),B.current&&B.current.removeAttribute(`style`);let e=K.current;e&&(document.body.style.cursor=e.cursor,document.body.style.userSelect=e.userSelect)},[]),ge?(0,F.jsx)(F.Fragment,{children:(0,F.jsxs)(`aside`,{ref:B,className:k(`relative hidden shrink-0 overflow-hidden flex-col border-l border-border bg-background transition-[width,min-width,max-width,opacity,transform] duration-200 ease-out will-change-[width,opacity,transform] lg:flex`,M?`translate-x-0 opacity-100`:`w-0 min-w-0 max-w-0 translate-x-4 opacity-0`,ye?`transition-none`:``,L?`fixed inset-0 z-40 border-l-0`:``),style:M?L?void 0:{width:N,minWidth:Y,maxWidth:Z}:void 0,children:[M&&!L?(0,F.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-valuemin":Y,"aria-valuemax":Z,"aria-valuenow":N,className:k(`group absolute inset-y-0 -left-2 z-20 flex w-4 cursor-col-resize items-center justify-center bg-transparent transition-colors hover:bg-border/40`,ye?`bg-border/45`:``),onPointerDown:$e,onPointerMove:et,onPointerUp:tt,onPointerCancel:tt,children:(0,F.jsx)(`div`,{className:k(`flex h-10 w-3 items-center justify-center rounded-full border border-border bg-background text-muted-foreground/60 opacity-0 shadow-sm transition-opacity`,ye?`opacity-100`:`group-hover:opacity-100`),children:(0,F.jsx)(re,{className:`size-3`})})}):null,(0,F.jsxs)(`div`,{className:k(`flex h-14 shrink-0 items-center gap-2 border-b border-border bg-muted/20 px-3 pr-20 transition-opacity duration-150`,Se?`opacity-0`:`opacity-100`),children:[(0,F.jsx)(`div`,{ref:Ce,className:`shrink-0`,children:(0,F.jsx)(Ve,{view:r,changesCount:m.length,open:se,onOpenChange:ce,onViewChange:e=>{e===`browser`?Ye():i(e)}})}),(0,F.jsx)(`div`,{className:`h-5 w-px shrink-0 bg-border/60`}),(0,F.jsx)(Ge,{tabs:w,activeId:E,onSelect:e=>{D(e),w.find(t=>t.id===e)?.mode===`browser`?r!==`browser`&&i(`browser`):r===`browser`&&i(`files`)},onClose:Ze}),(0,F.jsx)(j,{variant:`ghost`,size:`icon`,className:`shrink-0`,onClick:at,"aria-label":A(L?`workspaceExitFullscreen`:`workspaceFullscreen`),title:A(L?`workspaceExitFullscreen`:`workspaceFullscreen`),children:L?(0,F.jsx)(ae,{className:`size-4`}):(0,F.jsx)(u,{className:`size-4`})})]}),(0,F.jsx)(`div`,{className:k(`flex min-h-0 flex-1 transition-opacity duration-150`,Se?`opacity-0`:`opacity-100`),children:e?.id?we?(0,F.jsx)(xe,{url:c,onUrlChange:l,projectId:e.id}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`div`,{className:k(`flex min-h-0 flex-col bg-muted/20`,Te?`shrink-0 border-r border-border`:`flex-1`),style:Te?{width:O,minWidth:Me,maxWidth:Pe}:void 0,children:x?(0,F.jsx)(`div`,{className:`p-4 text-sm text-destructive`,children:x}):(0,F.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto p-2`,children:[y?(0,F.jsx)(`div`,{className:`px-2 py-3 text-xs text-muted-foreground/70`,children:A(`workspaceLoading`)}):null,!y&&Ee===`overview`?(0,F.jsx)(qe,{project:e,artifacts:d,changesCount:m.length,changedPaths:X,isGitRepository:te,gitBranch:g,onSelectFile:Je,onSelectDiff:Qe,onPreviewFile:We}):null,!y&&Ee===`files`?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`label`,{className:`mb-2 flex items-center gap-2 rounded-md border border-border bg-background px-2 py-1.5 text-xs text-muted-foreground/65 focus-within:text-foreground/85`,children:[(0,F.jsx)(ie,{className:`size-3.5 shrink-0`}),(0,F.jsx)(`input`,{value:S,onChange:e=>C(e.target.value),placeholder:A(`workspaceFilterFiles`),className:`min-w-0 flex-1 bg-transparent text-xs text-foreground/85 outline-none placeholder:text-muted-foreground/50`})]}),(0,F.jsx)(Oe,{tree:He,selectedPath:void 0,gitStatuses:Ae,onSelectFile:Je})]}):null,!y&&Ee===`changes`?te?(0,F.jsxs)(`div`,{className:`space-y-3`,children:[(0,F.jsxs)(`div`,{className:`rounded-lg border border-border bg-muted/10 px-3 py-2`,children:[(0,F.jsx)(`div`,{className:`truncate text-xs font-medium text-foreground/85`,children:ze(g,v)}),(0,F.jsxs)(`div`,{className:`mt-1 flex flex-wrap gap-x-3 gap-y-1 text-[11px] text-muted-foreground/60`,children:[(0,F.jsxs)(`span`,{children:[A(`workspaceStaged`),` `,v?.staged??0]}),(0,F.jsxs)(`span`,{children:[A(`workspaceChanges`),` `,v?.unstaged??0]}),(0,F.jsxs)(`span`,{children:[A(`workspaceUntracked`),` `,v?.untracked??0]}),v?.conflicts?(0,F.jsxs)(`span`,{className:`text-red-600 dark:text-red-500`,children:[A(`workspaceConflicts`),` `,v.conflicts]}):null]}),m.length>0&&o?(0,F.jsxs)(`div`,{className:`mt-2 flex gap-1.5`,children:[(0,F.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1 rounded-md px-1.5 py-1 text-[11px] font-medium text-muted-foreground/72 transition-colors hover:bg-muted/20 hover:text-foreground/85`,onClick:()=>o(Le(m)),children:[(0,F.jsx)(n,{className:`size-3`}),A(`workspaceReview`)]}),(0,F.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1 rounded-md px-1.5 py-1 text-[11px] font-medium text-muted-foreground/72 transition-colors hover:bg-muted/20 hover:text-foreground/85`,onClick:()=>o(Re(m)),children:[(0,F.jsx)(n,{className:`size-3`}),A(`workspaceCommitMessage`)]})]}):null]}),m.length===0?(0,F.jsx)(`div`,{className:`px-2 py-3 text-xs text-muted-foreground/70`,children:A(`workspaceNoWorkingTreeChanges`)}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Be,{title:A(`workspaceConflicts`),files:Q.conflicts,selectedPath:void 0,onSelectFile:$}),(0,F.jsx)(Be,{title:A(`workspaceStagedChanges`),files:Q.staged,selectedPath:void 0,onSelectFile:$}),(0,F.jsx)(Be,{title:A(`workspaceChanges`),files:Q.unstaged,selectedPath:void 0,onSelectFile:$}),(0,F.jsx)(Be,{title:A(`workspaceUntracked`),files:Q.untracked,selectedPath:void 0,onSelectFile:$})]})]}):(0,F.jsx)(`div`,{className:`px-2 py-3 text-xs text-muted-foreground/70`,children:A(`workspaceNotGitRepository`)}):null]})}),Te?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-valuemin":Me,"aria-valuemax":Pe,"aria-valuenow":O,className:k(`group relative z-10 w-1.5 shrink-0 cursor-col-resize bg-transparent transition-colors`,fe?`bg-primary/30`:`hover:bg-border/60`),onPointerDown:nt,onPointerMove:rt,onPointerUp:it,onPointerCancel:it}),(0,F.jsx)(`div`,{className:`flex min-w-0 flex-1 flex-col bg-background`,children:J?(0,F.jsx)(Ke,{mode:J.mode,file:J.file,diff:J.diff,loading:J.loading,error:J.error,onClose:()=>Ze(J.id),onDraftRequest:o}):null})]}):null]}):(0,F.jsx)(`div`,{className:`p-4 text-sm text-muted-foreground/70`,children:A(`workspaceSelectProject`)})})]})}):null}export{Je as WorkspaceInspector};
@@ -1,10 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-DWdDZTNf.js";import{St as t}from"./icons-47L5YLKz.js";import{n}from"./react-vendor-DunfCFfp.js";import{n as r,t as i}from"./monaco-CGq6uVF1.js";var a=e(t(),1),o=n();function s({path:e,content:t,language:n}){return(0,o.jsx)(i,{value:t,language:n,theme:`vs`,options:{readOnly:!0,contextmenu:!1,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,lineHeight:20,lineNumbers:`on`,scrollBeyondLastLine:!1,wordWrap:`off`,renderLineHighlight:`line`,folding:!1,glyphMargin:!1,scrollbar:{verticalScrollbarSize:8,horizontalScrollbarSize:8}}},e)}function c(e){let t=e.trim();if(t&&!/^(javascript|data|vbscript):/i.test(t)&&/^(https?:|mailto:|#|\/|\.\.?\/)/i.test(t))return t}function l(e,t){let n=[],r=/`([^`]+)`|\[([^\]]+)\]\(([^)\s]+)(?:\s+"[^"]*")?\)|\*\*([^*]+)\*\*|__([^_]+)__|\*([^*\n]+)\*|_([^_\n]+)_/g,i=0,a=0,s;for(;s=r.exec(e);){s.index>i&&n.push(e.slice(i,s.index));let l=`${t}-inline-${a++}`;if(s[1])n.push((0,o.jsx)(`code`,{className:`rounded bg-muted/35 px-1 py-0.5 font-mono text-[0.85em] text-foreground/90`,children:s[1]},l));else if(s[2]&&s[3]){let e=c(s[3]);n.push(e?(0,o.jsx)(`a`,{className:`text-primary underline-offset-4 hover:underline`,href:e,target:e.startsWith(`http`)?`_blank`:void 0,rel:`noreferrer`,children:s[2]},l):`[${s[2]}](${s[3]})`)}else s[4]||s[5]?n.push((0,o.jsx)(`strong`,{className:`font-semibold text-foreground/95`,children:s[4]||s[5]},l)):(s[6]||s[7])&&n.push((0,o.jsx)(`em`,{className:`italic`,children:s[6]||s[7]},l));i=r.lastIndex}return i<e.length&&n.push(e.slice(i)),n.length?n:[e]}function u(e,t){return e.split(`
2
- `).flatMap((e,n)=>{let r=l(e,`${t}-line-${n}`);return n===0?r:[(0,o.jsx)(`br`,{},`${t}-br-${n}`),...r]})}function d(e){return/^\s*(```|~~~)/.test(e)}function f(e){return/^\s*\|?\s*:?-{3,}:?\s*(\|\s*:?-{3,}:?\s*)+\|?\s*$/.test(e)}function p(e,t){return!!(e[t]?.includes(`|`)&&e[t+1]&&f(e[t+1]))}function m(e,t){let n=e[t]??``;return d(n)||p(e,t)||/^\s{0,3}#{1,6}\s+/.test(n)||/^\s{0,3}([-*_])(?:\s*\1){2,}\s*$/.test(n)||/^\s{0,3}>\s?/.test(n)||/^\s{0,3}[-*+]\s+/.test(n)||/^\s{0,3}\d+[.)]\s+/.test(n)}function h(e){return e.trim().replace(/^\|/,``).replace(/\|$/,``).split(`|`).map(e=>e.trim())}function g(e){let t=e.replace(/\r\n?/g,`
3
- `).split(`
4
- `),n=[],r=0,i=0;for(;r<t.length;){let e=t[r],a=`markdown-block-${i++}`;if(!e.trim()){r+=1;continue}if(d(e)){let i=e.match(/^\s*(```|~~~)\s*([^`]*)$/),s=i?.[1]??"```",c=i?.[2]?.trim(),l=[];for(r+=1;r<t.length&&!t[r].trimStart().startsWith(s);)l.push(t[r]),r+=1;r<t.length&&(r+=1),n.push((0,o.jsxs)(`figure`,{className:`my-5 overflow-hidden rounded-xl border border-border bg-muted/20`,children:[c?(0,o.jsx)(`figcaption`,{className:`border-b border-border px-3 py-1.5 font-mono text-[11px] text-muted-foreground/65`,children:c}):null,(0,o.jsx)(`pre`,{className:`overflow-auto p-4 text-[12px] leading-5`,children:(0,o.jsx)(`code`,{children:l.join(`
5
- `)})})]},a));continue}let s=e.match(/^\s{0,3}(#{1,6})\s+(.+?)\s*#*\s*$/);if(s){let e=s[1].length,t=s[2],i=[`mt-8 mb-3 border-border text-foreground/95`,e===1?`border-b pb-3 text-3xl font-semibold tracking-tight`:``,e===2?`border-b pb-2 text-2xl font-semibold tracking-tight`:``,e===3?`text-xl font-semibold`:``,e===4?`text-lg font-semibold`:``,e>=5?`text-base font-semibold`:``].filter(Boolean).join(` `),c=l(t,`${a}-heading`);e===1?n.push((0,o.jsx)(`h1`,{className:i,children:c},a)):e===2?n.push((0,o.jsx)(`h2`,{className:i,children:c},a)):e===3?n.push((0,o.jsx)(`h3`,{className:i,children:c},a)):e===4?n.push((0,o.jsx)(`h4`,{className:i,children:c},a)):e===5?n.push((0,o.jsx)(`h5`,{className:i,children:c},a)):n.push((0,o.jsx)(`h6`,{className:i,children:c},a)),r+=1;continue}if(/^\s{0,3}([-*_])(?:\s*\1){2,}\s*$/.test(e)){n.push((0,o.jsx)(`hr`,{className:`my-6 border-border`},a)),r+=1;continue}if(p(t,r)){let e=h(t[r]);r+=2;let i=[];for(;r<t.length&&t[r].includes(`|`)&&t[r].trim();)i.push(h(t[r])),r+=1;n.push((0,o.jsx)(`div`,{className:`my-5 overflow-auto rounded-xl border border-border`,children:(0,o.jsxs)(`table`,{className:`w-full border-collapse text-left text-sm`,children:[(0,o.jsx)(`thead`,{className:`bg-muted/25 text-foreground/90`,children:(0,o.jsx)(`tr`,{children:e.map((e,t)=>(0,o.jsx)(`th`,{className:`border-b border-border px-3 py-2 font-semibold`,children:l(e,`${a}-th-${t}`)},`${a}-th-${t}`))})}),(0,o.jsx)(`tbody`,{children:i.map((t,n)=>(0,o.jsx)(`tr`,{className:`border-t border-border/70`,children:e.map((e,r)=>(0,o.jsx)(`td`,{className:`px-3 py-2 align-top text-foreground/85`,children:l(t[r]??``,`${a}-td-${n}-${r}`)},`${a}-td-${n}-${r}`))},`${a}-row-${n}`))})]})},a));continue}if(/^\s{0,3}>\s?/.test(e)){let e=[];for(;r<t.length&&/^\s{0,3}>\s?/.test(t[r]);)e.push(t[r].replace(/^\s{0,3}>\s?/,``)),r+=1;n.push((0,o.jsx)(`blockquote`,{className:`my-4 border-l-2 border-border pl-4 text-muted-foreground/85`,children:u(e.join(`
6
- `),`${a}-quote`)},a));continue}if(/^\s{0,3}[-*+]\s+/.test(e)){let e=[];for(;r<t.length&&/^\s{0,3}[-*+]\s+/.test(t[r]);)e.push(t[r].replace(/^\s{0,3}[-*+]\s+/,``)),r+=1;n.push((0,o.jsx)(`ul`,{className:`my-4 list-disc space-y-1 pl-6`,children:e.map((e,t)=>(0,o.jsx)(`li`,{children:l(e,`${a}-li-${t}`)},`${a}-li-${t}`))},a));continue}if(/^\s{0,3}\d+[.)]\s+/.test(e)){let e=[];for(;r<t.length&&/^\s{0,3}\d+[.)]\s+/.test(t[r]);)e.push(t[r].replace(/^\s{0,3}\d+[.)]\s+/,``)),r+=1;n.push((0,o.jsx)(`ol`,{className:`my-4 list-decimal space-y-1 pl-6`,children:e.map((e,t)=>(0,o.jsx)(`li`,{children:l(e,`${a}-li-${t}`)},`${a}-li-${t}`))},a));continue}let c=[];for(;r<t.length&&t[r].trim()&&!m(t,r);)c.push(t[r].trim()),r+=1;n.push((0,o.jsx)(`p`,{className:`my-4 text-foreground/86`,children:l(c.join(` `),`${a}-p`)},a))}return n}function _({path:e,content:t,language:n,mode:r}){let i=(0,a.useMemo)(()=>g(t),[t]);return(0,o.jsx)(`div`,{className:`flex h-full min-h-0 flex-col bg-background`,children:(0,o.jsx)(`div`,{className:`min-h-0 flex-1`,children:r===`source`?(0,o.jsx)(s,{path:e,content:t,language:n}):(0,o.jsx)(`div`,{className:`h-full overflow-auto bg-background`,children:(0,o.jsx)(`article`,{className:`quickforge-markdown-reader mx-auto max-w-3xl px-8 py-7 text-sm leading-7 text-foreground/88`,children:i.length?i:(0,o.jsx)(`p`,{className:`text-muted-foreground/70`,children:`This Markdown file is empty.`})})})})})}function v({path:e,oldContent:t,newContent:n,language:i,status:a}){return(0,o.jsx)(r,{original:t,modified:n,language:i,theme:`vs`,options:{readOnly:!0,contextmenu:!1,automaticLayout:!0,renderSideBySide:!0,minimap:{enabled:!1},fontSize:13,lineHeight:20,scrollBeyondLastLine:!1,ignoreTrimWhitespace:!1,folding:!1,glyphMargin:!1,scrollbar:{verticalScrollbarSize:8,horizontalScrollbarSize:8}}},`${a}:${e}`)}function y(e,t){let n=e.replace(/\r\n?/g,`
7
- `).split(`
8
- `),r=t.replace(/\r\n?/g,`
9
- `).split(`
10
- `),i=n.length,a=r.length;if(i*a>4e6)return;let o=Array(a+1).fill(0),s=Array(a+1).fill(0);for(let e=1;e<=i;e++){let t=n[e-1];for(let e=1;e<=a;e++)s[e]=t===r[e-1]?o[e-1]+1:Math.max(o[e],s[e-1]);let i=o;o=s,s=i}let c=o[a];return{added:a-c,removed:i-c}}export{s as i,v as n,_ as r,y as t};
@@ -1 +0,0 @@
1
- import{i as e,t}from"./rolldown-runtime-DWdDZTNf.js";var n=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.5`})),r=t(((e,t)=>{t.exports=n()})),i=e(r(),1),a=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),o=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),s=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),c=e=>{let t=s(e);return t.charAt(0).toUpperCase()+t.slice(1)},l={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},u=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},d=(0,i.createContext)({}),f=()=>(0,i.useContext)(d),p=(0,i.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:o=``,children:s,iconNode:c,...d},p)=>{let{size:m=24,strokeWidth:h=2,absoluteStrokeWidth:g=!1,color:_=`currentColor`,className:v=``}=f()??{},y=r??g?Number(n??h)*24/Number(t??m):n??h;return(0,i.createElement)(`svg`,{ref:p,...l,width:t??m??l.width,height:t??m??l.height,stroke:e??_,strokeWidth:y,className:a(`lucide`,v,o),...!s&&!u(d)&&{"aria-hidden":`true`},...d},[...c.map(([e,t])=>(0,i.createElement)(e,t)),...Array.isArray(s)?s:[s]])}),m=(e,t)=>{let n=(0,i.forwardRef)(({className:n,...r},s)=>(0,i.createElement)(p,{ref:s,iconNode:t,className:a(`lucide-${o(c(e))}`,`lucide-${e}`,n),...r}));return n.displayName=c(e),n},h=m(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),g=m(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),_=m(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),v=m(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`,key:`1osxxc`}],[`path`,{d:`M3 10h5`,key:`r794hk`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),y=m(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),b=m(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),x=m(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),S=m(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),C=m(`chevrons-down-up`,[[`path`,{d:`m7 20 5-5 5 5`,key:`13a0gw`}],[`path`,{d:`m7 4 5 5 5-5`,key:`1kwcof`}]]),w=m(`chevrons-left-right`,[[`path`,{d:`m9 7-5 5 5 5`,key:`j5w590`}],[`path`,{d:`m15 7 5 5-5 5`,key:`1bl6da`}]]),T=m(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),E=m(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),D=m(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),O=m(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),k=m(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]),A=m(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),j=m(`container`,[[`path`,{d:`M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z`,key:`1t2lqe`}],[`path`,{d:`M10 21.9V14L2.1 9.1`,key:`o7czzq`}],[`path`,{d:`m10 14 11.9-6.9`,key:`zm5e20`}],[`path`,{d:`M14 19.8v-8.1`,key:`159ecu`}],[`path`,{d:`M18 17.5V9.4`,key:`11uown`}]]),M=m(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),N=m(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),P=m(`earth`,[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),F=m(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),I=m(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),L=m(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),ee=m(`file-archive`,[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`,key:`4pqfef`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 12v-1`,key:`1ej8lb`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`path`,{d:`M8 7V6`,key:`1nbb54`}],[`circle`,{cx:`8`,cy:`20`,r:`2`,key:`ckkr5m`}]]),te=m(`file-braces`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]]),R=m(`file-code-corner`,[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]]),z=m(`file-cog`,[[`path`,{d:`M15 8a1 1 0 0 1-1-1V2a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8z`,key:`1ckgky`}],[`path`,{d:`M20 8v12a2 2 0 0 1-2 2h-4.182`,key:`1726p0`}],[`path`,{d:`m3.305 19.53.923-.382`,key:`ao1pio`}],[`path`,{d:`M4 10.592V4a2 2 0 0 1 2-2h8`,key:`1foop0`}],[`path`,{d:`m4.228 16.852-.924-.383`,key:`1fv9zy`}],[`path`,{d:`m5.852 15.228-.383-.923`,key:`1a9hc2`}],[`path`,{d:`m5.852 20.772-.383.924`,key:`1sh9ke`}],[`path`,{d:`m8.148 15.228.383-.923`,key:`4yu6lf`}],[`path`,{d:`m8.53 21.696-.382-.924`,key:`18b0s9`}],[`path`,{d:`m9.773 16.852.922-.383`,key:`ti6xop`}],[`path`,{d:`m9.773 19.148.922.383`,key:`rws47d`}],[`circle`,{cx:`7`,cy:`18`,r:`3`,key:`lvkj7j`}]]),B=m(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),V=m(`file-lock`,[[`path`,{d:`M4 9.8V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3`,key:`1432pc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M9 17v-2a2 2 0 0 0-4 0v2`,key:`168m41`}],[`rect`,{width:`8`,height:`5`,x:`3`,y:`17`,rx:`1`,key:`o8vfew`}]]),H=m(`file-spreadsheet`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 13h2`,key:`yr2amv`}],[`path`,{d:`M14 13h2`,key:`un5t4a`}],[`path`,{d:`M8 17h2`,key:`2yhykz`}],[`path`,{d:`M14 17h2`,key:`10kma7`}]]),U=m(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),W=m(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),G=m(`folder-git-2`,[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`,key:`sz5oeg`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`,key:`1w6njk`}],[`circle`,{cx:`13`,cy:`12`,r:`2`,key:`1j92g6`}],[`circle`,{cx:`20`,cy:`19`,r:`2`,key:`1obnsp`}]]),K=m(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),q=m(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),J=m(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Y=m(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),X=m(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Z=m(`hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),Q=m(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),ne=m(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),re=m(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),ie=m(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),ae=m(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),oe=m(`message-square-text`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7 11h10`,key:`1twpyw`}],[`path`,{d:`M7 15h6`,key:`d9of3u`}],[`path`,{d:`M7 7h8`,key:`af5zfr`}]]),se=m(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),ce=m(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),le=m(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),ue=m(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),de=m(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),fe=m(`pen-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),pe=m(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),me=m(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),he=m(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),ge=m(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),_e=m(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),ve=m(`puzzle`,[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`,key:`w46dr5`}]]),ye=m(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),be=m(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),xe=m(`scroll`,[[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),Se=m(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),Ce=m(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),we=m(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Te=m(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),Ee=m(`share-2`,[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]),De=m(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),$=m(`shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),Oe=m(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),ke=m(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),Ae=m(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),je=m(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Me=m(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Ne=m(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),Pe=m(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Fe=m(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]);export{L as $,se as A,J as B,me as C,ue as D,de as E,ne as F,U as G,K as H,Q as I,B as J,H as K,Z as L,ae as M,ie as N,le as O,re as P,ee as Q,X as R,he as S,r as St,fe as T,G as U,q as V,W,R as X,z as Y,te as Z,be as _,y as _t,je as a,j as at,_e as b,g as bt,Oe as c,O as ct,Ee as d,T as dt,I as et,Te as f,w as ft,xe as g,b as gt,Se as h,x as ht,Me as i,M as it,oe as j,ce as k,$ as l,D as lt,Ce as m,S as mt,Pe as n,P as nt,Ae as o,A as ot,we as p,C as pt,V as q,Ne as r,N as rt,ke as s,k as st,Fe as t,F as tt,De as u,E as ut,ye as v,v as vt,pe as w,ge as x,h as xt,ve as y,_ as yt,Y as z};