Repository navigation
feat: adds Moonraker extensions API support - #1999
Merged
pedrolamas merged 5 commits intoOct 21, 2026
Merged
Conversation
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
Bundle size report (gzip)
120 chunks compared, 23 changed. Sizes are gzip, matching what nginx serves. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
It is a small, purely additive change with no current consumers that faithfully follows established module, typings, and socket-action conventions, and no correctness, naming, or convention issues were found.
No open issues 🎉
Review effort: Balanced
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.
Adds generic support for Moonraker's extensions API (agents), ahead of #1966 which will build on it. Nothing uses it yet.
server.extensions.list,server.extensions.requestandnotify_agent_event.AgentEventis a union of the reservedconnected(carriesAgentInfo) /disconnectedevents and a custom catch-all, narrowed with type predicates.argumentsisunknown[] | object | null, matching Moonraker's list-or-dict check while still accepting interfacesSocketActions.serverExtensionsListandserverExtensionsRequest<T>({ agent, method, arguments? }, options?)— a params object, so request options can't be mistaken for agent argumentsextensionsstore module holding the connected agents (getAgents): loaded viaMOONRAKER_COMPONENTS(extensionsis a core component, present since before the minimum supported Moonraker version), kept current in place by theconnected/disconnectedevents, and reset on socket dropGlobals.MOONRAKER_AGENTSentry'seventDispatch, so an agent's handler can react to its own disconnect. Unhandled custom events are logged at debug level. The registry is empty for now — feat: Web based firmware updates #1966 adds itsaldisrow🤖 Generated with Claude Code