Skip to content

feat(cli): add fact table list get and create commands - #123

Draft
rtiman-spotify wants to merge 3 commits into
spotify:mainfrom
rtiman-spotify:cli-fact-tables
Draft

rtiman-spotify wants to merge 3 commits into
spotify:mainfrom
rtiman-spotify:cli-fact-tables

Conversation

@rtiman-spotify

Copy link
Copy Markdown

Summary

Adds data fact-tables list/get/create using existing Metrics HTTP APIs. Supports pagination/filter/order/deleted visibility, explicit bounded --all, resource JSON input and optional caller-selected IDs. Create sends the resource body directly and never automatically retries. Lifecycle state/errors/schema-validation jobs remain visible.

Dependency

Depends on #122. This fork branch shares the foundation commits; the main-targeted diff includes them until it lands. Kept draft; do not merge out of order.

Safety and limits

Strict input validation rejects unknown/output-only fields and column annotations. skipSqlPreview and column.type inputs are intentionally unsupported so creation uses backend SQL/schema validation. Lost/invalid create responses report unknown outcome and preserve a supplied ID for manual lookup. No batch/recovery/approval workflow, updates or deletion.

Verification

Node 24, pnpm build and full pnpm qa passed against current-main auth. 179 focused command/input MSW tests pass. Existing E2E regression runs in CI; no live API compatibility claim.

Checklist

  • Local build/typecheck/lint/unit tests passed
  • CLI documentation and examples updated
  • New behavior and regression tests added
  • TUI screenshots (not applicable)

Related: https://spotify.atlassian.net/browse/SLMD-1921 and https://spotify.atlassian.net/browse/SLMD-1934.

rtiman-spotify and others added 3 commits October 19, 2026 15:30
Co-Authored-By: Xirp Agent (gpt-6.1-sol) <xirp-agent@users.noreply.ghe.spotify.net>
Co-Authored-By: Xirp Agent (gpt-6.1-sol) <xirp-agent@users.noreply.ghe.spotify.net>
Co-Authored-By: Xirp Agent (gpt-6.1-sol) <xirp-agent@users.noreply.ghe.spotify.net>
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