@growthub/cli 0.3.21 → 0.3.24

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 (147) hide show
  1. package/dist/runtime/server/ui-dist/assets/OnboardingWizard-7V9IoFqk.js +844 -0
  2. package/dist/runtime/server/ui-dist/assets/_basePickBy-Dpa4dMTq.js +1 -0
  3. package/dist/runtime/server/ui-dist/assets/_baseUniq-Bub9wcN4.js +1 -0
  4. package/dist/runtime/server/ui-dist/assets/arc-CVPwLDSv.js +1 -0
  5. package/dist/runtime/server/ui-dist/assets/architectureDiagram-VXUJARFQ-CQj-6SML.js +36 -0
  6. package/dist/runtime/server/ui-dist/assets/blockDiagram-VD42YOAC-Be9aKRKg.js +122 -0
  7. package/dist/runtime/server/ui-dist/assets/c4Diagram-YG6GDRKO-DEYLvMbq.js +10 -0
  8. package/dist/runtime/server/ui-dist/assets/channel-Bj419pQ0.js +1 -0
  9. package/dist/runtime/server/ui-dist/assets/chunk-4BX2VUAB-CqjR9Kxo.js +1 -0
  10. package/dist/runtime/server/ui-dist/assets/chunk-55IACEB6-DTreMqXm.js +1 -0
  11. package/dist/runtime/server/ui-dist/assets/chunk-B4BG7PRW-jMOPp65h.js +165 -0
  12. package/dist/runtime/server/ui-dist/assets/chunk-DI55MBZ5-CEFrbw6u.js +220 -0
  13. package/dist/runtime/server/ui-dist/assets/chunk-FMBD7UC4-BM0pzONO.js +15 -0
  14. package/dist/runtime/server/ui-dist/assets/chunk-QN33PNHL-EFx3phoa.js +1 -0
  15. package/dist/runtime/server/ui-dist/assets/chunk-QZHKN3VN-CNd2B6XF.js +1 -0
  16. package/dist/runtime/server/ui-dist/assets/chunk-TZMSLE5B-gCQOn-6z.js +1 -0
  17. package/dist/runtime/server/ui-dist/assets/classDiagram-2ON5EDUG-xDUU9s76.js +1 -0
  18. package/dist/runtime/server/ui-dist/assets/classDiagram-v2-WZHVMYZB-xDUU9s76.js +1 -0
  19. package/dist/runtime/server/ui-dist/assets/clone-B2HH1nAp.js +1 -0
  20. package/dist/runtime/server/ui-dist/assets/cose-bilkent-S5V4N54A-D2INFgRV.js +1 -0
  21. package/dist/runtime/server/ui-dist/assets/dagre-6UL2VRFP-bXciARJ_.js +4 -0
  22. package/dist/runtime/server/ui-dist/assets/diagram-PSM6KHXK-BrkJWzW1.js +24 -0
  23. package/dist/runtime/server/ui-dist/assets/diagram-QEK2KX5R-57nBN8wl.js +43 -0
  24. package/dist/runtime/server/ui-dist/assets/diagram-S2PKOQOG-C51nQUt0.js +24 -0
  25. package/dist/runtime/server/ui-dist/assets/dx-root-CKfAQbqu.js +270 -0
  26. package/dist/runtime/server/ui-dist/assets/erDiagram-Q2GNP2WA-B32LArBP.js +60 -0
  27. package/dist/runtime/server/ui-dist/assets/flowDiagram-NV44I4VS-AM-133ik.js +162 -0
  28. package/dist/runtime/server/ui-dist/assets/ganttDiagram-JELNMOA3-BLkUkz_b.js +267 -0
  29. package/dist/runtime/server/ui-dist/assets/gitGraphDiagram-V2S2FVAM-D5bkpvOg.js +65 -0
  30. package/dist/runtime/server/ui-dist/assets/graph-Bq4-nEv4.js +1 -0
  31. package/dist/runtime/server/ui-dist/assets/gtm-root-BfHt-laB.js +37 -0
  32. package/dist/runtime/server/ui-dist/assets/index-B-SYAlcC.js +1 -0
  33. package/dist/runtime/server/ui-dist/assets/index-B2NlevI0.js +2 -0
  34. package/dist/runtime/server/ui-dist/assets/index-BLLKe0dv.js +1 -0
  35. package/dist/runtime/server/ui-dist/assets/index-BYp3J7U2.js +13 -0
  36. package/dist/runtime/server/ui-dist/assets/index-BjjbvJ78.js +3 -0
  37. package/dist/runtime/server/ui-dist/assets/index-BuHuphPm.js +1 -0
  38. package/dist/runtime/server/ui-dist/assets/index-C1Ehmrmq.js +1 -0
  39. package/dist/runtime/server/ui-dist/assets/index-CGAAJBAM.js +1 -0
  40. package/dist/runtime/server/ui-dist/assets/index-CGK6bYHh.js +1 -0
  41. package/dist/runtime/server/ui-dist/assets/index-CGMga3nW.js +1 -0
  42. package/dist/runtime/server/ui-dist/assets/index-CZbz-5XK.js +1 -0
  43. package/dist/runtime/server/ui-dist/assets/index-C_VEBQrk.js +1 -0
  44. package/dist/runtime/server/ui-dist/assets/index-Ce5_tT4g.js +6 -0
  45. package/dist/runtime/server/ui-dist/assets/index-CzI3Xbqh.js +7 -0
  46. package/dist/runtime/server/ui-dist/assets/index-D3D_MhqG.js +1 -0
  47. package/dist/runtime/server/ui-dist/assets/index-DCmEqo8K.js +50 -0
  48. package/dist/runtime/server/ui-dist/assets/index-DEfVRXkw.js +1 -0
  49. package/dist/runtime/server/ui-dist/assets/index-DKpUCsoW.js +1 -0
  50. package/dist/runtime/server/ui-dist/assets/index-DYgXpa9-.js +1 -0
  51. package/dist/runtime/server/ui-dist/assets/index-DcNoMLQH.css +1 -0
  52. package/dist/runtime/server/ui-dist/assets/index-Dmr3wO79.js +1 -0
  53. package/dist/runtime/server/ui-dist/assets/index-DxxVQnlU.js +1 -0
  54. package/dist/runtime/server/ui-dist/assets/index-sZk1V4xD.js +1 -0
  55. package/dist/runtime/server/ui-dist/assets/index-wVsb8xch.js +1 -0
  56. package/dist/runtime/server/ui-dist/assets/infoDiagram-HS3SLOUP-CCeMg-XR.js +2 -0
  57. package/dist/runtime/server/ui-dist/assets/journeyDiagram-XKPGCS4Q-BvhxggT-.js +139 -0
  58. package/dist/runtime/server/ui-dist/assets/kanban-definition-3W4ZIXB7-xxMuYfFm.js +89 -0
  59. package/dist/runtime/server/ui-dist/assets/layout-B2ydR5sL.js +1 -0
  60. package/dist/runtime/server/ui-dist/assets/linear-CiE5mw78.js +1 -0
  61. package/dist/runtime/server/ui-dist/assets/mermaid.core-D0JaaeLD.js +256 -0
  62. package/dist/runtime/server/ui-dist/assets/mindmap-definition-VGOIOE7T-BLqSdJEW.js +68 -0
  63. package/dist/runtime/server/ui-dist/assets/pieDiagram-ADFJNKIX-DziDW_qB.js +30 -0
  64. package/dist/runtime/server/ui-dist/assets/quadrantDiagram-AYHSOK5B-jPRtL_hb.js +7 -0
  65. package/dist/runtime/server/ui-dist/assets/requirementDiagram-UZGBJVZJ-CcH1N3lK.js +64 -0
  66. package/dist/runtime/server/ui-dist/assets/sankeyDiagram-TZEHDZUN-B4SBqjK2.js +10 -0
  67. package/dist/runtime/server/ui-dist/assets/sequenceDiagram-WL72ISMW-eRcAKc3Y.js +145 -0
  68. package/dist/runtime/server/ui-dist/assets/stateDiagram-FKZM4ZOC-B0spnUMe.js +1 -0
  69. package/dist/runtime/server/ui-dist/assets/stateDiagram-v2-4FDKWEC3-DnBygW4N.js +1 -0
  70. package/dist/runtime/server/ui-dist/assets/timeline-definition-IT6M3QCI-CTwitiuc.js +61 -0
  71. package/dist/runtime/server/ui-dist/assets/treemap-GDKQZRPO-DPNw164t.js +162 -0
  72. package/dist/runtime/server/ui-dist/assets/xychartDiagram-PRI3JC2R-9P0JFQEK.js +7 -0
  73. package/dist/runtime/server/ui-dist/index.html +2 -2
  74. package/dist/runtime/server/ui-dist/ui-dist/assets/OnboardingWizard-Bpe38Uzj.js +839 -0
  75. package/dist/runtime/server/ui-dist/ui-dist/assets/_basePickBy-CQKTAXtp.js +1 -0
  76. package/dist/runtime/server/ui-dist/ui-dist/assets/_baseUniq-CQd3u-Jm.js +1 -0
  77. package/dist/runtime/server/ui-dist/ui-dist/assets/arc-D9Q9w1Vo.js +1 -0
  78. package/dist/runtime/server/ui-dist/ui-dist/assets/architectureDiagram-VXUJARFQ-B6qmRj4T.js +36 -0
  79. package/dist/runtime/server/ui-dist/ui-dist/assets/blockDiagram-VD42YOAC-BEXZ7n06.js +122 -0
  80. package/dist/runtime/server/ui-dist/ui-dist/assets/c4Diagram-YG6GDRKO-D_K1YpVp.js +10 -0
  81. package/dist/runtime/server/ui-dist/ui-dist/assets/channel-VKW4MH1z.js +1 -0
  82. package/dist/runtime/server/ui-dist/ui-dist/assets/chunk-4BX2VUAB-NetupNov.js +1 -0
  83. package/dist/runtime/server/ui-dist/ui-dist/assets/chunk-55IACEB6-t7D7TLEA.js +1 -0
  84. package/dist/runtime/server/ui-dist/ui-dist/assets/chunk-B4BG7PRW-B-unrKcC.js +165 -0
  85. package/dist/runtime/server/ui-dist/ui-dist/assets/chunk-DI55MBZ5--jj-QQFE.js +220 -0
  86. package/dist/runtime/server/ui-dist/ui-dist/assets/chunk-FMBD7UC4-DJI_8AkT.js +15 -0
  87. package/dist/runtime/server/ui-dist/ui-dist/assets/chunk-QN33PNHL-pIHFdRyL.js +1 -0
  88. package/dist/runtime/server/ui-dist/ui-dist/assets/chunk-QZHKN3VN-Dshtjie-.js +1 -0
  89. package/dist/runtime/server/ui-dist/ui-dist/assets/chunk-TZMSLE5B-BHBXUbVb.js +1 -0
  90. package/dist/runtime/server/ui-dist/ui-dist/assets/classDiagram-2ON5EDUG-CZuJnPzV.js +1 -0
  91. package/dist/runtime/server/ui-dist/ui-dist/assets/classDiagram-v2-WZHVMYZB-CZuJnPzV.js +1 -0
  92. package/dist/runtime/server/ui-dist/ui-dist/assets/clone-CDQDPI3A.js +1 -0
  93. package/dist/runtime/server/ui-dist/ui-dist/assets/cose-bilkent-S5V4N54A-tuKzeA9N.js +1 -0
  94. package/dist/runtime/server/ui-dist/ui-dist/assets/dagre-6UL2VRFP-Cme25Zxf.js +4 -0
  95. package/dist/runtime/server/ui-dist/ui-dist/assets/diagram-PSM6KHXK-B-vf4lZF.js +24 -0
  96. package/dist/runtime/server/ui-dist/ui-dist/assets/diagram-QEK2KX5R-xyWwlUDW.js +43 -0
  97. package/dist/runtime/server/ui-dist/ui-dist/assets/diagram-S2PKOQOG-BqoRXh6H.js +24 -0
  98. package/dist/runtime/server/ui-dist/ui-dist/assets/dx-root-Dl_jmp98.js +275 -0
  99. package/dist/runtime/server/ui-dist/ui-dist/assets/erDiagram-Q2GNP2WA-BNt99sCR.js +60 -0
  100. package/dist/runtime/server/ui-dist/ui-dist/assets/flowDiagram-NV44I4VS-D9nONfqO.js +162 -0
  101. package/dist/runtime/server/ui-dist/ui-dist/assets/ganttDiagram-JELNMOA3-BHa2oQaY.js +267 -0
  102. package/dist/runtime/server/ui-dist/ui-dist/assets/gitGraphDiagram-V2S2FVAM-6QPL0Zcc.js +65 -0
  103. package/dist/runtime/server/ui-dist/ui-dist/assets/graph-ChokfJBV.js +1 -0
  104. package/dist/runtime/server/ui-dist/ui-dist/assets/gtm-root-Q1tb-OmJ.js +49 -0
  105. package/dist/runtime/server/ui-dist/ui-dist/assets/index-AreOJOIG.js +1 -0
  106. package/dist/runtime/server/ui-dist/ui-dist/assets/index-B0Y-BK_o.js +1 -0
  107. package/dist/runtime/server/ui-dist/ui-dist/assets/index-BBcYDlrD.js +1 -0
  108. package/dist/runtime/server/ui-dist/ui-dist/assets/index-BT9RqIN1.js +2 -0
  109. package/dist/runtime/server/ui-dist/ui-dist/assets/index-BiodGLKg.js +1 -0
  110. package/dist/runtime/server/ui-dist/ui-dist/assets/index-BpJ1WGf4.js +1 -0
  111. package/dist/runtime/server/ui-dist/ui-dist/assets/index-C5RGtZZb.js +1 -0
  112. package/dist/runtime/server/ui-dist/ui-dist/assets/index-CV16VsOG.js +1 -0
  113. package/dist/runtime/server/ui-dist/ui-dist/assets/index-CXzwrnts.js +1 -0
  114. package/dist/runtime/server/ui-dist/ui-dist/assets/index-Cj2dJBu9.js +7 -0
  115. package/dist/runtime/server/ui-dist/ui-dist/assets/index-CslM6ZOC.js +50 -0
  116. package/dist/runtime/server/ui-dist/ui-dist/assets/index-D7ql-nyY.js +1 -0
  117. package/dist/runtime/server/ui-dist/ui-dist/assets/index-D9cEk9dB.js +13 -0
  118. package/dist/runtime/server/ui-dist/ui-dist/assets/index-DQviAAYK.js +1 -0
  119. package/dist/runtime/server/ui-dist/ui-dist/assets/index-DY3Kb5BY.js +1 -0
  120. package/dist/runtime/server/ui-dist/ui-dist/assets/index-DtRz6fix.js +1 -0
  121. package/dist/runtime/server/ui-dist/ui-dist/assets/index-DyBleH62.js +1 -0
  122. package/dist/runtime/server/ui-dist/ui-dist/assets/index-Dz9Mg7yj.js +1 -0
  123. package/dist/runtime/server/ui-dist/ui-dist/assets/index-DznSYwvR.js +3 -0
  124. package/dist/runtime/server/ui-dist/ui-dist/assets/index-HAo50K1i.js +1 -0
  125. package/dist/runtime/server/ui-dist/ui-dist/assets/index-InwbFqnq.js +6 -0
  126. package/dist/runtime/server/ui-dist/ui-dist/assets/index-Zv5UUhX4.js +1 -0
  127. package/dist/runtime/server/ui-dist/ui-dist/assets/index-ZwvH4nvB.js +1 -0
  128. package/dist/runtime/server/ui-dist/ui-dist/assets/index-y_uXGYat.css +1 -0
  129. package/dist/runtime/server/ui-dist/ui-dist/assets/infoDiagram-HS3SLOUP-CWJWbuDv.js +2 -0
  130. package/dist/runtime/server/ui-dist/ui-dist/assets/journeyDiagram-XKPGCS4Q-B1dvEBSU.js +139 -0
  131. package/dist/runtime/server/ui-dist/ui-dist/assets/kanban-definition-3W4ZIXB7-DOOcV-ov.js +89 -0
  132. package/dist/runtime/server/ui-dist/ui-dist/assets/layout-BcBPDz0E.js +1 -0
  133. package/dist/runtime/server/ui-dist/ui-dist/assets/linear-B2quPncz.js +1 -0
  134. package/dist/runtime/server/ui-dist/ui-dist/assets/mermaid.core-CFjHuxJ-.js +256 -0
  135. package/dist/runtime/server/ui-dist/ui-dist/assets/mindmap-definition-VGOIOE7T-BaV4tUaW.js +68 -0
  136. package/dist/runtime/server/ui-dist/ui-dist/assets/pieDiagram-ADFJNKIX-jkgLO9RE.js +30 -0
  137. package/dist/runtime/server/ui-dist/ui-dist/assets/quadrantDiagram-AYHSOK5B-DV08aMEU.js +7 -0
  138. package/dist/runtime/server/ui-dist/ui-dist/assets/requirementDiagram-UZGBJVZJ-Bi7E9K-T.js +64 -0
  139. package/dist/runtime/server/ui-dist/ui-dist/assets/sankeyDiagram-TZEHDZUN-DY2BTNf2.js +10 -0
  140. package/dist/runtime/server/ui-dist/ui-dist/assets/sequenceDiagram-WL72ISMW-T75r2Ma6.js +145 -0
  141. package/dist/runtime/server/ui-dist/ui-dist/assets/stateDiagram-FKZM4ZOC-hJQcStwQ.js +1 -0
  142. package/dist/runtime/server/ui-dist/ui-dist/assets/stateDiagram-v2-4FDKWEC3-DV9EGZG9.js +1 -0
  143. package/dist/runtime/server/ui-dist/ui-dist/assets/timeline-definition-IT6M3QCI-DVCsYGZz.js +61 -0
  144. package/dist/runtime/server/ui-dist/ui-dist/assets/treemap-GDKQZRPO-DoydEqe0.js +162 -0
  145. package/dist/runtime/server/ui-dist/ui-dist/assets/xychartDiagram-PRI3JC2R-jIxu5SU4.js +7 -0
  146. package/dist/runtime/server/ui-dist/ui-dist/index.html +2 -2
  147. package/package.json +1 -1
@@ -0,0 +1,37 @@
1
+ import{j as e,r as m,t as pe,s as bs,R as zs}from"./index-DCmEqo8K.js";import{K as Te,M as L,O as H,Q as ae,R as re,S as ie,U as Y,V as x,W as Qe,X as Hs,Y as fe,Z as $e,_ as he,$ as T,a0 as Vs,a1 as G,a2 as be,a3 as ve,a4 as ye,a5 as Ne,a6 as Le,a7 as we,a8 as vs,a9 as K,aa as ee,ab as De,ac as ne,ad as Ys,ae as ys,af as Oe,ag as Js,ah as Xs,ai as Zs,aj as et,ak as Ns,al as st,am as ke,an as tt,ao as nt,ap as at,aq as rt,ar as it,as as Ue,at as W,au as ss,av as ts,aw as de,ax as oe,ay as ms,az as ot,aA as lt,aB as Ge,aC as ct,aD as dt,aE as f,aF as xe,aG as ut,aH as mt,aI as xt,aJ as ns,aK as me,aL as _e,aM as ws,aN as as,aO as gt,aP as He,aQ as ht,aR as pt,aS as ft,aT as ks,aU as Cs,aV as jt,aW as bt,aX as As,aY as Ps,aZ as vt,a_ as yt,a$ as Nt,b0 as Ss,b1 as wt,b2 as kt,b3 as Ct,b4 as At,b5 as Pt,b6 as Ve,b7 as St,b8 as Pe,b9 as Ts,ba as xs,bb as Ye,bc as qs,bd as Je,be as Tt,bf as qt,bg as Mt,bh as Rt,bi as Et,bj as Gt,bk as rs,bl as It,bm as Lt,bn as Ot,bo as Ft,bp as Dt,bq as Kt,br as Qt,bs as $t,bt as Ut,bu as _t,bv as Bt,bw as Wt,bx as zt,by as Ht,bz as Vt,bA as Yt,bB as Jt,bC as Xt}from"./OnboardingWizard-7V9IoFqk.js";const gs={knowledge:{saveRunOutputs:!0,freezeWhenConnected:!0}};function Ee(s){return s&&typeof s=="object"&&!Array.isArray(s)?s:null}function ce(s){return typeof s=="string"&&s.trim().length>0?s.trim():null}function hs(s,t){return typeof s=="boolean"?s:t}function Se(s){const t=Ee(s),n=Ee(t==null?void 0:t.policy),r=Ee(t==null?void 0:t.knowledge),o=Ee(t==null?void 0:t.defaultIssueConfig);return{policy:{heartbeatCadence:ce(n==null?void 0:n.heartbeatCadence),performanceReviewCadence:ce(n==null?void 0:n.performanceReviewCadence),escalationPolicy:ce(n==null?void 0:n.escalationPolicy)},knowledge:{saveRunOutputs:hs(r==null?void 0:r.saveRunOutputs,gs.knowledge.saveRunOutputs),freezeWhenConnected:hs(r==null?void 0:r.freezeWhenConnected,gs.knowledge.freezeWhenConnected)},defaultIssueConfig:{outputExpectations:ce(o==null?void 0:o.outputExpectations),successMetric:ce(o==null?void 0:o.successMetric),knowledgeCaptureNotes:ce(o==null?void 0:o.knowledgeCaptureNotes)}}}function Ms(s){const t=Ee(s);return!t||t.product!=="gtm"&&t.surfaceProfile!=="gtm"?null:{product:"gtm",surfaceProfile:"gtm",entity:"campaign",targetAudience:ce(t.targetAudience),offer:ce(t.offer),successDefinition:ce(t.successDefinition),settings:Se(t.settings)}}function Rs(s){return{product:"gtm",surfaceProfile:"gtm",entity:"campaign",targetAudience:ce(s.targetAudience),offer:ce(s.offer),successDefinition:ce(s.successDefinition),settings:Se(s.settings)}}/**
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 Zt=[["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2",key:"1ksdt3"}],["path",{d:"M22 13a18.15 18.15 0 0 1-20 0",key:"12hx5q"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],Ke=Te("briefcase-business",Zt);/**
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 en=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],Es=Te("pencil-line",en);/**
12
+ * @license lucide-react v0.574.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const sn=[["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"}]],tn=Te("refresh-ccw",sn);/**
17
+ * @license lucide-react v0.574.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */const nn=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],an=Te("send",nn);/**
22
+ * @license lucide-react v0.574.0 - ISC
23
+ *
24
+ * This source code is licensed under the ISC license.
25
+ * See the LICENSE file in the root directory of this source tree.
26
+ */const rn=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],on=Te("settings-2",rn);/**
27
+ * @license lucide-react v0.574.0 - ISC
28
+ *
29
+ * This source code is licensed under the ISC license.
30
+ * See the LICENSE file in the root directory of this source tree.
31
+ */const ln=[["path",{d:"m19 5 3-3",key:"yk6iyv"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z",key:"1snsnr"}]],cn=Te("unplug",ln),q={getProfile:()=>L.get("/gtm/profile"),getKnowledge:()=>L.get("/gtm/knowledge"),getConnectors:()=>L.get("/gtm/connectors"),getConnection:()=>L.get("/gtm/connection"),saveConnectionConfig:s=>L.post("/gtm/connection/config",s),testConnection:()=>L.post("/gtm/connection/test",{}),disconnectConnection:()=>L.post("/gtm/connection/disconnect",{}),getWorkflow:()=>L.get("/gtm/workflow"),launchWorkflow:()=>L.post("/gtm/workflow/run",{}),listAgents:s=>L.get(`/gtm/companies/${s}/agents`),createAgent:(s,t)=>L.post(`/gtm/companies/${s}/agents`,t),invokeAgent:(s,t)=>L.post(`/gtm/agents/${s}/invoke?companyId=${encodeURIComponent(t)}`,{}),pauseAgent:(s,t)=>L.post(`/gtm/agents/${s}/pause?companyId=${encodeURIComponent(t)}`,{}),resumeAgent:(s,t)=>L.post(`/gtm/agents/${s}/resume?companyId=${encodeURIComponent(t)}`,{}),listTickets:s=>L.get(`/gtm/companies/${s}/tickets`),createTicket:(s,t)=>L.post(`/gtm/companies/${s}/tickets`,t),createCampaignDraft:(s,t)=>L.post(`/gtm/companies/${s}/campaign-drafts`,t),listIssues:s=>L.get(`/gtm/companies/${s}/issues`),createIssue:(s,t)=>L.post(`/gtm/companies/${s}/issues`,t),listInbox:s=>L.get(`/gtm/companies/${s}/inbox`),listRuns:s=>L.get(`/gtm/companies/${s}/runs`),getWorkspaceConfig:s=>L.get(`/gtm/companies/${s}/workspace-config`),upsertWorkspaceClaudeBrowser:(s,t)=>L.post(`/gtm/companies/${s}/workspace-config/claude-browser`,t)};function Gs({description:s,connected:t,baseUrl:n,callbackUrl:r,portalBaseUrl:o,machineLabel:b,workspaceLabel:v,onOpenConfiguration:j,onRefresh:w,onPulseConnection:l,onDisconnect:P,pulsePending:c=!1,disconnectPending:C=!1,openDisabled:k=!1}){return e.jsxs(H,{children:[e.jsxs(ae,{children:[e.jsx(re,{children:"Growthub Connection"}),e.jsx(ie,{children:s})]}),e.jsxs(Y,{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:"Status"}),e.jsx("p",{className:"mt-1",children:t?"Connected":"Needs attention"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Base URL"}),e.jsx("p",{className:"mt-1 break-all",children:n})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Callback URL"}),e.jsx("p",{className:"mt-1 break-all",children:r})]}),o?e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Portal URL"}),e.jsx("p",{className:"mt-1 break-all",children:o})]}):null,b?e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Machine Label"}),e.jsx("p",{className:"mt-1",children:b})]}):null,v?e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Workspace Label"}),e.jsx("p",{className:"mt-1",children:v})]}):null,e.jsxs("div",{className:"flex gap-2 pt-1",children:[e.jsxs(x,{size:"sm",variant:"outline",onClick:j,disabled:k,children:[e.jsx(Qe,{className:"mr-2 h-4 w-4"}),"Open Configuration"]}),e.jsx(x,{size:"sm",variant:"outline",onClick:w,children:"Refresh"}),t&&l?e.jsxs(x,{size:"sm",variant:"outline",onClick:l,disabled:c,children:[e.jsx(Hs,{className:`mr-2 h-4 w-4 ${c?"animate-pulse":""}`}),"Pulse"]}):null,t&&P?e.jsxs(x,{size:"sm",variant:"outline",onClick:P,disabled:C,children:[e.jsx(cn,{className:"mr-2 h-4 w-4"}),"Disconnect"]}):null]})]})]})}const ps=[{value:"custom",label:"Custom agent"},{value:"sdr",label:"SDR / Outbound"},{value:"research",label:"Research analyst"},{value:"ops",label:"GTM operations"},{value:"content",label:"Content & copy"}],dn=[{value:"claude_local",label:"Claude Code",icon:Le,desc:"Local Claude agent",recommended:!0},{value:"codex_local",label:"Codex",icon:Ys,desc:"Local Codex agent",recommended:!0}],un=[{value:"gemini_local",label:"Gemini CLI",icon:Js,desc:"Local Gemini agent"},{value:"opencode_local",label:"OpenCode",icon:Xs,desc:"Local multi-provider agent"},{value:"pi_local",label:"Pi",icon:Zs,desc:"Local Pi agent"},{value:"cursor",label:"Cursor",icon:et,desc:"Local Cursor agent"},{value:"openclaw_gateway",label:"OpenClaw Gateway",icon:Ns,desc:"Invoke OpenClaw via gateway protocol"}];function Xe(s){const{adapterType:t,...n}=tt,r={...n,adapterType:s,heartbeatEnabled:!0,intervalSec:3600};return s==="codex_local"?(r.model=nt,r.dangerouslyBypassSandbox=at):s==="gemini_local"?r.model=rt:s==="cursor"?r.model=it:s==="opencode_local"&&(r.model=""),r}function mn({open:s,onClose:t,companyId:n,onSuccess:r}){const{pushToast:o}=fe(),{openNewIssue:b}=$e(),v=he(),j=m.useRef(null),w=m.useRef(null),[l,P]=m.useState("chooser"),[c,C]=m.useState(""),[k,E]=m.useState(""),[d,R]=m.useState(!1),[S,Q]=m.useState(()=>Xe("codex_local")),[y,N]=m.useState(null),[J,$]=m.useState("custom"),[U,M]=m.useState(""),[O,p]=m.useState(!1),{data:z=[]}=T({queryKey:W.agents.list(n),queryFn:()=>Ue.list(n),enabled:s}),F=m.useMemo(()=>z.find(g=>g.role==="ceo")??z[0]??null,[z]);m.useEffect(()=>{s&&(P("chooser"),C(""),E(""),R(!1),Q(Xe("codex_local")),N(null),$("custom"),M(""),p(!1),window.setTimeout(()=>{var g;return(g=w.current)==null?void 0:g.focus()},80))},[s]),m.useEffect(()=>{!s||l!=="editor"||window.setTimeout(()=>{var g;return(g=j.current)==null?void 0:g.focus()},80)},[l,s]);const I=m.useMemo(()=>Vs(S.adapterType),[S.adapterType]),a=G({mutationFn:async()=>{if(!c.trim())throw new Error("Agent name is required.");if(S.adapterType==="opencode_local"&&!S.model.trim())throw new Error("OpenCode requires an explicit model in provider/model format.");return q.createAgent(n,{name:c.trim(),role:"general",title:k.trim()||null,adapterType:S.adapterType,adapterConfig:I.buildAdapterConfig(S),runtimeConfig:{heartbeat:{enabled:S.heartbeatEnabled,intervalSec:S.intervalSec,wakeOnDemand:!0,cooldownSec:10,maxConcurrentRuns:1}}})},onSuccess:async g=>{await v.invalidateQueries({queryKey:["gtm","agents",n]}),r==null||r(g),o({title:"Agent created",body:"The GTM agent is ready for assignment.",tone:"success"}),t()},onError:g=>{const _=g instanceof Error?g.message:"Failed to create agent";N(_),o({title:"Agent creation failed",body:_,tone:"error"})}});function A(){var D;const g=((D=ps.find(ue=>ue.value===J))==null?void 0:D.label)??J,_=U.trim(),i=["## GTM Agent Creation Request","","This issue was generated by the GTM Agent Creation modal.","Use the paperclip-create-agent skill to fulfill this request.","","### Parameters","","- **Action:** Create a new GTM agent (hire via agent-hires API)",`- **Draft focus:** ${g}`,"- **Surface profile:** gtm"];_&&i.push("","### Operator Prompt","",_),O&&i.push("","### Constraints","","Extend current GTM patterns — bias toward the existing GTM agent posture, reuse proven adapter config from sibling agents, and align reporting line within the current GTM org structure instead of creating a net-new structure."),t(),b({assigneeAgentId:F==null?void 0:F.id,title:`[GTM Agent Creation] ${g}${_?`: ${_.slice(0,80)}`:""}`,description:i.join(`
32
+ `)})}function X(g){const _=g.icon;return e.jsxs("button",{type:"button",className:Oe("relative flex flex-col items-center gap-1.5 rounded-md border p-3 text-xs transition-colors",S.adapterType===g.value?"border-foreground bg-accent":"border-border hover:bg-accent/50"),onClick:()=>{Q(Xe(g.value)),N(null)},children:[g.recommended?e.jsx("span",{className:"absolute -top-1.5 right-1.5 rounded-full bg-green-500 px-1.5 py-0.5 text-[9px] font-semibold leading-none text-white",children:"Recommended"}):null,e.jsx(_,{className:"h-4 w-4"}),e.jsx("span",{className:"font-medium",children:g.label}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:g.desc})]},g.value)}return e.jsx(be,{open:s,onOpenChange:g=>!g&&t(),children:e.jsxs(ve,{className:"max-h-[92vh] overflow-y-auto p-0 gap-0",style:{width:"min(980px, 92vw)",maxWidth:"92vw"},children:[e.jsxs(ye,{className:"border-b border-border px-6 pt-6 pb-4",children:[e.jsxs(Ne,{className:"flex items-center gap-2 text-lg",children:[e.jsx(Le,{className:"h-4 w-4 text-primary"}),"New GTM Agent"]}),e.jsx(we,{children:l==="chooser"?"Choose how you want to create the agent. Build from scratch configures adapter and runtime directly. AI delegates to the CEO path to draft the agent for you.":"Configure the GTM agent adapter and runtime settings, then create."})]}),l==="chooser"?e.jsx("div",{className:"px-6 py-8",children:e.jsxs("div",{className:"mx-auto grid max-w-4xl gap-5 lg:grid-cols-2",children:[e.jsxs("button",{ref:w,type:"button",className:"group rounded-2xl border border-border bg-card p-6 text-left transition-colors hover:border-primary/40 hover:bg-accent/20 focus:outline-none focus:ring-2 focus:ring-ring",onClick:()=>P("editor"),children:[e.jsx("div",{className:"mb-5 flex h-11 w-11 items-center justify-center rounded-full border border-border bg-background",children:e.jsx(Es,{className:"h-5 w-5 text-primary"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-lg font-semibold",children:"Build From Scratch"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Start with a blank agent configuration and choose the adapter type, runtime settings, and identity yourself."})]}),e.jsxs("div",{className:"mt-6 flex items-center text-sm font-medium text-primary",children:["Open blank campaign builder",e.jsx(vs,{className:"ml-2 h-4 w-4 transition-transform group-hover:translate-x-0.5"})]})]}),e.jsxs("div",{className:"rounded-2xl border border-border bg-card p-6",children:[e.jsx("div",{className:"mb-5 flex h-11 w-11 items-center justify-center rounded-full border border-border bg-background",children:e.jsx(Ke,{className:"h-5 w-5 text-primary"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-lg font-semibold",children:"Build From AI"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Ask the CEO path to draft the agent configuration, then review the result in the inbox."})]}),e.jsxs("div",{className:"mt-5 space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Draft focus"}),e.jsx("select",{className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 text-sm",value:J,onChange:g=>$(g.target.value),children:ps.map(g=>e.jsx("option",{value:g.value,children:g.label},g.value))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"CEO prompt"}),e.jsx(ee,{value:U,onChange:g=>M(g.target.value),placeholder:"Create an SDR browser agent that handles outbound prospecting and lead qualification.",rows:3,className:"min-h-[88px] resize-y"})]}),e.jsxs("label",{className:"flex items-start gap-3 rounded-lg border border-border bg-background/40 px-3 py-3",children:[e.jsx(De,{checked:O,onCheckedChange:g=>p(!!g)}),e.jsxs("span",{className:"space-y-1",children:[e.jsx("span",{className:"block text-sm font-medium",children:"Extend current GTM patterns"}),e.jsx("span",{className:"block text-xs text-muted-foreground",children:"Ask the CEO path to bias the agent draft toward the existing GTM agent posture instead of a net-new structure."})]})]})]}),e.jsx("div",{className:"mt-6 flex justify-end",children:e.jsxs(x,{type:"button",onClick:A,disabled:!U.trim(),className:"gap-2",children:[e.jsx(Ke,{className:"h-4 w-4"}),"Send To CEO"]})})]})]})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border px-6 py-3",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Manual agent configuration"}),e.jsx(x,{variant:"ghost",size:"sm",onClick:()=>P("chooser"),children:"Back"})]}),e.jsx("div",{className:"space-y-6 px-6 py-5",children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:"Agent name"}),e.jsx(ne,{ref:j,value:c,onChange:g=>C(g.target.value),placeholder:"SDR Browser Agent"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:"Title"}),e.jsx(ne,{value:k,onChange:g=>E(g.target.value),placeholder:"Outbound automation"})]})]}),e.jsxs("div",{className:"space-y-3 rounded-xl border border-border bg-card p-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold",children:"Choose how this agent runs"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Use the same adapter-selection pattern as onboarding, then tune the full config below."})]}),e.jsx("div",{className:"grid grid-cols-2 gap-2",children:dn.map(X)}),e.jsxs("button",{type:"button",className:"flex items-center gap-1.5 text-xs text-muted-foreground transition-colors hover:text-foreground",onClick:()=>R(g=>!g),children:[e.jsx(ys,{className:Oe("h-3 w-3 transition-transform",d?"rotate-0":"-rotate-90")}),"More Agent Adapter Types"]}),d?e.jsx("div",{className:"grid grid-cols-2 gap-2",children:un.map(X)}):null]}),e.jsx(st,{mode:"create",values:S,onChange:g=>{Q(_=>({..._,...g})),N(null)},sectionLayout:"cards"}),y?e.jsx("div",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:y}):null]})}),e.jsxs(ke,{className:"border-t border-border px-6 py-4",children:[e.jsx(x,{variant:"outline",onClick:t,disabled:a.isPending,children:"Cancel"}),e.jsx(x,{onClick:()=>a.mutate(),disabled:!c.trim()||a.isPending,children:a.isPending?"Creating...":"Create Agent"})]})]})]})})}function Is({settings:s,onChange:t}){return e.jsxs("section",{className:"space-y-4 rounded-xl border border-border bg-card p-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold",children:"Campaign settings"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Thin GTM campaign policy and knowledge controls layered on top of the canonical Paperclip ticket."})]}),e.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-medium text-muted-foreground",children:"Heartbeat pulse policy"}),e.jsx(ne,{value:s.policy.heartbeatCadence??"",onChange:n=>t({...s,policy:{...s.policy,heartbeatCadence:n.target.value||null}}),placeholder:"Daily operator review + on-demand agent wakeups"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-medium text-muted-foreground",children:"Performance review cadence"}),e.jsx(ne,{value:s.policy.performanceReviewCadence??"",onChange:n=>t({...s,policy:{...s.policy,performanceReviewCadence:n.target.value||null}}),placeholder:"Review KPI deltas every Friday"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-medium text-muted-foreground",children:"Campaign escalation policy"}),e.jsx(ee,{value:s.policy.escalationPolicy??"",onChange:n=>t({...s,policy:{...s.policy,escalationPolicy:n.target.value||null}}),rows:2,placeholder:"How stage blockers, failed runs, or off-target output should escalate."})]}),e.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-medium text-muted-foreground",children:"Default output expectations"}),e.jsx(ee,{value:s.defaultIssueConfig.outputExpectations??"",onChange:n=>t({...s,defaultIssueConfig:{...s.defaultIssueConfig,outputExpectations:n.target.value||null}}),rows:3,placeholder:"What every GTM issue should produce before completion."})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-medium text-muted-foreground",children:"Default KPI / success metric"}),e.jsx(ee,{value:s.defaultIssueConfig.successMetric??"",onChange:n=>t({...s,defaultIssueConfig:{...s.defaultIssueConfig,successMetric:n.target.value||null}}),rows:3,placeholder:"Response rate, meetings booked, content shipped, approvals passed, etc."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-medium text-muted-foreground",children:"Knowledge capture notes"}),e.jsx(ee,{value:s.defaultIssueConfig.knowledgeCaptureNotes??"",onChange:n=>t({...s,defaultIssueConfig:{...s.defaultIssueConfig,knowledgeCaptureNotes:n.target.value||null}}),rows:2,placeholder:"What the campaign should preserve to workspace knowledge when available."})]}),e.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[e.jsxs("label",{className:"flex items-start gap-3 rounded-lg border border-border bg-background/40 px-3 py-3",children:[e.jsx(De,{checked:s.knowledge.saveRunOutputs,onCheckedChange:n=>t({...s,knowledge:{...s.knowledge,saveRunOutputs:!!n}})}),e.jsxs("span",{children:[e.jsx("span",{className:"block text-sm font-medium",children:"Save run outputs to knowledge"}),e.jsx("span",{className:"block text-xs text-muted-foreground",children:"Default GTM campaign policy when knowledge capture is available."})]})]}),e.jsxs("label",{className:"flex items-start gap-3 rounded-lg border border-border bg-background/40 px-3 py-3",children:[e.jsx(De,{checked:s.knowledge.freezeWhenConnected,onCheckedChange:n=>t({...s,knowledge:{...s.knowledge,freezeWhenConnected:!!n}})}),e.jsxs("span",{children:[e.jsx("span",{className:"block text-sm font-medium",children:"Freeze captured knowledge when connected"}),e.jsx("span",{className:"block text-xs text-muted-foreground",children:"Keep captured GTM knowledge stable once the Growthub connection is available."})]})]})]})]})}const xn=["critical","high","medium","low"];function gn(s){const t=[];return s.description.trim()&&t.push(s.description.trim()),s.outputExpectations.trim()&&t.push(`## Output Expectations
33
+ ${s.outputExpectations.trim()}`),s.successMetric.trim()&&t.push(`## KPI / Success Metric
34
+ ${s.successMetric.trim()}`),s.saveRunOutputs&&t.push(`## Knowledge Capture
35
+ Save useful outputs back to workspace knowledge when the Growthub connection is available.`),t.join(`
36
+
37
+ `)}function hn({open:s,onClose:t,companyId:n,ticket:r,agents:o,settings:b,onSuccess:v}){var O;const j=he(),{pushToast:w}=fe(),l=Ms(r.metadata),[P,c]=m.useState(""),[C,k]=m.useState(""),[E,d]=m.useState("medium"),[R,S]=m.useState(r.leadAgentId??""),[Q,y]=m.useState(b.defaultIssueConfig.outputExpectations??""),[N,J]=m.useState(b.defaultIssueConfig.successMetric??""),[$,U]=m.useState(b.knowledge.saveRunOutputs),M=G({mutationFn:async()=>{const p=gn({description:C,outputExpectations:Q,successMetric:N,saveRunOutputs:$});return ss.create(n,{ticketId:r.id,ticketStage:null,title:P.trim(),description:p||null,priority:E,status:"backlog",assigneeAgentId:R||null})},onSuccess:async p=>{await Promise.all([j.invalidateQueries({queryKey:["gtm","tickets",n]}),j.invalidateQueries({queryKey:["gtm","ticket-detail",r.id]}),j.invalidateQueries({queryKey:["gtm","issues",n]}),j.invalidateQueries({queryKey:["gtm","inbox",n]})]),v==null||v(p),w({title:"Campaign task created",body:"The GTM issue launcher created a new campaign task.",tone:"success"}),t()},onError:p=>{w({title:"Task creation failed",body:p instanceof Error?p.message:"Failed to create GTM task.",tone:"error"})}});return e.jsx(be,{open:s,onOpenChange:p=>!p&&t(),children:e.jsxs(ve,{className:"max-h-[92vh] overflow-y-auto",style:{width:"min(920px, 92vw)",maxWidth:"92vw"},children:[e.jsxs(ye,{children:[e.jsx(Ne,{children:"Launch GTM task"}),e.jsx(we,{children:"Create a GTM issue inside this campaign with execution context and workspace agent controls."})]}),e.jsxs("div",{className:"grid gap-5 lg:grid-cols-[1.05fr_0.95fr]",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{children:"Issue title"}),e.jsx(ne,{value:P,onChange:p=>c(p.target.value),placeholder:"Build the first outbound asset set for this campaign"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{children:"Execution brief"}),e.jsx(ee,{value:C,onChange:p=>k(p.target.value),rows:5,placeholder:"Describe the task, constraints, dependencies, and what the agent should execute now."})]}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{children:"Output expectations"}),e.jsx(ee,{value:Q,onChange:p=>y(p.target.value),rows:3,placeholder:"What the task must leave behind for operators."})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{children:"KPI / success metric"}),e.jsx(ee,{value:N,onChange:p=>J(p.target.value),rows:3,placeholder:"How this issue should be judged for performance."})]})]})]}),e.jsx("div",{className:"space-y-4",children:e.jsxs("div",{className:"space-y-2 rounded-xl border border-border bg-card p-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold",children:"Issue configuration"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Thin GTM launcher settings layered on top of the shared issue API."})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{children:"Assign agent"}),e.jsxs("select",{className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 text-sm",value:R,onChange:p=>S(p.target.value),children:[e.jsx("option",{value:"",children:"Ticket lead fallback"}),o.map(p=>e.jsxs("option",{value:p.id,children:[p.name," (",p.role,")"]},p.id))]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{children:"Priority"}),e.jsx("select",{className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 text-sm",value:E,onChange:p=>d(p.target.value),children:xn.map(p=>e.jsx("option",{value:p,children:p},p))})]}),e.jsxs("label",{className:"flex items-start gap-3 rounded-lg border border-border bg-background/40 px-3 py-3",children:[e.jsx("input",{type:"checkbox",checked:$,onChange:p=>U(p.target.checked),className:"mt-0.5"}),e.jsxs("span",{children:[e.jsx("span",{className:"block text-sm font-medium",children:"Save to knowledge when available"}),e.jsx("span",{className:"block text-xs text-muted-foreground",children:(O=l==null?void 0:l.settings)!=null&&O.knowledge.freezeWhenConnected?"Knowledge capture is configured to stay frozen when the Growthub connection is available.":"Capture useful run outputs back into workspace knowledge when possible."})]})]})]})})]}),e.jsxs(ke,{children:[e.jsx(x,{variant:"outline",onClick:t,disabled:M.isPending,children:"Cancel"}),e.jsx(x,{onClick:()=>M.mutate(),disabled:!P.trim()||M.isPending,children:M.isPending?"Creating...":"Create GTM Task"})]})]})})}function pn({companyId:s,ticketId:t,companyPrefix:n}){const r=he(),{pushToast:o}=fe(),[b,v]=m.useState(!1),j=T({queryKey:["gtm","ticket-detail",t],queryFn:()=>ts.get(s,t)}),w=T({queryKey:W.agents.list(s),queryFn:()=>Ue.list(s)}),l=j.data,P=w.data??[],c=Ms(l==null?void 0:l.metadata),[C,k]=m.useState(()=>Se(null));m.useEffect(()=>{l&&k(Se(c==null?void 0:c.settings))},[c==null?void 0:c.settings,l]);const E=G({mutationFn:async()=>{if(!l)throw new Error("Ticket not loaded");return ts.update(s,l.id,{metadata:Rs({targetAudience:(c==null?void 0:c.targetAudience)??null,offer:(c==null?void 0:c.offer)??null,successDefinition:(c==null?void 0:c.successDefinition)??null,settings:C})})},onSuccess:async()=>{await Promise.all([r.invalidateQueries({queryKey:["gtm","ticket-detail",t]}),r.invalidateQueries({queryKey:["gtm","tickets",s]})]),o({title:"Campaign settings saved",tone:"success"})}}),d=G({mutationFn:({issueId:y,assigneeAgentId:N})=>ss.update(y,{assigneeAgentId:N}),onSuccess:async()=>{await Promise.all([r.invalidateQueries({queryKey:["gtm","ticket-detail",t]}),r.invalidateQueries({queryKey:["gtm","issues",s]}),r.invalidateQueries({queryKey:["gtm","inbox",s]})])}}),R=G({mutationFn:y=>ss.remove(y),onSuccess:async()=>{await Promise.all([r.invalidateQueries({queryKey:["gtm","ticket-detail",t]}),r.invalidateQueries({queryKey:["gtm","issues",s]}),r.invalidateQueries({queryKey:["gtm","inbox",s]})]),o({title:"Task removed",tone:"success"})}});if(j.isLoading)return e.jsx("div",{className:"rounded-lg border border-border bg-card p-6 text-sm text-muted-foreground",children:"Loading campaign…"});if(j.error||!l){const y=j.error;return e.jsx("div",{className:"rounded-lg border border-destructive/30 bg-card p-6 text-sm text-destructive",children:y instanceof Error?y.message:"Failed to load campaign"})}const S=y=>{const N=y.startsWith("/")?y:`/${y}`;return n?pe(`/${lt(n)}${N}`):pe(N)},Q=[...l.issues??[]].sort((y,N)=>new Date(N.updatedAt).getTime()-new Date(y.updatedAt).getTime());return e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"rounded-xl border border-border bg-card",children:e.jsxs("div",{className:"flex items-center justify-between gap-4 px-4 py-4",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Le,{className:"h-4 w-4 text-primary"}),e.jsx("h2",{className:"truncate text-base font-semibold",children:l.title}),e.jsx(de,{variant:"outline",children:l.status})]}),l.description?e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:l.description}):null]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x,{variant:"outline",asChild:!0,children:e.jsxs(oe,{to:S(`/tickets/${l.id}`),children:[e.jsx(Qe,{className:"h-3.5 w-3.5"}),"Open ticket"]})}),e.jsxs(x,{onClick:()=>v(!0),children:[e.jsx(ms,{className:"h-3.5 w-3.5"}),"New task"]})]})]})}),e.jsx(Is,{settings:C,onChange:k}),e.jsx("div",{className:"flex justify-end",children:e.jsx(x,{variant:"outline",onClick:()=>E.mutate(),disabled:E.isPending,children:E.isPending?"Saving…":"Save campaign settings"})}),e.jsxs("div",{className:"rounded-xl border border-border bg-card",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border px-4 py-3",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold",children:"Campaign tasks"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Paperclip issues running inside this GTM campaign — assign to agents and track from inbox."})]}),e.jsxs(x,{size:"sm",onClick:()=>v(!0),children:[e.jsx(ms,{className:"h-3.5 w-3.5"}),"New task"]})]}),Q.length===0?e.jsx("div",{className:"px-4 py-8 text-center text-sm text-muted-foreground",children:"No tasks yet. Launch the first issue to start executing this campaign."}):e.jsx("div",{className:"divide-y divide-border",children:Q.map(y=>e.jsxs("div",{className:"flex flex-col gap-3 px-4 py-4 xl:flex-row xl:items-center xl:justify-between",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"truncate font-medium",children:y.title}),e.jsx(de,{variant:"outline",children:y.priority}),e.jsx(de,{variant:"outline",children:y.status})]}),e.jsx("p",{className:"mt-0.5 text-xs text-muted-foreground",children:y.identifier??y.id.slice(0,8)})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("select",{className:"flex h-9 min-w-[200px] rounded-md border border-input bg-transparent px-3 text-sm",value:y.assigneeAgentId??"",onChange:N=>d.mutate({issueId:y.id,assigneeAgentId:N.target.value||null}),children:[e.jsx("option",{value:"",children:"Unassigned"}),P.map(N=>e.jsxs("option",{value:N.id,children:[N.name," (",N.role,")"]},N.id))]}),e.jsx(x,{variant:"outline",size:"sm",asChild:!0,children:e.jsx(oe,{to:S(`/issues/${y.identifier??y.id}`),children:"Open issue"})}),e.jsx(x,{variant:"outline",size:"sm",onClick:()=>R.mutate(y.id),disabled:R.isPending,children:e.jsx(ot,{className:"h-3.5 w-3.5"})})]})]},y.id))})]}),e.jsx(hn,{open:b,onClose:()=>v(!1),companyId:s,ticket:l,agents:P,settings:C})]})}const fn={product:"gtm",surfaceProfile:"gtm",entity:"campaign"},fs=[{value:"custom",label:"Custom workflow"},{value:"outbound",label:"Outbound campaign"},{value:"launch",label:"Launch campaign"},{value:"nurture",label:"Lifecycle nurture"},{value:"partnership",label:"Partnership motion"}];function Ze(s=""){return{title:"",description:"",instructions:"",targetAudience:"",offer:"",successDefinition:"",leadAgentId:s,settings:Se(null)}}function Fe(s){return JSON.stringify({title:s.title.trim(),description:s.description.trim(),instructions:s.instructions.trim(),targetAudience:s.targetAudience.trim(),offer:s.offer.trim(),successDefinition:s.successDefinition.trim(),leadAgentId:s.leadAgentId||"",settings:s.settings})}function jn(s,t){return{title:s.title??"",description:s.description??"",instructions:s.instructions??"",targetAudience:s.targetAudience??"",offer:s.offer??"",successDefinition:s.successDefinition??"",leadAgentId:s.leadAgentId??t,settings:Se(null)}}function bn({open:s,onClose:t,companyId:n,onSuccess:r}){var _;const o=he(),{pushToast:b}=fe(),v=m.useRef(null),j=m.useRef(null),w=m.useRef(""),[l,P]=m.useState("chooser"),[c,C]=m.useState(()=>Ze()),[k,E]=m.useState("custom"),[d,R]=m.useState(""),[S,Q]=m.useState(!1),[y,N]=m.useState(!1),[J,$]=m.useState(!1),{data:U=[]}=T({queryKey:W.agents.list(n),queryFn:()=>Ue.list(n),enabled:s}),M=m.useMemo(()=>U.find(i=>i.role==="ceo")??U[0]??null,[U]);m.useEffect(()=>{if(!s)return;const i=Ze((M==null?void 0:M.id)??"");P("chooser"),C(i),E("custom"),R(""),Q(!1),N(!1),$(!1),w.current=Fe(i),window.setTimeout(()=>{var D;return(D=j.current)==null?void 0:D.focus()},80)},[M==null?void 0:M.id,s]),m.useEffect(()=>{!s||l!=="editor"||window.setTimeout(()=>{var i;return(i=v.current)==null?void 0:i.focus()},80)},[l,s]);const O=k!=="custom"||S||d.trim().length>0,p=l==="editor"&&Fe(c)!==w.current,z=G({mutationFn:()=>q.createCampaignDraft(n,{draftProfile:k,prompt:d.trim(),extendExisting:S}),onSuccess:i=>{const D=jn(i,(M==null?void 0:M.id)??"");C(D),w.current=Fe(D),P("editor"),$(!1),b({title:"CEO draft ready",body:"Review the generated campaign, then save when it looks right.",tone:"success"})},onError:i=>{b({title:"CEO draft failed",body:i instanceof Error?i.message:"Failed to generate a GTM campaign draft.",tone:"error"})}}),F=G({mutationFn:()=>ts.create(n,{title:c.title.trim(),description:c.description.trim()||void 0,instructions:c.instructions.trim()||void 0,leadAgentId:c.leadAgentId||void 0,metadata:{...fn,...Rs({targetAudience:c.targetAudience.trim()||null,offer:c.offer.trim()||null,successDefinition:c.successDefinition.trim()||null,settings:c.settings})}}),onSuccess:async i=>{const D=ue=>[i,...(ue??[]).filter(se=>se.id!==i.id)];o.setQueryData(W.tickets.list(n),D),o.setQueryData(["gtm","tickets",n],D),o.setQueryData(["gtm","ticket-detail",i.id],i),await Promise.all([o.invalidateQueries({queryKey:W.tickets.list(n)}),o.invalidateQueries({queryKey:["gtm","tickets",n]}),o.invalidateQueries({queryKey:["gtm","inbox",n]})]),r==null||r(i),t()},onError:i=>{b({title:"Campaign creation failed",body:i instanceof Error?i.message:"Failed to create GTM campaign.",tone:"error"})}}),I=F.isPending||z.isPending;function a(i){C(D=>({...D,...i}))}function A(){if(I||p||O){N(!0);return}t()}function X(){const i=Ze((M==null?void 0:M.id)??"");C(i),w.current=Fe(i),P("editor")}function g(i){const D=U.find(ue=>ue.id===i);return D?`${D.name} (${D.role})`:"No lead agent"}return e.jsxs(e.Fragment,{children:[e.jsx(be,{open:s,onOpenChange:i=>!i&&A(),children:e.jsxs(ve,{showCloseButton:!0,className:"max-h-[92vh] overflow-y-auto p-0 gap-0",style:{width:"min(1120px, 92vw)",maxWidth:"92vw"},onEscapeKeyDown:i=>{!I&&!p&&!O||(i.preventDefault(),N(!0))},onPointerDownOutside:i=>{!I&&!p&&!O||(i.preventDefault(),N(!0))},children:[z.isPending?e.jsx("div",{className:"h-1 w-full bg-primary/80"}):null,e.jsxs(ye,{className:"border-b border-border px-6 pt-6 pb-4",children:[e.jsxs(Ne,{className:"flex items-center gap-2 text-lg",children:[e.jsx(Le,{className:"h-4 w-4 text-primary"}),"New GTM Campaign"]}),e.jsx(we,{children:l==="chooser"?"Choose how you want to initialize the campaign. Scratch stays blank. AI drafts through the CEO path and then hands you a fully editable campaign.":"Build a reusable GTM campaign on top of the canonical ticket pipeline with agent controls and campaign settings."})]}),l==="chooser"?e.jsx("div",{className:"px-6 py-8",children:e.jsxs("div",{className:"mx-auto grid max-w-4xl gap-5 lg:grid-cols-2",children:[e.jsxs("button",{ref:j,type:"button",className:"group rounded-2xl border border-border bg-card p-6 text-left transition-colors hover:border-primary/40 hover:bg-accent/20 focus:outline-none focus:ring-2 focus:ring-ring",onClick:X,disabled:I,children:[e.jsx("div",{className:"mb-5 flex h-11 w-11 items-center justify-center rounded-full border border-border bg-background",children:e.jsx(Es,{className:"h-5 w-5 text-primary"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-lg font-semibold",children:"Build From Scratch"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Start with a blank GTM campaign and define the metadata, settings, and agent alignment yourself."})]}),e.jsxs("div",{className:"mt-6 flex items-center text-sm font-medium text-primary",children:["Open blank campaign builder",e.jsx(vs,{className:"ml-2 h-4 w-4 transition-transform group-hover:translate-x-0.5"})]})]}),e.jsxs("div",{className:"rounded-2xl border border-border bg-card p-6",children:[e.jsx("div",{className:"mb-5 flex h-11 w-11 items-center justify-center rounded-full border border-border bg-background",children:e.jsx(Ns,{className:"h-5 w-5 text-primary"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-lg font-semibold",children:"Build From AI"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Ask the CEO path to generate a first campaign draft, then review and customize everything before saving."})]}),e.jsxs("div",{className:"mt-5 space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Draft focus"}),e.jsx("select",{className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 text-sm",value:k,onChange:i=>E(i.target.value),disabled:I,children:fs.map(i=>e.jsx("option",{value:i.value,children:i.label},i.value))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"CEO prompt"}),e.jsx(ee,{value:d,onChange:i=>R(i.target.value),placeholder:"Build a founder-led outbound campaign for seed-stage fintech CFOs.",disabled:I,rows:3,className:"min-h-[88px] resize-y"})]}),e.jsxs("label",{className:"flex items-start gap-3 rounded-lg border border-border bg-background/40 px-3 py-3",children:[e.jsx(De,{checked:S,onCheckedChange:i=>Q(!!i),disabled:I}),e.jsxs("span",{className:"space-y-1",children:[e.jsx("span",{className:"block text-sm font-medium",children:"Extend current GTM patterns"}),e.jsx("span",{className:"block text-xs text-muted-foreground",children:"Ask the CEO path to bias the draft toward the existing GTM campaign posture instead of a net-new structure."})]})]})]}),e.jsx("div",{className:"mt-6 flex justify-end",children:e.jsxs(x,{type:"button",onClick:()=>$(!0),disabled:!d.trim()||I,className:"gap-2",children:[z.isPending?e.jsx(Ge,{className:"h-4 w-4 animate-spin"}):e.jsx(an,{className:"h-4 w-4"}),"Send To CEO"]})})]})]})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border px-6 py-3",children:[e.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:p?e.jsx("span",{className:"text-xs text-muted-foreground",children:"Unsaved changes"}):e.jsx("span",{className:"text-xs text-muted-foreground",children:"Ready to save"})}),e.jsx(x,{variant:"ghost",size:"sm",onClick:()=>P("chooser"),disabled:I,children:"Back"})]}),e.jsxs("div",{className:"grid gap-6 px-6 py-5 lg:grid-cols-[1.1fr_0.9fr]",children:[e.jsxs("div",{className:"space-y-6",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Campaign title"}),e.jsx(ne,{ref:v,value:c.title,onChange:i=>a({title:i.target.value}),placeholder:"Launch founder-led outbound for ICP A"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Campaign objective"}),e.jsx(ee,{value:c.description,onChange:i=>a({description:i.target.value}),placeholder:"Describe the target outcome, why this campaign exists, and the business context.",rows:4})]})]}),e.jsxs("section",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Target audience"}),e.jsx(ee,{value:c.targetAudience,onChange:i=>a({targetAudience:i.target.value}),placeholder:"Ideal customer profile, segment, list source, or account constraints.",rows:4})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Offer / message"}),e.jsx(ee,{value:c.offer,onChange:i=>a({offer:i.target.value}),placeholder:"Core offer, CTA, angle, assets, and messaging constraints.",rows:4})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Workflow instructions"}),e.jsx(ee,{value:c.instructions,onChange:i=>a({instructions:i.target.value}),placeholder:"Canonical CEO brief, guardrails, approvals, and issue creation expectations.",rows:5})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Success definition"}),e.jsx(ee,{value:c.successDefinition,onChange:i=>a({successDefinition:i.target.value}),placeholder:"How operators should decide that this campaign is complete or needs iteration.",rows:3})]})]}),e.jsx(Is,{settings:c.settings,onChange:i=>a({settings:i})})]}),e.jsx("div",{className:"space-y-6",children:e.jsxs("section",{className:"space-y-3 rounded-xl border border-border bg-card p-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(on,{className:"h-4 w-4 text-muted-foreground"}),e.jsx("h3",{className:"text-sm font-semibold",children:"Lead agent alignment"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"The lead agent is the canonical fallback for issue ownership when an issue does not specify an assignee."}),e.jsxs("select",{className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 text-sm",value:c.leadAgentId,onChange:i=>a({leadAgentId:i.target.value}),children:[e.jsx("option",{value:"",children:"No lead agent"}),U.map(i=>e.jsx("option",{value:i.id,children:g(i.id)},i.id))]})]})})]}),e.jsxs(ke,{className:"border-t border-border px-6 py-4",children:[e.jsx(x,{variant:"outline",onClick:A,disabled:F.isPending,children:"Cancel"}),e.jsxs(x,{onClick:()=>F.mutate(),disabled:!c.title.trim()||F.isPending,className:Oe("gap-2",F.isPending&&"opacity-80"),children:[F.isPending?e.jsx(Ge,{className:"h-4 w-4 animate-spin"}):e.jsx(ct,{className:"h-4 w-4"}),"Create GTM Campaign"]})]})]})]})}),e.jsx(be,{open:y,onOpenChange:N,children:e.jsxs(ve,{className:"sm:max-w-md",showCloseButton:!1,children:[e.jsxs(ye,{children:[e.jsx(Ne,{children:I?"Discard in-flight work?":"Discard campaign changes?"}),e.jsx(we,{children:I?"The campaign draft or save flow is still running. If you leave now, you will discard the current modal state.":"You have unsaved campaign changes. Continue editing to keep them, or discard them and close the modal."})]}),e.jsxs(ke,{children:[e.jsx(x,{variant:"outline",onClick:()=>N(!1),children:"Continue editing"}),e.jsx(x,{variant:"destructive",onClick:()=>{N(!1),t()},children:"Discard changes"})]})]})}),e.jsx(be,{open:J,onOpenChange:$,children:e.jsxs(ve,{className:"sm:max-w-md",children:[e.jsxs(ye,{children:[e.jsx(Ne,{children:"Send this to the CEO path?"}),e.jsx(we,{children:"This generates a campaign draft first, then hands you the full GTM campaign editor with the fields pre-populated for review."})]}),e.jsxs("div",{className:"rounded-lg border border-border bg-muted/20 px-3 py-3 text-sm",children:[e.jsx("div",{className:"font-medium",children:(_=fs.find(i=>i.value===k))==null?void 0:_.label}),e.jsx("div",{className:"mt-1 text-muted-foreground",children:d.trim()}),S?e.jsx("div",{className:"mt-2 text-xs text-muted-foreground",children:"Bias toward extending existing GTM workflow patterns."}):null]}),e.jsxs(ke,{children:[e.jsx(x,{variant:"outline",onClick:()=>$(!1),disabled:z.isPending,children:"Cancel"}),e.jsxs(x,{onClick:()=>z.mutate(),disabled:z.isPending,className:"gap-2",children:[z.isPending?e.jsx(Ge,{className:"h-4 w-4 animate-spin"}):e.jsx(Le,{className:"h-4 w-4"}),"Confirm and generate"]})]})]})})]})}function Ls(s){return(s==null?void 0:s.user.id)??(s==null?void 0:s.session.userId)??null}function Os(s){const t=new URL(s.baseUrl);return t.pathname="/integrations",t.search="",t.searchParams.set("return_url",s.callbackUrl),t.toString()}const V=bs.slice(1),Fs=new RegExp(`^${bs}(?=/|$)`),Z={agents:s=>["gtm","agents",s],tickets:s=>["gtm","tickets",s],issues:s=>["gtm","issues",s],inbox:s=>["gtm","inbox",s]};function Ds(s){return s&&typeof s=="object"&&!Array.isArray(s)?s:null}function Ie(s){return typeof s=="string"&&s.trim().length>0?s.trim():null}function js(s){const t=Ds(s.contextSnapshot);return t?Ie(t.issueId)??Ie(t.taskId):null}function vn(s){const t={},n=Ds(s.contextSnapshot);if(!n)return t;const r=Ie(n.issueId),o=Ie(n.taskId),b=Ie(n.taskKey);return r&&(t.issueId=r),o&&(t.taskId=o),b&&(t.taskKey=b),t}function yn({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 Nn(){var o,b;const s=_e(),t=T({queryKey:W.health,queryFn:()=>Gt.get(),retry:!1,refetchInterval:v=>{const j=v.state.data;return(j==null?void 0:j.deploymentMode)==="authenticated"&&j.bootstrapStatus==="bootstrap_pending"?2e3:!1},refetchIntervalInBackground:!0}),n=((o=t.data)==null?void 0:o.deploymentMode)==="authenticated",r=T({queryKey:W.auth.session,queryFn:()=>rs.getSession(),enabled:n,retry:!1});if(t.isLoading||n&&r.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(n&&((b=t.data)==null?void 0:b.bootstrapStatus)==="bootstrap_pending")return e.jsx(yn,{hasActiveInvite:t.data.bootstrapInviteActive});if(n&&!r.data){const v=encodeURIComponent(`${s.pathname}${s.search}`);return e.jsx(xe,{to:`/auth?next=${v}`,replace:!0})}return e.jsx(Ss,{})}function Ks(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 qe(s,t){const n=t.startsWith("/")?t:`/${t}`,r=s?`/${s}`:"";return pe(`${r}${n}`)}function wn(){const{companies:s,selectedCompany:t,loading:n}=me(),r=_e();if(n)return e.jsx("div",{className:"mx-auto max-w-xl py-10 text-sm text-muted-foreground",children:"Loading..."});const o=t??s[0]??null;return o?e.jsx(xe,{to:pe(`${o.issuePrefix}/workspace`),replace:!0}):ws({pathname:r.pathname,hasCompanies:!1})?e.jsx(xe,{to:pe("onboarding"),replace:!0}):e.jsx(Qs,{})}function te(){const s=_e(),{companies:t,selectedCompany:n,loading:r}=me();if(r)return e.jsx("div",{className:"mx-auto max-w-xl py-10 text-sm text-muted-foreground",children:"Loading..."});const o=n??t[0]??null;return o?e.jsx(xe,{to:pe(`${o.issuePrefix}${s.pathname.replace(Fs,"")}${s.search}${s.hash}`),replace:!0}):ws({pathname:s.pathname,hasCompanies:!1})?e.jsx(xe,{to:pe("onboarding"),replace:!0}):e.jsx(Qs,{})}function Qs(){const{openOnboarding:s}=$e();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(x,{onClick:()=>s(),children:"New Company"})})]})})}function $s(){const{companies:s}=me(),{openOnboarding:t}=$e(),{companyPrefix:n}=as(),r=n?s.find(v=>v.issuePrefix.toUpperCase()===n.toUpperCase())??null:null,o=r?`Add another agent to ${r.name}`:s.length>0?"Create another company":"Create your first company",b=r?"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:o}),e.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:b}),e.jsx("div",{className:"mt-4",children:e.jsx(x,{onClick:()=>r?t({initialStep:2,companyId:r.id}):t(),children:r?"Add Agent":"Start Onboarding"})})]})})}function kn(s){const t=T({queryKey:["gtm","profile"],queryFn:()=>q.getProfile()}),n=T({queryKey:["gtm","knowledge"],queryFn:()=>q.getKnowledge()}),r=T({queryKey:["gtm","connectors"],queryFn:()=>q.getConnectors()}),o=T({queryKey:["gtm","connection"],queryFn:()=>q.getConnection()}),b=T({queryKey:["gtm","workflow"],queryFn:()=>q.getWorkflow()}),v=T({queryKey:s?Z.agents(s):["gtm","agents","none"],queryFn:()=>q.listAgents(s),enabled:!!s}),j=T({queryKey:s?Z.tickets(s):["gtm","tickets","none"],queryFn:()=>q.listTickets(s),enabled:!!s}),w=T({queryKey:s?Z.issues(s):["gtm","issues","none"],queryFn:()=>q.listIssues(s),enabled:!!s});return{profileQuery:t,knowledgeQuery:n,connectorsQuery:r,connectionQuery:o,workflowQuery:b,agentsQuery:v,ticketsQuery:j,issuesQuery:w}}function Cn(){var cs,ds;const{selectedCompanyId:s,selectedCompany:t}=me(),{pushToast:n}=fe(),r=he(),[o,b]=m.useState(!1),[v,j]=m.useState(!1),[w,l]=m.useState(""),[P,c]=m.useState(""),[C,k]=m.useState("claude"),[E,d]=m.useState(""),[R,S]=m.useState("claude-sonnet-4-6"),[Q,y]=m.useState(!0),[N,J]=m.useState(""),{profileQuery:$,knowledgeQuery:U,connectorsQuery:M,connectionQuery:O,workflowQuery:p,agentsQuery:z,ticketsQuery:F,issuesQuery:I}=kn(s),a=T({queryKey:s?["gtm","workspace-config",s]:["gtm","workspace-config","none"],queryFn:()=>q.getWorkspaceConfig(s),enabled:!!s}),A=T({queryKey:s?["gtm","runs",s]:["gtm","runs","none"],queryFn:()=>qs.list(s,void 0,8),enabled:!!s}),X=T({queryKey:W.auth.session,queryFn:()=>rs.getSession(),retry:!1}),g=G({mutationFn:()=>q.upsertWorkspaceClaudeBrowser(s,{name:w,title:P,adapterConfig:{command:C,cwd:E,model:R,chrome:Q}}),onSuccess:async()=>{b(!1),await Promise.all([r.invalidateQueries({queryKey:["gtm","workspace-config",s]}),r.invalidateQueries({queryKey:Z.agents(s)})]),n({title:"Workspace configured",body:"Claude browser agent is configured for this workspace.",tone:"success"})},onError:u=>{n({title:"Workspace setup failed",body:u instanceof Error?u.message:"Failed to configure workspace agent",tone:"error"})}}),_=G({mutationFn:()=>q.launchWorkflow(),onSuccess:async()=>{await r.invalidateQueries({queryKey:["gtm","workflow"]}),n({title:"Workflow started",body:"Local SDR execution launched.",tone:"success"})},onError:u=>{n({title:"Workflow failed",body:u instanceof Error?u.message:"Failed to launch workflow",tone:"error"})}}),i=G({mutationFn:async()=>await q.saveConnectionConfig({baseUrl:N.trim()}),onSuccess:async()=>{await Promise.all([r.invalidateQueries({queryKey:["gtm","connection"]}),r.invalidateQueries({queryKey:["gtm","connectors"]})])},onError:u=>{n({title:"Configuration failed",body:u instanceof Error?u.message:"Failed to save Growthub configuration",tone:"error"})}}),D=G({mutationFn:()=>q.testConnection(),onSuccess:async u=>{await Promise.all([r.invalidateQueries({queryKey:["gtm","connection"]}),r.invalidateQueries({queryKey:["gtm","connectors"]})]),n({title:"Growthub pulse succeeded",body:u.message,tone:"success"})},onError:u=>{n({title:"Growthub pulse failed",body:u instanceof Error?u.message:"Failed to verify the Growthub local route handler",tone:"error"})}}),ue=G({mutationFn:()=>q.disconnectConnection(),onSuccess:async()=>{await Promise.all([r.invalidateQueries({queryKey:["gtm","connection"]}),r.invalidateQueries({queryKey:["gtm","connectors"]})]),n({title:"Growthub disconnected",body:"Local connection state was cleared for this installer.",tone:"success"})},onError:u=>{n({title:"Disconnect failed",body:u instanceof Error?u.message:"Failed to disconnect Growthub locally",tone:"error"})}});m.useEffect(()=>{var u;(u=O.data)!=null&&u.baseUrl&&J(O.data.baseUrl)},[(cs=O.data)==null?void 0:cs.baseUrl]);const h=(u,Ae)=>{var us;if(!Ls(X.data??null)){n({title:"Sign in required",body:"Sign in locally before opening the hosted Growthub configuration flow.",tone:"error"});return}window.open(Os({baseUrl:u,callbackUrl:Ae,workspaceLabel:(t==null?void 0:t.name)??((us=$.data)==null?void 0:us.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 se=[$,U,M,O,p,z,F,I,a,A].some(u=>u.isLoading),ge=[$.error,U.error,M.error,O.error,p.error,z.error,F.error,I.error,a.error,A.error].find(Boolean);if(se)return e.jsx("div",{className:"py-8 text-sm text-muted-foreground",children:"Loading GTM workspace…"});if(ge)return e.jsx("div",{className:"rounded-lg border border-destructive/30 bg-card p-6 text-sm text-destructive",children:ge instanceof Error?ge.message:"Failed to load GTM workspace"});const Be=$.data,is=U.data;M.data;const le=O.data,We=p.data,Us=z.data??[],_s=F.data??[];I.data;const je=a.data,os=A.data??[],B=je.existingAgent,Ce=je.environmentTest,ze=u=>qe(t==null?void 0:t.issuePrefix,u),ls=()=>{const u=B??je.defaults,Ae=(B==null?void 0:B.adapterConfig)??je.defaults.adapterConfig;l(u.name??"SDR Browser Agent"),c(((B==null?void 0:B.title)??je.defaults.title)||""),k(String(Ae.command??"claude")),d(String(Ae.cwd??"")),S(String(Ae.model??"claude-sonnet-4-6")),y(!!(Ae.chrome??!0)),b(!0)},Bs=()=>{var u;if((u=le.baseUrl)!=null&&u.trim()){h(le.baseUrl,le.callbackUrl);return}J(le.baseUrl),j(!0)},Ws=async()=>{const u=await i.mutateAsync();h(u.baseUrl,u.callbackUrl)};return e.jsxs("div",{className:"space-y-6",children:[e.jsx(H,{children:e.jsxs(ae,{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(de,{variant:"secondary",children:"GTM Workspace"}),e.jsx(de,{variant:"outline",children:We.status}),e.jsx(de,{variant:B?"secondary":"outline",children:B?"Agent ready":"Needs setup"})]}),e.jsxs("div",{children:[e.jsx(re,{children:(t==null?void 0:t.name)??Be.workspace}),e.jsx(ie,{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(x,{onClick:ls,children:[e.jsx(Ct,{className:"mr-2 h-4 w-4"}),B?"Update agent setup":"Configure browser agent"]}),e.jsx(x,{asChild:!0,variant:"outline",children:e.jsx(oe,{to:ze("/agents/all"),children:"Open agents"})}),e.jsx(x,{asChild:!0,variant:"outline",children:e.jsx(oe,{to:ze("/tickets"),children:"Open campaigns"})}),e.jsxs(x,{onClick:()=>_.mutate(),disabled:_.isPending,children:[e.jsx(At,{className:"mr-2 h-4 w-4"}),We.actionLabel]})]})]})}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:[e.jsx(es,{title:"Agents",value:String(Us.length),detail:"GTM-configured agents",icon:Cs}),e.jsx(es,{title:"Campaigns",value:String(_s.length),detail:"Workflow tickets",icon:ks}),e.jsx(es,{title:"Knowledge",value:String(is.items.length),detail:is.group.label,icon:Ke})]}),e.jsxs("div",{className:"grid gap-4 xl:grid-cols-3",children:[e.jsxs(H,{children:[e.jsxs(ae,{children:[e.jsx(re,{children:"Workspace Agent Setup"}),e.jsx(ie,{children:"Default done-for-you Claude browser agent binding for this workspace."})]}),e.jsxs(Y,{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:(B==null?void 0:B.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:Ce?Ce.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(((B==null?void 0:B.adapterConfig)??je.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(((B==null?void 0:B.adapterConfig)??je.defaults.adapterConfig).cwd??"Not configured")})]}),(ds=Ce==null?void 0:Ce.checks)!=null&&ds.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"}),Ce.checks.slice(0,3).map(u=>e.jsxs("div",{className:"rounded-md border border-border p-3",children:[e.jsx("p",{className:"font-medium",children:u.message}),u.hint?e.jsx("p",{className:"mt-1 text-muted-foreground",children:u.hint}):null]},u.code))]}):null,e.jsxs("div",{className:"flex gap-2 pt-1",children:[e.jsx(x,{size:"sm",variant:"outline",onClick:ls,children:"Configure"}),B?e.jsx(x,{size:"sm",asChild:!0,variant:"outline",children:e.jsx(oe,{to:ze(`/agents/${B.id}`),children:"Open detail"})}):null]})]})]}),e.jsx(Gs,{description:"Connect this local installer to the hosted Growthub workspace.",connected:le.connected,baseUrl:le.baseUrl,callbackUrl:le.callbackUrl,portalBaseUrl:le.portalBaseUrl,machineLabel:le.machineLabel,workspaceLabel:le.workspaceLabel,onOpenConfiguration:Bs,onRefresh:()=>{O.refetch(),M.refetch()},onPulseConnection:le.connected?()=>D.mutate():void 0,onDisconnect:le.connected?()=>ue.mutate():void 0,pulsePending:D.isPending,disconnectPending:ue.isPending}),e.jsxs(H,{children:[e.jsxs(ae,{children:[e.jsx(re,{children:"Runtime"}),e.jsx(ie,{children:"Workflow, connections, and recent runs."})]}),e.jsxs(Y,{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:Be.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:Be.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:We.runner})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground",children:"Recent Runs"}),os.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:os.slice(0,4).map(u=>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:u.status}),e.jsx("span",{className:"text-xs text-muted-foreground",children:Ks(u.createdAt)})]}),e.jsx("p",{className:"mt-1 text-muted-foreground",children:u.triggerDetail??u.invocationSource})]},u.id))})]})]})]})]}),e.jsx(be,{open:o,onOpenChange:b,children:e.jsxs(ve,{children:[e.jsxs(ye,{children:[e.jsx(Ne,{children:"Workspace browser agent"}),e.jsx(we,{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(ne,{value:w,onChange:u=>l(u.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Title"}),e.jsx(ne,{value:P,onChange:u=>c(u.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Claude command"}),e.jsx(ne,{value:C,onChange:u=>k(u.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Working directory"}),e.jsx(ne,{value:E,onChange:u=>d(u.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-medium",children:"Model"}),e.jsx(ne,{value:R,onChange:u=>S(u.target.value)})]}),e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:Q,onChange:u=>y(u.target.checked)}),"Enable Claude browser mode"]})]}),e.jsxs(ke,{children:[e.jsx(x,{variant:"outline",onClick:()=>b(!1),children:"Cancel"}),e.jsxs(x,{onClick:()=>g.mutate(),disabled:!w.trim()||!C.trim()||!E.trim()||g.isPending,children:[g.isPending?e.jsx(Ge,{className:"mr-2 h-4 w-4 animate-spin"}):e.jsx(Pt,{className:"mr-2 h-4 w-4"}),"Save and test"]})]})]})}),e.jsx(be,{open:v,onOpenChange:j,children:e.jsxs(ve,{children:[e.jsxs(ye,{children:[e.jsx(Ne,{children:"Growthub Configuration"}),e.jsx(we,{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(ne,{value:N,onChange:u=>J(u.target.value)})]}),e.jsxs("div",{className:"rounded-md border border-border p-3 text-sm text-muted-foreground",children:["Callback: ",le.callbackUrl]})]}),e.jsxs(ke,{children:[e.jsx(x,{variant:"outline",onClick:()=>j(!1),children:"Cancel"}),e.jsxs(x,{onClick:()=>void Ws(),disabled:!N.trim()||i.isPending,children:[i.isPending?e.jsx(Ge,{className:"mr-2 h-4 w-4 animate-spin"}):e.jsx(Qe,{className:"mr-2 h-4 w-4"}),"Open Configuration"]})]})]})})]})}function es({title:s,value:t,detail:n,icon:r}){return e.jsx(H,{children:e.jsxs(Y,{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:n})]}),e.jsx("div",{className:"rounded-lg bg-muted p-2 text-muted-foreground",children:e.jsx(r,{className:"h-4 w-4"})})]})})}function Me(){const{selectedCompanyId:s,selectedCompany:t}=me(),{agentId:n}=as(),{pushToast:r}=fe(),o=he(),[b,v]=m.useState(!1),j=T({queryKey:s?Z.agents(s):["gtm","agents","none"],queryFn:()=>q.listAgents(s),enabled:!!s}),w=T({queryKey:s?W.approvals.list(s):["approvals","none"],queryFn:()=>Pe.list(s),enabled:!!s}),l=G({mutationFn:d=>Pe.approve(d),onSuccess:()=>{s&&(o.invalidateQueries({queryKey:W.approvals.list(s)}),o.invalidateQueries({queryKey:Z.agents(s)}))}}),P=G({mutationFn:d=>Pe.reject(d),onSuccess:()=>{s&&o.invalidateQueries({queryKey:W.approvals.list(s)})}}),c=G({mutationFn:async({action:d,agentId:R})=>{if(!s)throw new Error("No company selected");return d==="invoke"?q.invokeAgent(R,s):d==="pause"?q.pauseAgent(R,s):q.resumeAgent(R,s)},onSuccess:async()=>{await o.invalidateQueries({queryKey:Z.agents(s)})},onError:d=>{r({title:"Agent action failed",body:d instanceof Error?d.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(j.isLoading)return e.jsx("div",{className:"py-8 text-sm text-muted-foreground",children:"Loading agents…"});if(j.error)return e.jsx("div",{className:"rounded-lg border border-destructive/30 bg-card p-6 text-sm text-destructive",children:j.error instanceof Error?j.error.message:"Failed to load agents"});const C=j.data??[],k=d=>qe(t==null?void 0:t.issuePrefix,d),E=(w.data??[]).filter(d=>(d.status==="pending"||d.status==="revision_requested")&&d.type==="hire_agent");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:"Agents"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"GTM-only agent inventory and controls."})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x,{variant:"outline",asChild:!0,children:e.jsx(oe,{to:k("/agents/org-chart"),children:"Org Chart"})}),e.jsx(x,{onClick:()=>v(!0),children:"New Agent"})]})]}),E.length>0&&e.jsxs(H,{children:[e.jsxs(ae,{children:[e.jsx(re,{children:"Pending Agent Hires"}),e.jsx(ie,{children:"Approve or reject agent hire requests submitted by the CEO."})]}),e.jsx(Y,{className:"space-y-3",children:E.map(d=>e.jsx(Ts,{approval:d,requesterAgent:d.requestedByAgentId?C.find(R=>R.id===d.requestedByAgentId)??null:null,onApprove:()=>l.mutate(d.id),onReject:()=>P.mutate(d.id),detailLink:k(`/approvals/${d.id}`),isPending:l.isPending||P.isPending},d.id))})]}),e.jsx(H,{children:e.jsx(Y,{className:"p-0",children:C.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:C.map(d=>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(oe,{to:k(`/agents/${xs(d)}/dashboard`),className:"truncate font-medium hover:underline",children:d.name}),e.jsx("p",{className:"truncate text-sm text-muted-foreground",children:d.title??d.role})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(de,{variant:"outline",children:d.adapterType}),e.jsx(de,{variant:"outline",children:d.status}),e.jsx(x,{size:"icon-sm",variant:"outline",asChild:!0,"aria-label":`Open settings for ${d.name}`,children:e.jsx(oe,{to:k(`/agents/${xs(d)}/configuration`),children:e.jsx(As,{className:"h-4 w-4"})})}),e.jsx(x,{size:"sm",variant:"outline",onClick:()=>c.mutate({action:"invoke",agentId:d.id}),children:"Run"}),d.status==="paused"?e.jsx(x,{size:"sm",variant:"outline",onClick:()=>c.mutate({action:"resume",agentId:d.id}),children:"Resume"}):e.jsx(x,{size:"sm",variant:"outline",onClick:()=>c.mutate({action:"pause",agentId:d.id}),children:"Pause"})]})]},d.id))})})}),e.jsx(mn,{open:b,onClose:()=>v(!1),companyId:s,onSuccess:()=>{o.invalidateQueries({queryKey:Z.agents(s)})}})]})}function An(){const{selectedCompanyId:s,selectedCompany:t}=me(),{pushToast:n}=fe(),r=he(),[o,b]=m.useState(!1),v=T({queryKey:s?Z.tickets(s):["gtm","tickets","none"],queryFn:()=>q.listTickets(s),enabled:!!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 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 j=v.data??[],w=l=>qe(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:"Campaigns"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"GTM workflow tickets only."})]}),e.jsx(x,{onClick:()=>b(!0),children:"New Campaign"})]}),e.jsx(H,{children:e.jsx(Y,{className:"p-0",children:j.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:j.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(oe,{to:w(`/tickets/${l.id}`),className:"truncate font-medium hover:underline",children:l.title}),e.jsx("p",{className:"truncate text-sm text-muted-foreground",children:l.identifier})]}),e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx(de,{variant:"outline",children:l.currentStage}),e.jsx(de,{variant:"outline",children:l.status})]})]},l.id))})})}),s?e.jsx(bn,{open:o,onClose:()=>b(!1),companyId:s,onSuccess:()=>{r.invalidateQueries({queryKey:Z.tickets(s)}),r.invalidateQueries({queryKey:Z.inbox(s)}),n({title:"Campaign created",body:"The GTM campaign workflow is ready.",tone:"success"})}}):null]})}function Pn(){const{selectedCompanyId:s,selectedCompany:t}=me(),{ticketId:n}=as();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 a GTM campaign."});const r=o=>qe(t==null?void 0:t.issuePrefix,o);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:"Campaign"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Focused GTM campaign launcher and stage configuration."})]}),e.jsx(x,{variant:"outline",asChild:!0,children:e.jsx(oe,{to:r("/tickets"),children:"Back to Campaigns"})})]}),e.jsx(pn,{companyId:s,ticketId:n??"",companyPrefix:(t==null?void 0:t.issuePrefix)??null})]})}function Re(){const{selectedCompanyId:s,selectedCompany:t}=me(),n=he(),[r,o]=m.useState(!1),b=T({queryKey:s?Z.agents(s):["gtm","agents","none"],queryFn:()=>q.listAgents(s),enabled:!!s}),v=T({queryKey:s?Z.issues(s):["gtm","issues","none"],queryFn:()=>q.listIssues(s),enabled:!!s}),j=T({queryKey:s?["gtm","inbox-runs",s]:["gtm","inbox-runs","none"],queryFn:()=>q.listRuns(s),enabled:!!s}),w=T({queryKey:s?W.access.joinRequests(s,"pending_approval"):["access","join-requests","none"],queryFn:async()=>{try{return await Ye.listJoinRequests(s,"pending_approval")}catch(a){if(a instanceof It&&(a.status===403||a.status===401))return[];throw a}},enabled:!!s,retry:!1}),l=T({queryKey:s?W.approvals.list(s):["approvals","none"],queryFn:()=>Pe.list(s),enabled:!!s}),P=G({mutationFn:a=>Pe.approve(a),onSuccess:()=>{s&&(n.invalidateQueries({queryKey:W.approvals.list(s)}),n.invalidateQueries({queryKey:Z.agents(s)}))}}),c=G({mutationFn:a=>Pe.reject(a),onSuccess:()=>{s&&n.invalidateQueries({queryKey:W.approvals.list(s)})}}),C=G({mutationFn:a=>Ye.approveJoinRequest(s,a.id),onSuccess:()=>{s&&n.invalidateQueries({queryKey:W.access.joinRequests(s,"pending_approval")})}}),k=G({mutationFn:a=>Ye.rejectJoinRequest(s,a.id),onSuccess:()=>{s&&n.invalidateQueries({queryKey:W.access.joinRequests(s,"pending_approval")})}}),E=G({mutationFn:a=>qs.cancel(a),onSuccess:async()=>{s&&await Promise.all([n.invalidateQueries({queryKey:["gtm","inbox-runs",s]}),n.invalidateQueries({queryKey:Z.inbox(s)})])}}),d=G({mutationFn:async a=>{const A=await Ue.wakeup(a.agentId,{source:"on_demand",triggerDetail:"manual",reason:"retry_failed_gtm_run",payload:vn(a)},s);if(!("id"in A))throw new Error("Retry was skipped because the agent is not currently invokable.");return A},onSuccess:async()=>{s&&await Promise.all([n.invalidateQueries({queryKey:["gtm","inbox-runs",s]}),n.invalidateQueries({queryKey:Z.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(b.isLoading||v.isLoading||j.isLoading)return e.jsx("div",{className:"py-8 text-sm text-muted-foreground",children:"Loading inbox…"});const R=b.error??v.error??j.error;if(R)return e.jsx("div",{className:"rounded-lg border border-destructive/30 bg-card p-6 text-sm text-destructive",children:R instanceof Error?R.message:"Failed to load inbox"});const S=[...v.data??[]].sort((a,A)=>new Date(A.updatedAt).getTime()-new Date(a.updatedAt).getTime()),Q=new Map((b.data??[]).map(a=>[a.id,a.name])),y=[...j.data??[]].sort((a,A)=>new Date(A.updatedAt).getTime()-new Date(a.updatedAt).getTime()),N=a=>qe(t==null?void 0:t.issuePrefix,a),J=new Map(S.map(a=>[a.id,a])),$=new Set(y.filter(a=>a.status==="running"||a.status==="queued").map(a=>js(a)).filter(a=>!!a)),U=y.filter(a=>a.status==="running"||a.status==="queued"),M=y.filter(a=>!U.includes(a)).slice(0,10),O=S.slice(0,5),p=w.data??[],F=(l.data??[]).filter(a=>a.status==="pending"||a.status==="revision_requested"),I=b.data??[];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."})]}),F.length>0&&e.jsxs(H,{children:[e.jsxs(ae,{children:[e.jsx(re,{children:"Pending Approvals"}),e.jsx(ie,{children:"Agent hire requests and other approvals awaiting your decision."})]}),e.jsx(Y,{className:"space-y-3",children:F.map(a=>e.jsx(Ts,{approval:a,requesterAgent:a.requestedByAgentId?I.find(A=>A.id===a.requestedByAgentId)??null:null,onApprove:()=>P.mutate(a.id),onReject:()=>c.mutate(a.id),detailLink:N(`/approvals/${a.id}`),isPending:P.isPending||c.isPending},a.id))})]}),p.length>0&&e.jsxs(H,{children:[e.jsxs(ae,{children:[e.jsx(re,{children:"Agent Hire Requests"}),e.jsx(ie,{children:"New agents requesting to join this workspace."})]}),e.jsx(Y,{className:"p-0",children:e.jsx("div",{className:"divide-y divide-border",children:p.map(a=>e.jsxs("div",{className:"flex flex-col gap-3 p-4 lg:flex-row lg:items-center lg:justify-between",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-sm font-medium",children:a.requestType==="human"?"Human join request":`Agent hire request${a.agentName?`: ${a.agentName}`:""}`}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["requested ",Je(a.createdAt)," from IP ",a.requestIp]}),a.adapterType&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:["adapter: ",a.adapterType]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x,{size:"sm",variant:"outline",disabled:C.isPending||k.isPending,onClick:()=>k.mutate(a),children:"Reject"}),e.jsx(x,{size:"sm",disabled:C.isPending||k.isPending,onClick:()=>C.mutate(a),children:"Approve"})]})]},a.id))})})]}),e.jsxs(H,{children:[e.jsxs(ae,{className:"flex flex-row items-start justify-between gap-4 space-y-0",children:[e.jsxs("div",{children:[e.jsx(re,{children:"Assigned issues"}),e.jsx(ie,{children:"Issue activity for GTM campaigns and GTM-assigned agents."})]}),e.jsx(x,{asChild:!0,variant:"outline",size:"sm",className:"shrink-0",children:e.jsx(oe,{to:N("/inbox"),children:"View more"})})]}),e.jsx(Y,{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:O.map(a=>e.jsx(Tt,{issue:a,to:N(`/issues/${a.id}`),desktopMetaLeading:e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"hidden sm:inline-flex",children:e.jsx(qt,{priority:a.priority})}),e.jsx("span",{className:"hidden shrink-0 sm:inline-flex",children:e.jsx(Mt,{status:a.status})}),e.jsx("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:a.identifier??a.id.slice(0,8)}),$.has(a.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 ${Je(a.updatedAt)}`,trailingMeta:`updated ${Je(a.updatedAt)}`},a.id))})})]}),e.jsxs(H,{children:[e.jsxs(ae,{className:"flex flex-row items-start justify-between gap-4 space-y-0",children:[e.jsxs("div",{children:[e.jsx(re,{children:"Live runs"}),e.jsx(ie,{children:"Manage active and recent GTM agent execution directly from the inbox."})]}),e.jsx(x,{variant:"ghost",size:"sm",className:"shrink-0",onClick:()=>o(a=>!a),children:e.jsx(ys,{className:Oe("h-4 w-4 transition-transform",r?"rotate-180":"")})})]}),r?e.jsx(Y,{className:"space-y-3",children:y.length===0?e.jsx("div",{className:"text-sm text-muted-foreground",children:"No GTM runs yet."}):e.jsx(e.Fragment,{children:(U.length>0?U:M).map(a=>{const A=js(a),X=A?J.get(A)??null:null,g=a.status==="running"||a.status==="queued",_=a.status==="failed"||a.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(Rt,{status:a.status}),e.jsx("span",{className:"text-sm font-medium",children:a.invocationSource.replaceAll("_"," ")}),e.jsx("span",{className:"text-xs text-muted-foreground",children:Et(a.updatedAt)})]}),e.jsxs("div",{className:"text-sm text-muted-foreground",children:["Agent ",e.jsx("span",{className:"font-medium text-foreground",children:Q.get(a.agentId)??a.agentId}),a.triggerDetail?e.jsxs(e.Fragment,{children:[" · trigger ",a.triggerDetail]}):null]}),X?e.jsxs(oe,{to:N(`/issues/${X.id}`),className:"block text-sm font-medium hover:underline",children:[X.identifier??X.id.slice(0,8)," · ",X.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(x,{asChild:!0,variant:"outline",size:"sm",children:e.jsxs(oe,{to:N(`/agents/${a.agentId}/runs/${a.id}`),children:[e.jsx(Qe,{className:"mr-1.5 h-3.5 w-3.5"}),"View run"]})}),e.jsxs(x,{variant:"outline",size:"sm",onClick:()=>d.mutate(a),disabled:!_||d.isPending,children:[e.jsx(tn,{className:"mr-1.5 h-3.5 w-3.5"}),"Retry"]}),e.jsx(x,{variant:"outline",size:"sm",onClick:()=>E.mutate(a.id),disabled:!g||E.isPending,children:"Pause"})]})]})},a.id)})})}):null]})]})}function Sn(){const{companies:s,selectedCompany:t}=me(),{openOnboarding:n}=$e();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(x,{onClick:()=>n(),children:"Add Company"})]}),e.jsx(H,{children:e.jsx(Y,{className:"divide-y divide-border p-0",children:s.map(r=>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:r.name}),e.jsx("p",{className:"text-sm text-muted-foreground",children:r.issuePrefix})]}),(t==null?void 0:t.id)===r.id?e.jsx(de,{children:"Active"}):e.jsx(de,{variant:"outline",children:"Available"})]},r.id))})})]})}function Tn(){var ue;const{selectedCompany:s,selectedCompanyId:t}=me(),{pushToast:n}=fe(),r=he(),[o,b]=m.useState(""),[v,j]=m.useState(""),[w,l]=m.useState(""),[P,c]=m.useState(""),[C,k]=m.useState(null),E=T({queryKey:["gtm","profile"],queryFn:()=>q.getProfile()}),d=T({queryKey:["gtm","knowledge"],queryFn:()=>q.getKnowledge()}),R=T({queryKey:["gtm","connectors"],queryFn:()=>q.getConnectors()}),S=T({queryKey:["gtm","connection"],queryFn:()=>q.getConnection()}),Q=T({queryKey:["gtm","workflow"],queryFn:()=>q.getWorkflow()}),y=T({queryKey:t?["gtm","runs",t]:["gtm","runs","none"],queryFn:()=>q.listRuns(t),enabled:!!t}),N=T({queryKey:W.auth.session,queryFn:()=>rs.getSession(),retry:!1}),J=G({mutationFn:()=>q.testConnection(),onSuccess:async h=>{await Promise.all([r.invalidateQueries({queryKey:["gtm","connection"]}),r.invalidateQueries({queryKey:["gtm","connectors"]})]),n({title:"Growthub pulse succeeded",body:h.message,tone:"success"})},onError:h=>{n({title:"Growthub pulse failed",body:h instanceof Error?h.message:"Failed to verify the Growthub local route handler",tone:"error"})}}),$=G({mutationFn:()=>q.disconnectConnection(),onSuccess:async()=>{await Promise.all([r.invalidateQueries({queryKey:["gtm","connection"]}),r.invalidateQueries({queryKey:["gtm","connectors"]})]),n({title:"Growthub disconnected",body:"Local connection state was cleared for this installer.",tone:"success"})},onError:h=>{n({title:"Disconnect failed",body:h instanceof Error?h.message:"Failed to disconnect Growthub locally",tone:"error"})}}),U=!!s&&(o!==s.name||v!==(s.description??"")||w!==(s.brandColor??"")),M=G({mutationFn:h=>Ve.update(t,h),onSuccess:async h=>{c(h.logoUrl??""),await r.invalidateQueries({queryKey:W.companies.all}),n({title:"Workspace updated",body:"GTM workspace customization saved.",tone:"success"})},onError:h=>{n({title:"Workspace update failed",body:h instanceof Error?h.message:"Failed to save workspace customization",tone:"error"})}}),O=G({mutationFn:async h=>{const se=await St.uploadCompanyLogo(t,h);return Ve.update(t,{logoAssetId:se.assetId})},onSuccess:async h=>{k(null),c(h.logoUrl??""),await r.invalidateQueries({queryKey:W.companies.all}),n({title:"Logo updated",body:"Workspace logo saved.",tone:"success"})},onError:h=>{k(h instanceof Error?h.message:"Logo upload failed")}}),p=G({mutationFn:()=>Ve.update(t,{logoAssetId:null}),onSuccess:async h=>{k(null),c(h.logoUrl??""),await r.invalidateQueries({queryKey:W.companies.all}),n({title:"Logo removed",body:"Workspace logo removed.",tone:"success"})},onError:h=>{k(h instanceof Error?h.message:"Failed to remove workspace logo")}});if(m.useEffect(()=>{s&&(b(s.name),j(s.description??""),l(s.brandColor??""),c(s.logoUrl??""),k(null))},[s]),E.isLoading||d.isLoading||R.isLoading||S.isLoading||Q.isLoading||y.isLoading)return e.jsx("div",{className:"py-8 text-sm text-muted-foreground",children:"Loading settings…"});const z=E.error??d.error??R.error??S.error??Q.error??y.error;if(z)return e.jsx("div",{className:"rounded-lg border border-destructive/30 bg-card p-6 text-sm text-destructive",children:z instanceof Error?z.message:"Failed to load settings"});const F=E.data,I=d.data,a=R.data,A=S.data,X=Q.data,g=(y.data??[]).slice(0,4),_=h=>{var ge;const se=((ge=h.target.files)==null?void 0:ge[0])??null;h.currentTarget.value="",!(!se||!t)&&(k(null),O.mutate(se))},i=()=>{t&&M.mutate({name:o.trim(),description:v.trim()||null,brandColor:w||null})},D=()=>{var ge;if(!((ge=A.baseUrl)!=null&&ge.trim())){n({title:"Growthub base URL missing",body:"Configure the hosted Growthub URL before opening the local callback flow.",tone:"error"});return}if(!Ls(N.data??null)){n({title:"Sign in required",body:"Sign in locally before opening the hosted Growthub configuration flow.",tone:"error"});return}const se=Os({baseUrl:A.baseUrl,callbackUrl:A.callbackUrl,workspaceLabel:(s==null?void 0:s.name)??F.workspace??"GTM Workspace"});window.open(se,"_blank","noopener,noreferrer")};return e.jsxs("div",{className:"grid gap-4 xl:grid-cols-2",children:[e.jsxs(H,{className:"xl:col-span-2",children:[e.jsxs(ae,{children:[e.jsx(re,{children:"Workspace Customization"}),e.jsx(ie,{children:"Customize this GTM workspace without crossing into DX-only settings."})]}),e.jsxs(Y,{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(Ps,{companyName:o||(s==null?void 0:s.name)||"Workspace",logoUrl:P||null,brandColor:w||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(ne,{value:o,onChange:h=>b(h.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:w||"#6366f1",onChange:h=>l(h.target.value),className:"h-10 w-10 cursor-pointer rounded border border-border bg-transparent p-0"}),e.jsx(ne,{value:w,placeholder:"Auto",onChange:h=>{const se=h.target.value;(se===""||/^#[0-9a-fA-F]{0,6}$/.test(se))&&l(se)},className:"font-mono"}),w?e.jsx(x,{variant:"ghost",size:"sm",onClick:()=>l(""),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(ee,{value:v,onChange:h=>j(h.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:_,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:[P?e.jsx(x,{variant:"outline",size:"sm",onClick:()=>p.mutate(),disabled:p.isPending,children:p.isPending?"Removing...":"Remove logo"}):null,O.isPending?e.jsx("span",{className:"text-xs text-muted-foreground",children:"Uploading logo..."}):null,C?e.jsx("span",{className:"text-xs text-destructive",children:C}):null]})]})]})]}),e.jsx("div",{className:"flex justify-end",children:e.jsx(x,{onClick:i,disabled:!U||M.isPending||!o.trim(),children:M.isPending?"Saving...":"Save workspace customization"})})]})]}),e.jsxs(H,{children:[e.jsxs(ae,{children:[e.jsx(re,{children:"Profile"}),e.jsx(ie,{children:"Visible GTM workspace configuration."})]}),e.jsxs(Y,{className:"space-y-3 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Workspace:"})," ",F.workspace]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Account:"})," ",F.account]}),e.jsxs("div",{className:"break-all",children:[e.jsx("span",{className:"text-muted-foreground",children:"App:"})," ",F.appConnection]})]})]}),e.jsx(Gs,{description:"Open the hosted auth flow and return to this local callback.",connected:A.connected,baseUrl:A.baseUrl,callbackUrl:A.callbackUrl,portalBaseUrl:A.portalBaseUrl,machineLabel:A.machineLabel,workspaceLabel:A.workspaceLabel,onOpenConfiguration:D,onRefresh:()=>{S.refetch(),R.refetch()},onPulseConnection:A.connected?()=>J.mutate():void 0,onDisconnect:A.connected?()=>$.mutate():void 0,pulsePending:J.isPending,disconnectPending:$.isPending,openDisabled:!((ue=A.baseUrl)!=null&&ue.trim())}),e.jsxs(H,{children:[e.jsxs(ae,{children:[e.jsx(re,{children:"Runtime"}),e.jsx(ie,{children:"Workflow, connection state, and recent pulses."})]}),e.jsxs(Y,{className:"space-y-3 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Workflow:"})," ",X.label]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Status:"})," ",X.status]}),e.jsxs("div",{className:"break-all",children:[e.jsx("span",{className:"text-muted-foreground",children:"Runner:"})," ",X.runner]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Pulses:"}),g.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:g.map(h=>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:h.status}),e.jsx("span",{className:"text-xs text-muted-foreground",children:Ks(h.createdAt)})]}),e.jsx("p",{className:"mt-1 text-muted-foreground",children:h.triggerDetail??h.invocationSource})]},h.id))})]})]})]}),e.jsxs(H,{children:[e.jsxs(ae,{children:[e.jsx(re,{children:"Knowledge"}),e.jsx(ie,{children:"Knowledge group visible to GTM."})]}),e.jsxs(Y,{className:"space-y-3 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Group:"})," ",I.group.label]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Items:"})," ",I.group.itemCount]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Connector:"})," ",I.group.connector]})]})]}),e.jsxs(H,{children:[e.jsxs(ae,{children:[e.jsx(re,{children:"Connectors"}),e.jsx(ie,{children:"Connector visibility for GTM."})]}),e.jsx(Y,{className:"space-y-3 text-sm",children:a.length===0?e.jsx("p",{className:"text-muted-foreground",children:"No connectors configured."}):a.map(h=>e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:h.label}),e.jsx("p",{className:"text-muted-foreground",children:h.summary})]},h.label))})]})]})}function qn(){var w;const{selectedCompany:s}=me(),{theme:t,toggleTheme:n}=pt(),{sidebarOpen:r,setSidebarOpen:o}=ft(),b=_e(),v=m.useMemo(()=>[{to:"/workspace",label:"Workspace",icon:Ke},{to:"/tickets",label:"Campaigns",icon:ks},{to:"/agents/all",label:"Agents",icon:Cs},{to:"/inbox",label:"Inbox",icon:jt},{to:"/companies",label:"Companies",icon:bt},{to:"/company/settings",label:"Settings",icon:As}],[]),j=l=>qe(s==null?void 0:s.issuePrefix,l);return e.jsxs("div",{className:"bg-background text-foreground pt-[env(safe-area-inset-top)] md:flex md:h-dvh md:overflow-hidden",children:[r?e.jsx("button",{type:"button",className:"fixed inset-0 z-40 bg-black/50 md:hidden",onClick:()=>o(!1),"aria-label":"Close GTM navigation"}):null,e.jsxs("aside",{className:Oe("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",r?"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(Ps,{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:((w=s==null?void 0:s.description)==null?void 0:w.trim())||"GTM workspace"})]})]}),e.jsx(x,{variant:"ghost",size:"icon-sm",onClick:n,"aria-label":"Toggle theme",children:t==="dark"?e.jsx(vt,{className:"h-4 w-4"}):e.jsx(yt,{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:v.map(l=>{const P=l.icon,C=`/${b.pathname.replace(Fs,"").split("/").filter(Boolean).slice(1).join("/")}`,k=`/${l.to.split("/").filter(Boolean)[0]??""}`,E=C===l.to||C.startsWith(`${k}/`);return e.jsx(x,{asChild:!0,variant:E?"secondary":"ghost",className:"justify-start",onClick:()=>o(!1),children:e.jsxs(oe,{to:j(l.to),children:[e.jsx(P,{className:"h-4 w-4"}),l.label]})},l.to)})})})]}),e.jsxs("div",{className:"flex min-w-0 flex-1 flex-col md:h-full",children:[e.jsx(Nt,{}),e.jsxs("div",{className:"min-h-0 flex flex-1 overflow-hidden",children:[e.jsx("div",{className:"min-w-0 flex-1 overflow-auto",children:e.jsx("main",{id:"main-content",tabIndex:-1,className:"p-4 md:p-6",children:e.jsx(Ss,{})})}),e.jsx(wt,{})]})]}),e.jsx(kt,{})]})}function Mn(){return e.jsxs(e.Fragment,{children:[e.jsx(f,{index:!0,element:e.jsx(xe,{to:"workspace",replace:!0})}),e.jsx(f,{path:"dashboard",element:e.jsx(xe,{to:"../workspace",replace:!0})}),e.jsx(f,{path:"workspace",element:e.jsx(Cn,{})}),e.jsx(f,{path:"onboarding",element:e.jsx($s,{})}),e.jsx(f,{path:"companies",element:e.jsx(Sn,{})}),e.jsx(f,{path:"company/settings",element:e.jsx(Tn,{})}),e.jsx(f,{path:"agents",element:e.jsx(xe,{to:"../agents/all",replace:!0})}),e.jsx(f,{path:"agents/all",element:e.jsx(Me,{})}),e.jsx(f,{path:"agents/active",element:e.jsx(Me,{})}),e.jsx(f,{path:"agents/paused",element:e.jsx(Me,{})}),e.jsx(f,{path:"agents/error",element:e.jsx(Me,{})}),e.jsx(f,{path:"agents/new",element:e.jsx(Me,{})}),e.jsx(f,{path:"agents/org-chart",element:e.jsx(gt,{})}),e.jsx(f,{path:"agents/:agentId",element:e.jsx(He,{})}),e.jsx(f,{path:"agents/:agentId/:tab",element:e.jsx(He,{})}),e.jsx(f,{path:"agents/:agentId/runs/:runId",element:e.jsx(He,{})}),e.jsx(f,{path:"tickets",element:e.jsx(An,{})}),e.jsx(f,{path:"tickets/:ticketId",element:e.jsx(Pn,{})}),e.jsx(f,{path:"issues/:issueId",element:e.jsx(ht,{})}),e.jsx(f,{path:"activity",element:e.jsx(Re,{})}),e.jsx(f,{path:"inbox",element:e.jsx(Re,{})}),e.jsx(f,{path:"inbox/recent",element:e.jsx(Re,{})}),e.jsx(f,{path:"inbox/unread",element:e.jsx(Re,{})}),e.jsx(f,{path:"inbox/all",element:e.jsx(Re,{})}),e.jsx(f,{path:"inbox/new",element:e.jsx(xe,{to:"../inbox/recent",replace:!0})}),e.jsx(f,{path:"*",element:e.jsx(ns,{scope:"board"})})]})}function Rn(){return e.jsxs(dt,{children:[e.jsx(f,{path:"/",element:e.jsx(xe,{to:pe(),replace:!0})}),e.jsx(f,{path:"auth",element:e.jsx(ut,{})}),e.jsx(f,{path:"board-claim/:token",element:e.jsx(mt,{})}),e.jsx(f,{path:"invite/:token",element:e.jsx(xt,{})}),e.jsxs(f,{element:e.jsx(Nn,{}),children:[e.jsx(f,{path:V,element:e.jsx(wn,{})}),e.jsx(f,{path:`${V}/onboarding`,element:e.jsx($s,{})}),e.jsx(f,{path:`${V}/workspace`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/companies`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/inbox/:tab`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/tickets`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/tickets/:ticketId`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/issues/:issueId`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/activity`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/inbox`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/agents`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/agents/new`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/agents/org-chart`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/agents/:agentId`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/agents/:agentId/:tab`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/agents/:agentId/runs/:runId`,element:e.jsx(te,{})}),e.jsx(f,{path:`${V}/:companyPrefix`,element:e.jsx(qn,{}),children:Mn()}),e.jsx(f,{path:"dx/*",element:e.jsx(ns,{scope:"global"})}),e.jsx(f,{path:"*",element:e.jsx(ns,{scope:"global"})})]})]})}Jt(zs,Xt);const En=new Ot({defaultOptions:{queries:{staleTime:3e4,refetchOnWindowFocus:!0}}});function On(){return e.jsx(Lt,{client:En,children:e.jsx(Ft,{children:e.jsx(Dt,{children:e.jsx(Kt,{children:e.jsx(Qt,{children:e.jsx($t,{children:e.jsx(Ut,{children:e.jsx(_t,{children:e.jsx(Bt,{children:e.jsx(Wt,{children:e.jsx(zt,{children:e.jsxs(Ht,{children:[e.jsx(Rn,{}),e.jsx(Vt,{}),e.jsx(Yt,{})]})})})})})})})})})})})})}export{On as GtmRoot};
@@ -0,0 +1 @@
1
+ import{a as t,L as i,i as n,c as $,f as y,j as P,s as X,t as O}from"./OnboardingWizard-7V9IoFqk.js";import{defineCSSCompletionSource as m}from"./index-wVsb8xch.js";import{L as c,E as S}from"./index-BuHuphPm.js";import"./index-DCmEqo8K.js";const f=110,l=1,s=2,r=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function e(T){return T>=65&&T<=90||T>=97&&T<=122||T>=161}function p(T){return T>=48&&T<=57}const W=new S((T,Q)=>{if(T.next==40){let a=T.peek(-1);(e(a)||p(a)||a==95||a==45)&&T.acceptToken(s,1)}}),d=new S(T=>{if(r.indexOf(T.peek(-1))>-1){let{next:Q}=T;(e(Q)||Q==95||Q==35||Q==46||Q==91||Q==58||Q==45)&&T.acceptToken(f)}}),Z=new S(T=>{if(r.indexOf(T.peek(-1))<0){let{next:Q}=T;if(Q==37&&(T.advance(),T.acceptToken(l)),e(Q)){do T.advance();while(e(T.next));T.acceptToken(l)}}}),w=X({"import charset namespace keyframes media supports when":O.definitionKeyword,"from to selector":O.keyword,NamespaceName:O.namespace,KeyframeName:O.labelName,TagName:O.tagName,ClassName:O.className,PseudoClassName:O.constant(O.className),IdName:O.labelName,"FeatureName PropertyName PropertyVariable":O.propertyName,AttributeName:O.attributeName,NumberLiteral:O.number,KeywordQuery:O.keyword,UnaryQueryOp:O.operatorKeyword,"CallTag ValueName":O.atom,VariableName:O.variableName,"AtKeyword Interpolation":O.special(O.variableName),Callee:O.operatorKeyword,Unit:O.unit,"UniversalSelector NestingSelector":O.definitionOperator,MatchOp:O.compareOperator,"ChildOp SiblingOp, LogicOp":O.logicOperator,BinOp:O.arithmeticOperator,Important:O.modifier,"Comment LineComment":O.blockComment,ColorLiteral:O.color,"ParenthesizedContent StringLiteral":O.string,Escape:O.special(O.string),": ...":O.punctuation,"PseudoOp #":O.derefOperator,"; ,":O.separator,"( )":O.paren,"[ ]":O.squareBracket,"{ }":O.brace}),z={__proto__:null,lang:40,"nth-child":40,"nth-last-child":40,"nth-of-type":40,"nth-last-of-type":40,dir:40,"host-context":40,and:244,or:244,not:74,only:74,url:86,"url-prefix":86,domain:86,regexp:86,when:117,selector:142,from:172,to:174},h={__proto__:null,"@import":126,"@plugin":126,"@media":152,"@charset":156,"@namespace":160,"@keyframes":166,"@supports":178},g=c.deserialize({version:14,states:"@^O!gQWOOO!nQaO'#CeOOQP'#Cd'#CdO$RQWO'#CgO$xQaO'#EaO%cQWO'#CiO%kQWO'#DZO%pQWO'#D^O%uQaO'#DfOOQP'#Es'#EsO'YQWO'#DlO'yQWO'#DyO(QQWO'#D{O(xQWO'#D}O)TQWO'#EQO'bQWO'#EWO)YQ`O'#FTO)]Q`O'#FTO)hQ`O'#FTO)vQWO'#EYOOQO'#Er'#ErOOQO'#FV'#FVOOQO'#Ec'#EcO){QWO'#EqO*WQWO'#EqQOQWOOOOQP'#Ch'#ChOOQP,59R,59RO$RQWO,59RO*bQWO'#EdO+PQWO,58|O+_QWO,59TO%kQWO,59uO%pQWO,59xO*bQWO,59{O*bQWO,59}OOQO'#De'#DeO*bQWO,5:OO,bQpO'#E}O,iQWO'#DkOOQO,58|,58|O(QQWO,58|O,pQWO,5:{OOQO,5:{,5:{OOQT'#Cl'#ClO-UQeO,59TO.cQ[O,59TOOQP'#D]'#D]OOQP,59u,59uOOQO'#D_'#D_O.hQpO,59xOOQO'#EZ'#EZO.pQ`O,5;oOOQO,5;o,5;oO/OQWO,5:WO/VQWO,5:WOOQS'#Dn'#DnO/rQWO'#DsO/yQ!fO'#FRO0eQWO'#DtOOQS'#FS'#FSO+YQWO,5:eO'bQWO'#DrOOQS'#Cu'#CuO(QQWO'#CwO0jQ!hO'#CyO2^Q!fO,5:gO2oQWO'#DWOOQS'#Ex'#ExO(QQWO'#DQOOQO'#EP'#EPO2tQWO,5:iO2yQWO,5:iOOQO'#ES'#ESO3RQWO,5:lO3WQ!fO,5:rO3iQ`O'#EkO.pQ`O,5;oOOQO,5:|,5:|O3zQWO,5:tOOQO,5:},5:}O4XQWO,5;]OOQO-E8a-E8aOOQP1G.m1G.mOOQP'#Ce'#CeO5RQaO,5;OOOQP'#Df'#DfOOQO-E8b-E8bOOQO1G.h1G.hO(QQWO1G.hO5fQWO1G.hO5nQeO1G.oO.cQ[O1G.oOOQP1G/a1G/aO6{QpO1G/dO7fQaO1G/gO8cQaO1G/iO9`QaO1G/jO:]Q!fO'#FOO:yQ!fO'#ExOOQO'#FO'#FOOOQO,5;i,5;iO<^QWO,5;iO<iQWO,5:VO<nQ!fO1G.hOOQO1G0g1G0gO=PQWO'#CnOOQP1G.o1G.oO=WQWO'#CqOOQP1G/d1G/dO(QQWO1G/dO=_Q`O1G1ZOOQO1G1Z1G1ZO=mQWO1G/rO=rQ!fO'#FQO>WQWO1G/rO>]Q!fO'#DnO>qQWO,5:ZO>vQ!fO,5:_OOQO'#DP'#DPO'bQWO,5:]O?XQWO'#DwOOQS,5:b,5:bO?`QWO,5:dO'bQWO'#EiO?gQWO,5;mO*bQWO,5:`OOQO1G0P1G0PO?uQ!fO,5:^O@aQ!fO,59cOOQS,59e,59eO(QQWO,59iOOQS,59n,59nO@rQWO,59pOOQO1G0R1G0RO@yQ#tO,59rOARQ!fO,59lOOQO1G0T1G0TOBrQWO1G0TOBwQWO'#ETOOQO1G0W1G0WOOQO1G0^1G0^OOQO,5;V,5;VOOQO-E8i-E8iOCVQ!fO1G0bOCvQWO1G0`O%kQWO'#E_O$RQWO'#E`OEZQWO'#E^OOQO1G0b1G0bPEkQWO'#EcO<nQ!fO7+$SOOQO7+$S7+$SO(QQWO7+$SOOQP7+$Z7+$ZOOQP7+%O7+%OO(QQWO7+%OOEpQ!fO'#EeOF}QWO,5;jO(QQWO,5;jOOQO,5;j,5;jO+gQpO'#EgOG[QWO1G1TOOQO1G1T1G1TOOQO1G/q1G/qOGgQaO'#EvOGnQWO,59YOGsQWO'#EwOG}QWO,59]OHSQ!fO7+%OOOQO7+&u7+&uOOQO7+%^7+%^O(QQWO'#EhOHeQWO,5;lOHmQWO7+%^O(QQWO1G/uOOQS1G/y1G/yOOQS1G/w1G/wOHrQWO,5:cOHwQ!fO1G0OOOQS1G0O1G0OOIYQ!fO,5;TOOQO-E8g-E8gOItQaO1G/zOOQS1G.}1G.}OOQS1G/T1G/TOI{Q!fO1G/[OOQS1G/[1G/[OJ^QWO1G/^OOQO7+%o7+%oOJcQYO'#CyO+YQWO'#EjOJkQWO,5:oOOQO,5:o,5:oOJyQ!fO'#ElO(QQWO'#ElOL^QWO7+%|OOQO7+%|7+%|OOQO7+%z7+%zOOQO,5:y,5:yOOQO,5:z,5:zOLqQaO,5:xOOQO,5:x,5:xOOQO<<Gn<<GnO<nQ!fO<<GnOMRQ!fO<<HjOOQO-E8c-E8cOMdQWO1G1UOOQO,5;R,5;ROOQO-E8e-E8eOOQO7+&o7+&oOMqQWO,5;bOOQP1G.t1G.tO(QQWO'#EfOMyQWO,5;cOOQT1G.w1G.wOOQP<<Hj<<HjONRQ!fO,5;SOOQO-E8f-E8fO/OQWO<<HxONgQWO7+%aOOQS1G/}1G/}OOQS7+%j7+%jOOQS7+%f7+%fOOQS7+$v7+$vOOQS7+$x7+$xOOQO,5;U,5;UOOQO-E8h-E8hOOQO1G0Z1G0ZONnQ!fO,5;WOOQO-E8j-E8jOOQO<<Ih<<IhOOQO1G0d1G0dOOQOAN=YAN=YOOQPAN>UAN>UO!!RQWO,5;QOOQO-E8d-E8dO!!]QWOAN>dOOQS<<H{<<H{OOQOG24OG24O",stateData:"!!n~O#dOSROSSOS~OVXOYXO^TO_TOfaOgbOoaOpWOyVO!OUO!aYO!nZO!p[O!r]O!u^O!{_O#hPO#iRO~O#a#eP~P]O^XX^!}X_XXcXXjXXp!}XyXX!OXX!UXX!ZXX![XX!^XX#PXX#aXX#bXX#iXX#oXX#pXX#p!}X#x!}X!]XX~O#hjO~O^oO_oOcmOyqO!OpO!UrO#bsO#ilO#otO#ptO~OjvO![yO!^wO#P{O!Z#TX#a#TX!]#TX~P$WOd!OO#h|O~O#h!PO~O#h!RO~O#h!TO#p!VO#x!VO^!YX^#wX_!YXc!YXj!YXy!YX!O!YX!U!YX!Z!YX![!YX!^!YX#P!YX#a!YX#b!YX#i!YX#o!YX#p!YX!]!YX~Oj!XOn!WO~Og!^Oj!ZOo!^Op!^Ou!`O!i!]O#h!YO~O!^#uP~P'bOf!fOg!fOh!fOj!bOl!fOn!fOo!fOp!fOu!gO{!eO#h!aO#m!cO~On!iO{!eO#h!hO~O#h!kO~Op!nO#p!VO#x!VO^#wX~OjvO#p!VO#x!VO^#wX~O^!qO~O!Z!rO#a#eX!]#eX~O#a#eX!]#eX~P]OVXOYXO^TO_TOp!xOyVO!OUO#h!vO#iRO~OcmOjvO![!{O!^wO~Od#OO#h|O~Of!fOg#VOh!fOj!bOl!fOn!fOo!fOp!fOu!gO{!eO#h!aO#m!cO#s#WO~Oa#XO~P+gO!]#eP~P]O![!{O!^wO#P#]O!Z#Ta#a#Ta!]#Ta~OQ#^O^]a_]ac]aj]ay]a!O]a!U]a!Z]a![]a!^]a#P]a#a]a#b]a#i]a#o]a#p]a!]]aa]a~OQ#`O~Ow#aO!S#bO~Op!nO#p#dO#x#dO^#wa~O!Z#uP~P'bOa#tP~P(QOg!^Oj!ZOo!^Op!^Ou!`O!i!]O~O#h#hO~P/^OQ#mOc#pOr#lOy#oO#n#kO!^#uX!Z#uXa#uX~Oj#rO~OP#vOQmXrmXymX!ZmX#nmX^mXamXcmXfmXgmXhmXjmXlmXnmXomXpmXumX{mX#hmX#mmX!^mX#PmX#amXwmX!]mX~OQ#`Or#wOy#yO!Z#zO#n#kO~Oj#{O~O!Z#}O~On$OO{!eO~O!^$PO~OQ#mOr#lOy#oO!^wO#n#kO~O#h!TO^#_Xp#_X#p#_X#x#_X~O!O$WO!^wO#i$XO~P(QO!Z!rO#a#ea!]#ea~O^oO_oOyqO!OpO!UrO#bsO#ilO#otO#ptO~Oc#Waj#Wa![#Wa!^#Waa#Wa~P4dO![$_O!^wO~OQ#^O^]i_]ic]ij]iy]i!O]i!U]i!Z]i![]i!^]i#P]i#a]i#b]i#i]i#o]i#p]i!]]ia]i~Ow$aO!S$bO~O^oO_oOyqO!OpO#ilO~Oc!Tij!Ti!U!Ti!Z!Ti![!Ti!^!Ti#P!Ti#a!Ti#b!Ti#o!Ti#p!Ti!]!Tia!Ti~P7TOc!Vij!Vi!U!Vi!Z!Vi![!Vi!^!Vi#P!Vi#a!Vi#b!Vi#o!Vi#p!Vi!]!Via!Vi~P7TOc!Wij!Wi!U!Wi!Z!Wi![!Wi!^!Wi#P!Wi#a!Wi#b!Wi#o!Wi#p!Wi!]!Wia!Wi~P7TOQ#`O^$eOr#wOy#yO#n#kOa#rXc#rX!Z#rX~P(QO#s$fOQ#lX^#lXa#lXc#lXf#lXg#lXh#lXj#lXl#lXn#lXo#lXp#lXr#lXu#lXy#lX{#lX!Z#lX#h#lX#m#lX#n#lX~Oa$iOc$gO!Z$gO~O!]$jO~OQ#`Or#wOy#yO!^wO#n#kO~Oa#jP~P*bOa#kP~P(QOp!nO#p$pO#x$pO^#wi~O!Z$qO~OQ#`Oc$rOr#wOy#yO#n#kOa#tX~Oa$tO~OQ!bX^!dXa!bXr!bXy!bX#n!bX~O^$uO~OQ#mOa$vOr#lOy#oO#n#kO~Oa#uP~P'bOw$zO~P(QOc#pO!^#ua!Z#uaa#ua~OQ#mOr#lOy#oO#n#kOc!fa!^!fa!Z!faa!fa~OQ#`Oa%OOr#wOy#yO#n#kO~Ow%RO~P(QOn%SO|%SO~OQ#`Or#wOy#yO#n#kO!Zta^taatactaftagtahtajtaltantaotaptauta{ta#hta#mta!^ta#Pta#atawta!]ta~O!Z%TO~O!]%XO!x%VO!y%VO#m%UO~OQ#`Oc%ZOr#wOy#yO#P%]O#n#kO!Z#Oi#a#Oi!]#Oi~P(QO!Z%^OV!|iY!|i^!|i_!|if!|ig!|io!|ip!|iy!|i!O!|i!a!|i!n!|i!p!|i!r!|i!u!|i!{!|i#a!|i#h!|i#i!|i!]!|i~OjvO!Z#QX#a#QX!]#QX~P*bO!Z!rO~OQ#`Or#wOy#yO#n#kOa#XXc#XXf#XXg#XXh#XXj#XXl#XXn#XXo#XXp#XXu#XX{#XX!Z#XX#h#XX#m#XX~Oa#rac#ra!Z#ra~P(QOa%jOc$gO!Z$gO~Oa#jX~P$WOa%lO~Oc%mOa#kX~P(QOa%oO~OQ#`Or#wOw%pOy#yO#n#kO~Oc$rOa#ta~On%sO~Oa%uO~OQ#`Or#wOw%vOy#yO#n#kO~OQ#mOr#lOy#oO#n#kOc#]a!^#]a!Z#]aa#]a~Oa%wO~P4dOQ#`Or#wOw%xOy#yO#n#kO~Oa%yO~OP#vO!^mX~O!]%|O!x%VO!y%VO#m%UO~OQ#`Or#wOy#yO#n#kOc#`Xf#`Xg#`Xh#`Xj#`Xl#`Xn#`Xo#`Xp#`Xu#`X{#`X!Z#`X#P#`X#a#`X#h#`X#m#`X!]#`X~Oc%ZO#P&PO!Z#Oq#a#Oq!]#Oq~P(QOjvO!Z#Qa#a#Qa!]#Qa~P4dOQ#`Or#wOw&SOy#yO#n#kO~Oa#ric#ri!Z#ri~P(QOcmOa#ja~Oc%mOa#ka~OQ#`Or#wOy#yO#n#kOa#[ac#[a~Oa&WO~P(QOQ#`Or#wOy#yO#n#kOc#`af#`ag#`ah#`aj#`al#`an#`ao#`ap#`au#`a{#`a!Z#`a#P#`a#a#`a#h#`a#m#`a!]#`a~Oa#Yac#Ya~P(QO!Z&XO~Of#dpg#m|#iRSRr~",goto:"0^#zPPPPPP#{P$Q$^P$Q$j$QPP$sP$yPP%PPPP%jP%jP&ZPPP%jP'O%jP%jP%jP'jPP$QP(a$Q(jP$QP$Q$Q(p$QPPPP(w#{P)f)f)q)f)f)f)fP)f)t)f#{P#{P#{P){#{P*O*RPP#{P#{*U*aP*f*i*i*a*a*l*s*}+e+k+q+w+},T,_PPPP,e,k,pPP-[-_-bPPPP.u/UP/[/_/k0QP0VVdOhweXOhmrsuw#^#r$YeQOhmrsuw#^#r$YQkRQ!ulR%`$XQ}TR!}oQ#_}R$`!}Q#_!Or#x!d#U#[#f#u#|$U$]$c$o$y%Q%Y%d%e%q%}R$`#O!]!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&T![!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&TT%V$P%WY#l![!m#j#t${s#w!d#U#[#f#u#|$U$]$c$o$y%Q%Y%d%e%q%}![!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&TQ!i]R$O!jQ!QUQ#PpR%_$WQ!SVR#QqZuS!w$k$}%aQxSS!znzQ#s!_Q$R!mQ$V!qS$^!|#[Q%c$]Q%z%VR&R%dc!^Z_!W!Z!`#l#m#p%sR#i!ZZ#n![!m#j#t${R!j]R!l^R$Q!lU`OhwQ!UWR$S!nVeOhwR$Z!qR$Y!qShOwR!thQnSS!yn%kR%k$kQ$d#UQ$m#`Y%f$d$m%g%t&TQ%g$eQ%t$uR&T%mQ%n$mR&U%nQ$h#YR%i$hQ$s#fR%r$sQ#q![R$|#qQ%W$PR%{%WQ!o`Q#c!UT$T!o#cQ%[$UR&O%[QiOR#ZwVfOhwUSOhwQ!wmQ#RrQ#SsQ#TuQ$k#^Q$}#rR%a$YR$l#^R$n#`Q!d[S#Uv$gQ#[yQ#f!XQ#u!bQ#|!gQ$U!qQ$]!{d$c#U#`$d$e$m$u%g%m%t&TQ$o#bQ$y#oQ%P#wQ%Q#yS%Y$U%[Q%d$_Q%e$bQ%q$rR%}%ZQzSQ!pbQ!|nQ%b$YR&Q%aQ#YvR%h$gR#g!XQ!_ZQ#e!WQ$x#mR&V%sW![Z!W#m%sQ!m_Q#j!ZQ#t!`Q$w#lR${#pVcOhwSgOwR!sh",nodeNames:"⚠ Unit ( Comment LineComment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName ) ArgList , PseudoClassName ArgList VariableName AtKeyword PropertyVariable ValueName ( ParenthesizedValue ColorLiteral NumberLiteral StringLiteral Escape Interpolation BinaryExpression BinOp LogicOp UnaryExpression UnaryQueryOp CallExpression ] SubscriptExpression [ CallLiteral CallTag ParenthesizedContent IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp InterpolatedSelector ; when } { Block ImportStatement import KeywordQuery FeatureQuery FeatureName BinaryQuery UnaryQuery ParenthesizedQuery SelectorQuery selector CallQuery ArgList SubscriptQuery MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList from to SupportsStatement supports DetachedRuleSet PropertyName Declaration Important Inclusion IdSelector ClassSelector Inclusion CallExpression",maxTerm:133,nodeProps:[["isolate",-3,3,4,30,""],["openedBy",17,"(",59,"{"],["closedBy",26,")",60,"}"]],propSources:[w],skippedNodes:[0,3,4],repeatNodeCount:10,tokenData:"!2q~R!ZOX$tX^%l^p$tpq%lqr)Ors-xst/ltu6Zuv$tvw8^wx:Uxy;syz<Uz{<Z{|<t|}BQ}!OBc!O!PDo!P!QFY!Q![Jw![!]Kr!]!^Ln!^!_MP!_!`M{!`!aNl!a!b$t!b!c! m!c!}!&R!}#O!'y#O#P$t#P#Q!([#Q#R!(m#R#T$t#T#o!&R#o#p!)S#p#q!(m#q#r!)e#r#s!)v#s#y$t#y#z%l#z$f$t$f$g%l$g#BY$t#BY#BZ%l#BZ$IS$t$IS$I_%l$I_$I|$t$I|$JO%l$JO$JT$t$JT$JU%l$JU$KV$t$KV$KW%l$KW&FU$t&FU&FV%l&FV;'S$t;'S;=`!2k<%lO$t`$wSOy%Tz;'S%T;'S;=`%f<%lO%T`%YS|`Oy%Tz;'S%T;'S;=`%f<%lO%T`%iP;=`<%l%T~%qh#d~OX%TX^']^p%Tpq']qy%Tz#y%T#y#z']#z$f%T$f$g']$g#BY%T#BY#BZ']#BZ$IS%T$IS$I_']$I_$I|%T$I|$JO']$JO$JT%T$JT$JU']$JU$KV%T$KV$KW']$KW&FU%T&FU&FV']&FV;'S%T;'S;=`%f<%lO%T~'dh#d~|`OX%TX^']^p%Tpq']qy%Tz#y%T#y#z']#z$f%T$f$g']$g#BY%T#BY#BZ']#BZ$IS%T$IS$I_']$I_$I|%T$I|$JO']$JO$JT%T$JT$JU']$JU$KV%T$KV$KW']$KW&FU%T&FU&FV']&FV;'S%T;'S;=`%f<%lO%Tk)RUOy%Tz#]%T#]#^)e#^;'S%T;'S;=`%f<%lO%Tk)jU|`Oy%Tz#a%T#a#b)|#b;'S%T;'S;=`%f<%lO%Tk*RU|`Oy%Tz#d%T#d#e*e#e;'S%T;'S;=`%f<%lO%Tk*jU|`Oy%Tz#c%T#c#d*|#d;'S%T;'S;=`%f<%lO%Tk+RU|`Oy%Tz#f%T#f#g+e#g;'S%T;'S;=`%f<%lO%Tk+jU|`Oy%Tz#h%T#h#i+|#i;'S%T;'S;=`%f<%lO%Tk,RU|`Oy%Tz#T%T#T#U,e#U;'S%T;'S;=`%f<%lO%Tk,jU|`Oy%Tz#b%T#b#c,|#c;'S%T;'S;=`%f<%lO%Tk-RU|`Oy%Tz#h%T#h#i-e#i;'S%T;'S;=`%f<%lO%Tk-lS#PZ|`Oy%Tz;'S%T;'S;=`%f<%lO%T~-{WOY-xZr-xrs.es#O-x#O#P.j#P;'S-x;'S;=`/f<%lO-x~.jOn~~.mRO;'S-x;'S;=`.v;=`O-x~.yXOY-xZr-xrs.es#O-x#O#P.j#P;'S-x;'S;=`/f;=`<%l-x<%lO-x~/iP;=`<%l-xo/qY!OROy%Tz!Q%T!Q![0a![!c%T!c!i0a!i#T%T#T#Z0a#Z;'S%T;'S;=`%f<%lO%Tm0fY|`Oy%Tz!Q%T!Q![1U![!c%T!c!i1U!i#T%T#T#Z1U#Z;'S%T;'S;=`%f<%lO%Tm1ZY|`Oy%Tz!Q%T!Q![1y![!c%T!c!i1y!i#T%T#T#Z1y#Z;'S%T;'S;=`%f<%lO%Tm2QYl]|`Oy%Tz!Q%T!Q![2p![!c%T!c!i2p!i#T%T#T#Z2p#Z;'S%T;'S;=`%f<%lO%Tm2wYl]|`Oy%Tz!Q%T!Q![3g![!c%T!c!i3g!i#T%T#T#Z3g#Z;'S%T;'S;=`%f<%lO%Tm3lY|`Oy%Tz!Q%T!Q![4[![!c%T!c!i4[!i#T%T#T#Z4[#Z;'S%T;'S;=`%f<%lO%Tm4cYl]|`Oy%Tz!Q%T!Q![5R![!c%T!c!i5R!i#T%T#T#Z5R#Z;'S%T;'S;=`%f<%lO%Tm5WY|`Oy%Tz!Q%T!Q![5v![!c%T!c!i5v!i#T%T#T#Z5v#Z;'S%T;'S;=`%f<%lO%Tm5}Sl]|`Oy%Tz;'S%T;'S;=`%f<%lO%Tm6^YOy%Tz!_%T!_!`6|!`!c%T!c!}7a!}#T%T#T#o7a#o;'S%T;'S;=`%f<%lO%Td7TS!SS|`Oy%Tz;'S%T;'S;=`%f<%lO%Tm7h[h]|`Oy%Tz}%T}!O7a!O!Q%T!Q![7a![!c%T!c!}7a!}#T%T#T#o7a#o;'S%T;'S;=`%f<%lO%Ta8c[YPOy%Tz}%T}!O9X!O!Q%T!Q![9X![!c%T!c!}9X!}#T%T#T#o9X#o;'S%T;'S;=`%f<%lO%Ta9`[YP|`Oy%Tz}%T}!O9X!O!Q%T!Q![9X![!c%T!c!}9X!}#T%T#T#o9X#o;'S%T;'S;=`%f<%lO%T~:XWOY:UZw:Uwx.ex#O:U#O#P:q#P;'S:U;'S;=`;m<%lO:U~:tRO;'S:U;'S;=`:};=`O:U~;QXOY:UZw:Uwx.ex#O:U#O#P:q#P;'S:U;'S;=`;m;=`<%l:U<%lO:U~;pP;=`<%l:Uo;xSj_Oy%Tz;'S%T;'S;=`%f<%lO%T~<ZOa~m<bUVPrWOy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%To<{Y#pQrWOy%Tz!O%T!O!P=k!P!Q%T!Q![@p![#R%T#R#SAm#S;'S%T;'S;=`%f<%lO%Tm=pU|`Oy%Tz!Q%T!Q![>S![;'S%T;'S;=`%f<%lO%Tm>ZY#m]|`Oy%Tz!Q%T!Q![>S![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%Tm?OY|`Oy%Tz{%T{|?n|}%T}!O?n!O!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm?sU|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@^U#m]|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@w[#m]|`Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TbAtS#xQ|`Oy%Tz;'S%T;'S;=`%f<%lO%TkBVScZOy%Tz;'S%T;'S;=`%f<%lO%TmBhXrWOy%Tz}%T}!OCT!O!P=k!P!Q%T!Q![@p![;'S%T;'S;=`%f<%lO%TmCYW|`Oy%Tz!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%TmCy[f]|`Oy%Tz}%T}!OCr!O!Q%T!Q![Cr![!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%ToDtW#iROy%Tz!O%T!O!PE^!P!Q%T!Q![>S![;'S%T;'S;=`%f<%lO%TlEcU|`Oy%Tz!O%T!O!PEu!P;'S%T;'S;=`%f<%lO%TlE|S#s[|`Oy%Tz;'S%T;'S;=`%f<%lO%T~F_VrWOy%Tz{Ft{!P%T!P!QIl!Q;'S%T;'S;=`%f<%lO%T~FyU|`OyFtyzG]z{Hd{;'SFt;'S;=`If<%lOFt~G`TOzG]z{Go{;'SG];'S;=`H^<%lOG]~GrVOzG]z{Go{!PG]!P!QHX!Q;'SG];'S;=`H^<%lOG]~H^OR~~HaP;=`<%lG]~HiW|`OyFtyzG]z{Hd{!PFt!P!QIR!Q;'SFt;'S;=`If<%lOFt~IYS|`R~Oy%Tz;'S%T;'S;=`%f<%lO%T~IiP;=`<%lFt~IsV|`S~OYIlYZ%TZyIlyzJYz;'SIl;'S;=`Jq<%lOIl~J_SS~OYJYZ;'SJY;'S;=`Jk<%lOJY~JnP;=`<%lJY~JtP;=`<%lIlmJ|[#m]Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TkKwU^ZOy%Tz![%T![!]LZ!];'S%T;'S;=`%f<%lO%TcLbS_R|`Oy%Tz;'S%T;'S;=`%f<%lO%TkLsS!ZZOy%Tz;'S%T;'S;=`%f<%lO%ThMUUrWOy%Tz!_%T!_!`Mh!`;'S%T;'S;=`%f<%lO%ThMoS|`rWOy%Tz;'S%T;'S;=`%f<%lO%TlNSW!SSrWOy%Tz!^%T!^!_Mh!_!`%T!`!aMh!a;'S%T;'S;=`%f<%lO%TjNsV!UQrWOy%Tz!_%T!_!`Mh!`!a! Y!a;'S%T;'S;=`%f<%lO%Tb! aS!UQ|`Oy%Tz;'S%T;'S;=`%f<%lO%To! rYg]Oy%Tz!b%T!b!c!!b!c!}!#R!}#T%T#T#o!#R#o#p!$O#p;'S%T;'S;=`%f<%lO%Tm!!iWg]|`Oy%Tz!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%Tm!#Y[g]|`Oy%Tz}%T}!O!#R!O!Q%T!Q![!#R![!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%To!$TW|`Oy%Tz!c%T!c!}!$m!}#T%T#T#o!$m#o;'S%T;'S;=`%f<%lO%To!$r^|`Oy%Tz}%T}!O!$m!O!Q%T!Q![!$m![!c%T!c!}!$m!}#T%T#T#o!$m#o#q%T#q#r!%n#r;'S%T;'S;=`%f<%lO%To!%uSp_|`Oy%Tz;'S%T;'S;=`%f<%lO%To!&W[#h_Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%To!'T[#h_|`Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%Tk!(OSyZOy%Tz;'S%T;'S;=`%f<%lO%Tm!(aSw]Oy%Tz;'S%T;'S;=`%f<%lO%Td!(pUOy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tk!)XS!^ZOy%Tz;'S%T;'S;=`%f<%lO%Tk!)jS!]ZOy%Tz;'S%T;'S;=`%f<%lO%To!){Y#oQOr%Trs!*ksw%Twx!.wxy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tm!*pZ|`OY!*kYZ%TZr!*krs!+csy!*kyz!+vz#O!*k#O#P!-j#P;'S!*k;'S;=`!.q<%lO!*km!+jSo]|`Oy%Tz;'S%T;'S;=`%f<%lO%T]!+yWOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d<%lO!+v]!,hOo]]!,kRO;'S!+v;'S;=`!,t;=`O!+v]!,wXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!+v<%lO!+v]!-gP;=`<%l!+vm!-oU|`Oy!*kyz!+vz;'S!*k;'S;=`!.R;=`<%l!+v<%lO!*km!.UXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!*k<%lO!+vm!.tP;=`<%l!*km!.|Z|`OY!.wYZ%TZw!.wwx!+cxy!.wyz!/oz#O!.w#O#P!1^#P;'S!.w;'S;=`!2e<%lO!.w]!/rWOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W<%lO!/o]!0_RO;'S!/o;'S;=`!0h;=`O!/o]!0kXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!/o<%lO!/o]!1ZP;=`<%l!/om!1cU|`Oy!.wyz!/oz;'S!.w;'S;=`!1u;=`<%l!/o<%lO!.wm!1xXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!.w<%lO!/om!2hP;=`<%l!.w`!2nP;=`<%l$t",tokenizers:[d,Z,W,0,1,2,3,4],topRules:{StyleSheet:[0,5]},specialized:[{term:116,get:T=>z[T]||-1},{term:23,get:T=>h[T]||-1}],tokenPrec:2180}),o=i.define({name:"less",parser:g.configure({props:[n.add({Declaration:$()}),y.add({Block:P})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*\}$/,wordChars:"@-"}}),u=m(T=>T.name=="VariableName"||T.name=="AtKeyword");function G(){return new t(o,o.data.of({autocomplete:u}))}export{G as less,u as lessCompletionSource,o as lessLanguage};
@@ -0,0 +1,2 @@
1
+ import{L as re,a as ae,i as ne,c as ie,f as se,s as oe,t as i,b as le,d as ce,e as de}from"./OnboardingWizard-7V9IoFqk.js";import{E as me,L as ue}from"./index-BuHuphPm.js";import"./index-DCmEqo8K.js";const pe=36,X=1,fe=2,b=3,C=4,_e=5,ge=6,he=7,ye=8,be=9,ve=10,ke=11,xe=12,Oe=13,we=14,Qe=15,Ce=16,Se=17,I=18,qe=19,E=20,W=21,R=22,Pe=23,Te=24;function q(t){return t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57}function ze(t){return t>=48&&t<=57||t>=97&&t<=102||t>=65&&t<=70}function g(t,e,a){for(let r=!1;;){if(t.next<0)return;if(t.next==e&&!r){t.advance();return}r=a&&!r&&t.next==92,t.advance()}}function je(t,e){e:for(;;){if(t.next<0)return;if(t.next==36){t.advance();for(let a=0;a<e.length;a++){if(t.next!=e.charCodeAt(a))continue e;t.advance()}if(t.next==36){t.advance();return}}else t.advance()}}function Ue(t,e){let a="[{<(".indexOf(String.fromCharCode(e)),r=a<0?e:"]}>)".charCodeAt(a);for(;;){if(t.next<0)return;if(t.next==r&&t.peek(1)==39){t.advance(2);return}t.advance()}}function P(t,e){for(;!(t.next!=95&&!q(t.next));)e!=null&&(e+=String.fromCharCode(t.next)),t.advance();return e}function Le(t){if(t.next==39||t.next==34||t.next==96){let e=t.next;t.advance(),g(t,e,!1)}else P(t)}function D(t,e){for(;t.next==48||t.next==49;)t.advance();e&&t.next==e&&t.advance()}function Z(t,e){for(;;){if(t.next==46){if(e)break;e=!0}else if(t.next<48||t.next>57)break;t.advance()}if(t.next==69||t.next==101)for(t.advance(),(t.next==43||t.next==45)&&t.advance();t.next>=48&&t.next<=57;)t.advance()}function N(t){for(;!(t.next<0||t.next==10);)t.advance()}function _(t,e){for(let a=0;a<e.length;a++)if(e.charCodeAt(a)==t)return!0;return!1}const S=` \r
2
+ `;function M(t,e,a){let r=Object.create(null);r.true=r.false=_e,r.null=r.unknown=ge;for(let n of t.split(" "))n&&(r[n]=E);for(let n of e.split(" "))n&&(r[n]=W);for(let n of(a||"").split(" "))n&&(r[n]=Te);return r}const h="array binary bit boolean char character clob date decimal double float int integer interval large national nchar nclob numeric object precision real smallint time timestamp varchar varying ",y="absolute action add after all allocate alter and any are as asc assertion at authorization before begin between both breadth by call cascade cascaded case cast catalog check close collate collation column commit condition connect connection constraint constraints constructor continue corresponding count create cross cube current current_date current_default_transform_group current_transform_group_for_type current_path current_role current_time current_timestamp current_user cursor cycle data day deallocate declare default deferrable deferred delete depth deref desc describe descriptor deterministic diagnostics disconnect distinct do domain drop dynamic each else elseif end end-exec equals escape except exception exec execute exists exit external fetch first for foreign found from free full function general get global go goto grant group grouping handle having hold hour identity if immediate in indicator initially inner inout input insert intersect into is isolation join key language last lateral leading leave left level like limit local localtime localtimestamp locator loop map match method minute modifies module month names natural nesting new next no none not of old on only open option or order ordinality out outer output overlaps pad parameter partial path prepare preserve primary prior privileges procedure public read reads recursive redo ref references referencing relative release repeat resignal restrict result return returns revoke right role rollback rollup routine row rows savepoint schema scroll search second section select session session_user set sets signal similar size some space specific specifictype sql sqlexception sqlstate sqlwarning start state static system_user table temporary then timezone_hour timezone_minute to trailing transaction translation treat trigger under undo union unique unnest until update usage user using value values view when whenever where while with without work write year zone ",T={backslashEscapes:!1,hashComments:!1,spaceAfterDashes:!1,slashComments:!1,doubleQuotedStrings:!1,doubleDollarQuotedStrings:!1,unquotedBitLiterals:!1,treatBitsAsBytes:!1,charSetCasts:!1,plsqlQuotingMechanism:!1,operatorChars:"*+-%<>!=&|~^/",specialVar:"?",identifierQuotes:'"',caseInsensitiveIdentifiers:!1,words:M(y,h)};function Be(t,e,a,r){let n={};for(let s in T)n[s]=(t.hasOwnProperty(s)?t:T)[s];return e&&(n.words=M(e,a||"",r)),n}function K(t){return new me(e=>{var a;let{next:r}=e;if(e.advance(),_(r,S)){for(;_(e.next,S);)e.advance();e.acceptToken(pe)}else if(r==36&&t.doubleDollarQuotedStrings){let n=P(e,"");e.next==36&&(e.advance(),je(e,n),e.acceptToken(b))}else if(r==39||r==34&&t.doubleQuotedStrings)g(e,r,t.backslashEscapes),e.acceptToken(b);else if(r==35&&t.hashComments||r==47&&e.next==47&&t.slashComments)N(e),e.acceptToken(X);else if(r==45&&e.next==45&&(!t.spaceAfterDashes||e.peek(1)==32))N(e),e.acceptToken(X);else if(r==47&&e.next==42){e.advance();for(let n=1;;){let s=e.next;if(e.next<0)break;if(e.advance(),s==42&&e.next==47){if(n--,e.advance(),!n)break}else s==47&&e.next==42&&(n++,e.advance())}e.acceptToken(fe)}else if((r==101||r==69)&&e.next==39)e.advance(),g(e,39,!0),e.acceptToken(b);else if((r==110||r==78)&&e.next==39&&t.charSetCasts)e.advance(),g(e,39,t.backslashEscapes),e.acceptToken(b);else if(r==95&&t.charSetCasts)for(let n=0;;n++){if(e.next==39&&n>1){e.advance(),g(e,39,t.backslashEscapes),e.acceptToken(b);break}if(!q(e.next))break;e.advance()}else if(t.plsqlQuotingMechanism&&(r==113||r==81)&&e.next==39&&e.peek(1)>0&&!_(e.peek(1),S)){let n=e.peek(1);e.advance(2),Ue(e,n),e.acceptToken(b)}else if(_(r,t.identifierQuotes)){const n=r==91?93:r;g(e,n,!1),e.acceptToken(qe)}else if(r==40)e.acceptToken(he);else if(r==41)e.acceptToken(ye);else if(r==123)e.acceptToken(be);else if(r==125)e.acceptToken(ve);else if(r==91)e.acceptToken(ke);else if(r==93)e.acceptToken(xe);else if(r==59)e.acceptToken(Oe);else if(t.unquotedBitLiterals&&r==48&&e.next==98)e.advance(),D(e),e.acceptToken(R);else if((r==98||r==66)&&(e.next==39||e.next==34)){const n=e.next;e.advance(),t.treatBitsAsBytes?(g(e,n,t.backslashEscapes),e.acceptToken(Pe)):(D(e,n),e.acceptToken(R))}else if(r==48&&(e.next==120||e.next==88)||(r==120||r==88)&&e.next==39){let n=e.next==39;for(e.advance();ze(e.next);)e.advance();n&&e.next==39&&e.advance(),e.acceptToken(C)}else if(r==46&&e.next>=48&&e.next<=57)Z(e,!0),e.acceptToken(C);else if(r==46)e.acceptToken(we);else if(r>=48&&r<=57)Z(e,!1),e.acceptToken(C);else if(_(r,t.operatorChars)){for(;_(e.next,t.operatorChars);)e.advance();e.acceptToken(Qe)}else if(_(r,t.specialVar))e.next==r&&e.advance(),Le(e),e.acceptToken(Se);else if(r==58||r==44)e.acceptToken(Ce);else if(q(r)){let n=P(e,String.fromCharCode(r));e.acceptToken(e.next==46||e.peek(-n.length-1)==46?I:(a=t.words[n.toLowerCase()])!==null&&a!==void 0?a:I)}})}const F=K(T),Xe=ue.deserialize({version:14,states:"%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",stateData:",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",goto:"#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",nodeNames:"⚠ LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:38,nodeProps:[["isolate",-4,1,2,3,19,""]],skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,F],topRules:{Script:[0,25]},tokenPrec:0});function z(t){let e=t.cursor().moveTo(t.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function x(t,e){let a=t.sliceString(e.from,e.to),r=/^([`'"\[])(.*)([`'"\]])$/.exec(a);return r?r[2]:a}function Q(t){return t&&(t.name=="Identifier"||t.name=="QuotedIdentifier")}function Ie(t,e){if(e.name=="CompositeIdentifier"){let a=[];for(let r=e.firstChild;r;r=r.nextSibling)Q(r)&&a.push(x(t,r));return a}return[x(t,e)]}function V(t,e){for(let a=[];;){if(!e||e.name!=".")return a;let r=z(e);if(!Q(r))return a;a.unshift(x(t,r)),e=z(r)}}function Re(t,e){let a=de(t).resolveInner(e,-1),r=Ze(t.doc,a);return a.name=="Identifier"||a.name=="QuotedIdentifier"||a.name=="Keyword"?{from:a.from,quoted:a.name=="QuotedIdentifier"?t.doc.sliceString(a.from,a.from+1):null,parents:V(t.doc,z(a)),aliases:r}:a.name=="."?{from:e,quoted:null,parents:V(t.doc,a),aliases:r}:{from:e,quoted:null,parents:[],empty:!0,aliases:r}}const De=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));function Ze(t,e){let a;for(let n=e;!a;n=n.parent){if(!n)return null;n.name=="Statement"&&(a=n)}let r=null;for(let n=a.firstChild,s=!1,c=null;n;n=n.nextSibling){let l=n.name=="Keyword"?t.sliceString(n.from,n.to).toLowerCase():null,o=null;if(!s)s=l=="from";else if(l=="as"&&c&&Q(n.nextSibling))o=x(t,n.nextSibling);else{if(l&&De.has(l))break;c&&Q(n)&&(o=x(t,n))}o&&(r||(r=Object.create(null)),r[o]=Ie(t,c)),c=/Identifier$/.test(n.name)?n:null}return r}function Ne(t,e,a){return a.map(r=>({...r,label:r.label[0]==t?r.label:t+r.label+e,apply:void 0}))}const Ve=/^\w*$/,$e=/^[`'"\[]?\w*[`'"\]]?$/;function $(t){return t.self&&typeof t.self.label=="string"}class j{constructor(e,a){this.idQuote=e,this.idCaseInsensitive=a,this.list=[],this.children=void 0}child(e){let a=this.children||(this.children=Object.create(null)),r=a[e];return r||(e&&!this.list.some(n=>n.label==e)&&this.list.push(A(e,"type",this.idQuote,this.idCaseInsensitive)),a[e]=new j(this.idQuote,this.idCaseInsensitive))}maybeChild(e){return this.children?this.children[e]:null}addCompletion(e){let a=this.list.findIndex(r=>r.label==e.label);a>-1?this.list[a]=e:this.list.push(e)}addCompletions(e){for(let a of e)this.addCompletion(typeof a=="string"?A(a,"property",this.idQuote,this.idCaseInsensitive):a)}addNamespace(e){Array.isArray(e)?this.addCompletions(e):$(e)?this.addNamespace(e.children):this.addNamespaceObject(e)}addNamespaceObject(e){for(let a of Object.keys(e)){let r=e[a],n=null,s=a.replace(/\\?\./g,l=>l=="."?"\0":l).split("\0"),c=this;$(r)&&(n=r.self,r=r.children);for(let l=0;l<s.length;l++)n&&l==s.length-1&&c.addCompletion(n),c=c.child(s[l].replace(/\\\./g,"."));c.addNamespace(r)}}}function A(t,e,a,r){return new RegExp("^[a-z_][a-z_\\d]*$",r?"i":"").test(t)?{label:t,type:e}:{label:t,type:e,apply:a+t+G(a)}}function G(t){return t==="["?"]":t}function Ae(t,e,a,r,n,s){var c;let l=((c=s==null?void 0:s.spec.identifierQuotes)===null||c===void 0?void 0:c[0])||'"',o=new j(l,!!(s!=null&&s.spec.caseInsensitiveIdentifiers)),u=n?o.child(n):null;return o.addNamespace(t),e&&(u||o).addCompletions(e),a&&o.addCompletions(a),u&&o.addCompletions(u.list),r&&o.addCompletions((u||o).child(r).list),p=>{let{parents:v,from:L,quoted:B,empty:ee,aliases:O}=Re(p.state,p.pos);if(ee&&!p.explicit)return null;O&&v.length==1&&(v=O[v[0]]||v);let d=o;for(let f of v){for(;!d.children||!d.children[f];)if(d==o&&u)d=u;else if(d==u&&r)d=d.child(r);else return null;let k=d.maybeChild(f);if(!k)return null;d=k}let w=d.list;if(d==o&&O&&(w=w.concat(Object.keys(O).map(f=>({label:f,type:"constant"})))),B){let f=B[0],k=G(f),te=p.state.sliceDoc(p.pos,p.pos+1)==k;return{from:L,to:te?p.pos+1:void 0,options:Ne(f,k,w),validFor:$e}}else return{from:L,options:w,validFor:Ve}}}function Ee(t){return t==W?"type":t==E?"keyword":"variable"}function We(t,e,a){let r=Object.keys(t).map(n=>a(e?n.toUpperCase():n,Ee(t[n])));return le(["QuotedIdentifier","String","LineComment","BlockComment","."],ce(r))}let Me=Xe.configure({props:[ne.add({Statement:ie()}),se.add({Statement(t,e){return{from:Math.min(t.from+100,e.doc.lineAt(t.from).to),to:t.to}},BlockComment(t){return{from:t.from+2,to:t.to-2}}}),oe({Keyword:i.keyword,Type:i.typeName,Builtin:i.standard(i.name),Bits:i.number,Bytes:i.string,Bool:i.bool,Null:i.null,Number:i.number,String:i.string,Identifier:i.name,QuotedIdentifier:i.special(i.string),SpecialVar:i.special(i.name),LineComment:i.lineComment,BlockComment:i.blockComment,Operator:i.operator,"Semi Punctuation":i.punctuation,"( )":i.paren,"{ }":i.brace,"[ ]":i.squareBracket})]});class m{constructor(e,a,r){this.dialect=e,this.language=a,this.spec=r}get extension(){return this.language.extension}configureLanguage(e,a){return new m(this.dialect,this.language.configure(e,a),this.spec)}static define(e){let a=Be(e,e.keywords,e.types,e.builtin),r=re.define({name:"sql",parser:Me.configure({tokenizers:[{from:F,to:K(a)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new m(a,r,e)}}function Ke(t,e){return{label:t,type:e,boost:-1}}function Fe(t,e=!1,a){return We(t.dialect.words,e,a||Ke)}function Ge(t){return t.schema?Ae(t.schema,t.tables,t.schemas,t.defaultTable,t.defaultSchema,t.dialect||U):()=>null}function Ye(t){return t.schema?(t.dialect||U).language.data.of({autocomplete:Ge(t)}):[]}function rt(t={}){let e=t.dialect||U;return new ae(e.language,[Ye(t),e.language.data.of({autocomplete:Fe(e,t.upperCaseKeywords,t.keywordCompletion)})])}const U=m.define({}),at=m.define({charSetCasts:!0,doubleDollarQuotedStrings:!0,operatorChars:"+-*/<>=~!@#%^&|`?",specialVar:"",keywords:y+"abort abs absent access according ada admin aggregate alias also always analyse analyze array_agg array_max_cardinality asensitive assert assignment asymmetric atomic attach attribute attributes avg backward base64 begin_frame begin_partition bernoulli bit_length blocked bom cache called cardinality catalog_name ceil ceiling chain char_length character_length character_set_catalog character_set_name character_set_schema characteristics characters checkpoint class class_origin cluster coalesce cobol collation_catalog collation_name collation_schema collect column_name columns command_function command_function_code comment comments committed concurrently condition_number configuration conflict connection_name constant constraint_catalog constraint_name constraint_schema contains content control conversion convert copy corr cost covar_pop covar_samp csv cume_dist current_catalog current_row current_schema cursor_name database datalink datatype datetime_interval_code datetime_interval_precision db debug defaults defined definer degree delimiter delimiters dense_rank depends derived detach detail dictionary disable discard dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue document dump dynamic_function dynamic_function_code element elsif empty enable encoding encrypted end_frame end_partition endexec enforced enum errcode error event every exclude excluding exclusive exp explain expression extension extract family file filter final first_value flag floor following force foreach fortran forward frame_row freeze fs functions fusion generated granted greatest groups handler header hex hierarchy hint id ignore ilike immediately immutable implementation implicit import include including increment indent index indexes info inherit inherits inline insensitive instance instantiable instead integrity intersection invoker isnull key_member key_type label lag last_value lead leakproof least length library like_regex link listen ln load location lock locked log logged lower mapping matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text min minvalue mod mode more move multiset mumps name namespace nfc nfd nfkc nfkd nil normalize normalized nothing notice notify notnull nowait nth_value ntile nullable nullif nulls number occurrences_regex octet_length octets off offset oids operator options ordering others over overlay overriding owned owner parallel parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partition pascal passing passthrough password percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding prepared print_strict_params procedural procedures program publication query quote raise range rank reassign recheck recovery refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex rename repeatable replace replica requiring reset respect restart restore result_oid returned_cardinality returned_length returned_octet_length returned_sqlstate returning reverse routine_catalog routine_name routine_schema routines row_count row_number rowtype rule scale schema_name schemas scope scope_catalog scope_name scope_schema security selective self sensitive sequence sequences serializable server server_name setof share show simple skip slice snapshot source specific_name sqlcode sqlerror sqrt stable stacked standalone statement statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time table_name tables tablesample tablespace temp template ties token top_level_count transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex trigger_catalog trigger_name trigger_schema trim trim_array truncate trusted type types uescape unbounded uncommitted unencrypted unlink unlisten unlogged unnamed untyped upper uri use_column use_variable user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema vacuum valid validate validator value_of var_pop var_samp varbinary variable_conflict variadic verbose version versioning views volatile warning whitespace width_bucket window within wrapper xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate yes",types:h+"bigint int8 bigserial serial8 varbit bool box bytea cidr circle precision float8 inet int4 json jsonb line lseg macaddr macaddr8 money numeric pg_lsn point polygon float4 int2 smallserial serial2 serial serial4 text timetz timestamptz tsquery tsvector txid_snapshot uuid xml"}),Y="accessible algorithm analyze asensitive authors auto_increment autocommit avg avg_row_length binlog btree cache catalog_name chain change changed checkpoint checksum class_origin client_statistics coalesce code collations columns comment committed completion concurrent consistent contains contributors convert database databases day_hour day_microsecond day_minute day_second delay_key_write delayed delimiter des_key_file dev_pop dev_samp deviance directory disable discard distinctrow div dual dumpfile enable enclosed ends engine engines enum errors escaped even event events every explain extended fast field fields flush force found_rows fulltext grants handler hash high_priority hosts hour_microsecond hour_minute hour_second ignore ignore_server_ids import index index_statistics infile innodb insensitive insert_method install invoker iterate keys kill linear lines list load lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modify mutex mysql_errno no_write_to_binlog offline offset one online optimize optionally outfile pack_keys parser partition partitions password phase plugin plugins prev processlist profile profiles purge query quick range read_write rebuild recover regexp relaylog remove rename reorganize repair repeatable replace require resume rlike row_format rtree schedule schema_name schemas second_microsecond security sensitive separator serializable server share show slave slow snapshot soname spatial sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result ssl starting starts std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace terminated triggers truncate uncommitted uninstall unlock upgrade use use_frm user_resources user_statistics utc_date utc_time utc_timestamp variables views warnings xa xor year_month zerofill",H=h+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int1 int2 int3 int4 int8 float4 float8 varbinary varcharacter precision datetime unsigned signed",J="charset clear edit ego help nopager notee nowarning pager print prompt quit rehash source status system tee",nt=m.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:y+"group_concat "+Y,types:H,builtin:J}),it=m.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:y+"always generated groupby_concat hard persistent shutdown soft virtual "+Y,types:H,builtin:J});let He="approx_count_distinct approx_percentile_cont approx_percentile_disc avg checksum_agg count count_big grouping grouping_id max min product stdev stdevp sum var varp ai_generate_embeddings ai_generate_chunks cume_dist first_value lag last_value lead percentile_cont percentile_disc percent_rank left_shift right_shift bit_count get_bit set_bit collationproperty tertiary_weights @@datefirst @@dbts @@langid @@language @@lock_timeout @@max_connections @@max_precision @@nestlevel @@options @@remserver @@servername @@servicename @@spid @@textsize @@version cast convert parse try_cast try_convert try_parse asymkey_id asymkeyproperty certproperty cert_id crypt_gen_random decryptbyasymkey decryptbycert decryptbykey decryptbykeyautoasymkey decryptbykeyautocert decryptbypassphrase encryptbyasymkey encryptbycert encryptbykey encryptbypassphrase hashbytes is_objectsigned key_guid key_id key_name signbyasymkey signbycert symkeyproperty verifysignedbycert verifysignedbyasymkey @@cursor_rows @@fetch_status cursor_status datalength ident_current ident_incr ident_seed identity sql_variant_property @@datefirst current_timestamp current_timezone current_timezone_id date_bucket dateadd datediff datediff_big datefromparts datename datepart datetime2fromparts datetimefromparts datetimeoffsetfromparts datetrunc day eomonth getdate getutcdate isdate month smalldatetimefromparts switchoffset sysdatetime sysdatetimeoffset sysutcdatetime timefromparts todatetimeoffset year edit_distance edit_distance_similarity jaro_winkler_distance jaro_winkler_similarity edge_id_from_parts graph_id_from_edge_id graph_id_from_node_id node_id_from_parts object_id_from_edge_id object_id_from_node_id json isjson json_array json_contains json_modify json_object json_path_exists json_query json_value regexp_like regexp_replace regexp_substr regexp_instr regexp_count regexp_matches regexp_split_to_table abs acos asin atan atn2 ceiling cos cot degrees exp floor log log10 pi power radians rand round sign sin sqrt square tan choose greatest iif least @@procid app_name applock_mode applock_test assemblyproperty col_length col_name columnproperty databasepropertyex db_id db_name file_id file_idex file_name filegroup_id filegroup_name filegroupproperty fileproperty filepropertyex fulltextcatalogproperty fulltextserviceproperty index_col indexkey_property indexproperty next value for object_definition object_id object_name object_schema_name objectproperty objectpropertyex original_db_name parsename schema_id schema_name scope_identity serverproperty stats_date type_id type_name typeproperty dense_rank ntile rank row_number publishingservername certenclosed certprivatekey current_user database_principal_id has_dbaccess has_perms_by_name is_member is_rolemember is_srvrolemember loginproperty original_login permissions pwdencrypt pwdcompare session_user sessionproperty suser_id suser_name suser_sid suser_sname system_user user user_id user_name ascii char charindex concat concat_ws difference format left len lower ltrim nchar patindex quotename replace replicate reverse right rtrim soundex space str string_agg string_escape stuff substring translate trim unicode upper $partition @@error @@identity @@pack_received @@rowcount @@trancount binary_checksum checksum compress connectionproperty context_info current_request_id current_transaction_id decompress error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big session_context xact_state @@connections @@cpu_busy @@idle @@io_busy @@pack_sent @@packet_errors @@timeticks @@total_errors @@total_read @@total_write textptr textvalid columns_updated eventdata trigger_nestlevel vector_distance vectorproperty vector_search generate_series opendatasource openjson openquery openrowset openxml predict string_split coalesce nullif apply catch filter force include keep keepfixed modify optimize parameterization parameters partition recompile sequence set";const st=m.define({keywords:y+"add external procedure all fetch public alter file raiserror and fillfactor read any for readtext as foreign reconfigure asc freetext references authorization freetexttable replication backup from restore begin full restrict between function return break goto revert browse grant revoke bulk group right by having rollback cascade holdlock rowcount case identity rowguidcol check identity_insert rule checkpoint identitycol save close if schema clustered in securityaudit coalesce index select collate inner semantickeyphrasetable column insert semanticsimilaritydetailstable commit intersect semanticsimilaritytable compute into session_user constraint is set contains join setuser containstable key shutdown continue kill some convert left statistics create like system_user cross lineno table current load tablesample current_date merge textsize current_time national then current_timestamp nocheck to current_user nonclustered top cursor not tran database null transaction dbcc nullif trigger deallocate of truncate declare off try_convert default offsets tsequal delete on union deny open unique desc opendatasource unpivot disk openquery update distinct openrowset updatetext distributed openxml use double option user drop or values dump order varying else outer view end over waitfor errlvl percent when escape pivot where except plan while exec precision with execute primary within group exists print writetext exit proc noexpand index forceseek forcescan holdlock nolock nowait paglock readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot spatial_window_max_cells tablock tablockx updlock xlock keepidentity keepdefaults ignore_constraints ignore_triggers",types:h+"smalldatetime datetimeoffset datetime2 datetime bigint smallint smallmoney tinyint money real text nvarchar ntext varbinary image hierarchyid uniqueidentifier sql_variant xml",builtin:He,operatorChars:"*+-%<>!=^&|/",specialVar:"@",identifierQuotes:'"['}),ot=m.define({keywords:y+"abort analyze attach autoincrement conflict database detach exclusive fail glob ignore index indexed instead isnull notnull offset plan pragma query raise regexp reindex rename replace temp vacuum virtual",types:h+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int2 int8 unsigned signed real",builtin:"auth backup bail changes clone databases dbinfo dump echo eqp explain fullschema headers help import imposter indexes iotrace lint load log mode nullvalue once print prompt quit restore save scanstats separator shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width",operatorChars:"*+-%<>!=&|/~",identifierQuotes:'`"',specialVar:"@:?$"}),lt=m.define({keywords:"add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime infinity NaN",types:h+"ascii bigint blob counter frozen inet list map static text timeuuid tuple uuid varint",slashComments:!0}),ct=m.define({keywords:y+"abort accept access add all alter and any arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body by case cast char_base check close cluster clusters colauth column comment commit compress connected constant constraint crash create current currval cursor data_base database dba deallocate debugoff debugon declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry exception exception_init exchange exclusive exists external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base of off offline on online only option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw rebuild record ref references refresh rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work",builtin:"appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define echo editfile embedded feedback flagger flush heading headsep instance linesize lno loboffset logsource longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar repfooter repheader serveroutput shiftinout show showmode spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout timing trimout trimspool ttitle underline verify version wrap",types:h+"ascii bfile bfilename bigserial bit blob dec long number nvarchar nvarchar2 serial smallint string text uid varchar2 xml",operatorChars:"*/+-%<>!=~",doubleQuotedStrings:!0,charSetCasts:!0,plsqlQuotingMechanism:!0});export{lt as Cassandra,st as MSSQL,it as MariaSQL,nt as MySQL,ct as PLSQL,at as PostgreSQL,m as SQLDialect,ot as SQLite,U as StandardSQL,Fe as keywordCompletionSource,Ge as schemaCompletionSource,rt as sql};
@@ -0,0 +1 @@
1
+ import{L as s}from"./index-BuHuphPm.js";import{s as n,t as r,a as o,L as P,i as Q,c as a,f as i,j as c}from"./OnboardingWizard-7V9IoFqk.js";import"./index-DCmEqo8K.js";const g=n({String:r.string,Number:r.number,"True False":r.bool,PropertyName:r.propertyName,Null:r.null,", :":r.separator,"[ ]":r.squareBracket,"{ }":r.brace}),p=s.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[g],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),T=()=>t=>{try{JSON.parse(t.state.doc.toString())}catch(O){if(!(O instanceof SyntaxError))throw O;const e=l(O,t.state.doc);return[{from:e,message:O.message,severity:"error",to:e}]}return[]};function l(t,O){let e;return(e=t.message.match(/at position (\d+)/))?Math.min(+e[1],O.length):(e=t.message.match(/at line (\d+) column (\d+)/))?Math.min(O.line(+e[1]).from+ +e[2]-1,O.length):0}const u=P.define({name:"json",parser:p.configure({props:[Q.add({Object:a({except:/^\s*\}/}),Array:a({except:/^\s*\]/})}),i.add({"Object Array":c})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function f(){return new o(u)}export{f as json,u as jsonLanguage,T as jsonParseLinter};