prismic 1.10.0 → 1.11.0
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/dist/auth-D6IgYWE1.mjs +1 -0
- package/dist/{builders-hKD4IrLX-BLEKUBnw.mjs → builders-hKD4IrLX-D7FYFu_8.mjs} +1 -1
- package/dist/core-Cj8Va20J.mjs +173 -0
- package/dist/index.mjs +61 -61
- package/dist/{nextjs-PuOdbHix.mjs → nextjs-ZzoktwTw.mjs} +1 -1
- package/dist/{nuxt-KLF-XKWk.mjs → nuxt-BsqFfd2z.mjs} +1 -1
- package/dist/package-DKLmUliu.mjs +1 -0
- package/dist/{packageJson-yTgvK-Vp.mjs → packageJson-B5PD1PAv.mjs} +2 -2
- package/dist/request-tDz-x1rd.mjs +1 -0
- package/dist/{segment-BqeDS7HA.mjs → segment-CpfyV0km.mjs} +1 -1
- package/dist/subprocesses/refreshToken.mjs +1 -1
- package/dist/subprocesses/sendSegmentEvents.mjs +1 -1
- package/dist/subprocesses/updateVersionState.mjs +1 -1
- package/dist/{sveltekit-BiUC4gGm.mjs → sveltekit-Cmw1kBZX.mjs} +1 -1
- package/dist/{update-notifier-Bp8D-mmq.mjs → update-notifier-CZyFUpUX.mjs} +1 -1
- package/package.json +1 -1
- package/dist/auth-v411xsfu.mjs +0 -1
- package/dist/core-C1t8NJrX.mjs +0 -173
- package/dist/package-Densjvs_.mjs +0 -1
- package/dist/request-DFL5MlKG.mjs +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{A as e,C as t,D as n,E as r,
|
|
2
|
+
import{A as e,C as t,D as n,E as r,F as i,M as a,N as o,S as s,T as c,_ as l,a as u,c as d,d as f,f as p,g as m,h,i as g,j as _,k as v,l as y,m as b,n as x,o as ee,p as te,r as ne,s as re,t as ie,w as S,x as ae,y as oe}from"./core-Cj8Va20J.mjs";import{n as se,t as ce}from"./package-DKLmUliu.mjs";import{C as le,D as ue,E as de,M as fe,O as C,S as pe,T as w,a as T,b as me,c as he,d as ge,h as _e,i as ve,m as ye,n as be,o as E,p as xe,r as D,s as O,t as Se,u as Ce,v as we,w as Te,y as Ee}from"./request-tDz-x1rd.mjs";import{a as De,s as Oe}from"./packageJson-B5PD1PAv.mjs";import{a as ke,c as Ae,i as k,l as je,n as Me,r as A,s as Ne,t as Pe,u as Fe}from"./auth-D6IgYWE1.mjs";import{i as Ie,r as Le,t as Re}from"./segment-CpfyV0km.mjs";import{t as ze}from"./update-notifier-CZyFUpUX.mjs";import*as Be from"node:util";import{parseArgs as Ve,promisify as He}from"node:util";import{realpath as Ue}from"node:fs/promises";import{fileURLToPath as We,pathToFileURL as Ge}from"node:url";import{createHash as Ke}from"node:crypto";import{dirname as qe,join as Je,posix as Ye,sep as Xe}from"node:path";import{exec as Ze,execFile as Qe}from"node:child_process";import{Readable as $e}from"node:stream";import{createInterface as et}from"node:readline";import*as tt from"node:http";import*as j from"node:os";import{homedir as nt}from"node:os";import{setTimeout as rt}from"node:timers/promises";import{isMainThread as it,threadId as at}from"worker_threads";import*as ot from"node:diagnostics_channel";import{subscribe as st}from"node:diagnostics_channel";import{createReadStream as ct,existsSync as lt,readFile as ut,readFileSync as dt,readdir as ft}from"node:fs";import{Worker as pt}from"node:worker_threads";import*as mt from"node:https";import{createGzip as ht}from"node:zlib";import*as gt from"node:net";import*as _t from"node:tls";import{AsyncLocalStorage as vt}from"node:async_hooks";const yt=w({email:C(),shortId:C(),intercomHash:C(),repositories:we(w({domain:C(),name:de(C()),role:de(C())}))});async function bt(e){let{token:t,host:n}=e,r=xt(n);return await E(new URL(`profile`,r),{credentials:{"prismic-auth":t},schema:yt})}function xt(e){return new URL(`https://user-service.${e}/`)}function M(e,t){return async function(){let{positionals:n={},options:r={}}=e,i=e.name.split(` `).length,a=process.argv.slice(1+i),o=Object.keys(n).length>0,s=Ve({args:a,options:{...r,help:{type:`boolean`,short:`h`}},allowPositionals:o,strict:!0});if(s.values.help){console.info(St(e));return}for(let[e,[t,r]]of Object.entries(n).entries())if(r.required&&!s.positionals[e])throw new P(`Missing required argument: <${t}>`);for(let[e,t]of Object.entries(r))if(t.required&&!(e in s.values))throw new P(`Missing required option: --${e}`);await t(s)}}function St(e){let{description:t,sections:n,positionals:r={},options:i}=e,a=Object.keys(r),o=[d(t)];o.push(``),o.push(`USAGE`);let s=` ${e.name}`;if(a.length>0&&(s+=` `+a.map(e=>`<${e}>`).join(` `)),s+=` [options]`,o.push(s),a.length>0){o.push(``),o.push(`ARGUMENTS`);let e=[];for(let t in r){let n=r[t],i=n.description+(n.required?` (required)`:``);e.push([` <${t}>`,i])}o.push(y(e))}o.push(``),o.push(`OPTIONS`);let c=[];if(i){let e=Object.keys(i);for(let t of e){let e=i[t],n=`${e.short?`-${e.short}, `:` `}--${t}${e.type===`string`?` string`:``}`,r=e.description+(e.required?` (required)`:``);c.push({left:n,description:r})}}c.push({left:`-h, --help`,description:`Show help for command`});let l=c.map(e=>[` ${e.left}`,e.description]);if(o.push(y(l)),n)for(let e in n){let t=d(n[e]);o.push(``),o.push(e);for(let e of t.split(`
|
|
3
3
|
`))o.push(e?` ${e}`:``)}o.push(``),o.push(`LEARN MORE`);let u=e.name.split(` `)[0];return o.push(` Use \`${u} <command> --help\` for more information about a command.`),o.join(`
|
|
4
|
-
`)}function N(e){let t=e.name.split(` `).length;return async function(){let{positionals:[n]}=
|
|
4
|
+
`)}function N(e){let t=e.name.split(` `).length;return async function(){let{positionals:[n]}=Ve({args:process.argv.slice(1+t),options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1}),r=n?e.commands[n]:void 0;if(r){await r.handler();return}if(n)throw new P(`Unknown command: ${n}`);console.info(Ct(e))}}function Ct(e){let{name:t,description:n,sections:r,commands:i}=e,a=[n];a.push(``),a.push(`USAGE`),a.push(` ${t} <command> [options]`),a.push(``),a.push(`COMMANDS`);let o=Object.entries(i).map(([e,t])=>[` ${e}`,t.description]);if(a.push(y(o)),a.push(``),a.push(`OPTIONS`),a.push(` -h, --help Show help for command`),r)for(let e in r){let t=d(r[e]);a.push(``),a.push(e);for(let e of t.split(`
|
|
5
5
|
`))a.push(e?` ${e}`:``)}return a.push(``),a.push(`LEARN MORE`),a.push(` Use \`${t} <command> --help\` for more information about a command.`),a.join(`
|
|
6
|
-
`)}var P=class extends Error{name=`CommandError`};const
|
|
6
|
+
`)}var P=class extends Error{name=`CommandError`};const wt=w({path:C(),title:C(),description:de(C())}),Tt=w({path:C(),title:C(),description:de(C()),anchors:we(w({slug:C(),excerpt:C()}))});async function Et(){return await E(new URL(`api/index/`,kt()),{schema:we(wt)})}async function Dt(e){let t=new URL(`api/index/${e}`,kt());try{return await E(t,{schema:Tt})}catch(t){throw t instanceof D&&(t.message=`Documentation page not found: ${e}`),t}}async function Ot(e){let t=new URL(e,kt());try{return await E(t,{headers:{Accept:`text/markdown`},schema:C()})}catch(t){throw t instanceof D&&(t.message=`Page not found: ${e}`),t}}function kt(){let e=Fe.PRISMIC_DOCS_HOST??je;return new URL(`https://${e}/docs/`)}var At=M({name:`prismic docs list`,description:`
|
|
7
7
|
List available documentation pages.
|
|
8
8
|
|
|
9
9
|
With a path argument, list the anchors within that page.
|
|
10
|
-
`,positionals:{path:{description:`Documentation path to list anchors for`,required:!1}},options:{json:{type:`boolean`,description:`Output as JSON`}}},async({positionals:e,values:t})=>{let[n]=e,{json:r}=t;if(n){let e;try{e=await
|
|
10
|
+
`,positionals:{path:{description:`Documentation path to list anchors for`,required:!1}},options:{json:{type:`boolean`,description:`Output as JSON`}}},async({positionals:e,values:t})=>{let[n]=e,{json:r}=t;if(n){let e;try{e=await Dt(n)}catch(e){throw e instanceof T?new P(`Failed to fetch documentation index: ${await e.text()}`):e}if(r){console.info(O(e));return}if(e.anchors.length===0){console.info(`(no anchors)`);return}let t=e.anchors.map(e=>[`${n}#${e.slug}`,e.excerpt]);console.info(y(t,{headers:[`PATH`,`EXCERPT`]}))}else{let e;try{e=await Et()}catch(e){throw e instanceof T?new P(`Failed to fetch documentation index: ${await e.text()}`):e}if(e.sort((e,t)=>e.path.localeCompare(t.path)),r){console.info(O(e));return}if(e.length===0){console.info(`No documentation pages found.`);return}let t=e.map(e=>[e.path,e.title,e.description??``]);console.info(y(t,{headers:[`PATH`,`TITLE`,`DESCRIPTION`]}))}});const jt=/[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g,Mt=Object.hasOwnProperty;var Nt=class{constructor(){this.occurrences,this.reset()}slug(e,t){let n=this,r=Pt(e,t===!0),i=r;for(;Mt.call(n.occurrences,r);)n.occurrences[i]++,r=i+`-`+n.occurrences[i];return n.occurrences[r]=0,r}reset(){this.occurrences=Object.create(null)}};function Pt(e,t){return typeof e==`string`?(t||(e=e.toLowerCase()),e.replace(jt,``).replace(/ /g,`-`)):``}var Ft=M({name:`prismic docs view`,description:`
|
|
11
11
|
View a documentation page as Markdown.
|
|
12
12
|
|
|
13
13
|
Append #anchor to the path to view only the section under that heading.
|
|
14
|
-
`,positionals:{path:{description:`Documentation path, optionally with #anchor (e.g., setup#install)`,required:!0}},options:{json:{type:`boolean`,description:`Output as JSON`}}},async({positionals:e,values:t})=>{let[n]=e,{json:r}=t,i=n.indexOf(`#`),a=i>=0?n.slice(0,i):n,o=i>=0?n.slice(i+1):void 0,s;try{s=await
|
|
15
|
-
`),r=new
|
|
16
|
-
`).trim()}var
|
|
14
|
+
`,positionals:{path:{description:`Documentation path, optionally with #anchor (e.g., setup#install)`,required:!0}},options:{json:{type:`boolean`,description:`Output as JSON`}}},async({positionals:e,values:t})=>{let[n]=e,{json:r}=t,i=n.indexOf(`#`),a=i>=0?n.slice(0,i):n,o=i>=0?n.slice(i+1):void 0,s;try{s=await Ot(a)}catch(e){throw e instanceof T?new P(`Failed to fetch page: ${await e.text()}`):e}if(o){let e=It(s,o);if(!e)throw new P(`Anchor not found: #${o}`);s=e}if(r){console.info(O({path:a,anchor:o,content:s}));return}console.info(s)});function It(e,t){let n=e.split(`
|
|
15
|
+
`),r=new Nt,i,a,o,s;for(let e=0;e<n.length;e++){let c=n[e],l=c.match(/^(?<fence>`{3,}|~{3,})/)?.groups?.fence;if(i){l?.startsWith(i)&&(i=void 0);continue}else if(l){i=l;continue}let u=c.match(/^(?<level>#{1,6})\s+(?<text>.*)/);if(u?.groups?.level&&u?.groups?.text){if(a!==void 0&&s!==void 0&&u.groups.level.length<=s){o=e;break}r.slug(u.groups.text)===t&&(a=e,s=u.groups.level.length)}}if(a!==void 0)return n.slice(a,o).join(`
|
|
16
|
+
`).trim()}var Lt=N({name:`prismic docs`,description:`Browse Prismic documentation.`,commands:{list:{handler:At,description:`List available documentation pages`},view:{handler:Ft,description:`View a documentation page`}}});function F(e){let t=Rt(e);return`variations`in t&&(t.variations=t.variations.map(e=>Rt(e))),t}function Rt(e){return Object.fromEntries(Object.entries(e).sort(([e],[t])=>e.localeCompare(t)))}const I={"to-slice":{type:`string`,description:`ID of the target slice`},"to-type":{type:`string`,description:`ID of the target content type`},variation:{type:`string`,description:`Slice variation ID (default: "default")`},tab:{type:`string`,description:`Content type tab name (default: "Main")`}},zt={"from-slice":{type:`string`,description:`ID of the source slice`},"from-type":{type:`string`,description:`ID of the source content type`},variation:I.variation};async function Bt(e,t){let n=await p(),{"from-slice":r,"from-type":i,variation:a=`default`}=t,o=[r,i].filter(Boolean).length;if(o===0)throw new P(`Specify a target with --from-slice or --from-type.`);if(o>1)throw new P(`Only one of --from-slice or --from-type can be specified.`);if(r){let t=await n.getSlice(r),i=t.model.variations.find(e=>e.id===a);if(!i)throw new P(`Variation "${a}" not found. Available: ${t.model.variations?.map(e=>e.id).join(`, `)||`(none)`}`);return i.primary??={},R(i.primary,e),[i.primary,async()=>{await n.updateSlice(t.model),await n.generateTypes()},`slice`]}let s=await n.getCustomType(i),c=e.includes(`.`)?e.split(`.`)[0]:e,l;for(let e in s.model.json)c in s.model.json[e]&&(l=s.model.json[e]);if(!l)throw new P(`Field "${e}" not found. Available: ${Object.keys(Object.assign({},...Object.values(s.model.json))).join(`, `)||`(none)`}`);return R(l,e),[l,async()=>{await n.updateCustomType(s.model),await n.generateTypes()},`customType`]}async function Vt(e,t,n){let r=await p(),{"from-slice":i,"from-type":a,variation:o=`default`}=n,s=[i,a].filter(Boolean).length;if(s===0)throw new P(`Specify a target with --from-slice or --from-type.`);if(s>1)throw new P(`Only one of --from-slice or --from-type can be specified.`);if(i){let e=await r.getSlice(i),t=e.model.variations.find(e=>e.id===o);if(!t)throw new P(`Variation "${o}" not found. Available: ${e.model.variations?.map(e=>e.id).join(`, `)||`(none)`}`);return t.primary??={},[t.primary,t.primary,async()=>{await r.updateSlice(e.model),await r.generateTypes()},`slice`]}let c=await r.getCustomType(a),l=e.includes(`.`)?e.split(`.`)[0]:e,u=t.includes(`.`)?t.split(`.`)[0]:t,d,f;for(let e in c.model.json){let t=c.model.json[e];l in t&&(d=t),u in t&&(f=t)}let m=Object.keys(Object.assign({},...Object.values(c.model.json))).join(`, `)||`(none)`;if(!d)throw new P(`Field "${e}" not found. Available: ${m}`);if(!f)throw new P(`Field "${t}" not found. Available: ${m}`);return[d,f,async()=>{await r.updateCustomType(c.model),await r.generateTypes()},`customType`]}async function L(e){let t=await p(),n=e[`to-slice`]??e[`from-slice`],r=e[`to-type`]??e[`from-type`],i=[n,r].filter(Boolean).length;if(i===0)throw new P(`Specify a target with --to-slice or --to-type.`);if(i>1)throw new P(`Only one of --to-slice or --to-type can be specified.`);if(n){if(`tab`in e)throw new P(`--tab is only valid for content types.`);let r=e.variation??`default`,i=await t.getSlice(n),a=i.model.variations?.find(e=>e.id===r);if(!a)throw new P(`Variation "${r}" not found. Available: ${i.model.variations?.map(e=>e.id).join(`, `)||`(none)`}`);return a.primary??={},[a.primary,async()=>{await t.updateSlice(i.model),await t.generateTypes()},`slice`]}if(`variation`in e)throw new P(`--variation is only valid for slices.`);let a=e.tab??`Main`,o=await t.getCustomType(r),s=o.model.json[a];if(!s)throw new P(`Tab "${a}" not found. Available: ${Object.keys(o.model.json).join(`, `)||`(none)`}`);return[s,async()=>{await t.updateCustomType(o.model),await t.generateTypes()},`customType`]}function R(e,t){if(!t.includes(`.`))return[e,t];let n=t.split(`.`),r=n.pop();if(!r)throw Error(`This is a bug. We cannot continue.`);let i=e;for(let e of n){let t=i[e];if(!t)throw new P(`Field "${e}" does not exist.`);if(t.type!==`Group`)throw new P(`Field "${e}" is not a group field.`);t.config??={},t.config.fields??={},i=t.config.fields}return[i,r]}const Ht=[`Slices`,`UID`,`Choice`];async function Ut(e,t){let n=await p(),r=await n.getCustomType(t);return Wt(e,Object.assign({},...Object.values(r.model.json)),r.model.id,n,1)}async function Wt(e,t,n,r,i){let a=[],o=new Map;for(let r of e){let e=r.indexOf(`.`);if(e===-1)Gt(r,t,n),a.push(r);else{let t=r.slice(0,e),n=r.slice(e+1);o.has(t)||o.set(t,[]),o.get(t).push(n)}}for(let[e,s]of o){let o=t[e];if(!o)throw new P(`Field "${e}" not found on type "${n}".`);if(o.type===`Group`){let t=await Wt(s,o.config?.fields??{},n,r,i);a.push({id:e,fields:t})}else if(o.type===`Link`&&o.config?.select===`document`){if(i<=0)throw new P(`Cannot nest deeper than --field group.cr.group.leaf.`);let t=o.config?.customtypes;if(!t||t.length!==1)throw new P(`Field "${e}" must be restricted to a single custom type to select fields from it.`);let n=typeof t[0]==`string`?t[0]:t[0].id,c=await r.getCustomType(n),l=await Wt(s,Object.assign({},...Object.values(c.model.json)),n,r,i-1);a.push({id:e,customtypes:[{id:n,fields:l}]})}else throw new P(`Field "${e}" is not a group or content relationship field.`)}return a}function Gt(e,t,n){if(!(e in t))throw new P(`Field "${e}" not found on type "${n}".`);if(Ht.includes(t[e].type)||e===`uid`)throw new P(`Field "${e}" cannot be fetched from a content relationship.`);if(t[e].type===`Group`)throw new P(`Field "${e}" is a group. Select specific sub-fields with --field ${e}.<sub-field>.`)}function z(e){let{modelKind:t,targetId:n}=e;return t===`slice`?`Run \`prismic slice view ${n}\` to view the updated slice.`:`Run \`prismic type view ${n}\` to view the updated type.`}var Kt=M({name:`prismic field add boolean`,description:`Add a boolean field to a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},"default-value":{type:`boolean`,description:`Default value`},"true-label":{type:`string`,description:`Label for true value`},"false-label":{type:`string`,description:`Label for false value`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,"default-value":i,"true-label":a,"false-label":o}=t,[s,c,l]=await L(t),[u,d]=R(s,n),f={type:`Boolean`,config:{label:r??_(d),default_value:i,placeholder_true:a,placeholder_false:o}};if(d in u)throw new P(`Field "${n}" already exists.`);u[d]=f,await c(),console.info(`Field added: ${n}`);let p=t[`to-slice`]??t[`to-type`];console.info(z({targetId:p,modelKind:l}))}),qt=M({name:`prismic field add color`,description:`Add a color field to a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,placeholder:i}=t,[a,o,s]=await L(t),[c,l]=R(a,n),u={type:`Color`,config:{label:r??_(l),placeholder:i}};if(l in c)throw new P(`Field "${n}" already exists.`);c[l]=u,await o(),console.info(`Field added: ${n}`);let d=t[`to-slice`]??t[`to-type`];console.info(z({targetId:d,modelKind:s}))}),Jt=M({name:`prismic field add content-relationship`,description:`
|
|
17
17
|
Add a content relationship field to a slice or custom type.
|
|
18
18
|
|
|
19
19
|
Content relationships fetch and display data from related documents
|
|
@@ -42,7 +42,7 @@ import{A as e,C as t,D as n,E as r,I as i,M as a,N as o,P as s,S as c,T as l,_ a
|
|
|
42
42
|
|
|
43
43
|
Fetch fields from the related document:
|
|
44
44
|
prismic field add content-relationship author --to-type blog_post --custom-type author --field name --field bio
|
|
45
|
-
`},positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},tag:{type:`string`,multiple:!0,description:`Restrict to documents with this tag (can be repeated)`},"custom-type":{type:`string`,multiple:!0,description:`Restrict to documents of this type (can be repeated)`},field:{type:`string`,multiple:!0,description:`Fetch this field from the related document (can be repeated, requires one --custom-type)`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,tag:i,"custom-type":
|
|
45
|
+
`},positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},tag:{type:`string`,multiple:!0,description:`Restrict to documents with this tag (can be repeated)`},"custom-type":{type:`string`,multiple:!0,description:`Restrict to documents of this type (can be repeated)`},field:{type:`string`,multiple:!0,description:`Fetch this field from the related document (can be repeated, requires one --custom-type)`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,tag:i,"custom-type":a,field:o}=t;if(o&&(!a||a.length!==1))throw new P(`--field requires exactly one --custom-type.`);let[s,c,l]=await L(t),[u,d]=R(s,n),f=a;if(o&&a){let e=await Ut(o,a[0]);f=[{id:a[0],fields:e}]}let p={type:`Link`,config:{label:r??_(d),select:`document`,tags:i,customtypes:f}};if(d in u)throw new P(`Field "${n}" already exists.`);u[d]=p,await c(),console.info(`Field added: ${n}`);let m=t[`to-slice`]??t[`to-type`];console.info(z({targetId:m,modelKind:l}))}),Yt=M({name:`prismic field add date`,description:`Add a date field to a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`},default:{type:`string`,description:`Default value`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,placeholder:i,default:a}=t,[o,s,c]=await L(t),[l,u]=R(o,n),d={type:`Date`,config:{label:r??_(u),placeholder:i,default:a}};if(u in l)throw new P(`Field "${n}" already exists.`);l[u]=d,await s(),console.info(`Field added: ${n}`);let f=t[`to-slice`]??t[`to-type`];console.info(z({targetId:f,modelKind:c}))}),Xt=M({name:`prismic field add embed`,description:`Add an embed field to a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,placeholder:i}=t,[a,o,s]=await L(t),[c,l]=R(a,n),u={type:`Embed`,config:{label:r??_(l),placeholder:i}};if(l in c)throw new P(`Field "${n}" already exists.`);c[l]=u,await o(),console.info(`Field added: ${n}`);let d=t[`to-slice`]??t[`to-type`];console.info(z({targetId:d,modelKind:s}))}),Zt=M({name:`prismic field add geopoint`,description:`Add a geopoint field to a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r}=t,[i,a,o]=await L(t),[s,c]=R(i,n),l={type:`GeoPoint`,config:{label:r??_(c)}};if(c in s)throw new P(`Field "${n}" already exists.`);s[c]=l,await a(),console.info(`Field added: ${n}`);let u=t[`to-slice`]??t[`to-type`];console.info(z({targetId:u,modelKind:o}))}),Qt=M({name:`prismic field add group`,description:`Add a group field to a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r}=t,[i,a,o]=await L(t),[s,c]=R(i,n),l={type:`Group`,config:{label:r??_(c)}};if(c in s)throw new P(`Field "${n}" already exists.`);s[c]=l,await a(),console.info(`Field added: ${n}`);let u=t[`to-slice`]??t[`to-type`];console.info(z({targetId:u,modelKind:o}))}),$t=M({name:`prismic field add image`,description:`Add an image field to a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,placeholder:i}=t,[a,o,s]=await L(t),[c,l]=R(a,n),u={type:`Image`,config:{label:r??_(l),placeholder:i}};if(l in c)throw new P(`Field "${n}" already exists.`);c[l]=u,await o(),console.info(`Field added: ${n}`);let d=t[`to-slice`]??t[`to-type`];console.info(z({targetId:d,modelKind:s}))}),en=M({name:`prismic field add integration`,description:`Add an integration field to a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`},catalog:{type:`string`,description:`Integration catalog ID`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,placeholder:i,catalog:a}=t,[o,s,c]=await L(t),[l,u]=R(o,n),d={type:`IntegrationFields`,config:{label:r??_(u),placeholder:i,catalog:a}};if(u in l)throw new P(`Field "${n}" already exists.`);l[u]=d,await s(),console.info(`Field added: ${n}`);let f=t[`to-slice`]??t[`to-type`];console.info(z({targetId:f,modelKind:c}))}),tn=M({name:`prismic field add link`,description:`Add a link field to a slice or custom type. Use for navigational links to URLs, documents, or media. For data-level relations between documents, use content-relationship instead.`,sections:{EXAMPLES:`
|
|
46
46
|
Add a link that opens in a new tab:
|
|
47
47
|
prismic field add link cta --to-type landing_page --allow-target-blank
|
|
48
48
|
|
|
@@ -51,7 +51,7 @@ import{A as e,C as t,D as n,E as r,I as i,M as a,N as o,P as s,S as c,T as l,_ a
|
|
|
51
51
|
|
|
52
52
|
Add a repeatable link with custom text:
|
|
53
53
|
prismic field add link nav_item --to-type navigation --repeatable --allow-text
|
|
54
|
-
`},positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},allow:{type:`string`,description:`Restrict to a link type: document, media, or web`},"allow-target-blank":{type:`boolean`,description:`Allow opening in new tab`},"allow-text":{type:`boolean`,description:`Allow custom link text`},repeatable:{type:`boolean`,description:`Allow multiple links`},variant:{type:`string`,multiple:!0,description:`Allowed variant (can be repeated)`}}},async({positionals:e,values:t})=>{let[n]=e,r=[`document`,`media`,`web`],{label:i,allow:
|
|
54
|
+
`},positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},allow:{type:`string`,description:`Restrict to a link type: document, media, or web`},"allow-target-blank":{type:`boolean`,description:`Allow opening in new tab`},"allow-text":{type:`boolean`,description:`Allow custom link text`},repeatable:{type:`boolean`,description:`Allow multiple links`},variant:{type:`string`,multiple:!0,description:`Allowed variant (can be repeated)`}}},async({positionals:e,values:t})=>{let[n]=e,r=[`document`,`media`,`web`],{label:i,allow:a,"allow-target-blank":o,"allow-text":s,repeatable:c,variant:l}=t;if(a&&!r.includes(a))throw new P(`--allow must be one of: ${r.join(`, `)}`);let u=a,[d,f,p]=await L(t),[m,h]=R(d,n),g={type:`Link`,config:{label:i??_(h),select:u,allowTargetBlank:o,allowText:s,repeat:c,variants:l}};if(h in m)throw new P(`Field "${n}" already exists.`);m[h]=g,await f(),console.info(`Field added: ${n}`);let v=t[`to-slice`]??t[`to-type`];console.info(z({targetId:v,modelKind:p}))}),nn=M({name:`prismic field add number`,description:`Add a number field to a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`},min:{type:`string`,description:`Minimum value`},max:{type:`string`,description:`Maximum value`},step:{type:`string`,description:`Step increment`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,placeholder:i}=t,a=rn(t.min,`min`),o=rn(t.max,`max`),s=rn(t.step,`step`),[c,l,u]=await L(t),[d,f]=R(c,n),p={type:`Number`,config:{label:r??_(f),placeholder:i,min:a,max:o,step:s}};if(f in d)throw new P(`Field "${n}" already exists.`);d[f]=p,await l(),console.info(`Field added: ${n}`);let m=t[`to-slice`]??t[`to-type`];console.info(z({targetId:m,modelKind:u}))});function rn(e,t){if(e===void 0)return;let n=Number(e);if(Number.isNaN(n))throw new P(`--${t} must be a valid number, got "${e}"`);return n}var an=M({name:`prismic field add rich-text`,description:`Add a rich text field to a slice or custom type.`,sections:{BLOCKS:`
|
|
55
55
|
heading1, heading2, heading3, heading4, heading5, heading6,
|
|
56
56
|
paragraph, strong, em, preformatted, hyperlink, image, embed,
|
|
57
57
|
list-item, o-list-item, rtl
|
|
@@ -61,19 +61,19 @@ import{A as e,C as t,D as n,E as r,I as i,M as a,N as o,P as s,S as c,T as l,_ a
|
|
|
61
61
|
|
|
62
62
|
Add a body field with only headings and paragraphs:
|
|
63
63
|
prismic field add rich-text body --to-type blog_post --allow heading1,heading2,paragraph,strong,em,hyperlink
|
|
64
|
-
`},positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`},allow:{type:`string`,description:`Comma-separated allowed block types (e.g. heading1,heading2,paragraph)`},single:{type:`boolean`,description:`Restrict to a single block`},"allow-target-blank":{type:`boolean`,description:`Allow opening links in new tab`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,placeholder:i,allow:
|
|
64
|
+
`},positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`},allow:{type:`string`,description:`Comma-separated allowed block types (e.g. heading1,heading2,paragraph)`},single:{type:`boolean`,description:`Restrict to a single block`},"allow-target-blank":{type:`boolean`,description:`Allow opening links in new tab`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,placeholder:i,allow:a=`paragraph,preformatted,heading1,heading2,heading3,heading4,heading5,heading6,strong,em,hyperlink,image,embed,list-item,o-list-item,rtl`,single:o,"allow-target-blank":s}=t,[c,l,u]=await L(t),[d,f]=R(c,n),p={type:`StructuredText`,config:{label:r??_(f),placeholder:i,...o?{single:a}:{multi:a},allowTargetBlank:s}};if(f in d)throw new P(`Field "${n}" already exists.`);d[f]=p,await l(),console.info(`Field added: ${n}`);let m=t[`to-slice`]??t[`to-type`];console.info(z({targetId:m,modelKind:u}))}),on=M({name:`prismic field add select`,description:`Add a select field to a slice or custom type.`,sections:{EXAMPLES:`
|
|
65
65
|
Add a select with options:
|
|
66
66
|
prismic field add select theme --to-type landing_page --option light --option dark --option brand
|
|
67
67
|
|
|
68
68
|
With a default value:
|
|
69
69
|
prismic field add select layout --to-type landing_page --option full --option centered --option sidebar --default-value full
|
|
70
|
-
`},positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`},"default-value":{type:`string`,description:`Default selected value`},option:{type:`string`,multiple:!0,description:`Select option value (can be repeated)`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,placeholder:i,"default-value":
|
|
70
|
+
`},positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`},"default-value":{type:`string`,description:`Default selected value`},option:{type:`string`,multiple:!0,description:`Select option value (can be repeated)`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,placeholder:i,"default-value":a,option:o}=t,[s,c,l]=await L(t),[u,d]=R(s,n),f={type:`Select`,config:{label:r??_(d),placeholder:i,default_value:a,options:o}};if(d in u)throw new P(`Field "${n}" already exists.`);u[d]=f,await c(),console.info(`Field added: ${n}`);let p=t[`to-slice`]??t[`to-type`];console.info(z({targetId:p,modelKind:l}))}),sn=M({name:`prismic field add table`,description:`Add a table field to a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r}=t,[i,a,o]=await L(t),[s,c]=R(i,n),l={type:`Table`,config:{label:r??_(c)}};if(c in s)throw new P(`Field "${n}" already exists.`);s[c]=l,await a(),console.info(`Field added: ${n}`);let u=t[`to-slice`]??t[`to-type`];console.info(z({targetId:u,modelKind:o}))}),cn=M({name:`prismic field add text`,description:`Add a text field to a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,placeholder:i}=t,[a,o,s]=await L(t),[c,l]=R(a,n),u={type:`Text`,config:{label:r??_(l),placeholder:i}};if(l in c)throw new P(`Field "${n}" already exists.`);c[l]=u,await o(),console.info(`Field added: ${n}`);let d=t[`to-slice`]??t[`to-type`];console.info(z({targetId:d,modelKind:s}))}),ln=M({name:`prismic field add timestamp`,description:`Add a timestamp field to a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:{...I,label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`},default:{type:`string`,description:`Default value`}}},async({positionals:e,values:t})=>{let[n]=e,{label:r,placeholder:i,default:a}=t,[o,s,c]=await L(t),[l,u]=R(o,n),d={type:`Timestamp`,config:{label:r??_(u),placeholder:i,default:a}};if(u in l)throw new P(`Field "${n}" already exists.`);l[u]=d,await s(),console.info(`Field added: ${n}`);let f=t[`to-slice`]??t[`to-type`];console.info(z({targetId:f,modelKind:c}))}),un=M({name:`prismic field add uid`,description:`Add a UID field to a content type.`,options:{"to-type":{type:`string`,description:`Name of the target content type`},tab:{type:`string`,description:`Content type tab name (default: "Main")`},label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`}}},async({values:e})=>{let{label:t=`UID`,placeholder:n}=e,[r,i,a]=await L(e),o={type:`UID`,config:{label:t,placeholder:n}};if(`uid`in r)throw new P(`Field "uid" already exists.`);r.uid=o,await i(),console.info(`Field added: uid`);let s=e[`to-type`];console.info(z({targetId:s,modelKind:a}))}),dn=N({name:`prismic field add`,description:`Add a field to a slice or custom type.`,sections:{"GROUP FIELDS":`
|
|
71
71
|
To add a field inside a group, use dot notation for the field ID:
|
|
72
72
|
|
|
73
73
|
prismic field add text my_group.description --to-type blog_post
|
|
74
74
|
|
|
75
75
|
The group must already exist. Only one level of nesting is supported.
|
|
76
|
-
`},commands:{boolean:{handler:
|
|
76
|
+
`},commands:{boolean:{handler:Kt,description:`Add a boolean field`},color:{handler:qt,description:`Add a color field`},"content-relationship":{handler:Jt,description:`Add a content relationship field for fetching data from related documents (not for navigation -- use link)`},date:{handler:Yt,description:`Add a date field`},embed:{handler:Xt,description:`Add an embed field`},geopoint:{handler:Zt,description:`Add a geopoint field`},group:{handler:Qt,description:`Add a group field`},image:{handler:$t,description:`Add an image field`},integration:{handler:en,description:`Add an integration field`},link:{handler:tn,description:`Add a link field for URLs, documents, or media (navigational)`},number:{handler:nn,description:`Add a number field`},"rich-text":{handler:an,description:`Add a rich text field`},select:{handler:on,description:`Add a select field`},table:{handler:sn,description:`Add a table field`},text:{handler:cn,description:`Add a text field`},timestamp:{handler:ln,description:`Add a timestamp field`},uid:{handler:un,description:`Add a UID field`}}}),fn=M({name:`prismic field edit`,description:`Edit an existing field in a slice or custom type.`,sections:{"FIELD TYPE OPTIONS":`
|
|
77
77
|
Options vary by field type. Only options matching the field's
|
|
78
78
|
type will be applied. See \`prismic field add <type> --help\`
|
|
79
79
|
for type-specific option details.
|
|
@@ -86,13 +86,13 @@ import{A as e,C as t,D as n,E as r,I as i,M as a,N as o,P as s,S as c,T as l,_ a
|
|
|
86
86
|
|
|
87
87
|
Restrict a rich text field to a single block:
|
|
88
88
|
prismic field edit subtitle --from-type blog_post --single
|
|
89
|
-
`},positionals:{id:{description:`Field ID`,required:!0}},options:{...
|
|
89
|
+
`},positionals:{id:{description:`Field ID`,required:!0}},options:{...zt,label:{type:`string`,description:`Field label`},placeholder:{type:`string`,description:`Placeholder text`},"default-value":{type:`string`,description:`Default value (boolean: true/false, select: option value)`},"true-label":{type:`string`,description:`Label for true value (boolean)`},"false-label":{type:`string`,description:`Label for false value (boolean)`},default:{type:`string`,description:`Default value (date/timestamp)`},min:{type:`string`,description:`Minimum value (number)`},max:{type:`string`,description:`Maximum value (number)`},step:{type:`string`,description:`Step increment (number)`},option:{type:`string`,multiple:!0,description:`Select option value (can be repeated)`},"allow-target-blank":{type:`boolean`,description:`Allow opening in new tab (link/rich-text)`},"allow-text":{type:`boolean`,description:`Allow custom link text (link)`},repeatable:{type:`boolean`,description:`Allow multiple links (link)`},variant:{type:`string`,multiple:!0,description:`Allowed variant (link/link-to-media, can be repeated)`},tag:{type:`string`,multiple:!0,description:`Allowed tag (content-relationship, can be repeated)`},"custom-type":{type:`string`,multiple:!0,description:`Allowed custom type (content-relationship, can be repeated)`},field:{type:`string`,multiple:!0,description:`Fetch this field from the related document (content-relationship, can be repeated)`},allow:{type:`string`,description:`Comma-separated allowed block types (rich-text)`},single:{type:`boolean`,description:`Restrict to a single block (rich-text)`},catalog:{type:`string`,description:`Integration catalog ID (integration)`}}},async({positionals:e,values:t})=>{let[n]=e,[r,i]=await Bt(n,t),[a,o]=R(r,n),s=a[o];if(!s)throw new P(`Field "${n}" does not exist.`);switch(s.config??={},`label`in t&&(s.config.label=t.label),`placeholder`in t&&(s.config.placeholder=t.placeholder),s.type){case`Boolean`:if(`default-value`in t){let e=t[`default-value`];if(e!==`true`&&e!==`false`)throw new P(`--default-value for boolean fields must be "true" or "false"`);s.config.default_value=e===`true`}`true-label`in t&&(s.config.placeholder_true=t[`true-label`]),`false-label`in t&&(s.config.placeholder_false=t[`false-label`]);break;case`Number`:`min`in t&&(s.config.min=pn(t.min,`min`)),`max`in t&&(s.config.max=pn(t.max,`max`)),`step`in t&&(s.config.step=pn(t.step,`step`));break;case`Select`:`default-value`in t&&(s.config.default_value=t[`default-value`]),`option`in t&&(s.config.options=t.option);break;case`Date`:case`Timestamp`:`default`in t&&(s.config.default=t.default);break;case`IntegrationFields`:`catalog`in t&&(s.config.catalog=t.catalog);break;case`StructuredText`:if(`allow-target-blank`in t&&(s.config.allowTargetBlank=t[`allow-target-blank`]),`single`in t){let e=`allow`in t?t.allow:s.config.multi??s.config.single;delete s.config.multi,s.config.single=e}else `allow`in t&&(`single`in s.config?s.config.single=t.allow:s.config.multi=t.allow);break;case`Link`:if(`allow-target-blank`in t&&(s.config.allowTargetBlank=t[`allow-target-blank`]),`allow-text`in t&&(s.config.allowText=t[`allow-text`]),`repeatable`in t&&(s.config.repeat=t.repeatable),`variant`in t&&(s.config.variants=t.variant),`tag`in t&&(s.config.tags=t.tag),`field`in t){let e=`custom-type`in t?t[`custom-type`]:s.config.customtypes;if(!e||e.length===0)throw new P(`--field requires the field to be restricted to a custom type. Use --custom-type to specify one.`);if(e.length>1)throw new P(`--field requires the field to be restricted to a single custom type.`);let n=typeof e[0]==`string`?e[0]:e[0].id,r=await Ut(t.field,n);s.config.customtypes=[{id:n,fields:r}]}else `custom-type`in t&&(s.config.customtypes=t[`custom-type`]);break}await i(),console.info(`Field updated: ${n}`)});function pn(e,t){if(e===void 0)return;let n=Number(e);if(Number.isNaN(n))throw new P(`--${t} must be a valid number, got "${e}"`);return n}var mn=M({name:`prismic field remove`,description:`Remove a field from a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:zt},async({positionals:e,values:t})=>{let[n]=e,[r,i]=await Bt(n,t),[a,o]=R(r,n);if(!(o in a))throw new P(`Field "${n}" does not exist.`);delete a[o],await i(),console.info(`Field removed: ${n}`)}),hn=M({name:`prismic field reorder`,description:`Reorder a field in a slice or custom type.`,positionals:{id:{description:`Field ID to move`,required:!0}},options:{before:{type:`string`,description:`Place field before this field ID`},after:{type:`string`,description:`Place field after this field ID`},"from-slice":{type:`string`,description:`ID of the source slice`},"from-type":{type:`string`,description:`ID of the source content type`},variation:{type:`string`,description:`Slice variation ID (default: "default")`}}},async({positionals:e,values:t})=>{let[n]=e,{before:r,after:i}=t;if(!r&&!i)throw new P(`Specify --before or --after.`);if(r&&i)throw new P(`Only one of --before or --after can be specified.`);let a=r??i,o=r?`before`:`after`;if(n===a)throw new P(`Cannot reorder "${n}" relative to itself.`);let s=n.lastIndexOf(`.`),c=a.lastIndexOf(`.`);if((s===-1?``:n.slice(0,s))!==(c===-1?``:a.slice(0,c)))throw new P(`Cannot reorder "${n}" relative to "${a}": fields must be in the same container.`);let[l,u,d]=await Vt(n,a,t),[f,p]=R(l,n),[m,h]=R(u,a);if(!(p in f))throw new P(`Field "${n}" does not exist.`);if(!(h in m))throw new P(`Field "${a}" does not exist.`);let g=f[p];delete f[p];let _=Object.entries(m);for(let e of Object.keys(m))delete m[e];for(let[e,t]of _)o===`before`&&e===h&&(m[p]=g),m[e]=t,o===`after`&&e===h&&(m[p]=g);await d(),console.info(`Field reordered: ${n}`)}),gn=M({name:`prismic field view`,description:`View details of a field in a slice or custom type.`,positionals:{id:{description:`Field ID`,required:!0}},options:{...zt,json:{type:`boolean`,description:`Output as JSON`}}},async({positionals:e,values:t})=>{let[n]=e,[r]=await Bt(n,t),[i,a]=R(r,n),o=i[a];if(!o)throw new P(`Field "${n}" does not exist.`);if(t.json){console.info(O({id:a,...o}));return}if(console.info(`Type: ${o.type}`),o.config){for(let[e,t]of Object.entries(o.config))if(t!==void 0)if(e===`fields`&&typeof t==`object`&&t){let e=Object.keys(t).join(`, `)||`(none)`;console.info(`Fields: ${e}`)}else Array.isArray(t)?console.info(`${_(e)}: ${t.join(`, `)}`):console.info(`${_(e)}: ${t}`)}}),_n=N({name:`prismic field`,description:`Manage fields in slices and content types.`,commands:{add:{handler:dn,description:`Add a field`},edit:{handler:fn,description:`Edit a field`},remove:{handler:mn,description:`Remove a field`},reorder:{handler:hn,description:`Reorder a field`},view:{handler:gn,description:`View details of a field`}}}),vn=M({name:`prismic gen setup`,description:`
|
|
90
90
|
Generate framework-specific setup files for a Prismic project.
|
|
91
91
|
|
|
92
92
|
Installs dependencies, creates the Prismic client file, slice simulator
|
|
93
93
|
page, preview routes, and other files required by the detected framework.
|
|
94
94
|
Skips files that already exist.
|
|
95
|
-
`,options:{"no-install":{type:`boolean`,description:`Skip installing dependencies`}}},async({values:e})=>{if(await(await m()).setupProject(),!e[`no-install`])try{console.info(`Installing dependencies...`),await Oe()}catch{console.warn("Could not install dependencies automatically. Please install them manually (i.e. `npm install`).")}console.info(`Generated setup files.`)}),_n=M({name:`prismic gen types`,description:`Generate TypeScript types for slices and content types.`},async()=>{let e=await(await m()).generateTypes(),n=ve(await t(),e);console.info(`Generated types at ${n}`)}),vn=N({name:`prismic gen`,description:`Generate files from local Prismic models.`,commands:{setup:{handler:gn,description:`Generate framework-specific Prismic setup`},types:{handler:_n,description:`Generate TypeScript types from local models`}}});async function yn(e){let{repo:t,token:n,host:r}=e,i=Mn(r),a=new URL(`customtypes`,i);try{return await E(a,{headers:{repository:t,Authorization:`Bearer ${n}`}})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${t}`),e}}async function bn(e,t){let{repo:n,token:r,host:i}=t,a=Mn(i);await E(new URL(`customtypes/insert`,a),{method:`POST`,headers:{repository:n,Authorization:`Bearer ${r}`},body:e})}async function xn(e,t){let{repo:n,token:r,host:i}=t,a=Mn(i);await E(new URL(`customtypes/update`,a),{method:`POST`,headers:{repository:n,Authorization:`Bearer ${r}`},body:e})}async function Sn(e,t){let{repo:n,token:r,host:i}=t,a=Mn(i);await E(new URL(`customtypes/${encodeURIComponent(e)}`,a),{method:`DELETE`,headers:{repository:n,Authorization:`Bearer ${r}`}})}async function Cn(e){let{repo:t,token:n,host:r}=e,i=Mn(r),a=new URL(`slices`,i);try{return await E(a,{headers:{repository:t,Authorization:`Bearer ${n}`}})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${t}`),e}}async function wn(e,t){let{repo:n,token:r,host:i}=t,a=Mn(i);await E(new URL(`slices/insert`,a),{method:`POST`,headers:{repository:n,Authorization:`Bearer ${r}`},body:e})}async function Tn(e,t){let{repo:n,token:r,host:i}=t,a=Mn(i);await E(new URL(`slices/update`,a),{method:`POST`,headers:{repository:n,Authorization:`Bearer ${r}`},body:e})}async function En(e,t){let{repo:n,token:r,host:i}=t,a=Mn(i);await E(new URL(`slices/${encodeURIComponent(e)}`,a),{method:`DELETE`,headers:{repository:n,Authorization:`Bearer ${r}`}})}const Dn=C({values:C({url:T(),fields:pe(T(),T())}),imgixEndpoint:T()}),On={"image/png":`.png`,"image/jpeg":`.jpg`,"image/gif":`.gif`,"image/webp":`.webp`};async function kn(e,t){let{repo:n,token:r,host:i}=t,a=new URL(`delete`,Nn(i));a.searchParams.set(`repository`,n),await E(a,{method:`POST`,headers:{repository:n,Authorization:`Bearer ${r}`},body:{sliceId:e}})}async function An(e,t){let{sliceId:n,variationId:r,repo:i,token:a,host:o}=t,s=e.type;if(!(s in On))throw new jn(s);let c=new URL(`presigned-url`,Nn(o));c.searchParams.set(`repository`,i);let l=await E(c,{headers:{repository:i,Authorization:`Bearer ${a}`},schema:Dn}),u=On[s],d=`${i}/shared-slices/${n}/${r}/${qe(`sha1`).update(new Uint8Array(await e.arrayBuffer())).digest(`hex`)}${u}`,f=new FormData;for(let[e,t]of Object.entries(l.values.fields))f.append(e,t);f.set(`key`,d),f.set(`Content-Type`,s),f.set(`file`,e),await E(l.values.url,{method:`POST`,body:f});let p=new URL(d,Se(l.imgixEndpoint));return p.searchParams.set(`auto`,`compress,format`),p}var jn=class extends Error{name=`UnsupportedFileTypeError`;constructor(e){super(`Unsupported file type: ${e||`unknown`}. Supported: ${Object.keys(On).join(`, `)}`)}};function Mn(e){return new URL(`https://customtypes.${e}/`)}function Nn(e){return new URL(`https://api.internal.${e}/screenshot/`)}function Pn(e){Qe(`${process.platform===`darwin`?`open`:process.platform===`win32`?`start ""`:`xdg-open`} "${e.toString()}"`)}function B(e,t,n){let{getKey:r,equals:i=(e,t)=>JSON.stringify(e)===JSON.stringify(t)}=n,a={insert:[],update:[],delete:[]};for(let n of e){let e=t.find(e=>r(e)===r(n));e?i(n,e)||a.update.push(n):a.insert.push(n)}for(let n of t)e.some(e=>r(e)===r(n))||a.delete.push(n);return a}const Fn=C({documentsPublished:De(),documentsUnpublished:De(),releasesCreated:De(),releasesUpdated:De(),tagsCreated:De(),tagsDeleted:De()}),In=Object.keys(Fn.shape),Ln=C({config:he(Fn,{_id:T(),url:T(),active:De(),name:ue(T()),secret:ue(T()),headers:pe(T(),T())})});async function Rn(e){let{repo:t,token:n,host:r}=e,i=V(t,r),a=new URL(`app/settings/webhooks`,i);try{return await E(a,{credentials:{"prismic-auth":n},schema:Te(Ln)})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${t}`),e}}async function zn(e,t){let{repo:n,token:r,host:i}=t,a=V(n,i),o=new URL(`app/settings/webhooks/create`,a),s=new FormData;s.set(`url`,e.url),s.set(`name`,e.name??``),s.set(`secret`,e.secret??``),s.set(`headers`,JSON.stringify({})),s.set(`active`,`on`),s.set(`documentsPublished`,e.documentsPublished.toString()),s.set(`documentsUnpublished`,e.documentsUnpublished.toString()),s.set(`releasesCreated`,e.releasesCreated.toString()),s.set(`releasesUpdated`,e.releasesUpdated.toString()),s.set(`tagsCreated`,e.tagsCreated.toString()),s.set(`tagsDeleted`,e.tagsDeleted.toString());try{await E(o,{method:`POST`,body:s,credentials:{"prismic-auth":r}})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${n}`),e}}async function Bn(e,t,n){let{repo:r,token:i,host:a}=n,o=V(r,a),s=new URL(`app/settings/webhooks/${e}`,o),c=new FormData;c.set(`url`,t.url),c.set(`name`,t.name??``),c.set(`secret`,t.secret??``),c.set(`headers`,JSON.stringify(t.headers??{})),c.set(`active`,t.active?`on`:`off`),c.set(`documentsPublished`,t.documentsPublished.toString()),c.set(`documentsUnpublished`,t.documentsUnpublished.toString()),c.set(`releasesCreated`,t.releasesCreated.toString()),c.set(`releasesUpdated`,t.releasesUpdated.toString()),c.set(`tagsCreated`,t.tagsCreated.toString()),c.set(`tagsDeleted`,t.tagsDeleted.toString());try{await E(s,{method:`POST`,body:c,credentials:{"prismic-auth":i}})}catch(e){throw e instanceof D&&(e.message=`Webhook not found`),e}}async function Vn(e,t){let{repo:n,token:r,host:i}=t,a=V(n,i),o=new URL(`app/settings/webhooks/${e}/delete`,a);try{await E(o,{method:`POST`,credentials:{"prismic-auth":r}})}catch(e){throw e instanceof D&&(e.message=`Webhook not found`),e}}const Hn=C({id:T(),scope:T(),token:T(),created_at:C({$date:Ee()})}),Un=C({id:T(),name:T(),wroom_auths:Te(Hn)}),Wn=C({app_name:T(),token:T(),timestamp:Ee()}),Gn=C({max_tokens:Ee(),tokens:Te(Wn)});async function Kn(e){let t=new URL(`settings/security/contentapi`,V(e.repo,e.host));try{return await E(t,{credentials:{"prismic-auth":e.token},schema:Te(Un)})}catch(t){throw t instanceof D&&(t.message=`Repository not found: ${e.repo}`),t}}async function qn(e,t){let n=new URL(`settings/security/oauthapp`,V(t.repo,t.host));try{return await E(n,{method:`POST`,body:{app_name:e},credentials:{"prismic-auth":t.token},schema:Un})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${t.repo}`),e}}async function Jn(e,t,n){let r=new URL(`settings/security/authorizations`,V(n.repo,n.host));try{return await E(r,{method:`POST`,body:{app:e,scope:t},credentials:{"prismic-auth":n.token},schema:Hn})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${n.repo}`),e}}async function Yn(e,t){let n=new URL(`settings/security/authorizations/${encodeURIComponent(e)}`,V(t.repo,t.host));try{await E(n,{method:`DELETE`,credentials:{"prismic-auth":t.token}})}catch(e){throw e instanceof D&&(e.message=`Token not found`),e}}async function Xn(e){let t=new URL(`settings/security/customtypesapi`,V(e.repo,e.host));try{return await E(t,{credentials:{"prismic-auth":e.token},schema:Gn})}catch(t){throw t instanceof D&&(t.message=`Repository not found: ${e.repo}`),t}}async function Zn(e,t){let n=new URL(`settings/security/token`,V(t.repo,t.host));try{return await E(n,{method:`POST`,body:{app_name:e},credentials:{"prismic-auth":t.token},schema:Wn})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${t.repo}`),e}}async function Qn(e,t){let n=new URL(`settings/security/token/${encodeURIComponent(e)}`,V(t.repo,t.host));try{await E(n,{method:`DELETE`,credentials:{"prismic-auth":t.token}})}catch(t){throw t instanceof D&&(t.message=`Token not found: ${e}`),t}}async function $n(e){let{domain:t,token:n,host:r}=e;return await E(new URL(`app/dashboard/repositories/${t}/exists`,or(r)),{credentials:{"prismic-auth":n},schema:De()})}async function er(e){let{domain:t,name:n,framework:r,agent:i,token:a,host:o}=e,s=new URL(`app/dashboard/repositories`,or(o));s.searchParams.set(`app`,`cli`),i&&s.searchParams.set(`agent`,i),await E(s,{method:`POST`,body:{domain:t,name:n,framework:r,plan:`personal`},credentials:{"prismic-auth":a}})}const tr=C({repository:C({api_access:T()})});async function nr(e){let{repo:t,token:n,host:r}=e,i=new URL(`syncState`,V(t,r));try{return(await E(i,{credentials:{"prismic-auth":n},schema:tr})).repository.api_access}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${t}`),e}}async function rr(e,t){let{repo:n,token:r,host:i}=t,a=new URL(`settings/security/apiaccess`,V(n,i));try{await E(a,{method:`POST`,body:{api_access:e},credentials:{"prismic-auth":r}})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${n}`),e}}const ir=C({repository:C({name:T()})});async function ar(e,t){let{repo:n,token:r,host:i}=t,a=new URL(`app/settings/repository`,V(n,i)),o=new FormData;o.set(`displayname`,e);try{return(await E(a,{method:`POST`,body:o,credentials:{"prismic-auth":r},schema:ir})).repository.name}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${n}`),e}}function or(e){return new URL(`https://${e}/`)}function V(e,t){return new URL(`https://${e}.${t}/`)}function sr(e){let{repo:t,host:n,customTypeId:r}=e,i=new URL(`builder/working`,V(t,n));return i.searchParams.set(`customTypes`,r),i.href}function cr(e){let{repo:t,host:n,format:r}=e,i=[`builder`,`types`,r===`custom`?`custom-types`:`page-types`].join(`/`);return new URL(i,V(t,n)).href}async function lr(){if(process.env.AI_AGENT)return process.env.AI_AGENT.toLowerCase();if(process.env.CLAUDE_CODE_IS_COWORK===`1`||process.env.CLAUDE_CODE_IS_COWORK===`true`)return`claude-cowork`;if(process.env.CLAUDECODE===`1`||process.env.CLAUDE_CODE)return`claude-code`;if(process.env.CODEX_CI===`1`||process.env.CODEX_SANDBOX||process.env.CODEX_THREAD_ID)return`codex`;if(process.env.CURSOR_AGENT===`1`||process.env.CURSOR_EXTENSION_HOST_ROLE===`agent-exec`)return`cursor`;if(process.env.CLINE_ACTIVE===`true`)return`cline`;if(process.env.ANTIGRAVITY_AGENT)return`antigravity`;if(process.env.AUGMENT_AGENT===`1`)return`augment`;if(process.env.OPENCODE_CLIENT===`1`)return`opencode`;if(process.env.GEMINI_CLI===`1`)return`gemini-cli`;if(process.env.TRAE_AI_SHELL_ID)return`trae`;if(process.env.REPL_ID)return`replit`;if(process.env.COPILOT_MODEL||process.env.COPILOT_ALLOW_ALL||process.env.COPILOT_GITHUB_TOKEN)return`github-copilot`;let e=process.env.AGENT?.toLowerCase();if(e===`goose`||e===`amp`)return e;if(process.platform===`linux`&&await ge(new URL(`file:///opt/.devin`)))return`devin`;if(process.env.IS_SANDBOX===`yes`)return`unknown-sandbox`}var ur=M({name:`prismic repo create`,description:`Create a new Prismic repository.`,options:{name:{type:`string`,short:`n`,description:`Display name for the repository`}}},async({values:e})=>{let{name:t}=e,n=await k(),r=await A(),i=await dr({name:t,token:n,host:r});console.info(`Repository created: ${i}`),console.info(`URL: https://${i}.${r}/`)});async function dr(t){let{name:n,token:r,host:i}=t,a=await fr({token:r,host:i});if(!a)throw new P(`Failed to create a repository. Please try again.`);let o=(await m().catch(()=>void 0))?.id??`other`,s=await lr();try{await er({domain:a,name:n??a,framework:o,agent:s,token:r,host:i})}catch(e){throw e instanceof w?new P(`Failed to create repository: ${await e.text()}`):e}return await e({repo:a,token:r,host:i,stepIds:[`createPrismicProject`]}),a}async function fr(e){let{token:t,host:n}=e,r;for(let e=0;e<5;e++){let e=crypto.randomUUID().replace(/-/g,``).slice(0,8);if(await $n({domain:e,token:t,host:n})){r=e;break}}return r}var pr=M({name:`prismic init`,description:`
|
|
95
|
+
`,options:{"no-install":{type:`boolean`,description:`Skip installing dependencies`}}},async({values:e})=>{if(await(await p()).setupProject(),!e[`no-install`])try{console.info(`Installing dependencies...`),await De()}catch{console.warn("Could not install dependencies automatically. Please install them manually (i.e. `npm install`).")}console.info(`Generated setup files.`)}),yn=M({name:`prismic gen types`,description:`Generate TypeScript types for slices and content types.`},async()=>{let e=await(await p()).generateTypes(),n=_e(await t(),e);console.info(`Generated types at ${n}`)}),bn=N({name:`prismic gen`,description:`Generate files from local Prismic models.`,commands:{setup:{handler:vn,description:`Generate framework-specific Prismic setup`},types:{handler:yn,description:`Generate TypeScript types from local models`}}});async function xn(e){let{repo:t,token:n,host:r}=e,i=Pn(r),a=new URL(`customtypes`,i);try{return await E(a,{headers:{repository:t,Authorization:`Bearer ${n}`}})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${t}`),e}}async function Sn(e,t){let{repo:n,token:r,host:i}=t,a=Pn(i);await E(new URL(`customtypes/insert`,a),{method:`POST`,headers:{repository:n,Authorization:`Bearer ${r}`},body:e})}async function Cn(e,t){let{repo:n,token:r,host:i}=t,a=Pn(i);await E(new URL(`customtypes/update`,a),{method:`POST`,headers:{repository:n,Authorization:`Bearer ${r}`},body:e})}async function wn(e,t){let{repo:n,token:r,host:i}=t,a=Pn(i);await E(new URL(`customtypes/${encodeURIComponent(e)}`,a),{method:`DELETE`,headers:{repository:n,Authorization:`Bearer ${r}`}})}async function Tn(e){let{repo:t,token:n,host:r}=e,i=Pn(r),a=new URL(`slices`,i);try{return await E(a,{headers:{repository:t,Authorization:`Bearer ${n}`}})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${t}`),e}}async function En(e,t){let{repo:n,token:r,host:i}=t,a=Pn(i);await E(new URL(`slices/insert`,a),{method:`POST`,headers:{repository:n,Authorization:`Bearer ${r}`},body:e})}async function Dn(e,t){let{repo:n,token:r,host:i}=t,a=Pn(i);await E(new URL(`slices/update`,a),{method:`POST`,headers:{repository:n,Authorization:`Bearer ${r}`},body:e})}async function On(e,t){let{repo:n,token:r,host:i}=t,a=Pn(i);await E(new URL(`slices/${encodeURIComponent(e)}`,a),{method:`DELETE`,headers:{repository:n,Authorization:`Bearer ${r}`}})}const kn=w({values:w({url:C(),fields:ue(C(),C())}),imgixEndpoint:C()}),An={"image/png":`.png`,"image/jpeg":`.jpg`,"image/gif":`.gif`,"image/webp":`.webp`};async function jn(e,t){let{repo:n,token:r,host:i}=t,a=new URL(`delete`,Fn(i));a.searchParams.set(`repository`,n),await E(a,{method:`POST`,headers:{repository:n,Authorization:`Bearer ${r}`},body:{sliceId:e}})}async function Mn(e,t){let{sliceId:n,variationId:r,repo:i,token:a,host:o}=t,s=e.type;if(!(s in An))throw new Nn(s);let c=new URL(`presigned-url`,Fn(o));c.searchParams.set(`repository`,i);let l=await E(c,{headers:{repository:i,Authorization:`Bearer ${a}`},schema:kn}),u=An[s],d=`${i}/shared-slices/${n}/${r}/${Ke(`sha1`).update(new Uint8Array(await e.arrayBuffer())).digest(`hex`)}${u}`,f=new FormData;for(let[e,t]of Object.entries(l.values.fields))f.append(e,t);f.set(`key`,d),f.set(`Content-Type`,s),f.set(`file`,e),await E(l.values.url,{method:`POST`,body:f});let p=new URL(d,xe(l.imgixEndpoint));return p.searchParams.set(`auto`,`compress,format`),p}var Nn=class extends Error{name=`UnsupportedFileTypeError`;constructor(e){super(`Unsupported file type: ${e||`unknown`}. Supported: ${Object.keys(An).join(`, `)}`)}};function Pn(e){return new URL(`https://customtypes.${e}/`)}function Fn(e){return new URL(`https://api.internal.${e}/screenshot/`)}function In(e){Ze(`${process.platform===`darwin`?`open`:process.platform===`win32`?`start ""`:`xdg-open`} "${e.toString()}"`)}function Ln(e,t,n){let{getKey:r,equals:i=(e,t)=>JSON.stringify(e)===JSON.stringify(t)}=n,a={insert:[],update:[],delete:[]};for(let n of e){let e=t.find(e=>r(e)===r(n));e?i(n,e)||a.update.push(n):a.insert.push(n)}for(let n of t)e.some(e=>r(e)===r(n))||a.delete.push(n);return a}const Rn=w({documentsPublished:Ee(),documentsUnpublished:Ee(),releasesCreated:Ee(),releasesUpdated:Ee(),tagsCreated:Ee(),tagsDeleted:Ee()}),zn=Object.keys(Rn.shape),Bn=w({config:me(Rn,{_id:C(),url:C(),active:Ee(),name:le(C()),secret:le(C()),headers:ue(C(),C())})});async function Vn(e){let{repo:t,token:n,host:r}=e,i=B(t,r),a=new URL(`app/settings/webhooks`,i);try{return await E(a,{credentials:{"prismic-auth":n},schema:we(Bn)})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${t}`),e}}async function Hn(e,t){let{repo:n,token:r,host:i}=t,a=B(n,i),o=new URL(`app/settings/webhooks/create`,a),s=new FormData;s.set(`url`,e.url),s.set(`name`,e.name??``),s.set(`secret`,e.secret??``),s.set(`headers`,JSON.stringify({})),s.set(`active`,`on`),s.set(`documentsPublished`,e.documentsPublished.toString()),s.set(`documentsUnpublished`,e.documentsUnpublished.toString()),s.set(`releasesCreated`,e.releasesCreated.toString()),s.set(`releasesUpdated`,e.releasesUpdated.toString()),s.set(`tagsCreated`,e.tagsCreated.toString()),s.set(`tagsDeleted`,e.tagsDeleted.toString());try{await E(o,{method:`POST`,body:s,credentials:{"prismic-auth":r}})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${n}`),e}}async function Un(e,t,n){let{repo:r,token:i,host:a}=n,o=B(r,a),s=new URL(`app/settings/webhooks/${e}`,o),c=new FormData;c.set(`url`,t.url),c.set(`name`,t.name??``),c.set(`secret`,t.secret??``),c.set(`headers`,JSON.stringify(t.headers??{})),c.set(`active`,t.active?`on`:`off`),c.set(`documentsPublished`,t.documentsPublished.toString()),c.set(`documentsUnpublished`,t.documentsUnpublished.toString()),c.set(`releasesCreated`,t.releasesCreated.toString()),c.set(`releasesUpdated`,t.releasesUpdated.toString()),c.set(`tagsCreated`,t.tagsCreated.toString()),c.set(`tagsDeleted`,t.tagsDeleted.toString());try{await E(s,{method:`POST`,body:c,credentials:{"prismic-auth":i}})}catch(e){throw e instanceof D&&(e.message=`Webhook not found`),e}}async function Wn(e,t){let{repo:n,token:r,host:i}=t,a=B(n,i),o=new URL(`app/settings/webhooks/${e}/delete`,a);try{await E(o,{method:`POST`,credentials:{"prismic-auth":r}})}catch(e){throw e instanceof D&&(e.message=`Webhook not found`),e}}const Gn=w({id:C(),scope:C(),token:C(),created_at:w({$date:Te()})}),Kn=w({id:C(),name:C(),wroom_auths:we(Gn)}),qn=w({app_name:C(),token:C(),timestamp:Te()}),Jn=w({max_tokens:Te(),tokens:we(qn)});async function Yn(e){let t=new URL(`settings/security/contentapi`,B(e.repo,e.host));try{return await E(t,{credentials:{"prismic-auth":e.token},schema:we(Kn)})}catch(t){throw t instanceof D&&(t.message=`Repository not found: ${e.repo}`),t}}async function Xn(e,t){let n=new URL(`settings/security/oauthapp`,B(t.repo,t.host));try{return await E(n,{method:`POST`,body:{app_name:e},credentials:{"prismic-auth":t.token},schema:Kn})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${t.repo}`),e}}async function Zn(e,t,n){let r=new URL(`settings/security/authorizations`,B(n.repo,n.host));try{return await E(r,{method:`POST`,body:{app:e,scope:t},credentials:{"prismic-auth":n.token},schema:Gn})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${n.repo}`),e}}async function Qn(e,t){let n=new URL(`settings/security/authorizations/${encodeURIComponent(e)}`,B(t.repo,t.host));try{await E(n,{method:`DELETE`,credentials:{"prismic-auth":t.token}})}catch(e){throw e instanceof D&&(e.message=`Token not found`),e}}async function $n(e){let t=new URL(`settings/security/customtypesapi`,B(e.repo,e.host));try{return await E(t,{credentials:{"prismic-auth":e.token},schema:Jn})}catch(t){throw t instanceof D&&(t.message=`Repository not found: ${e.repo}`),t}}async function er(e,t){let n=new URL(`settings/security/token`,B(t.repo,t.host));try{return await E(n,{method:`POST`,body:{app_name:e},credentials:{"prismic-auth":t.token},schema:qn})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${t.repo}`),e}}async function tr(e,t){let n=new URL(`settings/security/token/${encodeURIComponent(e)}`,B(t.repo,t.host));try{await E(n,{method:`DELETE`,credentials:{"prismic-auth":t.token}})}catch(t){throw t instanceof D&&(t.message=`Token not found: ${e}`),t}}async function nr(e){let{domain:t,token:n,host:r}=e;return await E(new URL(`app/dashboard/repositories/${t}/exists`,lr(r)),{credentials:{"prismic-auth":n},schema:Ee()})}async function rr(e){let{domain:t,name:n,framework:r,agent:i,token:a,host:o}=e,s=new URL(`app/dashboard/repositories`,lr(o));s.searchParams.set(`app`,`cli`),i&&s.searchParams.set(`agent`,i),await E(s,{method:`POST`,body:{domain:t,name:n,framework:r,plan:`personal`},credentials:{"prismic-auth":a}})}const ir=w({repository:w({api_access:C()})});async function ar(e){let{repo:t,token:n,host:r}=e,i=new URL(`syncState`,B(t,r));try{return(await E(i,{credentials:{"prismic-auth":n},schema:ir})).repository.api_access}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${t}`),e}}async function or(e,t){let{repo:n,token:r,host:i}=t,a=new URL(`settings/security/apiaccess`,B(n,i));try{await E(a,{method:`POST`,body:{api_access:e},credentials:{"prismic-auth":r}})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${n}`),e}}const sr=w({repository:w({name:C()})});async function cr(e,t){let{repo:n,token:r,host:i}=t,a=new URL(`app/settings/repository`,B(n,i)),o=new FormData;o.set(`displayname`,e);try{return(await E(a,{method:`POST`,body:o,credentials:{"prismic-auth":r},schema:sr})).repository.name}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${n}`),e}}function lr(e){return new URL(`https://${e}/`)}function B(e,t){return new URL(`https://${e}.${t}/`)}function ur(e){let{repo:t,host:n,customTypeId:r}=e,i=new URL(`builder/working`,B(t,n));return i.searchParams.set(`customTypes`,r),i.href}function dr(e){let{repo:t,host:n,format:r}=e,i=[`builder`,`types`,r===`custom`?`custom-types`:`page-types`].join(`/`);return new URL(i,B(t,n)).href}async function fr(){if(process.env.AI_AGENT)return process.env.AI_AGENT.toLowerCase();if(process.env.CLAUDE_CODE_IS_COWORK===`1`||process.env.CLAUDE_CODE_IS_COWORK===`true`)return`claude-cowork`;if(process.env.CLAUDECODE===`1`||process.env.CLAUDE_CODE)return`claude-code`;if(process.env.CODEX_CI===`1`||process.env.CODEX_SANDBOX||process.env.CODEX_THREAD_ID)return`codex`;if(process.env.CURSOR_AGENT===`1`||process.env.CURSOR_EXTENSION_HOST_ROLE===`agent-exec`)return`cursor`;if(process.env.CLINE_ACTIVE===`true`)return`cline`;if(process.env.ANTIGRAVITY_AGENT)return`antigravity`;if(process.env.AUGMENT_AGENT===`1`)return`augment`;if(process.env.OPENCODE_CLIENT===`1`)return`opencode`;if(process.env.GEMINI_CLI===`1`)return`gemini-cli`;if(process.env.TRAE_AI_SHELL_ID)return`trae`;if(process.env.REPL_ID)return`replit`;if(process.env.COPILOT_MODEL||process.env.COPILOT_ALLOW_ALL||process.env.COPILOT_GITHUB_TOKEN)return`github-copilot`;let e=process.env.AGENT?.toLowerCase();if(e===`goose`||e===`amp`)return e;if(process.platform===`linux`&&await he(new URL(`file:///opt/.devin`)))return`devin`;if(process.env.IS_SANDBOX===`yes`)return`unknown-sandbox`}var pr=M({name:`prismic repo create`,description:`Create a new Prismic repository.`,options:{name:{type:`string`,short:`n`,description:`Display name for the repository`}}},async({values:e})=>{let{name:t}=e,n=await k(),r=await A(),i=await mr({name:t,token:n,host:r});console.info(`Repository created: ${i}`),console.info(`URL: https://${i}.${r}/`)});async function mr(e){let{name:t,token:n,host:r}=e,i=await hr({token:n,host:r});if(!i)throw new P(`Failed to create a repository. Please try again.`);let a=(await p().catch(()=>void 0))?.id??`other`,o=await fr();try{await rr({domain:i,name:t??i,framework:a,agent:o,token:n,host:r})}catch(e){throw e instanceof T?new P(`Failed to create repository: ${await e.text()}`):e}return await v({repo:i,token:n,host:r,stepIds:[`createPrismicProject`]}),i}async function hr(e){let{token:t,host:n}=e,r;for(let e=0;e<5;e++){let e=crypto.randomUUID().replace(/-/g,``).slice(0,8);if(await nr({domain:e,token:t,host:n})){r=e;break}}return r}var gr=M({name:`prismic init`,description:`
|
|
96
96
|
Initialize a new Prismic project by creating a repository and
|
|
97
97
|
prismic.config.json file. Detects the project framework, installs
|
|
98
98
|
dependencies, and syncs models from Prismic.
|
|
@@ -100,42 +100,42 @@ import{A as e,C as t,D as n,E as r,I as i,M as a,N as o,P as s,S as c,T as l,_ a
|
|
|
100
100
|
Use --repo to connect to an existing repository instead. If a
|
|
101
101
|
slicemachine.config.json exists, its repository and settings will be
|
|
102
102
|
migrated.
|
|
103
|
-
`,options:{repo:{type:`string`,short:`r`,description:`Repository name`},"no-browser":{type:`boolean`,description:`Skip opening the browser automatically during login`}}},async({values:e})=>{let{repo:t,"no-browser":n}=e;try{throw await
|
|
103
|
+
`,options:{repo:{type:`string`,short:`r`,description:`Repository name`},"no-browser":{type:`boolean`,description:`Skip opening the browser automatically during login`}}},async({values:e})=>{let{repo:t,"no-browser":n}=e;try{throw await c(),new P(`A prismic.config.json file exists. This project is already initialized.`)}catch(e){if(!(e instanceof h))throw e}let i;try{i=await r()}catch(e){e instanceof te&&console.warn(`Could not read slicemachine.config.json, ignoring.`)}let a=await k(),o=await A(),u;try{u=await bt({token:a,host:o})}catch(e){if(e instanceof ve||e instanceof be){if(Fe.PRISMIC_TOKEN)throw new P(`PRISMIC_TOKEN is invalid or expired. Unset it to log in with a browser, or replace it with a valid token.`);console.info(`Not logged in. Starting login...`);let{email:e}=await Me({onReady:e=>{n?console.info(`Open this URL to log in: ${e}`):(console.info(`Opening browser to complete login...`),console.info(`If the browser doesn't open, visit: ${e}`),In(e))}});console.info(`Logged in as ${e}`),a=await k(),u=await bt({token:a,host:o})}else throw e}let d=(t??i?.repositoryName)?.toLowerCase();if(d){if(!u.repositories.some(e=>e.domain===d))throw new P(`Repository "${d}" not found in your account. Check the name or request access to the repository.`);if(!await oe(d,{token:a,host:o}))throw new m}let f=await p();d||(d=await mr({token:a,host:o}),console.info(`Created repository: ${d}`));try{let e=o===je?void 0:`https://${d}.cdn.${o}/api/v2/`;await ae({repositoryName:d,documentAPIEndpoint:e,libraries:i?.libraries,routes:[]})}catch(e){throw e instanceof l?new P(`Could not find a package.json file. Run this command from a project directory.`):new P(`Failed to create prismic.config.json.`)}if(i){try{await s()}catch{}console.info(`Migrated slicemachine.config.json to prismic.config.json`)}await f.initProject();try{console.info(`Installing dependencies...`),await De()}catch{console.warn("Could not install dependencies automatically. Please install them manually (i.e. `npm install`).")}let[g,_,v,y]=await Promise.all([xn({repo:d,token:a,host:o}),Tn({repo:d,token:a,host:o}),f.getCustomTypes(),f.getSlices()]),b=v.map(e=>e.model),x=Ln(_,y.map(e=>e.model),{getKey:e=>e.id});for(let e of x.update)await f.updateSlice(e);for(let e of x.delete)await f.deleteSlice(e.id);for(let e of x.insert)await f.createSlice(e);let ee=Ln(g,b,{getKey:e=>e.id});for(let e of ee.update)await f.updateCustomType(e);for(let e of ee.delete)await f.deleteCustomType(e.id);for(let e of ee.insert)await f.createCustomType(e);await f.generateTypes(),console.info(`\nInitialized Prismic for repository "${d}".`),console.info("Run `prismic type create <name>` to create a content type."),console.info("Run `prismic sync` to sync models from Prismic.")});const _r=w({id:C(),label:C(),customName:le(C()),isMaster:Ee()});async function vr(e){let{repo:t,token:n,host:r}=e,i=new URL(`repository/locales`,xr(r));i.searchParams.set(`repository`,t);try{return(await E(i,{headers:{Authorization:`Bearer ${n}`},schema:w({results:we(_r)})})).results}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${t}`),e}}async function yr(e,t){let{repo:n,token:r,host:i}=t,a=new URL(`repository/locales`,xr(i));a.searchParams.set(`repository`,n);try{return await E(a,{method:`POST`,body:{id:e.id,isMaster:e.isMaster??!1,...e.customName?{customName:e.customName}:{}},headers:{Authorization:`Bearer ${r}`},schema:_r})}catch(e){throw e instanceof D&&(e.message=`Repository not found: ${n}`),e}}async function br(e,t){let{repo:n,token:r,host:i}=t,a=new URL(`repository/locales/${encodeURIComponent(e)}`,xr(i));a.searchParams.set(`repository`,n),await E(a,{method:`DELETE`,headers:{Authorization:`Bearer ${r}`}})}function xr(e){return new URL(`https://api.internal.${e}/locale/`)}async function V(e,t){let{repo:n,token:r,host:i}=t,[a,o]=await Promise.all([bt({token:r,host:i}),ne({repo:n,token:r,host:i})]),s=o.filter(e=>(e.kind===`prod`||e.kind===`stage`)&&e.users.some(e=>e.id===a.shortId)),c=s.find(t=>t.domain===e);if(c)return c.domain;throw new Sr(e,s,n)}var Sr=class extends Error{name=`InvalidEnvironmentError`;repo;env;availableEnvironments;constructor(e,t,n){super(),this.repo=n,this.env=e,this.availableEnvironments=t}},Cr=M({name:`prismic locale add`,description:`
|
|
104
104
|
Add a locale to a Prismic repository.
|
|
105
105
|
|
|
106
106
|
By default, this command reads the repository from prismic.config.json at the
|
|
107
107
|
project root.
|
|
108
|
-
`,positionals:{code:{description:`Locale code (e.g. fr-fr, es-es)`,required:!0}},options:{master:{type:`boolean`,description:`Set as the master locale`},name:{type:`string`,short:`n`,description:`Custom display name (for custom locales)`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i,master:a=!1,name:o}=t,s=await k(),c=await A(),l=i?await
|
|
108
|
+
`,positionals:{code:{description:`Locale code (e.g. fr-fr, es-es)`,required:!0}},options:{master:{type:`boolean`,description:`Set as the master locale`},name:{type:`string`,short:`n`,description:`Custom display name (for custom locales)`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i,master:a=!1,name:o}=t,s=await k(),c=await A(),l=i?await V(i,{repo:r,token:s,host:c}):r;try{await yr({id:n,isMaster:a,customName:o},{repo:l,token:s,host:c})}catch(e){throw e instanceof T?new P(`Failed to add locale: ${await e.text()}`):e}console.info(`Locale added: ${n}`)}),wr=M({name:`prismic locale list`,description:`
|
|
109
109
|
List all locales in a Prismic repository.
|
|
110
110
|
|
|
111
111
|
By default, this command reads the repository from prismic.config.json at the
|
|
112
112
|
project root.
|
|
113
|
-
`,options:{json:{type:`boolean`,description:`Output as JSON`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{repo:t=await S(),env:n,json:r}=e,i=await k(),a=await A(),o=n?await
|
|
113
|
+
`,options:{json:{type:`boolean`,description:`Output as JSON`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{repo:t=await S(),env:n,json:r}=e,i=await k(),a=await A(),o=n?await V(n,{repo:t,token:i,host:a}):t,s;try{s=await vr({repo:o,token:i,host:a})}catch(e){throw e instanceof T?new P(`Failed to list locales: ${await e.text()}`):e}if(r){console.info(O(s));return}if(s.length===0){console.info(`No locales found.`);return}let c=s.map(e=>{let t=e.isMaster?` (master)`:``;return[e.id,`${e.label}${t}`]});console.info(y(c,{headers:[`ID`,`LABEL`]}))}),Tr=M({name:`prismic locale remove`,description:`
|
|
114
114
|
Remove a locale from a Prismic repository.
|
|
115
115
|
|
|
116
116
|
By default, this command reads the repository from prismic.config.json at the
|
|
117
117
|
project root.
|
|
118
|
-
`,positionals:{code:{description:`Locale code (e.g. en-us, fr-fr)`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await
|
|
118
|
+
`,positionals:{code:{description:`Locale code (e.g. en-us, fr-fr)`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await V(i,{repo:r,token:a,host:o}):r;try{await br(n,{repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to remove locale: ${await e.text()}`):e}console.info(`Locale removed: ${n}`)}),Er=M({name:`prismic locale set-master`,description:`
|
|
119
119
|
Set the master locale for a Prismic repository.
|
|
120
120
|
|
|
121
121
|
By default, this command reads the repository from prismic.config.json at the
|
|
122
122
|
project root.
|
|
123
|
-
`,positionals:{code:{description:`Locale code (e.g. en-us, fr-fr)`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await
|
|
123
|
+
`,positionals:{code:{description:`Locale code (e.g. en-us, fr-fr)`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await V(i,{repo:r,token:a,host:o}):r,c;try{c=await vr({repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to set master locale: ${await e.text()}`):e}let l=c.find(e=>e.id===n);if(!l)throw new P(`Locale "${n}" not found. Available locales: ${c.map(e=>e.id).join(`, `)}`);if(l.isMaster)throw new P(`Locale "${n}" is already the master.`);try{await yr({id:l.id,isMaster:!0,customName:l.customName??void 0},{repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to set master locale: ${await e.text()}`):e}console.info(`Master locale set: ${n}`)}),Dr=N({name:`prismic locale`,description:`Manage locales in a Prismic repository.`,commands:{add:{handler:Cr,description:`Add a locale`},list:{handler:wr,description:`List locales`},remove:{handler:Tr,description:`Remove a locale`},"set-master":{handler:Er,description:`Set the master locale`}}}),Or=M({name:`prismic login`,description:`Log in to Prismic via browser.`,options:{"no-browser":{type:`boolean`,description:`Skip opening the browser automatically`}}},async({values:e})=>{let{"no-browser":t}=e,{email:n}=await Me({onReady:e=>{t?console.info(`Open this URL to log in: ${e}`):(console.info(`Opening browser to complete login...`),console.info(`If the browser doesn't open, visit: ${e}`),In(e))}});console.info(`Logged in to Prismic as ${n}`)}),kr=M({name:`prismic logout`,description:`Log out of Prismic.`},async()=>{if(await ke())console.info(`Logged out of Prismic`);else throw new P(`Logout failed. You can log out manually by deleting the file.`)}),Ar=M({name:`prismic preview add`,description:`
|
|
124
124
|
Add a preview configuration to a Prismic repository.
|
|
125
125
|
|
|
126
126
|
By default, this command reads the repository from prismic.config.json at the
|
|
127
127
|
project root.
|
|
128
|
-
`,positionals:{url:{description:`Preview URL (e.g. https://example.com/api/preview)`,required:!0}},options:{name:{type:`string`,short:`n`,description:`Display name (defaults to hostname)`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i,name:a}=t,o;try{o=new URL(n)}catch{throw new P(`Invalid URL: ${n}`)}let s=a||o.hostname,c=`${o.protocol}//${o.host}`,l=o.pathname===`/`?void 0:o.pathname,u=await k(),d=await A(),f=i?await
|
|
128
|
+
`,positionals:{url:{description:`Preview URL (e.g. https://example.com/api/preview)`,required:!0}},options:{name:{type:`string`,short:`n`,description:`Display name (defaults to hostname)`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i,name:a}=t,o;try{o=new URL(n)}catch{throw new P(`Invalid URL: ${n}`)}let s=a||o.hostname,c=`${o.protocol}//${o.host}`,l=o.pathname===`/`?void 0:o.pathname,u=await k(),d=await A(),f=i?await V(i,{repo:r,token:u,host:d}):r;try{await ie({name:s,websiteURL:c,resolverPath:l},{repo:f,token:u,host:d})}catch(e){throw e instanceof T?new P(`Failed to add preview: ${await e.text()}`):e}console.info(`Preview added: ${n}`),console.info("Run `prismic preview set-simulator <url>` to set the slice simulator URL.")}),jr=M({name:`prismic preview list`,description:`
|
|
129
129
|
List all preview configurations in a Prismic repository.
|
|
130
130
|
|
|
131
131
|
By default, this command reads the repository from prismic.config.json at the
|
|
132
132
|
project root.
|
|
133
|
-
`,options:{json:{type:`boolean`,description:`Output as JSON`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{repo:t=await S(),env:n,json:r}=e,i=await k(),a=await A(),o=n?await
|
|
133
|
+
`,options:{json:{type:`boolean`,description:`Output as JSON`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{repo:t=await S(),env:n,json:r}=e,i=await k(),a=await A(),o=n?await V(n,{repo:t,token:i,host:a}):t,s,c;try{[s,c]=await Promise.all([g({repo:o,token:i,host:a}),u({repo:o,token:i,host:a})])}catch(e){throw e instanceof T?new P(`Failed to list previews: ${await e.text()}`):e}if(r){console.info(O({previews:s,simulatorUrl:c??null}));return}if(s.length===0&&!c){console.info(`No preview configurations found.`);return}if(s.length>0){let e=s.map(e=>[e.url,e.label]);console.info(y(e,{headers:[`URL`,`NAME`]}))}c&&(s.length>0&&console.info(``),console.info(`Simulator: ${c}`))}),Mr=M({name:`prismic preview remove`,description:`
|
|
134
134
|
Remove a preview configuration from a Prismic repository.
|
|
135
135
|
|
|
136
136
|
By default, this command reads the repository from prismic.config.json at the
|
|
137
137
|
project root.
|
|
138
|
-
`,positionals:{url:{description:`Preview URL to remove`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await
|
|
138
|
+
`,positionals:{url:{description:`Preview URL to remove`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await V(i,{repo:r,token:a,host:o}):r,c;try{c=await g({repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to remove preview: ${await e.text()}`):e}let l=c.find(e=>e.url===n);if(!l)throw new P(`Preview not found: ${n}`);try{await ee(l.id,{repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to remove preview: ${await e.text()}`):e}console.info(`Preview removed: ${n}`)}),Nr=M({name:`prismic preview set-simulator`,description:`
|
|
139
139
|
Set the slice simulator URL for a Prismic repository.
|
|
140
140
|
|
|
141
141
|
If the URL pathname does not end with /slice-simulator, it is appended
|
|
@@ -143,13 +143,13 @@ import{A as e,C as t,D as n,E as r,I as i,M as a,N as o,P as s,S as c,T as l,_ a
|
|
|
143
143
|
|
|
144
144
|
By default, this command reads the repository from prismic.config.json at the
|
|
145
145
|
project root.
|
|
146
|
-
`,positionals:{url:{description:`Simulator URL (e.g. https://example.com/slice-simulator)`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a;try{a=new URL(n)}catch{throw new P(`Invalid URL: ${n}`)}a.pathname.endsWith(`/slice-simulator`)||(a.pathname=a.pathname.replace(/\/+$/,``)+`/slice-simulator`);let o=a.toString(),s=await k(),c=await A(),l=i?await
|
|
147
|
-
`)){if(r.length<4)continue;let t=r.slice(3),i=t.indexOf(` -> `);i!==-1&&(t=t.slice(i+4)),n.push(new URL(t,e))}return n}catch{return[]}}var
|
|
146
|
+
`,positionals:{url:{description:`Simulator URL (e.g. https://example.com/slice-simulator)`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a;try{a=new URL(n)}catch{throw new P(`Invalid URL: ${n}`)}a.pathname.endsWith(`/slice-simulator`)||(a.pathname=a.pathname.replace(/\/+$/,``)+`/slice-simulator`);let o=a.toString(),s=await k(),c=await A(),l=i?await V(i,{repo:r,token:s,host:c}):r;try{await re(o,{repo:l,token:s,host:c})}catch(e){throw e instanceof T?new P(`Failed to set simulator URL: ${await e.text()}`):e}console.info(`Simulator URL set: ${o}`)}),Pr=N({name:`prismic preview`,description:`Manage preview configurations in a Prismic repository.`,commands:{add:{handler:Ar,description:`Add a preview configuration`},list:{handler:jr,description:`List preview configurations`},remove:{handler:Mr,description:`Remove a preview configuration`},"set-simulator":{handler:Nr,description:`Set the slice simulator URL`}}});async function Fr(e){try{let{stdout:t}=await Oe(`git`,[`rev-parse`,`--show-toplevel`],{nodeOptions:{cwd:We(e)},throwOnError:!0}),n=t.trim();return n?xe(Ge(await Ue(n))):void 0}catch{return}}async function Ir(e){try{let{stdout:t}=await Oe(`git`,[`status`,`--porcelain`,`--untracked-files=all`],{nodeOptions:{cwd:We(e)},throwOnError:!0}),n=[];for(let r of t.split(`
|
|
147
|
+
`)){if(r.length<4)continue;let t=r.slice(3),i=t.indexOf(` -> `);i!==-1&&(t=t.slice(i+4)),n.push(new URL(t,e))}return n}catch{return[]}}var Lr=M({name:`prismic pull`,description:`
|
|
148
148
|
Pull content types and slices from Prismic to local files.
|
|
149
149
|
|
|
150
150
|
Remote models are the source of truth. Local files are created, updated,
|
|
151
151
|
or deleted to match.
|
|
152
|
-
`,options:{force:{type:`boolean`,short:`f`,description:`Overwrite local changes`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:
|
|
152
|
+
`,options:{force:{type:`boolean`,short:`f`,description:`Overwrite local changes`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{force:n=!1,repo:r=await S(),env:i}=e,a=await k(),o=await A(),s=await p(),c=await t(),l=i?await V(i,{repo:r,token:a,host:o}):r;console.info(`Pulling from repository: ${r}${i?` (env: ${i})`:``}`);let[u,d,f]=await Promise.all([Fr(c),s.getCustomTypeLibraries(),s.getSliceLibraries()]);if(!n&&u){let e=(await Ir(u)).filter(e=>e.pathname.endsWith(`/model.json`)&&f.some(t=>ye(t,e))||e.pathname.endsWith(`/index.json`)&&d.some(t=>ye(t,e))).map(e=>_e(c,e));if(e.length>0)throw new P(`
|
|
153
153
|
Local model files have uncommitted changes. Commit them first so a
|
|
154
154
|
pull won't silently discard your edits:
|
|
155
155
|
|
|
@@ -160,7 +160,7 @@ import{A as e,C as t,D as n,E as r,I as i,M as a,N as o,P as s,S as c,T as l,_ a
|
|
|
160
160
|
Other options:
|
|
161
161
|
prismic push --force Keep local edits, overwrite remote
|
|
162
162
|
prismic pull --force Discard local edits, adopt remote
|
|
163
|
-
`)}let[h,g,_
|
|
163
|
+
`)}let[m,h,g,_]=await Promise.all([s.getCustomTypes(),s.getSlices(),xn({repo:l,token:a,host:o}),Tn({repo:l,token:a,host:o})]),y=Ln(g,m.map(e=>e.model),{getKey:e=>e.id,equals:(e,t)=>JSON.stringify(F(e))===JSON.stringify(F(t))}),b=Ln(_,h.map(e=>e.model),{getKey:e=>e.id,equals:(e,t)=>JSON.stringify(F(e))===JSON.stringify(F(t))});if(!n&&!u){let e=new Set([...y.update,...y.delete].map(e=>e.id)),t=new Set([...b.update,...b.delete].map(e=>e.id)),n=[...m.filter(t=>e.has(t.model.id)),...h.filter(e=>t.has(e.model.id))].map(e=>_e(c,e.modelPath));if(n.length>0)throw new P(`
|
|
164
164
|
Pull would modify or delete local model files:
|
|
165
165
|
${n.join(`
|
|
166
166
|
`)}
|
|
@@ -168,12 +168,12 @@ import{A as e,C as t,D as n,E as r,I as i,M as a,N as o,P as s,S as c,T as l,_ a
|
|
|
168
168
|
This project isn't in a git repo, so changes can't be tracked. Choose one:
|
|
169
169
|
prismic pull --force Discard local files, adopt remote
|
|
170
170
|
prismic push --force Keep local files, overwrite remote
|
|
171
|
-
`)}for(let e of y.insert)await
|
|
171
|
+
`)}for(let e of y.insert)await s.createCustomType(e);for(let e of y.update)await s.updateCustomType(e);for(let e of y.delete)await s.deleteCustomType(e.id);for(let e of b.insert)await s.createSlice(e);for(let e of b.update)await s.updateSlice(e);for(let e of b.delete)await s.deleteSlice(e.id);await s.generateTypes(),await v({repo:r,token:a,host:o,stepIds:[`connectPrismic`]});let x=y.insert.length+y.update.length,ee=b.insert.length+b.update.length,te=y.delete.length+b.delete.length;if(x===0&&ee===0&&te===0){console.info(`Already up to date.`);return}console.info(`Inserted ${y.insert.length}, updated ${y.update.length}, deleted ${y.delete.length} types`),console.info(`Inserted ${b.insert.length}, updated ${b.update.length}, deleted ${b.delete.length} slices`)}),Rr=M({name:`prismic push`,description:`
|
|
172
172
|
Push local content types and slices to Prismic.
|
|
173
173
|
|
|
174
174
|
Local models are the source of truth. Remote models are created,
|
|
175
175
|
updated, or deleted to match.
|
|
176
|
-
`,options:{force:{type:`boolean`,short:`f`,description:`Skip safety checks`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:
|
|
176
|
+
`,options:{force:{type:`boolean`,short:`f`,description:`Skip safety checks`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{force:n=!1,repo:r=await S(),env:i}=e,o=await k(),s=await A(),c=await p(),l=await t(),u=i?await V(i,{repo:r,token:o,host:s}):r;console.info(`Pushing to repository: ${r}${i?` (env: ${i})`:``}`);let[d,f,m]=await Promise.all([Fr(l),c.getCustomTypeLibraries(),c.getSliceLibraries()]);if(!n&&d){let e=(await Ir(d)).filter(e=>e.pathname.endsWith(`/model.json`)&&m.some(t=>ye(t,e))||e.pathname.endsWith(`/index.json`)&&f.some(t=>ye(t,e))).map(e=>_e(l,e));if(e.length>0)throw new P(`
|
|
177
177
|
Local model files have uncommitted changes. Commit them, then push:
|
|
178
178
|
|
|
179
179
|
git add ${e.join(` `)}
|
|
@@ -181,71 +181,71 @@ import{A as e,C as t,D as n,E as r,I as i,M as a,N as o,P as s,S as c,T as l,_ a
|
|
|
181
181
|
prismic push
|
|
182
182
|
|
|
183
183
|
Or skip the safety check with \`prismic push --force\`.
|
|
184
|
-
`)}let[g,_,
|
|
184
|
+
`)}let[h,g,_,y]=await Promise.all([c.getCustomTypes(),c.getSlices(),xn({repo:u,token:o,host:s}),Tn({repo:u,token:o,host:s})]),b=Ln(h.map(e=>e.model),_,{getKey:e=>e.id,equals:(e,t)=>JSON.stringify(F(e))===JSON.stringify(F(t))}),x=Ln(g.map(e=>e.model),y,{getKey:e=>e.id,equals:(e,t)=>JSON.stringify(F(e))===JSON.stringify(F(t))});if(!n){let e=xe(f[0]),t=xe(m[0]),n=[...b.delete.map(t=>_e(l,new URL(`${t.id}/index.json`,e))),...x.delete.map(e=>_e(l,new URL(`${a(e.name)}/model.json`,t)))];if(n.length>0)throw new P(`
|
|
185
185
|
Push would delete remote models. Re-run with --force to proceed.
|
|
186
186
|
|
|
187
187
|
Models that would be deleted:
|
|
188
188
|
${n.join(`
|
|
189
189
|
`)}
|
|
190
|
-
`)}for(let e of b.insert)await
|
|
191
|
-
Please try again, or manually deleting the type at: `+
|
|
192
|
-
Please try again, or manually delete any associated pages at: `+
|
|
190
|
+
`)}for(let e of b.insert)await Sn(e,{repo:u,token:o,host:s});for(let e of b.update)await Cn(e,{repo:u,token:o,host:s});for(let e of b.delete)await zr(e,{repo:u,token:o,host:s});for(let e of x.insert)await En(e,{repo:u,token:o,host:s});for(let e of x.update)await Dn(e,{repo:u,token:o,host:s});for(let e of x.delete.map(e=>e.id))await On(e,{repo:u,token:o,host:s}),await jn(e,{repo:u,token:o,host:s}).catch(t=>{let n=t instanceof Error?t.message:String(t);console.warn(`Failed to delete screenshots for slice "${e}": ${n}`)});let ee=[];x.insert.length>0&&ee.push(`createSlice`),b.insert.some(e=>e.format===`page`)&&ee.push(`createPageType`),ee.length>0&&await v({repo:r,token:o,host:s,stepIds:ee});let te=b.insert.length+b.update.length,ne=x.insert.length+x.update.length,re=b.delete.length+x.delete.length;te===0&&ne===0&&re===0?console.info(`Already up to date.`):(console.info(`Pushed ${te} type(s), ${ne} slice(s).`),re>0&&console.info(`Deleted ${re} model(s).`))});async function zr(e,t){let{repo:n,token:r,host:i}=t,{id:a,format:o}=e;try{await wn(a,{repo:n,token:r,host:i})}catch(e){if(!await Br(e))throw new P(`Could not delete type "${a}": ${e instanceof Error?e.message:String(e)}"
|
|
191
|
+
Please try again, or manually deleting the type at: `+dr({repo:n,host:i,format:o??`custom`}));let t;try{t=await x(a,{repo:n,token:r,host:i})}catch{throw new P(`Could not check whether type "${a}" has associated pages.
|
|
192
|
+
Please try again, or manually delete any associated pages at: `+ur({repo:n,host:i,customTypeId:a}))}throw new P(`Could not delete type "${a}" because it has${t>0?` ${t}`:``} associated ${t===1?`page`:`pages`}. \nDelete any associated pages manually before pushing at: `+ur({repo:n,host:i,customTypeId:a}))}}async function Br(e){if(!(e instanceof Se))return!1;let t=await e.text();return t.includes(`associated documents`)||t.includes(`Delete all documents belonging`)}var Vr=M({name:`prismic repo list`,description:`List all Prismic repositories associated with your account.`,options:{json:{type:`boolean`,description:`Output as JSON`}}},async({values:e})=>{let{json:t}=e,n=await k(),r=await A(),i;try{i=await bt({token:n,host:r})}catch(e){throw e instanceof T?new P(`Failed to list repositories: ${await e.text()}`):e}let a=i.repositories;if(t){console.info(O(a.map(e=>({domain:e.domain,name:e.name??null,role:e.role??null,url:`https://${e.domain}.${r}/`}))));return}if(a.length===0){console.info(`No repositories found.`);return}let o=a.map(e=>{let t=e.name||`(no name)`;return[e.domain,t,e.role??``]});console.info(y(o,{headers:[`DOMAIN`,`NAME`,`ROLE`]}))});const Hr=[`private`,`public`,`open`];var Ur=M({name:`prismic repo set-api-access`,description:`
|
|
193
193
|
Set the Content API access level of a Prismic repository.
|
|
194
194
|
|
|
195
195
|
By default, this command reads the repository from prismic.config.json at the
|
|
196
196
|
project root.
|
|
197
|
-
`,positionals:{level:{description:`Access level (${
|
|
197
|
+
`,positionals:{level:{description:`Access level (${Hr.join(`, `)})`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S()}=t;if(!Hr.includes(n))throw new P(`Invalid access level: ${n}. Must be one of: ${Hr.join(`, `)}`);let i=await k(),a=await A();try{await or(n,{repo:r,token:i,host:a})}catch(e){throw e instanceof T?new P(`Failed to set repository access: ${await e.text()}`):e}console.info(`Repository access set to: ${n}`)}),Wr=M({name:`prismic repo set-name`,description:`
|
|
198
198
|
Set the display name of a Prismic repository.
|
|
199
199
|
|
|
200
200
|
By default, this command reads the repository from prismic.config.json at the
|
|
201
201
|
project root.
|
|
202
|
-
`,positionals:{name:{description:`Display name for the repository`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S()}=t,i=await k(),a=await A(),o;try{o=await
|
|
202
|
+
`,positionals:{name:{description:`Display name for the repository`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S()}=t,i=await k(),a=await A(),o;try{o=await cr(n,{repo:r,token:i,host:a})}catch(e){throw e instanceof T?new P(`Failed to set repository name: ${await e.text()}`):e}console.info(`Repository name set to: ${o}`)}),Gr=M({name:`prismic repo view`,description:`
|
|
203
203
|
View details of a Prismic repository.
|
|
204
204
|
|
|
205
205
|
By default, this command reads the repository from prismic.config.json at the
|
|
206
206
|
project root.
|
|
207
|
-
`,options:{web:{type:`boolean`,short:`w`,description:`Open repository in browser`},json:{type:`boolean`,description:`Output as JSON`},repo:{type:`string`,short:`r`,description:`Repository domain`}}},async({values:e})=>{let{repo:t=await S(),web:n,json:r}=e,i=await k(),a=await A(),o=`https://${t}.${a}/`;if(n){
|
|
207
|
+
`,options:{web:{type:`boolean`,short:`w`,description:`Open repository in browser`},json:{type:`boolean`,description:`Output as JSON`},repo:{type:`string`,short:`r`,description:`Repository domain`}}},async({values:e})=>{let{repo:t=await S(),web:n,json:r}=e,i=await k(),a=await A(),o=`https://${t}.${a}/`;if(n){In(new URL(o)),console.info(`Opening ${o}`);return}let s,c;try{[s,c]=await Promise.all([bt({token:i,host:a}),ar({repo:t,token:i,host:a})])}catch(e){throw e instanceof T?new P(`Failed to fetch repository details: ${await e.text()}`):e}let l=s.repositories.find(e=>e.domain===t);if(!l)throw new P(`Repository not found: ${t}`);if(r){console.info(O({domain:l.domain,name:l.name??null,url:o,apiAccess:c}));return}let u=l.name||`(no name)`;console.info(`Name: ${u}`),console.info(`URL: ${o}`),console.info(`Content API: ${c}`)}),Kr=N({name:`prismic repo`,description:`Manage Prismic repositories.`,commands:{create:{handler:pr,description:`Create a new repository`},list:{handler:Vr,description:`List repositories`},view:{handler:Gr,description:`View repository details`},"set-name":{handler:Wr,description:`Set repository display name`},"set-api-access":{handler:Ur,description:`Set Content API access level`}}}),qr=M({name:`prismic slice add-variation`,description:`Add a variation to a slice.`,positionals:{name:{description:`Name of the variation`,required:!0}},options:{to:{type:`string`,required:!0,description:`ID of the slice`},id:{type:`string`,description:`Custom ID for the variation`},screenshot:{type:`string`,short:`s`,description:`Screenshot image file path or URL`}}},async({positionals:t,values:n})=>{let[r]=t,{to:i,id:a=e(r),screenshot:o}=n,s=await p(),{model:c}=await s.getSlice(i);if(c.variations.some(e=>e.id===a))throw new P(`Variation "${a}" already exists in slice "${i}".`);let l=``;if(o){let e=await S(),t=await k(),n=await A(),r=await ge(/^https?:\/\//i.test(o)?new URL(o):Ge(o)),i;try{i=await Mn(r,{sliceId:c.id,variationId:a,repo:e,token:t,host:n})}catch(e){throw e instanceof Nn?new P(e.message):e}l=i.toString()}c.variations=[...c.variations,{id:a,name:r,description:r,docURL:``,imageUrl:l,version:``,primary:{}}],await s.updateSlice(c),await s.generateTypes(),console.info(`Added variation "${r}" (id: "${a}") to slice "${i}"`)}),Jr=M({name:`prismic slice connect`,description:`Connect a slice to a type's slice zone.`,sections:{EXAMPLES:`
|
|
208
208
|
Connect a slice to a type's default slice zone:
|
|
209
209
|
prismic slice connect hero --to blog_post
|
|
210
210
|
|
|
211
211
|
Connect to a named slice zone:
|
|
212
212
|
prismic slice connect hero --to blog_post --slice-zone page_slices
|
|
213
|
-
`},positionals:{id:{description:`ID of the slice`,required:!0}},options:{to:{type:`string`,required:!0,description:`ID of the content type`},"slice-zone":{type:`string`,description:`Slice zone field ID (default: "slices")`}}},async({positionals:e,values:t})=>{let[n]=e,{to:r,"slice-zone":i=`slices`}=t,a=await
|
|
213
|
+
`},positionals:{id:{description:`ID of the slice`,required:!0}},options:{to:{type:`string`,required:!0,description:`ID of the content type`},"slice-zone":{type:`string`,description:`Slice zone field ID (default: "slices")`}}},async({positionals:e,values:t})=>{let[n]=e,{to:r,"slice-zone":i=`slices`}=t,a=await p(),{model:o}=await a.getSlice(n),{model:s}=await a.getCustomType(r),c=Object.assign({},...Object.values(s.json))[i];if(!c||c.type!==`Slices`)throw new P(`Slice zone "${i}" not found in "${r}".`);if(c.config??={},c.config.choices??={},o.id in c.config.choices)throw new P(`Slice "${o.id}" is already connected to "${r}" in slice zone "${i}".`);c.config.choices[o.id]={type:`SharedSlice`},await a.updateCustomType(s),await a.generateTypes(),console.info(`Connected slice "${n}" to "${r}"`)}),Yr=M({name:`prismic slice create`,description:`Create a new slice.`,positionals:{name:{description:`Name of the slice`,required:!0}},options:{id:{type:`string`,description:`Custom ID for the slice`}}},async({positionals:e,values:t})=>{let[n]=e,{id:r=o(n)}=t,i={id:r,name:n,type:`SharedSlice`,variations:[{id:`default`,name:`Default`,description:`Default`,docURL:``,imageUrl:``,version:``,primary:{}}]},a=await p();await a.createSlice(i),await a.generateTypes(),console.info(`Created slice "${n}" (id: "${r}")`),console.info(`Run \`prismic field add <type> --to-slice ${r}\` to add fields.`),console.info(`Run \`prismic slice connect ${r} --to <type>\` to connect the slice to a type.`)}),Xr=M({name:`prismic slice disconnect`,description:`Disconnect a slice from a type's slice zone.`,positionals:{id:{description:`ID of the slice`,required:!0}},options:{from:{type:`string`,required:!0,description:`ID of the content type`},"slice-zone":{type:`string`,description:`Slice zone field ID (default: "slices")`}}},async({positionals:e,values:t})=>{let[n]=e,{from:r,"slice-zone":i=`slices`}=t,a=await p(),{model:o}=await a.getSlice(n),{model:s}=await a.getCustomType(r),c=Object.assign({},...Object.values(s.json))[i];if(!c||c.type!==`Slices`)throw new P(`Slice zone "${i}" not found in "${r}".`);if(!c.config?.choices||!(o.id in c.config.choices))throw new P(`Slice "${o.id}" is not connected to "${r}" in slice zone "${i}".`);delete c.config.choices[o.id],await a.updateCustomType(s),await a.generateTypes(),console.info(`Disconnected slice "${n}" from "${r}"`)}),Zr=M({name:`prismic slice edit`,description:`Edit a slice.`,positionals:{id:{description:`ID of the slice`,required:!0}},options:{name:{type:`string`,short:`n`,description:`New name for the slice`}}},async({positionals:e,values:t})=>{let[n]=e,r=await p(),{model:i}=await r.getSlice(n);`name`in t&&(i.name=t.name),await r.updateSlice(i),await r.generateTypes(),console.info(`Slice updated: "${i.name}" (id: ${i.id})`)}),Qr=M({name:`prismic slice edit-variation`,description:`Edit a variation of a slice.`,positionals:{id:{description:`ID of the variation`,required:!0}},options:{"from-slice":{type:`string`,required:!0,description:`ID of the slice`},name:{type:`string`,short:`n`,description:`New name for the variation`},screenshot:{type:`string`,short:`s`,description:`Screenshot image file path or URL`}}},async({positionals:e,values:t})=>{let[n]=e,{"from-slice":r,screenshot:i}=t,a=await p(),{model:o}=await a.getSlice(r),s=o.variations.find(e=>e.id===n);if(!s)throw new P(`Variation "${n}" not found in slice "${r}".`);if(`name`in t&&(s.name=t.name),i){let e=await S(),t=await k(),n=await A(),r=await ge(/^https?:\/\//i.test(i)?new URL(i):Ge(i)),a;try{a=await Mn(r,{sliceId:o.id,variationId:s.id,repo:e,token:t,host:n})}catch(e){throw e instanceof Nn?new P(e.message):e}s.imageUrl=a.toString()}await a.updateSlice(o),await a.generateTypes(),console.info(`Variation updated: "${n}" in slice "${r}"`)}),$r=M({name:`prismic slice list`,description:`List all slices.`,options:{json:{type:`boolean`,description:`Output as JSON`}}},async({values:e})=>{let{json:t}=e,n=await(await p()).getSlices();if(t){console.info(O(n.map(e=>e.model)));return}if(n.length===0){console.info(`No slices found.`);return}let r=n.map(({model:e})=>[e.name,e.id]);console.info(y(r,{headers:[`NAME`,`ID`]}))}),ei=M({name:`prismic slice remove`,description:`Remove a slice.`,positionals:{id:{description:`ID of the slice`,required:!0}}},async({positionals:e})=>{let[t]=e,n=await p(),{model:r}=await n.getSlice(t);await n.deleteSlice(r.id),await n.generateTypes(),console.info(`Slice removed: ${t}`)}),ti=M({name:`prismic slice remove-variation`,description:`Remove a variation from a slice.`,positionals:{id:{description:`ID of the variation`,required:!0}},options:{from:{type:`string`,required:!0,description:`ID of the slice`}}},async({positionals:e,values:t})=>{let[n]=e,{from:r}=t,i=await p(),{model:a}=await i.getSlice(r),o=a.variations.find(e=>e.id===n);if(!o)throw new P(`Variation "${n}" not found in slice "${r}".`);a.variations=a.variations.filter(e=>e.id!==o.id),await i.updateSlice(a),await i.generateTypes(),console.info(`Removed variation "${n}" from slice "${r}"`)}),ni=M({name:`prismic slice view`,description:`View details of a slice.`,positionals:{id:{description:`ID of the slice`,required:!0}},options:{json:{type:`boolean`,description:`Output as JSON`}}},async({positionals:e,values:t})=>{let[n]=e,{json:r}=t,{model:i}=await(await p()).getSlice(n);if(r){console.info(O(i));return}console.info(`ID: ${i.id}`),console.info(`Name: ${i.name}`);for(let e of i.variations??[]){console.info(``),console.info(`${e.id}:`);let t=Object.entries(e.primary??{});if(t.length===0)console.info(` (no fields)`);else{let e=t.map(([e,t])=>{let n=t.config,r=n?.label||``,i=n?.placeholder?`"${n.placeholder}"`:``;return[` ${e}`,t.type,r,i]});console.info(y(e))}}}),ri=N({name:`prismic slice`,description:`Manage slices.`,commands:{create:{handler:Yr,description:`Create a new slice`},edit:{handler:Zr,description:`Edit a slice`},remove:{handler:ei,description:`Remove a slice`},list:{handler:$r,description:`List slices`},view:{handler:ni,description:`View a slice`},connect:{handler:Jr,description:`Connect a slice to a type's slice zone`},disconnect:{handler:Xr,description:`Disconnect a slice from a type's slice zone`},"add-variation":{handler:qr,description:`Add a variation to a slice`},"edit-variation":{handler:Qr,description:`Edit a variation of a slice`},"remove-variation":{handler:ti,description:`Remove a variation from a slice`}}}),ii=M({name:`prismic status`,description:`
|
|
214
214
|
Show local vs remote model differences.
|
|
215
215
|
|
|
216
216
|
Reports what would be pushed to or pulled from Prismic, plus any local
|
|
217
217
|
model files with uncommitted git changes that would block pull and push.
|
|
218
|
-
`,options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{repo:n=await S(),env:r}=e,i=await k(),a=await A(),o=await
|
|
218
|
+
`,options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{repo:n=await S(),env:r}=e,i=await k(),a=await A(),o=await p(),s=await t(),[c,l,u,f,m]=await Promise.all([Fr(s),o.getCustomTypeLibraries(),o.getSliceLibraries(),o.getCustomTypes(),o.getSlices()]),h=n,g,_,v;if(i){r&&(h=await V(r,{repo:n,token:i,host:a}));let[e,t,o]=await Promise.all([bt({token:i,host:a}),xn({repo:h,token:i,host:a}),Tn({repo:h,token:i,host:a})]);g=e.email,_=Ln(f.map(e=>e.model),t,{getKey:e=>e.id,equals:(e,t)=>JSON.stringify(F(e))===JSON.stringify(F(t))}),v=Ln(m.map(e=>e.model),o,{getKey:e=>e.id,equals:(e,t)=>JSON.stringify(F(e))===JSON.stringify(F(t))})}let y=[];c&&(y=(await Ir(c)).filter(e=>e.pathname.endsWith(`/model.json`)&&u.some(t=>ye(t,e))||e.pathname.endsWith(`/index.json`)&&l.some(t=>ye(t,e))).map(e=>_e(s,e))),console.info(`Repository: ${n}`),r&&console.info(`Environment: ${r}`),g?console.info(`Authenticated as: ${g}`):console.info("Not logged in — log in with `prismic login` to compare with remote.");let b=_!==void 0&&v!==void 0&&_.insert.length===0&&_.update.length===0&&_.delete.length===0&&v.insert.length===0&&v.update.length===0&&v.delete.length===0;if(b&&y.length===0){console.info(``),console.info(`Already up to date.`);return}if(_&&v){let e=[],t=[..._.insert.map(e=>` ${e.id} (custom type)`),...v.insert.map(e=>` ${e.id} (slice)`)];t.length>0&&e.push([`Local-only:`,...t]);let n=[..._.delete.map(e=>` ${e.id} (custom type)`),...v.delete.map(e=>` ${e.id} (slice)`)];n.length>0&&e.push([`Remote-only:`,...n]);let r=[..._.update.map(e=>` ${e.id} (custom type)`),...v.update.map(e=>` ${e.id} (slice)`)];r.length>0&&e.push([`Differ:`,...r]);for(let t of e){console.info(``);for(let e of t)console.info(e)}}if(y.length>0&&(console.info(``),console.info(d`
|
|
219
219
|
Pull and push won't run while these model files have uncommitted git changes:
|
|
220
|
-
${
|
|
220
|
+
${y.join(`
|
|
221
221
|
`)}
|
|
222
222
|
|
|
223
223
|
To unblock, commit them:
|
|
224
|
-
git add ${
|
|
224
|
+
git add ${y.join(` `)}
|
|
225
225
|
git commit -m "Update Prismic models"
|
|
226
226
|
|
|
227
227
|
Or override with \`prismic push --force\` (keep local) or \`prismic pull --force\` (discard local).
|
|
228
|
-
`)),_&&v&&!
|
|
228
|
+
`)),_&&v&&!b){let e=_.insert.length+v.insert.length,t=_.update.length+v.update.length,n=_.delete.length+v.delete.length;console.info(``),console.info(`Next:`),console.info(` prismic push — would create ${e}, update ${t}, delete ${n}`),console.info(` prismic pull — would create ${n}, update ${t}, delete ${e}`)}});let ai,oi;async function si(e){if(Fe.TEST)return;let{host:t}=e;if(!await fi())return;let n=t===je?`cGjidifKefYb6EPaGaqpt8rQXkv5TD6P`:`Ng5oKJHCGpSWplZ9ymB7Pu7rm0sTDeiG`;oi=await fr(),await Re({writeKey:n})}function ci(e){ai=e}function li(e){Ie({userId:e.shortId,intercomHash:e.intercomHash})}function ui(e,t={}){let{watch:n}=t;Le(`Prismic CLI Start`,{properties:{commandType:e,fullCommand:process.argv.join(` `),repository:ai,watch:n,agent:oi},groupId:ai?{Repository:ai}:void 0})}function H(e,t={}){let{watch:n,success:r=!process.exitCode,error:i}=t,a=i?i instanceof Error?i.message:String(i):void 0;Le(`Prismic CLI End`,{properties:{commandType:e,fullCommand:process.argv.join(` `),success:r,repository:ai,watch:n,error:a?.slice(0,512),agent:oi},groupId:ai?{Repository:ai}:void 0})}const di=w({telemetry:Ee()});async function fi(){try{return!((await Ce(new URL(`.prismicrc`,xe(Ge(nt()))),{schema:di}).catch(()=>({telemetry:!0}))).telemetry===!1||(await Ce(new URL(`.prismicrc`,xe(Ge(process.cwd()))),{schema:di}).catch(()=>({telemetry:!0}))).telemetry===!1)}catch{return!0}}const pi=Fe.TEST?500:5e3;var mi=M({name:`prismic sync`,description:`
|
|
229
229
|
Watch Prismic and continuously pull changes to local files.
|
|
230
230
|
|
|
231
231
|
For one-time pulls, use \`prismic pull\`.
|
|
232
|
-
`,options:{watch:{type:`boolean`,short:`w`,description:`Watch for changes and sync continuously`,required:!0},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:
|
|
233
|
-
Watch stopped. Goodbye!`),
|
|
232
|
+
`,options:{watch:{type:`boolean`,short:`w`,description:`Watch for changes and sync continuously`,required:!0},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{repo:t=await S(),env:n}=e,r=await k(),i=await A(),a=await p(),o=n?await V(n,{repo:t,token:r,host:i}):t;ui(`sync`,{watch:!0}),process.on(`SIGINT`,()=>{console.info(`
|
|
233
|
+
Watch stopped. Goodbye!`),H(`sync`,{watch:!0}),process.exit(0)}),console.info(`Watching repository: ${t}${n?` (env: ${n})`:``} (polling every ${pi/1e3}s, Ctrl+C to stop)`);let s=``,c=0;for(;;){try{let[e,n]=await Promise.all([xn({repo:o,token:r,host:i}),Tn({repo:o,token:r,host:i})]),l=hi({remoteCustomTypes:e,remoteSlices:n});if(l!==s){let o=s===``,[c,u]=await Promise.all([a.getCustomTypes(),a.getSlices()]),d=c.map(e=>e.model),f=u.map(e=>e.model),p=[],m=Ln(n,f,{getKey:e=>e.id});if(m.insert.length+m.update.length+m.delete.length>0){for(let e of m.update)await a.updateSlice(e);for(let e of m.delete)await a.deleteSlice(e.id);for(let e of m.insert)await a.createSlice(e);p.push(`slices`)}let h=Ln(e,d,{getKey:e=>e.id});if(h.insert.length+h.update.length+h.delete.length>0){for(let e of h.update)await a.updateCustomType(e);for(let e of h.delete)await a.deleteCustomType(e.id);for(let e of h.insert)await a.createCustomType(e);p.push(`custom types`)}if(await a.generateTypes(),s=l,o)await v({repo:t,token:r,host:i,stepIds:[`connectPrismic`]}),console.info(`Initial sync complete.`);else{let e=new Date().toLocaleTimeString();console.info(`[${e}] Changes detected in ${p.join(` and `)}`)}}c=0}catch(e){c++;let t=e instanceof Error?e.message:`Unknown error`;if(console.error(`Error checking for changes: ${t}`),c>=5)throw Error(`Too many consecutive errors (5), stopping watch.`)}await rt(pi)}});function hi(e){return Ke(`sha256`).update(JSON.stringify(e)).digest(`hex`)}const gi=`Prismic CLI`;var _i=M({name:`prismic token create`,description:`
|
|
234
234
|
Create a new API token for a Prismic repository.
|
|
235
235
|
|
|
236
236
|
By default, this command reads the repository from prismic.config.json at the
|
|
237
237
|
project root.
|
|
238
|
-
`,options:{write:{type:`boolean`,description:`Create a write token`},"allow-releases":{type:`boolean`,description:`Allow access to releases (read tokens only)`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{repo:t=await S(),env:n,write:r,"allow-releases":i}=e;if(r&&i)throw new P(`--allow-releases is only valid for access tokens (not with --write)`);let a=await k(),o=await A(),s=n?await
|
|
238
|
+
`,options:{write:{type:`boolean`,description:`Create a write token`},"allow-releases":{type:`boolean`,description:`Allow access to releases (read tokens only)`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{repo:t=await S(),env:n,write:r,"allow-releases":i}=e;if(r&&i)throw new P(`--allow-releases is only valid for access tokens (not with --write)`);let a=await k(),o=await A(),s=n?await V(n,{repo:t,token:a,host:o}):t,c;try{if(r)c=(await er(gi,{repo:s,token:a,host:o})).token;else{let e=i?`master+releases`:`master`,t=(await Yn({repo:s,token:a,host:o})).find(e=>e.name===gi);t||=await Xn(gi,{repo:s,token:a,host:o}),c=(await Zn(t.id,e,{repo:s,token:a,host:o})).token}}catch(e){throw e instanceof T?new P(`Failed to create token: ${await e.text()}`):e}console.info(`Token created: ${c}`);let l=r?`PRISMIC_WRITE_TOKEN`:`PRISMIC_ACCESS_TOKEN`;console.info(`Add it to your .env file: ${l}=${c}`)}),vi=M({name:`prismic token delete`,description:`
|
|
239
239
|
Delete a token from a Prismic repository.
|
|
240
240
|
|
|
241
241
|
By default, this command reads the repository from prismic.config.json at the
|
|
242
242
|
project root.
|
|
243
|
-
`,positionals:{token:{description:`Token value`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await
|
|
243
|
+
`,positionals:{token:{description:`Token value`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await V(i,{repo:r,token:a,host:o}):r,c,l;try{[c,l]=await Promise.all([Yn({repo:s,token:a,host:o}),$n({repo:s,token:a,host:o})])}catch(e){throw e instanceof T?new P(`Failed to delete token: ${await e.text()}`):e}let u=c.flatMap(e=>e.wroom_auths).find(e=>e.token===n);if(u){try{await Qn(u.id,{repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to delete token: ${await e.text()}`):e}console.info(`Token deleted`);return}let d=l.tokens.find(e=>e.token===n);if(d){try{await tr(d.token,{repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to delete token: ${await e.text()}`):e}console.info(`Token deleted`);return}throw new P(`Token not found: ${n}`)}),yi=N({name:`prismic token`,description:`Manage API tokens for a Prismic repository.`,commands:{list:{handler:M({name:`prismic token list`,description:`
|
|
244
244
|
List all API tokens for a Prismic repository.
|
|
245
245
|
|
|
246
246
|
By default, this command reads the repository from prismic.config.json at the
|
|
247
247
|
project root.
|
|
248
|
-
`,options:{json:{type:`boolean`,description:`Output as JSON`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{repo:t=await S(),env:n,json:r}=e,i=await k(),a=await A(),o=n?await
|
|
248
|
+
`,options:{json:{type:`boolean`,description:`Output as JSON`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{repo:t=await S(),env:n,json:r}=e,i=await k(),a=await A(),o=n?await V(n,{repo:t,token:i,host:a}):t,s,c;try{[s,c]=await Promise.all([Yn({repo:o,token:i,host:a}),$n({repo:o,token:i,host:a})])}catch(e){throw e instanceof T?new P(`Failed to list tokens: ${await e.text()}`):e}let l=s.flatMap(e=>e.wroom_auths.map(t=>({name:e.name,scope:t.scope,token:t.token,createdAt:new Date(t.created_at.$date).toISOString().split(`T`)[0]}))),u=c.tokens;if(r){console.info(O({accessTokens:l,writeTokens:u}));return}if(l.length>0){console.info(`ACCESS TOKENS`);let e=l.map(e=>[` ${e.name}`,e.scope,e.token,e.createdAt]);console.info(y(e))}else console.info(`ACCESS TOKENS (none)`);if(console.info(``),u.length>0){console.info(`WRITE TOKENS`);let e=u.map(e=>{let t=new Date(e.timestamp*1e3).toISOString().split(`T`)[0];return[` ${e.app_name}`,e.token,t]});console.info(y(e))}else console.info(`WRITE TOKENS (none)`)}),description:`List all tokens`},create:{handler:_i,description:`Create a new token`},delete:{handler:vi,description:`Delete a token`}}}),bi=M({name:`prismic type add-tab`,description:`Add a tab to a content type.`,positionals:{name:{description:`Name of the tab`,required:!0}},options:{to:{type:`string`,required:!0,description:`ID of the content type`},"with-slice-zone":{type:`boolean`,description:`Add a slice zone to the tab`}}},async({positionals:e,values:t})=>{let[n]=e,{to:r,"with-slice-zone":i}=t,a=await p(),{model:o}=await a.getCustomType(r);if(n in o.json)throw new P(`Tab "${n}" already exists in "${r}".`);o.json[n]=i?{slices:{type:`Slices`,fieldset:`Slice Zone`,config:{choices:{}}}}:{},await a.updateCustomType(o),await a.generateTypes(),console.info(`Added tab "${n}" to "${r}"`)}),xi=M({name:`prismic type create`,description:`Create a new content type.`,positionals:{name:{description:`Name of the content type`,required:!0}},options:{format:{type:`string`,short:`f`,description:`Type format: "custom" (default) or "page"`},single:{type:`boolean`,short:`s`,description:`Allow only one document of this type`},id:{type:`string`,description:`Custom ID for the content type`}},sections:{FORMATS:`
|
|
249
249
|
custom A non-page type (e.g. settings, navigation, author, blog
|
|
250
250
|
category). This is the default.
|
|
251
251
|
page A page type with a URL (e.g. homepage, blog post, landing
|
|
@@ -260,7 +260,7 @@ Watch stopped. Goodbye!`),U(`sync`,{watch:!0}),process.exit(0)}),console.info(`W
|
|
|
260
260
|
|
|
261
261
|
Create with a custom ID:
|
|
262
262
|
prismic type create "Landing Page" --format page --id landing
|
|
263
|
-
`}},async({positionals:e,values:t})=>{let[n]=e,{format:r=`custom`,single:i=!1,id:a=
|
|
263
|
+
`}},async({positionals:e,values:t})=>{let[n]=e,{format:r=`custom`,single:i=!1,id:a=o(n)}=t;if(r!==`custom`&&r!==`page`)throw new P(`Invalid format: "${r}". Use "custom" or "page".`);let s=r===`page`?{Main:{slices:{type:`Slices`,fieldset:`Slice Zone`,config:{choices:{}}}},"SEO & Metadata":{meta_title:{type:`Text`,config:{label:`Meta Title`,placeholder:`A title of the page used for social media and search engines`}},meta_description:{type:`Text`,config:{label:`Meta Description`,placeholder:`A brief summary of the page`}},meta_image:{type:`Image`,config:{label:`Meta Image`,constraint:{width:2400,height:1260},thumbnails:[]}}}}:{Main:{}};i||(s.Main={uid:{type:`UID`,config:{label:`UID`}},...s.Main});let c={id:a,label:n,repeatable:!i,status:!0,format:r,json:s},l=await p();await l.createCustomType(c),await l.generateTypes(),console.info(`Created type "${n}" (id: "${a}", format: "${r}")`),console.info(`Run \`prismic field add <type> --to-type ${a}\` to add fields.`),console.info(`Run \`prismic type view ${a}\` to view the type.`)}),Si=M({name:`prismic type edit`,description:`Edit a content type.`,positionals:{id:{description:`ID of the content type`,required:!0}},options:{name:{type:`string`,short:`n`,description:`New name for the type`},format:{type:`string`,short:`f`,description:`Type format: "custom" or "page"`}}},async({positionals:e,values:t})=>{let[n]=e;if(`format`in t&&t.format!==`custom`&&t.format!==`page`)throw new P(`Invalid format: "${t.format}". Use "custom" or "page".`);let r=await p(),{model:i}=await r.getCustomType(n);`name`in t&&(i.label=t.name),`format`in t&&(i.format=t.format),await r.updateCustomType(i),await r.generateTypes(),console.info(`Type updated: "${i.label}" (id: ${i.id})`)}),Ci=M({name:`prismic type edit-tab`,description:`Edit a tab of a content type.`,positionals:{name:{description:`Current name of the tab`,required:!0}},options:{"from-type":{type:`string`,required:!0,description:`ID of the content type`},name:{type:`string`,short:`n`,description:`New name for the tab`},"with-slice-zone":{type:`boolean`,description:`Add a slice zone to the tab`},"without-slice-zone":{type:`boolean`,description:`Remove the slice zone from the tab`}}},async({positionals:e,values:t})=>{let[n]=e,{"from-type":r}=t,i=await p(),{model:a}=await i.getCustomType(r);if(!(n in a.json))throw new P(`Tab "${n}" not found in "${r}".`);if(`with-slice-zone`in t&&`without-slice-zone`in t)throw new P(`Cannot use --with-slice-zone and --without-slice-zone together.`);if(`with-slice-zone`in t){let e=a.json[n];if(Object.values(e).some(e=>e.type===`Slices`))throw new P(`Tab "${n}" already has a slice zone.`);e.slices={type:`Slices`,fieldset:`Slice Zone`,config:{choices:{}}}}if(`without-slice-zone`in t){let e=a.json[n],t=Object.entries(e).find(([,e])=>e.type===`Slices`);if(!t)throw new P(`Tab "${n}" does not have a slice zone.`);let[r,i]=t,o=i.type===`Slices`?i.config?.choices??{}:{};if(Object.keys(o).length>0)throw new P(`Cannot remove slice zone from "${n}": disconnect all slices first.`);delete e[r]}if(`name`in t){if(t.name in a.json)throw new P(`Tab "${t.name}" already exists in "${r}".`);let e={};for(let[r,i]of Object.entries(a.json))e[r===n?t.name:r]=i;a.json=e}await i.updateCustomType(a),await i.generateTypes(),console.info(`Tab updated: "${n}" in "${r}"`)}),wi=M({name:`prismic type list`,description:`List all content types.`,options:{json:{type:`boolean`,description:`Output as JSON`}}},async({values:e})=>{let{json:t}=e,n=await(await p()).getCustomTypes();if(t){console.info(O(n.map(e=>e.model)));return}if(n.length===0){console.info(`No types found.`);return}let r=n.map(({model:e})=>[e.label||`(no name)`,e.id,e.format??``]);console.info(y(r,{headers:[`NAME`,`ID`,`FORMAT`]}))}),Ti=M({name:`prismic type remove`,description:`Remove a content type.`,positionals:{id:{description:`ID of the content type`,required:!0}}},async({positionals:e})=>{let[t]=e,n=await p(),{model:r}=await n.getCustomType(t);await n.deleteCustomType(r.id),await n.generateTypes(),console.info(`Type removed: ${t}`)}),Ei=M({name:`prismic type remove-tab`,description:`Remove a tab from a content type.`,positionals:{name:{description:`Name of the tab`,required:!0}},options:{from:{type:`string`,required:!0,description:`ID of the content type`}}},async({positionals:e,values:t})=>{let[n]=e,{from:r}=t,i=await p(),{model:a}=await i.getCustomType(r);if(!(n in a.json))throw new P(`Tab "${n}" not found in "${r}".`);if(Object.keys(a.json).length<=1)throw new P(`Cannot remove the last tab from "${r}".`);delete a.json[n],await i.updateCustomType(a),await i.generateTypes(),console.info(`Removed tab "${n}" from "${r}"`)}),Di=M({name:`prismic type view`,description:`View details of a content type.`,positionals:{id:{description:`ID of the content type`,required:!0}},options:{json:{type:`boolean`,description:`Output as JSON`}}},async({positionals:e,values:t})=>{let[n]=e,{json:r}=t,{model:i}=await(await p()).getCustomType(n);if(r){console.info(O(i));return}console.info(`ID: ${i.id}`),console.info(`Name: ${i.label||`(no name)`}`),console.info(`Format: ${i.format}`),console.info(`Repeatable: ${i.repeatable}`);for(let[e,t]of Object.entries(i.json)){console.info(``),console.info(`${e}:`);let n=Object.entries(t);if(n.length===0)console.info(` (no fields)`);else{let e=n.map(([e,t])=>{let n=t.config,r=n?.label||``,i=n?.placeholder?`"${n.placeholder}"`:``;return[` ${e}`,t.type,r,i]});console.info(y(e))}}}),Oi=N({name:`prismic type`,description:`Manage content types.`,commands:{create:{handler:xi,description:`Create a new content type`},edit:{handler:Si,description:`Edit a content type`},remove:{handler:Ti,description:`Remove a content type`},list:{handler:wi,description:`List content types`},view:{handler:Di,description:`View a content type`},"add-tab":{handler:bi,description:`Add a tab to a content type`},"edit-tab":{handler:Ci,description:`Edit a tab of a content type`},"remove-tab":{handler:Ei,description:`Remove a tab from a content type`}}}),ki=M({name:`prismic webhook create`,description:`
|
|
264
264
|
Create a new webhook in a Prismic repository.
|
|
265
265
|
|
|
266
266
|
By default, this command reads the repository from prismic.config.json at the
|
|
@@ -283,27 +283,27 @@ Watch stopped. Goodbye!`),U(`sync`,{watch:!0}),process.exit(0)}),console.info(`W
|
|
|
283
283
|
|
|
284
284
|
Create a named webhook with a secret:
|
|
285
285
|
prismic webhook create https://example.com/webhook --name "Deploy" --secret my-secret
|
|
286
|
-
`}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i,name:a,secret:o,trigger:s=[]}=t;for(let e of s)if(!
|
|
286
|
+
`}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i,name:a,secret:o,trigger:s=[]}=t;for(let e of s)if(!zn.includes(e))throw new P(`Invalid trigger: ${e}\nValid triggers: ${zn.join(`, `)}`);let c=await k(),l=await A(),u=i?await V(i,{repo:r,token:c,host:l}):r,d=!(s.length>0);try{await Hn({url:n,name:a??null,secret:o??null,documentsPublished:s.includes(`documentsPublished`)||d,documentsUnpublished:s.includes(`documentsUnpublished`)||d,releasesCreated:s.includes(`releasesCreated`)||d,releasesUpdated:s.includes(`releasesUpdated`)||d,tagsCreated:s.includes(`tagsCreated`)||d,tagsDeleted:s.includes(`tagsDeleted`)||d},{repo:u,token:c,host:l})}catch(e){throw e instanceof T?new P(`Failed to create webhook: ${await e.text()}`):e}console.info(`Webhook created: ${n}`),console.info(`Run \`prismic webhook set-triggers ${n}\` to configure triggers.`)}),Ai=M({name:`prismic webhook disable`,description:`
|
|
287
287
|
Disable a webhook in a Prismic repository.
|
|
288
288
|
|
|
289
289
|
By default, this command reads the repository from prismic.config.json at the
|
|
290
290
|
project root.
|
|
291
|
-
`,positionals:{url:{description:`Webhook URL`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await
|
|
291
|
+
`,positionals:{url:{description:`Webhook URL`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await V(i,{repo:r,token:a,host:o}):r,c;try{c=await Vn({repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to disable webhook: ${await e.text()}`):e}let l=c.find(e=>e.config.url===n);if(!l)throw new P(`Webhook not found: ${n}`);if(!l.config.active){console.info(`Webhook already disabled: ${n}`);return}let u=l.config._id,d=structuredClone(l.config);d.active=!1;try{await Un(u,d,{repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to disable webhook: ${await e.text()}`):e}console.info(`Webhook disabled: ${n}`)}),ji=M({name:`prismic webhook enable`,description:`
|
|
292
292
|
Enable a webhook in a Prismic repository.
|
|
293
293
|
|
|
294
294
|
By default, this command reads the repository from prismic.config.json at the
|
|
295
295
|
project root.
|
|
296
|
-
`,positionals:{url:{description:`Webhook URL`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await
|
|
296
|
+
`,positionals:{url:{description:`Webhook URL`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await V(i,{repo:r,token:a,host:o}):r,c;try{c=await Vn({repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to enable webhook: ${await e.text()}`):e}let l=c.find(e=>e.config.url===n);if(!l)throw new P(`Webhook not found: ${n}`);if(l.config.active){console.info(`Webhook already enabled: ${n}`);return}let u=l.config._id,d=structuredClone(l.config);d.active=!0;try{await Un(u,d,{repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to enable webhook: ${await e.text()}`):e}console.info(`Webhook enabled: ${n}`)}),Mi=M({name:`prismic webhook list`,description:`
|
|
297
297
|
List all webhooks in a Prismic repository.
|
|
298
298
|
|
|
299
299
|
By default, this command reads the repository from prismic.config.json at the
|
|
300
300
|
project root.
|
|
301
|
-
`,options:{json:{type:`boolean`,description:`Output as JSON`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{repo:t=await S(),env:n,json:r}=e,i=await k(),a=await A(),o=n?await
|
|
301
|
+
`,options:{json:{type:`boolean`,description:`Output as JSON`},repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({values:e})=>{let{repo:t=await S(),env:n,json:r}=e,i=await k(),a=await A(),o=n?await V(n,{repo:t,token:i,host:a}):t,s;try{s=await Vn({repo:o,token:i,host:a})}catch(e){throw e instanceof T?new P(`Failed to list webhooks: ${await e.text()}`):e}if(r){console.info(O(s.map(e=>e.config)));return}if(s.length===0){console.info(`No webhooks configured.`);return}let c=s.map(e=>{let t=e.config.active?`enabled`:`disabled`,n=e.config.name?` (${e.config.name})`:``;return[`${e.config.url}${n}`,`[${t}]`]});console.info(y(c,{headers:[`URL`,`STATUS`]}))}),Ni=M({name:`prismic webhook remove`,description:`
|
|
302
302
|
Delete a webhook from a Prismic repository.
|
|
303
303
|
|
|
304
304
|
By default, this command reads the repository from prismic.config.json at the
|
|
305
305
|
project root.
|
|
306
|
-
`,positionals:{url:{description:`Webhook URL`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await
|
|
306
|
+
`,positionals:{url:{description:`Webhook URL`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await V(i,{repo:r,token:a,host:o}):r,c;try{c=await Vn({repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to remove webhook: ${await e.text()}`):e}let l=c.find(e=>e.config.url===n);if(!l)throw new P(`Webhook not found: ${n}`);let u=l.config._id;try{await Wn(u,{repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to remove webhook: ${await e.text()}`):e}console.info(`Webhook removed: ${n}`)}),Pi=M({name:`prismic webhook set-triggers`,description:`
|
|
307
307
|
Update which events trigger a webhook.
|
|
308
308
|
|
|
309
309
|
By default, this command reads the repository from prismic.config.json at the
|
|
@@ -315,29 +315,29 @@ Watch stopped. Goodbye!`),U(`sync`,{watch:!0}),process.exit(0)}),console.info(`W
|
|
|
315
315
|
releasesUpdated When a release is edited or deleted
|
|
316
316
|
tagsCreated When a tag is created
|
|
317
317
|
tagsDeleted When a tag is deleted
|
|
318
|
-
`}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i,trigger:a=[]}=t;for(let e of a)if(!
|
|
318
|
+
`}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i,trigger:a=[]}=t;for(let e of a)if(!zn.includes(e))throw new P(`Invalid trigger: ${e}\nValid triggers: ${zn.join(`, `)}`);let o=await k(),s=await A(),c=i?await V(i,{repo:r,token:o,host:s}):r,l;try{l=await Vn({repo:c,token:o,host:s})}catch(e){throw e instanceof T?new P(`Failed to update webhook triggers: ${await e.text()}`):e}let u=l.find(e=>e.config.url===n);if(!u)throw new P(`Webhook not found: ${n}`);let d=u.config._id;try{await Un(d,{...u.config,documentsPublished:a.includes(`documentsPublished`),documentsUnpublished:a.includes(`documentsUnpublished`),releasesCreated:a.includes(`releasesCreated`),releasesUpdated:a.includes(`releasesUpdated`),tagsCreated:a.includes(`tagsCreated`),tagsDeleted:a.includes(`tagsDeleted`)},{repo:c,token:o,host:s})}catch(e){throw e instanceof T?new P(`Failed to update webhook triggers: ${await e.text()}`):e}console.info(`Webhook triggers updated: ${a.join(`, `)}`)}),Fi=M({name:`prismic webhook view`,description:`
|
|
319
319
|
View details of a webhook in a Prismic repository.
|
|
320
320
|
|
|
321
321
|
By default, this command reads the repository from prismic.config.json at the
|
|
322
322
|
project root.
|
|
323
|
-
`,positionals:{url:{description:`Webhook URL`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await
|
|
324
|
-
`);for(let e=n;e<a.length;e++){let n=a[e];n.length>1024&&(n=n.slice(0,1024));let o=Qi.test(n)?n.replace(Qi,`$1`):n;if(!o.match(/\S*Error: /)){for(let e of t){let t=e(o);if(t){i.push(t);break}}if(i.length>=50+r)break}}return na(i.slice(r))}}function ta(e){return Array.isArray(e)?ea(...e):e}function na(e){if(!e.length)return[];let t=Array.from(e);return/sentryWrapped/.test(ra(t).function||``)&&t.pop(),t.reverse(),$i.test(ra(t).function||``)&&(t.pop(),$i.test(ra(t).function||``)&&t.pop()),t.slice(0,50).map(e=>({...e,filename:e.filename||ra(t).filename,function:e.function||`?`}))}function ra(e){return e[e.length-1]||{}}const ia=`<anonymous>`;function aa(e){try{return!e||typeof e!=`function`?ia:e.name||ia}catch{return ia}}function oa(e){return`__v_isVNode`in e&&e.__v_isVNode?`[VueVNode]`:`[VueViewModel]`}function sa(e){let t=e?.startsWith(`file://`)?e.slice(7):e;return t?.match(/\/[A-Z]:/)&&(t=t.slice(1)),t}const ca={},la={};function ua(e,t){ca[e]=ca[e]||[],ca[e].push(t)}function da(e,t){if(!la[e]){la[e]=!0;try{t()}catch(t){W&&K.error(`Error while instrumenting ${e}`,t)}}}function fa(e,t){let n=e&&ca[e];if(n)for(let r of n)try{r(t)}catch(t){W&&K.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${aa(r)}\nError:`,t)}}let pa=null;function ma(e){let t=`error`;ua(t,e),da(t,ha)}function ha(){pa=G.onerror,G.onerror=function(e,t,n,r,i){return fa(`error`,{column:r,error:i,line:n,msg:e,url:t}),pa?pa.apply(this,arguments):!1},G.onerror.__SENTRY_INSTRUMENTED__=!0}let ga=null;function _a(e){let t=`unhandledrejection`;ua(t,e),da(t,va)}function va(){ga=G.onunhandledrejection,G.onunhandledrejection=function(e){return fa(`unhandledrejection`,e),ga?ga.apply(this,arguments):!0},G.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}const ya=Object.prototype.toString;function ba(e){switch(ya.call(e)){case`[object Error]`:case`[object Exception]`:case`[object DOMException]`:case`[object WebAssembly.Exception]`:return!0;default:return Ma(e,Error)}}function xa(e,t){return ya.call(e)===`[object ${t}]`}function Sa(e){return xa(e,`ErrorEvent`)}function Ca(e){return xa(e,`String`)}function wa(e){return typeof e==`object`&&!!e&&`__sentry_template_string__`in e&&`__sentry_template_values__`in e}function Ta(e){return e===null||wa(e)||typeof e!=`object`&&typeof e!=`function`}function Ea(e){return xa(e,`Object`)}function Da(e){return typeof Event<`u`&&Ma(e,Event)}function Oa(e){return typeof Element<`u`&&Ma(e,Element)}function ka(e){return xa(e,`RegExp`)}function Aa(e){return!!(e?.then&&typeof e.then==`function`)}function ja(e){return Ea(e)&&`nativeEvent`in e&&`preventDefault`in e&&`stopPropagation`in e}function Ma(e,t){try{return e instanceof t}catch{return!1}}function Na(e){return!!(typeof e==`object`&&e&&(e.__isVue||e._isVue||e.__v_isVNode))}const Pa=G;function Fa(e,t={}){if(!e)return`<unknown>`;try{let n=e,r=[],i=0,a=0,o,s=Array.isArray(t)?t:t.keyAttrs,c=!Array.isArray(t)&&t.maxStringLength||80;for(;n&&i++<5&&(o=Ia(n,s),!(o===`html`||i>1&&a+r.length*3+o.length>=c));)r.push(o),a+=o.length,n=n.parentNode;return r.reverse().join(` > `)}catch{return`<unknown>`}}function Ia(e,t){let n=e,r=[];if(!n?.tagName)return``;if(Pa.HTMLElement&&n instanceof HTMLElement&&n.dataset){if(n.dataset.sentryComponent)return n.dataset.sentryComponent;if(n.dataset.sentryElement)return n.dataset.sentryElement}r.push(n.tagName.toLowerCase());let i=t?.length?t.filter(e=>n.getAttribute(e)).map(e=>[e,n.getAttribute(e)]):null;if(i?.length)i.forEach(e=>{r.push(`[${e[0]}="${e[1]}"]`)});else{n.id&&r.push(`#${n.id}`);let e=n.className;if(e&&Ca(e)){let t=e.split(/\s+/);for(let e of t)r.push(`.${e}`)}}for(let e of[`aria-label`,`type`,`name`,`title`,`alt`]){let t=n.getAttribute(e);t&&r.push(`[${e}="${t}"]`)}return r.join(``)}function La(e,t,n){if(!(t in e))return;let r=e[t];if(typeof r!=`function`)return;let i=n(r);typeof i==`function`&&za(i,r);try{e[t]=i}catch{W&&K.log(`Failed to replace method "${t}" in object`,e)}}function Ra(e,t,n){try{Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0})}catch{W&&K.log(`Failed to add non-enumerable property "${t}" to object`,e)}}function za(e,t){try{e.prototype=t.prototype=t.prototype||{},Ra(e,`__sentry_original__`,t)}catch{}}function Ba(e){return e.__sentry_original__}function Va(e){if(ba(e))return{message:e.message,name:e.name,stack:e.stack,...Ua(e)};if(Da(e)){let t={type:e.type,target:Ha(e.target),currentTarget:Ha(e.currentTarget),...Ua(e)};return typeof CustomEvent<`u`&&Ma(e,CustomEvent)&&(t.detail=e.detail),t}else return e}function Ha(e){try{return Oa(e)?Fa(e):Object.prototype.toString.call(e)}catch{return`<unknown>`}}function Ua(e){if(typeof e==`object`&&e){let t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}else return{}}function Wa(e){let t=Object.keys(Va(e));return t.sort(),t[0]?t.join(`, `):`[object has no keys]`}let Ga;function Ka(e){if(Ga!==void 0)return Ga?Ga(e):e();let t=Symbol.for(`__SENTRY_SAFE_RANDOM_ID_WRAPPER__`),n=G;return t in n&&typeof n[t]==`function`?(Ga=n[t],Ga(e)):(Ga=null,e())}function qa(){return Ka(()=>Math.random())}function Ja(){return Ka(()=>Date.now())}function Ya(e,t=0){return typeof e!=`string`||t===0||e.length<=t?e:`${e.slice(0,t)}...`}function Xa(e,t){let n=e,r=n.length;if(r<=150)return n;t>r&&(t=r);let i=Math.max(t-60,0);i<5&&(i=0);let a=Math.min(i+140,r);return a>r-5&&(a=r),a===r&&(i=Math.max(a-140,0)),n=n.slice(i,a),i>0&&(n=`'{snip} ${n}`),a<r&&(n+=` {snip}`),n}function Za(e,t){if(!Array.isArray(e))return``;let n=[];for(let t=0;t<e.length;t++){let r=e[t];try{Na(r)?n.push(oa(r)):n.push(String(r))}catch{n.push(`[value cannot be serialized]`)}}return n.join(t)}function Qa(e,t,n=!1){return Ca(e)?ka(t)?t.test(e):Ca(t)?n?e===t:e.includes(t):!1:!1}function $a(e,t=[],n=!1){return t.some(t=>Qa(e,t,n))}function eo(){let e=G;return e.crypto||e.msCrypto}let to;function no(){return qa()*16}function q(e=eo()){try{if(e?.randomUUID)return Ka(()=>e.randomUUID()).replace(/-/g,``)}catch{}return to||=`10000000100040008000100000000000`,to.replace(/[018]/g,e=>(e^(no()&15)>>e/4).toString(16))}function ro(e){return e.exception?.values?.[0]}function io(e){let{message:t,event_id:n}=e;if(t)return t;let r=ro(e);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||n||`<unknown>`:n||`<unknown>`}function ao(e,t,n){let r=e.exception=e.exception||{},i=r.values=r.values||[],a=i[0]=i[0]||{};a.value||=t||``,a.type||=n||`Error`}function oo(e,t){let n=ro(e);if(!n)return;let r={type:`generic`,handled:!0},i=n.mechanism;if(n.mechanism={...r,...i,...t},t&&`data`in t){let e={...i?.data,...t.data};n.mechanism.data=e}}const so=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;function co(e){return parseInt(e||``,10)}function lo(e){let t=e.match(so)||[],n=co(t[1]),r=co(t[2]),i=co(t[3]);return{buildmetadata:t[5],major:isNaN(n)?void 0:n,minor:isNaN(r)?void 0:r,patch:isNaN(i)?void 0:i,prerelease:t[4]}}function uo(e){if(fo(e))return!0;try{Ra(e,`__sentry_captured__`,!0)}catch{}return!1}function fo(e){try{return e.__sentry_captured__}catch{}}const po=1e3;function mo(){return Ja()/po}function ho(){let{performance:e}=G;if(!e?.now||!e.timeOrigin)return mo;let t=e.timeOrigin;return()=>(t+Ka(()=>e.now()))/po}let go;function _o(){return(go??=ho())()}function vo(e){let t=_o(),n={sid:q(),init:!0,timestamp:t,started:t,duration:0,status:`ok`,errors:0,ignoreDuration:!1,toJSON:()=>xo(n)};return e&&yo(n,e),n}function yo(e,t={}){if(t.user&&(!e.ipAddress&&t.user.ip_address&&(e.ipAddress=t.user.ip_address),!e.did&&!t.did&&(e.did=t.user.id||t.user.email||t.user.username)),e.timestamp=t.timestamp||_o(),t.abnormal_mechanism&&(e.abnormal_mechanism=t.abnormal_mechanism),t.ignoreDuration&&(e.ignoreDuration=t.ignoreDuration),t.sid&&(e.sid=t.sid.length===32?t.sid:q()),t.init!==void 0&&(e.init=t.init),!e.did&&t.did&&(e.did=`${t.did}`),typeof t.started==`number`&&(e.started=t.started),e.ignoreDuration)e.duration=void 0;else if(typeof t.duration==`number`)e.duration=t.duration;else{let t=e.timestamp-e.started;e.duration=t>=0?t:0}t.release&&(e.release=t.release),t.environment&&(e.environment=t.environment),!e.ipAddress&&t.ipAddress&&(e.ipAddress=t.ipAddress),!e.userAgent&&t.userAgent&&(e.userAgent=t.userAgent),typeof t.errors==`number`&&(e.errors=t.errors),t.status&&(e.status=t.status)}function bo(e,t){let n={};t?n={status:t}:e.status===`ok`&&(n={status:`exited`}),yo(e,n)}function xo(e){return{sid:`${e.sid}`,init:e.init,started:new Date(e.started*1e3).toISOString(),timestamp:new Date(e.timestamp*1e3).toISOString(),status:e.status,errors:e.errors,did:typeof e.did==`number`||typeof e.did==`string`?`${e.did}`:void 0,duration:e.duration,abnormal_mechanism:e.abnormal_mechanism,attrs:{release:e.release,environment:e.environment,ip_address:e.ipAddress,user_agent:e.userAgent}}}function So(e,t,n=2){if(!t||typeof t!=`object`||n<=0)return t;if(e&&Object.keys(t).length===0)return e;let r={...e};for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=So(r[e],t[e],n-1));return r}function Co(){return q()}function wo(){return q().substring(16)}const To=`_sentrySpan`;function Eo(e,t){t?Ra(e,To,t):delete e[To]}function Do(e){return e[To]}var Oo=class e{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:Co(),sampleRand:qa()}}clone(){let t=new e;return t._breadcrumbs=[...this._breadcrumbs],t._tags={...this._tags},t._attributes={...this._attributes},t._extra={...this._extra},t._contexts={...this._contexts},this._contexts.flags&&(t._contexts.flags={values:[...this._contexts.flags.values]}),t._user=this._user,t._level=this._level,t._session=this._session,t._transactionName=this._transactionName,t._fingerprint=this._fingerprint,t._eventProcessors=[...this._eventProcessors],t._attachments=[...this._attachments],t._sdkProcessingMetadata={...this._sdkProcessingMetadata},t._propagationContext={...this._propagationContext},t._client=this._client,t._lastEventId=this._lastEventId,t._conversationId=this._conversationId,Eo(t,Do(this)),t}setClient(e){this._client=e}setLastEventId(e){this._lastEventId=e}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&yo(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setConversationId(e){return this._conversationId=e||void 0,this._notifyScopeListeners(),this}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this.setTags({[e]:t})}setAttributes(e){return this._attributes={...this._attributes,...e},this._notifyScopeListeners(),this}setAttribute(e,t){return this.setAttributes({[e]:t})}removeAttribute(e){return e in this._attributes&&(delete this._attributes[e],this._notifyScopeListeners()),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,t){return this._extra={...this._extra,[e]:t},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,t){return t===null?delete this._contexts[e]:this._contexts[e]=t,this._notifyScopeListeners(),this}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(t){if(!t)return this;let n=typeof t==`function`?t(this):t,{tags:r,attributes:i,extra:a,user:o,contexts:s,level:c,fingerprint:l=[],propagationContext:u,conversationId:d}=(n instanceof e?n.getScopeData():Ea(n)?t:void 0)||{};return this._tags={...this._tags,...r},this._attributes={...this._attributes,...i},this._extra={...this._extra,...a},this._contexts={...this._contexts,...s},o&&Object.keys(o).length&&(this._user=o),c&&(this._level=c),l.length&&(this._fingerprint=l),u&&(this._propagationContext=u),d&&(this._conversationId=d),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,this._conversationId=void 0,Eo(this,void 0),this._attachments=[],this.setPropagationContext({traceId:Co(),sampleRand:qa()}),this._notifyScopeListeners(),this}addBreadcrumb(e,t){let n=typeof t==`number`?t:100;if(n<=0)return this;let r={timestamp:mo(),...e,message:e.message?Ya(e.message,2048):e.message};return this._breadcrumbs.push(r),this._breadcrumbs.length>n&&(this._breadcrumbs=this._breadcrumbs.slice(-n),this._client?.recordDroppedEvent(`buffer_overflow`,`log_item`)),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,attributes:this._attributes,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:Do(this),conversationId:this._conversationId}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=So(this._sdkProcessingMetadata,e,2),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(e,t){let n=t?.event_id||q();if(!this._client)return W&&K.warn(`No client configured on scope - will not capture exception!`),n;let r=Error(`Sentry syntheticException`);return this._client.captureException(e,{originalException:e,syntheticException:r,...t,event_id:n},this),n}captureMessage(e,t,n){let r=n?.event_id||q();if(!this._client)return W&&K.warn(`No client configured on scope - will not capture message!`),r;let i=n?.syntheticException??Error(e);return this._client.captureMessage(e,t,{originalException:e,syntheticException:i,...n,event_id:r},this),r}captureEvent(e,t){let n=e.event_id||t?.event_id||q();return this._client?(this._client.captureEvent(e,{...t,event_id:n},this),n):(W&&K.warn(`No client configured on scope - will not capture event!`),n)}_notifyScopeListeners(){this._notifyingListeners||=(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),!1)}};function ko(){return Bi(`defaultCurrentScope`,()=>new Oo)}function Ao(){return Bi(`defaultIsolationScope`,()=>new Oo)}var jo=class{constructor(e,t){let n;n=e||new Oo;let r;r=t||new Oo,this._stack=[{scope:n}],this._isolationScope=r}withScope(e){let t=this._pushScope(),n;try{n=e(t)}catch(e){throw this._popScope(),e}return Aa(n)?n.then(e=>(this._popScope(),e),e=>{throw this._popScope(),e}):(this._popScope(),n)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){let e=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:e}),e}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}};function Mo(){let e=zi(Ri());return e.stack=e.stack||new jo(ko(),Ao())}function No(e){return Mo().withScope(e)}function Po(e,t){let n=Mo();return n.withScope(()=>(n.getStackTop().scope=e,t(e)))}function Fo(e){return Mo().withScope(()=>e(Mo().getIsolationScope()))}function Io(){return{withIsolationScope:Fo,withScope:No,withSetScope:Po,withSetIsolationScope:(e,t)=>Fo(t),getCurrentScope:()=>Mo().getScope(),getIsolationScope:()=>Mo().getIsolationScope()}}function Lo(e){let t=zi(Ri());t.acs=e}function Ro(e){let t=zi(e);return t.acs?t.acs:Io()}function J(){return Ro(Ri()).getCurrentScope()}function Y(){return Ro(Ri()).getIsolationScope()}function zo(){return Bi(`globalScope`,()=>new Oo)}function Bo(...e){let t=Ro(Ri());if(e.length===2){let[n,r]=e;return n?t.withSetScope(n,r):t.withScope(r)}return t.withScope(e[0])}function Vo(...e){let t=Ro(Ri());if(e.length===2){let[n,r]=e;return n?t.withSetIsolationScope(n,r):t.withIsolationScope(r)}return t.withIsolationScope(e[0])}function X(){return J().getClient()}function Ho(e){let{traceId:t,parentSpanId:n,propagationSpanId:r}=e.getPropagationContext(),i={trace_id:t,span_id:r||wo()};return n&&(i.parent_span_id=n),i}const Uo=`sentry.profile_id`,Wo=`sentry.exclusive_time`;function Go(e){if(e){if(typeof e==`object`&&`deref`in e&&typeof e.deref==`function`)try{return e.deref()}catch{return}return e}}function Ko(e){let t=e;return{scope:t._sentryScope,isolationScope:Go(t._sentryIsolationScope)}}const qo=/^sentry-/;function Jo(e){let t=Xo(e);if(!t)return;let n=Object.entries(t).reduce((e,[t,n])=>{if(t.match(qo)){let r=t.slice(7);e[r]=n}return e},{});if(Object.keys(n).length>0)return n}function Yo(e){if(e)return Qo(Object.entries(e).reduce((e,[t,n])=>(n&&(e[`sentry-${t}`]=n),e),{}))}function Xo(e){if(!(!e||!Ca(e)&&!Array.isArray(e)))return Array.isArray(e)?e.reduce((e,t)=>{let n=Zo(t);return Object.entries(n).forEach(([t,n])=>{e[t]=n}),e},{}):Zo(e)}function Zo(e){return e.split(`,`).map(e=>{let t=e.indexOf(`=`);return t===-1?[]:[e.slice(0,t),e.slice(t+1)].map(e=>{try{return decodeURIComponent(e.trim())}catch{return}})}).reduce((e,[t,n])=>(t&&n&&(e[t]=n),e),{})}function Qo(e){if(Object.keys(e).length!==0)return Object.entries(e).reduce((e,[t,n],r)=>{let i=`${encodeURIComponent(t)}=${encodeURIComponent(n)}`,a=r===0?i:`${e},${i}`;return a.length>8192?(W&&K.warn(`Not adding key: ${t} with val: ${n} to baggage header due to exceeding baggage size limits.`),e):a},``)}const $o=/^o(\d+)\./,es=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/;function ts(e){return e===`http`||e===`https`}function ns(e,t=!1){let{host:n,path:r,pass:i,port:a,projectId:o,protocol:s,publicKey:c}=e;return`${s}://${c}${t&&i?`:${i}`:``}@${n}${a?`:${a}`:``}/${r&&`${r}/`}${o}`}function rs(e){let t=es.exec(e);if(!t){Ui(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});return}let[n,r,i=``,a=``,o=``,s=``]=t.slice(1),c=``,l=s,u=l.split(`/`);if(u.length>1&&(c=u.slice(0,-1).join(`/`),l=u.pop()),l){let e=l.match(/^\d+/);e&&(l=e[0])}return is({host:a,pass:i,path:c,projectId:l,port:o,protocol:n,publicKey:r})}function is(e){return{protocol:e.protocol,publicKey:e.publicKey||``,pass:e.pass||``,host:e.host,port:e.port||``,path:e.path||``,projectId:e.projectId}}function as(e){if(!W)return!0;let{port:t,projectId:n,protocol:r}=e;return[`protocol`,`publicKey`,`host`,`projectId`].find(t=>e[t]?!1:(K.error(`Invalid Sentry Dsn: ${t} missing`),!0))?!1:n.match(/^\d+$/)?ts(r)?t&&isNaN(parseInt(t,10))?(K.error(`Invalid Sentry Dsn: Invalid port ${t}`),!1):!0:(K.error(`Invalid Sentry Dsn: Invalid protocol ${r}`),!1):(K.error(`Invalid Sentry Dsn: Invalid projectId ${n}`),!1)}function os(e){return e.match($o)?.[1]}function ss(e){let t=e.getOptions(),{host:n}=e.getDsn()||{},r;return t.orgId?r=String(t.orgId):n&&(r=os(n)),r}function cs(e){let t=typeof e==`string`?rs(e):is(e);if(!(!t||!as(t)))return t}function ls(e){if(typeof e==`boolean`)return Number(e);let t=typeof e==`string`?parseFloat(e):e;if(!(typeof t!=`number`||isNaN(t)||t<0||t>1))return t}const us=RegExp(`^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$`);function ds(e){if(!e)return;let t=e.match(us);if(!t)return;let n;return t[3]===`1`?n=!0:t[3]===`0`&&(n=!1),{traceId:t[1],parentSampled:n,parentSpanId:t[2]}}function fs(e,t){let n=ds(e),r=Jo(t);if(!n?.traceId)return{traceId:Co(),sampleRand:qa()};let i=hs(n,r);r&&(r.sample_rand=i.toString());let{traceId:a,parentSpanId:o,parentSampled:s}=n;return{traceId:a,parentSpanId:o,sampled:s,dsc:r||{},sampleRand:i}}function ps(e=Co(),t=wo(),n){let r=``;return n!==void 0&&(r=n?`-1`:`-0`),`${e}-${t}${r}`}function ms(e=Co(),t=wo(),n){return`00-${e}-${t}-${n?`01`:`00`}`}function hs(e,t){let n=ls(t?.sample_rand);if(n!==void 0)return n;let r=ls(t?.sample_rate);return r&&e?.parentSampled!==void 0?e.parentSampled?qa()*r:r+qa()*(1-r):qa()}function gs(e,t){let n=ss(e);return t&&n&&t!==n?(K.log(`Won't continue trace because org IDs don't match (incoming baggage: ${t}, SDK options: ${n})`),!1):e.getOptions().strictTraceContinuation&&(t&&!n||!t&&n)?(K.log(`Starting a new trace because strict trace continuation is enabled but one org ID is missing (incoming baggage: ${t}, Sentry client: ${n})`),!1):!0}let _s=!1;function vs(e){let{spanId:t,traceId:n,isRemote:r}=e.spanContext(),i=r?t:ws(e).parent_span_id,a=Ko(e).scope;return{parent_span_id:i,span_id:r?a?.getPropagationContext().propagationSpanId||wo():t,trace_id:n}}function ys(e){let{traceId:t,spanId:n}=e.spanContext();return ps(t,n,Ds(e))}function bs(e){let{traceId:t,spanId:n}=e.spanContext();return ms(t,n,Ds(e))}function xs(e){if(e&&e.length>0)return e.map(({context:{spanId:e,traceId:t,traceFlags:n,...r},attributes:i})=>({span_id:e,trace_id:t,sampled:n===1,attributes:i,...r}))}function Ss(e){return typeof e==`number`?Cs(e):Array.isArray(e)?e[0]+e[1]/1e9:e instanceof Date?Cs(e.getTime()):_o()}function Cs(e){return e>9999999999?e/1e3:e}function ws(e){if(Es(e))return e.getSpanJSON();let{spanId:t,traceId:n}=e.spanContext();if(Ts(e)){let{attributes:r,startTime:i,name:a,endTime:o,status:s,links:c}=e;return{span_id:t,trace_id:n,data:r,description:a,parent_span_id:`parentSpanId`in e?e.parentSpanId:`parentSpanContext`in e?e.parentSpanContext?.spanId:void 0,start_timestamp:Ss(i),timestamp:Ss(o)||void 0,status:Os(s),op:r[`sentry.op`],origin:r[`sentry.origin`],links:xs(c)}}return{span_id:t,trace_id:n,start_timestamp:0,data:{}}}function Ts(e){let t=e;return!!t.attributes&&!!t.startTime&&!!t.name&&!!t.endTime&&!!t.status}function Es(e){return typeof e.getSpanJSON==`function`}function Ds(e){let{traceFlags:t}=e.spanContext();return t===1}function Os(e){if(!(!e||e.code===0))return e.code===1?`ok`:e.message||`internal_error`}function ks(e){return e._sentryRootSpan||e}function As(){let e=Ro(Ri());return e.getActiveSpan?e.getActiveSpan():Do(J())}function js(){_s||=(Ui(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.")}),!0)}let Ms=!1;function Ns(){if(Ms)return;function e(){let e=As(),t=e&&ks(e);if(t){let e=`internal_error`;W&&K.log(`[Tracing] Root span: ${e} -> Global error occurred`),t.setStatus({code:2,message:e})}}e.tag=`sentry_tracingErrorCallback`,Ms=!0,ma(e),_a(e)}function Ps(e){if(typeof __SENTRY_TRACING__==`boolean`&&!__SENTRY_TRACING__)return!1;let t=e||X()?.getOptions();return!!t&&(t.tracesSampleRate!=null||!!t.tracesSampler)}function Fs(e){K.log(`Ignoring span ${e.op} - ${e.description} because it matches \`ignoreSpans\`.`)}function Is(e,t){if(!t?.length||!e.description)return!1;for(let n of t){if(Rs(n)){if(Qa(e.description,n))return W&&Fs(e),!0;continue}if(!n.name&&!n.op)continue;let t=n.name?Qa(e.description,n.name):!0,r=n.op?e.op&&Qa(e.op,n.op):!0;if(t&&r)return W&&Fs(e),!0}return!1}function Ls(e,t){let n=t.parent_span_id,r=t.span_id;if(n)for(let t of e)t.parent_span_id===r&&(t.parent_span_id=n)}function Rs(e){return typeof e==`string`||e instanceof RegExp}const zs=`production`;function Bs(e,t){let n=t.getOptions(),{publicKey:r}=t.getDsn()||{},i={environment:n.environment||zs,release:n.release,public_key:r,trace_id:e,org_id:ss(t)};return t.emit(`createDsc`,i),i}function Vs(e,t){let n=t.getPropagationContext();return n.dsc||Bs(n.traceId,e)}function Hs(e){let t=X();if(!t)return{};let n=ks(e),r=ws(n),i=r.data,a=n.spanContext().traceState,o=a?.get(`sentry.sample_rate`)??i[`sentry.sample_rate`]??i[`sentry.previous_trace_sample_rate`];function s(e){return(typeof o==`number`||typeof o==`string`)&&(e.sample_rate=`${o}`),e}let c=n._frozenDsc;if(c)return s(c);let l=a?.get(`sentry.dsc`),u=l&&Jo(l);if(u)return s(u);let d=Bs(e.spanContext().traceId,t),f=i[`sentry.source`],p=r.description;return f!==`url`&&p&&(d.transaction=p),Ps()&&(d.sampled=String(Ds(n)),d.sample_rand=a?.get(`sentry.sample_rand`)??Ko(n).scope?.getPropagationContext().sampleRand.toString()),s(d),t.emit(`createDsc`,d,n),d}function Us(e,t=100,n=1/0){try{return Gs(``,e,t,n)}catch(e){return{ERROR:`**non-serializable** (${e})`}}}function Ws(e,t=3,n=100*1024){let r=Us(e,t);return Ys(r)>n?Ws(e,t-1,n):r}function Gs(e,t,n=1/0,r=1/0,i=Xs()){let[a,o]=i;if(t==null||[`boolean`,`string`].includes(typeof t)||typeof t==`number`&&Number.isFinite(t))return t;let s=Ks(e,t);if(!s.startsWith(`[object `))return s;if(t.__sentry_skip_normalization__)return t;let c=typeof t.__sentry_override_normalization_depth__==`number`?t.__sentry_override_normalization_depth__:n;if(c===0)return s.replace(`object `,``);if(a(t))return`[Circular ~]`;let l=t;if(l&&typeof l.toJSON==`function`)try{return Gs(``,l.toJSON(),c-1,r,i)}catch{}let u=Array.isArray(t)?[]:{},d=0,f=Va(t);for(let e in f){if(!Object.prototype.hasOwnProperty.call(f,e))continue;if(d>=r){u[e]=`[MaxProperties ~]`;break}let t=f[e];u[e]=Gs(e,t,c-1,r,i),d++}return o(t),u}function Ks(e,t){try{if(e===`domain`&&t&&typeof t==`object`&&t._events)return`[Domain]`;if(e===`domainEmitter`)return`[DomainEmitter]`;if(typeof global<`u`&&t===global)return`[Global]`;if(typeof window<`u`&&t===window)return`[Window]`;if(typeof document<`u`&&t===document)return`[Document]`;if(Na(t))return oa(t);if(ja(t))return`[SyntheticEvent]`;if(typeof t==`number`&&!Number.isFinite(t))return`[${t}]`;if(typeof t==`function`)return`[Function: ${aa(t)}]`;if(typeof t==`symbol`)return`[${String(t)}]`;if(typeof t==`bigint`)return`[BigInt: ${String(t)}]`;let n=qs(t);return/^HTML(\w*)Element$/.test(n)?`[HTMLElement: ${n}]`:`[object ${n}]`}catch(e){return`**non-serializable** (${e})`}}function qs(e){let t=Object.getPrototypeOf(e);return t?.constructor?t.constructor.name:`null prototype`}function Js(e){return~-encodeURI(e).split(/%..|./).length}function Ys(e){return Js(JSON.stringify(e))}function Xs(){let e=new WeakSet;function t(t){return e.has(t)?!0:(e.add(t),!1)}function n(t){e.delete(t)}return[t,n]}function Zs(e,t=[]){return[e,t]}function Qs(e,t){let[n,r]=e;return[n,[...r,t]]}function $s(e,t){let n=e[1];for(let e of n){let n=e[0].type;if(t(e,n))return!0}return!1}function ec(e,t){return $s(e,(e,n)=>t.includes(n))}function tc(e){let t=zi(G);return t.encodePolyfill?t.encodePolyfill(e):new TextEncoder().encode(e)}function nc(e){let[t,n]=e,r=JSON.stringify(t);function i(e){typeof r==`string`?r=typeof e==`string`?r+e:[tc(r),e]:r.push(typeof e==`string`?tc(e):e)}for(let e of n){let[t,n]=e;if(i(`\n${JSON.stringify(t)}\n`),typeof n==`string`||n instanceof Uint8Array)i(n);else{let e;try{e=JSON.stringify(n)}catch{e=JSON.stringify(Us(n))}i(e)}}return typeof r==`string`?r:rc(r)}function rc(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function ic(e){let t=typeof e.data==`string`?tc(e.data):e.data;return[{type:`attachment`,length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType},t]}const ac={session:`session`,sessions:`session`,attachment:`attachment`,transaction:`transaction`,event:`error`,client_report:`internal`,user_report:`default`,profile:`profile`,profile_chunk:`profile`,replay_event:`replay`,replay_recording:`replay`,check_in:`monitor`,feedback:`feedback`,span:`span`,raw_security:`security`,log:`log_item`,metric:`metric`,trace_metric:`metric`};function oc(e){return ac[e]}function sc(e){if(!e?.sdk)return;let{name:t,version:n}=e.sdk;return{name:t,version:n}}function cc(e,t,n,r){let i=e.sdkProcessingMetadata?.dynamicSamplingContext;return{event_id:e.event_id,sent_at:new Date().toISOString(),...t&&{sdk:t},...!!n&&r&&{dsn:ns(r)},...i&&{trace:i}}}function lc(e,t){if(!t)return e;let n=e.sdk||{};return e.sdk={...n,name:n.name||t.name,version:n.version||t.version,integrations:[...e.sdk?.integrations||[],...t.integrations||[]],packages:[...e.sdk?.packages||[],...t.packages||[]],settings:e.sdk?.settings||t.settings?{...e.sdk?.settings,...t.settings}:void 0},e}function uc(e,t,n,r){let i=sc(n);return Zs({sent_at:new Date().toISOString(),...i&&{sdk:i},...!!r&&t&&{dsn:ns(t)}},[`aggregates`in e?[{type:`sessions`},e]:[{type:`session`},e.toJSON()]])}function dc(e,t,n,r){let i=sc(n),a=e.type&&e.type!==`replay_event`?e.type:`event`;lc(e,n?.sdk);let o=cc(e,i,r,t);return delete e.sdkProcessingMetadata,Zs(o,[[{type:a},e]])}const fc=`__SENTRY_SUPPRESS_TRACING__`,pc=(e,t)=>{let n=Ro(Ri());if(n.continueTrace)return n.continueTrace(e,t);let{sentryTrace:r,baggage:i}=e,a=X(),o=Jo(i);return a&&!gs(a,o?.org_id)?gc(t):Bo(e=>{let n=fs(r,i);return e.setPropagationContext(n),Eo(e,void 0),t()})};function mc(e,t){let n=_c();return n.withActiveSpan?n.withActiveSpan(e,t):Bo(n=>(Eo(n,e||void 0),t(n)))}function hc(e){let t=_c();return t.suppressTracing?t.suppressTracing(e):Bo(t=>{t.setSDKProcessingMetadata({[fc]:!0});let n=e();return t.setSDKProcessingMetadata({[fc]:void 0}),n})}function gc(e){return Bo(t=>(t.setPropagationContext({traceId:Co(),sampleRand:qa()}),W&&K.log(`Starting a new trace with id ${t.getPropagationContext().traceId}`),mc(null,e)))}function _c(){return Ro(Ri())}function vc(e){return new bc(t=>{t(e)})}function yc(e){return new bc((t,n)=>{n(e)})}var bc=class e{constructor(e){this._state=0,this._handlers=[],this._runExecutor(e)}then(t,n){return new e((e,r)=>{this._handlers.push([!1,n=>{if(!t)e(n);else try{e(t(n))}catch(e){r(e)}},t=>{if(!n)r(t);else try{e(n(t))}catch(e){r(e)}}]),this._executeHandlers()})}catch(e){return this.then(e=>e,e)}finally(t){return new e((e,n)=>{let r,i;return this.then(e=>{i=!1,r=e,t&&t()},e=>{i=!0,r=e,t&&t()}).then(()=>{if(i){n(r);return}e(r)})})}_executeHandlers(){if(this._state===0)return;let e=this._handlers.slice();this._handlers=[],e.forEach(e=>{e[0]||=(this._state===1&&e[1](this._value),this._state===2&&e[2](this._value),!0)})}_runExecutor(e){let t=(e,t)=>{if(this._state===0){if(Aa(t)){t.then(n,r);return}this._state=e,this._value=t,this._executeHandlers()}},n=e=>{t(1,e)},r=e=>{t(2,e)};try{e(n,r)}catch(e){r(e)}}};function xc(e,t,n,r=0){try{let i=Sc(t,n,e,r);return Aa(i)?i:vc(i)}catch(e){return yc(e)}}function Sc(e,t,n,r){let i=n[r];if(!e||!i)return e;let a=i({...e},t);return W&&a===null&&K.log(`Event processor "${i.id||`?`}" dropped event`),Aa(a)?a.then(e=>Sc(e,t,n,r+1)):Sc(a,t,n,r+1)}let Cc,wc,Tc,Ec;function Dc(e){let t=G._sentryDebugIds,n=G._debugIds;if(!t&&!n)return{};let r=t?Object.keys(t):[],i=n?Object.keys(n):[];if(Ec&&r.length===wc&&i.length===Tc)return Ec;wc=r.length,Tc=i.length,Ec={},Cc||={};let a=(t,n)=>{for(let r of t){let t=n[r],i=Cc?.[r];if(i&&Ec&&t)Ec[i[0]]=t,Cc&&(Cc[r]=[i[0],t]);else if(t){let n=e(r);for(let e=n.length-1;e>=0;e--){let i=n[e]?.filename;if(i&&Ec&&Cc){Ec[i]=t,Cc[r]=[i,t];break}}}}};return t&&a(r,t),n&&a(i,n),Ec}function Oc(e,t){let{fingerprint:n,span:r,breadcrumbs:i,sdkProcessingMetadata:a}=t;Mc(e,t),r&&Fc(e,r),Ic(e,n),Nc(e,i),Pc(e,a)}function kc(e,t){let{extra:n,tags:r,attributes:i,user:a,contexts:o,level:s,sdkProcessingMetadata:c,breadcrumbs:l,fingerprint:u,eventProcessors:d,attachments:f,propagationContext:p,transactionName:m,span:h}=t;Ac(e,`extra`,n),Ac(e,`tags`,r),Ac(e,`attributes`,i),Ac(e,`user`,a),Ac(e,`contexts`,o),e.sdkProcessingMetadata=So(e.sdkProcessingMetadata,c,2),s&&(e.level=s),m&&(e.transactionName=m),h&&(e.span=h),l.length&&(e.breadcrumbs=[...e.breadcrumbs,...l]),u.length&&(e.fingerprint=[...e.fingerprint,...u]),d.length&&(e.eventProcessors=[...e.eventProcessors,...d]),f.length&&(e.attachments=[...e.attachments,...f]),e.propagationContext={...e.propagationContext,...p}}function Ac(e,t,n){e[t]=So(e[t],n,1)}function jc(e,t){let n=zo().getScopeData();return e&&kc(n,e.getScopeData()),t&&kc(n,t.getScopeData()),n}function Mc(e,t){let{extra:n,tags:r,user:i,contexts:a,level:o,transactionName:s}=t;Object.keys(n).length&&(e.extra={...n,...e.extra}),Object.keys(r).length&&(e.tags={...r,...e.tags}),Object.keys(i).length&&(e.user={...i,...e.user}),Object.keys(a).length&&(e.contexts={...a,...e.contexts}),o&&(e.level=o),s&&e.type!==`transaction`&&(e.transaction=s)}function Nc(e,t){let n=[...e.breadcrumbs||[],...t];e.breadcrumbs=n.length?n:void 0}function Pc(e,t){e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...t}}function Fc(e,t){e.contexts={trace:vs(t),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:Hs(t),...e.sdkProcessingMetadata};let n=ws(ks(t)).description;n&&!e.transaction&&e.type===`transaction`&&(e.transaction=n)}function Ic(e,t){e.fingerprint=e.fingerprint?Array.isArray(e.fingerprint)?e.fingerprint:[e.fingerprint]:[],t&&(e.fingerprint=e.fingerprint.concat(t)),e.fingerprint.length||delete e.fingerprint}function Lc(e,t,n,r,i,a){let{normalizeDepth:o=3,normalizeMaxBreadth:s=1e3}=e,c={...t,event_id:t.event_id||n.event_id||q(),timestamp:t.timestamp||mo()},l=n.integrations||e.integrations.map(e=>e.name);Rc(c,e),Vc(c,l),i&&i.emit(`applyFrameMetadata`,t),t.type===void 0&&zc(c,e.stackParser);let u=Uc(r,n.captureContext);n.mechanism&&oo(c,n.mechanism);let d=i?i.getEventProcessors():[],f=jc(a,u),p=[...n.attachments||[],...f.attachments];p.length&&(n.attachments=p),Oc(c,f);let m=[...d,...f.eventProcessors];return(n.data&&n.data.__sentry__===!0?vc(c):xc(m,c,n)).then(e=>(e&&Bc(e),typeof o==`number`&&o>0?Hc(e,o,s):e))}function Rc(e,t){let{environment:n,release:r,dist:i,maxValueLength:a}=t;e.environment=e.environment||n||zs,!e.release&&r&&(e.release=r),!e.dist&&i&&(e.dist=i);let o=e.request;o?.url&&a&&(o.url=Ya(o.url,a)),a&&e.exception?.values?.forEach(e=>{e.value&&=Ya(e.value,a)})}function zc(e,t){let n=Dc(t);e.exception?.values?.forEach(e=>{e.stacktrace?.frames?.forEach(e=>{e.filename&&(e.debug_id=n[e.filename])})})}function Bc(e){let t={};if(e.exception?.values?.forEach(e=>{e.stacktrace?.frames?.forEach(e=>{e.debug_id&&(e.abs_path?t[e.abs_path]=e.debug_id:e.filename&&(t[e.filename]=e.debug_id),delete e.debug_id)})}),Object.keys(t).length===0)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];let n=e.debug_meta.images;Object.entries(t).forEach(([e,t])=>{n.push({type:`sourcemap`,code_file:e,debug_id:t})})}function Vc(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}function Hc(e,t,n){if(!e)return null;let r={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map(e=>({...e,...e.data&&{data:Us(e.data,t,n)}}))},...e.user&&{user:Us(e.user,t,n)},...e.contexts&&{contexts:Us(e.contexts,t,n)},...e.extra&&{extra:Us(e.extra,t,n)}};return e.contexts?.trace&&r.contexts&&(r.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(r.contexts.trace.data=Us(e.contexts.trace.data,t,n))),e.spans&&(r.spans=e.spans.map(e=>({...e,...e.data&&{data:Us(e.data,t,n)}}))),e.contexts?.flags&&r.contexts&&(r.contexts.flags=Us(e.contexts.flags,3,n)),r}function Uc(e,t){if(!t)return e;let n=e?e.clone():new Oo;return n.update(t),n}function Wc(e){if(e)return Gc(e)||qc(e)?{captureContext:e}:e}function Gc(e){return e instanceof Oo||typeof e==`function`}const Kc=[`user`,`level`,`extra`,`contexts`,`tags`,`fingerprint`,`propagationContext`];function qc(e){return Object.keys(e).some(e=>Kc.includes(e))}function Jc(e,t){return J().captureException(e,Wc(t))}function Yc(e,t){Y().setContext(e,t)}function Xc(e,t){Y().setTag(e,t)}function Zc(e){Y().setUser(e)}async function Qc(e){let t=X();return t?t.flush(e):(W&&K.warn(`Cannot flush events. No client defined.`),Promise.resolve(!1))}function $c(){let e=X();return e?.getOptions().enabled!==!1&&!!e?.getTransport()}function el(e){let t=Y(),{user:n}=jc(t,J()),{userAgent:r}=G.navigator||{},i=vo({user:n,...r&&{userAgent:r},...e}),a=t.getSession();return a?.status===`ok`&&yo(a,{status:`exited`}),tl(),t.setSession(i),i}function tl(){let e=Y(),t=J().getSession()||e.getSession();t&&bo(t),nl(),e.setSession()}function nl(){let e=Y(),t=X(),n=e.getSession();n&&t&&t.captureSession(n)}function rl(e){let t=e.protocol?`${e.protocol}:`:``,n=e.port?`:${e.port}`:``;return`${t}//${e.host}${n}${e.path?`/${e.path}`:``}/api/`}function il(e){return`${rl(e)}${e.projectId}/envelope/`}function al(e,t){let n={sentry_version:`7`};return e.publicKey&&(n.sentry_key=e.publicKey),t&&(n.sentry_client=`${t.name}/${t.version}`),new URLSearchParams(n).toString()}function ol(e,t,n){return t||`${il(e)}?${al(e,n)}`}const sl=[];function cl(e){let t={};return e.forEach(e=>{let{name:n}=e,r=t[n];r&&!r.isDefaultInstance&&e.isDefaultInstance||(t[n]=e)}),Object.values(t)}function ll(e){let t=e.defaultIntegrations||[],n=e.integrations;t.forEach(e=>{e.isDefaultInstance=!0});let r;if(Array.isArray(n))r=[...t,...n];else if(typeof n==`function`){let e=n(t);r=Array.isArray(e)?e:[e]}else r=t;return cl(r)}function ul(e,t){let n={};return t.forEach(t=>{t&&fl(e,t,n)}),n}function dl(e,t){for(let n of t)n?.afterAllSetup&&n.afterAllSetup(e)}function fl(e,t,n){if(n[t.name]){W&&K.log(`Integration skipped because it was already installed: ${t.name}`);return}if(n[t.name]=t,!sl.includes(t.name)&&typeof t.setupOnce==`function`&&(t.setupOnce(),sl.push(t.name)),t.setup&&typeof t.setup==`function`&&t.setup(e),typeof t.preprocessEvent==`function`){let n=t.preprocessEvent.bind(t);e.on(`preprocessEvent`,(t,r)=>n(t,r,e))}if(typeof t.processEvent==`function`){let n=t.processEvent.bind(t),r=Object.assign((t,r)=>n(t,r,e),{id:t.name});e.addEventProcessor(r)}W&&K.log(`Integration installed: ${t.name}`)}function Z(e){return e}function pl(e,t){return t?Bo(t,()=>{let n=As(),r=n?vs(n):Ho(t);return[n?Hs(n):Vs(e,t),r]}):[void 0,void 0]}function ml(e){return[{type:`log`,item_count:e.length,content_type:`application/vnd.sentry.items.log+json`},{items:e}]}function hl(e,t,n,r){let i={};return t?.sdk&&(i.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(i.dsn=ns(r)),Zs(i,[ml(e)])}function gl(e,t){let n=t??_l(e)??[];if(n.length===0)return;let r=e.getOptions(),i=hl(n,r._metadata,r.tunnel,e.getDsn());vl().set(e,[]),e.emit(`flushLogs`),e.sendEnvelope(i)}function _l(e){return vl().get(e)}function vl(){return Bi(`clientToLogBufferMap`,()=>new WeakMap)}function yl(e){return[{type:`trace_metric`,item_count:e.length,content_type:`application/vnd.sentry.items.trace-metric+json`},{items:e}]}function bl(e,t,n,r){let i={};return t?.sdk&&(i.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(i.dsn=ns(r)),Zs(i,[yl(e)])}function xl(e,t){let n=t??Sl(e)??[];if(n.length===0)return;let r=e.getOptions(),i=bl(n,r._metadata,r.tunnel,e.getDsn());Cl().set(e,[]),e.emit(`flushMetrics`),e.sendEnvelope(i)}function Sl(e){return Cl().get(e)}function Cl(){return Bi(`clientToMetricBufferMap`,()=>new WeakMap)}function wl(e){return typeof e==`object`&&typeof e.unref==`function`&&e.unref(),e}const Tl=Symbol.for(`SentryBufferFullError`);function El(e=100){let t=new Set;function n(){return t.size<e}function r(e){t.delete(e)}function i(e){if(!n())return yc(Tl);let i=e();return t.add(i),i.then(()=>r(i),()=>r(i)),i}function a(e){if(!t.size)return vc(!0);let n=Promise.allSettled(Array.from(t)).then(()=>!0);if(!e)return n;let r=[n,new Promise(t=>wl(setTimeout(()=>t(!1),e)))];return Promise.race(r)}return{get $(){return Array.from(t)},add:i,drain:a}}function Dl(e,t=Ja()){let n=parseInt(`${e}`,10);if(!isNaN(n))return n*1e3;let r=Date.parse(`${e}`);return isNaN(r)?6e4:r-t}function Ol(e,t){return e[t]||e.all||0}function kl(e,t,n=Ja()){return Ol(e,t)>n}function Al(e,{statusCode:t,headers:n},r=Ja()){let i={...e},a=n?.[`x-sentry-rate-limits`],o=n?.[`retry-after`];if(a)for(let e of a.trim().split(`,`)){let[t,n,,,a]=e.split(`:`,5),o=parseInt(t,10),s=(isNaN(o)?60:o)*1e3;if(!n)i.all=r+s;else for(let e of n.split(`;`))e===`metric_bucket`?(!a||a.split(`;`).includes(`custom`))&&(i[e]=r+s):i[e]=r+s}else o?i.all=r+Dl(o,r):t===429&&(i.all=r+60*1e3);return i}function jl(e,t,n=El(e.bufferSize||64)){let r={},i=e=>n.drain(e);function a(i){let a=[];if($s(i,(t,n)=>{let i=oc(n);kl(r,i)?e.recordDroppedEvent(`ratelimit_backoff`,i):a.push(t)}),a.length===0)return Promise.resolve({});let o=Zs(i[0],a),s=t=>{if(ec(o,[`client_report`])){W&&K.warn(`Dropping client report. Will not send outcomes (reason: ${t}).`);return}$s(o,(n,r)=>{e.recordDroppedEvent(t,oc(r))})};return n.add(()=>t({body:nc(o)}).then(e=>e.statusCode===413?(W&&K.error(`Sentry responded with status code 413. Envelope was discarded due to exceeding size limits.`),s(`send_error`),e):(W&&e.statusCode!==void 0&&(e.statusCode<200||e.statusCode>=300)&&K.warn(`Sentry responded with status code ${e.statusCode} to sent event.`),r=Al(r,e),e),e=>{throw s(`network_error`),W&&K.error(`Encountered error running transport request:`,e),e})).then(e=>e,e=>{if(e===Tl)return W&&K.error(`Skipped sending event because buffer is full.`),s(`queue_overflow`),Promise.resolve({});throw e})}return{send:a,flush:i}}function Ml(e,t,n){let r=[{type:`client_report`},{timestamp:n||mo(),discarded_events:e}];return Zs(t?{dsn:t}:{},[r])}function Nl(e){let t=[];e.message&&t.push(e.message);try{let n=e.exception.values[e.exception.values.length-1];n?.value&&(t.push(n.value),n.type&&t.push(`${n.type}: ${n.value}`))}catch{}return t}function Pl(e){let{trace_id:t,parent_span_id:n,span_id:r,status:i,origin:a,data:o,op:s}=e.contexts?.trace??{};return{data:o??{},description:e.transaction,op:s,parent_span_id:n,span_id:r??``,start_timestamp:e.start_timestamp??0,status:i,timestamp:e.timestamp,trace_id:t??``,origin:a,profile_id:o?.[Uo],exclusive_time:o?.[Wo],measurements:e.measurements,is_segment:!0}}function Fl(e){return{type:`transaction`,timestamp:e.timestamp,start_timestamp:e.start_timestamp,transaction:e.description,contexts:{trace:{trace_id:e.trace_id,span_id:e.span_id,parent_span_id:e.parent_span_id,op:e.op,status:e.status,origin:e.origin,data:{...e.data,...e.profile_id&&{[Uo]:e.profile_id},...e.exclusive_time&&{[Wo]:e.exclusive_time}}}},measurements:e.measurements}}const Il=`Not capturing exception because it's already been captured.`,Ll=`Discarded session because of missing or non-string release`,Rl=Symbol.for(`SentryInternalError`),zl=Symbol.for(`SentryDoNotSendEventError`);function Bl(e){return{message:e,[Rl]:!0}}function Vl(e){return{message:e,[zl]:!0}}function Hl(e){return!!e&&typeof e==`object`&&Rl in e}function Ul(e){return!!e&&typeof e==`object`&&zl in e}function Wl(e,t,n,r,i){let a=0,o,s=!1;e.on(n,()=>{a=0,clearTimeout(o),s=!1}),e.on(t,t=>{a+=r(t),a>=8e5?i(e):s||(s=!0,o=wl(setTimeout(()=>{i(e)},5e3)))}),e.on(`flush`,()=>{i(e)})}var Gl=class{constructor(e){if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=El(e.transportOptions?.bufferSize??64),e.dsn?this._dsn=cs(e.dsn):W&&K.warn(`No DSN provided, client will not send events.`),this._dsn){let t=ol(this._dsn,e.tunnel,e._metadata?e._metadata.sdk:void 0);this._transport=e.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...e.transportOptions,url:t})}this._options.enableLogs=this._options.enableLogs??this._options._experiments?.enableLogs,this._options.enableLogs&&Wl(this,`afterCaptureLog`,`flushLogs`,Ql,gl),(this._options.enableMetrics??this._options._experiments?.enableMetrics??!0)&&Wl(this,`afterCaptureMetric`,`flushMetrics`,Zl,xl)}captureException(e,t,n){let r=q();if(uo(e))return W&&K.log(Il),r;let i={event_id:r,...t};return this._process(()=>this.eventFromException(e,i).then(e=>this._captureEvent(e,i,n)).then(e=>e),`error`),i.event_id}captureMessage(e,t,n,r){let i={event_id:q(),...n},a=wa(e)?e:String(e),o=Ta(e),s=o?this.eventFromMessage(a,t,i):this.eventFromException(e,i);return this._process(()=>s.then(e=>this._captureEvent(e,i,r)),o?`unknown`:`error`),i.event_id}captureEvent(e,t,n){let r=q();if(t?.originalException&&uo(t.originalException))return W&&K.log(Il),r;let i={event_id:r,...t},a=e.sdkProcessingMetadata||{},o=a.capturedSpanScope,s=a.capturedSpanIsolationScope,c=Kl(e.type);return this._process(()=>this._captureEvent(e,i,o||n,s),c),i.event_id}captureSession(e){this.sendSession(e),yo(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}async flush(e){let t=this._transport;if(!t)return!0;this.emit(`flush`);let n=await this._isClientDoneProcessing(e),r=await t.flush(e);return n&&r}async close(e){gl(this);let t=await this.flush(e);return this.getOptions().enabled=!1,this.emit(`close`),t}getEventProcessors(){return this._eventProcessors}addEventProcessor(e){this._eventProcessors.push(e)}init(){(this._isEnabled()||this._options.integrations.some(({name:e})=>e.startsWith(`Spotlight`)))&&this._setupIntegrations()}getIntegrationByName(e){return this._integrations[e]}addIntegration(e){let t=this._integrations[e.name];fl(this,e,this._integrations),t||dl(this,[e])}sendEvent(e,t={}){this.emit(`beforeSendEvent`,e,t);let n=dc(e,this._dsn,this._options._metadata,this._options.tunnel);for(let e of t.attachments||[])n=Qs(n,ic(e));this.sendEnvelope(n).then(t=>this.emit(`afterSendEvent`,e,t))}sendSession(e){let{release:t,environment:n=zs}=this._options;if(`aggregates`in e){let r=e.attrs||{};if(!r.release&&!t){W&&K.warn(Ll);return}r.release=r.release||t,r.environment=r.environment||n,e.attrs=r}else{if(!e.release&&!t){W&&K.warn(Ll);return}e.release=e.release||t,e.environment=e.environment||n}this.emit(`beforeSendSession`,e);let r=uc(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(r)}recordDroppedEvent(e,t,n=1){if(this._options.sendClientReports){let r=`${e}:${t}`;W&&K.log(`Recording outcome: "${r}"${n>1?` (${n} times)`:``}`),this._outcomes[r]=(this._outcomes[r]||0)+n}}on(e,t){let n=this._hooks[e]=this._hooks[e]||new Set,r=(...e)=>t(...e);return n.add(r),()=>{n.delete(r)}}emit(e,...t){let n=this._hooks[e];n&&n.forEach(e=>e(...t))}async sendEnvelope(e){if(this.emit(`beforeEnvelope`,e),this._isEnabled()&&this._transport)try{return await this._transport.send(e)}catch(e){return W&&K.error(`Error while sending envelope:`,e),{}}return W&&K.error(`Transport disabled`),{}}dispose(){}_setupIntegrations(){let{integrations:e}=this._options;this._integrations=ul(this,e),dl(this,e)}_updateSessionFromEvent(e,t){let n=t.level===`fatal`,r=!1,i=t.exception?.values;if(i){r=!0,n=!1;for(let e of i)if(e.mechanism?.handled===!1){n=!0;break}}let a=e.status===`ok`;(a&&e.errors===0||a&&n)&&(yo(e,{...n&&{status:`crashed`},errors:e.errors||Number(r||n)}),this.captureSession(e))}async _isClientDoneProcessing(e){let t=0;for(;!e||t<e;){if(await new Promise(e=>setTimeout(e,1)),!this._numProcessing)return!0;t++}return!1}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(e,t,n,r){let i=this.getOptions(),a=Object.keys(this._integrations);return!t.integrations&&a?.length&&(t.integrations=a),this.emit(`preprocessEvent`,e,t),e.type||r.setLastEventId(e.event_id||t.event_id),Lc(i,e,t,n,this,r).then(e=>e===null?e:(this.emit(`postprocessEvent`,e,t),e.contexts={trace:Ho(n),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:Vs(this,n),...e.sdkProcessingMetadata},e))}_captureEvent(e,t={},n=J(),r=Y()){return W&&Yl(e)&&K.log(`Captured error event \`${Nl(e)[0]||`<unknown>`}\``),this._processEvent(e,t,n,r).then(e=>e.event_id,e=>{W&&(Ul(e)?K.log(e.message):Hl(e)?K.warn(e.message):K.warn(e))})}_processEvent(e,t,n,r){let i=this.getOptions(),{sampleRate:a}=i,o=Xl(e),s=Yl(e),c=`before send for type \`${e.type||`error`}\``,l=a===void 0?void 0:ls(a);if(s&&typeof l==`number`&&qa()>l)return this.recordDroppedEvent(`sample_rate`,`error`),yc(Vl(`Discarding event because it's not included in the random sample (sampling rate = ${a})`));let u=Kl(e.type);return this._prepareEvent(e,t,n,r).then(e=>{if(e===null)throw this.recordDroppedEvent(`event_processor`,u),Vl("An event processor returned `null`, will not send event.");return t.data&&t.data.__sentry__===!0?e:ql(Jl(this,i,e,t),c)}).then(i=>{if(i===null){if(this.recordDroppedEvent(`before_send`,u),o){let t=1+(e.spans||[]).length;this.recordDroppedEvent(`before_send`,`span`,t)}throw Vl(`${c} returned \`null\`, will not send event.`)}let a=n.getSession()||r.getSession();if(s&&a&&this._updateSessionFromEvent(a,i),o){let e=(i.sdkProcessingMetadata?.spanCountBeforeProcessing||0)-(i.spans?i.spans.length:0);e>0&&this.recordDroppedEvent(`before_send`,`span`,e)}let l=i.transaction_info;return o&&l&&i.transaction!==e.transaction&&(i.transaction_info={...l,source:`custom`}),this.sendEvent(i,t),i}).then(null,e=>{throw Ul(e)||Hl(e)?e:(this.captureException(e,{mechanism:{handled:!1,type:`internal`},data:{__sentry__:!0},originalException:e}),Bl(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${e}`))})}_process(e,t){this._numProcessing++,this._promiseBuffer.add(e).then(e=>(this._numProcessing--,e),e=>(this._numProcessing--,e===Tl&&this.recordDroppedEvent(`queue_overflow`,t),e))}_clearOutcomes(){let e=this._outcomes;return this._outcomes={},Object.entries(e).map(([e,t])=>{let[n,r]=e.split(`:`);return{reason:n,category:r,quantity:t}})}_flushOutcomes(){W&&K.log(`Flushing outcomes...`);let e=this._clearOutcomes();if(e.length===0){W&&K.log(`No outcomes to send`);return}if(!this._dsn){W&&K.log(`No dsn provided, will not send outcomes`);return}W&&K.log(`Sending outcomes:`,e);let t=Ml(e,this._options.tunnel&&ns(this._dsn));this.sendEnvelope(t)}};function Kl(e){return e===`replay_event`?`replay`:e||`error`}function ql(e,t){let n=`${t} must return \`null\` or a valid event.`;if(Aa(e))return e.then(e=>{if(!Ea(e)&&e!==null)throw Bl(n);return e},e=>{throw Bl(`${t} rejected with ${e}`)});if(!Ea(e)&&e!==null)throw Bl(n);return e}function Jl(e,t,n,r){let{beforeSend:i,beforeSendTransaction:a,beforeSendSpan:o,ignoreSpans:s}=t,c=n;if(Yl(c)&&i)return i(c,r);if(Xl(c)){if(o||s){let t=Pl(c);if(s?.length&&Is(t,s))return null;if(o){let e=o(t);e?c=So(n,Fl(e)):js()}if(c.spans){let t=[],n=c.spans;for(let e of n){if(s?.length&&Is(e,s)){Ls(n,e);continue}if(o){let n=o(e);n?t.push(n):(js(),t.push(e))}else t.push(e)}let r=c.spans.length-t.length;r&&e.recordDroppedEvent(`before_send`,`span`,r),c.spans=t}}if(a){if(c.spans){let e=c.spans.length;c.sdkProcessingMetadata={...n.sdkProcessingMetadata,spanCountBeforeProcessing:e}}return a(c,r)}}return c}function Yl(e){return e.type===void 0}function Xl(e){return e.type===`transaction`}function Zl(e){let t=0;return e.name&&(t+=e.name.length*2),t+=8,t+$l(e.attributes)}function Ql(e){let t=0;return e.message&&(t+=e.message.length*2),t+$l(e.attributes)}function $l(e){if(!e)return 0;let t=0;return Object.values(e).forEach(e=>{Array.isArray(e)?t+=e.length*eu(e[0]):Ta(e)?t+=eu(e):t+=100}),t}function eu(e){return typeof e==`string`?e.length*2:typeof e==`number`?8:typeof e==`boolean`?4:0}function tu(e,t,n,r,i){let a={sent_at:new Date().toISOString()};return n?.sdk&&(a.sdk={name:n.sdk.name,version:n.sdk.version}),r&&i&&(a.dsn=ns(i)),t&&(a.trace=t),Zs(a,[nu(e)])}function nu(e){return[{type:`check_in`},e]}function ru(e){let t=e._metadata?.sdk,n=t?.name&&t?.version?`${t?.name}/${t?.version}`:void 0;e.transportOptions={...e.transportOptions,headers:{...n&&{"user-agent":n},...e.transportOptions?.headers}}}function iu(e,t){return e(t.stack||``,1)}function au(e){return ba(e)&&`__sentry_fetch_url_host__`in e&&typeof e.__sentry_fetch_url_host__==`string`}function ou(e){return au(e)?`${e.message} (${e.__sentry_fetch_url_host__})`:e.message}function su(e,t){let n={type:t.name||t.constructor.name,value:ou(t)},r=iu(e,t);return r.length&&(n.stacktrace={frames:r}),n}function cu(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let n=e[t];if(n instanceof Error)return n}}function lu(e){if(`name`in e&&typeof e.name==`string`){let t=`'${e.name}' captured as exception`;return`message`in e&&typeof e.message==`string`&&(t+=` with message '${e.message}'`),t}else if(`message`in e&&typeof e.message==`string`)return e.message;let t=Wa(e);if(Sa(e))return`Event \`ErrorEvent\` captured as exception with message \`${e.message}\``;let n=uu(e);return`${n&&n!==`Object`?`'${n}'`:`Object`} captured as exception with keys: ${t}`}function uu(e){try{let t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{}}function du(e,t,n,r){if(ba(n))return[n,void 0];if(t.synthetic=!0,Ea(n)){let t=e?.getOptions().normalizeDepth,i={__serialized__:Ws(n,t)},a=cu(n);if(a)return[a,i];let o=lu(n),s=r?.syntheticException||Error(o);return s.message=o,[s,i]}let i=r?.syntheticException||Error(n);return i.message=`${n}`,[i,void 0]}function fu(e,t,n,r){let i=r?.data&&r.data.mechanism||{handled:!0,type:`generic`},[a,o]=du(e,i,n,r),s={exception:{values:[su(t,a)]}};return o&&(s.extra=o),ao(s,void 0,void 0),oo(s,i),{...s,event_id:r?.event_id}}function pu(e,t,n=`info`,r,i){let a={event_id:r?.event_id,level:n};if(i&&r?.syntheticException){let n=iu(e,r.syntheticException);n.length&&(a.exception={values:[{value:t,stacktrace:{frames:n}}]},oo(a,{synthetic:!0}))}if(wa(t)){let{__sentry_template_string__:e,__sentry_template_values__:n}=t;return a.logentry={message:e,params:n},a}return a.message=t,a}var mu=class extends Gl{constructor(e){Ns(),ru(e),super(e),this._setUpMetricsProcessing()}eventFromException(e,t){let n=fu(this,this._options.stackParser,e,t);return n.level=`error`,vc(n)}eventFromMessage(e,t=`info`,n){return vc(pu(this._options.stackParser,e,t,n,this._options.attachStacktrace))}captureException(e,t,n){return hu(t),super.captureException(e,t,n)}captureEvent(e,t,n){return!e.type&&e.exception?.values&&e.exception.values.length>0&&hu(t),super.captureEvent(e,t,n)}captureCheckIn(e,t,n){let r=`checkInId`in e&&e.checkInId?e.checkInId:q();if(!this._isEnabled())return W&&K.warn(`SDK not enabled, will not capture check-in.`),r;let{release:i,environment:a,tunnel:o}=this.getOptions(),s={check_in_id:r,monitor_slug:e.monitorSlug,status:e.status,release:i,environment:a};`duration`in e&&(s.duration=e.duration),t&&(s.monitor_config={schedule:t.schedule,checkin_margin:t.checkinMargin,max_runtime:t.maxRuntime,timezone:t.timezone,failure_issue_threshold:t.failureIssueThreshold,recovery_threshold:t.recoveryThreshold});let[c,l]=pl(this,n);l&&(s.contexts={trace:l});let u=tu(s,c,this.getSdkMetadata(),o,this.getDsn());return W&&K.log(`Sending checkin:`,e.monitorSlug,e.status),this.sendEnvelope(u),r}dispose(){W&&K.log(`Disposing client...`);for(let e of Object.keys(this._hooks))this._hooks[e]?.clear();this._hooks={},this._eventProcessors.length=0,this._integrations={},this._outcomes={},this._transport=void 0,this._promiseBuffer=El(64)}_prepareEvent(e,t,n,r){return this._options.platform&&(e.platform=e.platform||this._options.platform),this._options.runtime&&(e.contexts={...e.contexts,runtime:e.contexts?.runtime||this._options.runtime}),this._options.serverName&&(e.server_name=e.server_name||this._options.serverName),super._prepareEvent(e,t,n,r)}_setUpMetricsProcessing(){this.on(`processMetric`,e=>{this._options.serverName&&(e.attributes={"server.address":this._options.serverName,...e.attributes})})}};function hu(e){let t=Y().getScopeData().sdkProcessingMetadata.requestSession;if(t){let n=e?.mechanism?.handled??!0;n&&t.status!==`crashed`?t.status=`errored`:n||(t.status=`crashed`)}}const gu=new Set([`false`,`f`,`n`,`no`,`off`,`0`]),_u=new Set([`true`,`t`,`y`,`yes`,`on`,`1`]);function vu(e,t){let n=String(e).toLowerCase();return gu.has(n)?!1:_u.has(n)?!0:t?.strict?null:!!e}function yu(e){if(!e)return{};let t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};let n=t[6]||``,r=t[8]||``;return{host:t[4],path:t[5],protocol:t[2],search:n,hash:r,relative:t[5]+n+r}}function bu(e){return e.split(/[?#]/,1)[0]}function xu(e){let{protocol:t,host:n,path:r}=e,i=n?.replace(/^.*@/,`[filtered]:[filtered]@`).replace(/(:80)$/,``).replace(/(:443)$/,``)||``;return`${t?`${t}://`:``}${i}${r}`}function Su(e,t,n=[t],r=`npm`){let i=(e._metadata=e._metadata||{}).sdk=e._metadata.sdk||{};i.name||(i.name=`sentry.javascript.${t}`,i.packages=n.map(e=>({name:`${r}:@sentry/${e}`,version:Li})),i.version=Li)}function Cu(e={}){let t=e.client||X();if(!$c()||!t)return{};let n=Ro(Ri());if(n.getTraceData)return n.getTraceData(e);let r=e.scope||J(),i=e.span||As(),a=i?ys(i):wu(r),o=Yo(i?Hs(i):Vs(t,r));if(!us.test(a))return K.warn(`Invalid sentry-trace data. Cannot generate trace data`),{};let s={"sentry-trace":a,baggage:o};return e.propagateTraceparent&&(s.traceparent=i?bs(i):Tu(r)),s}function wu(e){let{traceId:t,sampled:n,propagationSpanId:r}=e.getPropagationContext();return ps(t,r,n)}function Tu(e){let{traceId:t,sampled:n,propagationSpanId:r}=e.getPropagationContext();return ms(t,r,n)}const Eu=`[Tracing] Not injecting trace data for url because it does not match tracePropagationTargets:`;function Du(e,t,n){if(typeof e!=`string`||!t)return!0;let r=n?.get(e);if(r!==void 0)return W&&!r&&K.log(Eu,e),r;let i=$a(e,t);return n?.set(e,i),W&&!i&&K.log(Eu,e),i}function Ou(e){let t=Object.create(null);try{Object.entries(e).forEach(([e,n])=>{typeof n==`string`&&(t[e]=n)})}catch{}return t}function ku(e){let t=e.headers||{},n=(typeof t[`x-forwarded-host`]==`string`?t[`x-forwarded-host`]:void 0)||(typeof t.host==`string`?t.host:void 0),r=(typeof t[`x-forwarded-proto`]==`string`?t[`x-forwarded-proto`]:void 0)||e.protocol||(e.socket?.encrypted?`https`:`http`),i=e.url||``,a=Au({url:i,host:n,protocol:r}),o=e.body||void 0,s=e.cookies;return{url:a,method:e.method,query_string:ju(i),headers:Ou(t),cookies:s,data:o}}function Au({url:e,protocol:t,host:n}){if(e?.startsWith(`http`))return e;if(e&&n)return`${t}://${n}${e}`}function ju(e){if(e)try{let t=new URL(e,`http://s.io`).search.slice(1);return t.length?t:void 0}catch{return}}function Mu(e,t){let n=X(),r=Y();if(!n)return;let{beforeBreadcrumb:i=null,maxBreadcrumbs:a=100}=n.getOptions();if(a<=0)return;let o={timestamp:mo(),...e},s=i?Ui(()=>i(o,t)):o;s!==null&&(n.emit&&n.emit(`beforeAddBreadcrumb`,s,t),r.addBreadcrumb(s,a))}let Nu;const Pu=new WeakMap,Fu=Z((()=>({name:`FunctionToString`,setupOnce(){Nu=Function.prototype.toString;try{Function.prototype.toString=function(...e){let t=Ba(this),n=Pu.has(X())&&t!==void 0?t:this;return Nu.apply(n,e)}}catch{}},setup(e){Pu.set(e,!0)}}))),Iu=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,/^Can't find variable: gmo$/,/^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/,`can't redefine non-configurable property "solana"`,`vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)`,`Can't find variable: _AutofillCallbackHandler`,/^Non-Error promise rejection captured with value: Object Not Found Matching Id:\d+, MethodName:simulateEvent, ParamCount:\d+$/,/^Java exception was raised during method invocation$/],Lu=Z((e={})=>{let t;return{name:`EventFilters`,setup(n){t=Ru(e,n.getOptions())},processEvent(n,r,i){return t||=Ru(e,i.getOptions()),zu(n,t)?null:n}}});function Ru(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:Iu],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[]]}}function zu(e,t){if(e.type){if(e.type===`transaction`&&Vu(e,t.ignoreTransactions))return W&&K.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.\nEvent: ${io(e)}`),!0}else{if(Bu(e,t.ignoreErrors))return W&&K.warn(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${io(e)}`),!0;if(Ku(e))return W&&K.warn(`Event dropped due to not having an error message, error type or stacktrace.\nEvent: ${io(e)}`),!0;if(Hu(e,t.denyUrls))return W&&K.warn(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${io(e)}.\nUrl: ${Gu(e)}`),!0;if(!Uu(e,t.allowUrls))return W&&K.warn(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${io(e)}.\nUrl: ${Gu(e)}`),!0}return!1}function Bu(e,t){return t?.length?Nl(e).some(e=>$a(e,t)):!1}function Vu(e,t){if(!t?.length)return!1;let n=e.transaction;return n?$a(n,t):!1}function Hu(e,t){if(!t?.length)return!1;let n=Gu(e);return n?$a(n,t):!1}function Uu(e,t){if(!t?.length)return!0;let n=Gu(e);return n?$a(n,t):!0}function Wu(e=[]){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n&&n.filename!==`<anonymous>`&&n.filename!==`[native code]`)return n.filename||null}return null}function Gu(e){try{let t=[...e.exception?.values??[]].reverse().find(e=>e.mechanism?.parent_id===void 0&&e.stacktrace?.frames?.length)?.stacktrace?.frames;return t?Wu(t):null}catch{return W&&K.error(`Cannot extract url for event ${io(e)}`),null}}function Ku(e){return e.exception?.values?.length?!e.message&&!e.exception.values.some(e=>e.stacktrace||e.type&&e.type!==`Error`||e.value):!1}function qu(e,t,n,r,i,a){if(!i.exception?.values||!a||!Ma(a.originalException,Error))return;let o=i.exception.values.length>0?i.exception.values[i.exception.values.length-1]:void 0;o&&(i.exception.values=Ju(e,t,r,a.originalException,n,i.exception.values,o,0))}function Ju(e,t,n,r,i,a,o,s){if(a.length>=n+1)return a;let c=[...a];if(Ma(r[i],Error)){Xu(o,s,r);let a=e(t,r[i]),l=c.length;Zu(a,i,l,s),c=Ju(e,t,n,r[i],i,[a,...c],a,l)}return Yu(r)&&r.errors.forEach((a,l)=>{if(Ma(a,Error)){Xu(o,s,r);let u=e(t,a),d=c.length;Zu(u,`errors[${l}]`,d,s),c=Ju(e,t,n,a,i,[u,...c],u,d)}}),c}function Yu(e){return Array.isArray(e.errors)}function Xu(e,t,n){e.mechanism={handled:!0,type:`auto.core.linked_errors`,...Yu(n)&&{is_exception_group:!0},...e.mechanism,exception_id:t}}function Zu(e,t,n,r){e.mechanism={handled:!0,...e.mechanism,type:`chained`,source:t,exception_id:n,parent_id:r}}const Qu=Z(((e={})=>{let t=e.limit||5,n=e.key||`cause`;return{name:`LinkedErrors`,preprocessEvent(e,r,i){qu(su,i.getOptions().stackParser,n,t,e,r)}}}));function $u(e){let t={},n=0;for(;n<e.length;){let r=e.indexOf(`=`,n);if(r===-1)break;let i=e.indexOf(`;`,n);if(i===-1)i=e.length;else if(i<r){n=e.lastIndexOf(`;`,r-1)+1;continue}let a=e.slice(n,r).trim();if(t[a]===void 0){let n=e.slice(r+1,i).trim();n.charCodeAt(0)===34&&(n=n.slice(1,-1));try{t[a]=n.indexOf(`%`)===-1?n:decodeURIComponent(n)}catch{t[a]=n}}n=i+1}return t}const ed=[`X-Client-IP`,`X-Forwarded-For`,`Fly-Client-IP`,`CF-Connecting-IP`,`Fastly-Client-Ip`,`True-Client-Ip`,`X-Real-IP`,`X-Cluster-Client-IP`,`X-Forwarded`,`Forwarded-For`,`Forwarded`,`X-Vercel-Forwarded-For`];function td(e){let t={};for(let n of Object.keys(e))t[n.toLowerCase()]=e[n];return ed.map(e=>{let n=t[e.toLowerCase()],r=Array.isArray(n)?n.join(`;`):n;return e===`Forwarded`?nd(r):r?.split(`,`).map(e=>e.trim())}).reduce((e,t)=>t?e.concat(t):e,[]).find(e=>e!==null&&rd(e))||null}function nd(e){if(!e)return null;for(let t of e.split(`;`))if(t.startsWith(`for=`))return t.slice(4);return null}function rd(e){return/(?:^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$)|(?:^(?:(?:[a-fA-F\d]{1,4}:){7}(?:[a-fA-F\d]{1,4}|:)|(?:[a-fA-F\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|:[a-fA-F\d]{1,4}|:)|(?:[a-fA-F\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,2}|:)|(?:[a-fA-F\d]{1,4}:){4}(?:(?::[a-fA-F\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,3}|:)|(?:[a-fA-F\d]{1,4}:){3}(?:(?::[a-fA-F\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,4}|:)|(?:[a-fA-F\d]{1,4}:){2}(?:(?::[a-fA-F\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,5}|:)|(?:[a-fA-F\d]{1,4}:){1}(?:(?::[a-fA-F\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,6}|:)|(?::(?:(?::[a-fA-F\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,7}|:)))(?:%[0-9a-zA-Z]{1,})?$)/.test(e)}const id={cookies:!0,data:!0,headers:!0,query_string:!0,url:!0},ad=Z(((e={})=>{let t={...id,...e.include};return{name:`RequestData`,processEvent(e,n,r){let{sdkProcessingMetadata:i={}}=e,{normalizedRequest:a,ipAddress:o}=i,s={...t,ip:t.ip??r.getOptions().sendDefaultPii};return a&&od(e,a,{ipAddress:o},s),e}}}));function od(e,t,n,r){if(e.request={...e.request,...sd(t,r)},r.ip){let r=t.headers&&td(t.headers)||n.ipAddress;r&&(e.user={...e.user,ip_address:r})}}function sd(e,t){let n={},r={...e.headers};return t.headers&&(n.headers=r,t.cookies||delete r.cookie,t.ip||ed.forEach(e=>{delete r[e]})),n.method=e.method,t.url&&(n.url=e.url),t.cookies&&(n.cookies=e.cookies||(r?.cookie?$u(r.cookie):void 0)||{}),t.query_string&&(n.query_string=e.query_string),t.data&&(n.data=e.data),n}function cd(e){let t=`console`;ua(t,e),da(t,ld)}function ld(){`console`in G&&Vi.forEach(function(e){e in G.console&&La(G.console,e,function(t){return Hi[e]=t,function(...t){fa(`console`,{args:t,level:e}),Hi[e]?.apply(G.console,t)}})})}function ud(e){return e===`warn`?`warning`:[`fatal`,`error`,`warning`,`log`,`info`,`debug`].includes(e)?e:`log`}const dd=/^(\S+:\\|\/?)([\s\S]*?)((?:\.{1,2}|[^/\\]+?|)(\.[^./\\]*|))(?:[/\\]*)$/;function fd(e){let t=e.length>1024?`<truncated>${e.slice(-1024)}`:e,n=dd.exec(t);return n?n.slice(1):[]}function pd(e){let t=fd(e),n=t[0]||``,r=t[1];return!n&&!r?`.`:(r&&=r.slice(0,r.length-1),n+r)}const md=Z((e={})=>{let t=new Set(e.levels||Vi);return{name:`Console`,setup(e){cd(({args:n,level:r})=>{X()!==e||!t.has(r)||hd(r,n)})}}});function hd(e,t){let n={category:`console`,data:{arguments:t,logger:`console`},level:ud(e),message:gd(t)};if(e===`assert`)if(t[0]===!1){let e=t.slice(1);n.message=e.length>0?`Assertion failed: ${gd(e)}`:`Assertion failed`,n.data.arguments=e}else return;Mu(n,{input:t,level:e})}function gd(e){return`util`in G&&typeof G.util.format==`function`?G.util.format(...e):Za(e,` `)}function _d(e){if(e!==void 0){if(e>=400&&e<500)return`warning`;if(e>=500)return`error`}}function vd(e,t=!1){return!(t||e&&!e.startsWith(`/`)&&!e.match(/^[A-Z]:/)&&!e.startsWith(`.`)&&!e.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&e!==void 0&&!e.includes(`node_modules/`)}function yd(e){let t=/^\s*[-]{4,}$/,n=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/,r=/at (?:async )?(.+?) \(data:(.*?),/;return i=>{let a=i.match(r);if(a)return{filename:`<data:${a[2]}>`,function:a[1]};let o=i.match(n);if(o){let t,n,r,i,a;if(o[1]){r=o[1];let e=r.lastIndexOf(`.`);if(r[e-1]===`.`&&e--,e>0){t=r.slice(0,e),n=r.slice(e+1);let i=t.indexOf(`.Module`);i>0&&(r=r.slice(i+1),t=t.slice(0,i))}i=void 0}n&&(i=t,a=n),n===`<anonymous>`&&(a=void 0,r=void 0),r===void 0&&(a||=`?`,r=i?`${i}.${a}`:a);let s=sa(o[2]),c=o[5]===`native`;!s&&o[5]&&!c&&(s=o[5]);let l=s?Sd(s):void 0;return{filename:l??s,module:l&&e?.(l),function:r,lineno:xd(o[3]),colno:xd(o[4]),in_app:vd(s||``,c)}}if(i.match(t))return{filename:i}}}function bd(e){return[90,yd(e)]}function xd(e){return parseInt(e||``,10)||void 0}function Sd(e){try{return decodeURI(e)}catch{return}}var Cd=class{constructor(e){this._maxSize=e,this._cache=new Map}get size(){return this._cache.size}get(e){let t=this._cache.get(e);if(t!==void 0)return this._cache.delete(e),this._cache.set(e,t),t}set(e,t){if(this._cache.size>=this._maxSize){let e=this._cache.keys().next().value;this._cache.delete(e)}this._cache.set(e,t)}remove(e){let t=this._cache.get(e);return t&&this._cache.delete(e),t}clear(){this._cache.clear()}keys(){return Array.from(this._cache.keys())}values(){let e=[];return this._cache.forEach(t=>e.push(t)),e}};const Q=typeof __SENTRY_DEBUG__>`u`||__SENTRY_DEBUG__;var wd=class extends mu{constructor(e){let t=e.includeServerName===!1?void 0:e.serverName||global.process.env.SENTRY_NAME||j.hostname(),n={...e,platform:`node`,runtime:{name:`node`,version:global.process.version},serverName:t};Su(n,`node-light`,[`node-core`]),K.log(`Initializing Sentry: process: ${process.pid}, thread: ${at?`main`:`worker-${ot}`}.`),super(n),this.getOptions().enableLogs&&(this._logOnExitFlushListener=()=>{gl(this)},t&&this.on(`beforeCaptureLog`,e=>{e.attributes={...e.attributes,"server.address":t}}),process.on(`beforeExit`,this._logOnExitFlushListener))}async flush(e){return this.getOptions().sendClientReports&&this._flushOutcomes(),super.flush(e)}async close(e){return this._clientReportInterval&&clearInterval(this._clientReportInterval),this._clientReportOnExitFlushListener&&process.off(`beforeExit`,this._clientReportOnExitFlushListener),this._logOnExitFlushListener&&process.off(`beforeExit`,this._logOnExitFlushListener),super.close(e)}startClientReportTracking(){let e=this.getOptions();e.sendClientReports&&(this._clientReportOnExitFlushListener=()=>{this._flushOutcomes()},this._clientReportInterval=setInterval(()=>{Q&&K.log(`Flushing client reports based on interval.`),this._flushOutcomes()},e.clientReportFlushInterval??6e4).unref(),process.on(`beforeExit`,this._clientReportOnExitFlushListener))}};const Td=Z((e={})=>({name:`ChildProcess`,setup(){st.channel(`child_process`).subscribe(t=>{t&&typeof t==`object`&&`process`in t&&Ed(t.process,e)}),st.channel(`worker_threads`).subscribe(t=>{t&&typeof t==`object`&&`worker`in t&&Dd(t.worker,e)})}}));function Ed(e,t){let n=!1,r;e.on(`spawn`,()=>{if(e.spawnfile===`/usr/bin/sw_vers`){n=!0;return}r={spawnfile:e.spawnfile},t.includeChildProcessArgs&&(r.spawnargs=e.spawnargs)}).on(`exit`,e=>{n||(n=!0,e!==null&&e!==0&&Mu({category:`child_process`,message:`Child process exited with code '${e}'`,level:e===0?`info`:`warning`,data:r}))}).on(`error`,e=>{n||(n=!0,Mu({category:`child_process`,message:`Child process errored with '${e.message}'`,level:`error`,data:r}))})}function Dd(e,t){let n;e.on(`online`,()=>{n=e.threadId}).on(`error`,e=>{t.captureWorkerErrors===!1?Mu({category:`worker_thread`,message:`Worker thread errored with '${e.message}'`,level:`error`,data:{threadId:n}}):Jc(e,{mechanism:{type:`auto.child_process.worker_thread`,handled:!1,data:{threadId:String(n)}}})})}const Od=Ue(dt),kd=Ue(pt),Ad=Z(((e={})=>{let t,n={app:!0,os:!0,device:!0,culture:!0,cloudResource:!0,...e};async function r(e){t===void 0&&(t=i());let n=jd(await t);return e.contexts={...e.contexts,app:{...n.app,...e.contexts?.app},os:{...n.os,...e.contexts?.os},device:{...n.device,...e.contexts?.device},culture:{...n.culture,...e.contexts?.culture},cloud_resource:{...n.cloud_resource,...e.contexts?.cloud_resource}},e}async function i(){let e={};if(n.os&&(e.os=await Md()),n.app&&(e.app=Pd()),n.device&&(e.device=Fd(n.device)),n.culture){let t=Nd();t&&(e.culture=t)}return n.cloudResource&&(e.cloud_resource=Ud()),e}return{name:`Context`,processEvent(e){return r(e)}}}));function jd(e){if(e.app?.app_memory&&(e.app.app_memory=process.memoryUsage().rss),e.app?.free_memory&&typeof process.availableMemory==`function`){let t=process.availableMemory?.();t!=null&&(e.app.free_memory=t)}return e.device?.free_memory&&(e.device.free_memory=j.freemem()),e}async function Md(){let e=j.platform();switch(e){case`darwin`:return Bd();case`linux`:return Hd();default:return{name:Id[e]||e,version:j.release()}}}function Nd(){try{if(typeof process.versions.icu!=`string`)return;let e=new Date(9e8);if(new Intl.DateTimeFormat(`es`,{month:`long`}).format(e)===`enero`){let e=Intl.DateTimeFormat().resolvedOptions();return{locale:e.locale,timezone:e.timeZone}}}catch{}}function Pd(){let e=process.memoryUsage().rss,t={app_start_time:new Date(Date.now()-process.uptime()*1e3).toISOString(),app_memory:e};if(typeof process.availableMemory==`function`){let e=process.availableMemory?.();e!=null&&(t.free_memory=e)}return t}function Fd(e){let t={},n;try{n=j.uptime()}catch{}if(typeof n==`number`&&(t.boot_time=new Date(Date.now()-n*1e3).toISOString()),t.arch=j.arch(),(e===!0||e.memory)&&(t.memory_size=j.totalmem(),t.free_memory=j.freemem()),e===!0||e.cpu){let e=j.cpus(),n=e?.[0];n&&(t.processor_count=e.length,t.cpu_description=n.model,t.processor_frequency=n.speed)}return t}const Id={aix:`IBM AIX`,freebsd:`FreeBSD`,openbsd:`OpenBSD`,sunos:`SunOS`,win32:`Windows`,ohos:`OpenHarmony`,android:`Android`},Ld=[{name:`fedora-release`,distros:[`Fedora`]},{name:`redhat-release`,distros:[`Red Hat Linux`,`Centos`]},{name:`redhat_version`,distros:[`Red Hat Linux`]},{name:`SuSE-release`,distros:[`SUSE Linux`]},{name:`lsb-release`,distros:[`Ubuntu Linux`,`Arch Linux`]},{name:`debian_version`,distros:[`Debian`]},{name:`debian_release`,distros:[`Debian`]},{name:`arch-release`,distros:[`Arch Linux`]},{name:`gentoo-release`,distros:[`Gentoo Linux`]},{name:`novell-release`,distros:[`SUSE Linux`]},{name:`alpine-release`,distros:[`Alpine Linux`]}],Rd={alpine:e=>e,arch:e=>zd(/distrib_release=(.*)/,e),centos:e=>zd(/release ([^ ]+)/,e),debian:e=>e,fedora:e=>zd(/release (..)/,e),mint:e=>zd(/distrib_release=(.*)/,e),red:e=>zd(/release ([^ ]+)/,e),suse:e=>zd(/VERSION = (.*)\n/,e),ubuntu:e=>zd(/distrib_release=(.*)/,e)};function zd(e,t){let n=e.exec(t);return n?n[1]:void 0}async function Bd(){let e={kernel_version:j.release(),name:`Mac OS X`,version:`10.${Number(j.release().split(`.`)[0])-4}`};try{let t=await new Promise((e,t)=>{$e(`/usr/bin/sw_vers`,(n,r)=>{if(n){t(n);return}e(r)})});e.name=zd(/^ProductName:\s+(.*)$/m,t),e.version=zd(/^ProductVersion:\s+(.*)$/m,t),e.build=zd(/^BuildVersion:\s+(.*)$/m,t)}catch{}return e}function Vd(e){return e.split(` `)[0].toLowerCase()}async function Hd(){let e={kernel_version:j.release(),name:`Linux`};try{let t=await kd(`/etc`),n=Ld.find(e=>t.includes(e.name));if(!n)return e;let r=(await Od(Ye(`/etc`,n.name),{encoding:`utf-8`})).toLowerCase(),{distros:i}=n;e.name=i.find(e=>r.indexOf(Vd(e))>=0)||i[0],e.version=Rd[Vd(e.name)]?.(r)}catch{}return e}function Ud(){if(process.env.VERCEL)return{"cloud.provider":`vercel`,"cloud.region":process.env.VERCEL_REGION};if(process.env.AWS_REGION)return{"cloud.provider":`aws`,"cloud.region":process.env.AWS_REGION,"cloud.platform":process.env.AWS_EXECUTION_ENV};if(process.env.GCP_PROJECT)return{"cloud.provider":`gcp`};if(process.env.ALIYUN_REGION_ID)return{"cloud.provider":`alibaba_cloud`,"cloud.region":process.env.ALIYUN_REGION_ID};if(process.env.WEBSITE_SITE_NAME&&process.env.REGION_NAME)return{"cloud.provider":`azure`,"cloud.region":process.env.REGION_NAME};if(process.env.IBM_CLOUD_REGION)return{"cloud.provider":`ibm_cloud`,"cloud.region":process.env.IBM_CLOUD_REGION};if(process.env.TENCENTCLOUD_REGION)return{"cloud.provider":`tencent_cloud`,"cloud.region":process.env.TENCENTCLOUD_REGION,"cloud.account.id":process.env.TENCENTCLOUD_APPID,"cloud.availability_zone":process.env.TENCENTCLOUD_ZONE};if(process.env.NETLIFY)return{"cloud.provider":`netlify`};if(process.env.FLY_REGION)return{"cloud.provider":`fly.io`,"cloud.region":process.env.FLY_REGION};if(process.env.DYNO)return{"cloud.provider":`heroku`}}const Wd=new Cd(10),Gd=new Cd(20);function Kd(e,t,n){let r=e.get(t);return r===void 0?(e.set(t,n),n):r}function qd(e){return!!(e.startsWith(`node:`)||e.endsWith(`.min.js`)||e.endsWith(`.min.cjs`)||e.endsWith(`.min.mjs`)||e.startsWith(`data:`))}function Jd(e){return e.lineno!==void 0&&e.lineno>1e4||e.colno!==void 0&&e.colno>1e3}function Yd(e,t){let n=Wd.get(e);if(n===void 0)return!1;for(let e=t[0];e<=t[1];e++)if(n[e]===void 0)return!1;return!0}function Xd(e,t){if(!e.length)return[];let n=0,r=e[0];if(typeof r!=`number`)return[];let i=af(r,t),a=[];for(;;){if(n===e.length-1){a.push(i);break}let r=e[n+1];if(typeof r!=`number`)break;r<=i[1]?i[1]=r+t:(a.push(i),i=af(r,t)),n++}return a}function Zd(e,t,n){return new Promise((r,i)=>{let a=lt(e),o=tt({input:a});function s(){a.destroy(),r()}let c=0,l=0,u=t[l];if(u===void 0){s();return}let d=u[0],f=u[1];function p(t){Gd.set(e,1),Q&&K.error(`Failed to read file: ${e}. Error: ${t}`),o.close(),o.removeAllListeners(),s()}a.on(`error`,p),o.on(`error`,p),o.on(`close`,s),o.on(`line`,e=>{if(c++,!(c<d)&&(n[c]=Xa(e,0),c>=f)){if(l===t.length-1){o.close(),o.removeAllListeners();return}l++;let e=t[l];if(e===void 0){o.close(),o.removeAllListeners();return}d=e[0],f=e[1]}})})}async function Qd(e,t){let n={};if(t>0&&e.exception?.values){for(let t of e.exception.values)if(t.stacktrace?.frames?.length)for(let e=t.stacktrace.frames.length-1;e>=0;e--){let r=t.stacktrace.frames[e],i=r?.filename;!r||typeof i!=`string`||typeof r.lineno!=`number`||qd(i)||Jd(r)||(n[i]||(n[i]=[]),n[i].push(r.lineno))}}let r=Object.keys(n);if(r.length==0)return e;let i=[];for(let e of r){if(Gd.get(e))continue;let r=n[e];if(!r)continue;r.sort((e,t)=>e-t);let a=Xd(r,t);if(a.every(t=>Yd(e,t)))continue;let o=Kd(Wd,e,{});i.push(Zd(e,a,o))}if(await Promise.all(i).catch(()=>{Q&&K.log(`Failed to read one or more source files and resolve context lines`)}),t>0&&e.exception?.values)for(let n of e.exception.values)n.stacktrace?.frames&&n.stacktrace.frames.length>0&&$d(n.stacktrace.frames,t,Wd);return e}function $d(e,t,n){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno==`number`){let e=n.get(r.filename);if(e===void 0)continue;tf(r.lineno,r,t,e)}}function ef(e){delete e.pre_context,delete e.context_line,delete e.post_context}function tf(e,t,n,r){if(t.lineno===void 0||r===void 0){Q&&K.error(`Cannot resolve context for frame with no lineno or file contents`);return}t.pre_context=[];for(let i=nf(e,n);i<e;i++){let e=r[i];if(e===void 0){ef(t),Q&&K.error(`Could not find line ${i} in file ${t.filename}`);return}t.pre_context.push(e)}if(r[e]===void 0){ef(t),Q&&K.error(`Could not find line ${e} in file ${t.filename}`);return}t.context_line=r[e];let i=rf(e,n);t.post_context=[];for(let n=e+1;n<=i;n++){let e=r[n];if(e===void 0)break;t.post_context.push(e)}}function nf(e,t){return Math.max(1,e-t)}function rf(e,t){return e+t}function af(e,t){return[nf(e,t),rf(e,t)]}const of=Z(((e={})=>{let t=e.frameContextLines===void 0?7:e.frameContextLines;return{name:`ContextLines`,processEvent(e){return Qd(e,t)}}})),sf=lo(process.versions.node),cf=sf.major;sf.minor;let lf;async function uf(){if(lf===void 0)try{lf=!!(await import(`node:inspector`)).url()}catch{lf=!1}return lf}const df=`__SENTRY_ERROR_LOCAL_VARIABLES__`;function ff(e,t,n){let r=0,i=5,a=0;return setInterval(()=>{a===0?r>e&&(i*=2,n(i),i>86400&&(i=86400),a=i):(--a,a===0&&t()),r=0},1e3).unref(),()=>{r+=1}}function pf(e){return e!==void 0&&(e.length===0||e===`?`||e===`<anonymous>`)}function mf(e,t){return e===t||`Object.${e}`===t||e===`Object.${t}`||pf(e)&&pf(t)}function hf(...e){K.log(`[LocalVariables]`,...e)}const gf=Z(((e={})=>{function t(t,n){let r=(t.stacktrace?.frames||[]).filter(e=>e.function!==`new Promise`);for(let t=0;t<r.length;t++){let i=r.length-t-1,a=n[t],o=r[i];if(!o||!a)break;a.vars===void 0||o.in_app===!1&&e.includeOutOfAppFrames!==!0||!mf(o.function,a.function)||(o.vars=a.vars)}}function n(e,n){if(n.originalException&&typeof n.originalException==`object`&&df in n.originalException&&Array.isArray(n.originalException[df])){for(let r of e.exception?.values||[])t(r,n.originalException[df]);n.originalException[df]=void 0}return e}async function r(){let e=await import(`node:inspector`);e.url()||e.open(0)}function i(e){let t=new mt(new URL(`data:application/javascript;base64,LyohIEBzZW50cnkvbm9kZS1jb3JlIDEwLjQyLjAgKDA3YzkxOTApIHwgaHR0cHM6Ly9naXRodWIuY29tL2dldHNlbnRyeS9zZW50cnktamF2YXNjcmlwdCAqLwppbXBvcnR7U2Vzc2lvbiBhcyBlfWZyb20ibm9kZTppbnNwZWN0b3IvcHJvbWlzZXMiO2ltcG9ydHt3b3JrZXJEYXRhIGFzIHR9ZnJvbSJub2RlOndvcmtlcl90aHJlYWRzIjtjb25zdCBuPWdsb2JhbFRoaXMsaT17fTtjb25zdCBvPSJfX1NFTlRSWV9FUlJPUl9MT0NBTF9WQVJJQUJMRVNfXyI7Y29uc3QgYT10O2Z1bmN0aW9uIHMoLi4uZSl7YS5kZWJ1ZyYmZnVuY3Rpb24oZSl7aWYoISgiY29uc29sZSJpbiBuKSlyZXR1cm4gZSgpO2NvbnN0IHQ9bi5jb25zb2xlLG89e30sYT1PYmplY3Qua2V5cyhpKTthLmZvckVhY2goZT0+e2NvbnN0IG49aVtlXTtvW2VdPXRbZV0sdFtlXT1ufSk7dHJ5e3JldHVybiBlKCl9ZmluYWxseXthLmZvckVhY2goZT0+e3RbZV09b1tlXX0pfX0oKCk9PmNvbnNvbGUubG9nKCJbTG9jYWxWYXJpYWJsZXMgV29ya2VyXSIsLi4uZSkpfWFzeW5jIGZ1bmN0aW9uIGMoZSx0LG4saSl7Y29uc3Qgbz1hd2FpdCBlLnBvc3QoIlJ1bnRpbWUuZ2V0UHJvcGVydGllcyIse29iamVjdElkOnQsb3duUHJvcGVydGllczohMH0pO2lbbl09by5yZXN1bHQuZmlsdGVyKGU9PiJsZW5ndGgiIT09ZS5uYW1lJiYhaXNOYU4ocGFyc2VJbnQoZS5uYW1lLDEwKSkpLnNvcnQoKGUsdCk9PnBhcnNlSW50KGUubmFtZSwxMCktcGFyc2VJbnQodC5uYW1lLDEwKSkubWFwKGU9PmUudmFsdWU/LnZhbHVlKX1hc3luYyBmdW5jdGlvbiByKGUsdCxuLGkpe2NvbnN0IG89YXdhaXQgZS5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLHtvYmplY3RJZDp0LG93blByb3BlcnRpZXM6ITB9KTtpW25dPW8ucmVzdWx0Lm1hcChlPT5bZS5uYW1lLGUudmFsdWU/LnZhbHVlXSkucmVkdWNlKChlLFt0LG5dKT0+KGVbdF09bixlKSx7fSl9ZnVuY3Rpb24gdShlLHQpe2UudmFsdWUmJigidmFsdWUiaW4gZS52YWx1ZT92b2lkIDA9PT1lLnZhbHVlLnZhbHVlfHxudWxsPT09ZS52YWx1ZS52YWx1ZT90W2UubmFtZV09YDwke2UudmFsdWUudmFsdWV9PmA6dFtlLm5hbWVdPWUudmFsdWUudmFsdWU6ImRlc2NyaXB0aW9uImluIGUudmFsdWUmJiJmdW5jdGlvbiIhPT1lLnZhbHVlLnR5cGU/dFtlLm5hbWVdPWA8JHtlLnZhbHVlLmRlc2NyaXB0aW9ufT5gOiJ1bmRlZmluZWQiPT09ZS52YWx1ZS50eXBlJiYodFtlLm5hbWVdPSI8dW5kZWZpbmVkPiIpKX1hc3luYyBmdW5jdGlvbiBsKGUsdCl7Y29uc3Qgbj1hd2FpdCBlLnBvc3QoIlJ1bnRpbWUuZ2V0UHJvcGVydGllcyIse29iamVjdElkOnQsb3duUHJvcGVydGllczohMH0pLGk9e307Zm9yKGNvbnN0IHQgb2Ygbi5yZXN1bHQpaWYodC52YWx1ZT8ub2JqZWN0SWQmJiJBcnJheSI9PT10LnZhbHVlLmNsYXNzTmFtZSl7Y29uc3Qgbj10LnZhbHVlLm9iamVjdElkO2F3YWl0IGMoZSxuLHQubmFtZSxpKX1lbHNlIGlmKHQudmFsdWU/Lm9iamVjdElkJiYiT2JqZWN0Ij09PXQudmFsdWUuY2xhc3NOYW1lKXtjb25zdCBuPXQudmFsdWUub2JqZWN0SWQ7YXdhaXQgcihlLG4sdC5uYW1lLGkpfWVsc2UgdC52YWx1ZSYmdSh0LGkpO3JldHVybiBpfWxldCBmOyhhc3luYyBmdW5jdGlvbigpe2NvbnN0IHQ9bmV3IGU7dC5jb25uZWN0VG9NYWluVGhyZWFkKCkscygiQ29ubmVjdGVkIHRvIG1haW4gdGhyZWFkIik7bGV0IG49ITE7dC5vbigiRGVidWdnZXIucmVzdW1lZCIsKCk9PntuPSExfSksdC5vbigiRGVidWdnZXIucGF1c2VkIixlPT57bj0hMCxhc3luYyBmdW5jdGlvbihlLHtyZWFzb246dCxkYXRhOntvYmplY3RJZDpufSxjYWxsRnJhbWVzOml9KXtpZigiZXhjZXB0aW9uIiE9PXQmJiJwcm9taXNlUmVqZWN0aW9uIiE9PXQpcmV0dXJuO2lmKGY/LigpLG51bGw9PW4pcmV0dXJuO2NvbnN0IGE9W107Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0Kyspe2NvbnN0e3Njb3BlQ2hhaW46bixmdW5jdGlvbk5hbWU6byx0aGlzOnN9PWlbdF0sYz1uLmZpbmQoZT0+ImxvY2FsIj09PWUudHlwZSkscj0iZ2xvYmFsIiE9PXMuY2xhc3NOYW1lJiZzLmNsYXNzTmFtZT9gJHtzLmNsYXNzTmFtZX0uJHtvfWA6bztpZih2b2lkIDA9PT1jPy5vYmplY3Qub2JqZWN0SWQpYVt0XT17ZnVuY3Rpb246cn07ZWxzZXtjb25zdCBuPWF3YWl0IGwoZSxjLm9iamVjdC5vYmplY3RJZCk7YVt0XT17ZnVuY3Rpb246cix2YXJzOm59fX1hd2FpdCBlLnBvc3QoIlJ1bnRpbWUuY2FsbEZ1bmN0aW9uT24iLHtmdW5jdGlvbkRlY2xhcmF0aW9uOmBmdW5jdGlvbigpIHsgdGhpcy4ke299ID0gdGhpcy4ke299IHx8ICR7SlNPTi5zdHJpbmdpZnkoYSl9OyB9YCxzaWxlbnQ6ITAsb2JqZWN0SWQ6bn0pLGF3YWl0IGUucG9zdCgiUnVudGltZS5yZWxlYXNlT2JqZWN0Iix7b2JqZWN0SWQ6bn0pfSh0LGUucGFyYW1zKS50aGVuKGFzeW5jKCk9PntuJiZhd2FpdCB0LnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpfSxhc3luYyBlPT57biYmYXdhaXQgdC5wb3N0KCJEZWJ1Z2dlci5yZXN1bWUiKX0pfSksYXdhaXQgdC5wb3N0KCJEZWJ1Z2dlci5lbmFibGUiKTtjb25zdCBpPSExIT09YS5jYXB0dXJlQWxsRXhjZXB0aW9ucztpZihhd2FpdCB0LnBvc3QoIkRlYnVnZ2VyLnNldFBhdXNlT25FeGNlcHRpb25zIix7c3RhdGU6aT8iYWxsIjoidW5jYXVnaHQifSksaSl7Y29uc3QgZT1hLm1heEV4Y2VwdGlvbnNQZXJTZWNvbmR8fDUwO2Y9ZnVuY3Rpb24oZSx0LG4pe2xldCBpPTAsbz01LGE9MDtyZXR1cm4gc2V0SW50ZXJ2YWwoKCk9PnswPT09YT9pPmUmJihvKj0yLG4obyksbz44NjQwMCYmKG89ODY0MDApLGE9byk6KGEtPTEsMD09PWEmJnQoKSksaT0wfSwxZTMpLnVucmVmKCksKCk9PntpKz0xfX0oZSxhc3luYygpPT57cygiUmF0ZS1saW1pdCBsaWZ0ZWQuIiksYXdhaXQgdC5wb3N0KCJEZWJ1Z2dlci5zZXRQYXVzZU9uRXhjZXB0aW9ucyIse3N0YXRlOiJhbGwifSl9LGFzeW5jIGU9PntzKGBSYXRlLWxpbWl0IGV4Y2VlZGVkLiBEaXNhYmxpbmcgY2FwdHVyaW5nIG9mIGNhdWdodCBleGNlcHRpb25zIGZvciAke2V9IHNlY29uZHMuYCksYXdhaXQgdC5wb3N0KCJEZWJ1Z2dlci5zZXRQYXVzZU9uRXhjZXB0aW9ucyIse3N0YXRlOiJ1bmNhdWdodCJ9KX0pfX0pKCkuY2F0Y2goZT0+e3MoIkZhaWxlZCB0byBzdGFydCBkZWJ1Z2dlciIsZSl9KSxzZXRJbnRlcnZhbCgoKT0+e30sMWU0KTs=`),{workerData:e,execArgv:[],env:{...process.env,NODE_OPTIONS:void 0}});process.on(`exit`,()=>{t.terminate()}),t.once(`error`,e=>{hf(`Worker error`,e)}),t.once(`exit`,e=>{hf(`Worker exit`,e)}),t.unref()}return{name:`LocalVariablesAsync`,async setup(t){if(!t.getOptions().includeLocalVariables)return;if(await uf()){K.warn(`Local variables capture has been disabled because the debugger was already enabled`);return}let n={...e,debug:K.isEnabled()};r().then(()=>{try{i(n)}catch(e){K.error(`Failed to start worker`,e)}},e=>{K.error(`Failed to start inspector`,e)})},processEvent(e,t){return n(e,t)}}}));function _f(e){if(e!==void 0)return e.slice(-10).reduce((e,t)=>`${e},${t.function},${t.lineno},${t.colno}`,``)}function vf(e,t){if(t!==void 0)return _f(e(t,1))}function yf(e){let t=[],n=!1;function r(r){t=[],!n&&(n=!0,e(r))}t.push(r);function i(e){t.push(e)}function a(e){let n=t.pop()||r;try{n(e)}catch{r(e)}}return{add:i,next:a}}var bf=class e{constructor(e){this._session=e}static async create(t){return t||new e(new(await(import(`node:inspector`))).Session)}configureAndConnect(e,t){this._session.connect(),this._session.on(`Debugger.paused`,t=>{e(t,()=>{this._session.post(`Debugger.resume`)})}),this._session.post(`Debugger.enable`),this._session.post(`Debugger.setPauseOnExceptions`,{state:t?`all`:`uncaught`})}setPauseOnExceptions(e){this._session.post(`Debugger.setPauseOnExceptions`,{state:e?`all`:`uncaught`})}getLocalVariables(e,t){this._getProperties(e,e=>{let{add:n,next:r}=yf(t);for(let t of e)if(t.value?.objectId&&t.value.className===`Array`){let e=t.value.objectId;n(n=>this._unrollArray(e,t.name,n,r))}else if(t.value?.objectId&&t.value.className===`Object`){let e=t.value.objectId;n(n=>this._unrollObject(e,t.name,n,r))}else t.value&&n(e=>this._unrollOther(t,e,r));r({})})}_getProperties(e,t){this._session.post(`Runtime.getProperties`,{objectId:e,ownProperties:!0},(e,n)=>{t(e?[]:n.result)})}_unrollArray(e,t,n,r){this._getProperties(e,e=>{n[t]=e.filter(e=>e.name!==`length`&&!isNaN(parseInt(e.name,10))).sort((e,t)=>parseInt(e.name,10)-parseInt(t.name,10)).map(e=>e.value?.value),r(n)})}_unrollObject(e,t,n,r){this._getProperties(e,e=>{n[t]=e.map(e=>[e.name,e.value?.value]).reduce((e,[t,n])=>(e[t]=n,e),{}),r(n)})}_unrollOther(e,t,n){e.value&&(`value`in e.value?e.value.value===void 0||e.value.value===null?t[e.name]=`<${e.value.value}>`:t[e.name]=e.value.value:`description`in e.value&&e.value.type!==`function`?t[e.name]=`<${e.value.description}>`:e.value.type===`undefined`&&(t[e.name]=`<undefined>`)),n(t)}};const xf=Z(((e={},t)=>{let n=new Cd(20),r,i=!1;function a(t){let r=_f(t.stacktrace?.frames);if(r===void 0)return;let i=n.remove(r);if(i===void 0)return;let a=(t.stacktrace?.frames||[]).filter(e=>e.function!==`new Promise`);for(let t=0;t<a.length;t++){let n=a.length-t-1,r=i[t],o=a[n];if(!o||!r)break;r.vars===void 0||o.in_app===!1&&e.includeOutOfAppFrames!==!0||!mf(o.function,r.function)||(o.vars=r.vars)}}function o(e){for(let t of e.exception?.values||[])a(t);return e}let s;async function c(){let a=X()?.getOptions();if(a?.includeLocalVariables){if(cf<18){K.log("The `LocalVariables` integration is only supported on Node >= v18.");return}if(await uf()){K.warn(`Local variables capture has been disabled because the debugger was already enabled`);return}try{let o=await bf.create(t),s=(e,{params:{reason:t,data:i,callFrames:a}},s)=>{if(t!==`exception`&&t!==`promiseRejection`){s();return}r?.();let c=vf(e,i.description);if(c==null){s();return}let{add:l,next:u}=yf(e=>{n.set(c,e),s()});for(let e=0;e<Math.min(a.length,5);e++){let{scopeChain:t,functionName:n,this:r}=a[e],i=t.find(e=>e.type===`local`),s=r.className===`global`||!r.className?n:`${r.className}.${n}`;if(i?.object.objectId===void 0)l(t=>{t[e]={function:s},u(t)});else{let t=i.object.objectId;l(n=>o.getLocalVariables(t,t=>{n[e]={function:s,vars:t},u(n)}))}}u([])},c=e.captureAllExceptions!==!1;o.configureAndConnect((e,t)=>s(a.stackParser,e,t),c),c&&(r=ff(e.maxExceptionsPerSecond||50,()=>{K.log(`Local variables rate-limit lifted.`),o.setPauseOnExceptions(!0)},e=>{K.log(`Local variables rate-limit exceeded. Disabling capturing of caught exceptions for ${e} seconds.`),o.setPauseOnExceptions(!1)})),i=!0}catch(e){K.log("The `LocalVariables` integration failed to start.",e)}}}return{name:`LocalVariables`,setupOnce(){s=c()},async processEvent(e){return await s,i?o(e):e},_getCachedFramesCount(){return n.size},_getFirstCachedFrame(){return n.values()[0]}}})),Sf=(e={})=>sf.major<19?xf(e):gf(e);function Cf(){try{return typeof module<`u`&&module.exports!==void 0}catch{return!1}}let wf;const Tf=typeof __SENTRY_SERVER_MODULES__>`u`?{}:__SENTRY_SERVER_MODULES__,Ef=(()=>({name:`Modules`,processEvent(e){return e.modules={...e.modules,...Af()},e},getModules:Af}));function Df(){try{return i.cache?Object.keys(i.cache):[]}catch{return[]}}function Of(){return{...Tf,...Mf(),...Cf()?kf():{}}}function kf(){let e=i.main?.paths||[],t=Df(),n={},r=new Set;return t.forEach(t=>{let i=t,a=()=>{let t=i;if(i=Je(t),!i||t===i||r.has(t))return;if(e.indexOf(i)<0)return a();let o=Ye(t,`package.json`);if(r.add(t),!ut(o))return a();try{let e=JSON.parse(ft(o,`utf8`));n[e.name]=e.version}catch{}};a()}),n}function Af(){return wf||=Of(),wf}function jf(){try{let e=Ye(process.cwd(),`package.json`);return JSON.parse(ft(e,`utf8`))}catch{return{}}}function Mf(){let e=jf();return{...e.dependencies,...e.devDependencies}}function Nf(e){Ui(()=>{console.error(e)});let t=X();if(t===void 0){Q&&K.warn(`No NodeClient was defined, we are exiting the process now.`),global.process.exit(1);return}let n=t.getOptions(),r=n?.shutdownTimeout&&n.shutdownTimeout>0?n.shutdownTimeout:2e3;t.close(r).then(e=>{e||Q&&K.warn(`We reached the timeout for emptying the request buffer, still exiting now!`),global.process.exit(1)},e=>{Q&&K.error(e)})}const Pf=Z((e={})=>{let t={exitEvenIfOtherHandlersAreRegistered:!1,...e};return{name:`OnUncaughtException`,setup(e){at&&global.process.on(`uncaughtException`,Ff(e,t))}}});function Ff(e,t){let n=!1,r=!1,i=!1,a,o=e.getOptions();return Object.assign(s=>{let c=Nf;t.onFatalError?c=t.onFatalError:o.onFatalError&&(c=o.onFatalError);let l=global.process.listeners(`uncaughtException`).filter(e=>e.name!==`domainUncaughtExceptionClear`&&e.tag!==`sentry_tracingErrorCallback`&&e._errorHandler!==!0).length===0,u=t.exitEvenIfOtherHandlersAreRegistered||l;n?u&&(i?(Q&&K.warn(`uncaught exception after calling fatal error shutdown callback - this is bad! forcing shutdown`),Nf(s)):r||(r=!0,setTimeout(()=>{i||(i=!0,c(a,s))},2e3))):(a=s,n=!0,X()===e&&Jc(s,{originalException:s,captureContext:{level:`fatal`},mechanism:{handled:!1,type:`auto.node.onuncaughtexception`}}),!i&&u&&(i=!0,c(s)))},{_errorHandler:!0})}const If=[{name:`AI_NoOutputGeneratedError`},{name:`AbortError`}],Lf=Z(((e={})=>{let t={mode:e.mode??`warn`,ignore:[...If,...e.ignore??[]]};return{name:`OnUnhandledRejection`,setup(e){global.process.on(`unhandledRejection`,Vf(e,t))}}}));function Rf(e){if(typeof e!=`object`||!e)return{name:``,message:String(e??``)};let t=e;return{name:typeof t.name==`string`?t.name:``,message:typeof t.message==`string`?t.message:String(e)}}function zf(e,t){let n=e.name===void 0||Qa(t.name,e.name,!0),r=e.message===void 0||Qa(t.message,e.message);return n&&r}function Bf(e,t){let n=Rf(t);return e.some(e=>zf(e,n))}function Vf(e,t){return function(n,r){if(X()!==e||Bf(t.ignore??[],n))return;let i=t.mode===`strict`?`fatal`:`error`,a=n&&typeof n==`object`?n._sentry_active_span:void 0;(a?e=>mc(a,e):e=>e())(()=>{Jc(n,{originalException:r,captureContext:{extra:{unhandledPromiseRejection:!0},level:i},mechanism:{handled:!1,type:`auto.node.onunhandledrejection`}})}),Hf(n,t.mode)}}function Hf(e,t){let n=`This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:`;t===`warn`?Ui(()=>{console.warn(n),console.error(e&&typeof e==`object`&&`stack`in e?e.stack:e)}):t===`strict`&&(Ui(()=>{console.warn(n)}),Nf(e))}const Uf=Z(()=>({name:`ProcessSession`,setupOnce(){el(),process.on(`beforeExit`,()=>{Y().getSession()?.status!==`ok`&&tl()})}})),Wf=`Spotlight`,Gf=Z(((e={})=>{let t={sidecarUrl:e.sidecarUrl||`http://localhost:8969/stream`};return{name:Wf,setup(e){try{process.env.NODE_ENV&&process.env.NODE_ENV!==`development`&&K.warn(`[Spotlight] It seems you're not in dev mode. Do you really want to have Spotlight enabled?`)}catch{}Kf(e,t)}}}));function Kf(e,t){let n=qf(t.sidecarUrl);if(!n)return;let r=0;e.on(`beforeEnvelope`,e=>{if(r>3){K.warn(`[Spotlight] Disabled Sentry -> Spotlight integration due to too many failed requests`);return}let t=nc(e);hc(()=>{let e=nt.request({method:`POST`,path:n.pathname,hostname:n.hostname,port:n.port,headers:{"Content-Type":`application/x-sentry-envelope`}},e=>{e.statusCode&&e.statusCode>=200&&e.statusCode<400&&(r=0),e.on(`data`,()=>{}),e.on(`end`,()=>{}),e.setEncoding(`utf8`)});e.on(`error`,()=>{r++,K.warn(`[Spotlight] Failed to send envelope to Spotlight Sidecar`)}),e.write(t),e.end()})})}function qf(e){try{return new URL(`${e}`)}catch{K.warn(`[Spotlight] Invalid sidecar URL: ${e}`);return}}function Jf(e){return!(e instanceof Error)||!(`errno`in e)||typeof e.errno!=`number`?!1:Ve.getSystemErrorMap().has(e.errno)}const Yf=Z((e={})=>({name:`NodeSystemError`,processEvent:(t,n,r)=>{if(!Jf(n.originalException))return t;let i=n.originalException,a={...i};!r.getOptions().sendDefaultPii&&e.includePaths!==!0&&(delete a.path,delete a.dest),t.contexts={...t.contexts,node_system_error:a};for(let e of t.exception?.values||[])e.value&&(i.path&&e.value.includes(i.path)&&(e.value=e.value.replace(`'${i.path}'`,``).trim()),i.dest&&e.value.includes(i.dest)&&(e.value=e.value.replace(`'${i.dest}'`,``).trim()));return t}}));function Xf(e){return e.replace(/^[A-Z]:/,``).replace(/\\/g,`/`)}function Zf(e=process.argv[1]?pd(process.argv[1]):process.cwd(),t=Ze===`\\`){let n=t?Xf(e):e;return e=>{if(!e)return;let r=t?Xf(e):e,{dir:i,base:a,ext:o}=Xe.parse(r);(o===`.js`||o===`.mjs`||o===`.cjs`)&&(a=a.slice(0,o.length*-1));let s=decodeURIComponent(a);i||=`.`;let c=i.lastIndexOf(`/node_modules`);if(c>-1)return`${i.slice(c+14).replace(/\//g,`.`)}:${s}`;if(i.startsWith(n)){let e=i.slice(n.length+1).replace(/\//g,`.`);return e?`${e}:${s}`:s}return s}}function Qf(e){if(process.env.SENTRY_RELEASE)return process.env.SENTRY_RELEASE;if(G.SENTRY_RELEASE?.id)return G.SENTRY_RELEASE.id;let t=process.env.GITHUB_SHA||process.env.CI_MERGE_REQUEST_SOURCE_BRANCH_SHA||process.env.CI_BUILD_REF||process.env.CI_COMMIT_SHA||process.env.BITBUCKET_COMMIT,n=process.env.APPVEYOR_PULL_REQUEST_HEAD_COMMIT||process.env.APPVEYOR_REPO_COMMIT||process.env.CODEBUILD_RESOLVED_SOURCE_VERSION||process.env.AWS_COMMIT_ID||process.env.BUILD_SOURCEVERSION||process.env.GIT_CLONE_COMMIT_HASH||process.env.BUDDY_EXECUTION_REVISION||process.env.BUILDKITE_COMMIT||process.env.CIRCLE_SHA1||process.env.CIRRUS_CHANGE_IN_REPO||process.env.CF_REVISION||process.env.CM_COMMIT||process.env.CF_PAGES_COMMIT_SHA||process.env.DRONE_COMMIT_SHA||process.env.FC_GIT_COMMIT_SHA||process.env.HEROKU_TEST_RUN_COMMIT_VERSION||process.env.HEROKU_SLUG_COMMIT||process.env.RAILWAY_GIT_COMMIT_SHA||process.env.RENDER_GIT_COMMIT||process.env.SEMAPHORE_GIT_SHA||process.env.TRAVIS_PULL_REQUEST_SHA||process.env.VERCEL_GIT_COMMIT_SHA||process.env.VERCEL_GITHUB_COMMIT_SHA||process.env.VERCEL_GITLAB_COMMIT_SHA||process.env.VERCEL_BITBUCKET_COMMIT_SHA||process.env.ZEIT_GITHUB_COMMIT_SHA||process.env.ZEIT_GITLAB_COMMIT_SHA||process.env.ZEIT_BITBUCKET_COMMIT_SHA,r=process.env.CI_COMMIT_ID||process.env.SOURCE_COMMIT||process.env.SOURCE_VERSION||process.env.GIT_COMMIT||process.env.COMMIT_REF||process.env.BUILD_VCS_NUMBER||process.env.CI_COMMIT_SHA;return t||n||r||e}const $f=ea(bd(Zf())),ep=Symbol(`AgentBaseInternalState`);var tp=class extends nt.Agent{constructor(e){super(e),this[ep]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint==`boolean`)return e.secureEndpoint;if(typeof e.protocol==`string`)return e.protocol===`https:`}let{stack:t}=Error();return typeof t==`string`?t.split(`
|
|
325
|
-
`).some(e=>e.indexOf(`(https.js:`)!==-1||e.indexOf(`node:https:`)!==-1):!1}createSocket(e,t,n){let r={...t,secureEndpoint:this.isSecureEndpoint(t)};Promise.resolve().then(()=>this.connect(e,r)).then(i=>{if(i instanceof
|
|
323
|
+
`,positionals:{url:{description:`Webhook URL`,required:!0}},options:{repo:{type:`string`,short:`r`,description:`Repository domain`},env:{type:`string`,short:`e`,description:`Environment domain`}}},async({positionals:e,values:t})=>{let[n]=e,{repo:r=await S(),env:i}=t,a=await k(),o=await A(),s=i?await V(i,{repo:r,token:a,host:o}):r,c;try{c=await Vn({repo:s,token:a,host:o})}catch(e){throw e instanceof T?new P(`Failed to fetch webhook details: ${await e.text()}`):e}let l=c.find(e=>e.config.url===n);if(!l)throw new P(`Webhook not found: ${n}`);let{config:u}=l;console.info(`URL: ${u.url}`),console.info(`Name: ${u.name||`(none)`}`),console.info(`Status: ${u.active?`enabled`:`disabled`}`),console.info(`Secret: ${u.secret?`(set)`:`(none)`}`);let d=[];for(let e of zn)u[e]&&d.push(e);if(console.info(`Triggers: ${d.length>0?d.join(`, `):`(none)`}`),Object.keys(u.headers).length>0){console.info(`Headers:`);for(let[e,t]of Object.entries(u.headers))console.info(` ${e}: ${t}`)}else console.info(`Headers: (none)`)}),Ii=N({name:`prismic webhook`,description:`Manage webhooks in a Prismic repository.`,commands:{list:{handler:Mi,description:`List all webhooks`},create:{handler:ki,description:`Create a new webhook`},view:{handler:Fi,description:`View webhook details`},remove:{handler:Ni,description:`Delete a webhook`},enable:{handler:ji,description:`Enable a webhook`},disable:{handler:Ai,description:`Disable a webhook`},"set-triggers":{handler:Pi,description:`Update webhook triggers`}}}),Li=M({name:`prismic whoami`,description:`Show the currently logged in user.`},async()=>{let e=await bt({token:await k(),host:await A()});console.info(e.email)});const Ri=pe({exp:de(Te())});function zi(e){try{let[,t]=e.split(`.`);return t?fe(Ri,JSON.parse(Buffer.from(t,`base64url`).toString())):void 0}catch{return}}const U=typeof __SENTRY_DEBUG__>`u`||__SENTRY_DEBUG__,W=globalThis,Bi=`10.42.0`;function G(){return Vi(W),W}function Vi(e){let t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||Bi,t[Bi]=t[Bi]||{}}function Hi(e,t,n=W){let r=n.__SENTRY__=n.__SENTRY__||{},i=r[Bi]=r[Bi]||{};return i[e]||(i[e]=t())}const Ui=[`debug`,`info`,`warn`,`error`,`log`,`assert`,`trace`],Wi={};function Gi(e){if(!(`console`in W))return e();let t=W.console,n={},r=Object.keys(Wi);r.forEach(e=>{let r=Wi[e];n[e]=t[e],t[e]=r});try{return e()}finally{r.forEach(e=>{t[e]=n[e]})}}function Ki(){$i().enabled=!0}function qi(){$i().enabled=!1}function Ji(){return $i().enabled}function Yi(...e){Qi(`log`,...e)}function Xi(...e){Qi(`warn`,...e)}function Zi(...e){Qi(`error`,...e)}function Qi(e,...t){U&&Ji()&&Gi(()=>{W.console[e](`Sentry Logger [${e}]:`,...t)})}function $i(){return U?Hi(`loggerSettings`,()=>({enabled:!1})):{enabled:!1}}const K={enable:Ki,disable:qi,isEnabled:Ji,log:Yi,warn:Xi,error:Zi},ea=/\(error: (.*)\)/,ta=/captureMessage|captureException/;function na(...e){let t=e.sort((e,t)=>e[0]-t[0]).map(e=>e[1]);return(e,n=0,r=0)=>{let i=[],a=e.split(`
|
|
324
|
+
`);for(let e=n;e<a.length;e++){let n=a[e];n.length>1024&&(n=n.slice(0,1024));let o=ea.test(n)?n.replace(ea,`$1`):n;if(!o.match(/\S*Error: /)){for(let e of t){let t=e(o);if(t){i.push(t);break}}if(i.length>=50+r)break}}return ia(i.slice(r))}}function ra(e){return Array.isArray(e)?na(...e):e}function ia(e){if(!e.length)return[];let t=Array.from(e);return/sentryWrapped/.test(aa(t).function||``)&&t.pop(),t.reverse(),ta.test(aa(t).function||``)&&(t.pop(),ta.test(aa(t).function||``)&&t.pop()),t.slice(0,50).map(e=>({...e,filename:e.filename||aa(t).filename,function:e.function||`?`}))}function aa(e){return e[e.length-1]||{}}const oa=`<anonymous>`;function sa(e){try{return!e||typeof e!=`function`?oa:e.name||oa}catch{return oa}}function ca(e){return`__v_isVNode`in e&&e.__v_isVNode?`[VueVNode]`:`[VueViewModel]`}function la(e){let t=e?.startsWith(`file://`)?e.slice(7):e;return t?.match(/\/[A-Z]:/)&&(t=t.slice(1)),t}const ua={},da={};function fa(e,t){ua[e]=ua[e]||[],ua[e].push(t)}function pa(e,t){if(!da[e]){da[e]=!0;try{t()}catch(t){U&&K.error(`Error while instrumenting ${e}`,t)}}}function ma(e,t){let n=e&&ua[e];if(n)for(let r of n)try{r(t)}catch(t){U&&K.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${sa(r)}\nError:`,t)}}let ha=null;function ga(e){let t=`error`;fa(t,e),pa(t,_a)}function _a(){ha=W.onerror,W.onerror=function(e,t,n,r,i){return ma(`error`,{column:r,error:i,line:n,msg:e,url:t}),ha?ha.apply(this,arguments):!1},W.onerror.__SENTRY_INSTRUMENTED__=!0}let va=null;function ya(e){let t=`unhandledrejection`;fa(t,e),pa(t,ba)}function ba(){va=W.onunhandledrejection,W.onunhandledrejection=function(e){return ma(`unhandledrejection`,e),va?va.apply(this,arguments):!0},W.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}const xa=Object.prototype.toString;function Sa(e){switch(xa.call(e)){case`[object Error]`:case`[object Exception]`:case`[object DOMException]`:case`[object WebAssembly.Exception]`:return!0;default:return Pa(e,Error)}}function Ca(e,t){return xa.call(e)===`[object ${t}]`}function wa(e){return Ca(e,`ErrorEvent`)}function Ta(e){return Ca(e,`String`)}function Ea(e){return typeof e==`object`&&!!e&&`__sentry_template_string__`in e&&`__sentry_template_values__`in e}function Da(e){return e===null||Ea(e)||typeof e!=`object`&&typeof e!=`function`}function Oa(e){return Ca(e,`Object`)}function ka(e){return typeof Event<`u`&&Pa(e,Event)}function Aa(e){return typeof Element<`u`&&Pa(e,Element)}function ja(e){return Ca(e,`RegExp`)}function Ma(e){return!!(e?.then&&typeof e.then==`function`)}function Na(e){return Oa(e)&&`nativeEvent`in e&&`preventDefault`in e&&`stopPropagation`in e}function Pa(e,t){try{return e instanceof t}catch{return!1}}function Fa(e){return!!(typeof e==`object`&&e&&(e.__isVue||e._isVue||e.__v_isVNode))}const Ia=W;function La(e,t={}){if(!e)return`<unknown>`;try{let n=e,r=[],i=0,a=0,o,s=Array.isArray(t)?t:t.keyAttrs,c=!Array.isArray(t)&&t.maxStringLength||80;for(;n&&i++<5&&(o=Ra(n,s),!(o===`html`||i>1&&a+r.length*3+o.length>=c));)r.push(o),a+=o.length,n=n.parentNode;return r.reverse().join(` > `)}catch{return`<unknown>`}}function Ra(e,t){let n=e,r=[];if(!n?.tagName)return``;if(Ia.HTMLElement&&n instanceof HTMLElement&&n.dataset){if(n.dataset.sentryComponent)return n.dataset.sentryComponent;if(n.dataset.sentryElement)return n.dataset.sentryElement}r.push(n.tagName.toLowerCase());let i=t?.length?t.filter(e=>n.getAttribute(e)).map(e=>[e,n.getAttribute(e)]):null;if(i?.length)i.forEach(e=>{r.push(`[${e[0]}="${e[1]}"]`)});else{n.id&&r.push(`#${n.id}`);let e=n.className;if(e&&Ta(e)){let t=e.split(/\s+/);for(let e of t)r.push(`.${e}`)}}for(let e of[`aria-label`,`type`,`name`,`title`,`alt`]){let t=n.getAttribute(e);t&&r.push(`[${e}="${t}"]`)}return r.join(``)}function za(e,t,n){if(!(t in e))return;let r=e[t];if(typeof r!=`function`)return;let i=n(r);typeof i==`function`&&Va(i,r);try{e[t]=i}catch{U&&K.log(`Failed to replace method "${t}" in object`,e)}}function Ba(e,t,n){try{Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0})}catch{U&&K.log(`Failed to add non-enumerable property "${t}" to object`,e)}}function Va(e,t){try{e.prototype=t.prototype=t.prototype||{},Ba(e,`__sentry_original__`,t)}catch{}}function Ha(e){return e.__sentry_original__}function Ua(e){if(Sa(e))return{message:e.message,name:e.name,stack:e.stack,...Ga(e)};if(ka(e)){let t={type:e.type,target:Wa(e.target),currentTarget:Wa(e.currentTarget),...Ga(e)};return typeof CustomEvent<`u`&&Pa(e,CustomEvent)&&(t.detail=e.detail),t}else return e}function Wa(e){try{return Aa(e)?La(e):Object.prototype.toString.call(e)}catch{return`<unknown>`}}function Ga(e){if(typeof e==`object`&&e){let t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}else return{}}function Ka(e){let t=Object.keys(Ua(e));return t.sort(),t[0]?t.join(`, `):`[object has no keys]`}let qa;function Ja(e){if(qa!==void 0)return qa?qa(e):e();let t=Symbol.for(`__SENTRY_SAFE_RANDOM_ID_WRAPPER__`),n=W;return t in n&&typeof n[t]==`function`?(qa=n[t],qa(e)):(qa=null,e())}function Ya(){return Ja(()=>Math.random())}function Xa(){return Ja(()=>Date.now())}function Za(e,t=0){return typeof e!=`string`||t===0||e.length<=t?e:`${e.slice(0,t)}...`}function Qa(e,t){let n=e,r=n.length;if(r<=150)return n;t>r&&(t=r);let i=Math.max(t-60,0);i<5&&(i=0);let a=Math.min(i+140,r);return a>r-5&&(a=r),a===r&&(i=Math.max(a-140,0)),n=n.slice(i,a),i>0&&(n=`'{snip} ${n}`),a<r&&(n+=` {snip}`),n}function $a(e,t){if(!Array.isArray(e))return``;let n=[];for(let t=0;t<e.length;t++){let r=e[t];try{Fa(r)?n.push(ca(r)):n.push(String(r))}catch{n.push(`[value cannot be serialized]`)}}return n.join(t)}function eo(e,t,n=!1){return Ta(e)?ja(t)?t.test(e):Ta(t)?n?e===t:e.includes(t):!1:!1}function to(e,t=[],n=!1){return t.some(t=>eo(e,t,n))}function no(){let e=W;return e.crypto||e.msCrypto}let ro;function io(){return Ya()*16}function q(e=no()){try{if(e?.randomUUID)return Ja(()=>e.randomUUID()).replace(/-/g,``)}catch{}return ro||=`10000000100040008000100000000000`,ro.replace(/[018]/g,e=>(e^(io()&15)>>e/4).toString(16))}function ao(e){return e.exception?.values?.[0]}function oo(e){let{message:t,event_id:n}=e;if(t)return t;let r=ao(e);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||n||`<unknown>`:n||`<unknown>`}function so(e,t,n){let r=e.exception=e.exception||{},i=r.values=r.values||[],a=i[0]=i[0]||{};a.value||=t||``,a.type||=n||`Error`}function co(e,t){let n=ao(e);if(!n)return;let r={type:`generic`,handled:!0},i=n.mechanism;if(n.mechanism={...r,...i,...t},t&&`data`in t){let e={...i?.data,...t.data};n.mechanism.data=e}}const lo=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;function uo(e){return parseInt(e||``,10)}function fo(e){let t=e.match(lo)||[],n=uo(t[1]),r=uo(t[2]),i=uo(t[3]);return{buildmetadata:t[5],major:isNaN(n)?void 0:n,minor:isNaN(r)?void 0:r,patch:isNaN(i)?void 0:i,prerelease:t[4]}}function po(e){if(mo(e))return!0;try{Ba(e,`__sentry_captured__`,!0)}catch{}return!1}function mo(e){try{return e.__sentry_captured__}catch{}}const ho=1e3;function go(){return Xa()/ho}function _o(){let{performance:e}=W;if(!e?.now||!e.timeOrigin)return go;let t=e.timeOrigin;return()=>(t+Ja(()=>e.now()))/ho}let vo;function yo(){return(vo??=_o())()}function bo(e){let t=yo(),n={sid:q(),init:!0,timestamp:t,started:t,duration:0,status:`ok`,errors:0,ignoreDuration:!1,toJSON:()=>Co(n)};return e&&xo(n,e),n}function xo(e,t={}){if(t.user&&(!e.ipAddress&&t.user.ip_address&&(e.ipAddress=t.user.ip_address),!e.did&&!t.did&&(e.did=t.user.id||t.user.email||t.user.username)),e.timestamp=t.timestamp||yo(),t.abnormal_mechanism&&(e.abnormal_mechanism=t.abnormal_mechanism),t.ignoreDuration&&(e.ignoreDuration=t.ignoreDuration),t.sid&&(e.sid=t.sid.length===32?t.sid:q()),t.init!==void 0&&(e.init=t.init),!e.did&&t.did&&(e.did=`${t.did}`),typeof t.started==`number`&&(e.started=t.started),e.ignoreDuration)e.duration=void 0;else if(typeof t.duration==`number`)e.duration=t.duration;else{let t=e.timestamp-e.started;e.duration=t>=0?t:0}t.release&&(e.release=t.release),t.environment&&(e.environment=t.environment),!e.ipAddress&&t.ipAddress&&(e.ipAddress=t.ipAddress),!e.userAgent&&t.userAgent&&(e.userAgent=t.userAgent),typeof t.errors==`number`&&(e.errors=t.errors),t.status&&(e.status=t.status)}function So(e,t){let n={};t?n={status:t}:e.status===`ok`&&(n={status:`exited`}),xo(e,n)}function Co(e){return{sid:`${e.sid}`,init:e.init,started:new Date(e.started*1e3).toISOString(),timestamp:new Date(e.timestamp*1e3).toISOString(),status:e.status,errors:e.errors,did:typeof e.did==`number`||typeof e.did==`string`?`${e.did}`:void 0,duration:e.duration,abnormal_mechanism:e.abnormal_mechanism,attrs:{release:e.release,environment:e.environment,ip_address:e.ipAddress,user_agent:e.userAgent}}}function wo(e,t,n=2){if(!t||typeof t!=`object`||n<=0)return t;if(e&&Object.keys(t).length===0)return e;let r={...e};for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=wo(r[e],t[e],n-1));return r}function To(){return q()}function Eo(){return q().substring(16)}const Do=`_sentrySpan`;function Oo(e,t){t?Ba(e,Do,t):delete e[Do]}function ko(e){return e[Do]}var Ao=class e{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:To(),sampleRand:Ya()}}clone(){let t=new e;return t._breadcrumbs=[...this._breadcrumbs],t._tags={...this._tags},t._attributes={...this._attributes},t._extra={...this._extra},t._contexts={...this._contexts},this._contexts.flags&&(t._contexts.flags={values:[...this._contexts.flags.values]}),t._user=this._user,t._level=this._level,t._session=this._session,t._transactionName=this._transactionName,t._fingerprint=this._fingerprint,t._eventProcessors=[...this._eventProcessors],t._attachments=[...this._attachments],t._sdkProcessingMetadata={...this._sdkProcessingMetadata},t._propagationContext={...this._propagationContext},t._client=this._client,t._lastEventId=this._lastEventId,t._conversationId=this._conversationId,Oo(t,ko(this)),t}setClient(e){this._client=e}setLastEventId(e){this._lastEventId=e}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&xo(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setConversationId(e){return this._conversationId=e||void 0,this._notifyScopeListeners(),this}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this.setTags({[e]:t})}setAttributes(e){return this._attributes={...this._attributes,...e},this._notifyScopeListeners(),this}setAttribute(e,t){return this.setAttributes({[e]:t})}removeAttribute(e){return e in this._attributes&&(delete this._attributes[e],this._notifyScopeListeners()),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,t){return this._extra={...this._extra,[e]:t},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,t){return t===null?delete this._contexts[e]:this._contexts[e]=t,this._notifyScopeListeners(),this}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(t){if(!t)return this;let n=typeof t==`function`?t(this):t,{tags:r,attributes:i,extra:a,user:o,contexts:s,level:c,fingerprint:l=[],propagationContext:u,conversationId:d}=(n instanceof e?n.getScopeData():Oa(n)?t:void 0)||{};return this._tags={...this._tags,...r},this._attributes={...this._attributes,...i},this._extra={...this._extra,...a},this._contexts={...this._contexts,...s},o&&Object.keys(o).length&&(this._user=o),c&&(this._level=c),l.length&&(this._fingerprint=l),u&&(this._propagationContext=u),d&&(this._conversationId=d),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,this._conversationId=void 0,Oo(this,void 0),this._attachments=[],this.setPropagationContext({traceId:To(),sampleRand:Ya()}),this._notifyScopeListeners(),this}addBreadcrumb(e,t){let n=typeof t==`number`?t:100;if(n<=0)return this;let r={timestamp:go(),...e,message:e.message?Za(e.message,2048):e.message};return this._breadcrumbs.push(r),this._breadcrumbs.length>n&&(this._breadcrumbs=this._breadcrumbs.slice(-n),this._client?.recordDroppedEvent(`buffer_overflow`,`log_item`)),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,attributes:this._attributes,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:ko(this),conversationId:this._conversationId}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=wo(this._sdkProcessingMetadata,e,2),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(e,t){let n=t?.event_id||q();if(!this._client)return U&&K.warn(`No client configured on scope - will not capture exception!`),n;let r=Error(`Sentry syntheticException`);return this._client.captureException(e,{originalException:e,syntheticException:r,...t,event_id:n},this),n}captureMessage(e,t,n){let r=n?.event_id||q();if(!this._client)return U&&K.warn(`No client configured on scope - will not capture message!`),r;let i=n?.syntheticException??Error(e);return this._client.captureMessage(e,t,{originalException:e,syntheticException:i,...n,event_id:r},this),r}captureEvent(e,t){let n=e.event_id||t?.event_id||q();return this._client?(this._client.captureEvent(e,{...t,event_id:n},this),n):(U&&K.warn(`No client configured on scope - will not capture event!`),n)}_notifyScopeListeners(){this._notifyingListeners||=(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),!1)}};function jo(){return Hi(`defaultCurrentScope`,()=>new Ao)}function Mo(){return Hi(`defaultIsolationScope`,()=>new Ao)}var No=class{constructor(e,t){let n;n=e||new Ao;let r;r=t||new Ao,this._stack=[{scope:n}],this._isolationScope=r}withScope(e){let t=this._pushScope(),n;try{n=e(t)}catch(e){throw this._popScope(),e}return Ma(n)?n.then(e=>(this._popScope(),e),e=>{throw this._popScope(),e}):(this._popScope(),n)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){let e=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:e}),e}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}};function Po(){let e=Vi(G());return e.stack=e.stack||new No(jo(),Mo())}function Fo(e){return Po().withScope(e)}function Io(e,t){let n=Po();return n.withScope(()=>(n.getStackTop().scope=e,t(e)))}function Lo(e){return Po().withScope(()=>e(Po().getIsolationScope()))}function Ro(){return{withIsolationScope:Lo,withScope:Fo,withSetScope:Io,withSetIsolationScope:(e,t)=>Lo(t),getCurrentScope:()=>Po().getScope(),getIsolationScope:()=>Po().getIsolationScope()}}function zo(e){let t=Vi(G());t.acs=e}function Bo(e){let t=Vi(e);return t.acs?t.acs:Ro()}function J(){return Bo(G()).getCurrentScope()}function Y(){return Bo(G()).getIsolationScope()}function Vo(){return Hi(`globalScope`,()=>new Ao)}function Ho(...e){let t=Bo(G());if(e.length===2){let[n,r]=e;return n?t.withSetScope(n,r):t.withScope(r)}return t.withScope(e[0])}function Uo(...e){let t=Bo(G());if(e.length===2){let[n,r]=e;return n?t.withSetIsolationScope(n,r):t.withIsolationScope(r)}return t.withIsolationScope(e[0])}function X(){return J().getClient()}function Wo(e){let{traceId:t,parentSpanId:n,propagationSpanId:r}=e.getPropagationContext(),i={trace_id:t,span_id:r||Eo()};return n&&(i.parent_span_id=n),i}const Go=`sentry.profile_id`,Ko=`sentry.exclusive_time`;function qo(e){if(e){if(typeof e==`object`&&`deref`in e&&typeof e.deref==`function`)try{return e.deref()}catch{return}return e}}function Jo(e){let t=e;return{scope:t._sentryScope,isolationScope:qo(t._sentryIsolationScope)}}const Yo=/^sentry-/;function Xo(e){let t=Qo(e);if(!t)return;let n=Object.entries(t).reduce((e,[t,n])=>{if(t.match(Yo)){let r=t.slice(7);e[r]=n}return e},{});if(Object.keys(n).length>0)return n}function Zo(e){if(e)return es(Object.entries(e).reduce((e,[t,n])=>(n&&(e[`sentry-${t}`]=n),e),{}))}function Qo(e){if(!(!e||!Ta(e)&&!Array.isArray(e)))return Array.isArray(e)?e.reduce((e,t)=>{let n=$o(t);return Object.entries(n).forEach(([t,n])=>{e[t]=n}),e},{}):$o(e)}function $o(e){return e.split(`,`).map(e=>{let t=e.indexOf(`=`);return t===-1?[]:[e.slice(0,t),e.slice(t+1)].map(e=>{try{return decodeURIComponent(e.trim())}catch{return}})}).reduce((e,[t,n])=>(t&&n&&(e[t]=n),e),{})}function es(e){if(Object.keys(e).length!==0)return Object.entries(e).reduce((e,[t,n],r)=>{let i=`${encodeURIComponent(t)}=${encodeURIComponent(n)}`,a=r===0?i:`${e},${i}`;return a.length>8192?(U&&K.warn(`Not adding key: ${t} with val: ${n} to baggage header due to exceeding baggage size limits.`),e):a},``)}const ts=/^o(\d+)\./,ns=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/;function rs(e){return e===`http`||e===`https`}function is(e,t=!1){let{host:n,path:r,pass:i,port:a,projectId:o,protocol:s,publicKey:c}=e;return`${s}://${c}${t&&i?`:${i}`:``}@${n}${a?`:${a}`:``}/${r&&`${r}/`}${o}`}function as(e){let t=ns.exec(e);if(!t){Gi(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});return}let[n,r,i=``,a=``,o=``,s=``]=t.slice(1),c=``,l=s,u=l.split(`/`);if(u.length>1&&(c=u.slice(0,-1).join(`/`),l=u.pop()),l){let e=l.match(/^\d+/);e&&(l=e[0])}return os({host:a,pass:i,path:c,projectId:l,port:o,protocol:n,publicKey:r})}function os(e){return{protocol:e.protocol,publicKey:e.publicKey||``,pass:e.pass||``,host:e.host,port:e.port||``,path:e.path||``,projectId:e.projectId}}function ss(e){if(!U)return!0;let{port:t,projectId:n,protocol:r}=e;return[`protocol`,`publicKey`,`host`,`projectId`].find(t=>e[t]?!1:(K.error(`Invalid Sentry Dsn: ${t} missing`),!0))?!1:n.match(/^\d+$/)?rs(r)?t&&isNaN(parseInt(t,10))?(K.error(`Invalid Sentry Dsn: Invalid port ${t}`),!1):!0:(K.error(`Invalid Sentry Dsn: Invalid protocol ${r}`),!1):(K.error(`Invalid Sentry Dsn: Invalid projectId ${n}`),!1)}function cs(e){return e.match(ts)?.[1]}function ls(e){let t=e.getOptions(),{host:n}=e.getDsn()||{},r;return t.orgId?r=String(t.orgId):n&&(r=cs(n)),r}function us(e){let t=typeof e==`string`?as(e):os(e);if(!(!t||!ss(t)))return t}function ds(e){if(typeof e==`boolean`)return Number(e);let t=typeof e==`string`?parseFloat(e):e;if(!(typeof t!=`number`||isNaN(t)||t<0||t>1))return t}const fs=RegExp(`^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$`);function ps(e){if(!e)return;let t=e.match(fs);if(!t)return;let n;return t[3]===`1`?n=!0:t[3]===`0`&&(n=!1),{traceId:t[1],parentSampled:n,parentSpanId:t[2]}}function ms(e,t){let n=ps(e),r=Xo(t);if(!n?.traceId)return{traceId:To(),sampleRand:Ya()};let i=_s(n,r);r&&(r.sample_rand=i.toString());let{traceId:a,parentSpanId:o,parentSampled:s}=n;return{traceId:a,parentSpanId:o,sampled:s,dsc:r||{},sampleRand:i}}function hs(e=To(),t=Eo(),n){let r=``;return n!==void 0&&(r=n?`-1`:`-0`),`${e}-${t}${r}`}function gs(e=To(),t=Eo(),n){return`00-${e}-${t}-${n?`01`:`00`}`}function _s(e,t){let n=ds(t?.sample_rand);if(n!==void 0)return n;let r=ds(t?.sample_rate);return r&&e?.parentSampled!==void 0?e.parentSampled?Ya()*r:r+Ya()*(1-r):Ya()}function vs(e,t){let n=ls(e);return t&&n&&t!==n?(K.log(`Won't continue trace because org IDs don't match (incoming baggage: ${t}, SDK options: ${n})`),!1):e.getOptions().strictTraceContinuation&&(t&&!n||!t&&n)?(K.log(`Starting a new trace because strict trace continuation is enabled but one org ID is missing (incoming baggage: ${t}, Sentry client: ${n})`),!1):!0}let ys=!1;function bs(e){let{spanId:t,traceId:n,isRemote:r}=e.spanContext(),i=r?t:Es(e).parent_span_id,a=Jo(e).scope;return{parent_span_id:i,span_id:r?a?.getPropagationContext().propagationSpanId||Eo():t,trace_id:n}}function xs(e){let{traceId:t,spanId:n}=e.spanContext();return hs(t,n,ks(e))}function Ss(e){let{traceId:t,spanId:n}=e.spanContext();return gs(t,n,ks(e))}function Cs(e){if(e&&e.length>0)return e.map(({context:{spanId:e,traceId:t,traceFlags:n,...r},attributes:i})=>({span_id:e,trace_id:t,sampled:n===1,attributes:i,...r}))}function ws(e){return typeof e==`number`?Ts(e):Array.isArray(e)?e[0]+e[1]/1e9:e instanceof Date?Ts(e.getTime()):yo()}function Ts(e){return e>9999999999?e/1e3:e}function Es(e){if(Os(e))return e.getSpanJSON();let{spanId:t,traceId:n}=e.spanContext();if(Ds(e)){let{attributes:r,startTime:i,name:a,endTime:o,status:s,links:c}=e;return{span_id:t,trace_id:n,data:r,description:a,parent_span_id:`parentSpanId`in e?e.parentSpanId:`parentSpanContext`in e?e.parentSpanContext?.spanId:void 0,start_timestamp:ws(i),timestamp:ws(o)||void 0,status:As(s),op:r[`sentry.op`],origin:r[`sentry.origin`],links:Cs(c)}}return{span_id:t,trace_id:n,start_timestamp:0,data:{}}}function Ds(e){let t=e;return!!t.attributes&&!!t.startTime&&!!t.name&&!!t.endTime&&!!t.status}function Os(e){return typeof e.getSpanJSON==`function`}function ks(e){let{traceFlags:t}=e.spanContext();return t===1}function As(e){if(!(!e||e.code===0))return e.code===1?`ok`:e.message||`internal_error`}function js(e){return e._sentryRootSpan||e}function Ms(){let e=Bo(G());return e.getActiveSpan?e.getActiveSpan():ko(J())}function Ns(){ys||=(Gi(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.")}),!0)}let Ps=!1;function Fs(){if(Ps)return;function e(){let e=Ms(),t=e&&js(e);if(t){let e=`internal_error`;U&&K.log(`[Tracing] Root span: ${e} -> Global error occurred`),t.setStatus({code:2,message:e})}}e.tag=`sentry_tracingErrorCallback`,Ps=!0,ga(e),ya(e)}function Is(e){if(typeof __SENTRY_TRACING__==`boolean`&&!__SENTRY_TRACING__)return!1;let t=e||X()?.getOptions();return!!t&&(t.tracesSampleRate!=null||!!t.tracesSampler)}function Ls(e){K.log(`Ignoring span ${e.op} - ${e.description} because it matches \`ignoreSpans\`.`)}function Rs(e,t){if(!t?.length||!e.description)return!1;for(let n of t){if(Bs(n)){if(eo(e.description,n))return U&&Ls(e),!0;continue}if(!n.name&&!n.op)continue;let t=n.name?eo(e.description,n.name):!0,r=n.op?e.op&&eo(e.op,n.op):!0;if(t&&r)return U&&Ls(e),!0}return!1}function zs(e,t){let n=t.parent_span_id,r=t.span_id;if(n)for(let t of e)t.parent_span_id===r&&(t.parent_span_id=n)}function Bs(e){return typeof e==`string`||e instanceof RegExp}const Vs=`production`;function Hs(e,t){let n=t.getOptions(),{publicKey:r}=t.getDsn()||{},i={environment:n.environment||Vs,release:n.release,public_key:r,trace_id:e,org_id:ls(t)};return t.emit(`createDsc`,i),i}function Us(e,t){let n=t.getPropagationContext();return n.dsc||Hs(n.traceId,e)}function Ws(e){let t=X();if(!t)return{};let n=js(e),r=Es(n),i=r.data,a=n.spanContext().traceState,o=a?.get(`sentry.sample_rate`)??i[`sentry.sample_rate`]??i[`sentry.previous_trace_sample_rate`];function s(e){return(typeof o==`number`||typeof o==`string`)&&(e.sample_rate=`${o}`),e}let c=n._frozenDsc;if(c)return s(c);let l=a?.get(`sentry.dsc`),u=l&&Xo(l);if(u)return s(u);let d=Hs(e.spanContext().traceId,t),f=i[`sentry.source`],p=r.description;return f!==`url`&&p&&(d.transaction=p),Is()&&(d.sampled=String(ks(n)),d.sample_rand=a?.get(`sentry.sample_rand`)??Jo(n).scope?.getPropagationContext().sampleRand.toString()),s(d),t.emit(`createDsc`,d,n),d}function Gs(e,t=100,n=1/0){try{return qs(``,e,t,n)}catch(e){return{ERROR:`**non-serializable** (${e})`}}}function Ks(e,t=3,n=100*1024){let r=Gs(e,t);return Zs(r)>n?Ks(e,t-1,n):r}function qs(e,t,n=1/0,r=1/0,i=Qs()){let[a,o]=i;if(t==null||[`boolean`,`string`].includes(typeof t)||typeof t==`number`&&Number.isFinite(t))return t;let s=Js(e,t);if(!s.startsWith(`[object `))return s;if(t.__sentry_skip_normalization__)return t;let c=typeof t.__sentry_override_normalization_depth__==`number`?t.__sentry_override_normalization_depth__:n;if(c===0)return s.replace(`object `,``);if(a(t))return`[Circular ~]`;let l=t;if(l&&typeof l.toJSON==`function`)try{return qs(``,l.toJSON(),c-1,r,i)}catch{}let u=Array.isArray(t)?[]:{},d=0,f=Ua(t);for(let e in f){if(!Object.prototype.hasOwnProperty.call(f,e))continue;if(d>=r){u[e]=`[MaxProperties ~]`;break}let t=f[e];u[e]=qs(e,t,c-1,r,i),d++}return o(t),u}function Js(e,t){try{if(e===`domain`&&t&&typeof t==`object`&&t._events)return`[Domain]`;if(e===`domainEmitter`)return`[DomainEmitter]`;if(typeof global<`u`&&t===global)return`[Global]`;if(typeof window<`u`&&t===window)return`[Window]`;if(typeof document<`u`&&t===document)return`[Document]`;if(Fa(t))return ca(t);if(Na(t))return`[SyntheticEvent]`;if(typeof t==`number`&&!Number.isFinite(t))return`[${t}]`;if(typeof t==`function`)return`[Function: ${sa(t)}]`;if(typeof t==`symbol`)return`[${String(t)}]`;if(typeof t==`bigint`)return`[BigInt: ${String(t)}]`;let n=Ys(t);return/^HTML(\w*)Element$/.test(n)?`[HTMLElement: ${n}]`:`[object ${n}]`}catch(e){return`**non-serializable** (${e})`}}function Ys(e){let t=Object.getPrototypeOf(e);return t?.constructor?t.constructor.name:`null prototype`}function Xs(e){return~-encodeURI(e).split(/%..|./).length}function Zs(e){return Xs(JSON.stringify(e))}function Qs(){let e=new WeakSet;function t(t){return e.has(t)?!0:(e.add(t),!1)}function n(t){e.delete(t)}return[t,n]}function $s(e,t=[]){return[e,t]}function ec(e,t){let[n,r]=e;return[n,[...r,t]]}function tc(e,t){let n=e[1];for(let e of n){let n=e[0].type;if(t(e,n))return!0}return!1}function nc(e,t){return tc(e,(e,n)=>t.includes(n))}function rc(e){let t=Vi(W);return t.encodePolyfill?t.encodePolyfill(e):new TextEncoder().encode(e)}function ic(e){let[t,n]=e,r=JSON.stringify(t);function i(e){typeof r==`string`?r=typeof e==`string`?r+e:[rc(r),e]:r.push(typeof e==`string`?rc(e):e)}for(let e of n){let[t,n]=e;if(i(`\n${JSON.stringify(t)}\n`),typeof n==`string`||n instanceof Uint8Array)i(n);else{let e;try{e=JSON.stringify(n)}catch{e=JSON.stringify(Gs(n))}i(e)}}return typeof r==`string`?r:ac(r)}function ac(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function oc(e){let t=typeof e.data==`string`?rc(e.data):e.data;return[{type:`attachment`,length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType},t]}const sc={session:`session`,sessions:`session`,attachment:`attachment`,transaction:`transaction`,event:`error`,client_report:`internal`,user_report:`default`,profile:`profile`,profile_chunk:`profile`,replay_event:`replay`,replay_recording:`replay`,check_in:`monitor`,feedback:`feedback`,span:`span`,raw_security:`security`,log:`log_item`,metric:`metric`,trace_metric:`metric`};function cc(e){return sc[e]}function lc(e){if(!e?.sdk)return;let{name:t,version:n}=e.sdk;return{name:t,version:n}}function uc(e,t,n,r){let i=e.sdkProcessingMetadata?.dynamicSamplingContext;return{event_id:e.event_id,sent_at:new Date().toISOString(),...t&&{sdk:t},...!!n&&r&&{dsn:is(r)},...i&&{trace:i}}}function dc(e,t){if(!t)return e;let n=e.sdk||{};return e.sdk={...n,name:n.name||t.name,version:n.version||t.version,integrations:[...e.sdk?.integrations||[],...t.integrations||[]],packages:[...e.sdk?.packages||[],...t.packages||[]],settings:e.sdk?.settings||t.settings?{...e.sdk?.settings,...t.settings}:void 0},e}function fc(e,t,n,r){let i=lc(n);return $s({sent_at:new Date().toISOString(),...i&&{sdk:i},...!!r&&t&&{dsn:is(t)}},[`aggregates`in e?[{type:`sessions`},e]:[{type:`session`},e.toJSON()]])}function pc(e,t,n,r){let i=lc(n),a=e.type&&e.type!==`replay_event`?e.type:`event`;dc(e,n?.sdk);let o=uc(e,i,r,t);return delete e.sdkProcessingMetadata,$s(o,[[{type:a},e]])}const mc=`__SENTRY_SUPPRESS_TRACING__`,hc=(e,t)=>{let n=Bo(G());if(n.continueTrace)return n.continueTrace(e,t);let{sentryTrace:r,baggage:i}=e,a=X(),o=Xo(i);return a&&!vs(a,o?.org_id)?vc(t):Ho(e=>{let n=ms(r,i);return e.setPropagationContext(n),Oo(e,void 0),t()})};function gc(e,t){let n=yc();return n.withActiveSpan?n.withActiveSpan(e,t):Ho(n=>(Oo(n,e||void 0),t(n)))}function _c(e){let t=yc();return t.suppressTracing?t.suppressTracing(e):Ho(t=>{t.setSDKProcessingMetadata({[mc]:!0});let n=e();return t.setSDKProcessingMetadata({[mc]:void 0}),n})}function vc(e){return Ho(t=>(t.setPropagationContext({traceId:To(),sampleRand:Ya()}),U&&K.log(`Starting a new trace with id ${t.getPropagationContext().traceId}`),gc(null,e)))}function yc(){return Bo(G())}function bc(e){return new Sc(t=>{t(e)})}function xc(e){return new Sc((t,n)=>{n(e)})}var Sc=class e{constructor(e){this._state=0,this._handlers=[],this._runExecutor(e)}then(t,n){return new e((e,r)=>{this._handlers.push([!1,n=>{if(!t)e(n);else try{e(t(n))}catch(e){r(e)}},t=>{if(!n)r(t);else try{e(n(t))}catch(e){r(e)}}]),this._executeHandlers()})}catch(e){return this.then(e=>e,e)}finally(t){return new e((e,n)=>{let r,i;return this.then(e=>{i=!1,r=e,t&&t()},e=>{i=!0,r=e,t&&t()}).then(()=>{if(i){n(r);return}e(r)})})}_executeHandlers(){if(this._state===0)return;let e=this._handlers.slice();this._handlers=[],e.forEach(e=>{e[0]||=(this._state===1&&e[1](this._value),this._state===2&&e[2](this._value),!0)})}_runExecutor(e){let t=(e,t)=>{if(this._state===0){if(Ma(t)){t.then(n,r);return}this._state=e,this._value=t,this._executeHandlers()}},n=e=>{t(1,e)},r=e=>{t(2,e)};try{e(n,r)}catch(e){r(e)}}};function Cc(e,t,n,r=0){try{let i=wc(t,n,e,r);return Ma(i)?i:bc(i)}catch(e){return xc(e)}}function wc(e,t,n,r){let i=n[r];if(!e||!i)return e;let a=i({...e},t);return U&&a===null&&K.log(`Event processor "${i.id||`?`}" dropped event`),Ma(a)?a.then(e=>wc(e,t,n,r+1)):wc(a,t,n,r+1)}let Tc,Ec,Dc,Oc;function kc(e){let t=W._sentryDebugIds,n=W._debugIds;if(!t&&!n)return{};let r=t?Object.keys(t):[],i=n?Object.keys(n):[];if(Oc&&r.length===Ec&&i.length===Dc)return Oc;Ec=r.length,Dc=i.length,Oc={},Tc||={};let a=(t,n)=>{for(let r of t){let t=n[r],i=Tc?.[r];if(i&&Oc&&t)Oc[i[0]]=t,Tc&&(Tc[r]=[i[0],t]);else if(t){let n=e(r);for(let e=n.length-1;e>=0;e--){let i=n[e]?.filename;if(i&&Oc&&Tc){Oc[i]=t,Tc[r]=[i,t];break}}}}};return t&&a(r,t),n&&a(i,n),Oc}function Ac(e,t){let{fingerprint:n,span:r,breadcrumbs:i,sdkProcessingMetadata:a}=t;Pc(e,t),r&&Lc(e,r),Rc(e,n),Fc(e,i),Ic(e,a)}function jc(e,t){let{extra:n,tags:r,attributes:i,user:a,contexts:o,level:s,sdkProcessingMetadata:c,breadcrumbs:l,fingerprint:u,eventProcessors:d,attachments:f,propagationContext:p,transactionName:m,span:h}=t;Mc(e,`extra`,n),Mc(e,`tags`,r),Mc(e,`attributes`,i),Mc(e,`user`,a),Mc(e,`contexts`,o),e.sdkProcessingMetadata=wo(e.sdkProcessingMetadata,c,2),s&&(e.level=s),m&&(e.transactionName=m),h&&(e.span=h),l.length&&(e.breadcrumbs=[...e.breadcrumbs,...l]),u.length&&(e.fingerprint=[...e.fingerprint,...u]),d.length&&(e.eventProcessors=[...e.eventProcessors,...d]),f.length&&(e.attachments=[...e.attachments,...f]),e.propagationContext={...e.propagationContext,...p}}function Mc(e,t,n){e[t]=wo(e[t],n,1)}function Nc(e,t){let n=Vo().getScopeData();return e&&jc(n,e.getScopeData()),t&&jc(n,t.getScopeData()),n}function Pc(e,t){let{extra:n,tags:r,user:i,contexts:a,level:o,transactionName:s}=t;Object.keys(n).length&&(e.extra={...n,...e.extra}),Object.keys(r).length&&(e.tags={...r,...e.tags}),Object.keys(i).length&&(e.user={...i,...e.user}),Object.keys(a).length&&(e.contexts={...a,...e.contexts}),o&&(e.level=o),s&&e.type!==`transaction`&&(e.transaction=s)}function Fc(e,t){let n=[...e.breadcrumbs||[],...t];e.breadcrumbs=n.length?n:void 0}function Ic(e,t){e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...t}}function Lc(e,t){e.contexts={trace:bs(t),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:Ws(t),...e.sdkProcessingMetadata};let n=Es(js(t)).description;n&&!e.transaction&&e.type===`transaction`&&(e.transaction=n)}function Rc(e,t){e.fingerprint=e.fingerprint?Array.isArray(e.fingerprint)?e.fingerprint:[e.fingerprint]:[],t&&(e.fingerprint=e.fingerprint.concat(t)),e.fingerprint.length||delete e.fingerprint}function zc(e,t,n,r,i,a){let{normalizeDepth:o=3,normalizeMaxBreadth:s=1e3}=e,c={...t,event_id:t.event_id||n.event_id||q(),timestamp:t.timestamp||go()},l=n.integrations||e.integrations.map(e=>e.name);Bc(c,e),Uc(c,l),i&&i.emit(`applyFrameMetadata`,t),t.type===void 0&&Vc(c,e.stackParser);let u=Gc(r,n.captureContext);n.mechanism&&co(c,n.mechanism);let d=i?i.getEventProcessors():[],f=Nc(a,u),p=[...n.attachments||[],...f.attachments];p.length&&(n.attachments=p),Ac(c,f);let m=[...d,...f.eventProcessors];return(n.data&&n.data.__sentry__===!0?bc(c):Cc(m,c,n)).then(e=>(e&&Hc(e),typeof o==`number`&&o>0?Wc(e,o,s):e))}function Bc(e,t){let{environment:n,release:r,dist:i,maxValueLength:a}=t;e.environment=e.environment||n||Vs,!e.release&&r&&(e.release=r),!e.dist&&i&&(e.dist=i);let o=e.request;o?.url&&a&&(o.url=Za(o.url,a)),a&&e.exception?.values?.forEach(e=>{e.value&&=Za(e.value,a)})}function Vc(e,t){let n=kc(t);e.exception?.values?.forEach(e=>{e.stacktrace?.frames?.forEach(e=>{e.filename&&(e.debug_id=n[e.filename])})})}function Hc(e){let t={};if(e.exception?.values?.forEach(e=>{e.stacktrace?.frames?.forEach(e=>{e.debug_id&&(e.abs_path?t[e.abs_path]=e.debug_id:e.filename&&(t[e.filename]=e.debug_id),delete e.debug_id)})}),Object.keys(t).length===0)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];let n=e.debug_meta.images;Object.entries(t).forEach(([e,t])=>{n.push({type:`sourcemap`,code_file:e,debug_id:t})})}function Uc(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}function Wc(e,t,n){if(!e)return null;let r={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map(e=>({...e,...e.data&&{data:Gs(e.data,t,n)}}))},...e.user&&{user:Gs(e.user,t,n)},...e.contexts&&{contexts:Gs(e.contexts,t,n)},...e.extra&&{extra:Gs(e.extra,t,n)}};return e.contexts?.trace&&r.contexts&&(r.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(r.contexts.trace.data=Gs(e.contexts.trace.data,t,n))),e.spans&&(r.spans=e.spans.map(e=>({...e,...e.data&&{data:Gs(e.data,t,n)}}))),e.contexts?.flags&&r.contexts&&(r.contexts.flags=Gs(e.contexts.flags,3,n)),r}function Gc(e,t){if(!t)return e;let n=e?e.clone():new Ao;return n.update(t),n}function Kc(e){if(e)return qc(e)||Yc(e)?{captureContext:e}:e}function qc(e){return e instanceof Ao||typeof e==`function`}const Jc=[`user`,`level`,`extra`,`contexts`,`tags`,`fingerprint`,`propagationContext`];function Yc(e){return Object.keys(e).some(e=>Jc.includes(e))}function Xc(e,t){return J().captureException(e,Kc(t))}function Zc(e,t){Y().setContext(e,t)}function Qc(e,t){Y().setTag(e,t)}function $c(e){Y().setUser(e)}async function el(e){let t=X();return t?t.flush(e):(U&&K.warn(`Cannot flush events. No client defined.`),Promise.resolve(!1))}function tl(){let e=X();return e?.getOptions().enabled!==!1&&!!e?.getTransport()}function nl(e){let t=Y(),{user:n}=Nc(t,J()),{userAgent:r}=W.navigator||{},i=bo({user:n,...r&&{userAgent:r},...e}),a=t.getSession();return a?.status===`ok`&&xo(a,{status:`exited`}),rl(),t.setSession(i),i}function rl(){let e=Y(),t=J().getSession()||e.getSession();t&&So(t),il(),e.setSession()}function il(){let e=Y(),t=X(),n=e.getSession();n&&t&&t.captureSession(n)}function al(e){let t=e.protocol?`${e.protocol}:`:``,n=e.port?`:${e.port}`:``;return`${t}//${e.host}${n}${e.path?`/${e.path}`:``}/api/`}function ol(e){return`${al(e)}${e.projectId}/envelope/`}function sl(e,t){let n={sentry_version:`7`};return e.publicKey&&(n.sentry_key=e.publicKey),t&&(n.sentry_client=`${t.name}/${t.version}`),new URLSearchParams(n).toString()}function cl(e,t,n){return t||`${ol(e)}?${sl(e,n)}`}const ll=[];function ul(e){let t={};return e.forEach(e=>{let{name:n}=e,r=t[n];r&&!r.isDefaultInstance&&e.isDefaultInstance||(t[n]=e)}),Object.values(t)}function dl(e){let t=e.defaultIntegrations||[],n=e.integrations;t.forEach(e=>{e.isDefaultInstance=!0});let r;if(Array.isArray(n))r=[...t,...n];else if(typeof n==`function`){let e=n(t);r=Array.isArray(e)?e:[e]}else r=t;return ul(r)}function fl(e,t){let n={};return t.forEach(t=>{t&&ml(e,t,n)}),n}function pl(e,t){for(let n of t)n?.afterAllSetup&&n.afterAllSetup(e)}function ml(e,t,n){if(n[t.name]){U&&K.log(`Integration skipped because it was already installed: ${t.name}`);return}if(n[t.name]=t,!ll.includes(t.name)&&typeof t.setupOnce==`function`&&(t.setupOnce(),ll.push(t.name)),t.setup&&typeof t.setup==`function`&&t.setup(e),typeof t.preprocessEvent==`function`){let n=t.preprocessEvent.bind(t);e.on(`preprocessEvent`,(t,r)=>n(t,r,e))}if(typeof t.processEvent==`function`){let n=t.processEvent.bind(t),r=Object.assign((t,r)=>n(t,r,e),{id:t.name});e.addEventProcessor(r)}U&&K.log(`Integration installed: ${t.name}`)}function Z(e){return e}function hl(e,t){return t?Ho(t,()=>{let n=Ms(),r=n?bs(n):Wo(t);return[n?Ws(n):Us(e,t),r]}):[void 0,void 0]}function gl(e){return[{type:`log`,item_count:e.length,content_type:`application/vnd.sentry.items.log+json`},{items:e}]}function _l(e,t,n,r){let i={};return t?.sdk&&(i.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(i.dsn=is(r)),$s(i,[gl(e)])}function vl(e,t){let n=t??yl(e)??[];if(n.length===0)return;let r=e.getOptions(),i=_l(n,r._metadata,r.tunnel,e.getDsn());bl().set(e,[]),e.emit(`flushLogs`),e.sendEnvelope(i)}function yl(e){return bl().get(e)}function bl(){return Hi(`clientToLogBufferMap`,()=>new WeakMap)}function xl(e){return[{type:`trace_metric`,item_count:e.length,content_type:`application/vnd.sentry.items.trace-metric+json`},{items:e}]}function Sl(e,t,n,r){let i={};return t?.sdk&&(i.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(i.dsn=is(r)),$s(i,[xl(e)])}function Cl(e,t){let n=t??wl(e)??[];if(n.length===0)return;let r=e.getOptions(),i=Sl(n,r._metadata,r.tunnel,e.getDsn());Tl().set(e,[]),e.emit(`flushMetrics`),e.sendEnvelope(i)}function wl(e){return Tl().get(e)}function Tl(){return Hi(`clientToMetricBufferMap`,()=>new WeakMap)}function El(e){return typeof e==`object`&&typeof e.unref==`function`&&e.unref(),e}const Dl=Symbol.for(`SentryBufferFullError`);function Ol(e=100){let t=new Set;function n(){return t.size<e}function r(e){t.delete(e)}function i(e){if(!n())return xc(Dl);let i=e();return t.add(i),i.then(()=>r(i),()=>r(i)),i}function a(e){if(!t.size)return bc(!0);let n=Promise.allSettled(Array.from(t)).then(()=>!0);if(!e)return n;let r=[n,new Promise(t=>El(setTimeout(()=>t(!1),e)))];return Promise.race(r)}return{get $(){return Array.from(t)},add:i,drain:a}}function kl(e,t=Xa()){let n=parseInt(`${e}`,10);if(!isNaN(n))return n*1e3;let r=Date.parse(`${e}`);return isNaN(r)?6e4:r-t}function Al(e,t){return e[t]||e.all||0}function jl(e,t,n=Xa()){return Al(e,t)>n}function Ml(e,{statusCode:t,headers:n},r=Xa()){let i={...e},a=n?.[`x-sentry-rate-limits`],o=n?.[`retry-after`];if(a)for(let e of a.trim().split(`,`)){let[t,n,,,a]=e.split(`:`,5),o=parseInt(t,10),s=(isNaN(o)?60:o)*1e3;if(!n)i.all=r+s;else for(let e of n.split(`;`))e===`metric_bucket`?(!a||a.split(`;`).includes(`custom`))&&(i[e]=r+s):i[e]=r+s}else o?i.all=r+kl(o,r):t===429&&(i.all=r+60*1e3);return i}function Nl(e,t,n=Ol(e.bufferSize||64)){let r={},i=e=>n.drain(e);function a(i){let a=[];if(tc(i,(t,n)=>{let i=cc(n);jl(r,i)?e.recordDroppedEvent(`ratelimit_backoff`,i):a.push(t)}),a.length===0)return Promise.resolve({});let o=$s(i[0],a),s=t=>{if(nc(o,[`client_report`])){U&&K.warn(`Dropping client report. Will not send outcomes (reason: ${t}).`);return}tc(o,(n,r)=>{e.recordDroppedEvent(t,cc(r))})};return n.add(()=>t({body:ic(o)}).then(e=>e.statusCode===413?(U&&K.error(`Sentry responded with status code 413. Envelope was discarded due to exceeding size limits.`),s(`send_error`),e):(U&&e.statusCode!==void 0&&(e.statusCode<200||e.statusCode>=300)&&K.warn(`Sentry responded with status code ${e.statusCode} to sent event.`),r=Ml(r,e),e),e=>{throw s(`network_error`),U&&K.error(`Encountered error running transport request:`,e),e})).then(e=>e,e=>{if(e===Dl)return U&&K.error(`Skipped sending event because buffer is full.`),s(`queue_overflow`),Promise.resolve({});throw e})}return{send:a,flush:i}}function Pl(e,t,n){let r=[{type:`client_report`},{timestamp:n||go(),discarded_events:e}];return $s(t?{dsn:t}:{},[r])}function Fl(e){let t=[];e.message&&t.push(e.message);try{let n=e.exception.values[e.exception.values.length-1];n?.value&&(t.push(n.value),n.type&&t.push(`${n.type}: ${n.value}`))}catch{}return t}function Il(e){let{trace_id:t,parent_span_id:n,span_id:r,status:i,origin:a,data:o,op:s}=e.contexts?.trace??{};return{data:o??{},description:e.transaction,op:s,parent_span_id:n,span_id:r??``,start_timestamp:e.start_timestamp??0,status:i,timestamp:e.timestamp,trace_id:t??``,origin:a,profile_id:o?.[Go],exclusive_time:o?.[Ko],measurements:e.measurements,is_segment:!0}}function Ll(e){return{type:`transaction`,timestamp:e.timestamp,start_timestamp:e.start_timestamp,transaction:e.description,contexts:{trace:{trace_id:e.trace_id,span_id:e.span_id,parent_span_id:e.parent_span_id,op:e.op,status:e.status,origin:e.origin,data:{...e.data,...e.profile_id&&{[Go]:e.profile_id},...e.exclusive_time&&{[Ko]:e.exclusive_time}}}},measurements:e.measurements}}const Rl=`Not capturing exception because it's already been captured.`,zl=`Discarded session because of missing or non-string release`,Bl=Symbol.for(`SentryInternalError`),Vl=Symbol.for(`SentryDoNotSendEventError`);function Hl(e){return{message:e,[Bl]:!0}}function Ul(e){return{message:e,[Vl]:!0}}function Wl(e){return!!e&&typeof e==`object`&&Bl in e}function Gl(e){return!!e&&typeof e==`object`&&Vl in e}function Kl(e,t,n,r,i){let a=0,o,s=!1;e.on(n,()=>{a=0,clearTimeout(o),s=!1}),e.on(t,t=>{a+=r(t),a>=8e5?i(e):s||(s=!0,o=El(setTimeout(()=>{i(e)},5e3)))}),e.on(`flush`,()=>{i(e)})}var ql=class{constructor(e){if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=Ol(e.transportOptions?.bufferSize??64),e.dsn?this._dsn=us(e.dsn):U&&K.warn(`No DSN provided, client will not send events.`),this._dsn){let t=cl(this._dsn,e.tunnel,e._metadata?e._metadata.sdk:void 0);this._transport=e.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...e.transportOptions,url:t})}this._options.enableLogs=this._options.enableLogs??this._options._experiments?.enableLogs,this._options.enableLogs&&Kl(this,`afterCaptureLog`,`flushLogs`,eu,vl),(this._options.enableMetrics??this._options._experiments?.enableMetrics??!0)&&Kl(this,`afterCaptureMetric`,`flushMetrics`,$l,Cl)}captureException(e,t,n){let r=q();if(po(e))return U&&K.log(Rl),r;let i={event_id:r,...t};return this._process(()=>this.eventFromException(e,i).then(e=>this._captureEvent(e,i,n)).then(e=>e),`error`),i.event_id}captureMessage(e,t,n,r){let i={event_id:q(),...n},a=Ea(e)?e:String(e),o=Da(e),s=o?this.eventFromMessage(a,t,i):this.eventFromException(e,i);return this._process(()=>s.then(e=>this._captureEvent(e,i,r)),o?`unknown`:`error`),i.event_id}captureEvent(e,t,n){let r=q();if(t?.originalException&&po(t.originalException))return U&&K.log(Rl),r;let i={event_id:r,...t},a=e.sdkProcessingMetadata||{},o=a.capturedSpanScope,s=a.capturedSpanIsolationScope,c=Jl(e.type);return this._process(()=>this._captureEvent(e,i,o||n,s),c),i.event_id}captureSession(e){this.sendSession(e),xo(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}async flush(e){let t=this._transport;if(!t)return!0;this.emit(`flush`);let n=await this._isClientDoneProcessing(e),r=await t.flush(e);return n&&r}async close(e){vl(this);let t=await this.flush(e);return this.getOptions().enabled=!1,this.emit(`close`),t}getEventProcessors(){return this._eventProcessors}addEventProcessor(e){this._eventProcessors.push(e)}init(){(this._isEnabled()||this._options.integrations.some(({name:e})=>e.startsWith(`Spotlight`)))&&this._setupIntegrations()}getIntegrationByName(e){return this._integrations[e]}addIntegration(e){let t=this._integrations[e.name];ml(this,e,this._integrations),t||pl(this,[e])}sendEvent(e,t={}){this.emit(`beforeSendEvent`,e,t);let n=pc(e,this._dsn,this._options._metadata,this._options.tunnel);for(let e of t.attachments||[])n=ec(n,oc(e));this.sendEnvelope(n).then(t=>this.emit(`afterSendEvent`,e,t))}sendSession(e){let{release:t,environment:n=Vs}=this._options;if(`aggregates`in e){let r=e.attrs||{};if(!r.release&&!t){U&&K.warn(zl);return}r.release=r.release||t,r.environment=r.environment||n,e.attrs=r}else{if(!e.release&&!t){U&&K.warn(zl);return}e.release=e.release||t,e.environment=e.environment||n}this.emit(`beforeSendSession`,e);let r=fc(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(r)}recordDroppedEvent(e,t,n=1){if(this._options.sendClientReports){let r=`${e}:${t}`;U&&K.log(`Recording outcome: "${r}"${n>1?` (${n} times)`:``}`),this._outcomes[r]=(this._outcomes[r]||0)+n}}on(e,t){let n=this._hooks[e]=this._hooks[e]||new Set,r=(...e)=>t(...e);return n.add(r),()=>{n.delete(r)}}emit(e,...t){let n=this._hooks[e];n&&n.forEach(e=>e(...t))}async sendEnvelope(e){if(this.emit(`beforeEnvelope`,e),this._isEnabled()&&this._transport)try{return await this._transport.send(e)}catch(e){return U&&K.error(`Error while sending envelope:`,e),{}}return U&&K.error(`Transport disabled`),{}}dispose(){}_setupIntegrations(){let{integrations:e}=this._options;this._integrations=fl(this,e),pl(this,e)}_updateSessionFromEvent(e,t){let n=t.level===`fatal`,r=!1,i=t.exception?.values;if(i){r=!0,n=!1;for(let e of i)if(e.mechanism?.handled===!1){n=!0;break}}let a=e.status===`ok`;(a&&e.errors===0||a&&n)&&(xo(e,{...n&&{status:`crashed`},errors:e.errors||Number(r||n)}),this.captureSession(e))}async _isClientDoneProcessing(e){let t=0;for(;!e||t<e;){if(await new Promise(e=>setTimeout(e,1)),!this._numProcessing)return!0;t++}return!1}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(e,t,n,r){let i=this.getOptions(),a=Object.keys(this._integrations);return!t.integrations&&a?.length&&(t.integrations=a),this.emit(`preprocessEvent`,e,t),e.type||r.setLastEventId(e.event_id||t.event_id),zc(i,e,t,n,this,r).then(e=>e===null?e:(this.emit(`postprocessEvent`,e,t),e.contexts={trace:Wo(n),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:Us(this,n),...e.sdkProcessingMetadata},e))}_captureEvent(e,t={},n=J(),r=Y()){return U&&Zl(e)&&K.log(`Captured error event \`${Fl(e)[0]||`<unknown>`}\``),this._processEvent(e,t,n,r).then(e=>e.event_id,e=>{U&&(Gl(e)?K.log(e.message):Wl(e)?K.warn(e.message):K.warn(e))})}_processEvent(e,t,n,r){let i=this.getOptions(),{sampleRate:a}=i,o=Ql(e),s=Zl(e),c=`before send for type \`${e.type||`error`}\``,l=a===void 0?void 0:ds(a);if(s&&typeof l==`number`&&Ya()>l)return this.recordDroppedEvent(`sample_rate`,`error`),xc(Ul(`Discarding event because it's not included in the random sample (sampling rate = ${a})`));let u=Jl(e.type);return this._prepareEvent(e,t,n,r).then(e=>{if(e===null)throw this.recordDroppedEvent(`event_processor`,u),Ul("An event processor returned `null`, will not send event.");return t.data&&t.data.__sentry__===!0?e:Yl(Xl(this,i,e,t),c)}).then(i=>{if(i===null){if(this.recordDroppedEvent(`before_send`,u),o){let t=1+(e.spans||[]).length;this.recordDroppedEvent(`before_send`,`span`,t)}throw Ul(`${c} returned \`null\`, will not send event.`)}let a=n.getSession()||r.getSession();if(s&&a&&this._updateSessionFromEvent(a,i),o){let e=(i.sdkProcessingMetadata?.spanCountBeforeProcessing||0)-(i.spans?i.spans.length:0);e>0&&this.recordDroppedEvent(`before_send`,`span`,e)}let l=i.transaction_info;return o&&l&&i.transaction!==e.transaction&&(i.transaction_info={...l,source:`custom`}),this.sendEvent(i,t),i}).then(null,e=>{throw Gl(e)||Wl(e)?e:(this.captureException(e,{mechanism:{handled:!1,type:`internal`},data:{__sentry__:!0},originalException:e}),Hl(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${e}`))})}_process(e,t){this._numProcessing++,this._promiseBuffer.add(e).then(e=>(this._numProcessing--,e),e=>(this._numProcessing--,e===Dl&&this.recordDroppedEvent(`queue_overflow`,t),e))}_clearOutcomes(){let e=this._outcomes;return this._outcomes={},Object.entries(e).map(([e,t])=>{let[n,r]=e.split(`:`);return{reason:n,category:r,quantity:t}})}_flushOutcomes(){U&&K.log(`Flushing outcomes...`);let e=this._clearOutcomes();if(e.length===0){U&&K.log(`No outcomes to send`);return}if(!this._dsn){U&&K.log(`No dsn provided, will not send outcomes`);return}U&&K.log(`Sending outcomes:`,e);let t=Pl(e,this._options.tunnel&&is(this._dsn));this.sendEnvelope(t)}};function Jl(e){return e===`replay_event`?`replay`:e||`error`}function Yl(e,t){let n=`${t} must return \`null\` or a valid event.`;if(Ma(e))return e.then(e=>{if(!Oa(e)&&e!==null)throw Hl(n);return e},e=>{throw Hl(`${t} rejected with ${e}`)});if(!Oa(e)&&e!==null)throw Hl(n);return e}function Xl(e,t,n,r){let{beforeSend:i,beforeSendTransaction:a,beforeSendSpan:o,ignoreSpans:s}=t,c=n;if(Zl(c)&&i)return i(c,r);if(Ql(c)){if(o||s){let t=Il(c);if(s?.length&&Rs(t,s))return null;if(o){let e=o(t);e?c=wo(n,Ll(e)):Ns()}if(c.spans){let t=[],n=c.spans;for(let e of n){if(s?.length&&Rs(e,s)){zs(n,e);continue}if(o){let n=o(e);n?t.push(n):(Ns(),t.push(e))}else t.push(e)}let r=c.spans.length-t.length;r&&e.recordDroppedEvent(`before_send`,`span`,r),c.spans=t}}if(a){if(c.spans){let e=c.spans.length;c.sdkProcessingMetadata={...n.sdkProcessingMetadata,spanCountBeforeProcessing:e}}return a(c,r)}}return c}function Zl(e){return e.type===void 0}function Ql(e){return e.type===`transaction`}function $l(e){let t=0;return e.name&&(t+=e.name.length*2),t+=8,t+tu(e.attributes)}function eu(e){let t=0;return e.message&&(t+=e.message.length*2),t+tu(e.attributes)}function tu(e){if(!e)return 0;let t=0;return Object.values(e).forEach(e=>{Array.isArray(e)?t+=e.length*nu(e[0]):Da(e)?t+=nu(e):t+=100}),t}function nu(e){return typeof e==`string`?e.length*2:typeof e==`number`?8:typeof e==`boolean`?4:0}function ru(e,t,n,r,i){let a={sent_at:new Date().toISOString()};return n?.sdk&&(a.sdk={name:n.sdk.name,version:n.sdk.version}),r&&i&&(a.dsn=is(i)),t&&(a.trace=t),$s(a,[iu(e)])}function iu(e){return[{type:`check_in`},e]}function au(e){let t=e._metadata?.sdk,n=t?.name&&t?.version?`${t?.name}/${t?.version}`:void 0;e.transportOptions={...e.transportOptions,headers:{...n&&{"user-agent":n},...e.transportOptions?.headers}}}function ou(e,t){return e(t.stack||``,1)}function su(e){return Sa(e)&&`__sentry_fetch_url_host__`in e&&typeof e.__sentry_fetch_url_host__==`string`}function cu(e){return su(e)?`${e.message} (${e.__sentry_fetch_url_host__})`:e.message}function lu(e,t){let n={type:t.name||t.constructor.name,value:cu(t)},r=ou(e,t);return r.length&&(n.stacktrace={frames:r}),n}function uu(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let n=e[t];if(n instanceof Error)return n}}function du(e){if(`name`in e&&typeof e.name==`string`){let t=`'${e.name}' captured as exception`;return`message`in e&&typeof e.message==`string`&&(t+=` with message '${e.message}'`),t}else if(`message`in e&&typeof e.message==`string`)return e.message;let t=Ka(e);if(wa(e))return`Event \`ErrorEvent\` captured as exception with message \`${e.message}\``;let n=fu(e);return`${n&&n!==`Object`?`'${n}'`:`Object`} captured as exception with keys: ${t}`}function fu(e){try{let t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{}}function pu(e,t,n,r){if(Sa(n))return[n,void 0];if(t.synthetic=!0,Oa(n)){let t=e?.getOptions().normalizeDepth,i={__serialized__:Ks(n,t)},a=uu(n);if(a)return[a,i];let o=du(n),s=r?.syntheticException||Error(o);return s.message=o,[s,i]}let i=r?.syntheticException||Error(n);return i.message=`${n}`,[i,void 0]}function mu(e,t,n,r){let i=r?.data&&r.data.mechanism||{handled:!0,type:`generic`},[a,o]=pu(e,i,n,r),s={exception:{values:[lu(t,a)]}};return o&&(s.extra=o),so(s,void 0,void 0),co(s,i),{...s,event_id:r?.event_id}}function hu(e,t,n=`info`,r,i){let a={event_id:r?.event_id,level:n};if(i&&r?.syntheticException){let n=ou(e,r.syntheticException);n.length&&(a.exception={values:[{value:t,stacktrace:{frames:n}}]},co(a,{synthetic:!0}))}if(Ea(t)){let{__sentry_template_string__:e,__sentry_template_values__:n}=t;return a.logentry={message:e,params:n},a}return a.message=t,a}var gu=class extends ql{constructor(e){Fs(),au(e),super(e),this._setUpMetricsProcessing()}eventFromException(e,t){let n=mu(this,this._options.stackParser,e,t);return n.level=`error`,bc(n)}eventFromMessage(e,t=`info`,n){return bc(hu(this._options.stackParser,e,t,n,this._options.attachStacktrace))}captureException(e,t,n){return _u(t),super.captureException(e,t,n)}captureEvent(e,t,n){return!e.type&&e.exception?.values&&e.exception.values.length>0&&_u(t),super.captureEvent(e,t,n)}captureCheckIn(e,t,n){let r=`checkInId`in e&&e.checkInId?e.checkInId:q();if(!this._isEnabled())return U&&K.warn(`SDK not enabled, will not capture check-in.`),r;let{release:i,environment:a,tunnel:o}=this.getOptions(),s={check_in_id:r,monitor_slug:e.monitorSlug,status:e.status,release:i,environment:a};`duration`in e&&(s.duration=e.duration),t&&(s.monitor_config={schedule:t.schedule,checkin_margin:t.checkinMargin,max_runtime:t.maxRuntime,timezone:t.timezone,failure_issue_threshold:t.failureIssueThreshold,recovery_threshold:t.recoveryThreshold});let[c,l]=hl(this,n);l&&(s.contexts={trace:l});let u=ru(s,c,this.getSdkMetadata(),o,this.getDsn());return U&&K.log(`Sending checkin:`,e.monitorSlug,e.status),this.sendEnvelope(u),r}dispose(){U&&K.log(`Disposing client...`);for(let e of Object.keys(this._hooks))this._hooks[e]?.clear();this._hooks={},this._eventProcessors.length=0,this._integrations={},this._outcomes={},this._transport=void 0,this._promiseBuffer=Ol(64)}_prepareEvent(e,t,n,r){return this._options.platform&&(e.platform=e.platform||this._options.platform),this._options.runtime&&(e.contexts={...e.contexts,runtime:e.contexts?.runtime||this._options.runtime}),this._options.serverName&&(e.server_name=e.server_name||this._options.serverName),super._prepareEvent(e,t,n,r)}_setUpMetricsProcessing(){this.on(`processMetric`,e=>{this._options.serverName&&(e.attributes={"server.address":this._options.serverName,...e.attributes})})}};function _u(e){let t=Y().getScopeData().sdkProcessingMetadata.requestSession;if(t){let n=e?.mechanism?.handled??!0;n&&t.status!==`crashed`?t.status=`errored`:n||(t.status=`crashed`)}}const vu=new Set([`false`,`f`,`n`,`no`,`off`,`0`]),yu=new Set([`true`,`t`,`y`,`yes`,`on`,`1`]);function bu(e,t){let n=String(e).toLowerCase();return vu.has(n)?!1:yu.has(n)?!0:t?.strict?null:!!e}function xu(e){if(!e)return{};let t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};let n=t[6]||``,r=t[8]||``;return{host:t[4],path:t[5],protocol:t[2],search:n,hash:r,relative:t[5]+n+r}}function Su(e){return e.split(/[?#]/,1)[0]}function Cu(e){let{protocol:t,host:n,path:r}=e,i=n?.replace(/^.*@/,`[filtered]:[filtered]@`).replace(/(:80)$/,``).replace(/(:443)$/,``)||``;return`${t?`${t}://`:``}${i}${r}`}function wu(e,t,n=[t],r=`npm`){let i=(e._metadata=e._metadata||{}).sdk=e._metadata.sdk||{};i.name||(i.name=`sentry.javascript.${t}`,i.packages=n.map(e=>({name:`${r}:@sentry/${e}`,version:Bi})),i.version=Bi)}function Tu(e={}){let t=e.client||X();if(!tl()||!t)return{};let n=Bo(G());if(n.getTraceData)return n.getTraceData(e);let r=e.scope||J(),i=e.span||Ms(),a=i?xs(i):Eu(r),o=Zo(i?Ws(i):Us(t,r));if(!fs.test(a))return K.warn(`Invalid sentry-trace data. Cannot generate trace data`),{};let s={"sentry-trace":a,baggage:o};return e.propagateTraceparent&&(s.traceparent=i?Ss(i):Du(r)),s}function Eu(e){let{traceId:t,sampled:n,propagationSpanId:r}=e.getPropagationContext();return hs(t,r,n)}function Du(e){let{traceId:t,sampled:n,propagationSpanId:r}=e.getPropagationContext();return gs(t,r,n)}const Ou=`[Tracing] Not injecting trace data for url because it does not match tracePropagationTargets:`;function ku(e,t,n){if(typeof e!=`string`||!t)return!0;let r=n?.get(e);if(r!==void 0)return U&&!r&&K.log(Ou,e),r;let i=to(e,t);return n?.set(e,i),U&&!i&&K.log(Ou,e),i}function Au(e){let t=Object.create(null);try{Object.entries(e).forEach(([e,n])=>{typeof n==`string`&&(t[e]=n)})}catch{}return t}function ju(e){let t=e.headers||{},n=(typeof t[`x-forwarded-host`]==`string`?t[`x-forwarded-host`]:void 0)||(typeof t.host==`string`?t.host:void 0),r=(typeof t[`x-forwarded-proto`]==`string`?t[`x-forwarded-proto`]:void 0)||e.protocol||(e.socket?.encrypted?`https`:`http`),i=e.url||``,a=Mu({url:i,host:n,protocol:r}),o=e.body||void 0,s=e.cookies;return{url:a,method:e.method,query_string:Nu(i),headers:Au(t),cookies:s,data:o}}function Mu({url:e,protocol:t,host:n}){if(e?.startsWith(`http`))return e;if(e&&n)return`${t}://${n}${e}`}function Nu(e){if(e)try{let t=new URL(e,`http://s.io`).search.slice(1);return t.length?t:void 0}catch{return}}function Pu(e,t){let n=X(),r=Y();if(!n)return;let{beforeBreadcrumb:i=null,maxBreadcrumbs:a=100}=n.getOptions();if(a<=0)return;let o={timestamp:go(),...e},s=i?Gi(()=>i(o,t)):o;s!==null&&(n.emit&&n.emit(`beforeAddBreadcrumb`,s,t),r.addBreadcrumb(s,a))}let Fu;const Iu=new WeakMap,Lu=Z((()=>({name:`FunctionToString`,setupOnce(){Fu=Function.prototype.toString;try{Function.prototype.toString=function(...e){let t=Ha(this),n=Iu.has(X())&&t!==void 0?t:this;return Fu.apply(n,e)}}catch{}},setup(e){Iu.set(e,!0)}}))),Ru=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,/^Can't find variable: gmo$/,/^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/,`can't redefine non-configurable property "solana"`,`vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)`,`Can't find variable: _AutofillCallbackHandler`,/^Non-Error promise rejection captured with value: Object Not Found Matching Id:\d+, MethodName:simulateEvent, ParamCount:\d+$/,/^Java exception was raised during method invocation$/],zu=Z((e={})=>{let t;return{name:`EventFilters`,setup(n){t=Bu(e,n.getOptions())},processEvent(n,r,i){return t||=Bu(e,i.getOptions()),Vu(n,t)?null:n}}});function Bu(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:Ru],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[]]}}function Vu(e,t){if(e.type){if(e.type===`transaction`&&Uu(e,t.ignoreTransactions))return U&&K.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.\nEvent: ${oo(e)}`),!0}else{if(Hu(e,t.ignoreErrors))return U&&K.warn(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${oo(e)}`),!0;if(Ju(e))return U&&K.warn(`Event dropped due to not having an error message, error type or stacktrace.\nEvent: ${oo(e)}`),!0;if(Wu(e,t.denyUrls))return U&&K.warn(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${oo(e)}.\nUrl: ${qu(e)}`),!0;if(!Gu(e,t.allowUrls))return U&&K.warn(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${oo(e)}.\nUrl: ${qu(e)}`),!0}return!1}function Hu(e,t){return t?.length?Fl(e).some(e=>to(e,t)):!1}function Uu(e,t){if(!t?.length)return!1;let n=e.transaction;return n?to(n,t):!1}function Wu(e,t){if(!t?.length)return!1;let n=qu(e);return n?to(n,t):!1}function Gu(e,t){if(!t?.length)return!0;let n=qu(e);return n?to(n,t):!0}function Ku(e=[]){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n&&n.filename!==`<anonymous>`&&n.filename!==`[native code]`)return n.filename||null}return null}function qu(e){try{let t=[...e.exception?.values??[]].reverse().find(e=>e.mechanism?.parent_id===void 0&&e.stacktrace?.frames?.length)?.stacktrace?.frames;return t?Ku(t):null}catch{return U&&K.error(`Cannot extract url for event ${oo(e)}`),null}}function Ju(e){return e.exception?.values?.length?!e.message&&!e.exception.values.some(e=>e.stacktrace||e.type&&e.type!==`Error`||e.value):!1}function Yu(e,t,n,r,i,a){if(!i.exception?.values||!a||!Pa(a.originalException,Error))return;let o=i.exception.values.length>0?i.exception.values[i.exception.values.length-1]:void 0;o&&(i.exception.values=Xu(e,t,r,a.originalException,n,i.exception.values,o,0))}function Xu(e,t,n,r,i,a,o,s){if(a.length>=n+1)return a;let c=[...a];if(Pa(r[i],Error)){Qu(o,s,r);let a=e(t,r[i]),l=c.length;$u(a,i,l,s),c=Xu(e,t,n,r[i],i,[a,...c],a,l)}return Zu(r)&&r.errors.forEach((a,l)=>{if(Pa(a,Error)){Qu(o,s,r);let u=e(t,a),d=c.length;$u(u,`errors[${l}]`,d,s),c=Xu(e,t,n,a,i,[u,...c],u,d)}}),c}function Zu(e){return Array.isArray(e.errors)}function Qu(e,t,n){e.mechanism={handled:!0,type:`auto.core.linked_errors`,...Zu(n)&&{is_exception_group:!0},...e.mechanism,exception_id:t}}function $u(e,t,n,r){e.mechanism={handled:!0,...e.mechanism,type:`chained`,source:t,exception_id:n,parent_id:r}}const ed=Z(((e={})=>{let t=e.limit||5,n=e.key||`cause`;return{name:`LinkedErrors`,preprocessEvent(e,r,i){Yu(lu,i.getOptions().stackParser,n,t,e,r)}}}));function td(e){let t={},n=0;for(;n<e.length;){let r=e.indexOf(`=`,n);if(r===-1)break;let i=e.indexOf(`;`,n);if(i===-1)i=e.length;else if(i<r){n=e.lastIndexOf(`;`,r-1)+1;continue}let a=e.slice(n,r).trim();if(t[a]===void 0){let n=e.slice(r+1,i).trim();n.charCodeAt(0)===34&&(n=n.slice(1,-1));try{t[a]=n.indexOf(`%`)===-1?n:decodeURIComponent(n)}catch{t[a]=n}}n=i+1}return t}const nd=[`X-Client-IP`,`X-Forwarded-For`,`Fly-Client-IP`,`CF-Connecting-IP`,`Fastly-Client-Ip`,`True-Client-Ip`,`X-Real-IP`,`X-Cluster-Client-IP`,`X-Forwarded`,`Forwarded-For`,`Forwarded`,`X-Vercel-Forwarded-For`];function rd(e){let t={};for(let n of Object.keys(e))t[n.toLowerCase()]=e[n];return nd.map(e=>{let n=t[e.toLowerCase()],r=Array.isArray(n)?n.join(`;`):n;return e===`Forwarded`?id(r):r?.split(`,`).map(e=>e.trim())}).reduce((e,t)=>t?e.concat(t):e,[]).find(e=>e!==null&&ad(e))||null}function id(e){if(!e)return null;for(let t of e.split(`;`))if(t.startsWith(`for=`))return t.slice(4);return null}function ad(e){return/(?:^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$)|(?:^(?:(?:[a-fA-F\d]{1,4}:){7}(?:[a-fA-F\d]{1,4}|:)|(?:[a-fA-F\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|:[a-fA-F\d]{1,4}|:)|(?:[a-fA-F\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,2}|:)|(?:[a-fA-F\d]{1,4}:){4}(?:(?::[a-fA-F\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,3}|:)|(?:[a-fA-F\d]{1,4}:){3}(?:(?::[a-fA-F\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,4}|:)|(?:[a-fA-F\d]{1,4}:){2}(?:(?::[a-fA-F\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,5}|:)|(?:[a-fA-F\d]{1,4}:){1}(?:(?::[a-fA-F\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,6}|:)|(?::(?:(?::[a-fA-F\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,7}|:)))(?:%[0-9a-zA-Z]{1,})?$)/.test(e)}const od={cookies:!0,data:!0,headers:!0,query_string:!0,url:!0},sd=Z(((e={})=>{let t={...od,...e.include};return{name:`RequestData`,processEvent(e,n,r){let{sdkProcessingMetadata:i={}}=e,{normalizedRequest:a,ipAddress:o}=i,s={...t,ip:t.ip??r.getOptions().sendDefaultPii};return a&&cd(e,a,{ipAddress:o},s),e}}}));function cd(e,t,n,r){if(e.request={...e.request,...ld(t,r)},r.ip){let r=t.headers&&rd(t.headers)||n.ipAddress;r&&(e.user={...e.user,ip_address:r})}}function ld(e,t){let n={},r={...e.headers};return t.headers&&(n.headers=r,t.cookies||delete r.cookie,t.ip||nd.forEach(e=>{delete r[e]})),n.method=e.method,t.url&&(n.url=e.url),t.cookies&&(n.cookies=e.cookies||(r?.cookie?td(r.cookie):void 0)||{}),t.query_string&&(n.query_string=e.query_string),t.data&&(n.data=e.data),n}function ud(e){let t=`console`;fa(t,e),pa(t,dd)}function dd(){`console`in W&&Ui.forEach(function(e){e in W.console&&za(W.console,e,function(t){return Wi[e]=t,function(...t){ma(`console`,{args:t,level:e}),Wi[e]?.apply(W.console,t)}})})}function fd(e){return e===`warn`?`warning`:[`fatal`,`error`,`warning`,`log`,`info`,`debug`].includes(e)?e:`log`}const pd=/^(\S+:\\|\/?)([\s\S]*?)((?:\.{1,2}|[^/\\]+?|)(\.[^./\\]*|))(?:[/\\]*)$/;function md(e){let t=e.length>1024?`<truncated>${e.slice(-1024)}`:e,n=pd.exec(t);return n?n.slice(1):[]}function hd(e){let t=md(e),n=t[0]||``,r=t[1];return!n&&!r?`.`:(r&&=r.slice(0,r.length-1),n+r)}const gd=Z((e={})=>{let t=new Set(e.levels||Ui);return{name:`Console`,setup(e){ud(({args:n,level:r})=>{X()!==e||!t.has(r)||_d(r,n)})}}});function _d(e,t){let n={category:`console`,data:{arguments:t,logger:`console`},level:fd(e),message:vd(t)};if(e===`assert`)if(t[0]===!1){let e=t.slice(1);n.message=e.length>0?`Assertion failed: ${vd(e)}`:`Assertion failed`,n.data.arguments=e}else return;Pu(n,{input:t,level:e})}function vd(e){return`util`in W&&typeof W.util.format==`function`?W.util.format(...e):$a(e,` `)}function yd(e){if(e!==void 0){if(e>=400&&e<500)return`warning`;if(e>=500)return`error`}}function bd(e,t=!1){return!(t||e&&!e.startsWith(`/`)&&!e.match(/^[A-Z]:/)&&!e.startsWith(`.`)&&!e.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&e!==void 0&&!e.includes(`node_modules/`)}function xd(e){let t=/^\s*[-]{4,}$/,n=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/,r=/at (?:async )?(.+?) \(data:(.*?),/;return i=>{let a=i.match(r);if(a)return{filename:`<data:${a[2]}>`,function:a[1]};let o=i.match(n);if(o){let t,n,r,i,a;if(o[1]){r=o[1];let e=r.lastIndexOf(`.`);if(r[e-1]===`.`&&e--,e>0){t=r.slice(0,e),n=r.slice(e+1);let i=t.indexOf(`.Module`);i>0&&(r=r.slice(i+1),t=t.slice(0,i))}i=void 0}n&&(i=t,a=n),n===`<anonymous>`&&(a=void 0,r=void 0),r===void 0&&(a||=`?`,r=i?`${i}.${a}`:a);let s=la(o[2]),c=o[5]===`native`;!s&&o[5]&&!c&&(s=o[5]);let l=s?wd(s):void 0;return{filename:l??s,module:l&&e?.(l),function:r,lineno:Cd(o[3]),colno:Cd(o[4]),in_app:bd(s||``,c)}}if(i.match(t))return{filename:i}}}function Sd(e){return[90,xd(e)]}function Cd(e){return parseInt(e||``,10)||void 0}function wd(e){try{return decodeURI(e)}catch{return}}var Td=class{constructor(e){this._maxSize=e,this._cache=new Map}get size(){return this._cache.size}get(e){let t=this._cache.get(e);if(t!==void 0)return this._cache.delete(e),this._cache.set(e,t),t}set(e,t){if(this._cache.size>=this._maxSize){let e=this._cache.keys().next().value;this._cache.delete(e)}this._cache.set(e,t)}remove(e){let t=this._cache.get(e);return t&&this._cache.delete(e),t}clear(){this._cache.clear()}keys(){return Array.from(this._cache.keys())}values(){let e=[];return this._cache.forEach(t=>e.push(t)),e}};const Q=typeof __SENTRY_DEBUG__>`u`||__SENTRY_DEBUG__;var Ed=class extends gu{constructor(e){let t=e.includeServerName===!1?void 0:e.serverName||global.process.env.SENTRY_NAME||j.hostname(),n={...e,platform:`node`,runtime:{name:`node`,version:global.process.version},serverName:t};wu(n,`node-light`,[`node-core`]),K.log(`Initializing Sentry: process: ${process.pid}, thread: ${it?`main`:`worker-${at}`}.`),super(n),this.getOptions().enableLogs&&(this._logOnExitFlushListener=()=>{vl(this)},t&&this.on(`beforeCaptureLog`,e=>{e.attributes={...e.attributes,"server.address":t}}),process.on(`beforeExit`,this._logOnExitFlushListener))}async flush(e){return this.getOptions().sendClientReports&&this._flushOutcomes(),super.flush(e)}async close(e){return this._clientReportInterval&&clearInterval(this._clientReportInterval),this._clientReportOnExitFlushListener&&process.off(`beforeExit`,this._clientReportOnExitFlushListener),this._logOnExitFlushListener&&process.off(`beforeExit`,this._logOnExitFlushListener),super.close(e)}startClientReportTracking(){let e=this.getOptions();e.sendClientReports&&(this._clientReportOnExitFlushListener=()=>{this._flushOutcomes()},this._clientReportInterval=setInterval(()=>{Q&&K.log(`Flushing client reports based on interval.`),this._flushOutcomes()},e.clientReportFlushInterval??6e4).unref(),process.on(`beforeExit`,this._clientReportOnExitFlushListener))}};const Dd=Z((e={})=>({name:`ChildProcess`,setup(){ot.channel(`child_process`).subscribe(t=>{t&&typeof t==`object`&&`process`in t&&Od(t.process,e)}),ot.channel(`worker_threads`).subscribe(t=>{t&&typeof t==`object`&&`worker`in t&&kd(t.worker,e)})}}));function Od(e,t){let n=!1,r;e.on(`spawn`,()=>{if(e.spawnfile===`/usr/bin/sw_vers`){n=!0;return}r={spawnfile:e.spawnfile},t.includeChildProcessArgs&&(r.spawnargs=e.spawnargs)}).on(`exit`,e=>{n||(n=!0,e!==null&&e!==0&&Pu({category:`child_process`,message:`Child process exited with code '${e}'`,level:e===0?`info`:`warning`,data:r}))}).on(`error`,e=>{n||(n=!0,Pu({category:`child_process`,message:`Child process errored with '${e.message}'`,level:`error`,data:r}))})}function kd(e,t){let n;e.on(`online`,()=>{n=e.threadId}).on(`error`,e=>{t.captureWorkerErrors===!1?Pu({category:`worker_thread`,message:`Worker thread errored with '${e.message}'`,level:`error`,data:{threadId:n}}):Xc(e,{mechanism:{type:`auto.child_process.worker_thread`,handled:!1,data:{threadId:String(n)}}})})}const Ad=He(ut),jd=He(ft),Md=Z(((e={})=>{let t,n={app:!0,os:!0,device:!0,culture:!0,cloudResource:!0,...e};async function r(e){t===void 0&&(t=i());let n=Nd(await t);return e.contexts={...e.contexts,app:{...n.app,...e.contexts?.app},os:{...n.os,...e.contexts?.os},device:{...n.device,...e.contexts?.device},culture:{...n.culture,...e.contexts?.culture},cloud_resource:{...n.cloud_resource,...e.contexts?.cloud_resource}},e}async function i(){let e={};if(n.os&&(e.os=await Pd()),n.app&&(e.app=Id()),n.device&&(e.device=Ld(n.device)),n.culture){let t=Fd();t&&(e.culture=t)}return n.cloudResource&&(e.cloud_resource=Gd()),e}return{name:`Context`,processEvent(e){return r(e)}}}));function Nd(e){if(e.app?.app_memory&&(e.app.app_memory=process.memoryUsage().rss),e.app?.free_memory&&typeof process.availableMemory==`function`){let t=process.availableMemory?.();t!=null&&(e.app.free_memory=t)}return e.device?.free_memory&&(e.device.free_memory=j.freemem()),e}async function Pd(){let e=j.platform();switch(e){case`darwin`:return Hd();case`linux`:return Wd();default:return{name:Rd[e]||e,version:j.release()}}}function Fd(){try{if(typeof process.versions.icu!=`string`)return;let e=new Date(9e8);if(new Intl.DateTimeFormat(`es`,{month:`long`}).format(e)===`enero`){let e=Intl.DateTimeFormat().resolvedOptions();return{locale:e.locale,timezone:e.timeZone}}}catch{}}function Id(){let e=process.memoryUsage().rss,t={app_start_time:new Date(Date.now()-process.uptime()*1e3).toISOString(),app_memory:e};if(typeof process.availableMemory==`function`){let e=process.availableMemory?.();e!=null&&(t.free_memory=e)}return t}function Ld(e){let t={},n;try{n=j.uptime()}catch{}if(typeof n==`number`&&(t.boot_time=new Date(Date.now()-n*1e3).toISOString()),t.arch=j.arch(),(e===!0||e.memory)&&(t.memory_size=j.totalmem(),t.free_memory=j.freemem()),e===!0||e.cpu){let e=j.cpus(),n=e?.[0];n&&(t.processor_count=e.length,t.cpu_description=n.model,t.processor_frequency=n.speed)}return t}const Rd={aix:`IBM AIX`,freebsd:`FreeBSD`,openbsd:`OpenBSD`,sunos:`SunOS`,win32:`Windows`,ohos:`OpenHarmony`,android:`Android`},zd=[{name:`fedora-release`,distros:[`Fedora`]},{name:`redhat-release`,distros:[`Red Hat Linux`,`Centos`]},{name:`redhat_version`,distros:[`Red Hat Linux`]},{name:`SuSE-release`,distros:[`SUSE Linux`]},{name:`lsb-release`,distros:[`Ubuntu Linux`,`Arch Linux`]},{name:`debian_version`,distros:[`Debian`]},{name:`debian_release`,distros:[`Debian`]},{name:`arch-release`,distros:[`Arch Linux`]},{name:`gentoo-release`,distros:[`Gentoo Linux`]},{name:`novell-release`,distros:[`SUSE Linux`]},{name:`alpine-release`,distros:[`Alpine Linux`]}],Bd={alpine:e=>e,arch:e=>Vd(/distrib_release=(.*)/,e),centos:e=>Vd(/release ([^ ]+)/,e),debian:e=>e,fedora:e=>Vd(/release (..)/,e),mint:e=>Vd(/distrib_release=(.*)/,e),red:e=>Vd(/release ([^ ]+)/,e),suse:e=>Vd(/VERSION = (.*)\n/,e),ubuntu:e=>Vd(/distrib_release=(.*)/,e)};function Vd(e,t){let n=e.exec(t);return n?n[1]:void 0}async function Hd(){let e={kernel_version:j.release(),name:`Mac OS X`,version:`10.${Number(j.release().split(`.`)[0])-4}`};try{let t=await new Promise((e,t)=>{Qe(`/usr/bin/sw_vers`,(n,r)=>{if(n){t(n);return}e(r)})});e.name=Vd(/^ProductName:\s+(.*)$/m,t),e.version=Vd(/^ProductVersion:\s+(.*)$/m,t),e.build=Vd(/^BuildVersion:\s+(.*)$/m,t)}catch{}return e}function Ud(e){return e.split(` `)[0].toLowerCase()}async function Wd(){let e={kernel_version:j.release(),name:`Linux`};try{let t=await jd(`/etc`),n=zd.find(e=>t.includes(e.name));if(!n)return e;let r=(await Ad(Je(`/etc`,n.name),{encoding:`utf-8`})).toLowerCase(),{distros:i}=n;e.name=i.find(e=>r.indexOf(Ud(e))>=0)||i[0],e.version=Bd[Ud(e.name)]?.(r)}catch{}return e}function Gd(){if(process.env.VERCEL)return{"cloud.provider":`vercel`,"cloud.region":process.env.VERCEL_REGION};if(process.env.AWS_REGION)return{"cloud.provider":`aws`,"cloud.region":process.env.AWS_REGION,"cloud.platform":process.env.AWS_EXECUTION_ENV};if(process.env.GCP_PROJECT)return{"cloud.provider":`gcp`};if(process.env.ALIYUN_REGION_ID)return{"cloud.provider":`alibaba_cloud`,"cloud.region":process.env.ALIYUN_REGION_ID};if(process.env.WEBSITE_SITE_NAME&&process.env.REGION_NAME)return{"cloud.provider":`azure`,"cloud.region":process.env.REGION_NAME};if(process.env.IBM_CLOUD_REGION)return{"cloud.provider":`ibm_cloud`,"cloud.region":process.env.IBM_CLOUD_REGION};if(process.env.TENCENTCLOUD_REGION)return{"cloud.provider":`tencent_cloud`,"cloud.region":process.env.TENCENTCLOUD_REGION,"cloud.account.id":process.env.TENCENTCLOUD_APPID,"cloud.availability_zone":process.env.TENCENTCLOUD_ZONE};if(process.env.NETLIFY)return{"cloud.provider":`netlify`};if(process.env.FLY_REGION)return{"cloud.provider":`fly.io`,"cloud.region":process.env.FLY_REGION};if(process.env.DYNO)return{"cloud.provider":`heroku`}}const Kd=new Td(10),qd=new Td(20);function Jd(e,t,n){let r=e.get(t);return r===void 0?(e.set(t,n),n):r}function Yd(e){return!!(e.startsWith(`node:`)||e.endsWith(`.min.js`)||e.endsWith(`.min.cjs`)||e.endsWith(`.min.mjs`)||e.startsWith(`data:`))}function Xd(e){return e.lineno!==void 0&&e.lineno>1e4||e.colno!==void 0&&e.colno>1e3}function Zd(e,t){let n=Kd.get(e);if(n===void 0)return!1;for(let e=t[0];e<=t[1];e++)if(n[e]===void 0)return!1;return!0}function Qd(e,t){if(!e.length)return[];let n=0,r=e[0];if(typeof r!=`number`)return[];let i=sf(r,t),a=[];for(;;){if(n===e.length-1){a.push(i);break}let r=e[n+1];if(typeof r!=`number`)break;r<=i[1]?i[1]=r+t:(a.push(i),i=sf(r,t)),n++}return a}function $d(e,t,n){return new Promise((r,i)=>{let a=ct(e),o=et({input:a});function s(){a.destroy(),r()}let c=0,l=0,u=t[l];if(u===void 0){s();return}let d=u[0],f=u[1];function p(t){qd.set(e,1),Q&&K.error(`Failed to read file: ${e}. Error: ${t}`),o.close(),o.removeAllListeners(),s()}a.on(`error`,p),o.on(`error`,p),o.on(`close`,s),o.on(`line`,e=>{if(c++,!(c<d)&&(n[c]=Qa(e,0),c>=f)){if(l===t.length-1){o.close(),o.removeAllListeners();return}l++;let e=t[l];if(e===void 0){o.close(),o.removeAllListeners();return}d=e[0],f=e[1]}})})}async function ef(e,t){let n={};if(t>0&&e.exception?.values){for(let t of e.exception.values)if(t.stacktrace?.frames?.length)for(let e=t.stacktrace.frames.length-1;e>=0;e--){let r=t.stacktrace.frames[e],i=r?.filename;!r||typeof i!=`string`||typeof r.lineno!=`number`||Yd(i)||Xd(r)||(n[i]||(n[i]=[]),n[i].push(r.lineno))}}let r=Object.keys(n);if(r.length==0)return e;let i=[];for(let e of r){if(qd.get(e))continue;let r=n[e];if(!r)continue;r.sort((e,t)=>e-t);let a=Qd(r,t);if(a.every(t=>Zd(e,t)))continue;let o=Jd(Kd,e,{});i.push($d(e,a,o))}if(await Promise.all(i).catch(()=>{Q&&K.log(`Failed to read one or more source files and resolve context lines`)}),t>0&&e.exception?.values)for(let n of e.exception.values)n.stacktrace?.frames&&n.stacktrace.frames.length>0&&tf(n.stacktrace.frames,t,Kd);return e}function tf(e,t,n){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno==`number`){let e=n.get(r.filename);if(e===void 0)continue;rf(r.lineno,r,t,e)}}function nf(e){delete e.pre_context,delete e.context_line,delete e.post_context}function rf(e,t,n,r){if(t.lineno===void 0||r===void 0){Q&&K.error(`Cannot resolve context for frame with no lineno or file contents`);return}t.pre_context=[];for(let i=af(e,n);i<e;i++){let e=r[i];if(e===void 0){nf(t),Q&&K.error(`Could not find line ${i} in file ${t.filename}`);return}t.pre_context.push(e)}if(r[e]===void 0){nf(t),Q&&K.error(`Could not find line ${e} in file ${t.filename}`);return}t.context_line=r[e];let i=of(e,n);t.post_context=[];for(let n=e+1;n<=i;n++){let e=r[n];if(e===void 0)break;t.post_context.push(e)}}function af(e,t){return Math.max(1,e-t)}function of(e,t){return e+t}function sf(e,t){return[af(e,t),of(e,t)]}const cf=Z(((e={})=>{let t=e.frameContextLines===void 0?7:e.frameContextLines;return{name:`ContextLines`,processEvent(e){return ef(e,t)}}})),lf=fo(process.versions.node),uf=lf.major;lf.minor;let df;async function ff(){if(df===void 0)try{df=!!(await import(`node:inspector`)).url()}catch{df=!1}return df}const pf=`__SENTRY_ERROR_LOCAL_VARIABLES__`;function mf(e,t,n){let r=0,i=5,a=0;return setInterval(()=>{a===0?r>e&&(i*=2,n(i),i>86400&&(i=86400),a=i):(--a,a===0&&t()),r=0},1e3).unref(),()=>{r+=1}}function hf(e){return e!==void 0&&(e.length===0||e===`?`||e===`<anonymous>`)}function gf(e,t){return e===t||`Object.${e}`===t||e===`Object.${t}`||hf(e)&&hf(t)}function _f(...e){K.log(`[LocalVariables]`,...e)}const vf=Z(((e={})=>{function t(t,n){let r=(t.stacktrace?.frames||[]).filter(e=>e.function!==`new Promise`);for(let t=0;t<r.length;t++){let i=r.length-t-1,a=n[t],o=r[i];if(!o||!a)break;a.vars===void 0||o.in_app===!1&&e.includeOutOfAppFrames!==!0||!gf(o.function,a.function)||(o.vars=a.vars)}}function n(e,n){if(n.originalException&&typeof n.originalException==`object`&&pf in n.originalException&&Array.isArray(n.originalException[pf])){for(let r of e.exception?.values||[])t(r,n.originalException[pf]);n.originalException[pf]=void 0}return e}async function r(){let e=await import(`node:inspector`);e.url()||e.open(0)}function i(e){let t=new pt(new URL(`data:application/javascript;base64,LyohIEBzZW50cnkvbm9kZS1jb3JlIDEwLjQyLjAgKDA3YzkxOTApIHwgaHR0cHM6Ly9naXRodWIuY29tL2dldHNlbnRyeS9zZW50cnktamF2YXNjcmlwdCAqLwppbXBvcnR7U2Vzc2lvbiBhcyBlfWZyb20ibm9kZTppbnNwZWN0b3IvcHJvbWlzZXMiO2ltcG9ydHt3b3JrZXJEYXRhIGFzIHR9ZnJvbSJub2RlOndvcmtlcl90aHJlYWRzIjtjb25zdCBuPWdsb2JhbFRoaXMsaT17fTtjb25zdCBvPSJfX1NFTlRSWV9FUlJPUl9MT0NBTF9WQVJJQUJMRVNfXyI7Y29uc3QgYT10O2Z1bmN0aW9uIHMoLi4uZSl7YS5kZWJ1ZyYmZnVuY3Rpb24oZSl7aWYoISgiY29uc29sZSJpbiBuKSlyZXR1cm4gZSgpO2NvbnN0IHQ9bi5jb25zb2xlLG89e30sYT1PYmplY3Qua2V5cyhpKTthLmZvckVhY2goZT0+e2NvbnN0IG49aVtlXTtvW2VdPXRbZV0sdFtlXT1ufSk7dHJ5e3JldHVybiBlKCl9ZmluYWxseXthLmZvckVhY2goZT0+e3RbZV09b1tlXX0pfX0oKCk9PmNvbnNvbGUubG9nKCJbTG9jYWxWYXJpYWJsZXMgV29ya2VyXSIsLi4uZSkpfWFzeW5jIGZ1bmN0aW9uIGMoZSx0LG4saSl7Y29uc3Qgbz1hd2FpdCBlLnBvc3QoIlJ1bnRpbWUuZ2V0UHJvcGVydGllcyIse29iamVjdElkOnQsb3duUHJvcGVydGllczohMH0pO2lbbl09by5yZXN1bHQuZmlsdGVyKGU9PiJsZW5ndGgiIT09ZS5uYW1lJiYhaXNOYU4ocGFyc2VJbnQoZS5uYW1lLDEwKSkpLnNvcnQoKGUsdCk9PnBhcnNlSW50KGUubmFtZSwxMCktcGFyc2VJbnQodC5uYW1lLDEwKSkubWFwKGU9PmUudmFsdWU/LnZhbHVlKX1hc3luYyBmdW5jdGlvbiByKGUsdCxuLGkpe2NvbnN0IG89YXdhaXQgZS5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLHtvYmplY3RJZDp0LG93blByb3BlcnRpZXM6ITB9KTtpW25dPW8ucmVzdWx0Lm1hcChlPT5bZS5uYW1lLGUudmFsdWU/LnZhbHVlXSkucmVkdWNlKChlLFt0LG5dKT0+KGVbdF09bixlKSx7fSl9ZnVuY3Rpb24gdShlLHQpe2UudmFsdWUmJigidmFsdWUiaW4gZS52YWx1ZT92b2lkIDA9PT1lLnZhbHVlLnZhbHVlfHxudWxsPT09ZS52YWx1ZS52YWx1ZT90W2UubmFtZV09YDwke2UudmFsdWUudmFsdWV9PmA6dFtlLm5hbWVdPWUudmFsdWUudmFsdWU6ImRlc2NyaXB0aW9uImluIGUudmFsdWUmJiJmdW5jdGlvbiIhPT1lLnZhbHVlLnR5cGU/dFtlLm5hbWVdPWA8JHtlLnZhbHVlLmRlc2NyaXB0aW9ufT5gOiJ1bmRlZmluZWQiPT09ZS52YWx1ZS50eXBlJiYodFtlLm5hbWVdPSI8dW5kZWZpbmVkPiIpKX1hc3luYyBmdW5jdGlvbiBsKGUsdCl7Y29uc3Qgbj1hd2FpdCBlLnBvc3QoIlJ1bnRpbWUuZ2V0UHJvcGVydGllcyIse29iamVjdElkOnQsb3duUHJvcGVydGllczohMH0pLGk9e307Zm9yKGNvbnN0IHQgb2Ygbi5yZXN1bHQpaWYodC52YWx1ZT8ub2JqZWN0SWQmJiJBcnJheSI9PT10LnZhbHVlLmNsYXNzTmFtZSl7Y29uc3Qgbj10LnZhbHVlLm9iamVjdElkO2F3YWl0IGMoZSxuLHQubmFtZSxpKX1lbHNlIGlmKHQudmFsdWU/Lm9iamVjdElkJiYiT2JqZWN0Ij09PXQudmFsdWUuY2xhc3NOYW1lKXtjb25zdCBuPXQudmFsdWUub2JqZWN0SWQ7YXdhaXQgcihlLG4sdC5uYW1lLGkpfWVsc2UgdC52YWx1ZSYmdSh0LGkpO3JldHVybiBpfWxldCBmOyhhc3luYyBmdW5jdGlvbigpe2NvbnN0IHQ9bmV3IGU7dC5jb25uZWN0VG9NYWluVGhyZWFkKCkscygiQ29ubmVjdGVkIHRvIG1haW4gdGhyZWFkIik7bGV0IG49ITE7dC5vbigiRGVidWdnZXIucmVzdW1lZCIsKCk9PntuPSExfSksdC5vbigiRGVidWdnZXIucGF1c2VkIixlPT57bj0hMCxhc3luYyBmdW5jdGlvbihlLHtyZWFzb246dCxkYXRhOntvYmplY3RJZDpufSxjYWxsRnJhbWVzOml9KXtpZigiZXhjZXB0aW9uIiE9PXQmJiJwcm9taXNlUmVqZWN0aW9uIiE9PXQpcmV0dXJuO2lmKGY/LigpLG51bGw9PW4pcmV0dXJuO2NvbnN0IGE9W107Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0Kyspe2NvbnN0e3Njb3BlQ2hhaW46bixmdW5jdGlvbk5hbWU6byx0aGlzOnN9PWlbdF0sYz1uLmZpbmQoZT0+ImxvY2FsIj09PWUudHlwZSkscj0iZ2xvYmFsIiE9PXMuY2xhc3NOYW1lJiZzLmNsYXNzTmFtZT9gJHtzLmNsYXNzTmFtZX0uJHtvfWA6bztpZih2b2lkIDA9PT1jPy5vYmplY3Qub2JqZWN0SWQpYVt0XT17ZnVuY3Rpb246cn07ZWxzZXtjb25zdCBuPWF3YWl0IGwoZSxjLm9iamVjdC5vYmplY3RJZCk7YVt0XT17ZnVuY3Rpb246cix2YXJzOm59fX1hd2FpdCBlLnBvc3QoIlJ1bnRpbWUuY2FsbEZ1bmN0aW9uT24iLHtmdW5jdGlvbkRlY2xhcmF0aW9uOmBmdW5jdGlvbigpIHsgdGhpcy4ke299ID0gdGhpcy4ke299IHx8ICR7SlNPTi5zdHJpbmdpZnkoYSl9OyB9YCxzaWxlbnQ6ITAsb2JqZWN0SWQ6bn0pLGF3YWl0IGUucG9zdCgiUnVudGltZS5yZWxlYXNlT2JqZWN0Iix7b2JqZWN0SWQ6bn0pfSh0LGUucGFyYW1zKS50aGVuKGFzeW5jKCk9PntuJiZhd2FpdCB0LnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpfSxhc3luYyBlPT57biYmYXdhaXQgdC5wb3N0KCJEZWJ1Z2dlci5yZXN1bWUiKX0pfSksYXdhaXQgdC5wb3N0KCJEZWJ1Z2dlci5lbmFibGUiKTtjb25zdCBpPSExIT09YS5jYXB0dXJlQWxsRXhjZXB0aW9ucztpZihhd2FpdCB0LnBvc3QoIkRlYnVnZ2VyLnNldFBhdXNlT25FeGNlcHRpb25zIix7c3RhdGU6aT8iYWxsIjoidW5jYXVnaHQifSksaSl7Y29uc3QgZT1hLm1heEV4Y2VwdGlvbnNQZXJTZWNvbmR8fDUwO2Y9ZnVuY3Rpb24oZSx0LG4pe2xldCBpPTAsbz01LGE9MDtyZXR1cm4gc2V0SW50ZXJ2YWwoKCk9PnswPT09YT9pPmUmJihvKj0yLG4obyksbz44NjQwMCYmKG89ODY0MDApLGE9byk6KGEtPTEsMD09PWEmJnQoKSksaT0wfSwxZTMpLnVucmVmKCksKCk9PntpKz0xfX0oZSxhc3luYygpPT57cygiUmF0ZS1saW1pdCBsaWZ0ZWQuIiksYXdhaXQgdC5wb3N0KCJEZWJ1Z2dlci5zZXRQYXVzZU9uRXhjZXB0aW9ucyIse3N0YXRlOiJhbGwifSl9LGFzeW5jIGU9PntzKGBSYXRlLWxpbWl0IGV4Y2VlZGVkLiBEaXNhYmxpbmcgY2FwdHVyaW5nIG9mIGNhdWdodCBleGNlcHRpb25zIGZvciAke2V9IHNlY29uZHMuYCksYXdhaXQgdC5wb3N0KCJEZWJ1Z2dlci5zZXRQYXVzZU9uRXhjZXB0aW9ucyIse3N0YXRlOiJ1bmNhdWdodCJ9KX0pfX0pKCkuY2F0Y2goZT0+e3MoIkZhaWxlZCB0byBzdGFydCBkZWJ1Z2dlciIsZSl9KSxzZXRJbnRlcnZhbCgoKT0+e30sMWU0KTs=`),{workerData:e,execArgv:[],env:{...process.env,NODE_OPTIONS:void 0}});process.on(`exit`,()=>{t.terminate()}),t.once(`error`,e=>{_f(`Worker error`,e)}),t.once(`exit`,e=>{_f(`Worker exit`,e)}),t.unref()}return{name:`LocalVariablesAsync`,async setup(t){if(!t.getOptions().includeLocalVariables)return;if(await ff()){K.warn(`Local variables capture has been disabled because the debugger was already enabled`);return}let n={...e,debug:K.isEnabled()};r().then(()=>{try{i(n)}catch(e){K.error(`Failed to start worker`,e)}},e=>{K.error(`Failed to start inspector`,e)})},processEvent(e,t){return n(e,t)}}}));function yf(e){if(e!==void 0)return e.slice(-10).reduce((e,t)=>`${e},${t.function},${t.lineno},${t.colno}`,``)}function bf(e,t){if(t!==void 0)return yf(e(t,1))}function xf(e){let t=[],n=!1;function r(r){t=[],!n&&(n=!0,e(r))}t.push(r);function i(e){t.push(e)}function a(e){let n=t.pop()||r;try{n(e)}catch{r(e)}}return{add:i,next:a}}var Sf=class e{constructor(e){this._session=e}static async create(t){return t||new e(new(await(import(`node:inspector`))).Session)}configureAndConnect(e,t){this._session.connect(),this._session.on(`Debugger.paused`,t=>{e(t,()=>{this._session.post(`Debugger.resume`)})}),this._session.post(`Debugger.enable`),this._session.post(`Debugger.setPauseOnExceptions`,{state:t?`all`:`uncaught`})}setPauseOnExceptions(e){this._session.post(`Debugger.setPauseOnExceptions`,{state:e?`all`:`uncaught`})}getLocalVariables(e,t){this._getProperties(e,e=>{let{add:n,next:r}=xf(t);for(let t of e)if(t.value?.objectId&&t.value.className===`Array`){let e=t.value.objectId;n(n=>this._unrollArray(e,t.name,n,r))}else if(t.value?.objectId&&t.value.className===`Object`){let e=t.value.objectId;n(n=>this._unrollObject(e,t.name,n,r))}else t.value&&n(e=>this._unrollOther(t,e,r));r({})})}_getProperties(e,t){this._session.post(`Runtime.getProperties`,{objectId:e,ownProperties:!0},(e,n)=>{t(e?[]:n.result)})}_unrollArray(e,t,n,r){this._getProperties(e,e=>{n[t]=e.filter(e=>e.name!==`length`&&!isNaN(parseInt(e.name,10))).sort((e,t)=>parseInt(e.name,10)-parseInt(t.name,10)).map(e=>e.value?.value),r(n)})}_unrollObject(e,t,n,r){this._getProperties(e,e=>{n[t]=e.map(e=>[e.name,e.value?.value]).reduce((e,[t,n])=>(e[t]=n,e),{}),r(n)})}_unrollOther(e,t,n){e.value&&(`value`in e.value?e.value.value===void 0||e.value.value===null?t[e.name]=`<${e.value.value}>`:t[e.name]=e.value.value:`description`in e.value&&e.value.type!==`function`?t[e.name]=`<${e.value.description}>`:e.value.type===`undefined`&&(t[e.name]=`<undefined>`)),n(t)}};const Cf=Z(((e={},t)=>{let n=new Td(20),r,i=!1;function a(t){let r=yf(t.stacktrace?.frames);if(r===void 0)return;let i=n.remove(r);if(i===void 0)return;let a=(t.stacktrace?.frames||[]).filter(e=>e.function!==`new Promise`);for(let t=0;t<a.length;t++){let n=a.length-t-1,r=i[t],o=a[n];if(!o||!r)break;r.vars===void 0||o.in_app===!1&&e.includeOutOfAppFrames!==!0||!gf(o.function,r.function)||(o.vars=r.vars)}}function o(e){for(let t of e.exception?.values||[])a(t);return e}let s;async function c(){let a=X()?.getOptions();if(a?.includeLocalVariables){if(uf<18){K.log("The `LocalVariables` integration is only supported on Node >= v18.");return}if(await ff()){K.warn(`Local variables capture has been disabled because the debugger was already enabled`);return}try{let o=await Sf.create(t),s=(e,{params:{reason:t,data:i,callFrames:a}},s)=>{if(t!==`exception`&&t!==`promiseRejection`){s();return}r?.();let c=bf(e,i.description);if(c==null){s();return}let{add:l,next:u}=xf(e=>{n.set(c,e),s()});for(let e=0;e<Math.min(a.length,5);e++){let{scopeChain:t,functionName:n,this:r}=a[e],i=t.find(e=>e.type===`local`),s=r.className===`global`||!r.className?n:`${r.className}.${n}`;if(i?.object.objectId===void 0)l(t=>{t[e]={function:s},u(t)});else{let t=i.object.objectId;l(n=>o.getLocalVariables(t,t=>{n[e]={function:s,vars:t},u(n)}))}}u([])},c=e.captureAllExceptions!==!1;o.configureAndConnect((e,t)=>s(a.stackParser,e,t),c),c&&(r=mf(e.maxExceptionsPerSecond||50,()=>{K.log(`Local variables rate-limit lifted.`),o.setPauseOnExceptions(!0)},e=>{K.log(`Local variables rate-limit exceeded. Disabling capturing of caught exceptions for ${e} seconds.`),o.setPauseOnExceptions(!1)})),i=!0}catch(e){K.log("The `LocalVariables` integration failed to start.",e)}}}return{name:`LocalVariables`,setupOnce(){s=c()},async processEvent(e){return await s,i?o(e):e},_getCachedFramesCount(){return n.size},_getFirstCachedFrame(){return n.values()[0]}}})),wf=(e={})=>lf.major<19?Cf(e):vf(e);function Tf(){try{return typeof module<`u`&&module.exports!==void 0}catch{return!1}}let Ef;const Df=typeof __SENTRY_SERVER_MODULES__>`u`?{}:__SENTRY_SERVER_MODULES__,Of=(()=>({name:`Modules`,processEvent(e){return e.modules={...e.modules,...Mf()},e},getModules:Mf}));function kf(){try{return i.cache?Object.keys(i.cache):[]}catch{return[]}}function Af(){return{...Df,...Pf(),...Tf()?jf():{}}}function jf(){let e=i.main?.paths||[],t=kf(),n={},r=new Set;return t.forEach(t=>{let i=t,a=()=>{let t=i;if(i=qe(t),!i||t===i||r.has(t))return;if(e.indexOf(i)<0)return a();let o=Je(t,`package.json`);if(r.add(t),!lt(o))return a();try{let e=JSON.parse(dt(o,`utf8`));n[e.name]=e.version}catch{}};a()}),n}function Mf(){return Ef||=Af(),Ef}function Nf(){try{let e=Je(process.cwd(),`package.json`);return JSON.parse(dt(e,`utf8`))}catch{return{}}}function Pf(){let e=Nf();return{...e.dependencies,...e.devDependencies}}function Ff(e){Gi(()=>{console.error(e)});let t=X();if(t===void 0){Q&&K.warn(`No NodeClient was defined, we are exiting the process now.`),global.process.exit(1);return}let n=t.getOptions(),r=n?.shutdownTimeout&&n.shutdownTimeout>0?n.shutdownTimeout:2e3;t.close(r).then(e=>{e||Q&&K.warn(`We reached the timeout for emptying the request buffer, still exiting now!`),global.process.exit(1)},e=>{Q&&K.error(e)})}const If=Z((e={})=>{let t={exitEvenIfOtherHandlersAreRegistered:!1,...e};return{name:`OnUncaughtException`,setup(e){it&&global.process.on(`uncaughtException`,Lf(e,t))}}});function Lf(e,t){let n=!1,r=!1,i=!1,a,o=e.getOptions();return Object.assign(s=>{let c=Ff;t.onFatalError?c=t.onFatalError:o.onFatalError&&(c=o.onFatalError);let l=global.process.listeners(`uncaughtException`).filter(e=>e.name!==`domainUncaughtExceptionClear`&&e.tag!==`sentry_tracingErrorCallback`&&e._errorHandler!==!0).length===0,u=t.exitEvenIfOtherHandlersAreRegistered||l;n?u&&(i?(Q&&K.warn(`uncaught exception after calling fatal error shutdown callback - this is bad! forcing shutdown`),Ff(s)):r||(r=!0,setTimeout(()=>{i||(i=!0,c(a,s))},2e3))):(a=s,n=!0,X()===e&&Xc(s,{originalException:s,captureContext:{level:`fatal`},mechanism:{handled:!1,type:`auto.node.onuncaughtexception`}}),!i&&u&&(i=!0,c(s)))},{_errorHandler:!0})}const Rf=[{name:`AI_NoOutputGeneratedError`},{name:`AbortError`}],zf=Z(((e={})=>{let t={mode:e.mode??`warn`,ignore:[...Rf,...e.ignore??[]]};return{name:`OnUnhandledRejection`,setup(e){global.process.on(`unhandledRejection`,Uf(e,t))}}}));function Bf(e){if(typeof e!=`object`||!e)return{name:``,message:String(e??``)};let t=e;return{name:typeof t.name==`string`?t.name:``,message:typeof t.message==`string`?t.message:String(e)}}function Vf(e,t){let n=e.name===void 0||eo(t.name,e.name,!0),r=e.message===void 0||eo(t.message,e.message);return n&&r}function Hf(e,t){let n=Bf(t);return e.some(e=>Vf(e,n))}function Uf(e,t){return function(n,r){if(X()!==e||Hf(t.ignore??[],n))return;let i=t.mode===`strict`?`fatal`:`error`,a=n&&typeof n==`object`?n._sentry_active_span:void 0;(a?e=>gc(a,e):e=>e())(()=>{Xc(n,{originalException:r,captureContext:{extra:{unhandledPromiseRejection:!0},level:i},mechanism:{handled:!1,type:`auto.node.onunhandledrejection`}})}),Wf(n,t.mode)}}function Wf(e,t){let n=`This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:`;t===`warn`?Gi(()=>{console.warn(n),console.error(e&&typeof e==`object`&&`stack`in e?e.stack:e)}):t===`strict`&&(Gi(()=>{console.warn(n)}),Ff(e))}const Gf=Z(()=>({name:`ProcessSession`,setupOnce(){nl(),process.on(`beforeExit`,()=>{Y().getSession()?.status!==`ok`&&rl()})}})),Kf=`Spotlight`,qf=Z(((e={})=>{let t={sidecarUrl:e.sidecarUrl||`http://localhost:8969/stream`};return{name:Kf,setup(e){try{process.env.NODE_ENV&&process.env.NODE_ENV!==`development`&&K.warn(`[Spotlight] It seems you're not in dev mode. Do you really want to have Spotlight enabled?`)}catch{}Jf(e,t)}}}));function Jf(e,t){let n=Yf(t.sidecarUrl);if(!n)return;let r=0;e.on(`beforeEnvelope`,e=>{if(r>3){K.warn(`[Spotlight] Disabled Sentry -> Spotlight integration due to too many failed requests`);return}let t=ic(e);_c(()=>{let e=tt.request({method:`POST`,path:n.pathname,hostname:n.hostname,port:n.port,headers:{"Content-Type":`application/x-sentry-envelope`}},e=>{e.statusCode&&e.statusCode>=200&&e.statusCode<400&&(r=0),e.on(`data`,()=>{}),e.on(`end`,()=>{}),e.setEncoding(`utf8`)});e.on(`error`,()=>{r++,K.warn(`[Spotlight] Failed to send envelope to Spotlight Sidecar`)}),e.write(t),e.end()})})}function Yf(e){try{return new URL(`${e}`)}catch{K.warn(`[Spotlight] Invalid sidecar URL: ${e}`);return}}function Xf(e){return!(e instanceof Error)||!(`errno`in e)||typeof e.errno!=`number`?!1:Be.getSystemErrorMap().has(e.errno)}const Zf=Z((e={})=>({name:`NodeSystemError`,processEvent:(t,n,r)=>{if(!Xf(n.originalException))return t;let i=n.originalException,a={...i};!r.getOptions().sendDefaultPii&&e.includePaths!==!0&&(delete a.path,delete a.dest),t.contexts={...t.contexts,node_system_error:a};for(let e of t.exception?.values||[])e.value&&(i.path&&e.value.includes(i.path)&&(e.value=e.value.replace(`'${i.path}'`,``).trim()),i.dest&&e.value.includes(i.dest)&&(e.value=e.value.replace(`'${i.dest}'`,``).trim()));return t}}));function Qf(e){return e.replace(/^[A-Z]:/,``).replace(/\\/g,`/`)}function $f(e=process.argv[1]?hd(process.argv[1]):process.cwd(),t=Xe===`\\`){let n=t?Qf(e):e;return e=>{if(!e)return;let r=t?Qf(e):e,{dir:i,base:a,ext:o}=Ye.parse(r);(o===`.js`||o===`.mjs`||o===`.cjs`)&&(a=a.slice(0,o.length*-1));let s=decodeURIComponent(a);i||=`.`;let c=i.lastIndexOf(`/node_modules`);if(c>-1)return`${i.slice(c+14).replace(/\//g,`.`)}:${s}`;if(i.startsWith(n)){let e=i.slice(n.length+1).replace(/\//g,`.`);return e?`${e}:${s}`:s}return s}}function ep(e){if(process.env.SENTRY_RELEASE)return process.env.SENTRY_RELEASE;if(W.SENTRY_RELEASE?.id)return W.SENTRY_RELEASE.id;let t=process.env.GITHUB_SHA||process.env.CI_MERGE_REQUEST_SOURCE_BRANCH_SHA||process.env.CI_BUILD_REF||process.env.CI_COMMIT_SHA||process.env.BITBUCKET_COMMIT,n=process.env.APPVEYOR_PULL_REQUEST_HEAD_COMMIT||process.env.APPVEYOR_REPO_COMMIT||process.env.CODEBUILD_RESOLVED_SOURCE_VERSION||process.env.AWS_COMMIT_ID||process.env.BUILD_SOURCEVERSION||process.env.GIT_CLONE_COMMIT_HASH||process.env.BUDDY_EXECUTION_REVISION||process.env.BUILDKITE_COMMIT||process.env.CIRCLE_SHA1||process.env.CIRRUS_CHANGE_IN_REPO||process.env.CF_REVISION||process.env.CM_COMMIT||process.env.CF_PAGES_COMMIT_SHA||process.env.DRONE_COMMIT_SHA||process.env.FC_GIT_COMMIT_SHA||process.env.HEROKU_TEST_RUN_COMMIT_VERSION||process.env.HEROKU_SLUG_COMMIT||process.env.RAILWAY_GIT_COMMIT_SHA||process.env.RENDER_GIT_COMMIT||process.env.SEMAPHORE_GIT_SHA||process.env.TRAVIS_PULL_REQUEST_SHA||process.env.VERCEL_GIT_COMMIT_SHA||process.env.VERCEL_GITHUB_COMMIT_SHA||process.env.VERCEL_GITLAB_COMMIT_SHA||process.env.VERCEL_BITBUCKET_COMMIT_SHA||process.env.ZEIT_GITHUB_COMMIT_SHA||process.env.ZEIT_GITLAB_COMMIT_SHA||process.env.ZEIT_BITBUCKET_COMMIT_SHA,r=process.env.CI_COMMIT_ID||process.env.SOURCE_COMMIT||process.env.SOURCE_VERSION||process.env.GIT_COMMIT||process.env.COMMIT_REF||process.env.BUILD_VCS_NUMBER||process.env.CI_COMMIT_SHA;return t||n||r||e}const tp=na(Sd($f())),np=Symbol(`AgentBaseInternalState`);var rp=class extends tt.Agent{constructor(e){super(e),this[np]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint==`boolean`)return e.secureEndpoint;if(typeof e.protocol==`string`)return e.protocol===`https:`}let{stack:t}=Error();return typeof t==`string`?t.split(`
|
|
325
|
+
`).some(e=>e.indexOf(`(https.js:`)!==-1||e.indexOf(`node:https:`)!==-1):!1}createSocket(e,t,n){let r={...t,secureEndpoint:this.isSecureEndpoint(t)};Promise.resolve().then(()=>this.connect(e,r)).then(i=>{if(i instanceof tt.Agent)return i.addRequest(e,r);this[np].currentSocket=i,super.createSocket(e,t,n)},n)}createConnection(){let e=this[np].currentSocket;if(this[np].currentSocket=void 0,!e)throw Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[np].defaultPort??(this.protocol===`https:`?443:80)}set defaultPort(e){this[np]&&(this[np].defaultPort=e)}get protocol(){return this[np].protocol??(this.isSecureEndpoint()?`https:`:`http:`)}set protocol(e){this[np]&&(this[np].protocol=e)}};function ip(...e){K.log(`[https-proxy-agent:parse-proxy-response]`,...e)}function ap(e){return new Promise((t,n)=>{let r=0,i=[];function a(){let t=e.read();t?l(t):e.once(`readable`,a)}function o(){e.removeListener(`end`,s),e.removeListener(`error`,c),e.removeListener(`readable`,a)}function s(){o(),ip(`onend`),n(Error(`Proxy connection ended before receiving CONNECT response`))}function c(e){o(),ip(`onerror %o`,e),n(e)}function l(s){i.push(s),r+=s.length;let c=Buffer.concat(i,r),l=c.indexOf(`\r
|
|
326
326
|
\r
|
|
327
|
-
`);if(l===-1){
|
|
328
|
-
`),d=u.shift();if(!d)return e.destroy(),n(Error(`No header received from proxy CONNECT response`));let f=d.split(` `),p=+(f[1]||0),m=f.slice(2).join(` `),h={};for(let t of u){if(!t)continue;let r=t.indexOf(`:`);if(r===-1)return e.destroy(),n(Error(`Invalid header from proxy CONNECT response: "${t}"`));let i=t.slice(0,r).toLowerCase(),a=t.slice(r+1).trimStart(),o=h[i];typeof o==`string`?h[i]=[o,a]:Array.isArray(o)?o.push(a):h[i]=a}np(`got proxy server response: %o %o`,d,h),o(),t({connect:{statusCode:p,statusText:m,headers:h},buffered:c})}e.on(`error`,c),e.on(`end`,s),a()})}function ip(...e){K.log(`[https-proxy-agent]`,...e)}var ap=class extends tp{static __initStatic(){this.protocols=[`http`,`https`]}constructor(e,t){super(t),this.options={},this.proxy=typeof e==`string`?new URL(e):e,this.proxyHeaders=t?.headers??{},ip(`Creating new HttpsProxyAgent instance: %o`,this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,``),r=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol===`https:`?443:80;this.connectOpts={ALPNProtocols:[`http/1.1`],...t?sp(t,`headers`):null,host:n,port:r}}async connect(e,t){let{proxy:n}=this;if(!t.host)throw TypeError(`No "host" provided`);let r;if(n.protocol===`https:`){ip("Creating `tls.Socket`: %o",this.connectOpts);let e=this.connectOpts.servername||this.connectOpts.host;r=vt.connect({...this.connectOpts,servername:e&&_t.isIP(e)?void 0:e})}else ip("Creating `net.Socket`: %o",this.connectOpts),r=_t.connect(this.connectOpts);let i=typeof this.proxyHeaders==`function`?this.proxyHeaders():{...this.proxyHeaders},a=_t.isIPv6(t.host)?`[${t.host}]`:t.host,o=`CONNECT ${a}:${t.port} HTTP/1.1\r\n`;if(n.username||n.password){let e=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;i[`Proxy-Authorization`]=`Basic ${Buffer.from(e).toString(`base64`)}`}i.Host=`${a}:${t.port}`,i[`Proxy-Connection`]||=this.keepAlive?`Keep-Alive`:`close`;for(let e of Object.keys(i))o+=`${e}: ${i[e]}\r\n`;let s=rp(r);r.write(`${o}\r\n`);let{connect:c,buffered:l}=await s;if(e.emit(`proxyConnect`,c),this.emit(`proxyConnect`,c,e),c.statusCode===200){if(e.once(`socket`,op),t.secureEndpoint){ip(`Upgrading socket connection to TLS`);let e=t.servername||t.host;return vt.connect({...sp(t,`host`,`path`,`port`),socket:r,servername:_t.isIP(e)?void 0:e})}return r}r.destroy();let u=new _t.Socket({writable:!1});return u.readable=!0,e.once(`socket`,e=>{ip(`Replaying proxy buffer for failed request`),e.push(l),e.push(null)}),u}};ap.__initStatic();function op(e){e.resume()}function sp(e,...t){let n={},r;for(r in e)t.includes(r)||(n[r]=e[r]);return n}function cp(e){return new et({read(){this.push(e),this.push(null)}})}function lp(e){let t;try{t=new URL(e.url)}catch{return Ui(()=>{console.warn(`[@sentry/node]: Invalid dsn or tunnel option, will not send any events. The tunnel option must be a full URL when used.`)}),jl(e,()=>Promise.resolve({}))}let n=t.protocol===`https:`,r=up(t,e.proxy||(n?process.env.https_proxy:void 0)||process.env.http_proxy),i=n?ht:nt,a=e.keepAlive===void 0?!1:e.keepAlive,o=r?new ap(r):new i.Agent({keepAlive:a,maxSockets:30,timeout:2e3});return jl(e,dp(e,e.httpModule??i,o))}function up(e,t){let{no_proxy:n}=process.env;if(!n?.split(`,`).some(t=>e.host.endsWith(t)||e.hostname.endsWith(t)))return t}function dp(e,t,n){let{hostname:r,pathname:i,port:a,protocol:o,search:s}=new URL(e.url);return function(c){return new Promise((l,u)=>{hc(()=>{let d=cp(c.body),f={...e.headers};c.body.length>32768&&(f[`content-encoding`]=`gzip`,d=d.pipe(gt()));let p=r.startsWith(`[`),m=t.request({method:`POST`,agent:n,headers:f,hostname:p?r.slice(1,-1):r,path:`${i}${s}`,port:a,protocol:o,ca:e.caCerts},e=>{e.on(`data`,()=>{}),e.on(`end`,()=>{}),e.setEncoding(`utf8`);let t=e.headers[`retry-after`]??null,n=e.headers[`x-sentry-rate-limits`]??null;l({statusCode:e.statusCode,headers:{"retry-after":t,"x-sentry-rate-limits":Array.isArray(n)?n[0]||null:n}})});m.on(`error`,u),d.pipe(m)})})}}function fp(e){if(e===!1)return!1;if(typeof e==`string`)return e;let t=vu(process.env.SENTRY_SPOTLIGHT,{strict:!0}),n=t===null&&process.env.SENTRY_SPOTLIGHT?process.env.SENTRY_SPOTLIGHT:void 0;return e===!0?n??!0:t??n}function pp(){let e=new yt;function t(){return e.getStore()||{scope:ko(),isolationScope:Ao()}}function n(n){let r=t().scope.clone(),i=t().isolationScope;return e.run({scope:r,isolationScope:i},()=>n(r))}function r(n,r){let i=t().isolationScope.clone();return e.run({scope:n,isolationScope:i},()=>r(n))}function i(n){let r=t().scope.clone(),i=t().isolationScope.clone();return e.run({scope:r,isolationScope:i},()=>n(i))}function a(n,r){let i=t().scope.clone();return e.run({scope:i,isolationScope:n},()=>r(n))}function o(e){return n(t=>(t.setSDKProcessingMetadata({__SENTRY_SUPPRESS_TRACING__:!0}),e()))}Lo({suppressTracing:o,withScope:n,withSetScope:r,withIsolationScope:i,withSetIsolationScope:a,getCurrentScope:()=>t().scope,getIsolationScope:()=>t().isolationScope})}function mp(e,t,n,r){let i=0,a=[];Q&&K.log(r,`Patching request.on`);let o=new WeakMap,s=n===`small`?1e3:n===`medium`?1e4:1048576;try{e.on=new Proxy(e.on,{apply:(e,t,n)=>{let[c,l,...u]=n;if(c===`data`){Q&&K.log(r,`Handling request.on("data") with maximum body size of ${s}b`);let n=new Proxy(l,{apply:(e,t,n)=>{try{let e=n[0],t=Buffer.from(e);i<s?(a.push(t),i+=t.byteLength):Q&&K.log(r,`Dropping request body chunk because maximum body length of ${s}b is exceeded.`)}catch{Q&&K.error(r,`Encountered error while storing body chunk.`)}return Reflect.apply(e,t,n)}});return o.set(l,n),Reflect.apply(e,t,[c,n,...u])}return Reflect.apply(e,t,n)}}),e.off=new Proxy(e.off,{apply:(e,t,n)=>{let[,r]=n,i=o.get(r);if(i){o.delete(r);let a=n.slice();return a[1]=i,Reflect.apply(e,t,a)}return Reflect.apply(e,t,n)}}),e.on(`end`,()=>{try{let e=Buffer.concat(a).toString(`utf-8`);if(e){let n=Buffer.byteLength(e,`utf-8`)>s?`${Buffer.from(e).subarray(0,s-3).toString(`utf-8`)}...`:e;t.setSDKProcessingMetadata({normalizedRequest:{data:n}})}}catch(e){Q&&K.error(r,`Error building captured request body`,e)}})}catch(e){Q&&K.error(r,`Error patching request to capture body`,e)}}function hp(e,t){if(!e)return t;let n=Xo(e),r=Xo(t);if(!r)return e;let i={...n};return Object.entries(r).forEach(([e,t])=>{i[e]||(i[e]=t)}),Qo(i)}const gp=`@sentry/instrumentation-http`;function _p(e,t){let n=yp(e),r=t?.statusCode,i=_d(r);Mu({category:`http`,data:{status_code:r,...n},type:`http`,level:i},{event:`response`,request:e,response:t})}function vp(e,t){let n=xp(e),{tracePropagationTargets:r,propagateTraceparent:i}=X()?.getOptions()||{},a=Du(n,r,t)?Cu({propagateTraceparent:i}):void 0;if(!a)return;let{"sentry-trace":o,baggage:s,traceparent:c}=a;if(o&&!e.getHeader(`sentry-trace`))try{e.setHeader(`sentry-trace`,o),Q&&K.log(gp,`Added sentry-trace header to outgoing request`)}catch(e){Q&&K.error(gp,`Failed to add sentry-trace header to outgoing request:`,ba(e)?e.message:`Unknown error`)}if(c&&!e.getHeader(`traceparent`))try{e.setHeader(`traceparent`,c),Q&&K.log(gp,`Added traceparent header to outgoing request`)}catch(e){Q&&K.error(gp,`Failed to add traceparent header to outgoing request:`,ba(e)?e.message:`Unknown error`)}if(s){let t=hp(e.getHeader(`baggage`),s);if(t)try{e.setHeader(`baggage`,t),Q&&K.log(gp,`Added baggage header to outgoing request`)}catch(e){Q&&K.error(gp,`Failed to add baggage header to outgoing request:`,ba(e)?e.message:`Unknown error`)}}}function yp(e){try{let t=e.getHeader(`host`)||e.host,n=yu(new URL(e.path,`${e.protocol}//${t}`).toString()),r={url:xu(n),"http.method":e.method||`GET`};return n.search&&(r[`http.query`]=n.search),n.hash&&(r[`http.fragment`]=n.hash),r}catch{return{}}}function bp(e){return{method:e.method,protocol:e.protocol,host:e.host,hostname:e.host,path:e.path,headers:e.getHeaders()}}function xp(e){let t=e.getHeader(`host`)||e.host;return`${e.protocol}//${t}${e.path}`}const Sp=`Http`,Cp=new WeakSet,wp=((e={})=>{let t={maxRequestBodySize:e.maxRequestBodySize??`medium`,ignoreRequestBody:e.ignoreRequestBody,breadcrumbs:e.breadcrumbs??!0,ignoreOutgoingRequests:e.ignoreOutgoingRequests},n=new Cd(100),r=new WeakMap;return{name:Sp,setupOnce(){ct(`http.server.request.start`,(e=>{Tp(e.server,t)})),ct(`http.client.request.created`,(e=>{Ep(e.request,t,n,r)})),ct(`http.client.response.finish`,(e=>{let n=e;Dp(n.request,n.response,t,r)})),ct(`http.client.request.error`,(e=>{Dp(e.request,void 0,t,r)}))}}});function Tp(e,{ignoreRequestBody:t,maxRequestBodySize:n}){let r=e.emit;if(Cp.has(r))return;let i=new Proxy(r,{apply(e,r,i){if(i[0]!==`request`||!J().getClient())return e.apply(r,i);Q&&K.log(Sp,`Handling incoming request`);let a=Y().clone(),o=i[1],s=ku(o),c=o.ip||o.socket?.remoteAddress,l=o.url||`/`;n!==`none`&&!t?.(l,o)&&mp(o,a,n,Sp),a.setSDKProcessingMetadata({normalizedRequest:s,ipAddress:c});let u=`${(o.method||`GET`).toUpperCase()} ${bu(l)}`;return a.setTransactionName(u),Vo(a,()=>{let t=s.headers?.[`sentry-trace`],n=s.headers?.baggage;return pc({sentryTrace:Array.isArray(t)?t[0]:t,baggage:Array.isArray(n)?n[0]:n},()=>(J().getPropagationContext().propagationSpanId=wo(),e.apply(r,i)))})}});Cp.add(i),e.emit=i}function Ep(e,t,n,r){let i=Op(e,t);r.set(e,i),!i&&vp(e,n)}function Dp(e,t,n,r){n.breadcrumbs&&((r.get(e)??Op(e,n))||_p(e,t))}function Op(e,t){if(J().getScopeData().sdkProcessingMetadata.__SENTRY_SUPPRESS_TRACING__)return!0;let{ignoreOutgoingRequests:n}=t;return n?n(`${e.protocol}//${e.getHeader(`host`)||e.host}${e.path}`,bp(e)):!1}const kp=`sentry-trace`,Ap=`baggage`,jp=/baggage: (.*)\r\n/;function Mp(e,t){let n=Fp(e.origin,e.path),{tracePropagationTargets:r,propagateTraceparent:i}=X()?.getOptions()||{},a=Du(n,r,t)?Cu({propagateTraceparent:i}):void 0;if(!a)return;let{"sentry-trace":o,baggage:s,traceparent:c}=a;if(Array.isArray(e.headers)){let t=e.headers;o&&!t.includes(kp)&&t.push(kp,o),c&&!t.includes(`traceparent`)&&t.push(`traceparent`,c);let n=t.findIndex(e=>e===Ap);if(s&&n===-1)t.push(Ap,s);else if(s){let e=t[n+1],r=hp(e,s);r&&(t[n+1]=r)}}else{let t=e.headers;o&&!t.includes(`${kp}:`)&&(e.headers+=`${kp}: ${o}\r\n`),c&&!t.includes(`traceparent:`)&&(e.headers+=`traceparent: ${c}\r\n`);let n=e.headers.match(jp)?.[1];if(s&&!n)e.headers+=`${Ap}: ${s}\r\n`;else if(s){let t=hp(n,s);t&&(e.headers=e.headers.replace(jp,`baggage: ${t}\r\n`))}}}function Np(e,t){let n=Pp(e),r=t.statusCode,i=_d(r);Mu({category:`http`,data:{status_code:r,...n},type:`http`,level:i},{event:`response`,request:e,response:t})}function Pp(e){try{let t=yu(Fp(e.origin,e.path)),n={url:xu(t),"http.method":e.method||`GET`};return t.search&&(n[`http.query`]=t.search),t.hash&&(n[`http.fragment`]=t.hash),n}catch{return{}}}function Fp(e,t=`/`){try{return new URL(t,e).toString()}catch{let n=`${e}`;return n.endsWith(`/`)&&t.startsWith(`/`)?`${n}${t.slice(1)}`:!n.endsWith(`/`)&&!t.startsWith(`/`)?`${n}/${t}`:`${n}${t}`}}const Ip=((e={})=>{let t={breadcrumbs:e.breadcrumbs??!0,ignoreOutgoingRequests:e.ignoreOutgoingRequests},n=new Cd(100),r=new WeakMap;return{name:`NodeFetch`,setupOnce(){ct(`undici:request:create`,(e=>{Lp(e.request,t,n,r)})),ct(`undici:request:headers`,(e=>{let n=e;Rp(n.request,n.response,t,r)}))}}});function Lp(e,t,n,r){let i=zp(e,t);r.set(e,i),!i&&Mp(e,n)}function Rp(e,t,n,r){n.breadcrumbs&&(r.get(e)||Np(e,t))}function zp(e,t){if(J().getScopeData().sdkProcessingMetadata.__SENTRY_SUPPRESS_TRACING__)return!0;let{ignoreOutgoingRequests:n}=t;return n?n(Fp(e.origin,e.path)):!1}function Bp(){return[Lu(),Fu(),Qu(),ad(),Yf(),md(),wp(),Ip(),Pf(),Lf(),of(),Sf(),Ad(),Td(),Uf(),Ef()]}function Vp(e={}){return Hp(e,Bp)}function Hp(e={},t){let n=Up(e,t);n.debug===!0&&(Q?K.enable():Ui(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),pp(),J().update(n.initialScope),n.spotlight&&!n.integrations.some(({name:e})=>e===Wf)&&n.integrations.push(Gf({sidecarUrl:typeof n.spotlight==`string`?n.spotlight:void 0})),Su(n,`node-light`,[`node-core`]);let r=new wd(n);return J().setClient(r),r.init(),K.log(`SDK initialized from ${Cf()?`CommonJS`:`ESM`} (light mode)`),r.startClientReportTracking(),Kp(),process.env.VERCEL&&process.on(`SIGTERM`,async()=>{await r.flush(200)}),r}function Up(e,t){let n=Wp(e.release),r=fp(e.spotlight),i=Gp(e.tracesSampleRate),a={...e,dsn:e.dsn??process.env.SENTRY_DSN,environment:e.environment??process.env.SENTRY_ENVIRONMENT,sendClientReports:e.sendClientReports??!0,transport:e.transport??lp,stackParser:ta(e.stackParser||$f),release:n,tracesSampleRate:i,spotlight:r,debug:vu(e.debug??process.env.SENTRY_DEBUG)},o=e.integrations,s=e.defaultIntegrations??t(a);return{...a,integrations:ll({defaultIntegrations:s,integrations:o})}}function Wp(e){if(e!==void 0)return e;let t=Qf();if(t!==void 0)return t}function Gp(e){if(e!==void 0)return e;let t=process.env.SENTRY_TRACES_SAMPLE_RATE;if(!t)return;let n=parseFloat(t);return isFinite(n)?n:void 0}function Kp(){if(vu(process.env.SENTRY_USE_ENVIRONMENT)!==!1){let e=process.env.SENTRY_TRACE,t=process.env.SENTRY_BAGGAGE,n=fs(e,t);J().setPropagationContext(n)}}function qp(){return Me.PRISMIC_SENTRY_ENABLED??Me.PROD}function Jp(){if(Me.PRISMIC_SENTRY_ENVIRONMENT)return Me.PRISMIC_SENTRY_ENVIRONMENT;let e=ce.match(/-(.+?)\./);return e?e[1]:`production`}function Yp(){try{if(!qp())return;Vp({dsn:Me.PRISMIC_SENTRY_DSN,release:ce,environment:Jp(),defaultIntegrations:!1,integrations:[],maxValueLength:2500}),Yc(`Process`,{command:process.argv.join(` `),cwd:process.cwd()})}catch{}}async function Xp(e){try{if(!qp())return;Jc(e,e instanceof Error?{extra:{cause:e.cause,fullCommand:process.argv.join(` `)}}:{}),await Qc()}catch{}}const Zp=Zc,Qp=Xc,$p=Yc,$=[`login`,`logout`,`whoami`,`sync`,`docs`,`status`],em=N({name:`prismic`,description:`Prismic CLI for managing repositories and configurations.`,sections:{DOCUMENTATION:"\n Run `prismic docs list` to browse available documentation topics.\n Run `prismic docs view <path>` to read a topic.\n "},commands:{init:{handler:pr,description:`Initialize a Prismic project`},docs:{handler:Ft,description:`Browse Prismic documentation`},gen:{handler:vn,description:`Generate files from local models`},pull:{handler:Pr,description:`Pull types and slices from Prismic`},push:{handler:Fr,description:`Push types and slices to Prismic`},sync:{handler:di,description:`Sync types and slices from Prismic`},status:{handler:ti,description:`Show local vs remote model differences`},locale:{handler:wr,description:`Manage locales`},repo:{handler:Ur,description:`Manage repositories`},type:{handler:Ti,description:`Manage content types`},field:{handler:hn,description:`Manage fields`},slice:{handler:ei,description:`Manage slices`},preview:{handler:jr,description:`Manage preview configurations`},token:{handler:gi,description:`Manage API tokens`},webhook:{handler:Ni,description:`Manage webhooks`},login:{handler:Tr,description:`Log in to Prismic`},logout:{handler:Er,description:`Log out of Prismic`},whoami:{handler:Pi,description:`Show the currently logged in user`}}});await tm();async function tm(){await Be({npmPackageName:le,statePath:je}),Ie().catch(()=>{});let{positionals:[e],values:{version:t,help:r,repo:i=await n()}}=He({options:{version:{type:`boolean`,short:`v`},help:{type:`boolean`,short:`h`},repo:{type:`string`,short:`r`}},allowPositionals:!0,strict:!1});if(t){console.info(ce);return}if(typeof i!=`string`&&(i=``),!r){let t=await A();Yp(),await ii({host:t}),i&&(ai(i),Qp(`repository`,i),$p(`Repository Data`,{name:i}));try{Qp(`framework`,(await m()).id)}catch{}let n=await k();if(n){let e=Ii(n)?.exp,r=Date.now()/1e3;(!e||e-r<=3600)&&process.on(`exit`,()=>Fe()),(!e||e>r)&&y({token:n,host:t}).then(e=>{oi(e),Zp({id:e.shortId})}).catch(()=>{})}e&&!$.includes(e)&&si(e)}try{await em(),e&&!$.includes(e)&&U(e)}catch(t){if(process.exitCode=1,t instanceof P){$.includes(e)||U(e),console.error(f(t.message));return}if(t instanceof p){$.includes(e)||U(e,{error:t}),console.error(t.message);return}if(t instanceof yr){if($.includes(e)||U(e),t.availableEnvironments.length===1&&t.repo===t.availableEnvironments[0].domain)console.error(`No environments available on repository "${t.repo}".`);else{let e=t.availableEnvironments.map(e=>e.domain).join(`
|
|
329
|
-
`);console.error(
|
|
327
|
+
`);if(l===-1){ip(`have not received end of HTTP headers yet...`),a();return}let u=c.subarray(0,l).toString(`ascii`).split(`\r
|
|
328
|
+
`),d=u.shift();if(!d)return e.destroy(),n(Error(`No header received from proxy CONNECT response`));let f=d.split(` `),p=+(f[1]||0),m=f.slice(2).join(` `),h={};for(let t of u){if(!t)continue;let r=t.indexOf(`:`);if(r===-1)return e.destroy(),n(Error(`Invalid header from proxy CONNECT response: "${t}"`));let i=t.slice(0,r).toLowerCase(),a=t.slice(r+1).trimStart(),o=h[i];typeof o==`string`?h[i]=[o,a]:Array.isArray(o)?o.push(a):h[i]=a}ip(`got proxy server response: %o %o`,d,h),o(),t({connect:{statusCode:p,statusText:m,headers:h},buffered:c})}e.on(`error`,c),e.on(`end`,s),a()})}function op(...e){K.log(`[https-proxy-agent]`,...e)}var sp=class extends rp{static __initStatic(){this.protocols=[`http`,`https`]}constructor(e,t){super(t),this.options={},this.proxy=typeof e==`string`?new URL(e):e,this.proxyHeaders=t?.headers??{},op(`Creating new HttpsProxyAgent instance: %o`,this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,``),r=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol===`https:`?443:80;this.connectOpts={ALPNProtocols:[`http/1.1`],...t?lp(t,`headers`):null,host:n,port:r}}async connect(e,t){let{proxy:n}=this;if(!t.host)throw TypeError(`No "host" provided`);let r;if(n.protocol===`https:`){op("Creating `tls.Socket`: %o",this.connectOpts);let e=this.connectOpts.servername||this.connectOpts.host;r=_t.connect({...this.connectOpts,servername:e&>.isIP(e)?void 0:e})}else op("Creating `net.Socket`: %o",this.connectOpts),r=gt.connect(this.connectOpts);let i=typeof this.proxyHeaders==`function`?this.proxyHeaders():{...this.proxyHeaders},a=gt.isIPv6(t.host)?`[${t.host}]`:t.host,o=`CONNECT ${a}:${t.port} HTTP/1.1\r\n`;if(n.username||n.password){let e=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;i[`Proxy-Authorization`]=`Basic ${Buffer.from(e).toString(`base64`)}`}i.Host=`${a}:${t.port}`,i[`Proxy-Connection`]||=this.keepAlive?`Keep-Alive`:`close`;for(let e of Object.keys(i))o+=`${e}: ${i[e]}\r\n`;let s=ap(r);r.write(`${o}\r\n`);let{connect:c,buffered:l}=await s;if(e.emit(`proxyConnect`,c),this.emit(`proxyConnect`,c,e),c.statusCode===200){if(e.once(`socket`,cp),t.secureEndpoint){op(`Upgrading socket connection to TLS`);let e=t.servername||t.host;return _t.connect({...lp(t,`host`,`path`,`port`),socket:r,servername:gt.isIP(e)?void 0:e})}return r}r.destroy();let u=new gt.Socket({writable:!1});return u.readable=!0,e.once(`socket`,e=>{op(`Replaying proxy buffer for failed request`),e.push(l),e.push(null)}),u}};sp.__initStatic();function cp(e){e.resume()}function lp(e,...t){let n={},r;for(r in e)t.includes(r)||(n[r]=e[r]);return n}function up(e){return new $e({read(){this.push(e),this.push(null)}})}function dp(e){let t;try{t=new URL(e.url)}catch{return Gi(()=>{console.warn(`[@sentry/node]: Invalid dsn or tunnel option, will not send any events. The tunnel option must be a full URL when used.`)}),Nl(e,()=>Promise.resolve({}))}let n=t.protocol===`https:`,r=fp(t,e.proxy||(n?process.env.https_proxy:void 0)||process.env.http_proxy),i=n?mt:tt,a=e.keepAlive===void 0?!1:e.keepAlive,o=r?new sp(r):new i.Agent({keepAlive:a,maxSockets:30,timeout:2e3});return Nl(e,pp(e,e.httpModule??i,o))}function fp(e,t){let{no_proxy:n}=process.env;if(!n?.split(`,`).some(t=>e.host.endsWith(t)||e.hostname.endsWith(t)))return t}function pp(e,t,n){let{hostname:r,pathname:i,port:a,protocol:o,search:s}=new URL(e.url);return function(c){return new Promise((l,u)=>{_c(()=>{let d=up(c.body),f={...e.headers};c.body.length>32768&&(f[`content-encoding`]=`gzip`,d=d.pipe(ht()));let p=r.startsWith(`[`),m=t.request({method:`POST`,agent:n,headers:f,hostname:p?r.slice(1,-1):r,path:`${i}${s}`,port:a,protocol:o,ca:e.caCerts},e=>{e.on(`data`,()=>{}),e.on(`end`,()=>{}),e.setEncoding(`utf8`);let t=e.headers[`retry-after`]??null,n=e.headers[`x-sentry-rate-limits`]??null;l({statusCode:e.statusCode,headers:{"retry-after":t,"x-sentry-rate-limits":Array.isArray(n)?n[0]||null:n}})});m.on(`error`,u),d.pipe(m)})})}}function mp(e){if(e===!1)return!1;if(typeof e==`string`)return e;let t=bu(process.env.SENTRY_SPOTLIGHT,{strict:!0}),n=t===null&&process.env.SENTRY_SPOTLIGHT?process.env.SENTRY_SPOTLIGHT:void 0;return e===!0?n??!0:t??n}function hp(){let e=new vt;function t(){return e.getStore()||{scope:jo(),isolationScope:Mo()}}function n(n){let r=t().scope.clone(),i=t().isolationScope;return e.run({scope:r,isolationScope:i},()=>n(r))}function r(n,r){let i=t().isolationScope.clone();return e.run({scope:n,isolationScope:i},()=>r(n))}function i(n){let r=t().scope.clone(),i=t().isolationScope.clone();return e.run({scope:r,isolationScope:i},()=>n(i))}function a(n,r){let i=t().scope.clone();return e.run({scope:i,isolationScope:n},()=>r(n))}function o(e){return n(t=>(t.setSDKProcessingMetadata({__SENTRY_SUPPRESS_TRACING__:!0}),e()))}zo({suppressTracing:o,withScope:n,withSetScope:r,withIsolationScope:i,withSetIsolationScope:a,getCurrentScope:()=>t().scope,getIsolationScope:()=>t().isolationScope})}function gp(e,t,n,r){let i=0,a=[];Q&&K.log(r,`Patching request.on`);let o=new WeakMap,s=n===`small`?1e3:n===`medium`?1e4:1048576;try{e.on=new Proxy(e.on,{apply:(e,t,n)=>{let[c,l,...u]=n;if(c===`data`){Q&&K.log(r,`Handling request.on("data") with maximum body size of ${s}b`);let n=new Proxy(l,{apply:(e,t,n)=>{try{let e=n[0],t=Buffer.from(e);i<s?(a.push(t),i+=t.byteLength):Q&&K.log(r,`Dropping request body chunk because maximum body length of ${s}b is exceeded.`)}catch{Q&&K.error(r,`Encountered error while storing body chunk.`)}return Reflect.apply(e,t,n)}});return o.set(l,n),Reflect.apply(e,t,[c,n,...u])}return Reflect.apply(e,t,n)}}),e.off=new Proxy(e.off,{apply:(e,t,n)=>{let[,r]=n,i=o.get(r);if(i){o.delete(r);let a=n.slice();return a[1]=i,Reflect.apply(e,t,a)}return Reflect.apply(e,t,n)}}),e.on(`end`,()=>{try{let e=Buffer.concat(a).toString(`utf-8`);if(e){let n=Buffer.byteLength(e,`utf-8`)>s?`${Buffer.from(e).subarray(0,s-3).toString(`utf-8`)}...`:e;t.setSDKProcessingMetadata({normalizedRequest:{data:n}})}}catch(e){Q&&K.error(r,`Error building captured request body`,e)}})}catch(e){Q&&K.error(r,`Error patching request to capture body`,e)}}function _p(e,t){if(!e)return t;let n=Qo(e),r=Qo(t);if(!r)return e;let i={...n};return Object.entries(r).forEach(([e,t])=>{i[e]||(i[e]=t)}),es(i)}const vp=`@sentry/instrumentation-http`;function yp(e,t){let n=xp(e),r=t?.statusCode,i=yd(r);Pu({category:`http`,data:{status_code:r,...n},type:`http`,level:i},{event:`response`,request:e,response:t})}function bp(e,t){let n=Cp(e),{tracePropagationTargets:r,propagateTraceparent:i}=X()?.getOptions()||{},a=ku(n,r,t)?Tu({propagateTraceparent:i}):void 0;if(!a)return;let{"sentry-trace":o,baggage:s,traceparent:c}=a;if(o&&!e.getHeader(`sentry-trace`))try{e.setHeader(`sentry-trace`,o),Q&&K.log(vp,`Added sentry-trace header to outgoing request`)}catch(e){Q&&K.error(vp,`Failed to add sentry-trace header to outgoing request:`,Sa(e)?e.message:`Unknown error`)}if(c&&!e.getHeader(`traceparent`))try{e.setHeader(`traceparent`,c),Q&&K.log(vp,`Added traceparent header to outgoing request`)}catch(e){Q&&K.error(vp,`Failed to add traceparent header to outgoing request:`,Sa(e)?e.message:`Unknown error`)}if(s){let t=_p(e.getHeader(`baggage`),s);if(t)try{e.setHeader(`baggage`,t),Q&&K.log(vp,`Added baggage header to outgoing request`)}catch(e){Q&&K.error(vp,`Failed to add baggage header to outgoing request:`,Sa(e)?e.message:`Unknown error`)}}}function xp(e){try{let t=e.getHeader(`host`)||e.host,n=xu(new URL(e.path,`${e.protocol}//${t}`).toString()),r={url:Cu(n),"http.method":e.method||`GET`};return n.search&&(r[`http.query`]=n.search),n.hash&&(r[`http.fragment`]=n.hash),r}catch{return{}}}function Sp(e){return{method:e.method,protocol:e.protocol,host:e.host,hostname:e.host,path:e.path,headers:e.getHeaders()}}function Cp(e){let t=e.getHeader(`host`)||e.host;return`${e.protocol}//${t}${e.path}`}const wp=`Http`,Tp=new WeakSet,Ep=((e={})=>{let t={maxRequestBodySize:e.maxRequestBodySize??`medium`,ignoreRequestBody:e.ignoreRequestBody,breadcrumbs:e.breadcrumbs??!0,ignoreOutgoingRequests:e.ignoreOutgoingRequests},n=new Td(100),r=new WeakMap;return{name:wp,setupOnce(){st(`http.server.request.start`,(e=>{Dp(e.server,t)})),st(`http.client.request.created`,(e=>{Op(e.request,t,n,r)})),st(`http.client.response.finish`,(e=>{let n=e;kp(n.request,n.response,t,r)})),st(`http.client.request.error`,(e=>{kp(e.request,void 0,t,r)}))}}});function Dp(e,{ignoreRequestBody:t,maxRequestBodySize:n}){let r=e.emit;if(Tp.has(r))return;let i=new Proxy(r,{apply(e,r,i){if(i[0]!==`request`||!J().getClient())return e.apply(r,i);Q&&K.log(wp,`Handling incoming request`);let a=Y().clone(),o=i[1],s=ju(o),c=o.ip||o.socket?.remoteAddress,l=o.url||`/`;n!==`none`&&!t?.(l,o)&&gp(o,a,n,wp),a.setSDKProcessingMetadata({normalizedRequest:s,ipAddress:c});let u=`${(o.method||`GET`).toUpperCase()} ${Su(l)}`;return a.setTransactionName(u),Uo(a,()=>{let t=s.headers?.[`sentry-trace`],n=s.headers?.baggage;return hc({sentryTrace:Array.isArray(t)?t[0]:t,baggage:Array.isArray(n)?n[0]:n},()=>(J().getPropagationContext().propagationSpanId=Eo(),e.apply(r,i)))})}});Tp.add(i),e.emit=i}function Op(e,t,n,r){let i=Ap(e,t);r.set(e,i),!i&&bp(e,n)}function kp(e,t,n,r){n.breadcrumbs&&((r.get(e)??Ap(e,n))||yp(e,t))}function Ap(e,t){if(J().getScopeData().sdkProcessingMetadata.__SENTRY_SUPPRESS_TRACING__)return!0;let{ignoreOutgoingRequests:n}=t;return n?n(`${e.protocol}//${e.getHeader(`host`)||e.host}${e.path}`,Sp(e)):!1}const jp=`sentry-trace`,Mp=`baggage`,Np=/baggage: (.*)\r\n/;function Pp(e,t){let n=Lp(e.origin,e.path),{tracePropagationTargets:r,propagateTraceparent:i}=X()?.getOptions()||{},a=ku(n,r,t)?Tu({propagateTraceparent:i}):void 0;if(!a)return;let{"sentry-trace":o,baggage:s,traceparent:c}=a;if(Array.isArray(e.headers)){let t=e.headers;o&&!t.includes(jp)&&t.push(jp,o),c&&!t.includes(`traceparent`)&&t.push(`traceparent`,c);let n=t.findIndex(e=>e===Mp);if(s&&n===-1)t.push(Mp,s);else if(s){let e=t[n+1],r=_p(e,s);r&&(t[n+1]=r)}}else{let t=e.headers;o&&!t.includes(`${jp}:`)&&(e.headers+=`${jp}: ${o}\r\n`),c&&!t.includes(`traceparent:`)&&(e.headers+=`traceparent: ${c}\r\n`);let n=e.headers.match(Np)?.[1];if(s&&!n)e.headers+=`${Mp}: ${s}\r\n`;else if(s){let t=_p(n,s);t&&(e.headers=e.headers.replace(Np,`baggage: ${t}\r\n`))}}}function Fp(e,t){let n=Ip(e),r=t.statusCode,i=yd(r);Pu({category:`http`,data:{status_code:r,...n},type:`http`,level:i},{event:`response`,request:e,response:t})}function Ip(e){try{let t=xu(Lp(e.origin,e.path)),n={url:Cu(t),"http.method":e.method||`GET`};return t.search&&(n[`http.query`]=t.search),t.hash&&(n[`http.fragment`]=t.hash),n}catch{return{}}}function Lp(e,t=`/`){try{return new URL(t,e).toString()}catch{let n=`${e}`;return n.endsWith(`/`)&&t.startsWith(`/`)?`${n}${t.slice(1)}`:!n.endsWith(`/`)&&!t.startsWith(`/`)?`${n}/${t}`:`${n}${t}`}}const Rp=((e={})=>{let t={breadcrumbs:e.breadcrumbs??!0,ignoreOutgoingRequests:e.ignoreOutgoingRequests},n=new Td(100),r=new WeakMap;return{name:`NodeFetch`,setupOnce(){st(`undici:request:create`,(e=>{zp(e.request,t,n,r)})),st(`undici:request:headers`,(e=>{let n=e;Bp(n.request,n.response,t,r)}))}}});function zp(e,t,n,r){let i=Vp(e,t);r.set(e,i),!i&&Pp(e,n)}function Bp(e,t,n,r){n.breadcrumbs&&(r.get(e)||Fp(e,t))}function Vp(e,t){if(J().getScopeData().sdkProcessingMetadata.__SENTRY_SUPPRESS_TRACING__)return!0;let{ignoreOutgoingRequests:n}=t;return n?n(Lp(e.origin,e.path)):!1}function Hp(){return[zu(),Lu(),ed(),sd(),Zf(),gd(),Ep(),Rp(),If(),zf(),cf(),wf(),Md(),Dd(),Gf(),Of()]}function Up(e={}){return Wp(e,Hp)}function Wp(e={},t){let n=Gp(e,t);n.debug===!0&&(Q?K.enable():Gi(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),hp(),J().update(n.initialScope),n.spotlight&&!n.integrations.some(({name:e})=>e===Kf)&&n.integrations.push(qf({sidecarUrl:typeof n.spotlight==`string`?n.spotlight:void 0})),wu(n,`node-light`,[`node-core`]);let r=new Ed(n);return J().setClient(r),r.init(),K.log(`SDK initialized from ${Tf()?`CommonJS`:`ESM`} (light mode)`),r.startClientReportTracking(),Jp(),process.env.VERCEL&&process.on(`SIGTERM`,async()=>{await r.flush(200)}),r}function Gp(e,t){let n=Kp(e.release),r=mp(e.spotlight),i=qp(e.tracesSampleRate),a={...e,dsn:e.dsn??process.env.SENTRY_DSN,environment:e.environment??process.env.SENTRY_ENVIRONMENT,sendClientReports:e.sendClientReports??!0,transport:e.transport??dp,stackParser:ra(e.stackParser||tp),release:n,tracesSampleRate:i,spotlight:r,debug:bu(e.debug??process.env.SENTRY_DEBUG)},o=e.integrations,s=e.defaultIntegrations??t(a);return{...a,integrations:dl({defaultIntegrations:s,integrations:o})}}function Kp(e){if(e!==void 0)return e;let t=ep();if(t!==void 0)return t}function qp(e){if(e!==void 0)return e;let t=process.env.SENTRY_TRACES_SAMPLE_RATE;if(!t)return;let n=parseFloat(t);return isFinite(n)?n:void 0}function Jp(){if(bu(process.env.SENTRY_USE_ENVIRONMENT)!==!1){let e=process.env.SENTRY_TRACE,t=process.env.SENTRY_BAGGAGE,n=ms(e,t);J().setPropagationContext(n)}}function Yp(){return Fe.PRISMIC_SENTRY_ENABLED??Fe.PROD}function Xp(){if(Fe.PRISMIC_SENTRY_ENVIRONMENT)return Fe.PRISMIC_SENTRY_ENVIRONMENT;let e=se.match(/-(.+?)\./);return e?e[1]:`production`}function Zp(){try{if(!Yp())return;Up({dsn:Fe.PRISMIC_SENTRY_DSN,release:se,environment:Xp(),defaultIntegrations:!1,integrations:[],maxValueLength:2500}),Zc(`Process`,{command:process.argv.join(` `),cwd:process.cwd()})}catch{}}async function Qp(e){try{if(!Yp())return;Xc(e,e instanceof Error?{extra:{cause:e.cause,fullCommand:process.argv.join(` `)}}:{}),await el()}catch{}}const $p=$c,em=Qc,tm=Zc,$=[`login`,`logout`,`whoami`,`sync`,`docs`,`status`],nm=N({name:`prismic`,description:`Prismic CLI for managing repositories and configurations.`,sections:{DOCUMENTATION:"\n Run `prismic docs list` to browse available documentation topics.\n Run `prismic docs view <path>` to read a topic.\n "},commands:{init:{handler:gr,description:`Initialize a Prismic project`},docs:{handler:Lt,description:`Browse Prismic documentation`},gen:{handler:bn,description:`Generate files from local models`},pull:{handler:Lr,description:`Pull types and slices from Prismic`},push:{handler:Rr,description:`Push types and slices to Prismic`},sync:{handler:mi,description:`Sync types and slices from Prismic`},status:{handler:ii,description:`Show local vs remote model differences`},locale:{handler:Dr,description:`Manage locales`},repo:{handler:Kr,description:`Manage repositories`},type:{handler:Oi,description:`Manage content types`},field:{handler:_n,description:`Manage fields`},slice:{handler:ri,description:`Manage slices`},preview:{handler:Pr,description:`Manage preview configurations`},token:{handler:yi,description:`Manage API tokens`},webhook:{handler:Ii,description:`Manage webhooks`},login:{handler:Or,description:`Log in to Prismic`},logout:{handler:kr,description:`Log out of Prismic`},whoami:{handler:Li,description:`Show the currently logged in user`}}});await rm();async function rm(){await ze({npmPackageName:ce,statePath:Ae}),Pe().catch(()=>{});let{positionals:[e],values:{version:t,help:r,repo:i=await n()}}=Ve({options:{version:{type:`boolean`,short:`v`},help:{type:`boolean`,short:`h`},repo:{type:`string`,short:`r`}},allowPositionals:!0,strict:!1});if(t){console.info(se);return}if(typeof i!=`string`&&(i=``),!r){let t=await A();Zp(),await si({host:t}),i&&(ci(i),em(`repository`,i),tm(`Repository Data`,{name:i}));try{em(`framework`,(await p()).id)}catch{}let n=await k();if(n){let e=zi(n)?.exp,r=Date.now()/1e3;(!e||e-r<=3600)&&process.on(`exit`,()=>Ne()),(!e||e>r)&&bt({token:n,host:t}).then(e=>{li(e),$p({id:e.shortId})}).catch(()=>{})}e&&!$.includes(e)&&ui(e)}try{await nm(),e&&!$.includes(e)&&H(e)}catch(t){if(process.exitCode=1,t instanceof P){$.includes(e)||H(e),console.error(d(t.message));return}if(t instanceof f){$.includes(e)||H(e,{error:t}),console.error(t.message);return}if(t instanceof Sr){if($.includes(e)||H(e),t.availableEnvironments.length===1&&t.repo===t.availableEnvironments[0].domain)console.error(`No environments available on repository "${t.repo}".`);else{let e=t.availableEnvironments.map(e=>e.domain).join(`
|
|
329
|
+
`);console.error(d`
|
|
330
330
|
Environment "${t.env}" not found on repository "${t.repo}".
|
|
331
331
|
|
|
332
332
|
Available environments:
|
|
333
333
|
${e}
|
|
334
|
-
`)}return}if(t instanceof
|
|
334
|
+
`)}return}if(t instanceof ve||t instanceof be){$.includes(e)||H(e,{error:t}),console.error("Not logged in. Run `prismic login` first.");return}if(t instanceof D){$.includes(e)||H(e),console.error(t.message||`Not found. Verify the repository and any specified identifiers exist.`);return}if(t instanceof T){$.includes(e)||H(e,{error:t});let n=new URL(t.response.url);n.search=``,console.error(d`
|
|
335
335
|
A network request failed unexpectedly:
|
|
336
336
|
|
|
337
337
|
${n}
|
|
338
338
|
|
|
339
339
|
If this error happens repeatedly, report the issue here: https://github.com/prismicio/cli/issues
|
|
340
|
-
`);return}if(t instanceof
|
|
340
|
+
`);return}if(t instanceof b){$.includes(e)||H(e),console.error(`${t.message} Run \`prismic init\` to re-create a config.`);return}if(t instanceof h){$.includes(e)||H(e),console.error(`${t.message} Run \`prismic init\` to create a config.`);return}if(t instanceof m){$.includes(e)||H(e),console.error(d`
|
|
341
341
|
This command requires the Type Builder in your repository.
|
|
342
342
|
|
|
343
343
|
As of March 2026, the Type Builder is rolling out incrementally as Slice
|
|
@@ -345,4 +345,4 @@ Watch stopped. Goodbye!`),U(`sync`,{watch:!0}),process.exit(0)}),console.info(`W
|
|
|
345
345
|
Slice Machine until your repository can upgrade.
|
|
346
346
|
|
|
347
347
|
Learn more at https://prismic.io/docs/type-builder
|
|
348
|
-
`);return}throw $.includes(e)||
|
|
348
|
+
`);return}throw $.includes(e)||H(e,{error:t}),await Qp(t),t}}export{};
|