@canonry/canonry 7.91.2 → 7.92.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/agent-workspace/skills/canonry/references/canonry-cli.md +1 -1
- package/assets/assets/{AgentSetupPage-DpBlChWi.js → AgentSetupPage-Dr5ZoPYi.js} +1 -1
- package/assets/assets/{AuditHistoryPanel-DAotR_zD.js → AuditHistoryPanel-Dc8pGeZT.js} +1 -1
- package/assets/assets/{BacklinksPage-CFoi9mrt.js → BacklinksPage-zEaP7G6s.js} +1 -1
- package/assets/assets/{HistoryPage-DIGmY4wi.js → HistoryPage-9OaxBSY8.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-C6o9U2R6.js → MeasurementPropertyPage-k_mqkoWn.js} +1 -1
- package/assets/assets/{ProjectPage-00Vsnxv4.js → ProjectPage-vgHaFT7S.js} +1 -1
- package/assets/assets/{RunsPage-ChSbIrF9.js → RunsPage-CXkefezd.js} +1 -1
- package/assets/assets/{SettingsPage-CIrzXeP8.js → SettingsPage-C8FUNUN5.js} +1 -1
- package/assets/assets/{SiteHealthSection-HZXdeAOx.js → SiteHealthSection-C94uYTE3.js} +2 -2
- package/assets/assets/ToneBadge-COrS2zpP.js +60 -0
- package/assets/assets/{TrafficPage-ZYsFSEuq.js → TrafficPage-KlGx3-bc.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-D5uJZpZ4.js → TrafficSourceDetailPage-BMs9kd7S.js} +1 -1
- package/assets/assets/{account-context-DMLbDVNZ.js → account-context-F2VRKRtu.js} +1 -1
- package/assets/assets/{agent-trust-copy-DbpAXPxc.js → agent-trust-copy-Hb775a57.js} +1 -1
- package/assets/assets/{card-Be_eN_-Q.js → card-P1VA-JnV.js} +1 -1
- package/assets/assets/{format-helpers-IKCsn-Iw.js → format-helpers-COfTmLRL.js} +1 -1
- package/assets/assets/{index-3jdPlyTf.js → index-DHrWeA6k.js} +4 -4
- package/assets/assets/{query-client-CoKNm49W.js → query-client-BHtq57Sw.js} +1 -1
- package/assets/assets/{react-query-DIdeX4Dn.js → react-query-IhpEAOba.js} +1 -1
- package/assets/assets/{react-sigma_core.esm.min-De3OcL3T.js → react-sigma_core.esm.min-B4NX5_aX.js} +1 -1
- package/assets/assets/{server-traffic-DvN44H1n.js → server-traffic-ykAWQo0I.js} +1 -1
- package/assets/assets/{service-RpR2yqfP.js → service-m9l8my0x.js} +1 -1
- package/assets/index.html +7 -7
- package/dist/{ads-RC5EHP6E.js → ads-LRHVFP2J.js} +3 -3
- package/dist/{agent-JYG5XPUJ.js → agent-P7HWL7VX.js} +7 -7
- package/dist/{agent-ask-FGPGEOEI.js → agent-ask-S374MIJS.js} +3 -3
- package/dist/{agent-conversations-Q3EKETCC.js → agent-conversations-3SSKVUYG.js} +3 -3
- package/dist/{agent-journeys-IHBTU6SZ.js → agent-journeys-ZEO7Z4QR.js} +3 -3
- package/dist/{agent-memory-RXEPKF5K.js → agent-memory-E5YVW5WY.js} +3 -3
- package/dist/{agent-providers-LDMGD7TD.js → agent-providers-BWWB42XJ.js} +3 -3
- package/dist/{agent-transcript-NXSXOYNE.js → agent-transcript-YG7TTHWS.js} +3 -3
- package/dist/{analytics-4BILIAM5.js → analytics-AIKX4BUM.js} +3 -3
- package/dist/{apply-ENLWU4Z2.js → apply-5MPSMIKM.js} +3 -3
- package/dist/{backfill-HHG3Z46F.js → backfill-BUTFX4KY.js} +10 -10
- package/dist/{backlinks-5MMWYPFW.js → backlinks-L6BYIJIK.js} +3 -3
- package/dist/{bing-KO3PDNXZ.js → bing-E4ZSEVQV.js} +3 -3
- package/dist/{bootstrap-E76JLH63.js → bootstrap-V7OE6XXB.js} +10 -10
- package/dist/{cdp-BZRWX3MX.js → cdp-LWNX6UZF.js} +7 -7
- package/dist/{chunk-MM3OYQ53.js → chunk-3WWSOWXP.js} +2 -2
- package/dist/{chunk-OK6MKE4B.js → chunk-4HLR3DRQ.js} +1 -1
- package/dist/{chunk-V4MRQPV2.js → chunk-4QYGB5IC.js} +1 -1
- package/dist/{chunk-MNIQFFLL.js → chunk-73PWU5XA.js} +4 -4
- package/dist/{chunk-XFVB3UCE.js → chunk-7534NXSP.js} +1 -1
- package/dist/{chunk-7LN6QPV7.js → chunk-76KBMLPR.js} +1 -1
- package/dist/{chunk-B23XQ5OP.js → chunk-7PKMRO33.js} +4 -4
- package/dist/{chunk-SMH4FUXJ.js → chunk-AUC47DFW.js} +1 -1
- package/dist/{chunk-PIDL7OJ4.js → chunk-BTYOU24P.js} +2 -2
- package/dist/{chunk-PIOCF5GN.js → chunk-BZGAMJG2.js} +5 -5
- package/dist/{chunk-KVNGLXG7.js → chunk-CIP3CE2C.js} +3 -3
- package/dist/{chunk-JXGVPQA5.js → chunk-D2RMGUAK.js} +6 -6
- package/dist/{chunk-5MBZUPY3.js → chunk-DEFHTBJV.js} +1 -1
- package/dist/{chunk-KKVIRNFF.js → chunk-EWZOL56J.js} +3 -3
- package/dist/{chunk-2REKLGYS.js → chunk-FYYOX7UY.js} +18 -1
- package/dist/{chunk-ML3KDUHO.js → chunk-GIF3HZKN.js} +21 -21
- package/dist/{chunk-ZYHP6QZO.js → chunk-GNHXSSQM.js} +2 -2
- package/dist/{chunk-ZR4WEKEC.js → chunk-H3PWMM4K.js} +1 -1
- package/dist/{chunk-5DMCGBIT.js → chunk-JZVTSC2V.js} +2 -2
- package/dist/{chunk-JC2MAKWO.js → chunk-K7ZG6K7J.js} +1 -1
- package/dist/{chunk-UHCRUGI5.js → chunk-N2EWSWZD.js} +1 -1
- package/dist/{chunk-6SEWKBDC.js → chunk-O7D7KV75.js} +3 -3
- package/dist/{chunk-JKBQ3G25.js → chunk-P6ZDIVFZ.js} +1 -1
- package/dist/{chunk-FX5H2PD5.js → chunk-QER7MSUH.js} +7 -7
- package/dist/{chunk-T6ZYAUJX.js → chunk-QWEAORJG.js} +17 -7
- package/dist/{chunk-FYJMNYVR.js → chunk-T5DH6FEH.js} +1 -1
- package/dist/{chunk-SMSTXGJX.js → chunk-TY5YTNLU.js} +2 -2
- package/dist/{chunk-SC7WEHEK.js → chunk-U3T37P7H.js} +3 -3
- package/dist/{chunk-PAC5EE5X.js → chunk-UMTYAPCQ.js} +4 -4
- package/dist/{chunk-FLP4XMWI.js → chunk-WONUYAKB.js} +4 -4
- package/dist/{chunk-HMNQTF3E.js → chunk-WTZZOUOJ.js} +5 -5
- package/dist/{chunk-IPFSY55D.js → chunk-XYQMPYWE.js} +1 -1
- package/dist/{chunk-QZM44MJL.js → chunk-YX33HYHZ.js} +358 -357
- package/dist/{chunk-EIYNZOQA.js → chunk-ZPVJ5PVB.js} +2 -2
- package/dist/{chunk-QS57GCF4.js → chunk-ZTCQVHQV.js} +2 -2
- package/dist/{citations-UEKKVKBV.js → citations-BYSB6NON.js} +3 -3
- package/dist/{cli-catalog-HJOVIDG6.js → cli-catalog-CFCLMVSK.js} +3 -3
- package/dist/{cli-commands-5FUTLXQS.js → cli-commands-OPH4K73Q.js} +7 -7
- package/dist/cli.js +13 -13
- package/dist/{competitor-3TX3GOLA.js → competitor-DUYU7EL7.js} +3 -3
- package/dist/{content-BKICG6BP.js → content-OGURKOCE.js} +3 -3
- package/dist/{dashboard-HOCPAGFO.js → dashboard-QX4IBLGW.js} +6 -6
- package/dist/{demo-IXNY4QU4.js → demo-SZ5CPFPS.js} +1 -1
- package/dist/{demo-server-HGKXT27V.js → demo-server-JIEIMLLU.js} +12 -12
- package/dist/{discover-LBULUEYL.js → discover-SHUCBUDJ.js} +3 -3
- package/dist/{discover-eval-V7UJGWHK.js → discover-eval-3ZTYLTGU.js} +3 -3
- package/dist/{doctor-O45PQVTM.js → doctor-FRSV5GAR.js} +3 -3
- package/dist/{evidence-FCNEZ7OV.js → evidence-7UJHNILW.js} +3 -3
- package/dist/{export-cmd-CFC3HYWQ.js → export-cmd-2DAWSD52.js} +3 -3
- package/dist/{ga-V643BFQV.js → ga-K2EVI3KO.js} +3 -3
- package/dist/{gbp-L5PCSFCF.js → gbp-NXFINC7N.js} +3 -3
- package/dist/{google-TO6R7PKD.js → google-J4T52EIG.js} +4 -4
- package/dist/{google-marketing-BOSOBO4T.js → google-marketing-PZGKZPEB.js} +1 -1
- package/dist/{health-cmd-UZKM4AB7.js → health-cmd-5IHX5GRQ.js} +3 -3
- package/dist/{history-WRVANB63.js → history-IVO5IVH2.js} +3 -3
- package/dist/index.d.ts +88 -88
- package/dist/index.js +25 -25
- package/dist/{init-CYKAYU6A.js → init-EMXK7MX6.js} +12 -12
- package/dist/{insights-UQ76TUH7.js → insights-SPA2BVMV.js} +3 -3
- package/dist/intelligence-service-CJNCXI4C.js +16 -0
- package/dist/{journeys-6S235DIK.js → journeys-7FAHZRGP.js} +3 -3
- package/dist/{keys-VXQWKBDR.js → keys-PPBHRYPZ.js} +3 -3
- package/dist/{keyword-VM26Z6Z7.js → keyword-C4ULYIWF.js} +3 -3
- package/dist/{logs-B4UKUNNS.js → logs-X7NQN4UT.js} +3 -3
- package/dist/{mcp-NFRDBPMW.js → mcp-ERMFW6WJ.js} +4 -4
- package/dist/mcp.js +9 -9
- package/dist/{measurement-plan-PH4S4NL4.js → measurement-plan-7IPWYNIC.js} +5 -5
- package/dist/{notify-XCFFEECP.js → notify-AC4ZHLUK.js} +3 -3
- package/dist/{organic-evidence-P6YKEE5J.js → organic-evidence-GDDMNJHN.js} +3 -3
- package/dist/{overview-XA7WM5QI.js → overview-7VCUIYQE.js} +4 -4
- package/dist/{project-US5UT3TO.js → project-N4RGX5CT.js} +3 -3
- package/dist/{query-MVLTNGDG.js → query-Y7LGD6PG.js} +3 -3
- package/dist/{research-XWJOXQDW.js → research-WTZO3D7B.js} +3 -3
- package/dist/{results-export-QMNLDPOB.js → results-export-BYUFBWEK.js} +3 -3
- package/dist/{run-U7Y3UINV.js → run-SXMD6GW5.js} +4 -4
- package/dist/{schedule-WO72K2TA.js → schedule-UQFPQBHI.js} +3 -3
- package/dist/{search-VFN7HC4Q.js → search-EJUJRZEE.js} +3 -3
- package/dist/{serve-R5SZLLJ7.js → serve-3CD4TSE7.js} +26 -26
- package/dist/{session-IF7IXHSS.js → session-N77UGPQB.js} +13 -13
- package/dist/{settings-RTPDTKM3.js → settings-ZBP3KDJK.js} +3 -3
- package/dist/{sitemaps-5CCNCMM4.js → sitemaps-KVROUSLB.js} +3 -3
- package/dist/{skills-ZWET6NI7.js → skills-AGAHFQD5.js} +2 -2
- package/dist/{snapshot-CCQ62PWI.js → snapshot-WDK6ZSJA.js} +3 -3
- package/dist/{src-G42HKGIS.js → src-XGUBO65J.js} +2 -2
- package/dist/{status-YE6MWDYD.js → status-IFUJIB73.js} +4 -4
- package/dist/{technical-aeo-LIEMDI5R.js → technical-aeo-6KR3YH4X.js} +3 -3
- package/dist/{telemetry-D5OR6DKJ.js → telemetry-EZNMZMH6.js} +4 -4
- package/dist/{tools-R63V5YCE.js → tools-BNRDF6UZ.js} +11 -11
- package/dist/{traffic-6JJNWQZL.js → traffic-7OSHD23C.js} +5 -5
- package/dist/{trends-QZEDEIQE.js → trends-I3NWFNHX.js} +3 -3
- package/dist/{users-UYTKWYR6.js → users-VBLZGMML.js} +3 -3
- package/dist/{visibility-stats-ESDTTTAE.js → visibility-stats-6YAV2MTM.js} +18 -3
- package/dist/{wordpress-EJLVQNNU.js → wordpress-EM3S3NDA.js} +3 -3
- package/package.json +1 -1
- package/assets/assets/ToneBadge-ht0n6RUH.js +0 -60
- package/dist/intelligence-service-LVOX33SJ.js +0 -16
|
@@ -8,23 +8,23 @@ import {
|
|
|
8
8
|
reparseStoredResult4,
|
|
9
9
|
reparseStoredResult5,
|
|
10
10
|
resolveStoredApiResponse
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-BZGAMJG2.js";
|
|
12
12
|
import {
|
|
13
13
|
loadConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-4QYGB5IC.js";
|
|
15
15
|
import {
|
|
16
16
|
isMachineFormat
|
|
17
17
|
} from "./chunk-HGMYEDAQ.js";
|
|
18
18
|
import {
|
|
19
19
|
determineCitationState
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-AUC47DFW.js";
|
|
21
21
|
import {
|
|
22
22
|
backfillProjectAnswerMentions,
|
|
23
23
|
competitorIdentityColumns,
|
|
24
24
|
createRunCompetitorResolver,
|
|
25
25
|
readMarketCompetitorNames,
|
|
26
26
|
refreshSnapshotMentionIdentity
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-QWEAORJG.js";
|
|
28
28
|
import {
|
|
29
29
|
RawEventSampleEventTypes,
|
|
30
30
|
auditLog,
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
querySnapshots,
|
|
39
39
|
rawEventSamples,
|
|
40
40
|
runs
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-H3PWMM4K.js";
|
|
42
42
|
import {
|
|
43
43
|
ProviderNames,
|
|
44
44
|
RetrievalContracts,
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
extractRecommendedCompetitors,
|
|
52
52
|
normalizeUrlPath,
|
|
53
53
|
openRouterRouteModel
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-FYYOX7UY.js";
|
|
55
55
|
|
|
56
56
|
// src/commands/backfill.ts
|
|
57
57
|
import { setImmediate as yieldToEventLoop } from "timers/promises";
|
|
@@ -429,7 +429,7 @@ No DB writes performed. Re-run without --dry-run to apply.`);
|
|
|
429
429
|
}
|
|
430
430
|
}
|
|
431
431
|
async function backfillInsightsCommand(project, opts) {
|
|
432
|
-
const { IntelligenceService } = await import("./intelligence-service-
|
|
432
|
+
const { IntelligenceService } = await import("./intelligence-service-CJNCXI4C.js");
|
|
433
433
|
const config = loadConfig();
|
|
434
434
|
const db = createClient(config.database);
|
|
435
435
|
migrate(db);
|
|
@@ -15,14 +15,14 @@ import {
|
|
|
15
15
|
normalizeCloudflareWorkerEvent,
|
|
16
16
|
sessionizeJourneyRequests,
|
|
17
17
|
verifyRequestSignature
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-7534NXSP.js";
|
|
19
19
|
import {
|
|
20
20
|
currentOutcomeAttribution,
|
|
21
21
|
getRequestContext,
|
|
22
22
|
registerRequestContext,
|
|
23
23
|
requestAuditIdentity,
|
|
24
24
|
sanitizeRequestContext
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-K7ZG6K7J.js";
|
|
26
26
|
import {
|
|
27
27
|
RawEventSampleEventTypes,
|
|
28
28
|
SentimentIdempotencyConflict,
|
|
@@ -180,7 +180,7 @@ import {
|
|
|
180
180
|
userSessions,
|
|
181
181
|
users,
|
|
182
182
|
writeNegativeReviewMaxStars
|
|
183
|
-
} from "./chunk-
|
|
183
|
+
} from "./chunk-H3PWMM4K.js";
|
|
184
184
|
import {
|
|
185
185
|
ADS_ACTIVATE_SCOPE,
|
|
186
186
|
ADS_ACTIVATION_ABSOLUTE_MAX_ENTITIES,
|
|
@@ -1275,7 +1275,7 @@ import {
|
|
|
1275
1275
|
wordpressSchemaDeployResultDtoSchema,
|
|
1276
1276
|
wordpressSchemaStatusResultDtoSchema,
|
|
1277
1277
|
wordpressStatusDtoSchema
|
|
1278
|
-
} from "./chunk-
|
|
1278
|
+
} from "./chunk-FYYOX7UY.js";
|
|
1279
1279
|
|
|
1280
1280
|
// ../api-routes/src/user-session.ts
|
|
1281
1281
|
import crypto2 from "crypto";
|
|
@@ -33381,6 +33381,11 @@ function computeVisibilityStats(input) {
|
|
|
33381
33381
|
const byQuery = /* @__PURE__ */ new Map();
|
|
33382
33382
|
const totals = emptyAgg();
|
|
33383
33383
|
const totalsByProvider = /* @__PURE__ */ new Map();
|
|
33384
|
+
const byClass = { branded: emptyAgg(), nonBrand: emptyAgg(), unclassified: emptyAgg() };
|
|
33385
|
+
const classKey = (queryId) => {
|
|
33386
|
+
const queryClass = input.queryClasses?.get(queryId) ?? null;
|
|
33387
|
+
return queryClass === "branded" ? "branded" : queryClass === "non-brand" ? "nonBrand" : "unclassified";
|
|
33388
|
+
};
|
|
33384
33389
|
for (const snap of input.snapshots) {
|
|
33385
33390
|
const resolved = resolveCurrentQuery(attribution, snap);
|
|
33386
33391
|
if (!resolved) continue;
|
|
@@ -33391,6 +33396,7 @@ function computeVisibilityStats(input) {
|
|
|
33391
33396
|
}
|
|
33392
33397
|
addSnapshot(bucket.agg, snap);
|
|
33393
33398
|
addSnapshot(totals, snap);
|
|
33399
|
+
if (input.queryClasses) addSnapshot(byClass[classKey(resolved.id)], snap);
|
|
33394
33400
|
if (wantProviders) {
|
|
33395
33401
|
const qpAgg = bucket.byProvider.get(snap.provider) ?? emptyAgg();
|
|
33396
33402
|
addSnapshot(qpAgg, snap);
|
|
@@ -33406,12 +33412,14 @@ function computeVisibilityStats(input) {
|
|
|
33406
33412
|
...counts(bucket.agg),
|
|
33407
33413
|
firstObserved: bucket.agg.first ?? "",
|
|
33408
33414
|
lastObserved: bucket.agg.last ?? "",
|
|
33415
|
+
...input.queryClasses ? { queryClass: input.queryClasses.get(bucket.id) ?? null } : {},
|
|
33409
33416
|
...wantProviders ? { providers: providerEntries(bucket.byProvider) } : {}
|
|
33410
33417
|
})).sort((a, b) => a.query.localeCompare(b.query));
|
|
33411
33418
|
return {
|
|
33412
33419
|
totals: counts(totals),
|
|
33413
33420
|
...wantProviders ? { byProvider: providerEntries(totalsByProvider) } : {},
|
|
33414
|
-
queries: queryEntries
|
|
33421
|
+
queries: queryEntries,
|
|
33422
|
+
...input.queryClasses ? { byQueryClass: { branded: counts(byClass.branded), nonBrand: counts(byClass.nonBrand), unclassified: counts(byClass.unclassified) } } : {}
|
|
33415
33423
|
};
|
|
33416
33424
|
}
|
|
33417
33425
|
async function visibilityStatsRoutes(app) {
|
|
@@ -33493,7 +33501,8 @@ async function visibilityStatsRoutes(app) {
|
|
|
33493
33501
|
answerMentioned: querySnapshots.answerMentioned,
|
|
33494
33502
|
createdAt: querySnapshots.createdAt
|
|
33495
33503
|
}).from(querySnapshots).where(inArray34(querySnapshots.runId, runIds)).all() : [];
|
|
33496
|
-
const
|
|
33504
|
+
const queryClasses = readQueryClasses(app.db, project, projectQueries);
|
|
33505
|
+
const stats = computeVisibilityStats({ queries: projectQueries, snapshots, groupBy, queryClasses });
|
|
33497
33506
|
const queryAttribution = buildQueryAttribution(projectQueries);
|
|
33498
33507
|
let shareOfVoice;
|
|
33499
33508
|
if (wantShareOfVoice) {
|
|
@@ -33526,6 +33535,7 @@ async function visibilityStatsRoutes(app) {
|
|
|
33526
33535
|
runCount
|
|
33527
33536
|
},
|
|
33528
33537
|
totals: stats.totals,
|
|
33538
|
+
...stats.byQueryClass ? { byQueryClass: stats.byQueryClass } : {},
|
|
33529
33539
|
queries: stats.queries,
|
|
33530
33540
|
// `groupBy` + `byProvider` appear together only when a breakdown was
|
|
33531
33541
|
// requested; both are OMITTED otherwise (absent = no breakdown) so the
|
|
@@ -39053,7 +39063,7 @@ var routeCatalog = [
|
|
|
39053
39063
|
method: "get",
|
|
39054
39064
|
path: "/api/v1/projects/{name}/visibility-stats",
|
|
39055
39065
|
summary: "Get aggregated mention/citation stats per query",
|
|
39056
|
-
description: "Per-query mention (answer-text) and citation (source-list) counts with a sample size, pooled across many answer-visibility runs (probe-excluded). Tri-state aware: `checked` counts only snapshots where answerMentioned was recorded (null = not checked is excluded). Lets a consumer compute confidence-aware (e.g. Wilson) proportions without N+1 run fetches. With no since/until/lastRuns, EVERY completed/partial answer-visibility run is pooled \u2014 `window.runCount` reports how many; bound the window with lastRuns, since/until, or month=YYYY-MM for a recent sample. Set groupBy=provider for a per-provider breakdown whose counts sum to the pooled counts, or shareOfVoice=1 to add share of voice vs tracked competitors (non-brand queries by default; set queryClass=branded for brand recall).",
|
|
39066
|
+
description: "Per-query mention (answer-text) and citation (source-list) counts with a sample size, pooled across many answer-visibility runs (probe-excluded). Tri-state aware: `checked` counts only snapshots where answerMentioned was recorded (null = not checked is excluded). Lets a consumer compute confidence-aware (e.g. Wilson) proportions without N+1 run fetches. With no since/until/lastRuns, EVERY completed/partial answer-visibility run is pooled \u2014 `window.runCount` reports how many; bound the window with lastRuns, since/until, or month=YYYY-MM for a recent sample. Set groupBy=provider for a per-provider breakdown whose counts sum to the pooled counts, or shareOfVoice=1 to add share of voice vs tracked competitors (non-brand queries by default; set queryClass=branded for brand recall). `totals` pools branded and non-brand queries; `byQueryClass` splits the same counts by each query's class (as the query list reports it), and each query carries `queryClass`. The `queryClass` parameter scopes share of voice only.",
|
|
39057
39067
|
tags: ["analytics"],
|
|
39058
39068
|
parameters: [
|
|
39059
39069
|
nameParameter,
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
loadConfig,
|
|
6
6
|
loadConfigRaw,
|
|
7
7
|
saveConfigPatch
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-4QYGB5IC.js";
|
|
9
9
|
import {
|
|
10
10
|
CANONRY_NPM_PACKAGE_URL,
|
|
11
11
|
compareSemver,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
updateCheckEnvOptOut,
|
|
19
19
|
upgradeCaveatFor,
|
|
20
20
|
upgradeCommandFor
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-FYYOX7UY.js";
|
|
22
22
|
|
|
23
23
|
// src/runtime-context.ts
|
|
24
24
|
function cliRuntimeContext(env = process.env, stdio = process) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZPVJ5PVB.js";
|
|
4
4
|
import {
|
|
5
5
|
emitJsonl
|
|
6
6
|
} from "./chunk-Z7IUAJOF.js";
|
|
7
7
|
import {
|
|
8
8
|
measurementDraftOperationSchema,
|
|
9
9
|
runMeasurementDraftAction
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-XYQMPYWE.js";
|
|
11
11
|
import {
|
|
12
12
|
isMachineFormat,
|
|
13
13
|
systemError
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
unattributedAnswersLabel,
|
|
38
38
|
uncheckedSourcesLabel,
|
|
39
39
|
visibilityReportRequestSchema
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-FYYOX7UY.js";
|
|
41
41
|
|
|
42
42
|
// src/commands/measurement-plan.ts
|
|
43
43
|
import crypto from "crypto";
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
dedupeGscSitemapUrls,
|
|
3
3
|
resolveDiscoveredGscSitemapUrls,
|
|
4
4
|
submitGscSitemapBatches
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-76KBMLPR.js";
|
|
6
6
|
import {
|
|
7
7
|
measurementDraftOperationSchema,
|
|
8
8
|
runMeasurementDraftAction
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XYQMPYWE.js";
|
|
10
10
|
import {
|
|
11
11
|
CliError
|
|
12
12
|
} from "./chunk-HGMYEDAQ.js";
|
|
@@ -187,7 +187,7 @@ import {
|
|
|
187
187
|
trendSurfaceSchema,
|
|
188
188
|
visibilityCompareSelectionSchema,
|
|
189
189
|
visibilityReportRequestSchema
|
|
190
|
-
} from "./chunk-
|
|
190
|
+
} from "./chunk-FYYOX7UY.js";
|
|
191
191
|
|
|
192
192
|
// src/mcp/tool-registry.ts
|
|
193
193
|
import { z as z2 } from "zod";
|
|
@@ -2087,7 +2087,7 @@ var rawCanonryMcpTools = [
|
|
|
2087
2087
|
month: z2.string().optional().describe("Aggregate one calendar month (YYYY-MM), expanded to that month's inclusive UTC bounds. Mutually exclusive with since/until/lastRuns."),
|
|
2088
2088
|
groupBy: z2.enum(["provider"]).optional().describe('Set to "provider" for a per-provider breakdown.'),
|
|
2089
2089
|
shareOfVoice: z2.boolean().optional().describe("Include brand-mention share with tracked/observed basis and availability across the same window (non-brand queries unless queryClass says otherwise)."),
|
|
2090
|
-
queryClass: z2.enum(["branded", "non-brand"]).optional().describe('Query class for shareOfVoice. Defaults to non-brand. There is no "all": branded and non-brand never share a denominator.')
|
|
2090
|
+
queryClass: z2.enum(["branded", "non-brand"]).optional().describe('Query class for shareOfVoice. Defaults to non-brand. There is no "all": branded and non-brand never share a denominator. It does not filter the counts: `totals` pools both classes, and `byQueryClass` (plus `queryClass` on each query) carries the split.')
|
|
2091
2091
|
}),
|
|
2092
2092
|
annotations: readAnnotations(),
|
|
2093
2093
|
openApiOperations: ["GET /api/v1/projects/{name}/visibility-stats"],
|
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
bucketCliCommandDuration,
|
|
3
3
|
isTelemetryEnabled,
|
|
4
4
|
trackEvent
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-TY5YTNLU.js";
|
|
6
6
|
import {
|
|
7
7
|
getConfigDir
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-4QYGB5IC.js";
|
|
9
9
|
import {
|
|
10
10
|
currentOutcomeAttribution
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-K7ZG6K7J.js";
|
|
12
12
|
import {
|
|
13
13
|
AGENT_NONE,
|
|
14
14
|
OutcomeSurfaces,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
integrationConnectionPropertiesSchema,
|
|
20
20
|
normalizeAgentSlug,
|
|
21
21
|
usageSurfaceSchema
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-FYYOX7UY.js";
|
|
23
23
|
|
|
24
24
|
// src/outcome-telemetry.ts
|
|
25
25
|
import fs from "fs";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pickProjectCitedDomain
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AUC47DFW.js";
|
|
4
4
|
import {
|
|
5
5
|
createLogger
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-BTYOU24P.js";
|
|
7
7
|
import {
|
|
8
8
|
GBP_INSIGHT_PROVIDER,
|
|
9
9
|
PERSISTENT_GAP_THRESHOLD,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
mergeGscQueryTotalsWithFallback,
|
|
18
18
|
readGscQueryDailyRows,
|
|
19
19
|
readLatestGscDataDate
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-QWEAORJG.js";
|
|
21
21
|
import {
|
|
22
22
|
competitors,
|
|
23
23
|
gbpDailyMetrics,
|
|
@@ -35,14 +35,14 @@ import {
|
|
|
35
35
|
queries,
|
|
36
36
|
querySnapshots,
|
|
37
37
|
runs
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-H3PWMM4K.js";
|
|
39
39
|
import {
|
|
40
40
|
CitationStates,
|
|
41
41
|
RunKinds,
|
|
42
42
|
RunStatuses,
|
|
43
43
|
RunTriggers,
|
|
44
44
|
effectiveDomains
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-FYYOX7UY.js";
|
|
46
46
|
|
|
47
47
|
// src/intelligence-service.ts
|
|
48
48
|
import { eq, desc, asc, and, ne, or, inArray, gte, lte, isNull, sql, exists } from "drizzle-orm";
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
measurementDraftUpsertGroupRequestSchema,
|
|
24
24
|
measurementDraftUpsertMarketRequestSchema,
|
|
25
25
|
measurementDraftUpsertTargetRequestSchema
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-FYYOX7UY.js";
|
|
27
27
|
|
|
28
28
|
// src/measurement-draft-actions.ts
|
|
29
29
|
import { z } from "zod";
|