@vibeapi/api-helper 0.0.108 → 0.0.109

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.
@@ -1 +1 @@
1
- import{spawnSync as r}from"child_process";import{rmSync as e}from"fs";import{join as o}from"path";import t from"chalk";import n from"inquirer";import{i18n as i}from"./i18n.js";import{logger as s}from"../utils/logger.js";import{compareVersions as a,getToolMinVersion as l}from"./model-registry.js";import{getAdapter as c}from"./tools/registry.js";import{findInstalls as p,forgetInstalls as u,installLabel as m,npmMirrorInstallCommand as g,npmUninstallCommand as d}from"./tools/tool-installs.js";import{toolHome as f}from"./tools/types.js";import{isNonInteractive as w,shouldAutoConfirm as h}from"./runtime-options.js";let y=(e,o,n)=>{console.log(t.gray("$ ")+[e,...o].join(" "));const i="win32"!==process.platform||/\.exe$/i.test(e)?r(e,o,{stdio:"inherit",timeout:n}):r([e,...o].map(r=>/\s/.test(r)?`"${r}"`:r).join(" "),{stdio:"inherit",shell:!0,timeout:n});return i.error&&s.logError(`upgrade: ${e}`,i.error),0===i.status};export function setUpgradeRunnerForTests(r){y=r}const v=3e5;export function mirrorInstall(r){if(!r.mirrorScript)return _(r);console.log(t.gray(i.t("install.downloading")));const e="win32"===process.platform?y("powershell.exe",["-NoProfile","-ExecutionPolicy","Bypass","-Command",`irm ${r.mirrorScript.ps1} -TimeoutSec 30 | iex`],v):y("sh",["-c",`curl -fsSL --connect-timeout 15 --max-time 60 ${r.mirrorScript.sh} | sh`],v);return e||!r.npmPackage?e:(console.log(t.yellow(" ! "+i.t("install.script_failed_npm"))),_(r))}function _(r){const[e,...o]=g(r).split(" "),n=y(e,o);return n||"win32"===process.platform||console.log(t.yellow(" ! "+i.t("upgrade.npm_permission",{command:g(r)}))),n}function b(r,t){switch(t.kind){case"npm":r.npmPackage&&y("npm",["uninstall","-g",r.npmPackage]);break;case"brew":r.brew&&y("brew",["uninstall",r.brew]);break;case"native":try{e(t.path,{force:!0});for(const t of r.native?.dataDirs??[])e(o(f(),...t),{recursive:!0,force:!0})}catch(r){s.logError("upgrade: remove native copy",r)}break;default:return!1}return u(),!p(r).some(r=>r.path===t.path)}function k(r,e){switch(e.kind){case"npm":return d(r);case"brew":return`brew uninstall ${r.brew}`;case"native":return i.t("upgrade.delete_paths",{paths:[e.path,...(r.native?.dataDirs??[]).map(r=>o(f(),...r))].join("、")});default:return i.t("upgrade.delete_paths",{paths:e.path})}}export async function upgradeTool(r){const e=c(r),o=e?.installSpec;if(!e||!o)throw new Error(i.t("upgrade.unsupported",{tool:r}));const g=e.displayName;u();const d=p(o);if(console.log(t.bold(`\n${g}`)),0===d.length)console.log(i.t("upgrade.not_installed_installing",{tool:g})),mirrorInstall(o);else{const r=d[0];console.log(t.gray(" "+i.t("upgrade.current",{copy:m(r)})));const e=function(r,e){switch(e.kind){case"native":return y(e.path,r.native?.updateArgs??["update"],r.native?.updateTimeoutMs);case"npm":return _(r);case"brew":return!!r.brew&&y("brew",["upgrade",r.brew]);default:return!1}}(o,r);e||"other"!==r.kind?e||"npm"===r.kind||"native"===r.kind&&await async function(r){const e=r.native?.mirrorUpdate;if(!e)return!1;console.log(t.yellow(" ! "+i.t("upgrade.native_mirror_trying")));try{const{version:r,manifestVerified:o}=await e();return console.log(t.green(" √ "+i.t(o?"upgrade.native_mirror_done_verified":"upgrade.native_mirror_done",{version:r}))),!0}catch(r){return s.logError("upgrade: native mirror",r),console.log(t.yellow(" ! "+i.t("upgrade.native_mirror_failed",{reason:r instanceof Error?r.message:String(r)}))),!1}}(o)||(console.log(t.yellow(" ! "+i.t("upgrade.fallback_mirror"))),mirrorInstall(o)):console.log(t.yellow(" ! "+i.t("upgrade.unknown_install",{path:r.path})))}u(),await async function(r,e){const o=p(r);if(o.length<2)return;const s=function(r){return r.reduce((r,e)=>e.version&&(!r.version||a(e.version,r.version)>0)?e:r)}(o),l=o.filter(r=>r!==s);console.log(t.yellow(" ! "+i.t("upgrade.duplicates",{tool:e,keep:m(s),others:l.map(m).join("、")})));let c=h();c||w()||!process.stdin.isTTY||(c=(await n.prompt([{type:"confirm",name:"remove",message:i.t("upgrade.confirm_remove"),default:!0}])).remove);for(const e of l)c&&b(r,e)?console.log(t.green(" √ "+i.t("upgrade.removed",{copy:m(e)}))):console.log(t.yellow(" ! "+i.t("upgrade.remove_by_hand",{how:k(r,e)})))}(o,g),u();const f=p(o)[0];if(!f)return console.log(t.red(" × "+i.t("upgrade.still_missing",{tool:g}))),!1;const v=l(r);if(v&&f.version&&a(f.version,v)<0){console.log(t.yellow(" ! "+i.t("upgrade.still_old",{copy:m(f),min:v})));for(const r of e.upgradeHints?.(v)??[])console.log(t.yellow(" ! "+r));return!1}return console.log(t.green(" √ "+i.t("upgrade.done",{copy:m(f)}))),!0}
1
+ import{spawnSync as r}from"child_process";import{rmSync as e}from"fs";import{join as o}from"path";import t from"chalk";import n from"inquirer";import{i18n as i}from"./i18n.js";import{logger as s}from"../utils/logger.js";import{compareVersions as a,getToolMinVersion as l}from"./model-registry.js";import{getAdapter as p}from"./tools/registry.js";import{findInstalls as c,forgetInstalls as u,installLabel as m,npmMirrorInstallCommand as g,npmUninstallCommand as d}from"./tools/tool-installs.js";import{toolHome as f}from"./tools/types.js";import{isNonInteractive as w,shouldAutoConfirm as h}from"./runtime-options.js";let y=(e,o,n)=>{console.log(t.gray("$ ")+[e,...o].join(" "));const i="win32"!==process.platform||/\.exe$/i.test(e)?r(e,o,{stdio:"inherit",timeout:n}):r([e,...o].map(r=>/\s/.test(r)?`"${r}"`:r).join(" "),{stdio:"inherit",shell:!0,timeout:n});return i.error&&s.logError(`upgrade: ${e}`,i.error),0===i.status};export function setUpgradeRunnerForTests(r){y=r}const v=3e5;export function mirrorInstall(r){if(!r.mirrorScript)return _(r);console.log(t.gray(i.t("install.downloading")));const e="win32"===process.platform?y("powershell.exe",["-NoProfile","-ExecutionPolicy","Bypass","-Command",`irm ${r.mirrorScript.ps1} -TimeoutSec 30 | iex`],v):y("sh",["-c",`script=$(curl -fsSL --connect-timeout 15 --max-time 60 ${r.mirrorScript.sh}) && printf '%s\\n' "$script" | sh`],v);return e||!r.npmPackage?e:(console.log(t.yellow(" ! "+i.t("install.script_failed_npm"))),_(r))}function _(r){const[e,...o]=g(r).split(" "),n=y(e,o);return n||"win32"===process.platform||console.log(t.yellow(" ! "+i.t("upgrade.npm_permission",{command:g(r)}))),n}function b(r,t){switch(t.kind){case"npm":r.npmPackage&&y("npm",["uninstall","-g",r.npmPackage]);break;case"brew":r.brew&&y("brew",["uninstall",r.brew]);break;case"native":try{e(t.path,{force:!0});for(const t of r.native?.dataDirs??[])e(o(f(),...t),{recursive:!0,force:!0})}catch(r){s.logError("upgrade: remove native copy",r)}break;default:return!1}return u(),!c(r).some(r=>r.path===t.path)}function k(r,e){switch(e.kind){case"npm":return d(r);case"brew":return`brew uninstall ${r.brew}`;case"native":return i.t("upgrade.delete_paths",{paths:[e.path,...(r.native?.dataDirs??[]).map(r=>o(f(),...r))].join("、")});default:return i.t("upgrade.delete_paths",{paths:e.path})}}export async function upgradeTool(r){const e=p(r),o=e?.installSpec;if(!e||!o)throw new Error(i.t("upgrade.unsupported",{tool:r}));const g=e.displayName;u();const d=c(o);if(console.log(t.bold(`\n${g}`)),0===d.length)console.log(i.t("upgrade.not_installed_installing",{tool:g})),mirrorInstall(o);else{const r=d[0];console.log(t.gray(" "+i.t("upgrade.current",{copy:m(r)})));const e=function(r,e){switch(e.kind){case"native":return y(e.path,r.native?.updateArgs??["update"],r.native?.updateTimeoutMs);case"npm":return _(r);case"brew":return!!r.brew&&y("brew",["upgrade",r.brew]);default:return!1}}(o,r);e||"other"!==r.kind?e||"npm"===r.kind||"native"===r.kind&&await async function(r){const e=r.native?.mirrorUpdate;if(!e)return!1;console.log(t.yellow(" ! "+i.t("upgrade.native_mirror_trying")));try{const{version:r,manifestVerified:o}=await e();return console.log(t.green(" √ "+i.t(o?"upgrade.native_mirror_done_verified":"upgrade.native_mirror_done",{version:r}))),!0}catch(r){return s.logError("upgrade: native mirror",r),console.log(t.yellow(" ! "+i.t("upgrade.native_mirror_failed",{reason:r instanceof Error?r.message:String(r)}))),!1}}(o)||(console.log(t.yellow(" ! "+i.t("upgrade.fallback_mirror"))),mirrorInstall(o)):console.log(t.yellow(" ! "+i.t("upgrade.unknown_install",{path:r.path})))}u(),await async function(r,e){const o=c(r);if(o.length<2)return;const s=function(r){return r.reduce((r,e)=>e.version&&(!r.version||a(e.version,r.version)>0)?e:r)}(o),l=o.filter(r=>r!==s);console.log(t.yellow(" ! "+i.t("upgrade.duplicates",{tool:e,keep:m(s),others:l.map(m).join("、")})));let p=h();p||w()||!process.stdin.isTTY||(p=(await n.prompt([{type:"confirm",name:"remove",message:i.t("upgrade.confirm_remove"),default:!0}])).remove);for(const e of l)p&&b(r,e)?console.log(t.green(" √ "+i.t("upgrade.removed",{copy:m(e)}))):console.log(t.yellow(" ! "+i.t("upgrade.remove_by_hand",{how:k(r,e)})))}(o,g),u();const f=c(o)[0];if(!f)return console.log(t.red(" × "+i.t("upgrade.still_missing",{tool:g}))),!1;const v=l(r);if(v&&f.version&&a(f.version,v)<0){console.log(t.yellow(" ! "+i.t("upgrade.still_old",{copy:m(f),min:v})));for(const r of e.upgradeHints?.(v)??[])console.log(t.yellow(" ! "+r));return!1}return console.log(t.green(" √ "+i.t("upgrade.done",{copy:m(f)}))),!0}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibeapi/api-helper",
3
- "version": "0.0.108",
3
+ "version": "0.0.109",
4
4
  "description": "CLI tool for managing AI coding assistants (Claude Code, Codex, OpenClaw, Hermes, AtomCode, Grok Build) with one unified config",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",