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
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ar as t,Dr as n,Er as r,Jn as i,Or as a,Ti as o,dr as s,jr as c,kr as l,wi as u}from"./interactive-WtOIgeV4.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.SetPrimaryConversationId=`SET_PRIMARY_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.AddOpenWidget=`ADD_OPEN_WIDGET`,e.CloseWidget=`CLOSE_WIDGET`,e.SyncOpenWidgetsFromMessages=`SYNC_OPEN_WIDGETS_FROM_MESSAGES`,e}({}),f=s,p={projects:[],cloneRootPath:null,projectsLoading:!0,selectedThreadId:null,selectedProjectId:null,messages:[],messagesLoaded:!1,primaryConversationId:void 0,queuedChatMessages:[],isStreaming:!1,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,streamingAgentMode:null,streamingEventCount:0,threadStreamingStates:{},threadMultiPaneStates:{},threadWidgetStates:{},projectModelSelections:{},paneModelSelections:{},sidebarOpen:!0,projectPanelView:`projects`,projectPanelProjectId:null,isCreatingProject:!1,configUpdatedAt:0,processingThreadIds:[],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,openWidgets:[],closedWidgetIds:[]},m={open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};function h(e,t){return`${e}:${t}`}function g(e,t,n=f){return t?e[h(t,n)]??null:null}function _(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 v(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 y(e,t,n,r){if(t.includes(e))return!0;for(let t of v(n,e))if(w(n,e,t).isStreaming)return!0;return r?.threadId===e}var b={isStreaming:!1,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,streamingAgentMode:null,streamingEventCount:0},x=b;function S(){return{...b,streamingSegments:[]}}function C(e,t=f){return`${e}:${t}`}function w(e,t,n=f){return t?e[C(t,n)]??x:x}function ee(e,t){let n=new Set([f,...t.sessionPaneIds??[],...v(t.streamingStates,e)]);for(let r of n)if(t.hasSession(r)||w(t.streamingStates,e,r).isStreaming)return!0;return!1}function T(e,t){return t.threadId??e.selectedThreadId}function te(e){return e??f}function E(e,t,n,r){return!n||!t.includes(n)?!1:te(e)===r}function ne(e,t,n){return t?w(e.threadStreamingStates,t,n).isStreaming?!0:E(e.activeStreamPane,e.processingThreadIds,t,n):!1}function D(e,t){return t.paneId??e.activeStreamPane??f}function re(e,t,n){return t===e.selectedThreadId?e.activeStreamPane===null?n===f:e.activeStreamPane===n:!1}function O(e,t,n,r,i=!1){if(!t)return{...e,...r,toolCallProgress:i?{}:e.toolCallProgress};let a=C(t,n),o={...e.threadStreamingStates,[a]:r};return re(e,t,n)?{...e,...r,threadStreamingStates:o,toolCallProgress:i?{}:e.toolCallProgress}:{...e,threadStreamingStates:o}}function ie(){return{open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1}}var k={focusedPane:f,extraChatPanes:{},activeStreamPane:null};function ae(){return{focusedPane:f,extraChatPanes:{},activeStreamPane:null}}function A(e){return{focusedPane:e.focusedPane,extraChatPanes:e.extraChatPanes,activeStreamPane:e.activeStreamPane}}function oe(e,t){return t?e[t]??k:k}function se(e){let t={};for(let[n,r]of Object.entries(e))t[n]={...r,messages:[...r.messages]};return t}function j(e){return{...e,extraChatPanes:se(e.extraChatPanes)}}function M(e,t,n){let r=j(n),i=t===null?e.threadMultiPaneStates:{...e.threadMultiPaneStates,[t]:r};return t===e.selectedThreadId?{...e,...r,threadMultiPaneStates:i}:{...e,threadMultiPaneStates:i}}function ce(e,t,n){let r=e.threadMultiPaneStates;return t&&(r={...r,[t]:j(A(e))}),{...j(oe(r,n)),threadMultiPaneStates:r}}function N(e,t){return M(e,e.selectedThreadId,{...A(e),...t})}function le(e,t){let n=e.chatPanesByThread[t];if(!n)return j(k);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 ue(e,t){if(!t)return e;let n=se(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 de(e,t){return t===f?e.messages:e.extraChatPanes[t]?.messages??[]}function fe(e,t){return t===f?e.primaryConversationId:e.extraChatPanes[t]?.conversationId}function pe(e,t){return t===f?e.messagesLoaded:e.extraChatPanes[t]?.messagesLoaded??!1}function me(e){return Object.keys(e.extraChatPanes)}function he(e,t){switch(t.type){case d.HydrateProjectChatPanes:{let n=new Set(t.threadIds),r={...e.threadMultiPaneStates};for(let n of t.threadIds)r[n]=ue(le(t,n),n===e.selectedThreadId?A(e):e.threadMultiPaneStates[n]);return!e.selectedThreadId||!n.has(e.selectedThreadId)?{...e,threadMultiPaneStates:r}:{...e,...r[e.selectedThreadId],threadMultiPaneStates:r}}case d.AddChatPane:return t.paneId===f?e:e.extraChatPanes[t.paneId]?N(e,{focusedPane:t.paneId}):N(e,{focusedPane:t.paneId,extraChatPanes:{...e.extraChatPanes,[t.paneId]:{conversationId:t.conversationId,messages:[],messagesLoaded:!1}}});case d.RemoveChatPane:{if(t.paneId===f||!e.extraChatPanes[t.paneId])return e;let{[t.paneId]:n,...r}=e.extraChatPanes;return N(e,{extraChatPanes:r,focusedPane:e.focusedPane===t.paneId?f:e.focusedPane,activeStreamPane:e.activeStreamPane===t.paneId?null:e.activeStreamPane})}case d.SetFocusedPane:return N(e,{focusedPane:t.paneId});case d.SetPaneMessages:{if(t.paneId===f)return{...e,messages:t.messages,messagesLoaded:!0};let n=e.extraChatPanes[t.paneId];return n?N(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,messages:t.messages,messagesLoaded:!0}}}):e}case d.AddPaneMessage:{if(t.paneId===f)return{...e,messages:[...e.messages,t.message]};let n=e.extraChatPanes[t.paneId];return n?N(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,messages:[...n.messages,t.message]}}}):e}case d.SetActiveStreamPane:{if(!e.selectedThreadId||t.paneId===null)return N(e,{activeStreamPane:null});let n=w(e.threadStreamingStates,e.selectedThreadId,t.paneId);return{...N(e,{activeStreamPane:t.paneId}),...n}}default:return null}}function P(e){return e.trim().replace(/\/+$/,``)}function ge(e,t){if(e?.trim())return e.trim();try{let e=new URL(t).hostname;return e.replace(/\.(netlify\.app|vercel\.app|github\.io)$/i,``).split(`.`)[0]??e}catch{return t}}function _e(e,t){return ge(e,t)}var F={openWidgets:[],closedWidgetIds:[]};function ve(){return{openWidgets:[],closedWidgetIds:[]}}function I(e){return{openWidgets:e.openWidgets,closedWidgetIds:e.closedWidgetIds}}function ye(e,t){return t?e[t]??F:F}function L(e){return{openWidgets:[...e.openWidgets],closedWidgetIds:[...e.closedWidgetIds]}}function be(e,t,n){let r=L(n),i=t===null?e.threadWidgetStates:{...e.threadWidgetStates,[t]:r};return t===e.selectedThreadId?{...e,...r,threadWidgetStates:i}:{...e,threadWidgetStates:i}}function xe(e,t,n){let r=e.threadWidgetStates;return t&&(r={...r,[t]:L(I(e))}),{...L(ye(r,n)),threadWidgetStates:r}}function Se(e,t){if(e.some(e=>e.id===t.id))return e;let n=P(t.url),r=e.filter(e=>P(e.url)!==n),i=e.find(e=>P(e.url)===n);return i?[...r,{id:t.id,url:t.url,title:t.title??i.title}]:[...e,t]}function R(e,t){return be(e,e.selectedThreadId,{...I(e),...t})}function Ce(e,t){switch(t.type){case d.AddOpenWidget:return R(e,{openWidgets:Se(I(e).openWidgets,t.widget)});case d.CloseWidget:{let n=I(e);return n.openWidgets.some(e=>e.id===t.id)?R(e,{openWidgets:n.openWidgets.filter(e=>e.id!==t.id),closedWidgetIds:n.closedWidgetIds.includes(t.id)?n.closedWidgetIds:[...n.closedWidgetIds,t.id]}):e}case d.SyncOpenWidgetsFromMessages:{let n=I(e),r=new Set(n.closedWidgetIds),i=new Set(n.openWidgets.map(e=>e.id)),a=[...n.openWidgets];for(let e of t.widgets)r.has(e.id)||i.has(e.id)||(a=Se(a,e),i.add(e.id));return a.length===n.openWidgets.length?e:R(e,{openWidgets:a})}default:return null}}function we(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 Te(e,t){switch(t.type){case d.SetMessages:return{...e,messages:we(e,t.messages),messagesLoaded:!0};case d.SetPrimaryConversationId:{let n=t.conversationId?.trim()||void 0;return e.primaryConversationId===n?e:{...e,primaryConversationId:n}}case d.AddMessage:{let n=t.paneId??f;if(n!==f){if(t.threadId&&t.threadId!==e.selectedThreadId)return e;let r=e.extraChatPanes[n];return r?M(e,e.selectedThreadId,{...A(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]}}case d.EnqueueChatMessage:return{...e,queuedChatMessages:[...e.queuedChatMessages,t.message]};case d.RemoveQueuedChatMessage:return{...e,queuedChatMessages:e.queuedChatMessages.filter(e=>e.id!==t.queuedMessageId)};case d.ClearMessages:return{...e,messages:[],primaryConversationId:void 0};case d.UpdateMessage:{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}}case d.UpdateMessageCheckpointRef:{if(t.threadId!==e.selectedThreadId)return e;let n=t.paneId??f;if(n!==f){let r=e.extraChatPanes[n];return r?M(e,e.selectedThreadId,{...A(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)}}case d.SetDevServerToolSession:return{...e,devServerToolSession:t.session};case d.SetThreadToolSession:return{...e,threadToolSessions:{...e.threadToolSessions,[t.session.threadId]:t.session}};case d.ClearThreadToolSession:{if(!e.threadToolSessions[t.threadId])return e;let{[t.threadId]:n,...r}=e.threadToolSessions;return{...e,threadToolSessions:r}}case d.SetThreadCreationSummary:return{...e,threadCreationSummaries:{...e.threadCreationSummaries,[t.threadId]:t.message}};case d.ClearThreadCreationSummary:{if(!e.threadCreationSummaries[t.threadId])return e;let{[t.threadId]:n,...r}=e.threadCreationSummaries;return{...e,threadCreationSummaries:r}}case d.UpdateToolCallProgress:{let n=e.toolCallProgress[t.toolCallId];return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:{...n,...t.progress}}}}case d.UpdateToolExecutionOutput:{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}}}}case d.AppendToolExecutionOutput:{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}}}}case d.AppendSubagentEvent:{let n=e.subagentTranscripts[t.toolCallId]??[];return{...e,subagentTranscripts:{...e.subagentTranscripts,[t.toolCallId]:[...n,t.event]}}}case d.ClearToolCallProgress:{if(!t.toolCallId)return{...e,toolCallProgress:{}};let{[t.toolCallId]:n,...r}=e.toolCallProgress;return{...e,toolCallProgress:r}}case d.SetPendingChatMessage:return{...e,pendingChatMessage:t.message};case d.ClearPendingChatMessage:return{...e,pendingChatMessage:null};case d.SetChatInputDraft:return{...e,chatInputDrafts:{...e.chatInputDrafts,[t.threadId]:t.draft}};case d.ClearChatInputDraft:{let{[t.threadId]:n,...r}=e.chatInputDrafts;return{...e,chatInputDrafts:r}}case d.SelectThread:{let n=ce(e,e.selectedThreadId,t.threadId),r=xe(e,e.selectedThreadId,t.threadId),i=w(e.threadStreamingStates,t.threadId,f);return{...e,...i,...n,...r,selectedThreadId:t.threadId,selectedProjectId:t.projectId,messages:t.initialMessages??[],messagesLoaded:!1,primaryConversationId:void 0,focusChatInput:t.focusInput??!1,subagentTranscripts:{}}}case d.SelectProject:{let n=ce(e,e.selectedThreadId,``),r=xe(e,e.selectedThreadId,``);return{...e,...S(),...n,...r,selectedThreadId:null,selectedProjectId:t.projectId,messages:[],messagesLoaded:!1,primaryConversationId:void 0,focusChatInput:!1,subagentTranscripts:{}}}case d.ClearSelection:return{...e,...S(),selectedThreadId:null,selectedProjectId:null,messages:[],messagesLoaded:!1,primaryConversationId:void 0,...ae(),...ve()};default:return null}}var Ee=i(`store.project`);function De(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:{Ee.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};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)};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 z(e){return e.type===`tool_use`}function B(e){return e.type===`tool-result`}function Oe(e){return e.type===`text`}function V(e){return typeof e==`string`?e.replace(/\\n/g,`
|
|
2
|
-
`).replace(/✅/g,`✓`):``}function ke(e){let t=0;for(let n=e.length-1;n>=0;n--){let r=e[n];if(!r||!Oe(r))break;t+=1}return t}function Ae(e){let t=ke(e);return t===0?null:e.slice(e.length-t).filter(Oe).map(e=>V(e.text).trim()).filter(e=>e.length>0).join(`
|
|
3
|
-
|
|
4
|
-
`).trim()||null}function je(e){let t=U(e);return t?Ae(t):V(e).trim()||null}function Me(e){if(!e||typeof e!=`string`)return null;let t=e.trim();if(!t)return null;let n=/\[([A-Za-z]+)\]\s*/g,r,i=0;for(let e of t.matchAll(n))r=e[1],i=e.index+e[0].length;let a=r,o=a?t.slice(i):t;if(a&&o)return[{type:`reasoning`,text:o,label:a}];let s=[],c=0;for(;c<t.length;){let e=t.indexOf(`[`,c);if(e===-1){let e=t.slice(c).trim();e&&s.push({type:`reasoning`,text:e});break}let n=t.slice(c,e).trim();n&&s.push({type:`reasoning`,text:n});let r=Ne(t,e);if(r===-1){let n=t.slice(e).trim();n&&s.push({type:`reasoning`,text:n});break}try{let n=JSON.parse(t.slice(e,r+1));if(Array.isArray(n)){for(let e of n)if(e&&typeof e==`object`&&`type`in e){let t=e.type;(t===`tool-result`||t===`tool_use`)&&s.push(e)}}}catch{let n=t.slice(e,r+1).trim();n&&s.push({type:`reasoning`,text:n})}c=r+1}return s.length>0?s:null}function Ne(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 Pe(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=Ne(e,r);if(t===-1)break;try{let i=JSON.parse(e.slice(r,t+1));if(!Array.isArray(i))break;n.push(...H(i))}catch{break}r=t+1}return n.length===0?null:{blocks:n,nextIndex:r}}function Fe(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 H(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 Ie(e){let t=[];if(e.type===`long_running_confirmation`&&typeof e.prompt==`object`&&e.prompt!==null&&typeof e.prompt.question==`string`&&Array.isArray(e.prompt.options)){let n=e.prompt;return t.push({type:`long_running_confirmation`,prompt:{toolCallId:typeof n.toolCallId==`string`?n.toolCallId:void 0,question:n.question,options:n.options.filter(e=>typeof e==`string`),context:typeof n.context==`string`?n.context:void 0}}),t}if(e.type===`shell_permission`&&typeof e.shellPermission==`object`&&e.shellPermission!==null&&typeof e.shellPermission.command==`string`){let n=e.shellPermission;return t.push({type:`shell_permission`,prompt:{toolCallId:typeof n.toolCallId==`string`?n.toolCallId:`shell-permission`,command:n.command,source:n.source===`bash`||n.source===`skill_script`||n.source===`browser_js`?n.source:`bash`,wildcardOptions:Array.isArray(n.wildcardOptions)?n.wildcardOptions.filter(e=>typeof e==`object`&&!!e&&typeof e.label==`string`&&typeof e.pattern==`string`&&(e.scope===`session`||e.scope===`project`)):[]}}),t}if(e.type===`seatbelt_escalation`&&typeof e.seatbeltEscalation==`object`&&e.seatbeltEscalation!==null){let n=e.seatbeltEscalation;return typeof n.command==`string`&&t.push({type:`seatbelt_escalation`,prompt:{toolCallId:typeof n.toolCallId==`string`?n.toolCallId:`seatbelt-escalation`,command:n.command,projectId:typeof n.projectId==`string`?n.projectId:``,scopes:[`once`,`project`,`session`]}}),t}if(e.type===`web_fetch_permission`&&typeof e.webFetchPermission==`object`&&e.webFetchPermission!==null&&typeof e.webFetchPermission.hostname==`string`){let n=e.webFetchPermission;return t.push({type:`web_fetch_permission`,prompt:{toolCallId:typeof n.toolCallId==`string`?n.toolCallId:`web-fetch-permission`,hostname:n.hostname,url:typeof n.url==`string`?n.url:``,wildcardOptions:Array.isArray(n.wildcardOptions)?n.wildcardOptions.filter(e=>typeof e==`object`&&!!e&&typeof e.label==`string`&&typeof e.pattern==`string`&&(e.scope===`session`||e.scope===`project`)):[]}}),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 Le(e){return U(e)?.some(e=>e.type===`tool_use`||e.type===`tool-result`)??!1}function U(e){if(!e)return null;let t=e.trim();if(t.startsWith(`{`)||t.startsWith(`[`))try{let e=JSON.parse(t);if(Array.isArray(e))return H(e);if(typeof e==`object`&&e)return Ie(e)}catch{if(t.startsWith(`[`)){let e=Pe(t);if(e){let n=t.slice(e.nextIndex).trim();return n?[...e.blocks,{type:`text`,text:n}]:e.blocks}}}let n=[],r=e.indexOf(`{`),i=e.indexOf(`[`),a=r===-1?i:i===-1?r:Math.min(r,i);if(a!==-1){let t=e.slice(0,a).trim();t&&n.push({type:`text`,text:t});let r=e.slice(a),i=Pe(r);if(i){n.push(...i.blocks);let e=r.slice(i.nextIndex).trim();return e&&n.push({type:`text`,text:e}),n}let o=Math.max(r.lastIndexOf(`]`),r.lastIndexOf(`}`));if(o!==-1){let e=r.substring(0,o+1);try{let t=JSON.parse(e);Array.isArray(t)?n.push(...H(t)):n.push(...Ie(t));let i=r.substring(o+1).trim();return i&&n.push({type:`text`,text:i}),n}catch{}}}return n.length>0?n:null}function W(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 Re(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 ze(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.type===`content`)return t;return-1}function Be(e){let t=e.chunks.join(``);return U(t)??(t.trim()?[{type:`text`,text:t}]:[])}function Ve(e){return e.some(e=>e.type===`tool_use`||e.type===`tool-result`)}function He(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 Ue(e,t){let n=ze(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=Be(r);e&&Ve(e)&&Ve(n)&&(i=JSON.stringify(Fe(n,e)))}return[...e.slice(0,n),{type:`content`,chunks:[i]},...e.slice(n+1)]}function We(e,t){let n=U(t);if(!n?.some(e=>e.type===`tool_use`||e.type===`tool-result`))return W(e,`content`,t);let r=Re(e),i=n;if(r>=0){let t=e[r];t?.type===`content`&&(i=Fe(Be(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 Ge(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`content`)return n.chunks.join(``)}return``}function Ke(e,t){return[...e,{type:`long_running_confirmation`,prompt:t}]}function qe(e,t){return[...e,{type:`shell_permission`,prompt:t}]}function Je(e,t){return[...e,{type:`seatbelt_escalation`,prompt:t}]}function Ye(e,t){return[...e,{type:`web_fetch_permission`,prompt:t}]}function G(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}let e=n.chunks.join(``);if(n.type===`thinking`){let n=Me(e)??[];t.push(...n)}else{let n=U(e)??(e.trim()?[{type:`text`,text:e}]:[]);t.push(...n)}}return He(t)}function K(e){return e.type===`thinking-group`}function Xe(e,t=!1){let n=[],r=[],i,a=()=>{r.length>0&&(n.push({type:`thinking-group`,text:r.join(`
|
|
5
|
-
|
|
6
|
-
`),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 Ze(e){return e.type===`tool-call-group`}var Qe=new Set([`todo`,`call_widget_tool`]),q=new Set([`todo`,`ask_user`,`open_widget`,`call_widget_tool`]),$e=new Map(t.map((e,t)=>[e.id,t]));function et(e){if(K(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 tt(e){return K(e)?!1:e.type===`tool_use`?!Qe.has(e.name):e.type===`tool-result`?!q.has(e.toolName):!1}function nt(e){let t=[],n=[];function r(){n.some(tt)?t.push({type:`tool-call-group`,items:n}):t.push(...n),n=[]}for(let i of e)et(i)?(n.length>0&&r(),t.push(i)):n.push(i);return n.length>0&&r(),t}function J(e){return e.length===0?0:e.split(`
|
|
7
|
-
`).length}function rt(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+=J(e.newText)),typeof e.oldText==`string`&&(n+=J(e.oldText))}return{added:t,removed:n}}return typeof e.newText==`string`&&(t+=J(e.newText)),typeof e.oldText==`string`&&(n+=J(e.oldText)),{added:t,removed:n}}function it(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 at(e){let t=typeof e.path==`string`&&e.path?e.path:null;return t?t.split(`/`).pop()??t:null}function ot(e){let t=typeof e.description==`string`?e.description.trim():``;return t?`${t}…`:null}function st(e){return(typeof e.intention==`string`?e.intention.trim():``)||null}function ct(e){let t=st(e);return t?`${t}…`:null}function lt(e){let t=e.toLowerCase();return t===`run_js`||t===`run_web_worker`}function ut(e){return l(e.name,e.input)?a(`subagents`):n(e.name)}function dt(e){return e.filter(e=>e===`subagents`).length}function ft(e,t){let n=e[0];return a(n!==void 0&&e.every(e=>e===n)?n:`other`).formatNeutral(t)}function Y(e){return e.charAt(0).toUpperCase()+e.slice(1)}function pt(e,t,n){let r=[],i=new Map;for(let t of e)K(t)||(z(t)?r.push(t):B(t)&&i.set(t.toolCallId,t));let a=new Set(r.map(e=>e.id)),o=it(t),s=new Map,u=[],d=new Set,f=[],p=0,m=0,h=0,g=0,_=null;function v(e){let t=ut(e);s.set(t.id,(s.get(t.id)??0)+1),t.id===`commands`&&f.push(e);let n=e.name.toLowerCase();if(n===`edit`||n===`write`){let t=typeof e.input.path==`string`&&e.input.path?e.input.path:e.id;if(d.add(t),n===`edit`){let t=rt(e.input);m+=t.added,h+=t.removed}else typeof e.input.content==`string`&&(m+=J(e.input.content))}}for(let e of r){if(Qe.has(e.name))continue;let r=i.has(e.id),a=n?.has(e.id)||t.some(t=>B(t)&&t.toolCallId===e.id&&!q.has(t.toolName));r?v(e):a||(p+=1,u.push(ut(e).id),_=e)}for(let e of i.values())if(!q.has(e.toolName)&&(e.isError===!0&&(g+=1),!a.has(e.toolCallId))){let n=t.find(t=>z(t)&&t.id===e.toolCallId);n?v(n):s.set(`other`,(s.get(`other`)??0)+1)}let y=[];for(let[e,t]of s)e===`other`||t===0||y.push({id:e,count:e===`files`?d.size:t});y.sort((e,t)=>($e.get(e.id)??2**53-1)-($e.get(t.id)??2**53-1));let b=d.size,x=null;if(_)if(o.has(_.id))x=`Awaiting permission · ${ft(u,p)}`;else if(l(_.name,_.input))x=ot(_.input)??`${_.activeDisplayName??c(_.name)}…`;else if(lt(_.name))x=ct(_.input)??`${_.activeDisplayName??c(_.name)}…`;else{let e=_.activeDisplayName??c(_.name),t=at(_.input);x=t?`${e} ${t}…`:`${e}…`}let S=null;if(f.length===1){let e=f[0];e&<(e.name)&&(S=st(e.input))}return{categories:y,distinctFiles:b,otherCount:s.get(`other`)??0,pendingCount:p,pendingCategoryIds:u,linesAdded:m,linesRemoved:h,errorCount:g,activeLabel:x,singleCommandTitle:S}}function mt(e,t){let n=e.categories.slice(0,3),i=e.categories.slice(3).reduce((e,t)=>e+t.count,0),o=e.otherCount+i,s=n.map(t=>t.id===`commands`&&t.count===1&&e.singleCommandTitle?e.singleCommandTitle:a(t.id).formatPhrase(t.count)),c=``;s.length>0?(c=s.join(`, `),o>0&&(c+=`, and ${o} more`),c=Y(c)):o>0&&(c=Y(a(`other`).formatPhrase(o)));let l=dt(e.pendingCategoryIds);if(l>0){let e=r(l);c=c?`${c} · ${e}`:Y(e)}let u=t.showActive&&e.activeLabel!==null,d=e.pendingCount-l;if(!u&&d>0){let t=ft(e.pendingCategoryIds.filter(e=>e!==`subagents`),d);c=c?`${c} · ${t}`:Y(t)}let f=e.linesAdded+e.linesRemoved>0?`+${e.linesAdded} −${e.linesRemoved}`:null;return{text:c,lineStats:f,errorCount:e.errorCount,activeLabel:u?e.activeLabel:null}}function ht(e){let t=nt(Xe(e,!0));for(let n=t.length-1;n>=0;n--){let r=t[n];if(!Ze(r))continue;let i=mt(pt(r.items,e),{showActive:!0});if(i.activeLabel!==null)return i.activeLabel}return null}function gt(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 _t(e){return e.type===`content`||e.type===`thinking`?e.chunks.some(e=>e.trim().length>0):!1}function vt(e){let t=G(e),n=t.some(e=>z(e)&&e.name===`ask_user`),r=t.some(e=>B(e)&&e.toolName===`ask_user`);if(n&&!r)return!0;let i=gt(e);return i===-1?!1:!e.slice(i+1).some(_t)}function yt(e){let t=G(e);return t.length===0?`...`:t.length===1&&t[0]?.type===`text`&&`text`in t[0]?t[0].text:JSON.stringify(t)}function bt(e,t){switch(t.type){case d.SetStreaming:{let n=T(e,t),r=D(e,t);return O(e,n,r,{...w(e.threadStreamingStates,n,r),isStreaming:t.isStreaming})}case d.AppendStreamContent:{let n=T(e,t),r=D(e,t),i=w(e.threadStreamingStates,n,r);return O(e,n,r,{...i,streamingContent:i.streamingContent+t.content})}case d.SetStreamContent:{let n=T(e,t),r=D(e,t),i=w(e.threadStreamingStates,n,r),a=Ue(i.streamingSegments,t.content);return O(e,n,r,{...i,streamingContent:t.content,streamingSegments:a})}case d.AppendStreamThinking:{let n=T(e,t),r=D(e,t),i=w(e.threadStreamingStates,n,r);return O(e,n,r,{...i,streamingThinking:i.streamingThinking+t.content})}case d.IncrementStreamEventCount:{let n=T(e,t),r=D(e,t),i=w(e.threadStreamingStates,n,r);return O(e,n,r,{...i,streamingEventCount:i.streamingEventCount+1})}case d.AppendStreamChunk:{let n=T(e,t),r=D(e,t),i=w(e.threadStreamingStates,n,r);return O(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=T(e,t),r=D(e,t);return O(e,n,r,{...w(e.threadStreamingStates,n,r),streamingModel:t.model})}case d.SetStreamAgentMode:{let n=T(e,t),r=D(e,t);return O(e,n,r,{...w(e.threadStreamingStates,n,r),streamingAgentMode:t.mode})}case d.SetContextUsage:{let n=T(e,t),r=D(e,t);return O(e,n,r,{...w(e.threadStreamingStates,n,r),contextUsage:t.contextUsage})}case d.ResetStream:return O(e,T(e,t),D(e,t),S(),!0);case d.StopStream:{let n=T(e,t),r=D(e,t);return O(e,n,r,{...w(e.threadStreamingStates,n,r),isStreaming:!1})}default:return null}}function X(e,t){return e.terminalStates[t]??ie()}function xt(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 St(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 Ct=[bt,_,Te,he,Ce,De,xt,St];function wt(e,t){for(let n of Ct){let r=n(e,t);if(r!==null)return r}return e}var Tt=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 Et(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 Dt(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=wt(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 Et(e))s(t);o()}function l(e){if(Tt.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 Ot=u(),Q=e(o(),1),kt=(0,Q.createContext)(null);function $(){let e=(0,Q.useContext)(kt);if(!e)throw Error(`useAppStore must be used within an AppStoreContext.Provider`);return e}function At(e){let t=(0,Ot.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 jt(){return $().dispatch}function Mt(e){let t=(0,Ot.c)(8),n=jt(),r;t[0]===e?r=t[1]:(r=t=>(e?t.terminalStates[e]:void 0)??m,t[0]=e,t[1]=r);let i=At(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{U as A,v as B,nt as C,B as D,Ze as E,me as F,ee as G,E as H,fe as I,f as J,g as K,de as L,pt as M,P as N,z as O,_e as P,pe as R,Xe as S,K as T,ne as U,w as V,y as W,We as _,Mt as a,qe as b,Le as c,ht as d,Ge as f,Ke as g,W as h,$ as i,Me as j,V as k,He as l,G as m,jt as n,Dt as o,je as p,d as q,At as r,yt as s,kt as t,mt as u,Je as v,vt as w,Ye as x,Ue as y,C as z};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/onboarding-dbhmRuxw.js","assets/rolldown-runtime-aKtaBQYM.js","assets/interactive-WtOIgeV4.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{$t as t,Ci as n,Fn as r,Fr as i,G as a,In as o,Jn as s,Ln as c,Nn as l,Pn as u,Q as d,Qt as f,Rn as p,S as m,Ti as h,Wn as g,Y as _,ar as v,cr as y,dr as b,f as x,hn as S,i as C,lr as w,mt as T,or as E,sr as D,wi as O,y as k,z as A,zn as j}from"./interactive-WtOIgeV4.js";import{A as ee,Ct as te,D as ne,Mr as re,Oi as M,St as ie,T as ae,Tt as oe,_ as N,a as se,ar as P,b as F,bt as ce,fr as le,h as ue,ht as de,in as fe,j as pe,k as me,m as he,o as I,p as ge,pa as _e,pn as ve,v as ye,wo as L,wr as be,x as R}from"./onboarding-dbhmRuxw.js";import{l as xe}from"./monaco-D1hpqXQ0.js";import{n as Se,q as z,r as B}from"./store-CSyJjyNs.js";import{n as Ce}from"./chat-dock-context-yQDhSXnw.js";import{t as we}from"./ndjson-stream-DeGpE5o5.js";import{n as V,r as Te,t as Ee}from"./use-suspense-resource-rX-GqyWi.js";import{Dt as De,Et as Oe,K as ke,Nt as Ae,Ot as je,V as Me,bt as Ne,ct as Pe,dt as Fe,ft as Ie,ht as H,jt as Le,kt as U,lt as Re,mt as ze,pt as Be,st as W,ut as Ve,vt as He,yt as G}from"./index-B7qJtiRL.js";import{n as K,t as Ue}from"./commit-method-fields-DG3NtLE2.js";import{t as We}from"./async-error-boundary-B0tQed36.js";var q=e(h(),1),J=O();function Y(e,t){return`project-tasks:${e}:${t}`}function Ge(e){return e.status!==`Done`&&!e.working}function Ke(e){return e.status!==`Done`&&!e.working&&!!e.triggerType}function qe(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=j(e.scheduleCron),i=n?r(n):e.scheduleCron,a=p(e.scheduleCron,e.timezone),s=a?o(a):null;return s?`${t}${i} · ${s}`:`${t}${i}`}return e.triggerType===`event`&&e.eventKey?`${t}Event: ${e.eventKey}`:null}function Je(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}`}async function Ye(e){re(),Te(`projects:bootstrap:`);let t=await le();e({type:z.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath}),e({type:z.SetProjectsLoading,projectsLoading:!1})}async function Xe(e){let t=await Ie(e),n=t.filter(e=>e.threadId&&e.status!==`Done`),r=[...t];return await Promise.all(n.map(async t=>{try{await be(t.threadId)}catch(n){if(n instanceof Error&&n.message.includes(`not found`)){let n=await H(e,t.id,{status:`Done`}),i=r.findIndex(e=>e.id===t.id);i!==-1&&(r[i]=n)}}})),r}async function Ze(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}function Qe(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())}var $e=s(`app.task-agent-run.ui`);async function et(e,t){let n=await be(t),r=n.model,i=n.modelProvider;if(r&&i)return{model:r,provider:i};try{let t=(await _e(`api/threads?projectId=${encodeURIComponent(e)}`)||[]).map(e=>{let t=e;return{model:t.model??void 0,modelProvider:t.modelProvider??void 0}}).find(e=>e.model&&e.modelProvider);if(t?.model&&t.modelProvider)return{model:t.model,provider:t.modelProvider}}catch(e){$e.error(`Failed to get project threads:`,e)}return null}function tt(e,t,n,r){e({type:z.SetProjectModel,threadId:t,model:{id:n,provider:r,name:n,description:``}}),M(t,{model:n,modelProvider:r})}async function nt(e,t,n,r,i,a){i||a(await H(e,t.id,{status:n,working:!0,threadId:r}))}var X=n();function rt({task:e,disabled:n=!1,onImplementInNewThread:r,onImplementInThisThread:i,onMarkDone:a,onRunNow:o}){let[s,c]=(0,q.useState)(!1),l=Ge(e),u=e.status!==`Done`,d=Ke(e),f=n||s||!l&&!u&&!d;async function p(e){c(!0);try{await e()}finally{c(!1)}}return(0,X.jsxs)(Oe,{children:[(0,X.jsx)(Ae,{asChild:!0,children:(0,X.jsxs)(L,{variant:`ghost`,size:`icon`,className:C(`h-8 w-8 shrink-0`,e.working&&`text-primary`),disabled:f,children:[s||e.working?(0,X.jsx)(T,{className:`h-4 w-4 animate-spin`}):(0,X.jsx)(t,{className:`h-4 w-4`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Task actions`})]})}),(0,X.jsxs)(je,{align:`end`,children:[l&&(0,X.jsx)(U,{onClick:()=>void p(()=>i(e)),children:`Do This`}),d&&(0,X.jsx)(U,{onClick:()=>void p(()=>o(e)),children:`Run Now`}),l&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Le,{}),(0,X.jsx)(U,{onClick:()=>void p(()=>r(e)),children:`Do this in a new thread`})]}),u&&(0,X.jsx)(U,{onClick:()=>void p(()=>a(e)),children:`Mark as Done`})]})]})}function it(e){let t=(0,J.c)(14),{tag:n,onRemove:r,className:a}=e,o;t[0]===a?o=t[1]:(o=C(i.compact,`inline-flex items-center gap-1 rounded-full border border-border/50 bg-background px-2 py-0.5`,a),t[0]=a,t[1]=o);let s;t[2]===n.color?s=t[3]:(s=(0,X.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:n.color}}),t[2]=n.color,t[3]=s);let c;t[4]===n.name?c=t[5]:(c=(0,X.jsx)(`span`,{className:`truncate`,children:n.name}),t[4]=n.name,t[5]=c);let l;t[6]!==r||t[7]!==n.name?(l=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]=l):l=t[8];let u;return t[9]!==o||t[10]!==s||t[11]!==c||t[12]!==l?(u=(0,X.jsxs)(`span`,{className:o,children:[s,c,l]}),t[9]=o,t[10]=s,t[11]=c,t[12]=l,t[13]=u):u=t[13],u}var at={Plan:`#EAB308`,Build:`#3B82F6`,Test:`#8B5CF6`,Review:`#F97316`,Done:`#22C55E`};function ot(e){let t=(0,J.c)(10),{status:n,className:r}=e,a;t[0]===r?a=t[1]:(a=C(i.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]=a);let o=at[n],s;t[2]===o?s=t[3]:(s=(0,X.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:o}}),t[2]=o,t[3]=s);let c;t[4]===n?c=t[5]:(c=(0,X.jsx)(`span`,{className:`truncate`,children:n}),t[4]=n,t[5]=c);let l;return t[6]!==a||t[7]!==s||t[8]!==c?(l=(0,X.jsxs)(`span`,{className:a,children:[s,c]}),t[6]=a,t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function st({selectedTags:e,existingTags:t,onChange:n,placeholder:r=`Add tags...`,allowCreate:a=!0}){let[o,s]=(0,q.useState)(``),[c,l]=(0,q.useState)(!1),[u,d]=(0,q.useState)(0),f=(0,q.useRef)(null),p=(0,q.useMemo)(()=>new Set(e.map(e=>D(e.name))),[e]),m=e.length>=10,h=(0,q.useMemo)(()=>{let e=o.trim(),n=e.toLowerCase(),r=new Map;for(let e of t){let t=D(e.name);p.has(t)||r.set(t,{name:e.name,color:e.color})}for(let e of v){let t=D(e);!p.has(t)&&!r.has(t)&&r.set(t,{name:e,color:E(t)})}let i=(n?[...r.values()].filter(e=>e.name.toLowerCase().includes(n)):[...r.values()]).map(e=>({name:e.name,color:e.color,isCreate:!1}));if(e&&a&&!m){let t=y(e),n=D(t),a=p.has(n)||r.has(n),o=!w(t);!a&&o&&i.push({name:t,color:E(n),isCreate:!0})}return i},[o,t,p,m]);(0,q.useEffect)(()=>{d(0)},[o]),(0,q.useEffect)(function(){if(!c||m)return;let e=requestAnimationFrame(function(){f.current?.focus()});return function(){cancelAnimationFrame(e)}},[c,m]);function g(r){if(m)return;let i=y(r),a=D(i);if(p.has(a))return;let o=t.find(e=>D(e.name)===a)??{id:`new:${a}`,name:i,color:E(a)};n([...e,o]),s(``)}function b(t){n(e.filter(e=>e.id!==t.id))}function x(t){if(t.key===`ArrowDown`)t.preventDefault(),c||l(!0),d(e=>(e+1)%Math.max(h.length,1));else if(t.key===`ArrowUp`)t.preventDefault(),d(e=>(e-1+h.length)%Math.max(h.length,1));else if(t.key===`Enter`){t.preventDefault();let e=h[u];e&&g(e.name)}else t.key===`Backspace`&&!o&&e.length>0?b(e[e.length-1]):t.key===`Escape`&&(l(!1),f.current?.blur())}return(0,X.jsxs)(He,{open:c,onOpenChange:function(e){l(e),e||s(``)},children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[e.map(function(e){return(0,X.jsx)(it,{tag:e,onRemove:()=>b(e)},e.id)}),(0,X.jsx)(Ne,{asChild:!0,children:(0,X.jsx)(L,{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)(_,{className:`h-3 w-3`})})})]}),(0,X.jsxs)(G,{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:o,onChange:function(e){s(e.target.value)},onKeyDown:x,placeholder:m?`Max 10 tags`:r,disabled:m,className:C(i.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(i.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(i.body,`flex w-full items-center gap-2 px-3 py-2 text-left hover:bg-accent`,u===t&&`bg-accent`),onClick:function(){g(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 ct({open:e,onOpenChange:t,projectId:n,tags:r,onTagsChanged:a}){let[o,s]=(0,q.useState)(null),[c,l]=(0,q.useState)(``),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(!1),[m,h]=(0,q.useState)(!1),[g,_]=(0,q.useState)(null),[v,y]=(0,q.useState)(null);function b(e){s(e.id),l(e.name),_(null)}function w(){s(null),l(``),_(null)}async function E(){let e=u.trim();if(e){h(!0),_(null);try{let t=await W(n,e);a([...r,t]),d(``)}catch(e){_(e instanceof Error?e.message:`Failed to create tag`)}finally{h(!1)}}}async function D(e){let t=c.trim();if(t){p(!0),_(null);try{let i=await Be(n,e,t);a(r.map(e=>e.id===i.id?{...e,name:i.name,color:i.color}:e)),w()}catch(e){_(e instanceof Error?e.message:`Failed to rename tag`)}finally{p(!1)}}}async function O(e){p(!0),_(null);try{await Re(n,e),a(r.filter(t=>t.id!==e)),y(null),o===e&&w()}catch(e){_(e instanceof Error?e.message:`Failed to delete tag`)}finally{p(!1)}}return(0,X.jsx)(ae,{open:e,onOpenChange:t,children:(0,X.jsxs)(ne,{className:`flex max-h-[min(36rem,85vh)] flex-col sm:max-w-md`,children:[(0,X.jsx)(ee,{children:(0,X.jsx)(pe,{children:`Manage Tags`})}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2 py-2`,children:[(0,X.jsx)(R,{value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&E(),e.key===`Escape`&&d(``)},placeholder:`New tag name...`,className:`h-8 flex-1`,disabled:m}),(0,X.jsx)(L,{size:`sm`,className:`h-8 shrink-0 bg-foreground text-background hover:bg-foreground/90`,onClick:()=>void E(),disabled:m||!u.trim(),children:m?(0,X.jsx)(T,{className:`h-3.5 w-3.5 animate-spin`}):`Add`})]}),r.length===0?(0,X.jsx)(`p`,{className:C(i.bodyMuted,`py-4 text-center`),children:`No tags yet. Create one above to get started.`}):(0,X.jsx)(de,{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=o===e.id,n=v===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&&!f&&`cursor-pointer`),onClick:()=>{!f&&!t&&!n&&b(e)},children:t?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(R,{value:c,onChange:e=>l(e.target.value),onKeyDown:t=>{t.key===`Enter`&&D(e.id),t.key===`Escape`&&w()},className:`h-8 flex-1 text-sm`,autoFocus:!0,disabled:f}),(0,X.jsx)(L,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>void D(e.id),disabled:f||!c.trim(),children:f?(0,X.jsx)(T,{className:`h-4 w-4 animate-spin`}):(0,X.jsx)(S,{className:`h-4 w-4`})}),(0,X.jsx)(L,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:w,disabled:f,children:(0,X.jsx)(x,{className:`h-4 w-4`})})]}):n?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`span`,{className:C(i.body,`flex-1 truncate`),children:[`Delete `,e.name,`? Removes from `,e.taskCount,` `,e.taskCount===1?`task`:`tasks`,`.`]}),(0,X.jsx)(L,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-destructive hover:text-destructive`,onClick:()=>void O(e.id),disabled:f,children:f?(0,X.jsx)(T,{className:`h-4 w-4 animate-spin`}):(0,X.jsx)(S,{className:`h-4 w-4`})}),(0,X.jsx)(L,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>y(null),disabled:f,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(i.body,`min-w-0 flex-1 truncate`),children:e.name}),(0,X.jsxs)(`span`,{className:C(i.caption,`shrink-0 text-muted-foreground`),children:[e.taskCount,` `,e.taskCount===1?`task`:`tasks`]}),(0,X.jsx)(L,{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(),y(e.id)},disabled:f,"aria-label":`Delete ${e.name}`,children:(0,X.jsx)(k,{className:`h-3.5 w-3.5`})})]})},e.id)})})}),g&&(0,X.jsx)(`p`,{className:C(i.caption,`text-destructive`),children:g})]})})}var lt=`09:00`;function Z(e){return String(e).padStart(2,`0`)}function ut(){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 dt(){return{kind:`manual`,scheduleMode:`once`,scheduledAtLocal:ut(),preset:`daily`,presetTime:lt,dayOfWeek:new Date().getDay(),timezone:c(),enabled:!0,eventKey:``}}function ft(e){let t=dt();if(e.triggerType===`schedule`){if(e.scheduleCron){let n=j(e.scheduleCron);return{kind:`schedule`,scheduleMode:`repeating`,scheduledAtLocal:t.scheduledAtLocal,preset:n?.preset??`daily`,presetTime:n?.time??lt,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 pt(e){let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()}function mt(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:pt(e.scheduledAtLocal),scheduleCron:null,timezone:e.timezone,enabled:e.enabled,eventKey:null}:{triggerType:`schedule`,scheduledAt:null,scheduleCron:u(e.preset,e.presetTime,e.dayOfWeek),timezone:e.timezone,enabled:e.enabled,eventKey:null}}function ht(e){return e.kind!==`manual`}function gt(e){return e.kind===`manual`?null:l(mt(e))}function _t(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 vt(e){return e.startsWith(`Event key`)}function yt(e,t){return JSON.stringify(e)===JSON.stringify(t)}var bt=[{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 xt(e){let t=(0,J.c)(42),{value:n,onChange:r,collapsed:a,onCollapsedChange:o,showCollapseControl:s,error:c}=e,l=a===void 0?!1:a,u=s===void 0?!1:s,d=c===void 0?null:c,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(u&&l){let e;return t[6]===o?e=t[7]:(e=(0,X.jsx)(`div`,{className:`mt-4`,children:(0,X.jsx)(L,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>o?.(!1),children:`Add schedule or event trigger`})}),t[6]=o,t[7]=e),e}let g;t[8]!==r||t[9]!==o||t[10]!==u||t[11]!==n?(g=u&&(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,X.jsx)(`p`,{className:C(i.label),children:`Trigger`}),(0,X.jsxs)(L,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-muted-foreground`,onClick:()=>{r(Q(n,{kind:`manual`})),o?.(!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]=o,t[10]=u,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)(I,{value:`manual`,"aria-label":`Manual`,className:C(i.body,K),children:`Manual`}),t[15]=v):v=t[15];let y;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,X.jsx)(I,{value:`schedule`,"aria-label":`Schedule`,className:C(i.body,K),children:`Schedule`}),t[16]=y):y=t[16];let b;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,X.jsx)(I,{value:`event`,"aria-label":`Event`,className:C(i.body,K),children:`Event`}),t[17]=b):b=t[17];let S;t[18]!==_||t[19]!==n.kind?(S=(0,X.jsxs)(se,{type:`single`,value:n.kind,onValueChange:_,"aria-label":`Trigger type`,className:Ue,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)(se,{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)(I,{value:`once`,"aria-label":`Once`,className:C(i.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)(I,{value:`repeating`,"aria-label":`Repeating`,className:C(i.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)(F,{htmlFor:`schedule-once-at`,children:`Run at`}),(0,X.jsx)(R,{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)(F,{children:`Preset`}),(0,X.jsxs)(ge,{value:n.preset,onValueChange:e=>r(Q(n,{preset:e})),children:[(0,X.jsx)(N,{children:(0,X.jsx)(ye,{})}),(0,X.jsxs)(he,{children:[(0,X.jsx)(ue,{value:`daily`,children:`Daily`}),(0,X.jsx)(ue,{value:`weekdays`,children:`Weekdays`}),(0,X.jsx)(ue,{value:`weekly`,children:`Weekly`})]})]})]}),n.preset===`weekly`&&(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsx)(F,{children:`Day`}),(0,X.jsxs)(ge,{value:String(n.dayOfWeek),onValueChange:e=>r(Q(n,{dayOfWeek:Number(e)})),children:[(0,X.jsx)(N,{children:(0,X.jsx)(ye,{})}),(0,X.jsx)(he,{children:bt.map(function(e){return(0,X.jsx)(ue,{value:e.value,children:e.label},e.value)})})]})]}),(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsx)(F,{htmlFor:`schedule-time`,children:`Time`}),(0,X.jsx)(R,{id:`schedule-time`,type:`time`,value:n.presetTime,onChange:e=>r(Q(n,{presetTime:e.target.value}))})]})]}),(0,X.jsxs)(`p`,{className:C(i.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]!==d||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)(F,{htmlFor:`event-key`,children:`Event Key`}),(0,X.jsx)(R,{id:`event-key`,value:n.eventKey,placeholder:`door.opened`,"aria-invalid":!!(d&&vt(d)),onChange:e=>r(Q(n,{eventKey:e.target.value}))}),d&&vt(d)?(0,X.jsx)(`p`,{className:C(i.caption,`text-destructive`),children:d}):(0,X.jsxs)(`p`,{className:C(i.caption,`text-muted-foreground`),children:[`Test in chat with `,(0,X.jsxs)(`code`,{children:[`/send-event `,n.eventKey.trim()||`event.key`]})]})]}),t[25]=d,t[26]=r,t[27]=n,t[28]=T):T=t[28];let E;t[29]!==d||t[30]!==n.kind?(E=d&&n.kind!==`event`?(0,X.jsx)(`p`,{className:C(i.caption,`text-destructive`),children:d}):null,t[29]=d,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)(F,{children:`Status`}),(0,X.jsxs)(se,{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)(I,{value:`active`,"aria-label":`Active`,className:C(i.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)(I,{value:`paused`,"aria-label":`Paused`,className:C(i.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 $=s(`app.task-list.ui`);function St(e){let t=(0,J.c)(28),{onSearchTermChange:n}=e,[r,i]=(0,q.useState)(!1),[a,o]=(0,q.useState)(``),s;t[0]===n?s=t[1]:(s=function(e){o(e),n(e)},t[0]=n,t[1]=s);let c=s,l;t[2]===n?l=t[3]:(l=function(){o(``),n(``),i(!1)},t[2]=n,t[3]=l);let u=l,d;t[4]!==u||t[5]!==r?(d=()=>{r?u():i(!0)},t[4]=u,t[5]=r,t[6]=d):d=t[6];let f,p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,X.jsx)(A,{className:`h-4 w-4`}),p=(0,X.jsx)(`span`,{className:`sr-only`,children:`Search tasks`}),t[7]=f,t[8]=p):(f=t[7],p=t[8]);let m;t[9]!==r||t[10]!==d?(m=(0,X.jsx)(oe,{asChild:!0,children:(0,X.jsxs)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:d,"aria-expanded":r,children:[f,p]})}),t[9]=r,t[10]=d,t[11]=m):m=t[11];let h;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,X.jsx)(te,{children:`Search tasks`}),t[12]=h):h=t[12];let g;t[13]===m?g=t[14]:(g=(0,X.jsxs)(ie,{children:[m,h]}),t[13]=m,t[14]=g);let _=r?`ml-1 w-44 opacity-100`:`w-0 opacity-0`,v;t[15]===_?v=t[16]:(v=C(`overflow-hidden transition-[width,opacity] duration-200`,_),t[15]=_,t[16]=v);let y;t[17]!==u||t[18]!==c||t[19]!==r||t[20]!==a?(y=r&&(0,X.jsx)(R,{type:`search`,value:a,onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Escape`&&u()},placeholder:`Search`,"aria-label":`Search tasks`,autoFocus:!0,className:`h-8 min-w-44 px-2`}),t[17]=u,t[18]=c,t[19]=r,t[20]=a,t[21]=y):y=t[21];let b;t[22]!==v||t[23]!==y?(b=(0,X.jsx)(`div`,{className:v,children:y}),t[22]=v,t[23]=y,t[24]=b):b=t[24];let x;return t[25]!==b||t[26]!==g?(x=(0,X.jsxs)(`div`,{className:`flex items-center`,children:[g,b]}),t[25]=b,t[26]=g,t[27]=x):x=t[27],x}function Ct({projectId:e,onThreadSelect:t,initialTasks:n}){let r=Se(),o=B(e=>e.projects),s=B(e=>e.selectedThreadId),c=B(e=>e.processingThreadIds),l=B(e=>e.pendingChatMessage),u=B(e=>e.queuedChatMessages),p=B(e=>e.projectModelSelections),h=o.find(t=>t.projectId===e),v=h?.threads.find(e=>e.threadId===s),y=s?p[s]:void 0,[b,x]=(0,q.useState)(n),[S,w]=(0,q.useState)(!1),[E,O]=(0,q.useState)(null),[k,A]=(0,q.useState)(``),[j,M]=(0,q.useState)(!1),[N,se]=(0,q.useState)([]),[P,F]=(0,q.useState)(new Set),[ce,ue]=(0,q.useState)(``),[he,I]=(0,q.useState)(!1),[ge,_e]=(0,q.useState)(!1),[ye,be]=(0,q.useState)([]),[R,xe]=(0,q.useState)([]),[Ce,we]=(0,q.useState)(dt),[V,Ee]=(0,q.useState)(dt),[Ne,Re]=(0,q.useState)(!0),[Be,W]=(0,q.useState)(null),[He,G]=(0,q.useState)(null);(0,q.useEffect)(()=>{Fe(e).then(se).catch(e=>$.error(`Failed to fetch project tags:`,e))},[e]);let{setActions:K}=Me(),Ue=(0,q.useCallback)(function(e){F(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),We=(0,q.useCallback)(async function(){_e(!0);try{await fe(e),x(await Ie(e)),J(),pt(),re();let t=await le();r({type:z.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){$.error(`Failed to refresh project tasks:`,e)}finally{_e(!1)}},[e,r]);(0,q.useEffect)(()=>(K((0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(St,{onSearchTermChange:ue}),(0,X.jsxs)(ie,{children:[(0,X.jsx)(oe,{asChild:!0,children:(0,X.jsxs)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:()=>void We(),disabled:ge,children:[(0,X.jsx)(a,{className:C(`h-4 w-4`,ge&&`animate-spin`)}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Refresh tasks`})]})}),(0,X.jsx)(te,{children:`Refresh`})]}),(0,X.jsxs)(Oe,{children:[(0,X.jsxs)(ie,{children:[(0,X.jsx)(oe,{asChild:!0,children:(0,X.jsx)(Ae,{asChild:!0,children:(0,X.jsxs)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,children:[(0,X.jsx)(m,{className:`h-4 w-4`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Filter and manage tags`})]})})}),(0,X.jsx)(te,{children:`Tags`})]}),(0,X.jsxs)(je,{align:`end`,className:`max-h-[var(--radix-dropdown-menu-content-available-height)] w-56 overflow-y-auto`,children:[N.length===0?(0,X.jsx)(U,{disabled:!0,className:`text-muted-foreground`,children:`No tags yet`}):N.map(function(e){return(0,X.jsxs)(De,{checked:P.has(e.id),onCheckedChange:()=>Ue(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)(Le,{}),(0,X.jsxs)(U,{onClick:()=>I(!0),children:[(0,X.jsx)(d,{className:`h-4 w-4`}),`Edit Tags`]})]})]})]})),()=>K(null)),[K,N,P,Ue,ge,We]);function J(){Te(`project-tasks:${e}:`)}let Y=h?.tasksModifiedCount??0,Ge=(0,q.useRef)({});(0,q.useEffect)(()=>{let t=Ge.current[e]??0;if(Y===0){Ge.current[e]=0;return}t!==Y&&(Ge.current[e]=Y,Y>t&&We())},[Y,e,We]),(0,q.useEffect)(()=>{if(!b.some(e=>e.working))return;let t=setInterval(async()=>{try{let n=await Ie(e);x(n),n.some(e=>e.working)||clearInterval(t)}catch(e){$.error(`Failed to poll project tasks:`,e)}},2e3);return()=>clearInterval(t)},[b,e]),(0,q.useEffect)(()=>{x(n)},[n]),(0,q.useEffect)(()=>{S&&(A(``),be([]),we(dt()),Re(!0))},[S]),(0,q.useEffect)(()=>{E&&(xe(E.task.tags??[]),Ee(ft(E.task)))},[E]);function Ke(e){x(t=>t.map(t=>t.id===e.id?e:t))}function Xe(e){A(e.description),O({task:e}),G(null)}function $e(){O(null),A(``),G(null)}function at(e,t){if(e)return null;let n=gt(t);return n?_t(n):null}async function lt(){if(!k.trim())return;let t=at(Ne,Ce);if(t){W(t);return}W(null),M(!0);try{let t=ye.map(e=>e.name),n=Ne?{}:mt(Ce),r=await Pe(e,k,{threadId:s??void 0,provider:y?.provider??v?.modelProvider,model:y?.id??v?.model,tags:t.length>0?t:void 0,...n});x(e=>[...e,r]),J(),pt(),w(!1),A(``),be([]),W(null)}catch(e){W(_t(e instanceof Error?e.message:`Failed to add task`)),$.error(`Failed to add task:`,e)}finally{M(!1)}}async function Z(){if(!k.trim()||!E)return;let t=at(!ht(V),V);if(t){G(t);return}G(null),M(!0);try{let t=k.trim(),n=t!==E.task.description.trim(),r=R.map(e=>e.name),i=new Set((E.task.tags??[]).map(e=>D(e.name))),a=new Set(r.map(e=>D(e))),o=i.size!==a.size||[...a].some(e=>!i.has(e)),c=!yt(ft(E.task),V),l=c?mt(V):{};if(!n&&!o&&!c){$e();return}let u=await H(e,E.task.id,{description:n?t:void 0,threadId:s??void 0,provider:y?.provider??v?.modelProvider,model:y?.id??v?.model,tags:o?r:void 0,...l});x(e=>e.map(e=>e.id===u.id?u:e)),J(),o&&pt(),$e()}catch(e){G(_t(e instanceof Error?e.message:`Failed to save task`)),$.error(`Failed to save task:`,e)}finally{M(!1)}}async function ut(){if(E){M(!0);try{await Ve(e,E.task.id),x(e=>e.filter(e=>e.id!==E.task.id)),J(),pt(),$e()}catch(e){$.error(`Failed to delete task:`,e)}finally{M(!1)}}}function pt(){Fe(e).then(se).catch(e=>$.error(`Failed to refresh project tags:`,e))}function vt(t){let n=new Set(t.map(function(e){return e.id}));se(t),F(function(e){return new Set([...e].filter(e=>n.has(e)))}),Ie(e).then(x).catch(e=>$.error(`Failed to refresh tasks after tag change:`,e))}async function bt(n){let i=await ve(e);if(!i)return;let a=null,o=null,s=await Ze(i,t=>{o||(o=t,r({type:z.AddCreatingThread,projectId:e,threadId:t,title:Je(h)}),r({type:z.AddProcessingThread,threadId:t})),H(e,n.id,{status:`Build`,working:!0,threadId:t}).then(e=>{a=e,Ke(e)})});if(!s){o&&(r({type:z.RemoveCreatingThread,projectId:e,threadId:o}),r({type:z.RemoveProcessingThread,threadId:o}));return}r({type:z.RemoveProcessingThread,threadId:s});try{await Ye(r)}catch(e){$.error(`Failed to refresh projects after task thread creation:`,e)}await nt(e,n,`Build`,s,a,Ke);let c=await et(e,s);if(!c){$.error(`No model configuration found. Please configure a model and provider for this project first.`);return}tt(r,s,c.model,c.provider),t?await t(s):r({type:z.SelectThread,threadId:s,projectId:e}),r({type:z.SetPendingChatMessage,message:{threadId:s,message:n.description,model:c.model,provider:c.provider}})}async function Q(n){if(!s){$.error(`No selected thread found for project task implementation.`);return}let i=await et(e,s);if(!i){$.error(`No model configuration found. Please configure a model and provider for this project first.`);return}if(tt(r,s,i.model,i.provider),Ke(await H(e,n.id,{status:`Build`,working:!0,threadId:s})),t?await t(s):r({type:z.SelectThread,threadId:s,projectId:e}),c.includes(s)||l?.threadId===s||u.some(e=>e.threadId===s)){r({type:z.EnqueueChatMessage,message:{id:g(),threadId:s,paneId:`primary`,message:n.description,model:i.model,attachments:[],provider:i.provider}});return}r({type:z.SetPendingChatMessage,message:{threadId:s,message:n.description,model:i.model,provider:i.provider}})}async function Ct(t){Ke(await ze(e,t.id)),J()}async function wt(t){Ke(await H(e,t.id,{status:`Done`,working:!1})),J()}let Tt=Qe(b).filter(function(e){return e.status!==`Done`}),Et=ce.trim().toLocaleLowerCase(),Dt=Tt.filter(e=>{let t=new Set((e.tags??[]).map(function(e){return e.id})),n=P.size===0||[...P].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)(de,{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(i.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(i.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:()=>Xe(e),children:[(0,X.jsx)(`p`,{className:C(i.label,`truncate leading-normal`),children:e.title}),(0,X.jsx)(`p`,{className:C(i.caption,`mt-1 line-clamp-2 break-all text-muted-foreground max-sm:hidden`),children:e.description}),qe(e)&&(0,X.jsx)(`p`,{className:C(i.caption,`mt-1 text-muted-foreground`),children:qe(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)(ot,{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)(it,{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:()=>Xe(e),children:(0,X.jsx)(`p`,{className:C(i.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)(ot,{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)(it,{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&&t&&(0,X.jsxs)(ie,{children:[(0,X.jsx)(oe,{asChild:!0,children:(0,X.jsxs)(L,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>t(e.threadId),children:[(0,X.jsx)(f,{className:`h-4 w-4`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Open thread`})]})}),(0,X.jsx)(te,{children:`Open thread`})]}),(0,X.jsx)(rt,{task:e,onImplementInNewThread:bt,onImplementInThisThread:Q,onMarkDone:wt,onRunNow:Ct})]})]},e.id))})})}),(0,X.jsxs)(ie,{children:[(0,X.jsx)(oe,{asChild:!0,children:(0,X.jsxs)(L,{size:`icon`,className:`absolute bottom-6 right-6 z-10 h-10 w-10 rounded-full shadow-lg`,onClick:()=>w(!0),children:[(0,X.jsx)(_,{className:`h-5 w-5`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Add task`})]})}),(0,X.jsx)(te,{children:`Add task`})]}),(0,X.jsx)(ae,{open:S,onOpenChange:e=>{w(e),e||W(null)},children:(0,X.jsxs)(ne,{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)(ie,{children:[(0,X.jsx)(oe,{asChild:!0,children:(0,X.jsx)(pe,{className:`w-fit cursor-help`,children:`Add Task`})}),(0,X.jsx)(te,{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)(ke,{placeholder:`Describe what needs to be done...`,value:k,onChange:e=>A(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)&<()}}),(0,X.jsx)(`div`,{className:`mt-4`,children:(0,X.jsx)(st,{selectedTags:ye,existingTags:N,onChange:be,allowCreate:!1})}),(0,X.jsx)(xt,{value:Ce,onChange:e=>{we(e),W(null)},collapsed:Ne,onCollapsedChange:Re,showCollapseControl:!0,error:Be})]}),(0,X.jsx)(me,{children:(0,X.jsx)(L,{onClick:()=>void lt(),disabled:j||!k.trim(),children:j?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(T,{className:`mr-1 h-3 w-3 animate-spin`}),`Generating title...`]}):`Add`})})]})}),(0,X.jsx)(ae,{open:E!==null,onOpenChange:e=>!e&&$e(),children:(0,X.jsxs)(ne,{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)(pe,{children:`Edit Task`})}),(0,X.jsxs)(`div`,{className:`py-2`,children:[(0,X.jsx)(ke,{placeholder:`Describe what needs to be done...`,value:k,onChange:e=>A(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)&&Z()}}),(0,X.jsx)(`div`,{className:`mt-4`,children:(0,X.jsx)(st,{selectedTags:R,existingTags:N,onChange:xe,allowCreate:!1})}),(0,X.jsx)(xt,{value:V,onChange:e=>{Ee(e),G(null)},showCollapseControl:!0,collapsed:!ht(V),onCollapsedChange:e=>{e&&Ee(dt()),G(null)},error:He})]}),(0,X.jsxs)(me,{className:`flex-row justify-between gap-2 sm:gap-0`,children:[(0,X.jsx)(L,{variant:`destructive`,onClick:()=>void ut(),disabled:j,children:`Delete`}),(0,X.jsx)(L,{onClick:()=>void Z(),disabled:j||!k.trim(),className:`w-auto`,children:j?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(T,{className:`mr-1 h-3 w-3 animate-spin`}),`Saving...`]}):`Save`})]})]})}),(0,X.jsx)(ct,{open:he,onOpenChange:I,projectId:e,tags:N,onTagsChanged:vt})]})}function wt(e){let t=(0,J.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=()=>Xe(r),t[7]=r,t[8]=o);let s=Ee(a,o),c;return t[9]!==s||t[10]!==r||t[11]!==i?(c=(0,X.jsx)(Ct,{projectId:r,initialTasks:s,...i}),t[9]=s,t[10]=r,t[11]=i,t[12]=c):c=t[12],c}function Tt(e){let t=(0,J.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,q.useState)(0),s,c;t[3]!==n.projectId||t[4]!==i?(s=()=>{i!==0&&o(e=>(V(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,q.useEffect)(s,c);let l;t[7]!==a||t[8]!==n.projectId?(l=function(){V(Y(n.projectId,a)),o(Et)},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)(ce,{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)(q.Suspense,{fallback:d,children:(0,X.jsx)(wt,{...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)(We,{fallbackTitle:`Failed to load tasks`,onRetry:u,children:p}),t[15]=u,t[16]=p,t[17]=m):m=t[17],m}function Et(e){return e+1}var Dt=s(`app.tasks-view.ui`);function Ot({projectId:e,refreshTrigger:t}){let n=Se(),r=B(e=>e.projects),i=B(e=>e.selectedThreadId),a=B(e=>e.selectedProjectId),{expandWindow:o,hasOpenWindows:s}=Ce();(0,q.useEffect)(()=>{let e=!1;return(async()=>{try{let{getProjects:t,invalidateProjectsCache:r}=await xe(async()=>{let{getProjects:e,invalidateProjectsCache:t}=await import(`./onboarding-dbhmRuxw.js`).then(e=>e.Xt);return{getProjects:e,invalidateProjectsCache:t}},__vite__mapDeps([0,1,2]));r();let i=await t();e||n({type:z.SetProjects,projects:i.projects,cloneRootPath:i.cloneRootPath})}catch(e){Dt.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(b);try{let{getProjects:r,invalidateProjectsCache:o}=await xe(async()=>{let{getProjects:e,invalidateProjectsCache:t}=await import(`./onboarding-dbhmRuxw.js`).then(e=>e.Xt);return{getProjects:e,invalidateProjectsCache:t}},__vite__mapDeps([0,1,2]));o();let s=await r();n({type:z.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:z.SelectThread,threadId:t,projectId:e});try{let e=await P();n({type:z.SetProcessingThreads,threadIds:e})}catch(e){Dt.error(`Failed to fetch processing threads after thread selection:`,e)}}}catch(r){Dt.error(`Failed to refresh projects for thread selection:`,r),(i!==t||a!==e)&&n({type:z.SelectThread,threadId:t,projectId:e});try{let e=await P();n({type:z.SetProcessingThreads,threadIds:e})}catch(e){Dt.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)(Tt,{projectId:e,refreshTrigger:t,onThreadSelect:c})})})}export{Ot as TasksView};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{q as e}from"./store-CSyJjyNs.js";import{n as t,r as n,t as r}from"./local-tool-blocks-DlqmJ7__.js";var i={create:`Creating thread`,delete:`Deleting thread`},a={create:`Created thread`,delete:`Deleted thread`},o={create:`Thread creation failed`,delete:`Thread deletion failed`},s={webapp:`Creating app`,clone:`Cloning repository`,folder:`Creating project`},c={webapp:`App creation failed`,clone:`Clone failed`,folder:`Project creation failed`};function l(e){return e?.kind===`create`||e?.kind===`create-project`}function u(e){return e.mode??`webapp`}function d(e){return e.kind===`create-project`?s[u(e)]:i[e.kind]}function f(e){return e.kind===`create-project`?c[u(e)]:o[e.kind]}function p(e){return{displayName:d(e),activeDisplayName:d(e)}}function m(e,t){return t?`The branch I created is ${t} and I'm ready to start working on ${e}.`:`I'm ready to start working on ${e}.`}function h(e,t){let n=`thread-${e}-${t.threadId}`;return{kind:e,...e===`create-project`?{mode:t.mode??`webapp`}:{},threadId:t.threadId,projectId:t.projectId,projectName:t.projectName,toolCallId:n,messageId:`msg-${n}`}}function g(e){return h(`create`,e)}function _(e){return h(`delete`,e)}function v(e){return h(`create-project`,e)}function y(e){return n({messageId:e.messageId,command:e.projectName,toolCallId:e.toolCallId,labels:p(e)})}function b(t,n,r){t({type:e.SetThreadToolSession,session:n}),t({type:e.UpdateToolExecutionOutput,toolCallId:n.toolCallId,threadId:n.threadId,toolName:`bash`,executionOutput:r})}function x(t,n,r){t({type:e.SetThreadToolSession,session:n}),t({type:e.SelectThread,threadId:n.threadId,projectId:n.projectId,focusInput:!0}),t({type:e.SetMessages,messages:[y(n)]}),b(t,n,r)}function S(t,n,r){t({type:e.AddMessage,message:y(n),threadId:n.threadId}),b(t,n,r)}function C(t,n,r,i){i&&t({type:e.AppendToolExecutionOutput,toolCallId:n,threadId:r,toolName:`bash`,delta:i})}function w(n,i,o,s){let c=s?.isError===!0,u=l(i),p=u?m(i.projectName,i.kind===`create`?s?.branch:void 0):a.delete,h={displayName:c?f(i):p,activeDisplayName:d(i)},g=r(t(!c&&u?null:i.projectName,i.toolCallId,h),i.toolCallId,o,c,h);n({type:e.UpdateMessage,messageId:i.messageId,threadId:i.threadId,content:g}),u&&!c&&n({type:e.SetThreadCreationSummary,threadId:i.threadId,message:{...y(i),content:g}}),n({type:e.ClearToolCallProgress,toolCallId:i.toolCallId}),n({type:e.ClearThreadToolSession,threadId:i.threadId})}export{y as a,x as c,_ as i,S as l,v as n,w as o,g as r,l as s,C as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ti as t}from"./interactive-WtOIgeV4.js";import{Er as n,Tn as r,sr as i,xn as a}from"./onboarding-dbhmRuxw.js";import{n as o,q as s,r as c}from"./store-CSyJjyNs.js";import{t as l}from"./use-toast-BFQ85Ly5.js";import{n as u}from"./explorer-tab-context-8bs_tiCO.js";import{N as d,St as f}from"./index-B7qJtiRL.js";var p=e(t(),1);function m({findItems:e,installedPathSuffix:t=``,explorerPathSuffix:m=``,sortByName:h=!1,removedToastTitle:g}){let _=o(),v=c(e=>e.projects),y=c(e=>e.selectedProjectId),b=c(e=>e.selectedThreadId),{handleSelectThread:x}=d(),{openChatDockPanel:S}=f(),{setPendingExplorerPath:C,triggerExplorerRefresh:w,setExplorerClearPath:T}=u(),[E,D]=(0,p.useState)([]),[O,k]=(0,p.useState)(!0),[A,j]=(0,p.useState)(null),[M,N]=(0,p.useState)(!1),[P,F]=(0,p.useState)(new Set),I=(0,p.useCallback)(async()=>{if(!y){k(!1);return}k(!0);try{let r=e(await i(y));if(b)try{let t=e(await n(b)),i=new Set(r.map(e=>e.path));for(let e of t)i.has(e.path)||r.push(e)}catch{}h&&(r=[...r].sort((e,t)=>e.name.localeCompare(t.name))),D(r),F(new Set(r.map(e=>`${e.path}${t}`)))}catch{D([]),F(new Set)}finally{k(!1)}},[y,b,e,t,h]);return(0,p.useLayoutEffect)(()=>{y&&k(!0)},[y,b]),(0,p.useEffect)(()=>{I()},[I]),{selectedProjectId:y,selectedThreadId:b,items:E,loading:O,deleteConfirm:A,setDeleteConfirm:j,deleting:M,installedFilePaths:P,setInstalledFilePaths:F,loadItems:I,handleDelete:(0,p.useCallback)(async e=>{if(!y)return;let n=e.name,i=e.path;N(!0);try{try{await a(y,i)}catch{if(b)await r(b,i);else throw Error(`No thread selected to delete from`)}T(i),w(),F(e=>{let n=new Set(e);return n.delete(`${i}${t}`),n}),l({title:g,description:n}),j(null),await I()}catch(e){l({title:`Error`,description:e instanceof Error?e.message:`Failed to remove item`,variant:`destructive`})}finally{N(!1)}},[y,b,I,w,T,t,g]),handleOpenInExplorer:(0,p.useCallback)(e=>{if(!y)return;let t=v.find(e=>e.projectId===y);if(t){if(_({type:s.OpenProjectPanel,projectId:y}),!t.threads.some(e=>e.threadId===b)){let e=t.threads.find(e=>e.isSelected)??t.threads[0]??null;e&&x(y,e.threadId)}C(`${e}${m}`),S(`explorer`)}},[y,b,v,_,x,C,S,m]),triggerExplorerRefresh:w}}export{m as t};
|