cuelo 0.10.21 → 0.10.23

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 (86) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +5 -5
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.rsc +2 -2
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  22. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  25. package/.next/server/app/api/updates/route.js +1 -1
  26. package/.next/server/app/index.html +1 -1
  27. package/.next/server/app/index.rsc +4 -4
  28. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  29. package/.next/server/app/index.segments/_full.segment.rsc +4 -4
  30. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  31. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  32. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  33. package/.next/server/app/office/page_client-reference-manifest.js +1 -1
  34. package/.next/server/app/office-preview/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/office-preview.html +1 -1
  36. package/.next/server/app/office-preview.rsc +2 -2
  37. package/.next/server/app/office-preview.segments/_full.segment.rsc +2 -2
  38. package/.next/server/app/office-preview.segments/_head.segment.rsc +1 -1
  39. package/.next/server/app/office-preview.segments/_index.segment.rsc +2 -2
  40. package/.next/server/app/office-preview.segments/_tree.segment.rsc +1 -1
  41. package/.next/server/app/office-preview.segments/office-preview/__PAGE__.segment.rsc +1 -1
  42. package/.next/server/app/office-preview.segments/office-preview.segment.rsc +1 -1
  43. package/.next/server/app/office.html +1 -1
  44. package/.next/server/app/office.rsc +4 -4
  45. package/.next/server/app/office.segments/_full.segment.rsc +4 -4
  46. package/.next/server/app/office.segments/_head.segment.rsc +1 -1
  47. package/.next/server/app/office.segments/_index.segment.rsc +2 -2
  48. package/.next/server/app/office.segments/_tree.segment.rsc +1 -1
  49. package/.next/server/app/office.segments/office/__PAGE__.segment.rsc +3 -3
  50. package/.next/server/app/office.segments/office.segment.rsc +1 -1
  51. package/.next/server/app/page_client-reference-manifest.js +1 -1
  52. package/.next/server/app/recover/page_client-reference-manifest.js +1 -1
  53. package/.next/server/app/recover.html +1 -1
  54. package/.next/server/app/recover.rsc +2 -2
  55. package/.next/server/app/recover.segments/_full.segment.rsc +2 -2
  56. package/.next/server/app/recover.segments/_head.segment.rsc +1 -1
  57. package/.next/server/app/recover.segments/_index.segment.rsc +2 -2
  58. package/.next/server/app/recover.segments/_tree.segment.rsc +1 -1
  59. package/.next/server/app/recover.segments/recover/__PAGE__.segment.rsc +1 -1
  60. package/.next/server/app/recover.segments/recover.segment.rsc +1 -1
  61. package/.next/server/app-paths-manifest.json +5 -5
  62. package/.next/server/chunks/1517.js +4 -4
  63. package/.next/server/chunks/5489.js +3 -3
  64. package/.next/server/chunks/7362.js +1 -1
  65. package/.next/server/middleware-build-manifest.js +1 -1
  66. package/.next/server/pages/404.html +1 -1
  67. package/.next/server/pages/500.html +1 -1
  68. package/.next/server/server-reference-manifest.json +1 -1
  69. package/.next/static/chunks/{6110-7a2311ab143b31e2.js → 6110-ac70431887855d47.js} +1 -1
  70. package/.next/static/chunks/{9575-032510d25828764f.js → 9575-0c26b1d8b9a98d3b.js} +3 -3
  71. package/.next/static/chunks/app/{layout-a7fca69a4fa9b2c2.js → layout-bc09a4f5bbf65cee.js} +1 -1
  72. package/.next/trace +108 -108
  73. package/.next/trace-build +1 -1
  74. package/Tools/CUELO_Setup/files/native-runtime-patch.js +1 -1
  75. package/Tools/OMP_Global_Config/agent/extensions/docmap-route.ts +124 -26
  76. package/Tools/OMP_Global_Config/agent/extensions/edit-lessons.ts +158 -0
  77. package/Tools/OMP_Global_Config/agent/extensions/jev-runtime.ts +1 -1
  78. package/Tools/OMP_Global_Config/agent/extensions/lib/docmap-search.ts +38 -2
  79. package/Tools/OMP_Global_Config/agent/extensions/lib/memory-excerpt.ts +5 -0
  80. package/Tools/OMP_Global_Config/agent/extensions/lib/native-judge.ts +82 -0
  81. package/Tools/OMP_Global_Config/agent/extensions/mcp-selection.ts +11 -78
  82. package/Tools/OMP_Global_Config/agent/rules/docs-handoff.md +1 -1
  83. package/Tools/OMP_Global_Config/patches/apply-core-patch.mjs +117 -198
  84. package/package.json +1 -1
  85. /package/.next/static/{IKi2VjUzAnD5AUcDn7QNi → MDZ1YH4IJ1RwwO-lRfPFz}/_buildManifest.js +0 -0
  86. /package/.next/static/{IKi2VjUzAnD5AUcDn7QNi → MDZ1YH4IJ1RwwO-lRfPFz}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- exports.id=1517,exports.ids=[1517],exports.modules={14362:(a,b,c)=>{"use strict";c.d(b,{BY:()=>i,P9:()=>j,UL:()=>k,ZM:()=>g,dB:()=>d,dr:()=>e,iv:()=>f,mP:()=>h});let d=["main","maker","checker","advisor","unattributed"],e=["primary","rework","review"],f=["wait-attribution","unpriced-cost","effort-unrecorded","role-unattributed","busy-unrecorded"],g="unknown",h=50,i=20,j=60,k=30},25738:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Dq:()=>u,Oc:()=>F,XJ:()=>D,lV:()=>E,v:()=>C});var e=c(64978),f=c(84),g=c(47043),h=c(73024),i=c(48161),j=c(76760),k=c(14362),l=a([e,f,g]);[e,f,g]=l.then?(await l)():l;class F extends Error{constructor(a,b=500){super(a),this.status=b,this.name="RunXrayError"}}function m(a){let b=new Map;for(let c of a){let a=[...new Set(c.models)].sort(),d=[...new Set(c.efforts)].sort(),e=n(a)??"?",f=n(d),g=JSON.stringify([c.kind,a,d]),h=b.get(g);h?h.count+=1:b.set(g,{kind:c.kind,model:e,effort:f,count:1,models:a,efforts:d,pairing:a.length>1||d.length>1?"unknown":"single"})}let c=[...b.entries()].sort(([a,b],[c,d])=>{let e=k.dB.indexOf(b.kind)-k.dB.indexOf(d.kind);if(0!==e)return e;if(b.model!==d.model)return b.model<d.model?-1:1;let f=b.effort??"?",g=d.effort??"?";return f!==g?f<g?-1:1:a===c?0:a<c?-1:1}).map(([,a])=>a),d=c.map(a=>`${"main"===a.kind?"main":`${a.kind} x${a.count}`}=${a.model}:${a.effort??"?"}`).join("|"),e=JSON.stringify(c.map(a=>[a.kind,a.models,a.efforts,a.count]));return{signature:d,identity:e,roles:c}}function n(a){return 0===a.length?null:1===a.length?a[0]:`{${a.join(",")}}`}let G=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z) (START old=(\S*)|READY ([0-9a-f]{40})|ROLLED_BACK ([0-9a-f]{40})|ROLLBACK_FAILED)(?:\s|$)/,H=/^[0-9a-f]{40}$/;function o(a){let b=new Map;for(let c of a){let a=b.get(c.harnessRevision)??{runCount:0,lastSeenAt:c.startedAt};a.runCount+=1,a.lastSeenAt=Math.max(a.lastSeenAt,c.startedAt),b.set(c.harnessRevision,a)}return[...b.entries()].sort((a,b)=>b[1].lastSeenAt-a[1].lastSeenAt).map(([a,b])=>({revision:a,runCount:b.runCount}))}function p(a){if(0===a.length)return 0;let b=[...a].sort((a,b)=>a-b),c=Math.floor(b.length/2);return b.length%2==1?b[c]:(b[c-1]+b[c])/2}function q(){return{titles:new Map,effortTimeline:[],roleMap:new Map,helperEntries:new Map}}let I=new Map;function r(a){let b="";try{let c=(0,h.statSync)(a);b=`${a}:${c.mtimeMs}:${c.size}`}catch{return q()}let c=I.get(b);if(c)return I.delete(b),I.set(b,c),c;let d=function(a){let b,c=q();try{b=(0,h.readFileSync)(a,"utf8")}catch{return c}let d=[];for(let a of b.split("\n"))if(a.startsWith('{"type":"thinking_level_change"')){let b;try{b=JSON.parse(a)}catch{continue}let d=b,e="string"==typeof d.timestamp?Date.parse(d.timestamp):NaN;"string"==typeof d.thinkingLevel&&d.thinkingLevel&&Number.isFinite(e)&&c.effortTimeline.push({at:e,level:d.thinkingLevel})}else if(a.startsWith('{"type":"model_change"')||a.startsWith('{"type":"session"'))continue;else if(a.startsWith('{"type":"model_usage"')){let b;try{b=JSON.parse(a)}catch{continue}let d=b;if("string"!=typeof d.id||!d.id)continue;c.helperEntries.set(d.id,{purpose:"string"==typeof d.purpose&&d.purpose?d.purpose:"?",role:"string"==typeof d.role&&d.role?d.role:null})}else if(a.startsWith('{"type":"message"'))if(a.includes('"role":"user"')){let b;try{b=JSON.parse(a)}catch{continue}let d=b;if("string"!=typeof d.id)continue;let e=d.message?.content;if(!Array.isArray(e))continue;for(let a of e)if(a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text){c.titles.set(d.id,a.text.replace(/\s+/g," ").trim().slice(0,120));break}}else a.includes('"name":"task"')&&d.push(a);return c.roleMap=function(a){let b=new Map;for(let c of a){let a;if(!c.includes('"name":"task"'))continue;try{a=JSON.parse(c)}catch{continue}let d=a?.message?.content;if(Array.isArray(d))for(let a of d){if(!a||"object"!=typeof a||"toolCall"!==a.type||"task"!==a.name)continue;let c=a.arguments?.tasks;if(Array.isArray(c))for(let a of c){if(!a||"object"!=typeof a||"string"!=typeof a.name||!a.name)continue;let c=a.name.endsWith(".jsonl")?a.name.slice(0,-6):a.name;b.set(c,{agent:"string"==typeof a.agent?a.agent:"",purpose:"string"==typeof a.task?function(a){for(let b of a.split("\n")){let a=/^\s*PURPOSE:\s*(\S+)\s*$/.exec(b);if(a)return k.dr.includes(a[1])?a[1]:null}return null}(a.task):null})}}}return b}(d),c}(a);for(I.set(b,d);I.size>128;){let a=I.keys().next();if(a.done)break;I.delete(a.value)}return d}function s(){let a=(0,j.join)((0,i.homedir)(),".omp","stats.db");return(0,h.existsSync)(a)?new e.Database(a,{readonly:!0}):null}let J=new Map,K=/^\d{8}T\d{6}Z\.log$/;function t(){let a,b=(0,j.join)((0,i.homedir)(),".omp","wsl-update");try{a=(0,h.readdirSync)(b).filter(a=>K.test(a)).sort()}catch{return[]}let c=[];for(let d of a){let a=(0,j.join)(b,d);try{let b=(0,h.statSync)(a),d=J.get(a);if(d&&d.size===b.size&&d.mtimeMs===b.mtimeMs){c.push(...d.events);continue}let e=function(a){let b=[];for(let c of a.split("\n")){let a=G.exec(c);if(!a)continue;let d=Date.parse(a[1]);Number.isFinite(d)&&(void 0!==a[3]?b.push({at:d,kind:"start",revision:H.test(a[3])?a[3]:null}):void 0!==a[4]?b.push({at:d,kind:"ready",revision:a[4]}):void 0!==a[5]?b.push({at:d,kind:"rolled-back",revision:a[5]}):b.push({at:d,kind:"rollback-failed",revision:null}))}return b}((0,h.readFileSync)(a,"utf8"));J.set(a,{size:b.size,mtimeMs:b.mtimeMs,events:e}),c.push(...e)}catch{}}let d=[...c].sort((a,b)=>a.at-b.at),e=[];for(let a of d){let b=e.at(-1);if("start"===a.kind){if(b&&b.revision===a.revision)continue;b&&(b.revision=null),e.push({from:a.at,revision:a.revision});continue}b&&b.revision===a.revision||e.push({from:a.at,revision:a.revision})}return e}let L=null;function u(){return L??=(async()=>{try{await (0,f.syncAllSessions)({workers:1})}finally{(0,g.closeDb)()}})().catch(a=>{console.warn("[run-xray] stats sync failed; serving existing stats.db",a)}).finally(()=>{L=null})}let M=/_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\.jsonl$/i;function v(a,b){let c=`%\\_${b.replace(/[\\%_]/g,a=>`\\${a}`)}.jsonl`,d=a.query(`SELECT session_file FROM messages WHERE session_file LIKE ? ESCAPE '\\'
1
+ exports.id=1517,exports.ids=[1517],exports.modules={14362:(a,b,c)=>{"use strict";c.d(b,{BY:()=>i,P9:()=>j,UL:()=>k,ZM:()=>g,dB:()=>d,dr:()=>e,iv:()=>f,mP:()=>h});let d=["main","maker","checker","advisor","unattributed"],e=["primary","rework","review"],f=["wait-attribution","unpriced-cost","effort-unrecorded","role-unattributed","busy-unrecorded"],g="unknown",h=50,i=20,j=60,k=30},25738:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Dq:()=>u,Oc:()=>F,XJ:()=>D,lV:()=>E,v:()=>C});var e=c(64978),f=c(84),g=c(47043),h=c(73024),i=c(48161),j=c(76760),k=c(14362),l=a([e,f,g]);[e,f,g]=l.then?(await l)():l;class F extends Error{constructor(a,b=500){super(a),this.status=b,this.name="RunXrayError"}}function m(a){let b=new Map;for(let c of a){let a=[...new Set(c.models)].sort(),d=[...new Set(c.efforts)].sort(),e=n(a)??"?",f=n(d),g=JSON.stringify([c.kind,a,d]),h=b.get(g);h?h.count+=1:b.set(g,{kind:c.kind,model:e,effort:f,count:1,models:a,efforts:d,pairing:a.length>1||d.length>1?"unknown":"single"})}let c=[...b.entries()].sort(([a,b],[c,d])=>{let e=k.dB.indexOf(b.kind)-k.dB.indexOf(d.kind);if(0!==e)return e;if(b.model!==d.model)return b.model<d.model?-1:1;let f=b.effort??"?",g=d.effort??"?";return f!==g?f<g?-1:1:a===c?0:a<c?-1:1}).map(([,a])=>a),d=c.map(a=>`${"main"===a.kind?"main":`${a.kind} x${a.count}`}=${a.model}:${a.effort??"?"}`).join("|"),e=JSON.stringify(c.map(a=>[a.kind,a.models,a.efforts,a.count]));return{signature:d,identity:e,roles:c}}function n(a){return 0===a.length?null:1===a.length?a[0]:`{${a.join(",")}}`}let G=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z) (START old=(\S*)|READY ([0-9a-f]{40})|ROLLED_BACK ([0-9a-f]{40})|ROLLBACK_FAILED)(?:\s|$)/,H=/^[0-9a-f]{40}$/;function o(a){let b=new Map;for(let c of a){let a=b.get(c.harnessRevision)??{runCount:0,lastSeenAt:c.startedAt};a.runCount+=1,a.lastSeenAt=Math.max(a.lastSeenAt,c.startedAt),b.set(c.harnessRevision,a)}return[...b.entries()].sort((a,b)=>b[1].lastSeenAt-a[1].lastSeenAt).map(([a,b])=>({revision:a,runCount:b.runCount}))}function p(a){if(0===a.length)return 0;let b=[...a].sort((a,b)=>a-b),c=Math.floor(b.length/2);return b.length%2==1?b[c]:(b[c-1]+b[c])/2}let I=/^(?:grep|egrep|fgrep|rg|test|\[\[?)(?:\s|$)/,J=/2>\s*\/dev\/null|2>&-|&>\s*\/dev\/null|>\s*\/dev\/null\s+2>&1/,K=[": No such file or directory",": command not found",": Permission denied","syntax error","Traceback (most recent call last)"],L=/(?:^|\n)Command exited with code (\d+)\s*$/,M=/(?:^Command aborted|\n\n\[Command aborted\])(?:\n\n\[[^\n]*\])?\s*$/;function q(){return{titles:new Map,effortTimeline:[],roleMap:new Map,helperEntries:new Map,toolErrors:new Map}}let N=new Map;function r(a){let b="";try{let c=(0,h.statSync)(a);b=`${a}:${c.mtimeMs}:${c.size}`}catch{return q()}let c=N.get(b);if(c)return N.delete(b),N.set(b,c),c;let d=function(a){let b,c=q();try{b=(0,h.readFileSync)(a,"utf8")}catch{return c}let d=[],e=[],f=new Map;for(let a of b.split("\n"))if(a.startsWith('{"type":"thinking_level_change"')){let b;try{b=JSON.parse(a)}catch{continue}let d=b,e="string"==typeof d.timestamp?Date.parse(d.timestamp):NaN;"string"==typeof d.thinkingLevel&&d.thinkingLevel&&Number.isFinite(e)&&c.effortTimeline.push({at:e,level:d.thinkingLevel})}else if(a.startsWith('{"type":"model_change"')||a.startsWith('{"type":"session"'))continue;else if(a.startsWith('{"type":"model_usage"')){let b;try{b=JSON.parse(a)}catch{continue}let d=b;if("string"!=typeof d.id||!d.id)continue;c.helperEntries.set(d.id,{purpose:"string"==typeof d.purpose&&d.purpose?d.purpose:"?",role:"string"==typeof d.role&&d.role?d.role:null})}else if(a.startsWith('{"type":"message"'))if(a.includes('"role":"user"')){let b;try{b=JSON.parse(a)}catch{continue}let d=b;if("string"!=typeof d.id)continue;let e=d.message?.content;if(!Array.isArray(e))continue;for(let a of e)if(a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text){c.titles.set(d.id,a.text.replace(/\s+/g," ").trim().slice(0,120));break}}else a.includes('"name":"task"')&&d.push(a),a.includes('"role":"toolResult"')&&a.includes('"isError":true')?e.push(a):a.includes('"type":"toolCall"')&&a.includes('"name":"bash"')&&function(a,b){let c;try{c=JSON.parse(a)}catch{return}let d=c,e=d.message?.content;if(Array.isArray(e))for(let a of e)a&&"object"==typeof a&&"toolCall"===a.type&&"bash"===a.name&&"string"==typeof a.id&&"string"==typeof a.arguments?.command&&b.set(a.id,a.arguments.command)}(a,f);return c.toolErrors=function(a,b){let c=new Map;for(let d of a){let a;try{a=JSON.parse(d)}catch{continue}let e=a.message;if(!e||!0!==e.isError||"string"!=typeof e.toolCallId)continue;let f=[];if(Array.isArray(e.content))for(let a of e.content)a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text&&f.push(a.text);let g=f.join("\n"),h="string"==typeof e.toolName?e.toolName:"";c.set(e.toolCallId,function(a,b,c){if(c.startsWith("실행하지 않음: 이 호출이 실행되기 전에 사용자 메시지가 도착했다"))return"cancelled";if("bash"!==a)return"failed";let d=L.exec(c);if(!d&&(c.startsWith("[Command cancelled]")||M.test(c)))return"cancelled";if(!b||d?.[1]!=="1"||K.some(a=>c.includes(a)))return"failed";let e=function(a){let b=[],c="",d=null,e=()=>{c.trim()&&b.push(c.trim()),c=""};for(let b=0;b<a.length;b++){let f=a[b];if(d){c+=f,"\\"===f&&'"'===d&&b+1<a.length?c+=a[++b]:f===d&&(d=null);continue}if("\\"===f)c+=f+(a[b+1]??""),b++;else if("'"===f||'"'===f)d=f,c+=f;else{if("<"===f&&"<"===a[b+1]&&"<"!==a[b+2]&&"<"!==a[b-1])return[];"\n"===f||";"===f||"|"===f||"&"===f&&"&"===a[b+1]?(("&"===f||"|"===f&&"|"===a[b+1])&&b++,e()):c+=f}}return d?[]:(e(),b)}(b),f=e.pop()??"";return e.some(a=>J.test(a))?"failed":I.test(f)?"noMatch":"failed"}(h,b.get(e.toolCallId)??null,g))}return c}(e,f),c.roleMap=function(a){let b=new Map;for(let c of a){let a;if(!c.includes('"name":"task"'))continue;try{a=JSON.parse(c)}catch{continue}let d=a?.message?.content;if(Array.isArray(d))for(let a of d){if(!a||"object"!=typeof a||"toolCall"!==a.type||"task"!==a.name)continue;let c=a.arguments?.tasks;if(Array.isArray(c))for(let a of c){if(!a||"object"!=typeof a||"string"!=typeof a.name||!a.name)continue;let c=a.name.endsWith(".jsonl")?a.name.slice(0,-6):a.name;b.set(c,{agent:"string"==typeof a.agent?a.agent:"",purpose:"string"==typeof a.task?function(a){for(let b of a.split("\n")){let a=/^\s*PURPOSE:\s*(\S+)\s*$/.exec(b);if(a)return k.dr.includes(a[1])?a[1]:null}return null}(a.task):null})}}}return b}(d),c}(a);for(N.set(b,d);N.size>128;){let a=N.keys().next();if(a.done)break;N.delete(a.value)}return d}function s(){let a=(0,j.join)((0,i.homedir)(),".omp","stats.db");return(0,h.existsSync)(a)?new e.Database(a,{readonly:!0}):null}let O=new Map,P=/^\d{8}T\d{6}Z\.log$/;function t(){let a,b=(0,j.join)((0,i.homedir)(),".omp","wsl-update");try{a=(0,h.readdirSync)(b).filter(a=>P.test(a)).sort()}catch{return[]}let c=[];for(let d of a){let a=(0,j.join)(b,d);try{let b=(0,h.statSync)(a),d=O.get(a);if(d&&d.size===b.size&&d.mtimeMs===b.mtimeMs){c.push(...d.events);continue}let e=function(a){let b=[];for(let c of a.split("\n")){let a=G.exec(c);if(!a)continue;let d=Date.parse(a[1]);Number.isFinite(d)&&(void 0!==a[3]?b.push({at:d,kind:"start",revision:H.test(a[3])?a[3]:null}):void 0!==a[4]?b.push({at:d,kind:"ready",revision:a[4]}):void 0!==a[5]?b.push({at:d,kind:"rolled-back",revision:a[5]}):b.push({at:d,kind:"rollback-failed",revision:null}))}return b}((0,h.readFileSync)(a,"utf8"));O.set(a,{size:b.size,mtimeMs:b.mtimeMs,events:e}),c.push(...e)}catch{}}let d=[...c].sort((a,b)=>a.at-b.at),e=[];for(let a of d){let b=e.at(-1);if("start"===a.kind){if(b&&b.revision===a.revision)continue;b&&(b.revision=null),e.push({from:a.at,revision:a.revision});continue}b&&b.revision===a.revision||e.push({from:a.at,revision:a.revision})}return e}let Q=null;function u(){return Q??=(async()=>{try{await (0,f.syncAllSessions)({workers:1})}finally{(0,g.closeDb)()}})().catch(a=>{console.warn("[run-xray] stats sync failed; serving existing stats.db",a)}).finally(()=>{Q=null})}let R=/_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\.jsonl$/i;function v(a,b){let c=`%\\_${b.replace(/[\\%_]/g,a=>`\\${a}`)}.jsonl`,d=a.query(`SELECT session_file FROM messages WHERE session_file LIKE ? ESCAPE '\\'
2
2
  UNION
3
3
  SELECT session_file FROM user_messages WHERE session_file LIKE ? ESCAPE '\\'`).all(c,c),e=`_${b}.jsonl`;return d.map(a=>a.session_file).filter(a=>(a.split(/[\\/]/).pop()??a).endsWith(e)).sort()[0]??null}function w(a,b,c){let d=c.slice(0,-6),e=d.replace(/[\\%_]/g,a=>`\\${a}`),f=a.query(`SELECT DISTINCT session_file FROM messages
4
4
  WHERE session_file LIKE ? ESCAPE '\\' OR session_file LIKE ? ESCAPE '\\'
@@ -6,8 +6,8 @@ exports.id=1517,exports.ids=[1517],exports.modules={14362:(a,b,c)=>{"use strict"
6
6
  WHERE session_file = ? ORDER BY timestamp ASC, entry_id ASC`).all(c),h=[c,...f],i=h.map(()=>"?").join(","),j=a.query(`SELECT session_file, entry_id, folder, model, provider, timestamp, duration, ttft,
7
7
  stop_reason, input_tokens, output_tokens, cache_read_tokens, cache_write_tokens,
8
8
  total_tokens, cost_total, cost_unpriced, agent_type
9
- FROM messages WHERE session_file IN (${i}) ORDER BY timestamp ASC, id ASC`).all(...h),k=a.query(`SELECT session_file, tool_name, timestamp, is_error
10
- FROM tool_calls WHERE session_file IN (${i})`).all(...h),l=r(c),m=new Map;for(let a of f)m.set(a,r(a));return{sessionId:b,parentFile:c,childFiles:f,users:g,messages:j,toolCalls:k,parentScan:l,childScans:m}}function x(a,b){let c=0,d=a.length-1,e=0;for(;c<=d;){let f=c+d>>1;a[f].timestamp<=b?(e=f,c=f+1):d=f-1}return e}function y(a,b,c,d,e,f,g){let h=[],i=new Set,j=new Map,k=0,l=0,m=1/0,n=-1/0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;for(let a of d){let b=`${a.provider}/${a.model}`,c=a.timestamp,d=c+(a.duration??0);c<m&&(m=c),d>n&&(n=d),o+=a.input_tokens,p+=a.output_tokens,q+=a.cache_read_tokens,r+=a.cache_write_tokens,s+=a.total_tokens;let f=a.total_tokens>0&&0===a.cost_total&&("xai-oauth"===a.provider||1===a.cost_unpriced),g=f?0:a.cost_total;f&&(u+=1),t+=g;let A="error"===a.stop_reason||"length"===a.stop_reason,B=e.get(a.entry_id);if(B){let c=JSON.stringify([B.purpose,B.role,b]),d=j.get(c)??{purpose:B.purpose,role:B.role,model:b,requestCount:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,totalTokens:0,estimatedCostUsd:0,unpricedRequests:0,errorCount:0};d.requestCount+=1,d.inputTokens+=a.input_tokens,d.outputTokens+=a.output_tokens,d.cacheReadTokens+=a.cache_read_tokens,d.cacheWriteTokens+=a.cache_write_tokens,d.totalTokens+=a.total_tokens,d.estimatedCostUsd+=g,f&&(d.unpricedRequests+=1),A&&(d.errorCount+=1),j.set(c,d);continue}k+=1,i.has(b)||(i.add(b),h.push(b)),null===a.duration&&(v+=1),l+=a.duration??0,null!==a.ttft&&(w+=a.ttft,x+=1),A?y+=1:"aborted"===a.stop_reason&&(z+=1)}return{id:a,kind:b,purpose:c,models:h,efforts:g,requestCount:k,busyMs:l,spanMs:n-m,startedAt:m,endedAt:n,inputTokens:o,outputTokens:p,cacheReadTokens:q,cacheWriteTokens:r,totalTokens:s,estimatedCostUsd:t,unpricedRequests:u,untimedRequests:v,ttftMs:x>0?w:null,ttftRequests:x,helpers:[...j.values()].sort((a,b)=>b.estimatedCostUsd-a.estimatedCostUsd||b.totalTokens-a.totalTokens||(a.purpose<b.purpose?-1:a.purpose>b.purpose?1:a.model<b.model?-1:+(a.model>b.model))),errorCount:y,abortedCount:z,toolCalls:f}}function z(a,b=[]){if(0===a.users.length)return[];let c=a.users.map(()=>[]);for(let b of a.messages)c[x(a.users,b.timestamp)].push(b);let d=a.users.map(()=>[]);for(let b of a.toolCalls)d[x(a.users,b.timestamp)].push(b);let e=a.users[a.users.length-1].timestamp,f=e;for(let b of a.messages){b.timestamp>e&&(e=b.timestamp);let a=b.timestamp+(b.duration??0);a>f&&(f=a)}for(let b of a.toolCalls)b.timestamp>e&&(e=b.timestamp),b.timestamp>f&&(f=b.timestamp);let g=[];for(let i=0;i<a.users.length;i+=1){var h;let j=a.users[i],k=j.timestamp,l=Math.max(i+1<a.users.length?a.users[i+1].timestamp:f,k),n=l-k,o=c[i],p=d[i],r=new Map;for(let a of o){let b=r.get(a.session_file)??[];b.push(a),r.set(a.session_file,b)}let s=new Map;for(let a of p)s.set(a.session_file,(s.get(a.session_file)??0)+1);let t=r.get(a.parentFile)??[],u=t.findLast(b=>!a.parentScan.helperEntries.has(b.entry_id)),v=i+1<a.users.length,w=u?(h=u.stop_reason,"stop"===h?"completed":"error"===h||"length"===h?"error":"aborted"===h?"aborted":"running"):"running",x="running"===w&&v?"interrupted":w,z="running"===x?null:v?l:e,B=[];for(let b of(t.length>0&&B.push(y("main","main",null,t,a.parentScan.helperEntries,s.get(a.parentFile)??0,A(a.parentScan,a.users,i,z))),a.childFiles)){let c=r.get(b);if(!c||0===c.length)continue;let d=function(a){let b=a.split(/[\\/]/).pop()??a;return b.endsWith(".jsonl")?b.slice(0,-6):b}(b),e=function(a,b){if("__advisor"===a)return{kind:"advisor",purpose:null};let c=b.get(a)??b.get(a.replace(/-\d+$/,""));return c&&("maker"===c.agent||"checker"===c.agent)?{kind:c.agent,purpose:c.purpose}:{kind:"unattributed",purpose:null}}(d,a.parentScan.roleMap),f=a.childScans.get(b)??q();B.push(y(d,e.kind,e.purpose,c,f.helperEntries,s.get(b)??0,A(f,a.users,i,z)))}let C=0,D=0,E=0,F=0;for(let a of B)C+=a.busyMs,D+=a.totalTokens,E+=a.estimatedCostUsd,F+=a.unpricedRequests;let G=o.map(a=>[a.timestamp,a.timestamp+(a.duration??0)]),H=Math.max(0,n-function(a,b,c){if(!(c>b))return 0;let d=[];for(let[e,f]of a){let a=Math.max(e,b),g=Math.min(f,c);g>a&&d.push([a,g])}d.sort((a,b)=>a[0]-b[0]||a[1]-b[1]);let e=0,f=0,g=0,h=!1;for(let[a,b]of d)!h||a>g?(h&&(e+=g-f),f=a,g=b,h=!0):b>g&&(g=b);return h&&(e+=g-f),e}(G,k,l)),I=[];H>0&&I.push("wait-attribution"),B.some(a=>a.unpricedRequests>0)&&I.push("unpriced-cost"),B.some(a=>0===a.efforts.length)&&I.push("effort-unrecorded"),B.some(a=>"unattributed"===a.kind)&&I.push("role-unattributed"),B.some(a=>a.untimedRequests>0)&&I.push("busy-unrecorded");let J=m(B.map(a=>({kind:a.kind,models:a.models,efforts:a.efforts})));g.push({runId:`${a.sessionId}:${j.entry_id}`,sessionId:a.sessionId,entryId:j.entry_id,index:i+1,title:a.parentScan.titles.get(j.entry_id)??null,startedAt:k,endedAt:"running"===x?null:l,wallClockMs:n,outcome:x,busyMs:C,childCount:B.filter(a=>"main"!==a.id).length,totalTokens:D,estimatedCostUsd:E,unpricedRequests:F,configSignature:J.signature,harnessRevision:function(a,b){let c=null;for(let d of a){if(d.from>b)break;c=d.revision}return c}(b,k),roles:B,bottlenecks:function(a,b){let c=a.map(a=>({kind:"role-busy",id:a.id,ms:a.ms}));b>0&&c.push({kind:"unmeasured-gap",id:"unmeasured",ms:b}),c.sort((a,b)=>b.ms-a.ms||(a.id<b.id?-1:+(a.id>b.id)));let d=c.slice(0,3),e=d[0]?.ms??0;return d.map(a=>({kind:a.kind,id:a.id,ms:a.ms,relative:e>0?a.ms/e:0}))}(B.map(a=>({id:a.id,ms:a.busyMs})),H),unmeasuredMs:H,toolTotals:function(a){let b=new Map;for(let c of a){let a=b.get(c.tool_name)??{calls:0,errors:0};a.calls+=1,(c.is_error??0)!==0&&(a.errors+=1),b.set(c.tool_name,a)}return[...b.entries()].map(([a,b])=>({toolName:a,calls:b.calls,errors:b.errors})).sort((a,b)=>b.calls-a.calls||(a.toolName<b.toolName?-1:+(a.toolName>b.toolName))).slice(0,8)}(p),unmeasured:I})}return g}function A(a,b,c,d){let e=b[c].timestamp,f=[],g=new Set,h=null;for(let i of a.effortTimeline){if(i.at<=e){h=i.level;continue}(null===d||!(i.at>d))&&x(b,i.at)===c&&(null===h||g.has(h)||(g.add(h),f.push(h),h=null),g.has(i.level)||(g.add(i.level),f.push(i.level)))}return null===h||g.has(h)||f.push(h),f}function B(a){let b=new Set;for(let c of a)for(let a of c.unmeasured)b.add(a);return k.iv.filter(a=>b.has(a))}function C(a,b=k.BY){if(!a.trim())throw new F("sessionId가 필요합니다.",400);let c=Math.min(Math.max(Math.floor(b),1),k.mP),d=s();if(!d)return{sessionId:a,runs:[],unmeasured:[]};try{let b=v(d,a);if(!b)return{sessionId:a,runs:[],unmeasured:[]};let e=z(w(d,a,b),t());e.sort((a,b)=>b.startedAt-a.startedAt||b.index-a.index);let f=e.slice(0,c);return{sessionId:a,runs:f.map(a=>({runId:a.runId,sessionId:a.sessionId,entryId:a.entryId,index:a.index,title:a.title,startedAt:a.startedAt,endedAt:a.endedAt,wallClockMs:a.wallClockMs,outcome:a.outcome,busyMs:a.busyMs,childCount:a.childCount,totalTokens:a.totalTokens,estimatedCostUsd:a.estimatedCostUsd,unpricedRequests:a.unpricedRequests,configSignature:a.configSignature,harnessRevision:a.harnessRevision})),unmeasured:B(f)}}finally{d.close()}}function D(a,b){if(!a.trim()||!b.trim())throw new F("runId 형식이 올바르지 않습니다.",400);let c=s();if(!c)throw new F("기록을 찾을 수 없습니다.",404);try{let d=v(c,a);if(!d)throw new F("기록을 찾을 수 없습니다.",404);let e=z(w(c,a,d),t()).find(a=>a.entryId===b);if(!e)throw new F("기록을 찾을 수 없습니다.",404);return e}finally{c.close()}}function E(a,b=k.UL,c="all",d="config",e=null){let f=Math.min(Math.max(Math.floor(b),1),k.P9),g=s();if(!g)return{folder:a,folders:[],scope:c,configs:[],runCount:0,sessionCount:0,excludedRunCount:0,groupBy:d,harness:e,harnesses:[],unmeasured:[]};try{let b=g.query(`SELECT f.folder AS folder FROM (
9
+ FROM messages WHERE session_file IN (${i}) ORDER BY timestamp ASC, id ASC`).all(...h),k=a.query(`SELECT session_file, tool_call_id, tool_name, timestamp, is_error
10
+ FROM tool_calls WHERE session_file IN (${i})`).all(...h),l=r(c),m=new Map;for(let a of f)m.set(a,r(a));return{sessionId:b,parentFile:c,childFiles:f,users:g,messages:j,toolCalls:k,parentScan:l,childScans:m}}function x(a,b){let c=0,d=a.length-1,e=0;for(;c<=d;){let f=c+d>>1;a[f].timestamp<=b?(e=f,c=f+1):d=f-1}return e}function y(a,b,c,d,e,f,g){let h=[],i=new Set,j=new Map,k=0,l=0,m=1/0,n=-1/0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;for(let a of d){let b=`${a.provider}/${a.model}`,c=a.timestamp,d=c+(a.duration??0);c<m&&(m=c),d>n&&(n=d),o+=a.input_tokens,p+=a.output_tokens,q+=a.cache_read_tokens,r+=a.cache_write_tokens,s+=a.total_tokens;let f=a.total_tokens>0&&0===a.cost_total&&("xai-oauth"===a.provider||1===a.cost_unpriced),g=f?0:a.cost_total;f&&(u+=1),t+=g;let A="error"===a.stop_reason||"length"===a.stop_reason,B=e.get(a.entry_id);if(B){let c=JSON.stringify([B.purpose,B.role,b]),d=j.get(c)??{purpose:B.purpose,role:B.role,model:b,requestCount:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,totalTokens:0,estimatedCostUsd:0,unpricedRequests:0,errorCount:0};d.requestCount+=1,d.inputTokens+=a.input_tokens,d.outputTokens+=a.output_tokens,d.cacheReadTokens+=a.cache_read_tokens,d.cacheWriteTokens+=a.cache_write_tokens,d.totalTokens+=a.total_tokens,d.estimatedCostUsd+=g,f&&(d.unpricedRequests+=1),A&&(d.errorCount+=1),j.set(c,d);continue}k+=1,i.has(b)||(i.add(b),h.push(b)),null===a.duration&&(v+=1),l+=a.duration??0,null!==a.ttft&&(w+=a.ttft,x+=1),A?y+=1:"aborted"===a.stop_reason&&(z+=1)}return{id:a,kind:b,purpose:c,models:h,efforts:g,requestCount:k,busyMs:l,spanMs:n-m,startedAt:m,endedAt:n,inputTokens:o,outputTokens:p,cacheReadTokens:q,cacheWriteTokens:r,totalTokens:s,estimatedCostUsd:t,unpricedRequests:u,untimedRequests:v,ttftMs:x>0?w:null,ttftRequests:x,helpers:[...j.values()].sort((a,b)=>b.estimatedCostUsd-a.estimatedCostUsd||b.totalTokens-a.totalTokens||(a.purpose<b.purpose?-1:a.purpose>b.purpose?1:a.model<b.model?-1:+(a.model>b.model))),errorCount:y,abortedCount:z,toolCalls:f}}function z(a,b=[]){if(0===a.users.length)return[];let c=a.users.map(()=>[]);for(let b of a.messages)c[x(a.users,b.timestamp)].push(b);let d=a.users.map(()=>[]);for(let b of a.toolCalls)d[x(a.users,b.timestamp)].push(b);let e=a.users[a.users.length-1].timestamp,f=e;for(let b of a.messages){b.timestamp>e&&(e=b.timestamp);let a=b.timestamp+(b.duration??0);a>f&&(f=a)}for(let b of a.toolCalls)b.timestamp>e&&(e=b.timestamp),b.timestamp>f&&(f=b.timestamp);let g=[];for(let i=0;i<a.users.length;i+=1){var h;let j=a.users[i],k=j.timestamp,l=Math.max(i+1<a.users.length?a.users[i+1].timestamp:f,k),n=l-k,o=c[i],p=d[i],r=new Map;for(let a of o){let b=r.get(a.session_file)??[];b.push(a),r.set(a.session_file,b)}let s=new Map;for(let a of p)s.set(a.session_file,(s.get(a.session_file)??0)+1);let t=r.get(a.parentFile)??[],u=t.findLast(b=>!a.parentScan.helperEntries.has(b.entry_id)),v=i+1<a.users.length,w=u?(h=u.stop_reason,"stop"===h?"completed":"error"===h||"length"===h?"error":"aborted"===h?"aborted":"running"):"running",x="running"===w&&v?"interrupted":w,z="running"===x?null:v?l:e,B=[];for(let b of(t.length>0&&B.push(y("main","main",null,t,a.parentScan.helperEntries,s.get(a.parentFile)??0,A(a.parentScan,a.users,i,z))),a.childFiles)){let c=r.get(b);if(!c||0===c.length)continue;let d=function(a){let b=a.split(/[\\/]/).pop()??a;return b.endsWith(".jsonl")?b.slice(0,-6):b}(b),e=function(a,b){if("__advisor"===a)return{kind:"advisor",purpose:null};let c=b.get(a)??b.get(a.replace(/-\d+$/,""));return c&&("maker"===c.agent||"checker"===c.agent)?{kind:c.agent,purpose:c.purpose}:{kind:"unattributed",purpose:null}}(d,a.parentScan.roleMap),f=a.childScans.get(b)??q();B.push(y(d,e.kind,e.purpose,c,f.helperEntries,s.get(b)??0,A(f,a.users,i,z)))}let C=0,D=0,E=0,F=0;for(let a of B)C+=a.busyMs,D+=a.totalTokens,E+=a.estimatedCostUsd,F+=a.unpricedRequests;let G=o.map(a=>[a.timestamp,a.timestamp+(a.duration??0)]),H=Math.max(0,n-function(a,b,c){if(!(c>b))return 0;let d=[];for(let[e,f]of a){let a=Math.max(e,b),g=Math.min(f,c);g>a&&d.push([a,g])}d.sort((a,b)=>a[0]-b[0]||a[1]-b[1]);let e=0,f=0,g=0,h=!1;for(let[a,b]of d)!h||a>g?(h&&(e+=g-f),f=a,g=b,h=!0):b>g&&(g=b);return h&&(e+=g-f),e}(G,k,l)),I=[];H>0&&I.push("wait-attribution"),B.some(a=>a.unpricedRequests>0)&&I.push("unpriced-cost"),B.some(a=>0===a.efforts.length)&&I.push("effort-unrecorded"),B.some(a=>"unattributed"===a.kind)&&I.push("role-unattributed"),B.some(a=>a.untimedRequests>0)&&I.push("busy-unrecorded");let J=m(B.map(a=>({kind:a.kind,models:a.models,efforts:a.efforts})));g.push({runId:`${a.sessionId}:${j.entry_id}`,sessionId:a.sessionId,entryId:j.entry_id,index:i+1,title:a.parentScan.titles.get(j.entry_id)??null,startedAt:k,endedAt:"running"===x?null:l,wallClockMs:n,outcome:x,busyMs:C,childCount:B.filter(a=>"main"!==a.id).length,totalTokens:D,estimatedCostUsd:E,unpricedRequests:F,configSignature:J.signature,harnessRevision:function(a,b){let c=null;for(let d of a){if(d.from>b)break;c=d.revision}return c}(b,k),roles:B,bottlenecks:function(a,b){let c=a.map(a=>({kind:"role-busy",id:a.id,ms:a.ms}));b>0&&c.push({kind:"unmeasured-gap",id:"unmeasured",ms:b}),c.sort((a,b)=>b.ms-a.ms||(a.id<b.id?-1:+(a.id>b.id)));let d=c.slice(0,3),e=d[0]?.ms??0;return d.map(a=>({kind:a.kind,id:a.id,ms:a.ms,relative:e>0?a.ms/e:0}))}(B.map(a=>({id:a.id,ms:a.busyMs})),H),unmeasuredMs:H,toolTotals:function(a,b){let c=new Map;for(let d of a){let a=c.get(d.tool_name)??{calls:0,failed:0,noMatch:0,cancelled:0};if(a.calls+=1,(d.is_error??0)!==0){let c=d.session_file===b.parentFile?b.parentScan:b.childScans.get(d.session_file),e=c?.toolErrors.get(d.tool_call_id)??"failed";a[e]+=1}c.set(d.tool_name,a)}return[...c.entries()].map(([a,b])=>({toolName:a,...b})).sort((a,b)=>b.calls-a.calls||(a.toolName<b.toolName?-1:+(a.toolName>b.toolName))).slice(0,8)}(p,a),unmeasured:I})}return g}function A(a,b,c,d){let e=b[c].timestamp,f=[],g=new Set,h=null;for(let i of a.effortTimeline){if(i.at<=e){h=i.level;continue}(null===d||!(i.at>d))&&x(b,i.at)===c&&(null===h||g.has(h)||(g.add(h),f.push(h),h=null),g.has(i.level)||(g.add(i.level),f.push(i.level)))}return null===h||g.has(h)||f.push(h),f}function B(a){let b=new Set;for(let c of a)for(let a of c.unmeasured)b.add(a);return k.iv.filter(a=>b.has(a))}function C(a,b=k.BY){if(!a.trim())throw new F("sessionId가 필요합니다.",400);let c=Math.min(Math.max(Math.floor(b),1),k.mP),d=s();if(!d)return{sessionId:a,runs:[],unmeasured:[]};try{let b=v(d,a);if(!b)return{sessionId:a,runs:[],unmeasured:[]};let e=z(w(d,a,b),t());e.sort((a,b)=>b.startedAt-a.startedAt||b.index-a.index);let f=e.slice(0,c);return{sessionId:a,runs:f.map(a=>({runId:a.runId,sessionId:a.sessionId,entryId:a.entryId,index:a.index,title:a.title,startedAt:a.startedAt,endedAt:a.endedAt,wallClockMs:a.wallClockMs,outcome:a.outcome,busyMs:a.busyMs,childCount:a.childCount,totalTokens:a.totalTokens,estimatedCostUsd:a.estimatedCostUsd,unpricedRequests:a.unpricedRequests,configSignature:a.configSignature,harnessRevision:a.harnessRevision})),unmeasured:B(f)}}finally{d.close()}}function D(a,b){if(!a.trim()||!b.trim())throw new F("runId 형식이 올바르지 않습니다.",400);let c=s();if(!c)throw new F("기록을 찾을 수 없습니다.",404);try{let d=v(c,a);if(!d)throw new F("기록을 찾을 수 없습니다.",404);let e=z(w(c,a,d),t()).find(a=>a.entryId===b);if(!e)throw new F("기록을 찾을 수 없습니다.",404);return e}finally{c.close()}}function E(a,b=k.UL,c="all",d="config",e=null){let f=Math.min(Math.max(Math.floor(b),1),k.P9),g=s();if(!g)return{folder:a,folders:[],scope:c,configs:[],runCount:0,sessionCount:0,excludedRunCount:0,groupBy:d,harness:e,harnesses:[],unmeasured:[]};try{let b=g.query(`SELECT f.folder AS folder FROM (
11
11
  SELECT folder FROM messages GROUP BY folder
12
12
  UNION
13
13
  SELECT folder FROM user_messages GROUP BY folder
@@ -16,4 +16,4 @@ exports.id=1517,exports.ids=[1517],exports.modules={14362:(a,b,c)=>{"use strict"
16
16
  FROM user_messages u LEFT JOIN messages m ON m.session_file = u.session_file
17
17
  WHERE u.folder = ? GROUP BY u.session_file ORDER BY MAX(m.timestamp) DESC`).all(a):g.query(`SELECT u.session_file AS session_file
18
18
  FROM user_messages u LEFT JOIN messages m ON m.session_file = u.session_file
19
- GROUP BY u.session_file ORDER BY MAX(m.timestamp) DESC`).all()).map(a=>a.session_file).filter(a=>M.test(a)).slice(0,f),i=new Map,j=t(),l=[],n=0,q=0;for(let a of h){let b=a.split(/[\\/]/).pop()??a,f=b.endsWith(".jsonl")?b.slice(0,-6).split("_").slice(1).join("_"):"",h=z(w(g,f,a),j),o=!1;for(let a of h){if("attributed"===c&&(0===a.roles.length||a.roles.some(a=>"unattributed"===a.kind))){q+=1;continue}if(l.push(a),null!==e&&(e===k.ZM?null!==a.harnessRevision:a.harnessRevision!==e))continue;o=!0;let b=m(a.roles.map(a=>({kind:a.kind,models:a.models,efforts:a.efforts}))),f="harness"===d?JSON.stringify([b.identity,a.harnessRevision]):b.identity,g=i.get(f);g?g.runs.push(a):i.set(f,{signature:a.configSignature,roles:b.roles,runs:[a]})}o&&(n+=1)}let r=[...i.values()].map(a=>{let b=a.runs,c=b.map(a=>a.wallClockMs),d=b.map(a=>a.busyMs),e=b.map(a=>a.totalTokens),f=b.map(a=>a.estimatedCostUsd),g=b.map(a=>a.startedAt);return{signature:a.signature,roles:a.roles,runCount:b.length,medianWallClockMs:p(c),medianBusyMs:p(d),medianTotalTokens:p(e),medianEstimatedCostUsd:p(f),totalEstimatedCostUsd:f.reduce((a,b)=>a+b,0),unpricedRuns:b.filter(a=>a.unpricedRequests>0).length,untimedRuns:b.filter(a=>a.roles.some(a=>a.untimedRequests>0)).length,reworkRuns:b.filter(a=>a.roles.some(a=>"rework"===a.purpose)).length,errorRuns:b.filter(a=>"error"===a.outcome).length,childRunsAvg:b.reduce((a,b)=>a+b.childCount,0)/b.length,firstSeenAt:Math.min(...g),lastSeenAt:Math.max(...g),harnesses:o(b)}});if("harness"===d){let a=new Map;for(let b of r){let c=a.get(b.signature)??{runCount:0,lastSeenAt:b.lastSeenAt};c.runCount+=b.runCount,c.lastSeenAt=Math.max(c.lastSeenAt,b.lastSeenAt),a.set(b.signature,c)}r.sort((b,c)=>{let d=a.get(b.signature)??{runCount:b.runCount,lastSeenAt:b.lastSeenAt},e=a.get(c.signature)??{runCount:c.runCount,lastSeenAt:c.lastSeenAt};return e.runCount-d.runCount||e.lastSeenAt-d.lastSeenAt||(b.signature<c.signature?-1:+(b.signature>c.signature))||c.lastSeenAt-b.lastSeenAt})}else r.sort((a,b)=>b.runCount-a.runCount||b.lastSeenAt-a.lastSeenAt);let s=[...i.values()].flatMap(a=>a.runs);return{folder:a,folders:b,scope:c,configs:r,runCount:s.length,sessionCount:n,excludedRunCount:q,groupBy:d,harness:e,harnesses:o(l),unmeasured:B(s)}}finally{g.close()}}d()}catch(a){d(a)}})},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>k,EN:()=>j,e9:()=>i});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(){return[process.env.CUELO_HOSTNAME,...process.env.CUELO_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function h(a){try{return new URL(a).origin}catch{return null}}function i(a,b=g()){let c=a.headers.get("host"),h=c?f(c):null;return!!h&&(!!("localhost"===h||h.endsWith(".localhost")||(0,d.isIP)(h))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===h}))}function j(a,b=g()){return!!i(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!d)return!0;let e=(b=new URL(a.url),(c=a.headers.get("host"))?h(`${b.protocol}//${c}`):null);return null!==e&&h(d)===e}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},78335:()=>{},96487:()=>{}};
19
+ GROUP BY u.session_file ORDER BY MAX(m.timestamp) DESC`).all()).map(a=>a.session_file).filter(a=>R.test(a)).slice(0,f),i=new Map,j=t(),l=[],n=0,q=0;for(let a of h){let b=a.split(/[\\/]/).pop()??a,f=b.endsWith(".jsonl")?b.slice(0,-6).split("_").slice(1).join("_"):"",h=z(w(g,f,a),j),o=!1;for(let a of h){if("attributed"===c&&(0===a.roles.length||a.roles.some(a=>"unattributed"===a.kind))){q+=1;continue}if(l.push(a),null!==e&&(e===k.ZM?null!==a.harnessRevision:a.harnessRevision!==e))continue;o=!0;let b=m(a.roles.map(a=>({kind:a.kind,models:a.models,efforts:a.efforts}))),f="harness"===d?JSON.stringify([b.identity,a.harnessRevision]):b.identity,g=i.get(f);g?g.runs.push(a):i.set(f,{signature:a.configSignature,roles:b.roles,runs:[a]})}o&&(n+=1)}let r=[...i.values()].map(a=>{let b=a.runs,c=b.map(a=>a.wallClockMs),d=b.map(a=>a.busyMs),e=b.map(a=>a.totalTokens),f=b.map(a=>a.estimatedCostUsd),g=b.map(a=>a.startedAt);return{signature:a.signature,roles:a.roles,runCount:b.length,medianWallClockMs:p(c),medianBusyMs:p(d),medianTotalTokens:p(e),medianEstimatedCostUsd:p(f),totalEstimatedCostUsd:f.reduce((a,b)=>a+b,0),unpricedRuns:b.filter(a=>a.unpricedRequests>0).length,untimedRuns:b.filter(a=>a.roles.some(a=>a.untimedRequests>0)).length,reworkRuns:b.filter(a=>a.roles.some(a=>"rework"===a.purpose)).length,errorRuns:b.filter(a=>"error"===a.outcome).length,childRunsAvg:b.reduce((a,b)=>a+b.childCount,0)/b.length,firstSeenAt:Math.min(...g),lastSeenAt:Math.max(...g),harnesses:o(b)}});if("harness"===d){let a=new Map;for(let b of r){let c=a.get(b.signature)??{runCount:0,lastSeenAt:b.lastSeenAt};c.runCount+=b.runCount,c.lastSeenAt=Math.max(c.lastSeenAt,b.lastSeenAt),a.set(b.signature,c)}r.sort((b,c)=>{let d=a.get(b.signature)??{runCount:b.runCount,lastSeenAt:b.lastSeenAt},e=a.get(c.signature)??{runCount:c.runCount,lastSeenAt:c.lastSeenAt};return e.runCount-d.runCount||e.lastSeenAt-d.lastSeenAt||(b.signature<c.signature?-1:+(b.signature>c.signature))||c.lastSeenAt-b.lastSeenAt})}else r.sort((a,b)=>b.runCount-a.runCount||b.lastSeenAt-a.lastSeenAt);let s=[...i.values()].flatMap(a=>a.runs);return{folder:a,folders:b,scope:c,configs:r,runCount:s.length,sessionCount:n,excludedRunCount:q,groupBy:d,harness:e,harnesses:o(l),unmeasured:B(s)}}finally{g.close()}}d()}catch(a){d(a)}})},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>k,EN:()=>j,e9:()=>i});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(){return[process.env.CUELO_HOSTNAME,...process.env.CUELO_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function h(a){try{return new URL(a).origin}catch{return null}}function i(a,b=g()){let c=a.headers.get("host"),h=c?f(c):null;return!!h&&(!!("localhost"===h||h.endsWith(".localhost")||(0,d.isIP)(h))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===h}))}function j(a,b=g()){return!!i(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!d)return!0;let e=(b=new URL(a.url),(c=a.headers.get("host"))?h(`${b.protocol}//${c}`):null);return null!==e&&h(d)===e}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},78335:()=>{},96487:()=>{}};