@growthub/cli 0.3.18 → 0.3.20

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 (154) hide show
  1. package/dist/runtime/server/ui-dist/assets/OnboardingWizard-aegE4bQH.js +834 -0
  2. package/dist/runtime/server/ui-dist/assets/OnboardingWizard-z80UuoAP.js +834 -0
  3. package/dist/runtime/server/ui-dist/assets/{_basePickBy-CycqvnCH.js → _basePickBy-C4Ps29xO.js} +1 -1
  4. package/dist/runtime/server/ui-dist/assets/_basePickBy-zlPiZiIl.js +1 -0
  5. package/dist/runtime/server/ui-dist/assets/{_baseUniq-jJI66QE5.js → _baseUniq-B_aRsKIx.js} +1 -1
  6. package/dist/runtime/server/ui-dist/assets/_baseUniq-CLGVwfNH.js +1 -0
  7. package/dist/runtime/server/ui-dist/assets/{arc-DAfOGkhs.js → arc-BrY66Xh9.js} +1 -1
  8. package/dist/runtime/server/ui-dist/assets/arc-U3VJNepI.js +1 -0
  9. package/dist/runtime/server/ui-dist/assets/{architectureDiagram-VXUJARFQ-Bseplhn_.js → architectureDiagram-VXUJARFQ-CVqxu6tT.js} +1 -1
  10. package/dist/runtime/server/ui-dist/assets/architectureDiagram-VXUJARFQ-TYa7gEgg.js +36 -0
  11. package/dist/runtime/server/ui-dist/assets/{blockDiagram-VD42YOAC-CImRkHxE.js → blockDiagram-VD42YOAC-CE_U4VSL.js} +1 -1
  12. package/dist/runtime/server/ui-dist/assets/blockDiagram-VD42YOAC-ChhaLrZq.js +122 -0
  13. package/dist/runtime/server/ui-dist/assets/{c4Diagram-YG6GDRKO-DocRJ0-4.js → c4Diagram-YG6GDRKO-CCNkfIs_.js} +1 -1
  14. package/dist/runtime/server/ui-dist/assets/c4Diagram-YG6GDRKO-D59Snbbi.js +10 -0
  15. package/dist/runtime/server/ui-dist/assets/channel-B5blDtbh.js +1 -0
  16. package/dist/runtime/server/ui-dist/assets/channel-C3LKeIMD.js +1 -0
  17. package/dist/runtime/server/ui-dist/assets/{chunk-4BX2VUAB-C_QZ3yOc.js → chunk-4BX2VUAB-B9_XUZoA.js} +1 -1
  18. package/dist/runtime/server/ui-dist/assets/chunk-4BX2VUAB-CsDPLeIp.js +1 -0
  19. package/dist/runtime/server/ui-dist/assets/{chunk-55IACEB6-B83lcfpC.js → chunk-55IACEB6-CV-uYDPm.js} +1 -1
  20. package/dist/runtime/server/ui-dist/assets/chunk-55IACEB6-CqZfZuSl.js +1 -0
  21. package/dist/runtime/server/ui-dist/assets/{chunk-B4BG7PRW-_ZGkSCBB.js → chunk-B4BG7PRW-BJ7SCTCg.js} +1 -1
  22. package/dist/runtime/server/ui-dist/assets/chunk-B4BG7PRW-P5K7p-z1.js +165 -0
  23. package/dist/runtime/server/ui-dist/assets/{chunk-DI55MBZ5-D84JXXQK.js → chunk-DI55MBZ5-DRfCUu2T.js} +1 -1
  24. package/dist/runtime/server/ui-dist/assets/chunk-DI55MBZ5-DhoXwtcM.js +220 -0
  25. package/dist/runtime/server/ui-dist/assets/{chunk-FMBD7UC4-MA5md7TF.js → chunk-FMBD7UC4-CuAhQfAl.js} +1 -1
  26. package/dist/runtime/server/ui-dist/assets/chunk-FMBD7UC4-mphQHLyi.js +15 -0
  27. package/dist/runtime/server/ui-dist/assets/{chunk-QN33PNHL-pBntDM8z.js → chunk-QN33PNHL-BjvOoEtf.js} +1 -1
  28. package/dist/runtime/server/ui-dist/assets/chunk-QN33PNHL-DzRBdZ5S.js +1 -0
  29. package/dist/runtime/server/ui-dist/assets/{chunk-QZHKN3VN-BaIMiSo-.js → chunk-QZHKN3VN-BoqSa9WP.js} +1 -1
  30. package/dist/runtime/server/ui-dist/assets/chunk-QZHKN3VN-CD9knJBx.js +1 -0
  31. package/dist/runtime/server/ui-dist/assets/{chunk-TZMSLE5B-CrjyhaCL.js → chunk-TZMSLE5B-C_XyV8fc.js} +1 -1
  32. package/dist/runtime/server/ui-dist/assets/chunk-TZMSLE5B-DYH0SnWN.js +1 -0
  33. package/dist/runtime/server/ui-dist/assets/classDiagram-2ON5EDUG-0EIeYsv6.js +1 -0
  34. package/dist/runtime/server/ui-dist/assets/classDiagram-2ON5EDUG-BX8Ck5PY.js +1 -0
  35. package/dist/runtime/server/ui-dist/assets/classDiagram-v2-WZHVMYZB-0EIeYsv6.js +1 -0
  36. package/dist/runtime/server/ui-dist/assets/classDiagram-v2-WZHVMYZB-BX8Ck5PY.js +1 -0
  37. package/dist/runtime/server/ui-dist/assets/clone-9ZM8Q8yq.js +1 -0
  38. package/dist/runtime/server/ui-dist/assets/clone-D2WePZcd.js +1 -0
  39. package/dist/runtime/server/ui-dist/assets/{cose-bilkent-S5V4N54A-mNFISgZf.js → cose-bilkent-S5V4N54A-B8C-ooP-.js} +1 -1
  40. package/dist/runtime/server/ui-dist/assets/cose-bilkent-S5V4N54A-Bng95kAf.js +1 -0
  41. package/dist/runtime/server/ui-dist/assets/{dagre-6UL2VRFP-BW8ACip_.js → dagre-6UL2VRFP-CxFvC9GZ.js} +1 -1
  42. package/dist/runtime/server/ui-dist/assets/dagre-6UL2VRFP-PBYBIXep.js +4 -0
  43. package/dist/runtime/server/ui-dist/assets/{diagram-PSM6KHXK-ByQfKnwU.js → diagram-PSM6KHXK-Ci-IXmnT.js} +1 -1
  44. package/dist/runtime/server/ui-dist/assets/diagram-PSM6KHXK-Ut4tY-KB.js +24 -0
  45. package/dist/runtime/server/ui-dist/assets/{diagram-QEK2KX5R-CVMlaNLR.js → diagram-QEK2KX5R-Be9fGxqt.js} +1 -1
  46. package/dist/runtime/server/ui-dist/assets/diagram-QEK2KX5R-DDaYZ1PM.js +43 -0
  47. package/dist/runtime/server/ui-dist/assets/{diagram-S2PKOQOG-CfBIwKQh.js → diagram-S2PKOQOG-Ds30etl_.js} +1 -1
  48. package/dist/runtime/server/ui-dist/assets/diagram-S2PKOQOG-MPGOqFqE.js +24 -0
  49. package/dist/runtime/server/ui-dist/assets/dx-root-I1SjeKcf.js +280 -0
  50. package/dist/runtime/server/ui-dist/assets/dx-root-a7U9cOiV.js +280 -0
  51. package/dist/runtime/server/ui-dist/assets/{erDiagram-Q2GNP2WA-DjZOGwrs.js → erDiagram-Q2GNP2WA-Biqo5EaP.js} +1 -1
  52. package/dist/runtime/server/ui-dist/assets/erDiagram-Q2GNP2WA-Bmyd92kl.js +60 -0
  53. package/dist/runtime/server/ui-dist/assets/{flowDiagram-NV44I4VS-BpGnGwpO.js → flowDiagram-NV44I4VS-C-rc24VL.js} +1 -1
  54. package/dist/runtime/server/ui-dist/assets/flowDiagram-NV44I4VS-DW1-MtQ6.js +162 -0
  55. package/dist/runtime/server/ui-dist/assets/{ganttDiagram-JELNMOA3-CpTGtCqK.js → ganttDiagram-JELNMOA3-D0MVK6Gd.js} +1 -1
  56. package/dist/runtime/server/ui-dist/assets/ganttDiagram-JELNMOA3-FWLRNdF-.js +267 -0
  57. package/dist/runtime/server/ui-dist/assets/{gitGraphDiagram-V2S2FVAM-BQaWuAZj.js → gitGraphDiagram-V2S2FVAM-CI3pWfQH.js} +1 -1
  58. package/dist/runtime/server/ui-dist/assets/gitGraphDiagram-V2S2FVAM-DOFM3Y0W.js +65 -0
  59. package/dist/runtime/server/ui-dist/assets/{graph-DXdHsjCL.js → graph-5c70dvh8.js} +1 -1
  60. package/dist/runtime/server/ui-dist/assets/graph-BznlWlKn.js +1 -0
  61. package/dist/runtime/server/ui-dist/assets/gtm-root-BoVRYj0q.js +38 -0
  62. package/dist/runtime/server/ui-dist/assets/gtm-root-C2ixHsq-.js +43 -0
  63. package/dist/runtime/server/ui-dist/assets/{index-Bq-1_kyP.js → index-B1bimZfj.js} +1 -1
  64. package/dist/runtime/server/ui-dist/assets/{index-DRwidkWV.js → index-B3GZFuhh.js} +1 -1
  65. package/dist/runtime/server/ui-dist/assets/{index-B8I0xKWu.js → index-B5B040UY.js} +1 -1
  66. package/dist/runtime/server/ui-dist/assets/{index-BgVlUrJs.js → index-BIt4NjJj.js} +1 -1
  67. package/dist/runtime/server/ui-dist/assets/{index-D8pJptAs.js → index-BIue-fk7.js} +1 -1
  68. package/dist/runtime/server/ui-dist/assets/{index-B8TKmcyb.js → index-BSm4D1TE.js} +1 -1
  69. package/dist/runtime/server/ui-dist/assets/{index-CmWaG74-.js → index-BeGEpySa.js} +1 -1
  70. package/dist/runtime/server/ui-dist/assets/index-Biidwxu-.js +1 -0
  71. package/dist/runtime/server/ui-dist/assets/{index-CKSID6Zp.js → index-Bjf5Y1Fe.js} +1 -1
  72. package/dist/runtime/server/ui-dist/assets/{index-CQebjpNv.js → index-BnNeRMja.js} +1 -1
  73. package/dist/runtime/server/ui-dist/assets/{index-DKPn8Zd0.js → index-Bnoka1fN.js} +1 -1
  74. package/dist/runtime/server/ui-dist/assets/{index-D5QPPm5h.js → index-BqHZNDOZ.js} +1 -1
  75. package/dist/runtime/server/ui-dist/assets/{index-DwTdFnM5.js → index-BrMaMz52.js} +1 -1
  76. package/dist/runtime/server/ui-dist/assets/{index-CFpWwIka.js → index-Bxz7TALh.js} +1 -1
  77. package/dist/runtime/server/ui-dist/assets/index-C0ZHu3gk.js +1 -0
  78. package/dist/runtime/server/ui-dist/assets/{index-CpAx3Tjk.js → index-C7K8gvTL.js} +1 -1
  79. package/dist/runtime/server/ui-dist/assets/{index-BqPQYsKl.js → index-C8_BPRbZ.js} +2 -2
  80. package/dist/runtime/server/ui-dist/assets/index-C8iEq198.js +50 -0
  81. package/dist/runtime/server/ui-dist/assets/{index-LPZbBYTO.js → index-CG95CmvJ.js} +1 -1
  82. package/dist/runtime/server/ui-dist/assets/{index-BMSNv6QN.js → index-CON3OBgH.js} +1 -1
  83. package/dist/runtime/server/ui-dist/assets/index-CQSAurWH.js +3 -0
  84. package/dist/runtime/server/ui-dist/assets/{index-Crtq9e3P.js → index-CWqjAAL4.js} +1 -1
  85. package/dist/runtime/server/ui-dist/assets/{index-BYHJbnHR.js → index-CYUZ1_Tf.js} +1 -1
  86. package/dist/runtime/server/ui-dist/assets/index-Cjg85A30.js +1 -0
  87. package/dist/runtime/server/ui-dist/assets/index-CnlQhX7h.js +1 -0
  88. package/dist/runtime/server/ui-dist/assets/{index-BzMyBmxt.js → index-CnnXkeW7.js} +1 -1
  89. package/dist/runtime/server/ui-dist/assets/{index-KhE_p8qv.js → index-Csek8Cyu.js} +1 -1
  90. package/dist/runtime/server/ui-dist/assets/{index-mMQEcPHs.js → index-CvrUXd8H.js} +1 -1
  91. package/dist/runtime/server/ui-dist/assets/{index-nPSc8Rbx.js → index-D-MCAYSs.js} +1 -1
  92. package/dist/runtime/server/ui-dist/assets/index-D0bgaO1N.js +1 -0
  93. package/dist/runtime/server/ui-dist/assets/index-D3dvWR7o.js +1 -0
  94. package/dist/runtime/server/ui-dist/assets/index-DKhRDjWZ.js +13 -0
  95. package/dist/runtime/server/ui-dist/assets/index-DWrCKJWt.css +1 -0
  96. package/dist/runtime/server/ui-dist/assets/index-DcPWTDzc.js +1 -0
  97. package/dist/runtime/server/ui-dist/assets/index-DgCAac5-.js +1 -0
  98. package/dist/runtime/server/ui-dist/assets/index-DivgBhQD.js +6 -0
  99. package/dist/runtime/server/ui-dist/assets/index-DqxEr_Vx.js +1 -0
  100. package/dist/runtime/server/ui-dist/assets/index-Dw6BKzoR.js +7 -0
  101. package/dist/runtime/server/ui-dist/assets/index-G-p3Qicx.js +1 -0
  102. package/dist/runtime/server/ui-dist/assets/index-Hj76Symk.js +1 -0
  103. package/dist/runtime/server/ui-dist/assets/index-IBxMhLi5.js +1 -0
  104. package/dist/runtime/server/ui-dist/assets/index-JNUAKAz7.js +2 -0
  105. package/dist/runtime/server/ui-dist/assets/index-f-3m6hoA.js +1 -0
  106. package/dist/runtime/server/ui-dist/assets/index-nw-N5ndS.js +1 -0
  107. package/dist/runtime/server/ui-dist/assets/index-pnFOOZaA.js +1 -0
  108. package/dist/runtime/server/ui-dist/assets/index-sqctevS8.js +1 -0
  109. package/dist/runtime/server/ui-dist/assets/index-wUECOpFa.js +1 -0
  110. package/dist/runtime/server/ui-dist/assets/{infoDiagram-HS3SLOUP-Du9idGhC.js → infoDiagram-HS3SLOUP-Bmh0XPTA.js} +1 -1
  111. package/dist/runtime/server/ui-dist/assets/infoDiagram-HS3SLOUP-OrIMfcTI.js +2 -0
  112. package/dist/runtime/server/ui-dist/assets/{journeyDiagram-XKPGCS4Q-DQHmnv0N.js → journeyDiagram-XKPGCS4Q-BIZPmhJX.js} +1 -1
  113. package/dist/runtime/server/ui-dist/assets/journeyDiagram-XKPGCS4Q-Bjy7_Ftw.js +139 -0
  114. package/dist/runtime/server/ui-dist/assets/{kanban-definition-3W4ZIXB7-D1us-ZVV.js → kanban-definition-3W4ZIXB7-CWvvFuzh.js} +1 -1
  115. package/dist/runtime/server/ui-dist/assets/kanban-definition-3W4ZIXB7-DKxlyJV6.js +89 -0
  116. package/dist/runtime/server/ui-dist/assets/{layout-CLyzF__I.js → layout-CKe7FFtd.js} +1 -1
  117. package/dist/runtime/server/ui-dist/assets/layout-LzBPsYuQ.js +1 -0
  118. package/dist/runtime/server/ui-dist/assets/{linear-DCEHrHNY.js → linear-B43ve9zv.js} +1 -1
  119. package/dist/runtime/server/ui-dist/assets/linear-l0QAUUbU.js +1 -0
  120. package/dist/runtime/server/ui-dist/assets/{mermaid.core-DPCeJESB.js → mermaid.core-B1Kc9vil.js} +4 -4
  121. package/dist/runtime/server/ui-dist/assets/mermaid.core-miwScivZ.js +256 -0
  122. package/dist/runtime/server/ui-dist/assets/{mindmap-definition-VGOIOE7T-BmEem54z.js → mindmap-definition-VGOIOE7T-CP7BTJ8W.js} +1 -1
  123. package/dist/runtime/server/ui-dist/assets/mindmap-definition-VGOIOE7T-CR_z-QXj.js +68 -0
  124. package/dist/runtime/server/ui-dist/assets/{pieDiagram-ADFJNKIX-DjIZtNwx.js → pieDiagram-ADFJNKIX-CzFVi7LX.js} +1 -1
  125. package/dist/runtime/server/ui-dist/assets/pieDiagram-ADFJNKIX-DutjHoKB.js +30 -0
  126. package/dist/runtime/server/ui-dist/assets/{quadrantDiagram-AYHSOK5B-ba-xD4cb.js → quadrantDiagram-AYHSOK5B-B01vhN11.js} +1 -1
  127. package/dist/runtime/server/ui-dist/assets/quadrantDiagram-AYHSOK5B-DtsydQw_.js +7 -0
  128. package/dist/runtime/server/ui-dist/assets/{requirementDiagram-UZGBJVZJ-CB358t-a.js → requirementDiagram-UZGBJVZJ-CqpSkmHO.js} +1 -1
  129. package/dist/runtime/server/ui-dist/assets/requirementDiagram-UZGBJVZJ-CzoU-_5n.js +64 -0
  130. package/dist/runtime/server/ui-dist/assets/{sankeyDiagram-TZEHDZUN-B0oPaNiW.js → sankeyDiagram-TZEHDZUN-Ch2uV89A.js} +1 -1
  131. package/dist/runtime/server/ui-dist/assets/sankeyDiagram-TZEHDZUN-wv7zUmh6.js +10 -0
  132. package/dist/runtime/server/ui-dist/assets/{sequenceDiagram-WL72ISMW-D7n_ZO5c.js → sequenceDiagram-WL72ISMW-Pwm4LgC9.js} +1 -1
  133. package/dist/runtime/server/ui-dist/assets/sequenceDiagram-WL72ISMW-jLVomywO.js +145 -0
  134. package/dist/runtime/server/ui-dist/assets/{stateDiagram-FKZM4ZOC-MkMtXK-v.js → stateDiagram-FKZM4ZOC-BoAqb30q.js} +1 -1
  135. package/dist/runtime/server/ui-dist/assets/stateDiagram-FKZM4ZOC-DPIxY1yH.js +1 -0
  136. package/dist/runtime/server/ui-dist/assets/stateDiagram-v2-4FDKWEC3-Bk8ue2ZX.js +1 -0
  137. package/dist/runtime/server/ui-dist/assets/stateDiagram-v2-4FDKWEC3-DdHEax3l.js +1 -0
  138. package/dist/runtime/server/ui-dist/assets/{timeline-definition-IT6M3QCI-CjBjKaYS.js → timeline-definition-IT6M3QCI-B55SNKUD.js} +1 -1
  139. package/dist/runtime/server/ui-dist/assets/timeline-definition-IT6M3QCI-SZgQDExY.js +61 -0
  140. package/dist/runtime/server/ui-dist/assets/{treemap-GDKQZRPO-JNjc1ydw.js → treemap-GDKQZRPO-C7_s0oRG.js} +1 -1
  141. package/dist/runtime/server/ui-dist/assets/treemap-GDKQZRPO-Cfu1eBkO.js +162 -0
  142. package/dist/runtime/server/ui-dist/assets/{xychartDiagram-PRI3JC2R-DU-mF_06.js → xychartDiagram-PRI3JC2R-CV9C3rPp.js} +1 -1
  143. package/dist/runtime/server/ui-dist/assets/xychartDiagram-PRI3JC2R-iEMh7uFR.js +7 -0
  144. package/dist/runtime/server/ui-dist/index.html +2 -2
  145. package/package.json +1 -1
  146. package/dist/runtime/server/ui-dist/assets/OnboardingWizard-DQqBk_u-.js +0 -839
  147. package/dist/runtime/server/ui-dist/assets/channel-BBXTGjGr.js +0 -1
  148. package/dist/runtime/server/ui-dist/assets/classDiagram-2ON5EDUG-BNttVhse.js +0 -1
  149. package/dist/runtime/server/ui-dist/assets/classDiagram-v2-WZHVMYZB-BNttVhse.js +0 -1
  150. package/dist/runtime/server/ui-dist/assets/clone-dcpmW7Wd.js +0 -1
  151. package/dist/runtime/server/ui-dist/assets/dx-root-DH9to-bY.js +0 -280
  152. package/dist/runtime/server/ui-dist/assets/gtm-root-Bz1qVp9E.js +0 -11
  153. package/dist/runtime/server/ui-dist/assets/index-CmOpk52T.css +0 -1
  154. package/dist/runtime/server/ui-dist/assets/stateDiagram-v2-4FDKWEC3-Cah7upY-.js +0 -1
@@ -1,11 +0,0 @@
1
- import{j as e,t as pe,s as Ze,r as m,R as Ns}from"./index-BqPQYsKl.js";import{K as Je,R as ws,M as c,O as oe,Q as ks,S as Cs,U as Ss,V as Ee,W as Z,X as Ae,Y as es,Z as Le,_ as Ue,$ as h,a0 as Qe,a1 as qs,a2 as Ts,a3 as Ps,a4 as Is,a5 as ss,a6 as ts,a7 as ns,a8 as As,a9 as Gs,aa as as,ab as rs,ac as Fs,ad as Ms,ae as X,af as is,ag as Qs,ah as os,ai as Ks,aj as f,ak as Te,al as je,am as q,an as p,ao as U,ap as ee,aq as Y,ar as se,as as te,at as Rs,au as Es,av as D,aw as ls,ax as Ne,ay as we,az as ke,aA as Ce,aB as Se,aC as z,aD as qe,aE as Ve,aF as Ls,aG as cs,aH as ue,aI as Ke,aJ as Us,aK as Ie,aL as le,aM as Re,aN as De,aO as Ds,aP as Xe,aQ as Os,aR as Ws,aS as $s,aT as Bs,aU as _s,aV as ds,aW as us,aX as zs,aY as Oe,aZ as Hs,a_ as Vs,a$ as Xs,b0 as Ys,b1 as Zs,b2 as Js,b3 as et,b4 as st,b5 as tt,b6 as nt,b7 as at,b8 as rt,b9 as it,ba as ot,bb as lt,bc as ct,bd as dt}from"./OnboardingWizard-DQqBk_u-.js";/**
2
- * @license lucide-react v0.574.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const ut=[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]],mt=Je("refresh-ccw",ut);/**
7
- * @license lucide-react v0.574.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */const xt=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],ms=Je("workflow",xt),L=Ze.slice(1),gt=new RegExp(`^${Ze}(?=/|$)`),T={agents:s=>["gtm","agents",s],tickets:s=>["gtm","tickets",s],issues:s=>["gtm","issues",s],inbox:s=>["gtm","inbox",s]},ht=[{value:"claude_local",label:"Claude Code"},{value:"codex_local",label:"Codex"},{value:"gemini_local",label:"Gemini CLI"},{value:"opencode_local",label:"OpenCode"},{value:"cursor",label:"Cursor"},{value:"pi_local",label:"Pi"},{value:"openclaw_gateway",label:"OpenClaw Gateway"}],pt=["critical","high","medium","low"],jt=["planning","execution","qa","human"];function xs(s){return s&&typeof s=="object"&&!Array.isArray(s)?s:null}function ve(s){return typeof s=="string"&&s.trim().length>0?s.trim():null}function Ye(s){const t=xs(s.contextSnapshot);return t?ve(t.issueId)??ve(t.taskId):null}function ft(s){const t={},i=xs(s.contextSnapshot);if(!i)return t;const a=ve(i.issueId),u=ve(i.taskId),y=ve(i.taskKey);return a&&(t.issueId=a),u&&(t.taskId=u),y&&(t.taskKey=y),t}function yt({hasActiveInvite:s=!1}){return e.jsx("div",{className:"mx-auto max-w-xl py-10",children:e.jsxs("div",{className:"rounded-lg border border-border bg-card p-6",children:[e.jsx("h1",{className:"text-xl font-semibold",children:"Instance setup required"}),e.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:s?"No instance admin exists yet. A bootstrap invite is already active. Check your local startup logs for the first admin invite URL, or run this command to rotate it:":"No instance admin exists yet. Run this command in your local environment to generate the first admin invite URL:"}),e.jsx("pre",{className:"mt-4 overflow-x-auto rounded-md border border-border bg-muted/30 p-3 text-xs",children:"pnpm growthub auth bootstrap-ceo"})]})})}function bt(){var u,y;const s=Ae(),t=f({queryKey:ue.health,queryFn:()=>zs.get(),retry:!1,refetchInterval:j=>{const b=j.state.data;return(b==null?void 0:b.deploymentMode)==="authenticated"&&b.bootstrapStatus==="bootstrap_pending"?2e3:!1},refetchIntervalInBackground:!0}),i=((u=t.data)==null?void 0:u.deploymentMode)==="authenticated",a=f({queryKey:ue.auth.session,queryFn:()=>Oe.getSession(),enabled:i,retry:!1});if(t.isLoading||i&&a.isLoading)return e.jsx("div",{className:"mx-auto max-w-xl py-10 text-sm text-muted-foreground",children:"Loading..."});if(t.error)return e.jsx("div",{className:"mx-auto max-w-xl py-10 text-sm text-destructive",children:t.error instanceof Error?t.error.message:"Failed to load app state"});if(i&&((y=t.data)==null?void 0:y.bootstrapStatus)==="bootstrap_pending")return e.jsx(yt,{hasActiveInvite:t.data.bootstrapInviteActive});if(i&&!a.data){const j=encodeURIComponent(`${s.pathname}${s.search}`);return e.jsx(oe,{to:`/auth?next=${j}`,replace:!0})}return e.jsx(os,{})}function gs(s){if(!s)return"Not available";const t=s instanceof Date?s:new Date(s);return Number.isNaN(t.getTime())?"Not available":t.toLocaleString()}function fe(s,t){const i=t.startsWith("/")?t:`/${t}`;return pe(`${s??""}${i}`)}function vt(){const{companies:s,selectedCompany:t,loading:i}=Z(),a=Ae();if(i)return e.jsx("div",{className:"mx-auto max-w-xl py-10 text-sm text-muted-foreground",children:"Loading..."});const u=t??s[0]??null;return u?e.jsx(oe,{to:pe(`${u.issuePrefix}/workspace`),replace:!0}):es({pathname:a.pathname,hasCompanies:!1})?e.jsx(oe,{to:pe("onboarding"),replace:!0}):e.jsx(hs,{})}function _(){const s=Ae(),{companies:t,selectedCompany:i,loading:a}=Z();if(a)return e.jsx("div",{className:"mx-auto max-w-xl py-10 text-sm text-muted-foreground",children:"Loading..."});const u=i??t[0]??null;return u?e.jsx(oe,{to:pe(`${u.issuePrefix}${s.pathname.replace(gt,"")}${s.search}${s.hash}`),replace:!0}):es({pathname:s.pathname,hasCompanies:!1})?e.jsx(oe,{to:pe("onboarding"),replace:!0}):e.jsx(hs,{})}function hs(){const{openOnboarding:s}=Le();return e.jsx("div",{className:"mx-auto max-w-xl py-10",children:e.jsxs("div",{className:"rounded-lg border border-border bg-card p-6",children:[e.jsx("h1",{className:"text-xl font-semibold",children:"Create your first company"}),e.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:"Get started by creating a company."}),e.jsx("div",{className:"mt-4",children:e.jsx(h,{onClick:()=>s(),children:"New Company"})})]})})}function ps(){const{companies:s}=Z(),{openOnboarding:t}=Le(),{companyPrefix:i}=Ue(),a=i?s.find(j=>j.issuePrefix.toUpperCase()===i.toUpperCase())??null:null,u=a?`Add another agent to ${a.name}`:s.length>0?"Create another company":"Create your first company",y=a?"Run onboarding again to add an agent and a starter task for this company.":s.length>0?"Run onboarding again to create another company and seed its first agent.":"Get started by creating a company and your first agent.";return e.jsx("div",{className:"mx-auto max-w-xl py-10",children:e.jsxs("div",{className:"rounded-lg border border-border bg-card p-6",children:[e.jsx("h1",{className:"text-xl font-semibold",children:u}),e.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:y}),e.jsx("div",{className:"mt-4",children:e.jsx(h,{onClick:()=>a?t({initialStep:2,companyId:a.id}):t(),children:a?"Add Agent":"Start Onboarding"})})]})})}function Nt(s){const t=f({queryKey:["gtm","profile"],queryFn:()=>p.getProfile()}),i=f({queryKey:["gtm","knowledge"],queryFn:()=>p.getKnowledge()}),a=f({queryKey:["gtm","connectors"],queryFn:()=>p.getConnectors()}),u=f({queryKey:["gtm","connection"],queryFn:()=>p.getConnection()}),y=f({queryKey:["gtm","workflow"],queryFn:()=>p.getWorkflow()}),j=f({queryKey:s?T.agents(s):["gtm","agents","none"],queryFn:()=>p.listAgents(s),enabled:!!s}),b=f({queryKey:s?T.tickets(s):["gtm","tickets","none"],queryFn:()=>p.listTickets(s),enabled:!!s}),N=f({queryKey:s?T.issues(s):["gtm","issues","none"],queryFn:()=>p.listIssues(s),enabled:!!s});return{profileQuery:t,knowledgeQuery:i,connectorsQuery:a,connectionQuery:u,workflowQuery:y,agentsQuery:j,ticketsQuery:b,issuesQuery:N}}function wt(){var _e,ze;const{selectedCompanyId:s,selectedCompany:t}=Z(),{pushToast:i}=Te(),a=je(),[u,y]=m.useState(!1),[j,b]=m.useState(!1),[N,w]=m.useState(""),[I,S]=m.useState(""),[Q,v]=m.useState("claude"),[A,G]=m.useState(""),[k,x]=m.useState("claude-sonnet-4-6"),[F,R]=m.useState(!0),[n,C]=m.useState(""),{profileQuery:M,knowledgeQuery:$,connectorsQuery:l,connectionQuery:g,workflowQuery:J,agentsQuery:ne,ticketsQuery:H,issuesQuery:ae}=Nt(s),re=f({queryKey:s?["gtm","workspace-config",s]:["gtm","workspace-config","none"],queryFn:()=>p.getWorkspaceConfig(s),enabled:!!s}),K=f({queryKey:s?["gtm","runs",s]:["gtm","runs","none"],queryFn:()=>De.list(s,void 0,8),enabled:!!s}),O=f({queryKey:ue.auth.session,queryFn:()=>Oe.getSession(),retry:!1}),E=q({mutationFn:()=>p.upsertWorkspaceClaudeBrowser(s,{name:N,title:I,adapterConfig:{command:Q,cwd:A,model:k,chrome:F}}),onSuccess:async()=>{y(!1),await Promise.all([a.invalidateQueries({queryKey:["gtm","workspace-config",s]}),a.invalidateQueries({queryKey:T.agents(s)})]),i({title:"Workspace configured",body:"Claude browser agent is configured for this workspace.",tone:"success"})},onError:o=>{i({title:"Workspace setup failed",body:o instanceof Error?o.message:"Failed to configure workspace agent",tone:"error"})}}),r=q({mutationFn:()=>p.launchWorkflow(),onSuccess:async()=>{await a.invalidateQueries({queryKey:["gtm","workflow"]}),i({title:"Workflow started",body:"Local SDR execution launched.",tone:"success"})},onError:o=>{i({title:"Workflow failed",body:o instanceof Error?o.message:"Failed to launch workflow",tone:"error"})}}),V=q({mutationFn:async()=>await p.saveConnectionConfig({baseUrl:n.trim()}),onSuccess:async()=>{await Promise.all([a.invalidateQueries({queryKey:["gtm","connection"]}),a.invalidateQueries({queryKey:["gtm","connectors"]})])},onError:o=>{i({title:"Configuration failed",body:o instanceof Error?o.message:"Failed to save Growthub configuration",tone:"error"})}}),ce=q({mutationFn:()=>p.testConnection(),onSuccess:async o=>{await Promise.all([a.invalidateQueries({queryKey:["gtm","connection"]}),a.invalidateQueries({queryKey:["gtm","connectors"]})]),i({title:"Growthub pulse succeeded",body:o.message,tone:"success"})},onError:o=>{i({title:"Growthub pulse failed",body:o instanceof Error?o.message:"Failed to verify the Growthub local route handler",tone:"error"})}}),ye=q({mutationFn:()=>p.disconnectConnection(),onSuccess:async()=>{await Promise.all([a.invalidateQueries({queryKey:["gtm","connection"]}),a.invalidateQueries({queryKey:["gtm","connectors"]})]),i({title:"Growthub disconnected",body:"Local connection state was cleared for this installer.",tone:"success"})},onError:o=>{i({title:"Disconnect failed",body:o instanceof Error?o.message:"Failed to disconnect Growthub locally",tone:"error"})}});m.useEffect(()=>{var o;(o=g.data)!=null&&o.baseUrl&&C(g.data.baseUrl)},[(_e=g.data)==null?void 0:_e.baseUrl]);const d=(o,xe)=>{var He;if(!ds(O.data??null)){i({title:"Sign in required",body:"Sign in locally before opening the hosted Growthub configuration flow.",tone:"error"});return}window.open(us({baseUrl:o,callbackUrl:xe,workspaceLabel:(t==null?void 0:t.name)??((He=M.data)==null?void 0:He.workspace)??"GTM Workspace"}),"_blank","noopener,noreferrer")};if(!s)return e.jsx("div",{className:"rounded-lg border border-border bg-card p-6 text-sm text-muted-foreground",children:"Select or create a company to open the GTM workspace."});const B=[M,$,l,g,J,ne,H,ae,re,K].some(o=>o.isLoading),ie=[M.error,$.error,l.error,g.error,J.error,ne.error,H.error,ae.error,re.error,K.error].find(Boolean);if(B)return e.jsx("div",{className:"py-8 text-sm text-muted-foreground",children:"Loading GTM workspace…"});if(ie)return e.jsx("div",{className:"rounded-lg border border-destructive/30 bg-card p-6 text-sm text-destructive",children:ie instanceof Error?ie.message:"Failed to load GTM workspace"});const Ge=M.data,We=$.data;l.data;const W=g.data,Fe=J.data,js=ne.data??[],fs=H.data??[],ys=ae.data??[],de=re.data,$e=K.data??[],P=de.existingAgent,me=de.environmentTest,Me=o=>fe(t==null?void 0:t.issuePrefix,o),Be=()=>{const o=P??de.defaults,xe=(P==null?void 0:P.adapterConfig)??de.defaults.adapterConfig;w(o.name??"SDR Browser Agent"),S(((P==null?void 0:P.title)??de.defaults.title)||""),v(String(xe.command??"claude")),G(String(xe.cwd??"")),x(String(xe.model??"claude-sonnet-4-6")),R(!!(xe.chrome??!0)),y(!0)},bs=()=>{var o;if((o=W.baseUrl)!=null&&o.trim()){d(W.baseUrl,W.callbackUrl);return}C(W.baseUrl),b(!0)},vs=async()=>{const o=await V.mutateAsync();d(o.baseUrl,o.callbackUrl)};return e.jsxs("div",{className:"space-y-6",children:[e.jsx(U,{children:e.jsxs(ee,{className:"gap-4 lg:flex-row lg:items-start lg:justify-between",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(Y,{variant:"secondary",children:"GTM Workspace"}),e.jsx(Y,{variant:"outline",children:Fe.status}),e.jsx(Y,{variant:P?"secondary":"outline",children:P?"Agent ready":"Needs setup"})]}),e.jsxs("div",{children:[e.jsx(se,{children:(t==null?void 0:t.name)??Ge.workspace}),e.jsx(te,{children:"Build campaigns, queue work, configure the local Claude browser agent, and launch GTM workflows without exposing board planning surfaces."})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs(h,{onClick:Be,children:[e.jsx(Rs,{className:"mr-2 h-4 w-4"}),P?"Update agent setup":"Configure browser agent"]}),e.jsx(h,{asChild:!0,variant:"outline",children:e.jsx(X,{to:Me("/agents/all"),children:"Open agents"})}),e.jsx(h,{asChild:!0,variant:"outline",children:e.jsx(X,{to:Me("/tickets"),children:"Open campaigns"})}),e.jsxs(h,{onClick:()=>r.mutate(),disabled:r.isPending,children:[e.jsx(Es,{className:"mr-2 h-4 w-4"}),Fe.actionLabel]})]})]})}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:[e.jsx(Pe,{title:"Agents",value:String(js.length),detail:"GTM-configured agents",icon:ns}),e.jsx(Pe,{title:"Campaigns",value:String(fs.length),detail:"Workflow tickets",icon:ts}),e.jsx(Pe,{title:"Queue",value:String(ys.length),detail:"Active GTM issues",icon:ms}),e.jsx(Pe,{title:"Knowledge",value:String(We.items.length),detail:We.group.label,icon:ss})]}),e.jsxs("div",{className:"grid gap-4 xl:grid-cols-3",children:[e.jsxs(U,{children:[e.jsxs(ee,{children:[e.jsx(se,{children:"Workspace Agent Setup"}),e.jsx(te,{children:"Default done-for-you Claude browser agent binding for this workspace."})]}),e.jsxs(D,{className:"space-y-3 text-sm",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Agent"}),e.jsx("p",{className:"mt-1",children:(P==null?void 0:P.name)??"Not configured"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Binding Status"}),e.jsx("p",{className:"mt-1",children:me?me.status:"Not tested"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Claude Command"}),e.jsx("p",{className:"mt-1 break-all",children:String(((P==null?void 0:P.adapterConfig)??de.defaults.adapterConfig).command??"claude")})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Working Directory"}),e.jsx("p",{className:"mt-1 break-all",children:String(((P==null?void 0:P.adapterConfig)??de.defaults.adapterConfig).cwd??"Not configured")})]}),(ze=me==null?void 0:me.checks)!=null&&ze.length?e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Latest Binding Check"}),me.checks.slice(0,3).map(o=>e.jsxs("div",{className:"rounded-md border border-border p-3",children:[e.jsx("p",{className:"font-medium",children:o.message}),o.hint?e.jsx("p",{className:"mt-1 text-muted-foreground",children:o.hint}):null]},o.code))]}):null,e.jsxs("div",{className:"flex gap-2 pt-1",children:[e.jsx(h,{size:"sm",variant:"outline",onClick:Be,children:"Configure"}),P?e.jsx(h,{size:"sm",asChild:!0,variant:"outline",children:e.jsx(X,{to:Me(`/agents/${P.id}`),children:"Open detail"})}):null]})]})]}),e.jsx(ls,{description:"Connect this local installer to the hosted Growthub workspace.",connected:W.connected,baseUrl:W.baseUrl,callbackUrl:W.callbackUrl,portalBaseUrl:W.portalBaseUrl,machineLabel:W.machineLabel,workspaceLabel:W.workspaceLabel,onOpenConfiguration:bs,onRefresh:()=>{g.refetch(),l.refetch()},onPulseConnection:W.connected?()=>ce.mutate():void 0,onDisconnect:W.connected?()=>ye.mutate():void 0,pulsePending:ce.isPending,disconnectPending:ye.isPending}),e.jsxs(U,{children:[e.jsxs(ee,{children:[e.jsx(se,{children:"Runtime"}),e.jsx(te,{children:"Workflow, connections, and recent runs."})]}),e.jsxs(D,{className:"space-y-3 text-sm",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Account"}),e.jsx("p",{className:"mt-1",children:Ge.account})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"App Connection"}),e.jsx("p",{className:"mt-1 break-all",children:Ge.appConnection})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Runner"}),e.jsx("p",{className:"mt-1 break-all",children:Fe.runner})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Recent Runs"}),$e.length===0?e.jsx("p",{className:"mt-1 text-muted-foreground",children:"No runs yet."}):e.jsx("div",{className:"mt-1 space-y-2",children:$e.slice(0,4).map(o=>e.jsxs("div",{className:"rounded-md border border-border p-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("p",{className:"font-medium",children:o.status}),e.jsx("span",{className:"text-xs text-muted-foreground",children:gs(o.createdAt)})]}),e.jsx("p",{className:"mt-1 text-muted-foreground",children:o.triggerDetail??o.invocationSource})]},o.id))})]})]})]})]}),e.jsx(Ne,{open:u,onOpenChange:y,children:e.jsxs(we,{children:[e.jsxs(ke,{children:[e.jsx(Ce,{children:"Workspace browser agent"}),e.jsx(Se,{children:"Bind the workspace to the local Claude app and make the default SDR browser agent runnable out of the box."})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Agent name"}),e.jsx(z,{value:N,onChange:o=>w(o.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Title"}),e.jsx(z,{value:I,onChange:o=>S(o.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Claude command"}),e.jsx(z,{value:Q,onChange:o=>v(o.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Working directory"}),e.jsx(z,{value:A,onChange:o=>G(o.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Model"}),e.jsx(z,{value:k,onChange:o=>x(o.target.value)})]}),e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:F,onChange:o=>R(o.target.checked)}),"Enable Claude browser mode"]})]}),e.jsxs(qe,{children:[e.jsx(h,{variant:"outline",onClick:()=>y(!1),children:"Cancel"}),e.jsxs(h,{onClick:()=>E.mutate(),disabled:!N.trim()||!Q.trim()||!A.trim()||E.isPending,children:[E.isPending?e.jsx(Ve,{className:"mr-2 h-4 w-4 animate-spin"}):e.jsx(Ls,{className:"mr-2 h-4 w-4"}),"Save and test"]})]})]})}),e.jsx(Ne,{open:j,onOpenChange:b,children:e.jsxs(we,{children:[e.jsxs(ke,{children:[e.jsx(Ce,{children:"Growthub Configuration"}),e.jsx(Se,{children:"Set the hosted Growthub URL for this installer, then open the auth flow."})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Growthub base URL"}),e.jsx(z,{value:n,onChange:o=>C(o.target.value)})]}),e.jsxs("div",{className:"rounded-md border border-border p-3 text-sm text-muted-foreground",children:["Callback: ",W.callbackUrl]})]}),e.jsxs(qe,{children:[e.jsx(h,{variant:"outline",onClick:()=>b(!1),children:"Cancel"}),e.jsxs(h,{onClick:()=>void vs(),disabled:!n.trim()||V.isPending,children:[V.isPending?e.jsx(Ve,{className:"mr-2 h-4 w-4 animate-spin"}):e.jsx(cs,{className:"mr-2 h-4 w-4"}),"Open Configuration"]})]})]})})]})}function Pe({title:s,value:t,detail:i,icon:a}){return e.jsx(U,{children:e.jsxs(D,{className:"flex items-start justify-between gap-4 pt-6",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:s}),e.jsx("p",{className:"mt-2 text-2xl font-semibold",children:t}),e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:i})]}),e.jsx("div",{className:"rounded-lg bg-muted p-2 text-muted-foreground",children:e.jsx(a,{className:"h-4 w-4"})})]})})}function be(){const{selectedCompanyId:s,selectedCompany:t}=Z(),{agentId:i}=Ue(),{pushToast:a}=Te(),u=je(),[y,j]=m.useState(!1),[b,N]=m.useState(""),[w,I]=m.useState(""),[S,Q]=m.useState("codex_local"),v=f({queryKey:s?T.agents(s):["gtm","agents","none"],queryFn:()=>p.listAgents(s),enabled:!!s}),A=q({mutationFn:()=>p.createAgent(s,{name:b,title:w,role:"general",adapterType:S}),onSuccess:async()=>{j(!1),N(""),I(""),Q("codex_local"),await u.invalidateQueries({queryKey:T.agents(s)}),a({title:"Agent created",body:"The GTM agent is ready for assignment.",tone:"success"})},onError:r=>{a({title:"Agent creation failed",body:r instanceof Error?r.message:"Failed to create agent",tone:"error"})}}),G=q({mutationFn:async({action:r,agentId:V})=>{if(!s)throw new Error("No company selected");return r==="invoke"?p.invokeAgent(V,s):r==="pause"?p.pauseAgent(V,s):p.resumeAgent(V,s)},onSuccess:async()=>{await u.invalidateQueries({queryKey:T.agents(s)})},onError:r=>{a({title:"Agent action failed",body:r instanceof Error?r.message:"Failed to control agent",tone:"error"})}});if(!s)return e.jsx("div",{className:"rounded-lg border border-border bg-card p-6 text-sm text-muted-foreground",children:"Select a company to manage GTM agents."});if(v.isLoading)return e.jsx("div",{className:"py-8 text-sm text-muted-foreground",children:"Loading agents…"});if(v.error)return e.jsx("div",{className:"rounded-lg border border-destructive/30 bg-card p-6 text-sm text-destructive",children:v.error instanceof Error?v.error.message:"Failed to load agents"});const k=v.data??[],x=k.some(r=>r.id===i)?i??null:null,F=r=>fe(t==null?void 0:t.issuePrefix,r),R=f({queryKey:x?["gtm","agent-detail",x]:["gtm","agent-detail","none"],queryFn:()=>le.get(x,s),enabled:!!s&&!!x});f({queryKey:x?["gtm","agent-runtime",x]:["gtm","agent-runtime","none"],queryFn:()=>le.runtimeState(x,s),enabled:!!s&&!!x}),f({queryKey:x?["gtm","agent-sessions",x]:["gtm","agent-sessions","none"],queryFn:()=>le.taskSessions(x,s),enabled:!!s&&!!x}),f({queryKey:x?["gtm","agent-runs",x]:["gtm","agent-runs","none"],queryFn:()=>De.list(s,x,8),enabled:!!s&&!!x});const[n,C]=m.useState(""),[M,$]=m.useState(""),[l,g]=m.useState(""),[J,ne]=m.useState(""),[H,ae]=m.useState(""),[re,K]=m.useState(!1);q({mutationFn:()=>{var r;return le.update(x,{name:n,title:M,adapterConfig:{...((r=R.data)==null?void 0:r.adapterConfig)??{},command:l,cwd:J,model:H,chrome:re}},s)},onSuccess:async()=>{await Promise.all([u.invalidateQueries({queryKey:T.agents(s)}),u.invalidateQueries({queryKey:["gtm","agent-detail",x]})]),a({title:"Agent updated",body:"Agent configuration saved.",tone:"success"})},onError:r=>{a({title:"Agent update failed",body:r instanceof Error?r.message:"Failed to update agent",tone:"error"})}}),q({mutationFn:()=>{var r;return le.testEnvironment(s,"claude_local",{adapterConfig:{...((r=R.data)==null?void 0:r.adapterConfig)??{},command:l,cwd:J,model:H,chrome:re}})},onSuccess:r=>{var ce;const V=((ce=r.checks[0])==null?void 0:ce.message)??"Adapter test complete";a({title:`Binding ${r.status}`,body:V,tone:r.status==="fail"?"error":r.status==="warn"?"warn":"success"})},onError:r=>{a({title:"Binding test failed",body:r instanceof Error?r.message:"Failed to test binding",tone:"error"})}}),q({mutationFn:()=>le.loginWithClaude(x,s),onSuccess:r=>{a({title:"Claude login probe complete",body:r.loginUrl??r.stderr??r.stdout??"Claude login checked.",tone:r.loginUrl?"warn":"success"})},onError:r=>{a({title:"Claude login failed",body:r instanceof Error?r.message:"Failed to run Claude login",tone:"error"})}}),q({mutationFn:()=>le.resetSession(x,null,s),onSuccess:async()=>{await u.invalidateQueries({queryKey:["gtm","agent-sessions",x]}),a({title:"Session reset",body:"Agent task session reset.",tone:"success"})}});const O=R.data,E=(O==null?void 0:O.adapterConfig)??{};return m.useEffect(()=>{O&&(C(O.name),$(O.title??""),g(String(E.command??"claude")),ne(String(E.cwd??"")),ae(String(E.model??"claude-sonnet-4-6")),K(!!(E.chrome??!1)))},[O,E.command,E.cwd,E.model,E.chrome]),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-lg font-semibold",children:"Agents"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"GTM-only agent inventory and controls."})]}),e.jsx(h,{onClick:()=>j(!0),children:"New Agent"})]}),e.jsx(U,{children:e.jsx(D,{className:"p-0",children:k.length===0?e.jsx("div",{className:"p-6 text-sm text-muted-foreground",children:"No GTM agents configured yet."}):e.jsx("div",{className:"divide-y divide-border",children:k.map(r=>e.jsxs("div",{className:"flex flex-col gap-3 px-6 py-4 lg:flex-row lg:items-center lg:justify-between",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx(X,{to:F(`/agents/${r.id}`),className:"truncate font-medium hover:underline",children:r.name}),e.jsx("p",{className:"truncate text-sm text-muted-foreground",children:r.title??r.role})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(Y,{variant:"outline",children:r.adapterType}),e.jsx(Y,{variant:"outline",children:r.status}),e.jsx(h,{size:"icon-sm",variant:"outline",asChild:!0,"aria-label":`Open settings for ${r.name}`,children:e.jsx(X,{to:F(`/agents/${r.id}`),children:e.jsx(as,{className:"h-4 w-4"})})}),e.jsx(h,{size:"sm",variant:"outline",onClick:()=>G.mutate({action:"invoke",agentId:r.id}),children:"Run"}),r.status==="paused"?e.jsx(h,{size:"sm",variant:"outline",onClick:()=>G.mutate({action:"resume",agentId:r.id}),children:"Resume"}):e.jsx(h,{size:"sm",variant:"outline",onClick:()=>G.mutate({action:"pause",agentId:r.id}),children:"Pause"})]})]},r.id))})})}),e.jsx(Ne,{open:y,onOpenChange:j,children:e.jsxs(we,{children:[e.jsxs(ke,{children:[e.jsx(Ce,{children:"Create GTM agent"}),e.jsx(Se,{children:"Hire a local or browser-facing GTM agent without entering the DX agent builder."})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Agent name"}),e.jsx(z,{value:b,onChange:r=>N(r.target.value),placeholder:"SDR Browser Agent"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Title"}),e.jsx(z,{value:w,onChange:r=>I(r.target.value),placeholder:"Outbound automation"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Adapter"}),e.jsx("select",{className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 text-sm",value:S,onChange:r=>Q(r.target.value),children:ht.map(r=>e.jsx("option",{value:r.value,children:r.label},r.value))})]})]}),e.jsxs(qe,{children:[e.jsx(h,{variant:"outline",onClick:()=>j(!1),children:"Cancel"}),e.jsx(h,{onClick:()=>A.mutate(),disabled:!b.trim()||A.isPending,children:"Create Agent"})]})]})})]})}function kt(){const{selectedCompanyId:s,selectedCompany:t}=Z(),{ticketId:i}=Ue(),{pushToast:a}=Te(),u=je(),[y,j]=m.useState(!1),[b,N]=m.useState(""),[w,I]=m.useState(""),[S,Q]=m.useState(""),v=f({queryKey:s?T.tickets(s):["gtm","tickets","none"],queryFn:()=>p.listTickets(s),enabled:!!s}),A=q({mutationFn:()=>p.createTicket(s,{title:b,description:w,instructions:S,stageOrder:[...jt]}),onSuccess:async()=>{j(!1),N(""),I(""),Q(""),await u.invalidateQueries({queryKey:T.tickets(s)}),await u.invalidateQueries({queryKey:T.inbox(s)}),a({title:"Campaign created",body:"The GTM campaign is ready for queue work.",tone:"success"})},onError:g=>{a({title:"Campaign creation failed",body:g instanceof Error?g.message:"Failed to create campaign",tone:"error"})}});if(!s)return e.jsx("div",{className:"rounded-lg border border-border bg-card p-6 text-sm text-muted-foreground",children:"Select a company to manage GTM campaigns."});if(v.isLoading)return e.jsx("div",{className:"py-8 text-sm text-muted-foreground",children:"Loading campaigns…"});if(v.error)return e.jsx("div",{className:"rounded-lg border border-destructive/30 bg-card p-6 text-sm text-destructive",children:v.error instanceof Error?v.error.message:"Failed to load campaigns"});const G=v.data??[],k=G.some(g=>g.id===i)?i??null:null,x=g=>fe(t==null?void 0:t.issuePrefix,g),F=f({queryKey:k?["gtm","ticket-detail",k]:["gtm","ticket-detail","none"],queryFn:()=>Re.get(s,k),enabled:!!s&&!!k}),[R,n]=m.useState(""),[C,M]=m.useState(""),[$,l]=m.useState("");return m.useEffect(()=>{const g=F.data;g&&(n(g.title),M(g.description??""),l(g.instructions??""))},[F.data]),q({mutationFn:()=>Re.update(s,k,{title:R,description:C}),onSuccess:async()=>{await Promise.all([u.invalidateQueries({queryKey:T.tickets(s)}),u.invalidateQueries({queryKey:["gtm","ticket-detail",k]})]),a({title:"Campaign updated",body:"Campaign controls saved.",tone:"success"})}}),q({mutationFn:()=>Re.advanceStage(s,k),onSuccess:async()=>{await Promise.all([u.invalidateQueries({queryKey:T.tickets(s)}),u.invalidateQueries({queryKey:["gtm","ticket-detail",k]})]),a({title:"Campaign advanced",body:"Moved campaign to the next stage.",tone:"success"})}}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-lg font-semibold",children:"Campaigns"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"GTM workflow tickets only."})]}),e.jsx(h,{onClick:()=>j(!0),children:"New Campaign"})]}),e.jsx(U,{children:e.jsx(D,{className:"p-0",children:G.length===0?e.jsx("div",{className:"p-6 text-sm text-muted-foreground",children:"No GTM campaigns yet."}):e.jsx("div",{className:"divide-y divide-border",children:G.map(g=>e.jsxs("div",{className:"flex items-center justify-between gap-4 px-6 py-4",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx(X,{to:x(`/tickets/${g.id}`),className:"truncate font-medium hover:underline",children:g.title}),e.jsx("p",{className:"truncate text-sm text-muted-foreground",children:g.identifier})]}),e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx(Y,{variant:"outline",children:g.currentStage}),e.jsx(Y,{variant:"outline",children:g.status})]})]},g.id))})})}),e.jsx(Ne,{open:y,onOpenChange:j,children:e.jsxs(we,{children:[e.jsxs(ke,{children:[e.jsx(Ce,{children:"Create campaign"}),e.jsx(Se,{children:"Create a GTM workflow ticket without repo, PR, or board planning bindings."})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Campaign title"}),e.jsx(z,{value:b,onChange:g=>N(g.target.value),placeholder:"Launch outbound sequence for ICP A"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Description"}),e.jsx(Ie,{value:w,onChange:g=>I(g.target.value),placeholder:"Goal, audience, timing, constraints."})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Instructions"}),e.jsx(Ie,{value:S,onChange:g=>Q(g.target.value),placeholder:"Execution instructions for GTM agents."})]})]}),e.jsxs(qe,{children:[e.jsx(h,{variant:"outline",onClick:()=>j(!1),children:"Cancel"}),e.jsx(h,{onClick:()=>A.mutate(),disabled:!b.trim()||A.isPending,children:"Create Campaign"})]})]})})]})}function ge(){const{selectedCompanyId:s,selectedCompany:t}=Z(),{pushToast:i}=Te(),a=je(),[u,y]=m.useState(!1),[j,b]=m.useState(""),[N,w]=m.useState(""),[I,S]=m.useState("medium"),[Q,v]=m.useState(""),[A,G]=m.useState(""),k=f({queryKey:s?T.tickets(s):["gtm","tickets","none"],queryFn:()=>p.listTickets(s),enabled:!!s}),x=f({queryKey:s?T.agents(s):["gtm","agents","none"],queryFn:()=>p.listAgents(s),enabled:!!s}),F=f({queryKey:s?T.issues(s):["gtm","issues","none"],queryFn:()=>p.listIssues(s),enabled:!!s}),R=q({mutationFn:()=>p.createIssue(s,{title:j,description:N,priority:I,ticketId:Q,assigneeAgentId:A||null}),onSuccess:async()=>{y(!1),b(""),w(""),S("medium"),v(""),G(""),await a.invalidateQueries({queryKey:T.issues(s)}),await a.invalidateQueries({queryKey:T.inbox(s)}),i({title:"Issue created",body:"The GTM queue item is ready for execution.",tone:"success"})},onError:l=>{i({title:"Issue creation failed",body:l instanceof Error?l.message:"Failed to create issue",tone:"error"})}});if(!s)return e.jsx("div",{className:"rounded-lg border border-border bg-card p-6 text-sm text-muted-foreground",children:"Select a company to manage the GTM queue."});if(F.isLoading||k.isLoading||x.isLoading)return e.jsx("div",{className:"py-8 text-sm text-muted-foreground",children:"Loading queue…"});if(F.error||k.error||x.error){const l=F.error??k.error??x.error;return e.jsx("div",{className:"rounded-lg border border-destructive/30 bg-card p-6 text-sm text-destructive",children:l instanceof Error?l.message:"Failed to load queue"})}const n=F.data??[],C=k.data??[],M=x.data??[],$=l=>fe(t==null?void 0:t.issuePrefix,l);return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-lg font-semibold",children:"Queue"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Queue work scoped to GTM campaigns only."})]}),e.jsx(h,{onClick:()=>y(!0),disabled:C.length===0,children:"New Issue"})]}),e.jsx(U,{children:e.jsx(D,{className:"p-0",children:n.length===0?e.jsx("div",{className:"p-6 text-sm text-muted-foreground",children:C.length===0?"Create a campaign first, then add queue work.":"No GTM issues in queue."}):e.jsx("div",{className:"divide-y divide-border",children:n.map(l=>e.jsxs("div",{className:"flex items-center justify-between gap-4 px-6 py-4",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx(X,{to:$(`/issues/${l.id}`),className:"truncate font-medium hover:underline",children:l.title}),e.jsx("p",{className:"truncate text-sm text-muted-foreground",children:l.identifier??l.id})]}),e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx(Y,{variant:"outline",children:l.priority}),e.jsx(Y,{variant:"outline",children:l.status})]})]},l.id))})})}),e.jsx(Ne,{open:u,onOpenChange:y,children:e.jsxs(we,{children:[e.jsxs(ke,{children:[e.jsx(Ce,{children:"Create queue issue"}),e.jsx(Se,{children:"Assign GTM work to a campaign and optionally bind it to a GTM agent."})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Issue title"}),e.jsx(z,{value:j,onChange:l=>b(l.target.value),placeholder:"Draft 50 outbound messages"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Campaign"}),e.jsxs("select",{className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 text-sm",value:Q,onChange:l=>v(l.target.value),children:[e.jsx("option",{value:"",children:"Select campaign"}),C.map(l=>e.jsx("option",{value:l.id,children:l.title},l.id))]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Assign agent"}),e.jsxs("select",{className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 text-sm",value:A,onChange:l=>G(l.target.value),children:[e.jsx("option",{value:"",children:"Unassigned"}),M.map(l=>e.jsx("option",{value:l.id,children:l.name},l.id))]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Priority"}),e.jsx("select",{className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 text-sm",value:I,onChange:l=>S(l.target.value),children:pt.map(l=>e.jsx("option",{value:l,children:l},l))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Description"}),e.jsx(Ie,{value:N,onChange:l=>w(l.target.value),placeholder:"Context, acceptance criteria, and execution notes."})]})]}),e.jsxs(qe,{children:[e.jsx(h,{variant:"outline",onClick:()=>y(!1),children:"Cancel"}),e.jsx(h,{onClick:()=>R.mutate(),disabled:!j.trim()||!Q||R.isPending,children:"Create Issue"})]})]})})]})}function he(){const{selectedCompanyId:s,selectedCompany:t}=Z(),i=je(),[a,u]=m.useState(!1),y=f({queryKey:s?T.agents(s):["gtm","agents","none"],queryFn:()=>p.listAgents(s),enabled:!!s}),j=f({queryKey:s?T.issues(s):["gtm","issues","none"],queryFn:()=>p.listIssues(s),enabled:!!s}),b=f({queryKey:s?["gtm","inbox-runs",s]:["gtm","inbox-runs","none"],queryFn:()=>p.listRuns(s),enabled:!!s}),N=q({mutationFn:n=>De.cancel(n),onSuccess:async()=>{s&&await Promise.all([i.invalidateQueries({queryKey:["gtm","inbox-runs",s]}),i.invalidateQueries({queryKey:T.inbox(s)})])}}),w=q({mutationFn:async n=>{const C=await le.wakeup(n.agentId,{source:"on_demand",triggerDetail:"manual",reason:"retry_failed_gtm_run",payload:ft(n)},s);if(!("id"in C))throw new Error("Retry was skipped because the agent is not currently invokable.");return C},onSuccess:async()=>{s&&await Promise.all([i.invalidateQueries({queryKey:["gtm","inbox-runs",s]}),i.invalidateQueries({queryKey:T.inbox(s)})])}});if(!s)return e.jsx("div",{className:"rounded-lg border border-border bg-card p-6 text-sm text-muted-foreground",children:"Select a company to open the GTM inbox."});if(y.isLoading||j.isLoading||b.isLoading)return e.jsx("div",{className:"py-8 text-sm text-muted-foreground",children:"Loading inbox…"});const I=y.error??j.error??b.error;if(I)return e.jsx("div",{className:"rounded-lg border border-destructive/30 bg-card p-6 text-sm text-destructive",children:I instanceof Error?I.message:"Failed to load inbox"});const S=[...j.data??[]].sort((n,C)=>new Date(C.updatedAt).getTime()-new Date(n.updatedAt).getTime()),Q=new Map((y.data??[]).map(n=>[n.id,n.name])),v=[...b.data??[]].sort((n,C)=>new Date(C.updatedAt).getTime()-new Date(n.updatedAt).getTime()),A=n=>fe(t==null?void 0:t.issuePrefix,n),G=new Map(S.map(n=>[n.id,n])),k=new Set(v.filter(n=>n.status==="running"||n.status==="queued").map(n=>Ye(n)).filter(n=>!!n)),x=v.filter(n=>n.status==="running"||n.status==="queued"),F=v.filter(n=>!x.includes(n)).slice(0,10),R=S.slice(0,5);return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-lg font-semibold",children:"Inbox"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Live runs, assigned work, and issue activity for GTM agents."})]}),e.jsxs(U,{children:[e.jsxs(ee,{className:"flex flex-row items-start justify-between gap-4 space-y-0",children:[e.jsxs("div",{children:[e.jsx(se,{children:"Assigned issues"}),e.jsx(te,{children:"Issue activity for GTM campaigns and GTM-assigned agents."})]}),e.jsx(h,{asChild:!0,variant:"outline",size:"sm",className:"shrink-0",children:e.jsx(X,{to:A("/issues"),children:"View more"})})]}),e.jsx(D,{className:"p-0",children:S.length===0?e.jsx("div",{className:"p-6 text-sm text-muted-foreground",children:"No GTM issues yet. Runs without issue assignments still appear above."}):e.jsx("div",{className:"divide-y divide-border",children:R.map(n=>e.jsx(Ds,{issue:n,desktopMetaLeading:e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"hidden sm:inline-flex",children:e.jsx(Os,{priority:n.priority})}),e.jsx("span",{className:"hidden shrink-0 sm:inline-flex",children:e.jsx(Ws,{status:n.status})}),e.jsx("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:n.identifier??n.id.slice(0,8)}),k.has(n.id)?e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full bg-blue-500/10 px-1.5 py-0.5 sm:gap-1.5 sm:px-2",children:[e.jsxs("span",{className:"relative flex h-2 w-2",children:[e.jsx("span",{className:"absolute inline-flex h-full w-full animate-pulse rounded-full bg-blue-400 opacity-75"}),e.jsx("span",{className:"relative inline-flex h-2 w-2 rounded-full bg-blue-500"})]}),e.jsx("span",{className:"hidden text-[11px] font-medium text-blue-600 dark:text-blue-400 sm:inline",children:"Live"})]}):null]}),mobileMeta:`updated ${Xe(n.updatedAt)}`,trailingMeta:`updated ${Xe(n.updatedAt)}`},n.id))})})]}),e.jsxs(U,{children:[e.jsxs(ee,{className:"flex flex-row items-start justify-between gap-4 space-y-0",children:[e.jsxs("div",{children:[e.jsx(se,{children:"Live runs"}),e.jsx(te,{children:"Manage active and recent GTM agent execution directly from the inbox."})]}),e.jsx(h,{variant:"ghost",size:"sm",className:"shrink-0",onClick:()=>u(n=>!n),children:e.jsx($s,{className:is("h-4 w-4 transition-transform",a?"rotate-180":"")})})]}),a?e.jsx(D,{className:"space-y-3",children:v.length===0?e.jsx("div",{className:"text-sm text-muted-foreground",children:"No GTM runs yet."}):e.jsx(e.Fragment,{children:(x.length>0?x:F).map(n=>{const C=Ye(n),M=C?G.get(C)??null:null,$=n.status==="running"||n.status==="queued",l=n.status==="failed"||n.status==="timed_out";return e.jsx("div",{className:"rounded-md border border-border p-4",children:e.jsxs("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[e.jsxs("div",{className:"min-w-0 space-y-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(Bs,{status:n.status}),e.jsx("span",{className:"text-sm font-medium",children:n.invocationSource.replaceAll("_"," ")}),e.jsx("span",{className:"text-xs text-muted-foreground",children:_s(n.updatedAt)})]}),e.jsxs("div",{className:"text-sm text-muted-foreground",children:["Agent ",e.jsx("span",{className:"font-medium text-foreground",children:Q.get(n.agentId)??n.agentId}),n.triggerDetail?e.jsxs(e.Fragment,{children:[" · trigger ",n.triggerDetail]}):null]}),M?e.jsxs(X,{to:A(`/issues/${M.id}`),className:"block text-sm font-medium hover:underline",children:[M.identifier??M.id.slice(0,8)," · ",M.title]}):e.jsx("div",{className:"text-sm text-muted-foreground",children:"No assigned GTM issue linked to this run yet."})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(h,{asChild:!0,variant:"outline",size:"sm",children:e.jsxs(X,{to:A(`/agents/${n.agentId}/runs/${n.id}`),children:[e.jsx(cs,{className:"mr-1.5 h-3.5 w-3.5"}),"View run"]})}),e.jsxs(h,{variant:"outline",size:"sm",onClick:()=>w.mutate(n),disabled:!l||w.isPending,children:[e.jsx(mt,{className:"mr-1.5 h-3.5 w-3.5"}),"Retry"]}),e.jsx(h,{variant:"outline",size:"sm",onClick:()=>N.mutate(n.id),disabled:!$||N.isPending,children:"Pause"})]})]})},n.id)})})}):null]})]})}function Ct(){const{companies:s,selectedCompany:t}=Z(),{openOnboarding:i}=Le();return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-lg font-semibold",children:"Workspace Management"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Company selection and GTM workspace setup."})]}),e.jsx(h,{onClick:()=>i(),children:"Add Company"})]}),e.jsx(U,{children:e.jsx(D,{className:"divide-y divide-border p-0",children:s.map(a=>e.jsxs("div",{className:"flex items-center justify-between gap-4 px-6 py-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:a.name}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.issuePrefix})]}),(t==null?void 0:t.id)===a.id?e.jsx(Y,{children:"Active"}):e.jsx(Y,{variant:"outline",children:"Available"})]},a.id))})})]})}function St(){var ye;const{selectedCompany:s,selectedCompanyId:t}=Z(),{pushToast:i}=Te(),a=je(),[u,y]=m.useState(""),[j,b]=m.useState(""),[N,w]=m.useState(""),[I,S]=m.useState(""),[Q,v]=m.useState(null),A=f({queryKey:["gtm","profile"],queryFn:()=>p.getProfile()}),G=f({queryKey:["gtm","knowledge"],queryFn:()=>p.getKnowledge()}),k=f({queryKey:["gtm","connectors"],queryFn:()=>p.getConnectors()}),x=f({queryKey:["gtm","connection"],queryFn:()=>p.getConnection()}),F=f({queryKey:["gtm","workflow"],queryFn:()=>p.getWorkflow()}),R=f({queryKey:t?["gtm","runs",t]:["gtm","runs","none"],queryFn:()=>p.listRuns(t),enabled:!!t}),n=f({queryKey:ue.auth.session,queryFn:()=>Oe.getSession(),retry:!1}),C=q({mutationFn:()=>p.testConnection(),onSuccess:async d=>{await Promise.all([a.invalidateQueries({queryKey:["gtm","connection"]}),a.invalidateQueries({queryKey:["gtm","connectors"]})]),i({title:"Growthub pulse succeeded",body:d.message,tone:"success"})},onError:d=>{i({title:"Growthub pulse failed",body:d instanceof Error?d.message:"Failed to verify the Growthub local route handler",tone:"error"})}}),M=q({mutationFn:()=>p.disconnectConnection(),onSuccess:async()=>{await Promise.all([a.invalidateQueries({queryKey:["gtm","connection"]}),a.invalidateQueries({queryKey:["gtm","connectors"]})]),i({title:"Growthub disconnected",body:"Local connection state was cleared for this installer.",tone:"success"})},onError:d=>{i({title:"Disconnect failed",body:d instanceof Error?d.message:"Failed to disconnect Growthub locally",tone:"error"})}}),$=!!s&&(u!==s.name||j!==(s.description??"")||N!==(s.brandColor??"")),l=q({mutationFn:d=>Ke.update(t,d),onSuccess:async d=>{S(d.logoUrl??""),await a.invalidateQueries({queryKey:ue.companies.all}),i({title:"Workspace updated",body:"GTM workspace customization saved.",tone:"success"})},onError:d=>{i({title:"Workspace update failed",body:d instanceof Error?d.message:"Failed to save workspace customization",tone:"error"})}}),g=q({mutationFn:async d=>{const B=await Us.uploadCompanyLogo(t,d);return Ke.update(t,{logoAssetId:B.assetId})},onSuccess:async d=>{v(null),S(d.logoUrl??""),await a.invalidateQueries({queryKey:ue.companies.all}),i({title:"Logo updated",body:"Workspace logo saved.",tone:"success"})},onError:d=>{v(d instanceof Error?d.message:"Logo upload failed")}}),J=q({mutationFn:()=>Ke.update(t,{logoAssetId:null}),onSuccess:async d=>{v(null),S(d.logoUrl??""),await a.invalidateQueries({queryKey:ue.companies.all}),i({title:"Logo removed",body:"Workspace logo removed.",tone:"success"})},onError:d=>{v(d instanceof Error?d.message:"Failed to remove workspace logo")}});if(m.useEffect(()=>{s&&(y(s.name),b(s.description??""),w(s.brandColor??""),S(s.logoUrl??""),v(null))},[s]),A.isLoading||G.isLoading||k.isLoading||x.isLoading||F.isLoading||R.isLoading)return e.jsx("div",{className:"py-8 text-sm text-muted-foreground",children:"Loading settings…"});const ne=A.error??G.error??k.error??x.error??F.error??R.error;if(ne)return e.jsx("div",{className:"rounded-lg border border-destructive/30 bg-card p-6 text-sm text-destructive",children:ne instanceof Error?ne.message:"Failed to load settings"});const H=A.data,ae=G.data,re=k.data,K=x.data,O=F.data,E=(R.data??[]).slice(0,4),r=d=>{var ie;const B=((ie=d.target.files)==null?void 0:ie[0])??null;d.currentTarget.value="",!(!B||!t)&&(v(null),g.mutate(B))},V=()=>{t&&l.mutate({name:u.trim(),description:j.trim()||null,brandColor:N||null})},ce=()=>{var ie;if(!((ie=K.baseUrl)!=null&&ie.trim())){i({title:"Growthub base URL missing",body:"Configure the hosted Growthub URL before opening the local callback flow.",tone:"error"});return}if(!ds(n.data??null)){i({title:"Sign in required",body:"Sign in locally before opening the hosted Growthub configuration flow.",tone:"error"});return}const B=us({baseUrl:K.baseUrl,callbackUrl:K.callbackUrl,workspaceLabel:(s==null?void 0:s.name)??H.workspace??"GTM Workspace"});window.open(B,"_blank","noopener,noreferrer")};return e.jsxs("div",{className:"grid gap-4 xl:grid-cols-2",children:[e.jsxs(U,{className:"xl:col-span-2",children:[e.jsxs(ee,{children:[e.jsx(se,{children:"Workspace Customization"}),e.jsx(te,{children:"Customize this GTM workspace without crossing into DX-only settings."})]}),e.jsxs(D,{className:"space-y-5",children:[e.jsxs("div",{className:"flex flex-col gap-4 md:flex-row",children:[e.jsx("div",{className:"shrink-0",children:e.jsx(rs,{companyName:u||(s==null?void 0:s.name)||"Workspace",logoUrl:I||null,brandColor:N||null,className:"h-16 w-16 rounded-2xl text-xl"})}),e.jsxs("div",{className:"grid flex-1 gap-4 md:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Workspace name"}),e.jsx(z,{value:u,onChange:d=>y(d.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Brand color"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"color",value:N||"#6366f1",onChange:d=>w(d.target.value),className:"h-10 w-10 cursor-pointer rounded border border-border bg-transparent p-0"}),e.jsx(z,{value:N,placeholder:"Auto",onChange:d=>{const B=d.target.value;(B===""||/^#[0-9a-fA-F]{0,6}$/.test(B))&&w(B)},className:"font-mono"}),N?e.jsx(h,{variant:"ghost",size:"sm",onClick:()=>w(""),children:"Clear"}):null]})]}),e.jsxs("div",{className:"space-y-2 md:col-span-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Description"}),e.jsx(Ie,{value:j,onChange:d=>b(d.target.value),placeholder:"Optional workspace description",rows:3})]}),e.jsxs("div",{className:"space-y-2 md:col-span-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Logo"}),e.jsx("input",{type:"file",accept:"image/png,image/jpeg,image/webp,image/gif,image/svg+xml",onChange:r,className:"w-full rounded-md border border-border bg-transparent px-2.5 py-2 text-sm outline-none file:mr-4 file:rounded-md file:border-0 file:bg-muted file:px-2.5 file:py-1 file:text-xs"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[I?e.jsx(h,{variant:"outline",size:"sm",onClick:()=>J.mutate(),disabled:J.isPending,children:J.isPending?"Removing...":"Remove logo"}):null,g.isPending?e.jsx("span",{className:"text-xs text-muted-foreground",children:"Uploading logo..."}):null,Q?e.jsx("span",{className:"text-xs text-destructive",children:Q}):null]})]})]})]}),e.jsx("div",{className:"flex justify-end",children:e.jsx(h,{onClick:V,disabled:!$||l.isPending||!u.trim(),children:l.isPending?"Saving...":"Save workspace customization"})})]})]}),e.jsxs(U,{children:[e.jsxs(ee,{children:[e.jsx(se,{children:"Profile"}),e.jsx(te,{children:"Visible GTM workspace configuration."})]}),e.jsxs(D,{className:"space-y-3 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Workspace:"})," ",H.workspace]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Account:"})," ",H.account]}),e.jsxs("div",{className:"break-all",children:[e.jsx("span",{className:"text-muted-foreground",children:"App:"})," ",H.appConnection]})]})]}),e.jsx(ls,{description:"Open the hosted auth flow and return to this local callback.",connected:K.connected,baseUrl:K.baseUrl,callbackUrl:K.callbackUrl,portalBaseUrl:K.portalBaseUrl,machineLabel:K.machineLabel,workspaceLabel:K.workspaceLabel,onOpenConfiguration:ce,onRefresh:()=>{x.refetch(),k.refetch()},onPulseConnection:K.connected?()=>C.mutate():void 0,onDisconnect:K.connected?()=>M.mutate():void 0,pulsePending:C.isPending,disconnectPending:M.isPending,openDisabled:!((ye=K.baseUrl)!=null&&ye.trim())}),e.jsxs(U,{children:[e.jsxs(ee,{children:[e.jsx(se,{children:"Runtime"}),e.jsx(te,{children:"Workflow, connection state, and recent pulses."})]}),e.jsxs(D,{className:"space-y-3 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Workflow:"})," ",O.label]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Status:"})," ",O.status]}),e.jsxs("div",{className:"break-all",children:[e.jsx("span",{className:"text-muted-foreground",children:"Runner:"})," ",O.runner]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Pulses:"}),E.length===0?e.jsx("span",{className:"ml-2 text-muted-foreground",children:"No runs yet."}):e.jsx("div",{className:"mt-2 space-y-2",children:E.map(d=>e.jsxs("div",{className:"rounded-md border border-border p-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("p",{className:"font-medium",children:d.status}),e.jsx("span",{className:"text-xs text-muted-foreground",children:gs(d.createdAt)})]}),e.jsx("p",{className:"mt-1 text-muted-foreground",children:d.triggerDetail??d.invocationSource})]},d.id))})]})]})]}),e.jsxs(U,{children:[e.jsxs(ee,{children:[e.jsx(se,{children:"Knowledge"}),e.jsx(te,{children:"Knowledge group visible to GTM."})]}),e.jsxs(D,{className:"space-y-3 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Group:"})," ",ae.group.label]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Items:"})," ",ae.group.itemCount]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Connector:"})," ",ae.group.connector]})]})]}),e.jsxs(U,{children:[e.jsxs(ee,{children:[e.jsx(se,{children:"Connectors"}),e.jsx(te,{children:"Connector visibility for GTM."})]}),e.jsx(D,{className:"space-y-3 text-sm",children:re.length===0?e.jsx("p",{className:"text-muted-foreground",children:"No connectors configured."}):re.map(d=>e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:d.label}),e.jsx("p",{className:"text-muted-foreground",children:d.summary})]},d.label))})]})]})}function qt(){var N;const{selectedCompany:s}=Z(),{theme:t,toggleTheme:i}=Ps(),{sidebarOpen:a,setSidebarOpen:u}=Is(),y=Ae(),j=m.useMemo(()=>[{to:"/workspace",label:"Workspace",icon:ss},{to:"/tickets",label:"Campaigns",icon:ts},{to:"/agents/all",label:"Agents",icon:ns},{to:"/issues",label:"Queue",icon:ms},{to:"/inbox",label:"Inbox",icon:As},{to:"/companies",label:"Companies",icon:Gs},{to:"/company/settings",label:"Settings",icon:as}],[]),b=w=>fe(s==null?void 0:s.issuePrefix,w);return e.jsxs("div",{className:"bg-background text-foreground pt-[env(safe-area-inset-top)] md:flex md:h-dvh md:overflow-hidden",children:[a?e.jsx("button",{type:"button",className:"fixed inset-0 z-40 bg-black/50 md:hidden",onClick:()=>u(!1),"aria-label":"Close GTM navigation"}):null,e.jsxs("aside",{className:is("fixed inset-y-0 left-0 z-50 flex w-72 flex-col border-r border-border bg-background transition-transform duration-150 md:static md:translate-x-0",a?"translate-x-0":"-translate-x-full"),children:[e.jsxs("div",{className:"flex h-14 items-center justify-between border-b border-border px-4",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e.jsx(rs,{companyName:(s==null?void 0:s.name)??"Workspace",logoUrl:(s==null?void 0:s.logoUrl)??null,brandColor:(s==null?void 0:s.brandColor)??null,className:"h-9 w-9 rounded-xl text-sm"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"truncate text-sm font-semibold",children:(s==null?void 0:s.name)??"Workspace"}),e.jsx("p",{className:"truncate text-xs text-muted-foreground",children:((N=s==null?void 0:s.description)==null?void 0:N.trim())||"GTM workspace"})]})]}),e.jsx(h,{variant:"ghost",size:"icon-sm",onClick:i,"aria-label":"Toggle theme",children:t==="dark"?e.jsx(Fs,{className:"h-4 w-4"}):e.jsx(Ms,{className:"h-4 w-4"})})]}),e.jsx("nav",{className:"flex-1 overflow-y-auto p-3",children:e.jsx("div",{className:"flex flex-col gap-1",children:j.map(w=>{const I=w.icon,S=y.pathname.includes(w.to);return e.jsx(h,{asChild:!0,variant:S?"secondary":"ghost",className:"justify-start",onClick:()=>u(!1),children:e.jsxs(X,{to:b(w.to),children:[e.jsx(I,{className:"h-4 w-4"}),w.label]})},w.to)})})})]}),e.jsxs("div",{className:"flex min-w-0 flex-1 flex-col md:h-full",children:[e.jsx(Qs,{}),e.jsx("div",{className:"min-h-0 flex-1 overflow-auto",children:e.jsx("main",{id:"main-content",tabIndex:-1,className:"p-4 md:p-6",children:e.jsx(os,{})})})]}),e.jsx(Ks,{})]})}function Tt(){return e.jsxs(e.Fragment,{children:[e.jsx(c,{index:!0,element:e.jsx(oe,{to:"workspace",replace:!0})}),e.jsx(c,{path:"dashboard",element:e.jsx(oe,{to:"../workspace",replace:!0})}),e.jsx(c,{path:"workspace",element:e.jsx(wt,{})}),e.jsx(c,{path:"onboarding",element:e.jsx(ps,{})}),e.jsx(c,{path:"companies",element:e.jsx(Ct,{})}),e.jsx(c,{path:"company/settings",element:e.jsx(St,{})}),e.jsx(c,{path:"agents",element:e.jsx(oe,{to:"../agents/all",replace:!0})}),e.jsx(c,{path:"agents/all",element:e.jsx(be,{})}),e.jsx(c,{path:"agents/active",element:e.jsx(be,{})}),e.jsx(c,{path:"agents/paused",element:e.jsx(be,{})}),e.jsx(c,{path:"agents/error",element:e.jsx(be,{})}),e.jsx(c,{path:"agents/new",element:e.jsx(be,{})}),e.jsx(c,{path:"agents/:agentId",element:e.jsx(Qe,{})}),e.jsx(c,{path:"agents/:agentId/:tab",element:e.jsx(Qe,{})}),e.jsx(c,{path:"agents/:agentId/runs/:runId",element:e.jsx(Qe,{})}),e.jsx(c,{path:"tickets",element:e.jsx(kt,{})}),e.jsx(c,{path:"tickets/:ticketId",element:e.jsx(qs,{})}),e.jsx(c,{path:"issues",element:e.jsx(ge,{})}),e.jsx(c,{path:"issues/all",element:e.jsx(ge,{})}),e.jsx(c,{path:"issues/active",element:e.jsx(ge,{})}),e.jsx(c,{path:"issues/backlog",element:e.jsx(ge,{})}),e.jsx(c,{path:"issues/done",element:e.jsx(ge,{})}),e.jsx(c,{path:"issues/recent",element:e.jsx(ge,{})}),e.jsx(c,{path:"issues/:issueId",element:e.jsx(Ts,{})}),e.jsx(c,{path:"activity",element:e.jsx(he,{})}),e.jsx(c,{path:"inbox",element:e.jsx(he,{})}),e.jsx(c,{path:"inbox/recent",element:e.jsx(he,{})}),e.jsx(c,{path:"inbox/unread",element:e.jsx(he,{})}),e.jsx(c,{path:"inbox/all",element:e.jsx(he,{})}),e.jsx(c,{path:"inbox/new",element:e.jsx(he,{})}),e.jsx(c,{path:"*",element:e.jsx(Ee,{scope:"board"})})]})}function Pt(){return e.jsxs(ws,{children:[e.jsx(c,{path:"/",element:e.jsx(oe,{to:pe(),replace:!0})}),e.jsx(c,{path:"auth",element:e.jsx(ks,{})}),e.jsx(c,{path:"board-claim/:token",element:e.jsx(Cs,{})}),e.jsx(c,{path:"invite/:token",element:e.jsx(Ss,{})}),e.jsxs(c,{element:e.jsx(bt,{}),children:[e.jsx(c,{path:L,element:e.jsx(vt,{})}),e.jsx(c,{path:`${L}/onboarding`,element:e.jsx(ps,{})}),e.jsx(c,{path:`${L}/companies`,element:e.jsx(_,{})}),e.jsx(c,{path:`${L}/tickets`,element:e.jsx(_,{})}),e.jsx(c,{path:`${L}/tickets/:ticketId`,element:e.jsx(_,{})}),e.jsx(c,{path:`${L}/issues`,element:e.jsx(_,{})}),e.jsx(c,{path:`${L}/issues/:issueId`,element:e.jsx(_,{})}),e.jsx(c,{path:`${L}/activity`,element:e.jsx(_,{})}),e.jsx(c,{path:`${L}/inbox`,element:e.jsx(_,{})}),e.jsx(c,{path:`${L}/agents`,element:e.jsx(_,{})}),e.jsx(c,{path:`${L}/agents/new`,element:e.jsx(_,{})}),e.jsx(c,{path:`${L}/agents/:agentId`,element:e.jsx(_,{})}),e.jsx(c,{path:`${L}/agents/:agentId/:tab`,element:e.jsx(_,{})}),e.jsx(c,{path:`${L}/agents/:agentId/runs/:runId`,element:e.jsx(_,{})}),e.jsx(c,{path:`${L}/:companyPrefix`,element:e.jsx(qt,{}),children:Tt()}),e.jsx(c,{path:"dx/*",element:e.jsx(Ee,{scope:"global"})}),e.jsx(c,{path:"*",element:e.jsx(Ee,{scope:"global"})})]})]})}ct(Ns,dt);const It=new Vs({defaultOptions:{queries:{staleTime:3e4,refetchOnWindowFocus:!0}}});function Mt(){return e.jsx(Hs,{client:It,children:e.jsx(Xs,{children:e.jsx(Ys,{children:e.jsx(Zs,{children:e.jsx(Js,{children:e.jsx(et,{children:e.jsx(st,{children:e.jsx(tt,{children:e.jsx(nt,{children:e.jsx(at,{children:e.jsx(rt,{children:e.jsxs(it,{children:[e.jsx(Pt,{}),e.jsx(ot,{}),e.jsx(lt,{})]})})})})})})})})})})})})}export{Mt as GtmRoot};