tarsk 0.5.71 → 0.5.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/dist/index.js +156990 -153745
  2. package/dist/public/assets/Combination-lwI_j-mU.js +41 -0
  3. package/dist/public/assets/account-view-DKQdyGPK.js +1 -0
  4. package/dist/public/assets/alert-dialog-Cb1PEgra.js +7 -0
  5. package/dist/public/assets/api-BMo_Lz8f.js +2 -0
  6. package/dist/public/assets/async-error-boundary-J8P6NVvc.js +1 -0
  7. package/dist/public/assets/async-loading-fallback-B_JNgWJR.js +1 -0
  8. package/dist/public/assets/browser-overlay-block-CiDtkfup.js +1 -0
  9. package/dist/public/assets/browser-tab-D_GXZ93G.js +12 -0
  10. package/dist/public/assets/button-DeNw35VZ.js +1 -0
  11. package/dist/public/assets/card-B4eI0NI-.js +1 -0
  12. package/dist/public/assets/chat-dock-context-BXoAs38w.js +1 -0
  13. package/dist/public/assets/chunk-QFMPRPBF-COsSkB7x.js +3 -0
  14. package/dist/public/assets/commit-dialog-DDLaQVzY.js +1 -0
  15. package/dist/public/assets/commit-error-dialog-Cp0Aic7I.js +1 -0
  16. package/dist/public/assets/commit-method-fields-CD3PTIox.js +1 -0
  17. package/dist/public/assets/context-menu-Dx5Jy21w.js +1 -0
  18. package/dist/public/assets/conversation-history-view-JymxZFJ2.js +1 -0
  19. package/dist/public/assets/create-project-dialog-qbwqSqGU.js +6 -0
  20. package/dist/public/assets/create-project-workspace-BcIx6FNf.js +1 -0
  21. package/dist/public/assets/create-repo-dialog-DcvSMy3g.js +1 -0
  22. package/dist/public/assets/delete-confirm-dialog-C9NASyh6.js +1 -0
  23. package/dist/public/assets/dialog-Do98zzAW.js +1 -0
  24. package/dist/public/assets/diff-view-ePD0sdsW.js +4 -0
  25. package/dist/public/assets/dist-BWuYHVi8.js +2 -0
  26. package/dist/public/assets/dist-BZvmHCxP.js +5 -0
  27. package/dist/public/assets/dist-CSssbxDI.js +1 -0
  28. package/dist/public/assets/dist-CWnEmdyL.js +1 -0
  29. package/dist/public/assets/dist-CWq9XRXF.js +1 -0
  30. package/dist/public/assets/dist-CjhvxqFU.js +1 -0
  31. package/dist/public/assets/dist-DIjomljy.js +1 -0
  32. package/dist/public/assets/dist-DiMgghKn.js +1 -0
  33. package/dist/public/assets/dist-DjKXDRW7.js +1 -0
  34. package/dist/public/assets/dist-OixawqbU.js +1 -0
  35. package/dist/public/assets/dist-mdooLpmq.js +1 -0
  36. package/dist/public/assets/explorer-tab-context-BxUVwWQQ.js +1 -0
  37. package/dist/public/assets/explorer-tab-view-D6hsKrXY.js +2 -0
  38. package/dist/public/assets/explorer-tree-BG8ShRwn.js +1 -0
  39. package/dist/public/assets/explorer-view-BZcNnLd9.js +75 -0
  40. package/dist/public/assets/git-history-dialog-DWhJ1-ba.js +1 -0
  41. package/dist/public/assets/index-DhOeeft5.css +1 -0
  42. package/dist/public/assets/index-DjaVbFDB.js +3386 -0
  43. package/dist/public/assets/main-tab-context-Byl1LybL.js +1 -0
  44. package/dist/public/assets/markdown-renderer-qLede1zH.js +8 -0
  45. package/dist/public/assets/mcp-server-card-zm-ss-7h.js +1 -0
  46. package/dist/public/assets/merged-pr-dialog-Due9WdB4.js +1 -0
  47. package/dist/public/assets/model-list-controls-D86_87E4.js +1 -0
  48. package/dist/public/assets/{monaco-D1hpqXQ0.js → monaco-lJcjGRXq.js} +189 -199
  49. package/dist/public/assets/monaco-setup-DU2h1v3K.js +11 -0
  50. package/dist/public/assets/onboarding-dialog-DlqbPvG0.js +1 -0
  51. package/dist/public/assets/pending-changes-Bn-0ak1d.js +1 -0
  52. package/dist/public/assets/project-env-vars-view-N1Io1Pau.js +1 -0
  53. package/dist/public/assets/project-model-aliases-view-B4FEze4g.js +1 -0
  54. package/dist/public/assets/project-settings-view-BalZ6Fe1.js +1 -0
  55. package/dist/public/assets/project-tools-view-OnCN0jKz.js +1 -0
  56. package/dist/public/assets/providers-list-view-DXvcxXDM.js +1 -0
  57. package/dist/public/assets/pull-request-dialog-BeeTNIN_.js +1 -0
  58. package/dist/public/assets/pull-with-changes-dialog-B9y2_lt_.js +1 -0
  59. package/dist/public/assets/push-before-pr-dialog-D3pMFe9A.js +1 -0
  60. package/dist/public/assets/query-keys-5QPW6Dv-.js +1 -0
  61. package/dist/public/assets/radio-group-CU59hGiA.js +1 -0
  62. package/dist/public/assets/react-vendor-Ee0-5T4I.js +9 -0
  63. package/dist/public/assets/scroll-area-nbNFO91g.js +1 -0
  64. package/dist/public/assets/settings-general-view-CAYlYs3J.js +1 -0
  65. package/dist/public/assets/settings-instructions-view-GjQivhLy.js +1 -0
  66. package/dist/public/assets/settings-list-DU82HNPX.js +1 -0
  67. package/dist/public/assets/settings-logs-view-DnQ_4O9b.js +5 -0
  68. package/dist/public/assets/settings-mcp-servers-view-C6OZHR3K.js +5 -0
  69. package/dist/public/assets/settings-models-view-CTjnBd74.js +1 -0
  70. package/dist/public/assets/settings-rules-view-DiTC-cBE.js +8 -0
  71. package/dist/public/assets/settings-skills-view-DHoSorOw.js +3 -0
  72. package/dist/public/assets/settings-slack-view-CiuJZ-9i.js +1 -0
  73. package/dist/public/assets/settings-slash-commands-view-CnXff39A.js +1 -0
  74. package/dist/public/assets/settings-statistics-view-D8SvAGE_.js +1 -0
  75. package/dist/public/assets/settings-storage-view-CUsa7Lwv.js +1 -0
  76. package/dist/public/assets/settings-subagents-view-B4HugfzU.js +2 -0
  77. package/dist/public/assets/settings-system-prompt-view-DNQKxcFg.js +1 -0
  78. package/dist/public/assets/settings-view-DoZmXguf.js +2 -0
  79. package/dist/public/assets/skeleton-DvLd14RU.js +1 -0
  80. package/dist/public/assets/sorting-DqwxPMRN.js +1 -0
  81. package/dist/public/assets/store-BaMSfYoJ.js +9 -0
  82. package/dist/public/assets/switch-pIBaqatj.js +1 -0
  83. package/dist/public/assets/table-B3fLagUj.js +1 -0
  84. package/dist/public/assets/tasks-view-BaMd8ZM0.js +2 -0
  85. package/dist/public/assets/{terminal-panel-CiCkzKHm.js → terminal-panel-BjD6z-3y.js} +3 -3
  86. package/dist/public/assets/toggle-group-5tREtjoW.js +1 -0
  87. package/dist/public/assets/tooltip-B6ziVyTv.js +1 -0
  88. package/dist/public/assets/{use-active-dock-panel-instance-BAHb-cSH.js → use-active-dock-panel-instance-BSch6-Fx.js} +1 -1
  89. package/dist/public/assets/use-browser-overlay-block-DyprQSIG.js +1 -0
  90. package/dist/public/assets/use-deferred-search-Dgxosq55.js +1 -0
  91. package/dist/public/assets/use-installed-ai-files-E4BAFIPG.js +1 -0
  92. package/dist/public/assets/use-open-chat-dock-panel-Cr1bQYOH.js +1 -0
  93. package/dist/public/assets/use-settings-page-loading-BTySlInF.js +1 -0
  94. package/dist/public/assets/use-suspense-resource-Dkz6ddFN.js +1 -0
  95. package/dist/public/assets/use-toast-xpb5jNtN.js +1 -0
  96. package/dist/public/assets/useInfiniteQuery-DUeUxDcu.js +1 -0
  97. package/dist/public/assets/utils-CT-Dw22R.js +1 -0
  98. package/dist/public/assets/{web-CkSlG6TA.js → web-BKpP7kYB.js} +1 -1
  99. package/dist/public/assets/{web-2RomPZ8n.js → web-CtDn8Ggo.js} +1 -1
  100. package/dist/public/assets/{web-DGsiH272.js → web-DaiDQ9WA.js} +1 -1
  101. package/dist/public/assets/{web-BRo_4CM5.js → web-W5CC9Cq4.js} +1 -1
  102. package/dist/public/index.html +37 -19
  103. package/dist/recommended-models.txt +2 -2
  104. package/package.json +4 -4
  105. package/dist/public/assets/account-view-P4Y5-Gf7.js +0 -1
  106. package/dist/public/assets/alert-dialog-CQsuxtcP.js +0 -1
  107. package/dist/public/assets/async-error-boundary-DajcyqVg.js +0 -1
  108. package/dist/public/assets/browser-tab-DLvnuyhT.js +0 -12
  109. package/dist/public/assets/card-BDQUHsPD.js +0 -1
  110. package/dist/public/assets/chat-dock-context-CUdrQKFm.js +0 -1
  111. package/dist/public/assets/commit-dialog-C98fYJ1d.js +0 -1
  112. package/dist/public/assets/commit-error-dialog-DjFWRUYh.js +0 -1
  113. package/dist/public/assets/commit-method-fields-CPKi4MLF.js +0 -1
  114. package/dist/public/assets/context-menu-D4UmleM5.js +0 -1
  115. package/dist/public/assets/conversation-history-view-CFq844ge.js +0 -1
  116. package/dist/public/assets/create-project-dialog-Du4yuSgt.js +0 -6
  117. package/dist/public/assets/create-project-workspace-Cw58bBNY.js +0 -1
  118. package/dist/public/assets/create-repo-dialog-DaCI6QrX.js +0 -1
  119. package/dist/public/assets/delete-confirm-dialog-V9X76h-2.js +0 -1
  120. package/dist/public/assets/diff-view-CzWiyJDW.js +0 -4
  121. package/dist/public/assets/explorer-tab-context-BdjTEbFh.js +0 -1
  122. package/dist/public/assets/explorer-tab-view-BbukFEig.js +0 -2
  123. package/dist/public/assets/explorer-tree-CKwkrTpU.js +0 -1
  124. package/dist/public/assets/explorer-view-DxvRAs1j.js +0 -75
  125. package/dist/public/assets/git-history-dialog-BIl7cN5L.js +0 -1
  126. package/dist/public/assets/index-BH6Ht-w_.js +0 -3356
  127. package/dist/public/assets/index-DpGlIV5v.css +0 -1
  128. package/dist/public/assets/interactive-BrHVRHmQ.js +0 -21
  129. package/dist/public/assets/main-tab-context-zQSuRQQG.js +0 -1
  130. package/dist/public/assets/markdown-renderer-BcGbfUdk.js +0 -8
  131. package/dist/public/assets/mcp-server-card-D8gWLGuB.js +0 -1
  132. package/dist/public/assets/merged-pr-dialog-BcMvxAAS.js +0 -1
  133. package/dist/public/assets/model-list-controls-8f6YNzoF.js +0 -1
  134. package/dist/public/assets/monaco-setup-B_kQVsDW.js +0 -1
  135. package/dist/public/assets/onboarding-CQV3cOCc.js +0 -46
  136. package/dist/public/assets/project-env-vars-view-DHLrARmp.js +0 -1
  137. package/dist/public/assets/project-model-aliases-view-NaGeOnLB.js +0 -1
  138. package/dist/public/assets/project-settings-view-DYx0Ejz_.js +0 -1
  139. package/dist/public/assets/project-tools-view-Dwh-9yLK.js +0 -1
  140. package/dist/public/assets/providers-list-view-BgHPRsyZ.js +0 -1
  141. package/dist/public/assets/pull-request-dialog-jiDTjl9S.js +0 -1
  142. package/dist/public/assets/pull-with-changes-dialog-tz5BKYLX.js +0 -1
  143. package/dist/public/assets/push-before-pr-dialog-CsCEcu3D.js +0 -1
  144. package/dist/public/assets/query-keys-CbACxUOr.js +0 -1
  145. package/dist/public/assets/react-vendor-CVjuv5OI.js +0 -22
  146. package/dist/public/assets/settings-general-view-DFuR-GEd.js +0 -1
  147. package/dist/public/assets/settings-instructions-view-DyHQ7P84.js +0 -1
  148. package/dist/public/assets/settings-list-CqAk8BOe.js +0 -1
  149. package/dist/public/assets/settings-logs-view-NuI1wC43.js +0 -5
  150. package/dist/public/assets/settings-mcp-servers-view-CzbsCA0X.js +0 -5
  151. package/dist/public/assets/settings-models-view-DC-v64Ua.js +0 -1
  152. package/dist/public/assets/settings-rules-view-F1cdLdbY.js +0 -8
  153. package/dist/public/assets/settings-skills-view-Ba8LIeWY.js +0 -3
  154. package/dist/public/assets/settings-slack-view-DQUSFcUo.js +0 -1
  155. package/dist/public/assets/settings-slash-commands-view-BRBxLk4J.js +0 -1
  156. package/dist/public/assets/settings-statistics-view-4uiJ9rwT.js +0 -1
  157. package/dist/public/assets/settings-storage-view-CuAI5fWL.js +0 -1
  158. package/dist/public/assets/settings-subagents-view-pSxxHmFV.js +0 -2
  159. package/dist/public/assets/settings-system-prompt-view-CrFpAHz1.js +0 -1
  160. package/dist/public/assets/settings-view-_YIXCuoG.js +0 -2
  161. package/dist/public/assets/skeleton-CJSNEi3C.js +0 -1
  162. package/dist/public/assets/store-fffs6-y9.js +0 -8
  163. package/dist/public/assets/table-Cb2C1rQy.js +0 -1
  164. package/dist/public/assets/tasks-view-f5xX4AVx.js +0 -2
  165. package/dist/public/assets/ui-components-DioWsrht.js +0 -1
  166. package/dist/public/assets/use-deferred-search-0sV7mSzX.js +0 -1
  167. package/dist/public/assets/use-installed-ai-files-D7Y1gZYc.js +0 -1
  168. package/dist/public/assets/use-open-chat-dock-panel-zpT9rr8C.js +0 -1
  169. package/dist/public/assets/use-settings-page-loading-BU2CDnfE.js +0 -1
  170. package/dist/public/assets/use-suspense-resource-BxOFFoEK.js +0 -1
  171. package/dist/public/assets/use-toast-hxHsVv6a.js +0 -1
  172. package/dist/public/assets/utils-SsF94Pkg.js +0 -1
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{t as n}from"./utils-CT-Dw22R.js";var r=e(),i=t();function a(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`animate-pulse rounded-md bg-muted`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`div`,{className:s,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}export{a as t};
@@ -0,0 +1 @@
1
+ function e(e){return e==null?0:e<20?1:e<30?2:e<40?3:e<50?4:5}function t(e){return e.pricing?((e.pricing.prompt??0)+(e.pricing.completion??0))/2:null}function n(e,t,n){let r=t.toLowerCase(),i=n(e);return e.name.toLowerCase().includes(r)||e.id.toLowerCase().includes(r)||i.toLowerCase().includes(r)}function r(e){return e.pricing?.prompt===0&&e.pricing?.completion===0}function i(e,t){let n=(e.provider??``).toLowerCase(),r=(t.provider??``).toLowerCase();return n===r?null:n.localeCompare(r)}function a(e,t,n){let r=n(e),i=n(t);return r===i?null:r-i}function o(e,n,r){let i=!!e.pricing;if(i!==!!n.pricing)return i?-1:1;if(!e.pricing||!n.pricing)return 0;let a=t(e)??0,o=t(n)??0;return r===`low`?a-o:o-a}function s(e,t){let n=e.coding_index!==void 0&&e.coding_index!==null;return n===(t.coding_index!==void 0&&t.coding_index!==null)?e.coding_index==null||t.coding_index==null?0:t.coding_index-e.coding_index:n?-1:1}function c(e,n){let r=s(e,n);if(r!==0)return r;if(r===0&&(e.coding_index==null||n.coding_index==null))return 0;let i=t(e),a=t(n),o=i!==null;return o===(a!==null)?i===null||a===null?0:i-a:o?-1:1}function l(e,t,n){return n(e).localeCompare(n(t))}function u(e,t,n){let{sortBy:r,getDisplayName:u,getPriority:d,groupByProvider:f}=n;if(f){let n=i(e,t);if(n!==null)return n}if(d){let n=a(e,t,d);if(n!==null)return n}return r===`price-low`?o(e,t,`low`)??0:r===`price-high`?o(e,t,`high`)??0:r===`coding-index`?s(e,t)??0:r===`intelligence-by-price`?c(e,t)??0:l(e,t,u)}function d(e){let{models:t,query:i,sortBy:a,getDisplayName:o,getPriority:s,freeOnly:c,groupByProvider:l}=e;return t.filter(e=>!(!n(e,i,o)||c&&!r(e))).sort((e,t)=>u(e,t,{sortBy:a,getDisplayName:o,getPriority:s,groupByProvider:l}))}export{e as n,d as t};
@@ -0,0 +1,9 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n}from"./react-vendor-Ee0-5T4I.js";import{$ as r,I as i,Q as a,S as o,Z as s,et as c,nt as l,tt as u}from"./dist-BWuYHVi8.js";var d=function(e){return e.SetProjects=`SET_PROJECTS`,e.SetProjectsLoading=`SET_PROJECTS_LOADING`,e.SelectThread=`SELECT_THREAD`,e.SelectProject=`SELECT_PROJECT`,e.SetMessages=`SET_MESSAGES`,e.AddMessage=`ADD_MESSAGE`,e.EnqueueChatMessage=`ENQUEUE_CHAT_MESSAGE`,e.RemoveQueuedChatMessage=`REMOVE_QUEUED_CHAT_MESSAGE`,e.SetStreaming=`SET_STREAMING`,e.AppendStreamContent=`APPEND_STREAM_CONTENT`,e.SetStreamContent=`SET_STREAM_CONTENT`,e.AppendStreamThinking=`APPEND_STREAM_THINKING`,e.AppendStreamChunk=`APPEND_STREAM_CHUNK`,e.SetStreamModel=`SET_STREAM_MODEL`,e.SetStreamAgentMode=`SET_STREAM_AGENT_MODE`,e.SetContextUsage=`SET_CONTEXT_USAGE`,e.SetProjectModel=`SET_PROJECT_MODEL`,e.ResetStream=`RESET_STREAM`,e.StopStream=`STOP_STREAM`,e.ToggleSidebar=`TOGGLE_SIDEBAR`,e.CloseSidebar=`CLOSE_SIDEBAR`,e.OpenProjectPanel=`OPEN_PROJECT_PANEL`,e.CloseProjectPanel=`CLOSE_PROJECT_PANEL`,e.SetCreatingProject=`SET_CREATING_PROJECT`,e.ConfigUpdated=`CONFIG_UPDATED`,e.SetProcessingThreads=`SET_PROCESSING_THREADS`,e.AddProcessingThread=`ADD_PROCESSING_THREAD`,e.RemoveProcessingThread=`REMOVE_PROCESSING_THREAD`,e.AddCreatingProject=`ADD_CREATING_PROJECT`,e.AddCreatingThread=`ADD_CREATING_THREAD`,e.RemoveCreatingProject=`REMOVE_CREATING_PROJECT`,e.RemoveCreatingThread=`REMOVE_CREATING_THREAD`,e.RemoveThread=`REMOVE_THREAD`,e.MarkThreadCompleted=`MARK_THREAD_COMPLETED`,e.ClearThreadCompleted=`CLEAR_THREAD_COMPLETED`,e.ClearPaneCompleted=`CLEAR_PANE_COMPLETED`,e.AddDeletingThread=`ADD_DELETING_THREAD`,e.RemoveDeletingThread=`REMOVE_DELETING_THREAD`,e.AddDeletingProject=`ADD_DELETING_PROJECT`,e.RemoveDeletingProject=`REMOVE_DELETING_PROJECT`,e.AppendCommandOutput=`APPEND_COMMAND_OUTPUT`,e.SetRunningCommand=`SET_RUNNING_COMMAND`,e.ClearCommandOutput=`CLEAR_COMMAND_OUTPUT`,e.ToggleTerminal=`TOGGLE_TERMINAL`,e.SetTerminalOpen=`SET_TERMINAL_OPEN`,e.QueueTerminalCommand=`QUEUE_TERMINAL_COMMAND`,e.ClearQueuedTerminalCommand=`CLEAR_QUEUED_TERMINAL_COMMAND`,e.AppendTerminalLine=`APPEND_TERMINAL_LINE`,e.ClearTerminalOutput=`CLEAR_TERMINAL_OUTPUT`,e.SetTerminalHeight=`SET_TERMINAL_HEIGHT`,e.SetTerminalCwd=`SET_TERMINAL_CWD`,e.SetTerminalRunning=`SET_TERMINAL_RUNNING`,e.SetTerminalHistory=`SET_TERMINAL_HISTORY`,e.SetTerminalHistoryIndex=`SET_TERMINAL_HISTORY_INDEX`,e.UpdateThreadTitle=`UPDATE_THREAD_TITLE`,e.UpdateChatTitle=`UPDATE_CHAT_TITLE`,e.FocusChatInput=`FOCUS_CHAT_INPUT`,e.ClearFocusChatInput=`CLEAR_FOCUS_CHAT_INPUT`,e.ClearMessages=`CLEAR_MESSAGES`,e.UpdateMessage=`UPDATE_MESSAGE`,e.UpdateMessageCheckpointRef=`UPDATE_MESSAGE_CHECKPOINT_REF`,e.SetDevServerToolSession=`SET_DEV_SERVER_TOOL_SESSION`,e.SetThreadToolSession=`SET_THREAD_TOOL_SESSION`,e.ClearThreadToolSession=`CLEAR_THREAD_TOOL_SESSION`,e.SetThreadCreationSummary=`SET_THREAD_CREATION_SUMMARY`,e.ClearThreadCreationSummary=`CLEAR_THREAD_CREATION_SUMMARY`,e.UpdateToolCallProgress=`UPDATE_TOOL_CALL_PROGRESS`,e.UpdateToolExecutionOutput=`UPDATE_TOOL_EXECUTION_OUTPUT`,e.AppendToolExecutionOutput=`APPEND_TOOL_EXECUTION_OUTPUT`,e.AppendSubagentEvent=`APPEND_SUBAGENT_EVENT`,e.ClearToolCallProgress=`CLEAR_TOOL_CALL_PROGRESS`,e.SetPendingChatMessage=`SET_PENDING_CHAT_MESSAGE`,e.ClearPendingChatMessage=`CLEAR_PENDING_CHAT_MESSAGE`,e.IncrementStreamEventCount=`INCREMENT_STREAM_EVENT_COUNT`,e.SetDiffComments=`SET_DIFF_COMMENTS`,e.ClearSelection=`CLEAR_SELECTION`,e.SetChatInputDraft=`SET_CHAT_INPUT_DRAFT`,e.ClearChatInputDraft=`CLEAR_CHAT_INPUT_DRAFT`,e.StartAutoRoute=`START_AUTO_ROUTE`,e.EndAutoRoute=`END_AUTO_ROUTE`,e.AddChatPane=`ADD_CHAT_PANE`,e.RemoveChatPane=`REMOVE_CHAT_PANE`,e.SetFocusedPane=`SET_FOCUSED_PANE`,e.SetNewChatStarting=`SET_NEW_CHAT_STARTING`,e.SetPrimaryConversationId=`SET_PRIMARY_CONVERSATION_ID`,e.SetPaneConversationId=`SET_PANE_CONVERSATION_ID`,e.SetPaneMessages=`SET_PANE_MESSAGES`,e.AddPaneMessage=`ADD_PANE_MESSAGE`,e.SetActiveStreamPane=`SET_ACTIVE_STREAM_PANE`,e.HydrateProjectChatPanes=`HYDRATE_PROJECT_CHAT_PANES`,e}({}),f=i,p={projects:[],cloneRootPath:null,projectsLoading:!0,selectedThreadId:null,selectedProjectId:null,messages:[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:0,primaryConversationId:void 0,queuedChatMessages:[],isStreaming:!1,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,streamingAgentMode:null,streamingEventCount:0,threadStreamingStates:{},threadMultiPaneStates:{},projectModelSelections:{},paneModelSelections:{},sidebarOpen:!0,projectPanelView:`projects`,projectPanelProjectId:null,isCreatingProject:!1,configUpdatedAt:0,processingThreadIds:[],processingRuns:[],completedThreadIds:[],completedThreadPaneIds:{},completedPaneIds:[],deletingThreadIds:[],deletingProjectIds:[],commandOutput:``,isRunningCommand:!1,terminalStates:{},focusChatInput:!1,toolCallProgress:{},subagentTranscripts:{},devServerToolSession:null,threadToolSessions:{},threadCreationSummaries:{},pendingChatMessage:null,diffComments:{},chatInputDrafts:{},pendingAutoRoutes:{},focusedPane:`primary`,extraChatPanes:{},activeStreamPane:null},m={open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};function h(e,t){return`${e}:${t}`}function ee(e,t,n=f){return t?e[h(t,n)]??null:null}function te(e,t){switch(t.type){case d.StartAutoRoute:{let n=h(t.route.threadId,t.route.paneId);return{...e,pendingAutoRoutes:{...e.pendingAutoRoutes,[n]:t.route}}}case d.EndAutoRoute:{let n=h(t.threadId,t.paneId);if(!e.pendingAutoRoutes[n])return e;let{[n]:r,...i}=e.pendingAutoRoutes;return{...e,pendingAutoRoutes:i}}default:return null}}function g(e,t){let n=`${t}:`,r=new Set([f]);for(let t of Object.keys(e))t.startsWith(n)&&r.add(t.slice(n.length));return[...r]}function ne(e,t){let n=t?`${t}:`:null,r=``;for(let t of Object.keys(e))n&&!t.startsWith(n)||e[t].isStreaming&&(r+=`${t}\n`);return r}function re(e,t,n=f){return e.includes(`${v(t,n)}\n`)}function ie(e,t){return e.includes(`${t}:`)}function ae(e,t,n,r){return t.includes(e)||ie(n,e)?!0:r?.threadId===e}var oe={isStreaming:!1,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,streamingAgentMode:null,streamingEventCount:0},se=oe;function _(){return{...oe,streamingSegments:[]}}function v(e,t=f){return`${e}:${t}`}function y(e,t,n=f){return t?e[v(t,n)]??se:se}function ce(e,t){let n=new Set([f,...t.sessionPaneIds??[],...g(t.streamingStates,e)]);for(let r of n)if(t.hasSession(r)||y(t.streamingStates,e,r).isStreaming)return!0;return!1}function b(e,t){return t.threadId??e.selectedThreadId}function le(e){return e??f}function ue(e,t,n,r){return!n||!t.includes(n)?!1:le(e)===r}function de(e,t,n){return t?y(e.threadStreamingStates,t,n).isStreaming?!0:ue(e.activeStreamPane,e.processingThreadIds,t,n):!1}function x(e,t){return t.paneId??e.activeStreamPane??f}function fe(e,t,n){return t===e.selectedThreadId?e.activeStreamPane===null?n===f:e.activeStreamPane===n:!1}function S(e,t,n,r,i=!1){if(!t)return{...e,...r,toolCallProgress:i?{}:e.toolCallProgress};let a=v(t,n),o={...e.threadStreamingStates,[a]:r};return fe(e,t,n)?{...e,...r,threadStreamingStates:o,toolCallProgress:i?{}:e.toolCallProgress}:{...e,threadStreamingStates:o}}function pe(){return{open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1}}var C={focusedPane:f,extraChatPanes:{},activeStreamPane:null};function me(){return{focusedPane:f,extraChatPanes:{},activeStreamPane:null}}function w(e){return{focusedPane:e.focusedPane,extraChatPanes:e.extraChatPanes,activeStreamPane:e.activeStreamPane}}function he(e,t){return t?e[t]??C:C}function ge(e){let t={};for(let[n,r]of Object.entries(e))t[n]={...r,messages:[...r.messages]};return t}function T(e){return{...e,extraChatPanes:ge(e.extraChatPanes)}}function E(e,t,n){let r=T(n),i=t===null?e.threadMultiPaneStates:{...e.threadMultiPaneStates,[t]:r};return t===e.selectedThreadId?{...e,...r,threadMultiPaneStates:i}:{...e,threadMultiPaneStates:i}}function _e(e,t,n){let r=e.threadMultiPaneStates;return t&&(r={...r,[t]:T(w(e))}),{...T(he(r,n)),threadMultiPaneStates:r}}function D(e,t){return E(e,e.selectedThreadId,{...w(e),...t})}function ve(e,t){let n=e.chatPanesByThread[t];if(!n)return T(C);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 ye(e,t){if(!t)return e;let n=ge(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 be(e,t){return t===f?e.messages:e.extraChatPanes[t]?.messages??[]}function xe(e,t){return t===f?e.primaryConversationId:e.extraChatPanes[t]?.conversationId}function Se(e,t){return t===f?e.messagesLoaded:e.extraChatPanes[t]?.messagesLoaded??!1}function Ce(e){return Object.keys(e.extraChatPanes)}function we(e,t){let n=new Set(t.threadIds),r={...e.threadMultiPaneStates};for(let n of t.threadIds)r[n]=ye(ve(t,n),n===e.selectedThreadId?w(e):e.threadMultiPaneStates[n]);return!e.selectedThreadId||!n.has(e.selectedThreadId)?{...e,threadMultiPaneStates:r}:{...e,...r[e.selectedThreadId],threadMultiPaneStates:r}}function Te(e,t){return t.paneId===f?e:e.extraChatPanes[t.paneId]?D(e,{focusedPane:t.paneId}):D(e,{focusedPane:t.paneId,extraChatPanes:{...e.extraChatPanes,[t.paneId]:{conversationId:t.conversationId,messages:[],messagesLoaded:!1}}})}function Ee(e,t){if(t.paneId===f||!e.extraChatPanes[t.paneId])return e;let{[t.paneId]:n,...r}=e.extraChatPanes;return D(e,{extraChatPanes:r,focusedPane:e.focusedPane===t.paneId?f:e.focusedPane,activeStreamPane:e.activeStreamPane===t.paneId?null:e.activeStreamPane})}function De(e,t){if(t.paneId===f)return{...e,messages:t.messages,messagesLoaded:!0};let n=e.extraChatPanes[t.paneId];return n?D(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,messages:t.messages,messagesLoaded:!0}}}):e}function Oe(e,t){if(t.paneId===f)return e;let n=e.extraChatPanes[t.paneId];return n?D(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,conversationId:t.conversationId,messages:[],messagesLoaded:!0}}}):e}function ke(e,t){if(t.paneId===f)return{...e,messages:[...e.messages,t.message]};let n=e.extraChatPanes[t.paneId];return n?D(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,messages:[...n.messages,t.message]}}}):e}function Ae(e,t){if(!e.selectedThreadId||t.paneId===null)return D(e,{activeStreamPane:null});let n=y(e.threadStreamingStates,e.selectedThreadId,t.paneId);return{...D(e,{activeStreamPane:t.paneId}),...n}}function je(e,t){switch(t.type){case d.HydrateProjectChatPanes:return we(e,t);case d.AddChatPane:return Te(e,t);case d.RemoveChatPane:return Ee(e,t);case d.SetFocusedPane:return D(e,{focusedPane:t.paneId});case d.SetPaneConversationId:return Oe(e,t);case d.SetPaneMessages:return De(e,t);case d.AddPaneMessage:return ke(e,t);case d.SetActiveStreamPane:return Ae(e,t);default:return null}}function Me(e,t){return!!(t.historyEpoch!==void 0&&t.historyEpoch!==e.chatHistoryEpoch||t.conversationId&&e.primaryConversationId&&t.conversationId!==e.primaryConversationId)}function O(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 Ne(e,t){let n=t.paneId??f;if(n!==f){if(t.threadId&&t.threadId!==e.selectedThreadId)return e;let r=e.extraChatPanes[n];return r?E(e,e.selectedThreadId,{...w(e),extraChatPanes:{...e.extraChatPanes,[n]:{...r,messages:[...r.messages,t.message]}}}):e}return t.threadId&&t.threadId!==e.selectedThreadId?e:{...e,messages:[...e.messages,t.message]}}function Pe(e,t){if(t.threadId!==e.selectedThreadId)return e;let n=e.messages.some(e=>e.messageId===t.messageId)?e.messages.map(e=>e.messageId===t.messageId?{...e,content:t.content}:e):[...e.messages,{messageId:t.messageId,sender:`agent`,content:t.content,contentType:`markdown`,timestamp:new Date().toISOString(),isThinking:!1}];return{...e,messages:n}}function Fe(e,t){if(t.threadId!==e.selectedThreadId)return e;let n=t.paneId??f;if(n!==f){let r=e.extraChatPanes[n];return r?E(e,e.selectedThreadId,{...w(e),extraChatPanes:{...e.extraChatPanes,[n]:{...r,messages:r.messages.map(e=>e.messageId===t.messageId?{...e,checkpointRef:t.checkpointRef}:e)}}}):e}return{...e,messages:e.messages.map(e=>e.messageId===t.messageId?{...e,checkpointRef:t.checkpointRef}:e)}}function Ie(e,t){if(!e.threadToolSessions[t.threadId])return e;let{[t.threadId]:n,...r}=e.threadToolSessions;return{...e,threadToolSessions:r}}function Le(e,t){if(!e.threadCreationSummaries[t.threadId])return e;let{[t.threadId]:n,...r}=e.threadCreationSummaries;return{...e,threadCreationSummaries:r}}function Re(e,t){let n=e.toolCallProgress[t.toolCallId];return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:{toolCallId:t.toolCallId,threadId:t.threadId||(n?.threadId??``),toolName:t.toolName??n?.toolName??``,delta:n?.delta??``,partial:n?.partial??{role:`tool`,content:[]},executionOutput:t.executionOutput}}}}function ze(e,t){let n=e.toolCallProgress[t.toolCallId],r=n?.executionOutput??``;return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:{toolCallId:t.toolCallId,threadId:t.threadId||(n?.threadId??``),toolName:t.toolName??n?.toolName??`agent`,delta:n?.delta??``,partial:n?.partial??{role:`tool`,content:[]},executionOutput:r+t.delta}}}}function Be(e,t){if(!t.toolCallId)return{...e,toolCallProgress:{}};let{[t.toolCallId]:n,...r}=e.toolCallProgress;return{...e,toolCallProgress:r}}function Ve(e,t){let{[t.threadId]:n,...r}=e.chatInputDrafts;return{...e,chatInputDrafts:r}}function He(e,t){let n=new Set(e.startingNewChatPaneIds);return t.isStarting?n.add(t.paneId):n.delete(t.paneId),{...e,startingNewChatPaneIds:[...n]}}function Ue(e,t){let n=_e(e,e.selectedThreadId,t.threadId),r=y(e.threadStreamingStates,t.threadId,f);return{...e,...r,...n,selectedThreadId:t.threadId,selectedProjectId:t.projectId,messages:t.initialMessages??[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:void 0,focusChatInput:t.focusInput??!1,subagentTranscripts:{}}}function We(e,t){let n=_e(e,e.selectedThreadId,``);return{...e,..._(),...n,selectedThreadId:null,selectedProjectId:t.projectId,messages:[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:void 0,focusChatInput:!1,subagentTranscripts:{}}}function Ge(e,t){return Me(e,t)?e:{...e,messages:O(e,t.messages),messagesLoaded:!0}}function Ke(e,t){let n=t.conversationId?.trim()||void 0;return e.primaryConversationId===n?e:{...e,primaryConversationId:n}}function qe(e,t){return{...e,queuedChatMessages:[...e.queuedChatMessages,t.message]}}function Je(e,t){return{...e,queuedChatMessages:e.queuedChatMessages.filter(e=>e.id!==t.queuedMessageId)}}function Ye(e,t){let n=t.conversationId?.trim()||void 0;return{...e,messages:O(e,[]),messagesLoaded:!0,chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:n}}function Xe(e,t){return{...e,devServerToolSession:t.session}}function Ze(e,t){return{...e,threadToolSessions:{...e.threadToolSessions,[t.session.threadId]:t.session}}}function Qe(e,t){return{...e,threadCreationSummaries:{...e.threadCreationSummaries,[t.threadId]:t.message}}}function $e(e,t){let n=e.toolCallProgress[t.toolCallId];return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:{...n,...t.progress}}}}function et(e,t){let n=e.subagentTranscripts[t.toolCallId]??[];return{...e,subagentTranscripts:{...e.subagentTranscripts,[t.toolCallId]:[...n,t.event]}}}function tt(e,t){return{...e,pendingChatMessage:t.message}}function nt(e,t){return{...e,pendingChatMessage:null}}function rt(e,t){return{...e,chatInputDrafts:{...e.chatInputDrafts,[t.threadId]:t.draft}}}function it(e,t){return{...e,..._(),selectedThreadId:null,selectedProjectId:null,messages:[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:void 0,...me()}}var at={[d.SetMessages]:Ge,[d.SetPrimaryConversationId]:Ke,[d.AddMessage]:Ne,[d.EnqueueChatMessage]:qe,[d.RemoveQueuedChatMessage]:Je,[d.ClearMessages]:Ye,[d.UpdateMessage]:Pe,[d.UpdateMessageCheckpointRef]:Fe,[d.SetDevServerToolSession]:Xe,[d.SetThreadToolSession]:Ze,[d.ClearThreadToolSession]:Ie,[d.SetThreadCreationSummary]:Qe,[d.ClearThreadCreationSummary]:Le,[d.UpdateToolCallProgress]:$e,[d.UpdateToolExecutionOutput]:Re,[d.AppendToolExecutionOutput]:ze,[d.AppendSubagentEvent]:et,[d.ClearToolCallProgress]:Be,[d.SetPendingChatMessage]:tt,[d.ClearPendingChatMessage]:nt,[d.SetChatInputDraft]:rt,[d.ClearChatInputDraft]:Ve,[d.SetNewChatStarting]:He,[d.SelectThread]:Ue,[d.SelectProject]:We,[d.ClearSelection]:it};function ot(e,t){let n=at[t.type];return n?n(e,t):null}var st=o(`store.project`);function ct(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function lt(e,t){return e.length===t.length&&e.every((e,n)=>e.threadId===t[n]?.threadId&&e.conversationId===t[n]?.conversationId)}function ut(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:{st.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:{let n=t.processingRuns??e.processingRuns.filter(e=>t.threadIds.includes(e.threadId));return ct(e.processingThreadIds,t.threadIds)&&lt(e.processingRuns,n)?e:{...e,processingThreadIds:t.threadIds,processingRuns:n}}case d.AddProcessingThread:return{...e,processingThreadIds:e.processingThreadIds.includes(t.threadId)?e.processingThreadIds:[...e.processingThreadIds,t.threadId]};case d.RemoveProcessingThread:return{...e,processingThreadIds:e.processingThreadIds.filter(e=>e!==t.threadId),processingRuns:e.processingRuns.filter(e=>e.threadId!==t.threadId)};case d.AddCreatingProject:return{...e,projects:[...e.projects,{projectId:t.projectId,name:t.projectName,gitUrl:t.gitUrl,threads:[{threadId:t.threadId,title:`thread-1`,path:``,currentBranch:``}]}]};case d.AddCreatingThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:[...e.threads,{threadId:t.threadId,title:t.title,path:``,currentBranch:``}]}:e)};case d.RemoveCreatingProject:return{...e,projects:e.projects.filter(e=>e.projectId!==t.projectId)};case d.RemoveCreatingThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.filter(e=>e.threadId!==t.threadId)}:e)};case d.RemoveThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.filter(e=>e.threadId!==t.threadId)}:e)};case d.MarkThreadCompleted:return{...e,completedThreadIds:e.completedThreadIds.includes(t.threadId)?e.completedThreadIds:[...e.completedThreadIds,t.threadId],completedThreadPaneIds:t.paneId===void 0?e.completedThreadPaneIds:{...e.completedThreadPaneIds,[t.threadId]:t.paneId},completedPaneIds:t.paneId===void 0||t.paneId===e.focusedPane||e.completedPaneIds.includes(t.paneId)?e.completedPaneIds:[...e.completedPaneIds,t.paneId]};case d.ClearThreadCompleted:return{...e,completedThreadIds:e.completedThreadIds.filter(e=>e!==t.threadId)};case d.ClearPaneCompleted:{let n=Object.entries(e.completedThreadPaneIds).filter(([,e])=>e===t.paneId).map(([e])=>e);return{...e,completedThreadIds:e.completedThreadIds.filter(e=>!n.includes(e)),completedThreadPaneIds:Object.fromEntries(Object.entries(e.completedThreadPaneIds).filter(([,e])=>e!==t.paneId)),completedPaneIds:e.completedPaneIds.filter(e=>e!==t.paneId)}}case d.AddDeletingThread:return{...e,deletingThreadIds:e.deletingThreadIds.includes(t.threadId)?e.deletingThreadIds:[...e.deletingThreadIds,t.threadId]};case d.RemoveDeletingThread:return{...e,deletingThreadIds:e.deletingThreadIds.filter(e=>e!==t.threadId)};case d.AddDeletingProject:return{...e,deletingProjectIds:e.deletingProjectIds.includes(t.projectId)?e.deletingProjectIds:[...e.deletingProjectIds,t.projectId]};case d.RemoveDeletingProject:return{...e,deletingProjectIds:e.deletingProjectIds.filter(e=>e!==t.projectId)};case d.UpdateThreadTitle:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.map(e=>e.threadId===t.threadId?{...e,title:t.title}:e)}:e)};case d.UpdateChatTitle:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.map(e=>e.threadId===t.threadId?{...e,chatTitles:{...e.chatTitles,[t.paneId]:t.title}}:e)}:e)};default:return null}}function k(e){return e.type===`tool-call-group`}function dt(e){let t=/\[([A-Za-z]+)\]\s*/g,n,r=0;for(let i of e.matchAll(t))n=i[1],r=i.index+i[0].length;return{label:n,contentStart:r}}function ft(e,t,n,r){try{let i=JSON.parse(e.slice(t,n+1));if(Array.isArray(i)){for(let e of i)if(e&&typeof e==`object`&&`type`in e){let t=e.type;(t===`tool-result`||t===`tool_use`)&&r.push(e)}}return!0}catch{return!1}}function A(e){if(!e||typeof e!=`string`)return null;let t=e.trim();if(!t)return null;let{label:n,contentStart:r}=dt(t);if(n){let e=t.slice(r);if(e)return[{type:`reasoning`,text:e,label:n}]}let i=[],a=0;for(;a<t.length;){let e=t.indexOf(`[`,a);if(e===-1){let e=t.slice(a).trim();e&&i.push({type:`reasoning`,text:e});break}let n=t.slice(a,e).trim();n&&i.push({type:`reasoning`,text:n});let r=j(t,e);if(r===-1){let n=t.slice(e).trim();n&&i.push({type:`reasoning`,text:n});break}if(!ft(t,e,r,i)){let n=t.slice(e,r+1).trim();n&&i.push({type:`reasoning`,text:n})}a=r+1}return i.length>0?i:null}function j(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 pt(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=j(e,r);if(t===-1)break;try{let i=JSON.parse(e.slice(r,t+1));if(!Array.isArray(i))break;n.push(...M(i))}catch{break}r=t+1}return n.length===0?null:{blocks:n,nextIndex:r}}function M(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 N(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.label==`string`&&typeof e.pattern==`string`&&(e.scope===`session`||e.scope===`project`)):[]}function mt(e){if(e.type!==`long_running_confirmation`||typeof e.prompt!=`object`||e.prompt===null||typeof e.prompt.question!=`string`||!Array.isArray(e.prompt.options))return[];let t=e.prompt;return[{type:`long_running_confirmation`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:void 0,question:t.question,options:t.options.filter(e=>typeof e==`string`),context:typeof t.context==`string`?t.context:void 0}}]}function ht(e){if(e.type!==`shell_permission`||typeof e.shellPermission!=`object`||e.shellPermission===null||typeof e.shellPermission.command!=`string`)return[];let t=e.shellPermission;return[{type:`shell_permission`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:`shell-permission`,command:t.command,source:t.source===`bash`||t.source===`skill_script`||t.source===`browser_js`?t.source:`bash`,wildcardOptions:N(t.wildcardOptions)}}]}function gt(e){if(e.type!==`seatbelt_escalation`||typeof e.seatbeltEscalation!=`object`||e.seatbeltEscalation===null)return[];let t=e.seatbeltEscalation;return typeof t.command==`string`?[{type:`seatbelt_escalation`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:`seatbelt-escalation`,command:t.command,projectId:typeof t.projectId==`string`?t.projectId:``,scopes:[`once`,`project`,`session`]}}]:[]}function _t(e){if(e.type!==`web_fetch_permission`||typeof e.webFetchPermission!=`object`||e.webFetchPermission===null||typeof e.webFetchPermission.hostname!=`string`)return[];let t=e.webFetchPermission;return[{type:`web_fetch_permission`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:`web-fetch-permission`,hostname:t.hostname,url:typeof t.url==`string`?t.url:``,wildcardOptions:N(t.wildcardOptions)}}]}function P(e){let t=[...mt(e),...ht(e),...gt(e),..._t(e)];if(t.length>0)return t;e.reasoning&&typeof e.reasoning==`string`&&t.push({type:`reasoning`,text:e.reasoning});let n=(typeof e.text==`string`?e.text:null)??(typeof e.content==`string`?e.content:null)??(typeof e.answer==`string`?e.answer:null);return n&&t.push({type:`text`,text:n}),t.length===0&&Object.keys(e).length>0&&t.push({type:`text`,text:JSON.stringify(e,null,2)}),t}function vt(e){return z(e)?.some(e=>e.type===`tool_use`||e.type===`tool-result`)??!1}var F=/^```+|^~~~+/;function I(e){let t=e.indexOf(`{`),n=e.indexOf(`[`);return t===-1?n:n===-1?t:Math.min(t,n)}function L(e,t){if(t&&t.fixedIndex>=0)return{index:t.fixedIndex,scan:t};let n=t?.resumeOffset??0;n>e.length&&(n=0);let r=n===0?!1:t?.inFence??!1,i=n;for(;;){let t=e.indexOf(`
2
+ `,i);if(t===-1){let t=e.slice(i),n=F.test(t.trimStart()),a=r||n?-1:I(t);return{index:a===-1?-1:i+a,scan:{fixedIndex:-1,resumeOffset:i,inFence:r}}}let n=e.slice(i,t);if(F.test(n.trimStart()))r=!r;else if(!r){let e=I(n);if(e!==-1){let t=i+e;return{index:t,scan:{fixedIndex:t,resumeOffset:i,inFence:r}}}}i=t+1}}function yt(e){return L(e).index}function bt(e){try{let t=JSON.parse(e);return Array.isArray(t)?M(t):typeof t==`object`&&t?P(t):null}catch{return e.startsWith(`[`)?R(e):null}}function R(e){let t=pt(e);if(!t)return null;let n=e.slice(t.nextIndex).trim();return n?[...t.blocks,{type:`text`,text:n}]:t.blocks}function xt(e){let t=Math.max(e.lastIndexOf(`]`),e.lastIndexOf(`}`));if(t===-1)return null;let n=e.substring(0,t+1);try{let r=JSON.parse(n),i=Array.isArray(r)?M(r):P(r),a=e.substring(t+1).trim();return a&&i.push({type:`text`,text:a}),i}catch{return null}}function z(e){return e?B(e,yt(e)):null}function B(e,t){if(!e)return null;let n=e.trim();if(n.startsWith(`{`)||n.startsWith(`[`)){let e=bt(n);if(e)return e}let r=[];if(t===-1)return null;let i=e.slice(0,t).trim();i&&r.push({type:`text`,text:i});let a=e.slice(t),o=R(a);if(o)return r.push(...o),r;let s=xt(a);return s?(r.push(...s),r):null}function V(e){return e.type===`tool_use`}function H(e){return e.type===`tool-result`}function St(e){return e.type===`text`}function U(e){return typeof e==`string`?e.replace(/\\n/g,`
3
+ `).replace(/✅/g,`✓`):``}function Ct(e){let t=0;for(let n=e.length-1;n>=0;n--){let r=e[n];if(!r||!St(r))break;t+=1}return t}function wt(e){let t=Ct(e);return t===0?null:e.slice(e.length-t).filter(St).map(e=>U(e.text).trim()).filter(e=>e.length>0).join(`
4
+
5
+ `).trim()||null}function Tt(e){let t=z(e);return t?wt(t):U(e).trim()||null}function Et(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 Dt(e,t,n){let r=e[e.length-1];return r?.type===t?(r.chunks.push(n),[...e]):[...e,{type:t,chunks:[n]}]}function Ot(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 kt(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.type===`content`)return t;return-1}function At(e){let t=e.chunks.join(``);return z(t)??(t.trim()?[{type:`text`,text:t}]:[])}function jt(e){return e.some(e=>e.type===`tool_use`||e.type===`tool-result`)}function Mt(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 Nt(e,t){let n=kt(e);if(n===-1)return[...e,{type:`content`,chunks:[t]}];let r=e[n],i=t;if(r?.type===`content`){let e=z(t),n=At(r);e&&jt(e)&&jt(n)&&(i=JSON.stringify(Et(n,e)))}return[...e.slice(0,n),{type:`content`,chunks:[i]},...e.slice(n+1)]}function Pt(e,t){let n=z(t);if(!n?.some(e=>e.type===`tool_use`||e.type===`tool-result`))return Dt(e,`content`,t);let r=Ot(e),i=n;if(r>=0){let t=e[r];t?.type===`content`&&(i=Et(At(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 Ft(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`content`)return n.chunks.join(``)}return``}function It(e,t){return[...e,{type:`long_running_confirmation`,prompt:t}]}function Lt(e,t){return[...e,{type:`shell_permission`,prompt:t}]}function Rt(e,t){return[...e,{type:`seatbelt_escalation`,prompt:t}]}function zt(e,t){return[...e,{type:`web_fetch_permission`,prompt:t}]}var Bt=new WeakMap;function Vt(e,t,n){if(t.length<n)return!1;for(let r=0;r<n;r++)if(e[r]!==t[r])return!1;return!0}function Ht(e){let t=Bt.get(e),n=t?Vt(t.chunks,e.chunks,t.chunkCount):!1;if(t&&n&&e.chunks.length===t.chunkCount)return t.blocks;let r=t!==void 0&&n,i=r?t.text+e.chunks.slice(t.chunkCount).join(``):e.chunks.join(``),a,o;if(e.type===`thinking`)a=A(i)??[];else{let e=L(i,r?t.scan:void 0);o=e.scan,a=B(i,e.index)??(i.trim()?[{type:`text`,text:i}]:[])}return Bt.set(e,{chunks:e.chunks,chunkCount:e.chunks.length,text:i,scan:o,blocks:a}),a}function W(e){let t=[];for(let n of e){if(n.type===`long_running_confirmation`){t.push({type:`long_running_confirmation`,prompt:n.prompt});continue}if(n.type===`shell_permission`){t.push({type:`shell_permission`,prompt:n.prompt});continue}if(n.type===`seatbelt_escalation`){t.push({type:`seatbelt_escalation`,prompt:n.prompt});continue}if(n.type===`web_fetch_permission`){t.push({type:`web_fetch_permission`,prompt:n.prompt});continue}t.push(...Ht(n))}return Mt(t)}function G(e){return e.type===`thinking-group`}function Ut(e,t=!1){let n=[],r=[],i,a=()=>{r.length>0&&(n.push({type:`thinking-group`,text:r.join(`
6
+
7
+ `),label:i,isCurrentlyStreaming:!1}),r=[],i=void 0)};for(let t of e)if(t.type===`reasoning`&&`text`in t){let e=t;r.push(e.text),e.label&&(i=e.label)}else a(),n.push(t);if(a(),t&&n.length>0){let e=n[n.length-1];if(e.type===`thinking-group`){let t=e;t.label!==`Validated`&&(t.isCurrentlyStreaming=!0)}}return n}var Wt=new Set([`todo`]),K=new Set([`todo`,`ask_user`]),Gt=new Map(u.map((e,t)=>[e.id,t]));function Kt(e){if(G(e))return!1;switch(e.type){case`text`:return e.text.trim().length>0;case`shell_permission`:case`seatbelt_escalation`:case`web_fetch_permission`:case`long_running_confirmation`:return!0;case`tool_use`:return e.name===`ask_user`;case`tool-result`:return!1}}function qt(e){return G(e)?!1:e.type===`tool_use`?!Wt.has(e.name):e.type===`tool-result`?!K.has(e.toolName):!1}function Jt(e){let t=[],n=[];function r(){n.some(qt)?t.push({type:`tool-call-group`,items:n}):t.push(...n),n=[]}for(let i of e)Kt(i)?(n.length>0&&r(),t.push(i)):n.push(i);return n.length>0&&r(),t}function q(e){return e.length===0?0:e.split(`
8
+ `).length}function Yt(e){let t=0,n=0;if(Array.isArray(e.replacements)){for(let r of e.replacements)if(r&&typeof r==`object`){let e=r;typeof e.newText==`string`&&(t+=q(e.newText)),typeof e.oldText==`string`&&(n+=q(e.oldText))}return{added:t,removed:n}}return typeof e.newText==`string`&&(t+=q(e.newText)),typeof e.oldText==`string`&&(n+=q(e.oldText)),{added:t,removed:n}}function Xt(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 Zt(e){let t=typeof e.path==`string`&&e.path?e.path:null;return t?t.split(`/`).pop()??t:null}function Qt(e){let t=typeof e.description==`string`?e.description.trim():``;return t?`${t}…`:null}function $t(e){return(typeof e.intention==`string`?e.intention.trim():``)||null}function en(e){let t=$t(e);return t?`${t}…`:null}function tn(e){let t=e.toLowerCase();return t===`run_js`||t===`run_web_worker`}function nn(e){return c(e.name,e.input)?r(`subagents`):a(e.name)}function rn(e){return e.filter(e=>e===`subagents`).length}function an(e,t){let n=e[0];return r(n!==void 0&&e.every(e=>e===n)?n:`other`).formatNeutral(t)}function J(e){return e.charAt(0).toUpperCase()+e.slice(1)}function on(){return{categoryCounts:new Map,editedPaths:new Set,completedCommandBlocks:[],linesAdded:0,linesRemoved:0}}function sn(e){let t=[],n=new Map;for(let r of e)G(r)||(V(r)?t.push(r):H(r)&&n.set(r.toolCallId,r));return{toolUses:t,groupResults:n,groupToolUseIds:new Set(t.map(e=>e.id))}}function cn(e,t){let n=nn(e);t.categoryCounts.set(n.id,(t.categoryCounts.get(n.id)??0)+1),n.id===`commands`&&t.completedCommandBlocks.push(e);let r=e.name.toLowerCase();if(r===`edit`||r===`write`){let n=typeof e.input.path==`string`&&e.input.path?e.input.path:e.id;if(t.editedPaths.add(n),r===`edit`){let n=Yt(e.input);t.linesAdded+=n.added,t.linesRemoved+=n.removed}else typeof e.input.content==`string`&&(t.linesAdded+=q(e.input.content))}}function ln(e,t,n,r,i){let a=[],o=0,s=null;for(let c of e){if(Wt.has(c.name))continue;let e=t.has(c.id),l=r?.has(c.id)||n.some(e=>H(e)&&e.toolCallId===c.id&&!K.has(e.toolName));e?cn(c,i):l||(o+=1,a.push(nn(c).id),s=c)}return{pendingCount:o,pendingCategoryIds:a,lastPending:s}}function un(e,t,n,r){let i=0;for(let a of e.values())if(!K.has(a.toolName)&&(a.isError===!0&&(i+=1),!t.has(a.toolCallId))){let e=n.find(e=>V(e)&&e.id===a.toolCallId);e?cn(e,r):r.categoryCounts.set(`other`,(r.categoryCounts.get(`other`)??0)+1)}return i}function dn(e,t){let n=[];for(let[r,i]of e)r===`other`||i===0||n.push({id:r,count:r===`files`?t.size:i});return n.sort((e,t)=>(Gt.get(e.id)??2**53-1)-(Gt.get(t.id)??2**53-1)),n}function fn(e,t,n,r){if(!e)return null;if(r.has(e.id))return`Awaiting permission · ${an(n,t)}`;if(c(e.name,e.input))return Qt(e.input)??`${e.activeDisplayName??l(e.name)}…`;if(tn(e.name))return en(e.input)??`${e.activeDisplayName??l(e.name)}…`;let i=e.activeDisplayName??l(e.name),a=Zt(e.input);return a?`${i} ${a}…`:`${i}…`}function pn(e){if(e.length!==1)return null;let t=e[0];return t&&tn(t.name)?$t(t.input):null}function mn(e){return e.toLowerCase()===`bash`}var hn=2e3,gn=/(?<!\d)(\d{1,3})(?:\.\d+)?%(?!\d)/g;function _n(e){if(!e)return null;let t=e.length>hn?e.slice(-2e3):e,n=null;for(let e of t.matchAll(gn)){let t=Number(e[1]);t>=0&&t<=100&&(n=t)}return n}function vn(e,t,n){let{toolUses:r,groupResults:i,groupToolUseIds:a}=sn(e),o=Xt(t),s=on(),{pendingCount:c,pendingCategoryIds:l,lastPending:u}=ln(r,i,t,n,s),d=un(i,a,t,s),f=dn(s.categoryCounts,s.editedPaths),p=s.editedPaths.size,m=fn(u,c,l,o),h=pn(s.completedCommandBlocks),ee=u&&mn(u.name)?u.id:null;return{categories:f,distinctFiles:p,otherCount:s.categoryCounts.get(`other`)??0,pendingCount:c,pendingCategoryIds:l,linesAdded:s.linesAdded,linesRemoved:s.linesRemoved,errorCount:d,activeLabel:m,pendingCommandToolId:ee,singleCommandTitle:h}}function Y(e,t){let n=e.categories.slice(0,3),i=e.categories.slice(3).reduce((e,t)=>e+t.count,0),a=e.otherCount+i,o=n.map(t=>t.id===`commands`&&t.count===1&&e.singleCommandTitle?e.singleCommandTitle:r(t.id).formatPhrase(t.count)),c=``;o.length>0?(c=o.join(`, `),a>0&&(c+=`, and ${a} more`),c=J(c)):a>0&&(c=J(r(`other`).formatPhrase(a)));let l=rn(e.pendingCategoryIds);if(l>0){let e=s(l);c=c?`${c} · ${e}`:J(e)}let u=t.showActive&&e.activeLabel!==null,d=e.pendingCount-l;if(!u&&d>0){let t=an(e.pendingCategoryIds.filter(e=>e!==`subagents`),d);c=c?`${c} · ${t}`:J(t)}let f=e.linesAdded+e.linesRemoved>0?`+${e.linesAdded} −${e.linesRemoved}`:null,p=t.runningCommandProgress,m=u&&p!=null&&e.pendingCommandToolId!==null?`Running Command ${p}%`:u?e.activeLabel:null;return{text:c,lineStats:f,errorCount:e.errorCount,activeLabel:m}}function yn(e){let t=Jt(Ut(e,!0));for(let n=t.length-1;n>=0;n--){let r=t[n];if(!k(r))continue;let i=Y(vn(r.items,e),{showActive:!0});if(i.activeLabel!==null)return i.activeLabel}return null}function bn(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 xn(e){return e.type===`content`||e.type===`thinking`?e.chunks.some(e=>e.trim().length>0):!1}function Sn(e){let t=W(e),n=t.some(e=>V(e)&&e.name===`ask_user`),r=t.some(e=>H(e)&&e.toolName===`ask_user`);if(n&&!r)return!0;let i=bn(e);return i===-1?!1:!e.slice(i+1).some(xn)}function Cn(e){let t=W(e);return t.length===0?`...`:t.length===1&&t[0]?.type===`text`&&`text`in t[0]?t[0].text:JSON.stringify(t)}var wn=5e3;function Tn(){return{scan:{scannedText:``,processedOffset:0,inFence:!1,boundaryEnd:0},pendingStartedAt:null,revealed:!1,pendingText:``}}function En(e,t){t.startsWith(e.scannedText)||(e.scannedText=``,e.processedOffset=0,e.inFence=!1,e.boundaryEnd=0);let n=e.processedOffset;for(;;){let r=t.indexOf(`
9
+ `,n);if(r===-1)break;let i=t.slice(n,r);F.test(i.trimStart())?e.inFence=!e.inFence:!e.inFence&&i.trim()===``&&(e.boundaryEnd=r+1),n=r+1}e.processedOffset=n,e.scannedText=t}function Dn(e,t,n){En(e.scan,t);let r=t.slice(e.scan.boundaryEnd),i=t.slice(0,e.scan.boundaryEnd);return r===``?(e.pendingStartedAt=null,e.revealed=!1):e.pendingText!==``&&r.startsWith(e.pendingText)||(e.pendingStartedAt=n,e.revealed=!1),e.pendingText=r,!e.revealed&&e.pendingStartedAt!==null&&n-e.pendingStartedAt>=5e3&&(e.revealed=!0),{committedText:i,pendingText:r,revealed:e.revealed}}function On(e,t){switch(t.type){case d.SetStreaming:{let n=b(e,t),r=x(e,t);return S(e,n,r,{...y(e.threadStreamingStates,n,r),isStreaming:t.isStreaming})}case d.AppendStreamContent:{let n=b(e,t),r=x(e,t),i=y(e.threadStreamingStates,n,r);return S(e,n,r,{...i,streamingContent:i.streamingContent+t.content})}case d.SetStreamContent:{let n=b(e,t),r=x(e,t),i=y(e.threadStreamingStates,n,r),a=Nt(i.streamingSegments,t.content);return S(e,n,r,{...i,streamingContent:t.content,streamingSegments:a})}case d.AppendStreamThinking:{let n=b(e,t),r=x(e,t),i=y(e.threadStreamingStates,n,r);return S(e,n,r,{...i,streamingThinking:i.streamingThinking+t.content})}case d.IncrementStreamEventCount:{let n=b(e,t),r=x(e,t),i=y(e.threadStreamingStates,n,r);return S(e,n,r,{...i,streamingEventCount:i.streamingEventCount+1})}case d.AppendStreamChunk:{let n=b(e,t),r=x(e,t),i=y(e.threadStreamingStates,n,r);return S(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=b(e,t),r=x(e,t);return S(e,n,r,{...y(e.threadStreamingStates,n,r),streamingModel:t.model})}case d.SetStreamAgentMode:{let n=b(e,t),r=x(e,t);return S(e,n,r,{...y(e.threadStreamingStates,n,r),streamingAgentMode:t.mode})}case d.SetContextUsage:{let n=b(e,t),r=x(e,t);return S(e,n,r,{...y(e.threadStreamingStates,n,r),contextUsage:t.contextUsage})}case d.ResetStream:return S(e,b(e,t),x(e,t),_(),!0);case d.StopStream:{let n=b(e,t),r=x(e,t);return S(e,n,r,{...y(e.threadStreamingStates,n,r),isStreaming:!1})}default:return null}}function X(e,t){return e.terminalStates[t]??pe()}function kn(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 An(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 jn=[On,te,ot,je,ut,kn,An];function Mn(e,t){for(let n of jn){let r=n(e,t);if(r!==null)return r}return e}var Nn=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 Pn(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 Fn(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=Mn(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 Pn(e))s(t);o()}function l(e){if(Nn.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 In=t(),Q=e(n(),1),Ln=(0,Q.createContext)(null);function $(){let e=(0,Q.useContext)(Ln);if(!e)throw Error(`useAppStore must be used within an AppStoreContext.Provider`);return e}function Rn(e){let t=(0,In.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 zn(){return $().dispatch}function Bn(e){let t=(0,In.c)(8),n=zn(),r;t[0]===e?r=t[1]:(r=t=>(e?t.terminalStates[e]:void 0)??m,t[0]=e,t[1]=r);let i=Rn(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{f as $,Tt as A,be as B,Dt as C,Nt as D,Rt as E,z as F,y as G,v as H,A as I,ae as J,ue as K,k as L,V as M,U as N,Lt as O,vt as P,d as Q,Ce as R,W as S,Pt as T,ne as U,Se as V,g as W,re as X,ce as Y,ee as Z,Ut as _,Bn as a,Ht as b,Dn as c,Sn as d,_n as f,vn as g,Jt as h,$ as i,H as j,zt as k,Tn as l,yn as m,zn as n,Fn as o,Y as p,de as q,Rn as r,wn as s,Ln as t,Cn as u,G as v,It as w,Ft as x,Mt as y,xe as z};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{g as i,h as a,t as o,u as s}from"./dist-DIjomljy.js";import{c,t as l}from"./utils-CT-Dw22R.js";import{t as u}from"./dist-mdooLpmq.js";import{t as d}from"./dist-CSssbxDI.js";var f=t(),p=e(n(),1),m=r(),h=`Switch`,[g,_]=a(h),[v,y]=g(h),b=p.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:a,defaultChecked:l,required:u,disabled:d,value:f=`on`,onCheckedChange:g,form:_,...y}=e,[b,x]=p.useState(null),S=c(t,e=>x(e)),C=p.useRef(!1),E=b?_||!!b.closest(`form`):!0,[D,O]=o({prop:a,defaultProp:l??!1,onChange:g,caller:h});return(0,m.jsxs)(v,{scope:n,checked:D,disabled:d,children:[(0,m.jsx)(s.button,{type:`button`,role:`switch`,"aria-checked":D,"aria-required":u,"data-state":T(D),"data-disabled":d?``:void 0,disabled:d,value:f,...y,ref:S,onClick:i(e.onClick,e=>{O(e=>!e),E&&(C.current=e.isPropagationStopped(),C.current||e.stopPropagation())})}),E&&(0,m.jsx)(w,{control:b,bubbles:!C.current,name:r,value:f,checked:D,required:u,disabled:d,form:_,style:{transform:`translateX(-100%)`}})]})});b.displayName=h;var x=`SwitchThumb`,S=p.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=y(x,n);return(0,m.jsx)(s.span,{"data-state":T(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});S.displayName=x;var C=`SwitchBubbleInput`,w=p.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...i},a)=>{let o=p.useRef(null),s=c(o,a),l=d(n),f=u(t);return p.useEffect(()=>{let e=o.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(l!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[l,n,r]),(0,m.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:s,style:{...i.style,...f,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});w.displayName=C;function T(e){return e?`checked`:`unchecked`}var E=b,D=S,O=p.forwardRef((e,t)=>{let n=(0,f.c)(10),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=l(`peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,r),n[3]=r,n[4]=a);let o;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,m.jsx)(D,{className:l(`pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`)}),n[5]=o):o=n[5];let s;return n[6]!==i||n[7]!==t||n[8]!==a?(s=(0,m.jsx)(E,{className:a,...i,ref:t,children:o}),n[6]=i,n[7]=t,n[8]=a,n[9]=s):s=n[9],s});O.displayName=E.displayName;export{O as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{ot as i}from"./dist-BWuYHVi8.js";import{t as a}from"./utils-CT-Dw22R.js";var o=t(),s=e(n(),1),c=r(),l=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,s;n[0]===e?(r=n[1],s=n[2]):({className:r,...s}=e,n[0]=e,n[1]=r,n[2]=s);let l;n[3]===r?l=n[4]:(l=a(`w-full caption-bottom`,i.body,r),n[3]=r,n[4]=l);let u;return n[5]!==s||n[6]!==t||n[7]!==l?(u=(0,c.jsx)(`div`,{className:`relative w-full overflow-auto`,children:(0,c.jsx)(`table`,{ref:t,className:l,...s})}),n[5]=s,n[6]=t,n[7]=l,n[8]=u):u=n[8],u});l.displayName=`Table`;var u=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`[&_tr]:border-b`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`thead`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});u.displayName=`TableHeader`;var d=s.forwardRef((e,t)=>{let n=(0,o.c)(7),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;return n[3]!==r||n[4]!==i||n[5]!==t?(a=(0,c.jsx)(`tbody`,{ref:t,className:r,...i}),n[3]=r,n[4]=i,n[5]=t,n[6]=a):a=n[6],a});d.displayName=`TableBody`;var f=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`border-t font-medium [&>tr]:last:border-b-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`tfoot`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});f.displayName=`TableFooter`;var p=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`tr`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});p.displayName=`TableRow`;var m=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`th`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});m.displayName=`TableHead`;var h=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`p-4 align-middle [&:has([role=checkbox])]:pr-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`td`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});h.displayName=`TableCell`;var g=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,s;n[0]===e?(r=n[1],s=n[2]):({className:r,...s}=e,n[0]=e,n[1]=r,n[2]=s);let l;n[3]===r?l=n[4]:(l=a(i.caption,`mt-4`,r),n[3]=r,n[4]=l);let u;return n[5]!==s||n[6]!==t||n[7]!==l?(u=(0,c.jsx)(`caption`,{ref:t,className:l,...s}),n[5]=s,n[6]=t,n[7]=l,n[8]=u):u=n[8],u});g.displayName=`TableCaption`;export{p as a,m as i,d as n,h as r,l as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/api-BMo_Lz8f.js","assets/rolldown-runtime-aKtaBQYM.js","assets/dist-BWuYHVi8.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,r,t as i}from"./react-vendor-Ee0-5T4I.js";import{A as a,I as o,M as s,N as c,S as l,c as u,d,j as f,k as p,ot as m,p as h,s as g,v as _}from"./dist-BWuYHVi8.js";import{Q as v,n as y,r as b}from"./store-BaMSfYoJ.js";import{$ as x,A as S,An as C,D as w,Et as T,dn as E,ot as ee,pn as D,q as te,rt as ne,y as O}from"./dist-DIjomljy.js";import{t as k}from"./utils-CT-Dw22R.js";import{t as A}from"./button-DeNw35VZ.js";import{C as re,Tt as ie,f as ae,qt as oe,vt as j}from"./api-BMo_Lz8f.js";import{i as se,n as M,t as N}from"./tooltip-B6ziVyTv.js";import{n as P}from"./async-loading-fallback-B_JNgWJR.js";import{n as ce}from"./scroll-area-nbNFO91g.js";import{a as le,o as ue,r as de,s as fe,t as pe}from"./dialog-Do98zzAW.js";import{n as F}from"./chat-dock-context-BXoAs38w.js";import{n as me,t as I}from"./suspense-resource-DnYnmTbs.js";import{t as he}from"./use-suspense-resource-Dkz6ddFN.js";import{$t as ge,At as L,Ft as R,Gt as _e,Ht as ve,J as ye,Jt as be,K as xe,Kt as Se,Mt as Ce,Nt as we,Ot as Te,Pt as z,Qt as Ee,Tn as De,Ut as B,V as Oe,Vt as ke,Wt as Ae,Xt as je,Y as Me,Yt as Ne,Zt as Pe,_n as Fe,cn as Ie,en as Le,gn as Re,in as ze,kt as Be,ln as Ve,nn as V,q as He,qt as Ue,rn as We,sn as Ge,tn as Ke,vn as qe,xn as Je,yn as H}from"./index-DjaVbFDB.js";import{n as U,t as Ye}from"./toggle-group-5tREtjoW.js";import{n as W,t as Xe}from"./commit-method-fields-CD3PTIox.js";import{t as G}from"./async-error-boundary-J8P6NVvc.js";var K=t(),q=e(n(),1),J=i();function Ze({task:e,disabled:t=!1,onImplementInNewThread:n,onImplementInThisThread:r,onMarkDone:i,onRunNow:a}){let[o,s]=(0,q.useState)(!1),c=Se(e),l=e.status!==`Done`,u=Ue(e),d=t||o||!c&&!l&&!u;async function f(e){s(!0);try{await e()}finally{s(!1)}}return(0,J.jsxs)(Re,{children:[(0,J.jsx)(De,{asChild:!0,children:(0,J.jsxs)(A,{variant:`ghost`,size:`icon`,className:k(`h-8 w-8 shrink-0`,e.working&&`text-primary`),disabled:d,children:[o||e.working?(0,J.jsx)(T,{className:`h-4 w-4 animate-spin`}):(0,J.jsx)(D,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{className:`sr-only`,children:`Task actions`})]})}),(0,J.jsxs)(qe,{align:`end`,children:[c&&(0,J.jsx)(H,{onClick:()=>void f(()=>r(e)),children:`Do This`}),u&&(0,J.jsx)(H,{onClick:()=>void f(()=>a(e)),children:`Run Now`}),c&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Je,{}),(0,J.jsx)(H,{onClick:()=>void f(()=>n(e)),children:`Do this in a new workspace`})]}),l&&(0,J.jsx)(H,{onClick:()=>void f(()=>i(e)),children:`Mark as Done`})]})]})}function Qe(e){let t=(0,K.c)(14),{tag:n,onRemove:r,className:i}=e,a;t[0]===i?a=t[1]:(a=k(m.compact,`inline-flex items-center gap-1 rounded-full border border-border/50 bg-background px-2 py-0.5`,i),t[0]=i,t[1]=a);let o;t[2]===n.color?o=t[3]:(o=(0,J.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:n.color}}),t[2]=n.color,t[3]=o);let s;t[4]===n.name?s=t[5]:(s=(0,J.jsx)(`span`,{className:`truncate`,children:n.name}),t[4]=n.name,t[5]=s);let c;t[6]!==r||t[7]!==n.name?(c=r&&(0,J.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,J.jsxs)(`svg`,{className:`h-3 w-3`,viewBox:`0 0 12 12`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,children:[(0,J.jsx)(`line`,{x1:`3`,y1:`3`,x2:`9`,y2:`9`}),(0,J.jsx)(`line`,{x1:`9`,y1:`3`,x2:`3`,y2:`9`})]})}),t[6]=r,t[7]=n.name,t[8]=c):c=t[8];let l;return t[9]!==a||t[10]!==o||t[11]!==s||t[12]!==c?(l=(0,J.jsxs)(`span`,{className:a,children:[o,s,c]}),t[9]=a,t[10]=o,t[11]=s,t[12]=c,t[13]=l):l=t[13],l}var $e={Plan:`#EAB308`,Build:`#3B82F6`,Test:`#8B5CF6`,Review:`#F97316`,Done:`#22C55E`};function et(e){let t=(0,K.c)(10),{status:n,className:r}=e,i;t[0]===r?i=t[1]:(i=k(m.compact,`inline-flex items-center gap-1 rounded-full border border-border/50 bg-background px-2 py-0.5`,r),t[0]=r,t[1]=i);let a=$e[n],o;t[2]===a?o=t[3]:(o=(0,J.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:a}}),t[2]=a,t[3]=o);let s;t[4]===n?s=t[5]:(s=(0,J.jsx)(`span`,{className:`truncate`,children:n}),t[4]=n,t[5]=s);let c;return t[6]!==i||t[7]!==o||t[8]!==s?(c=(0,J.jsxs)(`span`,{className:i,children:[o,s]}),t[6]=i,t[7]=o,t[8]=s,t[9]=c):c=t[9],c}function tt({selectedTags:e,existingTags:t,onChange:n,placeholder:r=`Add tags...`,allowCreate:i=!0}){let[o,l]=(0,q.useState)(``),[u,d]=(0,q.useState)(!1),[h,g]=(0,q.useState)(0),_=(0,q.useRef)(null),v=(0,q.useMemo)(()=>new Set(e.map(e=>f(e.name))),[e]),y=e.length>=10,b=(0,q.useMemo)(()=>{let e=o.trim(),n=e.toLowerCase(),r=new Map;for(let e of t){let t=f(e.name);v.has(t)||r.set(t,{name:e.name,color:e.color})}for(let e of p){let t=f(e);!v.has(t)&&!r.has(t)&&r.set(t,{name:e,color:a(t)})}let l=(n?[...r.values()].filter(e=>e.name.toLowerCase().includes(n)):[...r.values()]).map(e=>({name:e.name,color:e.color,isCreate:!1}));if(e&&i&&!y){let t=s(e),n=f(t),i=v.has(n)||r.has(n),o=!c(t);!i&&o&&l.push({name:t,color:a(n),isCreate:!0})}return l},[o,t,v,y]);(0,q.useEffect)(()=>{g(0)},[o]),(0,q.useEffect)(function(){if(!u||y)return;let e=requestAnimationFrame(function(){_.current?.focus()});return function(){cancelAnimationFrame(e)}},[u,y]);function x(r){if(y)return;let i=s(r),o=f(i);if(v.has(o))return;let c=t.find(e=>f(e.name)===o)??{id:`new:${o}`,name:i,color:a(o)};n([...e,c]),l(``)}function S(t){n(e.filter(e=>e.id!==t.id))}function C(t){if(t.key===`ArrowDown`)t.preventDefault(),u||d(!0),g(e=>(e+1)%Math.max(b.length,1));else if(t.key===`ArrowUp`)t.preventDefault(),g(e=>(e-1+b.length)%Math.max(b.length,1));else if(t.key===`Enter`){t.preventDefault();let e=b[h];e&&x(e.name)}else t.key===`Backspace`&&!o&&e.length>0?S(e[e.length-1]):t.key===`Escape`&&(d(!1),_.current?.blur())}return(0,J.jsxs)(Ge,{open:u,onOpenChange:function(e){d(e),e||l(``)},children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[e.map(function(e){return(0,J.jsx)(Qe,{tag:e,onRemove:()=>S(e)},e.id)}),(0,J.jsx)(Ve,{asChild:!0,children:(0,J.jsx)(A,{type:`button`,variant:`outline`,size:`icon-xs`,disabled:y,"aria-label":y?`Max 10 tags`:`Add tag`,className:k(`h-6 w-6 rounded-full border-dashed text-muted-foreground`,y&&`opacity-50`),children:(0,J.jsx)(ne,{className:`h-3 w-3`})})})]}),(0,J.jsxs)(Ie,{align:`start`,className:`w-72 p-0`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,J.jsx)(`div`,{className:`border-b border-border p-2`,children:(0,J.jsx)(`input`,{ref:_,type:`text`,value:o,onChange:function(e){l(e.target.value)},onKeyDown:C,placeholder:y?`Max 10 tags`:r,disabled:y,className:k(m.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,J.jsx)(`div`,{className:`overflow-y-auto overscroll-contain`,style:{maxHeight:220},children:b.length===0?(0,J.jsx)(`p`,{className:k(m.bodyMuted,`px-3 py-4 text-center`),children:y?`Tag limit reached`:`No tags found`}):b.map(function(e,t){return(0,J.jsxs)(`button`,{type:`button`,className:k(m.body,`flex w-full items-center gap-2 px-3 py-2 text-left hover:bg-accent`,h===t&&`bg-accent`),onClick:function(){x(e.name),_.current?.focus()},children:[(0,J.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),e.isCreate?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:`Create`}),(0,J.jsx)(`span`,{className:`truncate font-medium`,children:e.name})]}):(0,J.jsx)(`span`,{className:`truncate`,children:e.name})]},e.isCreate?`create:${e.name}`:e.name)})})]})]})}function nt({open:e,onOpenChange:t,projectId:n,tags:r,onTagsChanged:i}){let[a,o]=(0,q.useState)(null),[s,c]=(0,q.useState)(``),[l,u]=(0,q.useState)(``),[d,f]=(0,q.useState)(!1),[p,h]=(0,q.useState)(!1),[g,_]=(0,q.useState)(null),[v,y]=(0,q.useState)(null);function b(e){o(e.id),c(e.name),_(null)}function x(){o(null),c(``),_(null)}async function S(){let e=l.trim();if(e){h(!0),_(null);try{let t=await je(n,e);i([...r,t]),u(``)}catch(e){_(e instanceof Error?e.message:`Failed to create tag`)}finally{h(!1)}}}async function E(e){let t=s.trim();if(t){f(!0),_(null);try{let a=await V(n,e,t);i(r.map(e=>e.id===a.id?{...e,name:a.name,color:a.color}:e)),x()}catch(e){_(e instanceof Error?e.message:`Failed to rename tag`)}finally{f(!1)}}}async function ee(e){f(!0),_(null);try{await Ee(n,e),i(r.filter(t=>t.id!==e)),y(null),a===e&&x()}catch(e){_(e instanceof Error?e.message:`Failed to delete tag`)}finally{f(!1)}}return(0,J.jsx)(pe,{open:e,onOpenChange:t,children:(0,J.jsxs)(de,{className:`flex max-h-[min(36rem,85vh)] flex-col sm:max-w-md`,children:[(0,J.jsx)(ue,{children:(0,J.jsx)(fe,{children:`Manage Tags`})}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2 py-2`,children:[(0,J.jsx)(R,{value:l,onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`&&S(),e.key===`Escape`&&u(``)},placeholder:`New tag name...`,className:`h-8 flex-1`,disabled:p}),(0,J.jsx)(A,{size:`sm`,className:`h-8 shrink-0 bg-foreground text-background hover:bg-foreground/90`,onClick:()=>void S(),disabled:p||!l.trim(),children:p?(0,J.jsx)(T,{className:`h-3.5 w-3.5 animate-spin`}):`Add`})]}),r.length===0?(0,J.jsx)(`p`,{className:k(m.bodyMuted,`py-4 text-center`),children:`No tags yet. Create one above to get started.`}):(0,J.jsx)(ce,{className:`min-h-0 flex-1`,children:(0,J.jsx)(`div`,{className:`space-y-1 py-2 pr-3`,children:r.map(e=>{let t=a===e.id,n=v===e.id;return(0,J.jsx)(`div`,{className:k(`group flex items-center gap-2 rounded-md px-2 py-1.5 hover:bg-accent/40`,!t&&!n&&!d&&`cursor-pointer`),onClick:()=>{!d&&!t&&!n&&b(e)},children:t?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(R,{value:s,onChange:e=>c(e.target.value),onKeyDown:t=>{t.key===`Enter`&&E(e.id),t.key===`Escape`&&x()},className:`h-8 flex-1 text-sm`,autoFocus:!0,disabled:d}),(0,J.jsx)(A,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>void E(e.id),disabled:d||!s.trim(),children:d?(0,J.jsx)(T,{className:`h-4 w-4 animate-spin`}):(0,J.jsx)(C,{className:`h-4 w-4`})}),(0,J.jsx)(A,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:x,disabled:d,children:(0,J.jsx)(O,{className:`h-4 w-4`})})]}):n?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`span`,{className:k(m.body,`flex-1 truncate`),children:[`Delete `,e.name,`? Removes from `,e.taskCount,` `,e.taskCount===1?`task`:`tasks`,`.`]}),(0,J.jsx)(A,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-destructive hover:text-destructive`,onClick:()=>void ee(e.id),disabled:d,children:d?(0,J.jsx)(T,{className:`h-4 w-4 animate-spin`}):(0,J.jsx)(C,{className:`h-4 w-4`})}),(0,J.jsx)(A,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>y(null),disabled:d,children:(0,J.jsx)(O,{className:`h-4 w-4`})})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`h-2.5 w-2.5 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,J.jsx)(`span`,{className:k(m.body,`min-w-0 flex-1 truncate`),children:e.name}),(0,J.jsxs)(`span`,{className:k(m.caption,`shrink-0 text-muted-foreground`),children:[e.taskCount,` `,e.taskCount===1?`task`:`tasks`]}),(0,J.jsx)(A,{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:d,"aria-label":`Delete ${e.name}`,children:(0,J.jsx)(w,{className:`h-3.5 w-3.5`})})]})},e.id)})})}),g&&(0,J.jsx)(`p`,{className:k(m.caption,`text-destructive`),children:g})]})})}var rt=`09:00`;function Y(e){return String(e).padStart(2,`0`)}function it(){let e=new Date(Date.now()+3600*1e3);return`${e.getFullYear()}-${Y(e.getMonth()+1)}-${Y(e.getDate())}T${Y(e.getHours())}:${Y(e.getMinutes())}`}function at(){return{kind:`manual`,scheduleMode:`once`,scheduledAtLocal:it(),preset:`daily`,presetTime:rt,dayOfWeek:new Date().getDay(),timezone:d(),enabled:!0,eventKey:``}}function ot(e){let t=at();if(e.triggerType===`schedule`){if(e.scheduleCron){let n=h(e.scheduleCron);return{kind:`schedule`,scheduleMode:`repeating`,scheduledAtLocal:t.scheduledAtLocal,preset:n?.preset??`daily`,presetTime:n?.time??rt,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()}-${Y(n.getMonth()+1)}-${Y(n.getDate())}T${Y(n.getHours())}:${Y(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 st(e){let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()}function ct(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:st(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 lt(e){return e.kind!==`manual`}function ut(e){return e.kind===`manual`?null:g(ct(e))}function dt(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 X(e){return e.startsWith(`Event key`)}function ft(e,t){return JSON.stringify(e)===JSON.stringify(t)}var pt=[{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 Z(e,t){return{...e,...t}}function mt(e){let t=(0,K.c)(42),{value:n,onChange:r,collapsed:i,onCollapsedChange:a,showCollapseControl:o,error:s}=e,c=i===void 0?!1:i,l=o===void 0?!1:o,u=s===void 0?null:s,d;t[0]!==r||t[1]!==n?(d=function(e){r(Z(n,{kind:e}))},t[0]=r,t[1]=n,t[2]=d):d=t[2];let f=d,p;t[3]!==r||t[4]!==n?(p=function(e){r(Z(n,{scheduleMode:e}))},t[3]=r,t[4]=n,t[5]=p):p=t[5];let h=p;if(l&&c){let e;return t[6]===a?e=t[7]:(e=(0,J.jsx)(`div`,{className:`mt-4`,children:(0,J.jsx)(A,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>a?.(!1),children:`Add schedule or event trigger`})}),t[6]=a,t[7]=e),e}let g;t[8]!==r||t[9]!==a||t[10]!==l||t[11]!==n?(g=l&&(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,J.jsx)(`p`,{className:k(m.label),children:`Trigger`}),(0,J.jsxs)(A,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-muted-foreground`,onClick:()=>{r(Z(n,{kind:`manual`})),a?.(!0)},children:[(0,J.jsx)(O,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{className:`sr-only`,children:`Remove trigger`})]})]}),t[8]=r,t[9]=a,t[10]=l,t[11]=n,t[12]=g):g=t[12];let _;t[13]===f?_=t[14]:(_=e=>{(e===`manual`||e===`schedule`||e===`event`)&&f(e)},t[13]=f,t[14]=_);let v;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,J.jsx)(U,{value:`manual`,"aria-label":`Manual`,className:k(m.body,W),children:`Manual`}),t[15]=v):v=t[15];let y;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,J.jsx)(U,{value:`schedule`,"aria-label":`Schedule`,className:k(m.body,W),children:`Schedule`}),t[16]=y):y=t[16];let b;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,J.jsx)(U,{value:`event`,"aria-label":`Event`,className:k(m.body,W),children:`Event`}),t[17]=b):b=t[17];let x;t[18]!==_||t[19]!==n.kind?(x=(0,J.jsxs)(Ye,{type:`single`,value:n.kind,onValueChange:_,"aria-label":`Trigger type`,className:Xe,children:[v,y,b]}),t[18]=_,t[19]=n.kind,t[20]=x):x=t[20];let S;t[21]!==r||t[22]!==h||t[23]!==n?(S=n.kind===`schedule`&&(0,J.jsxs)(`div`,{className:`space-y-4 border-t border-border pt-4`,children:[(0,J.jsxs)(Ye,{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,J.jsx)(U,{value:`once`,"aria-label":`Once`,className:k(m.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,J.jsx)(U,{value:`repeating`,"aria-label":`Repeating`,className:k(m.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,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(z,{htmlFor:`schedule-once-at`,children:`Run at`}),(0,J.jsx)(R,{id:`schedule-once-at`,type:`datetime-local`,value:n.scheduledAtLocal,onChange:e=>r(Z(n,{scheduledAtLocal:e.target.value}))})]}):(0,J.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(z,{children:`Preset`}),(0,J.jsxs)(Te,{value:n.preset,onValueChange:e=>r(Z(n,{preset:e})),children:[(0,J.jsx)(Ce,{children:(0,J.jsx)(we,{})}),(0,J.jsxs)(Be,{children:[(0,J.jsx)(L,{value:`daily`,children:`Daily`}),(0,J.jsx)(L,{value:`weekdays`,children:`Weekdays`}),(0,J.jsx)(L,{value:`weekly`,children:`Weekly`})]})]})]}),n.preset===`weekly`&&(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(z,{children:`Day`}),(0,J.jsxs)(Te,{value:String(n.dayOfWeek),onValueChange:e=>r(Z(n,{dayOfWeek:Number(e)})),children:[(0,J.jsx)(Ce,{children:(0,J.jsx)(we,{})}),(0,J.jsx)(Be,{children:pt.map(function(e){return(0,J.jsx)(L,{value:e.value,children:e.label},e.value)})})]})]}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(z,{htmlFor:`schedule-time`,children:`Time`}),(0,J.jsx)(R,{id:`schedule-time`,type:`time`,value:n.presetTime,onChange:e=>r(Z(n,{presetTime:e.target.value}))})]})]}),(0,J.jsxs)(`p`,{className:k(m.caption,`text-muted-foreground`),children:[`Timezone: `,n.timezone]})]}),t[21]=r,t[22]=h,t[23]=n,t[24]=S):S=t[24];let C;t[25]!==u||t[26]!==r||t[27]!==n?(C=n.kind===`event`&&(0,J.jsxs)(`div`,{className:`space-y-2 border-t border-border pt-4`,children:[(0,J.jsx)(z,{htmlFor:`event-key`,children:`Event Key`}),(0,J.jsx)(R,{id:`event-key`,value:n.eventKey,placeholder:`door.opened`,"aria-invalid":!!(u&&X(u)),onChange:e=>r(Z(n,{eventKey:e.target.value}))}),u&&X(u)?(0,J.jsx)(`p`,{className:k(m.caption,`text-destructive`),children:u}):(0,J.jsxs)(`p`,{className:k(m.caption,`text-muted-foreground`),children:[`Test in chat with `,(0,J.jsxs)(`code`,{children:[`/send-event `,n.eventKey.trim()||`event.key`]})]})]}),t[25]=u,t[26]=r,t[27]=n,t[28]=C):C=t[28];let w;t[29]!==u||t[30]!==n.kind?(w=u&&n.kind!==`event`?(0,J.jsx)(`p`,{className:k(m.caption,`text-destructive`),children:u}):null,t[29]=u,t[30]=n.kind,t[31]=w):w=t[31];let T;t[32]!==r||t[33]!==n?(T=n.kind!==`manual`&&(0,J.jsxs)(`div`,{className:`space-y-2 border-t border-border pt-4`,children:[(0,J.jsx)(z,{children:`Status`}),(0,J.jsxs)(Ye,{type:`single`,value:n.enabled?`active`:`paused`,onValueChange:e=>{(e===`active`||e===`paused`)&&r(Z(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,J.jsx)(U,{value:`active`,"aria-label":`Active`,className:k(m.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,J.jsx)(U,{value:`paused`,"aria-label":`Paused`,className:k(m.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]=T):T=t[34];let E;return t[35]!==x||t[36]!==S||t[37]!==C||t[38]!==w||t[39]!==T||t[40]!==g?(E=(0,J.jsxs)(`div`,{className:`mt-4 space-y-4 rounded-lg border border-border p-4`,children:[g,x,S,C,w,T]}),t[35]=x,t[36]=S,t[37]=C,t[38]=w,t[39]=T,t[40]=g,t[41]=E):E=t[41],E}var Q=l(`app.task-list.ui`);function ht(e){let t=(0,K.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,J.jsx)(te,{className:`h-4 w-4`}),p=(0,J.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,J.jsx)(se,{asChild:!0,children:(0,J.jsxs)(A,{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,J.jsx)(M,{children:`Search tasks`}),t[12]=h):h=t[12];let g;t[13]===m?g=t[14]:(g=(0,J.jsxs)(N,{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=k(`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,J.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,J.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,J.jsxs)(`div`,{className:`flex items-center`,children:[g,b]}),t[25]=b,t[26]=g,t[27]=x):x=t[27],x}function gt({projectId:e,onThreadSelect:t,initialTasks:n}){let r=y(),i=b(e=>e.projects),a=b(e=>e.selectedThreadId),o=b(e=>e.processingThreadIds),s=b(e=>e.pendingChatMessage),c=b(e=>e.queuedChatMessages),l=b(e=>e.projectModelSelections),u=i.find(t=>t.projectId===e),d=u?.threads.find(e=>e.threadId===a),p=a?l[a]:void 0,[h,g]=(0,q.useState)(n),[C,w]=(0,q.useState)(!1),[D,te]=(0,q.useState)(null),[O,j]=(0,q.useState)(``),[P,F]=(0,q.useState)(!1),[I,he]=(0,q.useState)([]),[L,R]=(0,q.useState)(new Set),[ve,Se]=(0,q.useState)(``),[Ce,we]=(0,q.useState)(!1),[Te,z]=(0,q.useState)(!1),[Ee,B]=(0,q.useState)([]),[je,Ie]=(0,q.useState)([]),[Be,Ve]=(0,q.useState)(at),[V,Ue]=(0,q.useState)(at),[Ge,U]=(0,q.useState)(!0),[Ye,W]=(0,q.useState)(null),[Xe,G]=(0,q.useState)(null);(0,q.useEffect)(()=>{Le(e).then(he).catch(e=>Q.error(`Failed to fetch project tags:`,e))},[e]);let{setActions:K}=Oe(),$e=(0,q.useCallback)(function(e){R(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),rt=(0,q.useCallback)(async function(){z(!0);try{await ae(e),g(await Ke(e)),Y(),$(),oe();let t=await ie();r({type:v.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){Q.error(`Failed to refresh project tasks:`,e)}finally{z(!1)}},[e,r]);(0,q.useEffect)(()=>(K((0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(ht,{onSearchTermChange:Se}),(0,J.jsxs)(N,{children:[(0,J.jsx)(se,{asChild:!0,children:(0,J.jsxs)(A,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:()=>void rt(),disabled:Te,children:[(0,J.jsx)(x,{className:k(`h-4 w-4`,Te&&`animate-spin`)}),(0,J.jsx)(`span`,{className:`sr-only`,children:`Refresh tasks`})]})}),(0,J.jsx)(M,{children:`Refresh`})]}),(0,J.jsxs)(Re,{children:[(0,J.jsxs)(N,{children:[(0,J.jsx)(se,{asChild:!0,children:(0,J.jsx)(De,{asChild:!0,children:(0,J.jsxs)(A,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,children:[(0,J.jsx)(S,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{className:`sr-only`,children:`Filter and manage tags`})]})})}),(0,J.jsx)(M,{children:`Tags`})]}),(0,J.jsxs)(qe,{align:`end`,className:`max-h-[var(--radix-dropdown-menu-content-available-height)] w-56 overflow-y-auto`,children:[I.length===0?(0,J.jsx)(H,{disabled:!0,className:`text-muted-foreground`,children:`No tags yet`}):I.map(function(e){return(0,J.jsxs)(Fe,{checked:L.has(e.id),onCheckedChange:()=>$e(e.id),onSelect:e=>e.preventDefault(),children:[(0,J.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,J.jsx)(`span`,{className:`truncate`,children:e.name})]},e.id)}),(0,J.jsx)(Je,{}),(0,J.jsxs)(H,{onClick:()=>we(!0),children:[(0,J.jsx)(ee,{className:`h-4 w-4`}),`Edit Tags`]})]})]})]})),()=>K(null)),[K,I,L,$e,Te,rt]);function Y(){me(`project-tasks:${e}:`)}let it=u?.tasksModifiedCount??0,st=(0,q.useRef)({});(0,q.useEffect)(()=>{let t=st.current[e]??0;if(it===0){st.current[e]=0;return}t!==it&&(st.current[e]=it,it>t&&rt())},[it,e,rt]),(0,q.useEffect)(()=>{if(!h.some(e=>e.working))return;let t=setInterval(async()=>{try{let n=await Ke(e);g(n),n.some(e=>e.working)||clearInterval(t)}catch(e){Q.error(`Failed to poll project tasks:`,e)}},2e3);return()=>clearInterval(t)},[h,e]),(0,q.useEffect)(()=>{g(n)},[n]),(0,q.useEffect)(()=>{C&&(j(``),B([]),Ve(at()),U(!0))},[C]),(0,q.useEffect)(()=>{D&&(Ie(D.task.tags??[]),Ue(ot(D.task)))},[D]);function X(e){g(t=>t.map(t=>t.id===e.id?e:t))}function pt(e){j(e.description),te({task:e}),G(null)}function Z(){te(null),j(``),G(null)}function gt(e,t){if(e)return null;let n=ut(t);return n?dt(n):null}async function _t(){if(!O.trim())return;let t=gt(Ge,Be);if(t){W(t);return}W(null),F(!0);try{let t=Ee.map(e=>e.name),n=Ge?{}:ct(Be),r=await Pe(e,O,{threadId:a??void 0,provider:p?.provider??d?.modelProvider,model:p?.id??d?.model,tags:t.length>0?t:void 0,...n});g(e=>[...e,r]),Y(),$(),w(!1),j(``),B([]),W(null)}catch(e){W(dt(e instanceof Error?e.message:`Failed to add task`)),Q.error(`Failed to add task:`,e)}finally{F(!1)}}async function vt(){if(!O.trim()||!D)return;let t=gt(!lt(V),V);if(t){G(t);return}G(null),F(!0);try{let t=O.trim(),n=t!==D.task.description.trim(),r=je.map(e=>e.name),i=new Set((D.task.tags??[]).map(e=>f(e.name))),o=new Set(r.map(e=>f(e))),s=i.size!==o.size||[...o].some(e=>!i.has(e)),c=!ft(ot(D.task),V),l=c?ct(V):{};if(!n&&!s&&!c){Z();return}let u=await ze(e,D.task.id,{description:n?t:void 0,threadId:a??void 0,provider:p?.provider??d?.modelProvider,model:p?.id??d?.model,tags:s?r:void 0,...l});g(e=>e.map(e=>e.id===u.id?u:e)),Y(),s&&$(),Z()}catch(e){G(dt(e instanceof Error?e.message:`Failed to save task`)),Q.error(`Failed to save task:`,e)}finally{F(!1)}}async function yt(){if(D){F(!0);try{await ge(e,D.task.id),g(e=>e.filter(e=>e.id!==D.task.id)),Y(),$(),Z()}catch(e){Q.error(`Failed to delete task:`,e)}finally{F(!1)}}}function $(){Le(e).then(he).catch(e=>Q.error(`Failed to refresh project tags:`,e))}function bt(t){let n=new Set(t.map(function(e){return e.id}));he(t),R(function(e){return new Set([...e].filter(e=>n.has(e)))}),Ke(e).then(g).catch(e=>Q.error(`Failed to refresh tasks after tag change:`,e))}async function xt(n){let i=await re(e);if(!i)return;let a=null,o=null,s=await ke(i,t=>{o||(o=t,r({type:v.AddCreatingThread,projectId:e,threadId:t,title:_e(u)}),r({type:v.AddProcessingThread,threadId:t})),ze(e,n.id,{status:`Build`,working:!0,threadId:t}).then(e=>{a=e,X(e)})});if(!s){o&&(r({type:v.RemoveCreatingThread,projectId:e,threadId:o}),r({type:v.RemoveProcessingThread,threadId:o}));return}r({type:v.RemoveProcessingThread,threadId:s});try{await Ae(r)}catch(e){Q.error(`Failed to refresh projects after task thread creation:`,e)}await He(e,n,`Build`,s,a,X);let c=await ye(e,s);if(!c){Q.error(`No model configuration found. Please configure a model and provider for this project first.`);return}xe(r,s,c.model,c.provider),t?await t(s):r({type:v.SelectThread,threadId:s,projectId:e}),r({type:v.SetPendingChatMessage,message:{threadId:s,message:n.description,model:c.model,provider:c.provider}})}async function St(n){if(!a){Q.error(`No selected thread found for project task implementation.`);return}let i=await ye(e,a);if(!i){Q.error(`No model configuration found. Please configure a model and provider for this project first.`);return}if(xe(r,a,i.model,i.provider),X(await ze(e,n.id,{status:`Build`,working:!0,threadId:a})),t?await t(a):r({type:v.SelectThread,threadId:a,projectId:e}),o.includes(a)||s?.threadId===a||c.some(e=>e.threadId===a)){r({type:v.EnqueueChatMessage,message:{id:_(),threadId:a,paneId:`primary`,message:n.description,model:i.model,attachments:[],provider:i.provider}});return}r({type:v.SetPendingChatMessage,message:{threadId:a,message:n.description,model:i.model,provider:i.provider}})}async function Ct(t){X(await We(e,t.id)),Y()}async function wt(t){X(await ze(e,t.id,{status:`Done`,working:!1})),Y()}let Tt=Ne(h).filter(function(e){return e.status!==`Done`}),Et=ve.trim().toLocaleLowerCase(),Dt=Tt.filter(e=>{let t=new Set((e.tags??[]).map(function(e){return e.id})),n=L.size===0||[...L].every(e=>t.has(e)),r=[e.title,e.description,...(e.tags??[]).map(function(e){return e.name})].join(` `).toLocaleLowerCase(),i=!Et||r.includes(Et);return n&&i});return(0,J.jsxs)(`div`,{className:`relative flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,children:[(0,J.jsx)(ce,{className:`min-h-0 min-w-0 flex-1 overflow-hidden`,children:(0,J.jsx)(`div`,{className:`pb-14`,children:Tt.length===0?(0,J.jsx)(`p`,{className:k(m.bodyMuted,`px-4 py-8 text-center`),children:`No active tasks yet. Add one to get started.`}):Dt.length===0?(0,J.jsx)(`p`,{className:k(m.bodyMuted,`px-4 py-8 text-center`),children:`No tasks match the current filters.`}):(0,J.jsx)(`div`,{className:`min-w-0 w-full divide-y divide-border`,children:Dt.map(e=>(0,J.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,J.jsxs)(`button`,{type:`button`,className:`col-start-1 row-start-1 block min-w-0 overflow-hidden text-left sm:flex-1`,onClick:()=>pt(e),children:[(0,J.jsx)(`p`,{className:k(m.label,`truncate leading-normal`),children:e.title}),(0,J.jsx)(`p`,{className:k(m.caption,`mt-1 line-clamp-2 break-all text-muted-foreground max-sm:hidden`),children:e.description}),be(e)&&(0,J.jsx)(`p`,{className:k(m.caption,`mt-1 text-muted-foreground`),children:be(e)}),(e.status!==`Ready`||(e.tags?.length??0)>0||e.modified)&&(0,J.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-1`,children:[e.status!==`Ready`&&(0,J.jsx)(et,{status:e.status}),e.modified&&(0,J.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,J.jsx)(Qe,{tag:e},e.id)})]})]}),(0,J.jsx)(`button`,{type:`button`,className:`col-span-2 row-start-2 block min-w-0 overflow-hidden text-left sm:hidden`,onClick:()=>pt(e),children:(0,J.jsx)(`p`,{className:k(m.caption,`line-clamp-4 break-all text-muted-foreground`),children:e.description})}),(e.status!==`Ready`||(e.tags?.length??0)>0||e.modified)&&(0,J.jsxs)(`div`,{className:`col-span-2 row-start-3 flex min-w-0 flex-wrap gap-1 sm:hidden`,children:[e.status!==`Ready`&&(0,J.jsx)(et,{status:e.status}),e.modified&&(0,J.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,J.jsx)(Qe,{tag:e},e.id)})]}),(0,J.jsxs)(`div`,{className:`col-start-2 row-start-1 flex shrink-0 items-center gap-1.5 self-start`,children:[e.threadId&&t&&(0,J.jsxs)(N,{children:[(0,J.jsx)(se,{asChild:!0,children:(0,J.jsxs)(A,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>t(e.threadId),children:[(0,J.jsx)(E,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{className:`sr-only`,children:`Open thread`})]})}),(0,J.jsx)(M,{children:`Open thread`})]}),(0,J.jsx)(Ze,{task:e,onImplementInNewThread:xt,onImplementInThisThread:St,onMarkDone:wt,onRunNow:Ct})]})]},e.id))})})}),(0,J.jsxs)(N,{children:[(0,J.jsx)(se,{asChild:!0,children:(0,J.jsxs)(A,{size:`icon`,className:`absolute bottom-6 right-6 z-10 h-10 w-10 rounded-full shadow-lg`,onClick:()=>w(!0),children:[(0,J.jsx)(ne,{className:`h-5 w-5`}),(0,J.jsx)(`span`,{className:`sr-only`,children:`Add task`})]})}),(0,J.jsx)(M,{children:`Add task`})]}),(0,J.jsx)(pe,{open:C,onOpenChange:e=>{w(e),e||W(null)},children:(0,J.jsxs)(de,{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,J.jsx)(ue,{children:(0,J.jsxs)(N,{children:[(0,J.jsx)(se,{asChild:!0,children:(0,J.jsx)(fe,{className:`w-fit cursor-help`,children:`Add Task`})}),(0,J.jsx)(M,{side:`top`,className:`max-w-xs`,children:`A title will be generated automatically from your description.`})]})}),(0,J.jsxs)(`div`,{className:`py-2`,children:[(0,J.jsx)(Me,{placeholder:`Describe what needs to be done...`,value:O,onChange:e=>j(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)&&_t()}}),(0,J.jsx)(`div`,{className:`mt-4`,children:(0,J.jsx)(tt,{selectedTags:Ee,existingTags:I,onChange:B,allowCreate:!1})}),(0,J.jsx)(mt,{value:Be,onChange:e=>{Ve(e),W(null)},collapsed:Ge,onCollapsedChange:U,showCollapseControl:!0,error:Ye})]}),(0,J.jsx)(le,{children:(0,J.jsx)(A,{onClick:()=>void _t(),disabled:P||!O.trim(),children:P?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(T,{className:`mr-1 h-3 w-3 animate-spin`}),`Generating title...`]}):`Add`})})]})}),(0,J.jsx)(pe,{open:D!==null,onOpenChange:e=>!e&&Z(),children:(0,J.jsxs)(de,{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,J.jsx)(ue,{children:(0,J.jsx)(fe,{children:`Edit Task`})}),(0,J.jsxs)(`div`,{className:`py-2`,children:[(0,J.jsx)(Me,{placeholder:`Describe what needs to be done...`,value:O,onChange:e=>j(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)&&vt()}}),(0,J.jsx)(`div`,{className:`mt-4`,children:(0,J.jsx)(tt,{selectedTags:je,existingTags:I,onChange:Ie,allowCreate:!1})}),(0,J.jsx)(mt,{value:V,onChange:e=>{Ue(e),G(null)},showCollapseControl:!0,collapsed:!lt(V),onCollapsedChange:e=>{e&&Ue(at()),G(null)},error:Xe})]}),(0,J.jsxs)(le,{className:`flex-row justify-between gap-2 sm:gap-0`,children:[(0,J.jsx)(A,{variant:`destructive`,onClick:()=>void yt(),disabled:P,children:`Delete`}),(0,J.jsx)(A,{onClick:()=>void vt(),disabled:P||!O.trim(),className:`w-auto`,children:P?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(T,{className:`mr-1 h-3 w-3 animate-spin`}),`Saving...`]}):`Save`})]})]})}),(0,J.jsx)(nt,{open:Ce,onOpenChange:we,projectId:e,tags:I,onTagsChanged:bt})]})}function _t(e){let t=(0,K.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=B(r,n),t[4]=n,t[5]=r,t[6]=a):a=t[6];let o;t[7]===r?o=t[8]:(o=()=>ve(r),t[7]=r,t[8]=o);let s=he(a,o),c;return t[9]!==s||t[10]!==r||t[11]!==i?(c=(0,J.jsx)(gt,{projectId:r,initialTasks:s,...i}),t[9]=s,t[10]=r,t[11]=i,t[12]=c):c=t[12],c}function vt(e){let t=(0,K.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=>(I(B(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(){I(B(n.projectId,a)),o(yt)},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,J.jsx)(P,{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,J.jsx)(q.Suspense,{fallback:d,children:(0,J.jsx)(_t,{...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,J.jsx)(G,{fallbackTitle:`Failed to load tasks`,onRetry:u,children:p}),t[15]=u,t[16]=p,t[17]=m):m=t[17],m}function yt(e){return e+1}var $=l(`app.tasks-view.ui`);function bt({projectId:e,refreshTrigger:t}){let n=y(),i=b(e=>e.projects),a=b(e=>e.selectedThreadId),s=b(e=>e.selectedProjectId),{expandWindow:c,hasOpenWindows:l}=F();(0,q.useEffect)(()=>{let e=!1;return(async()=>{try{let{getProjects:t,invalidateProjectsCache:i}=await r(async()=>{let{getProjects:e,invalidateProjectsCache:t}=await import(`./api-BMo_Lz8f.js`).then(e=>e.r);return{getProjects:e,invalidateProjectsCache:t}},__vite__mapDeps([0,1,2]));i();let a=await t();e||n({type:v.SetProjects,projects:a.projects,cloneRootPath:a.cloneRootPath})}catch(e){$.error(`Failed to refresh projects on tasks view mount:`,e)}})(),()=>{e=!0}},[n]);async function u(t){if(i.find(t=>t.projectId===e)){l&&c(o);try{let{getProjects:i,invalidateProjectsCache:o}=await r(async()=>{let{getProjects:e,invalidateProjectsCache:t}=await import(`./api-BMo_Lz8f.js`).then(e=>e.r);return{getProjects:e,invalidateProjectsCache:t}},__vite__mapDeps([0,1,2]));o();let c=await i();n({type:v.SetProjects,projects:c.projects,cloneRootPath:c.cloneRootPath});let l=c.projects.find(t=>t.projectId===e);if(l&&l.threads.find(e=>e.threadId===t)){(a!==t||s!==e)&&n({type:v.SelectThread,threadId:t,projectId:e});try{let e=await j();n({type:v.SetProcessingThreads,threadIds:e})}catch(e){$.error(`Failed to fetch processing threads after thread selection:`,e)}}}catch(r){$.error(`Failed to refresh projects for thread selection:`,r),(a!==t||s!==e)&&n({type:v.SelectThread,threadId:t,projectId:e});try{let e=await j();n({type:v.SetProcessingThreads,threadIds:e})}catch(e){$.error(`Failed to fetch processing threads after fallback thread selection:`,e)}}}}return(0,J.jsx)(`div`,{className:`relative flex h-full min-w-0 flex-col overflow-hidden`,children:(0,J.jsx)(`div`,{className:`min-w-0 flex-1 overflow-hidden`,children:(0,J.jsx)(vt,{projectId:e,refreshTrigger:t,onThreadSelect:u})})})}export{bt as TasksView};