quantex-cli 1.9.1 → 1.9.3
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/dist/{agent-installation-BJJU5uXF.mjs → agent-installation-DHO0ow7r.mjs} +1 -1
- package/dist/agent-observation-CfcMn9WV.mjs +1 -0
- package/dist/{agents-CB6EgrCq.mjs → agents-CrpEet3k.mjs} +1 -1
- package/dist/{agents-C7P-xA0v.mjs → agents-D8cKnruY.mjs} +1 -1
- package/dist/capabilities-CsiJ-C_m.mjs +1 -0
- package/dist/{capabilities-DRpX0oYJ.mjs → capabilities-D6qhscrW.mjs} +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/commands-BJ23SK0L.mjs +1 -0
- package/dist/{commands-CEzaL8Yd.mjs → commands-BzecusgX.mjs} +1 -1
- package/dist/{config-BLkuHAGk.mjs → config-C-JI4qpR.mjs} +1 -1
- package/dist/{core-installation-cli-CkmOzkYO.mjs → core-installation-cli-DZ1e77t7.mjs} +1 -1
- package/dist/{core-read-observations-py_L86ID.mjs → core-read-observations-BrpZcWvc.mjs} +1 -1
- package/dist/{doctor-DWkPOpd3.mjs → doctor-DX1lDHyF.mjs} +1 -1
- package/dist/ensure-Doeatx1U.mjs +1 -0
- package/dist/{ensure-B1bA6QVE.mjs → ensure-qTmfrIZH.mjs} +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{info-C18_hff4.mjs → info-C2zlWeSO.mjs} +1 -1
- package/dist/inspect-Cgbbp8BQ.mjs +1 -0
- package/dist/{inspect-C9j-GclY.mjs → inspect-DMFORkjq.mjs} +1 -1
- package/dist/{install-D1BMnGhP.mjs → install-CJ7MEEGP.mjs} +1 -1
- package/dist/{installation-compatibility-Mc1ZlVS1.mjs → installation-compatibility-Bp2fRly-.mjs} +1 -1
- package/dist/{installation-production-BuCazkkr.mjs → installation-production-CNd4gpYS.mjs} +1 -1
- package/dist/{lifecycle-observations-CfxGqoG1.mjs → lifecycle-observations-C0_5T7Bb.mjs} +1 -1
- package/dist/{lifecycle-policy-CqPn6tyi.mjs → lifecycle-policy-zCN2-yuJ.mjs} +1 -1
- package/dist/{list-CWw2-6sr.mjs → list-DJ1pmciF.mjs} +1 -1
- package/dist/{output-V8N4qh1L.mjs → output-B4sRR2tr.mjs} +2 -2
- package/dist/{production-observation-DCU7IJZl.mjs → production-observation-naggaOuu.mjs} +1 -1
- package/dist/{provider-evidence-B67K3coo.mjs → provider-evidence-DR-QuMEo.mjs} +1 -1
- package/dist/{provider-observations-Csayzb91.mjs → provider-observations-BDE3i4I5.mjs} +1 -1
- package/dist/{providers-Dm1YYCk4.mjs → providers-p64zNxTK.mjs} +1 -1
- package/dist/resolve-BSe6Xsos.mjs +1 -0
- package/dist/{resolve-D0GUoUxE.mjs → resolve-BSissTmf.mjs} +1 -1
- package/dist/{schema-CbhvnjCG.mjs → schema-CBWLV0OP.mjs} +1 -1
- package/dist/schema-DYeOpHFC.mjs +1 -0
- package/dist/uninstall-DQD-DRVC.mjs +1 -0
- package/dist/{unmanaged-install-compatibility-wJLJfXlr.mjs → unmanaged-install-compatibility-DxP2dgAO.mjs} +1 -1
- package/dist/update-CFqegK9t.mjs +1 -0
- package/dist/{upgrade-DQFtQVSO.mjs → upgrade-rX9m7AFr.mjs} +1 -1
- package/package.json +1 -1
- package/dist/agent-observation-CwtWTGGR.mjs +0 -1
- package/dist/capabilities-Crhw_Blt.mjs +0 -1
- package/dist/commands-xtFP6b7b.mjs +0 -1
- package/dist/ensure-BADZwjFz.mjs +0 -1
- package/dist/inspect-c7uT6XE1.mjs +0 -1
- package/dist/resolve-DcQY7beJ.mjs +0 -1
- package/dist/schema-D-0a1QKv.mjs +0 -1
- package/dist/uninstall-BknTn1R8.mjs +0 -1
- package/dist/update-1wac4HvD.mjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,n as t,t as n}from"./output-
|
|
1
|
+
import{i as e,n as t,t as n}from"./output-B4sRR2tr.mjs";import{a as r,o as i}from"./providers-p64zNxTK.mjs";import{i as a,n as o,t as s}from"./human-BL2-F6cA.mjs";import{t as c}from"./color-iQl4CJwm.mjs";import{n as l,r as u}from"./core-read-observations-BrpZcWvc.mjs";async function d(a){let o=await l(a);if(!o)return e(n({action:`resolve`,error:{code:`AGENT_NOT_FOUND`,details:{input:a},message:`Unknown agent: ${a}`},target:{kind:`agent`,name:a}}),f);let{agent:s}=o,c=u(o);if(!c.inPath||!c.binaryPath){let t=c.methods.map(e=>({command:r(s,e),label:i(e),type:e.type})).filter(e=>e.command);return e(n({action:`resolve`,data:{agent:{binaryName:s.binaryName,displayName:s.displayName,name:s.name},resolution:{binaryPath:``,installGuidance:{docsRef:`skills/quantex-cli/references/command-recipes.md`,installMethods:t,suggestedAction:`ensure-agent-installed`,suggestedEnsureCommand:`quantex ensure ${s.name}`},installed:!1,installSource:`not-installed`,lifecycle:`unmanaged`,sourceLabel:`not installed`,suggestedLaunchCommand:[]}},error:{code:`AGENT_NOT_INSTALLED`,details:{docsRef:`skills/quantex-cli/references/command-recipes.md`,installMethods:t,suggestedAction:`ensure-agent-installed`,suggestedEnsureCommand:`quantex ensure ${s.name}`},message:`${s.displayName} is not installed.`},target:{kind:`agent`,name:s.name}}),f)}return e(t({action:`resolve`,data:{agent:{binaryName:s.binaryName,displayName:s.displayName,name:s.name},resolution:{binaryPath:c.binaryPath,installed:!0,installSource:c.installedState?.installType??`detected-in-path`,installedVersion:c.installedVersion,lifecycle:c.lifecycle,sourceLabel:c.sourceLabel,suggestedLaunchCommand:[c.binaryPath]}},target:{kind:`agent`,name:s.name}}),f)}function f(e){let t=s();if(e.error){for(let n of a(c.red(e.error.message),{width:t}))console.log(n);let n=e.data?.resolution.installGuidance;if(n){for(let e of a(c.dim(`Try: ${n.suggestedEnsureCommand}`),{continuationIndent:` `,width:t}))console.log(e);for(let e of n.installMethods)for(let n of a(c.dim(`[${e.label}] ${e.command}`),{continuationIndent:` `,indent:`Install: `,width:t}))console.log(n)}return}if(!e.data)return;console.log(c.bold(`\n${e.data.agent.displayName}\n`));let n=[{label:`Name`,value:e.data.agent.name},{label:`Binary`,value:e.data.agent.binaryName},{label:`Path`,value:e.data.resolution.binaryPath},{label:`Source`,value:e.data.resolution.sourceLabel},{label:`Lifecycle`,value:e.data.resolution.lifecycle},{label:`Install type`,value:e.data.resolution.installSource},...e.data.resolution.installedVersion?[{label:`Version`,value:e.data.resolution.installedVersion}]:[],{label:`Launch`,value:e.data.resolution.suggestedLaunchCommand.join(` `)}];for(let e of o(n,{labelStyle:c.bold,width:t}))console.log(e);console.log()}export{d as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{G as e,i as t,n,t as r}from"./output-
|
|
1
|
+
import{G as e,i as t,n,t as r}from"./output-B4sRR2tr.mjs";import{i,r as a,t as o}from"./human-BL2-F6cA.mjs";import{t as s}from"./color-iQl4CJwm.mjs";async function c(e){let i=u(),a=e?i.filter(t=>t.name===e):i;return e&&a.length===0?t(r({action:`schema`,error:{code:`INVALID_ARGUMENT`,details:{command:e},message:`Unknown schema target: ${e}`},target:{kind:`system`,name:`schema`}}),l):t(n({action:`schema`,data:{commands:a},target:{kind:`system`,name:`schema`}}),l)}function l(e){if(e.error){console.log(s.red(e.error.message));return}if(!e.data)return;let t=o();console.log(s.bold(`
|
|
2
2
|
Quantex Schemas
|
|
3
3
|
`));for(let n of a(e.data.commands,[{header:`Command`,maxWidth:24,minWidth:8,value:e=>s.cyan(e.name)},{header:`Description`,minWidth:16,value:e=>e.description,wrap:!0}],{headerStyle:s.bold,width:t}))console.log(n);console.log();for(let e of i(s.dim(`Document: qtx schema <command> --json`),{indent:` `,width:t}))console.log(e);console.log()}function u(){return e().map(e=>e.schema)}export{c as n,u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./schema-CBWLV0OP.mjs";export{e as schemaCommand};
|
|
@@ -0,0 +1 @@
|
|
|
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-B4sRR2tr.mjs";import{p as f}from"./providers-p64zNxTK.mjs";import{t as p}from"./color-iQl4CJwm.mjs";import{g as m,n as h,p as g}from"./agents-D8cKnruY.mjs";import{a as _,i as v,t as y}from"./provider-binding-DV5J36pp.mjs";import{t as b}from"./provider-evidence-DR-QuMEo.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?_(b,e):void 0,x=u?v(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 +1 @@
|
|
|
1
|
-
import{n as e}from"./detect-BUVMt8jZ.mjs";import{l as t}from"./providers-
|
|
1
|
+
import{n as e}from"./detect-BUVMt8jZ.mjs";import{l as t}from"./providers-p64zNxTK.mjs";import{n}from"./agents-D8cKnruY.mjs";import{n as r}from"./lifecycle-observations-C0_5T7Bb.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,r as t,t as n}from"./messages-CoROK9f4.mjs";import{g as r}from"./npm-DUDR-Khz.mjs";import{a as i,d as a}from"./file-store-XNyirRRY.mjs";import{I as o,r as s}from"./agents-CrpEet3k.mjs";import{n as c}from"./cli-context-DI43ouBg.mjs";import{T as l,i as u,n as d,r as f,t as p}from"./output-B4sRR2tr.mjs";import{r as m}from"./providers-p64zNxTK.mjs";import{t as h}from"./cli-operation-context-BS5a069W.mjs";import{t as g}from"./color-iQl4CJwm.mjs";import{g as _,n as v}from"./agents-D8cKnruY.mjs";import{t as y}from"./update-planner-Cr9XVW1l.mjs";import{t as b}from"./lifecycle-observations-C0_5T7Bb.mjs";import{a as x,i as S,n as C,r as w}from"./user-output-DLbKXqDm.mjs";import{n as T}from"./installation-failure-diagnostics-BJnxrzTa.mjs";import{a as E,c as D,l as O,r as k,s as A,u as j}from"./lifecycle-policy-zCN2-yuJ.mjs";async function M(e){let t;for(let n of e.commands){let i=await r(n,e.context,`agent self-update failed`);if(i.kind===`success`)return{kind:`success`,value:{evidence:[{kind:`command`,value:n.join(` `)}],target:e.target}};if(i.kind===`cancelled`||i.kind===`timed-out`)return i;t=i}return t??{kind:`unsupported`,operation:`update`,reason:`No self-update command is configured.`}}async function N(){let e=P();try{return await e.run()}finally{e.dispose()}}function P(){let e=h(),t=0,n=!1,r=!1,c,u,d,f,p=()=>{!n||r||t>0||(r=!0,e.dispose())},m=async r=>{if(n)throw Error(`Lifecycle update batch invocation has been disposed.`);t+=1;try{return await e.run(r)}finally{--t,p()}},g=()=>(d??=a().then(t=>{let n=b(e.context);return{classifyMutationLockError:e=>i(e)?{reason:e.message,resource:e.resource}:void 0,clock:()=>new Date().toISOString(),dryRun:C(),executeSelfUpdate:M,listRegisteredAgentNames:()=>s().map(e=>e.name),observe:n.resolveAgentObservation,planLifecycleUpdate:y,providerRegistry:o,registerCleanup:e.context.registerCleanup,signal:e.context.signal,timeoutMs:e.context.timeoutMs,updateOptions:{updateStrategy:t.npmBunUpdateStrategy},withMutationLock:_,writeReceipt:l.write}}),d),v=()=>n?Promise.reject(Error(`Lifecycle update batch invocation has been disposed.`)):(u??=m(async()=>O(await g())),u);return{dispose(){n||(n=!0,p())},getOutcome:()=>c,async observe(e){return m(async()=>(await g()).observe(e))},prepare:v,run(){return n?Promise.reject(Error(`Lifecycle update batch invocation has been disposed.`)):(f??=(async()=>{let e=await v();return c=await m(async()=>A(e,await g())),c})(),f)}}}async function F(e){let t=I(e);try{return await t.run()}finally{t.dispose()}}function I(e){let t=h(),n=0,r=!1,i=!1,s,c,u,d,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=()=>(u??=a().then(e=>{let n=b(t.context);return{clock:()=>new Date().toISOString(),dryRun:C(),executeSelfUpdate:M,observe:n.resolveAgentObservation,planLifecycleUpdate:y,providerRegistry:o,registerCleanup:t.context.registerCleanup,signal:t.context.signal,timeoutMs:t.context.timeoutMs,updateOptions:{updateStrategy:e.npmBunUpdateStrategy},withMutationLock:_,writeReceipt:l.write}}),u),g=()=>r?Promise.reject(Error(`Single-agent update invocation has been disposed.`)):(c??=p(async()=>j(e,await m())),c);return{dispose(){r||(r=!0,f())},getOutcome:()=>s,async observe(e){return p(async()=>(await m()).observe(e))},prepare:g,run(){return r?Promise.reject(Error(`Single-agent update invocation has been disposed.`)):(d??=(async()=>{let e=await g();return s=e.kind===`planned`?await p(async()=>D(e.planned,await m())):e,s})(),d)}}}async function L(e,t,n={runBatch:N,runSingle:F}){if(t)return z(n);if(!e)return u(p({action:`update`,error:{code:`INVALID_ARGUMENT`,message:`Please specify an agent name or use --all flag`},target:{kind:`agent`}}),Q);let r=v(e);return r?B(r,n):u(p({action:`update`,error:{code:`AGENT_NOT_FOUND`,details:{input:e},message:`Unknown agent: ${e}`},target:{kind:`agent`,name:e}}),Q)}function R(e,t){if(t){let t=P();return{dispose:t.dispose,idempotencyPolicy:()=>k(t),run:()=>L(e,!0,{runBatch:()=>t.run(),runSingle:F})}}if(!e)return{dispose(){},run:()=>L(e,t)};let n=I(e);return{dispose:n.dispose,idempotencyPolicy:()=>E(e,n),run:()=>L(e,!1,{runBatch:N,runSingle:()=>n.run()})}}async function z(e){f({action:`update`,data:{scope:`all`},target:{kind:`agent`},type:`started`});let t=await e.runBatch(),n=U(t),r=K(t);return X(t)?u(p({action:`update`,data:{results:n,scope:`all`},error:{code:`CANCELLED`,message:`Update was cancelled before all agents could be updated.`},target:{kind:`agent`},warnings:r}),Q):n.some(e=>e.status===`failed`||e.status===`locked`)?u(p({action:`update`,data:{results:n,scope:`all`},error:{code:`UPDATE_FAILED`,message:`One or more agents failed to update.`},target:{kind:`agent`},warnings:r}),Q):u(d({action:`update`,data:{results:n,scope:`all`},target:{kind:`agent`},warnings:r}),Q)}async function B(e,t){f({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(!i(t))throw t;return u(p({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=H(n);if(n.kind===`unknown-agent`)return u(p({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`?[q(e)]:[];return u(p({action:`update`,error:{code:`AGENT_NOT_INSTALLED`,message:`${e.displayName} is not installed.`},target:{kind:`agent`,name:e.name},warnings:t}),Q)}let a=V(e,n);return Z([],a),n.kind===`cancelled`?u(p({action:`update`,data:{results:[a],scope:`single`},error:{code:`CANCELLED`,message:`Update of ${e.displayName} was cancelled.`},target:{kind:`agent`,name:e.name}}),Q):a.status===`failed`||a.status===`locked`?u(p({action:`update`,data:{results:[a],scope:`single`},error:{code:`UPDATE_FAILED`,message:`Failed to update ${e.displayName}.`},target:{kind:`agent`,name:e.name}}),Q):u(d({action:`update`,data:{results:[a],scope:`single`},target:{kind:`agent`,name:e.name}}),Q)}function V(n,r){let i=H(r),a=`plan`in r?r.plan:void 0,o=i?.observation.kind===`present`?i.observation.version:void 0,s=J(a),c=Y(a)??i?.binding?.providerId;switch(r.kind){case`updated`:return{displayName:n.displayName,installedVersion:o,latestVersion:r.receipt.version??s,name:n.name,status:`updated`,strategy:c};case`up-to-date`:return{displayName:n.displayName,installedVersion:r.receipt.version??o,name:n.name,status:`up-to-date`,strategy:c};case`dry-run`:return{displayName:n.displayName,installedVersion:o,latestVersion:s,message:`Dry run: would update ${n.displayName}.`,name:n.name,status:`planned`,strategy:c};case`not-executed`:return r.plan.planning.decision===`up-to-date`?{displayName:n.displayName,installedVersion:o,latestVersion:s,name:n.name,status:`up-to-date`}:{displayName:n.displayName,installedVersion:o,latestVersion:s,message:e(n),name:n.name,status:`manual-required`};case`blocked`:return r.category===`untracked`?{displayName:n.displayName,installedVersion:o,message:t(n),name:n.name,status:`manual-required`}:r.category===`manual-required`?{displayName:n.displayName,installedVersion:o,message:e(n),name:n.name,status:`manual-required`}:{displayName:n.displayName,installedVersion:o,message:r.reason,name:n.name,status:`failed`};case`cancelled`:return{displayName:n.displayName,installedVersion:o,latestVersion:s,message:r.reason??`Update was cancelled before it could complete.`,name:n.name,status:`failed`,strategy:c};case`timed-out`:return{displayName:n.displayName,installedVersion:o,latestVersion:s,message:`Update timed out after ${r.timeoutMs}ms.`,name:n.name,status:`failed`,strategy:c};case`provider-failed`:return{displayName:n.displayName,installedVersion:o,latestVersion:s,name:n.name,status:`failed`,strategy:c};case`verification-failed`:case`receipt-failed`:return{displayName:n.displayName,installedVersion:o,latestVersion:s,message:r.kind===`receipt-failed`?r.reason:r.verification.reason,name:n.name,status:`failed`,strategy:c};case`unknown-agent`:return{displayName:n.displayName,name:n.name,status:`failed`}}}function H(e){if(`plan`in e)return e.plan.before;if(`before`in e)return e.before}function U(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=W(e);t&&Z(r,t)}else a&&Z(r,G(a))}return r}function W(e){let t=e.planning.kind===`unknown-agent`?void 0:e.planning.kind===`planned`?e.planning.planned.before:e.planning.before,r=v(e.agentName);if(!r)return{displayName:t?.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:J(i.plan),message:i.reason,name:r.name,resource:i.resource,status:`locked`,strategy:Y(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:J(i.plan),message:i.reason,name:r.name,status:`failed`,strategy:Y(i.plan)};let a=i??(e.planning.kind===`planned`?{kind:`not-executed`,plan:e.planning.planned}:e.planning),o=V(r,a);return o.status===`failed`&&a.kind===`provider-failed`&&(o.hint=n(r,m({agent:r,installedState:t?.installedState,methods:[...t?.methods??[]]}))),o}function G(e){let t=v(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:J(e.planning.planned),message:e.reason??`Update was cancelled before it could start.`,name:t?.name??e.agentName,status:`failed`,strategy:Y(e.planning.planned)}}function K(e){return e.plan.targets.flatMap(e=>e.outcome.kind!==`blocked`||e.outcome.category!==`stale-state`?[]:[q(v(e.agentName)??e.outcome.before.agent)])}function q(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 J(e){return e?.strategy===`managed-provider`?e.plannedTargetVersion:void 0}function Y(e){if(e)return e.strategy===`self-update`?`self-update`:`managed/${e.binding.providerId}`}function X(e){return c().cancelled||e.cancellationRemainder.length>0||e.results.some(e=>e.planning.kind===`cancelled`||e.execution?.kind===`cancelled`)}function Z(e,t){e.push(t),f({action:`update`,data:t,target:{kind:`agent`,name:t.name},type:`progress`})}function Q(e){if(!e.data){e.error&&w(g.red(e.error.message));return}for(let t of e.warnings)x(g.yellow(t.message));for(let t of e.data.results)switch(t.status){case`up-to-date`:S(g.green(`${t.displayName} is up to date (${t.installedVersion??`unknown`})`));break;case`manual-required`:x(g.yellow(`${t.displayName}: manual action required.`)),t.message&&x(g.cyan(`Next step: ${t.message}`));break;case`planned`:x(g.cyan(`Would update ${t.displayName}${t.strategy?` via ${t.strategy}`:``}${$(t.installedVersion,t.latestVersion)}`));break;case`updated`:S(g.cyan(`Updating ${t.displayName}${t.strategy?` via ${t.strategy}`:``}...${$(t.installedVersion,t.latestVersion)}`)),S(g.green(`${t.displayName} updated successfully!`));break;case`failed`:S(g.cyan(`Updating ${t.displayName}${t.strategy?` via ${t.strategy}`:``}...${$(t.installedVersion,t.latestVersion)}`)),w(g.red(T(`Failed to update ${t.displayName}.`,t.message))),t.hint&&x(g.cyan(`Next step: ${t.hint}`));break;case`locked`:x(g.yellow(t.message??`Another quantex process is already updating ${t.displayName}.`));break}e.data.results.length>1&&ee(e.data.results),!e.data.results.length&&e.error&&w(g.red(e.error.message))}function $(e,t){return e?` (${e} -> ${t??`latest`})`:``}function ee(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&&S(g.bold(`Summary: ${n.join(`, `)}`))}export{R as createUpdateCommandInvocation};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./child-process-DzIdysOm.mjs";import{s as r}from"./schema-BBnWVY6R.mjs";import{i,n as a}from"./cli-context-DI43ouBg.mjs";import{c as o,d as s,f as c,i as l,m as u,n as d,t as f,u as p,y as m}from"./output-
|
|
1
|
+
import{c as e,o as t,t as n}from"./child-process-DzIdysOm.mjs";import{s as r}from"./schema-BBnWVY6R.mjs";import{i,n as a}from"./cli-context-DI43ouBg.mjs";import{c as o,d as s,f as c,i as l,m as u,n as d,t as f,u as p,y as m}from"./output-B4sRR2tr.mjs";import{t as h}from"./color-iQl4CJwm.mjs";import{a as g,i as _,n as v,r as y}from"./user-output-DLbKXqDm.mjs";import{n as b,t as x}from"./version-cache-jjIoeyWQ.mjs";const S={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 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,metadataCacheMode:t.options.cacheMode===`no-cache`?`no-cache`:`refresh`,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=a(),t=O({cacheMode:e.cacheMode,dryRun:e.dryRun,outputMode:e.outputMode,ports:M(),quiet:e.quiet,timeoutMs:e.timeoutMs});e.cancelled&&t.cancel(`cancelled`);let n=i(()=>t.cancel(`cancelled`)),r=!1,s={plan:e=>c({context:e.context,metadataCache:e.metadataCache,metadataCacheMode:e.metadataCacheMode,networkPort:e.networkPort,persistencePort:e.persistencePort,updateChannel:e.updateChannel}),upgrade:(e,t)=>o(e,t)};return{dispose(){r||(r=!0,n())},run:e=>k(e,t,s)}}function M(){return{cache:x(),clock:{now:Date.now,sleep:N},fileSystem:{makeDirectory:N,readFile:N,remove:N,rename:N,writeFile:N},locks:u(),network:T(),persistence:m(),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(),i=await r.run({check:e.check??!1,dryRun:t,updateChannel:e.channel}).finally(()=>r.dispose());if(i.kind===`interrupted`)throw new n({kind:`cancelled`,reason:i.error.message});let a=i.plan,o=s(a),c=L(o),u=z(o);if(a.status===`up-to-date`)return l(d({action:`upgrade`,data:{canAutoUpdate:o.canAutoUpdate,channel:o.updateChannel,currentVersion:o.currentVersion,installSource:o.installSource,latestVersion:o.latestVersion,status:`up-to-date`},target:{kind:`self`,name:`quantex`},warnings:[...c,...u?[u]:[]]}),I);if(e.check||t)return a.status===`update-available`?l(d({action:`upgrade`,data:{canAutoUpdate:o.canAutoUpdate,channel:o.updateChannel,currentVersion:o.currentVersion,installSource:o.installSource,latestVersion:o.latestVersion,status:`update-available`},exitCode:e.check?1:void 0,target:{kind:`self`,name:`quantex`},warnings:[...c,...u?[u]:[],...t?[{code:`DRY_RUN`,message:`Dry run: would upgrade Quantex CLI.`}]:[]]}),I):l(f({action:`upgrade`,data:{canAutoUpdate:o.canAutoUpdate,channel:o.updateChannel,currentVersion:o.currentVersion,installSource:o.installSource,status:`check-unavailable`},error:{code:`NETWORK_ERROR`,message:`Unable to determine the latest Quantex CLI version.`},target:{kind:`self`,name:`quantex`},warnings:[...c,...u?[u]:[]]}),I);if(a.status===`manual-required`){let e=p(o);return l(f({action:`upgrade`,data:{canAutoUpdate:o.canAutoUpdate,channel:o.updateChannel,currentVersion:o.currentVersion,installSource:o.installSource,latestVersion:o.latestVersion,recoveryHint:e,status:`manual-required`},error:{code:`MANUAL_ACTION_REQUIRED`,message:`Quantex CLI cannot auto-update from the current install source: ${o.installSource}.`},target:{kind:`self`,name:`quantex`},warnings:[...c,...u?[u]:[]]}),I)}if(i.kind!==`executed`)throw Error(`Self-upgrade execution did not produce a result.`);let m=i.result;if(m.success)return l(d({action:`upgrade`,data:{canAutoUpdate:o.canAutoUpdate,channel:o.updateChannel,currentVersion:o.currentVersion,installSource:o.installSource,latestVersion:o.latestVersion,status:`updated`},target:{kind:`self`,name:`quantex`},warnings:[...c,...u?[u]:[]]}),I);let h=p(o,m);return l(f({action:`upgrade`,data:{canAutoUpdate:o.canAutoUpdate,channel:o.updateChannel,currentVersion:o.currentVersion,installSource:o.installSource,latestVersion:o.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:[...c,...h?[{code:`MANUAL_RECOVERY`,message:`Manual recovery: ${h}`}]:[]]}),I)}function I(e){if(!e.data){e.error&&y(h.red(e.error.message));return}if(e.data.status===`up-to-date`){_(h.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(h.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(h.yellow(e.error.message)),R(e.warnings);return}if(e.data.status===`manual-required`&&e.error?.code===`MANUAL_ACTION_REQUIRED`){g(h.yellow(e.error.message)),e.data.recoveryHint&&g(h.cyan(`Next step: ${e.data.recoveryHint}`));return}let t=e.data.latestVersion?` (${e.data.currentVersion} -> ${e.data.latestVersion})`:` (${e.data.currentVersion})`;if(_(h.cyan(`Upgrading Quantex CLI...${t}`)),!e.error){_(h.green(`Quantex CLI upgraded successfully.`)),R(e.warnings);return}y(h.red(`Failed to upgrade Quantex CLI.`)),g(h.yellow(`Reason: ${e.error.message}`));for(let t of e.warnings)g(h.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(h.yellow(t.message))}function z(e){if(!e.latestVersion)return;let t=r(e.latestVersion,e.currentVersion);if(!(t===void 0||t>=0))return{code:`STALE_LATEST_VERSION`,details:{currentVersion:e.currentVersion,latestVersion:e.latestVersion},message:`The resolved latest version ${e.latestVersion} is older than the installed Quantex CLI ${e.currentVersion}. Quantex will not downgrade; retry with --refresh or --no-cache if you need a fresh check.`}}export{P as resolveUpgradeChannelOption,F as upgradeCommand};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quantex-cli",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.3",
|
|
4
4
|
"description": "Agent-friendly lifecycle CLI for AI coding assistant CLIs: install, inspect, update, uninstall, run, and automate Codex, Claude Code, Gemini, Cursor, OpenCode, and more",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent-cli",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as e}from"./schema-BBnWVY6R.mjs";import{a as t,i as n,n as r,t as i}from"./provider-binding-DV5J36pp.mjs";async function a(e,a){let[s,y,b]=await Promise.all([a.inspectExecutable(e),a.readInstalledState(e.name),a.readReceipt(e.name)]),x=a.clock(),S=r(e,a.platform),C=S.bindings,w=o(C,a.observationBinding,e.binaryName),T=w?[w]:C,E=y?t(e,y):void 0,D=b?n(b):void 0,O=D??E,k={catalogMethods:C,executable:s,installedState:y,pathExecutable:s,persistedBinding:O,receipt:b};if(y&&!E||b&&!D)return{...k,capabilities:[],observation:u(e,x,`Persisted provider binding cannot be resolved.`)};if(E&&D&&!i(E,D,e.binaryName))return{...k,capabilities:[],observation:s.present?l(e,s,x,{kind:`conflicting-source`,observedProviderId:E.providerId,recordedProviderId:D.providerId}):{drift:{kind:`conflicting-source`,observedProviderId:E.providerId,recordedProviderId:D.providerId},kind:`absent`,observedAt:x,targetId:e.name}};let A=O;if(A){let t=await c(A,a),n=a.providerRegistry.getCapabilities(A.providerId);if(t.kind!==`success`)return{...k,binding:A,capabilities:n,observation:u(e,x,_(t)),providerOutcome:t};let r=t.value;if(!h(A,r))return{...k,binding:A,capabilities:n,observation:g(e,s,x),providerOutcome:t};if(r.kind===`absent`&&!s.present)return{...k,binding:A,capabilities:n,observation:{drift:{kind:`recorded-absent`},kind:`absent`,observedAt:x,targetId:e.name},providerOutcome:t};let[i,o]=await Promise.all([r.kind===`present`?p(r.executablePath,s.path,a):!1,p(b?.executablePath,s.path,a)]),v=r.kind!==(s.present?`present`:`absent`)||s.present&&i||r.kind===`present`&&f(r.version,s.version)||o||m(e,y,b,A),S=d(s,r);return{...k,binding:A,capabilities:n,executable:S,observation:l(e,S,x,v?{kind:`conflicting-source`,observedProviderId:r.kind===`present`?A.providerId:void 0,recordedProviderId:A.providerId}:{kind:`none`},r.kind===`present`?A:void 0),providerOutcome:t}}let j=await Promise.all(T.map(async e=>({binding:e,outcome:await c(e,a)}))),M=j.find(e=>e.outcome.kind===`success`&&!h(e.binding,e.outcome.value));if(M)return{...k,capabilities:[],observation:g(e,s,x),providerOutcome:M.outcome};let N=j.filter(e=>e.outcome.kind===`success`&&e.outcome.value.kind===`present`),P=j.filter(e=>e.binding.providerId!==`binary`&&e.binding.providerId!==`script`),F=P.filter(e=>e.outcome.kind===`success`&&e.outcome.value.kind===`present`),I=P.some(e=>e.outcome.kind!==`success`),L=F.length>0?F:I?[]:N;if(L.length>1)return{...k,capabilities:[],observation:s.present?l(e,s,x,{kind:`conflicting-source`}):{drift:{kind:`conflicting-source`},kind:`indeterminate`,observedAt:x,reason:`Multiple catalog providers report the agent as present.`,targetId:e.name}};if(!w&&S.unresolvedCandidates.length>0)return{...k,capabilities:[],observation:u(e,x,`A catalog provider binding cannot be resolved.`)};let R=j.map(e=>e.outcome).find(v),z=j.map(e=>e.outcome).find(e=>e.kind===`cancelled`||e.kind===`timed-out`);if(z)return{...k,capabilities:[],observation:u(e,x,_(z)),providerOutcome:z};let B=L[0];if(B){let t=B.binding,n=B.outcome.value,r=d(s,n),i=await p(n.executablePath,s.path,a),o=!s.present||i||f(n.version,s.version);return{...k,binding:t,capabilities:a.providerRegistry.getCapabilities(t.providerId),executable:r,observation:l(e,r,x,o?{kind:`conflicting-source`,observedProviderId:t.providerId}:{kind:`untracked`},t),providerOutcome:B.outcome}}let V=w??a.preferredCatalogBinding,H=V?j.find(t=>i(t.binding,V,e.binaryName)&&t.outcome.kind===`success`&&t.outcome.value.kind===`absent`):void 0;return!s.present&&N.length===0&&R&&H?{...k,capabilities:[],observation:{drift:{kind:`none`},kind:`absent`,observedAt:x,targetId:e.name},providerOutcome:H.outcome}:R?{...k,capabilities:[],observation:u(e,x,_(R)),providerOutcome:R}:{...k,capabilities:[],observation:s.present?l(e,s,x,{kind:`untracked`}):{drift:{kind:`none`},kind:`absent`,observedAt:x,targetId:e.name}}}function o(e,t,n){if(t)return e.find(e=>i(e,t,n)&&s(e.target.arguments,t.target.arguments))}function s(e,t){return!e||!t?e===t:e.length===t.length&&e.every((e,n)=>e===t[n])}async function c(e,t){try{if(t.observeProvider)return await t.observeProvider(e,{registry:t.providerRegistry,signal:t.signal,timeoutMs:t.timeoutMs});let n=t.providerRegistry.get(e.providerId);return n?await n.observe({context:{signal:t.signal,timeoutMs:t.timeoutMs},target:e.target}):{kind:`unavailable`,reason:`Provider ${e.providerId} is not registered.`,retryable:!1}}catch(e){return{kind:`failed`,reason:y(e),retryable:!1}}}function l(e,t,n,r,i){return{drift:r,...t.path?{executablePath:t.path}:{},kind:`present`,observedAt:n,...i?{providerId:i.providerId,providerTargetId:i.target.id,providerTargetKind:i.target.kind}:{},targetId:e.name,...t.version?{version:t.version}:{}}}function u(e,t,n){return{drift:{kind:`indeterminate`,reason:n},kind:`indeterminate`,observedAt:t,reason:n,targetId:e.name}}function d(e,t){return t.kind===`absent`?e:{path:e.path??t.executablePath,present:!0,version:e.version??t.version}}function f(t,n){if(t===void 0||n===void 0)return!1;let r=e(t,n);return r===void 0?t!==n:r!==0}async function p(e,t,n){if(e===void 0||t===void 0||e===t)return!1;if(!n.resolveExecutablePath)return!0;let[r,i]=await Promise.all([n.resolveExecutablePath(e),n.resolveExecutablePath(t)]);return r===void 0||i===void 0||r!==i}function m(e,t,n,r){let i=[e.binaryName,t?.binaryName,n?.executableName,r.target.binaryName].filter(e=>e!==void 0);return new Set(i).size>1}function h(e,t){return e.target.id===t.target.id&&e.target.kind===t.target.kind}function g(e,t,n){return t.present?l(e,t,n,{kind:`conflicting-source`}):{drift:{kind:`conflicting-source`},kind:`indeterminate`,observedAt:n,reason:`Provider evidence does not match the requested target identity.`,targetId:e.name}}function _(e){switch(e.kind){case`unsupported`:return e.reason??`Provider does not support ${e.operation}.`;case`unavailable`:case`failed`:case`indeterminate`:return e.reason;case`cancelled`:return e.reason??`Provider observation was cancelled.`;case`timed-out`:return`Provider observation timed out after ${e.timeoutMs}ms.`}}function v(e){return e.kind!==`success`}function y(e){return e instanceof Error&&e.message.trim().length>0?`Provider observation rejected: ${e.message.trim().slice(0,500)}`:`Provider observation rejected unexpectedly.`}export{a as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./capabilities-DRpX0oYJ.mjs";export{e as capabilitiesCommand};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./commands-CEzaL8Yd.mjs";export{e as commandsCommand};
|
package/dist/ensure-BADZwjFz.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./ensure-B1bA6QVE.mjs";export{t as ensureCommand,e as ensureCommandWithRoute};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./inspect-C9j-GclY.mjs";export{e as inspectCommand};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./resolve-D0GUoUxE.mjs";export{e as resolveCommand};
|
package/dist/schema-D-0a1QKv.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./schema-CbhvnjCG.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-V8N4qh1L.mjs";import{p as f}from"./providers-Dm1YYCk4.mjs";import{t as p}from"./color-iQl4CJwm.mjs";import{g as m,n as h,p as g}from"./agents-C7P-xA0v.mjs";import{a as _,i as v}from"./provider-binding-DV5J36pp.mjs";import{t as y}from"./provider-evidence-B67K3coo.mjs";import{t as b}from"./lifecycle-errors-BtlAp_sz.mjs";import{a as x,i as S,n as C,r as w}from"./user-output-DLbKXqDm.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[e,u]=await Promise.all([d(y.name),o(y.name)]);if(!e&&!u)return s(N(p,y),P);let m=await t(y.binaryName),h=e?_(y,e):void 0,b=u?v(u):void 0;if(e&&!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):(e&&await r(y.name),u&&await a(y.name),s(M(y),P));if(!e)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(e.installType))return(await g(y,e)).kind===`success`?(await a(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 i({...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,e)).kind===`success`){if(!await E(async()=>{let e=await k(x);return e.kind!==`success`||e.value.kind!==`absent`?!1:!await t(y.binaryName)},{isCancelled:()=>!!n().cancelled})){let t=await k(x);return t.kind===`success`&&t.value.kind===`absent`?(await a(y.name),s(A(y,`conflicting-source`,`${y.displayName}'s managed package was removed, but another copy remains on PATH.`),P)):(await c(e),s(A(y,`verification-failed`,`${y.displayName} is still present after provider removal.`),P))}return await a(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(t){if(e(t))return s(u({action:`uninstall`,data:{agent:{displayName:y.displayName,name:y.name},changed:!1},...b(t,{kind:`agent`,name:y.name})}),P);throw t}}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 t=n(),r=new AbortController;return t.cancelled&&r.abort(`cli-cancelled`),y(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){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};
|
package/dist/update-1wac4HvD.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t,t as n}from"./messages-CoROK9f4.mjs";import{g as r}from"./npm-DUDR-Khz.mjs";import{a as i,d as a}from"./file-store-XNyirRRY.mjs";import{I as o,r as s}from"./agents-CB6EgrCq.mjs";import{n as c}from"./cli-context-DI43ouBg.mjs";import{T as l,i as u,n as d,r as f,t as p}from"./output-V8N4qh1L.mjs";import{r as m}from"./providers-Dm1YYCk4.mjs";import{t as h}from"./cli-operation-context-BS5a069W.mjs";import{t as g}from"./color-iQl4CJwm.mjs";import{g as _,n as v}from"./agents-C7P-xA0v.mjs";import{t as y}from"./update-planner-Cr9XVW1l.mjs";import{t as b}from"./lifecycle-observations-CfxGqoG1.mjs";import{a as x,i as S,n as C,r as w}from"./user-output-DLbKXqDm.mjs";import{a as T,c as E,l as D,r as O,s as k,u as A}from"./lifecycle-policy-CqPn6tyi.mjs";async function j(e){let t;for(let n of e.commands){let i=await r(n,e.context,`agent self-update failed`);if(i.kind===`success`)return{kind:`success`,value:{evidence:[{kind:`command`,value:n.join(` `)}],target:e.target}};if(i.kind===`cancelled`||i.kind===`timed-out`)return i;t=i}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(){let e=h(),t=0,n=!1,r=!1,c,u,d,f,p=()=>{!n||r||t>0||(r=!0,e.dispose())},m=async r=>{if(n)throw Error(`Lifecycle update batch invocation has been disposed.`);t+=1;try{return await e.run(r)}finally{--t,p()}},g=()=>(d??=a().then(t=>{let n=b(e.context);return{classifyMutationLockError:e=>i(e)?{reason:e.message,resource:e.resource}:void 0,clock:()=>new Date().toISOString(),dryRun:C(),executeSelfUpdate:j,listRegisteredAgentNames:()=>s().map(e=>e.name),observe:n.resolveAgentObservation,planLifecycleUpdate:y,providerRegistry:o,registerCleanup:e.context.registerCleanup,signal:e.context.signal,timeoutMs:e.context.timeoutMs,updateOptions:{updateStrategy:t.npmBunUpdateStrategy},withMutationLock:_,writeReceipt:l.write}}),d),v=()=>n?Promise.reject(Error(`Lifecycle update batch invocation has been disposed.`)):(u??=m(async()=>D(await g())),u);return{dispose(){n||(n=!0,p())},getOutcome:()=>c,async observe(e){return m(async()=>(await g()).observe(e))},prepare:v,run(){return n?Promise.reject(Error(`Lifecycle update batch invocation has been disposed.`)):(f??=(async()=>{let e=await v();return c=await m(async()=>k(e,await g())),c})(),f)}}}async function P(e){let t=F(e);try{return await t.run()}finally{t.dispose()}}function F(e){let t=h(),n=0,r=!1,i=!1,s,c,u,d,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=()=>(u??=a().then(e=>{let n=b(t.context);return{clock:()=>new Date().toISOString(),dryRun:C(),executeSelfUpdate:j,observe:n.resolveAgentObservation,planLifecycleUpdate:y,providerRegistry:o,registerCleanup:t.context.registerCleanup,signal:t.context.signal,timeoutMs:t.context.timeoutMs,updateOptions:{updateStrategy:e.npmBunUpdateStrategy},withMutationLock:_,writeReceipt:l.write}}),u),g=()=>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:()=>s,async observe(e){return p(async()=>(await m()).observe(e))},prepare:g,run(){return r?Promise.reject(Error(`Single-agent update invocation has been disposed.`)):(d??=(async()=>{let e=await g();return s=e.kind===`planned`?await p(async()=>E(e.planned,await m())):e,s})(),d)}}}async function I(e,t,n={runBatch:M,runSingle:P}){if(t)return R(n);if(!e)return u(p({action:`update`,error:{code:`INVALID_ARGUMENT`,message:`Please specify an agent name or use --all flag`},target:{kind:`agent`}}),Z);let r=v(e);return r?z(r,n):u(p({action:`update`,error:{code:`AGENT_NOT_FOUND`,details:{input:e},message:`Unknown agent: ${e}`},target:{kind:`agent`,name:e}}),Z)}function L(e,t){if(t){let t=N();return{dispose:t.dispose,idempotencyPolicy:()=>O(t),run:()=>I(e,!0,{runBatch:()=>t.run(),runSingle:P})}}if(!e)return{dispose(){},run:()=>I(e,t)};let n=F(e);return{dispose:n.dispose,idempotencyPolicy:()=>T(e,n),run:()=>I(e,!1,{runBatch:M,runSingle:()=>n.run()})}}async function R(e){f({action:`update`,data:{scope:`all`},target:{kind:`agent`},type:`started`});let t=await e.runBatch(),n=H(t),r=G(t);return Y(t)?u(p({action:`update`,data:{results:n,scope:`all`},error:{code:`CANCELLED`,message:`Update was cancelled before all agents could be updated.`},target:{kind:`agent`},warnings:r}),Z):n.some(e=>e.status===`failed`||e.status===`locked`)?u(p({action:`update`,data:{results:n,scope:`all`},error:{code:`UPDATE_FAILED`,message:`One or more agents failed to update.`},target:{kind:`agent`},warnings:r}),Z):u(d({action:`update`,data:{results:n,scope:`all`},target:{kind:`agent`},warnings:r}),Z)}async function z(e,t){f({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(!i(t))throw t;return u(p({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}}),Z)}let r=V(n);if(n.kind===`unknown-agent`)return u(p({action:`update`,error:{code:`AGENT_NOT_FOUND`,message:`Unknown agent: ${e.name}`},target:{kind:`agent`,name:e.name}}),Z);if(r?.observation.kind===`absent`){let t=r.observation.drift.kind===`recorded-absent`?[K(e)]:[];return u(p({action:`update`,error:{code:`AGENT_NOT_INSTALLED`,message:`${e.displayName} is not installed.`},target:{kind:`agent`,name:e.name},warnings:t}),Z)}let a=B(e,n);return X([],a),n.kind===`cancelled`?u(p({action:`update`,data:{results:[a],scope:`single`},error:{code:`CANCELLED`,message:`Update of ${e.displayName} was cancelled.`},target:{kind:`agent`,name:e.name}}),Z):a.status===`failed`||a.status===`locked`?u(p({action:`update`,data:{results:[a],scope:`single`},error:{code:`UPDATE_FAILED`,message:`Failed to update ${e.displayName}.`},target:{kind:`agent`,name:e.name}}),Z):u(d({action:`update`,data:{results:[a],scope:`single`},target:{kind:`agent`,name:e.name}}),Z)}function B(n,r){let i=V(r),a=`plan`in r?r.plan:void 0,o=i?.observation.kind===`present`?i.observation.version:void 0,s=q(a),c=J(a)??i?.binding?.providerId;switch(r.kind){case`updated`:return{displayName:n.displayName,installedVersion:o,latestVersion:r.receipt.version??s,name:n.name,status:`updated`,strategy:c};case`up-to-date`:return{displayName:n.displayName,installedVersion:r.receipt.version??o,name:n.name,status:`up-to-date`,strategy:c};case`dry-run`:return{displayName:n.displayName,installedVersion:o,latestVersion:s,message:`Dry run: would update ${n.displayName}.`,name:n.name,status:`planned`,strategy:c};case`not-executed`:return r.plan.planning.decision===`up-to-date`?{displayName:n.displayName,installedVersion:o,latestVersion:s,name:n.name,status:`up-to-date`}:{displayName:n.displayName,installedVersion:o,latestVersion:s,message:e(n),name:n.name,status:`manual-required`};case`blocked`:return r.category===`untracked`?{displayName:n.displayName,installedVersion:o,message:t(n),name:n.name,status:`manual-required`}:r.category===`manual-required`?{displayName:n.displayName,installedVersion:o,message:e(n),name:n.name,status:`manual-required`}:{displayName:n.displayName,installedVersion:o,message:r.reason,name:n.name,status:`failed`};case`cancelled`:return{displayName:n.displayName,installedVersion:o,latestVersion:s,message:r.reason??`Update was cancelled before it could complete.`,name:n.name,status:`failed`,strategy:c};case`timed-out`:return{displayName:n.displayName,installedVersion:o,latestVersion:s,message:`Update timed out after ${r.timeoutMs}ms.`,name:n.name,status:`failed`,strategy:c};case`provider-failed`:return{displayName:n.displayName,installedVersion:o,latestVersion:s,name:n.name,status:`failed`,strategy:c};case`verification-failed`:case`receipt-failed`:return{displayName:n.displayName,installedVersion:o,latestVersion:s,message:r.kind===`receipt-failed`?r.reason:r.verification.reason,name:n.name,status:`failed`,strategy:c};case`unknown-agent`:return{displayName:n.displayName,name:n.name,status:`failed`}}}function V(e){if(`plan`in e)return e.plan.before;if(`before`in e)return e.before}function H(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=U(e);t&&X(r,t)}else a&&X(r,W(a))}return r}function U(e){let t=e.planning.kind===`unknown-agent`?void 0:e.planning.kind===`planned`?e.planning.planned.before:e.planning.before,r=v(e.agentName);if(!r)return{displayName:t?.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:q(i.plan),message:i.reason,name:r.name,resource:i.resource,status:`locked`,strategy:J(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:q(i.plan),message:i.reason,name:r.name,status:`failed`,strategy:J(i.plan)};let a=i??(e.planning.kind===`planned`?{kind:`not-executed`,plan:e.planning.planned}:e.planning),o=B(r,a);return o.status===`failed`&&a.kind===`provider-failed`&&(o.hint=n(r,m({agent:r,installedState:t?.installedState,methods:[...t?.methods??[]]}))),o}function W(e){let t=v(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:q(e.planning.planned),message:e.reason??`Update was cancelled before it could start.`,name:t?.name??e.agentName,status:`failed`,strategy:J(e.planning.planned)}}function G(e){return e.plan.targets.flatMap(e=>e.outcome.kind!==`blocked`||e.outcome.category!==`stale-state`?[]:[K(v(e.agentName)??e.outcome.before.agent)])}function K(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 q(e){return e?.strategy===`managed-provider`?e.plannedTargetVersion:void 0}function J(e){if(e)return e.strategy===`self-update`?`self-update`:`managed/${e.binding.providerId}`}function Y(e){return c().cancelled||e.cancellationRemainder.length>0||e.results.some(e=>e.planning.kind===`cancelled`||e.execution?.kind===`cancelled`)}function X(e,t){e.push(t),f({action:`update`,data:t,target:{kind:`agent`,name:t.name},type:`progress`})}function Z(e){if(!e.data){e.error&&w(g.red(e.error.message));return}for(let t of e.warnings)x(g.yellow(t.message));for(let t of e.data.results)switch(t.status){case`up-to-date`:S(g.green(`${t.displayName} is up to date (${t.installedVersion??`unknown`})`));break;case`manual-required`:x(g.yellow(`${t.displayName}: manual action required.`)),t.message&&x(g.cyan(`Next step: ${t.message}`));break;case`planned`:x(g.cyan(`Would update ${t.displayName}${t.strategy?` via ${t.strategy}`:``}${Q(t.installedVersion,t.latestVersion)}`));break;case`updated`:S(g.cyan(`Updating ${t.displayName}${t.strategy?` via ${t.strategy}`:``}...${Q(t.installedVersion,t.latestVersion)}`)),S(g.green(`${t.displayName} updated successfully!`));break;case`failed`:S(g.cyan(`Updating ${t.displayName}${t.strategy?` via ${t.strategy}`:``}...${Q(t.installedVersion,t.latestVersion)}`)),w(g.red(`Failed to update ${t.displayName}.`)),t.hint&&x(g.cyan(`Next step: ${t.hint}`));break;case`locked`:x(g.yellow(t.message??`Another quantex process is already updating ${t.displayName}.`));break}e.data.results.length>1&&$(e.data.results),!e.data.results.length&&e.error&&w(g.red(e.error.message))}function Q(e,t){return e?` (${e} -> ${t??`latest`})`:``}function $(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&&S(g.bold(`Summary: ${n.join(`, `)}`))}export{L as createUpdateCommandInvocation};
|