@canonry/canonry 4.135.0 → 4.136.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/assets/{AuditHistoryPanel-BS0dmlrQ.js → AuditHistoryPanel-DKaiIlcO.js} +1 -1
- package/assets/assets/{BacklinksPage-CPpWLVfa.js → BacklinksPage-Z2_ws8c2.js} +1 -1
- package/assets/assets/{ChartPrimitives-Dv--2i87.js → ChartPrimitives-CF_ocuvj.js} +1 -1
- package/assets/assets/{HistoryPage-BO4Fv-9q.js → HistoryPage-DDKO8_D8.js} +1 -1
- package/assets/assets/ProjectPage-hmNsqBov.js +8 -0
- package/assets/assets/{RunRow-BE8zdGJ8.js → RunRow-BhtCgyqA.js} +1 -1
- package/assets/assets/{RunsPage-CbGanhaz.js → RunsPage-B8Nw3wP-.js} +1 -1
- package/assets/assets/{SettingsPage-odOpsOuf.js → SettingsPage-DsmQhytl.js} +1 -1
- package/assets/assets/{TrafficPage-DK7oc0DK.js → TrafficPage-COJs6eRH.js} +1 -1
- package/assets/assets/TrafficSourceDetailPage-BI6IwzMQ.js +1 -0
- package/assets/assets/{arrow-left-DgzLEzZB.js → arrow-left-C-lGPq-u.js} +1 -1
- package/assets/assets/{extract-error-message-vlMjpZb2.js → extract-error-message-8h0hF1I1.js} +1 -1
- package/assets/assets/{index-JhX-wfQO.css → index-B4ksyQXo.css} +1 -1
- package/assets/assets/{index-BMlTgq7D.js → index-BoSfFv1t.js} +2 -2
- package/assets/assets/{trash-2-DX33Ys-K.js → trash-2-CnOZwYKe.js} +1 -1
- package/assets/index.html +2 -2
- package/package.json +8 -8
- package/assets/assets/ProjectPage-Di_nDqtH.js +0 -8
- package/assets/assets/TrafficSourceDetailPage-CEFjQVuF.js +0 -1
|
@@ -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-hmNsqBov.js","./vendor-tanstack-Be8JdV5M.js","./RunRow-BhtCgyqA.js","./ChartPrimitives-CF_ocuvj.js","./extract-error-message-8h0hF1I1.js","./vendor-recharts-DSxTZhaH.js","./trash-2-CnOZwYKe.js","./AuditHistoryPanel-DKaiIlcO.js","./vendor-radix-CQ77EO2y.js","./vendor-markdown-6dwjPOKK.js","./RunsPage-B8Nw3wP-.js","./HistoryPage-DDKO8_D8.js","./SettingsPage-DsmQhytl.js","./BacklinksPage-Z2_ws8c2.js","./TrafficPage-COJs6eRH.js","./arrow-left-C-lGPq-u.js","./TrafficSourceDetailPage-BI6IwzMQ.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{c as uN,d as dN,Q as fN,M as pN,r as q,q as Ae,j as p,L as tt,a as mN,e as Ls,u as ln,f as hN,h as Lc,k as gN,l as yN,m as x0,O as tp,n as ka,o as li,p as bN,s as At,t as Tp,v as Ui,x as vN,y as SN,z as xN}from"./vendor-tanstack-Be8JdV5M.js";import{S as wN,O as Ep,P as w0,C as Op,a as j0,T as Dp,D as N0,R as A0}from"./vendor-radix-CQ77EO2y.js";import{c as k0}from"./vendor-recharts-DSxTZhaH.js";import{M as jN}from"./vendor-markdown-6dwjPOKK.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 u of l)if(u.type==="childList")for(const d of u.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&r(d)}).observe(document,{childList:!0,subtree:!0});function i(l){const u={};return l.integrity&&(u.integrity=l.integrity),l.referrerPolicy&&(u.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?u.credentials="include":l.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function r(l){if(l.ep)return;l.ep=!0;const u=i(l);fetch(l.href,u)}})();var Tf={exports:{}},uo={},Ef={exports:{}},Of={};var Lb;function NN(){return Lb||(Lb=1,(function(e){function n($,ee){var pe=$.length;$.push(ee);e:for(;0<pe;){var Ne=pe-1>>>1,le=$[Ne];if(0<l(le,ee))$[Ne]=ee,$[pe]=le,pe=Ne;else break e}}function i($){return $.length===0?null:$[0]}function r($){if($.length===0)return null;var ee=$[0],pe=$.pop();if(pe!==ee){$[0]=pe;e:for(var Ne=0,le=$.length,Xe=le>>>1;Ne<Xe;){var W=2*(Ne+1)-1,ue=$[W],te=W+1,de=$[te];if(0>l(ue,pe))te<le&&0>l(de,ue)?($[Ne]=de,$[te]=pe,Ne=te):($[Ne]=ue,$[W]=pe,Ne=W);else if(te<le&&0>l(de,pe))$[Ne]=de,$[te]=pe,Ne=te;else break e}}return ee}function l($,ee){var pe=$.sortIndex-ee.sortIndex;return pe!==0?pe:$.id-ee.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var d=Date,h=d.now();e.unstable_now=function(){return d.now()-h}}var y=[],b=[],x=1,w=null,A=3,C=!1,D=!1,k=!1,E=!1,R=typeof setTimeout=="function"?setTimeout:null,H=typeof clearTimeout=="function"?clearTimeout:null,J=typeof setImmediate<"u"?setImmediate:null;function G($){for(var ee=i(b);ee!==null;){if(ee.callback===null)r(b);else if(ee.startTime<=$)r(b),ee.sortIndex=ee.expirationTime,n(y,ee);else break;ee=i(b)}}function V($){if(k=!1,G($),!D)if(i(y)!==null)D=!0,re||(re=!0,ve());else{var ee=i(b);ee!==null&&fe(V,ee.startTime-$)}}var re=!1,O=-1,L=5,ae=-1;function Te(){return E?!0:!(e.unstable_now()-ae<L)}function Me(){if(E=!1,re){var $=e.unstable_now();ae=$;var ee=!0;try{e:{D=!1,k&&(k=!1,H(O),O=-1),C=!0;var pe=A;try{t:{for(G($),w=i(y);w!==null&&!(w.expirationTime>$&&Te());){var Ne=w.callback;if(typeof Ne=="function"){w.callback=null,A=w.priorityLevel;var le=Ne(w.expirationTime<=$);if($=e.unstable_now(),typeof le=="function"){w.callback=le,G($),ee=!0;break t}w===i(y)&&r(y),G($)}else r(y);w=i(y)}if(w!==null)ee=!0;else{var Xe=i(b);Xe!==null&&fe(V,Xe.startTime-$),ee=!1}}break e}finally{w=null,A=pe,C=!1}ee=void 0}}finally{ee?ve():re=!1}}}var ve;if(typeof J=="function")ve=function(){J(Me)};else if(typeof MessageChannel<"u"){var it=new MessageChannel,oe=it.port2;it.port1.onmessage=Me,ve=function(){oe.postMessage(null)}}else ve=function(){R(Me,0)};function fe($,ee){O=R(function(){$(e.unstable_now())},ee)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function($){$.callback=null},e.unstable_forceFrameRate=function($){0>$||125<$?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):L=0<$?Math.floor(1e3/$):5},e.unstable_getCurrentPriorityLevel=function(){return A},e.unstable_next=function($){switch(A){case 1:case 2:case 3:var ee=3;break;default:ee=A}var pe=A;A=ee;try{return $()}finally{A=pe}},e.unstable_requestPaint=function(){E=!0},e.unstable_runWithPriority=function($,ee){switch($){case 1:case 2:case 3:case 4:case 5:break;default:$=3}var pe=A;A=$;try{return ee()}finally{A=pe}},e.unstable_scheduleCallback=function($,ee,pe){var Ne=e.unstable_now();switch(typeof pe=="object"&&pe!==null?(pe=pe.delay,pe=typeof pe=="number"&&0<pe?Ne+pe:Ne):pe=Ne,$){case 1:var le=-1;break;case 2:le=250;break;case 5:le=1073741823;break;case 4:le=1e4;break;default:le=5e3}return le=pe+le,$={id:x++,callback:ee,priorityLevel:$,startTime:pe,expirationTime:le,sortIndex:-1},pe>Ne?($.sortIndex=pe,n(b,$),i(y)===null&&$===i(b)&&(k?(H(O),O=-1):k=!0,fe(V,pe-Ne))):($.sortIndex=le,n(y,$),D||C||(D=!0,re||(re=!0,ve()))),$},e.unstable_shouldYield=Te,e.unstable_wrapCallback=function($){var ee=A;return function(){var pe=A;A=ee;try{return $.apply(this,arguments)}finally{A=pe}}}})(Of)),Of}var qb;function AN(){return qb||(qb=1,Ef.exports=NN()),Ef.exports}var Ub;function kN(){if(Ub)return uo;Ub=1;var e=AN(),n=uN(),i=dN();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 u(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 y(t){if(u(t)!==t)throw Error(r(188))}function b(t){var a=t.alternate;if(!a){if(a=u(t),a===null)throw Error(r(188));return a!==t?null:t}for(var s=t,o=a;;){var f=s.return;if(f===null)break;var m=f.alternate;if(m===null){if(o=f.return,o!==null){s=o;continue}break}if(f.child===m.child){for(m=f.child;m;){if(m===s)return y(f),t;if(m===o)return y(f),a;m=m.sibling}throw Error(r(188))}if(s.return!==o.return)s=f,o=m;else{for(var v=!1,j=f.child;j;){if(j===s){v=!0,s=f,o=m;break}if(j===o){v=!0,o=f,s=m;break}j=j.sibling}if(!v){for(j=m.child;j;){if(j===s){v=!0,s=m,o=f;break}if(j===o){v=!0,o=m,s=f;break}j=j.sibling}if(!v)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 x(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t;for(t=t.child;t!==null;){if(a=x(t),a!==null)return a;t=t.sibling}return null}var w=Object.assign,A=Symbol.for("react.element"),C=Symbol.for("react.transitional.element"),D=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),R=Symbol.for("react.profiler"),H=Symbol.for("react.consumer"),J=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),V=Symbol.for("react.suspense"),re=Symbol.for("react.suspense_list"),O=Symbol.for("react.memo"),L=Symbol.for("react.lazy"),ae=Symbol.for("react.activity"),Te=Symbol.for("react.memo_cache_sentinel"),Me=Symbol.iterator;function ve(t){return t===null||typeof t!="object"?null:(t=Me&&t[Me]||t["@@iterator"],typeof t=="function"?t:null)}var it=Symbol.for("react.client.reference");function oe(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===it?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 V:return"Suspense";case re:return"SuspenseList";case ae:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case D:return"Portal";case J:return t.displayName||"Context";case H:return(t._context.displayName||"Context")+".Consumer";case G: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:oe(t.type)||"Memo";case L:a=t._payload,t=t._init;try{return oe(t(a))}catch{}}return null}var fe=Array.isArray,$=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,pe={pending:!1,data:null,method:null,action:null},Ne=[],le=-1;function Xe(t){return{current:t}}function W(t){0>le||(t.current=Ne[le],Ne[le]=null,le--)}function ue(t,a){le++,Ne[le]=t.current,t.current=a}var te=Xe(null),de=Xe(null),ie=Xe(null),Ce=Xe(null);function st(t,a){switch(ue(ie,a),ue(de,t),ue(te,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?rb(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=rb(a),t=ob(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(ie)}function Pe(t){t.memoizedState!==null&&ue(Ce,t);var a=te.current,s=ob(a,t.type);a!==s&&(ue(de,t),ue(te,s))}function Ze(t){de.current===t&&(W(te),W(de)),Ce.current===t&&(W(Ce),ro._currentValue=pe)}var Bt,Hn;function Lt(t){if(Bt===void 0)try{throw Error()}catch(s){var a=s.stack.trim().match(/\n( *(at )?)/);Bt=a&&a[1]||"",Hn=-1<s.stack.indexOf(`
|
|
3
3
|
at`)?" (<anonymous>)":-1<s.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
4
|
`+Bt+t+Hn}var yr=!1;function Ki(t,a){if(!t||yr)return"";yr=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var o={DetermineComponentFrameRoot:function(){try{if(a){var F=function(){throw Error()};if(Object.defineProperty(F.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(F,[])}catch(P){var U=P}Reflect.construct(t,[],F)}else{try{F.call()}catch(P){U=P}t.call(F.prototype)}}else{try{throw Error()}catch(P){U=P}(F=t())&&typeof F.catch=="function"&&F.catch(function(){})}}catch(P){if(P&&U&&typeof P.stack=="string")return[P.stack,U.stack]}return[null,null]}};o.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var f=Object.getOwnPropertyDescriptor(o.DetermineComponentFrameRoot,"name");f&&f.configurable&&Object.defineProperty(o.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var m=o.DetermineComponentFrameRoot(),v=m[0],j=m[1];if(v&&j){var _=v.split(`
|
|
@@ -207,4 +207,4 @@ spec:
|
|
|
207
207
|
`);$(ut)}}catch(se){Ze(se instanceof Error?se.message:"Failed to generate queries")}finally{xe(!1)}}},Xi=async()=>{if(!ae)return;const se=Ot;if(se.length!==0){Qi(!0),$o(null);try{await jC(ae,se),yr(!0),await r(),A(4)}catch(ut){$o(ut instanceof Error?ut.message:"Failed to save competitors")}finally{Qi(!1)}}},Ji=async()=>{const se=Ta.trim();if(se){Ko(!0),Ea(null);try{await CC("gemini",{apiKey:se}),Xt({title:"Gemini configured",detail:"Provider is ready — continuing setup.",tone:"positive",dedupeKey:"setup:gemini:configured",dedupeMode:"drop"}),Ho(""),await r()}catch(ut){Ea(ut instanceof Error?ut.message:"Failed to save Gemini key")}finally{Ko(!1)}}},Wn=async()=>{if(ae){Po(!0);try{const se=await Vo.mutateAsync({projectName:ae,projectLabel:k||C||ae,sourceAction:"setup-launch"});fu(se.id),vr(!0),await r()}catch{}finally{Po(!1)}}},yn=()=>A(se=>Math.max(0,se-1)),hi=(()=>{switch(w){case 0:return p.jsxs(En,{className:"surface-card step-card",children:[p.jsx("div",{className:"section-head",children:p.jsxs("div",{children:[p.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 1 of 5"}),p.jsx("h2",{children:"System ready"})]})}),p.jsx("p",{className:"supporting-copy",children:"Checking that your Canonry instance is configured and reachable."}),p.jsx("div",{className:"compact-stack",children:b.healthChecks.map(se=>p.jsxs("div",{className:"health-check-row",children:[p.jsxs("div",{children:[p.jsx("p",{className:"run-row-title",children:se.label}),p.jsx("p",{className:"supporting-copy",children:se.detail}),se.id==="provider"&&se.state!=="ready"&&p.jsxs("div",{className:"mt-3 rounded-md border border-default bg-bg-elevated/40 p-3 space-y-2",children:[p.jsxs("p",{className:"text-xs text-secondary",children:["Paste a Gemini key to enable visibility checks (free at"," ",p.jsx("a",{href:"https://aistudio.google.com/apikey",target:"_blank",rel:"noreferrer",className:"text-positive-400 hover:text-positive underline underline-offset-2",children:"aistudio.google.com"}),")."]}),p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("input",{type:"password",value:Ta,onChange:ut=>Ho(ut.target.value),placeholder:"AI... (paste here)",className:"flex-1 rounded-md border border-base bg-bg px-2.5 py-1.5 text-sm text-heading placeholder:text-faint focus:border-mono-600 focus:outline-none font-mono",disabled:Yi}),p.jsx(Ie,{type:"button",size:"sm",disabled:Yi||!Ta.trim(),onClick:Tn(Ji),children:Yi?"Saving...":"Save"})]}),Qo&&p.jsx("p",{className:"text-xs text-negative-400",children:Qo}),p.jsxs("p",{className:"text-[11px] text-faint",children:["Other providers (OpenAI, Claude, Perplexity) configurable later via"," ",p.jsx(tt,{to:"/settings",className:"text-muted hover:text-neutral underline underline-offset-2",children:"/settings"}),"."]})]})]}),p.jsx(_n,{tone:se.state==="ready"?"positive":"caution",title:se.id==="api"?ir(y.apiStatus):se.id==="worker"?ir(y.workerStatus):se.detail,children:se.state==="ready"?"Ready":"Attention"})]},se.id))}),p.jsxs("div",{className:"setup-nav",children:[p.jsx("span",{}),p.jsx(Ie,{type:"button",disabled:!pu,onClick:()=>A(1),children:"Continue"})]})]});case 1:return p.jsxs(En,{className:"surface-card step-card",children:[p.jsxs("div",{className:"section-head",children:[p.jsxs("div",{children:[p.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 2 of 5"}),p.jsx("h2",{children:"Create project"})]}),ae?p.jsx(_n,{tone:"positive",children:"Created"}):null]}),ae?p.jsxs("div",{className:"compact-stack",children:[p.jsxs("p",{className:"text-neutral",children:["Project ",p.jsx("span",{className:"text-heading font-medium",children:ae})," created successfully."]}),p.jsxs("div",{className:"setup-nav",children:[p.jsx(Ie,{type:"button",variant:"outline",onClick:yn,children:"Back"}),p.jsx(Ie,{type:"button",onClick:()=>A(2),children:"Continue"})]})]}):p.jsxs("div",{className:"compact-stack",children:[p.jsxs("div",{className:"setup-field",children:[p.jsx("label",{className:"setup-label",htmlFor:"project-name",children:"Project name"}),p.jsx("input",{id:"project-name",className:"setup-input",type:"text",placeholder:"my-website",value:C,onChange:se=>D(se.target.value)}),vt&&vt!==C?p.jsxs("p",{className:"supporting-copy",children:["Slug: ",vt]}):null]}),p.jsxs("div",{className:"setup-field",children:[p.jsx("label",{className:"setup-label",htmlFor:"display-name",children:"Display name (optional)"}),p.jsx("input",{id:"display-name",className:"setup-input",type:"text",placeholder:"My Website",value:k,onChange:se=>E(se.target.value)})]}),p.jsxs("div",{className:"setup-field",children:[p.jsx("label",{className:"setup-label",htmlFor:"domain",children:"Canonical domain"}),p.jsx("input",{id:"domain",className:"setup-input",type:"text",placeholder:"example.com",value:R,onChange:se=>H(se.target.value)})]}),p.jsxs("div",{className:"setup-field-row",children:[p.jsxs("div",{className:"setup-field",children:[p.jsx("label",{className:"setup-label",htmlFor:"country",children:"Country"}),p.jsx("input",{id:"country",className:"setup-input",type:"text",placeholder:"US",maxLength:2,value:J,onChange:se=>G(se.target.value.toUpperCase())})]}),p.jsxs("div",{className:"setup-field",children:[p.jsx("label",{className:"setup-label",htmlFor:"language",children:"Language"}),p.jsx("input",{id:"language",className:"setup-input",type:"text",placeholder:"en",maxLength:5,value:V,onChange:se=>re(se.target.value.toLowerCase())})]})]}),p.jsxs("label",{className:"flex items-start gap-3 rounded-md border border-default bg-surface p-3 cursor-pointer hover:border-strong",children:[p.jsx("input",{type:"checkbox",className:"mt-0.5 h-4 w-4 rounded border-strong bg-bg",checked:O,onChange:se=>L(se.target.checked)}),p.jsxs("span",{className:"flex-1",children:[p.jsx("span",{className:"block text-sm text-heading",children:"Auto-extract backlinks"}),p.jsxs("span",{className:"block text-xs text-muted mt-0.5",children:["When a new Common Crawl release syncs, automatically extract backlinks for this project."," ",p.jsx(tt,{to:"/backlinks",className:"text-positive-400 hover:text-positive underline underline-offset-2",children:"Manage backlinks"})]})]})]}),Me?p.jsx("p",{className:"text-negative-400 text-sm",children:Me}):null,p.jsxs("div",{className:"setup-nav",children:[p.jsx(Ie,{type:"button",variant:"outline",onClick:yn,children:"Back"}),p.jsx(Ie,{type:"button",disabled:!vt||!R||it,onClick:Tn(mu),children:it?"Creating...":"Create project"})]})]})]});case 2:return p.jsxs(En,{className:"surface-card step-card",children:[p.jsxs("div",{className:"section-head",children:[p.jsxs("div",{children:[p.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 3 of 5"}),p.jsx("h2",{children:"Add queries"})]}),ee?p.jsxs(_n,{tone:"positive",children:[qt.length," saved"]}):p.jsxs(_n,{tone:"neutral",children:[qt.length," quer",qt.length!==1?"ies":"y"]})]}),p.jsx("p",{className:"supporting-copy",children:"Enter the search queries you want to track. One per line."}),ee?p.jsxs("div",{className:"compact-stack",children:[p.jsx("ul",{className:"detail-list",children:qt.map(se=>p.jsx("li",{children:se},se))}),p.jsxs("div",{className:"setup-nav",children:[p.jsx(Ie,{type:"button",variant:"outline",onClick:yn,children:"Back"}),p.jsx(Ie,{type:"button",onClick:()=>A(3),children:"Continue"})]})]}):p.jsxs("div",{className:"compact-stack",children:[ue.length>0?p.jsxs("div",{className:"compact-stack",children:[p.jsxs("div",{className:"flex items-center gap-2 text-muted text-xs uppercase tracking-wide",children:[p.jsx("span",{className:"flex-1 border-t border-base"}),"auto-generate",p.jsx("span",{className:"flex-1 border-t border-base"})]}),p.jsxs("div",{className:"flex items-end gap-2",children:[p.jsxs("div",{className:"setup-field flex-1",children:[p.jsx("label",{className:"setup-label",htmlFor:"gen-provider",children:"Provider"}),p.jsx("select",{id:"gen-provider",className:"setup-input",value:te,onChange:se=>de(se.target.value),children:ue.map(se=>p.jsxs("option",{value:se.name,children:[se.displayName??se.name,se.model?` (${se.model})`:""]},se.name))})]}),p.jsxs("div",{className:"setup-field",children:[p.jsx("label",{className:"setup-label",htmlFor:"gen-count",children:"Count"}),p.jsx("select",{id:"gen-count",className:"setup-input",value:ie,onChange:se=>Ce(Number(se.target.value)),children:[3,5,10,15,20].map(se=>p.jsx("option",{value:se,children:se},se))})]}),p.jsx(Ie,{type:"button",variant:"outline",disabled:st||!te,onClick:Tn(Fi),children:st?"Analyzing site...":"Generate"})]}),Pe?p.jsx("p",{className:"text-negative-400 text-sm",children:Pe}):null]}):null,p.jsxs("div",{className:"flex items-center gap-2 text-muted text-xs uppercase tracking-wide",children:[p.jsx("span",{className:"flex-1 border-t border-base"}),"or type manually",p.jsx("span",{className:"flex-1 border-t border-base"})]}),p.jsxs("div",{className:"setup-field",children:[p.jsx("label",{className:"setup-label",htmlFor:"queries",children:"Queries (one per line)"}),p.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:fe,onChange:se=>$(se.target.value)})]}),Ne?p.jsx("p",{className:"text-negative-400 text-sm",children:Ne}):null,p.jsxs("div",{className:"setup-nav",children:[p.jsx(Ie,{type:"button",variant:"outline",onClick:yn,children:"Back"}),p.jsx(Ie,{type:"button",disabled:qt.length===0||Xe,onClick:Tn(hu),children:Xe?"Saving...":`Save ${qt.length} quer${qt.length!==1?"ies":"y"}`})]})]})]});case 3:return p.jsxs(En,{className:"surface-card step-card",children:[p.jsxs("div",{className:"section-head",children:[p.jsxs("div",{children:[p.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 4 of 5"}),p.jsx("h2",{children:"Add competitors"})]}),Lt?p.jsx(_n,{tone:"positive",children:"Saved"}):null]}),p.jsx("p",{className:"supporting-copy",children:"Domains that compete for the same queries. One per line."}),Lt?p.jsxs("div",{className:"compact-stack",children:[p.jsx("ul",{className:"detail-list",children:Ot.map(se=>p.jsx("li",{children:se},se))}),p.jsxs("div",{className:"setup-nav",children:[p.jsx(Ie,{type:"button",variant:"outline",onClick:yn,children:"Back"}),p.jsx(Ie,{type:"button",onClick:()=>A(4),children:"Continue"})]})]}):p.jsxs("div",{className:"compact-stack",children:[p.jsxs("div",{className:"setup-field",children:[p.jsx("label",{className:"setup-label",htmlFor:"competitors",children:"Competitor domains (one per line)"}),p.jsx("textarea",{id:"competitors",className:"setup-textarea",rows:4,placeholder:`competitor1.com
|
|
210
|
-
competitor2.com`,value:Bt,onChange:se=>Hn(se.target.value)})]}),Ki?p.jsx("p",{className:"text-negative-400 text-sm",children:Ki}):null,p.jsxs("div",{className:"setup-nav",children:[p.jsx(Ie,{type:"button",variant:"outline",onClick:yn,children:"Back"}),p.jsxs("div",{className:"flex gap-2",children:[p.jsx(Ie,{type:"button",variant:"outline",onClick:()=>A(4),children:"Skip"}),p.jsx(Ie,{type:"button",disabled:Ot.length===0||br,onClick:Tn(Xi),children:br?"Saving...":`Save ${Ot.length} competitor${Ot.length!==1?"s":""}`})]})]})]})]});case 4:{const se=Go.data,ut=se?.status==="completed"||se?.status==="partial"||se?.status==="failed"||se?.status==="cancelled",ea=se?.snapshots??[],gi=ea.filter(Kn=>Kn.citationState==="cited").length,gu=ea.filter(Kn=>Kn.answerMentioned===!0).length,Sr=new Set(ea.map(Kn=>Kn.query).filter(Kn=>!!Kn)).size,Zo=Zi?ut&&(se?.status==="completed"||se?.status==="partial")?p.jsx(_n,{tone:"positive",children:"Complete"}):ut?p.jsx(_n,{tone:"negative",children:"Failed"}):p.jsx(_n,{tone:"caution",children:"Running"}):null;return p.jsxs(En,{className:"surface-card step-card",children:[p.jsxs("div",{className:"section-head",children:[p.jsxs("div",{children:[p.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 5 of 5"}),p.jsx("h2",{children:"Launch first run"})]}),Zo]}),Zi?ut?se?.status==="failed"?p.jsxs("div",{className:"compact-stack",children:[p.jsx("p",{className:"text-negative-400",children:"Sweep failed. Inspect the run on the project page for the provider error and retry from there."}),p.jsxs("div",{className:"setup-nav",children:[p.jsx("span",{}),p.jsx(Ie,{type:"button",onClick:()=>{x({to:ae?`/projects/${encodeURIComponent(ae)}`:"/"})},children:"Open project"})]})]}):p.jsxs("div",{className:"compact-stack",children:[p.jsxs("p",{className:"text-neutral",children:["Sweep complete. Your first answer-visibility snapshot for"," ",p.jsx("span",{className:"text-heading font-medium",children:ae}),":"]}),p.jsxs("div",{className:"grid grid-cols-3 gap-2 mt-1",children:[p.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[p.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted",children:"Mentioned"}),p.jsxs("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:[gu,p.jsxs("span",{className:"text-faint text-lg",children:[" / ",Sr]})]}),p.jsx("p",{className:"text-[11px] text-muted mt-0.5",children:"queries with brand in answer"})]}),p.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[p.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted",children:"Cited"}),p.jsxs("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:[gi,p.jsxs("span",{className:"text-faint text-lg",children:[" / ",Sr]})]}),p.jsx("p",{className:"text-[11px] text-muted mt-0.5",children:"queries with domain in sources"})]}),p.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[p.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted",children:"Snapshots"}),p.jsx("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:ea.length}),p.jsx("p",{className:"text-[11px] text-muted mt-0.5",children:"total (query × provider)"})]})]}),p.jsx("p",{className:"text-[11px] text-muted mt-1",children:"Full evidence, per-provider breakdown, and suggested next queries on the project dashboard."}),p.jsxs("div",{className:"setup-nav",children:[p.jsx("span",{}),p.jsx(Ie,{type:"button",onClick:()=>{x({to:ae?`/projects/${encodeURIComponent(ae)}`:"/"})},children:"Open project dashboard →"})]})]}):p.jsxs("div",{className:"compact-stack",children:[p.jsx("p",{className:"text-neutral",children:"Sweep running — typically 30-60s. Polling every 2s…"}),p.jsx("div",{className:"rounded-md border border-default bg-surface p-3 text-xs text-muted",children:p.jsxs("p",{children:["Status: ",p.jsx("span",{className:"text-neutral",children:se?.status??"queued"})]})}),p.jsxs("div",{className:"setup-nav",children:[p.jsx("span",{}),p.jsx(Ie,{type:"button",variant:"outline",onClick:()=>{x({to:ae?`/projects/${encodeURIComponent(ae)}`:"/"})},children:"Watch on project page"})]})]}):p.jsxs("div",{className:"compact-stack",children:[p.jsxs("p",{className:"supporting-copy",children:["Everything is configured. Launch an answer-visibility sweep to start tracking citations for ",p.jsx("span",{className:"text-heading font-medium",children:ae}),"."]}),p.jsxs("div",{className:"setup-nav",children:[p.jsx(Ie,{type:"button",variant:"outline",onClick:yn,children:"Back"}),p.jsx(Ie,{type:"button",disabled:Io,onClick:Tn(Wn),children:Io?"Launching...":"Launch visibility sweep"})]})]})]})}default:return null}})();return p.jsxs("div",{className:"page-container",children:[p.jsx("div",{className:"page-header",children:p.jsxs("div",{className:"page-header-left",children:[p.jsx("h1",{className:"page-title",children:"Setup"}),p.jsx("p",{className:"page-subtitle",children:"Create a project, add queries, add competitors, and launch the first run."})]})}),p.jsx(Tq,{current:w,labels:_q}),p.jsx("section",{className:"setup-wizard",children:hi})]})}function Oq(){return p.jsx("div",{className:"page-container",children:p.jsx("section",{className:"page-section",children:p.jsxs(En,{className:"surface-card empty-card",children:[p.jsx("h1",{children:"Route not found"}),p.jsx("p",{children:"The current path does not map to a dashboard view."}),p.jsx(Ie,{asChild:!0,children:p.jsx(tt,{to:"/",children:"Return to overview"})})]})})})}const Jn=Ui(()=>$i(()=>import("./ProjectPage-Di_nDqtH.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]),import.meta.url),"ProjectPage"),Dq=Ui(()=>$i(()=>import("./RunsPage-CbGanhaz.js"),__vite__mapDeps([10,1,2,8,5,9]),import.meta.url),"RunsPage"),zq=Ui(()=>$i(()=>import("./HistoryPage-BO4Fv-9q.js"),__vite__mapDeps([11,1,7,8,5,9]),import.meta.url),"HistoryPage"),Rq=Ui(()=>$i(()=>import("./SettingsPage-odOpsOuf.js"),__vite__mapDeps([12,1,8,5,9]),import.meta.url),"SettingsPage"),Mq=Ui(()=>$i(()=>import("./BacklinksPage-CPpWLVfa.js"),__vite__mapDeps([13,1,6,8,5,9]),import.meta.url),"BacklinksPage"),Bq=Ui(()=>$i(()=>import("./TrafficPage-DK7oc0DK.js"),__vite__mapDeps([14,1,4,15,8,5,9]),import.meta.url),"TrafficPage"),Lq=Ui(()=>$i(()=>import("./TrafficSourceDetailPage-CEFjQVuF.js"),__vite__mapDeps([16,1,4,3,5,15,8,9]),import.meta.url),"TrafficSourceDetailPage");function qq(){return p.jsx(l6,{children:p.jsx(o6,{})})}const Wt=bN()({component:qq,validateSearch:e=>({runId:typeof e.runId=="string"?e.runId:void 0,evidenceId:typeof e.evidenceId=="string"?e.evidenceId:void 0,runStatus:typeof e.runStatus=="string"?e.runStatus:void 0,runKind:typeof e.runKind=="string"?e.runKind:void 0,runProject:typeof e.runProject=="string"?e.runProject:void 0,runWindow:typeof e.runWindow=="string"?e.runWindow:void 0,runQuery:typeof e.runQuery=="string"?e.runQuery:void 0})}),Uq=At({getParentRoute:()=>Wt,path:"/",component:d6,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Vi({client:ne}));if(n&&n.length===0)throw Tp({to:"/setup"})}}),$q=At({getParentRoute:()=>Wt,path:"/projects",component:jq}),Iq=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Gn=At({getParentRoute:()=>Wt,path:"/projects/$projectName",component:()=>p.jsx(tp,{}),beforeLoad:async({context:e,params:n,location:i})=>{const r=n.projectName;if(!Iq.test(r))return;let l=e.queryClient.getQueryData(Vi({client:ne}));if(!l)try{l=await e.queryClient.ensureQueryData(Yc({client:ne}))}catch{return}const u=l.find(d=>d.id===r);if(u)throw Tp({to:i.pathname.replace(`/projects/${r}`,`/projects/${encodeURIComponent(u.name)}`),replace:!0})}}),Pq=At({getParentRoute:()=>Gn,path:"/",component:()=>p.jsx(Jn,{tab:"overview"})}),Vq=At({getParentRoute:()=>Gn,path:"/search-console",component:()=>p.jsx(Jn,{tab:"search-console"})}),Gq=At({getParentRoute:()=>Gn,path:"/local",component:()=>p.jsx(Jn,{tab:"local"})}),Hq=At({getParentRoute:()=>Gn,path:"/discovery",component:()=>p.jsx(Jn,{tab:"discovery"})}),Kq=At({getParentRoute:()=>Gn,path:"/report",component:()=>p.jsx(Jn,{tab:"report"})}),Qq=At({getParentRoute:()=>Gn,path:"/activity",component:()=>p.jsx(Jn,{tab:"activity"})}),Zq=At({getParentRoute:()=>Gn,path:"/backlinks",component:()=>p.jsx(Jn,{tab:"backlinks"})}),Yq=At({getParentRoute:()=>Gn,path:"/technical-aeo",component:()=>p.jsx(Jn,{tab:"technical-aeo"})}),Fq=At({getParentRoute:()=>Gn,path:"/history",component:()=>p.jsx(Jn,{tab:"history"})}),Xq=At({getParentRoute:()=>Gn,path:"/settings",component:()=>p.jsx(Jn,{tab:"settings"})}),Jq=At({getParentRoute:()=>Wt,path:"/runs",component:Dq}),Wq=At({getParentRoute:()=>Wt,path:"/history",component:zq}),eU=At({getParentRoute:()=>Wt,path:"/settings",component:Rq,beforeLoad:({context:e})=>{}}),tU=At({getParentRoute:()=>Wt,path:"/setup",component:Eq,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Vi({client:ne}));if(n&&n.length>0)throw Tp({to:"/"})}}),nU=At({getParentRoute:()=>Wt,path:"/backlinks",component:Mq}),aU=At({getParentRoute:()=>Wt,path:"/traffic",component:Bq}),iU=At({getParentRoute:()=>Wt,path:"/traffic/$projectName/$sourceId",component:Lq}),sU=At({getParentRoute:()=>Wt,path:"*",component:Oq}),rU=Wt.addChildren([Uq,$q,Gn.addChildren([Pq,Vq,Gq,Hq,Kq,Qq,Zq,Yq,Fq,Xq]),Jq,Wq,eU,tU,nU,aU,iU,sU]);function oU(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const S0=oU(),lU=S0==="/"?"":S0.replace(/\/$/,"");function cU(e,n){return vN({routeTree:rU,basepath:lU||"/",context:{queryClient:e},...n?.initialEntries})}const uU=6e4;function dU(){const[e,n]=q.useState(zf()?"ready":"checking"),[i,r]=q.useState(""),[l,u]=q.useState(""),[d,h]=q.useState(null),[y,b]=q.useState(!1),[x,w]=q.useState(!1),A=q.useRef(null),C=q.useRef(null),D=()=>{if(!A.current){const R=ZC();C.current=R,A.current=cU(R)}return{queryClient:C.current,router:A.current}};q.useEffect(()=>{if(zf())return;let R=!1;return Gb().then(H=>{R||(H.authenticated?n("ready"):n(H.setupRequired?"setup":"login"))}).catch(H=>{R||(h(H instanceof Error?H.message:"Failed to reach the Canonry API"),n("login"))}),()=>{R=!0}},[]),q.useEffect(()=>{if(e!=="ready"||zf())return;const R=setInterval(()=>{Gb().then(H=>{H.authenticated||(w(!0),n(H.setupRequired?"setup":"login"))}).catch(()=>{})},uU);return Vb(()=>{w(!0),n("login")}),()=>{clearInterval(R),Vb(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 AC(i.trim())).authenticated){h("Setup failed");return}r(""),u(""),w(!1),n("ready")}catch(H){h(H instanceof In||H instanceof Error?H.message:"Setup failed")}finally{b(!1)}},E=async R=>{if(R.preventDefault(),!!i.trim()){b(!0),h(null);try{if(!(await kC(i.trim())).authenticated){h("Incorrect password");return}r(""),w(!1),n("ready")}catch(H){h(H instanceof In||H instanceof Error?H.message:"Authentication failed")}finally{b(!1)}}};if(e==="ready"){const{queryClient:R,router:H}=D();return p.jsx(SN,{client:R,children:p.jsx(xN,{router:H})})}return p.jsx("div",{className:"min-h-screen bg-bg px-4 py-8",children:p.jsx("div",{className:"mx-auto flex min-h-[calc(100vh-4rem)] max-w-md items-center justify-center",children:p.jsx(En,{className:"surface-card w-full",children:e==="checking"?p.jsx(Sc,{className:"py-8",children:p.jsx("p",{className:"supporting-copy text-center",children:"Connecting to Canonry…"})}):e==="setup"?p.jsxs(p.Fragment,{children:[p.jsxs(Sp,{children:[p.jsx("p",{className:"eyebrow eyebrow-soft",children:"First-time setup"}),p.jsx(xp,{children:"Create a dashboard password"}),p.jsx(wp,{children:"Choose a password to protect the Canonry dashboard. You will use this to sign in on future visits."})]}),p.jsx(Sc,{children:p.jsxs("form",{className:"space-y-4",onSubmit:Tn(k),children:[p.jsxs("label",{className:"block space-y-1.5",children:[p.jsx("span",{className:"text-xs font-medium text-secondary",children:"Password"}),p.jsx("input",{autoFocus:!0,className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"password",value:i,onChange:R=>r(R.target.value),placeholder:"At least 8 characters"})]}),p.jsxs("label",{className:"block space-y-1.5",children:[p.jsx("span",{className:"text-xs font-medium text-secondary",children:"Confirm password"}),p.jsx("input",{className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"password",value:l,onChange:R=>u(R.target.value),placeholder:"Re-enter password"})]}),d?p.jsx("p",{className:"text-sm text-negative-400",children:d}):null,p.jsx(Ie,{type:"submit",disabled:y||!i.trim()||!l.trim(),children:y?"Setting up…":"Create password & open dashboard"})]})})]}):p.jsxs(p.Fragment,{children:[p.jsxs(Sp,{children:[p.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),p.jsx(xp,{children:"Sign in to Canonry"}),p.jsx(wp,{children:"Enter your dashboard password to continue."})]}),p.jsxs(Sc,{children:[x?p.jsx("p",{className:"mb-4 rounded-md border border-caution bg-caution-soft px-3 py-2 text-sm text-caution",children:"Your session expired — please sign in again."}):null,p.jsxs("form",{className:"space-y-4",onSubmit:Tn(E),children:[p.jsxs("label",{className:"block space-y-1.5",children:[p.jsx("span",{className:"text-xs font-medium text-secondary",children:"Password"}),p.jsx("input",{autoFocus:!0,className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"password",value:i,onChange:R=>r(R.target.value),placeholder:"Dashboard password"})]}),d?p.jsx("p",{className:"text-sm text-negative-400",children:d}):null,p.jsx(Ie,{type:"submit",disabled:y||!i.trim(),children:y?"Signing in…":"Open dashboard"})]})]})]})})})})}const Jx=document.getElementById("root");if(!Jx)throw new Error("Expected #root element for web app bootstrap.");_N.createRoot(Jx).render(p.jsx(q.StrictMode,{children:p.jsx(dU,{})}));export{m8 as $,V$ as A,Ie as B,Ec as C,Q$ as D,_U as E,s8 as F,C$ as G,o8 as H,ho as I,l8 as J,qU as K,LU as L,$U as M,Xt as N,ZU as O,qL as P,d8 as Q,f8 as R,N3 as S,_n as T,PU as U,c8 as V,u8 as W,r8 as X,UU as Y,VU as Z,p8 as _,H8 as a,B$ as a$,x8 as a0,y8 as a1,v8 as a2,b8 as a3,S8 as a4,LC as a5,Sm as a6,_e as a7,g8 as a8,$1 as a9,K3 as aA,W$ as aB,t8 as aC,e8 as aD,I$ as aE,P$ as aF,U8 as aG,$8 as aH,I8 as aI,GU as aJ,Vi as aK,HU as aL,bm as aM,P8 as aN,G8 as aO,V8 as aP,$3 as aQ,Y8 as aR,K0 as aS,Y0 as aT,z8 as aU,i8 as aV,z$ as aW,D8 as aX,D$ as aY,n$ as aZ,eI as a_,Aa as aa,h8 as ab,Dz as ac,zz as ad,E$ as ae,T$ as af,j$ as ag,m$ as ah,S$ as ai,x$ as aj,In as ak,w$ as al,yU as am,Q0 as an,H$ as ao,N_ as ap,z_ as aq,PB as ar,Nc as as,A$ as at,N$ as au,rp as av,R8 as aw,IU as ax,_$ as ay,B3 as az,$p as b,TU as b$,R$ as b0,L$ as b1,q$ as b2,O$ as b3,M$ as b4,kU as b5,AU as b6,NU as b7,a$ as b8,EU as b9,xC as bA,jU as bB,M3 as bC,W8 as bD,w8 as bE,N8 as bF,OC as bG,A8 as bH,WU as bI,JU as bJ,k8 as bK,j8 as bL,G$ as bM,YU as bN,FU as bO,XU as bP,e$ as bQ,Js as bR,vm as bS,Z8 as bT,Wc as bU,jm as bV,n8 as bW,a8 as bX,CC as bY,fC as bZ,gU as b_,F$ as ba,Lv as bb,Y$ as bc,OU as bd,DU as be,Z$ as bf,zU as bg,RU as bh,BU as bi,MU as bj,Ro as bk,Yc as bl,_5 as bm,U0 as bn,J$ as bo,Cq as bp,Ft as bq,vC as br,T3 as bs,CU as bt,xU as bu,wU as bv,Q8 as bw,vU as bx,SU as by,bU as bz,nt as c,KU as c0,QU as c1,eu as c2,Nm as c3,t$ as c4,ir as c5,Uv as c6,f$ as c7,h$ as c8,y$ as c9,b$ as ca,p$ as cb,g$ as cc,v$ as cd,UL as ce,ix as cf,GL as cg,sx as ch,rx as ci,b_ as cj,d$ as ck,Yb as cl,L8 as cm,U$ as cn,$$ as co,pm as cp,X$ as cq,or as cr,M8 as cs,q8 as ct,u$ as cu,l$ as cv,c$ as cw,o$ as cx,B8 as cy,FD as d,K8 as e,K$ as f,En as g,Fv as h,lC as i,Tn as j,k$ as k,C8 as l,ne as m,_8 as n,T8 as o,O8 as p,E8 as q,i$ as r,r$ as s,k3 as t,Am as u,s$ as v,F8 as w,X8 as x,J8 as y,vp as z};
|
|
210
|
+
competitor2.com`,value:Bt,onChange:se=>Hn(se.target.value)})]}),Ki?p.jsx("p",{className:"text-negative-400 text-sm",children:Ki}):null,p.jsxs("div",{className:"setup-nav",children:[p.jsx(Ie,{type:"button",variant:"outline",onClick:yn,children:"Back"}),p.jsxs("div",{className:"flex gap-2",children:[p.jsx(Ie,{type:"button",variant:"outline",onClick:()=>A(4),children:"Skip"}),p.jsx(Ie,{type:"button",disabled:Ot.length===0||br,onClick:Tn(Xi),children:br?"Saving...":`Save ${Ot.length} competitor${Ot.length!==1?"s":""}`})]})]})]})]});case 4:{const se=Go.data,ut=se?.status==="completed"||se?.status==="partial"||se?.status==="failed"||se?.status==="cancelled",ea=se?.snapshots??[],gi=ea.filter(Kn=>Kn.citationState==="cited").length,gu=ea.filter(Kn=>Kn.answerMentioned===!0).length,Sr=new Set(ea.map(Kn=>Kn.query).filter(Kn=>!!Kn)).size,Zo=Zi?ut&&(se?.status==="completed"||se?.status==="partial")?p.jsx(_n,{tone:"positive",children:"Complete"}):ut?p.jsx(_n,{tone:"negative",children:"Failed"}):p.jsx(_n,{tone:"caution",children:"Running"}):null;return p.jsxs(En,{className:"surface-card step-card",children:[p.jsxs("div",{className:"section-head",children:[p.jsxs("div",{children:[p.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 5 of 5"}),p.jsx("h2",{children:"Launch first run"})]}),Zo]}),Zi?ut?se?.status==="failed"?p.jsxs("div",{className:"compact-stack",children:[p.jsx("p",{className:"text-negative-400",children:"Sweep failed. Inspect the run on the project page for the provider error and retry from there."}),p.jsxs("div",{className:"setup-nav",children:[p.jsx("span",{}),p.jsx(Ie,{type:"button",onClick:()=>{x({to:ae?`/projects/${encodeURIComponent(ae)}`:"/"})},children:"Open project"})]})]}):p.jsxs("div",{className:"compact-stack",children:[p.jsxs("p",{className:"text-neutral",children:["Sweep complete. Your first answer-visibility snapshot for"," ",p.jsx("span",{className:"text-heading font-medium",children:ae}),":"]}),p.jsxs("div",{className:"grid grid-cols-3 gap-2 mt-1",children:[p.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[p.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted",children:"Mentioned"}),p.jsxs("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:[gu,p.jsxs("span",{className:"text-faint text-lg",children:[" / ",Sr]})]}),p.jsx("p",{className:"text-[11px] text-muted mt-0.5",children:"queries with brand in answer"})]}),p.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[p.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted",children:"Cited"}),p.jsxs("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:[gi,p.jsxs("span",{className:"text-faint text-lg",children:[" / ",Sr]})]}),p.jsx("p",{className:"text-[11px] text-muted mt-0.5",children:"queries with domain in sources"})]}),p.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[p.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted",children:"Snapshots"}),p.jsx("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:ea.length}),p.jsx("p",{className:"text-[11px] text-muted mt-0.5",children:"total (query × provider)"})]})]}),p.jsx("p",{className:"text-[11px] text-muted mt-1",children:"Full evidence, per-provider breakdown, and suggested next queries on the project dashboard."}),p.jsxs("div",{className:"setup-nav",children:[p.jsx("span",{}),p.jsx(Ie,{type:"button",onClick:()=>{x({to:ae?`/projects/${encodeURIComponent(ae)}`:"/"})},children:"Open project dashboard →"})]})]}):p.jsxs("div",{className:"compact-stack",children:[p.jsx("p",{className:"text-neutral",children:"Sweep running — typically 30-60s. Polling every 2s…"}),p.jsx("div",{className:"rounded-md border border-default bg-surface p-3 text-xs text-muted",children:p.jsxs("p",{children:["Status: ",p.jsx("span",{className:"text-neutral",children:se?.status??"queued"})]})}),p.jsxs("div",{className:"setup-nav",children:[p.jsx("span",{}),p.jsx(Ie,{type:"button",variant:"outline",onClick:()=>{x({to:ae?`/projects/${encodeURIComponent(ae)}`:"/"})},children:"Watch on project page"})]})]}):p.jsxs("div",{className:"compact-stack",children:[p.jsxs("p",{className:"supporting-copy",children:["Everything is configured. Launch an answer-visibility sweep to start tracking citations for ",p.jsx("span",{className:"text-heading font-medium",children:ae}),"."]}),p.jsxs("div",{className:"setup-nav",children:[p.jsx(Ie,{type:"button",variant:"outline",onClick:yn,children:"Back"}),p.jsx(Ie,{type:"button",disabled:Io,onClick:Tn(Wn),children:Io?"Launching...":"Launch visibility sweep"})]})]})]})}default:return null}})();return p.jsxs("div",{className:"page-container",children:[p.jsx("div",{className:"page-header",children:p.jsxs("div",{className:"page-header-left",children:[p.jsx("h1",{className:"page-title",children:"Setup"}),p.jsx("p",{className:"page-subtitle",children:"Create a project, add queries, add competitors, and launch the first run."})]})}),p.jsx(Tq,{current:w,labels:_q}),p.jsx("section",{className:"setup-wizard",children:hi})]})}function Oq(){return p.jsx("div",{className:"page-container",children:p.jsx("section",{className:"page-section",children:p.jsxs(En,{className:"surface-card empty-card",children:[p.jsx("h1",{children:"Route not found"}),p.jsx("p",{children:"The current path does not map to a dashboard view."}),p.jsx(Ie,{asChild:!0,children:p.jsx(tt,{to:"/",children:"Return to overview"})})]})})})}const Jn=Ui(()=>$i(()=>import("./ProjectPage-hmNsqBov.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]),import.meta.url),"ProjectPage"),Dq=Ui(()=>$i(()=>import("./RunsPage-B8Nw3wP-.js"),__vite__mapDeps([10,1,2,8,5,9]),import.meta.url),"RunsPage"),zq=Ui(()=>$i(()=>import("./HistoryPage-DDKO8_D8.js"),__vite__mapDeps([11,1,7,8,5,9]),import.meta.url),"HistoryPage"),Rq=Ui(()=>$i(()=>import("./SettingsPage-DsmQhytl.js"),__vite__mapDeps([12,1,8,5,9]),import.meta.url),"SettingsPage"),Mq=Ui(()=>$i(()=>import("./BacklinksPage-Z2_ws8c2.js"),__vite__mapDeps([13,1,6,8,5,9]),import.meta.url),"BacklinksPage"),Bq=Ui(()=>$i(()=>import("./TrafficPage-COJs6eRH.js"),__vite__mapDeps([14,1,4,15,8,5,9]),import.meta.url),"TrafficPage"),Lq=Ui(()=>$i(()=>import("./TrafficSourceDetailPage-BI6IwzMQ.js"),__vite__mapDeps([16,1,4,3,5,15,8,9]),import.meta.url),"TrafficSourceDetailPage");function qq(){return p.jsx(l6,{children:p.jsx(o6,{})})}const Wt=bN()({component:qq,validateSearch:e=>({runId:typeof e.runId=="string"?e.runId:void 0,evidenceId:typeof e.evidenceId=="string"?e.evidenceId:void 0,runStatus:typeof e.runStatus=="string"?e.runStatus:void 0,runKind:typeof e.runKind=="string"?e.runKind:void 0,runProject:typeof e.runProject=="string"?e.runProject:void 0,runWindow:typeof e.runWindow=="string"?e.runWindow:void 0,runQuery:typeof e.runQuery=="string"?e.runQuery:void 0})}),Uq=At({getParentRoute:()=>Wt,path:"/",component:d6,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Vi({client:ne}));if(n&&n.length===0)throw Tp({to:"/setup"})}}),$q=At({getParentRoute:()=>Wt,path:"/projects",component:jq}),Iq=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Gn=At({getParentRoute:()=>Wt,path:"/projects/$projectName",component:()=>p.jsx(tp,{}),beforeLoad:async({context:e,params:n,location:i})=>{const r=n.projectName;if(!Iq.test(r))return;let l=e.queryClient.getQueryData(Vi({client:ne}));if(!l)try{l=await e.queryClient.ensureQueryData(Yc({client:ne}))}catch{return}const u=l.find(d=>d.id===r);if(u)throw Tp({to:i.pathname.replace(`/projects/${r}`,`/projects/${encodeURIComponent(u.name)}`),replace:!0})}}),Pq=At({getParentRoute:()=>Gn,path:"/",component:()=>p.jsx(Jn,{tab:"overview"})}),Vq=At({getParentRoute:()=>Gn,path:"/search-console",component:()=>p.jsx(Jn,{tab:"search-console"})}),Gq=At({getParentRoute:()=>Gn,path:"/local",component:()=>p.jsx(Jn,{tab:"local"})}),Hq=At({getParentRoute:()=>Gn,path:"/discovery",component:()=>p.jsx(Jn,{tab:"discovery"})}),Kq=At({getParentRoute:()=>Gn,path:"/report",component:()=>p.jsx(Jn,{tab:"report"})}),Qq=At({getParentRoute:()=>Gn,path:"/activity",component:()=>p.jsx(Jn,{tab:"activity"})}),Zq=At({getParentRoute:()=>Gn,path:"/backlinks",component:()=>p.jsx(Jn,{tab:"backlinks"})}),Yq=At({getParentRoute:()=>Gn,path:"/technical-aeo",component:()=>p.jsx(Jn,{tab:"technical-aeo"})}),Fq=At({getParentRoute:()=>Gn,path:"/history",component:()=>p.jsx(Jn,{tab:"history"})}),Xq=At({getParentRoute:()=>Gn,path:"/settings",component:()=>p.jsx(Jn,{tab:"settings"})}),Jq=At({getParentRoute:()=>Wt,path:"/runs",component:Dq}),Wq=At({getParentRoute:()=>Wt,path:"/history",component:zq}),eU=At({getParentRoute:()=>Wt,path:"/settings",component:Rq,beforeLoad:({context:e})=>{}}),tU=At({getParentRoute:()=>Wt,path:"/setup",component:Eq,beforeLoad:({context:e})=>{const n=e.queryClient.getQueryData(Vi({client:ne}));if(n&&n.length>0)throw Tp({to:"/"})}}),nU=At({getParentRoute:()=>Wt,path:"/backlinks",component:Mq}),aU=At({getParentRoute:()=>Wt,path:"/traffic",component:Bq}),iU=At({getParentRoute:()=>Wt,path:"/traffic/$projectName/$sourceId",component:Lq}),sU=At({getParentRoute:()=>Wt,path:"*",component:Oq}),rU=Wt.addChildren([Uq,$q,Gn.addChildren([Pq,Vq,Gq,Hq,Kq,Qq,Zq,Yq,Fq,Xq]),Jq,Wq,eU,tU,nU,aU,iU,sU]);function oU(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const S0=oU(),lU=S0==="/"?"":S0.replace(/\/$/,"");function cU(e,n){return vN({routeTree:rU,basepath:lU||"/",context:{queryClient:e},...n?.initialEntries})}const uU=6e4;function dU(){const[e,n]=q.useState(zf()?"ready":"checking"),[i,r]=q.useState(""),[l,u]=q.useState(""),[d,h]=q.useState(null),[y,b]=q.useState(!1),[x,w]=q.useState(!1),A=q.useRef(null),C=q.useRef(null),D=()=>{if(!A.current){const R=ZC();C.current=R,A.current=cU(R)}return{queryClient:C.current,router:A.current}};q.useEffect(()=>{if(zf())return;let R=!1;return Gb().then(H=>{R||(H.authenticated?n("ready"):n(H.setupRequired?"setup":"login"))}).catch(H=>{R||(h(H instanceof Error?H.message:"Failed to reach the Canonry API"),n("login"))}),()=>{R=!0}},[]),q.useEffect(()=>{if(e!=="ready"||zf())return;const R=setInterval(()=>{Gb().then(H=>{H.authenticated||(w(!0),n(H.setupRequired?"setup":"login"))}).catch(()=>{})},uU);return Vb(()=>{w(!0),n("login")}),()=>{clearInterval(R),Vb(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 AC(i.trim())).authenticated){h("Setup failed");return}r(""),u(""),w(!1),n("ready")}catch(H){h(H instanceof In||H instanceof Error?H.message:"Setup failed")}finally{b(!1)}},E=async R=>{if(R.preventDefault(),!!i.trim()){b(!0),h(null);try{if(!(await kC(i.trim())).authenticated){h("Incorrect password");return}r(""),w(!1),n("ready")}catch(H){h(H instanceof In||H instanceof Error?H.message:"Authentication failed")}finally{b(!1)}}};if(e==="ready"){const{queryClient:R,router:H}=D();return p.jsx(SN,{client:R,children:p.jsx(xN,{router:H})})}return p.jsx("div",{className:"min-h-screen bg-bg px-4 py-8",children:p.jsx("div",{className:"mx-auto flex min-h-[calc(100vh-4rem)] max-w-md items-center justify-center",children:p.jsx(En,{className:"surface-card w-full",children:e==="checking"?p.jsx(Sc,{className:"py-8",children:p.jsx("p",{className:"supporting-copy text-center",children:"Connecting to Canonry…"})}):e==="setup"?p.jsxs(p.Fragment,{children:[p.jsxs(Sp,{children:[p.jsx("p",{className:"eyebrow eyebrow-soft",children:"First-time setup"}),p.jsx(xp,{children:"Create a dashboard password"}),p.jsx(wp,{children:"Choose a password to protect the Canonry dashboard. You will use this to sign in on future visits."})]}),p.jsx(Sc,{children:p.jsxs("form",{className:"space-y-4",onSubmit:Tn(k),children:[p.jsxs("label",{className:"block space-y-1.5",children:[p.jsx("span",{className:"text-xs font-medium text-secondary",children:"Password"}),p.jsx("input",{autoFocus:!0,className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"password",value:i,onChange:R=>r(R.target.value),placeholder:"At least 8 characters"})]}),p.jsxs("label",{className:"block space-y-1.5",children:[p.jsx("span",{className:"text-xs font-medium text-secondary",children:"Confirm password"}),p.jsx("input",{className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"password",value:l,onChange:R=>u(R.target.value),placeholder:"Re-enter password"})]}),d?p.jsx("p",{className:"text-sm text-negative-400",children:d}):null,p.jsx(Ie,{type:"submit",disabled:y||!i.trim()||!l.trim(),children:y?"Setting up…":"Create password & open dashboard"})]})})]}):p.jsxs(p.Fragment,{children:[p.jsxs(Sp,{children:[p.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),p.jsx(xp,{children:"Sign in to Canonry"}),p.jsx(wp,{children:"Enter your dashboard password to continue."})]}),p.jsxs(Sc,{children:[x?p.jsx("p",{className:"mb-4 rounded-md border border-caution bg-caution-soft px-3 py-2 text-sm text-caution",children:"Your session expired — please sign in again."}):null,p.jsxs("form",{className:"space-y-4",onSubmit:Tn(E),children:[p.jsxs("label",{className:"block space-y-1.5",children:[p.jsx("span",{className:"text-xs font-medium text-secondary",children:"Password"}),p.jsx("input",{autoFocus:!0,className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"password",value:i,onChange:R=>r(R.target.value),placeholder:"Dashboard password"})]}),d?p.jsx("p",{className:"text-sm text-negative-400",children:d}):null,p.jsx(Ie,{type:"submit",disabled:y||!i.trim(),children:y?"Signing in…":"Open dashboard"})]})]})]})})})})}const Jx=document.getElementById("root");if(!Jx)throw new Error("Expected #root element for web app bootstrap.");_N.createRoot(Jx).render(p.jsx(q.StrictMode,{children:p.jsx(dU,{})}));export{VU as $,vp as A,Ie as B,$p as C,V$ as D,Q$ as E,_U as F,C$ as G,s8 as H,ho as I,o8 as J,l8 as K,qU as L,LU as M,$U as N,Xt as O,qL as P,ZU as Q,d8 as R,P_ as S,_n as T,f8 as U,PU as V,c8 as W,or as X,u8 as Y,r8 as Z,UU as _,H8 as a,n$ as a$,p8 as a0,m8 as a1,x8 as a2,y8 as a3,v8 as a4,b8 as a5,S8 as a6,LC as a7,Sm as a8,_e as a9,_$ as aA,B3 as aB,K3 as aC,W$ as aD,t8 as aE,e8 as aF,I$ as aG,P$ as aH,U8 as aI,$8 as aJ,I8 as aK,GU as aL,Vi as aM,HU as aN,bm as aO,P8 as aP,G8 as aQ,V8 as aR,$3 as aS,Y8 as aT,K0 as aU,Y0 as aV,z8 as aW,i8 as aX,z$ as aY,D8 as aZ,D$ as a_,g8 as aa,$1 as ab,Aa as ac,h8 as ad,Dz as ae,zz as af,E$ as ag,T$ as ah,j$ as ai,m$ as aj,S$ as ak,x$ as al,In as am,w$ as an,yU as ao,Q0 as ap,H$ as aq,N_ as ar,z_ as as,PB as at,Nc as au,A$ as av,N$ as aw,rp as ax,R8 as ay,IU as az,Ec as b,fC as b$,eI as b0,B$ as b1,R$ as b2,L$ as b3,q$ as b4,O$ as b5,M$ as b6,kU as b7,AU as b8,NU as b9,SU as bA,bU as bB,xC as bC,jU as bD,M3 as bE,W8 as bF,w8 as bG,N8 as bH,OC as bI,A8 as bJ,WU as bK,JU as bL,k8 as bM,j8 as bN,G$ as bO,YU as bP,FU as bQ,XU as bR,e$ as bS,Js as bT,vm as bU,Z8 as bV,Wc as bW,jm as bX,n8 as bY,a8 as bZ,CC as b_,a$ as ba,EU as bb,F$ as bc,Lv as bd,Y$ as be,OU as bf,DU as bg,Z$ as bh,zU as bi,RU as bj,BU as bk,MU as bl,Ro as bm,Yc as bn,_5 as bo,U0 as bp,J$ as bq,Cq as br,Ft as bs,vC as bt,T3 as bu,CU as bv,xU as bw,wU as bx,Q8 as by,vU as bz,nt as c,gU as c0,TU as c1,KU as c2,QU as c3,eu as c4,Nm as c5,t$ as c6,ir as c7,Uv as c8,f$ as c9,h$ as ca,y$ as cb,b$ as cc,p$ as cd,g$ as ce,v$ as cf,UL as cg,ix as ch,GL as ci,sx as cj,rx as ck,b_ as cl,d$ as cm,Yb as cn,L8 as co,U$ as cp,$$ as cq,pm as cr,X$ as cs,M8 as ct,q8 as cu,u$ as cv,l$ as cw,c$ as cx,o$ as cy,B8 as cz,FD as d,K8 as e,K$ as f,En as g,Fv as h,lC as i,Tn as j,k$ as k,C8 as l,ne as m,_8 as n,T8 as o,O8 as p,E8 as q,i$ as r,r$ as s,k3 as t,Am as u,s$ as v,N3 as w,F8 as x,X8 as y,J8 as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a}from"./index-
|
|
1
|
+
import{c as a}from"./index-BoSfFv1t.js";const c=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],d=a("circle-check",c);const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],k=a("circle-question-mark",e);const t=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],s=a("download",t);const o=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],r=a("external-link",o);const n=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],y=a("trash-2",n);export{d as C,s as D,r as E,y as T,k as a};
|
package/assets/index.html
CHANGED
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
<link rel="icon" type="image/png" sizes="32x32" href="./favicon-32.png" />
|
|
13
13
|
<link rel="apple-touch-icon" href="./apple-touch-icon.png" />
|
|
14
14
|
<title>Canonry</title>
|
|
15
|
-
<script type="module" crossorigin src="./assets/index-
|
|
15
|
+
<script type="module" crossorigin src="./assets/index-BoSfFv1t.js"></script>
|
|
16
16
|
<link rel="modulepreload" crossorigin href="./assets/vendor-tanstack-Be8JdV5M.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="./assets/vendor-radix-CQ77EO2y.js">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="./assets/vendor-recharts-DSxTZhaH.js">
|
|
19
19
|
<link rel="modulepreload" crossorigin href="./assets/vendor-markdown-6dwjPOKK.js">
|
|
20
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
20
|
+
<link rel="stylesheet" crossorigin href="./assets/index-B4ksyQXo.css">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
|
23
23
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canonry/canonry",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.136.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Agent-first open-source AEO operating platform - track how answer engines cite your domain",
|
|
6
6
|
"license": "FSL-1.1-ALv2",
|
|
@@ -65,26 +65,26 @@
|
|
|
65
65
|
"@types/node-cron": "^3.0.11",
|
|
66
66
|
"tsup": "^8.5.1",
|
|
67
67
|
"tsx": "^4.19.0",
|
|
68
|
-
"@ainyc/canonry-config": "0.0.0",
|
|
69
68
|
"@ainyc/canonry-api-client": "0.0.0",
|
|
70
|
-
"@ainyc/canonry-
|
|
69
|
+
"@ainyc/canonry-config": "0.0.0",
|
|
71
70
|
"@ainyc/canonry-api-routes": "0.0.0",
|
|
71
|
+
"@ainyc/canonry-contracts": "0.0.0",
|
|
72
72
|
"@ainyc/canonry-db": "0.0.0",
|
|
73
73
|
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
74
|
-
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
75
74
|
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
75
|
+
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
76
76
|
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
77
|
-
"@ainyc/canonry-integration-google": "0.0.0",
|
|
78
77
|
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
78
|
+
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
79
79
|
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
80
|
-
"@ainyc/canonry-integration-google
|
|
80
|
+
"@ainyc/canonry-integration-google": "0.0.0",
|
|
81
81
|
"@ainyc/canonry-intelligence": "0.0.0",
|
|
82
82
|
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
83
|
+
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
83
84
|
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
85
|
+
"@ainyc/canonry-provider-local": "0.0.0",
|
|
84
86
|
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
85
87
|
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
86
|
-
"@ainyc/canonry-provider-local": "0.0.0",
|
|
87
|
-
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
88
88
|
"@ainyc/canonry-provider-perplexity": "0.0.0"
|
|
89
89
|
},
|
|
90
90
|
"scripts": {
|