@canonry/canonry 7.64.3 → 7.64.4
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/canonry/references/canonry-cli.md +1 -1
- package/assets/agent-workspace/skills/canonry/references/server-side-traffic.md +3 -2
- package/dist/{backfill-PPRSFYAV.js → backfill-NEYUHVUQ.js} +3 -3
- package/dist/{chunk-Q4JRFMCJ.js → chunk-4E6E27C5.js} +1 -1
- package/dist/{chunk-YNPUS3Y7.js → chunk-7A3CQCEV.js} +1 -1
- package/dist/{chunk-UX667IQM.js → chunk-ATXHIX32.js} +1 -1
- package/dist/{chunk-CCJIMTYO.js → chunk-MBNS5AND.js} +1 -1
- package/dist/{chunk-LSKAENOY.js → chunk-OHOIEA3X.js} +21 -6
- package/dist/{chunk-MLXU4QOF.js → chunk-PG6Q6MEF.js} +29 -29
- package/dist/{chunk-NYTPS5WW.js → chunk-QGDFDP3H.js} +3 -3
- package/dist/{chunk-HQGMIHG6.js → chunk-VOWM62EC.js} +5 -5
- package/dist/{chunk-DPRGW4BM.js → chunk-ZOP2F25H.js} +1 -1
- package/dist/{cli-commands-YUBGTHRG.js → cli-commands-HGKM2B6J.js} +1 -1
- package/dist/cli.js +2 -2
- package/dist/{dashboard-OX2JEGEK.js → dashboard-3QKO5423.js} +2 -2
- package/dist/{demo-NMMLZ6VZ.js → demo-3GNJPXGE.js} +1 -1
- package/dist/{demo-server-VD6C773Q.js → demo-server-23QGNLCX.js} +3 -3
- package/dist/index.d.ts +12 -12
- package/dist/index.js +6 -6
- package/dist/{init-TDAXSYRR.js → init-LIUMX2HQ.js} +1 -1
- package/dist/{intelligence-service-GCISXTKM.js → intelligence-service-FTCGYX6T.js} +3 -3
- package/dist/{serve-C2TW7ZZC.js → serve-XEQ7ZW4N.js} +7 -7
- package/dist/{session-5MVIOTFY.js → session-P5QHGJLK.js} +4 -4
- package/dist/{tools-NDQN64CH.js → tools-RGBSLMRZ.js} +3 -3
- package/dist/{traffic-W3NOHWNK.js → traffic-J3SSIDXQ.js} +1 -1
- package/package.json +1 -1
|
@@ -1925,7 +1925,7 @@ days to return. `list` returns those visitors newest first with their first 20
|
|
|
1925
1925
|
visits (`visitCount` is the total) and marks user-agent-only keys; `show` pages
|
|
1926
1926
|
through one visitor's visits and requests. A visit ends after 30 idle minutes
|
|
1927
1927
|
or when the visitor arrives again from another outside source; a same-site,
|
|
1928
|
-
sign-in or
|
|
1928
|
+
sign-in, payment or booking-engine referer is a step inside the visit.
|
|
1929
1929
|
|
|
1930
1930
|
Visits are stored when they fall within 30 days after one of the visitor's AI visits;
|
|
1931
1931
|
rows are deleted after 180 days. A visitor key is a keyed hash, never an IP.
|
|
@@ -1232,8 +1232,9 @@ every source and needs no site snippet or goal setup. Read it with
|
|
|
1232
1232
|
visit already kept; rows are deleted after 180 days. Journeys start from the
|
|
1233
1233
|
first sync after upgrade; backfill a Cloud Run or Vercel source to seed
|
|
1234
1234
|
history it still retains.
|
|
1235
|
-
- Sign-in and
|
|
1236
|
-
|
|
1235
|
+
- Sign-in, payment and booking-engine return pages (Google accounts, Stripe,
|
|
1236
|
+
PayPal, hosted hotel booking engines and the like) are steps inside a
|
|
1237
|
+
visit, not new arrivals. Listing marketplaces still count as referrals. Query strings keep only
|
|
1237
1238
|
`utm_*`; path segments that look like secrets are masked.
|
|
1238
1239
|
|
|
1239
1240
|
### Inspect stored samples
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
backfillSnapshotAttributionCommand,
|
|
11
11
|
backfillTrafficClassificationCommand,
|
|
12
12
|
replayQueryAuditLog
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-QGDFDP3H.js";
|
|
14
14
|
import "./chunk-DIS2JA7D.js";
|
|
15
15
|
import "./chunk-22XKOBJD.js";
|
|
16
16
|
import "./chunk-HGMYEDAQ.js";
|
|
@@ -18,8 +18,8 @@ import "./chunk-KJA7V3IT.js";
|
|
|
18
18
|
import {
|
|
19
19
|
backfillProjectAnswerMentions,
|
|
20
20
|
backfillProjectAnswerMentionsInChunks
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-ATXHIX32.js";
|
|
22
|
+
import "./chunk-OHOIEA3X.js";
|
|
23
23
|
import "./chunk-ZTO5KPQB.js";
|
|
24
24
|
import "./chunk-NCUTFEU4.js";
|
|
25
25
|
import "./chunk-YVYID65D.js";
|
|
@@ -14516,14 +14516,21 @@ var KEPT_QUERY_PARAMETERS = ["utm_source", "utm_medium", "utm_campaign", "utm_te
|
|
|
14516
14516
|
var AD_CLICK_ID_PARAMETERS = ["gclid", "gbraid", "wbraid", "dclid", "msclkid", "ttclid", "li_fat_id"];
|
|
14517
14517
|
var NETWORK_CLICK_ID_PARAMETERS = { fbclid: "Facebook", twclid: "X" };
|
|
14518
14518
|
var STEP_REFERER_HOSTS = [
|
|
14519
|
+
// Sign-in.
|
|
14519
14520
|
"accounts.google.com",
|
|
14520
14521
|
"accounts.youtube.com",
|
|
14521
|
-
"pay.google.com",
|
|
14522
14522
|
"appleid.apple.com",
|
|
14523
14523
|
"login.microsoftonline.com",
|
|
14524
14524
|
"login.live.com",
|
|
14525
14525
|
"login.microsoft.com",
|
|
14526
14526
|
"github.com/login",
|
|
14527
|
+
"auth0.com",
|
|
14528
|
+
"okta.com",
|
|
14529
|
+
"onelogin.com",
|
|
14530
|
+
"amazoncognito.com",
|
|
14531
|
+
"clerk.accounts.dev",
|
|
14532
|
+
// Payment and checkout.
|
|
14533
|
+
"pay.google.com",
|
|
14527
14534
|
"checkout.stripe.com",
|
|
14528
14535
|
"js.stripe.com",
|
|
14529
14536
|
"hooks.stripe.com",
|
|
@@ -14532,6 +14539,7 @@ var STEP_REFERER_HOSTS = [
|
|
|
14532
14539
|
"paypal.com",
|
|
14533
14540
|
"pay.amazon.com",
|
|
14534
14541
|
"checkout.shopify.com",
|
|
14542
|
+
"pay.shopify.com",
|
|
14535
14543
|
"shop.app",
|
|
14536
14544
|
"klarna.com",
|
|
14537
14545
|
"afterpay.com",
|
|
@@ -14539,11 +14547,18 @@ var STEP_REFERER_HOSTS = [
|
|
|
14539
14547
|
"checkout.square.site",
|
|
14540
14548
|
"adyen.com",
|
|
14541
14549
|
"braintreegateway.com",
|
|
14542
|
-
|
|
14543
|
-
"
|
|
14544
|
-
"
|
|
14545
|
-
"
|
|
14546
|
-
"
|
|
14550
|
+
// Hotel and lodging booking engines.
|
|
14551
|
+
"mews.com",
|
|
14552
|
+
"cloudbeds.com",
|
|
14553
|
+
"synxis.com",
|
|
14554
|
+
"travelclick.com",
|
|
14555
|
+
"thebookingbutton.com",
|
|
14556
|
+
"webrezpro.com",
|
|
14557
|
+
"littlehotelier.com",
|
|
14558
|
+
"book-directonline.com",
|
|
14559
|
+
"beds24.com",
|
|
14560
|
+
"resnexus.com",
|
|
14561
|
+
"thinkreservations.com"
|
|
14547
14562
|
];
|
|
14548
14563
|
var MAX_PATH_LENGTH = 512;
|
|
14549
14564
|
var UUID_SEGMENT = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
@@ -599,7 +599,7 @@ var DEMO_CLI_COMMANDS = [{
|
|
|
599
599
|
options: { host: stringOption(), port: stringOption(), "trust-proxy": multiStringOption() },
|
|
600
600
|
allowPositionals: false,
|
|
601
601
|
run: async (input) => {
|
|
602
|
-
const { demoCommand } = await import("./demo-
|
|
602
|
+
const { demoCommand } = await import("./demo-3GNJPXGE.js");
|
|
603
603
|
await demoCommand({
|
|
604
604
|
host: getString(input.values, "host"),
|
|
605
605
|
port: getString(input.values, "port"),
|
|
@@ -620,7 +620,7 @@ var BACKFILL_CLI_COMMANDS = [
|
|
|
620
620
|
allowPositionals: false,
|
|
621
621
|
supportsDryRun: true,
|
|
622
622
|
run: async (input) => {
|
|
623
|
-
const { backfillAnswerVisibilityCommand } = await import("./backfill-
|
|
623
|
+
const { backfillAnswerVisibilityCommand } = await import("./backfill-NEYUHVUQ.js");
|
|
624
624
|
await backfillAnswerVisibilityCommand({
|
|
625
625
|
project: getString(input.values, "project"),
|
|
626
626
|
dryRun: input.dryRun,
|
|
@@ -637,7 +637,7 @@ var BACKFILL_CLI_COMMANDS = [
|
|
|
637
637
|
allowPositionals: false,
|
|
638
638
|
supportsDryRun: true,
|
|
639
639
|
run: async (input) => {
|
|
640
|
-
const { backfillAnswerMentionsCommand } = await import("./backfill-
|
|
640
|
+
const { backfillAnswerMentionsCommand } = await import("./backfill-NEYUHVUQ.js");
|
|
641
641
|
await backfillAnswerMentionsCommand({
|
|
642
642
|
project: getString(input.values, "project"),
|
|
643
643
|
dryRun: input.dryRun,
|
|
@@ -655,7 +655,7 @@ var BACKFILL_CLI_COMMANDS = [
|
|
|
655
655
|
},
|
|
656
656
|
supportsDryRun: true,
|
|
657
657
|
run: async (input) => {
|
|
658
|
-
const { backfillInsightsCommand } = await import("./backfill-
|
|
658
|
+
const { backfillInsightsCommand } = await import("./backfill-NEYUHVUQ.js");
|
|
659
659
|
const usage = "canonry backfill insights <project> [--from-run <id>] [--to-run <id>] [--since <date>] [--dry-run] [--format json]";
|
|
660
660
|
const project3 = requireProject(input, "backfill insights", usage);
|
|
661
661
|
await backfillInsightsCommand(project3, {
|
|
@@ -675,7 +675,7 @@ var BACKFILL_CLI_COMMANDS = [
|
|
|
675
675
|
},
|
|
676
676
|
allowPositionals: false,
|
|
677
677
|
run: async (input) => {
|
|
678
|
-
const { backfillNormalizedPathsCommand } = await import("./backfill-
|
|
678
|
+
const { backfillNormalizedPathsCommand } = await import("./backfill-NEYUHVUQ.js");
|
|
679
679
|
await backfillNormalizedPathsCommand({
|
|
680
680
|
project: getString(input.values, "project"),
|
|
681
681
|
format: input.format
|
|
@@ -690,7 +690,7 @@ var BACKFILL_CLI_COMMANDS = [
|
|
|
690
690
|
},
|
|
691
691
|
allowPositionals: false,
|
|
692
692
|
run: async (input) => {
|
|
693
|
-
const { backfillAiReferralPathsCommand } = await import("./backfill-
|
|
693
|
+
const { backfillAiReferralPathsCommand } = await import("./backfill-NEYUHVUQ.js");
|
|
694
694
|
await backfillAiReferralPathsCommand({
|
|
695
695
|
project: getString(input.values, "project"),
|
|
696
696
|
format: input.format
|
|
@@ -702,7 +702,7 @@ var BACKFILL_CLI_COMMANDS = [
|
|
|
702
702
|
usage: "canonry backfill snapshot-attribution <project> [--dry-run] [--format json]",
|
|
703
703
|
supportsDryRun: true,
|
|
704
704
|
run: async (input) => {
|
|
705
|
-
const { backfillSnapshotAttributionCommand } = await import("./backfill-
|
|
705
|
+
const { backfillSnapshotAttributionCommand } = await import("./backfill-NEYUHVUQ.js");
|
|
706
706
|
const usage = "canonry backfill snapshot-attribution <project> [--dry-run] [--format json]";
|
|
707
707
|
const project3 = requireProject(input, "backfill snapshot-attribution", usage);
|
|
708
708
|
await backfillSnapshotAttributionCommand({
|
|
@@ -721,7 +721,7 @@ var BACKFILL_CLI_COMMANDS = [
|
|
|
721
721
|
allowPositionals: false,
|
|
722
722
|
supportsDryRun: true,
|
|
723
723
|
run: async (input) => {
|
|
724
|
-
const { backfillTrafficClassificationCommand } = await import("./backfill-
|
|
724
|
+
const { backfillTrafficClassificationCommand } = await import("./backfill-NEYUHVUQ.js");
|
|
725
725
|
await backfillTrafficClassificationCommand({
|
|
726
726
|
project: getString(input.values, "project"),
|
|
727
727
|
dryRun: input.dryRun,
|
|
@@ -1163,7 +1163,7 @@ var DASHBOARD_CLI_COMMANDS = [
|
|
|
1163
1163
|
usage: "canonry dashboard reset-password [--format json]",
|
|
1164
1164
|
help: "Clears the dashboard password from config.yaml, so the dashboard asks for a new one after a restart.\nLocal only: it edits the config file under CANONRY_CONFIG_DIR and does not call the server.",
|
|
1165
1165
|
run: async (input) => {
|
|
1166
|
-
const { resetDashboardPassword } = await import("./dashboard-
|
|
1166
|
+
const { resetDashboardPassword } = await import("./dashboard-3QKO5423.js");
|
|
1167
1167
|
await resetDashboardPassword({ format: input.format });
|
|
1168
1168
|
}
|
|
1169
1169
|
},
|
|
@@ -3108,7 +3108,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3108
3108
|
help: "Complete stored traffic totals and breakdowns for the selected window. Project-wide for Simple and Advanced portfolios; no provider calls or sync.",
|
|
3109
3109
|
options: { period: stringOption() },
|
|
3110
3110
|
run: async (input) => {
|
|
3111
|
-
const { trafficAnalytics } = await import("./traffic-
|
|
3111
|
+
const { trafficAnalytics } = await import("./traffic-J3SSIDXQ.js");
|
|
3112
3112
|
const project3 = requireProject(input, "traffic.analytics", "canonry traffic analytics <project> [--period 7|14|30|90]");
|
|
3113
3113
|
await trafficAnalytics(project3, { period: getString(input.values, "window") ?? getString(input.values, "period"), format: input.format });
|
|
3114
3114
|
}
|
|
@@ -3120,7 +3120,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3120
3120
|
help: "DB-only diagnostic. Raw headlines stay unchanged. Candidate bursts are not confirmed automation; adjusted counts are estimates. Property, Target and market attribution are unavailable. The observed GA quotient has unknown comparable coverage.",
|
|
3121
3121
|
options: { "start-date": stringOption(), "end-date": stringOption(), source: stringOption(), "burst-threshold": stringOption(), "ratio-threshold": stringOption(), limit: stringOption() },
|
|
3122
3122
|
run: async (input) => {
|
|
3123
|
-
const { trafficReferralAssessment } = await import("./traffic-
|
|
3123
|
+
const { trafficReferralAssessment } = await import("./traffic-J3SSIDXQ.js");
|
|
3124
3124
|
const project3 = requireProject(input, "traffic.referral-assessment", "canonry traffic referral-assessment <project> --start-date YYYY-MM-DD --end-date YYYY-MM-DD");
|
|
3125
3125
|
await trafficReferralAssessment(project3, {
|
|
3126
3126
|
startDate: getString(input.values, "start") ?? getString(input.values, "start-date"),
|
|
@@ -3153,7 +3153,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3153
3153
|
"confirm-fail-open": { type: "boolean" }
|
|
3154
3154
|
},
|
|
3155
3155
|
run: async (input) => {
|
|
3156
|
-
const { trafficConnectCloudflare, DEFAULT_CLOUDFLARE_QUEUE_RETENTION_SECONDS } = await import("./traffic-
|
|
3156
|
+
const { trafficConnectCloudflare, DEFAULT_CLOUDFLARE_QUEUE_RETENTION_SECONDS } = await import("./traffic-J3SSIDXQ.js");
|
|
3157
3157
|
const forwardPageViews = getBoolean(input.values, "forward-page-views");
|
|
3158
3158
|
const noForwardPageViews = getBoolean(input.values, "no-forward-page-views");
|
|
3159
3159
|
if (forwardPageViews && noForwardPageViews) {
|
|
@@ -3206,7 +3206,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3206
3206
|
"display-name": stringOption()
|
|
3207
3207
|
},
|
|
3208
3208
|
run: async (input) => {
|
|
3209
|
-
const { trafficConnectCloudRun } = await import("./traffic-
|
|
3209
|
+
const { trafficConnectCloudRun } = await import("./traffic-J3SSIDXQ.js");
|
|
3210
3210
|
const project3 = requireProject(
|
|
3211
3211
|
input,
|
|
3212
3212
|
"traffic.connect.cloud-run",
|
|
@@ -3237,7 +3237,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3237
3237
|
"display-name": stringOption()
|
|
3238
3238
|
},
|
|
3239
3239
|
run: async (input) => {
|
|
3240
|
-
const { trafficConnectWordpress } = await import("./traffic-
|
|
3240
|
+
const { trafficConnectWordpress } = await import("./traffic-J3SSIDXQ.js");
|
|
3241
3241
|
const project3 = requireProject(
|
|
3242
3242
|
input,
|
|
3243
3243
|
"traffic.connect.wordpress",
|
|
@@ -3269,7 +3269,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3269
3269
|
"display-name": stringOption()
|
|
3270
3270
|
},
|
|
3271
3271
|
run: async (input) => {
|
|
3272
|
-
const { trafficConnectVercel } = await import("./traffic-
|
|
3272
|
+
const { trafficConnectVercel } = await import("./traffic-J3SSIDXQ.js");
|
|
3273
3273
|
const project3 = requireProject(
|
|
3274
3274
|
input,
|
|
3275
3275
|
"traffic.connect.vercel",
|
|
@@ -3308,7 +3308,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3308
3308
|
source: stringOption()
|
|
3309
3309
|
},
|
|
3310
3310
|
run: async (input) => {
|
|
3311
|
-
const { trafficActivate } = await import("./traffic-
|
|
3311
|
+
const { trafficActivate } = await import("./traffic-J3SSIDXQ.js");
|
|
3312
3312
|
const project3 = requireProject(
|
|
3313
3313
|
input,
|
|
3314
3314
|
"traffic.activate",
|
|
@@ -3327,7 +3327,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3327
3327
|
"since-minutes": stringOption()
|
|
3328
3328
|
},
|
|
3329
3329
|
run: async (input) => {
|
|
3330
|
-
const { trafficSync } = await import("./traffic-
|
|
3330
|
+
const { trafficSync } = await import("./traffic-J3SSIDXQ.js");
|
|
3331
3331
|
const project3 = requireProject(
|
|
3332
3332
|
input,
|
|
3333
3333
|
"traffic.sync",
|
|
@@ -3356,7 +3356,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3356
3356
|
wait: { type: "boolean" }
|
|
3357
3357
|
},
|
|
3358
3358
|
run: async (input) => {
|
|
3359
|
-
const { trafficBackfill } = await import("./traffic-
|
|
3359
|
+
const { trafficBackfill } = await import("./traffic-J3SSIDXQ.js");
|
|
3360
3360
|
const project3 = requireProject(
|
|
3361
3361
|
input,
|
|
3362
3362
|
"traffic.backfill",
|
|
@@ -3385,7 +3385,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3385
3385
|
"advance-to-now": { type: "boolean" }
|
|
3386
3386
|
},
|
|
3387
3387
|
run: async (input) => {
|
|
3388
|
-
const { trafficReset } = await import("./traffic-
|
|
3388
|
+
const { trafficReset } = await import("./traffic-J3SSIDXQ.js");
|
|
3389
3389
|
const project3 = requireProject(
|
|
3390
3390
|
input,
|
|
3391
3391
|
"traffic.reset",
|
|
@@ -3407,7 +3407,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3407
3407
|
source: stringOption()
|
|
3408
3408
|
},
|
|
3409
3409
|
run: async (input) => {
|
|
3410
|
-
const { trafficDeclareGap } = await import("./traffic-
|
|
3410
|
+
const { trafficDeclareGap } = await import("./traffic-J3SSIDXQ.js");
|
|
3411
3411
|
const project3 = requireProject(
|
|
3412
3412
|
input,
|
|
3413
3413
|
"traffic.declare-gap",
|
|
@@ -3422,7 +3422,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3422
3422
|
path: ["traffic", "sources"],
|
|
3423
3423
|
usage: "canonry traffic sources <project> [--format json]",
|
|
3424
3424
|
run: async (input) => {
|
|
3425
|
-
const { trafficSources } = await import("./traffic-
|
|
3425
|
+
const { trafficSources } = await import("./traffic-J3SSIDXQ.js");
|
|
3426
3426
|
const project3 = requireProject(
|
|
3427
3427
|
input,
|
|
3428
3428
|
"traffic.sources",
|
|
@@ -3435,7 +3435,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3435
3435
|
path: ["traffic", "status"],
|
|
3436
3436
|
usage: "canonry traffic status <project> [--format json]",
|
|
3437
3437
|
run: async (input) => {
|
|
3438
|
-
const { trafficStatus } = await import("./traffic-
|
|
3438
|
+
const { trafficStatus } = await import("./traffic-J3SSIDXQ.js");
|
|
3439
3439
|
const project3 = requireProject(
|
|
3440
3440
|
input,
|
|
3441
3441
|
"traffic.status",
|
|
@@ -3450,7 +3450,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3450
3450
|
help: "Stored sampled tail with 30-day retention, not visits. Unknown traffic is excluded by default. No provider calls.",
|
|
3451
3451
|
options: { kind: stringOption(), source: stringOption(), since: stringOption(), until: stringOption(), "since-minutes": stringOption(), path: stringOption(), limit: stringOption(), offset: stringOption() },
|
|
3452
3452
|
run: async (input) => {
|
|
3453
|
-
const { trafficSamples } = await import("./traffic-
|
|
3453
|
+
const { trafficSamples } = await import("./traffic-J3SSIDXQ.js");
|
|
3454
3454
|
const project3 = requireProject(input, "traffic.samples", "canonry traffic samples <project>");
|
|
3455
3455
|
const integer = (name) => parseIntegerOption(input, name, { command: "traffic.samples", usage: "canonry traffic samples <project>", message: `--${name} must be an integer` });
|
|
3456
3456
|
await trafficSamples(project3, { kind: getString(input.values, "kind"), sourceId: getString(input.values, "source"), since: getString(input.values, "since"), until: getString(input.values, "until"), sinceMinutes: integer("since-minutes"), path: getString(input.values, "path"), limit: integer("limit"), offset: integer("offset"), format: input.format });
|
|
@@ -3469,7 +3469,7 @@ var TRAFFIC_CLI_COMMANDS = [
|
|
|
3469
3469
|
granularity: stringOption()
|
|
3470
3470
|
},
|
|
3471
3471
|
run: async (input) => {
|
|
3472
|
-
const { trafficEvents } = await import("./traffic-
|
|
3472
|
+
const { trafficEvents } = await import("./traffic-J3SSIDXQ.js");
|
|
3473
3473
|
const project3 = requireProject(
|
|
3474
3474
|
input,
|
|
3475
3475
|
"traffic.events",
|
|
@@ -6732,7 +6732,7 @@ var SYSTEM_CLI_COMMANDS = [
|
|
|
6732
6732
|
options: { access: stringOption() },
|
|
6733
6733
|
run: async (input) => {
|
|
6734
6734
|
if (input.positionals.length > 1) throw usageError("Expected at most one command group");
|
|
6735
|
-
const [{ printCliCatalog }, { REGISTERED_CLI_COMMANDS: REGISTERED_CLI_COMMANDS2 }] = await Promise.all([import("./cli-catalog-G7USVSOC.js"), import("./cli-commands-
|
|
6735
|
+
const [{ printCliCatalog }, { REGISTERED_CLI_COMMANDS: REGISTERED_CLI_COMMANDS2 }] = await Promise.all([import("./cli-catalog-G7USVSOC.js"), import("./cli-commands-HGKM2B6J.js")]);
|
|
6736
6736
|
printCliCatalog(REGISTERED_CLI_COMMANDS2, input.format, input.positionals[0], getString(input.values, "access"));
|
|
6737
6737
|
}
|
|
6738
6738
|
},
|
|
@@ -6781,7 +6781,7 @@ var SYSTEM_CLI_COMMANDS = [
|
|
|
6781
6781
|
},
|
|
6782
6782
|
allowPositionals: false,
|
|
6783
6783
|
run: async (input) => {
|
|
6784
|
-
const { initCommand } = await import("./init-
|
|
6784
|
+
const { initCommand } = await import("./init-LIUMX2HQ.js");
|
|
6785
6785
|
await initCommand({
|
|
6786
6786
|
force: getBoolean(input.values, "force"),
|
|
6787
6787
|
ref: getString(input.values, "ref"),
|
|
@@ -6836,7 +6836,7 @@ var SYSTEM_CLI_COMMANDS = [
|
|
|
6836
6836
|
allowPositionals: false,
|
|
6837
6837
|
run: async (input) => {
|
|
6838
6838
|
applyServerEnv(input.values);
|
|
6839
|
-
const { serveCommand } = await import("./serve-
|
|
6839
|
+
const { serveCommand } = await import("./serve-XEQ7ZW4N.js");
|
|
6840
6840
|
await serveCommand(input.format);
|
|
6841
6841
|
}
|
|
6842
6842
|
},
|
|
@@ -8144,8 +8144,8 @@ var AGENT_CLI_COMMANDS = [
|
|
|
8144
8144
|
"timeout-ms": stringOption()
|
|
8145
8145
|
},
|
|
8146
8146
|
run: async (input) => {
|
|
8147
|
-
const { coerceAgentProvider } = await import("./session-
|
|
8148
|
-
const { AERO_TOOL_PROFILES, isAeroToolProfile } = await import("./tools-
|
|
8147
|
+
const { coerceAgentProvider } = await import("./session-P5QHGJLK.js");
|
|
8148
|
+
const { AERO_TOOL_PROFILES, isAeroToolProfile } = await import("./tools-RGBSLMRZ.js");
|
|
8149
8149
|
const { agentAsk } = await import("./agent-ask-KZTQLKGM.js");
|
|
8150
8150
|
const usage = `canonry agent ask <project> "<prompt>" [--provider ${AGENT_PROVIDER_IDS.join("|")}] [--model <id>] [--scope all|read-only] [--profile default|ads-operator] [--context <json>] [--conversation <id>] [--max-tool-calls <n>] [--timeout-ms <ms>] [--format json]`;
|
|
8151
8151
|
const project3 = requireProject(input, "agent.ask", usage);
|
|
@@ -23,11 +23,11 @@ import {
|
|
|
23
23
|
createRunCompetitorResolver,
|
|
24
24
|
readMarketCompetitorNames,
|
|
25
25
|
refreshSnapshotMentionIdentity
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-ATXHIX32.js";
|
|
27
27
|
import {
|
|
28
28
|
classifyAiUserFetch,
|
|
29
29
|
classifyCrawler
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-OHOIEA3X.js";
|
|
31
31
|
import {
|
|
32
32
|
aiUserFetchEventsHourly,
|
|
33
33
|
auditLog,
|
|
@@ -437,7 +437,7 @@ No DB writes performed. Re-run without --dry-run to apply.`);
|
|
|
437
437
|
}
|
|
438
438
|
}
|
|
439
439
|
async function backfillInsightsCommand(project, opts) {
|
|
440
|
-
const { IntelligenceService } = await import("./intelligence-service-
|
|
440
|
+
const { IntelligenceService } = await import("./intelligence-service-FTCGYX6T.js");
|
|
441
441
|
const config = loadConfig();
|
|
442
442
|
const db = createClient(config.database);
|
|
443
443
|
migrate(db);
|
|
@@ -27,14 +27,14 @@ import {
|
|
|
27
27
|
resolveConfiguredAgentProvider,
|
|
28
28
|
resolveSessionProviderAndModel,
|
|
29
29
|
setAeroSystemPrompt
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-MBNS5AND.js";
|
|
31
31
|
import {
|
|
32
32
|
AeroToolProfiles,
|
|
33
33
|
AeroToolScopes,
|
|
34
34
|
buildAeroStateTools,
|
|
35
35
|
isAeroToolProfile,
|
|
36
36
|
truncateToolResult
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-7A3CQCEV.js";
|
|
38
38
|
import {
|
|
39
39
|
getGoogleAuthConfig,
|
|
40
40
|
getGoogleConnection,
|
|
@@ -162,7 +162,7 @@ import {
|
|
|
162
162
|
addLogListener,
|
|
163
163
|
createFastifyLogger,
|
|
164
164
|
createLogger
|
|
165
|
-
} from "./chunk-
|
|
165
|
+
} from "./chunk-4E6E27C5.js";
|
|
166
166
|
import {
|
|
167
167
|
computeCitedCompetitorDomains,
|
|
168
168
|
determineCitationState
|
|
@@ -285,7 +285,7 @@ import {
|
|
|
285
285
|
webhookResponseReason,
|
|
286
286
|
webhookTargetRefusalReason,
|
|
287
287
|
writeAuditLog
|
|
288
|
-
} from "./chunk-
|
|
288
|
+
} from "./chunk-ATXHIX32.js";
|
|
289
289
|
import {
|
|
290
290
|
OperationalLogStore,
|
|
291
291
|
SentimentIdempotencyConflict,
|
|
@@ -5658,7 +5658,7 @@ function nonBlank(value) {
|
|
|
5658
5658
|
return trimmed ? trimmed : void 0;
|
|
5659
5659
|
}
|
|
5660
5660
|
function resolveBuildCommit(env = process.env) {
|
|
5661
|
-
const embedded = true ? "
|
|
5661
|
+
const embedded = true ? "71e50cd654bc70374b8e8db96b43a7b7edc7da0d" : void 0;
|
|
5662
5662
|
return nonBlank(embedded) ?? nonBlank(env.CANONRY_COMMIT);
|
|
5663
5663
|
}
|
|
5664
5664
|
function resolveInstanceIdentity(env = process.env) {
|
|
@@ -47,7 +47,7 @@ function queueServeHandoff() {
|
|
|
47
47
|
async function runPendingServeHandoff(format) {
|
|
48
48
|
if (!pendingServeHandoff) return;
|
|
49
49
|
pendingServeHandoff = false;
|
|
50
|
-
const { serveCommand } = await import("./serve-
|
|
50
|
+
const { serveCommand } = await import("./serve-XEQ7ZW4N.js");
|
|
51
51
|
await serveCommand(format);
|
|
52
52
|
}
|
|
53
53
|
|
package/dist/cli.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node --import tsx
|
|
2
2
|
import {
|
|
3
3
|
REGISTERED_CLI_COMMANDS
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-PG6Q6MEF.js";
|
|
5
5
|
import {
|
|
6
6
|
buildSetupState,
|
|
7
7
|
runPendingServeHandoff
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-ZOP2F25H.js";
|
|
9
9
|
import "./chunk-6GO5VVAC.js";
|
|
10
10
|
import "./chunk-C3FQGQDS.js";
|
|
11
11
|
import "./chunk-VJWDBFSL.js";
|
|
@@ -40,7 +40,7 @@ function parseDemoTrustedProxies(values) {
|
|
|
40
40
|
async function demoCommand(options) {
|
|
41
41
|
const { host, port } = parseDemoListenOptions(options);
|
|
42
42
|
const trustProxy = parseDemoTrustedProxies(options.trustProxy);
|
|
43
|
-
const { createDemoServer } = await import("./demo-server-
|
|
43
|
+
const { createDemoServer } = await import("./demo-server-23QGNLCX.js");
|
|
44
44
|
const app = await createDemoServer({ trustProxy });
|
|
45
45
|
let stopping = false;
|
|
46
46
|
const stop = () => {
|
|
@@ -18,15 +18,15 @@ import "./chunk-HGMYEDAQ.js";
|
|
|
18
18
|
import {
|
|
19
19
|
HISTORY_WINDOW_RUNS,
|
|
20
20
|
IntelligenceService
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-4E6E27C5.js";
|
|
22
22
|
import {
|
|
23
23
|
determineCitationState
|
|
24
24
|
} from "./chunk-KJA7V3IT.js";
|
|
25
25
|
import {
|
|
26
26
|
apiRoutes,
|
|
27
27
|
assessConversionTrackingIntegrity
|
|
28
|
-
} from "./chunk-
|
|
29
|
-
import "./chunk-
|
|
28
|
+
} from "./chunk-ATXHIX32.js";
|
|
29
|
+
import "./chunk-OHOIEA3X.js";
|
|
30
30
|
import "./chunk-ZTO5KPQB.js";
|
|
31
31
|
import {
|
|
32
32
|
adsAdGroups,
|
package/dist/index.d.ts
CHANGED
|
@@ -1402,7 +1402,7 @@ declare const seoProfiles: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
1402
1402
|
languageCode: string;
|
|
1403
1403
|
limit: number;
|
|
1404
1404
|
scope: {
|
|
1405
|
-
kind: "project" | "
|
|
1405
|
+
kind: "project" | "market" | "group" | "property";
|
|
1406
1406
|
key?: string | undefined;
|
|
1407
1407
|
expectedPlanRevision?: number | undefined;
|
|
1408
1408
|
};
|
|
@@ -1432,7 +1432,7 @@ declare const seoProfiles: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
1432
1432
|
languageCode: string;
|
|
1433
1433
|
limit: number;
|
|
1434
1434
|
scope: {
|
|
1435
|
-
kind: "project" | "
|
|
1435
|
+
kind: "project" | "market" | "group" | "property";
|
|
1436
1436
|
key?: string | undefined;
|
|
1437
1437
|
expectedPlanRevision?: number | undefined;
|
|
1438
1438
|
};
|
|
@@ -1614,7 +1614,7 @@ declare const seoJobs: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
1614
1614
|
languageCode: string;
|
|
1615
1615
|
limit: number;
|
|
1616
1616
|
scope: {
|
|
1617
|
-
kind: "project" | "
|
|
1617
|
+
kind: "project" | "market" | "group" | "property";
|
|
1618
1618
|
key?: string | undefined;
|
|
1619
1619
|
expectedPlanRevision?: number | undefined;
|
|
1620
1620
|
};
|
|
@@ -1644,7 +1644,7 @@ declare const seoJobs: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
1644
1644
|
languageCode: string;
|
|
1645
1645
|
limit: number;
|
|
1646
1646
|
scope: {
|
|
1647
|
-
kind: "project" | "
|
|
1647
|
+
kind: "project" | "market" | "group" | "property";
|
|
1648
1648
|
key?: string | undefined;
|
|
1649
1649
|
expectedPlanRevision?: number | undefined;
|
|
1650
1650
|
};
|
|
@@ -6779,7 +6779,7 @@ declare const providerBatches: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
6779
6779
|
tableName: "provider_batches";
|
|
6780
6780
|
dataType: "string";
|
|
6781
6781
|
columnType: "SQLiteText";
|
|
6782
|
-
data: "unknown" | "failed" | "submitted" | "
|
|
6782
|
+
data: "unknown" | "failed" | "submitted" | "cancelled" | "submitting" | "ended" | "ingested";
|
|
6783
6783
|
driverParam: string;
|
|
6784
6784
|
notNull: true;
|
|
6785
6785
|
hasDefault: false;
|
|
@@ -6792,7 +6792,7 @@ declare const providerBatches: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
6792
6792
|
generated: undefined;
|
|
6793
6793
|
}, {}, {
|
|
6794
6794
|
length: number | undefined;
|
|
6795
|
-
$type: "unknown" | "failed" | "submitted" | "
|
|
6795
|
+
$type: "unknown" | "failed" | "submitted" | "cancelled" | "submitting" | "ended" | "ingested";
|
|
6796
6796
|
}>;
|
|
6797
6797
|
requestCount: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
6798
6798
|
name: "request_count";
|
|
@@ -8839,7 +8839,7 @@ declare const oauthTokens: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
8839
8839
|
tableName: "oauth_tokens";
|
|
8840
8840
|
dataType: "string";
|
|
8841
8841
|
columnType: "SQLiteText";
|
|
8842
|
-
data: "
|
|
8842
|
+
data: "access" | "refresh";
|
|
8843
8843
|
driverParam: string;
|
|
8844
8844
|
notNull: true;
|
|
8845
8845
|
hasDefault: false;
|
|
@@ -8852,7 +8852,7 @@ declare const oauthTokens: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
8852
8852
|
generated: undefined;
|
|
8853
8853
|
}, {}, {
|
|
8854
8854
|
length: number | undefined;
|
|
8855
|
-
$type: "
|
|
8855
|
+
$type: "access" | "refresh";
|
|
8856
8856
|
}>;
|
|
8857
8857
|
clientId: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
8858
8858
|
name: "client_id";
|
|
@@ -17596,7 +17596,7 @@ declare const gaMeasurementSyncStates: drizzle_orm_sqlite_core.SQLiteTableWithCo
|
|
|
17596
17596
|
tableName: "ga_measurement_sync_state";
|
|
17597
17597
|
dataType: "string";
|
|
17598
17598
|
columnType: "SQLiteText";
|
|
17599
|
-
data: "error" | "
|
|
17599
|
+
data: "error" | "unavailable" | "never-synced" | "ready";
|
|
17600
17600
|
driverParam: string;
|
|
17601
17601
|
notNull: true;
|
|
17602
17602
|
hasDefault: true;
|
|
@@ -17609,7 +17609,7 @@ declare const gaMeasurementSyncStates: drizzle_orm_sqlite_core.SQLiteTableWithCo
|
|
|
17609
17609
|
generated: undefined;
|
|
17610
17610
|
}, {}, {
|
|
17611
17611
|
length: number | undefined;
|
|
17612
|
-
$type: "error" | "
|
|
17612
|
+
$type: "error" | "unavailable" | "never-synced" | "ready";
|
|
17613
17613
|
}>;
|
|
17614
17614
|
searchLandingError: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
17615
17615
|
name: "search_landing_error";
|
|
@@ -25387,7 +25387,7 @@ declare const researchRuns: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
25387
25387
|
dataType: "json";
|
|
25388
25388
|
columnType: "SQLiteTextJson";
|
|
25389
25389
|
data: {
|
|
25390
|
-
kind: "
|
|
25390
|
+
kind: "market" | "property";
|
|
25391
25391
|
key: string;
|
|
25392
25392
|
label: string;
|
|
25393
25393
|
planRevision: number;
|
|
@@ -25404,7 +25404,7 @@ declare const researchRuns: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
25404
25404
|
generated: undefined;
|
|
25405
25405
|
}, {}, {
|
|
25406
25406
|
$type: {
|
|
25407
|
-
kind: "
|
|
25407
|
+
kind: "market" | "property";
|
|
25408
25408
|
key: string;
|
|
25409
25409
|
label: string;
|
|
25410
25410
|
planRevision: number;
|
package/dist/index.js
CHANGED
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
createGoogleMarketingCredentialStore,
|
|
4
4
|
createGoogleMarketingRuntime,
|
|
5
5
|
createServer
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VOWM62EC.js";
|
|
7
7
|
import "./chunk-UJ222WSC.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-MBNS5AND.js";
|
|
9
|
+
import "./chunk-7A3CQCEV.js";
|
|
10
10
|
import "./chunk-ELCLGWUT.js";
|
|
11
11
|
import "./chunk-XEBKF4N5.js";
|
|
12
12
|
import "./chunk-PNZE3XLO.js";
|
|
@@ -28,10 +28,10 @@ import "./chunk-VMLCPTRZ.js";
|
|
|
28
28
|
import "./chunk-VL5LVBLE.js";
|
|
29
29
|
import "./chunk-AOJU5LKX.js";
|
|
30
30
|
import "./chunk-HGMYEDAQ.js";
|
|
31
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-4E6E27C5.js";
|
|
32
32
|
import "./chunk-KJA7V3IT.js";
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-ATXHIX32.js";
|
|
34
|
+
import "./chunk-OHOIEA3X.js";
|
|
35
35
|
import "./chunk-ZTO5KPQB.js";
|
|
36
36
|
import "./chunk-NCUTFEU4.js";
|
|
37
37
|
import "./chunk-YVYID65D.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
HISTORY_WINDOW_RUNS,
|
|
3
3
|
IntelligenceService
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-4E6E27C5.js";
|
|
5
5
|
import "./chunk-KJA7V3IT.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-ATXHIX32.js";
|
|
7
|
+
import "./chunk-OHOIEA3X.js";
|
|
8
8
|
import "./chunk-ZTO5KPQB.js";
|
|
9
9
|
import "./chunk-NCUTFEU4.js";
|
|
10
10
|
import "./chunk-YVYID65D.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
backfillAiReferralPaths,
|
|
3
3
|
backfillNormalizedPaths
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QGDFDP3H.js";
|
|
5
5
|
import {
|
|
6
6
|
operatorHttpUrl
|
|
7
7
|
} from "./chunk-6GO5VVAC.js";
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
allowsKeylessFirstRunSetup,
|
|
10
10
|
createServer,
|
|
11
11
|
waitForServerRuntimeStartup
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-VOWM62EC.js";
|
|
13
13
|
import "./chunk-UJ222WSC.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-MBNS5AND.js";
|
|
15
|
+
import "./chunk-7A3CQCEV.js";
|
|
16
16
|
import "./chunk-ELCLGWUT.js";
|
|
17
17
|
import "./chunk-XEBKF4N5.js";
|
|
18
18
|
import "./chunk-PNZE3XLO.js";
|
|
@@ -56,13 +56,13 @@ import {
|
|
|
56
56
|
CliError,
|
|
57
57
|
isMachineFormat
|
|
58
58
|
} from "./chunk-HGMYEDAQ.js";
|
|
59
|
-
import "./chunk-
|
|
59
|
+
import "./chunk-4E6E27C5.js";
|
|
60
60
|
import "./chunk-KJA7V3IT.js";
|
|
61
61
|
import {
|
|
62
62
|
refreshSnapshotMentionIdentity,
|
|
63
63
|
snapshotsWithSentimentResults
|
|
64
|
-
} from "./chunk-
|
|
65
|
-
import "./chunk-
|
|
64
|
+
} from "./chunk-ATXHIX32.js";
|
|
65
|
+
import "./chunk-OHOIEA3X.js";
|
|
66
66
|
import "./chunk-ZTO5KPQB.js";
|
|
67
67
|
import {
|
|
68
68
|
createClient,
|
|
@@ -10,8 +10,8 @@ import {
|
|
|
10
10
|
resolveAeroSkillDir,
|
|
11
11
|
resolveConfiguredAgentProvider,
|
|
12
12
|
resolveSessionProviderAndModel
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-MBNS5AND.js";
|
|
14
|
+
import "./chunk-7A3CQCEV.js";
|
|
15
15
|
import "./chunk-NCIPNVD6.js";
|
|
16
16
|
import "./chunk-RR7ZDGC7.js";
|
|
17
17
|
import {
|
|
@@ -24,8 +24,8 @@ import "./chunk-VMLCPTRZ.js";
|
|
|
24
24
|
import "./chunk-VL5LVBLE.js";
|
|
25
25
|
import "./chunk-AOJU5LKX.js";
|
|
26
26
|
import "./chunk-HGMYEDAQ.js";
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-ATXHIX32.js";
|
|
28
|
+
import "./chunk-OHOIEA3X.js";
|
|
29
29
|
import "./chunk-ZTO5KPQB.js";
|
|
30
30
|
import "./chunk-NCUTFEU4.js";
|
|
31
31
|
import "./chunk-YVYID65D.js";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
buildAllTools,
|
|
12
12
|
buildReadTools,
|
|
13
13
|
isAeroToolProfile
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-7A3CQCEV.js";
|
|
15
15
|
import "./chunk-RR7ZDGC7.js";
|
|
16
16
|
import "./chunk-22XKOBJD.js";
|
|
17
17
|
import "./chunk-QT7UBYG7.js";
|
|
@@ -19,8 +19,8 @@ import "./chunk-VMLCPTRZ.js";
|
|
|
19
19
|
import "./chunk-VL5LVBLE.js";
|
|
20
20
|
import "./chunk-AOJU5LKX.js";
|
|
21
21
|
import "./chunk-HGMYEDAQ.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-ATXHIX32.js";
|
|
23
|
+
import "./chunk-OHOIEA3X.js";
|
|
24
24
|
import "./chunk-ZTO5KPQB.js";
|
|
25
25
|
import "./chunk-NCUTFEU4.js";
|
|
26
26
|
import "./chunk-YVYID65D.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canonry/canonry",
|
|
3
|
-
"version": "7.64.
|
|
3
|
+
"version": "7.64.4",
|
|
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": [
|