@kynver-app/runtime 0.2.130 → 0.2.135

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- var o=(e,r,t)=>()=>{if(t)throw t[0];try{return e&&(r=e(e=0)),r}catch(n){throw t=[n],n}};function re(e){let r=e[Hr];return r?new Set(r.split(/[\s,]+/).map(t=>t.trim()).filter(Boolean)):new Set}function k(e,r={}){return Br.has(e)?!0:Fr.has(e)||r.operatorAllow?.has(e)||$r.some(t=>e.endsWith(t))?!1:Ur.some(t=>e.endsWith(t))}function be(e){let r=re(e);return Object.keys(e).filter(t=>k(t,{operatorAllow:r})).sort()}function Ee(e){let r=re(e);return r.size===0?[]:Object.keys(e).filter(t=>r.has(t)&&!k(t,{operatorAllow:r})&&k(t)).sort()}function P(e){let r=re(e),t={...e};for(let n of Object.keys(t))k(n,{operatorAllow:r})&&delete t[n];return t}function jr(e){let r=be(e),t=Ee(e);return{forbiddenPresent:r,safe:r.length===0,...t.length?{operatorAllowedActive:t}:{}}}var Mr,Br,Ur,Lr,Fr,$r,Hr,I=o(()=>{"use strict";Mr=["ANTHROPIC_API_KEY","ANALYST_API_KEY","RECRUITER_API_KEY","AUTH_SECRET","NEXTAUTH_SECRET","DATABASE_URL","PRODUCTION_DATABASE_URL","KYNVER_PRODUCTION_DATABASE_URL","REDIS_URL","GOOGLE_CLIENT_SECRET","GITHUB_CLIENT_SECRET","KYNVER_API_KEY","KYNVER_SERVICE_SECRET","KYNVER_RUNTIME_SECRET","KYNVER_CRON_SECRET","OPENCLAW_CRON_SECRET","QSTASH_TOKEN","QSTASH_CURRENT_SIGNING_KEY","QSTASH_NEXT_SIGNING_KEY","TOOL_SECRETS_KEK","TOOL_EXECUTOR_DISPATCH_SECRET","CLOUDFLARE_API_TOKEN","STRIPE_SECRET_KEY","STRIPE_WEBHOOK_SECRET","STRIPE_IDENTITY_WEBHOOK_SECRET","VOYAGE_API_KEY","PERPLEXITY_API_KEY","FRED_API_KEY","FMP_API_KEY","CURSOR_API_KEY","MEMORY_CONTENT_KEK","LLM_BYOK_KEK","KYNVER_COMMAND_AUTH_KEY","KYNVER_INSTRUCTION_BUNDLE_KEY","KYNVER_MEMORY_LEDGER_KEY","KYNVER_JWKS_PRIVATE_KEY_JWK"],Br=new Set(Mr),Ur=["_SECRET","_API_KEY","_KEK","_KEY","_TOKEN","_PASSWORD","_PASSPHRASE","_SALT"],Lr=["GITHUB_TOKEN","GH_TOKEN","CLAUDE_CODE_OAUTH_TOKEN","CODEX_API_KEY","GEMINI_API_KEY"],Fr=new Set(Lr),$r=["_PUBLIC_KEY"],Hr="KYNVER_WORKER_ENV_ALLOW"});var f=o(()=>{"use strict"});var Ie=o(()=>{"use strict"});function W(e){if(!e)return!1;try{return process.kill(e,0),!0}catch{return!1}}var a=o(()=>{"use strict";Ie()});var D=o(()=>{"use strict";f();a();I()});var Te=o(()=>{"use strict";D()});var oe=o(()=>{"use strict";D();f();Te()});var ie=o(()=>{"use strict";a()});var g=o(()=>{"use strict"});var M=o(()=>{"use strict"});var Ne=o(()=>{"use strict"});var no,oo,se=o(()=>{"use strict";no=25*1024*1024*1024,oo=12*1024*1024*1024});var co,uo,We=o(()=>{"use strict";se();co=5*1024*1024*1024,uo=10*1024*1024*1024});var yo,vo,ae=o(()=>{"use strict";We();se();yo=30*1024*1024*1024,vo=15*1024*1024*1024});var Ke=o(()=>{"use strict";a()});import at from"node:path";var Oo,ce=o(()=>{"use strict";f();Ke();Oo=at.join(".openclaw","harness")});var U=o(()=>{"use strict";h();g();M();L();ce()});var Be=o(()=>{"use strict";h();ce();U();a()});var H=o(()=>{"use strict";Be();a()});var Le=o(()=>{"use strict";H();a()});var Fe=o(()=>{"use strict"});var $e=o(()=>{"use strict";Fe();a()});var He=o(()=>{"use strict"});var je=o(()=>{"use strict";He()});var j=o(()=>{"use strict"});var Ve=o(()=>{"use strict"});var Ye=o(()=>{"use strict"});var Ge=o(()=>{"use strict";je();a();j();Ve();Ye()});var Ei,u=o(()=>{"use strict";Ei=String.raw`"use strict";
1
+ var o=(e,r,t)=>()=>{if(t)throw t[0];try{return e&&(r=e(e=0)),r}catch(n){throw t=[n],n}};function ie(e){let r=e[Jr];return r?new Set(r.split(/[\s,]+/).map(t=>t.trim()).filter(Boolean)):new Set}function k(e,r={}){return Vr.has(e)?!0:Gr.has(e)||r.operatorAllow?.has(e)||qr.some(t=>e.endsWith(t))?!1:jr.some(t=>e.endsWith(t))}function we(e){let r=ie(e);return Object.keys(e).filter(t=>k(t,{operatorAllow:r})).sort()}function Pe(e){let r=ie(e);return r.size===0?[]:Object.keys(e).filter(t=>r.has(t)&&!k(t,{operatorAllow:r})&&k(t)).sort()}function N(e){let r=ie(e),t={...e};for(let n of Object.keys(t))k(n,{operatorAllow:r})&&delete t[n];return t}function zr(e){let r=we(e),t=Pe(e);return{forbiddenPresent:r,safe:r.length===0,...t.length?{operatorAllowedActive:t}:{}}}var Hr,Vr,jr,Yr,Gr,qr,Jr,D=o(()=>{"use strict";Hr=["ANTHROPIC_API_KEY","ANALYST_API_KEY","RECRUITER_API_KEY","AUTH_SECRET","NEXTAUTH_SECRET","DATABASE_URL","PRODUCTION_DATABASE_URL","KYNVER_PRODUCTION_DATABASE_URL","REDIS_URL","GOOGLE_CLIENT_SECRET","GITHUB_CLIENT_SECRET","KYNVER_API_KEY","KYNVER_SERVICE_SECRET","KYNVER_RUNTIME_SECRET","KYNVER_CRON_SECRET","OPENCLAW_CRON_SECRET","QSTASH_TOKEN","QSTASH_CURRENT_SIGNING_KEY","QSTASH_NEXT_SIGNING_KEY","TOOL_SECRETS_KEK","TOOL_EXECUTOR_DISPATCH_SECRET","CLOUDFLARE_API_TOKEN","STRIPE_SECRET_KEY","STRIPE_WEBHOOK_SECRET","STRIPE_IDENTITY_WEBHOOK_SECRET","VOYAGE_API_KEY","PERPLEXITY_API_KEY","FRED_API_KEY","FMP_API_KEY","CURSOR_API_KEY","MEMORY_CONTENT_KEK","LLM_BYOK_KEK","KYNVER_COMMAND_AUTH_KEY","KYNVER_INSTRUCTION_BUNDLE_KEY","KYNVER_MEMORY_LEDGER_KEY","KYNVER_JWKS_PRIVATE_KEY_JWK"],Vr=new Set(Hr),jr=["_SECRET","_API_KEY","_KEK","_KEY","_TOKEN","_PASSWORD","_PASSPHRASE","_SALT"],Yr=["GITHUB_TOKEN","GH_TOKEN","CLAUDE_CODE_OAUTH_TOKEN","CODEX_API_KEY","GEMINI_API_KEY"],Gr=new Set(Yr),qr=["_PUBLIC_KEY"],Jr="KYNVER_WORKER_ENV_ALLOW"});var f=o(()=>{"use strict"});var Me=o(()=>{"use strict"});function M(e){if(!e)return!1;try{return process.kill(e,0),!0}catch{return!1}}var a=o(()=>{"use strict";Me()});var B=o(()=>{"use strict";f();a();D()});var le=o(()=>{"use strict";B()});var ce=o(()=>{"use strict";B();f();le()});var g=o(()=>{"use strict"});var Ue=o(()=>{"use strict";g()});var ue=o(()=>{"use strict";a()});var h=o(()=>{"use strict"});var L=o(()=>{"use strict"});var Be=o(()=>{"use strict"});var mo,fo,de=o(()=>{"use strict";mo=25*1024*1024*1024,fo=12*1024*1024*1024});var _o,xo,Le=o(()=>{"use strict";de();_o=5*1024*1024*1024,xo=10*1024*1024*1024});var Co,Oo,pe=o(()=>{"use strict";Le();de();Co=30*1024*1024*1024,Oo=15*1024*1024*1024});var Fe=o(()=>{"use strict";a()});import mt from"node:path";var Ko,fe=o(()=>{"use strict";f();Fe();Ko=mt.join(".openclaw","harness")});var $=o(()=>{"use strict";y();h();L();H();fe()});var Ve=o(()=>{"use strict";y();fe();$();a()});var Y=o(()=>{"use strict";Ve();a()});var Ye=o(()=>{"use strict";Y();a()});var Ge=o(()=>{"use strict"});var qe=o(()=>{"use strict";Ge();a()});var Je=o(()=>{"use strict"});var ze=o(()=>{"use strict";Je()});var G=o(()=>{"use strict"});var q,ge,vi,E=o(()=>{"use strict";q="claude-sonnet-5-5",ge="claude-opus-5-5",vi={[q]:"claude-sonnet-4-6",[ge]:"claude-opus-4-8"}});var Xe=o(()=>{"use strict"});var Ze=o(()=>{"use strict"});var Qe=o(()=>{"use strict";ze();a();G();E();Xe();Ze()});var Mi,u=o(()=>{"use strict";Mi=String.raw`"use strict";
2
2
  const cp = require("child_process"), fs = require("fs");
3
3
  const argv = process.argv.slice(1);
4
4
  const exitFile = argv[0], cmd = argv[1], args = argv.slice(2);
@@ -62,5 +62,5 @@ child.on("error", (e) => {
62
62
  if (!child.pid) finish(127, null, String(e && e.message));
63
63
  });
64
64
  child.on("exit", (code, signal) => finish(code, signal));
65
- `});var qe=o(()=>{"use strict";H();a();u()});var Je=o(()=>{"use strict";j()});var ze=o(()=>{"use strict"});var Bi,Ui,Xe=o(()=>{"use strict";D();Bi=10*6e4,Ui=60*6e4});var Ze=o(()=>{"use strict"});var ue=o(()=>{"use strict"});var Qe=o(()=>{"use strict"});var er=o(()=>{"use strict";ue();Qe()});var rr=o(()=>{"use strict";$e();Ge();qe();u();j();Je();ze();Xe();Ze();er();ue();a()});var tr=o(()=>{"use strict";rr();a()});var Rt,kt,nr=o(()=>{"use strict";Ne();h();g();M();L();ae();H();Le();tr();a();Rt=500*1024*1024,kt=4*1024*1024*1024});var L=o(()=>{"use strict";nr()});import{homedir as xt}from"node:os";import bt from"node:path";var or,de=o(()=>{"use strict";or=bt.join(xt(),".kynver",".env")});var ir=o(()=>{"use strict"});var sr=o(()=>{"use strict";ir()});var ar=o(()=>{"use strict"});var lr=o(()=>{"use strict";a()});var pe=o(()=>{"use strict";sr();ar();lr()});var cr=o(()=>{"use strict"});var ur=o(()=>{"use strict";cr()});var V=o(()=>{"use strict";de();f();h();pe();ur()});var dr=o(()=>{"use strict";g();g()});var pr=o(()=>{"use strict";de();pe();V()});var me=o(()=>{"use strict"});var mr=o(()=>{"use strict";oe();g();dr();h();V();pr();ie();me();U()});function x(e){let r=e.trim().toLowerCase();return Nt[r]??r}var fr,Tt,Nt,Y=o(()=>{"use strict";fr=["claude","cursor","codex","gemini","gemini-api","openai-compatible"],Tt=fr.join("|"),Nt={anthropic:"claude",opus:"claude",openai:"openai-compatible",openai_compatible:"openai-compatible","openai-compat":"openai-compatible",chatgpt:"codex",gpt:"codex","openai-api":"openai-compatible",openai_api:"openai-compatible",google:"gemini",gemini_cli:"gemini",gemini_api:"gemini-api","google-api":"gemini-api",google_api:"gemini-api"}});var gr=o(()=>{"use strict";f()});var hr=o(()=>{"use strict";gr()});var yr=o(()=>{"use strict"});var vr=o(()=>{"use strict";yr()});import{homedir as Kt,totalmem as El}from"node:os";import fe from"node:path";var _r,Ll,Fl,$l,Hl,h=o(()=>{"use strict";oe();f();ie();g();M();L();ae();V();mr();Y();U();hr();me();vr();_r=fe.join(Kt(),".kynver"),Ll=fe.join(_r,"config.json"),Fl=fe.join(_r,"credentials"),$l=500*1024*1024,Hl=4*1024*1024*1024});I();I();var te="KYNVER_NO_PROD_DB_CREDENTIALS",Vr=["KYNVER_ENV_FILE"],Yr=new Set(["1","true","yes","on"]);function Ce(e){let r=e[te]?.trim().toLowerCase();return r!==void 0&&Yr.has(r)}function p(e,r={}){let t=P(e);if(!r.reviewWorker)return t;let n={...t,[te]:"1"};for(let i of Vr)delete n[i];return n}var Se=["DATABASE_URL","PRODUCTION_DATABASE_URL","KYNVER_PRODUCTION_DATABASE_URL"];function Gr(e,r={}){let t=p(e,r),n=Object.keys(t).filter(c=>c.endsWith("_SECRET")||c.endsWith("_API_KEY")||Se.includes(c)),i=Se.every(c=>t[c]===void 0),s=r.reviewWorker?t.KYNVER_ENV_FILE===void 0:!0,l=Ce(t);return{reviewMode:!!r.reviewWorker,noProdFlagPresent:r.reviewWorker?l:!0,forbiddenKeysAfterScrub:n.sort(),productionDbKeysAbsent:i,envFilePointerStripped:s,safe:i&&n.length===0&&s&&(!r.reviewWorker||l)}}var qr="expert-lane-pr-review:",Jr="plan-review-task",zr="scheduledjob:",T=new Set(["lorentz","dalton","rhea","sentinel"]);function Xr(e){if(!e)return null;let r=e.trim().toLowerCase();return r.length?r:null}function ne(e){return/\b(deep[- ]?review|plan review|review .*plan|security review|red[- ]team|lb\d+|runtime verification)\b/.test(e)}function Zr(e,r){return e.startsWith("factory:")?e.includes("lb")||ne(r):!1}function Qr(e){let r=(e.executorRef??"").toLowerCase(),t=(e.title??"").toLowerCase(),n=(e.description??"").toLowerCase(),i=`${t}
66
- ${n}`,s=Xr(e.personaSlug);return r.startsWith("harness-lane:blocked-lane-unblock:")||r==="lane:over_attempt_recovery"||r.startsWith("next-action-fix:")||r.startsWith("next-action-landing:")||r.startsWith("code-work-lane-chain:release:")?!1:!!(r.startsWith(qr)||r===Jr||r.startsWith("daemon-review:")||s&&T.has(s)&&(r.includes("evidence")||r.includes("validate")||r.includes("review")||Zr(r,i)||ne(i))||r.startsWith(zr)&&e.parentTaskId&&s&&T.has(s)||e.planId&&!e.parentTaskId&&s&&T.has(s)&&ne(i)||t.includes("expert pr review")||e.parentTaskId&&(t.startsWith("review:")||t.includes("review required")||t.includes("runtime review"))&&s&&T.has(s))}var et=/^claude[-_]/i,rt=/^(?:opus|sonnet|haiku)\b/i;function Oe(e){let r=e.trim();return et.test(r)||rt.test(r)}function Ae(e){let r=e.trim().toLowerCase();return r.startsWith("gpt-")||r.startsWith("gpt5")||r.includes("codex")}function we(e){let r=e.trim().toLowerCase();return r.includes("composer")||r.includes("cursor")}function Pe(e){return e.trim().toLowerCase().startsWith("gemini-")}function tt(e){return Ae(e)?"codex":Oe(e)?"claude":Pe(e)?"gemini":(we(e),"cursor")}function nt(e){if(!e.startsWith("provider:"))return null;let r=e.slice(9),t=r.indexOf(":"),n=(t>=0?r.slice(0,t):r).trim().toLowerCase(),i=t>=0&&r.slice(t+1).trim()||void 0;return n?n==="claude"||n==="opus"||n==="anthropic"?{provider:"claude",model:i,rule:i?"executor_ref:provider_claude_model":"executor_ref:provider_claude"}:n==="codex"?{provider:"codex",model:i,rule:"executor_ref:provider_codex"}:n==="openai-compatible"||n==="openai"||n==="openai_compatible"?{provider:"openai-compatible",model:i,rule:"executor_ref:provider_openai_compatible"}:n==="chatgpt"||n==="gpt"?{provider:"codex",model:i,rule:"executor_ref:provider_codex"}:n==="openai-api"||n==="openai_api"?{provider:"openai-compatible",model:i,rule:"executor_ref:provider_openai_compatible"}:n==="cursor"||n==="composer"?{provider:"cursor",model:i,rule:"executor_ref:provider_cursor"}:n==="gemini-api"||n==="gemini_api"||n==="google-api"?{provider:"gemini-api",model:i,rule:"executor_ref:provider_gemini_api"}:n==="gemini"||n==="google"||n==="gemini_cli"?{provider:"gemini",model:i,rule:i?"executor_ref:provider_gemini_model":"executor_ref:provider_gemini"}:null:null}function ot(e){if(!e.startsWith("harness-lane:"))return null;let r=e.split(":").map(i=>i.trim()).filter(Boolean);if(r.length<2)return null;let t=r[1],n=r.slice(2).join(":");return n?Oe(n)||Ae(n)||we(n)||Pe(n)?{lane:t,model:n,provider:tt(n),rule:"executor_ref:harness_lane_model"}:{lane:t,rule:"executor_ref:harness_lane"}:{lane:t,rule:"executor_ref:harness_lane"}}function N(e){let r=typeof e=="string"?e.trim():"";return r?nt(r)??ot(r):null}h();u();a();u();a();var xr="kynver",br=["agent_os_context_envelope","agent_os_search_memory","agent_os_search_skills","agent_os_get_skill","agent_os_progress_note"],Ft=br.map(e=>`mcp__${xr}__${e}`);u();a();u();a();var mu=process.env.KYNVER_CODEX_DEFAULT_MODEL?.trim()||"gpt-5.5";function Ht(){return process.env.KYNVER_CODEX_DEFAULT_MODEL?.trim()||"gpt-5.5"}var jt=Ht();u();a();var Vu=600*1e3;u();a();var fd=600*1e3;var Er="composer-2.5";Y();Y();var m="cursor",qt=new Set(["claude","opus","anthropic"]),Jt=[/\[worker-provider:\s*claude\]/i,/\[use-claude-worker\]/i,/\[operator-worker-provider:\s*claude\]/i];function S(e,r){let t=e[r];return typeof t=="string"?t.trim():""}function d(e){if(!e?.trim())return!1;let r=e.trim().toLowerCase();return qt.has(r)?!0:r.includes("claude")||r.includes("opus")}function ge(e){if(!e)return!1;let r=e.workerProviderOverride;if(typeof r=="string"&&d(r))return!0;let t=S(e,"executorRef").toLowerCase();if(t==="provider:claude"||t.startsWith("provider:claude:")||t.includes("claude-worker-override")||t.includes("operator-claude"))return!0;let n=N(S(e,"executorRef"));if(n?.provider&&d(n.provider)||n?.model&&d(zt(n.model)))return!0;let i=S(e,"description");if(Jt.some(l=>l.test(i)))return!0;let s=S(e,"title");return!!/\[use-claude-worker\]/i.test(s)}function zt(e){let r=e.trim().toLowerCase();return/^claude[-_]/.test(r)||/^(?:opus|sonnet|haiku)\b/.test(r)?"claude":r}function Xt(e,r){return{provider:m,model:Er,rule:`policy:cursor_default${r}`,requestedModel:e}}var Zt=["explicit:","executor_ref:","factory:","task:"];function Qt(e){return Zt.some(r=>e.startsWith(r))}function he(e){if(!e)return!1;let r=e.workerProviderOverride;return typeof r=="string"&&r.trim()||N(S(e,"executorRef"))?.provider?!0:ge(e)}function Sr(e){let{routing:r,task:t}=e,n=e.explicitProvider?.trim().toLowerCase();if(e.explicitProviderIsOperatorOverride&&d(n))return{...r,provider:"claude",rule:r.rule.startsWith("explicit:")?r.rule:"explicit:operator_provider"};if(n||Qt(r.rule)||he(t)||!d(r.provider))return r;let i=r.rule&&r.rule!=="default:global"?`:${r.rule.replace(/:/g,"_")}`:"";return Xt(r.model,i)}function en(e,r=m){let t=e?.trim();return t?x(t):r}function rn(e){let r=[...new Set(e.map(t=>t.trim().toLowerCase()).filter(Boolean))];return r.includes(m)?[...new Set(r.map(t=>d(t)?m:t))]:r.every(t=>d(t))?[m]:r}var tn=/\b(npm run typecheck|tsc\b[^|&;]*--noEmit|node scripts\/verify-pr-local\.mjs|kynver (harness )?verify)\b/i,nn=/\b(npm run build\b|next build\b)\b/i,on=/\b(vercel (build|deploy|--prod))\b/i,sn=/\b(openai|anthropic|perplexity|voyage)\b.*\b(api|cli)\b|\b(paid|billable)[-_ ]?compute\b/i;function ye(e){let r=e.trim();return r?sn.test(r)?{heavy:!0,commandClass:"paid_compute",reason:"paid external compute requires heavy-verification token and operator approval"}:on.test(r)?{heavy:!0,commandClass:"vercel_verify",reason:"Vercel build/deploy verification requires heavy-verification token"}:nn.test(r)?{heavy:!0,commandClass:"full_build",reason:"full app build requires heavy-verification token"}:tn.test(r)?{heavy:!0,commandClass:"full_typecheck",reason:"full repo typecheck requires heavy-verification token"}:{heavy:!1,commandClass:"allowed",reason:null}:{heavy:!1,commandClass:"allowed",reason:null}}var z="heavy_verification_token_required";import{spawnSync as En}from"node:child_process";a();import{closeSync as pn,existsSync as O,mkdirSync as mn,openSync as fn,readdirSync as wr,readFileSync as gn,statSync as hn,unlinkSync as Pr,writeFileSync as yn}from"node:fs";import Re from"node:path";import{mkdirSync as ln}from"node:fs";import{tmpdir as cn}from"node:os";import X from"node:path";import{homedir as an,tmpdir as Ud}from"node:os";import Cr from"node:path";function Or(){let e=process.env.KYNVER_STATE_ROOT;return e?Cr.resolve(e):Cr.join(an(),".kynver","state")}function un(){return!!(process.env.VERCEL||process.env.VERCEL_ENV||process.env.AWS_LAMBDA_FUNCTION_NAME||process.env.AWS_EXECUTION_ENV)}function dn(){let e=process.env.KYNVER_HEAVY_VERIFICATION_STATE_ROOT;return e?X.resolve(e):un()?X.join(cn(),"kynver","state","heavy-verification"):X.join(Or(),"heavy-verification")}function ve(){return X.join(dn(),"slots")}function C(){let e=ve();return ln(e,{recursive:!0}),e}var A=120*6e4,Ar=1;function vn(e,r){let t=Number(e);return!Number.isFinite(t)||t<=0?r:Math.floor(t)}function Q(){let e=process.env.KYNVER_HEAVY_VERIFICATION_SKIP?.trim().toLowerCase();return e==="1"||e==="true"||e==="yes"}function Z(){let e=process.env.KYNVER_HEAVY_VERIFICATION_MAX_CONCURRENT;return e?vn(e,Ar):Ar}function _n(e){return`slot-${e}`}function Rn(e,r=ve()){return Re.join(r,`${e}.json`)}function ke(e){if(!O(e))return null;try{let r=JSON.parse(gn(e,"utf8"));if(typeof r.slotId=="string"&&typeof r.pid=="number"&&typeof r.acquiredAt=="string"&&typeof r.command=="string")return r}catch{return null}return null}function Ir(e,r=A){if(!e||!W(e.pid))return!0;let t=Date.parse(e.acquiredAt);return Number.isNaN(t)?!0:Date.now()-t>r}function Tr(e,r){let t=ke(e);if(t)return Ir(t,r);if(!O(e))return!0;try{return Date.now()-hn(e).mtimeMs>r}catch{return!0}}function kn(e,r){if(Tr(e,r))try{Pr(e)}catch{}}function xn(e){return mn(e,{recursive:!0}),e}function xe(e={}){let r=xn(e.slotsDir??C()),t=e.staleMs??A,n=0;for(let i of wr(r)){if(!i.endsWith(".json"))continue;let s=Re.join(r,i),l=O(s);kn(s,t),l&&!O(s)&&(n+=1)}return n}function bn(e={}){let r=e.slotsDir??C(),t=e.staleMs??A;xe({slotsDir:r,staleMs:t});let n=[];for(let i of wr(r)){if(!i.endsWith(".json"))continue;let s=ke(Re.join(r,i));s&&!Ir(s,t)&&n.push(s)}return n}function _e(e={}){return bn(e).length}function w(e,r={}){if(Q())return{admitted:!0,slotId:null,activeSlots:0,maxSlots:Z(),reason:null};let t=r.slotsDir??C(),n=r.staleMs??A,i=r.maxSlots??Z();xe({slotsDir:t,staleMs:n});for(let l=0;l<i;l+=1){let c=_n(l),_=Rn(c,t),Wr=ke(_);if(Tr(_,n))try{Pr(_)}catch{}else if(Wr||O(_))continue;let Kr={slotId:c,pid:process.pid,acquiredAt:new Date().toISOString(),command:e};try{let R=fn(_,"wx");yn(R,JSON.stringify(Kr,null,2),"utf8"),pn(R);let Dr=_e({slotsDir:t,staleMs:n});return{admitted:!0,slotId:c,activeSlots:Dr,maxSlots:i,reason:null}}catch(R){if(R.code==="EEXIST")continue;throw R}}let s=_e({slotsDir:t,staleMs:n});return{admitted:!1,slotId:null,activeSlots:s,maxSlots:i,reason:`heavy verification at capacity (${s}/${i} slots)`}}function ee(e,r={}){if(Q())return{admitted:!0,slotId:null,activeSlots:0,maxSlots:Z(),reason:null};let t=r.slotsDir??C(),n=r.staleMs??A,i=r.maxSlots??Z();xe({slotsDir:t,staleMs:n});let s=_e({slotsDir:t,staleMs:n}),l=s<i;return{admitted:l,slotId:null,activeSlots:s,maxSlots:i,reason:l?null:`heavy verification at capacity (${s}/${i} slots); waiting for ${e}`}}function Sn(e){e<=0||En(process.execPath,["-e",`const d=Date.now()+${Math.floor(e)};while(Date.now()<d);`],{stdio:"ignore",windowsHide:!0})}function Nr(e,r,t=2e3,n={}){let i=Date.now()+Math.max(0,r),s=w(e,n);for(;!s.admitted&&Date.now()<i;)Sn(Math.min(t,i-Date.now())),s=w(e,n);return s}function Cn(e,r={}){let t=ye(e);if(!t.heavy)return{allowed:!0,outcome:"allowed",commandClass:t.commandClass,reason:"command does not require heavy-verification token",verificationGate:{...ee(e),slotId:null}};if(Q())return{allowed:!0,outcome:"heavy_verification_skipped",commandClass:t.commandClass,reason:"KYNVER_HEAVY_VERIFICATION_SKIP bypasses gate",verificationGate:{...ee(e),slotId:null}};let n=r.waitMs??0,i=n>0?Nr(e,n,r.pollMs):w(e);return i.admitted?{allowed:!0,outcome:"allowed",commandClass:t.commandClass,reason:t.reason??"heavy-verification token acquired",verificationGate:i}:{allowed:!1,outcome:z,commandClass:t.commandClass,reason:t.reason??i.reason??z,verificationGate:i}}export{m as DEFAULT_WORKER_PROVIDER,z as HEAVY_VERIFICATION_TOKEN_REQUIRED,te as KYNVER_NO_PROD_DB_CREDENTIALS_ENV,Gr as auditReviewWorkerCredentialScope,jr as auditWorkerEnv,p as buildWorkerSpawnEnv,ye as classifyHeavyShellCommand,Sr as enforceCursorWorkerProvider,Cn as gateWorkerShellCommand,d as isClaudeFamilyProvider,k as isForbiddenWorkerEnvKey,Qr as isHarnessExpertReviewWorker,Ce as isNoProdCredentialReviewEnvironment,be as listForbiddenWorkerEnvKeys,Ee as listOperatorAllowedWorkerEnvKeys,x as normalizeWorkerProviderName,rn as preferCursorExecutor,en as resolveConfiguredWorkerProvider,P as scrubWorkerEnv,ge as taskAllowsClaudeWorker,he as taskExpressesWorkerProviderPreference};
65
+ `});var er=o(()=>{"use strict";Y();a();u()});var rr=o(()=>{"use strict";G();E()});var tr=o(()=>{"use strict"});var Qi,es,nr=o(()=>{"use strict";B();Qi=10*6e4,es=60*6e4});var or=o(()=>{"use strict"});var he=o(()=>{"use strict"});var ir=o(()=>{"use strict"});var sr=o(()=>{"use strict";he();ir()});var ar=o(()=>{"use strict";qe();Qe();er();u();G();rr();tr();nr();or();sr();he();a()});var lr=o(()=>{"use strict";ar();a()});var Ct,Ot,cr=o(()=>{"use strict";Be();y();h();L();H();pe();Y();Ye();lr();a();Ct=500*1024*1024,Ot=4*1024*1024*1024});var H=o(()=>{"use strict";cr()});import{homedir as At}from"node:os";import wt from"node:path";var ur,ye=o(()=>{"use strict";ur=wt.join(At(),".kynver",".env")});var dr=o(()=>{"use strict"});var pr=o(()=>{"use strict";dr()});var mr=o(()=>{"use strict"});var fr=o(()=>{"use strict";a()});var ve=o(()=>{"use strict";pr();mr();fr()});var gr=o(()=>{"use strict"});var hr=o(()=>{"use strict";gr()});var J=o(()=>{"use strict";ye();f();y();ve();hr()});var yr=o(()=>{"use strict";h();h()});var vr=o(()=>{"use strict";ye();ve();J()});var _e=o(()=>{"use strict"});var _r=o(()=>{"use strict";ce();h();yr();y();J();vr();ue();_e();$()});function S(e){let r=e.trim().toLowerCase();return Bt[r]??r}var xr,Ut,Bt,z=o(()=>{"use strict";xr=["claude","cursor","codex","gemini","gemini-api","openai-compatible"],Ut=xr.join("|"),Bt={anthropic:"claude",opus:"claude",openai:"openai-compatible",openai_compatible:"openai-compatible","openai-compat":"openai-compatible",chatgpt:"codex",gpt:"codex","openai-api":"openai-compatible",openai_api:"openai-compatible",google:"gemini",gemini_cli:"gemini",gemini_api:"gemini-api","google-api":"gemini-api",google_api:"gemini-api"}});var Rr=o(()=>{"use strict";f()});var kr=o(()=>{"use strict";Rr()});var br=o(()=>{"use strict"});var Er=o(()=>{"use strict";br()});import{homedir as Ft,totalmem as Vl}from"node:os";import xe from"node:path";var Sr,lc,cc,uc,dc,y=o(()=>{"use strict";ce();f();le();Ue();ue();h();L();H();pe();J();_r();z();$();kr();_e();Er();Sr=xe.join(Ft(),".kynver"),lc=xe.join(Sr,"config.json"),cc=xe.join(Sr,"credentials"),uc=500*1024*1024,dc=4*1024*1024*1024});D();D();var se="KYNVER_NO_PROD_DB_CREDENTIALS",Xr=["KYNVER_ENV_FILE"],Zr=new Set(["1","true","yes","on"]);function Te(e){let r=e[se]?.trim().toLowerCase();return r!==void 0&&Zr.has(r)}function p(e,r={}){let t=N(e);if(!r.reviewWorker)return t;let n={...t,[se]:"1"};for(let i of Xr)delete n[i];return n}var Ie=["DATABASE_URL","PRODUCTION_DATABASE_URL","KYNVER_PRODUCTION_DATABASE_URL"];function Qr(e,r={}){let t=p(e,r),n=Object.keys(t).filter(c=>c.endsWith("_SECRET")||c.endsWith("_API_KEY")||Ie.includes(c)),i=Ie.every(c=>t[c]===void 0),s=r.reviewWorker?t.KYNVER_ENV_FILE===void 0:!0,l=Te(t);return{reviewMode:!!r.reviewWorker,noProdFlagPresent:r.reviewWorker?l:!0,forbiddenKeysAfterScrub:n.sort(),productionDbKeysAbsent:i,envFilePointerStripped:s,safe:i&&n.length===0&&s&&(!r.reviewWorker||l)}}var et="expert-lane-pr-review:",rt="plan-review-task",tt="scheduledjob:",W=new Set(["lorentz","dalton","rhea","sentinel"]);function nt(e){if(!e)return null;let r=e.trim().toLowerCase();return r.length?r:null}function ae(e){return/\b(deep[- ]?review|plan review|review .*plan|security review|red[- ]team|lb\d+|runtime verification)\b/.test(e)}function ot(e,r){return e.startsWith("factory:")?e.includes("lb")||ae(r):!1}function it(e){let r=(e.executorRef??"").toLowerCase(),t=(e.title??"").toLowerCase(),n=(e.description??"").toLowerCase(),i=`${t}
66
+ ${n}`,s=nt(e.personaSlug);return r.startsWith("harness-lane:blocked-lane-unblock:")||r==="lane:over_attempt_recovery"||r.startsWith("next-action-fix:")||r.startsWith("next-action-landing:")||r.startsWith("code-work-lane-chain:release:")?!1:!!(r.startsWith(et)||r===rt||r.startsWith("daemon-review:")||s&&W.has(s)&&(r.includes("evidence")||r.includes("validate")||r.includes("review")||ot(r,i)||ae(i))||r.startsWith(tt)&&e.parentTaskId&&s&&W.has(s)||e.planId&&!e.parentTaskId&&s&&W.has(s)&&ae(i)||t.includes("expert pr review")||e.parentTaskId&&(t.startsWith("review:")||t.includes("review required")||t.includes("runtime review"))&&s&&W.has(s))}var st=/^claude[-_]/i,at=/^(?:opus|sonnet|haiku)\b/i;function Ne(e){let r=e.trim();return st.test(r)||at.test(r)}function De(e){let r=e.trim().toLowerCase();return r.startsWith("gpt-")||r.startsWith("gpt5")||r.includes("codex")}function We(e){let r=e.trim().toLowerCase();return r.includes("composer")||r.includes("cursor")}function Ke(e){return e.trim().toLowerCase().startsWith("gemini-")}function lt(e){return De(e)?"codex":Ne(e)?"claude":Ke(e)?"gemini":(We(e),"cursor")}function ct(e){if(!e.startsWith("provider:"))return null;let r=e.slice(9),t=r.indexOf(":"),n=(t>=0?r.slice(0,t):r).trim().toLowerCase(),i=t>=0&&r.slice(t+1).trim()||void 0;return n?n==="claude"||n==="opus"||n==="anthropic"?{provider:"claude",model:i,rule:i?"executor_ref:provider_claude_model":"executor_ref:provider_claude"}:n==="codex"?{provider:"codex",model:i,rule:"executor_ref:provider_codex"}:n==="openai-compatible"||n==="openai"||n==="openai_compatible"?{provider:"openai-compatible",model:i,rule:"executor_ref:provider_openai_compatible"}:n==="chatgpt"||n==="gpt"?{provider:"codex",model:i,rule:"executor_ref:provider_codex"}:n==="openai-api"||n==="openai_api"?{provider:"openai-compatible",model:i,rule:"executor_ref:provider_openai_compatible"}:n==="cursor"||n==="composer"?{provider:"cursor",model:i,rule:"executor_ref:provider_cursor"}:n==="gemini-api"||n==="gemini_api"||n==="google-api"?{provider:"gemini-api",model:i,rule:"executor_ref:provider_gemini_api"}:n==="gemini"||n==="google"||n==="gemini_cli"?{provider:"gemini",model:i,rule:i?"executor_ref:provider_gemini_model":"executor_ref:provider_gemini"}:null:null}function ut(e){if(!e.startsWith("harness-lane:"))return null;let r=e.split(":").map(i=>i.trim()).filter(Boolean);if(r.length<2)return null;let t=r[1],n=r.slice(2).join(":");return n?Ne(n)||De(n)||We(n)||Ke(n)?{lane:t,model:n,provider:lt(n),rule:"executor_ref:harness_lane_model"}:{lane:t,rule:"executor_ref:harness_lane"}:{lane:t,rule:"executor_ref:harness_lane"}}function K(e){let r=typeof e=="string"?e.trim():"";return r?ct(r)??ut(r):null}y();g();u();a();u();a();g();E();var Ar="kynver",wr=["agent_os_context_envelope","agent_os_search_memory","agent_os_search_skills","agent_os_get_skill","agent_os_progress_note"],Gt=wr.map(e=>`mcp__${Ar}__${e}`);E();u();a();g();u();a();g();var Q="gpt-5.6-sol";var Lu=process.env.KYNVER_CODEX_DEFAULT_MODEL?.trim()||Q;function Jt(){return process.env.KYNVER_CODEX_DEFAULT_MODEL?.trim()||Q}var zt=Jt();u();a();var _d=600*1e3;u();a();g();var $d=600*1e3;var Pr="composer-2.5";z();z();var m="cursor",en=new Set(["claude","opus","anthropic"]),rn=[/\[worker-provider:\s*claude\]/i,/\[use-claude-worker\]/i,/\[operator-worker-provider:\s*claude\]/i];function A(e,r){let t=e[r];return typeof t=="string"?t.trim():""}function d(e){if(!e?.trim())return!1;let r=e.trim().toLowerCase();return en.has(r)?!0:r.includes("claude")||r.includes("opus")}function Re(e){if(!e)return!1;let r=e.workerProviderOverride;if(typeof r=="string"&&d(r))return!0;let t=A(e,"executorRef").toLowerCase();if(t==="provider:claude"||t.startsWith("provider:claude:")||t.includes("claude-worker-override")||t.includes("operator-claude"))return!0;let n=K(A(e,"executorRef"));if(n?.provider&&d(n.provider)||n?.model&&d(tn(n.model)))return!0;let i=A(e,"description");if(rn.some(l=>l.test(i)))return!0;let s=A(e,"title");return!!/\[use-claude-worker\]/i.test(s)}function tn(e){let r=e.trim().toLowerCase();return/^claude[-_]/.test(r)||/^(?:opus|sonnet|haiku)\b/.test(r)?"claude":r}function nn(e,r){return{provider:m,model:Pr,rule:`policy:cursor_default${r}`,requestedModel:e}}var on=["explicit:","executor_ref:","factory:","task:"];function sn(e){return on.some(r=>e.startsWith(r))}function ke(e){if(!e)return!1;let r=e.workerProviderOverride;return typeof r=="string"&&r.trim()||K(A(e,"executorRef"))?.provider?!0:Re(e)}function Ir(e){let{routing:r,task:t}=e,n=e.explicitProvider?.trim().toLowerCase();if(e.explicitProviderIsOperatorOverride&&d(n))return{...r,provider:"claude",rule:r.rule.startsWith("explicit:")?r.rule:"explicit:operator_provider"};if(n||sn(r.rule)||ke(t)||!d(r.provider))return r;let i=r.rule&&r.rule!=="default:global"?`:${r.rule.replace(/:/g,"_")}`:"";return nn(r.model,i)}function an(e,r=m){let t=e?.trim();return t?S(t):r}function ln(e){let r=[...new Set(e.map(t=>t.trim().toLowerCase()).filter(Boolean))];return r.includes(m)?[...new Set(r.map(t=>d(t)?m:t))]:r.every(t=>d(t))?[m]:r}var cn=/\b(npm run typecheck|tsc\b[^|&;]*--noEmit|node scripts\/verify-pr-local\.mjs|kynver (harness )?verify)\b/i,un=/\b(npm run build\b|next build\b)\b/i,dn=/\b(vercel (build|deploy|--prod))\b/i,pn=/\b(openai|anthropic|perplexity|voyage)\b.*\b(api|cli)\b|\b(paid|billable)[-_ ]?compute\b/i;function be(e){let r=e.trim();return r?pn.test(r)?{heavy:!0,commandClass:"paid_compute",reason:"paid external compute requires heavy-verification token and operator approval"}:dn.test(r)?{heavy:!0,commandClass:"vercel_verify",reason:"Vercel build/deploy verification requires heavy-verification token"}:un.test(r)?{heavy:!0,commandClass:"full_build",reason:"full app build requires heavy-verification token"}:cn.test(r)?{heavy:!0,commandClass:"full_typecheck",reason:"full repo typecheck requires heavy-verification token"}:{heavy:!1,commandClass:"allowed",reason:null}:{heavy:!1,commandClass:"allowed",reason:null}}var ee="heavy_verification_token_required";import{spawnSync as Pn}from"node:child_process";a();import{closeSync as vn,existsSync as P,mkdirSync as _n,openSync as xn,readdirSync as Wr,readFileSync as Rn,statSync as kn,unlinkSync as Kr,writeFileSync as bn}from"node:fs";import Ce from"node:path";import{mkdirSync as fn}from"node:fs";import{tmpdir as gn}from"node:os";import re from"node:path";import{homedir as mn,tmpdir as dp}from"node:os";import Tr from"node:path";function Nr(){let e=process.env.KYNVER_STATE_ROOT;return e?Tr.resolve(e):Tr.join(mn(),".kynver","state")}function hn(){return!!(process.env.VERCEL||process.env.VERCEL_ENV||process.env.AWS_LAMBDA_FUNCTION_NAME||process.env.AWS_EXECUTION_ENV)}function yn(){let e=process.env.KYNVER_HEAVY_VERIFICATION_STATE_ROOT;return e?re.resolve(e):hn()?re.join(gn(),"kynver","state","heavy-verification"):re.join(Nr(),"heavy-verification")}function Ee(){return re.join(yn(),"slots")}function w(){let e=Ee();return fn(e,{recursive:!0}),e}var I=120*6e4,Dr=1;function En(e,r){let t=Number(e);return!Number.isFinite(t)||t<=0?r:Math.floor(t)}function ne(){let e=process.env.KYNVER_HEAVY_VERIFICATION_SKIP?.trim().toLowerCase();return e==="1"||e==="true"||e==="yes"}function te(){let e=process.env.KYNVER_HEAVY_VERIFICATION_MAX_CONCURRENT;return e?En(e,Dr):Dr}function Sn(e){return`slot-${e}`}function Cn(e,r=Ee()){return Ce.join(r,`${e}.json`)}function Oe(e){if(!P(e))return null;try{let r=JSON.parse(Rn(e,"utf8"));if(typeof r.slotId=="string"&&typeof r.pid=="number"&&typeof r.acquiredAt=="string"&&typeof r.command=="string")return r}catch{return null}return null}function Mr(e,r=I){if(!e||!M(e.pid))return!0;let t=Date.parse(e.acquiredAt);return Number.isNaN(t)?!0:Date.now()-t>r}function Ur(e,r){let t=Oe(e);if(t)return Mr(t,r);if(!P(e))return!0;try{return Date.now()-kn(e).mtimeMs>r}catch{return!0}}function On(e,r){if(Ur(e,r))try{Kr(e)}catch{}}function An(e){return _n(e,{recursive:!0}),e}function Ae(e={}){let r=An(e.slotsDir??w()),t=e.staleMs??I,n=0;for(let i of Wr(r)){if(!i.endsWith(".json"))continue;let s=Ce.join(r,i),l=P(s);On(s,t),l&&!P(s)&&(n+=1)}return n}function wn(e={}){let r=e.slotsDir??w(),t=e.staleMs??I;Ae({slotsDir:r,staleMs:t});let n=[];for(let i of Wr(r)){if(!i.endsWith(".json"))continue;let s=Oe(Ce.join(r,i));s&&!Mr(s,t)&&n.push(s)}return n}function Se(e={}){return wn(e).length}function T(e,r={}){if(ne())return{admitted:!0,slotId:null,activeSlots:0,maxSlots:te(),reason:null};let t=r.slotsDir??w(),n=r.staleMs??I,i=r.maxSlots??te();Ae({slotsDir:t,staleMs:n});for(let l=0;l<i;l+=1){let c=Sn(l),x=Cn(c,t),Lr=Oe(x);if(Ur(x,n))try{Kr(x)}catch{}else if(Lr||P(x))continue;let Fr={slotId:c,pid:process.pid,acquiredAt:new Date().toISOString(),command:e};try{let R=xn(x,"wx");bn(R,JSON.stringify(Fr,null,2),"utf8"),vn(R);let $r=Se({slotsDir:t,staleMs:n});return{admitted:!0,slotId:c,activeSlots:$r,maxSlots:i,reason:null}}catch(R){if(R.code==="EEXIST")continue;throw R}}let s=Se({slotsDir:t,staleMs:n});return{admitted:!1,slotId:null,activeSlots:s,maxSlots:i,reason:`heavy verification at capacity (${s}/${i} slots)`}}function oe(e,r={}){if(ne())return{admitted:!0,slotId:null,activeSlots:0,maxSlots:te(),reason:null};let t=r.slotsDir??w(),n=r.staleMs??I,i=r.maxSlots??te();Ae({slotsDir:t,staleMs:n});let s=Se({slotsDir:t,staleMs:n}),l=s<i;return{admitted:l,slotId:null,activeSlots:s,maxSlots:i,reason:l?null:`heavy verification at capacity (${s}/${i} slots); waiting for ${e}`}}function In(e){e<=0||Pn(process.execPath,["-e",`const d=Date.now()+${Math.floor(e)};while(Date.now()<d);`],{stdio:"ignore",windowsHide:!0})}function Br(e,r,t=2e3,n={}){let i=Date.now()+Math.max(0,r),s=T(e,n);for(;!s.admitted&&Date.now()<i;)In(Math.min(t,i-Date.now())),s=T(e,n);return s}function Tn(e,r={}){let t=be(e);if(!t.heavy)return{allowed:!0,outcome:"allowed",commandClass:t.commandClass,reason:"command does not require heavy-verification token",verificationGate:{...oe(e),slotId:null}};if(ne())return{allowed:!0,outcome:"heavy_verification_skipped",commandClass:t.commandClass,reason:"KYNVER_HEAVY_VERIFICATION_SKIP bypasses gate",verificationGate:{...oe(e),slotId:null}};let n=r.waitMs??0,i=n>0?Br(e,n,r.pollMs):T(e);return i.admitted?{allowed:!0,outcome:"allowed",commandClass:t.commandClass,reason:t.reason??"heavy-verification token acquired",verificationGate:i}:{allowed:!1,outcome:ee,commandClass:t.commandClass,reason:t.reason??i.reason??ee,verificationGate:i}}export{m as DEFAULT_WORKER_PROVIDER,ee as HEAVY_VERIFICATION_TOKEN_REQUIRED,se as KYNVER_NO_PROD_DB_CREDENTIALS_ENV,Qr as auditReviewWorkerCredentialScope,zr as auditWorkerEnv,p as buildWorkerSpawnEnv,be as classifyHeavyShellCommand,Ir as enforceCursorWorkerProvider,Tn as gateWorkerShellCommand,d as isClaudeFamilyProvider,k as isForbiddenWorkerEnvKey,it as isHarnessExpertReviewWorker,Te as isNoProdCredentialReviewEnvironment,we as listForbiddenWorkerEnvKeys,Pe as listOperatorAllowedWorkerEnvKeys,S as normalizeWorkerProviderName,ln as preferCursorExecutor,an as resolveConfiguredWorkerProvider,N as scrubWorkerEnv,Re as taskAllowsClaudeWorker,ke as taskExpressesWorkerProviderPreference};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kynver-app/runtime",
3
- "version": "0.2.130",
3
+ "version": "0.2.135",
4
4
  "description": "Kynver AgentOS local execution runtime and CLI",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",