Uh oh!
There was an error while loading. Please reload this page.
Conversation
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
There was a problem hiding this comment.
Pull request overview
Adds SDK support for the new <Refer> BXML verb and introduces a corresponding ReferCompleteCallback model in the generated OpenAPI surface, along with documentation and unit tests.
Changes:
- Added
Referverb model, registered it inBxml, and added JAXB serialization unit tests. - Added
ReferCompleteCallbackmodel + docs, and registered its Gson type adapter. - Updated shared callback
eventTypedocumentation across multiple generated callback models/docs/specs to includereferComplete.
Reviewed changes
Copilot reviewed 53 out of 53 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/test/java/com/bandwidth/sdk/unit/models/bxml/ReferVerbTest.java | Adds JAXB serialization tests for <Refer> verb output. |
| src/main/java/com/bandwidth/sdk/model/TransferDisconnectCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/TransferCompleteCallback.java | Updates generated model docs (currently describing Refer Complete). |
| src/main/java/com/bandwidth/sdk/model/TransferAnswerCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/TranscriptionAvailableCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ReferCompleteCallback.java | Adds new generated callback model for Refer Complete events. |
| src/main/java/com/bandwidth/sdk/model/RedirectCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/RecordingCompleteCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/RecordingAvailableCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/MachineDetectionCompleteCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/InitiateCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/GatherCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/DtmfCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/DisconnectCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ConferenceRedirectCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ConferenceRecordingAvailableCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ConferenceMemberJoinCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ConferenceMemberExitCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ConferenceCreatedCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ConferenceCompletedCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/bxml/Refer.java | Adds the <Refer> BXML verb model and its attributes. |
| src/main/java/com/bandwidth/sdk/model/bxml/Bxml.java | Registers <Refer> as a supported verb within <Bxml>. |
| src/main/java/com/bandwidth/sdk/model/BridgeTargetCompleteCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/BridgeCompleteCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/AnswerCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/JSON.java | Registers Gson adapter factory for ReferCompleteCallback. |
| README.md | Adds model doc link for ReferCompleteCallback. |
| docs/TransferDisconnectCallback.md | Updates eventType doc list to include referComplete. |
| docs/TransferCompleteCallback.md | Updates generated markdown model doc (currently describing Refer Complete). |
| docs/TransferAnswerCallback.md | Updates eventType doc list to include referComplete. |
| docs/TranscriptionAvailableCallback.md | Updates eventType doc list to include referComplete. |
| docs/ReferCompleteCallback.md | Adds markdown documentation for ReferCompleteCallback. |
| docs/Refer.md | Adds documentation page for the <Refer> BXML verb. |
| docs/RedirectCallback.md | Updates eventType doc list to include referComplete. |
| docs/RecordingCompleteCallback.md | Updates eventType doc list to include referComplete. |
| docs/RecordingAvailableCallback.md | Updates eventType doc list to include referComplete. |
| docs/MachineDetectionCompleteCallback.md | Updates eventType doc list to include referComplete. |
| docs/InitiateCallback.md | Updates eventType doc list to include referComplete. |
| docs/GatherCallback.md | Updates eventType doc list to include referComplete. |
| docs/DtmfCallback.md | Updates eventType doc list to include referComplete. |
| docs/DisconnectCallback.md | Updates eventType doc list to include referComplete. |
| docs/ConferenceRedirectCallback.md | Updates eventType doc list to include referComplete. |
| docs/ConferenceRecordingAvailableCallback.md | Updates eventType doc list to include referComplete. |
| docs/ConferenceMemberJoinCallback.md | Updates eventType doc list to include referComplete. |
| docs/ConferenceMemberExitCallback.md | Updates eventType doc list to include referComplete. |
| docs/ConferenceCreatedCallback.md | Updates eventType doc list to include referComplete. |
| docs/ConferenceCompletedCallback.md | Updates eventType doc list to include referComplete. |
| docs/BridgeTargetCompleteCallback.md | Updates eventType doc list to include referComplete. |
| docs/BridgeCompleteCallback.md | Updates eventType doc list to include referComplete. |
| docs/AnswerCallback.md | Updates eventType doc list to include referComplete. |
| bandwidth.yml | Adds referCompleteCallback schema and updates eventType list; updates transferCompleteCallback description text. |
| api/openapi.yaml | Adds referCompleteCallback schema and updates eventType list; updates transferCompleteCallback description text. |
| .openapi-generator/FILES | Includes newly generated model/doc files in generator manifest. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
stampercasey
left a comment
There was a problem hiding this comment.
Review from Claude Code — see inline comments for individual findings. Four blockers, all in the verb attributes and callback model.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
ReferCompleteCallback (and its ReferCallStatusEnum dependency) will land later via a separate api-specs-driven PR once VAPI-3440 merges, so it doesn't belong in this PR yet. Refer's nested Refer.ReferSipUri is also removed in favor of the existing Transfer-flavored SipUri class, matching the merged csharp-sdk reference implementation (Bandwidth/csharp-sdk#201) which kept Refer plain: no validation, no custom builder, just a shared SipUri property.
bandwidth.yml/api/openapi.yaml still carried the full referCompleteCallback schema and a referComplete addition to the shared eventType enum description after ReferCompleteCallback.java was deleted; nothing generates from it anymore. Also removed the corresponding .openapi-generator/FILES entries and a stray README.md indentation glitch.
The eventType enum description was regenerated with referComplete added to every callback model's docs/*.md and javadoc comment, plus the standalone eventType schema's line wrap in api/openapi.yaml. Since ReferCompleteCallback is out of scope for this PR, these are unrelated diff noise - reverted to match main exactly.
api/openapi.yaml still carried an unrelated pre-existing rewrap of transferCompleteCallback's description with no connection to this PR - reverted the whole file to match main. Also dropped docs/Refer.md: Refer is hand-written (not generated from api/openapi.yaml), so it's the only BXML verb with a hand-maintained doc page, matching the csharp-sdk reviewer's call to delete the equivalent doc there (customers use the BXML dev docs guide instead).
| .tag("test-tag") | ||
| .build(); | ||
| Refer referMinimal = Refer.builder() |
| } | ||
| @Test | ||
| public void referVerbMinimal() throws JAXBException { |
ckoegel flagged the referMinimal field/test as unnecessary; keeping only referVerbWithAllAttributes.
Adds the
<Refer>BXML verb.src/main/java/com/bandwidth/sdk/model/bxml/Refer.java: newReferverb, registered inBxml.java.SipUriclass (implementsOutboundDestination) for the SIP URI child instead of a separate nestedRefer.ReferSipUri, built via the same stock Lombok@BuilderasTransfer- no cross-field validation restricting whichSipUriattributes are legal per verb.ReferVerbTest.javacovering minimal and full-attribute XML serialization.Tests:
mvn test -Dtest="com.bandwidth.sdk.unit.models.*Test"- 1190/1190 pass.VAPI-3438