diff --git a/ai-dev-tasks b/ai-dev-tasks new file mode 160000 index 0000000..804023f --- /dev/null +++ b/ai-dev-tasks @@ -0,0 +1 @@ +Subproject commit 804023ff5574c906389210c359f19af99d11516a diff --git a/package.json b/package.json index 6697dea..83a733d 100644 --- a/package.json +++ b/package.json @@ -121,15 +121,5 @@ }, "peerDependencies": { "@modelcontextprotocol/sdk": ">=1.0.0" - }, - "compilerOptions": { - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "allowJs": false, - "outDir": "./dist", - "strict": true, - "noImplicitAny": true, - "resolveJsonModule": true, - "jsx": "react-jsx" } } diff --git a/src/tools/campaigns.ts b/src/tools/campaigns.ts index cbb1675..816eea8 100644 --- a/src/tools/campaigns.ts +++ b/src/tools/campaigns.ts @@ -190,14 +190,20 @@ export function registerCampaignTools( async (params) => { try { const validatedParams = SaveCampaignSequenceRequestSchema.parse(params); - if (validatedParams.sequence && validatedParams.sequence.length > 0) { - const result = await client.saveCampaignSequence( - validatedParams.campaign_id, - validatedParams.sequence[0]! - ); - return formatSuccessResponse('Campaign sequence saved successfully', result); + if (!validatedParams.sequence || validatedParams.sequence.length === 0) { + return handleError(new Error('Sequence data is required and cannot be empty')); } - return handleError(new Error('Sequence data is missing')); + + const firstSequence = validatedParams.sequence[0]; + if (!firstSequence) { + return handleError(new Error('First sequence item is invalid')); + } + + const result = await client.saveCampaignSequence( + validatedParams.campaign_id, + firstSequence + ); + return formatSuccessResponse('Campaign sequence saved successfully', result); } catch (error) { return handleError(error); }