@lynxflow/seo-engine 2.8.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/NOTICE +18 -0
- package/README.md +78 -10
- package/bin/lynx-audit +338 -0
- package/dist/ab-experiments-engine.d.ts +55 -0
- package/dist/ab-testing-bandit.d.ts +51 -0
- package/dist/ab-testing-engine.d.ts +70 -0
- package/dist/ab-testing-sequential.d.ts +59 -0
- package/dist/ab-testing-significance.d.ts +67 -0
- package/dist/account-centric-abm.d.ts +73 -0
- package/dist/ad-cost-roas.d.ts +120 -0
- package/dist/ad-intelligence-cro.d.ts +41 -9
- package/dist/ad-matrix-multiplier.d.ts +36 -0
- package/dist/ad-remix-engine.d.ts +79 -0
- package/dist/advanced-retention.d.ts +77 -0
- package/dist/advanced-segmentation.d.ts +117 -0
- package/dist/aeo-geo-engine.d.ts +366 -0
- package/dist/agent-skills-registry.d.ts +29 -0
- package/dist/agent-ux-scorer.d.ts +53 -0
- package/dist/agentic-ads-guardrails.d.ts +94 -0
- package/dist/agentic-browsing-auditor.d.ts +65 -0
- package/dist/ai-bots-log-analyzer.d.ts +6 -2
- package/dist/ai-citation-auditor.d.ts +40 -0
- package/dist/ai-citation-tracker.d.ts +53 -0
- package/dist/ai-copilot-client.d.ts +1 -0
- package/dist/ai-safety-auditor.d.ts +67 -0
- package/dist/ai-targeting-translator.d.ts +24 -0
- package/dist/ai-visibility-tracker.d.ts +70 -0
- package/dist/alerting-thresholds.d.ts +63 -0
- package/dist/analytics/active-dwell-time-calculator.d.ts +59 -0
- package/dist/analytics/ad-audience-sync-engine.d.ts +69 -0
- package/dist/analytics/adaptive-event-sampler.d.ts +44 -0
- package/dist/analytics/ai-agents-tracker.d.ts +63 -0
- package/dist/analytics/ai-generated-search-snippet-synthesizer.d.ts +45 -0
- package/dist/analytics/ai-overviews-citation-passage-relevance-auditor.d.ts +35 -0
- package/dist/analytics/ai-providers-tracker.d.ts +63 -0
- package/dist/analytics/ai-sov.d.ts +21 -0
- package/dist/analytics/alerts-engine.d.ts +24 -0
- package/dist/analytics/anchor-text-diversity-auditor.d.ts +64 -0
- package/dist/analytics/anchor-text-optimization-distribution-analyzer.d.ts +49 -0
- package/dist/analytics/api-playground-generator.d.ts +56 -0
- package/dist/analytics/api-rate-limit-quota-shield.d.ts +60 -0
- package/dist/analytics/attribution-markov-chain-engine.d.ts +48 -0
- package/dist/analytics/attribution.d.ts +8 -0
- package/dist/analytics/automated-analytics-report-renderer.d.ts +71 -0
- package/dist/analytics/b2b-group-analytics-engine.d.ts +64 -0
- package/dist/analytics/bandwidth-calculator.d.ts +34 -0
- package/dist/analytics/batch-export-scheduler.d.ts +82 -0
- package/dist/analytics/behavioral-cohort-analyzer.d.ts +68 -0
- package/dist/analytics/bofu-quick-wins-opportunity-scorer.d.ts +60 -0
- package/dist/analytics/bot-crawl-frequency-predictor.d.ts +61 -0
- package/dist/analytics/bot-signal-bitmask-decoder.d.ts +60 -0
- package/dist/analytics/bot-simulation-diff-auditor.d.ts +59 -0
- package/dist/analytics/breadcrumb-list-microdata-schema-parity-validator.d.ts +45 -0
- package/dist/analytics/broken-image-detector.d.ts +36 -0
- package/dist/analytics/brotli-zstd-compression-efficiency-auditor.d.ts +43 -0
- package/dist/analytics/calendar-heatmap-engine.d.ts +41 -0
- package/dist/analytics/canary-flag-guardrail-engine.d.ts +80 -0
- package/dist/analytics/canonical-integrity-engine.d.ts +51 -0
- package/dist/analytics/canonical-loop-cluster-detector.d.ts +48 -0
- package/dist/analytics/canvas-replay-capture.d.ts +41 -0
- package/dist/analytics/captcha-gate-verifier.d.ts +66 -0
- package/dist/analytics/cart-abandonment-analyzer.d.ts +80 -0
- package/dist/analytics/cdn-edge-cache-hit-ratio-forecaster.d.ts +43 -0
- package/dist/analytics/cdn-edge-routing-latency-analyzer.d.ts +62 -0
- package/dist/analytics/channel-grouping.d.ts +47 -0
- package/dist/analytics/churn-risk-calculator.d.ts +73 -0
- package/dist/analytics/client-error-tracker.d.ts +83 -0
- package/dist/analytics/client-side-hydration-mismatch-differ.d.ts +41 -0
- package/dist/analytics/client-side-memory-leak-dom-detached-nodes-auditor.d.ts +36 -0
- package/dist/analytics/client-side-page-speed-metrics-summary-aggregator.d.ts +56 -0
- package/dist/analytics/client-side-replay-rage-click-aggregator.d.ts +57 -0
- package/dist/analytics/code-canvas-pipeline.d.ts +50 -0
- package/dist/analytics/cohort-ltv-payback-engine.d.ts +68 -0
- package/dist/analytics/cohort-set-algebra-engine.d.ts +107 -0
- package/dist/analytics/cohorts-retention-engine.d.ts +24 -0
- package/dist/analytics/competitor-ad-transparency-inspector.d.ts +89 -0
- package/dist/analytics/constructed-styles-engine.d.ts +34 -0
- package/dist/analytics/content-decay-audit-engine.d.ts +64 -0
- package/dist/analytics/content-interaction-tracker.d.ts +60 -0
- package/dist/analytics/content-keyword-cannibalization-matrix.d.ts +50 -0
- package/dist/analytics/content-readability-flesch-kincaid-engine.d.ts +40 -0
- package/dist/analytics/content-security-policy-directive-violation-auditor.d.ts +28 -0
- package/dist/analytics/content-security-policy-frame-ancestors-clickjacking-auditor.d.ts +30 -0
- package/dist/analytics/conversion-funnel-latency-sensitivity-scorer.d.ts +57 -0
- package/dist/analytics/conversion-path-length-engine.d.ts +62 -0
- package/dist/analytics/cookie-consent-compliance-auditor.d.ts +73 -0
- package/dist/analytics/core-web-vitals-cumulative-tbt-trend-forecaster.d.ts +40 -0
- package/dist/analytics/core-web-vitals-interaction-event-debouncer.d.ts +39 -0
- package/dist/analytics/core-web-vitals-interaction-input-delay-breakdown-profiler.d.ts +40 -0
- package/dist/analytics/core-web-vitals-interaction-target-dom-element-pinpointer.d.ts +41 -0
- package/dist/analytics/core-web-vitals-interaction-timeline-tracer.d.ts +42 -0
- package/dist/analytics/core-web-vitals-lcp-sub-part-waterfall-profiler.d.ts +45 -0
- package/dist/analytics/core-web-vitals-presentation-delay-breakdown-profiler.d.ts +34 -0
- package/dist/analytics/core-web-vitals-ttfb-diagnostic-auditor.d.ts +60 -0
- package/dist/analytics/correlation-analyzer.d.ts +30 -0
- package/dist/analytics/crawl-budget-priority-queue-forecaster.d.ts +39 -0
- package/dist/analytics/crawl-budget-waste-auditor.d.ts +64 -0
- package/dist/analytics/crawl-depth-click-distance-auditor.d.ts +52 -0
- package/dist/analytics/crawl-log-cross-correlation-engine.d.ts +85 -0
- package/dist/analytics/cross-domain-linker.d.ts +50 -0
- package/dist/analytics/crux.d.ts +9 -0
- package/dist/analytics/css-rules-mutation-tracker.d.ts +28 -0
- package/dist/analytics/cumulative-layout-shift-target-element-clusterer.d.ts +57 -0
- package/dist/analytics/currency-converter.d.ts +37 -0
- package/dist/analytics/custom-alerts-engine.d.ts +37 -0
- package/dist/analytics/custom-variables-engine.d.ts +30 -0
- package/dist/analytics/customer-lifetime-value-survival-engine.d.ts +53 -0
- package/dist/analytics/customer-ltv-modeler.d.ts +80 -0
- package/dist/analytics/dashboard-rss-widget.d.ts +110 -0
- package/dist/analytics/data-retention-lifecycle-manager.d.ts +81 -0
- package/dist/analytics/data-staleness-sentinel.d.ts +37 -0
- package/dist/analytics/device-detector-cache.d.ts +39 -0
- package/dist/analytics/device-hardware-engine.d.ts +34 -0
- package/dist/analytics/disavow-file-format-syntax-validator.d.ts +32 -0
- package/dist/analytics/domain-connect-dns.d.ts +50 -0
- package/dist/analytics/domain-connect-provisioner.d.ts +74 -0
- package/dist/analytics/duplicate-title-meta-description-cluster-matrix.d.ts +40 -0
- package/dist/analytics/dynamic-render-cloaking-detector.d.ts +45 -0
- package/dist/analytics/ecommerce-merchandise-funnel-auditor.d.ts +60 -0
- package/dist/analytics/engagement-matrix-analyzer.d.ts +72 -0
- package/dist/analytics/event-match-quality.d.ts +53 -0
- package/dist/analytics/event-transformation-runtime.d.ts +76 -0
- package/dist/analytics/events.d.ts +24 -0
- package/dist/analytics/excessive-dom-depth-node-count-auditor.d.ts +47 -0
- package/dist/analytics/experiment-running-time-calculator.d.ts +53 -0
- package/dist/analytics/experiment-sample-size-sequential-testing-engine.d.ts +46 -0
- package/dist/analytics/exports.d.ts +2 -0
- package/dist/analytics/facet-url-combinatorial-trap-auditor.d.ts +45 -0
- package/dist/analytics/feature-flag-dormancy-auditor.d.ts +59 -0
- package/dist/analytics/feature-flag-evaluator.d.ts +49 -0
- package/dist/analytics/flag-blast-radius-simulator.d.ts +61 -0
- package/dist/analytics/font-display-cls-layout-shift-auditor.d.ts +51 -0
- package/dist/analytics/font-loading-observer.d.ts +37 -0
- package/dist/analytics/font-preload-unused-bandwidth-waste-auditor.d.ts +40 -0
- package/dist/analytics/font-subsetting-unicode-range-optimizer.d.ts +41 -0
- package/dist/analytics/form-input-friction-tracker.d.ts +38 -0
- package/dist/analytics/frustration-analyzer.d.ts +117 -0
- package/dist/analytics/frustration-signals-engine.d.ts +88 -0
- package/dist/analytics/funnel-velocity-engine.d.ts +55 -0
- package/dist/analytics/funnels.d.ts +22 -0
- package/dist/analytics/ga4-data-transpiler.d.ts +96 -0
- package/dist/analytics/ga4-historical-importer.d.ts +48 -0
- package/dist/analytics/goal-pacing-tracker.d.ts +44 -0
- package/dist/analytics/google-update-impact-analyzer.d.ts +85 -0
- package/dist/analytics/heading-hierarchy-outline-validator.d.ts +47 -0
- package/dist/analytics/heatmap-density-rasterizer.d.ts +57 -0
- package/dist/analytics/holt-winters-forecast-engine.d.ts +61 -0
- package/dist/analytics/hreflang-integrity-engine.d.ts +61 -0
- package/dist/analytics/hreflang-regional-x-default-cascade-resolver.d.ts +29 -0
- package/dist/analytics/hreflang-return-tag-reciprocity-auditor.d.ts +40 -0
- package/dist/analytics/html-doctype-declaration-legacy-syntax-auditor.d.ts +24 -0
- package/dist/analytics/html-entity-encoding-double-escaping-auditor.d.ts +36 -0
- package/dist/analytics/html-lang-directionality-bidi-auditor.d.ts +39 -0
- package/dist/analytics/html-microformat-hcard-hcalendar-auditor.d.ts +34 -0
- package/dist/analytics/html-text-contrast-accessibility-a11y-auditor.d.ts +47 -0
- package/dist/analytics/http-header-security-seo-audit-engine.d.ts +61 -0
- package/dist/analytics/http-strict-transport-security-preload-auditor.d.ts +40 -0
- package/dist/analytics/http2-server-push-deprecation-early-hints-auditor.d.ts +36 -0
- package/dist/analytics/identity-graph-stitching-engine.d.ts +66 -0
- package/dist/analytics/identity-ip-bucket.d.ts +25 -0
- package/dist/analytics/image-format-density-responsive-optimizer.d.ts +46 -0
- package/dist/analytics/in-page-overlay-mapper.d.ts +47 -0
- package/dist/analytics/index.d.ts +35 -0
- package/dist/analytics/indexnow-instant-indexation-submitter.d.ts +46 -0
- package/dist/analytics/indexnow-instant-submission-protocol-auditor.d.ts +33 -0
- package/dist/analytics/infinite-scroll-virtualized-list-seo-auditor.d.ts +41 -0
- package/dist/analytics/internal-link-anchor-nofollow-equity-leak-auditor.d.ts +37 -0
- package/dist/analytics/internal-link-pagerank-auditor.d.ts +62 -0
- package/dist/analytics/internal-search-query-intelligence.d.ts +82 -0
- package/dist/analytics/internal-search-zero-result-spelling-correction-suggester.d.ts +36 -0
- package/dist/analytics/interrupted-time-series-engine.d.ts +64 -0
- package/dist/analytics/intranet-measurable-engine.d.ts +33 -0
- package/dist/analytics/js-hydration-drift-auditor.d.ts +63 -0
- package/dist/analytics/json-ld-local-business-geo-shape-validator.d.ts +55 -0
- package/dist/analytics/keyword-cannibalization-resolver.d.ts +50 -0
- package/dist/analytics/kmeans-persona-discovery-engine.d.ts +57 -0
- package/dist/analytics/lcp-preload-responsive-image-candidate-picker.d.ts +54 -0
- package/dist/analytics/ld-json-graph-nesting-resolver.d.ts +53 -0
- package/dist/analytics/lfa.d.ts +24 -0
- package/dist/analytics/live-funnel-dropoff-alert-engine.d.ts +64 -0
- package/dist/analytics/log-file-search-engine-ip-reverse-dns-verifier.d.ts +35 -0
- package/dist/analytics/logfile-bot-anomaly-detector.d.ts +62 -0
- package/dist/analytics/long-animation-task-tracker.d.ts +45 -0
- package/dist/analytics/long-task-tracker.d.ts +41 -0
- package/dist/analytics/market-basket-association-engine.d.ts +64 -0
- package/dist/analytics/markov-attribution-engine.d.ts +62 -0
- package/dist/analytics/measurement-protocol-validator.d.ts +64 -0
- package/dist/analytics/meta-robots-unavailable-after-header-auditor.d.ts +29 -0
- package/dist/analytics/metric-driver-analyzer.d.ts +41 -0
- package/dist/analytics/metric-formula-engine.d.ts +47 -0
- package/dist/analytics/mixed-content-http-resource-passive-active-auditor.d.ts +39 -0
- package/dist/analytics/mobile-replay-sanitizer.d.ts +37 -0
- package/dist/analytics/mobile-symbolizer.d.ts +57 -0
- package/dist/analytics/monitor.d.ts +11 -0
- package/dist/analytics/movers-and-shakers-detector.d.ts +48 -0
- package/dist/analytics/multi-armed-bandit-allocator.d.ts +59 -0
- package/dist/analytics/multi-attribution-engine.d.ts +23 -0
- package/dist/analytics/multi-domain-hreflang-cluster-graph.d.ts +61 -0
- package/dist/analytics/multi-funnel-engine.d.ts +38 -0
- package/dist/analytics/multi-site-rollup-engine.d.ts +58 -0
- package/dist/analytics/multi-tab-session-sync.d.ts +41 -0
- package/dist/analytics/navigation-menu-depth-click-proximity-auditor.d.ts +41 -0
- package/dist/analytics/navigation-timing-engine.d.ts +64 -0
- package/dist/analytics/network-information-tracker.d.ts +40 -0
- package/dist/analytics/network-sanitizer.d.ts +53 -0
- package/dist/analytics/network-waterfall-analyzer.d.ts +54 -0
- package/dist/analytics/offline-event-reconciler.d.ts +55 -0
- package/dist/analytics/open-graph-social-card-auditor.d.ts +61 -0
- package/dist/analytics/opengraph-twitter-card-image-dimension-auditor.d.ts +43 -0
- package/dist/analytics/orphan-page-rescue-linker.d.ts +66 -0
- package/dist/analytics/page-lifecycle-tracker.d.ts +29 -0
- package/dist/analytics/pagination-infinite-scroll-auditor.d.ts +67 -0
- package/dist/analytics/parameterized-query-engine.d.ts +43 -0
- package/dist/analytics/predictive-lead-scorer.d.ts +73 -0
- package/dist/analytics/privacy-manager-engine.d.ts +34 -0
- package/dist/analytics/product-tour-telemetry.d.ts +59 -0
- package/dist/analytics/proof-of-work-gatekeeper.d.ts +50 -0
- package/dist/analytics/propensity-scorer-ga4.d.ts +58 -0
- package/dist/analytics/proxy-adblock-bypasser.d.ts +36 -0
- package/dist/analytics/pseo-pattern-rollup.d.ts +64 -0
- package/dist/analytics/public-dashboard-manager.d.ts +56 -0
- package/dist/analytics/query-canvas-graph.d.ts +101 -0
- package/dist/analytics/realtime-concurrency-monitor.d.ts +59 -0
- package/dist/analytics/redirect-chain-shortcut-optimizer.d.ts +61 -0
- package/dist/analytics/referrer-spam-detector.d.ts +60 -0
- package/dist/analytics/release-vitals-correlator.d.ts +59 -0
- package/dist/analytics/replay-annotation-engine.d.ts +50 -0
- package/dist/analytics/replay-audio-track-sync.d.ts +64 -0
- package/dist/analytics/replay-timeline-reconstructor.d.ts +71 -0
- package/dist/analytics/resource-hint-speculation-rules-optimizer.d.ts +43 -0
- package/dist/analytics/resource-timing-engine.d.ts +53 -0
- package/dist/analytics/resource-timing-transfer-size-discrepancy-auditor.d.ts +39 -0
- package/dist/analytics/responsive-search-ad-creative-builder.d.ts +71 -0
- package/dist/analytics/retention-curve-fitting-engine.d.ts +53 -0
- package/dist/analytics/retention.d.ts +6 -0
- package/dist/analytics/rfm-segmentation-engine.d.ts +60 -0
- package/dist/analytics/robots-txt-parity-compiler.d.ts +70 -0
- package/dist/analytics/robots-txt-x-robots-tag-header-conflict-auditor.d.ts +38 -0
- package/dist/analytics/rollup-aggregator.d.ts +65 -0
- package/dist/analytics/rss-atom-feed-syndication-discoverability-auditor.d.ts +45 -0
- package/dist/analytics/rss-widget-feed.d.ts +75 -0
- package/dist/analytics/rum.d.ts +12 -0
- package/dist/analytics/scheduled-reports-engine.d.ts +41 -0
- package/dist/analytics/schema-discrepancy-validator.d.ts +79 -0
- package/dist/analytics/schema-graph-auditor.d.ts +59 -0
- package/dist/analytics/schema-org-course-educational-credential-auditor.d.ts +81 -0
- package/dist/analytics/schema-org-recipe-nutritional-information-validator.d.ts +95 -0
- package/dist/analytics/screen-resolution-engine.d.ts +55 -0
- package/dist/analytics/search-engine-bot-ip-range-geo-location-auditor.d.ts +44 -0
- package/dist/analytics/search-engine-organic-cpc-cannibalization-arbitrage-auditor.d.ts +53 -0
- package/dist/analytics/search-engine-sitemap-image-extension-auditor.d.ts +37 -0
- package/dist/analytics/search-engine-sitemap-news-extension-auditor.d.ts +38 -0
- package/dist/analytics/segment-tree-compiler.d.ts +34 -0
- package/dist/analytics/semantic-metric-validator.d.ts +84 -0
- package/dist/analytics/seo-content-thinness-readability-score-synthesizer.d.ts +40 -0
- package/dist/analytics/seo-split-test-engine.d.ts +83 -0
- package/dist/analytics/serp-ai-overview-citation-auditor.d.ts +64 -0
- package/dist/analytics/serp-intent-congruence-auditor.d.ts +54 -0
- package/dist/analytics/serp-rank-cpc-opportunity-matrix.d.ts +50 -0
- package/dist/analytics/serp-rank-distribution-decay-matrix.d.ts +64 -0
- package/dist/analytics/serp-snippet-faq-accordion-eligibility-scorer.d.ts +40 -0
- package/dist/analytics/serp-snippet-opportunity-hunter.d.ts +58 -0
- package/dist/analytics/serp-snippet-pixel-truncation-estimator.d.ts +39 -0
- package/dist/analytics/serp-volatility-sensor.d.ts +56 -0
- package/dist/analytics/server-timing-header-metrics-decomposer.d.ts +26 -0
- package/dist/analytics/session-issue-classifier.d.ts +82 -0
- package/dist/analytics/session-playlist-orchestrator.d.ts +46 -0
- package/dist/analytics/session-replay-live-assist.d.ts +70 -0
- package/dist/analytics/session-replay-privacy-masker.d.ts +36 -0
- package/dist/analytics/session-similarity-matcher.d.ts +39 -0
- package/dist/analytics/sessionizer.d.ts +47 -0
- package/dist/analytics/sessions.d.ts +2 -0
- package/dist/analytics/shapley-attribution-engine.d.ts +55 -0
- package/dist/analytics/site-health-analyzer.d.ts +76 -0
- package/dist/analytics/site-registry-auditor.d.ts +42 -0
- package/dist/analytics/sitemap-health-auditor.d.ts +61 -0
- package/dist/analytics/sites-manager-engine.d.ts +39 -0
- package/dist/analytics/soft-404-thin-content-scorer.d.ts +33 -0
- package/dist/analytics/sourcemap-symbolizer.d.ts +47 -0
- package/dist/analytics/speculation-rules-prerender-candidate-auditor.d.ts +38 -0
- package/dist/analytics/squarified-treemap-engine.d.ts +37 -0
- package/dist/analytics/ssr-streaming-ttfb-flush-auditor.d.ts +45 -0
- package/dist/analytics/standalone-replay-exporter.d.ts +45 -0
- package/dist/analytics/state-mutation-recorder.d.ts +42 -0
- package/dist/analytics/statistical-anomaly-detector.d.ts +66 -0
- package/dist/analytics/stickiness-engine.d.ts +47 -0
- package/dist/analytics/sticky-user-id.d.ts +31 -0
- package/dist/analytics/structured-data-merchant-return-policy-auditor.d.ts +38 -0
- package/dist/analytics/structured-data-rich-results-eligibility-auditor.d.ts +43 -0
- package/dist/analytics/structured-data-validation-aggregate-score-synthesizer.d.ts +43 -0
- package/dist/analytics/subresource-integrity-cdn-tampering-auditor.d.ts +41 -0
- package/dist/analytics/survey-branching-engine.d.ts +45 -0
- package/dist/analytics/survey-sentiment-driver-analyzer.d.ts +62 -0
- package/dist/analytics/tag-trigger-evaluator.d.ts +91 -0
- package/dist/analytics/tasks-timetable-manager.d.ts +62 -0
- package/dist/analytics/text-selection-tracker.d.ts +66 -0
- package/dist/analytics/third-party-script-cpu-execution-profiler.d.ts +50 -0
- package/dist/analytics/third-party-tracker-cname-cloaking-auditor.d.ts +35 -0
- package/dist/analytics/time-series-forecaster.d.ts +81 -0
- package/dist/analytics/timeseries-transform-engine.d.ts +32 -0
- package/dist/analytics/topical-authority-cluster-graph.d.ts +76 -0
- package/dist/analytics/tracker-install-verifier.d.ts +35 -0
- package/dist/analytics/tracking-plan-drift-detector.d.ts +71 -0
- package/dist/analytics/tracking-proxy-config.d.ts +48 -0
- package/dist/analytics/transitions-matrix-calculator.d.ts +66 -0
- package/dist/analytics/types.d.ts +77 -0
- package/dist/analytics/unified.d.ts +56 -0
- package/dist/analytics/user-feedback-engine.d.ts +79 -0
- package/dist/analytics/user-flow-aggregator.d.ts +67 -0
- package/dist/analytics/user-flow-dropoff-sunburst-engine.d.ts +61 -0
- package/dist/analytics/user-journey-sankey-engine.d.ts +79 -0
- package/dist/analytics/user-language-engine.d.ts +48 -0
- package/dist/analytics/user-lifecycle-analyzer.d.ts +46 -0
- package/dist/analytics/utm-inference-engine.d.ts +42 -0
- package/dist/analytics/video-object-schema-key-moments-scorer.d.ts +52 -0
- package/dist/analytics/viewport-meta-mobile-scalability-auditor.d.ts +35 -0
- package/dist/analytics/visit-time-analyzer.d.ts +49 -0
- package/dist/analytics/visit-time-distribution.d.ts +49 -0
- package/dist/analytics/visitor-interest-engine.d.ts +44 -0
- package/dist/analytics/visual-element-heatmap-mapper.d.ts +59 -0
- package/dist/analytics/web-animations-recorder.d.ts +98 -0
- package/dist/analytics/web-vital-cls-attribution-profiler.d.ts +76 -0
- package/dist/analytics/web-vital-inp-attribution-profiler.d.ts +79 -0
- package/dist/analytics/web-vital-interaction-to-next-paint-event-target-decomposer.d.ts +49 -0
- package/dist/analytics/web-vital-lcp-attribution-profiler.d.ts +77 -0
- package/dist/analytics/web-vitals-attribution-engine.d.ts +103 -0
- package/dist/analytics/web-vitals-fcp-speed-index-auditor.d.ts +48 -0
- package/dist/analytics/web-vitals-tbt-loaf-auditor.d.ts +54 -0
- package/dist/analytics/web-worker-offscreen-canvas-performance-auditor.d.ts +37 -0
- package/dist/analytics/webapp-manifest-pwa-installability-auditor.d.ts +41 -0
- package/dist/analytics/webhooks-engine.d.ts +41 -0
- package/dist/analytics/xml-sitemap-index-paginator-splitter.d.ts +44 -0
- package/dist/analytics/xml-sitemap-video-extension-auditor.d.ts +42 -0
- package/dist/analytics-client.d.ts +87 -1
- package/dist/analytics-import.d.ts +49 -0
- package/dist/analytics-plan-generator.d.ts +57 -0
- package/dist/analytics-query-agent.d.ts +21 -0
- package/dist/analytics-tagging-plan.d.ts +130 -0
- package/dist/anti-adblock/stealth-proxy-generator.d.ts +49 -0
- package/dist/api-playground-catalog.d.ts +34 -0
- package/dist/article-autopilot-orchestrator.d.ts +90 -0
- package/dist/attentive-sync-engine.d.ts +25 -0
- package/dist/attribution-model.d.ts +52 -0
- package/dist/audit-log.d.ts +76 -0
- package/dist/audit-scoring-engine.d.ts +48 -0
- package/dist/autonomous-audit-engine.d.ts +104 -0
- package/dist/autonomous-site-assets-generator.d.ts +37 -0
- package/dist/backlinks-client.d.ts +102 -8
- package/dist/backlinks-store.d.ts +115 -0
- package/dist/bandit-optimizer.d.ts +87 -0
- package/dist/bi-enterprise-suite.d.ts +278 -0
- package/dist/boards/rollup.d.ts +19 -0
- package/dist/boards-rollup.d.ts +97 -0
- package/dist/bookmarks-importer.d.ts +29 -0
- package/dist/bulk-seo-orchestrator.d.ts +51 -0
- package/dist/catalogs/ar.json +223 -0
- package/dist/catalogs/de.json +223 -0
- package/dist/catalogs/es.json +223 -0
- package/dist/catalogs/fr.json +398 -0
- package/dist/catalogs/id.json +223 -0
- package/dist/catalogs/it.json +223 -0
- package/dist/catalogs/ja.json +223 -0
- package/dist/catalogs/ko.json +223 -0
- package/dist/catalogs/nl.json +223 -0
- package/dist/catalogs/pl.json +1146 -0
- package/dist/catalogs/pt.json +223 -0
- package/dist/catalogs/ru.json +223 -0
- package/dist/catalogs/sv.json +223 -0
- package/dist/catalogs/tr.json +223 -0
- package/dist/catalogs/vi.json +223 -0
- package/dist/catalogs/zh.json +223 -0
- package/dist/cdp-pipelines.d.ts +44 -0
- package/dist/chart-annotations.d.ts +26 -0
- package/dist/chart-plan/__tests__/chart-types-cases.d.ts +11 -0
- package/dist/chart-plan/__tests__/static-viz-cases.d.ts +11 -0
- package/dist/chart-plan/__tests__/svg-normalize.d.ts +25 -0
- package/dist/chart-plan/dataset.d.ts +25 -0
- package/dist/chart-plan/geometry/bar.d.ts +13 -0
- package/dist/chart-plan/geometry/boxplot.d.ts +70 -0
- package/dist/chart-plan/geometry/cartesian/axes.d.ts +53 -0
- package/dist/chart-plan/geometry/cartesian/layout.d.ts +47 -0
- package/dist/chart-plan/geometry/cartesian/scales.d.ts +46 -0
- package/dist/chart-plan/geometry/cartesian/series.d.ts +33 -0
- package/dist/chart-plan/geometry/choropleth.d.ts +44 -0
- package/dist/chart-plan/geometry/combo.d.ts +34 -0
- package/dist/chart-plan/geometry/funnel.d.ts +60 -0
- package/dist/chart-plan/geometry/gauge-segmented.d.ts +58 -0
- package/dist/chart-plan/geometry/gauge.d.ts +12 -0
- package/dist/chart-plan/geometry/index.d.ts +44 -0
- package/dist/chart-plan/geometry/legend.d.ts +66 -0
- package/dist/chart-plan/geometry/pie.d.ts +28 -0
- package/dist/chart-plan/geometry/progress-bar.d.ts +46 -0
- package/dist/chart-plan/geometry/sankey.d.ts +90 -0
- package/dist/chart-plan/geometry/scatter.d.ts +61 -0
- package/dist/chart-plan/geometry/scorecard.d.ts +11 -0
- package/dist/chart-plan/geometry/sparkline.d.ts +10 -0
- package/dist/chart-plan/geometry/text.d.ts +25 -0
- package/dist/chart-plan/geometry/treemap.d.ts +51 -0
- package/dist/chart-plan/geometry/trend.d.ts +32 -0
- package/dist/chart-plan/geometry/waterfall.d.ts +51 -0
- package/dist/chart-plan/port/color.d.ts +27 -0
- package/dist/chart-plan/port/constants.d.ts +8 -0
- package/dist/chart-plan/port/numbers.d.ts +24 -0
- package/dist/chart-plan/port/text.d.ts +27 -0
- package/dist/chart-plan/renderers/svg.d.ts +11 -0
- package/dist/chart-plan/types.d.ts +134 -0
- package/dist/citation-verifier.d.ts +53 -0
- package/dist/cli.d.ts +89 -0
- package/dist/cli.js +65518 -0
- package/dist/clickhouse/client.d.ts +21 -0
- package/dist/clickhouse/index.d.ts +2 -0
- package/dist/clickhouse/migrate-cli.d.ts +1 -0
- package/dist/clickhouse/migrate.d.ts +6 -0
- package/dist/clickhouse/migrations/001_raw_events.sql +14 -0
- package/dist/clickhouse/migrations/002_analytics.sql +10 -0
- package/dist/clickhouse/migrations/003_crawl.sql +12 -0
- package/dist/clickhouse/migrations/004_rank.sql +11 -0
- package/dist/clickhouse/migrations/005_backlink.sql +12 -0
- package/dist/clickhouse/migrations/006_mv_hourly.sql +11 -0
- package/dist/clickhouse/migrations/007_pulse_mv_hourly.sql +26 -0
- package/dist/clickhouse/migrations/008_pulse_events_codec.sql +34 -0
- package/dist/clickhouse-functions.d.ts +141 -0
- package/dist/cluster-generator.d.ts +103 -0
- package/dist/cms-publication-client.d.ts +108 -0
- package/dist/competitor-backlink-import.d.ts +54 -0
- package/dist/competitor-insights.d.ts +35 -0
- package/dist/competitor-pages-generator.d.ts +60 -0
- package/dist/content-ai-arsenal.d.ts +1 -1
- package/dist/content-freshness.d.ts +48 -0
- package/dist/content-humanizer.d.ts +46 -0
- package/dist/content-prune-matrix.d.ts +49 -0
- package/dist/content-repurposer.d.ts +90 -0
- package/dist/content-writer.d.ts +43 -0
- package/dist/contextual-auto-linker.d.ts +39 -0
- package/dist/contextual-internal-linker.d.ts +48 -0
- package/dist/conversion-funnel-calculator.d.ts +37 -0
- package/dist/conversion-tracking-generator.d.ts +61 -0
- package/dist/conversions-api.d.ts +136 -0
- package/dist/copy-frameworks-master.d.ts +2 -2
- package/dist/crawl-api-enricher.d.ts +110 -0
- package/dist/crawl-config-profile.d.ts +55 -0
- package/dist/crawl-diff-engine.d.ts +69 -0
- package/dist/crawler/native-crawler.d.ts +179 -0
- package/dist/crawler/native-parser.d.ts +68 -0
- package/dist/crawler-retry-policy.d.ts +18 -0
- package/dist/cro-bayesian-calculator.d.ts +74 -0
- package/dist/cro-copywriting-engine.d.ts +2 -2
- package/dist/cro-heuristic-auditor.d.ts +44 -0
- package/dist/cro-industry-benchmarks.d.ts +76 -0
- package/dist/cro-revenue-attribution-engine.d.ts +53 -0
- package/dist/cro-variant-ai-engine.d.ts +37 -0
- package/dist/cross-filter.d.ts +82 -0
- package/dist/crosslink-scorer.d.ts +1 -1
- package/dist/custom-dimensions.d.ts +58 -0
- package/dist/data-lifecycle-manager.d.ts +121 -0
- package/dist/dataforseo-ai-tracking-client.d.ts +182 -0
- package/dist/dataforseo-business-client.d.ts +191 -0
- package/dist/dataforseo-cost-model.d.ts +126 -0
- package/dist/dataforseo-google-ads-client.d.ts +107 -0
- package/dist/dataforseo-labs-client.d.ts +296 -0
- package/dist/dataforseo-llm-mentions-client.d.ts +213 -0
- package/dist/dataforseo-transport.d.ts +156 -0
- package/dist/dataset-matrix-architect.d.ts +125 -0
- package/dist/datasets/index.d.ts +1 -0
- package/dist/datasets/inferColumnTypes.d.ts +32 -0
- package/dist/deep-crawl-importer.d.ts +120 -0
- package/dist/deep-crawler-auditor.d.ts +185 -0
- package/dist/deep-data-audit.d.ts +134 -0
- package/dist/destinations/destination-circuit-breaker.d.ts +63 -0
- package/dist/destinations/destination-erasure-cascade.d.ts +66 -0
- package/dist/destinations/destination-router.d.ts +45 -0
- package/dist/destinations/object-storage.d.ts +43 -0
- package/dist/destinations/warehouse-schema-generator.d.ts +61 -0
- package/dist/device-detection.d.ts +50 -0
- package/dist/documents-transforms.d.ts +41 -0
- package/dist/domain-heritage-checker.d.ts +41 -0
- package/dist/domain-telemetry.d.ts +101 -0
- package/dist/dragonfly-client.d.ts +221 -0
- package/dist/drill-down.d.ts +41 -0
- package/dist/dynamic-seo-mcp-tools.d.ts +155 -0
- package/dist/ecommerce-offer-ladder.d.ts +43 -0
- package/dist/embed-facade-generator.d.ts +64 -0
- package/dist/embeddable-seo-widget.d.ts +1 -1
- package/dist/engine-compat.d.ts +80 -0
- package/dist/engine.d.ts +4 -0
- package/dist/error-tracking.d.ts +20 -0
- package/dist/event-taxonomy.d.ts +39 -0
- package/dist/executive-report-generator.d.ts +59 -0
- package/dist/experiment-assignment.d.ts +34 -0
- package/dist/experiment-framework.d.ts +85 -0
- package/dist/expired-domain-valuator.d.ts +44 -0
- package/dist/exporters/branded-analytics-report.d.ts +90 -0
- package/dist/exporters/excel-action-tracker.d.ts +32 -0
- package/dist/exporters/html-pdf-report.d.ts +35 -0
- package/dist/exporters/markdown-report.d.ts +13 -0
- package/dist/extended-schemas.d.ts +92 -2
- package/dist/flag-decision.d.ts +72 -0
- package/dist/flag-dependency.d.ts +40 -0
- package/dist/flag-override.d.ts +52 -0
- package/dist/flag-release-schedule.d.ts +34 -0
- package/dist/flow-framework-engine.d.ts +25 -0
- package/dist/free-public-tools.d.ts +1 -1
- package/dist/funnel-builder.d.ts +114 -0
- package/dist/g17-live-metrics.d.ts +37 -0
- package/dist/g18-attribution-advanced.d.ts +18 -0
- package/dist/g19-heatmap-rum.d.ts +14 -0
- package/dist/g20-public-status-advanced.d.ts +19 -0
- package/dist/g21-audit-trail.d.ts +35 -0
- package/dist/g22-segment-builder.d.ts +23 -0
- package/dist/g23-funnel-builder.d.ts +37 -0
- package/dist/g24-advanced-sql-engine.d.ts +46 -0
- package/dist/g25-edge-latency.d.ts +2 -0
- package/dist/g26-turnstile-advanced.d.ts +18 -0
- package/dist/g27-third-party-profiles.d.ts +9 -0
- package/dist/g28-live-metrics-advanced.d.ts +25 -0
- package/dist/g29-segment-analysis.d.ts +20 -0
- package/dist/g30-geo-embedding.d.ts +27 -0
- package/dist/g31-identity-resolver.d.ts +27 -0
- package/dist/ga4-gsc-mcp-tools.d.ts +187 -0
- package/dist/gamified-cro-engine.d.ts +62 -0
- package/dist/gbp-client.d.ts +203 -0
- package/dist/geo-badge-generator.d.ts +27 -0
- package/dist/geo-cdn-waf-auditor.d.ts +37 -0
- package/dist/geo-ci-formatter.d.ts +50 -0
- package/dist/geo-citability-scorer.d.ts +77 -0
- package/dist/geo-competitive-narrative.d.ts +76 -0
- package/dist/geo-content-decay.d.ts +27 -0
- package/dist/geo-context-window.d.ts +30 -0
- package/dist/geo-diff-engine.d.ts +60 -0
- package/dist/geo-factual-accuracy-auditor.d.ts +40 -0
- package/dist/geo-fixer.d.ts +36 -0
- package/dist/geo-grid-rank-tracker.d.ts +54 -0
- package/dist/geo-hallucination-bait.d.ts +30 -0
- package/dist/geo-instruction-auditor.d.ts +37 -0
- package/dist/geo-js-auditor.d.ts +25 -0
- package/dist/geo-multi-turn-persistence.d.ts +55 -0
- package/dist/geo-multimodal-auditor.d.ts +33 -0
- package/dist/geo-negative-signals.d.ts +49 -0
- package/dist/geo-page-intent-mapper.d.ts +46 -0
- package/dist/geo-perception-extractor.d.ts +50 -0
- package/dist/geo-platform-auditor.d.ts +82 -0
- package/dist/geo-prompt-injection-detector.d.ts +25 -0
- package/dist/geo-score-calculator.d.ts +214 -0
- package/dist/geo-semantic-coherence.d.ts +36 -0
- package/dist/geo-semantic-drift-detector.d.ts +34 -0
- package/dist/geo-site-scaffolding.d.ts +71 -0
- package/dist/geo-topical-authority-cluster.d.ts +44 -0
- package/dist/geo-topical-authority.d.ts +42 -0
- package/dist/geo-trust-stack.d.ts +45 -0
- package/dist/geo-webmcp-auditor.d.ts +33 -0
- package/dist/geoip.d.ts +61 -0
- package/dist/google-ai-readiness-auditor.d.ts +77 -0
- package/dist/google-policy-sentinel.d.ts +68 -0
- package/dist/gorgias-sync-engine.d.ts +47 -0
- package/dist/governance/schema-discovery.d.ts +37 -0
- package/dist/governance/tracking-plan.d.ts +79 -0
- package/dist/gsc-auto-sync-scheduler.d.ts +80 -0
- package/dist/gsc-disavow-export-engine.d.ts +45 -0
- package/dist/headings-outline-engine.d.ts +37 -0
- package/dist/heatmap-rum.d.ts +67 -0
- package/dist/html-diff-engine.d.ts +44 -0
- package/dist/html-snapshot-replay.d.ts +47 -0
- package/dist/humanity-ai-scrubber.d.ts +77 -3
- package/dist/i18n/index.d.ts +1 -0
- package/dist/i18n/translator.d.ts +71 -0
- package/dist/identity-resolver.d.ts +162 -0
- package/dist/image-cwv-auditor.d.ts +59 -0
- package/dist/image-geo-exif-enricher.d.ts +68 -0
- package/dist/impact-analysis.d.ts +85 -0
- package/dist/index.d.ts +782 -7
- package/dist/index.js +217403 -10597
- package/dist/index.mjs +217403 -10597
- package/dist/indexnow-client.d.ts +33 -1
- package/dist/information-gain-scorer.d.ts +36 -0
- package/dist/instant-matrix-search.d.ts +1 -1
- package/dist/integrations/cloudflare-browser-renderer.d.ts +100 -0
- package/dist/integrations/dataforseo-audit-client.d.ts +152 -0
- package/dist/integrations/linkwarden-connector.d.ts +72 -0
- package/dist/integrations/pagespeed-client.d.ts +61 -0
- package/dist/internal-link-graph-engine.d.ts +120 -0
- package/dist/international-seo-auditor.d.ts +91 -0
- package/dist/inventory-scarcity-engine.d.ts +30 -0
- package/dist/iptc-media-validator.d.ts +30 -0
- package/dist/isr-cache-manager.d.ts +4 -2
- package/dist/jev-qualifier.d.ts +129 -0
- package/dist/jobs/retry-queue.d.ts +19 -0
- package/dist/kafka-producer.d.ts +48 -0
- package/dist/keyword-advanced-catalog.d.ts +59 -0
- package/dist/keyword-analytics-engine.d.ts +119 -0
- package/dist/keyword-bundle-orchestrator.d.ts +44 -0
- package/dist/keyword-cost-estimator.d.ts +45 -0
- package/dist/keyword-export-engine.d.ts +52 -0
- package/dist/keyword-market-validator.d.ts +35 -0
- package/dist/keyword-merger.d.ts +81 -0
- package/dist/keyword-permutator.d.ts +0 -1
- package/dist/keyword-session-manager.d.ts +84 -0
- package/dist/keyword-trend-sparkline.d.ts +55 -0
- package/dist/keywords/cannibalization.d.ts +15 -0
- package/dist/klaviyo-sync-engine.d.ts +75 -0
- package/dist/knowledge-graph-linker.d.ts +31 -1
- package/dist/kvi-opportunity-calculator.d.ts +61 -0
- package/dist/lago-token-meter.d.ts +4 -0
- package/dist/lcp-subparts-analyzer.d.ts +56 -0
- package/dist/links/backlinks-gap.d.ts +31 -0
- package/dist/links/competitors-import.d.ts +17 -0
- package/dist/links/opportunities.d.ts +20 -0
- package/dist/links-matrix-exporter.d.ts +31 -0
- package/dist/live-ai-citation-tester.d.ts +95 -0
- package/dist/live-co-browsing.d.ts +135 -0
- package/dist/live-metrics-advanced.d.ts +60 -0
- package/dist/llm-content-cleaner.d.ts +28 -1
- package/dist/llms-txt-generator.d.ts +42 -0
- package/dist/local-geogrid-simulator.d.ts +48 -0
- package/dist/local-seo-importer.d.ts +143 -0
- package/dist/local-seo-review-intelligence.d.ts +62 -0
- package/dist/longform-article-planner.d.ts +37 -0
- package/dist/lql/compiler.d.ts +2 -0
- package/dist/lql/index.d.ts +4 -0
- package/dist/lql/streaming.d.ts +8 -0
- package/dist/lql/types.d.ts +54 -0
- package/dist/lql/validator.d.ts +2 -0
- package/dist/lylql/compiler.d.ts +2 -0
- package/dist/lylql/index.d.ts +27 -0
- package/dist/lylql/lql-types.d.ts +43 -0
- package/dist/lylql/streaming.d.ts +1 -0
- package/dist/lylql/types.d.ts +3 -0
- package/dist/lylql/validator.d.ts +4 -0
- package/dist/lynx-agent-readiness-auditor.d.ts +89 -0
- package/dist/lynx-pulse-prism-engine.d.ts +70 -0
- package/dist/mailchimp-sync-engine.d.ts +50 -0
- package/dist/marketing-council-engine.d.ts +94 -0
- package/dist/marketing-skills-engine.d.ts +56 -1
- package/dist/marketplace-price-intelligence.d.ts +75 -0
- package/dist/master-audit-orchestrator.d.ts +118 -0
- package/dist/master-marketing-engine.d.ts +1 -1
- package/dist/matrix-engine.d.ts +87 -2
- package/dist/mbql/compiler.d.ts +2 -0
- package/dist/mbql/index.d.ts +4 -0
- package/dist/mbql/streaming.d.ts +8 -0
- package/dist/mbql/types.d.ts +54 -0
- package/dist/mbql/validator.d.ts +2 -0
- package/dist/mcp-seo-server.d.ts +11 -1
- package/dist/mcp-seo-server.js +100293 -0
- package/dist/meta-ad-library-intelligence.d.ts +91 -0
- package/dist/metric-glossary.d.ts +48 -0
- package/dist/mobile-event-queue.d.ts +68 -0
- package/dist/monolith-inliner.d.ts +20 -0
- package/dist/multi-source-attribution.d.ts +59 -0
- package/dist/multi-touch-attribution.d.ts +50 -0
- package/dist/nango-integration.d.ts +99 -0
- package/dist/nap-consistency-checker.d.ts +60 -0
- package/dist/narrative-validator.d.ts +38 -0
- package/dist/near-duplicate-detector.d.ts +84 -0
- package/dist/network-intelligence.d.ts +37 -0
- package/dist/ngram-density-analyzer.d.ts +1 -1
- package/dist/nl-to-sql-engine.d.ts +99 -0
- package/dist/omnisend-sync-engine.d.ts +31 -0
- package/dist/openreplay-adapted/clickmap-adapted.d.ts +17 -0
- package/dist/openreplay-adapted/console-adapted.d.ts +13 -0
- package/dist/openreplay-adapted/exception-adapted.d.ts +18 -0
- package/dist/openreplay-adapted/feature-flags-adapted.d.ts +20 -0
- package/dist/openreplay-adapted/input-adapted.d.ts +16 -0
- package/dist/openreplay-adapted/integrations-adapted.d.ts +29 -0
- package/dist/openreplay-adapted/mouse-adapted.d.ts +19 -0
- package/dist/openreplay-adapted/network-adapted.d.ts +28 -0
- package/dist/openreplay-adapted/performance-adapted.d.ts +16 -0
- package/dist/openreplay-adapted/sourcemap-uploader-adapted.d.ts +22 -0
- package/dist/openreplay-adapted/sourcemapreader-adapted.d.ts +22 -0
- package/dist/openreplay-adapted/state-adapted.d.ts +20 -0
- package/dist/openserp-client.d.ts +48 -0
- package/dist/page-delivery-auditor.d.ts +31 -0
- package/dist/page-snapshotter.d.ts +41 -0
- package/dist/parasite-seo-detector.d.ts +59 -0
- package/dist/period-compare.d.ts +34 -0
- package/dist/persistent-page-store.d.ts +129 -0
- package/dist/pipeline/dlq-manager.d.ts +99 -0
- package/dist/pipeline/event-deduplication.d.ts +59 -0
- package/dist/pipeline/event-replay.d.ts +40 -0
- package/dist/pipeline/event-sampler.d.ts +37 -0
- package/dist/pipeline/event-transform-pipeline.d.ts +89 -0
- package/dist/pipeline/event-watermark-reorderer.d.ts +50 -0
- package/dist/pipeline/payload-compressor.d.ts +20 -0
- package/dist/plugin/custom-dimensions-plugin.d.ts +24 -0
- package/dist/plugin/device-detection-plugin.d.ts +23 -0
- package/dist/plugin/event-bus.d.ts +47 -0
- package/dist/plugin/geoip-plugin.d.ts +25 -0
- package/dist/plugin/heatmap-plugin.d.ts +23 -0
- package/dist/plugin/index.d.ts +6 -0
- package/dist/plugin/manager.d.ts +27 -0
- package/dist/plugin/rum-plugin.d.ts +25 -0
- package/dist/plugin/types.d.ts +33 -0
- package/dist/plugin/user-id-plugin.d.ts +25 -0
- package/dist/plugins/account-analytics/index.d.ts +39 -0
- package/dist/plugins/actions/index.d.ts +68 -0
- package/dist/plugins/activity-log/index.d.ts +58 -0
- package/dist/plugins/ai-agents/index.d.ts +75 -0
- package/dist/plugins/analytics-notebooks/index.d.ts +86 -0
- package/dist/plugins/annotations/index.d.ts +46 -0
- package/dist/plugins/anonymous-tracking/index.d.ts +41 -0
- package/dist/plugins/approvals/index.d.ts +96 -0
- package/dist/plugins/archiving-metrics/index.d.ts +98 -0
- package/dist/plugins/assist-cobrowse/index.d.ts +60 -0
- package/dist/plugins/automated-workflows/index.d.ts +63 -0
- package/dist/plugins/bandwidth/index.d.ts +53 -0
- package/dist/plugins/batch-exports/index.d.ts +95 -0
- package/dist/plugins/bot-tracking/index.d.ts +68 -0
- package/dist/plugins/bulk-tracking/index.d.ts +48 -0
- package/dist/plugins/clips-highlights/index.d.ts +75 -0
- package/dist/plugins/cohort-retention/index.d.ts +43 -0
- package/dist/plugins/consent-analytics/consent-analytics.d.ts +64 -0
- package/dist/plugins/consent-analytics/index.d.ts +1 -0
- package/dist/plugins/content-treemap/index.d.ts +52 -0
- package/dist/plugins/contents/index.d.ts +42 -0
- package/dist/plugins/correlation-analysis/index.d.ts +43 -0
- package/dist/plugins/custom-alerts/index.d.ts +22 -0
- package/dist/plugins/custom-dimensions/index.d.ts +38 -0
- package/dist/plugins/custom-js-tracker/index.d.ts +49 -0
- package/dist/plugins/custom-variables/index.d.ts +57 -0
- package/dist/plugins/dashboard-presets/dashboard-presets.d.ts +51 -0
- package/dist/plugins/dashboard-presets/index.d.ts +1 -0
- package/dist/plugins/dashboard-widgets/index.d.ts +55 -0
- package/dist/plugins/data-quality/index.d.ts +57 -0
- package/dist/plugins/data-warehouse/index.d.ts +100 -0
- package/dist/plugins/db-stats/index.d.ts +75 -0
- package/dist/plugins/device-plugins/index.d.ts +73 -0
- package/dist/plugins/devices-detection/index.d.ts +39 -0
- package/dist/plugins/early-access-features/index.d.ts +51 -0
- package/dist/plugins/ecommerce/index.d.ts +52 -0
- package/dist/plugins/error-tracking/index.d.ts +101 -0
- package/dist/plugins/event-simulator/index.d.ts +53 -0
- package/dist/plugins/event-usage-budgets/index.d.ts +60 -0
- package/dist/plugins/events/index.d.ts +72 -0
- package/dist/plugins/experiments/index.d.ts +87 -0
- package/dist/plugins/feedback/index.d.ts +47 -0
- package/dist/plugins/form-analytics/index.d.ts +53 -0
- package/dist/plugins/geoip/index.d.ts +50 -0
- package/dist/plugins/geoip-updater/index.d.ts +97 -0
- package/dist/plugins/goals/index.d.ts +85 -0
- package/dist/plugins/group-analytics/index.d.ts +65 -0
- package/dist/plugins/heartbeat/index.d.ts +50 -0
- package/dist/plugins/heatmap-scrollmap/index.d.ts +63 -0
- package/dist/plugins/hog-functions/index.d.ts +88 -0
- package/dist/plugins/ingestion-warnings/index.d.ts +80 -0
- package/dist/plugins/insights/index.d.ts +47 -0
- package/dist/plugins/intranet-measurable/index.d.ts +36 -0
- package/dist/plugins/js-tracker-install-check/index.d.ts +62 -0
- package/dist/plugins/language-distribution/index.d.ts +46 -0
- package/dist/plugins/leads/index.d.ts +118 -0
- package/dist/plugins/live/index.d.ts +71 -0
- package/dist/plugins/live-debugger/index.d.ts +100 -0
- package/dist/plugins/live-detailed/index.d.ts +44 -0
- package/dist/plugins/llm-observability/index.d.ts +91 -0
- package/dist/plugins/log-viewer/index.d.ts +59 -0
- package/dist/plugins/marketing-campaigns/index.d.ts +63 -0
- package/dist/plugins/media-analytics/index.d.ts +60 -0
- package/dist/plugins/mobile-app-measurable/index.d.ts +80 -0
- package/dist/plugins/mobile-messaging/index.d.ts +84 -0
- package/dist/plugins/multi-sites/index.d.ts +45 -0
- package/dist/plugins/overlay/index.d.ts +48 -0
- package/dist/plugins/page-performance/index.d.ts +30 -0
- package/dist/plugins/privacy-manager/index.d.ts +108 -0
- package/dist/plugins/product-tours/index.d.ts +58 -0
- package/dist/plugins/provider/index.d.ts +53 -0
- package/dist/plugins/query-cost-profiler/index.d.ts +1 -0
- package/dist/plugins/query-cost-profiler/query-cost-profiler.d.ts +67 -0
- package/dist/plugins/queued-tracking/index.d.ts +57 -0
- package/dist/plugins/real-time-usage/index.d.ts +67 -0
- package/dist/plugins/referrer-brand-enricher/index.d.ts +1 -0
- package/dist/plugins/referrer-brand-enricher/referrer-brand-enricher.d.ts +59 -0
- package/dist/plugins/referrers/index.d.ts +14 -0
- package/dist/plugins/referrers-complet/index.d.ts +52 -0
- package/dist/plugins/registry.d.ts +112 -0
- package/dist/plugins/replay/index.d.ts +64 -0
- package/dist/plugins/replay-vision/index.d.ts +45 -0
- package/dist/plugins/resolution/index.d.ts +49 -0
- package/dist/plugins/resource-transfer/index.d.ts +95 -0
- package/dist/plugins/revenue-analytics/index.d.ts +73 -0
- package/dist/plugins/scheduled-reports/index.d.ts +71 -0
- package/dist/plugins/security-info/index.d.ts +58 -0
- package/dist/plugins/segment-editor/index.d.ts +73 -0
- package/dist/plugins/site-search/index.d.ts +55 -0
- package/dist/plugins/smart-alerts-anomaly/index.d.ts +61 -0
- package/dist/plugins/sql-cohort/index.d.ts +73 -0
- package/dist/plugins/surveys/index.d.ts +97 -0
- package/dist/plugins/system-diagnostics/index.d.ts +65 -0
- package/dist/plugins/tag-manager/container.d.ts +98 -0
- package/dist/plugins/tag-manager/evaluate.d.ts +63 -0
- package/dist/plugins/tag-manager/export.d.ts +62 -0
- package/dist/plugins/tag-manager/index.d.ts +104 -0
- package/dist/plugins/tag-manager/runtime.d.ts +75 -0
- package/dist/plugins/tag-manager/templates.d.ts +87 -0
- package/dist/plugins/tasks-timetable/index.d.ts +46 -0
- package/dist/plugins/taxonomy-dictionary/index.d.ts +60 -0
- package/dist/plugins/theme/index.d.ts +83 -0
- package/dist/plugins/tracking-spam-prevention/index.d.ts +29 -0
- package/dist/plugins/traffic-shield/index.d.ts +1 -0
- package/dist/plugins/traffic-shield/traffic-shield.d.ts +64 -0
- package/dist/plugins/transitions/index.d.ts +69 -0
- package/dist/plugins/two-factor-auth/index.d.ts +59 -0
- package/dist/plugins/user-country-map/index.d.ts +49 -0
- package/dist/plugins/user-id/index.d.ts +32 -0
- package/dist/plugins/user-language/index.d.ts +13 -0
- package/dist/plugins/user-paths/index.d.ts +60 -0
- package/dist/plugins/users-manager/index.d.ts +69 -0
- package/dist/plugins/visit-frequency/index.d.ts +49 -0
- package/dist/plugins/visit-time/index.d.ts +50 -0
- package/dist/plugins/visitor-interest/index.d.ts +77 -0
- package/dist/plugins/visits-summary/index.d.ts +64 -0
- package/dist/plugins/weekly-traffic/index.d.ts +1 -0
- package/dist/plugins/weekly-traffic/weekly-traffic.d.ts +75 -0
- package/dist/plugins/widgetize/index.d.ts +55 -0
- package/dist/postscript-sync-engine.d.ts +35 -0
- package/dist/privacy/network-replay-sanitizer.d.ts +42 -0
- package/dist/privacy/privacy-sanitizer.d.ts +51 -0
- package/dist/privacy-tracker-generator.d.ts +81 -0
- package/dist/privacy-visitor-hasher.d.ts +62 -0
- package/dist/product-analytics.d.ts +51 -0
- package/dist/product-health-analyzer.d.ts +86 -0
- package/dist/product-usage-analytics.d.ts +46 -0
- package/dist/profiles/behavioral-cohort.d.ts +59 -0
- package/dist/profiles/customer-360.d.ts +39 -0
- package/dist/providers/firecrawl-provider.d.ts +30 -0
- package/dist/providers/firecrawl.d.ts +33 -0
- package/dist/providers/profound-provider.d.ts +28 -0
- package/dist/providers/profound.d.ts +30 -0
- package/dist/providers/search-provider.d.ts +9 -0
- package/dist/providers/seranking-provider.d.ts +29 -0
- package/dist/providers/seranking.d.ts +32 -0
- package/dist/pseo-cli.d.ts +9 -0
- package/dist/pseo-feasibility-scorer.d.ts +44 -0
- package/dist/pseo-geo-citability-booster.d.ts +75 -0
- package/dist/pseo-preflight-gate.d.ts +73 -0
- package/dist/pseo-publisher-bridge.d.ts +59 -0
- package/dist/pseo-quality-circuit-breaker.d.ts +60 -0
- package/dist/public-page-interactive.d.ts +77 -0
- package/dist/public-status-pages.d.ts +61 -0
- package/dist/pulse-remote-config.d.ts +36 -0
- package/dist/pulse-shield-engine.d.ts +76 -0
- package/dist/pulse-telemetry.d.ts +77 -0
- package/dist/rank-math-parity.d.ts +2 -2
- package/dist/rbac-granular.d.ts +47 -0
- package/dist/reader-cleaner.d.ts +40 -0
- package/dist/real-user-monitoring.d.ts +93 -0
- package/dist/real-volume-indexability-gate.d.ts +37 -0
- package/dist/realtime-visitors.d.ts +87 -0
- package/dist/regex-redirect-engine.d.ts +75 -0
- package/dist/report-builder.d.ts +79 -0
- package/dist/resource-hub-generator.d.ts +44 -0
- package/dist/reverse-etl/audience-sync.d.ts +76 -0
- package/dist/rich-results-validator.d.ts +54 -0
- package/dist/rivo-sync-engine.d.ts +33 -0
- package/dist/robots-policy.d.ts +54 -0
- package/dist/robots-txt-simulator.d.ts +94 -0
- package/dist/robots-unified.d.ts +132 -0
- package/dist/row-column-ls.d.ts +64 -0
- package/dist/rss-syndication-feed.d.ts +1 -1
- package/dist/rules/checks-runner.d.ts +17 -0
- package/dist/rules/search-central-catalog.d.ts +43 -0
- package/dist/rum-metrics.d.ts +20 -0
- package/dist/saved-segments.d.ts +38 -0
- package/dist/scheduled-reports.d.ts +42 -0
- package/dist/schema-builder.d.ts +14 -0
- package/dist/screaming-frog-importer.d.ts +109 -0
- package/dist/sdk/lynx-mobile-replay.d.ts +129 -0
- package/dist/sdk/lynx-mobile-sdk.d.ts +152 -0
- package/dist/sdk/lynx-node-sdk.d.ts +138 -0
- package/dist/sdk/react-native/lynx-react-native.d.ts +88 -0
- package/dist/sea-seo-bridge-engine.d.ts +121 -0
- package/dist/selfhost-extensions.d.ts +57 -0
- package/dist/semantic/agent-schema.d.ts +322 -0
- package/dist/semantic/cache.d.ts +91 -0
- package/dist/semantic/catalog/seo-models.d.ts +2 -0
- package/dist/semantic/catalog/seo-models.fixtures.d.ts +17 -0
- package/dist/semantic/chart-suggestion.d.ts +23 -0
- package/dist/semantic/compiler.d.ts +69 -0
- package/dist/semantic/diagnostics.d.ts +62 -0
- package/dist/semantic/dialects/bigquery.d.ts +2 -0
- package/dist/semantic/dialects/clickhouse.d.ts +2 -0
- package/dist/semantic/dialects/features.d.ts +10 -0
- package/dist/semantic/dialects/index.d.ts +10 -0
- package/dist/semantic/dialects/postgres.d.ts +2 -0
- package/dist/semantic/dialects/redshift.d.ts +2 -0
- package/dist/semantic/dialects/registry.d.ts +31 -0
- package/dist/semantic/dialects/snowflake.d.ts +2 -0
- package/dist/semantic/dialects/sqlite.d.ts +2 -0
- package/dist/semantic/dialects/types.d.ts +118 -0
- package/dist/semantic/eval-memory.d.ts +41 -0
- package/dist/semantic/expr-json.d.ts +6 -0
- package/dist/semantic/expr.d.ts +59 -0
- package/dist/semantic/filters/coerce.d.ts +54 -0
- package/dist/semantic/filters/evaluate.d.ts +27 -0
- package/dist/semantic/filters/operators.d.ts +55 -0
- package/dist/semantic/filters/types.d.ts +79 -0
- package/dist/semantic/hogql-transpiler.d.ts +49 -0
- package/dist/semantic/metadata.d.ts +139 -0
- package/dist/semantic/parameters/filter-parameter.d.ts +19 -0
- package/dist/semantic/parameters/json.d.ts +11 -0
- package/dist/semantic/parameters/resolve.d.ts +26 -0
- package/dist/semantic/parameters/types.d.ts +23 -0
- package/dist/semantic/parameters/values.d.ts +60 -0
- package/dist/semantic/periods/period-filter.d.ts +32 -0
- package/dist/semantic/periods/relative.d.ts +86 -0
- package/dist/semantic/pipeline.d.ts +197 -0
- package/dist/semantic/pivot-powerset.d.ts +31 -0
- package/dist/semantic/pivot.d.ts +58 -0
- package/dist/semantic/primitives.d.ts +23 -0
- package/dist/semantic/question.d.ts +71 -0
- package/dist/semantic/registry.d.ts +31 -0
- package/dist/semantic/sandbox.d.ts +132 -0
- package/dist/semantic/schema-registry.d.ts +65 -0
- package/dist/semantic/schema-validator.d.ts +16 -0
- package/dist/semantic/schemas/expr.schemas.d.ts +1 -0
- package/dist/semantic/schemas/index.d.ts +4 -0
- package/dist/semantic/schemas/pipeline.schemas.d.ts +1 -0
- package/dist/semantic/schemas/query.schemas.d.ts +1 -0
- package/dist/semantic/schemas/semantic-query.schemas.d.ts +1 -0
- package/dist/semantic/serialization.d.ts +356 -0
- package/dist/semantic/sql-ast-builder.d.ts +45 -0
- package/dist/semantic/sql-ast.d.ts +155 -0
- package/dist/semantic/sql-formatter.d.ts +12 -0
- package/dist/semantic/sql-guard.d.ts +28 -0
- package/dist/semantic/sql-lex.d.ts +31 -0
- package/dist/semantic/sql-snippets.d.ts +39 -0
- package/dist/semantic/streaming.d.ts +54 -0
- package/dist/semantic/timezone.d.ts +24 -0
- package/dist/semantic/transforms/dag.d.ts +43 -0
- package/dist/semantic/types.d.ts +199 -0
- package/dist/semantic/vocabulary.d.ts +10 -0
- package/dist/semantic-auditor.d.ts +51 -0
- package/dist/sendlane-sync-engine.d.ts +32 -0
- package/dist/seo-chart-spec.d.ts +63 -0
- package/dist/seo-diagram-generator.d.ts +86 -0
- package/dist/seo-drift-comparator.d.ts +82 -0
- package/dist/seo-metric-registry.d.ts +86 -0
- package/dist/seo-opportunities-decay.d.ts +1 -1
- package/dist/seo-opportunity-prioritizer.d.ts +53 -15
- package/dist/seo-quadrant-analyzer.d.ts +133 -0
- package/dist/seo-query-builder.d.ts +70 -0
- package/dist/seo-spelling-grammar-auditor.d.ts +42 -0
- package/dist/serp/serp-features.d.ts +10 -0
- package/dist/serp/serp-history.d.ts +21 -0
- package/dist/serp-alert-dispatcher.d.ts +119 -0
- package/dist/serp-client.d.ts +193 -21
- package/dist/serp-features-scorer.d.ts +43 -0
- package/dist/serp-retry-queue.d.ts +50 -0
- package/dist/server-log-parser.d.ts +56 -0
- package/dist/session-replay-adapted.d.ts +27 -0
- package/dist/session-replay-recorder.d.ts +53 -0
- package/dist/shopify-autopilot-bridge.d.ts +69 -0
- package/dist/shopify-discount-engine.d.ts +51 -0
- package/dist/shopify-seo-connector.d.ts +80 -0
- package/dist/short-links.d.ts +59 -0
- package/dist/shortlinks/shortlinks.d.ts +14 -0
- package/dist/site-crawler.d.ts +221 -11
- package/dist/sitemap-chunk-partitioner.d.ts +62 -0
- package/dist/slug-engine.d.ts +6 -0
- package/dist/sms-compliance-engine.d.ts +47 -0
- package/dist/social-ad-creative-intelligence.d.ts +65 -0
- package/dist/social-article-carousel-generator.d.ts +63 -0
- package/dist/social-community-insights.d.ts +30 -2
- package/dist/social-growth-suite.d.ts +12 -2
- package/dist/social-serp-preview-simulator.d.ts +87 -0
- package/dist/spintax-permutator.d.ts +47 -0
- package/dist/sql-engine-advanced.d.ts +476 -0
- package/dist/sql-query-builder.d.ts +23 -0
- package/dist/static-viz-renderer.d.ts +30 -0
- package/dist/strategic-roadmap-generator.d.ts +34 -0
- package/dist/supercocon-hierarchy-architect.d.ts +73 -0
- package/dist/survey-builder.d.ts +59 -0
- package/dist/sxo-experience-optimizer.d.ts +51 -0
- package/dist/technical-rules-auditor.d.ts +37 -6
- package/dist/telemetry-doctor.d.ts +97 -0
- package/dist/timelines/projection.d.ts +69 -0
- package/dist/timelines/visibility.d.ts +80 -0
- package/dist/tools/log-analytics-importer.d.ts +82 -0
- package/dist/tracker-adapted/clickmap-adapted.d.ts +33 -0
- package/dist/tracker-adapted/cohort-builder-adapted.d.ts +25 -0
- package/dist/tracker-adapted/console-adapted.d.ts +10 -0
- package/dist/tracker-adapted/exception-adapted.d.ts +35 -0
- package/dist/tracker-adapted/feature-flags-adapted.d.ts +23 -0
- package/dist/tracker-adapted/input-adapted.d.ts +37 -0
- package/dist/tracker-adapted/integrations-adapted.d.ts +157 -0
- package/dist/tracker-adapted/mixpanel-adapted.d.ts +19 -0
- package/dist/tracker-adapted/ml-alerts-adapted.d.ts +24 -0
- package/dist/tracker-adapted/mouse-adapted.d.ts +16 -0
- package/dist/tracker-adapted/network-adapted.d.ts +25 -0
- package/dist/tracker-adapted/offline-resilient-queue.d.ts +66 -0
- package/dist/tracker-adapted/performance-adapted.d.ts +13 -0
- package/dist/tracker-adapted/sourcemap-uploader-adapted.d.ts +19 -0
- package/dist/tracker-adapted/sourcemapreader-adapted.d.ts +19 -0
- package/dist/tracker-adapted/state-adapted.d.ts +17 -0
- package/dist/traffic-attribution.d.ts +39 -0
- package/dist/traffic-valuation-engine.d.ts +68 -0
- package/dist/types.d.ts +3 -3
- package/dist/ucp-validator.d.ts +67 -0
- package/dist/unified-hybrid-scorer.d.ts +86 -0
- package/dist/universal-seo-bridge.d.ts +174 -0
- package/dist/urlytics-engine.d.ts +0 -1
- package/dist/user-agent-parser.d.ts +25 -0
- package/dist/user-id-tracking.d.ts +74 -0
- package/dist/user-journeys-advanced.d.ts +30 -0
- package/dist/user-journeys.d.ts +19 -0
- package/dist/user-traits.d.ts +15 -0
- package/dist/utm-conventions.d.ts +37 -0
- package/dist/video-seo-metadata-optimizer.d.ts +54 -0
- package/dist/video-youtube-analyzer.d.ts +11 -0
- package/dist/wayback-client.d.ts +36 -0
- package/dist/webhook-service.d.ts +98 -0
- package/dist/webhooks-dispatcher.d.ts +178 -0
- package/dist/weekly-report.d.ts +40 -0
- package/dist/white-label-exports.d.ts +50 -0
- package/dist/word-frequency-analyzer.d.ts +48 -0
- package/dist/xlsx-workbook.d.ts +15 -0
- package/dist/xray-dashboard.d.ts +76 -0
- package/dist/yoast-parity.d.ts +86 -5
- package/dist/yoast-schema-graph.d.ts +39 -0
- package/dist/yoast-variable-replacer.d.ts +34 -0
- package/dist/yotpo-sync-engine.d.ts +28 -0
- package/dist/youtube-api-client.d.ts +139 -0
- package/package.json +32 -8
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* L'isolation par ligne et par colonne (« sandbox »).
|
|
3
|
+
*
|
|
4
|
+
* Le concept vient de Metabase (`enterprise/backend/src/metabase_enterprise/sandbox`) :
|
|
5
|
+
* un acteur n'est pas autorisé à lire toutes les lignes ni toutes les colonnes
|
|
6
|
+
* d'une ressource. Aucun code de l'amont n'est repris ici — l'adaptation porte
|
|
7
|
+
* sur le vocabulaire du noyau sémantique : une restriction porte sur une
|
|
8
|
+
* **dimension** du modèle, jamais sur une colonne brute, parce qu'une colonne
|
|
9
|
+
* brute peut ne pas exister dans le `baseSql` du modèle.
|
|
10
|
+
*
|
|
11
|
+
* Le module ne dépend d'aucun autre module du noyau : c'est le compilateur et
|
|
12
|
+
* l'évaluateur mémoire qui l'utilisent. Un filtre de ligne est converti en
|
|
13
|
+
* `QueryFilter`, ce qui garantit que la règle d'une ligne est évaluée par la
|
|
14
|
+
* **même** implémentation que celle d'un filtre de l'utilisateur.
|
|
15
|
+
*/
|
|
16
|
+
import type { FilterFieldType, QueryFilter, QueryValue } from "./filters/types";
|
|
17
|
+
/**
|
|
18
|
+
* Les opérateurs qu'une restriction de ligne peut employer.
|
|
19
|
+
*
|
|
20
|
+
* Sous-ensemble deliberé de `FilterOperator` : une restriction de sécurité
|
|
21
|
+
* n'a pas besoin de `between` (une plage se décompose en deux bornes) ni des
|
|
22
|
+
* opérateurs temporels (ils dépendent d'un instant de reference, pas d'une
|
|
23
|
+
* regle figee).
|
|
24
|
+
*/
|
|
25
|
+
export declare const SANDBOX_OPERATORS: readonly ["equals", "not_equals", "in", "not_in", "contains", "starts_with", "greater_than", "less_than"];
|
|
26
|
+
export type SandboxOperator = (typeof SANDBOX_OPERATORS)[number];
|
|
27
|
+
/**
|
|
28
|
+
* Un filtre de ligne : une dimension du modèle, un opérateur, et soit des
|
|
29
|
+
* valeurs **fixes**, soit le nom d'un **attribut de l'acteur**.
|
|
30
|
+
*
|
|
31
|
+
* Metabase n'utilise que l'égalité et une valeur venue des attributs de
|
|
32
|
+
* l'utilisateur (`login_attributes`). On conserve ce cas — c'est le cas
|
|
33
|
+
* d'usage canonique d'un SaaS multi-tenant (« ne voir que les lignes dont le
|
|
34
|
+
* client est mon client ») — et on accepte en plus des valeurs fixes et
|
|
35
|
+
* quelques opérateurs, parce que le noyau sémantique sait déjà les evaluer.
|
|
36
|
+
*/
|
|
37
|
+
export interface SandboxRowFilter {
|
|
38
|
+
dimension: string;
|
|
39
|
+
operator: SandboxOperator;
|
|
40
|
+
/** Valeurs fixes de la regle. */
|
|
41
|
+
values?: QueryValue[];
|
|
42
|
+
/**
|
|
43
|
+
* Nom d'un attribut de l'acteur. Quand il est present, la valeur de la
|
|
44
|
+
* regle est lue dans les attributs de l'acteur au moment de l'execution.
|
|
45
|
+
*/
|
|
46
|
+
attribute?: string;
|
|
47
|
+
}
|
|
48
|
+
/** Les attributs d'un acteur (cle -> valeur). */
|
|
49
|
+
export type SandboxAttributes = Record<string, QueryValue>;
|
|
50
|
+
/**
|
|
51
|
+
* L'ensemble des restrictions qui s'appliquent a un acteur pour un modele.
|
|
52
|
+
*
|
|
53
|
+
* `restrictedColumns` = colonnes que l'acteur ne peut **pas** lire.
|
|
54
|
+
* `obfuscatedColumns` = colonnes dont la valeur doit etre masquee dans le
|
|
55
|
+
* resultat (la colonne existe, la valeur ne doit pas fuir).
|
|
56
|
+
*/
|
|
57
|
+
export interface SandboxContext {
|
|
58
|
+
rowFilters: SandboxRowFilter[];
|
|
59
|
+
restrictedColumns: string[];
|
|
60
|
+
obfuscatedColumns: string[];
|
|
61
|
+
}
|
|
62
|
+
/** Une sandbox vide : l'acteur voit tout ce que le tenant lui deja. */
|
|
63
|
+
export declare function emptySandbox(): SandboxContext;
|
|
64
|
+
/** La sandbox est-elle vide (aucune restriction) ? */
|
|
65
|
+
export declare function isEmptySandbox(sandbox: SandboxContext): boolean;
|
|
66
|
+
/** La colonne est-elle interdite de lecture ? */
|
|
67
|
+
export declare function sandboxRestrictsColumn(sandbox: SandboxContext, name: string): boolean;
|
|
68
|
+
/** La valeur de la colonne doit-elle etre masquee ? */
|
|
69
|
+
export declare function sandboxObfuscatesColumn(sandbox: SandboxContext, name: string): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Verifie que l'acteur peut lire toutes les colonnes demandees.
|
|
72
|
+
*
|
|
73
|
+
* Une colonne restreinte fait echouer la requete : la retirer silencieusement
|
|
74
|
+
* du `SELECT` produirait un resultat trompeur (l'appelant croirait que la
|
|
75
|
+
* dimension est vide) et laisserait croire que l'acces a ete accorde.
|
|
76
|
+
*/
|
|
77
|
+
export declare function assertSandboxAllowsColumns(sandbox: SandboxContext, names: string[]): void;
|
|
78
|
+
/**
|
|
79
|
+
* Convertit un filtre de ligne en filtre de l'utilisateur.
|
|
80
|
+
*
|
|
81
|
+
* Le filtre produit est evalue par la meme implementation que ceux de
|
|
82
|
+
* l'utilisateur (`evaluateFilter` en memoire, `compileFilter` en SQL) : une
|
|
83
|
+
* regle de securite ne peut donc pas diverger de la semantique declaree.
|
|
84
|
+
*/
|
|
85
|
+
export declare function sandboxToQueryFilter(filter: SandboxRowFilter): QueryFilter;
|
|
86
|
+
/**
|
|
87
|
+
* Valide une sandbox venue de l'appelant.
|
|
88
|
+
*
|
|
89
|
+
* Une sandbox malformee est **refusee** (leve), jamais ignoree : l'ignorer
|
|
90
|
+
* reviendrait a lever une restriction d'acces sans le dire. Seule l'absence
|
|
91
|
+
* de sandbox (`undefined` / `null`) produit une sandbox vide.
|
|
92
|
+
*/
|
|
93
|
+
export declare function parseSandbox(value: unknown): SandboxContext;
|
|
94
|
+
/**
|
|
95
|
+
* Resout les filtres de ligne en filtres **executables**.
|
|
96
|
+
*
|
|
97
|
+
* Un filtre porte soit des valeurs fixes, soit un attribut de l'acteur. La
|
|
98
|
+
* valeur d'un attribut est lue dans les attributs fournis ; si l'attribut est
|
|
99
|
+
* absent, la regle **leve** : une regle d'acces dont la valeur manque ne
|
|
100
|
+
* peut pas etre remplacee par « pas de filtre », sinon la restriction
|
|
101
|
+
* disparaitrait silencieusement au moment ou l'evaluation de la requete est
|
|
102
|
+
* la plus stricte.
|
|
103
|
+
*/
|
|
104
|
+
export declare function resolveSandboxFilters(sandbox: SandboxContext, attributes: SandboxAttributes, resolveType?: (dimension: string) => FilterFieldType | undefined): SandboxRowFilter[];
|
|
105
|
+
/**
|
|
106
|
+
* Valide les attributs d'un acteur fournis par l'appelant.
|
|
107
|
+
*
|
|
108
|
+
* Un attribut mal typé est refuse : une regle qui devrait comparer un nombre
|
|
109
|
+
* a une chaine ne doit pas se comporter comme si la regle n'existait pas.
|
|
110
|
+
*/
|
|
111
|
+
export declare function parseSandboxAttributes(value: unknown): SandboxAttributes;
|
|
112
|
+
/**
|
|
113
|
+
* Combine deux sandboxes : la **plus restrictive** l'emporte.
|
|
114
|
+
*
|
|
115
|
+
* - Les colonnes restreintes : **union**. Une colonne interdite par l'une des
|
|
116
|
+
* deux regles reste interdite : la combinaison la plus restrictive de deux
|
|
117
|
+
* listes de refus est leur reunion, pas leur intersection.
|
|
118
|
+
* - Les colonnes obfusquees : **union** egalement, pour la meme raison.
|
|
119
|
+
* - Les filtres de ligne : **union**. Une ligne doit satisfaire toutes les
|
|
120
|
+
* regles : chaque predicat est ajoute au `WHERE`, donc la ligne est conservee
|
|
121
|
+
* seulement si elle passe les deux.
|
|
122
|
+
*/
|
|
123
|
+
export declare function mergeSandboxes(base: SandboxContext, other: SandboxContext): SandboxContext;
|
|
124
|
+
/**
|
|
125
|
+
* Masque les colonnes obfusquees d'un resultat.
|
|
126
|
+
*
|
|
127
|
+
* La valeur d'origine ne doit pas fuiter : elle est remplacee par `null`.
|
|
128
|
+
* Cette etape est une **defense en profondeur** — la requete SQL ne projetait
|
|
129
|
+
* deja pas la valeur d'une colonne restreinte — mais elle protege contre un
|
|
130
|
+
* driver qui renverrait une colonne non demandee.
|
|
131
|
+
*/
|
|
132
|
+
export declare function applySandboxToRows<T extends Record<string, unknown>>(rows: T[], sandbox: SandboxContext): T[];
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export type Schema = {
|
|
2
|
+
kind: "any";
|
|
3
|
+
} | {
|
|
4
|
+
kind: "string";
|
|
5
|
+
min?: number;
|
|
6
|
+
max?: number;
|
|
7
|
+
pattern?: RegExp;
|
|
8
|
+
} | {
|
|
9
|
+
kind: "number";
|
|
10
|
+
min?: number;
|
|
11
|
+
max?: number;
|
|
12
|
+
integer?: boolean;
|
|
13
|
+
} | {
|
|
14
|
+
kind: "boolean";
|
|
15
|
+
} | {
|
|
16
|
+
kind: "literal";
|
|
17
|
+
value: unknown;
|
|
18
|
+
} | {
|
|
19
|
+
kind: "enum";
|
|
20
|
+
values: unknown[];
|
|
21
|
+
} | {
|
|
22
|
+
kind: "array";
|
|
23
|
+
of: Schema;
|
|
24
|
+
minItems?: number;
|
|
25
|
+
maxItems?: number;
|
|
26
|
+
} | {
|
|
27
|
+
kind: "object";
|
|
28
|
+
properties: Record<string, Schema>;
|
|
29
|
+
required?: string[];
|
|
30
|
+
additionalProperties?: boolean;
|
|
31
|
+
} | {
|
|
32
|
+
kind: "tuple";
|
|
33
|
+
of: Schema[];
|
|
34
|
+
} | {
|
|
35
|
+
kind: "map";
|
|
36
|
+
of: Schema;
|
|
37
|
+
} | {
|
|
38
|
+
kind: "union";
|
|
39
|
+
of: Schema[];
|
|
40
|
+
} | {
|
|
41
|
+
kind: "ref";
|
|
42
|
+
name: string;
|
|
43
|
+
} | {
|
|
44
|
+
kind: "function";
|
|
45
|
+
fn: (value: unknown) => boolean | string;
|
|
46
|
+
};
|
|
47
|
+
export interface SchemaDef {
|
|
48
|
+
name: string;
|
|
49
|
+
schema: Schema;
|
|
50
|
+
version?: number;
|
|
51
|
+
description?: string;
|
|
52
|
+
coerce?: (value: unknown) => unknown;
|
|
53
|
+
}
|
|
54
|
+
declare class SchemaRegistry {
|
|
55
|
+
private schemas;
|
|
56
|
+
private versions;
|
|
57
|
+
register(def: SchemaDef): void;
|
|
58
|
+
unregister(name: string): void;
|
|
59
|
+
get(name: string): SchemaDef | undefined;
|
|
60
|
+
has(name: string): boolean;
|
|
61
|
+
list(): SchemaDef[];
|
|
62
|
+
getVersions(name: string): SchemaDef[];
|
|
63
|
+
}
|
|
64
|
+
export declare const schemaRegistry: SchemaRegistry;
|
|
65
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Schema } from "./schema-registry";
|
|
2
|
+
import "./schemas/index";
|
|
3
|
+
export interface ValidationError {
|
|
4
|
+
path: string[];
|
|
5
|
+
message: string;
|
|
6
|
+
schema?: string;
|
|
7
|
+
value?: unknown;
|
|
8
|
+
}
|
|
9
|
+
export interface ValidationResult {
|
|
10
|
+
valid: boolean;
|
|
11
|
+
errors: ValidationError[];
|
|
12
|
+
value?: unknown;
|
|
13
|
+
}
|
|
14
|
+
export declare function validate(value: unknown, schemaName: string): ValidationResult;
|
|
15
|
+
export declare function validateSchema(value: unknown, schema: Schema): ValidationResult;
|
|
16
|
+
export declare function explain(schema: Schema | string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function registerExprSchemas(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function registerPipelineSchemas(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function registerQuerySchemas(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function registerSemanticQuerySchema(): void;
|
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Le bundle semantique : l'export portable du catalogue d'un projet.
|
|
3
|
+
*
|
|
4
|
+
* Le bundle est un **contenu**, pas un instantane de base : il ne transporte
|
|
5
|
+
* ni identifiants techniques, ni horodatages, ni numero de version. Les noms
|
|
6
|
+
* servent de cles naturelles (un nom de modele, de segment, de transformation
|
|
7
|
+
* ou de question est unique dans un projet), ce qui permet d'importer le meme
|
|
8
|
+
* bundle dans deux projets sans collision d'identifiants, et de verifier
|
|
9
|
+
* qu'un aller-retour export/import/export redonne le meme contenu.
|
|
10
|
+
*
|
|
11
|
+
* Le format est versionne : une version superieure a celle que cette instance
|
|
12
|
+
* sait lire est refusee plutot que lue de travers.
|
|
13
|
+
*
|
|
14
|
+
* Le concept vient de la serialisation de Metabase
|
|
15
|
+
* (`enterprise/backend/src/metabase_enterprise/serialization`) : aucun code de
|
|
16
|
+
* l'amont n'est repris.
|
|
17
|
+
*/
|
|
18
|
+
import { z } from "zod";
|
|
19
|
+
import type { MetricExpr } from "./expr";
|
|
20
|
+
import type { SemanticDimension, SemanticJoin, SemanticMetric, SemanticModel, SemanticSegment, SemanticSource } from "./types";
|
|
21
|
+
import type { SemanticParameter } from "./parameters/types";
|
|
22
|
+
import type { SemanticQuery } from "./types";
|
|
23
|
+
import type { PivotSpec } from "./pivot";
|
|
24
|
+
import type { CachePolicy } from "./cache";
|
|
25
|
+
export declare const SEMANTIC_BUNDLE_FORMAT = "lynxseo.semantic.bundle";
|
|
26
|
+
export declare const SEMANTIC_BUNDLE_VERSION = 1;
|
|
27
|
+
/** Un modele dans sa forme portable : sans identifiant ni horodatage. */
|
|
28
|
+
export interface SemanticBundleModel {
|
|
29
|
+
name: string;
|
|
30
|
+
description?: string;
|
|
31
|
+
source: SemanticSource;
|
|
32
|
+
baseSql?: string;
|
|
33
|
+
joins?: SemanticJoin[];
|
|
34
|
+
parameters?: SemanticParameter[];
|
|
35
|
+
dimensions: SemanticDimension[];
|
|
36
|
+
metrics: SemanticMetric[];
|
|
37
|
+
}
|
|
38
|
+
/** Un segment dans sa forme portable : le modele est designe par son nom. */
|
|
39
|
+
export interface SemanticBundleSegment {
|
|
40
|
+
name: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
model: string;
|
|
43
|
+
filter: SemanticSegment["filter"];
|
|
44
|
+
}
|
|
45
|
+
/** Une transformation dans sa forme portable. */
|
|
46
|
+
export interface SemanticBundleTransform {
|
|
47
|
+
name: string;
|
|
48
|
+
description?: string;
|
|
49
|
+
model?: string;
|
|
50
|
+
dependsOn: string[];
|
|
51
|
+
schedule?: string;
|
|
52
|
+
sql: string;
|
|
53
|
+
}
|
|
54
|
+
/** Une question enregistree dans sa forme portable. */
|
|
55
|
+
export interface SemanticBundleQuestion {
|
|
56
|
+
name: string;
|
|
57
|
+
description?: string;
|
|
58
|
+
model: string;
|
|
59
|
+
query: SemanticQuery;
|
|
60
|
+
pivot?: PivotSpec;
|
|
61
|
+
display: "table" | "chart";
|
|
62
|
+
cachePolicy?: CachePolicy;
|
|
63
|
+
}
|
|
64
|
+
export interface SemanticBundle {
|
|
65
|
+
format: typeof SEMANTIC_BUNDLE_FORMAT;
|
|
66
|
+
version: number;
|
|
67
|
+
exportedAt: string;
|
|
68
|
+
models: SemanticBundleModel[];
|
|
69
|
+
segments: SemanticBundleSegment[];
|
|
70
|
+
transforms: SemanticBundleTransform[];
|
|
71
|
+
questions: SemanticBundleQuestion[];
|
|
72
|
+
}
|
|
73
|
+
/** Le schema du bundle, versionne et discrimine par son `format`. */
|
|
74
|
+
export declare const semanticBundleSchema: z.ZodObject<{
|
|
75
|
+
format: z.ZodLiteral<"lynxseo.semantic.bundle">;
|
|
76
|
+
version: z.ZodNumber;
|
|
77
|
+
exportedAt: z.ZodString;
|
|
78
|
+
models: z.ZodArray<z.ZodObject<{
|
|
79
|
+
name: z.ZodString;
|
|
80
|
+
description: z.ZodOptional<z.ZodString>;
|
|
81
|
+
source: z.ZodObject<{
|
|
82
|
+
kind: z.ZodEnum<{
|
|
83
|
+
postgres: "postgres";
|
|
84
|
+
clickhouse: "clickhouse";
|
|
85
|
+
d1: "d1";
|
|
86
|
+
inline: "inline";
|
|
87
|
+
}>;
|
|
88
|
+
label: z.ZodString;
|
|
89
|
+
table: z.ZodOptional<z.ZodString>;
|
|
90
|
+
projectColumn: z.ZodOptional<z.ZodString>;
|
|
91
|
+
}, z.core.$strip>;
|
|
92
|
+
baseSql: z.ZodOptional<z.ZodString>;
|
|
93
|
+
joins: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
94
|
+
model: z.ZodString;
|
|
95
|
+
on: z.ZodObject<{
|
|
96
|
+
left: z.ZodCustom<MetricExpr, MetricExpr>;
|
|
97
|
+
right: z.ZodCustom<MetricExpr, MetricExpr>;
|
|
98
|
+
}, z.core.$strip>;
|
|
99
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
100
|
+
left: "left";
|
|
101
|
+
inner: "inner";
|
|
102
|
+
}>>;
|
|
103
|
+
}, z.core.$strip>>>;
|
|
104
|
+
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
105
|
+
name: z.ZodString;
|
|
106
|
+
type: z.ZodEnum<{
|
|
107
|
+
string: "string";
|
|
108
|
+
number: "number";
|
|
109
|
+
boolean: "boolean";
|
|
110
|
+
date: "date";
|
|
111
|
+
category: "category";
|
|
112
|
+
}>;
|
|
113
|
+
label: z.ZodOptional<z.ZodString>;
|
|
114
|
+
default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>;
|
|
115
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
116
|
+
options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
117
|
+
multiple: z.ZodOptional<z.ZodBoolean>;
|
|
118
|
+
}, z.core.$strip>>>;
|
|
119
|
+
dimensions: z.ZodArray<z.ZodObject<{
|
|
120
|
+
name: z.ZodString;
|
|
121
|
+
expression: z.ZodCustom<MetricExpr, MetricExpr>;
|
|
122
|
+
type: z.ZodEnum<{
|
|
123
|
+
string: "string";
|
|
124
|
+
number: "number";
|
|
125
|
+
boolean: "boolean";
|
|
126
|
+
date: "date";
|
|
127
|
+
}>;
|
|
128
|
+
description: z.ZodOptional<z.ZodString>;
|
|
129
|
+
segmentable: z.ZodOptional<z.ZodBoolean>;
|
|
130
|
+
timezone: z.ZodOptional<z.ZodString>;
|
|
131
|
+
}, z.core.$strip>>;
|
|
132
|
+
metrics: z.ZodArray<z.ZodObject<{
|
|
133
|
+
name: z.ZodString;
|
|
134
|
+
expression: z.ZodCustom<MetricExpr, MetricExpr>;
|
|
135
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
136
|
+
string: "string";
|
|
137
|
+
number: "number";
|
|
138
|
+
boolean: "boolean";
|
|
139
|
+
date: "date";
|
|
140
|
+
}>>;
|
|
141
|
+
unit: z.ZodOptional<z.ZodEnum<{
|
|
142
|
+
count: "count";
|
|
143
|
+
ratio: "ratio";
|
|
144
|
+
currency: "currency";
|
|
145
|
+
duration: "duration";
|
|
146
|
+
percent: "percent";
|
|
147
|
+
position: "position";
|
|
148
|
+
score: "score";
|
|
149
|
+
}>>;
|
|
150
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
151
|
+
neutral: "neutral";
|
|
152
|
+
up: "up";
|
|
153
|
+
down: "down";
|
|
154
|
+
}>>;
|
|
155
|
+
format: z.ZodOptional<z.ZodString>;
|
|
156
|
+
description: z.ZodOptional<z.ZodString>;
|
|
157
|
+
}, z.core.$strip>>;
|
|
158
|
+
}, z.core.$strip>>;
|
|
159
|
+
segments: z.ZodArray<z.ZodObject<{
|
|
160
|
+
name: z.ZodString;
|
|
161
|
+
description: z.ZodOptional<z.ZodString>;
|
|
162
|
+
model: z.ZodString;
|
|
163
|
+
filter: z.ZodObject<{
|
|
164
|
+
field: z.ZodString;
|
|
165
|
+
operator: z.ZodEnum<{
|
|
166
|
+
equals: "equals";
|
|
167
|
+
not_equals: "not_equals";
|
|
168
|
+
contains: "contains";
|
|
169
|
+
starts_with: "starts_with";
|
|
170
|
+
ends_with: "ends_with";
|
|
171
|
+
greater_than: "greater_than";
|
|
172
|
+
greater_than_or_equal: "greater_than_or_equal";
|
|
173
|
+
less_than: "less_than";
|
|
174
|
+
less_than_or_equal: "less_than_or_equal";
|
|
175
|
+
in: "in";
|
|
176
|
+
not_in: "not_in";
|
|
177
|
+
is_null: "is_null";
|
|
178
|
+
is_not_null: "is_not_null";
|
|
179
|
+
between: "between";
|
|
180
|
+
on: "on";
|
|
181
|
+
not_contains: "not_contains";
|
|
182
|
+
is_empty: "is_empty";
|
|
183
|
+
is_not_empty: "is_not_empty";
|
|
184
|
+
before: "before";
|
|
185
|
+
after: "after";
|
|
186
|
+
}>;
|
|
187
|
+
value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>;
|
|
188
|
+
fieldType: z.ZodOptional<z.ZodEnum<{
|
|
189
|
+
string: "string";
|
|
190
|
+
number: "number";
|
|
191
|
+
boolean: "boolean";
|
|
192
|
+
date: "date";
|
|
193
|
+
}>>;
|
|
194
|
+
period: z.ZodOptional<z.ZodObject<{
|
|
195
|
+
unit: z.ZodEnum<{
|
|
196
|
+
day: "day";
|
|
197
|
+
week: "week";
|
|
198
|
+
month: "month";
|
|
199
|
+
quarter: "quarter";
|
|
200
|
+
year: "year";
|
|
201
|
+
}>;
|
|
202
|
+
value: z.ZodNumber;
|
|
203
|
+
offsetUnit: z.ZodOptional<z.ZodEnum<{
|
|
204
|
+
day: "day";
|
|
205
|
+
week: "week";
|
|
206
|
+
month: "month";
|
|
207
|
+
quarter: "quarter";
|
|
208
|
+
year: "year";
|
|
209
|
+
}>>;
|
|
210
|
+
offsetValue: z.ZodOptional<z.ZodNumber>;
|
|
211
|
+
includeCurrent: z.ZodOptional<z.ZodBoolean>;
|
|
212
|
+
}, z.core.$strip>>;
|
|
213
|
+
parameter: z.ZodOptional<z.ZodString>;
|
|
214
|
+
parameterTo: z.ZodOptional<z.ZodString>;
|
|
215
|
+
}, z.core.$strip>;
|
|
216
|
+
}, z.core.$strip>>;
|
|
217
|
+
transforms: z.ZodArray<z.ZodObject<{
|
|
218
|
+
name: z.ZodString;
|
|
219
|
+
description: z.ZodOptional<z.ZodString>;
|
|
220
|
+
model: z.ZodOptional<z.ZodString>;
|
|
221
|
+
dependsOn: z.ZodArray<z.ZodString>;
|
|
222
|
+
schedule: z.ZodOptional<z.ZodString>;
|
|
223
|
+
sql: z.ZodString;
|
|
224
|
+
}, z.core.$strip>>;
|
|
225
|
+
questions: z.ZodArray<z.ZodObject<{
|
|
226
|
+
name: z.ZodString;
|
|
227
|
+
description: z.ZodOptional<z.ZodString>;
|
|
228
|
+
model: z.ZodString;
|
|
229
|
+
query: z.ZodObject<{
|
|
230
|
+
model: z.ZodString;
|
|
231
|
+
dimensions: z.ZodArray<z.ZodString>;
|
|
232
|
+
metrics: z.ZodArray<z.ZodString>;
|
|
233
|
+
filters: z.ZodArray<z.ZodObject<{
|
|
234
|
+
field: z.ZodString;
|
|
235
|
+
operator: z.ZodEnum<{
|
|
236
|
+
equals: "equals";
|
|
237
|
+
not_equals: "not_equals";
|
|
238
|
+
contains: "contains";
|
|
239
|
+
starts_with: "starts_with";
|
|
240
|
+
ends_with: "ends_with";
|
|
241
|
+
greater_than: "greater_than";
|
|
242
|
+
greater_than_or_equal: "greater_than_or_equal";
|
|
243
|
+
less_than: "less_than";
|
|
244
|
+
less_than_or_equal: "less_than_or_equal";
|
|
245
|
+
in: "in";
|
|
246
|
+
not_in: "not_in";
|
|
247
|
+
is_null: "is_null";
|
|
248
|
+
is_not_null: "is_not_null";
|
|
249
|
+
between: "between";
|
|
250
|
+
on: "on";
|
|
251
|
+
not_contains: "not_contains";
|
|
252
|
+
is_empty: "is_empty";
|
|
253
|
+
is_not_empty: "is_not_empty";
|
|
254
|
+
before: "before";
|
|
255
|
+
after: "after";
|
|
256
|
+
}>;
|
|
257
|
+
value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>;
|
|
258
|
+
fieldType: z.ZodOptional<z.ZodEnum<{
|
|
259
|
+
string: "string";
|
|
260
|
+
number: "number";
|
|
261
|
+
boolean: "boolean";
|
|
262
|
+
date: "date";
|
|
263
|
+
}>>;
|
|
264
|
+
period: z.ZodOptional<z.ZodObject<{
|
|
265
|
+
unit: z.ZodEnum<{
|
|
266
|
+
day: "day";
|
|
267
|
+
week: "week";
|
|
268
|
+
month: "month";
|
|
269
|
+
quarter: "quarter";
|
|
270
|
+
year: "year";
|
|
271
|
+
}>;
|
|
272
|
+
value: z.ZodNumber;
|
|
273
|
+
offsetUnit: z.ZodOptional<z.ZodEnum<{
|
|
274
|
+
day: "day";
|
|
275
|
+
week: "week";
|
|
276
|
+
month: "month";
|
|
277
|
+
quarter: "quarter";
|
|
278
|
+
year: "year";
|
|
279
|
+
}>>;
|
|
280
|
+
offsetValue: z.ZodOptional<z.ZodNumber>;
|
|
281
|
+
includeCurrent: z.ZodOptional<z.ZodBoolean>;
|
|
282
|
+
}, z.core.$strip>>;
|
|
283
|
+
parameter: z.ZodOptional<z.ZodString>;
|
|
284
|
+
parameterTo: z.ZodOptional<z.ZodString>;
|
|
285
|
+
}, z.core.$strip>>;
|
|
286
|
+
sort: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
287
|
+
by: z.ZodString;
|
|
288
|
+
dir: z.ZodEnum<{
|
|
289
|
+
asc: "asc";
|
|
290
|
+
desc: "desc";
|
|
291
|
+
}>;
|
|
292
|
+
}, z.core.$strip>>>;
|
|
293
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
294
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
295
|
+
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
296
|
+
name: z.ZodString;
|
|
297
|
+
type: z.ZodEnum<{
|
|
298
|
+
string: "string";
|
|
299
|
+
number: "number";
|
|
300
|
+
boolean: "boolean";
|
|
301
|
+
date: "date";
|
|
302
|
+
category: "category";
|
|
303
|
+
}>;
|
|
304
|
+
label: z.ZodOptional<z.ZodString>;
|
|
305
|
+
default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>;
|
|
306
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
307
|
+
options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
308
|
+
multiple: z.ZodOptional<z.ZodBoolean>;
|
|
309
|
+
}, z.core.$strip>>>;
|
|
310
|
+
parameterValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>>;
|
|
311
|
+
}, z.core.$strip>;
|
|
312
|
+
pivot: z.ZodOptional<z.ZodObject<{
|
|
313
|
+
rowFields: z.ZodArray<z.ZodString>;
|
|
314
|
+
columnFields: z.ZodArray<z.ZodString>;
|
|
315
|
+
valueFields: z.ZodArray<z.ZodString>;
|
|
316
|
+
showRowTotals: z.ZodOptional<z.ZodBoolean>;
|
|
317
|
+
showColumnTotals: z.ZodOptional<z.ZodBoolean>;
|
|
318
|
+
}, z.core.$strip>>;
|
|
319
|
+
display: z.ZodEnum<{
|
|
320
|
+
table: "table";
|
|
321
|
+
chart: "chart";
|
|
322
|
+
}>;
|
|
323
|
+
cachePolicy: z.ZodOptional<z.ZodObject<{
|
|
324
|
+
ttlSeconds: z.ZodNumber;
|
|
325
|
+
earlyRefreshRatio: z.ZodOptional<z.ZodNumber>;
|
|
326
|
+
maxTtlSeconds: z.ZodOptional<z.ZodNumber>;
|
|
327
|
+
maxSizeKb: z.ZodOptional<z.ZodNumber>;
|
|
328
|
+
}, z.core.$strip>>;
|
|
329
|
+
}, z.core.$strip>>;
|
|
330
|
+
}, z.core.$strip>;
|
|
331
|
+
/**
|
|
332
|
+
* Lit un bundle et le valide **en entier**.
|
|
333
|
+
*
|
|
334
|
+
* Le format et la version sont verifies avant le schema : un bundle ecrit par
|
|
335
|
+
* une version ulterieure de LynxSEO doit etre refuse avec un message qui
|
|
336
|
+
* nomme la version, pas avec une erreur de forme sur le premier champ.
|
|
337
|
+
*/
|
|
338
|
+
export declare function parseSemanticBundle(raw: string): SemanticBundle;
|
|
339
|
+
/** Serialise un bundle de facon stable (indentation de deux espaces). */
|
|
340
|
+
export declare function stringifySemanticBundle(bundle: SemanticBundle): string;
|
|
341
|
+
/** Construit un bundle vide, a la version courante. */
|
|
342
|
+
export declare function emptySemanticBundle(exportedAt: string): SemanticBundle;
|
|
343
|
+
/**
|
|
344
|
+
* Le contenu d'un bundle, sans les enveloppe ni les champs volatils.
|
|
345
|
+
*
|
|
346
|
+
* Deux bundles egaux ont le meme contenu : c'est ce que verifie l'aller-retour
|
|
347
|
+
* export/import/export.
|
|
348
|
+
*/
|
|
349
|
+
export declare function semanticBundleContent(bundle: SemanticBundle): {
|
|
350
|
+
models: SemanticBundleModel[];
|
|
351
|
+
segments: SemanticBundleSegment[];
|
|
352
|
+
transforms: SemanticBundleTransform[];
|
|
353
|
+
questions: SemanticBundleQuestion[];
|
|
354
|
+
};
|
|
355
|
+
/** Reconvertit un modele de catalogue en modele portable. */
|
|
356
|
+
export declare function toBundleModel(model: SemanticModel): SemanticBundleModel;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { SqlAstNode, SelectStmt, ColumnRef, LiteralExpr, BinaryExpr, UnaryExpr, RawSql, FunctionCall, CastExpr, CaseExpr, SubqueryExpr, CteStmt, OrderByItem, JoinClause, GroupByItem, WindowSpec, ParamRef, StarExpr, InExpr, BetweenExpr, ExistsExpr } from "./sql-ast";
|
|
2
|
+
export declare const sql: {
|
|
3
|
+
bin: (op: string, left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
4
|
+
select: (cols: SqlAstNode[], from?: SqlAstNode, opts?: Partial<Omit<SelectStmt, "kind" | "columns" | "from">>) => SelectStmt;
|
|
5
|
+
col: (name: string, alias?: string, table?: string, expr?: SqlAstNode) => ColumnRef;
|
|
6
|
+
lit: (value: unknown) => LiteralExpr;
|
|
7
|
+
param: (index: number, type?: string, value?: unknown) => ParamRef;
|
|
8
|
+
fn: (name: string, args?: SqlAstNode[]) => FunctionCall;
|
|
9
|
+
count: (expr?: SqlAstNode) => FunctionCall;
|
|
10
|
+
sum: (expr: SqlAstNode) => FunctionCall;
|
|
11
|
+
avg: (expr: SqlAstNode) => FunctionCall;
|
|
12
|
+
min: (expr: SqlAstNode) => FunctionCall;
|
|
13
|
+
max: (expr: SqlAstNode) => FunctionCall;
|
|
14
|
+
and: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
15
|
+
or: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
16
|
+
eq: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
17
|
+
ne: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
18
|
+
gt: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
19
|
+
gte: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
20
|
+
lt: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
21
|
+
lte: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
22
|
+
add: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
23
|
+
sub: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
24
|
+
mul: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
25
|
+
div: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
26
|
+
is: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
27
|
+
isNot: (left: SqlAstNode, right: SqlAstNode) => BinaryExpr;
|
|
28
|
+
not: (expr: SqlAstNode) => UnaryExpr;
|
|
29
|
+
case: (whens: {
|
|
30
|
+
when: SqlAstNode;
|
|
31
|
+
then: SqlAstNode;
|
|
32
|
+
}[], elseExpr?: SqlAstNode) => CaseExpr;
|
|
33
|
+
cast: (expr: SqlAstNode, type: string) => CastExpr;
|
|
34
|
+
subquery: (stmt: SqlAstNode, alias?: string) => SubqueryExpr;
|
|
35
|
+
cte: (name: string, query: SqlAstNode, columns?: string[]) => CteStmt;
|
|
36
|
+
join: (table: SqlAstNode, on?: SqlAstNode, type?: JoinClause["type"]) => JoinClause;
|
|
37
|
+
orderBy: (expr: SqlAstNode, dir?: "asc" | "desc") => OrderByItem;
|
|
38
|
+
window: (name?: string, partitionBy?: SqlAstNode[], orderBy?: SqlAstNode[], frame?: string) => WindowSpec;
|
|
39
|
+
star: (table?: string) => StarExpr;
|
|
40
|
+
in: (expr: SqlAstNode, values: SqlAstNode[]) => InExpr;
|
|
41
|
+
between: (expr: SqlAstNode, low: SqlAstNode, high: SqlAstNode) => BetweenExpr;
|
|
42
|
+
exists: (subquery: SelectStmt) => ExistsExpr;
|
|
43
|
+
groupBy: (expr: SqlAstNode) => GroupByItem;
|
|
44
|
+
raw: (sql: string, params?: unknown[]) => RawSql;
|
|
45
|
+
};
|