Skip to content

feat(fire): --send-at flag (hosted PR #618 port)#37

Open
mikemolinet wants to merge 1 commit intomainfrom
feat/cli-fire-send-at-port-618
Open

feat(fire): --send-at flag (hosted PR #618 port)#37
mikemolinet wants to merge 1 commit intomainfrom
feat/cli-fire-send-at-port-618

Conversation

@mikemolinet
Copy link
Copy Markdown
Collaborator

Summary

Parity port for hosted cueapi/cueapi#618 (per-fire send_at scheduling on POST /v1/cues/{id}/fire).

cueapi fire cue_x --send-at "2026-05-04T20:00:00Z"
cueapi fire cue_x --payload-override '{"task":"demo"}' --send-at "2026-05-04T22:00:00Z"

Behavior

  • Server gates dispatch on dispatch_outbox.scheduled_at <= now(). Past send_at timestamps are forgiving (server treats as 'fire now' — idempotent, no error).
  • ISO 8601 string passed through as-is. Server's FireRequest.send_at is Optional[datetime]; Pydantic parses ISO strings cleanly.

Tests

4 new (133 → 137 total). Pinned:

  • Help text shows --send-at
  • Body shape: send_at lands in JSON body unchanged
  • Body shape: omits when unset (no null leakage)
  • Combines correctly with --payload-override + --merge-strategy

Depends on

cueapi/cueapi#618 merging to staging → prod for user-visible behavior. PR can merge independently — sending an unknown send_at field against an old server is silently ignored (FireRequest's Pydantic extra defaults to ignore).

Companion

cueapi-python parity PR ships the same surface as client.cues.fire(send_at="...").

🤖 Generated with Claude Code

Adds `--send-at` to `cueapi fire` for per-fire scheduling. Server-side
FireRequest gained `send_at: Optional[datetime]` in #618; the dispatcher
gates on dispatch_outbox.scheduled_at. Past timestamps are forgiving
(server treats as 'fire now', idempotent).

Tests: 4 new (133 → 137 total). Pinned: --send-at omitted from body
when unset, combines correctly with --payload-override + --merge-strategy.

Depends on cueapi/cueapi#618 merging to staging then prod for
user-visible behavior. PR can merge independently — sending an unknown
`send_at` field against an old server is silently ignored (Pydantic
extra='ignore' default on FireRequest).

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant