ta
TanStack
GitHub
ai
Workspace
GitHub
CI Pipeline Executions
Filtered
Runs
Demo
Insights
Compare tasks
Analytics
Sign in
Toggle sidebar
Overview
⌘K
ai
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
Succeeded
619-create-schemas-library
5873d827 ci(schemas): guard nightly sync with data-only and path allowlist checks The nightly schema sync feeds third-party-controlled OpenAPI specs (notably per-model FAL metadata) through codegen into modules that execute on import and ship to npm. Add two mechanical guards so the sync PR is safe to merge without reading the multi-MB generated diff: - scripts/verify-generated.ts: AST check that every module under src/providers/ is data-only TypeScript — literals, zod builder chains, and same-directory imports only. Blocks template substitutions, element access, constructor/prototype pivots, new, spreads, arbitrary functions, and undeclared identifiers. Runs in the sync workflow, as a vitest test in normal CI, and via a new verify-generated package script. - .github/workflows/verify-sync-schemas.yml: PR-side gate for automated/sync-schemas PRs that enforces the diff stays within sync-owned paths and re-runs the data-only check. Also tighten sync-schemas.yml (fail on out-of-allowlist changes, detect untracked files, narrow git add) and correct the README's claim that the workflow bumps the package version. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
by Tom Beckenham
T
Failed
619-create-schemas-library
5873d827 Merge e625a4a6b0f24063efa512444d919fdb1b0fe211 into 984ac3c8a59e4aef6d3e80b89b2d7986af818850
by Tom Beckenham
T
Succeeded
619-create-schemas-library
3423ac4a fix(schemas): prettier-format fetched specs in fetch-schemas Fetchers write plain JSON.stringify output, but the repo's autofix bot runs `pnpm format` on every PR — so each nightly sync PR earned a formatting follow-up commit (and a misleading double diff). Normalise the specs dir with the repo's Prettier at the end of fetch-schemas so committed specs land in their final form. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
619-create-schemas-library
3423ac4a Merge 276e808eed2e16b195c10246acd3174330e7837b into ff267a5536327b006979f9f28ce2df7cc27f6e23
by Tom Beckenham
T
Succeeded
619-create-schemas-library
4fb4f8bd ci: apply automated fixes
by autofix-ci...
a
Succeeded
619-create-schemas-library
4fb4f8bd Merge 415c9950164a575dc7351b26a2af420869b407b4 into ff267a5536327b006979f9f28ce2df7cc27f6e23
by Tom Beckenham
T
Succeeded
619-create-schemas-library
c2f95832 feat(schemas): close OpenRouter gaps — embeddings + per-model video schemas Two gaps noted in the OpenRouter provider land here: /embeddings was unclassified because OpenRouter declares its request/ response schemas inline rather than via $ref, and the endpoint-map generator can only map named component schemas. The loader now lifts the inline shapes into components.schemas as EmbeddingsRequest / EmbeddingsResponse and re-points the operation, so the endpoint classifies into a new openrouter/embeddings activity unit. Per-model video constraints: the fetcher now also caches the public GET /api/v1/videos/models metadata (supported durations, resolutions, aspect ratios, sizes, frame images, audio/seed capability, passthrough allow-lists) as openrouter.video-models.json, sorted by id for stable nightly diffs. The loader synthesises one constrained VideoGenerationRequest variant per video model (currently 14), mounted at synthetic /videos/{model-id} POSTs marked with x-tanstack-synthetic-video-model so classification never catches real upstream paths. Constraints become enums; capabilities a model lacks drop out of its variant; frame-type and passthrough rules land in field descriptions. The maps expose them as videos/{model-id} entries alongside the generic videos entry. Also: the endpoint extractor now falls back 200 → 201 → 202 for JSON success responses, giving the OpenRouter video job ack (202, VideoGenerationResponse) and two ElevenLabs dubbing endpoints (201) real output schemas. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
619-create-schemas-library
c2f95832 Merge 702b863a8e80f8f446b1eb3a01b1f5ada545ef1b into ff267a5536327b006979f9f28ce2df7cc27f6e23
by Tom Beckenham
T
Succeeded
619-create-schemas-library
176b34c0 Merge bd3a91775f043a740208968c2b0afa960c8dba58 into ff267a5536327b006979f9f28ce2df7cc27f6e23
by Tom Beckenham
T
Succeeded
619-create-schemas-library
176b34c0 feat(schemas): add OpenRouter provider Pulls the public OpenAPI 3.1 spec from openrouter.ai/openapi.json and classifies into chat (chat/completions, messages, responses), audio (speech, transcriptions), and video (/videos — including the frame_images / input_references image-conditioning shape). Account management, preset-scoped variants, and rerank drop out of generation. /embeddings is intentionally unclassified: OpenRouter declares its schemas inline rather than via $ref, so it can't be mapped to named exports. Per-model video constraints (supported_durations, resolutions, aspect ratios from GET /api/v1/videos/models) are a candidate follow-up — noted in the provider module. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
619-create-schemas-library
c3c78b65 Merge ecc6fac2a000c2af76a1c06c5768cdc2987dfd49 into 755dd6f5cd3dcecc22b93fb14d8751c0d4f06669
by Tom Beckenham
T
Succeeded
619-create-schemas-library
c3c78b65 feat(schemas): add OpenRouter provider Pulls the public OpenAPI 3.1 spec from openrouter.ai/openapi.json and classifies into chat (chat/completions, messages, responses), audio (speech, transcriptions), and video (/videos — including the frame_images / input_references image-conditioning shape). Account management, preset-scoped variants, and rerank drop out of generation. /embeddings is intentionally unclassified: OpenRouter declares its schemas inline rather than via $ref, so it can't be mapped to named exports. Per-model video constraints (supported_durations, resolutions, aspect ratios from GET /api/v1/videos/models) are a candidate follow-up — noted in the provider module. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
619-create-schemas-library
2df435fa feat(schemas): add @tanstack/ai-schemas with nightly OpenAPI sync (closes #619) JSON Schema + Zod definitions for AI provider generation endpoints, generated from each provider's official OpenAPI spec (or equivalent): OpenAI, Anthropic, Gemini, ElevenLabs, xAI Grok, and FAL (600+ models). Endpoints are grouped per provider by activity, aligned with the core library's activities — chat, image, video, audio (TTS, transcription, music, SFX in one group), embeddings, moderation — behind @tanstack/ai-schemas/{provider}/{activity}/{json-schema,zod} subpaths. Platform/admin endpoints (projects, invites, certificates, fine-tuning, file stores, workspaces) are excluded from generation. JSON Schemas ship self-contained with their $ref closures bundled under $defs; binary- response media endpoints map input-only entries. Pipeline (ported from fal-ai/fal-js#212, generalised multi-provider): fetch-schemas (per-provider fetchers) → @hey-api/openapi-ts (pinned, JSON Schema + Zod 4 plugins, per-activity spec splits with orphan pruning) → generate-endpoint-maps ($defs bundling, endpoint-id-keyed maps). Post-processing strips hey-api's schema-name discriminator grafts (which made discriminated unions reject every valid payload), accepts multipart/form-data bodies, and resolves dedup-renamed schema refs. .github/workflows/sync-schemas.yml refreshes specs daily and opens an automated PR on diff, following the sync-models.yml pattern. FAL specs are committed like the other providers'; the fetcher needs FAL_KEY (repo secret) and the plain `expand=openapi-3.0` query param. Squashed and rebased onto the flattened packages/* monorepo layout; the package lives at packages/ai-schemas. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
619-create-schemas-library
2df435fa Merge d9904cf7a4beadc3020182d7acf407dcb7a6b7d0 into 496e8143435746965b10e0bbd12f26ebf04ae2a6
by Tom Beckenham
T
Succeeded
619-create-schemas-library
208537a7 chore(schemas): drop the audit step from the sync workflow We already have pnpm's trust-downgrade policy active (refuses installs where provenance attestation regressed), the heyapi version explicitly pinned without a caret, and an automated PR pattern that forces human review before any codegen change lands. A non-blocking audit step would just be log noise, and a blocking one needs scope work we don't want to take on right now. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
619-create-schemas-library
208537a7 Merge 843e490a80c0ed40f7782465b6a69693c6e1e6de into 61ff2592c888dfa0664c95c762252dff8b116971
by Tom Beckenham
T
Succeeded
619-create-schemas-library
3053581d chore(schemas): pin @hey-api/openapi-ts and add audit step to sync workflow `@hey-api/openapi-ts` runs with full code-execution privileges during nightly codegen, so an unintentional bump shouldn't be possible. Drop the caret on the version specifier (`^0.97.2` -> `0.97.2`) so future updates have to land via an explicit PR. The lockfile already pinned the resolved version; this just removes the wiggle room in the manifest. Add a `pnpm audit --audit-level=high` step to sync-schemas.yml. It's non-blocking (`continue-on-error: true`) because the workspace currently carries pre-existing transitive advisories (e.g. an old protobufjs via @google/genai used by ai-gemini) that aren't related to schemas codegen and shouldn't be allowed to break the nightly. The step's purpose is to surface any *new* advisory landing on the codegen dep tree so the human reviewing the automated PR can spot it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
619-create-schemas-library
3053581d chore(schemas): pin @hey-api/openapi-ts and add audit step to sync workflow `@hey-api/openapi-ts` runs with full code-execution privileges during nightly codegen, so an unintentional bump shouldn't be possible. Drop the caret on the version specifier (`^0.97.2` -> `0.97.2`) so future updates have to land via an explicit PR. The lockfile already pinned the resolved version; this just removes the wiggle room in the manifest. Add a `pnpm audit --audit-level=high` step to sync-schemas.yml. It's non-blocking (`continue-on-error: true`) because the workspace currently carries pre-existing transitive advisories (e.g. an old protobufjs via @google/genai used by ai-gemini) that aren't related to schemas codegen and shouldn't be allowed to break the nightly. The step's purpose is to surface any *new* advisory landing on the codegen dep tree so the human reviewing the automated PR can spot it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
619-create-schemas-library
3d672e2e ci: apply automated fixes
by autofix-ci...
a
Succeeded
619-create-schemas-library
3d672e2e ci: apply automated fixes
by autofix-ci...
a
Previous page
Previous
Next
Next page