Skip to content

docs(mcp): document scheduledAt window and raw-email required fields - #100

Merged
tuyakhov merged 2 commits into
mainfrom
claude/wizardly-brown-6c402f
Aug 10, 2026
Merged

docs(mcp): document scheduledAt window and raw-email required fields#100
tuyakhov merged 2 commits into
mainfrom
claude/wizardly-brown-6c402f

Conversation

@tuyakhov

@tuyakhov tuyakhov commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Brings the send-tool schema guidance in line with the hosted API's validation, so MCP agents and CLI users learn the constraints at the schema level — before a rejected send — instead of after a 400. Documentation/guidance only; no wire-format or behavior change.

MCP (senderkit_send, senderkit_send_raw)

  • scheduledAt now states that the timestamp must be in the future and at most 30 days ahead, with a nudge to check the current date before computing it. This shared field description flows through both send tools.
  • senderkit_send_raw subject / html now say they are required when the channel is email: a text-only email send is rejected, so plain text should be wrapped in minimal HTML.

CLI

The senderkit send / senderkit send-raw help text is derived from the same manifest schema, so the sharpened scheduledAt, subject, and html descriptions surface automatically in --help.

SDK (README)

The scheduling section of the SDK README now notes that scheduledAt must be in the future and at most 30 days ahead and that the API rejects a past or too-distant timestamp with 400.

Notes

  • No schema shape, type, or wire-format change — only field descriptions and docs.
  • A changeset is included (@senderkit/sdk + @senderkit/cli, patch).
  • pnpm typecheck, build, and test pass for @senderkit/sdk and @senderkit/cli (86 + 87 tests).
  • Matching parity changes for the scheduling window are opened against the Python and PHP SDKs.

🤖 Generated with Claude Code


Generated by Claude Code

claude added 2 commits August 9, 2026 21:09
Bring the send-tool schema guidance in line with the hosted API's
validation so MCP agents and CLI users learn the constraint at the
schema level, before a rejected send:

- scheduledAt now states the timestamp must be in the future and at
  most 30 days ahead (with a nudge to check the current date first).
  This shared field flows through senderkit_send and senderkit_send_raw,
  their manifest-derived CLI help, and the SDK README.
- senderkit_send_raw subject and html now say they are required when the
  channel is email; a text-only email send is rejected, so plain text
  should be wrapped in minimal HTML.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XCeS6cafCLddV6dakQCKC9
…ories

The `pnpm audit --audit-level=moderate` CI gate started failing on two
freshly-published high advisories affecting transitive deps — breaking
main and every open PR regardless of content:

- js-yaml >=4.0.0 <4.3.1 (quadratic CPU on !!omap): the existing override
  floor sat at >=4.3.0, one patch below the fix. Bumped to >=4.3.1.
- nanoid <3.3.17 (custom generators can loop indefinitely): pulled in via
  postcss under next/vite; no override existed. Added nanoid >=3.3.17 <4
  (the whole tree resolves nanoid 3.x).

Lockfile now resolves js-yaml 4.3.1 and nanoid 3.3.18. `pnpm audit
--audit-level=moderate` is clean; frozen install, build, test:coverage,
and recursive typecheck all pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XCeS6cafCLddV6dakQCKC9
@tuyakhov
tuyakhov merged commit 27edf52 into main Aug 10, 2026
1 check passed
@tuyakhov
tuyakhov deleted the claude/wizardly-brown-6c402f branch August 10, 2026 08:02
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.

2 participants