Skip to content

Add typed Mission Control SDK#2054

Open
moshloop wants to merge 1 commit into
mainfrom
feat/typed-mission-control-sdk-dk5p0fcc4uww
Open

Add typed Mission Control SDK#2054
moshloop wants to merge 1 commit into
mainfrom
feat/typed-mission-control-sdk-dk5p0fcc4uww

Conversation

@moshloop

Copy link
Copy Markdown
Member

Add a reproducible OpenAPI generation pipeline that boots PostgREST, enriches schemas with model documentation and RBAC metadata, and validates drift in CI.

  • Publish typed TypeScript SDK with generated API types and authentication helpers
  • Enrich OpenAPI spec with documentation and RBAC metadata
  • Add CI validation to detect schema drift

Add a reproducible OpenAPI generation pipeline that boots PostgREST, enriches schemas with model documentation and RBAC metadata, and validates drift in CI. Publish a typed TypeScript client with generated API types, authentication helpers, and package metadata for downstream Mission Control consumers.
@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@moshloop, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 52 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6e60b3a1-da33-424d-9fed-952721c325db

📥 Commits

Reviewing files that changed from the base of the PR and between ea868fd and ad8f30a.

⛔ Files ignored due to path filters (2)
  • go.sum is excluded by !**/*.sum
  • sdk/typescript/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (20)
  • Makefile
  • Taskfile.yaml
  • go.mod
  • hack/gen-registry/main.go
  • schema/openapi/postgrest/convert.go
  • schema/openapi/postgrest/enrich.go
  • schema/openapi/postgrest/metadata.go
  • schema/openapi/postgrest/postgrest_test.go
  • schema/openapi/postgrest/rbac.go
  • schema/openapi/postgrest/registry.go
  • schema/openapi/postgrest/registry_models.go
  • schema/openapi/postgrest/rpc-overlays.yaml
  • schema/openapi/postgrest/rpc_overlay.go
  • sdk/typescript/.gitignore
  • sdk/typescript/.npmignore
  • sdk/typescript/README.md
  • sdk/typescript/package.json
  • sdk/typescript/src/client.ts
  • sdk/typescript/src/index.ts
  • sdk/typescript/tsconfig.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/typed-mission-control-sdk-dk5p0fcc4uww
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch feat/typed-mission-control-sdk-dk5p0fcc4uww

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown

Benchstat (RLS)

Base: ea868fd2ad9c25d1b2fae144f8bcefeeaa946f58
Head: ad8f30a93d227a7cb628673fd042577dd76c5b18

📊 1 minor regression(s) (all within 5% threshold)

Benchmark Base Head Change p-value
RLS/Sample-15000/config_changes/With_RLS-4 94.29m 95.52m +1.31% 0.002
✅ 3 improvement(s)
Benchmark Base Head Change p-value
RLS/Sample-15000/config_detail/With_RLS-4 91.58m 90.35m -1.34% 0.002
RLS/Sample-15000/config_names/Without_RLS-4 10.040m 9.960m -0.80% 0.041
RLS/Sample-15000/configs/With_RLS-4 91.56m 90.87m -0.75% 0.004
Full benchstat output
goos: linux
goarch: amd64
pkg: github.com/flanksource/duty/bench
cpu: INTEL(R) XEON(R) PLATINUM 8573C
                                               │ bench-base.txt │          bench-head.txt           │
                                               │     sec/op     │   sec/op     vs base              │
RLS/Sample-15000/catalog_changes/Without_RLS-4      4.042m ± 1%   4.045m ± 1%       ~ (p=0.589 n=6)
RLS/Sample-15000/catalog_changes/With_RLS-4         94.67m ± 2%   94.46m ± 0%       ~ (p=0.818 n=6)
RLS/Sample-15000/config_changes/Without_RLS-4       4.031m ± 1%   4.046m ± 1%       ~ (p=0.180 n=6)
RLS/Sample-15000/config_changes/With_RLS-4          94.29m ± 1%   95.52m ± 1%  +1.31% (p=0.002 n=6)
RLS/Sample-15000/config_detail/Without_RLS-4        3.683m ± 1%   3.672m ± 1%       ~ (p=0.240 n=6)
RLS/Sample-15000/config_detail/With_RLS-4           91.58m ± 1%   90.35m ± 1%  -1.34% (p=0.002 n=6)
RLS/Sample-15000/config_names/Without_RLS-4        10.040m ± 2%   9.960m ± 1%  -0.80% (p=0.041 n=6)
RLS/Sample-15000/config_names/With_RLS-4            91.02m ± 1%   91.45m ± 1%       ~ (p=0.132 n=6)
RLS/Sample-15000/config_summary/Without_RLS-4       74.02m ± 1%   73.21m ± 2%       ~ (p=0.240 n=6)
RLS/Sample-15000/config_summary/With_RLS-4          452.4m ± 1%   453.8m ± 1%       ~ (p=0.310 n=6)
RLS/Sample-15000/configs/Without_RLS-4              5.852m ± 1%   5.834m ± 1%       ~ (p=0.589 n=6)
RLS/Sample-15000/configs/With_RLS-4                 91.56m ± 1%   90.87m ± 0%  -0.75% (p=0.004 n=6)
RLS/Sample-15000/analysis_types/Without_RLS-4       3.080m ± 2%   3.074m ± 1%       ~ (p=1.000 n=6)
RLS/Sample-15000/analysis_types/With_RLS-4          3.101m ± 3%   3.099m ± 2%       ~ (p=0.818 n=6)
RLS/Sample-15000/analyzer_types/Without_RLS-4       2.975m ± 1%   2.967m ± 4%       ~ (p=0.937 n=6)
RLS/Sample-15000/analyzer_types/With_RLS-4          3.000m ± 0%   3.000m ± 1%       ~ (p=1.000 n=6)
RLS/Sample-15000/change_types/Without_RLS-4         4.037m ± 0%   4.035m ± 0%       ~ (p=0.485 n=6)
RLS/Sample-15000/change_types/With_RLS-4            4.079m ± 1%   4.085m ± 3%       ~ (p=0.699 n=6)
RLS/Sample-15000/config_classes/Without_RLS-4       3.226m ± 1%   3.215m ± 0%       ~ (p=0.093 n=6)
RLS/Sample-15000/config_classes/With_RLS-4          90.44m ± 0%   90.59m ± 1%       ~ (p=0.589 n=6)
RLS/Sample-15000/config_types/Without_RLS-4         3.674m ± 0%   3.685m ± 1%       ~ (p=0.310 n=6)
RLS/Sample-15000/config_types/With_RLS-4            90.28m ± 1%   90.23m ± 1%       ~ (p=0.818 n=6)
geomean                                             15.26m        15.24m       -0.12%

@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown

Benchstat (Other)

Base: ea868fd2ad9c25d1b2fae144f8bcefeeaa946f58
Head: ad8f30a93d227a7cb628673fd042577dd76c5b18

⚠️ 1 regression(s) detected (threshold: >5%)

Benchmark Base Head Change p-value
ResourceSelectorConfigs/tags-4 29.67m 31.16m +5.05% 🔴 0.041
✅ 1 improvement(s)
Benchmark Base Head Change p-value
ResourceSelectorQueryBuild/tags-4 17.63µ 17.49µ -0.82% 0.041

Failed: 1 benchmark(s) regressed by more than 5%:
ResourceSelectorConfigs/tags-4: 29.67m -> 31.16m (+5.05%)

Full benchstat output
goos: linux
goarch: amd64
pkg: github.com/flanksource/duty/bench
cpu: AMD EPYC 7763 64-Core Processor                
                                                       │ bench-base.txt │           bench-head.txt           │
                                                       │     sec/op     │    sec/op     vs base              │
InsertionForRowsWithAliases/external_users.aliases-4       596.6µ ±  5%   602.6µ ±  6%       ~ (p=0.589 n=6)
InsertionForRowsWithAliases/config_items.external_id-4     1.108m ± 11%   1.115m ± 10%       ~ (p=0.937 n=6)
InsertionOfConfigsWithProperties-4                         3.728m ±  1%   3.745m ±  1%       ~ (p=0.394 n=6)
UpdateOfConfigsWithProperties-4                            7.447m ±  2%   7.422m ±  1%       ~ (p=0.485 n=6)
ResourceSelectorConfigs/name-4                             222.4µ ±  2%   220.8µ ±  2%       ~ (p=0.310 n=6)
ResourceSelectorConfigs/name_and_type-4                    237.6µ ±  8%   241.9µ ±  6%       ~ (p=0.310 n=6)
ResourceSelectorConfigs/tags-4                             29.67m ±  4%   31.16m ±  6%  +5.05% (p=0.041 n=6)
ResourceSelectorQueryBuild/name-4                          43.16µ ±  1%   43.42µ ±  2%       ~ (p=0.065 n=6)
ResourceSelectorQueryBuild/name_and_type-4                 63.60µ ±  0%   63.68µ ±  1%       ~ (p=0.937 n=6)
ResourceSelectorQueryBuild/tags-4                          17.63µ ±  1%   17.49µ ±  1%  -0.82% (p=0.041 n=6)
geomean                                                    518.1µ         522.1µ        +0.77%

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​openapi-typescript@​7.13.09910010085100
Addednpm/​openapi-fetch@​0.13.810010010086100
Addednpm/​typescript@​5.9.31001009010090

View full report

@github-actions

Copy link
Copy Markdown

Gavel results

Gavel exited with code .

View full results

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant