@rulemetric/cli 0.12.1 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-CQARFIJB.js → chunk-2G4LYY6O.js} +1 -1
- package/dist/{chunk-3TSZ77FB.js → chunk-4XPH2EH4.js} +1 -1
- package/dist/{chunk-ADZ7HHCD.js → chunk-6LYWI22A.js} +1 -1
- package/dist/{chunk-7FY23IMS.js → chunk-ANSK2LTP.js} +1 -1
- package/dist/{chunk-NQSB4YVT.js → chunk-ATSZBAG5.js} +1 -1
- package/dist/{chunk-XLVOAGSG.js → chunk-BJSVATVJ.js} +1 -1
- package/dist/{chunk-BTKKWYIU.js → chunk-CJ4NG6FL.js} +1 -1
- package/dist/{chunk-RHVU6IFW.js → chunk-D3CZJ6CZ.js} +1 -1
- package/dist/{chunk-SCBOQFZ4.js → chunk-DPCAPIQB.js} +1 -1
- package/dist/{chunk-X5WOTWT4.js → chunk-EFLPMXJY.js} +1 -1
- package/dist/{chunk-TGIUOJUB.js → chunk-EINQYO2T.js} +1 -1
- package/dist/{chunk-HPN22ZIN.js → chunk-FI3YELW3.js} +1 -1
- package/dist/{chunk-7EKHB3U7.js → chunk-FLSDLFUE.js} +1 -1
- package/dist/{chunk-4QW5DQNL.js → chunk-FZ537XIW.js} +1 -1
- package/dist/chunk-IFLFSHMN.js +13 -0
- package/dist/{chunk-VXKBPESK.js → chunk-J7E4BQYZ.js} +1 -1
- package/dist/{chunk-CNOD6HWU.js → chunk-KJRMGTAO.js} +1 -1
- package/dist/{chunk-3737WF6X.js → chunk-N2AIDOYF.js} +1 -1
- package/dist/{chunk-NTKO4H2K.js → chunk-NF2BIEAF.js} +1 -1
- package/dist/{chunk-ZL5LUOBZ.js → chunk-PHO4W7UH.js} +1 -1
- package/dist/chunk-QBNLZJIR.js +6 -0
- package/dist/{chunk-XRTZU7IZ.js → chunk-RIVEBBZC.js} +1 -1
- package/dist/{chunk-JPW4LP2O.js → chunk-UK7BR6XM.js} +1 -1
- package/dist/{chunk-E7BOAZ3X.js → chunk-V6IYMQL6.js} +2 -2
- package/dist/{chunk-C7HW36P5.js → chunk-YS5UJKK5.js} +1 -1
- package/dist/{chunk-OZRUGBN5.js → chunk-YYM2TW2D.js} +1 -1
- package/dist/{chunk-GJKHHZSQ.js → chunk-ZHYCFUGJ.js} +1 -1
- package/dist/{chunk-OASW7DOD.js → chunk-ZSOYH7FX.js} +1 -1
- package/dist/commands/diagnostics.js +1 -1
- package/dist/commands/evals/agent.js +1 -1
- package/dist/commands/evals/auto-run.js +1 -1
- package/dist/commands/evals/optimize.js +1 -1
- package/dist/commands/evals/refine-cases.js +1 -1
- package/dist/commands/evals/run.js +1 -1
- package/dist/commands/evals/validate-judge.js +1 -1
- package/dist/commands/setup.js +1 -1
- package/dist/lib/agent-loop.js +1 -1
- package/dist/lib/codex-exec.js +1 -1
- package/dist/lib/eval-candidate-run.js +1 -1
- package/dist/lib/eval-case-generator.js +1 -1
- package/dist/lib/eval-conversation-handler.js +1 -1
- package/dist/lib/eval-grader.js +1 -1
- package/dist/lib/eval-resume.js +1 -1
- package/dist/lib/eval-run-batch.js +1 -1
- package/dist/lib/evolution-enrolment.js +1 -1
- package/dist/lib/insights/generation/prompts.js +1 -1
- package/dist/lib/instruction-proposer.js +1 -1
- package/dist/lib/jobs/handlers/cron-eval-autorun.js +1 -1
- package/dist/lib/jobs/handlers/cron-instruction-evolution.js +1 -1
- package/dist/lib/jobs/handlers/cron-refine-cases.js +1 -1
- package/dist/lib/jobs/handlers/cron-refresh-pricing.js +1 -1
- package/dist/lib/jobs/handlers/cron-suggest-instructions.js +1 -1
- package/dist/lib/jobs/handlers/distill-memories.js +1 -1
- package/dist/lib/jobs/handlers/process-conversation.js +1 -1
- package/dist/lib/jobs/handlers/process-eval.js +1 -1
- package/dist/lib/jobs/handlers/process-insights.js +1 -1
- package/dist/lib/jobs/handlers/process-judge-review.js +1 -1
- package/dist/lib/jobs/handlers/process-memory-ab.js +1 -1
- package/dist/lib/jobs/handlers/process-session-goal.js +1 -1
- package/dist/lib/judge-review-runner.js +1 -1
- package/dist/lib/llm-client.js +1 -1
- package/dist/lib/manual-tasks.js +1 -1
- package/dist/lib/refine-cases.js +1 -1
- package/dist/lib/reviewer-detect.js +1 -1
- package/dist/lib/setup-steps.js +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +6 -6
- package/dist/chunk-B3BHB26P.js +0 -6
- package/dist/chunk-NIEP5G3T.js +0 -13
package/dist/chunk-NIEP5G3T.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import{a as I}from"./chunk-5RBLIVBF.js";import{a as j,d as A}from"./chunk-3UKZJAFS.js";import{c as x}from"./chunk-L6NQNVK2.js";import{a as T,b as R,c as L,d as P}from"./chunk-E7BOAZ3X.js";import{a as H}from"./chunk-UK5JOTMW.js";import{c as D,d as J,f as S}from"./chunk-B3BHB26P.js";import{e as _,f as F,h as g}from"./chunk-GP46IPK2.js";import{a as z}from"./chunk-DS4P5C4F.js";import{a as p}from"./chunk-ZLLER3HP.js";var U=p((l,{limit:a,sort:n,eventTypes:s})=>_(`/api/sessions/${l}/events?limit=${a}&sort=${n}&eventType=${encodeURIComponent(s.join(","))}&hasContent=true`),"fetchTranscriptTurns");async function rs(l,a){let{mirrorId:n,projectPath:s,projectId:r,config:u}=l,t=p(e=>a.logger.info(e),"log");if(u?.sessionId)return V({mirrorId:n,sessionId:u.sessionId},t);t(`Processing insights job ${n}...`),await g(`/api/insights-jobs/${n}/progress`,{status:"running",progress:{step:"reading_data"}});try{let{repaired:e}=await F("/api/sessions/repair-analyzed-at",{});e>0&&t(` Repaired analyzed_at on ${e} orphan session(s).`)}catch(e){t(` Warning: analyzed_at repair failed: ${e instanceof Error?e.message:String(e)}`)}let m=20,$=200,v=15*6e4,G=3,C=Date.now()+v;if(J()!=="none"){let e=0,i=0;try{for(;e<$&&Date.now()<C;){let c=await _(`/api/sessions?needsFacets=true&graderVersion=${2}&limit=${m}&offset=${i}`);if(c.length===0)break;t(` Generating facets for ${c.length} un-analyzed sessions (drained ${e} so far)...`);for(let f=0;f<c.length&&!(e>=$||Date.now()>=C);f+=G){let b=c.slice(f,f+G);await Promise.all(b.map(async y=>{if(!(e>=$||Date.now()>=C))try{let d=await A(B=>U(y.id,B));if(d.turnCount<2){e++,i++;return}let k=await S(P,d.text,4096);k&&typeof k.outcome=="string"?(await g(`/api/sessions/${y.id}/enrich`,{analysis:{source:"generated_facets",...k,graderVersion:2},...y.eventCount!=null?{analyzedEventCount:y.eventCount}:{},analyzedTurnCount:d.turnCount}),t(` Generated facets for session ${y.id} (${y.tool}, ${d.turnCount} turns)`)):i++,e++}catch(d){t(` Failed to generate facets for session ${y.id}: ${d instanceof Error?d.message:String(d)}`),e++,i++}}))}if(c.length<m)break}}catch(c){t(` Warning: facet generation failed after ${e} sessions: ${c instanceof Error?c.message:String(c)}`)}if(e>0){let c=Date.now()>=C?`time budget (${Math.round(v/6e4)}m)`:e>=$?`hard cap (${$})`:"queue empty";t(` Facet drain stopped on ${c} after ${e} session(s); the rest resume next run.`)}}let w=await Y(s,r);if(!w)throw new I("No session data found \u2014 ensure sessions are captured and enriched.");t(` Found ${w.stats.sessions} sessions, generating recommendations...`);let E=await q(s,t);E&&t(` Generator memory: ${E.split(`
|
|
2
|
-
`).length} lines of prior-advice context`);let o={},h=R.length+1;for(let e=0;e<R.length;e++){let i=R[e];t(` [${e+1}/${h}] Generating ${i.name}...`);try{await g(`/api/insights-jobs/${n}/progress`,{status:"running",progress:{step:i.name,current:e+1,total:h,partial:{...o}}})}catch(b){t(` Warning: progress update failed for ${i.name}: ${b instanceof Error?b.message:String(b)}`)}t(` Running LLM prompt for ${i.name}...`);let c=i.usesGeneratorMemory&&E?`${w.summary}
|
|
3
|
-
${E}`:w.summary,f=await S(i.prompt,c,i.maxTokens);f?(o[i.name]=f,t(` Got result for ${i.name}`)):t(` No result for ${i.name} (LLM returned null)`)}t(` [${h}/${h}] Generating at_a_glance...`),await g(`/api/insights-jobs/${n}/progress`,{status:"running",progress:{step:"at_a_glance",current:h,total:h,partial:{...o}}});let W=[w.summary,o.what_works?`
|
|
4
|
-
## What Works
|
|
5
|
-
${JSON.stringify(o.what_works)}`:"",o.friction_analysis?`
|
|
6
|
-
## Friction
|
|
7
|
-
${JSON.stringify(o.friction_analysis)}`:"",o.suggestions?`
|
|
8
|
-
## Suggestions
|
|
9
|
-
${JSON.stringify(o.suggestions)}`:"",o.on_the_horizon?`
|
|
10
|
-
## On the Horizon
|
|
11
|
-
${JSON.stringify(o.on_the_horizon)}`:""].join(`
|
|
12
|
-
`),M=await S(L,W,8192);M&&(o.at_a_glance=M),t(" Uploading results..."),t(` Done! Recommendations generated for job ${n}`),z(o);let N={recommendations:o};return await g(`/api/insights-jobs/${n}/state`,{result:N}).catch(e=>{t(`result persist failed: ${e instanceof Error?e.message:String(e)}`)}),await H(o,s,t),N}p(rs,"processInsights");async function V(l,a){let{mirrorId:n,sessionId:s}=l;a(`Analyzing session ${s} via tool CLI...`),await g(`/api/insights-jobs/${n}/progress`,{status:"running",progress:{step:"fetching_session"}});let r=await _(`/api/sessions/${s}`);if(r.analysis&&r.analysis.source==="session_analysis")return a(` Session ${s} already analyzed \u2014 skipping (idempotency guard)`),{sessionId:s,skipped:!0,reason:"already_analyzed"};let u=await A(m=>U(s,m));if(u.turnCount<2)throw new I("Session has too few conversation turns to analyze");await g(`/api/insights-jobs/${n}/progress`,{status:"running",progress:{step:"running_analysis",tool:r.tool}});let t=await D(r.tool,P,u.text);if(!t)throw new Error(`Analysis failed \u2014 ${r.tool} CLI returned no result`);return await g(`/api/sessions/${s}/enrich`,{analysis:{source:"session_analysis",tool:r.tool,...t,graderVersion:2},...r.eventCount!=null?{analyzedEventCount:r.eventCount}:{},analyzedTurnCount:u.turnCount}),a(` Session ${s} analyzed via ${r.tool}`),{sessionId:s,tool:r.tool,facets:t}}p(V,"processSessionAnalysisInline");async function q(l,a,n=_,s=x){let{asks:r,omitted:u}=s(l);try{let t=await n(`/api/insights/recommendations/history?projectPath=${encodeURIComponent(l??"")}`);return!t||!Array.isArray(t.dismissed)||!Array.isArray(t.repeated)?T({dismissed:[],repeated:[],installed:r,installedOmitted:u}):T({...t,installed:r,installedOmitted:u})}catch(t){return a(` Warning: generator memory unavailable (${t instanceof Error?t.message:String(t)}) \u2014 generating without it`),T({dismissed:[],repeated:[],installed:r,installedOmitted:u})}}p(q,"fetchGeneratorMemory");async function Y(l,a){try{let n=new URLSearchParams;a?n.set("projectId",a):l&&n.set("projectPath",l);let s=await _(`/api/insights/compute?${n}`);if(!s||s.total_sessions===0)return null;let r=Object.entries(s.tool_counts??{}).sort((t,m)=>m[1]-t[1]).slice(0,10).map(([t,m])=>`${t}: ${m}`).join(", ");return{summary:[`Sessions: ${s.total_sessions}, Messages: ${s.total_messages}, Session-hours: ${Math.round(s.total_duration_hours)} (sum of per-session spans across ${s.sessions_with_meta} measured sessions; concurrent sessions counted separately, so this exceeds elapsed time)`,`Top tools: ${r}`,s.goal_categories&&Object.keys(s.goal_categories).length>0?`Goals: ${JSON.stringify(s.goal_categories)}`:"",s.friction&&Object.keys(s.friction).length>0?`Friction: ${JSON.stringify(s.friction)}`:"",s.outcomes&&Object.keys(s.outcomes).length>0?`Outcomes: ${JSON.stringify(s.outcomes)}`:"",s.projects&&Object.keys(s.projects).length>0?`Projects: ${JSON.stringify(s.projects)}`:""].filter(Boolean).join(`
|
|
13
|
-
`),stats:{sessions:s.total_sessions,totalMessages:s.total_messages,totalSessionHours:s.total_duration_hours,measuredSessions:s.sessions_with_meta,toolCounts:s.tool_counts,goalCounts:s.goal_categories,frictionCounts:s.friction}}}catch(n){throw new O(n instanceof Error?n.message:String(n))}}p(Y,"buildDataSummaryFromApi");var O=class extends Error{static{p(this,"InsightsSummaryUnavailableError")}constructor(a){super(`Could not read session summary (retryable): ${a}`),this.name="InsightsSummaryUnavailableError"}};export{rs as a,q as b};
|