@sendinel/mcp-server 1.0.112 → 1.0.114
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.
package/build/db.js
CHANGED
|
@@ -97,6 +97,9 @@ export function projectClientForWriteback() {
|
|
|
97
97
|
const ctx = _requestStore.getStore();
|
|
98
98
|
return ctx?.client ?? _processClient ?? null;
|
|
99
99
|
}
|
|
100
|
+
// Email sender settings are central operational data: campaign setup, enqueue-sends
|
|
101
|
+
// and v1/send all read central email.sites. A connector may only be a contact
|
|
102
|
+
// source, even on a managed project; update_site must use that same central row.
|
|
100
103
|
const BYOD_TOOL_NAMES = new Set([
|
|
101
104
|
'create_blog_post',
|
|
102
105
|
'list_blog_posts',
|
|
@@ -107,7 +110,6 @@ const BYOD_TOOL_NAMES = new Set([
|
|
|
107
110
|
'list_blog_destinations',
|
|
108
111
|
'get_brand_voice',
|
|
109
112
|
'update_brand_voice',
|
|
110
|
-
'update_site',
|
|
111
113
|
'list_connector_tables',
|
|
112
114
|
'get_dmarc_status',
|
|
113
115
|
]);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** Tester approval infrastructure stays central even when a connector client is bound. */
|
|
2
2
|
export declare function approvalStore(): any;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { adminDb, db, requestContext } from '../db.js';
|
|
2
|
-
/**
|
|
2
|
+
/** Tester approval infrastructure stays central even when a connector client is bound. */
|
|
3
3
|
export function approvalStore() {
|
|
4
4
|
if (!requestContext()?.scopes?.includes('tester'))
|
|
5
5
|
return db();
|
package/build/tools/campaigns.js
CHANGED
|
@@ -557,13 +557,13 @@ export function registerCampaignTools(server) {
|
|
|
557
557
|
idempotentHint: true,
|
|
558
558
|
openWorldHint: true,
|
|
559
559
|
},
|
|
560
|
-
description: 'Run the campaign portfolio review
|
|
560
|
+
description: 'Run the campaign portfolio review. Defaults to a dry run (no writes); pass dry_run=false to raise agent proposals for start/end/modify recommendations and emit recommendation signals.',
|
|
561
561
|
inputSchema: {
|
|
562
|
-
dry_run: z.boolean().optional().default(false),
|
|
562
|
+
dry_run: z.boolean().optional().default(true).describe('Preview only by default: computes findings and writes nothing. Pass false to raise agent proposals and emit recommendation signals.'),
|
|
563
563
|
dormant_draft_days: z.number().int().min(1).max(365).optional(),
|
|
564
564
|
abandoned_days: z.number().int().min(1).max(365).optional(),
|
|
565
565
|
},
|
|
566
|
-
}, async ({ dry_run =
|
|
566
|
+
}, async ({ dry_run = true, dormant_draft_days, abandoned_days }) => {
|
|
567
567
|
const result = await callSendinelV1('/api/v1/campaigns/review', {
|
|
568
568
|
body: {
|
|
569
569
|
dry_run,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sendinel/mcp-server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.114",
|
|
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",
|