@canonry/canonry 4.148.6 → 4.148.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.
- package/assets/assets/{AuditHistoryPanel-Dj4ubBWw.js → AuditHistoryPanel-C86x9Iku.js} +1 -1
- package/assets/assets/{BacklinksPage-DO0Y4ipF.js → BacklinksPage-B3oUNNXC.js} +1 -1
- package/assets/assets/{ChartPrimitives-Pfl9_KTS.js → ChartPrimitives-C6_tMGV3.js} +1 -1
- package/assets/assets/{HistoryPage-CW8R9K8Q.js → HistoryPage-DYiMm7tS.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-DARd-lIM.js → MeasurementPropertyPage-Cej0CSpU.js} +1 -1
- package/assets/assets/{ProjectPage-WQcGpLkQ.js → ProjectPage-CYFnPBUA.js} +1 -1
- package/assets/assets/{RunRow-B38F7Fzx.js → RunRow-BoPi92Qj.js} +1 -1
- package/assets/assets/{RunsPage-CcpGqrXb.js → RunsPage-DUM6WBL1.js} +1 -1
- package/assets/assets/{SettingsPage-vFUv8cVP.js → SettingsPage-DFPenWph.js} +1 -1
- package/assets/assets/{TrafficPage-BEzPAd-o.js → TrafficPage-S8S9tB6N.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-TOC6E5-9.js → TrafficSourceDetailPage-CfzhhNVa.js} +1 -1
- package/assets/assets/{arrow-left-Cc6kK8u6.js → arrow-left-Bhi4ZStt.js} +1 -1
- package/assets/assets/{extract-error-message-lonIEje0.js → extract-error-message-DJGuacu4.js} +1 -1
- package/assets/assets/{index-DftwFVMy.js → index-DOO7zB-y.js} +3 -3
- package/assets/assets/{trash-2-Bz6OQRvi.js → trash-2-B-gSnDV3.js} +1 -1
- package/assets/index.html +1 -1
- package/dist/{chunk-G6MROIF5.js → chunk-4VNOYFCG.js} +20 -20
- package/dist/{chunk-IGPUEHUD.js → chunk-B4JACCYB.js} +1 -1
- package/dist/{chunk-AJOOL3D3.js → chunk-HWK2JSV3.js} +45 -1
- package/dist/{chunk-UOYZDJOE.js → chunk-R6UQYXLG.js} +59 -0
- package/dist/cli.js +4 -4
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-S5PQT5GP.js → intelligence-service-M6QKJWT7.js} +2 -2
- package/dist/mcp.js +2 -2
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a}from"./index-
|
|
1
|
+
import{c as a}from"./index-DOO7zB-y.js";const t=[["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"}]],h=a("circle-question-mark",t);const e=[["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"}]],d=a("download",e);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"}]],p=a("external-link",o);const c=[["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"}]],s=a("trash-2",c);export{h as C,d as D,p as E,s as T};
|
package/assets/index.html
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
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-
|
|
15
|
+
<script type="module" crossorigin src="./assets/index-DOO7zB-y.js"></script>
|
|
16
16
|
<link rel="modulepreload" crossorigin href="./assets/vendor-tanstack-BjS7iY3g.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="./assets/vendor-radix-DnzzbllM.js">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="./assets/vendor-recharts-33ACLxsD.js">
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
loadConfig,
|
|
11
11
|
loadConfigRaw,
|
|
12
12
|
saveConfigPatch
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-B4JACCYB.js";
|
|
14
14
|
import {
|
|
15
15
|
CC_CACHE_DIR,
|
|
16
16
|
DUCKDB_SPEC,
|
|
@@ -126,7 +126,7 @@ import {
|
|
|
126
126
|
siteAuditSnapshots,
|
|
127
127
|
toAlertView,
|
|
128
128
|
usageCounters
|
|
129
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-HWK2JSV3.js";
|
|
130
130
|
import {
|
|
131
131
|
AGENT_MEMORY_VALUE_MAX_BYTES,
|
|
132
132
|
AGENT_PROVIDER_IDS,
|
|
@@ -177,6 +177,7 @@ import {
|
|
|
177
177
|
contentActionLabel,
|
|
178
178
|
contentBriefDtoSchema,
|
|
179
179
|
deriveCitedUrlCandidates,
|
|
180
|
+
deriveIndexCoverage,
|
|
180
181
|
determineAnswerMentioned,
|
|
181
182
|
dollarsToMicros,
|
|
182
183
|
effectiveBrandNames,
|
|
@@ -217,7 +218,7 @@ import {
|
|
|
217
218
|
validationError,
|
|
218
219
|
winnabilityClassLabel,
|
|
219
220
|
withRetry
|
|
220
|
-
} from "./chunk-
|
|
221
|
+
} from "./chunk-R6UQYXLG.js";
|
|
221
222
|
|
|
222
223
|
// src/telemetry.ts
|
|
223
224
|
import crypto from "crypto";
|
|
@@ -4371,18 +4372,14 @@ async function executeGscSync(db, runId, projectId, opts) {
|
|
|
4371
4372
|
latestByUrl.set(row.url, row);
|
|
4372
4373
|
}
|
|
4373
4374
|
}
|
|
4374
|
-
|
|
4375
|
-
|
|
4376
|
-
|
|
4377
|
-
|
|
4378
|
-
|
|
4379
|
-
|
|
4380
|
-
}
|
|
4381
|
-
|
|
4382
|
-
const reason = row.coverageState ?? "Unknown";
|
|
4383
|
-
reasonCounts[reason] = (reasonCounts[reason] ?? 0) + 1;
|
|
4384
|
-
}
|
|
4385
|
-
}
|
|
4375
|
+
const coverage = deriveIndexCoverage({
|
|
4376
|
+
pages: rows.map((row) => ({ page: row.keys[1] ?? "", impressions: row.impressions })),
|
|
4377
|
+
inspections: [...latestByUrl.values()].map((row) => ({
|
|
4378
|
+
url: row.url,
|
|
4379
|
+
indexingState: row.indexingState,
|
|
4380
|
+
coverageState: row.coverageState
|
|
4381
|
+
}))
|
|
4382
|
+
});
|
|
4386
4383
|
const snapshotDate = formatDate(/* @__PURE__ */ new Date());
|
|
4387
4384
|
db.delete(gscCoverageSnapshots).where(and3(eq3(gscCoverageSnapshots.projectId, projectId), eq3(gscCoverageSnapshots.date, snapshotDate))).run();
|
|
4388
4385
|
db.insert(gscCoverageSnapshots).values({
|
|
@@ -4390,13 +4387,16 @@ async function executeGscSync(db, runId, projectId, opts) {
|
|
|
4390
4387
|
projectId,
|
|
4391
4388
|
syncRunId: runId,
|
|
4392
4389
|
date: snapshotDate,
|
|
4393
|
-
indexed:
|
|
4394
|
-
notIndexed:
|
|
4395
|
-
|
|
4390
|
+
indexed: coverage.indexed,
|
|
4391
|
+
notIndexed: coverage.notIndexed,
|
|
4392
|
+
unknownPages: coverage.unknown,
|
|
4393
|
+
verifiedByInspection: coverage.verifiedByInspection,
|
|
4394
|
+
derivedFromImpressions: coverage.derivedFromImpressions,
|
|
4395
|
+
reasonBreakdown: coverage.reasonBreakdown,
|
|
4396
4396
|
createdAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
4397
4397
|
}).run();
|
|
4398
4398
|
db.update(runs).set({ status: "completed", finishedAt: (/* @__PURE__ */ new Date()).toISOString() }).where(eq3(runs.id, runId)).run();
|
|
4399
|
-
log2.info("sync.completed", { runId, projectId, searchDataRows: rows.length, indexed:
|
|
4399
|
+
log2.info("sync.completed", { runId, projectId, searchDataRows: rows.length, indexed: coverage.indexed, notIndexed: coverage.notIndexed, unknown: coverage.unknown, verifiedByInspection: coverage.verifiedByInspection });
|
|
4400
4400
|
} catch (err) {
|
|
4401
4401
|
const errorMsg = err instanceof Error ? err.message : String(err);
|
|
4402
4402
|
db.update(runs).set({ status: "failed", error: errorMsg, finishedAt: (/* @__PURE__ */ new Date()).toISOString() }).where(eq3(runs.id, runId)).run();
|
|
@@ -7361,7 +7361,7 @@ function readStoredGroundingSources(rawResponse) {
|
|
|
7361
7361
|
return result;
|
|
7362
7362
|
}
|
|
7363
7363
|
async function backfillInsightsCommand(project, opts) {
|
|
7364
|
-
const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-
|
|
7364
|
+
const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-M6QKJWT7.js");
|
|
7365
7365
|
const config = loadConfig();
|
|
7366
7366
|
const db = createClient(config.database);
|
|
7367
7367
|
migrate(db);
|
|
@@ -519,7 +519,7 @@ import {
|
|
|
519
519
|
wordpressSchemaDeployResultDtoSchema,
|
|
520
520
|
wordpressSchemaStatusResultDtoSchema,
|
|
521
521
|
wordpressStatusDtoSchema
|
|
522
|
-
} from "./chunk-
|
|
522
|
+
} from "./chunk-R6UQYXLG.js";
|
|
523
523
|
|
|
524
524
|
// src/intelligence-service.ts
|
|
525
525
|
import { eq as eq57, desc as desc26, asc as asc11, and as and45, ne as ne7, or as or11, inArray as inArray19, gte as gte13, lte as lte10 } from "drizzle-orm";
|
|
@@ -1133,6 +1133,17 @@ var gscCoverageSnapshots = sqliteTable("gsc_coverage_snapshots", {
|
|
|
1133
1133
|
date: text("date").notNull(),
|
|
1134
1134
|
indexed: integer("indexed").notNull().default(0),
|
|
1135
1135
|
notIndexed: integer("not_indexed").notNull().default(0),
|
|
1136
|
+
/**
|
|
1137
|
+
* Pages we have no evidence either way for: no impressions in the window and
|
|
1138
|
+
* never inspected. Deliberately NOT folded into `notIndexed` — absence of
|
|
1139
|
+
* impressions is not evidence of exclusion, and collapsing the two would
|
|
1140
|
+
* report every unmeasured page as a problem.
|
|
1141
|
+
*/
|
|
1142
|
+
unknownPages: integer("unknown_pages").notNull().default(0),
|
|
1143
|
+
/** Of the above, how many carry a real URL Inspection verdict. */
|
|
1144
|
+
verifiedByInspection: integer("verified_by_inspection").notNull().default(0),
|
|
1145
|
+
/** Pages proven indexed by impressions alone, costing no inspection quota. */
|
|
1146
|
+
derivedFromImpressions: integer("derived_from_impressions").notNull().default(0),
|
|
1136
1147
|
reasonBreakdown: text("reason_breakdown", { mode: "json" }).$type().notNull().default({}),
|
|
1137
1148
|
createdAt: text("created_at").notNull()
|
|
1138
1149
|
}, (table) => [
|
|
@@ -5053,6 +5064,36 @@ var MIGRATION_VERSIONS = [
|
|
|
5053
5064
|
`CREATE UNIQUE INDEX IF NOT EXISTS idx_measurement_segments_project_id
|
|
5054
5065
|
ON measurement_segments(project_id, id)`
|
|
5055
5066
|
]
|
|
5067
|
+
},
|
|
5068
|
+
{
|
|
5069
|
+
version: 125,
|
|
5070
|
+
name: "gsc-coverage-unknown-and-provenance",
|
|
5071
|
+
statements: [
|
|
5072
|
+
// Create-if-missing first. A database migrating up from a legacy schema
|
|
5073
|
+
// may not have this table yet, and `ALTER TABLE` on a missing table
|
|
5074
|
+
// raises an error the runner does NOT swallow — it only swallows
|
|
5075
|
+
// duplicate-column. Mirrors the original definition so this version is
|
|
5076
|
+
// self-sufficient and safely re-runnable.
|
|
5077
|
+
`CREATE TABLE IF NOT EXISTS gsc_coverage_snapshots (
|
|
5078
|
+
id TEXT PRIMARY KEY,
|
|
5079
|
+
project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
|
|
5080
|
+
sync_run_id TEXT REFERENCES runs(id) ON DELETE CASCADE,
|
|
5081
|
+
date TEXT NOT NULL,
|
|
5082
|
+
indexed INTEGER NOT NULL DEFAULT 0,
|
|
5083
|
+
not_indexed INTEGER NOT NULL DEFAULT 0,
|
|
5084
|
+
reason_breakdown TEXT NOT NULL DEFAULT '{}',
|
|
5085
|
+
created_at TEXT NOT NULL
|
|
5086
|
+
)`,
|
|
5087
|
+
// A THIRD state, not a rename of anything. Named `unknown_pages`
|
|
5088
|
+
// because bare `unknown` is a reserved SQL keyword. A page with no
|
|
5089
|
+
// impressions and no inspection is unmeasured, and folding it into
|
|
5090
|
+
// `not_indexed` would report every such page as a problem.
|
|
5091
|
+
`ALTER TABLE gsc_coverage_snapshots ADD COLUMN unknown_pages INTEGER NOT NULL DEFAULT 0`,
|
|
5092
|
+
// Provenance: how much of the number is a real Google verdict versus
|
|
5093
|
+
// derived from impressions. Lets the UI say how much it actually checked.
|
|
5094
|
+
`ALTER TABLE gsc_coverage_snapshots ADD COLUMN verified_by_inspection INTEGER NOT NULL DEFAULT 0`,
|
|
5095
|
+
`ALTER TABLE gsc_coverage_snapshots ADD COLUMN derived_from_impressions INTEGER NOT NULL DEFAULT 0`
|
|
5096
|
+
]
|
|
5056
5097
|
}
|
|
5057
5098
|
];
|
|
5058
5099
|
function addRunsMeasurementPlanVersionForeignKey(tx) {
|
|
@@ -36099,6 +36140,9 @@ async function googleRoutes(app, opts) {
|
|
|
36099
36140
|
date: r.date,
|
|
36100
36141
|
indexed: r.indexed,
|
|
36101
36142
|
notIndexed: r.notIndexed,
|
|
36143
|
+
unknownPages: r.unknownPages,
|
|
36144
|
+
verifiedByInspection: r.verifiedByInspection,
|
|
36145
|
+
derivedFromImpressions: r.derivedFromImpressions,
|
|
36102
36146
|
reasonBreakdown: r.reasonBreakdown
|
|
36103
36147
|
})).reverse();
|
|
36104
36148
|
});
|
|
@@ -7529,6 +7529,17 @@ var gscCoverageSnapshotDtoSchema = z17.object({
|
|
|
7529
7529
|
date: z17.string(),
|
|
7530
7530
|
indexed: z17.number(),
|
|
7531
7531
|
notIndexed: z17.number(),
|
|
7532
|
+
/**
|
|
7533
|
+
* Pages with no evidence either way — no impressions in the window and never
|
|
7534
|
+
* inspected. Deliberately NOT folded into `notIndexed`: absence of
|
|
7535
|
+
* impressions is not evidence of exclusion, and merging the two would report
|
|
7536
|
+
* every unmeasured page as a problem.
|
|
7537
|
+
*/
|
|
7538
|
+
unknownPages: z17.number().default(0),
|
|
7539
|
+
/** Of the total, how many carry a real URL Inspection verdict. */
|
|
7540
|
+
verifiedByInspection: z17.number().default(0),
|
|
7541
|
+
/** Pages proven indexed by impressions alone, costing no inspection quota. */
|
|
7542
|
+
derivedFromImpressions: z17.number().default(0),
|
|
7532
7543
|
reasonBreakdown: z17.record(z17.string(), z17.number()).default({})
|
|
7533
7544
|
});
|
|
7534
7545
|
var gscSiteDtoSchema = z17.object({
|
|
@@ -11014,6 +11025,53 @@ function summarizeCheckResults(results) {
|
|
|
11014
11025
|
return summary;
|
|
11015
11026
|
}
|
|
11016
11027
|
|
|
11028
|
+
// ../contracts/src/index-coverage.ts
|
|
11029
|
+
function deriveIndexCoverage(input) {
|
|
11030
|
+
const impressionsByPage = /* @__PURE__ */ new Map();
|
|
11031
|
+
for (const row of input.pages) {
|
|
11032
|
+
if (!row.page) continue;
|
|
11033
|
+
impressionsByPage.set(row.page, (impressionsByPage.get(row.page) ?? 0) + (row.impressions || 0));
|
|
11034
|
+
}
|
|
11035
|
+
const inspectionByUrl = /* @__PURE__ */ new Map();
|
|
11036
|
+
for (const row of input.inspections ?? []) {
|
|
11037
|
+
if (row.url) inspectionByUrl.set(row.url, row);
|
|
11038
|
+
}
|
|
11039
|
+
const states = /* @__PURE__ */ new Map();
|
|
11040
|
+
const reasonBreakdown = {};
|
|
11041
|
+
let indexed = 0;
|
|
11042
|
+
let notIndexed = 0;
|
|
11043
|
+
let unknown = 0;
|
|
11044
|
+
let verifiedByInspection = 0;
|
|
11045
|
+
let derivedFromImpressions = 0;
|
|
11046
|
+
for (const page of /* @__PURE__ */ new Set([...impressionsByPage.keys(), ...inspectionByUrl.keys()])) {
|
|
11047
|
+
const impressions = impressionsByPage.get(page) ?? 0;
|
|
11048
|
+
const inspection = inspectionByUrl.get(page);
|
|
11049
|
+
if (impressions > 0) {
|
|
11050
|
+
states.set(page, "indexed");
|
|
11051
|
+
indexed++;
|
|
11052
|
+
derivedFromImpressions++;
|
|
11053
|
+
if (inspection) verifiedByInspection++;
|
|
11054
|
+
continue;
|
|
11055
|
+
}
|
|
11056
|
+
if (!inspection) {
|
|
11057
|
+
states.set(page, "unknown");
|
|
11058
|
+
unknown++;
|
|
11059
|
+
continue;
|
|
11060
|
+
}
|
|
11061
|
+
verifiedByInspection++;
|
|
11062
|
+
if (inspection.indexingState === "INDEXING_ALLOWED") {
|
|
11063
|
+
states.set(page, "indexed");
|
|
11064
|
+
indexed++;
|
|
11065
|
+
} else {
|
|
11066
|
+
states.set(page, "not-indexed");
|
|
11067
|
+
notIndexed++;
|
|
11068
|
+
const reason = inspection.coverageState ?? "Unknown";
|
|
11069
|
+
reasonBreakdown[reason] = (reasonBreakdown[reason] ?? 0) + 1;
|
|
11070
|
+
}
|
|
11071
|
+
}
|
|
11072
|
+
return { states, indexed, notIndexed, unknown, verifiedByInspection, derivedFromImpressions, reasonBreakdown };
|
|
11073
|
+
}
|
|
11074
|
+
|
|
11017
11075
|
// ../contracts/src/query-normalize.ts
|
|
11018
11076
|
function normalizeQueryText(value) {
|
|
11019
11077
|
return value.trim().toLowerCase();
|
|
@@ -14162,6 +14220,7 @@ export {
|
|
|
14162
14220
|
CheckCategories,
|
|
14163
14221
|
doctorReportSchema,
|
|
14164
14222
|
summarizeCheckResults,
|
|
14223
|
+
deriveIndexCoverage,
|
|
14165
14224
|
normalizeQueryText,
|
|
14166
14225
|
citationVisibilityResponseSchema,
|
|
14167
14226
|
emptyCitationVisibility,
|
package/dist/cli.js
CHANGED
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
showFirstRunNotice,
|
|
31
31
|
trackCliCommandFinished,
|
|
32
32
|
trackEvent
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-4VNOYFCG.js";
|
|
34
34
|
import {
|
|
35
35
|
CliError,
|
|
36
36
|
EXIT_SYSTEM_ERROR,
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
saveConfigPatch,
|
|
51
51
|
systemError,
|
|
52
52
|
usageError
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-B4JACCYB.js";
|
|
54
54
|
import {
|
|
55
55
|
apiKeys,
|
|
56
56
|
createClient,
|
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
projects,
|
|
59
59
|
queries,
|
|
60
60
|
renderReportHtml
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-HWK2JSV3.js";
|
|
62
62
|
import {
|
|
63
63
|
AdsDeliverySnapshotStatuses,
|
|
64
64
|
AdsHistoricalCampaignRollupStatuses,
|
|
@@ -122,7 +122,7 @@ import {
|
|
|
122
122
|
providerQuotaPolicySchema,
|
|
123
123
|
resolveProviderInput,
|
|
124
124
|
winnabilityClassSchema
|
|
125
|
-
} from "./chunk-
|
|
125
|
+
} from "./chunk-R6UQYXLG.js";
|
|
126
126
|
|
|
127
127
|
// src/cli.ts
|
|
128
128
|
import { pathToFileURL } from "url";
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4VNOYFCG.js";
|
|
4
4
|
import {
|
|
5
5
|
loadConfig
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-B4JACCYB.js";
|
|
7
|
+
import "./chunk-HWK2JSV3.js";
|
|
8
|
+
import "./chunk-R6UQYXLG.js";
|
|
9
9
|
export {
|
|
10
10
|
createServer,
|
|
11
11
|
loadConfig
|
package/dist/mcp.js
CHANGED
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
PACKAGE_VERSION,
|
|
4
4
|
canonryMcpTools,
|
|
5
5
|
createApiClient
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-B4JACCYB.js";
|
|
7
7
|
import {
|
|
8
8
|
isReadOnlyKey
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-R6UQYXLG.js";
|
|
10
10
|
|
|
11
11
|
// src/mcp/cli.ts
|
|
12
12
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canonry/canonry",
|
|
3
|
-
"version": "4.148.
|
|
3
|
+
"version": "4.148.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Agent-first open-source AEO operating platform - track how answer engines cite your domain",
|
|
6
6
|
"license": "FSL-1.1-ALv2",
|
|
@@ -66,26 +66,26 @@
|
|
|
66
66
|
"@types/node-cron": "^3.0.11",
|
|
67
67
|
"tsup": "^8.5.1",
|
|
68
68
|
"tsx": "^4.19.0",
|
|
69
|
-
"@ainyc/canonry-api-routes": "0.0.0",
|
|
70
|
-
"@ainyc/canonry-config": "0.0.0",
|
|
71
69
|
"@ainyc/canonry-api-client": "0.0.0",
|
|
70
|
+
"@ainyc/canonry-config": "0.0.0",
|
|
72
71
|
"@ainyc/canonry-contracts": "0.0.0",
|
|
72
|
+
"@ainyc/canonry-api-routes": "0.0.0",
|
|
73
73
|
"@ainyc/canonry-db": "0.0.0",
|
|
74
74
|
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
75
75
|
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
76
|
-
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
77
|
-
"@ainyc/canonry-integration-google": "0.0.0",
|
|
78
76
|
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
77
|
+
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
79
78
|
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
79
|
+
"@ainyc/canonry-integration-google": "0.0.0",
|
|
80
|
+
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
80
81
|
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
81
|
-
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
82
82
|
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
83
83
|
"@ainyc/canonry-intelligence": "0.0.0",
|
|
84
84
|
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
85
85
|
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
86
|
-
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
87
86
|
"@ainyc/canonry-provider-local": "0.0.0",
|
|
88
87
|
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
88
|
+
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
89
89
|
"@ainyc/canonry-provider-perplexity": "0.0.0"
|
|
90
90
|
},
|
|
91
91
|
"scripts": {
|