@ainyc/canonry 4.76.0 → 4.76.2
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/agent-workspace/skills/canonry/references/canonry-cli.md +1 -1
- package/assets/assets/{BacklinksPage-Dvc3mk9A.js → BacklinksPage-GkTp8zLM.js} +1 -1
- package/assets/assets/{ChartPrimitives-DbjEIcrG.js → ChartPrimitives-0noLg9_T.js} +1 -1
- package/assets/assets/{ProjectPage-CeZYtdbm.js → ProjectPage-Bg5sKYhO.js} +2 -2
- package/assets/assets/{RunRow-CgojRiy8.js → RunRow-BEhaQDol.js} +1 -1
- package/assets/assets/{RunsPage-CWEcQv7p.js → RunsPage-CV2wKkaz.js} +1 -1
- package/assets/assets/{SettingsPage-CCT4jasH.js → SettingsPage-Ctij-T9F.js} +1 -1
- package/assets/assets/{TrafficPage-DtdlxDFZ.js → TrafficPage-TnIPaMcL.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-CPBuL-HQ.js → TrafficSourceDetailPage-BBmIwaee.js} +1 -1
- package/assets/assets/{extract-error-message--ubvhQzu.js → extract-error-message-BdLppivS.js} +1 -1
- package/assets/assets/{index-CKbfZ6rA.js → index-B-_Dwwhd.js} +3 -3
- package/assets/assets/{server-traffic-Dskh-6z1.js → server-traffic-ScU00kCP.js} +1 -1
- package/assets/assets/{trash-2-b62WCytM.js → trash-2-C65kNIO5.js} +1 -1
- package/assets/index.html +1 -1
- package/dist/{chunk-WFMEK34V.js → chunk-42TDEKKM.js} +1 -1
- package/dist/{chunk-JUWU2DV6.js → chunk-BIT3JPMW.js} +42 -8
- package/dist/{chunk-JNAKRK77.js → chunk-ETM5EPQH.js} +18 -0
- package/dist/{chunk-QY5WZWU4.js → chunk-ZUQK4TLL.js} +4 -4
- package/dist/cli.js +9 -8
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-L2A5MFB4.js → intelligence-service-QIGX7IVQ.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-Bg5sKYhO.js","./vendor-tanstack-Dq7p98wZ.js","./RunRow-BEhaQDol.js","./ChartPrimitives-0noLg9_T.js","./server-traffic-ScU00kCP.js","./vendor-recharts-ClRVR6aX.js","./trash-2-C65kNIO5.js","./vendor-radix-B57xfQbP.js","./vendor-markdown-DK7fbRNb.js","./RunsPage-CV2wKkaz.js","./SettingsPage-Ctij-T9F.js","./BacklinksPage-GkTp8zLM.js","./TrafficPage-TnIPaMcL.js","./extract-error-message-BdLppivS.js","./TrafficSourceDetailPage-BBmIwaee.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{c as hw,d as gw,Q as yw,M as bw,r as q,q as Oe,j as f,L as rt,a as vw,e as ks,u as dn,f as Sw,h as pc,k as xw,l as ww,m as iv,O as sv,n as Xa,o as _i,p as jw,s as zt,t as rv,v as Gs,x as Nw,y as kw,z as Aw}from"./vendor-tanstack-Dq7p98wZ.js";import{S as _w,O as Lf,P as ov,C as qf,a as lv,T as Uf,D as cv,R as uv}from"./vendor-radix-B57xfQbP.js";import{c as dv}from"./vendor-recharts-ClRVR6aX.js";import{M as zw}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 Yd={exports:{}},Yr={},Xd={exports:{}},Jd={};var Oy;function Cw(){return Oy||(Oy=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,ce=$[F],ee=F+1,ue=$[ee];if(0>l(ce,fe))ee<se&&0>l(ue,ce)?($[je]=ue,$[ee]=fe,je=ee):($[je]=ce,$[F]=fe,je=F);else if(ee<se&&0>l(ue,fe))$[je]=ue,$[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 Z($){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,Z($),!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 ke(){return E?!0:!(e.unstable_now()-oe<B)}function _e(){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(Z($),x=i(g);x!==null&&!(x.expirationTime>$&&ke());){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,Z($),W=!0;break t}x===i(g)&&r(g),Z($)}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(_e)};else if(typeof MessageChannel<"u"){var tt=new MessageChannel,re=tt.port2;tt.port1.onmessage=_e,ve=function(){re.postMessage(null)}}else ve=function(){R(_e,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=ke,e.unstable_wrapCallback=function($){var W=j;return function(){var fe=j;j=W;try{return $.apply(this,arguments)}finally{j=fe}}}})(Jd)),Jd}var Dy;function Tw(){return Dy||(Dy=1,Xd.exports=Cw()),Xd.exports}var Ry;function Ew(){if(Ry)return Yr;Ry=1;var e=Tw(),n=hw(),i=gw();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"),Z=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"),ke=Symbol.for("react.memo_cache_sentinel"),_e=Symbol.iterator;function ve(t){return t===null||typeof t!="object"?null:(t=_e&&t[_e]||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 Z: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 ce(t,a){se++,je[se]=t.current,t.current=a}var ee=Qe(null),ue=Qe(null),ne=Qe(null),Ne=Qe(null);function nt(t,a){switch(ce(ne,a),ce(ue,t),ce(ee,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?ty(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=ty(a),t=ny(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}F(ee),ce(ee,t)}function xe(){F(ee),F(ue),F(ne)}function $e(t){t.memoizedState!==null&&ce(Ne,t);var a=ee.current,s=ny(a,t.type);a!==s&&(ce(ue,t),ce(ee,s))}function He(t){ue.current===t&&(F(ee),F(ue)),Ne.current===t&&(F(Ne),Hr._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 er=!1;function Ei(t,a){if(!t||er)return"";er=!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,Z)=>I(j,P,Z)};let c;const d=oo,h=!Ov.jitless,b=h&&IA.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?Yv([],T,j,A,x,e):j):i(j,A):(j.issues.push({expected:"object",code:"invalid_type",input:T,inst:e}),j)}});function Xy(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 Xv=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=>Kf(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=>Xy(g,l,e,c)):Xy(h,l,e,c)}}),z_=H("$ZodDiscriminatedUnion",(e,n)=>{n.inclusive=!1,Xv.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=hc(()=>{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(!oo(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)}}),C_=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])=>Jy(i,g,b)):Jy(i,c,d)}});function Sf(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=Sf(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=Sf(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 Jy(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=Sf(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 T_=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"&&Iv.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}}),E_=H("$ZodEnum",(e,n)=>{ct.init(e,n);const i=Dv(n.entries),r=new Set(i);e._zod.values=r,e._zod.pattern=new RegExp(`^(${i.filter(l=>GA.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}}),O_=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}}),D_=H("$ZodTransform",(e,n)=>{ct.init(e,n),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new Ev(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 Fy(e,n){return e.issues.length&&n===void 0?{issues:[],value:void 0}:e}const Jv=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(`^(${Kf(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=>Fy(c,i.value)):Fy(l,i.value)}return i.value===void 0?i:n.innerType._zod.run(i,r)}}),R_=H("$ZodExactOptional",(e,n)=>{Jv.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)}),B_=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(`^(${Kf(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)}),M_=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=>Wy(c,n)):Wy(l,n)}});function Wy(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const L_=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))}),q_=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=>eb(c,e)):eb(l,e)}});function eb(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 U_=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)}}),$_=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=>Ul(d,n.in,r)):Ul(c,n.in,r)}const l=n.in._zod.run(i,r);return l instanceof Promise?l.then(c=>Ul(c,n.out,r)):Ul(l,n.out,r)}});function Ul(e,n,i){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues},i)}const V_=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(tb):tb(l)}});function tb(e){return e.value=Object.freeze(e.value),e}const I_=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=>nb(c,i,r,e));nb(l,i,r,e)}});function nb(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(lo(l))}}var ab;class G_{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 P_(){return new G_}(ab=globalThis).__zod_globalRegistry??(ab.__zod_globalRegistry=P_());const no=globalThis.__zod_globalRegistry;function H_(e,n){return new e({type:"string",...be(n)})}function K_(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...be(n)})}function ib(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...be(n)})}function Z_(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...be(n)})}function Q_(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...be(n)})}function Y_(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...be(n)})}function X_(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...be(n)})}function J_(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...be(n)})}function F_(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...be(n)})}function W_(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...be(n)})}function ez(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...be(n)})}function tz(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...be(n)})}function nz(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...be(n)})}function az(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...be(n)})}function iz(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...be(n)})}function sz(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...be(n)})}function rz(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...be(n)})}function oz(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...be(n)})}function lz(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...be(n)})}function cz(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...be(n)})}function uz(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...be(n)})}function dz(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...be(n)})}function fz(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...be(n)})}function pz(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...be(n)})}function mz(e,n){return new e({type:"string",format:"date",check:"string_format",...be(n)})}function hz(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...be(n)})}function gz(e,n){return new e({type:"string",format:"duration",check:"string_format",...be(n)})}function yz(e,n){return new e({type:"number",checks:[],...be(n)})}function bz(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...be(n)})}function vz(e,n){return new e({type:"boolean",...be(n)})}function Sz(e){return new e({type:"unknown"})}function xz(e,n){return new e({type:"never",...be(n)})}function sb(e,n){return new Pv({check:"less_than",...be(n),value:e,inclusive:!1})}function ef(e,n){return new Pv({check:"less_than",...be(n),value:e,inclusive:!0})}function rb(e,n){return new Hv({check:"greater_than",...be(n),value:e,inclusive:!1})}function tf(e,n){return new Hv({check:"greater_than",...be(n),value:e,inclusive:!0})}function ob(e,n){return new M2({check:"multiple_of",...be(n),value:e})}function Fv(e,n){return new q2({check:"max_length",...be(n),maximum:e})}function ac(e,n){return new U2({check:"min_length",...be(n),minimum:e})}function Wv(e,n){return new $2({check:"length_equals",...be(n),length:e})}function wz(e,n){return new V2({check:"string_format",format:"regex",...be(n),pattern:e})}function jz(e){return new I2({check:"string_format",format:"lowercase",...be(e)})}function Nz(e){return new G2({check:"string_format",format:"uppercase",...be(e)})}function kz(e,n){return new P2({check:"string_format",format:"includes",...be(n),includes:e})}function Az(e,n){return new H2({check:"string_format",format:"starts_with",...be(n),prefix:e})}function _z(e,n){return new K2({check:"string_format",format:"ends_with",...be(n),suffix:e})}function Ks(e){return new Z2({check:"overwrite",tx:e})}function zz(e){return Ks(n=>n.normalize(e))}function Cz(){return Ks(e=>e.trim())}function Tz(){return Ks(e=>e.toLowerCase())}function Ez(){return Ks(e=>e.toUpperCase())}function Oz(){return Ks(e=>VA(e))}function Dz(e,n,i){return new e({type:"array",element:n,...be(i)})}function Rz(e,n,i){return new e({type:"custom",check:"custom",fn:n,...be(i)})}function Bz(e){const n=Mz(i=>(i.addIssue=r=>{if(typeof r=="string")i.issues.push(lo(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(lo(l))}},e(i.value,i)));return n}function Mz(e,n){const i=new nn({check:"custom",...be(n)});return i._zod.check=e,i}function e0(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??no,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 t0(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 n0(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:ic(n,"input",e.processors),output:ic(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 Lz=(e,n={})=>i=>{const r=e0({...i,processors:n});return kt(e,r),t0(r,e),n0(r,e)},ic=(e,n,i={})=>r=>{const{libraryOptions:l,target:c}=r??{},d=e0({...l??{},target:c,io:n,processors:i});return kt(e,d),t0(d,e),n0(d,e)},qz={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Uz=(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=qz[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}))])}},$z=(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)},Vz=(e,n,i,r)=>{i.type="boolean"},Iz=(e,n,i,r)=>{i.not={}},Gz=(e,n,i,r)=>{},Pz=(e,n,i,r)=>{const l=e._zod.def,c=Dv(l.entries);c.every(d=>typeof d=="number")&&(i.type="number"),c.every(d=>typeof d=="string")&&(i.type="string"),i.enum=c},Hz=(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},Kz=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Zz=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Qz=(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"]})},Yz=(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)},Xz=(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},Jz=(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},Fz=(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)}},Wz=(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"}]},eC=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType},tC=(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))},nC=(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)))},aC=(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},iC=(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},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.readOnly=!0},a0=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType},rC=H("ZodISODateTime",(e,n)=>{o_.init(e,n),dt.init(e,n)});function oC(e){return pz(rC,e)}const lC=H("ZodISODate",(e,n)=>{l_.init(e,n),dt.init(e,n)});function cC(e){return mz(lC,e)}const uC=H("ZodISOTime",(e,n)=>{c_.init(e,n),dt.init(e,n)});function dC(e){return hz(uC,e)}const fC=H("ZodISODuration",(e,n)=>{u_.init(e,n),dt.init(e,n)});function pC(e){return gz(fC,e)}const mC=(e,n)=>{Lv.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>e2(e,i)},flatten:{value:i=>WA(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,vf,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,vf,2)}},isEmpty:{get(){return e.issues.length===0}}})},_n=H("ZodError",mC,{Parent:Error}),hC=Qf(_n),gC=Yf(_n),yC=gc(_n),bC=yc(_n),vC=a2(_n),SC=i2(_n),xC=s2(_n),wC=r2(_n),jC=o2(_n),NC=l2(_n),kC=c2(_n),AC=u2(_n),ut=H("ZodType",(e,n)=>(ct.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:ic(e,"input"),output:ic(e,"output")}}),e.toJSONSchema=Lz(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)=>hC(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>yC(e,i,r),e.parseAsync=async(i,r)=>gC(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>bC(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>vC(e,i,r),e.decode=(i,r)=>SC(e,i,r),e.encodeAsync=async(i,r)=>xC(e,i,r),e.decodeAsync=async(i,r)=>wC(e,i,r),e.safeEncode=(i,r)=>jC(e,i,r),e.safeDecode=(i,r)=>NC(e,i,r),e.safeEncodeAsync=async(i,r)=>kC(e,i,r),e.safeDecodeAsync=async(i,r)=>AC(e,i,r),e.refine=(i,r)=>e.check(vT(i,r)),e.superRefine=i=>e.check(ST(i)),e.overwrite=i=>e.check(Ks(i)),e.optional=()=>ub(e),e.exactOptional=()=>rT(e),e.nullable=()=>db(e),e.nullish=()=>ub(db(e)),e.nonoptional=i=>fT(e,i),e.array=()=>z(e),e.or=i=>o0([e,i]),e.and=i=>eT(e,i),e.transform=i=>fb(e,iT(i)),e.default=i=>cT(e,i),e.prefault=i=>dT(e,i),e.catch=i=>mT(e,i),e.pipe=i=>fb(e,i),e.readonly=()=>yT(e),e.describe=i=>{const r=e.clone();return no.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return no.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return no.get(e);const r=e.clone();return no.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),i0=H("_ZodString",(e,n)=>{Xf.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(r,l,c)=>Uz(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(wz(...r)),e.includes=(...r)=>e.check(kz(...r)),e.startsWith=(...r)=>e.check(Az(...r)),e.endsWith=(...r)=>e.check(_z(...r)),e.min=(...r)=>e.check(ac(...r)),e.max=(...r)=>e.check(Fv(...r)),e.length=(...r)=>e.check(Wv(...r)),e.nonempty=(...r)=>e.check(ac(1,...r)),e.lowercase=r=>e.check(jz(r)),e.uppercase=r=>e.check(Nz(r)),e.trim=()=>e.check(Cz()),e.normalize=(...r)=>e.check(zz(...r)),e.toLowerCase=()=>e.check(Tz()),e.toUpperCase=()=>e.check(Ez()),e.slugify=()=>e.check(Oz())}),_C=H("ZodString",(e,n)=>{Xf.init(e,n),i0.init(e,n),e.email=i=>e.check(K_(zC,i)),e.url=i=>e.check(J_(CC,i)),e.jwt=i=>e.check(fz(PC,i)),e.emoji=i=>e.check(F_(TC,i)),e.guid=i=>e.check(ib(lb,i)),e.uuid=i=>e.check(Z_($l,i)),e.uuidv4=i=>e.check(Q_($l,i)),e.uuidv6=i=>e.check(Y_($l,i)),e.uuidv7=i=>e.check(X_($l,i)),e.nanoid=i=>e.check(W_(EC,i)),e.guid=i=>e.check(ib(lb,i)),e.cuid=i=>e.check(ez(OC,i)),e.cuid2=i=>e.check(tz(DC,i)),e.ulid=i=>e.check(nz(RC,i)),e.base64=i=>e.check(cz(VC,i)),e.base64url=i=>e.check(uz(IC,i)),e.xid=i=>e.check(az(BC,i)),e.ksuid=i=>e.check(iz(MC,i)),e.ipv4=i=>e.check(sz(LC,i)),e.ipv6=i=>e.check(rz(qC,i)),e.cidrv4=i=>e.check(oz(UC,i)),e.cidrv6=i=>e.check(lz($C,i)),e.e164=i=>e.check(dz(GC,i)),e.datetime=i=>e.check(oC(i)),e.date=i=>e.check(cC(i)),e.time=i=>e.check(dC(i)),e.duration=i=>e.check(pC(i))});function m(e){return H_(_C,e)}const dt=H("ZodStringFormat",(e,n)=>{lt.init(e,n),i0.init(e,n)}),zC=H("ZodEmail",(e,n)=>{F2.init(e,n),dt.init(e,n)}),lb=H("ZodGUID",(e,n)=>{X2.init(e,n),dt.init(e,n)}),$l=H("ZodUUID",(e,n)=>{J2.init(e,n),dt.init(e,n)}),CC=H("ZodURL",(e,n)=>{W2.init(e,n),dt.init(e,n)}),TC=H("ZodEmoji",(e,n)=>{e_.init(e,n),dt.init(e,n)}),EC=H("ZodNanoID",(e,n)=>{t_.init(e,n),dt.init(e,n)}),OC=H("ZodCUID",(e,n)=>{n_.init(e,n),dt.init(e,n)}),DC=H("ZodCUID2",(e,n)=>{a_.init(e,n),dt.init(e,n)}),RC=H("ZodULID",(e,n)=>{i_.init(e,n),dt.init(e,n)}),BC=H("ZodXID",(e,n)=>{s_.init(e,n),dt.init(e,n)}),MC=H("ZodKSUID",(e,n)=>{r_.init(e,n),dt.init(e,n)}),LC=H("ZodIPv4",(e,n)=>{d_.init(e,n),dt.init(e,n)}),qC=H("ZodIPv6",(e,n)=>{f_.init(e,n),dt.init(e,n)}),UC=H("ZodCIDRv4",(e,n)=>{p_.init(e,n),dt.init(e,n)}),$C=H("ZodCIDRv6",(e,n)=>{m_.init(e,n),dt.init(e,n)}),VC=H("ZodBase64",(e,n)=>{h_.init(e,n),dt.init(e,n)}),IC=H("ZodBase64URL",(e,n)=>{y_.init(e,n),dt.init(e,n)}),GC=H("ZodE164",(e,n)=>{b_.init(e,n),dt.init(e,n)}),PC=H("ZodJWT",(e,n)=>{S_.init(e,n),dt.init(e,n)}),s0=H("ZodNumber",(e,n)=>{Zv.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(r,l,c)=>$z(e,r,l),e.gt=(r,l)=>e.check(rb(r,l)),e.gte=(r,l)=>e.check(tf(r,l)),e.min=(r,l)=>e.check(tf(r,l)),e.lt=(r,l)=>e.check(sb(r,l)),e.lte=(r,l)=>e.check(ef(r,l)),e.max=(r,l)=>e.check(ef(r,l)),e.int=r=>e.check(cb(r)),e.safe=r=>e.check(cb(r)),e.positive=r=>e.check(rb(0,r)),e.nonnegative=r=>e.check(tf(0,r)),e.negative=r=>e.check(sb(0,r)),e.nonpositive=r=>e.check(ef(0,r)),e.multipleOf=(r,l)=>e.check(ob(r,l)),e.step=(r,l)=>e.check(ob(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 yz(s0,e)}const HC=H("ZodNumberFormat",(e,n)=>{x_.init(e,n),s0.init(e,n)});function cb(e){return bz(HC,e)}const KC=H("ZodBoolean",(e,n)=>{w_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Vz(e,i,r)});function de(e){return vz(KC,e)}const ZC=H("ZodUnknown",(e,n)=>{j_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Gz()});function ga(){return Sz(ZC)}const QC=H("ZodNever",(e,n)=>{N_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Iz(e,i,r)});function YC(e){return xz(QC,e)}const XC=H("ZodArray",(e,n)=>{k_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Qz(e,i,r,l),e.element=n.element,e.min=(i,r)=>e.check(ac(i,r)),e.nonempty=i=>e.check(ac(1,i)),e.max=(i,r)=>e.check(Fv(i,r)),e.length=(i,r)=>e.check(Wv(i,r)),e.unwrap=()=>e.element});function z(e,n){return Dz(XC,e,n)}const JC=H("ZodObject",(e,n)=>{__.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Yz(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:YC()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>QA(e,i),e.safeExtend=i=>YA(e,i),e.merge=i=>XA(e,i),e.pick=i=>KA(e,i),e.omit=i=>ZA(e,i),e.partial=(...i)=>JA(c0,e,i[0]),e.required=(...i)=>FA(u0,e,i[0])});function N(e,n){const i={type:"object",shape:e??{},...be(n)};return new JC(i)}const r0=H("ZodUnion",(e,n)=>{Xv.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Xz(e,i,r,l),e.options=n.options});function o0(e,n){return new r0({type:"union",options:e,...be(n)})}const FC=H("ZodDiscriminatedUnion",(e,n)=>{r0.init(e,n),z_.init(e,n)});function l0(e,n,i){return new FC({type:"union",options:n,discriminator:e,...be(i)})}const WC=H("ZodIntersection",(e,n)=>{C_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Jz(e,i,r,l)});function eT(e,n){return new WC({type:"intersection",left:e,right:n})}const tT=H("ZodRecord",(e,n)=>{T_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Fz(e,i,r,l),e.keyType=n.keyType,e.valueType=n.valueType});function yt(e,n,i){return new tT({type:"record",keyType:e,valueType:n,...be(i)})}const xf=H("ZodEnum",(e,n)=>{E_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(r,l,c)=>Pz(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 xf({...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 xf({...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 xf({type:"enum",entries:i,...be(n)})}const nT=H("ZodLiteral",(e,n)=>{O_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Hz(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 nT({type:"literal",values:Array.isArray(e)?e:[e],...be(n)})}const aT=H("ZodTransform",(e,n)=>{D_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Zz(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new Ev(e.constructor.name);i.addIssue=c=>{if(typeof c=="string")i.issues.push(lo(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(lo(d))}};const l=n.transform(i.value,i);return l instanceof Promise?l.then(c=>(i.value=c,i)):(i.value=l,i)}});function iT(e){return new aT({type:"transform",transform:e})}const c0=H("ZodOptional",(e,n)=>{Jv.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>a0(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function ub(e){return new c0({type:"optional",innerType:e})}const sT=H("ZodExactOptional",(e,n)=>{R_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>a0(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function rT(e){return new sT({type:"optional",innerType:e})}const oT=H("ZodNullable",(e,n)=>{B_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Wz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function db(e){return new oT({type:"nullable",innerType:e})}const lT=H("ZodDefault",(e,n)=>{M_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>tC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function cT(e,n){return new lT({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():Bv(n)}})}const uT=H("ZodPrefault",(e,n)=>{L_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>nC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function dT(e,n){return new uT({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():Bv(n)}})}const u0=H("ZodNonOptional",(e,n)=>{q_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>eC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function fT(e,n){return new u0({type:"nonoptional",innerType:e,...be(n)})}const pT=H("ZodCatch",(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,e.removeCatch=e.unwrap});function mT(e,n){return new pT({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const hT=H("ZodPipe",(e,n)=>{$_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>iC(e,i,r,l),e.in=n.in,e.out=n.out});function fb(e,n){return new hT({type:"pipe",in:e,out:n})}const gT=H("ZodReadonly",(e,n)=>{V_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>sC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function yT(e){return new gT({type:"readonly",innerType:e})}const bT=H("ZodCustom",(e,n)=>{I_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Kz(e,i)});function vT(e,n={}){return Rz(bT,e,n)}function ST(e){return Bz(e)}const d0=N({id:m(),name:m(),keyPrefix:m(),scopes:z(m()),createdAt:m(),lastUsedAt:m().nullable(),revokedAt:m().nullable()});N({keys:z(d0)});N({name:m().min(1).max(100),scopes:z(m()).min(1).optional()});d0.extend({key:m()});const xT=N({maxConcurrency:S().int().positive(),maxRequestsPerMinute:S().int().positive(),maxRequestsPerDay:S().int().positive()}),ya=m().min(1);m().min(1);const Jf=N({label:m().min(1),city:m().min(1),region:m().min(1),country:m().length(2),timezone:m().optional()}),Ff=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(Ff),enabled:de().default(!0),source:m().optional(),webhookSecret:m().optional(),createdAt:m(),updatedAt:m()});N({channel:Vt("webhook"),url:m().url(),events:z(Ff).min(1),source:m().optional()});const f0=ie(["cli","api","config-file"]);function wT(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 jT(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(Jf).optional(),defaultLocation:m().nullable().optional(),autoExtractBacklinks:de().optional(),configSource:f0.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(Jf).default([]),defaultLocation:m().nullable().optional(),autoExtractBacklinks:de().default(!1),configSource:f0.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 sc(e){let n=e.trim().toLowerCase();try{n.includes("://")&&(n=new URL(n).hostname.toLowerCase())}catch{}return n.replace(/^www\./,"")}const NT=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 kT(e){const n=sc(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 NT.has(l)?r.length>=3?r.slice(-3).join("."):"":r.slice(-2).join(".")}function AT(e){const n=kT(e);return n?n.split(".")[0]??"":""}function _T(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=sc(c);i.has(d)||(i.add(d),r.push(c))}return r}const zT=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({})}),CT=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(),TT=N({channel:Vt("webhook"),url:m().url(),events:z(Ff).min(1)}),ET=N({gsc:N({propertyUrl:m()}).optional(),syncSchedule:N({preset:m().optional(),cron:m().optional()}).optional()}).optional(),pb=z(m().min(1)),OT=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:pb.optional(),keywords:pb.optional(),competitors:z(m().min(1)).optional().default([]),providers:z(ya).optional().default([]),locations:z(Jf).optional().default([]),defaultLocation:m().optional(),schedule:CT,notifications:z(TT).optional().default([]),google:ET,autoExtractBacklinks:de().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=wT(e.locations);i.length>0&&n.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${i.join(", ")}`,path:["locations"]}),jT(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:zT,spec:OT});const DT=ie(["gsc","ga4","gbp"]);N({id:m(),domain:m(),connectionType:DT,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 RT=N({date:m(),clicks:S(),impressions:S(),ctr:S()});N({totals:N({clicks:S(),impressions:S(),ctr:S(),days:S()}),daily:z(RT)});const wf=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:de().nullable().optional(),richResults:z(m()).default([]),referringUrls:z(m()).default([]),inspectedAt:m()});ie(["stable","reindexed","deindexed","still-missing","new"]);const BT=N({url:m(),previousState:m().nullable(),currentState:m().nullable(),transitionDate:m()}),MT=N({reason:m(),count:S(),urls:z(wf).default([])});N({summary:N({total:S(),indexed:S(),notIndexed:S(),deindexed:S(),percentage:S()}),lastInspectedAt:m().nullable(),lastSyncedAt:m().nullable(),indexed:z(wf).default([]),notIndexed:z(wf).default([]),deindexed:z(BT).default([]),reasonGroups:z(MT).default([])});N({url:m(),type:ie(["URL_UPDATED","URL_DELETED"]),notifiedAt:m()});const LT=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(LT).default([])});N({date:m(),indexed:S(),notIndexed:S(),reasonBreakdown:yt(m(),S()).default({})});const qT=N({siteUrl:m(),permissionLevel:m()});N({sites:z(qT).default([])});const UT=N({type:m(),submitted:m(),indexed:m()}),$T=N({path:m(),lastSubmitted:m().optional(),isPending:de().optional(),isSitemapsIndex:de().optional(),type:m().optional(),lastDownloaded:m().optional(),warnings:m().optional(),errors:m().optional(),contents:z(UT).optional()});N({sitemaps:z($T).default([])});const VT=N({name:m(),accountName:m().nullable(),type:m().nullable(),role:m().nullable()});N({accounts:z(VT),total:S().int().nonnegative()});const IT=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:de(),syncedAt:m().nullable(),createdAt:m(),updatedAt:m()});N({locations:z(IT),totalDiscovered:S().int().nonnegative(),totalSelected:S().int().nonnegative()});N({selectAllNew:de().default(!0),accountName:m().optional(),switchAccount:de().default(!1)});N({selected:de()});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 GT=N({locationName:m(),date:m(),metric:m(),value:S().int()});N({metrics:z(GT),total:S().int().nonnegative()});const PT=N({locationName:m(),periodStart:m(),periodEnd:m(),keyword:m(),valueCount:S().int().nullable(),valueThreshold:S().int().nullable()});N({keywords:z(PT),total:S().int().nonnegative(),thresholdedPct:S().int().min(0).max(100)});const HT=N({locationName:m(),placeActionLinkName:m(),placeActionType:m(),uri:m().nullable(),isPreferred:de(),providerType:m().nullable()});N({placeActions:z(HT),total:S().int().nonnegative()});const KT=N({locationName:m(),populatedGroupCount:S().int().nonnegative(),syncedAt:m(),attributes:yt(m(),ga())});N({lodging:z(KT),total:S().int().nonnegative()});const ZT=N({locationName:m(),placeId:m(),tier:m(),amenities:z(m()),syncedAt:m(),place:yt(m(),ga())});N({places:z(ZT),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:de(),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:de(),hasBookingCta:de(),hasDirectMerchantCta:de()}),lodging:N({lodgingLocationCount:S().int().nonnegative(),populatedLodgingCount:S().int().nonnegative(),emptyLodgingCount:S().int().nonnegative()})});const QT={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 YT(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 RM(e){return QT[e]??YT(e)}const XT=["BUSINESS_DIRECTION_REQUESTS","WEBSITE_CLICKS","CALL_CLICKS"],JT=["BUSINESS_IMPRESSIONS_DESKTOP_SEARCH","BUSINESS_IMPRESSIONS_MOBILE_SEARCH","BUSINESS_IMPRESSIONS_DESKTOP_MAPS","BUSINESS_IMPRESSIONS_MOBILE_MAPS"];function BM(e){return XT.includes(e)?"conversion":JT.includes(e)?"reach":"other"}N({id:m(),domain:m(),siteUrl:m().nullable().optional(),createdAt:m(),updatedAt:m()});const nf=N({id:m(),url:m(),httpCode:S().nullable().optional(),inIndex:de().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(nf).default([]),notIndexed:z(nf).default([]),unknown:z(nf).default([]).optional()});N({query:m(),impressions:S(),clicks:S(),ctr:S(),averagePosition:S()});N({date:m(),indexed:S(),notIndexed:S(),unknown:S()});const FT=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(FT).default([])});const p0=N({url:m(),verified:de()});N({sites:z(p0).default([])});N({connected:de(),domain:m(),siteUrl:m().nullable(),createdAt:m().nullable(),updatedAt:m().nullable()});N({connected:de(),domain:m(),siteUrl:m().nullable(),availableSites:z(p0).default([])});N({siteUrl:m()});const WT=N({name:m(),alive:de(),lastUsed:m().nullable()});N({connected:de(),endpoint:m(),version:m().optional(),browserVersion:m().optional(),targets:z(WT).default([])});const Zs=ie(["live","staging"]);N({projectName:m(),url:m(),stagingUrl:m().optional(),username:m(),defaultEnv:Zs,createdAt:m(),updatedAt:m()});const mb=N({url:m(),reachable:de(),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:de(),projectName:m(),defaultEnv:Zs,live:mb.nullable(),staging:mb.nullable(),adminUrl:m().nullable().optional()});const eE=N({id:S(),slug:m(),title:m(),status:m(),modifiedAt:m().nullable().optional(),link:m().nullable().optional()}),m0=N({title:m().nullable(),description:m().nullable(),noindex:de().nullable(),writable:de().default(!1),writeTargets:z(m()).default([])}),tE=N({type:m(),json:yt(m(),ga())}),nE=eE.extend({env:Zs,content:m(),seo:m0,schemaBlocks:z(tE).default([])}),hb=nE.extend({contentHash:m(),contentSnippet:m()}),h0=N({manualRequired:Vt(!0),targetUrl:m(),adminUrl:m().nullable().optional(),content:m(),nextSteps:z(m()).default([])}),aE=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:m0,schemaPresent:de(),issues:z(aE).default([])});const iE=N({slug:m(),status:ie(["applied","skipped","manual"]),error:m().optional(),manualAssist:h0.optional()});N({env:Zs,strategy:ie(["plugin","manual"]),results:z(iE)});const sE=N({slug:m(),status:ie(["deployed","stripped","skipped","failed"]),schemasInjected:z(m()).optional(),manualAssist:h0.optional(),error:m().optional()});N({env:Zs,results:z(sE)});const rE=N({slug:m(),title:m(),canonrySchemas:z(m()),thirdPartySchemas:z(m()),hasCanonrySchema:de()});N({env:Zs,pages:z(rE)});const oE=N({name:m(),status:ie(["completed","skipped","failed"]),summary:m().optional(),error:m().optional()});N({projectName:m(),steps:z(oE)});N({slug:m(),live:hb,staging:hb,hasDifferences:de(),differences:N({title:de(),slug:de(),content:de(),seoTitle:de(),seoDescription:de(),noindex:de(),schema:de()})});const lE=N({name:m(),displayName:m().optional(),keyUrl:m().optional(),modelHint:m().optional(),model:m().optional(),defaultModel:m().optional(),configured:de(),quota:xT.optional(),vertexConfigured:de().optional()}),gb=N({configured:de()});N({providers:z(lE).default([]),google:gb,bing:gb});const Qs=ie(["queued","running","completed","partial","failed","cancelled"]),Ht=Qs.enum,g0=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"]),Te=g0.enum,y0=ie(["manual","scheduled","config-apply","backfill","probe"]),Bs=y0.enum,Ni=ie(["cited","not-cited"]),rc=Ni.enum,oc=ie(["visible","not-visible"]);oc.enum;const lc=ie(["mentioned","not-mentioned"]);lc.enum;const b0=ie(["new","cited","lost","emerging","not-cited"]);b0.enum;const cE=ie(["new","mentioned","lost","emerging","not-mentioned"]);cE.enum;const uE=ie([Bs.manual,Bs.probe]);N({kind:Vt(Te["answer-visibility"]).optional(),trigger:uE.optional(),providers:z(ya).optional(),queries:z(m().min(1)).min(1).optional(),location:m().min(1).optional(),allLocations:de().optional(),noLocation:de().optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const dE=N({message:m(),raw:ga().optional()}),fE=N({message:m().optional(),providers:yt(m(),dE).optional()}),pE=N({id:m(),projectId:m(),kind:g0,status:Qs,trigger:y0.default("manual"),location:m().nullable().optional(),queries:z(m()).nullable().optional(),startedAt:m().nullable().optional(),finishedAt:m().nullable().optional(),error:fE.nullable().optional(),createdAt:m()});function Wf(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 v0=N({uri:m(),title:m()}),S0=N({id:m(),runId:m(),queryId:m(),query:m().optional(),provider:ya,citationState:Ni,answerMentioned:de().optional(),visibilityState:oc.optional(),mentionState:lc.optional(),transition:b0.optional(),answerText:m().nullable().optional(),citedDomains:z(m()).default([]),competitorOverlap:z(m()).default([]),recommendedCompetitors:z(m()).default([]),matchedTerms:z(m()).default([]),groundingSources:z(v0).default([]),searchQueries:z(m()).default([]),model:m().nullable().optional(),location:m().nullable().optional(),createdAt:m()});N({snapshots:z(S0),total:S().int().nonnegative()});const mE=N({queryId:m().nullable(),query:m().nullable(),run1State:Ni.nullable(),run2State:Ni.nullable(),run1AnswerMentioned:de().nullable(),run2AnswerMentioned:de().nullable(),run1VisibilityState:oc.nullable(),run2VisibilityState:oc.nullable(),run1MentionState:lc.nullable().optional(),run2MentionState:lc.nullable().optional(),changed:de(),visibilityChanged:de()});N({run1:m(),run2:m(),diff:z(mE)});const hE=pE.extend({snapshots:z(S0).optional()});N({totalRuns:S().int().nonnegative(),run:hE.nullable()});N({id:m(),projectId:m().nullable().optional(),actor:m(),action:m(),entityType:m(),entityId:m().nullable().optional(),diff:ga().optional(),createdAt:m()});const gE=ie(["yes","no","unknown","not-mentioned"]),yb=z(m().min(1));N({companyName:m().min(1),domain:m().min(1),queries:yb.optional(),phrases:yb.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 yE=N({name:m(),count:S().int().nonnegative()}),bE=N({id:m(),name:m(),weight:S(),score:S(),findings:z(N({type:m(),message:m()})).default([]),recommendations:z(m()).default([])}),vE=N({url:m(),finalUrl:m(),auditedAt:m(),overallScore:S(),summary:m(),factors:z(bE).default([])}),SE=N({industry:m(),summary:m(),services:z(m()).default([]),categoryTerms:z(m()).default([])}),xE=N({provider:m(),displayName:m(),model:m().nullable().optional(),mentioned:de(),cited:de(),describedAccurately:gE,accuracyNotes:m().nullable().optional(),incorrectClaims:z(m()).default([]),recommendedCompetitors:z(m()).default([]),citedDomains:z(m()).default([]),groundingSources:z(v0).default([]),searchQueries:z(m()).default([]),answerText:m(),error:m().nullable().optional()}),wE=N({query:m(),providerResults:z(xE).default([])}),jE=N({totalQueries:S().int().nonnegative(),totalProviders:S().int().nonnegative(),totalComparisons:S().int().nonnegative(),mentionCount:S().int().nonnegative(),citationCount:S().int().nonnegative(),topCompetitors:z(yE).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:SE,audit:vE,queryResults:z(wE).default([]),summary:jE});const x0=ie(["pass","partial","fail"]);x0.enum;const w0=ie(["up","down","flat"]);w0.enum;const NE=N({id:m(),name:m(),weight:S(),avgScore:S(),status:x0,pagesPassing:S().int().nonnegative(),pagesPartial:S().int().nonnegative(),pagesFailing:S().int().nonnegative()}),kE=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:de(),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:w0.nullable(),previousScore:S().nullable(),previousAuditedAt:m().nullable(),factors:z(NE).default([]),crossCuttingIssues:z(kE).default([]),prioritizedFixes:z(m()).default([])});const AE=N({id:m(),name:m(),weight:S(),score:S()}),_E=N({url:m(),overallScore:S(),status:ie(["success","error"]),error:m().nullable().optional(),factors:z(AE).default([])});N({project:m(),runId:m().nullable(),auditedAt:m().nullable(),total:S().int().nonnegative(),pages:z(_E).default([])});const zE=N({runId:m(),auditedAt:m(),aggregateScore:S(),pagesAudited:S().int().nonnegative()});N({project:m(),points:z(zE).default([])});N({sitemapUrl:m().url().optional(),limit:S().int().positive().max(2e3).optional()});N({runId:m(),status:Qs});const ep=ie(["answer-visibility","traffic-sync","gbp-sync","data-refresh","backlinks-sync","site-audit"]);ep.enum;N({id:m(),projectId:m(),kind:ep,cronExpr:m(),preset:m().nullable().optional(),timezone:m().default("UTC"),enabled:de().default(!0),providers:z(ya).default([]),sourceId:m().nullable().optional(),lastRunAt:m().nullable().optional(),nextRunAt:m().nullable().optional(),createdAt:m(),updatedAt:m()});N({kind:ep.optional(),preset:m().optional(),cron:m().optional(),timezone:m().optional().default("UTC"),enabled:de().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 tp=ie(["competitor","directory","social","forum","news","reference","blog","ecommerce","video","academic","other"]);tp.enum;const np=ie(["cited","aspirational","wasted-surface"]),bb=np.enum;bb.cited,bb.aspirational;const vc=ie(["direct-competitor","ota-aggregator","editorial-media","other","unknown"]),CE=vc.enum;CE["direct-competitor"];const ap=ie(["queued","seeding","probing","completed","failed"]);ap.enum;const j0=N({domain:m().min(1),hits:S().int().positive(),competitorType:vc.default("unknown")}),TE=N({id:m(),sessionId:m(),projectId:m(),query:m(),bucket:np.nullable().default(null),citationState:Ni,citedDomains:z(m()).default([]),createdAt:m()}),EE=N({id:m(),projectId:m(),status:ap,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(j0).default([]),error:m().nullable().optional(),startedAt:m().nullable().optional(),finishedAt:m().nullable().optional(),createdAt:m()});EE.extend({probes:z(TE).default([])});const OE=500;N({icpDescription:m().min(1).optional(),dedupThreshold:S().min(0).max(1).optional(),maxProbes:S().int().positive().max(OE).optional(),locations:z(m().min(1)).optional()});N({buckets:z(np).min(1).optional(),includeCompetitors:de().optional(),competitorTypes:z(vc).min(1).optional()});N({sessionId:m(),projectId:m(),status:ap,queriesByBucket:N({cited:z(m()),aspirational:z(m()),"wasted-surface":z(m())}),suggestedCompetitors:z(j0)});N({sessionId:m(),projectId:m(),promoted:N({queries:z(m()),competitors:z(m())}),skipped:N({queries:z(m()),competitors:z(m())})});o0([Vt("cli"),m().regex(/^discovery:.+$/)]);const ip=ie(["own","direct-competitor","ota-aggregator","editorial-media","other"]);ip.enum;const N0=ie(["7d","30d","90d","all"]),vb=ie(["improving","declining","stable"]),DE=ie(["mentioned","cited"]);DE.enum;const jf=N({citationRate:S(),cited:S().int(),total:S().int(),mentionRate:S(),mentionedCount:S().int()}),RE=N({startDate:m(),endDate:m(),citationRate:S(),cited:S().int(),total:S().int(),queryCount:S().int(),mentionRate:S(),mentionedCount:S().int(),byProvider:yt(m(),jf)}),BE=N({date:m(),delta:S().int(),label:m()});N({window:N0,buckets:z(RE),overall:jf,byProvider:yt(m(),jf),trend:vb,mentionTrend:vb,queryChanges:z(BE)});const Sb=N({category:tp,label:m(),count:S().int(),percentage:S(),topDomains:z(N({domain:m(),count:S().int()}))}),ME=N({domain:m(),count:S().int(),percentage:S(),category:tp,label:m(),surfaceClass:ip}),LE=N({surfaceClass:ip,label:m(),count:S().int(),percentage:S(),domainCount:S().int()}),xb=N({totalCitedSlots:S().int(),domainTotal:S().int(),entries:z(ME),truncatedDomainCount:S().int(),truncatedCitedSlots:S().int(),bySurfaceClass:z(LE)});N({overall:z(Sb),byQuery:yt(m(),z(Sb)),ranked:xb,byProvider:yt(m(),xb),runId:m(),window:N0,limit:S().int().nullable()});N({id:m(),projectId:m(),propertyId:m(),clientEmail:m(),connected:de(),createdAt:m(),updatedAt:m()});N({date:m(),landingPage:m(),sessions:S(),organicSessions:S(),users:S()});const sp=ie(["session","first_user","manual_utm"]),qE=N({source:m(),medium:m(),sessions:S(),users:S(),sourceDimension:sp}),UE=N({source:m(),medium:m(),sourceDimension:sp,landingPage:m(),sessions:S(),users:S()}),$E=N({source:m(),medium:m(),sessions:S(),users:S(),channelGroup:m()}),Xr=N({sessions:S(),sharePct:S(),sharePctDisplay:m()}),VE=N({organic:Xr,social:Xr,direct:Xr,ai:Xr,other:Xr});N({totalSessions:S(),totalOrganicSessions:S(),totalDirectSessions:S(),totalUsers:S(),topPages:z(N({landingPage:m(),sessions:S(),organicSessions:S(),directSessions:S(),users:S()})),aiReferrals:z(qE),aiReferralLandingPages:z(UE),aiSessionsDeduped:S(),aiUsersDeduped:S(),aiSessionsBySession:S(),aiUsersBySession:S(),socialReferrals:z($E),socialSessions:S(),socialUsers:S(),channelBreakdown:VE,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:de(),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:de(),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:sp});N({date:m(),source:m(),medium:m(),sessions:S(),users:S(),channelGroup:m()});N({date:m(),sessions:S(),organicSessions:S(),users:S()});function cc(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}const k0=ie(["claude","openai","gemini","zai"]),IE=N({id:k0,label:m(),defaultModel:m(),configured:de(),keySource:ie(["config","env"]).nullable()});N({providers:z(IE).default([]),defaultProvider:k0.nullable()});const GE=ie(["aero","user","compaction"]);GE.enum;const A0=128;N({key:m().min(1).max(A0),value:m().min(1)});N({key:m().min(1).max(A0)});const rp=ie(["queued","downloading","querying","ready","failed"]);rp.enum;N({id:m(),release:m(),status:rp,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 PE=N({linkingDomain:m(),numHosts:S().int()}),HE=N({projectId:m(),release:m(),targetDomain:m(),totalLinkingDomains:S().int(),totalHosts:S().int(),top10HostsShare:m(),queriedAt:m(),excludedLinkingDomains:S().int().optional(),excludedHosts:S().int().optional()});N({summary:HE.nullable(),total:S().int(),rows:z(PE)});N({release:m(),totalLinkingDomains:S().int(),totalHosts:S().int(),top10HostsShare:m(),queriedAt:m()});N({duckdbInstalled:de(),duckdbVersion:m().nullable().optional(),duckdbSpec:m(),pluginDir:m()});N({installed:de(),version:m(),path:m(),alreadyPresent:de()});N({release:m(),vertexUrl:m(),edgesUrl:m(),vertexBytes:S().int().nullable(),edgesBytes:S().int().nullable(),lastModified:m().nullable()});N({release:m(),syncStatus:rp.nullable(),bytes:S().int(),lastUsedAt:m().nullable()});ie(["snapshot","insight"]);const KE=N({kind:Vt("snapshot"),id:m(),runId:m(),query:m(),provider:m(),model:m().nullable(),citationState:Ni,matchedField:ie(["answerText","citedDomains","searchQueries","query"]),snippet:m(),createdAt:m()}),ZE=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:de(),createdAt:m()}),QE=l0("kind",[KE,ZE]);N({query:m(),totalHits:S().int().nonnegative(),truncated:de(),hits:z(QE)});const _0=ie(["create","expand","refresh","add-schema"]);_0.enum;function MM(e){switch(e){case"create":return"Create";case"expand":return"Expand";case"refresh":return"Refresh";case"add-schema":return"Add schema"}}const z0=ie(["gsc","competitor-evidence","both"]);z0.enum;const C0=ie(["high","medium","low"]);C0.enum;const YE=ie(["blog-post","comparison","listicle","how-to","guide","glossary"]);YE.enum;const T0=ie(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);T0.enum;const op=ie(["ownable","ceded"]);op.enum;const XE=N({url:m(),gscImpressions:S().nonnegative(),gscClicks:S().nonnegative(),gscAvgPosition:S().nonnegative().nullable(),organicSessions:S().nonnegative()}),JE=N({domain:m(),url:m(),title:m(),citationCount:S().int().nonnegative()}),FE=N({demand:S(),competitor:S(),absence:S(),gapSeverity:S()}),WE=N({actionId:m(),state:T0,lastUpdated:m()}),E0=N({targetRef:m(),query:m(),action:_0,ourBestPage:XE.nullable(),winningCompetitor:JE.nullable(),score:S(),scoreBreakdown:FE,drivers:z(m()),demandSource:z0,actionConfidence:C0,existingAction:WE.nullable(),winnabilityClass:op,winnability:S().min(0).max(1).nullable()});N({targets:z(E0),contextMetrics:N({totalAiReferralSessions:S().int().nonnegative(),latestRunId:m(),runTimestamp:m()})});const eO=N({targetRef:m(),addressedUrl:m().nullable(),note:m().nullable(),dismissedAt:m()});N({dismissals:z(eO)});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:de().optional()});const tO=N({targetQuery:m().trim().min(1),winnabilityClass:op,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:tO,costMillicents:S().int().nonnegative(),generatedAt:m()});const nO=N({domain:m(),competitorType:vc,hits:S().int().nonnegative(),updatedAt:m()});N({classifications:z(nO)});const aO=N({uri:m(),title:m(),domain:m(),isOurDomain:de(),isCompetitor:de(),citationCount:S().int().nonnegative(),providers:z(ya)}),O0=N({query:m(),groundingSources:z(aO)});N({sources:z(O0),latestRunId:m()});const D0=N({query:m(),competitorDomains:z(m()),competitorCount:S().int().nonnegative(),missRate:S().min(0).max(1),lastSeenInRunId:m()});N({gaps:z(D0),latestRunId:m()});const R0=ie(["ok","warn","fail","skipped"]);R0.enum;const lp=ie(["global","project"]);lp.enum;const B0=ie(["auth","config","providers","integrations","database","schedules","agent"]);B0.enum;const iO=N({id:m(),category:B0,scope:lp,title:m(),status:R0,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:lp,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(iO)});const sO=N({provider:m(),citationState:Ni,cited:de(),mentioned:de(),runId:m(),runCreatedAt:m()}),rO=N({queryId:m(),query:m(),providers:z(sO),citedCount:S().int().nonnegative(),mentionedCount:S().int().nonnegative(),totalProviders:S().int().nonnegative()}),oO=N({queryId:m(),query:m(),provider:m(),citingCompetitors:z(m()),runId:m(),runCreatedAt:m()}),lO=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:lO,byQuery:z(rO),competitorGaps:z(oO),status:ie(["ready","no-data"]),reason:ie(["no-runs-yet","no-queries"]).optional()});const cO=ie(["prompt","request-param","browser-geo","ignored"]),uO=N({label:m(),city:m(),region:m(),country:m(),otherConfiguredLabels:z(m())}),dO=N({provider:m(),treatment:cO,description:m()}),fO=N({generatedAt:m(),project:N({id:m(),name:m(),displayName:m(),canonicalDomain:m(),country:m(),language:m()}),location:uO.nullable(),providerLocationHandling:z(dO),periodStart:m().nullable(),periodEnd:m().nullable()}),pO=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"])}))}),mO=N({citationState:ie(["cited","not-cited","pending"]),answerMentioned:de().nullable(),model:m().nullable()}),hO=N({queries:z(m()),providers:z(m()),matrix:z(z(mO.nullable())),providerRates:z(N({provider:m(),citedCount:S(),totalCount:S(),citationRate:S()}))}),gO=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())}))}),yO=N({projectCitationCount:S(),competitors:z(gO)}),bO=N({domain:m(),mentionCount:S(),totalCount:S(),pressureLabel:ie(["High","Moderate","Low","None"]),mentionedQueries:z(m()),sharePct:S()}),vO=N({projectMentionCount:S(),totalAnswerSnapshots:S(),competitors:z(bO)}),SO=N({category:m(),label:m(),count:S(),sharePct:S()}),xO=N({categories:z(SO),topDomains:z(N({domain:m(),count:S(),isCompetitor:de()}))}),wO=N({query:m(),clicks:S(),impressions:S(),ctr:S(),avgPosition:S(),category:ie(["brand","lead-gen","industry","other"])}),jO=N({periodStart:m(),periodEnd:m(),totalClicks:S(),totalImpressions:S(),ctr:S(),avgPosition:S(),topQueries:z(wO),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())}),NO=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()}))}),kO=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()}))}),AO=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()}))}),_O=N({windowStart:m(),windowEnd:m(),hasData:de(),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()}))}),zO=N({provider:ie(["google","bing"]).nullable(),total:S(),indexed:S(),notIndexed:S(),deindexed:S(),unknown:S(),indexedPct:S()}),CO=N({runId:m(),date:m(),citationRate:S(),citedQueryCount:S(),totalQueryCount:S(),mentionRate:S(),mentionedQueryCount:S(),providerRates:z(N({provider:m(),citationRate:S()}))}),Nf=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()}),TO=N({horizon:ie(["immediate","short-term","medium-term"]),title:m(),rationale:m()}),Jr=N({current:S(),prior:S(),deltaAbs:S(),direction:ie(["up","down","flat"]),window:S().optional()}),EO=N({provider:m(),current:S(),prior:S(),deltaAbs:S(),direction:ie(["up","down","flat"])}),OO=N({enoughHistory:de(),headline:m(),citationRate:Jr.nullable(),mentionRate:Jr.nullable(),citedQueryCount:Jr.nullable(),gscClicksDelta:Jr.nullable(),aiReferralsDelta:Jr.nullable(),providerMovements:z(EO),wins:z(Nf),regressions:z(Nf)});ie(["agency","client"]);const DO=ie(["agency","client","both"]),RO=ie(["immediate","short-term","medium-term"]),BO=ie(["high","medium","low"]);ie(["positive","caution","negative","neutral"]);const MO=ie(["content","competitors","provider","search-demand","indexing","location","monitoring"]),cp=N({audience:DO,priority:S(),horizon:RO,category:MO,title:m(),action:m(),why:z(m()),evidence:z(m()),successMetric:m(),confidence:BO,targetRef:m().optional()}),LO=N({headline:m(),overview:m(),actionItems:z(cp),confidenceNotes:z(m())}),qO=N({title:m(),detail:m(),severity:ie(["positive","caution","negative","neutral"]),evidence:z(m())}),UO=N({priorities:z(cp),diagnostics:z(qO)});function LM(e){return e.horizon==="immediate"?"negative":e.confidence==="high"?"caution":e.confidence==="low"?"neutral":"caution"}function qM(e){switch(e){case"critical":return"Critical";case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}function UM(e){switch(e){case"immediate":return"Immediate";case"short-term":return"Short term";case"medium-term":return"Medium term"}}function $M(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 VM(e){switch(e){case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}N({meta:fO,executiveSummary:pO,citationScorecard:hO,competitorLandscape:yO,mentionLandscape:vO,aiSourceOrigin:xO,gsc:jO.nullable(),ga:NO.nullable(),socialReferrals:kO.nullable(),aiReferrals:AO.nullable(),serverActivity:_O.nullable(),indexingHealth:zO.nullable(),citationsTrend:z(CO),whatsChanged:OO,insights:z(Nf),recommendedNextSteps:z(TO),actionPlan:z(cp),clientSummary:LO,agencyDiagnostics:UO,contentOpportunities:z(E0),contentGaps:z(D0),groundingSources:z(O0)});const $O=ie(["claude","codex"]);$O.enum;const VO=ie(["claude","codex","all"]);VO.enum;const up=ie(["cloud-run","wordpress","cloudflare","vercel","generic-log"]);up.enum;const IO=ie(["raw-request-events","aggregate-request-metrics","request-url","status-code","user-agent","remote-ip","referer","cursor-pull"]);IO.enum;const GO=ie(["raw-request","aggregate-bucket"]),PO=GO.enum,HO=ie(["observed","provider-aggregated","inferred"]),KO=HO.enum,ZO=N({type:m().nullable(),labels:yt(m(),m())}),QO=N({sourceType:up,evidenceKind:Vt(PO["raw-request"]),confidence:Vt(KO.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:ZO,providerLabels:yt(m(),m())});N({events:z(QO),rawEntryCount:S().int().nonnegative(),skippedEntryCount:S().int().nonnegative(),nextPageToken:m().optional(),filter:m()});const M0=ie(["connected","paused","error","archived"]),IM=M0.enum,L0=ie(["oauth","service-account"]);L0.enum;const YO=ie(["verified","claimed_unverified","unknown_ai_like"]),GM=YO.enum;N({gcpProjectId:m().min(1),serviceName:m().nullable().optional(),location:m().nullable().optional(),authMode:L0});N({baseUrl:m().url(),username:m().min(1)});const dp=ie(["production","preview"]);dp.enum;N({projectId:m().min(1),teamId:m().min(1),environment:dp});const q0=N({id:m(),projectId:m(),sourceType:up,displayName:m(),status:M0,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:dp.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 XO=N({crawlerHits:S().int().nonnegative(),aiUserFetchHits:S().int().nonnegative(),aiReferralHits:S().int().nonnegative(),sampleCount:S().int().nonnegative()});N({sources:z(q0)});const JO=q0.extend({totals24h:XO,latestRun:N({runId:m(),status:Qs,startedAt:m().nullable(),finishedAt:m().nullable(),error:m().nullable()}).nullable()});N({sources:z(JO)});const FO=ie(["crawler","ai-user-fetch","ai-referral"]),fp=FO.enum,WO=N({kind:Vt(fp.crawler),sourceId:m(),tsHour:m(),botId:m(),operator:m(),verificationStatus:m(),pathNormalized:m(),status:S().int(),hits:S().int().nonnegative()}),e4=N({kind:Vt(fp["ai-user-fetch"]),sourceId:m(),tsHour:m(),botId:m(),operator:m(),verificationStatus:m(),pathNormalized:m(),status:S().int(),hits:S().int().nonnegative()}),t4=N({kind:Vt(fp["ai-referral"]),sourceId:m(),tsHour:m(),product:m(),operator:m(),sourceDomain:m(),evidenceType:m(),landingPathNormalized:m(),status:S().int(),hits:S().int().nonnegative()}),n4=l0("kind",[WO,e4,t4]);N({windowStart:m(),windowEnd:m(),totals:N({crawlerHits:S().int().nonnegative(),aiUserFetchHits:S().int().nonnegative(),aiReferralHits:S().int().nonnegative()}),events:z(n4)});var a4=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(a4||{});const PM={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},HM={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},KM=Wf;function i4(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 n0(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:ic(n,"input",e.processors),output:ic(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 Lz=(e,n={})=>i=>{const r=e0({...i,processors:n});return kt(e,r),t0(r,e),n0(r,e)},ic=(e,n,i={})=>r=>{const{libraryOptions:l,target:c}=r??{},d=e0({...l??{},target:c,io:n,processors:i});return kt(e,d),t0(d,e),n0(d,e)},qz={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Uz=(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=qz[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}))])}},$z=(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)},Vz=(e,n,i,r)=>{i.type="boolean"},Iz=(e,n,i,r)=>{i.not={}},Gz=(e,n,i,r)=>{},Pz=(e,n,i,r)=>{const l=e._zod.def,c=Dv(l.entries);c.every(d=>typeof d=="number")&&(i.type="number"),c.every(d=>typeof d=="string")&&(i.type="string"),i.enum=c},Hz=(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},Kz=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Zz=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Qz=(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"]})},Yz=(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)},Xz=(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},Jz=(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},Fz=(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)}},Wz=(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"}]},eC=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType},tC=(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))},nC=(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)))},aC=(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},iC=(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},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.readOnly=!0},a0=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType},rC=H("ZodISODateTime",(e,n)=>{o_.init(e,n),dt.init(e,n)});function oC(e){return pz(rC,e)}const lC=H("ZodISODate",(e,n)=>{l_.init(e,n),dt.init(e,n)});function cC(e){return mz(lC,e)}const uC=H("ZodISOTime",(e,n)=>{c_.init(e,n),dt.init(e,n)});function dC(e){return hz(uC,e)}const fC=H("ZodISODuration",(e,n)=>{u_.init(e,n),dt.init(e,n)});function pC(e){return gz(fC,e)}const mC=(e,n)=>{Lv.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>e2(e,i)},flatten:{value:i=>WA(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,vf,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,vf,2)}},isEmpty:{get(){return e.issues.length===0}}})},_n=H("ZodError",mC,{Parent:Error}),hC=Qf(_n),gC=Yf(_n),yC=gc(_n),bC=yc(_n),vC=a2(_n),SC=i2(_n),xC=s2(_n),wC=r2(_n),jC=o2(_n),NC=l2(_n),kC=c2(_n),AC=u2(_n),ut=H("ZodType",(e,n)=>(ct.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:ic(e,"input"),output:ic(e,"output")}}),e.toJSONSchema=Lz(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)=>hC(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>yC(e,i,r),e.parseAsync=async(i,r)=>gC(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>bC(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>vC(e,i,r),e.decode=(i,r)=>SC(e,i,r),e.encodeAsync=async(i,r)=>xC(e,i,r),e.decodeAsync=async(i,r)=>wC(e,i,r),e.safeEncode=(i,r)=>jC(e,i,r),e.safeDecode=(i,r)=>NC(e,i,r),e.safeEncodeAsync=async(i,r)=>kC(e,i,r),e.safeDecodeAsync=async(i,r)=>AC(e,i,r),e.refine=(i,r)=>e.check(vT(i,r)),e.superRefine=i=>e.check(ST(i)),e.overwrite=i=>e.check(Ks(i)),e.optional=()=>ub(e),e.exactOptional=()=>rT(e),e.nullable=()=>db(e),e.nullish=()=>ub(db(e)),e.nonoptional=i=>fT(e,i),e.array=()=>z(e),e.or=i=>o0([e,i]),e.and=i=>eT(e,i),e.transform=i=>fb(e,iT(i)),e.default=i=>cT(e,i),e.prefault=i=>dT(e,i),e.catch=i=>mT(e,i),e.pipe=i=>fb(e,i),e.readonly=()=>yT(e),e.describe=i=>{const r=e.clone();return no.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return no.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return no.get(e);const r=e.clone();return no.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),i0=H("_ZodString",(e,n)=>{Xf.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(r,l,c)=>Uz(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(wz(...r)),e.includes=(...r)=>e.check(kz(...r)),e.startsWith=(...r)=>e.check(Az(...r)),e.endsWith=(...r)=>e.check(_z(...r)),e.min=(...r)=>e.check(ac(...r)),e.max=(...r)=>e.check(Fv(...r)),e.length=(...r)=>e.check(Wv(...r)),e.nonempty=(...r)=>e.check(ac(1,...r)),e.lowercase=r=>e.check(jz(r)),e.uppercase=r=>e.check(Nz(r)),e.trim=()=>e.check(Cz()),e.normalize=(...r)=>e.check(zz(...r)),e.toLowerCase=()=>e.check(Tz()),e.toUpperCase=()=>e.check(Ez()),e.slugify=()=>e.check(Oz())}),_C=H("ZodString",(e,n)=>{Xf.init(e,n),i0.init(e,n),e.email=i=>e.check(K_(zC,i)),e.url=i=>e.check(J_(CC,i)),e.jwt=i=>e.check(fz(PC,i)),e.emoji=i=>e.check(F_(TC,i)),e.guid=i=>e.check(ib(lb,i)),e.uuid=i=>e.check(Z_($l,i)),e.uuidv4=i=>e.check(Q_($l,i)),e.uuidv6=i=>e.check(Y_($l,i)),e.uuidv7=i=>e.check(X_($l,i)),e.nanoid=i=>e.check(W_(EC,i)),e.guid=i=>e.check(ib(lb,i)),e.cuid=i=>e.check(ez(OC,i)),e.cuid2=i=>e.check(tz(DC,i)),e.ulid=i=>e.check(nz(RC,i)),e.base64=i=>e.check(cz(VC,i)),e.base64url=i=>e.check(uz(IC,i)),e.xid=i=>e.check(az(BC,i)),e.ksuid=i=>e.check(iz(MC,i)),e.ipv4=i=>e.check(sz(LC,i)),e.ipv6=i=>e.check(rz(qC,i)),e.cidrv4=i=>e.check(oz(UC,i)),e.cidrv6=i=>e.check(lz($C,i)),e.e164=i=>e.check(dz(GC,i)),e.datetime=i=>e.check(oC(i)),e.date=i=>e.check(cC(i)),e.time=i=>e.check(dC(i)),e.duration=i=>e.check(pC(i))});function m(e){return H_(_C,e)}const dt=H("ZodStringFormat",(e,n)=>{lt.init(e,n),i0.init(e,n)}),zC=H("ZodEmail",(e,n)=>{F2.init(e,n),dt.init(e,n)}),lb=H("ZodGUID",(e,n)=>{X2.init(e,n),dt.init(e,n)}),$l=H("ZodUUID",(e,n)=>{J2.init(e,n),dt.init(e,n)}),CC=H("ZodURL",(e,n)=>{W2.init(e,n),dt.init(e,n)}),TC=H("ZodEmoji",(e,n)=>{e_.init(e,n),dt.init(e,n)}),EC=H("ZodNanoID",(e,n)=>{t_.init(e,n),dt.init(e,n)}),OC=H("ZodCUID",(e,n)=>{n_.init(e,n),dt.init(e,n)}),DC=H("ZodCUID2",(e,n)=>{a_.init(e,n),dt.init(e,n)}),RC=H("ZodULID",(e,n)=>{i_.init(e,n),dt.init(e,n)}),BC=H("ZodXID",(e,n)=>{s_.init(e,n),dt.init(e,n)}),MC=H("ZodKSUID",(e,n)=>{r_.init(e,n),dt.init(e,n)}),LC=H("ZodIPv4",(e,n)=>{d_.init(e,n),dt.init(e,n)}),qC=H("ZodIPv6",(e,n)=>{f_.init(e,n),dt.init(e,n)}),UC=H("ZodCIDRv4",(e,n)=>{p_.init(e,n),dt.init(e,n)}),$C=H("ZodCIDRv6",(e,n)=>{m_.init(e,n),dt.init(e,n)}),VC=H("ZodBase64",(e,n)=>{h_.init(e,n),dt.init(e,n)}),IC=H("ZodBase64URL",(e,n)=>{y_.init(e,n),dt.init(e,n)}),GC=H("ZodE164",(e,n)=>{b_.init(e,n),dt.init(e,n)}),PC=H("ZodJWT",(e,n)=>{S_.init(e,n),dt.init(e,n)}),s0=H("ZodNumber",(e,n)=>{Zv.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(r,l,c)=>$z(e,r,l),e.gt=(r,l)=>e.check(rb(r,l)),e.gte=(r,l)=>e.check(tf(r,l)),e.min=(r,l)=>e.check(tf(r,l)),e.lt=(r,l)=>e.check(sb(r,l)),e.lte=(r,l)=>e.check(ef(r,l)),e.max=(r,l)=>e.check(ef(r,l)),e.int=r=>e.check(cb(r)),e.safe=r=>e.check(cb(r)),e.positive=r=>e.check(rb(0,r)),e.nonnegative=r=>e.check(tf(0,r)),e.negative=r=>e.check(sb(0,r)),e.nonpositive=r=>e.check(ef(0,r)),e.multipleOf=(r,l)=>e.check(ob(r,l)),e.step=(r,l)=>e.check(ob(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 yz(s0,e)}const HC=H("ZodNumberFormat",(e,n)=>{x_.init(e,n),s0.init(e,n)});function cb(e){return bz(HC,e)}const KC=H("ZodBoolean",(e,n)=>{w_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Vz(e,i,r)});function de(e){return vz(KC,e)}const ZC=H("ZodUnknown",(e,n)=>{j_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Gz()});function ga(){return Sz(ZC)}const QC=H("ZodNever",(e,n)=>{N_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Iz(e,i,r)});function YC(e){return xz(QC,e)}const XC=H("ZodArray",(e,n)=>{k_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Qz(e,i,r,l),e.element=n.element,e.min=(i,r)=>e.check(ac(i,r)),e.nonempty=i=>e.check(ac(1,i)),e.max=(i,r)=>e.check(Fv(i,r)),e.length=(i,r)=>e.check(Wv(i,r)),e.unwrap=()=>e.element});function z(e,n){return Dz(XC,e,n)}const JC=H("ZodObject",(e,n)=>{__.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Yz(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:YC()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>QA(e,i),e.safeExtend=i=>YA(e,i),e.merge=i=>XA(e,i),e.pick=i=>KA(e,i),e.omit=i=>ZA(e,i),e.partial=(...i)=>JA(c0,e,i[0]),e.required=(...i)=>FA(u0,e,i[0])});function N(e,n){const i={type:"object",shape:e??{},...be(n)};return new JC(i)}const r0=H("ZodUnion",(e,n)=>{Xv.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Xz(e,i,r,l),e.options=n.options});function o0(e,n){return new r0({type:"union",options:e,...be(n)})}const FC=H("ZodDiscriminatedUnion",(e,n)=>{r0.init(e,n),z_.init(e,n)});function l0(e,n,i){return new FC({type:"union",options:n,discriminator:e,...be(i)})}const WC=H("ZodIntersection",(e,n)=>{C_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Jz(e,i,r,l)});function eT(e,n){return new WC({type:"intersection",left:e,right:n})}const tT=H("ZodRecord",(e,n)=>{T_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Fz(e,i,r,l),e.keyType=n.keyType,e.valueType=n.valueType});function yt(e,n,i){return new tT({type:"record",keyType:e,valueType:n,...be(i)})}const xf=H("ZodEnum",(e,n)=>{E_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(r,l,c)=>Pz(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 xf({...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 xf({...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 xf({type:"enum",entries:i,...be(n)})}const nT=H("ZodLiteral",(e,n)=>{O_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Hz(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 nT({type:"literal",values:Array.isArray(e)?e:[e],...be(n)})}const aT=H("ZodTransform",(e,n)=>{D_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Zz(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new Ev(e.constructor.name);i.addIssue=c=>{if(typeof c=="string")i.issues.push(lo(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(lo(d))}};const l=n.transform(i.value,i);return l instanceof Promise?l.then(c=>(i.value=c,i)):(i.value=l,i)}});function iT(e){return new aT({type:"transform",transform:e})}const c0=H("ZodOptional",(e,n)=>{Jv.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>a0(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function ub(e){return new c0({type:"optional",innerType:e})}const sT=H("ZodExactOptional",(e,n)=>{R_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>a0(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function rT(e){return new sT({type:"optional",innerType:e})}const oT=H("ZodNullable",(e,n)=>{B_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Wz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function db(e){return new oT({type:"nullable",innerType:e})}const lT=H("ZodDefault",(e,n)=>{M_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>tC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function cT(e,n){return new lT({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():Bv(n)}})}const uT=H("ZodPrefault",(e,n)=>{L_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>nC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function dT(e,n){return new uT({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():Bv(n)}})}const u0=H("ZodNonOptional",(e,n)=>{q_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>eC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function fT(e,n){return new u0({type:"nonoptional",innerType:e,...be(n)})}const pT=H("ZodCatch",(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,e.removeCatch=e.unwrap});function mT(e,n){return new pT({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const hT=H("ZodPipe",(e,n)=>{$_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>iC(e,i,r,l),e.in=n.in,e.out=n.out});function fb(e,n){return new hT({type:"pipe",in:e,out:n})}const gT=H("ZodReadonly",(e,n)=>{V_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>sC(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function yT(e){return new gT({type:"readonly",innerType:e})}const bT=H("ZodCustom",(e,n)=>{I_.init(e,n),ut.init(e,n),e._zod.processJSONSchema=(i,r,l)=>Kz(e,i)});function vT(e,n={}){return Rz(bT,e,n)}function ST(e){return Bz(e)}const d0=N({id:m(),name:m(),keyPrefix:m(),scopes:z(m()),createdAt:m(),lastUsedAt:m().nullable(),revokedAt:m().nullable()});N({keys:z(d0)});N({name:m().min(1).max(100),scopes:z(m()).min(1).optional()});d0.extend({key:m()});const xT=N({maxConcurrency:S().int().positive(),maxRequestsPerMinute:S().int().positive(),maxRequestsPerDay:S().int().positive()}),ya=m().min(1);m().min(1);const Jf=N({label:m().min(1),city:m().min(1),region:m().min(1),country:m().length(2),timezone:m().optional()}),Ff=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(Ff),enabled:de().default(!0),source:m().optional(),webhookSecret:m().optional(),createdAt:m(),updatedAt:m()});N({channel:Vt("webhook"),url:m().url(),events:z(Ff).min(1),source:m().optional()});const f0=ie(["cli","api","config-file"]);function wT(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 jT(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(Jf).optional(),defaultLocation:m().nullable().optional(),autoExtractBacklinks:de().optional(),configSource:f0.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(Jf).default([]),defaultLocation:m().nullable().optional(),autoExtractBacklinks:de().default(!1),configSource:f0.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 sc(e){let n=e.trim().toLowerCase();try{n.includes("://")&&(n=new URL(n).hostname.toLowerCase())}catch{}return n.replace(/^www\./,"")}const NT=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 kT(e){const n=sc(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 NT.has(l)?r.length>=3?r.slice(-3).join("."):"":r.slice(-2).join(".")}function AT(e){const n=kT(e);return n?n.split(".")[0]??"":""}function _T(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=sc(c);i.has(d)||(i.add(d),r.push(c))}return r}const zT=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({})}),CT=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(),TT=N({channel:Vt("webhook"),url:m().url(),events:z(Ff).min(1)}),ET=N({gsc:N({propertyUrl:m()}).optional(),syncSchedule:N({preset:m().optional(),cron:m().optional()}).optional()}).optional(),pb=z(m().min(1)),OT=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:pb.optional(),keywords:pb.optional(),competitors:z(m().min(1)).optional().default([]),providers:z(ya).optional().default([]),locations:z(Jf).optional().default([]),defaultLocation:m().optional(),schedule:CT,notifications:z(TT).optional().default([]),google:ET,autoExtractBacklinks:de().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=wT(e.locations);i.length>0&&n.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${i.join(", ")}`,path:["locations"]}),jT(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:zT,spec:OT});const DT=ie(["gsc","ga4","gbp"]);N({id:m(),domain:m(),connectionType:DT,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 RT=N({date:m(),clicks:S(),impressions:S(),ctr:S()});N({totals:N({clicks:S(),impressions:S(),ctr:S(),days:S()}),daily:z(RT)});const wf=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:de().nullable().optional(),richResults:z(m()).default([]),referringUrls:z(m()).default([]),inspectedAt:m()});ie(["stable","reindexed","deindexed","still-missing","new"]);const BT=N({url:m(),previousState:m().nullable(),currentState:m().nullable(),transitionDate:m()}),MT=N({reason:m(),count:S(),urls:z(wf).default([])});N({summary:N({total:S(),indexed:S(),notIndexed:S(),deindexed:S(),percentage:S()}),lastInspectedAt:m().nullable(),lastSyncedAt:m().nullable(),indexed:z(wf).default([]),notIndexed:z(wf).default([]),deindexed:z(BT).default([]),reasonGroups:z(MT).default([])});N({url:m(),type:ie(["URL_UPDATED","URL_DELETED"]),notifiedAt:m()});const LT=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(LT).default([])});N({date:m(),indexed:S(),notIndexed:S(),reasonBreakdown:yt(m(),S()).default({})});const qT=N({siteUrl:m(),permissionLevel:m()});N({sites:z(qT).default([])});const UT=N({type:m(),submitted:m(),indexed:m()}),$T=N({path:m(),lastSubmitted:m().optional(),isPending:de().optional(),isSitemapsIndex:de().optional(),type:m().optional(),lastDownloaded:m().optional(),warnings:m().optional(),errors:m().optional(),contents:z(UT).optional()});N({sitemaps:z($T).default([])});const VT=N({name:m(),accountName:m().nullable(),type:m().nullable(),role:m().nullable()});N({accounts:z(VT),total:S().int().nonnegative()});const IT=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:de(),syncedAt:m().nullable(),createdAt:m(),updatedAt:m()});N({locations:z(IT),totalDiscovered:S().int().nonnegative(),totalSelected:S().int().nonnegative()});N({selectAllNew:de().default(!0),accountName:m().optional(),switchAccount:de().default(!1)});N({selected:de()});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 GT=N({locationName:m(),date:m(),metric:m(),value:S().int()});N({metrics:z(GT),total:S().int().nonnegative()});const PT=N({locationName:m(),periodStart:m(),periodEnd:m(),keyword:m(),valueCount:S().int().nullable(),valueThreshold:S().int().nullable()});N({keywords:z(PT),total:S().int().nonnegative(),thresholdedPct:S().int().min(0).max(100)});const HT=N({locationName:m(),placeActionLinkName:m(),placeActionType:m(),uri:m().nullable(),isPreferred:de(),providerType:m().nullable()});N({placeActions:z(HT),total:S().int().nonnegative()});const KT=N({locationName:m(),populatedGroupCount:S().int().nonnegative(),syncedAt:m(),attributes:yt(m(),ga())});N({lodging:z(KT),total:S().int().nonnegative()});const ZT=N({locationName:m(),placeId:m(),tier:m(),amenities:z(m()),syncedAt:m(),place:yt(m(),ga())});N({places:z(ZT),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:de(),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:de(),hasBookingCta:de(),hasDirectMerchantCta:de()}),lodging:N({lodgingLocationCount:S().int().nonnegative(),populatedLodgingCount:S().int().nonnegative(),emptyLodgingCount:S().int().nonnegative()})});const QT={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 YT(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 RM(e){return QT[e]??YT(e)}const XT=["BUSINESS_DIRECTION_REQUESTS","WEBSITE_CLICKS","CALL_CLICKS"],JT=["BUSINESS_IMPRESSIONS_DESKTOP_SEARCH","BUSINESS_IMPRESSIONS_MOBILE_SEARCH","BUSINESS_IMPRESSIONS_DESKTOP_MAPS","BUSINESS_IMPRESSIONS_MOBILE_MAPS"];function BM(e){return XT.includes(e)?"conversion":JT.includes(e)?"reach":"other"}N({id:m(),domain:m(),siteUrl:m().nullable().optional(),createdAt:m(),updatedAt:m()});const nf=N({id:m(),url:m(),httpCode:S().nullable().optional(),inIndex:de().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(nf).default([]),notIndexed:z(nf).default([]),unknown:z(nf).default([]).optional()});N({query:m(),impressions:S(),clicks:S(),ctr:S(),averagePosition:S()});N({date:m(),indexed:S(),notIndexed:S(),unknown:S()});const FT=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(FT).default([])});const p0=N({url:m(),verified:de()});N({sites:z(p0).default([])});N({connected:de(),domain:m(),siteUrl:m().nullable(),createdAt:m().nullable(),updatedAt:m().nullable()});N({connected:de(),domain:m(),siteUrl:m().nullable(),availableSites:z(p0).default([])});N({siteUrl:m()});const WT=N({name:m(),alive:de(),lastUsed:m().nullable()});N({connected:de(),endpoint:m(),version:m().optional(),browserVersion:m().optional(),targets:z(WT).default([])});const Zs=ie(["live","staging"]);N({projectName:m(),url:m(),stagingUrl:m().optional(),username:m(),defaultEnv:Zs,createdAt:m(),updatedAt:m()});const mb=N({url:m(),reachable:de(),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:de(),projectName:m(),defaultEnv:Zs,live:mb.nullable(),staging:mb.nullable(),adminUrl:m().nullable().optional()});const eE=N({id:S(),slug:m(),title:m(),status:m(),modifiedAt:m().nullable().optional(),link:m().nullable().optional()}),m0=N({title:m().nullable(),description:m().nullable(),noindex:de().nullable(),writable:de().default(!1),writeTargets:z(m()).default([])}),tE=N({type:m(),json:yt(m(),ga())}),nE=eE.extend({env:Zs,content:m(),seo:m0,schemaBlocks:z(tE).default([])}),hb=nE.extend({contentHash:m(),contentSnippet:m()}),h0=N({manualRequired:Vt(!0),targetUrl:m(),adminUrl:m().nullable().optional(),content:m(),nextSteps:z(m()).default([])}),aE=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:m0,schemaPresent:de(),issues:z(aE).default([])});const iE=N({slug:m(),status:ie(["applied","skipped","manual"]),error:m().optional(),manualAssist:h0.optional()});N({env:Zs,strategy:ie(["plugin","manual"]),results:z(iE)});const sE=N({slug:m(),status:ie(["deployed","stripped","skipped","failed"]),schemasInjected:z(m()).optional(),manualAssist:h0.optional(),error:m().optional()});N({env:Zs,results:z(sE)});const rE=N({slug:m(),title:m(),canonrySchemas:z(m()),thirdPartySchemas:z(m()),hasCanonrySchema:de()});N({env:Zs,pages:z(rE)});const oE=N({name:m(),status:ie(["completed","skipped","failed"]),summary:m().optional(),error:m().optional()});N({projectName:m(),steps:z(oE)});N({slug:m(),live:hb,staging:hb,hasDifferences:de(),differences:N({title:de(),slug:de(),content:de(),seoTitle:de(),seoDescription:de(),noindex:de(),schema:de()})});const lE=N({name:m(),displayName:m().optional(),keyUrl:m().optional(),modelHint:m().optional(),model:m().optional(),defaultModel:m().optional(),configured:de(),quota:xT.optional(),vertexConfigured:de().optional()}),gb=N({configured:de()});N({providers:z(lE).default([]),google:gb,bing:gb});const Qs=ie(["queued","running","completed","partial","failed","cancelled"]),Ht=Qs.enum,g0=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"]),Te=g0.enum,y0=ie(["manual","scheduled","config-apply","backfill","probe"]),Bs=y0.enum,Ni=ie(["cited","not-cited"]),rc=Ni.enum,oc=ie(["visible","not-visible"]);oc.enum;const lc=ie(["mentioned","not-mentioned"]);lc.enum;const b0=ie(["new","cited","lost","emerging","not-cited"]);b0.enum;const cE=ie(["new","mentioned","lost","emerging","not-mentioned"]);cE.enum;const uE=ie([Bs.manual,Bs.probe]);N({kind:Vt(Te["answer-visibility"]).optional(),trigger:uE.optional(),providers:z(ya).optional(),queries:z(m().min(1)).min(1).optional(),location:m().min(1).optional(),allLocations:de().optional(),noLocation:de().optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const dE=N({message:m(),raw:ga().optional()}),fE=N({message:m().optional(),providers:yt(m(),dE).optional()}),pE=N({id:m(),projectId:m(),kind:g0,status:Qs,trigger:y0.default("manual"),location:m().nullable().optional(),queries:z(m()).nullable().optional(),startedAt:m().nullable().optional(),finishedAt:m().nullable().optional(),error:fE.nullable().optional(),createdAt:m()});function Wf(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 v0=N({uri:m(),title:m()}),S0=N({id:m(),runId:m(),queryId:m(),query:m().optional(),provider:ya,citationState:Ni,answerMentioned:de().optional(),visibilityState:oc.optional(),mentionState:lc.optional(),transition:b0.optional(),answerText:m().nullable().optional(),citedDomains:z(m()).default([]),competitorOverlap:z(m()).default([]),recommendedCompetitors:z(m()).default([]),matchedTerms:z(m()).default([]),groundingSources:z(v0).default([]),searchQueries:z(m()).default([]),model:m().nullable().optional(),location:m().nullable().optional(),createdAt:m()});N({snapshots:z(S0),total:S().int().nonnegative()});const mE=N({queryId:m().nullable(),query:m().nullable(),run1State:Ni.nullable(),run2State:Ni.nullable(),run1AnswerMentioned:de().nullable(),run2AnswerMentioned:de().nullable(),run1VisibilityState:oc.nullable(),run2VisibilityState:oc.nullable(),run1MentionState:lc.nullable().optional(),run2MentionState:lc.nullable().optional(),changed:de(),visibilityChanged:de()});N({run1:m(),run2:m(),diff:z(mE)});const hE=pE.extend({snapshots:z(S0).optional()});N({totalRuns:S().int().nonnegative(),run:hE.nullable()});N({id:m(),projectId:m().nullable().optional(),actor:m(),action:m(),entityType:m(),entityId:m().nullable().optional(),diff:ga().optional(),createdAt:m()});const gE=ie(["yes","no","unknown","not-mentioned"]),yb=z(m().min(1));N({companyName:m().min(1),domain:m().min(1),queries:yb.optional(),phrases:yb.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 yE=N({name:m(),count:S().int().nonnegative()}),bE=N({id:m(),name:m(),weight:S(),score:S(),findings:z(N({type:m(),message:m()})).default([]),recommendations:z(m()).default([])}),vE=N({url:m(),finalUrl:m(),auditedAt:m(),overallScore:S(),summary:m(),factors:z(bE).default([])}),SE=N({industry:m(),summary:m(),services:z(m()).default([]),categoryTerms:z(m()).default([])}),xE=N({provider:m(),displayName:m(),model:m().nullable().optional(),mentioned:de(),cited:de(),describedAccurately:gE,accuracyNotes:m().nullable().optional(),incorrectClaims:z(m()).default([]),recommendedCompetitors:z(m()).default([]),citedDomains:z(m()).default([]),groundingSources:z(v0).default([]),searchQueries:z(m()).default([]),answerText:m(),error:m().nullable().optional()}),wE=N({query:m(),providerResults:z(xE).default([])}),jE=N({totalQueries:S().int().nonnegative(),totalProviders:S().int().nonnegative(),totalComparisons:S().int().nonnegative(),mentionCount:S().int().nonnegative(),citationCount:S().int().nonnegative(),topCompetitors:z(yE).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:SE,audit:vE,queryResults:z(wE).default([]),summary:jE});const x0=ie(["pass","partial","fail"]);x0.enum;const w0=ie(["up","down","flat"]);w0.enum;const NE=N({id:m(),name:m(),weight:S(),avgScore:S(),status:x0,pagesPassing:S().int().nonnegative(),pagesPartial:S().int().nonnegative(),pagesFailing:S().int().nonnegative()}),kE=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:de(),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:w0.nullable(),previousScore:S().nullable(),previousAuditedAt:m().nullable(),factors:z(NE).default([]),crossCuttingIssues:z(kE).default([]),prioritizedFixes:z(m()).default([])});const AE=N({id:m(),name:m(),weight:S(),score:S()}),_E=N({url:m(),overallScore:S(),status:ie(["success","error"]),error:m().nullable().optional(),factors:z(AE).default([])});N({project:m(),runId:m().nullable(),auditedAt:m().nullable(),total:S().int().nonnegative(),pages:z(_E).default([])});const zE=N({runId:m(),auditedAt:m(),aggregateScore:S(),pagesAudited:S().int().nonnegative()});N({project:m(),points:z(zE).default([])});N({sitemapUrl:m().url().optional(),limit:S().int().positive().max(2e3).optional()});N({runId:m(),status:Qs});const ep=ie(["answer-visibility","traffic-sync","gbp-sync","data-refresh","backlinks-sync","site-audit"]);ep.enum;N({id:m(),projectId:m(),kind:ep,cronExpr:m(),preset:m().nullable().optional(),timezone:m().default("UTC"),enabled:de().default(!0),providers:z(ya).default([]),sourceId:m().nullable().optional(),lastRunAt:m().nullable().optional(),nextRunAt:m().nullable().optional(),createdAt:m(),updatedAt:m()});N({kind:ep.optional(),preset:m().optional(),cron:m().optional(),timezone:m().optional().default("UTC"),enabled:de().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 tp=ie(["competitor","directory","social","forum","news","reference","blog","ecommerce","video","academic","other"]);tp.enum;const np=ie(["cited","aspirational","wasted-surface"]),bb=np.enum;bb.cited,bb.aspirational;const vc=ie(["direct-competitor","ota-aggregator","editorial-media","other","unknown"]),CE=vc.enum;CE["direct-competitor"];const ap=ie(["queued","seeding","probing","completed","failed"]);ap.enum;const j0=N({domain:m().min(1),hits:S().int().positive(),competitorType:vc.default("unknown")}),TE=N({id:m(),sessionId:m(),projectId:m(),query:m(),bucket:np.nullable().default(null),citationState:Ni,citedDomains:z(m()).default([]),createdAt:m()}),EE=N({id:m(),projectId:m(),status:ap,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(j0).default([]),warning:m().nullable().optional(),error:m().nullable().optional(),startedAt:m().nullable().optional(),finishedAt:m().nullable().optional(),createdAt:m()});EE.extend({probes:z(TE).default([])});const OE=500;N({icpDescription:m().min(1).optional(),dedupThreshold:S().min(0).max(1).optional(),maxProbes:S().int().positive().max(OE).optional(),locations:z(m().min(1)).optional()});N({buckets:z(np).min(1).optional(),includeCompetitors:de().optional(),competitorTypes:z(vc).min(1).optional()});N({sessionId:m(),projectId:m(),status:ap,queriesByBucket:N({cited:z(m()),aspirational:z(m()),"wasted-surface":z(m())}),suggestedCompetitors:z(j0)});N({sessionId:m(),projectId:m(),promoted:N({queries:z(m()),competitors:z(m())}),skipped:N({queries:z(m()),competitors:z(m())})});o0([Vt("cli"),m().regex(/^discovery:.+$/)]);const ip=ie(["own","direct-competitor","ota-aggregator","editorial-media","other"]);ip.enum;const N0=ie(["7d","30d","90d","all"]),vb=ie(["improving","declining","stable"]),DE=ie(["mentioned","cited"]);DE.enum;const jf=N({citationRate:S(),cited:S().int(),total:S().int(),mentionRate:S(),mentionedCount:S().int()}),RE=N({startDate:m(),endDate:m(),citationRate:S(),cited:S().int(),total:S().int(),queryCount:S().int(),mentionRate:S(),mentionedCount:S().int(),byProvider:yt(m(),jf)}),BE=N({date:m(),delta:S().int(),label:m()});N({window:N0,buckets:z(RE),overall:jf,byProvider:yt(m(),jf),trend:vb,mentionTrend:vb,queryChanges:z(BE)});const Sb=N({category:tp,label:m(),count:S().int(),percentage:S(),topDomains:z(N({domain:m(),count:S().int()}))}),ME=N({domain:m(),count:S().int(),percentage:S(),category:tp,label:m(),surfaceClass:ip}),LE=N({surfaceClass:ip,label:m(),count:S().int(),percentage:S(),domainCount:S().int()}),xb=N({totalCitedSlots:S().int(),domainTotal:S().int(),entries:z(ME),truncatedDomainCount:S().int(),truncatedCitedSlots:S().int(),bySurfaceClass:z(LE)});N({overall:z(Sb),byQuery:yt(m(),z(Sb)),ranked:xb,byProvider:yt(m(),xb),runId:m(),window:N0,limit:S().int().nullable()});N({id:m(),projectId:m(),propertyId:m(),clientEmail:m(),connected:de(),createdAt:m(),updatedAt:m()});N({date:m(),landingPage:m(),sessions:S(),organicSessions:S(),users:S()});const sp=ie(["session","first_user","manual_utm"]),qE=N({source:m(),medium:m(),sessions:S(),users:S(),sourceDimension:sp}),UE=N({source:m(),medium:m(),sourceDimension:sp,landingPage:m(),sessions:S(),users:S()}),$E=N({source:m(),medium:m(),sessions:S(),users:S(),channelGroup:m()}),Xr=N({sessions:S(),sharePct:S(),sharePctDisplay:m()}),VE=N({organic:Xr,social:Xr,direct:Xr,ai:Xr,other:Xr});N({totalSessions:S(),totalOrganicSessions:S(),totalDirectSessions:S(),totalUsers:S(),topPages:z(N({landingPage:m(),sessions:S(),organicSessions:S(),directSessions:S(),users:S()})),aiReferrals:z(qE),aiReferralLandingPages:z(UE),aiSessionsDeduped:S(),aiUsersDeduped:S(),aiSessionsBySession:S(),aiUsersBySession:S(),socialReferrals:z($E),socialSessions:S(),socialUsers:S(),channelBreakdown:VE,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:de(),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:de(),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:sp});N({date:m(),source:m(),medium:m(),sessions:S(),users:S(),channelGroup:m()});N({date:m(),sessions:S(),organicSessions:S(),users:S()});function cc(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}const k0=ie(["claude","openai","gemini","zai"]),IE=N({id:k0,label:m(),defaultModel:m(),configured:de(),keySource:ie(["config","env"]).nullable()});N({providers:z(IE).default([]),defaultProvider:k0.nullable()});const GE=ie(["aero","user","compaction"]);GE.enum;const A0=128;N({key:m().min(1).max(A0),value:m().min(1)});N({key:m().min(1).max(A0)});const rp=ie(["queued","downloading","querying","ready","failed"]);rp.enum;N({id:m(),release:m(),status:rp,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 PE=N({linkingDomain:m(),numHosts:S().int()}),HE=N({projectId:m(),release:m(),targetDomain:m(),totalLinkingDomains:S().int(),totalHosts:S().int(),top10HostsShare:m(),queriedAt:m(),excludedLinkingDomains:S().int().optional(),excludedHosts:S().int().optional()});N({summary:HE.nullable(),total:S().int(),rows:z(PE)});N({release:m(),totalLinkingDomains:S().int(),totalHosts:S().int(),top10HostsShare:m(),queriedAt:m()});N({duckdbInstalled:de(),duckdbVersion:m().nullable().optional(),duckdbSpec:m(),pluginDir:m()});N({installed:de(),version:m(),path:m(),alreadyPresent:de()});N({release:m(),vertexUrl:m(),edgesUrl:m(),vertexBytes:S().int().nullable(),edgesBytes:S().int().nullable(),lastModified:m().nullable()});N({release:m(),syncStatus:rp.nullable(),bytes:S().int(),lastUsedAt:m().nullable()});ie(["snapshot","insight"]);const KE=N({kind:Vt("snapshot"),id:m(),runId:m(),query:m(),provider:m(),model:m().nullable(),citationState:Ni,matchedField:ie(["answerText","citedDomains","searchQueries","query"]),snippet:m(),createdAt:m()}),ZE=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:de(),createdAt:m()}),QE=l0("kind",[KE,ZE]);N({query:m(),totalHits:S().int().nonnegative(),truncated:de(),hits:z(QE)});const _0=ie(["create","expand","refresh","add-schema"]);_0.enum;function MM(e){switch(e){case"create":return"Create";case"expand":return"Expand";case"refresh":return"Refresh";case"add-schema":return"Add schema"}}const z0=ie(["gsc","competitor-evidence","both"]);z0.enum;const C0=ie(["high","medium","low"]);C0.enum;const YE=ie(["blog-post","comparison","listicle","how-to","guide","glossary"]);YE.enum;const T0=ie(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);T0.enum;const op=ie(["ownable","ceded"]);op.enum;const XE=N({url:m(),gscImpressions:S().nonnegative(),gscClicks:S().nonnegative(),gscAvgPosition:S().nonnegative().nullable(),organicSessions:S().nonnegative()}),JE=N({domain:m(),url:m(),title:m(),citationCount:S().int().nonnegative()}),FE=N({demand:S(),competitor:S(),absence:S(),gapSeverity:S()}),WE=N({actionId:m(),state:T0,lastUpdated:m()}),E0=N({targetRef:m(),query:m(),action:_0,ourBestPage:XE.nullable(),winningCompetitor:JE.nullable(),score:S(),scoreBreakdown:FE,drivers:z(m()),demandSource:z0,actionConfidence:C0,existingAction:WE.nullable(),winnabilityClass:op,winnability:S().min(0).max(1).nullable()});N({targets:z(E0),contextMetrics:N({totalAiReferralSessions:S().int().nonnegative(),latestRunId:m(),runTimestamp:m()})});const eO=N({targetRef:m(),addressedUrl:m().nullable(),note:m().nullable(),dismissedAt:m()});N({dismissals:z(eO)});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:de().optional()});const tO=N({targetQuery:m().trim().min(1),winnabilityClass:op,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:tO,costMillicents:S().int().nonnegative(),generatedAt:m()});const nO=N({domain:m(),competitorType:vc,hits:S().int().nonnegative(),updatedAt:m()});N({classifications:z(nO)});const aO=N({uri:m(),title:m(),domain:m(),isOurDomain:de(),isCompetitor:de(),citationCount:S().int().nonnegative(),providers:z(ya)}),O0=N({query:m(),groundingSources:z(aO)});N({sources:z(O0),latestRunId:m()});const D0=N({query:m(),competitorDomains:z(m()),competitorCount:S().int().nonnegative(),missRate:S().min(0).max(1),lastSeenInRunId:m()});N({gaps:z(D0),latestRunId:m()});const R0=ie(["ok","warn","fail","skipped"]);R0.enum;const lp=ie(["global","project"]);lp.enum;const B0=ie(["auth","config","providers","integrations","database","schedules","agent"]);B0.enum;const iO=N({id:m(),category:B0,scope:lp,title:m(),status:R0,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:lp,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(iO)});const sO=N({provider:m(),citationState:Ni,cited:de(),mentioned:de(),runId:m(),runCreatedAt:m()}),rO=N({queryId:m(),query:m(),providers:z(sO),citedCount:S().int().nonnegative(),mentionedCount:S().int().nonnegative(),totalProviders:S().int().nonnegative()}),oO=N({queryId:m(),query:m(),provider:m(),citingCompetitors:z(m()),runId:m(),runCreatedAt:m()}),lO=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:lO,byQuery:z(rO),competitorGaps:z(oO),status:ie(["ready","no-data"]),reason:ie(["no-runs-yet","no-queries"]).optional()});const cO=ie(["prompt","request-param","browser-geo","ignored"]),uO=N({label:m(),city:m(),region:m(),country:m(),otherConfiguredLabels:z(m())}),dO=N({provider:m(),treatment:cO,description:m()}),fO=N({generatedAt:m(),project:N({id:m(),name:m(),displayName:m(),canonicalDomain:m(),country:m(),language:m()}),location:uO.nullable(),providerLocationHandling:z(dO),periodStart:m().nullable(),periodEnd:m().nullable()}),pO=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"])}))}),mO=N({citationState:ie(["cited","not-cited","pending"]),answerMentioned:de().nullable(),model:m().nullable()}),hO=N({queries:z(m()),providers:z(m()),matrix:z(z(mO.nullable())),providerRates:z(N({provider:m(),citedCount:S(),totalCount:S(),citationRate:S()}))}),gO=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())}))}),yO=N({projectCitationCount:S(),competitors:z(gO)}),bO=N({domain:m(),mentionCount:S(),totalCount:S(),pressureLabel:ie(["High","Moderate","Low","None"]),mentionedQueries:z(m()),sharePct:S()}),vO=N({projectMentionCount:S(),totalAnswerSnapshots:S(),competitors:z(bO)}),SO=N({category:m(),label:m(),count:S(),sharePct:S()}),xO=N({categories:z(SO),topDomains:z(N({domain:m(),count:S(),isCompetitor:de()}))}),wO=N({query:m(),clicks:S(),impressions:S(),ctr:S(),avgPosition:S(),category:ie(["brand","lead-gen","industry","other"])}),jO=N({periodStart:m(),periodEnd:m(),totalClicks:S(),totalImpressions:S(),ctr:S(),avgPosition:S(),topQueries:z(wO),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())}),NO=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()}))}),kO=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()}))}),AO=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()}))}),_O=N({windowStart:m(),windowEnd:m(),hasData:de(),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()}))}),zO=N({provider:ie(["google","bing"]).nullable(),total:S(),indexed:S(),notIndexed:S(),deindexed:S(),unknown:S(),indexedPct:S()}),CO=N({runId:m(),date:m(),citationRate:S(),citedQueryCount:S(),totalQueryCount:S(),mentionRate:S(),mentionedQueryCount:S(),providerRates:z(N({provider:m(),citationRate:S()}))}),Nf=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()}),TO=N({horizon:ie(["immediate","short-term","medium-term"]),title:m(),rationale:m()}),Jr=N({current:S(),prior:S(),deltaAbs:S(),direction:ie(["up","down","flat"]),window:S().optional()}),EO=N({provider:m(),current:S(),prior:S(),deltaAbs:S(),direction:ie(["up","down","flat"])}),OO=N({enoughHistory:de(),headline:m(),citationRate:Jr.nullable(),mentionRate:Jr.nullable(),citedQueryCount:Jr.nullable(),gscClicksDelta:Jr.nullable(),aiReferralsDelta:Jr.nullable(),providerMovements:z(EO),wins:z(Nf),regressions:z(Nf)});ie(["agency","client"]);const DO=ie(["agency","client","both"]),RO=ie(["immediate","short-term","medium-term"]),BO=ie(["high","medium","low"]);ie(["positive","caution","negative","neutral"]);const MO=ie(["content","competitors","provider","search-demand","indexing","location","monitoring"]),cp=N({audience:DO,priority:S(),horizon:RO,category:MO,title:m(),action:m(),why:z(m()),evidence:z(m()),successMetric:m(),confidence:BO,targetRef:m().optional()}),LO=N({headline:m(),overview:m(),actionItems:z(cp),confidenceNotes:z(m())}),qO=N({title:m(),detail:m(),severity:ie(["positive","caution","negative","neutral"]),evidence:z(m())}),UO=N({priorities:z(cp),diagnostics:z(qO)});function LM(e){return e.horizon==="immediate"?"negative":e.confidence==="high"?"caution":e.confidence==="low"?"neutral":"caution"}function qM(e){switch(e){case"critical":return"Critical";case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}function UM(e){switch(e){case"immediate":return"Immediate";case"short-term":return"Short term";case"medium-term":return"Medium term"}}function $M(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 VM(e){switch(e){case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}N({meta:fO,executiveSummary:pO,citationScorecard:hO,competitorLandscape:yO,mentionLandscape:vO,aiSourceOrigin:xO,gsc:jO.nullable(),ga:NO.nullable(),socialReferrals:kO.nullable(),aiReferrals:AO.nullable(),serverActivity:_O.nullable(),indexingHealth:zO.nullable(),citationsTrend:z(CO),whatsChanged:OO,insights:z(Nf),recommendedNextSteps:z(TO),actionPlan:z(cp),clientSummary:LO,agencyDiagnostics:UO,contentOpportunities:z(E0),contentGaps:z(D0),groundingSources:z(O0)});const $O=ie(["claude","codex"]);$O.enum;const VO=ie(["claude","codex","all"]);VO.enum;const up=ie(["cloud-run","wordpress","cloudflare","vercel","generic-log"]);up.enum;const IO=ie(["raw-request-events","aggregate-request-metrics","request-url","status-code","user-agent","remote-ip","referer","cursor-pull"]);IO.enum;const GO=ie(["raw-request","aggregate-bucket"]),PO=GO.enum,HO=ie(["observed","provider-aggregated","inferred"]),KO=HO.enum,ZO=N({type:m().nullable(),labels:yt(m(),m())}),QO=N({sourceType:up,evidenceKind:Vt(PO["raw-request"]),confidence:Vt(KO.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:ZO,providerLabels:yt(m(),m())});N({events:z(QO),rawEntryCount:S().int().nonnegative(),skippedEntryCount:S().int().nonnegative(),nextPageToken:m().optional(),filter:m()});const M0=ie(["connected","paused","error","archived"]),IM=M0.enum,L0=ie(["oauth","service-account"]);L0.enum;const YO=ie(["verified","claimed_unverified","unknown_ai_like"]),GM=YO.enum;N({gcpProjectId:m().min(1),serviceName:m().nullable().optional(),location:m().nullable().optional(),authMode:L0});N({baseUrl:m().url(),username:m().min(1)});const dp=ie(["production","preview"]);dp.enum;N({projectId:m().min(1),teamId:m().min(1),environment:dp});const q0=N({id:m(),projectId:m(),sourceType:up,displayName:m(),status:M0,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:dp.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 XO=N({crawlerHits:S().int().nonnegative(),aiUserFetchHits:S().int().nonnegative(),aiReferralHits:S().int().nonnegative(),sampleCount:S().int().nonnegative()});N({sources:z(q0)});const JO=q0.extend({totals24h:XO,latestRun:N({runId:m(),status:Qs,startedAt:m().nullable(),finishedAt:m().nullable(),error:m().nullable()}).nullable()});N({sources:z(JO)});const FO=ie(["crawler","ai-user-fetch","ai-referral"]),fp=FO.enum,WO=N({kind:Vt(fp.crawler),sourceId:m(),tsHour:m(),botId:m(),operator:m(),verificationStatus:m(),pathNormalized:m(),status:S().int(),hits:S().int().nonnegative()}),e4=N({kind:Vt(fp["ai-user-fetch"]),sourceId:m(),tsHour:m(),botId:m(),operator:m(),verificationStatus:m(),pathNormalized:m(),status:S().int(),hits:S().int().nonnegative()}),t4=N({kind:Vt(fp["ai-referral"]),sourceId:m(),tsHour:m(),product:m(),operator:m(),sourceDomain:m(),evidenceType:m(),landingPathNormalized:m(),status:S().int(),hits:S().int().nonnegative()}),n4=l0("kind",[WO,e4,t4]);N({windowStart:m(),windowEnd:m(),totals:N({crawlerHits:S().int().nonnegative(),aiUserFetchHits:S().int().nonnegative(),aiReferralHits:S().int().nonnegative()}),events:z(n4)});var a4=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(a4||{});const PM={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},HM={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},KM=Wf;function i4(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){Ri(!0),Oi(null);try{await pk(oe,te),Mc(!0),await r(),j(4)}catch(Fe){Oi(Fe instanceof Error?Fe.message:"Failed to save competitors")}finally{Ri(!1)}}},$i=async()=>{const te=Mi.trim();if(te){va(!0),Tn(null);try{await yk("gemini",{apiKey:te}),en({title:"Gemini configured",detail:"Provider is ready — continuing setup.",tone:"positive",dedupeKey:"setup:gemini:configured",dedupeMode:"drop"}),wo(""),await r()}catch(Fe){Tn(Fe instanceof Error?Fe.message:"Failed to save Gemini key")}finally{va(!1)}}},ti=async()=>{if(oe){So(!0);try{const te=await Bi.mutateAsync({projectName:oe,projectLabel:k||A||oe,sourceAction:"setup-launch"});xo(te.id),Lc(!0),await r()}catch{}finally{So(!1)}}},Qn=()=>j(te=>Math.max(0,te-1)),jo=(()=>{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:Mi,onChange:Fe=>wo(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:ar}),f.jsx(Ue,{type:"button",size:"sm",disabled:ar||!Mi.trim(),onClick:wn($i),children:ar?"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:!Uc,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=>Z(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(Li),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:[ue.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:ue.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(Ui),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||ce,onClick:wn(qi),children:ce?"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"})]}),Ei?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."}),Ei?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=>er(te.target.value)})]}),tr?f.jsx("p",{className:"text-rose-400 text-sm",children:tr}):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||Di,onClick:wn(Zn),children:Di?"Saving...":`Save ${ei.length} competitor${ei.length!==1?"s":""}`})]})]})]})]});case 4:{const te=qc.data,Fe=te?.status==="completed"||te?.status==="partial"||te?.status==="failed"||te?.status==="cancelled",ni=te?.snapshots??[],No=ni.filter(En=>En.citationState==="cited").length,ko=ni.filter(En=>En.answerMentioned===!0).length,ir=new Set(ni.map(En=>En.query).filter(En=>!!En)).size,sr=vo?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"})]}),sr]}),vo?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:_e?`/projects/${_e}`:"/"})},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:[ko,f.jsxs("span",{className:"text-zinc-600 text-lg",children:[" / ",ir]})]}),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:[No,f.jsxs("span",{className:"text-zinc-600 text-lg",children:[" / ",ir]})]}),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:_e?`/projects/${_e}`:"/"})},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:_e?`/projects/${_e}`:"/"})},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(I5,{current:x,labels:V5}),f.jsx("section",{className:"setup-wizard",children:jo})]})}function P5(){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-CeZYtdbm.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),"ProjectPage"),H5=Gs(()=>Ps(()=>import("./RunsPage-CWEcQv7p.js"),__vite__mapDeps([9,1,2,7,5,8]),import.meta.url),"RunsPage"),K5=Gs(()=>Ps(()=>import("./SettingsPage-CCT4jasH.js"),__vite__mapDeps([10,1,7,5,8]),import.meta.url),"SettingsPage"),Z5=Gs(()=>Ps(()=>import("./BacklinksPage-Dvc3mk9A.js"),__vite__mapDeps([11,1,6,7,5,8]),import.meta.url),"BacklinksPage"),Q5=Gs(()=>Ps(()=>import("./TrafficPage-DtdlxDFZ.js"),__vite__mapDeps([12,1,4,13,7,5,8]),import.meta.url),"TrafficPage"),Y5=Gs(()=>Ps(()=>import("./TrafficSourceDetailPage-CPBuL-HQ.js"),__vite__mapDeps([14,1,13,3,4,5,7,8]),import.meta.url),"TrafficSourceDetailPage");function X5(){return f.jsx(xR,{children:f.jsx(SR,{})})}const tn=jw()({component:X5,validateSearch:e=>({runId:typeof e.runId=="string"?e.runId:void 0,evidenceId:typeof e.evidenceId=="string"?e.evidenceId:void 0})}),J5=zt({getParentRoute:()=>tn,path:"/",component:NR,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Ys({client:ae}));if(n&&n.length===0)throw rv({to:"/setup"})}}),F5=zt({getParentRoute:()=>tn,path:"/projects",component:M5}),Kn=zt({getParentRoute:()=>tn,path:"/projects/$projectId",component:()=>f.jsx(sv,{})}),W5=zt({getParentRoute:()=>Kn,path:"/",component:()=>f.jsx(ba,{tab:"overview"})}),eB=zt({getParentRoute:()=>Kn,path:"/search-console",component:()=>f.jsx(ba,{tab:"search-console"})}),tB=zt({getParentRoute:()=>Kn,path:"/local",component:()=>f.jsx(ba,{tab:"local"})}),nB=zt({getParentRoute:()=>Kn,path:"/discovery",component:()=>f.jsx(ba,{tab:"discovery"})}),aB=zt({getParentRoute:()=>Kn,path:"/report",component:()=>f.jsx(ba,{tab:"report"})}),iB=zt({getParentRoute:()=>Kn,path:"/activity",component:()=>f.jsx(ba,{tab:"activity"})}),sB=zt({getParentRoute:()=>Kn,path:"/backlinks",component:()=>f.jsx(ba,{tab:"backlinks"})}),rB=zt({getParentRoute:()=>Kn,path:"/technical-aeo",component:()=>f.jsx(ba,{tab:"technical-aeo"})}),oB=zt({getParentRoute:()=>Kn,path:"/settings",component:()=>f.jsx(ba,{tab:"settings"})}),lB=zt({getParentRoute:()=>tn,path:"/runs",component:H5}),cB=zt({getParentRoute:()=>tn,path:"/settings",component:K5,beforeLoad:({context:e})=>{}}),uB=zt({getParentRoute:()=>tn,path:"/setup",component:G5,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Ys({client:ae}));if(n&&n.length>0)throw rv({to:"/"})}}),dB=zt({getParentRoute:()=>tn,path:"/backlinks",component:Z5}),fB=zt({getParentRoute:()=>tn,path:"/traffic",component:Q5}),pB=zt({getParentRoute:()=>tn,path:"/traffic/$projectName/$sourceId",component:Y5}),mB=zt({getParentRoute:()=>tn,path:"*",component:P5}),hB=tn.addChildren([J5,F5,Kn.addChildren([W5,eB,tB,nB,aB,iB,sB,rB,oB]),lB,cB,uB,dB,fB,pB,mB]);function gB(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const av=gB(),yB=av==="/"?"":av.replace(/\/$/,"");function bB(e,n){return Nw({routeTree:hB,basepath:yB||"/",context:{queryClient:e},...n?.initialEntries})}const vB=6e4;function SB(){const[e,n]=q.useState(Wd()?"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=Uk();A.current=R,j.current=bB(R)}return{queryClient:A.current,router:j.current}};q.useEffect(()=>{if(Wd())return;let R=!1;return Uy().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"||Wd())return;const R=setInterval(()=>{Uy().then(I=>{I.authenticated||(x(!0),n(I.setupRequired?"setup":"login"))}).catch(()=>{})},vB);return qy(()=>{x(!0),n("login")}),()=>{clearInterval(R),qy(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 hk(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 gk(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(kw,{client:R,children:f.jsx(Aw,{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(Xl,{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(zf,{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"First-time setup"}),f.jsx(Cf,{children:"Create a dashboard password"}),f.jsx(Tf,{children:"Choose a password to protect the Canonry dashboard. You will use this to sign in on future visits."})]}),f.jsx(Xl,{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(zf,{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),f.jsx(Cf,{children:"Sign in to Canonry"}),f.jsx(Tf,{children:"Enter your dashboard password to continue."})]}),f.jsxs(Xl,{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 aS=document.getElementById("root");if(!aS)throw new Error("Expected #root element for web app bootstrap.");Dw.createRoot(aS).render(f.jsx(q.StrictMode,{children:f.jsx(SB,{})}));export{dL as $,MB as A,Ue as B,rc as C,WM as D,tL as E,nL as F,DM as G,KB as H,Wr as I,HB as J,QB as K,en as L,aM as M,sL as N,rL as O,tD as P,XB as Q,aL as R,a4 as S,Ln as T,iL as U,eL as V,ZB as W,JB as X,oL as Y,lL as Z,pL as _,ML as a,VB as a$,fL as a0,_k as a1,G0 as a2,Te as a3,uL as a4,n3 as a5,ki as a6,cL as a7,XT as a8,JT as a9,BL as aA,RL as aB,FB as aC,tA as aD,Tv as aE,G4 as aF,H4 as aG,P4 as aH,NL as aI,dM as aJ,HL as aK,UM as aL,LM as aM,$M as aN,VM as aO,MM as aP,qM as aQ,DB as aR,OB as aS,EB as aT,qB as aU,JM as aV,wb as aW,XM as aX,UB as aY,$B as aZ,YM as a_,BM as aa,RM as ab,wM as ac,zM as ad,CM as ae,Pn as af,TM as ag,kB as ah,gA as ai,KM as aj,mA as ak,NA as al,s3 as am,ec as an,EM as ao,bf as ap,kL as aq,YB as ar,TL as as,EL as at,OL as au,WB as av,Ys as aw,eM as ax,mp as ay,DL as az,Pf as b,IM as b$,IB as b0,PB as b1,GB as b2,mo as b3,pp as b4,ID as b5,$5 as b6,Ht as b7,ck as b8,UL as b9,jc as bA,$L as bB,bp as bC,yk as bD,LB as bE,tM as bF,nM as bG,Sp as bH,uM as bI,$s as bJ,jb as bK,SM as bL,jM as bM,kM as bN,AM as bO,xM as bP,NM as bQ,_M as bR,nD as bS,o1 as bT,oD as bU,l1 as bV,c1 as bW,uA as bX,vM as bY,Py as bZ,zL as b_,qL as ba,RB as bb,zB as bc,CB as bd,BB as be,lk as bf,pk as bg,_B as bh,AB as bi,dk as bj,TB as bk,PL as bl,d4 as bm,mL as bn,gL as bo,xk as bp,yL as bq,lM as br,oM as bs,bL as bt,hL as bu,HM as bv,iM as bw,sM as bx,rM as by,cM as bz,et as c,GM as c0,fp as c1,FM as c2,Hs as c3,AL as c4,CL as c5,bM as c6,gM as c7,yM as c8,hM as c9,_L as ca,AT as d,LL as e,ZM as f,jn as g,Rb as h,wn as i,OM as j,vL as k,ae as l,SL as m,xL as n,jL as o,wL as p,fM as q,mM as r,pM as s,s4 as t,xp as u,VL as v,IL as w,GL as x,PM as y,QM as z};
|
|
210
|
+
competitor2.com`,value:Ot,onChange:te=>er(te.target.value)})]}),tr?f.jsx("p",{className:"text-rose-400 text-sm",children:tr}):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||Di,onClick:wn(Zn),children:Di?"Saving...":`Save ${ei.length} competitor${ei.length!==1?"s":""}`})]})]})]})]});case 4:{const te=qc.data,Fe=te?.status==="completed"||te?.status==="partial"||te?.status==="failed"||te?.status==="cancelled",ni=te?.snapshots??[],No=ni.filter(En=>En.citationState==="cited").length,ko=ni.filter(En=>En.answerMentioned===!0).length,ir=new Set(ni.map(En=>En.query).filter(En=>!!En)).size,sr=vo?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"})]}),sr]}),vo?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:_e?`/projects/${_e}`:"/"})},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:[ko,f.jsxs("span",{className:"text-zinc-600 text-lg",children:[" / ",ir]})]}),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:[No,f.jsxs("span",{className:"text-zinc-600 text-lg",children:[" / ",ir]})]}),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:_e?`/projects/${_e}`:"/"})},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:_e?`/projects/${_e}`:"/"})},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(I5,{current:x,labels:V5}),f.jsx("section",{className:"setup-wizard",children:jo})]})}function P5(){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-Bg5sKYhO.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),"ProjectPage"),H5=Gs(()=>Ps(()=>import("./RunsPage-CV2wKkaz.js"),__vite__mapDeps([9,1,2,7,5,8]),import.meta.url),"RunsPage"),K5=Gs(()=>Ps(()=>import("./SettingsPage-Ctij-T9F.js"),__vite__mapDeps([10,1,7,5,8]),import.meta.url),"SettingsPage"),Z5=Gs(()=>Ps(()=>import("./BacklinksPage-GkTp8zLM.js"),__vite__mapDeps([11,1,6,7,5,8]),import.meta.url),"BacklinksPage"),Q5=Gs(()=>Ps(()=>import("./TrafficPage-TnIPaMcL.js"),__vite__mapDeps([12,1,4,13,7,5,8]),import.meta.url),"TrafficPage"),Y5=Gs(()=>Ps(()=>import("./TrafficSourceDetailPage-BBmIwaee.js"),__vite__mapDeps([14,1,13,3,4,5,7,8]),import.meta.url),"TrafficSourceDetailPage");function X5(){return f.jsx(xR,{children:f.jsx(SR,{})})}const tn=jw()({component:X5,validateSearch:e=>({runId:typeof e.runId=="string"?e.runId:void 0,evidenceId:typeof e.evidenceId=="string"?e.evidenceId:void 0})}),J5=zt({getParentRoute:()=>tn,path:"/",component:NR,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Ys({client:ae}));if(n&&n.length===0)throw rv({to:"/setup"})}}),F5=zt({getParentRoute:()=>tn,path:"/projects",component:M5}),Kn=zt({getParentRoute:()=>tn,path:"/projects/$projectId",component:()=>f.jsx(sv,{})}),W5=zt({getParentRoute:()=>Kn,path:"/",component:()=>f.jsx(ba,{tab:"overview"})}),eB=zt({getParentRoute:()=>Kn,path:"/search-console",component:()=>f.jsx(ba,{tab:"search-console"})}),tB=zt({getParentRoute:()=>Kn,path:"/local",component:()=>f.jsx(ba,{tab:"local"})}),nB=zt({getParentRoute:()=>Kn,path:"/discovery",component:()=>f.jsx(ba,{tab:"discovery"})}),aB=zt({getParentRoute:()=>Kn,path:"/report",component:()=>f.jsx(ba,{tab:"report"})}),iB=zt({getParentRoute:()=>Kn,path:"/activity",component:()=>f.jsx(ba,{tab:"activity"})}),sB=zt({getParentRoute:()=>Kn,path:"/backlinks",component:()=>f.jsx(ba,{tab:"backlinks"})}),rB=zt({getParentRoute:()=>Kn,path:"/technical-aeo",component:()=>f.jsx(ba,{tab:"technical-aeo"})}),oB=zt({getParentRoute:()=>Kn,path:"/settings",component:()=>f.jsx(ba,{tab:"settings"})}),lB=zt({getParentRoute:()=>tn,path:"/runs",component:H5}),cB=zt({getParentRoute:()=>tn,path:"/settings",component:K5,beforeLoad:({context:e})=>{}}),uB=zt({getParentRoute:()=>tn,path:"/setup",component:G5,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Ys({client:ae}));if(n&&n.length>0)throw rv({to:"/"})}}),dB=zt({getParentRoute:()=>tn,path:"/backlinks",component:Z5}),fB=zt({getParentRoute:()=>tn,path:"/traffic",component:Q5}),pB=zt({getParentRoute:()=>tn,path:"/traffic/$projectName/$sourceId",component:Y5}),mB=zt({getParentRoute:()=>tn,path:"*",component:P5}),hB=tn.addChildren([J5,F5,Kn.addChildren([W5,eB,tB,nB,aB,iB,sB,rB,oB]),lB,cB,uB,dB,fB,pB,mB]);function gB(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const av=gB(),yB=av==="/"?"":av.replace(/\/$/,"");function bB(e,n){return Nw({routeTree:hB,basepath:yB||"/",context:{queryClient:e},...n?.initialEntries})}const vB=6e4;function SB(){const[e,n]=q.useState(Wd()?"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=Uk();A.current=R,j.current=bB(R)}return{queryClient:A.current,router:j.current}};q.useEffect(()=>{if(Wd())return;let R=!1;return Uy().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"||Wd())return;const R=setInterval(()=>{Uy().then(I=>{I.authenticated||(x(!0),n(I.setupRequired?"setup":"login"))}).catch(()=>{})},vB);return qy(()=>{x(!0),n("login")}),()=>{clearInterval(R),qy(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 hk(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 gk(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(kw,{client:R,children:f.jsx(Aw,{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(Xl,{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(zf,{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"First-time setup"}),f.jsx(Cf,{children:"Create a dashboard password"}),f.jsx(Tf,{children:"Choose a password to protect the Canonry dashboard. You will use this to sign in on future visits."})]}),f.jsx(Xl,{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(zf,{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),f.jsx(Cf,{children:"Sign in to Canonry"}),f.jsx(Tf,{children:"Enter your dashboard password to continue."})]}),f.jsxs(Xl,{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 aS=document.getElementById("root");if(!aS)throw new Error("Expected #root element for web app bootstrap.");Dw.createRoot(aS).render(f.jsx(q.StrictMode,{children:f.jsx(SB,{})}));export{dL as $,MB as A,Ue as B,rc as C,WM as D,tL as E,nL as F,DM as G,KB as H,Wr as I,HB as J,QB as K,en as L,aM as M,sL as N,rL as O,tD as P,XB as Q,aL as R,a4 as S,Ln as T,iL as U,eL as V,ZB as W,JB as X,oL as Y,lL as Z,pL as _,ML as a,VB as a$,fL as a0,_k as a1,G0 as a2,Te as a3,uL as a4,n3 as a5,ki as a6,cL as a7,XT as a8,JT as a9,BL as aA,RL as aB,FB as aC,tA as aD,Tv as aE,G4 as aF,H4 as aG,P4 as aH,NL as aI,dM as aJ,HL as aK,UM as aL,LM as aM,$M as aN,VM as aO,MM as aP,qM as aQ,DB as aR,OB as aS,EB as aT,qB as aU,JM as aV,wb as aW,XM as aX,UB as aY,$B as aZ,YM as a_,BM as aa,RM as ab,wM as ac,zM as ad,CM as ae,Pn as af,TM as ag,kB as ah,gA as ai,KM as aj,mA as ak,NA as al,s3 as am,ec as an,EM as ao,bf as ap,kL as aq,YB as ar,TL as as,EL as at,OL as au,WB as av,Ys as aw,eM as ax,mp as ay,DL as az,Pf as b,IM as b$,IB as b0,PB as b1,GB as b2,mo as b3,pp as b4,ID as b5,$5 as b6,Ht as b7,ck as b8,UL as b9,jc as bA,$L as bB,bp as bC,yk as bD,LB as bE,tM as bF,nM as bG,Sp as bH,uM as bI,$s as bJ,jb as bK,SM as bL,jM as bM,kM as bN,AM as bO,xM as bP,NM as bQ,_M as bR,nD as bS,o1 as bT,oD as bU,l1 as bV,c1 as bW,uA as bX,vM as bY,Py as bZ,zL as b_,qL as ba,RB as bb,zB as bc,CB as bd,BB as be,lk as bf,pk as bg,_B as bh,AB as bi,dk as bj,TB as bk,PL as bl,d4 as bm,mL as bn,gL as bo,xk as bp,yL as bq,lM as br,oM as bs,bL as bt,hL as bu,HM as bv,iM as bw,sM as bx,rM as by,cM as bz,et as c,GM as c0,fp as c1,FM as c2,Hs as c3,AL as c4,CL as c5,bM as c6,gM as c7,yM as c8,hM as c9,_L as ca,AT as d,LL as e,ZM as f,jn as g,Rb as h,wn as i,OM as j,vL as k,ae as l,SL as m,xL as n,jL as o,wL as p,fM as q,mM as r,pM as s,s4 as t,xp as u,VL as v,IL as w,GL as x,PM as y,QM as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as d,j as i,c4 as S,b_ as l,c5 as v,ay as y,l as t,c6 as m,b$ as a,c7 as T,c8 as h,c9 as p,ca as C}from"./index-
|
|
1
|
+
import{c as d,j as i,c4 as S,b_ as l,c5 as v,ay as y,l as t,c6 as m,b$ as a,c7 as T,c8 as h,c9 as p,ca as C}from"./index-B-_Dwwhd.js";import{u as c,r as g,n as s,o as u}from"./vendor-tanstack-Dq7p98wZ.js";const w=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],P=d("refresh-cw",w);function k(e){switch(e){case a.connected:return"positive";case a.paused:return"caution";case a.error:return"negative";case a.archived:return"neutral"}}function q(e){const r={};return e.kind&&e.kind!=="all"&&(r.kind=e.kind),e.sourceId&&(r.sourceId=e.sourceId),e.sinceMinutes!==void 0&&(r.since=new Date(Date.now()-e.sinceMinutes*6e4).toISOString()),e.limit!==void 0&&(r.limit=String(e.limit)),r}function o(e){e.invalidateQueries({predicate:r=>{const n=r.queryKey[0];return typeof n?._id=="string"&&n._id.startsWith("getApiV1ProjectsByNameTraffic")}})}function F(e){return c({...S({client:t,path:{name:e??""}}),enabled:!!e,staleTime:i})}function V(e){return c({...C({client:t,path:{name:e??""}}),enabled:!!e,staleTime:i})}function b(e,r){return c({...l({client:t,path:{name:e??"",id:r??""}}),enabled:!!(e&&r),staleTime:i})}function A(e,r){const n=g.useMemo(()=>q(r),[r.kind,r.sourceId,r.sinceMinutes,r.limit]);return c({...v({client:t,path:{name:e??""},query:n}),enabled:!!e,staleTime:i})}function E(e){const r=s();return u({mutationFn:n=>{if(!e)throw new Error("Project is required to connect a Cloud Run source");return p(e,n)},onSuccess:()=>{e&&o(r)}})}function I(e){const r=s();return u({mutationFn:n=>{if(!e)throw new Error("Project is required to connect a WordPress source");return T(e,n)},onSuccess:()=>{e&&o(r)}})}function Q(e){const r=s();return u({mutationFn:n=>{if(!e)throw new Error("Project is required to connect a Vercel source");return h(e,n)},onSuccess:()=>{e&&o(r)}})}function R(e,r){const n=s();return u({mutationFn:f=>{if(!e||!r)throw new Error("Project and sourceId are required to sync");return m(e,r,f??void 0)},onSuccess:()=>{e&&(o(n),n.invalidateQueries({queryKey:y({client:t})}))}})}export{P as R,I as a,Q as b,E as c,F as d,b as e,A as f,R as g,k as t,V as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c}from"./index-
|
|
1
|
+
import{c}from"./index-B-_Dwwhd.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-B-_Dwwhd.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">
|