@canonry/canonry 5.34.0 → 6.1.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/assets/agent-workspace/skills/aero/references/portfolio-analysis.md +15 -3
- package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +4 -8
- package/assets/assets/{AuditHistoryPanel-Ddg6JIi3.js → AuditHistoryPanel-Dtt7cbYo.js} +1 -1
- package/assets/assets/{BacklinksPage-DI9BmaYt.js → BacklinksPage-h25kHk3u.js} +1 -1
- package/assets/assets/{HistoryPage-CACIL005.js → HistoryPage-70YWNYBU.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-D_i3t0DT.js → MeasurementPropertyPage-CBPQ3A99.js} +1 -1
- package/assets/assets/ProjectPage-Dbbxf8yl.js +8 -0
- package/assets/assets/RunsPage-B6LqcDRg.js +1 -0
- package/assets/assets/SettingsPage-DNV6Is27.js +1 -0
- package/assets/assets/SiteHealthSection-CWEIYXut.js +4 -0
- package/assets/assets/TrafficPage-ZZqGgMyL.js +40 -0
- package/assets/assets/{TrafficSourceDetailPage-BPqNmuws.js → TrafficSourceDetailPage-_RMyqM86.js} +1 -1
- package/assets/assets/{extract-error-message-B7OeWj0x.js → extract-error-message-D-AaTlPU.js} +1 -1
- package/assets/assets/index-BCKrocfL.js +86 -0
- package/assets/assets/index-C17E5ZcA.css +1 -0
- package/assets/assets/{react-sigma_core.esm.min-jiMNkILi.js → react-sigma_core.esm.min-CaRTZKvV.js} +1 -1
- package/assets/assets/{v2-overview-adapter-Caj3bHQE.js → v2-overview-adapter-C16fKgpq.js} +1 -1
- package/assets/index.html +2 -2
- package/dist/{chunk-G2K5KCUY.js → chunk-B5W7HDCG.js} +49 -24
- package/dist/{chunk-25H4K7KL.js → chunk-DMU3SFC4.js} +8 -8
- package/dist/{chunk-NZCKJMLC.js → chunk-HTTYBQN4.js} +2 -2
- package/dist/{chunk-NOIK3FUO.js → chunk-LXHE4DVO.js} +68 -17
- package/dist/{chunk-VHPGBX4P.js → chunk-MJ3QINUW.js} +3 -3
- package/dist/{chunk-QTETJEHI.js → chunk-PDOMOHOP.js} +6 -3
- package/dist/{chunk-AIAVZY6L.js → chunk-QFI47QVP.js} +36 -135
- package/dist/cli.js +22 -12
- package/dist/{demo-server-UI24OAHX.js → demo-server-VP6CP33U.js} +4 -4
- package/dist/index.js +6 -6
- package/dist/{intelligence-service-ZKFLGJ23.js → intelligence-service-6F63MYQ5.js} +2 -2
- package/dist/mcp.js +4 -4
- package/package.json +15 -15
- package/assets/assets/ProjectPage-d1djqfh3.js +0 -8
- package/assets/assets/RunRow-CjhvvA6g.js +0 -1
- package/assets/assets/RunsPage-DuBhw2uc.js +0 -1
- package/assets/assets/SettingsPage-MUpfB0HH.js +0 -1
- package/assets/assets/SiteHealthSection-6qdXlFcO.js +0 -4
- package/assets/assets/TrafficPage--nGSOgqn.js +0 -40
- package/assets/assets/index-C4lreGwR.js +0 -86
- package/assets/assets/index-DX5M4MHr.css +0 -1
package/dist/cli.js
CHANGED
|
@@ -35,11 +35,11 @@ import {
|
|
|
35
35
|
trackCliCommandFinished,
|
|
36
36
|
trackEvent,
|
|
37
37
|
waitForServerRuntimeStartup
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-QFI47QVP.js";
|
|
39
39
|
import {
|
|
40
40
|
autoSyncSkills,
|
|
41
41
|
formatAutoSyncNotice
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-MJ3QINUW.js";
|
|
43
43
|
import {
|
|
44
44
|
configExists,
|
|
45
45
|
createApiClient,
|
|
@@ -56,13 +56,13 @@ import {
|
|
|
56
56
|
saveConfig,
|
|
57
57
|
saveConfigPatch,
|
|
58
58
|
shouldPrintServeSkillsNudge
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-PDOMOHOP.js";
|
|
60
60
|
import {
|
|
61
61
|
DEFAULT_DEMO_TRUSTED_PROXIES,
|
|
62
62
|
trustedProxiesProblem,
|
|
63
63
|
trustedProxyProblem
|
|
64
64
|
} from "./chunk-RB2F4D3Z.js";
|
|
65
|
-
import "./chunk-
|
|
65
|
+
import "./chunk-HTTYBQN4.js";
|
|
66
66
|
import {
|
|
67
67
|
CliError,
|
|
68
68
|
EXIT_SYSTEM_ERROR,
|
|
@@ -74,7 +74,7 @@ import {
|
|
|
74
74
|
runMeasurementDraftAction,
|
|
75
75
|
systemError,
|
|
76
76
|
usageError
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-DMU3SFC4.js";
|
|
78
78
|
import {
|
|
79
79
|
CLOUDFLARE_WORKER_BINDINGS,
|
|
80
80
|
CLOUDFLARE_WORKER_GENERATED_MARKER,
|
|
@@ -89,7 +89,7 @@ import {
|
|
|
89
89
|
queries,
|
|
90
90
|
renderReportHtml,
|
|
91
91
|
runs
|
|
92
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-B5W7HDCG.js";
|
|
93
93
|
import {
|
|
94
94
|
AdsDeliverySnapshotStatuses,
|
|
95
95
|
AdsHistoricalCampaignRollupStatuses,
|
|
@@ -151,6 +151,7 @@ import {
|
|
|
151
151
|
formatSignedPointDelta,
|
|
152
152
|
gbpNegativeReviewMaxStarsSchema,
|
|
153
153
|
googleAdsMetricsWindowSchema,
|
|
154
|
+
isRetiredAgentProviderId,
|
|
154
155
|
isVisibilityCompareClassMetric,
|
|
155
156
|
logQuerySchema,
|
|
156
157
|
measurementChangesQuerySchema,
|
|
@@ -195,7 +196,7 @@ import {
|
|
|
195
196
|
visibilityCompareSelectionSchema,
|
|
196
197
|
visibilityReportRequestSchema,
|
|
197
198
|
winnabilityClassSchema
|
|
198
|
-
} from "./chunk-
|
|
199
|
+
} from "./chunk-LXHE4DVO.js";
|
|
199
200
|
|
|
200
201
|
// src/cli.ts
|
|
201
202
|
import { pathToFileURL } from "url";
|
|
@@ -460,13 +461,21 @@ async function showSentiment(project2, selection2, format) {
|
|
|
460
461
|
if (machine(value, format)) return;
|
|
461
462
|
printSummary(value);
|
|
462
463
|
}
|
|
464
|
+
function ratedAnswersLine({ ratedAnswers, eligibleAnswers, ratedAnswerRate }) {
|
|
465
|
+
if (ratedAnswers === void 0 || eligibleAnswers === void 0) return null;
|
|
466
|
+
if (eligibleAnswers === 0) return "Rated: no answers yet";
|
|
467
|
+
if (ratedAnswerRate === null || ratedAnswerRate === void 0) return `Rated: Unavailable \xB7 ${eligibleAnswers} eligible ${eligibleAnswers === 1 ? "answer" : "answers"}`;
|
|
468
|
+
return `Rated: ${formatPercent(ratedAnswerRate, RatioUnits.fraction)} \xB7 ${ratedAnswers} of ${eligibleAnswers} ${eligibleAnswers === 1 ? "answer" : "answers"} rated`;
|
|
469
|
+
}
|
|
463
470
|
function printSummary(value) {
|
|
464
471
|
const label = value.selection.queryClass === "branded" ? "Branded" : "Non-brand";
|
|
465
472
|
console.log(`${label} sentiment: ${value.state}${value.provisional ? " \xB7 provisional" : ""}`);
|
|
466
473
|
if (value.reason) console.log(value.reason);
|
|
467
474
|
console.log(`Favorable: ${value.score.favorableDisplay} \xB7 Mixed: ${value.score.mixedDisplay} \xB7 Unfavorable: ${value.score.unfavorableDisplay}`);
|
|
468
475
|
console.log(`${label} favorable % = favorable / (favorable + mixed + unfavorable).`);
|
|
469
|
-
|
|
476
|
+
const rated = ratedAnswersLine(value.coverage);
|
|
477
|
+
if (rated) console.log(rated);
|
|
478
|
+
console.log(`${value.coverage.judged} of ${value.coverage.selected} assessments judged \xB7 ${value.coverage.distinctSourceAnswers} admitted source answers`);
|
|
470
479
|
console.log(`${value.coverage.eligibleAssessments} eligible assessments \xB7 ${value.coverage.unadmittedAssessments} not yet admitted`);
|
|
471
480
|
console.log(`Source provider slots: ${value.coverage.completedProviderSlots} of ${value.coverage.expectedProviderSlots}`);
|
|
472
481
|
console.log(`Evaluation definition: ${value.selection.evaluationDefinitionId ?? "not measured"}`);
|
|
@@ -721,7 +730,7 @@ function parseDemoTrustedProxies(values) {
|
|
|
721
730
|
async function demoCommand(options) {
|
|
722
731
|
const { host, port } = parseDemoListenOptions(options);
|
|
723
732
|
const trustProxy = parseDemoTrustedProxies(options.trustProxy);
|
|
724
|
-
const { createDemoServer } = await import("./demo-server-
|
|
733
|
+
const { createDemoServer } = await import("./demo-server-VP6CP33U.js");
|
|
725
734
|
const app = await createDemoServer({ trustProxy });
|
|
726
735
|
let stopping = false;
|
|
727
736
|
const stop = () => {
|
|
@@ -11825,7 +11834,7 @@ Citation Rate Trends (${data.window})`);
|
|
|
11825
11834
|
for (const [provider, served] of servedEntries) {
|
|
11826
11835
|
const rawIds = served.latestServedModelIds.length > 0 ? served.latestServedModelIds.join(", ") : formatModelEvidence(served.latestObservation.state);
|
|
11827
11836
|
const substituted = mismatch[provider];
|
|
11828
|
-
const note = substituted ? `
|
|
11837
|
+
const note = substituted ? ` (not the ${formatModelEvidence(substituted.configured)} you selected)` : "";
|
|
11829
11838
|
console.log(` ${provider}: ${rawIds} at ${served.latestObservation.observedAt}${note}`);
|
|
11830
11839
|
for (const event of served.events) {
|
|
11831
11840
|
const dating = event.fromPreWindowAnchor ? " (on or before)" : "";
|
|
@@ -19874,9 +19883,10 @@ Usage: ${usage}`, {
|
|
|
19874
19883
|
}
|
|
19875
19884
|
const providerInput = getString(input.values, "provider");
|
|
19876
19885
|
if (providerInput && !coerceAgentProvider(providerInput)) {
|
|
19877
|
-
|
|
19886
|
+
const message = isRetiredAgentProviderId(providerInput) ? `--provider ${providerInput} was removed; use one of: ${listAgentProviders().join(", ")}` : `--provider must be one of: ${listAgentProviders().join(", ")}`;
|
|
19887
|
+
throw usageError(`Error: ${message}
|
|
19878
19888
|
Usage: ${usage}`, {
|
|
19879
|
-
message
|
|
19889
|
+
message,
|
|
19880
19890
|
details: {
|
|
19881
19891
|
command: "agent.ask",
|
|
19882
19892
|
usage,
|
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
computeFactorAverages,
|
|
6
6
|
layoutSiteCrawlGraphInput,
|
|
7
7
|
persistSiteCrawlGraphLayout
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HTTYBQN4.js";
|
|
9
9
|
import {
|
|
10
10
|
PACKAGE_VERSION,
|
|
11
11
|
canonryMcpTools
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-DMU3SFC4.js";
|
|
13
13
|
import {
|
|
14
14
|
HISTORY_WINDOW_RUNS,
|
|
15
15
|
IntelligenceService,
|
|
@@ -85,7 +85,7 @@ import {
|
|
|
85
85
|
siteCrawlPages,
|
|
86
86
|
siteCrawlSnapshots,
|
|
87
87
|
trafficSources
|
|
88
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-B5W7HDCG.js";
|
|
89
89
|
import {
|
|
90
90
|
RunKinds,
|
|
91
91
|
SiteCrawlFetchStates,
|
|
@@ -112,7 +112,7 @@ import {
|
|
|
112
112
|
roundPreservingTotal,
|
|
113
113
|
siteAuditPageFactorSchema,
|
|
114
114
|
wilsonInterval
|
|
115
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-LXHE4DVO.js";
|
|
116
116
|
|
|
117
117
|
// src/demo-server.ts
|
|
118
118
|
import { dirname, join as join2 } from "path";
|
package/dist/index.js
CHANGED
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
createGoogleMarketingCredentialStore,
|
|
4
4
|
createGoogleMarketingRuntime,
|
|
5
5
|
createServer
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-QFI47QVP.js";
|
|
7
7
|
import {
|
|
8
8
|
loadConfig
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-PDOMOHOP.js";
|
|
10
|
+
import "./chunk-HTTYBQN4.js";
|
|
11
|
+
import "./chunk-DMU3SFC4.js";
|
|
12
|
+
import "./chunk-B5W7HDCG.js";
|
|
13
|
+
import "./chunk-LXHE4DVO.js";
|
|
14
14
|
export {
|
|
15
15
|
GoogleMarketingRuntimeError,
|
|
16
16
|
createGoogleMarketingCredentialStore,
|
package/dist/mcp.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
autoSyncSkills
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MJ3QINUW.js";
|
|
4
4
|
import {
|
|
5
5
|
createApiClient,
|
|
6
6
|
createCanonryMcpServer
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-PDOMOHOP.js";
|
|
8
|
+
import "./chunk-DMU3SFC4.js";
|
|
9
9
|
import {
|
|
10
10
|
isReadOnlyKey,
|
|
11
11
|
updateCheckEnvOptOut
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-LXHE4DVO.js";
|
|
13
13
|
|
|
14
14
|
// src/mcp/cli.ts
|
|
15
15
|
import { randomUUID } from "crypto";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canonry/canonry",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.1.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
|
"keywords": [
|
|
@@ -61,8 +61,8 @@
|
|
|
61
61
|
"@fastify/rate-limit": "^11.2.0",
|
|
62
62
|
"@fastify/static": "^9.1.1",
|
|
63
63
|
"@google/genai": "^1.46.0",
|
|
64
|
-
"@earendil-works/pi-agent-core": "0.
|
|
65
|
-
"@earendil-works/pi-ai": "0.
|
|
64
|
+
"@earendil-works/pi-agent-core": "1.0.0",
|
|
65
|
+
"@earendil-works/pi-ai": "1.0.0",
|
|
66
66
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
67
67
|
"better-sqlite3": "^12.11.1",
|
|
68
68
|
"chrome-remote-interface": "^0.33.2",
|
|
@@ -85,34 +85,34 @@
|
|
|
85
85
|
"@types/node-cron": "^3.0.11",
|
|
86
86
|
"tsup": "^8.5.1",
|
|
87
87
|
"tsx": "^4.19.0",
|
|
88
|
-
"@ainyc/canonry-web": "0.0.0",
|
|
89
|
-
"@ainyc/canonry-api-client": "0.0.0",
|
|
90
|
-
"@ainyc/canonry-config": "0.0.0",
|
|
91
|
-
"@ainyc/canonry-db": "0.0.0",
|
|
92
88
|
"@ainyc/canonry-contracts": "0.0.0",
|
|
93
89
|
"@ainyc/canonry-api-routes": "0.0.0",
|
|
90
|
+
"@ainyc/canonry-db": "0.0.0",
|
|
91
|
+
"@ainyc/canonry-api-client": "0.0.0",
|
|
92
|
+
"@ainyc/canonry-web": "0.0.0",
|
|
94
93
|
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
95
94
|
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
96
|
-
"@ainyc/canonry-
|
|
95
|
+
"@ainyc/canonry-config": "0.0.0",
|
|
97
96
|
"@ainyc/canonry-integration-cloudflare-worker": "0.0.0",
|
|
97
|
+
"@ainyc/canonry-integration-cloudflare-queue": "0.0.0",
|
|
98
98
|
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
99
|
-
"@ainyc/canonry-integration-google": "0.0.0",
|
|
100
99
|
"@ainyc/canonry-integration-google-ads": "0.0.0",
|
|
101
|
-
"@ainyc/canonry-integration-google
|
|
100
|
+
"@ainyc/canonry-integration-google": "0.0.0",
|
|
102
101
|
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
102
|
+
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
103
103
|
"@ainyc/canonry-integration-google-tag-manager": "0.0.0",
|
|
104
|
+
"@ainyc/canonry-intelligence": "0.0.0",
|
|
105
|
+
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
106
|
+
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
104
107
|
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
105
108
|
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
106
|
-
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
107
|
-
"@ainyc/canonry-intelligence": "0.0.0",
|
|
108
109
|
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
109
|
-
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
110
110
|
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
111
111
|
"@ainyc/canonry-provider-local": "0.0.0",
|
|
112
112
|
"@ainyc/canonry-provider-muse": "0.0.0",
|
|
113
|
+
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
113
114
|
"@ainyc/canonry-provider-perplexity": "0.0.0",
|
|
114
|
-
"@ainyc/canonry-integration-typesafe": "0.0.0"
|
|
115
|
-
"@ainyc/canonry-provider-openai": "0.0.0"
|
|
115
|
+
"@ainyc/canonry-integration-typesafe": "0.0.0"
|
|
116
116
|
},
|
|
117
117
|
"scripts": {
|
|
118
118
|
"build": "pnpm run build:cli && pnpm run build:web",
|