tarsk 0.5.65 → 0.5.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundled-skills/skill-creator/eval-viewer/generate_review.js +41 -40
- package/dist/bundled-skills/skill-creator/scripts/aggregate_benchmark.js +106 -98
- package/dist/bundled-skills/skill-creator/scripts/generate_report.js +78 -67
- package/dist/bundled-skills/skill-creator/scripts/improve_description.js +119 -72
- package/dist/bundled-skills/skill-creator/scripts/run_eval.js +76 -54
- package/dist/bundled-skills/skill-creator/scripts/run_loop.js +221 -142
- package/dist/index.js +51645 -47173
- package/dist/public/assets/{account-view-Dp0PfqVq.js → account-view-BlK6g38q.js} +1 -1
- package/dist/public/assets/{alert-dialog-Ge-FFGao.js → alert-dialog-B6An1LDY.js} +1 -1
- package/dist/public/assets/{async-error-boundary-B0tQed36.js → async-error-boundary-Rf-s2_Ez.js} +1 -1
- package/dist/public/assets/browser-tab-BJxPUVJi.js +12 -0
- package/dist/public/assets/{card-xQfAy2Rx.js → card-BDQUHsPD.js} +1 -1
- package/dist/public/assets/chat-dock-context-DyKjqpND.js +1 -0
- package/dist/public/assets/commit-dialog-CYb1kJCq.js +1 -0
- package/dist/public/assets/commit-error-dialog-DvxaNRcH.js +1 -0
- package/dist/public/assets/commit-method-fields-Dijc502F.js +1 -0
- package/dist/public/assets/context-menu-C51M1WGZ.js +1 -0
- package/dist/public/assets/conversation-history-view-w_6Jd3d-.js +1 -0
- package/dist/public/assets/create-project-dialog-CSVkngnF.js +6 -0
- package/dist/public/assets/create-repo-dialog-CcFA8pXz.js +1 -0
- package/dist/public/assets/{delete-confirm-dialog-Dy0dOtPe.js → delete-confirm-dialog-uTSX_x-i.js} +1 -1
- package/dist/public/assets/diff-view-XN5G5F6E.js +4 -0
- package/dist/public/assets/dist-IeRYu0zQ.js +142 -0
- package/dist/public/assets/{explorer-tab-context-8bs_tiCO.js → explorer-tab-context-BdjTEbFh.js} +1 -1
- package/dist/public/assets/explorer-tab-view-A2ICDFPB.js +2 -0
- package/dist/public/assets/explorer-tree-B04Ba59E.js +1 -0
- package/dist/public/assets/explorer-view-CofaKFiu.js +75 -0
- package/dist/public/assets/git-history-dialog-V3kaff2G.js +1 -0
- package/dist/public/assets/index-B0xy4BkI.js +3360 -0
- package/dist/public/assets/index-Cndc50ux.css +1 -0
- package/dist/public/assets/interactive-BrHVRHmQ.js +21 -0
- package/dist/public/assets/{main-tab-context-DHeKIUsf.js → main-tab-context-zQSuRQQG.js} +1 -1
- package/dist/public/assets/mcp-server-card-DOsP-SQ8.js +1 -0
- package/dist/public/assets/merged-pr-dialog-BerRzLlh.js +1 -0
- package/dist/public/assets/model-list-controls-Dw98tMn7.js +1 -0
- package/dist/public/assets/{monaco-setup-x3evbdq3.js → monaco-setup-C87kBr4u.js} +1 -1
- package/dist/public/assets/onboarding-DVc9-yKJ.js +46 -0
- package/dist/public/assets/project-env-vars-view-BQwUd7y6.js +1 -0
- package/dist/public/assets/project-model-aliases-view-CobSp09z.js +1 -0
- package/dist/public/assets/project-settings-view-CPTd5lEi.js +1 -0
- package/dist/public/assets/{project-tools-view-C44y08lY.js → project-tools-view-DShQghoz.js} +1 -1
- package/dist/public/assets/providers-list-view-Da9VMcuP.js +1 -0
- package/dist/public/assets/pull-request-dialog-BAarT9EM.js +1 -0
- package/dist/public/assets/pull-with-changes-dialog-BcF25mjQ.js +1 -0
- package/dist/public/assets/push-before-pr-dialog-BF0NzV2u.js +1 -0
- package/dist/public/assets/react-vendor-B7jFrulV.js +22 -0
- package/dist/public/assets/settings-general-view-DT4nElcL.js +1 -0
- package/dist/public/assets/settings-instructions-view-Bsr8wRMf.js +1 -0
- package/dist/public/assets/settings-list-B9wyVzKw.js +1 -0
- package/dist/public/assets/settings-logs-view-CyaGqUKH.js +5 -0
- package/dist/public/assets/settings-mcp-servers-view-BTUWHB5K.js +5 -0
- package/dist/public/assets/settings-models-view-DFwkVdt3.js +1 -0
- package/dist/public/assets/settings-rules-view-BhA9tjVh.js +8 -0
- package/dist/public/assets/settings-skills-view-BFoO9oZk.js +3 -0
- package/dist/public/assets/{settings-slack-view-OFUhhjTj.js → settings-slack-view-D4mrQ9C9.js} +1 -1
- package/dist/public/assets/settings-slash-commands-view-BLKPDUVG.js +1 -0
- package/dist/public/assets/settings-statistics-view-fa6iBiP8.js +1 -0
- package/dist/public/assets/settings-storage-view-LaiAi5gv.js +1 -0
- package/dist/public/assets/settings-subagents-view-BjMz2Ri_.js +2 -0
- package/dist/public/assets/settings-system-prompt-view-DNh1yqZh.js +1 -0
- package/dist/public/assets/settings-view-BoC66Wji.js +2 -0
- package/dist/public/assets/skeleton-CJSNEi3C.js +1 -0
- package/dist/public/assets/store-B_cK-gsT.js +8 -0
- package/dist/public/assets/{table-CYWF-RhQ.js → table-Cb2C1rQy.js} +1 -1
- package/dist/public/assets/tasks-view-B049aXpC.js +2 -0
- package/dist/public/assets/{terminal-panel-BxUHr-tZ.js → terminal-panel-Pv5xqCpm.js} +3 -3
- package/dist/public/assets/thread-tool-blocks-D9HUkPHB.js +1 -0
- package/dist/public/assets/{ui-components-DjoQfi8k.js → ui-components-DJLsrr5e.js} +1 -1
- package/dist/public/assets/{use-active-dock-panel-instance-BE69kVdb.js → use-active-dock-panel-instance-BlRDPUlZ.js} +1 -1
- package/dist/public/assets/{use-deferred-search-DXrcdbyC.js → use-deferred-search-0sV7mSzX.js} +1 -1
- package/dist/public/assets/use-installed-ai-files-DmLnugpj.js +1 -0
- package/dist/public/assets/{use-settings-page-loading-BC_wP7pl.js → use-settings-page-loading-BU2CDnfE.js} +1 -1
- package/dist/public/assets/{use-suspense-resource-rX-GqyWi.js → use-suspense-resource-CExc4Svq.js} +1 -1
- package/dist/public/assets/{use-toast-BFQ85Ly5.js → use-toast-hxHsVv6a.js} +1 -1
- package/dist/public/assets/{utils-Rlf65JHq.js → utils-SsF94Pkg.js} +1 -1
- package/dist/public/assets/{web-Q-tJsXNN.js → web-BidDZaMC.js} +1 -1
- package/dist/public/assets/{web-D8z4Nni0.js → web-C_HuLxHj.js} +1 -1
- package/dist/public/assets/{web-CxBqU2BU.js → web-DHUv7oQP.js} +1 -1
- package/dist/public/assets/{web-DTwF_7w-.js → web-JMCxQg4N.js} +1 -1
- package/dist/public/browser-preview-rpc.js +465 -7
- package/dist/public/index.html +14 -16
- package/dist/recommended-models.txt +5 -5
- package/package.json +1 -14
- package/dist/public/assets/api-BsPadLpi.js +0 -1
- package/dist/public/assets/browser-tab-hcbTzpVn.js +0 -8
- package/dist/public/assets/chat-dock-context-yQDhSXnw.js +0 -1
- package/dist/public/assets/commit-dialog-DK-NP7EN.js +0 -1
- package/dist/public/assets/commit-method-fields-DG3NtLE2.js +0 -1
- package/dist/public/assets/context-menu-M5y1Qb8G.js +0 -1
- package/dist/public/assets/conversation-history-view-YGPt-fC9.js +0 -1
- package/dist/public/assets/create-project-dialog-DW4oGrl2.js +0 -6
- package/dist/public/assets/create-repo-dialog-BFBOFZ2W.js +0 -1
- package/dist/public/assets/diff-view-Cy5PjlG_.js +0 -4
- package/dist/public/assets/dist-oojFghRi.js +0 -134
- package/dist/public/assets/explorer-tab-view-D6t9Ce05.js +0 -2
- package/dist/public/assets/explorer-tree-BCs2U0De.js +0 -1
- package/dist/public/assets/explorer-view-CxN4GRyn.js +0 -75
- package/dist/public/assets/git-history-dialog-fm9qhkgI.js +0 -1
- package/dist/public/assets/git-ops-button-DO1ng45p.js +0 -2
- package/dist/public/assets/index-B7qJtiRL.js +0 -3307
- package/dist/public/assets/index-GYexJ6QO.css +0 -1
- package/dist/public/assets/interactive-WtOIgeV4.js +0 -21
- package/dist/public/assets/local-tool-blocks-DlqmJ7__.js +0 -1
- package/dist/public/assets/mcp-server-card-V4Ddsgv3.js +0 -1
- package/dist/public/assets/merged-pr-dialog-Bi5pJzTO.js +0 -1
- package/dist/public/assets/model-list-controls-oiBE9X9_.js +0 -1
- package/dist/public/assets/onboarding-dbhmRuxw.js +0 -46
- package/dist/public/assets/project-env-vars-view-OVck-YEy.js +0 -1
- package/dist/public/assets/project-model-aliases-view-Cu-n2j94.js +0 -1
- package/dist/public/assets/project-settings-view-DKkLgg3C.js +0 -1
- package/dist/public/assets/providers-list-view-BEXiqKg8.js +0 -1
- package/dist/public/assets/pull-request-dialog-BOl1VloY.js +0 -1
- package/dist/public/assets/pull-with-changes-dialog-CJKvLUaf.js +0 -1
- package/dist/public/assets/push-before-pr-dialog-BZLScOoO.js +0 -1
- package/dist/public/assets/react-vendor-wGLyNWf9.js +0 -22
- package/dist/public/assets/settings-general-view-LnCQ2zkv.js +0 -1
- package/dist/public/assets/settings-instructions-view-B7lADJZh.js +0 -1
- package/dist/public/assets/settings-list-C5MACtux.js +0 -1
- package/dist/public/assets/settings-logs-view-YWMyQqu5.js +0 -5
- package/dist/public/assets/settings-mcp-servers-view-CN7JO2UD.js +0 -5
- package/dist/public/assets/settings-models-view-CswWfeDN.js +0 -1
- package/dist/public/assets/settings-rules-view-__5f33ot.js +0 -8
- package/dist/public/assets/settings-skills-view-Dvfrl9kz.js +0 -3
- package/dist/public/assets/settings-slash-commands-view-B1pO-Yie.js +0 -1
- package/dist/public/assets/settings-statistics-view-Bp624KXI.js +0 -1
- package/dist/public/assets/settings-storage-view-CHpGieRu.js +0 -1
- package/dist/public/assets/settings-subagents-view-CFggo62r.js +0 -2
- package/dist/public/assets/settings-system-prompt-view-BWD6RrX8.js +0 -1
- package/dist/public/assets/settings-view-ZgVxZhur.js +0 -2
- package/dist/public/assets/skeleton-B_xdlo2b.js +0 -1
- package/dist/public/assets/slug-utils-C5rnmMMP.js +0 -1
- package/dist/public/assets/store-CSyJjyNs.js +0 -7
- package/dist/public/assets/tasks-view-4yyCDYbV.js +0 -2
- package/dist/public/assets/thread-tool-blocks-BfowiaTH.js +0 -1
- package/dist/public/assets/use-installed-ai-files-CZIOFhcX.js +0 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ar as t,Mr as n,Nr as r,Oi as i,Pr as a,jr as o,ki as s,kr as c,mr as l,tr as u}from"./interactive-BrHVRHmQ.js";var d=function(e){return e.SetProjects=`SET_PROJECTS`,e.SetProjectsLoading=`SET_PROJECTS_LOADING`,e.SelectThread=`SELECT_THREAD`,e.SelectProject=`SELECT_PROJECT`,e.SetMessages=`SET_MESSAGES`,e.AddMessage=`ADD_MESSAGE`,e.EnqueueChatMessage=`ENQUEUE_CHAT_MESSAGE`,e.RemoveQueuedChatMessage=`REMOVE_QUEUED_CHAT_MESSAGE`,e.SetStreaming=`SET_STREAMING`,e.AppendStreamContent=`APPEND_STREAM_CONTENT`,e.SetStreamContent=`SET_STREAM_CONTENT`,e.AppendStreamThinking=`APPEND_STREAM_THINKING`,e.AppendStreamChunk=`APPEND_STREAM_CHUNK`,e.SetStreamModel=`SET_STREAM_MODEL`,e.SetStreamAgentMode=`SET_STREAM_AGENT_MODE`,e.SetContextUsage=`SET_CONTEXT_USAGE`,e.SetProjectModel=`SET_PROJECT_MODEL`,e.ResetStream=`RESET_STREAM`,e.StopStream=`STOP_STREAM`,e.ToggleSidebar=`TOGGLE_SIDEBAR`,e.CloseSidebar=`CLOSE_SIDEBAR`,e.OpenProjectPanel=`OPEN_PROJECT_PANEL`,e.CloseProjectPanel=`CLOSE_PROJECT_PANEL`,e.SetCreatingProject=`SET_CREATING_PROJECT`,e.ConfigUpdated=`CONFIG_UPDATED`,e.SetProcessingThreads=`SET_PROCESSING_THREADS`,e.AddProcessingThread=`ADD_PROCESSING_THREAD`,e.RemoveProcessingThread=`REMOVE_PROCESSING_THREAD`,e.AddCreatingProject=`ADD_CREATING_PROJECT`,e.AddCreatingThread=`ADD_CREATING_THREAD`,e.RemoveCreatingProject=`REMOVE_CREATING_PROJECT`,e.RemoveCreatingThread=`REMOVE_CREATING_THREAD`,e.RemoveThread=`REMOVE_THREAD`,e.MarkThreadCompleted=`MARK_THREAD_COMPLETED`,e.ClearThreadCompleted=`CLEAR_THREAD_COMPLETED`,e.ClearPaneCompleted=`CLEAR_PANE_COMPLETED`,e.AddDeletingThread=`ADD_DELETING_THREAD`,e.RemoveDeletingThread=`REMOVE_DELETING_THREAD`,e.AddDeletingProject=`ADD_DELETING_PROJECT`,e.RemoveDeletingProject=`REMOVE_DELETING_PROJECT`,e.AppendCommandOutput=`APPEND_COMMAND_OUTPUT`,e.SetRunningCommand=`SET_RUNNING_COMMAND`,e.ClearCommandOutput=`CLEAR_COMMAND_OUTPUT`,e.ToggleTerminal=`TOGGLE_TERMINAL`,e.SetTerminalOpen=`SET_TERMINAL_OPEN`,e.QueueTerminalCommand=`QUEUE_TERMINAL_COMMAND`,e.ClearQueuedTerminalCommand=`CLEAR_QUEUED_TERMINAL_COMMAND`,e.AppendTerminalLine=`APPEND_TERMINAL_LINE`,e.ClearTerminalOutput=`CLEAR_TERMINAL_OUTPUT`,e.SetTerminalHeight=`SET_TERMINAL_HEIGHT`,e.SetTerminalCwd=`SET_TERMINAL_CWD`,e.SetTerminalRunning=`SET_TERMINAL_RUNNING`,e.SetTerminalHistory=`SET_TERMINAL_HISTORY`,e.SetTerminalHistoryIndex=`SET_TERMINAL_HISTORY_INDEX`,e.UpdateThreadTitle=`UPDATE_THREAD_TITLE`,e.UpdateChatTitle=`UPDATE_CHAT_TITLE`,e.FocusChatInput=`FOCUS_CHAT_INPUT`,e.ClearFocusChatInput=`CLEAR_FOCUS_CHAT_INPUT`,e.ClearMessages=`CLEAR_MESSAGES`,e.UpdateMessage=`UPDATE_MESSAGE`,e.UpdateMessageCheckpointRef=`UPDATE_MESSAGE_CHECKPOINT_REF`,e.SetDevServerToolSession=`SET_DEV_SERVER_TOOL_SESSION`,e.SetThreadToolSession=`SET_THREAD_TOOL_SESSION`,e.ClearThreadToolSession=`CLEAR_THREAD_TOOL_SESSION`,e.SetThreadCreationSummary=`SET_THREAD_CREATION_SUMMARY`,e.ClearThreadCreationSummary=`CLEAR_THREAD_CREATION_SUMMARY`,e.UpdateToolCallProgress=`UPDATE_TOOL_CALL_PROGRESS`,e.UpdateToolExecutionOutput=`UPDATE_TOOL_EXECUTION_OUTPUT`,e.AppendToolExecutionOutput=`APPEND_TOOL_EXECUTION_OUTPUT`,e.AppendSubagentEvent=`APPEND_SUBAGENT_EVENT`,e.ClearToolCallProgress=`CLEAR_TOOL_CALL_PROGRESS`,e.SetPendingChatMessage=`SET_PENDING_CHAT_MESSAGE`,e.ClearPendingChatMessage=`CLEAR_PENDING_CHAT_MESSAGE`,e.IncrementStreamEventCount=`INCREMENT_STREAM_EVENT_COUNT`,e.SetDiffComments=`SET_DIFF_COMMENTS`,e.ClearSelection=`CLEAR_SELECTION`,e.SetChatInputDraft=`SET_CHAT_INPUT_DRAFT`,e.ClearChatInputDraft=`CLEAR_CHAT_INPUT_DRAFT`,e.StartAutoRoute=`START_AUTO_ROUTE`,e.EndAutoRoute=`END_AUTO_ROUTE`,e.AddChatPane=`ADD_CHAT_PANE`,e.RemoveChatPane=`REMOVE_CHAT_PANE`,e.SetFocusedPane=`SET_FOCUSED_PANE`,e.SetNewChatStarting=`SET_NEW_CHAT_STARTING`,e.SetPrimaryConversationId=`SET_PRIMARY_CONVERSATION_ID`,e.SetPaneConversationId=`SET_PANE_CONVERSATION_ID`,e.SetPaneMessages=`SET_PANE_MESSAGES`,e.AddPaneMessage=`ADD_PANE_MESSAGE`,e.SetActiveStreamPane=`SET_ACTIVE_STREAM_PANE`,e.HydrateProjectChatPanes=`HYDRATE_PROJECT_CHAT_PANES`,e}({}),f=l,p={projects:[],cloneRootPath:null,projectsLoading:!0,selectedThreadId:null,selectedProjectId:null,messages:[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:0,primaryConversationId:void 0,queuedChatMessages:[],isStreaming:!1,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,streamingAgentMode:null,streamingEventCount:0,threadStreamingStates:{},threadMultiPaneStates:{},projectModelSelections:{},paneModelSelections:{},sidebarOpen:!0,projectPanelView:`projects`,projectPanelProjectId:null,isCreatingProject:!1,configUpdatedAt:0,processingThreadIds:[],processingRuns:[],completedThreadIds:[],completedThreadPaneIds:{},completedPaneIds:[],deletingThreadIds:[],deletingProjectIds:[],commandOutput:``,isRunningCommand:!1,terminalStates:{},focusChatInput:!1,toolCallProgress:{},subagentTranscripts:{},devServerToolSession:null,threadToolSessions:{},threadCreationSummaries:{},pendingChatMessage:null,diffComments:{},chatInputDrafts:{},pendingAutoRoutes:{},focusedPane:`primary`,extraChatPanes:{},activeStreamPane:null},m={open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};function h(e,t){return`${e}:${t}`}function ee(e,t,n=f){return t?e[h(t,n)]??null:null}function te(e,t){switch(t.type){case d.StartAutoRoute:{let n=h(t.route.threadId,t.route.paneId);return{...e,pendingAutoRoutes:{...e.pendingAutoRoutes,[n]:t.route}}}case d.EndAutoRoute:{let n=h(t.threadId,t.paneId);if(!e.pendingAutoRoutes[n])return e;let{[n]:r,...i}=e.pendingAutoRoutes;return{...e,pendingAutoRoutes:i}}default:return null}}function g(e,t){let n=`${t}:`,r=new Set([f]);for(let t of Object.keys(e))t.startsWith(n)&&r.add(t.slice(n.length));return[...r]}function ne(e,t){let n=t?`${t}:`:null,r=``;for(let t of Object.keys(e))n&&!t.startsWith(n)||e[t].isStreaming&&(r+=`${t}\n`);return r}function re(e,t,n=f){return e.includes(`${y(t,n)}\n`)}function ie(e,t){return e.includes(`${t}:`)}function ae(e,t,n,r){return t.includes(e)||ie(n,e)?!0:r?.threadId===e}var oe={isStreaming:!1,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,streamingAgentMode:null,streamingEventCount:0},_=oe;function v(){return{...oe,streamingSegments:[]}}function y(e,t=f){return`${e}:${t}`}function b(e,t,n=f){return t?e[y(t,n)]??_:_}function se(e,t){let n=new Set([f,...t.sessionPaneIds??[],...g(t.streamingStates,e)]);for(let r of n)if(t.hasSession(r)||b(t.streamingStates,e,r).isStreaming)return!0;return!1}function x(e,t){return t.threadId??e.selectedThreadId}function ce(e){return e??f}function le(e,t,n,r){return!n||!t.includes(n)?!1:ce(e)===r}function ue(e,t,n){return t?b(e.threadStreamingStates,t,n).isStreaming?!0:le(e.activeStreamPane,e.processingThreadIds,t,n):!1}function S(e,t){return t.paneId??e.activeStreamPane??f}function de(e,t,n){return t===e.selectedThreadId?e.activeStreamPane===null?n===f:e.activeStreamPane===n:!1}function C(e,t,n,r,i=!1){if(!t)return{...e,...r,toolCallProgress:i?{}:e.toolCallProgress};let a=y(t,n),o={...e.threadStreamingStates,[a]:r};return de(e,t,n)?{...e,...r,threadStreamingStates:o,toolCallProgress:i?{}:e.toolCallProgress}:{...e,threadStreamingStates:o}}function fe(){return{open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1}}var w={focusedPane:f,extraChatPanes:{},activeStreamPane:null};function pe(){return{focusedPane:f,extraChatPanes:{},activeStreamPane:null}}function T(e){return{focusedPane:e.focusedPane,extraChatPanes:e.extraChatPanes,activeStreamPane:e.activeStreamPane}}function me(e,t){return t?e[t]??w:w}function he(e){let t={};for(let[n,r]of Object.entries(e))t[n]={...r,messages:[...r.messages]};return t}function E(e){return{...e,extraChatPanes:he(e.extraChatPanes)}}function D(e,t,n){let r=E(n),i=t===null?e.threadMultiPaneStates:{...e.threadMultiPaneStates,[t]:r};return t===e.selectedThreadId?{...e,...r,threadMultiPaneStates:i}:{...e,threadMultiPaneStates:i}}function O(e,t,n){let r=e.threadMultiPaneStates;return t&&(r={...r,[t]:E(T(e))}),{...E(me(r,n)),threadMultiPaneStates:r}}function k(e,t){return D(e,e.selectedThreadId,{...T(e),...t})}function ge(e,t){let n=e.chatPanesByThread[t];if(!n)return E(w);let r={};for(let e of n.panes)r[e.paneId]={conversationId:e.conversationId,messages:[],messagesLoaded:!1};return{focusedPane:n.focusedPaneId,extraChatPanes:r,activeStreamPane:null}}function _e(e,t){if(!t)return e;let n=he(e.extraChatPanes);for(let[e,r]of Object.entries(t.extraChatPanes)){let t=n[e];if(!t){n[e]=r;continue}r.messagesLoaded&&(n[e]={...t,messages:r.messages,messagesLoaded:!0})}let r=t.focusedPane in n&&!(t.focusedPane in e.extraChatPanes);return{...e,extraChatPanes:n,focusedPane:r?t.focusedPane:e.focusedPane}}function ve(e,t){return t===f?e.messages:e.extraChatPanes[t]?.messages??[]}function ye(e,t){return t===f?e.primaryConversationId:e.extraChatPanes[t]?.conversationId}function be(e,t){return t===f?e.messagesLoaded:e.extraChatPanes[t]?.messagesLoaded??!1}function xe(e){return Object.keys(e.extraChatPanes)}function Se(e,t){let n=new Set(t.threadIds),r={...e.threadMultiPaneStates};for(let n of t.threadIds)r[n]=_e(ge(t,n),n===e.selectedThreadId?T(e):e.threadMultiPaneStates[n]);return!e.selectedThreadId||!n.has(e.selectedThreadId)?{...e,threadMultiPaneStates:r}:{...e,...r[e.selectedThreadId],threadMultiPaneStates:r}}function Ce(e,t){return t.paneId===f?e:e.extraChatPanes[t.paneId]?k(e,{focusedPane:t.paneId}):k(e,{focusedPane:t.paneId,extraChatPanes:{...e.extraChatPanes,[t.paneId]:{conversationId:t.conversationId,messages:[],messagesLoaded:!1}}})}function we(e,t){if(t.paneId===f||!e.extraChatPanes[t.paneId])return e;let{[t.paneId]:n,...r}=e.extraChatPanes;return k(e,{extraChatPanes:r,focusedPane:e.focusedPane===t.paneId?f:e.focusedPane,activeStreamPane:e.activeStreamPane===t.paneId?null:e.activeStreamPane})}function Te(e,t){if(t.paneId===f)return{...e,messages:t.messages,messagesLoaded:!0};let n=e.extraChatPanes[t.paneId];return n?k(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,messages:t.messages,messagesLoaded:!0}}}):e}function Ee(e,t){if(t.paneId===f)return e;let n=e.extraChatPanes[t.paneId];return n?k(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,conversationId:t.conversationId,messages:[],messagesLoaded:!0}}}):e}function De(e,t){if(t.paneId===f)return{...e,messages:[...e.messages,t.message]};let n=e.extraChatPanes[t.paneId];return n?k(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,messages:[...n.messages,t.message]}}}):e}function Oe(e,t){if(!e.selectedThreadId||t.paneId===null)return k(e,{activeStreamPane:null});let n=b(e.threadStreamingStates,e.selectedThreadId,t.paneId);return{...k(e,{activeStreamPane:t.paneId}),...n}}function ke(e,t){switch(t.type){case d.HydrateProjectChatPanes:return Se(e,t);case d.AddChatPane:return Ce(e,t);case d.RemoveChatPane:return we(e,t);case d.SetFocusedPane:return k(e,{focusedPane:t.paneId});case d.SetPaneConversationId:return Ee(e,t);case d.SetPaneMessages:return Te(e,t);case d.AddPaneMessage:return De(e,t);case d.SetActiveStreamPane:return Oe(e,t);default:return null}}function Ae(e,t){return!!(t.historyEpoch!==void 0&&t.historyEpoch!==e.chatHistoryEpoch||t.conversationId&&e.primaryConversationId&&t.conversationId!==e.primaryConversationId)}function A(e,t){let n=e.selectedThreadId?e.threadCreationSummaries[e.selectedThreadId]:void 0;return!n||t.some(e=>e.messageId===n.messageId)?t:[n,...t]}function je(e,t){let n=t.paneId??f;if(n!==f){if(t.threadId&&t.threadId!==e.selectedThreadId)return e;let r=e.extraChatPanes[n];return r?D(e,e.selectedThreadId,{...T(e),extraChatPanes:{...e.extraChatPanes,[n]:{...r,messages:[...r.messages,t.message]}}}):e}return t.threadId&&t.threadId!==e.selectedThreadId?e:{...e,messages:[...e.messages,t.message]}}function Me(e,t){if(t.threadId!==e.selectedThreadId)return e;let n=e.messages.some(e=>e.messageId===t.messageId)?e.messages.map(e=>e.messageId===t.messageId?{...e,content:t.content}:e):[...e.messages,{messageId:t.messageId,sender:`agent`,content:t.content,contentType:`markdown`,timestamp:new Date().toISOString(),isThinking:!1}];return{...e,messages:n}}function Ne(e,t){if(t.threadId!==e.selectedThreadId)return e;let n=t.paneId??f;if(n!==f){let r=e.extraChatPanes[n];return r?D(e,e.selectedThreadId,{...T(e),extraChatPanes:{...e.extraChatPanes,[n]:{...r,messages:r.messages.map(e=>e.messageId===t.messageId?{...e,checkpointRef:t.checkpointRef}:e)}}}):e}return{...e,messages:e.messages.map(e=>e.messageId===t.messageId?{...e,checkpointRef:t.checkpointRef}:e)}}function Pe(e,t){if(!e.threadToolSessions[t.threadId])return e;let{[t.threadId]:n,...r}=e.threadToolSessions;return{...e,threadToolSessions:r}}function Fe(e,t){if(!e.threadCreationSummaries[t.threadId])return e;let{[t.threadId]:n,...r}=e.threadCreationSummaries;return{...e,threadCreationSummaries:r}}function Ie(e,t){let n=e.toolCallProgress[t.toolCallId];return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:{toolCallId:t.toolCallId,threadId:t.threadId||(n?.threadId??``),toolName:t.toolName??n?.toolName??``,delta:n?.delta??``,partial:n?.partial??{role:`tool`,content:[]},executionOutput:t.executionOutput}}}}function Le(e,t){let n=e.toolCallProgress[t.toolCallId],r=n?.executionOutput??``;return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:{toolCallId:t.toolCallId,threadId:t.threadId||(n?.threadId??``),toolName:t.toolName??n?.toolName??`agent`,delta:n?.delta??``,partial:n?.partial??{role:`tool`,content:[]},executionOutput:r+t.delta}}}}function Re(e,t){if(!t.toolCallId)return{...e,toolCallProgress:{}};let{[t.toolCallId]:n,...r}=e.toolCallProgress;return{...e,toolCallProgress:r}}function ze(e,t){let{[t.threadId]:n,...r}=e.chatInputDrafts;return{...e,chatInputDrafts:r}}function Be(e,t){let n=new Set(e.startingNewChatPaneIds);return t.isStarting?n.add(t.paneId):n.delete(t.paneId),{...e,startingNewChatPaneIds:[...n]}}function Ve(e,t){let n=O(e,e.selectedThreadId,t.threadId),r=b(e.threadStreamingStates,t.threadId,f);return{...e,...r,...n,selectedThreadId:t.threadId,selectedProjectId:t.projectId,messages:t.initialMessages??[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:void 0,focusChatInput:t.focusInput??!1,subagentTranscripts:{}}}function He(e,t){let n=O(e,e.selectedThreadId,``);return{...e,...v(),...n,selectedThreadId:null,selectedProjectId:t.projectId,messages:[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:void 0,focusChatInput:!1,subagentTranscripts:{}}}function Ue(e,t){return Ae(e,t)?e:{...e,messages:A(e,t.messages),messagesLoaded:!0}}function We(e,t){let n=t.conversationId?.trim()||void 0;return e.primaryConversationId===n?e:{...e,primaryConversationId:n}}function Ge(e,t){return{...e,queuedChatMessages:[...e.queuedChatMessages,t.message]}}function Ke(e,t){return{...e,queuedChatMessages:e.queuedChatMessages.filter(e=>e.id!==t.queuedMessageId)}}function qe(e,t){let n=t.conversationId?.trim()||void 0;return{...e,messages:A(e,[]),messagesLoaded:!0,chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:n}}function Je(e,t){return{...e,devServerToolSession:t.session}}function Ye(e,t){return{...e,threadToolSessions:{...e.threadToolSessions,[t.session.threadId]:t.session}}}function Xe(e,t){return{...e,threadCreationSummaries:{...e.threadCreationSummaries,[t.threadId]:t.message}}}function Ze(e,t){let n=e.toolCallProgress[t.toolCallId];return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:{...n,...t.progress}}}}function Qe(e,t){let n=e.subagentTranscripts[t.toolCallId]??[];return{...e,subagentTranscripts:{...e.subagentTranscripts,[t.toolCallId]:[...n,t.event]}}}function $e(e,t){return{...e,pendingChatMessage:t.message}}function et(e,t){return{...e,pendingChatMessage:null}}function tt(e,t){return{...e,chatInputDrafts:{...e.chatInputDrafts,[t.threadId]:t.draft}}}function nt(e,t){return{...e,...v(),selectedThreadId:null,selectedProjectId:null,messages:[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:void 0,...pe()}}var rt={[d.SetMessages]:Ue,[d.SetPrimaryConversationId]:We,[d.AddMessage]:je,[d.EnqueueChatMessage]:Ge,[d.RemoveQueuedChatMessage]:Ke,[d.ClearMessages]:qe,[d.UpdateMessage]:Me,[d.UpdateMessageCheckpointRef]:Ne,[d.SetDevServerToolSession]:Je,[d.SetThreadToolSession]:Ye,[d.ClearThreadToolSession]:Pe,[d.SetThreadCreationSummary]:Xe,[d.ClearThreadCreationSummary]:Fe,[d.UpdateToolCallProgress]:Ze,[d.UpdateToolExecutionOutput]:Ie,[d.AppendToolExecutionOutput]:Le,[d.AppendSubagentEvent]:Qe,[d.ClearToolCallProgress]:Re,[d.SetPendingChatMessage]:$e,[d.ClearPendingChatMessage]:et,[d.SetChatInputDraft]:tt,[d.ClearChatInputDraft]:ze,[d.SetNewChatStarting]:Be,[d.SelectThread]:Ve,[d.SelectProject]:He,[d.ClearSelection]:nt};function it(e,t){let n=rt[t.type];return n?n(e,t):null}var at=u(`store.project`);function ot(e,t){switch(t.type){case d.SetProjects:{let n={...e.projectModelSelections};for(let e of t.projects)for(let t of e.threads){if(!t.model)continue;let e=n[t.threadId];n[t.threadId]={id:t.model,provider:t.modelProvider,name:e?.name??t.model,description:e?.description??``,context_length:e?.context_length,contextWindow:e?.contextWindow,features:e?.features,input_modalities:e?.input_modalities,max_output:e?.max_output,pricing:e?.pricing,tarsk_use:e?.tarsk_use,coding_index:e?.coding_index,supportsImages:e?.supportsImages}}return{...e,projects:t.projects,cloneRootPath:t.cloneRootPath===void 0?e.cloneRootPath:t.cloneRootPath,projectModelSelections:n}}case d.SetProjectsLoading:return{...e,projectsLoading:t.projectsLoading};case d.SetProjectModel:{at.debug(`Set project model`,{threadId:t.threadId,paneId:t.paneId,model:{id:t.model.id,provider:t.model.provider}});let n=t.paneId??null;return{...e,projects:e.projects.map(e=>{let n=e.threads.some(e=>e.threadId===t.threadId);return{...e,...t.paneId&&n?{lastSelectedModel:t.model.id,lastSelectedModelProvider:t.model.provider}:{},threads:e.threads.map(e=>e.threadId===t.threadId?{...e,model:t.model.id,modelProvider:t.model.provider}:e)}}),projectModelSelections:{...e.projectModelSelections,[t.threadId]:t.model},paneModelSelections:n?{...e.paneModelSelections,[n]:t.model}:e.paneModelSelections}}case d.SetProcessingThreads:return{...e,processingThreadIds:t.threadIds,processingRuns:t.processingRuns??e.processingRuns.filter(e=>t.threadIds.includes(e.threadId))};case d.AddProcessingThread:return{...e,processingThreadIds:e.processingThreadIds.includes(t.threadId)?e.processingThreadIds:[...e.processingThreadIds,t.threadId]};case d.RemoveProcessingThread:return{...e,processingThreadIds:e.processingThreadIds.filter(e=>e!==t.threadId),processingRuns:e.processingRuns.filter(e=>e.threadId!==t.threadId)};case d.AddCreatingProject:return{...e,projects:[...e.projects,{projectId:t.projectId,name:t.projectName,gitUrl:t.gitUrl,threads:[{threadId:t.threadId,title:`thread-1`,path:``,currentBranch:``}]}]};case d.AddCreatingThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:[...e.threads,{threadId:t.threadId,title:t.title,path:``,currentBranch:``}]}:e)};case d.RemoveCreatingProject:return{...e,projects:e.projects.filter(e=>e.projectId!==t.projectId)};case d.RemoveCreatingThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.filter(e=>e.threadId!==t.threadId)}:e)};case d.RemoveThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.filter(e=>e.threadId!==t.threadId)}:e)};case d.MarkThreadCompleted:return{...e,completedThreadIds:e.completedThreadIds.includes(t.threadId)?e.completedThreadIds:[...e.completedThreadIds,t.threadId],completedThreadPaneIds:t.paneId===void 0?e.completedThreadPaneIds:{...e.completedThreadPaneIds,[t.threadId]:t.paneId},completedPaneIds:t.paneId===void 0||t.paneId===e.focusedPane||e.completedPaneIds.includes(t.paneId)?e.completedPaneIds:[...e.completedPaneIds,t.paneId]};case d.ClearThreadCompleted:return{...e,completedThreadIds:e.completedThreadIds.filter(e=>e!==t.threadId)};case d.ClearPaneCompleted:{let n=Object.entries(e.completedThreadPaneIds).filter(([,e])=>e===t.paneId).map(([e])=>e);return{...e,completedThreadIds:e.completedThreadIds.filter(e=>!n.includes(e)),completedThreadPaneIds:Object.fromEntries(Object.entries(e.completedThreadPaneIds).filter(([,e])=>e!==t.paneId)),completedPaneIds:e.completedPaneIds.filter(e=>e!==t.paneId)}}case d.AddDeletingThread:return{...e,deletingThreadIds:e.deletingThreadIds.includes(t.threadId)?e.deletingThreadIds:[...e.deletingThreadIds,t.threadId]};case d.RemoveDeletingThread:return{...e,deletingThreadIds:e.deletingThreadIds.filter(e=>e!==t.threadId)};case d.AddDeletingProject:return{...e,deletingProjectIds:e.deletingProjectIds.includes(t.projectId)?e.deletingProjectIds:[...e.deletingProjectIds,t.projectId]};case d.RemoveDeletingProject:return{...e,deletingProjectIds:e.deletingProjectIds.filter(e=>e!==t.projectId)};case d.UpdateThreadTitle:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.map(e=>e.threadId===t.threadId?{...e,title:t.title}:e)}:e)};case d.UpdateChatTitle:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.map(e=>e.threadId===t.threadId?{...e,chatTitles:{...e.chatTitles,[t.paneId]:t.title}}:e)}:e)};default:return null}}function j(e){return e.type===`tool_use`}function M(e){return e.type===`tool-result`}function N(e){return e.type===`text`}function P(e){return typeof e==`string`?e.replace(/\\n/g,`
|
|
2
|
+
`).replace(/✅/g,`✓`):``}function st(e){let t=0;for(let n=e.length-1;n>=0;n--){let r=e[n];if(!r||!N(r))break;t+=1}return t}function ct(e){let t=st(e);return t===0?null:e.slice(e.length-t).filter(N).map(e=>P(e.text).trim()).filter(e=>e.length>0).join(`
|
|
3
|
+
|
|
4
|
+
`).trim()||null}function lt(e){let t=U(e);return t?ct(t):P(e).trim()||null}function ut(e){let t=/\[([A-Za-z]+)\]\s*/g,n,r=0;for(let i of e.matchAll(t))n=i[1],r=i.index+i[0].length;return{label:n,contentStart:r}}function dt(e,t,n,r){try{let i=JSON.parse(e.slice(t,n+1));if(Array.isArray(i)){for(let e of i)if(e&&typeof e==`object`&&`type`in e){let t=e.type;(t===`tool-result`||t===`tool_use`)&&r.push(e)}}return!0}catch{return!1}}function F(e){if(!e||typeof e!=`string`)return null;let t=e.trim();if(!t)return null;let{label:n,contentStart:r}=ut(t);if(n){let e=t.slice(r);if(e)return[{type:`reasoning`,text:e,label:n}]}let i=[],a=0;for(;a<t.length;){let e=t.indexOf(`[`,a);if(e===-1){let e=t.slice(a).trim();e&&i.push({type:`reasoning`,text:e});break}let n=t.slice(a,e).trim();n&&i.push({type:`reasoning`,text:n});let r=I(t,e);if(r===-1){let n=t.slice(e).trim();n&&i.push({type:`reasoning`,text:n});break}if(!dt(t,e,r,i)){let n=t.slice(e,r+1).trim();n&&i.push({type:`reasoning`,text:n})}a=r+1}return i.length>0?i:null}function I(e,t){let n=0,r=!1,i=!1;for(let a=t;a<e.length;a++){let t=e[a];if(r){i?i=!1:t===`\\`?i=!0:t===`"`&&(r=!1);continue}if(t===`"`){r=!0;continue}if(t===`[`)n++;else if(t===`]`&&(n--,n===0))return a}return-1}function ft(e,t=0){let n=[],r=t;for(;r<e.length;){for(;r<e.length&&/\s/.test(e.charAt(r));)r++;if(r>=e.length||e.charAt(r)!==`[`)break;let t=I(e,r);if(t===-1)break;try{let i=JSON.parse(e.slice(r,t+1));if(!Array.isArray(i))break;n.push(...R(i))}catch{break}r=t+1}return n.length===0?null:{blocks:n,nextIndex:r}}function L(e,t){let n=[...e];for(let e of t){if(e.type===`tool_use`){let t=n.findIndex(t=>t.type===`tool_use`&&t.id===e.id);t>=0?n[t]=e:n.push(e);continue}if(e.type===`tool-result`){let t=n.findIndex(t=>t.type===`tool-result`&&t.toolCallId===e.toolCallId);t>=0?n[t]=e:n.push(e);continue}n.push(e)}return n}function R(e){return e.map(e=>{if(typeof e==`object`&&e&&!(`type`in e)){let t=e;if(t.reasoning)return{type:`reasoning`,text:typeof t.reasoning==`string`?t.reasoning:JSON.stringify(t.reasoning)};let n=t.text??t.content??t.answer;if(n)return{type:`text`,text:typeof n==`string`?n:JSON.stringify(n)}}return e})}function z(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.label==`string`&&typeof e.pattern==`string`&&(e.scope===`session`||e.scope===`project`)):[]}function pt(e){if(e.type!==`long_running_confirmation`||typeof e.prompt!=`object`||e.prompt===null||typeof e.prompt.question!=`string`||!Array.isArray(e.prompt.options))return[];let t=e.prompt;return[{type:`long_running_confirmation`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:void 0,question:t.question,options:t.options.filter(e=>typeof e==`string`),context:typeof t.context==`string`?t.context:void 0}}]}function mt(e){if(e.type!==`shell_permission`||typeof e.shellPermission!=`object`||e.shellPermission===null||typeof e.shellPermission.command!=`string`)return[];let t=e.shellPermission;return[{type:`shell_permission`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:`shell-permission`,command:t.command,source:t.source===`bash`||t.source===`skill_script`||t.source===`browser_js`?t.source:`bash`,wildcardOptions:z(t.wildcardOptions)}}]}function ht(e){if(e.type!==`seatbelt_escalation`||typeof e.seatbeltEscalation!=`object`||e.seatbeltEscalation===null)return[];let t=e.seatbeltEscalation;return typeof t.command==`string`?[{type:`seatbelt_escalation`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:`seatbelt-escalation`,command:t.command,projectId:typeof t.projectId==`string`?t.projectId:``,scopes:[`once`,`project`,`session`]}}]:[]}function gt(e){if(e.type!==`web_fetch_permission`||typeof e.webFetchPermission!=`object`||e.webFetchPermission===null||typeof e.webFetchPermission.hostname!=`string`)return[];let t=e.webFetchPermission;return[{type:`web_fetch_permission`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:`web-fetch-permission`,hostname:t.hostname,url:typeof t.url==`string`?t.url:``,wildcardOptions:z(t.wildcardOptions)}}]}function B(e){let t=[...pt(e),...mt(e),...ht(e),...gt(e)];if(t.length>0)return t;e.reasoning&&typeof e.reasoning==`string`&&t.push({type:`reasoning`,text:e.reasoning});let n=(typeof e.text==`string`?e.text:null)??(typeof e.content==`string`?e.content:null)??(typeof e.answer==`string`?e.answer:null);return n&&t.push({type:`text`,text:n}),t.length===0&&Object.keys(e).length>0&&t.push({type:`text`,text:JSON.stringify(e,null,2)}),t}function _t(e){return U(e)?.some(e=>e.type===`tool_use`||e.type===`tool-result`)??!1}var V=/^```+|^~~~+/;function H(e){let t=e.indexOf(`{`),n=e.indexOf(`[`);return t===-1?n:n===-1?t:Math.min(t,n)}function vt(e,t){if(t&&t.fixedIndex>=0)return{index:t.fixedIndex,scan:t};let n=t?.resumeOffset??0;n>e.length&&(n=0);let r=n===0?!1:t?.inFence??!1,i=n;for(;;){let t=e.indexOf(`
|
|
5
|
+
`,i);if(t===-1){let t=e.slice(i),n=V.test(t.trimStart()),a=r||n?-1:H(t);return{index:a===-1?-1:i+a,scan:{fixedIndex:-1,resumeOffset:i,inFence:r}}}let n=e.slice(i,t);if(V.test(n.trimStart()))r=!r;else if(!r){let e=H(n);if(e!==-1){let t=i+e;return{index:t,scan:{fixedIndex:t,resumeOffset:i,inFence:r}}}}i=t+1}}function yt(e){return vt(e).index}function bt(e){try{let t=JSON.parse(e);return Array.isArray(t)?R(t):typeof t==`object`&&t?B(t):null}catch{return e.startsWith(`[`)?xt(e):null}}function xt(e){let t=ft(e);if(!t)return null;let n=e.slice(t.nextIndex).trim();return n?[...t.blocks,{type:`text`,text:n}]:t.blocks}function St(e){let t=Math.max(e.lastIndexOf(`]`),e.lastIndexOf(`}`));if(t===-1)return null;let n=e.substring(0,t+1);try{let r=JSON.parse(n),i=Array.isArray(r)?R(r):B(r),a=e.substring(t+1).trim();return a&&i.push({type:`text`,text:a}),i}catch{return null}}function U(e){return e?Ct(e,yt(e)):null}function Ct(e,t){if(!e)return null;let n=e.trim();if(n.startsWith(`{`)||n.startsWith(`[`)){let e=bt(n);if(e)return e}let r=[];if(t===-1)return null;let i=e.slice(0,t).trim();i&&r.push({type:`text`,text:i});let a=e.slice(t),o=xt(a);if(o)return r.push(...o),r;let s=St(a);return s&&r.push(...s),r.length>0?r:null}function wt(e,t,n){let r=e[e.length-1];return r?.type===t?[...e.slice(0,-1),{type:t,chunks:[...r.chunks,n]}]:[...e,{type:t,chunks:[n]}]}function Tt(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n){if(n.type===`content`)return t;if(n.type!==`thinking`)return-1}}return-1}function Et(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.type===`content`)return t;return-1}function Dt(e){let t=e.chunks.join(``);return U(t)??(t.trim()?[{type:`text`,text:t}]:[])}function Ot(e){return e.some(e=>e.type===`tool_use`||e.type===`tool-result`)}function kt(e){let t=new Set,n=new Set,r=[];for(let i=e.length-1;i>=0;i--){let a=e[i];if(a){if(a.type===`tool_use`){if(t.has(a.id))continue;t.add(a.id),r.push(a);continue}if(a.type===`tool-result`){if(n.has(a.toolCallId))continue;n.add(a.toolCallId),r.push(a);continue}r.push(a)}}return r.reverse(),r}function At(e,t){let n=Et(e);if(n===-1)return[...e,{type:`content`,chunks:[t]}];let r=e[n],i=t;if(r?.type===`content`){let e=U(t),n=Dt(r);e&&Ot(e)&&Ot(n)&&(i=JSON.stringify(L(n,e)))}return[...e.slice(0,n),{type:`content`,chunks:[i]},...e.slice(n+1)]}function jt(e,t){let n=U(t);if(!n?.some(e=>e.type===`tool_use`||e.type===`tool-result`))return wt(e,`content`,t);let r=Tt(e),i=n;if(r>=0){let t=e[r];t?.type===`content`&&(i=L(Dt(t),n))}let a=JSON.stringify(i);return r>=0?[...e.slice(0,r),{type:`content`,chunks:[a]},...e.slice(r+1)]:[...e,{type:`content`,chunks:[a]}]}function Mt(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`content`)return n.chunks.join(``)}return``}function Nt(e,t){return[...e,{type:`long_running_confirmation`,prompt:t}]}function Pt(e,t){return[...e,{type:`shell_permission`,prompt:t}]}function Ft(e,t){return[...e,{type:`seatbelt_escalation`,prompt:t}]}function It(e,t){return[...e,{type:`web_fetch_permission`,prompt:t}]}var Lt=new WeakMap;function Rt(e,t,n){if(t.length<n)return!1;for(let r=0;r<n;r++)if(e[r]!==t[r])return!1;return!0}function zt(e){let t=Lt.get(e),n=t?Rt(t.chunks,e.chunks,t.chunkCount):!1;if(t&&n&&e.chunks.length===t.chunkCount)return t.blocks;let r=t!==void 0&&n,i=r?t.text+e.chunks.slice(t.chunkCount).join(``):e.chunks.join(``),a,o;if(e.type===`thinking`)a=F(i)??[];else{let e=vt(i,r?t.scan:void 0);o=e.scan,a=Ct(i,e.index)??(i.trim()?[{type:`text`,text:i}]:[])}return Lt.set(e,{chunks:e.chunks,chunkCount:e.chunks.length,text:i,scan:o,blocks:a}),a}function W(e){let t=[];for(let n of e){if(n.type===`long_running_confirmation`){t.push({type:`long_running_confirmation`,prompt:n.prompt});continue}if(n.type===`shell_permission`){t.push({type:`shell_permission`,prompt:n.prompt});continue}if(n.type===`seatbelt_escalation`){t.push({type:`seatbelt_escalation`,prompt:n.prompt});continue}if(n.type===`web_fetch_permission`){t.push({type:`web_fetch_permission`,prompt:n.prompt});continue}t.push(...zt(n))}return kt(t)}function G(e){return e.type===`thinking-group`}function Bt(e,t=!1){let n=[],r=[],i,a=()=>{r.length>0&&(n.push({type:`thinking-group`,text:r.join(`
|
|
6
|
+
|
|
7
|
+
`),label:i,isCurrentlyStreaming:!1}),r=[],i=void 0)};for(let t of e)if(t.type===`reasoning`&&`text`in t){let e=t;r.push(e.text),e.label&&(i=e.label)}else a(),n.push(t);if(a(),t&&n.length>0){let e=n[n.length-1];if(e.type===`thinking-group`){let t=e;t.label!==`Validated`&&(t.isCurrentlyStreaming=!0)}}return n}function Vt(e){return e.type===`tool-call-group`}var Ht=new Set([`todo`]),K=new Set([`todo`,`ask_user`]),Ut=new Map(r.map((e,t)=>[e.id,t]));function Wt(e){if(G(e))return!1;switch(e.type){case`text`:return e.text.trim().length>0;case`shell_permission`:case`seatbelt_escalation`:case`web_fetch_permission`:case`long_running_confirmation`:return!0;case`tool_use`:return e.name===`ask_user`;case`tool-result`:return!1}}function Gt(e){return G(e)?!1:e.type===`tool_use`?!Ht.has(e.name):e.type===`tool-result`?!K.has(e.toolName):!1}function Kt(e){let t=[],n=[];function r(){n.some(Gt)?t.push({type:`tool-call-group`,items:n}):t.push(...n),n=[]}for(let i of e)Wt(i)?(n.length>0&&r(),t.push(i)):n.push(i);return n.length>0&&r(),t}function q(e){return e.length===0?0:e.split(`
|
|
8
|
+
`).length}function qt(e){let t=0,n=0;if(Array.isArray(e.replacements)){for(let r of e.replacements)if(r&&typeof r==`object`){let e=r;typeof e.newText==`string`&&(t+=q(e.newText)),typeof e.oldText==`string`&&(n+=q(e.oldText))}return{added:t,removed:n}}return typeof e.newText==`string`&&(t+=q(e.newText)),typeof e.oldText==`string`&&(n+=q(e.oldText)),{added:t,removed:n}}function Jt(e){let t=new Set;for(let n of e)(n.type===`shell_permission`||n.type===`web_fetch_permission`||n.type===`long_running_confirmation`&&n.prompt.toolCallId)&&t.add(n.prompt.toolCallId);return t}function Yt(e){let t=typeof e.path==`string`&&e.path?e.path:null;return t?t.split(`/`).pop()??t:null}function Xt(e){let t=typeof e.description==`string`?e.description.trim():``;return t?`${t}…`:null}function Zt(e){return(typeof e.intention==`string`?e.intention.trim():``)||null}function Qt(e){let t=Zt(e);return t?`${t}…`:null}function $t(e){let t=e.toLowerCase();return t===`run_js`||t===`run_web_worker`}function en(e){return n(e.name,e.input)?o(`subagents`):t(e.name)}function tn(e){return e.filter(e=>e===`subagents`).length}function nn(e,t){let n=e[0];return o(n!==void 0&&e.every(e=>e===n)?n:`other`).formatNeutral(t)}function J(e){return e.charAt(0).toUpperCase()+e.slice(1)}function rn(){return{categoryCounts:new Map,editedPaths:new Set,completedCommandBlocks:[],linesAdded:0,linesRemoved:0}}function an(e){let t=[],n=new Map;for(let r of e)G(r)||(j(r)?t.push(r):M(r)&&n.set(r.toolCallId,r));return{toolUses:t,groupResults:n,groupToolUseIds:new Set(t.map(e=>e.id))}}function on(e,t){let n=en(e);t.categoryCounts.set(n.id,(t.categoryCounts.get(n.id)??0)+1),n.id===`commands`&&t.completedCommandBlocks.push(e);let r=e.name.toLowerCase();if(r===`edit`||r===`write`){let n=typeof e.input.path==`string`&&e.input.path?e.input.path:e.id;if(t.editedPaths.add(n),r===`edit`){let n=qt(e.input);t.linesAdded+=n.added,t.linesRemoved+=n.removed}else typeof e.input.content==`string`&&(t.linesAdded+=q(e.input.content))}}function sn(e,t,n,r,i){let a=[],o=0,s=null;for(let c of e){if(Ht.has(c.name))continue;let e=t.has(c.id),l=r?.has(c.id)||n.some(e=>M(e)&&e.toolCallId===c.id&&!K.has(e.toolName));e?on(c,i):l||(o+=1,a.push(en(c).id),s=c)}return{pendingCount:o,pendingCategoryIds:a,lastPending:s}}function cn(e,t,n,r){let i=0;for(let a of e.values())if(!K.has(a.toolName)&&(a.isError===!0&&(i+=1),!t.has(a.toolCallId))){let e=n.find(e=>j(e)&&e.id===a.toolCallId);e?on(e,r):r.categoryCounts.set(`other`,(r.categoryCounts.get(`other`)??0)+1)}return i}function ln(e,t){let n=[];for(let[r,i]of e)r===`other`||i===0||n.push({id:r,count:r===`files`?t.size:i});return n.sort((e,t)=>(Ut.get(e.id)??2**53-1)-(Ut.get(t.id)??2**53-1)),n}function un(e,t,r,i){if(!e)return null;if(i.has(e.id))return`Awaiting permission · ${nn(r,t)}`;if(n(e.name,e.input))return Xt(e.input)??`${e.activeDisplayName??a(e.name)}…`;if($t(e.name))return Qt(e.input)??`${e.activeDisplayName??a(e.name)}…`;let o=e.activeDisplayName??a(e.name),s=Yt(e.input);return s?`${o} ${s}…`:`${o}…`}function dn(e){if(e.length!==1)return null;let t=e[0];return t&&$t(t.name)?Zt(t.input):null}function Y(e,t,n){let{toolUses:r,groupResults:i,groupToolUseIds:a}=an(e),o=Jt(t),s=rn(),{pendingCount:c,pendingCategoryIds:l,lastPending:u}=sn(r,i,t,n,s),d=cn(i,a,t,s),f=ln(s.categoryCounts,s.editedPaths),p=s.editedPaths.size,m=un(u,c,l,o),h=dn(s.completedCommandBlocks);return{categories:f,distinctFiles:p,otherCount:s.categoryCounts.get(`other`)??0,pendingCount:c,pendingCategoryIds:l,linesAdded:s.linesAdded,linesRemoved:s.linesRemoved,errorCount:d,activeLabel:m,singleCommandTitle:h}}function fn(e,t){let n=e.categories.slice(0,3),r=e.categories.slice(3).reduce((e,t)=>e+t.count,0),i=e.otherCount+r,a=n.map(t=>t.id===`commands`&&t.count===1&&e.singleCommandTitle?e.singleCommandTitle:o(t.id).formatPhrase(t.count)),s=``;a.length>0?(s=a.join(`, `),i>0&&(s+=`, and ${i} more`),s=J(s)):i>0&&(s=J(o(`other`).formatPhrase(i)));let l=tn(e.pendingCategoryIds);if(l>0){let e=c(l);s=s?`${s} · ${e}`:J(e)}let u=t.showActive&&e.activeLabel!==null,d=e.pendingCount-l;if(!u&&d>0){let t=nn(e.pendingCategoryIds.filter(e=>e!==`subagents`),d);s=s?`${s} · ${t}`:J(t)}let f=e.linesAdded+e.linesRemoved>0?`+${e.linesAdded} −${e.linesRemoved}`:null;return{text:s,lineStats:f,errorCount:e.errorCount,activeLabel:u?e.activeLabel:null}}function pn(e){let t=Kt(Bt(e,!0));for(let n=t.length-1;n>=0;n--){let r=t[n];if(!Vt(r))continue;let i=fn(Y(r.items,e),{showActive:!0});if(i.activeLabel!==null)return i.activeLabel}return null}function mn(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`long_running_confirmation`||n.type===`shell_permission`||n.type===`web_fetch_permission`)return t}return-1}function hn(e){return e.type===`content`||e.type===`thinking`?e.chunks.some(e=>e.trim().length>0):!1}function gn(e){let t=W(e),n=t.some(e=>j(e)&&e.name===`ask_user`),r=t.some(e=>M(e)&&e.toolName===`ask_user`);if(n&&!r)return!0;let i=mn(e);return i===-1?!1:!e.slice(i+1).some(hn)}function _n(e){let t=W(e);return t.length===0?`...`:t.length===1&&t[0]?.type===`text`&&`text`in t[0]?t[0].text:JSON.stringify(t)}function vn(e,t){switch(t.type){case d.SetStreaming:{let n=x(e,t),r=S(e,t);return C(e,n,r,{...b(e.threadStreamingStates,n,r),isStreaming:t.isStreaming})}case d.AppendStreamContent:{let n=x(e,t),r=S(e,t),i=b(e.threadStreamingStates,n,r);return C(e,n,r,{...i,streamingContent:i.streamingContent+t.content})}case d.SetStreamContent:{let n=x(e,t),r=S(e,t),i=b(e.threadStreamingStates,n,r),a=At(i.streamingSegments,t.content);return C(e,n,r,{...i,streamingContent:t.content,streamingSegments:a})}case d.AppendStreamThinking:{let n=x(e,t),r=S(e,t),i=b(e.threadStreamingStates,n,r);return C(e,n,r,{...i,streamingThinking:i.streamingThinking+t.content})}case d.IncrementStreamEventCount:{let n=x(e,t),r=S(e,t),i=b(e.threadStreamingStates,n,r);return C(e,n,r,{...i,streamingEventCount:i.streamingEventCount+1})}case d.AppendStreamChunk:{let n=x(e,t),r=S(e,t),i=b(e.threadStreamingStates,n,r);return C(e,n,r,{...i,streamingSegments:t.segments,streamingContent:t.chunkType===`content`?i.streamingContent+t.content:i.streamingContent,streamingThinking:t.chunkType===`thinking`?i.streamingThinking+t.content:i.streamingThinking})}case d.SetStreamModel:{let n=x(e,t),r=S(e,t);return C(e,n,r,{...b(e.threadStreamingStates,n,r),streamingModel:t.model})}case d.SetStreamAgentMode:{let n=x(e,t),r=S(e,t);return C(e,n,r,{...b(e.threadStreamingStates,n,r),streamingAgentMode:t.mode})}case d.SetContextUsage:{let n=x(e,t),r=S(e,t);return C(e,n,r,{...b(e.threadStreamingStates,n,r),contextUsage:t.contextUsage})}case d.ResetStream:return C(e,x(e,t),S(e,t),v(),!0);case d.StopStream:{let n=x(e,t),r=S(e,t);return C(e,n,r,{...b(e.threadStreamingStates,n,r),isStreaming:!1})}default:return null}}function X(e,t){return e.terminalStates[t]??fe()}function yn(e,t){switch(t.type){case d.AppendCommandOutput:return{...e,commandOutput:e.commandOutput+t.content};case d.SetRunningCommand:return{...e,isRunningCommand:t.isRunning};case d.ClearCommandOutput:return{...e,commandOutput:``};case d.ToggleTerminal:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,open:!n.open}}}}case d.SetTerminalOpen:{let n=t.threadId??`default`,r=X(e,n);return{...e,terminalStates:{...e.terminalStates,[n]:{...r,open:t.open}}}}case d.QueueTerminalCommand:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,queuedCommand:t.command,queuedRelativeFolder:t.relativeFolder??null,open:!0}}}}case d.ClearQueuedTerminalCommand:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,queuedCommand:null}}}}case d.AppendTerminalLine:{let n=t.threadId??`default`,r=X(e,n);return{...e,terminalStates:{...e.terminalStates,[n]:{...r,outputLines:[...r.outputLines,t.line]}}}}case d.ClearTerminalOutput:{let n=t.threadId??`default`,r=X(e,n);return{...e,terminalStates:{...e.terminalStates,[n]:{...r,outputLines:[]}}}}case d.SetTerminalHeight:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,height:t.height}}}}case d.SetTerminalCwd:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,cwd:t.cwd}}}}case d.SetTerminalRunning:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,isRunning:t.isRunning}}}}case d.SetTerminalHistory:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,history:t.history}}}}case d.SetTerminalHistoryIndex:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,historyIndex:t.index}}}}default:return null}}function bn(e,t){switch(t.type){case d.ToggleSidebar:return{...e,sidebarOpen:!e.sidebarOpen};case d.CloseSidebar:return e.sidebarOpen?{...e,sidebarOpen:!1}:e;case d.OpenProjectPanel:return{...e,projectPanelView:`actions`,projectPanelProjectId:t.projectId};case d.CloseProjectPanel:return{...e,projectPanelView:`projects`,projectPanelProjectId:null};case d.SetCreatingProject:return{...e,isCreatingProject:t.isCreating};case d.ConfigUpdated:return{...e,configUpdatedAt:Date.now()};case d.FocusChatInput:return{...e,focusChatInput:!0};case d.ClearFocusChatInput:return{...e,focusChatInput:!1};case d.SetDiffComments:return{...e,diffComments:{...e.diffComments,[t.threadId]:t.comments}};default:return null}}var xn=[vn,te,it,ke,ot,yn,bn];function Sn(e,t){for(let n of xn){let r=n(e,t);if(r!==null)return r}return e}var Cn=new Set([d.AppendStreamChunk,d.IncrementStreamEventCount,d.SetStreamModel,d.AppendStreamContent,d.AppendStreamThinking,d.SetStreamContent,d.AppendSubagentEvent,d.AppendToolExecutionOutput,d.UpdateToolCallProgress,d.UpdateToolExecutionOutput]);function Z(e){return`${`threadId`in e&&typeof e.threadId==`string`?e.threadId:``}:${`paneId`in e&&typeof e.paneId==`string`?e.paneId:``}`}function wn(e){if(e.length<=1)return e;let t=[],n=new Map,r=new Map,i=new Map,a=new Map,o=new Map,s=new Map,c=new Map,l=new Map,u=new Map,f=[];for(let t of e)switch(t.type){case d.AppendStreamChunk:{let e=Z(t),r=n.get(e);r?(t.chunkType===`thinking`?r.thinkingContent+=t.content:t.chunkType===`content`&&(r.contentContent+=t.content),r.lastAction=t):n.set(e,{thinkingContent:t.chunkType===`thinking`?t.content:``,contentContent:t.chunkType===`content`?t.content:``,lastAction:t}),c.set(e,`append-chunk`);break}case d.IncrementStreamEventCount:r.set(Z(t),t);break;case d.SetStreamModel:i.set(Z(t),t);break;case d.AppendStreamContent:{let e=Z(t),n=a.get(e);n?(n.value+=t.content,n.last=t):a.set(e,{value:t.content,last:t});break}case d.AppendStreamThinking:{let e=Z(t),n=o.get(e);n?(n.value+=t.content,n.last=t):o.set(e,{value:t.content,last:t});break}case d.SetStreamContent:{let e=Z(t);s.set(e,t),c.set(e,`set-content`);break}case d.UpdateToolCallProgress:l.set(t.toolCallId,t);break;case d.UpdateToolExecutionOutput:u.set(t.toolCallId,t);break;default:f.push(t);break}for(let e of i.values())t.push(e);for(let e of r.values())t.push(e);for(let{value:e,last:n}of a.values())n.type===d.AppendStreamContent&&t.push({...n,content:e});for(let{value:e,last:n}of o.values())n.type===d.AppendStreamThinking&&t.push({...n,content:e});let p=new Set([...s.keys(),...n.keys()]);for(let e of p){let r=s.get(e),i=n.get(e),a=[];if(i){let{thinkingContent:e,contentContent:t,lastAction:n}=i;e&&a.push({...n,chunkType:`thinking`,content:e,segments:n.segments}),t&&a.push({...n,chunkType:`content`,content:t,segments:n.segments}),!e&&!t&&a.push(n)}c.get(e)===`set-content`?(t.push(...a),r&&t.push(r)):(r&&t.push(r),t.push(...a))}for(let e of l.values())t.push(e);for(let e of u.values())t.push(e);return t.push(...f),t}function Tn(e=p){let t=e,n=new Set,r=0,i=[];function a(){return t}function o(){for(let e of n)e()}function s(e){let n=Sn(t,e);n!==t&&(t=n)}function c(){if(r=0,i.length===0)return;let e=i.splice(0,i.length);for(let t of wn(e))s(t);o()}function l(e){if(Cn.has(e.type)){i.push(e),r===0&&(r=requestAnimationFrame(c));return}i.length>0&&(r!==0&&(cancelAnimationFrame(r),r=0),c()),s(e),o()}function u(e){return n.add(e),function(){n.delete(e)}}return{getState:a,dispatch:l,subscribe:u}}var En=i(),Q=e(s(),1),Dn=(0,Q.createContext)(null);function $(){let e=(0,Q.useContext)(Dn);if(!e)throw Error(`useAppStore must be used within an AppStoreContext.Provider`);return e}function On(e){let t=(0,En.c)(3),n=$(),r;t[0]!==e||t[1]!==n?(r=function(){return e(n.getState())},t[0]=e,t[1]=n,t[2]=r):r=t[2];let i=r;return(0,Q.useSyncExternalStore)(n.subscribe,i,i)}function kn(){return $().dispatch}function An(e){let t=(0,En.c)(8),n=kn(),r;t[0]===e?r=t[1]:(r=t=>(e?t.terminalStates[e]:void 0)??m,t[0]=e,t[1]=r);let i=On(r),a;t[2]!==n||t[3]!==e?(a=t=>{e&&n({...t,threadId:e})},t[2]=n,t[3]=e,t[4]=a):a=t[4];let o=a,s;return t[5]!==o||t[6]!==i?(s={terminalState:i,dispatch:o},t[5]=o,t[6]=i,t[7]=s):s=t[7],s}export{P as A,g as B,Bt as C,Vt as D,G as E,ye as F,se as G,le as H,ve as I,d as J,re as K,be as L,F as M,Y as N,M as O,xe as P,y as R,It as S,gn as T,ue as U,b as V,ae as W,f as Y,Nt as _,An as a,At as b,_t as c,pn as d,zt as f,wt as g,W as h,$ as i,U as j,j as k,kt as l,lt as m,kn as n,Tn as o,Mt as p,ee as q,On as r,_n as s,Dn as t,fn as u,jt as v,Kt as w,Pt as x,Ft as y,ne as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Di as t,Oi as n,Rr as r,i,ki as a}from"./interactive-BrHVRHmQ.js";var o=n(),s=e(a(),1),c=t(),l=s.forwardRef((e,t)=>{let n=(0,o.c)(9),a,s;n[0]===e?(a=n[1],s=n[2]):({className:a,...s}=e,n[0]=e,n[1]=a,n[2]=s);let l;n[3]===a?l=n[4]:(l=i(`w-full caption-bottom`,r.body,a),n[3]=a,n[4]=l);let u;return n[5]!==s||n[6]!==t||n[7]!==l?(u=(0,c.jsx)(`div`,{className:`relative w-full overflow-auto`,children:(0,c.jsx)(`table`,{ref:t,className:l,...s})}),n[5]=s,n[6]=t,n[7]=l,n[8]=u):u=n[8],u});l.displayName=`Table`;var u=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let s;n[3]===r?s=n[4]:(s=i(`[&_tr]:border-b`,r),n[3]=r,n[4]=s);let l;return n[5]!==a||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`thead`,{ref:t,className:s,...a}),n[5]=a,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});u.displayName=`TableHeader`;var d=s.forwardRef((e,t)=>{let n=(0,o.c)(7),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;return n[3]!==r||n[4]!==i||n[5]!==t?(a=(0,c.jsx)(`tbody`,{ref:t,className:r,...i}),n[3]=r,n[4]=i,n[5]=t,n[6]=a):a=n[6],a});d.displayName=`TableBody`;var f=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let s;n[3]===r?s=n[4]:(s=i(`border-t font-medium [&>tr]:last:border-b-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==a||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`tfoot`,{ref:t,className:s,...a}),n[5]=a,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});f.displayName=`TableFooter`;var p=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let s;n[3]===r?s=n[4]:(s=i(`transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,r),n[3]=r,n[4]=s);let l;return n[5]!==a||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`tr`,{ref:t,className:s,...a}),n[5]=a,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});p.displayName=`TableRow`;var m=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let s;n[3]===r?s=n[4]:(s=i(`h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==a||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`th`,{ref:t,className:s,...a}),n[5]=a,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});m.displayName=`TableHead`;var h=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let s;n[3]===r?s=n[4]:(s=i(`p-4 align-middle [&:has([role=checkbox])]:pr-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==a||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`td`,{ref:t,className:s,...a}),n[5]=a,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});h.displayName=`TableCell`;var g=s.forwardRef((e,t)=>{let n=(0,o.c)(9),a,s;n[0]===e?(a=n[1],s=n[2]):({className:a,...s}=e,n[0]=e,n[1]=a,n[2]=s);let l;n[3]===a?l=n[4]:(l=i(r.caption,`mt-4`,a),n[3]=a,n[4]=l);let u;return n[5]!==s||n[6]!==t||n[7]!==l?(u=(0,c.jsx)(`caption`,{ref:t,className:l,...s}),n[5]=s,n[6]=t,n[7]=l,n[8]=u):u=n[8],u});g.displayName=`TableCaption`;export{p as a,m as i,d as n,h as r,l as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/onboarding-DVc9-yKJ.js","assets/rolldown-runtime-aKtaBQYM.js","assets/interactive-BrHVRHmQ.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{$ as t,B as n,Bn as r,C as i,Di as a,Gn as o,Hn as s,K as c,Kn as l,Oi as u,Rr as d,Sn as f,Un as p,Vn as m,Wn as h,X as g,Zn as _,b as v,cr as y,dr as b,f as x,fr as S,i as C,in as w,ki as T,lr as E,mr as D,on as O,tr as k,ur as A,yt as j}from"./interactive-BrHVRHmQ.js";import{A as ee,Ct as M,D as te,Eo as N,Er as P,Pr as ne,St as F,T as re,Tt as ie,_ as I,a as ae,b as L,bt as oe,h as se,ht as ce,in as le,j as ue,k as de,m as fe,mn as pe,mr as me,o as R,p as he,sr as ge,v as _e,x as z}from"./onboarding-DVc9-yKJ.js";import{l as ve}from"./monaco-D1hpqXQ0.js";import{J as B,n as ye,r as V}from"./store-B_cK-gsT.js";import{n as be}from"./chat-dock-context-DyKjqpND.js";import{n as xe,r as Se,t as Ce}from"./use-suspense-resource-CExc4Svq.js";import{t as we}from"./ndjson-stream-DeGpE5o5.js";import{At as H,B as Te,Bt as U,Ct as Ee,Et as De,F as Oe,H as ke,Ht as Ae,Kt as je,Lt as Me,Rt as Ne,St as Pe,Tt as Fe,U as Ie,V as Le,bt as Re,jt as ze,kt as Be,vt as Ve,wt as W,xt as He,yt as Ue,zt as We}from"./index-B0xy4BkI.js";import{n as Ge,t as G}from"./commit-method-fields-Dijc502F.js";import{t as Ke}from"./async-error-boundary-Rf-s2_Ez.js";var K=e(T(),1),q=u();function qe(e){return e.status!==`Done`&&!e.working}function J(e){return e.status!==`Done`&&!e.working&&!!e.triggerType}function Je(e){if(!e.triggerType)return null;let t=e.enabled===!1?`Paused · `:``;if(e.triggerType===`schedule`&&e.scheduledAt){let n=new Date(e.scheduledAt);if(!Number.isNaN(n.getTime()))return`${t}Scheduled ${n.toLocaleString()}`}if(e.triggerType===`schedule`&&e.scheduleCron&&e.timezone){let n=l(e.scheduleCron),r=n?s(n):e.scheduleCron,i=o(e.scheduleCron,e.timezone),a=i?p(i):null;return a?`${t}${r} · ${a}`:`${t}${r}`}return e.triggerType===`event`&&e.eventKey?`${t}Event: ${e.eventKey}`:null}function Ye(e){return[...e].sort((e,t)=>e.status===`Done`&&t.status!==`Done`?1:e.status!==`Done`&&t.status===`Done`||e.working&&!t.working?-1:!e.working&&t.working?1:new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime())}function Xe(e,t){if(t)return t;let n=e?.threads.map(e=>e.title)??[],r=/^thread-(\d+)$/i,i=0;for(let e of n){let t=e.match(r);t&&(i=Math.max(i,parseInt(t[1],10)))}return`thread-${i+1}`}function Y(e,t){return`project-tasks:${e}:${t}`}async function Ze(e){ne(),Se(`projects:bootstrap:`);let t=await me();e({type:B.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath}),e({type:B.SetProjectsLoading,projectsLoading:!1})}async function Qe(e){let t=await Ee(e),n=t.filter(e=>e.threadId&&e.status!==`Done`),r=[...t];return await Promise.all(n.map(async t=>{try{await P(t.threadId)}catch(n){if(n instanceof Error&&n.message.includes(`not found`)){let n=await De(e,t.id,{status:`Done`}),i=r.findIndex(e=>e.id===t.id);i!==-1&&(r[i]=n)}}})),r}async function $e(e,t){let n=null;try{await we(e,e=>{if(!e||typeof e!=`object`)return;let r=e;r.type===`progress`&&typeof r.threadId==`string`&&!n&&(n=r.threadId,t(n))})}catch{}return n}var X=a();function et({task:e,disabled:t=!1,onImplementInNewThread:n,onImplementInThisThread:r,onMarkDone:i,onRunNow:a}){let[o,s]=(0,K.useState)(!1),c=qe(e),l=e.status!==`Done`,u=J(e),d=t||o||!c&&!l&&!u;async function f(e){s(!0);try{await e()}finally{s(!1)}}return(0,X.jsxs)(Me,{children:[(0,X.jsx)(je,{asChild:!0,children:(0,X.jsxs)(N,{variant:`ghost`,size:`icon`,className:C(`h-8 w-8 shrink-0`,e.working&&`text-primary`),disabled:d,children:[o||e.working?(0,X.jsx)(j,{className:`h-4 w-4 animate-spin`}):(0,X.jsx)(O,{className:`h-4 w-4`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Task actions`})]})}),(0,X.jsxs)(We,{align:`end`,children:[c&&(0,X.jsx)(U,{onClick:()=>void f(()=>r(e)),children:`Do This`}),u&&(0,X.jsx)(U,{onClick:()=>void f(()=>a(e)),children:`Run Now`}),c&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Ae,{}),(0,X.jsx)(U,{onClick:()=>void f(()=>n(e)),children:`Do this in a new thread`})]}),l&&(0,X.jsx)(U,{onClick:()=>void f(()=>i(e)),children:`Mark as Done`})]})]})}function tt(e){let t=(0,q.c)(14),{tag:n,onRemove:r,className:i}=e,a;t[0]===i?a=t[1]:(a=C(d.compact,`inline-flex items-center gap-1 rounded-full border border-border/50 bg-background px-2 py-0.5`,i),t[0]=i,t[1]=a);let o;t[2]===n.color?o=t[3]:(o=(0,X.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:n.color}}),t[2]=n.color,t[3]=o);let s;t[4]===n.name?s=t[5]:(s=(0,X.jsx)(`span`,{className:`truncate`,children:n.name}),t[4]=n.name,t[5]=s);let c;t[6]!==r||t[7]!==n.name?(c=r&&(0,X.jsx)(`button`,{type:`button`,className:`ml-0.5 shrink-0 rounded-full opacity-60 hover:opacity-100`,onClick:e=>{e.stopPropagation(),r()},"aria-label":`Remove ${n.name}`,children:(0,X.jsxs)(`svg`,{className:`h-3 w-3`,viewBox:`0 0 12 12`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,children:[(0,X.jsx)(`line`,{x1:`3`,y1:`3`,x2:`9`,y2:`9`}),(0,X.jsx)(`line`,{x1:`9`,y1:`3`,x2:`3`,y2:`9`})]})}),t[6]=r,t[7]=n.name,t[8]=c):c=t[8];let l;return t[9]!==a||t[10]!==o||t[11]!==s||t[12]!==c?(l=(0,X.jsxs)(`span`,{className:a,children:[o,s,c]}),t[9]=a,t[10]=o,t[11]=s,t[12]=c,t[13]=l):l=t[13],l}var nt={Plan:`#EAB308`,Build:`#3B82F6`,Test:`#8B5CF6`,Review:`#F97316`,Done:`#22C55E`};function rt(e){let t=(0,q.c)(10),{status:n,className:r}=e,i;t[0]===r?i=t[1]:(i=C(d.compact,`inline-flex items-center gap-1 rounded-full border border-border/50 bg-background px-2 py-0.5`,r),t[0]=r,t[1]=i);let a=nt[n],o;t[2]===a?o=t[3]:(o=(0,X.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:a}}),t[2]=a,t[3]=o);let s;t[4]===n?s=t[5]:(s=(0,X.jsx)(`span`,{className:`truncate`,children:n}),t[4]=n,t[5]=s);let c;return t[6]!==i||t[7]!==o||t[8]!==s?(c=(0,X.jsxs)(`span`,{className:i,children:[o,s]}),t[6]=i,t[7]=o,t[8]=s,t[9]=c):c=t[9],c}function it({selectedTags:e,existingTags:t,onChange:n,placeholder:r=`Add tags...`,allowCreate:i=!0}){let[a,o]=(0,K.useState)(``),[s,c]=(0,K.useState)(!1),[l,u]=(0,K.useState)(0),f=(0,K.useRef)(null),p=(0,K.useMemo)(()=>new Set(e.map(e=>A(e.name))),[e]),m=e.length>=10,h=(0,K.useMemo)(()=>{let e=a.trim(),n=e.toLowerCase(),r=new Map;for(let e of t){let t=A(e.name);p.has(t)||r.set(t,{name:e.name,color:e.color})}for(let e of y){let t=A(e);!p.has(t)&&!r.has(t)&&r.set(t,{name:e,color:E(t)})}let o=(n?[...r.values()].filter(e=>e.name.toLowerCase().includes(n)):[...r.values()]).map(e=>({name:e.name,color:e.color,isCreate:!1}));if(e&&i&&!m){let t=b(e),n=A(t),i=p.has(n)||r.has(n),a=!S(t);!i&&a&&o.push({name:t,color:E(n),isCreate:!0})}return o},[a,t,p,m]);(0,K.useEffect)(()=>{u(0)},[a]),(0,K.useEffect)(function(){if(!s||m)return;let e=requestAnimationFrame(function(){f.current?.focus()});return function(){cancelAnimationFrame(e)}},[s,m]);function _(r){if(m)return;let i=b(r),a=A(i);if(p.has(a))return;let s=t.find(e=>A(e.name)===a)??{id:`new:${a}`,name:i,color:E(a)};n([...e,s]),o(``)}function v(t){n(e.filter(e=>e.id!==t.id))}function x(t){if(t.key===`ArrowDown`)t.preventDefault(),s||c(!0),u(e=>(e+1)%Math.max(h.length,1));else if(t.key===`ArrowUp`)t.preventDefault(),u(e=>(e-1+h.length)%Math.max(h.length,1));else if(t.key===`Enter`){t.preventDefault();let e=h[l];e&&_(e.name)}else t.key===`Backspace`&&!a&&e.length>0?v(e[e.length-1]):t.key===`Escape`&&(c(!1),f.current?.blur())}return(0,X.jsxs)(Be,{open:s,onOpenChange:function(e){c(e),e||o(``)},children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[e.map(function(e){return(0,X.jsx)(tt,{tag:e,onRemove:()=>v(e)},e.id)}),(0,X.jsx)(ze,{asChild:!0,children:(0,X.jsx)(N,{type:`button`,variant:`outline`,size:`icon-xs`,disabled:m,"aria-label":m?`Max 10 tags`:`Add tag`,className:C(`h-6 w-6 rounded-full border-dashed text-muted-foreground`,m&&`opacity-50`),children:(0,X.jsx)(g,{className:`h-3 w-3`})})})]}),(0,X.jsxs)(H,{align:`start`,className:`w-72 p-0`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,X.jsx)(`div`,{className:`border-b border-border p-2`,children:(0,X.jsx)(`input`,{ref:f,type:`text`,value:a,onChange:function(e){o(e.target.value)},onKeyDown:x,placeholder:m?`Max 10 tags`:r,disabled:m,className:C(d.body,`w-full rounded-md border border-input bg-background px-3 py-2 outline-none placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`)})}),(0,X.jsx)(`div`,{className:`overflow-y-auto overscroll-contain`,style:{maxHeight:220},children:h.length===0?(0,X.jsx)(`p`,{className:C(d.bodyMuted,`px-3 py-4 text-center`),children:m?`Tag limit reached`:`No tags found`}):h.map(function(e,t){return(0,X.jsxs)(`button`,{type:`button`,className:C(d.body,`flex w-full items-center gap-2 px-3 py-2 text-left hover:bg-accent`,l===t&&`bg-accent`),onClick:function(){_(e.name),f.current?.focus()},children:[(0,X.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),e.isCreate?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`text-muted-foreground`,children:`Create`}),(0,X.jsx)(`span`,{className:`truncate font-medium`,children:e.name})]}):(0,X.jsx)(`span`,{className:`truncate`,children:e.name})]},e.isCreate?`create:${e.name}`:e.name)})})]})]})}function at({open:e,onOpenChange:t,projectId:n,tags:r,onTagsChanged:i}){let[a,o]=(0,K.useState)(null),[s,c]=(0,K.useState)(``),[l,u]=(0,K.useState)(``),[p,m]=(0,K.useState)(!1),[h,g]=(0,K.useState)(!1),[_,y]=(0,K.useState)(null),[b,S]=(0,K.useState)(null);function w(e){o(e.id),c(e.name),y(null)}function T(){o(null),c(``),y(null)}async function E(){let e=l.trim();if(e){g(!0),y(null);try{let t=await Ve(n,e);i([...r,t]),u(``)}catch(e){y(e instanceof Error?e.message:`Failed to create tag`)}finally{g(!1)}}}async function D(e){let t=s.trim();if(t){m(!0),y(null);try{let a=await W(n,e,t);i(r.map(e=>e.id===a.id?{...e,name:a.name,color:a.color}:e)),T()}catch(e){y(e instanceof Error?e.message:`Failed to rename tag`)}finally{m(!1)}}}async function O(e){m(!0),y(null);try{await Re(n,e),i(r.filter(t=>t.id!==e)),S(null),a===e&&T()}catch(e){y(e instanceof Error?e.message:`Failed to delete tag`)}finally{m(!1)}}return(0,X.jsx)(re,{open:e,onOpenChange:t,children:(0,X.jsxs)(te,{className:`flex max-h-[min(36rem,85vh)] flex-col sm:max-w-md`,children:[(0,X.jsx)(ee,{children:(0,X.jsx)(ue,{children:`Manage Tags`})}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2 py-2`,children:[(0,X.jsx)(z,{value:l,onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`&&E(),e.key===`Escape`&&u(``)},placeholder:`New tag name...`,className:`h-8 flex-1`,disabled:h}),(0,X.jsx)(N,{size:`sm`,className:`h-8 shrink-0 bg-foreground text-background hover:bg-foreground/90`,onClick:()=>void E(),disabled:h||!l.trim(),children:h?(0,X.jsx)(j,{className:`h-3.5 w-3.5 animate-spin`}):`Add`})]}),r.length===0?(0,X.jsx)(`p`,{className:C(d.bodyMuted,`py-4 text-center`),children:`No tags yet. Create one above to get started.`}):(0,X.jsx)(ce,{className:`min-h-0 flex-1`,children:(0,X.jsx)(`div`,{className:`space-y-1 py-2 pr-3`,children:r.map(e=>{let t=a===e.id,n=b===e.id;return(0,X.jsx)(`div`,{className:C(`group flex items-center gap-2 rounded-md px-2 py-1.5 hover:bg-accent/40`,!t&&!n&&!p&&`cursor-pointer`),onClick:()=>{!p&&!t&&!n&&w(e)},children:t?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(z,{value:s,onChange:e=>c(e.target.value),onKeyDown:t=>{t.key===`Enter`&&D(e.id),t.key===`Escape`&&T()},className:`h-8 flex-1 text-sm`,autoFocus:!0,disabled:p}),(0,X.jsx)(N,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>void D(e.id),disabled:p||!s.trim(),children:p?(0,X.jsx)(j,{className:`h-4 w-4 animate-spin`}):(0,X.jsx)(f,{className:`h-4 w-4`})}),(0,X.jsx)(N,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:T,disabled:p,children:(0,X.jsx)(x,{className:`h-4 w-4`})})]}):n?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`span`,{className:C(d.body,`flex-1 truncate`),children:[`Delete `,e.name,`? Removes from `,e.taskCount,` `,e.taskCount===1?`task`:`tasks`,`.`]}),(0,X.jsx)(N,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-destructive hover:text-destructive`,onClick:()=>void O(e.id),disabled:p,children:p?(0,X.jsx)(j,{className:`h-4 w-4 animate-spin`}):(0,X.jsx)(f,{className:`h-4 w-4`})}),(0,X.jsx)(N,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>S(null),disabled:p,children:(0,X.jsx)(x,{className:`h-4 w-4`})})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`h-2.5 w-2.5 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,X.jsx)(`span`,{className:C(d.body,`min-w-0 flex-1 truncate`),children:e.name}),(0,X.jsxs)(`span`,{className:C(d.caption,`shrink-0 text-muted-foreground`),children:[e.taskCount,` `,e.taskCount===1?`task`:`tasks`]}),(0,X.jsx)(N,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-destructive opacity-0 pointer-events-none transition-opacity can-hover:group-hover:opacity-100 can-hover:group-hover:pointer-events-auto focus-visible:opacity-100 focus-visible:pointer-events-auto can-hover:hover:text-destructive`,onClick:t=>{t.stopPropagation(),S(e.id)},disabled:p,"aria-label":`Delete ${e.name}`,children:(0,X.jsx)(v,{className:`h-3.5 w-3.5`})})]})},e.id)})})}),_&&(0,X.jsx)(`p`,{className:C(d.caption,`text-destructive`),children:_})]})})}var ot=`09:00`;function Z(e){return String(e).padStart(2,`0`)}function st(){let e=new Date(Date.now()+3600*1e3);return`${e.getFullYear()}-${Z(e.getMonth()+1)}-${Z(e.getDate())}T${Z(e.getHours())}:${Z(e.getMinutes())}`}function ct(){return{kind:`manual`,scheduleMode:`once`,scheduledAtLocal:st(),preset:`daily`,presetTime:ot,dayOfWeek:new Date().getDay(),timezone:h(),enabled:!0,eventKey:``}}function lt(e){let t=ct();if(e.triggerType===`schedule`){if(e.scheduleCron){let n=l(e.scheduleCron);return{kind:`schedule`,scheduleMode:`repeating`,scheduledAtLocal:t.scheduledAtLocal,preset:n?.preset??`daily`,presetTime:n?.time??ot,dayOfWeek:n?.dayOfWeek??new Date().getDay(),timezone:e.timezone??t.timezone,enabled:e.enabled!==!1,eventKey:``}}if(e.scheduledAt){let n=new Date(e.scheduledAt);return{kind:`schedule`,scheduleMode:`once`,scheduledAtLocal:Number.isNaN(n.getTime())?t.scheduledAtLocal:`${n.getFullYear()}-${Z(n.getMonth()+1)}-${Z(n.getDate())}T${Z(n.getHours())}:${Z(n.getMinutes())}`,preset:t.preset,presetTime:t.presetTime,dayOfWeek:t.dayOfWeek,timezone:e.timezone??t.timezone,enabled:e.enabled!==!1,eventKey:``}}}return e.triggerType===`event`?{...t,kind:`event`,enabled:e.enabled!==!1,eventKey:e.eventKey??``}:t}function ut(e){let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()}function dt(e){return e.kind===`manual`?{triggerType:null,scheduledAt:null,scheduleCron:null,timezone:null,enabled:!0,eventKey:null}:e.kind===`event`?{triggerType:`event`,scheduledAt:null,scheduleCron:null,timezone:null,enabled:e.enabled,eventKey:e.eventKey.trim()||null}:e.scheduleMode===`once`?{triggerType:`schedule`,scheduledAt:ut(e.scheduledAtLocal),scheduleCron:null,timezone:e.timezone,enabled:e.enabled,eventKey:null}:{triggerType:`schedule`,scheduledAt:null,scheduleCron:m(e.preset,e.presetTime,e.dayOfWeek),timezone:e.timezone,enabled:e.enabled,eventKey:null}}function ft(e){return e.kind!==`manual`}function pt(e){return e.kind===`manual`?null:r(dt(e))}function mt(e){return e.replace(/^eventKey is required for event triggers$/,`Event key is required`).replace(/^eventKey must be (\d+) characters or fewer$/,`Event key must be $1 characters or fewer`).replace(/^eventKey may only contain letters, numbers, dots, colons, underscores, and hyphens$/,`Event key may only contain letters, numbers, dots, colons, underscores, and hyphens`)}function ht(e){return e.startsWith(`Event key`)}function gt(e,t){return JSON.stringify(e)===JSON.stringify(t)}var _t=[{value:`0`,label:`Sunday`},{value:`1`,label:`Monday`},{value:`2`,label:`Tuesday`},{value:`3`,label:`Wednesday`},{value:`4`,label:`Thursday`},{value:`5`,label:`Friday`},{value:`6`,label:`Saturday`}];function Q(e,t){return{...e,...t}}function vt(e){let t=(0,q.c)(42),{value:n,onChange:r,collapsed:i,onCollapsedChange:a,showCollapseControl:o,error:s}=e,c=i===void 0?!1:i,l=o===void 0?!1:o,u=s===void 0?null:s,f;t[0]!==r||t[1]!==n?(f=function(e){r(Q(n,{kind:e}))},t[0]=r,t[1]=n,t[2]=f):f=t[2];let p=f,m;t[3]!==r||t[4]!==n?(m=function(e){r(Q(n,{scheduleMode:e}))},t[3]=r,t[4]=n,t[5]=m):m=t[5];let h=m;if(l&&c){let e;return t[6]===a?e=t[7]:(e=(0,X.jsx)(`div`,{className:`mt-4`,children:(0,X.jsx)(N,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>a?.(!1),children:`Add schedule or event trigger`})}),t[6]=a,t[7]=e),e}let g;t[8]!==r||t[9]!==a||t[10]!==l||t[11]!==n?(g=l&&(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,X.jsx)(`p`,{className:C(d.label),children:`Trigger`}),(0,X.jsxs)(N,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-muted-foreground`,onClick:()=>{r(Q(n,{kind:`manual`})),a?.(!0)},children:[(0,X.jsx)(x,{className:`h-4 w-4`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Remove trigger`})]})]}),t[8]=r,t[9]=a,t[10]=l,t[11]=n,t[12]=g):g=t[12];let _;t[13]===p?_=t[14]:(_=e=>{(e===`manual`||e===`schedule`||e===`event`)&&p(e)},t[13]=p,t[14]=_);let v;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,X.jsx)(R,{value:`manual`,"aria-label":`Manual`,className:C(d.body,Ge),children:`Manual`}),t[15]=v):v=t[15];let y;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,X.jsx)(R,{value:`schedule`,"aria-label":`Schedule`,className:C(d.body,Ge),children:`Schedule`}),t[16]=y):y=t[16];let b;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,X.jsx)(R,{value:`event`,"aria-label":`Event`,className:C(d.body,Ge),children:`Event`}),t[17]=b):b=t[17];let S;t[18]!==_||t[19]!==n.kind?(S=(0,X.jsxs)(ae,{type:`single`,value:n.kind,onValueChange:_,"aria-label":`Trigger type`,className:G,children:[v,y,b]}),t[18]=_,t[19]=n.kind,t[20]=S):S=t[20];let w;t[21]!==r||t[22]!==h||t[23]!==n?(w=n.kind===`schedule`&&(0,X.jsxs)(`div`,{className:`space-y-4 border-t border-border pt-4`,children:[(0,X.jsxs)(ae,{type:`single`,value:n.scheduleMode,onValueChange:e=>{(e===`once`||e===`repeating`)&&h(e)},"aria-label":`Schedule mode`,className:`inline-flex h-auto w-fit justify-start rounded-full border-0 bg-background p-1 text-muted-foreground`,children:[(0,X.jsx)(R,{value:`once`,"aria-label":`Once`,className:C(d.body,`h-auto min-h-0 min-w-0 rounded-full border-0 bg-background px-4 py-1.5 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm hover:bg-background hover:text-muted-foreground data-[state=on]:hover:bg-foreground data-[state=on]:hover:text-background`),children:`Once`}),(0,X.jsx)(R,{value:`repeating`,"aria-label":`Repeating`,className:C(d.body,`h-auto min-h-0 min-w-0 rounded-full border-0 bg-background px-4 py-1.5 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm hover:bg-background hover:text-muted-foreground data-[state=on]:hover:bg-foreground data-[state=on]:hover:text-background`),children:`Repeating`})]}),n.scheduleMode===`once`?(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsx)(L,{htmlFor:`schedule-once-at`,children:`Run at`}),(0,X.jsx)(z,{id:`schedule-once-at`,type:`datetime-local`,value:n.scheduledAtLocal,onChange:e=>r(Q(n,{scheduledAtLocal:e.target.value}))})]}):(0,X.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsx)(L,{children:`Preset`}),(0,X.jsxs)(he,{value:n.preset,onValueChange:e=>r(Q(n,{preset:e})),children:[(0,X.jsx)(I,{children:(0,X.jsx)(_e,{})}),(0,X.jsxs)(fe,{children:[(0,X.jsx)(se,{value:`daily`,children:`Daily`}),(0,X.jsx)(se,{value:`weekdays`,children:`Weekdays`}),(0,X.jsx)(se,{value:`weekly`,children:`Weekly`})]})]})]}),n.preset===`weekly`&&(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsx)(L,{children:`Day`}),(0,X.jsxs)(he,{value:String(n.dayOfWeek),onValueChange:e=>r(Q(n,{dayOfWeek:Number(e)})),children:[(0,X.jsx)(I,{children:(0,X.jsx)(_e,{})}),(0,X.jsx)(fe,{children:_t.map(function(e){return(0,X.jsx)(se,{value:e.value,children:e.label},e.value)})})]})]}),(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsx)(L,{htmlFor:`schedule-time`,children:`Time`}),(0,X.jsx)(z,{id:`schedule-time`,type:`time`,value:n.presetTime,onChange:e=>r(Q(n,{presetTime:e.target.value}))})]})]}),(0,X.jsxs)(`p`,{className:C(d.caption,`text-muted-foreground`),children:[`Timezone: `,n.timezone]})]}),t[21]=r,t[22]=h,t[23]=n,t[24]=w):w=t[24];let T;t[25]!==u||t[26]!==r||t[27]!==n?(T=n.kind===`event`&&(0,X.jsxs)(`div`,{className:`space-y-2 border-t border-border pt-4`,children:[(0,X.jsx)(L,{htmlFor:`event-key`,children:`Event Key`}),(0,X.jsx)(z,{id:`event-key`,value:n.eventKey,placeholder:`door.opened`,"aria-invalid":!!(u&&ht(u)),onChange:e=>r(Q(n,{eventKey:e.target.value}))}),u&&ht(u)?(0,X.jsx)(`p`,{className:C(d.caption,`text-destructive`),children:u}):(0,X.jsxs)(`p`,{className:C(d.caption,`text-muted-foreground`),children:[`Test in chat with `,(0,X.jsxs)(`code`,{children:[`/send-event `,n.eventKey.trim()||`event.key`]})]})]}),t[25]=u,t[26]=r,t[27]=n,t[28]=T):T=t[28];let E;t[29]!==u||t[30]!==n.kind?(E=u&&n.kind!==`event`?(0,X.jsx)(`p`,{className:C(d.caption,`text-destructive`),children:u}):null,t[29]=u,t[30]=n.kind,t[31]=E):E=t[31];let D;t[32]!==r||t[33]!==n?(D=n.kind!==`manual`&&(0,X.jsxs)(`div`,{className:`space-y-2 border-t border-border pt-4`,children:[(0,X.jsx)(L,{children:`Status`}),(0,X.jsxs)(ae,{type:`single`,value:n.enabled?`active`:`paused`,onValueChange:e=>{(e===`active`||e===`paused`)&&r(Q(n,{enabled:e===`active`}))},"aria-label":`Trigger status`,className:`inline-flex h-auto w-fit justify-start rounded-full border-0 bg-background p-1 text-muted-foreground`,children:[(0,X.jsx)(R,{value:`active`,"aria-label":`Active`,className:C(d.body,`h-auto min-h-0 min-w-0 rounded-full border-0 bg-background px-4 py-1.5 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm hover:bg-background hover:text-muted-foreground data-[state=on]:hover:bg-foreground data-[state=on]:hover:text-background`),children:`Active`}),(0,X.jsx)(R,{value:`paused`,"aria-label":`Paused`,className:C(d.body,`h-auto min-h-0 min-w-0 rounded-full border-0 bg-background px-4 py-1.5 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm hover:bg-background hover:text-muted-foreground data-[state=on]:hover:bg-foreground data-[state=on]:hover:text-background`),children:`Paused`})]})]}),t[32]=r,t[33]=n,t[34]=D):D=t[34];let O;return t[35]!==S||t[36]!==w||t[37]!==T||t[38]!==E||t[39]!==D||t[40]!==g?(O=(0,X.jsxs)(`div`,{className:`mt-4 space-y-4 rounded-lg border border-border p-4`,children:[g,S,w,T,E,D]}),t[35]=S,t[36]=w,t[37]=T,t[38]=E,t[39]=D,t[40]=g,t[41]=O):O=t[41],O}var $=k(`app.task-list.ui`);function yt(e){let t=(0,q.c)(28),{onSearchTermChange:r}=e,[i,a]=(0,K.useState)(!1),[o,s]=(0,K.useState)(``),c;t[0]===r?c=t[1]:(c=function(e){s(e),r(e)},t[0]=r,t[1]=c);let l=c,u;t[2]===r?u=t[3]:(u=function(){s(``),r(``),a(!1)},t[2]=r,t[3]=u);let d=u,f;t[4]!==d||t[5]!==i?(f=()=>{i?d():a(!0)},t[4]=d,t[5]=i,t[6]=f):f=t[6];let p,m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,X.jsx)(n,{className:`h-4 w-4`}),m=(0,X.jsx)(`span`,{className:`sr-only`,children:`Search tasks`}),t[7]=p,t[8]=m):(p=t[7],m=t[8]);let h;t[9]!==i||t[10]!==f?(h=(0,X.jsx)(ie,{asChild:!0,children:(0,X.jsxs)(N,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:f,"aria-expanded":i,children:[p,m]})}),t[9]=i,t[10]=f,t[11]=h):h=t[11];let g;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,X.jsx)(M,{children:`Search tasks`}),t[12]=g):g=t[12];let _;t[13]===h?_=t[14]:(_=(0,X.jsxs)(F,{children:[h,g]}),t[13]=h,t[14]=_);let v=i?`ml-1 w-44 opacity-100`:`w-0 opacity-0`,y;t[15]===v?y=t[16]:(y=C(`overflow-hidden transition-[width,opacity] duration-200`,v),t[15]=v,t[16]=y);let b;t[17]!==d||t[18]!==l||t[19]!==i||t[20]!==o?(b=i&&(0,X.jsx)(z,{type:`search`,value:o,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key===`Escape`&&d()},placeholder:`Search`,"aria-label":`Search tasks`,autoFocus:!0,className:`h-8 min-w-44 px-2`}),t[17]=d,t[18]=l,t[19]=i,t[20]=o,t[21]=b):b=t[21];let x;t[22]!==y||t[23]!==b?(x=(0,X.jsx)(`div`,{className:y,children:b}),t[22]=y,t[23]=b,t[24]=x):x=t[24];let S;return t[25]!==x||t[26]!==_?(S=(0,X.jsxs)(`div`,{className:`flex items-center`,children:[_,x]}),t[25]=x,t[26]=_,t[27]=S):S=t[27],S}function bt({projectId:e,onThreadSelect:n,initialTasks:r}){let a=ye(),o=V(e=>e.projects),s=V(e=>e.selectedThreadId),l=V(e=>e.processingThreadIds),u=V(e=>e.pendingChatMessage),f=V(e=>e.queuedChatMessages),p=V(e=>e.projectModelSelections),m=o.find(t=>t.projectId===e),h=m?.threads.find(e=>e.threadId===s),v=s?p[s]:void 0,[y,b]=(0,K.useState)(r),[x,S]=(0,K.useState)(!1),[T,E]=(0,K.useState)(null),[D,O]=(0,K.useState)(``),[k,P]=(0,K.useState)(!1),[I,ae]=(0,K.useState)([]),[L,oe]=(0,K.useState)(new Set),[se,fe]=(0,K.useState)(``),[R,he]=(0,K.useState)(!1),[ge,_e]=(0,K.useState)(!1),[z,ve]=(0,K.useState)([]),[be,xe]=(0,K.useState)([]),[Ce,we]=(0,K.useState)(ct),[H,Re]=(0,K.useState)(ct),[ze,Be]=(0,K.useState)(!0),[Ve,W]=(0,K.useState)(null),[Ge,G]=(0,K.useState)(null);(0,K.useEffect)(()=>{Pe(e).then(ae).catch(e=>$.error(`Failed to fetch project tags:`,e))},[e]);let{setActions:Ke}=Oe(),q=(0,K.useCallback)(function(e){oe(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),qe=(0,K.useCallback)(async function(){_e(!0);try{await le(e),b(await Ee(e)),J(),Q(),ne();let t=await me();a({type:B.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){$.error(`Failed to refresh project tasks:`,e)}finally{_e(!1)}},[e,a]);(0,K.useEffect)(()=>(Ke((0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(yt,{onSearchTermChange:fe}),(0,X.jsxs)(F,{children:[(0,X.jsx)(ie,{asChild:!0,children:(0,X.jsxs)(N,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:()=>void qe(),disabled:ge,children:[(0,X.jsx)(c,{className:C(`h-4 w-4`,ge&&`animate-spin`)}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Refresh tasks`})]})}),(0,X.jsx)(M,{children:`Refresh`})]}),(0,X.jsxs)(Me,{children:[(0,X.jsxs)(F,{children:[(0,X.jsx)(ie,{asChild:!0,children:(0,X.jsx)(je,{asChild:!0,children:(0,X.jsxs)(N,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,children:[(0,X.jsx)(i,{className:`h-4 w-4`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Filter and manage tags`})]})})}),(0,X.jsx)(M,{children:`Tags`})]}),(0,X.jsxs)(We,{align:`end`,className:`max-h-[var(--radix-dropdown-menu-content-available-height)] w-56 overflow-y-auto`,children:[I.length===0?(0,X.jsx)(U,{disabled:!0,className:`text-muted-foreground`,children:`No tags yet`}):I.map(function(e){return(0,X.jsxs)(Ne,{checked:L.has(e.id),onCheckedChange:()=>q(e.id),onSelect:e=>e.preventDefault(),children:[(0,X.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name})]},e.id)}),(0,X.jsx)(Ae,{}),(0,X.jsxs)(U,{onClick:()=>he(!0),children:[(0,X.jsx)(t,{className:`h-4 w-4`}),`Edit Tags`]})]})]})]})),()=>Ke(null)),[Ke,I,L,q,ge,qe]);function J(){Se(`project-tasks:${e}:`)}let Y=m?.tasksModifiedCount??0,Qe=(0,K.useRef)({});(0,K.useEffect)(()=>{let t=Qe.current[e]??0;if(Y===0){Qe.current[e]=0;return}t!==Y&&(Qe.current[e]=Y,Y>t&&qe())},[Y,e,qe]),(0,K.useEffect)(()=>{if(!y.some(e=>e.working))return;let t=setInterval(async()=>{try{let n=await Ee(e);b(n),n.some(e=>e.working)||clearInterval(t)}catch(e){$.error(`Failed to poll project tasks:`,e)}},2e3);return()=>clearInterval(t)},[y,e]),(0,K.useEffect)(()=>{b(r)},[r]),(0,K.useEffect)(()=>{x&&(O(``),ve([]),we(ct()),Be(!0))},[x]),(0,K.useEffect)(()=>{T&&(xe(T.task.tags??[]),Re(lt(T.task)))},[T]);function nt(e){b(t=>t.map(t=>t.id===e.id?e:t))}function ot(e){O(e.description),E({task:e}),G(null)}function Z(){E(null),O(``),G(null)}function st(e,t){if(e)return null;let n=pt(t);return n?mt(n):null}async function ut(){if(!D.trim())return;let t=st(ze,Ce);if(t){W(t);return}W(null),P(!0);try{let t=z.map(e=>e.name),n=ze?{}:dt(Ce),r=await Ue(e,D,{threadId:s??void 0,provider:v?.provider??h?.modelProvider,model:v?.id??h?.model,tags:t.length>0?t:void 0,...n});b(e=>[...e,r]),J(),Q(),S(!1),O(``),ve([]),W(null)}catch(e){W(mt(e instanceof Error?e.message:`Failed to add task`)),$.error(`Failed to add task:`,e)}finally{P(!1)}}async function ht(){if(!D.trim()||!T)return;let t=st(!ft(H),H);if(t){G(t);return}G(null),P(!0);try{let t=D.trim(),n=t!==T.task.description.trim(),r=be.map(e=>e.name),i=new Set((T.task.tags??[]).map(e=>A(e.name))),a=new Set(r.map(e=>A(e))),o=i.size!==a.size||[...a].some(e=>!i.has(e)),c=!gt(lt(T.task),H),l=c?dt(H):{};if(!n&&!o&&!c){Z();return}let u=await De(e,T.task.id,{description:n?t:void 0,threadId:s??void 0,provider:v?.provider??h?.modelProvider,model:v?.id??h?.model,tags:o?r:void 0,...l});b(e=>e.map(e=>e.id===u.id?u:e)),J(),o&&Q(),Z()}catch(e){G(mt(e instanceof Error?e.message:`Failed to save task`)),$.error(`Failed to save task:`,e)}finally{P(!1)}}async function _t(){if(T){P(!0);try{await He(e,T.task.id),b(e=>e.filter(e=>e.id!==T.task.id)),J(),Q(),Z()}catch(e){$.error(`Failed to delete task:`,e)}finally{P(!1)}}}function Q(){Pe(e).then(ae).catch(e=>$.error(`Failed to refresh project tags:`,e))}function bt(t){let n=new Set(t.map(function(e){return e.id}));ae(t),oe(function(e){return new Set([...e].filter(e=>n.has(e)))}),Ee(e).then(b).catch(e=>$.error(`Failed to refresh tasks after tag change:`,e))}async function xt(t){let r=await pe(e);if(!r)return;let i=null,o=null,s=await $e(r,n=>{o||(o=n,a({type:B.AddCreatingThread,projectId:e,threadId:n,title:Xe(m)}),a({type:B.AddProcessingThread,threadId:n})),De(e,t.id,{status:`Build`,working:!0,threadId:n}).then(e=>{i=e,nt(e)})});if(!s){o&&(a({type:B.RemoveCreatingThread,projectId:e,threadId:o}),a({type:B.RemoveProcessingThread,threadId:o}));return}a({type:B.RemoveProcessingThread,threadId:s});try{await Ze(a)}catch(e){$.error(`Failed to refresh projects after task thread creation:`,e)}await Le(e,t,`Build`,s,i,nt);let c=await ke(e,s);if(!c){$.error(`No model configuration found. Please configure a model and provider for this project first.`);return}Te(a,s,c.model,c.provider),n?await n(s):a({type:B.SelectThread,threadId:s,projectId:e}),a({type:B.SetPendingChatMessage,message:{threadId:s,message:t.description,model:c.model,provider:c.provider}})}async function St(t){if(!s){$.error(`No selected thread found for project task implementation.`);return}let r=await ke(e,s);if(!r){$.error(`No model configuration found. Please configure a model and provider for this project first.`);return}if(Te(a,s,r.model,r.provider),nt(await De(e,t.id,{status:`Build`,working:!0,threadId:s})),n?await n(s):a({type:B.SelectThread,threadId:s,projectId:e}),l.includes(s)||u?.threadId===s||f.some(e=>e.threadId===s)){a({type:B.EnqueueChatMessage,message:{id:_(),threadId:s,paneId:`primary`,message:t.description,model:r.model,attachments:[],provider:r.provider}});return}a({type:B.SetPendingChatMessage,message:{threadId:s,message:t.description,model:r.model,provider:r.provider}})}async function Ct(t){nt(await Fe(e,t.id)),J()}async function wt(t){nt(await De(e,t.id,{status:`Done`,working:!1})),J()}let Tt=Ye(y).filter(function(e){return e.status!==`Done`}),Et=se.trim().toLocaleLowerCase(),Dt=Tt.filter(e=>{let t=new Set((e.tags??[]).map(function(e){return e.id})),n=L.size===0||[...L].every(e=>t.has(e)),r=[e.title,e.description,...(e.tags??[]).map(function(e){return e.name})].join(` `).toLocaleLowerCase(),i=!Et||r.includes(Et);return n&&i});return(0,X.jsxs)(`div`,{className:`relative flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,children:[(0,X.jsx)(ce,{className:`min-h-0 min-w-0 flex-1 overflow-hidden [&>[data-radix-scroll-area-viewport]>div]:block`,children:(0,X.jsx)(`div`,{className:`pb-14`,children:Tt.length===0?(0,X.jsx)(`p`,{className:C(d.bodyMuted,`px-4 py-8 text-center`),children:`No active tasks yet. Add one to get started.`}):Dt.length===0?(0,X.jsx)(`p`,{className:C(d.bodyMuted,`px-4 py-8 text-center`),children:`No tasks match the current filters.`}):(0,X.jsx)(`div`,{className:`min-w-0 w-full divide-y divide-border`,children:Dt.map(e=>(0,X.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[minmax(0,1fr)_auto] grid-rows-[auto_auto] gap-x-2 gap-y-1 px-4 py-3 hover:bg-accent/40 sm:flex sm:items-start sm:gap-4`,children:[(0,X.jsxs)(`button`,{type:`button`,className:`col-start-1 row-start-1 block min-w-0 overflow-hidden text-left sm:flex-1`,onClick:()=>ot(e),children:[(0,X.jsx)(`p`,{className:C(d.label,`truncate leading-normal`),children:e.title}),(0,X.jsx)(`p`,{className:C(d.caption,`mt-1 line-clamp-2 break-all text-muted-foreground max-sm:hidden`),children:e.description}),Je(e)&&(0,X.jsx)(`p`,{className:C(d.caption,`mt-1 text-muted-foreground`),children:Je(e)}),(e.status!==`Ready`||(e.tags?.length??0)>0||e.modified)&&(0,X.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-1`,children:[e.status!==`Ready`&&(0,X.jsx)(rt,{status:e.status}),e.modified&&(0,X.jsx)(`span`,{className:`inline-flex items-center rounded-full bg-brand/15 px-2 py-0.5 text-[11px] font-medium leading-none text-brand`,children:`modified`}),e.tags?.map(function(e){return(0,X.jsx)(tt,{tag:e},e.id)})]})]}),(0,X.jsx)(`button`,{type:`button`,className:`col-span-2 row-start-2 block min-w-0 overflow-hidden text-left sm:hidden`,onClick:()=>ot(e),children:(0,X.jsx)(`p`,{className:C(d.caption,`line-clamp-4 break-all text-muted-foreground`),children:e.description})}),(e.status!==`Ready`||(e.tags?.length??0)>0||e.modified)&&(0,X.jsxs)(`div`,{className:`col-span-2 row-start-3 flex min-w-0 flex-wrap gap-1 sm:hidden`,children:[e.status!==`Ready`&&(0,X.jsx)(rt,{status:e.status}),e.modified&&(0,X.jsx)(`span`,{className:`inline-flex items-center rounded-full bg-brand/15 px-2 py-0.5 text-[11px] font-medium leading-none text-brand`,children:`modified`}),e.tags?.map(function(e){return(0,X.jsx)(tt,{tag:e},e.id)})]}),(0,X.jsxs)(`div`,{className:`col-start-2 row-start-1 flex shrink-0 items-center gap-1.5 self-start`,children:[e.threadId&&n&&(0,X.jsxs)(F,{children:[(0,X.jsx)(ie,{asChild:!0,children:(0,X.jsxs)(N,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>n(e.threadId),children:[(0,X.jsx)(w,{className:`h-4 w-4`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Open thread`})]})}),(0,X.jsx)(M,{children:`Open thread`})]}),(0,X.jsx)(et,{task:e,onImplementInNewThread:xt,onImplementInThisThread:St,onMarkDone:wt,onRunNow:Ct})]})]},e.id))})})}),(0,X.jsxs)(F,{children:[(0,X.jsx)(ie,{asChild:!0,children:(0,X.jsxs)(N,{size:`icon`,className:`absolute bottom-6 right-6 z-10 h-10 w-10 rounded-full shadow-lg`,onClick:()=>S(!0),children:[(0,X.jsx)(g,{className:`h-5 w-5`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Add task`})]})}),(0,X.jsx)(M,{children:`Add task`})]}),(0,X.jsx)(re,{open:x,onOpenChange:e=>{S(e),e||W(null)},children:(0,X.jsxs)(te,{className:`max-w-2xl flex-col max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:overflow-y-auto max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100 md:max-h-[calc(100svh-2rem)]`,children:[(0,X.jsx)(ee,{children:(0,X.jsxs)(F,{children:[(0,X.jsx)(ie,{asChild:!0,children:(0,X.jsx)(ue,{className:`w-fit cursor-help`,children:`Add Task`})}),(0,X.jsx)(M,{side:`top`,className:`max-w-xs`,children:`A title will be generated automatically from your description.`})]})}),(0,X.jsxs)(`div`,{className:`py-2`,children:[(0,X.jsx)(Ie,{placeholder:`Describe what needs to be done...`,value:D,onChange:e=>O(e.target.value),rows:12,className:`max-h-[min(16rem,40svh)] resize-none text-base sm:max-h-none`,autoFocus:!0,onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&ut()}}),(0,X.jsx)(`div`,{className:`mt-4`,children:(0,X.jsx)(it,{selectedTags:z,existingTags:I,onChange:ve,allowCreate:!1})}),(0,X.jsx)(vt,{value:Ce,onChange:e=>{we(e),W(null)},collapsed:ze,onCollapsedChange:Be,showCollapseControl:!0,error:Ve})]}),(0,X.jsx)(de,{children:(0,X.jsx)(N,{onClick:()=>void ut(),disabled:k||!D.trim(),children:k?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(j,{className:`mr-1 h-3 w-3 animate-spin`}),`Generating title...`]}):`Add`})})]})}),(0,X.jsx)(re,{open:T!==null,onOpenChange:e=>!e&&Z(),children:(0,X.jsxs)(te,{className:`max-w-2xl flex-col max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:overflow-y-auto max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100 md:max-h-[calc(100svh-2rem)]`,children:[(0,X.jsx)(ee,{children:(0,X.jsx)(ue,{children:`Edit Task`})}),(0,X.jsxs)(`div`,{className:`py-2`,children:[(0,X.jsx)(Ie,{placeholder:`Describe what needs to be done...`,value:D,onChange:e=>O(e.target.value),rows:12,className:`max-h-[min(16rem,40svh)] resize-none text-base sm:max-h-none`,autoFocus:!0,onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&ht()}}),(0,X.jsx)(`div`,{className:`mt-4`,children:(0,X.jsx)(it,{selectedTags:be,existingTags:I,onChange:xe,allowCreate:!1})}),(0,X.jsx)(vt,{value:H,onChange:e=>{Re(e),G(null)},showCollapseControl:!0,collapsed:!ft(H),onCollapsedChange:e=>{e&&Re(ct()),G(null)},error:Ge})]}),(0,X.jsxs)(de,{className:`flex-row justify-between gap-2 sm:gap-0`,children:[(0,X.jsx)(N,{variant:`destructive`,onClick:()=>void _t(),disabled:k,children:`Delete`}),(0,X.jsx)(N,{onClick:()=>void ht(),disabled:k||!D.trim(),className:`w-auto`,children:k?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(j,{className:`mr-1 h-3 w-3 animate-spin`}),`Saving...`]}):`Save`})]})]})}),(0,X.jsx)(at,{open:R,onOpenChange:he,projectId:e,tags:I,onTagsChanged:bt})]})}function xt(e){let t=(0,q.c)(13),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({projectId:r,loadVersion:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]!==n||t[5]!==r?(a=Y(r,n),t[4]=n,t[5]=r,t[6]=a):a=t[6];let o;t[7]===r?o=t[8]:(o=()=>Qe(r),t[7]=r,t[8]=o);let s=Ce(a,o),c;return t[9]!==s||t[10]!==r||t[11]!==i?(c=(0,X.jsx)(bt,{projectId:r,initialTasks:s,...i}),t[9]=s,t[10]=r,t[11]=i,t[12]=c):c=t[12],c}function St(e){let t=(0,q.c)(18),n,r;t[0]===e?(n=t[1],r=t[2]):({refreshTrigger:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i=r===void 0?0:r,[a,o]=(0,K.useState)(0),s,c;t[3]!==n.projectId||t[4]!==i?(s=()=>{i!==0&&o(e=>(xe(Y(n.projectId,e)),e+1))},c=[i,n.projectId],t[3]=n.projectId,t[4]=i,t[5]=s,t[6]=c):(s=t[5],c=t[6]),(0,K.useEffect)(s,c);let l;t[7]!==a||t[8]!==n.projectId?(l=function(){xe(Y(n.projectId,a)),o(Ct)},t[7]=a,t[8]=n.projectId,t[9]=l):l=t[9];let u=l,d;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,X.jsx)(oe,{className:`h-64`}),t[10]=d):d=t[10];let f=`${n.projectId}:${a}`,p;t[11]!==a||t[12]!==n||t[13]!==f?(p=(0,X.jsx)(K.Suspense,{fallback:d,children:(0,X.jsx)(xt,{...n,loadVersion:a},f)}),t[11]=a,t[12]=n,t[13]=f,t[14]=p):p=t[14];let m;return t[15]!==u||t[16]!==p?(m=(0,X.jsx)(Ke,{fallbackTitle:`Failed to load tasks`,onRetry:u,children:p}),t[15]=u,t[16]=p,t[17]=m):m=t[17],m}function Ct(e){return e+1}var wt=k(`app.tasks-view.ui`);function Tt({projectId:e,refreshTrigger:t}){let n=ye(),r=V(e=>e.projects),i=V(e=>e.selectedThreadId),a=V(e=>e.selectedProjectId),{expandWindow:o,hasOpenWindows:s}=be();(0,K.useEffect)(()=>{let e=!1;return(async()=>{try{let{getProjects:t,invalidateProjectsCache:r}=await ve(async()=>{let{getProjects:e,invalidateProjectsCache:t}=await import(`./onboarding-DVc9-yKJ.js`).then(e=>e.Xt);return{getProjects:e,invalidateProjectsCache:t}},__vite__mapDeps([0,1,2]));r();let i=await t();e||n({type:B.SetProjects,projects:i.projects,cloneRootPath:i.cloneRootPath})}catch(e){wt.error(`Failed to refresh projects on tasks view mount:`,e)}})(),()=>{e=!0}},[n]);async function c(t){if(r.find(t=>t.projectId===e)){s&&o(D);try{let{getProjects:r,invalidateProjectsCache:o}=await ve(async()=>{let{getProjects:e,invalidateProjectsCache:t}=await import(`./onboarding-DVc9-yKJ.js`).then(e=>e.Xt);return{getProjects:e,invalidateProjectsCache:t}},__vite__mapDeps([0,1,2]));o();let s=await r();n({type:B.SetProjects,projects:s.projects,cloneRootPath:s.cloneRootPath});let c=s.projects.find(t=>t.projectId===e);if(c&&c.threads.find(e=>e.threadId===t)){(i!==t||a!==e)&&n({type:B.SelectThread,threadId:t,projectId:e});try{let e=await ge();n({type:B.SetProcessingThreads,threadIds:e})}catch(e){wt.error(`Failed to fetch processing threads after thread selection:`,e)}}}catch(r){wt.error(`Failed to refresh projects for thread selection:`,r),(i!==t||a!==e)&&n({type:B.SelectThread,threadId:t,projectId:e});try{let e=await ge();n({type:B.SetProcessingThreads,threadIds:e})}catch(e){wt.error(`Failed to fetch processing threads after fallback thread selection:`,e)}}}}return(0,X.jsx)(`div`,{className:`relative flex h-full min-w-0 flex-col overflow-hidden`,children:(0,X.jsx)(`div`,{className:`min-w-0 flex-1 overflow-hidden`,children:(0,X.jsx)(St,{projectId:e,refreshTrigger:t,onThreadSelect:c})})})}export{Tt as TasksView};
|