Your Friendly Open-Source Gen-AI Platform
This report presents the forensic synthetic code analysis of pollinations/pollinations, a TypeScript project with 5,004 GitHub stars. SynthScan v2.0 examined 531,845 lines of code across 1871 source files, recording 1147 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 4.0 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1147 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …s.ai/frontend/src/components/quests/quest-overview.tsx | 82 | // ── Category model ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s.ai/frontend/src/components/quests/quest-overview.tsx | 168 | // ── Formatting helpers ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s.ai/frontend/src/components/quests/quest-overview.tsx | 215 | // ── Card model ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s.ai/frontend/src/components/quests/quest-overview.tsx | 237 | // ── Presentational primitives (composed from @pollinations/ui) ─────────────── | COMMENT |
| MEDIUM⚡ | operations/social/buffer-schedule.yml | 9 | # ── Daily platforms (via Buffer) ───────────────────────────────────── | COMMENT |
| MEDIUM⚡ | operations/social/buffer-schedule.yml | 19 | # ── Daily platforms (not via Buffer) ───────────────────────────────── | COMMENT |
| MEDIUM⚡ | operations/social/buffer-schedule.yml | 23 | # ── Weekly (Sunday 18:00 UTC) ────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/buffer-schedule.yml | 43 | # ── Non-social outputs ────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/publish_weekly.py | 34 | # ── Helpers ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/publish_weekly.py | 152 | # ── Main ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/publish_weekly.py | 171 | # ── Buffer staging (Twitter + LinkedIn + Instagram) ─────────── | COMMENT |
| MEDIUM | operations/social/scripts/publish_weekly.py | 192 | # ── Direct channels (Reddit + Discord) ──────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/publish_realtime.py | 32 | # ── Helpers ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/publish_realtime.py | 87 | # ── Main ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/publish_realtime.py | 102 | # ── Fetch gist ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/publish_realtime.py | 117 | # ── Generate Discord message ────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_realtime.py | 38 | # ── GitHub helpers ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_realtime.py | 87 | # ── App catalog lookup ────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_realtime.py | 120 | # ── Step 1: AI analysis ───────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_realtime.py | 189 | # ── Step 2: Image generation ──────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_realtime.py | 217 | # ── Main ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_realtime.py | 230 | # ── Fetch PR data ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_realtime.py | 235 | # ── Step 1: AI analysis → gist JSON → commit ──────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_realtime.py | 251 | # ── Step 2: Generate image → update gist ───────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_weekly.py | 47 | # ── Constants ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_weekly.py | 59 | # ── Helpers ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_weekly.py | 148 | # ── Step 1: Generate weekly summary ───────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_weekly.py | 195 | # ── Step 2: Generate platform posts ───────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_weekly.py | 275 | # ── Step 3: Generate images ──────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_weekly.py | 380 | # ── Step 4: Commit to news branch ───────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_weekly.py | 460 | # ── Main ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_weekly.py | 475 | # ── Read gists ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_weekly.py | 486 | # ── Generate summary ───────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_weekly.py | 499 | # ── Generate platform posts ────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_weekly.py | 554 | # ── Commit to news branch ──────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/common.py | 514 | # ── Gist I/O helpers ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/common.py | 970 | # ── VPS deployment ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_daily.py | 49 | # ── Constants ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_daily.py | 55 | # ── Highlights ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_daily.py | 177 | # ── Helpers ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_daily.py | 222 | # ── Step 1: Generate daily summary ────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_daily.py | 260 | # ── Step 2: Generate platform posts ───────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_daily.py | 271 | # ── Step 3: Generate platform images ──────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_daily.py | 325 | # ── Step 4: Commit to news branch ───────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_daily.py | 390 | # ── Main ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_daily.py | 405 | # ── Read gists ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_daily.py | 449 | # ── Generate summary ───────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_daily.py | 461 | # ── Generate platform posts ────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_daily.py | 485 | # ── Generate highlights ────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/generate_daily.py | 489 | # ── Commit daily content to news branch ────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/publish_daily.py | 35 | # ── Main ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/publish_daily.py | 54 | # ── Buffer staging (Twitter) ───────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/publish_daily.py | 71 | # ── Direct channels (Reddit) ───────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 56 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 58 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 111 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 113 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 176 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 178 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 297 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| 124 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | README.md | 147 | curl -H "Authorization: Bearer YOUR_API_KEY" 'https://gen.pollinations.ai/image/a%20beautiful%20sunset' -o image.jpg | CODE |
| HIGH⚡ | README.md | 155 | curl 'https://gen.pollinations.ai/text/Hello%20world?key=YOUR_API_KEY' | CODE |
| HIGH⚡ | README.md | 163 | curl 'https://gen.pollinations.ai/audio/Hello%20from%20Pollinations?voice=nova&key=YOUR_API_KEY' -o speech.mp3 | CODE |
| HIGH⚡ | README.md | 171 | -H 'Authorization: Bearer YOUR_API_KEY' \ | CODE |
| HIGH⚡ | README.md | 182 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH⚡ | README.md | 190 | curl 'https://gen.pollinations.ai/video/a%20sunset%20timelapse%20over%20the%20ocean?key=YOUR_API_KEY' -o video.mp4 | CODE |
| HIGH⚡ | README.md | 198 | curl 'https://gen.pollinations.ai/3d/a%20low-poly%20treasure%20chest?model=trellis-2&resolution=low&key=YOUR_API_KEY&ima | CODE |
| HIGH⚡ | README.md | 208 | -H 'Authorization: Bearer YOUR_API_KEY' \ | CODE |
| HIGH | README.md | 340 | apiKey: "YOUR_API_KEY", | CODE |
| HIGH | README.md | 355 | client = OpenAI(base_url="https://gen.pollinations.ai/v1", api_key="YOUR_API_KEY") | CODE |
| HIGH | README.md | 374 | apiKey: "YOUR_API_KEY", | CODE |
| HIGH | APIDOCS.md | 535 | **Authentication:** Include your API key as `Authorization: Bearer YOUR_API_KEY`. | CODE |
| HIGH | APIDOCS.md | 577 | **Authentication:** Include your API key as `Authorization: Bearer YOUR_API_KEY`. | CODE |
| HIGH | APIDOCS.md | 1866 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | APIDOCS.md | 1874 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | media.pollinations.ai/README.md | 24 | -H "Authorization: Bearer <your-api-key>" \ | CODE |
| HIGH | media.pollinations.ai/README.md | 29 | -H "Authorization: Bearer <your-api-key>" \ | CODE |
| HIGH | media.pollinations.ai/README.md | 55 | -H "Authorization: Bearer <your-api-key>" \ | CODE |
| HIGH | media.pollinations.ai/README.md | 189 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | media.pollinations.ai/README.md | 201 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | enter.pollinations.ai/AGENTS.md | 21 | - Header: `Authorization: Bearer YOUR_API_KEY` | CODE |
| HIGH | enter.pollinations.ai/AGENTS.md | 22 | - Query: `?key=YOUR_API_KEY` | CODE |
| HIGH | gen.pollinations.ai/src/docs/authentication.md | 15 | - Header: `Authorization: Bearer YOUR_API_KEY` | CODE |
| HIGH | gen.pollinations.ai/src/docs/authentication.md | 16 | - Query param: `?key=YOUR_API_KEY` | CODE |
| HIGH | gen.pollinations.ai/src/docs/safety.md | 13 | -H "Authorization: Bearer YOUR_API_KEY" | CODE |
| HIGH | gen.pollinations.ai/src/docs/safety.md | 16 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | gen.pollinations.ai/src/docs/quick-start.md | 7 | client = OpenAI(base_url="https://gen.pollinations.ai/v1", api_key="YOUR_API_KEY") | CODE |
| HIGH⚡ | gen.pollinations.ai/src/docs/quick-start.md | 22 | -H "Authorization: Bearer YOUR_API_KEY" -o speech.mp3 | CODE |
| HIGH⚡ | gen.pollinations.ai/src/docs/quick-start.md | 29 | -H "Authorization: Bearer YOUR_API_KEY" -o model.glb | CODE |
| HIGH⚡ | gen.pollinations.ai/src/docs/quick-start.md | 36 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | gen.pollinations.ai/src/docs/media-storage.md | 21 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | gen.pollinations.ai/src/docs/media-storage.md | 29 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 56 | api_key="YOUR_API_KEY" | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 72 | apiKey: "YOUR_API_KEY", | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 87 | -H "Authorization: Bearer YOUR_API_KEY"`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 97 | headers={"Authorization": "Bearer YOUR_API_KEY"}, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 106 | { headers: { Authorization: "Bearer YOUR_API_KEY" } }, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 123 | -H "Authorization: Bearer YOUR_API_KEY" -o image.jpg | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 127 | -H "Authorization: Bearer YOUR_API_KEY" -o video.mp4`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 137 | headers={"Authorization": "Bearer YOUR_API_KEY"}, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 147 | { headers: { Authorization: "Bearer YOUR_API_KEY" } }, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 157 | -H "Authorization: Bearer YOUR_API_KEY" -o video.mp4`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 167 | headers={"Authorization": "Bearer YOUR_API_KEY"}, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 177 | { headers: { Authorization: "Bearer YOUR_API_KEY" } }, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 188 | -H "Authorization: Bearer YOUR_API_KEY" -o speech.mp3 | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 192 | -H "Authorization: Bearer YOUR_API_KEY" -o music.mp3`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 202 | headers={"Authorization": "Bearer YOUR_API_KEY"}, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 212 | { headers: { Authorization: "Bearer YOUR_API_KEY" } }, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 222 | -H "Authorization: Bearer YOUR_API_KEY" \\ | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 278 | api_key="YOUR_API_KEY", | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 295 | apiKey: "YOUR_API_KEY", | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 310 | -H "Authorization: Bearer YOUR_API_KEY"`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 319 | headers={"Authorization": "Bearer YOUR_API_KEY"}, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 328 | { headers: { Authorization: "Bearer YOUR_API_KEY" } }, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 339 | -H "Authorization: Bearer YOUR_API_KEY"`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 348 | headers={"Authorization": "Bearer YOUR_API_KEY"}, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 358 | { headers: { Authorization: "Bearer YOUR_API_KEY" } }, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 369 | -H "Authorization: Bearer YOUR_API_KEY"`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 378 | headers={"Authorization": "Bearer YOUR_API_KEY"}, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 388 | { headers: { Authorization: "Bearer YOUR_API_KEY" } }, | CODE |
| 28 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …i/frontend/src/components/pollen/auto-top-up-panel.tsx | 430 | function mapToggleStatusToSwitchStatus( | CODE |
| LOW | …i/frontend/src/components/pollen/auto-top-up-panel.tsx | 599 | function readAutoTopUpDraftPackAmount(): number | null { | CODE |
| LOW | …i/frontend/src/components/pollen/auto-top-up-panel.tsx | 612 | function writeAutoTopUpDraftPackAmount(packAmountUsd: number): void { | CODE |
| LOW | …tend/src/components/activity/format-activity-pollen.ts | 13 | function decimalsForActivityPollen(abs: number): number { | CODE |
| LOW | …tend/src/components/activity/format-activity-pollen.ts | 35 | export function formatActivityPollenThreshold(value: number): string { | CODE |
| LOW | ….ai/frontend/src/components/layout/dashboard-shell.tsx | 375 | function useDashboardShellBodyClass(): void { | CODE |
| LOW | …end/src/components/community-endpoints/price-table.tsx | 383 | export function hasValidVisibleFormPrices( | CODE |
| LOW | …y-endpoints/community-endpoint-toggle-confirmation.tsx | 10 | export function CommunityEndpointToggleConfirmation({ | CODE |
| LOW | …i/frontend/src/components/community-endpoints/types.ts | 118 | export function publicCommunityFallbackOptions( | CODE |
| LOW | …i/frontend/src/components/community-endpoints/types.ts | 260 | export function pricePerTokenToPerMillion(value: number): string { | CODE |
| LOW | …i/frontend/src/components/community-endpoints/types.ts | 264 | export function pricePerMillionToPerToken(value: string): number { | CODE |
| LOW | …y-endpoints/community-endpoint-delete-confirmation.tsx | 10 | export function CommunityEndpointDeleteConfirmation({ | CODE |
| LOW | …ons.ai/frontend/src/components/models/model-catalog.ts | 119 | export function parseModelCatalogResponse(data: unknown): ApiModelInfo[] { | CODE |
| LOW | …ons.ai/frontend/src/components/models/model-catalog.ts | 587 | export function getModelPricesFromCatalog( | CODE |
| LOW | …ations.ai/frontend/src/components/models/model-row.tsx | 172 | export function getModelTitleTooltipContent(model: ModelPrice): ReactNode { | CODE |
| LOW | …tions.ai/frontend/src/components/models/model-query.ts | 82 | function getSearchableCapabilities(model: ModelPrice): string[] { | CODE |
| LOW | ….ai/frontend/src/components/models/model-categories.ts | 99 | export function getModelCategoriesFromCatalog( | CODE |
| LOW | ….ai/frontend/src/components/models/model-categories.ts | 132 | export function computeCategoryModalities( | CODE |
| LOW | …ons.ai/frontend/src/components/keys/model-selection.ts | 1 | export function normalizeAllowedModelSelection( | CODE |
| LOW | enter.pollinations.ai/test/integration/stripe.test.ts | 69 | function createAutoTopUpInvoiceEvent( | CODE |
| LOW | enter.pollinations.ai/test/integration/stripe.test.ts | 193 | function createCardPaymentFailedEvent({ | CODE |
| LOW | …ter.pollinations.ai/test/helpers/billing-assertions.ts | 57 | export function assertTrackedBillingEvent( | CODE |
| LOW | enter.pollinations.ai/src/utils/stripe-card-gate.ts | 23 | export async function getStripeNewCardGateStatus( | CODE |
| LOW | enter.pollinations.ai/src/utils/stripe-card-gate.ts | 59 | export function stripeNewCardGateMetadata( | CODE |
| LOW | enter.pollinations.ai/src/utils/stripe-card-gate.ts | 71 | export async function recordStripeCardFingerprintAttempt( | CODE |
| LOW | …ns.ai/src/utils/stripe-billing/invoice-verification.ts | 15 | export async function verifyAutoTopUpInvoicePayment( | CODE |
| LOW | …ns.ai/src/utils/stripe-billing/invoice-verification.ts | 79 | async function getInvoiceLinesForVerification( | CODE |
| LOW | …ns.ai/src/utils/stripe-billing/invoice-verification.ts | 103 | function getInvoiceLineAmountCents(line: Stripe.InvoiceLineItem): number { | CODE |
| LOW | …r.pollinations.ai/src/utils/stripe-billing/customer.ts | 12 | export async function getOrCreateStripeCustomerId( | CODE |
| LOW | …r.pollinations.ai/src/utils/stripe-billing/customer.ts | 12 | export async function getOrCreateStripeCustomerId( | CODE |
| LOW | …ter.pollinations.ai/src/utils/stripe-billing/portal.ts | 13 | export async function createBillingPortalSession( | CODE |
| LOW | …ter.pollinations.ai/src/utils/stripe-billing/portal.ts | 33 | async function ensureBillingPortalConfiguration( | CODE |
| LOW | …ter.pollinations.ai/src/utils/stripe-billing/portal.ts | 81 | function createBillingPortalConfigurationParams( | CODE |
| LOW | …ter.pollinations.ai/src/utils/stripe-billing/portal.ts | 113 | function isBillingPortalConfigurationCurrent( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 435 | export async function markAutoTopUpInvoiceFailed( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 472 | async function retrieveInvoicePaymentIntent( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 492 | async function findPendingAutoTopUpAttempt( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 518 | async function expireStaleClaimedAttempts( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 534 | async function reconcileStalePendingAttempt( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 636 | async function setAutoTopUpAttemptInvoice( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 666 | async function getAutoTopUpAttemptByInvoiceId( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 715 | async function markAttemptFailedByInvoice( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 746 | async function cleanupFailedAutoTopUpInvoice( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 762 | async function cleanupRetrievedAutoTopUpInvoice( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 792 | function createAutoTopUpIdempotencyKey(attemptId: string): string { | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 796 | function shouldDisableAutoTopUpAfterFailure(error: unknown): boolean { | CODE |
| LOW | enter.pollinations.ai/src/routes/account.ts | 263 | function buildUsageWindowFromPeriod({ | CODE |
| LOW | enter.pollinations.ai/src/routes/account.ts | 322 | function parseCommaSeparatedQueryList(value?: string): string[] { | CODE |
| LOW | enter.pollinations.ai/src/routes/stripe.ts | 356 | function normalizeStripePortalError(error: unknown): string { | CODE |
| LOW | enter.pollinations.ai/src/routes/stripe-webhooks.ts | 103 | async function recordFailedCardFingerprintFromCharge({ | CODE |
| LOW | enter.pollinations.ai/src/routes/stripe-webhooks.ts | 145 | async function fetchChargeForPaymentIntent( | CODE |
| LOW | enter.pollinations.ai/src/routes/stripe-webhooks.ts | 204 | async function creditCheckoutSessionOnce({ | CODE |
| LOW | enter.pollinations.ai/src/routes/stripe-webhooks.ts | 263 | async function sendStripeEventToTinybird( | CODE |
| LOW | enter.pollinations.ai/src/routes/stripe-webhooks.ts | 356 | function emitCheckoutSessionAnalytics( | CODE |
| LOW | enter.pollinations.ai/src/routes/stripe-webhooks.ts | 395 | function emitPaymentIntentAnalytics( | CODE |
| LOW | enter.pollinations.ai/src/routes/community-endpoints.ts | 78 | function normalizeInputBearerToken(value: string): string { | CODE |
| LOW | enter.pollinations.ai/src/routes/community-endpoints.ts | 91 | function normalizeInputProviderUrl(value: string): string { | CODE |
| LOW | enter.pollinations.ai/src/routes/community-endpoints.ts | 104 | async function requireCommunityEndpointPublishAccess( | CODE |
| LOW | enter.pollinations.ai/src/routes/community-endpoints.ts | 121 | async function requireOwnerGithubUsername( | CODE |
| LOW | enter.pollinations.ai/src/routes/community-endpoints.ts | 190 | async function enforceEndpointProbeThrottle( | CODE |
| 358 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/web-research/scripts/web-research.sh | 173 | except Exception as e: | CODE |
| MEDIUM | .claude/skills/web-research/scripts/web-research.sh | 174 | print(f"Error: {e}", file=sys.stderr) | CODE |
| LOW | operations/app-management/ingestion/review-agent.py | 390 | except Exception as error: | STRING |
| LOW | operations/app-management/ingestion/review-agent.py | 396 | except Exception as comment_error: | STRING |
| LOW | operations/social/scripts/publish_weekly.py | 95 | except Exception as e: | CODE |
| LOW | operations/social/scripts/publish_weekly.py | 134 | except Exception: | CODE |
| LOW | operations/social/scripts/publish_realtime.py | 164 | except Exception: | CODE |
| LOW | operations/social/scripts/publish_realtime.py | 242 | except Exception: | CODE |
| LOW | operations/social/scripts/publish_realtime.py | 247 | except Exception as e: | CODE |
| MEDIUM | operations/social/scripts/common.py | 211 | print(f"Error: {key} environment variable is required") | CODE |
| LOW | operations/social/scripts/common.py | 1073 | except Exception as e: | STRING |
| LOW | operations/social/scripts/buffer_publish.py | 295 | except Exception as error: | CODE |
| LOW | operations/github/project_manager.py | 364 | except Exception as e: | STRING |
| LOW | operations/infrastructure/gpu/dreamshaper/server.py | 77 | except Exception: | CODE |
| LOW | operations/infrastructure/gpu/dreamshaper/server.py | 110 | except Exception as e: | CODE |
| LOW | operations/infrastructure/gpu/dreamshaper/server.py | 121 | except Exception as e: | CODE |
| LOW | operations/infrastructure/gpu/dreamshaper/server.py | 160 | except Exception as e: | CODE |
| LOW | operations/infrastructure/gpu/flux/server.py | 91 | except Exception as e: | CODE |
| LOW | operations/infrastructure/gpu/flux/server.py | 103 | except Exception as e: | CODE |
| LOW | operations/infrastructure/gpu/flux/server.py | 134 | except Exception as e: | CODE |
| LOW | operations/infrastructure/gpu/flux/server.py | 145 | except Exception as e: | CODE |
| LOW | operations/infrastructure/gpu/flux/server.py | 297 | except Exception as e: | CODE |
| MEDIUM | operations/infrastructure/gpu/flux/server.py | 59 | def get_public_ip(): | CODE |
| LOW | …tions/infrastructure/gpu/flux/safety_checker/censor.py | 76 | except Exception as e: | CODE |
| LOW | operations/infrastructure/gpu/zimage/benchmark-vast.py | 54 | except Exception as error: # noqa: BLE001 - report all benchmark failures | CODE |
| LOW | operations/infrastructure/gpu/zimage/server.py | 44 | except Exception: | CODE |
| LOW | operations/infrastructure/gpu/zimage/server.py | 70 | except Exception as e: | CODE |
| LOW | operations/infrastructure/gpu/zimage/server.py | 82 | except Exception as e: | CODE |
| LOW | operations/infrastructure/gpu/zimage/server.py | 255 | except Exception as e: | CODE |
| MEDIUM | operations/infrastructure/gpu/zimage/server.py | 40 | def get_public_ip(): | CODE |
| LOW | apps/polli/main.py | 41 | except Exception: | CODE |
| LOW | apps/polli/scripts/embed_code.py | 335 | except Exception: | CODE |
| LOW | apps/polli/scripts/embed_code.py | 616 | except Exception as e: | CODE |
| LOW | apps/polli/scripts/embed_code.py | 705 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 303 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 437 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 471 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 587 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 720 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 746 | except Exception: | CODE |
| LOW | apps/polli/src/bot.py | 761 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 770 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 985 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 1085 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 1165 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 1357 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 1430 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 1450 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 1511 | except Exception as e: | CODE |
| LOW⚡ | apps/polli/src/discord/media.py | 191 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/media.py | 143 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/media.py | 153 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/media.py | 254 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/media.py | 265 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/media.py | 540 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/search.py | 139 | except Exception: | CODE |
| LOW | apps/polli/src/discord/search.py | 155 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/search.py | 231 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/search.py | 279 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/search.py | 308 | except Exception: | CODE |
| 109 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | operations/social/scripts/publish_models_news.py | 29 | CODE | |
| LOW | operations/social/scripts/generate_models_news.py | 26 | CODE | |
| LOW | operations/infrastructure/gpu/flux/server.py | 3 | CODE | |
| LOW | operations/infrastructure/gpu/flux/server.py | 4 | CODE | |
| LOW | operations/infrastructure/gpu/flux/server.py | 5 | CODE | |
| LOW | operations/infrastructure/gpu/flux/server.py | 5 | CODE | |
| LOW | operations/infrastructure/gpu/flux/server.py | 6 | CODE | |
| LOW | …frastructure/gpu/flux/safety_checker/safety_checker.py | 3 | CODE | |
| LOW | operations/infrastructure/gpu/zimage/utility.py | 2 | CODE | |
| LOW | operations/infrastructure/gpu/zimage/utility.py | 7 | CODE | |
| LOW | operations/infrastructure/gpu/zimage/utility.py | 8 | CODE | |
| LOW | …rations/infrastructure/gpu/zimage/network_inference.py | 4 | CODE | |
| LOW | apps/polli/scripts/embed_code.py | 11 | CODE | |
| LOW | apps/polli/src/context/__init__.py | 3 | CODE | |
| LOW | apps/polli/src/context/__init__.py | 3 | CODE | |
| LOW | apps/polli/src/context/__init__.py | 4 | CODE | |
| LOW | apps/polli/src/core/config.py | 8 | CODE | |
| LOW | apps/polli/src/utils/cache.py | 3 | CODE | |
| LOW | apps/polli/src/utils/url.py | 3 | CODE | |
| LOW | apps/polli/src/utils/url.py | 5 | CODE | |
| LOW | apps/polli/src/utils/json.py | 3 | CODE | |
| LOW | apps/polli/src/utils/hashing.py | 3 | CODE | |
| LOW | apps/polli/src/utils/regex.py | 3 | CODE | |
| LOW | apps/polli/src/search/handlers.py | 9 | CODE | |
| LOW | apps/polli/src/search/code_graph.py | 12 | CODE | |
| LOW | apps/polli/src/search/local_repo.py | 12 | CODE | |
| LOW | apps/polli/src/search/code_search.py | 8 | CODE | |
| LOW | apps/polli/src/integrations/chart_renderer.py | 12 | CODE | |
| LOW | apps/polli/src/integrations/charts.py | 17 | CODE | |
| LOW | apps/polli/src/integrations/diagrams.py | 12 | CODE | |
| LOW | apps/polli/src/integrations/github/repo_overview.py | 5 | CODE | |
| LOW | apps/polli/src/integrations/github/projects.py | 5 | CODE | |
| LOW | apps/floret/tests/conftest.py | 1 | CODE | |
| LOW | apps/floret/tests/test_api_stream.py | 3 | CODE | |
| LOW | apps/floret/tests/test_fetch_retry.py | 3 | CODE | |
| LOW | apps/floret/tests/test_smoke.py | 1 | CODE | |
| LOW | apps/floret/tests/test_live.py | 6 | CODE | |
| LOW | apps/floret/tests/test_agent_loop.py | 3 | CODE | |
| LOW | apps/floret/tests/test_config.py | 3 | CODE | |
| LOW | apps/floret/tests/test_media_tools.py | 3 | CODE | |
| LOW | apps/floret/tests/test_video_frames.py | 3 | CODE | |
| LOW | apps/floret/tests/test_api_content.py | 3 | CODE | |
| LOW | apps/floret/scripts/test_combos.py | 3 | CODE | |
| LOW | apps/floret/src/floret/config.py | 1 | CODE | |
| LOW | apps/floret/src/floret/registry.py | 1 | CODE | |
| LOW | apps/floret/src/floret/api.py | 3 | CODE | |
| LOW | apps/floret/src/floret/routing.py | 1 | CODE | |
| LOW | apps/floret/src/floret/agent.py | 3 | CODE | |
| LOW | apps/floret/src/floret/main.py | 3 | CODE | |
| LOW | apps/floret/src/floret/knowledge.py | 8 | CODE | |
| LOW | apps/floret/src/floret/__main__.py | 1 | CODE | |
| LOW | apps/floret/src/floret/toolset.py | 7 | CODE | |
| LOW | apps/floret/src/floret/tools/media.py | 10 | CODE | |
| LOW | apps/floret/src/floret/tools/media.py | 17 | CODE | |
| LOW | apps/floret/src/floret/tools/gen.py | 11 | CODE | |
| LOW | apps/floret/src/floret/tools/shell.py | 8 | CODE | |
| LOW | apps/floret/src/floret/tools/__init__.py | 3 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | operations/social/scripts/publish_weekly.py | 84 | CODE | |
| LOW | operations/social/scripts/publish_realtime.py | 90 | CODE | |
| LOW | operations/social/scripts/common.py | 284 | CODE | |
| LOW | operations/social/scripts/common.py | 358 | CODE | |
| LOW | operations/social/scripts/common.py | 805 | CODE | |
| LOW | operations/social/scripts/generate_daily.py | 392 | CODE | |
| LOW | operations/social/scripts/generate_models_news.py | 318 | CODE | |
| LOW | operations/social/scripts/buffer_publish.py | 30 | CODE | |
| LOW | operations/github/project-backfill-labels.py | 81 | CODE | |
| LOW | operations/github/project-backfill-labels.py | 292 | CODE | |
| LOW | operations/github/project_manager.py | 225 | CODE | |
| LOW | operations/infrastructure/gpu/dreamshaper/server.py | 195 | CODE | |
| LOW | …erations/infrastructure/gpu/dreamshaper/test_server.py | 17 | CODE | |
| LOW | operations/infrastructure/gpu/flux/server.py | 108 | CODE | |
| LOW | operations/infrastructure/gpu/flux/server.py | 166 | CODE | |
| LOW | …ons/infrastructure/gpu/zimage/test_generation_queue.py | 9 | CODE | |
| LOW | apps/polli/src/bot.py | 332 | CODE | |
| LOW | apps/polli/src/bot.py | 401 | CODE | |
| LOW | apps/polli/src/bot.py | 1041 | CODE | |
| LOW | apps/polli/src/bot.py | 1212 | CODE | |
| LOW | apps/polli/src/bot.py | 1394 | CODE | |
| LOW | apps/polli/src/bot.py | 1536 | CODE | |
| LOW | apps/polli/src/discord/media.py | 158 | CODE | |
| LOW | apps/polli/src/discord/media.py | 297 | CODE | |
| LOW | apps/polli/src/discord/media.py | 375 | CODE | |
| LOW | apps/polli/src/discord/media.py | 446 | CODE | |
| LOW | apps/polli/src/discord/media.py | 545 | CODE | |
| LOW | apps/polli/src/discord/search.py | 521 | CODE | |
| LOW | apps/polli/src/discord/search.py | 56 | CODE | |
| LOW | apps/polli/src/discord/search.py | 179 | CODE | |
| LOW | apps/polli/src/discord/search.py | 283 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 563 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 719 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 795 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 865 | CODE | |
| LOW | apps/polli/src/integrations/chart_renderer.py | 139 | CODE | |
| LOW | apps/polli/src/integrations/charts.py | 255 | CODE | |
| LOW | apps/polli/src/integrations/subscriptions.py | 277 | CODE | |
| LOW | apps/polli/src/integrations/webhook_server.py | 62 | CODE | |
| LOW | apps/polli/src/integrations/webhook_server.py | 329 | CODE | |
| LOW | apps/polli/src/integrations/github/client.py | 262 | CODE | |
| LOW | apps/polli/src/integrations/github/client.py | 333 | CODE | |
| LOW | apps/polli/src/integrations/github/client.py | 383 | CODE | |
| LOW | apps/polli/src/integrations/github/client.py | 633 | CODE | |
| LOW | apps/polli/src/integrations/github/client.py | 775 | CODE | |
| LOW | apps/polli/src/integrations/github/handlers.py | 15 | CODE | |
| LOW | apps/polli/src/integrations/github/handlers.py | 421 | CODE | |
| LOW | apps/polli/src/integrations/github/pr_review.py | 276 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 1250 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 319 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 427 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 470 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 512 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 711 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 767 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 879 | CODE | |
| LOW | apps/polli/src/integrations/github/projects.py | 222 | CODE | |
| LOW | apps/polli/src/integrations/github/projects.py | 611 | CODE | |
| LOW | apps/polli/src/ai/client.py | 316 | CODE | |
| LOW | apps/polli/src/ai/client.py | 647 | CODE | |
| 6 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | shared/schemas/openai.ts | 1 | // AI generated based on `https://github.com/Portkey-AI/openapi/blob/master/openapi.yaml` and adaped | COMMENT |
| HIGH | operations/social/scripts/common.py | 522 | # Required keys inside gist.gist (the AI-generated analysis) | COMMENT |
| HIGH | apps/reimagine/Readme.md | 127 | - [Civitai](https://civitai.com) - For the source of trending AI-generated images | CODE |
| HIGH | apps/ai-dungeon-master/src/App.tsx | 277 | // Fetch AI-generated story | COMMENT |
| HIGH | apps/ai-dungeon-master/src/App.tsx | 363 | // Fetch AI-generated image | COMMENT |
| HIGH | apps/ai-dungeon-master/src/App.tsx | 398 | // Fetch AI-generated character avatar | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | enter.pollinations.ai/worker-runtime.d.ts | 10381 | } | COMMENT |
| LOW | enter.pollinations.ai/worker-runtime.d.ts | 10501 | }; | COMMENT |
| LOW | enter.pollinations.ai/worker-runtime.d.ts | 10521 | // Type for the callable part of an `Provider` if `T` is callable. | COMMENT |
| LOW | enter.pollinations.ai/worker-runtime.d.ts | 10541 | // | COMMENT |
| LOW | enter.pollinations.ai/worker-runtime.d.ts | 10861 | readonly type: "attributes"; | COMMENT |
| LOW | …s.ai/frontend/src/components/quests/quest-overview.tsx | 301 | </Surface> | COMMENT |
| LOW | enter.pollinations.ai/src/services/sample-audio.ts | 1 | // ~0.9s of spoken "Hello world", 8 kHz mono 16-bit PCM WAV. Used to probe | COMMENT |
| LOW | shared/http/cache-control.ts | 1 | // Cache-Control for immutable R2-backed responses. Generated content is | COMMENT |
| LOW | shared/registry/registry.ts | 161 | // Named alternate rate sheets, merged over `cost` when selectCostVariant | COMMENT |
| LOW | shared/db/better-auth.ts | 381 | COMMENT | |
| LOW | operations/social/buffer-schedule.yml | 1 | # Social Media Posting Schedule | COMMENT |
| LOW | operations/social/buffer-schedule.yml | 41 | preferred: "18:00" # 18:00 UTC | COMMENT |
| LOW | operations/social/buffer-schedule.yml | 61 | # Sunday: generate_weekly.py → commit to news → stage X + LI + IG to Buffer | COMMENT |
| LOW | operations/kpi/wrangler.toml | 21 | GITHUB_REPO = "pollinations/pollinations" | COMMENT |
| LOW | operations/infrastructure/gpu/flux/setup.sh | 1 | #!/bin/bash | COMMENT |
| LOW | operations/infrastructure/gpu/flux/rebuild-image.sh | 1 | #!/bin/bash | COMMENT |
| LOW | operations/infrastructure/gpu/flux/setup-vast.sh | 1 | #!/bin/bash | COMMENT |
| LOW | operations/infrastructure/gpu/flux/setup-vast.sh | 21 | # PUBLIC_HOSTNAME=flux-vast-NN.pollinations.ai \ | COMMENT |
| LOW | …tions/infrastructure/gpu/flux/safety_checker/censor.py | 81 | COMMENT | |
| LOW | …tions/infrastructure/gpu/flux/safety_checker/censor.py | 101 | COMMENT | |
| LOW | …tions/infrastructure/gpu/flux/safety_checker/censor.py | 181 | return obj | COMMENT |
| LOW | operations/infrastructure/gpu/zimage/setup-vast.sh | 1 | #!/bin/bash | COMMENT |
| LOW | operations/infrastructure/gpu/klein/setup-vast.sh | 1 | #!/bin/bash | COMMENT |
| LOW | gen.pollinations.ai/src/middleware/track.ts | 281 | COMMENT | |
| LOW | packages/ui/scripts/brand/presets.js | 1 | // Canvas presets for the brand asset generator — pure data, one line per size. | COMMENT |
| LOW | .github/workflows/docs-regenerate-api-reference.yml | 121 | id: changes | COMMENT |
| LOW | apps/reimagine/src/context/ThemeContext.tsx | 1 | import React, { createContext, useContext, useState, useEffect, ReactNode } from 'react'; | COMMENT |
| LOW | apps/polli/polli-core/Cargo.toml | 21 | hex = "0.4" | COMMENT |
| LOW | apps/polli/polli-core/src/files.rs | 21 | ]; | COMMENT |
| LOW | apps/react/src/config.ts | 1 | // Publishable key for this showcase (pk_* is safe to commit). | COMMENT |
| LOW | pollinations.ai/src/vite-env.d.ts | 1 | /// <reference types="vite/client" /> | COMMENT |
| LOW | pollinations.ai/src/ui/components/ui/divider.tsx | 1 | import { cva } from "class-variance-authority"; | COMMENT |
| LOW | pollinations.ai/src/ui/components/ui/typography.tsx | 1 | import { cva } from "class-variance-authority"; | COMMENT |
| LOW | pollinations.ai/src/ui/components/ui/typography.tsx | 101 | Heading.displayName = "Heading"; | COMMENT |
| LOW | pollinations.ai/src/ui/components/ui/typography.tsx | 161 | ); | COMMENT |
| LOW | pollinations.ai/src/ui/components/ui/sub-card.tsx | 1 | import { cva, type VariantProps } from "class-variance-authority"; | COMMENT |
| LOW | pollinations.ai/src/ui/components/ui/page-container.tsx | 1 | import * as React from "react"; | COMMENT |
| LOW | pollinations.ai/src/ui/components/ui/badge.tsx | 1 | import { cva, type VariantProps } from "class-variance-authority"; | COMMENT |
| LOW | pollinations.ai/src/theme/palette.ts | 1 | // ╔══════════════════════════════════════════════════════════════════╗ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 63 | print(response.choices[0].message.content)`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 99 | print(response.text)`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 285 | print(transcript.text)`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 321 | print(response.json()) # {"balance": 42.5}`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 351 | print(profile["githubUsername"])`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 381 | print(f"Valid: {key_info['valid']}, Type: {key_info['type']}")`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 412 | print(model.id)`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 493 | print(f"{record['model']}: {record['cost_usd']} pollen")`, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | operations/infrastructure/gpu/dreamshaper/server.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | operations/infrastructure/gpu/flux/server.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | operations/infrastructure/gpu/zimage/server.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/bot.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | apps/polli/src/discord/media.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/discord/search.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/context/__init__.py | 6 | __all__ = ["ConversationSession", "SessionManager", "session_manager"] | CODE |
| LOW | apps/polli/src/context/manager.py | 6 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/core/config.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/utils/regex.py | 6 | __all__ = ["re"] | CODE |
| LOW | apps/polli/src/search/handlers.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/search/code_graph.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/search/local_repo.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/search/code_search.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/web_scraper.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | apps/polli/src/integrations/chart_renderer.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/charts.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/subscriptions.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/diagrams.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/webhook_server.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/github/auth.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/github/graphql.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/github/client.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/github/handlers.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/github/pr_review.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/github/repo_overview.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/github/projects.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/ai/client.py | 91 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/api/server.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/floret/src/floret/registry.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/floret/src/floret/api.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/floret/src/floret/agent.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/floret/src/floret/toolset.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/floret/src/floret/tools/gen.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/floret/src/floret/tools/shell.py | 16 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | enter.pollinations.ai/src/routes/oauth.ts | 95 | const result = await c.var.auth.client.api.verifyApiKey({ | CODE |
| CRITICAL⚡ | operations/quest-dashboard/assets/bundle.js | 2 | `,dp="/",hp="*",fn="",e2="comment",t2="declaration";function n2(e,t){if(typeof e!="string")throw new TypeError("First ar | CODE |
| CRITICAL | operations/quest-dashboard/assets/bundle.js | 29 | `))}function a(f,h,g,y){let x=g.enter("tableCell"),D=g.enter("phrasing"),v=g.containerPhrasing(f,{...y,before:l,after:l} | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/commands/commit-push-pr.md | 3 | ## Step 1: Detect branch state | COMMENT |
| LOW | .claude/commands/commit-push-pr.md | 31 | ## Step 2: Commit and push | COMMENT |
| LOW | .claude/commands/commit-push-pr.md | 38 | ## Step 3: Create PR (only if no open PR exists) | COMMENT |
| LOW⚡ | .claude/skills/model-debugging/SKILL.md | 238 | # Step 1: Decrypt to temp file | COMMENT |
| LOW⚡ | .claude/skills/model-debugging/SKILL.md | 242 | # Step 2: Add the token (use jq) | COMMENT |
| LOW⚡ | .claude/skills/model-debugging/SKILL.md | 245 | # Step 3: Re-encrypt (must rename to match .sops.yaml pattern) | COMMENT |
| LOW⚡ | .claude/skills/model-debugging/SKILL.md | 249 | # Step 4: Cleanup | COMMENT |
| LOW | .claude/skills/tinybird-deploy/SKILL.md | 71 | ## Step 1: Validate (Dry Run) | COMMENT |
| LOW | .claude/skills/tinybird-deploy/SKILL.md | 86 | ## Step 2: Deploy | COMMENT |
| LOW | .claude/skills/tinybird-deploy/SKILL.md | 98 | ## Step 3: Verify | COMMENT |
| LOW | enter.pollinations.ai/AGENTS.md | 219 | # Step 1: Get list of available models | COMMENT |
| LOW | enter.pollinations.ai/AGENTS.md | 223 | # Step 2: Test a specific model (use model names from Step 1) | COMMENT |
| LOW | gen.pollinations.ai/src/image/models/veoVideoModel.ts | 182 | // Step 1: Start video generation with predictLongRunning | COMMENT |
| LOW | gen.pollinations.ai/src/image/models/veoVideoModel.ts | 209 | // Step 2: Poll for completion using fetchPredictOperation | COMMENT |
| LOW | apps/map-to-isometric/src/App.jsx | 70 | // Step 2: Upload to ImgBB (supports CORS) | COMMENT |
| LOW | apps/map-to-isometric/src/App.jsx | 94 | // Step 3: Build prompt | COMMENT |
| LOW | apps/map-to-isometric/src/App.jsx | 105 | // Step 4: Generate with nanobanana model | COMMENT |
| LOW⚡ | apps/polli/src/integrations/github/handlers.py | 366 | # Step 1: Create the new issue | COMMENT |
| LOW | apps/polli/src/integrations/github/handlers.py | 377 | # Step 2: Link it as a sub-issue of the parent | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | operations/social/scripts/common.py | 472 | # Check if file already exists on this branch | COMMENT |
| LOW | operations/social/scripts/common.py | 595 | # Check if file already exists (re-run / retry scenario) | COMMENT |
| LOW | operations/social/scripts/update_readme.py | 28 | # Check if section exists | COMMENT |
| LOW | operations/infrastructure/gpu/flux/setup.sh | 66 | # Check if CUDA 12.8 is installed | COMMENT |
| LOW | operations/infrastructure/gpu/flux/rebuild-image.sh | 25 | # Check if base image exists | COMMENT |
| LOW | …erations/infrastructure/gpu/flux/push-updated-image.sh | 10 | # Check if logged in | COMMENT |
| LOW | packages/n8n/check-status.sh | 11 | # Check if the n8n service is accessible | COMMENT |
| LOW⚡ | packages/n8n/setup-n8n-tunnel.sh | 4 | # Check if cloudflared is installed | COMMENT |
| LOW⚡ | packages/n8n/setup-n8n-tunnel.sh | 14 | # Check if tunnel already exists | COMMENT |
| LOW | .github/workflows/ci-pull-request-checks.yml | 109 | # Check if any errors are in the changed files | COMMENT |
| LOW | apps/polli/src/bot.py | 661 | # Check if already in a thread - if so, work directly in that thread | COMMENT |
| LOW | apps/polli/src/bot.py | 1088 | # Check if user is admin or collaborator | COMMENT |
| LOW | apps/polli/src/bot.py | 1235 | # Check if user is admin or collaborator (has relevant role) | COMMENT |
| LOW | apps/polli/src/bot.py | 1311 | # Check if issue was created or comment added | COMMENT |
| LOW | apps/polli/src/integrations/webhook_server.py | 292 | # Check if user is a GitHub admin | COMMENT |
| LOW⚡ | apps/polli/src/integrations/github/client.py | 327 | # Check if the requester's name appears in the attribution | COMMENT |
| LOW | apps/polli/src/ai/client.py | 393 | # Check if model wants to call tools | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | operations/infrastructure/gpu/klein/setup-vast.sh | 4 | # Create a remotely managed Cloudflare Tunnel first. The gen Worker binds to | COMMENT |
| MEDIUM⚡ | packages/n8n/setup-n8n-tunnel.sh | 17 | # Create a new tunnel if it doesn't exist | COMMENT |
| MEDIUM | .github/workflows/docs-regenerate-api-reference.yml | 175 | # Create the PR only if one doesn't already exist for this branch, | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/github/handlers.py | 363 | # Create a new issue and immediately link it as a sub-issue of the parent | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gen.pollinations.ai/src/image/models/veoVideoModel.ts | 182 | // Step 1: Start video generation with predictLongRunning | COMMENT |
| LOW | gen.pollinations.ai/src/image/models/veoVideoModel.ts | 209 | // Step 2: Poll for completion using fetchPredictOperation | COMMENT |
| LOW | apps/map-to-isometric/src/App.jsx | 70 | // Step 2: Upload to ImgBB (supports CORS) | COMMENT |
| LOW | apps/map-to-isometric/src/App.jsx | 94 | // Step 3: Build prompt | COMMENT |
| LOW | apps/map-to-isometric/src/App.jsx | 105 | // Step 4: Generate with nanobanana model | COMMENT |
| LOW⚡ | apps/polli/src/integrations/github/handlers.py | 366 | # Step 1: Create the new issue | COMMENT |
| LOW | apps/polli/src/integrations/github/handlers.py | 377 | # Step 2: Link it as a sub-issue of the parent | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | apps/polli/src/integrations/diagrams.py | 151 | if (!el) return null; | STRING |
| HIGH⚡ | apps/polli/src/integrations/diagrams.py | 153 | const isError = (svg && svg.getAttribute('aria-roledescription') === 'error') | STRING |
| HIGH⚡ | apps/polli/src/integrations/diagrams.py | 155 | return isError ? (el.innerText || 'Syntax error').trim() : null; | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | operations/social/scripts/common.py | 915 | CODE | |
| LOW | operations/infrastructure/gpu/zimage/server.py | 204 | CODE | |
| LOW | apps/polli/src/discord/search.py | 521 | CODE | |
| LOW | apps/polli/src/discord/search.py | 56 | CODE | |
| LOW | apps/polli/src/search/handlers.py | 41 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 279 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 397 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 865 | CODE | |
| LOW | apps/polli/src/integrations/github/handlers.py | 15 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 1250 | CODE | |
| LOW | apps/polli/src/ai/client.py | 314 | CODE | |
| LOW | apps/polli/src/ai/client.py | 181 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | operations/quest-dashboard/assets/bundle.js | 2 | `,dp="/",hp="*",fn="",e2="comment",t2="declaration";function n2(e,t){if(typeof e!="string")throw new TypeError("First ar | CODE |
| MEDIUM⚡ | operations/quest-dashboard/assets/bundle.js | 2 | `,dp="/",hp="*",fn="",e2="comment",t2="declaration";function n2(e,t){if(typeof e!="string")throw new TypeError("First ar | CODE |
| LOW | apps/polli/src/integrations/github/handlers.py | 329 | # get_issue_full already includes sub_issues, so just call it | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | operations/infrastructure/gpu/flux/setup.sh | 7 | # Usage: | COMMENT |
| LOW | operations/infrastructure/gpu/flux/rebuild-image.sh | 9 | # Usage: | COMMENT |
| LOW | operations/infrastructure/gpu/zimage/setup-vast.sh | 12 | # Usage: | COMMENT |
| LOW | operations/infrastructure/gpu/klein/setup-vast.sh | 10 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | gen.pollinations.ai/src/middleware/safety.ts | 271 | // text-only Bedrock guardrails and remain unchanged. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | operations/economics/web/worker/index.ts | 305 | async function handleRequest(request: Request, env: Env) { | CODE |
| LOW | apps/websim/worker.js | 51 | async function handleRequest(request, env) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | operations/quest-dashboard/assets/bundle.js | 2 | `,dp="/",hp="*",fn="",e2="comment",t2="declaration";function n2(e,t){if(typeof e!="string")throw new TypeError("First ar | CODE |