@lynxflow/seo-engine 1.8.30 → 2.0.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 (96) hide show
  1. package/README.md +47 -93
  2. package/dist/ai-copilot-client.d.ts +2 -0
  3. package/dist/built-in-locations.d.ts +18 -0
  4. package/dist/content-ai-arsenal.d.ts +28 -0
  5. package/dist/existing-media-harvester.d.ts +33 -0
  6. package/dist/extended-schemas.d.ts +84 -0
  7. package/dist/features-knowledge-harvester.d.ts +56 -0
  8. package/dist/geo-citation-scorer.d.ts +34 -0
  9. package/dist/i18n-detector.d.ts +1 -1
  10. package/dist/index.d.ts +32 -7
  11. package/dist/index.js +538 -82
  12. package/dist/index.mjs +2028 -163
  13. package/dist/internal-pagerank-graph.d.ts +59 -0
  14. package/dist/knowledge-bank-builder.d.ts +91 -0
  15. package/dist/marketing-skills-engine.d.ts +74 -0
  16. package/dist/matrix-engine.d.ts +26 -0
  17. package/dist/power-words-psychology.d.ts +27 -15
  18. package/dist/public-manifest-engine.d.ts +58 -0
  19. package/dist/rag-knowledge-engine.d.ts +50 -0
  20. package/dist/rate-limited-translator.d.ts +19 -0
  21. package/dist/token-quota-manager.d.ts +4 -0
  22. package/package.json +11 -3
  23. package/TUTORIEL_INTEGRATION_SITE.md +0 -283
  24. package/connectors/cloudflare-worker/worker.js +0 -106
  25. package/connectors/laravel/LynxSeoController.php +0 -37
  26. package/connectors/wordpress/lynxseo-admin-app.js +0 -2611
  27. package/connectors/wordpress/lynxseo-connector.php +0 -1712
  28. package/connectors/wordpress/lynxseo-connector.zip +0 -0
  29. package/lynxflow-seo-engine-1.2.0.tgz +0 -0
  30. package/src/ad-intelligence-cro.ts +0 -140
  31. package/src/ai-bots-log-analyzer.ts +0 -127
  32. package/src/ai-copilot-client.ts +0 -99
  33. package/src/analytics-client.ts +0 -315
  34. package/src/auth-key.ts +0 -262
  35. package/src/backlinks-client.ts +0 -85
  36. package/src/brand-dna-calendar.ts +0 -120
  37. package/src/brand-icons.ts +0 -138
  38. package/src/built-in-locations.ts +0 -170
  39. package/src/content-ai-arsenal.ts +0 -268
  40. package/src/copy-frameworks-master.ts +0 -89
  41. package/src/cro-copywriting-engine.ts +0 -105
  42. package/src/crosslink-scorer.ts +0 -101
  43. package/src/embeddable-seo-widget.ts +0 -57
  44. package/src/engine.test.ts +0 -386
  45. package/src/engine.ts +0 -813
  46. package/src/existing-media-harvester.ts +0 -98
  47. package/src/extended-schemas.ts +0 -589
  48. package/src/features-knowledge-harvester.ts +0 -190
  49. package/src/free-public-tools.ts +0 -224
  50. package/src/geo-mesh-linking.ts +0 -93
  51. package/src/google-business-profile.ts +0 -280
  52. package/src/i18n-detector.ts +0 -98
  53. package/src/i18n-dictionary.ts +0 -422
  54. package/src/index.ts +0 -164
  55. package/src/indexnow-client.ts +0 -94
  56. package/src/instant-matrix-search.ts +0 -48
  57. package/src/isr-cache-manager.ts +0 -78
  58. package/src/keyword-permutator.ts +0 -118
  59. package/src/knowledge-bank-builder.ts +0 -299
  60. package/src/knowledge-graph-linker.ts +0 -81
  61. package/src/lago-token-meter.ts +0 -120
  62. package/src/legal-disclaimers.ts +0 -407
  63. package/src/llm-content-cleaner.ts +0 -64
  64. package/src/llm-prompt.ts +0 -323
  65. package/src/master-marketing-engine.ts +0 -314
  66. package/src/matrix-engine.ts +0 -1204
  67. package/src/mcp-seo-server.ts +0 -108
  68. package/src/ngram-density-analyzer.ts +0 -108
  69. package/src/og-image-generator.ts +0 -109
  70. package/src/power-words-psychology.ts +0 -369
  71. package/src/public-manifest-engine.ts +0 -109
  72. package/src/rag-knowledge-engine.ts +0 -163
  73. package/src/rank-math-parity.ts +0 -235
  74. package/src/rate-limited-translator.ts +0 -110
  75. package/src/real-reviews-sync.ts +0 -207
  76. package/src/rss-syndication-feed.ts +0 -56
  77. package/src/schema-builder.ts +0 -134
  78. package/src/seo-opportunities-decay.ts +0 -154
  79. package/src/serp-client.ts +0 -89
  80. package/src/serp-history-alerts.ts +0 -75
  81. package/src/site-auditor.ts +0 -83
  82. package/src/site-crawler.ts +0 -406
  83. package/src/slug-engine.ts +0 -183
  84. package/src/social-ads-seo.ts +0 -211
  85. package/src/social-growth-suite.ts +0 -310
  86. package/src/social-trend-seo.ts +0 -103
  87. package/src/social-video-seo.ts +0 -100
  88. package/src/team-rbac.ts +0 -61
  89. package/src/technical-rules-auditor.ts +0 -171
  90. package/src/token-quota-manager.ts +0 -91
  91. package/src/types.ts +0 -143
  92. package/src/ui-icons.ts +0 -134
  93. package/src/urlytics-engine.ts +0 -97
  94. package/src/video-youtube-analyzer.ts +0 -81
  95. package/src/yoast-parity.ts +0 -161
  96. package/tsconfig.json +0 -15
package/README.md CHANGED
@@ -4,19 +4,21 @@ High-Performance Programmatic SEO & Structured Data Engine for Modern Web Applic
4
4
 
5
5
  [![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)](https://www.typescriptlang.org/)
6
6
  [![License](https://img.shields.io/badge/License-Proprietary-green.svg)](LICENSE)
7
- [![Version](https://img.shields.io/badge/Version-1.5.0-orange.svg)](package.json)
7
+ [![Version](https://img.shields.io/badge/Version-2.0.0-orange.svg)](package.json)
8
8
 
9
9
  ---
10
10
 
11
11
  ## Overview
12
12
 
13
- `@lynxflow/seo-engine` is an enterprise developer SDK providing in-memory programmatic SEO matrix generation, Google-compliant Schema.org structured data, and sub-millisecond URL resolution.
13
+ `@lynxflow/seo-engine` is an enterprise developer SDK providing in-memory programmatic SEO matrix generation, Google-compliant Schema.org structured data, infinite geographic location synthesis, and real-time GeoIP Edge detection worldwide.
14
14
 
15
15
  * **10 Canonical Root Pillars & 50+ Specialized Sub-Matrices:** Scales across industries, regulatory frameworks, role KPIs, multi-format templates, integration ecosystems, and ROI tools.
16
- * **Sub-Millisecond In-Memory Execution (< 0.05ms):** Resolves millions of programmatic routes with zero database query overhead.
17
- * **Multilingual Slug Normalization:** Automated URL cleansing with stop-word removal across 10+ languages (EN, DE, ES, FR, IT, PT, NL, RU, SV, PL).
18
- * **50+ Schema.org Rich Structured Data Types:** Google-compliant JSON-LD generation for `SoftwareApplication`, `LocalBusiness` subtypes, `HowTo`, `FAQPage`, `BreadcrumbList`, and `Organization`.
19
- * **Multi-Framework Support:** Seamless operation on Next.js 15/16 (App & Pages Router), Astro 5, Cloudflare Workers/Pages, Bun, Remix, and Node.js.
16
+ * **In-Memory Dynamic Execution:** Resolves millions of programmatic routes in RAM with zero database query overhead and zero MySQL/Postgres saturation.
17
+ * **Infinite Geographic Resolution (`createDynamicLocation`):** Dynamically synthesizes any municipality, county, state, or postal code worldwide (e.g. `austin`, `scottsdale`, `75015`, `90210`, `ec1a-1bb`, `shinjuku`) on the fly without 404 errors.
18
+ * **Edge GeoIP Location Detection (`resolveLocationFromHeaders`):** Reads Cloudflare (`cf-ipcity`, `cf-postal-code`), Vercel, AWS CloudFront, and Nginx edge headers to adapt pages to the visitor's real-time location.
19
+ * **Universal Multi-Locale Support:** Works with any ISO-639-1 / BCP-47 locale code (`en`, `de`, `es`, `fr`, `ja`, `pt-BR`, `ar`, `zh-CN`, etc.).
20
+ * **50+ Schema.org Rich Structured Data Types:** Google-compliant JSON-LD generation for `LocalBusiness`, `Product`, `SoftwareApplication`, `HowTo`, `FAQPage`, `BreadcrumbList`, and `Organization`.
21
+ * **Multi-Framework Support:** Seamless operation on Next.js 15/16 (App & Pages Router), TanStack Start, Astro 5, Cloudflare Workers/Pages, Bun, Remix, and Node.js.
20
22
 
21
23
  ---
22
24
 
@@ -55,122 +57,72 @@ The SDK structures programmatic content across **10 canonical root pillars** exp
55
57
 
56
58
  ---
57
59
 
58
- ## Quickstart
60
+ ## Quickstart & Contrasting Examples
59
61
 
60
- ### 1. Initialize Engine & Configure Minimal Inputs
62
+ > **Important Note:** All examples below are **non-limiting illustrations**. You can pass any arbitrary language code and any arbitrary city or postal code worldwide.
61
63
 
62
- The SDK runs **in-memory inside the client application** (< 0.05ms) and automatically provisions verified cities, populations, GPS coordinates, and currencies from its built-in global demographic database.
64
+ ### 1. Initialize Engine & Dataset
63
65
 
64
66
  ```typescript
65
67
  import { PseoMatrixEngine } from "@lynxflow/seo-engine";
66
68
 
67
69
  export const matrixEngine = new PseoMatrixEngine();
68
70
 
71
+ // Non-limiting example configuration (Supports ANY country or locale)
69
72
  export const SEO_CONFIG = {
70
- brandName: "Acme Cloud",
71
- languages: ["fr", "en", "es"], // Supported site languages
72
- countries: ["france", "espagne", "belgique"], // Or "europe" / "international" — SDK auto-provisions verified cities!
73
- cleanDirectRoutes: true, // Eliminates parasite words (/solutions/, etc.) for direct /{service}/{city}
73
+ brandName: "Apex Global",
74
+ languages: ["en", "de", "es", "fr", "ja", "pt-BR"], // Any ISO-639-1 / BCP-47 locale
75
+ countries: ["united-states", "united-kingdom", "germany", "japan"], // Or "international" / any country
76
+ cleanDirectRoutes: true,
74
77
  };
75
78
 
76
79
  export const PSEO_DATASET = {
77
80
  services: [
78
81
  {
79
- slug: "autopost-facebook",
80
- name: "Autopost Facebook & Instagram",
81
- category: "Social Media",
82
- keyFeatures: ["AI Scheduling", "Visual Calendar", "Auto-Hashtags"],
83
- description: "Automated social media posting engine"
82
+ slug: "commercial-hvac",
83
+ name: "Commercial HVAC Maintenance",
84
+ category: "Facility Management",
85
+ keyFeatures: ["24/7 Emergency Dispatch", "Certified Technicians", "Predictive Monitoring"],
86
+ description: "Enterprise climate control and ventilation services"
84
87
  },
85
88
  {
86
- slug: "crm-pipeline",
87
- name: "Visual CRM Pipeline",
88
- category: "Sales",
89
- keyFeatures: ["Kanban", "Lead scoring"],
90
- description: "Visual deal tracking software"
89
+ slug: "cloud-backup",
90
+ name: "Automated Cloud Backup",
91
+ category: "Data Security",
92
+ keyFeatures: ["End-to-End Encryption", "Instant Recovery", "SOC2 Compliant"],
93
+ description: "Continuous enterprise backup and disaster recovery"
91
94
  },
92
95
  ],
93
96
  targets: [
94
- { slug: "agences", name: "Marketing Agencies", type: "industry", painPoints: ["Manual Posting"], benefits: ["10x Output"] }
97
+ { slug: "enterprises", name: "Enterprise Organizations", type: "b2b", painPoints: ["Downtime Risk"], benefits: ["99.99% SLA"] },
98
+ { slug: "healthcare", name: "Healthcare Providers", type: "industry", painPoints: ["HIPAA Compliance"], benefits: ["Audit-Ready Storage"] }
95
99
  ],
96
- integrations: [
97
- { slug: "shopify", name: "Shopify", category: "E-Commerce", syncFeatures: ["Catalog sync"] }
98
- ],
99
- templates: [
100
- { slug: "social-calendar-excel", title: "Social Media Calendar", topic: "Social Media", format: "excel", benefits: ["Free download"] }
101
- ],
102
- glossaryTerms: [
103
- { slug: "engagement-rate", term: "Engagement Rate", shortDefinition: "Percentage of audience interacting with content" }
104
- ]
105
100
  };
106
101
  ```
107
102
 
108
- ### 2. Next.js Universal Dynamic Catch-All (`app/[...slug]/page.tsx`)
109
-
110
- ```tsx
111
- import { notFound } from "next/navigation";
112
- import { matrixEngine, SEO_CONFIG, PSEO_DATASET } from "@/lib/seo";
113
-
114
- export async function generateMetadata({ params }: { params: { slug: string[] } }) {
115
- const domain = process.env.NEXT_PUBLIC_SITE_URL || "https://example.com";
116
- const page = matrixEngine.resolvePage(params.slug, domain, PSEO_DATASET, SEO_CONFIG);
117
- if (!page) return {};
118
- return { title: page.title, description: page.description, alternates: { canonical: page.canonicalUrl }, robots: page.robots };
119
- }
120
-
121
- export default async function ProgrammaticPage({ params }: { params: { slug: string[] } }) {
122
- const domain = process.env.NEXT_PUBLIC_SITE_URL || "https://example.com";
123
- // ⚡ Resolved mathematically in local RAM in < 0.05ms
124
- const page = matrixEngine.resolvePage(params.slug, domain, PSEO_DATASET, SEO_CONFIG);
125
- if (!page) notFound();
126
-
127
- return (
128
- <article className="min-h-screen bg-background text-foreground py-12 px-6 max-w-5xl mx-auto space-y-8">
129
- <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(page.schemaGraph) }} />
130
- <h1 className="text-4xl font-extrabold">{page.h1}</h1>
131
- <p className="text-lg text-muted-foreground">{page.description}</p>
132
- {page.neighboringLinks && (
133
- <nav className="flex flex-wrap gap-2 pt-6">
134
- {page.neighboringLinks.map((l) => (
135
- <a key={l.url} href={l.url} className="px-3 py-1 bg-secondary rounded text-xs">{l.name}</a>
136
- ))}
137
- </nav>
138
- )}
139
- </article>
140
- );
141
- }
142
- ```
143
-
144
- ### 3. XML Sitemap & `/llms.txt` Feeds (1 Line of Code)
103
+ ### 2. Standard vs. Arbitrary Custom Resolution (Side-by-Side)
145
104
 
146
105
  ```typescript
147
- // app/sitemap.ts
148
- export default function sitemap() {
149
- const domain = process.env.NEXT_PUBLIC_SITE_URL || "https://example.com";
150
- return matrixEngine.generateAllMatrices(domain, PSEO_DATASET, SEO_CONFIG)
151
- .filter(p => p.robots.includes("index"))
152
- .map(p => ({ url: p.canonicalUrl, lastModified: new Date() }));
153
- }
154
- ```
106
+ // Case 1: Standard Pre-Indexed City in English
107
+ const pageStandard = matrixEngine.resolvePage(["commercial-hvac", "london"], "https://example.com", PSEO_DATASET, SEO_CONFIG);
155
108
 
156
- const slug = cleanSeoSlug("The best software for managing client invoices in 2026", { language: "en" });
157
- console.log(slug); // "best-software-managing-client-invoices"
158
-
159
- const { isValid, errors } = validateSeoSlug(slug);
160
- console.log(isValid); // true
109
+ // Case 2: Contrasting Case Arbitrary Postal Code / Custom District in Japanese
110
+ const pageCustom = matrixEngine.resolvePage(["commercial-hvac", "90210"], "https://example.com", PSEO_DATASET, SEO_CONFIG);
111
+ const pageJapanese = matrixEngine.resolvePage(["ja", "commercial-hvac", "shinjuku"], "https://example.com", PSEO_DATASET, SEO_CONFIG);
161
112
  ```
162
113
 
163
- ---
164
-
165
- ## AI Agents & LLM Prompt Integration
166
-
167
- Extract the full internal operational prompt to instruct autonomous AI coding agents (Claude, Cursor, Copilot, ChatGPT, Antigravity) without revealing proprietary logic:
114
+ ### 3. Edge GeoIP Resolution Example
168
115
 
169
116
  ```typescript
170
- import { getSeoAgentPrompt } from "@lynxflow/seo-engine";
171
-
172
- const prompt = getSeoAgentPrompt({ brandName: "Acme", domain: "https://example.com" });
173
- // Pass this prompt to your AI coding agent or copilot
117
+ import { resolveLocationFromHeaders, PseoMatrixEngine } from "@lynxflow/seo-engine";
118
+
119
+ export function handleIncomingRequest(request: Request) {
120
+ const geo = resolveLocationFromHeaders(request.headers);
121
+ // Extracted dynamically from Cloudflare / Vercel / CloudFront headers
122
+ const userCity = geo.city || "new-york";
123
+
124
+ return matrixEngine.resolvePage(["commercial-hvac", userCity], "https://example.com", PSEO_DATASET, SEO_CONFIG);
125
+ }
174
126
  ```
175
127
 
176
128
  ---
@@ -178,11 +130,13 @@ const prompt = getSeoAgentPrompt({ brandName: "Acme", domain: "https://example.c
178
130
  ## TypeScript API Reference
179
131
 
180
132
  * **`PseoMatrixEngine`**: Core programmatic matrix compiler across all 10 root pillars and 50+ sub-matrices.
133
+ * **`createDynamicLocation(slugOrInput, fallbackCountry)`**: Dynamic synthesis of any city, postal code or district worldwide at runtime.
134
+ * **`resolveLocationFromHeaders(headers)`**: Edge header GeoIP extractor for Cloudflare, Vercel, CloudFront, and Nginx.
181
135
  * **`cleanSeoSlug(text, options)`**: Multilingual slug normalizer with stop-word removal for 10+ languages.
182
136
  * **`validateSeoSlug(slug)`**: Strict slug validator.
183
137
  * **`ExtendedSchemaGraphBuilder`**: 50+ Google Rich Result Schema.org JSON-LD generator.
184
138
  * **`LegalDisclaimerEngine`**: Verified compliance notice manager with staleness guards (>90 days).
185
- * **`getSeoAgentPrompt(context)`**: Built-in LLM operational prompt.
139
+ * **`getSeoAgentPrompt(context)`**: Built-in LLM operational prompt for AI coding agents.
186
140
 
187
141
  ---
188
142
 
@@ -11,6 +11,8 @@ export interface GenerateArticleParams {
11
11
  tone?: "professional" | "persuasive" | "educational";
12
12
  wordCount?: number;
13
13
  locale?: string;
14
+ enableRag?: boolean;
15
+ siteId?: string;
14
16
  }
15
17
  export interface GeneratedArticleResult {
16
18
  title: string;
@@ -10,3 +10,21 @@ export declare const BUILT_IN_LOCATIONS_DATABASE: Record<string, PseoLocation[]>
10
10
  * Supports: "fr", "france", "es", "spain", "de", "germany", "uk", "us", "be", "ch", "it", "ca", "europe", "international", "all"
11
11
  */
12
12
  export declare function resolveBuiltInLocations(territories?: string[] | string): PseoLocation[];
13
+ /**
14
+ * 🚀 Dynamic On-The-Fly Location Synthesizer (Infinite Geo Expansion)
15
+ * Allows resolving ANY unlisted city, commune, district, or postal code dynamically on demand
16
+ * without returning 404 or requiring hardcoded databases.
17
+ */
18
+ export declare function createDynamicLocation(slugOrInput: string, fallbackCountry?: string): PseoLocation;
19
+ /**
20
+ * 📍 GeoIP Edge Headers Resolver (Dynamic User Geolocation)
21
+ * Extracts the user's real-time city and country from Cloudflare / Vercel / Nginx Edge headers.
22
+ */
23
+ export declare function resolveLocationFromHeaders(headers: Record<string, string | null | undefined> | Headers | {
24
+ get(name: string): string | null;
25
+ }): {
26
+ city?: string;
27
+ country?: string;
28
+ region?: string;
29
+ postalCode?: string;
30
+ };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * 🪄 LynxSEO Content AI Master Arsenal (40+ Tools & Copywriting Formulas)
3
+ *
4
+ * Provides complete parity and superiority over Rank Math Content AI, Yoast AI, and AIOSEO:
5
+ * - 40+ Dedicated AI Generation Tools
6
+ * - 6 Master Copywriting Formulas (AIDA, PAS, BAB, HERO, SPIN, IDCA)
7
+ * - 1-Click Long-Form Blog Post Wizard
8
+ * - AI Link Genius & Internal Link Opportunities
9
+ * - 1-Click Fix Failed SEO Tests with AI
10
+ * - AI Brand Visibility & AI Search Tracker
11
+ * - 125+ Curated SEO Prompt Templates
12
+ */
13
+ export interface ContentAiToolDefinition {
14
+ id: string;
15
+ category: "blogging" | "seo_meta" | "copywriting" | "ecommerce" | "social" | "workflow";
16
+ name: string;
17
+ icon: string;
18
+ description: string;
19
+ inputs: {
20
+ name: string;
21
+ label: string;
22
+ placeholder: string;
23
+ type?: "text" | "textarea" | "select";
24
+ options?: string[];
25
+ }[];
26
+ systemPrompt: string;
27
+ }
28
+ export declare const CONTENT_AI_40_TOOLS: ContentAiToolDefinition[];
@@ -0,0 +1,33 @@
1
+ /**
2
+ * 📸 Existing Media Harvester & Asset Pool Engine
3
+ *
4
+ * Reuses real, pre-existing photos from the client's website & WordPress Media Library:
5
+ * 1. 0 € GPU Cost & 0s Compute (Zero VRAM Saturation Guarantee)
6
+ * 2. Maximum Google E-E-A-T Authenticity (Real brand photos > Generic AI images)
7
+ * 3. Rotates existing photos across the 6 page variations
8
+ * 4. Dynamically injects localized <img alt="..."> tags across 40+ languages in RAM (< 0.01ms)
9
+ */
10
+ export interface HarvestedMediaAsset {
11
+ id?: string | number;
12
+ url: string;
13
+ originalAlt?: string;
14
+ matchedKeywords?: string[];
15
+ width?: number;
16
+ height?: number;
17
+ }
18
+ export declare class ExistingMediaHarvester {
19
+ /**
20
+ * Extracts all existing image URLs from HTML pages or WordPress Media API
21
+ */
22
+ static harvestFromHtml(htmlContent: string, baseUrl?: string): HarvestedMediaAsset[];
23
+ /**
24
+ * Matches the best existing photo from the pool for a given service & variation
25
+ */
26
+ static selectBestImageForVariant(params: {
27
+ serviceName: string;
28
+ variantIndex: number;
29
+ mediaPool: HarvestedMediaAsset[];
30
+ fallbackPlaceholderUrl?: string;
31
+ }): string;
32
+ private static extractKeywordsFromUrl;
33
+ }
@@ -141,4 +141,88 @@ export declare class ExtendedSchemaGraphBuilder {
141
141
  url: string;
142
142
  searchUrlTemplate?: string;
143
143
  }): Record<string, unknown>;
144
+ /**
145
+ * 11. Speakable Schema (Google Assistant & Voice Search) - Rank Math Pro Parity
146
+ */
147
+ static buildSpeakable(opts: {
148
+ cssSelectors?: string[];
149
+ xpaths?: string[];
150
+ }): Record<string, unknown>;
151
+ /**
152
+ * 12. Podcast & PodcastEpisode Schema
153
+ */
154
+ static buildPodcastEpisode(opts: {
155
+ title: string;
156
+ description: string;
157
+ audioUrl: string;
158
+ duration?: string;
159
+ publishedDate: string;
160
+ seriesName: string;
161
+ }): Record<string, unknown>;
162
+ /**
163
+ * 13. Restaurant Schema (with Menu & Cuisine)
164
+ */
165
+ static buildRestaurant(opts: {
166
+ name: string;
167
+ url: string;
168
+ servesCuisine: string[];
169
+ menuUrl?: string;
170
+ priceRange?: string;
171
+ telephone?: string;
172
+ address: {
173
+ street: string;
174
+ city: string;
175
+ postalCode: string;
176
+ country: string;
177
+ };
178
+ }): Record<string, unknown>;
179
+ /**
180
+ * 14. Book Schema
181
+ */
182
+ static buildBook(opts: {
183
+ name: string;
184
+ author: string;
185
+ isbn?: string;
186
+ bookFormat?: string;
187
+ url?: string;
188
+ }): Record<string, unknown>;
189
+ /**
190
+ * 15. Dataset Schema (Data Search & Research)
191
+ */
192
+ static buildDataset(opts: {
193
+ name: string;
194
+ description: string;
195
+ url: string;
196
+ keywords: string[];
197
+ temporalCoverage?: string;
198
+ distributionUrl?: string;
199
+ }): Record<string, unknown>;
200
+ /**
201
+ * 16. FactCheck Schema (Google ClaimReview)
202
+ */
203
+ static buildFactCheck(opts: {
204
+ claimReviewed: string;
205
+ ratingValue: string;
206
+ authorName: string;
207
+ url: string;
208
+ }): Record<string, unknown>;
209
+ /**
210
+ * 17. Carousel / ItemList Schema
211
+ */
212
+ static buildCarousel(items: Array<{
213
+ name: string;
214
+ url: string;
215
+ position: number;
216
+ image?: string;
217
+ }>): Record<string, unknown>;
218
+ /**
219
+ * 18. QAPage Schema (bbPress / Forums / Community QA)
220
+ */
221
+ static buildQAPage(opts: {
222
+ questionText: string;
223
+ authorName: string;
224
+ answerText: string;
225
+ answerAuthor: string;
226
+ upvoteCount?: number;
227
+ }): Record<string, unknown>;
144
228
  }
@@ -0,0 +1,56 @@
1
+ /**
2
+ * 📚 Features & Documentation Knowledge Harvester (Automated Content Extractor)
3
+ *
4
+ * Automatically crawls and ingests public documentation, feature pages, and WordPress sitemaps.
5
+ * Extracts structured knowledge chunks:
6
+ * - Module Name, Category & H1 Title
7
+ * - Executive Summaries & Key Paragraphs (up to 15 in-depth paragraphs)
8
+ * - Workflows & Step-by-Step Guides
9
+ * - Key Capabilities & Benefit Bullet Points
10
+ * - Structured FAQs & Objection Handling
11
+ *
12
+ * Provides instant in-memory retrieval for programmatic page generation with zero manual writing.
13
+ */
14
+ export interface ExtractedFeatureKnowledge {
15
+ slug: string;
16
+ url: string;
17
+ title: string;
18
+ headline?: string;
19
+ category: string;
20
+ executiveSummary: string;
21
+ paragraphs: string[];
22
+ keyBenefits: string[];
23
+ workflowSteps: {
24
+ step: number;
25
+ title: string;
26
+ description: string;
27
+ }[];
28
+ faqs: {
29
+ question: string;
30
+ answer: string;
31
+ }[];
32
+ rawTextLength: number;
33
+ }
34
+ export declare class FeaturesKnowledgeHarvester {
35
+ private static knowledgeStore;
36
+ /**
37
+ * Extract knowledge from raw HTML or Markdown content of a public page
38
+ */
39
+ static extractFromHtml(url: string, html: string, slug?: string): ExtractedFeatureKnowledge;
40
+ /**
41
+ * Batch ingest multiple pages from a sitemap or list of URLs
42
+ */
43
+ static ingestPagesFromSitemap(sitemapUrl: string): Promise<number>;
44
+ /**
45
+ * Retrieve extracted knowledge for any module by slug
46
+ */
47
+ static getKnowledge(slug: string): ExtractedFeatureKnowledge | undefined;
48
+ /**
49
+ * Get all registered module knowledge chunks
50
+ */
51
+ static getAllKnowledge(): ExtractedFeatureKnowledge[];
52
+ /**
53
+ * Generate an ultra-complete, 1000-word programmatic page using harvested knowledge
54
+ */
55
+ static buildEnrichedPage(slug: string, locationOrSector: string): string;
56
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * 🤖 Generative Engine Optimization (GEO) & AI Citation Scorer
3
+ *
4
+ * Analyzes web content and predicts citation probability by Large Language Models
5
+ * (ChatGPT Search, Perplexity Pro, Claude, Google Gemini / AI Overviews).
6
+ *
7
+ * Evaluates:
8
+ * 1. Direct-Answer Conciseness (Definition / Key Takeaway in first 200 chars)
9
+ * 2. Fact / Statistical Density (Numbers, %, $, specific dates)
10
+ * 3. Structured Data & Schema Presence (JSON-LD FAQPage, HowTo, Product)
11
+ * 4. Entity Salience & Semantic Precision
12
+ * 5. Citation Marker Friendliness (Bulleted lists, comparison tables, clear definitions)
13
+ */
14
+ export interface GeoScoreBreakdown {
15
+ overallScore: number;
16
+ grade: "S" | "A" | "B" | "C" | "F";
17
+ aiCitationProbability: "TRÈS FORTE" | "FORTE" | "MOYENNE" | "FAIBLE";
18
+ metrics: {
19
+ directAnswerScore: number;
20
+ factDensityScore: number;
21
+ structuredDataScore: number;
22
+ entityClarityScore: number;
23
+ formatReadabilityScore: number;
24
+ };
25
+ keyFindings: {
26
+ passed: string[];
27
+ warnings: string[];
28
+ criticalFixes: string[];
29
+ };
30
+ suggestedPromptInjection: string;
31
+ }
32
+ export declare class GeoCitationScorer {
33
+ static analyzeContent(title: string, content: string, schemaTypes?: string[], hasTables?: boolean): GeoScoreBreakdown;
34
+ }
@@ -4,7 +4,7 @@
4
4
  * Compatible with next-intl, next-i18next, i18next, Paraglide, and Astro i18n.
5
5
  */
6
6
  export declare const SUPPORTED_CANONICAL_LOCALES: readonly ["en", "fr", "es", "de", "it", "pt", "nl", "ru", "tr", "zh", "ja", "ko", "hi", "id", "ar", "pl", "sv", "no", "da", "fi", "cs", "el", "ro", "hu", "uk", "vi", "th", "ms", "bg", "hr", "sk", "sl", "et", "lv", "lt", "fa", "bn", "ta", "sw", "af", "tl"];
7
- export type SupportedLocale = (typeof SUPPORTED_CANONICAL_LOCALES)[number];
7
+ export type SupportedLocale = (typeof SUPPORTED_CANONICAL_LOCALES)[number] | (string & {});
8
8
  export declare class I18nDetector {
9
9
  /**
10
10
  * Resolves a clean 2-letter ISO language code from any locale string (e.g. "fr-FR" -> "fr").
package/dist/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * 🦁 @lynxflow/seo-engine
3
3
  *
4
- * Proprietary Zero-Load Edge SEO Engine & Automated Marketing Suite.
5
- * - On-Demand Page Generation (< 0.05ms)
4
+ * Proprietary Zero-SQL-Load Edge SEO Engine & Automated Marketing Suite.
5
+ * - On-Demand In-Memory Dynamic Page Generation
6
6
  * - Product Marketing & CRO Injection (PAS Framework, Friction Reducers)
7
- * - Google Gold Stars Schema (4.9/5 on 1,280 reviews)
7
+ * - Verified Real Reviews & Google Rich Snippets Schema (Google Places / Trustpilot API Sync)
8
8
  * - Direct-Answer GEO Blocks for AI Search (ChatGPT, Perplexity)
9
- * - License Key Verification & Rate Limiting
10
- * - 🦩 Lago Metered Token Billing (`ai_tokens`) & Hyperswitch Payment Switch
9
+ * - Universal Dynamic Location Synthesis & Real-Time GeoIP Edge Resolution
10
+ * - Universal Multi-Locale i18n Detection (Any ISO-639-1 / BCP-47 Code)
11
11
  */
12
12
  export * from "./engine";
13
13
  export * from "./slug-engine";
@@ -65,6 +65,8 @@ export * from "./real-reviews-sync";
65
65
  export * from "./google-business-profile";
66
66
  export * from "./video-youtube-analyzer";
67
67
  export * from "./power-words-psychology";
68
+ export * from "./existing-media-harvester";
69
+ export * from "./content-ai-arsenal";
68
70
  import { LynxSeoEngine, type EngineConfig } from "./engine";
69
71
  import { ApiKeyGuardian } from "./auth-key";
70
72
  import { TokenQuotaManager } from "./token-quota-manager";
@@ -98,9 +100,16 @@ import { SocialAdsSocialSeoEngine } from "./social-ads-seo";
98
100
  import { AdIntelligenceCroEngine } from "./ad-intelligence-cro";
99
101
  import { RankMathParityEngine } from "./rank-math-parity";
100
102
  import { YoastParityEngine } from "./yoast-parity";
101
- import { SocialGrowthSuite } from "./social-growth-suite";
102
103
  import { TeamRbacEngine } from "./team-rbac";
103
104
  import { RealReviewsSyncEngine } from "./real-reviews-sync";
105
+ import { FeaturesKnowledgeHarvester } from "./features-knowledge-harvester";
106
+ import { PublicRoutesManifestEngine } from "./public-manifest-engine";
107
+ import { KnowledgeBankBuilder } from "./knowledge-bank-builder";
108
+ import { LynxRagKnowledgeEngine } from "./rag-knowledge-engine";
109
+ import { LynxRateLimitedTranslator } from "./rate-limited-translator";
110
+ import { InternalPageRankEngine } from "./internal-pagerank-graph";
111
+ import { GeoCitationScorer } from "./geo-citation-scorer";
112
+ import { MarketingSkillsEngine } from "./marketing-skills-engine";
104
113
  export declare function createLynxSeoEngine(config: EngineConfig): LynxSeoEngine;
105
114
  export declare const LynxSeo: {
106
115
  createEngine: typeof createLynxSeoEngine;
@@ -138,8 +147,24 @@ export declare const LynxSeo: {
138
147
  adIntelligence: typeof AdIntelligenceCroEngine;
139
148
  rankMathScore: typeof RankMathParityEngine;
140
149
  yoastReadability: typeof YoastParityEngine;
141
- socialGrowth: typeof SocialGrowthSuite;
142
150
  rbac: typeof TeamRbacEngine;
143
151
  realReviews: typeof RealReviewsSyncEngine;
152
+ knowledgeHarvester: typeof FeaturesKnowledgeHarvester;
153
+ manifest: typeof PublicRoutesManifestEngine;
154
+ knowledgeBank: typeof KnowledgeBankBuilder;
155
+ rag: typeof LynxRagKnowledgeEngine;
156
+ translator: typeof LynxRateLimitedTranslator;
157
+ pageRankGraph: typeof InternalPageRankEngine;
158
+ geoCitation: typeof GeoCitationScorer;
159
+ marketingSkills: typeof MarketingSkillsEngine;
144
160
  };
161
+ export * from "./internal-pagerank-graph";
162
+ export * from "./geo-citation-scorer";
163
+ export * from "./marketing-skills-engine";
164
+ export * from "./built-in-locations";
165
+ export { FeaturesKnowledgeHarvester, type ExtractedFeatureKnowledge } from "./features-knowledge-harvester";
166
+ export { PublicRoutesManifestEngine, type PublicRouteItem, type FrameworkManifestConfig } from "./public-manifest-engine";
167
+ export { KnowledgeBankBuilder, type ModuleKnowledgeDocument, type HighEntropySlotVariations } from "./knowledge-bank-builder";
168
+ export { LynxRagKnowledgeEngine, type KnowledgeChunk, type RagRetrievalResult } from "./rag-knowledge-engine";
169
+ export { LynxRateLimitedTranslator, type TranslationClientConfig } from "./rate-limited-translator";
145
170
  export default LynxSeo;