@canonry/canonry 4.145.0 → 4.147.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-CV9g5mLR.js → AuditHistoryPanel-DiQ0Ynw5.js} +1 -1
- package/assets/assets/{BacklinksPage-RTcYKA5I.js → BacklinksPage-DLUQuPE_.js} +1 -1
- package/assets/assets/{ChartPrimitives-BMR0Dqnf.js → ChartPrimitives-BoEy1qo7.js} +1 -1
- package/assets/assets/{HistoryPage-DAN9QO6x.js → HistoryPage-mYR2vk8n.js} +1 -1
- package/assets/assets/MeasurementPropertyPage-BocyGHJN.js +1 -0
- package/assets/assets/ProjectPage-Q5wQ7nSW.js +12 -0
- package/assets/assets/{RunRow-WDCIS9MJ.js → RunRow-Ct-A6H9e.js} +1 -1
- package/assets/assets/{RunsPage-D3Zxd6oc.js → RunsPage-CsDtq0Qw.js} +1 -1
- package/assets/assets/{SettingsPage-DcCFVeA7.js → SettingsPage-BXwFGc1P.js} +1 -1
- package/assets/assets/{TrafficPage-D0tPBu5O.js → TrafficPage-B2omyoI8.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-CtyEE9eJ.js → TrafficSourceDetailPage-CoEqc6OJ.js} +1 -1
- package/assets/assets/{arrow-left-hBxXIGS1.js → arrow-left-Dh0vsQxe.js} +1 -1
- package/assets/assets/{extract-error-message-DRu89RHb.js → extract-error-message-DvWJ0xRn.js} +1 -1
- package/assets/assets/index-CXe6S1ey.css +1 -0
- package/assets/assets/index-FE8JPHmT.js +213 -0
- package/assets/assets/{trash-2-DP0ukgbl.js → trash-2-D1_8ZseY.js} +1 -1
- package/assets/assets/v2-overview-adapter-owDeFdUc.js +1 -0
- package/assets/assets/{vendor-markdown-6dwjPOKK.js → vendor-markdown-CpDJch4G.js} +1 -1
- package/assets/assets/{vendor-radix-CQ77EO2y.js → vendor-radix-DnzzbllM.js} +1 -1
- package/assets/assets/{vendor-recharts-DSxTZhaH.js → vendor-recharts-33ACLxsD.js} +1 -1
- package/assets/assets/vendor-tanstack-BjS7iY3g.js +1 -0
- package/assets/index.html +6 -6
- package/dist/{chunk-MBLATP5L.js → chunk-4BL24FQA.js} +485 -8
- package/dist/{chunk-EFBTZ6ZT.js → chunk-BVOU4UJM.js} +3753 -3018
- package/dist/{chunk-GTBCGJNT.js → chunk-DRDNHYIF.js} +4397 -1501
- package/dist/{chunk-XNAJXSZ2.js → chunk-ZDYS24LW.js} +4 -4
- package/dist/cli.js +364 -4
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-DVMEVHAG.js → intelligence-service-7CGZ537D.js} +2 -2
- package/dist/mcp.js +5 -5
- package/package.json +11 -10
- package/assets/assets/ProjectPage-aFV2nddp.js +0 -9
- package/assets/assets/index-ANFzZ3nU.css +0 -1
- package/assets/assets/index-DSOfEiTH.js +0 -213
- package/assets/assets/vendor-tanstack-Be8JdV5M.js +0 -1
|
@@ -26,8 +26,12 @@ import {
|
|
|
26
26
|
gscPerformanceOrderBySchema,
|
|
27
27
|
keywordBatchRequestSchema,
|
|
28
28
|
keywordGenerateRequestSchema,
|
|
29
|
+
measurementChangesQuerySchema,
|
|
30
|
+
measurementDataQualityQuerySchema,
|
|
29
31
|
measurementDiscoveryRequestSchema,
|
|
30
32
|
measurementDraftApplyAssignmentsRequestSchema,
|
|
33
|
+
measurementDraftApplyGroupMembershipRequestSchema,
|
|
34
|
+
measurementDraftApplyPairedAssignmentsRequestSchema,
|
|
31
35
|
measurementDraftApplySitemapSelectionRequestSchema,
|
|
32
36
|
measurementDraftClassifyAssignmentsRequestSchema,
|
|
33
37
|
measurementDraftClearAssignmentsRequestSchema,
|
|
@@ -36,12 +40,15 @@ import {
|
|
|
36
40
|
measurementDraftExcludeTargetRequestSchema,
|
|
37
41
|
measurementDraftImportSitemapRequestSchema,
|
|
38
42
|
measurementDraftMergeTargetsRequestSchema,
|
|
43
|
+
measurementDraftPreviewAssignmentsRequestSchema,
|
|
44
|
+
measurementDraftPreviewGroupMembershipRequestSchema,
|
|
39
45
|
measurementDraftPublishRequestSchema,
|
|
40
46
|
measurementDraftRebindTargetRequestSchema,
|
|
41
47
|
measurementDraftRemoveAssignmentRequestSchema,
|
|
42
48
|
measurementDraftRemoveCompetitorRequestSchema,
|
|
43
49
|
measurementDraftRemoveGroupRequestSchema,
|
|
44
50
|
measurementDraftRenameTargetRequestSchema,
|
|
51
|
+
measurementDraftReplaceAssignmentsRequestSchema,
|
|
45
52
|
measurementDraftUpsertCompetitorRequestSchema,
|
|
46
53
|
measurementDraftUpsertGroupRequestSchema,
|
|
47
54
|
measurementDraftUpsertTargetRequestSchema,
|
|
@@ -49,9 +56,14 @@ import {
|
|
|
49
56
|
measurementPlanAuthoringSchema,
|
|
50
57
|
measurementPlanDeactivateRequestSchema,
|
|
51
58
|
measurementPlanPublishRequestSchema,
|
|
59
|
+
measurementPortfolioSummaryQuerySchema,
|
|
60
|
+
measurementPropertyCompetitorsQuerySchema,
|
|
61
|
+
measurementPropertyEvidenceQuerySchema,
|
|
62
|
+
measurementPropertyQuestionsQuerySchema,
|
|
52
63
|
measurementQuerySetUpsertRequestSchema,
|
|
53
64
|
measurementQueryTemplateApplyRequestSchema,
|
|
54
65
|
measurementQueryTemplateUpsertRequestSchema,
|
|
66
|
+
measurementQuestionResultQuerySchema,
|
|
55
67
|
notificationCreateRequestSchema,
|
|
56
68
|
notificationEventSchema,
|
|
57
69
|
organicEvidencePeriodSchema,
|
|
@@ -69,7 +81,7 @@ import {
|
|
|
69
81
|
trafficConnectWordpressRequestSchema,
|
|
70
82
|
trafficEventKindSchema,
|
|
71
83
|
trafficSeriesGranularitySchema
|
|
72
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-BVOU4UJM.js";
|
|
73
85
|
|
|
74
86
|
// src/config.ts
|
|
75
87
|
import fs from "fs";
|
|
@@ -296,6 +308,15 @@ function isEndpointMissing(err) {
|
|
|
296
308
|
const status = err.details?.httpStatus;
|
|
297
309
|
return status === 404 || status === 405;
|
|
298
310
|
}
|
|
311
|
+
function systemError(message, options) {
|
|
312
|
+
return new CliError({
|
|
313
|
+
code: "CLI_SYSTEM_ERROR",
|
|
314
|
+
message,
|
|
315
|
+
displayMessage: options?.displayMessage,
|
|
316
|
+
details: options?.details,
|
|
317
|
+
exitCode: EXIT_SYSTEM_ERROR
|
|
318
|
+
});
|
|
319
|
+
}
|
|
299
320
|
function printCliError(err, format) {
|
|
300
321
|
if (isMachineFormat(format)) {
|
|
301
322
|
const envelope = err instanceof CliError ? { error: { code: err.code, message: err.message, ...err.details ? { details: err.details } : {} } } : { error: { code: "CLI_ERROR", message: err instanceof Error ? err.message : "An unexpected error occurred" } };
|
|
@@ -1498,6 +1519,54 @@ var postApiV1ProjectsByNameMeasurementPlanDraftActionsApplyAssignments = (option
|
|
|
1498
1519
|
}
|
|
1499
1520
|
});
|
|
1500
1521
|
};
|
|
1522
|
+
var postApiV1ProjectsByNameMeasurementPlanDraftActionsPreviewAssignments = (options) => {
|
|
1523
|
+
return (options.client ?? client).post({
|
|
1524
|
+
security: [
|
|
1525
|
+
{
|
|
1526
|
+
scheme: "bearer",
|
|
1527
|
+
type: "http"
|
|
1528
|
+
}
|
|
1529
|
+
],
|
|
1530
|
+
url: "/api/v1/projects/{name}/measurement-plan/draft/actions/preview-assignments",
|
|
1531
|
+
...options,
|
|
1532
|
+
headers: {
|
|
1533
|
+
"Content-Type": "application/json",
|
|
1534
|
+
...options.headers
|
|
1535
|
+
}
|
|
1536
|
+
});
|
|
1537
|
+
};
|
|
1538
|
+
var postApiV1ProjectsByNameMeasurementPlanDraftActionsReplaceAssignments = (options) => {
|
|
1539
|
+
return (options.client ?? client).post({
|
|
1540
|
+
security: [
|
|
1541
|
+
{
|
|
1542
|
+
scheme: "bearer",
|
|
1543
|
+
type: "http"
|
|
1544
|
+
}
|
|
1545
|
+
],
|
|
1546
|
+
url: "/api/v1/projects/{name}/measurement-plan/draft/actions/replace-assignments",
|
|
1547
|
+
...options,
|
|
1548
|
+
headers: {
|
|
1549
|
+
"Content-Type": "application/json",
|
|
1550
|
+
...options.headers
|
|
1551
|
+
}
|
|
1552
|
+
});
|
|
1553
|
+
};
|
|
1554
|
+
var postApiV1ProjectsByNameMeasurementPlanDraftActionsApplyPairedAssignments = (options) => {
|
|
1555
|
+
return (options.client ?? client).post({
|
|
1556
|
+
security: [
|
|
1557
|
+
{
|
|
1558
|
+
scheme: "bearer",
|
|
1559
|
+
type: "http"
|
|
1560
|
+
}
|
|
1561
|
+
],
|
|
1562
|
+
url: "/api/v1/projects/{name}/measurement-plan/draft/actions/apply-paired-assignments",
|
|
1563
|
+
...options,
|
|
1564
|
+
headers: {
|
|
1565
|
+
"Content-Type": "application/json",
|
|
1566
|
+
...options.headers
|
|
1567
|
+
}
|
|
1568
|
+
});
|
|
1569
|
+
};
|
|
1501
1570
|
var postApiV1ProjectsByNameMeasurementPlanDraftActionsRemoveAssignment = (options) => {
|
|
1502
1571
|
return (options.client ?? client).post({
|
|
1503
1572
|
security: [
|
|
@@ -1578,6 +1647,38 @@ var postApiV1ProjectsByNameMeasurementPlanDraftActionsRemoveGroup = (options) =>
|
|
|
1578
1647
|
}
|
|
1579
1648
|
});
|
|
1580
1649
|
};
|
|
1650
|
+
var postApiV1ProjectsByNameMeasurementPlanDraftActionsPreviewGroupMembership = (options) => {
|
|
1651
|
+
return (options.client ?? client).post({
|
|
1652
|
+
security: [
|
|
1653
|
+
{
|
|
1654
|
+
scheme: "bearer",
|
|
1655
|
+
type: "http"
|
|
1656
|
+
}
|
|
1657
|
+
],
|
|
1658
|
+
url: "/api/v1/projects/{name}/measurement-plan/draft/actions/preview-group-membership",
|
|
1659
|
+
...options,
|
|
1660
|
+
headers: {
|
|
1661
|
+
"Content-Type": "application/json",
|
|
1662
|
+
...options.headers
|
|
1663
|
+
}
|
|
1664
|
+
});
|
|
1665
|
+
};
|
|
1666
|
+
var postApiV1ProjectsByNameMeasurementPlanDraftActionsApplyGroupMembership = (options) => {
|
|
1667
|
+
return (options.client ?? client).post({
|
|
1668
|
+
security: [
|
|
1669
|
+
{
|
|
1670
|
+
scheme: "bearer",
|
|
1671
|
+
type: "http"
|
|
1672
|
+
}
|
|
1673
|
+
],
|
|
1674
|
+
url: "/api/v1/projects/{name}/measurement-plan/draft/actions/apply-group-membership",
|
|
1675
|
+
...options,
|
|
1676
|
+
headers: {
|
|
1677
|
+
"Content-Type": "application/json",
|
|
1678
|
+
...options.headers
|
|
1679
|
+
}
|
|
1680
|
+
});
|
|
1681
|
+
};
|
|
1581
1682
|
var postApiV1ProjectsByNameMeasurementPlanDraftActionsUpsertCompetitor = (options) => {
|
|
1582
1683
|
return (options.client ?? client).post({
|
|
1583
1684
|
security: [
|
|
@@ -1690,6 +1791,90 @@ var getApiV1ProjectsByNameMeasurementOverview = (options) => {
|
|
|
1690
1791
|
...options
|
|
1691
1792
|
});
|
|
1692
1793
|
};
|
|
1794
|
+
var getApiV1ProjectsByNameMeasurementPropertyEvidence = (options) => {
|
|
1795
|
+
return (options.client ?? client).get({
|
|
1796
|
+
security: [
|
|
1797
|
+
{
|
|
1798
|
+
scheme: "bearer",
|
|
1799
|
+
type: "http"
|
|
1800
|
+
}
|
|
1801
|
+
],
|
|
1802
|
+
url: "/api/v1/projects/{name}/measurement-property-evidence",
|
|
1803
|
+
...options
|
|
1804
|
+
});
|
|
1805
|
+
};
|
|
1806
|
+
var getApiV1ProjectsByNameMeasurementPortfolioSummary = (options) => {
|
|
1807
|
+
return (options.client ?? client).get({
|
|
1808
|
+
security: [
|
|
1809
|
+
{
|
|
1810
|
+
scheme: "bearer",
|
|
1811
|
+
type: "http"
|
|
1812
|
+
}
|
|
1813
|
+
],
|
|
1814
|
+
url: "/api/v1/projects/{name}/measurement-portfolio-summary",
|
|
1815
|
+
...options
|
|
1816
|
+
});
|
|
1817
|
+
};
|
|
1818
|
+
var getApiV1ProjectsByNameMeasurementPropertyQuestions = (options) => {
|
|
1819
|
+
return (options.client ?? client).get({
|
|
1820
|
+
security: [
|
|
1821
|
+
{
|
|
1822
|
+
scheme: "bearer",
|
|
1823
|
+
type: "http"
|
|
1824
|
+
}
|
|
1825
|
+
],
|
|
1826
|
+
url: "/api/v1/projects/{name}/measurement-property-questions",
|
|
1827
|
+
...options
|
|
1828
|
+
});
|
|
1829
|
+
};
|
|
1830
|
+
var getApiV1ProjectsByNameMeasurementQuestionResult = (options) => {
|
|
1831
|
+
return (options.client ?? client).get({
|
|
1832
|
+
security: [
|
|
1833
|
+
{
|
|
1834
|
+
scheme: "bearer",
|
|
1835
|
+
type: "http"
|
|
1836
|
+
}
|
|
1837
|
+
],
|
|
1838
|
+
url: "/api/v1/projects/{name}/measurement-question-result",
|
|
1839
|
+
...options
|
|
1840
|
+
});
|
|
1841
|
+
};
|
|
1842
|
+
var getApiV1ProjectsByNameMeasurementPropertyCompetitors = (options) => {
|
|
1843
|
+
return (options.client ?? client).get({
|
|
1844
|
+
security: [
|
|
1845
|
+
{
|
|
1846
|
+
scheme: "bearer",
|
|
1847
|
+
type: "http"
|
|
1848
|
+
}
|
|
1849
|
+
],
|
|
1850
|
+
url: "/api/v1/projects/{name}/measurement-property-competitors",
|
|
1851
|
+
...options
|
|
1852
|
+
});
|
|
1853
|
+
};
|
|
1854
|
+
var getApiV1ProjectsByNameMeasurementChanges = (options) => {
|
|
1855
|
+
return (options.client ?? client).get({
|
|
1856
|
+
security: [
|
|
1857
|
+
{
|
|
1858
|
+
scheme: "bearer",
|
|
1859
|
+
type: "http"
|
|
1860
|
+
}
|
|
1861
|
+
],
|
|
1862
|
+
url: "/api/v1/projects/{name}/measurement-changes",
|
|
1863
|
+
...options
|
|
1864
|
+
});
|
|
1865
|
+
};
|
|
1866
|
+
var getApiV1ProjectsByNameMeasurementDataQuality = (options) => {
|
|
1867
|
+
return (options.client ?? client).get({
|
|
1868
|
+
security: [
|
|
1869
|
+
{
|
|
1870
|
+
scheme: "bearer",
|
|
1871
|
+
type: "http"
|
|
1872
|
+
}
|
|
1873
|
+
],
|
|
1874
|
+
url: "/api/v1/projects/{name}/measurement-data-quality",
|
|
1875
|
+
...options
|
|
1876
|
+
});
|
|
1877
|
+
};
|
|
1693
1878
|
var getApiV1ProjectsByNameMeasurementQuerySets = (options) => {
|
|
1694
1879
|
return (options.client ?? client).get({
|
|
1695
1880
|
security: [
|
|
@@ -5320,12 +5505,12 @@ var ApiClient = class {
|
|
|
5320
5505
|
})
|
|
5321
5506
|
);
|
|
5322
5507
|
}
|
|
5323
|
-
async getMeasurementReport(project, revision) {
|
|
5508
|
+
async getMeasurementReport(project, revision, runId) {
|
|
5324
5509
|
return this.invoke(
|
|
5325
5510
|
() => getApiV1ProjectsByNameMeasurementReport({
|
|
5326
5511
|
client: this.heyClient,
|
|
5327
5512
|
path: { name: project },
|
|
5328
|
-
query: { revision }
|
|
5513
|
+
query: { revision, runId }
|
|
5329
5514
|
})
|
|
5330
5515
|
);
|
|
5331
5516
|
}
|
|
@@ -5344,6 +5529,69 @@ var ApiClient = class {
|
|
|
5344
5529
|
})
|
|
5345
5530
|
);
|
|
5346
5531
|
}
|
|
5532
|
+
async getMeasurementPropertyEvidence(project, query) {
|
|
5533
|
+
return this.invoke(
|
|
5534
|
+
() => getApiV1ProjectsByNameMeasurementPropertyEvidence({
|
|
5535
|
+
client: this.heyClient,
|
|
5536
|
+
path: { name: project },
|
|
5537
|
+
query
|
|
5538
|
+
})
|
|
5539
|
+
);
|
|
5540
|
+
}
|
|
5541
|
+
async getMeasurementPortfolioSummary(project, query) {
|
|
5542
|
+
return this.invoke(
|
|
5543
|
+
() => getApiV1ProjectsByNameMeasurementPortfolioSummary({
|
|
5544
|
+
client: this.heyClient,
|
|
5545
|
+
path: { name: project },
|
|
5546
|
+
query
|
|
5547
|
+
})
|
|
5548
|
+
);
|
|
5549
|
+
}
|
|
5550
|
+
async getMeasurementPropertyQuestions(project, query) {
|
|
5551
|
+
return this.invoke(
|
|
5552
|
+
() => getApiV1ProjectsByNameMeasurementPropertyQuestions({
|
|
5553
|
+
client: this.heyClient,
|
|
5554
|
+
path: { name: project },
|
|
5555
|
+
query
|
|
5556
|
+
})
|
|
5557
|
+
);
|
|
5558
|
+
}
|
|
5559
|
+
async getMeasurementQuestionResult(project, query) {
|
|
5560
|
+
return this.invoke(
|
|
5561
|
+
() => getApiV1ProjectsByNameMeasurementQuestionResult({
|
|
5562
|
+
client: this.heyClient,
|
|
5563
|
+
path: { name: project },
|
|
5564
|
+
query
|
|
5565
|
+
})
|
|
5566
|
+
);
|
|
5567
|
+
}
|
|
5568
|
+
async getMeasurementPropertyCompetitors(project, query) {
|
|
5569
|
+
return this.invoke(
|
|
5570
|
+
() => getApiV1ProjectsByNameMeasurementPropertyCompetitors({
|
|
5571
|
+
client: this.heyClient,
|
|
5572
|
+
path: { name: project },
|
|
5573
|
+
query
|
|
5574
|
+
})
|
|
5575
|
+
);
|
|
5576
|
+
}
|
|
5577
|
+
async getMeasurementChanges(project, query) {
|
|
5578
|
+
return this.invoke(
|
|
5579
|
+
() => getApiV1ProjectsByNameMeasurementChanges({
|
|
5580
|
+
client: this.heyClient,
|
|
5581
|
+
path: { name: project },
|
|
5582
|
+
query
|
|
5583
|
+
})
|
|
5584
|
+
);
|
|
5585
|
+
}
|
|
5586
|
+
async getMeasurementDataQuality(project, query) {
|
|
5587
|
+
return this.invoke(
|
|
5588
|
+
() => getApiV1ProjectsByNameMeasurementDataQuality({
|
|
5589
|
+
client: this.heyClient,
|
|
5590
|
+
path: { name: project },
|
|
5591
|
+
query
|
|
5592
|
+
})
|
|
5593
|
+
);
|
|
5594
|
+
}
|
|
5347
5595
|
async getMeasurementPlanDraft(project) {
|
|
5348
5596
|
return this.invoke(
|
|
5349
5597
|
() => getApiV1ProjectsByNameMeasurementPlanDraft({ client: this.heyClient, path: { name: project } })
|
|
@@ -5467,6 +5715,35 @@ var ApiClient = class {
|
|
|
5467
5715
|
})
|
|
5468
5716
|
);
|
|
5469
5717
|
}
|
|
5718
|
+
async previewMeasurementDraftAssignments(project, request) {
|
|
5719
|
+
return this.invoke(
|
|
5720
|
+
() => postApiV1ProjectsByNameMeasurementPlanDraftActionsPreviewAssignments({
|
|
5721
|
+
client: this.heyClient,
|
|
5722
|
+
path: { name: project },
|
|
5723
|
+
body: request
|
|
5724
|
+
})
|
|
5725
|
+
);
|
|
5726
|
+
}
|
|
5727
|
+
async replaceMeasurementDraftAssignments(project, request, idempotencyKey, etag) {
|
|
5728
|
+
return this.invoke(
|
|
5729
|
+
() => postApiV1ProjectsByNameMeasurementPlanDraftActionsReplaceAssignments({
|
|
5730
|
+
client: this.heyClient,
|
|
5731
|
+
path: { name: project },
|
|
5732
|
+
body: request,
|
|
5733
|
+
headers: this.measurementDraftMutationHeaders(idempotencyKey, etag)
|
|
5734
|
+
})
|
|
5735
|
+
);
|
|
5736
|
+
}
|
|
5737
|
+
async applyPairedMeasurementDraftAssignments(project, request, idempotencyKey, etag) {
|
|
5738
|
+
return this.invoke(
|
|
5739
|
+
() => postApiV1ProjectsByNameMeasurementPlanDraftActionsApplyPairedAssignments({
|
|
5740
|
+
client: this.heyClient,
|
|
5741
|
+
path: { name: project },
|
|
5742
|
+
body: request,
|
|
5743
|
+
headers: this.measurementDraftMutationHeaders(idempotencyKey, etag)
|
|
5744
|
+
})
|
|
5745
|
+
);
|
|
5746
|
+
}
|
|
5470
5747
|
async removeMeasurementDraftAssignment(project, request, idempotencyKey, etag) {
|
|
5471
5748
|
return this.invoke(
|
|
5472
5749
|
() => postApiV1ProjectsByNameMeasurementPlanDraftActionsRemoveAssignment({
|
|
@@ -5517,6 +5794,25 @@ var ApiClient = class {
|
|
|
5517
5794
|
})
|
|
5518
5795
|
);
|
|
5519
5796
|
}
|
|
5797
|
+
async previewMeasurementDraftGroupMembership(project, request) {
|
|
5798
|
+
return this.invoke(
|
|
5799
|
+
() => postApiV1ProjectsByNameMeasurementPlanDraftActionsPreviewGroupMembership({
|
|
5800
|
+
client: this.heyClient,
|
|
5801
|
+
path: { name: project },
|
|
5802
|
+
body: request
|
|
5803
|
+
})
|
|
5804
|
+
);
|
|
5805
|
+
}
|
|
5806
|
+
async applyMeasurementDraftGroupMembership(project, request, idempotencyKey, etag) {
|
|
5807
|
+
return this.invoke(
|
|
5808
|
+
() => postApiV1ProjectsByNameMeasurementPlanDraftActionsApplyGroupMembership({
|
|
5809
|
+
client: this.heyClient,
|
|
5810
|
+
path: { name: project },
|
|
5811
|
+
body: request,
|
|
5812
|
+
headers: this.measurementDraftMutationHeaders(idempotencyKey, etag)
|
|
5813
|
+
})
|
|
5814
|
+
);
|
|
5815
|
+
}
|
|
5520
5816
|
async upsertMeasurementDraftCompetitor(project, request, idempotencyKey, etag) {
|
|
5521
5817
|
return this.invoke(
|
|
5522
5818
|
() => postApiV1ProjectsByNameMeasurementPlanDraftActionsUpsertCompetitor({
|
|
@@ -7209,6 +7505,9 @@ var runTriggerInputSchema = z2.object({
|
|
|
7209
7505
|
request: runTriggerRequestSchema.optional()
|
|
7210
7506
|
});
|
|
7211
7507
|
var measurementPlanVersionInputSchema = z2.object({ project: projectNameSchema, revision: z2.number().int().positive() });
|
|
7508
|
+
var measurementReportInputSchema = measurementPlanVersionInputSchema.extend({
|
|
7509
|
+
runId: runIdSchema.optional().describe("Exact eligible full measurement run to reconstruct. Omit for the latest run in the revision.")
|
|
7510
|
+
});
|
|
7212
7511
|
var measurementPlanPreviewInputSchema = z2.object({ project: projectNameSchema, plan: measurementPlanAuthoringSchema });
|
|
7213
7512
|
var measurementPlanPublishInputSchema = measurementPlanPublishRequestSchema.extend({ project: projectNameSchema });
|
|
7214
7513
|
var measurementPlanRetireInputSchema = z2.object({ project: projectNameSchema, stableKey: z2.string().min(1) });
|
|
@@ -7217,7 +7516,60 @@ var idempotencyKeyInputSchema = z2.string().trim().min(1).describe("A fresh requ
|
|
|
7217
7516
|
var measurementDraftEtagInputSchema = z2.string().trim().min(1).optional().describe(
|
|
7218
7517
|
"Current draft ETag from canonry_measurement_draft_get. The API requires it for draft edits, publish, and discard; omit it only to receive the API\u2019s actionable 428 response."
|
|
7219
7518
|
);
|
|
7220
|
-
var measurementOverviewInputSchema =
|
|
7519
|
+
var measurementOverviewInputSchema = z2.object({
|
|
7520
|
+
project: projectNameSchema,
|
|
7521
|
+
scope: measurementOverviewQuerySchema.shape.scope.describe("Read all Properties, one reporting group, or one Property."),
|
|
7522
|
+
groupKey: measurementOverviewQuerySchema.shape.groupKey.describe("Group stable key. Required only for group scope."),
|
|
7523
|
+
targetKey: measurementOverviewQuerySchema.shape.targetKey.describe("Property stable key. Required only for property scope."),
|
|
7524
|
+
queryClass: measurementOverviewQuerySchema.shape.queryClass,
|
|
7525
|
+
provider: measurementOverviewQuerySchema.shape.provider,
|
|
7526
|
+
location: measurementOverviewQuerySchema.shape.location,
|
|
7527
|
+
from: measurementOverviewQuerySchema.shape.from,
|
|
7528
|
+
to: measurementOverviewQuerySchema.shape.to,
|
|
7529
|
+
runId: measurementOverviewQuerySchema.shape.runId,
|
|
7530
|
+
search: measurementOverviewQuerySchema.shape.search,
|
|
7531
|
+
sort: measurementOverviewQuerySchema.shape.sort,
|
|
7532
|
+
cursor: measurementOverviewQuerySchema.shape.cursor,
|
|
7533
|
+
limit: measurementOverviewQuerySchema.shape.limit
|
|
7534
|
+
}).strict().superRefine((input, context) => {
|
|
7535
|
+
if (input.scope === "group" && !input.groupKey) {
|
|
7536
|
+
context.addIssue({ code: "custom", path: ["groupKey"], message: "Group scope requires groupKey." });
|
|
7537
|
+
}
|
|
7538
|
+
if (input.scope === "property" && !input.targetKey) {
|
|
7539
|
+
context.addIssue({ code: "custom", path: ["targetKey"], message: "Property scope requires targetKey." });
|
|
7540
|
+
}
|
|
7541
|
+
if (input.scope !== "group" && input.groupKey) {
|
|
7542
|
+
context.addIssue({ code: "custom", path: ["groupKey"], message: `${input.scope} scope does not accept groupKey.` });
|
|
7543
|
+
}
|
|
7544
|
+
if (input.scope !== "property" && input.targetKey) {
|
|
7545
|
+
context.addIssue({ code: "custom", path: ["targetKey"], message: `${input.scope} scope does not accept targetKey.` });
|
|
7546
|
+
}
|
|
7547
|
+
});
|
|
7548
|
+
var measurementPropertyEvidenceInputSchema = measurementPropertyEvidenceQuerySchema.extend({
|
|
7549
|
+
project: projectNameSchema,
|
|
7550
|
+
targetKey: measurementPropertyEvidenceQuerySchema.shape.targetKey.describe("Property stable key. Required \u2014 this read is scoped to exactly one Property."),
|
|
7551
|
+
shape: measurementPropertyEvidenceQuerySchema.shape.shape.describe(
|
|
7552
|
+
"What one row is. Omit for sources (one row per cited URL). answers gives one row per measured answer with its cited URLs nested, including the answers that cited nothing."
|
|
7553
|
+
)
|
|
7554
|
+
}).strict();
|
|
7555
|
+
var measurementPortfolioSummaryInputSchema = measurementPortfolioSummaryQuerySchema.extend({
|
|
7556
|
+
project: projectNameSchema
|
|
7557
|
+
}).strict();
|
|
7558
|
+
var measurementPropertyQuestionsInputSchema = measurementPropertyQuestionsQuerySchema.extend({
|
|
7559
|
+
project: projectNameSchema
|
|
7560
|
+
}).strict();
|
|
7561
|
+
var measurementQuestionResultInputSchema = measurementQuestionResultQuerySchema.extend({
|
|
7562
|
+
project: projectNameSchema
|
|
7563
|
+
}).strict();
|
|
7564
|
+
var measurementPropertyCompetitorsInputSchema = measurementPropertyCompetitorsQuerySchema.extend({
|
|
7565
|
+
project: projectNameSchema
|
|
7566
|
+
}).strict();
|
|
7567
|
+
var measurementChangesInputSchema = measurementChangesQuerySchema.extend({
|
|
7568
|
+
project: projectNameSchema
|
|
7569
|
+
}).strict();
|
|
7570
|
+
var measurementDataQualityInputSchema = measurementDataQualityQuerySchema.extend({
|
|
7571
|
+
project: projectNameSchema
|
|
7572
|
+
}).strict();
|
|
7221
7573
|
var measurementDraftCollectionInputSchema = measurementDraftCollectionQuerySchema.extend({ project: projectNameSchema });
|
|
7222
7574
|
var measurementQuerySetInputSchema = z2.object({
|
|
7223
7575
|
project: projectNameSchema,
|
|
@@ -7263,11 +7615,22 @@ var measurementDraftOperationSchema = z2.discriminatedUnion("action", [
|
|
|
7263
7615
|
measurementDraftMutationOperationSchema("exclude-target", measurementDraftExcludeTargetRequestSchema),
|
|
7264
7616
|
measurementDraftMutationOperationSchema("rebind-target", measurementDraftRebindTargetRequestSchema),
|
|
7265
7617
|
measurementDraftMutationOperationSchema("apply-assignments", measurementDraftApplyAssignmentsRequestSchema),
|
|
7618
|
+
z2.object({
|
|
7619
|
+
action: z2.literal("preview-assignments"),
|
|
7620
|
+
request: measurementDraftPreviewAssignmentsRequestSchema
|
|
7621
|
+
}).strict().describe("Read-semantic assignment impact preview."),
|
|
7622
|
+
measurementDraftMutationOperationSchema("replace-assignments", measurementDraftReplaceAssignmentsRequestSchema),
|
|
7623
|
+
measurementDraftMutationOperationSchema("apply-paired-assignments", measurementDraftApplyPairedAssignmentsRequestSchema),
|
|
7266
7624
|
measurementDraftMutationOperationSchema("remove-assignment", measurementDraftRemoveAssignmentRequestSchema),
|
|
7267
7625
|
measurementDraftMutationOperationSchema("clear-assignments", measurementDraftClearAssignmentsRequestSchema),
|
|
7268
7626
|
measurementDraftMutationOperationSchema("classify-assignments", measurementDraftClassifyAssignmentsRequestSchema),
|
|
7269
7627
|
measurementDraftMutationOperationSchema("upsert-group", measurementDraftUpsertGroupRequestSchema),
|
|
7270
7628
|
measurementDraftMutationOperationSchema("remove-group", measurementDraftRemoveGroupRequestSchema),
|
|
7629
|
+
z2.object({
|
|
7630
|
+
action: z2.literal("preview-group-membership"),
|
|
7631
|
+
request: measurementDraftPreviewGroupMembershipRequestSchema
|
|
7632
|
+
}).strict().describe("Read-semantic CSV group-membership preview."),
|
|
7633
|
+
measurementDraftMutationOperationSchema("apply-group-membership", measurementDraftApplyGroupMembershipRequestSchema),
|
|
7271
7634
|
measurementDraftMutationOperationSchema("upsert-competitor", measurementDraftUpsertCompetitorRequestSchema),
|
|
7272
7635
|
measurementDraftMutationOperationSchema("remove-competitor", measurementDraftRemoveCompetitorRequestSchema),
|
|
7273
7636
|
z2.object({ action: z2.literal("compile-preview") }).strict().describe("Operation for compile-preview."),
|
|
@@ -7293,11 +7656,16 @@ var measurementDraftActionOpenApiOperations = [
|
|
|
7293
7656
|
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/exclude-target",
|
|
7294
7657
|
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/rebind-target",
|
|
7295
7658
|
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/apply-assignments",
|
|
7659
|
+
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/preview-assignments",
|
|
7660
|
+
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/replace-assignments",
|
|
7661
|
+
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/apply-paired-assignments",
|
|
7296
7662
|
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/remove-assignment",
|
|
7297
7663
|
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/clear-assignments",
|
|
7298
7664
|
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/classify-assignments",
|
|
7299
7665
|
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/upsert-group",
|
|
7300
7666
|
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/remove-group",
|
|
7667
|
+
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/preview-group-membership",
|
|
7668
|
+
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/apply-group-membership",
|
|
7301
7669
|
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/upsert-competitor",
|
|
7302
7670
|
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/remove-competitor",
|
|
7303
7671
|
"POST /api/v1/projects/{name}/measurement-plan/draft/actions/compile-preview",
|
|
@@ -7326,6 +7694,12 @@ function runMeasurementDraftAction(client2, input) {
|
|
|
7326
7694
|
return client2.rebindMeasurementDraftTarget(project, actionInput.request, actionInput.idempotencyKey, actionInput.etag);
|
|
7327
7695
|
case "apply-assignments":
|
|
7328
7696
|
return client2.applyMeasurementDraftAssignments(project, actionInput.request, actionInput.idempotencyKey, actionInput.etag);
|
|
7697
|
+
case "preview-assignments":
|
|
7698
|
+
return client2.previewMeasurementDraftAssignments(project, actionInput.request);
|
|
7699
|
+
case "replace-assignments":
|
|
7700
|
+
return client2.replaceMeasurementDraftAssignments(project, actionInput.request, actionInput.idempotencyKey, actionInput.etag);
|
|
7701
|
+
case "apply-paired-assignments":
|
|
7702
|
+
return client2.applyPairedMeasurementDraftAssignments(project, actionInput.request, actionInput.idempotencyKey, actionInput.etag);
|
|
7329
7703
|
case "remove-assignment":
|
|
7330
7704
|
return client2.removeMeasurementDraftAssignment(project, actionInput.request, actionInput.idempotencyKey, actionInput.etag);
|
|
7331
7705
|
case "clear-assignments":
|
|
@@ -7336,6 +7710,10 @@ function runMeasurementDraftAction(client2, input) {
|
|
|
7336
7710
|
return client2.upsertMeasurementDraftGroup(project, actionInput.request, actionInput.idempotencyKey, actionInput.etag);
|
|
7337
7711
|
case "remove-group":
|
|
7338
7712
|
return client2.removeMeasurementDraftGroup(project, actionInput.request, actionInput.idempotencyKey, actionInput.etag);
|
|
7713
|
+
case "preview-group-membership":
|
|
7714
|
+
return client2.previewMeasurementDraftGroupMembership(project, actionInput.request);
|
|
7715
|
+
case "apply-group-membership":
|
|
7716
|
+
return client2.applyMeasurementDraftGroupMembership(project, actionInput.request, actionInput.idempotencyKey, actionInput.etag);
|
|
7339
7717
|
case "upsert-competitor":
|
|
7340
7718
|
return client2.upsertMeasurementDraftCompetitor(project, actionInput.request, actionInput.idempotencyKey, actionInput.etag);
|
|
7341
7719
|
case "remove-competitor":
|
|
@@ -9020,7 +9398,7 @@ var canonryMcpTools = [
|
|
|
9020
9398
|
defineTool({
|
|
9021
9399
|
name: "canonry_measurement_overview",
|
|
9022
9400
|
title: "Get Advanced Measurement overview",
|
|
9023
|
-
description: "Return stored, revision-pinned Advanced Measurement metrics and a bounded page of
|
|
9401
|
+
description: "Return stored, revision-pinned Advanced Measurement metrics and a bounded page of Property rows for all Properties, one reporting group, or one Property. Filter by query class, provider, location, date window, run, or Property search; search filters rows without changing metric denominators. It ranks one run snapshot only and never infers a trend or compares across revisions. Choose label-asc (default), label-desc, citationCoverage-asc/desc, or mentionCoverage-asc/desc. For a coverage sort, unavailable rows form the first bucket in either direction; available rows then follow the requested numeric direction. The cursor is sort-aware, pins pagination to the active revision, displayed run, evidence snapshot, and filters even if a newer run completes, and must be reused unchanged with the same sort and filters. Legacy label cursors work only when sort is omitted, while any explicit sort needs a new sort-bound cursor. It never starts provider work or incurs provider cost; page size is at most 100, and it refuses invalid scope keys, cursor combinations, appended evidence, or a run pinned to another revision.",
|
|
9024
9402
|
access: "read",
|
|
9025
9403
|
tier: "setup",
|
|
9026
9404
|
inputSchema: measurementOverviewInputSchema,
|
|
@@ -9031,6 +9409,104 @@ var canonryMcpTools = [
|
|
|
9031
9409
|
return client2.getMeasurementOverview(project, query);
|
|
9032
9410
|
}
|
|
9033
9411
|
}),
|
|
9412
|
+
defineTool({
|
|
9413
|
+
name: "canonry_measurement_property_evidence",
|
|
9414
|
+
title: "Page one Property's measurement evidence",
|
|
9415
|
+
description: "Return the stored evidence rows for exactly one Property out of one revision-pinned run, optionally narrowed to a question class, provider, or location. shape chooses what a row is: sources (the default) returns one row per cited URL under evidence; answers returns one row per measured answer under answers, with the cited URLs nested inside and both signals on the row (mentioned, cited). Use shape=answers to explain a GAP \u2014 an answer that mentioned the Property without linking it, or that named nobody at all, has no URL to hang a source row on and does not appear in the default shape, so counting source rows understates what was measured. mentioned is null, never false, when the answer text was never captured: that is a missing signal, not a measured no. Exactly one of evidence or answers is returned and the other is absent rather than empty. A cursor is bound to the shape that issued it and is refused on the other. Prefer this over canonry_measurement_report when you want one Property: the report reconstructs every group and every Target for a revision and does not paginate. Run selection matches canonry_measurement_overview \u2014 the most recent completed run pinned to the active revision unless runId names another, and a run pinned to a different revision is refused rather than joined. The cursor also pins the active revision, displayed run, evidence snapshot, and filters; reuse it unchanged. Not available for a schema v1 revision, which records no question class to scope by. It never starts provider work; page size is at most 100. An empty page under measurement.state = not_measured means the Property has not been measured at all, which is NOT a measured result of zero.",
|
|
9416
|
+
access: "read",
|
|
9417
|
+
tier: "setup",
|
|
9418
|
+
inputSchema: measurementPropertyEvidenceInputSchema,
|
|
9419
|
+
annotations: readAnnotations(),
|
|
9420
|
+
openApiOperations: ["GET /api/v1/projects/{name}/measurement-property-evidence"],
|
|
9421
|
+
handler: (client2, input) => {
|
|
9422
|
+
const { project, ...query } = input;
|
|
9423
|
+
return client2.getMeasurementPropertyEvidence(project, query);
|
|
9424
|
+
}
|
|
9425
|
+
}),
|
|
9426
|
+
defineTool({
|
|
9427
|
+
name: "canonry_measurement_portfolio_summary",
|
|
9428
|
+
title: "Summarize measured Properties",
|
|
9429
|
+
description: "Start here to rank the weakest measured Properties and their stored replacement names. Reads stored data only; it never starts provider work.",
|
|
9430
|
+
access: "read",
|
|
9431
|
+
tier: "monitoring",
|
|
9432
|
+
inputSchema: measurementPortfolioSummaryInputSchema,
|
|
9433
|
+
annotations: readAnnotations(),
|
|
9434
|
+
openApiOperations: ["GET /api/v1/projects/{name}/measurement-portfolio-summary"],
|
|
9435
|
+
handler: (client2, input) => {
|
|
9436
|
+
const { project, ...query } = input;
|
|
9437
|
+
return client2.getMeasurementPortfolioSummary(project, query);
|
|
9438
|
+
}
|
|
9439
|
+
}),
|
|
9440
|
+
defineTool({
|
|
9441
|
+
name: "canonry_measurement_property_questions",
|
|
9442
|
+
title: "List a Property\u2019s stored questions",
|
|
9443
|
+
description: "After identifying a Property, list its stored question outcomes and use a returned resultId with canonry_measurement_question_result. Reads stored data only; it never starts provider work.",
|
|
9444
|
+
access: "read",
|
|
9445
|
+
tier: "monitoring",
|
|
9446
|
+
inputSchema: measurementPropertyQuestionsInputSchema,
|
|
9447
|
+
annotations: readAnnotations(),
|
|
9448
|
+
openApiOperations: ["GET /api/v1/projects/{name}/measurement-property-questions"],
|
|
9449
|
+
handler: (client2, input) => {
|
|
9450
|
+
const { project, ...query } = input;
|
|
9451
|
+
return client2.getMeasurementPropertyQuestions(project, query);
|
|
9452
|
+
}
|
|
9453
|
+
}),
|
|
9454
|
+
defineTool({
|
|
9455
|
+
name: "canonry_measurement_question_result",
|
|
9456
|
+
title: "Get a stored question result",
|
|
9457
|
+
description: "After listing a Property\u2019s questions, expand one returned resultId into its stored answer and attribution sources. Reads stored data only; it never starts provider work.",
|
|
9458
|
+
access: "read",
|
|
9459
|
+
tier: "monitoring",
|
|
9460
|
+
inputSchema: measurementQuestionResultInputSchema,
|
|
9461
|
+
annotations: readAnnotations(),
|
|
9462
|
+
openApiOperations: ["GET /api/v1/projects/{name}/measurement-question-result"],
|
|
9463
|
+
handler: (client2, input) => {
|
|
9464
|
+
const { project, ...query } = input;
|
|
9465
|
+
return client2.getMeasurementQuestionResult(project, query);
|
|
9466
|
+
}
|
|
9467
|
+
}),
|
|
9468
|
+
defineTool({
|
|
9469
|
+
name: "canonry_measurement_property_competitors",
|
|
9470
|
+
title: "List a Property\u2019s stored replacements",
|
|
9471
|
+
description: "After reviewing a Property\u2019s question outcomes, find repeated stored replacement names for its misses. Reads stored data only; it never starts provider work.",
|
|
9472
|
+
access: "read",
|
|
9473
|
+
tier: "monitoring",
|
|
9474
|
+
inputSchema: measurementPropertyCompetitorsInputSchema,
|
|
9475
|
+
annotations: readAnnotations(),
|
|
9476
|
+
openApiOperations: ["GET /api/v1/projects/{name}/measurement-property-competitors"],
|
|
9477
|
+
handler: (client2, input) => {
|
|
9478
|
+
const { project, ...query } = input;
|
|
9479
|
+
return client2.getMeasurementPropertyCompetitors(project, query);
|
|
9480
|
+
}
|
|
9481
|
+
}),
|
|
9482
|
+
defineTool({
|
|
9483
|
+
name: "canonry_measurement_changes",
|
|
9484
|
+
title: "Compare stored measurement changes",
|
|
9485
|
+
description: "After reviewing the current summary, compare stored runs only when their execution identity is compatible. Reads stored data only; it never starts provider work.",
|
|
9486
|
+
access: "read",
|
|
9487
|
+
tier: "monitoring",
|
|
9488
|
+
inputSchema: measurementChangesInputSchema,
|
|
9489
|
+
annotations: readAnnotations(),
|
|
9490
|
+
openApiOperations: ["GET /api/v1/projects/{name}/measurement-changes"],
|
|
9491
|
+
handler: (client2, input) => {
|
|
9492
|
+
const { project, ...query } = input;
|
|
9493
|
+
return client2.getMeasurementChanges(project, query);
|
|
9494
|
+
}
|
|
9495
|
+
}),
|
|
9496
|
+
defineTool({
|
|
9497
|
+
name: "canonry_measurement_data_quality",
|
|
9498
|
+
title: "Inspect stored measurement data quality",
|
|
9499
|
+
description: "Before acting on a measurement, inspect its stored completeness, capture, retrieval, and comparability context. Reads stored data only; it never starts provider work.",
|
|
9500
|
+
access: "read",
|
|
9501
|
+
tier: "monitoring",
|
|
9502
|
+
inputSchema: measurementDataQualityInputSchema,
|
|
9503
|
+
annotations: readAnnotations(),
|
|
9504
|
+
openApiOperations: ["GET /api/v1/projects/{name}/measurement-data-quality"],
|
|
9505
|
+
handler: (client2, input) => {
|
|
9506
|
+
const { project, ...query } = input;
|
|
9507
|
+
return client2.getMeasurementDataQuality(project, query);
|
|
9508
|
+
}
|
|
9509
|
+
}),
|
|
9034
9510
|
defineTool({
|
|
9035
9511
|
name: "canonry_measurement_draft_get",
|
|
9036
9512
|
title: "Get Advanced Measurement draft",
|
|
@@ -9204,13 +9680,13 @@ var canonryMcpTools = [
|
|
|
9204
9680
|
defineTool({
|
|
9205
9681
|
name: "canonry_measurement_report",
|
|
9206
9682
|
title: "Get measurement report",
|
|
9207
|
-
description: "Get a revision-pinned Target and group measurement report from stored runs. Never starts live provider work.",
|
|
9683
|
+
description: "Get a revision-pinned Target and group measurement report from stored runs. Optionally pin the evidence to an exact eligible full run. Never starts live provider work.",
|
|
9208
9684
|
access: "read",
|
|
9209
9685
|
tier: "setup",
|
|
9210
|
-
inputSchema:
|
|
9686
|
+
inputSchema: measurementReportInputSchema,
|
|
9211
9687
|
annotations: readAnnotations(),
|
|
9212
9688
|
openApiOperations: ["GET /api/v1/projects/{name}/measurement-report"],
|
|
9213
|
-
handler: (client2, input) => client2.getMeasurementReport(input.project, input.revision)
|
|
9689
|
+
handler: (client2, input) => client2.getMeasurementReport(input.project, input.revision, input.runId)
|
|
9214
9690
|
}),
|
|
9215
9691
|
defineTool({
|
|
9216
9692
|
name: "canonry_run_trigger",
|
|
@@ -9909,6 +10385,7 @@ export {
|
|
|
9909
10385
|
CliError,
|
|
9910
10386
|
usageError,
|
|
9911
10387
|
isEndpointMissing,
|
|
10388
|
+
systemError,
|
|
9912
10389
|
printCliError,
|
|
9913
10390
|
createApiClient,
|
|
9914
10391
|
ApiClient,
|