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