@voiden/runner
Advanced tools
| { | ||
| "type": "commonjs" | ||
| } |
| "use strict";var y=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var T=Object.prototype.hasOwnProperty;var A=(r,e)=>()=>(r&&(e=r(r=0)),e);var w=(r,e)=>{for(var t in e)y(r,t,{get:e[t],enumerable:!0})},D=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of R(e))!T.call(r,s)&&s!==t&&y(r,s,{get:()=>e[s],enumerable:!(n=C(e,s))||n.enumerable});return r};var E=r=>D(y({},"__esModule",{value:!0}),r);function F(r,e){let t=r.trim();if(t==="status"||t==="statusCode")return e.response.status;if(t==="statusText")return e.response.statusText;if(t==="responseTime"||t==="duration")return e.response.timing?.duration||0;if(t.startsWith("header.")||t.startsWith("headers.")){let n=t.split("."),s=n[1];if(s.toLowerCase()==="set-cookie"){let i=(0,x.parseCookies)(e.response.headers);if(n.length===2)return i;let c=n.slice(2).join(".");return l(i,c)}return e.response.headers.find(i=>i.key.toLowerCase()===s.toLowerCase())?.value}if(t==="body"||t==="response.body")return e.response.body;if(t.startsWith("body.")||t.startsWith("response.body.")){let n=t.replace(/^(response\.)?body\./,"");return l(e.response.body,n)}if(t.startsWith("response.")){let n=t.replace(/^response\./,"");return l(e.response,n)}return l(e.response.body,t)}function l(r,e){if(!r)return;let t=e.split(/\.|\[/).map(s=>s.replace(/\]$/,"")),n=r;for(let s of t){if(n==null)return;/^\d+$/.test(s)?n=n[parseInt(s,10)]:n=n[s]}return n}function O(r,e){try{if(r.enabled===!1)return{assertion:r,passed:!0,actualValue:null,error:"Skipped (disabled)"};let t=j(r.field),n=t.field,s=t.operator||r.operator||"equals",o=r.expectedValue,i=F(n,e),c=W(s,i,o);return{assertion:r,passed:c,actualValue:i}}catch(t){return{assertion:r,passed:!1,actualValue:null,error:t.message||String(t)}}}function j(r){let e=["equals","eq","==","===","not-equals","ne","!=","!==","contains","includes","not-contains","not-includes","starts-with","startswith","ends-with","endswith","matches","regex","exists","is-defined","not-exists","is-null","is-undefined","greater-than","gt",">","less-than","lt","<","greater-equal","gte",">=","less-equal","lte","<=","is-empty","empty","not-empty","is-truthy","truthy","is-falsy","falsy","type-is","typeof"],t=r.trim().split(/\s+/);if(t.length>=2){let n=t[t.length-1].toLowerCase();if(e.includes(n))return{field:t.slice(0,-1).join(" "),operator:n}}return{field:r.trim(),operator:null}}function W(r,e,t){switch(r.toLowerCase().trim()){case"equals":case"eq":case"==":case"===":return e==null?!1:String(e)===t;case"not-equals":case"ne":case"!=":case"!==":return e==null?!1:String(e)!==t;case"contains":case"includes":return e==null?!1:String(e).includes(t);case"not-contains":case"not-includes":return e==null?!1:!String(e).includes(t);case"starts-with":case"startswith":return e==null?!1:String(e).startsWith(t);case"ends-with":case"endswith":return e==null?!1:String(e).endsWith(t);case"matches":case"regex":if(e==null)return!1;try{return new RegExp(t).test(String(e))}catch{return!1}case"exists":case"is-defined":return e!=null;case"not-exists":case"is-null":case"is-undefined":return e==null;case"greater-than":case"gt":case">":{let s=Number(e),o=Number(t);return!isNaN(s)&&!isNaN(o)&&s>o}case"less-than":case"lt":case"<":{let s=Number(e),o=Number(t);return!isNaN(s)&&!isNaN(o)&&s<o}case"greater-equal":case"gte":case">=":{let s=Number(e),o=Number(t);return!isNaN(s)&&!isNaN(o)&&s>=o}case"less-equal":case"lte":case"<=":{let s=Number(e),o=Number(t);return!isNaN(s)&&!isNaN(o)&&s<=o}case"is-empty":case"empty":return e==null?!1:Array.isArray(e)?e.length===0:typeof e=="string"?e==="":typeof e=="object"?Object.keys(e).length===0:!1;case"not-empty":return e==null?!1:Array.isArray(e)?e.length>0:typeof e=="string"?e!=="":typeof e=="object"?Object.keys(e).length>0:!0;case"is-truthy":case"truthy":return!!e;case"is-falsy":case"falsy":return!e;case"type-is":case"typeof":return typeof e===t.toLowerCase();default:throw new Error(`Unknown operator: ${r}`)}}function S(r,e){return r.map(t=>O(t,e))}var x,N=A(()=>{"use strict";x=require("@voiden/sdk/shared")});var q={};w(q,{postProcessAssertionsHook:()=>$});function v(r){let e=[];if(!r||!r.content)return e;function t(n){if(n.type==="assertions-table"){let s=L(n);e.push(...s)}n.content&&Array.isArray(n.content)&&n.content.forEach(s=>t(s))}return t(r),e}function L(r){let e=[];try{if(r.attrs&&Array.isArray(r.attrs.rows)){let s=r.attrs.rows;for(let o of s)!o.description&&!o.field&&!o.operator&&!o.expectedValue||o.enabled!==!1&&e.push({description:o.description||"",field:o.field||"",operator:o.operator||"equals",expectedValue:o.expectedValue||"",enabled:!0});return e}let t=Array.isArray(r.content)?r.content.find(s=>s.type==="table"||s.type==="assertions-table"):null;if(!t)return e;let n=t.rows||t.content||[];for(let s=0;s<n.length;s++){let o=n[s];if(Array.isArray(o.row)){if(o.attrs?.disabled===!0)continue;let[a,g,h,b]=o.row;if(!a&&!g&&!h&&!b)continue;e.push({description:String(a||"").trim(),field:String(g||"").trim(),operator:String(h||"equals").trim()||"equals",expectedValue:String(b||"").trim(),enabled:!0});continue}if(o.type!=="tableRow"||o.attrs&&o.attrs.disabled===!0)continue;let i=o.content||[];if(i.length<4)continue;let c=d(i[0]).trim(),p=d(i[1]).trim(),f=d(i[2]).trim(),u=d(i[3]).trim();!c&&!p&&!f&&!u||!(!(i.length>=5)||P(i[4]))||e.push({description:c,field:p,operator:f||"equals",expectedValue:u,enabled:!0})}}catch(t){console.error("Error extracting assertions from table:",t)}return e}function d(r){return r?r.type==="text"?r.text||"":r.content&&Array.isArray(r.content)?r.content.map(e=>d(e)).join(""):"":""}function P(r){if(!r||!r.content)return!0;let e=r.content.find(t=>t.type==="checkbox");return e&&e.attrs?e.attrs.checked!==!1:!0}async function $(r){let{requestState:e,responseState:t,metadata:n}=r;try{let s=e?.metadata?.editorDocument||n?.requestDocument||n?.editorDocument;if(!s)return;let o=v(s);if(o.length===0)return;let i=(typeof window<"u"?window:void 0)?.electron?.env?.replaceVariables;if(i)for(let a of o)a.expectedValue&&a.expectedValue.includes("{{")&&(a.expectedValue=await i(a.expectedValue)),a.field&&a.field.includes("{{")&&(a.field=await i(a.field));let c=t.body;if(typeof c=="string"&&c.trim())try{c=JSON.parse(c)}catch{}let p={response:{status:t.status,statusText:t.statusText,headers:t.headers||[],body:c,contentType:t.contentType,timing:t.timing}},f=S(o,p),u=f.filter(a=>a.passed).length,m=f.filter(a=>!a.passed).length;t.metadata||(t.metadata={}),t.metadata.assertionResults={results:f,totalAssertions:o.length,passedAssertions:u,failedAssertions:m}}catch(s){console.error("[Simple Assertions] Error in post-process assertions hook:",s)}}var k=A(()=>{"use strict";N()});var J={};w(J,{default:()=>z});module.exports=E(J);var H=r=>({onload(){r.pipeline.registerHook("pre-processing",async e=>{e.editor&&(e.requestState.metadata||(e.requestState.metadata={}),e.requestState.metadata.editorDocument=e.editor.getJSON())},5),r.pipeline.registerHook("post-processing",async e=>{let{postProcessAssertionsHook:t}=await Promise.resolve().then(()=>(k(),q));await t(e)},15),r.pipeline.registerHook("post-processing",async e=>{let t=e.responseState?.metadata?.assertionResults;if(t?.results?.length){e.responseState.metadata||(e.responseState.metadata={}),Array.isArray(e.responseState.metadata.reportEntries)||(e.responseState.metadata.reportEntries=[]);for(let n of t.results){let s=n.assertion?.description?.trim()||`${n.assertion?.field??""} ${n.assertion?.operator??""} ${n.assertion?.expectedValue??""}`.trim();e.responseState.metadata.reportEntries.push({type:"assertion",message:s||"Assertion",passed:n.passed,actual:n.actualValue,expected:n.assertion?.expectedValue,operator:n.assertion?.operator})}}},50)}}),z=H; |
| { | ||
| "simple-assertions": "1.0.1", | ||
| "voiden-advanced-auth": "2.0.2", | ||
| "voiden-faker": "1.1.0", | ||
| "voiden-graphql": "1.0.2", | ||
| "voiden-rest-api": "1.4.3", | ||
| "voiden-scripting": "1.1.1", | ||
| "voiden-sockets-grpcs": "1.1.3" | ||
| } |
| "use strict";var o=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var R=(e,n)=>{for(var r in n)o(e,r,{get:n[r],enumerable:!0})},x=(e,n,r,u)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of c(n))!d.call(e,t)&&t!==r&&o(e,t,{get:()=>n[t],enumerable:!(u=a(n,t))||u.enumerable});return e};var p=e=>x(o({},"__esModule",{value:!0}),e);var i={};R(i,{default:()=>f});module.exports=p(i);var y=e=>({onload(){}}),f=y; |
Sorry, the diff of this file is too big to display
| "use strict";var d=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var S=(r,e)=>{for(var n in e)d(r,n,{get:e[n],enumerable:!0})},v=(r,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of k(e))!w.call(r,a)&&a!==n&&d(r,a,{get:()=>e[a],enumerable:!(o=A(e,a))||o.enumerable});return r};var B=r=>v(d({},"__esModule",{value:!0}),r);var N={};S(N,{buildRequest:()=>R,default:()=>x});module.exports=B(N);function R(r){let e=r.find(t=>t.type==="gqlquery");if(!e)return null;let n=e.content?.find(t=>t.type==="gqlbody")||"",o=n.attrs?.body||"";if(!o.trim())return{errorMessage:"GraphQL query is empty"};let a=n.attrs?.operationType||"query",i=n.attrs?.operationName;if(!i){let t=o.match(/^\s*(query|mutation|subscription)\s+([\w]+)?/);t&&(a=t[1],i=t[2])}let p={},f=r.find(t=>t.type==="gqlvariables");if(f?.attrs?.body)try{p=JSON.parse(f.attrs.body)}catch{}let y="",l=e;if(l&&Array.isArray(l.content)){let t=l.content.find(s=>s.type==="gqlurl");t&&typeof t.content=="string"&&(y=t.content.trim())}if(y||(y=e.attrs?.endpoint||e.attrs?.schemaUrl||""),!y)return{errorMessage:"GraphQL url is empty"};let u=[{key:"Content-Type",value:"application/json",enabled:!0}],c=r.find(t=>t.type==="headers-table");if(c&&Array.isArray(c.content)){for(let t of c.content)if(t.type==="table"&&Array.isArray(t.rows)){for(let s of t.rows)if(!s.attrs?.disabled&&Array.isArray(s.row)&&s.row[0]){let m=String(s.row[0]).trim(),q=String(s.row[1]??"").trim(),g=u.findIndex(h=>h.key.toLowerCase()===m.toLowerCase());g>=0?u[g].value=q:u.push({key:m,value:q,enabled:!0})}}}let b={query:o,variables:p};return i&&(b.operationName=i),{method:"POST",url:y,headers:u,queryParams:[],pathParams:[],body:JSON.stringify(b),contentType:"application/json",metadata:{operationType:a,operationName:i}}}var C=r=>({onload(){r.onBuildRequest((e,n)=>R(n)??e)}}),x=C;0&&(module.exports={buildRequest}); |
| "use strict";var d=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var g=(e,n)=>{for(var r in n)d(e,r,{get:n[r],enumerable:!0})},q=(e,n,r,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of R(n))!b.call(e,a)&&a!==r&&d(e,a,{get:()=>n[a],enumerable:!(o=x(n,a))||o.enumerable});return e};var h=e=>q(d({},"__esModule",{value:!0}),e);var A={};g(A,{buildRequest:()=>m,default:()=>w});module.exports=h(A);function f(e){let n=[];if(!Array.isArray(e.content))return n;for(let r of e.content)if(r.type==="table"&&Array.isArray(r.rows))for(let o of r.rows){let a=o.attrs?.disabled===!0;if(Array.isArray(o.row)&&o.row.length>=2){let i=String(o.row[0]??"").trim(),u=String(o.row[1]??"").trim();i&&n.push({key:i,value:u,enabled:!a})}}return n}function m(e){if(e.some(t=>t.type==="gqlquery")||e.some(t=>t.type==="socket-request"))return null;let n=e.find(t=>t.type==="request");if(!n)return null;let r="GET",o="";if(Array.isArray(n.content))for(let t of n.content)t.type==="method"&&typeof t.content=="string"&&(r=t.content.trim().toUpperCase()||"GET"),t.type==="url"&&typeof t.content=="string"&&(o=t.content.trim());if(!o)return null;let a=f(e.find(t=>t.type==="headers-table")??{}),i=f(e.find(t=>t.type==="query-table")??{}),u=f(e.find(t=>t.type==="path-table")??{}),y,s,c=e.find(t=>t.type==="json_body");if(c?.attrs?.body){y=String(c.attrs.body);let t=c.attrs.contentType;s=t==="html"?"text/html":t==="text"?"text/plain":"application/json"}let l=e.find(t=>t.type==="xml_body");l?.attrs?.body&&(y=String(l.attrs.body),s=["application/xml","text/xml","application/xhtml+xml"].includes(l.attrs.contentType)?l.attrs.contentType:"application/xml");let p=e.find(t=>t.type==="yml_body");return p?.attrs?.body&&(y=String(p.attrs.body),s=["application/x-yaml","application/yaml","text/yaml","text/x-yaml"].includes(p.attrs.contentType)?p.attrs.contentType:"application/x-yaml"),{method:r,url:o,headers:a,queryParams:i,pathParams:u,body:y,contentType:s,metadata:{}}}var T=e=>({onload(){e.onBuildRequest((n,r)=>m(r)??n)}}),w=T;0&&(module.exports={buildRequest}); |
| "use strict";var O=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var re=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var q=(e,r)=>()=>(e&&(r=e(e=0)),r);var P=(e,r)=>{for(var n in r)O(e,n,{get:r[n],enumerable:!0})},ne=(e,r,n,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of re(r))!se.call(e,t)&&t!==n&&O(e,t,{get:()=>r[t],enumerable:!(s=te(r,t))||s.enumerable});return e};var ae=e=>ne(O({},"__esModule",{value:!0}),e);function T(e){return"'"+String(e).replace(/'/g,"'\\''")+"'"}function F(e){let{request:r,response:n,envVars:s,variables:t,logFile:i,varFile:o,assertFile:l,cancelFile:d,reqFile:u,respFile:y,userScriptFile:p}=e,m=Object.entries(s).map(([f,c])=>`_VD_ENV_${f.replace(/[^A-Za-z0-9_]/g,"_")}=${T(String(c))}`).join(` | ||
| `)||"# (no env vars)",b=Object.entries(t).map(([f,c])=>`_VD_VAR_${f.replace(/[^A-Za-z0-9_]/g,"_")}=${T(String(c))}`).join(` | ||
| `)||"# (no variables)",g=!!n,a=T;return["#!/bin/bash","set +e",`_VD_LOG_FILE=${a(i)}`,`_VD_VAR_FILE=${a(o)}`,`_VD_ASSERT_FILE=${a(l)}`,`_VD_CANCEL_FILE=${a(d)}`,`_VD_REQUEST_FILE=${a(u)}`,`_VD_RESPONSE_FILE=${a(y)}`,`_VD_USERSCRIPT_FILE=${a(p)}`,'touch "$_VD_LOG_FILE" "$_VD_VAR_FILE" "$_VD_ASSERT_FILE" "$_VD_REQUEST_FILE" "$_VD_RESPONSE_FILE"','_vd_b64() { printf "%s" "$1" | base64 | tr -d "\\n"; }',"voiden_log() {",' local _level="log"',' case "$1" in log|info|debug|warn|warning|error) _level="$1"; shift;; esac',' [ "$_level" = "warning" ] && _level="warn"',' printf "%s\\t%s\\n" "$(_vd_b64 "$_level")" "$(_vd_b64 "$*")" >> "$_VD_LOG_FILE"',"}",'voiden_env_get() { local _k="_VD_ENV_${1//[^A-Za-z0-9_]/_}"; printf "%s" "${!_k}"; }','voiden_variables_get() { local _k="_VD_VAR_${1//[^A-Za-z0-9_]/_}"; printf "%s" "${!_k}"; }',"voiden_variables_set() {",' local _key="$1" _val="$2"',' local _k="_VD_VAR_${_key//[^A-Za-z0-9_]/_}"',' export "${_k}=${_val}"',' printf "%s\\t%s\\n" "$(_vd_b64 "$_key")" "$(_vd_b64 "$_val")" >> "$_VD_VAR_FILE"',"}",'voiden_cancel() { touch "$_VD_CANCEL_FILE"; }',"","# voiden.* dot-notation aliases (same API as JS / Python)",'voiden.log() { voiden_log "$@"; }','voiden.env.get() { voiden_env_get "$@"; }','voiden.variables.get() { voiden_variables_get "$@"; }','voiden.variables.set() { voiden_variables_set "$@"; }','voiden.assert() { voiden_assert "$@"; }',"voiden.cancel() { voiden_cancel; }","# request getters / setters","# Supports both call styles:",'# voiden.request.url "https://new.com" (bash style)','# voiden.request.url = "https://new.com" (JS-like style \u2014 = is treated as separator)','_vd_val() { [ "$1" = "=" ] && printf "%s" "$2" || printf "%s" "$1"; }','voiden.request.url() { [ $# -gt 0 ] && export VOIDEN_REQUEST_URL="$(_vd_val "$@")" || printf "%s" "$VOIDEN_REQUEST_URL"; }','voiden.request.method() { [ $# -gt 0 ] && export VOIDEN_REQUEST_METHOD="$(_vd_val "$@")" || printf "%s" "$VOIDEN_REQUEST_METHOD"; }','voiden.request.body() { [ $# -gt 0 ] && export VOIDEN_REQUEST_BODY="$(_vd_val "$@")" || printf "%s" "$VOIDEN_REQUEST_BODY"; }',"# shared entry builder \u2014 stores result in $_VD_KV_ENTRY","_vd_build_kv_entry() {",` local _Q='"' _k _v`,' _k="${1//$_Q/\\\\$_Q}"',' _v="${2//$_Q/\\\\$_Q}"',` printf -v _VD_KV_ENTRY '{"key":"%s","value":"%s","enabled":true}' "$_k" "$_v"`,"}","# _vd_set_kv: replace the array with a single entry","_vd_set_kv() {",' local _var="$1"',' _vd_build_kv_entry "$2" "$3"',` printf -v "$_var" '[%s]' "$_VD_KV_ENTRY"`,' export "$_var"',"}","# _vd_push_kv: append an entry to the existing array","_vd_push_kv() {",' local _var="$1" _cur',' _vd_build_kv_entry "$2" "$3"',' _cur="${!_var}"',' if [ -z "$_cur" ] || [ "$_cur" = "[]" ]; then',` printf -v "$_var" '[%s]' "$_VD_KV_ENTRY"`," else",` printf -v "$_var" '%s,%s]' "\${_cur%]}" "$_VD_KV_ENTRY"`," fi",' export "$_var"',"}","# collection setters: 2 args = set as single {key,value}; 1 arg = raw JSON; 0 args = getter",'voiden.request.headers() { if [ $# -ge 2 ]; then _vd_set_kv VOIDEN_REQUEST_HEADERS "$1" "$2"; elif [ $# -gt 0 ]; then export VOIDEN_REQUEST_HEADERS="$(_vd_val "$@")"; else printf "%s" "$VOIDEN_REQUEST_HEADERS"; fi; }','voiden.request.queryParams() { if [ $# -ge 2 ]; then _vd_set_kv VOIDEN_REQUEST_QUERY_PARAMS "$1" "$2"; elif [ $# -gt 0 ]; then export VOIDEN_REQUEST_QUERY_PARAMS="$(_vd_val "$@")"; else printf "%s" "$VOIDEN_REQUEST_QUERY_PARAMS"; fi; }','voiden.request.pathParams() { if [ $# -ge 2 ]; then _vd_set_kv VOIDEN_REQUEST_PATH_PARAMS "$1" "$2"; elif [ $# -gt 0 ]; then export VOIDEN_REQUEST_PATH_PARAMS="$(_vd_val "$@")"; else printf "%s" "$VOIDEN_REQUEST_PATH_PARAMS"; fi; }','voiden.request.headers.push() { _vd_push_kv VOIDEN_REQUEST_HEADERS "$1" "$2"; }','voiden.request.queryParams.push() { _vd_push_kv VOIDEN_REQUEST_QUERY_PARAMS "$1" "$2"; }','voiden.request.pathParams.push() { _vd_push_kv VOIDEN_REQUEST_PATH_PARAMS "$1" "$2"; }',"# response getters and writable setters (status, statusText, body)",'voiden.response.status() { [ $# -gt 0 ] && export VOIDEN_RESPONSE_STATUS="$(_vd_val "$@")" || printf "%s" "$VOIDEN_RESPONSE_STATUS"; }','voiden.response.statusText() { [ $# -gt 0 ] && export VOIDEN_RESPONSE_STATUS_TEXT="$(_vd_val "$@")" || printf "%s" "$VOIDEN_RESPONSE_STATUS_TEXT"; }','voiden.response.body() { [ $# -gt 0 ] && export VOIDEN_RESPONSE_BODY="$(_vd_val "$@")" || printf "%s" "$VOIDEN_RESPONSE_BODY"; }',"# response read-only fields",'voiden.response.headers() { printf "%s" "$VOIDEN_RESPONSE_HEADERS"; }','voiden.response.time() { printf "%s" "$VOIDEN_RESPONSE_TIME"; }','voiden.response.size() { printf "%s" "$VOIDEN_RESPONSE_SIZE"; }',"","voiden_assert() {",' local _actual="$1" _op="$2" _expected="$3" _msg="${4:-}" _passed="false"',' case "$_op" in',' "=="|eq|equal) [ "$_actual" = "$_expected" ] && _passed="true" ;;',' "===") [ "$_actual" = "$_expected" ] && _passed="true" ;;',' "!="|neq|notequal) [ "$_actual" != "$_expected" ] && _passed="true" ;;',' "!==") [ "$_actual" != "$_expected" ] && _passed="true" ;;',' contains|includes) case "$_actual" in *"$_expected"*) _passed="true";; esac ;;',' matches|regex) printf "%s" "$_actual" | grep -qE "$_expected" 2>/dev/null && _passed="true"; true ;;',' truthy) [ -n "$_actual" ] && _passed="true" ;;',' falsy) [ -z "$_actual" ] && _passed="true" ;;',' ">"|greater|greaterthan) (( _actual > _expected )) 2>/dev/null && _passed="true"; true ;;',' ">="|gte) (( _actual >= _expected )) 2>/dev/null && _passed="true"; true ;;',' "<"|less|lessthan) (( _actual < _expected )) 2>/dev/null && _passed="true"; true ;;',' "<="|lte) (( _actual <= _expected )) 2>/dev/null && _passed="true"; true ;;'," esac",' printf "%s\\t%s\\t%s\\t%s\\t%s\\n" "$(_vd_b64 "$_passed")" "$(_vd_b64 "$_actual")" "$(_vd_b64 "$_op")" "$(_vd_b64 "$_expected")" "$(_vd_b64 "$_msg")" >> "$_VD_ASSERT_FILE"',"}","","# Pre-loaded env vars",m,"","# Pre-loaded variables",b,"",`export VOIDEN_REQUEST_URL=${a(r?.url??"")}`,`export VOIDEN_REQUEST_METHOD=${a(r?.method??"GET")}`,`export VOIDEN_REQUEST_BODY=${a(r?.body!=null?typeof r.body=="object"?JSON.stringify(r.body):String(r.body):"")}`,`export VOIDEN_REQUEST_HEADERS=${a(JSON.stringify(r?.headers??[]))}`,`export VOIDEN_REQUEST_QUERY_PARAMS=${a(JSON.stringify(r?.queryParams??[]))}`,`export VOIDEN_REQUEST_PATH_PARAMS=${a(JSON.stringify(r?.pathParams??[]))}`,`export VOIDEN_RESPONSE_STATUS=${a(g?String(n?.status??""):"")}`,`export VOIDEN_RESPONSE_STATUS_TEXT=${a(g?String(n?.statusText??""):"")}`,`export VOIDEN_RESPONSE_BODY=${a(g&&n?.body!=null?typeof n.body=="object"?JSON.stringify(n.body):String(n.body):"")}`,`export VOIDEN_RESPONSE_HEADERS=${a(g?JSON.stringify(n?.headers??{}):"{}")}`,`export VOIDEN_RESPONSE_TIME=${a(g?String(n?.time??0):"0")}`,`export VOIDEN_RESPONSE_SIZE=${a(g?String(n?.size??0):"0")}`,"","# --- User Script (sourced from separate file; errors are caught) ---",'. "$_VD_USERSCRIPT_FILE" || true',"# --- End User Script ---","",'printf "%s\\t%s\\n" "$(_vd_b64 "url")" "$(_vd_b64 "$VOIDEN_REQUEST_URL")" >> "$_VD_REQUEST_FILE"','printf "%s\\t%s\\n" "$(_vd_b64 "method")" "$(_vd_b64 "$VOIDEN_REQUEST_METHOD")" >> "$_VD_REQUEST_FILE"','printf "%s\\t%s\\n" "$(_vd_b64 "body")" "$(_vd_b64 "$VOIDEN_REQUEST_BODY")" >> "$_VD_REQUEST_FILE"','printf "%s\\t%s\\n" "$(_vd_b64 "headers")" "$(_vd_b64 "$VOIDEN_REQUEST_HEADERS")" >> "$_VD_REQUEST_FILE"','printf "%s\\t%s\\n" "$(_vd_b64 "queryParams")" "$(_vd_b64 "$VOIDEN_REQUEST_QUERY_PARAMS")" >> "$_VD_REQUEST_FILE"','printf "%s\\t%s\\n" "$(_vd_b64 "pathParams")" "$(_vd_b64 "$VOIDEN_REQUEST_PATH_PARAMS")" >> "$_VD_REQUEST_FILE"',"# Write modified response fields (only when a response exists)",`[ -n ${a(g?"1":"")} ] && {`,'printf "%s\\t%s\\n" "$(_vd_b64 "status")" "$(_vd_b64 "$VOIDEN_RESPONSE_STATUS")" >> "$_VD_RESPONSE_FILE"','printf "%s\\t%s\\n" "$(_vd_b64 "statusText")" "$(_vd_b64 "$VOIDEN_RESPONSE_STATUS_TEXT")" >> "$_VD_RESPONSE_FILE"','printf "%s\\t%s\\n" "$(_vd_b64 "body")" "$(_vd_b64 "$VOIDEN_RESPONSE_BODY")" >> "$_VD_RESPONSE_FILE"',"}","true"].join(` | ||
| `)}var A,I,L,U=q(()=>{"use strict";A=` | ||
| const AsyncFunction = Object.getPrototypeOf(async function () {}).constructor; | ||
| let requestState = null; | ||
| let responseState = null; | ||
| let _envData = {}; | ||
| let _variablesData = {}; | ||
| const _modifiedVariables = {}; | ||
| const logs = []; | ||
| const assertions = []; | ||
| let cancelled = false; | ||
| function _normalizeLevel(value) { | ||
| if (typeof value !== 'string') return null; | ||
| const lowered = value.toLowerCase(); | ||
| if (lowered === 'warning') return 'warn'; | ||
| if (lowered === 'log' || lowered === 'info' || lowered === 'debug' || lowered === 'warn' || lowered === 'error') return lowered; | ||
| return null; | ||
| } | ||
| function _pushLog(level, args) { | ||
| logs.push({ level, args }); | ||
| self.postMessage({ type: 'log', args }); | ||
| } | ||
| function _serializeAssertionValue(val) { | ||
| try { return JSON.parse(JSON.stringify(val)); } catch { return String(val); } | ||
| } | ||
| function _toConditionText(val) { | ||
| if (typeof val === 'string') return JSON.stringify(val); | ||
| try { return JSON.stringify(val); } catch { return String(val); } | ||
| } | ||
| function _normalizeOperator(op) { | ||
| if (typeof op !== 'string') return null; | ||
| const key = op.trim().toLowerCase().replace(/\\s+/g, ''); | ||
| const map = { | ||
| '==':'==','===':'===','eq':'==','equal':'==', | ||
| '!=':'!=','!==':'!==','neq':'!=','notequal':'!=', | ||
| 'greater':'>','greaterthan':'>','gte':'>=', | ||
| 'less':'<','lessthan':'<','lte':'<=', | ||
| '>':'>','>=':'>=','<':'<','<=':'<=', | ||
| 'contains':'contains','includes':'contains', | ||
| 'matches':'matches','regex':'matches', | ||
| 'truthy':'truthy','falsy':'falsy', | ||
| }; | ||
| return map[key] || null; | ||
| } | ||
| function _evaluateAssertion(actual, operator, expected) { | ||
| switch (operator) { | ||
| case '==': return actual == expected; | ||
| case '===': return actual === expected; | ||
| case '!=': return actual != expected; | ||
| case '!==': return actual !== expected; | ||
| case '>': return actual > expected; | ||
| case '>=': return actual >= expected; | ||
| case '<': return actual < expected; | ||
| case '<=': return actual <= expected; | ||
| case 'contains': | ||
| if (typeof actual === 'string') return actual.includes(String(expected)); | ||
| if (Array.isArray(actual)) return actual.includes(expected); | ||
| return false; | ||
| case 'matches': | ||
| try { return new RegExp(String(expected)).test(String(actual)); } catch { return false; } | ||
| case 'truthy': return Boolean(actual); | ||
| case 'falsy': return !actual; | ||
| default: return Boolean(actual); | ||
| } | ||
| } | ||
| self.onmessage = async (event) => { | ||
| const data = event.data; | ||
| if (data && data.type === 'start') { | ||
| requestState = data.request; | ||
| responseState = data.response; | ||
| _envData = data.envData || {}; | ||
| _variablesData = Object.assign({}, data.variablesData || {}); | ||
| const scriptBody = data.script; | ||
| const voiden = { | ||
| request: requestState, | ||
| response: responseState, | ||
| env: { get: function(key) { return _envData[key]; } }, | ||
| variables: { | ||
| get: function(key) { return _variablesData[key]; }, | ||
| set: function(key, value) { _variablesData[key] = value; _modifiedVariables[key] = value; }, | ||
| }, | ||
| log: function(levelOrMessage) { | ||
| const rest = Array.prototype.slice.call(arguments, 1); | ||
| const normalized = _normalizeLevel(levelOrMessage); | ||
| if (normalized) { _pushLog(normalized, rest); return; } | ||
| _pushLog('log', [levelOrMessage].concat(rest)); | ||
| }, | ||
| assert: function(actual, operator, expected, message) { | ||
| const rawOperator = String(operator); | ||
| const normalizedOperator = _normalizeOperator(operator); | ||
| if (!normalizedOperator) { | ||
| assertions.push({ passed: false, message: message ? String(message) : '', reason: 'Unsupported operator: ' + rawOperator, condition: _toConditionText(actual) + ' ' + rawOperator + ' ' + _toConditionText(expected), actualValue: _serializeAssertionValue(actual), operator: rawOperator, expectedValue: _serializeAssertionValue(expected) }); | ||
| return; | ||
| } | ||
| const passed = _evaluateAssertion(actual, normalizedOperator, expected); | ||
| assertions.push({ passed, message: message ? String(message) : '', condition: _toConditionText(actual) + ' ' + normalizedOperator + ' ' + _toConditionText(expected), actualValue: _serializeAssertionValue(actual), operator: normalizedOperator, expectedValue: _serializeAssertionValue(expected) }); | ||
| }, | ||
| cancel: function() { cancelled = true; }, | ||
| }; | ||
| try { | ||
| const _require = typeof require !== 'undefined' ? require : undefined; | ||
| const fn = new AsyncFunction('voiden', 'vd', 'require', scriptBody); | ||
| await fn(voiden, voiden, _require); | ||
| self.postMessage({ type: 'done', success: true, cancelled, logs, assertions, modifiedRequest: voiden.request, modifiedResponse: voiden.response, modifiedVariables: _modifiedVariables }); | ||
| } catch (error) { | ||
| self.postMessage({ type: 'done', success: false, cancelled, logs, assertions, modifiedRequest: voiden.request, modifiedResponse: voiden.response, modifiedVariables: _modifiedVariables, error: (error && (error.stack || error.message)) ? String(error.stack || error.message) : String(error) }); | ||
| } | ||
| } | ||
| }; | ||
| `,I=` | ||
| 'use strict'; | ||
| var Worker = require('worker_threads').Worker; | ||
| var _chunks = []; | ||
| process.stdin.on('data', function(c) { _chunks.push(c); }); | ||
| process.stdin.on('end', function() { | ||
| var _input = JSON.parse(Buffer.concat(_chunks).toString('utf-8')); | ||
| var _workerSource = _input.workerSource; | ||
| var _envData = _input.envVars || {}; | ||
| var _variablesData = _input.variables || {}; | ||
| var _shim = [ | ||
| "var workerThreads = require('worker_threads');", | ||
| "var self = { postMessage: function(data) { workerThreads.parentPort.postMessage(data); } };", | ||
| "workerThreads.parentPort.on('message', function(data) { if (self.onmessage) self.onmessage({ data: data }); });", | ||
| "" | ||
| ].join('\\n'); | ||
| var _worker = new Worker(_shim + _workerSource, { eval: true }); | ||
| var _timeout = setTimeout(function() { | ||
| _worker.terminate(); | ||
| process.stdout.write(JSON.stringify({ success: false, logs: [], error: 'Script execution timed out after 10000ms', cancelled: false, modifiedVariables: {} }) + '\\n'); | ||
| process.exit(1); | ||
| }, 10000); | ||
| _worker.on('message', function(msg) { | ||
| if (msg.type === 'done') { | ||
| clearTimeout(_timeout); | ||
| process.stdout.write(JSON.stringify({ success: msg.success, logs: msg.logs || [], assertions: msg.assertions || [], cancelled: msg.cancelled || false, error: msg.error, modifiedRequest: msg.modifiedRequest, modifiedResponse: msg.modifiedResponse, modifiedVariables: msg.modifiedVariables || {} }) + '\\n'); | ||
| _worker.terminate(); | ||
| process.exit(msg.success ? 0 : 1); | ||
| } | ||
| }); | ||
| _worker.on('error', function(err) { | ||
| clearTimeout(_timeout); | ||
| process.stdout.write(JSON.stringify({ success: false, logs: [], error: err.stack || err.message || String(err), cancelled: false, modifiedVariables: {} }) + '\\n'); | ||
| process.exit(1); | ||
| }); | ||
| _worker.postMessage({ type: 'start', script: _input.scriptBody, request: _input.request || {}, response: _input.response || null, envData: _envData, variablesData: _variablesData }); | ||
| }); | ||
| `,L=` | ||
| import sys, json | ||
| import traceback | ||
| def main(): | ||
| input_data = json.loads(sys.stdin.read()) | ||
| script_body = input_data["scriptBody"] | ||
| request_data = input_data.get("request", {}) | ||
| response_data = input_data.get("response", None) | ||
| env_data = input_data.get("envVars", {}) | ||
| variables_data = input_data.get("variables", {}) | ||
| logs = [] | ||
| assertions = [] | ||
| cancelled = False | ||
| modified_variables = {} | ||
| class _List: | ||
| def __init__(self, values=None): | ||
| self._items = [] | ||
| if values: | ||
| for v in values: | ||
| self._items.append(_wrap(v)) | ||
| def push(self, *values): | ||
| if len(values) == 2 and isinstance(values[0], str) and not isinstance(values[1], (dict, list, tuple)): | ||
| key = values[0].strip() | ||
| if key: | ||
| self._items.append(_wrap({"key": key, "value": str(values[1]), "enabled": True})) | ||
| return len(self._items) | ||
| for v in values: | ||
| if isinstance(v, dict) and "key" in v and "value" in v: | ||
| key = str(v.get("key", "")).strip() | ||
| if not key: continue | ||
| self._items.append(_wrap({"key": key, "value": str(v.get("value", "")), "enabled": v.get("enabled", True) is not False})) | ||
| continue | ||
| if isinstance(v, dict): | ||
| for mk, mv in v.items(): | ||
| mkey = str(mk).strip() | ||
| if not mkey: continue | ||
| self._items.append(_wrap({"key": mkey, "value": str(mv), "enabled": True})) | ||
| continue | ||
| self._items.append(_wrap(v)) | ||
| return len(self._items) | ||
| def append(self, value): self._items.append(_wrap(value)) | ||
| def extend(self, values): | ||
| for v in values: self._items.append(_wrap(v)) | ||
| def __iter__(self): return iter(self._items) | ||
| def __len__(self): return len(self._items) | ||
| def __getitem__(self, index): return self._items[index] | ||
| def __setitem__(self, index, value): self._items[index] = _wrap(value) | ||
| def __repr__(self): return repr(self._items) | ||
| def _wrap(val): | ||
| if isinstance(val, dict): return _Obj(val) | ||
| if isinstance(val, list): return _List(val) | ||
| if isinstance(val, tuple): return tuple(_wrap(v) for v in val) | ||
| return val | ||
| _REQUEST_COLLECTION_FIELDS = {"headers", "queryParams", "pathParams"} | ||
| class _Obj: | ||
| def __init__(self, data, normalize_collections=False): | ||
| object.__setattr__(self, '_normalize_collections', normalize_collections) | ||
| for k, v in data.items(): setattr(self, k, v) | ||
| def __setattr__(self, key, value): | ||
| if key == '_normalize_collections': | ||
| object.__setattr__(self, key, value) | ||
| return | ||
| if object.__getattribute__(self, '_normalize_collections') and key in _REQUEST_COLLECTION_FIELDS: | ||
| object.__setattr__(self, key, _List(_normalize_kv_collection(value))) | ||
| return | ||
| object.__setattr__(self, key, _wrap(value)) | ||
| def __getitem__(self, key): return getattr(self, key) | ||
| def __setitem__(self, key, value): setattr(self, key, value) | ||
| def get(self, key, default=None): return getattr(self, key, default) | ||
| def items(self): return ((k, v) for k, v in self.__dict__.items() if k != '_normalize_collections') | ||
| def _normalize_kv_collection(value): | ||
| items = [] | ||
| if isinstance(value, list): | ||
| for item in value: | ||
| if isinstance(item, dict) and "key" in item and "value" in item: | ||
| key = str(item.get("key", "")).strip() | ||
| if not key: continue | ||
| items.append({"key": key, "value": str(item.get("value", "")), "enabled": item.get("enabled", True) is not False}) | ||
| elif isinstance(item, dict): | ||
| for mk, mv in item.items(): | ||
| mkey = str(mk).strip() | ||
| if not mkey: continue | ||
| items.append({"key": mkey, "value": str(mv), "enabled": True}) | ||
| return items | ||
| if isinstance(value, dict): | ||
| if "key" in value and "value" in value: | ||
| key = str(value.get("key", "")).strip() | ||
| if not key: return [] | ||
| return [{"key": key, "value": str(value.get("value", "")), "enabled": value.get("enabled", True) is not False}] | ||
| for mk, mv in value.items(): | ||
| mkey = str(mk).strip() | ||
| if not mkey: continue | ||
| items.append({"key": mkey, "value": str(mv), "enabled": True}) | ||
| return items | ||
| return [] | ||
| class _Variables: | ||
| def get(self, key): return variables_data.get(key) | ||
| def set(self, key, value): | ||
| serialized = _serialize(value) | ||
| variables_data[key] = serialized | ||
| modified_variables[key] = serialized | ||
| class _Env: | ||
| def get(self, key): return env_data.get(key) | ||
| class _Vd: | ||
| def __init__(self): | ||
| self.request = _Obj(request_data, normalize_collections=True) | ||
| self.response = _Obj(response_data) if response_data else None | ||
| self.env = _Env() | ||
| self.variables = _Variables() | ||
| def log(self, *args): | ||
| level = "log" | ||
| payload = args | ||
| if len(args) >= 1 and isinstance(args[0], str): | ||
| lowered = args[0].lower() | ||
| if lowered == "warning": lowered = "warn" | ||
| if lowered in ("log", "info", "debug", "warn", "error"): | ||
| level = lowered | ||
| payload = args[1:] | ||
| logs.append({"level": level, "args": [_serialize(a) for a in payload]}) | ||
| def assert_(self, actual, operator, expected, message=""): | ||
| normalized_operator = _normalize_operator(operator) | ||
| if normalized_operator is None: | ||
| raw_operator = str(operator) | ||
| assertions.append({"passed": False, "message": str(message), "reason": "Unsupported operator: " + raw_operator, "condition": _to_condition_text(actual) + " " + raw_operator + " " + _to_condition_text(expected), "actualValue": _serialize(actual), "operator": raw_operator, "expectedValue": _serialize(expected)}) | ||
| return | ||
| passed = _evaluate_assertion(actual, normalized_operator, expected) | ||
| assertions.append({"passed": bool(passed), "message": str(message), "condition": _to_condition_text(actual) + " " + str(normalized_operator) + " " + _to_condition_text(expected), "actualValue": _serialize(actual), "operator": str(normalized_operator), "expectedValue": _serialize(expected)}) | ||
| def cancel(self): | ||
| nonlocal cancelled | ||
| cancelled = True | ||
| def _serialize(val): | ||
| if isinstance(val, _List): return [_serialize(v) for v in val] | ||
| if isinstance(val, _Obj): return {k: _serialize(v) for k, v in val.__dict__.items() if k != '_normalize_collections'} | ||
| if isinstance(val, dict): return {k: _serialize(v) for k, v in val.items()} | ||
| if isinstance(val, (list, tuple)): return [_serialize(v) for v in val] | ||
| try: | ||
| json.dumps(val) | ||
| return val | ||
| except (TypeError, ValueError): return str(val) | ||
| def _extract(obj, keys): | ||
| result = {} | ||
| for k in keys: | ||
| if hasattr(obj, k): result[k] = _serialize(getattr(obj, k)) | ||
| return result | ||
| def _json_equal(a, b): | ||
| try: return json.dumps(a, sort_keys=True) == json.dumps(b, sort_keys=True) | ||
| except Exception: return False | ||
| def _normalize_operator(op): | ||
| if not isinstance(op, str): return None | ||
| key = "".join(op.strip().lower().split()) | ||
| mapping = {"==":"==","===":"===","eq":"==","equal":"==","!=":"!=","!==":"!==","neq":"!=","notequal":"!=","greater":">","greaterthan":">","gte":">=","less":"<","lessthan":"<","lte":"<=",">":">",">=":">=","<":"<","<=":"<=","contains":"contains","includes":"contains","matches":"matches","regex":"matches","truthy":"truthy","falsy":"falsy"} | ||
| return mapping.get(key) | ||
| def _to_condition_text(value): | ||
| if isinstance(value, str): return json.dumps(value) | ||
| try: return json.dumps(value) | ||
| except Exception: return str(value) | ||
| def _evaluate_assertion(actual, operator, expected): | ||
| try: | ||
| if operator == "==": return actual == expected | ||
| if operator == "===": return type(actual) == type(expected) and actual == expected | ||
| if operator == "!=": return actual != expected | ||
| if operator == "!==": return not (type(actual) == type(expected) and actual == expected) | ||
| if operator == ">": return actual > expected | ||
| if operator == ">=": return actual >= expected | ||
| if operator == "<": return actual < expected | ||
| if operator == "<=": return actual <= expected | ||
| if operator == "contains": | ||
| if isinstance(actual, str): return str(expected) in actual | ||
| if isinstance(actual, (list, tuple)): return expected in actual | ||
| return False | ||
| if operator == "matches": | ||
| import re | ||
| return re.search(str(expected), str(actual)) is not None | ||
| if operator == "truthy": return bool(actual) | ||
| if operator == "falsy": return not bool(actual) | ||
| except Exception: return False | ||
| return bool(actual) | ||
| voiden = _Vd() | ||
| try: | ||
| script_body = script_body.replace('voiden.assert(', 'voiden.assert_(') | ||
| script_body = script_body.replace('vd.assert(', 'vd.assert_(') | ||
| exec(script_body, {"voiden": voiden, "vd": voiden, "__builtins__": __builtins__}) | ||
| mod_request = _extract(voiden.request, ["url", "method", "headers", "body", "queryParams", "pathParams"]) | ||
| mod_response = None | ||
| if voiden.response is not None: | ||
| candidate_response = _extract(voiden.response, ["status", "statusText", "headers", "body", "time", "size"]) | ||
| original_response = _serialize(response_data) if response_data is not None else None | ||
| if original_response is None or not _json_equal(candidate_response, original_response): | ||
| mod_response = candidate_response | ||
| result = {"success": True, "logs": logs, "assertions": assertions, "cancelled": cancelled, "modifiedRequest": mod_request, "modifiedResponse": mod_response, "modifiedVariables": modified_variables} | ||
| except Exception as e: | ||
| result = {"success": False, "logs": logs, "assertions": assertions, "cancelled": cancelled, "error": traceback.format_exc(), "modifiedVariables": _serialize(modified_variables)} | ||
| print(json.dumps(result)) | ||
| sys.exit(0 if result.get("success") else 1) | ||
| main() | ||
| `});var w={};P(w,{executeHeadlessScript:()=>ye,getPythonBin:()=>j,isNodeAvailable:()=>oe,loadHeadlessVariables:()=>ie});function j(){if(h!==void 0)return h;for(let e of["python3","python"])try{return(0,R.execFileSync)(e,["--version"],{stdio:"pipe",timeout:3e3}),h=e,e}catch{}return h=null,null}function oe(){try{return require("worker_threads"),!0}catch{return!1}}function ie(){let e=(0,v.join)((0,k.homedir)(),".voiden",".process.env.json");if(!(0,_.existsSync)(e))return{};try{return JSON.parse((0,_.readFileSync)(e,"utf-8"))}catch{return{}}}function C(e,r,n){return new Promise(s=>{let t=(0,R.spawn)(e,r,{stdio:["pipe","pipe","pipe"]}),i="",o="";t.stdout.on("data",d=>{i+=d.toString()}),t.stderr.on("data",d=>{o+=d.toString()});let l=setTimeout(()=>{t.kill("SIGKILL"),s({stdout:"",stderr:`Timed out after ${V}ms`,code:-1})},V);t.on("close",d=>{clearTimeout(l),s({stdout:i,stderr:o,code:d})}),t.stdin.write(n,"utf-8"),t.stdin.end()})}function z(e,r,n){let s=e.trim().split(` | ||
| `).pop()??"";try{let t=JSON.parse(s);return{success:!!t.success,logs:Array.isArray(t.logs)?t.logs:[],assertions:Array.isArray(t.assertions)?t.assertions:[],cancelled:!!t.cancelled,error:t.error,exitCode:n??0,modifiedRequest:t.modifiedRequest,modifiedResponse:t.modifiedResponse}}catch{let t=r.trim()||`Script output could not be parsed: ${s.slice(0,300)}`;return{success:!1,logs:[],error:t,cancelled:!1,exitCode:n??1}}}async function le(e,r,n,s,t){let i=Object.getPrototypeOf(async function(){}).constructor,o=[],l=[],d=!1,u={...t},y={},p=a=>({"==":"==","===":"===",eq:"==",equal:"==","!=":"!=","!==":"!==",neq:"!=",notequal:"!=",">":">",">=":">=","<":"<","<=":"<=",greater:">",greaterthan:">",gte:">=",less:"<",lessthan:"<",lte:"<=",contains:"contains",includes:"contains",matches:"matches",regex:"matches",truthy:"truthy",falsy:"falsy"})[a.trim().toLowerCase().replace(/\s+/g,"")]??null,m=(a,f,c)=>{try{switch(f){case"==":return a==c;case"===":return a===c;case"!=":return a!=c;case"!==":return a!==c;case">":return a>c;case">=":return a>=c;case"<":return a<c;case"<=":return a<=c;case"contains":return typeof a=="string"?a.includes(String(c)):Array.isArray(a)&&a.includes(c);case"matches":return new RegExp(String(c)).test(String(a));case"truthy":return!!a;case"falsy":return!a;default:return!!a}}catch{return!1}},b=a=>{try{return JSON.stringify(a)}catch{return String(a)}},g={request:r,response:n,env:{get:a=>s[a]},variables:{get:a=>u[a],set:(a,f)=>{u[a]=f,y[a]=f}},log:(a,...f)=>{let S=typeof a=="string"&&["log","info","debug","warn","warning","error"].includes(a.toLowerCase()),E=S?a==="warning"?"warn":a:"log";o.push({level:E,args:S?f:[a,...f]})},assert:(a,f,c,S)=>{let E=p(f);if(!E){l.push({passed:!1,message:S??"",reason:`Unsupported operator: ${f}`,actualValue:a,operator:f,expectedValue:c});return}l.push({passed:m(a,E,c),message:S??"",condition:`${b(a)} ${E} ${b(c)}`,actualValue:a,operator:E,expectedValue:c})},cancel:()=>{d=!0}};try{return await new i("voiden","vd",e)(g,g),{success:!0,logs:o,assertions:l,cancelled:d,exitCode:0,modifiedRequest:g.request,modifiedResponse:g.response,modifiedVariables:y}}catch(a){return{success:!1,logs:o,assertions:l,error:String(a?.stack||a?.message||a),cancelled:d,exitCode:1,modifiedVariables:y}}}async function ce(e,r,n,s,t){let i=JSON.stringify({scriptBody:e,workerSource:A,request:r??{},response:n??null,envVars:s,variables:t}),{stdout:o,stderr:l,code:d}=await C("node",["-e",I],i);return z(o,l,d)}async function ue(e,r,n,s,t){let i=j();if(!i)return{success:!1,logs:[],error:"python3 not found in PATH. Install Python 3 to run Python scripts in voiden-runner.",cancelled:!1,exitCode:-1};let o=JSON.stringify({scriptBody:e,request:r??{},response:n??null,envVars:s,variables:t}),{stdout:l,stderr:d,code:u}=await C(i,["-c",L],o);return z(l,d,u)}async function de(e,r,n,s,t){let i=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,o=(0,v.join)((0,k.tmpdir)(),`voiden-runner-${i}`);(0,_.mkdirSync)(o,{recursive:!0});let l=(0,v.join)(o,"log.tsv"),d=(0,v.join)(o,"vars.tsv"),u=(0,v.join)(o,"assertions.tsv"),y=(0,v.join)(o,"cancel"),p=(0,v.join)(o,"request.tsv"),m=(0,v.join)(o,"response.tsv"),b=(0,v.join)(o,"user.sh"),g=(0,v.join)(o,"wrapper.sh");(0,_.writeFileSync)(b,e,"utf-8");for(let c of[l,d,u,p,m])(0,_.writeFileSync)(c,"","utf-8");let a=F({request:r??{},response:n??null,envVars:s,variables:t,logFile:l,varFile:d,assertFile:u,cancelFile:y,reqFile:p,respFile:m,userScriptFile:b});return(0,_.writeFileSync)(g,a,"utf-8"),new Promise(c=>{let S=(0,R.spawn)("bash",[g],{stdio:["ignore","pipe","pipe"]}),E=setTimeout(()=>{S.kill("SIGKILL"),f(),c({success:!1,logs:[],error:`Shell script timed out after ${V}ms`,cancelled:!1,exitCode:-1})},V);S.on("close",N=>{clearTimeout(E);let G=_e(l),K=pe(u),Z=fe(p,r),X=ge(m,n),ee=(0,_.existsSync)(y);f(),c({success:N===0,logs:G,assertions:K,cancelled:ee,exitCode:N??0,modifiedRequest:Z,modifiedResponse:X})})});function f(){try{(0,_.rmSync)(o,{recursive:!0,force:!0})}catch{}}}function $(e){return Buffer.from(e??"","base64").toString("utf-8")}function _e(e){return(0,_.existsSync)(e)?(0,_.readFileSync)(e,"utf-8").split(` | ||
| `).filter(Boolean).map(r=>{let[n,s]=r.split(" ");return{level:$(n)||"log",args:[$(s)]}}):[]}function pe(e){return(0,_.existsSync)(e)?(0,_.readFileSync)(e,"utf-8").split(` | ||
| `).filter(Boolean).map(r=>{let n=r.split(" ").map($),[s,t,i,o,l]=n;return{passed:s==="true",actualValue:t,operator:i,expectedValue:o,message:l??""}}):[]}function fe(e,r){if(!(0,_.existsSync)(e))return r;let n={...r};return(0,_.readFileSync)(e,"utf-8").split(` | ||
| `).filter(Boolean).forEach(s=>{let[t,i]=s.split(" "),o=$(t),l=$(i);if(o)if(["headers","queryParams","pathParams"].includes(o))try{n[o]=JSON.parse(l)}catch{n[o]=l}else n[o]=l}),n}function ge(e,r){if(!(0,_.existsSync)(e)||!r)return r;let n={...r};return(0,_.readFileSync)(e,"utf-8").split(` | ||
| `).filter(Boolean).forEach(s=>{let[t,i]=s.split(" "),o=$(t),l=$(i);if(o)if(o==="status")n[o]=parseInt(l,10)||0;else if(o==="body")try{n[o]=JSON.parse(l)}catch{n[o]=l}else n[o]=l}),n}async function ye(e,r,n,s,t={},i={},o=!1){return r==="python"?ue(e,n,s,t,i):r==="shell"?de(e,n,s,t,i):o?ce(e,n,s,t,i):le(e,n,s,t,i)}var R,_,v,k,V,h,D=q(()=>{"use strict";R=require("child_process"),_=require("fs"),v=require("path"),k=require("os");U();V=1e4});var Re={};P(Re,{default:()=>$e});module.exports=ae(Re);var J=require("@voiden/sdk/shared"),x=require("fs"),Y=require("path"),W=require("os");function Q(e,r){if(!e?.content)return null;let n=null,s=t=>{t.type===r&&t.attrs?.body&&(n={body:t.attrs.body,language:t.attrs.language??"javascript"}),t.content?.forEach?.(i=>s(i))};return s(e),n}function M(e,r){return r==="python"?e.replace(/#.*$/gm,"").trim():e.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").trim()}function H(){let e=(0,Y.join)((0,W.homedir)(),".voiden",".process.env.json");if(!(0,x.existsSync)(e))return{};try{return JSON.parse((0,x.readFileSync)(e,"utf-8"))}catch{return{}}}function B(e){let r=n=>Array.isArray(n)?n:n&&typeof n=="object"?Object.entries(n).map(([s,t])=>({key:s,value:String(t),enabled:!0})):[];return{url:e.url??"",method:e.method??"GET",headers:r(e.headers),body:e.body,queryParams:r(e.queryParams),pathParams:r(e.pathParams)}}function ve(e){let r=e.headers??[],n={},s=[];r.forEach(i=>{i.key.toLowerCase()==="set-cookie"?s.push(i.value):n[i.key]=i.value}),s.length>0&&(n["set-cookie"]=s.join(` | ||
| `));let t=(0,J.parseCookies)(r);return{status:e.status,statusText:e.statusText,headers:n,cookies:t,body:e.body,time:e.durationMs??0,size:e.size??0}}function me(e,r){r.url=e.url,r.method=e.method;let n=s=>Array.isArray(s)?s:s&&typeof s=="object"?Object.entries(s).map(([t,i])=>({key:t,value:String(i),enabled:!0})):[];if(r.headers=n(e.headers),r.queryParams=n(e.queryParams),r.pathParams=n(e.pathParams),e.body!=null&&typeof e.body=="object")try{r.body=JSON.stringify(e.body)}catch{r.body=String(e.body)}else r.body=e.body}function Se(e,r){e.status!==void 0&&(r.status=e.status),e.statusText!==void 0&&(r.statusText=e.statusText),e.body!==void 0&&(r.body=e.body)}function Ee(e,r,n){Array.isArray(e.reportEntries)||(e.reportEntries=[]);let s=e.reportEntries;for(let t of r.assertions??[])s.push({type:"assertion",message:t.message||t.condition||"Script assertion",passed:t.passed,actual:t.actualValue,expected:t.expectedValue,operator:t.operator});for(let t of n){let i=Array.isArray(t.args)?t.args.map(o=>typeof o=="object"?JSON.stringify(o):String(o)).join(" "):String(t.args??"");i&&s.push({type:"log",message:i,level:t.level??"log"})}r.error&&s.push({type:"log",message:`Script error: ${r.error}`,level:"error"})}var be=e=>({onload(){let r=null,n={};e.pipeline.registerHook("pre-processing",s=>{if(!s.editor)return;s.requestState.metadata||(s.requestState.metadata={});let t=s.editor.getJSON();s.requestState.metadata.editorDocument=t,r=t,n=s.editor.__cliEnv??{},s.requestState.metadata._cliVarsRef=s.editor.__cliVars??{}},5),e.pipeline.registerHook("pre-send",async s=>{if(!r)return;let t=Q(r,"pre_script");if(!t||!M(t.body,t.language))return;let{executeHeadlessScript:i}=await Promise.resolve().then(()=>(D(),w)),o=s.requestState.metadata?._cliVarsRef??{},l={...H(),...o},d=B(s.requestState),u=await i(t.body,t.language,d,null,n,l);if(u.success&&u.modifiedRequest&&me(u.modifiedRequest,s.requestState),u.modifiedVariables&&Object.assign(o,u.modifiedVariables),s.requestState.metadata||(s.requestState.metadata={}),s.requestState.metadata.preScriptLogs=u.logs??[],s.requestState.metadata.preScriptAssertions=u.assertions??[],u.error&&(s.requestState.metadata.preScriptError=u.error),u.cancelled)throw s.requestState.metadata.scriptCancelled=!0,new Error("Request cancelled by pre-request script")},15),e.pipeline.registerHook("post-processing",async s=>{s.responseState.metadata||(s.responseState.metadata={});let t=s.responseState.metadata;if(!r)return;let i=Q(r,"post_script");if(!i||!M(i.body,i.language))return;let{executeHeadlessScript:o}=await Promise.resolve().then(()=>(D(),w)),l=s.requestState?.metadata?._cliVarsRef??{},d={...H(),...l},u=B(s.requestState),y=ve(s.responseState),p=await o(i.body,i.language,u,y,n,d);p.success&&p.modifiedResponse&&Se(p.modifiedResponse,s.responseState),p.modifiedVariables&&Object.assign(l,p.modifiedVariables),t.postScriptLogs=p.logs??[],t.postScriptAssertions=p.assertions??[],p.error&&(t.postScriptError=p.error),r=null},25),e.pipeline.registerHook("post-processing",s=>{let t=s.responseState;if(!t)return;t.metadata||(t.metadata={});let i=s.requestState?.metadata?.preScriptLogs??[],o=s.requestState?.metadata?.preScriptAssertions??[],l=t.metadata.postScriptLogs??[],d=t.metadata.postScriptAssertions??[],u=s.requestState?.metadata?.preScriptError,y=t.metadata.postScriptError,p={assertions:[...o,...d],error:y??u},m=[...i,...l];Ee(t.metadata,p,m)},60)}}),$e=be; |
| "use strict";var f=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var m=(o,e)=>{for(var a in e)f(o,a,{get:e[a],enumerable:!0})},w=(o,e,a,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of g(e))!h.call(o,s)&&s!==a&&f(o,s,{get:()=>e[s],enumerable:!(r=p(e,s))||r.enumerable});return o};var R=o=>w(f({},"__esModule",{value:!0}),o);var C={};m(C,{buildRequest:()=>y,default:()=>k});module.exports=R(C);function y(o){let e=o.find(t=>t.type==="socket-request");if(!e)return null;let a="";if(Array.isArray(e.content))for(let t of e.content)t.type==="surl"&&typeof t.content=="string"&&(a=t.content.trim());if(!a)return null;let r=a.toLowerCase(),s="ws";r.startsWith("wss://")?s="wss":r.startsWith("ws://")?s="ws":r.startsWith("grpcs://")?s="grpcs":r.startsWith("grpc://")&&(s="grpc");let l=o.find(t=>t.type==="headers-table"),d=[];if(l&&Array.isArray(l.content)){for(let t of l.content)if(t.type==="table"&&Array.isArray(t.rows))for(let c of t.rows)!c.attrs?.disabled&&Array.isArray(c.row)&&c.row[0]&&d.push({key:String(c.row[0]).trim(),value:String(c.row[1]??"").trim(),enabled:!0})}let u=e.content?.find?.(t=>t.type==="proto"),i={};if(u?.attrs){let t=u.attrs;t.protoFilePath&&(i.protoFilePath=t.protoFilePath),t.service&&(i.service=t.service),t.method&&(i.method=t.method),t.package&&(i.package=t.package),t.callType&&(i.callType=t.callType)}return{method:s.toUpperCase(),url:a,headers:d,queryParams:[],pathParams:[],grpc:Object.keys(i).length?i:void 0,metadata:{protocol:s}}}var b=o=>({onload(){o.onBuildRequest((e,a)=>y(a)??e),o.onProcessResponse(async e=>{let a=e?.metadata?.handoff;if(!a)return;let{protocol:r,url:s,headers:l,grpc:d,body:u}=a,i=Object.entries(l).map(([t,c])=>({key:t,value:c,enabled:!0}));if(r==="ws"||r==="wss"){let t=await o.protocols?.executeWebSocket({protocol:r,url:s,headers:i});if(!t)return;let c={connected:t.connected??!1,protocol:r,url:s,durationMs:t.durationMs,...t.error?{error:t.error}:{}},n=e;n.statusCode=t.connected?101:0,n.statusMessage=t.connected?"Switching Protocols":t.error??"Connection Failed",n.status=n.statusCode,n.statusText=n.statusMessage,e.body=JSON.stringify(c,null,2),e.metadata&&delete e.metadata.handoff}else if(r==="grpc"||r==="grpcs"){let t=await o.protocols?.executeGrpc({protocol:r,url:s,metadata:l,body:u,...d??{}});if(!t)return;let c={connected:t.connected??!1,protocol:r,url:s,durationMs:t.durationMs,...d?.service?{service:d.service}:{},...d?.method?{method:d.method}:{},...t.error?{error:t.error}:{}},n=e;n.statusCode=t.connected?200:0,n.statusMessage=t.connected?"Connected":t.error??"Connection Failed",n.status=n.statusCode,n.statusText=n.statusMessage,e.body=JSON.stringify(c,null,2),e.metadata&&delete e.metadata.handoff}})}}),k=b;0&&(module.exports={buildRequest}); |
+20
| # Changelog | ||
| All notable changes to `@voiden/runner` are documented here. This package is | ||
| versioned and released independently of the Voiden desktop app. | ||
| ## v2.1.1 - 2026-06-25 | ||
| ### Fixed | ||
| - A 0-byte file left behind by a failed or interrupted plugin runner download is no longer treated as an installed runner — `hasCoreRunner`/`hasCommunityRunner` now check file size, so the loader falls back to the bundled copy (or re-downloads) instead of importing an empty module | ||
| - Bundled runner assets (`bundled-runners/**`) are now included in the published npm package — `plugin install`/`plugin update` for bundled core plugins no longer requires a network download on a fresh install | ||
| ## v2.1.0 - 2026-06-24 | ||
| First release published under the `@voiden/runner` name and versioned in lockstep with the desktop app (previously `0.1.0-beta.x`). | ||
| ### Fixed | ||
| - Set-cookie capture in runtime variables no longer lags one request behind — `byPath` can now navigate `set-cookie.<name>.value`, duplicate `set-cookie` headers are preserved instead of being collapsed, and variable capture now runs before post-request hooks so scripts see the current response's values | ||
| - Restored plugin registry modules (`registryCache.ts`, `updateCheck.ts`) that had gone missing from the package, breaking `plugin list`/`plugin update` | ||
| - Dropped a stale `@voiden/core-extensions` build dependency that no longer exists in the reworked plugin architecture | ||
| - Fixed `npm publish` metadata so the package publishes correctly under the `@voiden` npm scope |
+130
-10
@@ -12,3 +12,3 @@ #!/usr/bin/env node | ||
| import { sendMailReport } from './report/mail.js'; | ||
| import { getCorePlugins, findPlugin } from './plugins/registry.js'; | ||
| import { getCorePlugins, findPlugin, hasCoreRunner } from './plugins/registry.js'; | ||
| import { downloadCoreRunner } from './plugins/loader.js'; | ||
@@ -284,2 +284,45 @@ import { fetchCommunityPlugins, findCommunityPlugin, hasCommunityRunner, installCommunityRunner, } from './plugins/community.js'; | ||
| } | ||
| /** Split CHANGELOG.md into per-version entries on "## " headers (newest first, matching file order). */ | ||
| function parseChangelog(content) { | ||
| const lines = content.split('\n'); | ||
| const entries = []; | ||
| let current = null; | ||
| for (const line of lines) { | ||
| const headerMatch = line.match(/^##\s+(\S+)(?:\s+-\s+(.+))?$/); | ||
| if (headerMatch) { | ||
| if (current) | ||
| entries.push(current); | ||
| current = { version: headerMatch[1], date: headerMatch[2]?.trim(), body: [] }; | ||
| continue; | ||
| } | ||
| if (current) | ||
| current.body.push(line); | ||
| } | ||
| if (current) | ||
| entries.push(current); | ||
| return entries; | ||
| } | ||
| function renderChangelogEntry(entry) { | ||
| const header = entry.date ? `${entry.version} ${chalk.gray(entry.date)}` : entry.version; | ||
| console.log(chalk.bold.white(` ${header}`)); | ||
| console.log(DIVIDER); | ||
| for (const line of entry.body) { | ||
| const trimmed = line.trim(); | ||
| if (!trimmed) | ||
| continue; | ||
| const sectionMatch = trimmed.match(/^###\s+(.+)$/); | ||
| if (sectionMatch) { | ||
| console.log(); | ||
| console.log(chalk.bold.cyan(` ${sectionMatch[1]}`)); | ||
| continue; | ||
| } | ||
| const bulletMatch = trimmed.match(/^-\s+(.+)$/); | ||
| if (bulletMatch) { | ||
| console.log(chalk.gray(` · `) + bulletMatch[1]); | ||
| continue; | ||
| } | ||
| console.log(` ${trimmed}`); | ||
| } | ||
| console.log(); | ||
| } | ||
| // ───────────────────────────────────────────────────────────────────────────── | ||
@@ -317,2 +360,43 @@ // Plugin update notices — surfaced after `run` and `plugin` commands so users | ||
| .version(pkg.version); | ||
| // ── voiden-runner changelog ─────────────────────────────────────────────────── | ||
| program | ||
| .command('changelog [version]') | ||
| .description('Show release notes for voiden-runner — versioned independently of the desktop app\n\n' + | ||
| ' Examples:\n' + | ||
| ' voiden-runner changelog # full history\n' + | ||
| ' voiden-runner changelog --latest # most recent release only\n' + | ||
| ' voiden-runner changelog 2.1.0 # a specific version\n') | ||
| .option('--latest', 'Show only the most recent release') | ||
| .action((version, opts) => { | ||
| const changelogPath = resolve(join(dirname(fileURLToPath(import.meta.url)), '../CHANGELOG.md')); | ||
| if (!existsSync(changelogPath)) { | ||
| console.error(chalk.red(' ✗ No CHANGELOG.md found for this install.')); | ||
| process.exit(1); | ||
| } | ||
| const entries = parseChangelog(readFileSync(changelogPath, 'utf-8')); | ||
| if (entries.length === 0) { | ||
| console.log(chalk.gray(' Changelog is empty.')); | ||
| return; | ||
| } | ||
| let toShow = entries; | ||
| if (version) { | ||
| const normalized = version.replace(/^v/, ''); | ||
| const match = entries.find(e => e.version.replace(/^v/, '') === normalized); | ||
| if (!match) { | ||
| console.error(chalk.red(` ✗ No changelog entry found for version "${version}".`)); | ||
| console.log(chalk.gray(` Available: ${entries.map(e => e.version).join(', ')}`)); | ||
| process.exit(1); | ||
| } | ||
| toShow = [match]; | ||
| } | ||
| else if (opts.latest) { | ||
| toShow = [entries[0]]; | ||
| } | ||
| console.log(); | ||
| console.log(chalk.bold.white(' voiden-runner changelog')); | ||
| console.log(); | ||
| for (const entry of toShow) { | ||
| renderChangelogEntry(entry); | ||
| } | ||
| }); | ||
| // ── voiden-runner run ───────────────────────────────────────────────────────── | ||
@@ -820,2 +904,19 @@ program | ||
| } | ||
| // Core plugins: only download if not already bundled in the package or cached | ||
| // from a previous install — `bundled: true` plugins should need no network call. | ||
| if (coreDef && !hasCoreRunner(name)) { | ||
| process.stdout.write(` ↓ Downloading runner for ${chalk.bold(name)} …`); | ||
| try { | ||
| const ok = await downloadCoreRunner(coreDef.name, coreDef.repo, coreDef.runnerAsset, coreDef.version, false); | ||
| process.stdout.write('\r' + ' '.repeat(60) + '\r'); | ||
| if (!ok) { | ||
| console.log(chalk.red(` ✗ No "${coreDef.runnerAsset}" asset in release v${coreDef.version} for "${name}"`)); | ||
| continue; | ||
| } | ||
| } | ||
| catch (err) { | ||
| process.stdout.write('\r' + chalk.red(` ✗ Failed to download runner for "${name}": ${err?.message ?? String(err)}\n`)); | ||
| continue; | ||
| } | ||
| } | ||
| // Community plugins: download runner.js from the GitHub release first | ||
@@ -927,14 +1028,33 @@ if (commDef) { | ||
| }); | ||
| // voiden-runner plugin uninstall <name> | ||
| // voiden-runner plugin uninstall [names...] --all | ||
| pluginCmd | ||
| .command('uninstall <name>') | ||
| .description('Remove an installed plugin\n\n Example:\n voiden-runner plugin uninstall voiden-scripting\n') | ||
| .action((name) => { | ||
| const removed = uninstallPlugin(name); | ||
| if (removed) { | ||
| console.log(chalk.green(` ✓ Uninstalled`) + ` ${name}`); | ||
| .command('uninstall [names...]') | ||
| .description('Remove one or more installed plugins, or all installed plugins\n\n' + | ||
| ' Examples:\n' + | ||
| ' voiden-runner plugin uninstall voiden-scripting\n' + | ||
| ' voiden-runner plugin uninstall apyhub-explorer voiden-scripting\n' + | ||
| ' voiden-runner plugin uninstall --all\n') | ||
| .option('--all', 'Uninstall all installed plugins (core and community)') | ||
| .action((names, opts) => { | ||
| const targets = opts.all ? Object.keys(readStore().installedPlugins) : names; | ||
| if (targets.length === 0) { | ||
| console.error(chalk.red(' Specify plugin name(s) or use --all')); | ||
| process.exit(1); | ||
| return; | ||
| } | ||
| else { | ||
| console.log(chalk.yellow(` ⚠ Plugin "${name}" is not installed`)); | ||
| let removedCount = 0; | ||
| for (const name of targets) { | ||
| const removed = uninstallPlugin(name); | ||
| if (removed) { | ||
| console.log(chalk.green(` ✓ Uninstalled`) + ` ${name}`); | ||
| removedCount++; | ||
| } | ||
| else { | ||
| console.log(chalk.yellow(` ⚠ Plugin "${name}" is not installed`)); | ||
| } | ||
| } | ||
| if (removedCount > 1) { | ||
| console.log(); | ||
| console.log(chalk.gray(` ${removedCount} plugin(s) uninstalled.`)); | ||
| } | ||
| }); | ||
@@ -941,0 +1061,0 @@ // voiden-runner plugin enable [name] --all |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"community.d.ts","sourceRoot":"","sources":["../../src/plugins/community.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAaH,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAA;IACV,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAA;IACnB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAA;CACb;AAwCD,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAYlF;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,yBAAyB,EAAE,GACnC,yBAAyB,GAAG,SAAS,CAEvC;AAID,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpE;AAID;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,CAsBpC"} | ||
| {"version":3,"file":"community.d.ts","sourceRoot":"","sources":["../../src/plugins/community.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAaH,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAA;IACV,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAA;IACnB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAA;CACb;AAwCD,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAYlF;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,yBAAyB,EAAE,GACnC,yBAAyB,GAAG,SAAS,CAEvC;AAID,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQ5D;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpE;AAID;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,CAsBpC"} |
@@ -16,3 +16,3 @@ /** | ||
| import * as https from 'https'; | ||
| import { existsSync, mkdirSync, writeFileSync } from 'fs'; | ||
| import { existsSync, mkdirSync, statSync, writeFileSync } from 'fs'; | ||
| import { join } from 'path'; | ||
@@ -77,3 +77,10 @@ import { homedir } from 'os'; | ||
| export function hasCommunityRunner(pluginId) { | ||
| return existsSync(getCommunityRunnerPath(pluginId)); | ||
| // A failed/interrupted download can leave a 0-byte file behind; treat that | ||
| // as "not installed" rather than importing an empty module. | ||
| try { | ||
| return existsSync(getCommunityRunnerPath(pluginId)) && statSync(getCommunityRunnerPath(pluginId)).size > 0; | ||
| } | ||
| catch { | ||
| return false; | ||
| } | ||
| } | ||
@@ -80,0 +87,0 @@ export function getCommunityRunnerImportUrl(pluginId) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"community.js","sourceRoot":"","sources":["../../src/plugins/community.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"community.js","sourceRoot":"","sources":["../../src/plugins/community.ts"],"names":[],"mappings":"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"} |
@@ -24,3 +24,4 @@ /** | ||
| export declare function downloadCoreRunner(pluginId: string, repo: string, assetName: string, version: string, verbose: boolean): Promise<boolean>; | ||
| export declare function isCorePluginEnabled(name: string): boolean; | ||
| export declare function loadEnabledPlugins(verbose?: boolean, skipPlugins?: ReadonlySet<string>): Promise<string[]>; | ||
| //# sourceMappingURL=loader.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/plugins/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiBH;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAiC/I;AAgED,wBAAsB,kBAAkB,CACtC,OAAO,UAAQ,EACf,WAAW,GAAE,WAAW,CAAC,MAAM,CAAa,GAC3C,OAAO,CAAC,MAAM,EAAE,CAAC,CAyEnB"} | ||
| {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/plugins/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAqCH;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CA8B/I;AAKD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIzD;AAuDD,wBAAsB,kBAAkB,CACtC,OAAO,UAAQ,EACf,WAAW,GAAE,WAAW,CAAC,MAAM,CAAa,GAC3C,OAAO,CAAC,MAAM,EAAE,CAAC,CAqEnB"} |
+32
-18
@@ -25,2 +25,24 @@ /** | ||
| import { dirname } from 'path'; | ||
| // Follows redirects (GitHub release assets 302 to signed blob-storage URLs). | ||
| function downloadToFile(url, destPath, hops = 5) { | ||
| return new Promise((resolve, reject) => { | ||
| https.get(url, { headers: { 'User-Agent': 'voiden-runner' } }, res => { | ||
| if (res.statusCode && res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) { | ||
| if (hops <= 0) { | ||
| reject(new Error('Too many redirects')); | ||
| return; | ||
| } | ||
| downloadToFile(res.headers.location, destPath, hops - 1).then(resolve, reject); | ||
| return; | ||
| } | ||
| if (res.statusCode && res.statusCode >= 400) { | ||
| reject(new Error(`HTTP ${res.statusCode}`)); | ||
| return; | ||
| } | ||
| const file = createWriteStream(destPath); | ||
| res.pipe(file); | ||
| file.on('finish', () => { file.close(); resolve(); }); | ||
| }).on('error', reject); | ||
| }); | ||
| } | ||
| /** | ||
@@ -57,10 +79,7 @@ * Download a core plugin runner bundle from its GitHub repo release, pinned to | ||
| } | ||
| // Download the asset | ||
| await new Promise((resolve, reject) => { | ||
| const file = createWriteStream(destPath); | ||
| https.get(asset.browser_download_url, { headers: { 'User-Agent': 'voiden-runner' } }, res => { | ||
| res.pipe(file); | ||
| file.on('finish', () => { file.close(); resolve(); }); | ||
| }).on('error', reject); | ||
| }); | ||
| // Download the asset, following redirects — GitHub's browser_download_url | ||
| // always 302s to a signed blob-storage URL, which https.get does not follow | ||
| // automatically. Without this, the response piped to disk is the empty | ||
| // redirect body, leaving a 0-byte runner.js. | ||
| await downloadToFile(asset.browser_download_url, destPath); | ||
| setPluginVersion(pluginId, version); | ||
@@ -73,3 +92,3 @@ if (verbose) | ||
| // Core plugins default to enabled; only skip if explicitly set to false in store. | ||
| function isCorePluginEnabled(name) { | ||
| export function isCorePluginEnabled(name) { | ||
| const store = readStore(); | ||
@@ -130,3 +149,5 @@ const record = store.installedPlugins[name]; | ||
| // Core plugins default to enabled but can be disabled via ~/.voiden/plugins.json. | ||
| // Runner bundles are downloaded on-demand from each plugin's GitHub repo. | ||
| // `run` never downloads anything — it only uses what's already bundled in the | ||
| // package (see bundled-runners/) or previously cached via `plugin install` / | ||
| // `plugin update`. A plugin that's neither gets a one-line install hint. | ||
| const corePlugins = await getCorePlugins(); | ||
@@ -144,11 +165,4 @@ for (const def of corePlugins) { | ||
| } | ||
| // Auto-download runner bundle if not cached locally | ||
| if (!hasCoreRunner(def.name)) { | ||
| if (verbose) | ||
| console.log(` [plugins] Downloading runner for ${def.name} from ${def.repo}...`); | ||
| await downloadCoreRunner(def.name, def.repo, def.runnerAsset, def.version, verbose); | ||
| } | ||
| if (!hasCoreRunner(def.name)) { | ||
| if (verbose) | ||
| console.warn(` [plugins] Runner not available for ${def.name} — skipping`); | ||
| console.log(` [plugins] "${def.name}" not installed — run: voiden-runner plugin install ${def.name}`); | ||
| continue; | ||
@@ -155,0 +169,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/plugins/loader.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/plugins/loader.ts"],"names":[],"mappings":"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"} |
@@ -15,2 +15,6 @@ /** | ||
| */ | ||
| /** Version of the copy currently bundled inside the package (not the latest registry version). */ | ||
| export declare function getBundledVersion(pluginId: string): string | undefined; | ||
| /** The version actually present locally — cached download takes priority over the bundled copy. */ | ||
| export declare function getCoreRunnerVersion(pluginId: string): string | undefined; | ||
| export declare function getCoreRunnerPath(pluginId: string): string; | ||
@@ -17,0 +21,0 @@ export declare function hasCoreRunner(pluginId: string): boolean; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAuBH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ/D;AAID,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B;AAaD,4EAA4E;AAC5E,wBAAsB,cAAc,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAKlE;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAGpF;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAEzD"} | ||
| {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAwDH,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED,mGAAmG;AACnG,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEzE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ/D;AAID,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B;AAaD,4EAA4E;AAC5E,wBAAsB,cAAc,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAKlE;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAGpF;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAEzD"} |
+52
-10
@@ -17,19 +17,61 @@ /** | ||
| import { homedir } from 'os'; | ||
| import { existsSync } from 'fs'; | ||
| import { existsSync, statSync, readFileSync } from 'fs'; | ||
| import { pathToFileURL } from 'url'; | ||
| import { getRegistry } from './registryCache.js'; | ||
| import { getInstalledVersion } from './store.js'; | ||
| // ─── Runner paths (priority: bundled-at-build-time > user cache > download) ─── | ||
| const RUNNER_CACHE_DIR = join(homedir(), '.voiden', 'extensions'); | ||
| // Bundled runners pre-downloaded by cleanup.sh at Voiden build time | ||
| function getBundledRunnerPath(pluginId) { | ||
| // A failed/interrupted download can leave a 0-byte file behind; treat that as | ||
| // "not cached" so we fall back to the bundled copy instead of importing nothing. | ||
| function isValidRunnerFile(path) { | ||
| try { | ||
| return existsSync(path) && statSync(path).size > 0; | ||
| } | ||
| catch { | ||
| return false; | ||
| } | ||
| } | ||
| // Resolves the bundled-runners/ directory shipped inside the @voiden/runner | ||
| // package itself (built by scripts/build-runners.mjs from plugins whose | ||
| // plugin-registry entry has `bundled: true`). Two candidates: monorepo dev | ||
| // layout vs. the npm-installed package layout. | ||
| function getBundledRunnersDir() { | ||
| const candidates = [ | ||
| join(new URL('.', import.meta.url).pathname, '../../../../packages/voiden-runner/bundled-runners', `${pluginId}-runner.js`), | ||
| join(new URL('.', import.meta.url).pathname, '../../../bundled-runners', `${pluginId}-runner.js`), | ||
| join(new URL('.', import.meta.url).pathname, '../../../../packages/voiden-runner/bundled-runners'), | ||
| join(new URL('.', import.meta.url).pathname, '../../bundled-runners'), | ||
| ]; | ||
| for (const p of candidates) { | ||
| if (existsSync(p)) | ||
| return p; | ||
| for (const dir of candidates) { | ||
| if (existsSync(dir)) | ||
| return dir; | ||
| } | ||
| return null; | ||
| } | ||
| function getBundledRunnerPath(pluginId) { | ||
| const dir = getBundledRunnersDir(); | ||
| if (!dir) | ||
| return null; | ||
| const p = join(dir, `${pluginId}-runner.js`); | ||
| return isValidRunnerFile(p) ? p : null; | ||
| } | ||
| let bundledVersionsCache; | ||
| function getBundledVersions() { | ||
| if (bundledVersionsCache) | ||
| return bundledVersionsCache; | ||
| const dir = getBundledRunnersDir(); | ||
| try { | ||
| bundledVersionsCache = dir ? JSON.parse(readFileSync(join(dir, 'versions.json'), 'utf-8')) : {}; | ||
| } | ||
| catch { | ||
| bundledVersionsCache = {}; | ||
| } | ||
| return bundledVersionsCache; | ||
| } | ||
| /** Version of the copy currently bundled inside the package (not the latest registry version). */ | ||
| export function getBundledVersion(pluginId) { | ||
| return getBundledVersions()[pluginId]; | ||
| } | ||
| /** The version actually present locally — cached download takes priority over the bundled copy. */ | ||
| export function getCoreRunnerVersion(pluginId) { | ||
| return getInstalledVersion(pluginId) ?? getBundledVersion(pluginId); | ||
| } | ||
| export function getCoreRunnerPath(pluginId) { | ||
@@ -39,3 +81,3 @@ return join(RUNNER_CACHE_DIR, pluginId, 'runner.js'); | ||
| export function hasCoreRunner(pluginId) { | ||
| return !!getBundledRunnerPath(pluginId) || existsSync(getCoreRunnerPath(pluginId)); | ||
| return !!getBundledRunnerPath(pluginId) || isValidRunnerFile(getCoreRunnerPath(pluginId)); | ||
| } | ||
@@ -46,3 +88,3 @@ export function getCoreRunnerImportUrl(pluginId) { | ||
| // isOtaCached) — so `plugin update` can actually supersede a bundled runner. | ||
| if (existsSync(getCoreRunnerPath(pluginId))) | ||
| if (isValidRunnerFile(getCoreRunnerPath(pluginId))) | ||
| return pathToFileURL(getCoreRunnerPath(pluginId)).href; | ||
@@ -49,0 +91,0 @@ const bundled = getBundledRunnerPath(pluginId); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"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"} |
@@ -20,2 +20,4 @@ /** | ||
| voidenVersion?: string; | ||
| /** Set by plugin-registry maintainers when this plugin's runner should ship inside the @voiden/runner npm package (see bundled-runners/). */ | ||
| bundled?: boolean; | ||
| } | ||
@@ -22,0 +24,0 @@ /** |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"registryCache.d.ts","sourceRoot":"","sources":["../../src/plugins/registryCache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAmDD;;;;;GAKG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAsB5D"} | ||
| {"version":3,"file":"registryCache.d.ts","sourceRoot":"","sources":["../../src/plugins/registryCache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,6IAA6I;IAC7I,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAmDD;;;;;GAKG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAsB5D"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"registryCache.js","sourceRoot":"","sources":["../../src/plugins/registryCache.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"registryCache.js","sourceRoot":"","sources":["../../src/plugins/registryCache.ts"],"names":[],"mappings":"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"} |
| /** | ||
| * Plugin update detection — compares each installed plugin's recorded runner | ||
| * version (store.ts) against the latest version published in the shared | ||
| * plugin-registry (registryCache.ts). Used by `plugin update` and the | ||
| * post-command update notice in index.ts. | ||
| * Plugin update detection — compares each plugin's currently-active runner | ||
| * version against the latest version published in the shared plugin-registry | ||
| * (registryCache.ts). Used by `plugin update` and the post-command update | ||
| * notice in index.ts. | ||
| * | ||
| * Core plugins are checked even if never explicitly `plugin install`ed — | ||
| * they're enabled by default and may only exist as the version bundled | ||
| * inside the @voiden/runner package (see registry.ts:getCoreRunnerVersion), | ||
| * so users still get notified when a newer release is available. | ||
| */ | ||
@@ -7,0 +12,0 @@ export interface PluginUpdateInfo { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"updateCheck.d.ts","sourceRoot":"","sources":["../../src/plugins/updateCheck.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;CACtB;AAeD,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAsBzE"} | ||
| {"version":3,"file":"updateCheck.d.ts","sourceRoot":"","sources":["../../src/plugins/updateCheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;CACtB;AAeD,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA4BzE"} |
| /** | ||
| * Plugin update detection — compares each installed plugin's recorded runner | ||
| * version (store.ts) against the latest version published in the shared | ||
| * plugin-registry (registryCache.ts). Used by `plugin update` and the | ||
| * post-command update notice in index.ts. | ||
| * Plugin update detection — compares each plugin's currently-active runner | ||
| * version against the latest version published in the shared plugin-registry | ||
| * (registryCache.ts). Used by `plugin update` and the post-command update | ||
| * notice in index.ts. | ||
| * | ||
| * Core plugins are checked even if never explicitly `plugin install`ed — | ||
| * they're enabled by default and may only exist as the version bundled | ||
| * inside the @voiden/runner package (see registry.ts:getCoreRunnerVersion), | ||
| * so users still get notified when a newer release is available. | ||
| */ | ||
| import { getAllInstalledPlugins } from './store.js'; | ||
| import { getRegistry } from './registryCache.js'; | ||
| import { getCorePlugins, getCoreRunnerVersion } from './registry.js'; | ||
| import { isCorePluginEnabled } from './loader.js'; | ||
| /** Compares dotted version strings numerically, segment by segment. */ | ||
@@ -23,21 +30,28 @@ function isNewer(latest, installed) { | ||
| export async function checkForPluginUpdates() { | ||
| const installed = getAllInstalledPlugins(); | ||
| if (installed.length === 0) | ||
| return []; | ||
| const registry = await getRegistry(); | ||
| const byId = new Map(registry.map((e) => [e.id, e])); | ||
| const updates = []; | ||
| for (const plugin of installed) { | ||
| // Core plugins: compare whatever version is actually present locally | ||
| // (bundled copy, or a cached download from a previous `plugin install`/ | ||
| // `update`) against the registry's latest — regardless of explicit install. | ||
| const corePlugins = await getCorePlugins(); | ||
| for (const def of corePlugins) { | ||
| if (!isCorePluginEnabled(def.name)) | ||
| continue; | ||
| const current = getCoreRunnerVersion(def.name); | ||
| if (!current) | ||
| continue; | ||
| if (isNewer(def.version, current)) { | ||
| updates.push({ id: def.name, type: 'core', installedVersion: current, latestVersion: def.version }); | ||
| } | ||
| } | ||
| // Community plugins: only ones explicitly installed have a version to compare. | ||
| for (const plugin of getAllInstalledPlugins()) { | ||
| if (!plugin.version) | ||
| continue; | ||
| const entry = byId.get(plugin.name); | ||
| if (!entry) | ||
| if (!entry || entry.type !== 'community') | ||
| continue; | ||
| if (isNewer(entry.version, plugin.version)) { | ||
| updates.push({ | ||
| id: plugin.name, | ||
| type: entry.type, | ||
| installedVersion: plugin.version, | ||
| latestVersion: entry.version, | ||
| }); | ||
| updates.push({ id: plugin.name, type: 'community', installedVersion: plugin.version, latestVersion: entry.version }); | ||
| } | ||
@@ -44,0 +58,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"updateCheck.js","sourceRoot":"","sources":["../../src/plugins/updateCheck.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAShD,uEAAuE;AACvE,SAAS,OAAO,CAAC,MAAc,EAAE,SAAiB;IAChD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5D,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACnB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACnB,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAA;IAC1C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAErC,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAA;IACpC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAEpD,MAAM,OAAO,GAAuB,EAAE,CAAA;IACtC,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,SAAQ;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK;YAAE,SAAQ;QACpB,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,MAAM,CAAC,IAAI;gBACf,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,gBAAgB,EAAE,MAAM,CAAC,OAAO;gBAChC,aAAa,EAAE,KAAK,CAAC,OAAO;aAC7B,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"} | ||
| {"version":3,"file":"updateCheck.js","sourceRoot":"","sources":["../../src/plugins/updateCheck.ts"],"names":[],"mappings":"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"} |
+4
-2
| { | ||
| "name": "@voiden/runner", | ||
| "version": "2.1.0", | ||
| "version": "2.1.1", | ||
| "description": "CLI runner for .void files — execute REST, WebSocket, and gRPC requests headlessly", | ||
@@ -22,3 +22,5 @@ "type": "module", | ||
| "files": [ | ||
| "dist/**" | ||
| "dist/**", | ||
| "bundled-runners/**", | ||
| "CHANGELOG.md" | ||
| ], | ||
@@ -25,0 +27,0 @@ "scripts": { |
Obfuscated code
Supply chain riskObfuscated files are intentionally packed to hide their behavior. This could be a sign of malware.
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 2 instances
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
815218
173.92%84
13.51%5799
70.21%7
600%1
Infinity%71
195.83%4
33.33%