fix(selectors): paginate BigQuery resources
Summary
- paginate BigQuery dataset and table selectors with provider page tokens instead of draining at most 20 pages
- hydrate saved datasets and tables directly through datasets.get and tables.get
- validate and encode BigQuery identifiers while keeping selector responses bounded to one 200-item page
Previously both selectors silently stopped after 20 pages of 200 results (4,000 resources). Detail hydration repeated that bounded listing, so a saved resource beyond the cap could lose its friendly label.
Type of Change
- Bug fix
- New feature
- Breaking change
- Documentation
- Other
Testing
Passed locally:
- focused BigQuery, manifest, selector-query, and selector-combobox suites: 4 files / 24 tests
- bun run lint
- bun run check:api-validation:strict
- bun run check:fork-dependent-coverage
- bun run check:client-boundary
- scoped Biome check and git diff --check
The app type-check currently stops on two pre-existing errors from staging in sub-block.tsx and triggers/slack/oauth.ts: workflow-output-selector is not yet present in SubBlockType. No type errors were reported in this PR's files.
Provider behavior follows the official BigQuery datasets.list, tables.list, datasets.get, and tables.get REST contracts.
Checklist
- Code follows project style guidelines
- Self-reviewed my changes
- Tests added/updated and passing
- No new warnings introduced
- I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)
Screenshots/Videos
Not included. Live browser validation requires a connected Google BigQuery credential and a project with suitable datasets/tables. Mocked provider tests cover multi-page cursor behavior deterministically without creating hundreds or thousands of resources.