Add execution inputs resource#332
Conversation
Co-authored-by: Rohan Gupta <thisrohangupta@users.noreply.github.com>
Co-authored-by: Rohan Gupta <thisrohangupta@users.noreply.github.com>
|
|
Co-authored-by: Rohan Gupta <thisrohangupta@users.noreply.github.com>
There was a problem hiding this comment.
Found 3 Sunil-standards gaps on the current PR head:
executionInputsExtract()still does nested passthrough oninputSetDetails, so undocumented backend fields can leak across the public contract.- The README count was bumped to 214, but the Pipelines resource matrix still omits
execution_inputs, so docs do not match implementation. - The new tests only cover the resource through
registry.dispatch(). The checklist for new extractors calls for focused response-shape coverage, and there is still no case that would catch nestedinputSetDetails[]leakage.
GitHub CI is green on c29077018039ed33de89881beb29571e23f68683, but I would address the above before considering this aligned with the architecture bar.
Sent by Cursor Automation: Sunil On Demand Architecture Review
| return { | ||
| inputSetTemplateYaml: typeof data.inputSetTemplateYaml === "string" ? data.inputSetTemplateYaml : null, | ||
| inputSetYaml, | ||
| inputSetDetails: Array.isArray(data.inputSetDetails) ? data.inputSetDetails : [], |
There was a problem hiding this comment.
executionInputsExtract() strips the top-level NG envelope, but inputSetDetails is still passed through verbatim. That means any extra backend fields inside each element cross the public tool boundary unchanged, which is exactly the nested-passthrough case Sunil's checklist tries to prevent. Please project each item to a stable documented shape (or scrub/re-prune each item) and add a regression case with surplus nested fields.
| 214 resource types organized across 36 toolsets. Each resource type supports a subset of CRUD operations and optional execute actions. | ||
|
|
||
| ### Platform | ||
|
|
There was a problem hiding this comment.
The PR increments the global resource count to 214, but the Pipelines resource matrix still omits execution_inputs. That leaves the human-facing docs out of sync with the registry surface even though the generated totals changed. Please add the new resource here as well (or fix the generator/source data if this table is generated).
| expect(call.body).toBeUndefined(); | ||
| }); | ||
|
|
||
| it("projects execution inputs response without backend envelope metadata", async () => { |
There was a problem hiding this comment.
These new cases only exercise executionInputsExtract() through registry.dispatch(). Sunil's checklist asks for focused response-shape coverage for every new extractor, and that matters here because nothing in this file would fail if inputSetDetails[] started leaking extra nested fields. Please add a direct extractor test (or an equivalent tool-level contract test) that proves the nested shape is stable.


Description
Adds a project-scoped
execution_inputsresource type so MCP clients can retrieve the runtime input YAML and input set details used by a pipeline execution viaexecution_id.Type of Change
Checklist
Verification:
pnpm build,pnpm docs:generate,pnpm docs:check,pnpm typecheck,pnpm test.