@prenta/core 5.8.0 → 5.9.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 (104) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/api/handler-factory.d.ts.map +1 -1
  3. package/dist/api/handler-factory.js +15 -6
  4. package/dist/api/handler-factory.js.map +1 -1
  5. package/dist/api/handlers.d.ts.map +1 -1
  6. package/dist/api/handlers.js +2 -0
  7. package/dist/api/handlers.js.map +1 -1
  8. package/dist/api/routes/scheduling.d.ts.map +1 -1
  9. package/dist/api/routes/scheduling.js +8 -1
  10. package/dist/api/routes/scheduling.js.map +1 -1
  11. package/dist/api/routes/seo-geo.d.ts +23 -0
  12. package/dist/api/routes/seo-geo.d.ts.map +1 -0
  13. package/dist/api/routes/seo-geo.js +188 -0
  14. package/dist/api/routes/seo-geo.js.map +1 -0
  15. package/dist/astro-redirects.d.ts +5 -0
  16. package/dist/astro-redirects.d.ts.map +1 -1
  17. package/dist/astro-redirects.js +13 -1
  18. package/dist/astro-redirects.js.map +1 -1
  19. package/dist/cron/index.d.ts +8 -0
  20. package/dist/cron/index.d.ts.map +1 -1
  21. package/dist/cron/index.js +21 -0
  22. package/dist/cron/index.js.map +1 -1
  23. package/dist/db/model-types.d.ts +21 -0
  24. package/dist/db/model-types.d.ts.map +1 -1
  25. package/dist/forms/attribution.d.ts +6 -2
  26. package/dist/forms/attribution.d.ts.map +1 -1
  27. package/dist/forms/attribution.js +5 -0
  28. package/dist/forms/attribution.js.map +1 -1
  29. package/dist/forms/index.d.ts +2 -2
  30. package/dist/forms/index.d.ts.map +1 -1
  31. package/dist/forms/index.js +1 -1
  32. package/dist/forms/index.js.map +1 -1
  33. package/dist/generated/browser.d.ts +18 -0
  34. package/dist/generated/client.d.ts +18 -0
  35. package/dist/generated/internal/class.d.ts +22 -0
  36. package/dist/generated/internal/class.js +4 -4
  37. package/dist/generated/internal/prismaNamespace.d.ts +187 -1
  38. package/dist/generated/internal/prismaNamespace.js +32 -0
  39. package/dist/generated/internal/prismaNamespaceBrowser.d.ts +36 -0
  40. package/dist/generated/internal/prismaNamespaceBrowser.js +32 -0
  41. package/dist/generated/models/GeoCrawlDaily.d.ts +1144 -0
  42. package/dist/generated/models/GeoCrawlDaily.js +1 -0
  43. package/dist/generated/models/GeoReferralDaily.d.ts +1116 -0
  44. package/dist/generated/models/GeoReferralDaily.js +1 -0
  45. package/dist/generated/models.d.ts +2 -0
  46. package/dist/index.d.ts +7 -4
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +5 -2
  49. package/dist/index.js.map +1 -1
  50. package/dist/public-geo.d.ts +39 -0
  51. package/dist/public-geo.d.ts.map +1 -0
  52. package/dist/public-geo.js +79 -0
  53. package/dist/public-geo.js.map +1 -0
  54. package/dist/security/rate-limit-policy.d.ts +23 -0
  55. package/dist/security/rate-limit-policy.d.ts.map +1 -1
  56. package/dist/security/rate-limit-policy.js +36 -2
  57. package/dist/security/rate-limit-policy.js.map +1 -1
  58. package/dist/seo/ai-bots.d.ts +38 -7
  59. package/dist/seo/ai-bots.d.ts.map +1 -1
  60. package/dist/seo/ai-bots.js +82 -27
  61. package/dist/seo/ai-bots.js.map +1 -1
  62. package/dist/seo/ai-crawler-log.d.ts +2 -0
  63. package/dist/seo/ai-crawler-log.d.ts.map +1 -1
  64. package/dist/seo/ai-crawler-log.js +19 -1
  65. package/dist/seo/ai-crawler-log.js.map +1 -1
  66. package/dist/seo/ai-referrers.d.ts +25 -0
  67. package/dist/seo/ai-referrers.d.ts.map +1 -0
  68. package/dist/seo/ai-referrers.js +96 -0
  69. package/dist/seo/ai-referrers.js.map +1 -0
  70. package/dist/seo/config-store.d.ts +4 -0
  71. package/dist/seo/config-store.d.ts.map +1 -1
  72. package/dist/seo/config-store.js +3 -0
  73. package/dist/seo/config-store.js.map +1 -1
  74. package/dist/seo/digest.d.ts +23 -0
  75. package/dist/seo/digest.d.ts.map +1 -1
  76. package/dist/seo/digest.js +89 -3
  77. package/dist/seo/digest.js.map +1 -1
  78. package/dist/seo/geo-record.d.ts +75 -0
  79. package/dist/seo/geo-record.d.ts.map +1 -0
  80. package/dist/seo/geo-record.js +252 -0
  81. package/dist/seo/geo-record.js.map +1 -0
  82. package/dist/seo/geo-report.d.ts +96 -0
  83. package/dist/seo/geo-report.d.ts.map +1 -0
  84. package/dist/seo/geo-report.js +315 -0
  85. package/dist/seo/geo-report.js.map +1 -0
  86. package/dist/seo/geo-retention.d.ts +19 -0
  87. package/dist/seo/geo-retention.d.ts.map +1 -0
  88. package/dist/seo/geo-retention.js +23 -0
  89. package/dist/seo/geo-retention.js.map +1 -0
  90. package/dist/seo/index.d.ts +9 -2
  91. package/dist/seo/index.d.ts.map +1 -1
  92. package/dist/seo/index.js +5 -1
  93. package/dist/seo/index.js.map +1 -1
  94. package/dist/seo/search-console/sync.d.ts +8 -0
  95. package/dist/seo/search-console/sync.d.ts.map +1 -1
  96. package/dist/seo/search-console/sync.js +6 -3
  97. package/dist/seo/search-console/sync.js.map +1 -1
  98. package/dist/site.d.ts +5 -0
  99. package/dist/site.d.ts.map +1 -1
  100. package/dist/site.js +3 -0
  101. package/dist/site.js.map +1 -1
  102. package/package.json +3 -3
  103. package/prisma/migrations/0018_geo_daily/migration.sql +35 -0
  104. package/prisma/schema.prisma +41 -0
@@ -1 +1 @@
1
- {"version":3,"file":"digest.js","sourceRoot":"","sources":["../../src/seo/digest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"digest.js","sourceRoot":"","sources":["../../src/seo/digest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import type { AiBotCategory } from './ai-bots.js';
2
+ export { GEO_RETENTION_DEFAULT_DAYS, GEO_RETENTION_MAX_DAYS, GEO_RETENTION_MIN_DAYS, clampGeoRetentionDays, } from './geo-retention.js';
3
+ /**
4
+ * Max distinct paths per `(date, bot)` — the rest of that bot's day rolls into
5
+ * {@link GEO_OTHER_PATH}, so a crawler (or an attacker replaying the public
6
+ * beacon) cannot grow the table by inventing paths.
7
+ *
8
+ * This is a **soft bound**: the distinct-path count is memoised per isolate
9
+ * for {@link GEO_CAP_MEMO_MS}, so N cold isolates (serverless) that each read
10
+ * a below-cap count in the same minute can together overshoot to ≈ N × cap
11
+ * rows for that `(date, actor)` before their memos expire. Bounded, not exact.
12
+ */
13
+ export declare const GEO_CRAWL_PATH_CAP = 500;
14
+ /**
15
+ * Same cap and the same soft-bound caveat, keyed by `(date, engine)`. Referral
16
+ * beacons are as unauthenticated as crawl beacons, so "a path must exist on
17
+ * the site to be linked" is not a property the server can rely on.
18
+ */
19
+ export declare const GEO_REFERRAL_PATH_CAP = 500;
20
+ export declare const GEO_OTHER_PATH = "(other)";
21
+ /** How long a `(date, actor)` distinct-path count is trusted before re-counting. */
22
+ export declare const GEO_CAP_MEMO_MS = 60000;
23
+ /** How long the kill-switch setting is trusted before re-reading it. */
24
+ export declare const GEO_SETTINGS_MEMO_MS = 30000;
25
+ /** Minimum gap between two storage-failure `console.warn`s per process. */
26
+ export declare const GEO_WARN_THROTTLE_MS = 60000;
27
+ export declare const GEO_MAX_PATH_LEN = 2048;
28
+ export declare const GEO_MAX_ACTOR_LEN = 64;
29
+ /** Largest `POST /geo/beacon` body accepted; a real payload is under 200 bytes. */
30
+ export declare const GEO_MAX_BEACON_BYTES = 4096;
31
+ export type GeoRecordOutcome = 'recorded' | 'other' | 'skipped';
32
+ /** Body of `POST /geo/beacon` — the only thing the middleware ever transmits. */
33
+ export interface GeoBeaconPayload {
34
+ kind: 'crawl' | 'referral';
35
+ /** Bot token (crawl) or engine name (referral). Validated against the server registry. */
36
+ actor: string;
37
+ /** Advisory only — the server re-derives it from the registry. */
38
+ category?: AiBotCategory;
39
+ /** `url.pathname` only. */
40
+ path: string;
41
+ }
42
+ /** UTC calendar day — the same convention as `SearchPerfDaily`. */
43
+ export declare function geoDay(now: Date): Date;
44
+ /**
45
+ * Site-relative path for storage: lower-cased, no query/hash, no trailing
46
+ * slash. Absolute URLs, over-long inputs and anything outside
47
+ * {@link GEO_PATH_CHARS} are rejected (`null` → the hit is dropped).
48
+ */
49
+ export declare function normalizeGeoPath(input: string): string | null;
50
+ /** Test hook; also called after a successful settings write so it takes effect at once. */
51
+ export declare function resetGeoSettingsMemo(): void;
52
+ /**
53
+ * `SeoModuleSettings.geoMeasurementEnabled`, memoised for
54
+ * {@link GEO_SETTINGS_MEMO_MS}. Both writers consult it, so flipping the switch
55
+ * stops server-side recording as well as the beacon. `getSeoOverrides` never
56
+ * throws (it returns `null` on any read failure), which resolves to the
57
+ * default — measurement on.
58
+ */
59
+ export declare function isGeoMeasurementEnabled(db: unknown): Promise<boolean>;
60
+ /** Test hook. */
61
+ export declare function resetGeoWarnThrottle(): void;
62
+ /** Test hook. */
63
+ export declare function resetGeoCapMemo(): void;
64
+ export declare function recordGeoCrawl(db: unknown, input: {
65
+ bot: string;
66
+ category: AiBotCategory;
67
+ path: string;
68
+ now?: Date;
69
+ }): Promise<GeoRecordOutcome>;
70
+ export declare function recordGeoReferral(db: unknown, input: {
71
+ engine: string;
72
+ path: string;
73
+ now?: Date;
74
+ }): Promise<GeoRecordOutcome>;
75
+ //# sourceMappingURL=geo-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo-record.d.ts","sourceRoot":"","sources":["../../src/seo/geo-record.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAIjD,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oBAAoB,CAAA;AAE3B;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAA;AACrC;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,MAAqB,CAAA;AACvD,eAAO,MAAM,cAAc,YAAY,CAAA;AACvC,oFAAoF;AACpF,eAAO,MAAM,eAAe,QAAS,CAAA;AACrC,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,QAAS,CAAA;AAC1C,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,QAAS,CAAA;AAE1C,eAAO,MAAM,gBAAgB,OAAO,CAAA;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAA;AACnC,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,OAAO,CAAA;AAExC,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAA;AAE/D,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,GAAG,UAAU,CAAA;IAC1B,0FAA0F;IAC1F,KAAK,EAAE,MAAM,CAAA;IACb,kEAAkE;IAClE,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;CACb;AAgBD,mEAAmE;AACnE,wBAAgB,MAAM,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAEtC;AAUD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ7D;AAMD,2FAA2F;AAC3F,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAM3E;AAMD,iBAAiB;AACjB,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAwBD,iBAAiB;AACjB,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AA6FD,wBAAsB,cAAc,CAClC,EAAE,EAAE,OAAO,EACX,KAAK,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,GACxE,OAAO,CAAC,gBAAgB,CAAC,CAwB3B;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,OAAO,EACX,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,GAClD,OAAO,CAAC,gBAAgB,CAAC,CAuB3B"}
@@ -0,0 +1,252 @@
1
+ /**
2
+ * GEO measurement write path: daily (date, bot, path) crawl buckets and
3
+ * (date, engine, path) referral buckets (spec 2026-09-08 §3).
4
+ *
5
+ * Both writers are best-effort — a storage failure or a consumer schema that
6
+ * predates the tables must never break a public response. Server-side callers
7
+ * (`recordAiCrawlerHit`, the beacon route) DO await them: on serverless an
8
+ * un-awaited write may be dropped when the response ends. The fire-and-forget
9
+ * part of the pipeline is the site middleware's beacon `fetch`, not these.
10
+ *
11
+ * The kill switch (`SeoModuleSettings.geoMeasurementEnabled`) is enforced
12
+ * *here*, inside the writers, so it covers every caller — the public beacon and
13
+ * the server-side surfaces (`/llms.txt`, `/llms-full.txt`, `.md`, honeypot)
14
+ * alike. See {@link isGeoMeasurementEnabled}.
15
+ *
16
+ * Query budget (spec §3): an existing `(date, actor, path)` row costs exactly
17
+ * one `updateMany`; only a new path pays for the memoised distinct-path count
18
+ * (one `count` per `(date, actor)` per {@link GEO_CAP_MEMO_MS}) plus one
19
+ * `upsert`. The settings read behind the kill switch is memoised for
20
+ * {@link GEO_SETTINGS_MEMO_MS}.
21
+ */
22
+ import { hasModel } from '../api/route-helpers.js';
23
+ import { normalizeRedirectPath } from '../redirects/graph.js';
24
+ import { startOfDayUTC } from './autopilot-ledger.js';
25
+ import { getSeoOverrides, resolveSeoModuleSettings } from './config-store.js';
26
+ export { GEO_RETENTION_DEFAULT_DAYS, GEO_RETENTION_MAX_DAYS, GEO_RETENTION_MIN_DAYS, clampGeoRetentionDays, } from './geo-retention.js';
27
+ /**
28
+ * Max distinct paths per `(date, bot)` — the rest of that bot's day rolls into
29
+ * {@link GEO_OTHER_PATH}, so a crawler (or an attacker replaying the public
30
+ * beacon) cannot grow the table by inventing paths.
31
+ *
32
+ * This is a **soft bound**: the distinct-path count is memoised per isolate
33
+ * for {@link GEO_CAP_MEMO_MS}, so N cold isolates (serverless) that each read
34
+ * a below-cap count in the same minute can together overshoot to ≈ N × cap
35
+ * rows for that `(date, actor)` before their memos expire. Bounded, not exact.
36
+ */
37
+ export const GEO_CRAWL_PATH_CAP = 500;
38
+ /**
39
+ * Same cap and the same soft-bound caveat, keyed by `(date, engine)`. Referral
40
+ * beacons are as unauthenticated as crawl beacons, so "a path must exist on
41
+ * the site to be linked" is not a property the server can rely on.
42
+ */
43
+ export const GEO_REFERRAL_PATH_CAP = GEO_CRAWL_PATH_CAP;
44
+ export const GEO_OTHER_PATH = '(other)';
45
+ /** How long a `(date, actor)` distinct-path count is trusted before re-counting. */
46
+ export const GEO_CAP_MEMO_MS = 60_000;
47
+ /** How long the kill-switch setting is trusted before re-reading it. */
48
+ export const GEO_SETTINGS_MEMO_MS = 30_000;
49
+ /** Minimum gap between two storage-failure `console.warn`s per process. */
50
+ export const GEO_WARN_THROTTLE_MS = 60_000;
51
+ export const GEO_MAX_PATH_LEN = 2048;
52
+ export const GEO_MAX_ACTOR_LEN = 64;
53
+ /** Largest `POST /geo/beacon` body accepted; a real payload is under 200 bytes. */
54
+ export const GEO_MAX_BEACON_BYTES = 4096;
55
+ /** UTC calendar day — the same convention as `SearchPerfDaily`. */
56
+ export function geoDay(now) {
57
+ return startOfDayUTC(now);
58
+ }
59
+ /**
60
+ * Characters a percent-encoded `url.pathname` can contain: RFC 3986 unreserved
61
+ * (`A-Z a-z 0-9 - . _ ~`) plus `/` and the `%` of an escape. The middleware
62
+ * sends `url.pathname` verbatim (never decoded), so spaces, quotes, unicode,
63
+ * angle brackets and sub-delims can only arrive from a hand-crafted beacon.
64
+ */
65
+ const GEO_PATH_CHARS = /^[A-Za-z0-9/_\-.~%]*$/;
66
+ /**
67
+ * Site-relative path for storage: lower-cased, no query/hash, no trailing
68
+ * slash. Absolute URLs, over-long inputs and anything outside
69
+ * {@link GEO_PATH_CHARS} are rejected (`null` → the hit is dropped).
70
+ */
71
+ export function normalizeGeoPath(input) {
72
+ if (typeof input !== 'string' || input.length > GEO_MAX_PATH_LEN)
73
+ return null;
74
+ const trimmed = input.trim();
75
+ // absolute (`https://…`) and protocol-relative (`//host/…`) URLs are not paths
76
+ if (/^https?:\/\//i.test(trimmed) || trimmed.startsWith('//'))
77
+ return null;
78
+ const normalized = normalizeRedirectPath(input);
79
+ if (!normalized.startsWith('/') || normalized.startsWith('//'))
80
+ return null;
81
+ return GEO_PATH_CHARS.test(normalized) ? normalized : null;
82
+ }
83
+ // ─── Kill-switch memo (one settings read per 30 s per process) ───────────────
84
+ let settingsMemo = null;
85
+ /** Test hook; also called after a successful settings write so it takes effect at once. */
86
+ export function resetGeoSettingsMemo() {
87
+ settingsMemo = null;
88
+ }
89
+ /**
90
+ * `SeoModuleSettings.geoMeasurementEnabled`, memoised for
91
+ * {@link GEO_SETTINGS_MEMO_MS}. Both writers consult it, so flipping the switch
92
+ * stops server-side recording as well as the beacon. `getSeoOverrides` never
93
+ * throws (it returns `null` on any read failure), which resolves to the
94
+ * default — measurement on.
95
+ */
96
+ export async function isGeoMeasurementEnabled(db) {
97
+ const now = Date.now();
98
+ if (settingsMemo && now - settingsMemo.at < GEO_SETTINGS_MEMO_MS)
99
+ return settingsMemo.enabled;
100
+ const s = resolveSeoModuleSettings(await getSeoOverrides(db));
101
+ settingsMemo = { enabled: s.geoMeasurementEnabled, at: now };
102
+ return s.geoMeasurementEnabled;
103
+ }
104
+ // ─── Warn throttle ───────────────────────────────────────────────────────────
105
+ let lastWarnAt = 0;
106
+ /** Test hook. */
107
+ export function resetGeoWarnThrottle() {
108
+ lastWarnAt = 0;
109
+ }
110
+ /**
111
+ * One `console.warn` per {@link GEO_WARN_THROTTLE_MS} per process, shared by
112
+ * both writers: a bot storm against a broken database must not flood the log
113
+ * with one line per dropped hit (spec "Failure handling").
114
+ */
115
+ function warnThrottled(message, err) {
116
+ const now = Date.now();
117
+ if (now - lastWarnAt < GEO_WARN_THROTTLE_MS)
118
+ return;
119
+ lastWarnAt = now;
120
+ console.warn(message, err);
121
+ }
122
+ let capMemo = new Map();
123
+ /** Test hook. */
124
+ export function resetGeoCapMemo() {
125
+ capMemo = new Map();
126
+ }
127
+ const MEMO_KEY_SEP = '|';
128
+ /** Day first so {@link evictOtherDays} can read it off the key. */
129
+ function memoKey(date, kind, actor) {
130
+ return [date.toISOString(), kind, actor].join(MEMO_KEY_SEP);
131
+ }
132
+ /**
133
+ * Drops memo entries for any day other than `date`. Called when a new entry is
134
+ * inserted, so the map never grows past (actors seen today); the map is small,
135
+ * so a linear sweep is fine.
136
+ */
137
+ function evictOtherDays(date) {
138
+ const today = date.toISOString();
139
+ for (const key of capMemo.keys()) {
140
+ if (key.slice(0, key.indexOf(MEMO_KEY_SEP)) !== today)
141
+ capMemo.delete(key);
142
+ }
143
+ }
144
+ async function distinctPathCount(spec) {
145
+ const key = memoKey(spec.date, spec.kind, spec.actor);
146
+ const memo = capMemo.get(key);
147
+ if (memo && spec.nowMs - memo.at < GEO_CAP_MEMO_MS)
148
+ return memo.count;
149
+ const count = await spec.delegate.count({
150
+ where: { date: spec.date, [spec.actorField]: spec.actor },
151
+ });
152
+ evictOtherDays(spec.date);
153
+ capMemo.set(key, { count, at: spec.nowMs });
154
+ return count;
155
+ }
156
+ function bumpMemo(spec) {
157
+ const memo = capMemo.get(memoKey(spec.date, spec.kind, spec.actor));
158
+ if (memo)
159
+ memo.count += 1;
160
+ }
161
+ /**
162
+ * Upsert one `(date, actor, path)` bucket under the per-`(date, actor)`
163
+ * distinct-path cap. Shared by both writers so the cap, memo and overflow
164
+ * semantics cannot drift between crawls and referrals. Throws on storage
165
+ * failure — the callers translate that into `'skipped'`.
166
+ */
167
+ async function recordDailyBucket(spec) {
168
+ const { delegate, date, actorField, actor, path, counterField, extra = {} } = spec;
169
+ const actorWhere = { date, [actorField]: actor };
170
+ const touch = { [counterField]: { increment: 1 }, ...extra };
171
+ // Hot path: an existing bucket is a single UPDATE … WHERE (date, actor, path).
172
+ const { count: updated } = await delegate.updateMany({
173
+ where: { ...actorWhere, path },
174
+ data: touch,
175
+ });
176
+ if (updated > 0)
177
+ return 'recorded';
178
+ // New path for this (date, actor): consult the memoised distinct-path count.
179
+ const distinct = await distinctPathCount(spec);
180
+ const capped = distinct >= spec.cap;
181
+ const target = capped ? GEO_OTHER_PATH : path;
182
+ // upsert (not create) so a concurrent insert of the same key increments
183
+ // instead of failing on the unique constraint.
184
+ await delegate.upsert({
185
+ where: { [`date_${actorField}_path`]: { ...actorWhere, path: target } },
186
+ update: touch,
187
+ create: { ...actorWhere, path: target, [counterField]: 1, ...extra },
188
+ });
189
+ if (capped)
190
+ return 'other';
191
+ bumpMemo(spec);
192
+ return 'recorded';
193
+ }
194
+ // ─── Writers ─────────────────────────────────────────────────────────────────
195
+ export async function recordGeoCrawl(db, input) {
196
+ if (!db || !hasModel(db, 'geoCrawlDaily'))
197
+ return 'skipped';
198
+ const path = normalizeGeoPath(input.path);
199
+ if (!path)
200
+ return 'skipped';
201
+ const now = input.now ?? new Date();
202
+ try {
203
+ if (!(await isGeoMeasurementEnabled(db)))
204
+ return 'skipped';
205
+ return await recordDailyBucket({
206
+ kind: 'crawl',
207
+ delegate: db.geoCrawlDaily,
208
+ date: geoDay(now),
209
+ actorField: 'bot',
210
+ actor: input.bot,
211
+ path,
212
+ counterField: 'hits',
213
+ cap: GEO_CRAWL_PATH_CAP,
214
+ extra: { category: input.category },
215
+ nowMs: now.getTime(),
216
+ });
217
+ }
218
+ catch (err) {
219
+ // best-effort — this runs behind public surfaces and must never throw
220
+ warnThrottled('[prenta/seo] recordGeoCrawl failed:', err);
221
+ return 'skipped';
222
+ }
223
+ }
224
+ export async function recordGeoReferral(db, input) {
225
+ if (!db || !hasModel(db, 'geoReferralDaily'))
226
+ return 'skipped';
227
+ const path = normalizeGeoPath(input.path);
228
+ if (!path)
229
+ return 'skipped';
230
+ const now = input.now ?? new Date();
231
+ try {
232
+ if (!(await isGeoMeasurementEnabled(db)))
233
+ return 'skipped';
234
+ return await recordDailyBucket({
235
+ kind: 'referral',
236
+ delegate: db.geoReferralDaily,
237
+ date: geoDay(now),
238
+ actorField: 'engine',
239
+ actor: input.engine,
240
+ path,
241
+ counterField: 'visits',
242
+ cap: GEO_REFERRAL_PATH_CAP,
243
+ nowMs: now.getTime(),
244
+ });
245
+ }
246
+ catch (err) {
247
+ // best-effort — this runs behind public surfaces and must never throw
248
+ warnThrottled('[prenta/seo] recordGeoReferral failed:', err);
249
+ return 'skipped';
250
+ }
251
+ }
252
+ //# sourceMappingURL=geo-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo-record.js","sourceRoot":"","sources":["../../src/seo/geo-record.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import type { PrentaCMSConfig } from '../config/types.js';
2
+ import { type AiBotCategory } from './ai-bots.js';
3
+ import type { SeoModuleSettings } from './config-store.js';
4
+ export declare const GEO_REPORT_WINDOWS: readonly [7, 28, 90];
5
+ export type GeoReportDays = (typeof GEO_REPORT_WINDOWS)[number];
6
+ export declare const GEO_TOP_PATHS = 20;
7
+ /** `days` query param → one of the three windows (default 28). */
8
+ export declare function clampGeoDays(raw: string | number | null | undefined): GeoReportDays;
9
+ /**
10
+ * `blocked_still_crawling` = robots.txt disallows this bot's category, yet it
11
+ * was observed in the window — the signal the UI surfaces most prominently.
12
+ */
13
+ export type GeoBotPolicy = 'allowed' | 'blocked' | 'blocked_still_crawling';
14
+ /**
15
+ * Why `enabled` is `false`: the kill switch in SEO settings is off
16
+ * (`settings`), or the GEO tables are not in the connected schema yet
17
+ * (`unavailable` — migration `0018_geo_daily` has not been deployed).
18
+ */
19
+ export type GeoDisabledReason = 'settings' | 'unavailable';
20
+ export interface SeoGeoReport {
21
+ enabled: boolean;
22
+ /** Present only when `enabled` is `false`. */
23
+ disabledReason?: GeoDisabledReason;
24
+ window: {
25
+ from: string;
26
+ to: string;
27
+ days: number;
28
+ };
29
+ /** ISO date of the earliest row across both tables, or null. */
30
+ firstSeenAt: string | null;
31
+ crawl: {
32
+ /**
33
+ * Whole-window crawl volume: every row in the window, including the
34
+ * `GEO_OTHER_PATH` bucket and (for `prevHits`) bots that crawled only in
35
+ * the prior window and therefore have no entry in `bots`.
36
+ */
37
+ total: {
38
+ hits: number;
39
+ prevHits: number | null;
40
+ };
41
+ series: Array<{
42
+ date: string;
43
+ hits: Record<string, number>;
44
+ }>;
45
+ bots: Array<{
46
+ bot: string;
47
+ category: AiBotCategory;
48
+ hits: number;
49
+ prevHits: number | null;
50
+ lastSeenAt: string | null;
51
+ policy: GeoBotPolicy;
52
+ }>;
53
+ topPaths: Array<{
54
+ path: string;
55
+ hits: number;
56
+ bots: string[];
57
+ entityId?: string;
58
+ entityTitle?: string;
59
+ /** Collection slug of the matched document — the admin routes the editor link by it. */
60
+ collection?: string;
61
+ }>;
62
+ /** Hits that rolled into `GEO_OTHER_PATH` under the per-(day, bot) path cap. */
63
+ otherHits: number;
64
+ };
65
+ referrals: {
66
+ /** Whole-window referral volume, including the `GEO_OTHER_PATH` bucket. */
67
+ total: {
68
+ visits: number;
69
+ prevVisits: number | null;
70
+ };
71
+ engines: Array<{
72
+ engine: string;
73
+ visits: number;
74
+ prevVisits: number | null;
75
+ }>;
76
+ /** ≤ `GEO_TOP_PATHS`, excludes `GEO_OTHER_PATH`. */
77
+ topPaths: Array<{
78
+ path: string;
79
+ visits: number;
80
+ engines: string[];
81
+ entityId?: string;
82
+ entityTitle?: string;
83
+ collection?: string;
84
+ }>;
85
+ /** Visits that rolled into `GEO_OTHER_PATH` under the per-(day, engine) path cap. */
86
+ otherVisits: number;
87
+ };
88
+ }
89
+ export interface BuildSeoGeoReportOptions {
90
+ days: GeoReportDays;
91
+ settings: SeoModuleSettings;
92
+ config: PrentaCMSConfig | null | undefined;
93
+ now?: Date;
94
+ }
95
+ export declare function buildSeoGeoReport(db: unknown, opts: BuildSeoGeoReportOptions): Promise<SeoGeoReport>;
96
+ //# sourceMappingURL=geo-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo-report.d.ts","sourceRoot":"","sources":["../../src/seo/geo-report.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAkB,KAAK,aAAa,EAAoB,MAAM,cAAc,CAAA;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAI1D,eAAO,MAAM,kBAAkB,sBAAuB,CAAA;AACtD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;AAC/D,eAAO,MAAM,aAAa,KAAK,CAAA;AAI/B,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,CAGnF;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,wBAAwB,CAAA;AAE3E;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,aAAa,CAAA;AAE1D,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,iBAAiB,CAAA;IAClC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAClD,gEAAgE;IAChE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,EAAE;QACL;;;;WAIG;QACH,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAA;QAChD,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAC,CAAA;QAC7D,IAAI,EAAE,KAAK,CAAC;YACV,GAAG,EAAE,MAAM,CAAA;YACX,QAAQ,EAAE,aAAa,CAAA;YACvB,IAAI,EAAE,MAAM,CAAA;YACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;YACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;YACzB,MAAM,EAAE,YAAY,CAAA;SACrB,CAAC,CAAA;QACF,QAAQ,EAAE,KAAK,CAAC;YACd,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,EAAE,CAAA;YACd,QAAQ,CAAC,EAAE,MAAM,CAAA;YACjB,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB,wFAAwF;YACxF,UAAU,CAAC,EAAE,MAAM,CAAA;SACpB,CAAC,CAAA;QACF,gFAAgF;QAChF,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,SAAS,EAAE;QACT,2EAA2E;QAC3E,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAA;QACpD,OAAO,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC,CAAA;QAC7E,oDAAoD;QACpD,QAAQ,EAAE,KAAK,CAAC;YACd,IAAI,EAAE,MAAM,CAAA;YACZ,MAAM,EAAE,MAAM,CAAA;YACd,OAAO,EAAE,MAAM,EAAE,CAAA;YACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;YACjB,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB,UAAU,CAAC,EAAE,MAAM,CAAA;SACpB,CAAC,CAAA;QACF,qFAAqF;QACrF,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,MAAM,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAAA;IAC1C,GAAG,CAAC,EAAE,IAAI,CAAA;CACX;AAiLD,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,YAAY,CAAC,CA6MvB"}