feat: declare input schemas for the selector-taking agent tools - #2
Open
erkamyaman wants to merge 2 commits into
Open
erkamyaman wants to merge 2 commits into
erkamyaman wants to merge 2 commits into
Conversation
- use .ts import specifiers in devframe.ts; the package has no build step and Node's type stripping does not remap .js to .ts - enable allowImportingTsExtensions and rewriteRelativeImportExtensions in tsconfig.app.json so ng build still compiles src/server.ts - declare cac, an optional peer of devframe that nothing installs but both bin.mjs call through createCac - provide Router in app.spec.ts and drop the assertion on an h1 that app.html no longer renders
highlight, inspect-signals and inspect-providers each advertised
`inputSchema: { type: 'object', properties: {} }` while their handlers
read `args.selector`, so an MCP client had no way to discover the
argument and a wrong guess failed silently.
|
Warning Review limit reachedNext included review available in 14 minutes. View limit detailsLimit details: You’ve used the included review currently available. This review ran on the open-source allowance, not this organization's plan, because the pull request author doesn't have an assigned seat. Waiting won't change this — ask an organization admin to assign them a seat, or add seats in Billing if every seat is already assigned, then retry. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
Comment |
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.
Stacked on #1, which repairs the build. The last commit is the only one specific to this PR.
ng-devtools_highlight,_inspect-signalsand_inspect-providerseach advertise no parameters:while all three handlers read
args.selector. An MCP client has no way to discover the argument, and a wrong guess fails silently:Added a raw
inputSchemato each. Verified over stdio thattools/listnow advertisesselectoras required and the handler receives it.Used
inputSchemarather than the preferredargs, becauseargsadvertises positionalarg0and passes the payload through unchanged, so handlers readingargs.selectorwould break. valibot also exposes no~standard.jsonSchema, soargswould degrade to{type: "object", additionalProperties: true}and lose the description.Two other things I ran into while testing the MCP server, not fixed here:
get-routes,get-components,get-signalsandget-providersfail everytools/callwith-32602, because they returnv.array(...)and devframe advertises an objectoutputSchemafor it. Fix submitted upstream as fix(agentic): do not advertise an output schema devframe cannot derive devframes/devframe#400.inspect-signals/inspect-providersalways return{}rather than their "No signal graph available" fallback.my.rpc.broadcastisPromise<void>and never rejects, so thecatchis unreachable. Happy to open a separate PR if you want a particular shape for it.