@canonry/canonry 4.133.1 → 4.133.3
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 +7 -0
- package/assets/assets/{AuditHistoryPanel-BKJ_bJO3.js → AuditHistoryPanel-DTHQGvkW.js} +1 -1
- package/assets/assets/{BacklinksPage-Dlp78T7O.js → BacklinksPage-DuPI3wt9.js} +1 -1
- package/assets/assets/{ChartPrimitives-BnqLVaHC.js → ChartPrimitives-T8mxOObc.js} +1 -1
- package/assets/assets/{HistoryPage-dEjboZIm.js → HistoryPage-T1W40xKG.js} +1 -1
- package/assets/assets/ProjectPage-DYwM8-Rp.js +8 -0
- package/assets/assets/{RunRow-C0PeLbDh.js → RunRow-nHr4wW9B.js} +1 -1
- package/assets/assets/{RunsPage-8cmHsMEV.js → RunsPage-Cbusy_84.js} +1 -1
- package/assets/assets/{SettingsPage-FzWCV54A.js → SettingsPage-BVcbl4gn.js} +1 -1
- package/assets/assets/{TrafficPage-BrEuU4K9.js → TrafficPage-CZ4NTWI6.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-yqyQGzqQ.js → TrafficSourceDetailPage-xW-KvZY1.js} +1 -1
- package/assets/assets/{arrow-left-DJbzrqwz.js → arrow-left-flskyFPK.js} +1 -1
- package/assets/assets/{extract-error-message-7lcxZroQ.js → extract-error-message-BHfCTm0H.js} +1 -1
- package/assets/assets/{index-DtOyJ_1v.js → index-CQzGDGMB.js} +64 -64
- package/assets/assets/index-JhX-wfQO.css +1 -0
- package/assets/assets/{trash-2-DFJYR1Fq.js → trash-2-LGfqtSzZ.js} +1 -1
- package/assets/index.html +2 -2
- package/dist/{chunk-42P7POVS.js → chunk-6ON6GUAL.js} +9 -5
- package/dist/{chunk-P4MIG7V5.js → chunk-A6BYMSZL.js} +30 -2
- package/dist/{chunk-VPY3PZXV.js → chunk-HENMGNLT.js} +344 -59
- package/dist/{chunk-ZPQX5ZQ2.js → chunk-YRRQFOAH.js} +92 -0
- package/dist/cli.js +45 -4
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-2K7GVEQM.js → intelligence-service-OSLFG5S2.js} +2 -2
- package/dist/mcp.js +2 -2
- package/package.json +8 -8
- package/assets/assets/ProjectPage-CV1zK5No.js +0 -8
- package/assets/assets/index-BKoAGOtU.css +0 -1
|
@@ -6742,6 +6742,91 @@ var adsSummaryDtoSchema = z38.object({
|
|
|
6742
6742
|
/** Campaign-level rollup totals over the window (levels are not summed across). */
|
|
6743
6743
|
totals: adsTotalsDtoSchema
|
|
6744
6744
|
});
|
|
6745
|
+
var adsDeliverySnapshotStatusSchema = z38.enum(["unavailable", "partial", "complete"]);
|
|
6746
|
+
var AdsDeliverySnapshotStatuses = adsDeliverySnapshotStatusSchema.enum;
|
|
6747
|
+
var adsDeliverySnapshotIssueSchema = z38.enum([
|
|
6748
|
+
"no_ads_connection",
|
|
6749
|
+
"connection_not_synced",
|
|
6750
|
+
"no_ads_sync",
|
|
6751
|
+
"entity_rows_missing_sync_run_id",
|
|
6752
|
+
"entity_rows_span_multiple_sync_runs",
|
|
6753
|
+
"source_sync_missing",
|
|
6754
|
+
"source_sync_not_ads_sync",
|
|
6755
|
+
"source_sync_not_completed"
|
|
6756
|
+
]);
|
|
6757
|
+
var AdsDeliverySnapshotIssues = adsDeliverySnapshotIssueSchema.enum;
|
|
6758
|
+
var adsHistoricalCampaignRollupStatusSchema = z38.enum(["unavailable", "reported"]);
|
|
6759
|
+
var AdsHistoricalCampaignRollupStatuses = adsHistoricalCampaignRollupStatusSchema.enum;
|
|
6760
|
+
var AdsDeliveryConfigurationBases = {
|
|
6761
|
+
storedSnapshot: "stored_ads_snapshot"
|
|
6762
|
+
};
|
|
6763
|
+
var adsActivityAssessmentStateSchema = z38.enum([
|
|
6764
|
+
"unavailable",
|
|
6765
|
+
"partial_snapshot",
|
|
6766
|
+
"metrics_unavailable",
|
|
6767
|
+
"observed_activity",
|
|
6768
|
+
"no_observed_activity"
|
|
6769
|
+
]);
|
|
6770
|
+
var AdsActivityAssessmentStates = adsActivityAssessmentStateSchema.enum;
|
|
6771
|
+
var adsDeliveryDiagnosticsAdSchema = z38.object({
|
|
6772
|
+
id: z38.string(),
|
|
6773
|
+
name: z38.string(),
|
|
6774
|
+
status: z38.string(),
|
|
6775
|
+
reviewStatus: z38.string().nullable()
|
|
6776
|
+
});
|
|
6777
|
+
var adsDeliveryDiagnosticsAdGroupSchema = z38.object({
|
|
6778
|
+
id: z38.string(),
|
|
6779
|
+
name: z38.string(),
|
|
6780
|
+
status: z38.string(),
|
|
6781
|
+
billingEventType: z38.union([adsAdGroupBillingEventTypeSchema, z38.null()]),
|
|
6782
|
+
maxBidMicros: z38.number().int().nullable(),
|
|
6783
|
+
contextHints: z38.array(z38.string()),
|
|
6784
|
+
ads: z38.array(adsDeliveryDiagnosticsAdSchema)
|
|
6785
|
+
});
|
|
6786
|
+
var adsDeliveryDiagnosticsCampaignSchema = z38.object({
|
|
6787
|
+
id: z38.string(),
|
|
6788
|
+
name: z38.string(),
|
|
6789
|
+
status: z38.string(),
|
|
6790
|
+
biddingType: z38.union([adsCampaignBiddingTypeSchema, z38.null()]),
|
|
6791
|
+
dailySpendLimitMicros: z38.number().int().nullable(),
|
|
6792
|
+
lifetimeSpendLimitMicros: z38.number().int().nullable(),
|
|
6793
|
+
conversionEventSettingIds: z38.array(z38.string()),
|
|
6794
|
+
adGroups: z38.array(adsDeliveryDiagnosticsAdGroupSchema)
|
|
6795
|
+
});
|
|
6796
|
+
var adsDeliveryDiagnosticsDtoSchema = z38.object({
|
|
6797
|
+
snapshot: z38.object({
|
|
6798
|
+
status: adsDeliverySnapshotStatusSchema,
|
|
6799
|
+
// A union keeps the OpenAPI form explicit enough for the generated SDK to
|
|
6800
|
+
// retain the complete-snapshot `null` value (rather than narrowing it to
|
|
6801
|
+
// the issue enum alone).
|
|
6802
|
+
issue: z38.union([adsDeliverySnapshotIssueSchema, z38.null()]),
|
|
6803
|
+
lastSyncedAt: z38.string().nullable(),
|
|
6804
|
+
campaignCount: z38.number().int().nonnegative(),
|
|
6805
|
+
adGroupCount: z38.number().int().nonnegative(),
|
|
6806
|
+
adCount: z38.number().int().nonnegative(),
|
|
6807
|
+
sourceSync: z38.object({
|
|
6808
|
+
runId: z38.string(),
|
|
6809
|
+
status: runStatusSchema
|
|
6810
|
+
}).nullable()
|
|
6811
|
+
}),
|
|
6812
|
+
historicalCampaignRollups: z38.object({
|
|
6813
|
+
status: adsHistoricalCampaignRollupStatusSchema,
|
|
6814
|
+
window: z38.object({ from: z38.string().nullable(), to: z38.string().nullable() }),
|
|
6815
|
+
totals: adsTotalsDtoSchema.nullable()
|
|
6816
|
+
}),
|
|
6817
|
+
storedConfiguration: z38.object({
|
|
6818
|
+
basis: z38.literal(AdsDeliveryConfigurationBases.storedSnapshot),
|
|
6819
|
+
connection: z38.object({
|
|
6820
|
+
status: z38.string().nullable(),
|
|
6821
|
+
reviewStatus: z38.string().nullable(),
|
|
6822
|
+
integrityReviewStatus: z38.string().nullable(),
|
|
6823
|
+
integrityDecision: z38.string().nullable(),
|
|
6824
|
+
conversionTrackingConfigured: z38.boolean()
|
|
6825
|
+
}).nullable(),
|
|
6826
|
+
campaigns: z38.array(adsDeliveryDiagnosticsCampaignSchema)
|
|
6827
|
+
}),
|
|
6828
|
+
assessment: z38.object({ state: adsActivityAssessmentStateSchema })
|
|
6829
|
+
});
|
|
6745
6830
|
var adsOperationKeySchema = z38.string().min(8).max(128).regex(/^[\w.:-]+$/, "operationKey may contain letters, numbers, dot, underscore, colon, and hyphen");
|
|
6746
6831
|
var adsEntityIdSchema = z38.string().min(1).max(200);
|
|
6747
6832
|
var adsNameSchema = z38.string().min(3).max(1e3).refine((value) => value.trim().length > 0);
|
|
@@ -7776,8 +7861,15 @@ export {
|
|
|
7776
7861
|
AdsAdGroupBillingEventTypes,
|
|
7777
7862
|
adsCampaignListResponseSchema,
|
|
7778
7863
|
adsInsightLevelSchema,
|
|
7864
|
+
AdsInsightLevels,
|
|
7779
7865
|
adsInsightsResponseSchema,
|
|
7780
7866
|
adsSummaryDtoSchema,
|
|
7867
|
+
AdsDeliverySnapshotStatuses,
|
|
7868
|
+
AdsDeliverySnapshotIssues,
|
|
7869
|
+
AdsHistoricalCampaignRollupStatuses,
|
|
7870
|
+
AdsDeliveryConfigurationBases,
|
|
7871
|
+
AdsActivityAssessmentStates,
|
|
7872
|
+
adsDeliveryDiagnosticsDtoSchema,
|
|
7781
7873
|
AdsOperationKinds,
|
|
7782
7874
|
AdsOperationStates,
|
|
7783
7875
|
AdsReconcileStrategies,
|
package/dist/cli.js
CHANGED
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
setTelemetrySource,
|
|
30
30
|
showFirstRunNotice,
|
|
31
31
|
trackEvent
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-6ON6GUAL.js";
|
|
33
33
|
import {
|
|
34
34
|
CliError,
|
|
35
35
|
EXIT_SYSTEM_ERROR,
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
saveConfig,
|
|
47
47
|
saveConfigPatch,
|
|
48
48
|
usageError
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-A6BYMSZL.js";
|
|
50
50
|
import {
|
|
51
51
|
apiKeys,
|
|
52
52
|
createClient,
|
|
@@ -54,8 +54,10 @@ import {
|
|
|
54
54
|
projects,
|
|
55
55
|
queries,
|
|
56
56
|
renderReportHtml
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-HENMGNLT.js";
|
|
58
58
|
import {
|
|
59
|
+
AdsDeliverySnapshotStatuses,
|
|
60
|
+
AdsHistoricalCampaignRollupStatuses,
|
|
59
61
|
AdsOperationKinds,
|
|
60
62
|
AdsOperationStates,
|
|
61
63
|
AdsOperationStepStates,
|
|
@@ -97,7 +99,7 @@ import {
|
|
|
97
99
|
providerQuotaPolicySchema,
|
|
98
100
|
resolveProviderInput,
|
|
99
101
|
winnabilityClassSchema
|
|
100
|
-
} from "./chunk-
|
|
102
|
+
} from "./chunk-YRRQFOAH.js";
|
|
101
103
|
|
|
102
104
|
// src/cli.ts
|
|
103
105
|
import { pathToFileURL } from "url";
|
|
@@ -3381,6 +3383,37 @@ async function adsSummary(project, opts) {
|
|
|
3381
3383
|
console.log(`Spend: ${formatMicros(result.totals.spendMicros, result.currencyCode ?? "USD")}${result.totals.cpcMicros != null ? ` (CPC ${formatMicros(result.totals.cpcMicros, result.currencyCode ?? "USD")})` : ""}`);
|
|
3382
3384
|
console.log(`Last synced: ${result.lastSyncedAt ?? "never"}`);
|
|
3383
3385
|
}
|
|
3386
|
+
async function adsDeliveryDiagnostics(project, opts) {
|
|
3387
|
+
const result = await getClient6().getAdsDeliveryDiagnostics(project);
|
|
3388
|
+
if (isMachineFormat(opts?.format)) {
|
|
3389
|
+
console.log(JSON.stringify(result, null, 2));
|
|
3390
|
+
return;
|
|
3391
|
+
}
|
|
3392
|
+
console.log(`Snapshot: ${result.snapshot.status}${result.snapshot.issue ? ` (${result.snapshot.issue})` : ""}`);
|
|
3393
|
+
console.log(`Source sync: ${result.snapshot.sourceSync ? `${result.snapshot.sourceSync.runId} [${result.snapshot.sourceSync.status}]` : "none"}`);
|
|
3394
|
+
console.log(`Structure: ${result.snapshot.campaignCount} campaigns / ${result.snapshot.adGroupCount} ad groups / ${result.snapshot.adCount} ads`);
|
|
3395
|
+
console.log(`Last synced: ${result.snapshot.lastSyncedAt ?? "never"}`);
|
|
3396
|
+
console.log(`Activity: ${result.assessment.state}`);
|
|
3397
|
+
if (result.historicalCampaignRollups.status === AdsHistoricalCampaignRollupStatuses.reported && result.historicalCampaignRollups.totals !== null) {
|
|
3398
|
+
console.log(`Historical: ${result.historicalCampaignRollups.totals.impressions} impressions / ${result.historicalCampaignRollups.totals.clicks} clicks (${result.historicalCampaignRollups.window.from} \u2192 ${result.historicalCampaignRollups.window.to})`);
|
|
3399
|
+
} else {
|
|
3400
|
+
console.log("Historical: no stored campaign rollups");
|
|
3401
|
+
}
|
|
3402
|
+
console.log("Evidence: stored snapshot and historical rollups only; not an OpenAI eligibility or serving verdict.");
|
|
3403
|
+
if (result.snapshot.status !== AdsDeliverySnapshotStatuses.complete) {
|
|
3404
|
+
console.log("Structure details suppressed until a complete trusted snapshot exists.");
|
|
3405
|
+
return;
|
|
3406
|
+
}
|
|
3407
|
+
for (const campaign of result.storedConfiguration.campaigns) {
|
|
3408
|
+
const budget = campaign.dailySpendLimitMicros !== null ? `${formatMicros(campaign.dailySpendLimitMicros)}/day` : campaign.lifetimeSpendLimitMicros !== null ? `${formatMicros(campaign.lifetimeSpendLimitMicros)} lifetime` : "no stored budget";
|
|
3409
|
+
console.log(`${campaign.name} [${campaign.status}] \u2014 ${campaign.biddingType ?? "unknown bidding"}, ${budget}, ${campaign.conversionEventSettingIds.length} conversion settings`);
|
|
3410
|
+
for (const group of campaign.adGroups) {
|
|
3411
|
+
const bid = group.maxBidMicros === null ? "no stored max bid" : `max bid ${formatMicros(group.maxBidMicros)}`;
|
|
3412
|
+
console.log(` - ${group.name} [${group.status}] \u2014 ${group.billingEventType ?? "unknown billing"}, ${bid}, ${group.contextHints.length} context hints`);
|
|
3413
|
+
for (const ad of group.ads) console.log(` ${ad.name} [${ad.status}] review=${ad.reviewStatus ?? "unknown"}`);
|
|
3414
|
+
}
|
|
3415
|
+
}
|
|
3416
|
+
}
|
|
3384
3417
|
|
|
3385
3418
|
// src/cli-commands/ads.ts
|
|
3386
3419
|
var ADS_CLI_COMMANDS = [
|
|
@@ -3736,6 +3769,14 @@ Usage: ${usage}`, {
|
|
|
3736
3769
|
const project = requireProject(input, "ads.summary", "canonry ads summary <project> [--format json]");
|
|
3737
3770
|
await adsSummary(project, { format: input.format });
|
|
3738
3771
|
}
|
|
3772
|
+
},
|
|
3773
|
+
{
|
|
3774
|
+
path: ["ads", "delivery-diagnostics"],
|
|
3775
|
+
usage: "canonry ads delivery-diagnostics <project> [--format json]",
|
|
3776
|
+
run: async (input) => {
|
|
3777
|
+
const project = requireProject(input, "ads.delivery-diagnostics", "canonry ads delivery-diagnostics <project> [--format json]");
|
|
3778
|
+
await adsDeliveryDiagnostics(project, { format: input.format });
|
|
3779
|
+
}
|
|
3739
3780
|
}
|
|
3740
3781
|
];
|
|
3741
3782
|
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6ON6GUAL.js";
|
|
4
4
|
import {
|
|
5
5
|
loadConfig
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-A6BYMSZL.js";
|
|
7
|
+
import "./chunk-HENMGNLT.js";
|
|
8
|
+
import "./chunk-YRRQFOAH.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-A6BYMSZL.js";
|
|
7
7
|
import {
|
|
8
8
|
isReadOnlyKey
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-YRRQFOAH.js";
|
|
10
10
|
|
|
11
11
|
// src/mcp/cli.ts
|
|
12
12
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canonry/canonry",
|
|
3
|
-
"version": "4.133.
|
|
3
|
+
"version": "4.133.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Agent-first open-source AEO operating platform - track how answer engines cite your domain",
|
|
6
6
|
"license": "FSL-1.1-ALv2",
|
|
@@ -66,26 +66,26 @@
|
|
|
66
66
|
"tsup": "^8.5.1",
|
|
67
67
|
"tsx": "^4.19.0",
|
|
68
68
|
"@ainyc/canonry-api-client": "0.0.0",
|
|
69
|
-
"@ainyc/canonry-config": "0.0.0",
|
|
70
69
|
"@ainyc/canonry-api-routes": "0.0.0",
|
|
70
|
+
"@ainyc/canonry-config": "0.0.0",
|
|
71
71
|
"@ainyc/canonry-contracts": "0.0.0",
|
|
72
72
|
"@ainyc/canonry-db": "0.0.0",
|
|
73
|
-
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
74
73
|
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
74
|
+
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
75
75
|
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
76
76
|
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
77
77
|
"@ainyc/canonry-integration-google": "0.0.0",
|
|
78
|
-
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
79
78
|
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
79
|
+
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
80
|
+
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
80
81
|
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
81
82
|
"@ainyc/canonry-intelligence": "0.0.0",
|
|
82
|
-
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
83
83
|
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
84
|
-
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
85
|
-
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
86
84
|
"@ainyc/canonry-provider-local": "0.0.0",
|
|
85
|
+
"@ainyc/canonry-provider-perplexity": "0.0.0",
|
|
87
86
|
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
88
|
-
"@ainyc/canonry-provider-
|
|
87
|
+
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
88
|
+
"@ainyc/canonry-provider-gemini": "0.0.0"
|
|
89
89
|
},
|
|
90
90
|
"scripts": {
|
|
91
91
|
"build": "tsx scripts/copy-agent-assets.ts && tsup && tsx build-web.ts",
|