@kynver-app/runtime 0.1.132 → 0.1.134

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/prompt.d.ts CHANGED
@@ -5,7 +5,7 @@ export declare function buildPrompt(input: {
5
5
  heartbeatPath: string;
6
6
  planId?: string;
7
7
  taskId?: string;
8
- /** Lane A operating rules from dispatch-next `harnessWorkerContext`. */
8
+ /** Operating rules from dispatch-next `harnessWorkerContext`. */
9
9
  instructionPolicyMarkdown?: string | null;
10
10
  /** Anchored task context-envelope persona block (required when task has personaSlug). */
11
11
  personaMarkdown?: string | null;
@@ -1 +1 @@
1
- import{closeSync as B,existsSync as u,mkdirSync as M,openSync as X,readdirSync as v,readFileSync as P,unlinkSync as I,writeFileSync as q}from"node:fs";import S from"node:path";function f(e){if(!e)return!1;try{return process.kill(e,0),!0}catch{return!1}}import{mkdirSync as b}from"node:fs";import d from"node:path";import{homedir as C}from"node:os";import p from"node:path";function m(){let e=process.env.KYNVER_STATE_ROOT;return e?p.resolve(e):p.join(C(),".kynver","state")}function _(){return d.join(m(),"heavy-verification")}function g(){return d.join(_(),"slots")}function a(){let e=g();return b(e,{recursive:!0}),e}var c=120*6e4,y=1;function O(e,r){let t=Number(e);return!Number.isFinite(t)||t<=0?r:Math.floor(t)}function E(){let e=process.env.KYNVER_HEAVY_VERIFICATION_SKIP?.trim().toLowerCase();return e==="1"||e==="true"||e==="yes"}function l(){let e=process.env.KYNVER_HEAVY_VERIFICATION_MAX_CONCURRENT;return e?O(e,y):y}function k(e){if(!u(e))return null;try{let r=JSON.parse(P(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 h(e,r=c){if(!e||!f(e.pid))return!0;let t=Date.parse(e.acquiredAt);return Number.isNaN(t)?!0:Date.now()-t>r}function V(e,r){let t=k(e);if(h(t,r))try{I(e)}catch{}}function N(e){return M(e,{recursive:!0}),e}function R(e={}){let r=N(e.slotsDir??a()),t=e.staleMs??c,o=0;for(let n of v(r)){if(!n.endsWith(".json"))continue;let s=S.join(r,n),i=u(s);V(s,t),i&&!u(s)&&(o+=1)}return o}function T(e={}){let r=e.slotsDir??a(),t=e.staleMs??c;R({slotsDir:r,staleMs:t});let o=[];for(let n of v(r)){if(!n.endsWith(".json"))continue;let s=k(S.join(r,n));s&&!h(s,t)&&o.push(s)}return o}function x(e={}){return T(e).length}function D(e,r={}){if(E())return{admitted:!0,slotId:null,activeSlots:0,maxSlots:l(),reason:null};let t=r.slotsDir??a(),o=r.staleMs??c,n=r.maxSlots??l();R({slotsDir:t,staleMs:o});let s=x({slotsDir:t,staleMs:o}),i=s<n;return{admitted:i,slotId:null,activeSlots:s,maxSlots:n,reason:i?null:`heavy verification at capacity (${s}/${n} slots); waiting for ${e}`}}var w=["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"],re=new Set(w);var H={"@kynver-app/runtime":"0.1.83","@kynver-app/openclaw-agent-os":"0.1.43","@kynver-app/mcp-agent-os":"0.3.34"},Se=Object.keys(H);function A(e){let r=e.trim().split("-")[0]?.split("+")[0];if(!r)return null;let t=r.split(".");if(t.length<1||t.length>3)return null;let o=t.map(n=>Number.parseInt(n,10));if(o.some(n=>!Number.isFinite(n)||n<0))return null;for(;o.length<3;)o.push(0);return[o[0],o[1],o[2]]}function $(e,r){let t=A(e),o=A(r);if(!t||!o)return 0;for(let n=0;n<3;n+=1){if(t[n]>o[n])return 1;if(t[n]<o[n])return-1}return 0}export{D as assessHeavyVerificationGate,$ as compareSemver,x as countActiveHeavyVerificationSlots,E as isHeavyVerificationGateSkipped,l as resolveHeavyVerificationMaxConcurrent};
1
+ import{closeSync as z,existsSync as l,mkdirSync as I,openSync as Q,readdirSync as y,readFileSync as N,unlinkSync as O,writeFileSync as Z}from"node:fs";import S from"node:path";function f(e){if(!e)return!1;try{return process.kill(e,0),!0}catch{return!1}}import{mkdirSync as C}from"node:fs";import{tmpdir as b}from"node:os";import a from"node:path";import{homedir as _}from"node:os";import m from"node:path";function d(){let e=process.env.KYNVER_STATE_ROOT;return e?m.resolve(e):m.join(_(),".kynver","state")}function M(){return!!(process.env.VERCEL||process.env.VERCEL_ENV||process.env.AWS_LAMBDA_FUNCTION_NAME||process.env.AWS_EXECUTION_ENV)}function P(){let e=process.env.KYNVER_HEAVY_VERIFICATION_STATE_ROOT;return e?a.resolve(e):M()?a.join(b(),"kynver","state","heavy-verification"):a.join(d(),"heavy-verification")}function g(){return a.join(P(),"slots")}function c(){let e=g();return C(e,{recursive:!0}),e}var u=120*6e4,v=1;function V(e,r){let t=Number(e);return!Number.isFinite(t)||t<=0?r:Math.floor(t)}function E(){let e=process.env.KYNVER_HEAVY_VERIFICATION_SKIP?.trim().toLowerCase();return e==="1"||e==="true"||e==="yes"}function p(){let e=process.env.KYNVER_HEAVY_VERIFICATION_MAX_CONCURRENT;return e?V(e,v):v}function R(e){if(!l(e))return null;try{let r=JSON.parse(N(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 k(e,r=u){if(!e||!f(e.pid))return!0;let t=Date.parse(e.acquiredAt);return Number.isNaN(t)?!0:Date.now()-t>r}function T(e,r){let t=R(e);if(k(t,r))try{O(e)}catch{}}function D(e){return I(e,{recursive:!0}),e}function h(e={}){let r=D(e.slotsDir??c()),t=e.staleMs??u,o=0;for(let n of y(r)){if(!n.endsWith(".json"))continue;let s=S.join(r,n),i=l(s);T(s,t),i&&!l(s)&&(o+=1)}return o}function w(e={}){let r=e.slotsDir??c(),t=e.staleMs??u;h({slotsDir:r,staleMs:t});let o=[];for(let n of y(r)){if(!n.endsWith(".json"))continue;let s=R(S.join(r,n));s&&!k(s,t)&&o.push(s)}return o}function A(e={}){return w(e).length}function H(e,r={}){if(E())return{admitted:!0,slotId:null,activeSlots:0,maxSlots:p(),reason:null};let t=r.slotsDir??c(),o=r.staleMs??u,n=r.maxSlots??p();h({slotsDir:t,staleMs:o});let s=A({slotsDir:t,staleMs:o}),i=s<n;return{admitted:i,slotId:null,activeSlots:s,maxSlots:n,reason:i?null:`heavy verification at capacity (${s}/${n} slots); waiting for ${e}`}}var $=["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"],oe=new Set($);var G={"@kynver-app/runtime":"0.1.83","@kynver-app/openclaw-agent-os":"0.1.43","@kynver-app/mcp-agent-os":"0.3.34"},ke=Object.keys(G);function x(e){let r=e.trim().split("-")[0]?.split("+")[0];if(!r)return null;let t=r.split(".");if(t.length<1||t.length>3)return null;let o=t.map(n=>Number.parseInt(n,10));if(o.some(n=>!Number.isFinite(n)||n<0))return null;for(;o.length<3;)o.push(0);return[o[0],o[1],o[2]]}function K(e,r){let t=x(e),o=x(r);if(!t||!o)return 0;for(let n=0;n<3;n+=1){if(t[n]>o[n])return 1;if(t[n]<o[n])return-1}return 0}export{H as assessHeavyVerificationGate,K as compareSemver,A as countActiveHeavyVerificationSlots,E as isHeavyVerificationGateSkipped,p as resolveHeavyVerificationMaxConcurrent};
@@ -1 +1 @@
1
- var n=(e,r)=>()=>(e&&(r=e(e=0)),r);function w(e){return we.has(e)?!0:Ie.some(r=>e.endsWith(r))}function J(e){return Object.keys(e).filter(w).sort()}function f(e){let r={...e};for(let t of Object.keys(r))w(t)&&delete r[t];return r}function Be(e){let r=J(e);return{forbiddenPresent:r,safe:r.length===0}}var Pe,we,Ie,d=n(()=>{"use strict";Pe=["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"],we=new Set(Pe),Ie=["_SECRET","_API_KEY"]});function I(e){if(!e)return!1;try{return process.kill(e,0),!0}catch{return!1}}var a=n(()=>{"use strict"});var N=n(()=>{"use strict";a();d()});var v=n(()=>{"use strict"});var X=n(()=>{"use strict";N();v()});var T=n(()=>{"use strict"});var Q=n(()=>{"use strict"});var Dr,Kr,Z=n(()=>{"use strict";Dr=25*1024*1024*1024,Kr=12*1024*1024*1024});var Lr,$r,M=n(()=>{"use strict";Z();Lr=30*1024*1024*1024,$r=15*1024*1024*1024});import{homedir as Te}from"node:os";import Me from"node:path";var Jr,ee=n(()=>{"use strict";k();v();a();Jr=Me.join(Te(),".openclaw","harness")});var D=n(()=>{"use strict";ee();a()});var te=n(()=>{"use strict";D();a()});var ne=n(()=>{"use strict"});var oe=n(()=>{"use strict";ne();a()});var ie=n(()=>{"use strict"});var se=n(()=>{"use strict";ie()});var ae=n(()=>{"use strict";se();a()});var ce=n(()=>{"use strict"});var le=n(()=>{"use strict"});var ue=n(()=>{"use strict"});var K=n(()=>{"use strict"});var de=n(()=>{"use strict";K()});var me=n(()=>{"use strict";oe();ae();ce();le();N();ue();de();K();a()});var fe=n(()=>{"use strict";me()});var Fe,Le,pe=n(()=>{"use strict";Q();k();T();U();M();D();te();fe();a();Fe=500*1024*1024,Le=4*1024*1024*1024});var U=n(()=>{"use strict";pe()});import{homedir as $e,totalmem as Wn}from"node:os";import H from"node:path";var ge,jn,Vn,Yn,Gn,k=n(()=>{"use strict";X();v();a();T();U();M();ge=H.join($e(),".kynver"),jn=H.join(ge,"config.json"),Vn=H.join(ge,"credentials"),Yn=500*1024*1024,Gn=4*1024*1024*1024});d();k();d();a();d();a();d();a();var Lo=process.env.KYNVER_CODEX_DEFAULT_MODEL?.trim()||"gpt-5.4";function ze(){return process.env.KYNVER_CODEX_DEFAULT_MODEL?.trim()||"gpt-5.4"}var qe=ze();var be="composer-2.5";var u="cursor",Je=new Set(["claude","opus","anthropic"]),Xe=[/\[worker-provider:\s*claude\]/i,/\[use-claude-worker\]/i,/\[operator-worker-provider:\s*claude\]/i];function L(e,r){let t=e[r];return typeof t=="string"?t.trim():""}function c(e){if(!e?.trim())return!1;let r=e.trim().toLowerCase();return Je.has(r)?!0:r.includes("claude")||r.includes("opus")}function F(e){if(!e)return!1;let r=e.workerProviderOverride;if(typeof r=="string"&&c(r))return!0;let t=L(e,"executorRef").toLowerCase();if(t==="provider:claude"||t.startsWith("provider:claude:")||t.includes("claude-worker-override")||t.includes("operator-claude"))return!0;let i=L(e,"description");if(Xe.some(s=>s.test(i)))return!0;let o=L(e,"title");return!!/\[use-claude-worker\]/i.test(o)}function Qe(e,r){return{provider:u,model:be,rule:`policy:cursor_default${r}`,requestedModel:e}}function ve(e){let{routing:r,task:t}=e,i=e.explicitProvider?.trim().toLowerCase();if(e.explicitProviderIsOperatorOverride&&c(i))return{...r,provider:"claude",rule:r.rule.startsWith("explicit:")?r.rule:"explicit:operator_provider"};if(F(t)||r.rule==="explicit:cli"&&c(r.provider)||!c(r.provider))return r;let o=r.rule&&r.rule!=="default:global"?`:${r.rule.replace(/:/g,"_")}`:"";return Qe(r.model,o)}function Ze(e,r=u){let t=e?.trim();return t?c(t)?u:t==="codex"?"codex":t:r}function er(e){let r=[...new Set(e.map(t=>t.trim().toLowerCase()).filter(Boolean))];return r.includes(u)?[...new Set(r.map(t=>c(t)?u:t))]:r.every(t=>c(t))?[u]:r}var rr=/\b(npm run typecheck|tsc\b[^|&;]*--noEmit|node scripts\/verify-pr-local\.mjs|kynver (harness )?verify)\b/i,tr=/\b(npm run build\b|next build\b)\b/i,nr=/\b(vercel (build|deploy|--prod))\b/i,or=/\b(openai|anthropic|perplexity|voyage)\b.*\b(api|cli)\b|\b(paid|billable)[-_ ]?compute\b/i;function $(e){let r=e.trim();return r?or.test(r)?{heavy:!0,commandClass:"paid_compute",reason:"paid external compute requires heavy-verification token and operator approval"}:nr.test(r)?{heavy:!0,commandClass:"vercel_verify",reason:"Vercel build/deploy verification requires heavy-verification token"}:tr.test(r)?{heavy:!0,commandClass:"full_build",reason:"full app build requires heavy-verification token"}:rr.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 _="heavy_verification_token_required";import{spawnSync as vr}from"node:child_process";a();import{closeSync as cr,existsSync as V,mkdirSync as lr,openSync as ur,readdirSync as Se,readFileSync as dr,unlinkSync as Ce,writeFileSync as mr}from"node:fs";import G from"node:path";import{mkdirSync as sr}from"node:fs";import xe from"node:path";import{homedir as ir}from"node:os";import ke from"node:path";function Re(){let e=process.env.KYNVER_STATE_ROOT;return e?ke.resolve(e):ke.join(ir(),".kynver","state")}function ar(){return xe.join(Re(),"heavy-verification")}function j(){return xe.join(ar(),"slots")}function g(){let e=j();return sr(e,{recursive:!0}),e}var h=120*6e4,_e=1;function fr(e,r){let t=Number(e);return!Number.isFinite(t)||t<=0?r:Math.floor(t)}function E(){let e=process.env.KYNVER_HEAVY_VERIFICATION_SKIP?.trim().toLowerCase();return e==="1"||e==="true"||e==="yes"}function S(){let e=process.env.KYNVER_HEAVY_VERIFICATION_MAX_CONCURRENT;return e?fr(e,_e):_e}function pr(e){return`slot-${e}`}function gr(e,r=j()){return G.join(r,`${e}.json`)}function z(e){if(!V(e))return null;try{let r=JSON.parse(dr(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 C(e,r=h){if(!e||!I(e.pid))return!0;let t=Date.parse(e.acquiredAt);return Number.isNaN(t)?!0:Date.now()-t>r}function hr(e,r){let t=z(e);if(C(t,r))try{Ce(e)}catch{}}function yr(e){return lr(e,{recursive:!0}),e}function q(e={}){let r=yr(e.slotsDir??g()),t=e.staleMs??h,i=0;for(let o of Se(r)){if(!o.endsWith(".json"))continue;let s=G.join(r,o),l=V(s);hr(s,t),l&&!V(s)&&(i+=1)}return i}function br(e={}){let r=e.slotsDir??g(),t=e.staleMs??h;q({slotsDir:r,staleMs:t});let i=[];for(let o of Se(r)){if(!o.endsWith(".json"))continue;let s=z(G.join(r,o));s&&!C(s,t)&&i.push(s)}return i}function Y(e={}){return br(e).length}function y(e,r={}){if(E())return{admitted:!0,slotId:null,activeSlots:0,maxSlots:S(),reason:null};let t=r.slotsDir??g(),i=r.staleMs??h,o=r.maxSlots??S();q({slotsDir:t,staleMs:i});for(let l=0;l<o;l+=1){let O=pr(l),P=gr(O,t),b=z(P);if(b&&C(b,i))try{Ce(P)}catch{}else if(b&&!C(b,i))continue;let Ae={slotId:O,pid:process.pid,acquiredAt:new Date().toISOString(),command:e};try{let m=ur(P,"wx");mr(m,JSON.stringify(Ae,null,2),"utf8"),cr(m);let Oe=Y({slotsDir:t,staleMs:i});return{admitted:!0,slotId:O,activeSlots:Oe,maxSlots:o,reason:null}}catch(m){if(m.code==="EEXIST")continue;throw m}}let s=Y({slotsDir:t,staleMs:i});return{admitted:!1,slotId:null,activeSlots:s,maxSlots:o,reason:`heavy verification at capacity (${s}/${o} slots)`}}function A(e,r={}){if(E())return{admitted:!0,slotId:null,activeSlots:0,maxSlots:S(),reason:null};let t=r.slotsDir??g(),i=r.staleMs??h,o=r.maxSlots??S();q({slotsDir:t,staleMs:i});let s=Y({slotsDir:t,staleMs:i}),l=s<o;return{admitted:l,slotId:null,activeSlots:s,maxSlots:o,reason:l?null:`heavy verification at capacity (${s}/${o} slots); waiting for ${e}`}}function kr(e){e<=0||vr(process.execPath,["-e",`const d=Date.now()+${Math.floor(e)};while(Date.now()<d);`],{stdio:"ignore"})}function Ee(e,r,t=2e3,i={}){let o=Date.now()+Math.max(0,r),s=y(e,i);for(;!s.admitted&&Date.now()<o;)kr(Math.min(t,o-Date.now())),s=y(e,i);return s}function Rr(e,r={}){let t=$(e);if(!t.heavy)return{allowed:!0,outcome:"allowed",commandClass:t.commandClass,reason:"command does not require heavy-verification token",verificationGate:{...A(e),slotId:null}};if(E())return{allowed:!0,outcome:"heavy_verification_skipped",commandClass:t.commandClass,reason:"KYNVER_HEAVY_VERIFICATION_SKIP bypasses gate",verificationGate:{...A(e),slotId:null}};let i=r.waitMs??0,o=i>0?Ee(e,i,r.pollMs):y(e);return o.admitted?{allowed:!0,outcome:"allowed",commandClass:t.commandClass,reason:t.reason??"heavy-verification token acquired",verificationGate:o}:{allowed:!1,outcome:_,commandClass:t.commandClass,reason:t.reason??o.reason??_,verificationGate:o}}export{u as DEFAULT_WORKER_PROVIDER,_ as HEAVY_VERIFICATION_TOKEN_REQUIRED,Be as auditWorkerEnv,$ as classifyHeavyShellCommand,ve as enforceCursorWorkerProvider,Rr as gateWorkerShellCommand,c as isClaudeFamilyProvider,w as isForbiddenWorkerEnvKey,J as listForbiddenWorkerEnvKeys,er as preferCursorExecutor,Ze as resolveConfiguredWorkerProvider,f as scrubWorkerEnv,F as taskAllowsClaudeWorker};
1
+ var n=(e,r)=>()=>(e&&(r=e(e=0)),r);function I(e){return we.has(e)?!0:Ie.some(r=>e.endsWith(r))}function X(e){return Object.keys(e).filter(I).sort()}function f(e){let r={...e};for(let t of Object.keys(r))I(t)&&delete r[t];return r}function Be(e){let r=X(e);return{forbiddenPresent:r,safe:r.length===0}}var Pe,we,Ie,d=n(()=>{"use strict";Pe=["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"],we=new Set(Pe),Ie=["_SECRET","_API_KEY"]});function B(e){if(!e)return!1;try{return process.kill(e,0),!0}catch{return!1}}var a=n(()=>{"use strict"});var T=n(()=>{"use strict";a();d()});var v=n(()=>{"use strict"});var Q=n(()=>{"use strict";T();v()});var M=n(()=>{"use strict"});var Z=n(()=>{"use strict"});var Ur,Hr,ee=n(()=>{"use strict";Ur=25*1024*1024*1024,Hr=12*1024*1024*1024});var jr,Vr,W=n(()=>{"use strict";ee();jr=30*1024*1024*1024,Vr=15*1024*1024*1024});import{homedir as Te}from"node:os";import Me from"node:path";var Qr,re=n(()=>{"use strict";k();v();a();Qr=Me.join(Te(),".openclaw","harness")});var K=n(()=>{"use strict";re();a()});var ne=n(()=>{"use strict";K();a()});var oe=n(()=>{"use strict"});var ie=n(()=>{"use strict";oe();a()});var se=n(()=>{"use strict"});var ae=n(()=>{"use strict";se()});var ce=n(()=>{"use strict";ae();a()});var le=n(()=>{"use strict"});var ue=n(()=>{"use strict"});var de=n(()=>{"use strict"});var U=n(()=>{"use strict"});var me=n(()=>{"use strict";U()});var fe=n(()=>{"use strict";ie();ce();le();ue();T();de();me();U();a()});var pe=n(()=>{"use strict";fe()});var Fe,Le,ge=n(()=>{"use strict";Z();k();M();H();W();K();ne();pe();a();Fe=500*1024*1024,Le=4*1024*1024*1024});var H=n(()=>{"use strict";ge()});import{homedir as $e,totalmem as Kn}from"node:os";import F from"node:path";var he,Yn,Gn,zn,qn,k=n(()=>{"use strict";Q();v();a();M();H();W();he=F.join($e(),".kynver"),Yn=F.join(he,"config.json"),Gn=F.join(he,"credentials"),zn=500*1024*1024,qn=4*1024*1024*1024});d();k();d();a();d();a();d();a();var jo=process.env.KYNVER_CODEX_DEFAULT_MODEL?.trim()||"gpt-5.4";function ze(){return process.env.KYNVER_CODEX_DEFAULT_MODEL?.trim()||"gpt-5.4"}var qe=ze();var ve="composer-2.5";var u="cursor",Je=new Set(["claude","opus","anthropic"]),Xe=[/\[worker-provider:\s*claude\]/i,/\[use-claude-worker\]/i,/\[operator-worker-provider:\s*claude\]/i];function $(e,r){let t=e[r];return typeof t=="string"?t.trim():""}function c(e){if(!e?.trim())return!1;let r=e.trim().toLowerCase();return Je.has(r)?!0:r.includes("claude")||r.includes("opus")}function L(e){if(!e)return!1;let r=e.workerProviderOverride;if(typeof r=="string"&&c(r))return!0;let t=$(e,"executorRef").toLowerCase();if(t==="provider:claude"||t.startsWith("provider:claude:")||t.includes("claude-worker-override")||t.includes("operator-claude"))return!0;let i=$(e,"description");if(Xe.some(s=>s.test(i)))return!0;let o=$(e,"title");return!!/\[use-claude-worker\]/i.test(o)}function Qe(e,r){return{provider:u,model:ve,rule:`policy:cursor_default${r}`,requestedModel:e}}function ke(e){let{routing:r,task:t}=e,i=e.explicitProvider?.trim().toLowerCase();if(e.explicitProviderIsOperatorOverride&&c(i))return{...r,provider:"claude",rule:r.rule.startsWith("explicit:")?r.rule:"explicit:operator_provider"};if(L(t)||r.rule==="explicit:cli"&&c(r.provider)||!c(r.provider))return r;let o=r.rule&&r.rule!=="default:global"?`:${r.rule.replace(/:/g,"_")}`:"";return Qe(r.model,o)}function Ze(e,r=u){let t=e?.trim();return t?c(t)?u:t==="codex"?"codex":t:r}function er(e){let r=[...new Set(e.map(t=>t.trim().toLowerCase()).filter(Boolean))];return r.includes(u)?[...new Set(r.map(t=>c(t)?u:t))]:r.every(t=>c(t))?[u]:r}var rr=/\b(npm run typecheck|tsc\b[^|&;]*--noEmit|node scripts\/verify-pr-local\.mjs|kynver (harness )?verify)\b/i,tr=/\b(npm run build\b|next build\b)\b/i,nr=/\b(vercel (build|deploy|--prod))\b/i,or=/\b(openai|anthropic|perplexity|voyage)\b.*\b(api|cli)\b|\b(paid|billable)[-_ ]?compute\b/i;function j(e){let r=e.trim();return r?or.test(r)?{heavy:!0,commandClass:"paid_compute",reason:"paid external compute requires heavy-verification token and operator approval"}:nr.test(r)?{heavy:!0,commandClass:"vercel_verify",reason:"Vercel build/deploy verification requires heavy-verification token"}:tr.test(r)?{heavy:!0,commandClass:"full_build",reason:"full app build requires heavy-verification token"}:rr.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 _="heavy_verification_token_required";import{spawnSync as Rr}from"node:child_process";a();import{closeSync as ur,existsSync as Y,mkdirSync as dr,openSync as mr,readdirSync as Se,readFileSync as fr,unlinkSync as Ce,writeFileSync as pr}from"node:fs";import z from"node:path";import{mkdirSync as sr}from"node:fs";import{tmpdir as ar}from"node:os";import S from"node:path";import{homedir as ir}from"node:os";import Re from"node:path";function xe(){let e=process.env.KYNVER_STATE_ROOT;return e?Re.resolve(e):Re.join(ir(),".kynver","state")}function cr(){return!!(process.env.VERCEL||process.env.VERCEL_ENV||process.env.AWS_LAMBDA_FUNCTION_NAME||process.env.AWS_EXECUTION_ENV)}function lr(){let e=process.env.KYNVER_HEAVY_VERIFICATION_STATE_ROOT;return e?S.resolve(e):cr()?S.join(ar(),"kynver","state","heavy-verification"):S.join(xe(),"heavy-verification")}function V(){return S.join(lr(),"slots")}function g(){let e=V();return sr(e,{recursive:!0}),e}var h=120*6e4,_e=1;function gr(e,r){let t=Number(e);return!Number.isFinite(t)||t<=0?r:Math.floor(t)}function A(){let e=process.env.KYNVER_HEAVY_VERIFICATION_SKIP?.trim().toLowerCase();return e==="1"||e==="true"||e==="yes"}function C(){let e=process.env.KYNVER_HEAVY_VERIFICATION_MAX_CONCURRENT;return e?gr(e,_e):_e}function hr(e){return`slot-${e}`}function yr(e,r=V()){return z.join(r,`${e}.json`)}function q(e){if(!Y(e))return null;try{let r=JSON.parse(fr(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 E(e,r=h){if(!e||!B(e.pid))return!0;let t=Date.parse(e.acquiredAt);return Number.isNaN(t)?!0:Date.now()-t>r}function br(e,r){let t=q(e);if(E(t,r))try{Ce(e)}catch{}}function vr(e){return dr(e,{recursive:!0}),e}function J(e={}){let r=vr(e.slotsDir??g()),t=e.staleMs??h,i=0;for(let o of Se(r)){if(!o.endsWith(".json"))continue;let s=z.join(r,o),l=Y(s);br(s,t),l&&!Y(s)&&(i+=1)}return i}function kr(e={}){let r=e.slotsDir??g(),t=e.staleMs??h;J({slotsDir:r,staleMs:t});let i=[];for(let o of Se(r)){if(!o.endsWith(".json"))continue;let s=q(z.join(r,o));s&&!E(s,t)&&i.push(s)}return i}function G(e={}){return kr(e).length}function y(e,r={}){if(A())return{admitted:!0,slotId:null,activeSlots:0,maxSlots:C(),reason:null};let t=r.slotsDir??g(),i=r.staleMs??h,o=r.maxSlots??C();J({slotsDir:t,staleMs:i});for(let l=0;l<o;l+=1){let P=hr(l),w=yr(P,t),b=q(w);if(b&&E(b,i))try{Ce(w)}catch{}else if(b&&!E(b,i))continue;let Ae={slotId:P,pid:process.pid,acquiredAt:new Date().toISOString(),command:e};try{let m=mr(w,"wx");pr(m,JSON.stringify(Ae,null,2),"utf8"),ur(m);let Oe=G({slotsDir:t,staleMs:i});return{admitted:!0,slotId:P,activeSlots:Oe,maxSlots:o,reason:null}}catch(m){if(m.code==="EEXIST")continue;throw m}}let s=G({slotsDir:t,staleMs:i});return{admitted:!1,slotId:null,activeSlots:s,maxSlots:o,reason:`heavy verification at capacity (${s}/${o} slots)`}}function O(e,r={}){if(A())return{admitted:!0,slotId:null,activeSlots:0,maxSlots:C(),reason:null};let t=r.slotsDir??g(),i=r.staleMs??h,o=r.maxSlots??C();J({slotsDir:t,staleMs:i});let s=G({slotsDir:t,staleMs:i}),l=s<o;return{admitted:l,slotId:null,activeSlots:s,maxSlots:o,reason:l?null:`heavy verification at capacity (${s}/${o} slots); waiting for ${e}`}}function xr(e){e<=0||Rr(process.execPath,["-e",`const d=Date.now()+${Math.floor(e)};while(Date.now()<d);`],{stdio:"ignore"})}function Ee(e,r,t=2e3,i={}){let o=Date.now()+Math.max(0,r),s=y(e,i);for(;!s.admitted&&Date.now()<o;)xr(Math.min(t,o-Date.now())),s=y(e,i);return s}function _r(e,r={}){let t=j(e);if(!t.heavy)return{allowed:!0,outcome:"allowed",commandClass:t.commandClass,reason:"command does not require heavy-verification token",verificationGate:{...O(e),slotId:null}};if(A())return{allowed:!0,outcome:"heavy_verification_skipped",commandClass:t.commandClass,reason:"KYNVER_HEAVY_VERIFICATION_SKIP bypasses gate",verificationGate:{...O(e),slotId:null}};let i=r.waitMs??0,o=i>0?Ee(e,i,r.pollMs):y(e);return o.admitted?{allowed:!0,outcome:"allowed",commandClass:t.commandClass,reason:t.reason??"heavy-verification token acquired",verificationGate:o}:{allowed:!1,outcome:_,commandClass:t.commandClass,reason:t.reason??o.reason??_,verificationGate:o}}export{u as DEFAULT_WORKER_PROVIDER,_ as HEAVY_VERIFICATION_TOKEN_REQUIRED,Be as auditWorkerEnv,j as classifyHeavyShellCommand,ke as enforceCursorWorkerProvider,_r as gateWorkerShellCommand,c as isClaudeFamilyProvider,I as isForbiddenWorkerEnvKey,X as listForbiddenWorkerEnvKeys,er as preferCursorExecutor,Ze as resolveConfiguredWorkerProvider,f as scrubWorkerEnv,L as taskAllowsClaudeWorker};
package/dist/status.d.ts CHANGED
@@ -6,7 +6,7 @@ export interface WorkerAttention {
6
6
  state: "done" | "needs_attention" | "blocked" | "stale" | "ok";
7
7
  reason: string;
8
8
  }
9
- /** Snapshot of Lane A policy injection at worker spawn (from dispatch-next). */
9
+ /** Snapshot of operating-rules policy injection at worker spawn (from dispatch-next). */
10
10
  export interface InstructionPolicyEvidenceSnapshot {
11
11
  fingerprint?: string;
12
12
  ruleSlugs?: string[];
@@ -66,7 +66,7 @@ export interface HarnessWorkerRecord {
66
66
  agentOsId?: string;
67
67
  taskId?: string;
68
68
  planId?: string;
69
- /** Lane A policy fingerprint when dispatch injected operating rules. */
69
+ /** Operating-rules policy fingerprint when dispatch injected operating rules. */
70
70
  instructionPolicyFingerprint?: string;
71
71
  instructionPolicyEvidence?: InstructionPolicyEvidenceSnapshot;
72
72
  memoryQualityCapture?: HarnessMemoryQualityCaptureSnapshot;
@@ -174,7 +174,7 @@ export interface RawHarnessWorkerStatus {
174
174
  disposableArtifactsRemoved?: string[];
175
175
  /** Fencing token from claim — echoed on completion when set. */
176
176
  leaseToken?: string;
177
- /** Lane A policy fields echoed on completion status for mirror recovery. */
177
+ /** Operating-rules policy fields echoed on completion status for mirror recovery. */
178
178
  instructionPolicyFingerprint?: string | null;
179
179
  instructionPolicyEvidence?: InstructionPolicyEvidenceSnapshot | null;
180
180
  /** Model the worker was launched with — echoed from worker.json for usage tracking. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kynver-app/runtime",
3
- "version": "0.1.132",
3
+ "version": "0.1.134",
4
4
  "description": "Kynver AgentOS local execution runtime and CLI",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",