@ainyc/canonry 4.93.0 → 4.94.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.
- package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +4 -0
- package/assets/agent-workspace/skills/canonry/references/google-business-profile.md +1 -1
- package/assets/assets/{BacklinksPage-nkgAbbjk.js → BacklinksPage-FeUApIRv.js} +1 -1
- package/assets/assets/{ChartPrimitives-kdfylr1f.js → ChartPrimitives-DFCM9oRt.js} +1 -1
- package/assets/assets/{ProjectPage-BQYmq7FP.js → ProjectPage-Dyx8eZf_.js} +1 -1
- package/assets/assets/{RunRow-P-n5OkiY.js → RunRow-CF4jm8w8.js} +1 -1
- package/assets/assets/{RunsPage-DfBb4WCS.js → RunsPage-Dlyl-dmG.js} +1 -1
- package/assets/assets/{SettingsPage-CRGuFgeK.js → SettingsPage-DaQ0YNHz.js} +1 -1
- package/assets/assets/{TrafficPage-CMqP0AGZ.js → TrafficPage-38zf4QS8.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-XRGzkKWk.js → TrafficSourceDetailPage-DJY18oUo.js} +1 -1
- package/assets/assets/{arrow-left-BCR55g4n.js → arrow-left-CRHf1qtt.js} +1 -1
- package/assets/assets/{extract-error-message-BG1AlucT.js → extract-error-message-uWeOU6mU.js} +1 -1
- package/assets/assets/{index-BPjIZIDO.js → index-B7ZT1i67.js} +3 -3
- package/assets/assets/{trash-2-Cme1gNjU.js → trash-2-B1qn8ZLk.js} +1 -1
- package/assets/index.html +1 -1
- package/dist/{chunk-ADTLQHJY.js → chunk-3TTBKG73.js} +4 -4
- package/dist/{chunk-PK46TKGM.js → chunk-K4QOSPBX.js} +5 -2
- package/dist/{chunk-AUQNKEHV.js → chunk-PV3RAHMK.js} +1 -0
- package/dist/{chunk-KBDQ5OE4.js → chunk-ZJADMHJ5.js} +45 -11
- package/dist/cli.js +26 -10
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-4ATCJITP.js → intelligence-service-M33PXIWS.js} +2 -2
- package/dist/mcp.js +2 -2
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c}from"./index-
|
|
1
|
+
import{c}from"./index-B7ZT1i67.js";const a=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],h=c("circle-check",a);const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],n=c("circle-question-mark",e);const o=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],s=c("download",o);const t=[["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"}]],r=c("trash-2",t);export{h as C,s as D,r as T,n as a};
|
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-B7ZT1i67.js"></script>
|
|
16
16
|
<link rel="modulepreload" crossorigin href="./assets/vendor-tanstack-Dq7p98wZ.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="./assets/vendor-radix-B57xfQbP.js">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="./assets/vendor-recharts-ClRVR6aX.js">
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
loadConfig,
|
|
10
10
|
loadConfigRaw,
|
|
11
11
|
saveConfigPatch
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-K4QOSPBX.js";
|
|
13
13
|
import {
|
|
14
14
|
CC_CACHE_DIR,
|
|
15
15
|
DUCKDB_SPEC,
|
|
@@ -111,7 +111,7 @@ import {
|
|
|
111
111
|
siteAuditPages,
|
|
112
112
|
siteAuditSnapshots,
|
|
113
113
|
usageCounters
|
|
114
|
-
} from "./chunk-
|
|
114
|
+
} from "./chunk-ZJADMHJ5.js";
|
|
115
115
|
import {
|
|
116
116
|
AGENT_MEMORY_VALUE_MAX_BYTES,
|
|
117
117
|
AGENT_PROVIDER_IDS,
|
|
@@ -171,7 +171,7 @@ import {
|
|
|
171
171
|
validationError,
|
|
172
172
|
winnabilityClassLabel,
|
|
173
173
|
withRetry
|
|
174
|
-
} from "./chunk-
|
|
174
|
+
} from "./chunk-PV3RAHMK.js";
|
|
175
175
|
|
|
176
176
|
// src/telemetry.ts
|
|
177
177
|
import crypto from "crypto";
|
|
@@ -6387,7 +6387,7 @@ function readStoredGroundingSources(rawResponse) {
|
|
|
6387
6387
|
return result;
|
|
6388
6388
|
}
|
|
6389
6389
|
async function backfillInsightsCommand(project, opts) {
|
|
6390
|
-
const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-
|
|
6390
|
+
const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-M33PXIWS.js");
|
|
6391
6391
|
const config = loadConfig();
|
|
6392
6392
|
const db = createClient(config.database);
|
|
6393
6393
|
migrate(db);
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
trafficConnectVercelRequestSchema,
|
|
24
24
|
trafficConnectWordpressRequestSchema,
|
|
25
25
|
trafficEventKindSchema
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-PV3RAHMK.js";
|
|
27
27
|
|
|
28
28
|
// src/config.ts
|
|
29
29
|
import fs from "fs";
|
|
@@ -5024,7 +5024,10 @@ var ApiClient = class {
|
|
|
5024
5024
|
path: { name: project },
|
|
5025
5025
|
query: {
|
|
5026
5026
|
dismissed: opts?.dismissed ? "true" : void 0,
|
|
5027
|
-
runId: opts?.runId
|
|
5027
|
+
runId: opts?.runId,
|
|
5028
|
+
type: opts?.type,
|
|
5029
|
+
severity: opts?.severity,
|
|
5030
|
+
limit: opts?.limit !== void 0 ? String(opts.limit) : void 0
|
|
5028
5031
|
}
|
|
5029
5032
|
})
|
|
5030
5033
|
);
|
|
@@ -1009,6 +1009,7 @@ var gbpAttributeDtoSchema = z8.object({
|
|
|
1009
1009
|
name: z8.string(),
|
|
1010
1010
|
valueType: z8.string(),
|
|
1011
1011
|
values: z8.array(z8.union([z8.boolean(), z8.string()])),
|
|
1012
|
+
unsetValues: z8.array(z8.string()),
|
|
1012
1013
|
uris: z8.array(z8.string())
|
|
1013
1014
|
});
|
|
1014
1015
|
var gbpAttributesDtoSchema = z8.object({
|
|
@@ -259,7 +259,7 @@ import {
|
|
|
259
259
|
wordpressSchemaDeployResultDtoSchema,
|
|
260
260
|
wordpressSchemaStatusResultDtoSchema,
|
|
261
261
|
wordpressStatusDtoSchema
|
|
262
|
-
} from "./chunk-
|
|
262
|
+
} from "./chunk-PV3RAHMK.js";
|
|
263
263
|
|
|
264
264
|
// src/intelligence-service.ts
|
|
265
265
|
import { eq as eq37, desc as desc18, asc as asc5, and as and27, ne as ne5, or as or5, inArray as inArray14, gte as gte7, lte as lte4 } from "drizzle-orm";
|
|
@@ -8117,7 +8117,15 @@ function buildCategoryCounts(counts2) {
|
|
|
8117
8117
|
}
|
|
8118
8118
|
|
|
8119
8119
|
// ../api-routes/src/intelligence.ts
|
|
8120
|
-
import { eq as eq11, desc as desc4, and as and6, inArray as inArray4 } from "drizzle-orm";
|
|
8120
|
+
import { eq as eq11, desc as desc4, and as and6, inArray as inArray4, like } from "drizzle-orm";
|
|
8121
|
+
var SEVERITY_RANK = { low: 0, medium: 1, high: 2, critical: 3 };
|
|
8122
|
+
function severitiesAtOrAbove(min) {
|
|
8123
|
+
const floor = SEVERITY_RANK[min];
|
|
8124
|
+
if (floor === void 0) {
|
|
8125
|
+
throw validationError(`Invalid severity "${min}". Use one of: low, medium, high, critical.`);
|
|
8126
|
+
}
|
|
8127
|
+
return Object.keys(SEVERITY_RANK).filter((s) => SEVERITY_RANK[s] >= floor);
|
|
8128
|
+
}
|
|
8121
8129
|
function emptyHealthSnapshot(projectId) {
|
|
8122
8130
|
return {
|
|
8123
8131
|
id: `no-data:${projectId}`,
|
|
@@ -8231,9 +8239,28 @@ async function intelligenceRoutes(app) {
|
|
|
8231
8239
|
if (request.query.runId) {
|
|
8232
8240
|
conditions.push(eq11(insights.runId, request.query.runId));
|
|
8233
8241
|
}
|
|
8242
|
+
const typeFilter = request.query.type?.trim();
|
|
8243
|
+
if (typeFilter) {
|
|
8244
|
+
conditions.push(
|
|
8245
|
+
typeFilter.endsWith("*") ? like(insights.type, `${typeFilter.slice(0, -1)}%`) : eq11(insights.type, typeFilter)
|
|
8246
|
+
);
|
|
8247
|
+
}
|
|
8248
|
+
const severityFilter = request.query.severity?.trim();
|
|
8249
|
+
if (severityFilter) {
|
|
8250
|
+
conditions.push(inArray4(insights.severity, severitiesAtOrAbove(severityFilter)));
|
|
8251
|
+
}
|
|
8252
|
+
let limit;
|
|
8253
|
+
if (request.query.limit !== void 0) {
|
|
8254
|
+
const parsed = Number(request.query.limit);
|
|
8255
|
+
if (!Number.isInteger(parsed) || parsed < 1) {
|
|
8256
|
+
throw validationError(`Invalid limit "${request.query.limit}". Use a positive integer.`);
|
|
8257
|
+
}
|
|
8258
|
+
limit = parsed;
|
|
8259
|
+
}
|
|
8234
8260
|
const rows = app.db.select().from(insights).where(conditions.length === 1 ? conditions[0] : and6(...conditions)).orderBy(desc4(insights.createdAt)).all();
|
|
8235
8261
|
const showDismissed = request.query.dismissed === "true";
|
|
8236
|
-
|
|
8262
|
+
let result = rows.filter((r) => showDismissed || !r.dismissed).map(mapInsightRow);
|
|
8263
|
+
if (limit !== void 0) result = result.slice(0, limit);
|
|
8237
8264
|
return reply.send(result);
|
|
8238
8265
|
});
|
|
8239
8266
|
app.get("/projects/:name/insights/:id", async (request, reply) => {
|
|
@@ -13050,7 +13077,7 @@ async function visibilityStatsRoutes(app) {
|
|
|
13050
13077
|
}
|
|
13051
13078
|
|
|
13052
13079
|
// ../api-routes/src/composites.ts
|
|
13053
|
-
import { eq as eq17, and as and12, desc as desc9, sql as sql7, like, or as or4, inArray as inArray9 } from "drizzle-orm";
|
|
13080
|
+
import { eq as eq17, and as and12, desc as desc9, sql as sql7, like as like2, or as or4, inArray as inArray9 } from "drizzle-orm";
|
|
13054
13081
|
var TOP_INSIGHT_LIMIT = 5;
|
|
13055
13082
|
var SEARCH_HIT_HARD_LIMIT = 50;
|
|
13056
13083
|
var SEARCH_SNIPPET_RADIUS = 80;
|
|
@@ -13230,7 +13257,7 @@ async function compositeRoutes(app) {
|
|
|
13230
13257
|
sql7`${querySnapshots.answerText} LIKE ${pattern} ESCAPE '\\'`,
|
|
13231
13258
|
sql7`${querySnapshots.citedDomains} LIKE ${pattern} ESCAPE '\\'`,
|
|
13232
13259
|
sql7`${querySnapshots.rawResponse} LIKE ${pattern} ESCAPE '\\'`,
|
|
13233
|
-
|
|
13260
|
+
like2(queries.query, pattern)
|
|
13234
13261
|
)
|
|
13235
13262
|
)
|
|
13236
13263
|
).orderBy(desc9(querySnapshots.createdAt)).limit(limit + 1).all());
|
|
@@ -13238,8 +13265,8 @@ async function compositeRoutes(app) {
|
|
|
13238
13265
|
and12(
|
|
13239
13266
|
eq17(insights.projectId, project.id),
|
|
13240
13267
|
or4(
|
|
13241
|
-
|
|
13242
|
-
|
|
13268
|
+
like2(insights.title, pattern),
|
|
13269
|
+
like2(insights.query, pattern),
|
|
13243
13270
|
sql7`${insights.recommendation} LIKE ${pattern} ESCAPE '\\'`,
|
|
13244
13271
|
sql7`${insights.cause} LIKE ${pattern} ESCAPE '\\'`
|
|
13245
13272
|
)
|
|
@@ -16765,7 +16792,10 @@ var routeCatalog = [
|
|
|
16765
16792
|
parameters: [
|
|
16766
16793
|
nameParameter,
|
|
16767
16794
|
{ name: "dismissed", in: "query", description: "Include dismissed insights (true/false).", schema: stringSchema },
|
|
16768
|
-
{ name: "runId", in: "query", description: "Filter by run ID.", schema: stringSchema }
|
|
16795
|
+
{ name: "runId", in: "query", description: "Filter by run ID.", schema: stringSchema },
|
|
16796
|
+
{ name: "type", in: "query", description: "Filter by insight type. Exact match, or a trailing `*` for a prefix (e.g. `gbp-*`).", schema: stringSchema },
|
|
16797
|
+
{ name: "severity", in: "query", description: "Minimum severity (low|medium|high|critical); e.g. `high` returns high + critical.", schema: stringSchema },
|
|
16798
|
+
{ name: "limit", in: "query", description: "Cap the number of (newest-first) insights returned.", schema: stringSchema }
|
|
16769
16799
|
],
|
|
16770
16800
|
responses: {
|
|
16771
16801
|
// TODO: Add `InsightDto` Zod schema in contracts.
|
|
@@ -20147,11 +20177,12 @@ function normalizeAttribute(raw) {
|
|
|
20147
20177
|
if (typeof v === "boolean" || typeof v === "string") values.push(v);
|
|
20148
20178
|
}
|
|
20149
20179
|
for (const s of raw.repeatedEnumValue?.setValues ?? []) values.push(s);
|
|
20180
|
+
const unsetValues = [...raw.repeatedEnumValue?.unsetValues ?? []];
|
|
20150
20181
|
const uris = [];
|
|
20151
20182
|
for (const u of raw.uriValues ?? []) {
|
|
20152
|
-
if (u
|
|
20183
|
+
if (u.uri) uris.push(u.uri);
|
|
20153
20184
|
}
|
|
20154
|
-
return { name: raw.name ?? "", valueType: raw.valueType ?? "", values, uris };
|
|
20185
|
+
return { name: raw.name ?? "", valueType: raw.valueType ?? "", values, unsetValues, uris };
|
|
20155
20186
|
}
|
|
20156
20187
|
function countAttributes(attrs) {
|
|
20157
20188
|
return attrs.length;
|
|
@@ -21390,7 +21421,10 @@ async function googleRoutes(app, opts) {
|
|
|
21390
21421
|
locationName: r.locationName,
|
|
21391
21422
|
attributeCount: r.attributeCount,
|
|
21392
21423
|
syncedAt: r.syncedAt,
|
|
21393
|
-
attributes: r.attributes
|
|
21424
|
+
attributes: r.attributes.map((attr) => ({
|
|
21425
|
+
...attr,
|
|
21426
|
+
unsetValues: attr.unsetValues ?? []
|
|
21427
|
+
}))
|
|
21394
21428
|
}));
|
|
21395
21429
|
return { attributes, total: attributes.length };
|
|
21396
21430
|
});
|
package/dist/cli.js
CHANGED
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
setTelemetrySource,
|
|
28
28
|
showFirstRunNotice,
|
|
29
29
|
trackEvent
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-3TTBKG73.js";
|
|
31
31
|
import {
|
|
32
32
|
CliError,
|
|
33
33
|
EXIT_SYSTEM_ERROR,
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
saveConfig,
|
|
45
45
|
saveConfigPatch,
|
|
46
46
|
usageError
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-K4QOSPBX.js";
|
|
48
48
|
import {
|
|
49
49
|
apiKeys,
|
|
50
50
|
createClient,
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
projects,
|
|
53
53
|
queries,
|
|
54
54
|
renderReportHtml
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-ZJADMHJ5.js";
|
|
56
56
|
import {
|
|
57
57
|
BacklinkSources,
|
|
58
58
|
CcReleaseSyncStatuses,
|
|
@@ -77,7 +77,7 @@ import {
|
|
|
77
77
|
providerQuotaPolicySchema,
|
|
78
78
|
resolveProviderInput,
|
|
79
79
|
winnabilityClassSchema
|
|
80
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-PV3RAHMK.js";
|
|
81
81
|
|
|
82
82
|
// src/cli.ts
|
|
83
83
|
import { pathToFileURL } from "url";
|
|
@@ -3534,7 +3534,11 @@ async function gbpAttributes(project, opts) {
|
|
|
3534
3534
|
console.log(` ${a.locationName} ${a.attributeCount} attribute(s)`);
|
|
3535
3535
|
for (const attr of a.attributes) {
|
|
3536
3536
|
const key = attr.name.replace(/^attributes\//, "");
|
|
3537
|
-
const val =
|
|
3537
|
+
const val = [
|
|
3538
|
+
...attr.values.map(String),
|
|
3539
|
+
...attr.unsetValues.map((v) => `unset:${v}`),
|
|
3540
|
+
...attr.uris
|
|
3541
|
+
].join(", ");
|
|
3538
3542
|
console.log(` ${key}: ${val}`);
|
|
3539
3543
|
}
|
|
3540
3544
|
}
|
|
@@ -9294,7 +9298,13 @@ var SNAPSHOT_CLI_COMMANDS = [
|
|
|
9294
9298
|
// src/commands/insights.ts
|
|
9295
9299
|
async function listInsights(project, opts) {
|
|
9296
9300
|
const client = createApiClient();
|
|
9297
|
-
const insights = await client.getInsights(project, {
|
|
9301
|
+
const insights = await client.getInsights(project, {
|
|
9302
|
+
dismissed: opts.dismissed,
|
|
9303
|
+
runId: opts.runId,
|
|
9304
|
+
type: opts.type,
|
|
9305
|
+
severity: opts.severity,
|
|
9306
|
+
limit: opts.limit
|
|
9307
|
+
});
|
|
9298
9308
|
if (opts.format === "json") {
|
|
9299
9309
|
console.log(JSON.stringify(insights, null, 2));
|
|
9300
9310
|
return;
|
|
@@ -9699,17 +9709,23 @@ function printGaps2(data) {
|
|
|
9699
9709
|
var INTELLIGENCE_CLI_COMMANDS = [
|
|
9700
9710
|
{
|
|
9701
9711
|
path: ["insights"],
|
|
9702
|
-
usage: "canonry insights <project> [--dismissed] [--run-id <id>] [--format json]",
|
|
9712
|
+
usage: "canonry insights <project> [--type <type|prefix*>] [--severity <low|medium|high|critical>] [--limit <n>] [--dismissed] [--run-id <id>] [--format json]",
|
|
9703
9713
|
options: {
|
|
9704
9714
|
dismissed: { type: "boolean" },
|
|
9705
|
-
"run-id": { type: "string" }
|
|
9715
|
+
"run-id": { type: "string" },
|
|
9716
|
+
type: { type: "string" },
|
|
9717
|
+
severity: { type: "string" },
|
|
9718
|
+
limit: { type: "string" }
|
|
9706
9719
|
},
|
|
9707
9720
|
run: async (input) => {
|
|
9708
|
-
const usage = "canonry insights <project> [--dismissed] [--run-id <id>] [--format json]";
|
|
9721
|
+
const usage = "canonry insights <project> [--type <type|prefix*>] [--severity <low|medium|high|critical>] [--limit <n>] [--dismissed] [--run-id <id>] [--format json]";
|
|
9709
9722
|
const project = requireProject(input, "insights", usage);
|
|
9710
9723
|
const dismissed = input.values.dismissed === true;
|
|
9711
9724
|
const runId = getString(input.values, "run-id");
|
|
9712
|
-
|
|
9725
|
+
const type = getString(input.values, "type");
|
|
9726
|
+
const severity = getString(input.values, "severity");
|
|
9727
|
+
const limit = parseIntegerOption(input, "limit", { message: "limit must be an integer", usage, command: "insights" });
|
|
9728
|
+
await listInsights(project, { dismissed, runId, type, severity, limit, format: input.format });
|
|
9713
9729
|
}
|
|
9714
9730
|
},
|
|
9715
9731
|
{
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3TTBKG73.js";
|
|
4
4
|
import {
|
|
5
5
|
loadConfig
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-K4QOSPBX.js";
|
|
7
|
+
import "./chunk-ZJADMHJ5.js";
|
|
8
|
+
import "./chunk-PV3RAHMK.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-K4QOSPBX.js";
|
|
7
7
|
import {
|
|
8
8
|
isReadOnlyKey
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-PV3RAHMK.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": "@ainyc/canonry",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.94.0",
|
|
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",
|
|
@@ -63,26 +63,26 @@
|
|
|
63
63
|
"tsup": "^8.5.1",
|
|
64
64
|
"tsx": "^4.19.0",
|
|
65
65
|
"@ainyc/canonry-api-client": "0.0.0",
|
|
66
|
-
"@ainyc/canonry-api-routes": "0.0.0",
|
|
67
66
|
"@ainyc/canonry-contracts": "0.0.0",
|
|
68
67
|
"@ainyc/canonry-config": "0.0.0",
|
|
69
|
-
"@ainyc/canonry-
|
|
70
|
-
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
71
|
-
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
68
|
+
"@ainyc/canonry-api-routes": "0.0.0",
|
|
72
69
|
"@ainyc/canonry-db": "0.0.0",
|
|
73
|
-
"@ainyc/canonry-integration-
|
|
70
|
+
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
74
71
|
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
72
|
+
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
73
|
+
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
75
74
|
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
76
|
-
"@ainyc/canonry-integration-google
|
|
77
|
-
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
75
|
+
"@ainyc/canonry-integration-google": "0.0.0",
|
|
78
76
|
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
79
|
-
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
80
77
|
"@ainyc/canonry-intelligence": "0.0.0",
|
|
81
|
-
"@ainyc/canonry-
|
|
78
|
+
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
79
|
+
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
80
|
+
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
81
|
+
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
82
82
|
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
83
83
|
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
84
|
-
"@ainyc/canonry-provider-
|
|
85
|
-
"@ainyc/canonry-provider-
|
|
84
|
+
"@ainyc/canonry-provider-perplexity": "0.0.0",
|
|
85
|
+
"@ainyc/canonry-provider-local": "0.0.0"
|
|
86
86
|
},
|
|
87
87
|
"scripts": {
|
|
88
88
|
"build": "tsx scripts/copy-agent-assets.ts && tsup && tsx build-web.ts",
|