@canonry/canonry 4.129.1 → 4.130.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/README.md +1 -0
- package/assets/assets/{AuditHistoryPanel-wJqs99Ak.js → AuditHistoryPanel-Ydzb2Y_Y.js} +1 -1
- package/assets/assets/BacklinksPage-DYodEusK.js +1 -0
- package/assets/assets/{ChartPrimitives-DSr5ldMf.js → ChartPrimitives-D67hsnF7.js} +1 -1
- package/assets/assets/{HistoryPage-Ca-GGnTI.js → HistoryPage-_h9ITL1w.js} +1 -1
- package/assets/assets/ProjectPage-fCJKCcHE.js +8 -0
- package/assets/assets/{RunRow-O9TbOdQY.js → RunRow-DzUNyTE-.js} +1 -1
- package/assets/assets/{RunsPage-C1Sqd7AN.js → RunsPage-FTvAjptk.js} +1 -1
- package/assets/assets/{SettingsPage-DPFh62BV.js → SettingsPage-CvgpYEAt.js} +1 -1
- package/assets/assets/{TrafficPage-5vKoQyoP.js → TrafficPage-qaMW9k6o.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-D17oADs8.js → TrafficSourceDetailPage-CRCso7_A.js} +1 -1
- package/assets/assets/{arrow-left-De5P5AIE.js → arrow-left-C--lHdP2.js} +1 -1
- package/assets/assets/{extract-error-message-BqMd-fQ6.js → extract-error-message-DVqYbKpB.js} +1 -1
- package/assets/assets/index-CdXn0JEf.js +210 -0
- package/assets/assets/{index-jymsMBpZ.css → index-JhX-wfQO.css} +1 -1
- package/assets/assets/trash-2-CyKRU3tR.js +1 -0
- package/assets/index.html +2 -2
- package/dist/{chunk-LPEE5AYY.js → chunk-5XU6WEMK.js} +649 -298
- package/dist/{chunk-K4FDDCYG.js → chunk-NVRJZU6V.js} +2742 -2626
- package/dist/{chunk-GYAKRVE2.js → chunk-QR5U2K3O.js} +508 -355
- package/dist/{chunk-WWZE7VDQ.js → chunk-WIALMCXM.js} +118 -1
- package/dist/cli.js +432 -182
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-2QBAGT5X.js → intelligence-service-53GUE6EI.js} +2 -2
- package/dist/mcp.js +5 -5
- package/package.json +8 -8
- package/assets/assets/BacklinksPage-BBDExYo_.js +0 -1
- package/assets/assets/ProjectPage-BuaSDSwf.js +0 -7
- package/assets/assets/index-C1ABEgkr.js +0 -210
- package/assets/assets/trash-2-6ZpABj9G.js +0 -1
|
@@ -30,6 +30,7 @@ import {
|
|
|
30
30
|
queryBatchRequestSchema,
|
|
31
31
|
queryGenerateRequestSchema,
|
|
32
32
|
reportPeriodSchema,
|
|
33
|
+
researchRunCreateSchema,
|
|
33
34
|
runTriggerRequestSchema,
|
|
34
35
|
schedulableRunKindSchema,
|
|
35
36
|
scheduleUpsertRequestSchema,
|
|
@@ -38,7 +39,7 @@ import {
|
|
|
38
39
|
trafficConnectWordpressRequestSchema,
|
|
39
40
|
trafficEventKindSchema,
|
|
40
41
|
trafficSeriesGranularitySchema
|
|
41
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-NVRJZU6V.js";
|
|
42
43
|
|
|
43
44
|
// src/config.ts
|
|
44
45
|
import fs from "fs";
|
|
@@ -1147,6 +1148,46 @@ var getApiV1ProjectsByNameDeletePreview = (options) => {
|
|
|
1147
1148
|
...options
|
|
1148
1149
|
});
|
|
1149
1150
|
};
|
|
1151
|
+
var getApiV1ProjectsByNameResearchRuns = (options) => {
|
|
1152
|
+
return (options.client ?? client).get({
|
|
1153
|
+
security: [
|
|
1154
|
+
{
|
|
1155
|
+
scheme: "bearer",
|
|
1156
|
+
type: "http"
|
|
1157
|
+
}
|
|
1158
|
+
],
|
|
1159
|
+
url: "/api/v1/projects/{name}/research/runs",
|
|
1160
|
+
...options
|
|
1161
|
+
});
|
|
1162
|
+
};
|
|
1163
|
+
var postApiV1ProjectsByNameResearchRuns = (options) => {
|
|
1164
|
+
return (options.client ?? client).post({
|
|
1165
|
+
security: [
|
|
1166
|
+
{
|
|
1167
|
+
scheme: "bearer",
|
|
1168
|
+
type: "http"
|
|
1169
|
+
}
|
|
1170
|
+
],
|
|
1171
|
+
url: "/api/v1/projects/{name}/research/runs",
|
|
1172
|
+
...options,
|
|
1173
|
+
headers: {
|
|
1174
|
+
"Content-Type": "application/json",
|
|
1175
|
+
...options.headers
|
|
1176
|
+
}
|
|
1177
|
+
});
|
|
1178
|
+
};
|
|
1179
|
+
var getApiV1ProjectsByNameResearchRunsByRunId = (options) => {
|
|
1180
|
+
return (options.client ?? client).get({
|
|
1181
|
+
security: [
|
|
1182
|
+
{
|
|
1183
|
+
scheme: "bearer",
|
|
1184
|
+
type: "http"
|
|
1185
|
+
}
|
|
1186
|
+
],
|
|
1187
|
+
url: "/api/v1/projects/{name}/research/runs/{runId}",
|
|
1188
|
+
...options
|
|
1189
|
+
});
|
|
1190
|
+
};
|
|
1150
1191
|
var getApiV1ProjectsByNameLocations = (options) => {
|
|
1151
1192
|
return (options.client ?? client).get({
|
|
1152
1193
|
security: [
|
|
@@ -5369,6 +5410,37 @@ var ApiClient = class {
|
|
|
5369
5410
|
})
|
|
5370
5411
|
);
|
|
5371
5412
|
}
|
|
5413
|
+
// ── Research query runs ────────────────────────────────────────────────
|
|
5414
|
+
/**
|
|
5415
|
+
* Start one saved research batch. Research results are deliberately kept
|
|
5416
|
+
* outside the tracked-query basket and visibility-run history.
|
|
5417
|
+
*/
|
|
5418
|
+
async startResearchRun(project, request) {
|
|
5419
|
+
return this.invoke(
|
|
5420
|
+
() => postApiV1ProjectsByNameResearchRuns({
|
|
5421
|
+
client: this.heyClient,
|
|
5422
|
+
path: { name: project },
|
|
5423
|
+
body: request
|
|
5424
|
+
})
|
|
5425
|
+
);
|
|
5426
|
+
}
|
|
5427
|
+
async listResearchRuns(project, opts) {
|
|
5428
|
+
return this.invoke(
|
|
5429
|
+
() => getApiV1ProjectsByNameResearchRuns({
|
|
5430
|
+
client: this.heyClient,
|
|
5431
|
+
path: { name: project },
|
|
5432
|
+
query: { limit: opts?.limit !== void 0 ? String(opts.limit) : void 0 }
|
|
5433
|
+
})
|
|
5434
|
+
);
|
|
5435
|
+
}
|
|
5436
|
+
async getResearchRun(project, runId) {
|
|
5437
|
+
return this.invoke(
|
|
5438
|
+
() => getApiV1ProjectsByNameResearchRunsByRunId({
|
|
5439
|
+
client: this.heyClient,
|
|
5440
|
+
path: { name: project, runId }
|
|
5441
|
+
})
|
|
5442
|
+
);
|
|
5443
|
+
}
|
|
5372
5444
|
async getDiscoveryHarvest(project, sessionId, opts) {
|
|
5373
5445
|
return this.invoke(
|
|
5374
5446
|
() => getApiV1ProjectsByNameDiscoverSessionsByIdHarvest({
|
|
@@ -6222,6 +6294,18 @@ var discoverySessionIdInputSchema = z2.object({
|
|
|
6222
6294
|
project: projectNameSchema,
|
|
6223
6295
|
sessionId: z2.string().min(1).describe("Discovery session ID returned by canonry_discover_run_start.")
|
|
6224
6296
|
});
|
|
6297
|
+
var researchRunStartInputSchema = z2.object({
|
|
6298
|
+
project: projectNameSchema,
|
|
6299
|
+
request: researchRunCreateSchema.describe("One shared provider/model/location context for every free-form query in this saved research batch.")
|
|
6300
|
+
});
|
|
6301
|
+
var researchRunsListInputSchema = z2.object({
|
|
6302
|
+
project: projectNameSchema,
|
|
6303
|
+
limit: z2.number().int().positive().max(100).optional().describe("Max saved research runs returned. Default 20.")
|
|
6304
|
+
});
|
|
6305
|
+
var researchRunIdInputSchema = z2.object({
|
|
6306
|
+
project: projectNameSchema,
|
|
6307
|
+
runId: z2.string().min(1).describe("Research run ID returned by canonry_research_run_start.")
|
|
6308
|
+
});
|
|
6225
6309
|
var discoveryHarvestInputSchema = z2.object({
|
|
6226
6310
|
project: projectNameSchema,
|
|
6227
6311
|
sessionId: z2.string().min(1).describe("Discovery session ID returned by canonry_discover_run_start."),
|
|
@@ -7504,6 +7588,39 @@ var canonryMcpTools = [
|
|
|
7504
7588
|
return { status: "detached", project: input.project };
|
|
7505
7589
|
}
|
|
7506
7590
|
}),
|
|
7591
|
+
defineTool({
|
|
7592
|
+
name: "canonry_research_run_start",
|
|
7593
|
+
title: "Start research query run",
|
|
7594
|
+
description: "Run a batch of free-form queries once each against one API provider, with an optional exact model and location. Results are saved as a research run for later inspection. This does not add any query to the tracked basket or affect overview tracking.",
|
|
7595
|
+
access: "write",
|
|
7596
|
+
tier: "discovery",
|
|
7597
|
+
inputSchema: researchRunStartInputSchema,
|
|
7598
|
+
annotations: writeAnnotations({ idempotentHint: false, openWorldHint: true }),
|
|
7599
|
+
openApiOperations: ["POST /api/v1/projects/{name}/research/runs"],
|
|
7600
|
+
handler: (client2, input) => client2.startResearchRun(input.project, input.request)
|
|
7601
|
+
}),
|
|
7602
|
+
defineTool({
|
|
7603
|
+
name: "canonry_research_runs_list",
|
|
7604
|
+
title: "List research query runs",
|
|
7605
|
+
description: "List saved research query runs for a project, newest first. Research and ICP discovery are distinct workflows: these are direct free-form query experiments and never modify the tracked basket.",
|
|
7606
|
+
access: "read",
|
|
7607
|
+
tier: "discovery",
|
|
7608
|
+
inputSchema: researchRunsListInputSchema,
|
|
7609
|
+
annotations: readAnnotations(),
|
|
7610
|
+
openApiOperations: ["GET /api/v1/projects/{name}/research/runs"],
|
|
7611
|
+
handler: (client2, input) => client2.listResearchRuns(input.project, input.limit === void 0 ? void 0 : { limit: input.limit })
|
|
7612
|
+
}),
|
|
7613
|
+
defineTool({
|
|
7614
|
+
name: "canonry_research_run_get",
|
|
7615
|
+
title: "Get research query run",
|
|
7616
|
+
description: "Get the saved per-query answers, sources, cited domains, and independent mention/citation results for one research run. It is read-only and does not promote or track any query.",
|
|
7617
|
+
access: "read",
|
|
7618
|
+
tier: "discovery",
|
|
7619
|
+
inputSchema: researchRunIdInputSchema,
|
|
7620
|
+
annotations: readAnnotations(),
|
|
7621
|
+
openApiOperations: ["GET /api/v1/projects/{name}/research/runs/{runId}"],
|
|
7622
|
+
handler: (client2, input) => client2.getResearchRun(input.project, input.runId)
|
|
7623
|
+
}),
|
|
7507
7624
|
defineTool({
|
|
7508
7625
|
name: "canonry_discover_run_start",
|
|
7509
7626
|
title: "Start discovery run",
|