@canonry/canonry 5.16.1 → 5.17.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/assets/{AuditHistoryPanel-CnoGPJ5Y.js → AuditHistoryPanel-CZUnfysJ.js} +1 -1
- package/assets/assets/{BacklinksPage-DYe2CYfD.js → BacklinksPage-C9qSkTUW.js} +1 -1
- package/assets/assets/{HistoryPage-CO-dzLAo.js → HistoryPage-CYMWnCta.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-smsZFdd6.js → MeasurementPropertyPage-Bu4KDAdf.js} +1 -1
- package/assets/assets/{ProjectPage-jL3jB2TR.js → ProjectPage-Bg87LPit.js} +1 -1
- package/assets/assets/{RunRow-CzcaoK_3.js → RunRow-CwMUW3rM.js} +1 -1
- package/assets/assets/{RunsPage-DQWPHDoq.js → RunsPage-DbzSmrnc.js} +1 -1
- package/assets/assets/{SettingsPage-DMtQLrWP.js → SettingsPage-DM-G5WzL.js} +1 -1
- package/assets/assets/{SiteHealthSection-2ljW02xK.js → SiteHealthSection-BwmQJ9Z9.js} +3 -3
- package/assets/assets/{TrafficPage-NFu0LEdk.js → TrafficPage-DSumJzUk.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-DbBIzmbL.js → TrafficSourceDetailPage-D5BjIBkN.js} +1 -1
- package/assets/assets/{extract-error-message-pMGpUsIh.js → extract-error-message-DbpR8Tzb.js} +1 -1
- package/assets/assets/index-BtHRel6S.js +86 -0
- package/assets/assets/{react-sigma_core.esm.min-CadBie52.js → react-sigma_core.esm.min-C3cM2I3z.js} +1 -1
- package/assets/assets/{v2-overview-adapter-Oe8hHMAO.js → v2-overview-adapter-DllH2EQb.js} +1 -1
- package/assets/index.html +1 -1
- package/dist/{chunk-JO5HHEJV.js → chunk-2EE6RPWV.js} +1 -1
- package/dist/{chunk-CDQDPUY4.js → chunk-3OYWLQEE.js} +1 -1
- package/dist/{chunk-5QK5KHA7.js → chunk-GYX277BV.js} +484 -159
- package/dist/{chunk-3YAPVVFN.js → chunk-H6COEFVL.js} +1 -0
- package/dist/{chunk-ZGZSROSR.js → chunk-XC24KCTL.js} +7 -0
- package/dist/cli.js +6 -6
- package/dist/{demo-server-QLQUVMKJ.js → demo-server-CUBR2NVR.js} +2 -2
- package/dist/index.d.ts +7 -0
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-EAUKUVVM.js → intelligence-service-6N7SIWLD.js} +1 -1
- package/dist/mcp.js +2 -2
- package/package.json +10 -10
- package/assets/assets/index-D9NReRHX.js +0 -86
|
@@ -11681,6 +11681,7 @@ function applyRoleGates(request) {
|
|
|
11681
11681
|
}
|
|
11682
11682
|
function applyScopedWriteGates(request) {
|
|
11683
11683
|
if (!WRITE_METHODS2.has(request.method) || isTransportEnvelopeRoute(request) || request.readSemanticGrant) return;
|
|
11684
|
+
if (isPaidReadRoute(request) && request.principal?.kind === "user") return;
|
|
11684
11685
|
const scopes = principalScopes(request) ?? [];
|
|
11685
11686
|
const restricted = restrictedWriteScopes(scopes);
|
|
11686
11687
|
if (!restricted) return;
|
|
@@ -206,6 +206,7 @@ import { parse, stringify } from "yaml";
|
|
|
206
206
|
import { z } from "zod";
|
|
207
207
|
var dashboardManagedSweepsSchema = z.boolean().nullish();
|
|
208
208
|
var researchAllowViewersSchema = z.boolean().nullish();
|
|
209
|
+
var agentAllowViewersSchema = z.boolean().nullish();
|
|
209
210
|
var researchViewerDailyRunLimitSchema = z.number().int().positive().nullish();
|
|
210
211
|
var dashboardManagedRunKindsSchema = z.array(schedulableRunKindSchema).nullish();
|
|
211
212
|
var agentProviderSchema = agentProviderIdSchema.nullish();
|
|
@@ -476,6 +477,12 @@ Do not use "canonry init --force" for recovery. It replaces credentials without
|
|
|
476
477
|
message: `Invalid config at ${configPath}: agent.model must be a non-empty string or left blank.`
|
|
477
478
|
});
|
|
478
479
|
}
|
|
480
|
+
if (!agentAllowViewersSchema.safeParse(parsed.agent?.allowViewers).success) {
|
|
481
|
+
throw new CliError({
|
|
482
|
+
code: "CONFIG_INVALID",
|
|
483
|
+
message: `Invalid config at ${configPath}: agent.allowViewers must be true, false, or left blank.`
|
|
484
|
+
});
|
|
485
|
+
}
|
|
479
486
|
if (parsed.agent?.model && !parsed.agent?.provider) {
|
|
480
487
|
throw new CliError({
|
|
481
488
|
code: "CONFIG_INVALID",
|
package/dist/cli.js
CHANGED
|
@@ -35,11 +35,11 @@ import {
|
|
|
35
35
|
trackCliCommandFinished,
|
|
36
36
|
trackEvent,
|
|
37
37
|
waitForServerRuntimeStartup
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-GYX277BV.js";
|
|
39
39
|
import {
|
|
40
40
|
autoSyncSkills,
|
|
41
41
|
formatAutoSyncNotice
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-2EE6RPWV.js";
|
|
43
43
|
import {
|
|
44
44
|
CliError,
|
|
45
45
|
EXIT_SYSTEM_ERROR,
|
|
@@ -66,13 +66,13 @@ import {
|
|
|
66
66
|
shouldPrintServeSkillsNudge,
|
|
67
67
|
systemError,
|
|
68
68
|
usageError
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-XC24KCTL.js";
|
|
70
70
|
import {
|
|
71
71
|
DEFAULT_DEMO_TRUSTED_PROXIES,
|
|
72
72
|
trustedProxiesProblem,
|
|
73
73
|
trustedProxyProblem
|
|
74
74
|
} from "./chunk-RB2F4D3Z.js";
|
|
75
|
-
import "./chunk-
|
|
75
|
+
import "./chunk-3OYWLQEE.js";
|
|
76
76
|
import "./chunk-AOJU5LKX.js";
|
|
77
77
|
import {
|
|
78
78
|
CLOUDFLARE_WORKER_BINDINGS,
|
|
@@ -88,7 +88,7 @@ import {
|
|
|
88
88
|
queries,
|
|
89
89
|
renderReportHtml,
|
|
90
90
|
runs
|
|
91
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-H6COEFVL.js";
|
|
92
92
|
import {
|
|
93
93
|
AdsDeliverySnapshotStatuses,
|
|
94
94
|
AdsHistoricalCampaignRollupStatuses,
|
|
@@ -438,7 +438,7 @@ function parseDemoTrustedProxies(values) {
|
|
|
438
438
|
async function demoCommand(options) {
|
|
439
439
|
const { host, port } = parseDemoListenOptions(options);
|
|
440
440
|
const trustProxy = parseDemoTrustedProxies(options.trustProxy);
|
|
441
|
-
const { createDemoServer } = await import("./demo-server-
|
|
441
|
+
const { createDemoServer } = await import("./demo-server-CUBR2NVR.js");
|
|
442
442
|
const app = await createDemoServer({ trustProxy });
|
|
443
443
|
let stopping = false;
|
|
444
444
|
const stop = () => {
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
layoutSiteCrawlGraphInput,
|
|
6
6
|
persistSiteCrawlGraphLayout
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-3OYWLQEE.js";
|
|
8
8
|
import {
|
|
9
9
|
PACKAGE_VERSION
|
|
10
10
|
} from "./chunk-AOJU5LKX.js";
|
|
@@ -83,7 +83,7 @@ import {
|
|
|
83
83
|
siteCrawlPages,
|
|
84
84
|
siteCrawlSnapshots,
|
|
85
85
|
trafficSources
|
|
86
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-H6COEFVL.js";
|
|
87
87
|
import {
|
|
88
88
|
RunKinds,
|
|
89
89
|
SiteCrawlFetchStates,
|
package/dist/index.d.ts
CHANGED
|
@@ -316,6 +316,13 @@ interface AgentConfigEntry {
|
|
|
316
316
|
* provider's agent-tier default.
|
|
317
317
|
*/
|
|
318
318
|
model?: string;
|
|
319
|
+
/**
|
|
320
|
+
* Let signed-in viewer accounts use Aero. Off by default. A viewer gets their
|
|
321
|
+
* own in-memory conversation, never the operator's, and every tool call runs
|
|
322
|
+
* with the viewer's own read-only authority. `CANONRY_AGENT_ALLOW_VIEWERS`
|
|
323
|
+
* overrides it; resolved by `resolveAgentAllowViewers`.
|
|
324
|
+
*/
|
|
325
|
+
allowViewers?: boolean | null;
|
|
319
326
|
}
|
|
320
327
|
interface DashboardConfigEntry {
|
|
321
328
|
/**
|
package/dist/index.js
CHANGED
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
createGoogleMarketingCredentialStore,
|
|
4
4
|
createGoogleMarketingRuntime,
|
|
5
5
|
createServer
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GYX277BV.js";
|
|
7
7
|
import {
|
|
8
8
|
loadConfig
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-XC24KCTL.js";
|
|
10
|
+
import "./chunk-3OYWLQEE.js";
|
|
11
11
|
import "./chunk-AOJU5LKX.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-H6COEFVL.js";
|
|
13
13
|
import "./chunk-L36TC6LB.js";
|
|
14
14
|
export {
|
|
15
15
|
GoogleMarketingRuntimeError,
|
package/dist/mcp.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
autoSyncSkills
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2EE6RPWV.js";
|
|
4
4
|
import {
|
|
5
5
|
createApiClient,
|
|
6
6
|
createCanonryMcpServer
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-XC24KCTL.js";
|
|
8
8
|
import "./chunk-AOJU5LKX.js";
|
|
9
9
|
import {
|
|
10
10
|
isReadOnlyKey,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canonry/canonry",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.17.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Self-hosted AI visibility (AEO) platform: track how ChatGPT, Claude, Gemini, and Perplexity cite your domain, join it with Search Console, GA4, server-side traffic, and paid media, and fix what you find through agent tools (CLI, REST, MCP). Local SQLite.",
|
|
6
6
|
"keywords": [
|
|
@@ -86,8 +86,8 @@
|
|
|
86
86
|
"@types/node-cron": "^3.0.11",
|
|
87
87
|
"tsup": "^8.5.1",
|
|
88
88
|
"tsx": "^4.19.0",
|
|
89
|
-
"@ainyc/canonry-web": "0.0.0",
|
|
90
89
|
"@ainyc/canonry-api-client": "0.0.0",
|
|
90
|
+
"@ainyc/canonry-web": "0.0.0",
|
|
91
91
|
"@ainyc/canonry-api-routes": "0.0.0",
|
|
92
92
|
"@ainyc/canonry-contracts": "0.0.0",
|
|
93
93
|
"@ainyc/canonry-db": "0.0.0",
|
|
@@ -95,23 +95,23 @@
|
|
|
95
95
|
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
96
96
|
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
97
97
|
"@ainyc/canonry-integration-cloudflare-queue": "0.0.0",
|
|
98
|
-
"@ainyc/canonry-integration-
|
|
98
|
+
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
99
99
|
"@ainyc/canonry-integration-google": "0.0.0",
|
|
100
|
+
"@ainyc/canonry-integration-google-ads": "0.0.0",
|
|
100
101
|
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
101
102
|
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
102
|
-
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
103
103
|
"@ainyc/canonry-integration-google-tag-manager": "0.0.0",
|
|
104
|
-
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
105
|
-
"@ainyc/canonry-integration-google-ads": "0.0.0",
|
|
106
104
|
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
105
|
+
"@ainyc/canonry-integration-cloudflare-worker": "0.0.0",
|
|
107
106
|
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
108
|
-
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
109
|
-
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
110
107
|
"@ainyc/canonry-intelligence": "0.0.0",
|
|
111
|
-
"@ainyc/canonry-
|
|
108
|
+
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
109
|
+
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
110
|
+
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
112
111
|
"@ainyc/canonry-provider-local": "0.0.0",
|
|
112
|
+
"@ainyc/canonry-provider-perplexity": "0.0.0",
|
|
113
113
|
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
114
|
-
"@ainyc/canonry-provider-
|
|
114
|
+
"@ainyc/canonry-provider-gemini": "0.0.0"
|
|
115
115
|
},
|
|
116
116
|
"scripts": {
|
|
117
117
|
"build": "pnpm run build:cli && pnpm run build:web",
|