@canonry/canonry 5.21.0 → 5.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/assets/agent-workspace/skills/aero/SKILL.md +37 -3
- package/assets/agent-workspace/skills/aero/references/portfolio-analysis.md +26 -12
- package/assets/agent-workspace/skills/aero/references/reporting.md +1 -0
- package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +101 -6
- package/assets/agent-workspace/skills/canonry/references/google-business-profile.md +30 -6
- package/assets/agent-workspace/skills/canonry/references/indexing.md +1 -0
- package/assets/agent-workspace/skills/canonry/references/server-side-traffic.md +30 -0
- package/assets/assets/{AuditHistoryPanel-CjxWA3lx.js → AuditHistoryPanel-CWd9UN6L.js} +1 -1
- package/assets/assets/{BacklinksPage-Bdd164Up.js → BacklinksPage-B2gPTzyE.js} +1 -1
- package/assets/assets/ChartPrimitives-B5okB5g-.js +1 -0
- package/assets/assets/{HistoryPage-BvJmE-kP.js → HistoryPage-xtkG8SZN.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-HuP6RMZ-.js → MeasurementPropertyPage-DxIMU3_T.js} +1 -1
- package/assets/assets/{ProjectPage-DOvXVbyy.js → ProjectPage-CMAFZq_s.js} +5 -5
- package/assets/assets/{RunRow-Cnb3JOBw.js → RunRow-DnSo7Nle.js} +1 -1
- package/assets/assets/{RunsPage-Dvz1JYIm.js → RunsPage-FAEuo4Ra.js} +1 -1
- package/assets/assets/{SettingsPage-DYGvphkg.js → SettingsPage-C4OZ1HB9.js} +1 -1
- package/assets/assets/{SiteHealthSection-CUNiKaod.js → SiteHealthSection-BzMxlz8-.js} +3 -3
- package/assets/assets/{TrafficPage-Bf4Tq95q.js → TrafficPage-D03S6xF6.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-CIuLWZgT.js → TrafficSourceDetailPage-DBu6oFFK.js} +1 -1
- package/assets/assets/{extract-error-message-DZex1e4H.js → extract-error-message-BuH2CCaJ.js} +1 -1
- package/assets/assets/index-Ba-Zs45G.js +86 -0
- package/assets/assets/index-DfhmHULl.css +1 -0
- package/assets/assets/{react-sigma_core.esm.min-CxvtwEkv.js → react-sigma_core.esm.min-CxwZsgxR.js} +1 -1
- package/assets/assets/{v2-overview-adapter-Bh4qIzLp.js → v2-overview-adapter-DTCKxzZT.js} +1 -1
- package/assets/index.html +2 -2
- package/dist/{chunk-FAVYLZQV.js → chunk-7RKCDOWO.js} +7005 -5086
- package/dist/{chunk-MEAKE5W7.js → chunk-DX2JUC5H.js} +3 -3
- package/dist/{chunk-NFN5GSEJ.js → chunk-EP4STEPI.js} +3558 -1170
- package/dist/{chunk-FRWZWJB3.js → chunk-FNGITGDF.js} +176 -8
- package/dist/{chunk-2LO7FLVD.js → chunk-KVQHG3WB.js} +6721 -5889
- package/dist/{chunk-WUT3G2GM.js → chunk-MPICT6V7.js} +131 -36
- package/dist/{chunk-HDJHQPW3.js → chunk-ONTEFAA7.js} +2 -2
- package/dist/cli.js +443 -48
- package/dist/{demo-server-7BVVVXPM.js → demo-server-HWWIMGD6.js} +4 -4
- package/dist/index.d.ts +9 -1
- package/dist/index.js +6 -6
- package/dist/{intelligence-service-3UUKRAZ5.js → intelligence-service-6LDMVI66.js} +2 -2
- package/dist/mcp.js +4 -4
- package/package.json +12 -11
- package/assets/assets/ChartPrimitives-BQC2VH0O.js +0 -1
- package/assets/assets/index-CeXW-lzj.js +0 -86
- package/assets/assets/index-EJC8PSbh.css +0 -1
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
layoutSiteCrawlGraphInput,
|
|
6
6
|
persistSiteCrawlGraphLayout
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ONTEFAA7.js";
|
|
8
8
|
import {
|
|
9
9
|
PACKAGE_VERSION,
|
|
10
10
|
canonryMcpTools
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-MPICT6V7.js";
|
|
12
12
|
import {
|
|
13
13
|
HISTORY_WINDOW_RUNS,
|
|
14
14
|
IntelligenceService,
|
|
@@ -84,7 +84,7 @@ import {
|
|
|
84
84
|
siteCrawlPages,
|
|
85
85
|
siteCrawlSnapshots,
|
|
86
86
|
trafficSources
|
|
87
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-7RKCDOWO.js";
|
|
88
88
|
import {
|
|
89
89
|
RunKinds,
|
|
90
90
|
SiteCrawlFetchStates,
|
|
@@ -108,7 +108,7 @@ import {
|
|
|
108
108
|
placementLinkDecision,
|
|
109
109
|
siteAuditPageFactorSchema,
|
|
110
110
|
wilsonInterval
|
|
111
|
-
} from "./chunk-
|
|
111
|
+
} from "./chunk-KVQHG3WB.js";
|
|
112
112
|
|
|
113
113
|
// src/demo-server.ts
|
|
114
114
|
import { dirname, join as join2 } from "path";
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FastifyInstance } from 'fastify';
|
|
2
2
|
import { DatabaseClient } from '@ainyc/canonry-db';
|
|
3
|
-
import { ProviderQuotaPolicy, SchedulableRunKind, AgentProviderId, EmbedConfigEntry, AgentPluginState, GoogleAdsCampaignMetricsQuery, GoogleAdsRawSnapshotDto, GoogleAdsEffectiveGoalGraphDto, GoogleMarketingProvider, GoogleAdsAccessibleCustomersResponse, GoogleAdsAccessibleCustomerDto, GtmAccountsResponse, GtmContainerListResponse, GtmWorkspaceListResponse, GtmRawSnapshotDto } from '@ainyc/canonry-contracts';
|
|
3
|
+
import { ProviderQuotaPolicy, ProviderBatchConfig, ProviderPricing, SchedulableRunKind, AgentProviderId, EmbedConfigEntry, AgentPluginState, GoogleAdsCampaignMetricsQuery, GoogleAdsRawSnapshotDto, GoogleAdsEffectiveGoalGraphDto, GoogleMarketingProvider, GoogleAdsAccessibleCustomersResponse, GoogleAdsAccessibleCustomerDto, GtmAccountsResponse, GtmContainerListResponse, GtmWorkspaceListResponse, GtmRawSnapshotDto } from '@ainyc/canonry-contracts';
|
|
4
4
|
import { GoogleTokenResponse } from '@ainyc/canonry-integration-google';
|
|
5
5
|
|
|
6
6
|
type GoogleConnectionType = 'gsc' | 'ga4' | 'gbp';
|
|
@@ -15,6 +15,14 @@ interface ProviderConfigEntry {
|
|
|
15
15
|
vertexRegion?: string;
|
|
16
16
|
/** Path to service account JSON for Vertex AI auth (falls back to ADC) */
|
|
17
17
|
vertexCredentials?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Batch dispatch for scheduled sweeps (`docs/batch-mode.md`). Off unless
|
|
20
|
+
* `enabled: true`, and only for a provider whose adapter has a batch API.
|
|
21
|
+
* Anthropic batches are not zero-data-retention eligible.
|
|
22
|
+
*/
|
|
23
|
+
batch?: ProviderBatchConfig;
|
|
24
|
+
/** Price overrides (USD) per model id, winning over the built-in table. */
|
|
25
|
+
pricing?: ProviderPricing;
|
|
18
26
|
}
|
|
19
27
|
interface CdpConfigEntry {
|
|
20
28
|
host?: string;
|
package/dist/index.js
CHANGED
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
createGoogleMarketingCredentialStore,
|
|
4
4
|
createGoogleMarketingRuntime,
|
|
5
5
|
createServer
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-EP4STEPI.js";
|
|
7
7
|
import {
|
|
8
8
|
loadConfig
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-FNGITGDF.js";
|
|
10
|
+
import "./chunk-ONTEFAA7.js";
|
|
11
|
+
import "./chunk-MPICT6V7.js";
|
|
12
|
+
import "./chunk-7RKCDOWO.js";
|
|
13
|
+
import "./chunk-KVQHG3WB.js";
|
|
14
14
|
export {
|
|
15
15
|
GoogleMarketingRuntimeError,
|
|
16
16
|
createGoogleMarketingCredentialStore,
|
package/dist/mcp.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
autoSyncSkills
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DX2JUC5H.js";
|
|
4
4
|
import {
|
|
5
5
|
createApiClient,
|
|
6
6
|
createCanonryMcpServer
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-FNGITGDF.js";
|
|
8
|
+
import "./chunk-MPICT6V7.js";
|
|
9
9
|
import {
|
|
10
10
|
isReadOnlyKey,
|
|
11
11
|
updateCheckEnvOptOut
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-KVQHG3WB.js";
|
|
13
13
|
|
|
14
14
|
// src/mcp/cli.ts
|
|
15
15
|
import { randomUUID } from "crypto";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canonry/canonry",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.28.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Self-hosted AI visibility (AEO) platform: track how ChatGPT, Claude, Gemini, and Perplexity cite your domain, join it with Search Console, GA4, server-side traffic, and paid media, and fix what you find through agent tools (CLI, REST, MCP). Local SQLite.",
|
|
6
6
|
"keywords": [
|
|
@@ -87,31 +87,32 @@
|
|
|
87
87
|
"tsup": "^8.5.1",
|
|
88
88
|
"tsx": "^4.19.0",
|
|
89
89
|
"@ainyc/canonry-web": "0.0.0",
|
|
90
|
-
"@ainyc/canonry-api-client": "0.0.0",
|
|
91
90
|
"@ainyc/canonry-api-routes": "0.0.0",
|
|
92
91
|
"@ainyc/canonry-contracts": "0.0.0",
|
|
93
92
|
"@ainyc/canonry-config": "0.0.0",
|
|
94
93
|
"@ainyc/canonry-db": "0.0.0",
|
|
95
|
-
"@ainyc/canonry-
|
|
94
|
+
"@ainyc/canonry-api-client": "0.0.0",
|
|
96
95
|
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
96
|
+
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
97
97
|
"@ainyc/canonry-integration-cloudflare-queue": "0.0.0",
|
|
98
|
-
"@ainyc/canonry-integration-google": "0.0.0",
|
|
99
98
|
"@ainyc/canonry-integration-cloudflare-worker": "0.0.0",
|
|
100
|
-
"@ainyc/canonry-integration-google-ads": "0.0.0",
|
|
101
|
-
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
102
|
-
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
103
99
|
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
100
|
+
"@ainyc/canonry-integration-google": "0.0.0",
|
|
101
|
+
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
104
102
|
"@ainyc/canonry-integration-google-tag-manager": "0.0.0",
|
|
105
103
|
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
106
|
-
"@ainyc/canonry-integration-
|
|
104
|
+
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
105
|
+
"@ainyc/canonry-integration-google-ads": "0.0.0",
|
|
107
106
|
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
107
|
+
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
108
108
|
"@ainyc/canonry-intelligence": "0.0.0",
|
|
109
109
|
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
110
|
-
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
111
110
|
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
111
|
+
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
112
|
+
"@ainyc/canonry-provider-local": "0.0.0",
|
|
113
|
+
"@ainyc/canonry-provider-muse": "0.0.0",
|
|
112
114
|
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
113
|
-
"@ainyc/canonry-provider-perplexity": "0.0.0"
|
|
114
|
-
"@ainyc/canonry-provider-local": "0.0.0"
|
|
115
|
+
"@ainyc/canonry-provider-perplexity": "0.0.0"
|
|
115
116
|
},
|
|
116
117
|
"scripts": {
|
|
117
118
|
"build": "pnpm run build:cli && pnpm run build:web",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as i}from"./vendor-tanstack-ZXXkndVj.js";import{R as k,C as I,a as R,e as A,X as _,Y as L,T as w,d as v}from"./vendor-recharts-llkUFBGR.js";const O={contentStyle:{backgroundColor:"var(--chart-tooltip-bg, #18181b)",border:"1px solid var(--chart-tooltip-border, #3f3f46)",borderRadius:8,fontSize:12},labelStyle:{color:"var(--chart-tooltip-label, #e4e4e7)"},itemStyle:{color:"var(--chart-tooltip-item, #a1a1aa)"}},b={fill:"var(--chart-neutral-text-dim, #8b8b93)",fontSize:11},j="var(--chart-grid, #27272a)",p="var(--chart-axis, #27272a)",y=["var(--chart-series-1, #34d399)","var(--chart-series-2, #60a5fa)","var(--chart-series-3, #f472b6)","var(--chart-series-4, #facc15)","var(--chart-series-5, #a78bfa)","var(--chart-series-6, #fb923c)","var(--chart-series-7, #22d3ee)","var(--chart-series-8, #f87171)"],K={gemini:"#60a5fa",openai:"#34d399",claude:"#fb923c",perplexity:"#22d3ee",local:"#a78bfa"};function M(a,r=0){return K[a]??y[r%y.length]}const E={text:"var(--chart-neutral-text, #a1a1aa)",textDim:"var(--chart-neutral-text-dim, #8b8b93)",textFaint:"var(--chart-neutral-text-faint, #52525b)",surface:"var(--chart-neutral-surface, #27272a)",trackSubtle:"var(--chart-neutral-track-subtle, rgb(255 255 255 / 0.04))"},N={positive:"var(--chart-tone-positive, #34d399)",positiveDeep:"var(--chart-tone-positive-deep, #10b981)",caution:"var(--chart-tone-caution, #fbbf24)",negative:"var(--chart-tone-negative, #fb7185)",neutral:"var(--chart-tone-neutral, #a1a1aa)"};function U(a){return a}function f(a){const r=/^(\d{4})-(\d{2})-(\d{2})/.exec(a);return r?{year:Number(r[1]),month:Number(r[2]),day:Number(r[3])}:null}function Y(a){const r=String(a),e=f(r);return e?new Date(Date.UTC(e.year,e.month-1,e.day)).toLocaleDateString(void 0,{timeZone:"UTC",month:"short",day:"numeric",year:"numeric"}):r}function F(a){const r=f(String(a));return r?`${r.month}/${r.day}`:String(a)}function G(a){const r=f(String(a));return r?new Date(Date.UTC(r.year,r.month-1,r.day)).toLocaleDateString(void 0,{timeZone:"UTC",month:"short",day:"numeric"}):String(a)}function P(a){return new Date(a).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function V(a){return new Date(a).toLocaleDateString(void 0,{month:"short",day:"numeric"})}function W(a){return new Date(a).getFullYear()}function z(a){const r=new Date(a);return`${r.getMonth()+1}/${r.getDate()}`}function Z({data:a,xKey:r,series:e,height:x=260,xTickFormatter:g,labelFormatter:u,onSelectX:d,selectedX:h,accessibilityLayer:S=!0,ariaLabel:T}){const m=[...new Set(e.map(t=>t.axisId))],C=new Map(e.map(t=>[t.label,t.formatValue])),D=a.map((t,s)=>{const n={...t};for(const o of e){if(!o.trend)continue;const c=o.trend.startIndex??0,l=o.trend.endIndex??a.length-1;if(s<c||s>l){n[`${o.dataKey}__trend`]=null;continue}n[`${o.dataKey}__trend`]=l<=c?o.trend.start:o.trend.start+(o.trend.end-o.trend.start)*(s-c)/(l-c)}return n});return i.jsx(k,{width:"100%",height:x,children:i.jsxs(I,{data:D,accessibilityLayer:S,"aria-label":T,margin:{top:8,right:8,bottom:4,left:0},onClick:d?t=>{t?.activeLabel!==void 0&&d(String(t.activeLabel))}:void 0,style:d?{cursor:"pointer"}:void 0,children:[i.jsx(R,{stroke:j,strokeDasharray:"3 3",vertical:!1}),h!=null&&i.jsx(A,{x:h,yAxisId:m[0],stroke:E.text,strokeDasharray:"2 3",strokeWidth:1}),i.jsx(_,{dataKey:r,tick:b,stroke:p,tickFormatter:g,minTickGap:24}),m.map((t,s)=>{const n=e.find(o=>o.axisId===t);return i.jsx(L,{yAxisId:t,orientation:s===1?"right":"left",hide:s>1,reversed:n.inverted??!1,domain:n.inverted?[1,"auto"]:[0,"auto"],tick:b,stroke:p,width:48,tickFormatter:n.formatValue},t)}),i.jsx(w,{...O,labelFormatter:t=>u?u(String(t)):String(t),formatter:(t,s)=>{const n=String(s??"");return typeof t!="number"?[String(t??""),n]:[C.get(n)?.(t)??t.toLocaleString(),n]}}),e.filter(t=>t.trend).map(t=>i.jsx(v,{yAxisId:t.axisId,dataKey:`${t.dataKey}__trend`,name:`${t.label} trend`,stroke:t.color,strokeWidth:1.5,strokeDasharray:"5 4",strokeOpacity:.55,dot:!1,activeDot:!1,isAnimationActive:!1,legendType:"none",tooltipType:"none"},`${t.dataKey}-trend`)),e.map(t=>i.jsx(v,{yAxisId:t.axisId,dataKey:t.dataKey,name:t.label,stroke:t.color,strokeWidth:2,dot:!1,activeDot:{r:3},connectNulls:!1,isAnimationActive:!1},t.dataKey))]})})}export{j as C,Z as M,p as a,b,Y as c,O as d,y as e,F as f,E as g,N as h,z as i,P as j,G as k,W as l,V as m,U as o,M as p};
|