Repository navigation
Conversation
|
Warning Review limit reachedThe included review limit has been reached and this organization has disabled usage-based review continuation. Wait for reviews to reset or ask a billing admin to change After included review limits.
Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing. Next included review available in 12 minutes. View limit details
|
e64e528 to
94095b4
Compare
polymorfa#562 was rebased onto dev as 3766dc9a. Its apps/api/docs/openapi.json hashes to 40daa415; the extracted buttons, list and carousel content schemas are unchanged. Still a draft candidate, not an accepted API revision.
The interactive contract and TypeScript types change tracked package and contract inputs, so check:doc-snippets requires a new source binding. sourceCommit a87f3e9 is the last commit with those inputs; its digest (749740475fc3...) is computed by the catalog sourceDigest function. Snippet recipes and API inputs are unchanged.
94095b4 to
77dc45b
Compare
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 77dc45bd8a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| readonly content: { readonly list: ListMessageContent }; | ||
| } | ||
|
|
||
| export interface SendCarouselMessageRequest extends MessageSendContext { |
There was a problem hiding this comment.
Add the native counterparts for the other five SDKs
This commit adds interactive media headers and native carousel requests only to TypeScript, despite explicitly selecting six-language parity. Searching the other five packages at this revision finds template carousels, but no equivalent native content.carousel request; their button models also lack the new media header. For example, Go's MessageContent has no carousel branch and .NET's ButtonsMessage has no media field, so those customers cannot use the feature through their native public models. Implement the corresponding surfaces and wire coverage before treating this as the coordinated counterpart required by AGENTS.md.
AGENTS.md reference: AGENTS.md:L9-L12
Useful? React with 👍 / 👎.
| /** Each card has replies or CTAs; IDs are unique across the complete carousel. */ | ||
| export type CarouselCard = { | ||
| readonly body: string; | ||
| readonly footer?: string; |
There was a problem hiding this comment.
Remove the unsupported per-card footer
When a caller supplies this advertised optional field, the SDK sends a carousel card that violates the contract added in this same commit. Both card branches in contracts/interactive-messages.json allow only body, buttons, and their respective image or video field, with additionalProperties: false; only the carousel-level object accepts a footer. Consequently, an otherwise valid typed request with a card footer is rejected by the API. Remove the per-card field and its documentation unless the pinned API contract is updated to support it.
Useful? React with 👍 / 👎.
Summary
Add typed image/video/document button headers, bounded native carousels and composed-campaign stable reply IDs across TypeScript, Go, Python, PHP, Rust and .NET. The user selected full six-language parity; the prior TypeScript-only exclusion is withdrawn. Separate reply-flow limits remain unchanged.
Verification
Draft, implementation in progress. Published head remains
77dc45bd8a5ae592b0f76563d303738b2c0c3426; it does not contain completed six-language parity. Native models, send-boundary checks and wire regression source are being prepared locally. No new native test, formatter or build started: normal validation admission returnedNOT_ADMITTED: retained barrier requires explicit disposition.Current-main reconciliation, remaining campaign wire/examples/physical-package checks, and genuine combined-source catalog regeneration are still required. The locked generator dependencies are incomplete and existing no-install restrictions remain. No manual catalog proof or parent-catalog copy qualifies the successor.
Release status
No package publication or hosted availability. Preserve the separate backend supplement and stable Test-key policy; CLI75 keeps its real published-SDK dependency gate. Source readiness, independent approval, merge, matching environment acceptance and release remain distinct.