@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
|
@@ -3,17 +3,17 @@ import {
|
|
|
3
3
|
} from "./chunk-ELCLGWUT.js";
|
|
4
4
|
import {
|
|
5
5
|
createApiClient
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-CM3BXAMM.js";
|
|
7
7
|
import {
|
|
8
8
|
getConfigPath,
|
|
9
9
|
loadConfig,
|
|
10
10
|
saveConfigPatch
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-5LLEZ6YL.js";
|
|
12
12
|
import "./chunk-AOJU5LKX.js";
|
|
13
13
|
import {
|
|
14
14
|
isMachineFormat
|
|
15
15
|
} from "./chunk-HGMYEDAQ.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-GO5OUMY5.js";
|
|
17
17
|
import "./chunk-MLKGABMK.js";
|
|
18
18
|
|
|
19
19
|
// src/commands/settings.ts
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-CM3BXAMM.js";
|
|
4
|
+
import "./chunk-5LLEZ6YL.js";
|
|
5
5
|
import "./chunk-AOJU5LKX.js";
|
|
6
6
|
import {
|
|
7
7
|
isMachineFormat
|
|
8
8
|
} from "./chunk-HGMYEDAQ.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-GO5OUMY5.js";
|
|
10
10
|
import "./chunk-MLKGABMK.js";
|
|
11
11
|
|
|
12
12
|
// src/commands/sitemaps.ts
|
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
parseSkillsClient,
|
|
10
10
|
resolveBundledSkillsRoot,
|
|
11
11
|
shouldPrintServeSkillsNudge
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-VNPYFXO5.js";
|
|
13
13
|
import "./chunk-AOJU5LKX.js";
|
|
14
14
|
import "./chunk-HGMYEDAQ.js";
|
|
15
15
|
import {
|
|
16
16
|
CodingAgents,
|
|
17
17
|
SkillsClients
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-GO5OUMY5.js";
|
|
19
19
|
import "./chunk-MLKGABMK.js";
|
|
20
20
|
export {
|
|
21
21
|
BUNDLED_SKILL_NAMES,
|
|
@@ -3,15 +3,15 @@ import {
|
|
|
3
3
|
} from "./chunk-XEBKF4N5.js";
|
|
4
4
|
import {
|
|
5
5
|
createApiClient
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-CM3BXAMM.js";
|
|
7
|
+
import "./chunk-5LLEZ6YL.js";
|
|
8
8
|
import "./chunk-AOJU5LKX.js";
|
|
9
9
|
import {
|
|
10
10
|
isMachineFormat
|
|
11
11
|
} from "./chunk-HGMYEDAQ.js";
|
|
12
12
|
import {
|
|
13
13
|
factorStatusFromScore
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-GO5OUMY5.js";
|
|
15
15
|
import "./chunk-MLKGABMK.js";
|
|
16
16
|
|
|
17
17
|
// src/commands/snapshot.ts
|
|
@@ -186,10 +186,10 @@ import {
|
|
|
186
186
|
userSessions,
|
|
187
187
|
users,
|
|
188
188
|
writeNegativeReviewMaxStars
|
|
189
|
-
} from "./chunk-
|
|
189
|
+
} from "./chunk-HE4ZCVSF.js";
|
|
190
190
|
import {
|
|
191
191
|
emptySeoResults
|
|
192
|
-
} from "./chunk-
|
|
192
|
+
} from "./chunk-GO5OUMY5.js";
|
|
193
193
|
import "./chunk-MLKGABMK.js";
|
|
194
194
|
export {
|
|
195
195
|
MIGRATION_VERSIONS,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runAdmissionLines
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-U3KBGIJ6.js";
|
|
4
4
|
import {
|
|
5
5
|
createApiClient
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-CM3BXAMM.js";
|
|
7
|
+
import "./chunk-5LLEZ6YL.js";
|
|
8
8
|
import {
|
|
9
9
|
emitJsonl
|
|
10
10
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
HostedMcpStatuses,
|
|
18
18
|
HostedMcpUnavailableReasons
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-GO5OUMY5.js";
|
|
20
20
|
import "./chunk-MLKGABMK.js";
|
|
21
21
|
|
|
22
22
|
// src/commands/status.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-CM3BXAMM.js";
|
|
4
|
+
import "./chunk-5LLEZ6YL.js";
|
|
5
5
|
import {
|
|
6
6
|
emitJsonl
|
|
7
7
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
RatioUnits,
|
|
14
14
|
SiteAuditIssueRecommendationScopes,
|
|
15
15
|
formatPercent
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-GO5OUMY5.js";
|
|
17
17
|
import "./chunk-MLKGABMK.js";
|
|
18
18
|
|
|
19
19
|
// src/commands/technical-aeo.ts
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getTelemetryStatus,
|
|
3
3
|
setTelemetryPreference
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-OLEMJTEJ.js";
|
|
5
5
|
import {
|
|
6
6
|
createApiClient
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-CM3BXAMM.js";
|
|
8
8
|
import {
|
|
9
9
|
configExists,
|
|
10
10
|
getConfigPath
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-5LLEZ6YL.js";
|
|
12
12
|
import "./chunk-AOJU5LKX.js";
|
|
13
13
|
import {
|
|
14
14
|
CliError,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./chunk-HGMYEDAQ.js";
|
|
18
18
|
import {
|
|
19
19
|
normalizeTelemetryStatus
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-GO5OUMY5.js";
|
|
21
21
|
import "./chunk-MLKGABMK.js";
|
|
22
22
|
|
|
23
23
|
// src/commands/telemetry.ts
|
|
@@ -11,19 +11,19 @@ import {
|
|
|
11
11
|
buildAllTools,
|
|
12
12
|
buildReadTools,
|
|
13
13
|
isAeroToolProfile
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-2OJJPSFS.js";
|
|
15
|
+
import "./chunk-CM3BXAMM.js";
|
|
16
|
+
import "./chunk-5LLEZ6YL.js";
|
|
17
|
+
import "./chunk-4UA2Y24K.js";
|
|
18
|
+
import "./chunk-5X6CWQ6P.js";
|
|
19
|
+
import "./chunk-VFYZVQVX.js";
|
|
20
20
|
import "./chunk-AOJU5LKX.js";
|
|
21
21
|
import "./chunk-HGMYEDAQ.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-LWVLQCQH.js";
|
|
23
|
+
import "./chunk-GS3KXIFK.js";
|
|
24
|
+
import "./chunk-J6QOUWDQ.js";
|
|
25
|
+
import "./chunk-HE4ZCVSF.js";
|
|
26
|
+
import "./chunk-GO5OUMY5.js";
|
|
27
27
|
import "./chunk-MLKGABMK.js";
|
|
28
28
|
export {
|
|
29
29
|
AERO_ADS_OPERATOR_CONTEXT_TOOL_NAME,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getCloudflareTrafficConnectionBySourceId
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4CPCYR5M.js";
|
|
4
4
|
import {
|
|
5
5
|
createApiClient
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-CM3BXAMM.js";
|
|
7
7
|
import {
|
|
8
8
|
loadConfigRaw
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-5LLEZ6YL.js";
|
|
10
10
|
import {
|
|
11
11
|
emitJsonl
|
|
12
12
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -23,19 +23,21 @@ import {
|
|
|
23
23
|
DEFAULT_BOT_LIST,
|
|
24
24
|
generateWorkerScript,
|
|
25
25
|
generateWranglerToml
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-GS3KXIFK.js";
|
|
27
27
|
import {
|
|
28
28
|
RunStatuses,
|
|
29
|
+
TRAFFIC_EVENT_KIND_FILTER_HINT,
|
|
29
30
|
TrafficEventKinds,
|
|
30
31
|
TrafficSeriesGranularities,
|
|
31
32
|
describeError,
|
|
32
33
|
formatPercent,
|
|
33
34
|
formatValidationIssues,
|
|
34
35
|
parseTrafficAnalyticsPeriod,
|
|
36
|
+
parseTrafficEventKindFilter,
|
|
35
37
|
referralAssessmentQuerySchema,
|
|
36
38
|
trafficSamplesQuerySchema,
|
|
37
39
|
trafficUnrecognizedAgentsQuerySchema
|
|
38
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-GO5OUMY5.js";
|
|
39
41
|
import "./chunk-MLKGABMK.js";
|
|
40
42
|
|
|
41
43
|
// src/commands/traffic.ts
|
|
@@ -1273,11 +1275,11 @@ async function trafficUnrecognized(project, opts) {
|
|
|
1273
1275
|
}
|
|
1274
1276
|
}
|
|
1275
1277
|
async function trafficEvents(project, opts) {
|
|
1276
|
-
if (opts.kind && opts.kind
|
|
1278
|
+
if (opts.kind && !parseTrafficEventKindFilter(opts.kind)) {
|
|
1277
1279
|
throw new CliError({
|
|
1278
1280
|
code: "TRAFFIC_INVALID_KIND",
|
|
1279
|
-
message: `--kind must be
|
|
1280
|
-
displayMessage: `Error: --kind must be
|
|
1281
|
+
message: `--kind must be ${TRAFFIC_EVENT_KIND_FILTER_HINT}`,
|
|
1282
|
+
displayMessage: `Error: --kind must be ${TRAFFIC_EVENT_KIND_FILTER_HINT}`,
|
|
1281
1283
|
details: { project, kind: opts.kind }
|
|
1282
1284
|
});
|
|
1283
1285
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-CM3BXAMM.js";
|
|
4
|
+
import "./chunk-5LLEZ6YL.js";
|
|
5
5
|
import "./chunk-AOJU5LKX.js";
|
|
6
6
|
import {
|
|
7
7
|
isMachineFormat
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
TrendUnits,
|
|
12
12
|
formatPercent,
|
|
13
13
|
formatSignedPointDelta
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-GO5OUMY5.js";
|
|
15
15
|
import "./chunk-MLKGABMK.js";
|
|
16
16
|
|
|
17
17
|
// src/commands/trends.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-CM3BXAMM.js";
|
|
4
|
+
import "./chunk-5LLEZ6YL.js";
|
|
5
5
|
import {
|
|
6
6
|
emitJsonl
|
|
7
7
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
USER_PASSWORD_MIN_LENGTH,
|
|
15
15
|
UserRoles,
|
|
16
16
|
formatIsoDate
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-GO5OUMY5.js";
|
|
18
18
|
import "./chunk-MLKGABMK.js";
|
|
19
19
|
|
|
20
20
|
// src/cli-prompt.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-CM3BXAMM.js";
|
|
4
|
+
import "./chunk-5LLEZ6YL.js";
|
|
5
5
|
import {
|
|
6
6
|
emitJsonl
|
|
7
7
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
isVisibilityCompareClassMetric,
|
|
15
15
|
shareOfVoiceLabel,
|
|
16
16
|
shareOfVoiceReason
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-GO5OUMY5.js";
|
|
18
18
|
import "./chunk-MLKGABMK.js";
|
|
19
19
|
|
|
20
20
|
// src/commands/visibility-stats.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-CM3BXAMM.js";
|
|
4
|
+
import "./chunk-5LLEZ6YL.js";
|
|
5
5
|
import "./chunk-AOJU5LKX.js";
|
|
6
6
|
import {
|
|
7
7
|
CliError,
|
|
8
8
|
isMachineFormat
|
|
9
9
|
} from "./chunk-HGMYEDAQ.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-GO5OUMY5.js";
|
|
11
11
|
import "./chunk-MLKGABMK.js";
|
|
12
12
|
|
|
13
13
|
// src/commands/wordpress.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canonry/canonry",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.93.0",
|
|
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": [
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-XKyaHtl9.js";import{J as t,Y as n,b as r,ct as i,n as a,ot as o}from"./vendor-lucide-Bo69m9KC.js";import{r as s}from"./vendor-markdown-BiRP51B0.js";import{p as ee,t as te,u as ne}from"./vendor-tanstack-tBjrfzKu.js";import{a as c,c as re,d as l,f as ie,i as ae,m as oe,n as se,r as ce}from"./vendor-recharts-CY6tH-r6.js";import{Sr as u,r as le,t as ue,wr as d,wt as de}from"./ToneBadge-COrS2zpP.js";import{f as fe}from"./format-helpers-COfTmLRL.js";import{a as f,n as pe,r as me,s as he,t as ge}from"./ChartPrimitives-Cs2iavxU.js";import{t as p}from"./InfoTooltip-CNLlIWeP.js";import{t as m}from"./card-P1VA-JnV.js";import{a as _e,d as ve,l as ye,o as be,t as xe}from"./server-traffic-ykAWQo0I.js";import{r as Se}from"./agent-trust-copy-Hb775a57.js";var h=e(i(),1),Ce=[{value:`all`,label:`All status`},{value:`2xx`,label:`2xx success`},{value:`3xx`,label:`3xx redirect`},{value:`4xx`,label:`4xx client error`},{value:`5xx`,label:`5xx server error`}],we=[{value:`all`,label:`All claims`},{value:d.verified,label:`Verified`},{value:d.claimed_unverified,label:`Claimed unverified`},{value:d.unknown_ai_like,label:`Unknown AI-like`}];function g(e){return e===`all`?null:Number.parseInt(e[0],10)}function Te(e){switch(e.kind){case u.crawler:case u[`ai-user-fetch`]:return e.botId;case u[`ai-referral`]:return e.product}}function _(e){switch(e.kind){case u.crawler:case u[`ai-user-fetch`]:return e.pathNormalized;case u[`ai-referral`]:return e.landingPathNormalized}}function v(e){switch(e.kind){case u.crawler:case u[`ai-user-fetch`]:return e.verificationStatus;case u[`ai-referral`]:return null}}function y(e,t){if(t===`hour`)return e;let n=new Date(e);return`${n.getFullYear()}-${String(n.getMonth()+1).padStart(2,`0`)}-${String(n.getDate()).padStart(2,`0`)}`}function Ee(e,t,n){let r=t.pathQuery.trim().toLowerCase(),i=g(t.statusClass);return e.filter(e=>!(t.selectedBucket&&y(e.tsHour,n)!==t.selectedBucket||t.identity&&Te(e)!==t.identity||t.operator&&e.operator!==t.operator||r&&!_(e).toLowerCase().includes(r)||i!==null&&Math.floor(e.status/100)!==i||t.verification!==`all`&&v(e)!==t.verification))}function De(e,t){if(!e||typeof e!=`object`)return null;let n=e.activeTooltipIndex,r;if(typeof n==`number`)r=n;else if(typeof n==`string`&&n!==``)r=Number(n);else return null;return!Number.isInteger(r)||r<0||r>=t.length?null:t[r]?.bucket??null}var b=s(),x=[{value:60,label:`1h`,granularity:`hour`,fetchLimit:500},{value:360,label:`6h`,granularity:`hour`,fetchLimit:500},{value:1440,label:`24h`,granularity:`hour`,fetchLimit:500},{value:10080,label:`7d`,granularity:`hour`,fetchLimit:1e3},{value:43200,label:`30d`,granularity:`day`,fetchLimit:2e3},{value:129600,label:`90d`,granularity:`day`,fetchLimit:5e3}],Oe=x.find(e=>e.label===`24h`)??x[2],S=50,C=f[0],w=f[2],T=f[1],ke=fe();function E(e){let t=new Date(e);return`${t.getMonth()+1}/${t.getDate()} ${String(t.getHours()).padStart(2,`0`)}:00`}function D(e){let t=new Date(`${e}T00:00:00`);return`${t.getMonth()+1}/${t.getDate()}`}function Ae(e){if(!e)return`never`;let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<1)return`just now`;if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function O(e){return e.size===1?[...e][0]:`all`}function je({canGoBack:e,className:t}){let n=`inline-flex items-center gap-1`;return e?(0,b.jsxs)(`button`,{type:`button`,onClick:()=>{window.history.back()},className:`${n} ${t??``}`,children:[(0,b.jsx)(o,{className:`size-3`}),` Back`]}):(0,b.jsxs)(ne,{to:`/traffic`,className:`${n} ${t??``}`,children:[(0,b.jsx)(o,{className:`size-3`}),` All sources`]})}function k(){let e=ee({strict:!1}),i=e.projectName??``,a=te(),o=e.sourceId??``,[s,ne]=(0,h.useState)(Oe.value),[d,fe]=(0,h.useState)(()=>new Set([`crawler`,`ai-user-fetch`,`ai-referral`])),[f,g]=(0,h.useState)(null),[_,v]=(0,h.useState)(``),[y,E]=(0,h.useState)(``),[D,k]=(0,h.useState)(``),[N,P]=(0,h.useState)(`all`),[F,I]=(0,h.useState)(`all`),[Ie,L]=(0,h.useState)(1),[Le,Re]=(0,h.useState)(null),[ze,Be]=(0,h.useState)(null),R=(0,h.useMemo)(()=>x.find(e=>e.value===s)??Oe,[s]),Ve=(0,h.useMemo)(()=>O(d),[d]),z=be(i||null,o||null),B=_e(i||null,{kind:Ve,sourceId:o||void 0,sinceMinutes:s,limit:R.fetchLimit,granularity:R.granularity}),V=ye(i||null,o||null),H=z.data,U=B.data?.events??[],W=B.data?.totals,G=B.data?.eventRows,K=(0,h.useMemo)(()=>U.filter(e=>{switch(e.kind){case u.crawler:return d.has(`crawler`);case u[`ai-user-fetch`]:return d.has(`ai-user-fetch`);case u[`ai-referral`]:return d.has(`ai-referral`)}}),[U,d]),He=(0,h.useMemo)(()=>{let e=new Set;for(let t of U)e.add(Te(t));return _&&e.add(_),[...e].sort((e,t)=>e.localeCompare(t))},[U,_]),Ue=(0,h.useMemo)(()=>{let e=new Set;for(let t of U)e.add(t.operator);return y&&e.add(y),[...e].sort((e,t)=>e.localeCompare(t))},[U,y]),q=(0,h.useMemo)(()=>Ee(K,{selectedBucket:f,identity:_,operator:y,pathQuery:D,statusClass:N,verification:F},R.granularity),[K,f,_,y,D,N,F,R.granularity]);(0,h.useEffect)(()=>{L(1)},[K,f,_,y,D,N,F]);let J=Math.max(1,Math.ceil(q.length/S)),Y=Math.min(Math.max(1,Ie),J),X=(Y-1)*S,We=(0,h.useMemo)(()=>q.slice(X,X+S),[q,X]),Ge=q.length>S,Ke=q.length===0?0:X+1,qe=Math.min(X+S,q.length),Z=(0,h.useMemo)(()=>f?Me(f,R.granularity):null,[f,R.granularity]),Q=(0,h.useMemo)(()=>Ne(B.data?.series.points??[],R.granularity),[B.data?.series.points,R.granularity]),$=e=>{fe(t=>{let n=new Set(t);return n.has(e)?n.size>1&&n.delete(e):n.add(e),n})},Je=e=>{let t=De(e,Q);t&&g(e=>e===t?null:t)},Ye=()=>{g(null),v(``),E(``),k(``),P(`all`),I(`all`)},Xe=!!(f||_||y||D.trim()||N!==`all`||F!==`all`),Ze=async()=>{Re(null),Be(null);try{let e=await V.mutateAsync({sinceMinutes:60});Be(`Pulled ${e.pulledEvents} entries · ${e.crawlerHits} crawler · ${e.aiUserFetchHits} AI user fetch · ${e.aiUserFetchLikelyFakeHits} likely fake agent · ${e.aiReferralHits} AI referral · ${e.unknownHits} unknown`)}catch(e){Re(ve(e))}};return!i||!o?(0,b.jsx)(`div`,{className:`page-container`,children:(0,b.jsx)(`p`,{className:`text-copy-14 text-muted`,children:`Missing project name or source id in URL.`})}):z.isLoading?(0,b.jsx)(`div`,{className:`page-container`,children:(0,b.jsx)(`p`,{className:`text-copy-14 text-muted`,children:`Loading source…`})}):z.isError||!H?(0,b.jsxs)(`div`,{className:`page-container`,children:[(0,b.jsx)(`p`,{className:`text-copy-14 text-negative`,children:`Could not load this source.`}),(0,b.jsx)(je,{canGoBack:a,className:`mt-2 text-label-12 text-secondary hover:text-strong`})]}):(0,b.jsxs)(`div`,{className:`page-container space-y-8`,children:[(0,b.jsxs)(`div`,{className:`page-header`,children:[(0,b.jsxs)(`div`,{className:`page-header-left`,children:[(0,b.jsx)(je,{canGoBack:a,className:`text-label-12 text-muted hover:text-strong`}),(0,b.jsx)(`h1`,{className:`page-title mt-2`,children:H.displayName}),(0,b.jsxs)(`p`,{className:`page-subtitle`,children:[H.sourceType,` source for `,i]})]}),(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(ue,{tone:xe(H.status),children:H.status}),!de()&&(0,b.jsxs)(le,{type:`button`,variant:`outline`,size:`sm`,disabled:V.isPending,onClick:()=>void Ze(),children:[(0,b.jsx)(r,{className:`size-3.5 ${V.isPending?`animate-spin`:``}`}),V.isPending?`Syncing…`:`Sync now`]})]})]}),Le?(0,b.jsx)(`div`,{className:`rounded-md border border-negative-800/50 bg-negative-950/30 px-3 py-2 text-label-14 text-negative-200`,children:Le}):null,ze?(0,b.jsx)(`div`,{className:`rounded-md border border-positive-800/50 bg-positive-950/30 px-3 py-2 text-label-14 text-positive-200`,children:ze}):null,(0,b.jsxs)(`section`,{"aria-labelledby":`traffic-24h-heading`,children:[(0,b.jsx)(`h2`,{id:`traffic-24h-heading`,className:`mb-3 text-heading-14 text-heading`,children:`Last 24 hours`}),(0,b.jsxs)(`div`,{className:`grid grid-cols-1 divide-y divide-default border-y border-default sm:grid-cols-3 sm:divide-x sm:divide-y-0`,children:[(0,b.jsx)(M,{label:`Content crawls`,value:H.totals24h.crawlerContentHits,tooltip:`Content and document paths only. Excludes sitemap ${H.totals24h.crawlerSegments.sitemap.toLocaleString(`en-US`)}, robots ${H.totals24h.crawlerSegments.robots.toLocaleString(`en-US`)}, assets ${H.totals24h.crawlerSegments.asset.toLocaleString(`en-US`)}, and ${H.totals24h.crawlerSegments.other.toLocaleString(`en-US`)} other requests such as feeds, API paths, or downloads. Total crawler hits: ${H.totals24h.crawlerHits.toLocaleString(`en-US`)}.`}),(0,b.jsx)(M,{label:`AI user fetches`,value:H.totals24h.aiUserFetchHits,tooltip:`Requests from AI assistants fetching a page for a person (ChatGPT-User, Claude-User, Perplexity-User and others). ${Se(H.totals24h.aiUserFetchLikelyFakeHits)}`}),(0,b.jsx)(M,{label:`AI referral sessions`,value:H.totals24h.aiReferralLandedHits,tooltip:`Browser click-throughs from AI surfaces, identified by Referer or UTM evidence. Excludes ${H.totals24h.aiReferralRedirectedHits.toLocaleString(`en-US`)} request(s) answered with a redirect: a hop is not an arrival. Total including hops: ${H.totals24h.aiReferralHits.toLocaleString(`en-US`)}.`})]})]}),(0,b.jsxs)(`section`,{children:[(0,b.jsx)(`p`,{className:`eyebrow mb-4`,children:`Latest sync run`}),H.latestRun?(0,b.jsxs)(m,{className:`p-4 text-label-14`,children:[(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-6 gap-y-1.5`,children:[(0,b.jsxs)(`span`,{className:`text-heading`,children:[`Status: `,(0,b.jsx)(`span`,{className:`text-label-14-strong`,children:H.latestRun.status})]}),(0,b.jsxs)(`span`,{className:`text-muted`,children:[`Started: `,Ae(H.latestRun.startedAt)]}),H.latestRun.finishedAt?(0,b.jsxs)(`span`,{className:`text-muted`,children:[`Finished: `,Ae(H.latestRun.finishedAt)]}):null]}),(0,b.jsxs)(`details`,{className:`mt-3`,children:[(0,b.jsx)(`summary`,{className:`cursor-pointer text-label-14 text-secondary hover:text-strong`,children:`Run details`}),(0,b.jsx)(`code`,{className:`mt-2 block text-label-12 text-muted`,children:H.latestRun.runId})]}),H.latestRun.error?(0,b.jsx)(`p`,{className:`mt-2 rounded border border-negative-900/40 bg-negative-950/30 px-3 py-2 text-copy-13 text-negative`,children:H.latestRun.error}):null]}):(0,b.jsx)(m,{className:`px-4 py-3 text-label-14 text-muted`,children:de()?`No traffic-sync runs recorded yet.`:`No traffic-sync runs recorded yet. Hit "Sync now" above to create one.`})]}),(0,b.jsxs)(`section`,{children:[(0,b.jsxs)(`div`,{className:`mb-4 flex flex-wrap items-end justify-between gap-x-4 gap-y-3`,children:[(0,b.jsxs)(`div`,{children:[(0,b.jsx)(`p`,{className:`text-label-12-strong normal-case text-muted`,children:`Events`}),(0,b.jsx)(`h2`,{className:`mt-1 text-heading-16 text-primary`,children:R.granularity===`day`?`Daily rollups`:`Hourly rollups`}),W?(0,b.jsxs)(`p`,{className:`mt-1.5 text-copy-13 text-muted`,children:[W.crawlerContentHits.toLocaleString(`en-US`),` content crawls ·`,` `,W.crawlerInfraHits.toLocaleString(`en-US`),` infra (sitemap/robots/assets) ·`,` `,W.aiUserFetchHits.toLocaleString(`en-US`),` AI user fetches ·`,` `,W.aiReferralLandedHits.toLocaleString(`en-US`),` AI referral sessions · last `,R.label,` · `,ke]}):null]}),(0,b.jsx)(`div`,{className:`inline-flex rounded-md border border-base p-0.5`,role:`toolbar`,"aria-label":`Window`,children:x.map(e=>(0,b.jsx)(`button`,{type:`button`,className:`rounded px-2.5 py-1 text-button-14 ${s===e.value?`bg-bg-elevated text-heading`:`text-secondary hover:text-strong`}`,"aria-pressed":s===e.value,onClick:()=>{ne(e.value),g(null)},children:e.label},e.value))})]}),(0,b.jsxs)(m,{className:`p-4`,children:[(0,b.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center gap-2`,role:`toolbar`,"aria-label":`Series`,children:[(0,b.jsx)(j,{label:`Crawler`,color:C,count:W?.crawlerHits??0,active:d.has(`crawler`),onToggle:()=>$(`crawler`)}),(0,b.jsx)(j,{label:`AI user fetches`,color:w,count:W?.aiUserFetchHits??0,active:d.has(`ai-user-fetch`),onToggle:()=>$(`ai-user-fetch`)}),(0,b.jsx)(j,{label:`AI referral sessions`,color:T,count:W?.aiReferralLandedHits??0,active:d.has(`ai-referral`),onToggle:()=>$(`ai-referral`)})]}),B.isError?(0,b.jsxs)(`p`,{className:`py-12 text-center text-copy-13 text-negative-400`,children:[`Failed to load events: `,B.error instanceof Error?B.error.message:`Unknown error`]}):B.isLoading?(0,b.jsx)(`p`,{className:`py-12 text-center text-copy-13 text-muted`,children:`Loading events…`}):Q.length===0?(0,b.jsx)(`p`,{className:`py-12 text-center text-copy-13 text-muted`,children:`No events in this window.`}):(0,b.jsx)(`div`,{className:`h-72`,children:(0,b.jsx)(oe,{children:(0,b.jsxs)(se,{data:Q,margin:{top:4,right:4,bottom:0,left:0},onClick:Je,style:{cursor:`pointer`},children:[(0,b.jsx)(re,{stroke:me,strokeDasharray:`3 3`}),(0,b.jsx)(ae,{dataKey:`label`,tick:pe,stroke:ge,interval:`preserveStartEnd`,minTickGap:R.granularity===`day`?24:32}),(0,b.jsx)(ce,{tick:pe,stroke:ge,allowDecimals:!1}),(0,b.jsx)(ie,{...he}),d.has(`crawler`)?(0,b.jsx)(c,{dataKey:`crawler`,name:`Crawler`,fill:C,stackId:`a`,children:Q.map(e=>(0,b.jsx)(l,{fillOpacity:f&&f!==e.bucket?.25:1},e.bucket))}):null,d.has(`ai-user-fetch`)?(0,b.jsx)(c,{dataKey:`aiUserFetch`,name:`AI user fetch`,fill:w,stackId:`a`,children:Q.map(e=>(0,b.jsx)(l,{fillOpacity:f&&f!==e.bucket?.25:1},e.bucket))}):null,d.has(`ai-referral`)?(0,b.jsx)(c,{dataKey:`aiReferral`,name:`AI referral`,fill:T,stackId:`a`,children:Q.map(e=>(0,b.jsx)(l,{fillOpacity:f&&f!==e.bucket?.25:1},e.bucket))}):null]})})})]})]}),(0,b.jsxs)(`section`,{children:[(0,b.jsxs)(`div`,{className:`mb-4 flex flex-wrap items-end justify-between gap-x-4 gap-y-2`,children:[(0,b.jsxs)(`div`,{children:[(0,b.jsx)(`p`,{className:`text-label-12-strong normal-case text-muted`,children:`Event rows`}),(0,b.jsxs)(`p`,{className:`mt-1 text-copy-13 text-muted`,children:[`Showing `,(0,b.jsx)(`span`,{className:`tabular-nums text-neutral`,children:q.length.toLocaleString(`en-US`)}),` of`,` `,(0,b.jsx)(`span`,{className:`tabular-nums text-muted`,children:K.length.toLocaleString(`en-US`)}),` `,G?.truncated?`loaded events`:`events`,G?.truncated?(0,b.jsxs)(b.Fragment,{children:[` `,`· loaded `,(0,b.jsx)(`span`,{className:`tabular-nums text-neutral`,children:G.returned.toLocaleString(`en-US`)}),` of`,` `,(0,b.jsx)(`span`,{className:`tabular-nums text-muted`,children:G.total.toLocaleString(`en-US`)}),` rows`]}):null,` `,`· `,ke]})]}),(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,b.jsxs)(`span`,{className:`inline-flex items-center text-secondary`,children:[(0,b.jsxs)(`select`,{"aria-label":`Filter by identity`,value:_,onChange:e=>v(e.target.value),className:`rounded-md border border-base bg-bg px-2.5 py-1.5 text-label-12 text-strong focus:outline-none focus-visible:ring-1 focus-visible:ring-mono-600`,children:[(0,b.jsx)(`option`,{value:``,children:`All identities`}),He.map(e=>(0,b.jsx)(`option`,{value:e,children:e},e))]}),(0,b.jsx)(p,{text:`The specific bot or AI product making the request (e.g., GPTBot, ChatGPT-User, Perplexity). One operator usually runs several identities.`})]}),(0,b.jsxs)(`span`,{className:`inline-flex items-center text-secondary`,children:[(0,b.jsxs)(`select`,{"aria-label":`Filter by operator`,value:y,onChange:e=>E(e.target.value),className:`rounded-md border border-base bg-bg px-2.5 py-1.5 text-label-12 text-strong focus:outline-none focus-visible:ring-1 focus-visible:ring-mono-600`,children:[(0,b.jsx)(`option`,{value:``,children:`All operators`}),Ue.map(e=>(0,b.jsx)(`option`,{value:e,children:e},e))]}),(0,b.jsx)(p,{text:`The company that runs the bot or product (e.g., OpenAI, Anthropic, Perplexity). Filtering by operator includes every identity under that company.`})]}),(0,b.jsx)(`select`,{"aria-label":`Filter by HTTP status class`,value:N,onChange:e=>P(e.target.value),className:`rounded-md border border-base bg-bg px-2.5 py-1.5 text-label-12 text-strong focus:outline-none focus-visible:ring-1 focus-visible:ring-mono-600`,children:Ce.map(e=>(0,b.jsx)(`option`,{value:e.value,children:e.label},e.value))}),(0,b.jsx)(`select`,{"aria-label":`Filter by verification claim`,value:F,onChange:e=>I(e.target.value),className:`rounded-md border border-base bg-bg px-2.5 py-1.5 text-label-12 text-strong focus:outline-none focus-visible:ring-1 focus-visible:ring-mono-600`,children:we.map(e=>(0,b.jsx)(`option`,{value:e.value,children:e.label},e.value))}),(0,b.jsx)(`input`,{type:`search`,"aria-label":`Filter by path`,placeholder:`path contains…`,value:D,onChange:e=>k(e.target.value),className:`w-44 rounded-md border border-base bg-bg px-2.5 py-1.5 text-label-12 text-strong placeholder:text-faint focus:outline-none focus-visible:ring-1 focus-visible:ring-mono-600`})]})]}),Xe?(0,b.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center gap-2`,children:[Z?(0,b.jsx)(A,{label:`Bucket: ${Z}`,onClear:()=>g(null)}):null,_?(0,b.jsx)(A,{label:`Identity: ${_}`,onClear:()=>v(``)}):null,y?(0,b.jsx)(A,{label:`Operator: ${y}`,onClear:()=>E(``)}):null,D.trim()?(0,b.jsx)(A,{label:`Path: ${D.trim()}`,onClear:()=>k(``)}):null,N===`all`?null:(0,b.jsx)(A,{label:`Status: ${N}`,onClear:()=>P(`all`)}),F===`all`?null:(0,b.jsx)(A,{label:`Claim: ${Pe(F)}`,onClear:()=>I(`all`)}),(0,b.jsx)(`button`,{type:`button`,onClick:Ye,className:`text-button-14 text-muted underline-offset-4 hover:text-strong hover:underline`,children:`Clear all`})]}):null,(0,b.jsx)(Fe,{events:We,truncated:G?.truncated??!1}),Ge?(0,b.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center justify-between gap-x-4 gap-y-2 text-label-12 text-secondary`,children:[(0,b.jsxs)(`p`,{className:`tabular-nums`,children:[`Showing `,(0,b.jsx)(`span`,{className:`text-neutral`,children:Ke.toLocaleString(`en-US`)}),`–`,(0,b.jsx)(`span`,{className:`text-neutral`,children:qe.toLocaleString(`en-US`)}),` of`,` `,(0,b.jsx)(`span`,{className:`text-neutral`,children:q.length.toLocaleString(`en-US`)}),` events`]}),(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(`button`,{type:`button`,onClick:()=>L(e=>Math.max(1,e-1)),disabled:Y<=1,"aria-label":`Previous page`,className:`inline-flex items-center gap-1 rounded-md border border-base bg-bg px-2.5 py-1.5 text-strong transition hover:border-strong hover:text-primary disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:border-base disabled:hover:text-strong`,children:[(0,b.jsx)(n,{className:`size-3.5`}),`Prev`]}),(0,b.jsxs)(`span`,{className:`tabular-nums`,children:[`Page `,(0,b.jsx)(`span`,{className:`text-strong`,children:Y}),` of`,` `,(0,b.jsx)(`span`,{className:`text-strong`,children:J})]}),(0,b.jsxs)(`button`,{type:`button`,onClick:()=>L(e=>Math.min(J,e+1)),disabled:Y>=J,"aria-label":`Next page`,className:`inline-flex items-center gap-1 rounded-md border border-base bg-bg px-2.5 py-1.5 text-strong transition hover:border-strong hover:text-primary disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:border-base disabled:hover:text-strong`,children:[`Next`,(0,b.jsx)(t,{className:`size-3.5`})]})]})]}):null]}),(0,b.jsxs)(`details`,{className:`border-t border-default pt-4`,children:[(0,b.jsx)(`summary`,{className:`cursor-pointer text-label-14 text-secondary hover:text-strong`,children:`How traffic is classified`}),(0,b.jsx)(`p`,{className:`mt-2 max-w-3xl text-copy-14 text-secondary`,children:`Crawler requests, AI user fetches, and referrals are recorded separately. Filters expose the underlying evidence.`})]})]})}function Me(e,t){return t===`day`?D(e):E(e)}function Ne(e,t){return e.map(e=>({bucket:e.bucket,label:Me(e.bucket,t),crawler:e.crawlerHits,aiUserFetch:e.aiUserFetchHits,aiReferral:e.aiReferralLandedHits}))}function Pe(e){return we.find(t=>t.value===e)?.label??e}function A({label:e,onClear:t}){return(0,b.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded border border-strong bg-surface-inset px-2.5 py-1 text-label-14 text-strong`,children:[e,(0,b.jsx)(`button`,{type:`button`,onClick:t,"aria-label":`Clear ${e}`,className:`rounded p-0.5 text-secondary hover:bg-mono-700/60 hover:text-heading`,children:(0,b.jsx)(a,{className:`size-3`})})]})}function j({label:e,color:t,count:n,active:r,onToggle:i}){return(0,b.jsxs)(`button`,{type:`button`,onClick:i,"aria-pressed":r,className:`inline-flex items-center gap-2 rounded border px-3 py-1.5 text-button-14 transition ${r?`border-strong bg-surface-inset text-heading`:`border-base bg-transparent text-muted hover:text-neutral`}`,children:[(0,b.jsx)(`span`,{"aria-hidden":`true`,className:`flex size-3 items-center justify-center rounded-sm border transition-opacity ${r?`border-transparent opacity-100`:`border-strong opacity-60`}`,style:r?{backgroundColor:t}:void 0,children:r?`✓`:``}),(0,b.jsx)(`span`,{children:e}),(0,b.jsx)(`span`,{className:`tabular-nums ${r?`text-secondary`:`text-faint`}`,children:n.toLocaleString(`en-US`)})]})}function M({label:e,value:t,tooltip:n}){return(0,b.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,b.jsxs)(`p`,{className:`flex items-center gap-1 text-copy-14 text-secondary`,children:[e,n?(0,b.jsx)(p,{text:n}):null]}),(0,b.jsx)(`p`,{className:`mt-1 text-copy-24-strong tabular-nums text-heading`,children:t.toLocaleString(`en-US`)})]})}function N(e){switch(e){case u.crawler:return`Crawler`;case u[`ai-user-fetch`]:return`AI hit`;case u[`ai-referral`]:return`AI referral`}}function P(e){switch(e.kind){case u.crawler:case u[`ai-user-fetch`]:return e.botId;case u[`ai-referral`]:return e.product}}function F(e){switch(e.kind){case u.crawler:case u[`ai-user-fetch`]:return`${e.verificationStatus} · HTTP ${e.status}`;case u[`ai-referral`]:return`${e.evidenceType} · ${e.sourceDomain}`}}function Fe({events:e,truncated:t=!1}){return e.length===0?(0,b.jsx)(m,{className:`p-6 text-center text-label-14 text-muted`,children:t?`No matches in the rows loaded so far. More rows exist beyond the load limit, so narrow the time window to search them.`:`No event rows match the current filters.`}):(0,b.jsx)(`div`,{className:`material-base overflow-hidden`,children:(0,b.jsxs)(`table`,{className:`w-full text-label-14`,children:[(0,b.jsx)(`thead`,{className:`bg-bg-elevated/50 text-label-12-strong normal-case text-muted`,children:(0,b.jsxs)(`tr`,{children:[(0,b.jsx)(`th`,{className:`px-4 py-2 text-left`,children:`Hour`}),(0,b.jsx)(`th`,{className:`px-4 py-2 text-left`,children:`Kind`}),(0,b.jsx)(`th`,{className:`px-4 py-2 text-left`,children:`Identity`}),(0,b.jsx)(`th`,{className:`px-4 py-2 text-left`,children:`Evidence / status`}),(0,b.jsx)(`th`,{className:`px-4 py-2 text-left`,children:`Path`}),(0,b.jsx)(`th`,{className:`px-4 py-2 text-right`,children:(0,b.jsxs)(`span`,{className:`inline-flex items-center`,children:[`Hits`,(0,b.jsx)(p,{text:`Each row is one hour-bucket, not one request. Hits is the number of requests in that hour that shared the same identity, path, HTTP status, and verification claim.`})]})})]})}),(0,b.jsx)(`tbody`,{className:`divide-y divide-mono-800/60`,children:e.map((e,t)=>(0,b.jsxs)(`tr`,{className:`hover:bg-bg-elevated/40 transition-colors`,children:[(0,b.jsx)(`td`,{className:`px-4 py-2 text-label-12-mono text-neutral`,children:E(e.tsHour)}),(0,b.jsx)(`td`,{className:`px-4 py-2 text-neutral`,children:N(e.kind)}),(0,b.jsxs)(`td`,{className:`px-4 py-2 text-heading`,children:[P(e),(0,b.jsx)(`span`,{className:`ml-2 text-label-12 text-muted`,children:e.operator})]}),(0,b.jsx)(`td`,{className:`px-4 py-2 text-neutral`,children:F(e)}),(0,b.jsx)(`td`,{className:`px-4 py-2 truncate text-label-12-mono text-neutral`,children:_(e)}),(0,b.jsx)(`td`,{className:`px-4 py-2 text-right tabular-nums text-heading`,children:e.hits})]},`${e.kind}:${e.tsHour}:${t}`))})]})})}export{Fe as EventsTable,M as TrafficKpi,k as TrafficSourceDetailPage,O as trafficFetchKind};
|