@canonry/canonry 4.132.0 → 4.133.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.
Files changed (28) hide show
  1. package/assets/assets/{AuditHistoryPanel-Carj_FCP.js → AuditHistoryPanel-BKJ_bJO3.js} +1 -1
  2. package/assets/assets/{BacklinksPage-CqOTDVIn.js → BacklinksPage-Dlp78T7O.js} +1 -1
  3. package/assets/assets/{ChartPrimitives-EuQ82l0S.js → ChartPrimitives-BnqLVaHC.js} +1 -1
  4. package/assets/assets/{HistoryPage-D6XQfiLX.js → HistoryPage-dEjboZIm.js} +1 -1
  5. package/assets/assets/ProjectPage-CV1zK5No.js +8 -0
  6. package/assets/assets/{RunRow-ThryEZFR.js → RunRow-C0PeLbDh.js} +1 -1
  7. package/assets/assets/{RunsPage-RFs2WkTC.js → RunsPage-8cmHsMEV.js} +1 -1
  8. package/assets/assets/{SettingsPage-DoUccn9s.js → SettingsPage-FzWCV54A.js} +1 -1
  9. package/assets/assets/{TrafficPage-CVvSDZPY.js → TrafficPage-BrEuU4K9.js} +1 -1
  10. package/assets/assets/{TrafficSourceDetailPage-BTUQUBeS.js → TrafficSourceDetailPage-yqyQGzqQ.js} +1 -1
  11. package/assets/assets/{arrow-left-BoCNqusn.js → arrow-left-DJbzrqwz.js} +1 -1
  12. package/assets/assets/{extract-error-message-BsfOVrKi.js → extract-error-message-7lcxZroQ.js} +1 -1
  13. package/assets/assets/index-BKoAGOtU.css +1 -0
  14. package/assets/assets/index-DtOyJ_1v.js +210 -0
  15. package/assets/assets/{trash-2-BPb4368K.js → trash-2-DFJYR1Fq.js} +1 -1
  16. package/assets/index.html +2 -2
  17. package/dist/{chunk-RWTOEEG3.js → chunk-42P7POVS.js} +4 -4
  18. package/dist/{chunk-5FWAPJFX.js → chunk-P4MIG7V5.js} +37 -1
  19. package/dist/{chunk-QIJKS5KN.js → chunk-VPY3PZXV.js} +1745 -1233
  20. package/dist/{chunk-7BD2ZOPV.js → chunk-ZPQX5ZQ2.js} +654 -555
  21. package/dist/cli.js +76 -10
  22. package/dist/index.js +4 -4
  23. package/dist/{intelligence-service-RU2ACYPY.js → intelligence-service-2K7GVEQM.js} +2 -2
  24. package/dist/mcp.js +2 -2
  25. package/package.json +9 -9
  26. package/assets/assets/ProjectPage-Dswa9Ah6.js +0 -8
  27. package/assets/assets/index-JhX-wfQO.css +0 -1
  28. package/assets/assets/index-jJurRky0.js +0 -210
@@ -1 +1 @@
1
- import{c as a}from"./index-jJurRky0.js";const c=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],d=a("circle-check",c);const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],k=a("circle-question-mark",e);const t=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],s=a("download",t);const o=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],r=a("external-link",o);const n=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],y=a("trash-2",n);export{d as C,s as D,r as E,y as T,k as a};
1
+ import{c as a}from"./index-DtOyJ_1v.js";const c=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],d=a("circle-check",c);const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],k=a("circle-question-mark",e);const t=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],s=a("download",t);const o=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],r=a("external-link",o);const n=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],y=a("trash-2",n);export{d as C,s as D,r as E,y as T,k as a};
package/assets/index.html CHANGED
@@ -12,12 +12,12 @@
12
12
  <link rel="icon" type="image/png" sizes="32x32" href="./favicon-32.png" />
13
13
  <link rel="apple-touch-icon" href="./apple-touch-icon.png" />
14
14
  <title>Canonry</title>
15
- <script type="module" crossorigin src="./assets/index-jJurRky0.js"></script>
15
+ <script type="module" crossorigin src="./assets/index-DtOyJ_1v.js"></script>
16
16
  <link rel="modulepreload" crossorigin href="./assets/vendor-tanstack-Be8JdV5M.js">
17
17
  <link rel="modulepreload" crossorigin href="./assets/vendor-radix-CQ77EO2y.js">
18
18
  <link rel="modulepreload" crossorigin href="./assets/vendor-recharts-DSxTZhaH.js">
19
19
  <link rel="modulepreload" crossorigin href="./assets/vendor-markdown-6dwjPOKK.js">
20
- <link rel="stylesheet" crossorigin href="./assets/index-JhX-wfQO.css">
20
+ <link rel="stylesheet" crossorigin href="./assets/index-BKoAGOtU.css">
21
21
  </head>
22
22
  <body>
23
23
  <div id="root"></div>
@@ -10,7 +10,7 @@ import {
10
10
  loadConfig,
11
11
  loadConfigRaw,
12
12
  saveConfigPatch
13
- } from "./chunk-5FWAPJFX.js";
13
+ } from "./chunk-P4MIG7V5.js";
14
14
  import {
15
15
  CC_CACHE_DIR,
16
16
  DUCKDB_SPEC,
@@ -118,7 +118,7 @@ import {
118
118
  siteAuditPages,
119
119
  siteAuditSnapshots,
120
120
  usageCounters
121
- } from "./chunk-QIJKS5KN.js";
121
+ } from "./chunk-VPY3PZXV.js";
122
122
  import {
123
123
  AGENT_MEMORY_VALUE_MAX_BYTES,
124
124
  AGENT_PROVIDER_IDS,
@@ -191,7 +191,7 @@ import {
191
191
  validationError,
192
192
  winnabilityClassLabel,
193
193
  withRetry
194
- } from "./chunk-7BD2ZOPV.js";
194
+ } from "./chunk-ZPQX5ZQ2.js";
195
195
 
196
196
  // src/telemetry.ts
197
197
  import crypto from "crypto";
@@ -7000,7 +7000,7 @@ function readStoredGroundingSources(rawResponse) {
7000
7000
  return result;
7001
7001
  }
7002
7002
  async function backfillInsightsCommand(project, opts) {
7003
- const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-RU2ACYPY.js");
7003
+ const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-2K7GVEQM.js");
7004
7004
  const config = loadConfig();
7005
7005
  const db = createClient(config.database);
7006
7006
  migrate(db);
@@ -27,6 +27,7 @@ import {
27
27
  keywordGenerateRequestSchema,
28
28
  notificationCreateRequestSchema,
29
29
  notificationEventSchema,
30
+ organicEvidencePeriodSchema,
30
31
  projectConfigSchema,
31
32
  projectUpsertRequestSchema,
32
33
  queryBatchRequestSchema,
@@ -41,7 +42,7 @@ import {
41
42
  trafficConnectWordpressRequestSchema,
42
43
  trafficEventKindSchema,
43
44
  trafficSeriesGranularitySchema
44
- } from "./chunk-7BD2ZOPV.js";
45
+ } from "./chunk-ZPQX5ZQ2.js";
45
46
 
46
47
  // src/config.ts
47
48
  import fs from "fs";
@@ -3354,6 +3355,18 @@ var postApiV1ProjectsByNameInsightsByIdDismiss = (options) => {
3354
3355
  ...options
3355
3356
  });
3356
3357
  };
3358
+ var getApiV1ProjectsByNameOrganicEvidence = (options) => {
3359
+ return (options.client ?? client).get({
3360
+ security: [
3361
+ {
3362
+ scheme: "bearer",
3363
+ type: "http"
3364
+ }
3365
+ ],
3366
+ url: "/api/v1/projects/{name}/organic-evidence",
3367
+ ...options
3368
+ });
3369
+ };
3357
3370
  var getApiV1ProjectsByNameReport = (options) => {
3358
3371
  return (options.client ?? client).get({
3359
3372
  security: [
@@ -4341,6 +4354,15 @@ var ApiClient = class {
4341
4354
  })
4342
4355
  );
4343
4356
  }
4357
+ async getOrganicEvidence(project, period) {
4358
+ return this.invoke(
4359
+ () => getApiV1ProjectsByNameOrganicEvidence({
4360
+ client: this.heyClient,
4361
+ path: { name: project },
4362
+ ...period !== void 0 && { query: { period } }
4363
+ })
4364
+ );
4365
+ }
4344
4366
  /** Download the versioned historical answer-engine results attachment. */
4345
4367
  async downloadResultsExport(project, opts) {
4346
4368
  await this.probeBasePath();
@@ -6445,6 +6467,20 @@ var canonryMcpTools = [
6445
6467
  openApiOperations: ["GET /api/v1/projects/{name}/report"],
6446
6468
  handler: (client2, input) => client2.getReport(input.project, input.period !== void 0 ? { period: input.period } : void 0)
6447
6469
  }),
6470
+ defineTool({
6471
+ name: "canonry_organic_evidence",
6472
+ title: "Reconcile organic and AI evidence",
6473
+ description: "One-call investigation of whether organic work is gaining visibility, traffic, AI attention, or leads. Returns source-specific 30-day GSC and GA4 cohorts, URL-agnostic page evidence, available GA4 lead events, server-observed AI crawling/user-fetch/referral evidence, the latest answer-visibility sweep, source coverage, findings, and limitations. It preserves native units. Prefer this over fanning out across GSC, GA, traffic, and visibility tools.",
6474
+ access: "read",
6475
+ tier: "monitoring",
6476
+ inputSchema: z2.object({
6477
+ project: projectNameSchema,
6478
+ period: organicEvidencePeriodSchema.optional().describe("Evidence window: 60 or 90 days (default 90).")
6479
+ }),
6480
+ annotations: readAnnotations(),
6481
+ openApiOperations: ["GET /api/v1/projects/{name}/organic-evidence"],
6482
+ handler: (client2, input) => client2.getOrganicEvidence(input.project, input.period)
6483
+ }),
6448
6484
  defineTool({
6449
6485
  name: "canonry_analytics_metrics",
6450
6486
  title: "Get citation & mention trend",