@ainyc/canonry 4.78.0 → 4.81.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 (26) hide show
  1. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +38 -12
  2. package/assets/assets/{BacklinksPage-CwXveumn.js → BacklinksPage-DHShKKpo.js} +1 -1
  3. package/assets/assets/{ChartPrimitives-DntKGI5J.js → ChartPrimitives-udHScxjY.js} +1 -1
  4. package/assets/assets/ProjectPage-BsS1anh7.js +6 -0
  5. package/assets/assets/{RunRow-DMtYXaxG.js → RunRow-CXyPHMVQ.js} +1 -1
  6. package/assets/assets/{RunsPage-Cz-YlucO.js → RunsPage-BpQ_NpFt.js} +1 -1
  7. package/assets/assets/{SettingsPage-BCuG3C-0.js → SettingsPage-1ep4ch7n.js} +1 -1
  8. package/assets/assets/{TrafficPage-DV8X47wa.js → TrafficPage-C3Hx-sE7.js} +1 -1
  9. package/assets/assets/TrafficSourceDetailPage-B26n2R6G.js +1 -0
  10. package/assets/assets/{arrow-left-CUmHyNnF.js → arrow-left-Dc_IPJxw.js} +1 -1
  11. package/assets/assets/{extract-error-message-DFjy9_zi.js → extract-error-message-B3PoKkHW.js} +1 -1
  12. package/assets/assets/{index-D9smxU6R.js → index-DhdFTQkU.js} +86 -86
  13. package/assets/assets/{trash-2-B_UtEEm8.js → trash-2-BQ69cGl0.js} +1 -1
  14. package/assets/index.html +1 -1
  15. package/dist/{chunk-XI6YSTGE.js → chunk-6XOZSS3Y.js} +258 -8
  16. package/dist/{chunk-KPN22EWK.js → chunk-GMT3YPLT.js} +214 -4
  17. package/dist/{chunk-3WXARKUE.js → chunk-UAQ42NVJ.js} +1346 -357
  18. package/dist/{chunk-QKTIP6GC.js → chunk-VX5C7DK7.js} +902 -313
  19. package/dist/cli.js +468 -152
  20. package/dist/index.d.ts +17 -0
  21. package/dist/index.js +4 -4
  22. package/dist/{intelligence-service-CDVUUG7O.js → intelligence-service-CAAQAKPN.js} +2 -2
  23. package/dist/mcp.js +9 -3
  24. package/package.json +9 -8
  25. package/assets/assets/ProjectPage-CVudiU8X.js +0 -6
  26. package/assets/assets/TrafficSourceDetailPage-BmYhK9jm.js +0 -1
package/dist/index.d.ts CHANGED
@@ -91,6 +91,22 @@ interface CloudRunConnectionConfigEntry {
91
91
  interface CloudRunConfigEntry {
92
92
  connections?: CloudRunConnectionConfigEntry[];
93
93
  }
94
+ /**
95
+ * Per-project OpenAI Advertiser API (ChatGPT ads) connection. The "SDK key"
96
+ * is minted in OpenAI Ads Manager and scoped to one ad account; ad accounts
97
+ * are not domain-bound, so the connection keys on the project name. The
98
+ * `ads_connections` DB row holds metadata only — the key lives here.
99
+ */
100
+ interface OpenAiAdsConnectionConfigEntry {
101
+ projectName: string;
102
+ apiKey: string;
103
+ adAccountId?: string | null;
104
+ createdAt: string;
105
+ updatedAt: string;
106
+ }
107
+ interface OpenAiAdsConfigEntry {
108
+ connections?: OpenAiAdsConnectionConfigEntry[];
109
+ }
94
110
  type WordpressEnv = 'live' | 'staging';
95
111
  interface WordpressConnectionConfigEntry {
96
112
  projectName: string;
@@ -179,6 +195,7 @@ interface CanonryConfig {
179
195
  wordpress?: WordpressConfigEntry;
180
196
  wordpressTraffic?: WordpressTrafficConfigEntry;
181
197
  vercelTraffic?: VercelTrafficConfigEntry;
198
+ openaiAds?: OpenAiAdsConfigEntry;
182
199
  dashboardPasswordHash?: string;
183
200
  telemetry?: boolean;
184
201
  anonymousId?: string;
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  createServer
3
- } from "./chunk-QKTIP6GC.js";
3
+ } from "./chunk-VX5C7DK7.js";
4
4
  import {
5
5
  loadConfig
6
- } from "./chunk-XI6YSTGE.js";
7
- import "./chunk-3WXARKUE.js";
8
- import "./chunk-KPN22EWK.js";
6
+ } from "./chunk-6XOZSS3Y.js";
7
+ import "./chunk-UAQ42NVJ.js";
8
+ import "./chunk-GMT3YPLT.js";
9
9
  export {
10
10
  createServer,
11
11
  loadConfig
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  IntelligenceService
3
- } from "./chunk-3WXARKUE.js";
4
- import "./chunk-KPN22EWK.js";
3
+ } from "./chunk-UAQ42NVJ.js";
4
+ import "./chunk-GMT3YPLT.js";
5
5
  export {
6
6
  IntelligenceService
7
7
  };
package/dist/mcp.js CHANGED
@@ -3,8 +3,8 @@ import {
3
3
  PACKAGE_VERSION,
4
4
  canonryMcpTools,
5
5
  createApiClient
6
- } from "./chunk-XI6YSTGE.js";
7
- import "./chunk-KPN22EWK.js";
6
+ } from "./chunk-6XOZSS3Y.js";
7
+ import "./chunk-GMT3YPLT.js";
8
8
 
9
9
  // src/mcp/cli.ts
10
10
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
@@ -104,7 +104,7 @@ function zodErrorMessage(error) {
104
104
  }
105
105
 
106
106
  // src/mcp/toolkits.ts
107
- var CANONRY_MCP_TOOLKIT_NAMES = ["monitoring", "setup", "gsc", "ga", "gbp", "traffic", "agent", "discovery"];
107
+ var CANONRY_MCP_TOOLKIT_NAMES = ["monitoring", "setup", "gsc", "ga", "gbp", "ads", "traffic", "agent", "discovery"];
108
108
  var CANONRY_MCP_TOOLKITS = [
109
109
  {
110
110
  name: "monitoring",
@@ -136,6 +136,12 @@ var CANONRY_MCP_TOOLKITS = [
136
136
  description: "Local AEO signals: discover GBP locations under a connected account and toggle which ones sync. Future phases will add reviews, keyword impressions, daily performance metrics, and hotel attributes.",
137
137
  whenToLoad: "Load when the project tracks local search visibility or has connected Google Business Profile."
138
138
  },
139
+ {
140
+ name: "ads",
141
+ title: "OpenAI ads (ChatGPT ads)",
142
+ description: "Paid-surface data for the connected OpenAI ad account: connection status, campaign/ad-group snapshots (context hints), daily paid-performance rollups (spend in integer micros), and the composite summary. Trigger ads-sync runs.",
143
+ whenToLoad: "Load when the project runs ChatGPT ads and you need paid performance, campaign structure, or to trigger an ads sync."
144
+ },
139
145
  {
140
146
  name: "traffic",
141
147
  title: "Server-side traffic ingestion",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ainyc/canonry",
3
- "version": "4.78.0",
3
+ "version": "4.81.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,25 +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-config": "0.0.0",
67
66
  "@ainyc/canonry-api-routes": "0.0.0",
67
+ "@ainyc/canonry-config": "0.0.0",
68
68
  "@ainyc/canonry-contracts": "0.0.0",
69
69
  "@ainyc/canonry-db": "0.0.0",
70
70
  "@ainyc/canonry-integration-bing": "0.0.0",
71
- "@ainyc/canonry-integration-cloud-run": "0.0.0",
71
+ "@ainyc/canonry-integration-openai-ads": "0.0.0",
72
72
  "@ainyc/canonry-integration-commoncrawl": "0.0.0",
73
+ "@ainyc/canonry-integration-cloud-run": "0.0.0",
73
74
  "@ainyc/canonry-integration-google": "0.0.0",
74
75
  "@ainyc/canonry-integration-google-business-profile": "0.0.0",
75
76
  "@ainyc/canonry-integration-traffic": "0.0.0",
76
77
  "@ainyc/canonry-integration-google-places": "0.0.0",
77
78
  "@ainyc/canonry-integration-wordpress": "0.0.0",
78
- "@ainyc/canonry-intelligence": "0.0.0",
79
- "@ainyc/canonry-provider-claude": "0.0.0",
80
79
  "@ainyc/canonry-provider-cdp": "0.0.0",
81
- "@ainyc/canonry-provider-openai": "0.0.0",
82
- "@ainyc/canonry-provider-perplexity": "0.0.0",
80
+ "@ainyc/canonry-provider-claude": "0.0.0",
81
+ "@ainyc/canonry-provider-gemini": "0.0.0",
82
+ "@ainyc/canonry-intelligence": "0.0.0",
83
83
  "@ainyc/canonry-provider-local": "0.0.0",
84
- "@ainyc/canonry-provider-gemini": "0.0.0"
84
+ "@ainyc/canonry-provider-openai": "0.0.0",
85
+ "@ainyc/canonry-provider-perplexity": "0.0.0"
85
86
  },
86
87
  "scripts": {
87
88
  "build": "tsx scripts/copy-agent-assets.ts && tsup && tsx build-web.ts",