-
Notifications
You must be signed in to change notification settings - Fork 25
Add support for Operation Collections #118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
ad2118b
fetch operation collection
Jephuff 9bad1a3
Poll Operation Collections
Jephuff fd95e9c
Merge remote-tracking branch 'origin/main' into jeffrey/poll-operatio…
Jephuff fa64966
move code to registry
Jephuff 42071ef
rename studio api to platform api
Jephuff 294caf5
rename and remove clone
Jephuff f125050
rename query
Jephuff 3df0778
more renames
Jephuff 0d81ebc
Update crates/apollo-mcp-server/src/event.rs
Jephuff 035217f
remove trait
Jephuff a43018f
feedback
Jephuff 18b143c
dry pass 1, add request builder helper
Jephuff b15404c
dry pass 2
Jephuff a858fda
stop polling if collection has over 100 operations
Jephuff d2d6b7a
add graphos to words
Jephuff 651eddd
change some noisy logs to debug
Jephuff fb023fb
add —collection to reference
Jephuff 854a2a4
add changeset
Jephuff 9d6faae
undo graphql_client change
Jephuff 92b5f06
Request all data on first request
Jephuff fc642eb
bit of cleanup
Jephuff c64de16
a few renames
Jephuff fc2b7ba
Update docs/source/command-reference.mdx
Jephuff 1d42973
Merge remote-tracking branch 'origin/main' into jeffrey/poll-operatio…
Jephuff 7797efe
and another info to debug
Jephuff File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
### Add `--collection <COLLECTION_ID>` as another option for operation source | ||
|
||
Use operation collections as the source of operations for your MCP server. The server will watch for changes and automatically update when you change your operation collection. | ||
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
pub mod files; | ||
pub(crate) mod logging; | ||
pub mod platform_api; | ||
pub mod uplink; |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
use secrecy::SecretString; | ||
use std::fmt::Debug; | ||
use std::time::Duration; | ||
|
||
pub mod operation_collections; | ||
|
||
/// Configuration for polling Apollo Uplink. | ||
#[derive(Clone, Debug, Default)] | ||
pub struct PlatformApiConfig { | ||
/// The Apollo key: `<YOUR_GRAPH_API_KEY>` | ||
pub apollo_key: SecretString, | ||
|
||
/// The duration between polling | ||
pub poll_interval: Duration, | ||
|
||
/// The HTTP client timeout for each poll | ||
pub timeout: Duration, | ||
} |
3 changes: 3 additions & 0 deletions
3
crates/apollo-mcp-registry/src/platform_api/operation_collections.rs
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
pub mod collection_poller; | ||
pub mod error; | ||
pub mod event; |
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure how to word this, you 100% can use a sandbox or personal collection as long as your APOLLO_KEY has access to it. If you do, it is incompatible with uplink but you can still pass in a schema.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need a larger doc section, beyond just the options in the command reference, that explains this. This will be an immediate area of confusion. But that can be in a follow-on doc PR.