@ainyc/canonry 4.46.0 → 4.47.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/aero/SKILL.md +5 -3
- package/assets/agent-workspace/skills/canonry/SKILL.md +55 -12
- package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +48 -12
- package/assets/agent-workspace/skills/canonry/references/server-side-traffic.md +32 -0
- package/assets/assets/{index-BVHV03Fk.css → index-BDMNXVHa.css} +1 -1
- package/assets/assets/index-CPUAzk7n.js +302 -0
- package/assets/index.html +2 -2
- package/dist/{chunk-Q7XFJO2V.js → chunk-4WXY57ET.js} +49 -3
- package/dist/{chunk-TBADB57G.js → chunk-M7MSNUNQ.js} +11 -7
- package/dist/{chunk-GRFMZ7PD.js → chunk-ON545FBK.js} +6 -2
- package/dist/{chunk-G2HQOLPK.js → chunk-WYBKCDUH.js} +132 -104
- package/dist/cli.js +35 -29
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-YFBVWCK2.js → intelligence-service-ADZRFCGO.js} +2 -2
- package/dist/mcp.js +8 -7
- package/package.json +8 -8
- package/assets/assets/index-CFKPcvOe.js +0 -302
package/dist/cli.js
CHANGED
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
setTelemetrySource,
|
|
22
22
|
showFirstRunNotice,
|
|
23
23
|
trackEvent
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-WYBKCDUH.js";
|
|
25
25
|
import {
|
|
26
26
|
CliError,
|
|
27
27
|
EXIT_SYSTEM_ERROR,
|
|
@@ -37,14 +37,14 @@ import {
|
|
|
37
37
|
saveConfig,
|
|
38
38
|
saveConfigPatch,
|
|
39
39
|
usageError
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-ON545FBK.js";
|
|
41
41
|
import {
|
|
42
42
|
apiKeys,
|
|
43
43
|
createClient,
|
|
44
44
|
migrate,
|
|
45
45
|
projects,
|
|
46
46
|
queries
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-M7MSNUNQ.js";
|
|
48
48
|
import {
|
|
49
49
|
CcReleaseSyncStatuses,
|
|
50
50
|
CheckScopes,
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
providerQuotaPolicySchema,
|
|
64
64
|
resolveProviderInput,
|
|
65
65
|
skillsClientSchema
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-4WXY57ET.js";
|
|
67
67
|
|
|
68
68
|
// src/cli.ts
|
|
69
69
|
import { pathToFileURL } from "url";
|
|
@@ -2918,6 +2918,9 @@ var GET_CLI_COMMANDS = [
|
|
|
2918
2918
|
function getClient6() {
|
|
2919
2919
|
return createApiClient();
|
|
2920
2920
|
}
|
|
2921
|
+
function configString(value, fallback = "(unset)") {
|
|
2922
|
+
return typeof value === "string" ? value : fallback;
|
|
2923
|
+
}
|
|
2921
2924
|
async function trafficConnectWordpress(project, opts) {
|
|
2922
2925
|
if (!opts.url) {
|
|
2923
2926
|
throw new CliError({
|
|
@@ -2981,8 +2984,8 @@ async function trafficConnectWordpress(project, opts) {
|
|
|
2981
2984
|
console.log(` Source ID: ${result.id}`);
|
|
2982
2985
|
console.log(` Display name: ${result.displayName}`);
|
|
2983
2986
|
console.log(` Status: ${result.status}`);
|
|
2984
|
-
console.log(` Site URL: ${result.config.baseUrl
|
|
2985
|
-
console.log(` Username: ${result.config.username
|
|
2987
|
+
console.log(` Site URL: ${configString(result.config.baseUrl)}`);
|
|
2988
|
+
console.log(` Username: ${configString(result.config.username)}`);
|
|
2986
2989
|
console.log("");
|
|
2987
2990
|
console.log(`Next: canonry traffic sync ${project} --source ${result.id}`);
|
|
2988
2991
|
}
|
|
@@ -3033,9 +3036,9 @@ async function trafficConnectCloudRun(project, opts) {
|
|
|
3033
3036
|
console.log(` Source ID: ${result.id}`);
|
|
3034
3037
|
console.log(` Display name: ${result.displayName}`);
|
|
3035
3038
|
console.log(` Status: ${result.status}`);
|
|
3036
|
-
console.log(` GCP project: ${result.config.gcpProjectId
|
|
3037
|
-
if (result.config.serviceName) console.log(` Service: ${result.config.serviceName}`);
|
|
3038
|
-
if (result.config.location) console.log(` Location: ${result.config.location}`);
|
|
3039
|
+
console.log(` GCP project: ${configString(result.config.gcpProjectId)}`);
|
|
3040
|
+
if (result.config.serviceName) console.log(` Service: ${configString(result.config.serviceName)}`);
|
|
3041
|
+
if (result.config.location) console.log(` Location: ${configString(result.config.location)}`);
|
|
3039
3042
|
console.log("");
|
|
3040
3043
|
console.log(`Next: canonry traffic sync ${project} --source ${result.id}`);
|
|
3041
3044
|
}
|
|
@@ -3111,9 +3114,9 @@ async function trafficConnectVercel(project, opts) {
|
|
|
3111
3114
|
console.log(` Source ID: ${result.id}`);
|
|
3112
3115
|
console.log(` Display name: ${result.displayName}`);
|
|
3113
3116
|
console.log(` Status: ${result.status}`);
|
|
3114
|
-
console.log(` Project ID: ${result.config.projectId
|
|
3115
|
-
console.log(` Team ID: ${result.config.teamId
|
|
3116
|
-
console.log(` Environment: ${result.config.environment
|
|
3117
|
+
console.log(` Project ID: ${configString(result.config.projectId)}`);
|
|
3118
|
+
console.log(` Team ID: ${configString(result.config.teamId)}`);
|
|
3119
|
+
console.log(` Environment: ${configString(result.config.environment)}`);
|
|
3117
3120
|
console.log("");
|
|
3118
3121
|
console.log(`Next: canonry traffic sync ${project} --source ${result.id}`);
|
|
3119
3122
|
}
|
|
@@ -5604,8 +5607,8 @@ var NOTIFY_CLI_COMMANDS = [
|
|
|
5604
5607
|
{
|
|
5605
5608
|
path: ["notify", "events"],
|
|
5606
5609
|
usage: "canonry notify events [--format json]",
|
|
5607
|
-
run:
|
|
5608
|
-
|
|
5610
|
+
run: (input) => {
|
|
5611
|
+
listEvents(input.format);
|
|
5609
5612
|
}
|
|
5610
5613
|
},
|
|
5611
5614
|
{
|
|
@@ -7295,7 +7298,7 @@ function resolveBundledSkillsRoot(pkgDir) {
|
|
|
7295
7298
|
function parseDescription(content) {
|
|
7296
7299
|
const fmMatch = /^---\n([\s\S]*?)\n---/.exec(content);
|
|
7297
7300
|
if (!fmMatch) return "";
|
|
7298
|
-
const descMatch = /^description:\s*(
|
|
7301
|
+
const descMatch = /^description:\s*(\S.*)$/m.exec(fmMatch[1]);
|
|
7299
7302
|
if (!descMatch) return "";
|
|
7300
7303
|
return descMatch[1].replace(/^["']|["']$/g, "").trim();
|
|
7301
7304
|
}
|
|
@@ -9808,39 +9811,39 @@ var SYSTEM_CLI_COMMANDS = [
|
|
|
9808
9811
|
path: ["stop"],
|
|
9809
9812
|
usage: "canonry stop [--format json]",
|
|
9810
9813
|
allowPositionals: false,
|
|
9811
|
-
run:
|
|
9812
|
-
|
|
9814
|
+
run: (input) => {
|
|
9815
|
+
stopDaemon(input.format);
|
|
9813
9816
|
}
|
|
9814
9817
|
},
|
|
9815
9818
|
{
|
|
9816
9819
|
path: ["telemetry", "status"],
|
|
9817
9820
|
usage: "canonry telemetry status [--format json]",
|
|
9818
9821
|
allowPositionals: false,
|
|
9819
|
-
run:
|
|
9820
|
-
|
|
9822
|
+
run: (input) => {
|
|
9823
|
+
telemetryCommand("status", input.format);
|
|
9821
9824
|
}
|
|
9822
9825
|
},
|
|
9823
9826
|
{
|
|
9824
9827
|
path: ["telemetry", "enable"],
|
|
9825
9828
|
usage: "canonry telemetry enable [--format json]",
|
|
9826
9829
|
allowPositionals: false,
|
|
9827
|
-
run:
|
|
9828
|
-
|
|
9830
|
+
run: (input) => {
|
|
9831
|
+
telemetryCommand("enable", input.format);
|
|
9829
9832
|
}
|
|
9830
9833
|
},
|
|
9831
9834
|
{
|
|
9832
9835
|
path: ["telemetry", "disable"],
|
|
9833
9836
|
usage: "canonry telemetry disable [--format json]",
|
|
9834
9837
|
allowPositionals: false,
|
|
9835
|
-
run:
|
|
9836
|
-
|
|
9838
|
+
run: (input) => {
|
|
9839
|
+
telemetryCommand("disable", input.format);
|
|
9837
9840
|
}
|
|
9838
9841
|
},
|
|
9839
9842
|
{
|
|
9840
9843
|
path: ["telemetry"],
|
|
9841
9844
|
usage: "canonry telemetry <status|enable|disable> [--format json]",
|
|
9842
|
-
run:
|
|
9843
|
-
|
|
9845
|
+
run: (input) => {
|
|
9846
|
+
unknownSubcommand(input.positionals[0], {
|
|
9844
9847
|
command: "telemetry",
|
|
9845
9848
|
usage: "canonry telemetry <status|enable|disable> [--format json]",
|
|
9846
9849
|
available: ["status", "enable", "disable"]
|
|
@@ -9856,6 +9859,9 @@ import fs12 from "fs";
|
|
|
9856
9859
|
function getClient21() {
|
|
9857
9860
|
return createApiClient();
|
|
9858
9861
|
}
|
|
9862
|
+
async function loadYamlModule() {
|
|
9863
|
+
return await import("yaml").catch(() => null);
|
|
9864
|
+
}
|
|
9859
9865
|
function printJson2(value) {
|
|
9860
9866
|
console.log(JSON.stringify(value, null, 2));
|
|
9861
9867
|
}
|
|
@@ -10190,7 +10196,7 @@ async function wordpressSetSchema(project, body) {
|
|
|
10190
10196
|
async function wordpressSchemaDeploy(project, opts) {
|
|
10191
10197
|
const fs13 = await import("fs/promises");
|
|
10192
10198
|
const path10 = await import("path");
|
|
10193
|
-
const yaml = await
|
|
10199
|
+
const yaml = await loadYamlModule();
|
|
10194
10200
|
const filePath = path10.resolve(opts.profile);
|
|
10195
10201
|
let raw;
|
|
10196
10202
|
try {
|
|
@@ -10205,7 +10211,7 @@ async function wordpressSchemaDeploy(project, opts) {
|
|
|
10205
10211
|
}
|
|
10206
10212
|
let parsed;
|
|
10207
10213
|
try {
|
|
10208
|
-
if (yaml
|
|
10214
|
+
if (yaml) {
|
|
10209
10215
|
parsed = yaml.parse(raw);
|
|
10210
10216
|
} else {
|
|
10211
10217
|
parsed = JSON.parse(raw);
|
|
@@ -10301,7 +10307,7 @@ async function wordpressOnboard(project, opts) {
|
|
|
10301
10307
|
if (opts.profile) {
|
|
10302
10308
|
const fs13 = await import("fs/promises");
|
|
10303
10309
|
const path10 = await import("path");
|
|
10304
|
-
const yaml = await
|
|
10310
|
+
const yaml = await loadYamlModule();
|
|
10305
10311
|
const filePath = path10.resolve(opts.profile);
|
|
10306
10312
|
let raw;
|
|
10307
10313
|
try {
|
|
@@ -10315,7 +10321,7 @@ async function wordpressOnboard(project, opts) {
|
|
|
10315
10321
|
});
|
|
10316
10322
|
}
|
|
10317
10323
|
try {
|
|
10318
|
-
profileData = yaml
|
|
10324
|
+
profileData = yaml ? yaml.parse(raw) : JSON.parse(raw);
|
|
10319
10325
|
} catch {
|
|
10320
10326
|
throw new CliError({
|
|
10321
10327
|
code: "INVALID_PROFILE",
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WYBKCDUH.js";
|
|
4
4
|
import {
|
|
5
5
|
loadConfig
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-ON545FBK.js";
|
|
7
|
+
import "./chunk-M7MSNUNQ.js";
|
|
8
|
+
import "./chunk-4WXY57ET.js";
|
|
9
9
|
export {
|
|
10
10
|
createServer,
|
|
11
11
|
loadConfig
|
package/dist/mcp.js
CHANGED
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
CliError,
|
|
3
3
|
canonryMcpTools,
|
|
4
4
|
createApiClient
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-ON545FBK.js";
|
|
6
|
+
import "./chunk-4WXY57ET.js";
|
|
7
7
|
|
|
8
8
|
// src/mcp/cli.ts
|
|
9
9
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
@@ -68,11 +68,12 @@ function toCanonryErrorEnvelope(error) {
|
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
70
|
if (hasErrorEnvelope(error)) {
|
|
71
|
+
const { code, message, details } = error.error;
|
|
71
72
|
return {
|
|
72
73
|
error: {
|
|
73
|
-
code:
|
|
74
|
-
message:
|
|
75
|
-
...
|
|
74
|
+
code: typeof code === "string" ? code : "API_ERROR",
|
|
75
|
+
message: typeof message === "string" ? message : "Canonry API error",
|
|
76
|
+
...details !== void 0 ? { details } : {}
|
|
76
77
|
}
|
|
77
78
|
};
|
|
78
79
|
}
|
|
@@ -237,7 +238,7 @@ var DynamicToolCatalog = class {
|
|
|
237
238
|
// the SDK's sender for the duration of the batch.
|
|
238
239
|
batchListChanged(fn) {
|
|
239
240
|
const host = this.server;
|
|
240
|
-
const original = host.sendToolListChanged;
|
|
241
|
+
const original = host.sendToolListChanged.bind(host);
|
|
241
242
|
let suppressed = false;
|
|
242
243
|
host.sendToolListChanged = () => {
|
|
243
244
|
suppressed = true;
|
|
@@ -247,7 +248,7 @@ var DynamicToolCatalog = class {
|
|
|
247
248
|
} finally {
|
|
248
249
|
host.sendToolListChanged = original;
|
|
249
250
|
}
|
|
250
|
-
if (suppressed) original
|
|
251
|
+
if (suppressed) original();
|
|
251
252
|
}
|
|
252
253
|
};
|
|
253
254
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ainyc/canonry",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.47.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",
|
|
@@ -60,23 +60,23 @@
|
|
|
60
60
|
"@types/node-cron": "^3.0.11",
|
|
61
61
|
"tsup": "^8.5.1",
|
|
62
62
|
"tsx": "^4.19.0",
|
|
63
|
-
"@ainyc/canonry-config": "0.0.0",
|
|
64
63
|
"@ainyc/canonry-api-routes": "0.0.0",
|
|
64
|
+
"@ainyc/canonry-config": "0.0.0",
|
|
65
65
|
"@ainyc/canonry-contracts": "0.0.0",
|
|
66
|
-
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
67
66
|
"@ainyc/canonry-db": "0.0.0",
|
|
67
|
+
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
68
|
+
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
68
69
|
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
69
70
|
"@ainyc/canonry-intelligence": "0.0.0",
|
|
70
|
-
"@ainyc/canonry-integration-
|
|
71
|
+
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
71
72
|
"@ainyc/canonry-integration-google": "0.0.0",
|
|
72
73
|
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
73
|
-
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
74
74
|
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
75
75
|
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
76
|
-
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
77
76
|
"@ainyc/canonry-provider-local": "0.0.0",
|
|
78
|
-
"@ainyc/canonry-provider-
|
|
79
|
-
"@ainyc/canonry-provider-openai": "0.0.0"
|
|
77
|
+
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
78
|
+
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
79
|
+
"@ainyc/canonry-provider-perplexity": "0.0.0"
|
|
80
80
|
},
|
|
81
81
|
"scripts": {
|
|
82
82
|
"build": "tsx scripts/copy-agent-assets.ts && tsup && tsx build-web.ts",
|