@canonry/canonry 7.92.0 → 7.93.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/server-side-traffic.md +2 -0
- package/assets/assets/{AgentSetupPage-Dr5ZoPYi.js → AgentSetupPage-D53_2n_4.js} +1 -1
- package/assets/assets/{AuditHistoryPanel-Dc8pGeZT.js → AuditHistoryPanel-BFRuRv_c.js} +1 -1
- package/assets/assets/{BacklinksPage-zEaP7G6s.js → BacklinksPage-DpSbhjVf.js} +1 -1
- package/assets/assets/{HistoryPage-9OaxBSY8.js → HistoryPage-1z0GDe6W.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-k_mqkoWn.js → MeasurementPropertyPage-Dzjx179C.js} +1 -1
- package/assets/assets/{ProjectPage-vgHaFT7S.js → ProjectPage-BgPs3YQG.js} +1 -1
- package/assets/assets/{RunsPage-CXkefezd.js → RunsPage-DpsqauyB.js} +1 -1
- package/assets/assets/{SettingsPage-C8FUNUN5.js → SettingsPage-ChIbt7x6.js} +1 -1
- package/assets/assets/{SiteHealthSection-C94uYTE3.js → SiteHealthSection-B-79VmOp.js} +2 -2
- package/assets/assets/{ToneBadge-COrS2zpP.js → ToneBadge-Cx8uzsd6.js} +1 -1
- package/assets/assets/{TrafficPage-KlGx3-bc.js → TrafficPage-yoq0n5vi.js} +1 -1
- package/assets/assets/TrafficSourceDetailPage-eCf7k39J.js +1 -0
- package/assets/assets/{account-context-F2VRKRtu.js → account-context-vYgW6LGe.js} +1 -1
- package/assets/assets/{agent-trust-copy-Hb775a57.js → agent-trust-copy-CJ7pZlY5.js} +1 -1
- package/assets/assets/{card-P1VA-JnV.js → card-CArOADSj.js} +1 -1
- package/assets/assets/{format-helpers-COfTmLRL.js → format-helpers-kCHfk00b.js} +1 -1
- package/assets/assets/{index-DHrWeA6k.js → index-9HU3ZsRh.js} +4 -4
- package/assets/assets/index-DsdpvA7m.css +1 -0
- package/assets/assets/{query-client-BHtq57Sw.js → query-client-DWFpwopf.js} +1 -1
- package/assets/assets/{react-query-IhpEAOba.js → react-query-DdeD3n1W.js} +1 -1
- package/assets/assets/{react-sigma_core.esm.min-B4NX5_aX.js → react-sigma_core.esm.min-CaW_CBlP.js} +1 -1
- package/assets/assets/server-traffic-B1Fb2oFZ.js +1 -0
- package/assets/assets/{service-m9l8my0x.js → service-Cu6wI40I.js} +1 -1
- package/assets/index.html +8 -8
- package/dist/{ads-LRHVFP2J.js → ads-X3VXFPB7.js} +3 -3
- package/dist/{agent-P7HWL7VX.js → agent-VVPPGM2P.js} +7 -7
- package/dist/{agent-ask-S374MIJS.js → agent-ask-FJVCKO3R.js} +3 -3
- package/dist/{agent-conversations-3SSKVUYG.js → agent-conversations-5YXYDZEK.js} +3 -3
- package/dist/{agent-journeys-ZEO7Z4QR.js → agent-journeys-DBMYKLJX.js} +3 -3
- package/dist/{agent-memory-E5YVW5WY.js → agent-memory-7HOF4LNF.js} +3 -3
- package/dist/{agent-providers-BWWB42XJ.js → agent-providers-AO25NSCX.js} +3 -3
- package/dist/{agent-transcript-YG7TTHWS.js → agent-transcript-IRZ2QDU7.js} +3 -3
- package/dist/{analytics-AIKX4BUM.js → analytics-RH5NXDQX.js} +3 -3
- package/dist/{apply-5MPSMIKM.js → apply-XNTW4GYA.js} +3 -3
- package/dist/{backfill-BUTFX4KY.js → backfill-O6BON2NA.js} +10 -10
- package/dist/{backlinks-L6BYIJIK.js → backlinks-VHK5TJU4.js} +3 -3
- package/dist/{bing-E4ZSEVQV.js → bing-A4SQ5MIN.js} +3 -3
- package/dist/{bootstrap-V7OE6XXB.js → bootstrap-I2NLTHBM.js} +10 -10
- package/dist/{cdp-LWNX6UZF.js → cdp-LAD7DM6U.js} +7 -7
- package/dist/{chunk-7PKMRO33.js → chunk-2OJJPSFS.js} +4 -4
- package/dist/{chunk-EWZOL56J.js → chunk-2ORBI7PS.js} +3 -3
- package/dist/{chunk-QER7MSUH.js → chunk-3SVI6OY3.js} +7 -7
- package/dist/{chunk-4HLR3DRQ.js → chunk-4CPCYR5M.js} +1 -1
- package/dist/{chunk-UMTYAPCQ.js → chunk-4UA2Y24K.js} +6 -5
- package/dist/{chunk-4QYGB5IC.js → chunk-5LLEZ6YL.js} +1 -1
- package/dist/{chunk-76KBMLPR.js → chunk-5X6CWQ6P.js} +1 -1
- package/dist/{chunk-WTZZOUOJ.js → chunk-67WZEUEE.js} +5 -5
- package/dist/{chunk-ZTCQVHQV.js → chunk-7BEQY4YS.js} +2 -2
- package/dist/{chunk-N2EWSWZD.js → chunk-7RWVMCMK.js} +1 -1
- package/dist/{chunk-AUC47DFW.js → chunk-AAUJZ43Q.js} +1 -1
- package/dist/{chunk-BTYOU24P.js → chunk-BOUEM6D6.js} +2 -2
- package/dist/{chunk-ZPVJ5PVB.js → chunk-CM3BXAMM.js} +2 -2
- package/dist/{chunk-3WWSOWXP.js → chunk-CWEEHODU.js} +2 -2
- package/dist/{chunk-FYYOX7UY.js → chunk-GO5OUMY5.js} +13 -1
- package/dist/{chunk-7534NXSP.js → chunk-GS3KXIFK.js} +1 -1
- package/dist/{chunk-H3PWMM4K.js → chunk-HE4ZCVSF.js} +1 -1
- package/dist/{chunk-P6ZDIVFZ.js → chunk-IFVVXGLK.js} +1 -1
- package/dist/{chunk-K7ZG6K7J.js → chunk-J6QOUWDQ.js} +1 -1
- package/dist/{chunk-QWEAORJG.js → chunk-LWVLQCQH.js} +28 -24
- package/dist/{chunk-YX33HYHZ.js → chunk-N6CIAFEO.js} +358 -358
- package/dist/{chunk-TY5YTNLU.js → chunk-OLEMJTEJ.js} +2 -2
- package/dist/{chunk-BZGAMJG2.js → chunk-ON4G7RCY.js} +5 -5
- package/dist/{chunk-CIP3CE2C.js → chunk-QBMMHMDZ.js} +3 -3
- package/dist/{chunk-DEFHTBJV.js → chunk-QXT6QVBE.js} +1 -1
- package/dist/{chunk-O7D7KV75.js → chunk-SNQVHD2O.js} +3 -3
- package/dist/{chunk-GIF3HZKN.js → chunk-SOJIEKH6.js} +70 -22
- package/dist/{chunk-WONUYAKB.js → chunk-U3DFWCTU.js} +4 -4
- package/dist/{chunk-JZVTSC2V.js → chunk-U3KBGIJ6.js} +2 -2
- package/dist/{chunk-GNHXSSQM.js → chunk-UPUJSQ2U.js} +2 -2
- package/dist/{chunk-XYQMPYWE.js → chunk-VFYZVQVX.js} +1 -1
- package/dist/{chunk-T5DH6FEH.js → chunk-VNPYFXO5.js} +1 -1
- package/dist/{chunk-D2RMGUAK.js → chunk-VYZIXIDN.js} +6 -6
- package/dist/{chunk-73PWU5XA.js → chunk-WCUXKDJZ.js} +4 -4
- package/dist/{chunk-U3T37P7H.js → chunk-YUHP5IUB.js} +3 -3
- package/dist/{citations-BYSB6NON.js → citations-D2ZLKEAZ.js} +3 -3
- package/dist/{cli-catalog-CFCLMVSK.js → cli-catalog-ZJX65B35.js} +3 -3
- package/dist/{cli-commands-OPH4K73Q.js → cli-commands-BSX2GGJL.js} +7 -7
- package/dist/cli.js +13 -13
- package/dist/{competitor-DUYU7EL7.js → competitor-GMBE6HDJ.js} +3 -3
- package/dist/{content-OGURKOCE.js → content-V7VKNFRA.js} +3 -3
- package/dist/{dashboard-QX4IBLGW.js → dashboard-DOIM7F3F.js} +6 -6
- package/dist/{demo-SZ5CPFPS.js → demo-TKNEM6WC.js} +1 -1
- package/dist/{demo-server-JIEIMLLU.js → demo-server-K6LAEKGV.js} +12 -12
- package/dist/{discover-SHUCBUDJ.js → discover-TALBBFX7.js} +3 -3
- package/dist/{discover-eval-3ZTYLTGU.js → discover-eval-2R3F3C7O.js} +3 -3
- package/dist/{doctor-FRSV5GAR.js → doctor-UW7QBZR3.js} +3 -3
- package/dist/{evidence-7UJHNILW.js → evidence-CMXDXINS.js} +3 -3
- package/dist/{export-cmd-2DAWSD52.js → export-cmd-HO6K6ZDO.js} +3 -3
- package/dist/{ga-K2EVI3KO.js → ga-VSS5Z44P.js} +3 -3
- package/dist/{gbp-NXFINC7N.js → gbp-RYMAOVON.js} +3 -3
- package/dist/{google-J4T52EIG.js → google-RZQSM3VZ.js} +4 -4
- package/dist/{google-marketing-PZGKZPEB.js → google-marketing-ULMGHDFF.js} +1 -1
- package/dist/{health-cmd-5IHX5GRQ.js → health-cmd-5AJLSCWH.js} +3 -3
- package/dist/{history-IVO5IVH2.js → history-ZEWDWGKK.js} +3 -3
- package/dist/index.d.ts +88 -88
- package/dist/index.js +25 -25
- package/dist/{init-EMXK7MX6.js → init-NAMFIDDT.js} +12 -12
- package/dist/{insights-SPA2BVMV.js → insights-F747HGKV.js} +3 -3
- package/dist/intelligence-service-7FVMY2WA.js +16 -0
- package/dist/{journeys-7FAHZRGP.js → journeys-IN6PKYC6.js} +3 -3
- package/dist/{keys-PPBHRYPZ.js → keys-JPOCEVCO.js} +3 -3
- package/dist/{keyword-C4ULYIWF.js → keyword-P6EYHLKS.js} +3 -3
- package/dist/{logs-X7NQN4UT.js → logs-3WC6OWDD.js} +3 -3
- package/dist/{mcp-ERMFW6WJ.js → mcp-LU6BKIGI.js} +4 -4
- package/dist/mcp.js +9 -9
- package/dist/{measurement-plan-7IPWYNIC.js → measurement-plan-G4E42X4M.js} +5 -5
- package/dist/{notify-AC4ZHLUK.js → notify-ADPO6H5M.js} +3 -3
- package/dist/{organic-evidence-GDDMNJHN.js → organic-evidence-6C4ADEAQ.js} +3 -3
- package/dist/{overview-7VCUIYQE.js → overview-NLKLGTIL.js} +4 -4
- package/dist/{project-N4RGX5CT.js → project-4QVFGUPT.js} +3 -3
- package/dist/{query-Y7LGD6PG.js → query-6JVOPG7E.js} +3 -3
- package/dist/{research-WTZO3D7B.js → research-NG2HHDTB.js} +3 -3
- package/dist/{results-export-BYUFBWEK.js → results-export-RUBBBAKB.js} +3 -3
- package/dist/{run-SXMD6GW5.js → run-4ZM7F4T4.js} +4 -4
- package/dist/{schedule-UQFPQBHI.js → schedule-NYJD7QNS.js} +3 -3
- package/dist/{search-EJUJRZEE.js → search-Z5TMFDQD.js} +3 -3
- package/dist/{serve-3CD4TSE7.js → serve-ZHUBM33Q.js} +26 -26
- package/dist/{session-N77UGPQB.js → session-VNIHR75J.js} +13 -13
- package/dist/{settings-ZBP3KDJK.js → settings-2YWI2XEK.js} +3 -3
- package/dist/{sitemaps-KVROUSLB.js → sitemaps-PPRANFJS.js} +3 -3
- package/dist/{skills-AGAHFQD5.js → skills-WKAHQ42S.js} +2 -2
- package/dist/{snapshot-WDK6ZSJA.js → snapshot-J2RMG6IC.js} +3 -3
- package/dist/{src-XGUBO65J.js → src-ZNFSBJSC.js} +2 -2
- package/dist/{status-IFUJIB73.js → status-S7WMZ437.js} +4 -4
- package/dist/{technical-aeo-6KR3YH4X.js → technical-aeo-NKCIAWHJ.js} +3 -3
- package/dist/{telemetry-EZNMZMH6.js → telemetry-DT4BLD5L.js} +4 -4
- package/dist/{tools-BNRDF6UZ.js → tools-22WRA2TI.js} +11 -11
- package/dist/{traffic-7OSHD23C.js → traffic-HTBFYDKA.js} +10 -8
- package/dist/{trends-I3NWFNHX.js → trends-SHT3BBXE.js} +3 -3
- package/dist/{users-VBLZGMML.js → users-BV6QFK4Q.js} +3 -3
- package/dist/{visibility-stats-6YAV2MTM.js → visibility-stats-TGCKVC7I.js} +3 -3
- package/dist/{wordpress-EM3S3NDA.js → wordpress-LYXQ3AWR.js} +3 -3
- package/package.json +1 -1
- package/assets/assets/TrafficSourceDetailPage-BMs9kd7S.js +0 -1
- package/assets/assets/index-Bhpq6fUo.css +0 -1
- package/assets/assets/server-traffic-ykAWQo0I.js +0 -1
- package/dist/intelligence-service-CJNCXI4C.js +0 -16
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import {
|
|
2
2
|
trackCliConnection
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7BEQY4YS.js";
|
|
4
4
|
import {
|
|
5
5
|
answerServiceDescriptors
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-QXT6QVBE.js";
|
|
7
7
|
import {
|
|
8
8
|
outcomeFailure
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-U3DFWCTU.js";
|
|
10
10
|
import {
|
|
11
11
|
isLoopbackBindHost
|
|
12
12
|
} from "./chunk-TSENU4GG.js";
|
|
13
13
|
import {
|
|
14
14
|
registeredProviderNames
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-7RWVMCMK.js";
|
|
16
16
|
import {
|
|
17
17
|
isTelemetryEnabled,
|
|
18
18
|
recordInstallRef
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-OLEMJTEJ.js";
|
|
20
20
|
import {
|
|
21
21
|
createApiClient
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-CM3BXAMM.js";
|
|
23
23
|
import {
|
|
24
24
|
configExists,
|
|
25
25
|
getAnswerServiceEnv,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
loadConfigRaw,
|
|
31
31
|
saveConfig,
|
|
32
32
|
withBootstrapProviderDefaults
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-5LLEZ6YL.js";
|
|
34
34
|
import "./chunk-AOJU5LKX.js";
|
|
35
35
|
import {
|
|
36
36
|
CliError,
|
|
@@ -38,17 +38,17 @@ import {
|
|
|
38
38
|
isMachineFormat,
|
|
39
39
|
systemError
|
|
40
40
|
} from "./chunk-HGMYEDAQ.js";
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-J6QOUWDQ.js";
|
|
42
42
|
import {
|
|
43
43
|
apiKeys,
|
|
44
44
|
createClient,
|
|
45
45
|
dashboardSessions,
|
|
46
46
|
migrate
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-HE4ZCVSF.js";
|
|
48
48
|
import {
|
|
49
49
|
ProviderNames,
|
|
50
50
|
ProviderReloadErrorReasons
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-GO5OUMY5.js";
|
|
52
52
|
import "./chunk-MLKGABMK.js";
|
|
53
53
|
|
|
54
54
|
// src/commands/bootstrap.ts
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import {
|
|
2
2
|
trackCliConnection
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7BEQY4YS.js";
|
|
4
4
|
import {
|
|
5
5
|
outcomeFailure
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-U3DFWCTU.js";
|
|
7
|
+
import "./chunk-OLEMJTEJ.js";
|
|
8
8
|
import {
|
|
9
9
|
createApiClient
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-CM3BXAMM.js";
|
|
11
11
|
import {
|
|
12
12
|
loadConfig,
|
|
13
13
|
saveConfigPatch
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-5LLEZ6YL.js";
|
|
15
15
|
import "./chunk-AOJU5LKX.js";
|
|
16
16
|
import {
|
|
17
17
|
CliError,
|
|
18
18
|
isMachineFormat
|
|
19
19
|
} from "./chunk-HGMYEDAQ.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-J6QOUWDQ.js";
|
|
21
21
|
import {
|
|
22
22
|
describeError
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-GO5OUMY5.js";
|
|
24
24
|
import "./chunk-MLKGABMK.js";
|
|
25
25
|
|
|
26
26
|
// src/commands/cdp.ts
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runWithUsageTags
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CM3BXAMM.js";
|
|
4
4
|
import {
|
|
5
5
|
CanonryMcpToolNames,
|
|
6
6
|
canonryMcpTools
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-4UA2Y24K.js";
|
|
8
8
|
import {
|
|
9
9
|
CliError
|
|
10
10
|
} from "./chunk-HGMYEDAQ.js";
|
|
11
11
|
import {
|
|
12
12
|
buildOpenApiDocument
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-LWVLQCQH.js";
|
|
14
14
|
import {
|
|
15
15
|
DEFAULT_COMPETITOR_AUTO_ALIAS_MODE,
|
|
16
16
|
MeasurementPortfolioLists,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
seoDatasetWithoutVendor,
|
|
24
24
|
seoProviderSchema,
|
|
25
25
|
truncateUtf16
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-GO5OUMY5.js";
|
|
27
27
|
|
|
28
28
|
// src/agent/tools.ts
|
|
29
29
|
import { Type as Type2 } from "@earendil-works/pi-ai";
|
|
@@ -2,18 +2,18 @@ import {
|
|
|
2
2
|
configExists,
|
|
3
3
|
loadConfigRaw,
|
|
4
4
|
saveConfigPatch
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-5LLEZ6YL.js";
|
|
6
6
|
import {
|
|
7
7
|
BUNDLED_SKILL_NAMES,
|
|
8
8
|
installSkills
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-VNPYFXO5.js";
|
|
10
10
|
import {
|
|
11
11
|
PACKAGE_VERSION
|
|
12
12
|
} from "./chunk-AOJU5LKX.js";
|
|
13
13
|
import {
|
|
14
14
|
SKILL_MANIFEST_FILENAME,
|
|
15
15
|
SkillsClients
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-GO5OUMY5.js";
|
|
17
17
|
|
|
18
18
|
// src/skills-autosync.ts
|
|
19
19
|
import fs from "fs";
|
|
@@ -8,23 +8,23 @@ import {
|
|
|
8
8
|
reparseStoredResult4,
|
|
9
9
|
reparseStoredResult5,
|
|
10
10
|
resolveStoredApiResponse
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ON4G7RCY.js";
|
|
12
12
|
import {
|
|
13
13
|
loadConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-5LLEZ6YL.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-AAUJZ43Q.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-LWVLQCQH.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-HE4ZCVSF.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-GO5OUMY5.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-7FVMY2WA.js");
|
|
433
433
|
const config = loadConfig();
|
|
434
434
|
const db = createClient(config.database);
|
|
435
435
|
migrate(db);
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
dedupeGscSitemapUrls,
|
|
3
3
|
resolveDiscoveredGscSitemapUrls,
|
|
4
4
|
submitGscSitemapBatches
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-5X6CWQ6P.js";
|
|
6
6
|
import {
|
|
7
7
|
measurementDraftOperationSchema,
|
|
8
8
|
runMeasurementDraftAction
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-VFYZVQVX.js";
|
|
10
10
|
import {
|
|
11
11
|
CliError
|
|
12
12
|
} from "./chunk-HGMYEDAQ.js";
|
|
@@ -28,6 +28,7 @@ import {
|
|
|
28
28
|
SENTIMENT_QUERY_PAGE_MAX,
|
|
29
29
|
SEO_RUN_SCOPE,
|
|
30
30
|
SEO_WRITE_SCOPE,
|
|
31
|
+
TRAFFIC_EVENT_KIND_FILTER_HINT,
|
|
31
32
|
WINDOW_SETS,
|
|
32
33
|
adsActivateTreeRequestSchema,
|
|
33
34
|
adsAdCreateRequestSchema,
|
|
@@ -103,6 +104,7 @@ import {
|
|
|
103
104
|
operationAccess,
|
|
104
105
|
operationalLogListReadSchema,
|
|
105
106
|
organicEvidencePeriodSchema,
|
|
107
|
+
parseTrafficEventKindFilter,
|
|
106
108
|
projectConfigSchema,
|
|
107
109
|
projectPatchRequestSchema,
|
|
108
110
|
projectUpsertRequestSchema,
|
|
@@ -180,14 +182,13 @@ import {
|
|
|
180
182
|
trafficConnectCloudRunRequestSchema,
|
|
181
183
|
trafficConnectVercelRequestSchema,
|
|
182
184
|
trafficConnectWordpressRequestSchema,
|
|
183
|
-
trafficEventKindSchema,
|
|
184
185
|
trafficSamplesQuerySchema,
|
|
185
186
|
trafficSeriesGranularitySchema,
|
|
186
187
|
trafficUnrecognizedAgentsQuerySchema,
|
|
187
188
|
trendSurfaceSchema,
|
|
188
189
|
visibilityCompareSelectionSchema,
|
|
189
190
|
visibilityReportRequestSchema
|
|
190
|
-
} from "./chunk-
|
|
191
|
+
} from "./chunk-GO5OUMY5.js";
|
|
191
192
|
|
|
192
193
|
// src/mcp/tool-registry.ts
|
|
193
194
|
import { z as z2 } from "zod";
|
|
@@ -952,7 +953,7 @@ var trafficEventsInputSchema = z2.object({
|
|
|
952
953
|
project: projectNameSchema,
|
|
953
954
|
since: z2.string().optional().describe("ISO 8601 lower bound. Defaults to 24h ago when omitted."),
|
|
954
955
|
until: z2.string().optional().describe("ISO 8601 upper bound. Defaults to now when omitted."),
|
|
955
|
-
kind: z2.
|
|
956
|
+
kind: z2.string().refine((value) => parseTrafficEventKindFilter(value) !== null, { message: `kind must be ${TRAFFIC_EVENT_KIND_FILTER_HINT}` }).optional().describe('Filter to "crawler", "ai-user-fetch", "ai-referral", a comma-separated list of them (e.g. "ai-user-fetch,ai-referral"), or "all" (default). Rows, totals and series cover only the kinds asked for.'),
|
|
956
957
|
sourceId: z2.string().min(1).optional().describe("Restrict to a single traffic source ID."),
|
|
957
958
|
limit: z2.number().int().positive().max(5e3).optional().describe("Max combined rows. Defaults to 500, max 5000. Totals always reflect the full window."),
|
|
958
959
|
granularity: trafficSeriesGranularitySchema.optional().describe("Full-window chart series bucket size: hour (default) or day.")
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pickProjectCitedDomain
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AAUJZ43Q.js";
|
|
4
4
|
import {
|
|
5
5
|
createLogger
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-BOUEM6D6.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-LWVLQCQH.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-HE4ZCVSF.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-GO5OUMY5.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";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
trackIntegrationConnection
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-U3DFWCTU.js";
|
|
4
4
|
import {
|
|
5
5
|
cliRuntimeContext
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-OLEMJTEJ.js";
|
|
7
7
|
|
|
8
8
|
// src/cli-connection-telemetry.ts
|
|
9
9
|
function trackCliConnection(properties) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getRequestContext
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-J6QOUWDQ.js";
|
|
4
4
|
import {
|
|
5
5
|
diagnosticIdentity,
|
|
6
6
|
redactLogString,
|
|
7
7
|
redactLogValue
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-GO5OUMY5.js";
|
|
9
9
|
|
|
10
10
|
// ../api-routes/src/runtime-logger.ts
|
|
11
11
|
import { format } from "util";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loadConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5LLEZ6YL.js";
|
|
4
4
|
import {
|
|
5
5
|
PACKAGE_VERSION
|
|
6
6
|
} from "./chunk-AOJU5LKX.js";
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
sentimentSettingsReadSchema,
|
|
37
37
|
sentimentSummaryReadSchema,
|
|
38
38
|
upgradeCommandFor
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-GO5OUMY5.js";
|
|
40
40
|
|
|
41
41
|
// ../api-client-generated/src/generated/core/bodySerializer.gen.ts
|
|
42
42
|
var jsonBodySerializer = {
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
siteCrawlGraphNodes,
|
|
6
6
|
siteCrawlPages,
|
|
7
7
|
siteCrawlSnapshots
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HE4ZCVSF.js";
|
|
9
9
|
import {
|
|
10
10
|
SITE_CRAWL_GRAPH_MAX_EDGES,
|
|
11
11
|
SITE_CRAWL_GRAPH_MAX_NODES,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
factorStatusFromDistribution,
|
|
16
16
|
factorStatusFromScore,
|
|
17
17
|
roundPreservingTotal
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-GO5OUMY5.js";
|
|
19
19
|
|
|
20
20
|
// src/site-audit-factors.ts
|
|
21
21
|
function recordedSharePct(factor) {
|
|
@@ -19214,6 +19214,17 @@ var trafficStatusResponseSchema = z57.object({
|
|
|
19214
19214
|
});
|
|
19215
19215
|
var trafficEventKindSchema = z57.enum(["crawler", "ai-user-fetch", "ai-referral"]);
|
|
19216
19216
|
var TrafficEventKinds = trafficEventKindSchema.enum;
|
|
19217
|
+
var TRAFFIC_EVENT_KIND_FILTER_HINT = `all, or one or more (comma-separated) of: ${trafficEventKindSchema.options.join(", ")}`;
|
|
19218
|
+
function parseTrafficEventKindFilter(value) {
|
|
19219
|
+
if (value === "all") return [...trafficEventKindSchema.options];
|
|
19220
|
+
const kinds = [];
|
|
19221
|
+
for (const member of value.split(",").map((part) => part.trim()).filter(Boolean)) {
|
|
19222
|
+
const parsed = trafficEventKindSchema.safeParse(member);
|
|
19223
|
+
if (!parsed.success) return null;
|
|
19224
|
+
if (!kinds.includes(parsed.data)) kinds.push(parsed.data);
|
|
19225
|
+
}
|
|
19226
|
+
return kinds.length > 0 ? kinds : null;
|
|
19227
|
+
}
|
|
19217
19228
|
var trafficSeriesGranularitySchema = z57.enum(["hour", "day"]);
|
|
19218
19229
|
var TrafficSeriesGranularities = trafficSeriesGranularitySchema.enum;
|
|
19219
19230
|
var trafficSeriesPointSchema = z57.object({
|
|
@@ -28478,8 +28489,9 @@ export {
|
|
|
28478
28489
|
trafficSourceListResponseSchema,
|
|
28479
28490
|
trafficSourceDetailDtoSchema,
|
|
28480
28491
|
trafficStatusResponseSchema,
|
|
28481
|
-
trafficEventKindSchema,
|
|
28482
28492
|
TrafficEventKinds,
|
|
28493
|
+
TRAFFIC_EVENT_KIND_FILTER_HINT,
|
|
28494
|
+
parseTrafficEventKindFilter,
|
|
28483
28495
|
trafficSeriesGranularitySchema,
|
|
28484
28496
|
TrafficSeriesGranularities,
|
|
28485
28497
|
trafficEventsResponseSchema,
|
|
@@ -15,14 +15,14 @@ import {
|
|
|
15
15
|
normalizeCloudflareWorkerEvent,
|
|
16
16
|
sessionizeJourneyRequests,
|
|
17
17
|
verifyRequestSignature
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-GS3KXIFK.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-J6QOUWDQ.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-HE4ZCVSF.js";
|
|
184
184
|
import {
|
|
185
185
|
ADS_ACTIVATE_SCOPE,
|
|
186
186
|
ADS_ACTIVATION_ABSOLUTE_MAX_ENTITIES,
|
|
@@ -415,6 +415,7 @@ import {
|
|
|
415
415
|
SiteCrawlUrlVersionFilters,
|
|
416
416
|
SiteHealthLinkKinds,
|
|
417
417
|
SiteHealthTemplateDetections,
|
|
418
|
+
TRAFFIC_EVENT_KIND_FILTER_HINT,
|
|
418
419
|
TREND_SURFACE_DEFAULT_WINDOW,
|
|
419
420
|
TrafficEventConfidences,
|
|
420
421
|
TrafficEventKinds,
|
|
@@ -1002,6 +1003,7 @@ import {
|
|
|
1002
1003
|
parseRunError,
|
|
1003
1004
|
parseStoredMeasurementPlanAnyVersion,
|
|
1004
1005
|
parseTrafficAnalyticsPeriod,
|
|
1006
|
+
parseTrafficEventKindFilter,
|
|
1005
1007
|
parseWindow,
|
|
1006
1008
|
parseWindowIn,
|
|
1007
1009
|
percentOf,
|
|
@@ -1275,7 +1277,7 @@ import {
|
|
|
1275
1277
|
wordpressSchemaDeployResultDtoSchema,
|
|
1276
1278
|
wordpressSchemaStatusResultDtoSchema,
|
|
1277
1279
|
wordpressStatusDtoSchema
|
|
1278
|
-
} from "./chunk-
|
|
1280
|
+
} from "./chunk-GO5OUMY5.js";
|
|
1279
1281
|
|
|
1280
1282
|
// ../api-routes/src/user-session.ts
|
|
1281
1283
|
import crypto2 from "crypto";
|
|
@@ -43859,7 +43861,7 @@ var routeCatalog = [
|
|
|
43859
43861
|
nameParameter,
|
|
43860
43862
|
{ name: "since", in: "query", description: "ISO-8601 window start (defaults to 24h ago).", schema: stringSchema },
|
|
43861
43863
|
{ name: "until", in: "query", description: "ISO-8601 window end (defaults to now).", schema: stringSchema },
|
|
43862
|
-
{ name: "kind", in: "query", description: 'Filter to "crawler", "ai-user-fetch", "ai-referral", or "all" (default).', schema: stringSchema },
|
|
43864
|
+
{ name: "kind", in: "query", description: 'Filter to "crawler", "ai-user-fetch", "ai-referral", a comma-separated list of them (e.g. "ai-user-fetch,ai-referral"), or "all" (default). Rows, totals and series cover only the kinds asked for.', schema: stringSchema },
|
|
43863
43865
|
{ name: "limit", in: "query", description: "Max newest combined detail rows in the events array (default 500, max 5000).", schema: stringSchema },
|
|
43864
43866
|
{ name: "sourceId", in: "query", description: "Restrict to a single traffic source.", schema: stringSchema },
|
|
43865
43867
|
{ name: "granularity", in: "query", description: 'Full-window series bucket size: "hour" (default) or "day".', schema: { type: "string", enum: ["hour", "day"] } }
|
|
@@ -57650,11 +57652,14 @@ var BingApiError = class extends Error {
|
|
|
57650
57652
|
* callers do not have to parse prose.
|
|
57651
57653
|
*/
|
|
57652
57654
|
isThrottle;
|
|
57653
|
-
|
|
57655
|
+
/** Only the retry header is retained; never retain response credentials. */
|
|
57656
|
+
headers;
|
|
57657
|
+
constructor(message, status, bingErrorCode = null, retryAfter) {
|
|
57654
57658
|
super(message);
|
|
57655
57659
|
this.name = "BingApiError";
|
|
57656
57660
|
this.status = status;
|
|
57657
57661
|
this.bingErrorCode = bingErrorCode;
|
|
57662
|
+
this.headers = retryAfter == null ? void 0 : { "retry-after": retryAfter };
|
|
57658
57663
|
this.isThrottle = status === 429 || bingErrorCode != null && BING_THROTTLE_ERROR_CODES.has(bingErrorCode);
|
|
57659
57664
|
}
|
|
57660
57665
|
};
|
|
@@ -57748,14 +57753,14 @@ async function bingFetchOnce(apiKey, endpoint, opts) {
|
|
|
57748
57753
|
}
|
|
57749
57754
|
if (res.status === 429) {
|
|
57750
57755
|
bingClientLog("error", "http.rate-limited", { endpoint, method, httpStatus: 429 });
|
|
57751
|
-
throw new BingApiError("Bing API rate limit exceeded", 429);
|
|
57756
|
+
throw new BingApiError("Bing API rate limit exceeded", 429, null, res.headers.get("retry-after"));
|
|
57752
57757
|
}
|
|
57753
57758
|
if (!res.ok) {
|
|
57754
57759
|
const body = await res.text();
|
|
57755
57760
|
let detail = body.length <= 500 ? body : `${body.slice(0, 500)}... [truncated]`;
|
|
57756
57761
|
detail = detail.replace(new RegExp(escapeRegExp(apiKey), "g"), "***");
|
|
57757
57762
|
const bingErrorCode = parseBingErrorCode(body);
|
|
57758
|
-
const err = new BingApiError(`Bing API error (${res.status}): ${detail}`, res.status, bingErrorCode);
|
|
57763
|
+
const err = new BingApiError(`Bing API error (${res.status}): ${detail}`, res.status, bingErrorCode, res.headers.get("retry-after"));
|
|
57759
57764
|
bingClientLog("error", err.isThrottle ? "http.throttled" : "http.error", {
|
|
57760
57765
|
endpoint,
|
|
57761
57766
|
method,
|
|
@@ -57793,9 +57798,13 @@ function throttleCooldownRemainingMs(apiKey) {
|
|
|
57793
57798
|
}
|
|
57794
57799
|
return remaining;
|
|
57795
57800
|
}
|
|
57796
|
-
function openThrottleCooldown(apiKey) {
|
|
57797
|
-
|
|
57798
|
-
|
|
57801
|
+
function openThrottleCooldown(apiKey, err) {
|
|
57802
|
+
const cooldownMs = Math.max(BING_THROTTLE_COOLDOWN_MS, retryAfterDelayMs(err) ?? 0);
|
|
57803
|
+
const key = cooldownKey(apiKey);
|
|
57804
|
+
const now = cooldownNow();
|
|
57805
|
+
const retryAt = Math.max(throttleCooldownUntil.get(key) ?? 0, now + cooldownMs);
|
|
57806
|
+
throttleCooldownUntil.set(key, retryAt);
|
|
57807
|
+
bingClientLog("error", "http.cooldown-open", { cooldownMs: retryAt - now });
|
|
57799
57808
|
}
|
|
57800
57809
|
async function bingFetch(apiKey, endpoint, opts) {
|
|
57801
57810
|
const isIdempotent = opts?.idempotent ?? (opts?.method ?? "GET") === "GET";
|
|
@@ -57827,7 +57836,7 @@ async function bingFetch(apiKey, endpoint, opts) {
|
|
|
57827
57836
|
}
|
|
57828
57837
|
});
|
|
57829
57838
|
} catch (err) {
|
|
57830
|
-
if (err instanceof BingApiError && err.isThrottle) openThrottleCooldown(apiKey);
|
|
57839
|
+
if (err instanceof BingApiError && err.isThrottle) openThrottleCooldown(apiKey, err);
|
|
57831
57840
|
throw err;
|
|
57832
57841
|
}
|
|
57833
57842
|
}
|
|
@@ -68447,16 +68456,11 @@ async function trafficRoutes(app, opts) {
|
|
|
68447
68456
|
throw validationError('"since" must be \u2264 "until"');
|
|
68448
68457
|
}
|
|
68449
68458
|
const kindParam = request.query?.kind;
|
|
68450
|
-
|
|
68451
|
-
if (
|
|
68452
|
-
|
|
68453
|
-
kind = kindParam;
|
|
68454
|
-
} else {
|
|
68455
|
-
throw validationError(
|
|
68456
|
-
`"kind" must be one of: all, ${TrafficEventKinds.crawler}, ${TrafficEventKinds["ai-user-fetch"]}, ${TrafficEventKinds["ai-referral"]}`
|
|
68457
|
-
);
|
|
68458
|
-
}
|
|
68459
|
+
const kindList = kindParam === void 0 ? parseTrafficEventKindFilter("all") : typeof kindParam === "string" ? parseTrafficEventKindFilter(kindParam) : null;
|
|
68460
|
+
if (!kindList) {
|
|
68461
|
+
throw validationError(`"kind" must be ${TRAFFIC_EVENT_KIND_FILTER_HINT}`);
|
|
68459
68462
|
}
|
|
68463
|
+
const kinds = new Set(kindList);
|
|
68460
68464
|
const limitParam = request.query?.limit;
|
|
68461
68465
|
const requestedLimit = limitParam ? parseInt(limitParam, 10) : 500;
|
|
68462
68466
|
if (!Number.isFinite(requestedLimit) || requestedLimit <= 0) {
|
|
@@ -68487,7 +68491,7 @@ async function trafficRoutes(app, opts) {
|
|
|
68487
68491
|
let aiReferralLandedHits = 0;
|
|
68488
68492
|
let totalEventRows = 0;
|
|
68489
68493
|
const seriesByBucket = /* @__PURE__ */ new Map();
|
|
68490
|
-
if (
|
|
68494
|
+
if (kinds.has(TrafficEventKinds.crawler)) {
|
|
68491
68495
|
const crawlerFilters = [
|
|
68492
68496
|
eq89(crawlerEventsHourly.projectId, project.id),
|
|
68493
68497
|
gte24(crawlerEventsHourly.tsHour, sinceIso),
|
|
@@ -68562,7 +68566,7 @@ async function trafficRoutes(app, opts) {
|
|
|
68562
68566
|
});
|
|
68563
68567
|
}
|
|
68564
68568
|
}
|
|
68565
|
-
if (
|
|
68569
|
+
if (kinds.has(TrafficEventKinds["ai-user-fetch"])) {
|
|
68566
68570
|
const userFetchFilters = [
|
|
68567
68571
|
eq89(aiUserFetchEventsHourly.projectId, project.id),
|
|
68568
68572
|
gte24(aiUserFetchEventsHourly.tsHour, sinceIso),
|
|
@@ -68601,7 +68605,7 @@ async function trafficRoutes(app, opts) {
|
|
|
68601
68605
|
});
|
|
68602
68606
|
}
|
|
68603
68607
|
}
|
|
68604
|
-
if (
|
|
68608
|
+
if (kinds.has(TrafficEventKinds["ai-referral"])) {
|
|
68605
68609
|
const aiFilters = [
|
|
68606
68610
|
eq89(aiReferralEventsHourly.projectId, project.id),
|
|
68607
68611
|
gte24(aiReferralEventsHourly.tsHour, sinceIso),
|