@sendinel/mcp-server 1.0.209 → 1.0.210

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -365,7 +365,11 @@ export async function requestApproval(action, params, apiKeyId, channelContext,
365
365
  const detailSummary = buildApprovalSummary(action, frozenParams, display);
366
366
  const preview = buildApprovalPreview({ action, params: frozenParams, summary: detailSummary,
367
367
  ...(display && 'recipient_count' in display ? { recipientCount: display.recipient_count } : {}) });
368
- const summary = `${preview.plain_summary.split('\n')[0]}\n${detailSummary}`;
368
+ const consequence = preview.plain_summary.split('\n')[0];
369
+ // Named snapshot summaries already include the consequence from the preview builder.
370
+ const summary = detailSummary.split('\n')[0] === consequence
371
+ ? detailSummary
372
+ : `${consequence}\n${detailSummary}`;
369
373
  const { data, error } = await approvalStore()
370
374
  .from('action_approvals')
371
375
  .insert({
@@ -1586,8 +1586,8 @@ export function registerCampaignTools(server) {
1586
1586
  message: executed.grouped && executed.alreadySent
1587
1587
  ? `${executed.enrolled} ${payload.send_at ? `scheduled at ${payload.send_at}` : 'sent now'}; ${executed.alreadySent} skipped because they already received it.`
1588
1588
  : payload.send_at
1589
- ? `Scheduled: "${payload.subject}" goes to ${executed.enrolled} people at ${payload.send_at}.`
1590
- : `Sending: "${payload.subject}" is going to ${executed.enrolled} people now. Delivery happens over the next few minutes; check the campaign for results.`,
1589
+ ? `Scheduled: "${payload.subject}" goes to ${executed.enrolled} ${executed.enrolled === 1 ? 'person' : 'people'} at ${payload.send_at}.`
1590
+ : `Sending: "${payload.subject}" is going to ${executed.enrolled} ${executed.enrolled === 1 ? 'person' : 'people'} now. Delivery happens over the next few minutes; check the campaign for results.`,
1591
1591
  });
1592
1592
  }
1593
1593
  // ── Call 2: execute exactly the approved, frozen payload. Nothing else is trusted. ──
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sendinel/mcp-server",
3
- "version": "1.0.209",
3
+ "version": "1.0.210",
4
4
  "description": "AI-controlled email operations control plane for campaigns, contacts, segments, analytics, and multi-provider sending via MCP.",
5
5
  "mcpName": "ai.sendinel/mcp-server",
6
6
  "type": "module",