@canonry/canonry 4.160.0 → 4.162.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-AtgoG2AH.js → AuditHistoryPanel-BTtqk1mK.js} +1 -1
- package/assets/assets/{BacklinksPage-DrOSF7Mu.js → BacklinksPage-wqRYkJFG.js} +1 -1
- package/assets/assets/ChartPrimitives-BoYe2M-i.js +1 -0
- package/assets/assets/{HistoryPage-CGQXleJc.js → HistoryPage-Dj1FU5WV.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-C7D2OgIQ.js → MeasurementPropertyPage-CPCYzznG.js} +1 -1
- package/assets/assets/ProjectPage-7vg1El9D.js +9 -0
- package/assets/assets/{RunRow-BdzKKODo.js → RunRow-CTgtgq5x.js} +1 -1
- package/assets/assets/{RunsPage-BU96L07S.js → RunsPage-qS7etC5f.js} +1 -1
- package/assets/assets/{SettingsPage-LEca0kDH.js → SettingsPage-BlUWPiA7.js} +1 -1
- package/assets/assets/{SiteHealthSection-CKM4DUfE.js → SiteHealthSection-tUFchSy-.js} +3 -3
- package/assets/assets/{TrafficPage-tU9wl1F_.js → TrafficPage-BSWUsXM1.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-DZTpnU9f.js → TrafficSourceDetailPage-DOTtU4SK.js} +1 -1
- package/assets/assets/{extract-error-message-BAyN-ftk.js → extract-error-message-DOWCsWL0.js} +1 -1
- package/assets/assets/{index-Wqv7kvs-.js → index-BYGqta_M.js} +20 -20
- package/assets/assets/{index-CACRaOmZ.css → index-CHluSPlN.css} +1 -1
- package/assets/assets/{react-sigma_core.esm.min-DlZOAc_w.js → react-sigma_core.esm.min-C4kgfZfm.js} +1 -1
- package/assets/index.html +2 -2
- package/dist/{chunk-HQAVEK42.js → chunk-2TLRE2L3.js} +1 -1
- package/dist/{chunk-X7CYY5Q7.js → chunk-C6ZZH3XI.js} +206 -38
- package/dist/{chunk-XGESWHFP.js → chunk-FZAAGXTK.js} +35 -18
- package/dist/{chunk-7M7T5QXS.js → chunk-NG7OR6GO.js} +3354 -3216
- package/dist/cli.js +42 -15
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-6XQMM466.js → intelligence-service-ANRFEQWX.js} +2 -2
- package/dist/mcp.js +2 -2
- package/package.json +12 -12
- package/assets/assets/ChartPrimitives-DXVLCdBi.js +0 -1
- package/assets/assets/ProjectPage-Lp1VjNvL.js +0 -12
package/dist/cli.js
CHANGED
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
showFirstRunNotice,
|
|
32
32
|
trackCliCommandFinished,
|
|
33
33
|
trackEvent
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-FZAAGXTK.js";
|
|
35
35
|
import {
|
|
36
36
|
CliError,
|
|
37
37
|
EXIT_SYSTEM_ERROR,
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
saveConfigPatch,
|
|
52
52
|
systemError,
|
|
53
53
|
usageError
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-2TLRE2L3.js";
|
|
55
55
|
import {
|
|
56
56
|
CLOUDFLARE_WORKER_BINDINGS,
|
|
57
57
|
CLOUDFLARE_WORKER_GENERATED_MARKER,
|
|
@@ -65,7 +65,7 @@ import {
|
|
|
65
65
|
projects,
|
|
66
66
|
queries,
|
|
67
67
|
renderReportHtml
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-C6ZZH3XI.js";
|
|
69
69
|
import {
|
|
70
70
|
AdsDeliverySnapshotStatuses,
|
|
71
71
|
AdsHistoricalCampaignRollupStatuses,
|
|
@@ -129,7 +129,7 @@ import {
|
|
|
129
129
|
providerQuotaPolicySchema,
|
|
130
130
|
resolveProviderInput,
|
|
131
131
|
winnabilityClassSchema
|
|
132
|
-
} from "./chunk-
|
|
132
|
+
} from "./chunk-NG7OR6GO.js";
|
|
133
133
|
|
|
134
134
|
// src/cli.ts
|
|
135
135
|
import { pathToFileURL } from "url";
|
|
@@ -7092,25 +7092,56 @@ async function googlePerformanceDaily(project, opts) {
|
|
|
7092
7092
|
console.log(JSON.stringify(data, null, 2));
|
|
7093
7093
|
return;
|
|
7094
7094
|
} else if (opts.format === "jsonl") {
|
|
7095
|
-
emitJsonl(data.daily.map((row) => ({ project, ...row })));
|
|
7095
|
+
emitJsonl(data.daily.map((row) => ({ project, window: data.window, ...row })));
|
|
7096
7096
|
return;
|
|
7097
7097
|
}
|
|
7098
7098
|
if (data.daily.length === 0) {
|
|
7099
7099
|
console.log('No GSC data found in this window. Run "canonry google sync" first.');
|
|
7100
7100
|
return;
|
|
7101
7101
|
}
|
|
7102
|
-
const { clicks, impressions, ctr, days } = data.totals;
|
|
7103
|
-
|
|
7102
|
+
const { clicks, impressions, ctr, position, days } = data.totals;
|
|
7103
|
+
const win = data.window;
|
|
7104
|
+
const range = win?.startDate && win.endDate ? ` ${win.startDate} to ${win.endDate}` : "";
|
|
7105
|
+
console.log(`GSC daily summary (${days} day${days === 1 ? "" : "s"}${range}):
|
|
7104
7106
|
`);
|
|
7107
|
+
const endsAtFrontier = win?.endDate !== void 0 && win.endDate === win.latestDataDate;
|
|
7108
|
+
if (endsAtFrontier && (win.daysSinceLatestData ?? 0) > 0) {
|
|
7109
|
+
console.log(` Search Console data through ${win.endDate} (${win.daysSinceLatestData} day${win.daysSinceLatestData === 1 ? "" : "s"} ago).`);
|
|
7110
|
+
console.log();
|
|
7111
|
+
} else if (win?.latestDataDate && win.endDate !== win.latestDataDate) {
|
|
7112
|
+
console.log(` Showing a fixed range. Latest Search Console data is ${win.latestDataDate}.`);
|
|
7113
|
+
console.log();
|
|
7114
|
+
}
|
|
7105
7115
|
console.log(` Clicks: ${clicks.toLocaleString()}`);
|
|
7106
7116
|
console.log(` Impressions: ${impressions.toLocaleString()}`);
|
|
7107
7117
|
console.log(` CTR: ${(ctr * 100).toFixed(2)}%`);
|
|
7118
|
+
console.log(` Position: ${position == null ? "\u2014" : position.toFixed(1)}`);
|
|
7119
|
+
const fits = data.trends;
|
|
7120
|
+
const trendLines = [];
|
|
7121
|
+
for (const [label, trend, fmt] of [
|
|
7122
|
+
["Clicks", fits?.clicks, (v) => v.toFixed(2)],
|
|
7123
|
+
["Impressions", fits?.impressions, (v) => v.toFixed(2)],
|
|
7124
|
+
["CTR", fits?.ctr, (v) => `${(v * 100).toFixed(3)}pp`],
|
|
7125
|
+
["Position", fits?.position, (v) => v.toFixed(3)]
|
|
7126
|
+
]) {
|
|
7127
|
+
if (!trend) continue;
|
|
7128
|
+
const better = label === "Position" ? trend.slope < 0 : trend.slope > 0;
|
|
7129
|
+
const direction = trend.slope === 0 ? "flat" : better ? "improving" : "declining";
|
|
7130
|
+
trendLines.push(
|
|
7131
|
+
` ${`${label}:`.padEnd(13)}${fmt(trend.slope).padStart(10)}/day ${direction} (r\xB2=${trend.r2.toFixed(2)})`
|
|
7132
|
+
);
|
|
7133
|
+
}
|
|
7134
|
+
if (trendLines.length > 0) {
|
|
7135
|
+
console.log(`
|
|
7136
|
+
Trend (least-squares fit over ${days} day${days === 1 ? "" : "s"}):`);
|
|
7137
|
+
for (const line of trendLines) console.log(line);
|
|
7138
|
+
}
|
|
7108
7139
|
console.log();
|
|
7109
|
-
console.log(` ${"DATE".padEnd(12)}${"CLICKS".padStart(10)}${"IMPR".padStart(12)}${"CTR".padStart(10)}`);
|
|
7110
|
-
console.log(` ${"\u2500".repeat(12)}${"\u2500".repeat(10)}${"\u2500".repeat(12)}${"\u2500".repeat(10)}`);
|
|
7140
|
+
console.log(` ${"DATE".padEnd(12)}${"CLICKS".padStart(10)}${"IMPR".padStart(12)}${"CTR".padStart(10)}${"POS".padStart(9)}`);
|
|
7141
|
+
console.log(` ${"\u2500".repeat(12)}${"\u2500".repeat(10)}${"\u2500".repeat(12)}${"\u2500".repeat(10)}${"\u2500".repeat(9)}`);
|
|
7111
7142
|
for (const row of data.daily) {
|
|
7112
7143
|
console.log(
|
|
7113
|
-
` ${row.date.padEnd(12)}${row.clicks.toLocaleString().padStart(10)}${row.impressions.toLocaleString().padStart(12)}${(row.ctr * 100).toFixed(2).padStart(9)}
|
|
7144
|
+
` ${row.date.padEnd(12)}${row.clicks.toLocaleString().padStart(10)}${row.impressions.toLocaleString().padStart(12)}${(row.ctr * 100).toFixed(2).padStart(9)}%${(row.position == null ? "\u2014" : row.position.toFixed(1)).padStart(9)}`
|
|
7114
7145
|
);
|
|
7115
7146
|
}
|
|
7116
7147
|
}
|
|
@@ -7166,11 +7197,7 @@ async function googlePerformance(project, opts) {
|
|
|
7166
7197
|
if (opts.startDate) params.startDate = opts.startDate;
|
|
7167
7198
|
if (opts.endDate) params.endDate = opts.endDate;
|
|
7168
7199
|
} else if (opts.days) {
|
|
7169
|
-
|
|
7170
|
-
const start = /* @__PURE__ */ new Date();
|
|
7171
|
-
start.setDate(start.getDate() - opts.days);
|
|
7172
|
-
params.startDate = start.toISOString().split("T")[0];
|
|
7173
|
-
params.endDate = end.toISOString().split("T")[0];
|
|
7200
|
+
params.days = String(opts.days);
|
|
7174
7201
|
}
|
|
7175
7202
|
if (opts.keyword) params.query = opts.keyword;
|
|
7176
7203
|
if (opts.page) params.page = opts.page;
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FZAAGXTK.js";
|
|
4
4
|
import {
|
|
5
5
|
loadConfig
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-2TLRE2L3.js";
|
|
7
|
+
import "./chunk-C6ZZH3XI.js";
|
|
8
|
+
import "./chunk-NG7OR6GO.js";
|
|
9
9
|
export {
|
|
10
10
|
createServer,
|
|
11
11
|
loadConfig
|
package/dist/mcp.js
CHANGED
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
PACKAGE_VERSION,
|
|
4
4
|
canonryMcpTools,
|
|
5
5
|
createApiClient
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2TLRE2L3.js";
|
|
7
7
|
import {
|
|
8
8
|
isReadOnlyKey
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-NG7OR6GO.js";
|
|
10
10
|
|
|
11
11
|
// src/mcp/cli.ts
|
|
12
12
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canonry/canonry",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.162.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",
|
|
@@ -71,27 +71,27 @@
|
|
|
71
71
|
"tsup": "^8.5.1",
|
|
72
72
|
"tsx": "^4.19.0",
|
|
73
73
|
"@ainyc/canonry-api-client": "0.0.0",
|
|
74
|
-
"@ainyc/canonry-api-routes": "0.0.0",
|
|
75
|
-
"@ainyc/canonry-contracts": "0.0.0",
|
|
76
74
|
"@ainyc/canonry-config": "0.0.0",
|
|
77
|
-
"@ainyc/canonry-db": "0.0.0",
|
|
78
75
|
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
79
|
-
"@ainyc/canonry-
|
|
76
|
+
"@ainyc/canonry-contracts": "0.0.0",
|
|
77
|
+
"@ainyc/canonry-db": "0.0.0",
|
|
80
78
|
"@ainyc/canonry-integration-cloudflare-queue": "0.0.0",
|
|
79
|
+
"@ainyc/canonry-integration-cloudflare-worker": "0.0.0",
|
|
80
|
+
"@ainyc/canonry-api-routes": "0.0.0",
|
|
81
|
+
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
81
82
|
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
82
|
-
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
83
83
|
"@ainyc/canonry-integration-google": "0.0.0",
|
|
84
|
-
"@ainyc/canonry-integration-
|
|
85
|
-
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
84
|
+
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
86
85
|
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
87
|
-
"@ainyc/canonry-intelligence": "0.0.0",
|
|
88
|
-
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
89
86
|
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
87
|
+
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
88
|
+
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
90
89
|
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
90
|
+
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
91
91
|
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
92
|
-
"@ainyc/canonry-
|
|
92
|
+
"@ainyc/canonry-intelligence": "0.0.0",
|
|
93
93
|
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
94
|
-
"@ainyc/canonry-provider-
|
|
94
|
+
"@ainyc/canonry-provider-local": "0.0.0",
|
|
95
95
|
"@ainyc/canonry-provider-perplexity": "0.0.0"
|
|
96
96
|
},
|
|
97
97
|
"scripts": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const c={contentStyle:{backgroundColor:"var(--chart-tooltip-bg, #18181b)",border:"1px solid var(--chart-tooltip-border, #3f3f46)",borderRadius:8,fontSize:12},labelStyle:{color:"var(--chart-tooltip-label, #e4e4e7)"},itemStyle:{color:"var(--chart-tooltip-item, #a1a1aa)"}},i={fill:"var(--chart-neutral-text-dim, #71717a)",fontSize:11},s="var(--chart-grid, #27272a)",u="var(--chart-axis, #27272a)",e=["var(--chart-series-1, #34d399)","var(--chart-series-2, #60a5fa)","var(--chart-series-3, #f472b6)","var(--chart-series-4, #facc15)","var(--chart-series-5, #a78bfa)","var(--chart-series-6, #fb923c)","var(--chart-series-7, #22d3ee)","var(--chart-series-8, #f87171)"],o={gemini:"#60a5fa",openai:"#34d399",claude:"#fb923c",perplexity:"#22d3ee",local:"#a78bfa"};function l(a,t=0){return o[a]??e[t%e.length]}const h={text:"var(--chart-neutral-text, #a1a1aa)",textDim:"var(--chart-neutral-text-dim, #71717a)",textFaint:"var(--chart-neutral-text-faint, #52525b)",surface:"var(--chart-neutral-surface, #27272a)",trackSubtle:"var(--chart-neutral-track-subtle, rgb(255 255 255 / 0.04))",gridLine:"var(--chart-neutral-grid-line, rgb(255 255 255 / 0.06))"},v={positive:"var(--chart-tone-positive, #34d399)",positiveDeep:"var(--chart-tone-positive-deep, #10b981)",caution:"var(--chart-tone-caution, #fbbf24)",negative:"var(--chart-tone-negative, #fb7185)"};function d(a){return a}function n(a){const t=/^(\d{4})-(\d{2})-(\d{2})/.exec(a);return t?{year:Number(t[1]),month:Number(t[2]),day:Number(t[3])}:null}function f(a){const t=String(a),r=n(t);return r?new Date(Date.UTC(r.year,r.month-1,r.day)).toLocaleDateString(void 0,{timeZone:"UTC",month:"short",day:"numeric",year:"numeric"}):t}function b(a){const t=n(String(a));return t?`${t.month}/${t.day}`:String(a)}function m(a){return new Date(a).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function S(a){const t=new Date(a);return`${t.getMonth()+1}/${t.getDate()}`}export{u as C,i as a,f as b,c,h as d,e,b as f,v as g,s as h,S as i,m as j,d as o,l as p};
|