diff --git a/TOOLS.md b/TOOLS.md index 41c8379..a0e7343 100644 --- a/TOOLS.md +++ b/TOOLS.md @@ -11,7 +11,7 @@ - **activate_triggered_campaign** ✏️✉️: Activate a triggered campaign (requires API triggered campaign activation enabled) - **archive_campaigns** ✏️: Archive one or more campaigns. Scheduled/recurring campaigns will be cancelled, running campaigns will be aborted. - **cancel_campaign** ✏️: Cancel a scheduled or recurring campaign -- **create_blast_campaign** ✏️✉️: Create a new blast campaign from an existing template. By default, the campaign is created without being scheduled. Set scheduleSend to true to immediately schedule it for delivery at the given sendAt time. +- **create_blast_campaign** ✏️: Create a new blast campaign from an existing template. The campaign is created without being scheduled. Use schedule_campaign to schedule it for delivery. - **create_triggered_campaign** ✏️: Create a new triggered campaign from an existing template. The campaign is created in Ready state and must be activated before it can send. - **deactivate_triggered_campaign** ✏️: Deactivate a triggered campaign (requires API triggered campaign deactivation enabled) - **get_campaign**: Get detailed information about a specific campaign diff --git a/package.json b/package.json index 6910bf8..1562422 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ }, "dependencies": { "@alcyone-labs/zod-to-json-schema": "4.0.10", - "@iterable/api": "0.8.1", + "@iterable/api": "0.8.2", "@modelcontextprotocol/sdk": "1.18.1", "@primno/dpapi": "2.0.1", "@types/json-schema": "7.0.15", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e7310e7..aab115b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: 4.0.10 version: 4.0.10(zod@4.1.11) '@iterable/api': - specifier: 0.8.1 - version: 0.8.1(typescript@5.9.3) + specifier: 0.8.2 + version: 0.8.2(typescript@5.9.3) '@modelcontextprotocol/sdk': specifier: 1.18.1 version: 1.18.1 @@ -654,8 +654,8 @@ packages: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - '@iterable/api@0.8.1': - resolution: {integrity: sha512-dPvd7RVnTC7uLqY1m0/0Mepo79Dv4/0sfGqT+X/qVGEMcpgWTnkO0iMT0c7DMyggzRsWHCA3OVT05rpnKbnueg==} + '@iterable/api@0.8.2': + resolution: {integrity: sha512-0pkTBglhhUBkjvQ0z2BchHyBdVRQiJawlF7DxMWNcRUqwdbbbAkytpNPMCU22LTKj/b+BY4OLbjeDkUyxypgCw==} engines: {node: '>=18.0.0'} '@jest/console@30.2.0': @@ -3260,7 +3260,7 @@ snapshots: '@istanbuljs/schema@0.1.3': {} - '@iterable/api@0.8.1(typescript@5.9.3)': + '@iterable/api@0.8.2(typescript@5.9.3)': dependencies: '@t3-oss/env-core': 0.13.8(typescript@5.9.3)(zod@4.1.11) axios: 1.13.2 diff --git a/src/tool-filter.ts b/src/tool-filter.ts index 1549450..ea82964 100644 --- a/src/tool-filter.ts +++ b/src/tool-filter.ts @@ -124,8 +124,6 @@ export const SEND_TOOLS: Set = new Set([ "send_campaign", "trigger_campaign", "schedule_campaign", - // Creating a blast campaign schedules a send - "create_blast_campaign", // Triggered campaigns can cause sends upon activation; block unless explicitly allowed "activate_triggered_campaign", // Journey triggers enqueue users which may send diff --git a/src/tools/campaigns.ts b/src/tools/campaigns.ts index 9647054..e670384 100644 --- a/src/tools/campaigns.ts +++ b/src/tools/campaigns.ts @@ -48,7 +48,7 @@ export function createCampaignTools(client: IterableClient): Tool[] { createTool({ name: "create_blast_campaign", description: - "Create a new blast campaign from an existing template. By default, the campaign is created without being scheduled. Set scheduleSend to true to immediately schedule it for delivery at the given sendAt time.", + "Create a new blast campaign from an existing template. The campaign is created without being scheduled. Use schedule_campaign to schedule it for delivery.", schema: CreateBlastCampaignParamsSchema, execute: (params) => client.createBlastCampaign(params), }), diff --git a/tests/unit/send-tools-registry.test.ts b/tests/unit/send-tools-registry.test.ts index bd99f75..dbf28e4 100644 --- a/tests/unit/send-tools-registry.test.ts +++ b/tests/unit/send-tools-registry.test.ts @@ -28,7 +28,6 @@ describe("SEND_TOOLS registry", () => { "send_campaign", "trigger_campaign", "schedule_campaign", - "create_blast_campaign", "activate_triggered_campaign", "trigger_journey", "track_event", diff --git a/tests/unit/tool-filter-sends.test.ts b/tests/unit/tool-filter-sends.test.ts index eff86fc..492a923 100644 --- a/tests/unit/tool-filter-sends.test.ts +++ b/tests/unit/tool-filter-sends.test.ts @@ -16,7 +16,6 @@ describe("filterTools with allowSends", () => { mkTool("send_campaign"), mkTool("trigger_campaign"), mkTool("schedule_campaign"), - mkTool("create_blast_campaign"), mkTool("track_event"), mkTool("track_bulk_events"), mkTool("trigger_journey"), @@ -47,7 +46,6 @@ describe("filterTools with allowSends", () => { expect(names.has("send_campaign")).toBe(false); expect(names.has("trigger_campaign")).toBe(false); expect(names.has("schedule_campaign")).toBe(false); - expect(names.has("create_blast_campaign")).toBe(false); expect(names.has("track_event")).toBe(false); expect(names.has("track_bulk_events")).toBe(false); expect(names.has("trigger_journey")).toBe(false);