@ainyc/canonry 4.185.0 → 4.186.1
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/README.md +3 -1
- package/assets/assets/{AuditHistoryPanel-N0RYtAB2.js → AuditHistoryPanel-D1obTGKY.js} +1 -1
- package/assets/assets/{BacklinksPage-Bou9tizz.js → BacklinksPage-D_tj5Rbt.js} +1 -1
- package/assets/assets/{HistoryPage-CXhga4Ph.js → HistoryPage-lL-CZziY.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-XvZ5N7OJ.js → MeasurementPropertyPage-0voEYofK.js} +1 -1
- package/assets/assets/ProjectPage-Bq-ncl6p.js +9 -0
- package/assets/assets/{RunRow-C3D8VQYJ.js → RunRow-DTeprTL3.js} +1 -1
- package/assets/assets/{RunsPage-CpgzRa0M.js → RunsPage-DrAtN-Xn.js} +1 -1
- package/assets/assets/{SettingsPage-Bmx9pUOn.js → SettingsPage-DCD1aTWP.js} +1 -1
- package/assets/assets/{SiteHealthSection-NLM9j7Eg.js → SiteHealthSection-BX_ehKQW.js} +3 -3
- package/assets/assets/{TrafficPage-BYZhOBmP.js → TrafficPage-PTKGMjZO.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-D9H8w5_Y.js → TrafficSourceDetailPage-BouaEiZp.js} +1 -1
- package/assets/assets/{extract-error-message-CH5Z1tok.js → extract-error-message-DOUrsRz6.js} +1 -1
- package/assets/assets/{index-D2ciQ6Rc.js → index-AI2ypViE.js} +27 -27
- package/assets/assets/index-DJ8_LvRn.css +1 -0
- package/assets/assets/{react-sigma_core.esm.min-D6BeZvg8.js → react-sigma_core.esm.min-CQ5k6lQz.js} +1 -1
- package/assets/assets/vendor-lucide-BovNTc41.js +1 -0
- package/assets/index.html +3 -3
- package/dist/{chunk-UXZCO5WK.js → chunk-67UGGOII.js} +20 -7
- package/dist/{chunk-4EMNAQR6.js → chunk-BPO7PDQH.js} +4 -4
- package/dist/{chunk-OVJJDBZY.js → chunk-GGEW65VE.js} +2 -2
- package/dist/{chunk-U7XFRKLH.js → chunk-PXGN7BY7.js} +7 -2
- package/dist/{chunk-SCNSP2GV.js → chunk-V7LWMC2C.js} +1 -1
- package/dist/cli.js +22 -6
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-WTRLQG5V.js → intelligence-service-CTFIKNIF.js} +2 -2
- package/dist/mcp.js +3 -3
- package/package.json +12 -12
- package/assets/assets/ProjectPage-HRI4qMI7.js +0 -9
- package/assets/assets/index-D5UC9w71.css +0 -1
- package/assets/assets/vendor-lucide-XjCNFK0x.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as h}from"./vendor-tanstack-CYBjbqVr.js";const _=a=>a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),M=a=>a.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,o,c)=>c?c.toUpperCase():o.toLowerCase()),y=a=>{const t=M(a);return t.charAt(0).toUpperCase()+t.slice(1)},r=(...a)=>a.filter((t,o,c)=>!!t&&t.trim()!==""&&c.indexOf(t)===o).join(" ").trim(),m=a=>{for(const t in a)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};var v={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const u=h.forwardRef(({color:a="currentColor",size:t=24,strokeWidth:o=2,absoluteStrokeWidth:c,className:s="",children:n,iconNode:i,...d},k)=>h.createElement("svg",{ref:k,...v,width:t,height:t,stroke:a,strokeWidth:c?Number(o)*24/Number(t):o,className:r("lucide",s),...!n&&!m(d)&&{"aria-hidden":"true"},...d},[...i.map(([p,l])=>h.createElement(p,l)),...Array.isArray(n)?n:[n]]));const e=(a,t)=>{const o=h.forwardRef(({className:c,...s},n)=>h.createElement(u,{ref:n,iconNode:t,className:r(`lucide-${_(y(a))}`,`lucide-${a}`,c),...s}));return o.displayName=y(a),o};const x=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],p1=e("arrow-left",x);const g=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],l1=e("arrow-right",g);const w=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],_1=e("arrow-up",w);const $=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],M1=e("book-open",$);const N=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],m1=e("check",N);const f=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],v1=e("chevron-down",f);const z=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],u1=e("chevron-left",z);const q=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],x1=e("chevron-right",q);const C=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],g1=e("circle-check",C);const j=[["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"}]],w1=e("circle-question-mark",j);const b=[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]],$1=e("cloud",b);const A=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],N1=e("copy",A);const L=[["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"}]],f1=e("download",L);const H=[["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"}]],z1=e("external-link",H);const R=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],q1=e("file-text",R);const V=[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]],C1=e("github",V);const P=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],j1=e("globe",P);const E=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],b1=e("history",E);const Z=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],A1=e("layout-dashboard",Z);const S=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],L1=e("link-2",S);const U=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],H1=e("loader-circle",U);const B=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],R1=e("maximize-2",B);const D=[["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 18h16",key:"19g7jn"}],["path",{d:"M4 6h16",key:"1o0s65"}]],V1=e("menu",D);const T=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],P1=e("minimize-2",T);const G=[["path",{d:"M5 12h14",key:"1ays0h"}]],E1=e("minus",G);const I=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]],Z1=e("panel-left-close",I);const W=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]],S1=e("panel-left-open",W);const F=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],U1=e("pencil",F);const O=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],B1=e("play",O);const J=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],D1=e("plus",J);const K=[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]],T1=e("radar",K);const Q=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],G1=e("radio",Q);const X=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],I1=e("refresh-cw",X);const Y=[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]],W1=e("rocket",Y);const e1=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],F1=e("rotate-ccw",e1);const t1=[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m16 16-1.9-1.9",key:"1dq9hf"}]],O1=e("scan-search",t1);const a1=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],J1=e("search",a1);const o1=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],K1=e("settings-2",o1);const c1=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Q1=e("settings",c1);const n1=[["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"}]],X1=e("trash-2",n1);const h1=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Y1=e("triangle-alert",h1);const s1=[["path",{d:"M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"14u9p9"}]],e2=e("triangle",s1);const d1=[["path",{d:"m19 5 3-3",key:"yk6iyv"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z",key:"1snsnr"}]],t2=e("unplug",d1);const y1=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],a2=e("upload",y1);const r1=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],o2=e("wrench",r1);const i1=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],c2=e("x",i1);export{l1 as A,M1 as B,v1 as C,f1 as D,z1 as E,q1 as F,j1 as G,b1 as H,u1 as I,O1 as J,K1 as K,H1 as L,P1 as M,B1 as P,G1 as R,J1 as S,Y1 as T,t2 as U,o2 as W,c2 as X,F1 as a,R1 as b,_1 as c,m1 as d,x1 as e,N1 as f,A1 as g,T1 as h,L1 as i,Q1 as j,W1 as k,C1 as l,S1 as m,Z1 as n,V1 as o,D1 as p,I1 as q,a2 as r,g1 as s,w1 as t,E1 as u,U1 as v,X1 as w,$1 as x,e2 as y,p1 as z};
|
package/assets/index.html
CHANGED
|
@@ -12,14 +12,14 @@
|
|
|
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-AI2ypViE.js"></script>
|
|
16
16
|
<link rel="modulepreload" crossorigin href="./assets/vendor-tanstack-CYBjbqVr.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="./assets/vendor-radix-BpmvLvpp.js">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="./assets/vendor-recharts-FA0uySU7.js">
|
|
19
|
-
<link rel="modulepreload" crossorigin href="./assets/vendor-lucide-
|
|
19
|
+
<link rel="modulepreload" crossorigin href="./assets/vendor-lucide-BovNTc41.js">
|
|
20
20
|
<link rel="modulepreload" crossorigin href="./assets/vendor-markdown-9tTeP8v7.js">
|
|
21
21
|
<link rel="modulepreload" crossorigin href="./assets/vendor-yaml-GWJz5H2G.js">
|
|
22
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
22
|
+
<link rel="stylesheet" crossorigin href="./assets/index-DJ8_LvRn.css">
|
|
23
23
|
</head>
|
|
24
24
|
<body>
|
|
25
25
|
<div id="root"></div>
|
|
@@ -664,7 +664,7 @@ import {
|
|
|
664
664
|
wordpressSchemaDeployResultDtoSchema,
|
|
665
665
|
wordpressSchemaStatusResultDtoSchema,
|
|
666
666
|
wordpressStatusDtoSchema
|
|
667
|
-
} from "./chunk-
|
|
667
|
+
} from "./chunk-PXGN7BY7.js";
|
|
668
668
|
|
|
669
669
|
// src/intelligence-service.ts
|
|
670
670
|
import { eq as eq66, desc as desc29, asc as asc12, and as and56, ne as ne10, or as or14, inArray as inArray25, gte as gte17, lte as lte15, isNull as isNull12, sql as sql25, exists } from "drizzle-orm";
|
|
@@ -12393,7 +12393,7 @@ function assertNoActivePlanlessSweep(tx, scope) {
|
|
|
12393
12393
|
inArray(runs.status, [RunStatuses.queued, RunStatuses.running]),
|
|
12394
12394
|
isNull2(runs.measurementPlanVersionId)
|
|
12395
12395
|
)).get();
|
|
12396
|
-
if (activeRun) throw runInProgress(scope.projectName);
|
|
12396
|
+
if (activeRun) throw runInProgress(scope.projectName, RunKinds["answer-visibility"], activeRun.id);
|
|
12397
12397
|
}
|
|
12398
12398
|
function assertQueryReplacementAllowed(tx, scope, incomingTexts) {
|
|
12399
12399
|
const existing = tx.select({ id: queries.id, text: queries.query }).from(queries).where(eq7(queries.projectId, scope.projectId)).all();
|
|
@@ -15481,6 +15481,7 @@ function queueRunIfProjectIdle(db, params) {
|
|
|
15481
15481
|
const activeRun = tx.select().from(runs).where(
|
|
15482
15482
|
and10(
|
|
15483
15483
|
eq15(runs.projectId, params.projectId),
|
|
15484
|
+
eq15(runs.kind, kind),
|
|
15484
15485
|
or(eq15(runs.status, "queued"), eq15(runs.status, "running"))
|
|
15485
15486
|
)
|
|
15486
15487
|
).get();
|
|
@@ -15607,10 +15608,11 @@ async function runRoutes(app, opts) {
|
|
|
15607
15608
|
const result = app.db.transaction((tx) => {
|
|
15608
15609
|
const activeRun = tx.select({ id: runs.id }).from(runs).where(and11(
|
|
15609
15610
|
eq16(runs.projectId, project.id),
|
|
15611
|
+
eq16(runs.kind, kind),
|
|
15610
15612
|
or2(eq16(runs.status, "queued"), eq16(runs.status, "running"))
|
|
15611
15613
|
)).get();
|
|
15612
15614
|
if (activeRun) {
|
|
15613
|
-
return { conflict: true };
|
|
15615
|
+
return { conflict: true, activeRunId: activeRun.id };
|
|
15614
15616
|
}
|
|
15615
15617
|
const inserted = [];
|
|
15616
15618
|
for (const loc of projectLocations) {
|
|
@@ -15630,7 +15632,7 @@ async function runRoutes(app, opts) {
|
|
|
15630
15632
|
return { conflict: false, inserted };
|
|
15631
15633
|
});
|
|
15632
15634
|
if (result.conflict) {
|
|
15633
|
-
throw runInProgress(project.name);
|
|
15635
|
+
throw runInProgress(project.name, kind, result.activeRunId);
|
|
15634
15636
|
}
|
|
15635
15637
|
const results = [];
|
|
15636
15638
|
for (const { runId: runId2, loc } of result.inserted) {
|
|
@@ -15662,7 +15664,7 @@ async function runRoutes(app, opts) {
|
|
|
15662
15664
|
providerModels: opts.getEffectiveProviderModels?.(),
|
|
15663
15665
|
measurementScope: body.measurementScope ?? null
|
|
15664
15666
|
});
|
|
15665
|
-
if (queueResult.conflict) throw runInProgress(project.name);
|
|
15667
|
+
if (queueResult.conflict) throw runInProgress(project.name, kind, queueResult.activeRunId);
|
|
15666
15668
|
const runId = queueResult.runId;
|
|
15667
15669
|
writeAuditLog(app.db, {
|
|
15668
15670
|
projectId: project.id,
|
|
@@ -30771,12 +30773,18 @@ function confidenceFromEvidence(count2) {
|
|
|
30771
30773
|
function actionAudienceMatches2(action, audience) {
|
|
30772
30774
|
return action.audience === "both" || action.audience === audience;
|
|
30773
30775
|
}
|
|
30776
|
+
function configuredCompetitorDomainsForActionPlan(db, projectId, projectCompetitorDomains) {
|
|
30777
|
+
const active = activeMeasurementPlan(db, projectId);
|
|
30778
|
+
if (!active) return [...projectCompetitorDomains];
|
|
30779
|
+
const planCompetitorDomains = active.plan.schemaVersion === 2 ? active.plan.groups.flatMap((group) => group.competitors.map((competitor) => competitor.domain)) : active.plan.groups.flatMap((group) => group.competitors ?? []);
|
|
30780
|
+
return [.../* @__PURE__ */ new Set([...projectCompetitorDomains, ...planCompetitorDomains])];
|
|
30781
|
+
}
|
|
30774
30782
|
function buildReportActionPlan(input) {
|
|
30775
30783
|
const actions = [];
|
|
30776
30784
|
if (input.competitorDomains.length === 0 && input.aiSourceOrigin.topDomains.length > 0) {
|
|
30777
30785
|
const topDomains = input.aiSourceOrigin.topDomains.slice(0, 5);
|
|
30778
30786
|
actions.push({
|
|
30779
|
-
audience: "
|
|
30787
|
+
audience: "agency",
|
|
30780
30788
|
priority: 10,
|
|
30781
30789
|
horizon: "immediate",
|
|
30782
30790
|
category: "competitors",
|
|
@@ -31177,6 +31185,11 @@ function buildProjectReport(db, projectName, periodDays) {
|
|
|
31177
31185
|
const latestRunLocation = representativeLatestRun?.location ?? null;
|
|
31178
31186
|
const competitorRows2 = db.select().from(competitors).where(eq32(competitors.projectId, project.id)).all();
|
|
31179
31187
|
const competitorDomains = competitorRows2.map((c) => c.domain);
|
|
31188
|
+
const actionPlanCompetitorDomains = configuredCompetitorDomainsForActionPlan(
|
|
31189
|
+
db,
|
|
31190
|
+
project.id,
|
|
31191
|
+
competitorDomains
|
|
31192
|
+
);
|
|
31180
31193
|
const ownedDomains = project.ownedDomains;
|
|
31181
31194
|
const projectDomains = [project.canonicalDomain, ...ownedDomains];
|
|
31182
31195
|
const projectBrandNames = effectiveBrandNames(project);
|
|
@@ -31298,7 +31311,7 @@ function buildProjectReport(db, projectName, periodDays) {
|
|
|
31298
31311
|
};
|
|
31299
31312
|
const actionPlan = buildReportActionPlan({
|
|
31300
31313
|
canonicalDomain: project.canonicalDomain,
|
|
31301
|
-
competitorDomains,
|
|
31314
|
+
competitorDomains: actionPlanCompetitorDomains,
|
|
31302
31315
|
citationScorecard,
|
|
31303
31316
|
aiSourceOrigin,
|
|
31304
31317
|
gsc: gscSection,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
loadConfig,
|
|
12
12
|
loadConfigRaw,
|
|
13
13
|
saveConfigPatch
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-V7LWMC2C.js";
|
|
15
15
|
import {
|
|
16
16
|
CC_CACHE_DIR,
|
|
17
17
|
DUCKDB_SPEC,
|
|
@@ -158,7 +158,7 @@ import {
|
|
|
158
158
|
siteCrawlSnapshots,
|
|
159
159
|
toAlertView,
|
|
160
160
|
usageCounters
|
|
161
|
-
} from "./chunk-
|
|
161
|
+
} from "./chunk-67UGGOII.js";
|
|
162
162
|
import {
|
|
163
163
|
AGENT_MEMORY_VALUE_MAX_BYTES,
|
|
164
164
|
AGENT_PROVIDER_IDS,
|
|
@@ -299,7 +299,7 @@ import {
|
|
|
299
299
|
validationError,
|
|
300
300
|
winnabilityClassLabel,
|
|
301
301
|
withRetry
|
|
302
|
-
} from "./chunk-
|
|
302
|
+
} from "./chunk-PXGN7BY7.js";
|
|
303
303
|
|
|
304
304
|
// src/telemetry.ts
|
|
305
305
|
import crypto from "crypto";
|
|
@@ -11903,7 +11903,7 @@ function readStoredGroundingSources(rawResponse) {
|
|
|
11903
11903
|
return result;
|
|
11904
11904
|
}
|
|
11905
11905
|
async function backfillInsightsCommand(project, opts) {
|
|
11906
|
-
const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-
|
|
11906
|
+
const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-CTFIKNIF.js");
|
|
11907
11907
|
const config = loadConfig();
|
|
11908
11908
|
const db = createClient(config.database);
|
|
11909
11909
|
migrate(db);
|
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
installSkills,
|
|
6
6
|
loadConfigRaw,
|
|
7
7
|
saveConfigPatch
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-V7LWMC2C.js";
|
|
9
9
|
import {
|
|
10
10
|
SKILL_MANIFEST_FILENAME,
|
|
11
11
|
SkillsClients
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-PXGN7BY7.js";
|
|
13
13
|
|
|
14
14
|
// src/skills-autosync.ts
|
|
15
15
|
import fs from "fs";
|
|
@@ -72,8 +72,13 @@ function noQueries(projectName) {
|
|
|
72
72
|
{ projectName }
|
|
73
73
|
);
|
|
74
74
|
}
|
|
75
|
-
function runInProgress(projectName) {
|
|
76
|
-
return new AppError(
|
|
75
|
+
function runInProgress(projectName, kind = "answer-visibility", activeRunId) {
|
|
76
|
+
return new AppError(
|
|
77
|
+
"RUN_IN_PROGRESS",
|
|
78
|
+
`A '${kind}' run is already in progress for '${projectName}'`,
|
|
79
|
+
409,
|
|
80
|
+
{ projectName, kind, ...activeRunId ? { activeRunId } : {} }
|
|
81
|
+
);
|
|
77
82
|
}
|
|
78
83
|
function operationInProgress(message, details) {
|
|
79
84
|
return new AppError("OPERATION_IN_PROGRESS", message, 409, details);
|
package/dist/cli.js
CHANGED
|
@@ -28,11 +28,11 @@ import {
|
|
|
28
28
|
trackCliCommandFinished,
|
|
29
29
|
trackEvent,
|
|
30
30
|
waitForServerRuntimeStartup
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-BPO7PDQH.js";
|
|
32
32
|
import {
|
|
33
33
|
autoSyncSkills,
|
|
34
34
|
formatAutoSyncNotice
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-GGEW65VE.js";
|
|
36
36
|
import {
|
|
37
37
|
CliError,
|
|
38
38
|
EXIT_SYSTEM_ERROR,
|
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
saveConfigPatch,
|
|
59
59
|
systemError,
|
|
60
60
|
usageError
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-V7LWMC2C.js";
|
|
62
62
|
import {
|
|
63
63
|
CLOUDFLARE_WORKER_BINDINGS,
|
|
64
64
|
CLOUDFLARE_WORKER_GENERATED_MARKER,
|
|
@@ -72,7 +72,7 @@ import {
|
|
|
72
72
|
projects,
|
|
73
73
|
queries,
|
|
74
74
|
renderReportHtml
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-67UGGOII.js";
|
|
76
76
|
import {
|
|
77
77
|
AdsDeliverySnapshotStatuses,
|
|
78
78
|
AdsHistoricalCampaignRollupStatuses,
|
|
@@ -143,7 +143,7 @@ import {
|
|
|
143
143
|
resolveProviderInput,
|
|
144
144
|
visibilityReportRequestSchema,
|
|
145
145
|
winnabilityClassSchema
|
|
146
|
-
} from "./chunk-
|
|
146
|
+
} from "./chunk-PXGN7BY7.js";
|
|
147
147
|
|
|
148
148
|
// src/cli.ts
|
|
149
149
|
import { pathToFileURL } from "url";
|
|
@@ -12410,7 +12410,23 @@ async function cancelRun(project, runId, format) {
|
|
|
12410
12410
|
let targetId = runId;
|
|
12411
12411
|
if (!targetId) {
|
|
12412
12412
|
const runs = await client.listRuns(project);
|
|
12413
|
-
const
|
|
12413
|
+
const activeRuns = runs.filter((r) => r.status === "queued" || r.status === "running");
|
|
12414
|
+
if (activeRuns.length > 1) {
|
|
12415
|
+
const candidates = activeRuns.map(({ id, kind, status }) => ({ id, kind, status }));
|
|
12416
|
+
throw new CliError({
|
|
12417
|
+
code: "MULTIPLE_ACTIVE_RUNS",
|
|
12418
|
+
message: `Multiple active runs found for project "${project}". Specify a run ID.`,
|
|
12419
|
+
displayMessage: `Error: Multiple active runs found for project "${project}". Specify a run ID.
|
|
12420
|
+
` + candidates.map((r) => ` ${r.id} ${r.kind} ${r.status}`).join("\n") + `
|
|
12421
|
+
To cancel by ID: canonry run cancel ${project} <run-id>`,
|
|
12422
|
+
details: {
|
|
12423
|
+
project,
|
|
12424
|
+
activeRuns: candidates,
|
|
12425
|
+
suggestedCommands: [`canonry run cancel ${project} <run-id>`]
|
|
12426
|
+
}
|
|
12427
|
+
});
|
|
12428
|
+
}
|
|
12429
|
+
const active = activeRuns[0];
|
|
12414
12430
|
if (!active) {
|
|
12415
12431
|
throw new CliError({
|
|
12416
12432
|
code: "NO_ACTIVE_RUN",
|
package/dist/index.js
CHANGED
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
createGoogleMarketingCredentialStore,
|
|
4
4
|
createGoogleMarketingRuntime,
|
|
5
5
|
createServer
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-BPO7PDQH.js";
|
|
7
7
|
import {
|
|
8
8
|
loadConfig
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-V7LWMC2C.js";
|
|
10
|
+
import "./chunk-67UGGOII.js";
|
|
11
|
+
import "./chunk-PXGN7BY7.js";
|
|
12
12
|
export {
|
|
13
13
|
GoogleMarketingRuntimeError,
|
|
14
14
|
createGoogleMarketingCredentialStore,
|
package/dist/mcp.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
autoSyncSkills
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GGEW65VE.js";
|
|
4
4
|
import {
|
|
5
5
|
createApiClient,
|
|
6
6
|
createCanonryMcpServer
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-V7LWMC2C.js";
|
|
8
8
|
import {
|
|
9
9
|
isReadOnlyKey
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PXGN7BY7.js";
|
|
11
11
|
|
|
12
12
|
// src/mcp/cli.ts
|
|
13
13
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ainyc/canonry",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.186.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Self-hosted AI visibility (AEO) platform: track how ChatGPT, Claude, Gemini, and Perplexity cite your domain, join it with Search Console, GA4, server-side traffic, and paid media, and fix what you find through agent tools (CLI, REST, MCP). Local SQLite.",
|
|
6
6
|
"license": "FSL-1.1-ALv2",
|
|
@@ -70,30 +70,30 @@
|
|
|
70
70
|
"@types/node-cron": "^3.0.11",
|
|
71
71
|
"tsup": "^8.5.1",
|
|
72
72
|
"tsx": "^4.19.0",
|
|
73
|
-
"@ainyc/canonry-api-client": "0.0.0",
|
|
74
73
|
"@ainyc/canonry-api-routes": "0.0.0",
|
|
74
|
+
"@ainyc/canonry-api-client": "0.0.0",
|
|
75
75
|
"@ainyc/canonry-contracts": "0.0.0",
|
|
76
76
|
"@ainyc/canonry-config": "0.0.0",
|
|
77
77
|
"@ainyc/canonry-db": "0.0.0",
|
|
78
|
-
"@ainyc/canonry-integration-cloudflare-queue": "0.0.0",
|
|
79
|
-
"@ainyc/canonry-integration-cloudflare-worker": "0.0.0",
|
|
80
78
|
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
81
|
-
"@ainyc/canonry-integration-google": "0.0.0",
|
|
82
|
-
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
83
79
|
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
80
|
+
"@ainyc/canonry-integration-cloudflare-worker": "0.0.0",
|
|
81
|
+
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
82
|
+
"@ainyc/canonry-integration-google": "0.0.0",
|
|
84
83
|
"@ainyc/canonry-integration-google-ads": "0.0.0",
|
|
85
|
-
"@ainyc/canonry-integration-
|
|
84
|
+
"@ainyc/canonry-integration-cloudflare-queue": "0.0.0",
|
|
86
85
|
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
87
|
-
"@ainyc/canonry-integration-google-
|
|
88
|
-
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
86
|
+
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
89
87
|
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
88
|
+
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
90
89
|
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
91
|
-
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
92
90
|
"@ainyc/canonry-intelligence": "0.0.0",
|
|
91
|
+
"@ainyc/canonry-integration-google-tag-manager": "0.0.0",
|
|
92
|
+
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
93
|
+
"@ainyc/canonry-provider-local": "0.0.0",
|
|
94
|
+
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
93
95
|
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
94
96
|
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
95
|
-
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
96
|
-
"@ainyc/canonry-provider-local": "0.0.0",
|
|
97
97
|
"@ainyc/canonry-provider-perplexity": "0.0.0"
|
|
98
98
|
},
|
|
99
99
|
"scripts": {
|