Skip to content

fix: strengthen Why CueAPI section + fix tagline#12

Merged
govindkavaturi-art merged 1 commit into
mainfrom
fix/readme-why-cueapi
Apr 4, 2026
Merged

fix: strengthen Why CueAPI section + fix tagline#12
govindkavaturi-art merged 1 commit into
mainfrom
fix/readme-why-cueapi

Conversation

@govindkavaturi-art
Copy link
Copy Markdown
Member

Summary

  • Replace thin 2-sentence Why CueAPI with feature comparison table
  • Add correct retry intervals (1, 5, 15 min from production code)
  • Add agent-focused context paragraph
  • Fix tagline formatting (italic not bold)

🤖 Generated with Claude Code

- Replace thin Why CueAPI paragraph with comparison table
- Add correct retry intervals (1, 5, 15 min)
- Add agent-focused description
- Fix tagline formatting (italic not bold)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@govindkavaturi-art govindkavaturi-art merged commit 56a3ae0 into main Apr 4, 2026
1 check passed
mikemolinet added a commit that referenced this pull request May 10, 2026
…es send + --notify to message-to (#49)

Closes the cli-side coverage gap that was blocking action ports for
--mode and --notify on `messages send`.

## --notify (hosted PR #619, §17 BCC-light)

Both `messages send` and `message-to` now accept `--notify <agent_ref>`
(repeatable, max 10). Each ref gets a stripped notification copy
alongside the main delivery, sharing thread_id. Server contract:
MessageCreate.notify (List[str], max-10, app/schemas/message.py).

CLI enforces the max-10 cap client-side via UsageError so the failure
surfaces at parse time instead of as a server 422.

## --mode parity for messages send

cueapi-cli #41 added `--mode` to `message-to` (Surface 6 v2
delivery_mode) but `messages send` was left without it — a
cross-product gap surfaced when porting cueapi-action #12 (action
couldn't wire --mode through messages-send). Mirroring the existing
shape from `message-to`:

- click.Choice(["live","bg","inbox","webhook","auto"]), default "auto"
- Default-omit: only emit `delivery_mode` on the wire when caller
  opts away from `auto`. Server treats absent === auto, so the wire
  format stays identical to pre-Surface-6 senders for the common path.

Pinned in regression-guard tests so explicit `--mode auto` is also
omitted (not just default omission).

## Wire format

Both fields are body fields on POST /v1/messages:
- `notify`: List[str], default omit when empty
- `delivery_mode`: enum, default omit when "auto"

Different from `idempotency_key` (header) and `from_agent`
(X-Cueapi-From-Agent header). Verify-server-transport-per-endpoint
discipline applied.

## Tests

8 new tests:
- messages_send_notify_passed_as_body_list
- messages_send_notify_omitted_when_unset
- messages_send_notify_max_10_enforced_client_side
- messages_send_mode_default_omitted
- messages_send_mode_explicit_passed_through (live/bg/inbox/webhook)
- messages_send_mode_auto_explicitly_omitted
- message_to_notify_passed_as_body_list
- message_to_notify_omitted_when_unset

179/179 pass total.

## Why now

This unblocks 2 follow-on cueapi-action ports:
- action `messages-send` --notify wire-through
- action `messages-send` --mode wire-through (reusing existing `mode`
  input from PR #13 which already wires it for `message-to`)

Will chain a small action follow-up PR after this lands.
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