@ainyc/canonry 4.92.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 +6 -0
- package/assets/assets/{BacklinksPage-D3JpcWtH.js → BacklinksPage-FeUApIRv.js} +1 -1
- package/assets/assets/{ChartPrimitives-DdwqEX5v.js → ChartPrimitives-DFCM9oRt.js} +1 -1
- package/assets/assets/ProjectPage-Dyx8eZf_.js +6 -0
- package/assets/assets/{RunRow-c_2jd8iz.js → RunRow-CF4jm8w8.js} +1 -1
- package/assets/assets/{RunsPage-D6eM_5tB.js → RunsPage-Dlyl-dmG.js} +1 -1
- package/assets/assets/{SettingsPage-DaMc8nxK.js → SettingsPage-DaQ0YNHz.js} +1 -1
- package/assets/assets/{TrafficPage-Dw16dcSc.js → TrafficPage-38zf4QS8.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-Dy9D80dz.js → TrafficSourceDetailPage-DJY18oUo.js} +1 -1
- package/assets/assets/{arrow-left-D8UaBG9a.js → arrow-left-CRHf1qtt.js} +1 -1
- package/assets/assets/{extract-error-message-CfxCIMNJ.js → extract-error-message-uWeOU6mU.js} +1 -1
- package/assets/assets/{index-BA-lh2pG.js → index-B7ZT1i67.js} +73 -73
- package/assets/assets/{index-fLUYE9Z5.css → index-DiykVUPr.css} +1 -1
- package/assets/assets/{trash-2-j1tX1-Kq.js → trash-2-B1qn8ZLk.js} +1 -1
- package/assets/index.html +2 -2
- package/dist/{chunk-QYC2N23P.js → chunk-3TTBKG73.js} +69 -5
- package/dist/{chunk-HW4GVIQD.js → chunk-K4QOSPBX.js} +37 -2
- package/dist/{chunk-VJPVFCZW.js → chunk-PV3RAHMK.js} +19 -0
- package/dist/{chunk-IFUHXONX.js → chunk-ZJADMHJ5.js} +207 -63
- package/dist/cli.js +57 -9
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-24HCX4SJ.js → intelligence-service-M33PXIWS.js} +2 -2
- package/dist/mcp.js +2 -2
- package/package.json +9 -9
- package/assets/assets/ProjectPage-BPLf4U3A.js +0 -6
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";
|
|
@@ -3518,6 +3518,31 @@ async function gbpLodging(project, opts) {
|
|
|
3518
3518
|
console.log(` ${l.locationName} ${l.populatedGroupCount} attribute group(s)${note}`);
|
|
3519
3519
|
}
|
|
3520
3520
|
}
|
|
3521
|
+
async function gbpAttributes(project, opts) {
|
|
3522
|
+
const client = getClient7();
|
|
3523
|
+
const response = await client.listGbpAttributes(project, { locationName: opts.location });
|
|
3524
|
+
if (isMachineFormat(opts.format)) {
|
|
3525
|
+
console.log(JSON.stringify(response, null, 2));
|
|
3526
|
+
return;
|
|
3527
|
+
}
|
|
3528
|
+
if (response.attributes.length === 0) {
|
|
3529
|
+
console.log('No attributes data. Run "canonry gbp sync" to capture owner-set attributes.');
|
|
3530
|
+
return;
|
|
3531
|
+
}
|
|
3532
|
+
console.log(`${response.total} location(s) with owner-set attributes:`);
|
|
3533
|
+
for (const a of response.attributes) {
|
|
3534
|
+
console.log(` ${a.locationName} ${a.attributeCount} attribute(s)`);
|
|
3535
|
+
for (const attr of a.attributes) {
|
|
3536
|
+
const key = attr.name.replace(/^attributes\//, "");
|
|
3537
|
+
const val = [
|
|
3538
|
+
...attr.values.map(String),
|
|
3539
|
+
...attr.unsetValues.map((v) => `unset:${v}`),
|
|
3540
|
+
...attr.uris
|
|
3541
|
+
].join(", ");
|
|
3542
|
+
console.log(` ${key}: ${val}`);
|
|
3543
|
+
}
|
|
3544
|
+
}
|
|
3545
|
+
}
|
|
3521
3546
|
async function gbpPlaces(project, opts) {
|
|
3522
3547
|
const client = getClient7();
|
|
3523
3548
|
const response = await client.listGbpPlaces(project, { locationName: opts.location });
|
|
@@ -3733,6 +3758,17 @@ var GBP_CLI_COMMANDS = [
|
|
|
3733
3758
|
await gbpLodging(project, { location: getString(input.values, "location"), format: input.format });
|
|
3734
3759
|
}
|
|
3735
3760
|
},
|
|
3761
|
+
{
|
|
3762
|
+
path: ["gbp", "attributes"],
|
|
3763
|
+
usage: "canonry gbp attributes <project> [--location <name>] [--format json]",
|
|
3764
|
+
options: {
|
|
3765
|
+
location: stringOption()
|
|
3766
|
+
},
|
|
3767
|
+
run: async (input) => {
|
|
3768
|
+
const project = requireProject(input, "gbp.attributes", "canonry gbp attributes <project> [--location <name>] [--format json]");
|
|
3769
|
+
await gbpAttributes(project, { location: getString(input.values, "location"), format: input.format });
|
|
3770
|
+
}
|
|
3771
|
+
},
|
|
3736
3772
|
{
|
|
3737
3773
|
path: ["gbp", "places"],
|
|
3738
3774
|
usage: "canonry gbp places <project> [--location <name>] [--format json]",
|
|
@@ -9262,7 +9298,13 @@ var SNAPSHOT_CLI_COMMANDS = [
|
|
|
9262
9298
|
// src/commands/insights.ts
|
|
9263
9299
|
async function listInsights(project, opts) {
|
|
9264
9300
|
const client = createApiClient();
|
|
9265
|
-
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
|
+
});
|
|
9266
9308
|
if (opts.format === "json") {
|
|
9267
9309
|
console.log(JSON.stringify(insights, null, 2));
|
|
9268
9310
|
return;
|
|
@@ -9667,17 +9709,23 @@ function printGaps2(data) {
|
|
|
9667
9709
|
var INTELLIGENCE_CLI_COMMANDS = [
|
|
9668
9710
|
{
|
|
9669
9711
|
path: ["insights"],
|
|
9670
|
-
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]",
|
|
9671
9713
|
options: {
|
|
9672
9714
|
dismissed: { type: "boolean" },
|
|
9673
|
-
"run-id": { type: "string" }
|
|
9715
|
+
"run-id": { type: "string" },
|
|
9716
|
+
type: { type: "string" },
|
|
9717
|
+
severity: { type: "string" },
|
|
9718
|
+
limit: { type: "string" }
|
|
9674
9719
|
},
|
|
9675
9720
|
run: async (input) => {
|
|
9676
|
-
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]";
|
|
9677
9722
|
const project = requireProject(input, "insights", usage);
|
|
9678
9723
|
const dismissed = input.values.dismissed === true;
|
|
9679
9724
|
const runId = getString(input.values, "run-id");
|
|
9680
|
-
|
|
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 });
|
|
9681
9729
|
}
|
|
9682
9730
|
},
|
|
9683
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
|
-
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
69
67
|
"@ainyc/canonry-config": "0.0.0",
|
|
70
|
-
"@ainyc/canonry-
|
|
68
|
+
"@ainyc/canonry-api-routes": "0.0.0",
|
|
71
69
|
"@ainyc/canonry-db": "0.0.0",
|
|
70
|
+
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
72
71
|
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
73
72
|
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
73
|
+
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
74
|
+
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
74
75
|
"@ainyc/canonry-integration-google": "0.0.0",
|
|
75
|
-
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
76
76
|
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
77
|
-
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
78
77
|
"@ainyc/canonry-intelligence": "0.0.0",
|
|
78
|
+
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
79
79
|
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
80
80
|
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
81
81
|
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
82
|
-
"@ainyc/canonry-provider-local": "0.0.0",
|
|
83
|
-
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
84
82
|
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
85
|
-
"@ainyc/canonry-provider-
|
|
83
|
+
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
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",
|