@ainyc/canonry 4.90.0 → 4.91.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +4 -2
- package/assets/assets/{BacklinksPage-CzZbUMMc.js → BacklinksPage-DHC1po5Q.js} +1 -1
- package/assets/assets/{ChartPrimitives-BBcVCGyK.js → ChartPrimitives-Cu2xEVle.js} +1 -1
- package/assets/assets/{ProjectPage-BZwzpRBL.js → ProjectPage-DXYcaMVO.js} +1 -1
- package/assets/assets/{RunRow-B-Xzc9el.js → RunRow-BPqbBlXl.js} +1 -1
- package/assets/assets/{RunsPage-idZt03Qs.js → RunsPage-BJx3_Nel.js} +1 -1
- package/assets/assets/{SettingsPage-BGMJxf9N.js → SettingsPage-CXTIHdsv.js} +1 -1
- package/assets/assets/{TrafficPage-UpFu1vki.js → TrafficPage-iibCIBqX.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-m0OEVrkk.js → TrafficSourceDetailPage-WU30E_59.js} +1 -1
- package/assets/assets/{arrow-left-Cgp2_UfR.js → arrow-left-Ds_f14R8.js} +1 -1
- package/assets/assets/{extract-error-message-BiiNM-57.js → extract-error-message-D250utEX.js} +1 -1
- package/assets/assets/{index-DPPOgIIL.js → index-qiysJOcG.js} +3 -3
- package/assets/assets/{trash-2-Bm_IgAE2.js → trash-2-CcVWAeec.js} +1 -1
- package/assets/index.html +1 -1
- package/dist/{chunk-I4FR66PU.js → chunk-2SO5ZS4S.js} +4 -4
- package/dist/{chunk-XG7JKKTC.js → chunk-6RVUSM4Y.js} +2 -2
- package/dist/{chunk-KO3T36E5.js → chunk-AFSVCKFI.js} +51 -5
- package/dist/{chunk-PL2ODHUC.js → chunk-WMBOHP7E.js} +13 -0
- package/dist/cli.js +6 -4
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-DZK4FOAJ.js → intelligence-service-MHTYZ632.js} +2 -2
- package/dist/mcp.js +2 -2
- package/package.json +9 -9
|
@@ -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-DXYcaMVO.js","./vendor-tanstack-Dq7p98wZ.js","./RunRow-BPqbBlXl.js","./ChartPrimitives-Cu2xEVle.js","./extract-error-message-D250utEX.js","./vendor-recharts-ClRVR6aX.js","./trash-2-CcVWAeec.js","./vendor-radix-B57xfQbP.js","./vendor-markdown-DK7fbRNb.js","./RunsPage-BJx3_Nel.js","./SettingsPage-CXTIHdsv.js","./BacklinksPage-DHC1po5Q.js","./TrafficPage-iibCIBqX.js","./arrow-left-Ds_f14R8.js","./TrafficSourceDetailPage-WU30E_59.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{c as jw,d as Nw,Q as kw,M as Aw,r as U,q as Ee,j as f,L as rt,a as _w,e as _s,u as dn,f as Cw,h as hc,k as zw,l as Tw,m as uv,O as bf,n as Ja,o as zi,p as Ew,s as Ct,t as dv,v as Gs,x as Ow,y as Dw,z as Rw}from"./vendor-tanstack-Dq7p98wZ.js";import{S as Mw,O as Vf,P as fv,C as Pf,a as pv,T as Gf,D as mv,R as hv}from"./vendor-radix-B57xfQbP.js";import{c as gv}from"./vendor-recharts-ClRVR6aX.js";import{M as Bw}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 Fd={exports:{}},Jr={},Wd={exports:{}},ef={};var qy;function Lw(){return qy||(qy=1,(function(e){function n(B,J){var fe=B.length;B.push(J);e:for(;0<fe;){var Se=fe-1>>>1,re=B[Se];if(0<l(re,J))B[Se]=J,B[fe]=re,fe=Se;else break e}}function i(B){return B.length===0?null:B[0]}function r(B){if(B.length===0)return null;var J=B[0],fe=B.pop();if(fe!==J){B[0]=fe;e:for(var Se=0,re=B.length,Ze=re>>>1;Se<Ze;){var W=2*(Se+1)-1,ue=B[W],te=W+1,de=B[te];if(0>l(ue,fe))te<re&&0>l(de,ue)?(B[Se]=de,B[te]=fe,Se=te):(B[Se]=ue,B[W]=fe,Se=W);else if(te<re&&0>l(de,fe))B[Se]=de,B[te]=fe,Se=te;else break e}}return J}function l(B,J){var fe=B.sortIndex-J.sortIndex;return fe!==0?fe:B.id-J.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=[],S=1,x=null,N=3,_=!1,T=!1,k=!1,E=!1,R=typeof setTimeout=="function"?setTimeout:null,V=typeof clearTimeout=="function"?clearTimeout:null,G=typeof setImmediate<"u"?setImmediate:null;function Z(B){for(var J=i(b);J!==null;){if(J.callback===null)r(b);else if(J.startTime<=B)r(b),J.sortIndex=J.expirationTime,n(g,J);else break;J=i(b)}}function X(B){if(k=!1,Z(B),!T)if(i(g)!==null)T=!0,F||(F=!0,be());else{var J=i(b);J!==null&&ee(X,J.startTime-B)}}var F=!1,O=-1,M=5,le=-1;function ke(){return E?!0:!(e.unstable_now()-le<M)}function _e(){if(E=!1,F){var B=e.unstable_now();le=B;var J=!0;try{e:{T=!1,k&&(k=!1,V(O),O=-1),_=!0;var fe=N;try{t:{for(Z(B),x=i(g);x!==null&&!(x.expirationTime>B&&ke());){var Se=x.callback;if(typeof Se=="function"){x.callback=null,N=x.priorityLevel;var re=Se(x.expirationTime<=B);if(B=e.unstable_now(),typeof re=="function"){x.callback=re,Z(B),J=!0;break t}x===i(g)&&r(g),Z(B)}else r(g);x=i(g)}if(x!==null)J=!0;else{var Ze=i(b);Ze!==null&&ee(X,Ze.startTime-B),J=!1}}break e}finally{x=null,N=fe,_=!1}J=void 0}}finally{J?be():F=!1}}}var be;if(typeof G=="function")be=function(){G(_e)};else if(typeof MessageChannel<"u"){var tt=new MessageChannel,Ke=tt.port2;tt.port1.onmessage=_e,be=function(){Ke.postMessage(null)}}else be=function(){R(_e,0)};function ee(B,J){O=R(function(){B(e.unstable_now())},J)}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(B){B.callback=null},e.unstable_forceFrameRate=function(B){0>B||125<B?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):M=0<B?Math.floor(1e3/B):5},e.unstable_getCurrentPriorityLevel=function(){return N},e.unstable_next=function(B){switch(N){case 1:case 2:case 3:var J=3;break;default:J=N}var fe=N;N=J;try{return B()}finally{N=fe}},e.unstable_requestPaint=function(){E=!0},e.unstable_runWithPriority=function(B,J){switch(B){case 1:case 2:case 3:case 4:case 5:break;default:B=3}var fe=N;N=B;try{return J()}finally{N=fe}},e.unstable_scheduleCallback=function(B,J,fe){var Se=e.unstable_now();switch(typeof fe=="object"&&fe!==null?(fe=fe.delay,fe=typeof fe=="number"&&0<fe?Se+fe:Se):fe=Se,B){case 1:var re=-1;break;case 2:re=250;break;case 5:re=1073741823;break;case 4:re=1e4;break;default:re=5e3}return re=fe+re,B={id:S++,callback:J,priorityLevel:B,startTime:fe,expirationTime:re,sortIndex:-1},fe>Se?(B.sortIndex=fe,n(b,B),i(g)===null&&B===i(b)&&(k?(V(O),O=-1):k=!0,ee(X,fe-Se))):(B.sortIndex=re,n(g,B),T||_||(T=!0,F||(F=!0,be()))),B},e.unstable_shouldYield=ke,e.unstable_wrapCallback=function(B){var J=N;return function(){var fe=N;N=J;try{return B.apply(this,arguments)}finally{N=fe}}}})(ef)),ef}var Uy;function qw(){return Uy||(Uy=1,Wd.exports=Lw()),Wd.exports}var $y;function Uw(){if($y)return Jr;$y=1;var e=qw(),n=jw(),i=Nw();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 m=u.alternate;if(m===null){if(o=u.return,o!==null){s=o;continue}break}if(u.child===m.child){for(m=u.child;m;){if(m===s)return g(u),t;if(m===o)return g(u),a;m=m.sibling}throw Error(r(188))}if(s.return!==o.return)s=u,o=m;else{for(var y=!1,w=u.child;w;){if(w===s){y=!0,s=u,o=m;break}if(w===o){y=!0,o=u,s=m;break}w=w.sibling}if(!y){for(w=m.child;w;){if(w===s){y=!0,s=m,o=u;break}if(w===o){y=!0,o=m,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 S(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t;for(t=t.child;t!==null;){if(a=S(t),a!==null)return a;t=t.sibling}return null}var x=Object.assign,N=Symbol.for("react.element"),_=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"),V=Symbol.for("react.consumer"),G=Symbol.for("react.context"),Z=Symbol.for("react.forward_ref"),X=Symbol.for("react.suspense"),F=Symbol.for("react.suspense_list"),O=Symbol.for("react.memo"),M=Symbol.for("react.lazy"),le=Symbol.for("react.activity"),ke=Symbol.for("react.memo_cache_sentinel"),_e=Symbol.iterator;function be(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 Ke(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 F:return"SuspenseList";case le:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case T:return"Portal";case G:return t.displayName||"Context";case V: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:Ke(t.type)||"Memo";case M:a=t._payload,t=t._init;try{return Ke(t(a))}catch{}}return null}var ee=Array.isArray,B=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,J=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,fe={pending:!1,data:null,method:null,action:null},Se=[],re=-1;function Ze(t){return{current:t}}function W(t){0>re||(t.current=Se[re],Se[re]=null,re--)}function ue(t,a){re++,Se[re]=t.current,t.current=a}var te=Ze(null),de=Ze(null),ae=Ze(null),je=Ze(null);function nt(t,a){switch(ue(ae,a),ue(de,t),ue(te,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?oy(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=oy(a),t=ly(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}W(te),ue(te,t)}function xe(){W(te),W(de),W(ae)}function Ue(t){t.memoizedState!==null&&ue(je,t);var a=te.current,s=ly(a,t.type);a!==s&&(ue(de,t),ue(te,s))}function Ge(t){de.current===t&&(W(te),W(de)),je.current===t&&(W(je),Kr._currentValue=fe)}var Et,zn;function Ot(t){if(Et===void 0)try{throw Error()}catch(s){var a=s.stack.trim().match(/\n( *(at )?)/);Et=a&&a[1]||"",zn=-1<s.stack.indexOf(`
|
|
3
3
|
at`)?" (<anonymous>)":-1<s.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
4
|
`+Et+t+zn}var nr=!1;function Di(t,a){if(!t||nr)return"";nr=!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(I){var $=I}Reflect.construct(t,[],Y)}else{try{Y.call()}catch(I){$=I}t.call(Y.prototype)}}else{try{throw Error()}catch(I){$=I}(Y=t())&&typeof Y.catch=="function"&&Y.catch(function(){})}}catch(I){if(I&&$&&typeof I.stack=="string")return[I.stack,$.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 m=o.DetermineComponentFrameRoot(),y=m[0],w=m[1];if(y&&w){var C=y.split(`
|
|
@@ -49,7 +49,7 @@ Error generating stack: `+o.message+`
|
|
|
49
49
|
|
|
50
50
|
`)}_.write("payload.value = newResult;"),_.write("return payload;");const V=_.compile();return(G,Z)=>V(N,G,Z)};let c;const d=co,h=!Lv.jitless,b=h&&WA.value,S=n.catchall;let x;e._zod.parse=(N,_)=>{x??(x=r.value);const T=N.value;return d(T)?h&&b&&_?.async===!1&&_.jitless!==!0?(c||(c=l(n.shape)),N=c(N,_),S?e0([],T,N,_,x,e):N):i(N,_):(N.issues.push({expected:"object",code:"invalid_type",input:T,inst:e}),N)}});function nb(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=>!Ts(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=>Xa(d,r,Ya())))}),n)}const t0=H("$ZodUnion",(e,n)=>{ut.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=>Jf(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=>nb(g,l,e,c)):nb(h,l,e,c)}}),U_=H("$ZodDiscriminatedUnion",(e,n)=>{n.inclusive=!1,t0.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=yc(()=>{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(!co(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)}}),$_=H("$ZodIntersection",(e,n)=>{ut.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])=>ab(i,g,b)):ab(i,c,d)}});function kf(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(Us(e)&&Us(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=kf(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=kf(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 ab(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}),Ts(e))return e;const d=kf(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 I_=H("$ZodRecord",(e,n)=>{ut.init(e,n),e._zod.parse=(i,r)=>{const l=i.value;if(!Us(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 S=n.valueType._zod.run({value:l[b],issues:[]},r);S instanceof Promise?c.push(S.then(x=>{x.issues.length&&i.issues.push(...Es(b,x.issues)),i.value[b]=x.value})):(S.issues.length&&i.issues.push(...Es(b,S.issues)),i.value[b]=S.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"&&Kv.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=>Xa(x,r,Ya())),input:h,path:[h],inst:e});continue}const S=n.valueType._zod.run({value:l[h],issues:[]},r);S instanceof Promise?c.push(S.then(x=>{x.issues.length&&i.issues.push(...Es(h,x.issues)),i.value[g.value]=x.value})):(S.issues.length&&i.issues.push(...Es(h,S.issues)),i.value[g.value]=S.value)}}return c.length?Promise.all(c).then(()=>i):i}}),V_=H("$ZodEnum",(e,n)=>{ut.init(e,n);const i=qv(n.entries),r=new Set(i);e._zod.values=r,e._zod.pattern=new RegExp(`^(${i.filter(l=>e2.has(typeof l)).map(l=>typeof l=="string"?$s(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}}),P_=H("$ZodLiteral",(e,n)=>{if(ut.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"?$s(r):r?$s(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}}),G_=H("$ZodTransform",(e,n)=>{ut.init(e,n),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new Bv(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 Ms;return i.value=l,i}});function ib(e,n){return e.issues.length&&n===void 0?{issues:[],value:void 0}:e}const n0=H("$ZodOptional",(e,n)=>{ut.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(`^(${Jf(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=>ib(c,i.value)):ib(l,i.value)}return i.value===void 0?i:n.innerType._zod.run(i,r)}}),H_=H("$ZodExactOptional",(e,n)=>{n0.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)}),Q_=H("$ZodNullable",(e,n)=>{ut.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(`^(${Jf(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)}),K_=H("$ZodDefault",(e,n)=>{ut.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=>sb(c,n)):sb(l,n)}});function sb(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const Z_=H("$ZodPrefault",(e,n)=>{ut.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))}),Y_=H("$ZodNonOptional",(e,n)=>{ut.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=>rb(c,e)):rb(l,e)}});function rb(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 X_=H("$ZodCatch",(e,n)=>{ut.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=>Xa(d,r,Ya()))},input:i.value}),i.issues=[]),i)):(i.value=l.value,l.issues.length&&(i.value=n.catchValue({...i,error:{issues:l.issues.map(c=>Xa(c,r,Ya()))},input:i.value}),i.issues=[]),i)}}),J_=H("$ZodPipe",(e,n)=>{ut.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=>Il(d,n.in,r)):Il(c,n.in,r)}const l=n.in._zod.run(i,r);return l instanceof Promise?l.then(c=>Il(c,n.out,r)):Il(l,n.out,r)}});function Il(e,n,i){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues},i)}const F_=H("$ZodReadonly",(e,n)=>{ut.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(ob):ob(l)}});function ob(e){return e.value=Object.freeze(e.value),e}const W_=H("$ZodCustom",(e,n)=>{nn.init(e,n),ut.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=>lb(c,i,r,e));lb(l,i,r,e)}});function lb(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(uo(l))}}var cb;class eC{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 tC(){return new eC}(cb=globalThis).__zod_globalRegistry??(cb.__zod_globalRegistry=tC());const io=globalThis.__zod_globalRegistry;function nC(e,n){return new e({type:"string",...ye(n)})}function aC(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...ye(n)})}function ub(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...ye(n)})}function iC(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...ye(n)})}function sC(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...ye(n)})}function rC(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...ye(n)})}function oC(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...ye(n)})}function lC(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...ye(n)})}function cC(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...ye(n)})}function uC(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...ye(n)})}function dC(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...ye(n)})}function fC(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...ye(n)})}function pC(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...ye(n)})}function mC(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...ye(n)})}function hC(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...ye(n)})}function gC(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...ye(n)})}function yC(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...ye(n)})}function bC(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...ye(n)})}function vC(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...ye(n)})}function SC(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...ye(n)})}function xC(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...ye(n)})}function wC(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...ye(n)})}function jC(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...ye(n)})}function NC(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...ye(n)})}function kC(e,n){return new e({type:"string",format:"date",check:"string_format",...ye(n)})}function AC(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...ye(n)})}function _C(e,n){return new e({type:"string",format:"duration",check:"string_format",...ye(n)})}function CC(e,n){return new e({type:"number",checks:[],...ye(n)})}function zC(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...ye(n)})}function TC(e,n){return new e({type:"boolean",...ye(n)})}function EC(e){return new e({type:"unknown"})}function OC(e,n){return new e({type:"never",...ye(n)})}function db(e,n){return new Yv({check:"less_than",...ye(n),value:e,inclusive:!1})}function af(e,n){return new Yv({check:"less_than",...ye(n),value:e,inclusive:!0})}function fb(e,n){return new Xv({check:"greater_than",...ye(n),value:e,inclusive:!1})}function sf(e,n){return new Xv({check:"greater_than",...ye(n),value:e,inclusive:!0})}function pb(e,n){return new K2({check:"multiple_of",...ye(n),value:e})}function a0(e,n){return new Y2({check:"max_length",...ye(n),maximum:e})}function sc(e,n){return new X2({check:"min_length",...ye(n),minimum:e})}function i0(e,n){return new J2({check:"length_equals",...ye(n),length:e})}function DC(e,n){return new F2({check:"string_format",format:"regex",...ye(n),pattern:e})}function RC(e){return new W2({check:"string_format",format:"lowercase",...ye(e)})}function MC(e){return new e_({check:"string_format",format:"uppercase",...ye(e)})}function BC(e,n){return new t_({check:"string_format",format:"includes",...ye(n),includes:e})}function LC(e,n){return new n_({check:"string_format",format:"starts_with",...ye(n),prefix:e})}function qC(e,n){return new a_({check:"string_format",format:"ends_with",...ye(n),suffix:e})}function Ks(e){return new i_({check:"overwrite",tx:e})}function UC(e){return Ks(n=>n.normalize(e))}function $C(){return Ks(e=>e.trim())}function IC(){return Ks(e=>e.toLowerCase())}function VC(){return Ks(e=>e.toUpperCase())}function PC(){return Ks(e=>FA(e))}function GC(e,n,i){return new e({type:"array",element:n,...ye(i)})}function HC(e,n,i){return new e({type:"custom",check:"custom",fn:n,...ye(i)})}function QC(e){const n=KC(i=>(i.addIssue=r=>{if(typeof r=="string")i.issues.push(uo(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(uo(l))}},e(i.value,i)));return n}function KC(e,n){const i=new nn({check:"custom",...ye(n)});return i._zod.check=e,i}function s0(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??io,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 S={...i,schemaPath:[...i.schemaPath,e],path:i.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,d.schema,S);else{const N=d.schema,_=n.processors[l.type];if(!_)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${l.type}`);_(e,n,N,S)}const x=e._zod.parent;x&&(d.ref||(d.ref=x),kt(x,n,S),n.seen.get(x).isParent=!0)}const g=n.metadataRegistry.get(e);return g&&Object.assign(d.schema,g),n.io==="input"&&Pt(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 r0(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,N=e.external.uri??(T=>T);if(x)return{ref:N(x)};const _=d[1].defId??d[1].schema.id??`schema${e.counter++}`;return d[1].defId=_,{defId:_,ref:`${N("__shared")}#/${h}/${_}`}}if(d[1]===i)return{ref:"#"};const b=`#/${h}/`,S=d[1].schema.id??`__schema${e.counter++}`;return{defId:S,ref:b+S}},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 S=h.schema;for(const x in S)delete S[x];S.$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 o0(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},S=h.ref;if(h.ref=null,S){r(S);const N=e.seen.get(S),_=N.schema;if(_.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(g.allOf=g.allOf??[],g.allOf.push(_)):Object.assign(g,_),Object.assign(g,b),d._zod.parent===S)for(const k in g)k==="$ref"||k==="allOf"||k in b||delete g[k];if(_.$ref&&N.def)for(const k in g)k==="$ref"||k==="allOf"||k in N.def&&JSON.stringify(g[k])===JSON.stringify(N.def[k])&&delete g[k]}const x=d._zod.parent;if(x&&x!==S){r(x);const N=e.seen.get(x);if(N?.schema.$ref&&(g.$ref=N.schema.$ref,N.def))for(const _ in g)_==="$ref"||_==="allOf"||_ in N.def&&JSON.stringify(g[_])===JSON.stringify(N.def[_])&&delete g[_]}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:rc(n,"input",e.processors),output:rc(n,"output",e.processors)}},enumerable:!1,writable:!1}),d}catch{throw new Error("Error converting schema to JSON.")}}function Pt(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 Pt(r.element,i);if(r.type==="set")return Pt(r.valueType,i);if(r.type==="lazy")return Pt(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 Pt(r.innerType,i);if(r.type==="intersection")return Pt(r.left,i)||Pt(r.right,i);if(r.type==="record"||r.type==="map")return Pt(r.keyType,i)||Pt(r.valueType,i);if(r.type==="pipe")return Pt(r.in,i)||Pt(r.out,i);if(r.type==="object"){for(const l in r.shape)if(Pt(r.shape[l],i))return!0;return!1}if(r.type==="union"){for(const l of r.options)if(Pt(l,i))return!0;return!1}if(r.type==="tuple"){for(const l of r.items)if(Pt(l,i))return!0;return!!(r.rest&&Pt(r.rest,i))}return!1}const ZC=(e,n={})=>i=>{const r=s0({...i,processors:n});return kt(e,r),r0(r,e),o0(r,e)},rc=(e,n,i={})=>r=>{const{libraryOptions:l,target:c}=r??{},d=s0({...l??{},target:c,io:n,processors:i});return kt(e,d),r0(d,e),o0(d,e)},YC={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},XC=(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=YC[h]??h,l.format===""&&delete l.format,h==="time"&&delete l.format),b&&(l.contentEncoding=b),g&&g.size>0){const S=[...g];S.length===1?l.pattern=S[0].source:S.length>1&&(l.allOf=[...S.map(x=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:x.source}))])}},JC=(e,n,i,r)=>{const l=i,{minimum:c,maximum:d,format:h,multipleOf:g,exclusiveMaximum:b,exclusiveMinimum:S}=e._zod.bag;typeof h=="string"&&h.includes("int")?l.type="integer":l.type="number",typeof S=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(l.minimum=S,l.exclusiveMinimum=!0):l.exclusiveMinimum=S),typeof c=="number"&&(l.minimum=c,typeof S=="number"&&n.target!=="draft-04"&&(S>=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)},FC=(e,n,i,r)=>{i.type="boolean"},WC=(e,n,i,r)=>{i.not={}},ez=(e,n,i,r)=>{},tz=(e,n,i,r)=>{const l=e._zod.def,c=qv(l.entries);c.every(d=>typeof d=="number")&&(i.type="number"),c.every(d=>typeof d=="string")&&(i.type="string"),i.enum=c},nz=(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},az=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},iz=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},sz=(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"]})},rz=(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 S=c.shape[b]._zod;return n.io==="input"?S.optin===void 0:S.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)},oz=(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},lz=(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},cz=(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 S=kt(c.valueType,n,{...r,path:[...r.path,"patternProperties","*"]});l.patternProperties={};for(const x of g)l.patternProperties[x.source]=S}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 S=[...b].filter(x=>typeof x=="string"||typeof x=="number");S.length>0&&(l.required=S)}},uz=(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"}]},dz=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType},fz=(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))},pz=(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)))},mz=(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},hz=(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},gz=(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},l0=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType},yz=H("ZodISODateTime",(e,n)=>{b_.init(e,n),ft.init(e,n)});function bz(e){return NC(yz,e)}const vz=H("ZodISODate",(e,n)=>{v_.init(e,n),ft.init(e,n)});function Sz(e){return kC(vz,e)}const xz=H("ZodISOTime",(e,n)=>{S_.init(e,n),ft.init(e,n)});function wz(e){return AC(xz,e)}const jz=H("ZodISODuration",(e,n)=>{x_.init(e,n),ft.init(e,n)});function Nz(e){return _C(jz,e)}const kz=(e,n)=>{Vv.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>d2(e,i)},flatten:{value:i=>u2(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,Nf,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,Nf,2)}},isEmpty:{get(){return e.issues.length===0}}})},_n=H("ZodError",kz,{Parent:Error}),Az=Wf(_n),_z=ep(_n),Cz=bc(_n),zz=vc(_n),Tz=m2(_n),Ez=h2(_n),Oz=g2(_n),Dz=y2(_n),Rz=b2(_n),Mz=v2(_n),Bz=S2(_n),Lz=x2(_n),dt=H("ZodType",(e,n)=>(ut.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:rc(e,"input"),output:rc(e,"output")}}),e.toJSONSchema=ZC(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.check=(...i)=>e.clone(Fa(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)=>Wa(e,i,r),e.brand=()=>e,e.register=((i,r)=>(i.add(e,r),e)),e.parse=(i,r)=>Az(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>Cz(e,i,r),e.parseAsync=async(i,r)=>_z(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>zz(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>Tz(e,i,r),e.decode=(i,r)=>Ez(e,i,r),e.encodeAsync=async(i,r)=>Oz(e,i,r),e.decodeAsync=async(i,r)=>Dz(e,i,r),e.safeEncode=(i,r)=>Rz(e,i,r),e.safeDecode=(i,r)=>Mz(e,i,r),e.safeEncodeAsync=async(i,r)=>Bz(e,i,r),e.safeDecodeAsync=async(i,r)=>Lz(e,i,r),e.refine=(i,r)=>e.check(TT(i,r)),e.superRefine=i=>e.check(ET(i)),e.overwrite=i=>e.check(Ks(i)),e.optional=()=>gb(e),e.exactOptional=()=>yT(e),e.nullable=()=>yb(e),e.nullish=()=>gb(yb(e)),e.nonoptional=i=>jT(e,i),e.array=()=>A(e),e.or=i=>f0([e,i]),e.and=i=>dT(e,i),e.transform=i=>bb(e,hT(i)),e.default=i=>ST(e,i),e.prefault=i=>wT(e,i),e.catch=i=>kT(e,i),e.pipe=i=>bb(e,i),e.readonly=()=>CT(e),e.describe=i=>{const r=e.clone();return io.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return io.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return io.get(e);const r=e.clone();return io.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),c0=H("_ZodString",(e,n)=>{tp.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(r,l,c)=>XC(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(DC(...r)),e.includes=(...r)=>e.check(BC(...r)),e.startsWith=(...r)=>e.check(LC(...r)),e.endsWith=(...r)=>e.check(qC(...r)),e.min=(...r)=>e.check(sc(...r)),e.max=(...r)=>e.check(a0(...r)),e.length=(...r)=>e.check(i0(...r)),e.nonempty=(...r)=>e.check(sc(1,...r)),e.lowercase=r=>e.check(RC(r)),e.uppercase=r=>e.check(MC(r)),e.trim=()=>e.check($C()),e.normalize=(...r)=>e.check(UC(...r)),e.toLowerCase=()=>e.check(IC()),e.toUpperCase=()=>e.check(VC()),e.slugify=()=>e.check(PC())}),qz=H("ZodString",(e,n)=>{tp.init(e,n),c0.init(e,n),e.email=i=>e.check(aC(Uz,i)),e.url=i=>e.check(lC($z,i)),e.jwt=i=>e.check(jC(tT,i)),e.emoji=i=>e.check(cC(Iz,i)),e.guid=i=>e.check(ub(mb,i)),e.uuid=i=>e.check(iC(Vl,i)),e.uuidv4=i=>e.check(sC(Vl,i)),e.uuidv6=i=>e.check(rC(Vl,i)),e.uuidv7=i=>e.check(oC(Vl,i)),e.nanoid=i=>e.check(uC(Vz,i)),e.guid=i=>e.check(ub(mb,i)),e.cuid=i=>e.check(dC(Pz,i)),e.cuid2=i=>e.check(fC(Gz,i)),e.ulid=i=>e.check(pC(Hz,i)),e.base64=i=>e.check(SC(Fz,i)),e.base64url=i=>e.check(xC(Wz,i)),e.xid=i=>e.check(mC(Qz,i)),e.ksuid=i=>e.check(hC(Kz,i)),e.ipv4=i=>e.check(gC(Zz,i)),e.ipv6=i=>e.check(yC(Yz,i)),e.cidrv4=i=>e.check(bC(Xz,i)),e.cidrv6=i=>e.check(vC(Jz,i)),e.e164=i=>e.check(wC(eT,i)),e.datetime=i=>e.check(bz(i)),e.date=i=>e.check(Sz(i)),e.time=i=>e.check(wz(i)),e.duration=i=>e.check(Nz(i))});function p(e){return nC(qz,e)}const ft=H("ZodStringFormat",(e,n)=>{ct.init(e,n),c0.init(e,n)}),Uz=H("ZodEmail",(e,n)=>{c_.init(e,n),ft.init(e,n)}),mb=H("ZodGUID",(e,n)=>{o_.init(e,n),ft.init(e,n)}),Vl=H("ZodUUID",(e,n)=>{l_.init(e,n),ft.init(e,n)}),$z=H("ZodURL",(e,n)=>{u_.init(e,n),ft.init(e,n)}),Iz=H("ZodEmoji",(e,n)=>{d_.init(e,n),ft.init(e,n)}),Vz=H("ZodNanoID",(e,n)=>{f_.init(e,n),ft.init(e,n)}),Pz=H("ZodCUID",(e,n)=>{p_.init(e,n),ft.init(e,n)}),Gz=H("ZodCUID2",(e,n)=>{m_.init(e,n),ft.init(e,n)}),Hz=H("ZodULID",(e,n)=>{h_.init(e,n),ft.init(e,n)}),Qz=H("ZodXID",(e,n)=>{g_.init(e,n),ft.init(e,n)}),Kz=H("ZodKSUID",(e,n)=>{y_.init(e,n),ft.init(e,n)}),Zz=H("ZodIPv4",(e,n)=>{w_.init(e,n),ft.init(e,n)}),Yz=H("ZodIPv6",(e,n)=>{j_.init(e,n),ft.init(e,n)}),Xz=H("ZodCIDRv4",(e,n)=>{N_.init(e,n),ft.init(e,n)}),Jz=H("ZodCIDRv6",(e,n)=>{k_.init(e,n),ft.init(e,n)}),Fz=H("ZodBase64",(e,n)=>{A_.init(e,n),ft.init(e,n)}),Wz=H("ZodBase64URL",(e,n)=>{C_.init(e,n),ft.init(e,n)}),eT=H("ZodE164",(e,n)=>{z_.init(e,n),ft.init(e,n)}),tT=H("ZodJWT",(e,n)=>{E_.init(e,n),ft.init(e,n)}),u0=H("ZodNumber",(e,n)=>{Fv.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(r,l,c)=>JC(e,r,l),e.gt=(r,l)=>e.check(fb(r,l)),e.gte=(r,l)=>e.check(sf(r,l)),e.min=(r,l)=>e.check(sf(r,l)),e.lt=(r,l)=>e.check(db(r,l)),e.lte=(r,l)=>e.check(af(r,l)),e.max=(r,l)=>e.check(af(r,l)),e.int=r=>e.check(hb(r)),e.safe=r=>e.check(hb(r)),e.positive=r=>e.check(fb(0,r)),e.nonnegative=r=>e.check(sf(0,r)),e.negative=r=>e.check(db(0,r)),e.nonpositive=r=>e.check(af(0,r)),e.multipleOf=(r,l)=>e.check(pb(r,l)),e.step=(r,l)=>e.check(pb(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 v(e){return CC(u0,e)}const nT=H("ZodNumberFormat",(e,n)=>{O_.init(e,n),u0.init(e,n)});function hb(e){return zC(nT,e)}const aT=H("ZodBoolean",(e,n)=>{D_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>FC(e,i,r)});function oe(e){return TC(aT,e)}const iT=H("ZodUnknown",(e,n)=>{R_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>ez()});function qn(){return EC(iT)}const sT=H("ZodNever",(e,n)=>{M_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>WC(e,i,r)});function rT(e){return OC(sT,e)}const oT=H("ZodArray",(e,n)=>{B_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>sz(e,i,r,l),e.element=n.element,e.min=(i,r)=>e.check(sc(i,r)),e.nonempty=i=>e.check(sc(1,i)),e.max=(i,r)=>e.check(a0(i,r)),e.length=(i,r)=>e.check(i0(i,r)),e.unwrap=()=>e.element});function A(e,n){return GC(oT,e,n)}const lT=H("ZodObject",(e,n)=>{q_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>rz(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:qn()}),e.loose=()=>e.clone({...e._zod.def,catchall:qn()}),e.strict=()=>e.clone({...e._zod.def,catchall:rT()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>s2(e,i),e.safeExtend=i=>r2(e,i),e.merge=i=>o2(e,i),e.pick=i=>a2(e,i),e.omit=i=>i2(e,i),e.partial=(...i)=>l2(m0,e,i[0]),e.required=(...i)=>c2(h0,e,i[0])});function j(e,n){const i={type:"object",shape:e??{},...ye(n)};return new lT(i)}const d0=H("ZodUnion",(e,n)=>{t0.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>oz(e,i,r,l),e.options=n.options});function f0(e,n){return new d0({type:"union",options:e,...ye(n)})}const cT=H("ZodDiscriminatedUnion",(e,n)=>{d0.init(e,n),U_.init(e,n)});function p0(e,n,i){return new cT({type:"union",options:n,discriminator:e,...ye(i)})}const uT=H("ZodIntersection",(e,n)=>{$_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>lz(e,i,r,l)});function dT(e,n){return new uT({type:"intersection",left:e,right:n})}const fT=H("ZodRecord",(e,n)=>{I_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>cz(e,i,r,l),e.keyType=n.keyType,e.valueType=n.valueType});function lt(e,n,i){return new fT({type:"record",keyType:e,valueType:n,...ye(i)})}const Af=H("ZodEnum",(e,n)=>{V_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(r,l,c)=>tz(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 Af({...n,checks:[],...ye(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 Af({...n,checks:[],...ye(l),entries:c})}});function ie(e,n){const i=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new Af({type:"enum",entries:i,...ye(n)})}const pT=H("ZodLiteral",(e,n)=>{P_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>nz(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 qt(e,n){return new pT({type:"literal",values:Array.isArray(e)?e:[e],...ye(n)})}const mT=H("ZodTransform",(e,n)=>{G_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>iz(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new Bv(e.constructor.name);i.addIssue=c=>{if(typeof c=="string")i.issues.push(uo(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(uo(d))}};const l=n.transform(i.value,i);return l instanceof Promise?l.then(c=>(i.value=c,i)):(i.value=l,i)}});function hT(e){return new mT({type:"transform",transform:e})}const m0=H("ZodOptional",(e,n)=>{n0.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>l0(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function gb(e){return new m0({type:"optional",innerType:e})}const gT=H("ZodExactOptional",(e,n)=>{H_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>l0(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function yT(e){return new gT({type:"optional",innerType:e})}const bT=H("ZodNullable",(e,n)=>{Q_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>uz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function yb(e){return new bT({type:"nullable",innerType:e})}const vT=H("ZodDefault",(e,n)=>{K_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>fz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ST(e,n){return new vT({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():$v(n)}})}const xT=H("ZodPrefault",(e,n)=>{Z_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>pz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function wT(e,n){return new xT({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():$v(n)}})}const h0=H("ZodNonOptional",(e,n)=>{Y_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>dz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function jT(e,n){return new h0({type:"nonoptional",innerType:e,...ye(n)})}const NT=H("ZodCatch",(e,n)=>{X_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>mz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function kT(e,n){return new NT({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const AT=H("ZodPipe",(e,n)=>{J_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>hz(e,i,r,l),e.in=n.in,e.out=n.out});function bb(e,n){return new AT({type:"pipe",in:e,out:n})}const _T=H("ZodReadonly",(e,n)=>{F_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>gz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function CT(e){return new _T({type:"readonly",innerType:e})}const zT=H("ZodCustom",(e,n)=>{W_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>az(e,i)});function TT(e,n={}){return HC(zT,e,n)}function ET(e){return QC(e)}const g0=j({id:p(),name:p(),keyPrefix:p(),scopes:A(p()),readOnly:oe(),createdAt:p(),lastUsedAt:p().nullable(),revokedAt:p().nullable()});j({keys:A(g0)});j({name:p().min(1).max(100),scopes:A(p()).min(1).optional()});g0.extend({key:p()});const OT=j({maxConcurrency:v().int().positive(),maxRequestsPerMinute:v().int().positive(),maxRequestsPerDay:v().int().positive()}),ya=p().min(1);p().min(1);const np=j({label:p().min(1),city:p().min(1),region:p().min(1),country:p().length(2),timezone:p().optional()}),ap=ie(["citation.lost","citation.gained","run.completed","run.failed","insight.critical","insight.high"]);j({id:p(),projectId:p(),channel:qt("webhook"),url:p().url(),urlDisplay:p(),urlHost:p(),events:A(ap),enabled:oe().default(!0),source:p().optional(),webhookSecret:p().optional(),createdAt:p(),updatedAt:p()});j({channel:qt("webhook"),url:p().url(),events:A(ap).min(1),source:p().optional()});const y0=ie(["cli","api","config-file"]);function DT(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 RT(e,n){return n?e.some(i=>i.label===n):!0}j({displayName:p().min(1),canonicalDomain:p().min(1),ownedDomains:A(p().min(1)).optional(),aliases:A(p()).optional(),country:p().length(2),language:p().min(2),tags:A(p()).optional(),labels:lt(p(),p()).optional(),providers:A(ya).optional(),locations:A(np).optional(),defaultLocation:p().nullable().optional(),autoExtractBacklinks:oe().optional(),configSource:y0.optional()});const MT=j({id:p(),name:p(),displayName:p().optional(),canonicalDomain:p(),ownedDomains:A(p()).default([]),aliases:A(p()).default([]),country:p().length(2),language:p().min(2),tags:A(p()).default([]),labels:lt(p(),p()).default({}),providers:A(p()).default([]),locations:A(np).default([]),defaultLocation:p().nullable().optional(),autoExtractBacklinks:oe().default(!1),configSource:y0.default("cli"),configRevision:v().int().positive().default(1),createdAt:p().optional(),updatedAt:p().optional()});j({id:p(),query:p(),createdAt:p()});j({id:p(),keyword:p(),createdAt:p()});j({queries:A(p().trim().min(1)).min(1)});j({keywords:A(p().trim().min(1)).min(1)});j({provider:ya,count:v().int().min(1).max(20).optional()});j({id:p(),domain:p(),createdAt:p()});j({competitors:A(p().trim().min(1)).min(1)});function oc(e){let n=e.trim().toLowerCase();try{n.includes("://")&&(n=new URL(n).hostname.toLowerCase())}catch{}return n.replace(/^www\./,"")}const BT=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 LT(e){const n=oc(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 BT.has(l)?r.length>=3?r.slice(-3).join("."):"":r.slice(-2).join(".")}function qT(e){const n=LT(e);return n?n.split(".")[0]??"":""}function UT(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=oc(c);i.has(d)||(i.add(d),r.push(c))}return r}const $T=j({name:p().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:lt(p(),p()).optional().default({})}),IT=j({preset:p().optional(),cron:p().optional(),timezone:p().optional().default("UTC"),providers:A(ya).optional().default([])}).refine(e=>e.preset&&!e.cron||!e.preset&&e.cron,{message:'Exactly one of "preset" or "cron" must be provided'}).optional(),VT=j({channel:qt("webhook"),url:p().url(),events:A(ap).min(1)}),PT=j({gsc:j({propertyUrl:p()}).optional(),syncSchedule:j({preset:p().optional(),cron:p().optional()}).optional()}).optional(),vb=A(p().min(1)),GT=j({displayName:p().min(1),canonicalDomain:p().min(1),ownedDomains:A(p().min(1)).optional().default([]),aliases:A(p().min(1)).optional().default([]),country:p().length(2),language:p().min(2),queries:vb.optional(),keywords:vb.optional(),competitors:A(p().min(1)).optional().default([]),providers:A(ya).optional().default([]),locations:A(np).optional().default([]),defaultLocation:p().optional(),schedule:IT,notifications:A(VT).optional().default([]),google:PT,autoExtractBacklinks:oe().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=DT(e.locations);i.length>0&&n.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${i.join(", ")}`,path:["locations"]}),RT(e.locations,e.defaultLocation)||n.addIssue({code:"custom",message:`defaultLocation "${e.defaultLocation}" must match a configured location label`,path:["defaultLocation"]})});j({apiVersion:qt("canonry/v1"),kind:qt("Project"),metadata:$T,spec:GT});const HT=ie(["gsc","ga4","gbp"]);j({id:p(),domain:p(),connectionType:HT,propertyId:p().nullable().optional(),sitemapUrl:p().nullable().optional(),scopes:A(p()).default([]),createdAt:p(),updatedAt:p()});j({date:p(),query:p(),page:p(),country:p().nullable().optional(),device:p().nullable().optional(),clicks:v(),impressions:v(),ctr:v(),position:v()});const QT=j({date:p(),clicks:v(),impressions:v(),ctr:v()});j({totals:j({clicks:v(),impressions:v(),ctr:v(),days:v()}),daily:A(QT)});const _f=j({id:p(),url:p(),indexingState:p().nullable().optional(),verdict:p().nullable().optional(),coverageState:p().nullable().optional(),pageFetchState:p().nullable().optional(),robotsTxtState:p().nullable().optional(),crawlTime:p().nullable().optional(),lastCrawlResult:p().nullable().optional(),isMobileFriendly:oe().nullable().optional(),richResults:A(p()).default([]),referringUrls:A(p()).default([]),inspectedAt:p()});ie(["stable","reindexed","deindexed","still-missing","new"]);const KT=j({url:p(),previousState:p().nullable(),currentState:p().nullable(),transitionDate:p()}),ZT=j({reason:p(),count:v(),urls:A(_f).default([])});j({summary:j({total:v(),indexed:v(),notIndexed:v(),deindexed:v(),percentage:v()}),lastInspectedAt:p().nullable(),lastSyncedAt:p().nullable(),indexed:A(_f).default([]),notIndexed:A(_f).default([]),deindexed:A(KT).default([]),reasonGroups:A(ZT).default([])});j({url:p(),type:ie(["URL_UPDATED","URL_DELETED"]),notifiedAt:p()});const YT=j({url:p(),type:ie(["URL_UPDATED","URL_DELETED"]),notifiedAt:p(),status:ie(["success","error"]),error:p().optional()});j({summary:j({total:v().int().nonnegative(),succeeded:v().int().nonnegative(),failed:v().int().nonnegative()}),results:A(YT).default([])});j({date:p(),indexed:v(),notIndexed:v(),reasonBreakdown:lt(p(),v()).default({})});const XT=j({siteUrl:p(),permissionLevel:p()});j({sites:A(XT).default([])});const JT=j({type:p(),submitted:p(),indexed:p()}),FT=j({path:p(),lastSubmitted:p().optional(),isPending:oe().optional(),isSitemapsIndex:oe().optional(),type:p().optional(),lastDownloaded:p().optional(),warnings:p().optional(),errors:p().optional(),contents:A(JT).optional()});j({sitemaps:A(FT).default([])});const WT=j({name:p(),accountName:p().nullable(),type:p().nullable(),role:p().nullable()});j({accounts:A(WT),total:v().int().nonnegative()});const eE=j({id:p(),projectId:p(),accountName:p(),locationName:p(),displayName:p(),primaryCategoryDisplayName:p().nullable(),storefrontAddress:p().nullable(),websiteUri:p().nullable(),placeId:p().nullable(),mapsUri:p().nullable(),additionalCategories:A(p()),description:p().nullable(),serviceArea:lt(p(),qn()).nullable(),regularHours:lt(p(),qn()).nullable(),primaryPhone:p().nullable(),openStatus:p().nullable(),openingDate:p().nullable(),selected:oe(),syncedAt:p().nullable(),createdAt:p(),updatedAt:p()});j({locations:A(eE),totalDiscovered:v().int().nonnegative(),totalSelected:v().int().nonnegative()});j({selectAllNew:oe().default(!0),accountName:p().optional(),switchAccount:oe().default(!1)});j({selected:oe()});j({locationNames:A(p()).optional(),daysOfMetrics:v().int().positive().max(540).optional(),monthsOfKeywords:v().int().positive().max(18).optional()});j({runId:p(),status:p()});const tE=j({locationName:p(),date:p(),metric:p(),value:v().int()});j({metrics:A(tE),total:v().int().nonnegative()});const nE=j({locationName:p(),periodStart:p(),periodEnd:p(),keyword:p(),valueCount:v().int().nullable(),valueThreshold:v().int().nullable()});j({keywords:A(nE),total:v().int().nonnegative(),thresholdedPct:v().int().min(0).max(100)});const aE=j({locationName:p(),placeActionLinkName:p(),placeActionType:p(),uri:p().nullable(),isPreferred:oe(),providerType:p().nullable()});j({placeActions:A(aE),total:v().int().nonnegative()});const iE=j({locationName:p(),populatedGroupCount:v().int().nonnegative(),syncedAt:p(),attributes:lt(p(),qn())});j({lodging:A(iE),total:v().int().nonnegative()});const sE=j({locationName:p(),placeId:p(),tier:p(),amenities:A(p()),syncedAt:p(),place:lt(p(),qn())});j({places:A(sE),total:v().int().nonnegative()});j({scope:j({locationName:p().nullable(),locationCount:v().int().nonnegative()}),performance:j({totals:lt(p(),v()),recent7d:lt(p(),v()),prior7d:lt(p(),v()),deltaPct:lt(p(),v().nullable())}),freshness:j({dataThroughDate:p().nullable(),latestStoredDate:p().nullable(),pendingDays:v().int().nonnegative()}),timeseries:A(j({date:p(),pending:oe(),metrics:lt(p(),v())})),keywords:j({total:v().int().nonnegative(),thresholdedCount:v().int().nonnegative(),thresholdedPct:v().int().min(0).max(100)}),placeActions:j({total:v().int().nonnegative(),hasReservationCta:oe(),hasBookingCta:oe(),hasDirectMerchantCta:oe()}),lodging:j({lodgingLocationCount:v().int().nonnegative(),populatedLodgingCount:v().int().nonnegative(),emptyLodgingCount:v().int().nonnegative()})});const rE={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 oE(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 gL(e){return rE[e]??oE(e)}const lE=["BUSINESS_DIRECTION_REQUESTS","WEBSITE_CLICKS","CALL_CLICKS"],cE=["BUSINESS_IMPRESSIONS_DESKTOP_SEARCH","BUSINESS_IMPRESSIONS_MOBILE_SEARCH","BUSINESS_IMPRESSIONS_DESKTOP_MAPS","BUSINESS_IMPRESSIONS_MOBILE_MAPS"];function yL(e){return lE.includes(e)?"conversion":cE.includes(e)?"reach":"other"}j({id:p(),domain:p(),siteUrl:p().nullable().optional(),createdAt:p(),updatedAt:p()});const rf=j({id:p(),url:p(),httpCode:v().nullable().optional(),inIndex:oe().nullable().optional(),lastCrawledDate:p().nullable().optional(),inIndexDate:p().nullable().optional(),inspectedAt:p(),documentSize:v().nullable().optional(),anchorCount:v().nullable().optional(),discoveryDate:p().nullable().optional()});j({summary:j({total:v(),indexed:v(),notIndexed:v(),unknown:v().optional(),percentage:v()}),lastInspectedAt:p().nullable(),indexed:A(rf).default([]),notIndexed:A(rf).default([]),unknown:A(rf).default([]).optional()});j({query:p(),impressions:v(),clicks:v(),ctr:v(),averagePosition:v()});j({date:p(),indexed:v(),notIndexed:v(),unknown:v()});const uE=j({url:p(),status:ie(["success","error"]),submittedAt:p(),error:p().optional()});j({summary:j({total:v().int().nonnegative(),succeeded:v().int().nonnegative(),failed:v().int().nonnegative()}),results:A(uE).default([])});const b0=j({url:p(),verified:oe()});j({sites:A(b0).default([])});j({connected:oe(),domain:p(),siteUrl:p().nullable(),createdAt:p().nullable(),updatedAt:p().nullable()});j({connected:oe(),domain:p(),siteUrl:p().nullable(),availableSites:A(b0).default([])});j({siteUrl:p()});const dE=j({name:p(),alive:oe(),lastUsed:p().nullable()});j({connected:oe(),endpoint:p(),version:p().optional(),browserVersion:p().optional(),targets:A(dE).default([])});const Zs=ie(["live","staging"]);j({projectName:p(),url:p(),stagingUrl:p().optional(),username:p(),defaultEnv:Zs,createdAt:p(),updatedAt:p()});const Sb=j({url:p(),reachable:oe(),pageCount:v().nullable().optional(),version:p().nullable().optional(),error:p().nullable().optional(),plugins:A(p()).optional(),authenticatedUser:j({id:v(),slug:p()}).nullable().optional()});j({connected:oe(),projectName:p(),defaultEnv:Zs,live:Sb.nullable(),staging:Sb.nullable(),adminUrl:p().nullable().optional()});const fE=j({id:v(),slug:p(),title:p(),status:p(),modifiedAt:p().nullable().optional(),link:p().nullable().optional()}),v0=j({title:p().nullable(),description:p().nullable(),noindex:oe().nullable(),writable:oe().default(!1),writeTargets:A(p()).default([])}),pE=j({type:p(),json:lt(p(),qn())}),mE=fE.extend({env:Zs,content:p(),seo:v0,schemaBlocks:A(pE).default([])}),xb=mE.extend({contentHash:p(),contentSnippet:p()}),S0=j({manualRequired:qt(!0),targetUrl:p(),adminUrl:p().nullable().optional(),content:p(),nextSteps:A(p()).default([])}),hE=j({slug:p(),severity:ie(["high","medium","low"]),code:ie(["noindex","missing-seo-title","missing-meta-description","missing-schema","thin-content"]),message:p()});j({slug:p(),title:p(),status:p(),wordCount:v(),seo:v0,schemaPresent:oe(),issues:A(hE).default([])});const gE=j({slug:p(),status:ie(["applied","skipped","manual"]),error:p().optional(),manualAssist:S0.optional()});j({env:Zs,strategy:ie(["plugin","manual"]),results:A(gE)});const yE=j({slug:p(),status:ie(["deployed","stripped","skipped","failed"]),schemasInjected:A(p()).optional(),manualAssist:S0.optional(),error:p().optional()});j({env:Zs,results:A(yE)});const bE=j({slug:p(),title:p(),canonrySchemas:A(p()),thirdPartySchemas:A(p()),hasCanonrySchema:oe()});j({env:Zs,pages:A(bE)});const vE=j({name:p(),status:ie(["completed","skipped","failed"]),summary:p().optional(),error:p().optional()});j({projectName:p(),steps:A(vE)});j({slug:p(),live:xb,staging:xb,hasDifferences:oe(),differences:j({title:oe(),slug:oe(),content:oe(),seoTitle:oe(),seoDescription:oe(),noindex:oe(),schema:oe()})});const SE=j({name:p(),displayName:p().optional(),keyUrl:p().optional(),modelHint:p().optional(),model:p().optional(),defaultModel:p().optional(),configured:oe(),quota:OT.optional(),vertexConfigured:oe().optional()}),wb=j({configured:oe()});j({providers:A(SE).default([]),google:wb,bing:wb});const Ys=ie(["queued","running","completed","partial","failed","cancelled"]),Ht=Ys.enum,x0=ie(["answer-visibility","site-audit","gsc-sync","inspect-sitemap","ga-sync","bing-inspect","bing-inspect-sitemap","backlink-extract","traffic-sync","aeo-discover-seed","aeo-discover-probe","gbp-sync","ads-sync"]),Ne=x0.enum,w0=ie(["manual","scheduled","config-apply","backfill","probe"]),Bs=w0.enum,Ai=ie(["cited","not-cited"]),lc=Ai.enum,cc=ie(["visible","not-visible"]);cc.enum;const uc=ie(["mentioned","not-mentioned"]);uc.enum;const j0=ie(["new","cited","lost","emerging","not-cited"]);j0.enum;const xE=ie(["new","mentioned","lost","emerging","not-mentioned"]);xE.enum;const wE=ie([Bs.manual,Bs.probe]);j({kind:qt(Ne["answer-visibility"]).optional(),trigger:wE.optional(),providers:A(ya).optional(),queries:A(p().min(1)).min(1).optional(),location:p().min(1).optional(),allLocations:oe().optional(),noLocation:oe().optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const jE=j({message:p(),raw:qn().optional()}),NE=j({message:p().optional(),providers:lt(p(),jE).optional()}),kE=j({id:p(),projectId:p(),kind:x0,status:Ys,trigger:w0.default("manual"),location:p().nullable().optional(),queries:A(p()).nullable().optional(),startedAt:p().nullable().optional(),finishedAt:p().nullable().optional(),error:NE.nullable().optional(),createdAt:p()});function ip(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 N0=j({uri:p(),title:p()}),k0=j({id:p(),runId:p(),queryId:p(),query:p().optional(),provider:ya,citationState:Ai,answerMentioned:oe().optional(),visibilityState:cc.optional(),mentionState:uc.optional(),transition:j0.optional(),answerText:p().nullable().optional(),citedDomains:A(p()).default([]),competitorOverlap:A(p()).default([]),recommendedCompetitors:A(p()).default([]),matchedTerms:A(p()).default([]),groundingSources:A(N0).default([]),searchQueries:A(p()).default([]),model:p().nullable().optional(),location:p().nullable().optional(),createdAt:p()});j({snapshots:A(k0),total:v().int().nonnegative()});const AE=j({queryId:p().nullable(),query:p().nullable(),run1State:Ai.nullable(),run2State:Ai.nullable(),run1AnswerMentioned:oe().nullable(),run2AnswerMentioned:oe().nullable(),run1VisibilityState:cc.nullable(),run2VisibilityState:cc.nullable(),run1MentionState:uc.nullable().optional(),run2MentionState:uc.nullable().optional(),changed:oe(),visibilityChanged:oe()});j({run1:p(),run2:p(),diff:A(AE)});const _E=kE.extend({snapshots:A(k0).optional()}),CE=j({totalRuns:v().int().nonnegative(),run:_E.nullable()});j({id:p(),projectId:p().nullable().optional(),actor:p(),action:p(),entityType:p(),entityId:p().nullable().optional(),diff:qn().optional(),createdAt:p()});const zE=ie(["yes","no","unknown","not-mentioned"]),jb=A(p().min(1));j({companyName:p().min(1),domain:p().min(1),queries:jb.optional(),phrases:jb.optional(),competitors:A(p().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 TE=j({name:p(),count:v().int().nonnegative()}),EE=j({id:p(),name:p(),weight:v(),score:v(),findings:A(j({type:p(),message:p()})).default([]),recommendations:A(p()).default([])}),OE=j({url:p(),finalUrl:p(),auditedAt:p(),overallScore:v(),summary:p(),factors:A(EE).default([])}),DE=j({industry:p(),summary:p(),services:A(p()).default([]),categoryTerms:A(p()).default([])}),RE=j({provider:p(),displayName:p(),model:p().nullable().optional(),mentioned:oe(),cited:oe(),describedAccurately:zE,accuracyNotes:p().nullable().optional(),incorrectClaims:A(p()).default([]),recommendedCompetitors:A(p()).default([]),citedDomains:A(p()).default([]),groundingSources:A(N0).default([]),searchQueries:A(p()).default([]),answerText:p(),error:p().nullable().optional()}),ME=j({query:p(),providerResults:A(RE).default([])}),BE=j({totalQueries:v().int().nonnegative(),totalProviders:v().int().nonnegative(),totalComparisons:v().int().nonnegative(),mentionCount:v().int().nonnegative(),citationCount:v().int().nonnegative(),topCompetitors:A(TE).default([]),visibilityGap:p(),whatThisMeans:A(p()).default([]),recommendedActions:A(p()).default([])});j({companyName:p(),domain:p(),homepageUrl:p(),generatedAt:p(),queries:A(p()).default([]),competitors:A(p()).default([]),profile:DE,audit:OE,queryResults:A(ME).default([]),summary:BE});const A0=ie(["pass","partial","fail"]);A0.enum;const _0=ie(["up","down","flat"]);_0.enum;const LE=j({id:p(),name:p(),weight:v(),avgScore:v(),status:A0,pagesPassing:v().int().nonnegative(),pagesPartial:v().int().nonnegative(),pagesFailing:v().int().nonnegative()}),qE=j({factorId:p(),factorName:p(),avgScore:v(),affectedPages:v().int().nonnegative(),totalPages:v().int().nonnegative(),affectedPct:v().int().nonnegative(),topRecommendations:A(p()).default([])});j({project:p(),hasData:oe(),runId:p().nullable(),runStatus:Ys.nullable(),sitemapUrl:p().nullable(),auditedAt:p().nullable(),aggregateScore:v(),pagesDiscovered:v().int().nonnegative(),pagesAudited:v().int().nonnegative(),pagesSkipped:v().int().nonnegative(),pagesErrored:v().int().nonnegative(),deltaScore:v().nullable(),trend:_0.nullable(),previousScore:v().nullable(),previousAuditedAt:p().nullable(),factors:A(LE).default([]),crossCuttingIssues:A(qE).default([]),prioritizedFixes:A(p()).default([])});const UE=j({id:p(),name:p(),weight:v(),score:v()}),$E=j({url:p(),overallScore:v(),status:ie(["success","error"]),error:p().nullable().optional(),factors:A(UE).default([])});j({project:p(),runId:p().nullable(),auditedAt:p().nullable(),total:v().int().nonnegative(),pages:A($E).default([])});const IE=j({runId:p(),auditedAt:p(),aggregateScore:v(),pagesAudited:v().int().nonnegative()});j({project:p(),points:A(IE).default([])});j({sitemapUrl:p().url().optional(),limit:v().int().positive().max(2e3).optional()});j({runId:p(),status:Ys});const sp=ie(["answer-visibility","traffic-sync","gbp-sync","data-refresh","backlinks-sync","site-audit","ads-sync"]);sp.enum;j({id:p(),projectId:p(),kind:sp,cronExpr:p(),preset:p().nullable().optional(),timezone:p().default("UTC"),enabled:oe().default(!0),providers:A(ya).default([]),sourceId:p().nullable().optional(),lastRunAt:p().nullable().optional(),nextRunAt:p().nullable().optional(),createdAt:p(),updatedAt:p()});j({kind:sp.optional(),preset:p().optional(),cron:p().optional(),timezone:p().optional().default("UTC"),enabled:oe().optional().default(!0),providers:A(ya).optional().default([]),sourceId:p().optional()}).refine(e=>e.preset&&!e.cron||!e.preset&&e.cron,{message:'Exactly one of "preset" or "cron" must be provided'});const rp=ie(["competitor","directory","social","forum","news","reference","blog","ecommerce","video","academic","other"]);rp.enum;const op=ie(["cited","aspirational","wasted-surface"]),Nb=op.enum;Nb.cited,Nb.aspirational;const xc=ie(["direct-competitor","ota-aggregator","editorial-media","other","unknown"]),VE=xc.enum;VE["direct-competitor"];const wc=ie(["queued","seeding","probing","completed","failed"]);wc.enum;const C0=j({domain:p().min(1),hits:v().int().positive(),competitorType:xc.default("unknown")}),PE=j({id:p(),sessionId:p(),projectId:p(),query:p(),bucket:op.nullable().default(null),citationState:Ai,citedDomains:A(p()).default([]),answerMentioned:oe().nullable().default(null),createdAt:p()}),GE=j({id:p(),projectId:p(),status:wc,icpDescription:p().nullable().optional(),seedProvider:p().nullable().optional(),seedCountRaw:v().int().nullable().optional(),seedCount:v().int().nullable().optional(),dedupThreshold:v().nullable().optional(),probeCount:v().int().nullable().optional(),citedCount:v().int().nullable().default(null),aspirationalCount:v().int().nullable().default(null),wastedCount:v().int().nullable().default(null),competitorMap:A(C0).default([]),warning:p().nullable().optional(),error:p().nullable().optional(),startedAt:p().nullable().optional(),finishedAt:p().nullable().optional(),createdAt:p()});GE.extend({probes:A(PE).default([])});const HE=500;j({icpDescription:p().min(1).optional(),dedupThreshold:v().min(0).max(1).optional(),maxProbes:v().int().positive().max(HE).optional(),locations:A(p().min(1)).optional()});j({buckets:A(op).min(1).optional(),includeCompetitors:oe().optional(),competitorTypes:A(xc).min(1).optional()});j({sessionId:p(),projectId:p(),status:wc,queriesByBucket:j({cited:A(p()),aspirational:A(p()),"wasted-surface":A(p())}),suggestedCompetitors:A(C0)});j({sessionId:p(),projectId:p(),promoted:j({queries:A(p()),competitors:A(p())}),skipped:j({queries:A(p()),competitors:A(p())})});f0([qt("cli"),p().regex(/^discovery:.+$/)]);const QE=j({query:p().min(1),probeHits:v().int().positive()}),KE=j({rawCandidates:v().int().nonnegative(),admitted:v().int().nonnegative(),rejected:j({belowFloor:v().int().nonnegative(),length:v().int().nonnegative(),navigational:v().int().nonnegative(),duplicate:v().int().nonnegative(),offAnchor:v().int().nonnegative(),semanticDuplicate:v().int().nonnegative()})});j({sessionId:p(),projectId:p(),provider:p(),status:wc,minProbeHits:v().int().positive(),anchorApplied:oe(),semanticNoveltyApplied:oe(),candidates:A(QE),stats:KE});const lp=ie(["own","direct-competitor","ota-aggregator","editorial-media","other"]);lp.enum;const z0=ie(["7d","30d","90d","all"]),kb=ie(["improving","declining","stable"]),ZE=ie(["mentioned","cited"]);ZE.enum;const Cf=j({citationRate:v(),cited:v().int(),total:v().int(),mentionRate:v(),mentionedCount:v().int()}),YE=j({startDate:p(),endDate:p(),citationRate:v(),cited:v().int(),total:v().int(),queryCount:v().int(),mentionRate:v(),mentionedCount:v().int(),byProvider:lt(p(),Cf)}),XE=j({date:p(),delta:v().int(),label:p()});j({window:z0,buckets:A(YE),overall:Cf,byProvider:lt(p(),Cf),trend:kb,mentionTrend:kb,queryChanges:A(XE)});const Ab=j({category:rp,label:p(),count:v().int(),percentage:v(),topDomains:A(j({domain:p(),count:v().int()}))}),JE=j({domain:p(),count:v().int(),percentage:v(),category:rp,label:p(),surfaceClass:lp}),FE=j({surfaceClass:lp,label:p(),count:v().int(),percentage:v(),domainCount:v().int()}),_b=j({totalCitedSlots:v().int(),domainTotal:v().int(),entries:A(JE),truncatedDomainCount:v().int(),truncatedCitedSlots:v().int(),bySurfaceClass:A(FE)});j({overall:A(Ab),byQuery:lt(p(),A(Ab)),ranked:_b,byProvider:lt(p(),_b),runId:p(),window:z0,limit:v().int().nullable()});const cp=j({total:v().int(),checked:v().int(),mentioned:v().int(),cited:v().int(),mentionRate:v().nullable(),citedRate:v().nullable()}),T0=cp.extend({provider:p(),firstObserved:p(),lastObserved:p()}),WE=cp.extend({queryId:p().nullable(),query:p(),firstObserved:p(),lastObserved:p(),providers:A(T0).optional()}),eO=j({since:p().nullable(),until:p().nullable(),lastRuns:v().int().nullable(),runCount:v().int()}),tO=ie(["provider"]);j({project:p(),groupBy:tO.optional(),window:eO,totals:cp,byProvider:A(T0).optional(),queries:A(WE)});j({id:p(),projectId:p(),propertyId:p(),clientEmail:p(),connected:oe(),createdAt:p(),updatedAt:p()});j({date:p(),landingPage:p(),sessions:v(),organicSessions:v(),users:v()});const up=ie(["session","first_user","manual_utm"]),nO=j({source:p(),medium:p(),sessions:v(),users:v(),sourceDimension:up}),aO=j({source:p(),medium:p(),sourceDimension:up,landingPage:p(),sessions:v(),users:v()}),iO=j({source:p(),medium:p(),sessions:v(),users:v(),channelGroup:p()}),Fr=j({sessions:v(),sharePct:v(),sharePctDisplay:p()}),sO=j({organic:Fr,social:Fr,direct:Fr,ai:Fr,other:Fr});j({totalSessions:v(),totalOrganicSessions:v(),totalDirectSessions:v(),totalUsers:v(),topPages:A(j({landingPage:p(),sessions:v(),organicSessions:v(),directSessions:v(),users:v()})),aiReferrals:A(nO),aiReferralLandingPages:A(aO),aiSessionsDeduped:v(),aiUsersDeduped:v(),aiSessionsBySession:v(),aiUsersBySession:v(),socialReferrals:A(iO),socialSessions:v(),socialUsers:v(),channelBreakdown:sO,organicSharePct:v(),aiSharePct:v(),aiSharePctBySession:v(),directSharePct:v(),socialSharePct:v(),organicSharePctDisplay:p(),aiSharePctDisplay:p(),aiSharePctBySessionDisplay:p(),directSharePctDisplay:p(),socialSharePctDisplay:p(),otherSessions:v(),otherSharePct:v(),otherSharePctDisplay:p(),lastSyncedAt:p().nullable()});j({connected:oe(),propertyId:p().nullable(),clientEmail:p().nullable(),authMethod:ie(["service-account","oauth"]).nullable(),lastSyncedAt:p().nullable(),createdAt:p().nullable().optional(),updatedAt:p().nullable().optional()});j({synced:oe(),rowCount:v().int().nonnegative(),aiReferralCount:v().int().nonnegative(),socialReferralCount:v().int().nonnegative(),days:v().int().nonnegative(),syncedAt:p(),syncedComponents:A(p()).optional()});j({date:p(),source:p(),medium:p(),landingPage:p(),sessions:v(),users:v(),sourceDimension:up});j({date:p(),source:p(),medium:p(),sessions:v(),users:v(),channelGroup:p()});j({date:p(),sessions:v(),organicSessions:v(),users:v()});function dc(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}const E0=ie(["claude","openai","gemini","zai"]),rO=j({id:E0,label:p(),defaultModel:p(),configured:oe(),keySource:ie(["config","env"]).nullable()});j({providers:A(rO).default([]),defaultProvider:E0.nullable()});const oO=ie(["aero","user","compaction"]);oO.enum;const O0=128;j({key:p().min(1).max(O0),value:p().min(1)});j({key:p().min(1).max(O0)});const Xs=ie(["commoncrawl","bing-webmaster"]);Xs.enum;const dp=ie(["queued","downloading","querying","ready","failed"]);dp.enum;j({id:p(),release:p(),status:dp,phaseDetail:p().nullable().optional(),vertexPath:p().nullable().optional(),edgesPath:p().nullable().optional(),vertexSha256:p().nullable().optional(),edgesSha256:p().nullable().optional(),vertexBytes:v().int().nullable().optional(),edgesBytes:v().int().nullable().optional(),projectsProcessed:v().int().nullable().optional(),domainsDiscovered:v().int().nullable().optional(),downloadStartedAt:p().nullable().optional(),downloadFinishedAt:p().nullable().optional(),queryStartedAt:p().nullable().optional(),queryFinishedAt:p().nullable().optional(),error:p().nullable().optional(),createdAt:p(),updatedAt:p()});const lO=j({linkingDomain:p(),numHosts:v().int(),source:Xs}),cO=j({projectId:p(),release:p(),targetDomain:p(),totalLinkingDomains:v().int(),totalHosts:v().int(),top10HostsShare:p(),queriedAt:p(),source:Xs,excludedLinkingDomains:v().int().optional(),excludedHosts:v().int().optional()});j({source:Xs,summary:cO.nullable(),total:v().int(),rows:A(lO)});j({release:p(),totalLinkingDomains:v().int(),totalHosts:v().int(),top10HostsShare:p(),queriedAt:p(),source:Xs});const uO=j({source:Xs,connected:oe(),hasData:oe(),latestRelease:p().nullable(),totalLinkingDomains:v().int(),lastSyncedAt:p().nullable()});j({projectId:p(),targetDomain:p(),sources:A(uO),anyConnected:oe(),anyData:oe()});j({duckdbInstalled:oe(),duckdbVersion:p().nullable().optional(),duckdbSpec:p(),pluginDir:p()});j({installed:oe(),version:p(),path:p(),alreadyPresent:oe()});j({release:p(),vertexUrl:p(),edgesUrl:p(),vertexBytes:v().int().nullable(),edgesBytes:v().int().nullable(),lastModified:p().nullable()});j({release:p(),syncStatus:dp.nullable(),bytes:v().int(),lastUsedAt:p().nullable()});const fp=ie(["positive","caution","negative","neutral"]),Qa=j({label:p(),value:p(),delta:p(),tone:fp,description:p(),tooltip:p().optional(),trend:A(v()),progress:v().optional(),providerCoverage:p().optional()}),dO=Qa.extend({breakdown:j({projectMentionSnapshots:v().int().nonnegative(),competitorMentionSnapshots:v().int().nonnegative(),perCompetitor:A(j({domain:p(),mentionSnapshots:v().int().nonnegative(),shareOfCompetitiveTotal:v()})),snapshotsWithAnswerText:v().int().nonnegative(),snapshotsTotal:v().int().nonnegative()})}),of=j({gained:v().int().nonnegative(),lost:v().int().nonnegative(),tone:fp,hasPreviousRun:oe(),gainedQueries:A(p()).optional(),lostQueries:A(p()).optional()}),fO=j({hasPreviousRun:oe(),comparable:oe(),querySetChanged:oe(),previousRunAt:p().nullable(),currentQueryCount:v().int().nonnegative(),previousQueryCount:v().int().nonnegative(),comparableQueryCount:v().int().nonnegative(),addedQueryCount:v().int().nonnegative(),removedQueryCount:v().int().nonnegative(),addedQueries:A(p()),removedQueries:A(p())}),pO=j({id:p(),projectId:p(),runId:p().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:p(),query:p(),provider:p(),recommendation:j({action:p(),target:p().optional(),reason:p()}).optional(),cause:j({cause:p(),competitorDomain:p().optional(),details:p().optional()}).optional(),dismissed:oe(),createdAt:p()}),mO=j({id:p(),projectId:p(),runId:p().nullable(),overallCitedRate:v(),overallMentionRate:v(),totalPairs:v().int().nonnegative(),citedPairs:v().int().nonnegative(),mentionedPairs:v().int().nonnegative(),providerBreakdown:lt(p(),j({citedRate:v(),mentionRate:v(),cited:v().int().nonnegative(),mentioned:v().int().nonnegative(),total:v().int().nonnegative()})),createdAt:p(),status:ie(["ready","no-data"]),reason:qt("no-runs-yet").optional()});j({project:MT,latestRun:CE,health:mO.nullable(),topInsights:A(pO),queryCounts:j({totalQueries:v().int().nonnegative(),citedQueries:v().int().nonnegative(),notCitedQueries:v().int().nonnegative(),citedRate:v(),mentionedQueries:v().int().nonnegative(),notMentionedQueries:v().int().nonnegative(),mentionRate:v()}),providers:A(j({provider:p(),citedRate:v(),cited:v().int().nonnegative(),total:v().int().nonnegative()})),transitions:j({since:p().nullable(),gained:v().int().nonnegative(),lost:v().int().nonnegative(),emerging:v().int().nonnegative()}),scores:j({mention:Qa,visibility:Qa,mentionShare:dO,gapQueries:Qa,mentionGaps:Qa,indexCoverage:Qa,competitorPressure:Qa,runStatus:Qa}),movementSummary:of,citationMovement:of,mentionMovement:of,movementComparison:fO,competitors:A(j({id:p(),domain:p(),citationCount:v().int().nonnegative(),totalQueries:v().int().nonnegative(),pressureLabel:ie(["None","Low","Moderate","High"]),citedQueries:A(p())})),providerScores:A(j({provider:p(),model:p().nullable(),score:v(),cited:v().int().nonnegative(),total:v().int().nonnegative(),trend:A(v()).optional()})),attentionItems:A(j({id:p(),tone:fp,title:p(),detail:p(),actionLabel:p(),href:p()})),runHistory:A(j({runId:p(),createdAt:p(),citedCount:v().int().nonnegative(),totalCount:v().int().nonnegative(),citationRate:v(),mentionedCount:v().int().nonnegative(),mentionRate:v(),status:p()})),suggestedQueries:j({rows:A(j({query:p(),impressions:v(),clicks:v(),avgPosition:v(),reason:p()})),totalCandidates:v().int().nonnegative(),skippedAlreadyTracked:v().int().nonnegative()}),dateRangeLabel:p(),contextLabel:p()});ie(["snapshot","insight"]);const hO=j({kind:qt("snapshot"),id:p(),runId:p(),query:p(),provider:p(),model:p().nullable(),citationState:Ai,matchedField:ie(["answerText","citedDomains","searchQueries","query"]),snippet:p(),createdAt:p()}),gO=j({kind:qt("insight"),id:p(),runId:p().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:p(),query:p(),provider:p(),matchedField:ie(["title","query","recommendation","cause"]),snippet:p(),dismissed:oe(),createdAt:p()}),yO=p0("kind",[hO,gO]);j({query:p(),totalHits:v().int().nonnegative(),truncated:oe(),hits:A(yO)});const D0=ie(["create","expand","refresh","add-schema"]);D0.enum;function bL(e){switch(e){case"create":return"Create";case"expand":return"Expand";case"refresh":return"Refresh";case"add-schema":return"Add schema"}}const R0=ie(["gsc","competitor-evidence","both"]);R0.enum;const M0=ie(["high","medium","low"]);M0.enum;const bO=ie(["blog-post","comparison","listicle","how-to","guide","glossary"]);bO.enum;const B0=ie(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);B0.enum;const pp=ie(["ownable","ceded"]);pp.enum;const vO=j({url:p(),gscImpressions:v().nonnegative(),gscClicks:v().nonnegative(),gscAvgPosition:v().nonnegative().nullable(),organicSessions:v().nonnegative()}),SO=j({domain:p(),url:p(),title:p(),citationCount:v().int().nonnegative()}),xO=j({demand:v(),competitor:v(),absence:v(),gapSeverity:v()}),wO=j({actionId:p(),state:B0,lastUpdated:p()}),L0=j({targetRef:p(),query:p(),action:D0,ourBestPage:vO.nullable(),winningCompetitor:SO.nullable(),score:v(),scoreBreakdown:xO,drivers:A(p()),demandSource:R0,actionConfidence:M0,existingAction:wO.nullable(),winnabilityClass:pp,winnability:v().min(0).max(1).nullable()});j({targets:A(L0),contextMetrics:j({totalAiReferralSessions:v().int().nonnegative(),latestRunId:p(),runTimestamp:p()})});const jO=j({targetRef:p(),addressedUrl:p().nullable(),note:p().nullable(),dismissedAt:p()});j({dismissals:A(jO)});j({targetRef:p().min(1),addressedUrl:p().url().optional(),note:p().max(500).optional()});j({targetRef:p(),promptVersion:p(),provider:p(),model:p(),responseText:p(),costMillicents:v().int().nonnegative(),generatedAt:p()});j({provider:p().optional(),model:p().optional(),forceRefresh:oe().optional()});const NO=j({targetQuery:p().trim().min(1),winnabilityClass:pp,angle:p().trim().min(1),whyWinnable:p().trim().min(1),schemaHookup:p().trim().min(1),controllableSurfaceRationale:p().trim().min(1)});j({targetRef:p(),promptVersion:p(),provider:p(),model:p(),brief:NO,costMillicents:v().int().nonnegative(),generatedAt:p()});const kO=j({domain:p(),competitorType:xc,hits:v().int().nonnegative(),updatedAt:p()});j({classifications:A(kO)});const AO=j({uri:p(),title:p(),domain:p(),isOurDomain:oe(),isCompetitor:oe(),citationCount:v().int().nonnegative(),providers:A(ya)}),q0=j({query:p(),groundingSources:A(AO)});j({sources:A(q0),latestRunId:p()});const U0=j({query:p(),competitorDomains:A(p()),competitorCount:v().int().nonnegative(),missRate:v().min(0).max(1),lastSeenInRunId:p()});j({gaps:A(U0),latestRunId:p()});const $0=ie(["ok","warn","fail","skipped"]);$0.enum;const mp=ie(["global","project"]);mp.enum;const I0=ie(["auth","config","providers","integrations","database","schedules","agent"]);I0.enum;const _O=j({id:p(),category:I0,scope:mp,title:p(),status:$0,code:p().describe('Stable machine-readable code (e.g. "google.token.refresh-failed"). Use this for filtering and remediation logic.'),summary:p(),remediation:p().nullable().optional().describe('Operator-facing next step. Null when status is "ok" or no specific remediation applies.'),details:lt(p(),qn()).optional().describe("Structured context — principal email, redirect URI, missing scopes, etc. Stable per check id."),durationMs:v().int().nonnegative().describe("How long the check took to execute.")});j({scope:mp,project:p().nullable().describe('Project name when scope is "project", null otherwise.'),generatedAt:p().describe("ISO-8601 timestamp when this doctor run started."),durationMs:v().int().nonnegative(),summary:j({total:v().int().nonnegative(),ok:v().int().nonnegative(),warn:v().int().nonnegative(),fail:v().int().nonnegative(),skipped:v().int().nonnegative()}),checks:A(_O)});const CO=j({provider:p(),citationState:Ai,cited:oe(),mentioned:oe(),runId:p(),runCreatedAt:p()}),zO=j({queryId:p(),query:p(),providers:A(CO),citedCount:v().int().nonnegative(),mentionedCount:v().int().nonnegative(),totalProviders:v().int().nonnegative()}),TO=j({queryId:p(),query:p(),provider:p(),citingCompetitors:A(p()),runId:p(),runCreatedAt:p()}),EO=j({providersConfigured:v().int().nonnegative(),providersCiting:v().int().nonnegative(),providersMentioning:v().int().nonnegative(),totalQueries:v().int().nonnegative(),queriesCitedAndMentioned:v().int().nonnegative(),queriesCitedOnly:v().int().nonnegative(),queriesMentionedOnly:v().int().nonnegative(),queriesInvisible:v().int().nonnegative(),latestRunId:p().nullable(),latestRunAt:p().nullable()});j({summary:EO,byQuery:A(zO),competitorGaps:A(TO),status:ie(["ready","no-data"]),reason:ie(["no-runs-yet","no-queries"]).optional()});const OO=ie(["prompt","request-param","browser-geo","ignored"]),DO=j({label:p(),city:p(),region:p(),country:p(),otherConfiguredLabels:A(p())}),RO=j({provider:p(),treatment:OO,description:p()}),MO=j({generatedAt:p(),project:j({id:p(),name:p(),displayName:p(),canonicalDomain:p(),country:p(),language:p()}),location:DO.nullable(),providerLocationHandling:A(RO),periodStart:p().nullable(),periodEnd:p().nullable()}),BO=j({citationRate:v(),citedQueryCount:v(),totalQueryCount:v(),mentionRate:v(),mentionedQueryCount:v(),trend:ie(["up","down","flat","unknown"]),queryCount:v(),competitorCount:v(),providerCount:v(),gsc:j({clicks:v(),impressions:v(),ctr:v(),avgPosition:v(),periodStart:p(),periodEnd:p()}).nullable(),ga:j({sessions:v(),users:v(),periodStart:p(),periodEnd:p()}).nullable(),findings:A(j({title:p(),detail:p(),tone:ie(["positive","caution","negative","neutral"])}))}),LO=j({citationState:ie(["cited","not-cited","pending"]),answerMentioned:oe().nullable(),model:p().nullable()}),qO=j({queries:A(p()),providers:A(p()),matrix:A(A(LO.nullable())),providerRates:A(j({provider:p(),citedCount:v(),totalCount:v(),citationRate:v()}))}),UO=j({domain:p(),citationCount:v(),totalCount:v(),pressureLabel:ie(["High","Moderate","Low","None"]),citedQueries:A(p()),sharePct:v(),theirCitedPages:A(j({url:p(),citedFor:A(p())}))}),$O=j({projectCitationCount:v(),competitors:A(UO)}),IO=j({domain:p(),mentionCount:v(),totalCount:v(),pressureLabel:ie(["High","Moderate","Low","None"]),mentionedQueries:A(p()),sharePct:v()}),VO=j({projectMentionCount:v(),totalAnswerSnapshots:v(),competitors:A(IO)}),PO=j({category:p(),label:p(),count:v(),sharePct:v()}),GO=j({categories:A(PO),topDomains:A(j({domain:p(),count:v(),isCompetitor:oe()}))}),HO=j({query:p(),clicks:v(),impressions:v(),ctr:v(),avgPosition:v(),category:ie(["brand","lead-gen","industry","other"])}),QO=j({periodStart:p(),periodEnd:p(),totalClicks:v(),totalImpressions:v(),ctr:v(),avgPosition:v(),topQueries:A(HO),categoryBreakdown:A(j({category:ie(["brand","lead-gen","industry","other"]),clicks:v(),impressions:v(),sharePct:v()})),trend:A(j({date:p(),clicks:v(),impressions:v()})),trackedButNoGsc:A(p()),gscButNotTracked:A(p())}),KO=j({totalSessions:v(),totalUsers:v(),totalOrganicSessions:v(),periodStart:p(),periodEnd:p(),topLandingPages:A(j({page:p(),sessions:v(),users:v(),organicSessions:v()})),channelBreakdown:A(j({channel:p(),sessions:v(),sharePct:v()}))}),ZO=j({totalSessions:v(),organicSessions:v(),paidSessions:v(),channels:A(j({channelGroup:p(),sessions:v(),sharePct:v()})),topCampaigns:A(j({source:p(),medium:p(),sessions:v()}))}),YO=j({totalSessions:v(),totalUsers:v(),bySource:A(j({source:p(),sessions:v(),users:v(),sharePct:v()})),trend:A(j({date:p(),sessions:v()})),topLandingPages:A(j({page:p(),sessions:v(),users:v()}))}),XO=j({windowStart:p(),windowEnd:p(),hasData:oe(),verifiedCrawlerHits:j({current:v(),prior:v(),deltaPct:v().nullable()}),unverifiedCrawlerHits:j({current:v(),prior:v(),deltaPct:v().nullable()}),aiUserFetchHits:j({current:v(),prior:v(),deltaPct:v().nullable()}),referralArrivals:j({current:v(),prior:v(),deltaPct:v().nullable()}),byOperator:A(j({operator:p(),verifiedHits:v(),unverifiedHits:v(),userFetchHits:v(),referralArrivals:v(),deltaPct:v().nullable()})),topCrawledPaths:A(j({path:p(),verifiedHits:v(),distinctOperators:v()})),referralProducts:A(j({product:p(),arrivals:v(),distinctLandingPaths:v()})),dailyTrend:A(j({date:p(),verifiedCrawlerHits:v(),userFetchHits:v(),referralArrivals:v()})),topReferralLandingPaths:A(j({path:p(),arrivals:v(),distinctProducts:v()}))}),JO=j({provider:ie(["google","bing"]).nullable(),total:v(),indexed:v(),notIndexed:v(),deindexed:v(),unknown:v(),indexedPct:v()}),FO=j({runId:p(),date:p(),citationRate:v(),citedQueryCount:v(),totalQueryCount:v(),mentionRate:v(),mentionedQueryCount:v(),providerRates:A(j({provider:p(),citationRate:v()}))}),zf=j({id:p(),type:ie(["regression","gain","opportunity"]),severity:ie(["critical","high","medium","low"]),title:p(),query:p(),provider:p(),recommendation:p().nullable(),createdAt:p(),instanceCount:v()}),WO=j({horizon:ie(["immediate","short-term","medium-term"]),title:p(),rationale:p()}),Wr=j({current:v(),prior:v(),deltaAbs:v(),direction:ie(["up","down","flat"]),window:v().optional()}),e4=j({provider:p(),current:v(),prior:v(),deltaAbs:v(),direction:ie(["up","down","flat"])}),t4=j({enoughHistory:oe(),headline:p(),citationRate:Wr.nullable(),mentionRate:Wr.nullable(),citedQueryCount:Wr.nullable(),gscClicksDelta:Wr.nullable(),aiReferralsDelta:Wr.nullable(),providerMovements:A(e4),wins:A(zf),regressions:A(zf)});ie(["agency","client"]);const n4=ie(["agency","client","both"]),a4=ie(["immediate","short-term","medium-term"]),i4=ie(["high","medium","low"]);ie(["positive","caution","negative","neutral"]);const s4=ie(["content","competitors","provider","search-demand","indexing","location","monitoring"]),hp=j({audience:n4,priority:v(),horizon:a4,category:s4,title:p(),action:p(),why:A(p()),evidence:A(p()),successMetric:p(),confidence:i4,targetRef:p().optional()}),r4=j({headline:p(),overview:p(),actionItems:A(hp),confidenceNotes:A(p())}),o4=j({title:p(),detail:p(),severity:ie(["positive","caution","negative","neutral"]),evidence:A(p())}),l4=j({priorities:A(hp),diagnostics:A(o4)});function vL(e){return e.horizon==="immediate"?"negative":e.confidence==="high"?"caution":e.confidence==="low"?"neutral":"caution"}function SL(e){switch(e){case"critical":return"Critical";case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}function xL(e){switch(e){case"immediate":return"Immediate";case"short-term":return"Short term";case"medium-term":return"Medium term"}}function wL(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 jL(e){switch(e){case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}j({meta:MO,executiveSummary:BO,citationScorecard:qO,competitorLandscape:$O,mentionLandscape:VO,aiSourceOrigin:GO,gsc:QO.nullable(),ga:KO.nullable(),socialReferrals:ZO.nullable(),aiReferrals:YO.nullable(),serverActivity:XO.nullable(),indexingHealth:JO.nullable(),citationsTrend:A(FO),whatsChanged:t4,insights:A(zf),recommendedNextSteps:A(WO),actionPlan:A(hp),clientSummary:r4,agencyDiagnostics:l4,contentOpportunities:A(L0),contentGaps:A(U0),groundingSources:A(q0)});const c4=ie(["claude","codex"]);c4.enum;const u4=ie(["claude","codex","all"]);u4.enum;const V0=j({content:v().int().nonnegative(),sitemap:v().int().nonnegative(),robots:v().int().nonnegative(),asset:v().int().nonnegative(),other:v().int().nonnegative()}),d4=ie(["content","sitemap","robots","asset","other"]),gp=ie(["cloud-run","wordpress","cloudflare","vercel","generic-log"]);gp.enum;const f4=ie(["raw-request-events","aggregate-request-metrics","request-url","status-code","user-agent","remote-ip","referer","cursor-pull"]);f4.enum;const p4=ie(["raw-request","aggregate-bucket"]),m4=p4.enum,h4=ie(["observed","provider-aggregated","inferred"]),g4=h4.enum,y4=j({type:p().nullable(),labels:lt(p(),p())}),b4=j({sourceType:gp,evidenceKind:qt(m4["raw-request"]),confidence:qt(g4.observed),eventId:p().min(1),observedAt:p().min(1),method:p().nullable(),requestUrl:p().nullable(),host:p().nullable(),path:p().min(1),queryString:p().nullable(),status:v().int().nullable(),userAgent:p().nullable(),remoteIp:p().nullable(),referer:p().nullable(),latencyMs:v().nullable(),requestSizeBytes:v().int().nullable(),responseSizeBytes:v().int().nullable(),providerResource:y4,providerLabels:lt(p(),p())});j({events:A(b4),rawEntryCount:v().int().nonnegative(),skippedEntryCount:v().int().nonnegative(),nextPageToken:p().optional(),filter:p()});const P0=ie(["connected","paused","error","archived"]),NL=P0.enum,G0=ie(["oauth","service-account"]);G0.enum;const v4=ie(["verified","claimed_unverified","unknown_ai_like"]),kL=v4.enum;j({gcpProjectId:p().min(1),serviceName:p().nullable().optional(),location:p().nullable().optional(),authMode:G0});j({baseUrl:p().url(),username:p().min(1)});const yp=ie(["production","preview"]);yp.enum;j({projectId:p().min(1),teamId:p().min(1),environment:yp});const H0=j({id:p(),projectId:p(),sourceType:gp,displayName:p(),status:P0,lastSyncedAt:p().nullable(),lastCursor:p().nullable(),lastError:p().nullable(),archivedAt:p().nullable(),config:lt(p(),qn()),createdAt:p(),updatedAt:p()});j({gcpProjectId:p().min(1),serviceName:p().min(1).optional(),location:p().min(1).optional(),displayName:p().min(1).optional(),keyJson:p().optional()});j({baseUrl:p().url(),username:p().min(1),applicationPassword:p().min(1),displayName:p().min(1).optional()});j({projectId:p().min(1),teamId:p().min(1),token:p().min(1),environment:yp.optional(),displayName:p().min(1).optional()});j({sourceId:p(),runId:p(),syncedAt:p(),pulledEvents:v().int().nonnegative(),selfTrafficExcluded:v().int().nonnegative(),crawlerHits:v().int().nonnegative(),aiUserFetchHits:v().int().nonnegative(),aiReferralHits:v().int().nonnegative(),unknownHits:v().int().nonnegative(),crawlerBucketRows:v().int().nonnegative(),aiUserFetchBucketRows:v().int().nonnegative(),aiReferralBucketRows:v().int().nonnegative(),sampleRows:v().int().nonnegative(),windowStart:p(),windowEnd:p()});j({days:v().int().positive().optional()});j({advanceToNow:qt(!0)});j({sourceId:p(),runId:p(),status:Ys,windowStart:p(),windowEnd:p(),daysRequested:v().int().positive(),daysApplied:v().int().positive()});const S4=j({crawlerHits:v().int().nonnegative(),crawlerContentHits:v().int().nonnegative(),crawlerInfraHits:v().int().nonnegative(),crawlerSegments:V0,aiUserFetchHits:v().int().nonnegative(),aiReferralHits:v().int().nonnegative(),sampleCount:v().int().nonnegative()});j({sources:A(H0)});const x4=H0.extend({totals24h:S4,latestRun:j({runId:p(),status:Ys,startedAt:p().nullable(),finishedAt:p().nullable(),error:p().nullable()}).nullable()});j({sources:A(x4)});const w4=ie(["crawler","ai-user-fetch","ai-referral"]),bp=w4.enum,j4=j({kind:qt(bp.crawler),sourceId:p(),tsHour:p(),botId:p(),operator:p(),verificationStatus:p(),pathNormalized:p(),pathClass:d4,status:v().int(),hits:v().int().nonnegative()}),N4=j({kind:qt(bp["ai-user-fetch"]),sourceId:p(),tsHour:p(),botId:p(),operator:p(),verificationStatus:p(),pathNormalized:p(),status:v().int(),hits:v().int().nonnegative()}),k4=j({kind:qt(bp["ai-referral"]),sourceId:p(),tsHour:p(),product:p(),operator:p(),sourceDomain:p(),evidenceType:p(),landingPathNormalized:p(),status:v().int(),hits:v().int().nonnegative()}),A4=p0("kind",[j4,N4,k4]);j({windowStart:p(),windowEnd:p(),totals:j({crawlerHits:v().int().nonnegative(),crawlerContentHits:v().int().nonnegative(),crawlerInfraHits:v().int().nonnegative(),crawlerSegments:V0,aiUserFetchHits:v().int().nonnegative(),aiReferralHits:v().int().nonnegative()}),events:A(A4)});j({apiKey:p().min(1)});j({connected:oe(),adAccountId:p().nullable().optional(),displayName:p().nullable().optional(),currencyCode:p().nullable().optional(),timezone:p().nullable().optional(),status:p().nullable().optional(),lastSyncedAt:p().nullable().optional()});j({disconnected:oe()});j({runId:p(),status:p()});const _4=j({type:p().nullable().optional(),title:p().nullable().optional(),body:p().nullable().optional(),targetUrl:p().nullable().optional()}),C4=j({id:p(),adGroupId:p(),name:p(),status:p(),reviewStatus:p().nullable().optional(),creative:_4.nullable().optional()}),z4=j({id:p(),campaignId:p(),name:p(),status:p(),billingEventType:p().nullable().optional(),maxBidMicros:v().int().nullable().optional(),contextHints:A(p()).default([]),ads:A(C4).default([])}),T4=j({id:p(),name:p(),status:p(),biddingType:p().nullable().optional(),dailySpendLimitMicros:v().int().nullable().optional(),lifetimeSpendLimitMicros:v().int().nullable().optional(),adGroups:A(z4).default([])});j({campaigns:A(T4)});const Q0=ie(["campaign","ad_group"]);Q0.enum;const E4=j({level:Q0,entityId:p(),date:p(),impressions:v().int(),clicks:v().int(),spendMicros:v().int(),ctr:v().nullable(),cpcMicros:v().int().nullable()});j({rows:A(E4),currencyCode:p().nullable().optional()});const O4=j({impressions:v().int(),clicks:v().int(),spendMicros:v().int(),ctr:v().nullable(),cpcMicros:v().int().nullable()});j({connected:oe(),displayName:p().nullable().optional(),currencyCode:p().nullable().optional(),lastSyncedAt:p().nullable().optional(),campaignCount:v().int(),adGroupCount:v().int(),adCount:v().int(),window:j({from:p().nullable(),to:p().nullable()}),totals:O4});var D4=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(D4||{});const AL={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},_L={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},CL=ip;function R4(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 o0(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},S=h.ref;if(h.ref=null,S){r(S);const N=e.seen.get(S),_=N.schema;if(_.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(g.allOf=g.allOf??[],g.allOf.push(_)):Object.assign(g,_),Object.assign(g,b),d._zod.parent===S)for(const k in g)k==="$ref"||k==="allOf"||k in b||delete g[k];if(_.$ref&&N.def)for(const k in g)k==="$ref"||k==="allOf"||k in N.def&&JSON.stringify(g[k])===JSON.stringify(N.def[k])&&delete g[k]}const x=d._zod.parent;if(x&&x!==S){r(x);const N=e.seen.get(x);if(N?.schema.$ref&&(g.$ref=N.schema.$ref,N.def))for(const _ in g)_==="$ref"||_==="allOf"||_ in N.def&&JSON.stringify(g[_])===JSON.stringify(N.def[_])&&delete g[_]}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:rc(n,"input",e.processors),output:rc(n,"output",e.processors)}},enumerable:!1,writable:!1}),d}catch{throw new Error("Error converting schema to JSON.")}}function Pt(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 Pt(r.element,i);if(r.type==="set")return Pt(r.valueType,i);if(r.type==="lazy")return Pt(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 Pt(r.innerType,i);if(r.type==="intersection")return Pt(r.left,i)||Pt(r.right,i);if(r.type==="record"||r.type==="map")return Pt(r.keyType,i)||Pt(r.valueType,i);if(r.type==="pipe")return Pt(r.in,i)||Pt(r.out,i);if(r.type==="object"){for(const l in r.shape)if(Pt(r.shape[l],i))return!0;return!1}if(r.type==="union"){for(const l of r.options)if(Pt(l,i))return!0;return!1}if(r.type==="tuple"){for(const l of r.items)if(Pt(l,i))return!0;return!!(r.rest&&Pt(r.rest,i))}return!1}const ZC=(e,n={})=>i=>{const r=s0({...i,processors:n});return kt(e,r),r0(r,e),o0(r,e)},rc=(e,n,i={})=>r=>{const{libraryOptions:l,target:c}=r??{},d=s0({...l??{},target:c,io:n,processors:i});return kt(e,d),r0(d,e),o0(d,e)},YC={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},XC=(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=YC[h]??h,l.format===""&&delete l.format,h==="time"&&delete l.format),b&&(l.contentEncoding=b),g&&g.size>0){const S=[...g];S.length===1?l.pattern=S[0].source:S.length>1&&(l.allOf=[...S.map(x=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:x.source}))])}},JC=(e,n,i,r)=>{const l=i,{minimum:c,maximum:d,format:h,multipleOf:g,exclusiveMaximum:b,exclusiveMinimum:S}=e._zod.bag;typeof h=="string"&&h.includes("int")?l.type="integer":l.type="number",typeof S=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(l.minimum=S,l.exclusiveMinimum=!0):l.exclusiveMinimum=S),typeof c=="number"&&(l.minimum=c,typeof S=="number"&&n.target!=="draft-04"&&(S>=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)},FC=(e,n,i,r)=>{i.type="boolean"},WC=(e,n,i,r)=>{i.not={}},ez=(e,n,i,r)=>{},tz=(e,n,i,r)=>{const l=e._zod.def,c=qv(l.entries);c.every(d=>typeof d=="number")&&(i.type="number"),c.every(d=>typeof d=="string")&&(i.type="string"),i.enum=c},nz=(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},az=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},iz=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},sz=(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"]})},rz=(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 S=c.shape[b]._zod;return n.io==="input"?S.optin===void 0:S.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)},oz=(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},lz=(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},cz=(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 S=kt(c.valueType,n,{...r,path:[...r.path,"patternProperties","*"]});l.patternProperties={};for(const x of g)l.patternProperties[x.source]=S}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 S=[...b].filter(x=>typeof x=="string"||typeof x=="number");S.length>0&&(l.required=S)}},uz=(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"}]},dz=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType},fz=(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))},pz=(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)))},mz=(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},hz=(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},gz=(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},l0=(e,n,i,r)=>{const l=e._zod.def;kt(l.innerType,n,r);const c=n.seen.get(e);c.ref=l.innerType},yz=H("ZodISODateTime",(e,n)=>{b_.init(e,n),ft.init(e,n)});function bz(e){return NC(yz,e)}const vz=H("ZodISODate",(e,n)=>{v_.init(e,n),ft.init(e,n)});function Sz(e){return kC(vz,e)}const xz=H("ZodISOTime",(e,n)=>{S_.init(e,n),ft.init(e,n)});function wz(e){return AC(xz,e)}const jz=H("ZodISODuration",(e,n)=>{x_.init(e,n),ft.init(e,n)});function Nz(e){return _C(jz,e)}const kz=(e,n)=>{Vv.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>d2(e,i)},flatten:{value:i=>u2(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,Nf,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,Nf,2)}},isEmpty:{get(){return e.issues.length===0}}})},_n=H("ZodError",kz,{Parent:Error}),Az=Wf(_n),_z=ep(_n),Cz=bc(_n),zz=vc(_n),Tz=m2(_n),Ez=h2(_n),Oz=g2(_n),Dz=y2(_n),Rz=b2(_n),Mz=v2(_n),Bz=S2(_n),Lz=x2(_n),dt=H("ZodType",(e,n)=>(ut.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:rc(e,"input"),output:rc(e,"output")}}),e.toJSONSchema=ZC(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.check=(...i)=>e.clone(Fa(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)=>Wa(e,i,r),e.brand=()=>e,e.register=((i,r)=>(i.add(e,r),e)),e.parse=(i,r)=>Az(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>Cz(e,i,r),e.parseAsync=async(i,r)=>_z(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>zz(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>Tz(e,i,r),e.decode=(i,r)=>Ez(e,i,r),e.encodeAsync=async(i,r)=>Oz(e,i,r),e.decodeAsync=async(i,r)=>Dz(e,i,r),e.safeEncode=(i,r)=>Rz(e,i,r),e.safeDecode=(i,r)=>Mz(e,i,r),e.safeEncodeAsync=async(i,r)=>Bz(e,i,r),e.safeDecodeAsync=async(i,r)=>Lz(e,i,r),e.refine=(i,r)=>e.check(TT(i,r)),e.superRefine=i=>e.check(ET(i)),e.overwrite=i=>e.check(Ks(i)),e.optional=()=>gb(e),e.exactOptional=()=>yT(e),e.nullable=()=>yb(e),e.nullish=()=>gb(yb(e)),e.nonoptional=i=>jT(e,i),e.array=()=>A(e),e.or=i=>f0([e,i]),e.and=i=>dT(e,i),e.transform=i=>bb(e,hT(i)),e.default=i=>ST(e,i),e.prefault=i=>wT(e,i),e.catch=i=>kT(e,i),e.pipe=i=>bb(e,i),e.readonly=()=>CT(e),e.describe=i=>{const r=e.clone();return io.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return io.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return io.get(e);const r=e.clone();return io.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),c0=H("_ZodString",(e,n)=>{tp.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(r,l,c)=>XC(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(DC(...r)),e.includes=(...r)=>e.check(BC(...r)),e.startsWith=(...r)=>e.check(LC(...r)),e.endsWith=(...r)=>e.check(qC(...r)),e.min=(...r)=>e.check(sc(...r)),e.max=(...r)=>e.check(a0(...r)),e.length=(...r)=>e.check(i0(...r)),e.nonempty=(...r)=>e.check(sc(1,...r)),e.lowercase=r=>e.check(RC(r)),e.uppercase=r=>e.check(MC(r)),e.trim=()=>e.check($C()),e.normalize=(...r)=>e.check(UC(...r)),e.toLowerCase=()=>e.check(IC()),e.toUpperCase=()=>e.check(VC()),e.slugify=()=>e.check(PC())}),qz=H("ZodString",(e,n)=>{tp.init(e,n),c0.init(e,n),e.email=i=>e.check(aC(Uz,i)),e.url=i=>e.check(lC($z,i)),e.jwt=i=>e.check(jC(tT,i)),e.emoji=i=>e.check(cC(Iz,i)),e.guid=i=>e.check(ub(mb,i)),e.uuid=i=>e.check(iC(Vl,i)),e.uuidv4=i=>e.check(sC(Vl,i)),e.uuidv6=i=>e.check(rC(Vl,i)),e.uuidv7=i=>e.check(oC(Vl,i)),e.nanoid=i=>e.check(uC(Vz,i)),e.guid=i=>e.check(ub(mb,i)),e.cuid=i=>e.check(dC(Pz,i)),e.cuid2=i=>e.check(fC(Gz,i)),e.ulid=i=>e.check(pC(Hz,i)),e.base64=i=>e.check(SC(Fz,i)),e.base64url=i=>e.check(xC(Wz,i)),e.xid=i=>e.check(mC(Qz,i)),e.ksuid=i=>e.check(hC(Kz,i)),e.ipv4=i=>e.check(gC(Zz,i)),e.ipv6=i=>e.check(yC(Yz,i)),e.cidrv4=i=>e.check(bC(Xz,i)),e.cidrv6=i=>e.check(vC(Jz,i)),e.e164=i=>e.check(wC(eT,i)),e.datetime=i=>e.check(bz(i)),e.date=i=>e.check(Sz(i)),e.time=i=>e.check(wz(i)),e.duration=i=>e.check(Nz(i))});function p(e){return nC(qz,e)}const ft=H("ZodStringFormat",(e,n)=>{ct.init(e,n),c0.init(e,n)}),Uz=H("ZodEmail",(e,n)=>{c_.init(e,n),ft.init(e,n)}),mb=H("ZodGUID",(e,n)=>{o_.init(e,n),ft.init(e,n)}),Vl=H("ZodUUID",(e,n)=>{l_.init(e,n),ft.init(e,n)}),$z=H("ZodURL",(e,n)=>{u_.init(e,n),ft.init(e,n)}),Iz=H("ZodEmoji",(e,n)=>{d_.init(e,n),ft.init(e,n)}),Vz=H("ZodNanoID",(e,n)=>{f_.init(e,n),ft.init(e,n)}),Pz=H("ZodCUID",(e,n)=>{p_.init(e,n),ft.init(e,n)}),Gz=H("ZodCUID2",(e,n)=>{m_.init(e,n),ft.init(e,n)}),Hz=H("ZodULID",(e,n)=>{h_.init(e,n),ft.init(e,n)}),Qz=H("ZodXID",(e,n)=>{g_.init(e,n),ft.init(e,n)}),Kz=H("ZodKSUID",(e,n)=>{y_.init(e,n),ft.init(e,n)}),Zz=H("ZodIPv4",(e,n)=>{w_.init(e,n),ft.init(e,n)}),Yz=H("ZodIPv6",(e,n)=>{j_.init(e,n),ft.init(e,n)}),Xz=H("ZodCIDRv4",(e,n)=>{N_.init(e,n),ft.init(e,n)}),Jz=H("ZodCIDRv6",(e,n)=>{k_.init(e,n),ft.init(e,n)}),Fz=H("ZodBase64",(e,n)=>{A_.init(e,n),ft.init(e,n)}),Wz=H("ZodBase64URL",(e,n)=>{C_.init(e,n),ft.init(e,n)}),eT=H("ZodE164",(e,n)=>{z_.init(e,n),ft.init(e,n)}),tT=H("ZodJWT",(e,n)=>{E_.init(e,n),ft.init(e,n)}),u0=H("ZodNumber",(e,n)=>{Fv.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(r,l,c)=>JC(e,r,l),e.gt=(r,l)=>e.check(fb(r,l)),e.gte=(r,l)=>e.check(sf(r,l)),e.min=(r,l)=>e.check(sf(r,l)),e.lt=(r,l)=>e.check(db(r,l)),e.lte=(r,l)=>e.check(af(r,l)),e.max=(r,l)=>e.check(af(r,l)),e.int=r=>e.check(hb(r)),e.safe=r=>e.check(hb(r)),e.positive=r=>e.check(fb(0,r)),e.nonnegative=r=>e.check(sf(0,r)),e.negative=r=>e.check(db(0,r)),e.nonpositive=r=>e.check(af(0,r)),e.multipleOf=(r,l)=>e.check(pb(r,l)),e.step=(r,l)=>e.check(pb(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 v(e){return CC(u0,e)}const nT=H("ZodNumberFormat",(e,n)=>{O_.init(e,n),u0.init(e,n)});function hb(e){return zC(nT,e)}const aT=H("ZodBoolean",(e,n)=>{D_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>FC(e,i,r)});function oe(e){return TC(aT,e)}const iT=H("ZodUnknown",(e,n)=>{R_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>ez()});function qn(){return EC(iT)}const sT=H("ZodNever",(e,n)=>{M_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>WC(e,i,r)});function rT(e){return OC(sT,e)}const oT=H("ZodArray",(e,n)=>{B_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>sz(e,i,r,l),e.element=n.element,e.min=(i,r)=>e.check(sc(i,r)),e.nonempty=i=>e.check(sc(1,i)),e.max=(i,r)=>e.check(a0(i,r)),e.length=(i,r)=>e.check(i0(i,r)),e.unwrap=()=>e.element});function A(e,n){return GC(oT,e,n)}const lT=H("ZodObject",(e,n)=>{q_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>rz(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:qn()}),e.loose=()=>e.clone({...e._zod.def,catchall:qn()}),e.strict=()=>e.clone({...e._zod.def,catchall:rT()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>s2(e,i),e.safeExtend=i=>r2(e,i),e.merge=i=>o2(e,i),e.pick=i=>a2(e,i),e.omit=i=>i2(e,i),e.partial=(...i)=>l2(m0,e,i[0]),e.required=(...i)=>c2(h0,e,i[0])});function j(e,n){const i={type:"object",shape:e??{},...ye(n)};return new lT(i)}const d0=H("ZodUnion",(e,n)=>{t0.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>oz(e,i,r,l),e.options=n.options});function f0(e,n){return new d0({type:"union",options:e,...ye(n)})}const cT=H("ZodDiscriminatedUnion",(e,n)=>{d0.init(e,n),U_.init(e,n)});function p0(e,n,i){return new cT({type:"union",options:n,discriminator:e,...ye(i)})}const uT=H("ZodIntersection",(e,n)=>{$_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>lz(e,i,r,l)});function dT(e,n){return new uT({type:"intersection",left:e,right:n})}const fT=H("ZodRecord",(e,n)=>{I_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>cz(e,i,r,l),e.keyType=n.keyType,e.valueType=n.valueType});function lt(e,n,i){return new fT({type:"record",keyType:e,valueType:n,...ye(i)})}const Af=H("ZodEnum",(e,n)=>{V_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(r,l,c)=>tz(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 Af({...n,checks:[],...ye(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 Af({...n,checks:[],...ye(l),entries:c})}});function ie(e,n){const i=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new Af({type:"enum",entries:i,...ye(n)})}const pT=H("ZodLiteral",(e,n)=>{P_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>nz(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 qt(e,n){return new pT({type:"literal",values:Array.isArray(e)?e:[e],...ye(n)})}const mT=H("ZodTransform",(e,n)=>{G_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>iz(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new Bv(e.constructor.name);i.addIssue=c=>{if(typeof c=="string")i.issues.push(uo(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(uo(d))}};const l=n.transform(i.value,i);return l instanceof Promise?l.then(c=>(i.value=c,i)):(i.value=l,i)}});function hT(e){return new mT({type:"transform",transform:e})}const m0=H("ZodOptional",(e,n)=>{n0.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>l0(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function gb(e){return new m0({type:"optional",innerType:e})}const gT=H("ZodExactOptional",(e,n)=>{H_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>l0(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function yT(e){return new gT({type:"optional",innerType:e})}const bT=H("ZodNullable",(e,n)=>{Q_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>uz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function yb(e){return new bT({type:"nullable",innerType:e})}const vT=H("ZodDefault",(e,n)=>{K_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>fz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ST(e,n){return new vT({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():$v(n)}})}const xT=H("ZodPrefault",(e,n)=>{Z_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>pz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function wT(e,n){return new xT({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():$v(n)}})}const h0=H("ZodNonOptional",(e,n)=>{Y_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>dz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function jT(e,n){return new h0({type:"nonoptional",innerType:e,...ye(n)})}const NT=H("ZodCatch",(e,n)=>{X_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>mz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function kT(e,n){return new NT({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const AT=H("ZodPipe",(e,n)=>{J_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>hz(e,i,r,l),e.in=n.in,e.out=n.out});function bb(e,n){return new AT({type:"pipe",in:e,out:n})}const _T=H("ZodReadonly",(e,n)=>{F_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>gz(e,i,r,l),e.unwrap=()=>e._zod.def.innerType});function CT(e){return new _T({type:"readonly",innerType:e})}const zT=H("ZodCustom",(e,n)=>{W_.init(e,n),dt.init(e,n),e._zod.processJSONSchema=(i,r,l)=>az(e,i)});function TT(e,n={}){return HC(zT,e,n)}function ET(e){return QC(e)}const g0=j({id:p(),name:p(),keyPrefix:p(),scopes:A(p()),readOnly:oe(),createdAt:p(),lastUsedAt:p().nullable(),revokedAt:p().nullable()});j({keys:A(g0)});j({name:p().min(1).max(100),scopes:A(p()).min(1).optional()});g0.extend({key:p()});const OT=j({maxConcurrency:v().int().positive(),maxRequestsPerMinute:v().int().positive(),maxRequestsPerDay:v().int().positive()}),ya=p().min(1);p().min(1);const np=j({label:p().min(1),city:p().min(1),region:p().min(1),country:p().length(2),timezone:p().optional()}),ap=ie(["citation.lost","citation.gained","run.completed","run.failed","insight.critical","insight.high"]);j({id:p(),projectId:p(),channel:qt("webhook"),url:p().url(),urlDisplay:p(),urlHost:p(),events:A(ap),enabled:oe().default(!0),source:p().optional(),webhookSecret:p().optional(),createdAt:p(),updatedAt:p()});j({channel:qt("webhook"),url:p().url(),events:A(ap).min(1),source:p().optional()});const y0=ie(["cli","api","config-file"]);function DT(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 RT(e,n){return n?e.some(i=>i.label===n):!0}j({displayName:p().min(1),canonicalDomain:p().min(1),ownedDomains:A(p().min(1)).optional(),aliases:A(p()).optional(),country:p().length(2),language:p().min(2),tags:A(p()).optional(),labels:lt(p(),p()).optional(),providers:A(ya).optional(),locations:A(np).optional(),defaultLocation:p().nullable().optional(),autoExtractBacklinks:oe().optional(),configSource:y0.optional()});const MT=j({id:p(),name:p(),displayName:p().optional(),canonicalDomain:p(),ownedDomains:A(p()).default([]),aliases:A(p()).default([]),country:p().length(2),language:p().min(2),tags:A(p()).default([]),labels:lt(p(),p()).default({}),providers:A(p()).default([]),locations:A(np).default([]),defaultLocation:p().nullable().optional(),autoExtractBacklinks:oe().default(!1),configSource:y0.default("cli"),configRevision:v().int().positive().default(1),createdAt:p().optional(),updatedAt:p().optional()});j({id:p(),query:p(),createdAt:p()});j({id:p(),keyword:p(),createdAt:p()});j({queries:A(p().trim().min(1)).min(1)});j({keywords:A(p().trim().min(1)).min(1)});j({provider:ya,count:v().int().min(1).max(20).optional()});j({id:p(),domain:p(),createdAt:p()});j({competitors:A(p().trim().min(1)).min(1)});function oc(e){let n=e.trim().toLowerCase();try{n.includes("://")&&(n=new URL(n).hostname.toLowerCase())}catch{}return n.replace(/^www\./,"")}const BT=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 LT(e){const n=oc(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 BT.has(l)?r.length>=3?r.slice(-3).join("."):"":r.slice(-2).join(".")}function qT(e){const n=LT(e);return n?n.split(".")[0]??"":""}function UT(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=oc(c);i.has(d)||(i.add(d),r.push(c))}return r}const $T=j({name:p().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:lt(p(),p()).optional().default({})}),IT=j({preset:p().optional(),cron:p().optional(),timezone:p().optional().default("UTC"),providers:A(ya).optional().default([])}).refine(e=>e.preset&&!e.cron||!e.preset&&e.cron,{message:'Exactly one of "preset" or "cron" must be provided'}).optional(),VT=j({channel:qt("webhook"),url:p().url(),events:A(ap).min(1)}),PT=j({gsc:j({propertyUrl:p()}).optional(),syncSchedule:j({preset:p().optional(),cron:p().optional()}).optional()}).optional(),vb=A(p().min(1)),GT=j({displayName:p().min(1),canonicalDomain:p().min(1),ownedDomains:A(p().min(1)).optional().default([]),aliases:A(p().min(1)).optional().default([]),country:p().length(2),language:p().min(2),queries:vb.optional(),keywords:vb.optional(),competitors:A(p().min(1)).optional().default([]),providers:A(ya).optional().default([]),locations:A(np).optional().default([]),defaultLocation:p().optional(),schedule:IT,notifications:A(VT).optional().default([]),google:PT,autoExtractBacklinks:oe().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=DT(e.locations);i.length>0&&n.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${i.join(", ")}`,path:["locations"]}),RT(e.locations,e.defaultLocation)||n.addIssue({code:"custom",message:`defaultLocation "${e.defaultLocation}" must match a configured location label`,path:["defaultLocation"]})});j({apiVersion:qt("canonry/v1"),kind:qt("Project"),metadata:$T,spec:GT});const HT=ie(["gsc","ga4","gbp"]);j({id:p(),domain:p(),connectionType:HT,propertyId:p().nullable().optional(),sitemapUrl:p().nullable().optional(),scopes:A(p()).default([]),createdAt:p(),updatedAt:p()});j({date:p(),query:p(),page:p(),country:p().nullable().optional(),device:p().nullable().optional(),clicks:v(),impressions:v(),ctr:v(),position:v()});const QT=j({date:p(),clicks:v(),impressions:v(),ctr:v()});j({totals:j({clicks:v(),impressions:v(),ctr:v(),days:v()}),daily:A(QT)});const _f=j({id:p(),url:p(),indexingState:p().nullable().optional(),verdict:p().nullable().optional(),coverageState:p().nullable().optional(),pageFetchState:p().nullable().optional(),robotsTxtState:p().nullable().optional(),crawlTime:p().nullable().optional(),lastCrawlResult:p().nullable().optional(),isMobileFriendly:oe().nullable().optional(),richResults:A(p()).default([]),referringUrls:A(p()).default([]),inspectedAt:p()});ie(["stable","reindexed","deindexed","still-missing","new"]);const KT=j({url:p(),previousState:p().nullable(),currentState:p().nullable(),transitionDate:p()}),ZT=j({reason:p(),count:v(),urls:A(_f).default([])});j({summary:j({total:v(),indexed:v(),notIndexed:v(),deindexed:v(),percentage:v()}),lastInspectedAt:p().nullable(),lastSyncedAt:p().nullable(),indexed:A(_f).default([]),notIndexed:A(_f).default([]),deindexed:A(KT).default([]),reasonGroups:A(ZT).default([])});j({url:p(),type:ie(["URL_UPDATED","URL_DELETED"]),notifiedAt:p()});const YT=j({url:p(),type:ie(["URL_UPDATED","URL_DELETED"]),notifiedAt:p(),status:ie(["success","error"]),error:p().optional()});j({summary:j({total:v().int().nonnegative(),succeeded:v().int().nonnegative(),failed:v().int().nonnegative()}),results:A(YT).default([])});j({date:p(),indexed:v(),notIndexed:v(),reasonBreakdown:lt(p(),v()).default({})});const XT=j({siteUrl:p(),permissionLevel:p()});j({sites:A(XT).default([])});const JT=j({type:p(),submitted:p(),indexed:p()}),FT=j({path:p(),lastSubmitted:p().optional(),isPending:oe().optional(),isSitemapsIndex:oe().optional(),type:p().optional(),lastDownloaded:p().optional(),warnings:p().optional(),errors:p().optional(),contents:A(JT).optional()});j({sitemaps:A(FT).default([])});const WT=j({name:p(),accountName:p().nullable(),type:p().nullable(),role:p().nullable()});j({accounts:A(WT),total:v().int().nonnegative()});const eE=j({id:p(),projectId:p(),accountName:p(),locationName:p(),displayName:p(),primaryCategoryDisplayName:p().nullable(),storefrontAddress:p().nullable(),websiteUri:p().nullable(),placeId:p().nullable(),mapsUri:p().nullable(),additionalCategories:A(p()),description:p().nullable(),serviceArea:lt(p(),qn()).nullable(),regularHours:lt(p(),qn()).nullable(),primaryPhone:p().nullable(),openStatus:p().nullable(),openingDate:p().nullable(),selected:oe(),syncedAt:p().nullable(),createdAt:p(),updatedAt:p()});j({locations:A(eE),totalDiscovered:v().int().nonnegative(),totalSelected:v().int().nonnegative()});j({selectAllNew:oe().default(!0),accountName:p().optional(),switchAccount:oe().default(!1)});j({selected:oe()});j({locationNames:A(p()).optional(),daysOfMetrics:v().int().positive().max(540).optional(),monthsOfKeywords:v().int().positive().max(18).optional()});j({runId:p(),status:p()});const tE=j({locationName:p(),date:p(),metric:p(),value:v().int()});j({metrics:A(tE),total:v().int().nonnegative()});const nE=j({locationName:p(),periodStart:p(),periodEnd:p(),keyword:p(),valueCount:v().int().nullable(),valueThreshold:v().int().nullable()});j({keywords:A(nE),total:v().int().nonnegative(),thresholdedPct:v().int().min(0).max(100)});const aE=j({locationName:p(),placeActionLinkName:p(),placeActionType:p(),uri:p().nullable(),isPreferred:oe(),providerType:p().nullable()});j({placeActions:A(aE),total:v().int().nonnegative()});const iE=j({locationName:p(),populatedGroupCount:v().int().nonnegative(),syncedAt:p(),attributes:lt(p(),qn())});j({lodging:A(iE),total:v().int().nonnegative()});const sE=j({locationName:p(),placeId:p(),tier:p(),amenities:A(p()),syncedAt:p(),place:lt(p(),qn())});j({places:A(sE),total:v().int().nonnegative()});j({scope:j({locationName:p().nullable(),locationCount:v().int().nonnegative()}),performance:j({totals:lt(p(),v()),recent7d:lt(p(),v()),prior7d:lt(p(),v()),deltaPct:lt(p(),v().nullable())}),freshness:j({dataThroughDate:p().nullable(),latestStoredDate:p().nullable(),pendingDays:v().int().nonnegative()}),timeseries:A(j({date:p(),pending:oe(),metrics:lt(p(),v())})),keywords:j({total:v().int().nonnegative(),thresholdedCount:v().int().nonnegative(),thresholdedPct:v().int().min(0).max(100)}),placeActions:j({total:v().int().nonnegative(),hasReservationCta:oe(),hasBookingCta:oe(),hasDirectMerchantCta:oe()}),lodging:j({lodgingLocationCount:v().int().nonnegative(),populatedLodgingCount:v().int().nonnegative(),emptyLodgingCount:v().int().nonnegative()}),profileCompleteness:j({locationCount:v().int().nonnegative(),withSecondaryCategories:v().int().nonnegative(),secondaryCategoryTotal:v().int().nonnegative(),withDescription:v().int().nonnegative(),withServiceArea:v().int().nonnegative(),withHours:v().int().nonnegative(),withPrimaryPhone:v().int().nonnegative(),permanentlyClosed:v().int().nonnegative(),temporarilyClosed:v().int().nonnegative()})});const rE={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 oE(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 gL(e){return rE[e]??oE(e)}const lE=["BUSINESS_DIRECTION_REQUESTS","WEBSITE_CLICKS","CALL_CLICKS"],cE=["BUSINESS_IMPRESSIONS_DESKTOP_SEARCH","BUSINESS_IMPRESSIONS_MOBILE_SEARCH","BUSINESS_IMPRESSIONS_DESKTOP_MAPS","BUSINESS_IMPRESSIONS_MOBILE_MAPS"];function yL(e){return lE.includes(e)?"conversion":cE.includes(e)?"reach":"other"}j({id:p(),domain:p(),siteUrl:p().nullable().optional(),createdAt:p(),updatedAt:p()});const rf=j({id:p(),url:p(),httpCode:v().nullable().optional(),inIndex:oe().nullable().optional(),lastCrawledDate:p().nullable().optional(),inIndexDate:p().nullable().optional(),inspectedAt:p(),documentSize:v().nullable().optional(),anchorCount:v().nullable().optional(),discoveryDate:p().nullable().optional()});j({summary:j({total:v(),indexed:v(),notIndexed:v(),unknown:v().optional(),percentage:v()}),lastInspectedAt:p().nullable(),indexed:A(rf).default([]),notIndexed:A(rf).default([]),unknown:A(rf).default([]).optional()});j({query:p(),impressions:v(),clicks:v(),ctr:v(),averagePosition:v()});j({date:p(),indexed:v(),notIndexed:v(),unknown:v()});const uE=j({url:p(),status:ie(["success","error"]),submittedAt:p(),error:p().optional()});j({summary:j({total:v().int().nonnegative(),succeeded:v().int().nonnegative(),failed:v().int().nonnegative()}),results:A(uE).default([])});const b0=j({url:p(),verified:oe()});j({sites:A(b0).default([])});j({connected:oe(),domain:p(),siteUrl:p().nullable(),createdAt:p().nullable(),updatedAt:p().nullable()});j({connected:oe(),domain:p(),siteUrl:p().nullable(),availableSites:A(b0).default([])});j({siteUrl:p()});const dE=j({name:p(),alive:oe(),lastUsed:p().nullable()});j({connected:oe(),endpoint:p(),version:p().optional(),browserVersion:p().optional(),targets:A(dE).default([])});const Zs=ie(["live","staging"]);j({projectName:p(),url:p(),stagingUrl:p().optional(),username:p(),defaultEnv:Zs,createdAt:p(),updatedAt:p()});const Sb=j({url:p(),reachable:oe(),pageCount:v().nullable().optional(),version:p().nullable().optional(),error:p().nullable().optional(),plugins:A(p()).optional(),authenticatedUser:j({id:v(),slug:p()}).nullable().optional()});j({connected:oe(),projectName:p(),defaultEnv:Zs,live:Sb.nullable(),staging:Sb.nullable(),adminUrl:p().nullable().optional()});const fE=j({id:v(),slug:p(),title:p(),status:p(),modifiedAt:p().nullable().optional(),link:p().nullable().optional()}),v0=j({title:p().nullable(),description:p().nullable(),noindex:oe().nullable(),writable:oe().default(!1),writeTargets:A(p()).default([])}),pE=j({type:p(),json:lt(p(),qn())}),mE=fE.extend({env:Zs,content:p(),seo:v0,schemaBlocks:A(pE).default([])}),xb=mE.extend({contentHash:p(),contentSnippet:p()}),S0=j({manualRequired:qt(!0),targetUrl:p(),adminUrl:p().nullable().optional(),content:p(),nextSteps:A(p()).default([])}),hE=j({slug:p(),severity:ie(["high","medium","low"]),code:ie(["noindex","missing-seo-title","missing-meta-description","missing-schema","thin-content"]),message:p()});j({slug:p(),title:p(),status:p(),wordCount:v(),seo:v0,schemaPresent:oe(),issues:A(hE).default([])});const gE=j({slug:p(),status:ie(["applied","skipped","manual"]),error:p().optional(),manualAssist:S0.optional()});j({env:Zs,strategy:ie(["plugin","manual"]),results:A(gE)});const yE=j({slug:p(),status:ie(["deployed","stripped","skipped","failed"]),schemasInjected:A(p()).optional(),manualAssist:S0.optional(),error:p().optional()});j({env:Zs,results:A(yE)});const bE=j({slug:p(),title:p(),canonrySchemas:A(p()),thirdPartySchemas:A(p()),hasCanonrySchema:oe()});j({env:Zs,pages:A(bE)});const vE=j({name:p(),status:ie(["completed","skipped","failed"]),summary:p().optional(),error:p().optional()});j({projectName:p(),steps:A(vE)});j({slug:p(),live:xb,staging:xb,hasDifferences:oe(),differences:j({title:oe(),slug:oe(),content:oe(),seoTitle:oe(),seoDescription:oe(),noindex:oe(),schema:oe()})});const SE=j({name:p(),displayName:p().optional(),keyUrl:p().optional(),modelHint:p().optional(),model:p().optional(),defaultModel:p().optional(),configured:oe(),quota:OT.optional(),vertexConfigured:oe().optional()}),wb=j({configured:oe()});j({providers:A(SE).default([]),google:wb,bing:wb});const Ys=ie(["queued","running","completed","partial","failed","cancelled"]),Ht=Ys.enum,x0=ie(["answer-visibility","site-audit","gsc-sync","inspect-sitemap","ga-sync","bing-inspect","bing-inspect-sitemap","backlink-extract","traffic-sync","aeo-discover-seed","aeo-discover-probe","gbp-sync","ads-sync"]),Ne=x0.enum,w0=ie(["manual","scheduled","config-apply","backfill","probe"]),Bs=w0.enum,Ai=ie(["cited","not-cited"]),lc=Ai.enum,cc=ie(["visible","not-visible"]);cc.enum;const uc=ie(["mentioned","not-mentioned"]);uc.enum;const j0=ie(["new","cited","lost","emerging","not-cited"]);j0.enum;const xE=ie(["new","mentioned","lost","emerging","not-mentioned"]);xE.enum;const wE=ie([Bs.manual,Bs.probe]);j({kind:qt(Ne["answer-visibility"]).optional(),trigger:wE.optional(),providers:A(ya).optional(),queries:A(p().min(1)).min(1).optional(),location:p().min(1).optional(),allLocations:oe().optional(),noLocation:oe().optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const jE=j({message:p(),raw:qn().optional()}),NE=j({message:p().optional(),providers:lt(p(),jE).optional()}),kE=j({id:p(),projectId:p(),kind:x0,status:Ys,trigger:w0.default("manual"),location:p().nullable().optional(),queries:A(p()).nullable().optional(),startedAt:p().nullable().optional(),finishedAt:p().nullable().optional(),error:NE.nullable().optional(),createdAt:p()});function ip(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 N0=j({uri:p(),title:p()}),k0=j({id:p(),runId:p(),queryId:p(),query:p().optional(),provider:ya,citationState:Ai,answerMentioned:oe().optional(),visibilityState:cc.optional(),mentionState:uc.optional(),transition:j0.optional(),answerText:p().nullable().optional(),citedDomains:A(p()).default([]),competitorOverlap:A(p()).default([]),recommendedCompetitors:A(p()).default([]),matchedTerms:A(p()).default([]),groundingSources:A(N0).default([]),searchQueries:A(p()).default([]),model:p().nullable().optional(),location:p().nullable().optional(),createdAt:p()});j({snapshots:A(k0),total:v().int().nonnegative()});const AE=j({queryId:p().nullable(),query:p().nullable(),run1State:Ai.nullable(),run2State:Ai.nullable(),run1AnswerMentioned:oe().nullable(),run2AnswerMentioned:oe().nullable(),run1VisibilityState:cc.nullable(),run2VisibilityState:cc.nullable(),run1MentionState:uc.nullable().optional(),run2MentionState:uc.nullable().optional(),changed:oe(),visibilityChanged:oe()});j({run1:p(),run2:p(),diff:A(AE)});const _E=kE.extend({snapshots:A(k0).optional()}),CE=j({totalRuns:v().int().nonnegative(),run:_E.nullable()});j({id:p(),projectId:p().nullable().optional(),actor:p(),action:p(),entityType:p(),entityId:p().nullable().optional(),diff:qn().optional(),createdAt:p()});const zE=ie(["yes","no","unknown","not-mentioned"]),jb=A(p().min(1));j({companyName:p().min(1),domain:p().min(1),queries:jb.optional(),phrases:jb.optional(),competitors:A(p().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 TE=j({name:p(),count:v().int().nonnegative()}),EE=j({id:p(),name:p(),weight:v(),score:v(),findings:A(j({type:p(),message:p()})).default([]),recommendations:A(p()).default([])}),OE=j({url:p(),finalUrl:p(),auditedAt:p(),overallScore:v(),summary:p(),factors:A(EE).default([])}),DE=j({industry:p(),summary:p(),services:A(p()).default([]),categoryTerms:A(p()).default([])}),RE=j({provider:p(),displayName:p(),model:p().nullable().optional(),mentioned:oe(),cited:oe(),describedAccurately:zE,accuracyNotes:p().nullable().optional(),incorrectClaims:A(p()).default([]),recommendedCompetitors:A(p()).default([]),citedDomains:A(p()).default([]),groundingSources:A(N0).default([]),searchQueries:A(p()).default([]),answerText:p(),error:p().nullable().optional()}),ME=j({query:p(),providerResults:A(RE).default([])}),BE=j({totalQueries:v().int().nonnegative(),totalProviders:v().int().nonnegative(),totalComparisons:v().int().nonnegative(),mentionCount:v().int().nonnegative(),citationCount:v().int().nonnegative(),topCompetitors:A(TE).default([]),visibilityGap:p(),whatThisMeans:A(p()).default([]),recommendedActions:A(p()).default([])});j({companyName:p(),domain:p(),homepageUrl:p(),generatedAt:p(),queries:A(p()).default([]),competitors:A(p()).default([]),profile:DE,audit:OE,queryResults:A(ME).default([]),summary:BE});const A0=ie(["pass","partial","fail"]);A0.enum;const _0=ie(["up","down","flat"]);_0.enum;const LE=j({id:p(),name:p(),weight:v(),avgScore:v(),status:A0,pagesPassing:v().int().nonnegative(),pagesPartial:v().int().nonnegative(),pagesFailing:v().int().nonnegative()}),qE=j({factorId:p(),factorName:p(),avgScore:v(),affectedPages:v().int().nonnegative(),totalPages:v().int().nonnegative(),affectedPct:v().int().nonnegative(),topRecommendations:A(p()).default([])});j({project:p(),hasData:oe(),runId:p().nullable(),runStatus:Ys.nullable(),sitemapUrl:p().nullable(),auditedAt:p().nullable(),aggregateScore:v(),pagesDiscovered:v().int().nonnegative(),pagesAudited:v().int().nonnegative(),pagesSkipped:v().int().nonnegative(),pagesErrored:v().int().nonnegative(),deltaScore:v().nullable(),trend:_0.nullable(),previousScore:v().nullable(),previousAuditedAt:p().nullable(),factors:A(LE).default([]),crossCuttingIssues:A(qE).default([]),prioritizedFixes:A(p()).default([])});const UE=j({id:p(),name:p(),weight:v(),score:v()}),$E=j({url:p(),overallScore:v(),status:ie(["success","error"]),error:p().nullable().optional(),factors:A(UE).default([])});j({project:p(),runId:p().nullable(),auditedAt:p().nullable(),total:v().int().nonnegative(),pages:A($E).default([])});const IE=j({runId:p(),auditedAt:p(),aggregateScore:v(),pagesAudited:v().int().nonnegative()});j({project:p(),points:A(IE).default([])});j({sitemapUrl:p().url().optional(),limit:v().int().positive().max(2e3).optional()});j({runId:p(),status:Ys});const sp=ie(["answer-visibility","traffic-sync","gbp-sync","data-refresh","backlinks-sync","site-audit","ads-sync"]);sp.enum;j({id:p(),projectId:p(),kind:sp,cronExpr:p(),preset:p().nullable().optional(),timezone:p().default("UTC"),enabled:oe().default(!0),providers:A(ya).default([]),sourceId:p().nullable().optional(),lastRunAt:p().nullable().optional(),nextRunAt:p().nullable().optional(),createdAt:p(),updatedAt:p()});j({kind:sp.optional(),preset:p().optional(),cron:p().optional(),timezone:p().optional().default("UTC"),enabled:oe().optional().default(!0),providers:A(ya).optional().default([]),sourceId:p().optional()}).refine(e=>e.preset&&!e.cron||!e.preset&&e.cron,{message:'Exactly one of "preset" or "cron" must be provided'});const rp=ie(["competitor","directory","social","forum","news","reference","blog","ecommerce","video","academic","other"]);rp.enum;const op=ie(["cited","aspirational","wasted-surface"]),Nb=op.enum;Nb.cited,Nb.aspirational;const xc=ie(["direct-competitor","ota-aggregator","editorial-media","other","unknown"]),VE=xc.enum;VE["direct-competitor"];const wc=ie(["queued","seeding","probing","completed","failed"]);wc.enum;const C0=j({domain:p().min(1),hits:v().int().positive(),competitorType:xc.default("unknown")}),PE=j({id:p(),sessionId:p(),projectId:p(),query:p(),bucket:op.nullable().default(null),citationState:Ai,citedDomains:A(p()).default([]),answerMentioned:oe().nullable().default(null),createdAt:p()}),GE=j({id:p(),projectId:p(),status:wc,icpDescription:p().nullable().optional(),seedProvider:p().nullable().optional(),seedCountRaw:v().int().nullable().optional(),seedCount:v().int().nullable().optional(),dedupThreshold:v().nullable().optional(),probeCount:v().int().nullable().optional(),citedCount:v().int().nullable().default(null),aspirationalCount:v().int().nullable().default(null),wastedCount:v().int().nullable().default(null),competitorMap:A(C0).default([]),warning:p().nullable().optional(),error:p().nullable().optional(),startedAt:p().nullable().optional(),finishedAt:p().nullable().optional(),createdAt:p()});GE.extend({probes:A(PE).default([])});const HE=500;j({icpDescription:p().min(1).optional(),dedupThreshold:v().min(0).max(1).optional(),maxProbes:v().int().positive().max(HE).optional(),locations:A(p().min(1)).optional()});j({buckets:A(op).min(1).optional(),includeCompetitors:oe().optional(),competitorTypes:A(xc).min(1).optional()});j({sessionId:p(),projectId:p(),status:wc,queriesByBucket:j({cited:A(p()),aspirational:A(p()),"wasted-surface":A(p())}),suggestedCompetitors:A(C0)});j({sessionId:p(),projectId:p(),promoted:j({queries:A(p()),competitors:A(p())}),skipped:j({queries:A(p()),competitors:A(p())})});f0([qt("cli"),p().regex(/^discovery:.+$/)]);const QE=j({query:p().min(1),probeHits:v().int().positive()}),KE=j({rawCandidates:v().int().nonnegative(),admitted:v().int().nonnegative(),rejected:j({belowFloor:v().int().nonnegative(),length:v().int().nonnegative(),navigational:v().int().nonnegative(),duplicate:v().int().nonnegative(),offAnchor:v().int().nonnegative(),semanticDuplicate:v().int().nonnegative()})});j({sessionId:p(),projectId:p(),provider:p(),status:wc,minProbeHits:v().int().positive(),anchorApplied:oe(),semanticNoveltyApplied:oe(),candidates:A(QE),stats:KE});const lp=ie(["own","direct-competitor","ota-aggregator","editorial-media","other"]);lp.enum;const z0=ie(["7d","30d","90d","all"]),kb=ie(["improving","declining","stable"]),ZE=ie(["mentioned","cited"]);ZE.enum;const Cf=j({citationRate:v(),cited:v().int(),total:v().int(),mentionRate:v(),mentionedCount:v().int()}),YE=j({startDate:p(),endDate:p(),citationRate:v(),cited:v().int(),total:v().int(),queryCount:v().int(),mentionRate:v(),mentionedCount:v().int(),byProvider:lt(p(),Cf)}),XE=j({date:p(),delta:v().int(),label:p()});j({window:z0,buckets:A(YE),overall:Cf,byProvider:lt(p(),Cf),trend:kb,mentionTrend:kb,queryChanges:A(XE)});const Ab=j({category:rp,label:p(),count:v().int(),percentage:v(),topDomains:A(j({domain:p(),count:v().int()}))}),JE=j({domain:p(),count:v().int(),percentage:v(),category:rp,label:p(),surfaceClass:lp}),FE=j({surfaceClass:lp,label:p(),count:v().int(),percentage:v(),domainCount:v().int()}),_b=j({totalCitedSlots:v().int(),domainTotal:v().int(),entries:A(JE),truncatedDomainCount:v().int(),truncatedCitedSlots:v().int(),bySurfaceClass:A(FE)});j({overall:A(Ab),byQuery:lt(p(),A(Ab)),ranked:_b,byProvider:lt(p(),_b),runId:p(),window:z0,limit:v().int().nullable()});const cp=j({total:v().int(),checked:v().int(),mentioned:v().int(),cited:v().int(),mentionRate:v().nullable(),citedRate:v().nullable()}),T0=cp.extend({provider:p(),firstObserved:p(),lastObserved:p()}),WE=cp.extend({queryId:p().nullable(),query:p(),firstObserved:p(),lastObserved:p(),providers:A(T0).optional()}),eO=j({since:p().nullable(),until:p().nullable(),lastRuns:v().int().nullable(),runCount:v().int()}),tO=ie(["provider"]);j({project:p(),groupBy:tO.optional(),window:eO,totals:cp,byProvider:A(T0).optional(),queries:A(WE)});j({id:p(),projectId:p(),propertyId:p(),clientEmail:p(),connected:oe(),createdAt:p(),updatedAt:p()});j({date:p(),landingPage:p(),sessions:v(),organicSessions:v(),users:v()});const up=ie(["session","first_user","manual_utm"]),nO=j({source:p(),medium:p(),sessions:v(),users:v(),sourceDimension:up}),aO=j({source:p(),medium:p(),sourceDimension:up,landingPage:p(),sessions:v(),users:v()}),iO=j({source:p(),medium:p(),sessions:v(),users:v(),channelGroup:p()}),Fr=j({sessions:v(),sharePct:v(),sharePctDisplay:p()}),sO=j({organic:Fr,social:Fr,direct:Fr,ai:Fr,other:Fr});j({totalSessions:v(),totalOrganicSessions:v(),totalDirectSessions:v(),totalUsers:v(),topPages:A(j({landingPage:p(),sessions:v(),organicSessions:v(),directSessions:v(),users:v()})),aiReferrals:A(nO),aiReferralLandingPages:A(aO),aiSessionsDeduped:v(),aiUsersDeduped:v(),aiSessionsBySession:v(),aiUsersBySession:v(),socialReferrals:A(iO),socialSessions:v(),socialUsers:v(),channelBreakdown:sO,organicSharePct:v(),aiSharePct:v(),aiSharePctBySession:v(),directSharePct:v(),socialSharePct:v(),organicSharePctDisplay:p(),aiSharePctDisplay:p(),aiSharePctBySessionDisplay:p(),directSharePctDisplay:p(),socialSharePctDisplay:p(),otherSessions:v(),otherSharePct:v(),otherSharePctDisplay:p(),lastSyncedAt:p().nullable()});j({connected:oe(),propertyId:p().nullable(),clientEmail:p().nullable(),authMethod:ie(["service-account","oauth"]).nullable(),lastSyncedAt:p().nullable(),createdAt:p().nullable().optional(),updatedAt:p().nullable().optional()});j({synced:oe(),rowCount:v().int().nonnegative(),aiReferralCount:v().int().nonnegative(),socialReferralCount:v().int().nonnegative(),days:v().int().nonnegative(),syncedAt:p(),syncedComponents:A(p()).optional()});j({date:p(),source:p(),medium:p(),landingPage:p(),sessions:v(),users:v(),sourceDimension:up});j({date:p(),source:p(),medium:p(),sessions:v(),users:v(),channelGroup:p()});j({date:p(),sessions:v(),organicSessions:v(),users:v()});function dc(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}const E0=ie(["claude","openai","gemini","zai"]),rO=j({id:E0,label:p(),defaultModel:p(),configured:oe(),keySource:ie(["config","env"]).nullable()});j({providers:A(rO).default([]),defaultProvider:E0.nullable()});const oO=ie(["aero","user","compaction"]);oO.enum;const O0=128;j({key:p().min(1).max(O0),value:p().min(1)});j({key:p().min(1).max(O0)});const Xs=ie(["commoncrawl","bing-webmaster"]);Xs.enum;const dp=ie(["queued","downloading","querying","ready","failed"]);dp.enum;j({id:p(),release:p(),status:dp,phaseDetail:p().nullable().optional(),vertexPath:p().nullable().optional(),edgesPath:p().nullable().optional(),vertexSha256:p().nullable().optional(),edgesSha256:p().nullable().optional(),vertexBytes:v().int().nullable().optional(),edgesBytes:v().int().nullable().optional(),projectsProcessed:v().int().nullable().optional(),domainsDiscovered:v().int().nullable().optional(),downloadStartedAt:p().nullable().optional(),downloadFinishedAt:p().nullable().optional(),queryStartedAt:p().nullable().optional(),queryFinishedAt:p().nullable().optional(),error:p().nullable().optional(),createdAt:p(),updatedAt:p()});const lO=j({linkingDomain:p(),numHosts:v().int(),source:Xs}),cO=j({projectId:p(),release:p(),targetDomain:p(),totalLinkingDomains:v().int(),totalHosts:v().int(),top10HostsShare:p(),queriedAt:p(),source:Xs,excludedLinkingDomains:v().int().optional(),excludedHosts:v().int().optional()});j({source:Xs,summary:cO.nullable(),total:v().int(),rows:A(lO)});j({release:p(),totalLinkingDomains:v().int(),totalHosts:v().int(),top10HostsShare:p(),queriedAt:p(),source:Xs});const uO=j({source:Xs,connected:oe(),hasData:oe(),latestRelease:p().nullable(),totalLinkingDomains:v().int(),lastSyncedAt:p().nullable()});j({projectId:p(),targetDomain:p(),sources:A(uO),anyConnected:oe(),anyData:oe()});j({duckdbInstalled:oe(),duckdbVersion:p().nullable().optional(),duckdbSpec:p(),pluginDir:p()});j({installed:oe(),version:p(),path:p(),alreadyPresent:oe()});j({release:p(),vertexUrl:p(),edgesUrl:p(),vertexBytes:v().int().nullable(),edgesBytes:v().int().nullable(),lastModified:p().nullable()});j({release:p(),syncStatus:dp.nullable(),bytes:v().int(),lastUsedAt:p().nullable()});const fp=ie(["positive","caution","negative","neutral"]),Qa=j({label:p(),value:p(),delta:p(),tone:fp,description:p(),tooltip:p().optional(),trend:A(v()),progress:v().optional(),providerCoverage:p().optional()}),dO=Qa.extend({breakdown:j({projectMentionSnapshots:v().int().nonnegative(),competitorMentionSnapshots:v().int().nonnegative(),perCompetitor:A(j({domain:p(),mentionSnapshots:v().int().nonnegative(),shareOfCompetitiveTotal:v()})),snapshotsWithAnswerText:v().int().nonnegative(),snapshotsTotal:v().int().nonnegative()})}),of=j({gained:v().int().nonnegative(),lost:v().int().nonnegative(),tone:fp,hasPreviousRun:oe(),gainedQueries:A(p()).optional(),lostQueries:A(p()).optional()}),fO=j({hasPreviousRun:oe(),comparable:oe(),querySetChanged:oe(),previousRunAt:p().nullable(),currentQueryCount:v().int().nonnegative(),previousQueryCount:v().int().nonnegative(),comparableQueryCount:v().int().nonnegative(),addedQueryCount:v().int().nonnegative(),removedQueryCount:v().int().nonnegative(),addedQueries:A(p()),removedQueries:A(p())}),pO=j({id:p(),projectId:p(),runId:p().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:p(),query:p(),provider:p(),recommendation:j({action:p(),target:p().optional(),reason:p()}).optional(),cause:j({cause:p(),competitorDomain:p().optional(),details:p().optional()}).optional(),dismissed:oe(),createdAt:p()}),mO=j({id:p(),projectId:p(),runId:p().nullable(),overallCitedRate:v(),overallMentionRate:v(),totalPairs:v().int().nonnegative(),citedPairs:v().int().nonnegative(),mentionedPairs:v().int().nonnegative(),providerBreakdown:lt(p(),j({citedRate:v(),mentionRate:v(),cited:v().int().nonnegative(),mentioned:v().int().nonnegative(),total:v().int().nonnegative()})),createdAt:p(),status:ie(["ready","no-data"]),reason:qt("no-runs-yet").optional()});j({project:MT,latestRun:CE,health:mO.nullable(),topInsights:A(pO),queryCounts:j({totalQueries:v().int().nonnegative(),citedQueries:v().int().nonnegative(),notCitedQueries:v().int().nonnegative(),citedRate:v(),mentionedQueries:v().int().nonnegative(),notMentionedQueries:v().int().nonnegative(),mentionRate:v()}),providers:A(j({provider:p(),citedRate:v(),cited:v().int().nonnegative(),total:v().int().nonnegative()})),transitions:j({since:p().nullable(),gained:v().int().nonnegative(),lost:v().int().nonnegative(),emerging:v().int().nonnegative()}),scores:j({mention:Qa,visibility:Qa,mentionShare:dO,gapQueries:Qa,mentionGaps:Qa,indexCoverage:Qa,competitorPressure:Qa,runStatus:Qa}),movementSummary:of,citationMovement:of,mentionMovement:of,movementComparison:fO,competitors:A(j({id:p(),domain:p(),citationCount:v().int().nonnegative(),totalQueries:v().int().nonnegative(),pressureLabel:ie(["None","Low","Moderate","High"]),citedQueries:A(p())})),providerScores:A(j({provider:p(),model:p().nullable(),score:v(),cited:v().int().nonnegative(),total:v().int().nonnegative(),trend:A(v()).optional()})),attentionItems:A(j({id:p(),tone:fp,title:p(),detail:p(),actionLabel:p(),href:p()})),runHistory:A(j({runId:p(),createdAt:p(),citedCount:v().int().nonnegative(),totalCount:v().int().nonnegative(),citationRate:v(),mentionedCount:v().int().nonnegative(),mentionRate:v(),status:p()})),suggestedQueries:j({rows:A(j({query:p(),impressions:v(),clicks:v(),avgPosition:v(),reason:p()})),totalCandidates:v().int().nonnegative(),skippedAlreadyTracked:v().int().nonnegative()}),dateRangeLabel:p(),contextLabel:p()});ie(["snapshot","insight"]);const hO=j({kind:qt("snapshot"),id:p(),runId:p(),query:p(),provider:p(),model:p().nullable(),citationState:Ai,matchedField:ie(["answerText","citedDomains","searchQueries","query"]),snippet:p(),createdAt:p()}),gO=j({kind:qt("insight"),id:p(),runId:p().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:p(),query:p(),provider:p(),matchedField:ie(["title","query","recommendation","cause"]),snippet:p(),dismissed:oe(),createdAt:p()}),yO=p0("kind",[hO,gO]);j({query:p(),totalHits:v().int().nonnegative(),truncated:oe(),hits:A(yO)});const D0=ie(["create","expand","refresh","add-schema"]);D0.enum;function bL(e){switch(e){case"create":return"Create";case"expand":return"Expand";case"refresh":return"Refresh";case"add-schema":return"Add schema"}}const R0=ie(["gsc","competitor-evidence","both"]);R0.enum;const M0=ie(["high","medium","low"]);M0.enum;const bO=ie(["blog-post","comparison","listicle","how-to","guide","glossary"]);bO.enum;const B0=ie(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);B0.enum;const pp=ie(["ownable","ceded"]);pp.enum;const vO=j({url:p(),gscImpressions:v().nonnegative(),gscClicks:v().nonnegative(),gscAvgPosition:v().nonnegative().nullable(),organicSessions:v().nonnegative()}),SO=j({domain:p(),url:p(),title:p(),citationCount:v().int().nonnegative()}),xO=j({demand:v(),competitor:v(),absence:v(),gapSeverity:v()}),wO=j({actionId:p(),state:B0,lastUpdated:p()}),L0=j({targetRef:p(),query:p(),action:D0,ourBestPage:vO.nullable(),winningCompetitor:SO.nullable(),score:v(),scoreBreakdown:xO,drivers:A(p()),demandSource:R0,actionConfidence:M0,existingAction:wO.nullable(),winnabilityClass:pp,winnability:v().min(0).max(1).nullable()});j({targets:A(L0),contextMetrics:j({totalAiReferralSessions:v().int().nonnegative(),latestRunId:p(),runTimestamp:p()})});const jO=j({targetRef:p(),addressedUrl:p().nullable(),note:p().nullable(),dismissedAt:p()});j({dismissals:A(jO)});j({targetRef:p().min(1),addressedUrl:p().url().optional(),note:p().max(500).optional()});j({targetRef:p(),promptVersion:p(),provider:p(),model:p(),responseText:p(),costMillicents:v().int().nonnegative(),generatedAt:p()});j({provider:p().optional(),model:p().optional(),forceRefresh:oe().optional()});const NO=j({targetQuery:p().trim().min(1),winnabilityClass:pp,angle:p().trim().min(1),whyWinnable:p().trim().min(1),schemaHookup:p().trim().min(1),controllableSurfaceRationale:p().trim().min(1)});j({targetRef:p(),promptVersion:p(),provider:p(),model:p(),brief:NO,costMillicents:v().int().nonnegative(),generatedAt:p()});const kO=j({domain:p(),competitorType:xc,hits:v().int().nonnegative(),updatedAt:p()});j({classifications:A(kO)});const AO=j({uri:p(),title:p(),domain:p(),isOurDomain:oe(),isCompetitor:oe(),citationCount:v().int().nonnegative(),providers:A(ya)}),q0=j({query:p(),groundingSources:A(AO)});j({sources:A(q0),latestRunId:p()});const U0=j({query:p(),competitorDomains:A(p()),competitorCount:v().int().nonnegative(),missRate:v().min(0).max(1),lastSeenInRunId:p()});j({gaps:A(U0),latestRunId:p()});const $0=ie(["ok","warn","fail","skipped"]);$0.enum;const mp=ie(["global","project"]);mp.enum;const I0=ie(["auth","config","providers","integrations","database","schedules","agent"]);I0.enum;const _O=j({id:p(),category:I0,scope:mp,title:p(),status:$0,code:p().describe('Stable machine-readable code (e.g. "google.token.refresh-failed"). Use this for filtering and remediation logic.'),summary:p(),remediation:p().nullable().optional().describe('Operator-facing next step. Null when status is "ok" or no specific remediation applies.'),details:lt(p(),qn()).optional().describe("Structured context — principal email, redirect URI, missing scopes, etc. Stable per check id."),durationMs:v().int().nonnegative().describe("How long the check took to execute.")});j({scope:mp,project:p().nullable().describe('Project name when scope is "project", null otherwise.'),generatedAt:p().describe("ISO-8601 timestamp when this doctor run started."),durationMs:v().int().nonnegative(),summary:j({total:v().int().nonnegative(),ok:v().int().nonnegative(),warn:v().int().nonnegative(),fail:v().int().nonnegative(),skipped:v().int().nonnegative()}),checks:A(_O)});const CO=j({provider:p(),citationState:Ai,cited:oe(),mentioned:oe(),runId:p(),runCreatedAt:p()}),zO=j({queryId:p(),query:p(),providers:A(CO),citedCount:v().int().nonnegative(),mentionedCount:v().int().nonnegative(),totalProviders:v().int().nonnegative()}),TO=j({queryId:p(),query:p(),provider:p(),citingCompetitors:A(p()),runId:p(),runCreatedAt:p()}),EO=j({providersConfigured:v().int().nonnegative(),providersCiting:v().int().nonnegative(),providersMentioning:v().int().nonnegative(),totalQueries:v().int().nonnegative(),queriesCitedAndMentioned:v().int().nonnegative(),queriesCitedOnly:v().int().nonnegative(),queriesMentionedOnly:v().int().nonnegative(),queriesInvisible:v().int().nonnegative(),latestRunId:p().nullable(),latestRunAt:p().nullable()});j({summary:EO,byQuery:A(zO),competitorGaps:A(TO),status:ie(["ready","no-data"]),reason:ie(["no-runs-yet","no-queries"]).optional()});const OO=ie(["prompt","request-param","browser-geo","ignored"]),DO=j({label:p(),city:p(),region:p(),country:p(),otherConfiguredLabels:A(p())}),RO=j({provider:p(),treatment:OO,description:p()}),MO=j({generatedAt:p(),project:j({id:p(),name:p(),displayName:p(),canonicalDomain:p(),country:p(),language:p()}),location:DO.nullable(),providerLocationHandling:A(RO),periodStart:p().nullable(),periodEnd:p().nullable()}),BO=j({citationRate:v(),citedQueryCount:v(),totalQueryCount:v(),mentionRate:v(),mentionedQueryCount:v(),trend:ie(["up","down","flat","unknown"]),queryCount:v(),competitorCount:v(),providerCount:v(),gsc:j({clicks:v(),impressions:v(),ctr:v(),avgPosition:v(),periodStart:p(),periodEnd:p()}).nullable(),ga:j({sessions:v(),users:v(),periodStart:p(),periodEnd:p()}).nullable(),findings:A(j({title:p(),detail:p(),tone:ie(["positive","caution","negative","neutral"])}))}),LO=j({citationState:ie(["cited","not-cited","pending"]),answerMentioned:oe().nullable(),model:p().nullable()}),qO=j({queries:A(p()),providers:A(p()),matrix:A(A(LO.nullable())),providerRates:A(j({provider:p(),citedCount:v(),totalCount:v(),citationRate:v()}))}),UO=j({domain:p(),citationCount:v(),totalCount:v(),pressureLabel:ie(["High","Moderate","Low","None"]),citedQueries:A(p()),sharePct:v(),theirCitedPages:A(j({url:p(),citedFor:A(p())}))}),$O=j({projectCitationCount:v(),competitors:A(UO)}),IO=j({domain:p(),mentionCount:v(),totalCount:v(),pressureLabel:ie(["High","Moderate","Low","None"]),mentionedQueries:A(p()),sharePct:v()}),VO=j({projectMentionCount:v(),totalAnswerSnapshots:v(),competitors:A(IO)}),PO=j({category:p(),label:p(),count:v(),sharePct:v()}),GO=j({categories:A(PO),topDomains:A(j({domain:p(),count:v(),isCompetitor:oe()}))}),HO=j({query:p(),clicks:v(),impressions:v(),ctr:v(),avgPosition:v(),category:ie(["brand","lead-gen","industry","other"])}),QO=j({periodStart:p(),periodEnd:p(),totalClicks:v(),totalImpressions:v(),ctr:v(),avgPosition:v(),topQueries:A(HO),categoryBreakdown:A(j({category:ie(["brand","lead-gen","industry","other"]),clicks:v(),impressions:v(),sharePct:v()})),trend:A(j({date:p(),clicks:v(),impressions:v()})),trackedButNoGsc:A(p()),gscButNotTracked:A(p())}),KO=j({totalSessions:v(),totalUsers:v(),totalOrganicSessions:v(),periodStart:p(),periodEnd:p(),topLandingPages:A(j({page:p(),sessions:v(),users:v(),organicSessions:v()})),channelBreakdown:A(j({channel:p(),sessions:v(),sharePct:v()}))}),ZO=j({totalSessions:v(),organicSessions:v(),paidSessions:v(),channels:A(j({channelGroup:p(),sessions:v(),sharePct:v()})),topCampaigns:A(j({source:p(),medium:p(),sessions:v()}))}),YO=j({totalSessions:v(),totalUsers:v(),bySource:A(j({source:p(),sessions:v(),users:v(),sharePct:v()})),trend:A(j({date:p(),sessions:v()})),topLandingPages:A(j({page:p(),sessions:v(),users:v()}))}),XO=j({windowStart:p(),windowEnd:p(),hasData:oe(),verifiedCrawlerHits:j({current:v(),prior:v(),deltaPct:v().nullable()}),unverifiedCrawlerHits:j({current:v(),prior:v(),deltaPct:v().nullable()}),aiUserFetchHits:j({current:v(),prior:v(),deltaPct:v().nullable()}),referralArrivals:j({current:v(),prior:v(),deltaPct:v().nullable()}),byOperator:A(j({operator:p(),verifiedHits:v(),unverifiedHits:v(),userFetchHits:v(),referralArrivals:v(),deltaPct:v().nullable()})),topCrawledPaths:A(j({path:p(),verifiedHits:v(),distinctOperators:v()})),referralProducts:A(j({product:p(),arrivals:v(),distinctLandingPaths:v()})),dailyTrend:A(j({date:p(),verifiedCrawlerHits:v(),userFetchHits:v(),referralArrivals:v()})),topReferralLandingPaths:A(j({path:p(),arrivals:v(),distinctProducts:v()}))}),JO=j({provider:ie(["google","bing"]).nullable(),total:v(),indexed:v(),notIndexed:v(),deindexed:v(),unknown:v(),indexedPct:v()}),FO=j({runId:p(),date:p(),citationRate:v(),citedQueryCount:v(),totalQueryCount:v(),mentionRate:v(),mentionedQueryCount:v(),providerRates:A(j({provider:p(),citationRate:v()}))}),zf=j({id:p(),type:ie(["regression","gain","opportunity"]),severity:ie(["critical","high","medium","low"]),title:p(),query:p(),provider:p(),recommendation:p().nullable(),createdAt:p(),instanceCount:v()}),WO=j({horizon:ie(["immediate","short-term","medium-term"]),title:p(),rationale:p()}),Wr=j({current:v(),prior:v(),deltaAbs:v(),direction:ie(["up","down","flat"]),window:v().optional()}),e4=j({provider:p(),current:v(),prior:v(),deltaAbs:v(),direction:ie(["up","down","flat"])}),t4=j({enoughHistory:oe(),headline:p(),citationRate:Wr.nullable(),mentionRate:Wr.nullable(),citedQueryCount:Wr.nullable(),gscClicksDelta:Wr.nullable(),aiReferralsDelta:Wr.nullable(),providerMovements:A(e4),wins:A(zf),regressions:A(zf)});ie(["agency","client"]);const n4=ie(["agency","client","both"]),a4=ie(["immediate","short-term","medium-term"]),i4=ie(["high","medium","low"]);ie(["positive","caution","negative","neutral"]);const s4=ie(["content","competitors","provider","search-demand","indexing","location","monitoring"]),hp=j({audience:n4,priority:v(),horizon:a4,category:s4,title:p(),action:p(),why:A(p()),evidence:A(p()),successMetric:p(),confidence:i4,targetRef:p().optional()}),r4=j({headline:p(),overview:p(),actionItems:A(hp),confidenceNotes:A(p())}),o4=j({title:p(),detail:p(),severity:ie(["positive","caution","negative","neutral"]),evidence:A(p())}),l4=j({priorities:A(hp),diagnostics:A(o4)});function vL(e){return e.horizon==="immediate"?"negative":e.confidence==="high"?"caution":e.confidence==="low"?"neutral":"caution"}function SL(e){switch(e){case"critical":return"Critical";case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}function xL(e){switch(e){case"immediate":return"Immediate";case"short-term":return"Short term";case"medium-term":return"Medium term"}}function wL(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 jL(e){switch(e){case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}j({meta:MO,executiveSummary:BO,citationScorecard:qO,competitorLandscape:$O,mentionLandscape:VO,aiSourceOrigin:GO,gsc:QO.nullable(),ga:KO.nullable(),socialReferrals:ZO.nullable(),aiReferrals:YO.nullable(),serverActivity:XO.nullable(),indexingHealth:JO.nullable(),citationsTrend:A(FO),whatsChanged:t4,insights:A(zf),recommendedNextSteps:A(WO),actionPlan:A(hp),clientSummary:r4,agencyDiagnostics:l4,contentOpportunities:A(L0),contentGaps:A(U0),groundingSources:A(q0)});const c4=ie(["claude","codex"]);c4.enum;const u4=ie(["claude","codex","all"]);u4.enum;const V0=j({content:v().int().nonnegative(),sitemap:v().int().nonnegative(),robots:v().int().nonnegative(),asset:v().int().nonnegative(),other:v().int().nonnegative()}),d4=ie(["content","sitemap","robots","asset","other"]),gp=ie(["cloud-run","wordpress","cloudflare","vercel","generic-log"]);gp.enum;const f4=ie(["raw-request-events","aggregate-request-metrics","request-url","status-code","user-agent","remote-ip","referer","cursor-pull"]);f4.enum;const p4=ie(["raw-request","aggregate-bucket"]),m4=p4.enum,h4=ie(["observed","provider-aggregated","inferred"]),g4=h4.enum,y4=j({type:p().nullable(),labels:lt(p(),p())}),b4=j({sourceType:gp,evidenceKind:qt(m4["raw-request"]),confidence:qt(g4.observed),eventId:p().min(1),observedAt:p().min(1),method:p().nullable(),requestUrl:p().nullable(),host:p().nullable(),path:p().min(1),queryString:p().nullable(),status:v().int().nullable(),userAgent:p().nullable(),remoteIp:p().nullable(),referer:p().nullable(),latencyMs:v().nullable(),requestSizeBytes:v().int().nullable(),responseSizeBytes:v().int().nullable(),providerResource:y4,providerLabels:lt(p(),p())});j({events:A(b4),rawEntryCount:v().int().nonnegative(),skippedEntryCount:v().int().nonnegative(),nextPageToken:p().optional(),filter:p()});const P0=ie(["connected","paused","error","archived"]),NL=P0.enum,G0=ie(["oauth","service-account"]);G0.enum;const v4=ie(["verified","claimed_unverified","unknown_ai_like"]),kL=v4.enum;j({gcpProjectId:p().min(1),serviceName:p().nullable().optional(),location:p().nullable().optional(),authMode:G0});j({baseUrl:p().url(),username:p().min(1)});const yp=ie(["production","preview"]);yp.enum;j({projectId:p().min(1),teamId:p().min(1),environment:yp});const H0=j({id:p(),projectId:p(),sourceType:gp,displayName:p(),status:P0,lastSyncedAt:p().nullable(),lastCursor:p().nullable(),lastError:p().nullable(),archivedAt:p().nullable(),config:lt(p(),qn()),createdAt:p(),updatedAt:p()});j({gcpProjectId:p().min(1),serviceName:p().min(1).optional(),location:p().min(1).optional(),displayName:p().min(1).optional(),keyJson:p().optional()});j({baseUrl:p().url(),username:p().min(1),applicationPassword:p().min(1),displayName:p().min(1).optional()});j({projectId:p().min(1),teamId:p().min(1),token:p().min(1),environment:yp.optional(),displayName:p().min(1).optional()});j({sourceId:p(),runId:p(),syncedAt:p(),pulledEvents:v().int().nonnegative(),selfTrafficExcluded:v().int().nonnegative(),crawlerHits:v().int().nonnegative(),aiUserFetchHits:v().int().nonnegative(),aiReferralHits:v().int().nonnegative(),unknownHits:v().int().nonnegative(),crawlerBucketRows:v().int().nonnegative(),aiUserFetchBucketRows:v().int().nonnegative(),aiReferralBucketRows:v().int().nonnegative(),sampleRows:v().int().nonnegative(),windowStart:p(),windowEnd:p()});j({days:v().int().positive().optional()});j({advanceToNow:qt(!0)});j({sourceId:p(),runId:p(),status:Ys,windowStart:p(),windowEnd:p(),daysRequested:v().int().positive(),daysApplied:v().int().positive()});const S4=j({crawlerHits:v().int().nonnegative(),crawlerContentHits:v().int().nonnegative(),crawlerInfraHits:v().int().nonnegative(),crawlerSegments:V0,aiUserFetchHits:v().int().nonnegative(),aiReferralHits:v().int().nonnegative(),sampleCount:v().int().nonnegative()});j({sources:A(H0)});const x4=H0.extend({totals24h:S4,latestRun:j({runId:p(),status:Ys,startedAt:p().nullable(),finishedAt:p().nullable(),error:p().nullable()}).nullable()});j({sources:A(x4)});const w4=ie(["crawler","ai-user-fetch","ai-referral"]),bp=w4.enum,j4=j({kind:qt(bp.crawler),sourceId:p(),tsHour:p(),botId:p(),operator:p(),verificationStatus:p(),pathNormalized:p(),pathClass:d4,status:v().int(),hits:v().int().nonnegative()}),N4=j({kind:qt(bp["ai-user-fetch"]),sourceId:p(),tsHour:p(),botId:p(),operator:p(),verificationStatus:p(),pathNormalized:p(),status:v().int(),hits:v().int().nonnegative()}),k4=j({kind:qt(bp["ai-referral"]),sourceId:p(),tsHour:p(),product:p(),operator:p(),sourceDomain:p(),evidenceType:p(),landingPathNormalized:p(),status:v().int(),hits:v().int().nonnegative()}),A4=p0("kind",[j4,N4,k4]);j({windowStart:p(),windowEnd:p(),totals:j({crawlerHits:v().int().nonnegative(),crawlerContentHits:v().int().nonnegative(),crawlerInfraHits:v().int().nonnegative(),crawlerSegments:V0,aiUserFetchHits:v().int().nonnegative(),aiReferralHits:v().int().nonnegative()}),events:A(A4)});j({apiKey:p().min(1)});j({connected:oe(),adAccountId:p().nullable().optional(),displayName:p().nullable().optional(),currencyCode:p().nullable().optional(),timezone:p().nullable().optional(),status:p().nullable().optional(),lastSyncedAt:p().nullable().optional()});j({disconnected:oe()});j({runId:p(),status:p()});const _4=j({type:p().nullable().optional(),title:p().nullable().optional(),body:p().nullable().optional(),targetUrl:p().nullable().optional()}),C4=j({id:p(),adGroupId:p(),name:p(),status:p(),reviewStatus:p().nullable().optional(),creative:_4.nullable().optional()}),z4=j({id:p(),campaignId:p(),name:p(),status:p(),billingEventType:p().nullable().optional(),maxBidMicros:v().int().nullable().optional(),contextHints:A(p()).default([]),ads:A(C4).default([])}),T4=j({id:p(),name:p(),status:p(),biddingType:p().nullable().optional(),dailySpendLimitMicros:v().int().nullable().optional(),lifetimeSpendLimitMicros:v().int().nullable().optional(),adGroups:A(z4).default([])});j({campaigns:A(T4)});const Q0=ie(["campaign","ad_group"]);Q0.enum;const E4=j({level:Q0,entityId:p(),date:p(),impressions:v().int(),clicks:v().int(),spendMicros:v().int(),ctr:v().nullable(),cpcMicros:v().int().nullable()});j({rows:A(E4),currencyCode:p().nullable().optional()});const O4=j({impressions:v().int(),clicks:v().int(),spendMicros:v().int(),ctr:v().nullable(),cpcMicros:v().int().nullable()});j({connected:oe(),displayName:p().nullable().optional(),currencyCode:p().nullable().optional(),lastSyncedAt:p().nullable().optional(),campaignCount:v().int(),adGroupCount:v().int(),adCount:v().int(),window:j({from:p().nullable(),to:p().nullable()}),totals:O4});var D4=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(D4||{});const AL={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},_L={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},CL=ip;function R4(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(ne){zn(ne instanceof Error?ne.message:"Failed to generate queries")}finally{Ge(!1)}}},Zn=async()=>{if(!le)return;const ne=ti;if(ne.length!==0){Bi(!0),Ri(null);try{await Nk(le,ne),Uc(!0),await r(),N(4)}catch(Fe){Ri(Fe instanceof Error?Fe.message:"Failed to save competitors")}finally{Bi(!1)}}},Vi=async()=>{const ne=qi.trim();if(ne){va(!0),Tn(null);try{await Ck("gemini",{apiKey:ne}),en({title:"Gemini configured",detail:"Provider is ready — continuing setup.",tone:"positive",dedupeKey:"setup:gemini:configured",dedupeMode:"drop"}),No(""),await r()}catch(Fe){Tn(Fe instanceof Error?Fe.message:"Failed to save Gemini key")}finally{va(!1)}}},ni=async()=>{if(le){wo(!0);try{const ne=await Li.mutateAsync({projectName:le,projectLabel:k||_||le,sourceAction:"setup-launch"});jo(ne.id),$c(!0),await r()}catch{}finally{wo(!1)}}},Yn=()=>N(ne=>Math.max(0,ne-1)),ko=(()=>{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(ne=>f.jsxs("div",{className:"health-check-row",children:[f.jsxs("div",{children:[f.jsx("p",{className:"run-row-title",children:ne.label}),f.jsx("p",{className:"supporting-copy",children:ne.detail}),ne.id==="provider"&&ne.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:qi,onChange:Fe=>No(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:sr}),f.jsx(qe,{type:"button",size:"sm",disabled:sr||!qi.trim(),onClick:wn(Vi),children:sr?"Saving...":"Save"})]}),$t&&f.jsx("p",{className:"text-xs text-rose-400",children:$t}),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:ne.state==="ready"?"positive":"caution",title:ne.id==="api"?Is(g.apiStatus):ne.id==="worker"?Is(g.workerStatus):ne.detail,children:ne.state==="ready"?"Ready":"Attention"})]},ne.id))}),f.jsxs("div",{className:"setup-nav",children:[f.jsx("span",{}),f.jsx(qe,{type:"button",disabled:!Vc,onClick:()=>N(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"})]}),le?f.jsx(Ln,{tone:"positive",children:"Created"}):null]}),le?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:le})," created successfully."]}),f.jsxs("div",{className:"setup-nav",children:[f.jsx(qe,{type:"button",variant:"outline",onClick:Yn,children:"Back"}),f.jsx(qe,{type:"button",onClick:()=>N(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:_,onChange:ne=>T(ne.target.value)}),ht&&ht!==_?f.jsxs("p",{className:"supporting-copy",children:["Slug: ",ht]}):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:ne=>E(ne.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:ne=>V(ne.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:G,onChange:ne=>Z(ne.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:ne=>F(ne.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:ne=>M(ne.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(qe,{type:"button",variant:"outline",onClick:Yn,children:"Back"}),f.jsx(qe,{type:"button",disabled:!ht||!R||ee,onClick:wn(Ui),children:ee?"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"})]}),Se?f.jsxs(Ln,{tone:"positive",children:[$n.length," saved"]}):f.jsxs(Ln,{tone:"neutral",children:[$n.length," quer",$n.length!==1?"ies":"y"]})]}),f.jsx("p",{className:"supporting-copy",children:"Enter the search queries you want to track. One per line."}),Se?f.jsxs("div",{className:"compact-stack",children:[f.jsx("ul",{className:"detail-list",children:$n.map(ne=>f.jsx("li",{children:ne},ne))}),f.jsxs("div",{className:"setup-nav",children:[f.jsx(qe,{type:"button",variant:"outline",onClick:Yn,children:"Back"}),f.jsx(qe,{type:"button",onClick:()=>N(3),children:"Continue"})]})]}):f.jsxs("div",{className:"compact-stack",children:[de.length>0?f.jsxs("div",{className:"compact-stack",children:[f.jsxs("div",{className:"flex items-center gap-2 text-zinc-500 text-xs uppercase tracking-wide",children:[f.jsx("span",{className:"flex-1 border-t border-zinc-800"}),"auto-generate",f.jsx("span",{className:"flex-1 border-t border-zinc-800"})]}),f.jsxs("div",{className:"flex items-end gap-2",children:[f.jsxs("div",{className:"setup-field flex-1",children:[f.jsx("label",{className:"setup-label",htmlFor:"gen-provider",children:"Provider"}),f.jsx("select",{id:"gen-provider",className:"setup-input",value:ae,onChange:ne=>je(ne.target.value),children:de.map(ne=>f.jsxs("option",{value:ne.name,children:[ne.displayName??ne.name,ne.model?` (${ne.model})`:""]},ne.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:ne=>xe(Number(ne.target.value)),children:[3,5,10,15,20].map(ne=>f.jsx("option",{value:ne,children:ne},ne))})]}),f.jsx(qe,{type:"button",variant:"outline",disabled:Ue||!ae,onClick:wn(Ii),children:Ue?"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:J,onChange:ne=>fe(ne.target.value)})]}),Ze?f.jsx("p",{className:"text-rose-400 text-sm",children:Ze}):null,f.jsxs("div",{className:"setup-nav",children:[f.jsx(qe,{type:"button",variant:"outline",onClick:Yn,children:"Back"}),f.jsx(qe,{type:"button",disabled:$n.length===0||ue,onClick:wn($i),children:ue?"Saving...":`Save ${$n.length} quer${$n.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"})]}),Di?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."}),Di?f.jsxs("div",{className:"compact-stack",children:[f.jsx("ul",{className:"detail-list",children:ti.map(ne=>f.jsx("li",{children:ne},ne))}),f.jsxs("div",{className:"setup-nav",children:[f.jsx(qe,{type:"button",variant:"outline",onClick:Yn,children:"Back"}),f.jsx(qe,{type:"button",onClick:()=>N(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:ne=>nr(ne.target.value)})]}),ar?f.jsx("p",{className:"text-rose-400 text-sm",children:ar}):null,f.jsxs("div",{className:"setup-nav",children:[f.jsx(qe,{type:"button",variant:"outline",onClick:Yn,children:"Back"}),f.jsxs("div",{className:"flex gap-2",children:[f.jsx(qe,{type:"button",variant:"outline",onClick:()=>N(4),children:"Skip"}),f.jsx(qe,{type:"button",disabled:ti.length===0||Mi,onClick:wn(Zn),children:Mi?"Saving...":`Save ${ti.length} competitor${ti.length!==1?"s":""}`})]})]})]})]});case 4:{const ne=Ic.data,Fe=ne?.status==="completed"||ne?.status==="partial"||ne?.status==="failed"||ne?.status==="cancelled",ai=ne?.snapshots??[],Ao=ai.filter(En=>En.citationState==="cited").length,_o=ai.filter(En=>En.answerMentioned===!0).length,rr=new Set(ai.map(En=>En.query).filter(En=>!!En)).size,or=xo?Fe&&(ne?.status==="completed"||ne?.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"})]}),or]}),xo?Fe?ne?.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(qe,{type:"button",onClick:()=>{S({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:le}),":"]}),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:[_o,f.jsxs("span",{className:"text-zinc-600 text-lg",children:[" / ",rr]})]}),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:[Ao,f.jsxs("span",{className:"text-zinc-600 text-lg",children:[" / ",rr]})]}),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:ai.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(qe,{type:"button",onClick:()=>{S({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:ne?.status??"queued"})]})}),f.jsxs("div",{className:"setup-nav",children:[f.jsx("span",{}),f.jsx(qe,{type:"button",variant:"outline",onClick:()=>{S({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:le}),"."]}),f.jsxs("div",{className:"setup-nav",children:[f.jsx(qe,{type:"button",variant:"outline",onClick:Yn,children:"Back"}),f.jsx(qe,{type:"button",disabled:Ut,onClick:wn(ni),children:Ut?"Launching...":"Launch visibility sweep"})]})]})]})}default:return null}})();return f.jsxs("div",{className:"page-container",children:[f.jsx("div",{className:"page-header",children:f.jsxs("div",{className:"page-header-left",children:[f.jsx("h1",{className:"page-title",children:"Setup"}),f.jsx("p",{className:"page-subtitle",children:"Create a project, add queries, add competitors, and launch the first run."})]})}),f.jsx(w5,{current:x,labels:x5}),f.jsx("section",{className:"setup-wizard",children:ko})]})}function N5(){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(qe,{asChild:!0,children:f.jsx(rt,{to:"/",children:"Return to overview"})})]})})})}const ba=Gs(()=>Hs(()=>import("./ProjectPage-BZwzpRBL.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),"ProjectPage"),k5=Gs(()=>Hs(()=>import("./RunsPage-idZt03Qs.js"),__vite__mapDeps([9,1,2,7,5,8]),import.meta.url),"RunsPage"),A5=Gs(()=>Hs(()=>import("./SettingsPage-BGMJxf9N.js"),__vite__mapDeps([10,1,7,5,8]),import.meta.url),"SettingsPage"),_5=Gs(()=>Hs(()=>import("./BacklinksPage-CzZbUMMc.js"),__vite__mapDeps([11,1,6,7,5,8]),import.meta.url),"BacklinksPage"),C5=Gs(()=>Hs(()=>import("./TrafficPage-UpFu1vki.js"),__vite__mapDeps([12,1,4,13,7,5,8]),import.meta.url),"TrafficPage"),z5=Gs(()=>Hs(()=>import("./TrafficSourceDetailPage-m0OEVrkk.js"),__vite__mapDeps([14,1,4,3,5,13,7,8]),import.meta.url),"TrafficSourceDetailPage");function T5(){return f.jsx(tM,{children:f.jsx(eM,{})})}const tn=Ew()({component:T5,validateSearch:e=>({runId:typeof e.runId=="string"?e.runId:void 0,evidenceId:typeof e.evidenceId=="string"?e.evidenceId:void 0})}),E5=Ct({getParentRoute:()=>tn,path:"/",component:iM,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Js({client:se}));if(n&&n.length===0)throw dv({to:"/setup"})}}),O5=Ct({getParentRoute:()=>tn,path:"/projects",component:g5}),Kn=Ct({getParentRoute:()=>tn,path:"/projects/$projectId",component:()=>f.jsx(bf,{})}),D5=Ct({getParentRoute:()=>Kn,path:"/",component:()=>f.jsx(ba,{tab:"overview"})}),R5=Ct({getParentRoute:()=>Kn,path:"/search-console",component:()=>f.jsx(ba,{tab:"search-console"})}),M5=Ct({getParentRoute:()=>Kn,path:"/local",component:()=>f.jsx(ba,{tab:"local"})}),B5=Ct({getParentRoute:()=>Kn,path:"/discovery",component:()=>f.jsx(ba,{tab:"discovery"})}),L5=Ct({getParentRoute:()=>Kn,path:"/report",component:()=>f.jsx(ba,{tab:"report"})}),q5=Ct({getParentRoute:()=>Kn,path:"/activity",component:()=>f.jsx(ba,{tab:"activity"})}),U5=Ct({getParentRoute:()=>Kn,path:"/backlinks",component:()=>f.jsx(ba,{tab:"backlinks"})}),$5=Ct({getParentRoute:()=>Kn,path:"/technical-aeo",component:()=>f.jsx(ba,{tab:"technical-aeo"})}),I5=Ct({getParentRoute:()=>Kn,path:"/settings",component:()=>f.jsx(ba,{tab:"settings"})}),V5=Ct({getParentRoute:()=>tn,path:"/runs",component:k5}),P5=Ct({getParentRoute:()=>tn,path:"/settings",component:A5,beforeLoad:({context:e})=>{}}),G5=Ct({getParentRoute:()=>tn,path:"/setup",component:j5,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Js({client:se}));if(n&&n.length>0)throw dv({to:"/"})}}),H5=Ct({getParentRoute:()=>tn,path:"/backlinks",component:_5}),Q5=Ct({getParentRoute:()=>tn,path:"/traffic",component:C5}),K5=Ct({getParentRoute:()=>tn,path:"/traffic/$projectName/$sourceId",component:z5}),Z5=Ct({getParentRoute:()=>tn,path:"*",component:N5}),Y5=tn.addChildren([E5,O5,Kn.addChildren([D5,R5,M5,B5,L5,q5,U5,$5,I5]),V5,P5,G5,H5,Q5,K5,Z5]);function X5(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const cv=X5(),J5=cv==="/"?"":cv.replace(/\/$/,"");function F5(e,n){return Ow({routeTree:Y5,basepath:J5||"/",context:{queryClient:e},...n?.initialEntries})}const W5=6e4;function eB(){const[e,n]=U.useState(nf()?"ready":"checking"),[i,r]=U.useState(""),[l,c]=U.useState(""),[d,h]=U.useState(null),[g,b]=U.useState(!1),[S,x]=U.useState(!1),N=U.useRef(null),_=U.useRef(null),T=()=>{if(!N.current){const R=Xk();_.current=R,N.current=F5(R)}return{queryClient:_.current,router:N.current}};U.useEffect(()=>{if(nf())return;let R=!1;return Hy().then(V=>{R||(V.authenticated?n("ready"):n(V.setupRequired?"setup":"login"))}).catch(V=>{R||(h(V instanceof Error?V.message:"Failed to reach the Canonry API"),n("login"))}),()=>{R=!0}},[]),U.useEffect(()=>{if(e!=="ready"||nf())return;const R=setInterval(()=>{Hy().then(V=>{V.authenticated||(x(!0),n(V.setupRequired?"setup":"login"))}).catch(()=>{})},W5);return Gy(()=>{x(!0),n("login")}),()=>{clearInterval(R),Gy(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 Ak(i.trim())).authenticated){h("Setup failed");return}r(""),c(""),x(!1),n("ready")}catch(V){h(V instanceof Hn||V instanceof Error?V.message:"Setup failed")}finally{b(!1)}},E=async R=>{if(R.preventDefault(),!!i.trim()){b(!0),h(null);try{if(!(await _k(i.trim())).authenticated){h("Incorrect password");return}r(""),x(!1),n("ready")}catch(V){h(V instanceof Hn||V instanceof Error?V.message:"Authentication failed")}finally{b(!1)}}};if(e==="ready"){const{queryClient:R,router:V}=T();return f.jsx(Dw,{client:R,children:f.jsx(Rw,{router:V})})}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(Fl,{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(Df,{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"First-time setup"}),f.jsx(Rf,{children:"Create a dashboard password"}),f.jsx(Mf,{children:"Choose a password to protect the Canonry dashboard. You will use this to sign in on future visits."})]}),f.jsx(Fl,{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(qe,{type:"submit",disabled:g||!i.trim()||!l.trim(),children:g?"Setting up…":"Create password & open dashboard"})]})})]}):f.jsxs(f.Fragment,{children:[f.jsxs(Df,{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),f.jsx(Rf,{children:"Sign in to Canonry"}),f.jsx(Mf,{children:"Enter your dashboard password to continue."})]}),f.jsxs(Fl,{children:[S?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(qe,{type:"submit",disabled:g||!i.trim(),children:g?"Signing in…":"Open dashboard"})]})]})]})})})})}const d1=document.getElementById("root");if(!d1)throw new Error("Expected #root element for web app bootstrap.");Iw.createRoot(d1).render(f.jsx(U.StrictMode,{children:f.jsx(eB,{})}));export{YL as $,TL as A,qe as B,lc as C,gB as D,ML as E,LL as F,hL as G,qL as H,to as I,AB as J,kB as K,CB as L,en as M,LB as N,IL as O,M3 as P,VL as Q,TB as R,D4 as S,Ln as T,UL as U,$L as V,BL as W,_B as X,EB as Y,PL as Z,GL as _,b6 as a,vB as a$,KL as a0,ZL as a1,qk as a2,J0 as a3,Ne as a4,QL as a5,BD as a6,_i as a7,HL as a8,lE as a9,RB as aA,Sp as aB,h6 as aC,y6 as aD,g6 as aE,OB as aF,fA as aG,Mv as aH,jD as aI,kD as aJ,ND as aK,r6 as aL,HB as aM,A6 as aN,xL as aO,vL as aP,wL as aQ,jL as aR,bL as aS,SL as aT,pB as aU,fB as aV,dB as aW,bB as aX,DL as aY,Cb as aZ,OL as a_,cE as aa,yL as ab,gL as ac,dL as ad,nL as ae,lL as af,cL as ag,Hn as ah,uL as ai,sB as aj,_A as ak,CL as al,kA as am,MA as an,UD as ao,nc as ap,pL as aq,fL as ar,jf as as,o6 as at,zB as au,f6 as av,p6 as aw,m6 as ax,DB as ay,Js as az,Yf as b,Xy as b$,SB as b0,EL as b1,xB as b2,wB as b3,NB as b4,jB as b5,go as b6,vp as b7,wR as b8,S5 as b9,$B as bA,PB as bB,Ac as bC,x6 as bD,Np as bE,Ck as bF,yB as bG,MB as bH,BB as bI,Ap as bJ,GB as bK,Is as bL,zb as bM,eL as bN,aL as bO,sL as bP,rL as bQ,tL as bR,iL as bS,oL as bT,B3 as bU,hS as bV,I3 as bW,gS as bX,yS as bY,xA as bZ,WB as b_,Ht as ba,Sk as bb,mB as bc,lB as bd,cB as be,hB as bf,S6 as bg,vk as bh,Nk as bi,oB as bj,rB as bk,wk as bl,uB as bm,k6 as bn,H4 as bo,XL as bp,FL as bq,Ok as br,WL as bs,VB as bt,IB as bu,e6 as bv,JL as bw,_L as bx,qB as by,UB as bz,et as c,u6 as c0,NL as c1,kL as c2,bp as c3,RL as c4,Qs as c5,l6 as c6,d6 as c7,FB as c8,XB as c9,JB as ca,YB as cb,c6 as cc,qT as d,v6 as e,zL as f,jn as g,$b as h,wn as i,mL as j,t6 as k,se as l,n6 as m,a6 as n,s6 as o,i6 as p,QB as q,ZB as r,KB as s,M4 as t,_p as u,w6 as v,j6 as w,N6 as x,Of as y,AL as z};
|
|
210
|
+
competitor2.com`,value:Ot,onChange:ne=>nr(ne.target.value)})]}),ar?f.jsx("p",{className:"text-rose-400 text-sm",children:ar}):null,f.jsxs("div",{className:"setup-nav",children:[f.jsx(qe,{type:"button",variant:"outline",onClick:Yn,children:"Back"}),f.jsxs("div",{className:"flex gap-2",children:[f.jsx(qe,{type:"button",variant:"outline",onClick:()=>N(4),children:"Skip"}),f.jsx(qe,{type:"button",disabled:ti.length===0||Mi,onClick:wn(Zn),children:Mi?"Saving...":`Save ${ti.length} competitor${ti.length!==1?"s":""}`})]})]})]})]});case 4:{const ne=Ic.data,Fe=ne?.status==="completed"||ne?.status==="partial"||ne?.status==="failed"||ne?.status==="cancelled",ai=ne?.snapshots??[],Ao=ai.filter(En=>En.citationState==="cited").length,_o=ai.filter(En=>En.answerMentioned===!0).length,rr=new Set(ai.map(En=>En.query).filter(En=>!!En)).size,or=xo?Fe&&(ne?.status==="completed"||ne?.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"})]}),or]}),xo?Fe?ne?.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(qe,{type:"button",onClick:()=>{S({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:le}),":"]}),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:[_o,f.jsxs("span",{className:"text-zinc-600 text-lg",children:[" / ",rr]})]}),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:[Ao,f.jsxs("span",{className:"text-zinc-600 text-lg",children:[" / ",rr]})]}),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:ai.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(qe,{type:"button",onClick:()=>{S({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:ne?.status??"queued"})]})}),f.jsxs("div",{className:"setup-nav",children:[f.jsx("span",{}),f.jsx(qe,{type:"button",variant:"outline",onClick:()=>{S({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:le}),"."]}),f.jsxs("div",{className:"setup-nav",children:[f.jsx(qe,{type:"button",variant:"outline",onClick:Yn,children:"Back"}),f.jsx(qe,{type:"button",disabled:Ut,onClick:wn(ni),children:Ut?"Launching...":"Launch visibility sweep"})]})]})]})}default:return null}})();return f.jsxs("div",{className:"page-container",children:[f.jsx("div",{className:"page-header",children:f.jsxs("div",{className:"page-header-left",children:[f.jsx("h1",{className:"page-title",children:"Setup"}),f.jsx("p",{className:"page-subtitle",children:"Create a project, add queries, add competitors, and launch the first run."})]})}),f.jsx(w5,{current:x,labels:x5}),f.jsx("section",{className:"setup-wizard",children:ko})]})}function N5(){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(qe,{asChild:!0,children:f.jsx(rt,{to:"/",children:"Return to overview"})})]})})})}const ba=Gs(()=>Hs(()=>import("./ProjectPage-DXYcaMVO.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),"ProjectPage"),k5=Gs(()=>Hs(()=>import("./RunsPage-BJx3_Nel.js"),__vite__mapDeps([9,1,2,7,5,8]),import.meta.url),"RunsPage"),A5=Gs(()=>Hs(()=>import("./SettingsPage-CXTIHdsv.js"),__vite__mapDeps([10,1,7,5,8]),import.meta.url),"SettingsPage"),_5=Gs(()=>Hs(()=>import("./BacklinksPage-DHC1po5Q.js"),__vite__mapDeps([11,1,6,7,5,8]),import.meta.url),"BacklinksPage"),C5=Gs(()=>Hs(()=>import("./TrafficPage-iibCIBqX.js"),__vite__mapDeps([12,1,4,13,7,5,8]),import.meta.url),"TrafficPage"),z5=Gs(()=>Hs(()=>import("./TrafficSourceDetailPage-WU30E_59.js"),__vite__mapDeps([14,1,4,3,5,13,7,8]),import.meta.url),"TrafficSourceDetailPage");function T5(){return f.jsx(tM,{children:f.jsx(eM,{})})}const tn=Ew()({component:T5,validateSearch:e=>({runId:typeof e.runId=="string"?e.runId:void 0,evidenceId:typeof e.evidenceId=="string"?e.evidenceId:void 0})}),E5=Ct({getParentRoute:()=>tn,path:"/",component:iM,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Js({client:se}));if(n&&n.length===0)throw dv({to:"/setup"})}}),O5=Ct({getParentRoute:()=>tn,path:"/projects",component:g5}),Kn=Ct({getParentRoute:()=>tn,path:"/projects/$projectId",component:()=>f.jsx(bf,{})}),D5=Ct({getParentRoute:()=>Kn,path:"/",component:()=>f.jsx(ba,{tab:"overview"})}),R5=Ct({getParentRoute:()=>Kn,path:"/search-console",component:()=>f.jsx(ba,{tab:"search-console"})}),M5=Ct({getParentRoute:()=>Kn,path:"/local",component:()=>f.jsx(ba,{tab:"local"})}),B5=Ct({getParentRoute:()=>Kn,path:"/discovery",component:()=>f.jsx(ba,{tab:"discovery"})}),L5=Ct({getParentRoute:()=>Kn,path:"/report",component:()=>f.jsx(ba,{tab:"report"})}),q5=Ct({getParentRoute:()=>Kn,path:"/activity",component:()=>f.jsx(ba,{tab:"activity"})}),U5=Ct({getParentRoute:()=>Kn,path:"/backlinks",component:()=>f.jsx(ba,{tab:"backlinks"})}),$5=Ct({getParentRoute:()=>Kn,path:"/technical-aeo",component:()=>f.jsx(ba,{tab:"technical-aeo"})}),I5=Ct({getParentRoute:()=>Kn,path:"/settings",component:()=>f.jsx(ba,{tab:"settings"})}),V5=Ct({getParentRoute:()=>tn,path:"/runs",component:k5}),P5=Ct({getParentRoute:()=>tn,path:"/settings",component:A5,beforeLoad:({context:e})=>{}}),G5=Ct({getParentRoute:()=>tn,path:"/setup",component:j5,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Js({client:se}));if(n&&n.length>0)throw dv({to:"/"})}}),H5=Ct({getParentRoute:()=>tn,path:"/backlinks",component:_5}),Q5=Ct({getParentRoute:()=>tn,path:"/traffic",component:C5}),K5=Ct({getParentRoute:()=>tn,path:"/traffic/$projectName/$sourceId",component:z5}),Z5=Ct({getParentRoute:()=>tn,path:"*",component:N5}),Y5=tn.addChildren([E5,O5,Kn.addChildren([D5,R5,M5,B5,L5,q5,U5,$5,I5]),V5,P5,G5,H5,Q5,K5,Z5]);function X5(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const cv=X5(),J5=cv==="/"?"":cv.replace(/\/$/,"");function F5(e,n){return Ow({routeTree:Y5,basepath:J5||"/",context:{queryClient:e},...n?.initialEntries})}const W5=6e4;function eB(){const[e,n]=U.useState(nf()?"ready":"checking"),[i,r]=U.useState(""),[l,c]=U.useState(""),[d,h]=U.useState(null),[g,b]=U.useState(!1),[S,x]=U.useState(!1),N=U.useRef(null),_=U.useRef(null),T=()=>{if(!N.current){const R=Xk();_.current=R,N.current=F5(R)}return{queryClient:_.current,router:N.current}};U.useEffect(()=>{if(nf())return;let R=!1;return Hy().then(V=>{R||(V.authenticated?n("ready"):n(V.setupRequired?"setup":"login"))}).catch(V=>{R||(h(V instanceof Error?V.message:"Failed to reach the Canonry API"),n("login"))}),()=>{R=!0}},[]),U.useEffect(()=>{if(e!=="ready"||nf())return;const R=setInterval(()=>{Hy().then(V=>{V.authenticated||(x(!0),n(V.setupRequired?"setup":"login"))}).catch(()=>{})},W5);return Gy(()=>{x(!0),n("login")}),()=>{clearInterval(R),Gy(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 Ak(i.trim())).authenticated){h("Setup failed");return}r(""),c(""),x(!1),n("ready")}catch(V){h(V instanceof Hn||V instanceof Error?V.message:"Setup failed")}finally{b(!1)}},E=async R=>{if(R.preventDefault(),!!i.trim()){b(!0),h(null);try{if(!(await _k(i.trim())).authenticated){h("Incorrect password");return}r(""),x(!1),n("ready")}catch(V){h(V instanceof Hn||V instanceof Error?V.message:"Authentication failed")}finally{b(!1)}}};if(e==="ready"){const{queryClient:R,router:V}=T();return f.jsx(Dw,{client:R,children:f.jsx(Rw,{router:V})})}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(Fl,{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(Df,{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"First-time setup"}),f.jsx(Rf,{children:"Create a dashboard password"}),f.jsx(Mf,{children:"Choose a password to protect the Canonry dashboard. You will use this to sign in on future visits."})]}),f.jsx(Fl,{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(qe,{type:"submit",disabled:g||!i.trim()||!l.trim(),children:g?"Setting up…":"Create password & open dashboard"})]})})]}):f.jsxs(f.Fragment,{children:[f.jsxs(Df,{children:[f.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),f.jsx(Rf,{children:"Sign in to Canonry"}),f.jsx(Mf,{children:"Enter your dashboard password to continue."})]}),f.jsxs(Fl,{children:[S?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(qe,{type:"submit",disabled:g||!i.trim(),children:g?"Signing in…":"Open dashboard"})]})]})]})})})})}const d1=document.getElementById("root");if(!d1)throw new Error("Expected #root element for web app bootstrap.");Iw.createRoot(d1).render(f.jsx(U.StrictMode,{children:f.jsx(eB,{})}));export{YL as $,TL as A,qe as B,lc as C,gB as D,ML as E,LL as F,hL as G,qL as H,to as I,AB as J,kB as K,CB as L,en as M,LB as N,IL as O,M3 as P,VL as Q,TB as R,D4 as S,Ln as T,UL as U,$L as V,BL as W,_B as X,EB as Y,PL as Z,GL as _,b6 as a,vB as a$,KL as a0,ZL as a1,qk as a2,J0 as a3,Ne as a4,QL as a5,BD as a6,_i as a7,HL as a8,lE as a9,RB as aA,Sp as aB,h6 as aC,y6 as aD,g6 as aE,OB as aF,fA as aG,Mv as aH,jD as aI,kD as aJ,ND as aK,r6 as aL,HB as aM,A6 as aN,xL as aO,vL as aP,wL as aQ,jL as aR,bL as aS,SL as aT,pB as aU,fB as aV,dB as aW,bB as aX,DL as aY,Cb as aZ,OL as a_,cE as aa,yL as ab,gL as ac,dL as ad,nL as ae,lL as af,cL as ag,Hn as ah,uL as ai,sB as aj,_A as ak,CL as al,kA as am,MA as an,UD as ao,nc as ap,pL as aq,fL as ar,jf as as,o6 as at,zB as au,f6 as av,p6 as aw,m6 as ax,DB as ay,Js as az,Yf as b,Xy as b$,SB as b0,EL as b1,xB as b2,wB as b3,NB as b4,jB as b5,go as b6,vp as b7,wR as b8,S5 as b9,$B as bA,PB as bB,Ac as bC,x6 as bD,Np as bE,Ck as bF,yB as bG,MB as bH,BB as bI,Ap as bJ,GB as bK,Is as bL,zb as bM,eL as bN,aL as bO,sL as bP,rL as bQ,tL as bR,iL as bS,oL as bT,B3 as bU,hS as bV,I3 as bW,gS as bX,yS as bY,xA as bZ,WB as b_,Ht as ba,Sk as bb,mB as bc,lB as bd,cB as be,hB as bf,S6 as bg,vk as bh,Nk as bi,oB as bj,rB as bk,wk as bl,uB as bm,k6 as bn,H4 as bo,XL as bp,FL as bq,Ok as br,WL as bs,VB as bt,IB as bu,e6 as bv,JL as bw,_L as bx,qB as by,UB as bz,et as c,u6 as c0,NL as c1,kL as c2,bp as c3,RL as c4,Qs as c5,l6 as c6,d6 as c7,FB as c8,XB as c9,JB as ca,YB as cb,c6 as cc,qT as d,v6 as e,zL as f,jn as g,$b as h,wn as i,mL as j,t6 as k,se as l,n6 as m,a6 as n,s6 as o,i6 as p,QB as q,ZB as r,KB as s,M4 as t,_p as u,w6 as v,j6 as w,N6 as x,Of as y,AL as z};
|