Lines 1-23javascript
2import{createRequire as gi}from"node:module";var si=Object.defineProperty;var ci=(o)=>o;function li(o,n){this[o]=ci.bind(null,n)}var z=(o,n)=>{for(var t in n)si(o,t,{get:n[t],enumerable:!0,configurable:!0,set:li.bind(n,t)})};var O=(o,n)=>()=>(o&&(n=o(o=0)),n);var Q=gi(import.meta.url);var lo={};z(lo,{rotateFile:()=>on,readSignals:()=>j,createJsonlAdapter:()=>$i,appendSignal:()=>hn});import{existsSync as nn,mkdirSync as fi,statSync as mi,readFileSync as so,writeFileSync as dn,renameSync as co,unlinkSync as ui}from"fs";import{dirname as ai}from"path";async function hn(o,n){let t=ai(o);if(!nn(t)) ...
3`,r=o+".tmp."+process.pid;dn(r,"");let e=nn(o)?so(o,"utf-8"):"";dn(r,e+i);try{co(r,o)}catch{try{ui(r)}catch{}throw Error(`Failed to atomically write signal to ${o}`)}}async function j(o,n){if(!nn(o))return[];let i=so(o,"utf-8").split(`
4`).filter((l)=>l.trim()),r=n?.offset??0,e=n?.limit!==void 0?r+n.limit:i.length,s=i.slice(r,e),c=[];for(let l of s)try{c.push(JSON.parse(l))}catch{}return c}async function on(o,n){if(!nn(o))return{rotated:!1};if(mi(o).size<=n)return{rotated:!1};let i=new Date().toISOString().replace(/[:.]/g,"-"),r=o+"."+i+".bak";return co(o,r),dn(o,""),{rotated:!0,archivePath:r}}function $i(){return{append:hn,read:j,rotate:on}}var q=()=>{};var zn={};z(zn,{statePath:()=>yi,stateDir:()=>N,signalsDir:()=>go,signalPath:()=>uo,rubricsDir:()=>mo,rubricPath:()=>di,resolveSignalDir:()=>h,projectStateDir:()=>ki,projectS ...
5`),i=n.dimensions.map((r)=>`"${r.name}": { "score": N, "reasoning": "..." }`).join(", ");return`You are evaluating the quality of AI-generated output.
8Input: ${wo(o.input,2000)}
9Output: ${wo(o.output,4000)}
12For each dimension, score 1-5 and provide brief reasoning:
15Return ONLY valid JSON:
16{${i}}`}function wo(o,n){return!o?"(empty)":o.length>n?o.slice(0,n)+"...":o}async function Li(o,n){let t={"Content-Type":"application/json"},i,r;if(n.provider
17`)+(o.length>0?`
LowWeak Crypto
Package source references weak cryptographic algorithms.
dist/agentgrit.jsView on unpkg · L3 18`:"")}function _i(o){return o.split(`
19`).filter((n)=>n.trim().length>0).map((n)=>{try{return JSON.parse(n)}catch{return null}}).filter((n)=>n!==null)}var ho=O(()=>{K()});var So={};z(So,{validateRubric:()=>ko,loadRubric:()=>Zi,composeRubrics:()=>Ti});import{readFileSync as Bi,existsSync as Vi}from"fs";function ko(o){let n=[];if(!o.version)n.push("missing version");if(typeof o.schemaVersion!=="number")n.push("missing or invalid schemaVersion");if(!Array.isArray(o.dimensions))return n.push("dimensions must be an array"),{valid:!1,errors:n};if(o.dimensions.length===0)n.push("dimensions must not be empty");let t=0,i=new Set;for(let e=0 ...
20`).find((l)=>l.startsWith("Assistant:"));if(c){let l=c.slice(11,80).trim();if(l.length>10&&!i.includes(l))i.push(l)}if(i.length>=2)break}let r=t.join("; "),e=i.length>
21`):JSON.stringify(s)}if(e.contents)t=JSON.stringify(e.contents)}else t=JSON.stringify(r)}return{systemPrompt:n.trim(),userPrompt:t.trim()}}var ln=null;var Bo=O(()=>{R()});var Vo={};z(Vo,{runReview:()=>An});import{existsSync as wr,readFileSync as Rr}from"fs";import{join as yr}from"path";function Ln(o){return o.toLowerCase().replace(/[^a-z0-9\s]/g,"").split(/\s+/).filter((n)=>n.length>1)}function dr(o,n){let t=Ln(o),i=Ln(n);if(t.length===0||i.length===0)return 0;let r=new Set(i);return t.filter((s)=>r.has(s)).length/Math.min(t.length,i.length)}function hr(o){let n=new Set(["the","is","at","of"," ...
22`)){let v=p.trim();if(!v)continue;try{let w=JSON.parse(v);if(typeof w.rating==="number")i.push({timestamp:w.timestamp??"",rating:w.rating,sentimentSummary:w.sentiment_summary??w.sentimentSummary})}catch{}}}let r=kr(i),e=0.4,s=3,c=4,l=i.filter((a)=>a.sentimentSummary),g
23`)){let r=i.indexOf(":");if(r===-1)continue;let e=i.slice(0,r).trim(),s=i.slice(r+1).trim();t[e]=s}return t}function fn(o){let n=o.toLowerCase();if(n.includes("hard stop")||n.includes("zero exceptions")||n.includes("critical"))return 5;if(n.includes("never")||n.includes("always")||n.includes("mandatory"))return 4;if(n.includes("must")||n.includes("required")||n.includes("important"))return 3;if(n.includes("should")||n.includes("prefer")||n.includes("typically"))return 2;return 1}function Tn(o){return br("md5").update(o).digest("hex").slice(0,8)}function mn(o,n,t){let i=`${o} ${n} ${t}`.toLower ...
Long lines were clipped for display.