@vibgrate/cli 2026.702.2 → 2026.703.1

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.
Files changed (70) hide show
  1. package/DOCS.md +521 -146
  2. package/LICENSE +202 -0
  3. package/NOTICE +40 -0
  4. package/README.md +232 -250
  5. package/dist/baseline-D2T3V76P.js +6 -0
  6. package/dist/baseline-D2T3V76P.js.map +1 -0
  7. package/dist/chunk-4M2MUQRO.js +800 -0
  8. package/dist/chunk-4M2MUQRO.js.map +1 -0
  9. package/dist/chunk-E7Q3P6V7.js +6267 -0
  10. package/dist/chunk-E7Q3P6V7.js.map +1 -0
  11. package/dist/chunk-ROWQLHEX.js +31 -0
  12. package/dist/chunk-ROWQLHEX.js.map +1 -0
  13. package/dist/chunk-RXP66R2E.js +39 -0
  14. package/dist/chunk-RXP66R2E.js.map +1 -0
  15. package/dist/chunk-TVPE5CA2.js +11389 -0
  16. package/dist/chunk-TVPE5CA2.js.map +1 -0
  17. package/dist/chunk-X5YT263H.js +912 -0
  18. package/dist/chunk-X5YT263H.js.map +1 -0
  19. package/dist/cli.d.ts +44 -1
  20. package/dist/cli.js +3816 -165
  21. package/dist/cli.js.map +1 -0
  22. package/dist/fs-7KZ4F3SB.js +3 -0
  23. package/dist/fs-7KZ4F3SB.js.map +1 -0
  24. package/dist/index.d.ts +1010 -1
  25. package/dist/index.js +42 -1
  26. package/dist/index.js.map +1 -0
  27. package/dist/parse-worker.d.ts +23 -0
  28. package/dist/parse-worker.js +32 -0
  29. package/dist/parse-worker.js.map +1 -0
  30. package/dist/types-C6ZyQpa9.d.ts +168 -0
  31. package/grammars/tree-sitter-bash.wasm +0 -0
  32. package/grammars/tree-sitter-c.wasm +0 -0
  33. package/grammars/tree-sitter-c_sharp.wasm +0 -0
  34. package/grammars/tree-sitter-cpp.wasm +0 -0
  35. package/grammars/tree-sitter-dart.wasm +0 -0
  36. package/grammars/tree-sitter-elixir.wasm +0 -0
  37. package/grammars/tree-sitter-go.wasm +0 -0
  38. package/grammars/tree-sitter-java.wasm +0 -0
  39. package/grammars/tree-sitter-javascript.wasm +0 -0
  40. package/grammars/tree-sitter-kotlin.wasm +0 -0
  41. package/grammars/tree-sitter-lua.wasm +0 -0
  42. package/grammars/tree-sitter-php.wasm +0 -0
  43. package/grammars/tree-sitter-python.wasm +0 -0
  44. package/grammars/tree-sitter-ruby.wasm +0 -0
  45. package/grammars/tree-sitter-rust.wasm +0 -0
  46. package/grammars/tree-sitter-scala.wasm +0 -0
  47. package/grammars/tree-sitter-swift.wasm +0 -0
  48. package/grammars/tree-sitter-tsx.wasm +0 -0
  49. package/grammars/tree-sitter-typescript.wasm +0 -0
  50. package/grammars/tree-sitter-zig.wasm +0 -0
  51. package/package.json +68 -33
  52. package/scripts/postinstall.mjs +84 -0
  53. package/skills/README.md +58 -0
  54. package/skills/vg/SKILL.md +42 -0
  55. package/HCS-RUNTIME-SETUP.md +0 -73
  56. package/LICENSE.md +0 -45
  57. package/dist/baseline-TJDKYSFL.js +0 -1
  58. package/dist/chunk-EK7ODJWE.js +0 -1
  59. package/dist/chunk-GGDB72YE.js +0 -323
  60. package/dist/chunk-MKDRULJ6.js +0 -1
  61. package/dist/chunk-NGFYX3CW.js +0 -2
  62. package/dist/chunk-OQSVJXWJ.js +0 -143
  63. package/dist/chunk-XTHPCEME.js +0 -2
  64. package/dist/dist-5D3BKCOR.js +0 -1
  65. package/dist/fs-PXXYZATK-ZP2RBR47.js +0 -1
  66. package/dist/hcs-wasm/package.json +0 -3
  67. package/dist/hcs-wasm/vibgrate_hcs_wasm.js +0 -450
  68. package/dist/hcs-wasm/vibgrate_hcs_wasm_bg.wasm +0 -0
  69. package/dist/hcs-worker.js +0 -374406
  70. package/dist/semver-TPPMM2NV.js +0 -1
@@ -1,2 +0,0 @@
1
- import {execFile}from'child_process';import*as u from'fs/promises';import*as p from'os';import*as c from'path';import {promisify}from'util';var j=class{available;queue=[];constructor(s){this.available=s;}async run(s){await this.acquire();try{return await s()}finally{this.release();}}acquire(){return this.available>0?(this.available--,Promise.resolve()):new Promise(s=>this.queue.push(s))}release(){let s=this.queue.shift();s?s():this.available++;}};function ee(s){if(s===void 0)return [];let e=Array.isArray(s)?s:[s],t=[];for(let a of e)for(let i of a.split(/[,;]/)){let l=i.trim();l&&t.push(l);}return [...new Set(t)]}function N(s){if(s.length===0)return null;let e=s.map(t=>U(D(t)));return t=>{let a=D(t);return e.some(i=>i(a))}}function D(s){return s.split(c.sep).join("/").replace(/\/+$/,"")}function U(s){if(!s.includes("/")&&!X(s)){let t=s+"/";return a=>a===s||a.startsWith(t)}let e=B(s);return t=>e.test(t)}function X(s){return /[*?[\]{}]/.test(s)}function B(s){let e=0,t="^",a=s.length;for(;e<a;){let i=s[e];if(i==="*")s[e+1]==="*"?(e+=2,s[e]==="/"?(e++,t+="(?:.+/)?"):t+=".*"):(e++,t+="[^/]*");else if(i==="?")e++,t+="[^/]";else if(i==="["){let l=e;for(e++;e<a&&s[e]!=="]";)e++;e++,t+=s.slice(l,e);}else if(i==="{"){e++;let l=[],r="";for(;e<a&&s[e]!=="}";)s[e]===","?(l.push(r),r=""):r+=s[e],e++;l.push(r),e++,t+="(?:"+l.map(M).join("|")+")";}else t+=M(i),e++;}return t+="$",new RegExp(t)}function M(s){return s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var K=promisify(execFile),x=new Set(["node_modules","vendor",".git",".vibgrate",".wrangler",".next","dist","build","out",".turbo",".cache","coverage","bin","obj",".vs","TestResults"]),S=new Set([".woff",".woff2",".ttf",".otf",".eot",".png",".jpg",".jpeg",".gif",".ico",".bmp",".tiff",".tif",".webp",".avif",".svg",".heic",".heif",".jfif",".psd",".ai",".eps",".raw",".cr2",".nef",".dng",".mp4",".webm",".avi",".mov",".mkv",".wmv",".flv",".m4v",".mpg",".mpeg",".3gp",".ogv",".mp3",".wav",".ogg",".flac",".aac",".wma",".m4a",".opus",".aiff",".mid",".midi",".zip",".tar",".gz",".bz2",".7z",".rar",".exe",".dll",".so",".dylib",".o",".a",".class",".pyc",".pdb",".map"]),z=new Set([".nuxt",".output",".svelte-kit"]),H=new Set(["pnpm-lock.yaml","package-lock.json","npm-shrinkwrap.json","yarn.lock","bun.lockb","bun.lock","gemfile.lock","poetry.lock","pipfile.lock","composer.lock","cargo.lock","packages.lock.json","go.sum","gradle.lockfile","deno.lock","flake.lock"]),G=1048576,te=class A{walkCache=new Map;textCache=new Map;jsonCache=new Map;existsCache=new Map;excludePredicate=null;_stuckPaths=[];_skippedLargeFiles=[];_maxFileSize=0;_projectScanTimeout=18e4;_timeoutHintShown=false;_rootDir=null;walkSummary=new Map;fileNameIndex=new Map;sizeCache=new Map;sizeSem=new j(64);setExcludePatterns(e){this.excludePredicate=N(e);}setMaxFileSize(e){this._maxFileSize=e;}setProjectScanTimeout(e){this._projectScanTimeout=e;}get projectScanTimeout(){return this._projectScanTimeout}addStuckPath(e){this._stuckPaths.push(e);}shouldShowTimeoutHint(){return this._timeoutHintShown?false:(this._timeoutHintShown=true,true)}get stuckPaths(){return this._stuckPaths}get stuckDirs(){return this._stuckPaths}get skippedLargeFiles(){return this._skippedLargeFiles}walkDir(e,t){this._rootDir=e;let a=this.walkCache.get(e);if(a)return a;let i=this._doWalk(e,t);return this.walkCache.set(e,i),i}getWalkSummary(e){return this.walkSummary.get(e)}static EXTRA_SKIP=z;async _doWalk(e,t){let a=[],i=typeof p.availableParallelism=="function"?p.availableParallelism():p.cpus().length||4,l=Math.max(8,Math.min(64,i*4)),r=0,o=0,n=50,h=new j(l),f=this._projectScanTimeout,k=A.EXTRA_SKIP,F=this.excludePredicate,P=this._stuckPaths;async function w(m){let C=c.relative(e,m);t&&t(r,C||".");let T;try{T=await h.run(async()=>{let d=u.readdir(m,{withFileTypes:!0}),y,g=await Promise.race([d.then(v=>({ok:!0,entries:v})),new Promise(v=>{y=setTimeout(()=>v({ok:!1}),f),y.unref();})]);return clearTimeout(y),g.ok?g.entries:(P.push(C||m),null)});}catch{return}if(!T)return;let R=[];for(let d of T){let y=c.join(m,d.name),g=c.relative(e,y);if(!(F&&F(g))){if(d.isDirectory()){if(x.has(d.name)||k.has(d.name))continue;a.push({absPath:y,relPath:g,name:d.name,isFile:false,isDirectory:true}),R.push(w(y));}else if(d.isFile()){let v=c.extname(d.name).toLowerCase();if(S.has(v))continue;a.push({absPath:y,relPath:g,name:d.name,isFile:true,isDirectory:false}),r++,t&&r-o>=n&&(o=r,t(r,g));}}}await Promise.all(R);}await w(e);let _=0,b=new Map;for(let m of a){if(m.isDirectory&&_++,!m.isFile)continue;let C=b.get(m.name);C?C.push(m.absPath):b.set(m.name,[m.absPath]);}return this.walkSummary.set(e,{totalFiles:r,totalDirs:_}),this.fileNameIndex.set(e,b),t&&r!==o&&t(r,""),a}async findFiles(e,t){return (await this.walkDir(e)).filter(i=>i.isFile&&t(i.name)).map(i=>i.absPath)}async findPackageJsonFiles(e){return await this.walkDir(e),this.fileNameIndex.get(e)?.get("package.json")??[]}async findCsprojFiles(e){return (await this.walkDir(e)).filter(a=>a.isFile&&a.name.endsWith(".csproj")).map(a=>a.absPath)}async findSolutionFiles(e){return (await this.walkDir(e)).filter(a=>a.isFile&&a.name.endsWith(".sln")).map(a=>a.absPath)}async countFilesUnder(e,t){let a=this.walkCache.get(e);if(!a)return I(t);let i=await a,l=t.endsWith(c.sep)?t:t+c.sep,r=0;for(let o of i)o.isFile&&(o.absPath===t||o.absPath.startsWith(l))&&r++;return r}statSize(e){let t=this.sizeCache.get(e);if(t)return t;let a=this.sizeSem.run(async()=>{try{return (await u.stat(e)).size}catch{return 0}});return this.sizeCache.set(e,a),a}async bytesUnder(e,t){let a=this.walkCache.get(e);if(!a)return W(t);let i=await a,l=t.endsWith(c.sep)?t:t+c.sep;return (await Promise.all(i.filter(o=>o.isFile&&(o.absPath===t||o.absPath.startsWith(l))).map(o=>this.statSize(o.absPath)))).reduce((o,n)=>o+n,0)}async sourceMetricsUnder(e,t){let a=this.walkCache.get(e);if(!a){let[n,h]=await Promise.all([I(t),W(t)]);return {fileCount:n,sizeBytes:h}}let i=await a,l=t.endsWith(c.sep)?t:t+c.sep,r=i.filter(n=>n.isFile&&(n.absPath===t||n.absPath.startsWith(l))&&!H.has(n.name.toLowerCase())),o=await Promise.all(r.map(n=>this.statSize(n.absPath)));return {fileCount:r.length,sizeBytes:o.reduce((n,h)=>n+h,0)}}readTextFile(e){let t=c.resolve(e),a=this.textCache.get(t);if(a)return a;let i=this._maxFileSize,l=this._skippedLargeFiles,r=this._rootDir,o=(async()=>{if(i>0)try{if((await u.stat(t)).size>i){let f=r?c.relative(r,t):t;return l.push(f),this.textCache.delete(t),""}}catch{}let n=await u.readFile(t,"utf8");return n.length>G&&this.textCache.delete(t),n})();return this.textCache.set(t,o),o}readJsonFile(e){let t=c.resolve(e),a=this.jsonCache.get(t);if(a)return a;let i=this.readTextFile(t).then(l=>(this.textCache.delete(t),JSON.parse(J(l))));return this.jsonCache.set(t,i),i}pathExists(e){let t=c.resolve(e),a=this.existsCache.get(t);if(a)return a;let i=u.access(t).then(()=>true,()=>false);return this.existsCache.set(t,i),i}clear(){this.walkCache.clear(),this.walkSummary.clear(),this.fileNameIndex.clear(),this.textCache.clear(),this.jsonCache.clear(),this.existsCache.clear(),this.sizeCache.clear();}get textCacheSize(){return this.textCache.size}get jsonCacheSize(){return this.jsonCache.size}};async function se(s,e){let t=await Y(s,e);if(t)return t;let a=0,i=0,l=typeof p.availableParallelism=="function"?p.availableParallelism():p.cpus().length||4,r=Math.max(8,Math.min(128,l*8)),o=new j(r),n=z,h=e?N(e):null;async function f(k){let F;try{F=await o.run(()=>u.readdir(k,{withFileTypes:!0}));}catch{return}let P=[];for(let w of F){let _=c.relative(s,c.join(k,w.name));if(!(h&&h(_))){if(w.isDirectory()){if(x.has(w.name)||n.has(w.name))continue;i++,P.push(f(c.join(k,w.name)));}else if(w.isFile()){let b=c.extname(w.name).toLowerCase();S.has(b)||a++;}}}await Promise.all(P);}return await f(s),{totalFiles:a,totalDirs:i}}function V(s){return s.replace(/\\/g,"/")}async function Y(s,e){let t=["--files","--hidden","--no-ignore","--null"];for(let a of x)t.push("-g",`!**/${a}/**`);for(let a of z)t.push("-g",`!**/${a}/**`);for(let a of S)t.push("-g",`!**/*${a}`);for(let a of e??[]){let i=a.trim();i&&t.push("-g",`!${V(i)}`);}try{let{stdout:a}=await K("rg",t,{cwd:s,maxBuffer:67108864,encoding:"utf8"});if(!a)return {totalFiles:0,totalDirs:0};let i=a.split("\0").filter(Boolean),l=new Set;for(let r of i){let o=c.dirname(r);o&&o!=="."&&l.add(o);}return {totalFiles:i.length,totalDirs:l.size}}catch{return null}}async function I(s,e=true){let t=0,a=new Set(["obj","bin","Debug","Release","TestResults"]);async function i(l){let r;try{r=await u.readdir(l,{withFileTypes:!0});}catch{return}let o=[];for(let n of r)if(n.isDirectory()){if(!e||x.has(n.name)||a.has(n.name))continue;o.push(i(c.join(l,n.name)));}else if(n.isFile()){let h=c.extname(n.name).toLowerCase();S.has(h)||t++;}await Promise.all(o);}return await i(s),t}async function W(s,e=true){let t=0,a=new Set(["obj","bin","Debug","Release","TestResults"]);async function i(l){let r;try{r=await u.readdir(l,{withFileTypes:!0});}catch{return}let o=[];for(let n of r)if(n.isDirectory()){if(!e||x.has(n.name)||a.has(n.name))continue;o.push(i(c.join(l,n.name)));}else if(n.isFile()){let h=c.extname(n.name).toLowerCase();if(S.has(h))continue;try{let f=await u.stat(c.join(l,n.name));t+=f.size;}catch{}}await Promise.all(o);}return await i(s),t}async function E(s,e){let t=[],a=typeof p.availableParallelism=="function"?p.availableParallelism():p.cpus().length||4,i=Math.max(8,Math.min(64,a*4)),l=new j(i);async function r(o){let n;try{n=await l.run(()=>u.readdir(o,{withFileTypes:!0}));}catch{return}let h=[];for(let f of n)if(f.isDirectory()){if(x.has(f.name))continue;h.push(r(c.join(o,f.name)));}else if(f.isFile()&&e(f.name)){let k=c.extname(f.name).toLowerCase();S.has(k)||t.push(c.join(o,f.name));}await Promise.all(h);}return await r(s),t}async function ae(s){return E(s,e=>e==="package.json")}async function ie(s){return E(s,e=>e.endsWith(".sln"))}async function ne(s){return E(s,e=>e.endsWith(".csproj"))}function J(s){return s.charCodeAt(0)===65279?s.slice(1):s}async function re(s){let e=await u.readFile(s,"utf8");return JSON.parse(J(e))}async function oe(s){return u.readFile(s,"utf8")}async function ce(s){try{return await u.access(s),!0}catch{return false}}async function O(s){await u.mkdir(s,{recursive:true});}async function le(s,e){await O(c.dirname(s)),await u.writeFile(s,JSON.stringify(e,null,2)+`
2
- `,"utf8");}async function ue(s,e){await O(c.dirname(s)),await u.writeFile(s,e,"utf8");}export{j as a,ee as b,N as c,te as d,se as e,V as f,I as g,W as h,E as i,ae as j,ie as k,ne as l,J as m,re as n,oe as o,ce as p,O as q,le as r,ue as s};
@@ -1 +0,0 @@
1
- export{U as BANDED_RATES,V as BAND_EDGES,h as BENCHMARK_COHORT_MIN,m as COMPLIANCE_THRESHOLDS,b as DRIFT_COLORS,a as DRIFT_THRESHOLDS,W as FREE_BILLABLE_CAP,q as RISK_SCORE_METHODOLOGY_VERSION,Y as advancedScanHook,J as aggregateSolutionArchitecture,v as analyzeCompliance,u as analyzeComplianceOffline,o as buildComplianceReport,j as buildExecutiveReport,H as buildProjectArchitectureMermaid,n as complianceState,X as computePrice,r as computeRiskScore,f as deltaTone,c as driftBand,e as driftBandLabel,d as driftColor,k as escapeHtml,S as findProjectFavicon,w as formatComplianceMarkdown,g as formatDeltaChip,s as inferProjectPurpose,i as quarterLabel,t as recommendStandards,p as renderComplianceReportHtml,l as renderExecutiveReportHtml,Z as runScan,P as scanApiSurface,K as scanArchitecture,R as scanAssetBranding,D as scanBreakingChangeExposure,B as scanBuildDeploy,L as scanCodeQuality,O as scanDataStores,z as scanDependencyGraph,y as scanDependencyRisk,E as scanFileHotspots,Q as scanOperationalResilience,T as scanOssGovernance,x as scanPlatformMatrix,I as scanProjectArchitecture,N as scanRuntimeConfiguration,F as scanSecurityPosture,G as scanServiceDependencies,A as scanToolingInventory,C as scanTsModernity,M as scanUiPurpose}from'./chunk-GGDB72YE.js';export{Ua as CargoCache,Va as ComposerCache,Ia as DEFAULT_CRA_SLA_DAYS,xa as DEFAULT_MAX_COMMITS,n as DRIFT_SCORE_AMBER_MAX,m as DRIFT_SCORE_GREEN_MAX,h as DRIFT_SCORE_METHODOLOGY_VERSION,Ta as GoCache,p as LABEL_BACKGROUND,Y as MICRO_BILLING_RATIO,T as MICRO_MAX_DEPENDENCIES,R as MICRO_MAX_FILES,S as MICRO_MAX_SIZE_BYTES,Qa as MavenCache,X as NANO_BILLING_RATIO,Q as NANO_MAX_DEPENDENCIES,O as NANO_MAX_FILES,P as NANO_MAX_SIZE_BYTES,x as NpmCache,Oa as NuGetCache,Wa as PubCache,Pa as PyPICache,Ra as RubyGemsCache,Z as SMALL_BILLING_RATIO,W as SMALL_MAX_DEPENDENCIES,U as SMALL_MAX_FILES,V as SMALL_MAX_SIZE_BYTES,_ as STANDARD_BILLING_RATIO,o as STATUS_COLOURS,Sa as SwiftCache,ma as VULN_RULE_ID,d as ageDaysBetween,f as aggregateLibyears,La as analyzeExposureWindows,oa as analyzeUsage,c as appendExcludePatterns,Na as attributeVulnerabilities,Fa as buildVersionTimelines,y as checkRegistryAccess,ba as classificationBillingWeight,$ as classifyProject,ia as collectVulnTargets,db as compactUiPurpose,Ma as computeCra,i as computeDriftScore,k as computeProjectId,ib as computeRepoFingerprint,l as computeSolutionId,jb as computeTreeMetadataHash,qa as computeUpgradeImpact,pa as computeVersionJump,da as cvssV3BaseScore,e as daysToLibyears,Xa as detectVcs,q as driftBadgeStatusFromScore,ra as extractBreakingSignals,cb as fetchLatestVersion,gb as fetchScanPreflight,Ca as fileAtCommit,Ba as fileCommits,Ka as findIntroduced,Ha as findPackageAnyEcosystem,Ga as findPackageTimeline,_a as findVersionCrossings,r as formatDriftBadgeScore,v as formatMarkdown,u as formatSarif,t as formatText,g as freshnessScoreFromLibyears,j as generateFindings,ab as generateProjectRelationshipMermaid,bb as generateSolutionRelationshipMermaid,na as generateVulnerabilityFindings,$a as generateWorkspaceRelationshipMermaid,wa as getChangelogSignals,za as gitHistoryAvailable,ua as inUpgradeRange,Ja as isAffectedByAdvisory,ja as isVersionAffected,a as loadConfig,w as loadPackageVersionManifest,aa as normalizeClassification,Ya as normalizeConstraint,ga as normalizeSeverityLabel,fb as parseDsn,sa as parseGitHubRepo,Ea as parseLockfile,Da as parseNpmLockfile,ka as parseOsvAdvisory,eb as prepareCompressedUpload,ha as projectTypeToVulnEcosystem,Aa as resolveHead,hb as resolveRepositoryName,ya as resolveToplevel,kb as runCoreScan,I as scanDartProjects,K as scanDockerProjects,A as scanDotnetProjects,J as scanElixirProjects,F as scanGoProjects,L as scanHelmProjects,C as scanJavaProjects,z as scanNodeProjects,H as scanPhpProjects,N as scanPolyglotProjects,B as scanPythonProjects,D as scanRubyProjects,G as scanRustProjects,E as scanSwiftProjects,M as scanTerraformProjects,la as scanVulnerabilities,ea as severityFromCvss,fa as severityRank,va as signalsFromReleases,s as statusColour,ca as summarizeBilling,ta as versionFromTag,Za as versionSatisfies,b as writeDefaultConfig}from'./chunk-OQSVJXWJ.js';import'./chunk-MKDRULJ6.js';export{d as FileCache,a as Semaphore,c as compileGlobs,q as ensureDir,i as findFiles,j as findPackageJsonFiles,b as parseExcludePatterns,p as pathExists,e as quickTreeCount,n as readJsonFile,o as readTextFile,r as writeJsonFile,s as writeTextFile}from'./chunk-XTHPCEME.js';import'./chunk-EK7ODJWE.js';
@@ -1 +0,0 @@
1
- export{d as FileCache,h as bytesInDir,g as countFilesInDir,q as ensureDir,l as findCsprojFiles,i as findFiles,j as findPackageJsonFiles,k as findSolutionFiles,f as normalizeGlobForRipgrep,p as pathExists,e as quickTreeCount,n as readJsonFile,o as readTextFile,m as stripBom,r as writeJsonFile,s as writeTextFile}from'./chunk-XTHPCEME.js';import'./chunk-EK7ODJWE.js';
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }
@@ -1,450 +0,0 @@
1
- /* @ts-self-types="./vibgrate_hcs_wasm.d.ts" */
2
-
3
- /**
4
- * Derive behavioural facts from JSON array of FactEnvelopes.
5
- * `options_json`: `{ scanId, applicationId, emittedAt? }`
6
- * Returns JSON array of output envelopes.
7
- * @param {string} ir_json
8
- * @param {string} options_json
9
- * @returns {string}
10
- */
11
- function derive_behavioural_facts(ir_json, options_json) {
12
- let deferred4_0;
13
- let deferred4_1;
14
- try {
15
- const ptr0 = passStringToWasm0(ir_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
16
- const len0 = WASM_VECTOR_LEN;
17
- const ptr1 = passStringToWasm0(options_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
18
- const len1 = WASM_VECTOR_LEN;
19
- const ret = wasm.derive_behavioural_facts(ptr0, len0, ptr1, len1);
20
- var ptr3 = ret[0];
21
- var len3 = ret[1];
22
- if (ret[3]) {
23
- ptr3 = 0; len3 = 0;
24
- throw takeFromExternrefTable0(ret[2]);
25
- }
26
- deferred4_0 = ptr3;
27
- deferred4_1 = len3;
28
- return getStringFromWasm0(ptr3, len3);
29
- } finally {
30
- wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
31
- }
32
- }
33
- exports.derive_behavioural_facts = derive_behavioural_facts;
34
-
35
- /**
36
- * Derive behavioural facts from raw NDJSON lines (compressed or plain).
37
- * `lines_json`: JSON array of NDJSON line strings.
38
- * @param {string} lines_json
39
- * @param {string} options_json
40
- * @returns {string}
41
- */
42
- function derive_behavioural_facts_from_lines(lines_json, options_json) {
43
- let deferred4_0;
44
- let deferred4_1;
45
- try {
46
- const ptr0 = passStringToWasm0(lines_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
47
- const len0 = WASM_VECTOR_LEN;
48
- const ptr1 = passStringToWasm0(options_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
49
- const len1 = WASM_VECTOR_LEN;
50
- const ret = wasm.derive_behavioural_facts_from_lines(ptr0, len0, ptr1, len1);
51
- var ptr3 = ret[0];
52
- var len3 = ret[1];
53
- if (ret[3]) {
54
- ptr3 = 0; len3 = 0;
55
- throw takeFromExternrefTable0(ret[2]);
56
- }
57
- deferred4_0 = ptr3;
58
- deferred4_1 = len3;
59
- return getStringFromWasm0(ptr3, len3);
60
- } finally {
61
- wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
62
- }
63
- }
64
- exports.derive_behavioural_facts_from_lines = derive_behavioural_facts_from_lines;
65
-
66
- /**
67
- * Extract HCS facts from source text (text languages). `request_json` is an
68
- * `ExtractRequest`; returns NDJSON of `FactEnvelope` records.
69
- * @param {string} request_json
70
- * @returns {string}
71
- */
72
- function extract_facts(request_json) {
73
- let deferred3_0;
74
- let deferred3_1;
75
- try {
76
- const ptr0 = passStringToWasm0(request_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
77
- const len0 = WASM_VECTOR_LEN;
78
- const ret = wasm.extract_facts(ptr0, len0);
79
- var ptr2 = ret[0];
80
- var len2 = ret[1];
81
- if (ret[3]) {
82
- ptr2 = 0; len2 = 0;
83
- throw takeFromExternrefTable0(ret[2]);
84
- }
85
- deferred3_0 = ptr2;
86
- deferred3_1 = len2;
87
- return getStringFromWasm0(ptr2, len2);
88
- } finally {
89
- wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
90
- }
91
- }
92
- exports.extract_facts = extract_facts;
93
-
94
- /**
95
- * Extract HCS facts from a host-produced normalized AST (AST languages such as
96
- * TypeScript/JavaScript). `request_json` is an `AstRequest`; returns NDJSON of
97
- * `FactEnvelope` records. The host parses with the language compiler and emits
98
- * the IR; the confidential extraction happens here.
99
- * @param {string} request_json
100
- * @returns {string}
101
- */
102
- function extract_facts_from_ast(request_json) {
103
- let deferred3_0;
104
- let deferred3_1;
105
- try {
106
- const ptr0 = passStringToWasm0(request_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
107
- const len0 = WASM_VECTOR_LEN;
108
- const ret = wasm.extract_facts_from_ast(ptr0, len0);
109
- var ptr2 = ret[0];
110
- var len2 = ret[1];
111
- if (ret[3]) {
112
- ptr2 = 0; len2 = 0;
113
- throw takeFromExternrefTable0(ret[2]);
114
- }
115
- deferred3_0 = ptr2;
116
- deferred3_1 = len2;
117
- return getStringFromWasm0(ptr2, len2);
118
- } finally {
119
- wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
120
- }
121
- }
122
- exports.extract_facts_from_ast = extract_facts_from_ast;
123
-
124
- /**
125
- * REQ-015 — Build the System Map (`hcs-map/1.0`) from an HCS NDJSON fact stream.
126
- *
127
- * `ndjson` — complete NDJSON text from `vibgrate hcs extract`.
128
- * `options_json` — `{"format":"json|md|mermaid","profile":"integration|migration|governance","generatedAt":"<iso>"}`
129
- * @param {string} ndjson
130
- * @param {string} options_json
131
- * @returns {string}
132
- */
133
- function hcs_build_map(ndjson, options_json) {
134
- let deferred4_0;
135
- let deferred4_1;
136
- try {
137
- const ptr0 = passStringToWasm0(ndjson, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
138
- const len0 = WASM_VECTOR_LEN;
139
- const ptr1 = passStringToWasm0(options_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
140
- const len1 = WASM_VECTOR_LEN;
141
- const ret = wasm.hcs_build_map(ptr0, len0, ptr1, len1);
142
- var ptr3 = ret[0];
143
- var len3 = ret[1];
144
- if (ret[3]) {
145
- ptr3 = 0; len3 = 0;
146
- throw takeFromExternrefTable0(ret[2]);
147
- }
148
- deferred4_0 = ptr3;
149
- deferred4_1 = len3;
150
- return getStringFromWasm0(ptr3, len3);
151
- } finally {
152
- wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
153
- }
154
- }
155
- exports.hcs_build_map = hcs_build_map;
156
-
157
- /**
158
- * REQ-017c — Evaluate the continuous governance gate by diffing two fact streams.
159
- *
160
- * `before_ndjson` / `after_ndjson` — baseline and current HCS fact streams.
161
- * `options_json` — `{"format":"json|text|sarif","policy":{...}}`
162
- * @param {string} before_ndjson
163
- * @param {string} after_ndjson
164
- * @param {string} options_json
165
- * @returns {string}
166
- */
167
- function hcs_evaluate_gate(before_ndjson, after_ndjson, options_json) {
168
- let deferred5_0;
169
- let deferred5_1;
170
- try {
171
- const ptr0 = passStringToWasm0(before_ndjson, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
172
- const len0 = WASM_VECTOR_LEN;
173
- const ptr1 = passStringToWasm0(after_ndjson, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
174
- const len1 = WASM_VECTOR_LEN;
175
- const ptr2 = passStringToWasm0(options_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
176
- const len2 = WASM_VECTOR_LEN;
177
- const ret = wasm.hcs_evaluate_gate(ptr0, len0, ptr1, len1, ptr2, len2);
178
- var ptr4 = ret[0];
179
- var len4 = ret[1];
180
- if (ret[3]) {
181
- ptr4 = 0; len4 = 0;
182
- throw takeFromExternrefTable0(ret[2]);
183
- }
184
- deferred5_0 = ptr4;
185
- deferred5_1 = len4;
186
- return getStringFromWasm0(ptr4, len4);
187
- } finally {
188
- wasm.__wbindgen_free(deferred5_0, deferred5_1, 1);
189
- }
190
- }
191
- exports.hcs_evaluate_gate = hcs_evaluate_gate;
192
-
193
- /**
194
- * Render HCS NDJSON facts as Markdown, JSON, or HTML.
195
- *
196
- * `ndjson` — complete NDJSON text from `vibgrate hcs extract`.
197
- * `options_json` — JSON object: `{"format":"md|json|html","level":"concise|full","title":"..."}`
198
- * @param {string} ndjson
199
- * @param {string} options_json
200
- * @returns {string}
201
- */
202
- function hcs_render_digest(ndjson, options_json) {
203
- let deferred4_0;
204
- let deferred4_1;
205
- try {
206
- const ptr0 = passStringToWasm0(ndjson, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
207
- const len0 = WASM_VECTOR_LEN;
208
- const ptr1 = passStringToWasm0(options_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
209
- const len1 = WASM_VECTOR_LEN;
210
- const ret = wasm.hcs_render_digest(ptr0, len0, ptr1, len1);
211
- var ptr3 = ret[0];
212
- var len3 = ret[1];
213
- if (ret[3]) {
214
- ptr3 = 0; len3 = 0;
215
- throw takeFromExternrefTable0(ret[2]);
216
- }
217
- deferred4_0 = ptr3;
218
- deferred4_1 = len3;
219
- return getStringFromWasm0(ptr3, len3);
220
- } finally {
221
- wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
222
- }
223
- }
224
- exports.hcs_render_digest = hcs_render_digest;
225
-
226
- /**
227
- * Engine version (matches the crate version).
228
- * @returns {string}
229
- */
230
- function hcs_version() {
231
- let deferred1_0;
232
- let deferred1_1;
233
- try {
234
- const ret = wasm.hcs_version();
235
- deferred1_0 = ret[0];
236
- deferred1_1 = ret[1];
237
- return getStringFromWasm0(ret[0], ret[1]);
238
- } finally {
239
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
240
- }
241
- }
242
- exports.hcs_version = hcs_version;
243
-
244
- /**
245
- * @param {string} source
246
- * @param {string} _lang
247
- * @returns {string}
248
- */
249
- function hxl_hash_expr(source, _lang) {
250
- let deferred4_0;
251
- let deferred4_1;
252
- try {
253
- const ptr0 = passStringToWasm0(source, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
254
- const len0 = WASM_VECTOR_LEN;
255
- const ptr1 = passStringToWasm0(_lang, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
256
- const len1 = WASM_VECTOR_LEN;
257
- const ret = wasm.hxl_hash_expr(ptr0, len0, ptr1, len1);
258
- var ptr3 = ret[0];
259
- var len3 = ret[1];
260
- if (ret[3]) {
261
- ptr3 = 0; len3 = 0;
262
- throw takeFromExternrefTable0(ret[2]);
263
- }
264
- deferred4_0 = ptr3;
265
- deferred4_1 = len3;
266
- return getStringFromWasm0(ptr3, len3);
267
- } finally {
268
- wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
269
- }
270
- }
271
- exports.hxl_hash_expr = hxl_hash_expr;
272
-
273
- /**
274
- * Languages this WASM slice extracts today.
275
- * @returns {string}
276
- */
277
- function supported_languages() {
278
- let deferred1_0;
279
- let deferred1_1;
280
- try {
281
- const ret = wasm.supported_languages();
282
- deferred1_0 = ret[0];
283
- deferred1_1 = ret[1];
284
- return getStringFromWasm0(ret[0], ret[1]);
285
- } finally {
286
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
287
- }
288
- }
289
- exports.supported_languages = supported_languages;
290
-
291
- /**
292
- * Validate raw NDJSON lines (compressed or plain): decompress, then validate.
293
- * `lines_json`: a JSON array of NDJSON line strings.
294
- * @param {string} lines_json
295
- * @returns {string}
296
- */
297
- function validate_lines_json(lines_json) {
298
- let deferred3_0;
299
- let deferred3_1;
300
- try {
301
- const ptr0 = passStringToWasm0(lines_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
302
- const len0 = WASM_VECTOR_LEN;
303
- const ret = wasm.validate_lines_json(ptr0, len0);
304
- var ptr2 = ret[0];
305
- var len2 = ret[1];
306
- if (ret[3]) {
307
- ptr2 = 0; len2 = 0;
308
- throw takeFromExternrefTable0(ret[2]);
309
- }
310
- deferred3_0 = ptr2;
311
- deferred3_1 = len2;
312
- return getStringFromWasm0(ptr2, len2);
313
- } finally {
314
- wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
315
- }
316
- }
317
- exports.validate_lines_json = validate_lines_json;
318
-
319
- /**
320
- * Validate a model passed as a JSON array (or NDJSON lines joined as a JSON
321
- * array of objects). Returns the ValidationReport as JSON.
322
- * @param {string} model_json
323
- * @returns {string}
324
- */
325
- function validate_model_json(model_json) {
326
- let deferred3_0;
327
- let deferred3_1;
328
- try {
329
- const ptr0 = passStringToWasm0(model_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
330
- const len0 = WASM_VECTOR_LEN;
331
- const ret = wasm.validate_model_json(ptr0, len0);
332
- var ptr2 = ret[0];
333
- var len2 = ret[1];
334
- if (ret[3]) {
335
- ptr2 = 0; len2 = 0;
336
- throw takeFromExternrefTable0(ret[2]);
337
- }
338
- deferred3_0 = ptr2;
339
- deferred3_1 = len2;
340
- return getStringFromWasm0(ptr2, len2);
341
- } finally {
342
- wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
343
- }
344
- }
345
- exports.validate_model_json = validate_model_json;
346
- function __wbg_get_imports() {
347
- const import0 = {
348
- __proto__: null,
349
- __wbg_Error_fdd633d4bb5dd76a: function(arg0, arg1) {
350
- const ret = Error(getStringFromWasm0(arg0, arg1));
351
- return ret;
352
- },
353
- __wbindgen_init_externref_table: function() {
354
- const table = wasm.__wbindgen_externrefs;
355
- const offset = table.grow(4);
356
- table.set(0, undefined);
357
- table.set(offset + 0, undefined);
358
- table.set(offset + 1, null);
359
- table.set(offset + 2, true);
360
- table.set(offset + 3, false);
361
- },
362
- };
363
- return {
364
- __proto__: null,
365
- "./vibgrate_hcs_wasm_bg.js": import0,
366
- };
367
- }
368
-
369
- function getStringFromWasm0(ptr, len) {
370
- return decodeText(ptr >>> 0, len);
371
- }
372
-
373
- let cachedUint8ArrayMemory0 = null;
374
- function getUint8ArrayMemory0() {
375
- if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
376
- cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
377
- }
378
- return cachedUint8ArrayMemory0;
379
- }
380
-
381
- function passStringToWasm0(arg, malloc, realloc) {
382
- if (realloc === undefined) {
383
- const buf = cachedTextEncoder.encode(arg);
384
- const ptr = malloc(buf.length, 1) >>> 0;
385
- getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
386
- WASM_VECTOR_LEN = buf.length;
387
- return ptr;
388
- }
389
-
390
- let len = arg.length;
391
- let ptr = malloc(len, 1) >>> 0;
392
-
393
- const mem = getUint8ArrayMemory0();
394
-
395
- let offset = 0;
396
-
397
- for (; offset < len; offset++) {
398
- const code = arg.charCodeAt(offset);
399
- if (code > 0x7F) break;
400
- mem[ptr + offset] = code;
401
- }
402
- if (offset !== len) {
403
- if (offset !== 0) {
404
- arg = arg.slice(offset);
405
- }
406
- ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
407
- const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
408
- const ret = cachedTextEncoder.encodeInto(arg, view);
409
-
410
- offset += ret.written;
411
- ptr = realloc(ptr, len, offset, 1) >>> 0;
412
- }
413
-
414
- WASM_VECTOR_LEN = offset;
415
- return ptr;
416
- }
417
-
418
- function takeFromExternrefTable0(idx) {
419
- const value = wasm.__wbindgen_externrefs.get(idx);
420
- wasm.__externref_table_dealloc(idx);
421
- return value;
422
- }
423
-
424
- let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
425
- cachedTextDecoder.decode();
426
- function decodeText(ptr, len) {
427
- return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
428
- }
429
-
430
- const cachedTextEncoder = new TextEncoder();
431
-
432
- if (!('encodeInto' in cachedTextEncoder)) {
433
- cachedTextEncoder.encodeInto = function (arg, view) {
434
- const buf = cachedTextEncoder.encode(arg);
435
- view.set(buf);
436
- return {
437
- read: arg.length,
438
- written: buf.length
439
- };
440
- };
441
- }
442
-
443
- let WASM_VECTOR_LEN = 0;
444
-
445
- const wasmPath = `${__dirname}/vibgrate_hcs_wasm_bg.wasm`;
446
- const wasmBytes = require('fs').readFileSync(wasmPath);
447
- const wasmModule = new WebAssembly.Module(wasmBytes);
448
- let wasmInstance = new WebAssembly.Instance(wasmModule, __wbg_get_imports());
449
- let wasm = wasmInstance.exports;
450
- wasm.__wbindgen_start();