@canonry/canonry 7.66.0 → 7.67.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/aero/references/seo-analysis.md +2 -2
- package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +2 -2
- package/assets/assets/{AgentSetupPage-DXFxOJ1W.js → AgentSetupPage-ORsy3QEa.js} +3 -3
- package/assets/assets/{AuditHistoryPanel-CS8UfTHc.js → AuditHistoryPanel-vTHZDbfs.js} +1 -1
- package/assets/assets/{BacklinksPage-D5IA2tNY.js → BacklinksPage-FqADB5sO.js} +1 -1
- package/assets/assets/{HistoryPage-DsQAUkgR.js → HistoryPage-C4l5Toqa.js} +1 -1
- package/assets/assets/MeasurementPropertyPage-x8f7xanT.js +4 -0
- package/assets/assets/ProjectPage-CG9I2-B4.js +9 -0
- package/assets/assets/{RunsPage-BgjN1N3t.js → RunsPage-oyhhwAPq.js} +1 -1
- package/assets/assets/{SettingsPage-BQuqnEvm.js → SettingsPage-DJc4Di1M.js} +1 -1
- package/assets/assets/SiteHealthSection-BvqFg3rG.js +2 -0
- package/assets/assets/{ToneBadge-DNva5_AM.js → ToneBadge-CTWpeKu8.js} +1 -1
- package/assets/assets/{TrafficPage-BBqpvwl5.js → TrafficPage-DAD0FFkL.js} +1 -1
- package/assets/assets/TrafficSourceDetailPage-BBEzbawh.js +1 -0
- package/assets/assets/{account-context-wRthfm6K.js → account-context-DMHOefRt.js} +1 -1
- package/assets/assets/{card-Bq64-UB5.js → card-Brp6fFNG.js} +1 -1
- package/assets/assets/{extract-error-message-BRDc8As2.js → extract-error-message-5QpQCsGb.js} +1 -1
- package/assets/assets/{format-helpers-D5wFtgg2.js → format-helpers-BFM0FRjT.js} +1 -1
- package/assets/assets/index-BBNs-RhI.js +60 -0
- package/assets/assets/{query-client-IopmAOx0.js → query-client-BMTW-xss.js} +1 -1
- package/assets/assets/react-query-DGmY6hJa.js +1 -0
- package/assets/assets/{react-sigma_core.esm.min-d72rX0Uo.js → react-sigma_core.esm.min-C0VjhgDo.js} +1 -1
- package/assets/assets/service-DW9u_0aZ.js +1 -0
- package/assets/index.html +7 -7
- package/dist/{ads-IFKZU7SC.js → ads-BXGEL4WI.js} +3 -3
- package/dist/{agent-3KMENHL3.js → agent-LFX7GHWD.js} +7 -7
- package/dist/{agent-ask-7WVQLLD5.js → agent-ask-QJV225AT.js} +3 -3
- package/dist/{agent-conversations-5LR67TBD.js → agent-conversations-2TZDIGA6.js} +3 -3
- package/dist/{agent-memory-GKUCCKVX.js → agent-memory-XCY3ZG5C.js} +3 -3
- package/dist/{agent-providers-TVCRM3YZ.js → agent-providers-VS6PH55Y.js} +3 -3
- package/dist/{agent-transcript-MUTCOOWG.js → agent-transcript-BUUHOTZM.js} +3 -3
- package/dist/{analytics-2IXSG5ML.js → analytics-YWJWPUNF.js} +3 -3
- package/dist/{apply-7RIYK4VC.js → apply-BMCYFBEJ.js} +3 -3
- package/dist/{backfill-VU3FV6DQ.js → backfill-YBOKT5LT.js} +9 -9
- package/dist/{backlinks-DLSRYEX2.js → backlinks-QNNABB4N.js} +3 -3
- package/dist/{bing-4CXTZUH4.js → bing-KEMXBABP.js} +3 -3
- package/dist/{bootstrap-OOHSBSDQ.js → bootstrap-X2AADK4M.js} +10 -10
- package/dist/{cdp-Y53SRSRV.js → cdp-WVYUEV4U.js} +7 -7
- package/dist/{chunk-J5YZXRD5.js → chunk-2X7DFLMD.js} +8 -8
- package/dist/{chunk-FG7KMVA6.js → chunk-32BTTG5N.js} +5 -5
- package/dist/{chunk-ALQEGGYM.js → chunk-37R6GTU7.js} +4 -4
- package/dist/{chunk-OSF27DCY.js → chunk-5DMESZDF.js} +2 -2
- package/dist/{chunk-JALKQREN.js → chunk-6DJN7HCK.js} +83 -11
- package/dist/{chunk-ZRSNMEB3.js → chunk-AFRCTLUL.js} +342 -337
- package/dist/{chunk-JYOMHNRP.js → chunk-AVISYPUU.js} +702 -465
- package/dist/{chunk-743NYXIK.js → chunk-CBYKQRDH.js} +2 -2
- package/dist/{chunk-QRBZBJ4U.js → chunk-EKSXR7RJ.js} +1 -1
- package/dist/{chunk-K2HDTMRI.js → chunk-G6PZEDTH.js} +3 -3
- package/dist/{chunk-DE2UI37M.js → chunk-GTPGYFZ4.js} +2 -2
- package/dist/{chunk-BCRRAH5C.js → chunk-HX3WLTZU.js} +1 -1
- package/dist/{chunk-AVQQRTMD.js → chunk-IEBMODUI.js} +72 -33
- package/dist/{chunk-L7DQYID4.js → chunk-KJLICF53.js} +4 -4
- package/dist/{chunk-CKTA5374.js → chunk-LU3M54IY.js} +1 -1
- package/dist/{chunk-LBRG6RKI.js → chunk-MD5PHJBX.js} +1 -1
- package/dist/{chunk-6ASEI24F.js → chunk-MLOGEXIO.js} +1 -1
- package/dist/{chunk-XC44Q5XR.js → chunk-MOJ2XZXK.js} +1 -1
- package/dist/{chunk-YJYLFIVT.js → chunk-NHHZQWMI.js} +1 -1
- package/dist/{chunk-H37CDAZX.js → chunk-P74TPIWZ.js} +2 -2
- package/dist/{chunk-IPF2S5G2.js → chunk-RRS7U6HQ.js} +4 -4
- package/dist/{chunk-SGZWOUIZ.js → chunk-UHLWNU6I.js} +5 -5
- package/dist/{chunk-EYWC24VC.js → chunk-UNCOK6DA.js} +1 -1
- package/dist/{chunk-YRX5UOM3.js → chunk-UXTNDZKM.js} +1 -1
- package/dist/{chunk-VGUZPC3I.js → chunk-VR4MYSEH.js} +3 -3
- package/dist/{chunk-2YBEI6LE.js → chunk-WSYLDPYF.js} +1 -1
- package/dist/{chunk-TJZLICMB.js → chunk-WZ4LUM26.js} +3 -3
- package/dist/{chunk-WNCOBSPN.js → chunk-XEGYSZEV.js} +19 -3
- package/dist/{chunk-EIMXB6UH.js → chunk-XEPEMON2.js} +2 -2
- package/dist/{chunk-DVYS2RMM.js → chunk-XIA6NWIF.js} +4 -4
- package/dist/{chunk-PFKBQTYD.js → chunk-XMIKSCAO.js} +1 -1
- package/dist/{chunk-DH5QRKFW.js → chunk-Y54PMWBH.js} +3 -3
- package/dist/{chunk-FNI3QSVD.js → chunk-YP743QX5.js} +1 -1
- package/dist/{chunk-IHOVPHUW.js → chunk-ZGUR4AZM.js} +2 -2
- package/dist/{citations-ZTQIYYDB.js → citations-ZSI5BOGD.js} +3 -3
- package/dist/{cli-catalog-IZJXAHFQ.js → cli-catalog-J2HUCGJL.js} +3 -3
- package/dist/{cli-commands-XYM2VMAK.js → cli-commands-XFMVFREG.js} +7 -7
- package/dist/cli.js +13 -13
- package/dist/{competitor-SIXAPHOM.js → competitor-WJDN3DLP.js} +3 -3
- package/dist/{content-XPS3D3Y6.js → content-K52YV4BK.js} +3 -3
- package/dist/{dashboard-FMJDM5PA.js → dashboard-L6RKTP35.js} +6 -6
- package/dist/{demo-QQKSHTPO.js → demo-Y7XRD4X4.js} +1 -1
- package/dist/{demo-server-LQ3QXUAS.js → demo-server-QNQX5CNP.js} +13 -11
- package/dist/{discover-K5HFEU2T.js → discover-UO5M7HQZ.js} +3 -3
- package/dist/{discover-eval-6536Z2YN.js → discover-eval-DN4PS6VN.js} +3 -3
- package/dist/{doctor-STNH3PHH.js → doctor-7UYUXG7J.js} +3 -3
- package/dist/{evidence-W2EWKBAV.js → evidence-DGKN5SGQ.js} +3 -3
- package/dist/{export-cmd-EGHMY3M6.js → export-cmd-QAQWWIRL.js} +3 -3
- package/dist/{ga-DVIG3PVW.js → ga-4LGTEA6J.js} +3 -3
- package/dist/{gbp-SNS4XZBO.js → gbp-XOLYZ4XC.js} +3 -3
- package/dist/{google-KGPHZG6E.js → google-CAQDCFA6.js} +4 -4
- package/dist/{google-marketing-VZR6W3L6.js → google-marketing-HU5I3XPP.js} +1 -1
- package/dist/{health-cmd-2KWO2GOM.js → health-cmd-3PEB3M45.js} +3 -3
- package/dist/{history-ZY27B7JE.js → history-UGUWYPOY.js} +3 -3
- package/dist/index.d.ts +109 -3
- package/dist/index.js +24 -24
- package/dist/{init-5TXIKII2.js → init-DEW65BLN.js} +11 -11
- package/dist/{insights-MUYEOSOG.js → insights-ZC3R4ZYG.js} +3 -3
- package/dist/intelligence-service-XRJVXZYI.js +15 -0
- package/dist/{journeys-YO54IRVC.js → journeys-W6F4BCXF.js} +3 -3
- package/dist/{keys-M4QZGYVJ.js → keys-ME7VRF73.js} +3 -3
- package/dist/{keyword-MU62MGWT.js → keyword-R3PLGSO5.js} +3 -3
- package/dist/{logs-BAQM334Q.js → logs-UM7CWHYB.js} +3 -3
- package/dist/{mcp-LYS5P3PB.js → mcp-BUPP5HC6.js} +2 -2
- package/dist/mcp.js +9 -9
- package/dist/{measurement-plan-HVSTZWTW.js → measurement-plan-R4KZHJII.js} +5 -5
- package/dist/{notify-XSP5JXU3.js → notify-4C26D2MY.js} +3 -3
- package/dist/{organic-evidence-4HYW4PVO.js → organic-evidence-SLIISYHW.js} +3 -3
- package/dist/{overview-XH72WTZT.js → overview-JJZZOYQU.js} +4 -4
- package/dist/{project-UKH7FTQX.js → project-XJH2OECP.js} +3 -3
- package/dist/{query-RRD5M4QV.js → query-ZWAIWIYB.js} +3 -3
- package/dist/{research-V2IGDUKL.js → research-GTVWVZBI.js} +3 -3
- package/dist/{results-export-5FC7ZT6O.js → results-export-CPAWO5AV.js} +3 -3
- package/dist/{run-B2A4LMWU.js → run-RI2BMD7U.js} +4 -4
- package/dist/{schedule-PLY6CHQT.js → schedule-HDDWULBX.js} +3 -3
- package/dist/{search-ACVK3WH5.js → search-TT3Q2BBP.js} +3 -3
- package/dist/{serve-2LTQZPEK.js → serve-6JYPUU24.js} +25 -25
- package/dist/{session-IHXMPETX.js → session-DDESFV3N.js} +12 -12
- package/dist/{settings-ZHBNX2I5.js → settings-4AYXYJVA.js} +3 -3
- package/dist/{skills-KWRTCXTF.js → skills-UFMLMMY5.js} +2 -2
- package/dist/{snapshot-GBDCCV6L.js → snapshot-KLWQGZB6.js} +3 -3
- package/dist/{src-NOTQWGYV.js → src-6IHGEMT2.js} +6 -2
- package/dist/{status-FGDDGBMJ.js → status-HRIUPGUM.js} +4 -4
- package/dist/{technical-aeo-AK4QI63Q.js → technical-aeo-HKJQHMMS.js} +3 -3
- package/dist/{telemetry-6QPWYMCR.js → telemetry-IS6KZK32.js} +4 -4
- package/dist/{tools-PBNTVVN7.js → tools-ZNVQFEAX.js} +11 -11
- package/dist/{traffic-AS4PIOQL.js → traffic-PFHFGN44.js} +5 -5
- package/dist/{users-BNYKF35J.js → users-BSLUSU6W.js} +3 -3
- package/dist/{visibility-stats-TWL3GJMD.js → visibility-stats-MPRNHPZW.js} +3 -3
- package/dist/{wordpress-XBWXAACD.js → wordpress-U5XKHURL.js} +3 -3
- package/package.json +1 -1
- package/assets/assets/MeasurementPropertyPage-CdCnjCaS.js +0 -4
- package/assets/assets/ProjectPage-D3oFKnBG.js +0 -9
- package/assets/assets/SiteHealthSection-C6QE9xNk.js +0 -2
- package/assets/assets/TrafficSourceDetailPage-uxd0ojry.js +0 -1
- package/assets/assets/index-Ttz5_bL3.js +0 -60
- package/assets/assets/react-query-CISHjSch.js +0 -1
- package/assets/assets/service-DsDxSQuN.js +0 -1
- package/dist/intelligence-service-U4NSGZUH.js +0 -15
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XEPEMON2.js";
|
|
4
4
|
import {
|
|
5
5
|
emitJsonl
|
|
6
6
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
formatMicros,
|
|
20
20
|
formatRunErrorOneLine,
|
|
21
21
|
resolveProviderInput
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-XEGYSZEV.js";
|
|
23
23
|
|
|
24
24
|
// src/commands/run.ts
|
|
25
25
|
function getClient() {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XEPEMON2.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-LU3M54IY.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-XEGYSZEV.js";
|
|
41
41
|
|
|
42
42
|
// src/commands/measurement-plan.ts
|
|
43
43
|
import crypto from "crypto";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
trackIntegrationConnection
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-RRS7U6HQ.js";
|
|
4
4
|
import {
|
|
5
5
|
cliRuntimeContext
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ZGUR4AZM.js";
|
|
7
7
|
|
|
8
8
|
// src/cli-connection-telemetry.ts
|
|
9
9
|
function trackCliConnection(properties) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
answerServiceAdapters,
|
|
3
3
|
answerServiceDescriptors
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-XMIKSCAO.js";
|
|
5
5
|
import {
|
|
6
6
|
AeroLlmUsageFeatures,
|
|
7
7
|
aeroTurnStatus,
|
|
@@ -27,14 +27,14 @@ import {
|
|
|
27
27
|
resolveConfiguredAgentProvider,
|
|
28
28
|
resolveSessionProviderAndModel,
|
|
29
29
|
setAeroSystemPrompt
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-32BTTG5N.js";
|
|
31
31
|
import {
|
|
32
32
|
AeroToolProfiles,
|
|
33
33
|
AeroToolScopes,
|
|
34
34
|
buildAeroStateTools,
|
|
35
35
|
isAeroToolProfile,
|
|
36
36
|
truncateToolResult
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-XIA6NWIF.js";
|
|
38
38
|
import {
|
|
39
39
|
getGoogleAuthConfig,
|
|
40
40
|
getGoogleConnection,
|
|
@@ -53,7 +53,7 @@ import {
|
|
|
53
53
|
removeCloudflareTrafficConnection,
|
|
54
54
|
removeCloudflareTrafficConnectionBySourceId,
|
|
55
55
|
upsertCloudflareTrafficConnection
|
|
56
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-YP743QX5.js";
|
|
57
57
|
import {
|
|
58
58
|
claudeAdapter,
|
|
59
59
|
embedQueries,
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
openaiAdapter,
|
|
65
65
|
openrouterAdapter,
|
|
66
66
|
perplexityAdapter
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-5DMESZDF.js";
|
|
68
68
|
import {
|
|
69
69
|
classifyUsageSurface,
|
|
70
70
|
createApiUsageTelemetry,
|
|
@@ -76,7 +76,7 @@ import {
|
|
|
76
76
|
startOutcomeTimer,
|
|
77
77
|
trackFeatureCompleted,
|
|
78
78
|
trackInstallState
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-RRS7U6HQ.js";
|
|
80
80
|
import {
|
|
81
81
|
isLoopbackBindHost
|
|
82
82
|
} from "./chunk-TSENU4GG.js";
|
|
@@ -84,7 +84,7 @@ import {
|
|
|
84
84
|
isApiProviderRegistrable,
|
|
85
85
|
isCdpProviderRegistrable,
|
|
86
86
|
registeredProviderNames
|
|
87
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-NHHZQWMI.js";
|
|
88
88
|
import {
|
|
89
89
|
checkLatestVersionForServer,
|
|
90
90
|
getOrCreateAnonymousId,
|
|
@@ -95,17 +95,17 @@ import {
|
|
|
95
95
|
recordDashboardEvent,
|
|
96
96
|
setTelemetryPreference,
|
|
97
97
|
trackEvent
|
|
98
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-ZGUR4AZM.js";
|
|
99
99
|
import {
|
|
100
100
|
createCanonryMcpServer
|
|
101
|
-
} from "./chunk-
|
|
101
|
+
} from "./chunk-VR4MYSEH.js";
|
|
102
102
|
import {
|
|
103
103
|
CANONRY_MCP_TIERS,
|
|
104
104
|
CANONRY_MCP_TOOLKIT_NAMES
|
|
105
105
|
} from "./chunk-NDTU7FGL.js";
|
|
106
106
|
import {
|
|
107
107
|
ApiClient
|
|
108
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-XEPEMON2.js";
|
|
109
109
|
import {
|
|
110
110
|
AGENT_PROVIDERS,
|
|
111
111
|
adapterSupportsBatch,
|
|
@@ -136,21 +136,21 @@ import {
|
|
|
136
136
|
saveConfigPatch,
|
|
137
137
|
sentimentInstallReadiness,
|
|
138
138
|
updateSharedProviderExecutionGate
|
|
139
|
-
} from "./chunk-
|
|
139
|
+
} from "./chunk-UNCOK6DA.js";
|
|
140
140
|
import {
|
|
141
141
|
getBundledSkillSnapshots
|
|
142
|
-
} from "./chunk-
|
|
142
|
+
} from "./chunk-MLOGEXIO.js";
|
|
143
143
|
import {
|
|
144
144
|
computeFactorAverages,
|
|
145
145
|
deleteSiteCrawlGraphLayout,
|
|
146
146
|
persistSiteCrawlGraphLayout,
|
|
147
147
|
prepareSiteCrawlGraphLayout,
|
|
148
148
|
recordedSharePct
|
|
149
|
-
} from "./chunk-
|
|
149
|
+
} from "./chunk-P74TPIWZ.js";
|
|
150
150
|
import {
|
|
151
151
|
CanonryMcpToolNames,
|
|
152
152
|
canonryMcpTools
|
|
153
|
-
} from "./chunk-
|
|
153
|
+
} from "./chunk-37R6GTU7.js";
|
|
154
154
|
import {
|
|
155
155
|
PACKAGE_VERSION
|
|
156
156
|
} from "./chunk-AOJU5LKX.js";
|
|
@@ -162,11 +162,11 @@ import {
|
|
|
162
162
|
addLogListener,
|
|
163
163
|
createFastifyLogger,
|
|
164
164
|
createLogger
|
|
165
|
-
} from "./chunk-
|
|
165
|
+
} from "./chunk-UHLWNU6I.js";
|
|
166
166
|
import {
|
|
167
167
|
computeCitedCompetitorDomains,
|
|
168
168
|
determineCitationState
|
|
169
|
-
} from "./chunk-
|
|
169
|
+
} from "./chunk-EKSXR7RJ.js";
|
|
170
170
|
import {
|
|
171
171
|
BingApiError,
|
|
172
172
|
CC_CACHE_DIR,
|
|
@@ -286,7 +286,7 @@ import {
|
|
|
286
286
|
webhookResponseReason,
|
|
287
287
|
webhookTargetRefusalReason,
|
|
288
288
|
writeAuditLog
|
|
289
|
-
} from "./chunk-
|
|
289
|
+
} from "./chunk-AVISYPUU.js";
|
|
290
290
|
import {
|
|
291
291
|
OperationalLogStore,
|
|
292
292
|
SentimentIdempotencyConflict,
|
|
@@ -372,7 +372,7 @@ import {
|
|
|
372
372
|
siteLivenessState,
|
|
373
373
|
trafficSources,
|
|
374
374
|
usageCounters
|
|
375
|
-
} from "./chunk-
|
|
375
|
+
} from "./chunk-6DJN7HCK.js";
|
|
376
376
|
import {
|
|
377
377
|
AGENT_MEMORY_VALUE_MAX_BYTES,
|
|
378
378
|
AI_ENGINE_DOMAINS,
|
|
@@ -450,6 +450,7 @@ import {
|
|
|
450
450
|
SentimentOutcomes,
|
|
451
451
|
SeoAdapterOutcomes,
|
|
452
452
|
SeoCapabilities,
|
|
453
|
+
SeoMarketRankingSearchStatuses,
|
|
453
454
|
SeoProviders,
|
|
454
455
|
SeoRunStatuses,
|
|
455
456
|
SeoTargetKinds,
|
|
@@ -620,7 +621,7 @@ import {
|
|
|
620
621
|
winnabilityClassLabel,
|
|
621
622
|
withRetry,
|
|
622
623
|
withSkippedProviders
|
|
623
|
-
} from "./chunk-
|
|
624
|
+
} from "./chunk-XEGYSZEV.js";
|
|
624
625
|
|
|
625
626
|
// src/google-marketing-runtime.ts
|
|
626
627
|
import crypto2 from "crypto";
|
|
@@ -3485,7 +3486,7 @@ function hostBelongsTo(host, target) {
|
|
|
3485
3486
|
return host === value || target.kind === SeoTargetKinds.domain && target.includeSubdomains && host.endsWith(`.${value}`);
|
|
3486
3487
|
}
|
|
3487
3488
|
var searchIdentity = (text) => text.replace(/\s+/g, " ").trim().toLowerCase();
|
|
3488
|
-
function marketRankings(rawResult, request, collectedAt) {
|
|
3489
|
+
function marketRankings(rawResult, request, collectedAt, partial) {
|
|
3489
3490
|
const search = request.search;
|
|
3490
3491
|
const target = request.target;
|
|
3491
3492
|
const searchText = request.keywords[0];
|
|
@@ -3496,6 +3497,8 @@ function marketRankings(rawResult, request, collectedAt) {
|
|
|
3496
3497
|
}
|
|
3497
3498
|
if (searchIdentity(result.keyword) !== searchIdentity(searchText)) throw new Error("SEO provider returned a different search.");
|
|
3498
3499
|
const organic = (result.items ?? []).filter((item) => serpItemTypeSchema.safeParse(item).data?.type === "organic").map((item) => serpItemSchema.parse(item)).filter((item) => item.rank_group != null);
|
|
3500
|
+
const depth = partial ? Math.min(search.depth, organic.reduce((deepest, item) => Math.max(deepest, item.rank_group), 0)) : search.depth;
|
|
3501
|
+
if (depth === 0) throw new Error("SEO provider returned no organic results for a partly collected search.");
|
|
3499
3502
|
let best = null;
|
|
3500
3503
|
const competitorRanks = /* @__PURE__ */ new Map();
|
|
3501
3504
|
const competitors2 = new Set(search.markets.flatMap((market) => market.competitors));
|
|
@@ -3519,10 +3522,11 @@ function marketRankings(rawResult, request, collectedAt) {
|
|
|
3519
3522
|
searchText,
|
|
3520
3523
|
locationLabel: search.locationLabel,
|
|
3521
3524
|
target,
|
|
3525
|
+
searchStatus: partial ? SeoMarketRankingSearchStatuses.partial : SeoMarketRankingSearchStatuses.completed,
|
|
3522
3526
|
rankOrganic: best?.rank_group ?? null,
|
|
3523
3527
|
rankAbsolute: best?.rank_absolute ?? null,
|
|
3524
3528
|
url: best?.url ?? null,
|
|
3525
|
-
depth
|
|
3529
|
+
depth,
|
|
3526
3530
|
competitors: ranked.filter((competitor) => tracked.has(competitor.domain)),
|
|
3527
3531
|
provenance: source
|
|
3528
3532
|
};
|
|
@@ -3545,11 +3549,11 @@ function keywordMetrics(item, request, collectedAt) {
|
|
|
3545
3549
|
provenance: provenance(request, collectedAt, item.keyword_info?.last_updated_time ?? null)
|
|
3546
3550
|
};
|
|
3547
3551
|
}
|
|
3548
|
-
function normalizeDataForSeoResults(rawResults, request, collectedAt) {
|
|
3552
|
+
function normalizeDataForSeoResults(rawResults, request, collectedAt, options = {}) {
|
|
3549
3553
|
const output = emptySeoResults();
|
|
3550
3554
|
if (request.capability === SeoCapabilities["market-rankings"]) {
|
|
3551
3555
|
if (rawResults.length !== 1) throw new Error("SEO provider returned an unexpected number of results pages.");
|
|
3552
|
-
output.marketRankings.push(...marketRankings(rawResults[0], request, collectedAt));
|
|
3556
|
+
output.marketRankings.push(...marketRankings(rawResults[0], request, collectedAt, options.partial === true));
|
|
3553
3557
|
return output;
|
|
3554
3558
|
}
|
|
3555
3559
|
for (const raw of rawResults) {
|
|
@@ -3634,7 +3638,35 @@ var ENDPOINTS = {
|
|
|
3634
3638
|
[SeoCapabilities["market-rankings"]]: "serp/google/organic/live/advanced"
|
|
3635
3639
|
};
|
|
3636
3640
|
var MAX_SEARCH_TEXT_LENGTH = 700;
|
|
3641
|
+
var SURCHARGED_OPERATORS = [
|
|
3642
|
+
"allinanchor:",
|
|
3643
|
+
"allintext:",
|
|
3644
|
+
"allintitle:",
|
|
3645
|
+
"allinurl:",
|
|
3646
|
+
"cache:",
|
|
3647
|
+
"define:",
|
|
3648
|
+
"definition:",
|
|
3649
|
+
"filetype:",
|
|
3650
|
+
"id:",
|
|
3651
|
+
"inanchor:",
|
|
3652
|
+
"info:",
|
|
3653
|
+
"intext:",
|
|
3654
|
+
"intitle:",
|
|
3655
|
+
"inurl:",
|
|
3656
|
+
"link:",
|
|
3657
|
+
"site:"
|
|
3658
|
+
];
|
|
3659
|
+
var OPERATOR_SURCHARGE = 5;
|
|
3660
|
+
function usesSurchargedOperator(searchText) {
|
|
3661
|
+
const text = searchText.toLowerCase();
|
|
3662
|
+
return SURCHARGED_OPERATORS.some((operator) => text.includes(operator));
|
|
3663
|
+
}
|
|
3664
|
+
function serpKeyword(searchText) {
|
|
3665
|
+
return searchText.replaceAll("%", "%25").replaceAll("+", "%2B");
|
|
3666
|
+
}
|
|
3637
3667
|
var REQUEST_REFUSALS = /* @__PURE__ */ new Set([4e4, 40006, 40100, 40104, 40200, 40203, 40205, 40206, 40207, 40210, 40501, 40502, 40503, 40506]);
|
|
3668
|
+
var PARTIAL_RESULTS = 40106;
|
|
3669
|
+
var SEARCH_ENGINE_ERROR = 40101;
|
|
3638
3670
|
function targetHost(target) {
|
|
3639
3671
|
const host = target ? normalizeHostname(target.value) : null;
|
|
3640
3672
|
if (!target || !host || !registrableDomain(host)) {
|
|
@@ -3665,7 +3697,7 @@ function marketRankingPayload(request) {
|
|
|
3665
3697
|
if (request.tag.length > 255) throw validationError("SEO task identifier is too long.");
|
|
3666
3698
|
targetHost(request.target);
|
|
3667
3699
|
return {
|
|
3668
|
-
keyword: text,
|
|
3700
|
+
keyword: serpKeyword(text),
|
|
3669
3701
|
location_code: request.locationCode,
|
|
3670
3702
|
language_code: request.languageCode,
|
|
3671
3703
|
device: search.device,
|
|
@@ -3717,7 +3749,8 @@ function taskPayload(request) {
|
|
|
3717
3749
|
function estimate(request) {
|
|
3718
3750
|
taskPayload(request);
|
|
3719
3751
|
if (request.capability === SeoCapabilities["market-rankings"]) {
|
|
3720
|
-
|
|
3752
|
+
const surcharge = usesSurchargedOperator(request.keywords[0]) ? OPERATOR_SURCHARGE : 1;
|
|
3753
|
+
return { maxCostMicros: 2e3 * (request.search.depth / 10) * surcharge, catalogRevision: "dataforseo-google-serp-live-2026-10-25-operators" };
|
|
3721
3754
|
}
|
|
3722
3755
|
const rows = request.capability === SeoCapabilities["keyword-metrics"] ? request.keywords.length : request.capability === SeoCapabilities["domain-intelligence"] ? 1 : request.limit;
|
|
3723
3756
|
return { maxCostMicros: 12e3 + 120 * rows, catalogRevision: "dataforseo-google-labs-2026-10-22" };
|
|
@@ -3759,22 +3792,27 @@ function createDataForSeoAdapter(credentials) {
|
|
|
3759
3792
|
statusCode: task.status_code,
|
|
3760
3793
|
costMicros: task.cost == null ? null : dollarsToMicros(task.cost)
|
|
3761
3794
|
}));
|
|
3762
|
-
let
|
|
3795
|
+
let complete = 0;
|
|
3796
|
+
let partial = 0;
|
|
3763
3797
|
for (const task of tasks) {
|
|
3764
|
-
|
|
3798
|
+
const partly = task.status_code === PARTIAL_RESULTS && request.capability === SeoCapabilities["market-rankings"];
|
|
3799
|
+
if (task.status_code !== 2e4 && !partly) continue;
|
|
3765
3800
|
try {
|
|
3766
|
-
appendResults(results, normalizeDataForSeoResults(task.result ?? [], request, fetchedAt2));
|
|
3767
|
-
|
|
3801
|
+
appendResults(results, normalizeDataForSeoResults(task.result ?? [], request, fetchedAt2, { partial: partly }));
|
|
3802
|
+
if (partly) partial++;
|
|
3803
|
+
else complete++;
|
|
3768
3804
|
} catch {
|
|
3769
3805
|
}
|
|
3770
3806
|
}
|
|
3771
|
-
const outcome =
|
|
3807
|
+
const outcome = complete === tasks.length ? SeoAdapterOutcomes.completed : complete + partial > 0 ? SeoAdapterOutcomes.partial : SeoAdapterOutcomes.failed;
|
|
3808
|
+
const retryable = request.capability === SeoCapabilities["market-rankings"] && outcome === SeoAdapterOutcomes.failed && receipts.every((receipt) => receipt.statusCode === SEARCH_ENGINE_ERROR && receipt.costMicros !== null);
|
|
3772
3809
|
return {
|
|
3773
3810
|
outcome,
|
|
3774
3811
|
tasks: receipts,
|
|
3775
3812
|
results,
|
|
3776
3813
|
fetchedAt: fetchedAt2,
|
|
3777
|
-
error: outcome === SeoAdapterOutcomes.completed ? null : "Some SEO provider results could not be collected."
|
|
3814
|
+
error: outcome === SeoAdapterOutcomes.completed ? null : "Some SEO provider results could not be collected.",
|
|
3815
|
+
...retryable ? { retryable: true } : {}
|
|
3778
3816
|
};
|
|
3779
3817
|
} catch (error) {
|
|
3780
3818
|
const unaccepted = error instanceof DataForSeoTransportError && error.unaccepted;
|
|
@@ -3879,7 +3917,7 @@ var SeoRuntime = class {
|
|
|
3879
3917
|
for (const [id, entry] of this.pending) {
|
|
3880
3918
|
try {
|
|
3881
3919
|
if (!entry.settled) {
|
|
3882
|
-
if (!this.repository.settle(id, entry.result, entry.owner)) {
|
|
3920
|
+
if (!this.repository.settle(id, entry.result, entry.owner, this.getRuntime()?.policy)) {
|
|
3883
3921
|
createLogger("SeoRuntime").error("seo.receipt.superseded", { message: "SEO receipt could not replace an already reconciled or differently owned task." });
|
|
3884
3922
|
clearInterval(entry.heartbeat);
|
|
3885
3923
|
this.pending.delete(id);
|
|
@@ -5766,7 +5804,7 @@ function nonBlank(value) {
|
|
|
5766
5804
|
return trimmed ? trimmed : void 0;
|
|
5767
5805
|
}
|
|
5768
5806
|
function resolveBuildCommit(env = process.env) {
|
|
5769
|
-
const embedded = true ? "
|
|
5807
|
+
const embedded = true ? "bc41644d8fe1f58eb00fd3cf4e6fc224834d7d24" : void 0;
|
|
5770
5808
|
return nonBlank(embedded) ?? nonBlank(env.CANONRY_COMMIT);
|
|
5771
5809
|
}
|
|
5772
5810
|
function resolveInstanceIdentity(env = process.env) {
|
|
@@ -13129,6 +13167,7 @@ function ensureDefaultHealthSchedule(db, projectId, now = (/* @__PURE__ */ new D
|
|
|
13129
13167
|
cronExpr: DEFAULT_HEALTH_CRON,
|
|
13130
13168
|
timezone: "UTC",
|
|
13131
13169
|
enabled: true,
|
|
13170
|
+
enabledAt: now,
|
|
13132
13171
|
providers: [],
|
|
13133
13172
|
nextRunAt: nextRunFromCron(DEFAULT_HEALTH_CRON, "UTC"),
|
|
13134
13173
|
createdAt: now,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
registeredProviderNames
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NHHZQWMI.js";
|
|
4
4
|
import {
|
|
5
5
|
configExists,
|
|
6
6
|
loadConfigRaw
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-UNCOK6DA.js";
|
|
8
8
|
|
|
9
9
|
// src/setup-state.ts
|
|
10
10
|
import fs from "fs";
|
|
@@ -28,7 +28,7 @@ async function buildSetupState() {
|
|
|
28
28
|
}
|
|
29
29
|
if (dbPath && fs.existsSync(dbPath)) {
|
|
30
30
|
try {
|
|
31
|
-
const { createClient, projects, queries: queriesTable } = await import("./src-
|
|
31
|
+
const { createClient, projects, queries: queriesTable } = await import("./src-6IHGEMT2.js");
|
|
32
32
|
const db = createClient(dbPath);
|
|
33
33
|
project_count = db.select({ id: projects.id }).from(projects).all().length;
|
|
34
34
|
const firstQuery = db.select({ id: queriesTable.id }).from(queriesTable).limit(1).all();
|
|
@@ -47,7 +47,7 @@ function queueServeHandoff() {
|
|
|
47
47
|
async function runPendingServeHandoff(format) {
|
|
48
48
|
if (!pendingServeHandoff) return;
|
|
49
49
|
pendingServeHandoff = false;
|
|
50
|
-
const { serveCommand } = await import("./serve-
|
|
50
|
+
const { serveCommand } = await import("./serve-6JYPUU24.js");
|
|
51
51
|
await serveCommand(format);
|
|
52
52
|
}
|
|
53
53
|
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
measurementDraftUpsertGroupRequestSchema,
|
|
24
24
|
measurementDraftUpsertMarketRequestSchema,
|
|
25
25
|
measurementDraftUpsertTargetRequestSchema
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-XEGYSZEV.js";
|
|
27
27
|
|
|
28
28
|
// src/measurement-draft-actions.ts
|
|
29
29
|
import { z } from "zod";
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
siteCrawlGraphNodes,
|
|
6
6
|
siteCrawlPages,
|
|
7
7
|
siteCrawlSnapshots
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6DJN7HCK.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-XEGYSZEV.js";
|
|
19
19
|
|
|
20
20
|
// src/site-audit-factors.ts
|
|
21
21
|
function recordedSharePct(factor) {
|
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
bucketCliCommandDuration,
|
|
3
3
|
isTelemetryEnabled,
|
|
4
4
|
trackEvent
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ZGUR4AZM.js";
|
|
6
6
|
import {
|
|
7
7
|
getConfigDir
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-UNCOK6DA.js";
|
|
9
9
|
import {
|
|
10
10
|
currentOutcomeAttribution
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-UXTNDZKM.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-XEGYSZEV.js";
|
|
23
23
|
|
|
24
24
|
// src/outcome-telemetry.ts
|
|
25
25
|
import fs from "fs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pickProjectCitedDomain
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EKSXR7RJ.js";
|
|
4
4
|
import {
|
|
5
5
|
GBP_INSIGHT_PROVIDER,
|
|
6
6
|
PERSISTENT_GAP_THRESHOLD,
|
|
@@ -14,10 +14,10 @@ import {
|
|
|
14
14
|
mergeGscQueryTotalsWithFallback,
|
|
15
15
|
readGscQueryDailyRows,
|
|
16
16
|
readLatestGscDataDate
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-AVISYPUU.js";
|
|
18
18
|
import {
|
|
19
19
|
getRequestContext
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-UXTNDZKM.js";
|
|
21
21
|
import {
|
|
22
22
|
competitors,
|
|
23
23
|
gbpDailyMetrics,
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
queries,
|
|
36
36
|
querySnapshots,
|
|
37
37
|
runs
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-6DJN7HCK.js";
|
|
39
39
|
import {
|
|
40
40
|
CitationStates,
|
|
41
41
|
RunKinds,
|
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
effectiveDomains,
|
|
46
46
|
redactLogString,
|
|
47
47
|
redactLogValue
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-XEGYSZEV.js";
|
|
49
49
|
|
|
50
50
|
// src/intelligence-service.ts
|
|
51
51
|
import { eq, desc, asc, and, ne, or, inArray, gte, lte, isNull, sql, exists } from "drizzle-orm";
|
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
createApiClient,
|
|
8
8
|
runWithUsageTags
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XEPEMON2.js";
|
|
10
10
|
import {
|
|
11
11
|
canonryMcpTools,
|
|
12
12
|
mcpOutputSchema,
|
|
13
13
|
toolOperationAccess
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-37R6GTU7.js";
|
|
15
15
|
import {
|
|
16
16
|
PACKAGE_VERSION
|
|
17
17
|
} from "./chunk-AOJU5LKX.js";
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
isReadOnlyKey,
|
|
25
25
|
restrictedWriteScopes,
|
|
26
26
|
upgradeCaveatFor
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-XEGYSZEV.js";
|
|
28
28
|
|
|
29
29
|
// src/mcp/server.ts
|
|
30
30
|
import { randomUUID } from "crypto";
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
resolveCliAccess,
|
|
4
4
|
resolveCliAccessForInvocation,
|
|
5
5
|
windowOptions
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MD5PHJBX.js";
|
|
7
7
|
import {
|
|
8
8
|
emitJsonl
|
|
9
9
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from "./chunk-HGMYEDAQ.js";
|
|
15
15
|
import {
|
|
16
16
|
OperationAccesses
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-XEGYSZEV.js";
|
|
18
18
|
|
|
19
19
|
// src/cli-catalog.ts
|
|
20
20
|
import { createRequire } from "module";
|
|
@@ -111,7 +111,7 @@ async function dispatchRegisteredCommand(args, fallbackFormat, specs) {
|
|
|
111
111
|
const accessValue = accessFilterFromArgs(argsWithoutHelp);
|
|
112
112
|
validateAccessFilter(accessValue);
|
|
113
113
|
if (fallbackFormat !== "text") {
|
|
114
|
-
const { printCliCatalog: printCliCatalog2 } = await import("./cli-catalog-
|
|
114
|
+
const { printCliCatalog: printCliCatalog2 } = await import("./cli-catalog-J2HUCGJL.js");
|
|
115
115
|
const group2 = argsWithoutHelp.find((arg) => !arg.startsWith("--"));
|
|
116
116
|
printCliCatalog2(specs, fallbackFormat, group2, accessValue);
|
|
117
117
|
return true;
|