@canonry/canonry 4.159.0 → 4.161.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.
Files changed (30) hide show
  1. package/README.md +1 -1
  2. package/assets/agent-workspace/skills/aero/SKILL.md +16 -1
  3. package/assets/agent-workspace/skills/canonry/SKILL.md +17 -5
  4. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +66 -0
  5. package/assets/agent-workspace/skills/canonry/references/server-side-traffic.md +231 -62
  6. package/assets/assets/{AuditHistoryPanel-BiloGcQA.js → AuditHistoryPanel-C_1twF00.js} +1 -1
  7. package/assets/assets/{BacklinksPage-CPM1O2bC.js → BacklinksPage-CfAuMCaN.js} +1 -1
  8. package/assets/assets/{HistoryPage-1YOjtdJy.js → HistoryPage-DrRxOL3j.js} +1 -1
  9. package/assets/assets/{MeasurementPropertyPage-CVDTY_gC.js → MeasurementPropertyPage-BFtxx5Jw.js} +1 -1
  10. package/assets/assets/{ProjectPage-DnGXMx1n.js → ProjectPage-Djvhx4HD.js} +9 -9
  11. package/assets/assets/{RunRow-fIaadH4h.js → RunRow-DVZXibR2.js} +1 -1
  12. package/assets/assets/{RunsPage-DfifdM5z.js → RunsPage-CAUMy7By.js} +1 -1
  13. package/assets/assets/{SettingsPage-efA2EEmS.js → SettingsPage-CcSOmQAl.js} +1 -1
  14. package/assets/assets/{SiteHealthSection-BROtQGfu.js → SiteHealthSection-DYjEWd1I.js} +3 -3
  15. package/assets/assets/{TrafficPage-Wk43Bm_q.js → TrafficPage-BWM33jnJ.js} +1 -1
  16. package/assets/assets/{TrafficSourceDetailPage-BhBvoLWu.js → TrafficSourceDetailPage-DvEZ_JGY.js} +1 -1
  17. package/assets/assets/{extract-error-message-YGzZFvWs.js → extract-error-message-CnKOJkYB.js} +1 -1
  18. package/assets/assets/{index-DmsIZQAm.js → index-CQGAqmDx.js} +22 -22
  19. package/assets/assets/{react-sigma_core.esm.min-DM9XptbM.js → react-sigma_core.esm.min-CHCAIMBW.js} +1 -1
  20. package/assets/index.html +1 -1
  21. package/dist/{chunk-ZL3VY435.js → chunk-EXDO7EPL.js} +104 -9
  22. package/dist/{chunk-ZEG43TY2.js → chunk-HCGTKQCG.js} +21 -1
  23. package/dist/{chunk-5AFWHKKI.js → chunk-J27J2DF6.js} +2095 -703
  24. package/dist/{chunk-BZPBVOAM.js → chunk-W6OWEPZG.js} +70 -30
  25. package/dist/cli.js +308 -124
  26. package/dist/index.d.ts +28 -14
  27. package/dist/index.js +4 -4
  28. package/dist/{intelligence-service-DHY5CYWX.js → intelligence-service-HKDIVTZB.js} +2 -2
  29. package/dist/mcp.js +2 -2
  30. package/package.json +8 -7
package/dist/index.d.ts CHANGED
@@ -156,23 +156,10 @@ interface VercelTrafficConnectionConfigEntry {
156
156
  interface VercelTrafficConfigEntry {
157
157
  connections?: VercelTrafficConnectionConfigEntry[];
158
158
  }
159
- /**
160
- * Per-project Cloudflare Worker traffic connection. In direct-push mode the
161
- * Worker forwards filtered requests to canonry's ingest endpoint. The Worker
162
- * reads the bearer and HMAC values from Cloudflare secret bindings; generated
163
- * source and Wrangler configuration never contain either cleartext value.
164
- * The DB stores only the bearer hash, while both cleartext secrets live here.
165
- */
166
- interface CloudflareTrafficConnectionConfigEntry {
159
+ interface CloudflareTrafficConnectionConfigBase {
167
160
  projectName: string;
168
161
  /** `traffic_sources.id` for this connection — pairs the credential row with the DB row. */
169
162
  sourceId: string;
170
- /** Explicit transport discriminator. Missing legacy values normalize to direct-push. */
171
- deliveryMode: 'direct-push';
172
- /** Bearer token authenticating ingest requests. Verified server-side via sha256(bearer) === ingestTokenHash. */
173
- bearerToken: string;
174
- /** HMAC-SHA256 shared secret. Worker signs `timestamp + "." + body` with it; server verifies. */
175
- hmacSecret: string;
176
163
  /** Semver of the Worker script bundle that was generated at connect/rotate time. */
177
164
  workerVersion: string;
178
165
  /** Identifier of the bot/referer keyword set baked into the deployed Worker. */
@@ -184,6 +171,33 @@ interface CloudflareTrafficConnectionConfigEntry {
184
171
  createdAt: string;
185
172
  updatedAt: string;
186
173
  }
174
+ /**
175
+ * Direct-push credentials. The Worker reads both values from secret bindings;
176
+ * generated source and Wrangler configuration never contain either cleartext
177
+ * value. The DB stores only the bearer hash.
178
+ */
179
+ interface CloudflareDirectPushConnectionConfigEntry extends CloudflareTrafficConnectionConfigBase {
180
+ /** Explicit transport discriminator. Missing legacy values normalize to direct-push. */
181
+ deliveryMode: 'direct-push';
182
+ /** Bearer token authenticating ingest requests. Verified server-side via sha256(bearer) === ingestTokenHash. */
183
+ bearerToken: string;
184
+ /** HMAC-SHA256 shared secret. Worker signs `timestamp + "." + body` with it; server verifies. */
185
+ hmacSecret: string;
186
+ }
187
+ /**
188
+ * Queue-pull credentials. The account-scoped token is used only by the local
189
+ * Canonry server to pull and acknowledge Queue messages. It never enters the
190
+ * traffic source row, generated Worker artifacts, CLI argv, or MCP output.
191
+ */
192
+ interface CloudflareQueuePullConnectionConfigEntry extends CloudflareTrafficConnectionConfigBase {
193
+ deliveryMode: 'queue-pull';
194
+ apiToken: string;
195
+ accountId: string;
196
+ queueId: string;
197
+ queueName: string;
198
+ retentionSeconds: number;
199
+ }
200
+ type CloudflareTrafficConnectionConfigEntry = CloudflareDirectPushConnectionConfigEntry | CloudflareQueuePullConnectionConfigEntry;
187
201
  interface CloudflareTrafficConfigEntry {
188
202
  connections?: CloudflareTrafficConnectionConfigEntry[];
189
203
  }
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  createServer
3
- } from "./chunk-BZPBVOAM.js";
3
+ } from "./chunk-W6OWEPZG.js";
4
4
  import {
5
5
  loadConfig
6
- } from "./chunk-ZEG43TY2.js";
7
- import "./chunk-5AFWHKKI.js";
8
- import "./chunk-ZL3VY435.js";
6
+ } from "./chunk-HCGTKQCG.js";
7
+ import "./chunk-J27J2DF6.js";
8
+ import "./chunk-EXDO7EPL.js";
9
9
  export {
10
10
  createServer,
11
11
  loadConfig
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  IntelligenceService
3
- } from "./chunk-5AFWHKKI.js";
4
- import "./chunk-ZL3VY435.js";
3
+ } from "./chunk-J27J2DF6.js";
4
+ import "./chunk-EXDO7EPL.js";
5
5
  export {
6
6
  IntelligenceService
7
7
  };
package/dist/mcp.js CHANGED
@@ -3,10 +3,10 @@ import {
3
3
  PACKAGE_VERSION,
4
4
  canonryMcpTools,
5
5
  createApiClient
6
- } from "./chunk-ZEG43TY2.js";
6
+ } from "./chunk-HCGTKQCG.js";
7
7
  import {
8
8
  isReadOnlyKey
9
- } from "./chunk-ZL3VY435.js";
9
+ } from "./chunk-EXDO7EPL.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.159.0",
3
+ "version": "4.161.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",
@@ -71,25 +71,26 @@
71
71
  "tsup": "^8.5.1",
72
72
  "tsx": "^4.19.0",
73
73
  "@ainyc/canonry-api-client": "0.0.0",
74
- "@ainyc/canonry-contracts": "0.0.0",
74
+ "@ainyc/canonry-api-routes": "0.0.0",
75
+ "@ainyc/canonry-config": "0.0.0",
75
76
  "@ainyc/canonry-db": "0.0.0",
77
+ "@ainyc/canonry-contracts": "0.0.0",
76
78
  "@ainyc/canonry-integration-bing": "0.0.0",
77
- "@ainyc/canonry-api-routes": "0.0.0",
79
+ "@ainyc/canonry-integration-cloudflare-queue": "0.0.0",
78
80
  "@ainyc/canonry-integration-openai-ads": "0.0.0",
79
81
  "@ainyc/canonry-integration-cloud-run": "0.0.0",
80
- "@ainyc/canonry-integration-google": "0.0.0",
81
82
  "@ainyc/canonry-integration-cloudflare-worker": "0.0.0",
83
+ "@ainyc/canonry-integration-commoncrawl": "0.0.0",
84
+ "@ainyc/canonry-integration-google": "0.0.0",
82
85
  "@ainyc/canonry-integration-google-business-profile": "0.0.0",
83
86
  "@ainyc/canonry-integration-google-places": "0.0.0",
84
87
  "@ainyc/canonry-integration-traffic": "0.0.0",
85
- "@ainyc/canonry-integration-commoncrawl": "0.0.0",
86
- "@ainyc/canonry-config": "0.0.0",
87
88
  "@ainyc/canonry-integration-wordpress": "0.0.0",
88
89
  "@ainyc/canonry-intelligence": "0.0.0",
90
+ "@ainyc/canonry-provider-local": "0.0.0",
89
91
  "@ainyc/canonry-provider-claude": "0.0.0",
90
92
  "@ainyc/canonry-provider-cdp": "0.0.0",
91
93
  "@ainyc/canonry-provider-gemini": "0.0.0",
92
- "@ainyc/canonry-provider-local": "0.0.0",
93
94
  "@ainyc/canonry-provider-openai": "0.0.0",
94
95
  "@ainyc/canonry-provider-perplexity": "0.0.0"
95
96
  },