@testmuai/kane-cli 0.3.7 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/{ChromeProfilePicker-CBF6SP67.js → ChromeProfilePicker-27QCT4NT.js} +1 -1
  2. package/dist/{CliFeedbackPrompt-P2FJBV3S.js → CliFeedbackPrompt-LMXDRY5F.js} +1 -1
  3. package/dist/{CliUploadProgress-B4CVWX62.js → CliUploadProgress-QP5SPC7G.js} +1 -1
  4. package/dist/ConfigView-RQM2JY4K.js +2 -0
  5. package/dist/FolderPicker-YN2YQJXI.js +2 -0
  6. package/dist/HelpView-2IYG5AC3.js +2 -0
  7. package/dist/{InfoBox-SYT7CVM4.js → InfoBox-JELKGWY5.js} +1 -1
  8. package/dist/{LinksBox-R3VLKMYS.js → LinksBox-NUSUOUIW.js} +1 -1
  9. package/dist/{ProfilesView-XKUXSFMQ.js → ProfilesView-RXYI2IS3.js} +1 -1
  10. package/dist/{ProjectPicker-TWTR6SWR.js → ProjectPicker-RUR7HH2P.js} +1 -1
  11. package/dist/{SaveSessionPrompt-WAVXAYCK.js → SaveSessionPrompt-GUBVAQ3O.js} +1 -1
  12. package/dist/SingleShotApp-3XDTU2BU.js +2 -0
  13. package/dist/SummaryBox-5Y2YYOUM.js +2 -0
  14. package/dist/TestMdRunView-PPZPUVVZ.js +2 -0
  15. package/dist/{WhoamiView-YG6SSQTV.js → WhoamiView-IJZUFJ7B.js} +1 -1
  16. package/dist/{changelog-M5VP33UN.js → changelog-N4SSER5V.js} +1 -1
  17. package/dist/chunk-3C7ATCDM.js +2 -0
  18. package/dist/chunk-3Z4EHIOW.js +2 -0
  19. package/dist/chunk-5TOE4RHH.js +2 -0
  20. package/dist/chunk-6IQWD272.js +2 -0
  21. package/dist/{chunk-VUIXILBR.js → chunk-6NEJEMA6.js} +8 -8
  22. package/dist/{chunk-KX7K3Y7R.js → chunk-7G7ZLAJH.js} +1 -1
  23. package/dist/{chunk-X5CCG35O.js → chunk-7RPMUEEN.js} +1 -1
  24. package/dist/{chunk-PQGNWC33.js → chunk-AT2Y5UNP.js} +1 -1
  25. package/dist/chunk-BKXTOQWL.js +5 -0
  26. package/dist/chunk-CGAX3AXA.js +2 -0
  27. package/dist/chunk-CKY3UXTY.js +2 -0
  28. package/dist/chunk-DTFPHZE7.js +62 -0
  29. package/dist/chunk-H4XV224I.js +6 -0
  30. package/dist/chunk-H6OVTXJQ.js +2 -0
  31. package/dist/chunk-HN7DVSVI.js +11 -0
  32. package/dist/chunk-HYVAYSRZ.js +2 -0
  33. package/dist/chunk-IH45REQA.js +2 -0
  34. package/dist/chunk-J37YPPCD.js +2 -0
  35. package/dist/chunk-JCR3T34A.js +20 -0
  36. package/dist/chunk-JLOY7SNA.js +14 -0
  37. package/dist/chunk-L3RTVAPG.js +6 -0
  38. package/dist/chunk-LMV2F35W.js +2 -0
  39. package/dist/chunk-LRF6UP42.js +10 -0
  40. package/dist/chunk-M5RHRHFC.js +9 -0
  41. package/dist/{chunk-QKM3RHSQ.js → chunk-O2UU4TS5.js} +1 -1
  42. package/dist/chunk-PKQJHIKJ.js +2 -0
  43. package/dist/{chunk-74MJWDIW.js → chunk-PN7LNQ7G.js} +1 -1
  44. package/dist/{chunk-L256AYYL.js → chunk-PWHFNSDC.js} +1 -1
  45. package/dist/{chunk-BDC7IOXP.js → chunk-SJ7VGRQU.js} +11 -11
  46. package/dist/chunk-TAEW7PXN.js +2 -0
  47. package/dist/chunk-UJZCMEEH.js +8 -0
  48. package/dist/chunk-UVBDUDSL.js +2 -0
  49. package/dist/chunk-VS2BXLH4.js +2 -0
  50. package/dist/chunk-VTDVK3DK.js +2 -0
  51. package/dist/chunk-XQXSPUIX.js +2 -0
  52. package/dist/generate-headless-7UYAPXE5.js +18 -0
  53. package/dist/index.js +34 -38
  54. package/dist/{login-flow-3YFO62HA.js → login-flow-LK7GAUCZ.js} +1 -1
  55. package/dist/persist-recorded-session-VEFILVPX.js +3 -0
  56. package/dist/{pipeline-L3VM7QEX.js → pipeline-3GVPCDRE.js} +1 -1
  57. package/dist/{recording-banner-Q66Y2UIC.js → recording-banner-WS4Y7LVH.js} +1 -1
  58. package/dist/run-test-md-SXZUOYSG.js +14 -0
  59. package/dist/tcg-generate-CEBFKKJE.js +2 -0
  60. package/dist/testmd-actions-IZPOBSTC.js +2 -0
  61. package/dist/{validate-basic-JJOEAFLT.js → validate-basic-Y73NBDAD.js} +1 -1
  62. package/dist/{version-check-WWOS4OEZ.js → version-check-LNKXGYZE.js} +1 -1
  63. package/package.json +5 -5
  64. package/dist/ConfigView-PCX3TZNC.js +0 -2
  65. package/dist/FolderPicker-UTY6XQHP.js +0 -2
  66. package/dist/HelpView-CDK7II5Q.js +0 -2
  67. package/dist/SingleShotApp-JH6A65TZ.js +0 -2
  68. package/dist/SummaryBox-FDNFQYSC.js +0 -2
  69. package/dist/TestMdRunView-E4UDWIGT.js +0 -2
  70. package/dist/chunk-2SXNPFGD.js +0 -2
  71. package/dist/chunk-5XTLIGWL.js +0 -2
  72. package/dist/chunk-EIZXV3UH.js +0 -2
  73. package/dist/chunk-G7VF5SDK.js +0 -10
  74. package/dist/chunk-HROFBRMS.js +0 -5
  75. package/dist/chunk-JHNEE2MB.js +0 -2
  76. package/dist/chunk-KMTNMUVS.js +0 -8
  77. package/dist/chunk-LYSEA5FB.js +0 -6
  78. package/dist/chunk-MJQ2EHSC.js +0 -2
  79. package/dist/chunk-OQZG3V6B.js +0 -2
  80. package/dist/chunk-PJMTAAZ7.js +0 -2
  81. package/dist/chunk-PYU2JPAY.js +0 -2
  82. package/dist/chunk-QCNKJUPT.js +0 -2
  83. package/dist/chunk-R7JZMKC7.js +0 -9
  84. package/dist/chunk-TP6KYKPD.js +0 -2
  85. package/dist/chunk-U4XV5KUD.js +0 -2
  86. package/dist/chunk-VS5FTXRZ.js +0 -13
  87. package/dist/chunk-WZCGEQ6M.js +0 -2
  88. package/dist/chunk-X7VI7KK3.js +0 -11
  89. package/dist/chunk-YX3YFXT5.js +0 -2
  90. package/dist/chunk-ZAUHYR76.js +0 -2
  91. package/dist/chunk-ZY4BZQHD.js +0 -2
  92. package/dist/persist-recorded-session-LVQLORT4.js +0 -3
  93. package/dist/run-test-md-5TNUTTEA.js +0 -64
  94. package/dist/testmd-actions-O4NTH2OR.js +0 -20
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b,c}from"./chunk-QCNKJUPT.js";import"./chunk-PQGNWC33.js";import"./chunk-HCBYKLMW.js";import"./chunk-5XTLIGWL.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{c as ChromeProfilePicker,b as formatChromeProfileLine,a as listChromeProfiles};
2
+ import{a,b,c}from"./chunk-HYVAYSRZ.js";import"./chunk-AT2Y5UNP.js";import"./chunk-HCBYKLMW.js";import"./chunk-3Z4EHIOW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{c as ChromeProfilePicker,b as formatChromeProfileLine,a as listChromeProfiles};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as r}from"./chunk-PYU2JPAY.js";import"./chunk-PQGNWC33.js";import"./chunk-HCBYKLMW.js";import"./chunk-5XTLIGWL.js";import{c as e}from"./chunk-C44QQJR4.js";import{a as i}from"./chunk-6YGTRKDT.js";import{e as m}from"./chunk-UR6MHSHU.js";var t=m(i(),1);async function d(){return new Promise(o=>{let c=e(t.default.createElement(r,{onSubmit:n=>{c.unmount(),o(n)}}),{stdout:process.stderr,exitOnCtrlC:!1})})}export{d as renderFeedbackPrompt};
2
+ import{a as r}from"./chunk-H6OVTXJQ.js";import"./chunk-AT2Y5UNP.js";import"./chunk-HCBYKLMW.js";import"./chunk-3Z4EHIOW.js";import{c as e}from"./chunk-C44QQJR4.js";import{a as i}from"./chunk-6YGTRKDT.js";import{e as m}from"./chunk-UR6MHSHU.js";var t=m(i(),1);async function d(){return new Promise(o=>{let c=e(t.default.createElement(r,{onSubmit:n=>{c.unmount(),o(n)}}),{stdout:process.stderr,exitOnCtrlC:!1})})}export{d as renderFeedbackPrompt};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as P,b as g,c as f}from"./chunk-EIZXV3UH.js";import"./chunk-TP6KYKPD.js";import{a as c}from"./chunk-HCBYKLMW.js";import"./chunk-5XTLIGWL.js";import{c as d}from"./chunk-C44QQJR4.js";import{a as h}from"./chunk-6YGTRKDT.js";import{e as p}from"./chunk-UR6MHSHU.js";var e=p(h(),1);var m=p(c(),1);function w({pipeline:t,buildShareUrl:r,onDone:o}){let[n,i]=(0,e.useState)(P()),[S,l]=(0,e.useState)("uploading"),[U,R]=(0,e.useState)(),[C,E]=(0,e.useState)();return(0,e.useEffect)(()=>{let x=t.config.onProgress;t.config.onProgress=(s,u,a)=>{x(s,u,a),i(y=>g(y,s,u,a))},t.execute().then(s=>{s.success?(R(r?.(s)),l("success")):(E(s.error),l("failed")),setTimeout(()=>o(s),1500)})},[]),(0,m.jsx)(f,{steps:n,status:S,testUrl:U,error:C})}async function O(t,r){return new Promise(o=>{let n=d(e.default.createElement(w,{pipeline:t,buildShareUrl:r,onDone:i=>{n.unmount(),o(i)}}),{stdout:process.stderr,exitOnCtrlC:!1})})}export{O as renderUploadProgress};
2
+ import{a as P,b as g,c as f}from"./chunk-6IQWD272.js";import"./chunk-VS2BXLH4.js";import{a as c}from"./chunk-HCBYKLMW.js";import"./chunk-3Z4EHIOW.js";import{c as d}from"./chunk-C44QQJR4.js";import{a as h}from"./chunk-6YGTRKDT.js";import{e as p}from"./chunk-UR6MHSHU.js";var e=p(h(),1);var m=p(c(),1);function w({pipeline:t,buildShareUrl:r,onDone:o}){let[n,i]=(0,e.useState)(P()),[S,l]=(0,e.useState)("uploading"),[U,R]=(0,e.useState)(),[C,E]=(0,e.useState)();return(0,e.useEffect)(()=>{let x=t.config.onProgress;t.config.onProgress=(s,u,a)=>{x(s,u,a),i(y=>g(y,s,u,a))},t.execute().then(s=>{s.success?(R(r?.(s)),l("success")):(E(s.error),l("failed")),setTimeout(()=>o(s),1500)})},[]),(0,m.jsx)(f,{steps:n,status:S,testUrl:U,error:C})}async function O(t,r){return new Promise(o=>{let n=d(e.default.createElement(w,{pipeline:t,buildShareUrl:r,onDone:i=>{n.unmount(),o(i)}}),{stdout:process.stderr,exitOnCtrlC:!1})})}export{O as renderUploadProgress};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a as m,b as l,c as r}from"./chunk-VTDVK3DK.js";import{a as f}from"./chunk-HCBYKLMW.js";import{t as o}from"./chunk-3Z4EHIOW.js";import{a as t,j as u}from"./chunk-C44QQJR4.js";import{a as C}from"./chunk-6YGTRKDT.js";import{e as n}from"./chunk-UR6MHSHU.js";var d=n(C(),1);var e=n(f(),1);function D({model:c,authLabel:s,profile:g,env:p,defaultUrl:i,projectId:b,folderId:v,windowSize:x,chromeProfile:w}){let{exit:a}=u();return(0,d.useEffect)(()=>{let B=setTimeout(()=>a(),50);return()=>clearTimeout(B)},[a]),(0,e.jsx)(t,{flexDirection:"column",children:(0,e.jsx)(m,{title:"Configuration",children:(0,e.jsxs)(t,{flexDirection:"column",paddingY:1,children:[(0,e.jsx)(r,{label:"Auth"}),(0,e.jsx)(l,{label:" method",value:s}),(0,e.jsx)(l,{label:" profile",value:g}),(0,e.jsx)(l,{label:" env",value:p}),(0,e.jsx)(r,{label:"Defaults"}),(0,e.jsx)(l,{label:" url",value:i??"(none)",valueColor:i?o.orange:o.dim}),(0,e.jsx)(l,{label:" model",value:c}),(0,e.jsx)(l,{label:" window",value:x}),(0,e.jsx)(l,{label:" project",value:b??"(none)"}),(0,e.jsx)(l,{label:" folder",value:v??"(none)"}),(0,e.jsx)(r,{label:"Paths"}),(0,e.jsx)(l,{label:" chrome",value:w,valueColor:o.dim})]})})})}export{D as ConfigView};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a,b}from"./chunk-CKY3UXTY.js";import"./chunk-YCCUBQY4.js";import"./chunk-TAEW7PXN.js";import"./chunk-J37YPPCD.js";import"./chunk-AT2Y5UNP.js";import"./chunk-HCBYKLMW.js";import"./chunk-3Z4EHIOW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-7CLUJYMW.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-UR6MHSHU.js";export{b as FolderPicker,a as formatFolderLine};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a as T}from"./chunk-HCBYKLMW.js";import{a as f,b as i,t}from"./chunk-3Z4EHIOW.js";import{a as n,b as o,j as p,k as x}from"./chunk-C44QQJR4.js";import{a as b}from"./chunk-6YGTRKDT.js";import{e as h}from"./chunk-UR6MHSHU.js";var w=h(b(),1);var e=h(T(),1),S="https://www.testmuai.com/support/docs/kane-cli-introduction",v="https://github.com/LambdaTest/kane-cli/issues";function k(){let{exit:l}=p(),{stdout:r}=x(),c=r?.columns??80;return(0,w.useEffect)(()=>{let m=setTimeout(()=>l(),50);return()=>clearTimeout(m)},[l]),(0,e.jsxs)(n,{flexDirection:"column",children:[(0,e.jsxs)(n,{paddingX:1,paddingTop:1,flexDirection:"column",children:[(0,e.jsx)(o,{color:t.orange,bold:!0,children:i}),(0,e.jsxs)(n,{children:[(0,e.jsx)(o,{color:t.dim,children:"Browser automation powered by AI "}),(0,e.jsxs)(o,{color:t.muted,children:[" v",f]})]})]}),(0,e.jsx)(o,{children:" "}),(0,e.jsxs)(d,{title:"USAGE",children:[(0,e.jsx)(g,{cmd:`${i}`,desc:"Single-shot prompt (no args, TTY)"}),(0,e.jsx)(g,{cmd:`${i} --tui`,desc:"Full interactive TUI",highlight:!0}),(0,e.jsx)(g,{cmd:`${i} run "<objective>"`,desc:"Inline objective"}),(0,e.jsx)(g,{cmd:`${i} testmd run <path>.md`,desc:"Replay a saved *_test.md file"})]}),(0,e.jsxs)(d,{title:"HELP",children:[(0,e.jsx)(g,{cmd:`${i} --help`,desc:"Show this help (long form)"}),(0,e.jsx)(g,{cmd:`${i} -h`,desc:"Show this help (short form)"}),(0,e.jsx)(g,{cmd:`${i} help`,desc:"Show this help (subcommand form)"}),(0,e.jsxs)(n,{marginLeft:2,marginTop:0,flexDirection:"column",children:[(0,e.jsxs)(o,{color:t.dim,children:["These are the only supported help invocations. Anything else (e.g. ",(0,e.jsx)(o,{color:t.orange,children:"-help"}),") is an unknown flag."]}),(0,e.jsxs)(o,{color:t.dim,children:["Terminal tab-completion is a shell feature; ",i," does not ship shell-completion scripts, so any flag your shell suggests is a generic guess \u2014 not from ",i,"."]})]})]}),(0,e.jsxs)(d,{title:"COMMANDS",children:[(0,e.jsx)(a,{cmd:"run",args:"<objective>",desc:"Run an objective (inline string)",highlight:!0}),(0,e.jsx)(a,{cmd:"testmd",args:"run|list|status|delete|export",desc:"Manage *_test.md files"}),(0,e.jsx)(a,{cmd:"login",desc:"Auth setup (interactive, --oauth, or --username)"}),(0,e.jsx)(a,{cmd:"logout",desc:"Revoke tokens + delete profile"}),(0,e.jsx)(a,{cmd:"whoami",desc:"Show authenticated identity"}),(0,e.jsx)(a,{cmd:"config",args:"show|set-\u2026|reset",desc:"Manage configuration"}),(0,e.jsx)(a,{cmd:"profiles",args:"list|switch|delete",desc:"Manage auth profiles"}),(0,e.jsx)(a,{cmd:"changelog",args:"[--all]",desc:"Show recent release notes"})]}),(0,e.jsxs)(d,{title:"TESTMD ACTIONS",children:[(0,e.jsx)(a,{cmd:"testmd run",args:"<path>",desc:"Replay a saved *_test.md file",highlight:!0}),(0,e.jsx)(a,{cmd:"testmd list",desc:"List *_test.md files in cwd (recursive)"}),(0,e.jsx)(a,{cmd:"testmd status",args:"<path>",desc:"Print local meta.json for a test"}),(0,e.jsx)(a,{cmd:"testmd delete",args:"<path>",desc:"Remove output-<stem>/ and the source file"}),(0,e.jsx)(a,{cmd:"testmd export",args:"<path> --language <py|js>",desc:"Generate standalone Playwright code"})]}),(0,e.jsxs)(d,{title:"RUN FLAGS",children:[(0,e.jsx)(s,{long:"--max-steps",arg:"<n>",desc:"Max agent steps (default: 30)"}),(0,e.jsx)(s,{long:"--timeout",arg:"<sec>",desc:"Kill run after N seconds"}),(0,e.jsx)(s,{long:"--headless",desc:"No visible browser window"}),(0,e.jsx)(s,{long:"--mode",arg:"<action|testing>",desc:"Run mode (default: testing)"}),(0,e.jsx)(s,{long:"--name",arg:"<name>",desc:"Persist session under this name"}),(0,e.jsx)(s,{long:"--variables",arg:"<json>",desc:"Inline variables as JSON"}),(0,e.jsx)(s,{long:"--variables-file",arg:"<path>",desc:"Load variables from file"}),(0,e.jsx)(s,{long:"--session-context",arg:"<json>",desc:"Prior runs context JSON"}),(0,e.jsx)(s,{long:"--global-context",arg:"<file>",desc:"Override global context markdown"}),(0,e.jsx)(s,{long:"--local-context",arg:"<file>",desc:"Override local context markdown"}),(0,e.jsx)(s,{long:"--ws-endpoint",arg:"<url>",desc:"Remote browser (LambdaTest)"}),(0,e.jsx)(s,{long:"--cdp-endpoint",arg:"<url>",desc:"Connect to existing Chrome CDP"}),(0,e.jsx)(s,{long:"--task-skills",desc:"Domain-specific task skills (experimental)"}),(0,e.jsx)(s,{long:"--code-export",desc:"Generate code export after upload"}),(0,e.jsx)(s,{long:"--code-language",arg:"<lang>",desc:"Code export language: python | javascript"}),(0,e.jsx)(s,{long:"--skip-code-validation",desc:"Skip post-codegen validation"}),(0,e.jsx)(s,{long:"--username",arg:"<user>",desc:"Basic auth (skip OAuth)"}),(0,e.jsx)(s,{long:"--access-key",arg:"<key>",desc:"Basic auth access key"}),(0,e.jsx)(s,{long:"--env",arg:"<name>",desc:"Environment (prod or stage)"}),(0,e.jsx)(s,{long:"--agent",desc:"NDJSON output (no UI)",highlight:!0})]}),(0,e.jsxs)(d,{title:"EXAMPLES",children:[(0,e.jsx)(u,{label:"Inline objective",cmd:`${i} run "Search for laptop"`}),(0,e.jsx)(u,{label:"Replay a saved test",cmd:`${i} testmd run smoke_test.md`}),(0,e.jsx)(u,{label:"Variables",cmd:`${i} run "Login as {{user}}" --variables '{"user":{"value":"alice"}}'`}),(0,e.jsx)(u,{label:"Agent mode (NDJSON)",cmd:`${i} run "Add to cart" --agent | jq .status`})]}),(0,e.jsx)(d,{title:"TEST FILES",children:(0,e.jsxs)(n,{marginLeft:2,flexDirection:"column",children:[(0,e.jsxs)(o,{color:t.dim,children:[(0,e.jsx)(o,{color:t.orange,children:"*_test.md"})," \u2014 markdown test files with YAML frontmatter and ",(0,e.jsx)(o,{color:t.orange,children:"## "}),"step headings."]}),(0,e.jsxs)(o,{color:t.dim,children:["Run with ",(0,e.jsxs)(o,{color:t.orange,children:[i," testmd run path/to/foo_test.md"]}),". (`.md` paths are not accepted by `",i," run`.)"]}),(0,e.jsxs)(o,{color:t.dim,children:["Sessions you run in TUI auto-save to ",(0,e.jsx)(o,{color:t.orange,children:"<cwd>/.testmuai/tests/<name>_test.md"})," (testing mode prompts on exit)."]})]})}),(0,e.jsxs)(n,{flexDirection:"column",marginTop:0,paddingX:1,children:[(0,e.jsx)(o,{color:t.muted,children:"\u2500".repeat(Math.min(c-2,70))}),(0,e.jsxs)(n,{gap:3,children:[(0,e.jsxs)(n,{children:[(0,e.jsx)(o,{color:t.dim,children:"Docs "}),(0,e.jsx)(o,{color:t.orange,underline:!0,children:S})]}),(0,e.jsxs)(n,{children:[(0,e.jsx)(o,{color:t.dim,children:"Bugs "}),(0,e.jsx)(o,{color:t.orange,underline:!0,children:v})]})]})]}),(0,e.jsx)(o,{children:" "})]})}function d({title:l,children:r}){return(0,e.jsxs)(n,{flexDirection:"column",marginBottom:1,children:[(0,e.jsx)(n,{marginLeft:1,children:(0,e.jsx)(o,{bold:!0,color:t.dim,children:l})}),r]})}function g({cmd:l,desc:r,highlight:c}){return(0,e.jsxs)(n,{marginLeft:2,children:[(0,e.jsxs)(n,{width:40,children:[(0,e.jsx)(o,{color:t.dim,children:"$ "}),(0,e.jsx)(o,{color:c?t.orange:t.orange,children:l})]}),(0,e.jsx)(o,{color:t.dim,children:r})]})}function a({cmd:l,args:r,desc:c,highlight:m}){return(0,e.jsxs)(n,{marginLeft:2,children:[(0,e.jsx)(n,{width:16,children:(0,e.jsx)(o,{color:m?t.orange:t.green,bold:!0,children:l})}),(0,e.jsx)(n,{width:32,children:r?(0,e.jsx)(o,{color:t.dim,children:r}):null}),(0,e.jsx)(o,{color:t.dim,children:c})]})}function s({long:l,arg:r,desc:c,highlight:m}){return(0,e.jsxs)(n,{marginLeft:2,children:[(0,e.jsxs)(n,{width:30,children:[(0,e.jsx)(o,{color:m?t.orange:t.orange,children:l}),r&&(0,e.jsxs)(o,{color:t.dim,children:[" ",r]})]}),(0,e.jsx)(o,{color:t.dim,children:c})]})}function u({label:l,cmd:r}){return(0,e.jsxs)(n,{marginLeft:2,flexDirection:"column",children:[(0,e.jsxs)(o,{color:t.dim,children:["# ",l]}),(0,e.jsxs)(o,{color:t.orange,children:["$ ",r]})]})}export{k as HelpView};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a}from"./chunk-MJQ2EHSC.js";import"./chunk-U4XV5KUD.js";import"./chunk-HCBYKLMW.js";import"./chunk-5XTLIGWL.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{a as InfoBox};
2
+ import{a}from"./chunk-5TOE4RHH.js";import"./chunk-VTDVK3DK.js";import"./chunk-HCBYKLMW.js";import"./chunk-3Z4EHIOW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{a as InfoBox};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a}from"./chunk-ZAUHYR76.js";import"./chunk-HCBYKLMW.js";import"./chunk-5XTLIGWL.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{a as LinksBox};
2
+ import{a}from"./chunk-XQXSPUIX.js";import"./chunk-HCBYKLMW.js";import"./chunk-3Z4EHIOW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{a as LinksBox};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b}from"./chunk-PJMTAAZ7.js";import"./chunk-PQGNWC33.js";import"./chunk-HCBYKLMW.js";import"./chunk-5XTLIGWL.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{b as ProfilesView,a as formatProfileLine};
2
+ import{a,b}from"./chunk-LMV2F35W.js";import"./chunk-AT2Y5UNP.js";import"./chunk-HCBYKLMW.js";import"./chunk-3Z4EHIOW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{b as ProfilesView,a as formatProfileLine};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b}from"./chunk-L256AYYL.js";import"./chunk-YCCUBQY4.js";import"./chunk-WZCGEQ6M.js";import"./chunk-JHNEE2MB.js";import"./chunk-PQGNWC33.js";import"./chunk-HCBYKLMW.js";import"./chunk-5XTLIGWL.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-7CLUJYMW.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-UR6MHSHU.js";export{b as ProjectPicker,a as formatProjectLine};
2
+ import{a,b}from"./chunk-PWHFNSDC.js";import"./chunk-YCCUBQY4.js";import"./chunk-TAEW7PXN.js";import"./chunk-J37YPPCD.js";import"./chunk-AT2Y5UNP.js";import"./chunk-HCBYKLMW.js";import"./chunk-3Z4EHIOW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-7CLUJYMW.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-UR6MHSHU.js";export{b as ProjectPicker,a as formatProjectLine};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b,c}from"./chunk-ZY4BZQHD.js";import"./chunk-S3DAAAE5.js";import"./chunk-MJQ2EHSC.js";import"./chunk-U4XV5KUD.js";import"./chunk-HCBYKLMW.js";import"./chunk-5XTLIGWL.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{a as SaveSessionPrompt,b as defaultSessionTimestamp,c as renderSavePrompt};
2
+ import{a,b,c}from"./chunk-CGAX3AXA.js";import"./chunk-S3DAAAE5.js";import"./chunk-5TOE4RHH.js";import"./chunk-VTDVK3DK.js";import"./chunk-HCBYKLMW.js";import"./chunk-3Z4EHIOW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{a as SaveSessionPrompt,b as defaultSessionTimestamp,c as renderSavePrompt};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a}from"./chunk-PKQJHIKJ.js";import"./chunk-M5RHRHFC.js";import"./chunk-SJ7VGRQU.js";import"./chunk-L5LI2JF4.js";import"./chunk-UJZCMEEH.js";import"./chunk-LRF6UP42.js";import"./chunk-PWHFNSDC.js";import"./chunk-CKY3UXTY.js";import"./chunk-YCCUBQY4.js";import"./chunk-TAEW7PXN.js";import"./chunk-VE3SUJMA.js";import"./chunk-7G7ZLAJH.js";import"./chunk-BPF7TDRU.js";import"./chunk-WAOCHXJ5.js";import"./chunk-J37YPPCD.js";import"./chunk-AT2Y5UNP.js";import"./chunk-HCBYKLMW.js";import"./chunk-3Z4EHIOW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-7CLUJYMW.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-UR6MHSHU.js";export{a as SingleShotApp};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a,b,c,d}from"./chunk-IH45REQA.js";import"./chunk-5TOE4RHH.js";import"./chunk-VTDVK3DK.js";import"./chunk-HCBYKLMW.js";import"./chunk-3Z4EHIOW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{d as AutoExitSummaryBox,c as SummaryBox,b as buildSummaryEvent,a as buildSummaryRendered};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{h as a}from"./chunk-BKXTOQWL.js";import"./chunk-PN7LNQ7G.js";import"./chunk-VS2BXLH4.js";import"./chunk-LRF6UP42.js";import"./chunk-J37YPPCD.js";import"./chunk-5TOE4RHH.js";import"./chunk-VTDVK3DK.js";import"./chunk-HCBYKLMW.js";import"./chunk-3Z4EHIOW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{a as TestMdRunView};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as s,b as o}from"./chunk-U4XV5KUD.js";import{a as x}from"./chunk-HCBYKLMW.js";import{t as i}from"./chunk-5XTLIGWL.js";import{a as r,b as n,j as u}from"./chunk-C44QQJR4.js";import{a as B}from"./chunk-6YGTRKDT.js";import{e as t}from"./chunk-UR6MHSHU.js";var p=t(B(),1);var e=t(x(),1);function R({profile:f,env:g,authenticated:a,authMethod:v,username:m,tokenStatus:l,expiresAt:c}){let{exit:d}=u();return(0,p.useEffect)(()=>{let b=setTimeout(()=>d(),50);return()=>clearTimeout(b)},[d]),(0,e.jsx)(r,{flexDirection:"column",children:(0,e.jsx)(s,{title:"Identity",variant:a?"success":"warning",children:(0,e.jsxs)(r,{flexDirection:"column",paddingY:1,children:[(0,e.jsx)(r,{children:a?(0,e.jsx)(n,{color:i.green,bold:!0,children:"\u2713 Authenticated"}):(0,e.jsx)(n,{color:i.yellow,bold:!0,children:"\u26A0 Not logged in"})}),(0,e.jsxs)(r,{flexDirection:"column",marginTop:1,children:[(0,e.jsx)(o,{label:"Profile",value:f}),(0,e.jsx)(o,{label:"Environment",value:g}),(0,e.jsx)(o,{label:"Method",value:v}),m&&(0,e.jsx)(o,{label:"User",value:m}),l&&(0,e.jsx)(o,{label:"Token",value:l,valueColor:l==="valid"?i.green:l==="expired"?i.red:i.dimmed}),c&&(0,e.jsx)(o,{label:"Expires",value:c})]})]})})})}export{R as WhoamiView};
2
+ import{a as s,b as o}from"./chunk-VTDVK3DK.js";import{a as x}from"./chunk-HCBYKLMW.js";import{t as i}from"./chunk-3Z4EHIOW.js";import{a as r,b as n,j as u}from"./chunk-C44QQJR4.js";import{a as B}from"./chunk-6YGTRKDT.js";import{e as t}from"./chunk-UR6MHSHU.js";var p=t(B(),1);var e=t(x(),1);function R({profile:f,env:g,authenticated:a,authMethod:v,username:c,tokenStatus:l,expiresAt:m}){let{exit:d}=u();return(0,p.useEffect)(()=>{let b=setTimeout(()=>d(),50);return()=>clearTimeout(b)},[d]),(0,e.jsx)(r,{flexDirection:"column",children:(0,e.jsx)(s,{title:"Identity",variant:a?"success":"warning",children:(0,e.jsxs)(r,{flexDirection:"column",paddingY:1,children:[(0,e.jsx)(r,{children:a?(0,e.jsx)(n,{color:i.green,bold:!0,children:"\u2713 Authenticated"}):(0,e.jsx)(n,{color:i.orange,bold:!0,children:"\u26A0 Not logged in"})}),(0,e.jsxs)(r,{flexDirection:"column",marginTop:1,children:[(0,e.jsx)(o,{label:"Profile",value:f}),(0,e.jsx)(o,{label:"Environment",value:g}),(0,e.jsx)(o,{label:"Method",value:v}),c&&(0,e.jsx)(o,{label:"User",value:c}),l&&(0,e.jsx)(o,{label:"Token",value:l,valueColor:l==="valid"?i.green:l==="expired"?i.red:i.dim}),m&&(0,e.jsx)(o,{label:"Expires",value:m})]})]})})})}export{R as WhoamiView};
@@ -1,4 +1,4 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{c as i,f as c}from"./chunk-5XTLIGWL.js";import{a as l}from"./chunk-RZ4F3BHX.js";import"./chunk-UR6MHSHU.js";import{readFileSync as u,writeFileSync as g,mkdirSync as d}from"fs";import{join as f}from"path";var h=f(i,"changelog-cache.json"),p=3600*1e3;function y(){try{let e=JSON.parse(u(h,"utf-8"));if(Date.now()-e.cachedAt<p)return e}catch{}return null}function m(e){try{d(i,{recursive:!0}),g(h,JSON.stringify({entries:e,cachedAt:Date.now()}))}catch{}}async function A(e){try{let t=y();if(t){let r=t.entries;return e?.all?r:r.slice(0,5)}let n=new AbortController,o=setTimeout(()=>n.abort(),5e3),a=await l(`${c}?per_page=30`,{headers:{Accept:"application/vnd.github+json"},signal:n.signal});if(clearTimeout(o),!a.ok)return[];let s=(await a.json()).map(r=>({version:r.tag_name.replace(/^v/,""),date:r.published_at?r.published_at.slice(0,10):"",body:r.body??""}));return m(s),e?.all?s:s.slice(0,5)}catch{return[]}}function v(e){if(e.length===0)return"Could not fetch changelog. Visit https://github.com/LambdaTest/kane-cli/releases";let t=["kane-cli Changelog","\u2500".repeat(40),""];for(let n of e){if(t.push(`v${n.version} (${n.date})`),n.body){let o=n.body.split(`
2
+ import{c as i,f as c}from"./chunk-3Z4EHIOW.js";import{a as l}from"./chunk-RZ4F3BHX.js";import"./chunk-UR6MHSHU.js";import{readFileSync as u,writeFileSync as g,mkdirSync as d}from"fs";import{join as f}from"path";var h=f(i,"changelog-cache.json"),p=3600*1e3;function y(){try{let e=JSON.parse(u(h,"utf-8"));if(Date.now()-e.cachedAt<p)return e}catch{}return null}function m(e){try{d(i,{recursive:!0}),g(h,JSON.stringify({entries:e,cachedAt:Date.now()}))}catch{}}async function A(e){try{let t=y();if(t){let r=t.entries;return e?.all?r:r.slice(0,5)}let n=new AbortController,o=setTimeout(()=>n.abort(),5e3),a=await l(`${c}?per_page=30`,{headers:{Accept:"application/vnd.github+json"},signal:n.signal});if(clearTimeout(o),!a.ok)return[];let s=(await a.json()).map(r=>({version:r.tag_name.replace(/^v/,""),date:r.published_at?r.published_at.slice(0,10):"",body:r.body??""}));return m(s),e?.all?s:s.slice(0,5)}catch{return[]}}function v(e){if(e.length===0)return"Could not fetch changelog. Visit https://github.com/LambdaTest/kane-cli/releases";let t=["kane-cli Changelog","\u2500".repeat(40),""];for(let n of e){if(t.push(`v${n.version} (${n.date})`),n.body){let o=n.body.split(`
3
3
  `).filter(a=>a.trim());for(let a of o)t.push(` ${a}`)}t.push("")}return t.join(`
4
4
  `)}export{A as fetchChangelog,v as formatChangelog};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{b as f}from"./chunk-7G7ZLAJH.js";import{a as h}from"./chunk-BPF7TDRU.js";import{a as d}from"./chunk-J37YPPCD.js";var c=class extends Error{constructor(i,s){super(i);this.code=s;this.name="AuthError"}};async function v(r){let o=r.credentials.expires_at,i=r.thresholdSeconds??300;if(o-Date.now()/1e3>=i)return null;let s=r.creds.loadClient(r.profile,r.env);if(!s)return null;let e=await new f(r.env).refreshToken(r.credentials.refresh_token,s.client_id),t=Math.floor(Date.now()/1e3)+e.expires_in;return r.creds.saveCredentials(r.profile,r.env,{access_token:e.access_token,refresh_token:e.refresh_token,expires_at:t,scope:e.scope}),{accessToken:e.access_token,refreshToken:e.refresh_token,expiresAt:t,scope:e.scope}}async function j(r){let{creds:o,env:i,usernameFlag:s,accessKeyFlag:m,log:e}=r,t=null,u=null;if(s&&m)t={username:s,access_key:m},e("info","AUTH_RESOLVE_FLAGS","Auth resolved via CLI flags",{username:s});else{let n=o.resolveAuth();n?.method==="basic"&&(t={username:n.username,access_key:n.access_key},e("info","AUTH_RESOLVE_CONFIG","Auth resolved via config",{username:n.username}))}if(!t){let{credentials:n,profile:E}=o.getActiveCredentials();if(!n)throw new c("Not authenticated \u2014 no credentials found","not_authenticated");if(u=n.access_token,n.expires_at-Date.now()/1e3<300)try{let a=await v({creds:o,profile:E,env:i,credentials:n});a&&(u=a.accessToken,e("info","AUTH_TOKEN_REFRESHED","OAuth token refreshed"))}catch(a){let g=a instanceof Error?a.message:String(a);throw e("error","TOKEN_REFRESH_FAILED","Token refresh failed",{error:g}),new c(`Token refresh failed: ${g}`,"refresh_failed")}}let b=d(i),y=async()=>u,x=t?{username:t.username,access_key:t.access_key}:null,p=new h(b.controllerBaseUrl,y,x,e),l=await p.resolve();return l&&!t&&(t={username:l.username,access_key:l.access_key},e("info","AUTH_RESOLVE_CONTROLLER","Auth resolved via controller",{username:l.username})),{basicAuth:t,token:u,resolver:p,resolvedCreds:l}}export{v as a,c as b,j as c};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{homedir as s}from"os";import{join as t}from"path";var c="0.4.0",l="kane-cli",e=t(s(),".testmuai","kaneai"),m=t(e,"profiles"),i=t(e,"tui-config.json"),d="https://registry.npmjs.org/@testmuai/kane-cli",h="https://api.github.com/repos/LambdaTest/kane-cli/releases",g="https://dd-proxy.lambdatest.com/intake/kane-cli",U="https://kaneai-playground.lambdatest.io",b=9222,_=9230,u=t(e,"chrome-profiles"),r="127.0.0.1",x=18392,A=18400,o="/callback";function R(a){return`http://${r}:${a}${o}`}var L="KANE CLI",B="*",C={prod:{authBaseUrl:"https://auth.lambdatest.com",consentUrl:"https://accounts.lambdatest.com",controllerBaseUrl:"https://kaneai-api.lambdatest.com/v16-controller/v1",tmsBaseUrl:"https://test-manager-api.lambdatest.com/api",testGeneratorBaseUrl:"https://test-manager-api.lambdatest.com",secretsBaseUrl:"https://api-hyperexecute.lambdatest.com",testManagerUiUrl:"https://test-manager.lambdatest.com",shareApiBaseUrl:"https://api.lambdatest.com",v16ServerHost:"https://kaneai-api.lambdatest.com/v16-server"},stage:{authBaseUrl:"https://stage-auth.lambdatestinternal.com",consentUrl:"https://stage-accounts.lambdatestinternal.com",controllerBaseUrl:"https://auteur-stage-automind.lambdatestinternal.com/v16-controller/v1",tmsBaseUrl:"https://stage-test-manager-api.lambdatestinternal.com/api",testGeneratorBaseUrl:"https://stage-test-manager-api.lambdatestinternal.com",secretsBaseUrl:"https://api-stage-hyperexecute.lambdatestinternal.com",testManagerUiUrl:"https://stage-test-manager.lambdatestinternal.com",shareApiBaseUrl:"https://stage-api.lambdatestinternal.com",v16ServerHost:"https://auteur-stage-automind.lambdatestinternal.com/v16-server"}},E={orange:"#ff9500",generateAccent:"#0d9488",purple:"#b388ff",secondary:"#888888",dim:"#666666",muted:"#444444",green:"#4ade80",red:"#ef4444"};export{c as a,l as b,e as c,i as d,d as e,h as f,g,U as h,b as i,_ as j,u as k,r as l,x as m,A as n,o,R as p,L as q,B as r,C as s,E as t};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a as u,b as x}from"./chunk-VTDVK3DK.js";import{a as f}from"./chunk-HCBYKLMW.js";import{t as m}from"./chunk-3Z4EHIOW.js";import{a as r,b as i}from"./chunk-C44QQJR4.js";import{e as n}from"./chunk-UR6MHSHU.js";var e=n(f(),1);function C({title:B,titleColor:c,borderColor:d,variant:p,rows:s,footer:t,labelWidth:l=14,marginBottom:b=1}){return(0,e.jsxs)(u,{title:B,titleColor:c,borderColor:d,variant:p,marginBottom:b,children:[s.map((o,a)=>typeof o.value=="string"?(0,e.jsx)(x,{label:o.label,value:o.value,valueColor:o.valueColor,labelWidth:l},`${o.label}-${a}`):(0,e.jsxs)(r,{children:[(0,e.jsx)(r,{width:l,children:(0,e.jsx)(i,{color:m.dim,children:o.label})}),o.value]},`${o.label}-${a}`)),t&&(0,e.jsx)(r,{marginTop:1,children:t})]})}export{C as a};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{b as f}from"./chunk-VS2BXLH4.js";import{a as x}from"./chunk-HCBYKLMW.js";import{t}from"./chunk-3Z4EHIOW.js";import{a as r,b as n}from"./chunk-C44QQJR4.js";import{a as B}from"./chunk-6YGTRKDT.js";import{e as p}from"./chunk-UR6MHSHU.js";var c=p(B(),1);var e=p(x(),1);function v(){return[{name:"convert",label:"Converting session data",status:"pending"},{name:"zip",label:"Compressing artifacts",status:"pending"},{name:"presign",label:"Requesting upload URLs",status:"pending"},{name:"upload",label:"Uploading to KaneAI",status:"pending"},{name:"atomic_replace",label:"Replacing local output",status:"pending"},{name:"commit_lock",label:"Committing to TMS",status:"pending"},{name:"finalize",label:"Finalizing test case",status:"pending"},{name:"code_export",label:"Downloading test code",status:"pending"}]}function U(s,o,d,a){return s.map(l=>l.name===o?{...l,status:d,detail:a}:l)}function R(s){let o=s/1e3;if(o<60)return`${o.toFixed(1)}s`;let d=Math.floor(o/60),a=Math.round(o%60);return`${d}m ${a}s`}function D(s){let[o,d]=(0,c.useState)(0),a=c.default.useRef(Date.now());return(0,c.useEffect)(()=>{if(!s)return;a.current=Date.now();let l=setInterval(()=>{d(Date.now()-a.current)},100);return()=>clearInterval(l)},[s]),o}function h({steps:s,status:o,testUrl:d,error:a}){let l=D(o==="uploading");return o==="uploading"?(0,e.jsxs)(r,{flexDirection:"column",paddingX:1,paddingY:1,children:[(0,e.jsxs)(r,{children:[(0,e.jsx)(n,{color:t.orange,children:"\u2601 "}),(0,e.jsx)(n,{color:t.orange,bold:!0,children:"Saving to KaneAI"}),(0,e.jsxs)(n,{color:t.dim,children:[" ",R(l)]})]}),(0,e.jsx)(r,{flexDirection:"column",marginTop:1,children:s.filter(i=>i.status!=="skipped").map((i,S,T)=>{let b=S===T.length-1?"\u2514\u2500":"\u251C\u2500",u=i.status==="done",m=i.status==="running",g=i.status==="failed";return(0,e.jsxs)(r,{children:[(0,e.jsxs)(n,{color:t.dim,children:[" ",b," "]}),(0,e.jsx)(r,{width:3,children:m?(0,e.jsx)(f,{}):u?(0,e.jsx)(n,{color:t.green,children:"\u2713"}):g?(0,e.jsx)(n,{color:t.red,children:"\u2717"}):(0,e.jsx)(n,{color:t.muted,children:"\u25CB"})}),(0,e.jsx)(n,{color:u?t.dim:m?void 0:g?t.red:t.muted,children:i.label}),i.detail&&(0,e.jsxs)(n,{color:t.dim,children:[" ",i.detail]})]},i.name)})}),(0,e.jsx)(r,{marginTop:1,children:(0,e.jsx)(n,{color:t.muted,children:" press Ctrl+C twice to force exit"})})]}):o==="success"?(0,e.jsx)(e.Fragment,{}):(0,e.jsxs)(r,{flexDirection:"column",paddingX:1,paddingY:1,children:[(0,e.jsxs)(r,{children:[(0,e.jsx)(n,{color:t.red,children:"\u2601 "}),(0,e.jsx)(n,{color:t.red,bold:!0,children:"Save failed"})]}),a&&(0,e.jsxs)(r,{marginTop:0,children:[(0,e.jsx)(n,{color:t.dim,children:" "}),(0,e.jsx)(n,{color:t.dim,children:a})]})]})}export{v as a,U as b,h as c};