You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #848 shipped runtime hints naming `buildCreativeResponse` / `audioAsset` / `displayRender` / `parameterizedRender`. If a developer is on `@adcp/client` < 5.14 (the version these factories first shipped in — scope3's original path in agentic-adapters#100 was on 4.16.2), the hint is slightly misleading: the helper exists in the SDK, but their pinned version doesn't have it.
DX-expert's review flagged this as a gap — the developer follows the hint, adds the import, gets a "module has no exported member" error, and has to figure out they need to upgrade.
Proposal
Two places where version staleness could be detected:
Agent-observed case — the storyboard runner pulls the agent's `get_adcp_capabilities` response, which includes `library_version: '@adcp/client@X.Y.Z'` when the agent self-reports via the existing capability surface. If the version is present AND older than the minimum release that shipped the referenced helpers, suffix the hint:
```
... Use buildCreativeResponse() from @adcp/client/server.
(Note: your agent reports @adcp/client@4.16.2 — these helpers ship in ≥5.14. Upgrade your SDK dep.)
```
Client-side case — the CLI startup staleness check (shipped in feat(cli): pin @latest in docs + startup staleness check #835) already hits npm for the latest version. Extend it to note which features the user's pinned version lacks, if we maintain a `FEATURES_BY_VERSION` map.
(1) is tighter — it triggers only when the hint actually applies. (2) is broader but less targeted.
Scope
Start with (1). Add a `library_version` field to `StoryboardContext` (populated from the capabilities response), thread it into `detectShapeDriftHint`, and maintain a small `HELPER_MIN_VERSION` map:
Suffix the hint when the agent's reported version is below the min for the helper being recommended.
Out of scope
Forcing agents to report `library_version`. If it's absent, skip the suffix — don't demand it. Some agents will be hand-rolled and won't carry this field.
Per-feature capability flags (`capabilities.supports_build_creative_v2`) — heavier and overlaps with version reporting.
Context
PR #848 shipped runtime hints naming `buildCreativeResponse` / `audioAsset` / `displayRender` / `parameterizedRender`. If a developer is on `@adcp/client` < 5.14 (the version these factories first shipped in — scope3's original path in agentic-adapters#100 was on 4.16.2), the hint is slightly misleading: the helper exists in the SDK, but their pinned version doesn't have it.
DX-expert's review flagged this as a gap — the developer follows the hint, adds the import, gets a "module has no exported member" error, and has to figure out they need to upgrade.
Proposal
Two places where version staleness could be detected:
Agent-observed case — the storyboard runner pulls the agent's `get_adcp_capabilities` response, which includes `library_version: '@adcp/client@X.Y.Z'` when the agent self-reports via the existing capability surface. If the version is present AND older than the minimum release that shipped the referenced helpers, suffix the hint:
```
... Use buildCreativeResponse() from @adcp/client/server.
(Note: your agent reports @adcp/client@4.16.2 — these helpers ship in ≥5.14. Upgrade your SDK dep.)
```
Client-side case — the CLI startup staleness check (shipped in feat(cli): pin @latest in docs + startup staleness check #835) already hits npm for the latest version. Extend it to note which features the user's pinned version lacks, if we maintain a `FEATURES_BY_VERSION` map.
(1) is tighter — it triggers only when the hint actually applies. (2) is broader but less targeted.
Scope
Start with (1). Add a `library_version` field to `StoryboardContext` (populated from the capabilities response), thread it into `detectShapeDriftHint`, and maintain a small `HELPER_MIN_VERSION` map:
```ts
const HELPER_MIN_VERSION: Record<string, string> = {
buildCreativeResponse: '5.14.0',
audioAsset: '5.14.0', // shipped earlier, confirm via git log before merging
displayRender: '5.14.0',
parameterizedRender: '5.14.0',
};
```
Suffix the hint when the agent's reported version is below the min for the helper being recommended.
Out of scope
Related
Follow-up from #848's DX review.