Feat: Add MCP client caching configuration to Configuration Plans - #374
Conversation
b301cd0 to
4a84ef9
Compare
|
/hold |
|
/unhold Updated CLI code: vaishnavsk@vaishnav88:~/reshapr/cli$ reshapr service list
ID NAME VERSION TYPE AGE
0RDKX7826076H Dummy Service 1.0.0 REST 76s
vaishnavsk@vaishnav88:~/reshapr/cli$ reshapr config create my_plan -s 0RDKX7826076H --be http://localhost:8080 --ct 15000 --cs private
✅ Configuration plan 'my_plan' created successfully with ID: 0RDKXKPD207FX
vaishnavsk@vaishnav88:~/reshapr/cli$ reshapr config list
ID NAME SERVICE BACKEND API_KEY OAUTH2_CONFIG AUDIT
0RDKX78SE07BW default 0RDKX7826076H http://localhost:8080 No No No
0RDKX919Y07FG my-test-plan 0RDKX7826076H http://localhost:8080 No No No
0RDKXKPD207FX my_plan 0RDKX7826076H http://localhost:8080 No No No
vaishnavsk@vaishnav88:~/reshapr/cli$ reshapr config get 0RDKXKPD207FX -o json
{
"id": "0RDKXKPD207FX",
"organizationId": "acme",
"name": "my_plan",
"serviceId": "0RDKX7826076H",
"backendEndpoint": "http://localhost:8080",
"includedArtifacts": [],
"audit": false,
"cachingConfiguration": {
"ttlMs": 15000,
"cacheScope": "private"
}
}
vaishnavsk@vaishnav88:~/reshapr/cli$ |
|
This is really great! I have one doubt about the naming.
What do you think? |
|
Thanks, Laurent! I totally agree that I think It also ties in perfectly with the discussion in #326! If we stick with I'll go ahead and update the database, API payloads, CLI, and Web UI to use the new name! |
2874561 to
2f58166
Compare
Signed-off-by: Vaishnav88sk <vaishnavsk8804@gmail.com>
Signed-off-by: Vaishnav88sk <vaishnavsk8804@gmail.com>
Signed-off-by: Vaishnav88sk <vaishnavsk8804@gmail.com>
Resolves reviewer feedback to use cachePolicy terminology for better consistency with modern API Gateways and the upcoming Template architectures. Signed-off-by: Vaishnav88sk <vaishnavsk8804@gmail.com>
Quarkus test executions read application.properties/version.properties directly from src/main/resources to support hot-reloading. This skips the Maven filtering phase for those files, leaving ${maven.build.timestamp} unresolved, which causes SmallRye Config to throw a NoSuchElementException and crashes the test startup.
Adding %test.maven.build.timestamp=test provides a dummy fallback specifically for the test profile.
Signed-off-by: Vaishnav88sk <vaishnavsk8804@gmail.com>
2f58166 to
9df9516
Compare
lbroudoux
left a comment
There was a problem hiding this comment.
It looks great! Thanks @Vaishnav88sk, for this big contribution!
Closes #323
Description
This PR introduces support for customizing the MCP client-side caching configuration (
ttlMsandcacheScope) per Configuration Plan, as requested in #323. Previously, caching hints for tools/list and tools/read were hardcoded to30000msandpublic.With this change, administrators can explicitly define these settings in the UI or via the API, which the proxy will use during MCP interactions (protocol ≥
2026-07-28).Changes
caching_configuration(JSONB) to theconfiguration_plantable (Flyway V1.5.0).cachingConfigurationfield toConfigurationPlan,ConfigurationPlanDTO, andeds-v1.proto.McpControllerand wired it to read from the dynamically loadedConfigurationEntry.PlanEditor.svelte.Verification