diff --git a/.changeset/complete-safety-hint-trio.md b/.changeset/complete-safety-hint-trio.md deleted file mode 100644 index e3bfe33..0000000 --- a/.changeset/complete-safety-hint-trio.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@senderkit/sdk": minor -"@senderkit/cli": minor ---- - -Complete the MCP safety-hint trio on every manifest tool. `ToolAnnotations` is now an interface requiring explicit `readOnlyHint`, `openWorldHint`, and `destructiveHint` values — OpenAI's ChatGPT/Codex plugin review rejects tools that omit any of the three — and every `MCP_TOOLS` entry carries the completed trio. The send tools (`senderkit_send`, `senderkit_send_raw`) are the only `openWorldHint: true` tools, since they deliver messages to recipients outside SenderKit; read-only tools explicitly declare `openWorldHint: false, destructiveHint: false`. The CLI-bundled MCP server surfaces the completed trio over `tools/list` with no other behavior change. - -For type consumers this widens the previous one-hint union: code that constructed a partial `ToolAnnotations` (e.g. `{ readOnlyHint: true }`) must now state all three hints. diff --git a/.changeset/inbound-verdicts-doc.md b/.changeset/inbound-verdicts-doc.md deleted file mode 100644 index 9a4c88c..0000000 --- a/.changeset/inbound-verdicts-doc.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@senderkit/sdk": patch ---- - -Make the inbound `verdicts` field documentation provider-neutral: it now describes the map as "scanning verdicts (e.g. spam/virus/SPF/DKIM), as reported" without naming the underlying receiving infrastructure. The shipped type and its runtime shape are unchanged. diff --git a/.changeset/scheduled-at-window.md b/.changeset/scheduled-at-window.md deleted file mode 100644 index c551f4d..0000000 --- a/.changeset/scheduled-at-window.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@senderkit/sdk": patch -"@senderkit/cli": patch ---- - -Sharpen the send-tool schema guidance to match the hosted API's validation, so MCP agents and CLI users get the constraint before they hit a `400`: - -- `scheduledAt` now documents that the timestamp must be in the future and at most 30 days ahead (with a reminder to check the current date first). This flows through both `senderkit_send` and `senderkit_send_raw`, their CLI help, and the SDK README's scheduling section. -- `senderkit_send_raw` `subject` and `html` now state that they are required when the channel is `email` — a text-only email send is rejected, so plain text should be wrapped in minimal HTML. diff --git a/examples/nextjs-basic/CHANGELOG.md b/examples/nextjs-basic/CHANGELOG.md index 83c4d67..c9bcb07 100644 --- a/examples/nextjs-basic/CHANGELOG.md +++ b/examples/nextjs-basic/CHANGELOG.md @@ -1,5 +1,14 @@ # @senderkit-examples/nextjs-basic +## 0.0.18 + +### Patch Changes + +- Updated dependencies [771b466] +- Updated dependencies [f73f1e9] +- Updated dependencies [dc37adf] + - @senderkit/sdk@0.15.0 + ## 0.0.17 ### Patch Changes diff --git a/examples/nextjs-basic/package.json b/examples/nextjs-basic/package.json index 52eb91e..86a5cf1 100644 --- a/examples/nextjs-basic/package.json +++ b/examples/nextjs-basic/package.json @@ -1,6 +1,6 @@ { "name": "@senderkit-examples/nextjs-basic", - "version": "0.0.17", + "version": "0.0.18", "private": true, "scripts": { "dev": "next dev", diff --git a/examples/node-basic/CHANGELOG.md b/examples/node-basic/CHANGELOG.md index 66e3814..b99b0ee 100644 --- a/examples/node-basic/CHANGELOG.md +++ b/examples/node-basic/CHANGELOG.md @@ -1,5 +1,14 @@ # @senderkit-examples/node-basic +## 0.0.18 + +### Patch Changes + +- Updated dependencies [771b466] +- Updated dependencies [f73f1e9] +- Updated dependencies [dc37adf] + - @senderkit/sdk@0.15.0 + ## 0.0.17 ### Patch Changes diff --git a/examples/node-basic/package.json b/examples/node-basic/package.json index ebfebc2..ced1a09 100644 --- a/examples/node-basic/package.json +++ b/examples/node-basic/package.json @@ -1,6 +1,6 @@ { "name": "@senderkit-examples/node-basic", - "version": "0.0.17", + "version": "0.0.18", "private": true, "type": "module", "scripts": { diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 4a5e755..e69b86c 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,25 @@ # @senderkit/cli +## 0.10.0 + +### Minor Changes + +- 771b466: Complete the MCP safety-hint trio on every manifest tool. `ToolAnnotations` is now an interface requiring explicit `readOnlyHint`, `openWorldHint`, and `destructiveHint` values — OpenAI's ChatGPT/Codex plugin review rejects tools that omit any of the three — and every `MCP_TOOLS` entry carries the completed trio. The send tools (`senderkit_send`, `senderkit_send_raw`) are the only `openWorldHint: true` tools, since they deliver messages to recipients outside SenderKit; read-only tools explicitly declare `openWorldHint: false, destructiveHint: false`. The CLI-bundled MCP server surfaces the completed trio over `tools/list` with no other behavior change. + + For type consumers this widens the previous one-hint union: code that constructed a partial `ToolAnnotations` (e.g. `{ readOnlyHint: true }`) must now state all three hints. + +### Patch Changes + +- dc37adf: Sharpen the send-tool schema guidance to match the hosted API's validation, so MCP agents and CLI users get the constraint before they hit a `400`: + + - `scheduledAt` now documents that the timestamp must be in the future and at most 30 days ahead (with a reminder to check the current date first). This flows through both `senderkit_send` and `senderkit_send_raw`, their CLI help, and the SDK README's scheduling section. + - `senderkit_send_raw` `subject` and `html` now state that they are required when the channel is `email` — a text-only email send is rejected, so plain text should be wrapped in minimal HTML. + +- Updated dependencies [771b466] +- Updated dependencies [f73f1e9] +- Updated dependencies [dc37adf] + - @senderkit/sdk@0.15.0 + ## 0.9.2 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 0565122..1943230 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@senderkit/cli", - "version": "0.9.2", + "version": "0.10.0", "description": "SenderKit command-line interface and MCP server — send notifications and inspect templates/messages from your terminal or AI assistant.", "license": "MIT", "homepage": "https://github.com/senderkit/senderkit-sdk#readme", diff --git a/packages/sdk/CHANGELOG.md b/packages/sdk/CHANGELOG.md index 2d11733..e0c6b0a 100644 --- a/packages/sdk/CHANGELOG.md +++ b/packages/sdk/CHANGELOG.md @@ -1,5 +1,21 @@ # @senderkit/sdk +## 0.15.0 + +### Minor Changes + +- 771b466: Complete the MCP safety-hint trio on every manifest tool. `ToolAnnotations` is now an interface requiring explicit `readOnlyHint`, `openWorldHint`, and `destructiveHint` values — OpenAI's ChatGPT/Codex plugin review rejects tools that omit any of the three — and every `MCP_TOOLS` entry carries the completed trio. The send tools (`senderkit_send`, `senderkit_send_raw`) are the only `openWorldHint: true` tools, since they deliver messages to recipients outside SenderKit; read-only tools explicitly declare `openWorldHint: false, destructiveHint: false`. The CLI-bundled MCP server surfaces the completed trio over `tools/list` with no other behavior change. + + For type consumers this widens the previous one-hint union: code that constructed a partial `ToolAnnotations` (e.g. `{ readOnlyHint: true }`) must now state all three hints. + +### Patch Changes + +- f73f1e9: Make the inbound `verdicts` field documentation provider-neutral: it now describes the map as "scanning verdicts (e.g. spam/virus/SPF/DKIM), as reported" without naming the underlying receiving infrastructure. The shipped type and its runtime shape are unchanged. +- dc37adf: Sharpen the send-tool schema guidance to match the hosted API's validation, so MCP agents and CLI users get the constraint before they hit a `400`: + + - `scheduledAt` now documents that the timestamp must be in the future and at most 30 days ahead (with a reminder to check the current date first). This flows through both `senderkit_send` and `senderkit_send_raw`, their CLI help, and the SDK README's scheduling section. + - `senderkit_send_raw` `subject` and `html` now state that they are required when the channel is `email` — a text-only email send is rejected, so plain text should be wrapped in minimal HTML. + ## 0.14.2 ### Patch Changes diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 5fbcd01..0a308ea 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@senderkit/sdk", - "version": "0.14.2", + "version": "0.15.0", "description": "Official TypeScript SDK for SenderKit — notification infrastructure for modern SaaS apps.", "license": "MIT", "homepage": "https://github.com/senderkit/senderkit-sdk#readme",