@canonry/canonry 7.47.1 → 7.48.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.
Files changed (35) hide show
  1. package/assets/assets/{AuditHistoryPanel-BTlvVW6p.js → AuditHistoryPanel-CX61JUTX.js} +1 -1
  2. package/assets/assets/{BacklinksPage-DQu_3poO.js → BacklinksPage-DqnhCPLf.js} +1 -1
  3. package/assets/assets/{HistoryPage-D_3qu4SQ.js → HistoryPage-rRFCtFL5.js} +1 -1
  4. package/assets/assets/{MeasurementPropertyPage-FKmEMw_G.js → MeasurementPropertyPage-CfIZVKgg.js} +1 -1
  5. package/assets/assets/{ProjectPage-H7nsLkhG.js → ProjectPage-DU88Joxp.js} +1 -1
  6. package/assets/assets/{RunsPage-CE5wFNdP.js → RunsPage-B3NIVoWb.js} +1 -1
  7. package/assets/assets/{SettingsPage-D2zKpqOv.js → SettingsPage-098-3JC1.js} +1 -1
  8. package/assets/assets/{SiteHealthSection-ClZRxJ-A.js → SiteHealthSection-CfcQYuwU.js} +3 -3
  9. package/assets/assets/{TrafficPage-BDH4Dzk0.js → TrafficPage-Bl6INnLT.js} +1 -1
  10. package/assets/assets/{TrafficSourceDetailPage-DaVUcHXu.js → TrafficSourceDetailPage-Bu_0hPCZ.js} +1 -1
  11. package/assets/assets/{extract-error-message-YXzyZAEc.js → extract-error-message-Dp43pOCs.js} +1 -1
  12. package/assets/assets/{index-Zj8hd7aE.js → index-je69pgAK.js} +20 -20
  13. package/assets/assets/{react-sigma_core.esm.min-9j5NHFWR.js → react-sigma_core.esm.min-DFuzq2Lx.js} +1 -1
  14. package/assets/assets/{v2-overview-adapter-BsKpkQvx.js → v2-overview-adapter-CjEkLZwJ.js} +1 -1
  15. package/assets/index.html +1 -1
  16. package/dist/{chunk-XHRJYIJQ.js → chunk-5KCJQO4I.js} +1 -1
  17. package/dist/{chunk-DGKSQ5QD.js → chunk-AKDSQTHE.js} +1 -1
  18. package/dist/{chunk-IYAUKA7Z.js → chunk-BNZ3N6UX.js} +43 -7
  19. package/dist/{chunk-CIYCCA2I.js → chunk-CS4POCLI.js} +2 -2
  20. package/dist/{chunk-JNBPNW7P.js → chunk-JPFZ4CXQ.js} +2 -2
  21. package/dist/{chunk-HQS2Y7HO.js → chunk-NPYNNEFP.js} +3 -3
  22. package/dist/{chunk-QS262E4F.js → chunk-NVKQVQ3C.js} +17 -0
  23. package/dist/{chunk-66K6U5H5.js → chunk-P6KH6N4Z.js} +3 -3
  24. package/dist/{chunk-XCS3JXN2.js → chunk-PTDX75HP.js} +9 -9
  25. package/dist/{chunk-QNXQHHCP.js → chunk-U2GU6MAC.js} +40 -24
  26. package/dist/{cli-catalog-MRYQK7LI.js → cli-catalog-NJPHC55G.js} +3 -3
  27. package/dist/cli-commands-MVIT7XNN.js +15 -0
  28. package/dist/cli.js +10 -10
  29. package/dist/{demo-server-GPNX3EXT.js → demo-server-CX2FZGR5.js} +4 -4
  30. package/dist/index.d.ts +29 -0
  31. package/dist/index.js +6 -6
  32. package/dist/{intelligence-service-LZ3MC6G6.js → intelligence-service-6INMSEAQ.js} +2 -2
  33. package/dist/mcp.js +4 -4
  34. package/package.json +11 -11
  35. package/dist/cli-commands-ZX7GLZZT.js +0 -15
@@ -765,6 +765,7 @@ import {
765
765
  resultsClearRequestSchema,
766
766
  resultsClearResponseSchema,
767
767
  resultsExportDtoSchema,
768
+ retrievedSourceSchema,
768
769
  retryAfterDelayMs,
769
770
  roundRatio,
770
771
  runAdmissionDtoSchema,
@@ -915,7 +916,7 @@ import {
915
916
  wordpressSchemaDeployResultDtoSchema,
916
917
  wordpressSchemaStatusResultDtoSchema,
917
918
  wordpressStatusDtoSchema
918
- } from "./chunk-QS262E4F.js";
919
+ } from "./chunk-NVKQVQ3C.js";
919
920
 
920
921
  // src/intelligence-service.ts
921
922
  import { eq as eq99, desc as desc45, asc as asc20, and as and82, ne as ne17, or as or24, inArray as inArray40, gte as gte26, lte as lte23, isNull as isNull19, sql as sql37, exists as exists2 } from "drizzle-orm";
@@ -3402,6 +3403,7 @@ var researchRunQueries = sqliteTable("research_run_queries", {
3402
3403
  groundingSources: text("grounding_sources", { mode: "json" }).$type().notNull().default([]),
3403
3404
  citedDomains: text("cited_domains", { mode: "json" }).$type().notNull().default([]),
3404
3405
  searchQueries: text("search_queries", { mode: "json" }).$type().notNull().default([]),
3406
+ retrievedSources: text("retrieved_sources", { mode: "json" }).$type(),
3405
3407
  namedCompetitors: text("named_competitors", { mode: "json" }).$type().notNull().default([]),
3406
3408
  citedCompetitorDomains: text("cited_competitor_domains", { mode: "json" }).$type().notNull().default([]),
3407
3409
  answerMentioned: integer("answer_mentioned", { mode: "boolean" }),
@@ -8682,6 +8684,15 @@ var MIGRATION_VERSIONS = [
8682
8684
  `ALTER TABLE doctor_health_state ADD COLUMN urgent_receipts TEXT`,
8683
8685
  `ALTER TABLE site_liveness_state ADD COLUMN urgent_receipts TEXT`
8684
8686
  ]
8687
+ },
8688
+ {
8689
+ // Pages an engine's searches listed or opened for a Research answer. NULL
8690
+ // on every existing row and for engines that do not report retrievals.
8691
+ version: 184,
8692
+ name: "research-retrieved-sources",
8693
+ statements: [
8694
+ `ALTER TABLE research_run_queries ADD COLUMN retrieved_sources TEXT`
8695
+ ]
8685
8696
  }
8686
8697
  ];
8687
8698
  var AERO_LEDGER_REBUILDS = [
@@ -22569,6 +22580,7 @@ async function competitorSuggestionRoutes(app) {
22569
22580
  // ../api-routes/src/runs.ts
22570
22581
  import crypto16 from "crypto";
22571
22582
  import { and as and22, eq as eq30, ne as ne7, asc as asc4, desc as desc11, inArray as inArray15, notInArray, or as or7, sql as sql11 } from "drizzle-orm";
22583
+ import { z as z3 } from "zod";
22572
22584
  import { gte as gte4 } from "drizzle-orm";
22573
22585
 
22574
22586
  // ../api-routes/src/run-fill.ts
@@ -23386,9 +23398,12 @@ function formatRun(row) {
23386
23398
  }
23387
23399
  function parseSnapshotRawResponse(raw) {
23388
23400
  const parsed = parseJsonColumn(raw, {});
23401
+ const retrieved = z3.array(retrievedSourceSchema).safeParse(parsed.retrievedSources);
23389
23402
  return {
23390
23403
  groundingSources: parsed.groundingSources ?? [],
23391
23404
  searchQueries: parsed.searchQueries ?? [],
23405
+ // Absent on engines that do not report retrievals and on older rows.
23406
+ retrievedSources: retrieved.success ? retrieved.data : null,
23392
23407
  model: parsed.model ?? null
23393
23408
  };
23394
23409
  }
@@ -23480,6 +23495,7 @@ function loadRunDetail(app, run) {
23480
23495
  usage: s.usage,
23481
23496
  groundingSources: rawParsed.groundingSources,
23482
23497
  searchQueries: rawParsed.searchQueries,
23498
+ retrievedSources: rawParsed.retrievedSources,
23483
23499
  createdAt: s.createdAt
23484
23500
  };
23485
23501
  });
@@ -40255,7 +40271,7 @@ function winnabilityClassRank(winnabilityClass) {
40255
40271
  }
40256
40272
 
40257
40273
  // ../api-routes/src/openapi-schemas.ts
40258
- import { z as z3 } from "zod";
40274
+ import { z as z4 } from "zod";
40259
40275
  var SCHEMA_TABLE = {
40260
40276
  SentimentSummary: sentimentSummarySchema,
40261
40277
  SentimentSettings: sentimentSettingsSchema,
@@ -40541,7 +40557,7 @@ var SCHEMA_TABLE = {
40541
40557
  SnapshotListResponse: snapshotListResponseSchema,
40542
40558
  SnapshotReportDto: snapshotReportSchema,
40543
40559
  // The API accepts legacy phrases, but the public contract advertises queries.
40544
- SnapshotRequest: z3.object(snapshotRequestInputSchema.shape).omit({ phrases: true }),
40560
+ SnapshotRequest: z4.object(snapshotRequestInputSchema.shape).omit({ phrases: true }),
40545
40561
  SourceBreakdownDto: sourceBreakdownDtoSchema,
40546
40562
  TelemetryEventAcceptedDto: telemetryEventAcceptedDtoSchema,
40547
40563
  FeedbackSubmission: feedbackSubmissionSchema,
@@ -40581,11 +40597,11 @@ var SCHEMA_TABLE = {
40581
40597
  // the API never returns this from a typed handler — it's emitted by the
40582
40598
  // global error handler. Codegen consumers reference it through the
40583
40599
  // ErrorEnvelope ref so error shape is part of the public contract.
40584
- ErrorEnvelope: z3.object({
40585
- error: z3.object({
40586
- code: z3.string(),
40587
- message: z3.string(),
40588
- details: z3.unknown().optional()
40600
+ ErrorEnvelope: z4.object({
40601
+ error: z4.object({
40602
+ code: z4.string(),
40603
+ message: z4.string(),
40604
+ details: z4.unknown().optional()
40589
40605
  })
40590
40606
  })
40591
40607
  };
@@ -40610,7 +40626,7 @@ function buildComponentSchemas() {
40610
40626
  const out = {};
40611
40627
  for (const [name, schema] of Object.entries(SCHEMA_TABLE)) {
40612
40628
  const io = INPUT_FORM_SCHEMAS.has(name) ? "input" : "output";
40613
- const json = z3.toJSONSchema(schema, { target: "openapi-3.0", io });
40629
+ const json = z4.toJSONSchema(schema, { target: "openapi-3.0", io });
40614
40630
  addNullToNullableEnums(json);
40615
40631
  out[name] = json;
40616
40632
  }
@@ -53339,18 +53355,18 @@ function parseReviewLimit(value) {
53339
53355
  // ../api-routes/src/google-marketing.ts
53340
53356
  import crypto37 from "crypto";
53341
53357
  import { and as and51, desc as desc30, eq as eq63, isNull as isNull11, lt as lt9, ne as ne12, or as or15, sql as sql24 } from "drizzle-orm";
53342
- import { z as z4 } from "zod";
53343
- var snapshotPageQuerySchema = z4.object({
53344
- limit: z4.coerce.number().int().min(1).max(GOOGLE_MARKETING_STORED_SNAPSHOT_PAGE_MAX).optional(),
53345
- cursor: z4.string().min(1).optional()
53358
+ import { z as z5 } from "zod";
53359
+ var snapshotPageQuerySchema = z5.object({
53360
+ limit: z5.coerce.number().int().min(1).max(GOOGLE_MARKETING_STORED_SNAPSHOT_PAGE_MAX).optional(),
53361
+ cursor: z5.string().min(1).optional()
53346
53362
  }).strict();
53347
- var oauthStateSchema = z4.object({
53348
- projectId: z4.string().min(1),
53349
- projectName: z4.string().min(1),
53363
+ var oauthStateSchema = z5.object({
53364
+ projectId: z5.string().min(1),
53365
+ projectName: z5.string().min(1),
53350
53366
  provider: googleMarketingProviderSchema,
53351
- redirectUri: z4.string().url(),
53352
- nonce: z4.string().regex(/^[\w-]{43}$/),
53353
- issuedAt: z4.number()
53367
+ redirectUri: z5.string().url(),
53368
+ nonce: z5.string().regex(/^[\w-]{43}$/),
53369
+ issuedAt: z5.number()
53354
53370
  }).strict();
53355
53371
  var GOOGLE_MARKETING_OAUTH_PENDING_FLOW_MAX = 256;
53356
53372
  var GOOGLE_MARKETING_OAUTH_COOKIE_PREFIX = "canonry_google_marketing_oauth_";
@@ -53494,7 +53510,7 @@ function decodeSnapshotCursor(value) {
53494
53510
  try {
53495
53511
  const decoded = Buffer.from(value, "base64url");
53496
53512
  if (decoded.toString("base64url") !== value) throw new Error("Non-canonical cursor");
53497
- const parsed = z4.object({ capturedAt: z4.string().min(1), id: z4.string().min(1) }).strict().parse(JSON.parse(decoded.toString()));
53513
+ const parsed = z5.object({ capturedAt: z5.string().min(1), id: z5.string().min(1) }).strict().parse(JSON.parse(decoded.toString()));
53498
53514
  return parsed;
53499
53515
  } catch {
53500
53516
  throw validationError("Invalid Google Marketing snapshot cursor.");
@@ -53793,7 +53809,7 @@ function latestGtmSnapshot(app, projectId) {
53793
53809
  if (!snapshot || snapshot.metadata.id !== connection.lastSnapshotId || snapshot.metadata.connectionId !== connection.id || snapshot.metadata.accountId !== connection.selectedAccountId || snapshot.metadata.containerId !== connection.selectedContainerId || snapshot.metadata.workspaceId !== connection.selectedWorkspaceId || snapshot.metadata.capturedAt !== connection.lastSnapshotAt || snapshot.payload.kind !== GtmSnapshotKinds.container) return null;
53794
53810
  return snapshot;
53795
53811
  }
53796
- var googleAdsPerformanceQuerySchema = z4.object({
53812
+ var googleAdsPerformanceQuerySchema = z5.object({
53797
53813
  window: googleAdsMetricsWindowSchema.optional()
53798
53814
  }).strict();
53799
53815
  var GOOGLE_ADS_PERFORMANCE_WINDOW_DAYS = {
@@ -93416,7 +93432,7 @@ async function technicalAeoRoutes(app, opts) {
93416
93432
 
93417
93433
  // ../api-routes/src/research.ts
93418
93434
  import crypto55 from "crypto";
93419
- import { z as z5 } from "zod";
93435
+ import { z as z6 } from "zod";
93420
93436
  import { and as and79, count as count8, desc as desc44, eq as eq96, gte as gte25, lt as lt14, or as or23, sql as sql36 } from "drizzle-orm";
93421
93437
  var sameLocation = (a, b) => a.label === b.label && a.city === b.city && a.region === b.region && a.country === b.country && a.timezone === b.timezone;
93422
93438
  var BATCH_RECEIPT_PREFIX = "__canonry_research_batch__:";
@@ -93638,7 +93654,7 @@ function assertSameDirectResearchRequest(existing, input, hash2) {
93638
93654
  };
93639
93655
  if (crypto55.createHash("sha256").update(JSON.stringify(normalized)).digest("hex") !== existing.requestHash) throw alreadyExists("Research idempotency key", input.idempotencyKey);
93640
93656
  }
93641
- var researchCursorSchema = z5.object({ projectId: z5.string().min(1), createdAt: z5.string().datetime({ offset: true }), id: z5.string().min(1).max(256) }).strict();
93657
+ var researchCursorSchema = z6.object({ projectId: z6.string().min(1), createdAt: z6.string().datetime({ offset: true }), id: z6.string().min(1).max(256) }).strict();
93642
93658
  function parseResearchCursor(value, projectId) {
93643
93659
  try {
93644
93660
  if (value.length > 2048 || !/^[\w-]+$/.test(value)) throw new Error("Invalid encoding");
@@ -93747,7 +93763,7 @@ function serializeRun(row) {
93747
93763
  return { id: row.id, projectId: row.projectId, status: row.status, provider: row.provider, requestedModel: row.requestedModel, resolvedModel: row.resolvedModel, location: row.location ?? null, scope: row.scope ?? null, template: row.template ?? null, totalQueries: row.totalQueries, completedQueries: row.completedQueries, failedQueries: row.failedQueries, error: row.error, initiatedBy: row.initiatedBy ?? null, startedAt: row.startedAt, finishedAt: row.finishedAt, createdAt: row.createdAt };
93748
93764
  }
93749
93765
  function serializeQuery(row) {
93750
- return { id: row.id, position: row.position, query: row.queryText, queryClass: row.queryClass ?? null, status: row.status, requestedModel: row.requestedModel, resolvedModel: row.resolvedModel, servedModel: row.servedModel, answerText: row.answerText, groundingSources: row.groundingSources, citedDomains: row.citedDomains, searchQueries: row.searchQueries, namedCompetitors: row.namedCompetitors, citedCompetitorDomains: row.citedCompetitorDomains, answerMentioned: row.answerMentioned, citationState: row.citationState, error: row.error, startedAt: row.startedAt, finishedAt: row.finishedAt, createdAt: row.createdAt };
93766
+ return { id: row.id, position: row.position, query: row.queryText, queryClass: row.queryClass ?? null, status: row.status, requestedModel: row.requestedModel, resolvedModel: row.resolvedModel, servedModel: row.servedModel, answerText: row.answerText, groundingSources: row.groundingSources, citedDomains: row.citedDomains, searchQueries: row.searchQueries, retrievedSources: row.retrievedSources ?? null, namedCompetitors: row.namedCompetitors, citedCompetitorDomains: row.citedCompetitorDomains, answerMentioned: row.answerMentioned, citationState: row.citationState, error: row.error, startedAt: row.startedAt, finishedAt: row.finishedAt, createdAt: row.createdAt };
93751
93767
  }
93752
93768
  function researchPrincipal(request) {
93753
93769
  const principal = request.principal;
@@ -3,10 +3,10 @@ import {
3
3
  buildCliCatalog,
4
4
  printCliCatalog,
5
5
  renderTopLevelHelp
6
- } from "./chunk-66K6U5H5.js";
7
- import "./chunk-DGKSQ5QD.js";
6
+ } from "./chunk-P6KH6N4Z.js";
7
+ import "./chunk-AKDSQTHE.js";
8
8
  import "./chunk-HGMYEDAQ.js";
9
- import "./chunk-QS262E4F.js";
9
+ import "./chunk-NVKQVQ3C.js";
10
10
  export {
11
11
  CLI_ROOT_SUMMARIES,
12
12
  buildCliCatalog,
@@ -0,0 +1,15 @@
1
+ import {
2
+ REGISTERED_CLI_COMMANDS
3
+ } from "./chunk-PTDX75HP.js";
4
+ import "./chunk-BNZ3N6UX.js";
5
+ import "./chunk-CS4POCLI.js";
6
+ import "./chunk-AKDSQTHE.js";
7
+ import "./chunk-RB2F4D3Z.js";
8
+ import "./chunk-JPFZ4CXQ.js";
9
+ import "./chunk-5KCJQO4I.js";
10
+ import "./chunk-HGMYEDAQ.js";
11
+ import "./chunk-U2GU6MAC.js";
12
+ import "./chunk-NVKQVQ3C.js";
13
+ export {
14
+ REGISTERED_CLI_COMMANDS
15
+ };
package/dist/cli.js CHANGED
@@ -2,18 +2,18 @@
2
2
  import {
3
3
  autoSyncSkills,
4
4
  formatAutoSyncNotice
5
- } from "./chunk-HQS2Y7HO.js";
5
+ } from "./chunk-NPYNNEFP.js";
6
6
  import {
7
7
  accessFilterFromArgs,
8
8
  dispatchRegisteredCommand,
9
9
  printCliCatalog
10
- } from "./chunk-66K6U5H5.js";
10
+ } from "./chunk-P6KH6N4Z.js";
11
11
  import {
12
12
  REGISTERED_CLI_COMMANDS,
13
13
  buildSetupState,
14
14
  consumePendingServeHandoff,
15
15
  serveCommand
16
- } from "./chunk-XCS3JXN2.js";
16
+ } from "./chunk-PTDX75HP.js";
17
17
  import {
18
18
  checkLatestVersionForCli,
19
19
  cliRuntimeContext,
@@ -27,14 +27,14 @@ import {
27
27
  showFirstRunNotice,
28
28
  trackCliCommandFinished,
29
29
  trackEvent
30
- } from "./chunk-IYAUKA7Z.js";
31
- import "./chunk-CIYCCA2I.js";
30
+ } from "./chunk-BNZ3N6UX.js";
31
+ import "./chunk-CS4POCLI.js";
32
32
  import {
33
33
  resolveCliAccess
34
- } from "./chunk-DGKSQ5QD.js";
34
+ } from "./chunk-AKDSQTHE.js";
35
35
  import "./chunk-RB2F4D3Z.js";
36
- import "./chunk-JNBPNW7P.js";
37
- import "./chunk-XHRJYIJQ.js";
36
+ import "./chunk-JPFZ4CXQ.js";
37
+ import "./chunk-5KCJQO4I.js";
38
38
  import {
39
39
  CliError,
40
40
  EXIT_SYSTEM_ERROR,
@@ -42,10 +42,10 @@ import {
42
42
  printCliError,
43
43
  usageError
44
44
  } from "./chunk-HGMYEDAQ.js";
45
- import "./chunk-QNXQHHCP.js";
45
+ import "./chunk-U2GU6MAC.js";
46
46
  import {
47
47
  OperationAccesses
48
- } from "./chunk-QS262E4F.js";
48
+ } from "./chunk-NVKQVQ3C.js";
49
49
 
50
50
  // src/cli.ts
51
51
  import { pathToFileURL } from "url";
@@ -5,11 +5,11 @@ import {
5
5
  computeFactorAverages,
6
6
  layoutSiteCrawlGraphInput,
7
7
  persistSiteCrawlGraphLayout
8
- } from "./chunk-JNBPNW7P.js";
8
+ } from "./chunk-JPFZ4CXQ.js";
9
9
  import {
10
10
  PACKAGE_VERSION,
11
11
  canonryMcpTools
12
- } from "./chunk-XHRJYIJQ.js";
12
+ } from "./chunk-5KCJQO4I.js";
13
13
  import "./chunk-HGMYEDAQ.js";
14
14
  import {
15
15
  HISTORY_WINDOW_RUNS,
@@ -86,7 +86,7 @@ import {
86
86
  siteCrawlPages,
87
87
  siteCrawlSnapshots,
88
88
  trafficSources
89
- } from "./chunk-QNXQHHCP.js";
89
+ } from "./chunk-U2GU6MAC.js";
90
90
  import {
91
91
  RunKinds,
92
92
  SiteCrawlFetchStates,
@@ -116,7 +116,7 @@ import {
116
116
  roundPreservingTotal,
117
117
  siteAuditPageFactorSchema,
118
118
  wilsonInterval
119
- } from "./chunk-QS262E4F.js";
119
+ } from "./chunk-NVKQVQ3C.js";
120
120
 
121
121
  // src/demo-server.ts
122
122
  import { dirname, join as join2 } from "path";
package/dist/index.d.ts CHANGED
@@ -22863,6 +22863,35 @@ declare const researchRunQueries: drizzle_orm_sqlite_core.SQLiteTableWithColumns
22863
22863
  }, {}, {
22864
22864
  $type: string[];
22865
22865
  }>;
22866
+ retrievedSources: drizzle_orm_sqlite_core.SQLiteColumn<{
22867
+ name: "retrieved_sources";
22868
+ tableName: "research_run_queries";
22869
+ dataType: "json";
22870
+ columnType: "SQLiteTextJson";
22871
+ data: {
22872
+ uri: string;
22873
+ title: string;
22874
+ kind: "search-result" | "page-read";
22875
+ query: string | null;
22876
+ }[];
22877
+ driverParam: string;
22878
+ notNull: false;
22879
+ hasDefault: false;
22880
+ isPrimaryKey: false;
22881
+ isAutoincrement: false;
22882
+ hasRuntimeDefault: false;
22883
+ enumValues: undefined;
22884
+ baseColumn: never;
22885
+ identity: undefined;
22886
+ generated: undefined;
22887
+ }, {}, {
22888
+ $type: {
22889
+ uri: string;
22890
+ title: string;
22891
+ kind: "search-result" | "page-read";
22892
+ query: string | null;
22893
+ }[];
22894
+ }>;
22866
22895
  namedCompetitors: drizzle_orm_sqlite_core.SQLiteColumn<{
22867
22896
  name: "named_competitors";
22868
22897
  tableName: "research_run_queries";
package/dist/index.js CHANGED
@@ -3,15 +3,15 @@ import {
3
3
  createGoogleMarketingCredentialStore,
4
4
  createGoogleMarketingRuntime,
5
5
  createServer
6
- } from "./chunk-IYAUKA7Z.js";
6
+ } from "./chunk-BNZ3N6UX.js";
7
7
  import {
8
8
  loadConfig
9
- } from "./chunk-CIYCCA2I.js";
10
- import "./chunk-JNBPNW7P.js";
11
- import "./chunk-XHRJYIJQ.js";
9
+ } from "./chunk-CS4POCLI.js";
10
+ import "./chunk-JPFZ4CXQ.js";
11
+ import "./chunk-5KCJQO4I.js";
12
12
  import "./chunk-HGMYEDAQ.js";
13
- import "./chunk-QNXQHHCP.js";
14
- import "./chunk-QS262E4F.js";
13
+ import "./chunk-U2GU6MAC.js";
14
+ import "./chunk-NVKQVQ3C.js";
15
15
  export {
16
16
  GoogleMarketingRuntimeError,
17
17
  createGoogleMarketingCredentialStore,
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  HISTORY_WINDOW_RUNS,
3
3
  IntelligenceService
4
- } from "./chunk-QNXQHHCP.js";
5
- import "./chunk-QS262E4F.js";
4
+ } from "./chunk-U2GU6MAC.js";
5
+ import "./chunk-NVKQVQ3C.js";
6
6
  export {
7
7
  HISTORY_WINDOW_RUNS,
8
8
  IntelligenceService
package/dist/mcp.js CHANGED
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  autoSyncSkills
3
- } from "./chunk-HQS2Y7HO.js";
3
+ } from "./chunk-NPYNNEFP.js";
4
4
  import {
5
5
  createApiClient,
6
6
  createCanonryMcpServer
7
- } from "./chunk-CIYCCA2I.js";
8
- import "./chunk-XHRJYIJQ.js";
7
+ } from "./chunk-CS4POCLI.js";
8
+ import "./chunk-5KCJQO4I.js";
9
9
  import "./chunk-HGMYEDAQ.js";
10
10
  import {
11
11
  isReadOnlyKey,
12
12
  updateCheckEnvOptOut
13
- } from "./chunk-QS262E4F.js";
13
+ } from "./chunk-NVKQVQ3C.js";
14
14
 
15
15
  // src/mcp/cli.ts
16
16
  import { randomUUID } from "crypto";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canonry/canonry",
3
- "version": "7.47.1",
3
+ "version": "7.48.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": [
@@ -85,34 +85,34 @@
85
85
  "@types/node-cron": "^3.0.11",
86
86
  "tsup": "^8.5.1",
87
87
  "tsx": "^4.19.0",
88
- "@canonry/canonry-web": "0.0.0",
89
88
  "@canonry/canonry-api-client": "0.0.0",
90
- "@canonry/canonry-contracts": "0.0.0",
91
89
  "@canonry/canonry-config": "0.0.0",
90
+ "@canonry/canonry-web": "0.0.0",
92
91
  "@canonry/canonry-db": "0.0.0",
92
+ "@canonry/canonry-contracts": "0.0.0",
93
93
  "@canonry/canonry-api-routes": "0.0.0",
94
94
  "@canonry/canonry-integration-bing": "0.0.0",
95
+ "@canonry/canonry-integration-cloud-run": "0.0.0",
95
96
  "@canonry/canonry-integration-cloudflare-worker": "0.0.0",
96
97
  "@canonry/canonry-integration-cloudflare-queue": "0.0.0",
97
- "@canonry/canonry-integration-cloud-run": "0.0.0",
98
- "@canonry/canonry-integration-google": "0.0.0",
99
98
  "@canonry/canonry-integration-google-ads": "0.0.0",
99
+ "@canonry/canonry-integration-commoncrawl": "0.0.0",
100
100
  "@canonry/canonry-integration-google-business-profile": "0.0.0",
101
101
  "@canonry/canonry-integration-google-places": "0.0.0",
102
- "@canonry/canonry-integration-commoncrawl": "0.0.0",
103
- "@canonry/canonry-integration-google-tag-manager": "0.0.0",
102
+ "@canonry/canonry-integration-google": "0.0.0",
104
103
  "@canonry/canonry-integration-openai-ads": "0.0.0",
105
- "@canonry/canonry-integration-traffic": "0.0.0",
104
+ "@canonry/canonry-integration-google-tag-manager": "0.0.0",
106
105
  "@canonry/canonry-integration-wordpress": "0.0.0",
106
+ "@canonry/canonry-integration-traffic": "0.0.0",
107
107
  "@canonry/canonry-provider-cdp": "0.0.0",
108
- "@canonry/canonry-intelligence": "0.0.0",
108
+ "@canonry/canonry-provider-claude": "0.0.0",
109
109
  "@canonry/canonry-provider-gemini": "0.0.0",
110
+ "@canonry/canonry-intelligence": "0.0.0",
110
111
  "@canonry/canonry-provider-local": "0.0.0",
111
112
  "@canonry/canonry-provider-muse": "0.0.0",
112
113
  "@canonry/canonry-provider-openai": "0.0.0",
113
114
  "@canonry/canonry-provider-perplexity": "0.0.0",
114
- "@canonry/canonry-integration-typesafe": "0.0.0",
115
- "@canonry/canonry-provider-claude": "0.0.0"
115
+ "@canonry/canonry-integration-typesafe": "0.0.0"
116
116
  },
117
117
  "scripts": {
118
118
  "build": "pnpm run build:cli && pnpm run build:web",
@@ -1,15 +0,0 @@
1
- import {
2
- REGISTERED_CLI_COMMANDS
3
- } from "./chunk-XCS3JXN2.js";
4
- import "./chunk-IYAUKA7Z.js";
5
- import "./chunk-CIYCCA2I.js";
6
- import "./chunk-DGKSQ5QD.js";
7
- import "./chunk-RB2F4D3Z.js";
8
- import "./chunk-JNBPNW7P.js";
9
- import "./chunk-XHRJYIJQ.js";
10
- import "./chunk-HGMYEDAQ.js";
11
- import "./chunk-QNXQHHCP.js";
12
- import "./chunk-QS262E4F.js";
13
- export {
14
- REGISTERED_CLI_COMMANDS
15
- };