Your Friendly Open-Source Gen-AI Platform
This report summarizes scanner evidence for pollinations/pollinations, a TypeScript project with 5,259 GitHub stars. SynthScan examined 711,955 lines of code across 2584 source files, recording 1545 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 3.6 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1016 finding(s).
Are imports declared and package/API names verified? 188 finding(s).
Are wrappers, guards, and repeated structures necessary? 1186 finding(s).
Which changes need focused human review? 1545 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1545 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/frontend/src/components/activity/activity-helpers.tsx | 75 | export function clearActivitySelectionOnEscape( | 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 | 440 | function useDashboardShellBodyClass(): void { | CODE |
| LOW | …/community-endpoints/resource-confirmation-content.tsx | 4 | export function ResourceConfirmationContent({ | CODE |
| LOW | …end/src/components/community-endpoints/price-table.tsx | 414 | export function hasValidVisibleFormPrices( | CODE |
| LOW | …i/frontend/src/components/community-endpoints/types.ts | 157 | export function publicCommunityFallbackOptions( | CODE |
| LOW | …i/frontend/src/components/community-endpoints/types.ts | 322 | export function pricePerTokenToPerMillion(value: number): string { | CODE |
| LOW | …i/frontend/src/components/community-endpoints/types.ts | 326 | export function pricePerMillionToPerToken(value: string): number { | CODE |
| LOW | …y-endpoints/community-endpoint-delete-confirmation.tsx | 11 | export function CommunityEndpointDeleteConfirmation({ | CODE |
| LOW | …ents/community-endpoints/community-endpoint-dialog.tsx | 62 | export function getCommunityEndpointSubmitDisabledReason({ | CODE |
| LOW | …nd/src/components/community-endpoints/agent-dialog.tsx | 32 | export function getAgentSubmitDisabledReason({ | CODE |
| LOW | …ions.ai/frontend/src/components/models/price-badge.tsx | 170 | export function getPricingVariantControls( | CODE |
| LOW | …ons.ai/frontend/src/components/models/model-catalog.ts | 56 | export function parseModelCatalogResponse(data: unknown): ApiModelInfo[] { | CODE |
| LOW | …ons.ai/frontend/src/components/models/model-catalog.ts | 321 | export function getModelPricesFromCatalog( | CODE |
| LOW | …ations.ai/frontend/src/components/models/model-row.tsx | 120 | export function getModelTitleTooltipContent(model: ModelPrice): ReactNode { | CODE |
| LOW | …tions.ai/frontend/src/components/models/model-query.ts | 114 | export function getExplicitModelQuerySource( | CODE |
| LOW | …tions.ai/frontend/src/components/models/model-query.ts | 138 | export function getModelQueryFilterTokens( | CODE |
| LOW | …tions.ai/frontend/src/components/models/model-query.ts | 176 | export function removeModelQueryFilterToken( | CODE |
| LOW | …tions.ai/frontend/src/components/models/model-query.ts | 183 | export function replaceModelQueryFilterToken( | CODE |
| LOW | …tions.ai/frontend/src/components/models/model-query.ts | 198 | export function getModelQueryVisibleSearch( | CODE |
| LOW | …tions.ai/frontend/src/components/models/model-query.ts | 216 | export function getModelQueryDraftSuggestionValue( | CODE |
| LOW | …tions.ai/frontend/src/components/models/model-query.ts | 242 | function getSearchableCapabilities(model: ModelPrice): string[] { | CODE |
| LOW | enter.pollinations.ai/test/integration/stripe.test.ts | 173 | function createAutoTopUpInvoiceEvent( | CODE |
| LOW | enter.pollinations.ai/test/integration/stripe.test.ts | 297 | function createCardPaymentFailedEvent({ | CODE |
| LOW | …ter.pollinations.ai/test/helpers/billing-assertions.ts | 57 | export function assertTrackedBillingEvent( | CODE |
| LOW | enter.pollinations.ai/src/utils/stripe-fraud-ban.ts | 133 | export async function expireOpenStripeCheckoutSessions( | CODE |
| LOW | enter.pollinations.ai/src/utils/stripe-card-gate.ts | 24 | export async function getStripeNewCardGateStatus( | CODE |
| LOW | enter.pollinations.ai/src/utils/stripe-card-gate.ts | 57 | export function stripeNewCardGateMetadata( | CODE |
| LOW | enter.pollinations.ai/src/utils/stripe-card-gate.ts | 69 | 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 | …r.pollinations.ai/src/utils/stripe-billing/customer.ts | 94 | export async function saveCheckoutCardAsDefault( | CODE |
| LOW | …ter.pollinations.ai/src/utils/stripe-billing/portal.ts | 28 | export async function createBillingPortalSession( | CODE |
| LOW | …ter.pollinations.ai/src/utils/stripe-billing/portal.ts | 60 | async function ensureBillingPortalConfiguration( | CODE |
| LOW | …ter.pollinations.ai/src/utils/stripe-billing/portal.ts | 108 | function createBillingPortalConfigurationParams( | CODE |
| LOW | …ter.pollinations.ai/src/utils/stripe-billing/portal.ts | 140 | function isBillingPortalConfigurationCurrent( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 433 | export async function markAutoTopUpInvoiceFailed( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 487 | async function retrieveInvoicePaymentIntent( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 507 | async function findPendingAutoTopUpAttempt( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 533 | async function expireStaleClaimedAttempts( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 549 | async function reconcileStalePendingAttempt( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 652 | async function setAutoTopUpAttemptInvoice( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 682 | async function getAutoTopUpAttemptByInvoiceId( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 731 | async function markAttemptFailedByInvoice( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 759 | async function cleanupFailedAutoTopUpInvoice( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 775 | async function cleanupRetrievedAutoTopUpInvoice( | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 824 | function createAutoTopUpIdempotencyKey(attemptId: string): string { | CODE |
| LOW | …ollinations.ai/src/utils/stripe-billing/auto-top-up.ts | 828 | function shouldDisableAutoTopUpAfterFailure(error: unknown): boolean { | CODE |
| LOW | enter.pollinations.ai/src/routes/account.ts | 435 | function buildUsageWindowFromPeriod({ | CODE |
| LOW | enter.pollinations.ai/src/routes/account.ts | 510 | function parseCommaSeparatedQueryList(value?: string): string[] { | CODE |
| LOW | enter.pollinations.ai/src/routes/stripe.ts | 315 | async function createPackCheckoutSession( | CODE |
| LOW | enter.pollinations.ai/src/routes/stripe.ts | 551 | function normalizeStripePortalError(error: unknown): string { | CODE |
| LOW | enter.pollinations.ai/src/routes/stripe-webhooks.ts | 104 | async function recordCardFingerprintFromCharge({ | CODE |
| LOW | enter.pollinations.ai/src/routes/stripe-webhooks.ts | 146 | async function fetchChargeForPaymentIntent( | CODE |
| LOW | enter.pollinations.ai/src/routes/stripe-webhooks.ts | 205 | async function creditCheckoutSessionOnce({ | CODE |
| LOW | enter.pollinations.ai/src/routes/stripe-webhooks.ts | 266 | async function sendStripeEventToTinybird( | CODE |
| 772 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | README.md | 171 | curl -H "Authorization: Bearer YOUR_API_KEY" 'https://gen.pollinations.ai/image/a%20beautiful%20sunset' -o image.jpg | CODE |
| HIGH⚡ | README.md | 179 | curl 'https://gen.pollinations.ai/text/Hello%20world?key=YOUR_API_KEY' | CODE |
| HIGH⚡ | README.md | 187 | curl 'https://gen.pollinations.ai/audio/Hello%20from%20Pollinations?voice=nova&key=YOUR_API_KEY' -o speech.mp3 | CODE |
| HIGH⚡ | README.md | 195 | -H 'Authorization: Bearer YOUR_API_KEY' \ | CODE |
| HIGH⚡ | README.md | 206 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH⚡ | README.md | 214 | curl 'https://gen.pollinations.ai/video/a%20sunset%20timelapse%20over%20the%20ocean?key=YOUR_API_KEY' -o video.mp4 | CODE |
| HIGH⚡ | README.md | 222 | curl 'https://gen.pollinations.ai/3d/a%20low-poly%20treasure%20chest?model=microsoft/trellis-2&resolution=low&key=YOUR_A | CODE |
| HIGH⚡ | README.md | 232 | -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 | 375 | apiKey: "YOUR_API_KEY", | CODE |
| HIGH | APIDOCS.md | 1082 | **Authentication:** Include your secret key as `Authorization: Bearer YOUR_API_KEY`. | CODE |
| HIGH | APIDOCS.md | 1130 | **Authentication:** Include your secret key as `Authorization: Bearer YOUR_API_KEY`. | CODE |
| HIGH⚡ | APIDOCS.md | 3345 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH⚡ | APIDOCS.md | 3355 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH⚡ | APIDOCS.md | 3363 | -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 | 36 | -H "Authorization: Bearer <your-api-key>" \ | CODE |
| HIGH | media.pollinations.ai/README.md | 62 | -H "Authorization: Bearer <your-api-key>" \ | CODE |
| HIGH | media.pollinations.ai/README.md | 196 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | media.pollinations.ai/README.md | 208 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | .claude/skills/pollinations-api/SKILL.md | 114 | client = OpenAI(base_url="https://gen.pollinations.ai/v1", api_key="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/test/docs.test.ts | 52 | headers: { Authorization: "Bearer YOUR_API_KEY" }, | CODE |
| HIGH | gen.pollinations.ai/test/docs.test.ts | 63 | headers: { Authorization: "Bearer YOUR_API_KEY" }, | CODE |
| HIGH | gen.pollinations.ai/test/docs.test.ts | 73 | "Bearer YOUR_API_KEY", | CODE |
| HIGH | gen.pollinations.ai/test/docs.test.ts | 93 | headers: { Authorization: "Bearer YOUR_API_KEY" }, | CODE |
| HIGH | gen.pollinations.ai/test/docs.test.ts | 98 | "Bearer YOUR_API_KEY", | CODE |
| HIGH | gen.pollinations.ai/src/docs/authentication.md | 5 | The connection stays in the current browser tab. Copied examples contain `YOUR_API_KEY`; the docs add your connected key | CODE |
| HIGH | gen.pollinations.ai/src/docs/authentication.md | 21 | - Header: `Authorization: Bearer YOUR_API_KEY` | CODE |
| HIGH | gen.pollinations.ai/src/docs/authentication.md | 22 | - Query param: `?key=YOUR_API_KEY` | CODE |
| HIGH | gen.pollinations.ai/src/docs/safety.md | 17 | -H "Authorization: Bearer YOUR_API_KEY" | CODE |
| HIGH | gen.pollinations.ai/src/docs/safety.md | 20 | -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 | 23 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH⚡ | gen.pollinations.ai/src/docs/media-storage.md | 33 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH⚡ | gen.pollinations.ai/src/docs/media-storage.md | 41 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | gen.pollinations.ai/src/docs-client/request-auth.ts | 9 | request.headers.get("Authorization") !== "Bearer YOUR_API_KEY" | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 57 | api_key="YOUR_API_KEY" | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 73 | apiKey: "YOUR_API_KEY", | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 107 | api_key="YOUR_API_KEY", | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 121 | apiKey: "YOUR_API_KEY", | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 134 | -H "Authorization: Bearer YOUR_API_KEY"`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 144 | headers={"Authorization": "Bearer YOUR_API_KEY"}, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 153 | { headers: { Authorization: "Bearer YOUR_API_KEY" } }, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 170 | -H "Authorization: Bearer YOUR_API_KEY" -o image.jpg | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 174 | -H "Authorization: Bearer YOUR_API_KEY" -o video.mp4`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 184 | headers={"Authorization": "Bearer YOUR_API_KEY"}, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 194 | { headers: { Authorization: "Bearer YOUR_API_KEY" } }, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 204 | -H "Authorization: Bearer YOUR_API_KEY" -o video.mp4`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 214 | headers={"Authorization": "Bearer YOUR_API_KEY"}, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 224 | { headers: { Authorization: "Bearer YOUR_API_KEY" } }, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 235 | -H "Authorization: Bearer YOUR_API_KEY" -o speech.mp3 | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 239 | -H "Authorization: Bearer YOUR_API_KEY" -o music.mp3`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 249 | headers={"Authorization": "Bearer YOUR_API_KEY"}, | CODE |
| 42 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …s.ai/frontend/src/components/quests/quest-overview.tsx | 104 | // ── Category model ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s.ai/frontend/src/components/quests/quest-overview.tsx | 190 | // ── Formatting helpers ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s.ai/frontend/src/components/quests/quest-overview.tsx | 256 | // ── Card model ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s.ai/frontend/src/components/quests/quest-overview.tsx | 280 | // ── Presentational primitives (composed from @pollinations/ui) ─────────────── | COMMENT |
| MEDIUM | operations/social/scripts/common.py | 432 | # ── Merged PR notes, read during the daily ───────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/common.py | 889 | # ── Model post ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/prs.py | 51 | # ── API changes: the post-deploy docs PR's APIDOCS.md diff ────────── | COMMENT |
| MEDIUM | operations/social/scripts/prs.py | 148 | # ── Retirements a PR description announces ────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/prs.py | 191 | # ── The PR's diff ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/prs.py | 247 | # ── One note per PR ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/deliver.py | 97 | # ── The record on the news branch ──────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/deliver.py | 196 | # ── Buffer ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/deliver.py | 288 | # ── Discord ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | operations/social/scripts/deliver.py | 350 | # ── Commands ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 59 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 61 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 114 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 116 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 179 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 181 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 300 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 302 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 389 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 391 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 530 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 532 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 698 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 700 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 759 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 761 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 971 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 973 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 1255 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gen.pollinations.ai/scripts/generate-apidocs.ts | 1257 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | apps/polli/src/discord/media.py | 18 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/polli/src/discord/media.py | 20 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/polli/src/discord/media.py | 193 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/polli/src/discord/media.py | 195 | # ============================================================================= | COMMENT |
| MEDIUM | apps/polli/src/discord/media.py | 40 | # ============================================================================= | COMMENT |
| MEDIUM | apps/polli/src/discord/media.py | 42 | # ============================================================================= | COMMENT |
| MEDIUM | apps/polli/src/discord/media.py | 688 | # ============================================================================= | COMMENT |
| MEDIUM | apps/polli/src/discord/media.py | 690 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/web_scraper.py | 538 | # ── Layer 0: x.com via fxtwitter ────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/web_scraper.py | 545 | # ── Layer 1: rnet (Rust HTTP + Chrome TLS) ──────────────────────────────── | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/web_scraper.py | 546 | # ── Layer 2: scrapling AsyncFetcher (curl_cffi stealth) ────────────────── | COMMENT |
| MEDIUM | apps/polli/src/integrations/web_scraper.py | 585 | # ── Layer 3: crawl4ai (Playwright browser) ──────────────────────────────── | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/chart_renderer.py | 39 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/chart_renderer.py | 41 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/chart_renderer.py | 110 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/chart_renderer.py | 112 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/chart_renderer.py | 122 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/chart_renderer.py | 124 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/chart_renderer.py | 219 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/chart_renderer.py | 221 | # ============================================================================= | COMMENT |
| MEDIUM | apps/polli/src/integrations/chart_renderer.py | 270 | # ============================================================================= | COMMENT |
| MEDIUM | apps/polli/src/integrations/chart_renderer.py | 272 | # ============================================================================= | COMMENT |
| MEDIUM | apps/polli/src/integrations/charts.py | 85 | # ============================================================================= | COMMENT |
| MEDIUM | apps/polli/src/integrations/charts.py | 87 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/charts.py | 116 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/charts.py | 118 | # ============================================================================= | COMMENT |
| 52 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 | 467 | except Exception as error: | STRING |
| LOW | operations/app-management/ingestion/review-agent.py | 475 | except Exception as comment_error: | STRING |
| MEDIUM | operations/app-management/ingestion/review-agent.py | 325 | def get_issue_author(): | CODE |
| MEDIUM | operations/social/scripts/common.py | 239 | print(f"Error: {key} environment variable is required") | CODE |
| LOW | operations/social/scripts/deliver.py | 183 | except Exception as error: # noqa: BLE001 - a send that raised may have gone out | CODE |
| 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/krita-pollinations/pollinations_krita/extension.py | 50 | except Exception as error: | CODE |
| MEDIUM | apps/krita-pollinations/pollinations_krita/extension.py | 47 | def worker(): | CODE |
| LOW | apps/polli/main.py | 40 | except Exception: | CODE |
| LOW | apps/polli/scripts/studio_worker.py | 219 | 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 | 704 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 318 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 432 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 461 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 580 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 725 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 751 | except Exception: | CODE |
| LOW | apps/polli/src/bot.py | 766 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 775 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 1007 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 1109 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 1195 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 1276 | except Exception: | CODE |
| LOW | apps/polli/src/bot.py | 1496 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 1569 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 1589 | except Exception as e: | CODE |
| LOW | apps/polli/src/bot.py | 1656 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/replies.py | 97 | except Exception as error: | CODE |
| LOW⚡ | apps/polli/src/discord/media.py | 188 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/media.py | 140 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/media.py | 150 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/media.py | 257 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/media.py | 268 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/media.py | 568 | except Exception as e: | CODE |
| LOW | apps/polli/src/discord/search.py | 186 | except Exception: | CODE |
| LOW | apps/polli/src/discord/search.py | 202 | except Exception as error: | CODE |
| LOW | apps/polli/src/discord/search.py | 310 | except Exception as error: | CODE |
| LOW | apps/polli/src/discord/search.py | 361 | except Exception as error: | CODE |
| LOW | apps/polli/src/discord/search.py | 393 | except Exception: | CODE |
| LOW | apps/polli/src/discord/search.py | 420 | except Exception as error: | CODE |
| 106 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | operations/app-management/ingestion/review-agent.py | 236 | except requests.RequestException: | CODE |
| HIGH | operations/social/scripts/deliver.py | 150 | except requests.RequestException: | CODE |
| HIGH | operations/social/scripts/deliver.py | 219 | except requests.RequestException: | CODE |
| HIGH | operations/infrastructure/gpu/dreamshaper/server.py | 170 | except asyncio.CancelledError: | CODE |
| HIGH | operations/infrastructure/gpu/flux/server.py | 163 | except asyncio.CancelledError: | CODE |
| HIGH | operations/infrastructure/gpu/flux/server.py | 151 | except asyncio.CancelledError: | CODE |
| HIGH | operations/infrastructure/gpu/flux/server.py | 140 | except asyncio.CancelledError: | CODE |
| HIGH | operations/infrastructure/gpu/zimage/server.py | 274 | except asyncio.CancelledError: | CODE |
| HIGH | apps/krita-pollinations/pollinations_krita/extension.py | 193 | except Cancelled: | CODE |
| HIGH | apps/krita-pollinations/pollinations_krita/extension.py | 232 | except Cancelled: | CODE |
| HIGH | …ta-pollinations/pollinations_krita/pollinations_api.py | 59 | except (ValueError, AttributeError): | CODE |
| HIGH | apps/polli/main.py | 18 | except ImportError: | CODE |
| HIGH | apps/polli/scripts/studio_worker.py | 59 | except ProcessLookupError: | CODE |
| HIGH | apps/polli/scripts/studio_worker.py | 163 | except (ConnectionError, TimeoutError): | CODE |
| HIGH | apps/polli/scripts/embed_code.py | 327 | except ValueError: | CODE |
| HIGH | apps/polli/src/bot.py | 600 | except asyncio.CancelledError: | CODE |
| HIGH | apps/polli/src/discord/media.py | 253 | except (OSError, AttributeError): | CODE |
| HIGH | apps/polli/src/discord/search.py | 873 | except Exception: | CODE |
| HIGH | apps/polli/src/context/evidence.py | 51 | except ValueError: | CODE |
| HIGH | apps/polli/src/search/code_graph.py | 35 | except ProcessLookupError: | CODE |
| HIGH | apps/polli/src/integrations/charts.py | 204 | except (ValueError, TypeError): | CODE |
| HIGH | apps/polli/src/integrations/subscriptions.py | 310 | except asyncio.CancelledError: | CODE |
| HIGH | apps/floret/tests/test_api_stream.py | 485 | except OSError: | CODE |
| HIGH | apps/floret/src/floret/api.py | 347 | except asyncio.CancelledError: | CODE |
| HIGH | apps/gimp-pollinations/pollinations_api.py | 59 | except (ValueError, AttributeError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | operations/social/scripts/posts.py | 361 | CODE | |
| LOW | operations/social/scripts/deploy_posts.py | 164 | CODE | |
| LOW | operations/social/scripts/common.py | 537 | CODE | |
| LOW | operations/social/scripts/common.py | 1002 | CODE | |
| LOW | operations/social/scripts/prs.py | 58 | CODE | |
| LOW | operations/social/scripts/prs.py | 107 | CODE | |
| LOW | operations/social/scripts/prs.py | 155 | CODE | |
| LOW | operations/github/project_manager.py | 91 | CODE | |
| LOW | operations/infrastructure/gpu/dreamshaper/server.py | 195 | CODE | |
| LOW | …erations/infrastructure/gpu/dreamshaper/test_server.py | 44 | 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 | …ta-pollinations/pollinations_krita/pollinations_api.py | 36 | CODE | |
| LOW | …ta-pollinations/pollinations_krita/pollinations_api.py | 91 | CODE | |
| LOW | apps/polli/tests/test_media_inputs.py | 34 | CODE | |
| LOW | apps/polli/scripts/studio_worker.py | 64 | CODE | |
| LOW | apps/polli/scripts/studio_worker.py | 171 | CODE | |
| LOW | apps/polli/src/bot.py | 325 | CODE | |
| LOW | apps/polli/src/bot.py | 394 | CODE | |
| LOW | apps/polli/src/bot.py | 1063 | CODE | |
| LOW | apps/polli/src/bot.py | 1285 | CODE | |
| LOW | apps/polli/src/bot.py | 1533 | CODE | |
| LOW | apps/polli/src/bot.py | 1681 | CODE | |
| LOW | apps/polli/src/discord/replies.py | 73 | CODE | |
| LOW | apps/polli/src/discord/media.py | 155 | CODE | |
| LOW | apps/polli/src/discord/media.py | 300 | CODE | |
| LOW | apps/polli/src/discord/media.py | 378 | CODE | |
| LOW | apps/polli/src/discord/media.py | 449 | CODE | |
| LOW | apps/polli/src/discord/media.py | 573 | CODE | |
| LOW | apps/polli/src/discord/search.py | 611 | CODE | |
| LOW | apps/polli/src/discord/search.py | 82 | CODE | |
| LOW | apps/polli/src/discord/search.py | 238 | CODE | |
| LOW | apps/polli/src/discord/search.py | 365 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 173 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 618 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 879 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 1058 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 1143 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 1218 | CODE | |
| LOW | apps/polli/src/integrations/chart_renderer.py | 148 | CODE | |
| LOW | apps/polli/src/integrations/charts.py | 292 | CODE | |
| LOW | apps/polli/src/integrations/visual_studio.py | 105 | CODE | |
| LOW | apps/polli/src/integrations/subscriptions.py | 316 | 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/graphql.py | 426 | CODE | |
| LOW | apps/polli/src/integrations/github/graphql.py | 596 | CODE | |
| LOW | apps/polli/src/integrations/github/client.py | 283 | CODE | |
| LOW | apps/polli/src/integrations/github/client.py | 354 | CODE | |
| LOW | apps/polli/src/integrations/github/client.py | 404 | CODE | |
| LOW | apps/polli/src/integrations/github/client.py | 654 | CODE | |
| LOW | apps/polli/src/integrations/github/client.py | 796 | CODE | |
| LOW | apps/polli/src/integrations/github/handlers.py | 16 | CODE | |
| LOW | apps/polli/src/integrations/github/handlers.py | 435 | CODE | |
| LOW | apps/polli/src/integrations/github/pr_review.py | 336 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 1363 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 432 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 540 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 583 | CODE | |
| 25 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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 | packages/llm-pollinations/llm_pollinations.py | 3 | CODE | |
| LOW | apps/krita-pollinations/pollinations_krita/__init__.py | 1 | CODE | |
| LOW | apps/polli/scripts/studio_worker.py | 3 | 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/context/evidence.py | 18 | 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 | 3 | 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 | 16 | CODE | |
| LOW | apps/polli/src/integrations/visual_studio.py | 3 | CODE | |
| LOW | apps/polli/src/integrations/diagrams.py | 12 | CODE | |
| LOW | apps/polli/src/ai/complexity.py | 3 | CODE | |
| LOW | apps/floret/tests/test_run_bootstrap.py | 3 | CODE | |
| LOW | apps/floret/tests/conftest.py | 1 | CODE | |
| LOW | apps/floret/tests/test_api_stream.py | 3 | CODE | |
| LOW | apps/floret/tests/test_registry_policy.py | 1 | CODE | |
| LOW | apps/floret/tests/test_mcp_tools.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_pollen_policy.py | 1 | CODE | |
| LOW | apps/floret/tests/test_agent_loop.py | 3 | CODE | |
| LOW | apps/floret/tests/test_model_policy.py | 1 | 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/model_policy.py | 3 | 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 | |
| 4 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 64 | print(response.choices[0].message.content)`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 112 | print(response.output_text)`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 146 | print(response.text)`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 332 | print(transcript.text)`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 368 | print(response.json()) # {"balance": 42.5}`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 398 | print(profile["githubUsername"])`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 428 | print(f"Valid: {key_info['valid']}, Type: {key_info['type']}")`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 459 | print(model.id)`, | CODE |
| HIGH⚡ | gen.pollinations.ai/src/routes/docs-samples.ts | 540 | print(f"{record['model']}: {record['cost_usd']} pollen")`, | CODE |
| HIGH | apps/mama-barbara/mama.ts | 375 | print(json.dumps({"model": env["ANTHROPIC_MODEL"], | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | enter.pollinations.ai/src/routes/oauth.ts | 107 | 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 |
| CRITICAL | packages/polli-cli/src/harnesses/openclaw.test.ts | 85 | doc.models.providers.pollinations.models.map( | 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 | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/discord/replies.py | 9 | 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 | 13 | 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/local_repo.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/search/code_search.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/web_scraper.py | 15 | 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/visual_studio.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/subscriptions.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/subscriptions.py | 23 | def _set_private_mode(path: Path, mode: int) -> None: | 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 | 14 | 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 | 5 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/integrations/github/projects.py | 5 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/ai/client.py | 93 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/polli/src/api/server.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/floret/src/floret/registry.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/floret/src/floret/api.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/floret/src/floret/agent.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/floret/src/floret/toolset.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | apps/floret/src/floret/tools/gen.py | 24 | logger = logging.getLogger(__name__) | CODE |
| 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 | 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 | 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/product-analytics.ts | 1 | import { z } from "zod"; | COMMENT |
| LOW | shared/community-endpoints.ts | 61 | MAX_COMMUNITY_PRICE_PER_MILLION_TOKENS / 1_000_000; | COMMENT |
| LOW | shared/http/cache-control.ts | 1 | // Generated request IDs represent logical results: an older cached version | COMMENT |
| LOW | shared/registry/registry.ts | 181 | // are always data — selectors return a NAME, never a number. Provider | COMMENT |
| LOW | shared/db/better-auth.ts | 301 | description: text("description"), | COMMENT |
| LOW | shared/db/better-auth.ts | 481 | // user claims it, and only claiming credits the user's balance. Everything that | COMMENT |
| LOW | operations/infra-watch/src/rules.js | 1 | // Plain alert rules over public `/models/status` data, and the incident | 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 | 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 | echo "changed=true" >> $GITHUB_OUTPUT | COMMENT |
| LOW | .github/workflows/deploy-cloudflare-production.yml | 161 | run: npm run typecheck --workspace pollinations-gen | COMMENT |
| LOW | apps/agent-polyrouter/agent.ts | 1 | // polyrouter - a code-only model router for Pollinations. | 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/mama-barbara/mama.ts | 1 | // Mama Barbara: the Telegram bot that sets up a Barbara for anyone. She signs | COMMENT |
| LOW | apps/mama-barbara/barbara/start.sh | 1 | #!/bin/bash | COMMENT |
| LOW | apps/agent-frugal/agent.ts | 1 | // frugal — a cost-first, health-aware model router for Pollinations. | COMMENT |
| 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/tinybird-deploy/SKILL.md | 73 | ## Step 0: Deploy From a Clean origin/main | COMMENT |
| LOW | .claude/skills/tinybird-deploy/SKILL.md | 85 | ## Step 1: Validate (Dry Run) | COMMENT |
| LOW | .claude/skills/tinybird-deploy/SKILL.md | 100 | ## Step 2: Deploy | COMMENT |
| LOW | .claude/skills/tinybird-deploy/SKILL.md | 114 | ## 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 | 191 | // Step 1: Start video generation with predictLongRunning | COMMENT |
| LOW | gen.pollinations.ai/src/image/models/veoVideoModel.ts | 216 | // 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 | 380 | # Step 1: Create the new issue | COMMENT |
| LOW | apps/polli/src/integrations/github/handlers.py | 391 | # Step 2: Link it as a sub-issue of the parent | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | apps/polli/src/integrations/diagrams.py | 184 | if (!el) return null; | CODE |
| HIGH⚡ | apps/polli/src/integrations/diagrams.py | 186 | const isError = (svg && svg.getAttribute('aria-roledescription') === 'error') | CODE |
| HIGH⚡ | apps/polli/src/integrations/diagrams.py | 188 | return isError ? (el.innerText || 'Syntax error').trim() : null; | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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 | .github/workflows/ci-pull-request-checks.yml | 256 | # Check if any errors are in the changed files | COMMENT |
| LOW | apps/polli/src/bot.py | 666 | # Check if already in a thread - if so, work directly in that thread | COMMENT |
| LOW | apps/polli/src/bot.py | 1112 | # Check if user is admin or collaborator | COMMENT |
| LOW | apps/polli/src/bot.py | 1309 | # Check if user is admin or collaborator (has relevant role) | COMMENT |
| LOW | apps/polli/src/bot.py | 1429 | # 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 | 348 | # Check if the requester's name appears in the attribution | COMMENT |
| LOW | apps/polli/src/ai/client.py | 482 | # Check if model wants to call tools | COMMENT |
| 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 |
| MEDIUM | operations/infrastructure/e2b/polli-harnesses.sh | 5 | # so every harness shares it. | COMMENT |
| LOW | apps/polli/src/integrations/github/handlers.py | 343 | # get_issue_full already includes sub_issues, so just call it | COMMENT |
| MEDIUM | apps/mama-barbara/barbara/setup.sh | 8 | # Change the model later with `polli harness claude-code --model <id>`, then | COMMENT |
| MEDIUM | apps/mama-barbara/barbara/start.sh | 3 | # `polli harness claude-code on`, in tmux session `agent`, with the Telegram | 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 | .github/workflows/docs-regenerate-api-reference.yml | 198 | # Create the PR only if one doesn't already exist for this branch. | COMMENT |
| MEDIUM | .github/workflows/repo-update-readme.yml | 75 | # Create the PR, then request merging through the queue. | COMMENT |
| MEDIUM⚡ | apps/polli/src/integrations/github/handlers.py | 377 | # Create a new issue and immediately link it as a sub-issue of the parent | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | operations/social/scripts/common.py | 644 | CODE | |
| LOW | operations/infrastructure/gpu/zimage/server.py | 204 | CODE | |
| LOW | apps/polli/src/discord/search.py | 611 | CODE | |
| LOW | apps/polli/src/discord/search.py | 82 | CODE | |
| LOW | apps/polli/src/search/handlers.py | 41 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 498 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 618 | CODE | |
| LOW | apps/polli/src/integrations/web_scraper.py | 1218 | CODE | |
| LOW | apps/polli/src/integrations/github/handlers.py | 16 | CODE | |
| LOW | apps/polli/src/integrations/github/handlers.py | 541 | CODE | |
| LOW | apps/polli/src/integrations/github/pull_requests.py | 1363 | CODE | |
| LOW | apps/polli/src/ai/client.py | 381 | CODE | |
| LOW | apps/polli/src/ai/client.py | 207 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gen.pollinations.ai/src/image/models/veoVideoModel.ts | 191 | // Step 1: Start video generation with predictLongRunning | COMMENT |
| LOW | gen.pollinations.ai/src/image/models/veoVideoModel.ts | 216 | // 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 | 380 | # Step 1: Create the new issue | COMMENT |
| LOW | apps/polli/src/integrations/github/handlers.py | 391 | # Step 2: Link it as a sub-issue of the parent | 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 |
|---|---|---|---|---|
| LOW | …ntend/src/components/models/use-model-query-search.tsx | 30 | | "placeholder" | CODE |
| 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 |
| LOW | packages/auth/test/server.test.ts | 222 | email: "user@example.com", | CODE |
| LOW | pollinations.ai/src/art.ts | 10 | type ArtSlot = "hero" | "quests" | "votes" | "placeholder" | "closing"; | CODE |
| LOW | pollinations.ai/src/ui/apps/cards.tsx | 71 | const placeholder = useArt("apps", "placeholder"); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | gen.pollinations.ai/src/middleware/safety.ts | 312 | // text-only Bedrock guardrails and remain unchanged. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | apps/floret/tests/test_api_stream.py | 328 | CODE |