.DS_Store
node_modules/
.env
.env.*
*.log
__pycache__/
*.pyc
.venv/
.pytest_cache/
.ruff_cache/
dist/
proxy/proxy
proxy/bin/

# Vendor agent skills, installed with `pnpm dlx skills add workos/skills` and pinned
# by skills-lock.json. Reinstallable in one command and versioned by the vendor, so the
# tree carries the lockfile rather than ~18k lines of somebody else's documentation.
.agents/
.claude/skills/
skills-lock.json
tunnel/bin/
integration/.logs/

# `make plugin` and `make ai-sdk-mirror` assemble their publishable trees here to check
# them, then remove them.
.plugin-mirror/
.ai-sdk-mirror/

# Where every tier writes what it covered, for `make coverage` to add up. A suite per
# top-level directory in three languages, plus the binaries `integration/` runs, so it is
# a directory rather than the single `.coverage` any one language leaves beside itself.
.coverage-out/
.coverage
coverage.xml

# The pinned Node 22 `make node` unpacks. Not under `ai-sdk-provider/` on purpose: it is a
# toolchain rather than package content, and the published tarball is assembled from that
# directory. `node_modules/` and `dist/` above already cover the rest of the package.
.node/
ai-sdk-provider/coverage/
ai-sdk-provider/*.tgz
*.tsbuildinfo

# A safety net for somebody who points `make acceptance`'s venv at the tree. It defaults
# outside the repository on purpose -- the tier's first assertion is that the SDK under test
# did not come from here, and a venv inside would make that assertion fail on a correct run
# -- but an override should not also become a commit.
.acceptance-venv/

# The Spark deployment's tunnel client configuration: two live credentials and the map of
# internal addresses that is the one thing Gridline is never told. `.env.*` above does not
# cover it -- the name is `tunnel.env`, not `.env.tunnel`. Committed alongside it is
# `tunnel.env.example`, which holds names and no values.
deploy/spark/tunnel.env

# A minted bearer token, which is what a `.jwt` file is -- there is no such thing as one
# of these that is safe to commit. Here because `git add -A` in the repository root will
# otherwise take one: that is not hypothetical, it happened on 2026-08-09 and the token
# reached a pull request branch before it was noticed. A pattern costs nothing and the
# failure it prevents cannot be undone, because a pushed object stays reachable by its
# SHA whatever the branch is rewritten to afterwards.
*.jwt
