@canonry/canonry 7.97.1 → 7.97.2

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.
@@ -10,8 +10,8 @@ import {
10
10
  backfillSnapshotAttributionCommand,
11
11
  backfillTrafficClassificationCommand,
12
12
  replayQueryAuditLog
13
- } from "./chunk-JJH55CAR.js";
14
- import "./chunk-FFPD6DWR.js";
13
+ } from "./chunk-I37MDUG5.js";
14
+ import "./chunk-KIUXAGME.js";
15
15
  import "./chunk-PNVI2UYZ.js";
16
16
  import "./chunk-HGMYEDAQ.js";
17
17
  import "./chunk-QP6RYMZR.js";
@@ -19,7 +19,7 @@ import "./chunk-RIQXJDGZ.js";
19
19
  import {
20
20
  backfillProjectAnswerMentions,
21
21
  backfillProjectAnswerMentionsInChunks
22
- } from "./chunk-7VPF373L.js";
22
+ } from "./chunk-RQMGGRIO.js";
23
23
  import "./chunk-6TIJFZX5.js";
24
24
  import "./chunk-D4ABSOQG.js";
25
25
  import "./chunk-VDWTOMU4.js";
@@ -5,7 +5,7 @@ import {
5
5
  isStoredPageReadTool,
6
6
  isStoredReadTool,
7
7
  truncateToolResult
8
- } from "./chunk-NKJLQ6ED.js";
8
+ } from "./chunk-CD7WROGG.js";
9
9
  import {
10
10
  CANONRY_MCP_TOOLKITS,
11
11
  resolveAeroSkillDir
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-HGMYEDAQ.js";
11
11
  import {
12
12
  buildOpenApiDocument
13
- } from "./chunk-7VPF373L.js";
13
+ } from "./chunk-RQMGGRIO.js";
14
14
  import {
15
15
  DEFAULT_COMPETITOR_AUTO_ALIAS_MODE,
16
16
  MeasurementPortfolioLists,
@@ -17,7 +17,7 @@ import {
17
17
  mergeGscQueryTotalsWithFallback,
18
18
  readGscQueryDailyRows,
19
19
  readLatestGscDataDate
20
- } from "./chunk-7VPF373L.js";
20
+ } from "./chunk-RQMGGRIO.js";
21
21
  import {
22
22
  competitors,
23
23
  gbpDailyMetrics,
@@ -8,7 +8,7 @@ import {
8
8
  reparseStoredResult4,
9
9
  reparseStoredResult5,
10
10
  resolveStoredApiResponse
11
- } from "./chunk-FFPD6DWR.js";
11
+ } from "./chunk-KIUXAGME.js";
12
12
  import {
13
13
  loadConfig
14
14
  } from "./chunk-PNVI2UYZ.js";
@@ -24,7 +24,7 @@ import {
24
24
  createRunCompetitorResolver,
25
25
  readMarketCompetitorNames,
26
26
  refreshSnapshotMentionIdentity
27
- } from "./chunk-7VPF373L.js";
27
+ } from "./chunk-RQMGGRIO.js";
28
28
  import {
29
29
  RawEventSampleEventTypes,
30
30
  auditLog,
@@ -429,7 +429,7 @@ No DB writes performed. Re-run without --dry-run to apply.`);
429
429
  }
430
430
  }
431
431
  async function backfillInsightsCommand(project, opts) {
432
- const { IntelligenceService } = await import("./intelligence-service-T5DWIMJS.js");
432
+ const { IntelligenceService } = await import("./intelligence-service-GW55NFVE.js");
433
433
  const config = loadConfig();
434
434
  const db = createClient(config.database);
435
435
  migrate(db);
@@ -7,7 +7,7 @@ import {
7
7
  mergeSplitJourneyVisitors,
8
8
  repairAiReferralArrivalsOnStartup,
9
9
  writeUnrecognizedAgentBuckets
10
- } from "./chunk-7VPF373L.js";
10
+ } from "./chunk-RQMGGRIO.js";
11
11
  import {
12
12
  AGENT_TRUST_RULES_VERSION,
13
13
  BROWSER_SHAPED_AGENT_MARKERS,
@@ -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-42YNCY2A.js");
50
+ const { serveCommand } = await import("./serve-NHQ4J6IG.js");
51
51
  await serveCommand(format);
52
52
  }
53
53
 
@@ -47162,10 +47162,45 @@ function pinnedAgent(addresses) {
47162
47162
  }
47163
47163
 
47164
47164
  // ../api-routes/src/gbp-hotel-policy.ts
47165
+ var WORD = String.raw`[\p{L}\p{N}&.'’-]+`;
47166
+ var VERB_USES = [
47167
+ /\bdeals?\s+with\b/gu,
47168
+ new RegExp(
47169
+ String.raw`\b(?:does|do|did|will|would|can|could|may|might|should|must|to)\s+(?:not\s+)?(?:${WORD}\s+){0,4}?offer\b`,
47170
+ "gu"
47171
+ ),
47172
+ new RegExp(String.raw`\bwhat\s+(?:${WORD}\s+){0,3}?offers?\b`, "gu"),
47173
+ /\boffers?(?=\s+(?:a|an|the|free|both|several|written|financing|warrant(?:y|ies)|inspections?|services?|repairs?|coverage|options?|support)\b)/gu
47174
+ ];
47175
+ function withoutVerbUses(text) {
47176
+ return VERB_USES.reduce((value, verb) => value.replace(verb, " "), text);
47177
+ }
47165
47178
  function hotelEditorialText(value) {
47166
47179
  const text = decodeHTML(value).normalize("NFKC").toLowerCase();
47167
47180
  return text.trim().length > 0 && !/\b(?:offers?|deals?|promotions?|discounts?|coupons?|promo\s*codes?|special\s+rates?|book\s+now|save\s+\d+)\b|\d+\s*%\s*off/iu.test(
47168
- text
47181
+ withoutVerbUses(text)
47182
+ );
47183
+ }
47184
+ var PROMOTION = new RegExp(
47185
+ [
47186
+ String.raw`\b(?:promotions?|discounts?|coupons?|promo\s*codes?|special\s+rates?|book\s+now|save\s+\d+)\b`,
47187
+ String.raw`\d+\s*%\s*off`,
47188
+ String.raw`\b(?:special|exclusive|limited[-\s]+time|seasonal|holiday|weekend|package|hot|last[-\s]+minute|early[-\s]+bird|flash|daily|weekly|monthly|travel|room|hotel|stay|spa|dining|best|great|top|our|these|latest|current|view|see|explore|browse|all)\s+(?:offers?|deals?)\b`,
47189
+ String.raw`\b(?:offers?|deals?)\s+(?:end(?:s|ing)?|expire[sd]?|expiring|code)\b`,
47190
+ String.raw`\b(?:deal|offer)\s+of\s+the\s+(?:day|week|month)\b`
47191
+ ].join("|"),
47192
+ "u"
47193
+ );
47194
+ function promotionFree(value) {
47195
+ return !PROMOTION.test(decodeHTML(value).normalize("NFKC").toLowerCase());
47196
+ }
47197
+ var TAG = String.raw`<(?:[^"'<>]|"[^"]*"|'[^']*')*>`;
47198
+ var SENTENCES = /(<(p|li)\b(?:[^"'<>]|"[^"]*"|'[^']*')*>)([\s\S]*?)(<\/\2\s*>)/giu;
47199
+ var SENTENCE_PARTS = new RegExp(String.raw`(<a\b(?:[^"'<>]|"[^"]*"|'[^']*')*>[\s\S]*?<\/a\s*>|${TAG})|[^<]+`, "giu");
47200
+ function withoutSentenceText(html) {
47201
+ return html.replace(
47202
+ SENTENCES,
47203
+ (_whole, open, _tag, inner, close) => open + inner.replace(SENTENCE_PARTS, (_part, markup) => markup ?? " ") + close
47169
47204
  );
47170
47205
  }
47171
47206
  var JSON_STRING = /"(?:\\.|[^"\\])*"/gu;
@@ -47264,7 +47299,8 @@ function editorialHtml(html) {
47264
47299
  return `<script${attributes}>${normalized}</script>`;
47265
47300
  }
47266
47301
  );
47267
- return valid && hotelEditorialText(text) && hotelEditorialText(decodePercentRuns(text));
47302
+ const markup = withoutSentenceText(text);
47303
+ return valid && hotelEditorialText(markup) && hotelEditorialText(decodePercentRuns(markup)) && promotionFree(text) && promotionFree(decodePercentRuns(text));
47268
47304
  }
47269
47305
  async function hotelEditorialDestination(domain, summary3, articleUrl, fetchImpl = createGuardedFetch()) {
47270
47306
  try {
@@ -728,7 +728,7 @@ var DEMO_CLI_COMMANDS = [{
728
728
  options: { host: stringOption(), port: stringOption(), "trust-proxy": multiStringOption() },
729
729
  allowPositionals: false,
730
730
  run: async (input) => {
731
- const { demoCommand } = await import("./demo-JMOSQAAH.js");
731
+ const { demoCommand } = await import("./demo-PQUQM6D6.js");
732
732
  await demoCommand({
733
733
  host: getString(input.values, "host"),
734
734
  port: getString(input.values, "port"),
@@ -749,7 +749,7 @@ var BACKFILL_CLI_COMMANDS = [
749
749
  allowPositionals: false,
750
750
  supportsDryRun: true,
751
751
  run: async (input) => {
752
- const { backfillAnswerVisibilityCommand } = await import("./backfill-ZSLOPGNJ.js");
752
+ const { backfillAnswerVisibilityCommand } = await import("./backfill-6UMNMA5D.js");
753
753
  await backfillAnswerVisibilityCommand({
754
754
  project: getString(input.values, "project"),
755
755
  dryRun: input.dryRun,
@@ -766,7 +766,7 @@ var BACKFILL_CLI_COMMANDS = [
766
766
  allowPositionals: false,
767
767
  supportsDryRun: true,
768
768
  run: async (input) => {
769
- const { backfillAnswerMentionsCommand } = await import("./backfill-ZSLOPGNJ.js");
769
+ const { backfillAnswerMentionsCommand } = await import("./backfill-6UMNMA5D.js");
770
770
  await backfillAnswerMentionsCommand({
771
771
  project: getString(input.values, "project"),
772
772
  dryRun: input.dryRun,
@@ -784,7 +784,7 @@ var BACKFILL_CLI_COMMANDS = [
784
784
  },
785
785
  supportsDryRun: true,
786
786
  run: async (input) => {
787
- const { backfillInsightsCommand } = await import("./backfill-ZSLOPGNJ.js");
787
+ const { backfillInsightsCommand } = await import("./backfill-6UMNMA5D.js");
788
788
  const usage = "canonry backfill insights <project> [--from-run <id>] [--to-run <id>] [--since <date>] [--dry-run] [--format json]";
789
789
  const project3 = requireProject(input, "backfill insights", usage);
790
790
  await backfillInsightsCommand(project3, {
@@ -804,7 +804,7 @@ var BACKFILL_CLI_COMMANDS = [
804
804
  },
805
805
  allowPositionals: false,
806
806
  run: async (input) => {
807
- const { backfillNormalizedPathsCommand } = await import("./backfill-ZSLOPGNJ.js");
807
+ const { backfillNormalizedPathsCommand } = await import("./backfill-6UMNMA5D.js");
808
808
  await backfillNormalizedPathsCommand({
809
809
  project: getString(input.values, "project"),
810
810
  format: input.format
@@ -819,7 +819,7 @@ var BACKFILL_CLI_COMMANDS = [
819
819
  },
820
820
  allowPositionals: false,
821
821
  run: async (input) => {
822
- const { backfillAiReferralPathsCommand } = await import("./backfill-ZSLOPGNJ.js");
822
+ const { backfillAiReferralPathsCommand } = await import("./backfill-6UMNMA5D.js");
823
823
  await backfillAiReferralPathsCommand({
824
824
  project: getString(input.values, "project"),
825
825
  format: input.format
@@ -831,7 +831,7 @@ var BACKFILL_CLI_COMMANDS = [
831
831
  usage: "canonry backfill snapshot-attribution <project> [--dry-run] [--format json]",
832
832
  supportsDryRun: true,
833
833
  run: async (input) => {
834
- const { backfillSnapshotAttributionCommand } = await import("./backfill-ZSLOPGNJ.js");
834
+ const { backfillSnapshotAttributionCommand } = await import("./backfill-6UMNMA5D.js");
835
835
  const usage = "canonry backfill snapshot-attribution <project> [--dry-run] [--format json]";
836
836
  const project3 = requireProject(input, "backfill snapshot-attribution", usage);
837
837
  await backfillSnapshotAttributionCommand({
@@ -850,7 +850,7 @@ var BACKFILL_CLI_COMMANDS = [
850
850
  allowPositionals: false,
851
851
  supportsDryRun: true,
852
852
  run: async (input) => {
853
- const { backfillTrafficClassificationCommand } = await import("./backfill-ZSLOPGNJ.js");
853
+ const { backfillTrafficClassificationCommand } = await import("./backfill-6UMNMA5D.js");
854
854
  await backfillTrafficClassificationCommand({
855
855
  project: getString(input.values, "project"),
856
856
  dryRun: input.dryRun,
@@ -1494,7 +1494,7 @@ var DASHBOARD_CLI_COMMANDS = [
1494
1494
  usage: "canonry dashboard reset-password [--format json]",
1495
1495
  help: "Clears the dashboard password from config.yaml, so the dashboard asks for a new one after a restart.\nLocal only: it edits the config file under CANONRY_CONFIG_DIR and does not call the server.",
1496
1496
  run: async (input) => {
1497
- const { resetDashboardPassword } = await import("./dashboard-BC4XZVJW.js");
1497
+ const { resetDashboardPassword } = await import("./dashboard-A2GTXYCN.js");
1498
1498
  await resetDashboardPassword({ format: input.format });
1499
1499
  }
1500
1500
  },
@@ -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-MWRBP7AQ.js"), import("./cli-commands-5MCS3ASU.js")]);
7164
+ const [{ printCliCatalog }, { REGISTERED_CLI_COMMANDS: REGISTERED_CLI_COMMANDS2 }] = await Promise.all([import("./cli-catalog-MWRBP7AQ.js"), import("./cli-commands-WCKKUVFG.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-ZHDC3ATQ.js");
7213
+ const { initCommand } = await import("./init-T7KF667H.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-42YNCY2A.js");
7268
+ const { serveCommand } = await import("./serve-NHQ4J6IG.js");
7269
7269
  await serveCommand(input.format);
7270
7270
  }
7271
7271
  },
@@ -8657,8 +8657,8 @@ var AGENT_CLI_COMMANDS = [
8657
8657
  "timeout-ms": stringOption()
8658
8658
  },
8659
8659
  run: async (input) => {
8660
- const { coerceAgentProvider } = await import("./session-P6STOUZI.js");
8661
- const { AERO_TOOL_PROFILES, isAeroToolProfile } = await import("./tools-AJWV72XT.js");
8660
+ const { coerceAgentProvider } = await import("./session-L4CT3XZQ.js");
8661
+ const { AERO_TOOL_PROFILES, isAeroToolProfile } = await import("./tools-OIVQXP5C.js");
8662
8662
  const { agentAsk } = await import("./agent-ask-ATVWKFBN.js");
8663
8663
  const usage = `canonry agent ask <project> "<prompt>" [--provider ${AGENT_PROVIDER_IDS.join("|")}] [--model <id>] [--scope all|read-only] [--profile default|ads-operator] [--context <json>] [--conversation <id>] [--max-tool-calls <n>] [--timeout-ms <ms>] [--format json]`;
8664
8664
  const project3 = requireProject(input, "agent.ask", usage);
@@ -27,14 +27,14 @@ import {
27
27
  resolveConfiguredAgentProvider,
28
28
  resolveSessionProviderAndModel,
29
29
  setAeroSystemPrompt
30
- } from "./chunk-HL64C53O.js";
30
+ } from "./chunk-BYPNVDJE.js";
31
31
  import {
32
32
  AeroToolProfiles,
33
33
  AeroToolScopes,
34
34
  buildAeroStateTools,
35
35
  isAeroToolProfile,
36
36
  truncateToolResult
37
- } from "./chunk-NKJLQ6ED.js";
37
+ } from "./chunk-CD7WROGG.js";
38
38
  import {
39
39
  getGoogleAuthConfig,
40
40
  getGoogleConnection,
@@ -65,7 +65,7 @@ import {
65
65
  openrouterAdapter,
66
66
  perplexityAdapter,
67
67
  startTrafficReclassification
68
- } from "./chunk-FFPD6DWR.js";
68
+ } from "./chunk-KIUXAGME.js";
69
69
  import {
70
70
  classifyUsageSurface,
71
71
  createApiUsageTelemetry,
@@ -162,7 +162,7 @@ import {
162
162
  } from "./chunk-HGMYEDAQ.js";
163
163
  import {
164
164
  IntelligenceService
165
- } from "./chunk-VRDN5TH7.js";
165
+ } from "./chunk-FVA3QBUJ.js";
166
166
  import {
167
167
  computeCitedCompetitorDomains,
168
168
  determineCitationState
@@ -316,7 +316,7 @@ import {
316
316
  webhookResponseReason,
317
317
  webhookTargetRefusalReason,
318
318
  writeAuditLog
319
- } from "./chunk-7VPF373L.js";
319
+ } from "./chunk-RQMGGRIO.js";
320
320
  import {
321
321
  OperationalLogStore,
322
322
  SentimentIdempotencyConflict,
@@ -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 ? "3bd7d9bc47a109ddbcbfa8f2f3d95aa3c80c926e" : void 0;
5983
+ const embedded = true ? "c9c5d088f29e5bd2401d84d2b77d8720e9360728" : 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-JN4ANYGG.js";
3
+ } from "./chunk-WOHQNWVO.js";
4
4
  import "./chunk-6GO5VVAC.js";
5
5
  import "./chunk-VJWDBFSL.js";
6
6
  import "./chunk-DVIZZYL5.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-JN4ANYGG.js";
4
+ } from "./chunk-WOHQNWVO.js";
5
5
  import "./chunk-6GO5VVAC.js";
6
6
  import {
7
7
  buildSetupState,
8
8
  runPendingServeHandoff
9
- } from "./chunk-KNGGDWL5.js";
9
+ } from "./chunk-NBZ7GLTP.js";
10
10
  import "./chunk-VJWDBFSL.js";
11
11
  import "./chunk-DVIZZYL5.js";
12
12
  import "./chunk-TSENU4GG.js";
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-HGMYEDAQ.js";
8
8
  import {
9
9
  anyUsersExist
10
- } from "./chunk-7VPF373L.js";
10
+ } from "./chunk-RQMGGRIO.js";
11
11
  import "./chunk-6TIJFZX5.js";
12
12
  import "./chunk-D4ABSOQG.js";
13
13
  import {
@@ -40,7 +40,7 @@ function parseDemoTrustedProxies(values) {
40
40
  async function demoCommand(options) {
41
41
  const { host, port } = parseDemoListenOptions(options);
42
42
  const trustProxy = parseDemoTrustedProxies(options.trustProxy);
43
- const { createDemoServer } = await import("./demo-server-YPDXH7HV.js");
43
+ const { createDemoServer } = await import("./demo-server-2EIJCN6D.js");
44
44
  const app = await createDemoServer({ trustProxy });
45
45
  let stopping = false;
46
46
  const stop = () => {
@@ -18,7 +18,7 @@ import "./chunk-HGMYEDAQ.js";
18
18
  import {
19
19
  HISTORY_WINDOW_RUNS,
20
20
  IntelligenceService
21
- } from "./chunk-VRDN5TH7.js";
21
+ } from "./chunk-FVA3QBUJ.js";
22
22
  import {
23
23
  determineCitationState
24
24
  } from "./chunk-QP6RYMZR.js";
@@ -26,7 +26,7 @@ import "./chunk-RIQXJDGZ.js";
26
26
  import {
27
27
  apiRoutes,
28
28
  assessConversionTrackingIntegrity
29
- } from "./chunk-7VPF373L.js";
29
+ } from "./chunk-RQMGGRIO.js";
30
30
  import "./chunk-6TIJFZX5.js";
31
31
  import "./chunk-D4ABSOQG.js";
32
32
  import {
package/dist/index.d.ts CHANGED
@@ -70,10 +70,10 @@ declare const googleAdsAccessibleCustomerDtoSchema: z.ZodObject<{
70
70
  level: z.ZodNumber;
71
71
  status: z.ZodEnum<{
72
72
  unknown: "unknown";
73
+ canceled: "canceled";
73
74
  enabled: "enabled";
74
75
  suspended: "suspended";
75
76
  closed: "closed";
76
- canceled: "canceled";
77
77
  unspecified: "unspecified";
78
78
  }>;
79
79
  }, z.core.$strict>;
@@ -92,10 +92,10 @@ declare const googleAdsAccessibleCustomersResponseSchema: z.ZodObject<{
92
92
  level: z.ZodNumber;
93
93
  status: z.ZodEnum<{
94
94
  unknown: "unknown";
95
+ canceled: "canceled";
95
96
  enabled: "enabled";
96
97
  suspended: "suspended";
97
98
  closed: "closed";
98
- canceled: "canceled";
99
99
  unspecified: "unspecified";
100
100
  }>;
101
101
  }, z.core.$strict>>;
@@ -115,8 +115,8 @@ declare const googleAdsEffectiveGoalGraphDtoSchema: z.ZodObject<{
115
115
  campaigns: z.ZodArray<z.ZodObject<{
116
116
  campaignId: z.ZodString;
117
117
  goalConfigLevel: z.ZodEnum<{
118
- customer: "customer";
119
118
  campaign: "campaign";
119
+ customer: "customer";
120
120
  }>;
121
121
  customGoalId: z.ZodNullable<z.ZodString>;
122
122
  missingCustomGoalId: z.ZodNullable<z.ZodString>;
@@ -180,10 +180,10 @@ declare const googleAdsRawSnapshotDtoSchema: z.ZodObject<{
180
180
  level: z.ZodNumber;
181
181
  status: z.ZodEnum<{
182
182
  unknown: "unknown";
183
+ canceled: "canceled";
183
184
  enabled: "enabled";
184
185
  suspended: "suspended";
185
186
  closed: "closed";
186
- canceled: "canceled";
187
187
  unspecified: "unspecified";
188
188
  }>;
189
189
  }, z.core.$strict>>;
@@ -208,8 +208,8 @@ declare const googleAdsRawSnapshotDtoSchema: z.ZodObject<{
208
208
  status: z.ZodEnum<{
209
209
  unknown: "unknown";
210
210
  enabled: "enabled";
211
- removed: "removed";
212
211
  paused: "paused";
212
+ removed: "removed";
213
213
  }>;
214
214
  advertisingChannelType: z.ZodNullable<z.ZodString>;
215
215
  biddingStrategyType: z.ZodNullable<z.ZodString>;
@@ -221,8 +221,8 @@ declare const googleAdsRawSnapshotDtoSchema: z.ZodObject<{
221
221
  status: z.ZodEnum<{
222
222
  unknown: "unknown";
223
223
  enabled: "enabled";
224
- removed: "removed";
225
224
  hidden: "hidden";
225
+ removed: "removed";
226
226
  }>;
227
227
  category: z.ZodString;
228
228
  origin: z.ZodString;
@@ -249,8 +249,8 @@ declare const googleAdsRawSnapshotDtoSchema: z.ZodObject<{
249
249
  campaignGoalConfigurations: z.ZodArray<z.ZodObject<{
250
250
  campaignId: z.ZodString;
251
251
  goalConfigLevel: z.ZodEnum<{
252
- customer: "customer";
253
252
  campaign: "campaign";
253
+ customer: "customer";
254
254
  }>;
255
255
  customGoalId: z.ZodNullable<z.ZodString>;
256
256
  }, z.core.$strict>>;
@@ -331,10 +331,10 @@ declare const gtmRawSnapshotDtoSchema: z.ZodObject<{
331
331
  connectionId: z.ZodString;
332
332
  runId: z.ZodString;
333
333
  kind: z.ZodEnum<{
334
- live: "live";
335
- draft: "draft";
336
334
  accounts: "accounts";
337
335
  container: "container";
336
+ live: "live";
337
+ draft: "draft";
338
338
  }>;
339
339
  accountId: z.ZodNullable<z.ZodString>;
340
340
  containerId: z.ZodNullable<z.ZodString>;
@@ -1303,8 +1303,8 @@ declare const seoCapabilitySchema: z.ZodEnum<{
1303
1303
  type SeoCapability = z.infer<typeof seoCapabilitySchema>;
1304
1304
  declare const seoTargetSchema: z.ZodObject<{
1305
1305
  kind: z.ZodEnum<{
1306
- host: "host";
1307
1306
  domain: "domain";
1307
+ host: "host";
1308
1308
  }>;
1309
1309
  value: z.ZodString;
1310
1310
  includeSubdomains: z.ZodBoolean;
@@ -1320,8 +1320,8 @@ type SeoDevice = z.infer<typeof seoDeviceSchema>;
1320
1320
  declare const seoCompetitorSchema: z.ZodObject<{
1321
1321
  target: z.ZodObject<{
1322
1322
  kind: z.ZodEnum<{
1323
- host: "host";
1324
1323
  domain: "domain";
1324
+ host: "host";
1325
1325
  }>;
1326
1326
  value: z.ZodString;
1327
1327
  includeSubdomains: z.ZodBoolean;
@@ -1349,24 +1349,24 @@ 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
- missing: "missing";
1353
1352
  shared: "shared";
1353
+ missing: "missing";
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. */
1357
1357
  declare const seoKeywordGapSchema: z.ZodObject<{
1358
1358
  target: z.ZodObject<{
1359
1359
  kind: z.ZodEnum<{
1360
- host: "host";
1361
1360
  domain: "domain";
1361
+ host: "host";
1362
1362
  }>;
1363
1363
  value: z.ZodString;
1364
1364
  includeSubdomains: z.ZodBoolean;
1365
1365
  }, z.core.$strict>;
1366
1366
  competitor: z.ZodObject<{
1367
1367
  kind: z.ZodEnum<{
1368
- host: "host";
1369
1368
  domain: "domain";
1369
+ host: "host";
1370
1370
  }>;
1371
1371
  value: z.ZodString;
1372
1372
  includeSubdomains: z.ZodBoolean;
@@ -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
- missing: "missing";
1384
1383
  shared: "shared";
1384
+ missing: "missing";
1385
1385
  outranked: "outranked";
1386
1386
  }>;
1387
1387
  rankGap: z.ZodNullable<z.ZodNumber>;
@@ -1437,8 +1437,8 @@ declare const seoMarketRankingSchema: z.ZodObject<{
1437
1437
  locationLabel: z.ZodString;
1438
1438
  target: z.ZodObject<{
1439
1439
  kind: z.ZodEnum<{
1440
- host: "host";
1441
1440
  domain: "domain";
1441
+ host: "host";
1442
1442
  }>;
1443
1443
  value: z.ZodString;
1444
1444
  includeSubdomains: z.ZodBoolean;
@@ -1446,8 +1446,8 @@ declare const seoMarketRankingSchema: z.ZodObject<{
1446
1446
  searchStatus: z.ZodEnum<{
1447
1447
  partial: "partial";
1448
1448
  failed: "failed";
1449
- completed: "completed";
1450
1449
  cancelled: "cancelled";
1450
+ completed: "completed";
1451
1451
  }>;
1452
1452
  rankOrganic: z.ZodNullable<z.ZodNumber>;
1453
1453
  rankAbsolute: z.ZodNullable<z.ZodNumber>;
@@ -1507,8 +1507,8 @@ declare const seoResultsSchema: z.ZodObject<{
1507
1507
  domainIntelligence: z.ZodArray<z.ZodObject<{
1508
1508
  target: z.ZodObject<{
1509
1509
  kind: z.ZodEnum<{
1510
- host: "host";
1511
1510
  domain: "domain";
1511
+ host: "host";
1512
1512
  }>;
1513
1513
  value: z.ZodString;
1514
1514
  includeSubdomains: z.ZodBoolean;
@@ -1539,8 +1539,8 @@ declare const seoResultsSchema: z.ZodObject<{
1539
1539
  rankedKeywords: z.ZodArray<z.ZodObject<{
1540
1540
  target: z.ZodObject<{
1541
1541
  kind: z.ZodEnum<{
1542
- host: "host";
1543
1542
  domain: "domain";
1543
+ host: "host";
1544
1544
  }>;
1545
1545
  value: z.ZodString;
1546
1546
  includeSubdomains: z.ZodBoolean;
@@ -1585,8 +1585,8 @@ declare const seoResultsSchema: z.ZodObject<{
1585
1585
  locationLabel: z.ZodString;
1586
1586
  target: z.ZodObject<{
1587
1587
  kind: z.ZodEnum<{
1588
- host: "host";
1589
1588
  domain: "domain";
1589
+ host: "host";
1590
1590
  }>;
1591
1591
  value: z.ZodString;
1592
1592
  includeSubdomains: z.ZodBoolean;
@@ -1594,8 +1594,8 @@ declare const seoResultsSchema: z.ZodObject<{
1594
1594
  searchStatus: z.ZodEnum<{
1595
1595
  partial: "partial";
1596
1596
  failed: "failed";
1597
- completed: "completed";
1598
1597
  cancelled: "cancelled";
1598
+ completed: "completed";
1599
1599
  }>;
1600
1600
  rankOrganic: z.ZodNullable<z.ZodNumber>;
1601
1601
  rankAbsolute: z.ZodNullable<z.ZodNumber>;
@@ -1624,8 +1624,8 @@ declare const seoResultsSchema: z.ZodObject<{
1624
1624
  competitors: z.ZodArray<z.ZodObject<{
1625
1625
  target: z.ZodObject<{
1626
1626
  kind: z.ZodEnum<{
1627
- host: "host";
1628
1627
  domain: "domain";
1628
+ host: "host";
1629
1629
  }>;
1630
1630
  value: z.ZodString;
1631
1631
  includeSubdomains: z.ZodBoolean;
@@ -1654,16 +1654,16 @@ declare const seoResultsSchema: z.ZodObject<{
1654
1654
  keywordGaps: z.ZodArray<z.ZodObject<{
1655
1655
  target: z.ZodObject<{
1656
1656
  kind: z.ZodEnum<{
1657
- host: "host";
1658
1657
  domain: "domain";
1658
+ host: "host";
1659
1659
  }>;
1660
1660
  value: z.ZodString;
1661
1661
  includeSubdomains: z.ZodBoolean;
1662
1662
  }, z.core.$strict>;
1663
1663
  competitor: z.ZodObject<{
1664
1664
  kind: z.ZodEnum<{
1665
- host: "host";
1666
1665
  domain: "domain";
1666
+ host: "host";
1667
1667
  }>;
1668
1668
  value: z.ZodString;
1669
1669
  includeSubdomains: z.ZodBoolean;
@@ -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
- missing: "missing";
1681
1680
  shared: "shared";
1681
+ missing: "missing";
1682
1682
  outranked: "outranked";
1683
1683
  }>;
1684
1684
  rankGap: z.ZodNullable<z.ZodNumber>;
@@ -1822,7 +1822,7 @@ declare const seoProfiles: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1822
1822
  connectionId: string;
1823
1823
  capabilities: ("keyword-metrics" | "domain-intelligence" | "ranked-keywords" | "market-rankings" | "competitor-discovery" | "keyword-gaps")[];
1824
1824
  targets: {
1825
- kind: "host" | "domain";
1825
+ kind: "domain" | "host";
1826
1826
  value: string;
1827
1827
  includeSubdomains: boolean;
1828
1828
  }[];
@@ -1831,12 +1831,12 @@ declare const seoProfiles: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1831
1831
  languageCode: string;
1832
1832
  limit: number;
1833
1833
  scope: {
1834
- kind: "project" | "market" | "property" | "group";
1834
+ kind: "group" | "market" | "property" | "project";
1835
1835
  key?: string | undefined;
1836
1836
  expectedPlanRevision?: number | undefined;
1837
1837
  };
1838
1838
  competitors?: {
1839
- kind: "host" | "domain";
1839
+ kind: "domain" | "host";
1840
1840
  value: string;
1841
1841
  includeSubdomains: boolean;
1842
1842
  }[] | undefined;
@@ -1867,7 +1867,7 @@ declare const seoProfiles: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1867
1867
  connectionId: string;
1868
1868
  capabilities: ("keyword-metrics" | "domain-intelligence" | "ranked-keywords" | "market-rankings" | "competitor-discovery" | "keyword-gaps")[];
1869
1869
  targets: {
1870
- kind: "host" | "domain";
1870
+ kind: "domain" | "host";
1871
1871
  value: string;
1872
1872
  includeSubdomains: boolean;
1873
1873
  }[];
@@ -1876,12 +1876,12 @@ declare const seoProfiles: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1876
1876
  languageCode: string;
1877
1877
  limit: number;
1878
1878
  scope: {
1879
- kind: "project" | "market" | "property" | "group";
1879
+ kind: "group" | "market" | "property" | "project";
1880
1880
  key?: string | undefined;
1881
1881
  expectedPlanRevision?: number | undefined;
1882
1882
  };
1883
1883
  competitors?: {
1884
- kind: "host" | "domain";
1884
+ kind: "domain" | "host";
1885
1885
  value: string;
1886
1886
  includeSubdomains: boolean;
1887
1887
  }[] | undefined;
@@ -2064,7 +2064,7 @@ declare const seoJobs: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2064
2064
  connectionId: string;
2065
2065
  capabilities: ("keyword-metrics" | "domain-intelligence" | "ranked-keywords" | "market-rankings" | "competitor-discovery" | "keyword-gaps")[];
2066
2066
  targets: {
2067
- kind: "host" | "domain";
2067
+ kind: "domain" | "host";
2068
2068
  value: string;
2069
2069
  includeSubdomains: boolean;
2070
2070
  }[];
@@ -2073,12 +2073,12 @@ declare const seoJobs: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2073
2073
  languageCode: string;
2074
2074
  limit: number;
2075
2075
  scope: {
2076
- kind: "project" | "market" | "property" | "group";
2076
+ kind: "group" | "market" | "property" | "project";
2077
2077
  key?: string | undefined;
2078
2078
  expectedPlanRevision?: number | undefined;
2079
2079
  };
2080
2080
  competitors?: {
2081
- kind: "host" | "domain";
2081
+ kind: "domain" | "host";
2082
2082
  value: string;
2083
2083
  includeSubdomains: boolean;
2084
2084
  }[] | undefined;
@@ -2109,7 +2109,7 @@ declare const seoJobs: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2109
2109
  connectionId: string;
2110
2110
  capabilities: ("keyword-metrics" | "domain-intelligence" | "ranked-keywords" | "market-rankings" | "competitor-discovery" | "keyword-gaps")[];
2111
2111
  targets: {
2112
- kind: "host" | "domain";
2112
+ kind: "domain" | "host";
2113
2113
  value: string;
2114
2114
  includeSubdomains: boolean;
2115
2115
  }[];
@@ -2118,12 +2118,12 @@ declare const seoJobs: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2118
2118
  languageCode: string;
2119
2119
  limit: number;
2120
2120
  scope: {
2121
- kind: "project" | "market" | "property" | "group";
2121
+ kind: "group" | "market" | "property" | "project";
2122
2122
  key?: string | undefined;
2123
2123
  expectedPlanRevision?: number | undefined;
2124
2124
  };
2125
2125
  competitors?: {
2126
- kind: "host" | "domain";
2126
+ kind: "domain" | "host";
2127
2127
  value: string;
2128
2128
  includeSubdomains: boolean;
2129
2129
  }[] | undefined;
@@ -2277,7 +2277,7 @@ declare const seoJobs: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2277
2277
  tableName: "seo_jobs";
2278
2278
  dataType: "string";
2279
2279
  columnType: "SQLiteText";
2280
- data: "queued" | "running" | "partial" | "failed" | "completed" | "cancelled" | "reconciliation-required";
2280
+ data: "queued" | "partial" | "failed" | "cancelled" | "running" | "completed" | "reconciliation-required";
2281
2281
  driverParam: string;
2282
2282
  notNull: true;
2283
2283
  hasDefault: false;
@@ -2290,7 +2290,7 @@ declare const seoJobs: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2290
2290
  generated: undefined;
2291
2291
  }, {}, {
2292
2292
  length: number | undefined;
2293
- $type: "queued" | "running" | "partial" | "failed" | "completed" | "cancelled" | "reconciliation-required";
2293
+ $type: "queued" | "partial" | "failed" | "cancelled" | "running" | "completed" | "reconciliation-required";
2294
2294
  }>;
2295
2295
  cancelRequested: drizzle_orm_sqlite_core.SQLiteColumn<{
2296
2296
  name: "cancel_requested";
@@ -2454,7 +2454,7 @@ declare const seoTasks: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2454
2454
  tableName: "seo_tasks";
2455
2455
  dataType: "string";
2456
2456
  columnType: "SQLiteText";
2457
- data: "queued" | "running" | "partial" | "failed" | "completed" | "cancelled" | "reconciliation-required";
2457
+ data: "queued" | "partial" | "failed" | "cancelled" | "running" | "completed" | "reconciliation-required";
2458
2458
  driverParam: string;
2459
2459
  notNull: true;
2460
2460
  hasDefault: false;
@@ -2467,7 +2467,7 @@ declare const seoTasks: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2467
2467
  generated: undefined;
2468
2468
  }, {}, {
2469
2469
  length: number | undefined;
2470
- $type: "queued" | "running" | "partial" | "failed" | "completed" | "cancelled" | "reconciliation-required";
2470
+ $type: "queued" | "partial" | "failed" | "cancelled" | "running" | "completed" | "reconciliation-required";
2471
2471
  }>;
2472
2472
  leaseOwner: drizzle_orm_sqlite_core.SQLiteColumn<{
2473
2473
  name: "lease_owner";
@@ -2985,7 +2985,7 @@ declare const projects: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2985
2985
  tableName: "projects";
2986
2986
  dataType: "string";
2987
2987
  columnType: "SQLiteText";
2988
- data: "competitors" | "full";
2988
+ data: "full" | "competitors";
2989
2989
  driverParam: string;
2990
2990
  notNull: false;
2991
2991
  hasDefault: false;
@@ -2998,7 +2998,7 @@ declare const projects: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2998
2998
  generated: undefined;
2999
2999
  }, {}, {
3000
3000
  length: number | undefined;
3001
- $type: "competitors" | "full";
3001
+ $type: "full" | "competitors";
3002
3002
  }>;
3003
3003
  country: drizzle_orm_sqlite_core.SQLiteColumn<{
3004
3004
  name: "country";
@@ -6618,7 +6618,7 @@ declare const querySnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
6618
6618
  }[];
6619
6619
  searchQueries: string[];
6620
6620
  retrievalStatus: "unknown" | "used" | "not-used" | "not-applicable";
6621
- citationBasis: "none" | "mixed" | "answer-support" | "explicit-citation";
6621
+ citationBasis: "answer-support" | "explicit-citation" | "mixed" | "none";
6622
6622
  citationMeasurable: boolean;
6623
6623
  directSourceUrls: boolean;
6624
6624
  location: {
@@ -6723,7 +6723,7 @@ declare const querySnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
6723
6723
  }[];
6724
6724
  searchQueries: string[];
6725
6725
  retrievalStatus: "unknown" | "used" | "not-used" | "not-applicable";
6726
- citationBasis: "none" | "mixed" | "answer-support" | "explicit-citation";
6726
+ citationBasis: "answer-support" | "explicit-citation" | "mixed" | "none";
6727
6727
  citationMeasurable: boolean;
6728
6728
  directSourceUrls: boolean;
6729
6729
  location: {
@@ -7137,7 +7137,7 @@ declare const providerBatches: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
7137
7137
  tableName: "provider_batches";
7138
7138
  dataType: "string";
7139
7139
  columnType: "SQLiteText";
7140
- data: "unknown" | "failed" | "submitted" | "cancelled" | "submitting" | "ended" | "ingested";
7140
+ data: "unknown" | "failed" | "submitting" | "submitted" | "ended" | "ingested" | "cancelled";
7141
7141
  driverParam: string;
7142
7142
  notNull: true;
7143
7143
  hasDefault: false;
@@ -7150,7 +7150,7 @@ declare const providerBatches: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
7150
7150
  generated: undefined;
7151
7151
  }, {}, {
7152
7152
  length: number | undefined;
7153
- $type: "unknown" | "failed" | "submitted" | "cancelled" | "submitting" | "ended" | "ingested";
7153
+ $type: "unknown" | "failed" | "submitting" | "submitted" | "ended" | "ingested" | "cancelled";
7154
7154
  }>;
7155
7155
  requestCount: drizzle_orm_sqlite_core.SQLiteColumn<{
7156
7156
  name: "request_count";
@@ -7596,7 +7596,7 @@ declare const providerBatchRequests: drizzle_orm_sqlite_core.SQLiteTableWithColu
7596
7596
  tableName: "provider_batch_requests";
7597
7597
  dataType: "string";
7598
7598
  columnType: "SQLiteText";
7599
- data: "duplicate" | "canceled" | "expired" | "recorded" | "errored" | "parse_failed";
7599
+ data: "recorded" | "errored" | "expired" | "canceled" | "parse_failed" | "duplicate";
7600
7600
  driverParam: string;
7601
7601
  notNull: false;
7602
7602
  hasDefault: false;
@@ -7609,7 +7609,7 @@ declare const providerBatchRequests: drizzle_orm_sqlite_core.SQLiteTableWithColu
7609
7609
  generated: undefined;
7610
7610
  }, {}, {
7611
7611
  length: number | undefined;
7612
- $type: "duplicate" | "canceled" | "expired" | "recorded" | "errored" | "parse_failed";
7612
+ $type: "recorded" | "errored" | "expired" | "canceled" | "parse_failed" | "duplicate";
7613
7613
  }>;
7614
7614
  error: drizzle_orm_sqlite_core.SQLiteColumn<{
7615
7615
  name: "error";
@@ -9353,7 +9353,7 @@ declare const oauthTokens: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
9353
9353
  tableName: "oauth_tokens";
9354
9354
  dataType: "string";
9355
9355
  columnType: "SQLiteText";
9356
- data: "refresh" | "access";
9356
+ data: "access" | "refresh";
9357
9357
  driverParam: string;
9358
9358
  notNull: true;
9359
9359
  hasDefault: false;
@@ -9366,7 +9366,7 @@ declare const oauthTokens: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
9366
9366
  generated: undefined;
9367
9367
  }, {}, {
9368
9368
  length: number | undefined;
9369
- $type: "refresh" | "access";
9369
+ $type: "access" | "refresh";
9370
9370
  }>;
9371
9371
  grantId: drizzle_orm_sqlite_core.SQLiteColumn<{
9372
9372
  name: "grant_id";
@@ -12454,7 +12454,7 @@ declare const siteAuditSnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColumns
12454
12454
  weight: number;
12455
12455
  sharePct: number | null;
12456
12456
  avgScore: number;
12457
- status: "fail" | "partial" | "pass";
12457
+ status: "partial" | "pass" | "fail";
12458
12458
  pagesPassing: number;
12459
12459
  pagesPartial: number;
12460
12460
  pagesFailing: number;
@@ -12476,7 +12476,7 @@ declare const siteAuditSnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColumns
12476
12476
  weight: number;
12477
12477
  sharePct: number | null;
12478
12478
  avgScore: number;
12479
- status: "fail" | "partial" | "pass";
12479
+ status: "partial" | "pass" | "fail";
12480
12480
  pagesPassing: number;
12481
12481
  pagesPartial: number;
12482
12482
  pagesFailing: number;
@@ -29126,7 +29126,7 @@ declare const discoverySessions: drizzle_orm_sqlite_core.SQLiteTableWithColumns<
29126
29126
  data: {
29127
29127
  domain: string;
29128
29128
  hits: number;
29129
- competitorType: "unknown" | "other" | "direct-competitor" | "ota-aggregator" | "editorial-media";
29129
+ competitorType: "unknown" | "direct-competitor" | "ota-aggregator" | "editorial-media" | "other";
29130
29130
  evaluator?: {
29131
29131
  provider: string;
29132
29132
  requestedModel: string;
@@ -29148,7 +29148,7 @@ declare const discoverySessions: drizzle_orm_sqlite_core.SQLiteTableWithColumns<
29148
29148
  $type: {
29149
29149
  domain: string;
29150
29150
  hits: number;
29151
- competitorType: "unknown" | "other" | "direct-competitor" | "ota-aggregator" | "editorial-media";
29151
+ competitorType: "unknown" | "direct-competitor" | "ota-aggregator" | "editorial-media" | "other";
29152
29152
  evaluator?: {
29153
29153
  provider: string;
29154
29154
  requestedModel: string;
@@ -29567,7 +29567,7 @@ declare const researchRuns: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
29567
29567
  dataType: "json";
29568
29568
  columnType: "SQLiteTextJson";
29569
29569
  data: {
29570
- kind: "user" | "api-key";
29570
+ kind: "api-key" | "user";
29571
29571
  id: string;
29572
29572
  name: string;
29573
29573
  role: "admin" | "viewer" | null;
@@ -29585,7 +29585,7 @@ declare const researchRuns: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
29585
29585
  generated: undefined;
29586
29586
  }, {}, {
29587
29587
  $type: {
29588
- kind: "user" | "api-key";
29588
+ kind: "api-key" | "user";
29589
29589
  id: string;
29590
29590
  name: string;
29591
29591
  role: "admin" | "viewer" | null;
@@ -30123,7 +30123,7 @@ declare const researchRunQueries: drizzle_orm_sqlite_core.SQLiteTableWithColumns
30123
30123
  }[];
30124
30124
  searchQueries: string[];
30125
30125
  retrievalStatus: "unknown" | "used" | "not-used" | "not-applicable";
30126
- citationBasis: "none" | "mixed" | "answer-support" | "explicit-citation";
30126
+ citationBasis: "answer-support" | "explicit-citation" | "mixed" | "none";
30127
30127
  citationMeasurable: boolean;
30128
30128
  directSourceUrls: boolean;
30129
30129
  location: {
@@ -30228,7 +30228,7 @@ declare const researchRunQueries: drizzle_orm_sqlite_core.SQLiteTableWithColumns
30228
30228
  }[];
30229
30229
  searchQueries: string[];
30230
30230
  retrievalStatus: "unknown" | "used" | "not-used" | "not-applicable";
30231
- citationBasis: "none" | "mixed" | "answer-support" | "explicit-citation";
30231
+ citationBasis: "answer-support" | "explicit-citation" | "mixed" | "none";
30232
30232
  citationMeasurable: boolean;
30233
30233
  directSourceUrls: boolean;
30234
30234
  location: {
@@ -30609,7 +30609,7 @@ declare const domainClassifications: drizzle_orm_sqlite_core.SQLiteTableWithColu
30609
30609
  tableName: "domain_classifications";
30610
30610
  dataType: "string";
30611
30611
  columnType: "SQLiteText";
30612
- data: "unknown" | "other" | "direct-competitor" | "ota-aggregator" | "editorial-media";
30612
+ data: "unknown" | "direct-competitor" | "ota-aggregator" | "editorial-media" | "other";
30613
30613
  driverParam: string;
30614
30614
  notNull: true;
30615
30615
  hasDefault: false;
@@ -30622,7 +30622,7 @@ declare const domainClassifications: drizzle_orm_sqlite_core.SQLiteTableWithColu
30622
30622
  generated: undefined;
30623
30623
  }, {}, {
30624
30624
  length: number | undefined;
30625
- $type: "unknown" | "other" | "direct-competitor" | "ota-aggregator" | "editorial-media";
30625
+ $type: "unknown" | "direct-competitor" | "ota-aggregator" | "editorial-media" | "other";
30626
30626
  }>;
30627
30627
  hits: drizzle_orm_sqlite_core.SQLiteColumn<{
30628
30628
  name: "hits";
@@ -31639,7 +31639,7 @@ declare const gbpLocations: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
31639
31639
  tableName: "gbp_locations";
31640
31640
  dataType: "string";
31641
31641
  columnType: "SQLiteText";
31642
- data: "error" | "ok" | "unavailable";
31642
+ data: "error" | "unavailable" | "ok";
31643
31643
  driverParam: string;
31644
31644
  notNull: false;
31645
31645
  hasDefault: false;
@@ -31652,7 +31652,7 @@ declare const gbpLocations: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
31652
31652
  generated: undefined;
31653
31653
  }, {}, {
31654
31654
  length: number | undefined;
31655
- $type: "error" | "ok" | "unavailable";
31655
+ $type: "error" | "unavailable" | "ok";
31656
31656
  }>;
31657
31657
  reviewsAccessReason: drizzle_orm_sqlite_core.SQLiteColumn<{
31658
31658
  name: "reviews_access_reason";
@@ -33211,7 +33211,7 @@ declare const gbpReviews: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
33211
33211
  tableName: "gbp_reviews";
33212
33212
  dataType: "string";
33213
33213
  columnType: "SQLiteText";
33214
- data: "none" | "baseline" | "stale" | "skipped" | "pending" | "sent" | "suppressed";
33214
+ data: "pending" | "none" | "sent" | "baseline" | "stale" | "skipped" | "suppressed";
33215
33215
  driverParam: string;
33216
33216
  notNull: true;
33217
33217
  hasDefault: true;
@@ -33224,7 +33224,7 @@ declare const gbpReviews: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
33224
33224
  generated: undefined;
33225
33225
  }, {}, {
33226
33226
  length: number | undefined;
33227
- $type: "none" | "baseline" | "stale" | "skipped" | "pending" | "sent" | "suppressed";
33227
+ $type: "pending" | "none" | "sent" | "baseline" | "stale" | "skipped" | "suppressed";
33228
33228
  }>;
33229
33229
  alertStateAt: drizzle_orm_sqlite_core.SQLiteColumn<{
33230
33230
  name: "alert_state_at";
@@ -33521,7 +33521,7 @@ declare const gbpReviewRatings: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
33521
33521
  tableName: "gbp_review_ratings";
33522
33522
  dataType: "string";
33523
33523
  columnType: "SQLiteText";
33524
- data: "none" | "baseline" | "stale" | "skipped" | "pending" | "sent" | "suppressed";
33524
+ data: "pending" | "none" | "sent" | "baseline" | "stale" | "skipped" | "suppressed";
33525
33525
  driverParam: string;
33526
33526
  notNull: true;
33527
33527
  hasDefault: true;
@@ -33534,7 +33534,7 @@ declare const gbpReviewRatings: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
33534
33534
  generated: undefined;
33535
33535
  }, {}, {
33536
33536
  length: number | undefined;
33537
- $type: "none" | "baseline" | "stale" | "skipped" | "pending" | "sent" | "suppressed";
33537
+ $type: "pending" | "none" | "sent" | "baseline" | "stale" | "skipped" | "suppressed";
33538
33538
  }>;
33539
33539
  alertStateAt: drizzle_orm_sqlite_core.SQLiteColumn<{
33540
33540
  name: "alert_state_at";
@@ -34780,7 +34780,7 @@ declare const adsOperationSteps: drizzle_orm_sqlite_core.SQLiteTableWithColumns<
34780
34780
  tableName: "ads_operation_steps";
34781
34781
  dataType: "string";
34782
34782
  columnType: "SQLiteText";
34783
- data: "unknown" | "active" | "failed" | "pending" | "executing" | "rollback_executing" | "rolled_back" | "rollback_failed";
34783
+ data: "unknown" | "failed" | "pending" | "active" | "executing" | "rollback_executing" | "rolled_back" | "rollback_failed";
34784
34784
  driverParam: string;
34785
34785
  notNull: true;
34786
34786
  hasDefault: false;
@@ -34793,7 +34793,7 @@ declare const adsOperationSteps: drizzle_orm_sqlite_core.SQLiteTableWithColumns<
34793
34793
  generated: undefined;
34794
34794
  }, {}, {
34795
34795
  length: number | undefined;
34796
- $type: "unknown" | "active" | "failed" | "pending" | "executing" | "rollback_executing" | "rolled_back" | "rollback_failed";
34796
+ $type: "unknown" | "failed" | "pending" | "active" | "executing" | "rollback_executing" | "rolled_back" | "rollback_failed";
34797
34797
  }>;
34798
34798
  providerUpdatedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
34799
34799
  name: "provider_updated_at";
@@ -36100,7 +36100,7 @@ declare const googleAdsConnections: drizzle_orm_sqlite_core.SQLiteTableWithColum
36100
36100
  tableName: "google_ads_connections";
36101
36101
  dataType: "string";
36102
36102
  columnType: "SQLiteText";
36103
- data: "unknown" | "enabled" | "suspended" | "closed" | "canceled" | "unspecified";
36103
+ data: "unknown" | "canceled" | "enabled" | "suspended" | "closed" | "unspecified";
36104
36104
  driverParam: string;
36105
36105
  notNull: false;
36106
36106
  hasDefault: false;
@@ -36113,7 +36113,7 @@ declare const googleAdsConnections: drizzle_orm_sqlite_core.SQLiteTableWithColum
36113
36113
  generated: undefined;
36114
36114
  }, {}, {
36115
36115
  length: number | undefined;
36116
- $type: "unknown" | "enabled" | "suspended" | "closed" | "canceled" | "unspecified";
36116
+ $type: "unknown" | "canceled" | "enabled" | "suspended" | "closed" | "unspecified";
36117
36117
  }>;
36118
36118
  scopes: drizzle_orm_sqlite_core.SQLiteColumn<{
36119
36119
  name: "scopes";
@@ -37060,7 +37060,7 @@ declare const googleAdsRawSnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColu
37060
37060
  hidden: boolean;
37061
37061
  testAccount: boolean;
37062
37062
  level: number;
37063
- status: "unknown" | "enabled" | "suspended" | "closed" | "canceled" | "unspecified";
37063
+ status: "unknown" | "canceled" | "enabled" | "suspended" | "closed" | "unspecified";
37064
37064
  }[];
37065
37065
  totalAccessible: number;
37066
37066
  truncated: boolean;
@@ -37080,7 +37080,7 @@ declare const googleAdsRawSnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColu
37080
37080
  id: string;
37081
37081
  resourceName: string;
37082
37082
  name: string;
37083
- status: "unknown" | "enabled" | "removed" | "paused";
37083
+ status: "unknown" | "enabled" | "paused" | "removed";
37084
37084
  advertisingChannelType: string | null;
37085
37085
  biddingStrategyType: string | null;
37086
37086
  }[];
@@ -37088,7 +37088,7 @@ declare const googleAdsRawSnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColu
37088
37088
  id: string;
37089
37089
  resourceName: string;
37090
37090
  name: string;
37091
- status: "unknown" | "enabled" | "removed" | "hidden";
37091
+ status: "unknown" | "enabled" | "hidden" | "removed";
37092
37092
  category: string;
37093
37093
  origin: string;
37094
37094
  primaryForGoal: boolean;
@@ -37112,7 +37112,7 @@ declare const googleAdsRawSnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColu
37112
37112
  }[];
37113
37113
  campaignGoalConfigurations: {
37114
37114
  campaignId: string;
37115
- goalConfigLevel: "customer" | "campaign";
37115
+ goalConfigLevel: "campaign" | "customer";
37116
37116
  customGoalId: string | null;
37117
37117
  }[];
37118
37118
  campaignConversionGoalsComplete?: boolean | undefined;
@@ -37163,7 +37163,7 @@ declare const googleAdsRawSnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColu
37163
37163
  hidden: boolean;
37164
37164
  testAccount: boolean;
37165
37165
  level: number;
37166
- status: "unknown" | "enabled" | "suspended" | "closed" | "canceled" | "unspecified";
37166
+ status: "unknown" | "canceled" | "enabled" | "suspended" | "closed" | "unspecified";
37167
37167
  }[];
37168
37168
  totalAccessible: number;
37169
37169
  truncated: boolean;
@@ -37183,7 +37183,7 @@ declare const googleAdsRawSnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColu
37183
37183
  id: string;
37184
37184
  resourceName: string;
37185
37185
  name: string;
37186
- status: "unknown" | "enabled" | "removed" | "paused";
37186
+ status: "unknown" | "enabled" | "paused" | "removed";
37187
37187
  advertisingChannelType: string | null;
37188
37188
  biddingStrategyType: string | null;
37189
37189
  }[];
@@ -37191,7 +37191,7 @@ declare const googleAdsRawSnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColu
37191
37191
  id: string;
37192
37192
  resourceName: string;
37193
37193
  name: string;
37194
- status: "unknown" | "enabled" | "removed" | "hidden";
37194
+ status: "unknown" | "enabled" | "hidden" | "removed";
37195
37195
  category: string;
37196
37196
  origin: string;
37197
37197
  primaryForGoal: boolean;
@@ -37215,7 +37215,7 @@ declare const googleAdsRawSnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColu
37215
37215
  }[];
37216
37216
  campaignGoalConfigurations: {
37217
37217
  campaignId: string;
37218
- goalConfigLevel: "customer" | "campaign";
37218
+ goalConfigLevel: "campaign" | "customer";
37219
37219
  customGoalId: string | null;
37220
37220
  }[];
37221
37221
  campaignConversionGoalsComplete?: boolean | undefined;
@@ -37372,7 +37372,7 @@ declare const gtmRawSnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
37372
37372
  tableName: "gtm_raw_snapshots";
37373
37373
  dataType: "string";
37374
37374
  columnType: "SQLiteText";
37375
- data: "live" | "draft" | "accounts" | "container";
37375
+ data: "accounts" | "container" | "live" | "draft";
37376
37376
  driverParam: string;
37377
37377
  notNull: true;
37378
37378
  hasDefault: false;
@@ -37385,7 +37385,7 @@ declare const gtmRawSnapshots: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
37385
37385
  generated: undefined;
37386
37386
  }, {}, {
37387
37387
  length: number | undefined;
37388
- $type: "live" | "draft" | "accounts" | "container";
37388
+ $type: "accounts" | "container" | "live" | "draft";
37389
37389
  }>;
37390
37390
  accountId: drizzle_orm_sqlite_core.SQLiteColumn<{
37391
37391
  name: "account_id";
@@ -40933,8 +40933,8 @@ type ClassificationConfig = z.infer<typeof classificationConfigSchema>;
40933
40933
  declare const seoInstallConfigSchema: z.ZodObject<{
40934
40934
  enabled: z.ZodBoolean;
40935
40935
  fundingMode: z.ZodEnum<{
40936
- "self-hosted": "self-hosted";
40937
40936
  hosted: "hosted";
40937
+ "self-hosted": "self-hosted";
40938
40938
  }>;
40939
40939
  policy: z.ZodObject<{
40940
40940
  maxRunCostMicros: z.ZodNumber;
package/dist/index.js CHANGED
@@ -3,14 +3,14 @@ import {
3
3
  createGoogleMarketingCredentialStore,
4
4
  createGoogleMarketingRuntime,
5
5
  createServer
6
- } from "./chunk-IUMZCSU4.js";
6
+ } from "./chunk-XJQNALKR.js";
7
7
  import "./chunk-M6OBSGWD.js";
8
- import "./chunk-HL64C53O.js";
9
- import "./chunk-NKJLQ6ED.js";
8
+ import "./chunk-BYPNVDJE.js";
9
+ import "./chunk-CD7WROGG.js";
10
10
  import "./chunk-ELCLGWUT.js";
11
11
  import "./chunk-XEBKF4N5.js";
12
12
  import "./chunk-YL3ZBKBV.js";
13
- import "./chunk-FFPD6DWR.js";
13
+ import "./chunk-KIUXAGME.js";
14
14
  import "./chunk-F2O75EG3.js";
15
15
  import "./chunk-TSENU4GG.js";
16
16
  import "./chunk-Z57QUHG6.js";
@@ -28,10 +28,10 @@ import "./chunk-GSQR574F.js";
28
28
  import "./chunk-SKXOS5YA.js";
29
29
  import "./chunk-AOJU5LKX.js";
30
30
  import "./chunk-HGMYEDAQ.js";
31
- import "./chunk-VRDN5TH7.js";
31
+ import "./chunk-FVA3QBUJ.js";
32
32
  import "./chunk-QP6RYMZR.js";
33
33
  import "./chunk-RIQXJDGZ.js";
34
- import "./chunk-7VPF373L.js";
34
+ import "./chunk-RQMGGRIO.js";
35
35
  import "./chunk-6TIJFZX5.js";
36
36
  import "./chunk-D4ABSOQG.js";
37
37
  import "./chunk-VDWTOMU4.js";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  buildSetupState,
9
9
  queueServeHandoff
10
- } from "./chunk-KNGGDWL5.js";
10
+ } from "./chunk-NBZ7GLTP.js";
11
11
  import "./chunk-VJWDBFSL.js";
12
12
  import "./chunk-F2O75EG3.js";
13
13
  import "./chunk-Z57QUHG6.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  HISTORY_WINDOW_RUNS,
3
3
  IntelligenceService
4
- } from "./chunk-VRDN5TH7.js";
4
+ } from "./chunk-FVA3QBUJ.js";
5
5
  import "./chunk-QP6RYMZR.js";
6
6
  import "./chunk-RIQXJDGZ.js";
7
- import "./chunk-7VPF373L.js";
7
+ import "./chunk-RQMGGRIO.js";
8
8
  import "./chunk-6TIJFZX5.js";
9
9
  import "./chunk-D4ABSOQG.js";
10
10
  import "./chunk-VDWTOMU4.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  backfillAiReferralPaths,
3
3
  backfillNormalizedPaths
4
- } from "./chunk-JJH55CAR.js";
4
+ } from "./chunk-I37MDUG5.js";
5
5
  import {
6
6
  operatorHttpUrl
7
7
  } from "./chunk-6GO5VVAC.js";
@@ -9,14 +9,14 @@ import {
9
9
  allowsKeylessFirstRunSetup,
10
10
  createServer,
11
11
  waitForServerRuntimeStartup
12
- } from "./chunk-IUMZCSU4.js";
12
+ } from "./chunk-XJQNALKR.js";
13
13
  import "./chunk-M6OBSGWD.js";
14
- import "./chunk-HL64C53O.js";
15
- import "./chunk-NKJLQ6ED.js";
14
+ import "./chunk-BYPNVDJE.js";
15
+ import "./chunk-CD7WROGG.js";
16
16
  import "./chunk-ELCLGWUT.js";
17
17
  import "./chunk-XEBKF4N5.js";
18
18
  import "./chunk-YL3ZBKBV.js";
19
- import "./chunk-FFPD6DWR.js";
19
+ import "./chunk-KIUXAGME.js";
20
20
  import {
21
21
  trackFeatureCompleted
22
22
  } from "./chunk-F2O75EG3.js";
@@ -57,13 +57,13 @@ import {
57
57
  CliError,
58
58
  isMachineFormat
59
59
  } from "./chunk-HGMYEDAQ.js";
60
- import "./chunk-VRDN5TH7.js";
60
+ import "./chunk-FVA3QBUJ.js";
61
61
  import "./chunk-QP6RYMZR.js";
62
62
  import "./chunk-RIQXJDGZ.js";
63
63
  import {
64
64
  refreshSnapshotMentionIdentity,
65
65
  snapshotsWithSentimentResults
66
- } from "./chunk-7VPF373L.js";
66
+ } from "./chunk-RQMGGRIO.js";
67
67
  import "./chunk-6TIJFZX5.js";
68
68
  import "./chunk-D4ABSOQG.js";
69
69
  import {
@@ -9,8 +9,8 @@ import {
9
9
  resolveAeroModel,
10
10
  resolveConfiguredAgentProvider,
11
11
  resolveSessionProviderAndModel
12
- } from "./chunk-HL64C53O.js";
13
- import "./chunk-NKJLQ6ED.js";
12
+ } from "./chunk-BYPNVDJE.js";
13
+ import "./chunk-CD7WROGG.js";
14
14
  import {
15
15
  resolveAeroSkillDir
16
16
  } from "./chunk-MTW37GXF.js";
@@ -26,7 +26,7 @@ import "./chunk-SKXOS5YA.js";
26
26
  import "./chunk-AOJU5LKX.js";
27
27
  import "./chunk-HGMYEDAQ.js";
28
28
  import "./chunk-RIQXJDGZ.js";
29
- import "./chunk-7VPF373L.js";
29
+ import "./chunk-RQMGGRIO.js";
30
30
  import "./chunk-6TIJFZX5.js";
31
31
  import "./chunk-D4ABSOQG.js";
32
32
  import "./chunk-VDWTOMU4.js";
@@ -11,7 +11,7 @@ import {
11
11
  buildAllTools,
12
12
  buildReadTools,
13
13
  isAeroToolProfile
14
- } from "./chunk-NKJLQ6ED.js";
14
+ } from "./chunk-CD7WROGG.js";
15
15
  import "./chunk-RXWISYNN.js";
16
16
  import "./chunk-PNVI2UYZ.js";
17
17
  import "./chunk-BUTOZPE7.js";
@@ -19,7 +19,7 @@ import "./chunk-GSQR574F.js";
19
19
  import "./chunk-SKXOS5YA.js";
20
20
  import "./chunk-AOJU5LKX.js";
21
21
  import "./chunk-HGMYEDAQ.js";
22
- import "./chunk-7VPF373L.js";
22
+ import "./chunk-RQMGGRIO.js";
23
23
  import "./chunk-6TIJFZX5.js";
24
24
  import "./chunk-D4ABSOQG.js";
25
25
  import "./chunk-VDWTOMU4.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canonry/canonry",
3
- "version": "7.97.1",
3
+ "version": "7.97.2",
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": [