@linzumi/cli 1.0.178 → 1.0.179
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 +1 -1
- package/dist/impl-res/index.js +106 -106
- package/dist/impl-ts/index.js +1 -1
- package/package.json +1 -1
package/dist/impl-ts/index.js
CHANGED
|
@@ -1510,7 +1510,7 @@ To kick the agent off:
|
|
|
1510
1510
|
`,M=Buffer.byteLength(T,"utf8");if(M>s)return l("runner_diagnostics.spool_entry_dropped",{reason:"entry_too_large",entry_bytes:M,max_entry_bytes:s}),!1;gEe(n,{recursive:!0}),m(u)+M>i&&f(),_(M);let P=b()?`
|
|
1511
1511
|
`:"";return fEe(u,`${P}${T}`,"utf8"),!0}catch(R){return l("runner_diagnostics.spool_failed",{error:R instanceof Error?R.message:String(R)}),!1}},w=S=>{let R=[],T=_Ee(S,"utf8");for(let M of T.split(`
|
|
1512
1512
|
`))if(M.trim()!=="")try{let P=JSON.parse(M);P!==null&&typeof P=="object"&&R.push({parsed:P,raw:M})}catch{}return R};return{append:v,drain:async S=>{if(c)return{uploadedBatches:0,uploadedEntries:0,remainingBatches:p().length,skipped:!0};c=!0;let R=0,T=0;try{f(),_(0);let M=a()-o;for(let P of p()){let D;try{D=w(P)}catch(Z){l("runner_diagnostics.spool_batch_unreadable",{file:P,error:Z instanceof Error?Z.message:String(Z)}),y(P,"unreadable");continue}let F=D.filter(Z=>{let H=$Ee(Z.parsed);return H===void 0||H>=M});if(F.length===0){y(P,"empty_or_expired");continue}let E=gR(P,".jsonl"),N=F.map(Z=>Z.raw).join(`
|
|
1513
|
-
`),V=F.map(Z=>Z.parsed.spooled_at).filter(Z=>typeof Z=="string"),G={bundle_name:"runner-diagnostics-spool",exported_at:new Date(a()).toISOString(),idempotency_key:E,diagnostics:{kind:"runner_diagnostic_log",spool_batch:!0,idempotency_key:E,entry_count:F.length,...V.length===0?{}:{first_spooled_at:V[0],last_spooled_at:V[V.length-1]}},telemetry_ndjson:N};try{await S(G)}catch(Z){l("runner_diagnostics.spool_upload_failed",{file:P,remaining_batches:p().length,error:Z instanceof Error?Z.message:String(Z)});break}R+=1,T+=F.length;try{vJ(P)}catch(Z){l("runner_diagnostics.spool_delete_failed",{file:P,error:Z instanceof Error?Z.message:String(Z)})}}}catch(M){l("runner_diagnostics.spool_drain_failed",{error:M instanceof Error?M.message:String(M)})}finally{c=!1}return{uploadedBatches:R,uploadedEntries:T,remainingBatches:p().length,skipped:!1}},pendingBatchFiles:p}}var kEe,CEe,TEe,PEe,IEe,SJ,EEe,DEe,CJ=q(()=>{"use strict";Cx();kEe=32*1024*1024,CEe=10080*60*1e3,TEe=4*1024*1024,PEe=1024*1024,IEe="spool.jsonl",SJ=/^batch-(\d{1,16})-[0-9a-f-]+\.jsonl$/;EEe=/\b([A-Z][A-Z0-9_]{1,})=("[^"\n]*"|'[^'\n]*'|[^\s"'`;,)\]}]+)/g,DEe=/(?:\/(?:[A-Za-z0-9._@~+-]|%[0-9A-Fa-f]{2})+){2,}/g});var Vt,_R,wa=q(()=>{"use strict";Vt="1.0.
|
|
1513
|
+
`),V=F.map(Z=>Z.parsed.spooled_at).filter(Z=>typeof Z=="string"),G={bundle_name:"runner-diagnostics-spool",exported_at:new Date(a()).toISOString(),idempotency_key:E,diagnostics:{kind:"runner_diagnostic_log",spool_batch:!0,idempotency_key:E,entry_count:F.length,...V.length===0?{}:{first_spooled_at:V[0],last_spooled_at:V[V.length-1]}},telemetry_ndjson:N};try{await S(G)}catch(Z){l("runner_diagnostics.spool_upload_failed",{file:P,remaining_batches:p().length,error:Z instanceof Error?Z.message:String(Z)});break}R+=1,T+=F.length;try{vJ(P)}catch(Z){l("runner_diagnostics.spool_delete_failed",{file:P,error:Z instanceof Error?Z.message:String(Z)})}}}catch(M){l("runner_diagnostics.spool_drain_failed",{error:M instanceof Error?M.message:String(M)})}finally{c=!1}return{uploadedBatches:R,uploadedEntries:T,remainingBatches:p().length,skipped:!1}},pendingBatchFiles:p}}var kEe,CEe,TEe,PEe,IEe,SJ,EEe,DEe,CJ=q(()=>{"use strict";Cx();kEe=32*1024*1024,CEe=10080*60*1e3,TEe=4*1024*1024,PEe=1024*1024,IEe="spool.jsonl",SJ=/^batch-(\d{1,16})-[0-9a-f-]+\.jsonl$/;EEe=/\b([A-Z][A-Z0-9_]{1,})=("[^"\n]*"|'[^'\n]*'|[^\s"'`;,)\]}]+)/g,DEe=/(?:\/(?:[A-Za-z0-9._@~+-]|%[0-9A-Fa-f]{2})+){2,}/g});var Vt,_R,wa=q(()=>{"use strict";Vt="1.0.179",_R=`linzumi ${Vt}`});import{closeSync as PJ,existsSync as bR,mkdirSync as LEe,openSync as IJ,readFileSync as RJ,renameSync as FEe,unlinkSync as Xd,writeFileSync as jEe,writeSync as EJ}from"node:fs";import{dirname as DJ,join as qEe}from"node:path";function wR(e){return e instanceof Ds||e instanceof Error&&e.name===AJ&&"lockPath"in e&&"heldBy"in e}function vR(e,n=et(),t){let r=t===void 0?encodeURIComponent(e):Jd(t);return qEe(DJ(n),"runners",`${r}.lock`)}function Nb(e){let n=vR(e.machineId,e.configPath,e.linzumiUrl),t=e.isPidAlive??NJ,r=e.now??(()=>new Date),o=e.killPid??XEe,i=r().toISOString(),s={version:1,machineId:e.machineId,runnerId:e.runnerId,pid:e.pid??process.pid,cwd:e.cwd,workspace:e.workspace,...e.linzumiUrl===void 0?{}:{linzumiUrl:zn(e.linzumiUrl)},...e.launchSource===void 0?{}:{launchSource:e.launchSource},startedAt:i,heartbeatAt:i,cliVersion:e.cliVersion??Vt,...e.gracefulUpdateDrain===!0?{gracefulUpdateDrain:!0}:{}};BEe(e.machineId,e.configPath,e.linzumiUrl,t,r,o,e.onTakeover),JEe(n,s,t,r,o,e.onTakeover,e.beforeReadExistingLock,e.beforeReplaceStaleLock);let a=()=>OJ(n,s,r),d=setInterval(a,MJ);return d.unref(),{path:n,record:s,heartbeat:a,release:()=>{clearInterval(d),jJ(n,s)}}}function OJ(e,n,t){try{let r=Ub(e);if(r===void 0||r.machineId!==n.machineId||r.runnerId!==n.runnerId||r.pid!==n.pid||r.startedAt!==n.startedAt)return;let o={...r,heartbeatAt:t().toISOString()},i=`${e}.tmp`;jEe(i,`${JSON.stringify(o,null,2)}
|
|
1514
1514
|
`,"utf8"),FEe(i,e)}catch{}}function Yd(e,n,t){if(!n(e.pid))return{state:"dead"};let r=e.heartbeatAt??e.startedAt,o=Date.parse(r);return Number.isNaN(o)||t().getTime()-o>NEe?{state:"wedged",reason:e.heartbeatAt===void 0?"missing_heartbeat":"stale_heartbeat"}:{state:"live"}}function $J(e,n,t,r){return t!==zb||e.launchSource!==zb?!1:r.state!=="live"?!0:zEe(n,e.cliVersion)>0}function zEe(e,n){let t=TJ(e),r=TJ(n);for(let o=0;o<3;o++){let i=t.core[o],s=r.core[o];if(i===void 0||s===void 0)throw new Error(`compareCliVersions: unexpected undefined at core index ${o}`);if(i!==s)return i>s?1:-1}return t.prerelease.length===0&&r.prerelease.length===0?0:t.prerelease.length===0?1:r.prerelease.length===0?-1:UEe(t.prerelease,r.prerelease)}function TJ(e){let n=e.trim().replace(/^v/i,"").split("+",1)[0]??"",t=n.indexOf("-"),r=t===-1?n:n.slice(0,t),o=t===-1?"":n.slice(t+1),i=r.split("."),s=[xR(i[0]),xR(i[1]),xR(i[2])],a=o===""?[]:o.split(".").filter(d=>d!=="");return{core:s,prerelease:a}}function xR(e){let n=Number.parseInt(e??"",10);return Number.isInteger(n)&&n>=0?n:0}function UEe(e,n){let t=Math.max(e.length,n.length);for(let r=0;r<t;r++){let o=e[r],i=n[r];if(o===void 0)return-1;if(i===void 0)return 1;let s=Number.parseInt(o,10),a=Number.parseInt(i,10),d=s.toString()===o,u=a.toString()===i;if(d&&u){if(s!==a)return s>a?1:-1}else{if(d!==u)return d?-1:1;if(o!==i)return o>i?1:-1}}return 0}function LJ(e,n,t,r,o){try{r(n.pid)}catch(i){let s=i!==null&&typeof i=="object"&&"code"in i?i.code:void 0;if(s!=="ESRCH")throw s==="EPERM"||s==="EACCES"?new Error(`Cannot take over the runner lock at ${e}: its holder process (pid ${n.pid}) is owned by another user and cannot be stopped. Stop that process, or remove the lock file, then retry.`):i}o?.({lockPath:e,holderPid:n.pid,holderRunnerId:n.runnerId,reason:t})}function BEe(e,n,t,r,o,i,s){if(t===void 0||kr(t)!==kr(Xt))return;let a=vR(e,n),d=Ub(a);if(d!==void 0){if(Yd(d,r,o).state==="live")throw new Ds(a,d);FJ(a,r,()=>{let u=bR(a)?SR(a):void 0;if(u===void 0)return;let c=Yd(u,r,o);if(c.state==="live")throw new Ds(a,u);c.state==="wedged"&&LJ(a,u,c.reason,i,s),Xd(a)})}}function JEe(e,n,t,r,o,i,s,a){if(qb(e,n))return;s?.();let d=Ub(e);if(d===void 0){if(qb(e,n))return;throw new Error(`another Linzumi runner lock appeared while starting: ${e}`)}if(Yd(d,t,r).state==="live")throw new Ds(e,d);a?.(),FJ(e,t,()=>{let u=bR(e)?SR(e):void 0;if(u!==void 0){let c=Yd(u,t,r);if(c.state==="live")throw new Ds(e,u);c.state==="wedged"&&LJ(e,u,c.reason,o,i),Xd(e)}if(!qb(e,n))throw new Error(`another Linzumi runner lock appeared while starting: ${e}`)})}function qb(e,n){LEe(DJ(e),{recursive:!0});try{let t=IJ(e,"wx");try{EJ(t,`${JSON.stringify(n,null,2)}
|
|
1515
1515
|
`)}finally{PJ(t)}return!0}catch(t){if(Il(t,"EEXIST"))return!1;throw t}}function FJ(e,n,t){let r=`${e}.replace`;for(;;)try{let o=IJ(r,"wx");try{EJ(o,`${process.pid}
|
|
1516
1516
|
`),t()}finally{PJ(o),Xd(r)}return}catch(o){if(Il(o,"EEXIST")){let i=KEe(r);if(i===void 0)continue;if(n(i))throw new Error(["another Linzumi runner is already replacing a stale runner lock",`lock: ${e}`,"Wait for that startup to finish, then retry."].join(`
|
package/package.json
CHANGED