63 Commits

Author SHA1 Message Date
Sushmithamallesh 0b2685a82e fix: Generate API index as folder index.mdx to avoid sidebar duplication
Instead of flat files like `auth-configs.mdx`, generate as
`auth-configs/index.mdx` so they become the index page for
each API folder, avoiding duplicate sidebar entries.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 15:51:17 -08:00
Sushmithamallesh edd26a9a85 feat: Add dynamic API index pages for LLM navigation
- Create generate-api-index.ts script that reads OpenAPI spec
- Generate simple markdown index pages for each API tag
- Pages include tag description and links to all endpoints
- Run automatically as prebuild step
- Update overview page with links to index pages

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 15:37:14 -08:00
Sushmithamallesh f607a5bb37 fix(docs): normalize complex union schemas in OpenAPI spec
The backend API spec contains anyOf/oneOf with many object variants
(e.g., connection_data with 68 variants, custom_connection_data with 10).
This caused fumadocs-openapi to render them as "object | object | object..."

This fix:
- Merges similar object schemas into a single object
- Combines enum values from all variants (e.g., authScheme now shows all 10 auth types)
- Recursively merges nested properties

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 11:40:17 -08:00
Sushmithamallesh 06338594e0 fix(docs): comprehensive fix for nullable without type in OpenAPI schemas
Replace the regex-based fix with a recursive solution that properly handles
all cases of invalid OpenAPI 3.0 schemas with "nullable: true" but no type.

The fix now:
- For additionalProperties: removes nullable (allows any type)
- For schemas with object examples: infers type: object
- For schemas with array examples: infers type: array
- For all other cases: defaults to type: object

This fixes 448 invalid schemas that caused fumadocs to crash when rendering
API reference pages like /tools/postToolsExecuteProxy.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 12:13:46 -08:00
Sushmithamallesh 702f2f5be3 fix(docs): Handle invalid OpenAPI nullable schema in fetch script
The backend API spec has ~394 instances of `additionalProperties: { nullable: true }`
which is invalid OpenAPI 3.0 - `nullable` requires a `type` field.

This causes fumadocs-openapi to error: "nullable cannot be used without type"

Fix: Transform these to `additionalProperties: {}` (any type allowed) during fetch.

Note: The proper fix is in the backend API spec generation.
See: https://swagger.io/docs/specification/v3_0/data-models/data-types/

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:47:38 -08:00
Sushmithamallesh b521f890fb feat(docs): add MCP class to SDK reference documentation
- Add MCP to TypeScript SDK docs (remove from INTERNAL_CLASSES exclusion)
- Add MCP to Python SDK docs (add to EXPECTED_CLASSES and CLASS_MODULES)
- Fix acronym handling in TS generator (MCP -> mcp, not mCP)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 20:16:31 -08:00
Sushmithamallesh 98dec584c4 feat(docs): add MCP to SDK reference and move generators to docs/
- Add MCP class documentation to TypeScript and Python SDK reference
- Move SDK doc generators from SDK dirs to docs/scripts/sdk-reference/
- Update CI workflow to run generators from docs/
- Fix acronym handling in TS generator (MCP -> mcp, not mCP)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 19:52:27 -08:00
Sushmithamallesh 5c337af92e fix: remove CookieAuth and add missing ignored path to OpenAPI filter
- Add /api/v3/labs/tool_router/session to IGNORED_PATHS
- Remove CookieAuth from securitySchemes
- Remove CookieAuth from all endpoint security arrays
- Mirrors filtering done in fern/apis/openapi-overrides.yml

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 18:53:36 -08:00
Sushmithamallesh c5369010b3 docs: merge Tool Router section into main docs
- Move Tool Router content to main docs section:
  - Authentication pages → /docs/authenticating-users/
  - Guide pages → /docs/guides/
  - Toolkit pages → /docs/toolkits/
- Add MCP and native tool examples to provider pages:
  - openai-agents.mdx: Usage with Tools, Usage with MCP, Usage with direct tools
  - vercel.mdx: Usage with Tools, Usage with MCP, Usage with direct tools
  - anthropic.mdx: Usage with MCP, Usage with direct tools
- Remove Tool Router section entirely:
  - Delete content/tool-router/ folder
  - Delete app/(home)/tool-router/ routes
  - Remove from navigation, search, and LLM routes
- Remove "Usage with direct MCP servers" sections (deprecated approach)
- Update all internal links from /tool-router/* to /docs/*
- Add redirects for old Tool Router URLs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 22:08:40 -08:00
Sushmithamallesh 0431ec81eb fix(docs): Add defensive null checks and array validation across toolkit files
- Add object validation before mapping in fetchDetailedTools
- Add null safety for toolkit.name.trim() calls
- Add array null checks in filteredTools/filteredTriggers useMemo
- Add optional chaining for auth config fields spread operators
- Add null check in validDetails filter
- Add Array.isArray validation in generate-toolkits.ts
- Filter out null/non-object items before mapping

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 20:13:51 -08:00
Sushmithamallesh 6fb63a6f64 feat(docs): Add authentication details section to toolkit pages
- Add AuthDetailsSection component with accordion and TypeTable
- Update generate-toolkits script to fetch auth config details from API
- Add AuthConfigDetail and AuthConfigField types
- Display both auth_config_creation and connected_account_initiation fields
- Remove authentication guide button from toolkit detail
- Remove background from inline code in global CSS

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 18:56:36 -08:00
Sushmithamallesh 311eaa302f fix(docs): reduce toolkits bundle size to fix OOM in dev
- Generate separate toolkits-list.json without tools/triggers arrays
- Landing page imports light file (323KB vs 5.1MB)
- Add ToolkitSummary type for landing page usage
- Full toolkits.json still used for detail pages via filesystem read

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 00:36:03 -08:00
Sushmithamallesh a4ec83a83a chore: rename fumadocs directory to docs
- Rename fumadocs/ directory to docs/
- Update all path references in GitHub workflows
- Update CODEOWNERS
- Update SDK doc generation scripts output paths
- Rename workflow file fumadocs-check-links.yml to docs-check-links.yml
- Update package.json name to @composio/docs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 12:41:58 -08:00