@counterfact-labs/cli 0.2.10 → 0.2.11

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 (118) hide show
  1. package/README.md +4 -5
  2. package/bundle/client-release.json +1 -1
  3. package/dist/adapters/analysis-results.js +10 -5
  4. package/dist/adapters/completion.js +75 -41
  5. package/dist/adapters/config-directory.js +5 -0
  6. package/dist/adapters/files.js +25 -10
  7. package/dist/adapters/legacy-reports.js +48 -0
  8. package/dist/adapters/output-paths.js +85 -5
  9. package/dist/adapters/result-receipt.js +78 -0
  10. package/dist/adapters/results.js +5 -8
  11. package/dist/adapters/settings.js +10 -4
  12. package/dist/adapters/storage-identity.js +27 -0
  13. package/dist/analysis-core/analysis/code-agents/skipped-files.js +1 -1
  14. package/dist/analysis-core/analysis/file-analysis-plan.js +1 -1
  15. package/dist/analysis-core/analysis/file-dependencies.js +1 -1
  16. package/dist/analysis-core/analysis/finding-quality/policy.js +1 -1
  17. package/dist/analysis-core/analysis/folder-analysis-plan.js +1 -1
  18. package/dist/analysis-core/analysis/passes/full-file-passes.js +1 -1
  19. package/dist/analysis-core/analysis/schemas.js +1 -1
  20. package/dist/analysis-core/chunks/{5VQ4VYIP.js → 2IQN26TC.js} +1 -1
  21. package/dist/analysis-core/chunks/{N2L4JMJE.js → 2J3PWUPG.js} +1 -1
  22. package/dist/analysis-core/chunks/{3GUKUEEJ.js → 5JG3ZRNJ.js} +1 -1
  23. package/dist/analysis-core/chunks/{LFJQ4YLP.js → 6E4K7JTI.js} +1 -1
  24. package/dist/analysis-core/chunks/{66JRJPJC.js → 6W6B7VSP.js} +1 -1
  25. package/dist/analysis-core/chunks/{P253B344.js → AIS3FHQR.js} +7 -7
  26. package/dist/analysis-core/chunks/{YWL52FVW.js → EJ2IZUN2.js} +2 -2
  27. package/dist/analysis-core/chunks/{5UWDUYHF.js → GOBOE2SC.js} +1 -1
  28. package/dist/analysis-core/chunks/GYXDN5W4.js +1 -0
  29. package/dist/analysis-core/chunks/GZSUTDGX.js +1 -0
  30. package/dist/analysis-core/chunks/HB5BTGTI.js +6 -0
  31. package/dist/analysis-core/chunks/HH3HDT5K.js +73 -0
  32. package/dist/analysis-core/chunks/{TA2NIQAY.js → I5F7S63K.js} +1 -1
  33. package/dist/analysis-core/chunks/ICJV6KIZ.js +11 -0
  34. package/dist/analysis-core/chunks/{2CWULBP2.js → JCVB6IC4.js} +1 -1
  35. package/dist/analysis-core/chunks/{DHVEGIU6.js → JLW44GIU.js} +1 -1
  36. package/dist/analysis-core/chunks/JS6HTVYX.js +1 -0
  37. package/dist/analysis-core/chunks/{UKX3A6AX.js → JWQXG5RB.js} +1 -1
  38. package/dist/analysis-core/chunks/LOODGUMW.js +1 -0
  39. package/dist/analysis-core/chunks/{XVGLY4EO.js → NWYNJHY4.js} +1 -1
  40. package/dist/analysis-core/chunks/{KBTM5MBC.js → OHDC3L6V.js} +1 -1
  41. package/dist/analysis-core/chunks/OXGKALKM.js +1 -0
  42. package/dist/analysis-core/chunks/{MJGB25S5.js → P5FCHJ7W.js} +1 -1
  43. package/dist/analysis-core/chunks/PISOGSJF.js +1 -0
  44. package/dist/analysis-core/chunks/{6VHZNBII.js → QENYFKG3.js} +8 -8
  45. package/dist/analysis-core/chunks/{W73WF226.js → QY57UR6E.js} +1 -1
  46. package/dist/analysis-core/chunks/QYYN4YKB.js +35 -0
  47. package/dist/analysis-core/chunks/UYG422QR.js +0 -0
  48. package/dist/analysis-core/chunks/V7GZHSVR.js +1 -0
  49. package/dist/analysis-core/chunks/{VWRFSVLI.js → VBGQKYIT.js} +1 -1
  50. package/dist/analysis-core/chunks/{5BTATES5.js → VVSHUUWX.js} +1 -1
  51. package/dist/analysis-core/chunks/{JKWTHRUR.js → YDSB7UOR.js} +1 -1
  52. package/dist/analysis-core/chunks/ZLUI3EHB.js +1 -0
  53. package/dist/analysis-core/contracts/execution-request.js +1 -1
  54. package/dist/analysis-core/contracts/model-errors.js +1 -0
  55. package/dist/analysis-core/contracts/relay-analysis.js +1 -1
  56. package/dist/analysis-core/contracts/requests.js +1 -1
  57. package/dist/analysis-core/conventions/analysis-fit.js +1 -1
  58. package/dist/analysis-core/conventions/file-admission.js +1 -1
  59. package/dist/analysis-core/errors.js +1 -1
  60. package/dist/analysis-core/import/calls/modules.js +1 -1
  61. package/dist/analysis-core/import/entry-selection.js +1 -1
  62. package/dist/analysis-core/import/outside-loader-sources.js +1 -1
  63. package/dist/analysis-core/index.js +1 -1
  64. package/dist/analysis-core/llm/cache-policy.js +1 -1
  65. package/dist/analysis-core/llm/cost.js +1 -1
  66. package/dist/analysis-core/llm/structured-output-error.js +1 -1
  67. package/dist/analysis-core/requests/frame-budget.js +1 -0
  68. package/dist/analysis-core/requests/local-plan.js +1 -1
  69. package/dist/analysis-core/requests/planned-limits.js +1 -1
  70. package/dist/analysis-core/requests/registry.js +1 -1
  71. package/dist/analysis-core/requests/template-version.js +1 -1
  72. package/dist/analysis-core/requests/tools.js +1 -1
  73. package/dist/analysis-core/settings.js +1 -1
  74. package/dist/analysis-core/stages/engine-entry.js +1 -1
  75. package/dist/analysis-core/wording.js +1 -0
  76. package/dist/cli/analysis-preview.js +22 -0
  77. package/dist/cli/analysis-selection.js +6 -8
  78. package/dist/cli/commands/analyze.js +27 -21
  79. package/dist/cli/commands/login.js +5 -0
  80. package/dist/cli/compatibility.js +39 -0
  81. package/dist/cli/completion-delivery.js +4 -3
  82. package/dist/cli/completion-recovery.js +25 -23
  83. package/dist/cli/credentials.js +3 -2
  84. package/dist/cli/finding-display.js +3 -2
  85. package/dist/cli/git.js +5 -2
  86. package/dist/cli/main.js +8 -2
  87. package/dist/cli/mcp.js +35 -10
  88. package/dist/cli/prior-completion.js +1 -1
  89. package/dist/cli/relay-check.js +85 -23
  90. package/dist/cli/relay-failure.js +19 -11
  91. package/dist/cli/relay-preparation.js +6 -3
  92. package/dist/cli/scope-choices.js +5 -4
  93. package/dist/cli/skipped-files.js +2 -1
  94. package/dist/cli/suggested-email.js +6 -1
  95. package/dist/cli/summary.js +2 -1
  96. package/dist/contract/agent-choice.js +2 -0
  97. package/dist/contract/cli-refusals.js +105 -9
  98. package/dist/contract/cli-version.js +1 -1
  99. package/dist/contract/console.js +2 -1
  100. package/dist/contract/email-sign-in-messages.js +2 -1
  101. package/dist/contract/scope-choice.js +4 -1
  102. package/dist/gatekeeper/client.js +11 -2
  103. package/dist/gatekeeper/connection-exchange.js +19 -4
  104. package/dist/gatekeeper/connection.js +15 -6
  105. package/dist/gatekeeper/console.js +8 -4
  106. package/dist/gatekeeper/model.js +13 -3
  107. package/package.json +1 -1
  108. package/dist/adapters/gitignore-output.js +0 -41
  109. package/dist/analysis-core/chunks/2M55DR2J.js +0 -35
  110. package/dist/analysis-core/chunks/34NVU26H.js +0 -1
  111. package/dist/analysis-core/chunks/C77LGCKF.js +0 -1
  112. package/dist/analysis-core/chunks/HCPO6QPU.js +0 -1
  113. package/dist/analysis-core/chunks/J4AXGE5W.js +0 -1
  114. package/dist/analysis-core/chunks/M5YWJY7P.js +0 -1
  115. package/dist/analysis-core/chunks/NCW5LJ5O.js +0 -6
  116. package/dist/analysis-core/chunks/QPIBHTON.js +0 -67
  117. package/dist/analysis-core/chunks/SJESFYBA.js +0 -10
  118. package/dist/analysis-core/chunks/VC3PYT2B.js +0 -1
@@ -1,10 +0,0 @@
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};
@@ -1 +0,0 @@
1
- import{j as t}from"./34NVU26H.js";function E(e){return e.CF_FILE_SCOPE==="1"&&e.CF_LOCAL_IMPORT_RESOLUTION!=="0"}function F(e){return E(e)&&e.CF_SCOPE_CHOICES!=="0"&&e.CF_MULTI_ENTRY!=="0"}function u(e){return e.CF_FINDING_HEADLINES==="1"}function i(e){return e.CF_RESULT_SAFETY_CHECK==="1"}function S(e){return e.CF_IMPORT_OUTSIDE_LOADERS==="1"}function f(e){return e.CF_PROMPT_AGREE==="1"}function I(e){return t(e,"saved")}function C(e){return e.CF_SKIPPED_FILES!=="0"}function l(e){return e.CF_FOLDER_PARTS==="1"&&C(e)}function L(e,r){let _=Object.fromEntries(Object.entries(t(r,"request")).filter(([n])=>/^(?:CF_FINDING_|CF_READING_|CF_RECALL_|CF_MULTI_PASS$|CF_SPLIT_CHECK$|CF_SOURCE_NOTES$|CF_PARALLEL_|CF_PASS_CONCURRENCY$|CF_PROMPT_AGREE$)/.test(n)&&n!=="CF_FINDING_AUDIENCE"));return Object.freeze({...e,..._,CF_PART_FILES:void 0})}export{E as a,F as b,u as c,i as d,S as e,f,I as g,C as h,l as i,L as j};