quantex-cli 1.8.10 → 1.8.12

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 (90) hide show
  1. package/dist/{agent-installation-kc9hcr-X.mjs → agent-installation-pNsgwXb9.mjs} +1 -1
  2. package/dist/{agent-observation-BCVGmyXs.mjs → agent-observation-CwtWTGGR.mjs} +1 -1
  3. package/dist/agents-BX-dLvjD.mjs +1 -0
  4. package/dist/{agents-NLmPBxqh.mjs → agents-DqoBOUq7.mjs} +1 -1
  5. package/dist/{capabilities-DC2RpSHD.mjs → capabilities-BFPcyntd.mjs} +1 -1
  6. package/dist/capabilities-C-oWByEQ.mjs +1 -0
  7. package/dist/{cli-operation-context-BhNiJdQ3.mjs → cli-operation-context-BFEu635L.mjs} +1 -1
  8. package/dist/cli-operation-context-D-7o4gXx.mjs +1 -0
  9. package/dist/cli.mjs +1 -1
  10. package/dist/{color-FZclrXnv.mjs → color-iQl4CJwm.mjs} +1 -1
  11. package/dist/{commands-B4k92ruG.mjs → commands-D1q4K0yE.mjs} +1 -1
  12. package/dist/commands-h2c3xqyY.mjs +1 -0
  13. package/dist/{config-Cl-UIPas.mjs → config-BYgYHkKM.mjs} +1 -1
  14. package/dist/core-installation-cli-C0ae3SUn.mjs +1 -0
  15. package/dist/{core-read-observations-C1nmpO7L.mjs → core-read-observations-CHHS7xq2.mjs} +1 -1
  16. package/dist/detect-DL6buUVi.mjs +1 -0
  17. package/dist/{doctor-V8joWGlv.mjs → doctor-aF8IIiYS.mjs} +1 -1
  18. package/dist/ensure-B4ynayjb.mjs +1 -0
  19. package/dist/ensure-BgQ_jxNF.mjs +1 -0
  20. package/dist/errors-BsSS_i9A.mjs +1 -0
  21. package/dist/executable-search-paths-Do0aoA1z.mjs +1 -0
  22. package/dist/file-store-BdnwPxOg.mjs +2 -0
  23. package/dist/index.mjs +1 -1
  24. package/dist/{info-DnrS8LvU.mjs → info-EVHBg1nm.mjs} +1 -1
  25. package/dist/inspect-Cwz0pYtQ.mjs +1 -0
  26. package/dist/{inspect-Bss3yPw_.mjs → inspect-DJfaLc06.mjs} +1 -1
  27. package/dist/install-DMpMUIwN.mjs +1 -0
  28. package/dist/{installation-compatibility-Dt8LA4S9.mjs → installation-compatibility-B2FzfkdC.mjs} +1 -1
  29. package/dist/{installation-executor-DCbb9ysQ.mjs → installation-executor-pEUKT8U8.mjs} +1 -1
  30. package/dist/installation-failure-diagnostics-BJnxrzTa.mjs +1 -0
  31. package/dist/installation-production-DnHYEiSa.mjs +1 -0
  32. package/dist/{installation-provider-registry-CDpBEMLi.mjs → installation-provider-registry-AmLxw9hr.mjs} +1 -1
  33. package/dist/installation-routing-B1snz7YR.mjs +1 -0
  34. package/dist/{installation-routing-BEwlmhg8.mjs → installation-routing-n62Du1fV.mjs} +1 -1
  35. package/dist/lifecycle-observations-Be3ngmis.mjs +1 -0
  36. package/dist/{lifecycle-policy-CaeQPgx1.mjs → lifecycle-policy-B2DJsLmz.mjs} +1 -1
  37. package/dist/{list-74dBD8ZW.mjs → list-CwjEeX3F.mjs} +2 -2
  38. package/dist/{messages-qcLhD-Gc.mjs → messages-CoROK9f4.mjs} +1 -1
  39. package/dist/{npm-fDgYmVes.mjs → npm-CJQfKklg.mjs} +1 -1
  40. package/dist/output-DXP9RqRk.mjs +5 -0
  41. package/dist/production-observation-3CRKMj-q.mjs +1 -0
  42. package/dist/{provider-binding-D1muQsgD.mjs → provider-binding-DV5J36pp.mjs} +1 -1
  43. package/dist/{provider-evidence-BUp7nKNH.mjs → provider-evidence-Bn54ONe7.mjs} +1 -1
  44. package/dist/provider-observation-registry-BaeYlsr4.mjs +3 -0
  45. package/dist/{provider-observations-DXPTvmdK.mjs → provider-observations-wolD6I6_.mjs} +1 -1
  46. package/dist/{providers-DHm9wRvO.mjs → providers-AFXil8bm.mjs} +1 -1
  47. package/dist/{resolve-DiiMB5eg.mjs → resolve-CPLHsCmS.mjs} +1 -1
  48. package/dist/resolve-DkwAXDXK.mjs +1 -0
  49. package/dist/schema-DNGyzkMA.mjs +1 -0
  50. package/dist/{schema-BbCY-M45.mjs → schema-di33Hdvd.mjs} +1 -1
  51. package/dist/uninstall-CiqF5NbQ.mjs +1 -0
  52. package/dist/unmanaged-install-compatibility-a4mdM5HM.mjs +1 -0
  53. package/dist/{update-BPQfhb5D.mjs → update-Dbrry2-1.mjs} +1 -1
  54. package/dist/{update-planner-DIhkPXeI.mjs → update-planner-Cr9XVW1l.mjs} +1 -1
  55. package/dist/{upgrade-C5fuibZY.mjs → upgrade-CuLiLc-z.mjs} +1 -1
  56. package/dist/{user-output-B-zDs13K.mjs → user-output-DLbKXqDm.mjs} +1 -1
  57. package/dist/{version-cache-C5F6SycS.mjs → version-cache-CvZ20yUD.mjs} +1 -1
  58. package/dist/{winget-BVbhk2rg.mjs → winget-Q_NhfOhY.mjs} +1 -1
  59. package/package.json +1 -1
  60. package/dist/agents-2OsJw-_0.mjs +0 -1
  61. package/dist/capabilities-9kBQ4waf.mjs +0 -1
  62. package/dist/cli-operation-context-Da1gPsE9.mjs +0 -1
  63. package/dist/commands-Dca-7wq9.mjs +0 -1
  64. package/dist/core-installation-cli-B1OjKHKn.mjs +0 -1
  65. package/dist/detect-BdnZzKbm.mjs +0 -1
  66. package/dist/ensure-Bp1q9IGU.mjs +0 -1
  67. package/dist/ensure-DfCnX5lY.mjs +0 -1
  68. package/dist/errors-BxB8LWeu.mjs +0 -1
  69. package/dist/file-store-Caz7fnAB.mjs +0 -1
  70. package/dist/inspect-DShSVdqA.mjs +0 -1
  71. package/dist/install-BQULzQMq.mjs +0 -1
  72. package/dist/installation-production-CixkOc1k.mjs +0 -1
  73. package/dist/installation-routing-Ce-jeQYX.mjs +0 -1
  74. package/dist/lifecycle-observations-BpB12i3p.mjs +0 -1
  75. package/dist/output-CHksIR81.mjs +0 -6
  76. package/dist/production-observation-DqKQeVkF.mjs +0 -1
  77. package/dist/provider-observation-registry-SxHLNuhc.mjs +0 -3
  78. package/dist/resolve-DjKlu6Vz.mjs +0 -1
  79. package/dist/schema-C3Ukpdw2.mjs +0 -1
  80. package/dist/uninstall-t-pkP3Gt.mjs +0 -1
  81. package/dist/unmanaged-install-compatibility-CqwNBTW1.mjs +0 -1
  82. /package/dist/{cli-context-xudTdmO7.mjs → cli-context-DI43ouBg.mjs} +0 -0
  83. /package/dist/{errors-QBvXzYA-.mjs → errors-fT9JApTf.mjs} +0 -0
  84. /package/dist/{human-D52z36dT.mjs → human-BL2-F6cA.mjs} +0 -0
  85. /package/dist/{invocation-XbLUFnPY.mjs → invocation-DXH0mQUH.mjs} +0 -0
  86. /package/dist/{lifecycle-errors-B0bwmxkB.mjs → lifecycle-errors-BtlAp_sz.mjs} +0 -0
  87. /package/dist/{mutation-recipe-catalog-MVUziTOe.mjs → mutation-recipe-catalog-CAvXPw6l.mjs} +0 -0
  88. /package/dist/{registry-N9jeGQcX.mjs → registry-vhJzh8dW.mjs} +0 -0
  89. /package/dist/{schema-hCKyxJjR.mjs → schema-BBnWVY6R.mjs} +0 -0
  90. /package/dist/{types-D3y_n7iy.mjs → types-D0YMPN5w.mjs} +0 -0
@@ -1 +0,0 @@
1
- import{i as e,n as t,t as n}from"./schema-hCKyxJjR.mjs";import{r}from"./provider-binding-D1muQsgD.mjs";import{t as i}from"./agent-observation-BCVGmyXs.mjs";import{n as a,r as o,t as s}from"./provider-observation-registry-SxHLNuhc.mjs";import{isAbsolute as c,join as l,resolve as u}from"node:path";import d from"node:process";import{readFile as f,realpath as p}from"node:fs/promises";import{homedir as m}from"node:os";const h=[{binaryName:`amp`,displayName:`Amp`,homepage:`https://ampcode.com/`,name:`amp`,packages:{npm:`@sourcegraph/amp`},platforms:{linux:[{type:`bun`},{type:`npm`}],macos:[{type:`bun`},{type:`npm`}],windows:[{type:`bun`},{type:`npm`}]},versionProbe:{command:[`amp`,`version`]}},{binaryName:`agy`,displayName:`Antigravity CLI`,homepage:`https://antigravity.google/product/antigravity-cli`,lookupAliases:[`agy`,`antigravity-cli`],name:`antigravity`,platforms:{linux:[{command:`curl -fsSL https://antigravity.google/cli/install.sh | bash`,type:`script`}],macos:[{command:`curl -fsSL https://antigravity.google/cli/install.sh | bash`,type:`script`}],windows:[{command:`irm https://antigravity.google/cli/install.ps1 | iex`,type:`script`}]},versionProbe:{command:[`agy`,`--version`]}},{binaryName:`auggie`,displayName:`Auggie CLI`,homepage:`https://docs.augmentcode.com/cli/overview`,name:`auggie`,packages:{npm:`@augmentcode/auggie`},platforms:{linux:[{type:`bun`},{type:`npm`}],macos:[{type:`bun`},{type:`npm`}]},versionProbe:{command:[`auggie`,`--version`]}},{binaryName:`autohand`,displayName:`Autohand Code CLI`,homepage:`https://autohand.ai/cli/`,lookupAliases:[`autohand-cli`],name:`autohand`,packages:{npm:`autohand-cli`},platforms:{linux:[{command:`curl -fsSL https://autohand.ai/install.sh | bash`,type:`script`}],macos:[{command:`curl -fsSL https://autohand.ai/install.sh | bash`,type:`script`}],windows:[{command:`iwr -useb https://autohand.ai/install.ps1 | iex`,type:`script`}]},versionProbe:{command:[`autohand`,`--version`]}},{binaryName:`claude`,displayName:`Claude Code`,homepage:`https://code.claude.com/docs`,name:`claude`,packages:{npm:`@anthropic-ai/claude-code`},platforms:{linux:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://claude.ai/install.sh | bash`,type:`script`},{packageName:`claude-code`,packageTargetKind:`cask`,type:`brew`}],macos:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://claude.ai/install.sh | bash`,type:`script`},{packageName:`claude-code`,packageTargetKind:`cask`,type:`brew`}],windows:[{type:`bun`},{type:`npm`},{command:`irm https://claude.ai/install.ps1 | iex`,type:`script`},{packageName:`Anthropic.ClaudeCode`,packageTargetKind:`id`,type:`winget`}]}},{binaryName:`codebuddy`,displayName:`CodeBuddy Code`,homepage:`https://www.codebuddy.cn/docs/cli/installation`,lookupAliases:[`codebuddy-code`],name:`codebuddy`,packages:{npm:`@tencent-ai/codebuddy-code`},platforms:{linux:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://www.codebuddy.cn/cli/install.sh | bash`,type:`script`},{packageName:`Tencent-CodeBuddy/tap/codebuddy-code`,type:`brew`}],macos:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://www.codebuddy.cn/cli/install.sh | bash`,type:`script`},{packageName:`Tencent-CodeBuddy/tap/codebuddy-code`,type:`brew`}],windows:[{type:`bun`},{type:`npm`},{command:`irm https://www.codebuddy.cn/cli/install.ps1 | iex`,type:`script`}]},versionProbe:{command:[`codebuddy`,`--version`]}},{binaryName:`codewhale`,displayName:`CodeWhale`,homepage:`https://github.com/Hmbown/CodeWhale`,name:`codewhale`,packages:{npm:`codewhale`,cargo:`codewhale-cli`},platforms:{linux:[{type:`npm`},{packageInstallArgs:[`--locked`],type:`cargo`}],macos:[{type:`npm`},{packageInstallArgs:[`--locked`],type:`cargo`}],windows:[{type:`npm`},{packageInstallArgs:[`--locked`],type:`cargo`}]},versionProbe:{command:[`codewhale`,`--version`]}},{binaryName:`codex`,displayName:`Codex CLI`,homepage:`https://developers.openai.com/codex/cli`,name:`codex`,packages:{npm:`@openai/codex`,mise:`npm:@openai/codex`},platforms:{linux:[{type:`bun`},{type:`npm`},{type:`mise`},{packageName:`codex`,type:`brew`}],macos:[{type:`bun`},{type:`npm`},{type:`mise`},{packageName:`codex`,type:`brew`}],windows:[{type:`bun`},{type:`npm`},{type:`mise`}]}},{binaryName:`command-code`,displayName:`Command Code`,homepage:`https://commandcode.ai/docs/quickstart`,lookupAliases:[`command-code`,`cmd`,`cmdc`],name:`commandcode`,packages:{npm:`command-code`},platforms:{linux:[{type:`npm`}],macos:[{type:`npm`}],windows:[{type:`npm`}]},versionProbe:{command:[`command-code`,`--version`]}},{binaryName:`copilot`,displayName:`GitHub Copilot CLI`,homepage:`https://github.com/features/copilot/cli`,name:`copilot`,packages:{npm:`@github/copilot`},platforms:{linux:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://gh.io/copilot-install | bash`,type:`script`},{packageName:`copilot-cli`,type:`brew`}],macos:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://gh.io/copilot-install | bash`,type:`script`},{packageName:`copilot-cli`,type:`brew`}],windows:[{packageName:`GitHub.Copilot`,packageTargetKind:`id`,type:`winget`}]}},{binaryName:`crush`,displayName:`Crush`,homepage:`https://github.com/charmbracelet/crush`,name:`crush`,packages:{npm:`@charmland/crush`},platforms:{linux:[{type:`bun`},{type:`npm`},{packageName:`charmbracelet/tap/crush`,type:`brew`}],macos:[{type:`bun`},{type:`npm`},{packageName:`charmbracelet/tap/crush`,type:`brew`}],windows:[{type:`bun`},{type:`npm`},{packageName:`charmbracelet.crush`,packageTargetKind:`id`,type:`winget`}]},versionProbe:{command:[`crush`,`--version`]}},{binaryName:`agent`,displayName:`Cursor CLI`,homepage:`https://cursor.com/docs/cli`,lookupAliases:[`agent`],name:`cursor`,platforms:{linux:[{command:`curl https://cursor.com/install -fsS | bash`,type:`script`}],macos:[{command:`curl https://cursor.com/install -fsS | bash`,type:`script`}],windows:[{command:`irm 'https://cursor.com/install?win32=true' | iex`,type:`script`}]},versionProbe:{command:[`agent`,`--version`]}},{binaryName:`deepcode`,displayName:`Deep Code CLI`,homepage:`https://github.com/lessweb/deepcode-cli`,name:`deepcode`,packages:{npm:`@vegamo/deepcode-cli`},platforms:{linux:[{type:`npm`}],macos:[{type:`npm`}],windows:[{type:`npm`}]},versionProbe:{command:[`deepcode`,`--version`]}},{binaryName:`devin`,displayName:`Devin for Terminal`,homepage:`https://cli.devin.ai/`,name:`devin`,platforms:{linux:[{command:`curl -fsSL https://cli.devin.ai/install.sh | bash`,type:`script`}],macos:[{command:`curl -fsSL https://cli.devin.ai/install.sh | bash`,type:`script`}],windows:[{command:`irm https://static.devin.ai/cli/setup.ps1 | iex`,type:`script`}]},versionProbe:{command:[`devin`,`version`]}},{binaryName:`droid`,displayName:`Droid`,homepage:`https://docs.factory.ai/cli/getting-started/overview`,name:`droid`,packages:{npm:`droid`},platforms:{linux:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://app.factory.ai/cli | sh`,type:`script`},{packageName:`droid`,packageTargetKind:`cask`,type:`brew`}],macos:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://app.factory.ai/cli | sh`,type:`script`},{packageName:`droid`,packageTargetKind:`cask`,type:`brew`}],windows:[{type:`bun`},{type:`npm`},{command:`irm https://app.factory.ai/cli/windows | iex`,type:`script`}]}},{binaryName:`forge`,displayName:`ForgeCode`,homepage:`https://forgecode.dev`,lookupAliases:[`forge`],name:`forgecode`,packages:{npm:`forgecode`},platforms:{linux:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://forgecode.dev/cli | sh`,type:`script`}],macos:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://forgecode.dev/cli | sh`,type:`script`}],windows:[{type:`bun`},{type:`npm`},{command:`irm https://forgecode.dev/cli | iex`,type:`script`}]},versionProbe:{command:[`forge`,`--version`]}},{binaryName:`gemini`,displayName:`Gemini CLI`,homepage:`https://google-gemini.github.io/gemini-cli/docs/`,name:`gemini`,packages:{npm:`@google/gemini-cli`},platforms:{linux:[{type:`bun`},{type:`npm`},{packageName:`gemini-cli`,type:`brew`}],macos:[{type:`bun`},{type:`npm`},{packageName:`gemini-cli`,type:`brew`}],windows:[{type:`bun`},{type:`npm`}]}},{binaryName:`genie`,displayName:`Genie`,homepage:`https://jsr.io/@nicorio/genie`,name:`genie`,packages:{deno:`jsr:@nicorio/genie`},platforms:{linux:[{packageInstallArgs:[`-A`],type:`deno`}],macos:[{packageInstallArgs:[`-A`],type:`deno`}],windows:[{packageInstallArgs:[`-A`],type:`deno`}]}},{binaryName:`goose`,displayName:`Goose`,homepage:`https://github.com/aaif-goose/goose`,name:`goose`,platforms:{linux:[{command:`curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash`,type:`script`},{packageName:`block-goose-cli`,type:`brew`}],macos:[{command:`curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash`,type:`script`},{packageName:`block-goose-cli`,type:`brew`}],windows:[{command:`curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash`,type:`script`},{command:`Invoke-WebRequest -Uri "https://raw.githubusercontent.com/aaif-goose/goose/main/download_cli.ps1" -OutFile "download_cli.ps1"; ./download_cli.ps1`,type:`script`}]},versionProbe:{command:[`goose`,`--version`]}},{binaryName:`grok`,displayName:`Grok Build`,homepage:`https://docs.x.ai/build/overview`,lookupAliases:[`grok-build`],name:`grok`,platforms:{linux:[{command:`curl -fsSL https://x.ai/cli/install.sh | bash`,type:`script`}],macos:[{command:`curl -fsSL https://x.ai/cli/install.sh | bash`,type:`script`}],windows:[{command:`irm https://x.ai/cli/install.ps1 | iex`,type:`script`}]},versionProbe:{command:[`grok`,`--version`]}},{binaryName:`hermes`,displayName:`Hermes Agent`,homepage:`https://github.com/NousResearch/hermes-agent`,lookupAliases:[`hermes-agent`],name:`hermes`,platforms:{linux:[{command:`curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash`,type:`script`}],macos:[{command:`curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash`,type:`script`}],windows:[{command:`iex (irm https://hermes-agent.nousresearch.com/install.ps1)`,type:`script`}]},versionProbe:{command:[`hermes`,`--version`]}},{binaryName:`jcode`,displayName:`JCode`,homepage:`https://github.com/1jehuang/jcode`,name:`jcode`,platforms:{linux:[{command:`curl -fsSL https://raw.githubusercontent.com/1jehuang/jcode/master/scripts/install.sh | bash`,type:`script`}],macos:[{packageName:`1jehuang/jcode/jcode`,type:`brew`},{command:`curl -fsSL https://raw.githubusercontent.com/1jehuang/jcode/master/scripts/install.sh | bash`,type:`script`}],windows:[{command:`irm https://raw.githubusercontent.com/1jehuang/jcode/master/scripts/install.ps1 | iex`,type:`script`}]},versionProbe:{command:[`jcode`,`--version`]}},{binaryName:`junie`,displayName:`Junie CLI`,homepage:`https://junie.jetbrains.com/docs/junie-cli.html`,name:`junie`,packages:{npm:`@jetbrains/junie`},platforms:{linux:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://junie.jetbrains.com/install.sh | bash`,type:`script`},{packageName:`jetbrains-junie/junie/junie`,type:`brew`}],macos:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://junie.jetbrains.com/install.sh | bash`,type:`script`},{packageName:`jetbrains-junie/junie/junie`,type:`brew`}],windows:[{type:`bun`},{type:`npm`},{command:`iex (irm 'https://junie.jetbrains.com/install.ps1')`,type:`script`}]},versionProbe:{command:[`junie`,`--version`]}},{binaryName:`kilo`,displayName:`Kilo CLI`,homepage:`https://kilo.ai/docs/cli`,name:`kilo`,packages:{npm:`@kilocode/cli`},platforms:{linux:[{type:`bun`},{type:`npm`}],macos:[{type:`bun`},{type:`npm`}],windows:[{type:`bun`},{type:`npm`}]}},{binaryName:`kimi`,displayName:`Kimi Code`,homepage:`https://moonshotai.github.io/kimi-code/`,lookupAliases:[`kimi-code`,`kimi-cli`],name:`kimi`,packages:{npm:`@moonshot-ai/kimi-code`},platforms:{linux:[{command:`curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash`,type:`script`},{type:`npm`}],macos:[{command:`curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash`,type:`script`},{type:`npm`}],windows:[{command:`irm https://code.kimi.com/kimi-code/install.ps1 | iex`,type:`script`},{type:`npm`}]},versionProbe:{command:[`kimi`,`--version`]}},{binaryName:`kiro-cli`,displayName:`Kiro CLI`,homepage:`https://kiro.dev/cli/`,lookupAliases:[`kiro-cli`],name:`kiro`,platforms:{linux:[{command:`curl -fsSL https://cli.kiro.dev/install | bash`,type:`script`}],macos:[{command:`curl -fsSL https://cli.kiro.dev/install | bash`,type:`script`}],windows:[{command:`irm 'https://cli.kiro.dev/install.ps1' | iex`,type:`script`}]},versionProbe:{command:[`kiro-cli`,`--version`]}},{binaryName:`mimo`,displayName:`MiMoCode`,homepage:`https://github.com/XiaomiMiMo/MiMo-Code`,lookupAliases:[`mimocode`,`mimo-code`],name:`mimo`,packages:{npm:`@mimo-ai/cli`},platforms:{linux:[{command:`curl -fsSL https://mimo.xiaomi.com/install | bash`,type:`script`},{type:`npm`}],macos:[{command:`curl -fsSL https://mimo.xiaomi.com/install | bash`,type:`script`},{type:`npm`}],windows:[{type:`npm`}]},versionProbe:{command:[`mimo`,`--version`]}},{binaryName:`omp`,displayName:`oh-my-pi (OMP)`,homepage:`https://github.com/can1357/oh-my-pi`,name:`omp`,packages:{npm:`@oh-my-pi/pi-coding-agent`},platforms:{linux:[{type:`bun`},{command:`curl -fsSL https://omp.sh/install | sh`,type:`script`}],macos:[{type:`bun`},{command:`curl -fsSL https://omp.sh/install | sh`,type:`script`}],windows:[{type:`bun`},{command:`irm https://omp.sh/install.ps1 | iex`,type:`script`}]},versionProbe:{command:[`omp`,`--version`]}},{binaryName:`openclaw`,displayName:`OpenClaw`,homepage:`https://github.com/openclaw/openclaw`,name:`openclaw`,packages:{npm:`openclaw`},platforms:{linux:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://openclaw.ai/install.sh | bash`,type:`script`}],macos:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://openclaw.ai/install.sh | bash`,type:`script`}],windows:[{type:`bun`},{type:`npm`},{command:`iwr -useb https://openclaw.ai/install.ps1 | iex`,type:`script`}]},versionProbe:{command:[`openclaw`,`--version`]}},{binaryName:`opencode`,displayName:`OpenCode`,homepage:`https://opencode.ai`,name:`opencode`,packages:{npm:`opencode-ai`},platforms:{linux:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://opencode.ai/install | bash`,type:`script`},{packageName:`anomalyco/tap/opencode`,type:`brew`}],macos:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://opencode.ai/install | bash`,type:`script`},{packageName:`anomalyco/tap/opencode`,type:`brew`}],windows:[{type:`bun`},{type:`npm`}]}},{binaryName:`openhands`,displayName:`OpenHands CLI`,homepage:`https://docs.openhands.dev/openhands/usage/cli/installation`,name:`openhands`,packages:{uv:`openhands`},platforms:{linux:[{packageInstallArgs:[`--python`,`3.12`],type:`uv`},{command:`curl -fsSL https://install.openhands.dev/install.sh | sh`,type:`script`}],macos:[{packageInstallArgs:[`--python`,`3.12`],type:`uv`},{command:`curl -fsSL https://install.openhands.dev/install.sh | sh`,type:`script`}]},versionProbe:{command:[`openhands`,`--version`]}},{binaryName:`pi`,displayName:`Pi`,homepage:`https://pi.dev`,name:`pi`,packages:{npm:`@mariozechner/pi-coding-agent`},platforms:{linux:[{type:`bun`},{type:`npm`}],macos:[{type:`bun`},{type:`npm`}],windows:[{type:`bun`},{type:`npm`}]}},{binaryName:`qodercli`,displayName:`Qoder CLI`,homepage:`https://docs.qoder.com/cli/quick-start`,lookupAliases:[`qodercli`],name:`qoder`,packages:{npm:`@qoder-ai/qodercli`},platforms:{linux:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://qoder.com/install | bash`,type:`script`},{packageName:`qoderai/qoder/qodercli`,packageTargetKind:`cask`,type:`brew`}],macos:[{type:`bun`},{type:`npm`},{command:`curl -fsSL https://qoder.com/install | bash`,type:`script`},{packageName:`qoderai/qoder/qodercli`,packageTargetKind:`cask`,type:`brew`}],windows:[{type:`bun`},{type:`npm`}]}},{binaryName:`qwen`,displayName:`Qwen Code`,homepage:`https://qwenlm.github.io/qwen-code-docs/`,name:`qwen`,packages:{npm:`@qwen-code/qwen-code`},platforms:{linux:[{command:`curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen.sh | bash`,type:`script`},{type:`bun`},{type:`npm`},{packageName:`qwen-code`,type:`brew`}],macos:[{command:`curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen.sh | bash`,type:`script`},{type:`bun`},{type:`npm`},{packageName:`qwen-code`,type:`brew`}],windows:[{command:`curl -fsSL -o %TEMP%\\install-qwen.bat https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen.bat && %TEMP%\\install-qwen.bat`,type:`script`},{type:`bun`},{type:`npm`}]}},{binaryName:`reasonix`,displayName:`Reasonix`,homepage:`https://github.com/esengine/DeepSeek-Reasonix`,lookupAliases:[`deepseek-reasonix`],name:`reasonix`,packages:{npm:`reasonix`},platforms:{linux:[{type:`npm`}],macos:[{type:`npm`}],windows:[{type:`npm`}]},versionProbe:{command:[`reasonix`,`--version`]}},{binaryName:`vibe`,displayName:`Mistral Vibe`,homepage:`https://docs.mistral.ai/mistral-vibe/terminal/install`,lookupAliases:[`mistral-vibe`],name:`vibe`,packages:{uv:`mistral-vibe`,pip:`mistral-vibe`},platforms:{linux:[{command:`curl -LsSf https://mistral.ai/vibe/install.sh | bash`,type:`script`},{packageName:`mistral-vibe`,type:`uv`},{packageName:`mistral-vibe`,type:`pip`}],macos:[{command:`curl -LsSf https://mistral.ai/vibe/install.sh | bash`,type:`script`},{packageName:`mistral-vibe`,type:`uv`},{packageName:`mistral-vibe`,type:`pip`}],windows:[{packageName:`mistral-vibe`,type:`uv`},{packageName:`mistral-vibe`,type:`pip`}]},versionProbe:{command:[`vibe`,`--version`]}},{binaryName:`vtcode`,displayName:`VTCode`,homepage:`https://github.com/vinhnx/vtcode`,name:`vtcode`,packages:{cargo:`vtcode`},platforms:{linux:[{command:`curl -fsSL https://raw.githubusercontent.com/vinhnx/vtcode/main/scripts/install.sh | bash`,type:`script`},{type:`cargo`},{packageName:`vtcode`,type:`brew`}],macos:[{command:`curl -fsSL https://raw.githubusercontent.com/vinhnx/vtcode/main/scripts/install.sh | bash`,type:`script`},{type:`cargo`},{packageName:`vtcode`,type:`brew`}],windows:[{type:`cargo`},{command:`irm https://raw.githubusercontent.com/vinhnx/vtcode/main/scripts/install.ps1 | iex`,type:`script`}]},versionProbe:{command:[`vtcode`,`--version`]}}];function g(){return h}function _(e){let t=h.find(t=>t.name===e||t.lookupAliases?.includes(e));if(t)return t;let n=v(e);return h.find(e=>v(e.displayName)===n)}function v(e){return e.trim().toLowerCase()}function y(e){return e===void 0?l(d.env.HOME||d.env.USERPROFILE||m(),`.quantex`):c(e)?e:u(e)}function b(e={}){let t=e.providerRegistry??s();return{async inspectAgent(e,n,r){let i=_(e);if(i)return S(i,n,t,r?.observationBinding)},async listAgents(e){return P(e.signal),g()}}}async function x(r){let i=l(r,`state.json`),a;try{a=await f(i,`utf8`)}catch(e){if(N(e))return t();throw e}let o;try{o=JSON.parse(a)}catch(e){throw new n(`state.json contains invalid JSON: ${I(e)}`)}return e(o).document}async function S(e,t,n,a){let[o,s]=await Promise.all([x(t.configDir),D(e,t.configDir,t.signal)]),c={registerCleanup:t.registerCleanup,signal:t.signal,timeoutMs:t.timeoutMs},l=await i(e,{clock:()=>new Date().toISOString(),inspectExecutable:()=>C(e,c),...a?{observationBinding:a}:{},platform:A(),preferredCatalogBinding:s[0]?r(e,s[0]):void 0,providerRegistry:n,readInstalledState:async e=>o.installedAgents[e],readReceipt:async e=>o.lifecycleReceipts[e],resolveExecutablePath:e=>E(e,t.signal),signal:t.signal,timeoutMs:t.timeoutMs,observeProvider:async e=>{let t=n.get(e.providerId);return t?t.observe({context:c,target:e.target}):{kind:`unavailable`,reason:`Provider ${e.providerId} is not registered.`,retryable:!1}}}),u=await E(l.pathExecutable.path,t.signal);return{agent:e,...l,methods:s,...u?{resolvedBinaryPath:u}:{}}}async function C(e,t){let n=await w(e.binaryName,t);if(!n)return{present:!1};let r=await E(n,t.signal)??n,i=await T(e,r,t);return{path:r,present:!0,...i?{version:i}:{}}}async function w(e,t){try{let n=await o([d.platform===`win32`?`where`:`which`,e],t);return n.exitCode===0&&n.stdout.trim().split(/\r?\n/u)[0]||void 0}catch(e){if(e instanceof a)throw e;return}}async function T(e,t,n){let r=e.versionProbe?.command??[e.binaryName,`--version`],i=r[0]===e.binaryName?[t,...r.slice(1)]:r;try{let t=await o(i,n);return t.exitCode===0?k(t.stdout,e.versionProbe?.parser)??k(t.stderr,e.versionProbe?.parser):void 0}catch(e){if(e instanceof a)throw e;return}}async function E(e,t){if(e){P(t);try{let n=await p(e);return P(t),n}catch{if(t.aborted)throw new a(F(t));return e}}}async function D(e,t,n){let r=e.platforms[A()]??[],i=await O(t,n);return[...r.filter(e=>e.type===i),...r.filter(e=>e.type!==i)]}async function O(e,t){P(t);try{let n=await f(l(e,`config.json`),`utf8`);P(t);let r=JSON.parse(n);if(M(r)&&j(r.defaultPackageManager))return r.defaultPackageManager}catch(e){if(t.aborted)throw new a(F(t));if(e instanceof a)throw e}return`bun`}function k(e,t){if(typeof t==`function`)return t(e);let n=e.trim().split(/\r?\n/u)[0];if(n)return n.match(/v?(\d+\.\d+\.\d+(?:-[a-z0-9.]+)?)/iu)?.[1]??n}function A(){return d.platform===`win32`?`windows`:d.platform===`darwin`?`macos`:`linux`}function j(e){return e===`bun`||e===`mise`||e===`npm`}function M(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function N(e){return!e||typeof e!=`object`||!(`code`in e)?!1:e.code===`ENOENT`||e.code===`ENOTDIR`}function P(e){if(e.aborted)throw new a(F(e))}function F(e){if(e.reason!==void 0)return e.reason instanceof Error?e.reason.message:String(e.reason)}function I(e){return e instanceof Error&&e.message?e.message:String(e)}export{y as n,b as t};
@@ -1,3 +0,0 @@
1
- import e from"cross-spawn";import{spawn as t}from"node:child_process";import{join as n}from"node:path";import r from"node:process";import{access as i,readFile as a}from"node:fs/promises";import{homedir as o}from"node:os";import{once as s}from"node:events";var c=class extends Error{kind=`cancelled`;constructor(e){super(`Core read-only process was cancelled.`),this.reason=e,this.name=`CoreProcessInterruptionError`}};async function l(t,n){if(n.signal.aborted)throw new c(h(n.signal));let[i,...a]=t;if(!i)throw Error(`A read-only command requires a non-empty argv array.`);let o=e(i,a,{detached:r.platform!==`win32`,stdio:[`ignore`,`pipe`,`pipe`],windowsHide:!0}),s=[],l=[];o.stdout?.on(`data`,e=>s.push(Buffer.from(e))),o.stderr?.on(`data`,e=>l.push(Buffer.from(e)));let f=!1,p,m,g=()=>p??=u(o),_=n.registerCleanup?.({cleanup:g,force:()=>m??=d(o)}),v,y=new Promise((e,t)=>{v=()=>{f||(f=!0,g().then(()=>t(new c(h(n.signal)))))},n.signal.addEventListener(`abort`,v,{once:!0}),n.signal.aborted&&v()}),b=new Promise((e,t)=>{o.once(`error`,t),o.once(`close`,t=>e(typeof t==`number`?t:1))}).then(e=>f?y:e);try{return{exitCode:await Promise.race([b,y]),stderr:Buffer.concat(l).toString(`utf8`),stdout:Buffer.concat(s).toString(`utf8`)}}finally{n.signal.removeEventListener(`abort`,v),_?.()}}async function u(e){r.platform===`win32`&&e.pid!==void 0&&await p(e.pid,t,100),f(e,`SIGTERM`),!await m(e,100)&&(f(e,`SIGKILL`),await m(e,250))}async function d(e){r.platform===`win32`&&e.pid!==void 0&&await p(e.pid,t,100),f(e,`SIGKILL`),await m(e,250)}function f(e,t){if(r.platform!==`win32`&&e.pid!==void 0)try{r.kill(-e.pid,t);return}catch{}try{e.kill(t)}catch{}}async function p(e,n=t,r=100){let i=n(`taskkill.exe`,[`/PID`,String(e),`/T`,`/F`],{stdio:[`ignore`,`ignore`,`ignore`],windowsHide:!0}),a,o=s(i,`close`).then(()=>!0,()=>!1),c=new Promise(e=>{a=setTimeout(()=>e(!1),r)}),l=await Promise.race([o,c]);if(a&&clearTimeout(a),l)return!0;try{i.kill(`SIGKILL`)}catch{}return!1}async function m(e,t){if(e.exitCode!==null||e.signalCode!==null)return!0;let n;try{return await Promise.race([new Promise(t=>e.once(`close`,()=>t(!0))),new Promise(e=>{n=setTimeout(()=>e(!1),t)})])}finally{n&&clearTimeout(n)}}function h(e){if(e.reason!==void 0)return e.reason instanceof Error?e.reason.message:String(e.reason)}const g={access:e=>i(e),env:r.env,homeDir:o,platform:r.platform,readFile:e=>a(e,`utf8`),runCommand:l};function _(e=g){return v([y(`bun`,`bun`,e,(t,n)=>S(t.id,n,e)),y(`npm`,`npm`,e,(t,n)=>w(t.id,n,e)),y(`brew`,`brew`,e,(t,n)=>T(t,n,e)),y(`cargo`,`cargo`,e,(t,n)=>E(t.id,n,e)),y(`deno`,`deno`,e,(t,n)=>D(t,n,e)),y(`mise`,`mise`,e,(t,n)=>O(t.id,n,e)),y(`pip`,`pip`,e,(t,n)=>k(t.id,n,e)),y(`uv`,`uv`,e,(t,n)=>A(t.id,n,e)),y(`winget`,`winget`,e,(t,n)=>j(t.id,n,e)),b(`script`,e),b(`binary`,e)])}function v(e){let t=Object.freeze([...e]),n=new Map(t.map(e=>[e.id,e]));if(n.size!==t.length)throw Error(`Duplicate Core provider observation adapter id.`);let r=Object.freeze([`availability`,`observe`]),i=Object.freeze([]);return Object.freeze({get:e=>n.get(e),getCapabilities:e=>n.has(e)?r:i,list:()=>t})}function y(e,t,n,r){return{availability:e=>x(t,e,n),id:e,async observe(t){let n=await r(t.target,t.context);return n.presence===`unknown`?{evidence:[{kind:`provider`,value:`${e}:${t.target.id}:presence-unknown`}],kind:`indeterminate`,reason:`${e} could not determine whether ${t.target.id} is installed`}:F({evidence:[{kind:`package`,value:n.presence===`absent`?`${e}:${t.target.id}:absent`:n.version?`${e}:${t.target.id}@${n.version}`:`${e}:${t.target.id}:present`}],kind:n.presence,target:t.target,...n.version?{version:n.version}:{}})}}}function b(e,t){return{availability:async e=>e.signal.aborted?I(e.signal):F({executable:t.platform===`win32`?`powershell.exe`:`sh`}),id:e,async observe(n){let r=n.target.binaryName;if(!r)return{evidence:[{kind:`provider`,value:`${e}:${n.target.id}:presence-unknown`}],kind:`indeterminate`,reason:`${e} candidate does not declare an executable presence probe`};let i=await M([t.platform===`win32`?`where`:`which`,r],n.context,t);return i?F({evidence:[{kind:`executable`,value:r}],kind:i.exitCode===0?`present`:`absent`,target:n.target}):{kind:`failed`,reason:`${e} executable probe failed for ${n.target.id}`,retryable:!0}}}}async function x(e,t,n){try{return(await n.runCommand([e,`--version`],t)).exitCode===0?F({executable:e}):{kind:`unavailable`,reason:`${e} executable is unavailable`}}catch(t){if(t instanceof c)throw t;return{kind:`unavailable`,reason:`${e} executable is unavailable`}}}async function S(e,t,r){let i=await M([`bun`,`pm`,`-g`,`ls`],t,r);if(!i)return{presence:`unknown`};if(!i.stdout.trim()){if(i.stderr.includes(`No package.json was found for directory`))return{presence:`absent`};if(!i.stderr.includes(`Lockfile not found`))return{presence:`unknown`};try{let t=r.env.BUN_INSTALL_GLOBAL_DIR??n(r.homeDir(),`.bun`,`install`,`global`);return{presence:P(await r.readFile(n(t,`package.json`)),e)}}catch{return{presence:`unknown`}}}let a=N(i.stdout,e);return a?{presence:`present`,version:a}:i.stdout.split(`
2
- `).some(t=>t.trim().split(/\s+/u).at(-1)?.startsWith(`${e}@`))?{presence:`present`}:await C(e,r,`absent`)}async function C(e,t,r){try{let r=t.env.BUN_INSTALL_GLOBAL_DIR??n(t.homeDir(),`.bun`,`install`,`global`);return{presence:P(await t.readFile(n(r,`package.json`)),e)}}catch{return{presence:r}}}async function w(e,t,n){let r=await M([`npm`,`list`,`-g`,e,`--depth=0`,`--json`],t,n);if(!r?.stdout.trim())return{presence:`unknown`};try{let t=JSON.parse(r.stdout);if(!R(t)||Object.hasOwn(t,`error`))return{presence:`unknown`};let n=t.dependencies?.[e];return n?typeof n.version==`string`?{presence:`present`,version:n.version}:{presence:`present`}:{presence:`absent`}}catch{return{presence:`unknown`}}}async function T(e,t,n){let r=await M([`brew`,`list`,e.kind===`cask`?`--cask`:`--formula`,`--versions`,e.id],t,n);if(!r)return{presence:`unknown`};let i=r.stdout.trim().split(/\s+/u).at(-1);if(r.exitCode===0)return i&&/^\d/u.test(i)?{presence:`present`,version:i}:{presence:`present`};let a=r.stderr.toLowerCase();return a.includes(`no such keg`)||a.includes(`is not installed`)?{presence:`absent`}:{presence:`unknown`}}async function E(e,t,n){let r=await M([`cargo`,`install`,`--list`],t,n);if(!r||r.exitCode!==0)return{presence:`unknown`};let i=e.replace(/[.*+?^${}()|[\]\\]/gu,`\\$&`),a=r.stdout.match(RegExp(`^${i}\\s+v([^:\\s]+):\\s*$`,`mu`))?.[1];return a?{presence:`present`,version:a}:{presence:`absent`}}async function D(e,t,r){if(t.signal.aborted)throw new c(B(t.signal));let i=e.binaryName?.trim()||e.id.trim().split(`/`).pop()?.replace(/@.*$/u,``);if(!i)return{presence:`unknown`};let a=r.env.DENO_INSTALL_ROOT?.trim()||n(r.homeDir(),`.deno`);try{if(await r.access(n(a,`bin`,i)),t.signal.aborted)throw new c(B(t.signal));return{presence:`present`}}catch(e){if(e instanceof c)throw e;return z(e)?{presence:`absent`}:{presence:`unknown`}}}async function O(e,t,n){let r=await M([`mise`,`ls`,`--installed`,`--json`,e],t,n);if(!r?.stdout.trim())return{presence:`unknown`};try{let t=JSON.parse(r.stdout);if(!R(t))return{presence:`unknown`};let n=e.split(`:`).pop()?.split(`/`).pop(),i=Array.isArray(t[e])?e:n&&Array.isArray(t[n])?n:void 0,a=i?t[i]:void 0;if(!Array.isArray(a)||a.length===0)return{presence:`absent`};let o=a.find(e=>R(e)&&typeof e.version==`string`);return R(o)&&typeof o.version==`string`?{presence:`present`,version:o.version}:{presence:`present`}}catch{return{presence:`unknown`}}}async function k(e,t,n){for(let r of[[`pip`],[`pip3`],[`python`,`-m`,`pip`],[`python3`,`-m`,`pip`]]){let i=await M([...r,`--version`],t,n);if(!i||i.exitCode!==0)continue;let a=await M([...r,`show`,e],t,n);if(!a)return{presence:`unknown`};if(a.exitCode===0){let e=a.stdout.split(/\r?\n/u).map(e=>/^Version:\s*(.+)\s*$/iu.exec(e.trim())?.[1]?.trim()).find(Boolean);return e?{presence:`present`,version:e}:{presence:`present`}}let o=a.stderr.toLowerCase();return o.includes(`package(s) not found`)||o.includes(`not found`)?{presence:`absent`}:{presence:`unknown`}}return{presence:`unknown`}}async function A(e,t,n){let r=await M([`uv`,`tool`,`list`],t,n);if(!r?.stdout.trim())return{presence:`unknown`};let i=L(e),a=!1;for(let e of r.stdout.split(/\r?\n/u)){let t=/^(\S+)\s+v([^\s]+)/u.exec(e.trim());if(t&&(a=!0,L(t[1])===i))return{presence:`present`,version:t[2]}}return a?{presence:`absent`}:{presence:`unknown`}}async function j(e,t,n){let r=await M([`winget`,`list`,`--id`,e,`-e`],t,n);if(!r)return{presence:`unknown`};if(r.exitCode===0){let t=e.toLowerCase();for(let e of r.stdout.split(/\r?\n/u)){let n=e.trim().split(/\s{2,}|\t+/u).map(e=>e.trim()).filter(Boolean),r=n.findIndex(e=>e.toLowerCase()===t);if(r>=0)return n[r+1]?{presence:`present`,version:n[r+1]}:{presence:`present`}}return r.stdout.toLowerCase().includes(t)?{presence:`present`}:{presence:`unknown`}}let i=`${r.stdout}\n${r.stderr}`.toLowerCase();return[`no installed package found`,`no package found matching input criteria`,`no installed package matched`].some(e=>i.includes(e))?{presence:`absent`}:{presence:`unknown`}}async function M(e,t,n){try{return await n.runCommand(e,t)}catch(e){if(e instanceof c)throw e;return}}function N(e,t){let n=`${t}@`;for(let t of e.split(`
3
- `)){let e=t.trim().split(/\s+/u).at(-1);if(e?.startsWith(n)&&e.length>n.length)return e.slice(n.length)}}function P(e,t){try{let n=JSON.parse(e);if(!R(n))return`unknown`;for(let e of[`dependencies`,`devDependencies`,`optionalDependencies`,`peerDependencies`]){if(!Object.hasOwn(n,e))continue;let r=n[e];if(!R(r))return`unknown`;if(Object.hasOwn(r,t))return`present`}return`absent`}catch{return`unknown`}}function F(e){return{kind:`success`,value:e}}function I(e){let t=B(e);return{kind:`cancelled`,...t?{reason:t}:{}}}function L(e){return e.toLowerCase().replaceAll(/[-_.]+/gu,`-`)}function R(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function z(e){return e instanceof Error&&`code`in e&&(e.code===`ENOENT`||e.code===`ENOTDIR`)}function B(e){if(e.reason!==void 0)return e.reason instanceof Error?e.reason.message:String(e.reason)}export{c as n,l as r,_ as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./resolve-DiiMB5eg.mjs";export{e as resolveCommand};
@@ -1 +0,0 @@
1
- import{n as e}from"./schema-BbCY-M45.mjs";export{e as schemaCommand};
@@ -1 +0,0 @@
1
- import{n as e}from"./detect-BdnZzKbm.mjs";import{n as t}from"./cli-context-xudTdmO7.mjs";import{a as n}from"./file-store-Caz7fnAB.mjs";import{F as r,O as i,P as a,R as o,i as s,k as c,n as l,t as u,z as d}from"./output-CHksIR81.mjs";import{p as f}from"./providers-DHm9wRvO.mjs";import{t as p}from"./color-FZclrXnv.mjs";import{g as m,n as h,p as g}from"./agents-2OsJw-_0.mjs";import{a as _,i as v}from"./provider-binding-D1muQsgD.mjs";import{t as y}from"./provider-evidence-BUp7nKNH.mjs";import{t as b}from"./lifecycle-errors-B0bwmxkB.mjs";import{a as x,i as S,n as C,r as w}from"./user-output-B-zDs13K.mjs";const T=e=>new Promise(t=>setTimeout(t,e));async function E(e,t={}){let n=Math.max(1,t.attempts??6),r=t.delay??T,i=Math.max(0,t.delayMs??100);for(let a=0;a<n;a+=1){if(t.signal?.aborted||t.isCancelled?.())return!1;let o=await e();if(t.signal?.aborted||t.isCancelled?.())return!1;if(o)return!0;a+1<n&&await r(i)}return!1}async function D(p){let y=h(p);if(!y)return s(u({action:`uninstall`,error:{code:`AGENT_NOT_FOUND`,details:{input:p},message:`Unknown agent: ${p}`},target:{kind:`agent`,name:p}}),P);try{return await m(async()=>{let[n,u]=await Promise.all([i(y.name),c(y.name)]);if(!n&&!u)return s(N(p,y),P);let m=await e(y.binaryName),h=n?_(y,n):void 0,b=u?v(u):void 0;if(n&&!h||u&&!b)return s(A(y,`indeterminate-source`,`Cannot resolve provider evidence for ${y.displayName}.`),P);if(h&&b&&!O(h,b))return s(A(y,`conflicting-source`,`Recorded sources disagree for ${y.displayName}.`),P);let x=h??b,S=await k(x);if(S.kind!==`success`)return s(A(y,`indeterminate-source`,`Cannot verify provider state for ${y.displayName}.`),P);if(S.value.kind===`absent`)return m?s(A(y,`conflicting-source`,`${y.displayName} is on PATH but its recorded provider target is absent.`),P):C()?s(j(y,`would reconcile stale lifecycle evidence`),P):(n&&await a(y.name),u&&await r(y.name),s(M(y),P));if(!n)return s(A(y,`indeterminate-source`,`Cannot safely reconstruct ${y.displayName}'s uninstall source.`),P);if(C())return s(j(y,`would uninstall ${y.displayName}`),P);if(!f(n.installType))return(await g(y,n)).kind===`success`?(await r(y.name),s(l({action:`uninstall`,data:{agent:{displayName:y.displayName,name:y.name},changed:!0},target:{kind:`agent`,name:y.name}}),P)):s(A(y,`provider-failure`,`Failed to uninstall ${y.displayName}.`),P);if(u||await d({...x.target.binaryName?{executableName:x.target.binaryName}:{},kind:`lifecycle-receipt`,providerId:x.providerId,providerTargetId:x.target.id,providerTargetKind:x.target.kind,schemaVersion:1,targetId:y.name,verifiedAt:new Date().toISOString(),...S.value.executablePath?{executablePath:S.value.executablePath}:{},...S.value.version?{version:S.value.version}:{}}),(await g(y,n)).kind===`success`){if(!await E(async()=>{let t=await k(x);return t.kind!==`success`||t.value.kind!==`absent`?!1:!await e(y.binaryName)},{isCancelled:()=>!!t().cancelled})){let e=await k(x);return e.kind===`success`&&e.value.kind===`absent`?(await r(y.name),s(A(y,`conflicting-source`,`${y.displayName}'s managed package was removed, but another copy remains on PATH.`),P)):(await o(n),s(A(y,`verification-failed`,`${y.displayName} is still present after provider removal.`),P))}return await r(y.name),s(l({action:`uninstall`,data:{agent:{displayName:y.displayName,name:y.name},changed:!0},target:{kind:`agent`,name:y.name}}),P)}return s(A(y,`provider-failure`,`Failed to uninstall ${y.displayName}.`),P)})}catch(e){if(n(e))return s(u({action:`uninstall`,data:{agent:{displayName:y.displayName,name:y.name},changed:!1},...b(e,{kind:`agent`,name:y.name})}),P);throw e}}function O(e,t){return e.providerId===t.providerId&&e.target.id===t.target.id&&e.target.kind===t.target.kind&&e.target.binaryName===t.target.binaryName}async function k(e){let n=t(),r=new AbortController;return n.cancelled&&r.abort(`cli-cancelled`),y(e,{signal:r.signal,timeoutMs:n.timeoutMs})}function A(e,t,n){return u({action:`uninstall`,data:{agent:{displayName:e.displayName,name:e.name},changed:!1},error:{code:`UNINSTALL_FAILED`,details:{lifecycle:t},message:n},target:{kind:`agent`,name:e.name}})}function j(e,t){return l({action:`uninstall`,data:{agent:{displayName:e.displayName,name:e.name},changed:!1},target:{kind:`agent`,name:e.name},warnings:[{code:`DRY_RUN`,message:`Dry run: ${t}.`}]})}function M(e){return l({action:`uninstall`,data:{agent:{displayName:e.displayName,name:e.name},changed:!0},target:{kind:`agent`,name:e.name},warnings:[{code:`GHOST_STATE_RECONCILED`,message:`${e.displayName} was already absent; stale lifecycle evidence was removed.`}]})}function N(e,t){return u({action:`uninstall`,data:{agent:{displayName:t.displayName,name:t.name},changed:!1},error:{code:`UNINSTALL_UNMANAGED`,details:{canAutoUninstall:!1,displayName:t.displayName,input:e,lifecycle:`unmanaged`,name:t.name},message:`${t.displayName} is not managed by qtx, so qtx cannot auto-uninstall it. Run qtx inspect ${t.name} for details.`},target:{kind:`agent`,name:t.name}})}function P(e){if(e.error){w(p.red(e.error.message));return}if(e.data){if(e.warnings&&e.warnings.length>0){for(let t of e.warnings)x(p.yellow(t.message));return}S(p.cyan(`Uninstalling ${e.data.agent.displayName}...`)),S(p.green(`${e.data.agent.displayName} uninstalled successfully!`))}}export{D as uninstallCommand};
@@ -1 +0,0 @@
1
- import{n as e}from"./detect-BdnZzKbm.mjs";import{l as t}from"./providers-DHm9wRvO.mjs";import{n}from"./agents-2OsJw-_0.mjs";import{n as r}from"./lifecycle-observations-BpB12i3p.mjs";async function i(i){let a=n(i);if(!a||!await e(a.binaryName))return;let o=await r(i);if(!(!o?.pathExecutable.present||o.installedState||o.receipt))return t(o.methods,o.resolvedBinaryPath??o.pathExecutable.path)?void 0:o.agent}export{i as t};
File without changes
File without changes