Repository navigation
Conversation
|
|
||
| it("should use the @Core.Links rel=via href as proxy URL on both card.url and supportedInterfaces", () => { | ||
| const csn = cds.linked(` | ||
| @Core.Links: [{rel: 'via', href: 'https://proxy.example.com/agent'}] |
There was a problem hiding this comment.
@schiwekM are you using this? We now typically get the actual url via req.headers["x-forwarded-proto"]
There was a problem hiding this comment.
We use it because if the CAP service is behind a proxy the wrong URL was advertised before and then Joule made wrong requests. If the url gets replaced by a relative path property that would be ideal and would avoid these workarounds.
There was a problem hiding this comment.
Does Joule support relative URLs?
According to A2A:
"For HTTP-based transports, must be a valid absolute HTTPS URL in production"
https://a2a-protocol.org/latest/specification/#446-agentinterface
There was a problem hiding this comment.
We noticed the following situation (approuter / dwc approuter):
client --> approuter --> srv (agent)
The agent card will contain the srv url, but the client can only access the approuter. Here we still need a way for the agent to customize the host.
> cds.compile.to.a2a(cds.model, { service: 'CatalogService' })
{
name: 'CatalogService',
description: 'Agent for CatalogService',
url: 'https://HOST/a2a/catalog',
version: '1.0.0',
protocolVersion: '0.3.0',
supportedInterfaces: [
{
url: 'https://HOST/a2a/catalog',
protocolBinding: 'JSONRPC',
protocolVersion: '0.3.0'
}
],Host is still unresolved when calling cds.compile.to.a2a. This is how we fill it in at the endpoint: Lines 166 to 168 in 95bce97 Just noting it. @PDT42 do you know if ORD will fill urls in themselves? |
There was a problem hiding this comment.
🔍 PR Review — feat: ord plugin compat
🔴 Action required (1 open, 4 total)
| Category | Finding | File |
|---|---|---|
| ⚙️ Correctness | Adapter path override is omitted from the base card | lib/index.js:106 |
lib/index.js:164 | ||
protocol/agent-card.js:124 | ||
lib/compile.js:40 |
🟡 Suggestions (1 open, 4 total)
| Category | Finding | File |
|---|---|---|
| ⚙️ Correctness | Empty Example lines suppress the fallback example | protocol/agent-card.js:58 |
CHANGELOG.md:12 | ||
CHANGELOG.md:17 | ||
CHANGELOG.md:13 |
🟢 Nitpicks (2 open, 4 total)
You're seeing this review as part of a pilot for our new /review+ experience. To help us continuously improve, check the feedback boxes on the comments below or share your thoughts in our Community channel.
PR Bot Information
Version: 1.33.19
- Correlation ID:
7ff0bd10-d3b9-11f1-94c2-f535e223d455 - LLM:
gpt-5.6-sol - File Content Strategy: Full file content
- Event Trigger:
issue_comment.created - Experiment Variant:
treatment
Co-authored-by: hyperspace-pr-bot[bot] <209611008+hyperspace-pr-bot[bot]@users.noreply.github.com>
Co-authored-by: hyperspace-pr-bot[bot] <209611008+hyperspace-pr-bot[bot]@users.noreply.github.com>
…pat' into feat/ord-plugin-compat
lib/api.js, symmetric to https://github.com/cap-js/mcp/blob/main/lib/api.js@Core.Links@agent.card, as it was not considered in any other place that needs to resolve theAGENTS.mdto use