quantex-cli 1.1.3 → 1.2.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 (64) hide show
  1. package/README.md +28 -2
  2. package/README.zh-CN.md +28 -2
  3. package/dist/agent-installation-Dsz_I5Li.mjs +1 -0
  4. package/dist/agent-observation-DRzJavrO.mjs +1 -0
  5. package/dist/agents-CBoMqbP1.mjs +2 -0
  6. package/dist/agents-DvfpsVAI.mjs +1 -0
  7. package/dist/capabilities-CQZ0SLgD.mjs +1 -0
  8. package/dist/{capabilities-BMx857FN.mjs → capabilities-C_gPEld2.mjs} +4 -4
  9. package/dist/cli.mjs +1 -1
  10. package/dist/color-1gXmuBdm.mjs +8 -0
  11. package/dist/commands-84XyphJp.mjs +1 -0
  12. package/dist/{commands-Bt5YKAxY.mjs → commands-DiZ3IIz4.mjs} +1 -1
  13. package/dist/config-C335pFul.mjs +3 -0
  14. package/dist/core-read-observations-Cm0FpEpL.mjs +3 -0
  15. package/dist/doctor-YObQVc1Y.mjs +3 -0
  16. package/dist/ensure-BqcmFFyN.mjs +1 -0
  17. package/dist/ensure-CSntyBTb.mjs +1 -0
  18. package/dist/errors-BrmJuMg3.mjs +1 -0
  19. package/dist/index.mjs +2 -2
  20. package/dist/{info-B1wrZgxM.mjs → info-B4Gr79vU.mjs} +2 -2
  21. package/dist/inspect-DSnK5oMu.mjs +1 -0
  22. package/dist/{inspect-D-mA7LLF.mjs → inspect-DyCXX7Tp.mjs} +3 -3
  23. package/dist/install-BKh0kreC.mjs +1 -0
  24. package/dist/lifecycle-observations-31JWXSir.mjs +1 -0
  25. package/dist/lifecycle-policy-ZKxZhM5R.mjs +1 -0
  26. package/dist/list-BrePsdOM.mjs +3 -0
  27. package/dist/provider-binding-BvvHuohl.mjs +1 -0
  28. package/dist/{provider-observations-eOUOsbo-.mjs → provider-observations-CRG1GCgp.mjs} +1 -1
  29. package/dist/resolve-B594qXY6.mjs +1 -0
  30. package/dist/{resolve-CTOjSJag.mjs → resolve-CCeMk9aY.mjs} +1 -1
  31. package/dist/{schema-B1Gva91H.mjs → schema-C2S3d_Cu.mjs} +1 -1
  32. package/dist/schema-CgTSwXpy.mjs +1 -0
  33. package/dist/uninstall-5ZK3juO1.mjs +1 -0
  34. package/dist/update-DQR-B9S-.mjs +1 -0
  35. package/dist/{update-planner-B9twOaqE.mjs → update-planner-IgFzteV-.mjs} +1 -1
  36. package/dist/upgrade-kK57LorF.mjs +1 -0
  37. package/dist/{user-output-Dkv_5Lew.mjs → user-output-uK6ichvR.mjs} +1 -1
  38. package/dist/{version-cache-Ck-45EIJ.mjs → version-cache-CJ0R5HZJ.mjs} +1 -1
  39. package/package.json +17 -6
  40. package/dist/agent-inspection-CCNABDLw.mjs +0 -1
  41. package/dist/agent-installation-DaFUJAc_.mjs +0 -1
  42. package/dist/agents-DKvyp0t3.mjs +0 -1
  43. package/dist/agents-Dc-rbRUf.mjs +0 -1
  44. package/dist/capabilities-CdyhM5p5.mjs +0 -1
  45. package/dist/color-D55TE_Ws.mjs +0 -9
  46. package/dist/commands-BOHy4Z38.mjs +0 -1
  47. package/dist/config-CsJqP4-1.mjs +0 -3
  48. package/dist/doctor-FlgVXfJ-.mjs +0 -3
  49. package/dist/ensure-fBcWjPLH.mjs +0 -1
  50. package/dist/ensure-zzTePhNS.mjs +0 -1
  51. package/dist/errors-BzuGM14H.mjs +0 -1
  52. package/dist/inspect-CXX9iv7n.mjs +0 -1
  53. package/dist/install-C__aUVW9.mjs +0 -1
  54. package/dist/lifecycle-observations-F8_4qbsU.mjs +0 -1
  55. package/dist/lifecycle-policy-Bkd-ZutQ.mjs +0 -1
  56. package/dist/list-C_TqJIui.mjs +0 -3
  57. package/dist/provider-evidence-CcW0d2NQ.mjs +0 -1
  58. package/dist/resolve-IhUbwUBa.mjs +0 -1
  59. package/dist/schema-CsIhmOlH.mjs +0 -1
  60. package/dist/uninstall-B__0wIng.mjs +0 -1
  61. package/dist/update-_wy1PcLo.mjs +0 -1
  62. package/dist/upgrade-CF5MtZgT.mjs +0 -1
  63. /package/dist/{errors-DXzIacfk.mjs → errors-BD4Gc9Rp.mjs} +0 -0
  64. /package/dist/{lifecycle-errors-BXlHX_YF.mjs → lifecycle-errors-Cal_j4yT.mjs} +0 -0
@@ -1 +0,0 @@
1
- import{Lt as e,_n as t,a as n,b as r,d as i,f as a,fn as o,h as s,l as c,ln as l,mn as u,n as d,p as f,r as p,t as m,vn as h}from"./color-D55TE_Ws.mjs";import{a as g,i as _,n as v,r as y}from"./user-output-Dkv_5Lew.mjs";import{n as b,t as x}from"./version-cache-Ck-45EIJ.mjs";const S={platform:process.platform,spawn:(e,t)=>o(e,{...t,stdio:t.stdio?[...t.stdio]:void 0}),terminate:u,writeStderr:e=>{process.stderr.write(e)}};function C(e=S){let t=b(e);return{run:e=>t.run({...e,forwardPipedOutput:e.forwardPipedOutput??!1})}}const w={fetch:globalThis.fetch.bind(globalThis)};function T(e=w){return{async request(t){if(t.signal.aborted)return E(t.signal);let n=new AbortController,r,i,a=!1,o=new Promise(e=>i=e),s=e=>{a||(a=!0,n.abort(),i(e))},c=()=>s(E(t.signal));t.signal.addEventListener(`abort`,c,{once:!0}),t.signal.aborted&&c(),t.timeoutMs!==void 0&&(r=setTimeout(()=>s(D(`timed-out`,`Network request timed out after ${t.timeoutMs}ms.`)),t.timeoutMs));let l=Promise.resolve().then(async()=>{let r=await e.fetch(t.url,{body:t.body,headers:t.headers,method:t.method,signal:n.signal}),i={};return r.headers.forEach((e,t)=>i[t.toLowerCase()]=e),{kind:`success`,value:{body:new Uint8Array(await r.arrayBuffer()),headers:i,status:r.status}}}).catch(e=>t.signal.aborted?E(t.signal):n.signal.aborted&&t.timeoutMs!==void 0?D(`timed-out`,`Network request timed out after ${t.timeoutMs}ms.`):D(`failed`,e instanceof Error?e.message:`Network request failed.`));try{return await Promise.race([l,o])}finally{a=!0,r&&clearTimeout(r),t.signal.removeEventListener(`abort`,c)}}}}function E(e){return D(`cancelled`,e.reason instanceof Error?e.reason.message:String(e.reason??`Network request was cancelled.`))}function D(e,t){return{error:{kind:e,message:t},kind:`failure`}}function O(e){let t=new AbortController,n=new Set,r=Object.freeze({cacheMode:e.cacheMode??`default`,dryRun:e.dryRun??!1,outputMode:e.outputMode??`human`,quiet:e.quiet??!1,timeoutMs:e.timeoutMs}),i=Object.freeze({...e.ports}),a;return{options:r,ports:i,signal:t.signal,cancel(e){if(a)return a;let r;a=new Promise(e=>{r=e}),t.abort(e);let i=[...n];return n.clear(),Promise.allSettled(i.map(t=>Promise.resolve().then(()=>t(e)))).then(()=>r()),a},onCancel(e){return t.signal.aborted?()=>void 0:(n.add(e),()=>{n.delete(e)})}}}async function k(e,t,n){if(t.signal.aborted)return A();let r=await n.plan({context:{signal:t.signal,timeoutMs:t.options.timeoutMs},metadataCache:t.ports.cache,networkPort:t.ports.network,persistencePort:t.ports.persistence,updateChannel:e.updateChannel});return t.signal.aborted?A(r):e.check||e.dryRun||r.status!==`update-available`?{kind:`planned`,plan:r}:{kind:`executed`,plan:r,result:await n.upgrade(r,{lockPort:t.ports.locks,networkPort:t.ports.network,processPort:t.ports.process,signal:t.signal,stdio:t.options.outputMode===`human`?[`inherit`,`inherit`,`inherit`]:[`ignore`,`pipe`,`pipe`],timeoutMs:t.options.timeoutMs})}}function A(e){return{error:{kind:`cancelled`,message:`Self-upgrade invocation was cancelled.`},kind:`interrupted`,...e?{plan:e}:{}}}function j(){let e=t(),n=O({cacheMode:e.cacheMode,dryRun:e.dryRun,outputMode:e.outputMode,ports:M(),quiet:e.quiet,timeoutMs:e.timeoutMs});e.cancelled&&n.cancel(`cancelled`);let r=h(()=>n.cancel(`cancelled`)),i=!1,a={plan:e=>f({context:e.context,metadataCache:e.metadataCache,networkPort:e.networkPort,persistencePort:e.persistencePort,updateChannel:e.updateChannel}),upgrade:(e,t)=>c(e,t)};return{dispose(){i||(i=!0,r())},run:e=>k(e,n,a)}}function M(){return{cache:x(),clock:{now:Date.now,sleep:N},fileSystem:{makeDirectory:N,readFile:N,remove:N,rename:N,writeFile:N},locks:s(),network:T(),persistence:r(),process:C()}}async function N(){return{error:{kind:`unavailable`,message:`Runtime port is not bound for this self-upgrade operation.`},kind:`failure`}}function P(e){if(e===`stable`||e===`beta`)return e}async function F(e={}){let t=v(),r=j(),o=await r.run({check:e.check??!1,dryRun:t,updateChannel:e.channel}).finally(()=>r.dispose());if(o.kind===`interrupted`)throw new l({kind:`cancelled`,reason:o.error.message});let s=o.plan,c=a(s),u=L(c),f=z(c);if(s.status===`up-to-date`)return n(p({action:`upgrade`,data:{canAutoUpdate:c.canAutoUpdate,channel:c.updateChannel,currentVersion:c.currentVersion,installSource:c.installSource,latestVersion:c.latestVersion,status:`up-to-date`},target:{kind:`self`,name:`quantex`},warnings:[...u,...f?[f]:[]]}),I);if(e.check||t)return s.status===`update-available`?n(p({action:`upgrade`,data:{canAutoUpdate:c.canAutoUpdate,channel:c.updateChannel,currentVersion:c.currentVersion,installSource:c.installSource,latestVersion:c.latestVersion,status:`update-available`},exitCode:e.check?1:void 0,target:{kind:`self`,name:`quantex`},warnings:[...u,...f?[f]:[],...t?[{code:`DRY_RUN`,message:`Dry run: would upgrade Quantex CLI.`}]:[]]}),I):n(d({action:`upgrade`,data:{canAutoUpdate:c.canAutoUpdate,channel:c.updateChannel,currentVersion:c.currentVersion,installSource:c.installSource,status:`check-unavailable`},error:{code:`NETWORK_ERROR`,message:`Unable to determine the latest Quantex CLI version.`},target:{kind:`self`,name:`quantex`},warnings:[...u,...f?[f]:[]]}),I);if(s.status===`manual-required`){let e=i(c);return n(d({action:`upgrade`,data:{canAutoUpdate:c.canAutoUpdate,channel:c.updateChannel,currentVersion:c.currentVersion,installSource:c.installSource,latestVersion:c.latestVersion,recoveryHint:e,status:`manual-required`},error:{code:`MANUAL_ACTION_REQUIRED`,message:`Quantex CLI cannot auto-update from the current install source: ${c.installSource}.`},target:{kind:`self`,name:`quantex`},warnings:[...u,...f?[f]:[]]}),I)}if(o.kind!==`executed`)throw Error(`Self-upgrade execution did not produce a result.`);let m=o.result;if(m.success)return n(p({action:`upgrade`,data:{canAutoUpdate:c.canAutoUpdate,channel:c.updateChannel,currentVersion:c.currentVersion,installSource:c.installSource,latestVersion:c.latestVersion,status:`updated`},target:{kind:`self`,name:`quantex`},warnings:[...u,...f?[f]:[]]}),I);let h=i(c,m);return n(d({action:`upgrade`,data:{canAutoUpdate:c.canAutoUpdate,channel:c.updateChannel,currentVersion:c.currentVersion,installSource:c.installSource,latestVersion:c.latestVersion,recoveryHint:h,status:`manual-required`},error:{code:`UPGRADE_FAILED`,details:m.error?.kind?{kind:m.error.kind}:void 0,message:m.error?.message??`Failed to upgrade Quantex CLI.`},target:{kind:`self`,name:`quantex`},warnings:[...u,...h?[{code:`MANUAL_RECOVERY`,message:`Manual recovery: ${h}`}]:[]]}),I)}function I(e){if(!e.data){e.error&&y(m.red(e.error.message));return}if(e.data.status===`up-to-date`){_(m.green(`Quantex CLI is already up to date (${e.data.currentVersion}).`)),R(e.warnings);return}if(e.data.status===`update-available`){let t=e.warnings.some(e=>e.message.includes(`Dry run`))?`Dry run: `:``;g(m.yellow(`${t}Update available for Quantex CLI: ${e.data.currentVersion} -> ${e.data.latestVersion} (${e.data.channel}).`)),R(e.warnings);return}if(e.data.status===`check-unavailable`){e.error&&g(m.yellow(e.error.message)),R(e.warnings);return}if(e.data.status===`manual-required`&&e.error?.code===`MANUAL_ACTION_REQUIRED`){g(m.yellow(e.error.message)),e.data.recoveryHint&&g(m.cyan(`Next step: ${e.data.recoveryHint}`));return}let t=e.data.latestVersion?` (${e.data.currentVersion} -> ${e.data.latestVersion})`:` (${e.data.currentVersion})`;if(_(m.cyan(`Upgrading Quantex CLI...${t}`)),!e.error){_(m.green(`Quantex CLI upgraded successfully.`)),R(e.warnings);return}y(m.red(`Failed to upgrade Quantex CLI.`)),g(m.yellow(`Reason: ${e.error.message}`));for(let t of e.warnings)g(m.cyan(t.message.replace(/^Manual recovery:/,`Next step:`)))}function L(e){return!e.latestVersion||!e.upstreamLatestVersion||e.latestVersion===e.upstreamLatestVersion||e.installSource!==`bun`&&e.installSource!==`npm`?[]:[{code:`MIRROR_LAG`,details:{installableLatestVersion:e.latestVersion,upstreamLatestVersion:e.upstreamLatestVersion},message:`The selected registry currently installs ${e.latestVersion}, while upstream npm has ${e.upstreamLatestVersion}. Retry later or set selfUpdateRegistry / QTX_SELF_UPDATE_REGISTRY to another registry if you need the upstream release now.`}]}function R(e){for(let t of e)t.code===`DRY_RUN`||t.code===`MANUAL_RECOVERY`||g(m.yellow(t.message))}function z(t){if(!t.latestVersion)return;let n=e(t.latestVersion,t.currentVersion);if(!(n===void 0||n>=0))return{code:`STALE_LATEST_VERSION`,details:{currentVersion:t.currentVersion,latestVersion:t.latestVersion},message:`The resolved latest version ${t.latestVersion} is older than the installed Quantex CLI ${t.currentVersion}. Quantex will not downgrade; retry with --refresh or --no-cache if you need a fresh check.`}}export{P as resolveUpgradeChannelOption,F as upgradeCommand};