Skip to content

Read raw Marketing Messages WABA status in CLI - #48

Merged
purpshell merged 9 commits into
devfrom
codex/oa17-marketing-status-cli
Oct 1, 2026
Merged

purpshell merged 9 commits into
devfrom
codex/oa17-marketing-status-cli

Conversation

@purpshell

@purpshell purpshell commented Sep 26, 2026 •

Copy link
Copy Markdown
Member

Adds polymorfa cloud marketing status --waba <id> --graph-version v26.0, a read of Meta's raw WABA Marketing Messages status strings (API PR #383, merged). It does not interpret eligibility, accepted terms, insight access or send permission. Server credentials only; client tokens are refused before any request.

Uses MessagingClient.cloudMarketing.status from @polymorfa/sdk 0.1.0-dev.20261001124422 (pinned on CLI dev by #41; from polymorfa/sdks #315).

  • API: unaffected; #383 merged.
  • SDKs: consumes the published prerelease.
  • CLI: new command, README, tests (exact route, raw passthrough, client-token refusal).
  • Docs: CLI README. Public Mintlify unchanged (Graph beta, off by default).
  • Feature releases: no access change.

Verification (head 0b3ca14): typecheck, lint, prettier, build, prod audit (0), cloud command tests (21) pass.

Summary by CodeRabbit

  • New Features
    • Added the cloud marketing status command to retrieve and display raw WABA marketing status as formatted JSON. The command requires a WABA ID and Graph API version and uses Official API server credentials.
    • Added documentation covering required permissions, API errors for Simulated Numbers and unsupported accounts, and the meaning of returned status values.
  • Tests
    • Added coverage for retrieving the status response with a project token and rejecting client tokens before making a request.

@coderabbitai

coderabbitai Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

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 38 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available. Your 62 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: 0572c08e-214d-45a3-82f1-6ad06dbbc70e

📥 Commits

Reviewing files that changed from the base of the PR and between 0b3ca14 and 8674bb9.

📒 Files selected for processing (2)
  • test/commands/cloud.test.ts
  • test/commands/flows.test.ts

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 51761d51-59aa-4f11-ba61-f5d554f5b925

📥 Commits

Reviewing files that changed from the base of the PR and between 13dad6a and 0b3ca14.

📒 Files selected for processing (4)
  • README.md
  • docs/internal/2026-09-26-marketing-status-command.md
  • src/commands/cloud/marketing/status.ts
  • test/commands/cloud.test.ts

Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour.


📝 Walkthrough

Walkthrough

The CLI adds cloud marketing status to request a WABA’s marketing status with a specified Graph API version. It validates required values, uses Official API server credentials, and prints the response data as formatted JSON. Documentation describes the raw status values and release prerequisites.

Changes

WABA marketing status

Layer / File(s) Summary
Request and validate WABA marketing status
src/commands/cloud/marketing/status.ts, test/commands/cloud.test.ts
Adds the command and tests project-token success, raw response output, the versioned status request, and client-token rejection before a request.
Document status output and release prerequisites
README.md, docs/internal/2026-09-26-marketing-status-command.md
Documents command usage, the limits of raw status values, API errors, SDK provenance, release prerequisites, unchanged production settings, and checks not run.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant CloudMarketingStatus
  participant MessagingClient
  participant MetaGraphAPI
  participant CLIOutput
  CloudMarketingStatus->>MessagingClient: Create Official API client with Graph version
  CloudMarketingStatus->>MessagingClient: Request WABA marketing status
  MessagingClient->>MetaGraphAPI: Send versioned status request
  MetaGraphAPI-->>MessagingClient: Return status response
  MessagingClient-->>CloudMarketingStatus: Provide response data
  CloudMarketingStatus->>CLIOutput: Write formatted JSON
Loading

Merge Risk: ⚪ Minimal · up to 0b3ca

The command preserves raw status values without interpreting eligibility or send permission. No actionable merge blocker was identified; publishing remains subject to the documented SDK version and integrity verification prerequisites.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. (2 skipped: 2 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding a CLI command to read raw Marketing Messages WABA status.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. (2 skipped: 2 unsupported.)

✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
  • 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

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-26T21:47:31.430364Z 097f857 Manual request
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Bravo.

Reviewed commit: fb39e851f1

ℹ️ 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".

@purpshell

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep them coming!

Reviewed commit: 43b8a7c50e

ℹ️ 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".

@purpshell

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. What shall we delve into next?

Reviewed commit: 9e38b7f495

ℹ️ 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".

@purpshell

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Bravo.

Reviewed commit: 097f8574cf

ℹ️ 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".

@purpshell
purpshell changed the base branch from codex/oa16-catalog-products-cli to dev October 1, 2026 13:28
@purpshell

Copy link
Copy Markdown
Member Author

Local review (head 0b3ca14; manual pass): command calls cloudMarketing.status(waba, {version}) per the pinned SDK; blank-input guard before credential resolution; output is the raw response (same convention as cloud catalog list), so no status is interpreted. Added tests. No findings.

The cloud and Flow tests wrote under ~/.polymorfa-agent-work, which exists on
CI only if the Functions tests ran first.
@purpshell

Copy link
Copy Markdown
Member Author

Local review (head 8674bb9): delta since 0b3ca14 is test-only. Cloud and Flow tests now create fixtures under os.tmpdir() instead of ~/.polymorfa-agent-work, which existed on CI only when the Functions tests ran first (the order-dependent ENOENT failure). CI green. No findings.

@purpshell
purpshell merged commit 9e3c289 into dev Oct 1, 2026
2 checks passed
@purpshell
purpshell deleted the codex/oa17-marketing-status-cli branch October 26, 2026 15:52
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