@canonry/canonry 7.91.0 → 7.91.2
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/README.md +182 -125
- package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +1 -1
- package/dist/{ads-QS4QEBHX.js → ads-RC5EHP6E.js} +3 -3
- package/dist/{agent-TTGLGLPD.js → agent-JYG5XPUJ.js} +7 -7
- package/dist/{agent-ask-EBYJSSGR.js → agent-ask-FGPGEOEI.js} +3 -3
- package/dist/{agent-conversations-LPBMYN4F.js → agent-conversations-Q3EKETCC.js} +3 -3
- package/dist/{agent-journeys-EL27YZKQ.js → agent-journeys-IHBTU6SZ.js} +3 -3
- package/dist/{agent-memory-YNWTLZGS.js → agent-memory-RXEPKF5K.js} +3 -3
- package/dist/{agent-providers-T7HJEQYM.js → agent-providers-LDMGD7TD.js} +3 -3
- package/dist/{agent-transcript-EY6KUYYG.js → agent-transcript-NXSXOYNE.js} +3 -3
- package/dist/{analytics-NTO6DGQ2.js → analytics-4BILIAM5.js} +3 -3
- package/dist/{apply-UGT7DZHG.js → apply-ENLWU4Z2.js} +3 -3
- package/dist/{backfill-5L4DWEWP.js → backfill-HHG3Z46F.js} +10 -10
- package/dist/{backlinks-JRG57JRJ.js → backlinks-5MMWYPFW.js} +3 -3
- package/dist/{bing-ZV6QDFTJ.js → bing-KO3PDNXZ.js} +3 -3
- package/dist/{bootstrap-GJHNMV5P.js → bootstrap-E76JLH63.js} +10 -10
- package/dist/{cdp-ZN47QU5O.js → cdp-BZRWX3MX.js} +7 -7
- package/dist/{chunk-PQNT2JUO.js → chunk-2REKLGYS.js} +4 -2
- package/dist/{chunk-EOIH5XHT.js → chunk-5DMCGBIT.js} +2 -2
- package/dist/{chunk-AXWUCOYT.js → chunk-5MBZUPY3.js} +1 -1
- package/dist/{chunk-OI6YQMSB.js → chunk-6SEWKBDC.js} +3 -3
- package/dist/{chunk-IQ5RKJKQ.js → chunk-7LN6QPV7.js} +1 -1
- package/dist/{chunk-4F6X52HV.js → chunk-B23XQ5OP.js} +4 -4
- package/dist/{chunk-WTKGSKCS.js → chunk-EIYNZOQA.js} +2 -2
- package/dist/{chunk-6DP2YPZY.js → chunk-FLP4XMWI.js} +4 -4
- package/dist/{chunk-6Y4EVLV2.js → chunk-FX5H2PD5.js} +7 -7
- package/dist/{chunk-UQVUDSAV.js → chunk-FYJMNYVR.js} +1 -1
- package/dist/{chunk-YPHRRCS3.js → chunk-HMNQTF3E.js} +5 -5
- package/dist/{chunk-L5U7VT4A.js → chunk-IPFSY55D.js} +1 -1
- package/dist/{chunk-3HNHOS6O.js → chunk-JC2MAKWO.js} +1 -1
- package/dist/{chunk-4FFIIZB5.js → chunk-JKBQ3G25.js} +1 -1
- package/dist/{chunk-GDFU7FOR.js → chunk-JXGVPQA5.js} +6 -6
- package/dist/{chunk-QUS7755A.js → chunk-KKVIRNFF.js} +3 -3
- package/dist/{chunk-7KHSKOV6.js → chunk-KVNGLXG7.js} +3 -3
- package/dist/{chunk-HT7FQ45E.js → chunk-ML3KDUHO.js} +21 -21
- package/dist/{chunk-2N7BYEZO.js → chunk-MM3OYQ53.js} +2 -2
- package/dist/{chunk-PC27ODE3.js → chunk-MNIQFFLL.js} +4 -4
- package/dist/{chunk-LSIE5MHG.js → chunk-OK6MKE4B.js} +1 -1
- package/dist/{chunk-IHMODTQ7.js → chunk-PAC5EE5X.js} +3 -3
- package/dist/{chunk-SYOQULRL.js → chunk-PIDL7OJ4.js} +2 -2
- package/dist/{chunk-N7MHVCML.js → chunk-PIOCF5GN.js} +5 -5
- package/dist/{chunk-YCRSIOIN.js → chunk-QS57GCF4.js} +2 -2
- package/dist/{chunk-UJL5K3LB.js → chunk-QZM44MJL.js} +357 -357
- package/dist/{chunk-W6H7WDHW.js → chunk-SC7WEHEK.js} +3 -3
- package/dist/{chunk-P4MNYMJJ.js → chunk-SMH4FUXJ.js} +1 -1
- package/dist/{chunk-56EXMS52.js → chunk-SMSTXGJX.js} +2 -2
- package/dist/{chunk-WEDOXGGI.js → chunk-T6ZYAUJX.js} +31 -5
- package/dist/{chunk-WOEGZKXQ.js → chunk-UHCRUGI5.js} +1 -1
- package/dist/{chunk-YVY23HNW.js → chunk-V4MRQPV2.js} +1 -1
- package/dist/{chunk-NAPFULBT.js → chunk-XFVB3UCE.js} +1 -1
- package/dist/{chunk-C3BSCGUH.js → chunk-ZR4WEKEC.js} +1 -1
- package/dist/{chunk-YFOTI7LJ.js → chunk-ZYHP6QZO.js} +2 -2
- package/dist/{citations-6723MJLH.js → citations-UEKKVKBV.js} +3 -3
- package/dist/{cli-catalog-RVBNEPWA.js → cli-catalog-HJOVIDG6.js} +3 -3
- package/dist/{cli-commands-2Q6ETPXR.js → cli-commands-5FUTLXQS.js} +7 -7
- package/dist/cli.js +13 -13
- package/dist/{competitor-ENYN5RAD.js → competitor-3TX3GOLA.js} +3 -3
- package/dist/{content-TT3PF4CR.js → content-BKICG6BP.js} +3 -3
- package/dist/{dashboard-K32TQKTC.js → dashboard-HOCPAGFO.js} +6 -6
- package/dist/{demo-IMMMFC4N.js → demo-IXNY4QU4.js} +1 -1
- package/dist/{demo-server-TFEWWKQ3.js → demo-server-HGKXT27V.js} +12 -12
- package/dist/{discover-HATQTTDG.js → discover-LBULUEYL.js} +3 -3
- package/dist/{discover-eval-64TWPB5Z.js → discover-eval-V7UJGWHK.js} +3 -3
- package/dist/{doctor-6C5TXOG3.js → doctor-O45PQVTM.js} +3 -3
- package/dist/{evidence-K43NRSOT.js → evidence-FCNEZ7OV.js} +3 -3
- package/dist/{export-cmd-KU64GUQ5.js → export-cmd-CFC3HYWQ.js} +3 -3
- package/dist/{ga-KXKLUQBQ.js → ga-V643BFQV.js} +3 -3
- package/dist/{gbp-5CZTROVP.js → gbp-L5PCSFCF.js} +3 -3
- package/dist/{google-6TNU7SVF.js → google-TO6R7PKD.js} +4 -4
- package/dist/{google-marketing-UCUIJBQG.js → google-marketing-BOSOBO4T.js} +1 -1
- package/dist/{health-cmd-ZFJ7ZOWI.js → health-cmd-UZKM4AB7.js} +3 -3
- package/dist/{history-V664SORR.js → history-WRVANB63.js} +3 -3
- package/dist/index.d.ts +62 -62
- package/dist/index.js +25 -25
- package/dist/{init-ILS6UQCH.js → init-CYKAYU6A.js} +12 -12
- package/dist/{insights-JFW7HBPR.js → insights-UQ76TUH7.js} +3 -3
- package/dist/intelligence-service-LVOX33SJ.js +16 -0
- package/dist/{journeys-QTZXBKBT.js → journeys-6S235DIK.js} +3 -3
- package/dist/{keys-KGI5S2IE.js → keys-VXQWKBDR.js} +3 -3
- package/dist/{keyword-XU6Y4XVH.js → keyword-VM26Z6Z7.js} +3 -3
- package/dist/{logs-E2DQXWQQ.js → logs-B4UKUNNS.js} +3 -3
- package/dist/{mcp-PQE6WFED.js → mcp-NFRDBPMW.js} +4 -4
- package/dist/mcp.js +9 -9
- package/dist/{measurement-plan-NBGLF7BI.js → measurement-plan-PH4S4NL4.js} +5 -5
- package/dist/{notify-SHEAQNUJ.js → notify-XCFFEECP.js} +3 -3
- package/dist/{organic-evidence-LMXCFABG.js → organic-evidence-P6YKEE5J.js} +3 -3
- package/dist/{overview-MXEBDUCA.js → overview-XA7WM5QI.js} +4 -4
- package/dist/{project-MWZGTK4S.js → project-US5UT3TO.js} +3 -3
- package/dist/{query-EZQY45JT.js → query-MVLTNGDG.js} +3 -3
- package/dist/{research-PSPDLEQL.js → research-XWJOXQDW.js} +3 -3
- package/dist/{results-export-7FLSFC7J.js → results-export-QMNLDPOB.js} +3 -3
- package/dist/{run-MASOXS63.js → run-U7Y3UINV.js} +4 -4
- package/dist/{schedule-V32G7TBR.js → schedule-WO72K2TA.js} +3 -3
- package/dist/{search-R2S5CAVK.js → search-VFN7HC4Q.js} +3 -3
- package/dist/{serve-AEICU77K.js → serve-R5SZLLJ7.js} +26 -26
- package/dist/{session-TERRMJL7.js → session-IF7IXHSS.js} +13 -13
- package/dist/{settings-KBY4766O.js → settings-RTPDTKM3.js} +3 -3
- package/dist/{sitemaps-FLMA6DMY.js → sitemaps-5CCNCMM4.js} +3 -3
- package/dist/{skills-WAHOLVYH.js → skills-ZWET6NI7.js} +2 -2
- package/dist/{snapshot-VJYM7UX2.js → snapshot-CCQ62PWI.js} +3 -3
- package/dist/{src-XVBKS6UX.js → src-G42HKGIS.js} +2 -2
- package/dist/{status-YFAUBVEA.js → status-YE6MWDYD.js} +4 -4
- package/dist/{technical-aeo-656NEU3A.js → technical-aeo-LIEMDI5R.js} +3 -3
- package/dist/{telemetry-CJ7ENZDY.js → telemetry-D5OR6DKJ.js} +4 -4
- package/dist/{tools-3A3I2TX2.js → tools-R63V5YCE.js} +11 -11
- package/dist/{traffic-NN6ECPRS.js → traffic-6JJNWQZL.js} +5 -5
- package/dist/{trends-HXZVTQ3I.js → trends-QZEDEIQE.js} +3 -3
- package/dist/{users-PELDCAXQ.js → users-UYTKWYR6.js} +3 -3
- package/dist/{visibility-stats-W3AELURT.js → visibility-stats-ESDTTTAE.js} +3 -3
- package/dist/{wordpress-TAVEI2XQ.js → wordpress-EJLVQNNU.js} +3 -3
- package/package.json +1 -1
- package/dist/intelligence-service-XDMZTN3T.js +0 -16
package/README.md
CHANGED
|
@@ -1,15 +1,94 @@
|
|
|
1
|
-
|
|
1
|
+
<h1 align="center">
|
|
2
|
+
<a href="https://canonry.ai"><img src="https://raw.githubusercontent.com/Canonry/canonry/main/apps/web/public/apple-touch-icon.png" alt="Canonry" width="64" valign="middle" /></a> Canonry
|
|
3
|
+
</h1>
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://www.npmjs.com/package/@canonry/canonry"><img src="https://img.shields.io/npm/v/@canonry/canonry?style=flat&label=npm&color=D93F45" alt="npm version" /></a>
|
|
7
|
+
<a href="https://www.npmjs.com/package/@canonry/canonry"><img src="https://img.shields.io/npm/dt/@canonry/canonry?style=flat&label=downloads&color=D93F45" alt="Total npm downloads" /></a>
|
|
8
|
+
<a href="./LICENSE"><img src="https://img.shields.io/badge/license-MIT-D93F45?style=flat" alt="License: MIT" /></a>
|
|
9
|
+
<a href="https://discord.gg/8K9yY7GywJ"><img src="https://img.shields.io/badge/Discord-5865F2?logo=discord&logoColor=white" alt="Join the Canonry Discord" /></a>
|
|
10
|
+
<a href="https://x.com/canonry_ai"><img src="https://img.shields.io/badge/X-000000?logo=x&logoColor=white" alt="Follow Canonry on X" /></a>
|
|
11
|
+
<img src="https://img.shields.io/badge/API%20%7C%20CLI%20%7C%20MCP%20%7C%20Web-4493F8?style=flat-square" alt="Interfaces: REST API, CLI, MCP, and web dashboard" />
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
<p align="center">
|
|
15
|
+
<strong>The agent-first AEO operating platform.</strong><br/>
|
|
16
|
+
Track mentions and citations across ChatGPT, Claude, Gemini, Meta Muse, and more. Join them with Search Console, GA4, ads, AI crawler traffic, site audits, and SEO data. Then let your agent create content, publish fixes, manage ChatGPT ads, get pages indexed, and measure what changed.<br/>
|
|
17
|
+
<sub>Open source · Self-hosted · Bring your own keys</sub>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<h3 align="center"><a href="https://custom-demo.canonry.ai/projects/summit-roofing"><ins>Try the live demo</ins></a> · <a href="#quick-start"><ins>Quick start</ins></a></h3>
|
|
21
|
+
|
|
22
|
+
<p align="center">
|
|
23
|
+
<a href="https://custom-demo.canonry.ai/projects/summit-roofing"><picture><source media="(max-width: 600px)" srcset="https://raw.githubusercontent.com/Canonry/canonry/main/docs/images/readme/hero-mobile.png" /><img src="https://raw.githubusercontent.com/Canonry/canonry/main/docs/images/readme/hero.png" alt="Canonry dashboard: AI answers over time, with the share of non-brand answers that mention the brand for Claude, Gemini, and OpenAI, with sample data" width="100%" /></picture></a>
|
|
24
|
+
</p>
|
|
25
|
+
|
|
26
|
+
<a id="explore-the-evidence"></a>
|
|
27
|
+
<a id="add-ai-visibility-when-you-need-it"></a>
|
|
28
|
+
|
|
29
|
+
## Features
|
|
30
|
+
|
|
31
|
+
### Built for Agents
|
|
32
|
+
|
|
33
|
+
Everything runs on one REST API. The dashboard, CLI, MCP server, and plugins all call it, so your agent can read and do everything you see.
|
|
34
|
+
|
|
35
|
+
- **REST API:** every dashboard number has a typed endpoint under `/api/v1`. The full OpenAPI spec is at `GET /api/v1/openapi.json`. [API →](#self-hosting-and-api)
|
|
36
|
+
- **CLI:** the same calls as `cnry <command> --format json`, for scripts and shell agents. [CLI →](skills/canonry/references/canonry-cli.md)
|
|
37
|
+
- **MCP and plugins:** plugins for Claude Code and Codex, or a hosted MCP server for ChatGPT and Claude Desktop. [MCP →](docs/mcp.md) · [Plugin →](docs/plugins.md)
|
|
38
|
+
|
|
39
|
+
### AI Visibility
|
|
40
|
+
|
|
41
|
+
Track brand mentions and citations by query and answer engine. See where competitors win, then open the exact answer and sources behind each result. [Docs →](docs/query-visibility.md)
|
|
42
|
+
|
|
43
|
+
<a href="https://custom-demo.canonry.ai/projects/summit-roofing"><picture><source media="(max-width: 600px)" srcset="https://raw.githubusercontent.com/Canonry/canonry/main/docs/images/readme/ai-visibility-mobile.png" /><img src="https://raw.githubusercontent.com/Canonry/canonry/main/docs/images/readme/ai-visibility.png" alt="Where competitors are winning: mention share against two competitors, mention and citation gaps, and mentioned and cited counts by engine, with sample data" width="100%" /></picture></a>
|
|
44
|
+
|
|
45
|
+
### Server-Side AI Traffic
|
|
46
|
+
|
|
47
|
+
See what AI agents actually do on your site, from your server logs: which pages GPTBot, ClaudeBot, Meta AI, and Grok crawl, which pages ChatGPT, Claude, and Meta AI open for users, and who clicks through. [Docs →](skills/canonry/references/server-side-traffic.md)
|
|
48
|
+
|
|
49
|
+
<a href="skills/canonry/references/server-side-traffic.md"><picture><source media="(max-width: 600px)" srcset="https://raw.githubusercontent.com/Canonry/canonry/main/docs/images/readme/traffic-mobile.png" /><img src="https://raw.githubusercontent.com/Canonry/canonry/main/docs/images/readme/traffic.png" alt="Server traffic for the last 24 hours: 105 AI crawler visits, 35 AI user fetches, and 46 AI referral sessions, with an hourly chart, with sample data" width="100%" /></picture></a>
|
|
50
|
+
|
|
51
|
+
### Site Health
|
|
52
|
+
|
|
53
|
+
Crawl your site, score each page for AI readiness, and map the internal links between pages. Each finding lists the pages it affects. [Docs →](skills/canonry/references/canonry-cli.md#site-health-technical-aeo-compatibility)
|
|
54
|
+
|
|
55
|
+
<a href="skills/canonry/references/canonry-cli.md#site-health-technical-aeo-compatibility"><picture><source media="(max-width: 600px)" srcset="https://raw.githubusercontent.com/Canonry/canonry/main/docs/images/readme/site-health-mobile.png" /><img src="https://raw.githubusercontent.com/Canonry/canonry/main/docs/images/readme/site-health.png" alt="Site map of 205 crawled pages and the links between them, beside a list of site sections, with sample data" width="100%" /></picture></a>
|
|
56
|
+
|
|
57
|
+
<a id="seo-data"></a>
|
|
58
|
+
|
|
59
|
+
### SEO Research
|
|
60
|
+
|
|
61
|
+
Keyword volume, difficulty, organic rankings, and search gaps against competitors, powered by DataForSEO Labs. [Docs →](docs/seo-data.md)
|
|
62
|
+
|
|
63
|
+
<a href="docs/seo-data.md"><picture><source media="(max-width: 600px)" srcset="https://raw.githubusercontent.com/Canonry/canonry/main/docs/images/readme/seo-mobile.png" /><img src="https://raw.githubusercontent.com/Canonry/canonry/main/docs/images/readme/seo.png" alt="SEO page with ranked searches, top-10 count, estimated organic traffic, and a table of positions, volume, and difficulty, with sample data" width="100%" /></picture></a>
|
|
64
|
+
|
|
65
|
+
### Ads
|
|
66
|
+
|
|
67
|
+
Let your agent run ChatGPT Ads: sync campaigns and daily results, create and edit campaigns, and switch them on only after you approve. Track Google Ads spend and conversions, and check each conversion's setup across Google Ads and Tag Manager. Paid results stay separate from organic mentions and citations. [ChatGPT Ads →](skills/canonry/references/canonry-cli.md#openai-ads-chatgpt-ads) · [Google Ads →](docs/google-marketing.md)
|
|
7
68
|
|
|
8
|
-
|
|
69
|
+
<a href="docs/google-marketing.md"><picture><source media="(max-width: 600px)" srcset="https://raw.githubusercontent.com/Canonry/canonry/main/docs/images/readme/ads-mobile.png" /><img src="https://raw.githubusercontent.com/Canonry/canonry/main/docs/images/readme/ads.png" alt="Google Ads performance: spend, conversions, cost per conversion, a daily chart, and campaign results, with sample data" width="100%" /></picture></a>
|
|
9
70
|
|
|
10
|
-
|
|
71
|
+
<a id="compare-competitors-and-measure-complex-portfolios"></a>
|
|
72
|
+
<a id="act-on-the-evidence"></a>
|
|
73
|
+
|
|
74
|
+
**Also in the box:**
|
|
75
|
+
|
|
76
|
+
- **[Aero](skills/aero/SKILL.md)** — A built-in analyst in the dashboard that reads your evidence and explains what changed.
|
|
77
|
+
- **[Portfolios](skills/canonry/references/canonry-cli.md#target-measurement-plans)** — Versioned measurement plans for locations, products, or site sections. Branded and non-brand queries stay separate.
|
|
78
|
+
- **[Competitor landscape](docs/competitor-landscape.md)** — Mention share, mentions, and citations for you and your competitors over time.
|
|
79
|
+
- **[Query discovery and research](skills/canonry/references/canonry-cli.md#discovery-tracked-basket-expansion)** — Find new queries to track, or run one-off research without changing what you track.
|
|
80
|
+
- **[Content engine](skills/canonry/references/canonry-cli.md#content-target-dismissals)** — Finds content gaps and the pages to write or improve next, so your agent can draft them and publish to WordPress for review.
|
|
81
|
+
- **[Publish and index](skills/canonry/references/indexing.md)** — WordPress drafts, JSON-LD, and sitemap and URL submissions to Google and Bing.
|
|
82
|
+
- **[Schedules and webhooks](skills/canonry/references/canonry-cli.md#scheduling--notifications)** — Rerun checks on a schedule and send alerts to Discord, Slack, or your systems.
|
|
83
|
+
- **[Backlinks](skills/canonry/references/canonry-cli.md#backlinks-common-crawl)** — Common Crawl link data, queried locally with DuckDB.
|
|
84
|
+
- **[Sentiment](docs/sentiment.md)** — Experimental, off by default. Rates branded answers as favorable, mixed, or unfavorable.
|
|
85
|
+
- **And more** — browse the [documentation index](docs/README.md).
|
|
86
|
+
|
|
87
|
+
**An example job for your connected agent:**
|
|
88
|
+
|
|
89
|
+
> Find where competitors get cited and we don't. Use search data and the site audit to prepare a pull request or WordPress draft for review. After it ships, rerun checks and report what changed.
|
|
11
90
|
|
|
12
|
-
|
|
91
|
+
## How it works
|
|
13
92
|
|
|
14
93
|
<p align="center">
|
|
15
94
|
<a href="https://raw.githubusercontent.com/Canonry/canonry/main/docs/images/measure-act.svg">
|
|
@@ -17,11 +96,65 @@ Canonry is an **agent-first (CLI, MCP, API), open-source AEO operating platform
|
|
|
17
96
|
</a>
|
|
18
97
|
</p>
|
|
19
98
|
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Supported Engines
|
|
102
|
+
|
|
103
|
+
Compare direct AI engines, OpenRouter models, and search answers from Exa and Parallel. Each keeps its own results and history.
|
|
104
|
+
|
|
105
|
+
<p>
|
|
106
|
+
<a href="https://platform.openai.com/api-keys"><kbd><img src="https://www.google.com/s2/favicons?domain=openai.com&sz=64" alt="OpenAI logo" width="16" valign="middle" /> ChatGPT</kbd></a>
|
|
107
|
+
<a href="https://console.anthropic.com/settings/keys"><kbd><img src="https://www.google.com/s2/favicons?domain=claude.ai&sz=64" alt="Claude logo" width="16" valign="middle" /> Claude</kbd></a>
|
|
108
|
+
<a href="https://aistudio.google.com/apikey"><kbd><img src="https://www.google.com/s2/favicons?domain=gemini.google.com&sz=64" alt="Gemini logo" width="16" valign="middle" /> Gemini</kbd></a>
|
|
109
|
+
<a href="https://www.perplexity.ai/settings/api"><kbd><img src="https://www.google.com/s2/favicons?domain=perplexity.ai&sz=64" alt="Perplexity logo" width="16" valign="middle" /> Perplexity</kbd></a>
|
|
110
|
+
<a href="https://dev.meta.ai/"><kbd><img src="https://www.google.com/s2/favicons?domain=meta.ai&sz=64" alt="Meta logo" width="16" valign="middle" /> Meta (Muse)</kbd></a>
|
|
111
|
+
<a href="docs/providers/openrouter.md"><kbd><img src="https://www.google.com/s2/favicons?domain=openrouter.ai&sz=64" alt="OpenRouter logo" width="16" valign="middle" /> OpenRouter</kbd></a>
|
|
112
|
+
<a href="docs/providers/answer-services/exa.md"><kbd><img src="https://www.google.com/s2/favicons?domain=exa.ai&sz=64" alt="Exa logo" width="16" valign="middle" /> Exa</kbd></a>
|
|
113
|
+
<a href="docs/providers/answer-services/parallel.md"><kbd><img src="https://www.google.com/s2/favicons?domain=parallel.ai&sz=64" alt="Parallel logo" width="16" valign="middle" /> Parallel</kbd></a>
|
|
114
|
+
<kbd>+ any OpenAI-compatible local model</kbd>
|
|
115
|
+
</p>
|
|
116
|
+
|
|
117
|
+
**Works with your agent:**
|
|
118
|
+
|
|
119
|
+
<p>
|
|
120
|
+
<a href="docs/plugins.md#install-for-claude-code"><kbd><img src="https://www.google.com/s2/favicons?domain=claude.ai&sz=64" alt="Claude Code logo" width="16" valign="middle" /> Claude Code</kbd></a>
|
|
121
|
+
<a href="docs/plugins.md#install-for-codex"><kbd><img src="https://www.google.com/s2/favicons?domain=openai.com&sz=64" alt="Codex logo" width="16" valign="middle" /> Codex</kbd></a>
|
|
122
|
+
<a href="docs/mcp.md"><kbd><img src="https://www.google.com/s2/favicons?domain=chatgpt.com&sz=64" alt="ChatGPT logo" width="16" valign="middle" /> ChatGPT</kbd></a>
|
|
123
|
+
<a href="docs/mcp.md"><kbd><img src="https://www.google.com/s2/favicons?domain=claude.ai&sz=64" alt="Claude Desktop logo" width="16" valign="middle" /> Claude Desktop</kbd></a>
|
|
124
|
+
<kbd>+ any MCP client or shell-capable agent</kbd>
|
|
125
|
+
</p>
|
|
126
|
+
|
|
127
|
+
<a id="built-in-integrations-and-workflows"></a>
|
|
128
|
+
|
|
129
|
+
## Integrations
|
|
130
|
+
|
|
131
|
+
Connect the sources you use. Each one adds evidence or tools to the same project.
|
|
132
|
+
|
|
133
|
+
<p>
|
|
134
|
+
<a href="docs/google-search-console-setup.md"><kbd><img src="https://www.google.com/s2/favicons?domain=search.google.com&sz=64" alt="Google Search Console logo" width="16" valign="middle" /> Search Console</kbd></a>
|
|
135
|
+
<a href="docs/bing-webmaster-setup.md"><kbd><img src="https://www.google.com/s2/favicons?domain=bing.com&sz=64" alt="Bing logo" width="16" valign="middle" /> Bing Webmaster Tools</kbd></a>
|
|
136
|
+
<a href="docs/google-analytics-setup.md"><kbd><img src="https://www.google.com/s2/favicons?domain=analytics.google.com&sz=64" alt="Google Analytics logo" width="16" valign="middle" /> Google Analytics 4</kbd></a>
|
|
137
|
+
<a href="skills/canonry/references/google-business-profile.md"><kbd><img src="https://www.google.com/s2/favicons?domain=business.google.com&sz=64" alt="Google Business Profile logo" width="16" valign="middle" /> Business Profile</kbd></a>
|
|
138
|
+
<a href="docs/google-marketing.md"><kbd><img src="https://www.google.com/s2/favicons?domain=ads.google.com&sz=64" alt="Google Ads logo" width="16" valign="middle" /> Google Ads</kbd></a>
|
|
139
|
+
<a href="docs/google-marketing.md"><kbd><img src="https://www.google.com/s2/favicons?domain=tagmanager.google.com&sz=64" alt="Google Tag Manager logo" width="16" valign="middle" /> Tag Manager</kbd></a>
|
|
140
|
+
<a href="docs/cloudflare-traffic-setup.md"><kbd><img src="https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64" alt="Cloudflare logo" width="16" valign="middle" /> Cloudflare</kbd></a>
|
|
141
|
+
<a href="skills/canonry/references/server-side-traffic.md"><kbd><img src="https://www.google.com/s2/favicons?domain=vercel.com&sz=64" alt="Vercel logo" width="16" valign="middle" /> Vercel</kbd></a>
|
|
142
|
+
<a href="skills/canonry/references/server-side-traffic.md"><kbd><img src="https://www.google.com/s2/favicons?domain=cloud.google.com&sz=64" alt="Google Cloud logo" width="16" valign="middle" /> Cloud Run</kbd></a>
|
|
143
|
+
<a href="docs/wordpress-setup.md"><kbd><img src="https://www.google.com/s2/favicons?domain=wordpress.org&sz=64" alt="WordPress logo" width="16" valign="middle" /> WordPress</kbd></a>
|
|
144
|
+
<a href="docs/seo-data.md"><kbd><img src="https://www.google.com/s2/favicons?domain=dataforseo.com&sz=64" alt="DataForSEO logo" width="16" valign="middle" /> DataForSEO</kbd></a>
|
|
145
|
+
<a href="skills/canonry/references/canonry-cli.md#backlinks-common-crawl"><kbd><img src="https://www.google.com/s2/favicons?domain=commoncrawl.org&sz=64" alt="Common Crawl logo" width="16" valign="middle" /> Common Crawl</kbd></a>
|
|
146
|
+
<a href="skills/canonry/references/canonry-cli.md#openai-ads-chatgpt-ads"><kbd><img src="https://www.google.com/s2/favicons?domain=chatgpt.com&sz=64" alt="ChatGPT logo" width="16" valign="middle" /> ChatGPT Ads</kbd></a>
|
|
147
|
+
</p>
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
20
151
|
## Quick start
|
|
21
152
|
|
|
22
153
|
<a id="or-use-any-shell-capable-coding-agent"></a>
|
|
23
154
|
|
|
24
|
-
###
|
|
155
|
+
### With your agent
|
|
156
|
+
|
|
157
|
+
Paste this into Claude Code, Codex, or any shell-capable coding agent.
|
|
25
158
|
|
|
26
159
|
<details>
|
|
27
160
|
<summary>Copy the first-time setup request</summary>
|
|
@@ -48,37 +181,31 @@ Pick one path and stay on it. Use connected Canonry tools (plugin or MCP) only i
|
|
|
48
181
|
|
|
49
182
|
</details>
|
|
50
183
|
|
|
51
|
-
###
|
|
52
|
-
|
|
53
|
-
Connect the [Agent Plugin](docs/plugins.md) or [MCP adapter](docs/mcp.md) to your own agent.
|
|
184
|
+
### With the plugin
|
|
54
185
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
1. Install Canonry.
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
npm install -g @canonry/canonry
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
If you previously installed `@ainyc/canonry`, run `npm uninstall -g @ainyc/canonry` first to release the shared command names. Existing configuration and data in `~/.canonry` stay in place. New releases are published only under `@canonry`.
|
|
186
|
+
```bash
|
|
187
|
+
# Claude Code
|
|
188
|
+
claude plugin marketplace add Canonry/canonry
|
|
189
|
+
claude plugin install canonry@canonry
|
|
66
190
|
|
|
67
|
-
|
|
191
|
+
# Codex
|
|
192
|
+
codex plugin marketplace add Canonry/canonry
|
|
193
|
+
codex plugin add canonry@canonry
|
|
194
|
+
```
|
|
68
195
|
|
|
69
|
-
|
|
70
|
-
cnry bootstrap
|
|
71
|
-
```
|
|
196
|
+
Or connect the [MCP adapter](docs/mcp.md) to any MCP client. Full steps: [Agent Plugin guide](docs/plugins.md).
|
|
72
197
|
|
|
73
|
-
|
|
198
|
+
<a id="get-a-page-health-baseline"></a>
|
|
74
199
|
|
|
75
|
-
|
|
76
|
-
cnry serve
|
|
77
|
-
```
|
|
200
|
+
### On your own
|
|
78
201
|
|
|
79
|
-
|
|
202
|
+
```bash
|
|
203
|
+
npm install -g @canonry/canonry
|
|
204
|
+
cnry bootstrap
|
|
205
|
+
cnry serve
|
|
206
|
+
```
|
|
80
207
|
|
|
81
|
-
The crawl saves a Page Health baseline. AI Visibility is optional and has a separate setup.
|
|
208
|
+
Then open [http://127.0.0.1:4100/setup](http://127.0.0.1:4100/setup) and follow the setup to scan your site. The crawl saves a Page Health baseline. AI Visibility is optional and has a separate setup.
|
|
82
209
|
|
|
83
210
|
<details>
|
|
84
211
|
<summary>Scan and read results from the terminal</summary>
|
|
@@ -102,27 +229,6 @@ If the scan fails or is cancelled, read the error with `cnry run show <run-id> -
|
|
|
102
229
|
|
|
103
230
|
</details>
|
|
104
231
|
|
|
105
|
-
## Explore the evidence
|
|
106
|
-
|
|
107
|
-
Your agent and dashboard use the same project API. The dashboard makes trends, exact answers, and site findings available for human review.
|
|
108
|
-
|
|
109
|
-
<a id="add-ai-visibility-when-you-need-it"></a>
|
|
110
|
-
|
|
111
|
-
### AI visibility
|
|
112
|
-
|
|
113
|
-
Track brand mentions and citations over time, by query and answer engine. Find answers that cite competitors but omit your site.
|
|
114
|
-
|
|
115
|
-
Compare direct AI engines, OpenRouter models, and search answers from Exa and Parallel.
|
|
116
|
-
|
|
117
|
-

|
|
118
|
-
|
|
119
|
-
*Track your share of answer-engine brand mentions over time.*
|
|
120
|
-
|
|
121
|
-

|
|
122
|
-
|
|
123
|
-
The citation map shows mention and citation coverage across queries and engines.
|
|
124
|
-
[Rank cited domains and pages](skills/canonry/references/canonry-cli.md#cited-source-rankings-cnry-sources), then inspect the exact answers and URLs behind each result.
|
|
125
|
-
|
|
126
232
|
<details>
|
|
127
233
|
<summary>Configure a provider and run visibility checks</summary>
|
|
128
234
|
|
|
@@ -181,67 +287,19 @@ For a configured portfolio destination, select one `--market <key>` or `--proper
|
|
|
181
287
|
|
|
182
288
|
</details>
|
|
183
289
|
|
|
184
|
-
<a id="
|
|
185
|
-
|
|
186
|
-
### Search, traffic, and site health
|
|
187
|
-
|
|
188
|
-
Investigate visibility changes with evidence from search and local performance, crawler visits, AI page fetches, referrals, and conversions.
|
|
189
|
-
Site audits show technical findings alongside that evidence.
|
|
190
|
-
|
|
191
|
-

|
|
192
|
-
|
|
193
|
-
*Map crawlable pages and the internal links that connect them.*
|
|
194
|
-
|
|
195
|
-
<a id="seo-data"></a>
|
|
196
|
-
|
|
197
|
-
### SEO data with DataForSEO
|
|
198
|
-
|
|
199
|
-
Use **DataForSEO Labs** for Google keyword research, organic rankings, and domain comparisons.
|
|
200
|
-
Explore search volume, difficulty, CPC, ranking URLs, and estimated traffic through the dashboard, CLI, MCP, and API.
|
|
201
|
-
|
|
202
|
-
[Configure DataForSEO](docs/seo-data.md).
|
|
203
|
-
|
|
204
|
-

|
|
205
|
-
|
|
206
|
-
*SEO dashboard with sample data: organic keyword totals, estimated traffic, and ranked keywords.*
|
|
207
|
-
|
|
208
|
-
### Portfolios and competitors
|
|
209
|
-
|
|
210
|
-
Use [versioned measurement plans](docs/mcp.md#tool-surface) for portfolios of locations, products, or site sections.
|
|
211
|
-
|
|
212
|
-
- **Properties:** Assign queries, engines, models, and locations to each property. Keep branded and non-brand coverage separate.
|
|
213
|
-
- **Market groups:** Organize overlapping sets of properties, each with its own competitors.
|
|
214
|
-
- **Comparisons:** Compare properties, groups, engines, and locations. Open the exact answers and cited URLs behind each result.
|
|
215
|
-
|
|
216
|
-
## Act on the evidence
|
|
217
|
-
|
|
218
|
-
Your agent coordinates the work through Canonry and its own tools.
|
|
219
|
-
|
|
220
|
-
- **Improve the site:** Combine your agent's coding tools with Canonry's content, [WordPress publishing](docs/wordpress-setup.md), JSON-LD, and [indexing workflows](skills/canonry/references/indexing.md).
|
|
221
|
-
- **Measure after changes:** Configure [independent schedules](skills/canonry/references/canonry-cli.md#scheduling--notifications) for data syncs and checks. Compare new results with earlier evidence.
|
|
222
|
-
- **Export and follow up:** Read [AI visibility evidence](docs/report-retirement.md) and [traffic analytics](docs/report-retirement.md). Send [webhook alerts](skills/canonry/references/canonry-cli.md#agent) to Discord, Slack, or your systems.
|
|
223
|
-
|
|
224
|
-
**An example job for your connected agent:**
|
|
225
|
-
|
|
226
|
-
> Find where competitors get cited and we don't. Use search data and the site audit to prepare a pull request or WordPress draft for review. After it ships, rerun checks and report what changed.
|
|
227
|
-
|
|
228
|
-
<a id="built-in-integrations-and-workflows"></a>
|
|
229
|
-
|
|
230
|
-
## Integrations
|
|
290
|
+
<a id="if-you-get-stuck"></a>
|
|
231
291
|
|
|
232
|
-
|
|
292
|
+
<details>
|
|
293
|
+
<summary>Troubleshoot installation, scans, and visibility results</summary>
|
|
233
294
|
|
|
234
|
-
|
|
|
295
|
+
| Problem | Next step |
|
|
235
296
|
|---|---|
|
|
236
|
-
|
|
|
237
|
-
|
|
|
238
|
-
|
|
|
239
|
-
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
| **Backlinks** | [Common Crawl](skills/canonry/references/canonry-cli.md#backlinks-common-crawl) hyperlink releases, queried locally with DuckDB |
|
|
243
|
-
| **Publishing and indexing** | [WordPress](docs/wordpress-setup.md) · JSON-LD · [sitemap and URL submissions](skills/canonry/references/indexing.md) |
|
|
244
|
-
| **ChatGPT Ads** | [Campaign measurement, paused campaign editing, approved activation, and operation reconciliation](docs/mcp.md#tool-surface) |
|
|
297
|
+
| Site scan is still active | Read exact counters with `cnry technical-aeo progress <project> --run-id <id> --format json`. |
|
|
298
|
+
| Site scan failed | Read the error with `cnry run show <run-id> --format json`. Read the last phase and counters with the progress command. |
|
|
299
|
+
| No visibility results | Inspect existing work with `cnry runs <project> --format json`, then `cnry run show <run-id> --format json`. This does not start another paid run. |
|
|
300
|
+
| `npm install` fails on `node-gyp` | Install build tools for `better-sqlite3` ([guide](https://github.com/WiseLibs/better-sqlite3/blob/master/docs/troubleshooting.md)). |
|
|
301
|
+
|
|
302
|
+
</details>
|
|
245
303
|
|
|
246
304
|
<a id="deployment-and-trust-boundary"></a>
|
|
247
305
|
<a id="technical-surface"></a>
|
|
@@ -263,23 +321,18 @@ See the [deployment guide](docs/deployment.md) for reverse proxies, daemon mode,
|
|
|
263
321
|
- **Install standalone agent skills:** `cnry skills install` ([guide](skills/canonry/SKILL.md))
|
|
264
322
|
- **Browse all guides:** [Documentation index](docs/README.md)
|
|
265
323
|
|
|
266
|
-
|
|
324
|
+
---
|
|
267
325
|
|
|
268
|
-
<
|
|
269
|
-
<summary>Troubleshoot installation, scans, and visibility results</summary>
|
|
326
|
+
<a id="support"></a>
|
|
270
327
|
|
|
271
|
-
|
|
272
|
-
|---|---|
|
|
273
|
-
| Site scan is still active | Read exact counters with `cnry technical-aeo progress <project> --run-id <id> --format json`. |
|
|
274
|
-
| Site scan failed | Read the error with `cnry run show <run-id> --format json`. Read the last phase and counters with the progress command. |
|
|
275
|
-
| No visibility results | Inspect existing work with `cnry runs <project> --format json`, then `cnry run show <run-id> --format json`. This does not start another paid run. |
|
|
276
|
-
| `npm install` fails on `node-gyp` | Install build tools for `better-sqlite3` ([guide](https://github.com/WiseLibs/better-sqlite3/blob/master/docs/troubleshooting.md)). |
|
|
328
|
+
## Community & Support
|
|
277
329
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
330
|
+
- **Discord:** Join the community on **[Discord](https://discord.gg/8K9yY7GywJ)** for help and questions.
|
|
331
|
+
- **Twitter / X:** Follow **[@canonry_ai](https://x.com/canonry_ai)** for updates.
|
|
332
|
+
- **Feedback & Ideas:** Missing something? [Open an issue](https://github.com/Canonry/canonry/issues).
|
|
333
|
+
- **Show Support:** [Star](https://github.com/Canonry/canonry) this repo to follow along.
|
|
281
334
|
|
|
282
|
-
|
|
335
|
+
---
|
|
283
336
|
|
|
284
337
|
## Contributing
|
|
285
338
|
|
|
@@ -291,6 +344,10 @@ pnpm install
|
|
|
291
344
|
For local agent work, run tests only after changes are finalized and ready for push or review.
|
|
292
345
|
`pnpm verify` is optional locally. See [CONTRIBUTING.md](./CONTRIBUTING.md) and the [testing guide](docs/testing.md).
|
|
293
346
|
|
|
347
|
+
<a href="https://github.com/Canonry/canonry/graphs/contributors">
|
|
348
|
+
<img src="https://contrib.rocks/image?repo=Canonry/canonry" alt="Canonry contributors" />
|
|
349
|
+
</a>
|
|
350
|
+
|
|
294
351
|
## License
|
|
295
352
|
|
|
296
353
|
[MIT](./LICENSE), starting with Canonry 5.0.0. Use, modify, self-host, redistribute, and build commercial products with Canonry. Keep the copyright and permission notice with copies or substantial portions of the software.
|
|
@@ -444,7 +444,7 @@ cnry bing submit-sitemap <project> <url> # ask Bing to read a sitemap (adds a
|
|
|
444
444
|
cnry google submit-sitemap <project> <url> # the same for Google
|
|
445
445
|
```
|
|
446
446
|
|
|
447
|
-
Canonry compares three stored lists: the sitemap files the latest Site Health scan read pages from (`site.sitemaps`), Search Console's list (stored by every Google sync, files inside each index included) and Bing's (stored by `bing sync`). For each engine, `missing` holds sitemaps the site declares, or someone submitted to the other engine, that this engine lacks (
|
|
447
|
+
Canonry compares three stored lists: the sitemap files the latest Site Health scan read pages from (`site.sitemaps`), Search Console's list (stored by every Google sync, files inside each index included) and Bing's (stored by `bing sync`). For each engine, `missing` holds sitemaps the site declares, or someone submitted to the other engine, that this engine lacks (not offered from the other engine: a sitemap it only found by itself, one it reports errors for, or an index on a host where this engine already has every sitemap the site declares); a file inside a missing index is left out, since adding the index covers it. Google is offered only sitemaps inside the connected property, Bing only its site's host and subdomains. An engine is `null` until its list has been read once; after that an empty list means it has none. `submittedAt: null` on a top-level row means the engine found the sitemap itself; on a file inside an index it came through the index. A new submission shows in the stored list after that engine's next sync.
|
|
448
448
|
|
|
449
449
|
### Stored trend figures (`cnry trends`)
|
|
450
450
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-EIYNZOQA.js";
|
|
4
|
+
import "./chunk-V4MRQPV2.js";
|
|
5
5
|
import {
|
|
6
6
|
emitJsonl
|
|
7
7
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
describeError,
|
|
32
32
|
formatMicros,
|
|
33
33
|
formatPercent
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-2REKLGYS.js";
|
|
35
35
|
import "./chunk-MLKGABMK.js";
|
|
36
36
|
|
|
37
37
|
// src/commands/ads.ts
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
trackCliConnection
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-QS57GCF4.js";
|
|
4
|
+
import "./chunk-FLP4XMWI.js";
|
|
5
|
+
import "./chunk-SMSTXGJX.js";
|
|
6
6
|
import {
|
|
7
7
|
createApiClient
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-EIYNZOQA.js";
|
|
9
|
+
import "./chunk-V4MRQPV2.js";
|
|
10
10
|
import "./chunk-AOJU5LKX.js";
|
|
11
11
|
import {
|
|
12
12
|
isMachineFormat
|
|
13
13
|
} from "./chunk-HGMYEDAQ.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-JC2MAKWO.js";
|
|
15
|
+
import "./chunk-2REKLGYS.js";
|
|
16
16
|
import "./chunk-MLKGABMK.js";
|
|
17
17
|
|
|
18
18
|
// src/agent-webhook.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-EIYNZOQA.js";
|
|
4
|
+
import "./chunk-V4MRQPV2.js";
|
|
5
5
|
import "./chunk-AOJU5LKX.js";
|
|
6
6
|
import {
|
|
7
7
|
CliError,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
isMachineFormat,
|
|
10
10
|
printCliError
|
|
11
11
|
} from "./chunk-HGMYEDAQ.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-2REKLGYS.js";
|
|
13
13
|
import "./chunk-MLKGABMK.js";
|
|
14
14
|
|
|
15
15
|
// src/commands/agent-ask.ts
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-EIYNZOQA.js";
|
|
4
|
+
import "./chunk-V4MRQPV2.js";
|
|
5
5
|
import "./chunk-AOJU5LKX.js";
|
|
6
6
|
import {
|
|
7
7
|
CliError,
|
|
8
8
|
isMachineFormat,
|
|
9
9
|
printCliError
|
|
10
10
|
} from "./chunk-HGMYEDAQ.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-2REKLGYS.js";
|
|
12
12
|
import "./chunk-MLKGABMK.js";
|
|
13
13
|
|
|
14
14
|
// src/commands/agent-conversations.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-EIYNZOQA.js";
|
|
4
|
+
import "./chunk-V4MRQPV2.js";
|
|
5
5
|
import {
|
|
6
6
|
emitJsonl
|
|
7
7
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
AgentJourneyCorrelationBases,
|
|
15
15
|
agentJourneysQuerySchema,
|
|
16
16
|
formatValidationIssues
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-2REKLGYS.js";
|
|
18
18
|
import "./chunk-MLKGABMK.js";
|
|
19
19
|
|
|
20
20
|
// src/commands/agent-journeys.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-EIYNZOQA.js";
|
|
4
|
+
import "./chunk-V4MRQPV2.js";
|
|
5
5
|
import {
|
|
6
6
|
emitJsonl
|
|
7
7
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
isMachineFormat,
|
|
12
12
|
printCliError
|
|
13
13
|
} from "./chunk-HGMYEDAQ.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-2REKLGYS.js";
|
|
15
15
|
import "./chunk-MLKGABMK.js";
|
|
16
16
|
|
|
17
17
|
// src/commands/agent-memory.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-EIYNZOQA.js";
|
|
4
|
+
import "./chunk-V4MRQPV2.js";
|
|
5
5
|
import {
|
|
6
6
|
emitJsonl
|
|
7
7
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
CliError,
|
|
11
11
|
printCliError
|
|
12
12
|
} from "./chunk-HGMYEDAQ.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-2REKLGYS.js";
|
|
14
14
|
import "./chunk-MLKGABMK.js";
|
|
15
15
|
|
|
16
16
|
// src/commands/agent-providers.ts
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-EIYNZOQA.js";
|
|
4
|
+
import "./chunk-V4MRQPV2.js";
|
|
5
5
|
import "./chunk-AOJU5LKX.js";
|
|
6
6
|
import {
|
|
7
7
|
CliError,
|
|
8
8
|
isMachineFormat,
|
|
9
9
|
printCliError
|
|
10
10
|
} from "./chunk-HGMYEDAQ.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-2REKLGYS.js";
|
|
12
12
|
import "./chunk-MLKGABMK.js";
|
|
13
13
|
|
|
14
14
|
// src/commands/agent-transcript.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-EIYNZOQA.js";
|
|
4
|
+
import "./chunk-V4MRQPV2.js";
|
|
5
5
|
import "./chunk-AOJU5LKX.js";
|
|
6
6
|
import {
|
|
7
7
|
CliError,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
formatPercent,
|
|
14
14
|
formatSignedPointDelta,
|
|
15
15
|
queryClassFilterSchema
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-2REKLGYS.js";
|
|
17
17
|
import "./chunk-MLKGABMK.js";
|
|
18
18
|
|
|
19
19
|
// src/commands/analytics.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-EIYNZOQA.js";
|
|
4
|
+
import "./chunk-V4MRQPV2.js";
|
|
5
5
|
import "./chunk-AOJU5LKX.js";
|
|
6
6
|
import {
|
|
7
7
|
CliError,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "./chunk-HGMYEDAQ.js";
|
|
11
11
|
import {
|
|
12
12
|
describeError
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2REKLGYS.js";
|
|
14
14
|
import "./chunk-MLKGABMK.js";
|
|
15
15
|
|
|
16
16
|
// src/commands/apply.ts
|
|
@@ -10,20 +10,20 @@ import {
|
|
|
10
10
|
backfillSnapshotAttributionCommand,
|
|
11
11
|
backfillTrafficClassificationCommand,
|
|
12
12
|
replayQueryAuditLog
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-FX5H2PD5.js";
|
|
14
|
+
import "./chunk-PIOCF5GN.js";
|
|
15
|
+
import "./chunk-V4MRQPV2.js";
|
|
16
16
|
import "./chunk-HGMYEDAQ.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-SMH4FUXJ.js";
|
|
18
|
+
import "./chunk-PIDL7OJ4.js";
|
|
19
19
|
import {
|
|
20
20
|
backfillProjectAnswerMentions,
|
|
21
21
|
backfillProjectAnswerMentionsInChunks
|
|
22
|
-
} from "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
22
|
+
} from "./chunk-T6ZYAUJX.js";
|
|
23
|
+
import "./chunk-XFVB3UCE.js";
|
|
24
|
+
import "./chunk-JC2MAKWO.js";
|
|
25
|
+
import "./chunk-ZR4WEKEC.js";
|
|
26
|
+
import "./chunk-2REKLGYS.js";
|
|
27
27
|
import "./chunk-MLKGABMK.js";
|
|
28
28
|
export {
|
|
29
29
|
activeQueriesAt,
|