quantex-cli 1.11.2 → 1.12.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.
- package/README.md +3 -3
- package/README.zh-CN.md +3 -3
- package/dist/agent-inspection-2y2K-DCH.mjs +1 -0
- package/dist/{agent-observation-CmpP7VL_.mjs → agent-observation-CmB6ofFL.mjs} +1 -1
- package/dist/agents-CESJI54l.mjs +1 -0
- package/dist/{agents-Caewjqrg.mjs → agents-iJvqIhMa.mjs} +1 -1
- package/dist/capabilities-CMnop3RC.mjs +1 -0
- package/dist/{capabilities-CThAG1Si.mjs → capabilities-DIRMPhTg.mjs} +1 -1
- package/dist/cli-operation-context-9ndzC1zq.mjs +1 -0
- package/dist/cli-read-projection-Cj1sCG7X.mjs +1 -0
- package/dist/cli.mjs +1 -1
- package/dist/commands-BPpo5qw8.mjs +1 -0
- package/dist/commands-BQuwJ1s0.mjs +3 -0
- package/dist/config-CW3EEuhm.mjs +3 -0
- package/dist/config-DzIZHWeq.mjs +1 -0
- package/dist/config-jsaRCEWF.mjs +1 -0
- package/dist/core-installation-cli-B-UNzCXn.mjs +1 -0
- package/dist/{detect-BUVMt8jZ.mjs → detect-Dou6fit1.mjs} +1 -1
- package/dist/doctor-CFLfa3z8.mjs +4 -0
- package/dist/ensure-BfY3mjy5.mjs +1 -0
- package/dist/ensure-CsRGwJHS.mjs +1 -0
- package/dist/errors-euUlFXri.mjs +1 -0
- package/dist/file-store-oHCTTnLn.mjs +2 -0
- package/dist/index.mjs +1 -1
- package/dist/info-DP2wtQYw.mjs +3 -0
- package/dist/inspect-DVgAp7qL.mjs +1 -0
- package/dist/inspect-OQUNwZEP.mjs +5 -0
- package/dist/install-D5IP8S3z.mjs +1 -0
- package/dist/{installation-compatibility-BnanRlky.mjs → installation-compatibility-BBIt-_Gy.mjs} +1 -1
- package/dist/installation-compatibility-CBA7XDvH.mjs +1 -0
- package/dist/{installation-executor-BHtW4ZTn.mjs → installation-executor-BS0GowyT.mjs} +1 -1
- package/dist/{installation-production-BBJukMkB.mjs → installation-production-Dy8XTuRy.mjs} +1 -1
- package/dist/{installation-provider-registry-Ca45gNu5.mjs → installation-provider-registry-CpJjzAO7.mjs} +1 -1
- package/dist/installation-routing-BhB6puwg.mjs +1 -0
- package/dist/installation-routing-D_8D3v0X.mjs +1 -0
- package/dist/lifecycle-observations-DIBfXLT1.mjs +1 -0
- package/dist/{lifecycle-policy-B5rqTthw.mjs → lifecycle-policy-0Wodv3-H.mjs} +1 -1
- package/dist/{list-Bb7xNAel.mjs → list-aak6ch3E.mjs} +1 -1
- package/dist/{npm-DUDR-Khz.mjs → npm-PO9Nwgt_.mjs} +1 -1
- package/dist/output-CLgmLN2q.mjs +5 -0
- package/dist/package-manager-uPteT1B0.mjs +1 -0
- package/dist/{production-observation-BOalSjcd.mjs → production-observation-CLYtqs1E.mjs} +1 -1
- package/dist/{provider-binding-BmBPz4YE.mjs → provider-binding-DB7IXxJp.mjs} +1 -1
- package/dist/{provider-evidence-ByRBnbzW.mjs → provider-evidence-AfeylhA4.mjs} +1 -1
- package/dist/{provider-observations-DASRzaj3.mjs → provider-observations-CY8vphIo.mjs} +1 -1
- package/dist/{providers-CMuU0Elu.mjs → providers-CjFAR4Vt.mjs} +1 -1
- package/dist/resolve-BihHZ39p.mjs +1 -0
- package/dist/resolve-Cf5ZZLZM.mjs +1 -0
- package/dist/schema-DxgWH0za.mjs +1 -0
- package/dist/{schema-BhMOO-QU.mjs → schema-rHlg-voJ.mjs} +1 -1
- package/dist/uninstall-USu8oluL.mjs +1 -0
- package/dist/unmanaged-install-compatibility-KGtKiyzS.mjs +1 -0
- package/dist/update-aRYrYbRj.mjs +1 -0
- package/dist/{upgrade-Bfnj72Gp.mjs → upgrade-CI-MZFjs.mjs} +1 -1
- package/dist/version-cache-BPRXYft0.mjs +1 -0
- package/dist/{winget-C8yBIi3u.mjs → winget-BA9H6Ve-.mjs} +1 -1
- package/package.json +1 -1
- package/dist/agent-installation-sRbwS1dk.mjs +0 -1
- package/dist/agents-aJwt-ODK.mjs +0 -1
- package/dist/capabilities-DJWAHfR0.mjs +0 -1
- package/dist/cli-operation-context-yd4c0OQH.mjs +0 -1
- package/dist/commands-BJjmzz_A.mjs +0 -3
- package/dist/commands-CL5a3fZy.mjs +0 -1
- package/dist/config-BNZPEYqW.mjs +0 -3
- package/dist/core-installation-cli-COYAy55w.mjs +0 -1
- package/dist/core-read-observations-BHbMkcGV.mjs +0 -1
- package/dist/doctor-D5PV1TbG.mjs +0 -4
- package/dist/ensure-BNQhG8iC.mjs +0 -1
- package/dist/ensure-D1TP3y6h.mjs +0 -1
- package/dist/errors-BsSS_i9A.mjs +0 -1
- package/dist/file-store-XNyirRRY.mjs +0 -2
- package/dist/info-JhNNgM-i.mjs +0 -3
- package/dist/inspect-CD-3DSkb.mjs +0 -1
- package/dist/inspect-DhGE_G13.mjs +0 -5
- package/dist/install-DiyyJCgV.mjs +0 -1
- package/dist/installation-routing-B1snz7YR.mjs +0 -1
- package/dist/installation-routing-n62Du1fV.mjs +0 -1
- package/dist/lifecycle-observations-CqYFJfMT.mjs +0 -1
- package/dist/output-BRIAY0Oa.mjs +0 -5
- package/dist/resolve-NvqD19LV.mjs +0 -1
- package/dist/resolve-kcE_XhB3.mjs +0 -1
- package/dist/schema-31zl9J9y.mjs +0 -1
- package/dist/uninstall-Df2Y_ygk.mjs +0 -1
- package/dist/unmanaged-install-compatibility-BJBsLVDL.mjs +0 -1
- package/dist/update-RJNar2D3.mjs +0 -1
- package/dist/version-cache-jjIoeyWQ.mjs +0 -1
- /package/dist/{cli-operation-context-BS5a069W.mjs → cli-operation-context-CzjG_eom.mjs} +0 -0
- /package/dist/{color-iQl4CJwm.mjs → color-CLDVRyIs.mjs} +0 -0
- /package/dist/{errors-fT9JApTf.mjs → errors-CISYuFuT.mjs} +0 -0
- /package/dist/{human-BL2-F6cA.mjs → human-BbO37wBs.mjs} +0 -0
- /package/dist/{installation-failure-diagnostics-BJnxrzTa.mjs → installation-failure-diagnostics-DjaKNCw3.mjs} +0 -0
- /package/dist/{invocation-DXH0mQUH.mjs → invocation-DDozaggZ.mjs} +0 -0
- /package/dist/{lifecycle-errors-BtlAp_sz.mjs → lifecycle-errors-Elpn7QSu.mjs} +0 -0
- /package/dist/{mutation-recipe-catalog-DfkeFj0q.mjs → mutation-recipe-catalog-COCTDfME.mjs} +0 -0
- /package/dist/{provider-observation-registry-DRRQKxkl.mjs → provider-observation-registry-CgFXbZHd.mjs} +0 -0
- /package/dist/{types-D0YMPN5w.mjs → types-DAYz9yrG.mjs} +0 -0
- /package/dist/{user-output-DLbKXqDm.mjs → user-output-c8fjdhfk.mjs} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./resolve-NvqD19LV.mjs";export{e as resolveCommand};
|
package/dist/schema-31zl9J9y.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./schema-BhMOO-QU.mjs";export{e as schemaCommand};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./file-store-XNyirRRY.mjs";import{n as t}from"./detect-BUVMt8jZ.mjs";import{n}from"./cli-context-DI43ouBg.mjs";import{D as r,M as i,O as a,S as o,i as s,j as c,n as l,t as u,x as d}from"./output-BRIAY0Oa.mjs";import{m as f}from"./providers-CMuU0Elu.mjs";import{t as p}from"./color-iQl4CJwm.mjs";import{g as m,n as h,p as g}from"./agents-aJwt-ODK.mjs";import{a as _,o as v,t as y}from"./provider-binding-BmBPz4YE.mjs";import{t as b}from"./provider-evidence-ByRBnbzW.mjs";import{t as x}from"./lifecycle-errors-BtlAp_sz.mjs";import{a as S,i as C,n as w,r as T}from"./user-output-DLbKXqDm.mjs";const E=e=>new Promise(t=>setTimeout(t,e));async function D(e,t={}){let n=Math.max(1,t.attempts??6),r=t.delay??E,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 O(p){let b=h(p);if(!b)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[e,u]=await Promise.all([d(b.name),o(b.name)]);if(!e&&!u)return s(N(p,b),P);let m=await t(b.binaryName),h=e?v(b,e):void 0,x=u?_(u):void 0;if(e&&!h||u&&!x)return s(A(b,`indeterminate-source`,`Cannot resolve provider evidence for ${b.displayName}.`),P);if(h&&x&&!y(h,x,b.binaryName))return s(A(b,`conflicting-source`,`Recorded sources disagree for ${b.displayName}.`),P);let S=h??x,C=await k(S);if(C.kind!==`success`)return s(A(b,`indeterminate-source`,`Cannot verify provider state for ${b.displayName}.`),P);if(C.value.kind===`absent`)return m?s(A(b,`conflicting-source`,`${b.displayName} is on PATH but its recorded provider target is absent.`),P):w()?s(j(b,`would reconcile stale lifecycle evidence`),P):(e&&await r(b.name),u&&await a(b.name),s(M(b),P));if(!e)return s(A(b,`indeterminate-source`,`Cannot safely reconstruct ${b.displayName}'s uninstall source.`),P);if(w())return s(j(b,`would uninstall ${b.displayName}`),P);if(!f(e.installType))return(await g(b,e)).kind===`success`?(await a(b.name),s(l({action:`uninstall`,data:{agent:{displayName:b.displayName,name:b.name},changed:!0},target:{kind:`agent`,name:b.name}}),P)):s(A(b,`provider-failure`,`Failed to uninstall ${b.displayName}.`),P);if(u||await i({...S.target.binaryName?{executableName:S.target.binaryName}:{},kind:`lifecycle-receipt`,providerId:S.providerId,providerTargetId:S.target.id,providerTargetKind:S.target.kind,schemaVersion:1,targetId:b.name,verifiedAt:new Date().toISOString(),...C.value.executablePath?{executablePath:C.value.executablePath}:{},...C.value.version?{version:C.value.version}:{}}),(await g(b,e)).kind===`success`){if(!await D(async()=>{let e=await k(S);return e.kind!==`success`||e.value.kind!==`absent`?!1:!await t(b.binaryName)},{isCancelled:()=>!!n().cancelled})){let t=await k(S);return t.kind===`success`&&t.value.kind===`absent`?(await a(b.name),s(A(b,`conflicting-source`,`${b.displayName}'s managed package was removed, but another copy remains on PATH.`),P)):(await c(e),s(A(b,`verification-failed`,`${b.displayName} is still present after provider removal.`),P))}return await a(b.name),s(l({action:`uninstall`,data:{agent:{displayName:b.displayName,name:b.name},changed:!0},target:{kind:`agent`,name:b.name}}),P)}return s(A(b,`provider-failure`,`Failed to uninstall ${b.displayName}.`),P)})}catch(t){if(e(t))return s(u({action:`uninstall`,data:{agent:{displayName:b.displayName,name:b.name},changed:!1},...x(t,{kind:`agent`,name:b.name})}),P);throw t}}async function k(e){let t=n(),r=new AbortController;return t.cancelled&&r.abort(`cli-cancelled`),b(e,{signal:r.signal,timeoutMs:t.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){T(p.red(e.error.message));return}if(e.data){if(e.warnings&&e.warnings.length>0){for(let t of e.warnings)S(p.yellow(t.message));return}C(p.cyan(`Uninstalling ${e.data.agent.displayName}...`)),C(p.green(`${e.data.agent.displayName} uninstalled successfully!`))}}export{O as uninstallCommand};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./detect-BUVMt8jZ.mjs";import{l as t}from"./providers-CMuU0Elu.mjs";import{n}from"./agents-aJwt-ODK.mjs";import{n as r}from"./lifecycle-observations-CqYFJfMT.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};
|
package/dist/update-RJNar2D3.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,r as n,t as r}from"./messages-D6r2o7w-.mjs";import{g as i}from"./npm-DUDR-Khz.mjs";import{a,d as o}from"./file-store-XNyirRRY.mjs";import{R as s,r as c}from"./agents-Caewjqrg.mjs";import{n as l}from"./cli-context-DI43ouBg.mjs";import{E as u,T as d,i as f,n as p,r as m,t as h}from"./output-BRIAY0Oa.mjs";import{f as g,r as _}from"./providers-CMuU0Elu.mjs";import{t as v}from"./cli-operation-context-BS5a069W.mjs";import{t as y}from"./color-iQl4CJwm.mjs";import{g as b,n as x}from"./agents-aJwt-ODK.mjs";import{t as S}from"./update-planner-Cr9XVW1l.mjs";import{t as C}from"./lifecycle-observations-CqYFJfMT.mjs";import{a as w,i as T,n as E,r as D}from"./user-output-DLbKXqDm.mjs";import{n as O}from"./installation-failure-diagnostics-BJnxrzTa.mjs";import{a as k,c as ee,l as te,r as ne,s as re,u as A}from"./lifecycle-policy-B5rqTthw.mjs";async function j(e){let t;for(let n of e.commands){let r=await i(n,e.context,`agent self-update failed`);if(r.kind===`success`)return{kind:`success`,value:{evidence:[{kind:`command`,value:n.join(` `)}],target:e.target}};if(r.kind===`cancelled`||r.kind===`timed-out`)return r;t=r}return t??{kind:`unsupported`,operation:`update`,reason:`No self-update command is configured.`}}async function M(){let e=N();try{return await e.run()}finally{e.dispose()}}function N(){return P(()=>c().map(e=>e.name))}function ie(){return P(async()=>Object.keys((await u()).installedAgents))}function P(e){let t=v(),n=0,r=!1,i=!1,c,l,u,f,p=()=>{!r||i||n>0||(i=!0,t.dispose())},m=async e=>{if(r)throw Error(`Lifecycle update batch invocation has been disposed.`);n+=1;try{return await t.run(e)}finally{--n,p()}},h=()=>(u??=o().then(n=>{let r=C(t.context);return{classifyMutationLockError:e=>a(e)?{reason:e.message,resource:e.resource}:void 0,clock:()=>new Date().toISOString(),dryRun:E(),executeSelfUpdate:j,listRegisteredAgentNames:e,observe:r.resolveAgentObservation,planLifecycleUpdate:S,providerRegistry:s,registerCleanup:t.context.registerCleanup,signal:t.context.signal,timeoutMs:t.context.timeoutMs,updateOptions:{updateStrategy:n.npmBunUpdateStrategy},withMutationLock:b,writeReceipt:d.write}}),u),g=()=>r?Promise.reject(Error(`Lifecycle update batch invocation has been disposed.`)):(l??=m(async()=>te(await h())),l);return{dispose(){r||(r=!0,p())},getOutcome:()=>c,async observe(e){return m(async()=>(await h()).observe(e))},prepare:g,run(){return r?Promise.reject(Error(`Lifecycle update batch invocation has been disposed.`)):(f??=(async()=>{let e=await g();return c=await m(async()=>re(e,await h())),c})(),f)}}}async function F(e){let t=I(e);try{return await t.run()}finally{t.dispose()}}function I(e){let t=v(),n=0,r=!1,i=!1,a,c,l,u,f=()=>{!r||i||n>0||(i=!0,t.dispose())},p=async e=>{if(r)throw Error(`Single-agent update invocation has been disposed.`);n+=1;try{return await t.run(e)}finally{--n,f()}},m=()=>(l??=o().then(e=>{let n=C(t.context);return{clock:()=>new Date().toISOString(),dryRun:E(),executeSelfUpdate:j,observe:n.resolveAgentObservation,planLifecycleUpdate:S,providerRegistry:s,registerCleanup:t.context.registerCleanup,signal:t.context.signal,timeoutMs:t.context.timeoutMs,updateOptions:{updateStrategy:e.npmBunUpdateStrategy},withMutationLock:b,writeReceipt:d.write}}),l),h=()=>r?Promise.reject(Error(`Single-agent update invocation has been disposed.`)):(c??=p(async()=>A(e,await m())),c);return{dispose(){r||(r=!0,f())},getOutcome:()=>a,async observe(e){return p(async()=>(await m()).observe(e))},prepare:h,run(){return r?Promise.reject(Error(`Single-agent update invocation has been disposed.`)):(u??=(async()=>{let e=await h();return a=e.kind===`planned`?await p(async()=>ee(e.planned,await m())):e,a})(),u)}}}async function L(e,t,n={runBatch:M,runManagedBatch:M,runSingle:F},r=!1){if(r&&!t)return f(h({action:`update`,error:{code:`INVALID_ARGUMENT`,message:`The --managed option requires --all.`},target:{kind:`agent`}}),Q);if(t)return z(n,r?`managed`:`all`);if(!e)return f(h({action:`update`,error:{code:`INVALID_ARGUMENT`,message:`Please specify an agent name or use --all flag`},target:{kind:`agent`}}),Q);let i=x(e);return i?B(i,n):f(h({action:`update`,error:{code:`AGENT_NOT_FOUND`,details:{input:e},message:`Unknown agent: ${e}`},target:{kind:`agent`,name:e}}),Q)}function R(e,t,n=!1){if(t){let t=n?ie():N();return{dispose:t.dispose,idempotencyPolicy:()=>ne(t),run:()=>L(e,!0,{runBatch:()=>t.run(),runManagedBatch:()=>t.run(),runSingle:F},n)}}if(!e)return{dispose(){},run:()=>L(e,t,void 0,n)};let r=I(e);return{dispose:r.dispose,idempotencyPolicy:()=>k(e,r),run:()=>L(e,!1,{runBatch:M,runManagedBatch:M,runSingle:()=>r.run()},n)}}async function z(e,t){m({action:`update`,data:{scope:t},target:{kind:`agent`},type:`started`});let n=await(t===`managed`?(e.runManagedBatch??e.runBatch)():e.runBatch()),r=W(n),i=q(n);return ae(n)?f(h({action:`update`,data:{results:r,scope:t},error:{code:`CANCELLED`,message:`Update was cancelled before all agents could be updated.`},target:{kind:`agent`},warnings:i}),Q):r.some(e=>e.status===`failed`||e.status===`locked`)?f(h({action:`update`,data:{results:r,scope:t},error:{code:`UPDATE_FAILED`,message:`One or more agents failed to update.`},target:{kind:`agent`},warnings:i}),Q):f(p({action:`update`,data:{results:r,scope:t},target:{kind:`agent`},warnings:i}),Q)}async function B(e,t){m({action:`update`,data:{agent:e.name,scope:`single`},target:{kind:`agent`,name:e.name},type:`started`});let n;try{n=await t.runSingle(e.name)}catch(t){if(!a(t))throw t;return f(h({action:`update`,data:{results:[{displayName:e.displayName,message:t.message,name:e.name,resource:t.resource,status:`locked`}],scope:`single`},error:{code:`RESOURCE_LOCKED`,details:{resource:t.resource},message:t.message},target:{kind:`agent`,name:e.name}}),Q)}let r=U(n);if(n.kind===`unknown-agent`)return f(h({action:`update`,error:{code:`AGENT_NOT_FOUND`,message:`Unknown agent: ${e.name}`},target:{kind:`agent`,name:e.name}}),Q);if(r?.observation.kind===`absent`){let t=r.observation.drift.kind===`recorded-absent`?[J(e)]:[];return f(h({action:`update`,error:{code:`AGENT_NOT_INSTALLED`,message:`${e.displayName} is not installed.`},target:{kind:`agent`,name:e.name},warnings:t}),Q)}let i=H(e,n);return Z([],i),n.kind===`cancelled`?f(h({action:`update`,data:{results:[i],scope:`single`},error:{code:`CANCELLED`,message:`Update of ${e.displayName} was cancelled.`},target:{kind:`agent`,name:e.name}}),Q):i.status===`failed`||i.status===`locked`?f(h({action:`update`,data:{results:[i],scope:`single`},error:{code:`UPDATE_FAILED`,message:`Failed to update ${e.displayName}.`},target:{kind:`agent`,name:e.name}}),Q):f(p({action:`update`,data:{results:[i],scope:`single`},target:{kind:`agent`,name:e.name},warnings:V(e,n)}),Q)}function V(e,t){if(t.kind!==`blocked`||t.category!==`superseded-package`)return[];let n=g(e,t.before.installedState);return n?[r(e,n)]:[]}function H(t,r){let i=U(r),a=`plan`in r?r.plan:void 0,o=i?.observation.kind===`present`?i.observation.version:void 0,s=Y(a),c=X(a)??i?.binding?.providerId;switch(r.kind){case`updated`:return{displayName:t.displayName,installedVersion:o,latestVersion:r.receipt.version??s,name:t.name,status:`updated`,strategy:c};case`up-to-date`:return{displayName:t.displayName,installedVersion:r.receipt.version??o,name:t.name,status:`up-to-date`,strategy:c};case`dry-run`:return{displayName:t.displayName,installedVersion:o,latestVersion:s,message:`Dry run: would update ${t.displayName}.`,name:t.name,status:`planned`,strategy:c};case`not-executed`:return r.plan.planning.decision===`up-to-date`?{displayName:t.displayName,installedVersion:o,latestVersion:s,name:t.name,status:`up-to-date`}:{displayName:t.displayName,installedVersion:o,latestVersion:s,message:n(t),name:t.name,status:`manual-required`};case`blocked`:return r.category===`untracked`?{displayName:t.displayName,installedVersion:o,message:e(t),name:t.name,status:`manual-required`}:r.category===`manual-required`?{displayName:t.displayName,installedVersion:o,message:n(t),name:t.name,status:`manual-required`}:r.category===`superseded-package`?{displayName:t.displayName,installedVersion:o,message:r.reason,name:t.name,status:`manual-required`}:{displayName:t.displayName,installedVersion:o,message:r.reason,name:t.name,status:`failed`};case`cancelled`:return{displayName:t.displayName,installedVersion:o,latestVersion:s,message:r.reason??`Update was cancelled before it could complete.`,name:t.name,status:`failed`,strategy:c};case`timed-out`:return{displayName:t.displayName,installedVersion:o,latestVersion:s,message:`Update timed out after ${r.timeoutMs}ms.`,name:t.name,status:`failed`,strategy:c};case`provider-failed`:return{displayName:t.displayName,installedVersion:o,latestVersion:s,name:t.name,status:`failed`,strategy:c};case`verification-failed`:case`receipt-failed`:return{displayName:t.displayName,installedVersion:o,latestVersion:s,message:r.kind===`receipt-failed`?r.reason:r.verification.reason,name:t.name,status:`failed`,strategy:c};case`unknown-agent`:return{displayName:t.displayName,name:t.name,status:`failed`}}}function U(e){if(`plan`in e)return e.plan.before;if(`before`in e)return e.before}function W(e){let t=new Map(e.results.map(e=>[e.id,e])),n=new Map(e.cancellationRemainder.map(e=>[e.id,e])),r=[];for(let i of e.plan.targets){let e=t.get(i.id),a=n.get(i.id);if(e){let t=G(e);t&&Z(r,t)}else a&&Z(r,K(a))}return r}function G(e){let n=e.planning.kind===`unknown-agent`?void 0:e.planning.kind===`planned`?e.planning.planned.before:e.planning.before,r=x(e.agentName);if(!r)return{displayName:n?.agent.displayName??e.agentName,name:e.agentName,status:`failed`};let i=e.execution;if(e.planning.kind===`blocked`&&e.planning.category===`stale-state`)return;if(i?.kind===`locked`)return{displayName:r.displayName,installedVersion:i.plan.before.observation.kind===`present`?i.plan.before.observation.version:void 0,latestVersion:Y(i.plan),message:i.reason,name:r.name,resource:i.resource,status:`locked`,strategy:X(i.plan)};if(i?.kind===`unexpected-failure`)return{displayName:r.displayName,installedVersion:i.plan.before.observation.kind===`present`?i.plan.before.observation.version:void 0,latestVersion:Y(i.plan),message:i.reason,name:r.name,status:`failed`,strategy:X(i.plan)};let a=i??(e.planning.kind===`planned`?{kind:`not-executed`,plan:e.planning.planned}:e.planning),o=H(r,a);return o.status===`failed`&&a.kind===`provider-failed`&&(o.hint=t(r,_({agent:r,installedState:n?.installedState,methods:[...n?.methods??[]]}))),o}function K(e){let t=x(e.agentName),n=e.planning.planned.before;return{displayName:t?.displayName??n.agent.displayName,installedVersion:n.observation.kind===`present`?n.observation.version:void 0,latestVersion:Y(e.planning.planned),message:e.reason??`Update was cancelled before it could start.`,name:t?.name??e.agentName,status:`failed`,strategy:X(e.planning.planned)}}function q(e){return e.plan.targets.flatMap(e=>{if(e.outcome.kind!==`blocked`)return[];let t=x(e.agentName)??e.outcome.before.agent;if(e.outcome.category===`stale-state`)return[J(t)];if(e.outcome.category===`superseded-package`){let n=g(t,e.outcome.before.installedState);return n?[r(t,n)]:[]}return[]})}function J(e){return{code:`AGENT_STALE_STATE`,details:{agentName:e.name,suggestedAction:`reconcile-agent-state`,suggestedCommands:[`quantex uninstall ${e.name}`]},message:`${e.displayName} is not installed but has stale lifecycle evidence. Run \`quantex uninstall ${e.name}\` to reconcile it.`}}function Y(e){return e?.strategy===`managed-provider`?e.plannedTargetVersion:void 0}function X(e){if(e)return e.strategy===`self-update`?`self-update`:`managed/${e.binding.providerId}`}function ae(e){return l().cancelled||e.cancellationRemainder.length>0||e.results.some(e=>e.planning.kind===`cancelled`||e.execution?.kind===`cancelled`)}function Z(e,t){e.push(t),m({action:`update`,data:t,target:{kind:`agent`,name:t.name},type:`progress`})}function Q(e){if(!e.data){e.error&&D(y.red(e.error.message));return}for(let t of e.warnings)w(y.yellow(t.message));for(let t of e.data.results)switch(t.status){case`up-to-date`:T(y.green(`${t.displayName} is up to date (${t.installedVersion??`unknown`})`));break;case`manual-required`:w(y.yellow(`${t.displayName}: manual action required.`)),t.message&&w(y.cyan(`Next step: ${t.message}`));break;case`planned`:w(y.cyan(`Would update ${t.displayName}${t.strategy?` via ${t.strategy}`:``}${$(t.installedVersion,t.latestVersion)}`));break;case`updated`:T(y.cyan(`Updating ${t.displayName}${t.strategy?` via ${t.strategy}`:``}...${$(t.installedVersion,t.latestVersion)}`)),T(y.green(`${t.displayName} updated successfully!`));break;case`failed`:T(y.cyan(`Updating ${t.displayName}${t.strategy?` via ${t.strategy}`:``}...${$(t.installedVersion,t.latestVersion)}`)),D(y.red(O(`Failed to update ${t.displayName}.`,t.message))),t.hint&&w(y.cyan(`Next step: ${t.hint}`));break;case`locked`:w(y.yellow(t.message??`Another quantex process is already updating ${t.displayName}.`));break}e.data.results.length>1&&oe(e.data.results),!e.data.results.length&&e.error&&D(y.red(e.error.message))}function $(e,t){return e?` (${e} -> ${t??`latest`})`:``}function oe(e){let t={failed:0,locked:0,manualRequired:0,planned:0,upToDate:0,updated:0};for(let n of e)switch(n.status){case`up-to-date`:t.upToDate+=1;break;case`manual-required`:t.manualRequired+=1;break;case`planned`:t.planned+=1;break;case`updated`:t.updated+=1;break;case`failed`:t.failed+=1;break;case`locked`:t.locked+=1;break}let n=[t.updated?`updated ${t.updated}`:void 0,t.upToDate?`up to date ${t.upToDate}`:void 0,t.manualRequired?`manual ${t.manualRequired}`:void 0,t.failed?`failed ${t.failed}`:void 0,t.locked?`locked ${t.locked}`:void 0,t.planned?`planned ${t.planned}`:void 0].filter(Boolean);n.length>0&&T(y.bold(`Summary: ${n.join(`, `)}`))}export{R as createUpdateCommandInvocation};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,r as n}from"./child-process-DzIdysOm.mjs";import{s as r}from"./file-store-XNyirRRY.mjs";import{n as i}from"./cli-context-DI43ouBg.mjs";import{dirname as a,join as o}from"node:path";import{mkdir as s,readFile as c,writeFile as l}from"node:fs/promises";const u={platform:process.platform,spawn:(e,n)=>t(e,{...n,stdio:n.stdio?[...n.stdio]:void 0}),terminate:e,writeStderr:e=>{process.stderr.write(e)}};function d(e=u){return{async run(t){if(t.signal.aborted)return p(t.signal);let r;try{r=e.spawn(t.argv,{...t.cwd?{cwd:t.cwd}:{},detached:e.platform!==`win32`,...t.env?{env:{...process.env,...t.env}}:{},stdio:t.stdio})}catch(e){return m(`failed`,g(e,`Failed to launch agent process.`))}let i=n(r),a,o,s=new Promise(e=>{o=()=>e({kind:`cancelled`}),t.signal.addEventListener(`abort`,o,{once:!0}),t.signal.aborted&&o()}),c=i.then(e=>({kind:`completed`,result:e})),l=t.timeoutMs===void 0?void 0:new Promise(e=>{a=setTimeout(()=>e({kind:`timed-out`}),t.timeoutMs)});try{let n=await Promise.race(l?[c,s,l]:[c,s]);if(n.kind===`completed`)return f(n.result,t,e);if(n.kind===`cancelled`)return await e.terminate(r),await i.catch(()=>void 0),p(t.signal);let a=await v(c,_(t.timeoutMs));return a?f(a.result,t,e):(await e.terminate(r),await i.catch(()=>void 0),m(`timed-out`,`Agent process timed out after ${t.timeoutMs}ms.`))}finally{a&&clearTimeout(a),t.signal.removeEventListener(`abort`,o)}}}}function f(e,t,n){t.forwardPipedOutput!==!1&&(t.stdio?.[1]===`pipe`&&e.stdout&&n.writeStderr?.(e.stdout),t.stdio?.[2]===`pipe`&&e.stderr&&n.writeStderr?.(e.stderr));let r=new TextEncoder;return{kind:`success`,value:{exitCode:e.exitCode,...e.stderr?{stderr:r.encode(e.stderr)}:{},...e.stdout?{stdout:r.encode(e.stdout)}:{}}}}function p(e){return m(`cancelled`,h(e)??`Agent process was cancelled.`)}function m(e,t){return{error:{kind:e,message:t},kind:`failure`}}function h(e){if(e.reason!==void 0)return e.reason instanceof Error?e.reason.message:String(e.reason)}function g(e,t){return e instanceof Error&&e.message.trim()?e.message:t}function _(e){return Math.max(1,Math.min(e,250))}async function v(e,t){let n;try{return await Promise.race([e,new Promise(e=>{n=setTimeout(()=>e(void 0),t)})])}finally{n&&clearTimeout(n)}}function y(e={}){let t=e.filePath??o(r(),`cache`,`versions.json`),n=e.getCacheMode??(()=>i().cacheMode??`default`),a=e.now??Date.now;return{async read(e){let r=T(e.signal);if(r)return r;if(n()===`no-cache`)return C({kind:`miss`});try{let n=await b(t),r=T(e.signal);if(r)return r;let i=n.entries[e.key];if(!i||i.expiresAt<=a())return C({kind:`miss`});try{return C({expiresAtMs:i.expiresAt,kind:`hit`,value:JSON.parse(i.body)})}catch{return w(`invalid-data`,`Cached value for ${e.key} is not valid JSON.`)}}catch(e){return E(e,`Failed to read the version cache.`)}},async remove(e){let r=T(e.signal);if(r)return r;if(n()===`no-cache`)return C(void 0);try{let n=await b(t);return T(e.signal)||(Object.hasOwn(n.entries,e.key)?(delete n.entries[e.key],await x(t,n),T(e.signal)??C(void 0)):C(void 0))}catch(e){return E(e,`Failed to remove a version cache entry.`)}},async write(e){let r=T(e.signal);if(r)return r;if(n()===`no-cache`)return C(void 0);try{let n=await b(t),r=T(e.signal);if(r)return r;let i=a(),o=JSON.stringify(e.value);return o===void 0?w(`invalid-data`,`Cached value for ${e.key} is not JSON serializable.`):(n.entries[e.key]={body:o,expiresAt:e.expiresAtMs??2**53-1,fetchedAt:i},await x(t,n),T(e.signal)??C(void 0))}catch(e){return E(e,`Failed to write the version cache.`)}}}}async function b(e){try{return S(JSON.parse(await c(e,`utf8`)))}catch(e){if(D(e)||e instanceof SyntaxError)return{entries:{}};throw e}}async function x(e,t){await s(a(e),{recursive:!0}),await l(e,`${JSON.stringify(t,null,2)}\n`,`utf8`)}function S(e){if(!O(e)||!O(e.entries))return{entries:{}};let t={};for(let[n,r]of Object.entries(e.entries))!O(r)||typeof r.body!=`string`||!k(r.expiresAt)||(t[n]={body:r.body,etag:typeof r.etag==`string`?r.etag:void 0,expiresAt:r.expiresAt,fetchedAt:k(r.fetchedAt)?r.fetchedAt:void 0});return{entries:t}}function C(e){return{kind:`success`,value:e}}function w(e,t,n){return{error:{code:n,kind:e,message:t},kind:`failure`}}function T(e){return e.aborted?w(`cancelled`,`Cache operation was cancelled.`):void 0}function E(e,t){return w(`failed`,t,O(e)&&typeof e.code==`string`?e.code:void 0)}function D(e){return O(e)&&(e.code===`ENOENT`||e.code===`ENOTDIR`)}function O(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function k(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}export{d as n,y as t};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|