Skip to content

Conversation

@LNSD
Copy link
Contributor

@LNSD LNSD commented Jan 23, 2026

Encapsulate DatasetKind as a private implementation detail to prevent viral dependencies across the codebase. External crates now use RawDatasetKind with extractor-specific zero-sized type markers (EvmRpcDatasetKind, SolanaDatasetKind, FirehoseDatasetKind, DerivedDatasetKind) and equality comparisons instead of pattern matching.

  • Make DatasetKind enum pub(crate) in dataset-store
  • Add FromStr to RawDatasetKind for CLI argument parsing
  • Add PartialEq implementations between extractor kinds and RawDatasetKind
  • Replace DatasetKind with RawDatasetKind in public APIs (error types, handlers)
  • Replace pattern matching with equality comparisons throughout callers

Note

Encapsulates DatasetKind inside dataset-store and migrates all public-facing APIs to RawDatasetKind with extractor marker types for comparisons.

  • Make DatasetKind pub(crate); drop its serde impls/macros and keep local parsing/Display utilities
  • Add FromStr for RawDatasetKind and implement PartialEq bridges with EvmRpcDatasetKind, SolanaDatasetKind, FirehoseDatasetKind, DerivedDatasetKind
  • Replace DatasetKind with RawDatasetKind across errors, provider APIs (ProviderInfo), scheduler/worker (JobDescriptor), dump, and controller
  • Refactor ampctl manifest generate to accept RawDatasetKind, branch via marker-type equality, and add Solana generation; update error messaging
  • Update admin-api handlers to use marker-type equality for manifest validation/registration; tweak error text and OpenAPI docs
  • Add Solana manifest fixture and new integration tests; remove old CLI manifest test

Written by Cursor Bugbot for commit d1b17e6. This will update automatically on new commits. Configure here.

@LNSD LNSD requested review from Theodus and shiyasmohd January 23, 2026 19:45
@LNSD LNSD self-assigned this Jan 23, 2026
@LNSD LNSD marked this pull request as ready for review January 23, 2026 19:45
@LNSD LNSD requested a review from leoyvens January 23, 2026 19:51
@LNSD LNSD force-pushed the lnsd/refactor-dataset-store-make-kind-private branch from ea7e9fd to 12d9cac Compare January 23, 2026 19:51
Encapsulate DatasetKind as a private implementation detail to prevent viral dependencies across the codebase. External crates now use RawDatasetKind with extractor-specific zero-sized type markers (EvmRpcDatasetKind, SolanaDatasetKind, FirehoseDatasetKind, DerivedDatasetKind) and equality comparisons instead of pattern matching.

- Make DatasetKind enum pub(crate) in dataset-store
- Add FromStr to RawDatasetKind for CLI argument parsing
- Add PartialEq implementations between extractor kinds and RawDatasetKind
- Replace DatasetKind with RawDatasetKind in public APIs (error types, handlers)
- Replace pattern matching with equality comparisons throughout callers

Signed-off-by: Lorenzo Delgado <lorenzo@edgeandnode.com>
@LNSD LNSD force-pushed the lnsd/refactor-dataset-store-make-kind-private branch from 12d9cac to d1b17e6 Compare January 23, 2026 20:01
@LNSD LNSD merged commit bf27fc7 into main Jan 23, 2026
8 checks passed
@LNSD LNSD deleted the lnsd/refactor-dataset-store-make-kind-private branch January 23, 2026 20:09
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.

3 participants