@counterfact-labs/cli 0.2.7 → 0.2.9

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 (145) hide show
  1. package/bundle/client-release.json +1 -1
  2. package/dist/adapters/analysis-results.js +87 -0
  3. package/dist/adapters/combined-results.js +27 -0
  4. package/dist/adapters/entry-files.js +5 -2
  5. package/dist/adapters/entry-packing.js +161 -0
  6. package/dist/adapters/entry-selection.js +13 -1
  7. package/dist/adapters/files.js +110 -5
  8. package/dist/adapters/git.js +10 -1
  9. package/dist/adapters/relay-plan.js +5 -7
  10. package/dist/adapters/release.js +4 -1
  11. package/dist/adapters/results.js +9 -2
  12. package/dist/adapters/selection.js +19 -9
  13. package/dist/adapters/settings.js +37 -6
  14. package/dist/adapters/source-relay-plan.js +7 -0
  15. package/dist/analysis-core/analysis/code-agents/skipped-files.js +1 -1
  16. package/dist/analysis-core/analysis/file-analysis-plan.js +1 -0
  17. package/dist/analysis-core/analysis/file-dependencies.js +1 -0
  18. package/dist/analysis-core/analysis/finding-activity-switch.js +1 -0
  19. package/dist/analysis-core/analysis/finding-identity.js +1 -0
  20. package/dist/analysis-core/analysis/finding-quality/policy.js +1 -0
  21. package/dist/analysis-core/analysis/folder-analysis-plan.js +1 -0
  22. package/dist/analysis-core/analysis/passes/full-file-passes.js +1 -0
  23. package/dist/analysis-core/analysis/project-architecture.js +1 -0
  24. package/dist/analysis-core/analysis/schemas.js +1 -1
  25. package/dist/analysis-core/chunks/2AASSZRO.js +35 -0
  26. package/dist/analysis-core/chunks/2YREYGOG.js +1 -0
  27. package/dist/analysis-core/chunks/33HRXJ5Q.js +1 -0
  28. package/dist/analysis-core/chunks/33IGHOYT.js +1 -0
  29. package/dist/analysis-core/chunks/4PT5C4IT.js +7 -0
  30. package/dist/analysis-core/chunks/4RXRAB5S.js +1 -0
  31. package/dist/analysis-core/chunks/4UDQBDDE.js +1 -0
  32. package/dist/analysis-core/chunks/{6RWEWBHK.js → 5B5UCWD3.js} +1 -1
  33. package/dist/analysis-core/chunks/6YCABS5T.js +1 -0
  34. package/dist/analysis-core/chunks/CQQ4TTXE.js +1 -0
  35. package/dist/analysis-core/chunks/CTLHKFPH.js +19 -0
  36. package/dist/analysis-core/chunks/F54DOWKN.js +6 -0
  37. package/dist/analysis-core/chunks/FRXOQ2M6.js +3 -0
  38. package/dist/analysis-core/chunks/HCPO6QPU.js +1 -0
  39. package/dist/analysis-core/chunks/HHFDNY6V.js +14 -0
  40. package/dist/analysis-core/chunks/{FBTOOUPL.js → HVQJKPQ4.js} +1 -1
  41. package/dist/analysis-core/chunks/INVTU73D.js +1 -0
  42. package/dist/analysis-core/chunks/JEWBPIQI.js +1 -0
  43. package/dist/analysis-core/chunks/JGK37AWN.js +1 -0
  44. package/dist/analysis-core/chunks/LFYTD7JF.js +1 -0
  45. package/dist/analysis-core/chunks/LMUXOKIM.js +1 -0
  46. package/dist/analysis-core/chunks/LOBIDUCA.js +1 -0
  47. package/dist/analysis-core/chunks/M5YWJY7P.js +1 -0
  48. package/dist/analysis-core/chunks/MGVIKA74.js +1 -0
  49. package/dist/analysis-core/chunks/MKYLK6DB.js +1 -0
  50. package/dist/analysis-core/chunks/MZOKZ3N6.js +1 -0
  51. package/dist/analysis-core/chunks/NXHVBJL4.js +1 -0
  52. package/dist/analysis-core/chunks/OKBK3JL3.js +1 -0
  53. package/dist/analysis-core/chunks/PBHHWFR6.js +1 -0
  54. package/dist/analysis-core/chunks/Q5WR6B2H.js +2 -0
  55. package/dist/analysis-core/chunks/QVXARKP7.js +1 -0
  56. package/dist/analysis-core/chunks/RQTNTIR4.js +1 -0
  57. package/dist/analysis-core/chunks/{RNTMH4MU.js → S27Y2TP5.js} +1 -1
  58. package/dist/analysis-core/chunks/SJESFYBA.js +10 -0
  59. package/dist/analysis-core/chunks/SP6XFHNH.js +1 -0
  60. package/dist/analysis-core/chunks/VDUFPTDD.js +1 -0
  61. package/dist/analysis-core/chunks/W24SFYZM.js +67 -0
  62. package/dist/analysis-core/chunks/YTHF2E2S.js +1 -0
  63. package/dist/analysis-core/chunks/YWL52FVW.js +2 -0
  64. package/dist/analysis-core/contracts/analysis-selection.js +1 -1
  65. package/dist/analysis-core/contracts/analysis-size.js +1 -0
  66. package/dist/analysis-core/contracts/execution-request.js +1 -0
  67. package/dist/analysis-core/contracts/intake-finding.js +1 -0
  68. package/dist/analysis-core/contracts/model-call-identity.js +1 -0
  69. package/dist/analysis-core/contracts/relay-analysis.js +1 -1
  70. package/dist/analysis-core/contracts/requests.js +1 -1
  71. package/dist/analysis-core/conventions/analysis-fit.js +1 -1
  72. package/dist/analysis-core/conventions/file-admission.js +1 -1
  73. package/dist/analysis-core/conventions/read-limits.js +1 -0
  74. package/dist/analysis-core/import/calls/modules.js +1 -1
  75. package/dist/analysis-core/import/entry-selection.js +1 -0
  76. package/dist/analysis-core/import/outside-loader-sources.js +1 -1
  77. package/dist/analysis-core/index.js +3 -3
  78. package/dist/analysis-core/requests/answer-formats.js +1 -1
  79. package/dist/analysis-core/requests/local-plan.js +1 -1
  80. package/dist/analysis-core/requests/planned-limits.js +1 -0
  81. package/dist/analysis-core/requests/registry.js +1 -1
  82. package/dist/analysis-core/requests/template-version.js +1 -1
  83. package/dist/analysis-core/requests/tools.js +1 -1
  84. package/dist/analysis-core/settings.js +1 -1
  85. package/dist/analysis-core/stages/engine-entry.js +1 -1
  86. package/dist/bundle/seal/engine.js +1 -1
  87. package/dist/cli/analysis-selection.js +47 -5
  88. package/dist/cli/api.js +1 -1
  89. package/dist/cli/commands/analyze.js +58 -15
  90. package/dist/cli/commands/skipped.js +65 -0
  91. package/dist/cli/context.js +2 -1
  92. package/dist/cli/finding-display.js +102 -7
  93. package/dist/cli/finding-settings.js +3 -1
  94. package/dist/cli/intake-payload.js +26 -2
  95. package/dist/cli/main.js +21 -7
  96. package/dist/cli/mcp-failure.js +6 -5
  97. package/dist/cli/mcp.js +134 -28
  98. package/dist/cli/relay-check.js +107 -23
  99. package/dist/cli/relay-failure.js +4 -4
  100. package/dist/cli/relay-preparation.js +50 -12
  101. package/dist/cli/result-check.js +31 -12
  102. package/dist/cli/saved-results.js +10 -0
  103. package/dist/cli/scope-choices.js +3 -3
  104. package/dist/cli/sign-in.js +2 -2
  105. package/dist/cli/skipped-files.js +22 -0
  106. package/dist/cli/summary.js +15 -1
  107. package/dist/contract/agent-choice.js +25 -2
  108. package/dist/contract/cli-api-messages.js +3 -0
  109. package/dist/contract/cli-refusals.js +31 -5
  110. package/dist/contract/cli-version.js +1 -1
  111. package/dist/contract/console-url.js +3 -0
  112. package/dist/contract/console.js +17 -38
  113. package/dist/contract/engine.js +1 -1
  114. package/dist/contract/messages.js +4 -3
  115. package/dist/contract/project-architecture.js +1 -0
  116. package/dist/contract/scope-choice.js +31 -11
  117. package/dist/contract/selection-offer.js +5 -8
  118. package/dist/gatekeeper/cli-api.js +70 -4
  119. package/dist/gatekeeper/console.js +19 -3
  120. package/dist/gatekeeper/model.js +5 -23
  121. package/dist/gatekeeper/trust/policy.js +2 -1
  122. package/package.json +4 -2
  123. package/dist/analysis-core/analysis/source-notes/types.js +0 -1
  124. package/dist/analysis-core/chunks/2PSNOSJ2.js +0 -1
  125. package/dist/analysis-core/chunks/2PZF54KH.js +0 -10
  126. package/dist/analysis-core/chunks/6B2HILSY.js +0 -1
  127. package/dist/analysis-core/chunks/6U2IR4XB.js +0 -1
  128. package/dist/analysis-core/chunks/7NEWZ74F.js +0 -1
  129. package/dist/analysis-core/chunks/CGCJN73D.js +0 -14
  130. package/dist/analysis-core/chunks/CWYVUGG4.js +0 -1
  131. package/dist/analysis-core/chunks/FSLWD2PE.js +0 -1
  132. package/dist/analysis-core/chunks/GOQVKWP3.js +0 -32
  133. package/dist/analysis-core/chunks/IHAVDX4L.js +0 -66
  134. package/dist/analysis-core/chunks/IVULXWQN.js +0 -21
  135. package/dist/analysis-core/chunks/K2GNDX3W.js +0 -1
  136. package/dist/analysis-core/chunks/K5FUABWW.js +0 -1
  137. package/dist/analysis-core/chunks/KGQYR62R.js +0 -7
  138. package/dist/analysis-core/chunks/KWECQJ6X.js +0 -1
  139. package/dist/analysis-core/chunks/PY5M22CL.js +0 -1
  140. package/dist/analysis-core/chunks/PYKAERZZ.js +0 -1
  141. package/dist/analysis-core/chunks/SKVEBOGA.js +0 -1
  142. package/dist/analysis-core/chunks/SLJ6CW7W.js +0 -1
  143. package/dist/analysis-core/chunks/UEORNVQB.js +0 -1
  144. package/dist/analysis-core/chunks/WYLIV2P2.js +0 -1
  145. package/dist/analysis-core/data/finding-types.js +0 -1
@@ -0,0 +1 @@
1
+ import{a as l,b as h}from"./LFYTD7JF.js";import{a as m,c as u,d as s,e as c,f as i}from"./MGVIKA74.js";import{c as p,d as b}from"./VDUFPTDD.js";function a(n,x={}){return JSON.stringify({bundleDescription:n,inputs:x})}import{z as e}from"zod";import{z as t}from"zod";var r=t.object({motivation:t.array(t.object({kind:t.string(),reason:t.string(),evidence:t.string()})),outcomes:t.array(t.object({improvement:t.string(),measurement:t.string()}))}),N=r.extend({motivation:r.shape.motivation.default([]),outcomes:r.shape.outcomes.default([])});var d=e.object({path:e.string().min(1),line:e.number().int().positive().nullable()}),y=e.object({label:e.string(),source:e.literal("mcp").optional(),brand:e.string().nullable().default(()=>null)}),S=e.object({filledAtRunTime:e.boolean().optional(),role:e.enum(l),label:e.string().nullable().default(()=>null),path:e.string().min(1),span:e.object({from:e.number().int(),to:e.number().int()}).optional()}),j=e.object({id:e.string().min(1),label:e.string().min(1),kind:h,desc:e.string(),meta:e.string().nullable(),sourceRef:d.nullable(),sourcePaths:e.array(e.string()).optional(),files:e.array(S).default(()=>[]),tools:e.array(y).default(()=>[])}),v=e.object({from:e.string().min(1),to:e.string().min(1),kind:c,label:e.string().nullable(),sourceRef:d.nullable()}),T=e.object({nodes:e.array(j),edges:e.array(v),warnings:e.array(e.string())}),E=e.object({...r.shape,title:e.string().min(1).describe(a("analysis-wire-schemas-1")),approach:e.string().min(1).describe(a("analysis-wire-schemas-2")),kind:e.enum(["code","prompt"]),targetFiles:e.array(e.object({path:e.string().min(1),create:e.boolean().nullable()})),...i.shape});function o(n){return e.string().describe(a("analysis-wire-schemas-3",{v0:Object.values(n.enum).join(", ")}))}var w=e.object({nodes:e.array(e.object({id:e.string().min(1),change:o(s),label:e.string().nullable()})),edges:e.array(e.object({from:e.string().min(1),to:e.string().min(1),kind:o(c),change:o(s),detail:e.string().nullable()}))}),F=E.omit({motivation:!0,outcomes:!0}).extend({expectedOutcome:e.string().describe(a("analysis-wire-schemas-4")),summary:i.shape.summary.catch(null),impact:i.shape.impact.catch(null),objective:i.shape.objective.catch(null),blockedBy:i.shape.blockedBy.catch(null),confidence:o(u).nullable().catch(null),status:o(m).nullable().catch(null),alsoFixes:e.array(e.string()).nullable().default([]).catch(()=>[]),delta:w.nullable().catch(null)}),q=e.object({path:e.string().min(1),line:e.number().int().positive(),excerpt:e.string().trim().min(1)}),k=e.object({path:e.string(),line:e.number(),excerpt:e.string()}),g=n=>e.string().describe(a("analysis-wire-schemas-5",{v0:p(n).join(", ")})).nullable().catch(null),f=e.object({kind:e.enum(["ordering","reliability","coverage","cost","safety","correctness"]),severity:e.enum(["low","medium","high","critical"]),title:e.string().min(1).describe(a("analysis-wire-schemas-6")),cause:e.string().min(1),summary:e.string().describe(a("analysis-wire-schemas-7")).catch(""),site:e.object({path:e.string().min(1),line:e.number().int().positive().nullable()}).nullable(),excerpt:e.string().nullable(),category:g({}),otherSites:e.array(k).nullable().default([]).catch(()=>[]),question:e.string().describe(a("analysis-wire-schemas-8")).catch(""),fixes:e.array(F).min(1)}),O=e.object({findings:e.array(f)});function A(n){return b(n)?O:e.object({findings:e.array(f.extend({category:g(n)}))})}export{a,T as b,F as c,q as d,f as e,O as f,A as g};
@@ -0,0 +1 @@
1
+ var o=["totalBytes","instructionBytes","fileCount"],i=()=>new Error("Invalid analysis size"),c=t=>typeof t=="number"&&Number.isSafeInteger(t)&&t>=0;function f(t){if(!t||typeof t!="object"||Array.isArray(t)||Reflect.ownKeys(t).length!==o.length||o.some(s=>!Object.hasOwn(t,s)||!c(Reflect.get(t,s))))throw i();let{totalBytes:e,instructionBytes:n,fileCount:r}=t;if(n>e)throw i();return{totalBytes:e,instructionBytes:n,fileCount:r}}export{f as a};
@@ -0,0 +1,2 @@
1
+ import{h as j}from"./VDUFPTDD.js";function N(e,t){let n=[...e].filter(o=>t.has(o)).length,r=e.size+t.size-n;return r?n/r:null}function D(e){let t=e.title.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),n=[e.kind,e.siteRepo??"-",e.site?.path??"-",t];return(j(e.category)?[...n,e.site?.line??"-",e.cause??""]:n).join("|")}var p=e=>e.legacyFingerprint??e.fingerprint,y=e=>e.replace(/\s+/g," ").trim(),T=new Set("a an and are as at be been being but by can could do does for from has have in is it its of on or that the their them then there these they this those to until was were which while will with would".split(" ")),S=new Set(["before","after","instead","from","to","than"]),P=new Set([...S,"no","not","never","cannot","without"]),_=/^(?:send(?:s|ing)?|sent|delet(?:e[sd]?|ing)|refund(?:s|ed|ing)?|grant(?:s|ed|ing)?|revok(?:e[sd]?|ing)|return(?:s|ed|ing)?|rout(?:e[sd]?|ing)|read(?:s|ing)?|writ(?:e[sd]?|ing)|charg(?:e[sd]?|ing)|block(?:s|ed|ing)?|allow(?:s|ed|ing)?|skip(?:s|ped|ping)?|select(?:s|ed|ing)?|check(?:s|ed|ing)?|request(?:s|ed|ing)?)$/,k=e=>e.split(/[.!?;,\n]+|\b(?:and|but|while)\b/);function v(e){return _.test(e)?e==="sent"?"send":e.replace(/(?:ing|ped|ed|es|s)$/,"").replace(/^skipp$/,"skip").replace(/^(delet|revok|rout|writ|charg)$/,"$1e"):null}function w(e){let t=(e.toLowerCase().replaceAll("can't","cannot").match(/[a-z0-9_]+/g)??[]).filter(n=>!T.has(n)||S.has(n)).map(n=>v(n)??n);return t.map((n,r)=>["not","never","cannot"].includes(n)&&v(t[r+1]??"")!==null?"skip":n)}function L(e){return new Set(w(e))}function B(e){return[...L(e)].filter(t=>v(t)!==null).sort()}function W(e){return k(e).filter(t=>w(t).some(n=>S.has(n))).map(t=>w(t).join(" ")).sort()}function Q(e,t){let n=r=>r!=="refund"&&v(r)!==null;return k(e).flatMap(r=>{let o=w(r);return o.flatMap((a,l)=>{if(!n(a))return[];let u=o.slice(l+1),f=u.findIndex(m=>n(m)||P.has(m)),s=u.slice(0,f<0?u.length:f).filter(m=>t.has(m)),i=["skip","no","not","never","cannot","without"].includes(o[l-1]??""),c=f<0?[]:u.slice(f),d=c.findIndex(m=>n(m)),g=c.slice(0,d<0?c.length:d),h=g.flatMap((m,E)=>{if(!S.has(m))return[];let O=g.slice(E+1),M=O.findIndex(x=>S.has(x));return[JSON.stringify([m,O.slice(0,M<0?O.length:M).filter(x=>t.has(x))])]});return s.length?[{action:a,objects:s,denied:i,relations:h}]:[]})}).sort((r,o)=>JSON.stringify(r).localeCompare(JSON.stringify(o)))}function G(e){let t=w(e);return["before","after","instead"].filter(n=>t.includes(n)).concat(t.some((n,r)=>["no","not","never","cannot","without"].includes(n)||n==="skip"&&v(t[r+1]??"")!==null)?["negative"]:[])}function b(e){let t=y(e.cause??"").toLowerCase(),n=[...new Set(e.sites.map(a=>y(a.quote).toLowerCase()))].sort((a,l)=>l.length-a.length||a.localeCompare(l));for(let a of n)t=t.replaceAll(a,"");let r=L(t),o=L(e.sites.map(a=>a.quote).join(" "));return{text:t,terms:r,operators:t.match(/!==|===|!=|==|<=|>=|<|>/g)??[],actions:B(t),direction:G(t),relations:W(t),anchors:[...r].filter(a=>o.has(a)).sort(),numbers:[...r].filter(a=>/^\d+$/.test(a)).sort(),objects:k(t).map(a=>w(a).filter(l=>o.has(l)&&v(l)===null&&!P.has(l)).join(" ")).filter(Boolean).sort(),bindings:Q(t,o)}}function C(e,t){let[n,r]=[b(e),b(t)];if(Math.min(n.terms.size,r.terms.size)<3||!n.anchors.length)return!1;for(let a of["operators","actions","direction","relations","anchors","numbers","objects","bindings"])if(JSON.stringify(n[a])!==JSON.stringify(r[a]))return!1;let o=[...n.terms].filter(a=>r.terms.has(a));return n.text===r.text||o.length>=4&&o.length/Math.max(n.terms.size,r.terms.size)>=.7}function K(e){return[...new Set(e.map(t=>JSON.stringify([t.repoKey,t.path,y(t.quote)])))].sort()}function I(e){return e.omittedSites||!e.sites.length||e.sites.some(t=>t.verified===!1||!t.path||!y(t.quote)||!Number.isInteger(t.startLine)||t.startLine<1||!Number.isInteger(t.endLine)||t.endLine<t.startLine)?null:K(e.sites)}function J(e,t){return e.kind===t.kind&&e.category===t.category&&(e.agentId??null)===(t.agentId??null)}function H(e,t){if(!e.kind||!e.category||!J(e,t))return!1;let[n,r]=[I(e),I(t)];return n!==null&&r!==null&&JSON.stringify(n)===JSON.stringify(r)&&C(e,t)}function U(e,t){if(!J(e,t))return!0;let[n,r]=[I(e),I(t)];return n!==null&&r!==null&&JSON.stringify(n)!==JSON.stringify(r)?!0:n===null||r===null?!1:R(e,t)}function R(e,t){let[n,r]=[b(e),b(t)],o=(l,u)=>l.some(f=>!u.includes(f))&&u.some(f=>!l.includes(f));for(let l of["actions","anchors","numbers","operators"])if(o(n[l],r[l]))return!0;for(let l of n.actions.filter(u=>r.actions.includes(u))){let u=n.bindings.filter(s=>s.action===l),f=r.bindings.filter(s=>s.action===l);if(u.length&&f.length&&u.every(s=>f.every(i=>o(s.objects,i.objects)||s.denied!==i.denied||o(s.relations,i.relations))))return!0}for(let l of new Set(n.bindings.map(u=>JSON.stringify(u.objects)))){let u=f=>f.bindings.filter(s=>JSON.stringify(s.objects)===l).map(s=>s.action);if(o(u(n),u(r)))return!0}let a=l=>l.direction.filter(u=>u!=="negative");return!!o(a(n),a(r))}function A(e){for(let i of[e.previous,e.current])if(i.some(c=>!c.id||!c.fingerprint)||new Set(i.map(c=>c.id)).size!==i.length)throw new Error("Missing or duplicate finding identities.");let t=e.previous.flatMap(i=>e.current.flatMap(c=>(p(i)===p(c)?!e.enabled||!U(i,c):e.enabled&&H(i,c))?[{previous:i,current:c}]:[])),n=[],r=new Set,o=new Set,a=(i,c)=>{for(let d of i)i.filter(g=>g.previous.id===d.previous.id).length!==1||i.filter(g=>g.current.id===d.current.id).length!==1||(n.push({previousId:d.previous.id,currentId:d.current.id,fingerprint:e.enabled?d.previous.fingerprint:p(d.previous),reason:c}),r.add(d.previous.id),o.add(d.current.id))};a(t.filter(i=>p(i.previous)===p(i.current)),"legacy");let l=t.filter(i=>!r.has(i.previous.id)&&!o.has(i.current.id));e.enabled&&a(l,"meaning");let u=l.filter(i=>!r.has(i.previous.id)&&!o.has(i.current.id)),f=new Map;for(let i of u){let c=u.filter(h=>h.current.id===i.current.id).map(h=>h.previous.id).sort(),d=u.filter(h=>h.previous.id===i.previous.id).map(h=>h.current.id).sort(),g={reason:"ambiguous",previousIds:c,currentIds:d};f.set(JSON.stringify(g),g)}n.sort((i,c)=>i.previousId.localeCompare(c.previousId)||i.currentId.localeCompare(c.currentId));let s=new Map(n.map(i=>[i.currentId,i]));return{matches:n,unmatchedPrevious:e.previous.filter(i=>!r.has(i.id)),unmatchedCurrent:e.current.filter(i=>!o.has(i.id)),currentIdentities:e.current.map(i=>({currentId:i.id,legacyFingerprint:p(i),matchedFingerprint:s.get(i.id)?.fingerprint??p(i),matchedId:s.get(i.id)?.previousId??i.id})),diagnostics:[...f.entries()].sort(([i],[c])=>i.localeCompare(c)).map(([,i])=>i)}}function q(e,t){let n=new Map;for(let r of e.sites){let o=K([r])[0];t.includes(o)||n.set(o,JSON.stringify([r.repoKey,r.path]))}return[...n.values()].sort()}function Z(e,t){let n=A({previous:[e],current:[t],enabled:!0});if(!J(e,t))return"different";let[r,o]=[I(e),I(t)];if(r===null||o===null)return"unknown";if(n.matches.length)return"unchanged";if(!e.kind||!e.category||p(e)!==p(t))return"different";let a=y(e.cause??"").toLowerCase();if(!a||a!==y(t.cause??"").toLowerCase()&&!C(e,t))return"different";let[l,u]=[q(e,o),q(t,r)];return!l.length||new Set(l).size!==l.length||JSON.stringify(l)!==JSON.stringify(u)?"different":"quotes_changed"}function ee(e){let t=A(e),n=new Set(e.previous.map(p)),r=new Set(e.current.map(p)),o=(s,i)=>JSON.stringify([s,i]),a=new Set(t.matches.map(s=>o(s.previousId,s.currentId)));for(let s of e.reviews??[])if(!e.previous.some(i=>i.id===s.beforeId)||!e.current.some(i=>i.id===s.afterId))throw new Error("Identity review names a missing finding.");let l=new Set(e.previous.map(s=>JSON.stringify(["previous",s.id]))),u=new Map(t.matches.map(s=>[s.currentId,s.previousId])),f=new Set(e.current.map(s=>u.has(s.id)?JSON.stringify(["previous",u.get(s.id)]):JSON.stringify(["current",s.id])));return{result:t,legacyOverlap:N(n,r),matchedOverlap:N(l,f),review:{pairs:t.matches.map(s=>({beforeId:s.previousId,afterId:s.currentId,reason:s.reason})),falseJoins:e.reviews?.filter(s=>!s.sameProblem&&a.has(o(s.beforeId,s.afterId))).map(s=>o(s.beforeId,s.afterId))??null,missedJoins:e.reviews?.filter(s=>s.sameProblem&&!a.has(o(s.beforeId,s.afterId))).map(s=>o(s.beforeId,s.afterId))??null,rawNew:[...r].filter(s=>!n.has(s)).length,rawFixed:[...n].filter(s=>!r.has(s)).length,matchedNew:t.unmatchedCurrent.length,matchedFixed:t.unmatchedPrevious.length}}}var $=e=>[...e.site?[{...e.site,excerpt:e.excerpt}]:[],...e.otherSites??[]];function F(e){let t=$(e),n=new Map;for(let r of t){let o=JSON.stringify([r.path,r.line??null]);(!n.has(o)||(r.line??0)>0&&r.excerpt?.trim())&&n.set(o,r)}return[...n.values()].sort((r,o)=>r.path.localeCompare(o.path)||(r.line??-1)-(o.line??-1))}function te(e,t){if(e.category!==t.category)return!1;let[n,r]=[F(e),F(t)];return n.length===r.length&&n.every((o,a)=>o.path===r[a].path&&(o.line==null||r[a].line==null?o.line==r[a].line:Math.abs(o.line-r[a].line)<=3))}function ne(e,t){let[n,r]=[z(e,"a"),z(t,"b")];if((n.agentId??null)!==(r.agentId??null)||R(n,r))return!1;let o=(i,c)=>i.omittedSites&&!!c.excerpt?.trim()||i.sites.some(d=>!!d.quote.trim()&&(!d.path||!Number.isInteger(d.startLine)||d.startLine<1||d.verified===!1));if(o(n,e)||o(r,t))return!1;let a=i=>{let c=new Map;for(let d of i.sites){if(!d.quote.trim())continue;let g=JSON.stringify([d.repoKey,d.path,d.startLine]);(!c.has(g)||c.get(g).endLine<d.endLine)&&c.set(g,d)}return[...c.values()]},[l,u]=[a(n),a(r)].sort((i,c)=>i.length-c.length);if(!l.length||e.category!==t.category&&l.length<2||l.length===1&&y(e.cause).toLowerCase()!==y(t.cause).toLowerCase()&&!C(n,r))return!1;let f=(i,c)=>i.repoKey===c.repoKey&&i.path===c.path&&i.startLine<=c.endLine&&c.startLine<=i.endLine,s=(i,c)=>i===l.length||u.some((d,g)=>c.has(g)||!f(l[i],d)?!1:s(i+1,new Set([...c,g])));return s(0,new Set)}function z(e,t){return{id:t,fingerprint:D(e),kind:e.kind,title:e.title,category:e.category,cause:e.cause,agentId:e.agentId,omittedSites:+!e.site,sites:$(e).map(n=>({repoKey:n.repo??e.siteRepo??"",path:n.path,startLine:n.line??0,endLine:(n.line??0)+(n.excerpt?.split(`
2
+ `).length??1)-1,quote:n.excerpt??"",...n.verified!==void 0?{verified:n.verified}:{}}))}}export{D as a,p as b,K as c,A as d,Z as e,ee as f,F as g,te as h,ne as i,z as j};
@@ -0,0 +1 @@
1
+ import{z as e}from"zod";var t=e.object({isSystemPrompt:e.boolean(),name:e.string(),reason:e.string()}),n=e.object({verdicts:e.array(e.object({id:e.string(),evidenceAgainst:e.string(),evidenceFor:e.string(),verdict:e.enum(["keep","drop"]),reason:e.string()}))}),s=e.object({sites:e.array(e.object({index:e.number(),role:e.string(),meaning:e.string(),keyPhrase:e.string()})),support:e.string(),supportNote:e.string(),counterEvidence:e.array(e.object({repo:e.string(),path:e.string(),line:e.number(),excerpt:e.string(),meaning:e.string()}))});export{t as a,n as b,s as c};
@@ -0,0 +1 @@
1
+ import{i as e}from"./LMUXOKIM.js";import{z as t}from"zod";var o=t.lazy(()=>t.union([t.string(),t.number(),t.boolean(),t.null(),t.array(o),t.record(t.string(),o)])),n=t.object({data:t.record(t.string(),o),settings:e,maxInputBytes:t.number().int().positive().optional()}).strict(),i=t.string().min(1).max(128).regex(/^[a-zA-Z0-9][a-zA-Z0-9._:-]*$/),r=t.object({maxTokens:t.number().int().positive().optional(),effort:t.enum(["low","medium","high","max"]).optional(),thinking:t.literal("disabled").optional(),promptCache:t.boolean().optional()}).strict(),m=t.object({template:t.string().min(1),inputs:n,answerFormat:t.string().min(1),model:i,limits:r.optional()}).strict();export{n as a,i as b,r as c,m as d};
@@ -1 +1 @@
1
- import{pa as t,ra as o,va as a,xa as p}from"./IHAVDX4L.js";function m(e,l,n={}){let r=t(e,l,n.structureState);return[...r.calls,...o(e,r.findings),...p(e,l,n),...a(e)]}function C(e,l){let n=Object.entries(l.files).map(([f,i])=>({path:f,size:Buffer.byteLength(i)})),r=m(e,n,{structureState:{repos:[{key:l.repoKey,kind:"fs",files:l.files,...l.root===void 0?{}:{root:l.root}}],mapped:[l.fragment]}});return{files:n,calls:r}}export{m as a,C as b};
1
+ import{pa as t,ra as o,va as a,xa as p}from"./W24SFYZM.js";function m(e,l,n={}){let r=t(e,l,n.structureState);return[...r.calls,...o(e,r.findings),...p(e,l,n),...a(e)]}function C(e,l){let n=Object.entries(l.files).map(([f,i])=>({path:f,size:Buffer.byteLength(i)})),r=m(e,n,{structureState:{repos:[{key:l.repoKey,kind:"fs",files:l.files,...l.root===void 0?{}:{root:l.root}}],mapped:[l.fragment]}});return{files:n,calls:r}}export{m as a,C as b};
@@ -0,0 +1,10 @@
1
+ import{c as w}from"./RUVMFAST.js";import{a as z}from"./S27VIQMZ.js";import{posix as C}from"node:path";var x=class{text;tokens=[];lineStarts=[0];constructor(n){this.text=n;for(let e=0;e<n.length;e++)n.charCodeAt(e)===10&&this.lineStarts.push(e+1)}push(n,e,s,i,r=!1){this.tokens.push({kind:n,text:this.text.slice(e,s),value:i??this.text.slice(e,s),start:e,end:s,line:this.lineAt(e),endLine:this.lineAt(s-1),...r?{formatted:!0}:{}})}lineAt(n){let e=0,s=this.lineStarts.length-1;for(;e<s;){let i=e+s+1>>1;this.lineStarts[i]<=n?e=i:s=i-1}return e+1}},ut=/[\p{L}_$]/u,pt=/[\p{L}\p{N}_$]/u;function E(t){return ut.test(t)}function Z(t){return pt.test(t)}function y(t){return t>="0"&&t<="9"}function v(t){return t===" "||t===" "||t===`
2
+ `||t==="\r"||t==="\f"||t==="\v"}function $(t,n){return t[n+1]==="\r"&&t[n+2]===`
3
+ `?3:2}function O(t,n){let e=n+1;for(;e<t.length&&Z(t[e]);)e++;return e}function I(t,n){let e=n+1;for(;e<t.length&&(Z(t[e])||t[e]===".");)e++;return e}function W(t,n){for(;n<t.length&&t[n]!==`
4
+ `&&t[n]!=="\r";)n++;return n}var F={n:`
5
+ `,t:" ",r:"\r",b:"\b",f:"\f",v:"\v"},D=/^[0-9a-fA-F]+$/;function dt(t,n,e){let s=t[n+1];if(s==="\r"&&t[n+2]===`
6
+ `)return["",n+3];if(s===`
7
+ `||s==="\r")return["",n+2];if(s in F)return[F[s],n+2];let i=s==="x"?2:s==="u"?4:s==="U"&&e==="py"?8:0;if(i){let r=t.slice(n+2,n+2+i);if(r.length===i&&D.test(r)){let l=parseInt(r,16);if(l<=1114111)return[String.fromCodePoint(l),n+2+i]}}if(s==="u"&&e==="js"&&t[n+2]==="{"){let r=t.indexOf("}",n+3),l=r===-1?"":t.slice(n+3,r);if(D.test(l)&&parseInt(l,16)<=1114111)return[String.fromCodePoint(parseInt(l,16)),r+1]}if(e==="py"){if(s==="a")return["\x07",n+2];if(s>="0"&&s<="7"){let r=n+1;for(;r<n+4&&t[r]>="0"&&t[r]<="7";)r++;return[String.fromCharCode(parseInt(t.slice(n+1,r),8)),r]}if(s==="N"&&t[n+2]==="{"){let r=t.indexOf("}",n+3);if(r!==-1)return[t.slice(n,r+1),r+1]}}return e==="js"&&s==="0"?["\0",n+2]:[s,n+2]}function S(t,n){let e="",s=0;for(;s<t.length;){if(t[s]!=="\\"||s+1>=t.length){e+=t[s++];continue}let[i,r]=dt(t,s,n);e+=i,s=r}return e}var ht=new Set(["return","typeof","instanceof","in","of","new","delete","void","throw","case","do","else","yield","await"]);function J(t,n){let e=t[n],s=n+1;for(;s<t.length;){let i=t[s];if(i==="\\")s+=$(t,s);else{if(i===e)return s+1;if(i===`
8
+ `||i==="\r")return s;s++}}return t.length}function gt(t,n,e=!1){let s=["t"],i=[],r=-1,l,f,o=(u,a,p)=>{f=l,l={kind:u,text:t.slice(a,p),start:a,end:p}},c=n+1;for(;c<t.length;){let u=s[s.length-1],a=t[c];if(u==="t")if(a==="\\")c+=$(t,c);else if(a==="`"){if(e&&o("template",c,c+1),c++,s.pop(),s.length===0)return{end:c,closed:!0,interpolations:i}}else a==="$"&&t[c+1]==="{"?(l=f=void 0,s.length===1&&(r=c),s.push(1),c+=2):c++;else if(a==="'"||a==='"'){let p=J(t,c);e&&o("string",c,p),c=p}else if(a==="`")s.push("t"),c++;else if(a==="/"&&t[c+1]==="/")c=W(t,c);else if(a==="/"&&t[c+1]==="*")c=X(t,c);else if(e&&a==="/"&&B(l,f)){let p=q(t,c);o("regex",c,p),c=p}else if(a==="{")e&&o("punct",c,c+1),s[s.length-1]=u+1,c++;else if(a==="}")e&&o("punct",c,c+1),c++,u===1?(s.pop(),s.length===1&&i.push([r,c])):s[s.length-1]=u-1;else if(e&&(E(a)||y(a))){let p=y(a)?I(t,c):O(t,c);o(y(a)?"number":"ident",c,p),c=p}else e&&!v(a)&&o("punct",c,c+1),c++}return r!==-1&&s.length>1&&i.push([r,t.length]),{end:t.length,closed:!1,interpolations:i}}function mt(t,n,e){let s=e.closed?e.end-1:e.end,i="",r=n+1;for(let[l,f]of e.interpolations)i+=S(t.slice(r,l),"js")+t.slice(l,Math.min(f,s)),r=f;return i+S(t.slice(r,s),"js")}function X(t,n){let e=t.indexOf("*/",n+2);return e===-1?t.length:e+2}function q(t,n){let e=n+1,s=!1;for(;e<t.length;){let i=t[e];if(i===`
9
+ `||i==="\r")return e;if(i==="\\")e+=$(t,e);else if(i==="[")s=!0,e++;else if(i==="]")s=!1,e++;else if(i==="/"&&!s){e++;break}else e++}for(;e<t.length&&/[a-z]/i.test(t[e]);)e++;return Math.min(e,t.length)}function yt(t,n){return t.kind==="punct"&&(t.text==="+"||t.text==="-")&&n?.text===t.text&&n.end===t.start}function B(t,n){if(!t)return!0;if(yt(t,n))return!1;switch(t.kind){case"ident":return ht.has(t.text);case"number":case"string":case"template":case"regex":return!1;case"punct":return t.text!==")"&&t.text!=="]"&&t.text!=="}";default:return!0}}function G(t){let n=new x(t),e,s,i=(l,f,o,c,u=!1)=>{n.push(l,f,o,c,u),l!=="comment"&&(s=e,e=n.tokens[n.tokens.length-1])},r=0;for(;r<t.length;){let l=t[r],f=t[r+1];if(v(l)){r++;continue}let o;if(l==="/"&&f==="/")o=W(t,r),i("comment",r,o);else if(l==="/"&&f==="*")o=X(t,r),i("comment",r,o);else if(l==="'"||l==='"')o=J(t,r),i("string",r,o,S(jt(t,r,o,l),"js"));else if(l==="`"){let c=gt(t,r);o=c.end,i("template",r,o,mt(t,r,c),c.interpolations.length>0)}else l==="/"&&B(e,s)?(o=q(t,r),i("regex",r,o)):y(l)||l==="."&&y(f??"")?(o=I(t,r),i("number",r,o)):E(l)?(o=O(t,r),i("ident",r,o)):(o=r+1,i("punct",r,o));r=o}return n.tokens}function jt(t,n,e,s){let i=0;for(let l=e-2;l>n&&t[l]==="\\";l--)i++;let r=e-n>1&&t[e-1]===s&&i%2===0;return t.slice(n+1,r?e-1:e)}var _t=new Set(["r","b","f","u","rb","br","fr","rf"]);function Y(t,n,e=!1,s){let i=t[n],r=t.startsWith(i.repeat(3),n),f=n+(r?3:1),o=f,c=0,u=[];for(;o<t.length;){let a=t[o];if(a==="\\")o+=$(t,o);else if(e&&a==="{"&&c===0&&t[o+1]==="{")o+=2;else if(e&&a==="{"){let p=u.at(-1);s&&(c===0||p?.format&&c===p.depth?u.push({start:o+1,depth:c+1,nesting:0,format:!1}):p&&!p.format&&p.nesting++),c++,o++}else if(e&&a==="}"&&c>0){let p=u.at(-1);p?.depth===c?(p.format||s?.push([p.start,o]),u.pop()):p&&!p.format&&p.nesting--,c--,o++}else if(s&&u.length&&!u.at(-1).format&&"()[]".includes(a))u.at(-1).nesting+="([".includes(a)?1:-1,o++;else if(s&&a===":"&&u.length&&!u.at(-1).format&&u.at(-1).nesting===0){let p=u.at(-1);s.push([p.start,o]),p.format=!0,o++}else if(c>0&&!u.at(-1)?.format&&(a==='"'||a==="'")&&!t.startsWith(a.repeat(3),o)&&H(t,o)!==-1)o=H(t,o);else{if(r&&t.startsWith(i.repeat(3),o))return{end:o+3,bodyStart:f,bodyEnd:o};if(!r&&a===i)return{end:o+1,bodyStart:f,bodyEnd:o};if(!r&&(a===`
10
+ `||a==="\r"))return{end:o,bodyStart:f,bodyEnd:o};o++}}return{end:t.length,bodyStart:f,bodyEnd:t.length}}function H(t,n){let e=Y(t,n);return e.end>e.bodyEnd?e.end:-1}function K(t){let n=new x(t),e=0;for(;e<t.length;){let s=t[e];if(v(s)){e++;continue}if(s==="#"){let i=W(t,e);n.push("comment",e,i),e=i}else if(s==='"'||s==="'")e=V(n,e,e,"");else if(y(s)||s==="."&&y(t[e+1]??"")){let i=I(t,e);n.push("number",e,i),e=i}else if(E(s)){let i=O(t,e),r=t.slice(e,i).toLowerCase();(t[i]==='"'||t[i]==="'")&&_t.has(r)?e=V(n,e,i,r):(n.push("ident",e,i),e=i)}else n.push("punct",e,e+1),e++}return n.tokens}function V(t,n,e,s){let i=Y(t.text,e,s.includes("f")),r=t.text.slice(i.bodyStart,i.bodyEnd);return t.push("string",n,i.end,s.includes("r")?r:S(r,"py"),s.includes("f")),i.end}var bt={ts:"js",tsx:"js",js:"js",jsx:"js",mjs:"js",cjs:"js",mts:"js",cts:"js",py:"py"};function M(t){let n=t.slice(t.lastIndexOf("/")+1),e=n.lastIndexOf(".");return e===-1?null:bt[n.slice(e+1).toLowerCase()]??null}function Q(t,n){return n==="py"?K(t):G(t)}var d={inventoryEntries:1e4,metadataTextUnits:1e6,workspaceTextUnits:2e6,settingsFiles:128,settingsBytes:2e6,metadataDepth:32,workspacePatterns:128,patternTextUnits:512,patternSegments:64};function m(t){return z.safeParse(t).success&&!t.split("/").includes("node_modules")}function k(t,n){return/^(?:\/|[A-Za-z][A-Za-z\d+.-]*:)|[\\\p{C}]/u.test(n)?null:A(t==="."?"":t,n)}function A(t,n){let e=t?t.split("/"):[];for(let s of n.split("/"))if(!(s===""||s==="."))if(s===".."){if(e.pop()===void 0)return null}else e.push(s);return e.join("/")}var P=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function tt(t){let n=Q(t.replace(/^\uFEFF/,""),"js").filter(s=>s.kind!=="comment"),e=n.filter((s,i)=>s.text!==","||!["}","]"].includes(n[i+1]?.text)).map(s=>s.text).join(" ");try{let s=JSON.parse(e);return P(s)?s:null}catch{return null}}function et(t,n){if(!n.startsWith(".")||n.split("/").includes("node_modules"))return[];let e=k(C.dirname(t),n);return e!==null&&m(e)?[e,`${e}.json`,`${e}/tsconfig.json`]:[]}function nt(t,n){let e=C.dirname(t);for(;;){let s=C.join(e,"tsconfig.json");if(n.has(s)&&m(s))return s;if(e===".")return;e=C.dirname(e)}}var U=class{files;static settingsFiles(n,e,s){let i=[...new Set(s.filter(l=>M(l)==="js").flatMap(l=>nt(l,n)??[]))],r=new Set(i);for(let l=0;l<i.length;l++){let f=i[l],o=e.get(f);if(o===void 0||o.length>d.metadataTextUnits)continue;let c=tt(o)?.extends;if(typeof c!="string")continue;let u=et(f,c).find(a=>n.has(a));u&&!r.has(u)&&(r.add(u),i.splice(l+1,0,u))}return i}configs=new Map;constructor(n){this.files=n}config(n){let e=this.configs.get(n);if(e)return e;let s=this.readConfig(n);return this.configs.set(n,s),s}readConfig(n,e=new Set){if(e.has(n))return"invalid-config";if(e.size>=d.metadataDepth)return"over-limit";let s=this.files.get(n);if(s===void 0)return"invalid-config";if(s.length>d.metadataTextUnits)return"over-limit";let i=tt(s);if(!i)return"invalid-config";let r=C.dirname(n),l={base:r==="."?"":r,baseUrl:!1,paths:{}};if(i.extends!==void 0){if(typeof i.extends!="string"||!i.extends.startsWith("."))return"unsupported";if(i.extends.split("/").includes("node_modules"))return"excluded";let c=k(r,i.extends);if(c===null)return"out-of-scope";if(!m(c))return"excluded";let u=et(n,i.extends).find(p=>this.files.has(p));if(!u)return"invalid-config";let a=this.readConfig(u,new Set([...e,n]));if(typeof a=="string")return a;l=a}let f=i.compilerOptions===void 0?{}:i.compilerOptions;if(!P(f)||f.paths!==void 0&&!P(f.paths)||f.baseUrl!==void 0&&typeof f.baseUrl!="string")return"invalid-config";if(typeof f.baseUrl=="string"&&f.baseUrl.split("/").includes("node_modules"))return"excluded";let o=typeof f.baseUrl=="string"?k(r,f.baseUrl):f.paths!==void 0&&!l.baseUrl?r==="."?"":r:l.base;return o===null?"out-of-scope":o&&!m(o)?"excluded":{base:o,baseUrl:f.baseUrl!==void 0||l.baseUrl,paths:f.paths??l.paths}}bases(n,e){let s=nt(n,this.files);if(!s)return null;let i=this.config(s);if(typeof i=="string")return i;let r=Object.entries(i.paths).flatMap(([c,u])=>{let a=c.indexOf("*");if(a<0)return c===e?[{targets:u,capture:"",rank:1/0,suffix:0}]:[];let p=c.slice(0,a),h=c.slice(a+1);return e.length>=p.length+h.length&&e.startsWith(p)&&e.endsWith(h)?[{targets:u,capture:e.slice(p.length,e.length-h.length),rank:p.length,suffix:h.length}]:[]}).sort((c,u)=>u.rank-c.rank||u.suffix-c.suffix);if(r.length>1&&r[0].rank===r[1].rank&&r[0].suffix===r[1].suffix)return"ambiguous";let l=r[0];if(l&&(!Array.isArray(l.targets)||!l.targets.length||!l.targets.every(c=>typeof c=="string")))return"invalid-config";let f=l?l.targets:i.baseUrl?[e]:[];if(!f.length)return null;let o=[];for(let c of f){if((c.match(/\*/g)?.length??0)>1||l?.rank===1/0&&c.includes("*"))return"unsupported";let u=c.replace(/\*/,()=>l?.capture??"");if(u.split("/").includes("node_modules"))return"excluded";let a=k(i.base,u);if(a===null)return"out-of-scope";if(!m(a))return"excluded";o.push(a)}return{bases:o,fallback:!l}}};import{posix as rt}from"node:path";var L=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function ot(t){try{let n=JSON.parse(t);return L(n)?n:null}catch{return null}}function kt(t){let n=[],e=!1;for(let s of t.split(/\r?\n/)){if(/^packages:\s*(?:#.*)?$/.test(s)){e=!0;continue}if(!e||/^\s*(?:#.*)?$/.test(s))continue;if(/^\S/.test(s)){e=!1;continue}let i=/^\s+-\s+(?:'([^']*)'|"([^"]*)"|([^#\s]+))\s*(?:#.*)?$/.exec(s);if(!i)return null;n.push(i[1]??i[2]??i[3])}return e||n.length?n:null}function xt(t){if(!t||t.length>d.patternTextUnits||/[\\\p{C}{}[\]?]|^(?:\/|[A-Za-z]:)/u.test(t)||t.split("/").some(s=>s===".."||s==="node_modules"))return null;let n=t.replace(/^\.\//,"").replace(/\/$/,"").split("/");if(n.length>d.patternSegments||n.filter(s=>s==="**").length>1||n.some(s=>s!=="**"&&(s.match(/\*/g)?.length??0)>1))return null;let e=(s,i)=>{let r=s.indexOf("*");return r<0?s===i:i.length>=s.length-1&&i.startsWith(s.slice(0,r))&&i.endsWith(s.slice(r+1))};return s=>{let i=s.split("/"),r=n.indexOf("**");if(r<0)return i.length===n.length&&n.every((f,o)=>e(f,i[o]));let l=n.length-r-1;return i.length>=n.length-1&&n.slice(0,r).every((f,o)=>e(f,i[o]))&&n.slice(r+1).every((f,o)=>e(f,i[i.length-l+o]))}}function st(t){let n=t.get("package.json"),e=t.get("pnpm-workspace.yaml");if((n?.length??0)>d.metadataTextUnits||(e?.length??0)>d.metadataTextUnits)return"over-limit";let s=n===void 0?{}:ot(n);if(!s)return"invalid-config";let i=L(s.workspaces)?s.workspaces.packages:s.workspaces;if(i!==void 0&&(!Array.isArray(i)||!i.every(o=>typeof o=="string")))return"invalid-config";let r=e===void 0?[]:kt(e);if(!r)return"unsupported";let l=[...i??[],...r];if(l.length>d.workspacePatterns)return"over-limit";let f=[];for(let o of l){let c=xt(o.replace(/^!/,""));if(!c)return"unsupported";f.push({excluded:o.startsWith("!"),matches:c})}return f}function it(t,n){if(t==="package.json"||!t.endsWith("/package.json")||!m(t))return!1;let e=rt.dirname(t);return n.some(s=>!s.excluded&&s.matches(e))&&!n.some(s=>s.excluded&&s.matches(e))}function lt(t,n=0){if(n>=d.metadataDepth)return{reason:"over-limit"};if(typeof t=="string")return{target:t};if(!L(t))return{reason:"unsupported"};for(let e of["source","import","default"])if(Object.hasOwn(t,e))return lt(t[e],n+1);return{reason:"unsupported"}}var T=class{files;static settingsFiles(n,e){let s=["package.json","pnpm-workspace.yaml"].filter(r=>n.has(r));if(s.some(r=>!e.has(r)))return s;let i=st(e);return typeof i=="string"?s:[...s,...[...n].filter(r=>it(r,i))]}packages;constructor(n){this.files=n}inventory(){return this.packages??=this.readInventory()}readInventory(){let n=st(this.files);if(typeof n=="string")return n;let e=[],s=(this.files.get("package.json")?.length??0)+(this.files.get("pnpm-workspace.yaml")?.length??0);for(let[i,r]of this.files){if(!it(i,n))continue;let l=rt.dirname(i);if(s+=r.length,r.length>d.metadataTextUnits||s>d.workspaceTextUnits)return"over-limit";let f=ot(r);if(!f||typeof f.name!="string")return"invalid-config";e.push({root:l,data:f})}return e}bases(n){let e=/^(@[^/]+\/[^/]+|[^/@][^/]*)(?:\/(.+))?$/.exec(n);if(!e)return"unsupported";let s=this.inventory();if(typeof s=="string")return s;let i=s.filter(a=>a.data.name===e[1]);if(!i.length)return null;if(i.length>1)return"ambiguous";let r=i[0],l=e[2]?`./${e[2]}`:".",f;if(r.data.exports!==void 0){let a=r.data.exports;if(L(a)&&Object.keys(a).some(p=>p.includes("*")))return"unsupported";if(L(a)&&Object.keys(a).some(p=>p.startsWith("."))){if(Object.keys(a).some(p=>!p.startsWith(".")))return"ambiguous";f=a[l]}else l==="."&&(f=a);if(f===void 0)return"missing"}else f=l!=="."?l:r.data.source??r.data.module??r.data.main??"./index";let o=lt(f);if("reason"in o)return o.reason;let{target:c}=o;if(c.split("/").includes("node_modules"))return"excluded";if(/^(?:\/|[A-Za-z]:)|[\\\p{C}]/u.test(c)||r.data.exports!==void 0&&!c.startsWith("./"))return"out-of-scope";let u=k(r.root,c);return u===null||!u.startsWith(`${r.root}/`)?"out-of-scope":m(u)?{bases:[u]}:"excluded"}};function $t(t){return t.replace(/\.(tsx?|jsx?|mjs|cjs|py)$/,"").replace(/^(\.{1,2}\/)+/,"").replace(/^[@~]?\//,"").replace(/^\.+/,"").replace(/\./g,"/")}function St(t,n){let e=$t(n),s=t.replace(/\.[^./]+$/,"").replace(/\/index$/,"").replace(/\/__init__$/,"");return e.length>0&&(s===e||s.endsWith(`/${e}`))}function ft(t,n=!1){let e=n?[".ts",".tsx",".js",".jsx",".mts",".cts",".mjs",".cjs"]:[".ts",".tsx",".js"],s=t.replace(n?/\.(js|jsx|mjs|cjs)$/:/\.(js|jsx|mjs)$/,""),i=n&&t.endsWith(".mjs")?[".mts"]:n&&t.endsWith(".cjs")?[".cts"]:[".ts",".tsx"];return[t,...e.map(r=>t+r),...s===t?[]:i.map(r=>s+r),...e.map(r=>`${t}/index${r}`)]}function wt(t,n,e){let s=n.length-n.replace(/^\.+/,"").length,i=t.includes("/")?t.slice(0,t.lastIndexOf("/")):"",r="../".repeat(s-1),l=n.slice(s).split(".").join("/"),f=A(i,r+l);return f===null?[]:l?[`${f}.py`,`${f}/__init__.py`]:[...e.map(o=>f?`${f}/${o}.py`:`${o}.py`),f?`${f}/__init__.py`:"__init__.py"]}function R(t,n,e,s,i=!1){if(!n.startsWith("."))return[];if(s==="py")return wt(t,n,e);let r=t.includes("/")?t.slice(0,t.lastIndexOf("/")):"",l=A(r,n);return l===null?[]:ft(l,i)}function Et(t,n,e,s,i,r=!1){return R(t,n,e,s,r).find(l=>i.has(l))}function vt(t,n){let e=t.split("/").slice(0,-1),s=[];for(let i=e.length;i>0;i--){let r=`${e.slice(0,i).join("/")}/__init__.py`;n.has(r)&&s.push(r)}return s}function ct(t,n,e,s,i){let r=R(t,n,e,s,!0),l=r.find(j=>i.has(j));if(s!=="py")return[l??r[0]??n];let f=n.length-n.replace(/^\.+/,"").length,o=n.slice(f).replaceAll(".","/"),c=t.includes("/")?t.slice(0,t.lastIndexOf("/")):"",u=A(c,"../".repeat(f-1)+o);if(u===null)return[n];let a=u?`${u}/__init__.py`:"__init__.py",p=i.has(a),h=e.flatMap(j=>{let g=u?`${u}/${j}`:j,_=[`${g}.py`,`${g}/__init__.py`].find(at=>i.has(at));return _?[_]:!o&&!p?[`${g}.py`]:[]}),b=[...p?[a]:[],...o?[l??r[0]??n]:[],...h];return[...new Set([...b,...b.flatMap(j=>vt(j,i))])]}function Yt(t,n,e,s,i,r){if(s==="js"&&r){let f=r.bindings(t,n,e)[0];if(f?.status==="resolved")return[f.path];if(!n.startsWith(".")&&f?.status==="refused"&&(f.provenance==="alias"||f.provenance==="workspace"))return[n]}if(n.startsWith("."))return ct(t,n,e,s,i);if(s!=="py")return/^(?:@\/|~\/|#)/.test(n)?[n]:[];let l=["",...t.includes("/")?[t.split("/")[0]]:[]];for(let f of l){let o=`${f?`${f}/`:""}${n.replaceAll(".","/")}`;if(!(!i.has(`${o}.py`)&&!i.has(`${o}/__init__.py`)))return ct(f?`${f}/_.py`:"_.py",`.${n}`,e,s,i)}return[]}function Kt(t,n,e,s={},i){return new N(e,s).resolve(t,n,i)}var N=class{repo;static settingsFiles(n,e,s){return[...U.settingsFiles(n,e,s),...s.some(i=>M(i)==="js")?T.settingsFiles(n,e):[]]}legacy;files;aliases;workspaces;pythonRoots=new Map;constructor(n,e={}){if(this.repo=n,this.legacy=e.CF_LOCAL_IMPORT_RESOLUTION==="0",this.files=n.files.size>d.inventoryEntries&&!this.legacy?new Map:new Map([...n.files].filter(([s])=>m(s))),this.aliases=new U(this.files),this.workspaces=new T(this.files),!this.legacy)for(let s of this.files.keys()){if(!s.endsWith(".py"))continue;let i=s.split("/");for(let r=0;r<i.length;r++){let l=i.slice(0,r).join("/"),f=r===i.length-1?i[r].slice(0,-3):i[r];this.pythonRoots.has(l)||this.pythonRoots.set(l,new Set),this.pythonRoots.get(l).add(f)}}}hasPythonRoot(n,e){let s=n.split("/");s.pop();for(let i=s.length;i>=0;i--){let r=s.slice(0,i).join("/");if(this.pythonRoots.get(r)?.has(e)||this.pythonRoots.get(r?`${r}/src`:"src")?.has(e))return!0}return!1}bindings(n,e,s){return!w.shape.from.safeParse(n).success||!w.shape.specifier.safeParse(e).success?[]:[this.resolve(n,e,s)]}resolve(n,e,s=[]){w.shape.from.parse(n),w.shape.specifier.parse(e);let i=n.endsWith(".py"),r=(u,a=null)=>({status:"refused",from:n,specifier:e,provenance:a,reason:u}),l=(u,a)=>({status:"resolved",from:n,specifier:e,provenance:a,path:u});if(this.legacy){let u=Et(n,e,s,i?"py":"js",new Set(this.files.keys()));return u?l(u,"relative"):r(e.startsWith(".")?"missing":"external")}if(!m(n))return r("out-of-scope");if(/[\\\p{C}\p{Zl}\p{Zp}]/u.test(e))return r("unsupported");if(/^(?:\/|[A-Za-z]:)/.test(e))return r("out-of-scope");if(e.split("/").includes("node_modules"))return r("excluded");if(this.repo.files.size>d.inventoryEntries)return r("over-limit");if(i&&!/^\.*(?:[\p{L}_][\p{L}\p{N}_]*(?:\.[\p{L}_][\p{L}\p{N}_]*)*)?$/u.test(e)||i&&s.some(u=>!/^[\p{L}_][\p{L}\p{N}_]*$/u.test(u)))return r("unsupported");if(e.startsWith(".")||i){let u=i&&!e.startsWith(".")?`.${e}`:e,p=(i&&!e.startsWith(".")?["__root__.py",n]:[n]).map(g=>[...i?s.flatMap(_=>R(g,`${u}${u.endsWith(".")?"":"."}${_}`,[],"py",!0)):[],...R(g,u,s,i?"py":"js",!0)].map(_=>_.replace(/^\//,"")));if(p.every(g=>!g.length))return r("out-of-scope","relative");let h=new Set(p.map(g=>g.find(_=>this.files.has(_))).filter(g=>g!==void 0));if(h.size>1)return r("ambiguous","relative");let b=[...h][0],j=i&&!e.startsWith(".")&&!this.hasPythonRoot(n,e.split(".")[0]);return b?l(b,"relative"):r(j?"external":"missing","relative")}let f=(u,a)=>{if(u===null)return null;if(typeof u=="string")return r(u,a);for(let p of u.bases){let h=ft(p,!0).find(b=>this.files.has(b));if(h)return l(h,a)}return r("missing",a)},o=this.aliases.bases(n,e),c=f(o,"alias");return c&&(c.status==="resolved"||typeof o=="string"||!o?.fallback)?c:f(this.workspaces.bases(e),"workspace")??r("external")}};export{M as a,Q as b,d as c,St as d,R as e,Et as f,ct as g,Yt as h,Kt as i,N as j};
@@ -0,0 +1 @@
1
+ import{c as d,d as f}from"./RUVMFAST.js";import{a as s,b as a,c as m}from"./S27VIQMZ.js";import{z as t}from"zod";var o={files:1e4,edges:2e4,choices:32,scopeImports:200},j=5,l=t.array(s).max(o.files).refine(e=>new Set(e).size===e.length),R=t.union([t.literal("all"),t.literal("none"),l.max(o.scopeImports)]),h=t.strictObject({snapshot:a,entry:s,imports:R,entries:l.min(2).optional()}).refine(e=>!e.entries||e.entries.includes(e.entry)).refine(e=>!Array.isArray(e.imports)||!e.imports.includes(e.entry)),S=t.strictObject({kind:t.literal("file"),launchRoot:m,entry:s,entries:l.min(2).optional(),scope:h.optional()}),u=t.strictObject({kind:t.literal("folder"),launchRoot:m,folder:t.union([t.literal("."),s])});function g(e){return(!e.entries||e.entries.includes(e.entry))&&(!e.scope||(e.entries??[e.entry]).includes(e.scope.entry)&&JSON.stringify(e.entries)===JSON.stringify(e.scope.entries))}var b=S.omit({launchRoot:!0}).refine(g),T=t.discriminatedUnion("kind",[b,u.omit({launchRoot:!0})]),z=t.discriminatedUnion("kind",[S.refine(g),u]),O=t.strictObject({path:s,role:t.enum(["entry","imported-helper"]),hash:t.string().regex(/^[a-f\d]{64}$/),size:t.number().int().min(0).max(Number.MAX_SAFE_INTEGER)}),k=t.strictObject({complete:t.boolean(),frontierCount:t.number().int().min(0).max(Number.MAX_SAFE_INTEGER)}).refine(e=>!e.complete||e.frontierCount===0),I=t.strictObject({id:a,scope:h,includes:l.min(1),omitted:l,coverage:t.literal("entry-imports").optional()}).refine(e=>{if(!e.includes.includes(e.scope.entry)||e.omitted.some(n=>e.includes.includes(n)))return!1;let i=e.scope.imports;if(i==="all")return!0;let r=[e.scope.entry,...i==="none"?[]:i];return r.length===e.includes.length&&r.every(n=>e.includes.includes(n))}),y={schemaVersion:t.literal(1),launchRoot:m,snapshot:a,resolverVersion:a,files:t.array(O).min(1).max(o.files).refine(e=>new Set(e.map(i=>i.path)).size===e.length),edges:t.array(d).max(o.edges),refusedEdges:t.array(f).max(o.edges),completeness:k,choices:t.array(I).max(o.choices)},p=[t.strictObject({...y,kind:t.literal("file"),entry:s,entries:l.min(2).optional(),entrySets:t.array(t.strictObject({entry:s,includes:l.min(1)})).max(o.choices).optional()}),t.strictObject({...y,kind:t.literal("folder"),folder:t.union([t.literal("."),s])})],E=[p[0].omit({launchRoot:!0}),p[1].omit({launchRoot:!0})];function x(e){if(e.completeness.complete&&e.refusedEdges.some(n=>n.reason!=="external"))return!1;let i=e.files.filter(n=>n.role==="entry").map(n=>n.path);if(i.length===0||e.kind==="file"&&(e.entries?!e.entries.includes(e.entry)||i.some(n=>!e.entries.includes(n)):i.length!==1||i[0]!==e.entry)||new Set(e.choices.map(n=>n.id)).size!==e.choices.length)return!1;let r=new Set(e.files.map(n=>n.path));return e.kind==="file"&&e.entrySets&&(!e.entries||new Set(e.entrySets.map(n=>n.entry)).size!==e.entrySets.length||e.entrySets.some(n=>!i.includes(n.entry)||!n.includes.includes(n.entry)||n.includes.some(c=>!r.has(c))))?!1:e.choices.every(n=>n.scope.snapshot===e.snapshot&&i.includes(n.scope.entry)&&(e.kind!=="file"||e.entries!==void 0||n.scope.entry===e.entry)&&(e.kind!=="file"||!e.entries||JSON.stringify(n.scope.entries)===JSON.stringify(e.entries))&&(e.kind!=="file"||n.scope.imports!=="all"||n.omitted.length===0)&&n.includes.every(c=>r.has(c))&&n.omitted.every(c=>r.has(c))&&n.includes.length+n.omitted.length===r.size)}var w=t.discriminatedUnion("kind",E).refine(x),C=t.discriminatedUnion("kind",p).refine(x);export{o as a,j as b,h as c,b as d,T as e,z as f,O as g,k as h,I as i,w as j,C as k};
@@ -0,0 +1 @@
1
+ var r=t=>t.CF_UNTRUSTED_CONTENT_CHECK!=="0";function n(t){return t.CF_FINDING_BETTER_AS_CODE==="1"}var o=["contradiction","ambiguity","bypassable_requirement","stale_fact","description_mismatch","ungoverned_tool","untrusted_instructions","better_as_code"];function i(t){return o.filter(e=>(e!=="untrusted_instructions"||r(t))&&(e!=="better_as_code"||n(t)))}function p(t){return!n(t)&&r(t)}var l={contradiction:"Contradiction",ambiguity:"Ambiguity",bypassable_requirement:"Bypassable requirement",stale_fact:"Stale fact",description_mismatch:"Description mismatch",ungoverned_tool:"Ungoverned tool",untrusted_instructions:"Untrusted instructions",better_as_code:"Better as code",token_waste:"Token waste",structure:"Structure",prompt_quality:"Prompt quality"};function m(t){return["contradiction","bypassable_requirement","stale_fact","description_mismatch","ungoverned_tool","untrusted_instructions"].includes(t)?2:1}function s(t){return u(t)||typeof t=="string"&&o.includes(t)}function u(t){return t==="token_waste"}function b(t,e){return s(t)&&i(e).includes(t)}export{r as a,n as b,i as c,p as d,l as e,m as f,s as g,u as h,b as i};