feat(docs): add Pagefind keyword search#1412
Conversation
parteeksingh24
commented
Apr 27, 2026
- Build a Pagefind index from docs content and nav data
- Use Pagefind results in the docs search dialog
- Keep nav matches as a fallback for page-level entries
- Serve Pagefind index files correctly in dev mode
- Build a Pagefind index from docs content and nav data - Use Pagefind results in the docs search dialog - Keep nav matches as a fallback for page-level entries - Serve Pagefind index files correctly in dev mode
|
The latest Agentuity deployment details.
|
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (7)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
📦 Canary Packages Publishedversion: PackagesInstallAdd to your {
"dependencies": {
"@agentuity/migrate": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-migrate-2.0.9-2c7e6ee.tgz",
"@agentuity/schedule": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-schedule-2.0.9-2c7e6ee.tgz",
"@agentuity/email": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-email-2.0.9-2c7e6ee.tgz",
"@agentuity/core": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-core-2.0.9-2c7e6ee.tgz",
"@agentuity/workbench": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-workbench-2.0.9-2c7e6ee.tgz",
"@agentuity/react": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-react-2.0.9-2c7e6ee.tgz",
"@agentuity/evals": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-evals-2.0.9-2c7e6ee.tgz",
"@agentuity/frontend": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-frontend-2.0.9-2c7e6ee.tgz",
"@agentuity/claude-code": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-claude-code-2.0.9-2c7e6ee.tgz",
"@agentuity/sandbox": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-sandbox-2.0.9-2c7e6ee.tgz",
"@agentuity/runtime": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-runtime-2.0.9-2c7e6ee.tgz",
"@agentuity/drizzle": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-drizzle-2.0.9-2c7e6ee.tgz",
"@agentuity/webhook": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-webhook-2.0.9-2c7e6ee.tgz",
"@agentuity/db": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-db-2.0.9-2c7e6ee.tgz",
"@agentuity/auth": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-auth-2.0.9-2c7e6ee.tgz",
"@agentuity/task": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-task-2.0.9-2c7e6ee.tgz",
"@agentuity/keyvalue": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-keyvalue-2.0.9-2c7e6ee.tgz",
"@agentuity/vector": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-vector-2.0.9-2c7e6ee.tgz",
"@agentuity/schema": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-schema-2.0.9-2c7e6ee.tgz",
"@agentuity/queue": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-queue-2.0.9-2c7e6ee.tgz",
"@agentuity/coder-tui": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-coder-tui-2.0.9-2c7e6ee.tgz",
"@agentuity/postgres": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-postgres-2.0.9-2c7e6ee.tgz",
"@agentuity/coder": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-coder-2.0.9-2c7e6ee.tgz",
"@agentuity/server": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-server-2.0.9-2c7e6ee.tgz",
"@agentuity/cli": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-cli-2.0.9-2c7e6ee.tgz",
"@agentuity/opencode": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-opencode-2.0.9-2c7e6ee.tgz"
}
}Or install directly: bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-migrate-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-schedule-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-email-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-core-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-workbench-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-react-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-evals-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-frontend-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-claude-code-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-sandbox-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-runtime-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-drizzle-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-webhook-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-db-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-auth-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-task-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-keyvalue-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-vector-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-schema-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-queue-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-coder-tui-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-postgres-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-coder-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-server-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-cli-2.0.9-2c7e6ee.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/2.0.9-2c7e6ee/agentuity-opencode-2.0.9-2c7e6ee.tgz |
- Keep docs search results scoped to the active query - Prefer prefix-matched nav results before `Pagefind` matches - Reset `cmdk` selection and list scroll when queries change - Expand `Pagefind` aliases from partial terms like `ote`
Pagefind keyword search
Brings in 10 commits from main on top of the v3 branch: - More perf improvements (#1416) - Relax stream namespace timestamp fields (#1406) - feat: add per-sandbox paused timeout support (#1392) - fix(ci): handle successful docs sync transport errors (#1415) - Update stale docs (#1404) - feat(docs): add Pagefind keyword search (#1412) - fix(ci): run release-next tests with test env (#1414) - Add coder Hub rpc_ready protocol event (#1413) - fix(docs): improve Ask AI query handling (#1411) - Move default template from agent pattern to route-only (#1386) Conflict resolutions: Modify/delete (deleted on v3, kept deleted — main's edits dropped): - packages/cli/src/cmd/build/vite/vite-asset-server-config.ts - packages/runtime/src/middleware.ts - packages/runtime/src/services/sandbox/http.ts - templates/_base/src/api/index.ts - templates/default/package.overlay.json - templates/default/src/api/index.ts - templates/default/src/web/App.tsx File location (apps/docs -> docs rename from v3): - docs/src/web/lib/pagefind-search.ts (placed at v3 path) Content: - .github/workflows/release-next.yaml — deduped the NODE_ENV env block on the Unit tests step (both sides added it; kept main's placement before run:); kept v3's trailing newline. - docs/src/api/streaming/route.ts — kept v3's defensive runtime type narrowing for body.model (added by CodeRabbit feedback) but adopted main's default model name 'gpt-5.4-mini' to match the rest of the docs demo apps. - bun.lock — regenerated from the merged package manifests.