feat: public re-export packages for ingest and materialize#139
Merged
jamestexas merged 2 commits intomainfrom Mar 26, 2026
Merged
feat: public re-export packages for ingest and materialize#139jamestexas merged 2 commits intomainfrom
jamestexas merged 2 commits intomainfrom
Conversation
Add two thin re-export packages following the graph/graph.go pattern so external consumers (e.g. venturi) can use mache's ingestion engine and materializers as library calls without importing internal packages. - ingest/ingest.go: IngestionTarget, Engine, JsonWalker, NewEngine, NewJsonWalker, StreamSQLite - materialize/mat.go: Materializer, ForFormat
71fd89b to
4299d89
Compare
There was a problem hiding this comment.
Pull request overview
Adds new top-level public packages to expose selected ingestion/materialization APIs without requiring downstream consumers to import internal/*, following the existing graph/graph.go re-export pattern.
Changes:
- Introduces
ingest/ingest.goto re-export core ingestion types and entrypoints frominternal/ingest. - Introduces
materialize/mat.goto re-export the materializer API frominternal/materialize.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
ingest/ingest.go |
New public re-export package for ingestion engine types and constructors. |
materialize/mat.go |
New public re-export package for materializer interface and format selection. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…atch - IngestionTarget doc now references graph.MemoryStore explicitly - Added Walker and Match type aliases so JsonWalker's API surface is complete for external consumers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ingest/ingest.goandmaterialize/mat.go— thin re-export packages following the existinggraph/graph.gopatternIngestionTarget,Engine,JsonWalker,NewEngine,NewJsonWalker,StreamSQLitefrominternal/ingestMaterializer,ForFormatfrominternal/materializeUnblocks venturi's Trivy test to use mache as a library call instead of subprocess.
Test plan
task buildpassesgo vet ./...passestask testpasses (all real tests green)graph/graph.gofor consistency