@ainyc/canonry 4.43.0 → 4.44.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/dist/{chunk-IXP4WGLQ.js → chunk-U73SXACQ.js} +1 -1
- package/dist/cli.js +31 -1
- package/dist/index.js +1 -1
- package/package.json +5 -5
|
@@ -4331,7 +4331,7 @@ function renderCompetitorLandscape(report) {
|
|
|
4331
4331
|
</tr>`;
|
|
4332
4332
|
}).join("");
|
|
4333
4333
|
const table = competitors2.length > 0 ? `<table class="report-table">
|
|
4334
|
-
<thead><tr><th>Domain</th><th>Pressure</th><th>Citations</th><th class="numeric">Mentions</th><th class="numeric">
|
|
4334
|
+
<thead><tr><th>Domain</th><th>Pressure</th><th>Citations</th><th class="numeric">Mentions</th><th class="numeric" title="Citation share \u2014 % of cited-source slots that went to this competitor across tracked queries. Distinct from Mention Share.">Citation share</th><th>Cited queries</th></tr></thead>
|
|
4335
4335
|
<tbody>${rows}</tbody>
|
|
4336
4336
|
</table>` : renderEmpty("No competitors configured.");
|
|
4337
4337
|
const citationBars = renderCompetitorBars(report.competitorLandscape, report.meta.project.canonicalDomain);
|
package/dist/cli.js
CHANGED
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
setTelemetrySource,
|
|
22
22
|
showFirstRunNotice,
|
|
23
23
|
trackEvent
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-U73SXACQ.js";
|
|
25
25
|
import {
|
|
26
26
|
CliError,
|
|
27
27
|
EXIT_SYSTEM_ERROR,
|
|
@@ -8081,6 +8081,7 @@ function renderHuman(overview) {
|
|
|
8081
8081
|
providerScores,
|
|
8082
8082
|
attentionItems,
|
|
8083
8083
|
runHistory,
|
|
8084
|
+
suggestedQueries,
|
|
8084
8085
|
dateRangeLabel,
|
|
8085
8086
|
contextLabel
|
|
8086
8087
|
} = overview;
|
|
@@ -8096,7 +8097,11 @@ function renderHuman(overview) {
|
|
|
8096
8097
|
console.log("\n No runs yet.");
|
|
8097
8098
|
}
|
|
8098
8099
|
console.log("\nScores:");
|
|
8100
|
+
printScore("Mention ", scores.mention);
|
|
8099
8101
|
printScore("Visibility ", scores.visibility);
|
|
8102
|
+
printScore("Mention share ", scores.mentionShare);
|
|
8103
|
+
printMentionShareBreakdown(scores.mentionShare);
|
|
8104
|
+
printScore("Mention gaps ", scores.mentionGaps);
|
|
8100
8105
|
printScore("Gap queries ", scores.gapQueries);
|
|
8101
8106
|
printScore("Index coverage ", scores.indexCoverage);
|
|
8102
8107
|
printScore("Competitor press.", scores.competitorPressure);
|
|
@@ -8156,12 +8161,37 @@ function renderHuman(overview) {
|
|
|
8156
8161
|
console.log(` ${point.createdAt.slice(0, 10)} ${String(point.citationRate).padStart(3)}% ${bar}`);
|
|
8157
8162
|
}
|
|
8158
8163
|
}
|
|
8164
|
+
if (suggestedQueries.rows.length > 0) {
|
|
8165
|
+
const moreLabel = suggestedQueries.totalCandidates > suggestedQueries.rows.length ? ` (showing ${suggestedQueries.rows.length} of ${suggestedQueries.totalCandidates})` : "";
|
|
8166
|
+
console.log(`
|
|
8167
|
+
Suggested queries to track${moreLabel}:`);
|
|
8168
|
+
for (const s of suggestedQueries.rows) {
|
|
8169
|
+
console.log(` + ${s.query}`);
|
|
8170
|
+
console.log(` ${s.reason}`);
|
|
8171
|
+
}
|
|
8172
|
+
console.log(` (add via: canonry query add ${meta.name} "<query>")`);
|
|
8173
|
+
}
|
|
8159
8174
|
}
|
|
8160
8175
|
function printScore(prefix, score) {
|
|
8161
8176
|
const tone = `[${score.tone}]`.padEnd(11);
|
|
8162
8177
|
const value = score.value.padEnd(8);
|
|
8163
8178
|
console.log(` ${prefix} ${tone} ${value} ${score.delta}`);
|
|
8164
8179
|
}
|
|
8180
|
+
function printMentionShareBreakdown(mentionShare) {
|
|
8181
|
+
const { breakdown } = mentionShare;
|
|
8182
|
+
if (breakdown.perCompetitor.length === 0) return;
|
|
8183
|
+
const total = breakdown.projectMentionSnapshots + breakdown.competitorMentionSnapshots;
|
|
8184
|
+
if (total === 0) return;
|
|
8185
|
+
const youPct = (breakdown.projectMentionSnapshots / total * 100).toFixed(1);
|
|
8186
|
+
console.log(` you${" ".repeat(28)} ${breakdown.projectMentionSnapshots} mentions (${youPct}% of combined)`);
|
|
8187
|
+
for (const row of breakdown.perCompetitor.slice(0, 3)) {
|
|
8188
|
+
const pct2 = (row.mentionSnapshots / total * 100).toFixed(1);
|
|
8189
|
+
console.log(` ${row.domain.padEnd(30)} ${row.mentionSnapshots} mentions (${pct2}% of combined)`);
|
|
8190
|
+
}
|
|
8191
|
+
if (breakdown.perCompetitor.length > 3) {
|
|
8192
|
+
console.log(` + ${breakdown.perCompetitor.length - 3} more competitor${breakdown.perCompetitor.length - 3 === 1 ? "" : "s"} (--format json for full breakdown)`);
|
|
8193
|
+
}
|
|
8194
|
+
}
|
|
8165
8195
|
function pct(value) {
|
|
8166
8196
|
return `${(value * 100).toFixed(1)}%`;
|
|
8167
8197
|
}
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ainyc/canonry",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.44.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",
|
|
@@ -60,22 +60,22 @@
|
|
|
60
60
|
"@types/node-cron": "^3.0.11",
|
|
61
61
|
"tsup": "^8.5.1",
|
|
62
62
|
"tsx": "^4.19.0",
|
|
63
|
+
"@ainyc/canonry-config": "0.0.0",
|
|
63
64
|
"@ainyc/canonry-api-routes": "0.0.0",
|
|
64
65
|
"@ainyc/canonry-contracts": "0.0.0",
|
|
65
|
-
"@ainyc/canonry-intelligence": "0.0.0",
|
|
66
|
-
"@ainyc/canonry-config": "0.0.0",
|
|
67
66
|
"@ainyc/canonry-db": "0.0.0",
|
|
68
67
|
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
68
|
+
"@ainyc/canonry-intelligence": "0.0.0",
|
|
69
69
|
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
70
|
+
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
70
71
|
"@ainyc/canonry-integration-google": "0.0.0",
|
|
71
72
|
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
72
73
|
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
73
74
|
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
74
75
|
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
75
76
|
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
76
|
-
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
77
|
-
"@ainyc/canonry-provider-perplexity": "0.0.0",
|
|
78
77
|
"@ainyc/canonry-provider-local": "0.0.0",
|
|
78
|
+
"@ainyc/canonry-provider-perplexity": "0.0.0",
|
|
79
79
|
"@ainyc/canonry-provider-openai": "0.0.0"
|
|
80
80
|
},
|
|
81
81
|
"scripts": {
|