Repository navigation
feat(cli): typed message sends, edit/delete and group mutations - #18
Conversation
…commands Add message send image|video|audio|document|template|location|contact|poll|buttons|list, message edit|delete, and group create, participants add|remove|promote|demote, subject, description and settings. Every command calls an existing MessagingClient method; local media is sent inline as base64 through messages.send.
|
@coderabbitai review |
|
Warning Review limit reached
Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing. Next included review available in 59 minutes. View limit detailsLimit details: You’ve used the included review currently available. Your 87 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. The 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. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (29)
Comment |
|
|
@coderabbitai review |
|
|
Reviewed locally because CodeRabbit is rate-limited (it answered No changes needed. Both findings were false positives:
Left unfixed as low-severity/by-design: no escape syntax for |
|
Tip For best results, initiate chat on the files or code changes.
The quoted values in The The listed remaining cases are intentional limitations for this PR. ✏️ Learnings added
You are interacting with an AI system. |
Summary
Adds curated everyday Messaging commands on top of existing
MessagingClientmethods only.message send image|video|audio|documentfrom--file(inline base64 viamessages.send) or--url, with--caption,--mime-type(inferred from extension),--max-bytes,document --filename,audio --voice(push-to-talk).message send template|location|contact|poll|buttons|list.message edit/message delete(chats.editMessage/chats.deleteMessage; delete requires--yesor an interactive confirmation).group create,group participants add|remove|promote|demote(remove requires--yes),group subject,group description,group settings(info editing, messaging, member add, join approval; one SDK call each, error lists already-applied settings on partial failure).Missing SDK/API methods (skipped, no raw HTTP)
MediaMessageKind = image|file|voice|video) nor the APIMessageContenthas a sticker kind. Nomessage send sticker.MessagingMediaResourcehas no upload method and the API has no Messaging upload route; local files are sent inline asbase64in the send body (the SDK-supported upload path).Avoids overlap with open PRs: does not touch
message send text/react(#11) ortest/commands/messages.test.ts; idempotency keys stay optional passthrough, matching currentdev(#11 can extend auto-generation to these commands).Five-part assessment
POST /messaging/{session}/messages/send,PUT|DELETE /messaging/{session}/chats/{conversation}/messages/{messageId}(chats:manage), group routes (groups:manage).@polymorfa/sdkmethods only. Gaps above (sticker, Messaging upload) exist in both SDK and API contract, so they are API/product gaps rather than SDK parity bugs.group:participantstopic, README sections.docs/in polymorfa/polymorfa has no CLI guide); README is the CLI reference. No monorepo docs PR needed.Verification
npm run verify(format, lint, typecheck, 515 tests, build, pack, audit) passes.test/commands/message-sends.test.ts(19),test/commands/group-mutations.test.ts(10), covering request shapes, routes, idempotency headers and pre-transport failures.Need help on this PR? Tag
@codesmithwith what you need. Autofix is disabled.