@tickernelz/paperclip-pro-ui 2026.925.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/README.md +30 -0
  2. package/dist/android-chrome-192x192.png +0 -0
  3. package/dist/android-chrome-512x512.png +0 -0
  4. package/dist/announcement-preview.svg +11 -0
  5. package/dist/apple-touch-icon.png +0 -0
  6. package/dist/assets/AgentAvatar-BR1Z_L_Z.js +1 -0
  7. package/dist/assets/AgentIdentity-BgihkjQU.js +1 -0
  8. package/dist/assets/Agents.production-BsKiBknO.js +2 -0
  9. package/dist/assets/CompanyActivity.production-Bp4gxpq3.js +1 -0
  10. package/dist/assets/CompanyExport-BvUhFYBr.js +4 -0
  11. package/dist/assets/CompanySkills.production-htb9HH0N.js +10 -0
  12. package/dist/assets/Costs.production-CzulNW6Y.js +1 -0
  13. package/dist/assets/EmptyState-DOb3I5aU.js +1 -0
  14. package/dist/assets/MarkdownBody-AdwNLx7A.js +16 -0
  15. package/dist/assets/MarkdownEditor-B3NYD32f.js +85 -0
  16. package/dist/assets/OrgChart.production-DbBigpMZ.js +1 -0
  17. package/dist/assets/PageSkeleton-C-C3Xlc_.js +1 -0
  18. package/dist/assets/RoutineDetail.production-DJn3YZiR.js +1 -0
  19. package/dist/assets/RoutineRunVariablesDialog-BkLLbP3a.js +5 -0
  20. package/dist/assets/Routines.production-BBDkh1yN.js +1 -0
  21. package/dist/assets/SidebarContext-9UFQ2Pex.js +1 -0
  22. package/dist/assets/StatusIcon-DMDp_WJw.js +1 -0
  23. package/dist/assets/abnfDiagram-VCTEODGH-wiE_K2ku.js +1 -0
  24. package/dist/assets/agents-DrLpWAcm.js +1 -0
  25. package/dist/assets/apl-MHzTCvfx.js +1 -0
  26. package/dist/assets/arc-BQ55EiX2.js +1 -0
  27. package/dist/assets/architecture-7GRP2DOG-B-bRgmfI.js +1 -0
  28. package/dist/assets/architectureDiagram-5GKGNRK7-BkhBoP5_.js +36 -0
  29. package/dist/assets/array-CL5Tisss.js +1 -0
  30. package/dist/assets/asciiarmor-DFLNSgns.js +1 -0
  31. package/dist/assets/asn1-CfPVWRYE.js +1 -0
  32. package/dist/assets/asterisk-CJ4OeA7Y.js +1 -0
  33. package/dist/assets/badge-BLr1M3ne.js +1 -0
  34. package/dist/assets/blockDiagram-I7D4REHJ-fyVn7r-9.js +129 -0
  35. package/dist/assets/bot-CET4VfU-.js +1 -0
  36. package/dist/assets/brainfuck-NEHkmXMc.js +1 -0
  37. package/dist/assets/button-DCI8NFig.js +1 -0
  38. package/dist/assets/c4Diagram-7LVT6UL2-BqC3qTZS.js +38 -0
  39. package/dist/assets/card-BD8MkPAL.js +1 -0
  40. package/dist/assets/channel-0B5iAV5A.js +1 -0
  41. package/dist/assets/character-CguPM7IG.js +1 -0
  42. package/dist/assets/check-C6myARng.js +1 -0
  43. package/dist/assets/checkbox-CmYq-YMP.js +1 -0
  44. package/dist/assets/chevron-down-D2wNtbQf.js +1 -0
  45. package/dist/assets/chevron-right-CU6xIk8W.js +1 -0
  46. package/dist/assets/chunk-2Q5K7J3B-CkPHWFj-.js +1 -0
  47. package/dist/assets/chunk-4HAMMTFA-CGGd_Pxz.js +62 -0
  48. package/dist/assets/chunk-5VM5RSS4-2H3r6wq0.js +15 -0
  49. package/dist/assets/chunk-75Z2AOVW-BaPl5WA6.js +2 -0
  50. package/dist/assets/chunk-DU6HZSFF-2P5iNHqg.js +127 -0
  51. package/dist/assets/chunk-F27PBJKO-Ci7GmRgM.js +1 -0
  52. package/dist/assets/chunk-FOHPRMQF-7Ogwfo6e.js +153 -0
  53. package/dist/assets/chunk-GMAD6QVW-BfvaaEBW.js +70 -0
  54. package/dist/assets/chunk-GVQU2GXP-Cwp_Wpj2.js +1 -0
  55. package/dist/assets/chunk-IMKFNOWR-BjXu-u1C.js +231 -0
  56. package/dist/assets/chunk-JWPE2WC7--HEGjv3t.js +1 -0
  57. package/dist/assets/chunk-L3NEJ4N5-JUd1UqX1.js +1 -0
  58. package/dist/assets/chunk-OSK3NFVY-DlrxddG-.js +10 -0
  59. package/dist/assets/chunk-P2QGCYS3-CjqEi3mx.js +1 -0
  60. package/dist/assets/chunk-POPQ4Y6H-BytmIqFc.js +1 -0
  61. package/dist/assets/chunk-PWAF6VOD-CR3rNBNB.js +1 -0
  62. package/dist/assets/chunk-SHT3W25Y-B1Klag0Z.js +168 -0
  63. package/dist/assets/chunk-SVP7TREG-A4BO1_5v.js +88 -0
  64. package/dist/assets/chunk-TICWLB2K-B4lRXha0.js +206 -0
  65. package/dist/assets/chunk-XXDRQBXY-BhrH-9FX.js +1 -0
  66. package/dist/assets/chunk-Y2CYZVJY-OvsAdhaO.js +1 -0
  67. package/dist/assets/classDiagram-ZZMXUADV-icHQAbF4.js +1 -0
  68. package/dist/assets/classDiagram-v2-VYDZK3BY-icHQAbF4.js +1 -0
  69. package/dist/assets/clike-CIx9nZSv.js +1 -0
  70. package/dist/assets/clipboard-BZT4l65i.js +1 -0
  71. package/dist/assets/clojure-DFaIEz5O.js +1 -0
  72. package/dist/assets/cmake-koz-qBlo.js +1 -0
  73. package/dist/assets/cobol-Bo8Zw9gB.js +1 -0
  74. package/dist/assets/coffeescript-CXYzYf-Y.js +1 -0
  75. package/dist/assets/commonlisp-C4OOCwkD.js +1 -0
  76. package/dist/assets/company-members-C1IoXITE.js +1 -0
  77. package/dist/assets/cose-bilkent-JH36ORCC-ShY6JvWh.js +1 -0
  78. package/dist/assets/createLucideIcon-D-iIM3hK.js +92 -0
  79. package/dist/assets/crystal-BlJXQDvy.js +1 -0
  80. package/dist/assets/css-DEZwfVpY.js +1 -0
  81. package/dist/assets/cynefin-OW5HDTMX-SmJ8tLYh.js +1 -0
  82. package/dist/assets/cynefinDiagram-5FMLGOSQ-Qp2NNXUx.js +62 -0
  83. package/dist/assets/cypher-z2oFsVv2.js +1 -0
  84. package/dist/assets/cytoscape.esm-B68Piqei.js +321 -0
  85. package/dist/assets/d-Dkt6y7AQ.js +1 -0
  86. package/dist/assets/dagre-Bnei_7lW.js +1 -0
  87. package/dist/assets/dagre-GXQ25YYZ-C1bu-Sbk.js +4 -0
  88. package/dist/assets/defaultLocale-C2Bpu8Ih.js +1 -0
  89. package/dist/assets/definition-qmfin__X.js +1 -0
  90. package/dist/assets/diagram-S7CK7UJ4-D0cqRe3j.js +30 -0
  91. package/dist/assets/diagram-UQ7AKVKN-DdEgR6LR.js +41 -0
  92. package/dist/assets/diagram-VSXAHHWV-B_APewr5.js +3 -0
  93. package/dist/assets/diagram-VX7I27RA-B2quR8-z.js +24 -0
  94. package/dist/assets/diagram-Z3DM3KII-BpQRCt5N.js +24 -0
  95. package/dist/assets/diff-C60bAYOU.js +1 -0
  96. package/dist/assets/dist-B0TRtKS8.js +1 -0
  97. package/dist/assets/dist-B3Uu-urE.js +1 -0
  98. package/dist/assets/dist-BRrJTSwu.js +1 -0
  99. package/dist/assets/dist-BX-OCtve.js +7 -0
  100. package/dist/assets/dist-BXoB5t8y.js +1 -0
  101. package/dist/assets/dist-BeN6V24C.js +1 -0
  102. package/dist/assets/dist-Bs8B1orN.js +1 -0
  103. package/dist/assets/dist-BuzarGBs.js +1 -0
  104. package/dist/assets/dist-C2jegCUe.js +2 -0
  105. package/dist/assets/dist-C8CoeHVO.js +6 -0
  106. package/dist/assets/dist-CBo4NvFW.js +1 -0
  107. package/dist/assets/dist-CSbL7rtN.js +1 -0
  108. package/dist/assets/dist-CWrRKmYk.js +1 -0
  109. package/dist/assets/dist-CXeuJs-w.js +1 -0
  110. package/dist/assets/dist-Cc3Bt6H4.js +1 -0
  111. package/dist/assets/dist-Cj4C2HPs.js +1 -0
  112. package/dist/assets/dist-DCJXgQu0.js +13 -0
  113. package/dist/assets/dist-DKJ0FdKS.js +1 -0
  114. package/dist/assets/dist-DZgNtG8a.js +1 -0
  115. package/dist/assets/dist-DoBOMP6Y.js +1 -0
  116. package/dist/assets/dist-DpmnjHX9.js +1 -0
  117. package/dist/assets/dist-DsLYqWnM.js +1 -0
  118. package/dist/assets/dist-DyyIM2uF.js +3 -0
  119. package/dist/assets/dist-YH7EZ8d1.js +1 -0
  120. package/dist/assets/dist-oQmcCiSD.js +1 -0
  121. package/dist/assets/dist-sLIQSVjm.js +13 -0
  122. package/dist/assets/dist-xQwUswee.js +1 -0
  123. package/dist/assets/dockerfile-BttNdtK0.js +1 -0
  124. package/dist/assets/dtd-CCVZU5Da.js +1 -0
  125. package/dist/assets/dylan-3pmV5wzs.js +1 -0
  126. package/dist/assets/ebnf-bm-I2WIh.js +1 -0
  127. package/dist/assets/ebnfDiagram-PWID7BFC-C9x73jSZ.js +1 -0
  128. package/dist/assets/ecl-BIv3PrZb.js +1 -0
  129. package/dist/assets/eiffel-DuLnr4-r.js +1 -0
  130. package/dist/assets/elm-njbaCU-L.js +1 -0
  131. package/dist/assets/environments-Cd-g_MmN.js +1 -0
  132. package/dist/assets/erDiagram-RLTQ6QDP-Dkp7z94L.js +99 -0
  133. package/dist/assets/erlang-CuhOC2I8.js +1 -0
  134. package/dist/assets/eventmodeling-NTZA5JFV-CCSRuDgA.js +1 -0
  135. package/dist/assets/external-link-BKz-OKDG.js +1 -0
  136. package/dist/assets/factor-CM3-9V3b.js +1 -0
  137. package/dist/assets/fcl-nWsMJ92o.js +1 -0
  138. package/dist/assets/file-text-DXa-cUrm.js +1 -0
  139. package/dist/assets/flowDiagram-HODETNUW-CDvpIOlT.js +1 -0
  140. package/dist/assets/forth-BQ9HrCVY.js +1 -0
  141. package/dist/assets/fortran-DHJe28ev.js +1 -0
  142. package/dist/assets/ganttDiagram-EL5Y4UJY-CJs7mNJX.js +292 -0
  143. package/dist/assets/gas-ByO0qYMr.js +1 -0
  144. package/dist/assets/gherkin-CwOmHL5K.js +1 -0
  145. package/dist/assets/gitGraph-4MIJSDKK-SUTvd_QT.js +1 -0
  146. package/dist/assets/gitGraphDiagram-WWUBYQGX-ByeD7NPE.js +106 -0
  147. package/dist/assets/graphlib-DHhK3saS.js +1 -0
  148. package/dist/assets/groovy-ByXGF8cx.js +1 -0
  149. package/dist/assets/haskell-CHSpCNOy.js +1 -0
  150. package/dist/assets/haxe-P2jh68ck.js +1 -0
  151. package/dist/assets/health-Dc13TJNg.js +1 -0
  152. package/dist/assets/heartbeats-CY77VTM_.js +1 -0
  153. package/dist/assets/http-0jwMmfWP.js +1 -0
  154. package/dist/assets/idl-DTVVj6r5.js +1 -0
  155. package/dist/assets/index-CWuperHN.css +1 -0
  156. package/dist/assets/index-ZrmXLuMX.js +733 -0
  157. package/dist/assets/info-A6RAGUB7-DP8pqSDg.js +1 -0
  158. package/dist/assets/infoDiagram-27XIBGKW-B6sR9qVK.js +2 -0
  159. package/dist/assets/init-BXPE0p7i.js +1 -0
  160. package/dist/assets/input-BkGpMopE.js +1 -0
  161. package/dist/assets/ishikawaDiagram-5VMMS53U-HFQ3gYGN.js +70 -0
  162. package/dist/assets/javascript-Cblpdx44.js +1 -0
  163. package/dist/assets/journeyDiagram-3NMN7TZE-BtoNErTz.js +139 -0
  164. package/dist/assets/julia-KVJvUu_F.js +1 -0
  165. package/dist/assets/kanban-definition-UXKFOSKX-Y55yoRj4.js +89 -0
  166. package/dist/assets/katex-Du_FPwxl.js +257 -0
  167. package/dist/assets/label-C-aWneNy.js +5 -0
  168. package/dist/assets/line-CJEZO7lL.js +1 -0
  169. package/dist/assets/linear-s0r5e4qh.js +1 -0
  170. package/dist/assets/livescript-DSHsJPcD.js +1 -0
  171. package/dist/assets/loader-circle-DwlcG9aS.js +1 -0
  172. package/dist/assets/lua-Vher-70I.js +1 -0
  173. package/dist/assets/mathematica-CE9SaVsW.js +1 -0
  174. package/dist/assets/mbox-JGl1Fgvq.js +1 -0
  175. package/dist/assets/mention-chips-pBjlxGok.js +17 -0
  176. package/dist/assets/mermaid-parser.core-CHJSk6z0.js +7 -0
  177. package/dist/assets/mermaid.core-G_BSi0G0.js +42 -0
  178. package/dist/assets/mindmap-definition-YA3MSWOX-BnlANYwV.js +96 -0
  179. package/dist/assets/mirc-BGWbO906.js +1 -0
  180. package/dist/assets/mllike-DuNQsEw8.js +1 -0
  181. package/dist/assets/model-DL5biheO.js +1 -0
  182. package/dist/assets/modelica-5XCgKQt8.js +1 -0
  183. package/dist/assets/mscgen-mVFg19ri.js +1 -0
  184. package/dist/assets/mumps-C7oS353s.js +1 -0
  185. package/dist/assets/nginx-DXVlpyCz.js +1 -0
  186. package/dist/assets/nsis-KFC6hioG.js +1 -0
  187. package/dist/assets/ntriples-5ckCopnn.js +1 -0
  188. package/dist/assets/octagon-alert-CTp78pR9.js +1 -0
  189. package/dist/assets/octave-D1J2QQNt.js +1 -0
  190. package/dist/assets/ordinal-BJyFM1v8.js +1 -0
  191. package/dist/assets/oz-CPsllMDD.js +1 -0
  192. package/dist/assets/packet-AYTQ26CC-DHxu-C4z.js +1 -0
  193. package/dist/assets/pascal-B-I6JP0Y.js +1 -0
  194. package/dist/assets/path-D6mommQw.js +1 -0
  195. package/dist/assets/pegDiagram-XKGWAZYB-CHhCzuLt.js +1 -0
  196. package/dist/assets/perl-CI8WIWBi.js +1 -0
  197. package/dist/assets/pie-WAS4IAKB-CP_gIBKD.js +1 -0
  198. package/dist/assets/pieDiagram-E7YTZNPT-CEGI1j0Q.js +39 -0
  199. package/dist/assets/pig-FQI0W3S3.js +1 -0
  200. package/dist/assets/powershell-BAu6x78A.js +1 -0
  201. package/dist/assets/preload-helper-CceJXRIF.js +1 -0
  202. package/dist/assets/prod-COP_vZWu.js +495 -0
  203. package/dist/assets/properties-BKTTDgau.js +1 -0
  204. package/dist/assets/protobuf-UWh8gh_j.js +1 -0
  205. package/dist/assets/pug-C20tNwmy.js +1 -0
  206. package/dist/assets/puppet-BAHVzCkO.js +1 -0
  207. package/dist/assets/python-C2DOnsac.js +1 -0
  208. package/dist/assets/q-Cooe-Nh8.js +1 -0
  209. package/dist/assets/quadrantDiagram-AXDQQJYC-BfVC-A1t.js +7 -0
  210. package/dist/assets/r-CktBKya9.js +1 -0
  211. package/dist/assets/radar-RG4KPBEZ-DbvKbV6l.js +1 -0
  212. package/dist/assets/railroad-74A4TZTK-BPHjMWIu.js +1 -0
  213. package/dist/assets/railroad-abnf-HS5TGJTU-DKY8xCGL.js +1 -0
  214. package/dist/assets/railroad-ebnf-LZEXJU2U-DK75GN4x.js +1 -0
  215. package/dist/assets/railroad-peg-WCYAUIDC-0bHp9JB9.js +1 -0
  216. package/dist/assets/railroadDiagram-O6MQD6OU-Bwh6snZb.js +1 -0
  217. package/dist/assets/requirementDiagram-BXWQKSXE-NEvTOdsw.js +84 -0
  218. package/dist/assets/rolldown-runtime-ZpX3ckPj.js +1 -0
  219. package/dist/assets/rotate-ccw-BhopZISX.js +1 -0
  220. package/dist/assets/rough.esm-DnC5Tr1g.js +1 -0
  221. package/dist/assets/router-BxwR1PwE.js +15 -0
  222. package/dist/assets/rpm-Csj9nLHl.js +1 -0
  223. package/dist/assets/ruby-bGx9eo-K.js +1 -0
  224. package/dist/assets/runtime-IAg0vdY9.js +4137 -0
  225. package/dist/assets/sankeyDiagram-P5KCCOFB-AvKb1lr-.js +40 -0
  226. package/dist/assets/sas-Drou_EQ9.js +1 -0
  227. package/dist/assets/save-D5KpMLil.js +1 -0
  228. package/dist/assets/scheme-DcjG9bAf.js +1 -0
  229. package/dist/assets/select-BqqjvKLd.js +1 -0
  230. package/dist/assets/sequenceDiagram-WJ2MYXX4-BP0QZnHN.js +162 -0
  231. package/dist/assets/sheet-Z4n6AEBA.js +1 -0
  232. package/dist/assets/shell-BSKClwid.js +1 -0
  233. package/dist/assets/sieve-CcvsXPZo.js +1 -0
  234. package/dist/assets/simple-mode-B79cVo-x.js +1 -0
  235. package/dist/assets/sizeCapture-INFHLROL-XURNLuv_.js +1 -0
  236. package/dist/assets/skeleton-BxD7FB8M.js +1 -0
  237. package/dist/assets/smalltalk-Cmg-4mjQ.js +1 -0
  238. package/dist/assets/solr-Dj8ahEwG.js +1 -0
  239. package/dist/assets/sparql-LAJYmgfk.js +1 -0
  240. package/dist/assets/spreadsheet-B8doD_pL.js +1 -0
  241. package/dist/assets/sql-C3kWxFGw.js +1 -0
  242. package/dist/assets/src-Bssc388C.js +1 -0
  243. package/dist/assets/stateDiagram-D77RDMKH-Ce0Wj7yz.js +1 -0
  244. package/dist/assets/stateDiagram-v2-MP3YSRHH-CREL-f_f.js +1 -0
  245. package/dist/assets/stex-CW6K5Nmu.js +1 -0
  246. package/dist/assets/stylus-BS-Ienrc.js +1 -0
  247. package/dist/assets/swift-BD82LMDK.js +1 -0
  248. package/dist/assets/swimlanes-42K2YHIH-CX7zPtNU.js +1 -0
  249. package/dist/assets/swimlanesDiagram-VR7AAH4N-B22pD4D6.js +8 -0
  250. package/dist/assets/tabs-Dqn3cNzC.js +1 -0
  251. package/dist/assets/tcl-RZa1cqc-.js +1 -0
  252. package/dist/assets/textile-C-BY_OGF.js +1 -0
  253. package/dist/assets/tiddlywiki-C9bm_Oju.js +1 -0
  254. package/dist/assets/tiki-DJOT-rFT.js +1 -0
  255. package/dist/assets/timeline-definition-24CTP7MA-Bw21rjHm.js +120 -0
  256. package/dist/assets/toml-Civ2fTsu.js +1 -0
  257. package/dist/assets/treeView-Q6P3EWNA-CzxfDhvq.js +1 -0
  258. package/dist/assets/treemap-WGGIJYW6-DNWYF4zd.js +1 -0
  259. package/dist/assets/triangle-alert-DOta-xfM.js +1 -0
  260. package/dist/assets/troff-Lns35Xcq.js +1 -0
  261. package/dist/assets/ttcn-7vlxVTUK.js +1 -0
  262. package/dist/assets/ttcn-cfg-B8qhhp6o.js +1 -0
  263. package/dist/assets/turtle-DTIS1YQ7.js +1 -0
  264. package/dist/assets/use-adapter-capabilities-0-4PhK9y.js +1 -0
  265. package/dist/assets/useHiddenSettings-D9d6LOsg.js +1 -0
  266. package/dist/assets/vb-BO8UacKu.js +1 -0
  267. package/dist/assets/vbscript-DWLru3lT.js +1 -0
  268. package/dist/assets/velocity-BIIn-Nl2.js +1 -0
  269. package/dist/assets/vennDiagram-4TSXK5OY-BuncstTm.js +34 -0
  270. package/dist/assets/verilog-BVYlmXGg.js +1 -0
  271. package/dist/assets/vhdl-Cn8cC8Yb.js +1 -0
  272. package/dist/assets/wardley-WFR3VGLG-C18JBEVS.js +1 -0
  273. package/dist/assets/wardleyDiagram-VM6X3IG4-DOHY7xcd.js +78 -0
  274. package/dist/assets/webidl-ChvzbZ5-.js +1 -0
  275. package/dist/assets/xquery-BKN7qEbU.js +1 -0
  276. package/dist/assets/xychartDiagram-S5SC5T6Z-qOWxoNte.js +7 -0
  277. package/dist/assets/yacas-BG9ha7tU.js +1 -0
  278. package/dist/assets/z80-CB2cGLew.js +1 -0
  279. package/dist/assets/zap-gf6Ev631.js +41 -0
  280. package/dist/brands/adapters/LICENSE +21 -0
  281. package/dist/brands/adapters/README.md +7 -0
  282. package/dist/brands/adapters/cursor-dark.svg +1 -0
  283. package/dist/brands/adapters/cursor.svg +1 -0
  284. package/dist/brands/adapters/gemini-color.svg +1 -0
  285. package/dist/brands/adapters/grok-dark.svg +1 -0
  286. package/dist/brands/adapters/grok.svg +1 -0
  287. package/dist/brands/adapters/hermesagent-dark.svg +1 -0
  288. package/dist/brands/adapters/hermesagent.svg +1 -0
  289. package/dist/brands/adapters/kimi-color-light.svg +1 -0
  290. package/dist/brands/adapters/kimi-color.svg +1 -0
  291. package/dist/brands/adapters/pi-dark.svg +1 -0
  292. package/dist/brands/adapters/pi.svg +1 -0
  293. package/dist/brands/apps/LOBE-LICENSE +21 -0
  294. package/dist/brands/apps/agentmail-dark.svg +16 -0
  295. package/dist/brands/apps/agentmail.svg +17 -0
  296. package/dist/brands/apps/airtable.svg +1 -0
  297. package/dist/brands/apps/anthropic-dark.svg +1 -0
  298. package/dist/brands/apps/anthropic.svg +1 -0
  299. package/dist/brands/apps/api-key-generic.svg +1 -0
  300. package/dist/brands/apps/arcade.png +0 -0
  301. package/dist/brands/apps/asana.svg +12 -0
  302. package/dist/brands/apps/beehiiv.png +0 -0
  303. package/dist/brands/apps/bitly.svg +1 -0
  304. package/dist/brands/apps/box.svg +1 -0
  305. package/dist/brands/apps/brex-dark.svg +1 -0
  306. package/dist/brands/apps/brex.svg +1 -0
  307. package/dist/brands/apps/candid.png +0 -0
  308. package/dist/brands/apps/clickhouse-dark.svg +1 -0
  309. package/dist/brands/apps/clickhouse.svg +1 -0
  310. package/dist/brands/apps/cloudflare.svg +1 -0
  311. package/dist/brands/apps/cloudinary-dark.svg +1 -0
  312. package/dist/brands/apps/cloudinary.svg +3 -0
  313. package/dist/brands/apps/coda.svg +1 -0
  314. package/dist/brands/apps/composio-dark.svg +11 -0
  315. package/dist/brands/apps/composio.svg +16 -0
  316. package/dist/brands/apps/context7-dark.svg +8 -0
  317. package/dist/brands/apps/context7.svg +8 -0
  318. package/dist/brands/apps/discord-dark.svg +1 -0
  319. package/dist/brands/apps/discord.svg +1 -0
  320. package/dist/brands/apps/egnyte.svg +1 -0
  321. package/dist/brands/apps/embat.svg +1 -0
  322. package/dist/brands/apps/executor.png +0 -0
  323. package/dist/brands/apps/fireflies.svg +76 -0
  324. package/dist/brands/apps/github-dark.svg +10 -0
  325. package/dist/brands/apps/github.svg +10 -0
  326. package/dist/brands/apps/gmail.svg +1 -0
  327. package/dist/brands/apps/google-calendar.svg +1 -0
  328. package/dist/brands/apps/google-chat.svg +1 -0
  329. package/dist/brands/apps/google-docs.svg +1 -0
  330. package/dist/brands/apps/google-drive.svg +1 -0
  331. package/dist/brands/apps/google-people.svg +1 -0
  332. package/dist/brands/apps/google-sheets.svg +1 -0
  333. package/dist/brands/apps/google-slides.svg +1 -0
  334. package/dist/brands/apps/google-workspace-search.svg +1 -0
  335. package/dist/brands/apps/hugging-face.svg +8 -0
  336. package/dist/brands/apps/imessage-photon.png +0 -0
  337. package/dist/brands/apps/jam-dev-dark.svg +1 -0
  338. package/dist/brands/apps/jam-dev.svg +1 -0
  339. package/dist/brands/apps/jira-dark.svg +1 -0
  340. package/dist/brands/apps/jira.svg +4 -0
  341. package/dist/brands/apps/kernel.svg +3 -0
  342. package/dist/brands/apps/linear-dark.svg +5 -0
  343. package/dist/brands/apps/linear.svg +5 -0
  344. package/dist/brands/apps/local-falcon.png +0 -0
  345. package/dist/brands/apps/make-dark.svg +1 -0
  346. package/dist/brands/apps/make.svg +1 -0
  347. package/dist/brands/apps/manifest.json +496 -0
  348. package/dist/brands/apps/manufact-dark.svg +6 -0
  349. package/dist/brands/apps/manufact.svg +5 -0
  350. package/dist/brands/apps/mem0.svg +1 -0
  351. package/dist/brands/apps/microsoft-teams.svg +68 -0
  352. package/dist/brands/apps/miro-dark.svg +1 -0
  353. package/dist/brands/apps/miro.svg +4 -0
  354. package/dist/brands/apps/mixpanel-dark.svg +1 -0
  355. package/dist/brands/apps/mixpanel.svg +1 -0
  356. package/dist/brands/apps/netlify-dark.svg +1 -0
  357. package/dist/brands/apps/netlify.svg +16 -0
  358. package/dist/brands/apps/notion-dark.svg +1 -0
  359. package/dist/brands/apps/notion.svg +1 -0
  360. package/dist/brands/apps/oauth-generic.svg +1 -0
  361. package/dist/brands/apps/openai-dark.svg +1 -0
  362. package/dist/brands/apps/openai.svg +1 -0
  363. package/dist/brands/apps/openrouter-dark.svg +3 -0
  364. package/dist/brands/apps/openrouter.svg +3 -0
  365. package/dist/brands/apps/oreilly.svg +1 -0
  366. package/dist/brands/apps/pagerduty.svg +4 -0
  367. package/dist/brands/apps/planetscale-dark.svg +1 -0
  368. package/dist/brands/apps/planetscale.svg +1 -0
  369. package/dist/brands/apps/posthog-dark.svg +1 -0
  370. package/dist/brands/apps/posthog.svg +1 -0
  371. package/dist/brands/apps/postman.svg +1 -0
  372. package/dist/brands/apps/railway-dark.svg +1 -0
  373. package/dist/brands/apps/railway.svg +1 -0
  374. package/dist/brands/apps/razorpay-dark.svg +1 -0
  375. package/dist/brands/apps/razorpay.svg +1 -0
  376. package/dist/brands/apps/resend-dark.svg +1 -0
  377. package/dist/brands/apps/resend.svg +1 -0
  378. package/dist/brands/apps/sanity-dark.svg +1 -0
  379. package/dist/brands/apps/sanity.svg +1 -0
  380. package/dist/brands/apps/sentry-dark.svg +1 -0
  381. package/dist/brands/apps/sentry.svg +1 -0
  382. package/dist/brands/apps/shopify.svg +24 -0
  383. package/dist/brands/apps/similarweb-dark.svg +1 -0
  384. package/dist/brands/apps/similarweb.svg +1 -0
  385. package/dist/brands/apps/slack.png +0 -0
  386. package/dist/brands/apps/slack.svg +17 -0
  387. package/dist/brands/apps/stripe.svg +11 -0
  388. package/dist/brands/apps/supabase.svg +15 -0
  389. package/dist/brands/apps/telegram.svg +12 -0
  390. package/dist/brands/apps/ticket-tailor-dark.svg +1 -0
  391. package/dist/brands/apps/ticket-tailor.svg +1 -0
  392. package/dist/brands/apps/ticktick.svg +1 -0
  393. package/dist/brands/apps/todoist.svg +1 -0
  394. package/dist/brands/apps/vercel-dark.svg +1 -0
  395. package/dist/brands/apps/vercel.svg +1 -0
  396. package/dist/brands/apps/webflow.svg +1 -0
  397. package/dist/brands/apps/wix-dark.svg +12 -0
  398. package/dist/brands/apps/wix.svg +12 -0
  399. package/dist/brands/apps/xai-dark.svg +1 -0
  400. package/dist/brands/apps/xai.svg +1 -0
  401. package/dist/brands/apps/xero.svg +1 -0
  402. package/dist/brands/apps/youcom-dark.svg +13 -0
  403. package/dist/brands/apps/youcom.svg +13 -0
  404. package/dist/brands/apps/zapier.svg +1 -0
  405. package/dist/brands/claude-color.svg +17 -0
  406. package/dist/brands/codex-color.svg +17 -0
  407. package/dist/brands/opencode-logo-dark-square.svg +18 -0
  408. package/dist/brands/opencode-logo-light-square.svg +18 -0
  409. package/dist/favicon-16x16.png +0 -0
  410. package/dist/favicon-32x32.png +0 -0
  411. package/dist/favicon.ico +0 -0
  412. package/dist/favicon.svg +9 -0
  413. package/dist/fonts/InterVariable-Italic.woff2 +0 -0
  414. package/dist/fonts/InterVariable.woff2 +0 -0
  415. package/dist/fonts/NOTICE.md +17 -0
  416. package/dist/index.html +97 -0
  417. package/dist/paperclip-thinking.svg +17 -0
  418. package/dist/site.webmanifest +30 -0
  419. package/dist/sw.js +85 -0
  420. package/dist/worktree-favicon-16x16.png +0 -0
  421. package/dist/worktree-favicon-32x32.png +0 -0
  422. package/dist/worktree-favicon.ico +0 -0
  423. package/dist/worktree-favicon.svg +9 -0
  424. package/package.json +22 -0
@@ -0,0 +1 @@
1
+ var pt=Object.defineProperty;var u=(e,a)=>pt(e,"name",{value:a,configurable:!0});import{i as ot}from"./rolldown-runtime-ZpX3ckPj.js";import{En as yt,Fr as bt,Lr as vt,U as wt,Y as K,_ as Ct,nr as Q}from"./createLucideIcon-D-iIM3hK.js";import{o as jt,t as V}from"./router-BxwR1PwE.js";import{t as Mt}from"./AgentAvatar-BR1Z_L_Z.js";import{t as J}from"./agents-DrLpWAcm.js";import{r as Nt,t as tt}from"./EmptyState-DOb3I5aU.js";import{k as kt,t as et}from"./button-DCI8NFig.js";import{n as Pt,t as Dt}from"./useHiddenSettings-D9d6LOsg.js";import{t as Yt}from"./card-BD8MkPAL.js";import{t as Zt}from"./PageSkeleton-C-C3Xlc_.js";import{Dn as rt,On as Et,Pn as Tt,Yt as _t,en as Xt,hn as zt}from"./index-ZrmXLuMX.js";var o=ot(vt(),1),n=ot(bt(),1),N=200,W=100,X=32,$t=80,L=60,Wt=.2,Lt=2,R=6;function Z(e){if(e.reports.length===0)return N;const a=e.reports.reduce((i,f)=>i+Z(f),0),d=(e.reports.length-1)*X;return Math.max(N,a+d)}u(Z,"subtreeWidth");function at(e,a,d){const i=Z(e),f=[];if(e.reports.length>0){const C=e.reports.reduce((k,P)=>k+Z(P),0),S=(e.reports.length-1)*X;let j=a+(i-C-S)/2;for(const k of e.reports){const P=Z(k);f.push(at(k,j,d+W+$t)),j+=P+X}}return{id:e.id,name:e.name,role:e.role,status:e.status,x:a+(i-N)/2,y:d,children:f}}u(at,"layoutTree");function St(e){if(e.length===0)return[];e.reduce((f,C)=>f+Z(C),0),(e.length-1)*X;let a=L;const d=L,i=[];for(const f of e){const C=Z(f);i.push(at(f,a,d)),a+=C+X}return i}u(St,"layoutForest");function Ht(e){const a=[];function d(i){a.push(i),i.children.forEach(d)}return u(d,"walk"),e.forEach(d),a}u(Ht,"flattenLayout");function Rt(e){const a=[];function d(i){for(const f of i.children)a.push({parent:i,child:f}),d(f)}return u(d,"walk"),e.forEach(d),a}u(Rt,"collectEdges");function A(e){return Math.min(Math.max(e,Wt),Lt)}u(A,"clampZoom");function At(e){return{x:e.clientX,y:e.clientY}}u(At,"touchPoint");function nt(e,a){const d=e.clientX-a.clientX,i=e.clientY-a.clientY;return Math.hypot(d,i)}u(nt,"touchDistance");function st(e,a,d){const i=d.getBoundingClientRect();return{x:(e.clientX+a.clientX)/2-i.left,y:(e.clientY+a.clientY)/2-i.top}}u(st,"touchCenter");var Ot={running:"var(--hex-22d3ee)",active:"var(--hex-4ade80)",paused:"var(--hex-facc15)",idle:"var(--hex-facc15)",error:"var(--hex-f87171)",terminated:"var(--hex-a3a3a3)"},Bt="var(--hex-a3a3a3)";function oe(){const{selectedCompanyId:e}=wt(),{setBreadcrumbs:a}=Nt(),d=jt(),i=!!Xt(),{hidden:f}=Dt(),C=!i&&!f.has("company.import"),S=!f.has("company.export"),{data:j,isLoading:k}=Q({queryKey:K.org(e),queryFn:u(()=>J.org(e),"queryFn"),enabled:!!e}),{data:P}=Q({queryKey:K.agents.list(e),queryFn:u(()=>J.list(e),"queryFn"),enabled:!!e}),ct=(0,o.useMemo)(()=>{const t=new Map;for(const r of P??[])t.set(r.id,r);return t},[P]);(0,o.useEffect)(()=>{a([{label:"Org Chart"}])},[a]);const z=(0,o.useMemo)(()=>St(j??[]),[j]),D=(0,o.useMemo)(()=>Ht(z),[z]),it=(0,o.useMemo)(()=>Rt(z),[z]),v=(0,o.useMemo)(()=>{if(D.length===0)return{width:800,height:600};let t=0,r=0;for(const s of D)t=Math.max(t,s.x+N),r=Math.max(r,s.y+W);return{width:t+L,height:r+L}},[D]),p=(0,o.useRef)(null),[l,M]=(0,o.useState)({x:0,y:0}),[h,E]=(0,o.useState)(1),[H,O]=(0,o.useState)(!1),T=(0,o.useRef)({x:0,y:0,panX:0,panY:0}),m=(0,o.useRef)({mode:null,startPoint:{x:0,y:0},startPan:{x:0,y:0},startZoom:1,startDistance:0,startCenter:{x:0,y:0},moved:!1}),$=(0,o.useRef)(!1),Y=(0,o.useRef)(null);(0,o.useEffect)(()=>()=>{Y.current!==null&&window.clearTimeout(Y.current)},[]);const B=(0,o.useRef)(!1);(0,o.useEffect)(()=>{if(B.current||D.length===0||!p.current)return;B.current=!0;const t=p.current,r=t.clientWidth,s=t.clientHeight,c=(r-40)/v.width,x=(s-40)/v.height,g=Math.min(c,x,1),y=v.width*g,w=v.height*g;E(g),M({x:(r-y)/2,y:(s-w)/2})},[D,v]);const lt=(0,o.useCallback)(t=>{t.button===0&&(t.target.closest("[data-org-card]")||(O(!0),T.current={x:t.clientX,y:t.clientY,panX:l.x,panY:l.y}))},[l]),ut=(0,o.useCallback)(t=>{if(!H)return;const r=t.clientX-T.current.x,s=t.clientY-T.current.y;M({x:T.current.panX+r,y:T.current.panY+s})},[H]),q=(0,o.useCallback)(()=>{O(!1)},[]),dt=(0,o.useCallback)(t=>{t.preventDefault();const r=p.current;if(!r)return;const s=r.getBoundingClientRect(),c=t.clientX-s.left,x=t.clientY-s.top,g=t.deltaY<0?1.1:.9,y=A(h*g),w=y/h;M({x:c-w*(c-l.x),y:x-w*(x-l.y)}),E(y)},[h,l]),I=(0,o.useCallback)((t,r)=>{const s=A(t),c=s/h;M({x:r.x-c*(r.x-l.x),y:r.y-c*(r.y-l.y)}),E(s)},[h,l]),ht=(0,o.useCallback)(()=>{if(!p.current)return;const t=p.current.clientWidth,r=p.current.clientHeight,s=(t-40)/v.width,c=(r-40)/v.height,x=Math.min(s,c,1),g=v.width*x,y=v.height*x;E(x),M({x:(t-g)/2,y:(r-y)/2})},[v]),mt=(0,o.useCallback)(t=>{if(t.touches.length>=2&&p.current){const[s,c]=[t.touches[0],t.touches[1]];m.current={mode:"pinch",startPoint:{x:0,y:0},startPan:l,startZoom:h,startDistance:nt(s,c),startCenter:st(s,c,p.current),moved:!1};return}const r=t.touches[0];r&&(m.current={mode:"pan",startPoint:At(r),startPan:l,startZoom:h,startDistance:0,startCenter:{x:0,y:0},moved:!1})},[l,h]),ft=(0,o.useCallback)(t=>{const r=p.current;if(!r||!m.current.mode)return;if(t.touches.length>=2){const[g,y]=[t.touches[0],t.touches[1]],w=nt(g,y),_=st(g,y,r);if(m.current.mode!=="pinch"||m.current.startDistance===0){m.current={mode:"pinch",startPoint:{x:0,y:0},startPan:l,startZoom:h,startDistance:w,startCenter:_,moved:!1};return}const b=m.current,U=A(b.startZoom*(w/b.startDistance)),G=U/b.startZoom,xt=_.x-b.startCenter.x,gt=_.y-b.startCenter.y;b.moved=b.moved||Math.abs(w-b.startDistance)>R||Math.hypot(xt,gt)>R,E(U),M({x:_.x-G*(b.startCenter.x-b.startPan.x),y:_.y-G*(b.startCenter.y-b.startPan.y)});return}const s=t.touches[0];if(!s||m.current.mode!=="pan")return;const c=s.clientX-m.current.startPoint.x,x=s.clientY-m.current.startPoint.y;m.current.moved=m.current.moved||Math.hypot(c,x)>R,M({x:m.current.startPan.x+c,y:m.current.startPan.y+x})},[l,h]),F=(0,o.useCallback)(()=>{m.current.moved&&($.current=!0,Y.current!==null&&window.clearTimeout(Y.current),Y.current=window.setTimeout(()=>{$.current=!1,Y.current=null},400)),m.current={mode:null,startPoint:{x:0,y:0},startPan:l,startZoom:h,startDistance:0,startCenter:{x:0,y:0},moved:!1}},[l,h]);return e?k?(0,n.jsx)(Zt,{variant:"org-chart"}):j&&j.length===0?(0,n.jsx)(tt,{icon:rt,message:"No organizational hierarchy defined."}):(0,n.jsxs)("div",{className:"flex h-(--sz-calc-38) min-h-(--sz-420px) flex-col md:h-full md:min-h-0",children:[(0,n.jsxs)("div",{className:"mb-2 flex shrink-0 flex-wrap items-center justify-start gap-2",children:[C&&(0,n.jsx)(V,{to:"/company/import",children:(0,n.jsxs)(et,{variant:"outline",size:"sm",children:[(0,n.jsx)(zt,{className:"mr-1.5 h-3.5 w-3.5"}),"Import company"]})}),S&&(0,n.jsx)(V,{to:"/company/export",children:(0,n.jsxs)(et,{variant:"outline",size:"sm",children:[(0,n.jsx)(Tt,{className:"mr-1.5 h-3.5 w-3.5"}),"Export company"]})})]}),(0,n.jsxs)("div",{ref:p,"data-testid":"org-chart-viewport",className:"w-full flex-1 min-h-0 overflow-hidden relative bg-muted/20 border border-border rounded-lg",style:{cursor:H?"grabbing":"grab",touchAction:"none",overscrollBehavior:"contain"},onMouseDown:lt,onMouseMove:ut,onMouseUp:q,onMouseLeave:q,onWheel:dt,onTouchStart:mt,onTouchMove:ft,onTouchEnd:F,onTouchCancel:F,children:[(0,n.jsxs)("div",{className:"absolute top-3 right-3 z-10 flex flex-col gap-1.5",children:[(0,n.jsx)("button",{className:"flex size-9 items-center justify-center rounded border border-border bg-background text-sm transition-colors hover:bg-accent sm:size-7",onClick:u(()=>{const t=p.current;t&&I(h*1.2,{x:t.clientWidth/2,y:t.clientHeight/2})},"onClick"),title:"Zoom in","aria-label":"Zoom in",children:(0,n.jsx)(kt,{className:"h-4 w-4 sm:h-3.5 sm:w-3.5"})}),(0,n.jsx)("button",{className:"flex size-9 items-center justify-center rounded border border-border bg-background text-sm transition-colors hover:bg-accent sm:size-7",onClick:u(()=>{const t=p.current;t&&I(h*.8,{x:t.clientWidth/2,y:t.clientHeight/2})},"onClick"),title:"Zoom out","aria-label":"Zoom out",children:(0,n.jsx)(Pt,{className:"h-4 w-4 sm:h-3.5 sm:w-3.5"})}),(0,n.jsx)("button",{className:"flex size-9 items-center justify-center rounded border border-border bg-background text-(length:--text-nano) transition-colors hover:bg-accent sm:size-7",onClick:ht,title:"Fit to screen","aria-label":"Fit chart to screen",children:(0,n.jsx)(Et,{className:"h-4 w-4 sm:h-3.5 sm:w-3.5"})})]}),(0,n.jsx)("svg",{className:"absolute inset-0 pointer-events-none",style:{width:"100%",height:"100%"},children:(0,n.jsx)("g",{transform:`translate(${l.x}, ${l.y}) scale(${h})`,children:it.map(({parent:t,child:r})=>{const s=t.x+N/2,c=t.y+W,x=r.x+N/2,g=r.y,y=(c+g)/2;return(0,n.jsx)("path",{d:`M ${s} ${c} L ${s} ${y} L ${x} ${y} L ${x} ${g}`,fill:"none",stroke:"var(--border)",strokeWidth:1.5},`${t.id}-${r.id}`)})})}),(0,n.jsx)("div",{"data-testid":"org-chart-card-layer",className:"absolute inset-0",style:{transform:`translate(${l.x}px, ${l.y}px) scale(${h})`,transformOrigin:"0 0"},children:D.map(t=>{const r=ct.get(t.id),s=Ot[t.status]??Bt;return(0,n.jsx)(Yt,{"data-org-card":!0,className:"block absolute py-0 hover:shadow-md hover:border-foreground/20 transition-(--tp-box-shadow-border-color) duration-150 cursor-pointer select-none",style:{left:t.x,top:t.y,width:N,minHeight:W},onClick:u(()=>d(r?Ct(r):`/agents/${t.id}`),"onClick"),onClickCapture:u(c=>{$.current&&($.current=!1,c.preventDefault(),c.stopPropagation())},"onClickCapture"),children:(0,n.jsxs)("div",{className:"flex items-center px-4 py-3 gap-3",children:[(0,n.jsxs)("div",{className:"relative shrink-0",children:[(0,n.jsx)("div",{className:"w-9 h-9 rounded-full bg-muted flex items-center justify-center",children:(0,n.jsx)(Mt,{agent:r,size:16,className:"h-4.5 w-4.5 text-foreground/70"})}),(0,n.jsx)("span",{className:"absolute -bottom-0.5 -right-0.5 h-3 w-3 rounded-full border-2 border-card",style:{backgroundColor:s}})]}),(0,n.jsxs)("div",{className:"flex flex-col items-start min-w-0 flex-1",children:[(0,n.jsx)("span",{className:"text-sm font-semibold text-foreground leading-tight",children:t.name}),(0,n.jsx)("span",{className:"text-(length:--text-micro) text-muted-foreground leading-tight mt-0.5",children:r?.title??It(t.role)}),r&&(0,n.jsx)("span",{className:"text-(length:--text-nano) text-muted-foreground/60 font-mono leading-tight mt-1",children:_t(r.adapterType)}),r&&r.capabilities&&(0,n.jsx)("span",{className:"text-(length:--text-nano) text-muted-foreground/80 leading-tight mt-1 line-clamp-2",children:r.capabilities})]})]})},t.id)})})]})]}):(0,n.jsx)(tt,{icon:rt,message:"Select a company to view the org chart."})}u(oe,"OrgChart");var qt=yt;function It(e){return qt[e]??e}u(It,"roleLabel");export{oe as OrgChart};
@@ -0,0 +1 @@
1
+ var i=Object.defineProperty;var r=(l,c)=>i(l,"name",{value:c,configurable:!0});import{i as d}from"./rolldown-runtime-ZpX3ckPj.js";import{Fr as x}from"./createLucideIcon-D-iIM3hK.js";import{t as e}from"./skeleton-BxD7FB8M.js";var s=d(x(),1);function t({variant:l="list"}){return l==="dashboard"?(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)(e,{className:"h-32 w-full border border-border"}),(0,s.jsx)("div",{className:"grid grid-cols-2 gap-2 xl:grid-cols-4",children:Array.from({length:4}).map((c,a)=>(0,s.jsx)(e,{className:"h-24 w-full"},a))}),(0,s.jsx)("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-4",children:Array.from({length:4}).map((c,a)=>(0,s.jsx)(e,{className:"h-44 w-full"},a))}),(0,s.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,s.jsx)(e,{className:"h-72 w-full"}),(0,s.jsx)(e,{className:"h-72 w-full"})]})]}):l==="approvals"?(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsx)("div",{className:"flex items-center justify-between",children:(0,s.jsx)(e,{className:"h-9 w-44"})}),(0,s.jsx)("div",{className:"grid gap-3",children:Array.from({length:3}).map((c,a)=>(0,s.jsx)(e,{className:"h-36 w-full"},a))})]}):l==="costs"?(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:Array.from({length:6}).map((c,a)=>(0,s.jsx)(e,{className:"h-9 w-28"},a))}),(0,s.jsx)(e,{className:"h-40 w-full"}),(0,s.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,s.jsx)(e,{className:"h-72 w-full"}),(0,s.jsx)(e,{className:"h-72 w-full"})]})]}):l==="inbox"?(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(e,{className:"h-9 w-56"}),(0,s.jsx)(e,{className:"h-8 w-40"})]}),(0,s.jsx)("div",{className:"space-y-5",children:Array.from({length:3}).map((c,a)=>(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(e,{className:"h-4 w-40"}),(0,s.jsx)("div",{className:"space-y-1 border border-border",children:Array.from({length:3}).map((h,m)=>(0,s.jsx)(e,{className:"h-14 w-full rounded-none"},m))})]},a))})]}):l==="org-chart"?(0,s.jsx)("div",{className:"space-y-4",children:(0,s.jsx)(e,{className:"h-(--sz-calc-17) w-full rounded-lg border border-border"})}):l==="detail"?(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)(e,{className:"h-3 w-64"}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(e,{className:"h-6 w-6"}),(0,s.jsx)(e,{className:"h-6 w-6"}),(0,s.jsx)(e,{className:"h-7 w-48"})]}),(0,s.jsx)(e,{className:"h-4 w-40"})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)(e,{className:"h-10 w-full"}),(0,s.jsx)(e,{className:"h-32 w-full"})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(e,{className:"h-8 w-24"}),(0,s.jsx)(e,{className:"h-8 w-24"}),(0,s.jsx)(e,{className:"h-8 w-24"})]}),(0,s.jsx)(e,{className:"h-24 w-full"}),(0,s.jsx)(e,{className:"h-24 w-full"})]})]}):l==="issues-list"?(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,s.jsx)(e,{className:"h-9 w-64"}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(e,{className:"h-8 w-16"}),(0,s.jsx)(e,{className:"h-8 w-16"}),(0,s.jsx)(e,{className:"h-8 w-16"}),(0,s.jsx)(e,{className:"h-8 w-24"})]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(e,{className:"h-4 w-40"}),(0,s.jsx)("div",{className:"space-y-1",children:Array.from({length:8}).map((c,a)=>(0,s.jsx)(e,{className:"h-11 w-full rounded-none"},a))})]})]}):(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,s.jsx)(e,{className:"h-9 w-44"}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(e,{className:"h-8 w-20"}),(0,s.jsx)(e,{className:"h-8 w-24"})]})]}),(0,s.jsx)("div",{className:"space-y-1",children:Array.from({length:7}).map((c,a)=>(0,s.jsx)(e,{className:"h-11 w-full rounded-none"},a))})]})}r(t,"PageSkeleton");export{t};
@@ -0,0 +1 @@
1
+ var ot=Object.defineProperty;var i=(s,a)=>ot(s,"name",{value:a,configurable:!0});import{i as Le}from"./rolldown-runtime-ZpX3ckPj.js";import{Fr as ct,Lr as lt,Pr as dt,S as ut,U as mt,Y as p,Yn as pt,nr as L,tr as U}from"./createLucideIcon-D-iIM3hK.js";import{Z as Ee,o as ht,r as oe,st as gt}from"./router-BxwR1PwE.js";import{Ct as xt,bt as yt,lr as vt,t as ft,vt as Oe,wt as bt,xt as jt,yt as wt}from"./RoutineRunVariablesDialog-BkLLbP3a.js";import{Q as Nt}from"./mention-chips-pBjlxGok.js";import{s as kt,t as St}from"./zap-gf6Ev631.js";import{a as T,t as De}from"./MarkdownEditor-B3NYD32f.js";import{v as It}from"./sheet-Z4n6AEBA.js";import{t as _e}from"./AgentAvatar-BR1Z_L_Z.js";import{k as Ct}from"./checkbox-CmYq-YMP.js";import{a as At,h as Pt,t as O}from"./label-C-aWneNy.js";import{t as Rt}from"./agents-DrLpWAcm.js";import{g as Tt}from"./StatusIcon-DMDp_WJw.js";import{r as Et,t as te}from"./EmptyState-DOb3I5aU.js";import{c as de,i as ue,n as me,s as pe,t as he}from"./select-BqqjvKLd.js";import{r as Ot,t as Dt}from"./save-D5KpMLil.js";import{k as _t,t as E}from"./button-DCI8NFig.js";import{n as Mt,t as qt}from"./clipboard-BZT4l65i.js";import{t as Ft}from"./heartbeats-CY77VTM_.js";import{t as xe}from"./badge-BLr1M3ne.js";import{t as V}from"./input-BkGpMopE.js";import{i as Kt,o as Lt}from"./company-members-C1IoXITE.js";import{r as Ut,t as Wt}from"./card-BD8MkPAL.js";import{t as $t}from"./PageSkeleton-C-C3Xlc_.js";import{A as Vt,B as Gt,Cn as Qt,F as zt,G as Q,H as Bt,Ht,I as Jt,K as Ue,L as Yt,M as We,N as Zt,P as Xt,Qt as Me,R as es,Rn as ye,Tt as ts,U as qe,Un as ve,V as ss,Vn as is,Vt as ns,W as $e,Xt as X,fn as as,j as rs,k as os,pn as cs,q as ls,qt as ds,z as us}from"./index-ZrmXLuMX.js";var u=Le(lt(),1);function ms(s,a,n){const c={label:a.label.trim()||null};return s.kind==="schedule"&&(c.cronExpression=a.cronExpression.trim(),c.timezone=s.timezone??n),s.kind==="webhook"&&(c.signingMode=a.signingMode,c.replayWindowSec=Number(a.replayWindowSec||"300")),c}i(ms,"buildRoutineTriggerPatch");var e=Le(ct(),1),ps=["app_webhook","bearer","hmac_sha256","github_hmac","none"],hs=new Set(["app_webhook","bearer","github_hmac","fireflies_hmac","none"]);function gs(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return"UTC"}}i(gs,"getLocalTimezone$1");function xs({trigger:s,onSave:a,onRotate:n,onDelete:c,disabled:r}){const[m,l]=(0,u.useState)({label:s.label??"",cronExpression:s.cronExpression??"",signingMode:s.signingMode??"bearer",replayWindowSec:String(s.replayWindowSec??300)});(0,u.useEffect)(()=>{l({label:s.label??"",cronExpression:s.cronExpression??"",signingMode:s.signingMode??"bearer",replayWindowSec:String(s.replayWindowSec??300)})},[s]);const k=s.kind==="schedule"?ye:s.kind==="webhook"?cs:St,I=s.kind==="schedule"?Xt(m.cronExpression):null,M=/fail|error/i.test(s.lastResult??""),C=s.lastResult?.startsWith("Created execution issue ")?"Task created":s.lastResult;return(0,e.jsxs)("form",{"aria-label":`Trigger: ${s.label??s.kind}`,className:"space-y-4 rounded-lg border border-border p-4",onSubmit:i(x=>x.preventDefault(),"onSubmit"),children:[(0,e.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,e.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium",children:[(0,e.jsx)(k,{className:"h-3.5 w-3.5 shrink-0"}),(0,e.jsx)("span",{className:"truncate",children:s.label??s.kind})]}),I?(0,e.jsx)("p",{id:`cron-readable-${s.id}`,className:"text-xs text-muted-foreground",children:I}):null]}),(0,e.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[s.lastResult?(0,e.jsx)(xe,{variant:M?"destructive":"secondary",children:C}):null,(0,e.jsx)("span",{className:"text-xs text-muted-foreground",children:s.kind==="schedule"&&s.nextRunAt?`Next: ${new Date(s.nextRunAt).toLocaleString()}`:s.kind==="webhook"?"Webhook":"API"})]})]}),s.kind==="webhook"&&s.webhookUrl&&(0,e.jsxs)("div",{className:"space-y-1.5",children:[(0,e.jsx)(O,{htmlFor:`webhook-url-${s.id}`,className:"text-xs",children:"Webhook URL"}),(0,e.jsx)(V,{id:`webhook-url-${s.id}`,value:s.webhookUrl,readOnly:!0,onFocus:i(x=>x.target.select(),"onFocus")}),(0,e.jsx)("p",{className:"text-xs text-muted-foreground",children:"Send a POST request with Content-Type: application/json. Keep this URL private when signing is disabled."})]}),(0,e.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,e.jsxs)("div",{className:"space-y-1.5",children:[(0,e.jsx)(O,{className:"text-xs",children:"Label"}),(0,e.jsx)(V,{value:m.label,disabled:r,onChange:i(x=>l(S=>({...S,label:x.target.value})),"onChange")})]}),s.kind==="schedule"&&(0,e.jsxs)("div",{className:"space-y-1.5 md:col-span-2",children:[(0,e.jsx)(O,{className:"text-xs",children:"Schedule"}),(0,e.jsx)(We,{value:m.cronExpression,onChange:i(x=>l(S=>({...S,cronExpression:x})),"onChange")})]}),s.kind==="webhook"&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"space-y-1.5",children:[(0,e.jsx)(O,{className:"text-xs",children:"Signing mode"}),(0,e.jsxs)(he,{value:m.signingMode,onValueChange:i(x=>l(S=>({...S,signingMode:x})),"onValueChange"),disabled:r,children:[(0,e.jsx)(pe,{children:(0,e.jsx)(de,{})}),(0,e.jsx)(me,{children:ps.map(x=>(0,e.jsx)(ue,{value:x,children:x},x))})]})]}),!hs.has(m.signingMode)&&(0,e.jsxs)("div",{className:"space-y-1.5",children:[(0,e.jsx)(O,{className:"text-xs",children:"Replay window (seconds)"}),(0,e.jsx)(V,{value:m.replayWindowSec,disabled:r,onChange:i(x=>l(S=>({...S,replayWindowSec:x.target.value})),"onChange")})]})]})]}),!r&&(0,e.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,e.jsxs)(E,{variant:"ghost",size:"sm",className:"mr-auto text-muted-foreground hover:text-destructive",onClick:i(()=>c(s.id),"onClick"),children:[(0,e.jsx)(Ct,{className:"mr-1.5 h-3.5 w-3.5"}),"Delete"]}),s.kind==="webhook"&&(0,e.jsxs)(E,{variant:"outline",size:"sm",onClick:i(()=>n(s.id),"onClick"),children:[(0,e.jsx)(It,{className:"mr-1.5 h-3.5 w-3.5"}),"Rotate secret"]}),(0,e.jsxs)(E,{variant:"outline",size:"sm",onClick:i(()=>a(s.id,ms(s,m,gs())),"onClick"),children:[(0,e.jsx)(Dt,{className:"mr-1.5 h-3.5 w-3.5"}),"Save trigger"]})]})]})}i(xs,"RoutineTriggerCard");var ys=[{value:"coalesce_if_active",title:"Coalesce if active",description:"Keep one follow-up run queued while an active run is still working."},{value:"always_enqueue",title:"Always enqueue",description:"Queue every trigger occurrence, even if several runs stack up."},{value:"skip_if_active",title:"Skip if active",description:"Drop overlapping trigger occurrences while the routine is already active."}],vs=[{value:"skip_missed",title:"Skip missed",description:"Ignore schedule windows that were missed while paused."},{value:"enqueue_missed_with_cap",title:"Enqueue missed with cap",description:"Catch up missed schedule windows after recovery; sub-hourly schedules are combined into one catch-up run, slower schedules replay each missed window up to a cap."}],fs=[{value:"always",title:"Run on every scheduled tick",description:"Fire on the schedule no matter what — the default behavior."},{value:"require_external_activity",title:"Skip when there's been no activity since the last run",description:"On a scheduled tick, only run if something happened since the last run that finished. Lets a watcher-style routine stay asleep while the system is settled instead of burning tokens."}],bs=[{value:"company",title:"Company-wide",description:"Any activity across the company counts as a reason to run."},{value:"project",title:"This project",description:"Only activity in the routine's project counts as a reason to run."}],js=["schedule","webhook"],ws=["app_webhook","bearer","hmac_sha256","github_hmac","none"],Ns={bearer:"Send Authorization: Bearer <secret> with each request.",hmac_sha256:"Send X-Paperclip-Timestamp and X-Paperclip-Signature: sha256=<hex>, signing timestamp + a dot + the exact JSON body.",github_hmac:"Accept GitHub-style X-Hub-Signature-256 header (HMAC over raw body, no timestamp).",app_webhook:"Accept a bearer token or an HMAC-SHA256 signature over the exact request body in X-Hub-Signature or X-Hub-Signature-256.",fireflies_hmac:"Signed webhook (legacy).",none:"No authentication — the webhook URL itself acts as a shared secret."},ks=new Set(["app_webhook","bearer","github_hmac","fireflies_hmac","none"]);function Ss({defaultDescriptionAnnotationsOpen:s=!1}={}){const{routine:a,editDraft:n,setEditDraft:c,assigneeOptions:r,projectOptions:m,recentAssigneeIds:l,recentProjectIds:k,agentById:I,projectById:M,currentAssignee:C,currentProject:x,mentionOptions:S,assigneeSelectorRef:D,projectSelectorRef:q,descriptionEditorRef:A,routineRuns:g,activity:b,saveRoutine:j,saveConflict:se,isSectionDirty:f,navigateToSection:P}=Q(),[w,_]=(0,u.useState)(s),o=a.triggers.length,z=(0,u.useMemo)(()=>{const d=a.triggers.filter(y=>y.kind==="schedule"&&y.nextRunAt).map(y=>new Date(y.nextRunAt)).sort((y,G)=>y.getTime()-G.getTime())[0];return d?d.toLocaleString():null},[a.triggers]),W=n.env?Object.keys(n.env).length:0,R=(g??[])[0]??null,B=(b??[]).slice(0,5);return(0,e.jsxs)("div",{className:"space-y-6",children:[(0,e.jsx)("div",{className:"overflow-x-auto overscroll-x-contain",children:(0,e.jsxs)("div",{className:"inline-flex min-w-full flex-wrap items-center gap-2 text-sm text-muted-foreground sm:min-w-max sm:flex-nowrap",children:[(0,e.jsx)("span",{children:"For"}),(0,e.jsx)(Oe,{ref:D,value:n.assigneeAgentId,options:r,recentOptionIds:l,placeholder:"Responsible",noneLabel:"No responsible",searchPlaceholder:"Search responsible...",emptyMessage:"No responsible found.",onChange:i(d=>c(y=>({...y,assigneeAgentId:d})),"onChange"),onConfirm:i(()=>{n.projectId?A.current?.focus():q.current?.focus()},"onConfirm"),renderTriggerValue:i(d=>d?C?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(_e,{agent:C,size:16,className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,e.jsx)("span",{className:"truncate",children:d.label})]}):(0,e.jsx)("span",{className:"truncate",children:d.label}):(0,e.jsx)("span",{className:"text-muted-foreground",children:"Responsible"}),"renderTriggerValue"),renderOption:i(d=>{if(!d.id)return(0,e.jsx)("span",{className:"truncate",children:d.label});const y=I.get(d.id);return(0,e.jsxs)(e.Fragment,{children:[y?(0,e.jsx)(_e,{agent:y,size:16,className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):null,(0,e.jsx)("span",{className:"truncate",children:d.label})]})},"renderOption")}),(0,e.jsx)("span",{children:"in"}),(0,e.jsx)(Oe,{ref:q,value:n.projectId,options:m,recentOptionIds:k,placeholder:"Project",noneLabel:"No project",searchPlaceholder:"Search projects...",emptyMessage:"No projects found.",onChange:i(d=>c(y=>({...y,projectId:d})),"onChange"),onConfirm:i(()=>A.current?.focus(),"onConfirm"),renderTriggerValue:i(d=>d&&x?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("span",{className:"h-3.5 w-3.5 shrink-0 rounded-sm",style:{backgroundColor:x.color??"var(--project-none)"}}),(0,e.jsx)("span",{className:"truncate",children:d.label})]}):(0,e.jsx)("span",{className:"text-muted-foreground",children:"Project"}),"renderTriggerValue"),renderOption:i(d=>{if(!d.id)return(0,e.jsx)("span",{className:"truncate",children:d.label});const y=M.get(d.id);return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("span",{className:"h-3.5 w-3.5 shrink-0 rounded-sm",style:{backgroundColor:y?.color??"var(--project-none)"}}),(0,e.jsx)("span",{className:"truncate",children:d.label})]})},"renderOption")})]})}),a.assigneeAgentId?null:(0,e.jsx)("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 p-4 text-sm text-amber-900 dark:text-amber-200",children:"Default agent required. This routine can stay as a draft and still run manually, but automation stays paused until you assign a default agent."}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)("div",{className:"flex items-center justify-end",children:a.descriptionDocument?(0,e.jsx)(ns,{issueId:a.id,docKey:"description",target:{kind:"routine",routineId:a.id,documentKey:"description"},panelOpen:w,onToggle:i(()=>_(d=>!d),"onToggle")}):null}),a.descriptionDocument?(0,e.jsx)(Ht,{issueId:a.id,doc:a.descriptionDocument,target:{kind:"routine",routineId:a.id,documentKey:"description"},bodyMarkdown:n.description,draftDirty:f("overview")||j.isPending,draftConflicted:se,historicalPreview:!1,locationHash:typeof window>"u"?"":window.location.hash,panelOpen:w,onPanelOpenChange:_,children:(0,e.jsx)(De,{ref:A,value:n.description,onChange:i(d=>c(y=>({...y,description:d})),"onChange"),placeholder:"Add instructions...",bordered:!1,contentClassName:"min-h-(--sz-120px) text-sm leading-7",mentions:S,onSubmit:i(()=>{!j.isPending&&n.title.trim()&&j.mutate()},"onSubmit")})}):(0,e.jsx)(De,{ref:A,value:n.description,onChange:i(d=>c(y=>({...y,description:d})),"onChange"),placeholder:"Add instructions...",bordered:!1,contentClassName:"min-h-(--sz-120px) text-sm leading-7",mentions:S,onSubmit:i(()=>{!j.isPending&&n.title.trim()&&j.mutate()},"onSubmit")})]}),(0,e.jsxs)("div",{className:"space-y-3",children:[(0,e.jsx)(ls,{}),(0,e.jsx)(Ue,{title:n.title,description:n.description,value:n.variables,onChange:i(d=>c(y=>({...y,variables:d})),"onChange")})]}),(0,e.jsxs)("div",{className:"grid gap-3 sm:grid-cols-3",children:[(0,e.jsx)(ce,{icon:ye,label:"Triggers",value:o===0?"None":`${o} active`,hint:z?`Next fire ${z}`:"No schedule",to:i(()=>P("triggers"),"to"),ariaLabel:`${o} triggers. Open triggers.`}),(0,e.jsx)(ce,{icon:Mt,label:"Secrets",value:W===0?"None":`${W} bound`,hint:"Manage bound secrets",to:i(()=>P("secrets"),"to"),ariaLabel:`${W} secrets bound. Open secrets.`}),(0,e.jsx)(ce,{icon:Pt,label:"Last run",value:R?R.status.replaceAll("_"," "):"No runs",hint:R?Ee(R.triggeredAt):"Trigger a run",to:i(()=>P("runs"),"to"),ariaLabel:R?`Last run ${R.status}. Open runs.`:"No runs. Open runs."})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)("p",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Recent activity"}),B.length===0?(0,e.jsx)("p",{className:"text-xs text-muted-foreground",children:"No activity yet."}):(0,e.jsxs)("div",{className:"divide-y divide-border/60",children:[B.map(d=>(0,e.jsxs)("div",{className:"flex items-center gap-2 py-1.5 text-xs",children:[(0,e.jsx)(xe,{variant:"outline",className:"shrink-0 font-mono",children:d.action}),(0,e.jsx)("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:d.details&&Object.keys(d.details).length>0?Object.keys(d.details).slice(0,3).join(" · "):""}),(0,e.jsx)("span",{className:"shrink-0 text-muted-foreground/60",children:Ee(d.createdAt)})]},d.id)),(0,e.jsxs)("button",{type:"button",onClick:i(()=>P("activity"),"onClick"),className:"flex items-center gap-1 pt-2 text-xs text-muted-foreground hover:text-foreground",children:["View all activity ",(0,e.jsx)(ve,{className:"h-3 w-3"})]})]})]})]})}i(Ss,"OverviewSection");function ce({icon:s,label:a,value:n,hint:c,to:r,ariaLabel:m}){return(0,e.jsx)("button",{type:"button",onClick:r,"aria-label":m,className:"text-left",children:(0,e.jsx)(Wt,{className:"gap-2 p-4 transition-colors hover:border-border hover:bg-accent/30",children:(0,e.jsxs)(Ut,{className:"space-y-1 p-0",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5 text-xs uppercase tracking-wide text-muted-foreground",children:[(0,e.jsx)(s,{className:"h-3.5 w-3.5"}),a,(0,e.jsx)(ve,{className:"ml-auto h-3.5 w-3.5 text-muted-foreground/60"})]}),(0,e.jsx)("p",{className:"text-lg font-semibold",children:n}),(0,e.jsx)("p",{className:"text-xs text-muted-foreground",children:c})]})})})}i(ce,"SummaryCard");function Is(){const{routine:s,newTrigger:a,setNewTrigger:n,createTrigger:c,updateTrigger:r,deleteTrigger:m,rotateTrigger:l,secretMessage:k,copySecretValue:I,setSecretMessage:M}=Q(),[C,x]=(0,u.useState)(!1),[S,D]=(0,u.useState)(!0),q=(0,u.useMemo)(()=>a.kind==="schedule"?Zt(a.cronExpression):null,[a.cronExpression,a.kind]),A=c.isPending||(q?!q.valid||!S:!1);return(0,u.useEffect)(()=>{a.kind!=="schedule"&&D(!0)},[a.kind]),(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between",children:[(0,e.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:s.triggers.length===0?"No triggers yet":`${s.triggers.length} trigger${s.triggers.length===1?"":"s"}`}),(0,e.jsx)(E,{size:"sm",variant:C?"secondary":"default",onClick:i(()=>x(g=>!g),"onClick"),"aria-expanded":C,children:C?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(Nt,{className:"mr-1.5 h-3.5 w-3.5"}),"Cancel"]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(_t,{className:"mr-1.5 h-3.5 w-3.5"}),"New trigger"]})})]}),C?(0,e.jsxs)("div",{className:"space-y-3 rounded-lg border border-border p-4",children:[(0,e.jsx)("p",{className:"text-sm font-medium",children:"Add trigger"}),(0,e.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,e.jsxs)("div",{className:"space-y-1.5",children:[(0,e.jsx)(O,{className:"text-xs",children:"Kind"}),(0,e.jsxs)(he,{value:a.kind,onValueChange:i(g=>n(b=>({...b,kind:g})),"onValueChange"),children:[(0,e.jsx)(pe,{children:(0,e.jsx)(de,{})}),(0,e.jsx)(me,{children:js.map(g=>(0,e.jsx)(ue,{value:g,children:g},g))})]})]}),a.kind==="schedule"&&(0,e.jsxs)("div",{className:"space-y-1.5 md:col-span-2",children:[(0,e.jsx)(O,{className:"text-xs",children:"Schedule"}),(0,e.jsx)(We,{value:a.cronExpression,onChange:i(g=>n(b=>({...b,cronExpression:g})),"onChange"),onValidityChange:D})]}),a.kind==="webhook"&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"space-y-1.5",children:[(0,e.jsx)(O,{className:"text-xs",children:"Signing mode"}),(0,e.jsxs)(he,{value:a.signingMode,onValueChange:i(g=>n(b=>({...b,signingMode:g})),"onValueChange"),children:[(0,e.jsx)(pe,{children:(0,e.jsx)(de,{})}),(0,e.jsx)(me,{children:ws.map(g=>(0,e.jsx)(ue,{value:g,children:g},g))})]}),(0,e.jsx)("p",{className:"text-xs text-muted-foreground",children:Ns[a.signingMode]})]}),!ks.has(a.signingMode)&&(0,e.jsxs)("div",{className:"space-y-1.5",children:[(0,e.jsx)(O,{className:"text-xs",children:"Replay window (seconds)"}),(0,e.jsx)(V,{value:a.replayWindowSec,onChange:i(g=>n(b=>({...b,replayWindowSec:g.target.value})),"onChange")})]})]})]}),(0,e.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,e.jsx)(E,{size:"sm",variant:"ghost",onClick:i(()=>x(!1),"onClick"),children:"Cancel"}),(0,e.jsx)(E,{size:"sm",onClick:i(()=>c.mutate(void 0,{onSuccess:i(()=>{n($e()),x(!1)},"onSuccess")}),"onClick"),disabled:A,children:c.isPending?"Adding...":"Add trigger"})]})]}):null,k?(0,e.jsxs)("div",{className:"space-y-3 rounded-lg border border-border bg-muted/20 p-4 text-sm",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"font-medium",children:k.title}),(0,e.jsx)("p",{className:"text-xs text-muted-foreground",children:"Save this now. Paperclip will not show the secret value again."})]}),(0,e.jsx)("div",{className:"space-y-3",children:k.entries.map((g,b)=>(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(V,{"aria-label":"New webhook URL",value:g.webhookUrl,readOnly:!0,className:"flex-1"}),(0,e.jsx)(E,{variant:"outline",size:"sm",onClick:i(()=>I("Webhook URL",g.webhookUrl),"onClick"),children:"URL"})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(V,{"aria-label":"New webhook secret",value:g.webhookSecret,readOnly:!0,className:"flex-1"}),(0,e.jsx)(E,{variant:"outline",size:"sm",onClick:i(()=>I("Webhook secret",g.webhookSecret),"onClick"),children:"Secret"})]})]},`${g.webhookUrl}-${b}`))}),(0,e.jsx)(E,{variant:"outline",size:"sm",onClick:i(()=>M(null),"onClick"),children:"Done"})]}):null,s.triggers.length===0?(0,e.jsx)(te,{icon:ye,message:"No triggers yet.",action:"Add a trigger",onAction:i(()=>x(!0),"onAction")}):(0,e.jsx)("div",{className:"space-y-3",children:s.triggers.map(g=>(0,e.jsx)(xs,{trigger:g,onSave:i((b,j)=>r.mutate({id:b,patch:j}),"onSave"),onRotate:i(b=>l.mutate(b),"onRotate"),onDelete:i(b=>m.mutate(b),"onDelete")},g.id))})]})}i(Is,"TriggersSection");function Cs(){const{editDraft:s,setEditDraft:a,navigateToSection:n}=Q(),c=s.variables.length>0;return(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsxs)("div",{className:"flex items-center gap-3 rounded-md border border-border bg-muted/20 px-4 py-3 text-xs",children:[(0,e.jsxs)("span",{className:"flex-1 text-muted-foreground",children:["Variables are auto-detected from ",(0,e.jsx)("code",{className:"font-mono",children:"{{placeholders}}"})," in the title & instructions. The variable name is read-only — rename by editing the placeholder."]}),(0,e.jsxs)(E,{variant:"secondary",size:"sm",onClick:i(()=>n("overview"),"onClick"),children:[(0,e.jsx)(Qt,{className:"mr-1.5 h-3.5 w-3.5"}),"Edit instructions"]})]}),c?(0,e.jsx)(Ue,{title:s.title,description:s.description,value:s.variables,onChange:i(r=>a(m=>({...m,variables:r})),"onChange")}):(0,e.jsx)(te,{icon:is,message:"No variables yet. Add a {{placeholder}} in the title or instructions to create one.",action:"Edit instructions",onAction:i(()=>n("overview"),"onAction")})]})}i(Cs,"VariablesSection");function As(){const{editDraft:s,setEditDraft:a,availableSecrets:n,createSecret:c}=Q(),r=(0,u.useMemo)(()=>[...n].filter(m=>m.status==="active").sort((m,l)=>{const k=(l.referenceCount??0)-(m.referenceCount??0);return k!==0?k:new Date(l.updatedAt).getTime()-new Date(m.updatedAt).getTime()}).slice(0,8),[n]);return(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsxs)("div",{className:"rounded-md border border-border bg-muted/20 px-4 py-3 text-xs text-muted-foreground",children:["Routine secrets apply to every task this routine creates. They override matching keys in project and agent env. ",(0,e.jsx)("span",{className:"font-mono",children:"PAPERCLIP_*"})," names are reserved."]}),(0,e.jsx)(ds,{value:s.env??{},secrets:n,recentlyUsedSecrets:r,onCreateSecret:i(async(m,l)=>c.mutateAsync({name:m,value:l}),"onCreateSecret"),onChange:i(m=>a(l=>({...l,env:m??null})),"onChange")})]})}i(As,"SecretsSection");function Ps(){const{editDraft:s,setEditDraft:a,routine:n}=Q(),c=n.triggers.some(m=>m.kind==="schedule"),r=s.activityGatePolicy==="require_external_activity";return(0,e.jsxs)("div",{className:"space-y-6",children:[(0,e.jsxs)("div",{className:"space-y-3",children:[(0,e.jsx)("p",{className:"text-xs font-medium uppercase tracking-(--tracking-caps) text-muted-foreground",children:"Concurrency"}),(0,e.jsx)(X,{ariaLabel:"Concurrency policy",value:s.concurrencyPolicy,onValueChange:i(m=>a(l=>({...l,concurrencyPolicy:m})),"onValueChange"),options:ys})]}),(0,e.jsxs)("div",{className:"space-y-3",children:[(0,e.jsx)("p",{className:"text-xs font-medium uppercase tracking-(--tracking-caps) text-muted-foreground",children:"Catch-up"}),(0,e.jsx)(X,{ariaLabel:"Catch-up policy",value:s.catchUpPolicy,onValueChange:i(m=>a(l=>({...l,catchUpPolicy:m})),"onValueChange"),options:vs})]}),(0,e.jsxs)("div",{className:"space-y-3",children:[(0,e.jsx)("p",{className:"text-xs font-medium uppercase tracking-(--tracking-caps) text-muted-foreground",children:"Advanced run policy"}),(0,e.jsx)(X,{ariaLabel:"Advanced run policy",value:s.activityGatePolicy,onValueChange:i(m=>a(l=>({...l,activityGatePolicy:m})),"onValueChange"),options:fs,disabled:!c}),c?r?(0,e.jsxs)("div",{className:"space-y-2 rounded-lg border border-border p-3",children:[(0,e.jsx)(O,{className:"text-xs font-medium",children:"Activity scope"}),(0,e.jsx)(X,{ariaLabel:"Activity gate scope",value:s.activityGateScope,onValueChange:i(m=>a(l=>({...l,activityGateScope:m})),"onValueChange"),options:bs})]}):null:(0,e.jsx)("p",{className:"text-xs text-muted-foreground",children:"Add a schedule trigger to gate runs on activity. Webhook, manual, and API fires always run."})]}),(0,e.jsx)(Ts,{triggers:n.triggers,concurrencyPolicy:s.concurrencyPolicy})]})}i(Ps,"DeliverySection");var Rs={queued:"text-emerald-600 dark:text-emerald-400",coalesced:"text-amber-600 dark:text-amber-400",skipped:"text-muted-foreground"};function Ts({triggers:s,concurrencyPolicy:a}){const n=(0,u.useMemo)(()=>{const c=s.filter(r=>r.kind==="schedule"&&r.enabled&&r.cronExpression).map(r=>({trigger:r,fires:zt(r.cronExpression,5,{timeZone:r.timezone??"UTC"})})).filter(r=>r.fires.length>0).sort((r,m)=>r.fires[0].getTime()-m.fires[0].getTime())[0];return c?{timeZone:c.trigger.timezone??"UTC",entries:Jt(c.fires,a)}:null},[s,a]);return(0,e.jsxs)("div",{className:"space-y-3",children:[(0,e.jsx)("p",{className:"text-xs font-medium uppercase tracking-(--tracking-caps) text-muted-foreground",children:"Next 5 fires"}),n?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"space-y-1.5 rounded-lg border border-border p-3 font-mono text-xs",children:n.entries.map((c,r)=>(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{className:"text-muted-foreground/40",children:"·"}),(0,e.jsx)("span",{className:"tabular-nums",children:Es(c.at,n.timeZone)}),(0,e.jsx)(ve,{className:"h-3 w-3 shrink-0 text-muted-foreground/50"}),(0,e.jsx)("span",{className:ut("font-medium",Rs[c.disposition]),children:c.label}),c.note?(0,e.jsxs)("span",{className:"truncate text-muted-foreground/60",children:["(",c.note,")"]}):null]},r))}),(0,e.jsxs)("p",{className:"text-(length:--text-micro) text-muted-foreground/60",children:["Preview assumes the previous run is still in flight when the next fires. Times shown in"," ",n.timeZone,"."]})]}):(0,e.jsx)("p",{className:"rounded-lg border border-dashed border-border p-3 text-xs text-muted-foreground",children:"No enabled schedule trigger to preview. Add a schedule in Triggers to see how this policy treats upcoming fires."})]})}i(Ts,"NextFiresPreview");function Es(s,a){try{return new Intl.DateTimeFormat(void 0,{timeZone:a,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).format(s).replace(",","")}catch{return s.toISOString()}}i(Es,"formatFireTime");var ge="paperclip.routineLastSection";function Os(s){return s.filter(a=>!a.archivedAt).map(a=>({id:a.id,label:a.name,searchText:a.description??""}))}i(Os,"buildRoutineProjectOptions");var Ds={overview:"Overview",triggers:"Triggers",variables:"Variables",secrets:"Secrets",delivery:"Delivery",runs:"Runs",activity:"Activity",history:"History"};function ee(s){return s!=null&&ss.includes(s)}i(ee,"isRoutineSection");function _s(s){try{const a=localStorage.getItem(ge);if(!a)return null;const n=JSON.parse(a)[s];return ee(n)?n:null}catch{return null}}i(_s,"readLastSection");function le(s,a){try{const n=localStorage.getItem(ge),c=n?JSON.parse(n):{};c[s]=a,localStorage.setItem(ge,JSON.stringify(c))}catch{}}i(le,"writeLastSection");var Fe={triggers:"triggers",runs:"runs",activity:"activity",secrets:"secrets",history:"history"};function Ke(s){s&&(s.style.height="auto",s.style.height=`${s.scrollHeight}px`)}i(Ke,"autoResizeTextarea");function Ms(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return"UTC"}}i(Ms,"getLocalTimezone");function qs(s){return{...s,description:s.description.trim()||null,projectId:s.projectId||null,assigneeAgentId:s.assigneeAgentId||null,env:s.env&&Object.keys(s.env).length>0?s.env:null}}i(qs,"buildRoutineMutationPayload");function di(){const{routineId:s,section:a}=gt(),{selectedCompanyId:n}=mt(),{setBreadcrumbs:c}=Et(),r=dt(),m=ht(),{pushToast:l}=as(),k=(0,u.useRef)(null),I=(0,u.useRef)(null),M=(0,u.useRef)(null),C=(0,u.useRef)(null),x=(0,u.useRef)(null),[S,D]=(0,u.useState)(null),[q,A]=(0,u.useState)(!1),[g,b]=(0,u.useState)(!1),[j,se]=(0,u.useState)($e),[f,P]=(0,u.useState)({title:"",description:"",projectId:"",assigneeAgentId:"",priority:"medium",concurrencyPolicy:"coalesce_if_active",catchUpPolicy:"skip_missed",activityGatePolicy:"always",activityGateScope:"company",variables:[],env:null}),w=ee(a)?a:"overview",_=(0,u.useCallback)((t,h)=>{s&&(le(s,t),m(`/routines/${s}/${t}`,{replace:h?.replace??!0}))},[m,s]),{data:o,isLoading:z,error:W}=L({queryKey:p.routines.detail(s),queryFn:i(()=>T.get(s),"queryFn"),enabled:!!s}),R=o?.activeIssue?.id,{data:B}=L({queryKey:p.issues.liveRuns(R),queryFn:i(()=>Ft.liveRunsForIssue(R),"queryFn"),enabled:!!R,refetchInterval:3e3}),d=(B??[]).length>0,{data:y}=L({queryKey:p.routines.runs(s),queryFn:i(()=>T.listRuns(s),"queryFn"),enabled:!!s,refetchInterval:d?3e3:!1}),G=(0,u.useMemo)(()=>({triggerIds:o?.triggers.map(t=>t.id)??[],runIds:y?.map(t=>t.id)??[]}),[o?.triggers,y]),{data:Ve}=L({queryKey:[...p.routines.activity(n,s),G.triggerIds.join(","),G.runIds.join(",")],queryFn:i(()=>T.activity(n,s,G),"queryFn"),enabled:!!n&&!!s&&!!o}),{data:F}=L({queryKey:p.agents.list(n),queryFn:i(()=>Rt.list(n),"queryFn"),enabled:!!n}),{data:K}=L({queryKey:p.projects.list(n,{includeArchived:!0}),queryFn:i(()=>Tt.list(n,{includeArchived:!0}),"queryFn"),enabled:!!n}),{data:fe}=L({queryKey:p.access.companyUserDirectory(n),queryFn:i(()=>Lt.listUserDirectory(n),"queryFn"),enabled:!!n}),{data:Ge=[]}=L({queryKey:n?p.secrets.list(n):["secrets","none"],queryFn:i(()=>Me.list(n),"queryFn"),enabled:!!n}),Qe=U({mutationFn:i(t=>{if(!n)throw new Error("Select a company to create secrets");return Me.create(n,t)},"mutationFn"),onSuccess:i(()=>{n&&r.invalidateQueries({queryKey:p.secrets.list(n)})},"onSuccess")}),v=(0,u.useMemo)(()=>o?{title:o.title,description:o.description??"",projectId:o.projectId??"",assigneeAgentId:o.assigneeAgentId??"",priority:o.priority,concurrencyPolicy:o.concurrencyPolicy,catchUpPolicy:o.catchUpPolicy,activityGatePolicy:o.activityGatePolicy,activityGateScope:o.activityGateScope,variables:o.variables,env:o.env??null}:null,[o]),H=(0,u.useMemo)(()=>{if(!v)return[];const t=[];return f.title!==v.title&&t.push({key:"title",label:"the title"}),f.description!==v.description&&t.push({key:"description",label:"the description"}),f.projectId!==v.projectId&&t.push({key:"projectId",label:"the project"}),f.assigneeAgentId!==v.assigneeAgentId&&t.push({key:"assigneeAgentId",label:"the default agent"}),f.priority!==v.priority&&t.push({key:"priority",label:"the priority"}),f.concurrencyPolicy!==v.concurrencyPolicy&&t.push({key:"concurrencyPolicy",label:"the concurrency policy"}),f.catchUpPolicy!==v.catchUpPolicy&&t.push({key:"catchUpPolicy",label:"the catch-up policy"}),f.activityGatePolicy!==v.activityGatePolicy&&t.push({key:"activityGatePolicy",label:"the advanced run policy"}),f.activityGateScope!==v.activityGateScope&&t.push({key:"activityGateScope",label:"the activity gate scope"}),JSON.stringify(f.variables)!==JSON.stringify(v.variables)&&t.push({key:"variables",label:"the variables"}),JSON.stringify(f.env??null)!==JSON.stringify(v.env??null)&&t.push({key:"env",label:"the secrets"}),t},[f,v]),ie=H.length>0,J=(0,u.useCallback)(t=>{const h=qe[t];return h?H.filter(N=>h.includes(N.key)):[]},[H]),ne=(0,u.useCallback)(t=>J(t).length>0,[J]),be=(0,u.useCallback)(t=>{if(!v)return;const h=qe[t];h&&P(N=>{const Re={...N};for(const Te of h)Re[Te]=v[Te];return Re})},[v]);(0,u.useEffect)(()=>{o&&(c([{label:"Routines",href:"/routines"},{label:o.title}]),v&&(k.current!==o.id||!ie)&&(P(v),k.current=o.id))},[o,v,ie,c]),(0,u.useEffect)(()=>{Ke(I.current)},[f.title,o?.id]),(0,u.useEffect)(()=>{s&&ee(a)&&le(s,a)},[s,a]);const ze=(0,u.useCallback)(async(t,h)=>{try{await qt(h),l({title:`${t} copied`,tone:"success"})}catch(N){l({title:`Failed to copy ${t.toLowerCase()}`,body:N instanceof Error?N.message:"Clipboard access was denied.",tone:"error"})}},[l]),Y=U({mutationFn:i(()=>{const t=qs(f),h=o?.latestRevisionId??null;return T.update(s,{...t,...h?{baseRevisionId:h}:{}})},"mutationFn"),onSuccess:i(async()=>{A(!1),await Promise.all([r.invalidateQueries({queryKey:p.routines.detail(s)}),r.invalidateQueries({queryKey:p.routines.list(n)}),r.invalidateQueries({queryKey:p.routines.activity(n,s)}),r.invalidateQueries({queryKey:p.routines.revisions(s)})])},"onSuccess"),onError:i(t=>{if(t instanceof pt&&t.status===409){A(!0),l({title:"Routine changed",body:"Someone else updated this routine. Reload to see the latest revision.",tone:"warn"});return}l({title:"Failed to save routine",body:t instanceof Error?t.message:"Paperclip could not save the routine.",tone:"error"})},"onError")}),Z=U({mutationFn:i(t=>T.run(s,{...t?.variables&&Object.keys(t.variables).length>0?{variables:t.variables}:{},...t?.assigneeAgentId!==void 0?{assigneeAgentId:t.assigneeAgentId}:{},...t?.projectId!==void 0?{projectId:t.projectId}:{},...t?.executionWorkspaceId!==void 0?{executionWorkspaceId:t.executionWorkspaceId}:{},...t?.executionWorkspacePreference!==void 0?{executionWorkspacePreference:t.executionWorkspacePreference}:{},...t?.executionWorkspaceSettings!==void 0?{executionWorkspaceSettings:t.executionWorkspaceSettings}:{}}),"mutationFn"),onSuccess:i(async()=>{l({title:"Routine run started",tone:"success"}),b(!1),_("runs"),await Promise.all([r.invalidateQueries({queryKey:p.routines.detail(s)}),r.invalidateQueries({queryKey:p.routines.runs(s)}),r.invalidateQueries({queryKey:p.routines.list(n)}),r.invalidateQueries({queryKey:p.routines.activity(n,s)})])},"onSuccess"),onError:i(t=>{l({title:"Routine run failed",body:t instanceof Error?t.message:"Paperclip could not start the routine run.",tone:"error"})},"onError")}),je=U({mutationFn:i(t=>T.update(s,{status:t}),"mutationFn"),onSuccess:i(async(t,h)=>{l({title:"Routine saved",body:h==="paused"?"Automation paused.":"Automation enabled.",tone:"success"}),await Promise.all([r.invalidateQueries({queryKey:p.routines.detail(s)}),r.invalidateQueries({queryKey:p.routines.list(n)})])},"onSuccess"),onError:i(t=>{l({title:"Failed to update routine",body:t instanceof Error?t.message:"Paperclip could not update the routine.",tone:"error"})},"onError")}),Be=U({mutationFn:i(async()=>{const t=(o?.triggers??[]).filter(N=>N.kind===j.kind).length,h=t>0?`${j.kind}-${t+1}`:j.kind;return T.createTrigger(s,{kind:j.kind,label:h,...j.kind==="schedule"?{cronExpression:j.cronExpression.trim(),timezone:Ms()}:{},...j.kind==="webhook"?{signingMode:j.signingMode,replayWindowSec:Number(j.replayWindowSec||"300")}:{}})},"mutationFn"),onSuccess:i(async t=>{t.secretMaterial?D({title:"Webhook trigger created",entries:[{webhookUrl:t.secretMaterial.webhookUrl,webhookSecret:t.secretMaterial.webhookSecret}]}):l({title:"Trigger added",body:"The routine schedule was saved.",tone:"success"}),await Promise.all([r.invalidateQueries({queryKey:p.routines.detail(s)}),r.invalidateQueries({queryKey:p.routines.list(n)}),r.invalidateQueries({queryKey:p.routines.activity(n,s)})])},"onSuccess"),onError:i(t=>{l({title:"Failed to add trigger",body:t instanceof Error?t.message:"Paperclip could not create the trigger.",tone:"error"})},"onError")}),He=U({mutationFn:i(({id:t,patch:h})=>T.updateTrigger(t,h),"mutationFn"),onSuccess:i(async()=>{l({title:"Trigger saved",body:"The routine cadence update was saved.",tone:"success"}),await Promise.all([r.invalidateQueries({queryKey:p.routines.detail(s)}),r.invalidateQueries({queryKey:p.routines.list(n)}),r.invalidateQueries({queryKey:p.routines.activity(n,s)})])},"onSuccess"),onError:i(t=>{l({title:"Failed to update trigger",body:t instanceof Error?t.message:"Paperclip could not update the trigger.",tone:"error"})},"onError")}),Je=U({mutationFn:i(t=>T.deleteTrigger(t),"mutationFn"),onSuccess:i(async()=>{l({title:"Trigger deleted",tone:"success"}),await Promise.all([r.invalidateQueries({queryKey:p.routines.detail(s)}),r.invalidateQueries({queryKey:p.routines.list(n)}),r.invalidateQueries({queryKey:p.routines.activity(n,s)})])},"onSuccess"),onError:i(t=>{l({title:"Failed to delete trigger",body:t instanceof Error?t.message:"Paperclip could not delete the trigger.",tone:"error"})},"onError")}),Ye=U({mutationFn:i(t=>T.rotateTriggerSecret(t),"mutationFn"),onSuccess:i(async t=>{D({title:"Webhook secret rotated",entries:[{webhookUrl:t.secretMaterial.webhookUrl,webhookSecret:t.secretMaterial.webhookSecret}]}),await Promise.all([r.invalidateQueries({queryKey:p.routines.detail(s)}),r.invalidateQueries({queryKey:p.routines.activity(n,s)})])},"onSuccess"),onError:i(t=>{l({title:"Failed to rotate webhook secret",body:t instanceof Error?t.message:"Paperclip could not rotate the webhook secret.",tone:"error"})},"onError")}),we=(0,u.useMemo)(()=>new Map((F??[]).map(t=>[t.id,t])),[F]),Ne=(0,u.useMemo)(()=>new Map((K??[]).map(t=>[t.id,t])),[K]),ae=(0,u.useMemo)(()=>jt(),[o?.id]),Ze=(0,u.useMemo)(()=>wt(),[o?.id]),Xe=(0,u.useMemo)(()=>xt((F??[]).filter(t=>t.status!=="terminated"),ae).map(t=>({id:t.id,label:t.name,searchText:`${t.name} ${t.role} ${t.title??""}`})),[F,ae]),et=(0,u.useMemo)(()=>Os(K??[]),[K]),tt=(0,u.useMemo)(()=>Kt({agents:F,projects:(K??[]).filter(t=>!t.archivedAt),members:fe?.users}),[F,fe?.users,K]),st=(0,u.useCallback)(t=>{P(h=>{const N=typeof t=="function"?t(h):t;return N.assigneeAgentId&&N.assigneeAgentId!==h.assigneeAgentId&&bt(N.assigneeAgentId),N.projectId&&N.projectId!==h.projectId&&yt(N.projectId),N})},[]),it=f.assigneeAgentId?we.get(f.assigneeAgentId)??null:null,nt=f.projectId?Ne.get(f.projectId)??null:null,ke=(0,u.useCallback)(()=>{A(!1),v&&P(v),r.invalidateQueries({queryKey:p.routines.detail(s)})},[r,v,s]),at=(0,u.useCallback)(t=>{t.secretMaterials.length>0&&(_("triggers"),D({title:t.secretMaterials.length===1?"Webhook trigger restored":`${t.secretMaterials.length} webhook triggers restored`,entries:t.secretMaterials.map(h=>({webhookUrl:h.webhookUrl,webhookSecret:h.webhookSecret}))}))},[_]),rt=(0,u.useCallback)(t=>{A(!1),r.setQueryData(p.routines.detail(s),h=>h&&{...h,...t.routine,latestRevisionId:t.revision.id,latestRevisionNumber:t.revision.revisionNumber}),P({title:t.routine.title,description:t.routine.description??"",projectId:t.routine.projectId??"",assigneeAgentId:t.routine.assigneeAgentId??"",priority:t.routine.priority,concurrencyPolicy:t.routine.concurrencyPolicy,catchUpPolicy:t.routine.catchUpPolicy,activityGatePolicy:t.routine.activityGatePolicy,activityGateScope:t.routine.activityGateScope,variables:t.routine.variables,env:t.routine.env??null}),k.current=t.routine.id},[r,s]);if(!n)return(0,e.jsx)(te,{icon:vt,message:"Select a company to view routines."});const re=new URLSearchParams(window.location.search).get("tab");if(s&&re&&Fe[re])return(0,e.jsx)(oe,{to:`/routines/${s}/${Fe[re]}`,replace:!0});if(s&&!a){const t=_s(s)??"overview";return(0,e.jsx)(oe,{to:`/routines/${s}/${t}`,replace:!0})}if(s&&a&&!ee(a))return(0,e.jsx)(oe,{to:`/routines/${s}/overview`,replace:!0});if(z)return(0,e.jsx)($t,{variant:"issues-list"});if(W||!o||!v)return(0,e.jsx)(te,{icon:Ot,message:W instanceof Error?W.message:"We couldn't load this routine."});const $=o.status==="active",Se=je.isPending||o.status==="archived",Ie=o.status==="archived"?"Archived":o.assigneeAgentId?$?"Active":"Paused":"Draft",Ce=o.status==="archived"?"text-muted-foreground":$?"text-emerald-400":"text-muted-foreground",Ae={routine:o,routineId:s,companyId:o.companyId,editDraft:f,setEditDraft:st,routineDefaults:v,dirtyFields:H,isEditDirty:ie,sectionDirtyFields:J,isSectionDirty:ne,discardSection:be,saveRoutine:Y,saveConflict:q,reloadLatest:ke,automationEnabled:$,automationLabel:Ie,automationLabelClassName:Ce,automationToggleDisabled:Se,onToggleAutomation:i(()=>{if(!$&&!o.assigneeAgentId){l({title:"Default agent required",body:"Set a default agent before enabling routine automation.",tone:"warn"});return}je.mutate($?"paused":"active")},"onToggleAutomation"),onOpenRunDialog:i(()=>b(!0),"onOpenRunDialog"),runRoutinePending:Z.isPending,newTrigger:j,setNewTrigger:se,createTrigger:Be,updateTrigger:He,deleteTrigger:Je,rotateTrigger:Ye,secretMessage:S,setSecretMessage:D,copySecretValue:ze,availableSecrets:Ge,createSecret:Qe,agents:F??[],projects:K??[],agentById:we,projectById:Ne,assigneeOptions:Xe,projectOptions:et,recentAssigneeIds:ae,recentProjectIds:Ze,mentionOptions:tt,currentAssignee:it,currentProject:nt,routineRuns:y,activity:Ve,hasLiveRun:d,activeIssueId:R,titleInputRef:I,descriptionEditorRef:M,assigneeSelectorRef:C,projectSelectorRef:x,onHistoryRestoreSecretMaterials:at,onHistoryRestored:rt,navigateToSection:_},Pe=Gt.includes(w);return(0,e.jsxs)(Bt.Provider,{value:Ae,children:[(0,e.jsx)("a",{href:"#routine-section",className:"sr-only focus:not-sr-only focus:absolute focus:left-2 focus:top-2 focus:z-20 focus:rounded focus:bg-background focus:px-3 focus:py-1.5 focus:text-sm",children:"Skip to section"}),(0,e.jsxs)("div",{className:"-m-4 flex h-full min-h-0 flex-col overflow-hidden md:-m-6",children:[(0,e.jsxs)("header",{className:"flex h-14 shrink-0 items-center gap-3 border-b border-border bg-background px-6",children:[(0,e.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,e.jsx)("textarea",{ref:I,"data-autosize-title":!0,className:"min-w-0 flex-1 resize-none overflow-hidden bg-transparent text-base font-semibold leading-7 outline-none placeholder:text-muted-foreground/50",placeholder:"Routine title",rows:1,value:f.title,onChange:i(t=>{P(h=>({...h,title:t.target.value})),Ke(t.target)},"onChange"),onKeyDown:i(t=>{t.key==="Enter"&&!t.metaKey&&!t.ctrlKey&&!t.nativeEvent.isComposing&&(t.preventDefault(),w==="overview"?M.current?.focus():_("overview"))},"onKeyDown")}),o.managedByPlugin?(0,e.jsxs)(xe,{variant:"outline",className:"hidden shrink-0 gap-1.5 text-xs text-muted-foreground sm:inline-flex",children:[(0,e.jsx)(kt,{className:"h-3 w-3"}),o.managedByPlugin.pluginDisplayName,(0,e.jsx)("span",{className:"font-mono text-(length:--text-nano)",children:o.managedByPlugin.resourceKey})]}):null]}),(0,e.jsxs)("div",{className:"ml-auto flex shrink-0 items-center gap-3",children:[(0,e.jsx)(ts,{onClick:i(()=>b(!0),"onClick"),disabled:Z.isPending}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(At,{size:"default",checked:$,onCheckedChange:Ae.onToggleAutomation,disabled:Se,"aria-label":$?"Pause automatic triggers":"Enable automatic triggers"}),(0,e.jsx)("span",{className:`text-sm font-medium ${Ce}`,children:Ie})]})]})]}),(0,e.jsx)(es,{activeSection:w,onNavigate:_,isSectionDirty:ne}),(0,e.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,e.jsx)(us,{activeSection:w,hrefFor:i(t=>`/routines/${s}/${t}`,"hrefFor"),isSectionDirty:ne,hasLiveRun:d,onNavigate:i(t=>le(s,t),"onNavigate")}),(0,e.jsx)("main",{id:"routine-section",role:"main",className:"min-h-0 min-w-0 flex-1 overflow-y-auto px-4 pb-6 pt-10 md:px-8",children:(0,e.jsxs)("section",{"aria-labelledby":"routine-section-title",className:Pe?"mx-auto w-full max-w-3xl":"w-full",children:[(0,e.jsx)("h2",{id:"routine-section-title",className:"mb-4 text-lg font-semibold",children:Ds[w]}),w==="overview"&&(0,e.jsx)(Ss,{}),w==="triggers"&&(0,e.jsx)(Is,{}),w==="variables"&&(0,e.jsx)(Cs,{}),w==="secrets"&&(0,e.jsx)(As,{}),w==="delivery"&&(0,e.jsx)(Ps,{}),w==="runs"&&(0,e.jsx)(rs,{}),w==="activity"&&(0,e.jsx)(os,{}),w==="history"&&(0,e.jsx)(Vt,{}),Pe?(0,e.jsx)(Yt,{dirtyFields:J(w),isSaving:Y.isPending,saveConflict:q,onSave:i(()=>{!Y.isPending&&f.title.trim()&&Y.mutate()},"onSave"),onDiscard:i(()=>be(w),"onDiscard"),onReload:ke}):null]})})]})]}),(0,e.jsx)(ft,{open:g,onOpenChange:b,companyId:o.companyId,routineName:o.title,agents:F??[],projects:K??[],defaultProjectId:o.projectId,defaultAssigneeAgentId:o.assigneeAgentId,variables:o.variables??[],isPending:Z.isPending,onSubmit:i(t=>Z.mutate(t),"onSubmit")})]})}i(di,"RoutineDetail");export{di as RoutineDetail};