@ainyc/canonry 4.82.0 → 4.83.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/assets/assets/{BacklinksPage-CHclt-pq.js → BacklinksPage-OrSg_iPA.js} +1 -1
- package/assets/assets/{ChartPrimitives-2Ub4vNWe.js → ChartPrimitives-DPBhAT_r.js} +1 -1
- package/assets/assets/{ProjectPage-UPmHfuxR.js → ProjectPage-CpMcEmtw.js} +1 -1
- package/assets/assets/{RunRow-rUL1UeA3.js → RunRow-2Rty0BAH.js} +1 -1
- package/assets/assets/{RunsPage-BQpHfUJf.js → RunsPage-B3ahqf8s.js} +1 -1
- package/assets/assets/{SettingsPage-DjTJlr_1.js → SettingsPage-BIjeI85q.js} +1 -1
- package/assets/assets/{TrafficPage-D7rv3BrH.js → TrafficPage-DjGoj691.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-BysyuH2H.js → TrafficSourceDetailPage-BgKG-2q3.js} +1 -1
- package/assets/assets/{arrow-left-CR_FGlkE.js → arrow-left-Cf7wmru1.js} +1 -1
- package/assets/assets/{extract-error-message-BKkAbWNp.js → extract-error-message-CANxezte.js} +1 -1
- package/assets/assets/{index-DzzTt20n.js → index-CGlPx_cu.js} +3 -3
- package/assets/assets/{trash-2-uSttujvh.js → trash-2-6nHJZrvy.js} +1 -1
- package/assets/index.html +1 -1
- package/dist/{chunk-KPSFRSS7.js → chunk-BNF3HXBW.js} +5 -0
- package/dist/{chunk-IEUTAQUF.js → chunk-GOWH42QV.js} +19 -1
- package/dist/{chunk-NSZ3D3MM.js → chunk-NRACXNI7.js} +15 -4
- package/dist/{chunk-JLAD6CYH.js → chunk-Y3O3HBMN.js} +1 -1
- package/dist/cli.js +8 -7
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-2UUJ3YGI.js → intelligence-service-FHQM7YMA.js} +2 -2
- package/dist/mcp.js +2 -2
- package/package.json +10 -10
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ProjectPage-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ProjectPage-CpMcEmtw.js","./vendor-tanstack-Dq7p98wZ.js","./RunRow-2Rty0BAH.js","./ChartPrimitives-DPBhAT_r.js","./extract-error-message-CANxezte.js","./vendor-recharts-ClRVR6aX.js","./trash-2-6nHJZrvy.js","./vendor-radix-B57xfQbP.js","./vendor-markdown-DK7fbRNb.js","./RunsPage-B3ahqf8s.js","./SettingsPage-BIjeI85q.js","./BacklinksPage-OrSg_iPA.js","./TrafficPage-DjGoj691.js","./arrow-left-Cf7wmru1.js","./TrafficSourceDetailPage-BgKG-2q3.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{c as yw,d as bw,Q as vw,M as Sw,r as q,q as Oe,j as f,L as rt,a as xw,e as As,u as dn,f as ww,h as mc,k as jw,l as Nw,m as sv,O as rv,n as Xa,o as zi,p as kw,s as zt,t as ov,v as Gs,x as Aw,y as _w,z as zw}from"./vendor-tanstack-Dq7p98wZ.js";import{S as Cw,O as qf,P as lv,C as Uf,a as cv,T as $f,D as uv,R as dv}from"./vendor-radix-B57xfQbP.js";import{c as fv}from"./vendor-recharts-ClRVR6aX.js";import{M as Tw}from"./vendor-markdown-DK7fbRNb.js";(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const d of c.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&r(d)}).observe(document,{childList:!0,subtree:!0});function i(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function r(l){if(l.ep)return;l.ep=!0;const c=i(l);fetch(l.href,c)}})();var Xd={exports:{}},Xr={},Jd={exports:{}},Fd={};var Dy;function Ew(){return Dy||(Dy=1,(function(e){function n($,W){var fe=$.length;$.push(W);e:for(;0<fe;){var je=fe-1>>>1,se=$[je];if(0<l(se,W))$[je]=W,$[fe]=se,fe=je;else break e}}function i($){return $.length===0?null:$[0]}function r($){if($.length===0)return null;var W=$[0],fe=$.pop();if(fe!==W){$[0]=fe;e:for(var je=0,se=$.length,Qe=se>>>1;je<Qe;){var F=2*(je+1)-1,ue=$[F],ee=F+1,de=$[ee];if(0>l(ue,fe))ee<se&&0>l(de,ue)?($[je]=de,$[ee]=fe,je=ee):($[je]=ue,$[F]=fe,je=F);else if(ee<se&&0>l(de,fe))$[je]=de,$[ee]=fe,je=ee;else break e}}return W}function l($,W){var fe=$.sortIndex-W.sortIndex;return fe!==0?fe:$.id-W.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;e.unstable_now=function(){return c.now()}}else{var d=Date,h=d.now();e.unstable_now=function(){return d.now()-h}}var g=[],b=[],v=1,x=null,j=3,A=!1,T=!1,k=!1,E=!1,R=typeof setTimeout=="function"?setTimeout:null,I=typeof clearTimeout=="function"?clearTimeout:null,P=typeof setImmediate<"u"?setImmediate:null;function Q($){for(var W=i(b);W!==null;){if(W.callback===null)r(b);else if(W.startTime<=$)r(b),W.sortIndex=W.expirationTime,n(g,W);else break;W=i(b)}}function X($){if(k=!1,Q($),!T)if(i(g)!==null)T=!0,J||(J=!0,ve());else{var W=i(b);W!==null&&me(X,W.startTime-$)}}var J=!1,O=-1,B=5,oe=-1;function Ae(){return E?!0:!(e.unstable_now()-oe<B)}function ze(){if(E=!1,J){var $=e.unstable_now();oe=$;var W=!0;try{e:{T=!1,k&&(k=!1,I(O),O=-1),A=!0;var fe=j;try{t:{for(Q($),x=i(g);x!==null&&!(x.expirationTime>$&&Ae());){var je=x.callback;if(typeof je=="function"){x.callback=null,j=x.priorityLevel;var se=je(x.expirationTime<=$);if($=e.unstable_now(),typeof se=="function"){x.callback=se,Q($),W=!0;break t}x===i(g)&&r(g),Q($)}else r(g);x=i(g)}if(x!==null)W=!0;else{var Qe=i(b);Qe!==null&&me(X,Qe.startTime-$),W=!1}}break e}finally{x=null,j=fe,A=!1}W=void 0}}finally{W?ve():J=!1}}}var ve;if(typeof P=="function")ve=function(){P(ze)};else if(typeof MessageChannel<"u"){var tt=new MessageChannel,re=tt.port2;tt.port1.onmessage=ze,ve=function(){re.postMessage(null)}}else ve=function(){R(ze,0)};function me($,W){O=R(function(){$(e.unstable_now())},W)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function($){$.callback=null},e.unstable_forceFrameRate=function($){0>$||125<$?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):B=0<$?Math.floor(1e3/$):5},e.unstable_getCurrentPriorityLevel=function(){return j},e.unstable_next=function($){switch(j){case 1:case 2:case 3:var W=3;break;default:W=j}var fe=j;j=W;try{return $()}finally{j=fe}},e.unstable_requestPaint=function(){E=!0},e.unstable_runWithPriority=function($,W){switch($){case 1:case 2:case 3:case 4:case 5:break;default:$=3}var fe=j;j=$;try{return W()}finally{j=fe}},e.unstable_scheduleCallback=function($,W,fe){var je=e.unstable_now();switch(typeof fe=="object"&&fe!==null?(fe=fe.delay,fe=typeof fe=="number"&&0<fe?je+fe:je):fe=je,$){case 1:var se=-1;break;case 2:se=250;break;case 5:se=1073741823;break;case 4:se=1e4;break;default:se=5e3}return se=fe+se,$={id:v++,callback:W,priorityLevel:$,startTime:fe,expirationTime:se,sortIndex:-1},fe>je?($.sortIndex=fe,n(b,$),i(g)===null&&$===i(b)&&(k?(I(O),O=-1):k=!0,me(X,fe-je))):($.sortIndex=se,n(g,$),T||A||(T=!0,J||(J=!0,ve()))),$},e.unstable_shouldYield=Ae,e.unstable_wrapCallback=function($){var W=j;return function(){var fe=j;j=W;try{return $.apply(this,arguments)}finally{j=fe}}}})(Fd)),Fd}var Ry;function Ow(){return Ry||(Ry=1,Jd.exports=Ew()),Jd.exports}var By;function Dw(){if(By)return Xr;By=1;var e=Ow(),n=yw(),i=bw();function r(t){var a="https://react.dev/errors/"+t;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var s=2;s<arguments.length;s++)a+="&args[]="+encodeURIComponent(arguments[s])}return"Minified React error #"+t+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function l(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function c(t){var a=t,s=t;if(t.alternate)for(;a.return;)a=a.return;else{t=a;do a=t,(a.flags&4098)!==0&&(s=a.return),t=a.return;while(t)}return a.tag===3?s:null}function d(t){if(t.tag===13){var a=t.memoizedState;if(a===null&&(t=t.alternate,t!==null&&(a=t.memoizedState)),a!==null)return a.dehydrated}return null}function h(t){if(t.tag===31){var a=t.memoizedState;if(a===null&&(t=t.alternate,t!==null&&(a=t.memoizedState)),a!==null)return a.dehydrated}return null}function g(t){if(c(t)!==t)throw Error(r(188))}function b(t){var a=t.alternate;if(!a){if(a=c(t),a===null)throw Error(r(188));return a!==t?null:t}for(var s=t,o=a;;){var u=s.return;if(u===null)break;var p=u.alternate;if(p===null){if(o=u.return,o!==null){s=o;continue}break}if(u.child===p.child){for(p=u.child;p;){if(p===s)return g(u),t;if(p===o)return g(u),a;p=p.sibling}throw Error(r(188))}if(s.return!==o.return)s=u,o=p;else{for(var y=!1,w=u.child;w;){if(w===s){y=!0,s=u,o=p;break}if(w===o){y=!0,o=u,s=p;break}w=w.sibling}if(!y){for(w=p.child;w;){if(w===s){y=!0,s=p,o=u;break}if(w===o){y=!0,o=p,s=u;break}w=w.sibling}if(!y)throw Error(r(189))}}if(s.alternate!==o)throw Error(r(190))}if(s.tag!==3)throw Error(r(188));return s.stateNode.current===s?t:a}function v(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t;for(t=t.child;t!==null;){if(a=v(t),a!==null)return a;t=t.sibling}return null}var x=Object.assign,j=Symbol.for("react.element"),A=Symbol.for("react.transitional.element"),T=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),R=Symbol.for("react.profiler"),I=Symbol.for("react.consumer"),P=Symbol.for("react.context"),Q=Symbol.for("react.forward_ref"),X=Symbol.for("react.suspense"),J=Symbol.for("react.suspense_list"),O=Symbol.for("react.memo"),B=Symbol.for("react.lazy"),oe=Symbol.for("react.activity"),Ae=Symbol.for("react.memo_cache_sentinel"),ze=Symbol.iterator;function ve(t){return t===null||typeof t!="object"?null:(t=ze&&t[ze]||t["@@iterator"],typeof t=="function"?t:null)}var tt=Symbol.for("react.client.reference");function re(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===tt?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case k:return"Fragment";case R:return"Profiler";case E:return"StrictMode";case X:return"Suspense";case J:return"SuspenseList";case oe:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case T:return"Portal";case P:return t.displayName||"Context";case I:return(t._context.displayName||"Context")+".Consumer";case Q:var a=t.render;return t=t.displayName,t||(t=a.displayName||a.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case O:return a=t.displayName||null,a!==null?a:re(t.type)||"Memo";case B:a=t._payload,t=t._init;try{return re(t(a))}catch{}}return null}var me=Array.isArray,$=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,W=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,fe={pending:!1,data:null,method:null,action:null},je=[],se=-1;function Qe(t){return{current:t}}function F(t){0>se||(t.current=je[se],je[se]=null,se--)}function ue(t,a){se++,je[se]=t.current,t.current=a}var ee=Qe(null),de=Qe(null),ne=Qe(null),Ne=Qe(null);function nt(t,a){switch(ue(ne,a),ue(de,t),ue(ee,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?ny(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=ny(a),t=ay(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}F(ee),ue(ee,t)}function xe(){F(ee),F(de),F(ne)}function $e(t){t.memoizedState!==null&&ue(Ne,t);var a=ee.current,s=ay(a,t.type);a!==s&&(ue(de,t),ue(ee,s))}function He(t){de.current===t&&(F(ee),F(de)),Ne.current===t&&(F(Ne),Kr._currentValue=fe)}var Et,Cn;function Ot(t){if(Et===void 0)try{throw Error()}catch(s){var a=s.stack.trim().match(/\n( *(at )?)/);Et=a&&a[1]||"",Cn=-1<s.stack.indexOf(`
|
|
3
3
|
at`)?" (<anonymous>)":-1<s.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
4
|
`+Et+t+Cn}var tr=!1;function Oi(t,a){if(!t||tr)return"";tr=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var o={DetermineComponentFrameRoot:function(){try{if(a){var Y=function(){throw Error()};if(Object.defineProperty(Y.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Y,[])}catch(V){var U=V}Reflect.construct(t,[],Y)}else{try{Y.call()}catch(V){U=V}t.call(Y.prototype)}}else{try{throw Error()}catch(V){U=V}(Y=t())&&typeof Y.catch=="function"&&Y.catch(function(){})}}catch(V){if(V&&U&&typeof V.stack=="string")return[V.stack,U.stack]}return[null,null]}};o.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var u=Object.getOwnPropertyDescriptor(o.DetermineComponentFrameRoot,"name");u&&u.configurable&&Object.defineProperty(o.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var p=o.DetermineComponentFrameRoot(),y=p[0],w=p[1];if(y&&w){var _=y.split(`
|
|
@@ -49,7 +49,7 @@ Error generating stack: `+o.message+`
|
|
|
49
49
|
|
|
50
50
|
`)}A.write("payload.value = newResult;"),A.write("return payload;");const I=A.compile();return(P,Q)=>I(j,P,Q)};let c;const d=lo,h=!Dv.jitless,b=h&&KA.value,v=n.catchall;let x;e._zod.parse=(j,A)=>{x??(x=r.value);const T=j.value;return d(T)?h&&b&&A?.async===!1&&A.jitless!==!0?(c||(c=l(n.shape)),j=c(j,A),v?Xv([],T,j,A,x,e):j):i(j,A):(j.issues.push({expected:"object",code:"invalid_type",input:T,inst:e}),j)}});function Jy(e,n,i,r){for(const c of e)if(c.issues.length===0)return n.value=c.value,n;const l=e.filter(c=>!Cs(c));return l.length===1?(n.value=l[0].value,l[0]):(n.issues.push({code:"invalid_union",input:n.value,inst:i,errors:e.map(c=>c.issues.map(d=>Ya(d,r,Qa())))}),n)}const Jv=H("$ZodUnion",(e,n)=>{ct.init(e,n),Pe(e._zod,"optin",()=>n.options.some(l=>l._zod.optin==="optional")?"optional":void 0),Pe(e._zod,"optout",()=>n.options.some(l=>l._zod.optout==="optional")?"optional":void 0),Pe(e._zod,"values",()=>{if(n.options.every(l=>l._zod.values))return new Set(n.options.flatMap(l=>Array.from(l._zod.values)))}),Pe(e._zod,"pattern",()=>{if(n.options.every(l=>l._zod.pattern)){const l=n.options.map(c=>c._zod.pattern);return new RegExp(`^(${l.map(c=>Zf(c.source)).join("|")})$`)}});const i=n.options.length===1,r=n.options[0]._zod.run;e._zod.parse=(l,c)=>{if(i)return r(l,c);let d=!1;const h=[];for(const g of n.options){const b=g._zod.run({value:l.value,issues:[]},c);if(b instanceof Promise)h.push(b),d=!0;else{if(b.issues.length===0)return b;h.push(b)}}return d?Promise.all(h).then(g=>Jy(g,l,e,c)):Jy(h,l,e,c)}}),O_=H("$ZodDiscriminatedUnion",(e,n)=>{n.inclusive=!1,Jv.init(e,n);const i=e._zod.parse;Pe(e._zod,"propValues",()=>{const l={};for(const c of n.options){const d=c._zod.propValues;if(!d||Object.keys(d).length===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(c)}"`);for(const[h,g]of Object.entries(d)){l[h]||(l[h]=new Set);for(const b of g)l[h].add(b)}}return l});const r=gc(()=>{const l=n.options,c=new Map;for(const d of l){const h=d._zod.propValues?.[n.discriminator];if(!h||h.size===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(d)}"`);for(const g of h){if(c.has(g))throw new Error(`Duplicate discriminator value "${String(g)}"`);c.set(g,d)}}return c});e._zod.parse=(l,c)=>{const d=l.value;if(!lo(d))return l.issues.push({code:"invalid_type",expected:"object",input:d,inst:e}),l;const h=r.value.get(d?.[n.discriminator]);return h?h._zod.run(l,c):n.unionFallback?i(l,c):(l.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:n.discriminator,input:d,path:[n.discriminator],inst:e}),l)}}),D_=H("$ZodIntersection",(e,n)=>{ct.init(e,n),e._zod.parse=(i,r)=>{const l=i.value,c=n.left._zod.run({value:l,issues:[]},r),d=n.right._zod.run({value:l,issues:[]},r);return c instanceof Promise||d instanceof Promise?Promise.all([c,d]).then(([g,b])=>Fy(i,g,b)):Fy(i,c,d)}});function xf(e,n){if(e===n)return{valid:!0,data:e};if(e instanceof Date&&n instanceof Date&&+e==+n)return{valid:!0,data:e};if(qs(e)&&qs(n)){const i=Object.keys(n),r=Object.keys(e).filter(c=>i.indexOf(c)!==-1),l={...e,...n};for(const c of r){const d=xf(e[c],n[c]);if(!d.valid)return{valid:!1,mergeErrorPath:[c,...d.mergeErrorPath]};l[c]=d.data}return{valid:!0,data:l}}if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return{valid:!1,mergeErrorPath:[]};const i=[];for(let r=0;r<e.length;r++){const l=e[r],c=n[r],d=xf(l,c);if(!d.valid)return{valid:!1,mergeErrorPath:[r,...d.mergeErrorPath]};i.push(d.data)}return{valid:!0,data:i}}return{valid:!1,mergeErrorPath:[]}}function Fy(e,n,i){const r=new Map;let l;for(const h of n.issues)if(h.code==="unrecognized_keys"){l??(l=h);for(const g of h.keys)r.has(g)||r.set(g,{}),r.get(g).l=!0}else e.issues.push(h);for(const h of i.issues)if(h.code==="unrecognized_keys")for(const g of h.keys)r.has(g)||r.set(g,{}),r.get(g).r=!0;else e.issues.push(h);const c=[...r].filter(([,h])=>h.l&&h.r).map(([h])=>h);if(c.length&&l&&e.issues.push({...l,keys:c}),Cs(e))return e;const d=xf(n.value,i.value);if(!d.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(d.mergeErrorPath)}`);return e.value=d.data,e}const R_=H("$ZodRecord",(e,n)=>{ct.init(e,n),e._zod.parse=(i,r)=>{const l=i.value;if(!qs(l))return i.issues.push({expected:"record",code:"invalid_type",input:l,inst:e}),i;const c=[],d=n.keyType._zod.values;if(d){i.value={};const h=new Set;for(const b of d)if(typeof b=="string"||typeof b=="number"||typeof b=="symbol"){h.add(typeof b=="number"?b.toString():b);const v=n.valueType._zod.run({value:l[b],issues:[]},r);v instanceof Promise?c.push(v.then(x=>{x.issues.length&&i.issues.push(...Ts(b,x.issues)),i.value[b]=x.value})):(v.issues.length&&i.issues.push(...Ts(b,v.issues)),i.value[b]=v.value)}let g;for(const b in l)h.has(b)||(g=g??[],g.push(b));g&&g.length>0&&i.issues.push({code:"unrecognized_keys",input:l,inst:e,keys:g})}else{i.value={};for(const h of Reflect.ownKeys(l)){if(h==="__proto__")continue;let g=n.keyType._zod.run({value:h,issues:[]},r);if(g instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof h=="string"&&Gv.test(h)&&g.issues.length){const x=n.keyType._zod.run({value:Number(h),issues:[]},r);if(x instanceof Promise)throw new Error("Async schemas not supported in object keys currently");x.issues.length===0&&(g=x)}if(g.issues.length){n.mode==="loose"?i.value[h]=l[h]:i.issues.push({code:"invalid_key",origin:"record",issues:g.issues.map(x=>Ya(x,r,Qa())),input:h,path:[h],inst:e});continue}const v=n.valueType._zod.run({value:l[h],issues:[]},r);v instanceof Promise?c.push(v.then(x=>{x.issues.length&&i.issues.push(...Ts(h,x.issues)),i.value[g.value]=x.value})):(v.issues.length&&i.issues.push(...Ts(h,v.issues)),i.value[g.value]=v.value)}}return c.length?Promise.all(c).then(()=>i):i}}),B_=H("$ZodEnum",(e,n)=>{ct.init(e,n);const i=Rv(n.entries),r=new Set(i);e._zod.values=r,e._zod.pattern=new RegExp(`^(${i.filter(l=>ZA.has(typeof l)).map(l=>typeof l=="string"?Us(l):l.toString()).join("|")})$`),e._zod.parse=(l,c)=>{const d=l.value;return r.has(d)||l.issues.push({code:"invalid_value",values:i,input:d,inst:e}),l}}),M_=H("$ZodLiteral",(e,n)=>{if(ct.init(e,n),n.values.length===0)throw new Error("Cannot create literal schema with no valid values");const i=new Set(n.values);e._zod.values=i,e._zod.pattern=new RegExp(`^(${n.values.map(r=>typeof r=="string"?Us(r):r?Us(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,l)=>{const c=r.value;return i.has(c)||r.issues.push({code:"invalid_value",values:n.values,input:c,inst:e}),r}}),L_=H("$ZodTransform",(e,n)=>{ct.init(e,n),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new Ov(e.constructor.name);const l=n.transform(i.value,i);if(r.async)return(l instanceof Promise?l:Promise.resolve(l)).then(d=>(i.value=d,i));if(l instanceof Promise)throw new Rs;return i.value=l,i}});function Wy(e,n){return e.issues.length&&n===void 0?{issues:[],value:void 0}:e}const Fv=H("$ZodOptional",(e,n)=>{ct.init(e,n),e._zod.optin="optional",e._zod.optout="optional",Pe(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),Pe(e._zod,"pattern",()=>{const i=n.innerType._zod.pattern;return i?new RegExp(`^(${Zf(i.source)})?$`):void 0}),e._zod.parse=(i,r)=>{if(n.innerType._zod.optin==="optional"){const l=n.innerType._zod.run(i,r);return l instanceof Promise?l.then(c=>Wy(c,i.value)):Wy(l,i.value)}return i.value===void 0?i:n.innerType._zod.run(i,r)}}),q_=H("$ZodExactOptional",(e,n)=>{Fv.init(e,n),Pe(e._zod,"values",()=>n.innerType._zod.values),Pe(e._zod,"pattern",()=>n.innerType._zod.pattern),e._zod.parse=(i,r)=>n.innerType._zod.run(i,r)}),U_=H("$ZodNullable",(e,n)=>{ct.init(e,n),Pe(e._zod,"optin",()=>n.innerType._zod.optin),Pe(e._zod,"optout",()=>n.innerType._zod.optout),Pe(e._zod,"pattern",()=>{const i=n.innerType._zod.pattern;return i?new RegExp(`^(${Zf(i.source)}|null)$`):void 0}),Pe(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0),e._zod.parse=(i,r)=>i.value===null?i:n.innerType._zod.run(i,r)}),$_=H("$ZodDefault",(e,n)=>{ct.init(e,n),e._zod.optin="optional",Pe(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);if(i.value===void 0)return i.value=n.defaultValue,i;const l=n.innerType._zod.run(i,r);return l instanceof Promise?l.then(c=>eb(c,n)):eb(l,n)}});function eb(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const V_=H("$ZodPrefault",(e,n)=>{ct.init(e,n),e._zod.optin="optional",Pe(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>(r.direction==="backward"||i.value===void 0&&(i.value=n.defaultValue),n.innerType._zod.run(i,r))}),I_=H("$ZodNonOptional",(e,n)=>{ct.init(e,n),Pe(e._zod,"values",()=>{const i=n.innerType._zod.values;return i?new Set([...i].filter(r=>r!==void 0)):void 0}),e._zod.parse=(i,r)=>{const l=n.innerType._zod.run(i,r);return l instanceof Promise?l.then(c=>tb(c,e)):tb(l,e)}});function tb(e,n){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:n}),e}const G_=H("$ZodCatch",(e,n)=>{ct.init(e,n),Pe(e._zod,"optin",()=>n.innerType._zod.optin),Pe(e._zod,"optout",()=>n.innerType._zod.optout),Pe(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);const l=n.innerType._zod.run(i,r);return l instanceof Promise?l.then(c=>(i.value=c.value,c.issues.length&&(i.value=n.catchValue({...i,error:{issues:c.issues.map(d=>Ya(d,r,Qa()))},input:i.value}),i.issues=[]),i)):(i.value=l.value,l.issues.length&&(i.value=n.catchValue({...i,error:{issues:l.issues.map(c=>Ya(c,r,Qa()))},input:i.value}),i.issues=[]),i)}}),P_=H("$ZodPipe",(e,n)=>{ct.init(e,n),Pe(e._zod,"values",()=>n.in._zod.values),Pe(e._zod,"optin",()=>n.in._zod.optin),Pe(e._zod,"optout",()=>n.out._zod.optout),Pe(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(i,r)=>{if(r.direction==="backward"){const c=n.out._zod.run(i,r);return c instanceof Promise?c.then(d=>$l(d,n.in,r)):$l(c,n.in,r)}const l=n.in._zod.run(i,r);return l instanceof Promise?l.then(c=>$l(c,n.out,r)):$l(l,n.out,r)}});function $l(e,n,i){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues},i)}const H_=H("$ZodReadonly",(e,n)=>{ct.init(e,n),Pe(e._zod,"propValues",()=>n.innerType._zod.propValues),Pe(e._zod,"values",()=>n.innerType._zod.values),Pe(e._zod,"optin",()=>n.innerType?._zod?.optin),Pe(e._zod,"optout",()=>n.innerType?._zod?.optout),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);const l=n.innerType._zod.run(i,r);return l instanceof Promise?l.then(nb):nb(l)}});function nb(e){return e.value=Object.freeze(e.value),e}const K_=H("$ZodCustom",(e,n)=>{nn.init(e,n),ct.init(e,n),e._zod.parse=(i,r)=>i,e._zod.check=i=>{const r=i.value,l=n.fn(r);if(l instanceof Promise)return l.then(c=>ab(c,i,r,e));ab(l,i,r,e)}});function ab(e,n,i,r){if(!e){const l={code:"custom",input:i,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(l.params=r._zod.def.params),n.issues.push(co(l))}}var ib;class Z_{constructor(){this._map=new WeakMap,this._idmap=new Map}add(n,...i){const r=i[0];return this._map.set(n,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,n),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(n){const i=this._map.get(n);return i&&typeof i=="object"&&"id"in i&&this._idmap.delete(i.id),this._map.delete(n),this}get(n){const i=n._zod.parent;if(i){const r={...this.get(i)??{}};delete r.id;const l={...r,...this._map.get(n)};return Object.keys(l).length?l:void 0}return this._map.get(n)}has(n){return this._map.has(n)}}function Q_(){return new Z_}(ib=globalThis).__zod_globalRegistry??(ib.__zod_globalRegistry=Q_());const ao=globalThis.__zod_globalRegistry;function Y_(e,n){return new e({type:"string",...be(n)})}function X_(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...be(n)})}function sb(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...be(n)})}function J_(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...be(n)})}function F_(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...be(n)})}function W_(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...be(n)})}function ez(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...be(n)})}function tz(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...be(n)})}function nz(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...be(n)})}function az(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...be(n)})}function iz(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...be(n)})}function sz(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...be(n)})}function rz(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...be(n)})}function oz(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...be(n)})}function lz(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...be(n)})}function cz(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...be(n)})}function uz(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...be(n)})}function dz(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...be(n)})}function fz(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...be(n)})}function pz(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...be(n)})}function mz(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...be(n)})}function hz(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...be(n)})}function gz(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...be(n)})}function yz(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...be(n)})}function bz(e,n){return new e({type:"string",format:"date",check:"string_format",...be(n)})}function vz(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...be(n)})}function Sz(e,n){return new e({type:"string",format:"duration",check:"string_format",...be(n)})}function xz(e,n){return new e({type:"number",checks:[],...be(n)})}function wz(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...be(n)})}function jz(e,n){return new e({type:"boolean",...be(n)})}function Nz(e){return new e({type:"unknown"})}function kz(e,n){return new e({type:"never",...be(n)})}function rb(e,n){return new Hv({check:"less_than",...be(n),value:e,inclusive:!1})}function tf(e,n){return new Hv({check:"less_than",...be(n),value:e,inclusive:!0})}function ob(e,n){return new Kv({check:"greater_than",...be(n),value:e,inclusive:!1})}function nf(e,n){return new Kv({check:"greater_than",...be(n),value:e,inclusive:!0})}function lb(e,n){return new $2({check:"multiple_of",...be(n),value:e})}function Wv(e,n){return new I2({check:"max_length",...be(n),maximum:e})}function ic(e,n){return new G2({check:"min_length",...be(n),minimum:e})}function e0(e,n){return new P2({check:"length_equals",...be(n),length:e})}function Az(e,n){return new H2({check:"string_format",format:"regex",...be(n),pattern:e})}function _z(e){return new K2({check:"string_format",format:"lowercase",...be(e)})}function zz(e){return new Z2({check:"string_format",format:"uppercase",...be(e)})}function Cz(e,n){return new Q2({check:"string_format",format:"includes",...be(n),includes:e})}function Tz(e,n){return new Y2({check:"string_format",format:"starts_with",...be(n),prefix:e})}function Ez(e,n){return new X2({check:"string_format",format:"ends_with",...be(n),suffix:e})}function Ks(e){return new J2({check:"overwrite",tx:e})}function Oz(e){return Ks(n=>n.normalize(e))}function Dz(){return Ks(e=>e.trim())}function Rz(){return Ks(e=>e.toLowerCase())}function Bz(){return Ks(e=>e.toUpperCase())}function Mz(){return Ks(e=>HA(e))}function Lz(e,n,i){return new e({type:"array",element:n,...be(i)})}function qz(e,n,i){return new e({type:"custom",check:"custom",fn:n,...be(i)})}function Uz(e){const n=$z(i=>(i.addIssue=r=>{if(typeof r=="string")i.issues.push(co(r,i.value,n._zod.def));else{const l=r;l.fatal&&(l.continue=!1),l.code??(l.code="custom"),l.input??(l.input=i.value),l.inst??(l.inst=n),l.continue??(l.continue=!n._zod.def.abort),i.issues.push(co(l))}},e(i.value,i)));return n}function $z(e,n){const i=new nn({check:"custom",...be(n)});return i._zod.check=e,i}function t0(e){let n=e?.target??"draft-2020-12";return n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??ao,target:n,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function kt(e,n,i={path:[],schemaPath:[]}){var r;const l=e._zod.def,c=n.seen.get(e);if(c)return c.count++,i.schemaPath.includes(e)&&(c.cycle=i.path),c.schema;const d={schema:{},count:1,cycle:void 0,path:i.path};n.seen.set(e,d);const h=e._zod.toJSONSchema?.();if(h)d.schema=h;else{const v={...i,schemaPath:[...i.schemaPath,e],path:i.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,d.schema,v);else{const j=d.schema,A=n.processors[l.type];if(!A)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${l.type}`);A(e,n,j,v)}const x=e._zod.parent;x&&(d.ref||(d.ref=x),kt(x,n,v),n.seen.get(x).isParent=!0)}const g=n.metadataRegistry.get(e);return g&&Object.assign(d.schema,g),n.io==="input"&&Gt(e)&&(delete d.schema.examples,delete d.schema.default),n.io==="input"&&d.schema._prefault&&((r=d.schema).default??(r.default=d.schema._prefault)),delete d.schema._prefault,n.seen.get(e).schema}function n0(e,n){const i=e.seen.get(n);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const d of e.seen.entries()){const h=e.metadataRegistry.get(d[0])?.id;if(h){const g=r.get(h);if(g&&g!==d[0])throw new Error(`Duplicate schema id "${h}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(h,d[0])}}const l=d=>{const h=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const x=e.external.registry.get(d[0])?.id,j=e.external.uri??(T=>T);if(x)return{ref:j(x)};const A=d[1].defId??d[1].schema.id??`schema${e.counter++}`;return d[1].defId=A,{defId:A,ref:`${j("__shared")}#/${h}/${A}`}}if(d[1]===i)return{ref:"#"};const b=`#/${h}/`,v=d[1].schema.id??`__schema${e.counter++}`;return{defId:v,ref:b+v}},c=d=>{if(d[1].schema.$ref)return;const h=d[1],{ref:g,defId:b}=l(d);h.def={...h.schema},b&&(h.defId=b);const v=h.schema;for(const x in v)delete v[x];v.$ref=g};if(e.cycles==="throw")for(const d of e.seen.entries()){const h=d[1];if(h.cycle)throw new Error(`Cycle detected: #/${h.cycle?.join("/")}/<root>
|
|
51
51
|
|
|
52
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const d of e.seen.entries()){const h=d[1];if(n===d[0]){c(d);continue}if(e.external){const b=e.external.registry.get(d[0])?.id;if(n!==d[0]&&b){c(d);continue}}if(e.metadataRegistry.get(d[0])?.id){c(d);continue}if(h.cycle){c(d);continue}if(h.count>1&&e.reused==="ref"){c(d);continue}}}function a0(e,n){const i=e.seen.get(n);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=d=>{const h=e.seen.get(d);if(h.ref===null)return;const g=h.def??h.schema,b={...g},v=h.ref;if(h.ref=null,v){r(v);const j=e.seen.get(v),A=j.schema;if(A.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(g.allOf=g.allOf??[],g.allOf.push(A)):Object.assign(g,A),Object.assign(g,b),d._zod.parent===v)for(const k in g)k==="$ref"||k==="allOf"||k in b||delete g[k];if(A.$ref&&j.def)for(const k in g)k==="$ref"||k==="allOf"||k in j.def&&JSON.stringify(g[k])===JSON.stringify(j.def[k])&&delete g[k]}const x=d._zod.parent;if(x&&x!==v){r(x);const j=e.seen.get(x);if(j?.schema.$ref&&(g.$ref=j.schema.$ref,j.def))for(const A in g)A==="$ref"||A==="allOf"||A in j.def&&JSON.stringify(g[A])===JSON.stringify(j.def[A])&&delete g[A]}e.override({zodSchema:d,jsonSchema:g,path:h.path??[]})};for(const d of[...e.seen.entries()].reverse())r(d[0]);const l={};if(e.target==="draft-2020-12"?l.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?l.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?l.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const d=e.external.registry.get(n)?.id;if(!d)throw new Error("Schema is missing an `id` property");l.$id=e.external.uri(d)}Object.assign(l,i.def??i.schema);const c=e.external?.defs??{};for(const d of e.seen.entries()){const h=d[1];h.def&&h.defId&&(c[h.defId]=h.def)}e.external||Object.keys(c).length>0&&(e.target==="draft-2020-12"?l.$defs=c:l.definitions=c);try{const d=JSON.parse(JSON.stringify(l));return Object.defineProperty(d,"~standard",{value:{...n["~standard"],jsonSchema:{input:sc(n,"input",e.processors),output:sc(n,"output",e.processors)}},enumerable:!1,writable:!1}),d}catch{throw new Error("Error converting schema to JSON.")}}function Gt(e,n){const i=n??{seen:new Set};if(i.seen.has(e))return!1;i.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Gt(r.element,i);if(r.type==="set")return Gt(r.valueType,i);if(r.type==="lazy")return Gt(r.getter(),i);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return Gt(r.innerType,i);if(r.type==="intersection")return Gt(r.left,i)||Gt(r.right,i);if(r.type==="record"||r.type==="map")return Gt(r.keyType,i)||Gt(r.valueType,i);if(r.type==="pipe")return Gt(r.in,i)||Gt(r.out,i);if(r.type==="object"){for(const l in r.shape)if(Gt(r.shape[l],i))return!0;return!1}if(r.type==="union"){for(const l of r.options)if(Gt(l,i))return!0;return!1}if(r.type==="tuple"){for(const l of r.items)if(Gt(l,i))return!0;return!!(r.rest&&Gt(r.rest,i))}return!1}const Vz=(e,n={})=>i=>{const r=t0({...i,processors:n});return kt(e,r),n0(r,e),a0(r,e)},sc=(e,n,i={})=>r=>{const{libraryOptions:l,target:c}=r??{},d=t0({...l??{},target:c,io:n,processors:i});return kt(e,d),n0(d,e),a0(d,e)},Iz={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Gz=(e,n,i,r)=>{const l=i;l.type="string";const{minimum:c,maximum:d,format:h,patterns:g,contentEncoding:b}=e._zod.bag;if(typeof c=="number"&&(l.minLength=c),typeof d=="number"&&(l.maxLength=d),h&&(l.format=Iz[h]??h,l.format===""&&delete l.format,h==="time"&&delete l.format),b&&(l.contentEncoding=b),g&&g.size>0){const v=[...g];v.length===1?l.pattern=v[0].source:v.length>1&&(l.allOf=[...v.map(x=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:x.source}))])}},Pz=(e,n,i,r)=>{const l=i,{minimum:c,maximum:d,format:h,multipleOf:g,exclusiveMaximum:b,exclusiveMinimum:v}=e._zod.bag;typeof h=="string"&&h.includes("int")?l.type="integer":l.type="number",typeof v=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(l.minimum=v,l.exclusiveMinimum=!0):l.exclusiveMinimum=v),typeof c=="number"&&(l.minimum=c,typeof v=="number"&&n.target!=="draft-04"&&(v>=c?delete l.minimum:delete l.exclusiveMinimum)),typeof b=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(l.maximum=b,l.exclusiveMaximum=!0):l.exclusiveMaximum=b),typeof d=="number"&&(l.maximum=d,typeof b=="number"&&n.target!=="draft-04"&&(b<=d?delete l.maximum:delete l.exclusiveMaximum)),typeof g=="number"&&(l.multipleOf=g)},Hz=(e,n,i,r)=>{i.type="boolean"},Kz=(e,n,i,r)=>{i.not={}},Zz=(e,n,i,r)=>{},Qz=(e,n,i,r)=>{const l=e._zod.def,c=Rv(l.entries);c.every(d=>typeof d=="number")&&(i.type="number"),c.every(d=>typeof d=="string")&&(i.type="string"),i.enum=c},Yz=(e,n,i,r)=>{const l=e._zod.def,c=[];for(const d of l.values)if(d===void 0){if(n.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof d=="bigint"){if(n.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");c.push(Number(d))}else c.push(d);if(c.length!==0)if(c.length===1){const d=c[0];i.type=d===null?"null":typeof d,n.target==="draft-04"||n.target==="openapi-3.0"?i.enum=[d]:i.const=d}else c.every(d=>typeof d=="number")&&(i.type="number"),c.every(d=>typeof d=="string")&&(i.type="string"),c.every(d=>typeof d=="boolean")&&(i.type="boolean"),c.every(d=>d===null)&&(i.type="null"),i.enum=c},Xz=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Jz=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Fz=(e,n,i,r)=>{const l=i,c=e._zod.def,{minimum:d,maximum:h}=e._zod.bag;typeof d=="number"&&(l.minItems=d),typeof h=="number"&&(l.maxItems=h),l.type="array",l.items=kt(c.element,n,{...r,path:[...r.path,"items"]})},Wz=(e,n,i,r)=>{const l=i,c=e._zod.def;l.type="object",l.properties={};const d=c.shape;for(const b in d)l.properties[b]=kt(d[b],n,{...r,path:[...r.path,"properties",b]});const h=new Set(Object.keys(d)),g=new Set([...h].filter(b=>{const v=c.shape[b]._zod;return n.io==="input"?v.optin===void 0:v.optout===void 0}));g.size>0&&(l.required=Array.from(g)),c.catchall?._zod.def.type==="never"?l.additionalProperties=!1:c.catchall?c.catchall&&(l.additionalProperties=kt(c.catchall,n,{...r,path:[...r.path,"additionalProperties"]})):n.io==="output"&&(l.additionalProperties=!1)},eC=(e,n,i,r)=>{const l=e._zod.def,c=l.inclusive===!1,d=l.options.map((h,g)=>kt(h,n,{...r,path:[...r.path,c?"oneOf":"anyOf",g]}));c?i.oneOf=d:i.anyOf=d},tC=(e,n,i,r)=>{const l=e._zod.def,c=kt(l.left,n,{...r,path:[...r.path,"allOf",0]}),d=kt(l.right,n,{...r,path:[...r.path,"allOf",1]}),h=b=>"allOf"in b&&Object.keys(b).length===1,g=[...h(c)?c.allOf:[c],...h(d)?d.allOf:[d]];i.allOf=g},nC=(e,n,i,r)=>{const l=i,c=e._zod.def;l.type="object";const d=c.keyType,g=d._zod.bag?.patterns;if(c.mode==="loose"&&g&&g.size>0){const v=kt(c.valueType,n,{...r,path:[...r.path,"patternProperties","*"]});l.patternProperties={};for(const x of g)l.patternProperties[x.source]=v}else(n.target==="draft-07"||n.target==="draft-2020-12")&&(l.propertyNames=kt(c.keyType,n,{...r,path:[...r.path,"propertyNames"]})),l.additionalProperties=kt(c.valueType,n,{...r,path:[...r.path,"additionalProperties"]});const b=d._zod.values;if(b){const v=[...b].filter(x=>typeof x=="string"||typeof x=="number");v.length>0&&(l.required=v)}},aC=(e,n,i,r)=>{const l=e._zod.def,c=kt(l.innerType,n,r),d=n.seen.get(e);n.target==="openapi-3.0"?(d.ref=l.innerType,i.nullable=!0):i.anyOf=[c,{type:"null"}]},iC=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType},sC=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType,i.default=JSON.parse(JSON.stringify(l.defaultValue))},rC=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType,n.io==="input"&&(i._prefault=JSON.parse(JSON.stringify(l.defaultValue)))},oC=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType;let d;try{d=l.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}i.default=d},lC=(e,n,i,r)=>{const l=e._zod.def,c=n.io==="input"?l.in._zod.def.type==="transform"?l.out:l.in:l.out;kt(c,n,r);const d=n.seen.get(e);d.ref=c},cC=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType,i.readOnly=!0},i0=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType},uC=H("ZodISODateTime",(e,n)=>{d_.init(e,n),dt.init(e,n)});function dC(e){return yz(uC,e)}const fC=H("ZodISODate",(e,n)=>{f_.init(e,n),dt.init(e,n)});function pC(e){return bz(fC,e)}const mC=H("ZodISOTime",(e,n)=>{p_.init(e,n),dt.init(e,n)});function hC(e){return vz(mC,e)}const gC=H("ZodISODuration",(e,n)=>{m_.init(e,n),dt.init(e,n)});function yC(e){return Sz(gC,e)}const bC=(e,n)=>{qv.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>i2(e,i)},flatten:{value:i=>a2(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,Sf,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,Sf,2)}},isEmpty:{get(){return e.issues.length===0}}})},_n=H("ZodError",bC,{Parent:Error}),vC=Yf(_n),SC=Xf(_n),xC=yc(_n),wC=bc(_n),jC=o2(_n),NC=l2(_n),kC=c2(_n),AC=u2(_n),_C=d2(_n),zC=f2(_n),CC=p2(_n),TC=m2(_n),ut=H("ZodType",(e,n)=>(ct.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:sc(e,"input"),output:sc(e,"output")}}),e.toJSONSchema=Vz(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.check=(...i)=>e.clone(Ja(n,{checks:[...n.checks??[],...i.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(i,r)=>Fa(e,i,r),e.brand=()=>e,e.register=((i,r)=>(i.add(e,r),e)),e.parse=(i,r)=>vC(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>xC(e,i,r),e.parseAsync=async(i,r)=>SC(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>wC(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>jC(e,i,r),e.decode=(i,r)=>NC(e,i,r),e.encodeAsync=async(i,r)=>kC(e,i,r),e.decodeAsync=async(i,r)=>AC(e,i,r),e.safeEncode=(i,r)=>_C(e,i,r),e.safeDecode=(i,r)=>zC(e,i,r),e.safeEncodeAsync=async(i,r)=>CC(e,i,r),e.safeDecodeAsync=async(i,r)=>TC(e,i,r),e.refine=(i,r)=>e.check(jT(i,r)),e.superRefine=i=>e.check(NT(i)),e.overwrite=i=>e.check(Ks(i)),e.optional=()=>db(e),e.exactOptional=()=>uT(e),e.nullable=()=>fb(e),e.nullish=()=>db(fb(e)),e.nonoptional=i=>gT(e,i),e.array=()=>z(e),e.or=i=>l0([e,i]),e.and=i=>iT(e,i),e.transform=i=>pb(e,lT(i)),e.default=i=>pT(e,i),e.prefault=i=>hT(e,i),e.catch=i=>bT(e,i),e.pipe=i=>pb(e,i),e.readonly=()=>xT(e),e.describe=i=>{const r=e.clone();return ao.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return ao.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return ao.get(e);const r=e.clone();return ao.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),s0=H("_ZodString",(e,n)=>{Jf.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(r,l,c)=>Gz(e,r,l);const i=e._zod.bag;e.format=i.format??null,e.minLength=i.minimum??null,e.maxLength=i.maximum??null,e.regex=(...r)=>e.check(Az(...r)),e.includes=(...r)=>e.check(Cz(...r)),e.startsWith=(...r)=>e.check(Tz(...r)),e.endsWith=(...r)=>e.check(Ez(...r)),e.min=(...r)=>e.check(ic(...r)),e.max=(...r)=>e.check(Wv(...r)),e.length=(...r)=>e.check(e0(...r)),e.nonempty=(...r)=>e.check(ic(1,...r)),e.lowercase=r=>e.check(_z(r)),e.uppercase=r=>e.check(zz(r)),e.trim=()=>e.check(Dz()),e.normalize=(...r)=>e.check(Oz(...r)),e.toLowerCase=()=>e.check(Rz()),e.toUpperCase=()=>e.check(Bz()),e.slugify=()=>e.check(Mz())}),EC=H("ZodString",(e,n)=>{Jf.init(e,n),s0.init(e,n),e.email=i=>e.check(X_(OC,i)),e.url=i=>e.check(tz(DC,i)),e.jwt=i=>e.check(gz(QC,i)),e.emoji=i=>e.check(nz(RC,i)),e.guid=i=>e.check(sb(cb,i)),e.uuid=i=>e.check(J_(Vl,i)),e.uuidv4=i=>e.check(F_(Vl,i)),e.uuidv6=i=>e.check(W_(Vl,i)),e.uuidv7=i=>e.check(ez(Vl,i)),e.nanoid=i=>e.check(az(BC,i)),e.guid=i=>e.check(sb(cb,i)),e.cuid=i=>e.check(iz(MC,i)),e.cuid2=i=>e.check(sz(LC,i)),e.ulid=i=>e.check(rz(qC,i)),e.base64=i=>e.check(pz(HC,i)),e.base64url=i=>e.check(mz(KC,i)),e.xid=i=>e.check(oz(UC,i)),e.ksuid=i=>e.check(lz($C,i)),e.ipv4=i=>e.check(cz(VC,i)),e.ipv6=i=>e.check(uz(IC,i)),e.cidrv4=i=>e.check(dz(GC,i)),e.cidrv6=i=>e.check(fz(PC,i)),e.e164=i=>e.check(hz(ZC,i)),e.datetime=i=>e.check(dC(i)),e.date=i=>e.check(pC(i)),e.time=i=>e.check(hC(i)),e.duration=i=>e.check(yC(i))});function m(e){return Y_(EC,e)}const dt=H("ZodStringFormat",(e,n)=>{lt.init(e,n),s0.init(e,n)}),OC=H("ZodEmail",(e,n)=>{n_.init(e,n),dt.init(e,n)}),cb=H("ZodGUID",(e,n)=>{e_.init(e,n),dt.init(e,n)}),Vl=H("ZodUUID",(e,n)=>{t_.init(e,n),dt.init(e,n)}),DC=H("ZodURL",(e,n)=>{a_.init(e,n),dt.init(e,n)}),RC=H("ZodEmoji",(e,n)=>{i_.init(e,n),dt.init(e,n)}),BC=H("ZodNanoID",(e,n)=>{s_.init(e,n),dt.init(e,n)}),MC=H("ZodCUID",(e,n)=>{r_.init(e,n),dt.init(e,n)}),LC=H("ZodCUID2",(e,n)=>{o_.init(e,n),dt.init(e,n)}),qC=H("ZodULID",(e,n)=>{l_.init(e,n),dt.init(e,n)}),UC=H("ZodXID",(e,n)=>{c_.init(e,n),dt.init(e,n)}),$C=H("ZodKSUID",(e,n)=>{u_.init(e,n),dt.init(e,n)}),VC=H("ZodIPv4",(e,n)=>{h_.init(e,n),dt.init(e,n)}),IC=H("ZodIPv6",(e,n)=>{g_.init(e,n),dt.init(e,n)}),GC=H("ZodCIDRv4",(e,n)=>{y_.init(e,n),dt.init(e,n)}),PC=H("ZodCIDRv6",(e,n)=>{b_.init(e,n),dt.init(e,n)}),HC=H("ZodBase64",(e,n)=>{v_.init(e,n),dt.init(e,n)}),KC=H("ZodBase64URL",(e,n)=>{x_.init(e,n),dt.init(e,n)}),ZC=H("ZodE164",(e,n)=>{w_.init(e,n),dt.init(e,n)}),QC=H("ZodJWT",(e,n)=>{N_.init(e,n),dt.init(e,n)}),r0=H("ZodNumber",(e,n)=>{Qv.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(r,l,c)=>Pz(e,r,l),e.gt=(r,l)=>e.check(ob(r,l)),e.gte=(r,l)=>e.check(nf(r,l)),e.min=(r,l)=>e.check(nf(r,l)),e.lt=(r,l)=>e.check(rb(r,l)),e.lte=(r,l)=>e.check(tf(r,l)),e.max=(r,l)=>e.check(tf(r,l)),e.int=r=>e.check(ub(r)),e.safe=r=>e.check(ub(r)),e.positive=r=>e.check(ob(0,r)),e.nonnegative=r=>e.check(nf(0,r)),e.negative=r=>e.check(rb(0,r)),e.nonpositive=r=>e.check(tf(0,r)),e.multipleOf=(r,l)=>e.check(lb(r,l)),e.step=(r,l)=>e.check(lb(r,l)),e.finite=()=>e;const i=e._zod.bag;e.minValue=Math.max(i.minimum??Number.NEGATIVE_INFINITY,i.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(i.maximum??Number.POSITIVE_INFINITY,i.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(i.format??"").includes("int")||Number.isSafeInteger(i.multipleOf??.5),e.isFinite=!0,e.format=i.format??null});function S(e){return xz(r0,e)}const YC=H("ZodNumberFormat",(e,n)=>{k_.init(e,n),r0.init(e,n)});function ub(e){return wz(YC,e)}const XC=H("ZodBoolean",(e,n)=>{A_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Hz(e,i,r)});function ce(e){return jz(XC,e)}const JC=H("ZodUnknown",(e,n)=>{__.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Zz()});function ga(){return Nz(JC)}const FC=H("ZodNever",(e,n)=>{z_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Kz(e,i,r)});function WC(e){return kz(FC,e)}const eT=H("ZodArray",(e,n)=>{C_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Fz(e,i,r,l),e.element=n.element,e.min=(i,r)=>e.check(ic(i,r)),e.nonempty=i=>e.check(ic(1,i)),e.max=(i,r)=>e.check(Wv(i,r)),e.length=(i,r)=>e.check(e0(i,r)),e.unwrap=()=>e.element});function z(e,n){return Lz(eT,e,n)}const tT=H("ZodObject",(e,n)=>{E_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Wz(e,i,r,l),Pe(e,"shape",()=>n.shape),e.keyof=()=>ie(Object.keys(e._zod.def.shape)),e.catchall=i=>e.clone({...e._zod.def,catchall:i}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ga()}),e.loose=()=>e.clone({...e._zod.def,catchall:ga()}),e.strict=()=>e.clone({...e._zod.def,catchall:WC()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>FA(e,i),e.safeExtend=i=>WA(e,i),e.merge=i=>e2(e,i),e.pick=i=>XA(e,i),e.omit=i=>JA(e,i),e.partial=(...i)=>t2(u0,e,i[0]),e.required=(...i)=>n2(d0,e,i[0])});function N(e,n){const i={type:"object",shape:e??{},...be(n)};return new tT(i)}const o0=H("ZodUnion",(e,n)=>{Jv.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>eC(e,i,r,l),e.options=n.options});function l0(e,n){return new o0({type:"union",options:e,...be(n)})}const nT=H("ZodDiscriminatedUnion",(e,n)=>{o0.init(e,n),O_.init(e,n)});function c0(e,n,i){return new nT({type:"union",options:n,discriminator:e,...be(i)})}const aT=H("ZodIntersection",(e,n)=>{D_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>tC(e,i,r,l)});function iT(e,n){return new aT({type:"intersection",left:e,right:n})}const sT=H("ZodRecord",(e,n)=>{R_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>nC(e,i,r,l),e.keyType=n.keyType,e.valueType=n.valueType});function yt(e,n,i){return new sT({type:"record",keyType:e,valueType:n,...be(i)})}const wf=H("ZodEnum",(e,n)=>{B_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(r,l,c)=>Qz(e,r,l),e.enum=n.entries,e.options=Object.values(n.entries);const i=new Set(Object.keys(n.entries));e.extract=(r,l)=>{const c={};for(const d of r)if(i.has(d))c[d]=n.entries[d];else throw new Error(`Key ${d} not found in enum`);return new wf({...n,checks:[],...be(l),entries:c})},e.exclude=(r,l)=>{const c={...n.entries};for(const d of r)if(i.has(d))delete c[d];else throw new Error(`Key ${d} not found in enum`);return new wf({...n,checks:[],...be(l),entries:c})}});function ie(e,n){const i=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new wf({type:"enum",entries:i,...be(n)})}const rT=H("ZodLiteral",(e,n)=>{M_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Yz(e,i,r),e.values=new Set(n.values),Object.defineProperty(e,"value",{get(){if(n.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return n.values[0]}})});function Vt(e,n){return new rT({type:"literal",values:Array.isArray(e)?e:[e],...be(n)})}const oT=H("ZodTransform",(e,n)=>{L_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Jz(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new Ov(e.constructor.name);i.addIssue=c=>{if(typeof c=="string")i.issues.push(co(c,i.value,n));else{const d=c;d.fatal&&(d.continue=!1),d.code??(d.code="custom"),d.input??(d.input=i.value),d.inst??(d.inst=e),i.issues.push(co(d))}};const l=n.transform(i.value,i);return l instanceof Promise?l.then(c=>(i.value=c,i)):(i.value=l,i)}});function lT(e){return new oT({type:"transform",transform:e})}const u0=H("ZodOptional",(e,n)=>{Fv.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>i0(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function db(e){return new u0({type:"optional",innerType:e})}const cT=H("ZodExactOptional",(e,n)=>{q_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>i0(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function uT(e){return new cT({type:"optional",innerType:e})}const dT=H("ZodNullable",(e,n)=>{U_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>aC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function fb(e){return new dT({type:"nullable",innerType:e})}const fT=H("ZodDefault",(e,n)=>{$_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>sC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function pT(e,n){return new fT({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():Mv(n)}})}const mT=H("ZodPrefault",(e,n)=>{V_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>rC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function hT(e,n){return new mT({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():Mv(n)}})}const d0=H("ZodNonOptional",(e,n)=>{I_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>iC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function gT(e,n){return new d0({type:"nonoptional",innerType:e,...be(n)})}const yT=H("ZodCatch",(e,n)=>{G_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>oC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function bT(e,n){return new yT({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const vT=H("ZodPipe",(e,n)=>{P_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>lC(e,i,r,l),e.in=n.in,e.out=n.out});function pb(e,n){return new vT({type:"pipe",in:e,out:n})}const ST=H("ZodReadonly",(e,n)=>{H_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>cC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function xT(e){return new ST({type:"readonly",innerType:e})}const wT=H("ZodCustom",(e,n)=>{K_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Xz(e,i)});function jT(e,n={}){return qz(wT,e,n)}function NT(e){return Uz(e)}const f0=N({id:m(),name:m(),keyPrefix:m(),scopes:z(m()),readOnly:ce(),createdAt:m(),lastUsedAt:m().nullable(),revokedAt:m().nullable()});N({keys:z(f0)});N({name:m().min(1).max(100),scopes:z(m()).min(1).optional()});f0.extend({key:m()});const kT=N({maxConcurrency:S().int().positive(),maxRequestsPerMinute:S().int().positive(),maxRequestsPerDay:S().int().positive()}),ya=m().min(1);m().min(1);const Ff=N({label:m().min(1),city:m().min(1),region:m().min(1),country:m().length(2),timezone:m().optional()}),Wf=ie(["citation.lost","citation.gained","run.completed","run.failed","insight.critical","insight.high"]);N({id:m(),projectId:m(),channel:Vt("webhook"),url:m().url(),urlDisplay:m(),urlHost:m(),events:z(Wf),enabled:ce().default(!0),source:m().optional(),webhookSecret:m().optional(),createdAt:m(),updatedAt:m()});N({channel:Vt("webhook"),url:m().url(),events:z(Wf).min(1),source:m().optional()});const p0=ie(["cli","api","config-file"]);function AT(e){const n=new Set,i=new Set;for(const r of e){if(n.has(r.label)){i.add(r.label);continue}n.add(r.label)}return[...i]}function _T(e,n){return n?e.some(i=>i.label===n):!0}N({displayName:m().min(1),canonicalDomain:m().min(1),ownedDomains:z(m().min(1)).optional(),aliases:z(m()).optional(),country:m().length(2),language:m().min(2),tags:z(m()).optional(),labels:yt(m(),m()).optional(),providers:z(ya).optional(),locations:z(Ff).optional(),defaultLocation:m().nullable().optional(),autoExtractBacklinks:ce().optional(),configSource:p0.optional()});N({id:m(),name:m(),displayName:m().optional(),canonicalDomain:m(),ownedDomains:z(m()).default([]),aliases:z(m()).default([]),country:m().length(2),language:m().min(2),tags:z(m()).default([]),labels:yt(m(),m()).default({}),providers:z(m()).default([]),locations:z(Ff).default([]),defaultLocation:m().nullable().optional(),autoExtractBacklinks:ce().default(!1),configSource:p0.default("cli"),configRevision:S().int().positive().default(1),createdAt:m().optional(),updatedAt:m().optional()});N({id:m(),query:m(),createdAt:m()});N({id:m(),keyword:m(),createdAt:m()});N({queries:z(m().trim().min(1)).min(1)});N({keywords:z(m().trim().min(1)).min(1)});N({provider:ya,count:S().int().min(1).max(20).optional()});N({id:m(),domain:m(),createdAt:m()});N({competitors:z(m().trim().min(1)).min(1)});function rc(e){let n=e.trim().toLowerCase();try{n.includes("://")&&(n=new URL(n).hostname.toLowerCase())}catch{}return n.replace(/^www\./,"")}const zT=new Set(["ac.uk","co.id","co.il","co.in","co.jp","co.kr","co.nz","co.th","co.uk","co.za","com.au","com.br","com.cn","com.mx","com.ph","com.sg","com.tr","edu.au","edu.sg","gov.au","gov.uk","me.uk","ne.jp","net.au","net.br","net.cn","net.in","net.tr","or.jp","or.kr","org.au","org.br","org.in","org.nz","org.tr","org.uk","org.za"]);function CT(e){const n=rc(e);if(!n)return"";const i=n.split("/")[0]?.split(":")[0]??"";if(!i)return"";const r=i.split(".").filter(Boolean);if(r.length<2)return"";if(r.length===2)return r.join(".");const l=r.slice(-2).join(".");return zT.has(l)?r.length>=3?r.slice(-3).join("."):"":r.slice(-2).join(".")}function TT(e){const n=CT(e);return n?n.split(".")[0]??"":""}function ET(e){const n=[e.canonicalDomain,...e.ownedDomains??[]],i=new Set,r=[];for(const l of n){const c=l.trim();if(!c)continue;const d=rc(c);i.has(d)||(i.add(d),r.push(c))}return r}const OT=N({name:m().min(1).max(63).regex(/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,{message:"Name must be a lowercase slug (letters, numbers, hyphens)"}),labels:yt(m(),m()).optional().default({})}),DT=N({preset:m().optional(),cron:m().optional(),timezone:m().optional().default("UTC"),providers:z(ya).optional().default([])}).refine(e=>e.preset&&!e.cron||!e.preset&&e.cron,{message:'Exactly one of "preset" or "cron" must be provided'}).optional(),RT=N({channel:Vt("webhook"),url:m().url(),events:z(Wf).min(1)}),BT=N({gsc:N({propertyUrl:m()}).optional(),syncSchedule:N({preset:m().optional(),cron:m().optional()}).optional()}).optional(),mb=z(m().min(1)),MT=N({displayName:m().min(1),canonicalDomain:m().min(1),ownedDomains:z(m().min(1)).optional().default([]),aliases:z(m().min(1)).optional().default([]),country:m().length(2),language:m().min(2),queries:mb.optional(),keywords:mb.optional(),competitors:z(m().min(1)).optional().default([]),providers:z(ya).optional().default([]),locations:z(Ff).optional().default([]),defaultLocation:m().optional(),schedule:DT,notifications:z(RT).optional().default([]),google:BT,autoExtractBacklinks:ce().optional().default(!1)}).superRefine((e,n)=>{e.queries!==void 0&&e.keywords!==void 0&&n.addIssue({code:"custom",message:"Use spec.queries; spec.keywords is accepted only as a legacy alias when spec.queries is omitted",path:["keywords"]});const i=AT(e.locations);i.length>0&&n.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${i.join(", ")}`,path:["locations"]}),_T(e.locations,e.defaultLocation)||n.addIssue({code:"custom",message:`defaultLocation "${e.defaultLocation}" must match a configured location label`,path:["defaultLocation"]})});N({apiVersion:Vt("canonry/v1"),kind:Vt("Project"),metadata:OT,spec:MT});const LT=ie(["gsc","ga4","gbp"]);N({id:m(),domain:m(),connectionType:LT,propertyId:m().nullable().optional(),sitemapUrl:m().nullable().optional(),scopes:z(m()).default([]),createdAt:m(),updatedAt:m()});N({date:m(),query:m(),page:m(),country:m().nullable().optional(),device:m().nullable().optional(),clicks:S(),impressions:S(),ctr:S(),position:S()});const qT=N({date:m(),clicks:S(),impressions:S(),ctr:S()});N({totals:N({clicks:S(),impressions:S(),ctr:S(),days:S()}),daily:z(qT)});const jf=N({id:m(),url:m(),indexingState:m().nullable().optional(),verdict:m().nullable().optional(),coverageState:m().nullable().optional(),pageFetchState:m().nullable().optional(),robotsTxtState:m().nullable().optional(),crawlTime:m().nullable().optional(),lastCrawlResult:m().nullable().optional(),isMobileFriendly:ce().nullable().optional(),richResults:z(m()).default([]),referringUrls:z(m()).default([]),inspectedAt:m()});ie(["stable","reindexed","deindexed","still-missing","new"]);const UT=N({url:m(),previousState:m().nullable(),currentState:m().nullable(),transitionDate:m()}),$T=N({reason:m(),count:S(),urls:z(jf).default([])});N({summary:N({total:S(),indexed:S(),notIndexed:S(),deindexed:S(),percentage:S()}),lastInspectedAt:m().nullable(),lastSyncedAt:m().nullable(),indexed:z(jf).default([]),notIndexed:z(jf).default([]),deindexed:z(UT).default([]),reasonGroups:z($T).default([])});N({url:m(),type:ie(["URL_UPDATED","URL_DELETED"]),notifiedAt:m()});const VT=N({url:m(),type:ie(["URL_UPDATED","URL_DELETED"]),notifiedAt:m(),status:ie(["success","error"]),error:m().optional()});N({summary:N({total:S().int().nonnegative(),succeeded:S().int().nonnegative(),failed:S().int().nonnegative()}),results:z(VT).default([])});N({date:m(),indexed:S(),notIndexed:S(),reasonBreakdown:yt(m(),S()).default({})});const IT=N({siteUrl:m(),permissionLevel:m()});N({sites:z(IT).default([])});const GT=N({type:m(),submitted:m(),indexed:m()}),PT=N({path:m(),lastSubmitted:m().optional(),isPending:ce().optional(),isSitemapsIndex:ce().optional(),type:m().optional(),lastDownloaded:m().optional(),warnings:m().optional(),errors:m().optional(),contents:z(GT).optional()});N({sitemaps:z(PT).default([])});const HT=N({name:m(),accountName:m().nullable(),type:m().nullable(),role:m().nullable()});N({accounts:z(HT),total:S().int().nonnegative()});const KT=N({id:m(),projectId:m(),accountName:m(),locationName:m(),displayName:m(),primaryCategoryDisplayName:m().nullable(),storefrontAddress:m().nullable(),websiteUri:m().nullable(),placeId:m().nullable(),mapsUri:m().nullable(),selected:ce(),syncedAt:m().nullable(),createdAt:m(),updatedAt:m()});N({locations:z(KT),totalDiscovered:S().int().nonnegative(),totalSelected:S().int().nonnegative()});N({selectAllNew:ce().default(!0),accountName:m().optional(),switchAccount:ce().default(!1)});N({selected:ce()});N({locationNames:z(m()).optional(),daysOfMetrics:S().int().positive().max(540).optional(),monthsOfKeywords:S().int().positive().max(18).optional()});N({runId:m(),status:m()});const ZT=N({locationName:m(),date:m(),metric:m(),value:S().int()});N({metrics:z(ZT),total:S().int().nonnegative()});const QT=N({locationName:m(),periodStart:m(),periodEnd:m(),keyword:m(),valueCount:S().int().nullable(),valueThreshold:S().int().nullable()});N({keywords:z(QT),total:S().int().nonnegative(),thresholdedPct:S().int().min(0).max(100)});const YT=N({locationName:m(),placeActionLinkName:m(),placeActionType:m(),uri:m().nullable(),isPreferred:ce(),providerType:m().nullable()});N({placeActions:z(YT),total:S().int().nonnegative()});const XT=N({locationName:m(),populatedGroupCount:S().int().nonnegative(),syncedAt:m(),attributes:yt(m(),ga())});N({lodging:z(XT),total:S().int().nonnegative()});const JT=N({locationName:m(),placeId:m(),tier:m(),amenities:z(m()),syncedAt:m(),place:yt(m(),ga())});N({places:z(JT),total:S().int().nonnegative()});N({scope:N({locationName:m().nullable(),locationCount:S().int().nonnegative()}),performance:N({totals:yt(m(),S()),recent7d:yt(m(),S()),prior7d:yt(m(),S()),deltaPct:yt(m(),S().nullable())}),freshness:N({dataThroughDate:m().nullable(),latestStoredDate:m().nullable(),pendingDays:S().int().nonnegative()}),timeseries:z(N({date:m(),pending:ce(),metrics:yt(m(),S())})),keywords:N({total:S().int().nonnegative(),thresholdedCount:S().int().nonnegative(),thresholdedPct:S().int().min(0).max(100)}),placeActions:N({total:S().int().nonnegative(),hasReservationCta:ce(),hasBookingCta:ce(),hasDirectMerchantCta:ce()}),lodging:N({lodgingLocationCount:S().int().nonnegative(),populatedLodgingCount:S().int().nonnegative(),emptyLodgingCount:S().int().nonnegative()})});const FT={BUSINESS_DIRECTION_REQUESTS:"Direction requests",WEBSITE_CLICKS:"Website clicks",CALL_CLICKS:"Call clicks",BUSINESS_BOOKINGS:"Bookings",BUSINESS_CONVERSATIONS:"Conversations",BUSINESS_FOOD_ORDERS:"Food orders",BUSINESS_FOOD_MENU_CLICKS:"Food menu clicks",BUSINESS_IMPRESSIONS_DESKTOP_SEARCH:"Search impressions (desktop)",BUSINESS_IMPRESSIONS_MOBILE_SEARCH:"Search impressions (mobile)",BUSINESS_IMPRESSIONS_DESKTOP_MAPS:"Maps impressions (desktop)",BUSINESS_IMPRESSIONS_MOBILE_MAPS:"Maps impressions (mobile)"};function WT(e){const n=e.replace(/^BUSINESS_/,"").split("_").filter(Boolean).map(r=>r.toLowerCase());if(n.length===0)return e;const i=n.join(" ");return i.charAt(0).toUpperCase()+i.slice(1)}function ZM(e){return FT[e]??WT(e)}const eE=["BUSINESS_DIRECTION_REQUESTS","WEBSITE_CLICKS","CALL_CLICKS"],tE=["BUSINESS_IMPRESSIONS_DESKTOP_SEARCH","BUSINESS_IMPRESSIONS_MOBILE_SEARCH","BUSINESS_IMPRESSIONS_DESKTOP_MAPS","BUSINESS_IMPRESSIONS_MOBILE_MAPS"];function QM(e){return eE.includes(e)?"conversion":tE.includes(e)?"reach":"other"}N({id:m(),domain:m(),siteUrl:m().nullable().optional(),createdAt:m(),updatedAt:m()});const af=N({id:m(),url:m(),httpCode:S().nullable().optional(),inIndex:ce().nullable().optional(),lastCrawledDate:m().nullable().optional(),inIndexDate:m().nullable().optional(),inspectedAt:m(),documentSize:S().nullable().optional(),anchorCount:S().nullable().optional(),discoveryDate:m().nullable().optional()});N({summary:N({total:S(),indexed:S(),notIndexed:S(),unknown:S().optional(),percentage:S()}),lastInspectedAt:m().nullable(),indexed:z(af).default([]),notIndexed:z(af).default([]),unknown:z(af).default([]).optional()});N({query:m(),impressions:S(),clicks:S(),ctr:S(),averagePosition:S()});N({date:m(),indexed:S(),notIndexed:S(),unknown:S()});const nE=N({url:m(),status:ie(["success","error"]),submittedAt:m(),error:m().optional()});N({summary:N({total:S().int().nonnegative(),succeeded:S().int().nonnegative(),failed:S().int().nonnegative()}),results:z(nE).default([])});const m0=N({url:m(),verified:ce()});N({sites:z(m0).default([])});N({connected:ce(),domain:m(),siteUrl:m().nullable(),createdAt:m().nullable(),updatedAt:m().nullable()});N({connected:ce(),domain:m(),siteUrl:m().nullable(),availableSites:z(m0).default([])});N({siteUrl:m()});const aE=N({name:m(),alive:ce(),lastUsed:m().nullable()});N({connected:ce(),endpoint:m(),version:m().optional(),browserVersion:m().optional(),targets:z(aE).default([])});const Zs=ie(["live","staging"]);N({projectName:m(),url:m(),stagingUrl:m().optional(),username:m(),defaultEnv:Zs,createdAt:m(),updatedAt:m()});const hb=N({url:m(),reachable:ce(),pageCount:S().nullable().optional(),version:m().nullable().optional(),error:m().nullable().optional(),plugins:z(m()).optional(),authenticatedUser:N({id:S(),slug:m()}).nullable().optional()});N({connected:ce(),projectName:m(),defaultEnv:Zs,live:hb.nullable(),staging:hb.nullable(),adminUrl:m().nullable().optional()});const iE=N({id:S(),slug:m(),title:m(),status:m(),modifiedAt:m().nullable().optional(),link:m().nullable().optional()}),h0=N({title:m().nullable(),description:m().nullable(),noindex:ce().nullable(),writable:ce().default(!1),writeTargets:z(m()).default([])}),sE=N({type:m(),json:yt(m(),ga())}),rE=iE.extend({env:Zs,content:m(),seo:h0,schemaBlocks:z(sE).default([])}),gb=rE.extend({contentHash:m(),contentSnippet:m()}),g0=N({manualRequired:Vt(!0),targetUrl:m(),adminUrl:m().nullable().optional(),content:m(),nextSteps:z(m()).default([])}),oE=N({slug:m(),severity:ie(["high","medium","low"]),code:ie(["noindex","missing-seo-title","missing-meta-description","missing-schema","thin-content"]),message:m()});N({slug:m(),title:m(),status:m(),wordCount:S(),seo:h0,schemaPresent:ce(),issues:z(oE).default([])});const lE=N({slug:m(),status:ie(["applied","skipped","manual"]),error:m().optional(),manualAssist:g0.optional()});N({env:Zs,strategy:ie(["plugin","manual"]),results:z(lE)});const cE=N({slug:m(),status:ie(["deployed","stripped","skipped","failed"]),schemasInjected:z(m()).optional(),manualAssist:g0.optional(),error:m().optional()});N({env:Zs,results:z(cE)});const uE=N({slug:m(),title:m(),canonrySchemas:z(m()),thirdPartySchemas:z(m()),hasCanonrySchema:ce()});N({env:Zs,pages:z(uE)});const dE=N({name:m(),status:ie(["completed","skipped","failed"]),summary:m().optional(),error:m().optional()});N({projectName:m(),steps:z(dE)});N({slug:m(),live:gb,staging:gb,hasDifferences:ce(),differences:N({title:ce(),slug:ce(),content:ce(),seoTitle:ce(),seoDescription:ce(),noindex:ce(),schema:ce()})});const fE=N({name:m(),displayName:m().optional(),keyUrl:m().optional(),modelHint:m().optional(),model:m().optional(),defaultModel:m().optional(),configured:ce(),quota:kT.optional(),vertexConfigured:ce().optional()}),yb=N({configured:ce()});N({providers:z(fE).default([]),google:yb,bing:yb});const Qs=ie(["queued","running","completed","partial","failed","cancelled"]),Ht=Qs.enum,y0=ie(["answer-visibility","site-audit","gsc-sync","inspect-sitemap","ga-sync","bing-inspect","bing-inspect-sitemap","backlink-extract","traffic-sync","aeo-discover-seed","aeo-discover-probe","gbp-sync","ads-sync"]),ke=y0.enum,b0=ie(["manual","scheduled","config-apply","backfill","probe"]),Bs=b0.enum,ki=ie(["cited","not-cited"]),oc=ki.enum,lc=ie(["visible","not-visible"]);lc.enum;const cc=ie(["mentioned","not-mentioned"]);cc.enum;const v0=ie(["new","cited","lost","emerging","not-cited"]);v0.enum;const pE=ie(["new","mentioned","lost","emerging","not-mentioned"]);pE.enum;const mE=ie([Bs.manual,Bs.probe]);N({kind:Vt(ke["answer-visibility"]).optional(),trigger:mE.optional(),providers:z(ya).optional(),queries:z(m().min(1)).min(1).optional(),location:m().min(1).optional(),allLocations:ce().optional(),noLocation:ce().optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const hE=N({message:m(),raw:ga().optional()}),gE=N({message:m().optional(),providers:yt(m(),hE).optional()}),yE=N({id:m(),projectId:m(),kind:y0,status:Qs,trigger:b0.default("manual"),location:m().nullable().optional(),queries:z(m()).nullable().optional(),startedAt:m().nullable().optional(),finishedAt:m().nullable().optional(),error:gE.nullable().optional(),createdAt:m()});function ep(e){if(e.providers){const n=Object.entries(e.providers);if(n.length===1){const[i,r]=n[0];return`${i}: ${r.message}`}if(n.length>1)return n.map(([i,r])=>`${i}: ${r.message}`).join(" • ")}return e.message??"Run failed."}const S0=N({uri:m(),title:m()}),x0=N({id:m(),runId:m(),queryId:m(),query:m().optional(),provider:ya,citationState:ki,answerMentioned:ce().optional(),visibilityState:lc.optional(),mentionState:cc.optional(),transition:v0.optional(),answerText:m().nullable().optional(),citedDomains:z(m()).default([]),competitorOverlap:z(m()).default([]),recommendedCompetitors:z(m()).default([]),matchedTerms:z(m()).default([]),groundingSources:z(S0).default([]),searchQueries:z(m()).default([]),model:m().nullable().optional(),location:m().nullable().optional(),createdAt:m()});N({snapshots:z(x0),total:S().int().nonnegative()});const bE=N({queryId:m().nullable(),query:m().nullable(),run1State:ki.nullable(),run2State:ki.nullable(),run1AnswerMentioned:ce().nullable(),run2AnswerMentioned:ce().nullable(),run1VisibilityState:lc.nullable(),run2VisibilityState:lc.nullable(),run1MentionState:cc.nullable().optional(),run2MentionState:cc.nullable().optional(),changed:ce(),visibilityChanged:ce()});N({run1:m(),run2:m(),diff:z(bE)});const vE=yE.extend({snapshots:z(x0).optional()});N({totalRuns:S().int().nonnegative(),run:vE.nullable()});N({id:m(),projectId:m().nullable().optional(),actor:m(),action:m(),entityType:m(),entityId:m().nullable().optional(),diff:ga().optional(),createdAt:m()});const SE=ie(["yes","no","unknown","not-mentioned"]),bb=z(m().min(1));N({companyName:m().min(1),domain:m().min(1),queries:bb.optional(),phrases:bb.optional(),competitors:z(m().min(1)).optional().default([])}).superRefine((e,n)=>{e.queries!==void 0&&e.phrases!==void 0&&n.addIssue({code:"custom",message:"Use queries; phrases is accepted only as a legacy alias when queries is omitted",path:["phrases"]})});const xE=N({name:m(),count:S().int().nonnegative()}),wE=N({id:m(),name:m(),weight:S(),score:S(),findings:z(N({type:m(),message:m()})).default([]),recommendations:z(m()).default([])}),jE=N({url:m(),finalUrl:m(),auditedAt:m(),overallScore:S(),summary:m(),factors:z(wE).default([])}),NE=N({industry:m(),summary:m(),services:z(m()).default([]),categoryTerms:z(m()).default([])}),kE=N({provider:m(),displayName:m(),model:m().nullable().optional(),mentioned:ce(),cited:ce(),describedAccurately:SE,accuracyNotes:m().nullable().optional(),incorrectClaims:z(m()).default([]),recommendedCompetitors:z(m()).default([]),citedDomains:z(m()).default([]),groundingSources:z(S0).default([]),searchQueries:z(m()).default([]),answerText:m(),error:m().nullable().optional()}),AE=N({query:m(),providerResults:z(kE).default([])}),_E=N({totalQueries:S().int().nonnegative(),totalProviders:S().int().nonnegative(),totalComparisons:S().int().nonnegative(),mentionCount:S().int().nonnegative(),citationCount:S().int().nonnegative(),topCompetitors:z(xE).default([]),visibilityGap:m(),whatThisMeans:z(m()).default([]),recommendedActions:z(m()).default([])});N({companyName:m(),domain:m(),homepageUrl:m(),generatedAt:m(),queries:z(m()).default([]),competitors:z(m()).default([]),profile:NE,audit:jE,queryResults:z(AE).default([]),summary:_E});const w0=ie(["pass","partial","fail"]);w0.enum;const j0=ie(["up","down","flat"]);j0.enum;const zE=N({id:m(),name:m(),weight:S(),avgScore:S(),status:w0,pagesPassing:S().int().nonnegative(),pagesPartial:S().int().nonnegative(),pagesFailing:S().int().nonnegative()}),CE=N({factorId:m(),factorName:m(),avgScore:S(),affectedPages:S().int().nonnegative(),totalPages:S().int().nonnegative(),affectedPct:S().int().nonnegative(),topRecommendations:z(m()).default([])});N({project:m(),hasData:ce(),runId:m().nullable(),runStatus:Qs.nullable(),sitemapUrl:m().nullable(),auditedAt:m().nullable(),aggregateScore:S(),pagesDiscovered:S().int().nonnegative(),pagesAudited:S().int().nonnegative(),pagesSkipped:S().int().nonnegative(),pagesErrored:S().int().nonnegative(),deltaScore:S().nullable(),trend:j0.nullable(),previousScore:S().nullable(),previousAuditedAt:m().nullable(),factors:z(zE).default([]),crossCuttingIssues:z(CE).default([]),prioritizedFixes:z(m()).default([])});const TE=N({id:m(),name:m(),weight:S(),score:S()}),EE=N({url:m(),overallScore:S(),status:ie(["success","error"]),error:m().nullable().optional(),factors:z(TE).default([])});N({project:m(),runId:m().nullable(),auditedAt:m().nullable(),total:S().int().nonnegative(),pages:z(EE).default([])});const OE=N({runId:m(),auditedAt:m(),aggregateScore:S(),pagesAudited:S().int().nonnegative()});N({project:m(),points:z(OE).default([])});N({sitemapUrl:m().url().optional(),limit:S().int().positive().max(2e3).optional()});N({runId:m(),status:Qs});const tp=ie(["answer-visibility","traffic-sync","gbp-sync","data-refresh","backlinks-sync","site-audit","ads-sync"]);tp.enum;N({id:m(),projectId:m(),kind:tp,cronExpr:m(),preset:m().nullable().optional(),timezone:m().default("UTC"),enabled:ce().default(!0),providers:z(ya).default([]),sourceId:m().nullable().optional(),lastRunAt:m().nullable().optional(),nextRunAt:m().nullable().optional(),createdAt:m(),updatedAt:m()});N({kind:tp.optional(),preset:m().optional(),cron:m().optional(),timezone:m().optional().default("UTC"),enabled:ce().optional().default(!0),providers:z(ya).optional().default([]),sourceId:m().optional()}).refine(e=>e.preset&&!e.cron||!e.preset&&e.cron,{message:'Exactly one of "preset" or "cron" must be provided'});const np=ie(["competitor","directory","social","forum","news","reference","blog","ecommerce","video","academic","other"]);np.enum;const ap=ie(["cited","aspirational","wasted-surface"]),vb=ap.enum;vb.cited,vb.aspirational;const Sc=ie(["direct-competitor","ota-aggregator","editorial-media","other","unknown"]),DE=Sc.enum;DE["direct-competitor"];const ip=ie(["queued","seeding","probing","completed","failed"]);ip.enum;const N0=N({domain:m().min(1),hits:S().int().positive(),competitorType:Sc.default("unknown")}),RE=N({id:m(),sessionId:m(),projectId:m(),query:m(),bucket:ap.nullable().default(null),citationState:ki,citedDomains:z(m()).default([]),createdAt:m()}),BE=N({id:m(),projectId:m(),status:ip,icpDescription:m().nullable().optional(),seedProvider:m().nullable().optional(),seedCountRaw:S().int().nullable().optional(),seedCount:S().int().nullable().optional(),dedupThreshold:S().nullable().optional(),probeCount:S().int().nullable().optional(),citedCount:S().int().nullable().default(null),aspirationalCount:S().int().nullable().default(null),wastedCount:S().int().nullable().default(null),competitorMap:z(N0).default([]),warning:m().nullable().optional(),error:m().nullable().optional(),startedAt:m().nullable().optional(),finishedAt:m().nullable().optional(),createdAt:m()});BE.extend({probes:z(RE).default([])});const ME=500;N({icpDescription:m().min(1).optional(),dedupThreshold:S().min(0).max(1).optional(),maxProbes:S().int().positive().max(ME).optional(),locations:z(m().min(1)).optional()});N({buckets:z(ap).min(1).optional(),includeCompetitors:ce().optional(),competitorTypes:z(Sc).min(1).optional()});N({sessionId:m(),projectId:m(),status:ip,queriesByBucket:N({cited:z(m()),aspirational:z(m()),"wasted-surface":z(m())}),suggestedCompetitors:z(N0)});N({sessionId:m(),projectId:m(),promoted:N({queries:z(m()),competitors:z(m())}),skipped:N({queries:z(m()),competitors:z(m())})});l0([Vt("cli"),m().regex(/^discovery:.+$/)]);const sp=ie(["own","direct-competitor","ota-aggregator","editorial-media","other"]);sp.enum;const k0=ie(["7d","30d","90d","all"]),Sb=ie(["improving","declining","stable"]),LE=ie(["mentioned","cited"]);LE.enum;const Nf=N({citationRate:S(),cited:S().int(),total:S().int(),mentionRate:S(),mentionedCount:S().int()}),qE=N({startDate:m(),endDate:m(),citationRate:S(),cited:S().int(),total:S().int(),queryCount:S().int(),mentionRate:S(),mentionedCount:S().int(),byProvider:yt(m(),Nf)}),UE=N({date:m(),delta:S().int(),label:m()});N({window:k0,buckets:z(qE),overall:Nf,byProvider:yt(m(),Nf),trend:Sb,mentionTrend:Sb,queryChanges:z(UE)});const xb=N({category:np,label:m(),count:S().int(),percentage:S(),topDomains:z(N({domain:m(),count:S().int()}))}),$E=N({domain:m(),count:S().int(),percentage:S(),category:np,label:m(),surfaceClass:sp}),VE=N({surfaceClass:sp,label:m(),count:S().int(),percentage:S(),domainCount:S().int()}),wb=N({totalCitedSlots:S().int(),domainTotal:S().int(),entries:z($E),truncatedDomainCount:S().int(),truncatedCitedSlots:S().int(),bySurfaceClass:z(VE)});N({overall:z(xb),byQuery:yt(m(),z(xb)),ranked:wb,byProvider:yt(m(),wb),runId:m(),window:k0,limit:S().int().nullable()});N({id:m(),projectId:m(),propertyId:m(),clientEmail:m(),connected:ce(),createdAt:m(),updatedAt:m()});N({date:m(),landingPage:m(),sessions:S(),organicSessions:S(),users:S()});const rp=ie(["session","first_user","manual_utm"]),IE=N({source:m(),medium:m(),sessions:S(),users:S(),sourceDimension:rp}),GE=N({source:m(),medium:m(),sourceDimension:rp,landingPage:m(),sessions:S(),users:S()}),PE=N({source:m(),medium:m(),sessions:S(),users:S(),channelGroup:m()}),Jr=N({sessions:S(),sharePct:S(),sharePctDisplay:m()}),HE=N({organic:Jr,social:Jr,direct:Jr,ai:Jr,other:Jr});N({totalSessions:S(),totalOrganicSessions:S(),totalDirectSessions:S(),totalUsers:S(),topPages:z(N({landingPage:m(),sessions:S(),organicSessions:S(),directSessions:S(),users:S()})),aiReferrals:z(IE),aiReferralLandingPages:z(GE),aiSessionsDeduped:S(),aiUsersDeduped:S(),aiSessionsBySession:S(),aiUsersBySession:S(),socialReferrals:z(PE),socialSessions:S(),socialUsers:S(),channelBreakdown:HE,organicSharePct:S(),aiSharePct:S(),aiSharePctBySession:S(),directSharePct:S(),socialSharePct:S(),organicSharePctDisplay:m(),aiSharePctDisplay:m(),aiSharePctBySessionDisplay:m(),directSharePctDisplay:m(),socialSharePctDisplay:m(),otherSessions:S(),otherSharePct:S(),otherSharePctDisplay:m(),lastSyncedAt:m().nullable()});N({connected:ce(),propertyId:m().nullable(),clientEmail:m().nullable(),authMethod:ie(["service-account","oauth"]).nullable(),lastSyncedAt:m().nullable(),createdAt:m().nullable().optional(),updatedAt:m().nullable().optional()});N({synced:ce(),rowCount:S().int().nonnegative(),aiReferralCount:S().int().nonnegative(),socialReferralCount:S().int().nonnegative(),days:S().int().nonnegative(),syncedAt:m(),syncedComponents:z(m()).optional()});N({date:m(),source:m(),medium:m(),landingPage:m(),sessions:S(),users:S(),sourceDimension:rp});N({date:m(),source:m(),medium:m(),sessions:S(),users:S(),channelGroup:m()});N({date:m(),sessions:S(),organicSessions:S(),users:S()});function uc(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}const A0=ie(["claude","openai","gemini","zai"]),KE=N({id:A0,label:m(),defaultModel:m(),configured:ce(),keySource:ie(["config","env"]).nullable()});N({providers:z(KE).default([]),defaultProvider:A0.nullable()});const ZE=ie(["aero","user","compaction"]);ZE.enum;const _0=128;N({key:m().min(1).max(_0),value:m().min(1)});N({key:m().min(1).max(_0)});const Ys=ie(["commoncrawl","bing-webmaster"]);Ys.enum;const op=ie(["queued","downloading","querying","ready","failed"]);op.enum;N({id:m(),release:m(),status:op,phaseDetail:m().nullable().optional(),vertexPath:m().nullable().optional(),edgesPath:m().nullable().optional(),vertexSha256:m().nullable().optional(),edgesSha256:m().nullable().optional(),vertexBytes:S().int().nullable().optional(),edgesBytes:S().int().nullable().optional(),projectsProcessed:S().int().nullable().optional(),domainsDiscovered:S().int().nullable().optional(),downloadStartedAt:m().nullable().optional(),downloadFinishedAt:m().nullable().optional(),queryStartedAt:m().nullable().optional(),queryFinishedAt:m().nullable().optional(),error:m().nullable().optional(),createdAt:m(),updatedAt:m()});const QE=N({linkingDomain:m(),numHosts:S().int(),source:Ys}),YE=N({projectId:m(),release:m(),targetDomain:m(),totalLinkingDomains:S().int(),totalHosts:S().int(),top10HostsShare:m(),queriedAt:m(),source:Ys,excludedLinkingDomains:S().int().optional(),excludedHosts:S().int().optional()});N({source:Ys,summary:YE.nullable(),total:S().int(),rows:z(QE)});N({release:m(),totalLinkingDomains:S().int(),totalHosts:S().int(),top10HostsShare:m(),queriedAt:m(),source:Ys});const XE=N({source:Ys,connected:ce(),hasData:ce(),latestRelease:m().nullable(),totalLinkingDomains:S().int(),lastSyncedAt:m().nullable()});N({projectId:m(),targetDomain:m(),sources:z(XE),anyConnected:ce(),anyData:ce()});N({duckdbInstalled:ce(),duckdbVersion:m().nullable().optional(),duckdbSpec:m(),pluginDir:m()});N({installed:ce(),version:m(),path:m(),alreadyPresent:ce()});N({release:m(),vertexUrl:m(),edgesUrl:m(),vertexBytes:S().int().nullable(),edgesBytes:S().int().nullable(),lastModified:m().nullable()});N({release:m(),syncStatus:op.nullable(),bytes:S().int(),lastUsedAt:m().nullable()});ie(["snapshot","insight"]);const JE=N({kind:Vt("snapshot"),id:m(),runId:m(),query:m(),provider:m(),model:m().nullable(),citationState:ki,matchedField:ie(["answerText","citedDomains","searchQueries","query"]),snippet:m(),createdAt:m()}),FE=N({kind:Vt("insight"),id:m(),runId:m().nullable(),type:ie(["regression","gain","opportunity","first-citation","provider-pickup","persistent-gap","competitor-gained","competitor-lost","gbp-lodging-gap","gbp-listing-discrepancy","gbp-cta-gap","gbp-metric-drop","gbp-keyword-drop"]),severity:ie(["critical","high","medium","low"]),title:m(),query:m(),provider:m(),matchedField:ie(["title","query","recommendation","cause"]),snippet:m(),dismissed:ce(),createdAt:m()}),WE=c0("kind",[JE,FE]);N({query:m(),totalHits:S().int().nonnegative(),truncated:ce(),hits:z(WE)});const z0=ie(["create","expand","refresh","add-schema"]);z0.enum;function YM(e){switch(e){case"create":return"Create";case"expand":return"Expand";case"refresh":return"Refresh";case"add-schema":return"Add schema"}}const C0=ie(["gsc","competitor-evidence","both"]);C0.enum;const T0=ie(["high","medium","low"]);T0.enum;const eO=ie(["blog-post","comparison","listicle","how-to","guide","glossary"]);eO.enum;const E0=ie(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);E0.enum;const lp=ie(["ownable","ceded"]);lp.enum;const tO=N({url:m(),gscImpressions:S().nonnegative(),gscClicks:S().nonnegative(),gscAvgPosition:S().nonnegative().nullable(),organicSessions:S().nonnegative()}),nO=N({domain:m(),url:m(),title:m(),citationCount:S().int().nonnegative()}),aO=N({demand:S(),competitor:S(),absence:S(),gapSeverity:S()}),iO=N({actionId:m(),state:E0,lastUpdated:m()}),O0=N({targetRef:m(),query:m(),action:z0,ourBestPage:tO.nullable(),winningCompetitor:nO.nullable(),score:S(),scoreBreakdown:aO,drivers:z(m()),demandSource:C0,actionConfidence:T0,existingAction:iO.nullable(),winnabilityClass:lp,winnability:S().min(0).max(1).nullable()});N({targets:z(O0),contextMetrics:N({totalAiReferralSessions:S().int().nonnegative(),latestRunId:m(),runTimestamp:m()})});const sO=N({targetRef:m(),addressedUrl:m().nullable(),note:m().nullable(),dismissedAt:m()});N({dismissals:z(sO)});N({targetRef:m().min(1),addressedUrl:m().url().optional(),note:m().max(500).optional()});N({targetRef:m(),promptVersion:m(),provider:m(),model:m(),responseText:m(),costMillicents:S().int().nonnegative(),generatedAt:m()});N({provider:m().optional(),model:m().optional(),forceRefresh:ce().optional()});const rO=N({targetQuery:m().trim().min(1),winnabilityClass:lp,angle:m().trim().min(1),whyWinnable:m().trim().min(1),schemaHookup:m().trim().min(1),controllableSurfaceRationale:m().trim().min(1)});N({targetRef:m(),promptVersion:m(),provider:m(),model:m(),brief:rO,costMillicents:S().int().nonnegative(),generatedAt:m()});const oO=N({domain:m(),competitorType:Sc,hits:S().int().nonnegative(),updatedAt:m()});N({classifications:z(oO)});const lO=N({uri:m(),title:m(),domain:m(),isOurDomain:ce(),isCompetitor:ce(),citationCount:S().int().nonnegative(),providers:z(ya)}),D0=N({query:m(),groundingSources:z(lO)});N({sources:z(D0),latestRunId:m()});const R0=N({query:m(),competitorDomains:z(m()),competitorCount:S().int().nonnegative(),missRate:S().min(0).max(1),lastSeenInRunId:m()});N({gaps:z(R0),latestRunId:m()});const B0=ie(["ok","warn","fail","skipped"]);B0.enum;const cp=ie(["global","project"]);cp.enum;const M0=ie(["auth","config","providers","integrations","database","schedules","agent"]);M0.enum;const cO=N({id:m(),category:M0,scope:cp,title:m(),status:B0,code:m().describe('Stable machine-readable code (e.g. "google.token.refresh-failed"). Use this for filtering and remediation logic.'),summary:m(),remediation:m().nullable().optional().describe('Operator-facing next step. Null when status is "ok" or no specific remediation applies.'),details:yt(m(),ga()).optional().describe("Structured context — principal email, redirect URI, missing scopes, etc. Stable per check id."),durationMs:S().int().nonnegative().describe("How long the check took to execute.")});N({scope:cp,project:m().nullable().describe('Project name when scope is "project", null otherwise.'),generatedAt:m().describe("ISO-8601 timestamp when this doctor run started."),durationMs:S().int().nonnegative(),summary:N({total:S().int().nonnegative(),ok:S().int().nonnegative(),warn:S().int().nonnegative(),fail:S().int().nonnegative(),skipped:S().int().nonnegative()}),checks:z(cO)});const uO=N({provider:m(),citationState:ki,cited:ce(),mentioned:ce(),runId:m(),runCreatedAt:m()}),dO=N({queryId:m(),query:m(),providers:z(uO),citedCount:S().int().nonnegative(),mentionedCount:S().int().nonnegative(),totalProviders:S().int().nonnegative()}),fO=N({queryId:m(),query:m(),provider:m(),citingCompetitors:z(m()),runId:m(),runCreatedAt:m()}),pO=N({providersConfigured:S().int().nonnegative(),providersCiting:S().int().nonnegative(),providersMentioning:S().int().nonnegative(),totalQueries:S().int().nonnegative(),queriesCitedAndMentioned:S().int().nonnegative(),queriesCitedOnly:S().int().nonnegative(),queriesMentionedOnly:S().int().nonnegative(),queriesInvisible:S().int().nonnegative(),latestRunId:m().nullable(),latestRunAt:m().nullable()});N({summary:pO,byQuery:z(dO),competitorGaps:z(fO),status:ie(["ready","no-data"]),reason:ie(["no-runs-yet","no-queries"]).optional()});const mO=ie(["prompt","request-param","browser-geo","ignored"]),hO=N({label:m(),city:m(),region:m(),country:m(),otherConfiguredLabels:z(m())}),gO=N({provider:m(),treatment:mO,description:m()}),yO=N({generatedAt:m(),project:N({id:m(),name:m(),displayName:m(),canonicalDomain:m(),country:m(),language:m()}),location:hO.nullable(),providerLocationHandling:z(gO),periodStart:m().nullable(),periodEnd:m().nullable()}),bO=N({citationRate:S(),citedQueryCount:S(),totalQueryCount:S(),mentionRate:S(),mentionedQueryCount:S(),trend:ie(["up","down","flat","unknown"]),queryCount:S(),competitorCount:S(),providerCount:S(),gsc:N({clicks:S(),impressions:S(),ctr:S(),avgPosition:S(),periodStart:m(),periodEnd:m()}).nullable(),ga:N({sessions:S(),users:S(),periodStart:m(),periodEnd:m()}).nullable(),findings:z(N({title:m(),detail:m(),tone:ie(["positive","caution","negative","neutral"])}))}),vO=N({citationState:ie(["cited","not-cited","pending"]),answerMentioned:ce().nullable(),model:m().nullable()}),SO=N({queries:z(m()),providers:z(m()),matrix:z(z(vO.nullable())),providerRates:z(N({provider:m(),citedCount:S(),totalCount:S(),citationRate:S()}))}),xO=N({domain:m(),citationCount:S(),totalCount:S(),pressureLabel:ie(["High","Moderate","Low","None"]),citedQueries:z(m()),sharePct:S(),theirCitedPages:z(N({url:m(),citedFor:z(m())}))}),wO=N({projectCitationCount:S(),competitors:z(xO)}),jO=N({domain:m(),mentionCount:S(),totalCount:S(),pressureLabel:ie(["High","Moderate","Low","None"]),mentionedQueries:z(m()),sharePct:S()}),NO=N({projectMentionCount:S(),totalAnswerSnapshots:S(),competitors:z(jO)}),kO=N({category:m(),label:m(),count:S(),sharePct:S()}),AO=N({categories:z(kO),topDomains:z(N({domain:m(),count:S(),isCompetitor:ce()}))}),_O=N({query:m(),clicks:S(),impressions:S(),ctr:S(),avgPosition:S(),category:ie(["brand","lead-gen","industry","other"])}),zO=N({periodStart:m(),periodEnd:m(),totalClicks:S(),totalImpressions:S(),ctr:S(),avgPosition:S(),topQueries:z(_O),categoryBreakdown:z(N({category:ie(["brand","lead-gen","industry","other"]),clicks:S(),impressions:S(),sharePct:S()})),trend:z(N({date:m(),clicks:S(),impressions:S()})),trackedButNoGsc:z(m()),gscButNotTracked:z(m())}),CO=N({totalSessions:S(),totalUsers:S(),totalOrganicSessions:S(),periodStart:m(),periodEnd:m(),topLandingPages:z(N({page:m(),sessions:S(),users:S(),organicSessions:S()})),channelBreakdown:z(N({channel:m(),sessions:S(),sharePct:S()}))}),TO=N({totalSessions:S(),organicSessions:S(),paidSessions:S(),channels:z(N({channelGroup:m(),sessions:S(),sharePct:S()})),topCampaigns:z(N({source:m(),medium:m(),sessions:S()}))}),EO=N({totalSessions:S(),totalUsers:S(),bySource:z(N({source:m(),sessions:S(),users:S(),sharePct:S()})),trend:z(N({date:m(),sessions:S()})),topLandingPages:z(N({page:m(),sessions:S(),users:S()}))}),OO=N({windowStart:m(),windowEnd:m(),hasData:ce(),verifiedCrawlerHits:N({current:S(),prior:S(),deltaPct:S().nullable()}),unverifiedCrawlerHits:N({current:S(),prior:S(),deltaPct:S().nullable()}),aiUserFetchHits:N({current:S(),prior:S(),deltaPct:S().nullable()}),referralArrivals:N({current:S(),prior:S(),deltaPct:S().nullable()}),byOperator:z(N({operator:m(),verifiedHits:S(),unverifiedHits:S(),userFetchHits:S(),referralArrivals:S(),deltaPct:S().nullable()})),topCrawledPaths:z(N({path:m(),verifiedHits:S(),distinctOperators:S()})),referralProducts:z(N({product:m(),arrivals:S(),distinctLandingPaths:S()})),dailyTrend:z(N({date:m(),verifiedCrawlerHits:S(),userFetchHits:S(),referralArrivals:S()})),topReferralLandingPaths:z(N({path:m(),arrivals:S(),distinctProducts:S()}))}),DO=N({provider:ie(["google","bing"]).nullable(),total:S(),indexed:S(),notIndexed:S(),deindexed:S(),unknown:S(),indexedPct:S()}),RO=N({runId:m(),date:m(),citationRate:S(),citedQueryCount:S(),totalQueryCount:S(),mentionRate:S(),mentionedQueryCount:S(),providerRates:z(N({provider:m(),citationRate:S()}))}),kf=N({id:m(),type:ie(["regression","gain","opportunity"]),severity:ie(["critical","high","medium","low"]),title:m(),query:m(),provider:m(),recommendation:m().nullable(),createdAt:m(),instanceCount:S()}),BO=N({horizon:ie(["immediate","short-term","medium-term"]),title:m(),rationale:m()}),Fr=N({current:S(),prior:S(),deltaAbs:S(),direction:ie(["up","down","flat"]),window:S().optional()}),MO=N({provider:m(),current:S(),prior:S(),deltaAbs:S(),direction:ie(["up","down","flat"])}),LO=N({enoughHistory:ce(),headline:m(),citationRate:Fr.nullable(),mentionRate:Fr.nullable(),citedQueryCount:Fr.nullable(),gscClicksDelta:Fr.nullable(),aiReferralsDelta:Fr.nullable(),providerMovements:z(MO),wins:z(kf),regressions:z(kf)});ie(["agency","client"]);const qO=ie(["agency","client","both"]),UO=ie(["immediate","short-term","medium-term"]),$O=ie(["high","medium","low"]);ie(["positive","caution","negative","neutral"]);const VO=ie(["content","competitors","provider","search-demand","indexing","location","monitoring"]),up=N({audience:qO,priority:S(),horizon:UO,category:VO,title:m(),action:m(),why:z(m()),evidence:z(m()),successMetric:m(),confidence:$O,targetRef:m().optional()}),IO=N({headline:m(),overview:m(),actionItems:z(up),confidenceNotes:z(m())}),GO=N({title:m(),detail:m(),severity:ie(["positive","caution","negative","neutral"]),evidence:z(m())}),PO=N({priorities:z(up),diagnostics:z(GO)});function XM(e){return e.horizon==="immediate"?"negative":e.confidence==="high"?"caution":e.confidence==="low"?"neutral":"caution"}function JM(e){switch(e){case"critical":return"Critical";case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}function FM(e){switch(e){case"immediate":return"Immediate";case"short-term":return"Short term";case"medium-term":return"Medium term"}}function WM(e){switch(e){case"content":return"Content";case"competitors":return"Competitors";case"provider":return"Provider";case"search-demand":return"Search demand";case"indexing":return"Indexing";case"location":return"Location";case"monitoring":return"Monitoring"}}function eL(e){switch(e){case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}N({meta:yO,executiveSummary:bO,citationScorecard:SO,competitorLandscape:wO,mentionLandscape:NO,aiSourceOrigin:AO,gsc:zO.nullable(),ga:CO.nullable(),socialReferrals:TO.nullable(),aiReferrals:EO.nullable(),serverActivity:OO.nullable(),indexingHealth:DO.nullable(),citationsTrend:z(RO),whatsChanged:LO,insights:z(kf),recommendedNextSteps:z(BO),actionPlan:z(up),clientSummary:IO,agencyDiagnostics:PO,contentOpportunities:z(O0),contentGaps:z(R0),groundingSources:z(D0)});const HO=ie(["claude","codex"]);HO.enum;const KO=ie(["claude","codex","all"]);KO.enum;const dp=ie(["cloud-run","wordpress","cloudflare","vercel","generic-log"]);dp.enum;const ZO=ie(["raw-request-events","aggregate-request-metrics","request-url","status-code","user-agent","remote-ip","referer","cursor-pull"]);ZO.enum;const QO=ie(["raw-request","aggregate-bucket"]),YO=QO.enum,XO=ie(["observed","provider-aggregated","inferred"]),JO=XO.enum,FO=N({type:m().nullable(),labels:yt(m(),m())}),WO=N({sourceType:dp,evidenceKind:Vt(YO["raw-request"]),confidence:Vt(JO.observed),eventId:m().min(1),observedAt:m().min(1),method:m().nullable(),requestUrl:m().nullable(),host:m().nullable(),path:m().min(1),queryString:m().nullable(),status:S().int().nullable(),userAgent:m().nullable(),remoteIp:m().nullable(),referer:m().nullable(),latencyMs:S().nullable(),requestSizeBytes:S().int().nullable(),responseSizeBytes:S().int().nullable(),providerResource:FO,providerLabels:yt(m(),m())});N({events:z(WO),rawEntryCount:S().int().nonnegative(),skippedEntryCount:S().int().nonnegative(),nextPageToken:m().optional(),filter:m()});const L0=ie(["connected","paused","error","archived"]),tL=L0.enum,q0=ie(["oauth","service-account"]);q0.enum;const e4=ie(["verified","claimed_unverified","unknown_ai_like"]),nL=e4.enum;N({gcpProjectId:m().min(1),serviceName:m().nullable().optional(),location:m().nullable().optional(),authMode:q0});N({baseUrl:m().url(),username:m().min(1)});const fp=ie(["production","preview"]);fp.enum;N({projectId:m().min(1),teamId:m().min(1),environment:fp});const U0=N({id:m(),projectId:m(),sourceType:dp,displayName:m(),status:L0,lastSyncedAt:m().nullable(),lastCursor:m().nullable(),lastError:m().nullable(),archivedAt:m().nullable(),config:yt(m(),ga()),createdAt:m(),updatedAt:m()});N({gcpProjectId:m().min(1),serviceName:m().min(1).optional(),location:m().min(1).optional(),displayName:m().min(1).optional(),keyJson:m().optional()});N({baseUrl:m().url(),username:m().min(1),applicationPassword:m().min(1),displayName:m().min(1).optional()});N({projectId:m().min(1),teamId:m().min(1),token:m().min(1),environment:fp.optional(),displayName:m().min(1).optional()});N({sourceId:m(),runId:m(),syncedAt:m(),pulledEvents:S().int().nonnegative(),selfTrafficExcluded:S().int().nonnegative(),crawlerHits:S().int().nonnegative(),aiUserFetchHits:S().int().nonnegative(),aiReferralHits:S().int().nonnegative(),unknownHits:S().int().nonnegative(),crawlerBucketRows:S().int().nonnegative(),aiUserFetchBucketRows:S().int().nonnegative(),aiReferralBucketRows:S().int().nonnegative(),sampleRows:S().int().nonnegative(),windowStart:m(),windowEnd:m()});N({days:S().int().positive().optional()});N({advanceToNow:Vt(!0)});N({sourceId:m(),runId:m(),status:Qs,windowStart:m(),windowEnd:m(),daysRequested:S().int().positive(),daysApplied:S().int().positive()});const t4=N({crawlerHits:S().int().nonnegative(),aiUserFetchHits:S().int().nonnegative(),aiReferralHits:S().int().nonnegative(),sampleCount:S().int().nonnegative()});N({sources:z(U0)});const n4=U0.extend({totals24h:t4,latestRun:N({runId:m(),status:Qs,startedAt:m().nullable(),finishedAt:m().nullable(),error:m().nullable()}).nullable()});N({sources:z(n4)});const a4=ie(["crawler","ai-user-fetch","ai-referral"]),pp=a4.enum,i4=N({kind:Vt(pp.crawler),sourceId:m(),tsHour:m(),botId:m(),operator:m(),verificationStatus:m(),pathNormalized:m(),status:S().int(),hits:S().int().nonnegative()}),s4=N({kind:Vt(pp["ai-user-fetch"]),sourceId:m(),tsHour:m(),botId:m(),operator:m(),verificationStatus:m(),pathNormalized:m(),status:S().int(),hits:S().int().nonnegative()}),r4=N({kind:Vt(pp["ai-referral"]),sourceId:m(),tsHour:m(),product:m(),operator:m(),sourceDomain:m(),evidenceType:m(),landingPathNormalized:m(),status:S().int(),hits:S().int().nonnegative()}),o4=c0("kind",[i4,s4,r4]);N({windowStart:m(),windowEnd:m(),totals:N({crawlerHits:S().int().nonnegative(),aiUserFetchHits:S().int().nonnegative(),aiReferralHits:S().int().nonnegative()}),events:z(o4)});N({apiKey:m().min(1)});N({connected:ce(),adAccountId:m().nullable().optional(),displayName:m().nullable().optional(),currencyCode:m().nullable().optional(),timezone:m().nullable().optional(),status:m().nullable().optional(),lastSyncedAt:m().nullable().optional()});N({disconnected:ce()});N({runId:m(),status:m()});const l4=N({type:m().nullable().optional(),title:m().nullable().optional(),body:m().nullable().optional(),targetUrl:m().nullable().optional()}),c4=N({id:m(),adGroupId:m(),name:m(),status:m(),reviewStatus:m().nullable().optional(),creative:l4.nullable().optional()}),u4=N({id:m(),campaignId:m(),name:m(),status:m(),billingEventType:m().nullable().optional(),maxBidMicros:S().int().nullable().optional(),contextHints:z(m()).default([]),ads:z(c4).default([])}),d4=N({id:m(),name:m(),status:m(),biddingType:m().nullable().optional(),dailySpendLimitMicros:S().int().nullable().optional(),lifetimeSpendLimitMicros:S().int().nullable().optional(),adGroups:z(u4).default([])});N({campaigns:z(d4)});const $0=ie(["campaign","ad_group"]);$0.enum;const f4=N({level:$0,entityId:m(),date:m(),impressions:S().int(),clicks:S().int(),spendMicros:S().int(),ctr:S().nullable(),cpcMicros:S().int().nullable()});N({rows:z(f4),currencyCode:m().nullable().optional()});const p4=N({impressions:S().int(),clicks:S().int(),spendMicros:S().int(),ctr:S().nullable(),cpcMicros:S().int().nullable()});N({connected:ce(),displayName:m().nullable().optional(),currencyCode:m().nullable().optional(),lastSyncedAt:m().nullable().optional(),campaignCount:S().int(),adGroupCount:S().int(),adCount:S().int(),window:N({from:m().nullable(),to:m().nullable()}),totals:p4});var m4=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(m4||{});const aL={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},iL={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},sL=ep;function h4(e){const n=[];if(e.message&&n.push(e.message),e.providers)for(const[i,r]of Object.entries(e.providers)){const l=`[${i}] ${r.message}`;r.raw!==void 0?n.push(`${l}
|
|
52
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const d of e.seen.entries()){const h=d[1];if(n===d[0]){c(d);continue}if(e.external){const b=e.external.registry.get(d[0])?.id;if(n!==d[0]&&b){c(d);continue}}if(e.metadataRegistry.get(d[0])?.id){c(d);continue}if(h.cycle){c(d);continue}if(h.count>1&&e.reused==="ref"){c(d);continue}}}function a0(e,n){const i=e.seen.get(n);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=d=>{const h=e.seen.get(d);if(h.ref===null)return;const g=h.def??h.schema,b={...g},v=h.ref;if(h.ref=null,v){r(v);const j=e.seen.get(v),A=j.schema;if(A.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(g.allOf=g.allOf??[],g.allOf.push(A)):Object.assign(g,A),Object.assign(g,b),d._zod.parent===v)for(const k in g)k==="$ref"||k==="allOf"||k in b||delete g[k];if(A.$ref&&j.def)for(const k in g)k==="$ref"||k==="allOf"||k in j.def&&JSON.stringify(g[k])===JSON.stringify(j.def[k])&&delete g[k]}const x=d._zod.parent;if(x&&x!==v){r(x);const j=e.seen.get(x);if(j?.schema.$ref&&(g.$ref=j.schema.$ref,j.def))for(const A in g)A==="$ref"||A==="allOf"||A in j.def&&JSON.stringify(g[A])===JSON.stringify(j.def[A])&&delete g[A]}e.override({zodSchema:d,jsonSchema:g,path:h.path??[]})};for(const d of[...e.seen.entries()].reverse())r(d[0]);const l={};if(e.target==="draft-2020-12"?l.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?l.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?l.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const d=e.external.registry.get(n)?.id;if(!d)throw new Error("Schema is missing an `id` property");l.$id=e.external.uri(d)}Object.assign(l,i.def??i.schema);const c=e.external?.defs??{};for(const d of e.seen.entries()){const h=d[1];h.def&&h.defId&&(c[h.defId]=h.def)}e.external||Object.keys(c).length>0&&(e.target==="draft-2020-12"?l.$defs=c:l.definitions=c);try{const d=JSON.parse(JSON.stringify(l));return Object.defineProperty(d,"~standard",{value:{...n["~standard"],jsonSchema:{input:sc(n,"input",e.processors),output:sc(n,"output",e.processors)}},enumerable:!1,writable:!1}),d}catch{throw new Error("Error converting schema to JSON.")}}function Gt(e,n){const i=n??{seen:new Set};if(i.seen.has(e))return!1;i.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Gt(r.element,i);if(r.type==="set")return Gt(r.valueType,i);if(r.type==="lazy")return Gt(r.getter(),i);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return Gt(r.innerType,i);if(r.type==="intersection")return Gt(r.left,i)||Gt(r.right,i);if(r.type==="record"||r.type==="map")return Gt(r.keyType,i)||Gt(r.valueType,i);if(r.type==="pipe")return Gt(r.in,i)||Gt(r.out,i);if(r.type==="object"){for(const l in r.shape)if(Gt(r.shape[l],i))return!0;return!1}if(r.type==="union"){for(const l of r.options)if(Gt(l,i))return!0;return!1}if(r.type==="tuple"){for(const l of r.items)if(Gt(l,i))return!0;return!!(r.rest&&Gt(r.rest,i))}return!1}const Vz=(e,n={})=>i=>{const r=t0({...i,processors:n});return kt(e,r),n0(r,e),a0(r,e)},sc=(e,n,i={})=>r=>{const{libraryOptions:l,target:c}=r??{},d=t0({...l??{},target:c,io:n,processors:i});return kt(e,d),n0(d,e),a0(d,e)},Iz={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Gz=(e,n,i,r)=>{const l=i;l.type="string";const{minimum:c,maximum:d,format:h,patterns:g,contentEncoding:b}=e._zod.bag;if(typeof c=="number"&&(l.minLength=c),typeof d=="number"&&(l.maxLength=d),h&&(l.format=Iz[h]??h,l.format===""&&delete l.format,h==="time"&&delete l.format),b&&(l.contentEncoding=b),g&&g.size>0){const v=[...g];v.length===1?l.pattern=v[0].source:v.length>1&&(l.allOf=[...v.map(x=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:x.source}))])}},Pz=(e,n,i,r)=>{const l=i,{minimum:c,maximum:d,format:h,multipleOf:g,exclusiveMaximum:b,exclusiveMinimum:v}=e._zod.bag;typeof h=="string"&&h.includes("int")?l.type="integer":l.type="number",typeof v=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(l.minimum=v,l.exclusiveMinimum=!0):l.exclusiveMinimum=v),typeof c=="number"&&(l.minimum=c,typeof v=="number"&&n.target!=="draft-04"&&(v>=c?delete l.minimum:delete l.exclusiveMinimum)),typeof b=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(l.maximum=b,l.exclusiveMaximum=!0):l.exclusiveMaximum=b),typeof d=="number"&&(l.maximum=d,typeof b=="number"&&n.target!=="draft-04"&&(b<=d?delete l.maximum:delete l.exclusiveMaximum)),typeof g=="number"&&(l.multipleOf=g)},Hz=(e,n,i,r)=>{i.type="boolean"},Kz=(e,n,i,r)=>{i.not={}},Zz=(e,n,i,r)=>{},Qz=(e,n,i,r)=>{const l=e._zod.def,c=Rv(l.entries);c.every(d=>typeof d=="number")&&(i.type="number"),c.every(d=>typeof d=="string")&&(i.type="string"),i.enum=c},Yz=(e,n,i,r)=>{const l=e._zod.def,c=[];for(const d of l.values)if(d===void 0){if(n.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof d=="bigint"){if(n.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");c.push(Number(d))}else c.push(d);if(c.length!==0)if(c.length===1){const d=c[0];i.type=d===null?"null":typeof d,n.target==="draft-04"||n.target==="openapi-3.0"?i.enum=[d]:i.const=d}else c.every(d=>typeof d=="number")&&(i.type="number"),c.every(d=>typeof d=="string")&&(i.type="string"),c.every(d=>typeof d=="boolean")&&(i.type="boolean"),c.every(d=>d===null)&&(i.type="null"),i.enum=c},Xz=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Jz=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Fz=(e,n,i,r)=>{const l=i,c=e._zod.def,{minimum:d,maximum:h}=e._zod.bag;typeof d=="number"&&(l.minItems=d),typeof h=="number"&&(l.maxItems=h),l.type="array",l.items=kt(c.element,n,{...r,path:[...r.path,"items"]})},Wz=(e,n,i,r)=>{const l=i,c=e._zod.def;l.type="object",l.properties={};const d=c.shape;for(const b in d)l.properties[b]=kt(d[b],n,{...r,path:[...r.path,"properties",b]});const h=new Set(Object.keys(d)),g=new Set([...h].filter(b=>{const v=c.shape[b]._zod;return n.io==="input"?v.optin===void 0:v.optout===void 0}));g.size>0&&(l.required=Array.from(g)),c.catchall?._zod.def.type==="never"?l.additionalProperties=!1:c.catchall?c.catchall&&(l.additionalProperties=kt(c.catchall,n,{...r,path:[...r.path,"additionalProperties"]})):n.io==="output"&&(l.additionalProperties=!1)},eC=(e,n,i,r)=>{const l=e._zod.def,c=l.inclusive===!1,d=l.options.map((h,g)=>kt(h,n,{...r,path:[...r.path,c?"oneOf":"anyOf",g]}));c?i.oneOf=d:i.anyOf=d},tC=(e,n,i,r)=>{const l=e._zod.def,c=kt(l.left,n,{...r,path:[...r.path,"allOf",0]}),d=kt(l.right,n,{...r,path:[...r.path,"allOf",1]}),h=b=>"allOf"in b&&Object.keys(b).length===1,g=[...h(c)?c.allOf:[c],...h(d)?d.allOf:[d]];i.allOf=g},nC=(e,n,i,r)=>{const l=i,c=e._zod.def;l.type="object";const d=c.keyType,g=d._zod.bag?.patterns;if(c.mode==="loose"&&g&&g.size>0){const v=kt(c.valueType,n,{...r,path:[...r.path,"patternProperties","*"]});l.patternProperties={};for(const x of g)l.patternProperties[x.source]=v}else(n.target==="draft-07"||n.target==="draft-2020-12")&&(l.propertyNames=kt(c.keyType,n,{...r,path:[...r.path,"propertyNames"]})),l.additionalProperties=kt(c.valueType,n,{...r,path:[...r.path,"additionalProperties"]});const b=d._zod.values;if(b){const v=[...b].filter(x=>typeof x=="string"||typeof x=="number");v.length>0&&(l.required=v)}},aC=(e,n,i,r)=>{const l=e._zod.def,c=kt(l.innerType,n,r),d=n.seen.get(e);n.target==="openapi-3.0"?(d.ref=l.innerType,i.nullable=!0):i.anyOf=[c,{type:"null"}]},iC=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType},sC=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType,i.default=JSON.parse(JSON.stringify(l.defaultValue))},rC=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType,n.io==="input"&&(i._prefault=JSON.parse(JSON.stringify(l.defaultValue)))},oC=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType;let d;try{d=l.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}i.default=d},lC=(e,n,i,r)=>{const l=e._zod.def,c=n.io==="input"?l.in._zod.def.type==="transform"?l.out:l.in:l.out;kt(c,n,r);const d=n.seen.get(e);d.ref=c},cC=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType,i.readOnly=!0},i0=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType},uC=H("ZodISODateTime",(e,n)=>{d_.init(e,n),dt.init(e,n)});function dC(e){return yz(uC,e)}const fC=H("ZodISODate",(e,n)=>{f_.init(e,n),dt.init(e,n)});function pC(e){return bz(fC,e)}const mC=H("ZodISOTime",(e,n)=>{p_.init(e,n),dt.init(e,n)});function hC(e){return vz(mC,e)}const gC=H("ZodISODuration",(e,n)=>{m_.init(e,n),dt.init(e,n)});function yC(e){return Sz(gC,e)}const bC=(e,n)=>{qv.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>i2(e,i)},flatten:{value:i=>a2(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,Sf,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,Sf,2)}},isEmpty:{get(){return e.issues.length===0}}})},_n=H("ZodError",bC,{Parent:Error}),vC=Yf(_n),SC=Xf(_n),xC=yc(_n),wC=bc(_n),jC=o2(_n),NC=l2(_n),kC=c2(_n),AC=u2(_n),_C=d2(_n),zC=f2(_n),CC=p2(_n),TC=m2(_n),ut=H("ZodType",(e,n)=>(ct.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:sc(e,"input"),output:sc(e,"output")}}),e.toJSONSchema=Vz(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.check=(...i)=>e.clone(Ja(n,{checks:[...n.checks??[],...i.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(i,r)=>Fa(e,i,r),e.brand=()=>e,e.register=((i,r)=>(i.add(e,r),e)),e.parse=(i,r)=>vC(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>xC(e,i,r),e.parseAsync=async(i,r)=>SC(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>wC(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>jC(e,i,r),e.decode=(i,r)=>NC(e,i,r),e.encodeAsync=async(i,r)=>kC(e,i,r),e.decodeAsync=async(i,r)=>AC(e,i,r),e.safeEncode=(i,r)=>_C(e,i,r),e.safeDecode=(i,r)=>zC(e,i,r),e.safeEncodeAsync=async(i,r)=>CC(e,i,r),e.safeDecodeAsync=async(i,r)=>TC(e,i,r),e.refine=(i,r)=>e.check(jT(i,r)),e.superRefine=i=>e.check(NT(i)),e.overwrite=i=>e.check(Ks(i)),e.optional=()=>db(e),e.exactOptional=()=>uT(e),e.nullable=()=>fb(e),e.nullish=()=>db(fb(e)),e.nonoptional=i=>gT(e,i),e.array=()=>z(e),e.or=i=>l0([e,i]),e.and=i=>iT(e,i),e.transform=i=>pb(e,lT(i)),e.default=i=>pT(e,i),e.prefault=i=>hT(e,i),e.catch=i=>bT(e,i),e.pipe=i=>pb(e,i),e.readonly=()=>xT(e),e.describe=i=>{const r=e.clone();return ao.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return ao.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return ao.get(e);const r=e.clone();return ao.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),s0=H("_ZodString",(e,n)=>{Jf.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(r,l,c)=>Gz(e,r,l);const i=e._zod.bag;e.format=i.format??null,e.minLength=i.minimum??null,e.maxLength=i.maximum??null,e.regex=(...r)=>e.check(Az(...r)),e.includes=(...r)=>e.check(Cz(...r)),e.startsWith=(...r)=>e.check(Tz(...r)),e.endsWith=(...r)=>e.check(Ez(...r)),e.min=(...r)=>e.check(ic(...r)),e.max=(...r)=>e.check(Wv(...r)),e.length=(...r)=>e.check(e0(...r)),e.nonempty=(...r)=>e.check(ic(1,...r)),e.lowercase=r=>e.check(_z(r)),e.uppercase=r=>e.check(zz(r)),e.trim=()=>e.check(Dz()),e.normalize=(...r)=>e.check(Oz(...r)),e.toLowerCase=()=>e.check(Rz()),e.toUpperCase=()=>e.check(Bz()),e.slugify=()=>e.check(Mz())}),EC=H("ZodString",(e,n)=>{Jf.init(e,n),s0.init(e,n),e.email=i=>e.check(X_(OC,i)),e.url=i=>e.check(tz(DC,i)),e.jwt=i=>e.check(gz(QC,i)),e.emoji=i=>e.check(nz(RC,i)),e.guid=i=>e.check(sb(cb,i)),e.uuid=i=>e.check(J_(Vl,i)),e.uuidv4=i=>e.check(F_(Vl,i)),e.uuidv6=i=>e.check(W_(Vl,i)),e.uuidv7=i=>e.check(ez(Vl,i)),e.nanoid=i=>e.check(az(BC,i)),e.guid=i=>e.check(sb(cb,i)),e.cuid=i=>e.check(iz(MC,i)),e.cuid2=i=>e.check(sz(LC,i)),e.ulid=i=>e.check(rz(qC,i)),e.base64=i=>e.check(pz(HC,i)),e.base64url=i=>e.check(mz(KC,i)),e.xid=i=>e.check(oz(UC,i)),e.ksuid=i=>e.check(lz($C,i)),e.ipv4=i=>e.check(cz(VC,i)),e.ipv6=i=>e.check(uz(IC,i)),e.cidrv4=i=>e.check(dz(GC,i)),e.cidrv6=i=>e.check(fz(PC,i)),e.e164=i=>e.check(hz(ZC,i)),e.datetime=i=>e.check(dC(i)),e.date=i=>e.check(pC(i)),e.time=i=>e.check(hC(i)),e.duration=i=>e.check(yC(i))});function m(e){return Y_(EC,e)}const dt=H("ZodStringFormat",(e,n)=>{lt.init(e,n),s0.init(e,n)}),OC=H("ZodEmail",(e,n)=>{n_.init(e,n),dt.init(e,n)}),cb=H("ZodGUID",(e,n)=>{e_.init(e,n),dt.init(e,n)}),Vl=H("ZodUUID",(e,n)=>{t_.init(e,n),dt.init(e,n)}),DC=H("ZodURL",(e,n)=>{a_.init(e,n),dt.init(e,n)}),RC=H("ZodEmoji",(e,n)=>{i_.init(e,n),dt.init(e,n)}),BC=H("ZodNanoID",(e,n)=>{s_.init(e,n),dt.init(e,n)}),MC=H("ZodCUID",(e,n)=>{r_.init(e,n),dt.init(e,n)}),LC=H("ZodCUID2",(e,n)=>{o_.init(e,n),dt.init(e,n)}),qC=H("ZodULID",(e,n)=>{l_.init(e,n),dt.init(e,n)}),UC=H("ZodXID",(e,n)=>{c_.init(e,n),dt.init(e,n)}),$C=H("ZodKSUID",(e,n)=>{u_.init(e,n),dt.init(e,n)}),VC=H("ZodIPv4",(e,n)=>{h_.init(e,n),dt.init(e,n)}),IC=H("ZodIPv6",(e,n)=>{g_.init(e,n),dt.init(e,n)}),GC=H("ZodCIDRv4",(e,n)=>{y_.init(e,n),dt.init(e,n)}),PC=H("ZodCIDRv6",(e,n)=>{b_.init(e,n),dt.init(e,n)}),HC=H("ZodBase64",(e,n)=>{v_.init(e,n),dt.init(e,n)}),KC=H("ZodBase64URL",(e,n)=>{x_.init(e,n),dt.init(e,n)}),ZC=H("ZodE164",(e,n)=>{w_.init(e,n),dt.init(e,n)}),QC=H("ZodJWT",(e,n)=>{N_.init(e,n),dt.init(e,n)}),r0=H("ZodNumber",(e,n)=>{Qv.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(r,l,c)=>Pz(e,r,l),e.gt=(r,l)=>e.check(ob(r,l)),e.gte=(r,l)=>e.check(nf(r,l)),e.min=(r,l)=>e.check(nf(r,l)),e.lt=(r,l)=>e.check(rb(r,l)),e.lte=(r,l)=>e.check(tf(r,l)),e.max=(r,l)=>e.check(tf(r,l)),e.int=r=>e.check(ub(r)),e.safe=r=>e.check(ub(r)),e.positive=r=>e.check(ob(0,r)),e.nonnegative=r=>e.check(nf(0,r)),e.negative=r=>e.check(rb(0,r)),e.nonpositive=r=>e.check(tf(0,r)),e.multipleOf=(r,l)=>e.check(lb(r,l)),e.step=(r,l)=>e.check(lb(r,l)),e.finite=()=>e;const i=e._zod.bag;e.minValue=Math.max(i.minimum??Number.NEGATIVE_INFINITY,i.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(i.maximum??Number.POSITIVE_INFINITY,i.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(i.format??"").includes("int")||Number.isSafeInteger(i.multipleOf??.5),e.isFinite=!0,e.format=i.format??null});function S(e){return xz(r0,e)}const YC=H("ZodNumberFormat",(e,n)=>{k_.init(e,n),r0.init(e,n)});function ub(e){return wz(YC,e)}const XC=H("ZodBoolean",(e,n)=>{A_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Hz(e,i,r)});function ce(e){return jz(XC,e)}const JC=H("ZodUnknown",(e,n)=>{__.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Zz()});function ga(){return Nz(JC)}const FC=H("ZodNever",(e,n)=>{z_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Kz(e,i,r)});function WC(e){return kz(FC,e)}const eT=H("ZodArray",(e,n)=>{C_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Fz(e,i,r,l),e.element=n.element,e.min=(i,r)=>e.check(ic(i,r)),e.nonempty=i=>e.check(ic(1,i)),e.max=(i,r)=>e.check(Wv(i,r)),e.length=(i,r)=>e.check(e0(i,r)),e.unwrap=()=>e.element});function z(e,n){return Lz(eT,e,n)}const tT=H("ZodObject",(e,n)=>{E_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Wz(e,i,r,l),Pe(e,"shape",()=>n.shape),e.keyof=()=>ie(Object.keys(e._zod.def.shape)),e.catchall=i=>e.clone({...e._zod.def,catchall:i}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ga()}),e.loose=()=>e.clone({...e._zod.def,catchall:ga()}),e.strict=()=>e.clone({...e._zod.def,catchall:WC()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>FA(e,i),e.safeExtend=i=>WA(e,i),e.merge=i=>e2(e,i),e.pick=i=>XA(e,i),e.omit=i=>JA(e,i),e.partial=(...i)=>t2(u0,e,i[0]),e.required=(...i)=>n2(d0,e,i[0])});function N(e,n){const i={type:"object",shape:e??{},...be(n)};return new tT(i)}const o0=H("ZodUnion",(e,n)=>{Jv.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>eC(e,i,r,l),e.options=n.options});function l0(e,n){return new o0({type:"union",options:e,...be(n)})}const nT=H("ZodDiscriminatedUnion",(e,n)=>{o0.init(e,n),O_.init(e,n)});function c0(e,n,i){return new nT({type:"union",options:n,discriminator:e,...be(i)})}const aT=H("ZodIntersection",(e,n)=>{D_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>tC(e,i,r,l)});function iT(e,n){return new aT({type:"intersection",left:e,right:n})}const sT=H("ZodRecord",(e,n)=>{R_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>nC(e,i,r,l),e.keyType=n.keyType,e.valueType=n.valueType});function yt(e,n,i){return new sT({type:"record",keyType:e,valueType:n,...be(i)})}const wf=H("ZodEnum",(e,n)=>{B_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(r,l,c)=>Qz(e,r,l),e.enum=n.entries,e.options=Object.values(n.entries);const i=new Set(Object.keys(n.entries));e.extract=(r,l)=>{const c={};for(const d of r)if(i.has(d))c[d]=n.entries[d];else throw new Error(`Key ${d} not found in enum`);return new wf({...n,checks:[],...be(l),entries:c})},e.exclude=(r,l)=>{const c={...n.entries};for(const d of r)if(i.has(d))delete c[d];else throw new Error(`Key ${d} not found in enum`);return new wf({...n,checks:[],...be(l),entries:c})}});function ie(e,n){const i=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new wf({type:"enum",entries:i,...be(n)})}const rT=H("ZodLiteral",(e,n)=>{M_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Yz(e,i,r),e.values=new Set(n.values),Object.defineProperty(e,"value",{get(){if(n.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return n.values[0]}})});function Vt(e,n){return new rT({type:"literal",values:Array.isArray(e)?e:[e],...be(n)})}const oT=H("ZodTransform",(e,n)=>{L_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Jz(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new Ov(e.constructor.name);i.addIssue=c=>{if(typeof c=="string")i.issues.push(co(c,i.value,n));else{const d=c;d.fatal&&(d.continue=!1),d.code??(d.code="custom"),d.input??(d.input=i.value),d.inst??(d.inst=e),i.issues.push(co(d))}};const l=n.transform(i.value,i);return l instanceof Promise?l.then(c=>(i.value=c,i)):(i.value=l,i)}});function lT(e){return new oT({type:"transform",transform:e})}const u0=H("ZodOptional",(e,n)=>{Fv.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>i0(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function db(e){return new u0({type:"optional",innerType:e})}const cT=H("ZodExactOptional",(e,n)=>{q_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>i0(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function uT(e){return new cT({type:"optional",innerType:e})}const dT=H("ZodNullable",(e,n)=>{U_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>aC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function fb(e){return new dT({type:"nullable",innerType:e})}const fT=H("ZodDefault",(e,n)=>{$_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>sC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function pT(e,n){return new fT({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():Mv(n)}})}const mT=H("ZodPrefault",(e,n)=>{V_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>rC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function hT(e,n){return new mT({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():Mv(n)}})}const d0=H("ZodNonOptional",(e,n)=>{I_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>iC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function gT(e,n){return new d0({type:"nonoptional",innerType:e,...be(n)})}const yT=H("ZodCatch",(e,n)=>{G_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>oC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function bT(e,n){return new yT({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const vT=H("ZodPipe",(e,n)=>{P_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>lC(e,i,r,l),e.in=n.in,e.out=n.out});function pb(e,n){return new vT({type:"pipe",in:e,out:n})}const ST=H("ZodReadonly",(e,n)=>{H_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>cC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function xT(e){return new ST({type:"readonly",innerType:e})}const wT=H("ZodCustom",(e,n)=>{K_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Xz(e,i)});function jT(e,n={}){return qz(wT,e,n)}function NT(e){return Uz(e)}const f0=N({id:m(),name:m(),keyPrefix:m(),scopes:z(m()),readOnly:ce(),createdAt:m(),lastUsedAt:m().nullable(),revokedAt:m().nullable()});N({keys:z(f0)});N({name:m().min(1).max(100),scopes:z(m()).min(1).optional()});f0.extend({key:m()});const kT=N({maxConcurrency:S().int().positive(),maxRequestsPerMinute:S().int().positive(),maxRequestsPerDay:S().int().positive()}),ya=m().min(1);m().min(1);const Ff=N({label:m().min(1),city:m().min(1),region:m().min(1),country:m().length(2),timezone:m().optional()}),Wf=ie(["citation.lost","citation.gained","run.completed","run.failed","insight.critical","insight.high"]);N({id:m(),projectId:m(),channel:Vt("webhook"),url:m().url(),urlDisplay:m(),urlHost:m(),events:z(Wf),enabled:ce().default(!0),source:m().optional(),webhookSecret:m().optional(),createdAt:m(),updatedAt:m()});N({channel:Vt("webhook"),url:m().url(),events:z(Wf).min(1),source:m().optional()});const p0=ie(["cli","api","config-file"]);function AT(e){const n=new Set,i=new Set;for(const r of e){if(n.has(r.label)){i.add(r.label);continue}n.add(r.label)}return[...i]}function _T(e,n){return n?e.some(i=>i.label===n):!0}N({displayName:m().min(1),canonicalDomain:m().min(1),ownedDomains:z(m().min(1)).optional(),aliases:z(m()).optional(),country:m().length(2),language:m().min(2),tags:z(m()).optional(),labels:yt(m(),m()).optional(),providers:z(ya).optional(),locations:z(Ff).optional(),defaultLocation:m().nullable().optional(),autoExtractBacklinks:ce().optional(),configSource:p0.optional()});N({id:m(),name:m(),displayName:m().optional(),canonicalDomain:m(),ownedDomains:z(m()).default([]),aliases:z(m()).default([]),country:m().length(2),language:m().min(2),tags:z(m()).default([]),labels:yt(m(),m()).default({}),providers:z(m()).default([]),locations:z(Ff).default([]),defaultLocation:m().nullable().optional(),autoExtractBacklinks:ce().default(!1),configSource:p0.default("cli"),configRevision:S().int().positive().default(1),createdAt:m().optional(),updatedAt:m().optional()});N({id:m(),query:m(),createdAt:m()});N({id:m(),keyword:m(),createdAt:m()});N({queries:z(m().trim().min(1)).min(1)});N({keywords:z(m().trim().min(1)).min(1)});N({provider:ya,count:S().int().min(1).max(20).optional()});N({id:m(),domain:m(),createdAt:m()});N({competitors:z(m().trim().min(1)).min(1)});function rc(e){let n=e.trim().toLowerCase();try{n.includes("://")&&(n=new URL(n).hostname.toLowerCase())}catch{}return n.replace(/^www\./,"")}const zT=new Set(["ac.uk","co.id","co.il","co.in","co.jp","co.kr","co.nz","co.th","co.uk","co.za","com.au","com.br","com.cn","com.mx","com.ph","com.sg","com.tr","edu.au","edu.sg","gov.au","gov.uk","me.uk","ne.jp","net.au","net.br","net.cn","net.in","net.tr","or.jp","or.kr","org.au","org.br","org.in","org.nz","org.tr","org.uk","org.za"]);function CT(e){const n=rc(e);if(!n)return"";const i=n.split("/")[0]?.split(":")[0]??"";if(!i)return"";const r=i.split(".").filter(Boolean);if(r.length<2)return"";if(r.length===2)return r.join(".");const l=r.slice(-2).join(".");return zT.has(l)?r.length>=3?r.slice(-3).join("."):"":r.slice(-2).join(".")}function TT(e){const n=CT(e);return n?n.split(".")[0]??"":""}function ET(e){const n=[e.canonicalDomain,...e.ownedDomains??[]],i=new Set,r=[];for(const l of n){const c=l.trim();if(!c)continue;const d=rc(c);i.has(d)||(i.add(d),r.push(c))}return r}const OT=N({name:m().min(1).max(63).regex(/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,{message:"Name must be a lowercase slug (letters, numbers, hyphens)"}),labels:yt(m(),m()).optional().default({})}),DT=N({preset:m().optional(),cron:m().optional(),timezone:m().optional().default("UTC"),providers:z(ya).optional().default([])}).refine(e=>e.preset&&!e.cron||!e.preset&&e.cron,{message:'Exactly one of "preset" or "cron" must be provided'}).optional(),RT=N({channel:Vt("webhook"),url:m().url(),events:z(Wf).min(1)}),BT=N({gsc:N({propertyUrl:m()}).optional(),syncSchedule:N({preset:m().optional(),cron:m().optional()}).optional()}).optional(),mb=z(m().min(1)),MT=N({displayName:m().min(1),canonicalDomain:m().min(1),ownedDomains:z(m().min(1)).optional().default([]),aliases:z(m().min(1)).optional().default([]),country:m().length(2),language:m().min(2),queries:mb.optional(),keywords:mb.optional(),competitors:z(m().min(1)).optional().default([]),providers:z(ya).optional().default([]),locations:z(Ff).optional().default([]),defaultLocation:m().optional(),schedule:DT,notifications:z(RT).optional().default([]),google:BT,autoExtractBacklinks:ce().optional().default(!1)}).superRefine((e,n)=>{e.queries!==void 0&&e.keywords!==void 0&&n.addIssue({code:"custom",message:"Use spec.queries; spec.keywords is accepted only as a legacy alias when spec.queries is omitted",path:["keywords"]});const i=AT(e.locations);i.length>0&&n.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${i.join(", ")}`,path:["locations"]}),_T(e.locations,e.defaultLocation)||n.addIssue({code:"custom",message:`defaultLocation "${e.defaultLocation}" must match a configured location label`,path:["defaultLocation"]})});N({apiVersion:Vt("canonry/v1"),kind:Vt("Project"),metadata:OT,spec:MT});const LT=ie(["gsc","ga4","gbp"]);N({id:m(),domain:m(),connectionType:LT,propertyId:m().nullable().optional(),sitemapUrl:m().nullable().optional(),scopes:z(m()).default([]),createdAt:m(),updatedAt:m()});N({date:m(),query:m(),page:m(),country:m().nullable().optional(),device:m().nullable().optional(),clicks:S(),impressions:S(),ctr:S(),position:S()});const qT=N({date:m(),clicks:S(),impressions:S(),ctr:S()});N({totals:N({clicks:S(),impressions:S(),ctr:S(),days:S()}),daily:z(qT)});const jf=N({id:m(),url:m(),indexingState:m().nullable().optional(),verdict:m().nullable().optional(),coverageState:m().nullable().optional(),pageFetchState:m().nullable().optional(),robotsTxtState:m().nullable().optional(),crawlTime:m().nullable().optional(),lastCrawlResult:m().nullable().optional(),isMobileFriendly:ce().nullable().optional(),richResults:z(m()).default([]),referringUrls:z(m()).default([]),inspectedAt:m()});ie(["stable","reindexed","deindexed","still-missing","new"]);const UT=N({url:m(),previousState:m().nullable(),currentState:m().nullable(),transitionDate:m()}),$T=N({reason:m(),count:S(),urls:z(jf).default([])});N({summary:N({total:S(),indexed:S(),notIndexed:S(),deindexed:S(),percentage:S()}),lastInspectedAt:m().nullable(),lastSyncedAt:m().nullable(),indexed:z(jf).default([]),notIndexed:z(jf).default([]),deindexed:z(UT).default([]),reasonGroups:z($T).default([])});N({url:m(),type:ie(["URL_UPDATED","URL_DELETED"]),notifiedAt:m()});const VT=N({url:m(),type:ie(["URL_UPDATED","URL_DELETED"]),notifiedAt:m(),status:ie(["success","error"]),error:m().optional()});N({summary:N({total:S().int().nonnegative(),succeeded:S().int().nonnegative(),failed:S().int().nonnegative()}),results:z(VT).default([])});N({date:m(),indexed:S(),notIndexed:S(),reasonBreakdown:yt(m(),S()).default({})});const IT=N({siteUrl:m(),permissionLevel:m()});N({sites:z(IT).default([])});const GT=N({type:m(),submitted:m(),indexed:m()}),PT=N({path:m(),lastSubmitted:m().optional(),isPending:ce().optional(),isSitemapsIndex:ce().optional(),type:m().optional(),lastDownloaded:m().optional(),warnings:m().optional(),errors:m().optional(),contents:z(GT).optional()});N({sitemaps:z(PT).default([])});const HT=N({name:m(),accountName:m().nullable(),type:m().nullable(),role:m().nullable()});N({accounts:z(HT),total:S().int().nonnegative()});const KT=N({id:m(),projectId:m(),accountName:m(),locationName:m(),displayName:m(),primaryCategoryDisplayName:m().nullable(),storefrontAddress:m().nullable(),websiteUri:m().nullable(),placeId:m().nullable(),mapsUri:m().nullable(),selected:ce(),syncedAt:m().nullable(),createdAt:m(),updatedAt:m()});N({locations:z(KT),totalDiscovered:S().int().nonnegative(),totalSelected:S().int().nonnegative()});N({selectAllNew:ce().default(!0),accountName:m().optional(),switchAccount:ce().default(!1)});N({selected:ce()});N({locationNames:z(m()).optional(),daysOfMetrics:S().int().positive().max(540).optional(),monthsOfKeywords:S().int().positive().max(18).optional()});N({runId:m(),status:m()});const ZT=N({locationName:m(),date:m(),metric:m(),value:S().int()});N({metrics:z(ZT),total:S().int().nonnegative()});const QT=N({locationName:m(),periodStart:m(),periodEnd:m(),keyword:m(),valueCount:S().int().nullable(),valueThreshold:S().int().nullable()});N({keywords:z(QT),total:S().int().nonnegative(),thresholdedPct:S().int().min(0).max(100)});const YT=N({locationName:m(),placeActionLinkName:m(),placeActionType:m(),uri:m().nullable(),isPreferred:ce(),providerType:m().nullable()});N({placeActions:z(YT),total:S().int().nonnegative()});const XT=N({locationName:m(),populatedGroupCount:S().int().nonnegative(),syncedAt:m(),attributes:yt(m(),ga())});N({lodging:z(XT),total:S().int().nonnegative()});const JT=N({locationName:m(),placeId:m(),tier:m(),amenities:z(m()),syncedAt:m(),place:yt(m(),ga())});N({places:z(JT),total:S().int().nonnegative()});N({scope:N({locationName:m().nullable(),locationCount:S().int().nonnegative()}),performance:N({totals:yt(m(),S()),recent7d:yt(m(),S()),prior7d:yt(m(),S()),deltaPct:yt(m(),S().nullable())}),freshness:N({dataThroughDate:m().nullable(),latestStoredDate:m().nullable(),pendingDays:S().int().nonnegative()}),timeseries:z(N({date:m(),pending:ce(),metrics:yt(m(),S())})),keywords:N({total:S().int().nonnegative(),thresholdedCount:S().int().nonnegative(),thresholdedPct:S().int().min(0).max(100)}),placeActions:N({total:S().int().nonnegative(),hasReservationCta:ce(),hasBookingCta:ce(),hasDirectMerchantCta:ce()}),lodging:N({lodgingLocationCount:S().int().nonnegative(),populatedLodgingCount:S().int().nonnegative(),emptyLodgingCount:S().int().nonnegative()})});const FT={BUSINESS_DIRECTION_REQUESTS:"Direction requests",WEBSITE_CLICKS:"Website clicks",CALL_CLICKS:"Call clicks",BUSINESS_BOOKINGS:"Bookings",BUSINESS_CONVERSATIONS:"Conversations",BUSINESS_FOOD_ORDERS:"Food orders",BUSINESS_FOOD_MENU_CLICKS:"Food menu clicks",BUSINESS_IMPRESSIONS_DESKTOP_SEARCH:"Search impressions (desktop)",BUSINESS_IMPRESSIONS_MOBILE_SEARCH:"Search impressions (mobile)",BUSINESS_IMPRESSIONS_DESKTOP_MAPS:"Maps impressions (desktop)",BUSINESS_IMPRESSIONS_MOBILE_MAPS:"Maps impressions (mobile)"};function WT(e){const n=e.replace(/^BUSINESS_/,"").split("_").filter(Boolean).map(r=>r.toLowerCase());if(n.length===0)return e;const i=n.join(" ");return i.charAt(0).toUpperCase()+i.slice(1)}function ZM(e){return FT[e]??WT(e)}const eE=["BUSINESS_DIRECTION_REQUESTS","WEBSITE_CLICKS","CALL_CLICKS"],tE=["BUSINESS_IMPRESSIONS_DESKTOP_SEARCH","BUSINESS_IMPRESSIONS_MOBILE_SEARCH","BUSINESS_IMPRESSIONS_DESKTOP_MAPS","BUSINESS_IMPRESSIONS_MOBILE_MAPS"];function QM(e){return eE.includes(e)?"conversion":tE.includes(e)?"reach":"other"}N({id:m(),domain:m(),siteUrl:m().nullable().optional(),createdAt:m(),updatedAt:m()});const af=N({id:m(),url:m(),httpCode:S().nullable().optional(),inIndex:ce().nullable().optional(),lastCrawledDate:m().nullable().optional(),inIndexDate:m().nullable().optional(),inspectedAt:m(),documentSize:S().nullable().optional(),anchorCount:S().nullable().optional(),discoveryDate:m().nullable().optional()});N({summary:N({total:S(),indexed:S(),notIndexed:S(),unknown:S().optional(),percentage:S()}),lastInspectedAt:m().nullable(),indexed:z(af).default([]),notIndexed:z(af).default([]),unknown:z(af).default([]).optional()});N({query:m(),impressions:S(),clicks:S(),ctr:S(),averagePosition:S()});N({date:m(),indexed:S(),notIndexed:S(),unknown:S()});const nE=N({url:m(),status:ie(["success","error"]),submittedAt:m(),error:m().optional()});N({summary:N({total:S().int().nonnegative(),succeeded:S().int().nonnegative(),failed:S().int().nonnegative()}),results:z(nE).default([])});const m0=N({url:m(),verified:ce()});N({sites:z(m0).default([])});N({connected:ce(),domain:m(),siteUrl:m().nullable(),createdAt:m().nullable(),updatedAt:m().nullable()});N({connected:ce(),domain:m(),siteUrl:m().nullable(),availableSites:z(m0).default([])});N({siteUrl:m()});const aE=N({name:m(),alive:ce(),lastUsed:m().nullable()});N({connected:ce(),endpoint:m(),version:m().optional(),browserVersion:m().optional(),targets:z(aE).default([])});const Zs=ie(["live","staging"]);N({projectName:m(),url:m(),stagingUrl:m().optional(),username:m(),defaultEnv:Zs,createdAt:m(),updatedAt:m()});const hb=N({url:m(),reachable:ce(),pageCount:S().nullable().optional(),version:m().nullable().optional(),error:m().nullable().optional(),plugins:z(m()).optional(),authenticatedUser:N({id:S(),slug:m()}).nullable().optional()});N({connected:ce(),projectName:m(),defaultEnv:Zs,live:hb.nullable(),staging:hb.nullable(),adminUrl:m().nullable().optional()});const iE=N({id:S(),slug:m(),title:m(),status:m(),modifiedAt:m().nullable().optional(),link:m().nullable().optional()}),h0=N({title:m().nullable(),description:m().nullable(),noindex:ce().nullable(),writable:ce().default(!1),writeTargets:z(m()).default([])}),sE=N({type:m(),json:yt(m(),ga())}),rE=iE.extend({env:Zs,content:m(),seo:h0,schemaBlocks:z(sE).default([])}),gb=rE.extend({contentHash:m(),contentSnippet:m()}),g0=N({manualRequired:Vt(!0),targetUrl:m(),adminUrl:m().nullable().optional(),content:m(),nextSteps:z(m()).default([])}),oE=N({slug:m(),severity:ie(["high","medium","low"]),code:ie(["noindex","missing-seo-title","missing-meta-description","missing-schema","thin-content"]),message:m()});N({slug:m(),title:m(),status:m(),wordCount:S(),seo:h0,schemaPresent:ce(),issues:z(oE).default([])});const lE=N({slug:m(),status:ie(["applied","skipped","manual"]),error:m().optional(),manualAssist:g0.optional()});N({env:Zs,strategy:ie(["plugin","manual"]),results:z(lE)});const cE=N({slug:m(),status:ie(["deployed","stripped","skipped","failed"]),schemasInjected:z(m()).optional(),manualAssist:g0.optional(),error:m().optional()});N({env:Zs,results:z(cE)});const uE=N({slug:m(),title:m(),canonrySchemas:z(m()),thirdPartySchemas:z(m()),hasCanonrySchema:ce()});N({env:Zs,pages:z(uE)});const dE=N({name:m(),status:ie(["completed","skipped","failed"]),summary:m().optional(),error:m().optional()});N({projectName:m(),steps:z(dE)});N({slug:m(),live:gb,staging:gb,hasDifferences:ce(),differences:N({title:ce(),slug:ce(),content:ce(),seoTitle:ce(),seoDescription:ce(),noindex:ce(),schema:ce()})});const fE=N({name:m(),displayName:m().optional(),keyUrl:m().optional(),modelHint:m().optional(),model:m().optional(),defaultModel:m().optional(),configured:ce(),quota:kT.optional(),vertexConfigured:ce().optional()}),yb=N({configured:ce()});N({providers:z(fE).default([]),google:yb,bing:yb});const Qs=ie(["queued","running","completed","partial","failed","cancelled"]),Ht=Qs.enum,y0=ie(["answer-visibility","site-audit","gsc-sync","inspect-sitemap","ga-sync","bing-inspect","bing-inspect-sitemap","backlink-extract","traffic-sync","aeo-discover-seed","aeo-discover-probe","gbp-sync","ads-sync"]),ke=y0.enum,b0=ie(["manual","scheduled","config-apply","backfill","probe"]),Bs=b0.enum,ki=ie(["cited","not-cited"]),oc=ki.enum,lc=ie(["visible","not-visible"]);lc.enum;const cc=ie(["mentioned","not-mentioned"]);cc.enum;const v0=ie(["new","cited","lost","emerging","not-cited"]);v0.enum;const pE=ie(["new","mentioned","lost","emerging","not-mentioned"]);pE.enum;const mE=ie([Bs.manual,Bs.probe]);N({kind:Vt(ke["answer-visibility"]).optional(),trigger:mE.optional(),providers:z(ya).optional(),queries:z(m().min(1)).min(1).optional(),location:m().min(1).optional(),allLocations:ce().optional(),noLocation:ce().optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const hE=N({message:m(),raw:ga().optional()}),gE=N({message:m().optional(),providers:yt(m(),hE).optional()}),yE=N({id:m(),projectId:m(),kind:y0,status:Qs,trigger:b0.default("manual"),location:m().nullable().optional(),queries:z(m()).nullable().optional(),startedAt:m().nullable().optional(),finishedAt:m().nullable().optional(),error:gE.nullable().optional(),createdAt:m()});function ep(e){if(e.providers){const n=Object.entries(e.providers);if(n.length===1){const[i,r]=n[0];return`${i}: ${r.message}`}if(n.length>1)return n.map(([i,r])=>`${i}: ${r.message}`).join(" • ")}return e.message??"Run failed."}const S0=N({uri:m(),title:m()}),x0=N({id:m(),runId:m(),queryId:m(),query:m().optional(),provider:ya,citationState:ki,answerMentioned:ce().optional(),visibilityState:lc.optional(),mentionState:cc.optional(),transition:v0.optional(),answerText:m().nullable().optional(),citedDomains:z(m()).default([]),competitorOverlap:z(m()).default([]),recommendedCompetitors:z(m()).default([]),matchedTerms:z(m()).default([]),groundingSources:z(S0).default([]),searchQueries:z(m()).default([]),model:m().nullable().optional(),location:m().nullable().optional(),createdAt:m()});N({snapshots:z(x0),total:S().int().nonnegative()});const bE=N({queryId:m().nullable(),query:m().nullable(),run1State:ki.nullable(),run2State:ki.nullable(),run1AnswerMentioned:ce().nullable(),run2AnswerMentioned:ce().nullable(),run1VisibilityState:lc.nullable(),run2VisibilityState:lc.nullable(),run1MentionState:cc.nullable().optional(),run2MentionState:cc.nullable().optional(),changed:ce(),visibilityChanged:ce()});N({run1:m(),run2:m(),diff:z(bE)});const vE=yE.extend({snapshots:z(x0).optional()});N({totalRuns:S().int().nonnegative(),run:vE.nullable()});N({id:m(),projectId:m().nullable().optional(),actor:m(),action:m(),entityType:m(),entityId:m().nullable().optional(),diff:ga().optional(),createdAt:m()});const SE=ie(["yes","no","unknown","not-mentioned"]),bb=z(m().min(1));N({companyName:m().min(1),domain:m().min(1),queries:bb.optional(),phrases:bb.optional(),competitors:z(m().min(1)).optional().default([])}).superRefine((e,n)=>{e.queries!==void 0&&e.phrases!==void 0&&n.addIssue({code:"custom",message:"Use queries; phrases is accepted only as a legacy alias when queries is omitted",path:["phrases"]})});const xE=N({name:m(),count:S().int().nonnegative()}),wE=N({id:m(),name:m(),weight:S(),score:S(),findings:z(N({type:m(),message:m()})).default([]),recommendations:z(m()).default([])}),jE=N({url:m(),finalUrl:m(),auditedAt:m(),overallScore:S(),summary:m(),factors:z(wE).default([])}),NE=N({industry:m(),summary:m(),services:z(m()).default([]),categoryTerms:z(m()).default([])}),kE=N({provider:m(),displayName:m(),model:m().nullable().optional(),mentioned:ce(),cited:ce(),describedAccurately:SE,accuracyNotes:m().nullable().optional(),incorrectClaims:z(m()).default([]),recommendedCompetitors:z(m()).default([]),citedDomains:z(m()).default([]),groundingSources:z(S0).default([]),searchQueries:z(m()).default([]),answerText:m(),error:m().nullable().optional()}),AE=N({query:m(),providerResults:z(kE).default([])}),_E=N({totalQueries:S().int().nonnegative(),totalProviders:S().int().nonnegative(),totalComparisons:S().int().nonnegative(),mentionCount:S().int().nonnegative(),citationCount:S().int().nonnegative(),topCompetitors:z(xE).default([]),visibilityGap:m(),whatThisMeans:z(m()).default([]),recommendedActions:z(m()).default([])});N({companyName:m(),domain:m(),homepageUrl:m(),generatedAt:m(),queries:z(m()).default([]),competitors:z(m()).default([]),profile:NE,audit:jE,queryResults:z(AE).default([]),summary:_E});const w0=ie(["pass","partial","fail"]);w0.enum;const j0=ie(["up","down","flat"]);j0.enum;const zE=N({id:m(),name:m(),weight:S(),avgScore:S(),status:w0,pagesPassing:S().int().nonnegative(),pagesPartial:S().int().nonnegative(),pagesFailing:S().int().nonnegative()}),CE=N({factorId:m(),factorName:m(),avgScore:S(),affectedPages:S().int().nonnegative(),totalPages:S().int().nonnegative(),affectedPct:S().int().nonnegative(),topRecommendations:z(m()).default([])});N({project:m(),hasData:ce(),runId:m().nullable(),runStatus:Qs.nullable(),sitemapUrl:m().nullable(),auditedAt:m().nullable(),aggregateScore:S(),pagesDiscovered:S().int().nonnegative(),pagesAudited:S().int().nonnegative(),pagesSkipped:S().int().nonnegative(),pagesErrored:S().int().nonnegative(),deltaScore:S().nullable(),trend:j0.nullable(),previousScore:S().nullable(),previousAuditedAt:m().nullable(),factors:z(zE).default([]),crossCuttingIssues:z(CE).default([]),prioritizedFixes:z(m()).default([])});const TE=N({id:m(),name:m(),weight:S(),score:S()}),EE=N({url:m(),overallScore:S(),status:ie(["success","error"]),error:m().nullable().optional(),factors:z(TE).default([])});N({project:m(),runId:m().nullable(),auditedAt:m().nullable(),total:S().int().nonnegative(),pages:z(EE).default([])});const OE=N({runId:m(),auditedAt:m(),aggregateScore:S(),pagesAudited:S().int().nonnegative()});N({project:m(),points:z(OE).default([])});N({sitemapUrl:m().url().optional(),limit:S().int().positive().max(2e3).optional()});N({runId:m(),status:Qs});const tp=ie(["answer-visibility","traffic-sync","gbp-sync","data-refresh","backlinks-sync","site-audit","ads-sync"]);tp.enum;N({id:m(),projectId:m(),kind:tp,cronExpr:m(),preset:m().nullable().optional(),timezone:m().default("UTC"),enabled:ce().default(!0),providers:z(ya).default([]),sourceId:m().nullable().optional(),lastRunAt:m().nullable().optional(),nextRunAt:m().nullable().optional(),createdAt:m(),updatedAt:m()});N({kind:tp.optional(),preset:m().optional(),cron:m().optional(),timezone:m().optional().default("UTC"),enabled:ce().optional().default(!0),providers:z(ya).optional().default([]),sourceId:m().optional()}).refine(e=>e.preset&&!e.cron||!e.preset&&e.cron,{message:'Exactly one of "preset" or "cron" must be provided'});const np=ie(["competitor","directory","social","forum","news","reference","blog","ecommerce","video","academic","other"]);np.enum;const ap=ie(["cited","aspirational","wasted-surface"]),vb=ap.enum;vb.cited,vb.aspirational;const Sc=ie(["direct-competitor","ota-aggregator","editorial-media","other","unknown"]),DE=Sc.enum;DE["direct-competitor"];const ip=ie(["queued","seeding","probing","completed","failed"]);ip.enum;const N0=N({domain:m().min(1),hits:S().int().positive(),competitorType:Sc.default("unknown")}),RE=N({id:m(),sessionId:m(),projectId:m(),query:m(),bucket:ap.nullable().default(null),citationState:ki,citedDomains:z(m()).default([]),answerMentioned:ce().nullable().default(null),createdAt:m()}),BE=N({id:m(),projectId:m(),status:ip,icpDescription:m().nullable().optional(),seedProvider:m().nullable().optional(),seedCountRaw:S().int().nullable().optional(),seedCount:S().int().nullable().optional(),dedupThreshold:S().nullable().optional(),probeCount:S().int().nullable().optional(),citedCount:S().int().nullable().default(null),aspirationalCount:S().int().nullable().default(null),wastedCount:S().int().nullable().default(null),competitorMap:z(N0).default([]),warning:m().nullable().optional(),error:m().nullable().optional(),startedAt:m().nullable().optional(),finishedAt:m().nullable().optional(),createdAt:m()});BE.extend({probes:z(RE).default([])});const ME=500;N({icpDescription:m().min(1).optional(),dedupThreshold:S().min(0).max(1).optional(),maxProbes:S().int().positive().max(ME).optional(),locations:z(m().min(1)).optional()});N({buckets:z(ap).min(1).optional(),includeCompetitors:ce().optional(),competitorTypes:z(Sc).min(1).optional()});N({sessionId:m(),projectId:m(),status:ip,queriesByBucket:N({cited:z(m()),aspirational:z(m()),"wasted-surface":z(m())}),suggestedCompetitors:z(N0)});N({sessionId:m(),projectId:m(),promoted:N({queries:z(m()),competitors:z(m())}),skipped:N({queries:z(m()),competitors:z(m())})});l0([Vt("cli"),m().regex(/^discovery:.+$/)]);const sp=ie(["own","direct-competitor","ota-aggregator","editorial-media","other"]);sp.enum;const k0=ie(["7d","30d","90d","all"]),Sb=ie(["improving","declining","stable"]),LE=ie(["mentioned","cited"]);LE.enum;const Nf=N({citationRate:S(),cited:S().int(),total:S().int(),mentionRate:S(),mentionedCount:S().int()}),qE=N({startDate:m(),endDate:m(),citationRate:S(),cited:S().int(),total:S().int(),queryCount:S().int(),mentionRate:S(),mentionedCount:S().int(),byProvider:yt(m(),Nf)}),UE=N({date:m(),delta:S().int(),label:m()});N({window:k0,buckets:z(qE),overall:Nf,byProvider:yt(m(),Nf),trend:Sb,mentionTrend:Sb,queryChanges:z(UE)});const xb=N({category:np,label:m(),count:S().int(),percentage:S(),topDomains:z(N({domain:m(),count:S().int()}))}),$E=N({domain:m(),count:S().int(),percentage:S(),category:np,label:m(),surfaceClass:sp}),VE=N({surfaceClass:sp,label:m(),count:S().int(),percentage:S(),domainCount:S().int()}),wb=N({totalCitedSlots:S().int(),domainTotal:S().int(),entries:z($E),truncatedDomainCount:S().int(),truncatedCitedSlots:S().int(),bySurfaceClass:z(VE)});N({overall:z(xb),byQuery:yt(m(),z(xb)),ranked:wb,byProvider:yt(m(),wb),runId:m(),window:k0,limit:S().int().nullable()});N({id:m(),projectId:m(),propertyId:m(),clientEmail:m(),connected:ce(),createdAt:m(),updatedAt:m()});N({date:m(),landingPage:m(),sessions:S(),organicSessions:S(),users:S()});const rp=ie(["session","first_user","manual_utm"]),IE=N({source:m(),medium:m(),sessions:S(),users:S(),sourceDimension:rp}),GE=N({source:m(),medium:m(),sourceDimension:rp,landingPage:m(),sessions:S(),users:S()}),PE=N({source:m(),medium:m(),sessions:S(),users:S(),channelGroup:m()}),Jr=N({sessions:S(),sharePct:S(),sharePctDisplay:m()}),HE=N({organic:Jr,social:Jr,direct:Jr,ai:Jr,other:Jr});N({totalSessions:S(),totalOrganicSessions:S(),totalDirectSessions:S(),totalUsers:S(),topPages:z(N({landingPage:m(),sessions:S(),organicSessions:S(),directSessions:S(),users:S()})),aiReferrals:z(IE),aiReferralLandingPages:z(GE),aiSessionsDeduped:S(),aiUsersDeduped:S(),aiSessionsBySession:S(),aiUsersBySession:S(),socialReferrals:z(PE),socialSessions:S(),socialUsers:S(),channelBreakdown:HE,organicSharePct:S(),aiSharePct:S(),aiSharePctBySession:S(),directSharePct:S(),socialSharePct:S(),organicSharePctDisplay:m(),aiSharePctDisplay:m(),aiSharePctBySessionDisplay:m(),directSharePctDisplay:m(),socialSharePctDisplay:m(),otherSessions:S(),otherSharePct:S(),otherSharePctDisplay:m(),lastSyncedAt:m().nullable()});N({connected:ce(),propertyId:m().nullable(),clientEmail:m().nullable(),authMethod:ie(["service-account","oauth"]).nullable(),lastSyncedAt:m().nullable(),createdAt:m().nullable().optional(),updatedAt:m().nullable().optional()});N({synced:ce(),rowCount:S().int().nonnegative(),aiReferralCount:S().int().nonnegative(),socialReferralCount:S().int().nonnegative(),days:S().int().nonnegative(),syncedAt:m(),syncedComponents:z(m()).optional()});N({date:m(),source:m(),medium:m(),landingPage:m(),sessions:S(),users:S(),sourceDimension:rp});N({date:m(),source:m(),medium:m(),sessions:S(),users:S(),channelGroup:m()});N({date:m(),sessions:S(),organicSessions:S(),users:S()});function uc(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}const A0=ie(["claude","openai","gemini","zai"]),KE=N({id:A0,label:m(),defaultModel:m(),configured:ce(),keySource:ie(["config","env"]).nullable()});N({providers:z(KE).default([]),defaultProvider:A0.nullable()});const ZE=ie(["aero","user","compaction"]);ZE.enum;const _0=128;N({key:m().min(1).max(_0),value:m().min(1)});N({key:m().min(1).max(_0)});const Ys=ie(["commoncrawl","bing-webmaster"]);Ys.enum;const op=ie(["queued","downloading","querying","ready","failed"]);op.enum;N({id:m(),release:m(),status:op,phaseDetail:m().nullable().optional(),vertexPath:m().nullable().optional(),edgesPath:m().nullable().optional(),vertexSha256:m().nullable().optional(),edgesSha256:m().nullable().optional(),vertexBytes:S().int().nullable().optional(),edgesBytes:S().int().nullable().optional(),projectsProcessed:S().int().nullable().optional(),domainsDiscovered:S().int().nullable().optional(),downloadStartedAt:m().nullable().optional(),downloadFinishedAt:m().nullable().optional(),queryStartedAt:m().nullable().optional(),queryFinishedAt:m().nullable().optional(),error:m().nullable().optional(),createdAt:m(),updatedAt:m()});const QE=N({linkingDomain:m(),numHosts:S().int(),source:Ys}),YE=N({projectId:m(),release:m(),targetDomain:m(),totalLinkingDomains:S().int(),totalHosts:S().int(),top10HostsShare:m(),queriedAt:m(),source:Ys,excludedLinkingDomains:S().int().optional(),excludedHosts:S().int().optional()});N({source:Ys,summary:YE.nullable(),total:S().int(),rows:z(QE)});N({release:m(),totalLinkingDomains:S().int(),totalHosts:S().int(),top10HostsShare:m(),queriedAt:m(),source:Ys});const XE=N({source:Ys,connected:ce(),hasData:ce(),latestRelease:m().nullable(),totalLinkingDomains:S().int(),lastSyncedAt:m().nullable()});N({projectId:m(),targetDomain:m(),sources:z(XE),anyConnected:ce(),anyData:ce()});N({duckdbInstalled:ce(),duckdbVersion:m().nullable().optional(),duckdbSpec:m(),pluginDir:m()});N({installed:ce(),version:m(),path:m(),alreadyPresent:ce()});N({release:m(),vertexUrl:m(),edgesUrl:m(),vertexBytes:S().int().nullable(),edgesBytes:S().int().nullable(),lastModified:m().nullable()});N({release:m(),syncStatus:op.nullable(),bytes:S().int(),lastUsedAt:m().nullable()});ie(["snapshot","insight"]);const JE=N({kind:Vt("snapshot"),id:m(),runId:m(),query:m(),provider:m(),model:m().nullable(),citationState:ki,matchedField:ie(["answerText","citedDomains","searchQueries","query"]),snippet:m(),createdAt:m()}),FE=N({kind:Vt("insight"),id:m(),runId:m().nullable(),type:ie(["regression","gain","opportunity","first-citation","provider-pickup","persistent-gap","competitor-gained","competitor-lost","gbp-lodging-gap","gbp-listing-discrepancy","gbp-cta-gap","gbp-metric-drop","gbp-keyword-drop"]),severity:ie(["critical","high","medium","low"]),title:m(),query:m(),provider:m(),matchedField:ie(["title","query","recommendation","cause"]),snippet:m(),dismissed:ce(),createdAt:m()}),WE=c0("kind",[JE,FE]);N({query:m(),totalHits:S().int().nonnegative(),truncated:ce(),hits:z(WE)});const z0=ie(["create","expand","refresh","add-schema"]);z0.enum;function YM(e){switch(e){case"create":return"Create";case"expand":return"Expand";case"refresh":return"Refresh";case"add-schema":return"Add schema"}}const C0=ie(["gsc","competitor-evidence","both"]);C0.enum;const T0=ie(["high","medium","low"]);T0.enum;const eO=ie(["blog-post","comparison","listicle","how-to","guide","glossary"]);eO.enum;const E0=ie(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);E0.enum;const lp=ie(["ownable","ceded"]);lp.enum;const tO=N({url:m(),gscImpressions:S().nonnegative(),gscClicks:S().nonnegative(),gscAvgPosition:S().nonnegative().nullable(),organicSessions:S().nonnegative()}),nO=N({domain:m(),url:m(),title:m(),citationCount:S().int().nonnegative()}),aO=N({demand:S(),competitor:S(),absence:S(),gapSeverity:S()}),iO=N({actionId:m(),state:E0,lastUpdated:m()}),O0=N({targetRef:m(),query:m(),action:z0,ourBestPage:tO.nullable(),winningCompetitor:nO.nullable(),score:S(),scoreBreakdown:aO,drivers:z(m()),demandSource:C0,actionConfidence:T0,existingAction:iO.nullable(),winnabilityClass:lp,winnability:S().min(0).max(1).nullable()});N({targets:z(O0),contextMetrics:N({totalAiReferralSessions:S().int().nonnegative(),latestRunId:m(),runTimestamp:m()})});const sO=N({targetRef:m(),addressedUrl:m().nullable(),note:m().nullable(),dismissedAt:m()});N({dismissals:z(sO)});N({targetRef:m().min(1),addressedUrl:m().url().optional(),note:m().max(500).optional()});N({targetRef:m(),promptVersion:m(),provider:m(),model:m(),responseText:m(),costMillicents:S().int().nonnegative(),generatedAt:m()});N({provider:m().optional(),model:m().optional(),forceRefresh:ce().optional()});const rO=N({targetQuery:m().trim().min(1),winnabilityClass:lp,angle:m().trim().min(1),whyWinnable:m().trim().min(1),schemaHookup:m().trim().min(1),controllableSurfaceRationale:m().trim().min(1)});N({targetRef:m(),promptVersion:m(),provider:m(),model:m(),brief:rO,costMillicents:S().int().nonnegative(),generatedAt:m()});const oO=N({domain:m(),competitorType:Sc,hits:S().int().nonnegative(),updatedAt:m()});N({classifications:z(oO)});const lO=N({uri:m(),title:m(),domain:m(),isOurDomain:ce(),isCompetitor:ce(),citationCount:S().int().nonnegative(),providers:z(ya)}),D0=N({query:m(),groundingSources:z(lO)});N({sources:z(D0),latestRunId:m()});const R0=N({query:m(),competitorDomains:z(m()),competitorCount:S().int().nonnegative(),missRate:S().min(0).max(1),lastSeenInRunId:m()});N({gaps:z(R0),latestRunId:m()});const B0=ie(["ok","warn","fail","skipped"]);B0.enum;const cp=ie(["global","project"]);cp.enum;const M0=ie(["auth","config","providers","integrations","database","schedules","agent"]);M0.enum;const cO=N({id:m(),category:M0,scope:cp,title:m(),status:B0,code:m().describe('Stable machine-readable code (e.g. "google.token.refresh-failed"). Use this for filtering and remediation logic.'),summary:m(),remediation:m().nullable().optional().describe('Operator-facing next step. Null when status is "ok" or no specific remediation applies.'),details:yt(m(),ga()).optional().describe("Structured context — principal email, redirect URI, missing scopes, etc. Stable per check id."),durationMs:S().int().nonnegative().describe("How long the check took to execute.")});N({scope:cp,project:m().nullable().describe('Project name when scope is "project", null otherwise.'),generatedAt:m().describe("ISO-8601 timestamp when this doctor run started."),durationMs:S().int().nonnegative(),summary:N({total:S().int().nonnegative(),ok:S().int().nonnegative(),warn:S().int().nonnegative(),fail:S().int().nonnegative(),skipped:S().int().nonnegative()}),checks:z(cO)});const uO=N({provider:m(),citationState:ki,cited:ce(),mentioned:ce(),runId:m(),runCreatedAt:m()}),dO=N({queryId:m(),query:m(),providers:z(uO),citedCount:S().int().nonnegative(),mentionedCount:S().int().nonnegative(),totalProviders:S().int().nonnegative()}),fO=N({queryId:m(),query:m(),provider:m(),citingCompetitors:z(m()),runId:m(),runCreatedAt:m()}),pO=N({providersConfigured:S().int().nonnegative(),providersCiting:S().int().nonnegative(),providersMentioning:S().int().nonnegative(),totalQueries:S().int().nonnegative(),queriesCitedAndMentioned:S().int().nonnegative(),queriesCitedOnly:S().int().nonnegative(),queriesMentionedOnly:S().int().nonnegative(),queriesInvisible:S().int().nonnegative(),latestRunId:m().nullable(),latestRunAt:m().nullable()});N({summary:pO,byQuery:z(dO),competitorGaps:z(fO),status:ie(["ready","no-data"]),reason:ie(["no-runs-yet","no-queries"]).optional()});const mO=ie(["prompt","request-param","browser-geo","ignored"]),hO=N({label:m(),city:m(),region:m(),country:m(),otherConfiguredLabels:z(m())}),gO=N({provider:m(),treatment:mO,description:m()}),yO=N({generatedAt:m(),project:N({id:m(),name:m(),displayName:m(),canonicalDomain:m(),country:m(),language:m()}),location:hO.nullable(),providerLocationHandling:z(gO),periodStart:m().nullable(),periodEnd:m().nullable()}),bO=N({citationRate:S(),citedQueryCount:S(),totalQueryCount:S(),mentionRate:S(),mentionedQueryCount:S(),trend:ie(["up","down","flat","unknown"]),queryCount:S(),competitorCount:S(),providerCount:S(),gsc:N({clicks:S(),impressions:S(),ctr:S(),avgPosition:S(),periodStart:m(),periodEnd:m()}).nullable(),ga:N({sessions:S(),users:S(),periodStart:m(),periodEnd:m()}).nullable(),findings:z(N({title:m(),detail:m(),tone:ie(["positive","caution","negative","neutral"])}))}),vO=N({citationState:ie(["cited","not-cited","pending"]),answerMentioned:ce().nullable(),model:m().nullable()}),SO=N({queries:z(m()),providers:z(m()),matrix:z(z(vO.nullable())),providerRates:z(N({provider:m(),citedCount:S(),totalCount:S(),citationRate:S()}))}),xO=N({domain:m(),citationCount:S(),totalCount:S(),pressureLabel:ie(["High","Moderate","Low","None"]),citedQueries:z(m()),sharePct:S(),theirCitedPages:z(N({url:m(),citedFor:z(m())}))}),wO=N({projectCitationCount:S(),competitors:z(xO)}),jO=N({domain:m(),mentionCount:S(),totalCount:S(),pressureLabel:ie(["High","Moderate","Low","None"]),mentionedQueries:z(m()),sharePct:S()}),NO=N({projectMentionCount:S(),totalAnswerSnapshots:S(),competitors:z(jO)}),kO=N({category:m(),label:m(),count:S(),sharePct:S()}),AO=N({categories:z(kO),topDomains:z(N({domain:m(),count:S(),isCompetitor:ce()}))}),_O=N({query:m(),clicks:S(),impressions:S(),ctr:S(),avgPosition:S(),category:ie(["brand","lead-gen","industry","other"])}),zO=N({periodStart:m(),periodEnd:m(),totalClicks:S(),totalImpressions:S(),ctr:S(),avgPosition:S(),topQueries:z(_O),categoryBreakdown:z(N({category:ie(["brand","lead-gen","industry","other"]),clicks:S(),impressions:S(),sharePct:S()})),trend:z(N({date:m(),clicks:S(),impressions:S()})),trackedButNoGsc:z(m()),gscButNotTracked:z(m())}),CO=N({totalSessions:S(),totalUsers:S(),totalOrganicSessions:S(),periodStart:m(),periodEnd:m(),topLandingPages:z(N({page:m(),sessions:S(),users:S(),organicSessions:S()})),channelBreakdown:z(N({channel:m(),sessions:S(),sharePct:S()}))}),TO=N({totalSessions:S(),organicSessions:S(),paidSessions:S(),channels:z(N({channelGroup:m(),sessions:S(),sharePct:S()})),topCampaigns:z(N({source:m(),medium:m(),sessions:S()}))}),EO=N({totalSessions:S(),totalUsers:S(),bySource:z(N({source:m(),sessions:S(),users:S(),sharePct:S()})),trend:z(N({date:m(),sessions:S()})),topLandingPages:z(N({page:m(),sessions:S(),users:S()}))}),OO=N({windowStart:m(),windowEnd:m(),hasData:ce(),verifiedCrawlerHits:N({current:S(),prior:S(),deltaPct:S().nullable()}),unverifiedCrawlerHits:N({current:S(),prior:S(),deltaPct:S().nullable()}),aiUserFetchHits:N({current:S(),prior:S(),deltaPct:S().nullable()}),referralArrivals:N({current:S(),prior:S(),deltaPct:S().nullable()}),byOperator:z(N({operator:m(),verifiedHits:S(),unverifiedHits:S(),userFetchHits:S(),referralArrivals:S(),deltaPct:S().nullable()})),topCrawledPaths:z(N({path:m(),verifiedHits:S(),distinctOperators:S()})),referralProducts:z(N({product:m(),arrivals:S(),distinctLandingPaths:S()})),dailyTrend:z(N({date:m(),verifiedCrawlerHits:S(),userFetchHits:S(),referralArrivals:S()})),topReferralLandingPaths:z(N({path:m(),arrivals:S(),distinctProducts:S()}))}),DO=N({provider:ie(["google","bing"]).nullable(),total:S(),indexed:S(),notIndexed:S(),deindexed:S(),unknown:S(),indexedPct:S()}),RO=N({runId:m(),date:m(),citationRate:S(),citedQueryCount:S(),totalQueryCount:S(),mentionRate:S(),mentionedQueryCount:S(),providerRates:z(N({provider:m(),citationRate:S()}))}),kf=N({id:m(),type:ie(["regression","gain","opportunity"]),severity:ie(["critical","high","medium","low"]),title:m(),query:m(),provider:m(),recommendation:m().nullable(),createdAt:m(),instanceCount:S()}),BO=N({horizon:ie(["immediate","short-term","medium-term"]),title:m(),rationale:m()}),Fr=N({current:S(),prior:S(),deltaAbs:S(),direction:ie(["up","down","flat"]),window:S().optional()}),MO=N({provider:m(),current:S(),prior:S(),deltaAbs:S(),direction:ie(["up","down","flat"])}),LO=N({enoughHistory:ce(),headline:m(),citationRate:Fr.nullable(),mentionRate:Fr.nullable(),citedQueryCount:Fr.nullable(),gscClicksDelta:Fr.nullable(),aiReferralsDelta:Fr.nullable(),providerMovements:z(MO),wins:z(kf),regressions:z(kf)});ie(["agency","client"]);const qO=ie(["agency","client","both"]),UO=ie(["immediate","short-term","medium-term"]),$O=ie(["high","medium","low"]);ie(["positive","caution","negative","neutral"]);const VO=ie(["content","competitors","provider","search-demand","indexing","location","monitoring"]),up=N({audience:qO,priority:S(),horizon:UO,category:VO,title:m(),action:m(),why:z(m()),evidence:z(m()),successMetric:m(),confidence:$O,targetRef:m().optional()}),IO=N({headline:m(),overview:m(),actionItems:z(up),confidenceNotes:z(m())}),GO=N({title:m(),detail:m(),severity:ie(["positive","caution","negative","neutral"]),evidence:z(m())}),PO=N({priorities:z(up),diagnostics:z(GO)});function XM(e){return e.horizon==="immediate"?"negative":e.confidence==="high"?"caution":e.confidence==="low"?"neutral":"caution"}function JM(e){switch(e){case"critical":return"Critical";case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}function FM(e){switch(e){case"immediate":return"Immediate";case"short-term":return"Short term";case"medium-term":return"Medium term"}}function WM(e){switch(e){case"content":return"Content";case"competitors":return"Competitors";case"provider":return"Provider";case"search-demand":return"Search demand";case"indexing":return"Indexing";case"location":return"Location";case"monitoring":return"Monitoring"}}function eL(e){switch(e){case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}N({meta:yO,executiveSummary:bO,citationScorecard:SO,competitorLandscape:wO,mentionLandscape:NO,aiSourceOrigin:AO,gsc:zO.nullable(),ga:CO.nullable(),socialReferrals:TO.nullable(),aiReferrals:EO.nullable(),serverActivity:OO.nullable(),indexingHealth:DO.nullable(),citationsTrend:z(RO),whatsChanged:LO,insights:z(kf),recommendedNextSteps:z(BO),actionPlan:z(up),clientSummary:IO,agencyDiagnostics:PO,contentOpportunities:z(O0),contentGaps:z(R0),groundingSources:z(D0)});const HO=ie(["claude","codex"]);HO.enum;const KO=ie(["claude","codex","all"]);KO.enum;const dp=ie(["cloud-run","wordpress","cloudflare","vercel","generic-log"]);dp.enum;const ZO=ie(["raw-request-events","aggregate-request-metrics","request-url","status-code","user-agent","remote-ip","referer","cursor-pull"]);ZO.enum;const QO=ie(["raw-request","aggregate-bucket"]),YO=QO.enum,XO=ie(["observed","provider-aggregated","inferred"]),JO=XO.enum,FO=N({type:m().nullable(),labels:yt(m(),m())}),WO=N({sourceType:dp,evidenceKind:Vt(YO["raw-request"]),confidence:Vt(JO.observed),eventId:m().min(1),observedAt:m().min(1),method:m().nullable(),requestUrl:m().nullable(),host:m().nullable(),path:m().min(1),queryString:m().nullable(),status:S().int().nullable(),userAgent:m().nullable(),remoteIp:m().nullable(),referer:m().nullable(),latencyMs:S().nullable(),requestSizeBytes:S().int().nullable(),responseSizeBytes:S().int().nullable(),providerResource:FO,providerLabels:yt(m(),m())});N({events:z(WO),rawEntryCount:S().int().nonnegative(),skippedEntryCount:S().int().nonnegative(),nextPageToken:m().optional(),filter:m()});const L0=ie(["connected","paused","error","archived"]),tL=L0.enum,q0=ie(["oauth","service-account"]);q0.enum;const e4=ie(["verified","claimed_unverified","unknown_ai_like"]),nL=e4.enum;N({gcpProjectId:m().min(1),serviceName:m().nullable().optional(),location:m().nullable().optional(),authMode:q0});N({baseUrl:m().url(),username:m().min(1)});const fp=ie(["production","preview"]);fp.enum;N({projectId:m().min(1),teamId:m().min(1),environment:fp});const U0=N({id:m(),projectId:m(),sourceType:dp,displayName:m(),status:L0,lastSyncedAt:m().nullable(),lastCursor:m().nullable(),lastError:m().nullable(),archivedAt:m().nullable(),config:yt(m(),ga()),createdAt:m(),updatedAt:m()});N({gcpProjectId:m().min(1),serviceName:m().min(1).optional(),location:m().min(1).optional(),displayName:m().min(1).optional(),keyJson:m().optional()});N({baseUrl:m().url(),username:m().min(1),applicationPassword:m().min(1),displayName:m().min(1).optional()});N({projectId:m().min(1),teamId:m().min(1),token:m().min(1),environment:fp.optional(),displayName:m().min(1).optional()});N({sourceId:m(),runId:m(),syncedAt:m(),pulledEvents:S().int().nonnegative(),selfTrafficExcluded:S().int().nonnegative(),crawlerHits:S().int().nonnegative(),aiUserFetchHits:S().int().nonnegative(),aiReferralHits:S().int().nonnegative(),unknownHits:S().int().nonnegative(),crawlerBucketRows:S().int().nonnegative(),aiUserFetchBucketRows:S().int().nonnegative(),aiReferralBucketRows:S().int().nonnegative(),sampleRows:S().int().nonnegative(),windowStart:m(),windowEnd:m()});N({days:S().int().positive().optional()});N({advanceToNow:Vt(!0)});N({sourceId:m(),runId:m(),status:Qs,windowStart:m(),windowEnd:m(),daysRequested:S().int().positive(),daysApplied:S().int().positive()});const t4=N({crawlerHits:S().int().nonnegative(),aiUserFetchHits:S().int().nonnegative(),aiReferralHits:S().int().nonnegative(),sampleCount:S().int().nonnegative()});N({sources:z(U0)});const n4=U0.extend({totals24h:t4,latestRun:N({runId:m(),status:Qs,startedAt:m().nullable(),finishedAt:m().nullable(),error:m().nullable()}).nullable()});N({sources:z(n4)});const a4=ie(["crawler","ai-user-fetch","ai-referral"]),pp=a4.enum,i4=N({kind:Vt(pp.crawler),sourceId:m(),tsHour:m(),botId:m(),operator:m(),verificationStatus:m(),pathNormalized:m(),status:S().int(),hits:S().int().nonnegative()}),s4=N({kind:Vt(pp["ai-user-fetch"]),sourceId:m(),tsHour:m(),botId:m(),operator:m(),verificationStatus:m(),pathNormalized:m(),status:S().int(),hits:S().int().nonnegative()}),r4=N({kind:Vt(pp["ai-referral"]),sourceId:m(),tsHour:m(),product:m(),operator:m(),sourceDomain:m(),evidenceType:m(),landingPathNormalized:m(),status:S().int(),hits:S().int().nonnegative()}),o4=c0("kind",[i4,s4,r4]);N({windowStart:m(),windowEnd:m(),totals:N({crawlerHits:S().int().nonnegative(),aiUserFetchHits:S().int().nonnegative(),aiReferralHits:S().int().nonnegative()}),events:z(o4)});N({apiKey:m().min(1)});N({connected:ce(),adAccountId:m().nullable().optional(),displayName:m().nullable().optional(),currencyCode:m().nullable().optional(),timezone:m().nullable().optional(),status:m().nullable().optional(),lastSyncedAt:m().nullable().optional()});N({disconnected:ce()});N({runId:m(),status:m()});const l4=N({type:m().nullable().optional(),title:m().nullable().optional(),body:m().nullable().optional(),targetUrl:m().nullable().optional()}),c4=N({id:m(),adGroupId:m(),name:m(),status:m(),reviewStatus:m().nullable().optional(),creative:l4.nullable().optional()}),u4=N({id:m(),campaignId:m(),name:m(),status:m(),billingEventType:m().nullable().optional(),maxBidMicros:S().int().nullable().optional(),contextHints:z(m()).default([]),ads:z(c4).default([])}),d4=N({id:m(),name:m(),status:m(),biddingType:m().nullable().optional(),dailySpendLimitMicros:S().int().nullable().optional(),lifetimeSpendLimitMicros:S().int().nullable().optional(),adGroups:z(u4).default([])});N({campaigns:z(d4)});const $0=ie(["campaign","ad_group"]);$0.enum;const f4=N({level:$0,entityId:m(),date:m(),impressions:S().int(),clicks:S().int(),spendMicros:S().int(),ctr:S().nullable(),cpcMicros:S().int().nullable()});N({rows:z(f4),currencyCode:m().nullable().optional()});const p4=N({impressions:S().int(),clicks:S().int(),spendMicros:S().int(),ctr:S().nullable(),cpcMicros:S().int().nullable()});N({connected:ce(),displayName:m().nullable().optional(),currencyCode:m().nullable().optional(),lastSyncedAt:m().nullable().optional(),campaignCount:S().int(),adGroupCount:S().int(),adCount:S().int(),window:N({from:m().nullable(),to:m().nullable()}),totals:p4});var m4=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(m4||{});const aL={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},iL={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},sL=ep;function h4(e){const n=[];if(e.message&&n.push(e.message),e.providers)for(const[i,r]of Object.entries(e.providers)){const l=`[${i}] ${r.message}`;r.raw!==void 0?n.push(`${l}
|
|
53
53
|
|
|
54
54
|
${JSON.stringify(r.raw,null,2)}`):n.push(l)}return n.length>0?n.join(`
|
|
55
55
|
|
|
@@ -207,4 +207,4 @@ spec:
|
|
|
207
207
|
`);fe(Fe)}}catch(te){Cn(te instanceof Error?te.message:"Failed to generate queries")}finally{He(!1)}}},Zn=async()=>{if(!oe)return;const te=ei;if(te.length!==0){Bi(!0),Di(null);try{await yk(oe,te),Lc(!0),await r(),j(4)}catch(Fe){Di(Fe instanceof Error?Fe.message:"Failed to save competitors")}finally{Bi(!1)}}},Vi=async()=>{const te=Li.trim();if(te){va(!0),Tn(null);try{await xk("gemini",{apiKey:te}),en({title:"Gemini configured",detail:"Provider is ready — continuing setup.",tone:"positive",dedupeKey:"setup:gemini:configured",dedupeMode:"drop"}),jo(""),await r()}catch(Fe){Tn(Fe instanceof Error?Fe.message:"Failed to save Gemini key")}finally{va(!1)}}},ti=async()=>{if(oe){xo(!0);try{const te=await Mi.mutateAsync({projectName:oe,projectLabel:k||A||oe,sourceAction:"setup-launch"});wo(te.id),qc(!0),await r()}catch{}finally{xo(!1)}}},Qn=()=>j(te=>Math.max(0,te-1)),No=(()=>{switch(x){case 0:return f.jsxs(jn,{className:"surface-card step-card",children:[f.jsx("div",{className:"section-head",children:f.jsxs("div",{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 1 of 5"}),f.jsx("h2",{children:"System ready"})]})}),f.jsx("p",{className:"supporting-copy",children:"Checking that your Canonry instance is configured and reachable."}),f.jsx("div",{className:"compact-stack",children:b.healthChecks.map(te=>f.jsxs("div",{className:"health-check-row",children:[f.jsxs("div",{children:[f.jsx("p",{className:"run-row-title",children:te.label}),f.jsx("p",{className:"supporting-copy",children:te.detail}),te.id==="provider"&&te.state!=="ready"&&f.jsxs("div",{className:"mt-3 rounded-md border border-zinc-800/60 bg-zinc-900/40 p-3 space-y-2",children:[f.jsxs("p",{className:"text-xs text-zinc-400",children:["Paste a Gemini key to enable visibility checks (free at"," ",f.jsx("a",{href:"https://aistudio.google.com/apikey",target:"_blank",rel:"noreferrer",className:"text-emerald-400 hover:text-emerald-300 underline underline-offset-2",children:"aistudio.google.com"}),")."]}),f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("input",{type:"password",value:Li,onChange:Fe=>jo(Fe.target.value),placeholder:"AI... (paste here)",className:"flex-1 rounded-md border border-zinc-800 bg-zinc-950 px-2.5 py-1.5 text-sm text-zinc-100 placeholder:text-zinc-600 focus:border-zinc-600 focus:outline-none font-mono",disabled:ir}),f.jsx(Ue,{type:"button",size:"sm",disabled:ir||!Li.trim(),onClick:wn(Vi),children:ir?"Saving...":"Save"})]}),Ut&&f.jsx("p",{className:"text-xs text-rose-400",children:Ut}),f.jsxs("p",{className:"text-[11px] text-zinc-600",children:["Other providers (OpenAI, Claude, Perplexity) configurable later via"," ",f.jsx(rt,{to:"/settings",className:"text-zinc-500 hover:text-zinc-300 underline underline-offset-2",children:"/settings"}),"."]})]})]}),f.jsx(Ln,{tone:te.state==="ready"?"positive":"caution",title:te.id==="api"?$s(g.apiStatus):te.id==="worker"?$s(g.workerStatus):te.detail,children:te.state==="ready"?"Ready":"Attention"})]},te.id))}),f.jsxs("div",{className:"setup-nav",children:[f.jsx("span",{}),f.jsx(Ue,{type:"button",disabled:!$c,onClick:()=>j(1),children:"Continue"})]})]});case 1:return f.jsxs(jn,{className:"surface-card step-card",children:[f.jsxs("div",{className:"section-head",children:[f.jsxs("div",{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 2 of 5"}),f.jsx("h2",{children:"Create project"})]}),oe?f.jsx(Ln,{tone:"positive",children:"Created"}):null]}),oe?f.jsxs("div",{className:"compact-stack",children:[f.jsxs("p",{className:"text-zinc-300",children:["Project ",f.jsx("span",{className:"text-zinc-100 font-medium",children:oe})," created successfully."]}),f.jsxs("div",{className:"setup-nav",children:[f.jsx(Ue,{type:"button",variant:"outline",onClick:Qn,children:"Back"}),f.jsx(Ue,{type:"button",onClick:()=>j(2),children:"Continue"})]})]}):f.jsxs("div",{className:"compact-stack",children:[f.jsxs("div",{className:"setup-field",children:[f.jsx("label",{className:"setup-label",htmlFor:"project-name",children:"Project name"}),f.jsx("input",{id:"project-name",className:"setup-input",type:"text",placeholder:"my-website",value:A,onChange:te=>T(te.target.value)}),mt&&mt!==A?f.jsxs("p",{className:"supporting-copy",children:["Slug: ",mt]}):null]}),f.jsxs("div",{className:"setup-field",children:[f.jsx("label",{className:"setup-label",htmlFor:"display-name",children:"Display name (optional)"}),f.jsx("input",{id:"display-name",className:"setup-input",type:"text",placeholder:"My Website",value:k,onChange:te=>E(te.target.value)})]}),f.jsxs("div",{className:"setup-field",children:[f.jsx("label",{className:"setup-label",htmlFor:"domain",children:"Canonical domain"}),f.jsx("input",{id:"domain",className:"setup-input",type:"text",placeholder:"example.com",value:R,onChange:te=>I(te.target.value)})]}),f.jsxs("div",{className:"setup-field-row",children:[f.jsxs("div",{className:"setup-field",children:[f.jsx("label",{className:"setup-label",htmlFor:"country",children:"Country"}),f.jsx("input",{id:"country",className:"setup-input",type:"text",placeholder:"US",maxLength:2,value:P,onChange:te=>Q(te.target.value.toUpperCase())})]}),f.jsxs("div",{className:"setup-field",children:[f.jsx("label",{className:"setup-label",htmlFor:"language",children:"Language"}),f.jsx("input",{id:"language",className:"setup-input",type:"text",placeholder:"en",maxLength:5,value:X,onChange:te=>J(te.target.value.toLowerCase())})]})]}),f.jsxs("label",{className:"flex items-start gap-3 rounded-md border border-zinc-800/60 bg-zinc-900/30 p-3 cursor-pointer hover:border-zinc-700",children:[f.jsx("input",{type:"checkbox",className:"mt-0.5 h-4 w-4 rounded border-zinc-700 bg-zinc-950",checked:O,onChange:te=>B(te.target.checked)}),f.jsxs("span",{className:"flex-1",children:[f.jsx("span",{className:"block text-sm text-zinc-100",children:"Auto-extract backlinks"}),f.jsxs("span",{className:"block text-xs text-zinc-500 mt-0.5",children:["When a new Common Crawl release syncs, automatically extract backlinks for this project."," ",f.jsx(rt,{to:"/backlinks",className:"text-emerald-400 hover:text-emerald-300 underline underline-offset-2",children:"Manage backlinks"})]})]})]}),tt?f.jsx("p",{className:"text-rose-400 text-sm",children:tt}):null,f.jsxs("div",{className:"setup-nav",children:[f.jsx(Ue,{type:"button",variant:"outline",onClick:Qn,children:"Back"}),f.jsx(Ue,{type:"button",disabled:!mt||!R||me,onClick:wn(qi),children:me?"Creating...":"Create project"})]})]})]});case 2:return f.jsxs(jn,{className:"surface-card step-card",children:[f.jsxs("div",{className:"section-head",children:[f.jsxs("div",{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 3 of 5"}),f.jsx("h2",{children:"Add queries"})]}),je?f.jsxs(Ln,{tone:"positive",children:[Un.length," saved"]}):f.jsxs(Ln,{tone:"neutral",children:[Un.length," quer",Un.length!==1?"ies":"y"]})]}),f.jsx("p",{className:"supporting-copy",children:"Enter the search queries you want to track. One per line."}),je?f.jsxs("div",{className:"compact-stack",children:[f.jsx("ul",{className:"detail-list",children:Un.map(te=>f.jsx("li",{children:te},te))}),f.jsxs("div",{className:"setup-nav",children:[f.jsx(Ue,{type:"button",variant:"outline",onClick:Qn,children:"Back"}),f.jsx(Ue,{type:"button",onClick:()=>j(3),children:"Continue"})]})]}):f.jsxs("div",{className:"compact-stack",children:[de.length>0?f.jsxs("div",{className:"compact-stack",children:[f.jsxs("div",{className:"flex items-center gap-2 text-zinc-500 text-xs uppercase tracking-wide",children:[f.jsx("span",{className:"flex-1 border-t border-zinc-800"}),"auto-generate",f.jsx("span",{className:"flex-1 border-t border-zinc-800"})]}),f.jsxs("div",{className:"flex items-end gap-2",children:[f.jsxs("div",{className:"setup-field flex-1",children:[f.jsx("label",{className:"setup-label",htmlFor:"gen-provider",children:"Provider"}),f.jsx("select",{id:"gen-provider",className:"setup-input",value:ne,onChange:te=>Ne(te.target.value),children:de.map(te=>f.jsxs("option",{value:te.name,children:[te.displayName??te.name,te.model?` (${te.model})`:""]},te.name))})]}),f.jsxs("div",{className:"setup-field",children:[f.jsx("label",{className:"setup-label",htmlFor:"gen-count",children:"Count"}),f.jsx("select",{id:"gen-count",className:"setup-input",value:nt,onChange:te=>xe(Number(te.target.value)),children:[3,5,10,15,20].map(te=>f.jsx("option",{value:te,children:te},te))})]}),f.jsx(Ue,{type:"button",variant:"outline",disabled:$e||!ne,onClick:wn($i),children:$e?"Analyzing site...":"Generate"})]}),Et?f.jsx("p",{className:"text-rose-400 text-sm",children:Et}):null]}):null,f.jsxs("div",{className:"flex items-center gap-2 text-zinc-500 text-xs uppercase tracking-wide",children:[f.jsx("span",{className:"flex-1 border-t border-zinc-800"}),"or type manually",f.jsx("span",{className:"flex-1 border-t border-zinc-800"})]}),f.jsxs("div",{className:"setup-field",children:[f.jsx("label",{className:"setup-label",htmlFor:"queries",children:"Queries (one per line)"}),f.jsx("textarea",{id:"queries",className:"setup-textarea",rows:6,placeholder:`emergency dentist brooklyn
|
|
208
208
|
best invisalign downtown brooklyn
|
|
209
209
|
pediatric dentist brooklyn heights`,value:W,onChange:te=>fe(te.target.value)})]}),Qe?f.jsx("p",{className:"text-rose-400 text-sm",children:Qe}):null,f.jsxs("div",{className:"setup-nav",children:[f.jsx(Ue,{type:"button",variant:"outline",onClick:Qn,children:"Back"}),f.jsx(Ue,{type:"button",disabled:Un.length===0||ue,onClick:wn(Ui),children:ue?"Saving...":`Save ${Un.length} quer${Un.length!==1?"ies":"y"}`})]})]})]});case 3:return f.jsxs(jn,{className:"surface-card step-card",children:[f.jsxs("div",{className:"section-head",children:[f.jsxs("div",{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 4 of 5"}),f.jsx("h2",{children:"Add competitors"})]}),Oi?f.jsx(Ln,{tone:"positive",children:"Saved"}):null]}),f.jsx("p",{className:"supporting-copy",children:"Domains that compete for the same queries. One per line."}),Oi?f.jsxs("div",{className:"compact-stack",children:[f.jsx("ul",{className:"detail-list",children:ei.map(te=>f.jsx("li",{children:te},te))}),f.jsxs("div",{className:"setup-nav",children:[f.jsx(Ue,{type:"button",variant:"outline",onClick:Qn,children:"Back"}),f.jsx(Ue,{type:"button",onClick:()=>j(4),children:"Continue"})]})]}):f.jsxs("div",{className:"compact-stack",children:[f.jsxs("div",{className:"setup-field",children:[f.jsx("label",{className:"setup-label",htmlFor:"competitors",children:"Competitor domains (one per line)"}),f.jsx("textarea",{id:"competitors",className:"setup-textarea",rows:4,placeholder:`competitor1.com
|
|
210
|
-
competitor2.com`,value:Ot,onChange:te=>tr(te.target.value)})]}),nr?f.jsx("p",{className:"text-rose-400 text-sm",children:nr}):null,f.jsxs("div",{className:"setup-nav",children:[f.jsx(Ue,{type:"button",variant:"outline",onClick:Qn,children:"Back"}),f.jsxs("div",{className:"flex gap-2",children:[f.jsx(Ue,{type:"button",variant:"outline",onClick:()=>j(4),children:"Skip"}),f.jsx(Ue,{type:"button",disabled:ei.length===0||Ri,onClick:wn(Zn),children:Ri?"Saving...":`Save ${ei.length} competitor${ei.length!==1?"s":""}`})]})]})]})]});case 4:{const te=Uc.data,Fe=te?.status==="completed"||te?.status==="partial"||te?.status==="failed"||te?.status==="cancelled",ni=te?.snapshots??[],ko=ni.filter(En=>En.citationState==="cited").length,Ao=ni.filter(En=>En.answerMentioned===!0).length,sr=new Set(ni.map(En=>En.query).filter(En=>!!En)).size,rr=So?Fe&&(te?.status==="completed"||te?.status==="partial")?f.jsx(Ln,{tone:"positive",children:"Complete"}):Fe?f.jsx(Ln,{tone:"negative",children:"Failed"}):f.jsx(Ln,{tone:"caution",children:"Running"}):null;return f.jsxs(jn,{className:"surface-card step-card",children:[f.jsxs("div",{className:"section-head",children:[f.jsxs("div",{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 5 of 5"}),f.jsx("h2",{children:"Launch first run"})]}),rr]}),So?Fe?te?.status==="failed"?f.jsxs("div",{className:"compact-stack",children:[f.jsx("p",{className:"text-rose-400",children:"Sweep failed. Inspect the run on the project page for the provider error and retry from there."}),f.jsxs("div",{className:"setup-nav",children:[f.jsx("span",{}),f.jsx(Ue,{type:"button",onClick:()=>{v({to:ze?`/projects/${ze}`:"/"})},children:"Open project"})]})]}):f.jsxs("div",{className:"compact-stack",children:[f.jsxs("p",{className:"text-zinc-300",children:["Sweep complete. Your first answer-visibility snapshot for"," ",f.jsx("span",{className:"text-zinc-100 font-medium",children:oe}),":"]}),f.jsxs("div",{className:"grid grid-cols-3 gap-2 mt-1",children:[f.jsxs("div",{className:"rounded-md border border-zinc-800/60 bg-zinc-900/30 p-3",children:[f.jsx("p",{className:"text-[10px] uppercase tracking-wide text-zinc-500",children:"Mentioned"}),f.jsxs("p",{className:"text-2xl font-bold tabular-nums text-zinc-50 mt-1",children:[Ao,f.jsxs("span",{className:"text-zinc-600 text-lg",children:[" / ",sr]})]}),f.jsx("p",{className:"text-[11px] text-zinc-500 mt-0.5",children:"queries with brand in answer"})]}),f.jsxs("div",{className:"rounded-md border border-zinc-800/60 bg-zinc-900/30 p-3",children:[f.jsx("p",{className:"text-[10px] uppercase tracking-wide text-zinc-500",children:"Cited"}),f.jsxs("p",{className:"text-2xl font-bold tabular-nums text-zinc-50 mt-1",children:[ko,f.jsxs("span",{className:"text-zinc-600 text-lg",children:[" / ",sr]})]}),f.jsx("p",{className:"text-[11px] text-zinc-500 mt-0.5",children:"queries with domain in sources"})]}),f.jsxs("div",{className:"rounded-md border border-zinc-800/60 bg-zinc-900/30 p-3",children:[f.jsx("p",{className:"text-[10px] uppercase tracking-wide text-zinc-500",children:"Snapshots"}),f.jsx("p",{className:"text-2xl font-bold tabular-nums text-zinc-50 mt-1",children:ni.length}),f.jsx("p",{className:"text-[11px] text-zinc-500 mt-0.5",children:"total (query × provider)"})]})]}),f.jsx("p",{className:"text-[11px] text-zinc-500 mt-1",children:"Full evidence, per-provider breakdown, and suggested next queries on the project dashboard."}),f.jsxs("div",{className:"setup-nav",children:[f.jsx("span",{}),f.jsx(Ue,{type:"button",onClick:()=>{v({to:ze?`/projects/${ze}`:"/"})},children:"Open project dashboard →"})]})]}):f.jsxs("div",{className:"compact-stack",children:[f.jsx("p",{className:"text-zinc-300",children:"Sweep running — typically 30-60s. Polling every 2s…"}),f.jsx("div",{className:"rounded-md border border-zinc-800/60 bg-zinc-900/30 p-3 text-xs text-zinc-500",children:f.jsxs("p",{children:["Status: ",f.jsx("span",{className:"text-zinc-300",children:te?.status??"queued"})]})}),f.jsxs("div",{className:"setup-nav",children:[f.jsx("span",{}),f.jsx(Ue,{type:"button",variant:"outline",onClick:()=>{v({to:ze?`/projects/${ze}`:"/"})},children:"Watch on project page"})]})]}):f.jsxs("div",{className:"compact-stack",children:[f.jsxs("p",{className:"supporting-copy",children:["Everything is configured. Launch an answer-visibility sweep to start tracking citations for ",f.jsx("span",{className:"text-zinc-100 font-medium",children:oe}),"."]}),f.jsxs("div",{className:"setup-nav",children:[f.jsx(Ue,{type:"button",variant:"outline",onClick:Qn,children:"Back"}),f.jsx(Ue,{type:"button",disabled:qt,onClick:wn(ti),children:qt?"Launching...":"Launch visibility sweep"})]})]})]})}default:return null}})();return f.jsxs("div",{className:"page-container",children:[f.jsx("div",{className:"page-header",children:f.jsxs("div",{className:"page-header-left",children:[f.jsx("h1",{className:"page-title",children:"Setup"}),f.jsx("p",{className:"page-subtitle",children:"Create a project, add queries, add competitors, and launch the first run."})]})}),f.jsx(W5,{current:x,labels:F5}),f.jsx("section",{className:"setup-wizard",children:No})]})}function tB(){return f.jsx("div",{className:"page-container",children:f.jsx("section",{className:"page-section",children:f.jsxs(jn,{className:"surface-card empty-card",children:[f.jsx("h1",{children:"Route not found"}),f.jsx("p",{children:"The current path does not map to a dashboard view."}),f.jsx(Ue,{asChild:!0,children:f.jsx(rt,{to:"/",children:"Return to overview"})})]})})})}const ba=Gs(()=>Ps(()=>import("./ProjectPage-UPmHfuxR.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),"ProjectPage"),nB=Gs(()=>Ps(()=>import("./RunsPage-BQpHfUJf.js"),__vite__mapDeps([9,1,2,7,5,8]),import.meta.url),"RunsPage"),aB=Gs(()=>Ps(()=>import("./SettingsPage-DjTJlr_1.js"),__vite__mapDeps([10,1,7,5,8]),import.meta.url),"SettingsPage"),iB=Gs(()=>Ps(()=>import("./BacklinksPage-CHclt-pq.js"),__vite__mapDeps([11,1,6,7,5,8]),import.meta.url),"BacklinksPage"),sB=Gs(()=>Ps(()=>import("./TrafficPage-D7rv3BrH.js"),__vite__mapDeps([12,1,4,13,7,5,8]),import.meta.url),"TrafficPage"),rB=Gs(()=>Ps(()=>import("./TrafficSourceDetailPage-BysyuH2H.js"),__vite__mapDeps([14,1,4,3,5,13,7,8]),import.meta.url),"TrafficSourceDetailPage");function oB(){return f.jsx(OR,{children:f.jsx(ER,{})})}const tn=kw()({component:oB,validateSearch:e=>({runId:typeof e.runId=="string"?e.runId:void 0,evidenceId:typeof e.evidenceId=="string"?e.evidenceId:void 0})}),lB=zt({getParentRoute:()=>tn,path:"/",component:BR,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Xs({client:ae}));if(n&&n.length===0)throw ov({to:"/setup"})}}),cB=zt({getParentRoute:()=>tn,path:"/projects",component:Z5}),Kn=zt({getParentRoute:()=>tn,path:"/projects/$projectId",component:()=>f.jsx(rv,{})}),uB=zt({getParentRoute:()=>Kn,path:"/",component:()=>f.jsx(ba,{tab:"overview"})}),dB=zt({getParentRoute:()=>Kn,path:"/search-console",component:()=>f.jsx(ba,{tab:"search-console"})}),fB=zt({getParentRoute:()=>Kn,path:"/local",component:()=>f.jsx(ba,{tab:"local"})}),pB=zt({getParentRoute:()=>Kn,path:"/discovery",component:()=>f.jsx(ba,{tab:"discovery"})}),mB=zt({getParentRoute:()=>Kn,path:"/report",component:()=>f.jsx(ba,{tab:"report"})}),hB=zt({getParentRoute:()=>Kn,path:"/activity",component:()=>f.jsx(ba,{tab:"activity"})}),gB=zt({getParentRoute:()=>Kn,path:"/backlinks",component:()=>f.jsx(ba,{tab:"backlinks"})}),yB=zt({getParentRoute:()=>Kn,path:"/technical-aeo",component:()=>f.jsx(ba,{tab:"technical-aeo"})}),bB=zt({getParentRoute:()=>Kn,path:"/settings",component:()=>f.jsx(ba,{tab:"settings"})}),vB=zt({getParentRoute:()=>tn,path:"/runs",component:nB}),SB=zt({getParentRoute:()=>tn,path:"/settings",component:aB,beforeLoad:({context:e})=>{}}),xB=zt({getParentRoute:()=>tn,path:"/setup",component:eB,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Xs({client:ae}));if(n&&n.length>0)throw ov({to:"/"})}}),wB=zt({getParentRoute:()=>tn,path:"/backlinks",component:iB}),jB=zt({getParentRoute:()=>tn,path:"/traffic",component:sB}),NB=zt({getParentRoute:()=>tn,path:"/traffic/$projectName/$sourceId",component:rB}),kB=zt({getParentRoute:()=>tn,path:"*",component:tB}),AB=tn.addChildren([lB,cB,Kn.addChildren([uB,dB,fB,pB,mB,hB,gB,yB,bB]),vB,SB,xB,wB,jB,NB,kB]);function _B(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const iv=_B(),zB=iv==="/"?"":iv.replace(/\/$/,"");function CB(e,n){return Aw({routeTree:AB,basepath:zB||"/",context:{queryClient:e},...n?.initialEntries})}const TB=6e4;function EB(){const[e,n]=q.useState(ef()?"ready":"checking"),[i,r]=q.useState(""),[l,c]=q.useState(""),[d,h]=q.useState(null),[g,b]=q.useState(!1),[v,x]=q.useState(!1),j=q.useRef(null),A=q.useRef(null),T=()=>{if(!j.current){const R=Gk();A.current=R,j.current=CB(R)}return{queryClient:A.current,router:j.current}};q.useEffect(()=>{if(ef())return;let R=!1;return $y().then(I=>{R||(I.authenticated?n("ready"):n(I.setupRequired?"setup":"login"))}).catch(I=>{R||(h(I instanceof Error?I.message:"Failed to reach the Canonry API"),n("login"))}),()=>{R=!0}},[]),q.useEffect(()=>{if(e!=="ready"||ef())return;const R=setInterval(()=>{$y().then(I=>{I.authenticated||(x(!0),n(I.setupRequired?"setup":"login"))}).catch(()=>{})},TB);return Uy(()=>{x(!0),n("login")}),()=>{clearInterval(R),Uy(null)}},[e]);const k=async R=>{if(R.preventDefault(),!i.trim()||i.trim().length<8){h("Password must be at least 8 characters");return}if(i!==l){h("Passwords do not match");return}b(!0),h(null);try{if(!(await vk(i.trim())).authenticated){h("Setup failed");return}r(""),c(""),x(!1),n("ready")}catch(I){h(I instanceof Pn||I instanceof Error?I.message:"Setup failed")}finally{b(!1)}},E=async R=>{if(R.preventDefault(),!!i.trim()){b(!0),h(null);try{if(!(await Sk(i.trim())).authenticated){h("Incorrect password");return}r(""),x(!1),n("ready")}catch(I){h(I instanceof Pn||I instanceof Error?I.message:"Authentication failed")}finally{b(!1)}}};if(e==="ready"){const{queryClient:R,router:I}=T();return f.jsx(_w,{client:R,children:f.jsx(zw,{router:I})})}return f.jsx("div",{className:"min-h-screen bg-zinc-950 px-4 py-8",children:f.jsx("div",{className:"mx-auto flex min-h-[calc(100vh-4rem)] max-w-md items-center justify-center",children:f.jsx(jn,{className:"surface-card w-full",children:e==="checking"?f.jsx(Jl,{className:"py-8",children:f.jsx("p",{className:"supporting-copy text-center",children:"Connecting to Canonry…"})}):e==="setup"?f.jsxs(f.Fragment,{children:[f.jsxs(Cf,{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"First-time setup"}),f.jsx(Tf,{children:"Create a dashboard password"}),f.jsx(Ef,{children:"Choose a password to protect the Canonry dashboard. You will use this to sign in on future visits."})]}),f.jsx(Jl,{children:f.jsxs("form",{className:"space-y-4",onSubmit:wn(k),children:[f.jsxs("label",{className:"block space-y-1.5",children:[f.jsx("span",{className:"text-xs font-medium text-zinc-400",children:"Password"}),f.jsx("input",{autoFocus:!0,className:"w-full rounded-md border border-zinc-800 bg-zinc-950 px-3 py-2 text-sm text-zinc-100 outline-none transition focus:border-zinc-600",type:"password",value:i,onChange:R=>r(R.target.value),placeholder:"At least 8 characters"})]}),f.jsxs("label",{className:"block space-y-1.5",children:[f.jsx("span",{className:"text-xs font-medium text-zinc-400",children:"Confirm password"}),f.jsx("input",{className:"w-full rounded-md border border-zinc-800 bg-zinc-950 px-3 py-2 text-sm text-zinc-100 outline-none transition focus:border-zinc-600",type:"password",value:l,onChange:R=>c(R.target.value),placeholder:"Re-enter password"})]}),d?f.jsx("p",{className:"text-sm text-rose-400",children:d}):null,f.jsx(Ue,{type:"submit",disabled:g||!i.trim()||!l.trim(),children:g?"Setting up…":"Create password & open dashboard"})]})})]}):f.jsxs(f.Fragment,{children:[f.jsxs(Cf,{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),f.jsx(Tf,{children:"Sign in to Canonry"}),f.jsx(Ef,{children:"Enter your dashboard password to continue."})]}),f.jsxs(Jl,{children:[v?f.jsx("p",{className:"mb-4 rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-sm text-amber-300",children:"Your session expired — please sign in again."}):null,f.jsxs("form",{className:"space-y-4",onSubmit:wn(E),children:[f.jsxs("label",{className:"block space-y-1.5",children:[f.jsx("span",{className:"text-xs font-medium text-zinc-400",children:"Password"}),f.jsx("input",{autoFocus:!0,className:"w-full rounded-md border border-zinc-800 bg-zinc-950 px-3 py-2 text-sm text-zinc-100 outline-none transition focus:border-zinc-600",type:"password",value:i,onChange:R=>r(R.target.value),placeholder:"Dashboard password"})]}),d?f.jsx("p",{className:"text-sm text-rose-400",children:d}):null,f.jsx(Ue,{type:"submit",disabled:g||!i.trim(),children:g?"Signing in…":"Open dashboard"})]})]})]})})})})}const s1=document.getElementById("root");if(!s1)throw new Error("Expected #root element for web app bootstrap.");Bw.createRoot(s1).render(f.jsx(q.StrictMode,{children:f.jsx(EB,{})}));export{AL as $,oL as A,Ue as B,oc as C,ZB as D,fL as E,mL as F,KM as G,hL as H,eo as I,aM as J,nM as K,sM as L,en as M,mM as N,bL as O,fD as P,vL as Q,oM as R,m4 as S,Ln as T,gL as U,yL as V,pL as W,iM as X,lM as Y,SL as Z,xL as _,YL as a,XB as a$,NL as a0,kL as a1,Ek as a2,H0 as a3,ke as a4,jL as a5,p3 as a6,Ai as a7,wL as a8,eE as a9,dM as aA,hp as aB,KL as aC,QL as aD,ZL as aE,cM as aF,sA as aG,Ev as aH,e3 as aI,n3 as aJ,t3 as aK,LL as aL,wM as aM,i6 as aN,FM as aO,XM as aP,WM as aQ,eL as aR,YM as aS,JM as aT,PB as aU,GB as aV,IB as aW,YB as aX,uL as aY,jb as aZ,cL as a_,tE as aa,QM as ab,ZM as ac,IM as ad,DM as ae,UM as af,$M as ag,Pn as ah,VM as ai,MB as aj,SA as ak,sL as al,bA as am,zA as an,g3 as ao,tc as ap,PM as aq,GM as ar,vf as as,qL as at,rM as au,GL as av,PL as aw,HL as ax,uM as ay,Xs as az,Hf as b,TM as b$,JB as b0,lL as b1,FB as b2,WB as b3,tM as b4,eM as b5,ho as b6,mp as b7,WD as b8,J5 as b9,gM as bA,yM as bB,SM as bC,Nc as bD,WL as bE,vp as bF,xk as bG,QB as bH,fM as bI,pM as bJ,xp as bK,xM as bL,$s as bM,Nb as bN,EM as bO,RM as bP,MM as bQ,LM as bR,OM as bS,BM as bT,qM as bU,pD as bV,cS as bW,bD as bX,uS as bY,dS as bZ,mA as b_,Ht as ba,pk as bb,FL as bc,JL as bd,HB as be,UB as bf,$B as bg,KB as bh,fk as bi,yk as bj,qB as bk,LB as bl,hk as bm,VB as bn,a6 as bo,w4 as bp,_L as bq,CL as br,kk as bs,TL as bt,vM as bu,bM as bv,EL as bw,zL as bx,iL as by,hM as bz,et as c,Hy as c0,VL as c1,tL as c2,nL as c3,pp as c4,dL as c5,Hs as c6,UL as c7,IL as c8,CM as c9,_M as ca,zM as cb,AM as cc,$L as cd,TT as d,XL as e,rL as f,jn as g,Bb as h,wn as i,HM as j,OL as k,ae as l,DL as m,RL as n,ML as o,BL as p,jM as q,kM as r,NM as s,g4 as t,wp as u,e6 as v,t6 as w,n6 as x,zf as y,aL as z};
|
|
210
|
+
competitor2.com`,value:Ot,onChange:te=>tr(te.target.value)})]}),nr?f.jsx("p",{className:"text-rose-400 text-sm",children:nr}):null,f.jsxs("div",{className:"setup-nav",children:[f.jsx(Ue,{type:"button",variant:"outline",onClick:Qn,children:"Back"}),f.jsxs("div",{className:"flex gap-2",children:[f.jsx(Ue,{type:"button",variant:"outline",onClick:()=>j(4),children:"Skip"}),f.jsx(Ue,{type:"button",disabled:ei.length===0||Ri,onClick:wn(Zn),children:Ri?"Saving...":`Save ${ei.length} competitor${ei.length!==1?"s":""}`})]})]})]})]});case 4:{const te=Uc.data,Fe=te?.status==="completed"||te?.status==="partial"||te?.status==="failed"||te?.status==="cancelled",ni=te?.snapshots??[],ko=ni.filter(En=>En.citationState==="cited").length,Ao=ni.filter(En=>En.answerMentioned===!0).length,sr=new Set(ni.map(En=>En.query).filter(En=>!!En)).size,rr=So?Fe&&(te?.status==="completed"||te?.status==="partial")?f.jsx(Ln,{tone:"positive",children:"Complete"}):Fe?f.jsx(Ln,{tone:"negative",children:"Failed"}):f.jsx(Ln,{tone:"caution",children:"Running"}):null;return f.jsxs(jn,{className:"surface-card step-card",children:[f.jsxs("div",{className:"section-head",children:[f.jsxs("div",{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 5 of 5"}),f.jsx("h2",{children:"Launch first run"})]}),rr]}),So?Fe?te?.status==="failed"?f.jsxs("div",{className:"compact-stack",children:[f.jsx("p",{className:"text-rose-400",children:"Sweep failed. Inspect the run on the project page for the provider error and retry from there."}),f.jsxs("div",{className:"setup-nav",children:[f.jsx("span",{}),f.jsx(Ue,{type:"button",onClick:()=>{v({to:ze?`/projects/${ze}`:"/"})},children:"Open project"})]})]}):f.jsxs("div",{className:"compact-stack",children:[f.jsxs("p",{className:"text-zinc-300",children:["Sweep complete. Your first answer-visibility snapshot for"," ",f.jsx("span",{className:"text-zinc-100 font-medium",children:oe}),":"]}),f.jsxs("div",{className:"grid grid-cols-3 gap-2 mt-1",children:[f.jsxs("div",{className:"rounded-md border border-zinc-800/60 bg-zinc-900/30 p-3",children:[f.jsx("p",{className:"text-[10px] uppercase tracking-wide text-zinc-500",children:"Mentioned"}),f.jsxs("p",{className:"text-2xl font-bold tabular-nums text-zinc-50 mt-1",children:[Ao,f.jsxs("span",{className:"text-zinc-600 text-lg",children:[" / ",sr]})]}),f.jsx("p",{className:"text-[11px] text-zinc-500 mt-0.5",children:"queries with brand in answer"})]}),f.jsxs("div",{className:"rounded-md border border-zinc-800/60 bg-zinc-900/30 p-3",children:[f.jsx("p",{className:"text-[10px] uppercase tracking-wide text-zinc-500",children:"Cited"}),f.jsxs("p",{className:"text-2xl font-bold tabular-nums text-zinc-50 mt-1",children:[ko,f.jsxs("span",{className:"text-zinc-600 text-lg",children:[" / ",sr]})]}),f.jsx("p",{className:"text-[11px] text-zinc-500 mt-0.5",children:"queries with domain in sources"})]}),f.jsxs("div",{className:"rounded-md border border-zinc-800/60 bg-zinc-900/30 p-3",children:[f.jsx("p",{className:"text-[10px] uppercase tracking-wide text-zinc-500",children:"Snapshots"}),f.jsx("p",{className:"text-2xl font-bold tabular-nums text-zinc-50 mt-1",children:ni.length}),f.jsx("p",{className:"text-[11px] text-zinc-500 mt-0.5",children:"total (query × provider)"})]})]}),f.jsx("p",{className:"text-[11px] text-zinc-500 mt-1",children:"Full evidence, per-provider breakdown, and suggested next queries on the project dashboard."}),f.jsxs("div",{className:"setup-nav",children:[f.jsx("span",{}),f.jsx(Ue,{type:"button",onClick:()=>{v({to:ze?`/projects/${ze}`:"/"})},children:"Open project dashboard →"})]})]}):f.jsxs("div",{className:"compact-stack",children:[f.jsx("p",{className:"text-zinc-300",children:"Sweep running — typically 30-60s. Polling every 2s…"}),f.jsx("div",{className:"rounded-md border border-zinc-800/60 bg-zinc-900/30 p-3 text-xs text-zinc-500",children:f.jsxs("p",{children:["Status: ",f.jsx("span",{className:"text-zinc-300",children:te?.status??"queued"})]})}),f.jsxs("div",{className:"setup-nav",children:[f.jsx("span",{}),f.jsx(Ue,{type:"button",variant:"outline",onClick:()=>{v({to:ze?`/projects/${ze}`:"/"})},children:"Watch on project page"})]})]}):f.jsxs("div",{className:"compact-stack",children:[f.jsxs("p",{className:"supporting-copy",children:["Everything is configured. Launch an answer-visibility sweep to start tracking citations for ",f.jsx("span",{className:"text-zinc-100 font-medium",children:oe}),"."]}),f.jsxs("div",{className:"setup-nav",children:[f.jsx(Ue,{type:"button",variant:"outline",onClick:Qn,children:"Back"}),f.jsx(Ue,{type:"button",disabled:qt,onClick:wn(ti),children:qt?"Launching...":"Launch visibility sweep"})]})]})]})}default:return null}})();return f.jsxs("div",{className:"page-container",children:[f.jsx("div",{className:"page-header",children:f.jsxs("div",{className:"page-header-left",children:[f.jsx("h1",{className:"page-title",children:"Setup"}),f.jsx("p",{className:"page-subtitle",children:"Create a project, add queries, add competitors, and launch the first run."})]})}),f.jsx(W5,{current:x,labels:F5}),f.jsx("section",{className:"setup-wizard",children:No})]})}function tB(){return f.jsx("div",{className:"page-container",children:f.jsx("section",{className:"page-section",children:f.jsxs(jn,{className:"surface-card empty-card",children:[f.jsx("h1",{children:"Route not found"}),f.jsx("p",{children:"The current path does not map to a dashboard view."}),f.jsx(Ue,{asChild:!0,children:f.jsx(rt,{to:"/",children:"Return to overview"})})]})})})}const ba=Gs(()=>Ps(()=>import("./ProjectPage-CpMcEmtw.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),"ProjectPage"),nB=Gs(()=>Ps(()=>import("./RunsPage-B3ahqf8s.js"),__vite__mapDeps([9,1,2,7,5,8]),import.meta.url),"RunsPage"),aB=Gs(()=>Ps(()=>import("./SettingsPage-BIjeI85q.js"),__vite__mapDeps([10,1,7,5,8]),import.meta.url),"SettingsPage"),iB=Gs(()=>Ps(()=>import("./BacklinksPage-OrSg_iPA.js"),__vite__mapDeps([11,1,6,7,5,8]),import.meta.url),"BacklinksPage"),sB=Gs(()=>Ps(()=>import("./TrafficPage-DjGoj691.js"),__vite__mapDeps([12,1,4,13,7,5,8]),import.meta.url),"TrafficPage"),rB=Gs(()=>Ps(()=>import("./TrafficSourceDetailPage-BgKG-2q3.js"),__vite__mapDeps([14,1,4,3,5,13,7,8]),import.meta.url),"TrafficSourceDetailPage");function oB(){return f.jsx(OR,{children:f.jsx(ER,{})})}const tn=kw()({component:oB,validateSearch:e=>({runId:typeof e.runId=="string"?e.runId:void 0,evidenceId:typeof e.evidenceId=="string"?e.evidenceId:void 0})}),lB=zt({getParentRoute:()=>tn,path:"/",component:BR,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Xs({client:ae}));if(n&&n.length===0)throw ov({to:"/setup"})}}),cB=zt({getParentRoute:()=>tn,path:"/projects",component:Z5}),Kn=zt({getParentRoute:()=>tn,path:"/projects/$projectId",component:()=>f.jsx(rv,{})}),uB=zt({getParentRoute:()=>Kn,path:"/",component:()=>f.jsx(ba,{tab:"overview"})}),dB=zt({getParentRoute:()=>Kn,path:"/search-console",component:()=>f.jsx(ba,{tab:"search-console"})}),fB=zt({getParentRoute:()=>Kn,path:"/local",component:()=>f.jsx(ba,{tab:"local"})}),pB=zt({getParentRoute:()=>Kn,path:"/discovery",component:()=>f.jsx(ba,{tab:"discovery"})}),mB=zt({getParentRoute:()=>Kn,path:"/report",component:()=>f.jsx(ba,{tab:"report"})}),hB=zt({getParentRoute:()=>Kn,path:"/activity",component:()=>f.jsx(ba,{tab:"activity"})}),gB=zt({getParentRoute:()=>Kn,path:"/backlinks",component:()=>f.jsx(ba,{tab:"backlinks"})}),yB=zt({getParentRoute:()=>Kn,path:"/technical-aeo",component:()=>f.jsx(ba,{tab:"technical-aeo"})}),bB=zt({getParentRoute:()=>Kn,path:"/settings",component:()=>f.jsx(ba,{tab:"settings"})}),vB=zt({getParentRoute:()=>tn,path:"/runs",component:nB}),SB=zt({getParentRoute:()=>tn,path:"/settings",component:aB,beforeLoad:({context:e})=>{}}),xB=zt({getParentRoute:()=>tn,path:"/setup",component:eB,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Xs({client:ae}));if(n&&n.length>0)throw ov({to:"/"})}}),wB=zt({getParentRoute:()=>tn,path:"/backlinks",component:iB}),jB=zt({getParentRoute:()=>tn,path:"/traffic",component:sB}),NB=zt({getParentRoute:()=>tn,path:"/traffic/$projectName/$sourceId",component:rB}),kB=zt({getParentRoute:()=>tn,path:"*",component:tB}),AB=tn.addChildren([lB,cB,Kn.addChildren([uB,dB,fB,pB,mB,hB,gB,yB,bB]),vB,SB,xB,wB,jB,NB,kB]);function _B(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const iv=_B(),zB=iv==="/"?"":iv.replace(/\/$/,"");function CB(e,n){return Aw({routeTree:AB,basepath:zB||"/",context:{queryClient:e},...n?.initialEntries})}const TB=6e4;function EB(){const[e,n]=q.useState(ef()?"ready":"checking"),[i,r]=q.useState(""),[l,c]=q.useState(""),[d,h]=q.useState(null),[g,b]=q.useState(!1),[v,x]=q.useState(!1),j=q.useRef(null),A=q.useRef(null),T=()=>{if(!j.current){const R=Gk();A.current=R,j.current=CB(R)}return{queryClient:A.current,router:j.current}};q.useEffect(()=>{if(ef())return;let R=!1;return $y().then(I=>{R||(I.authenticated?n("ready"):n(I.setupRequired?"setup":"login"))}).catch(I=>{R||(h(I instanceof Error?I.message:"Failed to reach the Canonry API"),n("login"))}),()=>{R=!0}},[]),q.useEffect(()=>{if(e!=="ready"||ef())return;const R=setInterval(()=>{$y().then(I=>{I.authenticated||(x(!0),n(I.setupRequired?"setup":"login"))}).catch(()=>{})},TB);return Uy(()=>{x(!0),n("login")}),()=>{clearInterval(R),Uy(null)}},[e]);const k=async R=>{if(R.preventDefault(),!i.trim()||i.trim().length<8){h("Password must be at least 8 characters");return}if(i!==l){h("Passwords do not match");return}b(!0),h(null);try{if(!(await vk(i.trim())).authenticated){h("Setup failed");return}r(""),c(""),x(!1),n("ready")}catch(I){h(I instanceof Pn||I instanceof Error?I.message:"Setup failed")}finally{b(!1)}},E=async R=>{if(R.preventDefault(),!!i.trim()){b(!0),h(null);try{if(!(await Sk(i.trim())).authenticated){h("Incorrect password");return}r(""),x(!1),n("ready")}catch(I){h(I instanceof Pn||I instanceof Error?I.message:"Authentication failed")}finally{b(!1)}}};if(e==="ready"){const{queryClient:R,router:I}=T();return f.jsx(_w,{client:R,children:f.jsx(zw,{router:I})})}return f.jsx("div",{className:"min-h-screen bg-zinc-950 px-4 py-8",children:f.jsx("div",{className:"mx-auto flex min-h-[calc(100vh-4rem)] max-w-md items-center justify-center",children:f.jsx(jn,{className:"surface-card w-full",children:e==="checking"?f.jsx(Jl,{className:"py-8",children:f.jsx("p",{className:"supporting-copy text-center",children:"Connecting to Canonry…"})}):e==="setup"?f.jsxs(f.Fragment,{children:[f.jsxs(Cf,{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"First-time setup"}),f.jsx(Tf,{children:"Create a dashboard password"}),f.jsx(Ef,{children:"Choose a password to protect the Canonry dashboard. You will use this to sign in on future visits."})]}),f.jsx(Jl,{children:f.jsxs("form",{className:"space-y-4",onSubmit:wn(k),children:[f.jsxs("label",{className:"block space-y-1.5",children:[f.jsx("span",{className:"text-xs font-medium text-zinc-400",children:"Password"}),f.jsx("input",{autoFocus:!0,className:"w-full rounded-md border border-zinc-800 bg-zinc-950 px-3 py-2 text-sm text-zinc-100 outline-none transition focus:border-zinc-600",type:"password",value:i,onChange:R=>r(R.target.value),placeholder:"At least 8 characters"})]}),f.jsxs("label",{className:"block space-y-1.5",children:[f.jsx("span",{className:"text-xs font-medium text-zinc-400",children:"Confirm password"}),f.jsx("input",{className:"w-full rounded-md border border-zinc-800 bg-zinc-950 px-3 py-2 text-sm text-zinc-100 outline-none transition focus:border-zinc-600",type:"password",value:l,onChange:R=>c(R.target.value),placeholder:"Re-enter password"})]}),d?f.jsx("p",{className:"text-sm text-rose-400",children:d}):null,f.jsx(Ue,{type:"submit",disabled:g||!i.trim()||!l.trim(),children:g?"Setting up…":"Create password & open dashboard"})]})})]}):f.jsxs(f.Fragment,{children:[f.jsxs(Cf,{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),f.jsx(Tf,{children:"Sign in to Canonry"}),f.jsx(Ef,{children:"Enter your dashboard password to continue."})]}),f.jsxs(Jl,{children:[v?f.jsx("p",{className:"mb-4 rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-sm text-amber-300",children:"Your session expired — please sign in again."}):null,f.jsxs("form",{className:"space-y-4",onSubmit:wn(E),children:[f.jsxs("label",{className:"block space-y-1.5",children:[f.jsx("span",{className:"text-xs font-medium text-zinc-400",children:"Password"}),f.jsx("input",{autoFocus:!0,className:"w-full rounded-md border border-zinc-800 bg-zinc-950 px-3 py-2 text-sm text-zinc-100 outline-none transition focus:border-zinc-600",type:"password",value:i,onChange:R=>r(R.target.value),placeholder:"Dashboard password"})]}),d?f.jsx("p",{className:"text-sm text-rose-400",children:d}):null,f.jsx(Ue,{type:"submit",disabled:g||!i.trim(),children:g?"Signing in…":"Open dashboard"})]})]})]})})})})}const s1=document.getElementById("root");if(!s1)throw new Error("Expected #root element for web app bootstrap.");Bw.createRoot(s1).render(f.jsx(q.StrictMode,{children:f.jsx(EB,{})}));export{AL as $,oL as A,Ue as B,oc as C,ZB as D,fL as E,mL as F,KM as G,hL as H,eo as I,aM as J,nM as K,sM as L,en as M,mM as N,bL as O,fD as P,vL as Q,oM as R,m4 as S,Ln as T,gL as U,yL as V,pL as W,iM as X,lM as Y,SL as Z,xL as _,YL as a,XB as a$,NL as a0,kL as a1,Ek as a2,H0 as a3,ke as a4,jL as a5,p3 as a6,Ai as a7,wL as a8,eE as a9,dM as aA,hp as aB,KL as aC,QL as aD,ZL as aE,cM as aF,sA as aG,Ev as aH,e3 as aI,n3 as aJ,t3 as aK,LL as aL,wM as aM,i6 as aN,FM as aO,XM as aP,WM as aQ,eL as aR,YM as aS,JM as aT,PB as aU,GB as aV,IB as aW,YB as aX,uL as aY,jb as aZ,cL as a_,tE as aa,QM as ab,ZM as ac,IM as ad,DM as ae,UM as af,$M as ag,Pn as ah,VM as ai,MB as aj,SA as ak,sL as al,bA as am,zA as an,g3 as ao,tc as ap,PM as aq,GM as ar,vf as as,qL as at,rM as au,GL as av,PL as aw,HL as ax,uM as ay,Xs as az,Hf as b,TM as b$,JB as b0,lL as b1,FB as b2,WB as b3,tM as b4,eM as b5,ho as b6,mp as b7,WD as b8,J5 as b9,gM as bA,yM as bB,SM as bC,Nc as bD,WL as bE,vp as bF,xk as bG,QB as bH,fM as bI,pM as bJ,xp as bK,xM as bL,$s as bM,Nb as bN,EM as bO,RM as bP,MM as bQ,LM as bR,OM as bS,BM as bT,qM as bU,pD as bV,cS as bW,bD as bX,uS as bY,dS as bZ,mA as b_,Ht as ba,pk as bb,FL as bc,JL as bd,HB as be,UB as bf,$B as bg,KB as bh,fk as bi,yk as bj,qB as bk,LB as bl,hk as bm,VB as bn,a6 as bo,w4 as bp,_L as bq,CL as br,kk as bs,TL as bt,vM as bu,bM as bv,EL as bw,zL as bx,iL as by,hM as bz,et as c,Hy as c0,VL as c1,tL as c2,nL as c3,pp as c4,dL as c5,Hs as c6,UL as c7,IL as c8,CM as c9,_M as ca,zM as cb,AM as cc,$L as cd,TT as d,XL as e,rL as f,jn as g,Bb as h,wn as i,HM as j,OL as k,ae as l,DL as m,RL as n,ML as o,BL as p,jM as q,kM as r,NM as s,g4 as t,wp as u,e6 as v,t6 as w,n6 as x,zf as y,aL as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c}from"./index-
|
|
1
|
+
import{c}from"./index-CGlPx_cu.js";const a=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],h=c("circle-check",a);const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],n=c("circle-question-mark",e);const o=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],s=c("download",o);const t=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],r=c("trash-2",t);export{h as C,s as D,r as T,n as a};
|
package/assets/index.html
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<link rel="icon" type="image/png" sizes="32x32" href="./favicon-32.png" />
|
|
13
13
|
<link rel="apple-touch-icon" href="./apple-touch-icon.png" />
|
|
14
14
|
<title>Canonry</title>
|
|
15
|
-
<script type="module" crossorigin src="./assets/index-
|
|
15
|
+
<script type="module" crossorigin src="./assets/index-CGlPx_cu.js"></script>
|
|
16
16
|
<link rel="modulepreload" crossorigin href="./assets/vendor-tanstack-Dq7p98wZ.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="./assets/vendor-radix-B57xfQbP.js">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="./assets/vendor-recharts-ClRVR6aX.js">
|