Skip to content

feat(cli): cloud group commands for Official groups (beta) - #63

Merged
purpshell merged 1 commit into
devfrom
codex/oa-21-official-groups
Oct 1, 2026
Merged

purpshell merged 1 commit into
devfrom
codex/oa-21-official-groups

Conversation

@purpshell

@purpshell purpshell commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

Summary

Adds polymorfa cloud group commands (beta) for Official groups, built on MessagingClient.officialGroups (polymorfa/sdks#328, API polymorfa/polymorfa#431):

list, create, get, update, delete (requires --yes), invite-link (with --reset), remove-participants, join-requests list|approve|reject, and pin (--days to pin, --unpin to unpin).

  • Every change makes one network attempt, through the SDK, and passes --idempotency-key to the API. A command that only reads refuses the key.
  • Client tokens are refused before any request.
  • Missing local input is refused before any request: update with neither --subject nor --description, and pin with neither --days nor --unpin.
  • The eligibility error whatsapp_groups_ineligible is surfaced as returned by the API.
  • @polymorfa/sdk is pinned to the exact published dev prerelease 0.1.0-dev.20261001204803, from SDK merge b1ce8f4. The README version line and the prerelease test are updated.
  • README documents the commands. Topics cloud:group and cloud:group:join-requests are added.

Verification

npm run verify passes: format, lint, typecheck, tests (960 passed, 2 skipped), build, pack dry run and production audit. The new test/commands/cloud-group.test.ts checks that every command hits the documented route with the expected body, that a change is sent once with the idempotency key, that the eligibility error is surfaced, and that invalid input and client tokens are refused before any request.

Not exercised: a live API (the beta has no audience).


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

@purpshell

Copy link
Copy Markdown
Member Author

Local review (Codex usage exhausted): manual review of the full diff at head da2717e. I checked the routes, request bodies and flags against the SDK and API contract, one attempt per change with key passthrough, --yes on delete, refusal of invalid local input and client tokens before any request, the exact SDK pin (0.1.0-dev.20261001204803, lockfile resolved from the registry), and the README. No findings.

@coderabbitai

coderabbitai Bot commented Oct 1, 2026

Copy link
Copy Markdown

Warning

Review limit reached

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.

  • Ask an admin to enable usage-based reviews

Open in CodeRabbit

Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing.

Next included review available in 43 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available. Your 63 included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 048cb54e-b6be-4d32-9063-cc0336818657

📥 Commits

Reviewing files that changed from the base of the PR and between a1c517a and da2717e.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (15)
  • README.md
  • package.json
  • src/commands/cloud/group/create.ts
  • src/commands/cloud/group/delete.ts
  • src/commands/cloud/group/get.ts
  • src/commands/cloud/group/invite-link.ts
  • src/commands/cloud/group/join-requests/approve.ts
  • src/commands/cloud/group/join-requests/list.ts
  • src/commands/cloud/group/join-requests/reject.ts
  • src/commands/cloud/group/list.ts
  • src/commands/cloud/group/pin.ts
  • src/commands/cloud/group/remove-participants.ts
  • src/commands/cloud/group/update.ts
  • test/commands/cloud-group.test.ts
  • test/release/check-prerelease.test.ts
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Comment @coderabbitai help to get the list of available commands.

@purpshell
purpshell merged commit 22c40ee into dev Oct 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant