@canonry/canonry 7.97.6 → 7.97.7

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.
@@ -7161,7 +7161,7 @@ var SYSTEM_CLI_COMMANDS = [
7161
7161
  options: { access: stringOption() },
7162
7162
  run: async (input) => {
7163
7163
  if (input.positionals.length > 1) throw usageError("Expected at most one command group");
7164
- const [{ printCliCatalog }, { REGISTERED_CLI_COMMANDS: REGISTERED_CLI_COMMANDS2 }] = await Promise.all([import("./cli-catalog-Z4XQIDYU.js"), import("./cli-commands-GPXX5YGT.js")]);
7164
+ const [{ printCliCatalog }, { REGISTERED_CLI_COMMANDS: REGISTERED_CLI_COMMANDS2 }] = await Promise.all([import("./cli-catalog-Z4XQIDYU.js"), import("./cli-commands-FC6ICDDA.js")]);
7165
7165
  printCliCatalog(REGISTERED_CLI_COMMANDS2, input.format, input.positionals[0], getString(input.values, "access"));
7166
7166
  }
7167
7167
  },
@@ -7210,7 +7210,7 @@ var SYSTEM_CLI_COMMANDS = [
7210
7210
  },
7211
7211
  allowPositionals: false,
7212
7212
  run: async (input) => {
7213
- const { initCommand } = await import("./init-P76PNUYF.js");
7213
+ const { initCommand } = await import("./init-4KLJC5N5.js");
7214
7214
  await initCommand({
7215
7215
  force: getBoolean(input.values, "force"),
7216
7216
  ref: getString(input.values, "ref"),
@@ -7265,7 +7265,7 @@ var SYSTEM_CLI_COMMANDS = [
7265
7265
  allowPositionals: false,
7266
7266
  run: async (input) => {
7267
7267
  applyServerEnv(input.values);
7268
- const { serveCommand } = await import("./serve-OYTNYDEY.js");
7268
+ const { serveCommand } = await import("./serve-VTMTK2TK.js");
7269
7269
  await serveCommand(input.format);
7270
7270
  }
7271
7271
  },
@@ -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-OYTNYDEY.js");
50
+ const { serveCommand } = await import("./serve-VTMTK2TK.js");
51
51
  await serveCommand(format);
52
52
  }
53
53
 
@@ -3568,8 +3568,8 @@ function marketRankings(rawResult, request, collectedAt, partial) {
3568
3568
  }
3569
3569
  if (searchIdentity(result.keyword) !== searchIdentity(searchText)) throw new Error("SEO provider returned a different search.");
3570
3570
  const organic = (result.items ?? []).filter((item) => serpItemTypeSchema.safeParse(item).data?.type === "organic").map((item) => serpItemSchema.parse(item)).filter((item) => item.rank_group != null);
3571
+ if (organic.length === 0) throw new Error("SEO provider returned no organic results.");
3571
3572
  const depth = partial ? Math.min(search.depth, organic.reduce((deepest, item) => Math.max(deepest, item.rank_group), 0)) : search.depth;
3572
- if (depth === 0) throw new Error("SEO provider returned no organic results for a partly collected search.");
3573
3573
  let best = null;
3574
3574
  const competitorRanks = /* @__PURE__ */ new Map();
3575
3575
  const competitors2 = new Set(search.markets.flatMap((market) => market.competitors));
@@ -5980,7 +5980,7 @@ function nonBlank(value) {
5980
5980
  return trimmed ? trimmed : void 0;
5981
5981
  }
5982
5982
  function resolveBuildCommit(env = process.env) {
5983
- const embedded = true ? "6e922f2a26d0c7ce8edd097bb84e338f2fc7c53e" : void 0;
5983
+ const embedded = true ? "930bad0500d64bef2401b0455bf57cf735f3cc7a" : void 0;
5984
5984
  return nonBlank(embedded) ?? nonBlank(env.CANONRY_COMMIT);
5985
5985
  }
5986
5986
  function resolveInstanceIdentity(env = process.env) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  REGISTERED_CLI_COMMANDS
3
- } from "./chunk-OOVOCE2W.js";
3
+ } from "./chunk-JPVLEXY6.js";
4
4
  import "./chunk-6GO5VVAC.js";
5
5
  import "./chunk-VJWDBFSL.js";
6
6
  import "./chunk-7CAOGKRV.js";
package/dist/cli.js CHANGED
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node --import tsx
2
2
  import {
3
3
  REGISTERED_CLI_COMMANDS
4
- } from "./chunk-OOVOCE2W.js";
4
+ } from "./chunk-JPVLEXY6.js";
5
5
  import "./chunk-6GO5VVAC.js";
6
6
  import {
7
7
  buildSetupState,
8
8
  runPendingServeHandoff
9
- } from "./chunk-WA42ILZX.js";
9
+ } from "./chunk-O4X2V6EO.js";
10
10
  import "./chunk-VJWDBFSL.js";
11
11
  import "./chunk-7CAOGKRV.js";
12
12
  import "./chunk-TSENU4GG.js";
package/dist/index.d.ts CHANGED
@@ -1349,8 +1349,8 @@ declare const seoCompetitorSchema: z.ZodObject<{
1349
1349
  }, z.core.$strict>;
1350
1350
  type SeoCompetitor = z.infer<typeof seoCompetitorSchema>;
1351
1351
  declare const seoKeywordGapModeSchema: z.ZodEnum<{
1352
- shared: "shared";
1353
1352
  missing: "missing";
1353
+ shared: "shared";
1354
1354
  }>;
1355
1355
  type SeoKeywordGapMode = z.infer<typeof seoKeywordGapModeSchema>;
1356
1356
  /** Missing means absent from the provider's database result for this pair, never a fresh Google rank check. */
@@ -1380,8 +1380,8 @@ declare const seoKeywordGapSchema: z.ZodObject<{
1380
1380
  keywordDifficulty: z.ZodNullable<z.ZodNumber>;
1381
1381
  cpcUsd: z.ZodNullable<z.ZodNumber>;
1382
1382
  kind: z.ZodEnum<{
1383
- shared: "shared";
1384
1383
  missing: "missing";
1384
+ shared: "shared";
1385
1385
  outranked: "outranked";
1386
1386
  }>;
1387
1387
  rankGap: z.ZodNullable<z.ZodNumber>;
@@ -1677,8 +1677,8 @@ declare const seoResultsSchema: z.ZodObject<{
1677
1677
  keywordDifficulty: z.ZodNullable<z.ZodNumber>;
1678
1678
  cpcUsd: z.ZodNullable<z.ZodNumber>;
1679
1679
  kind: z.ZodEnum<{
1680
- shared: "shared";
1681
1680
  missing: "missing";
1681
+ shared: "shared";
1682
1682
  outranked: "outranked";
1683
1683
  }>;
1684
1684
  rankGap: z.ZodNullable<z.ZodNumber>;
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  createGoogleMarketingCredentialStore,
4
4
  createGoogleMarketingRuntime,
5
5
  createServer
6
- } from "./chunk-F2VSZGAV.js";
6
+ } from "./chunk-TVVQRHVR.js";
7
7
  import "./chunk-GMCVZPKO.js";
8
8
  import "./chunk-I6G5K5PM.js";
9
9
  import "./chunk-AI2G7QMW.js";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  buildSetupState,
9
9
  queueServeHandoff
10
- } from "./chunk-WA42ILZX.js";
10
+ } from "./chunk-O4X2V6EO.js";
11
11
  import "./chunk-VJWDBFSL.js";
12
12
  import "./chunk-RABCSQBW.js";
13
13
  import "./chunk-C3LS3ZKI.js";
@@ -9,7 +9,7 @@ import {
9
9
  allowsKeylessFirstRunSetup,
10
10
  createServer,
11
11
  waitForServerRuntimeStartup
12
- } from "./chunk-F2VSZGAV.js";
12
+ } from "./chunk-TVVQRHVR.js";
13
13
  import "./chunk-GMCVZPKO.js";
14
14
  import "./chunk-I6G5K5PM.js";
15
15
  import "./chunk-AI2G7QMW.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canonry/canonry",
3
- "version": "7.97.6",
3
+ "version": "7.97.7",
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": [