@preventive/triage 1.0.0-alpha.4 → 1.0.0-alpha.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE-APACHE +202 -0
- package/README.md +16 -0
- package/api/reap.ts +17 -0
- package/cli.js +6 -0
- package/client/dependency-paths.d.ts +2 -0
- package/client/dependency-paths.js +24 -0
- package/client/finding-link.js +305 -0
- package/client/linked-findings.d.ts +1 -0
- package/client/linked-findings.js +112 -0
- package/common/bundle-commit.d.ts +1 -0
- package/common/bundle-commit.js +4 -0
- package/common/bundle-compare-diff.d.ts +3 -0
- package/common/bundle-compare-diff.js +522 -0
- package/common/bundle-compare-inputs.d.ts +2 -0
- package/common/bundle-compare-inputs.js +65 -0
- package/common/bundle-metadata.d.ts +14 -0
- package/common/bundle-metadata.js +226 -0
- package/common/bundle-pkg-of.d.ts +1 -0
- package/common/bundle-pkg-of.js +90 -0
- package/common/bundle-reasons.d.ts +2 -0
- package/common/bundle-reasons.js +21 -0
- package/common/bundle-source-links.d.ts +6 -0
- package/common/bundle-source-links.js +216 -0
- package/common/bundle-sourcemap.d.ts +10 -0
- package/common/bundle-sourcemap.js +100 -0
- package/common/bundle-sources.d.ts +7 -0
- package/common/bundle-sources.js +310 -0
- package/common/bundle-stats.js +41 -0
- package/common/bundle-tabs.js +1 -0
- package/common/code-language.js +65 -0
- package/common/default-scan-models.ts +31 -0
- package/common/dependency-reviews.d.ts +23 -0
- package/common/dependency-reviews.js +81 -0
- package/common/finding-duplicates.js +58 -0
- package/common/finding-filters.js +274 -0
- package/common/finding-id.js +47 -0
- package/common/github-issue-labels.d.ts +1 -0
- package/common/github-issue-labels.js +11 -0
- package/common/github-pr.ts +56 -0
- package/common/gzip.js +59 -0
- package/common/line-diff.d.ts +8 -0
- package/common/line-diff.js +56 -0
- package/common/linked-workspace-groups.js +63 -0
- package/common/managed/comments.ts +34 -0
- package/common/managed/npm-packages.d.ts +5 -0
- package/common/managed/npm-packages.js +34 -0
- package/common/managed/permissions.ts +31 -0
- package/common/managed/report-content.ts +72 -0
- package/common/managed/report-filter.ts +108 -0
- package/common/managed/repository-alias.ts +65 -0
- package/common/managed/roles.ts +28 -0
- package/common/managed/routes.d.ts +2 -0
- package/common/managed/routes.js +254 -0
- package/common/managed/scan-models.ts +6 -0
- package/common/managed/team-app.d.ts +2 -0
- package/common/managed/team-app.js +31 -0
- package/common/managed/triage.ts +83 -0
- package/common/managed/upload-seal.ts +126 -0
- package/common/pretty-print.d.ts +5 -0
- package/common/pretty-print.js +24 -0
- package/common/revalidation-conflicts.js +48 -0
- package/common/revalidation-input-groups.js +56 -0
- package/common/save-error-reason.ts +20 -7
- package/common/scan-server.ts +13 -0
- package/common/server-info.ts +35 -0
- package/common/utf8.d.ts +3 -0
- package/common/utf8.js +45 -0
- package/common/workspace-app.js +23 -0
- package/common/workspace-groups.js +176 -0
- package/out/brotli-fallback.js +3 -3
- package/out/chunk-2AFQKRAM.js +51 -0
- package/out/chunk-2KBF5TZ7.js +2 -0
- package/out/chunk-2XUEZHIP.js +28 -0
- package/out/chunk-35VE6CDH.js +2 -0
- package/out/chunk-3BZ7JERB.js +1 -0
- package/out/chunk-4F6JSF57.js +3 -0
- package/out/chunk-4XCDFGDP.js +10 -0
- package/out/chunk-C4Z6ZBXV.js +10 -0
- package/out/chunk-CMQA4DM6.js +1 -0
- package/out/chunk-CVVJAXVY.js +2 -0
- package/out/chunk-DIJJNTRH.js +10 -0
- package/out/chunk-GJ4IUCNS.js +1 -0
- package/out/chunk-GNXOKIGP.js +80 -0
- package/out/chunk-GZ4MS3TE.js +13 -0
- package/out/chunk-IU3CCINR.js +3 -0
- package/out/chunk-K3X5EJBQ.js +2 -0
- package/out/chunk-KEX2ATEW.js +2 -0
- package/out/chunk-KVEUXIEU.js +1 -0
- package/out/chunk-KYCNJVB7.js +1 -0
- package/out/chunk-NRPC74AM.js +1 -0
- package/out/chunk-OOJM4CTU.js +1 -0
- package/out/chunk-PNHBZGDD.js +1 -0
- package/out/chunk-QZ3A376W.js +1 -0
- package/out/chunk-R5O6FAW4.js +2 -0
- package/out/chunk-RFZQQXSG.js +17 -0
- package/out/chunk-RSHMVYNS.js +1 -0
- package/out/chunk-TUII34K2.js +1 -0
- package/out/chunk-TY4RZD3Z.js +226 -0
- package/out/chunk-TZ5KB2Y5.js +10 -0
- package/out/chunk-U6OPEXIA.js +1 -0
- package/out/chunk-UNTRGE26.js +2 -0
- package/out/chunk-UXNUAIIC.js +33 -0
- package/out/chunk-UYAXVRVL.js +1 -0
- package/out/chunk-UZAZM2SX.js +2 -0
- package/out/chunk-V3ME6FI5.js +2 -0
- package/out/chunk-V5O7M2YT.js +1 -0
- package/out/chunk-VIHGO77Y.js +1 -0
- package/out/chunk-VQJCXGIY.js +7 -0
- package/out/chunk-W4J3MGLB.js +1 -0
- package/out/chunk-WGG7KQUH.js +1 -0
- package/out/chunk-WZDTZE64.js +1 -0
- package/out/chunk-XL35ZV6R.js +1 -0
- package/out/chunk-XYFXXB2G.js +10 -0
- package/out/chunk-YVZH5SHP.js +1 -0
- package/out/chunk-ZBBOBQ43.js +1 -0
- package/out/chunk-ZMQQCGF6.js +2 -0
- package/out/client-managed-import.js +4 -0
- package/out/client-managed.js +37 -0
- package/out/client-sync.js +10 -13
- package/out/github-issue-authorized.html +3 -0
- package/out/github-issue-authorized.js +1 -0
- package/out/graph.js +17 -4
- package/out/index.html +90 -8
- package/out/prism.js +6 -2
- package/out/stasis.svg +20 -0
- package/out/terminal.js +365 -39
- package/out/view.css +1 -1
- package/out/view.js +83 -117
- package/package.json +298 -59
- package/risk/files/characters.js +196 -0
- package/risk/files/hosts.js +205 -0
- package/risk/files/readability.js +171 -0
- package/risk/files/runs-code.js +595 -0
- package/risk/files/script.js +114 -0
- package/risk/files/stamps.js +46 -0
- package/risk/index.d.ts +156 -0
- package/risk/index.js +7 -0
- package/risk/npm/assess.js +223 -0
- package/risk/npm/combined.js +65 -0
- package/risk/npm/compare.js +228 -0
- package/risk/npm/dependencies.js +153 -0
- package/risk/npm/diff.js +43 -0
- package/risk/npm/downloads.js +84 -0
- package/risk/npm/files.js +34 -0
- package/risk/npm/held.js +60 -0
- package/risk/npm/install-scripts.js +34 -0
- package/risk/npm/malware.js +36 -0
- package/risk/npm/manifest.js +65 -0
- package/risk/npm/new-dependency.js +30 -0
- package/risk/npm/old-version.js +108 -0
- package/risk/npm/registry.js +282 -0
- package/risk/npm/release.js +85 -0
- package/risk/npm/score.js +59 -0
- package/risk/npm/specs.js +124 -0
- package/risk/npm/tarball.js +113 -0
- package/server-common/database-config.ts +16 -0
- package/server-common/initialize.ts +18 -0
- package/server-common/npm-advisories.ts +101 -0
- package/{server → server-common}/origin.ts +5 -5
- package/server-common/reap.ts +48 -0
- package/server-common/scan-config.ts +19 -0
- package/server-common/standalone.ts +29 -0
- package/server-common/storage-crypto.ts +182 -0
- package/server-common/storage-log.ts +38 -0
- package/server-common/vercel-blob.ts +103 -0
- package/server-e2e/app.ts +486 -0
- package/{server → server-e2e}/auth.ts +5 -1
- package/{server → server-e2e}/bus-receiver.ts +2 -1
- package/{server → server-e2e}/cli.js +9 -4
- package/{server → server-e2e}/config.ts +56 -35
- package/{server → server-e2e}/db-neon.ts +2 -2
- package/{server → server-e2e}/db-revision-sql.ts +1 -1
- package/{server → server-e2e}/db-stmt.ts +2 -2
- package/{server → server-e2e}/db.ts +7 -7
- package/{server → server-e2e}/http.ts +116 -18
- package/{server → server-e2e}/hub.ts +40 -9
- package/server-e2e/index.ts +17 -0
- package/server-e2e/lifecycle.ts +95 -0
- package/{server → server-e2e}/neon-driver.ts +2 -2
- package/{server → server-e2e}/npm-proxy.ts +12 -145
- package/{server → server-e2e}/objstore/blob-vercel.ts +10 -114
- package/{server → server-e2e}/objstore/blob.ts +1 -1
- package/server-e2e/objstore/fetch-mint-guard.ts +74 -0
- package/{server → server-e2e}/objstore/handlers.ts +9 -8
- package/{server → server-e2e}/objstore/init.ts +35 -18
- package/{server → server-e2e}/objstore/reaper.ts +1 -1
- package/server-e2e/objstore/rest-deny.ts +28 -0
- package/server-e2e/objstore/rest-mint.ts +224 -0
- package/{server → server-e2e}/objstore/rest.ts +27 -26
- package/{server → server-e2e}/objstore/sign.ts +105 -0
- package/{server → server-e2e}/objstore/store-neon.ts +6 -10
- package/{server → server-e2e}/objstore/store.ts +7 -7
- package/{server → server-e2e}/objstore/tokens.ts +2 -2
- package/{server → server-e2e}/pubsub.ts +12 -9
- package/{server → server-e2e}/sign.ts +4 -4
- package/{server → server-e2e}/sse-server.ts +102 -68
- package/{server → server-e2e}/sse-session.ts +28 -8
- package/{server → server-e2e}/static.ts +31 -21
- package/server-e2e/sync-handlers.ts +408 -0
- package/{server → server-e2e}/ws-server.ts +20 -9
- package/server-managed/activity.ts +245 -0
- package/server-managed/avatar-store.ts +12 -0
- package/server-managed/blob-store.ts +17 -0
- package/server-managed/brotli.ts +10 -0
- package/server-managed/bundle-advisories.ts +120 -0
- package/server-managed/bundle-advisory-inventory.ts +77 -0
- package/server-managed/bundle-build-diagnostics.d.ts +10 -0
- package/server-managed/bundle-build-diagnostics.js +23 -0
- package/server-managed/bundle-build-leases.ts +41 -0
- package/server-managed/bundle-build-worker.js +111 -0
- package/server-managed/bundle-build.ts +198 -0
- package/server-managed/bundle-cache.ts +199 -0
- package/server-managed/bundle-catalog.ts +29 -0
- package/server-managed/bundle-commits.ts +140 -0
- package/server-managed/bundle-store.ts +24 -0
- package/server-managed/bundle-summary-cache.ts +130 -0
- package/server-managed/bundle.ts +120 -0
- package/server-managed/cache-storage.ts +19 -0
- package/server-managed/cli.js +21 -0
- package/server-managed/combined.ts +46 -0
- package/server-managed/comments.ts +151 -0
- package/server-managed/config.ts +158 -0
- package/server-managed/content-access.ts +15 -0
- package/server-managed/crypto.ts +25 -0
- package/server-managed/db-methods.ts +1725 -0
- package/server-managed/db-neon.ts +367 -0
- package/server-managed/db-schema.ts +227 -0
- package/server-managed/db-table-names.ts +22 -0
- package/server-managed/db.ts +132 -0
- package/server-managed/dependency-reviews.ts +248 -0
- package/server-managed/github-app.ts +391 -0
- package/server-managed/github-errors.ts +68 -0
- package/server-managed/github-issue-links.ts +127 -0
- package/server-managed/github-issue-oauth.ts +47 -0
- package/server-managed/github-issues.ts +152 -0
- package/server-managed/github-metadata.ts +213 -0
- package/server-managed/github-oauth.ts +235 -0
- package/server-managed/github-pulls.ts +227 -0
- package/server-managed/http-response.ts +50 -0
- package/server-managed/http.ts +3472 -0
- package/server-managed/import-triage.ts +51 -0
- package/server-managed/index.ts +187 -0
- package/server-managed/kept.ts +28 -0
- package/server-managed/link-reports.ts +158 -0
- package/server-managed/locked-packages.ts +85 -0
- package/server-managed/lru.ts +30 -0
- package/server-managed/managed-issues.ts +75 -0
- package/server-managed/management-catalog.ts +45 -0
- package/server-managed/management.ts +99 -0
- package/server-managed/npm-insights.ts +440 -0
- package/server-managed/npm-kept.ts +65 -0
- package/server-managed/npm-loads.ts +167 -0
- package/server-managed/npm-manifest.ts +115 -0
- package/server-managed/npm-packages.ts +378 -0
- package/server-managed/npm-provenance.ts +123 -0
- package/server-managed/npm-risk.ts +177 -0
- package/server-managed/object-storage-disk.ts +148 -0
- package/server-managed/object-storage-vercel.ts +67 -0
- package/server-managed/object-storage.ts +74 -0
- package/server-managed/package-entry-points.ts +51 -0
- package/server-managed/pretty-print.ts +352 -0
- package/server-managed/public-workspace.ts +220 -0
- package/server-managed/rename-diff-worker.js +26 -0
- package/server-managed/rename-diff.ts +270 -0
- package/server-managed/repo-path.ts +21 -0
- package/server-managed/report-migration.ts +35 -0
- package/server-managed/report-query.ts +10 -0
- package/server-managed/report-response.ts +16 -0
- package/server-managed/report-sources.ts +178 -0
- package/server-managed/report-store.ts +47 -0
- package/server-managed/repository-aliases.ts +91 -0
- package/server-managed/repository-browser.ts +153 -0
- package/server-managed/repository-discovery.ts +82 -0
- package/server-managed/repository-policy.ts +27 -0
- package/server-managed/repository-risk.ts +420 -0
- package/server-managed/revisions.ts +35 -0
- package/server-managed/session.ts +92 -0
- package/server-managed/slugs.ts +38 -0
- package/server-managed/solidity-entry-points.ts +69 -0
- package/server-managed/sql-postgres.ts +31 -0
- package/server-managed/sql.ts +76 -0
- package/server-managed/static.ts +28 -0
- package/server-managed/storage-command.ts +16 -0
- package/server-managed/storage-db.ts +175 -0
- package/server-managed/storage-encryption.ts +279 -0
- package/server-managed/storage-maintenance.ts +256 -0
- package/server-managed/storage-payload.ts +103 -0
- package/server-managed/storage-stores.ts +85 -0
- package/server-managed/storage.ts +78 -0
- package/server-managed/team-app.ts +94 -0
- package/server-managed/team-catalog.ts +7 -0
- package/server-managed/team-feed.ts +173 -0
- package/server-managed/team-npm-scopes.ts +77 -0
- package/server-managed/team-reports.ts +228 -0
- package/server-managed/triage-response.ts +16 -0
- package/server-managed/type-only-worker.js +19 -0
- package/server-managed/type-only.ts +103 -0
- package/server-managed/uploads.ts +86 -0
- package/server-managed/upstream-cache.ts +215 -0
- package/server-managed/view-as.ts +58 -0
- package/server-managed/workspace-shares.ts +166 -0
- package/server.ts +50 -0
- package/server/index.ts +0 -477
- package/server/lifecycle.ts +0 -204
- package/server/sync-handlers.ts +0 -320
- /package/{LICENSE → LICENSE-MIT} +0 -0
- /package/{server → server-e2e}/config.example.json +0 -0
- /package/{server → server-e2e}/objstore/blob-fs.ts +0 -0
- /package/{server → server-e2e}/objstore/fs.ts +0 -0
- /package/{server → server-e2e}/peer.ts +0 -0
- /package/{server → server-e2e}/util.ts +0 -0
- /package/{server → server-e2e}/validation.ts +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var{Buffer:se}=globalThis,ce=se&&!se.TYPED_ARRAY_SUPPORT;var j=new Uint8Array(Uint16Array.of(258).buffer)[0]===2,le=e=>e&&(ce||`${e}`.includes("[native code]"));!ce&&le(()=>{})&&(le=()=>!1);function B(e,t,n,r){let i="",o=t;for(let f=n-3;o<f;o+=4){let s=e[o],l=e[o+1],c=e[o+2],a=e[o+3];i+=r[s],i+=r[l],i+=r[c],i+=r[a]}for(;o<n;)i+=r[e[o++]];return i}function Me(e,t){let n=e.length;for(let r=0;r<n;r++)t[r]=e.charCodeAt(r);return t}var bt=null,k=!1,yt=!1,H=new TextEncoder,L=new TextDecoder("utf-8",{ignoreBOM:!0}),Tt=new TextDecoder("latin1",{ignoreBOM:!0});function Et(e,t,n,r){if(n-t>3e4){let i=[];for(let f=t;f<n;){let s=f+500,l=s>n?n:s;i.push(B(e,f,l,r)),f=l}let o=i.join("");return i.length=0,o}return B(e,t,n,r)}var W=globalThis.Buffer;function D(e){if(!(e&&e instanceof Uint8Array))throw new TypeError("Expected an Uint8Array")}var ue="Input is not a string",X="Input is not well-formed Unicode";function z(e,t){switch(t){case"uint8":if(e.constructor!==Uint8Array)throw new Error("Unexpected");return e;case"arraybuffer":if(e.byteLength!==e.buffer.byteLength)throw new Error("Unexpected");return e.buffer;case"buffer":return e.length<=64?W.from(e):W.from(e.buffer,e.byteOffset,e.byteLength)}throw new TypeError("Unexpected format")}function _t(e,t){switch(t){case"uint8":return e.length<=64||e.byteOffset!==0||e.byteLength!==e.buffer.byteLength?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength);case"arraybuffer":return e.buffer.byteLength===e.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);case"buffer":if(e.constructor!==W)throw new Error("Unexpected");return e}throw new TypeError("Unexpected format")}var Oe=L,Le=L?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):null,{isWellFormed:he}=String.prototype;function Ue(e,t,n){if(t||e.length===n.length)return n;if(he){if(he.call(e))return n;throw new TypeError(X)}let r=0,i=n.length-3;for(;r<=i;){let o=n.indexOf(239,r);if(o===-1||o>i)break;if(r=o+1,n[o+1]===191&&n[o+2]===189){if(null)try{if(encodeURI(e)!==null)return n}catch{}else if(e===K(n))return n;throw new TypeError(X)}}return n}function de(e,t=!1){if(typeof e!="string")throw new TypeError(ue);return e.length===0?new Uint8Array:H||!null?Ue(e,t,H.encode(e)):null(e,t)}function K(e,t=!1){return D(e),e.byteLength===0?"":L||!null?t?Oe.decode(e):Le.decode(e):null(e,t)}var Ft=(e,t="uint8")=>z(de(e,!1),t),Ot=(e,t="uint8")=>z(de(e,!0),t),Lt=e=>K(e,!1),Ut=e=>K(e,!0);var q=/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@(?: ?(.*?))?\n?$/u,I=/^\*{15,}(?: (.*?))?\n?$/u,v=/^\*{3} (\d+)(?:,(\d+))? \*{4}\n?$/u,U=/^--- (\d+)(?:,(\d+))? ----\n?$/u,G=/^(\d+)(?:,(\d+))?([acd])(\d+)(?:,(\d+))?[ \t]*\r?\n?$/u;var Re=/[ \t\n\v\f\r]/gu,ke=/[ \t\n\v\f\r]+/gu,me=/[ \t\n\v\f\r]+$/u,xe=e=>e.replace(/[A-Z]/gu,t=>t.toLowerCase());function R({ignoreCase:e=!1,whitespace:t="none"}={}){let n=null;return t==="all"?n=r=>r.replace(Re,""):t==="change"?n=r=>r.replace(me,"").replace(ke," "):t==="trailing"&&(n=r=>r.replace(me,"")),e?n?r=>xe(n(r)):xe:n}function N(e){let t=[];for(let n=0;n<e.length;){let r=e.indexOf(`
|
|
2
|
+
`,n),i=r<0?e.length:r+1;t.push(e.slice(n,i)),n=i}return t}var _=class extends Error{constructor(t,n){super(n===void 0?t:`${t} at line ${n+1}`),this.name="PatchError",this.line=n}},P=(e,t)=>t===0?Number(e):Number(e)-1,Y=e=>e!==void 0&&e.startsWith("\\"),J=e=>e.replace(/\n$/u,"");function V(e){let t=N(e),n=[],r={old:null,new:null},i=!1;for(let o=0;o<t.length;){let f=t[o],s=pe(f,i);if(i=f.startsWith("***************")?!1:f.startsWith("*** "),s){r=s.names??{...r,[s.slot]:s.name},o++;continue}let l=q.test(f)?"unified":I.test(f)?"context":G.test(f)?"normal":null;if(l===null){o++;continue}let c=[],a=Be[l];for(let u=a(t,o);u!==null&&(c.push(u.hunk),o=u.next,!(o>=t.length||pe(t[o],!1)));u=a(t,o));n.push({old:r.old,new:r.new,format:l,hunks:c,blocks:De(c)}),r={old:null,new:null}}return n}function pe(e,t){let n=/^diff --git (\S+) (\S+)\n?$/u.exec(e);if(n)return{names:{old:n[1],new:n[2]}};if(v.test(e)||U.test(e))return null;let r=/^(\*\*\* |--- |\+\+\+ )(.*?)(?:\t.*)?\n?$/u.exec(e);return r?r[1]==="--- "?{slot:t?"new":"old",name:r[2]}:{slot:r[1]==="*** "?"old":"new",name:r[2]}:null}function De(e){let t=[];for(let n of e){let r=n.oldStart,i=n.newStart,o=null,f=()=>{o&&(t.push(o),r=o.a1,i=o.b1,o=null)};for(let{tag:s,text:l}of n.lines){if(s===" "){f(),r++,i++;continue}s==="-"&&o?.insert.length&&f(),o??={a0:r,a1:r,b0:i,b1:i,remove:[],insert:[]},s==="-"?(o.a1++,o.remove.push(l)):(o.b1++,o.insert.push(l))}f()}return t}function Ie(e,t){let n=q.exec(e[t]??"");if(!n)return null;let r=n[2]===void 0?1:Number(n[2]),i=n[4]===void 0?1:Number(n[4]),o={oldStart:P(n[1],r),newStart:P(n[3],i),label:n[5]||null,lines:[]},f=0,s=t+1,l=0;for(;l<r||f<i;s++){let c=e[s];if(c===void 0)throw new _("the patch ends inside a hunk",s);let a=c===`
|
|
3
|
+
`?" ":c[0];if(a!==" "&&a!=="-"&&a!=="+")throw new _(`a hunk line begins with ${JSON.stringify(a)}`,s);let u=c===`
|
|
4
|
+
`?c:c.slice(1);if(Y(e[s+1])&&(u=J(u),s++),a!=="+"&&l++,a!=="-"&&f++,l>r||f>i)throw new _("a hunk has more lines than its header says",s);o.lines.push({tag:a,text:u})}return{hunk:o,next:s}}function ve(e,t){let n=G.exec(e[t]??"");if(!n)return null;let[,r,i,o,f,s]=n,l=o==="a"?0:Number(i??r)-Number(r)+1,c=o==="d"?0:Number(s??f)-Number(f)+1;if(l<0||c<0)throw new _("a change command counts backwards",t);let a={oldStart:o==="a"?Number(r):Number(r)-1,newStart:o==="d"?Number(f):Number(f)-1,label:null,lines:[]},u=t+1,h=(g,d,m)=>{for(let b=0;b<g;b++,u++){let E=e[u];if(E===void 0)throw new _("the patch ends inside a hunk",u);if(E[0]!==d)throw new _(`${JSON.stringify(d)} expected`,u);let x=E.slice(2);Y(e[u+1])&&(x=J(x),u++),a.lines.push({tag:m,text:x})}};if(h(l,"<","-"),o==="c"){if(e[u]!==`---
|
|
5
|
+
`)throw new _("'---' expected",u);u++}return h(c,">","+"),{hunk:a,next:u}}function Pe(e,t){let n=I.exec(e[t]??"");if(!n)return null;let r=v.exec(e[t+1]??"");if(!r)throw new _("'*** ' range expected",t+1);let i=t+2,o=ge(e,i,U,"-");i=o.next;let f=U.exec(e[i]??"");if(!f)throw new _("'--- ' range expected",i);let s=ge(e,i+1,null,"+"),l=o.lines.length===0?s.lines.filter(h=>h.tag===" "):o.lines,c=s.lines.length===0?o.lines.filter(h=>h.tag===" "):s.lines,a=P(r[1],l.length),u=P(f[1],c.length);return{hunk:{oldStart:a,newStart:u,label:n[1]||null,lines:je(l,c)},next:s.next}}function ge(e,t,n,r){let i=[],o=t;for(;o<e.length;o++){let f=e[o];if(n&&n.test(f)||I.test(f)||v.test(f)||!n&&U.test(f))break;if(Y(f)){i[i.length-1].text=J(i.at(-1).text);continue}let s=f===`
|
|
6
|
+
`?" ":f[0];if(s!==" "&&s!=="!"&&s!=="-"&&s!=="+")break;i.push({tag:s===" "?" ":r,text:f===`
|
|
7
|
+
`?f:f.slice(2)})}return{lines:i,next:o}}function je(e,t){let n=[],r=0,i=0;for(;r<e.length||i<t.length;){if(e[r]?.tag===" "&&t[i]?.tag===" "){n.push(e[r]),r++,i++;continue}for(;r<e.length&&e[r].tag!==" ";)n.push(e[r]),r++;for(;i<t.length&&t[i].tag!==" ";)n.push(t[i]),i++;e[r]?.tag===" "&&t[i]===void 0?(n.push(e[r]),r++):t[i]?.tag===" "&&e[r]===void 0&&(n.push(t[i]),i++)}return n}var Be={unified:Ie,context:Pe,normal:ve};var A=class extends Error{constructor(t){super(`the rendered diff does not say what the change set says (${t})`),this.name="FormatError"}};function Ee(e,t,n,r){if(n.length===0){if(r!=="")throw new A("there was nothing to print, and something was printed");return}let i;try{i=V(r)}catch(f){throw new A(`it does not read back (${f.message})`)}if(i.length!==1)throw new A(`${i.length} files read back, not one`);let o=i[0].blocks;if(o.length!==n.length)throw new A(`${o.length} blocks read back, not ${n.length}`);for(let[f,s]of o.entries()){let l=n[f];if(s.a0!==l.a0||s.a1!==l.a1||s.b0!==l.b0||s.b1!==l.b1)throw new A(`block ${f+1} reads back somewhere else`)}for(let f of i[0].hunks){let s=f.oldStart,l=f.newStart;for(let{tag:c,text:a}of f.lines){let u=c==="+"?t[l]:e[s];if(a!==u)throw new A(`a ${c==="+"?"added":c==="-"?"removed":"kept"} line is not the line it stands for`);c!=="+"&&s++,c!=="-"&&l++}}}function He(e,t,n,r){let i=[],o=0;for(;o<e.length;){let f=o;for(;f+1<e.length&&e[f+1].a0-e[f].a1<=2*t;)f++;let s=e[o],l=e[f];i.push({blocks:e.slice(o,f+1),a0:Math.max(0,s.a0-t),a1:Math.min(n,l.a1+t),b0:Math.max(0,s.b0-t),b1:Math.min(r,l.b1+t)}),o=f+1}return i}var $e=e=>(t,n,r,{context:i,label:o=null})=>{let f="";for(let s of He(r,i,t.length,n.length))f+=e(t,n,s,o?o(s.a0):null);return Ee(t,n,r,f),f},We=`
|
|
8
|
+
\
|
|
9
|
+
`,M=(e,t)=>e+t+(t.endsWith(`
|
|
10
|
+
`)?"":We);function we(e,t){return t>e+1?`${e+1},${t}`:`${t>e?e+1:e}`}function Ne(e,t,n){let r="";for(let{a0:i,a1:o,b0:f,b1:s}of n){let l=i===o?"a":f===s?"d":"c";r+=we(i,o)+l+we(f,s)+`
|
|
11
|
+
`;for(let c=i;c<o;c++)r+=M("< ",e[c]);l==="c"&&(r+=`---
|
|
12
|
+
`);for(let c=f;c<s;c++)r+=M("> ",t[c])}return Ee(e,t,n,r),r}function be(e,t){return t<=e?`${e},0`:t===e+1?`${e+1}`:`${e+1},${t-e}`}var _e=$e((e,t,n,r)=>{let i=`@@ -${be(n.a0,n.a1)} +${be(n.b0,n.b1)} @@${r===null?"":" "+r}
|
|
13
|
+
`,o=n.a0,f=n.b0;for(let{a0:s,a1:l,b1:c}of n.blocks){for(;o<s;o++,f++)i+=M(" ",e[o]);for(;o<l;o++)i+=M("-",e[o]);for(;f<c;f++)i+=M("+",t[f])}for(;o<n.a1;o++,f++)i+=M(" ",e[o]);return i});function ye(e,t){return t<=e?`${e}`:t===e+1?`${e+1}`:`${e+1},${t}`}var Ce=$e((e,t,n,r)=>{let i=`***************${r===null?"":" "+r}
|
|
14
|
+
`;return i+=`*** ${ye(n.a0,n.a1)} ****
|
|
15
|
+
`,n.blocks.some(o=>o.a0<o.a1)&&(i+=Te(e,n.a0,n.a1,n.blocks,"a")),i+=`--- ${ye(n.b0,n.b1)} ----
|
|
16
|
+
`,n.blocks.some(o=>o.b0<o.b1)&&(i+=Te(t,n.b0,n.b1,n.blocks,"b")),i});function Te(e,t,n,r,i){let o=i+"1",f=i+"0",s=i==="a"?"b":"a",l="",c=t;for(let a of r){for(;c<a[f];c++)l+=M(" ",e[c]);let u=a[s+"0"]<a[s+"1"]?"! ":i==="a"?"- ":"+ ";for(;c<a[o];c++)l+=M(u,e[c])}for(;c<n;c++)l+=M(" ",e[c]);return l}function Xe(e){let t=[];for(let n=0;;){let r=n;for(;n<e.length&&e[n];)n++;if(t.push(n>r),n===e.length)return t;n++}}function Z(e,t,n){let r=t.length,i=Xe(n),o=0,f=0,s=0,l=()=>{if(o===r||e[s]!==e[o])return!1;for(t[s++]=0,t[o++]=1,f++;o<r&&t[o];)o++;return!0},c=()=>{if(s===0||e[s-1]!==e[o-1])return!1;for(t[--s]=1,t[--o]=0,f--;s>0&&t[s-1];)s--;return!0};for(let a=0;a<r;a++){if(!t[a]){f++;continue}for(s=a,o=a;o<r&&t[o];o++);let u=-1;for(let h=-1;h!==o-s;){for(h=o-s;c(););for(u=i[f]?o:-1;l();)i[f]&&(u=o)}if(u!==-1)for(let h=o-u;h>0;h--)c();a=o-1}}function ze(e){let t=1;for(let n=e;n!==0;n>>=2)t<<=1;return Math.max(256,t)}function Q(e,t,{ignoreCase:n=!1,whitespace:r="none",minimal:i=!1,slide:o=!0,horizon:f=1/0}={}){let s=R({ignoreCase:n,whitespace:r});if(s===null&&ee(e,t,null))return[];let{A:l,B:c}=qe(e,t,s),a=new Uint8Array(l.length),u=new Uint8Array(c.length),h=Ke(e,t,f);if(Ge(l,c,a,u,i,h),o){let{lo:d,hiA:m,hiB:b}=h;Z(l.subarray(d,m),a.subarray(d,m),u.subarray(d,b)),Z(c.subarray(d,b),u.subarray(d,b),a.subarray(d,m))}let g=Ve(a,u);return te(e,t,g,s),g}function Ke(e,t,n){let r=Math.min(e.length,t.length),i=0;for(;i<r&&e[i]===t[i];)i++;let o=Math.max(0,i-n),f=0;for(;f<r-o&&e[e.length-1-f]===t[t.length-1-f];)f++;let s=Math.max(0,f-n);return{lo:o,hiA:e.length-s,hiB:t.length-s}}function ee(e,t,n=null){if(e.length!==t.length)return!1;let r=n?(i,o)=>n(i)===n(o):(i,o)=>i===o;for(let i=0;i<e.length;i++)if(!r(e[i],t[i]))return!1;return!0}function qe(e,t,n){let r=new Map,i=f=>{let s=n?n(f):f,l=r.get(s);return l===void 0&&(l=r.size,r.set(s,l)),l};return{A:Int32Array.from(e,i),B:Int32Array.from(t,i)}}function Ge(e,t,n,r,i,{lo:o,hiA:f,hiB:s}){let l=e.length+t.length+3,c={A:e,B:t,fd:new Int32Array(l),bd:new Int32Array(l),base:t.length+1,limit:ze(e.length+t.length)},a=[{xoff:o,xlim:f,yoff:o,ylim:s,minimal:i}],u={xmid:0,ymid:0,loMinimal:!1,hiMinimal:!1};for(;a.length;){let{xoff:h,xlim:g,yoff:d,ylim:m,minimal:b}=a.pop();for(;h<g&&d<m&&e[h]===t[d];)h++,d++;for(;h<g&&d<m&&e[g-1]===t[m-1];)g--,m--;if(h===g){for(;d<m;d++)r[d]=1;continue}if(d===m){for(;h<g;h++)n[h]=1;continue}Ye(c,h,g,d,m,b,u),a.push({xoff:u.xmid,xlim:g,yoff:u.ymid,ylim:m,minimal:u.hiMinimal}),a.push({xoff:h,xlim:u.xmid,yoff:d,ylim:u.ymid,minimal:u.loMinimal})}}function Ye(e,t,n,r,i,o,f){let{A:s,B:l,fd:c,bd:a,base:u,limit:h}=e,g=n-r,d=t-i,m=n-i,b=t-r,E=m,x=m,w=b,T=b,ie=(b-m&1)!==0;c[u+b]=t,a[u+m]=n;for(let fe=1;;fe++){T>d?c[u+--T-1]=-1:++T,w<g?c[u+ ++w+1]=-1:--w;for(let p=w;p>=T;p-=2){let F=c[u+p+1],O=c[u+p-1],$=O<F?F:O+1,S=$-p;for(;$<n&&S<i&&s[$]===l[S];)$++,S++;if(c[u+p]=$,ie&&x<=p&&p<=E&&a[u+p]<=$){f.xmid=$,f.ymid=S,f.loMinimal=f.hiMinimal=!0;return}}x>d?a[u+--x-1]=2147483647:++x,E<g?a[u+ ++E+1]=2147483647:--E;for(let p=E;p>=x;p-=2){let F=a[u+p+1],O=a[u+p-1],$=O<F?O:F-1,S=$-p;for(;t<$&&r<S&&s[$-1]===l[S-1];)$--,S--;if(a[u+p]=$,!ie&&T<=p&&p<=w&&$<=c[u+p]){f.xmid=$,f.ymid=S,f.loMinimal=f.hiMinimal=!0;return}}if(!(o||fe<h)){Je(e,{xoff:t,xlim:n,yoff:r,ylim:i,fmin:T,fmax:w,bmin:x,bmax:E},f);return}}}function Je(e,t,n){let{fd:r,bd:i,base:o}=e,{xoff:f,xlim:s,yoff:l,ylim:c,fmin:a,fmax:u,bmin:h,bmax:g}=t,d=0,m=-1;for(let x=u;x>=a;x-=2){let w=Math.min(r[o+x],s),T=w-x;c<T&&(w=c+x,T=c),m<w+T&&(m=w+T,d=w)}let b=0,E=2147483647;for(let x=g;x>=h;x-=2){let w=Math.max(f,i[o+x]),T=w-x;T<l&&(w=l+x,T=l),w+T<E&&(E=w+T,b=w)}s+c-E<m-(f+l)?(n.xmid=d,n.ymid=m-d,n.loMinimal=!0,n.hiMinimal=!1):(n.xmid=b,n.ymid=E-b,n.loMinimal=!1,n.hiMinimal=!0)}function Ve(e,t){let n=[],r=t.length,i=e.length,o=0,f=0;for(;o<i||f<r;){if(o<i&&f<r&&!e[o]&&!t[f]){o++,f++;continue}let s=o,l=f;for(;o<i&&e[o];)o++;for(;f<r&&t[f];)f++;if(s===o&&l===f)throw new C("a kept line has no counterpart");n.push({a0:s,a1:o,b0:l,b1:f})}return n}function te(e,t,n,r=null){let i=r?(s,l)=>r(s)===r(l):(s,l)=>s===l,o=0,f=0;for(let{a0:s,a1:l,b0:c,b1:a}of n){if(s<o||c<f||l<s||a<c||l>e.length||a>t.length)throw new C("a block is out of order or out of range");if(s===l&&c===a)throw new C("a block changes nothing");if(s-o!==c-f)throw new C("the kept lines before a block differ in count");for(;o<s;o++,f++)if(!i(e[o],t[f]))throw new C(`kept line ${o+1} does not match`);o=l,f=a}if(e.length-o!==t.length-f)throw new C("the kept lines after the last block differ in count");for(;o<e.length;o++,f++)if(!i(e[o],t[f]))throw new C(`kept line ${o+1} does not match`)}var C=class extends Error{constructor(t){super(`the computed change set does not reconstruct the second file (${t})`),this.name="DiffError"}};var ne={unified:_e,context:Ce,normal:Ne},Se=`Files differ
|
|
17
|
+
`;function Ze(e,t,n){if(e===t)return"";let r=R(n);return r===null?Se:ee(N(e),N(t),r)?"":Se}function oe(e,t){if(!(Number.isInteger(e)&&e>=0)&&e!==1/0)throw new RangeError(`${t} is a number of lines, not ${e}`);return e}function Qe(e,t,{slide:n=!0,horizon:r=3,...i}={}){let o=N(e),f=N(t);return Q(o,f,{...i,slide:n,horizon:oe(r,"horizon")}).map(({a0:s,a1:l,b0:c,b1:a})=>({a0:s,a1:l,b0:c,b1:a,remove:o.slice(s,l),insert:f.slice(c,a)}))}function et(e,t,n,{format:r="unified",context:i=3,label:o=null,...f}={}){if(!Object.hasOwn(ne,r))throw new RangeError(`a change set prints as unified, context or normal, not ${r}`);let s=N(e),l=N(t);return te(s,l,n,R(f)),n.length===0?"":ne[r](s,l,n,{context:i,label:o})}function tt(e,t,{format:n="unified",context:r=3,label:i=null,...o}={}){if(n==="brief")return Ze(e,t,o);let f=N(e),s=N(t),{slide:l=!0,horizon:c=0,...a}=o,u=oe(c,"horizon"),h=Q(f,s,{...a,slide:l,horizon:n==="normal"?u:Math.max(u,oe(r,"context"))});return h.length===0?"":ne[n](f,s,h,{context:r,label:i})}function Ae(){let e=new(k?Uint32Array:Int32Array)(4096);for(let t=0;t<256;t++){let n=t;for(let r=0;r<8;r++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n}for(let t=0;t<256;t++){let n=e[t];for(let r=256+t;r<e.length;r+=256)n=e[r]=n>>>8^e[n&255]}return e}var y=Ae(),[re,nt,ot,rt,it,ft,st,lt,ct,ut,at,ht,dt,mt,xt,pt]=Array.from({length:16},(e,t)=>y.subarray(t*256,t*256+256));function xn(e){D(e);let t=-1,n=0,r=e.length;if(j&&r>1024){let i=4-(e.byteOffset&3)&3;for(;n<i;n++)t=re[(t^e[n])&255]^t>>>8;let o=r-n>>>2,f=new(k?Uint32Array:Int32Array)(e.buffer,e.byteOffset+n,o),s=0;for(let l=o-3;s<l;s+=4){let c=f[s]^t,a=f[s+1],u=f[s+2],h=f[s+3];t=y[3840+(c&255)]^y[3584+(c>>>8&255)]^y[3328+(c>>>16&255)]^y[3072+(c>>>24)]^y[2816+(a&255)]^y[2560+(a>>>8&255)]^y[2304+(a>>>16&255)]^y[2048+(a>>>24)]^y[1792+(u&255)]^y[1536+(u>>>8&255)]^y[1280+(u>>>16&255)]^y[1024+(u>>>24)]^y[768+(h&255)]^y[512+(h>>>8&255)]^y[256+(h>>>16&255)]^y[h>>>24]}n+=s*4}else for(let i=r-15;n<i;n+=16)t=pt[(e[n]^t)&255]^xt[(e[n+1]^t>>>8)&255]^mt[(e[n+2]^t>>>16)&255]^dt[e[n+3]^t>>>24]^ht[e[n+4]]^at[e[n+5]]^ut[e[n+6]]^ct[e[n+7]]^lt[e[n+8]]^st[e[n+9]]^ft[e[n+10]]^it[e[n+11]]^rt[e[n+12]]^ot[e[n+13]]^nt[e[n+14]]^re[e[n+15]];for(let i=n;i<r;i++)t=re[(t^e[i])&255]^t>>>8;return~t>>>0}export{Me as a,bt as b,k as c,yt as d,H as e,L as f,Tt as g,Et as h,D as i,ue as j,z as k,_t as l,Ft as m,Ot as n,Lt as o,Ut as p,xn as q,q as r,I as s,G as t,V as u,A as v,C as w,Qe as x,et as y,tt as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as P}from"./chunk-NRPC74AM.js";import{a as b,d as x,f as h,h as y}from"./chunk-W4J3MGLB.js";import{d as B}from"./chunk-PNHBZGDD.js";import{a as g,b as d}from"./chunk-4F6JSF57.js";import{c as O}from"./chunk-WZDTZE64.js";import{C as k,D as R,G as S,J as I,K as N,L as M,O as m,q as _}from"./chunk-GNXOKIGP.js";import{a as v}from"./chunk-TUII34K2.js";var H=["inprogress","fixed","invalid","deleted","ignored"];function Q(e){return typeof e=="string"&&H.includes(e)}function ue(e){if(e===null)return null;if(typeof e!="object"||Array.isArray(e))return"invalid";let r=e,n={},t=r.color;if(t!=null){if(typeof t!="string"||t.length>50)return"invalid";t!==""&&(n.color=t)}let o=r.triage;if(o!=null){if(!Q(o))return"invalid";n.triage=o}for(let a of["comment","fix"]){let c=r[a];if(c!=null){if(typeof c!="string"||c.length>1e4)return"invalid";c!==""&&(n[a]=c)}}let s=r.flagged;if(s!=null){if(typeof s!="boolean")return"invalid";n.flagged=s}return n}function ge(e,r){let n=d([{groups:[e],tree:r.tree}]);for(let t of e)k(t,r),t.isApp??=_(t,t.source??r.source),t._depsDirectory=n}function w(e,r){return!(e.isApp??_(e,e._source??e.source))&&g(e.file,e._depsDirectory??r??d([{groups:[[e]]}]))}function ye(e,r,n){let t=b(r);return t==="ignored"&&w(e,n)?void 0:t}function we(e,r,n,t){let o=r.id??String(r._id),s=r._reportName??"";w(r,t)&&(n==="ignored"||n==="untriaged")?(b(e.get(o))!=="ignored"&&h(e,o,{triage:void 0}),y(e,o,s,n==="ignored",!0)):(h(e,o,{triage:n==="untriaged"?void 0:n}),n!=="ignored"&&n!=="untriaged"&&y(e,o,s,!1))}function Z(e,r){if(![...e.values()].some(t=>t?.ignoredReports?.length))return!1;let n=!1;for(let t of r){let o=d([t]),s=(t.groups??[]).flat(),a=i=>({...i,_source:i._source??i.source??t.source}),c=new Set(s.filter(i=>w(a(i),o)).map(i=>i.id??String(i._id)));for(let i of s){let l=i.id??String(i._id),p=i._reportName??t.name??t.fileName??"",A=e.get(l);A?.ignoredReports?.includes(p)&&(x(A,p)||w(a(i),o)||(b(A)||(n=h(e,l,{triage:"ignored"})||n),c.has(l)||(n=y(e,l,p,!1)||n)))}for(let i of s){if(!w(a(i),o))continue;let l=i.id??String(i._id),p=i._reportName??t.name??t.fileName??"";e.get(l)?.ignoredReports?.includes(p)&&(n=y(e,l,p,!0,!0)||n)}}return n}async function ee(e,r){let n=new Set(Object.values(e??{}).flatMap(o=>Array.isArray(o?.ignoredReports)?o.ignoredReports.filter(s=>typeof s=="string"&&!x(o,s)):[])),t=[];for(let o of n){let s;try{let a=await r(o);if(typeof a!="string")continue;s=await m(a)}catch{continue}s&&t.push({...s.data,name:o,groups:[s.findings]})}return t}async function me(e,r){if(e!=null&&(typeof e!="object"||Array.isArray(e)))return{entries:e,changed:!1};let n=new Map(Object.entries(e??{})),t=await ee(e,r),o=Z(n,t);return{entries:Object.fromEntries(n),changed:o}}var T=1,f=16,D=12,L=1+f+D+16,u=1+f+D;async function F(e,r){let n=await crypto.subtle.importKey("raw",v(e),"PBKDF2",!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",hash:"SHA-256",salt:r,iterations:3e6},n,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}function X(e){return!(e instanceof Uint8Array)||e.length<L?!1:e[0]===T}async function W(e,r){if(!(e instanceof Uint8Array))throw new TypeError("encryptWithPassword: plaintext Uint8Array required");if(typeof r!="string"||!r)throw new TypeError("encryptWithPassword: password required");let n=new Uint8Array(u+e.length+16);n[0]=T,crypto.getRandomValues(n.subarray(1,1+f)),crypto.getRandomValues(n.subarray(1+f,u));let t=n.subarray(1,1+f),o=n.subarray(1+f,u),s=await F(r,t),a=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:o,additionalData:n.subarray(0,u)},s,e));return n.set(a,u),n}async function ne(e,r){if(typeof r!="string"||!r)throw new TypeError("tryDecryptWithPassword: password required");if(!(e instanceof Uint8Array)||e.length<L)return{ok:!1,reason:"malformed"};if(e[0]!==T)return{ok:!1,reason:"malformed"};let n=e.subarray(1,1+f),t=e.subarray(1+f,u),o=e.subarray(u),s=await F(r,n),a;try{a=new Uint8Array(await crypto.subtle.decrypt({name:"AES-GCM",iv:t,additionalData:e.subarray(0,u)},s,o))}catch{return{ok:!1,reason:"wrong-password"}}return{ok:!0,plaintext:a}}async function U(e,r,n){if(!n||typeof n.malformedMsg!="string"||typeof n.wrongPasswordMsg!="string")throw new TypeError("decryptWithPasswordOrThrow: { malformedMsg, wrongPasswordMsg } strings required");let t=await ne(e,r);if(t.ok)return t.plaintext;throw t.reason==="wrong-password"?new Error(n.wrongPasswordMsg):new Error(n.malformedMsg)}var K=X,Be=W;function j(e,r){return U(e,r,{malformedMsg:"malformed encrypted bundle",wrongPasswordMsg:"wrong password or corrupt bundle"})}var te=1,C=1024,G=1024,E=200,J=100*1024*1024,oe=Math.ceil(J*4/3)+16,$=512,z=64;function se(e){if(!e||typeof e!="object")return"payload is not an object";if(e.version!==te)return`unsupported export version: ${e.version}`;if(!e.workspace||typeof e.workspace!="object")return"workspace metadata missing";if(typeof e.workspace.id!="string")return"workspace.id must be a string";if(typeof e.workspace.name!="string")return"workspace.name must be a string";if(typeof e.workspace.privateKey!="string")return"workspace.privateKey must be a string";if(e.workspace.createdAt!==void 0&&!Number.isFinite(e.workspace.createdAt))return"workspace.createdAt must be a finite number or omitted";if(!Array.isArray(e.reports))return"reports field must be an array";if(e.reports.length>G)return`reports count (${e.reports.length}) exceeds cap (${G})`;if(e.bundles!==void 0){if(!Array.isArray(e.bundles))return"bundles field must be an array when present";if(e.bundles.length>C)return`bundles count (${e.bundles.length}) exceeds cap (${C})`;for(let r of e.bundles){if(typeof r!="string")return"bundles entries must be strings";if(r.length>E)return`bundle integrity exceeds per-entry length cap (${E})`}}if(e.bundleBlobs!==void 0){if(!Array.isArray(e.bundleBlobs))return"bundleBlobs field must be an array when present";if(e.bundleBlobs.length>z)return`bundleBlobs count (${e.bundleBlobs.length}) exceeds cap (${z})`;for(let r of e.bundleBlobs){if(!r||typeof r!="object"||Array.isArray(r))return"bundleBlobs entries must be objects";if(typeof r.integrity!="string"||r.integrity.length===0)return"bundleBlobs.integrity must be a non-empty string";if(r.integrity.length>E)return`bundleBlobs.integrity exceeds per-entry length cap (${E})`;if(typeof r.name!="string"||r.name.length===0)return"bundleBlobs.name must be a non-empty string";if(r.name.length>$)return`bundleBlobs.name exceeds per-entry length cap (${$})`;if(r.name.includes("\0"))return"bundleBlobs.name cannot contain NUL";if(typeof r.data!="string")return"bundleBlobs.data must be a base64 string";if(r.data.length>oe)return`bundleBlobs.data exceeds per-blob size cap (${J} bytes raw)`}}return null}async function Se(e){return new Uint8Array(await e.arrayBuffer())}async function Ie(e,r){if(K(e)){if(typeof r!="string"||!r)throw new TypeError("parseWorkspaceBundleBytes: password required for encrypted bundle");let t=await j(e,r);try{return q(await B(t))}catch(o){throw new Error("wrong password or corrupt bundle",{cause:o})}}let n;try{n=await B(e)}catch(t){throw new Error(`gzip decompression failed: ${t.message}`,{cause:t})}return q(n)}function q(e){let r;try{r=JSON.parse(e)}catch(o){throw new Error(`payload is not JSON: ${o.message}`,{cause:o})}let n=se(r);if(n===null)return r;let t=n.includes("exceeds cap");throw new Error(t?n:`not a deepview workspace export: ${n}`)}var ve="links";function ie(e){if(typeof e=="string")return e.length>0?e:null;if(!e||typeof e!="object"||Array.isArray(e))return null;let{id:r}=e;return typeof r=="string"&&r.length>0?r:null}function V(e){let r;try{r=JSON.parse(e)}catch{return null}if(!Array.isArray(r)||r.length===0)return null;let n=[],t=0;for(let o of r){if(!Array.isArray(o))return null;let s=new Set;for(let a of o){let c=ie(a);if(c===null)return null;O(c)?s.add(c):t++}s.size>1&&n.push([...s])}return{groups:n,skipped:t}}function Oe(e){let r=new Set;for(let n of e)for(let t of n)r.add(t);return r.size}function Pe(e,r){for(let n of e)for(let t of n){let o=r.get(t);o||r.set(t,o=new Set);for(let s of n)s!==t&&o.add(s)}return r}function ae(e,r){let n=e.trimStart().startsWith("[")?V(e):null;if(n)return{data:{source:"links",findings:[],links:n.groups},format:"links",reason:null};let t=M(e);if(t.data!=null||N(e,r)!=="codex")return t;try{return{data:{type:"security",source:"codex-security",findings:S(e).flatMap(s=>s.data.findings)},format:"codex",reason:null}}catch(o){return{data:null,format:null,reason:o instanceof Error?o.message:"Invalid Codex CSV"}}}function Ue(e,r){let n=ae(e,r);return n.data==null?Promise.resolve(null):m(JSON.stringify(n.data))}function ce(e){let r=new Set;for(let n of e){if(!n||typeof n!="object")continue;let t=n;typeof t.file=="string"&&t.file&&r.add(t.file);for(let o of Array.isArray(t.evidence)?t.evidence:[])typeof o?.file=="string"&&o.file&&r.add(o.file)}return r}function Y(e){let r=(I(e)??[]).flat().filter(t=>t!=null&&typeof t=="object"),n=d([{groups:[r],tree:e?.tree}]);return{directory:n,own:r.filter(t=>!g(t.file,n))}}function Ke(e){let r=new Map;for(let n of Y(e).own){let t=R(n);t&&r.set(t.toLowerCase(),t)}return r.size===1?[...r.values()][0]:null}function je(e){let{directory:r,own:n}=Y(e);return P([...ce(n)].filter(t=>!g(t,r)))}export{ge as a,w as b,ye as c,we as d,Z as e,ee as f,me as g,W as h,U as i,K as j,Be as k,G as l,Se as m,Ie as n,q as o,ve as p,V as q,Oe as r,Pe as s,ae as t,Ue as u,Ke as v,je as w,ue as x};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var f=new TextEncoder,c=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0});function u(e){if(typeof e!="string")throw new TypeError(`encodeUtf8 expects a string, got ${typeof e}`);if(!e.isWellFormed())throw new TypeError("encodeUtf8: input contains lone surrogates");return f.encode(e)}var i=2;function d(e){if(typeof e!="string")throw new TypeError(`utf8ByteLength expects a string, got ${typeof e}`);if(/[\u0100-\uFFFF]/.test(e))return f.encode(e).byteLength;let n=/[\u0080-\u00FF]/gu,r=e.length;for(;n.test(e);){let t=n.lastIndex-1;for(let o=0;t<e.length&&o<i;t++)e.codePointAt(t)>127?(r++,o=0):o++;n.lastIndex=t}return r}function l(e){if(!ArrayBuffer.isView(e)&&!(e instanceof ArrayBuffer))throw new TypeError(`decodeUtf8 expects a BufferSource, got ${e===null?"null":typeof e}`);return c.decode(e)}export{u as a,d as b,l as c};
|