@burdenoff/cli-sdk 2026.928.1 → 2026.1021.1

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 (236) hide show
  1. package/dist/chunk-IZXPWPKX.js +32 -0
  2. package/dist/chunk-NLEVVDXR.js +1 -0
  3. package/dist/core/index.cjs +7 -7
  4. package/dist/core/index.d.cts +2 -2
  5. package/dist/core/index.d.ts +2 -2
  6. package/dist/core/index.js +1 -1
  7. package/dist/index.cjs +7 -7
  8. package/dist/index.d.cts +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.js +1 -1
  11. package/dist/{module-DxCuik6L.d.cts → module-DOIiVaXQ.d.cts} +4 -1
  12. package/dist/{module-DxCuik6L.d.ts → module-DOIiVaXQ.d.ts} +4 -1
  13. package/dist/modules/adaptercloud/index.cjs +2 -2
  14. package/dist/modules/adaptercloud/index.d.cts +1 -1
  15. package/dist/modules/adaptercloud/index.d.ts +1 -1
  16. package/dist/modules/adaptercloud/index.js +1 -1
  17. package/dist/modules/artistrybase/index.cjs +6 -6
  18. package/dist/modules/artistrybase/index.d.cts +1 -1
  19. package/dist/modules/artistrybase/index.d.ts +1 -1
  20. package/dist/modules/artistrybase/index.js +1 -1
  21. package/dist/modules/assethandler/index.cjs +2 -2
  22. package/dist/modules/assethandler/index.d.cts +1 -1
  23. package/dist/modules/assethandler/index.d.ts +1 -1
  24. package/dist/modules/assethandler/index.js +1 -1
  25. package/dist/modules/atheletebridge/index.cjs +4 -4
  26. package/dist/modules/atheletebridge/index.d.cts +1 -1
  27. package/dist/modules/atheletebridge/index.d.ts +1 -1
  28. package/dist/modules/atheletebridge/index.js +1 -1
  29. package/dist/modules/auth/index.cjs +34 -34
  30. package/dist/modules/auth/index.d.cts +1 -1
  31. package/dist/modules/auth/index.d.ts +1 -1
  32. package/dist/modules/auth/index.js +30 -30
  33. package/dist/modules/billing/index.cjs +3 -3
  34. package/dist/modules/billing/index.d.cts +1 -1
  35. package/dist/modules/billing/index.d.ts +1 -1
  36. package/dist/modules/billing/index.js +1 -1
  37. package/dist/modules/brainyrich/index.cjs +4 -4
  38. package/dist/modules/brainyrich/index.d.cts +1 -1
  39. package/dist/modules/brainyrich/index.d.ts +1 -1
  40. package/dist/modules/brainyrich/index.js +1 -1
  41. package/dist/modules/buildmyiq/index.cjs +3 -3
  42. package/dist/modules/buildmyiq/index.d.cts +1 -1
  43. package/dist/modules/buildmyiq/index.d.ts +1 -1
  44. package/dist/modules/buildmyiq/index.js +1 -1
  45. package/dist/modules/channels/index.cjs +7 -7
  46. package/dist/modules/channels/index.d.cts +1 -1
  47. package/dist/modules/channels/index.d.ts +1 -1
  48. package/dist/modules/channels/index.js +1 -1
  49. package/dist/modules/collabkin/index.cjs +11 -11
  50. package/dist/modules/collabkin/index.d.cts +1 -1
  51. package/dist/modules/collabkin/index.d.ts +1 -1
  52. package/dist/modules/collabkin/index.js +1 -1
  53. package/dist/modules/comradecircle/index.cjs +5 -5
  54. package/dist/modules/comradecircle/index.d.cts +1 -1
  55. package/dist/modules/comradecircle/index.d.ts +1 -1
  56. package/dist/modules/comradecircle/index.js +1 -1
  57. package/dist/modules/conversations/index.cjs +8 -8
  58. package/dist/modules/conversations/index.d.cts +1 -1
  59. package/dist/modules/conversations/index.d.ts +1 -1
  60. package/dist/modules/conversations/index.js +1 -1
  61. package/dist/modules/coolandlovely/index.cjs +4 -4
  62. package/dist/modules/coolandlovely/index.d.cts +1 -1
  63. package/dist/modules/coolandlovely/index.d.ts +1 -1
  64. package/dist/modules/coolandlovely/index.js +1 -1
  65. package/dist/modules/cosmicintersection/index.cjs +4 -4
  66. package/dist/modules/cosmicintersection/index.d.cts +1 -1
  67. package/dist/modules/cosmicintersection/index.d.ts +1 -1
  68. package/dist/modules/cosmicintersection/index.js +1 -1
  69. package/dist/modules/crewfoundry/index.cjs +4 -4
  70. package/dist/modules/crewfoundry/index.d.cts +1 -1
  71. package/dist/modules/crewfoundry/index.d.ts +1 -1
  72. package/dist/modules/crewfoundry/index.js +1 -1
  73. package/dist/modules/devportal/index.cjs +5 -5
  74. package/dist/modules/devportal/index.d.cts +1 -1
  75. package/dist/modules/devportal/index.d.ts +1 -1
  76. package/dist/modules/devportal/index.js +1 -1
  77. package/dist/modules/ecoimpacthub/index.cjs +2 -2
  78. package/dist/modules/ecoimpacthub/index.d.cts +1 -1
  79. package/dist/modules/ecoimpacthub/index.d.ts +1 -1
  80. package/dist/modules/ecoimpacthub/index.js +1 -1
  81. package/dist/modules/eventfullymanaged/index.cjs +21 -21
  82. package/dist/modules/eventfullymanaged/index.d.cts +1 -1
  83. package/dist/modules/eventfullymanaged/index.d.ts +1 -1
  84. package/dist/modules/eventfullymanaged/index.js +1 -1
  85. package/dist/modules/export/index.cjs +3 -3
  86. package/dist/modules/export/index.d.cts +1 -1
  87. package/dist/modules/export/index.d.ts +1 -1
  88. package/dist/modules/export/index.js +1 -1
  89. package/dist/modules/files/index.cjs +9 -9
  90. package/dist/modules/files/index.d.cts +1 -1
  91. package/dist/modules/files/index.d.ts +1 -1
  92. package/dist/modules/files/index.js +1 -1
  93. package/dist/modules/fluidgrids/index.cjs +401 -0
  94. package/dist/modules/fluidgrids/index.d.cts +7 -0
  95. package/dist/modules/fluidgrids/index.d.ts +7 -0
  96. package/dist/modules/fluidgrids/index.js +401 -0
  97. package/dist/modules/ggnomad/index.cjs +5 -5
  98. package/dist/modules/ggnomad/index.d.cts +1 -1
  99. package/dist/modules/ggnomad/index.d.ts +1 -1
  100. package/dist/modules/ggnomad/index.js +1 -1
  101. package/dist/modules/govcitizenhub/index.cjs +4 -4
  102. package/dist/modules/govcitizenhub/index.d.cts +1 -1
  103. package/dist/modules/govcitizenhub/index.d.ts +1 -1
  104. package/dist/modules/govcitizenhub/index.js +1 -1
  105. package/dist/modules/groups/index.cjs +4 -4
  106. package/dist/modules/groups/index.d.cts +1 -1
  107. package/dist/modules/groups/index.d.ts +1 -1
  108. package/dist/modules/groups/index.js +1 -1
  109. package/dist/modules/headshotmarketing/index.cjs +1 -1
  110. package/dist/modules/headshotmarketing/index.d.cts +1 -1
  111. package/dist/modules/headshotmarketing/index.d.ts +1 -1
  112. package/dist/modules/headshotmarketing/index.js +1 -1
  113. package/dist/modules/health/index.d.cts +1 -1
  114. package/dist/modules/health/index.d.ts +1 -1
  115. package/dist/modules/hookmovies/index.cjs +7 -7
  116. package/dist/modules/hookmovies/index.d.cts +1 -1
  117. package/dist/modules/hookmovies/index.d.ts +1 -1
  118. package/dist/modules/hookmovies/index.js +1 -1
  119. package/dist/modules/housingvista/index.cjs +7 -7
  120. package/dist/modules/housingvista/index.d.cts +1 -1
  121. package/dist/modules/housingvista/index.d.ts +1 -1
  122. package/dist/modules/housingvista/index.js +1 -1
  123. package/dist/modules/integrations/index.cjs +5 -5
  124. package/dist/modules/integrations/index.d.cts +1 -1
  125. package/dist/modules/integrations/index.d.ts +1 -1
  126. package/dist/modules/integrations/index.js +1 -1
  127. package/dist/modules/intelwatchtower/index.cjs +4 -4
  128. package/dist/modules/intelwatchtower/index.d.cts +1 -1
  129. package/dist/modules/intelwatchtower/index.d.ts +1 -1
  130. package/dist/modules/intelwatchtower/index.js +1 -1
  131. package/dist/modules/kadaikodi/index.cjs +2 -2
  132. package/dist/modules/kadaikodi/index.d.cts +1 -1
  133. package/dist/modules/kadaikodi/index.d.ts +1 -1
  134. package/dist/modules/kadaikodi/index.js +1 -1
  135. package/dist/modules/labsofscience/index.cjs +4 -4
  136. package/dist/modules/labsofscience/index.d.cts +1 -1
  137. package/dist/modules/labsofscience/index.d.ts +1 -1
  138. package/dist/modules/labsofscience/index.js +1 -1
  139. package/dist/modules/manufacturedops/index.cjs +6 -6
  140. package/dist/modules/manufacturedops/index.d.cts +1 -1
  141. package/dist/modules/manufacturedops/index.d.ts +1 -1
  142. package/dist/modules/manufacturedops/index.js +1 -1
  143. package/dist/modules/movethewheels/index.cjs +1 -1
  144. package/dist/modules/movethewheels/index.d.cts +1 -1
  145. package/dist/modules/movethewheels/index.d.ts +1 -1
  146. package/dist/modules/movethewheels/index.js +1 -1
  147. package/dist/modules/mybodyshield/index.cjs +6 -6
  148. package/dist/modules/mybodyshield/index.d.cts +1 -1
  149. package/dist/modules/mybodyshield/index.d.ts +1 -1
  150. package/dist/modules/mybodyshield/index.js +1 -1
  151. package/dist/modules/notifications/index.cjs +5 -5
  152. package/dist/modules/notifications/index.d.cts +1 -1
  153. package/dist/modules/notifications/index.d.ts +1 -1
  154. package/dist/modules/notifications/index.js +1 -1
  155. package/dist/modules/organizations/index.d.cts +1 -1
  156. package/dist/modules/organizations/index.d.ts +1 -1
  157. package/dist/modules/organizations/index.js +1 -1
  158. package/dist/modules/planmagnet/index.cjs +23 -23
  159. package/dist/modules/planmagnet/index.d.cts +1 -1
  160. package/dist/modules/planmagnet/index.d.ts +1 -1
  161. package/dist/modules/planmagnet/index.js +1 -1
  162. package/dist/modules/products/index.cjs +4 -4
  163. package/dist/modules/products/index.d.cts +1 -1
  164. package/dist/modules/products/index.d.ts +1 -1
  165. package/dist/modules/products/index.js +1 -1
  166. package/dist/modules/proserviceworld/index.cjs +2 -2
  167. package/dist/modules/proserviceworld/index.d.cts +1 -1
  168. package/dist/modules/proserviceworld/index.d.ts +1 -1
  169. package/dist/modules/proserviceworld/index.js +1 -1
  170. package/dist/modules/rbac/index.cjs +2 -2
  171. package/dist/modules/rbac/index.d.cts +1 -1
  172. package/dist/modules/rbac/index.d.ts +1 -1
  173. package/dist/modules/rbac/index.js +1 -1
  174. package/dist/modules/sandbox/index.cjs +4 -4
  175. package/dist/modules/sandbox/index.d.cts +1 -1
  176. package/dist/modules/sandbox/index.d.ts +1 -1
  177. package/dist/modules/sandbox/index.js +1 -1
  178. package/dist/modules/scheduler/index.cjs +5 -5
  179. package/dist/modules/scheduler/index.d.cts +1 -1
  180. package/dist/modules/scheduler/index.d.ts +1 -1
  181. package/dist/modules/scheduler/index.js +1 -1
  182. package/dist/modules/security/index.cjs +7 -7
  183. package/dist/modules/security/index.d.cts +1 -1
  184. package/dist/modules/security/index.d.ts +1 -1
  185. package/dist/modules/security/index.js +1 -1
  186. package/dist/modules/semanticfed/index.cjs +7 -7
  187. package/dist/modules/semanticfed/index.d.cts +1 -1
  188. package/dist/modules/semanticfed/index.d.ts +1 -1
  189. package/dist/modules/semanticfed/index.js +1 -1
  190. package/dist/modules/store/index.cjs +7 -7
  191. package/dist/modules/store/index.d.cts +1 -1
  192. package/dist/modules/store/index.d.ts +1 -1
  193. package/dist/modules/store/index.js +1 -1
  194. package/dist/modules/subscriberbot/index.cjs +2 -2
  195. package/dist/modules/subscriberbot/index.d.cts +1 -1
  196. package/dist/modules/subscriberbot/index.d.ts +1 -1
  197. package/dist/modules/subscriberbot/index.js +1 -1
  198. package/dist/modules/support/index.cjs +2 -2
  199. package/dist/modules/support/index.d.cts +1 -1
  200. package/dist/modules/support/index.d.ts +1 -1
  201. package/dist/modules/support/index.js +1 -1
  202. package/dist/modules/tags/index.cjs +2 -2
  203. package/dist/modules/tags/index.d.cts +1 -1
  204. package/dist/modules/tags/index.d.ts +1 -1
  205. package/dist/modules/tags/index.js +1 -1
  206. package/dist/modules/technospam/index.cjs +4 -4
  207. package/dist/modules/technospam/index.d.cts +1 -1
  208. package/dist/modules/technospam/index.d.ts +1 -1
  209. package/dist/modules/technospam/index.js +1 -1
  210. package/dist/modules/theculturepost/index.cjs +3 -3
  211. package/dist/modules/theculturepost/index.d.cts +1 -1
  212. package/dist/modules/theculturepost/index.d.ts +1 -1
  213. package/dist/modules/theculturepost/index.js +1 -1
  214. package/dist/modules/theglobalfuel/index.cjs +3 -3
  215. package/dist/modules/theglobalfuel/index.d.cts +1 -1
  216. package/dist/modules/theglobalfuel/index.d.ts +1 -1
  217. package/dist/modules/theglobalfuel/index.js +1 -1
  218. package/dist/modules/timecampus/index.cjs +7 -7
  219. package/dist/modules/timecampus/index.d.cts +1 -1
  220. package/dist/modules/timecampus/index.d.ts +1 -1
  221. package/dist/modules/timecampus/index.js +1 -1
  222. package/dist/modules/tours/index.cjs +2 -2
  223. package/dist/modules/tours/index.d.cts +1 -1
  224. package/dist/modules/tours/index.d.ts +1 -1
  225. package/dist/modules/tours/index.js +1 -1
  226. package/dist/modules/vibecontrols/index.cjs +1 -1
  227. package/dist/modules/vibecontrols/index.d.cts +1 -1
  228. package/dist/modules/vibecontrols/index.d.ts +1 -1
  229. package/dist/modules/vibecontrols/index.js +1 -1
  230. package/dist/modules/workspaces/index.cjs +15 -15
  231. package/dist/modules/workspaces/index.d.cts +1 -1
  232. package/dist/modules/workspaces/index.d.ts +1 -1
  233. package/dist/modules/workspaces/index.js +11 -11
  234. package/package.json +1 -1
  235. package/dist/chunk-TCBALVP4.js +0 -32
  236. package/dist/chunk-WXDQ3S5J.js +0 -1
@@ -1,4 +1,4 @@
1
- import {a as a$1,b as b$1,k as k$1,c,d,f,g as g$1,e,h as h$1,i as i$1,j as j$1,l,m,n as n$1,o as o$2,p as p$1,q as q$1,r,s,t as t$1,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,Q,R,S,T,U,V,W,X,Y,Z,_,$,aa,ba,ca,da,P,ea,fa,ga,Qd,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,Aa,Ba,za,Ca,Da,Ea,Fa,Ga,Ha,Ia,Ja,Ka,La,Ma,Na,Qa,Oa,Pa,Ra,Ua,Va,Wa,Ta,Ya,Xa,Za,db,_a,$a,ab,bb,cb,fb,kb,eb,Sa,gb,hb,ib,jb,lb,mb,nb,pb,ob,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Ab,Bb,Cb,Db,Eb,Fb,Gb,Hb,Ib,Jb,Kb,Lb,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Zd,_d,$d,ae,be,ce,de,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Vb,Wb,Xb,Yb,Zb,_b,$b,ac,cc,bc,dc,ec,fc,gc,Rd,Sd,Td,Ud,Vd,Wd,Xd,Yd,nd,od,pd,qd,rd,sd,td,ud,vd,wd,xd,yd,zd,Ad,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,ee,qe,he,ge,fe,me,ne,ie,re,je,ke,le,se,oe,pe,te,ue,ye,ve,we,xe,ze,Ae,Be,Ce,De,Ee,Fe,Ge,Ke,Le,Me,Ne,He,Ie,Je,Oe}from'../../chunk-REBBLQFS.js';import {a,b,h,p,n,o,g,i,q,j,t,A as A$1,y as y$1,x as x$1,w as w$1,m as m$1,r as r$1,z as z$1}from'../../chunk-WXDQ3S5J.js';import {o as o$1}from'../../chunk-TCBALVP4.js';function xo(m$1){let a=m$1.command("agents").description("Agent management");a.command("list").description("List agents").option("--active","Only active agents").option("--platform <p>","Filter by platform").option("-f, --format <format>","Output format").action(async n$1=>{try{let t={};n$1.active&&(t.isActive=!0),n$1.platform&&(t.platform=n$1.platform);let e=await b(a$1,{filter:Object.keys(t).length?t:void 0});h(n$1,e.vibecontrolsAgents,{headers:["ID","Name","Hostname","Platform","Status","Last Heartbeat"],rows:e.vibecontrolsAgents.map(i=>[p(i.id,12),i.name,i.hostname,i.platform,n(i.isActive?"ACTIVE":"INACTIVE"),o(i.lastHeartbeat)])});}catch(t){g(t);}}),a.command("get").description("Get agent by ID").argument("<id>","Agent ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(b$1,{id:n});if(!e.vibecontrolsAgent)throw new o$1("Agent not found");h(t,e.vibecontrolsAgent);}catch(e){g(e);}}),a.command("create").description("Create agent").requiredOption("--name <n>","Name").requiredOption("--hostname <h>","Hostname").requiredOption("--platform <p>","Platform").requiredOption("--arch <a>","Architecture").requiredOption("--agent-version <v>","Agent version").option("--tunnel-url <u>","Tunnel URL").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(k$1,{input:{name:n.name,hostname:n.hostname,platform:n.platform,architecture:n.arch,version:n.agentVersion,tunnelUrl:n.tunnelUrl}});i("Agent created"),h(n,t.registerVibecontrolsAgent);}catch(t){g(t);}}),a.command("update").description("Update agent").argument("<id>","Agent ID").option("--name <n>","Name").option("--tunnel-url <u>","Tunnel URL").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.tunnelUrl&&(e.tunnelUrl=t.tunnelUrl),!Object.keys(e).length)throw new o$1("No updates specified");let i$1=await b(c,{id:n,input:e});i("Agent updated"),h(t,i$1.updateVibecontrolsAgent);}catch(e){g(e);}}),a.command("delete").description("Delete agent").argument("<id>","Agent ID").option("--force","Skip confirmation").action(async(n,t)=>{try{if(!await q("Delete this agent?",t.force))return;await b(d,{id:n}),i("Agent deleted");}catch(e){g(e);}}),a.command("probe").description("Probe agent connectivity").argument("<id>","Agent ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(f,{id:n});h(t,e.probeAgentConnection);}catch(e){g(e);}}),a.command("health").description("Health check all agents").option("-f, --format <format>","Output format").action(async n$1=>{try{let e=(await b(g$1)).vibecontrolsAgentHealthProbes;h(n$1,e,{headers:["Agent","Name","Healthy","Version","Uptime"],rows:e.map(i=>[p(i.agentId,12),i.agentName,n(i.healthy?"HEALTHY":"ERROR"),i.agentVersion??"-",i.uptime!=null?Math.round(i.uptime)+"s":"-"])});}catch(t){g(t);}}),a.command("heartbeat").description("Send heartbeat").argument("<id>","Agent ID").action(async n=>{try{await b(e,{id:n}),i("Heartbeat sent");}catch(t){g(t);}}),a.command("plugins").description("List plugins").argument("<id>","Agent ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(h$1,{agentId:n});h(t,e.agentPlugins);}catch(e){g(e);}}),a.command("install-plugin").description("Install plugin").argument("<agentId>").argument("<packageName>").action(async(n,t)=>{try{let e=await b(i$1,{agentId:n,packageName:t});e.installAgentPlugin.success?i(`Plugin ${t} installed`):j(e.installAgentPlugin.error??"Failed");}catch(e){g(e);}}),a.command("remove-plugin").description("Remove plugin").argument("<agentId>").argument("<packageName>").action(async(n,t)=>{try{let e=await b(j$1,{agentId:n,packageName:t});e.removeAgentPlugin.success?i(`Plugin ${t} removed`):j(e.removeAgentPlugin.error??"Failed");}catch(e){g(e);}}),a.command("register").description("Register a new agent").requiredOption("--hostname <h>","Hostname").requiredOption("--name <n>","Name").option("--platform <p>","Platform").option("--arch <a>","Architecture").option("--agent-version <v>","Agent version").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(k$1,{input:{hostname:n.hostname,name:n.name,platform:n.platform,architecture:n.arch,version:n.agentVersion}});i("Agent registered"),h(n,t.registerAgent);}catch(t){g(t);}}),a.command("deactivate").description("Deactivate agent").argument("<id>","Agent ID").action(async n=>{try{await b(l,{id:n}),i("Agent deactivated");}catch(t){g(t);}}),a.command("push-gateway-auth").description("Push gateway auth credentials").requiredOption("--agent-id <id>","Agent ID").requiredOption("--client-id <cid>","Client ID").requiredOption("--client-secret <cs>","Client secret").action(async n=>{try{await b(m,{input:{agentId:n.agentId,clientId:n.clientId,clientSecret:n.clientSecret}}),i("Gateway auth pushed");}catch(t){g(t);}}),a.command("setup-gateway-auth").description("Setup gateway auth for agent").requiredOption("--agent-id <id>","Agent ID").action(async n=>{try{await b(n$1,{input:{agentId:n.agentId}}),i("Gateway auth setup complete");}catch(t){g(t);}}),a.command("update-version").description("Update agent version").argument("<agentId>","Agent ID").argument("<version>","Version").action(async(n,t)=>{try{await b(o$2,{agentId:n,version:t}),i("Agent version updated");}catch(e){g(e);}}),a.command("connect-target").description("Connect agent to target").argument("<sourceAgentId>","Source agent ID").argument("<targetId>","Target ID").requiredOption("--protocol <p>","Protocol").action(async(n,t,e)=>{try{await b(p$1,{sourceAgentId:n,targetId:t,protocol:e.protocol}),i("Agent connected to target");}catch(i){g(i);}}),a.command("disconnect-target").description("Disconnect agent from target").argument("<connectionId>","Connection ID").action(async n=>{try{await b(q$1,{connectionId:n}),i("Agent disconnected from target");}catch(t){g(t);}}),a.command("graph").description("Get agent graph").option("--root-agent-id <id>","Root agent ID").option("-f, --format <format>","Output format").action(async n=>{try{let t$1=t(),e=await b(r,{rootAgentId:n.rootAgentId,workspaceId:t$1?.workspaceId});h(n,e.agentGraph);}catch(t){g(t);}});}function jo(m){let a=m.command("vibes").description("Vibe management");a.command("list").description("List vibes").option("--status <s>","Filter by status").option("--type <t>","Filter by type").option("--agent <id>","Filter by agent").option("-f, --format <format>","Output format").action(async n$1=>{try{let t={};n$1.status&&(t.status=n$1.status.toUpperCase()),n$1.type&&(t.type=n$1.type.toUpperCase()),n$1.agent&&(t.agentId=n$1.agent);let i=(await b(s,{filter:Object.keys(t).length?t:void 0})).vibes.items;h(n$1,i,{headers:["ID","Name","Type","Status","Path","Created"],rows:i.map(s=>[p(s.id,12),s.name,s.type,n(s.status),p(s.path,30),o(s.createdAt)])});}catch(t){g(t);}}),a.command("get").description("Get vibe by ID").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(t$1,{id:n});if(!e.vibe)throw new o$1("Vibe not found");h(t,e.vibe);}catch(e){g(e);}}),a.command("create").description("Create vibe").requiredOption("--name <n>","Name").requiredOption("--path <p>","Path").requiredOption("--type <t>","Type (PROJECT, REPOSITORY, etc.)").option("--agent <id>","Agent ID").option("--description <d>","Description").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(u,{input:{name:n.name,path:n.path,type:n.type.toUpperCase(),agentId:n.agent,description:n.description}});i("Vibe created"),h(n,t.createVibe);}catch(t){g(t);}}),a.command("update").description("Update vibe").argument("<id>").option("--name <n>","Name").option("--description <d>","Description").option("--status <s>","Status").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.description&&(e.description=t.description),t.status&&(e.status=t.status.toUpperCase()),!Object.keys(e).length)throw new o$1("No updates specified");let i$1=await b(v,{id:n,input:e});i("Vibe updated"),h(t,i$1.updateVibe);}catch(e){g(e);}}),a.command("delete").description("Delete vibe").argument("<id>").option("--force","Skip confirmation").action(async(n,t)=>{try{if(!await q("Delete this vibe?",t.force))return;await b(w,{id:n}),i("Vibe deleted");}catch(e){g(e);}}),a.command("archive").description("Archive vibe").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(x,{id:n});i("Vibe archived"),h(t,e.archiveVibe);}catch(e){g(e);}}),a.command("restore").description("Restore archived vibe").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(y,{id:n});i("Vibe restored"),h(t,e.restoreVibe);}catch(e){g(e);}}),a.command("hierarchy").description("Get vibe hierarchy").option("--root <id>","Root vibe ID").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(z,{rootId:n.root});h(n,t.vibeHierarchy);}catch(t){g(t);}}),a.command("search").description("Search vibes").argument("<query>").option("--limit <n>","Max results",parseInt).option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(A,{query:n,limit:t.limit});h(t,e.searchVibes);}catch(e){g(e);}}),a.command("move").description("Move vibe to new parent").argument("<id>","Vibe ID").option("--parent <parentId>","New parent ID (omit to remove parent)").action(async(n,t)=>{try{let e=await b(B,{id:n,newParentId:t.parent||null});i("Vibe moved"),h({},e.moveVibe);}catch(e){g(e);}}),a.command("set-status").description("Set vibe status").argument("<id>","Vibe ID").argument("<status>","New status").action(async(n,t)=>{try{await b(C,{id:n,status:t.toUpperCase()}),i("Vibe status updated");}catch(e){g(e);}}),a.command("update-git").description("Update vibe git info").argument("<id>","Vibe ID").option("--branch <b>","Branch").option("--remote <r>","Remote").option("--status <s>","Status").action(async(n,t)=>{try{let e={};t.branch&&(e.branch=t.branch),t.remote&&(e.remote=t.remote),t.status&&(e.status=t.status);let i$1=await b(D,{id:n,input:e});i("Vibe git info updated"),h({},i$1.updateVibeGit);}catch(e){g(e);}});}function Yo(m){let a=m.command("sessions").description("Session management");a.command("list").description("List sessions").option("--status <s>","Filter by status").option("--type <t>","Filter by type").option("--vibe <id>","Filter by vibe").option("--agent <id>","Filter by agent").option("-f, --format <format>","Output format").action(async n$1=>{try{let t={};n$1.status&&(t.status=n$1.status.toUpperCase()),n$1.type&&(t.type=n$1.type.toUpperCase()),n$1.vibe&&(t.vibeId=n$1.vibe),n$1.agent&&(t.agentId=n$1.agent);let i=(await b(E,{filter:Object.keys(t).length?t:void 0})).sessions.items;h(n$1,i,{headers:["ID","Name","Type","Status","Agent","Started"],rows:i.map(s=>[p(s.id,12),s.name,s.type,n(s.status),p(s.agentId,12),o(s.startedAt)])});}catch(t){g(t);}}),a.command("get").description("Get session").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(F,{id:n});if(!e.session)throw new o$1("Session not found");h(t,e.session);}catch(e){g(e);}}),a.command("create").description("Create session").requiredOption("--name <n>","Name").requiredOption("--agent <id>","Agent ID").requiredOption("--type <t>","Type (TMUX, SSH, TERMINAL, SCRIPT, CUSTOM)").option("--vibe <id>","Vibe ID").option("--command <c>","Command").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(G,{input:{name:n.name,agentId:n.agent,type:n.type.toUpperCase(),vibeId:n.vibe,command:n.command}});i("Session created"),h(n,t.createSession);}catch(t){g(t);}}),a.command("start").description("Start session").argument("<id>").action(async n=>{try{await b(H,{id:n}),i("Session started");}catch(t){g(t);}}),a.command("stop").description("Stop session").argument("<id>").action(async n=>{try{await b(I,{id:n}),i("Session stopped");}catch(t){g(t);}}),a.command("restart").description("Restart session").argument("<id>").action(async n=>{try{await b(J,{id:n}),i("Session restarted");}catch(t){g(t);}}),a.command("terminate").description("Terminate session").argument("<id>").option("--force","Skip confirmation").action(async(n,t)=>{try{if(!await q("Terminate this session?",t.force))return;await b(K,{id:n}),i("Session terminated");}catch(e){g(e);}}),a.command("output").description("Get session output").argument("<id>").option("--lines <n>","Number of lines",parseInt).option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(L,{id:n,lines:t.lines});e.sessionOutput?console.log(e.sessionOutput):j("No output");}catch(e){g(e);}}),a.command("send-input").description("Send input to session").argument("<id>").argument("<input>").action(async(n,t)=>{try{await b(M,{id:n,input:t}),i("Input sent");}catch(e){g(e);}}),a.command("start-terminal").description("Start web terminal").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(N,{id:n});i("Terminal started"),h(t,e.startSessionTerminal);}catch(e){g(e);}}),a.command("stop-terminal").description("Stop web terminal").argument("<id>").action(async n=>{try{await b(O,{id:n}),i("Terminal stopped");}catch(t){g(t);}}),a.command("active").description("List active sessions").option("--vibe <id>","Filter by vibe").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(Q,{vibeId:n.vibe});h(n,t.activeSessions);}catch(t){g(t);}}),a.command("health-check").description("Check health of all sessions").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(R);i("Health check complete"),h(n,t.checkSessionHealth);}catch(t){g(t);}}),a.command("share").description("Share session with user").argument("<sessionId>","Session ID").requiredOption("--user-id <uid>","User ID").option("--permission <p>","Permission (VIEW/INTERACT)","VIEW").action(async(n,t)=>{try{await b(S,{input:{sessionId:n,sharedWithId:t.userId,permission:t.permission}}),i("Session shared");}catch(e){g(e);}}),a.command("create-share-link").description("Create share link").argument("<sessionId>","Session ID").option("--permission <p>","Permission (VIEW/INTERACT)","VIEW").action(async(n,t)=>{try{let e=await b(T,{input:{sessionId:n,permission:t.permission}});i("Share link created"),h({},e.createSessionShareLink);}catch(e){g(e);}}),a.command("revoke-share").description("Revoke session share").argument("<id>","Share ID").action(async n=>{try{await b(U,{id:n}),i("Session share revoked");}catch(t){g(t);}}),a.command("revoke-share-link").description("Revoke session share link").argument("<id>","Share link ID").action(async n=>{try{await b(V,{id:n}),i("Share link revoked");}catch(t){g(t);}}),a.command("update-share").description("Update session share permission").argument("<id>","Share ID").requiredOption("--permission <p>","Permission (VIEW/INTERACT)").action(async(n,t)=>{try{await b(W,{id:n,input:{permission:t.permission}}),i("Session share updated");}catch(e){g(e);}}),a.command("join").description("Join shared session").argument("<sessionId>","Session ID").action(async n=>{try{await b(X,{input:{sessionId:n}}),i("Joined session");}catch(t){g(t);}}),a.command("leave").description("Leave shared session").argument("<sessionId>","Session ID").action(async n=>{try{await b(Y,{sessionId:n}),i("Left session");}catch(t){g(t);}}),a.command("request-control").description("Request session control").argument("<sessionId>","Session ID").action(async n=>{try{await b(Z,{sessionId:n}),i("Control requested");}catch(t){g(t);}}),a.command("release-control").description("Release session control").argument("<sessionId>","Session ID").action(async n=>{try{await b(_,{sessionId:n}),i("Control released");}catch(t){g(t);}}),a.command("transfer-control").description("Transfer session control").argument("<sessionId>","Session ID").requiredOption("--to-user <uid>","Target user ID").action(async(n,t)=>{try{await b($,{sessionId:n,toUserId:t.toUser}),i("Control transferred");}catch(e){g(e);}}),a.command("shares").description("List session shares").argument("<sessionId>","Session ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(aa,{sessionId:n});h(t,e.sessionShares);}catch(e){g(e);}}),a.command("share-links").description("List session share links").argument("<sessionId>","Session ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(ba,{sessionId:n});h(t,e.sessionShareLinks);}catch(e){g(e);}}),a.command("collaborators").description("List session collaborators").argument("<sessionId>","Session ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(ca,{sessionId:n});h(t,e.sessionCollaborators);}catch(e){g(e);}}),a.command("shared-with-me").description("List sessions shared with me").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(da);h(n,t.sessionsSharedWithMe);}catch(t){g(t);}}),a.command("restart-terminal").description("Restart session terminal").argument("<id>","Session ID").action(async n=>{try{await b(P,{id:n}),i("Terminal restarted");}catch(t){g(t);}}),a.command("bulk-restart").description("Bulk restart sessions").requiredOption("--ids <ids>","Session IDs (comma-separated)").option("--force","Skip confirmation").action(async n=>{try{await b(ea,{ids:n.ids.split(",").map(t=>t.trim()),force:n.force}),i("Sessions restarted");}catch(t){g(t);}}),a.command("bulk-stop").description("Bulk stop sessions").requiredOption("--ids <ids>","Session IDs (comma-separated)").option("--force","Skip confirmation").action(async n=>{try{await b(fa,{ids:n.ids.split(",").map(t=>t.trim()),force:n.force}),i("Sessions stopped");}catch(t){g(t);}}),a.command("bulk-terminate").description("Bulk terminate sessions").requiredOption("--ids <ids>","Session IDs (comma-separated)").option("--force","Skip confirmation").action(async n=>{try{if(!await q("Terminate these sessions?",n.force))return;await b(ga,{ids:n.ids.split(",").map(t=>t.trim())}),i("Sessions terminated");}catch(t){g(t);}}),a.command("export").description("Export sessions (CSV or JSON)").option("--format <fmt>","Output format: CSV or JSON","JSON").option("--status <s>","Filter by status").option("--type <t>","Filter by type").option("--vibe <id>","Filter by vibe").option("--agent <id>","Filter by agent").action(async n=>{try{let t={};n.status&&(t.status=n.status.toUpperCase()),n.type&&(t.type=n.type.toUpperCase()),n.vibe&&(t.vibeId=n.vibe),n.agent&&(t.agentId=n.agent);let e=(n.format??"JSON").toUpperCase();if(e!=="CSV"&&e!=="JSON")throw new o$1("--format must be CSV or JSON");let i$1=await b(Qd,{input:{filter:Object.keys(t).length?t:void 0,format:e}});process.stdout.write(i$1.exportSessions.data),i$1.exportSessions.data.endsWith(`
1
+ import {a as a$1,b as b$1,k as k$1,c,d,f,g as g$1,e,h as h$1,i as i$1,j as j$1,l,m,n as n$1,o as o$2,p as p$1,q as q$1,r,s,t as t$1,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,Q,R,S,T,U,V,W,X,Y,Z,_,$,aa,ba,ca,da,P,ea,fa,ga,Qd,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,Aa,Ba,za,Ca,Da,Ea,Fa,Ga,Ha,Ia,Ja,Ka,La,Ma,Na,Qa,Oa,Pa,Ra,Ua,Va,Wa,Ta,Ya,Xa,Za,db,_a,$a,ab,bb,cb,fb,kb,eb,Sa,gb,hb,ib,jb,lb,mb,nb,pb,ob,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Ab,Bb,Cb,Db,Eb,Fb,Gb,Hb,Ib,Jb,Kb,Lb,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Zd,_d,$d,ae,be,ce,de,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Vb,Wb,Xb,Yb,Zb,_b,$b,ac,cc,bc,dc,ec,fc,gc,Rd,Sd,Td,Ud,Vd,Wd,Xd,Yd,nd,od,pd,qd,rd,sd,td,ud,vd,wd,xd,yd,zd,Ad,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,ee,qe,he,ge,fe,me,ne,ie,re,je,ke,le,se,oe,pe,te,ue,ye,ve,we,xe,ze,Ae,Be,Ce,De,Ee,Fe,Ge,Ke,Le,Me,Ne,He,Ie,Je,Oe}from'../../chunk-REBBLQFS.js';import {a,b,h,p,n,o,g,i,q,j,t,A as A$1,y as y$1,x as x$1,w as w$1,m as m$1,r as r$1,z as z$1}from'../../chunk-NLEVVDXR.js';import {o as o$1}from'../../chunk-IZXPWPKX.js';function xo(m$1){let a=m$1.command("agents").description("Agent management");a.command("list").description("List agents").option("--active","Only active agents").option("--platform <p>","Filter by platform").option("-f, --format <format>","Output format").action(async n$1=>{try{let t={};n$1.active&&(t.isActive=!0),n$1.platform&&(t.platform=n$1.platform);let e=await b(a$1,{filter:Object.keys(t).length?t:void 0});h(n$1,e.vibecontrolsAgents,{headers:["ID","Name","Hostname","Platform","Status","Last Heartbeat"],rows:e.vibecontrolsAgents.map(i=>[p(i.id,12),i.name,i.hostname,i.platform,n(i.isActive?"ACTIVE":"INACTIVE"),o(i.lastHeartbeat)])});}catch(t){g(t);}}),a.command("get").description("Get agent by ID").argument("<id>","Agent ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(b$1,{id:n});if(!e.vibecontrolsAgent)throw new o$1("Agent not found");h(t,e.vibecontrolsAgent);}catch(e){g(e);}}),a.command("create").description("Create agent").requiredOption("--name <n>","Name").requiredOption("--hostname <h>","Hostname").requiredOption("--platform <p>","Platform").requiredOption("--arch <a>","Architecture").requiredOption("--agent-version <v>","Agent version").option("--tunnel-url <u>","Tunnel URL").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(k$1,{input:{name:n.name,hostname:n.hostname,platform:n.platform,architecture:n.arch,version:n.agentVersion,tunnelUrl:n.tunnelUrl}});i("Agent created"),h(n,t.registerVibecontrolsAgent);}catch(t){g(t);}}),a.command("update").description("Update agent").argument("<id>","Agent ID").option("--name <n>","Name").option("--tunnel-url <u>","Tunnel URL").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.tunnelUrl&&(e.tunnelUrl=t.tunnelUrl),!Object.keys(e).length)throw new o$1("No updates specified");let i$1=await b(c,{id:n,input:e});i("Agent updated"),h(t,i$1.updateVibecontrolsAgent);}catch(e){g(e);}}),a.command("delete").description("Delete agent").argument("<id>","Agent ID").option("--force","Skip confirmation").action(async(n,t)=>{try{if(!await q("Delete this agent?",t.force))return;await b(d,{id:n}),i("Agent deleted");}catch(e){g(e);}}),a.command("probe").description("Probe agent connectivity").argument("<id>","Agent ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(f,{id:n});h(t,e.probeAgentConnection);}catch(e){g(e);}}),a.command("health").description("Health check all agents").option("-f, --format <format>","Output format").action(async n$1=>{try{let e=(await b(g$1)).vibecontrolsAgentHealthProbes;h(n$1,e,{headers:["Agent","Name","Healthy","Version","Uptime"],rows:e.map(i=>[p(i.agentId,12),i.agentName,n(i.healthy?"HEALTHY":"ERROR"),i.agentVersion??"-",i.uptime!=null?Math.round(i.uptime)+"s":"-"])});}catch(t){g(t);}}),a.command("heartbeat").description("Send heartbeat").argument("<id>","Agent ID").action(async n=>{try{await b(e,{id:n}),i("Heartbeat sent");}catch(t){g(t);}}),a.command("plugins").description("List plugins").argument("<id>","Agent ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(h$1,{agentId:n});h(t,e.agentPlugins);}catch(e){g(e);}}),a.command("install-plugin").description("Install plugin").argument("<agentId>").argument("<packageName>").action(async(n,t)=>{try{let e=await b(i$1,{agentId:n,packageName:t});e.installAgentPlugin.success?i(`Plugin ${t} installed`):j(e.installAgentPlugin.error??"Failed");}catch(e){g(e);}}),a.command("remove-plugin").description("Remove plugin").argument("<agentId>").argument("<packageName>").action(async(n,t)=>{try{let e=await b(j$1,{agentId:n,packageName:t});e.removeAgentPlugin.success?i(`Plugin ${t} removed`):j(e.removeAgentPlugin.error??"Failed");}catch(e){g(e);}}),a.command("register").description("Register a new agent").requiredOption("--hostname <h>","Hostname").requiredOption("--name <n>","Name").option("--platform <p>","Platform").option("--arch <a>","Architecture").option("--agent-version <v>","Agent version").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(k$1,{input:{hostname:n.hostname,name:n.name,platform:n.platform,architecture:n.arch,version:n.agentVersion}});i("Agent registered"),h(n,t.registerAgent);}catch(t){g(t);}}),a.command("deactivate").description("Deactivate agent").argument("<id>","Agent ID").action(async n=>{try{await b(l,{id:n}),i("Agent deactivated");}catch(t){g(t);}}),a.command("push-gateway-auth").description("Push gateway auth credentials").requiredOption("--agent-id <id>","Agent ID").requiredOption("--client-id <cid>","Client ID").requiredOption("--client-secret <cs>","Client secret").action(async n=>{try{await b(m,{input:{agentId:n.agentId,clientId:n.clientId,clientSecret:n.clientSecret}}),i("Gateway auth pushed");}catch(t){g(t);}}),a.command("setup-gateway-auth").description("Setup gateway auth for agent").requiredOption("--agent-id <id>","Agent ID").action(async n=>{try{await b(n$1,{input:{agentId:n.agentId}}),i("Gateway auth setup complete");}catch(t){g(t);}}),a.command("update-version").description("Update agent version").argument("<agentId>","Agent ID").argument("<version>","Version").action(async(n,t)=>{try{await b(o$2,{agentId:n,version:t}),i("Agent version updated");}catch(e){g(e);}}),a.command("connect-target").description("Connect agent to target").argument("<sourceAgentId>","Source agent ID").argument("<targetId>","Target ID").requiredOption("--protocol <p>","Protocol").action(async(n,t,e)=>{try{await b(p$1,{sourceAgentId:n,targetId:t,protocol:e.protocol}),i("Agent connected to target");}catch(i){g(i);}}),a.command("disconnect-target").description("Disconnect agent from target").argument("<connectionId>","Connection ID").action(async n=>{try{await b(q$1,{connectionId:n}),i("Agent disconnected from target");}catch(t){g(t);}}),a.command("graph").description("Get agent graph").option("--root-agent-id <id>","Root agent ID").option("-f, --format <format>","Output format").action(async n=>{try{let t$1=t(),e=await b(r,{rootAgentId:n.rootAgentId,workspaceId:t$1?.workspaceId});h(n,e.agentGraph);}catch(t){g(t);}});}function jo(m){let a=m.command("vibes").description("Vibe management");a.command("list").description("List vibes").option("--status <s>","Filter by status").option("--type <t>","Filter by type").option("--agent <id>","Filter by agent").option("-f, --format <format>","Output format").action(async n$1=>{try{let t={};n$1.status&&(t.status=n$1.status.toUpperCase()),n$1.type&&(t.type=n$1.type.toUpperCase()),n$1.agent&&(t.agentId=n$1.agent);let i=(await b(s,{filter:Object.keys(t).length?t:void 0})).vibes.items;h(n$1,i,{headers:["ID","Name","Type","Status","Path","Created"],rows:i.map(s=>[p(s.id,12),s.name,s.type,n(s.status),p(s.path,30),o(s.createdAt)])});}catch(t){g(t);}}),a.command("get").description("Get vibe by ID").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(t$1,{id:n});if(!e.vibe)throw new o$1("Vibe not found");h(t,e.vibe);}catch(e){g(e);}}),a.command("create").description("Create vibe").requiredOption("--name <n>","Name").requiredOption("--path <p>","Path").requiredOption("--type <t>","Type (PROJECT, REPOSITORY, etc.)").option("--agent <id>","Agent ID").option("--description <d>","Description").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(u,{input:{name:n.name,path:n.path,type:n.type.toUpperCase(),agentId:n.agent,description:n.description}});i("Vibe created"),h(n,t.createVibe);}catch(t){g(t);}}),a.command("update").description("Update vibe").argument("<id>").option("--name <n>","Name").option("--description <d>","Description").option("--status <s>","Status").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.description&&(e.description=t.description),t.status&&(e.status=t.status.toUpperCase()),!Object.keys(e).length)throw new o$1("No updates specified");let i$1=await b(v,{id:n,input:e});i("Vibe updated"),h(t,i$1.updateVibe);}catch(e){g(e);}}),a.command("delete").description("Delete vibe").argument("<id>").option("--force","Skip confirmation").action(async(n,t)=>{try{if(!await q("Delete this vibe?",t.force))return;await b(w,{id:n}),i("Vibe deleted");}catch(e){g(e);}}),a.command("archive").description("Archive vibe").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(x,{id:n});i("Vibe archived"),h(t,e.archiveVibe);}catch(e){g(e);}}),a.command("restore").description("Restore archived vibe").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(y,{id:n});i("Vibe restored"),h(t,e.restoreVibe);}catch(e){g(e);}}),a.command("hierarchy").description("Get vibe hierarchy").option("--root <id>","Root vibe ID").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(z,{rootId:n.root});h(n,t.vibeHierarchy);}catch(t){g(t);}}),a.command("search").description("Search vibes").argument("<query>").option("--limit <n>","Max results",parseInt).option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(A,{query:n,limit:t.limit});h(t,e.searchVibes);}catch(e){g(e);}}),a.command("move").description("Move vibe to new parent").argument("<id>","Vibe ID").option("--parent <parentId>","New parent ID (omit to remove parent)").action(async(n,t)=>{try{let e=await b(B,{id:n,newParentId:t.parent||null});i("Vibe moved"),h({},e.moveVibe);}catch(e){g(e);}}),a.command("set-status").description("Set vibe status").argument("<id>","Vibe ID").argument("<status>","New status").action(async(n,t)=>{try{await b(C,{id:n,status:t.toUpperCase()}),i("Vibe status updated");}catch(e){g(e);}}),a.command("update-git").description("Update vibe git info").argument("<id>","Vibe ID").option("--branch <b>","Branch").option("--remote <r>","Remote").option("--status <s>","Status").action(async(n,t)=>{try{let e={};t.branch&&(e.branch=t.branch),t.remote&&(e.remote=t.remote),t.status&&(e.status=t.status);let i$1=await b(D,{id:n,input:e});i("Vibe git info updated"),h({},i$1.updateVibeGit);}catch(e){g(e);}});}function Yo(m){let a=m.command("sessions").description("Session management");a.command("list").description("List sessions").option("--status <s>","Filter by status").option("--type <t>","Filter by type").option("--vibe <id>","Filter by vibe").option("--agent <id>","Filter by agent").option("-f, --format <format>","Output format").action(async n$1=>{try{let t={};n$1.status&&(t.status=n$1.status.toUpperCase()),n$1.type&&(t.type=n$1.type.toUpperCase()),n$1.vibe&&(t.vibeId=n$1.vibe),n$1.agent&&(t.agentId=n$1.agent);let i=(await b(E,{filter:Object.keys(t).length?t:void 0})).sessions.items;h(n$1,i,{headers:["ID","Name","Type","Status","Agent","Started"],rows:i.map(s=>[p(s.id,12),s.name,s.type,n(s.status),p(s.agentId,12),o(s.startedAt)])});}catch(t){g(t);}}),a.command("get").description("Get session").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(F,{id:n});if(!e.session)throw new o$1("Session not found");h(t,e.session);}catch(e){g(e);}}),a.command("create").description("Create session").requiredOption("--name <n>","Name").requiredOption("--agent <id>","Agent ID").requiredOption("--type <t>","Type (TMUX, SSH, TERMINAL, SCRIPT, CUSTOM)").option("--vibe <id>","Vibe ID").option("--command <c>","Command").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(G,{input:{name:n.name,agentId:n.agent,type:n.type.toUpperCase(),vibeId:n.vibe,command:n.command}});i("Session created"),h(n,t.createSession);}catch(t){g(t);}}),a.command("start").description("Start session").argument("<id>").action(async n=>{try{await b(H,{id:n}),i("Session started");}catch(t){g(t);}}),a.command("stop").description("Stop session").argument("<id>").action(async n=>{try{await b(I,{id:n}),i("Session stopped");}catch(t){g(t);}}),a.command("restart").description("Restart session").argument("<id>").action(async n=>{try{await b(J,{id:n}),i("Session restarted");}catch(t){g(t);}}),a.command("terminate").description("Terminate session").argument("<id>").option("--force","Skip confirmation").action(async(n,t)=>{try{if(!await q("Terminate this session?",t.force))return;await b(K,{id:n}),i("Session terminated");}catch(e){g(e);}}),a.command("output").description("Get session output").argument("<id>").option("--lines <n>","Number of lines",parseInt).option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(L,{id:n,lines:t.lines});e.sessionOutput?console.log(e.sessionOutput):j("No output");}catch(e){g(e);}}),a.command("send-input").description("Send input to session").argument("<id>").argument("<input>").action(async(n,t)=>{try{await b(M,{id:n,input:t}),i("Input sent");}catch(e){g(e);}}),a.command("start-terminal").description("Start web terminal").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(N,{id:n});i("Terminal started"),h(t,e.startSessionTerminal);}catch(e){g(e);}}),a.command("stop-terminal").description("Stop web terminal").argument("<id>").action(async n=>{try{await b(O,{id:n}),i("Terminal stopped");}catch(t){g(t);}}),a.command("active").description("List active sessions").option("--vibe <id>","Filter by vibe").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(Q,{vibeId:n.vibe});h(n,t.activeSessions);}catch(t){g(t);}}),a.command("health-check").description("Check health of all sessions").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(R);i("Health check complete"),h(n,t.checkSessionHealth);}catch(t){g(t);}}),a.command("share").description("Share session with user").argument("<sessionId>","Session ID").requiredOption("--user-id <uid>","User ID").option("--permission <p>","Permission (VIEW/INTERACT)","VIEW").action(async(n,t)=>{try{await b(S,{input:{sessionId:n,sharedWithId:t.userId,permission:t.permission}}),i("Session shared");}catch(e){g(e);}}),a.command("create-share-link").description("Create share link").argument("<sessionId>","Session ID").option("--permission <p>","Permission (VIEW/INTERACT)","VIEW").action(async(n,t)=>{try{let e=await b(T,{input:{sessionId:n,permission:t.permission}});i("Share link created"),h({},e.createSessionShareLink);}catch(e){g(e);}}),a.command("revoke-share").description("Revoke session share").argument("<id>","Share ID").action(async n=>{try{await b(U,{id:n}),i("Session share revoked");}catch(t){g(t);}}),a.command("revoke-share-link").description("Revoke session share link").argument("<id>","Share link ID").action(async n=>{try{await b(V,{id:n}),i("Share link revoked");}catch(t){g(t);}}),a.command("update-share").description("Update session share permission").argument("<id>","Share ID").requiredOption("--permission <p>","Permission (VIEW/INTERACT)").action(async(n,t)=>{try{await b(W,{id:n,input:{permission:t.permission}}),i("Session share updated");}catch(e){g(e);}}),a.command("join").description("Join shared session").argument("<sessionId>","Session ID").action(async n=>{try{await b(X,{input:{sessionId:n}}),i("Joined session");}catch(t){g(t);}}),a.command("leave").description("Leave shared session").argument("<sessionId>","Session ID").action(async n=>{try{await b(Y,{sessionId:n}),i("Left session");}catch(t){g(t);}}),a.command("request-control").description("Request session control").argument("<sessionId>","Session ID").action(async n=>{try{await b(Z,{sessionId:n}),i("Control requested");}catch(t){g(t);}}),a.command("release-control").description("Release session control").argument("<sessionId>","Session ID").action(async n=>{try{await b(_,{sessionId:n}),i("Control released");}catch(t){g(t);}}),a.command("transfer-control").description("Transfer session control").argument("<sessionId>","Session ID").requiredOption("--to-user <uid>","Target user ID").action(async(n,t)=>{try{await b($,{sessionId:n,toUserId:t.toUser}),i("Control transferred");}catch(e){g(e);}}),a.command("shares").description("List session shares").argument("<sessionId>","Session ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(aa,{sessionId:n});h(t,e.sessionShares);}catch(e){g(e);}}),a.command("share-links").description("List session share links").argument("<sessionId>","Session ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(ba,{sessionId:n});h(t,e.sessionShareLinks);}catch(e){g(e);}}),a.command("collaborators").description("List session collaborators").argument("<sessionId>","Session ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(ca,{sessionId:n});h(t,e.sessionCollaborators);}catch(e){g(e);}}),a.command("shared-with-me").description("List sessions shared with me").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(da);h(n,t.sessionsSharedWithMe);}catch(t){g(t);}}),a.command("restart-terminal").description("Restart session terminal").argument("<id>","Session ID").action(async n=>{try{await b(P,{id:n}),i("Terminal restarted");}catch(t){g(t);}}),a.command("bulk-restart").description("Bulk restart sessions").requiredOption("--ids <ids>","Session IDs (comma-separated)").option("--force","Skip confirmation").action(async n=>{try{await b(ea,{ids:n.ids.split(",").map(t=>t.trim()),force:n.force}),i("Sessions restarted");}catch(t){g(t);}}),a.command("bulk-stop").description("Bulk stop sessions").requiredOption("--ids <ids>","Session IDs (comma-separated)").option("--force","Skip confirmation").action(async n=>{try{await b(fa,{ids:n.ids.split(",").map(t=>t.trim()),force:n.force}),i("Sessions stopped");}catch(t){g(t);}}),a.command("bulk-terminate").description("Bulk terminate sessions").requiredOption("--ids <ids>","Session IDs (comma-separated)").option("--force","Skip confirmation").action(async n=>{try{if(!await q("Terminate these sessions?",n.force))return;await b(ga,{ids:n.ids.split(",").map(t=>t.trim())}),i("Sessions terminated");}catch(t){g(t);}}),a.command("export").description("Export sessions (CSV or JSON)").option("--format <fmt>","Output format: CSV or JSON","JSON").option("--status <s>","Filter by status").option("--type <t>","Filter by type").option("--vibe <id>","Filter by vibe").option("--agent <id>","Filter by agent").action(async n=>{try{let t={};n.status&&(t.status=n.status.toUpperCase()),n.type&&(t.type=n.type.toUpperCase()),n.vibe&&(t.vibeId=n.vibe),n.agent&&(t.agentId=n.agent);let e=(n.format??"JSON").toUpperCase();if(e!=="CSV"&&e!=="JSON")throw new o$1("--format must be CSV or JSON");let i$1=await b(Qd,{input:{filter:Object.keys(t).length?t:void 0,format:e}});process.stdout.write(i$1.exportSessions.data),i$1.exportSessions.data.endsWith(`
2
2
  `)||process.stdout.write(`
3
3
  `),i(`Exported ${i$1.exportSessions.count} sessions (${i$1.exportSessions.format})`);}catch(t){g(t);}});}function Jo(m){let a=m.command("notes").description("Note management");a.command("list").description("List notes").option("--vibe <id>","Filter by vibe").option("--pinned","Show only pinned").option("--tags <tags>","Filter by tags (comma-separated)").option("-f, --format <format>","Output format").action(async n=>{try{let t={};n.vibe&&(t.vibeId=n.vibe),n.pinned&&(t.isPinned=!0),n.tags&&(t.tags=n.tags.split(",").map(i=>i.trim()));let e=await b(ha,{filter:Object.keys(t).length?t:void 0});h(n,e.notes.items,{headers:["ID","Title","Pinned","Tags","Created"],rows:e.notes.items.map(i=>[p(i.id,12),i.title,i.isPinned?"Yes":"No",(i.tags??[]).join(", "),o(i.createdAt)])});}catch(t){g(t);}}),a.command("get").description("Get note").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(ia,{id:n});if(!e.note)throw new o$1("Note not found");h(t,e.note);}catch(e){g(e);}}),a.command("create").description("Create note").requiredOption("--title <t>","Title").requiredOption("--content <c>","Content").option("--vibe <id>","Vibe ID").option("--tags <tags>","Tags (comma-separated)").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(ja,{input:{title:n.title,content:n.content,vibeId:n.vibe,tags:n.tags?.split(",").map(e=>e.trim())}});i("Note created"),h(n,t.createNote);}catch(t){g(t);}}),a.command("update").description("Update note").argument("<id>").option("--title <t>","Title").option("--content <c>","Content").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e={};if(t.title&&(e.title=t.title),t.content&&(e.content=t.content),!Object.keys(e).length)throw new o$1("No updates specified");let i$1=await b(ka,{id:n,input:e});i("Note updated"),h(t,i$1.updateNote);}catch(e){g(e);}}),a.command("delete").description("Delete note").argument("<id>").option("--force","Skip confirmation").action(async(n,t)=>{try{if(!await q("Delete this note?",t.force))return;await b(la,{id:n}),i("Note deleted");}catch(e){g(e);}}),a.command("search").description("Search notes").argument("<query>").option("--vibe <id>","Scope to vibe").option("--limit <n>","Max results",parseInt).option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(ma,{query:n,vibeId:t.vibe,limit:t.limit});h(t,e.searchNotes);}catch(e){g(e);}}),a.command("pin").description("Pin a note").argument("<id>").action(async n=>{try{await b(na,{id:n}),i("Note pinned");}catch(t){g(t);}}),a.command("unpin").description("Unpin a note").argument("<id>").action(async n=>{try{await b(oa,{id:n}),i("Note unpinned");}catch(t){g(t);}}),a.command("tag").description("Tag a note").argument("<noteId>","Note ID").argument("<tag>","Tag").action(async(n,t)=>{try{await b(pa,{input:{noteId:n,tag:t}}),i("Note tagged");}catch(e){g(e);}}),a.command("untag").description("Remove tag from note").argument("<noteId>","Note ID").argument("<tag>","Tag").action(async(n,t)=>{try{await b(qa,{input:{noteId:n,tag:t}}),i("Tag removed");}catch(e){g(e);}}),a.command("replace-tags").description("Replace all tags on a note").argument("<noteId>","Note ID").requiredOption("--tags <tags>","Tags (comma-separated)").action(async(n,t)=>{try{await b(ra,{input:{noteId:n,tags:t.tags.split(",").map(e=>e.trim())}}),i("Tags replaced");}catch(e){g(e);}}),a.command("create-tag").description("Create a note tag").argument("<name>","Tag name").action(async n=>{try{await b(sa,{input:{name:n}}),i("Tag created");}catch(t){g(t);}}),a.command("available-tags").description("List available note tags").option("--query <q>","Search query").option("--limit <n>","Max results",parseInt).option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(ta,{query:n.query,limit:n.limit});h(n,t.availableNoteTags);}catch(t){g(t);}}),a.command("get-tags").description("Get tags for a note").argument("<noteId>","Note ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(ua,{noteId:n});h(t,e.noteTags);}catch(e){g(e);}}),a.command("related-tags").description("Get related tags for a note").argument("<noteId>","Note ID").option("--limit <n>","Max results",parseInt).option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(va,{noteId:n,limit:t.limit});h(t,e.relatedNoteTags);}catch(e){g(e);}}),a.command("bulk-delete").description("Bulk delete notes").requiredOption("--ids <ids>","Note IDs (comma-separated)").option("--force","Skip confirmation").action(async n=>{try{if(!await q("Delete these notes?",n.force))return;await b(wa,{ids:n.ids.split(",").map(t=>t.trim())}),i("Notes deleted");}catch(t){g(t);}});}function Xo(m){let a={};return m.limit!==void 0&&(a.limit=Number(m.limit)),m.offset!==void 0&&(a.offset=Number(m.offset)),Object.keys(a).length>0?a:void 0}function zo(m){let a=m.command("security").description("Security scans, findings, providers, exceptions");a.command("providers").description("List configured security providers").option("-f, --format <format>","Output format").action(async s=>{try{let p=await b(ee);h(s,p.securityProviders);}catch(p){g(p);}}),a.command("set-provider").description("Configure a security provider for a vibe + stage").requiredOption("--vibe-id <id>").requiredOption("--stage <stage>").requiredOption("--provider-key <key>").option("--config <json>","Provider-specific config as JSON").option("-f, --format <format>","Output format").action(async s=>{try{let p={vibeId:s.vibeId,stage:s.stage.toUpperCase(),providerKey:s.providerKey};s.config&&(p.config=JSON.parse(s.config));let g=await b(qe,{input:p});i("Security provider set"),h(s,g.setSecurityProvider);}catch(p){g(p);}});let n=a.command("scans").description("Security scan runs");n.command("list").description("List my (default) or all scans").option("--scope <scope>","mine | all","mine").option("--vibe-id <id>").option("--status <status>").option("--stage <stage>").option("--conclusion <conclusion>").option("--limit <n>").option("--offset <n>").option("-f, --format <format>","Output format").action(async s=>{try{let p={};s.vibeId&&(p.vibeId=s.vibeId),s.status&&(p.status=s.status.toUpperCase()),s.stage&&(p.stage=s.stage.toUpperCase()),s.conclusion&&(p.conclusion=s.conclusion.toUpperCase());let g=s.scope==="all"?he:ge,T=await b(g,{filter:Object.keys(p).length>0?p:void 0,pagination:Xo(s)});h(s,s.scope==="all"?T.allSecurityScans:T.mySecurityScans);}catch(p){g(p);}}),n.command("get").description("Get a security scan run").argument("<id>").option("-f, --format <format>","Output format").action(async(s,p)=>{try{let g=await b(fe,{id:s});if(!g.securityScan)throw new o$1("Scan not found");h(p,g.securityScan);}catch(g$1){g(g$1);}}),n.command("run").description("Run a security scan for a vibe at a stage").requiredOption("--vibe-id <id>").requiredOption("--stage <stage>").option("-f, --format <format>","Output format").action(async s=>{try{let p=await b(me,{vibeId:s.vibeId,stage:s.stage.toUpperCase()});i("Scan triggered"),h(s,p.runSecurityScan);}catch(p){g(p);}}),n.command("cancel").description("Cancel an in-flight security scan").argument("<id>").option("-f, --format <format>","Output format").action(async(s,p)=>{try{let g=await b(ne,{id:s});i("Scan cancelled"),h(p,g.cancelSecurityScan);}catch(g$1){g(g$1);}});let t=a.command("findings").description("Security findings");t.command("list").description("List security findings").option("--vibe-id <id>").option("--status <status>").option("--severity <severity>").option("--category <category>").option("--search <text>").option("--limit <n>").option("--offset <n>").option("-f, --format <format>","Output format").action(async s=>{try{let p={};s.vibeId&&(p.vibeId=s.vibeId),s.status&&(p.status=s.status.toUpperCase()),s.severity&&(p.severity=s.severity.toUpperCase()),s.category&&(p.category=s.category.toUpperCase()),s.search&&(p.search=s.search);let g=await b(ie,{filter:Object.keys(p).length>0?p:void 0,pagination:Xo(s)});h(s,g.securityFindings);}catch(p){g(p);}}),t.command("update-status").description("Update finding workflow status").argument("<id>").requiredOption("--status <status>","OPEN | ACCEPTED | SUPPRESSED | FIXED | FALSE_POSITIVE").option("-f, --format <format>","Output format").action(async(s,p)=>{try{let g=await b(re,{id:s,status:p.status.toUpperCase()});i("Finding status updated"),h(p,g.updateSecurityFindingStatus);}catch(g$1){g(g$1);}}),a.command("policy-decision").description("Fetch OPA policy decision for a scan run").requiredOption("--scan-run-id <id>").option("-f, --format <format>","Output format").action(async s=>{try{let p=await b(je,{scanRunId:s.scanRunId});h(s,p.securityPolicyDecision);}catch(p){g(p);}}),a.command("status").description("Security posture for a vibe").argument("<vibeId>").option("-f, --format <format>","Output format").action(async(s,p)=>{try{let g=await b(ke,{vibeId:s});h(p,g.securityStatus);}catch(g$1){g(g$1);}});let e=a.command("repo-config").description("Repository security policy config");e.command("get").argument("<vibeId>").option("-f, --format <format>","Output format").action(async(s,p)=>{try{let g=await b(le,{vibeId:s});h(p,g.repositorySecurityConfig);}catch(g$1){g(g$1);}}),e.command("update").argument("<vibeId>").option("--policy-level <level>","ADVISORY | WARN | BLOCK").option("--enabled-stages <csv>","Comma-separated stages").option("--plugin-assignments <json>").option("--config-yaml-equivalent <json>").option("-f, --format <format>","Output format").action(async(s,p)=>{try{let g={};p.policyLevel&&(g.policyLevel=p.policyLevel.toUpperCase()),p.enabledStages&&(g.enabledStages=p.enabledStages.split(",").map(hr=>hr.trim().toUpperCase())),p.pluginAssignments&&(g.pluginAssignments=JSON.parse(p.pluginAssignments)),p.configYamlEquivalent&&(g.configYamlEquivalent=JSON.parse(p.configYamlEquivalent));let T=await b(se,{vibeId:s,input:g});i("Repository security config updated"),h(p,T.updateRepositorySecurityConfig);}catch(g$1){g(g$1);}});let i$1=a.command("exceptions").description("Security exception waivers");i$1.command("create").requiredOption("--vibe-id <id>").requiredOption("--finding-fingerprint <fp>").requiredOption("--reason <reason>").requiredOption("--expires-at <iso>").option("--compensating-controls <text>").option("-f, --format <format>","Output format").action(async s=>{try{let p={vibeId:s.vibeId,findingFingerprint:s.findingFingerprint,reason:s.reason,expiresAt:s.expiresAt};s.compensatingControls&&(p.compensatingControls=s.compensatingControls);let g=await b(oe,{input:p});i("Exception created"),h(s,g.createSecurityException);}catch(p){g(p);}}),i$1.command("revoke").argument("<id>").option("--force").action(async(s,p)=>{try{if(!await q(`Revoke exception ${s}?`,p.force))return;await b(pe,{id:s}),i("Exception revoked");}catch(g$1){g(g$1);}}),a.command("evidence-presign").description("Get a presigned URL for evidence upload").requiredOption("--scan-run-id <id>").requiredOption("--sha256 <hex>").requiredOption("--size-bytes <n>").requiredOption("--type <type>","SBOM_CYCLONEDX | SBOM_SPDX | SARIF | GRYPE_JSON | COSIGN_BUNDLE | OPA_DECISION | PROVENANCE").option("-f, --format <format>","Output format").action(async s=>{try{let p=await b(te,{scanRunId:s.scanRunId,sha256:s.sha256,sizeBytes:Number(s.sizeBytes),type:s.type.toUpperCase()});h(s,p.presignSecurityEvidence);}catch(p){g(p);}});}function Zo(m){let a=m.command("ci").description("CI/CD pipeline status (via GitOps providers)");a.command("status").description("Get CI status for a provider on an agent").requiredOption("--provider-id <id>").requiredOption("--agent-id <id>").option("--limit <n>").option("-f, --format <format>","Output format").action(async e=>{try{let i=await b(ue,{providerId:e.providerId,agentId:e.agentId,limit:e.limit!==void 0?Number(e.limit):void 0});h(e,i.getCIStatus);}catch(i){g(i);}}),a.command("refresh-status").description("Force refresh CI status snapshot").requiredOption("--provider-id <id>").requiredOption("--agent-id <id>").option("-f, --format <format>","Output format").action(async e=>{try{let i$1=await b(ye,{providerId:e.providerId,agentId:e.agentId});i("CI status refreshed"),h(e,i$1.refreshCIStatus);}catch(i){g(i);}});let n=a.command("pipelines").description("CI pipeline runs");n.command("list").requiredOption("--provider-id <id>").requiredOption("--agent-id <id>").option("--branch <branch>").option("--limit <n>").option("-f, --format <format>","Output format").action(async e=>{try{let i=await b(ve,{providerId:e.providerId,agentId:e.agentId,branch:e.branch,limit:e.limit!==void 0?Number(e.limit):void 0});h(e,i.getCIPipelineRuns);}catch(i){g(i);}}),n.command("details").argument("<runId>").requiredOption("--provider-id <id>").requiredOption("--agent-id <id>").option("-f, --format <format>","Output format").action(async(e,i)=>{try{let s=await b(we,{providerId:i.providerId,agentId:i.agentId,runId:e});h(i,s.getCIPipelineDetails);}catch(s){g(s);}});let t=a.command("repo-stats").description("Repository statistics");t.command("get").requiredOption("--provider-id <id>").requiredOption("--agent-id <id>").option("-f, --format <format>","Output format").action(async e=>{try{let i=await b(xe,{providerId:e.providerId,agentId:e.agentId});h(e,i.getRepoStats);}catch(i){g(i);}}),t.command("refresh").requiredOption("--provider-id <id>").requiredOption("--agent-id <id>").option("-f, --format <format>","Output format").action(async e=>{try{let i$1=await b(ze,{providerId:e.providerId,agentId:e.agentId});i("Repo stats refreshed"),h(e,i$1.refreshRepoStats);}catch(i){g(i);}});}function Qo(m){let a=m.command("gitops").description("GitOps provider connections");a.command("list").description("List GitOps providers").option("--provider-type <t>","GITHUB | GITLAB | BITBUCKET | AZURE_DEVOPS").option("--is-active <bool>").option("--vibe-id <id>").option("--limit <n>").option("--offset <n>").option("-f, --format <format>","Output format").action(async n=>{try{let t={};n.providerType&&(t.providerType=n.providerType.toUpperCase()),n.isActive!==void 0&&(t.isActive=n.isActive==="true"),n.vibeId&&(t.vibeId=n.vibeId);let e={};n.limit!==void 0&&(e.limit=Number(n.limit)),n.offset!==void 0&&(e.offset=Number(n.offset));let i=await b(Ae,{filter:Object.keys(t).length>0?t:void 0,pagination:Object.keys(e).length>0?e:void 0});h(n,i.listGitopsProviders);}catch(t){g(t);}}),a.command("get").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(Be,{id:n});if(!e.getGitopsProvider)throw new o$1("Provider not found");h(t,e.getGitopsProvider);}catch(e){g(e);}}),a.command("create").requiredOption("--name <name>").requiredOption("--provider-type <t>","GITHUB | GITLAB | BITBUCKET | AZURE_DEVOPS").requiredOption("--repo-url <url>").option("--vibe-id <id>").option("--is-active <bool>").option("--metadata <json>").option("-f, --format <format>","Output format").action(async n=>{try{let t={name:n.name,providerType:n.providerType.toUpperCase(),repoUrl:n.repoUrl};n.vibeId&&(t.vibeId=n.vibeId),n.isActive!==void 0&&(t.isActive=n.isActive==="true"),n.metadata&&(t.metadata=JSON.parse(n.metadata));let e=await b(Ce,{input:t});i("GitOps provider created"),h(n,e.createGitopsProvider);}catch(t){g(t);}}),a.command("update").argument("<id>").option("--name <name>").option("--repo-url <url>").option("--vibe-id <id>").option("--is-active <bool>").option("--metadata <json>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e={};t.name&&(e.name=t.name),t.repoUrl&&(e.repoUrl=t.repoUrl),t.vibeId&&(e.vibeId=t.vibeId),t.isActive!==void 0&&(e.isActive=t.isActive==="true"),t.metadata&&(e.metadata=JSON.parse(t.metadata));let i$1=await b(De,{id:n,input:e});i("GitOps provider updated"),h(t,i$1.updateGitopsProvider);}catch(e){g(e);}}),a.command("delete").argument("<id>").option("--force").action(async(n,t)=>{try{if(!await q(`Delete GitOps provider ${n}?`,t.force))return;await b(Ee,{id:n}),i("GitOps provider deleted");}catch(e){g(e);}});}function tr(m){let a=m.command("settings").description("User settings and preferences");a.command("mine").description("Get full settings bundle for the current user").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b(Fe);h(t,e.mySettings);}catch(e){g(e);}}),a.command("category").description("Get a single settings category").argument("<category>","PREFERENCES | NOTIFICATIONS | WORKSPACE_DEFAULTS | PROFILE | SECURITY | ADVANCED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b(Ge,{category:t.toUpperCase()});h(e,i.mySettingsByCategory);}catch(i){g(i);}}),a.command("reset").description("Reset a settings category to workspace defaults").argument("<category>").option("--force").action(async(t,e)=>{try{if(!await q(`Reset ${t}?`,e.force))return;await b(Ke,{category:t.toUpperCase()}),i("Settings reset");}catch(i){g(i);}}),a.command("update-preferences").description("Update UI preferences").option("--theme <theme>").option("--ui-density <density>").option("--sidebar-collapsed <bool>").option("--code-font <font>").option("--code-font-size <n>").option("--preferred-ide-command <cmd>").option("--default-agent-for-vibe <json>").option("--vibe-ide-overrides <json>").option("--vibe-detail-tab-order <json>").option("-f, --format <format>","Output format").action(async t=>{try{let e={};t.theme&&(e.theme=t.theme),t.uiDensity&&(e.uiDensity=t.uiDensity),t.sidebarCollapsed!==void 0&&(e.sidebarCollapsed=t.sidebarCollapsed==="true"),t.codeFont&&(e.codeFont=t.codeFont),t.codeFontSize!==void 0&&(e.codeFontSize=Number(t.codeFontSize)),t.preferredIdeCommand&&(e.preferredIdeCommand=t.preferredIdeCommand),t.defaultAgentForVibe&&(e.defaultAgentForVibe=JSON.parse(t.defaultAgentForVibe)),t.vibeIdeOverrides&&(e.vibeIdeOverrides=JSON.parse(t.vibeIdeOverrides)),t.vibeDetailTabOrder&&(e.vibeDetailTabOrder=JSON.parse(t.vibeDetailTabOrder));let i$1=await b(Le,{input:e});i("Preferences updated"),h(t,i$1.updatePreferences);}catch(e){g(e);}}),a.command("update-notifications").description("Update notification preferences").option("--email-digest <bool>").option("--digest-frequency <freq>","daily | weekly | none").option("--agent-offline <bool>").option("--session-error <bool>").option("--vibe-status-change <bool>").option("-f, --format <format>","Output format").action(async t=>{try{let e={};t.emailDigest!==void 0&&(e.emailDigest=t.emailDigest==="true"),t.digestFrequency&&(e.digestFrequency=t.digestFrequency),t.agentOffline!==void 0&&(e.agentOffline=t.agentOffline==="true"),t.sessionError!==void 0&&(e.sessionError=t.sessionError==="true"),t.vibeStatusChange!==void 0&&(e.vibeStatusChange=t.vibeStatusChange==="true");let i$1=await b(Me,{input:e});i("Notification preferences updated"),h(t,i$1.updateNotificationPreferences);}catch(e){g(e);}}),a.command("update-workspace-defaults").description("Update workspace defaults (admin)").option("--default-agent <id>").option("--default-session-type <t>").option("--default-vibe-type <t>").option("--default-env-vars <text>").option("--auto-start-sessions <bool>").option("--auto-git-sync <bool>").option("--agent-heartbeat-interval <n>").option("--agent-max-sessions <n>").option("--agent-auto-reconnect <bool>").option("--auto-update <bool>").option("--telemetry-enabled <bool>").option("--log-level <level>").option("-f, --format <format>","Output format").action(async t=>{try{let e={};t.defaultAgent&&(e.defaultAgent=t.defaultAgent),t.defaultSessionType&&(e.defaultSessionType=t.defaultSessionType),t.defaultVibeType&&(e.defaultVibeType=t.defaultVibeType),t.defaultEnvVars&&(e.defaultEnvironmentVariables=t.defaultEnvVars),t.autoStartSessions!==void 0&&(e.autoStartSessions=t.autoStartSessions==="true"),t.autoGitSync!==void 0&&(e.autoGitSync=t.autoGitSync==="true"),t.agentHeartbeatInterval!==void 0&&(e.agentHeartbeatInterval=Number(t.agentHeartbeatInterval)),t.agentMaxSessions!==void 0&&(e.agentMaxSessions=Number(t.agentMaxSessions)),t.agentAutoReconnect!==void 0&&(e.agentAutoReconnect=t.agentAutoReconnect==="true"),t.autoUpdate!==void 0&&(e.autoUpdate=t.autoUpdate==="true"),t.telemetryEnabled!==void 0&&(e.telemetryEnabled=t.telemetryEnabled==="true"),t.logLevel&&(e.logLevel=t.logLevel);let i$1=await b(Ne,{input:e});i("Workspace defaults updated"),h(t,i$1.updateWorkspaceDefaults);}catch(e){g(e);}});let n=a.command("secrets").description("Settings secrets (encrypted KV)");n.command("list").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b(He);h(t,e.listSettingsSecrets);}catch(e){g(e);}}),n.command("set").argument("<key>").argument("<value>").option("-f, --format <format>","Output format").action(async(t,e,i$1)=>{try{let s=await b(Ie,{input:{key:t,value:e}});i("Secret set"),h(i$1,s.setSettingsSecret);}catch(s){g(s);}}),n.command("delete").argument("<key>").option("--force").action(async(t,e)=>{try{if(!await q(`Delete secret ${t}?`,e.force))return;await b(Je,{key:t}),i("Secret deleted");}catch(i){g(i);}}),a.command("resolve-integration-token").description("Resolve a decrypted integration token for an agent").argument("<connectionId>").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b(Oe,{connectionId:t});h(e,i.vibecontrolsResolveIntegrationToken);}catch(i){g(i);}});}function er(m){let a=m.command("config").description("Backend configuration management");zo(a),Zo(a),Qo(a),tr(a),a.command("list").description("List configs").requiredOption("--scope <s>","Scope (WORKSPACE, VIBE, SESSION, AGENT, USER, GLOBAL)").option("--scope-id <id>","Scope entity ID").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(xa,{scope:n.scope.toUpperCase(),scopeId:n.scopeId});h(n,t.configurationsByScope);}catch(t){g(t);}}),a.command("get").description("Get config value").argument("<key>").requiredOption("--scope <s>","Scope").option("--scope-id <id>","Scope ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(ya,{key:n,scope:t.scope.toUpperCase(),scopeId:t.scopeId});if(!e.configuration)throw new o$1("Config not found");h(t,e.configuration);}catch(e){g(e);}}),a.command("set").description("Set config value").argument("<key>").argument("<value>").requiredOption("--scope <s>","Scope").option("--scope-id <id>","Scope ID").option("--secret","Mark as secret").option("-f, --format <format>","Output format").action(async(n,t,e)=>{try{let i$1;try{i$1=JSON.parse(t);}catch{i$1=t;}let s=await b(Aa,{key:n,scope:e.scope.toUpperCase(),scopeId:e.scopeId,value:i$1,isSecret:e.secret});i("Config set"),h(e,s.setConfiguration);}catch(i){g(i);}}),a.command("delete").description("Delete config").argument("<key>").requiredOption("--scope <s>","Scope").option("--scope-id <id>","Scope ID").action(async(n,t)=>{try{await b(Ba,{key:n,scope:t.scope.toUpperCase(),scopeId:t.scopeId}),i("Config deleted");}catch(e){g(e);}}),a.command("value").description("Get raw config value").argument("<key>").requiredOption("--scope <s>","Scope").option("--scope-id <id>","Scope ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(za,{key:n,scope:t.scope.toUpperCase(),scopeId:t.scopeId});console.log(e.configurationValue);}catch(e){g(e);}}),a.command("bulk-set").description("Bulk set configs").requiredOption("--scope <s>","Scope").option("--scope-id <id>","Scope ID").requiredOption("--input <json>","JSON array of [{key,value,isSecret?}]").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(Ca,{configurations:JSON.parse(n.input),scope:n.scope.toUpperCase(),scopeId:n.scopeId});i("Configs set"),h(n,t.bulkSetConfigurations);}catch(t){g(t);}}),a.command("bulk-delete").description("Bulk delete configs").requiredOption("--scope <s>","Scope").option("--scope-id <id>","Scope ID").requiredOption("--keys <keys>","Comma-separated keys").option("--force","Skip confirmation").action(async n=>{try{if(!await q("Delete these configs?",n.force))return;await b(Da,{keys:n.keys.split(",").map(t=>t.trim()),scope:n.scope.toUpperCase(),scopeId:n.scopeId}),i("Configs deleted");}catch(t){g(t);}});}function nr(m){let a=m.command("webhooks").description("Webhook management");a.command("list").description("List webhooks").option("--active","Only active").option("-f, --format <format>","Output format").action(async n=>{try{let t=n.active?{isActive:!0}:void 0,e=await b(Ea,{filter:t});h(n,e.webhooks.items,{headers:["ID","Name","URL","Active","Events","Deliveries"],rows:e.webhooks.items.map(i=>[p(i.id,12),i.name,p(i.url,30),i.isActive?"Yes":"No",(i.events??[]).join(", "),String(i.deliveryCount??0)])});}catch(t){g(t);}}),a.command("get").description("Get webhook").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(Fa,{id:n});if(!e.webhook)throw new o$1("Webhook not found");h(t,e.webhook);}catch(e){g(e);}}),a.command("create").description("Create webhook").requiredOption("--name <n>","Name").requiredOption("--url <u>","URL").requiredOption("--events <events>","Events (comma-separated)").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(Ga,{input:{name:n.name,url:n.url,events:n.events.split(",").map(e=>e.trim())}});i("Webhook created"),h(n,t.createWebhook);}catch(t){g(t);}}),a.command("update").description("Update webhook").argument("<id>").option("--name <n>","Name").option("--url <u>","URL").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.url&&(e.url=t.url),!Object.keys(e).length)throw new o$1("No updates specified");let i$1=await b(Ha,{id:n,input:e});i("Webhook updated"),h(t,i$1.updateWebhook);}catch(e){g(e);}}),a.command("delete").description("Delete webhook").argument("<id>").option("--force","Skip confirmation").action(async(n,t)=>{try{if(!await q("Delete this webhook?",t.force))return;await b(Ia,{id:n}),i("Webhook deleted");}catch(e){g(e);}}),a.command("test").description("Test webhook").argument("<id>").action(async n=>{try{await b(Ja,{id:n}),i("Webhook test sent");}catch(t){g(t);}}),a.command("active").description("List active webhooks").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(Ka);h(n,t.activeWebhooks);}catch(t){g(t);}}),a.command("by-event").description("List webhooks by event").argument("<event>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(La,{event:n});h(t,e.webhooksByEvent);}catch(e){g(e);}}),a.command("trigger").description("Trigger webhook").argument("<id>").option("--payload <json>","JSON payload").action(async(n,t)=>{try{await b(Ma,{id:n,payload:t.payload?JSON.parse(t.payload):void 0}),i("Webhook triggered");}catch(e){g(e);}}),a.command("reset-failures").description("Reset webhook failures").argument("<id>").action(async n=>{try{await b(Na,{id:n}),i("Webhook failures reset");}catch(t){g(t);}});}function Sr(m,a="HTTPS"){if(!m)return a;let n=m.toUpperCase();if(n==="HTTP"||n==="HTTPS"||n==="TCP"||n==="UDP")return n;throw new Error(`Invalid protocol: ${m} (expected http|https|tcp|udp)`)}function k(m){return (m??"PROD").toUpperCase()==="ALPHA"?"ALPHA":"PROD"}function ir(m){let a=m.command("tunnels").description("Tunnel management (VibeTunnels)");a.command("providers").description("List tunnel providers with capabilities").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b(Qa);h(t,e.tunnelProviders);}catch(e){g(e);}}),a.command("list").description("List tunnels in the workspace").option("--provider <key>","Filter by provider (vibetunnels|cloudflare)").option("--status <status>","Filter by status").option("--search <query>","Search by name/slug").option("-f, --format <format>","Output format").action(async t=>{try{let e={};t.provider&&(e.providerKey=t.provider.toUpperCase()),t.status&&(e.status=[t.status.toUpperCase()]),t.search&&(e.search=t.search);let i=await b(Oa,{filter:e});if(t.format){h(t,i.tunnels);return}for(let s of i.tunnels.items){let p=s.primaryDomain?.hostname??"(no domain)";console.log(`${s.id} ${s.slug} ${s.providerKey} ${s.status} ${p} ${s.protocol}:${s.localPort}`);}console.log(`
4
4
  ${i.tunnels.total} total`);}catch(e){g(e);}}),a.command("get").description("Get a tunnel by ID").argument("<id>").option("-f, --format <format>").action(async(t,e)=>{try{let i=await b(Pa,{id:t});if(!i.tunnel)throw new o$1(`Tunnel ${t} not found`);h(e,i.tunnel);}catch(i){g(i);}}),a.command("create").description("Create a tunnel (DRAFT \u2014 start with `vibe tunnels start`)").requiredOption("--agent <id>","Agent ID").requiredOption("--name <name>","Tunnel name").requiredOption("--port <p>","Local port",parseInt).option("--provider <key>","Provider key (vibetunnels|cloudflare)","VIBETUNNELS").option("--protocol <p>","http|https|tcp|udp","https").option("--host <host>","Local host","127.0.0.1").option("--subdomain <label>","Reserve a *.vibetunnels.com subdomain").option("--env <env>","alpha|prod for managed subdomain","prod").option("--description <text>").option("-f, --format <format>").action(async t=>{try{let e={agentId:t.agent,name:t.name,description:t.description,providerKey:t.provider.toUpperCase(),protocol:Sr(t.protocol),localPort:t.port,localHost:t.host,managedSubdomain:t.subdomain,environment:k(t.env)},i$1=await b(Ra,{input:e});i(`Tunnel created: ${i$1.createTunnel.slug}`),h(t,i$1.createTunnel);}catch(e){g(e);}}),a.command("start").description("Start a tunnel").argument("<id>").action(async t=>{try{await b(Ua,{id:t}),i("Tunnel started");}catch(e){g(e);}}),a.command("stop").description("Stop a tunnel").argument("<id>").action(async t=>{try{await b(Va,{id:t}),i("Tunnel stopped");}catch(e){g(e);}}),a.command("rotate").description("Rotate tunnel credentials").argument("<id>").action(async t=>{try{await b(Wa,{id:t}),i("Tunnel credentials rotated");}catch(e){g(e);}}),a.command("delete").description("Delete a tunnel").argument("<id>").option("--force","Skip confirmation").action(async(t,e)=>{try{if(!await q("Delete this tunnel?",e.force))return;await b(Ta,{id:t}),i("Tunnel deleted");}catch(i){g(i);}}),a.command("sessions").description("List sessions for a tunnel").argument("<tunnelId>").option("-f, --format <format>").action(async(t,e)=>{try{let i=await b(Ya,{tunnelId:t});h(e,i);}catch(i){g(i);}}),a.command("issue-session").description("Issue a short-lived token for a tunnel (printed once)").argument("<tunnelId>").option("--ttl <seconds>","TTL in seconds",t=>parseInt(t,10)).action(async(t,e)=>{try{let i=await b(Xa,{tunnelId:t,ttlSeconds:e.ttl});console.log("Session issued. The token below is shown exactly once."),console.log(`Session ID: ${i.issueTunnelSession.session.id}`),console.log(`Token: ${i.issueTunnelSession.token}`),console.log(`Expires: ${i.issueTunnelSession.session.expiresAt}`),console.log(`Agent hint: ${JSON.stringify(i.issueTunnelSession.agentConfigHint,null,2)}`);}catch(i){g(i);}}),a.command("revoke-session").description("Revoke an active tunnel session").argument("<sessionId>").option("--reason <text>").action(async(t,e)=>{try{await b(Za,{sessionId:t,reason:e.reason??"revoked via CLI"}),i("Session revoked");}catch(i){g(i);}});let n=a.command("domains").description("Manage tunnel domains");n.command("list").description("List domains (optionally scoped to a tunnel)").option("--tunnel <id>","Tunnel ID").option("-f, --format <format>").action(async t=>{try{let e=await b(db,{tunnelId:t.tunnel??null});h(t,e);}catch(e){g(e);}}),n.command("reserve").description("Reserve a managed *.vibetunnels.com subdomain").requiredOption("--label <label>","Subdomain label").option("--env <env>","alpha|prod","prod").action(async t=>{try{let e=await b(_a,{input:{label:t.label,environment:k(t.env)}});i(`Reserved ${e.reserveTunnelSubdomain.hostname}`);}catch(e){g(e);}}),n.command("add-custom").description("Register a user-owned custom domain (TXT verification required)").argument("<hostname>").action(async t=>{try{let e=await b($a,{input:{hostname:t}});console.log(`Registered ${e.registerCustomTunnelDomain.hostname}.`),console.log(`Create a TXT record at ${e.registerCustomTunnelDomain.challengeRecordName} containing:`),console.log(` ${e.registerCustomTunnelDomain.challengeToken}`);}catch(e){g(e);}}),n.command("attach").description("Attach a (verified) domain to a tunnel").argument("<tunnelId>").argument("<domainId>").option("--primary","Mark as primary domain").action(async(t,e,i$1)=>{try{await b(ab,{tunnelId:t,domainId:e,makePrimary:!!i$1.primary}),i("Domain attached");}catch(s){g(s);}}),n.command("detach").description("Detach a domain from a tunnel").argument("<tunnelId>").argument("<domainId>").action(async(t,e)=>{try{await b(bb,{tunnelId:t,domainId:e}),i("Domain detached");}catch(i){g(i);}}),n.command("verify").description("Force verification check for a custom domain").argument("<domainId>").action(async t=>{try{let e=await b(cb,{domainId:t});console.log(`Status: ${e.verifyTunnelDomain.verificationStatus}`),e.verifyTunnelDomain.lastCheckError&&console.log(`Error: ${e.verifyTunnelDomain.lastCheckError}`);}catch(e){g(e);}}),n.command("get").description("Get a tunnel domain by ID").argument("<id>").option("-f, --format <format>").action(async(t,e)=>{try{let i=await b(fb,{id:t});h(e,i);}catch(i){g(i);}}),n.command("delete").description("Delete a tunnel domain (detach + drop record)").argument("<domainId>").option("--force","Skip confirmation").action(async(t,e)=>{try{if(!await q("Delete this tunnel domain?",e.force))return;await b(kb,{domainId:t}),i("Tunnel domain deleted");}catch(i){g(i);}}),a.command("by-slug").description("Get a tunnel by its workspace-unique slug").argument("<slug>").option("-f, --format <format>").action(async(t,e)=>{try{let i=await b(eb,{slug:t});if(!i.tunnelBySlug)throw new o$1(`Tunnel with slug ${t} not found`);h(e,i.tunnelBySlug);}catch(i){g(i);}}),a.command("update").description("Update a tunnel (name, host, port, basic auth, metadata)").argument("<id>").option("--name <name>").option("--description <text>").option("--host <host>").option("--port <port>","Local port",t=>parseInt(t,10)).option("--tls-mode <mode>","FULL|STRICT|NONE").option("--basic-auth-user <user>").option("--basic-auth-password <pw>").action(async(t,e)=>{try{let i$1={};if(e.name!==void 0&&(i$1.name=e.name),e.description!==void 0&&(i$1.description=e.description),e.host!==void 0&&(i$1.localHost=e.host),e.port!==void 0&&(i$1.localPort=e.port),e.tlsMode!==void 0&&(i$1.tlsMode=e.tlsMode.toUpperCase()),e.basicAuthUser!==void 0&&(i$1.basicAuthUser=e.basicAuthUser),e.basicAuthPassword!==void 0&&(i$1.basicAuthPassword=e.basicAuthPassword),Object.keys(i$1).length===0)throw new o$1("Pass at least one field to update");await b(Sa,{id:t,input:i$1}),i("Tunnel updated");}catch(i){g(i);}}),a.command("provider").description("Get a single tunnel provider by key").argument("<key>","vibetunnels|cloudflare").option("-f, --format <format>").action(async(t,e)=>{try{let i=await b(gb,{key:t.toUpperCase()});h(e,i);}catch(i){g(i);}}),a.command("shards").description("List tunnel server shards (frps instances)").option("--env <env>","alpha|prod").option("-f, --format <format>").action(async t=>{try{let e=await b(hb,{environment:t.env?k(t.env):null});h(t,e);}catch(e){g(e);}}),a.command("usage").description("Hourly usage buckets for a tunnel in a time range").argument("<tunnelId>").requiredOption("--from <iso>","ISO8601 start").requiredOption("--to <iso>","ISO8601 end").option("-f, --format <format>").action(async(t,e)=>{try{let i=await b(ib,{tunnelId:t,from:e.from,to:e.to});h(e,i);}catch(i){g(i);}}),a.command("audit").description("Audit log entries scoped to a tunnel").argument("<tunnelId>").option("--limit <n>","Pagination limit",t=>parseInt(t,10)).option("--offset <n>","Pagination offset",t=>parseInt(t,10)).option("-f, --format <format>").action(async(t,e)=>{try{let i={};e.limit!==void 0&&(i.limit=e.limit),e.offset!==void 0&&(i.offset=e.offset);let s=await b(jb,{tunnelId:t,pagination:Object.keys(i).length>0?i:null});h(e,s);}catch(i){g(i);}}),a.command("probe-agent").description("Probe an agent tunnel URL for health + identity").requiredOption("--url <url>","Agent tunnel URL (https://...)").option("--api-key <key>","Agent API key").option("-f, --format <format>").action(async t=>{try{let e=await b(lb,{url:t.url,agentApiKey:t.apiKey??null});h(t,e);}catch(e){g(e);}}),a.command("add-agent-from-tunnel").description("Zero-config: probe a tunnel URL + register an agent in one shot").requiredOption("--url <url>","Public HTTPS tunnel URL").requiredOption("--api-key <key>","Agent inbound API key (x-agent-api-key)").option("--name <name>","Override display name").option("--scopes <list>","Comma-separated OAuth scopes").option("--target <id>","Optional target to attach the agent to").option("--skip-devportal-app","Skip creating DevPortal application").option("-f, --format <format>").action(async t=>{try{let e={tunnelUrl:t.url,apiKey:t.apiKey};t.name!==void 0&&(e.name=t.name),t.scopes!==void 0&&(e.scopes=t.scopes.split(",").map(s=>s.trim()).filter(Boolean)),t.target!==void 0&&(e.targetId=t.target),t.skipDevportalApp&&(e.skipDevportalApp=!0);let i=await b(mb,{input:e});h(t,i);}catch(e){g(e);}});}function or(m){let a=m.command("ui-session").description("UI session state");a.command("get").description("Get current UI session").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(nb);h(n,t.uiSession);}catch(t){g(t);}}),a.command("clear").description("Clear UI session").action(async()=>{try{await b(pb),i("UI session cleared");}catch(n){g(n);}}),a.command("get-by-id").description("Get UI session by ID").argument("<id>").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(ob,{id:n});h(t,e.uiSessionById);}catch(e){g(e);}}),a.command("set-active-vibe").description("Set active vibe").argument("<vibeId>").action(async n=>{try{await b(qb,{vibeId:n}),i("Active vibe updated");}catch(t){g(t);}}),a.command("set-active-session").description("Set active session").argument("<sessionId>").action(async n=>{try{await b(rb,{sessionId:n}),i("Active session updated");}catch(t){g(t);}}),a.command("add-recent-vibe").description("Add recent vibe").argument("<vibeId>").action(async n=>{try{await b(sb,{vibeId:n}),i("Recent vibe added");}catch(t){g(t);}}),a.command("add-recent-session").description("Add recent session").argument("<sessionId>").action(async n=>{try{await b(tb,{sessionId:n}),i("Recent session added");}catch(t){g(t);}});}function rr(m){let a=m.command("cli-config").description("CLI configuration");a.command("set").description("Set CLI config value").argument("<key>").argument("<value>").action((n,t)=>{if(!A$1.includes(n))throw new o$1(`Unknown key: ${n}. Valid keys: ${A$1.join(", ")}`);y$1(n,t),i(`${n} = ${t}`);}),a.command("get").description("Get CLI config value").argument("<key>").action(n=>{let t=x$1(n);if(t===void 0)throw new o$1(`Key not set: ${n}`);console.log(t);}),a.command("list").description("Show all CLI config").option("-f, --format <format>","Output format").action(n=>{let t=w$1();if(n.format==="json"){m$1(t);return}let e=Object.entries(t).filter(([,i])=>i!==void 0);r$1(["Key","Value"],e.map(([i,s])=>[i,String(s)]));}),a.command("path").description("Show config file path").action(()=>{console.log(z$1());});}function ar(){let m=t()?.workspaceId;if(!m)throw new o$1("No workspace set. Run: vibecontrols workspace set <id>");return m}function sr(m){let a=m.command("targets").description("Target management (SSH/RDP/VNC)");a.command("list").description("List targets").option("--type <type>","Filter by type (DIRECT,SSH,RDP,VNC)").option("--limit <n>","Limit results",parseInt).option("--offset <n>","Offset results",parseInt).option("-f, --format <format>","Output format").action(async n$1=>{try{let t=ar(),e={};n$1.type&&(e.type=n$1.type.toUpperCase());let s=(await b(ub,{workspaceId:t,filter:Object.keys(e).length?e:void 0,limit:n$1.limit,offset:n$1.offset})).targets.items;h(n$1,s,{headers:["ID","Name","Type","Host","Port","Status"],rows:s.map(p$1=>[p(p$1.id,12),p$1.name,p$1.type,p$1.host,String(p$1.port??"-"),n(p$1.status)])});}catch(t){g(t);}}),a.command("get").description("Get target by ID").argument("<id>","Target ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(vb,{id:n});if(!e.target)throw new o$1("Target not found");h(t,e.target);}catch(e){g(e);}}),a.command("create").description("Create target").requiredOption("--name <n>","Name").requiredOption("--type <t>","Type (DIRECT,SSH,RDP,VNC)").requiredOption("--host <h>","Host address").requiredOption("--port <p>","Port",parseInt).option("--username <u>","Username").option("--protocol <p>","Protocol").option("--agent-id <id>","Agent ID").option("-f, --format <format>","Output format").action(async n=>{try{let t=ar(),e={name:n.name,type:n.type.toUpperCase(),host:n.host,port:n.port};n.username&&(e.username=n.username),n.protocol&&(e.protocol=n.protocol),n.agentId&&(e.agentId=n.agentId);let i$1=await b(wb,{workspaceId:t,input:e});i("Target created"),h(n,i$1.createTarget);}catch(t){g(t);}}),a.command("update").description("Update target").argument("<id>","Target ID").option("--name <n>","Name").option("--host <h>","Host address").option("--port <p>","Port",parseInt).option("--username <u>","Username").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.host&&(e.host=t.host),t.port&&(e.port=t.port),t.username&&(e.username=t.username),!Object.keys(e).length)throw new o$1("No updates specified");let i$1=await b(xb,{id:n,input:e});i("Target updated"),h(t,i$1.updateTarget);}catch(e){g(e);}}),a.command("delete").description("Delete target").argument("<id>","Target ID").option("--force","Skip confirmation").action(async(n,t)=>{try{if(!await q("Delete this target?",t.force))return;await b(yb,{id:n}),i("Target deleted");}catch(e){g(e);}}),a.command("test").description("Test target connectivity").argument("<id>","Target ID").action(async n=>{try{let t=await b(zb,{id:n});t.testTarget.success?i(`Connection successful (${t.testTarget.latencyMs??"-"}ms)`):j(t.testTarget.error??"Connection failed");}catch(t){g(t);}}),a.command("scan-ssh").description("Scan SSH config for targets").requiredOption("--agent-id <id>","Agent ID").option("--config-path <path>","SSH config file path").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(Ab,{agentId:n.agentId,configPath:n.configPath});i(`Found ${t.scanSSHConfig.length} target(s)`),h(n,t.scanSSHConfig);}catch(t){g(t);}}),a.command("install-agent").description("Install agent on target").requiredOption("--source-agent-id <id>","Source agent ID").requiredOption("--target-id <id>","Target ID").option("--agent-port <port>","Agent port",parseInt).action(async n=>{try{let t=await b(Bb,{sourceAgentId:n.sourceAgentId,targetId:n.targetId,agentPort:n.agentPort});t.installAgentOnTarget.success?i("Agent installed on target"):j(t.installAgentOnTarget.error??"Installation failed");}catch(t){g(t);}}),a.command("uninstall-agent").description("Uninstall agent from target").argument("<targetId>","Target ID").action(async n=>{try{let t=await b(Cb,{targetId:n});t.uninstallAgentFromTarget.success?i("Agent uninstalled from target"):j(t.uninstallAgentFromTarget.error??"Uninstall failed");}catch(t){g(t);}}),a.command("start-terminal").description("Start terminal on target").argument("<targetId>","Target ID").option("--shell <shell>","Shell to use").action(async(n,t)=>{try{let e=await b(Db,{targetId:n,shell:t.shell});i("Terminal started"),console.log(`Session ID: ${e.startTerminal.sessionId}`),console.log(`ttyd URL: ${e.startTerminal.ttydUrl}`);}catch(e){g(e);}}),a.command("stop-terminal").description("Stop terminal session").argument("<sessionId>","Session ID").action(async n=>{try{await b(Eb,{sessionId:n}),i("Terminal stopped");}catch(t){g(t);}});}function cr(m){let a=m.command("vibedeck").description("VibeDeck management");a.command("list").description("List vibedecks").option("-f, --format <format>","Output format").action(async t=>{try{let i=(await b(Fb)).vibeDecks.items;h(t,i,{headers:["ID","Name","Default","Created"],rows:i.map(s=>[p(s.id,12),s.name,s.isDefault?"Yes":"No",o(s.createdAt)])});}catch(e){g(e);}}),a.command("get").description("Get vibedeck").argument("<id>").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b(Gb,{id:t});if(!i.vibeDeck)throw new o$1("VibeDeck not found");h(e,i.vibeDeck);}catch(i){g(i);}}),a.command("default").description("Get default vibedeck").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b(Hb);if(!e.defaultVibeDeck)throw new o$1("No default VibeDeck found");h(t,e.defaultVibeDeck);}catch(e){g(e);}}),a.command("create").description("Create vibedeck").requiredOption("--name <n>","Name").option("--description <d>","Description").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b(Ib,{input:{name:t.name,description:t.description}});i("VibeDeck created"),h(t,e.createVibeDeck);}catch(e){g(e);}}),a.command("update").description("Update vibedeck").argument("<id>").option("--name <n>","Name").option("--description <d>","Description").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.name&&(i$1.name=e.name),e.description&&(i$1.description=e.description),!Object.keys(i$1).length)throw new o$1("No updates specified");let s=await b(Jb,{id:t,input:i$1});i("VibeDeck updated"),h(e,s.updateVibeDeck);}catch(i){g(i);}}),a.command("duplicate").description("Duplicate vibedeck").argument("<id>").option("--name <n>","New name").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b(Kb,{id:t,name:e.name});i("VibeDeck duplicated"),h(e,i$1.duplicateVibeDeck);}catch(i){g(i);}}),a.command("delete").description("Delete vibedeck").argument("<id>").option("--force","Skip confirmation").action(async(t,e)=>{try{if(!await q("Delete this VibeDeck?",e.force))return;await b(Lb,{id:t}),i("VibeDeck deleted");}catch(i){g(i);}}),a.command("set-default").description("Set default vibedeck").argument("<id>").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b(Mb,{id:t});i("Default VibeDeck updated"),h(e,i$1.setDefaultVibeDeck);}catch(i){g(i);}}),a.command("buttons").description("List vibedeck buttons").requiredOption("--deck-id <id>","VibeDeck ID").option("-f, --format <format>","Output format").action(async t=>{try{let i=(await b(Nb,{filter:{vibeDeckId:t.deckId}})).vibeDeckButtons.items;h(t,i,{headers:["ID","Label","Type","Position","Command"],rows:i.map(s=>[p(s.id,12),s.label,s.type,`${s.row},${s.column}`,p(s.command??"",30)])});}catch(e){g(e);}}),a.command("button").description("Get vibedeck button").argument("<id>").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b(Ob,{id:t});if(!i.vibeDeckButton)throw new o$1("Button not found");h(e,i.vibeDeckButton);}catch(i){g(i);}}),a.command("create-button").description("Create vibedeck button").requiredOption("--deck-id <id>","VibeDeck ID").requiredOption("--label <l>","Label").requiredOption("--type <t>","Type (COMMAND, SCRIPT, WEBHOOK)").option("--command <c>","Command").option("--script <s>","Script").option("--webhook-url <u>","Webhook URL").option("--icon <i>","Icon").option("--color <c>","Color").option("--row <n>","Row position",parseInt).option("--column <n>","Column position",parseInt).option("--action-id <id>","Link to an Action").option("-f, --format <format>","Output format").action(async t=>{try{let e={vibeDeckId:t.deckId,label:t.label,type:t.type.toUpperCase()};t.command&&(e.command=t.command),t.script&&(e.script=t.script),t.webhookUrl&&(e.webhookUrl=t.webhookUrl),t.icon&&(e.icon=t.icon),t.color&&(e.color=t.color),t.row!==void 0&&(e.row=t.row),t.column!==void 0&&(e.column=t.column),t.actionId&&(e.actionId=t.actionId);let i$1=await b(Pb,{input:e});i("Button created"),h(t,i$1.createVibeDeckButton);}catch(e){g(e);}}),a.command("update-button").description("Update vibedeck button").argument("<id>").option("--label <l>","Label").option("--command <c>","Command").option("--icon <i>","Icon").option("--color <c>","Color").option("--action-id <id>","Link to an Action").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.label&&(i$1.label=e.label),e.command&&(i$1.command=e.command),e.icon&&(i$1.icon=e.icon),e.color&&(i$1.color=e.color),e.actionId&&(i$1.actionId=e.actionId),!Object.keys(i$1).length)throw new o$1("No updates specified");let s=await b(Qb,{id:t,input:i$1});i("Button updated"),h(e,s.updateVibeDeckButton);}catch(i){g(i);}}),a.command("delete-button").description("Delete vibedeck button").argument("<id>").option("--force","Skip confirmation").action(async(t,e)=>{try{if(!await q("Delete this button?",e.force))return;await b(Rb,{id:t}),i("Button deleted");}catch(i){g(i);}}),a.command("move-button").description("Move vibedeck button").argument("<id>").requiredOption("--row <n>","Row position",parseInt).requiredOption("--column <n>","Column position",parseInt).option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b(Sb,{id:t,input:{row:e.row,column:e.column}});i("Button moved"),h(e,i$1.moveVibeDeckButton);}catch(i){g(i);}}),a.command("reorder-buttons").description("Reorder vibedeck buttons").argument("<vibeDeckId>").requiredOption("--positions <json>","Positions as JSON array").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1;try{i$1=JSON.parse(e.positions);}catch{throw new o$1("Invalid JSON for --positions")}let s=await b(Tb,{vibeDeckId:t,positions:i$1});i("Buttons reordered"),h(e,s.reorderVibeDeckButtons);}catch(i){g(i);}}),a.command("execute-button").description("Execute vibedeck button").argument("<id>").requiredOption("--agent-id <id>","Agent ID").action(async(t,e)=>{try{let s=(await b(Ub,{id:t,agentId:e.agentId})).executeVibeDeckButton;if(s.success)i(s.output??"Button executed successfully");else throw new o$1(s.error??"Execution failed")}catch(i){g(i);}});let n=a.command("share-links").description("VibeDeck share-link management");n.command("list").description("List share-links for a vibedeck").argument("<vibeDeckId>","VibeDeck ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b(Zd,{vibeDeckId:t});h(e,i.vibeDeckShareLinks,{headers:["ID","Name","Permission","Status","Visibility","Uses","Expires"],rows:i.vibeDeckShareLinks.map(s=>[p(s.id,12),s.name??"-",s.permission,s.status,s.visibility,String(s.useCount??0),s.expiresAt?o(s.expiresAt):"-"])});}catch(i){g(i);}}),n.command("create").description("Create a share-link").requiredOption("--vibe-deck-id <id>","VibeDeck ID").option("--name <name>","Friendly name").option("--permission <p>","EXECUTE or VIEW","EXECUTE").option("--visibility <v>","SIGNED_LINK | PUBLIC | RESTRICTED","SIGNED_LINK").option("--password <pwd>","Password protect").option("--max-uses <n>","Max uses",t=>parseInt(t,10)).option("--expires-in-hours <n>","Hours until expiry",t=>parseInt(t,10)).option("--allow-iframe","Allow iframe embedding").action(async t=>{try{let e={vibeDeckId:t.vibeDeckId,permission:(t.permission??"EXECUTE").toUpperCase(),visibility:(t.visibility??"SIGNED_LINK").toUpperCase()};t.name&&(e.name=t.name),t.password&&(e.password=t.password),t.maxUses!==void 0&&(e.maxUses=t.maxUses),t.expiresInHours!==void 0&&(e.expiresInHours=t.expiresInHours),t.allowIframe&&(e.allowIframe=!0);let i$1=await b(_d,{input:e});i(`Created share-link ${i$1.createVibeDeckShareLink.id} \u2014 ${i$1.createVibeDeckShareLink.shareUrl}`);}catch(e){g(e);}}),n.command("update").description("Update a share-link").argument("<id>","Share-link ID").option("--name <name>").option("--permission <p>").option("--visibility <v>").option("--password <pwd>").option("--max-uses <n>","",t=>parseInt(t,10)).option("--expires-at <iso>").option("--allow-iframe <bool>").action(async(t,e)=>{try{let i$1={};e.name&&(i$1.name=e.name),e.permission&&(i$1.permission=e.permission.toUpperCase()),e.visibility&&(i$1.visibility=e.visibility.toUpperCase()),e.password&&(i$1.password=e.password),e.maxUses!==void 0&&(i$1.maxUses=e.maxUses),e.expiresAt&&(i$1.expiresAt=e.expiresAt),e.allowIframe!==void 0&&(i$1.allowIframe=e.allowIframe==="true"),await b($d,{id:t,input:i$1}),i("Share-link updated");}catch(i){g(i);}}),n.command("revoke").description("Revoke a share-link").argument("<id>","Share-link ID").option("--force","Skip confirmation").action(async(t,e)=>{try{if(!await q("Revoke this share-link?",e.force))return;await b(ae,{id:t}),i("Share-link revoked");}catch(i){g(i);}}),n.command("validate").description("Validate a share-link token").argument("<token>").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b(be,{token:t});h(e,i.validateVibeDeckShareLink);}catch(i){g(i);}}),n.command("get-shared").description("Fetch the public shared vibedeck via a token").argument("<token>").option("--password <pwd>").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b(ce,{token:t,password:e.password});h(e,i.sharedVibeDeck);}catch(i){g(i);}}),n.command("execute-shared-button").description("Execute a button on a shared vibedeck").argument("<token>").requiredOption("--button-id <id>","Button ID").option("--password <pwd>").action(async(t,e)=>{try{let s=(await b(de,{token:t,buttonId:e.buttonId,password:e.password})).executeSharedVibeDeckButton;if(s.success)i(s.output??"Executed");else throw new o$1(s.error??"Execution failed")}catch(i){g(i);}});}function dr(m){let a=m.command("ai-tool-events").description("AI tool event tracking");a.command("list").description("List AI tool events").option("--agent-id <id>","Filter by agent").option("--tool-name <name>","Filter by tool name").option("-f, --format <format>","Output format").action(async n=>{try{let t={};n.agentId&&(t.agentId=n.agentId),n.toolName&&(t.toolName=n.toolName);let i=(await b(hc,{filter:Object.keys(t).length?t:void 0})).aiToolEvents.items;h(n,i,{headers:["ID","Tool","Event Type","Model","Tokens","Duration","Created"],rows:i.map(s=>[p(s.id,12),s.toolName,s.eventType,s.model??"-",String(s.tokenCount??"-"),String(s.duration??"-"),o(s.createdAt)])});}catch(t){g(t);}}),a.command("get").description("Get AI tool event").argument("<id>","Event ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(ic,{id:n});if(!e.aiToolEvent)throw new o$1("AI tool event not found");h(t,e.aiToolEvent);}catch(e){g(e);}}),a.command("recent").description("Recent AI tool events").requiredOption("--agent-id <id>","Filter by agent").option("--limit <n>","Max results",parseInt).option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(jc,{agentId:n.agentId,limit:n.limit});h(n,t.recentAiToolEvents);}catch(t){g(t);}}),a.command("create").description("Create AI tool event").requiredOption("--agent-id <id>","Agent ID").requiredOption("--tool-name <name>","Tool name").requiredOption("--event-type <type>","Event type").option("--model <model>","Model name").option("--input <input>","Input data").option("--output <output>","Output data").option("--token-count <n>","Token count",parseInt).option("--duration <ms>","Duration in ms",parseInt).option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(kc,{input:{agentId:n.agentId,toolName:n.toolName,eventType:n.eventType,model:n.model,input:n.input,output:n.output,tokenCount:n.tokenCount,duration:n.duration}});i("AI tool event created"),h(n,t.createAiToolEvent);}catch(t){g(t);}}),a.command("cleanup").description("Delete old AI tool events").requiredOption("--before-date <date>","Delete events before this date").option("--force","Skip confirmation").action(async n=>{try{if(!await q(`Delete all AI tool events before ${n.beforeDate}?`,n.force))return;let t=await b(lc,{beforeDate:n.beforeDate});i("Old AI tool events deleted"),h({},t.deleteOldAiToolEvents);}catch(t){g(t);}});}function pr(m){let a=m.command("docs").description("Documentation site management");a.command("sites").description("List documentation sites").option("-f, --format <format>","Output format").action(async n=>{try{let e=(await b(mc)).docsSites.items;h(n,e,{headers:["ID","Vibe ID","Name","Visibility","Created"],rows:e.map(i=>[p(i.id,12),p(i.vibeId,12),i.name,i.visibility,o(i.createdAt)])});}catch(t){g(t);}}),a.command("site").description("Get documentation site").argument("<vibeId>","Vibe ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(nc,{vibeId:n});if(!e.docsSite)throw new o$1("Docs site not found");h(t,e.docsSite);}catch(e){g(e);}}),a.command("create-site").description("Create documentation site").requiredOption("--vibe-id <id>","Vibe ID").requiredOption("--name <name>","Site name").option("--description <desc>","Description").option("--visibility <v>","Visibility (PRIVATE/PUBLIC)").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(oc,{input:{vibeId:n.vibeId,name:n.name,description:n.description,visibility:n.visibility}});i("Docs site created"),h(n,t.createDocsSite);}catch(t){g(t);}}),a.command("update-site").description("Update documentation site").argument("<id>","Site ID").option("--name <name>","Name").option("--description <desc>","Description").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.description&&(e.description=t.description),!Object.keys(e).length)throw new o$1("No updates specified");let i$1=await b(pc,{id:n,input:e});i("Docs site updated"),h(t,i$1.updateDocsSite);}catch(e){g(e);}}),a.command("set-visibility").description("Set site visibility").argument("<id>","Site ID").argument("<visibility>","PRIVATE or PUBLIC").option("-f, --format <format>","Output format").action(async(n,t,e)=>{try{let i$1=await b(qc,{id:n,visibility:t});i(`Visibility set to ${t}`),h(e,i$1.updateDocsSiteVisibility);}catch(i){g(i);}}),a.command("delete-site").description("Delete documentation site").argument("<id>","Site ID").option("--force","Skip confirmation").action(async(n,t)=>{try{if(!await q("Delete this docs site?",t.force))return;await b(rc,{id:n}),i("Docs site deleted");}catch(e){g(e);}}),a.command("pages").description("List pages for a site").argument("<siteId>","Site ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(sc,{siteId:n});h(t,e.docsPages);}catch(e){g(e);}}),a.command("page").description("Get a page").argument("<id>","Page ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(tc,{id:n});if(!e.docsPage)throw new o$1("Page not found");h(t,e.docsPage);}catch(e){g(e);}}),a.command("create-page").description("Create a page").requiredOption("--site-id <id>","Site ID").requiredOption("--title <title>","Page title").option("--slug <slug>","Page slug").option("--content <content>","Page content").option("--parent-id <id>","Parent page ID").option("-f, --format <format>","Output format").action(async n=>{try{let t=await b(uc,{input:{siteId:n.siteId,title:n.title,slug:n.slug,content:n.content,parentId:n.parentId}});i("Page created"),h(n,t.createDocsPage);}catch(t){g(t);}}),a.command("update-page").description("Update a page").argument("<id>","Page ID").option("--title <title>","Title").option("--content <content>","Content").option("--slug <slug>","Slug").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e={};if(t.title&&(e.title=t.title),t.content&&(e.content=t.content),t.slug&&(e.slug=t.slug),!Object.keys(e).length)throw new o$1("No updates specified");let i$1=await b(vc,{id:n,input:e});i("Page updated"),h(t,i$1.updateDocsPage);}catch(e){g(e);}}),a.command("delete-page").description("Delete a page").argument("<id>","Page ID").option("--force","Skip confirmation").action(async(n,t)=>{try{if(!await q("Delete this page?",t.force))return;await b(wc,{id:n}),i("Page deleted");}catch(e){g(e);}}),a.command("reorder-pages").description("Reorder pages").argument("<siteId>","Site ID").requiredOption("--pages <json>","Page order as JSON array").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=JSON.parse(t.pages),i$1=await b(xc,{siteId:n,pages:e});i("Pages reordered"),h(t,i$1.reorderDocsPages);}catch(e){g(e);}}),a.command("revisions").description("List revisions for a site").argument("<siteId>","Site ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(yc,{siteId:n});h(t,e.docsRevisions);}catch(e){g(e);}}),a.command("revision").description("Get a revision").argument("<id>","Revision ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(zc,{id:n});if(!e.docsRevision)throw new o$1("Revision not found");h(t,e.docsRevision);}catch(e){g(e);}}),a.command("content").description("Get docs content").argument("<siteId>","Site ID").option("--path <path>","Content path").action(async(n,t)=>{try{let e=await b(Ac,{siteId:n,path:t.path});e.docsContent?console.log(e.docsContent):j("No content found");}catch(e){g(e);}}),a.command("compile").description("Compile documentation site").argument("<siteId>","Site ID").option("--publish","Publish after compile").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(Bc,{siteId:n,publish:t.publish??!1});i("Docs site compiled"),h(t,e.compileDocsSite);}catch(e){g(e);}}),a.command("publish").description("Publish a revision").argument("<revisionId>","Revision ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(Cc,{revisionId:n});i("Revision published"),h(t,e.publishDocsRevision);}catch(e){g(e);}}),a.command("rollback").description("Rollback to a revision").argument("<siteId>","Site ID").argument("<revisionId>","Revision ID").option("--force","Skip confirmation").action(async(n,t,e)=>{try{if(!await q(`Rollback site to revision ${t}?`,e.force))return;let i$1=await b(Dc,{siteId:n,revisionId:t});i("Rollback complete"),h({},i$1.rollbackDocsRevision);}catch(i){g(i);}}),a.command("signed-url").description("Generate signed URL for a site").argument("<siteId>","Site ID").action(async n=>{try{let t=await b(Ec,{siteId:n});console.log(t.generateDocsSignedUrl);}catch(t){g(t);}});}function mr(m){let a=m.command("audit").description("Audit log management");a.command("list").description("List audit logs").option("--action <action>","Filter by action").option("--resource-type <type>","Filter by resource type").option("--status <status>","Filter by status").option("--actor-id <id>","Filter by actor").option("--from <date>","From date").option("--to <date>","To date").option("-f, --format <format>","Output format").action(async n=>{try{let t={};n.action&&(t.action=n.action),n.resourceType&&(t.resourceType=n.resourceType),n.status&&(t.status=n.status),n.actorId&&(t.actorId=n.actorId),n.from&&(t.from=n.from),n.to&&(t.to=n.to);let i=(await b(Fc,{filter:Object.keys(t).length?t:void 0})).vibeAuditLogs.items;h(n,i,{headers:["ID","Action","Resource","Resource ID","Actor","Status","Created"],rows:i.map(s=>[p(s.id,12),s.action,s.resourceType,p(s.resourceId,12),p(s.actorId,12),s.status,o(s.createdAt)])});}catch(t){g(t);}}),a.command("get").description("Get audit log").argument("<id>","Audit log ID").option("-f, --format <format>","Output format").action(async(n,t)=>{try{let e=await b(Gc,{id:n});if(!e.vibeAuditLog)throw new o$1("Audit log not found");h(t,e.vibeAuditLog);}catch(e){g(e);}}),a.command("stats").description("Get audit log statistics").option("--action <action>","Filter by action").option("--resource-type <type>","Filter by resource type").option("--status <status>","Filter by status").option("--actor-id <id>","Filter by actor").option("--from <date>","From date").option("--to <date>","To date").option("-f, --format <format>","Output format").action(async n=>{try{let t={};n.action&&(t.action=n.action),n.resourceType&&(t.resourceType=n.resourceType),n.status&&(t.status=n.status),n.actorId&&(t.actorId=n.actorId),n.from&&(t.from=n.from),n.to&&(t.to=n.to);let e=await b(Hc,{filter:Object.keys(t).length?t:void 0});h(n,e.vibeAuditLogStats);}catch(t){g(t);}}),a.command("delete").description("Delete audit log").argument("<id>","Audit log ID").option("--reason <reason>","Deletion reason").option("--force","Skip confirmation").action(async(n,t)=>{try{if(!await q("Delete this audit log?",t.force))return;await b(Ic,{id:n,reason:t.reason}),i("Audit log deleted");}catch(e){g(e);}}),a.command("bulk-delete").description("Bulk delete audit logs").requiredOption("--ids <ids>","Comma-separated IDs").option("--reason <reason>","Deletion reason").option("--force","Skip confirmation").action(async n=>{try{let t=n.ids.split(",").map(e=>e.trim());if(!await q(`Delete ${t.length} audit logs?`,n.force))return;await b(Jc,{ids:t,reason:n.reason}),i(`${t.length} audit logs deleted`);}catch(t){g(t);}}),a.command("export").description("Export audit logs").option("--action <action>","Filter by action").option("--resource-type <type>","Filter by resource type").option("--status <status>","Filter by status").option("--actor-id <id>","Filter by actor").option("--from <date>","From date").option("--to <date>","To date").option("--export-format <fmt>","Export format (csv/json)","json").action(async n=>{try{let t={};n.action&&(t.action=n.action),n.resourceType&&(t.resourceType=n.resourceType),n.status&&(t.status=n.status),n.actorId&&(t.actorId=n.actorId),n.from&&(t.from=n.from),n.to&&(t.to=n.to);let e=await b(Kc,{filter:Object.keys(t).length?t:void 0,exportFormat:n.exportFormat});console.log(e.exportVibeAuditLogs);}catch(t){g(t);}});}function ur(m){let a=m.command("action").description("Vibe Actions management");a.command("list").description("List actions").option("--type <type>","Filter by action type (COMMAND, SCRIPT, WEBHOOK, WORKFLOW)").option("--trigger <trigger>","Filter by trigger type (MANUAL, SCHEDULED, EVENT, ON_DEMAND)").option("--category <category>","Filter by category").option("-f, --format <format>","Output format").action(async t=>{try{let e={};t.type&&(e.actionType=t.type.toUpperCase()),t.trigger&&(e.triggerType=t.trigger.toUpperCase()),t.category&&(e.category=t.category);let s=(await b(Vb,{filter:Object.keys(e).length?e:void 0})).actions.items;h(t,s,{headers:["ID","Name","Type","Trigger","Source","Category"],rows:s.map(p$1=>[p(p$1.id,12),p$1.displayName??p$1.name,p$1.actionType,p$1.triggerType,p$1.sourceType,p$1.category??"-"])});}catch(e){g(e);}}),a.command("get").description("Get action details").argument("<id>").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b(Wb,{id:t});if(!i.action)throw new o$1("Action not found");h(e,i.action);}catch(i){g(i);}}),a.command("create").description("Create action").requiredOption("--name <n>","Name").option("--display-name <n>","Display name").option("--description <d>","Description").option("--type <t>","Action type (COMMAND, SCRIPT, WEBHOOK, WORKFLOW)","COMMAND").option("--trigger <t>","Trigger type (MANUAL, SCHEDULED, EVENT, ON_DEMAND)","MANUAL").option("--command <c>","Command to execute").option("--working-directory <d>","Working directory for command").option("--script <s>","Script content").option("--script-interpreter <i>","Script interpreter (e.g. bash, python)").option("--webhook-url <u>","Webhook URL").option("--webhook-method <m>","Webhook HTTP method").option("--schedule <s>","Cron schedule expression").option("--category <c>","Category").option("--tags <t>","Comma-separated tags").option("--target-agent-id <id>","Target agent ID").option("--timeout <ms>","Timeout in milliseconds",parseInt).option("--retry-count <n>","Retry count",parseInt).option("--confirmation-required","Require confirmation before execution").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,actionType:(t.type??"COMMAND").toUpperCase(),triggerType:(t.trigger??"MANUAL").toUpperCase()};t.displayName&&(e.displayName=t.displayName),t.description&&(e.description=t.description),t.command&&(e.command=t.command),t.workingDirectory&&(e.workingDirectory=t.workingDirectory),t.script&&(e.script=t.script),t.scriptInterpreter&&(e.scriptInterpreter=t.scriptInterpreter),t.webhookUrl&&(e.webhookUrl=t.webhookUrl),t.webhookMethod&&(e.webhookMethod=t.webhookMethod),t.schedule&&(e.schedule=t.schedule),t.category&&(e.category=t.category),t.tags&&(e.tags=t.tags.split(",").map(s=>s.trim())),t.targetAgentId&&(e.targetAgentId=t.targetAgentId),t.timeout!==void 0&&(e.timeoutMs=t.timeout),t.retryCount!==void 0&&(e.retryCount=t.retryCount),t.confirmationRequired&&(e.confirmationRequired=!0);let i$1=await b(Xb,{input:e});i("Action created"),h(t,i$1.createAction);}catch(e){g(e);}}),a.command("update").description("Update action").argument("<id>").option("--name <n>","Name").option("--display-name <n>","Display name").option("--description <d>","Description").option("--type <t>","Action type (COMMAND, SCRIPT, WEBHOOK, WORKFLOW)").option("--trigger <t>","Trigger type (MANUAL, SCHEDULED, EVENT, ON_DEMAND)").option("--command <c>","Command to execute").option("--working-directory <d>","Working directory for command").option("--script <s>","Script content").option("--script-interpreter <i>","Script interpreter").option("--webhook-url <u>","Webhook URL").option("--webhook-method <m>","Webhook HTTP method").option("--schedule <s>","Cron schedule expression").option("--category <c>","Category").option("--tags <t>","Comma-separated tags").option("--target-agent-id <id>","Target agent ID").option("--timeout <ms>","Timeout in milliseconds",parseInt).option("--retry-count <n>","Retry count",parseInt).option("--confirmation-required","Require confirmation before execution").option("--no-confirmation-required","Disable confirmation requirement").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.name&&(i$1.name=e.name),e.displayName&&(i$1.displayName=e.displayName),e.description&&(i$1.description=e.description),e.type&&(i$1.actionType=e.type.toUpperCase()),e.trigger&&(i$1.triggerType=e.trigger.toUpperCase()),e.command&&(i$1.command=e.command),e.workingDirectory&&(i$1.workingDirectory=e.workingDirectory),e.script&&(i$1.script=e.script),e.scriptInterpreter&&(i$1.scriptInterpreter=e.scriptInterpreter),e.webhookUrl&&(i$1.webhookUrl=e.webhookUrl),e.webhookMethod&&(i$1.webhookMethod=e.webhookMethod),e.schedule&&(i$1.schedule=e.schedule),e.category&&(i$1.category=e.category),e.tags&&(i$1.tags=e.tags.split(",").map(p=>p.trim())),e.targetAgentId&&(i$1.targetAgentId=e.targetAgentId),e.timeout!==void 0&&(i$1.timeoutMs=e.timeout),e.retryCount!==void 0&&(i$1.retryCount=e.retryCount),e.confirmationRequired!==void 0&&(i$1.confirmationRequired=e.confirmationRequired),!Object.keys(i$1).length)throw new o$1("No updates specified");let s=await b(Yb,{id:t,input:i$1});i("Action updated"),h(e,s.updateAction);}catch(i){g(i);}}),a.command("delete").description("Delete action").argument("<id>").option("--force","Skip confirmation").action(async(t,e)=>{try{if(!await q("Delete this action?",e.force))return;await b(Zb,{id:t}),i("Action deleted");}catch(i){g(i);}}),a.command("duplicate").description("Duplicate action").argument("<id>").argument("[name]").option("-f, --format <format>","Output format").action(async(t,e,i$1)=>{try{let s=await b(_b,{id:t,name:e});i("Action duplicated"),h(i$1,s.duplicateAction);}catch(s){g(s);}}),a.command("execute").description("Execute action").argument("<id>").option("--agent-id <id>","Target agent ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};e.agentId&&(i$1.agentId=e.agentId);let p=(await b($b,{id:t,input:Object.keys(i$1).length?i$1:void 0})).executeAction,g=p.status;g==="SUCCESS"?i(`Action executed successfully${p.durationMs?` (${p.durationMs}ms)`:""}`):g==="RUNNING"||g==="PENDING"?i(`Action execution started (${g})`):j(p.errorMessage??`Execution ${g}`),h(e,p);}catch(i){g(i);}}),a.command("install").description("Install action from store").argument("<storeItemId>").option("--version <v>","Version to install").option("--name <n>","Custom name for installed action").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b(ac,{storeItemId:t,version:e.version,name:e.name});i("Action installed from store"),h(e,i$1.installActionFromStore);}catch(i){g(i);}}),a.command("history").description("List action execution history").argument("[actionId]").option("--status <s>","Filter by status (PENDING, RUNNING, SUCCESS, FAILURE, TIMEOUT, CANCELLED)").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i={};t&&(i.actionId=t),e.status&&(i.status=e.status.toUpperCase());let p$1=(await b(cc,{filter:Object.keys(i).length?i:void 0})).actionExecutions.items;h(e,p$1,{headers:["ID","Action ID","Status","Trigger","Duration","Started"],rows:p$1.map(g=>[p(g.id,12),p(g.actionId,12),n(g.status),g.triggerType,g.durationMs?`${g.durationMs}ms`:"-",o(g.startedAt)])});}catch(i){g(i);}}),a.command("cancel-execution").description("Cancel a running action execution").argument("<id>").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b(bc,{id:t});i("Action execution cancelled"),h(e,i$1.cancelActionExecution);}catch(i){g(i);}}),a.command("execution").description("Get action execution details").argument("<id>").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b(dc,{id:t});if(!i.actionExecution)throw new o$1("Action execution not found");h(e,i.actionExecution);}catch(i){g(i);}}),a.command("schedule").description("Create a scheduled job for an action").argument("<actionId>","Action ID to schedule").option("--cron <expr>","Cron expression (for CRON schedule type)").option("--timezone <tz>","Timezone for the schedule","UTC").option("--schedule-type <type>","Schedule type (CRON, ONE_TIME, FIXED_INTERVAL)","CRON").option("--scheduled-at <date>","ISO date for ONE_TIME schedule").option("--interval <n>","Interval value (for FIXED_INTERVAL)",parseInt).option("--interval-unit <unit>","Interval unit (MINUTES, HOURS, DAYS)").option("--start-date <date>","Schedule start date (ISO)").option("--end-date <date>","Schedule end date (ISO)").option("--name <name>","Name for the scheduled job").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={actionId:t,scheduleType:(e.scheduleType??"CRON").toUpperCase()};e.cron&&(i$1.cronExpression=e.cron),e.timezone&&(i$1.timezone=e.timezone),e.scheduledAt&&(i$1.scheduledAt=e.scheduledAt),e.interval!==void 0&&(i$1.interval=e.interval),e.intervalUnit&&(i$1.intervalUnit=e.intervalUnit.toUpperCase()),e.startDate&&(i$1.startDate=e.startDate),e.endDate&&(i$1.endDate=e.endDate),e.name&&(i$1.name=e.name);let s=await b(ec,{input:i$1});i("Scheduled job created"),h(e,s.createScheduledJob);}catch(i){g(i);}}),a.command("unschedule").description("Delete a scheduled job").argument("<scheduledJobId>","Scheduled job ID to delete").option("--force","Skip confirmation").action(async(t,e)=>{try{if(!await q("Delete this scheduled job?",e.force))return;await b(fc,{id:t}),i("Scheduled job deleted");}catch(i){g(i);}}),a.command("schedules").description("List scheduled jobs").option("--action-id <id>","Filter by action ID").option("-f, --format <format>","Output format").action(async t=>{try{let e={};t.actionId&&(e.actionId=t.actionId);let s=(await b(gc,{filter:Object.keys(e).length?e:void 0})).scheduledJobs.jobs;h(t,s,{headers:["ID","Name","Type","Status","Action ID","Cron","Next Run"],rows:s.map(p$1=>[p(p$1.id,12),p$1.name??"-",p$1.scheduleType,n(p$1.status),p(p$1.actionId,12),p$1.cronExpression??"-",p$1.nextExecutionAt?o(p$1.nextExecutionAt):"-"])});}catch(e){g(e);}});let n$1=a.command("ai-prompts").description("AI prompt templates");n$1.command("list").description("List AI prompts").option("--category <c>","Filter by category").option("--status <s>","Filter by status (ACTIVE, ARCHIVED, DRAFT)").option("--shared","Only shared prompts").option("--search <q>","Search text").option("-f, --format <format>","Output format").action(async t=>{try{let e={};t.category&&(e.category=t.category.toUpperCase()),t.status&&(e.status=t.status.toUpperCase()),t.shared&&(e.isShared=!0),t.search&&(e.search=t.search);let s=(await b(Rd,{filter:Object.keys(e).length?e:void 0})).aiPrompts.items;h(t,s,{headers:["ID","Name","Category","Status","Shared","Uses","Updated"],rows:s.map(p$1=>[p(p$1.id,12),p$1.name,p$1.category,n(p$1.status),p$1.isShared?"yes":"no",String(p$1.usageCount??0),o(p$1.updatedAt)])});}catch(e){g(e);}}),n$1.command("get").description("Get an AI prompt").argument("<id>","Prompt ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b(Sd,{id:t});if(!i.aiPrompt){j("Prompt not found");return}h(e,i.aiPrompt);}catch(i){g(i);}}),n$1.command("create").description("Create a new AI prompt").requiredOption("--name <name>","Prompt name").requiredOption("--content <content>","Prompt content/template").option("--description <desc>","Description").option("--category <cat>","Category","GENERAL").option("--status <s>","Status","ACTIVE").option("--shared","Share with workspace").option("--tags <tags>","Comma-separated tags").option("--variables <json>","Variables (JSON)").action(async t=>{try{let e={name:t.name,content:t.content,category:(t.category??"GENERAL").toUpperCase(),status:(t.status??"ACTIVE").toUpperCase()};if(t.description&&(e.description=t.description),t.shared&&(e.isShared=!0),t.tags&&(e.tags=t.tags.split(",").map(s=>s.trim())),t.variables)try{e.variables=JSON.parse(t.variables);}catch{throw new o$1("--variables must be valid JSON")}let i$1=await b(Td,{input:e});i(`Created prompt ${i$1.createAIPrompt.id}`);}catch(e){g(e);}}),n$1.command("update").description("Update an AI prompt").argument("<id>","Prompt ID").option("--name <name>").option("--content <content>").option("--description <desc>").option("--category <cat>").option("--status <s>").option("--shared <bool>").option("--tags <tags>","Comma-separated tags").option("--variables <json>").action(async(t,e)=>{try{let i$1={};if(e.name&&(i$1.name=e.name),e.content&&(i$1.content=e.content),e.description&&(i$1.description=e.description),e.category&&(i$1.category=e.category.toUpperCase()),e.status&&(i$1.status=e.status.toUpperCase()),e.shared!==void 0&&(i$1.isShared=e.shared==="true"),e.tags&&(i$1.tags=e.tags.split(",").map(s=>s.trim())),e.variables)try{i$1.variables=JSON.parse(e.variables);}catch{throw new o$1("--variables must be valid JSON")}await b(Ud,{id:t,input:i$1}),i("Prompt updated");}catch(i){g(i);}}),n$1.command("delete").description("Delete an AI prompt").argument("<id>","Prompt ID").option("--force","Skip confirmation").action(async(t,e)=>{try{if(!await q("Delete this prompt?",e.force))return;await b(Vd,{id:t}),i("Prompt deleted");}catch(i){g(i);}}),n$1.command("duplicate").description("Duplicate an AI prompt").argument("<id>","Prompt ID").requiredOption("--name <name>","Name for the duplicate").action(async(t,e)=>{try{let i$1=await b(Wd,{id:t,name:e.name});i(`Duplicated to ${i$1.duplicateAIPrompt.id}`);}catch(i){g(i);}}),n$1.command("render").description("Render an AI prompt with variables").argument("<id>","Prompt ID").option("--variables <json>","Variables (JSON)").action(async(t,e)=>{try{let i;if(e.variables)try{i=JSON.parse(e.variables);}catch{throw new o$1("--variables must be valid JSON")}let s=await b(Xd,{id:t,variables:i});process.stdout.write(s.renderAIPrompt.rendered),s.renderAIPrompt.rendered.endsWith(`
@@ -1,23 +1,23 @@
1
- 'use strict';require('graphql-request');var W=require('cross-fetch');require('commander');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var W__default=/*#__PURE__*/_interopDefault(W);async function C(r,i,s,o){let t=await W__default.default(r,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify({query:`
1
+ 'use strict';require('graphql-request');var W=require('cross-fetch');require('commander');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var W__default=/*#__PURE__*/_interopDefault(W);async function h(r,i,s,o){let t=await W__default.default(r,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify({query:`
2
2
  mutation IssueWorkspaceToken($input: IssueWorkspaceTokenInput!) {
3
3
  issueWorkspaceToken(input: $input) {
4
4
  success token expiresAt scopes
5
5
  error { code message }
6
6
  }
7
7
  }
8
- `,variables:{input:{workspaceId:s,organizationId:o}}})});if(!t.ok){let w=await t.text().catch(()=>"Unknown error");throw new Error(`Workspace token request failed (${t.status}): ${w}`)}let n=await t.json();if(n.errors?.length)throw new Error(`Workspace token failed: ${n.errors[0]?.message??"unknown error"}`);let a=n.data?.issueWorkspaceToken;if(!a?.success||!a.token){let w=a?.error?.message??"Unknown error";throw new Error(`Workspace token failed: ${w}`)}return {token:a.token,expiresAt:a.expiresAt??"",scopes:a.scopes??[]}}async function h(r,i){let o=await W__default.default(r,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify({query:`
8
+ `,variables:{input:{workspaceId:s,organizationId:o}}})});if(!t.ok){let w=await t.text().catch(()=>"Unknown error");throw new Error(`Workspace token request failed (${t.status}): ${w}`)}let n=await t.json();if(n.errors?.length)throw new Error(`Workspace token failed: ${n.errors[0]?.message??"unknown error"}`);let a=n.data?.issueWorkspaceToken;if(!a?.success||!a.token){let w=a?.error?.message??"Unknown error";throw new Error(`Workspace token failed: ${w}`)}return {token:a.token,expiresAt:a.expiresAt??"",scopes:a.scopes??[]}}async function C(r,i){let o=await W__default.default(r,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify({query:`
9
9
  query MyWorkspaces($limit: Int) {
10
10
  myWorkspaces(limit: $limit) {
11
11
  items { id name slug tenantId organizationId }
12
12
  }
13
13
  }
14
- `,variables:{limit:50}})});if(!o.ok){let t=await o.text().catch(()=>"Unknown error");throw new Error(`Failed to fetch workspaces (${o.status}): ${t}`)}let e=await o.json();if(e.errors?.length)throw new Error(`Failed to fetch workspaces: ${e.errors[0]?.message??"unknown error"}`);return e.data?.myWorkspaces?.items??[]}var u=class extends Error{exitCode;hint;constructor(i,s){super(i),this.name="CliUserError",this.exitCode=s?.exitCode??1,this.hint=s?.hint;}},k=class extends u{constructor(i,s){super(i,{exitCode:2,hint:s?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},m=class extends Error{cause;constructor(i,s){super(i),this.name="CliInternalError",this.cause=s;}};var T=null;function $(r){T=r;}function d(){if(!T)throw new m("vibecontrols module helpers used before setHelpersContext was called");return T}function ie(){let r=d();if(!r.auth.isAuthenticated())throw new k(`Authentication required. Run \`${r.productName} auth login\`.`)}async function f(r,i){return ie(),d().gql.workspace.request(r,i)}async function I(r,i){return d().gql.global.request(r,i)}function A(){d().gql.reset();}function c(r){let i=r instanceof Error?r.message:String(r);throw new u(i)}function l(r,i,s){d().output.formatAndOutput(r,i,s);}function g(r){d().output.printSuccess(r);}function y(r){d().output.printInfo(r);}function E(r){d().output.printWarning(r);}function v(r){return d().output.formatStatus(r)}function R(r){return d().output.formatDate(r)}function x(r,i){return d().output.truncate(r,i)}function b(){return d().auth.read()}function S(r){d().auth.write(r);}function O(){return d().config.read()}function D(r){let i=r.command("workspace").description("Workspace context");i.command("current").description("Show current workspace").option("-f, --format <format>","Output format").action(s=>{let o=b(),e=o?.workspaceId??null;if(!e){y("No workspace set. Run: vibecontrols workspace set <id>");return}l(s,{workspaceId:e,organizationId:o?.organizationId??"-",hasWorkspaceToken:!!o?.workspaceToken},{headers:["Key","Value"],rows:[["Workspace ID",e],["Organization ID",o?.organizationId??"-"],["Has Workspace Token",String(!!o?.workspaceToken)]]});}),i.command("set").description("Set workspace ID and issue workspace token").argument("<id>","Workspace ID").action(async s=>{try{let o=b();if(!o?.accessToken)throw new u("Not authenticated. Run: vibecontrols auth login");let e=O(),t;y("Looking up workspace details...");try{let a=(await h(e.globalEndpoint,o.accessToken)).find(w=>w.id===s);a?t=a.organizationId:(E("Workspace not in your accessible list \u2014 using stored organization id as fallback"),t=o.organizationId);}catch{E("Could not fetch workspace details \u2014 using stored organization id"),t=o.organizationId;}if(o.accessToken&&t){y("Issuing workspace token...");try{let n=await C(e.workspaceEndpoint,o.accessToken,s,t);S({...o,workspaceId:s,organizationId:t,workspaceToken:n.token,workspaceTokenExpiresAt:new Date(n.expiresAt).getTime()}),A(),g(`Workspace set to: ${s} (token issued)`);return}catch(n){E(`Workspace token failed: ${n instanceof Error?n.message:String(n)}`);}}S({...o,workspaceId:s,organizationId:t}),A(),g(`Workspace set to: ${s}`);}catch(o){c(o);}}),i.command("list").description("List available workspaces").option("-f, --format <format>","Output format").action(async s=>{try{let o=b();if(!o?.accessToken)throw new u("Not authenticated. Run: vibecontrols auth login");let e=O(),t=await h(e.globalEndpoint,o.accessToken);l(s,t,{headers:["ID","Name","Slug","Organization ID"],rows:t.map(n=>[n.id,n.name,n.slug,n.organizationId])});}catch(o){c(o);}});}var _=`
14
+ `,variables:{limit:50}})});if(!o.ok){let t=await o.text().catch(()=>"Unknown error");throw new Error(`Failed to fetch workspaces (${o.status}): ${t}`)}let e=await o.json();if(e.errors?.length)throw new Error(`Failed to fetch workspaces: ${e.errors[0]?.message??"unknown error"}`);return e.data?.myWorkspaces?.items??[]}var d=class extends Error{exitCode;hint;constructor(i,s){super(i),this.name="CliUserError",this.exitCode=s?.exitCode??1,this.hint=s?.hint;}},k=class extends d{constructor(i,s){super(i,{exitCode:2,hint:s?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},m=class extends Error{cause;constructor(i,s){super(i),this.name="CliInternalError",this.cause=s;}};var A=null;function D(r){A=r;}function u(){if(!A)throw new m("vibecontrols module helpers used before setHelpersContext was called");return A}function se(){let r=u();if(!r.auth.isAuthenticated())throw new k("Authentication required.",{hint:`Run \`${r.productName} auth login\` to authenticate.`})}async function f(r,i){return se(),u().gql.workspace.request(r,i)}async function I(r,i){return u().gql.global.request(r,i)}function v(){u().gql.reset();}function c(r){let i=r instanceof Error?r.message:String(r);throw new d(i)}function l(r,i,s){u().output.formatAndOutput(r,i,s);}function g(r){u().output.printSuccess(r);}function y(r){u().output.printInfo(r);}function E(r){u().output.printWarning(r);}function O(r){return u().output.formatStatus(r)}function R(r){return u().output.formatDate(r)}function x(r,i){return u().output.truncate(r,i)}function b(){return u()}function T(){return u().auth.read()}function S(r){u().auth.write(r);}function P(){return u().config.read()}function _(r){let i=r.command("workspace").description("Workspace context");i.command("current").description("Show current workspace").option("-f, --format <format>","Output format").action(s=>{let o=T(),e=o?.workspaceId??null;if(!e){y(`No workspace set. Run: ${b().productName} workspace set <id>`);return}l(s,{workspaceId:e,organizationId:o?.organizationId??"-",hasWorkspaceToken:!!o?.workspaceToken},{headers:["Key","Value"],rows:[["Workspace ID",e],["Organization ID",o?.organizationId??"-"],["Has Workspace Token",String(!!o?.workspaceToken)]]});}),i.command("set").description("Set workspace ID and issue workspace token").argument("<id>","Workspace ID").action(async s=>{try{let o=T();if(!o?.accessToken)throw new d(`Not authenticated. Run: ${b().productName} auth login`);let e=P(),t;y("Looking up workspace details...");try{let a=(await C(e.globalEndpoint,o.accessToken)).find(w=>w.id===s);a?t=a.organizationId:(E("Workspace not in your accessible list \u2014 using stored organization id as fallback"),t=o.organizationId);}catch{E("Could not fetch workspace details \u2014 using stored organization id"),t=o.organizationId;}if(o.accessToken&&t){y("Issuing workspace token...");try{let n=await h(e.workspaceEndpoint,o.accessToken,s,t);S({...o,workspaceId:s,organizationId:t,workspaceToken:n.token,workspaceTokenExpiresAt:new Date(n.expiresAt).getTime()}),v(),g(`Workspace set to: ${s} (token issued)`);return}catch(n){E(`Workspace token failed: ${n instanceof Error?n.message:String(n)}`);}}S({...o,workspaceId:s,organizationId:t}),v(),g(`Workspace set to: ${s}`);}catch(o){c(o);}}),i.command("list").description("List available workspaces").option("-f, --format <format>","Output format").action(async s=>{try{let o=T();if(!o?.accessToken)throw new d(`Not authenticated. Run: ${b().productName} auth login`);let e=P(),t=await C(e.globalEndpoint,o.accessToken);l(s,t,{headers:["ID","Name","Slug","Organization ID"],rows:t.map(n=>[n.id,n.name,n.slug,n.organizationId])});}catch(o){c(o);}});}var q=`
15
15
  query GetWorkspace($id: ID!) {
16
16
  workspace(id: $id) {
17
17
  id name slug description tenantId organizationId status createdAt updatedAt
18
18
  }
19
19
  }
20
- `,q=`
20
+ `,L=`
21
21
  mutation CreateWorkspace($input: CreateWorkspaceInput!) {
22
22
  createWorkspace(input: $input) {
23
23
  id name slug status createdAt
@@ -29,62 +29,62 @@
29
29
  id name description status updatedAt
30
30
  }
31
31
  }
32
- `,L=`
32
+ `,j=`
33
33
  mutation DeleteWorkspace($id: ID!) {
34
34
  deleteWorkspace(id: $id)
35
35
  }
36
- `,j=`
36
+ `,N=`
37
37
  query ListWorkspaceMembers($workspaceId: ID!, $pagination: PaginationInput) {
38
38
  workspaceMembers(workspaceId: $workspaceId, pagination: $pagination) {
39
39
  items { id userId role status createdAt }
40
40
  total hasMore
41
41
  }
42
42
  }
43
- `,N=`
43
+ `,F=`
44
44
  mutation AddWorkspaceMember($input: AddWorkspaceMemberInput!) {
45
45
  addWorkspaceMember(input: $input) {
46
46
  id userId role status
47
47
  }
48
48
  }
49
- `,F=`
49
+ `,U=`
50
50
  mutation RemoveWorkspaceMember($id: ID!) {
51
51
  removeWorkspaceMember(id: $id)
52
52
  }
53
- `,U=`
53
+ `,z=`
54
54
  mutation UpdateWorkspaceMemberRoles($input: UpdateWorkspaceMemberRolesInput!) {
55
55
  updateWorkspaceMemberRoles(input: $input) {
56
56
  id userId role
57
57
  }
58
58
  }
59
- `,z=`
59
+ `,G=`
60
60
  query ListProjects($filter: ProjectFilterInput, $pagination: PaginationInput) {
61
61
  projects(filter: $filter, pagination: $pagination) {
62
62
  items { id name workspaceId status createdAt }
63
63
  total hasMore
64
64
  }
65
65
  }
66
- `,G=`
66
+ `,K=`
67
67
  query GetProject($id: ID!) {
68
68
  project(id: $id) {
69
69
  id name description workspaceId status createdAt updatedAt
70
70
  }
71
71
  }
72
- `,K=`
72
+ `,B=`
73
73
  mutation CreateProject($input: CreateProjectInput!) {
74
74
  createProject(input: $input) {
75
75
  id name workspaceId status
76
76
  }
77
77
  }
78
- `,B=`
78
+ `,V=`
79
79
  mutation AcceptInvitation($id: ID!) {
80
80
  acceptInvitation(id: $id) {
81
81
  id status workspaceId
82
82
  }
83
83
  }
84
- `,V=`
84
+ `,H=`
85
85
  query WorkspaceActivity($workspaceId: ID!, $limit: Int, $offset: Int) {
86
86
  getWorkspaceActivities(workspaceId: $workspaceId, limit: $limit, offset: $offset) {
87
87
  id action actorId summary createdAt
88
88
  }
89
89
  }
90
- `;function H(r){r.command("get").description("Get a workspace by id").argument("<id>").option("-f, --format <format>").action(async(e,t)=>{try{let n=await I(_,{id:e});if(!n.workspace)throw new u(`Workspace ${e} not found`);l(t,n.workspace);}catch(n){c(n);}}),r.command("create").description("Create a workspace (global layer)").requiredOption("--name <name>").option("--description <s>").option("--tenant <id>","Target tenant id").option("--organization <id>","Owning organization id").option("--slug <slug>").option("-f, --format <format>").action(async e=>{try{let t={name:e.name,description:e.description,tenantId:e.tenant,organizationId:e.organization,slug:e.slug},n=await I(q,{input:t});g(`Workspace created: ${n.createWorkspace.name}`),l(e,n.createWorkspace);}catch(t){c(t);}}),r.command("update").description("Update a workspace").argument("<id>").option("--name <s>").option("--description <s>").option("--status <s>").option("-f, --format <format>").action(async(e,t)=>{try{let n={};if(t.name&&(n.name=t.name),t.description!==void 0&&(n.description=t.description),t.status&&(n.status=t.status.toUpperCase()),!Object.keys(n).length)throw new u("No updates specified");let a=await I(M,{id:e,input:n});g("Workspace updated"),l(t,a.updateWorkspace);}catch(n){c(n);}}),r.command("delete").description("Delete a workspace (workspace layer)").argument("<id>").action(async e=>{try{await f(L,{id:e}),g("Workspace deleted");}catch(t){c(t);}});let i=r.command("members").description("Workspace member management");i.command("list").description("List members of a workspace").requiredOption("--workspace <id>").option("--limit <n>","Page size",e=>parseInt(e,10),100).option("-f, --format <format>").action(async e=>{try{let t=await f(j,{workspaceId:e.workspace,pagination:{limit:e.limit,offset:0}});l(e,t.workspaceMembers.items,{headers:["ID","UserID","Role","Status","Joined"],rows:t.workspaceMembers.items.map(n=>[x(n.id,12),x(n.userId,12),n.role??"-",v(n.status),R(n.createdAt)])});}catch(t){c(t);}}),i.command("add").description("Add a member to a workspace").requiredOption("--workspace <id>").requiredOption("--user <userId>").option("--role <r>","MEMBER|ADMIN|OWNER","MEMBER").option("-f, --format <format>").action(async e=>{try{let t={workspaceId:e.workspace,userId:e.user,role:(e.role??"MEMBER").toUpperCase()},n=await f(N,{input:t});g("Member added"),l(e,n.addWorkspaceMember);}catch(t){c(t);}}),i.command("remove").description("Remove a member by membership id").argument("<membershipId>").action(async e=>{try{await f(F,{id:e}),g("Member removed");}catch(t){c(t);}}),i.command("role").description("Update member role").requiredOption("--workspace <id>").requiredOption("--user <userId>").requiredOption("--role <r>").action(async e=>{try{let t={workspaceId:e.workspace,userId:e.user,roles:[e.role.toUpperCase()]};await f(U,{input:t}),g("Member role updated");}catch(t){c(t);}});let s=r.command("projects").description("Workspace projects");s.command("list").description("List projects").option("--workspace <id>").option("--limit <n>","Page size",e=>parseInt(e,10),100).option("-f, --format <format>").action(async e=>{try{let t={};e.workspace&&(t.workspaceId=e.workspace);let n=await f(z,{filter:Object.keys(t).length?t:void 0,pagination:{limit:e.limit,offset:0}});l(e,n.projects.items,{headers:["ID","Name","Workspace","Status","Created"],rows:n.projects.items.map(a=>[x(a.id,12),a.name,x(a.workspaceId,12),v(a.status),R(a.createdAt)])});}catch(t){c(t);}}),s.command("get").description("Get a project").argument("<id>").option("-f, --format <format>").action(async(e,t)=>{try{let n=await f(G,{id:e});if(!n.project)throw new u(`Project ${e} not found`);l(t,n.project);}catch(n){c(n);}}),s.command("create").description("Create a project").requiredOption("--workspace <id>").requiredOption("--name <name>").option("--description <s>").option("-f, --format <format>").action(async e=>{try{let t={workspaceId:e.workspace,name:e.name,description:e.description},n=await f(K,{input:t});g("Project created"),l(e,n.createProject);}catch(t){c(t);}}),r.command("invite").description("Workspace invitations").command("accept").description("Accept a workspace invitation").argument("<invitationId>").action(async e=>{try{await f(B,{id:e}),g("Invitation accepted");}catch(t){c(t);}}),r.command("activity").description("Workspace activity log").requiredOption("--workspace <id>").option("--limit <n>","Page size",e=>parseInt(e,10),100).option("-f, --format <format>").action(async e=>{try{let t=await f(V,{workspaceId:e.workspace,limit:e.limit,offset:0});l(e,t.getWorkspaceActivities);}catch(t){c(t);}});}var ae={id:"workspaces",version:"1.0.0",displayName:"Workspaces",dependsOn:["auth"],register(r,i){$(i),D(r);let s=r.commands.find(o=>o.name()==="workspace");if(!s)throw new m("workspace command group missing after registerWorkspaceCommands");H(s);}},At=ae;module.exports=At;
90
+ `;function J(r){r.command("get").description("Get a workspace by id").argument("<id>").option("-f, --format <format>").action(async(e,t)=>{try{let n=await I(q,{id:e});if(!n.workspace)throw new d(`Workspace ${e} not found`);l(t,n.workspace);}catch(n){c(n);}}),r.command("create").description("Create a workspace (global layer)").requiredOption("--name <name>").option("--description <s>").option("--tenant <id>","Target tenant id").option("--organization <id>","Owning organization id").option("--slug <slug>").option("-f, --format <format>").action(async e=>{try{let t={name:e.name,description:e.description,tenantId:e.tenant,organizationId:e.organization,slug:e.slug},n=await I(L,{input:t});g(`Workspace created: ${n.createWorkspace.name}`),l(e,n.createWorkspace);}catch(t){c(t);}}),r.command("update").description("Update a workspace").argument("<id>").option("--name <s>").option("--description <s>").option("--status <s>").option("-f, --format <format>").action(async(e,t)=>{try{let n={};if(t.name&&(n.name=t.name),t.description!==void 0&&(n.description=t.description),t.status&&(n.status=t.status.toUpperCase()),!Object.keys(n).length)throw new d("No updates specified");let a=await I(M,{id:e,input:n});g("Workspace updated"),l(t,a.updateWorkspace);}catch(n){c(n);}}),r.command("delete").description("Delete a workspace (workspace layer)").argument("<id>").action(async e=>{try{await f(j,{id:e}),g("Workspace deleted");}catch(t){c(t);}});let i=r.command("members").description("Workspace member management");i.command("list").description("List members of a workspace").requiredOption("--workspace <id>").option("--limit <n>","Page size",e=>parseInt(e,10),100).option("-f, --format <format>").action(async e=>{try{let t=await f(N,{workspaceId:e.workspace,pagination:{limit:e.limit,offset:0}});l(e,t.workspaceMembers.items,{headers:["ID","UserID","Role","Status","Joined"],rows:t.workspaceMembers.items.map(n=>[x(n.id,12),x(n.userId,12),n.role??"-",O(n.status),R(n.createdAt)])});}catch(t){c(t);}}),i.command("add").description("Add a member to a workspace").requiredOption("--workspace <id>").requiredOption("--user <userId>").option("--role <r>","MEMBER|ADMIN|OWNER","MEMBER").option("-f, --format <format>").action(async e=>{try{let t={workspaceId:e.workspace,userId:e.user,role:(e.role??"MEMBER").toUpperCase()},n=await f(F,{input:t});g("Member added"),l(e,n.addWorkspaceMember);}catch(t){c(t);}}),i.command("remove").description("Remove a member by membership id").argument("<membershipId>").action(async e=>{try{await f(U,{id:e}),g("Member removed");}catch(t){c(t);}}),i.command("role").description("Update member role").requiredOption("--workspace <id>").requiredOption("--user <userId>").requiredOption("--role <r>").action(async e=>{try{let t={workspaceId:e.workspace,userId:e.user,roles:[e.role.toUpperCase()]};await f(z,{input:t}),g("Member role updated");}catch(t){c(t);}});let s=r.command("projects").description("Workspace projects");s.command("list").description("List projects").option("--workspace <id>").option("--limit <n>","Page size",e=>parseInt(e,10),100).option("-f, --format <format>").action(async e=>{try{let t={};e.workspace&&(t.workspaceId=e.workspace);let n=await f(G,{filter:Object.keys(t).length?t:void 0,pagination:{limit:e.limit,offset:0}});l(e,n.projects.items,{headers:["ID","Name","Workspace","Status","Created"],rows:n.projects.items.map(a=>[x(a.id,12),a.name,x(a.workspaceId,12),O(a.status),R(a.createdAt)])});}catch(t){c(t);}}),s.command("get").description("Get a project").argument("<id>").option("-f, --format <format>").action(async(e,t)=>{try{let n=await f(K,{id:e});if(!n.project)throw new d(`Project ${e} not found`);l(t,n.project);}catch(n){c(n);}}),s.command("create").description("Create a project").requiredOption("--workspace <id>").requiredOption("--name <name>").option("--description <s>").option("-f, --format <format>").action(async e=>{try{let t={workspaceId:e.workspace,name:e.name,description:e.description},n=await f(B,{input:t});g("Project created"),l(e,n.createProject);}catch(t){c(t);}}),r.command("invite").description("Workspace invitations").command("accept").description("Accept a workspace invitation").argument("<invitationId>").action(async e=>{try{await f(V,{id:e}),g("Invitation accepted");}catch(t){c(t);}}),r.command("activity").description("Workspace activity log").requiredOption("--workspace <id>").option("--limit <n>","Page size",e=>parseInt(e,10),100).option("-f, --format <format>").action(async e=>{try{let t=await f(H,{workspaceId:e.workspace,limit:e.limit,offset:0});l(e,t.getWorkspaceActivities);}catch(t){c(t);}});}var ce={id:"workspaces",version:"1.0.0",displayName:"Workspaces",dependsOn:["auth"],register(r,i){D(i),_(r);let s=r.commands.find(o=>o.name()==="workspace");if(!s)throw new m("workspace command group missing after registerWorkspaceCommands");J(s);}},Ot=ce;module.exports=Ot;
@@ -1,4 +1,4 @@
1
- import { C as CliModule } from '../../module-DxCuik6L.cjs';
1
+ import { C as CliModule } from '../../module-DOIiVaXQ.cjs';
2
2
  import 'commander';
3
3
  import 'graphql-request';
4
4
 
@@ -1,4 +1,4 @@
1
- import { C as CliModule } from '../../module-DxCuik6L.js';
1
+ import { C as CliModule } from '../../module-DOIiVaXQ.js';
2
2
  import 'commander';
3
3
  import 'graphql-request';
4
4