@preventive/triage 1.0.0-alpha.50 → 1.0.0-alpha.51

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 (51) hide show
  1. package/common/managed/finding-detail.d.ts +2 -1
  2. package/common/managed/finding-detail.js +43 -9
  3. package/common/managed/npm-packages.d.ts +2 -0
  4. package/common/managed/npm-packages.js +18 -1
  5. package/common/managed/routes.js +19 -7
  6. package/common/managed/team-app.d.ts +1 -0
  7. package/common/managed/team-app.js +17 -1
  8. package/out/activity.js +4 -4
  9. package/out/{chunk-75YLHBCM.js → chunk-2K6UN3PC.js} +1 -1
  10. package/out/{chunk-2WDZPXVL.js → chunk-7JBSSRD7.js} +1 -1
  11. package/out/{chunk-4XMP7YVH.js → chunk-FMXWXDR4.js} +1 -1
  12. package/out/chunk-HT2SSA3V.js +1 -0
  13. package/out/chunk-IPAH4LKF.js +232 -0
  14. package/out/{chunk-FKBXNUW4.js → chunk-KOGNQDSJ.js} +1 -1
  15. package/out/{chunk-UK7RGJT6.js → chunk-VDRXHIHN.js} +2 -2
  16. package/out/{chunk-HTBYHSPG.js → chunk-WRAJVD35.js} +1 -1
  17. package/out/client-managed-import.js +1 -1
  18. package/out/client-managed.js +25 -25
  19. package/out/compare.js +14 -14
  20. package/out/dialogs.js +41 -41
  21. package/out/graph.js +1 -1
  22. package/out/index.html +6 -6
  23. package/out/scan.js +2 -2
  24. package/out/view.css +1 -1
  25. package/out/view.js +7 -7
  26. package/package.json +3 -1
  27. package/server-managed/agent-merges.ts +1 -1
  28. package/server-managed/app-agents.ts +4 -2
  29. package/server-managed/commit-lockfiles.ts +7 -4
  30. package/server-managed/comparison.ts +13 -2
  31. package/server-managed/db-neon.ts +13 -3
  32. package/server-managed/db.ts +2 -1
  33. package/server-managed/dependency-review-comments.ts +16 -18
  34. package/server-managed/dependency-reviews.ts +45 -27
  35. package/server-managed/github-app.ts +3 -42
  36. package/server-managed/github-requests.ts +97 -0
  37. package/server-managed/http.ts +249 -75
  38. package/server-managed/listed-activity.ts +39 -0
  39. package/server-managed/locked-packages.ts +28 -5
  40. package/server-managed/npm-kept.ts +14 -4
  41. package/server-managed/npm-patch.ts +325 -0
  42. package/server-managed/pull-dependencies.ts +9 -6
  43. package/server-managed/pull-dependency-reviews.ts +19 -13
  44. package/server-managed/repository-agents.ts +162 -69
  45. package/server-managed/repository-dependency-reviews.ts +6 -5
  46. package/server-managed/repository-pulls.ts +114 -58
  47. package/server-managed/repository-pulse.ts +1 -1
  48. package/server-managed/reviewed-dependencies.ts +4 -5
  49. package/server-managed/team-reports.ts +19 -7
  50. package/out/chunk-6S2U2UYG.js +0 -232
  51. package/out/chunk-FC65TPUB.js +0 -1
@@ -1 +0,0 @@
1
- var e=new Set([`overview`,`graph`,`treemap`,`compare`,`advisories`,`issues`,`code`,`search`,`terminal`]),t=/^\d+$/u;function n(e){for(let t=0;t<e.length;t++){let n=e.codePointAt(t);if(n<32||n===127)return!0}return!1}var r=512;function i(e){return typeof e==`string`&&e.length>0&&e.length<=r&&!n(e)}function a(e){return i(e)&&!t.test(e)}var o=/^(?=.{1,214}$)(?:@[\w.-]+\/[\w-]|[\dA-Za-z])[\w.-]*$/u,s=/^(?=.{1,256}$)[\dA-Za-z][\w.+-]*$/u,c=/^@[\da-z~-][\w.~-]*$/u;function l(e){return typeof e==`string`&&o.test(e)}function u(e){return typeof e==`string`&&s.test(e)}function d(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase(),n=t.startsWith(`@`)?t:`@${t}`;return n.length<=214&&c.test(n)?n:null}var f=new Set([`code`,`diff`]),p=e=>f.has(e)?`code`:`overview`,m=e=>f.has(e)?{compareMode:`code`}:{},h=e=>f.has(e)?`/code`:``,g=Object.freeze({manage:`/manage`,"manage-bundles":`/manage/bundle`,"manage-scans":`/manage/scans`,"manage-reports":`/manage/report`,"manage-repos":`/manage/repositories`,"manage-repo-risk":`/manage/repositories/risk`,"admin-users":`/manage/users`,"manage-teams":`/manage/team`,"manage-import":`/manage/import`,"manage-links":`/manage/links`,"manage-deduplication":`/manage/deduplication`,"manage-history":`/manage/history`}),_=new Set([`workspace-reports`,`workspace-bundles`,`workspace-repositories`,`workspace-dependencies`]),v=new Set([`pulls`,`versions`,`branch`,`reviews`]),y=e=>e.view===`workspace-dependencies`&&e.dependencyTab!=null?{dependencyTab:e.dependencyTab}:{};function b(e){if(!a(e)||e===`.`||e===`..`)return null;try{return`/finding/${encodeURIComponent(e)}`}catch{return null}}function x(t){if(!t)return null;if(t.view===`home`)return`/`;if(t.view===`reviews`)return`/my/reviews`;if(t.view===`profile`)return`/my/profile`;if(t.view===`npm`)return C(t);if(t.view===`repository-code`)return P(t);if(_.has(t.view)){let e=y(t).dependencyTab??`pulls`;return!/^[A-Za-z0-9_-]+$/u.test(t.teamSlug??``)||!v.has(e)?null:`/team/${t.teamSlug}/${t.view.slice(10)}${e===`pulls`?``:`/${e}`}`}if(t.view===`bundles`){if(!/^[A-Za-z0-9_-]+$/u.test(t.bundleSlug??``)||[t.teamSlug,t.compareSlug].some(e=>e!=null&&!/^[A-Za-z0-9_-]+$/u.test(e)))return null;let n=t.bundleTab??`overview`;if(!e.has(n))return null;let r=t.teamSlug?`/team/${t.teamSlug}`:`/manage`,i=n===`code`&&I(t.file)?`/${t.file}`:``,a=i&&I(t.line)?`#L${t.line}${I(t.endLine)&&t.endLine>t.line?`-L${t.endLine}`:``}`:``,o=n===`compare`&&t.compareSlug!=null?`/${t.compareSlug}${h(t.compareMode)}`:``;return`${r}/bundle/${t.bundleSlug}${n===`overview`?``:`/${n}`}${i}${o}${a}`}if(Object.hasOwn(g,t.view)){let e=g[t.view];return t.view===`manage-deduplication`&&t.linkId?`${e}?report=${encodeURIComponent(t.linkId)}`:t.view===`manage-bundles`&&Number.isSafeInteger(t.createRepoId)&&t.createRepoId>0?`${e}?createRepo=${t.createRepoId}`:t.view===`manage-scans`&&t.scanMode===`link`?`${e}?mode=link`:t.view===`manage-scans`&&t.bundleId?`${e}?bundle=${encodeURIComponent(t.bundleId)}${t.scanMode===`dependencies`?`&mode=dependencies`:``}`:t.view===`manage-history`&&t.actor?`${e}?actor=${encodeURIComponent(t.actor)}`:e}if(![`findings`,`files`].includes(t.view)||!t.teamSlug||[t.teamSlug,t.reportSlug].some(e=>e!=null&&!/^[A-Za-z0-9_-]+$/u.test(e)))return null;let n=`/team/${encodeURIComponent(t.teamSlug)}`,r=t.reportSlug?`/report/${encodeURIComponent(t.reportSlug)}`:``;if(t.finding){let e=b(t.finding.id);return t.view===`findings`&&e?`${n}${r}${e}`:null}return`${n}${r}${t.view===`files`?`/files`:``}`}var S=new Set([`overview`,`code`,`search`,`compare`,`review`,`treemap`]);function C(e){if(e.packageName==null)return`/npm`;let t=e.bundleTab??`overview`;if(!l(e.packageName)||e.packageSpec!=null&&!u(e.packageSpec)||!S.has(t)||e.compareSpec!=null&&!u(e.compareSpec))return null;if(t===`review`){if(e.reviewPackage!=null&&!l(e.reviewPackage)||e.reviewSpec!=null&&!u(e.reviewSpec))return null;let t=e.reviewPackage==null?``:`/${e.reviewPackage}${e.reviewSpec==null?``:`@${e.reviewSpec}`}`;return`/npm/${e.packageName}${e.packageSpec==null?``:`@${e.packageSpec}`}/review${t}`}let n=t===`code`&&I(e.file)?`/${e.file}`:``,r=n&&I(e.line)?`#L${e.line}${I(e.endLine)&&e.endLine>e.line?`-L${e.endLine}`:``}`:``,i=t===`compare`&&e.compareSpec!=null?`/${e.compareSpec}${h(e.compareMode)}`:``;return`/npm/${e.packageName}${e.packageSpec==null?``:`@${e.packageSpec}`}${t===`overview`?``:`/${t}`}${n}${i}${r}`}function w(e,t){let n=/^\/npm\/((?:@[^/@]+\/)?[^/@]+)(?:@([^/]+))?\/review(?:\/((?:@[^/@]+\/)?[^/@]+)(?:@([^/]+))?)?$/u.exec(e);if(n){if(!l(n[1])||n[2]!=null&&!u(n[2])||n[3]!=null&&!l(n[3])||n[4]!=null&&!u(n[4]))return null;let e=n[3]&&/^\d+\.\d+\.\d+(?:[-+].*)?$/u.test(n[3])&&n[4]==null;return{view:`npm`,packageName:n[1],packageSpec:n[2]??null,bundleTab:`review`,...n[3]?{reviewPackage:e?n[1]:n[3],reviewSpec:e?n[3]:n[4]??null}:{}}}let r=/^\/npm(?:\/((?:@[^/@]+\/)?[^/@]+)(?:@([^/]+))?(?:\/(code|search|compare|treemap)(?:\/([^/]+)(?:\/([a-z]+))?)?)?)?$/u.exec(e);if(!r)return;if(r[1]==null)return{view:`npm`};if(!l(r[1])||r[2]!=null&&!u(r[2]))return null;let i={view:`npm`,packageName:r[1],packageSpec:r[2]??null,bundleTab:r[3]??`overview`};if(r[4]==null)return i;if(i.bundleTab===`compare`)return u(r[4])&&(r[5]==null||f.has(r[5]))?{...i,compareSpec:r[4],...m(r[5])}:null;if(i.bundleTab!==`code`)return null;let a=Number(r[4]);return!r[5]&&/^[1-9]\d*$/u.test(r[4])&&Number.isSafeInteger(a)?{...i,file:a,...L(t)}:null}var T=new Set([`code`,`search`,`treemap`,`compare`,`commits`,`issues`,`pulls`,`agents`,`pulse`,`replay`]),E=new Set([`commits`,`issues`,`pulls`,`agents`,`pulse`,`replay`]),D=new Map([[`issues`,new Set([`closed`])],[`pulls`,new Set([`closed`])],[`pulse`,new Set([`week`,`quarter`,`year`])],[`replay`,new Set([`100`,`1000`])]]),O=/^[a-z][a-z\d-]{0,31}$/u,k=(e,t)=>e===`agents`?typeof t==`string`&&O.test(t)&&t!==`all`:D.get(e)?.has(t)===!0,A=/^[a-f\d]{40}$/u,j=500,M=e=>Number.isSafeInteger(e)&&e>0;function N(e){return typeof e==`string`&&(e===``||e.length<=j&&!/[\p{Cc}\\]/u.test(e)&&e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`&&e===e.trim()))}function P(e){let t=e.bundleTab??`code`,n=e.path??``;if(!M(e.repoId)||e.commit!=null&&!A.test(e.commit)||!N(n)||!T.has(t)||e.compareCommit!=null&&!A.test(e.compareCommit))return null;let r=n?`?path=${n.split(`/`).map(encodeURIComponent).join(`/`)}`:``;if(e.commit==null)return`/repo/${e.repoId}${r}`;let i=t===`code`&&I(e.file)?`/code/${e.file}`:t===`code`?``:`/${t}`,a=t===`compare`&&e.compareCommit!=null?`/${e.compareCommit}${h(e.compareMode)}`:``,o=k(t,e.subtab)?`/${e.subtab}`:``,s=t===`code`&&I(e.file)&&I(e.line)?`#L${e.line}${I(e.endLine)&&e.endLine>e.line?`-L${e.endLine}`:``}`:``;return`/repo/${e.repoId}/${e.commit}${i}${a}${o}${r}${s}`}function F(e){let t=/^\/(?:repo|manage\/code)\/([1-9]\d*)(?:\/([a-f\d]{40})(?:\/(code|search|treemap|compare|commits|history|issues|pulls|agents|pulse|replay)(?:\/([^/]+)(?:\/([a-z]+))?)?)?)?$/u.exec(e.pathname.replace(/\/$/u,``));if(!t)return;let n=Number(t[1]),r=e.searchParams.get(`path`)??``,i=t[3]===`history`?`commits`:t[3]??`code`;if(!M(n)||!N(r))return null;let a={view:`repository-code`,repoId:n,commit:t[2]??null,path:r,bundleTab:i};if(t[4]==null)return a;if(i===`compare`)return A.test(t[4])&&(t[5]==null||f.has(t[5]))?{...a,compareCommit:t[4],...m(t[5])}:null;if(E.has(i))return t[5]==null&&k(i,t[4])?{...a,subtab:t[4]}:null;let o=Number(t[4]);return i===`code`&&t[5]==null&&/^[1-9]\d*$/u.test(t[4])&&Number.isSafeInteger(o)?{...a,file:o,...L(e.hash)}:null}function I(e){return Number.isSafeInteger(e)&&e>0}function L(e){let t=/^#L([1-9]\d*)(?:-L([1-9]\d*))?$/u.exec(e),[n,r]=t?[Number(t[1]),Number(t[2]??t[1])]:[];return!I(n)||!I(r)?{}:n===r?{line:n}:{line:Math.min(n,r),endLine:Math.max(n,r)}}function R(t){let n=t.pathname.replace(/\/$/u,``)||`/`;if(n===`/`||n===`/index.html`)return{view:`home`};if(n===`/my/reviews`)return{view:`reviews`};if(n===`/my/profile`){let e=t.searchParams.get(`link-error`);return{view:`profile`,...e&&/^[a-z-]{1,64}$/u.test(e)?{linkError:e}:{}}}let i=Object.keys(g).find(e=>g[e]===n);if(i){let e=Number(t.searchParams.get(`createRepo`));return{view:i,...i===`manage-deduplication`&&t.searchParams.get(`report`)?{linkId:t.searchParams.get(`report`)}:{},...i===`manage-bundles`&&Number.isSafeInteger(e)&&e>0?{createRepoId:e}:{},...i===`manage-history`&&t.searchParams.get(`actor`)?{actor:t.searchParams.get(`actor`)}:{},...i===`manage-scans`?t.searchParams.get(`mode`)===`link`?{scanMode:`link`}:t.searchParams.get(`bundle`)?{bundleId:t.searchParams.get(`bundle`),...t.searchParams.get(`mode`)===`dependencies`?{scanMode:`dependencies`}:{}}:{}:{}}}let a=/^(?:\/team\/([A-Za-z0-9_-]+)|\/manage)\/bundle\/([A-Za-z0-9_-]+)(?:\/([a-z]+)(?:\/([A-Za-z0-9_-]+)(?:\/([a-z]+))?)?)?$/u.exec(n);if(a){let n=a[3]??`overview`;if(!e.has(n))return null;let r={view:`bundles`,teamSlug:a[1]??null,bundleSlug:a[2],bundleTab:n};if(a[4]==null)return r;if(n===`compare`)return a[5]==null||f.has(a[5])?{...r,compareSlug:a[4],...m(a[5])}:null;let i=Number(a[4]);return n!==`code`||a[5]||!/^[1-9]\d*$/u.test(a[4])||!Number.isSafeInteger(i)?null:{...r,file:i,...L(t.hash)}}let o=w(n,t.hash);if(o!==void 0)return o;let s=F(t);if(s!==void 0)return s;let c=/^\/team\/([A-Za-z0-9_-]+)\/(reports|bundles|repositories|dependencies)$/u.exec(n);if(c)return{view:`workspace-${c[2]}`,teamSlug:c[1]};let l=/^\/team\/([A-Za-z0-9_-]+)\/dependencies\/([a-z]+)$/u.exec(n);if(l)return v.has(l[2])?{view:`workspace-dependencies`,teamSlug:l[1],dependencyTab:l[2]}:null;let u=/^\/team\/([^/]+)(?:\/report\/([^/]+))?(?:\/(files)|\/finding\/([^/]+))?$/u.exec(n);if(!u)return null;try{let e=decodeURIComponent(u[1]),t=u[2]?decodeURIComponent(u[2]):null;if([e,t].some(e=>e!=null&&!/^[A-Za-z0-9_-]+$/u.test(e))||u[4]?.length>r*9)return null;let n=u[4]?decodeURIComponent(u[4]):null;return n!=null&&!b(n)?null:{view:u[3]?`files`:`findings`,teamSlug:e,reportSlug:t,...n==null?{}:{finding:{id:n}}}}catch{return null}}function z(e,t,n=[]){if(_.has(e.view)){let n=t.filter(t=>t.slug===e.teamSlug);return n.length===1?{view:e.view,teamId:n[0].id,...y(e)}:null}if(e.view===`bundles`){let{teamSlug:r,bundleSlug:i,compareSlug:a,compareMode:o,...s}=e,c=r==null?[]:t.filter(e=>e.slug===r);if(r!=null&&c.length!==1)return null;let l=c[0],u=r==null?n:t.flatMap(e=>e.bundles??[]),d=e=>new Set(u.filter(t=>t.slug===e).map(e=>e.id)),f=d(i),p=(l?.bundles??n).find(e=>e.slug===i);if(!i||!p||f.size!==1)return null;let h=a==null?null:d(a),g=h?.size===1?{compareId:[...h][0],...m(o)}:{};return{...s,teamId:l?.id??null,bundleId:p.id,...g}}if(![`findings`,`files`].includes(e.view))return e;let{teamSlug:r,reportSlug:i,...a}=e,o=t.filter(e=>e.slug===r);if(!r||o.length!==1)return null;let s=o[0];if(i==null)return{...a,teamId:s.id,reportId:null};let c=t.flatMap(e=>e.reports??[]).filter(e=>e.slug===i),l=new Set(c.map(e=>e.id)),u=(s.reports??[]).find(e=>e.slug===i);return u&&l.size===1?{...a,teamId:s.id,reportId:u.id}:null}function B(e,t,n=[]){if(_.has(e.view)){let n=t.find(t=>t.id===e.teamId),r={view:e.view,teamSlug:n?.slug,...y(e)};return n?.slug&&z(r,t)?r:null}if(e.view===`bundles`){let{teamId:r,bundleId:i,compareId:a,compareMode:o,...s}=e,c=t.find(e=>e.id===r);if(r!=null&&!c?.slug)return null;let l=(c?.bundles??n).find(e=>e.id===i);if(!l?.slug)return null;let u=a==null?null:(r==null?n:t.flatMap(e=>e.bundles??[])).find(e=>e.id===a),d={...s,teamSlug:c?.slug??null,bundleSlug:l.slug,...u?.slug?{compareSlug:u.slug,...m(o)}:{}},f=z(d,t,n);if(!f)return null;if(d.compareSlug!=null&&f.compareId!==a){let{compareSlug:e,compareMode:t,...n}=d;return n}return d}if(![`findings`,`files`].includes(e.view))return e;let{teamId:r,reportId:i,...a}=e,o=t.find(e=>e.id===r),s=i==null?null:o?.reports?.find(e=>e.id===i);if(!o?.slug||i!=null&&!s?.slug)return null;let c={...a,teamSlug:o.slug,reportSlug:s?.slug??null};return z(c,t)?c:null}export{e as a,r as b,a as c,l as d,u as e,d as f,p as g,m as h,g as i,v as j,x as k,S as l,T as m,E as n,k as o,R as p,z as q,B as r};