@migma/mcp 1.8.2 → 1.9.1-automations.1
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/README.md +22 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +7 -0
- package/build/index.js.map +1 -1
- package/build/prompts/index.d.ts.map +1 -1
- package/build/prompts/index.js +14 -0
- package/build/prompts/index.js.map +1 -1
- package/build/tools/__tests__/automations.test.d.ts +2 -0
- package/build/tools/__tests__/automations.test.d.ts.map +1 -0
- package/build/tools/__tests__/automations.test.js +259 -0
- package/build/tools/__tests__/automations.test.js.map +1 -0
- package/build/tools/__tests__/catalog.test.js +4 -0
- package/build/tools/__tests__/catalog.test.js.map +1 -1
- package/build/tools/__tests__/forms.test.d.ts +2 -0
- package/build/tools/__tests__/forms.test.d.ts.map +1 -0
- package/build/tools/__tests__/forms.test.js +127 -0
- package/build/tools/__tests__/forms.test.js.map +1 -0
- package/build/tools/__tests__/review-annotations.test.js +6 -1
- package/build/tools/__tests__/review-annotations.test.js.map +1 -1
- package/build/tools/__tests__/websites.test.d.ts +2 -0
- package/build/tools/__tests__/websites.test.d.ts.map +1 -0
- package/build/tools/__tests__/websites.test.js +138 -0
- package/build/tools/__tests__/websites.test.js.map +1 -0
- package/build/tools/automations.d.ts +22 -0
- package/build/tools/automations.d.ts.map +1 -0
- package/build/tools/automations.js +134 -0
- package/build/tools/automations.js.map +1 -0
- package/build/tools/capabilities.d.ts +2 -0
- package/build/tools/capabilities.d.ts.map +1 -1
- package/build/tools/capabilities.js +49 -1
- package/build/tools/capabilities.js.map +1 -1
- package/build/tools/forms.d.ts +6 -0
- package/build/tools/forms.d.ts.map +1 -0
- package/build/tools/forms.js +97 -0
- package/build/tools/forms.js.map +1 -0
- package/build/tools/websites.d.ts +4 -0
- package/build/tools/websites.d.ts.map +1 -0
- package/build/tools/websites.js +114 -0
- package/build/tools/websites.js.map +1 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -104,3 +104,25 @@ The worker does not automatically retry a failed or stalled rewrite.
|
|
|
104
104
|
|
|
105
105
|
Section and image complexity, provider behavior, and retries affect total work.
|
|
106
106
|
No fixed maximum edit latency is established.
|
|
107
|
+
|
|
108
|
+
## Automations
|
|
109
|
+
|
|
110
|
+
Migma's MCP server lets agents design emails, create automations from text or workflow screenshots, manage audiences and campaigns, and inspect results.
|
|
111
|
+
|
|
112
|
+
Use `migma_get_capabilities` to discover the tools and required permissions. For an automation, use `migma_get_automation_capabilities`, then `migma_generate_automation` and `migma_get_automation_generation`. Generation creates an off draft and returns a review link. Keep the same job ID when checking progress.
|
|
113
|
+
|
|
114
|
+
Creation does not activate delivery. `migma_activate_automation` requires an explicit user request, passing setup checks, and the `definitionHash` from the reviewed `migma_get_automation` result. List summaries omit this hash, and imported migration drafts can omit it until they become native reviewed flows. Trigger and wait edits require the same reviewed hash. If Migma returns `AUTOMATION_GRAPH_CHANGED`, reload and review the flow before retrying instead of silently using a newer hash. Existing flows can be inspected, validated, paused, and checked through contact-run tools.
|
|
115
|
+
|
|
116
|
+
`migma_list_automations` accepts `cursor`, `limit` (1-200), and `includeArchived`; use the returned `nextCursor` to continue. Archived flows are omitted unless requested.
|
|
117
|
+
|
|
118
|
+
`migma_get_automation_metrics` accepts `startDate`, `endDate`, and `timezone` together for the canvas send-date report. Omitting all three preserves lifetime metrics and returns `period: "lifetime"`. Keep the returned window, cohort, coverage, revenue status, and reporting warnings; unavailable numbers are not zero. Never add automation values to the corresponding campaign totals. `migma_generate_automation` accepts `emailCount: 0` for action-only journeys.
|
|
119
|
+
|
|
120
|
+
See [automation tools and API](https://docs.migma.ai/automations/chat-and-api) and [image-to-automation](https://docs.migma.ai/automations/from-image). Generation needs `campaign:write` + `email:write`; polling and reads need `campaign:read`. Setup checks and lifecycle changes need `campaign:write`.
|
|
121
|
+
|
|
122
|
+
## Forms
|
|
123
|
+
|
|
124
|
+
`migma_list_forms`, `migma_get_form`, `migma_create_form`, `migma_update_form`, `migma_publish_form`, `migma_pause_form`, `migma_delete_form`, `migma_submit_form` and `migma_list_form_submissions` manage signup forms. Create and update save a draft; only `migma_publish_form` changes the hosted page and embeds. A form's ID is the `formId` for `form.submitted` and `form.confirmed` automation triggers. Pause and delete return `FORM_USED_BY_AUTOMATION` while an enabled automation starts from the form. Reads need `campaign:read`, writes `campaign:write`, and submission history also `audience:read`.
|
|
125
|
+
|
|
126
|
+
`migma_submit_form` signs up one person who asked to join, through a live form's own rules: its fields, tags, double opt-in and form automations. It only adds: an existing contact keeps its status (including unsubscribed and bounced), and the result is the same either way. It returns `state` (`received`, or `confirmation_pending` when a double opt-in email was sent) and `duplicate` (this email was already submitted to the form with this API key, so nothing new was recorded). The submission records the API key and time as consent evidence. If the caller has the person's original signup request, `consent.ip` and `consent.userAgent` preserve that evidence; never substitute the MCP host or agent's request details. It needs `campaign:write` and `audience:write`, sends an `Idempotency-Key` per call (pass `idempotency_key` to retry an uncertain call), and is rate limited per API key. Use the contact import tools, not this one, to add contacts in bulk.
|
|
127
|
+
|
|
128
|
+
Run `npm test` to compile and verify tool registration, permissions, review metadata, and API transport. Use the current local `migma-node` SDK build when testing unreleased changes. Publish the updated MCP package and update the backend's pinned `@migma/mcp` dependency together when releasing.
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA6BrD,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,KAAK,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B,CAAC;AAYF,eAAO,MAAM,yBAAyB,QAA0P,CAAC;AAqBjS,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,2BAAgC,GAAG,SAAS,CA6CzF;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,IAAI,CAAC,2BAA2B,EAAE,SAAS,CAAM,GAAG,SAAS,CAE3G;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAEzD;AAGD,wBAAgB,mBAAmB,cAOlC"}
|
package/build/index.js
CHANGED
|
@@ -24,6 +24,9 @@ import { registerSegmentTools } from "./tools/segments.js";
|
|
|
24
24
|
import { registerWebhookTools } from "./tools/webhooks.js";
|
|
25
25
|
import { registerCampaignTools } from "./tools/campaigns.js";
|
|
26
26
|
import { registerMetricsTools } from "./tools/metrics.js";
|
|
27
|
+
import { registerAutomationTools } from "./tools/automations.js";
|
|
28
|
+
import { registerWebsiteTools } from "./tools/websites.js";
|
|
29
|
+
import { registerFormTools } from "./tools/forms.js";
|
|
27
30
|
import { applyToolReviewMetadata, registerCapabilitiesTool, } from "./tools/capabilities.js";
|
|
28
31
|
import { MIGMA_CHAT_VOICE, registerMigmaPrompts } from "./prompts/index.js";
|
|
29
32
|
const COMMON_SERVER_INSTRUCTIONS = [
|
|
@@ -33,6 +36,7 @@ const COMMON_SERVER_INSTRUCTIONS = [
|
|
|
33
36
|
"Show every Previews image and editor link before editing or validating. Edit requested existing emails instead of making copies.",
|
|
34
37
|
"Save lasting rules with migma_update_brand_guidelines and liked styles with migma_save_reference when asked. Never invent prices, offers or product claims.",
|
|
35
38
|
"Nothing reaches a real inbox without the user saying yes: show audience, count, sender, subject, preview and timing, then wait. Resolve date/timezone before scheduling. Say done only after tool confirms.",
|
|
39
|
+
"For flows, use migma_generate_automation and show the draft. Activate only when the user explicitly asks.",
|
|
36
40
|
].join(" ");
|
|
37
41
|
export const MIGMA_SERVER_INSTRUCTIONS = `${COMMON_SERVER_INSTRUCTIONS} Checkout links are for the user to open. Offer available billing only when asked or credits block the task; get consent and chosen plan first. Existing subscribers use billing portal. A link is not proof of payment.`;
|
|
38
42
|
function completeConfig(config) {
|
|
@@ -84,6 +88,9 @@ export function createMigmaMcpServer(options = {}) {
|
|
|
84
88
|
registerWebhookTools(server, lazyClient, permissions);
|
|
85
89
|
registerCampaignTools(server, lazyClient, config, permissions);
|
|
86
90
|
registerMetricsTools(server, lazyClient, permissions);
|
|
91
|
+
registerAutomationTools(server, lazyClient, config, permissions);
|
|
92
|
+
registerWebsiteTools(server, lazyClient, permissions);
|
|
93
|
+
registerFormTools(server, lazyClient, config, permissions);
|
|
87
94
|
registerMigmaPrompts(server);
|
|
88
95
|
// Register last so the catalog reflects every tool above it.
|
|
89
96
|
registerCapabilitiesTool(server, permissions, profile);
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAW5E,MAAM,0BAA0B,GAAG;IACjC,gBAAgB;IAChB,6LAA6L;IAC7L,+LAA+L;IAC/L,kIAAkI;IAClI,6JAA6J;IAC7J,6MAA6M;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,eAAO,MAAM,gBAAgB,2MAC6K,CAAC;AAE3M,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,eAAO,MAAM,gBAAgB,2MAC6K,CAAC;AAE3M,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,EA2G/B,CAAC;AAmBF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,QAcrD"}
|
package/build/prompts/index.js
CHANGED
|
@@ -5,6 +5,20 @@ export const MIGMA_CHAT_VOICE = "Use the user's language, like a WhatsApp chat:
|
|
|
5
5
|
* discover them without fetching every prompt.
|
|
6
6
|
*/
|
|
7
7
|
export const WORKFLOWS = [
|
|
8
|
+
{
|
|
9
|
+
name: "build_automation_from_text_or_image",
|
|
10
|
+
summary: "Describe a contact journey or recreate a workflow screenshot, then review and manage the automation.",
|
|
11
|
+
steps: [
|
|
12
|
+
"migma_list_projects — choose the brand; reuse a known projectId.",
|
|
13
|
+
"migma_get_automation_capabilities — ground the trigger, steps, and connections in this project.",
|
|
14
|
+
"migma_generate_automation — pass the brief and optional user-provided workflow imageUrls. Keep jobId; the draft stays off.",
|
|
15
|
+
"migma_get_automation_generation — poll to completion, show the review link and clarify unresolved details.",
|
|
16
|
+
"migma_get_automation — inspect the exact flow and keep its definitionHash for any edit or activation.",
|
|
17
|
+
"migma_validate_automation — check setup before activation. Explain the specific fixes if blocked.",
|
|
18
|
+
"migma_activate_automation — only if the user explicitly requests turning on this reviewed flow; pass confirmed:true and the inspected definitionHash as expectedDefinitionHash. On AUTOMATION_GRAPH_CHANGED, reload and review before retrying.",
|
|
19
|
+
"migma_list_automation_runs and migma_get_automation_run — explain progress using recorded outcomes. migma_pause_automation pauses when requested.",
|
|
20
|
+
],
|
|
21
|
+
},
|
|
8
22
|
{
|
|
9
23
|
name: "export_unsubscribers",
|
|
10
24
|
summary: "Export unsubscribed contacts as a complete CSV for consent reconciliation.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automations.test.d.ts","sourceRoot":"","sources":["../../../src/tools/__tests__/automations.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import test from 'node:test';
|
|
3
|
+
import { createMigmaMcpServer } from '../../index.js';
|
|
4
|
+
import { getToolRequiredScopes, TOOL_CATALOG } from '../capabilities.js';
|
|
5
|
+
function tools(permissions) {
|
|
6
|
+
return createMigmaMcpServer({ config: { apiKey: 'test-key', baseUrl: 'https://api.example.test/v1', projectId: 'brand' }, permissions })._registeredTools;
|
|
7
|
+
}
|
|
8
|
+
test('automation discovery honors read/write scopes and marks activation as external', () => {
|
|
9
|
+
const read = tools(['campaign:read']);
|
|
10
|
+
assert.ok(read.migma_get_automation_capabilities);
|
|
11
|
+
assert.ok(read.migma_list_automation_runs);
|
|
12
|
+
assert.ok(read.migma_get_automation_metrics);
|
|
13
|
+
assert.equal(read.migma_generate_automation, undefined);
|
|
14
|
+
assert.equal(read.migma_activate_automation, undefined);
|
|
15
|
+
const all = tools();
|
|
16
|
+
assert.deepEqual(getToolRequiredScopes('migma_generate_automation'), ['campaign:write', 'email:write']);
|
|
17
|
+
assert.equal(all.migma_generate_automation.annotations.idempotentHint, false);
|
|
18
|
+
assert.match(TOOL_CATALOG.find(tool => tool.name === 'migma_generate_automation')?.summary ?? '', /Reuse idempotency_key/);
|
|
19
|
+
assert.equal(all.migma_activate_automation.annotations.openWorldHint, true);
|
|
20
|
+
assert.equal(all.migma_activate_automation.inputSchema.safeParse({ automationId: 'flow', confirmed: false }).success, false);
|
|
21
|
+
assert.equal(all.migma_activate_automation.inputSchema.safeParse({ automationId: 'flow', confirmed: true }).success, false);
|
|
22
|
+
assert.equal(all.migma_activate_automation.inputSchema.safeParse({ automationId: 'flow', confirmed: true, expectedDefinitionHash: 'not-a-hash' }).success, false);
|
|
23
|
+
assert.equal(all.migma_activate_automation.inputSchema.safeParse({ automationId: 'flow', confirmed: true, expectedDefinitionHash: 'a'.repeat(64) }).success, true);
|
|
24
|
+
});
|
|
25
|
+
test('activation preserves public API error code and checklist data in structured MCP content', async (t) => {
|
|
26
|
+
const data = {
|
|
27
|
+
checklist: [{ key: 'sender', status: 'missing', message: 'Choose a verified sender' }],
|
|
28
|
+
failing: [{ key: 'sender', status: 'missing', message: 'Choose a verified sender' }],
|
|
29
|
+
fixes: [{ key: 'sender', fix: 'Verify a sender', message: 'Choose a verified sender' }],
|
|
30
|
+
};
|
|
31
|
+
t.mock.method(globalThis, 'fetch', async () => new Response(JSON.stringify({
|
|
32
|
+
success: false,
|
|
33
|
+
error: 'Fix the automation checks before activation',
|
|
34
|
+
code: 'AUTOMATION_VALIDATION_FAILED',
|
|
35
|
+
data,
|
|
36
|
+
}), { status: 400 }));
|
|
37
|
+
const result = await tools().migma_activate_automation.handler({ automationId: 'flow', confirmed: true, expectedDefinitionHash: 'a'.repeat(64) }, {});
|
|
38
|
+
assert.equal(result.isError, true);
|
|
39
|
+
assert.equal(result.content[0].text, 'Fix the automation checks before activation');
|
|
40
|
+
assert.deepEqual(result.structuredContent, {
|
|
41
|
+
error: {
|
|
42
|
+
message: 'Fix the automation checks before activation',
|
|
43
|
+
statusCode: 400,
|
|
44
|
+
code: 'AUTOMATION_VALIDATION_FAILED',
|
|
45
|
+
data,
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
test('automation mutations carry the exact reviewed definition hash', async (t) => {
|
|
50
|
+
const requests = [];
|
|
51
|
+
t.mock.method(globalThis, 'fetch', async (url, init) => {
|
|
52
|
+
requests.push({ url, body: JSON.parse(init.body) });
|
|
53
|
+
return new Response(JSON.stringify({ success: true, data: { id: 'flow', status: 'draft' } }), { status: 200 });
|
|
54
|
+
});
|
|
55
|
+
const all = tools();
|
|
56
|
+
const trigger = { type: 'event', event: { name: 'contact.subscribed' } };
|
|
57
|
+
await all.migma_activate_automation.handler({ automationId: 'flow', confirmed: true, expectedDefinitionHash: 'a'.repeat(64) }, {});
|
|
58
|
+
await all.migma_update_automation_trigger.handler({ automationId: 'flow', trigger, expectedDefinitionHash: 'b'.repeat(64) }, {});
|
|
59
|
+
await all.migma_update_automation_wait.handler({ automationId: 'flow', stepId: 'wait-1', duration: 'P2D', expectedDefinitionHash: 'c'.repeat(64) }, {});
|
|
60
|
+
assert.deepEqual(requests.map(request => request.body), [
|
|
61
|
+
{ confirmed: true, expectedDefinitionHash: 'a'.repeat(64) },
|
|
62
|
+
{ trigger, expectedDefinitionHash: 'b'.repeat(64) },
|
|
63
|
+
{ duration: 'P2D', expectedDefinitionHash: 'c'.repeat(64) },
|
|
64
|
+
]);
|
|
65
|
+
});
|
|
66
|
+
test('unkeyed automation generation uses distinct replay identities and stays non-idempotent', async (t) => {
|
|
67
|
+
const keys = [];
|
|
68
|
+
t.mock.method(globalThis, 'fetch', async (_url, init) => {
|
|
69
|
+
keys.push(init.headers['Idempotency-Key']);
|
|
70
|
+
return new Response(JSON.stringify({ success: true, data: { jobId: `job-${keys.length}`, status: 'queued' } }), { status: 202 });
|
|
71
|
+
});
|
|
72
|
+
const tool = tools().migma_generate_automation;
|
|
73
|
+
await tool.handler({ brief: 'Welcome subscribers' }, {});
|
|
74
|
+
await tool.handler({ brief: 'Welcome subscribers' }, {});
|
|
75
|
+
assert.equal(tool.annotations.idempotentHint, false);
|
|
76
|
+
assert.equal(keys.length, 2);
|
|
77
|
+
assert.ok(keys[0]);
|
|
78
|
+
assert.ok(keys[1]);
|
|
79
|
+
assert.notEqual(keys[0], keys[1]);
|
|
80
|
+
});
|
|
81
|
+
test('automation reporting preserves unavailable values rather than filling zeros', async (t) => {
|
|
82
|
+
const report = { nodes: [{ nodeId: 'node', campaignId: 'campaign', reporting: { status: 'unavailable', source: 'unavailable' } }], edges: [], reporting: { status: 'unavailable', source: 'campaigns', warnings: ['Tracking is unavailable'] } };
|
|
83
|
+
t.mock.method(globalThis, 'fetch', async (url) => {
|
|
84
|
+
assert.equal(url, 'https://api.example.test/v1/automations/flow/metrics');
|
|
85
|
+
return new Response(JSON.stringify({ success: true, data: report }), { status: 200 });
|
|
86
|
+
});
|
|
87
|
+
const result = await tools().migma_get_automation_metrics.handler({ automationId: 'flow' }, {});
|
|
88
|
+
assert.deepEqual(JSON.parse(result.content[0].text), { ...report, period: 'lifetime' });
|
|
89
|
+
});
|
|
90
|
+
test('workflow image generation sends one off-draft request with the supplied retry key', async (t) => {
|
|
91
|
+
const calls = [];
|
|
92
|
+
t.mock.method(globalThis, 'fetch', async (url, init) => {
|
|
93
|
+
calls.push({ url, init });
|
|
94
|
+
return new Response(JSON.stringify({ success: true, data: { jobId: 'job', status: 'queued' } }), { status: 202 });
|
|
95
|
+
});
|
|
96
|
+
const result = await tools().migma_generate_automation.handler({ brief: 'Recreate the branches', imageUrls: ['https://example.test/flow.png'], idempotency_key: 'retry-001' }, {});
|
|
97
|
+
assert.equal(result.isError, undefined);
|
|
98
|
+
assert.equal(calls.length, 1);
|
|
99
|
+
assert.equal(calls[0].url, 'https://api.example.test/v1/automations/generate');
|
|
100
|
+
assert.equal(calls[0].init.headers['Idempotency-Key'], 'retry-001');
|
|
101
|
+
assert.deepEqual(JSON.parse(calls[0].init.body), { projectId: 'brand', brief: 'Recreate the branches', imageUrls: ['https://example.test/flow.png'] });
|
|
102
|
+
assert.equal(JSON.parse(result.content[0].text).status, 'queued');
|
|
103
|
+
});
|
|
104
|
+
test('automation tools use the account\'s only brand when projectId is omitted', async (t) => {
|
|
105
|
+
const brandId = '665f1e928c2a9e4d8f123123';
|
|
106
|
+
const client = {
|
|
107
|
+
projects: {
|
|
108
|
+
list: async () => ({
|
|
109
|
+
data: {
|
|
110
|
+
projects: [{ _id: brandId, name: 'Only brand', domain: 'example.test' }],
|
|
111
|
+
pagination: { total: 1, limit: 10, offset: 0, hasMore: false },
|
|
112
|
+
},
|
|
113
|
+
}),
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
t.mock.method(globalThis, 'fetch', async (url) => {
|
|
117
|
+
const request = new URL(url);
|
|
118
|
+
assert.equal(request.pathname, '/v1/automations');
|
|
119
|
+
assert.equal(request.searchParams.get('projectId'), brandId);
|
|
120
|
+
return new Response(JSON.stringify({ success: true, data: [] }), { status: 200 });
|
|
121
|
+
});
|
|
122
|
+
const registered = createMigmaMcpServer({
|
|
123
|
+
client,
|
|
124
|
+
config: { apiKey: 'automation-single-brand', baseUrl: 'https://api.example.test/v1' },
|
|
125
|
+
permissions: ['campaign:read'],
|
|
126
|
+
})._registeredTools;
|
|
127
|
+
const result = await registered.migma_list_automations.handler({}, {});
|
|
128
|
+
assert.equal(result.isError, undefined);
|
|
129
|
+
assert.deepEqual(JSON.parse(result.content[0].text), []);
|
|
130
|
+
});
|
|
131
|
+
test('automation lists forward bounded pagination and archived visibility', async (t) => {
|
|
132
|
+
const tool = tools(['campaign:read']).migma_list_automations;
|
|
133
|
+
assert.equal(tool.inputSchema.safeParse({ cursor: 'next', limit: 1, includeArchived: true }).success, true);
|
|
134
|
+
assert.equal(tool.inputSchema.safeParse({ limit: 0 }).success, false);
|
|
135
|
+
assert.equal(tool.inputSchema.safeParse({ limit: 201 }).success, false);
|
|
136
|
+
assert.equal(tool.inputSchema.safeParse({ cursor: 'x'.repeat(201) }).success, false);
|
|
137
|
+
assert.equal(tool.inputSchema.safeParse({ includeArchived: 'true' }).success, false);
|
|
138
|
+
assert.equal(tool.inputSchema.safeParse({ status: 'archived' }).success, false);
|
|
139
|
+
t.mock.method(globalThis, 'fetch', async (url) => {
|
|
140
|
+
assert.equal(url, 'https://api.example.test/v1/automations?projectId=brand&cursor=next&limit=25&includeArchived=true');
|
|
141
|
+
return new Response(JSON.stringify({ success: true, data: { automations: [], count: 0, nextCursor: null } }), { status: 200 });
|
|
142
|
+
});
|
|
143
|
+
const result = await tool.handler({ cursor: 'next', limit: 25, includeArchived: true }, {});
|
|
144
|
+
assert.deepEqual(JSON.parse(result.content[0].text), { automations: [], count: 0, nextCursor: null });
|
|
145
|
+
});
|
|
146
|
+
test('validation surfaces exact blockers without making an activation call', async (t) => {
|
|
147
|
+
let calls = 0;
|
|
148
|
+
const checks = { ready: false, checklist: [{ key: 'sender', status: 'missing', message: 'Choose a verified sender' }] };
|
|
149
|
+
t.mock.method(globalThis, 'fetch', async (url) => {
|
|
150
|
+
calls++;
|
|
151
|
+
assert.equal(url, 'https://api.example.test/v1/automations/flow/validate');
|
|
152
|
+
return new Response(JSON.stringify({ success: true, data: checks }), { status: 200 });
|
|
153
|
+
});
|
|
154
|
+
const result = await tools().migma_validate_automation.handler({ automationId: 'flow' }, {});
|
|
155
|
+
assert.deepEqual(JSON.parse(result.content[0].text), checks);
|
|
156
|
+
assert.equal(calls, 1);
|
|
157
|
+
});
|
|
158
|
+
test('selected reporting window uses report and preserves period, coverage, and unavailable totals', async (t) => {
|
|
159
|
+
const window = { startDate: '2026-03-28', endDate: '2026-03-30', timezone: 'Europe/Madrid' };
|
|
160
|
+
const report = { version: 1, cohort: 'send-date', scope: 'all-versions', window,
|
|
161
|
+
nodes: [], totals: null, coverage: { since: '2026-03-29T00:00:00Z', complete: false },
|
|
162
|
+
revenue: { status: 'unavailable' }, reporting: { status: 'partial', warnings: ['Incomplete history'] } };
|
|
163
|
+
t.mock.method(globalThis, 'fetch', async (url) => {
|
|
164
|
+
const request = new URL(url);
|
|
165
|
+
assert.equal(request.pathname, '/v1/automations/flow/report');
|
|
166
|
+
assert.deepEqual(Object.fromEntries(request.searchParams), window);
|
|
167
|
+
return new Response(JSON.stringify({ success: true, data: report }), { status: 200 });
|
|
168
|
+
});
|
|
169
|
+
const tool = tools(['campaign:read']).migma_get_automation_metrics;
|
|
170
|
+
assert.equal(tool.inputSchema.safeParse({ automationId: 'flow', ...window }).success, true);
|
|
171
|
+
const result = await tool.handler({ automationId: 'flow', ...window }, {});
|
|
172
|
+
assert.deepEqual(JSON.parse(result.content[0].text), report);
|
|
173
|
+
});
|
|
174
|
+
test('invalid and partial reporting windows fail before transport instead of falling back to lifetime', async (t) => {
|
|
175
|
+
t.mock.method(globalThis, 'fetch', async () => { throw new Error('Transport must not be called'); });
|
|
176
|
+
const tool = tools().migma_get_automation_metrics;
|
|
177
|
+
const window = { automationId: 'flow', startDate: '2026-01-01', endDate: '2026-12-31', timezone: 'UTC' };
|
|
178
|
+
assert.equal(tool.inputSchema.safeParse(window).success, true);
|
|
179
|
+
assert.equal(tool.inputSchema.safeParse({ automationId: 'flow' }).success, true);
|
|
180
|
+
for (const args of [
|
|
181
|
+
{ automationId: 'flow', startDate: '2026-01-01' },
|
|
182
|
+
{ automationId: 'flow', startDate: '2026-01-01', endDate: '2026-01-02' },
|
|
183
|
+
{ automationId: 'flow', timezone: 'UTC' },
|
|
184
|
+
{ ...window, startDate: '2026-02-30' },
|
|
185
|
+
{ ...window, endDate: '2025-12-31' },
|
|
186
|
+
{ ...window, endDate: '2027-01-02' },
|
|
187
|
+
{ ...window, timezone: 'Invalid/Zone' },
|
|
188
|
+
]) {
|
|
189
|
+
assert.equal(tool.inputSchema.safeParse(args).success, false, JSON.stringify(args));
|
|
190
|
+
const result = await tool.handler(args, {});
|
|
191
|
+
assert.equal(result.isError, true);
|
|
192
|
+
assert.doesNotMatch(result.content[0].text, /Transport must not be called/);
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
test('explicit zero-email generation is accepted and transported without losing zero', async (t) => {
|
|
196
|
+
const tool = tools().migma_generate_automation;
|
|
197
|
+
for (const emailCount of [-1, 13, 0.5]) {
|
|
198
|
+
assert.equal(tool.inputSchema.safeParse({ brief: 'Add a tag', emailCount }).success, false);
|
|
199
|
+
}
|
|
200
|
+
const args = { brief: 'Add an existing tag after signup, with no emails', emailCount: 0, idempotency_key: 'action-only' };
|
|
201
|
+
assert.equal(tool.inputSchema.safeParse(args).success, true);
|
|
202
|
+
t.mock.method(globalThis, 'fetch', async (_url, init) => {
|
|
203
|
+
assert.equal(JSON.parse(init.body).emailCount, 0);
|
|
204
|
+
return new Response(JSON.stringify({ success: true, data: { jobId: 'job', status: 'queued' } }), { status: 202 });
|
|
205
|
+
});
|
|
206
|
+
const result = await tool.handler(args, {});
|
|
207
|
+
assert.equal(result.isError, undefined);
|
|
208
|
+
});
|
|
209
|
+
test('automation writes send one replay key per call and reuse it on transport retries', async (t) => {
|
|
210
|
+
const calls = [];
|
|
211
|
+
t.mock.method(globalThis, 'fetch', async (_url, init) => {
|
|
212
|
+
calls.push({ method: init.method, key: init.headers['Idempotency-Key'] });
|
|
213
|
+
// The first attempt of every call is lost; the transport retries it.
|
|
214
|
+
return calls.length % 2
|
|
215
|
+
? new Response(JSON.stringify({ success: false, error: 'Unavailable' }), { status: 503 })
|
|
216
|
+
: new Response(JSON.stringify({ success: true, data: { id: 'flow' } }), { status: 200 });
|
|
217
|
+
});
|
|
218
|
+
t.mock.method(globalThis, 'setTimeout', (callback) => { callback(); return 0; });
|
|
219
|
+
const all = tools();
|
|
220
|
+
const hash = 'a'.repeat(64);
|
|
221
|
+
await all.migma_validate_automation.handler({ automationId: 'flow' }, {});
|
|
222
|
+
await all.migma_activate_automation.handler({ automationId: 'flow', confirmed: true, expectedDefinitionHash: hash }, {});
|
|
223
|
+
await all.migma_pause_automation.handler({ automationId: 'flow' }, {});
|
|
224
|
+
await all.migma_update_automation_trigger.handler({ automationId: 'flow', expectedDefinitionHash: hash, trigger: { type: 'event', event: { name: 'contact.subscribed' } } }, {});
|
|
225
|
+
await all.migma_update_automation_wait.handler({ automationId: 'flow', stepId: 'wait', duration: 'P2D', expectedDefinitionHash: hash, idempotency_key: 'wait-edit' }, {});
|
|
226
|
+
assert.equal(calls.length, 10);
|
|
227
|
+
for (let i = 0; i < calls.length; i += 2) {
|
|
228
|
+
assert.ok(calls[i].key);
|
|
229
|
+
assert.equal(calls[i + 1].key, calls[i].key, 'a retried attempt replays the same change');
|
|
230
|
+
}
|
|
231
|
+
assert.equal(new Set(calls.map(call => call.key)).size, 5);
|
|
232
|
+
assert.equal(calls[6].method, 'PUT');
|
|
233
|
+
assert.equal(calls[8].key, 'wait-edit');
|
|
234
|
+
});
|
|
235
|
+
test('trigger and wait inputs match the public API limits before transport', () => {
|
|
236
|
+
const all = tools();
|
|
237
|
+
const base = { automationId: 'flow', expectedDefinitionHash: 'a'.repeat(64) };
|
|
238
|
+
const trigger = (propertyFilters) => ({ ...base, trigger: { type: 'event', event: { name: 'form.submitted', propertyFilters } } });
|
|
239
|
+
const valid = { path: 'formId', op: 'eq', value: 'form' };
|
|
240
|
+
const schema = all.migma_update_automation_trigger.inputSchema;
|
|
241
|
+
assert.equal(schema.safeParse(trigger([valid, { path: 'email', op: 'exists' }])).success, true);
|
|
242
|
+
assert.equal(schema.safeParse(trigger([{ ...valid, value: null }])).success, false, 'null is not a filter value');
|
|
243
|
+
assert.equal(schema.safeParse(trigger([{ path: 'formId', op: 'eq' }])).success, false, 'value operators need a value');
|
|
244
|
+
assert.equal(schema.safeParse(trigger([{ ...valid, path: 'a'.repeat(201) }])).success, false);
|
|
245
|
+
assert.equal(schema.safeParse(trigger(Array(21).fill(valid))).success, false);
|
|
246
|
+
const wait = all.migma_update_automation_wait.inputSchema;
|
|
247
|
+
assert.equal(wait.safeParse({ ...base, stepId: 's'.repeat(160), duration: 'P2D' }).success, true);
|
|
248
|
+
assert.equal(wait.safeParse({ ...base, stepId: 's'.repeat(161), duration: 'P2D' }).success, false);
|
|
249
|
+
assert.equal(wait.safeParse({ ...base, stepId: 'wait', duration: 'P'.padEnd(51, '1') }).success, false);
|
|
250
|
+
});
|
|
251
|
+
test('run detail forwards the requested history size', async (t) => {
|
|
252
|
+
t.mock.method(globalThis, 'fetch', async (url) => {
|
|
253
|
+
assert.equal(url, 'https://api.example.test/v1/automations/flow/runs/run?historyLimit=50');
|
|
254
|
+
return new Response(JSON.stringify({ success: true, data: { id: 'run', history: [], historyTotal: 0 } }), { status: 200 });
|
|
255
|
+
});
|
|
256
|
+
const result = await tools().migma_get_automation_run.handler({ automationId: 'flow', runId: 'run', historyLimit: 50 }, {});
|
|
257
|
+
assert.equal(result.isError, undefined);
|
|
258
|
+
});
|
|
259
|
+
//# sourceMappingURL=automations.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automations.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/automations.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -191,6 +191,10 @@ test("every tool advertises its OAuth policy", () => {
|
|
|
191
191
|
assert.deepEqual(registered.migma_import_html._meta?.securitySchemes?.[0]?.scopes, ["email:write", "email:read"]);
|
|
192
192
|
assert.deepEqual(registered.migma_send_email._meta?.securitySchemes?.[0]?.scopes, ["email:send"]);
|
|
193
193
|
assert.deepEqual(registered.migma_list_contacts._meta?.securitySchemes?.[0]?.scopes, ["audience:read"]);
|
|
194
|
+
assert.deepEqual(registered.migma_list_websites._meta?.securitySchemes?.[0]?.scopes, ["audience:read"]);
|
|
195
|
+
assert.deepEqual(registered.migma_create_website._meta?.securitySchemes?.[0]?.scopes, ["audience:write"]);
|
|
196
|
+
assert.deepEqual(registered.migma_update_website._meta?.securitySchemes?.[0]?.scopes, ["audience:write"]);
|
|
197
|
+
assert.deepEqual(registered.migma_get_website_events._meta?.securitySchemes?.[0]?.scopes, ["audience:read"]);
|
|
194
198
|
assert.deepEqual(registered.migma_get_credits._meta?.securitySchemes?.[0]?.scopes, ["billing:read"]);
|
|
195
199
|
assert.deepEqual(registered.migma_get_upgrade_link._meta?.securitySchemes?.[0]?.scopes, ["billing:write"]);
|
|
196
200
|
assert.deepEqual(registered.migma_list_dns_records._meta?.securitySchemes?.[0]?.scopes, ["domain:read"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/catalog.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/catalog.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms.test.d.ts","sourceRoot":"","sources":["../../../src/tools/__tests__/forms.test.ts"],"names":[],"mappings":""}
|