@listmonk-ops/operations 0.1.2 → 0.2.0

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/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{z as i}from"zod";import{z as $}from"zod";var O=class extends Error{constructor(e){super(e),this.name="OperationInputError"}},L=class extends Error{constructor(e){super(e),this.name="OperationOutputError"}},y=class extends Error{operationId;constructor(e,n){super(R(n),{cause:n}),this.name="OperationExecutionError",this.operationId=e}};function R(t){return t instanceof Error?t.message:t&&typeof t=="object"&&"message"in t?String(t.message):String(t)}function w(t,e){let n=$.toJSONSchema(t,{io:e});if(n.type!=="object")throw new TypeError("Operation schemas must have an object root");return n}function q(t,e){if(!t||typeof t!="object"||!(e in t))return!1;let n=Reflect.get(t,e);return n==null?!1:typeof n=="string"?n.trim().length>0:Array.isArray(n)?n.length>0:!0}function Z(t,e){let n=t.issues[0];if(!n)return"Invalid operation input";let r=n.path[0],s=n.path.map(String).join(".")||"input";return(typeof r=="string"||typeof r=="number")&&!q(e,r)?`Missing required parameter: ${String(r)}`:`Invalid parameter ${s}: ${n.message}`}function o(t,e){let n=t.safeParse(e??{});if(!n.success)throw new O(Z(n.error,e??{}));return n.data}function a(t,e){return e instanceof y?e:new y(t,e)}function p(t,e,n){let r=e.safeParse(n);if(!r.success)throw new L(`${t} produced invalid output: ${r.error.message}`);return r.data}function f(t){return{id:t.id,title:t.title,description:t.description,inputSchema:t.inputSchema,outputSchema:t.outputSchema,inputJsonSchema:w(t.inputSchema,"input"),outputJsonSchema:w(t.outputSchema,"output"),safety:t.safety,mcp:t.mcp,async invoke(e,n){let r=o(t.inputSchema,n),s;try{s=await t.execute(e,r)}catch(g){throw a(t.id,g)}return p(t.id,t.outputSchema,s)}}}var S=i.looseObject({id:i.number().optional(),created_at:i.string().optional(),updated_at:i.string().optional(),uuid:i.string().optional(),name:i.string().optional(),type:i.string().optional(),optin:i.string().optional(),tags:i.array(i.string()).optional(),subscriber_count:i.number().optional(),description:i.string().optional()}),F=i.object({results:i.array(S),total:i.number(),per_page:i.number(),page:i.number()}),N=i.object({page:i.coerce.number().int().positive().default(1).describe("Page number for pagination"),per_page:i.coerce.number().int().positive().default(20).describe("Number of items per page")}),I=i.number().int().positive(),k=i.codec(i.union([I,i.string().regex(/^[1-9][0-9]*$/)]),I,{decode:t=>Number(t),encode:t=>t}).describe("Subscriber list ID"),v=i.object({id:k}),G=i.object({name:i.string().trim().min(1).describe("List name"),type:i.enum(["public","private"]).default("private").describe("List visibility"),optin:i.enum(["single","double"]).default("single").describe("Opt-in type"),description:i.string().default("").describe("List description"),tags:i.array(i.string()).default([]).describe("List tags")}),W=i.object({id:k,name:i.string().trim().min(1).optional().describe("List name"),type:i.enum(["public","private"]).optional().describe("List visibility"),optin:i.enum(["single","double"]).optional().describe("Opt-in type"),description:i.string().optional().describe("List description"),tags:i.array(i.string()).optional().describe("List tags")}),B=i.object({id:i.number().int().positive(),deleted:i.boolean()});function z(t){if(t instanceof Error)return t.message;if(t&&typeof t=="object"){if("message"in t&&typeof t.message=="string")return t.message;if("error"in t&&typeof t.error=="string")return t.error;try{return JSON.stringify(t)}catch{}}return String(t)}function P(t){return t.error!==void 0}function h(t,e){if(P(t))throw new Error(`${e}: ${z(t.error)}`);if(t.data===void 0)throw new Error(`${e}: received empty data`);return t.data}async function _({client:t},e){let n=await t.list.list({query:{page:e.page,per_page:e.per_page}}),r=h(n,"Failed to fetch lists");return{results:r.results??[],total:r.total??0,per_page:r.per_page??e.per_page,page:r.page??e.page}}async function C({client:t},e){let n=await t.list.getById({path:{list_id:e.id}});return h(n,"Failed to fetch list")}async function U(t,e){let r=await t.list.list({query:{page:1,per_page:100,query:e}}),s=h(r,"Failed to resolve created list"),g=s.results?.find(b=>b.name===e);if(g)return g;let M=Math.max(1,Math.ceil((s.total??0)/100));for(let b=2;b<=M;b+=1){let D=await t.list.list({query:{page:b,per_page:100,query:e}}),x=h(D,"Failed to resolve created list").results?.find(J=>J.name===e);if(x)return x}}async function j({client:t},e){let n=await t.list.create({body:{name:e.name,type:e.type,optin:e.optin,description:e.description,tags:e.tags}});if(P(n))throw new Error(`Failed to create list: ${z(n.error)}`);if(n.data!==void 0)return n.data;let r=await U(t,e.name);if(!r)throw new Error("List was created but the created record could not be resolved");return r}async function E({client:t},e){let{id:n,...r}=e,s=await t.list.update({path:{list_id:n},body:r});return h(s,"Failed to update list")}async function H({client:t},e){let n=await t.list.delete({path:{list_id:e.id}});return{id:e.id,deleted:h(n,"Failed to delete list")}}var T={readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},u=f({id:"lists.list",title:"List subscriber lists",description:"Get subscriber lists from Listmonk",inputSchema:N,outputSchema:F,safety:T,mcp:{name:"listmonk_get_lists"},execute:_}),c=f({id:"lists.get",title:"Get subscriber list",description:"Get a specific subscriber list by ID",inputSchema:v,outputSchema:S,safety:T,mcp:{name:"listmonk_get_list"},execute:C}),d=f({id:"lists.create",title:"Create subscriber list",description:"Create a new subscriber list",inputSchema:G,outputSchema:S,safety:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0},mcp:{name:"listmonk_create_list"},execute:j}),m=f({id:"lists.update",title:"Update subscriber list",description:"Update an existing subscriber list",inputSchema:W,outputSchema:S,safety:{readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!0},mcp:{name:"listmonk_update_list",legacySuccessText:"List updated successfully"},execute:E}),l=f({id:"lists.delete",title:"Delete subscriber list",description:"Delete a subscriber list",inputSchema:v,outputSchema:B,safety:{readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!0},mcp:{name:"listmonk_delete_list",legacySuccessText:"List deleted successfully"},execute:H});async function A(t,e){let n=o(u.inputSchema,e),r;try{r=await _(t,n)}catch(s){throw a(u.id,s)}return p(u.id,u.outputSchema,r)}async function K(t,e){let n=o(c.inputSchema,e),r;try{r=await C(t,n)}catch(s){throw a(c.id,s)}return p(c.id,c.outputSchema,r)}async function V(t,e){let n=o(d.inputSchema,e),r;try{r=await j(t,n)}catch(s){throw a(d.id,s)}return p(d.id,d.outputSchema,r)}async function Q(t,e){let n=o(m.inputSchema,e),r;try{r=await E(t,n)}catch(s){throw a(m.id,s)}return p(m.id,m.outputSchema,r)}async function X(t,e){let n=o(l.inputSchema,e),r;try{r=await H(t,n)}catch(s){throw a(l.id,s)}return p(l.id,l.outputSchema,r)}var Y=[u,c,d,m,l],tt=new Map(Y.map(t=>[t.mcp.name,t]));function ot(t){return tt.get(t)}async function at(t,e,n){switch(e){case u.mcp.name:return{operation:u,output:await A(t,n)};case c.mcp.name:return{operation:c,output:await K(t,n)};case d.mcp.name:return{operation:d,output:await V(t,n)};case m.mcp.name:return{operation:m,output:await Q(t,n)};case l.mcp.name:return{operation:l,output:await X(t,n)};default:return}}export{y as OperationExecutionError,O as OperationInputError,L as OperationOutputError,d as createListOperation,j as createSubscriberList,f as defineOperation,l as deleteListOperation,H as deleteSubscriberList,c as getListOperation,ot as getListOperationByMcpName,u as getListsOperation,C as getSubscriberList,V as invokeCreateListOperation,X as invokeDeleteListOperation,K as invokeGetListOperation,A as invokeGetListsOperation,at as invokeListOperationByMcpName,Q as invokeUpdateListOperation,Y as listOperations,_ as listSubscriberLists,a as normalizeOperationExecutionError,o as parseOperationInput,p as parseOperationOutput,m as updateListOperation,E as updateSubscriberList};
1
+ import{z as r}from"zod";import{z as h}from"zod";var f=h.codec(h.union([h.number().int().positive(),h.string().regex(/^[1-9][0-9]*$/)]),h.number().int().positive(),{decode:e=>Number(e),encode:e=>e}).describe("Listmonk resource ID"),ue=h.preprocess(e=>{if(!(e==null||e===""))return e==="true"?!0:e==="false"?!1:e},h.boolean().optional()),Ae=h.number().int().positive(),pa=h.union([Ae,h.string().regex(/^[1-9][0-9]*$/).transform(Number)]),ca=h.object({results:h.array(h.looseObject({})),total:h.number(),per_page:h.number(),page:h.number()});function T(e){if(e instanceof Error)return e.message;if(e&&typeof e=="object"){if("message"in e&&typeof e.message=="string")return e.message;if("error"in e&&typeof e.error=="string")return e.error;try{return JSON.stringify(e)}catch{}}return String(e)}function d(e,t){if(e.error!==void 0)throw new Error(`${t}: ${T(e.error)}`);if(e.data===void 0)throw new Error(`${t}: received empty data`);return e.data}function Z(e,t){return{results:e.results??[],total:e.total??e.results?.length??0,per_page:e.per_page??t.per_page,page:e.page??t.page}}function S(e){return JSON.stringify(e,null,2)}var C={readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},V={readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0},K={readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},Q={readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!0};import{z as We}from"zod";var ie=class extends Error{constructor(t){super(t),this.name="OperationInputError"}},se=class extends Error{constructor(t){super(t),this.name="OperationOutputError"}},te=class extends Error{operationId;constructor(t,a){super(Ze(a),{cause:a}),this.name="OperationExecutionError",this.operationId=t}};function Ze(e){return e instanceof Error?e.message:e&&typeof e=="object"&&"message"in e?String(e.message):String(e)}function me(e,t){let a=We.toJSONSchema(e,{io:t});if(a.type!=="object")throw new TypeError("Operation schemas must have an object root");return a}function Ve(e,t){if(!e||typeof e!="object"||!(t in e))return!1;let a=Reflect.get(e,t);return a==null?!1:typeof a=="string"?a.trim().length>0:Array.isArray(a)?a.length>0:!0}function Ke(e,t){let a=e.issues[0];if(!a)return"Invalid operation input";let n=a.path[0],o=a.path.map(String).join(".")||"input";return(typeof n=="string"||typeof n=="number")&&!Ve(t,n)?`Missing required parameter: ${String(n)}`:`Invalid parameter ${o}: ${a.message}`}function c(e,t){let a=e.safeParse(t??{});if(!a.success)throw new ie(Ke(a.error,t??{}));return a.data}function u(e,t){return t instanceof te?t:new te(e,t)}function m(e,t,a){let n=t.safeParse(a);if(!n.success)throw new se(`${e} produced invalid output: ${n.error.message}`);return n.data}function l(e){return{id:e.id,title:e.title,description:e.description,inputSchema:e.inputSchema,outputSchema:e.outputSchema,inputJsonSchema:me(e.inputSchema,"input"),outputJsonSchema:me(e.outputSchema,"output"),safety:e.safety,mcp:e.mcp,async invoke(t,a){let n=c(e.inputSchema,a),o;try{o=await e.execute(t,n)}catch(b){throw u(e.id,b)}return m(e.id,e.outputSchema,o)}}}var pe=r.enum(["regular","optin"]),Qe=r.enum(["draft","scheduled","running","paused","finished","cancelled"]),ce=r.enum(["richtext","html","markdown","plain","visual"]),Xe=r.enum(["name","status","created_at","updated_at"]),Ye=r.enum(["ASC","DESC"]),ae=r.looseObject({id:r.number().int().positive().optional(),created_at:r.string().optional(),updated_at:r.string().optional(),uuid:r.string().optional(),name:r.string().optional(),subject:r.string().optional(),from_email:r.string().optional(),body:r.string().optional(),body_source:r.string().nullable().optional(),altbody:r.string().nullable().optional(),send_at:r.string().nullable().optional(),status:r.string().optional(),type:pe.optional(),content_type:ce.optional(),tags:r.array(r.string()).optional(),template_id:r.number().int().positive().nullable().optional(),messenger:r.string().optional(),lists:r.array(r.looseObject({})).optional(),archive:r.boolean().optional(),media:r.array(r.looseObject({})).optional()}),et=r.object({results:r.array(ae),total:r.number(),per_page:r.number(),page:r.number()}),le=r.object({id:f}),tt=r.object({page:r.coerce.number().int().positive().default(1),per_page:r.union([r.coerce.number().int().positive(),r.literal("all")]).default(20),status:r.preprocess(e=>e===void 0?void 0:Array.isArray(e)?e:[e],r.array(Qe).optional()).optional(),no_body:r.boolean().optional(),query:r.string().trim().optional(),tags:r.array(r.string()).optional(),order:Ye.optional(),order_by:Xe.optional()}),Y={name:r.string().trim().min(1),subject:r.string().trim().min(1),from_email:r.string().trim().min(1),body:r.string().min(1),altbody:r.string().optional(),type:pe.default("regular"),template_id:f,lists:r.array(f).min(1),tags:r.array(r.string()).default([]),messenger:r.string().trim().min(1).default("email"),content_type:ce.default("html"),send_at:r.string().nullable().optional(),headers:r.array(r.record(r.string(),r.string())).optional(),attribs:r.record(r.string(),r.unknown()).optional(),archive:r.boolean().optional(),archive_slug:r.string().nullable().optional(),archive_template_id:f.nullable().optional(),archive_meta:r.record(r.string(),r.unknown()).optional(),media:r.array(f).optional(),subscribers:r.array(r.string()).optional()},at=r.object(Y),nt=r.object({id:f,name:Y.name.optional(),subject:Y.subject.optional(),from_email:Y.from_email.optional(),body:Y.body.optional(),altbody:r.string().optional(),type:pe.optional(),template_id:f.nullable().optional(),lists:r.array(f).min(1).optional(),tags:r.array(r.string()).optional(),messenger:r.string().trim().min(1).optional(),content_type:ce.optional(),send_at:r.string().nullable().optional(),headers:r.array(r.record(r.string(),r.string())).optional(),attribs:r.record(r.string(),r.unknown()).optional(),archive:r.boolean().optional(),archive_slug:r.string().nullable().optional(),archive_template_id:f.nullable().optional(),archive_meta:r.record(r.string(),r.unknown()).optional(),media:r.array(f).optional(),subscribers:r.array(r.string()).optional()}).refine(({id:e,...t})=>Object.values(t).some(a=>a!==void 0),{message:"At least one campaign field must be provided for update",path:["id"]}),rt=r.object({id:r.number().int().positive(),deleted:r.boolean()});async function de({client:e},t){let a={page:t.page,per_page:t.per_page};t.status&&(a.status=t.status),t.no_body!==void 0&&(a.no_body=t.no_body),t.query&&(a.query=t.query),t.tags&&(a.tags=t.tags),t.order&&(a.order=t.order),t.order_by&&(a.order_by=t.order_by);let n=await e.campaign.list({query:a}),o=d(n,"Failed to fetch campaigns");return Z(o,{page:t.page,per_page:t.per_page==="all"?o.results?.length??0:t.per_page})}async function be({client:e},t){let a=await e.campaign.getById({path:{id:t.id},...t.no_body===void 0?{}:{query:{no_body:t.no_body}}});return d(a,"Failed to fetch campaign")}async function ot(e,t){let n=await e.campaign.list({query:{page:1,per_page:100}}),o=d(n,"Failed to resolve created campaign"),b=o.results?.find(g=>g.name===t);if(b)return b;let w=Math.max(1,Math.ceil((o.total??0)/100));for(let g=2;g<=w;g+=1){let x=await e.campaign.list({query:{page:g,per_page:100}}),_=d(x,"Failed to resolve created campaign").results?.find(L=>L.name===t);if(_)return _}}async function ge({client:e},t){let a=t,n=await e.campaign.create({body:a});if("error"in n&&n.error!==void 0)throw new Error(`Failed to create campaign: ${T(n.error)}`);if(n.data!==void 0)return n.data;let o=await ot(e,t.name);if(!o)throw new Error("Campaign was created but the created record could not be resolved");return o}async function fe({client:e},t){let{id:a,...n}=t,o=await e.campaign.update({path:{id:a},body:n});return d(o,"Failed to update campaign")}async function ye({client:e},t){let a=await e.campaign.delete({path:{id:t.id}});return{id:t.id,deleted:d(a,"Failed to delete campaign")}}var I=l({id:"campaigns.list",title:"List campaigns",description:"Get campaigns from Listmonk",inputSchema:tt,outputSchema:et,safety:C,mcp:{name:"listmonk_get_campaigns",legacySuccessText:S},execute:de}),z=l({id:"campaigns.get",title:"Get campaign",description:"Get a campaign by ID",inputSchema:le.extend({no_body:r.boolean().optional()}),outputSchema:ae,safety:C,mcp:{name:"listmonk_get_campaign",legacySuccessText:S},execute:be}),v=l({id:"campaigns.create",title:"Create campaign",description:"Create a campaign in Listmonk",inputSchema:at,outputSchema:ae,safety:V,mcp:{name:"listmonk_create_campaign",legacySuccessText:S},execute:ge}),P=l({id:"campaigns.update",title:"Update campaign",description:"Update a campaign in Listmonk",inputSchema:nt,outputSchema:ae,safety:K,mcp:{name:"listmonk_update_campaign",legacySuccessText:S},execute:fe}),j=l({id:"campaigns.delete",title:"Delete campaign",description:"Delete a campaign from Listmonk",inputSchema:le,outputSchema:rt,safety:Q,mcp:{name:"listmonk_delete_campaign",legacySuccessText:"Campaign deleted successfully"},execute:ye});async function it(e,t){let a=c(I.inputSchema,t),n;try{n=await de(e,a)}catch(o){throw u(I.id,o)}return m(I.id,I.outputSchema,n)}async function st(e,t){let a=c(z.inputSchema,t),n;try{n=await be(e,a)}catch(o){throw u(z.id,o)}return m(z.id,z.outputSchema,n)}async function pt(e,t){let a=c(v.inputSchema,t),n;try{n=await ge(e,a)}catch(o){throw u(v.id,o)}return m(v.id,v.outputSchema,n)}async function ct(e,t){let a=c(P.inputSchema,t),n;try{n=await fe(e,a)}catch(o){throw u(P.id,o)}return m(P.id,P.outputSchema,n)}async function ut(e,t){let a=c(j.inputSchema,t),n;try{n=await ye(e,a)}catch(o){throw u(j.id,o)}return m(j.id,j.outputSchema,n)}var mt=[I,z,v,P,j],lt=new Map(mt.map(e=>[e.mcp.name,e]));function fa(e){return lt.get(e)}async function ya(e,t,a){switch(t){case I.mcp.name:return{operation:I,output:await it(e,a)};case z.mcp.name:return{operation:z,output:await st(e,a)};case v.mcp.name:return{operation:v,output:await pt(e,a)};case P.mcp.name:return{operation:P,output:await ct(e,a)};case j.mcp.name:return{operation:j,output:await ut(e,a)};default:return}}import{z as s}from"zod";var ne=s.looseObject({id:s.number().optional(),created_at:s.string().optional(),updated_at:s.string().optional(),uuid:s.string().optional(),name:s.string().optional(),type:s.string().optional(),optin:s.string().optional(),tags:s.array(s.string()).optional(),subscriber_count:s.number().optional(),description:s.string().optional()}),dt=s.object({results:s.array(ne),total:s.number(),per_page:s.number(),page:s.number()}),bt=s.object({page:s.coerce.number().int().positive().default(1).describe("Page number for pagination"),per_page:s.coerce.number().int().positive().default(20).describe("Number of items per page")}),he=s.number().int().positive(),Se=s.codec(s.union([he,s.string().regex(/^[1-9][0-9]*$/)]),he,{decode:e=>Number(e),encode:e=>e}).describe("Subscriber list ID"),Oe=s.object({id:Se}),gt=s.object({name:s.string().trim().min(1).describe("List name"),type:s.enum(["public","private"]).default("private").describe("List visibility"),optin:s.enum(["single","double"]).default("single").describe("Opt-in type"),description:s.string().default("").describe("List description"),tags:s.array(s.string()).default([]).describe("List tags")}),ft=s.object({id:Se,name:s.string().trim().min(1).optional().describe("List name"),type:s.enum(["public","private"]).optional().describe("List visibility"),optin:s.enum(["single","double"]).optional().describe("Opt-in type"),description:s.string().optional().describe("List description"),tags:s.array(s.string()).optional().describe("List tags")}).refine(({id:e,...t})=>Object.values(t).some(a=>a!==void 0),{message:"At least one list field must be provided for update",path:["id"]}),yt=s.object({id:s.number().int().positive(),deleted:s.boolean()});function xe(e){if(e instanceof Error)return e.message;if(e&&typeof e=="object"){if("message"in e&&typeof e.message=="string")return e.message;if("error"in e&&typeof e.error=="string")return e.error;try{return JSON.stringify(e)}catch{}}return String(e)}function we(e){return e.error!==void 0}function X(e,t){if(we(e))throw new Error(`${t}: ${xe(e.error)}`);if(e.data===void 0)throw new Error(`${t}: received empty data`);return e.data}async function _e({client:e},t){let a=await e.list.list({query:{page:t.page,per_page:t.per_page}}),n=X(a,"Failed to fetch lists");return{results:n.results??[],total:n.total??0,per_page:n.per_page??t.per_page,page:n.page??t.page}}async function Ce({client:e},t){let a=await e.list.getById({path:{list_id:t.id}});return X(a,"Failed to fetch list")}async function ht(e,t){let n=await e.list.list({query:{page:1,per_page:100,query:t}}),o=X(n,"Failed to resolve created list"),b=o.results?.find(g=>g.name===t);if(b)return b;let w=Math.max(1,Math.ceil((o.total??0)/100));for(let g=2;g<=w;g+=1){let x=await e.list.list({query:{page:g,per_page:100,query:t}}),_=X(x,"Failed to resolve created list").results?.find(L=>L.name===t);if(_)return _}}async function ke({client:e},t){let a=await e.list.create({body:{name:t.name,type:t.type,optin:t.optin,description:t.description,tags:t.tags}});if(we(a))throw new Error(`Failed to create list: ${xe(a.error)}`);if(a.data!==void 0)return a.data;let n=await ht(e,t.name);if(!n)throw new Error("List was created but the created record could not be resolved");return n}async function Le({client:e},t){let{id:a,...n}=t,o=await e.list.update({path:{list_id:a},body:n});return X(o,"Failed to update list")}async function Te({client:e},t){let a=await e.list.delete({path:{list_id:t.id}});return{id:t.id,deleted:X(a,"Failed to delete list")}}var Ie={readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},R=l({id:"lists.list",title:"List subscriber lists",description:"Get subscriber lists from Listmonk",inputSchema:bt,outputSchema:dt,safety:Ie,mcp:{name:"listmonk_get_lists"},execute:_e}),E=l({id:"lists.get",title:"Get subscriber list",description:"Get a specific subscriber list by ID",inputSchema:Oe,outputSchema:ne,safety:Ie,mcp:{name:"listmonk_get_list"},execute:Ce}),M=l({id:"lists.create",title:"Create subscriber list",description:"Create a new subscriber list",inputSchema:gt,outputSchema:ne,safety:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0},mcp:{name:"listmonk_create_list"},execute:ke}),D=l({id:"lists.update",title:"Update subscriber list",description:"Update an existing subscriber list",inputSchema:ft,outputSchema:ne,safety:{readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!0},mcp:{name:"listmonk_update_list",legacySuccessText:"List updated successfully"},execute:Le}),H=l({id:"lists.delete",title:"Delete subscriber list",description:"Delete a subscriber list",inputSchema:Oe,outputSchema:yt,safety:{readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!0},mcp:{name:"listmonk_delete_list",legacySuccessText:"List deleted successfully"},execute:Te});async function St(e,t){let a=c(R.inputSchema,t),n;try{n=await _e(e,a)}catch(o){throw u(R.id,o)}return m(R.id,R.outputSchema,n)}async function Ot(e,t){let a=c(E.inputSchema,t),n;try{n=await Ce(e,a)}catch(o){throw u(E.id,o)}return m(E.id,E.outputSchema,n)}async function xt(e,t){let a=c(M.inputSchema,t),n;try{n=await ke(e,a)}catch(o){throw u(M.id,o)}return m(M.id,M.outputSchema,n)}async function wt(e,t){let a=c(D.inputSchema,t),n;try{n=await Le(e,a)}catch(o){throw u(D.id,o)}return m(D.id,D.outputSchema,n)}async function _t(e,t){let a=c(H.inputSchema,t),n;try{n=await Te(e,a)}catch(o){throw u(H.id,o)}return m(H.id,H.outputSchema,n)}var Ct=[R,E,M,D,H],kt=new Map(Ct.map(e=>[e.mcp.name,e]));function xa(e){return kt.get(e)}async function wa(e,t,a){switch(t){case R.mcp.name:return{operation:R,output:await St(e,a)};case E.mcp.name:return{operation:E,output:await Ot(e,a)};case M.mcp.name:return{operation:M,output:await xt(e,a)};case D.mcp.name:return{operation:D,output:await wt(e,a)};case H.mcp.name:return{operation:H,output:await _t(e,a)};default:return}}import{z as i}from"zod";var Lt=i.enum(["enabled","disabled","blocklisted"]),Tt=i.enum(["name","status","created_at","updated_at"]),It=i.enum(["ASC","DESC"]),re=i.looseObject({id:i.number().int().positive().optional(),created_at:i.string().optional(),updated_at:i.string().optional(),uuid:i.string().optional(),email:i.string().optional(),name:i.string().optional(),status:i.string().optional(),attribs:i.record(i.string(),i.unknown()).optional(),lists:i.array(i.looseObject({})).optional()}),zt=i.object({results:i.array(re),total:i.number(),per_page:i.number(),page:i.number()}),ze=i.object({id:f}),vt=i.preprocess(e=>Array.isArray(e)?e:e===void 0?void 0:[e],i.array(f).optional()),Pt=i.object({page:i.coerce.number().int().positive().default(1),per_page:i.union([i.coerce.number().int().positive(),i.literal("all")]).default(20),list_id:vt,query:i.string().trim().optional(),order_by:Tt.optional(),order:It.optional(),subscription_status:i.string().trim().min(1).optional()}),O={email:i.string().trim().email(),name:i.string().trim().optional(),status:Lt.optional(),lists:i.array(f).optional(),list_uuids:i.array(i.string()).optional(),preconfirm_subscriptions:i.boolean().optional(),attribs:i.record(i.string(),i.unknown()).optional()},jt=i.object({email:O.email,name:O.name.default(""),status:O.status.default("enabled"),lists:O.lists.default([]),list_uuids:O.list_uuids,preconfirm_subscriptions:O.preconfirm_subscriptions,attribs:O.attribs.default({})}),Rt=i.object({id:f,email:O.email.optional(),name:O.name,status:O.status,lists:O.lists,list_uuids:O.list_uuids,preconfirm_subscriptions:O.preconfirm_subscriptions,attribs:O.attribs}).refine(({id:e,...t})=>Object.values(t).some(a=>a!==void 0),{message:"At least one subscriber field must be provided for update",path:["id"]}),Et=i.object({id:i.number().int().positive(),deleted:i.boolean()});async function ve({client:e},t){let a={page:t.page,per_page:t.per_page};t.list_id&&(a.list_id=t.list_id),t.query&&(a.query=t.query),t.order_by&&(a.order_by=t.order_by),t.order&&(a.order=t.order),t.subscription_status&&(a.subscription_status=t.subscription_status);let n=await e.subscriber.list({query:a}),o=d(n,"Failed to fetch subscribers");return Z(o,{page:t.page,per_page:t.per_page==="all"?o.results?.length??0:t.per_page})}async function Pe({client:e},t){let a=await e.subscriber.getById({path:{id:t.id}});return d(a,"Failed to fetch subscriber")}async function Mt(e,t){let n=await e.subscriber.list({query:{page:1,per_page:100}}),o=d(n,"Failed to resolve created subscriber"),b=t.toLowerCase(),w=o.results?.find(x=>x.email?.toLowerCase()===b);if(w)return w;let g=Math.max(1,Math.ceil((o.total??0)/100));for(let x=2;x<=g;x+=1){let ee=await e.subscriber.list({query:{page:x,per_page:100}}),L=d(ee,"Failed to resolve created subscriber").results?.find(Je=>Je.email?.toLowerCase()===b);if(L)return L}}async function je({client:e},t){let a=await e.subscriber.create({body:t});if("error"in a&&a.error!==void 0)throw new Error(`Failed to create subscriber: ${T(a.error)}`);if(a.data!==void 0)return a.data;let n=await Mt(e,t.email);if(!n)throw new Error("Subscriber was created but the created record could not be resolved");return n}async function Re({client:e},t){let{id:a,...n}=t,o=await e.subscriber.update({path:{id:a},body:n});return d(o,"Failed to update subscriber")}async function Ee({client:e},t){let a=await e.subscriber.delete({path:{id:t.id}});return{id:t.id,deleted:d(a,"Failed to delete subscriber")}}var B=l({id:"subscribers.list",title:"List subscribers",description:"Get subscribers from Listmonk",inputSchema:Pt,outputSchema:zt,safety:C,mcp:{name:"listmonk_get_subscribers",legacySuccessText:S},execute:ve}),N=l({id:"subscribers.get",title:"Get subscriber",description:"Get a subscriber by ID",inputSchema:ze,outputSchema:re,safety:C,mcp:{name:"listmonk_get_subscriber",legacySuccessText:S},execute:Pe}),F=l({id:"subscribers.create",title:"Create subscriber",description:"Create a subscriber in Listmonk",inputSchema:jt,outputSchema:re,safety:V,mcp:{name:"listmonk_create_subscriber",legacySuccessText:S},execute:je}),q=l({id:"subscribers.update",title:"Update subscriber",description:"Update a subscriber in Listmonk",inputSchema:Rt,outputSchema:re,safety:K,mcp:{name:"listmonk_update_subscriber",legacySuccessText:S},execute:Re}),$=l({id:"subscribers.delete",title:"Delete subscriber",description:"Delete a subscriber from Listmonk",inputSchema:ze,outputSchema:Et,safety:Q,mcp:{name:"listmonk_delete_subscriber",legacySuccessText:"Subscriber deleted successfully"},execute:Ee});async function Dt(e,t){let a=c(B.inputSchema,t),n;try{n=await ve(e,a)}catch(o){throw u(B.id,o)}return m(B.id,B.outputSchema,n)}async function Ht(e,t){let a=c(N.inputSchema,t),n;try{n=await Pe(e,a)}catch(o){throw u(N.id,o)}return m(N.id,N.outputSchema,n)}async function Bt(e,t){let a=c(F.inputSchema,t),n;try{n=await je(e,a)}catch(o){throw u(F.id,o)}return m(F.id,F.outputSchema,n)}async function Nt(e,t){let a=c(q.inputSchema,t),n;try{n=await Re(e,a)}catch(o){throw u(q.id,o)}return m(q.id,q.outputSchema,n)}async function Ft(e,t){let a=c($.inputSchema,t),n;try{n=await Ee(e,a)}catch(o){throw u($.id,o)}return m($.id,$.outputSchema,n)}var qt=[B,N,F,q,$],$t=new Map(qt.map(e=>[e.mcp.name,e]));function Ta(e){return $t.get(e)}async function Ia(e,t,a){switch(t){case B.mcp.name:return{operation:B,output:await Dt(e,a)};case N.mcp.name:return{operation:N,output:await Ht(e,a)};case F.mcp.name:return{operation:F,output:await Bt(e,a)};case q.mcp.name:return{operation:q,output:await Nt(e,a)};case $.mcp.name:return{operation:$,output:await Ft(e,a)};default:return}}import{z as p}from"zod";var Me=p.enum(["campaign","campaign_visual","tx"]),oe=p.looseObject({id:p.number().int().positive().optional(),created_at:p.string().optional(),updated_at:p.string().optional(),name:p.string().optional(),body:p.string().optional(),body_source:p.string().nullable().optional(),subject:p.string().optional(),type:p.string().optional(),is_default:p.boolean().optional()}),Gt=p.object({results:p.array(oe),total:p.number(),per_page:p.number(),page:p.number()}),De=p.object({id:f}),Ut=p.object({page:p.coerce.number().int().positive().default(1),per_page:p.coerce.number().int().positive().default(20),no_body:ue}),Jt=p.object({name:p.string().trim().min(1),type:Me.default("campaign"),subject:p.string().optional().default(""),body_source:p.string().optional(),body:p.string().min(1)}),At=p.object({id:f,name:p.string().trim().min(1).optional(),type:Me.optional(),subject:p.string().optional(),body_source:p.string().optional(),body:p.string().min(1).optional()}).refine(({id:e,...t})=>Object.values(t).some(a=>a!==void 0),{message:"At least one template field must be provided for update",path:["id"]}),Wt=p.object({id:p.number().int().positive(),deleted:p.boolean()});async function He({client:e},t){let a=await e.template.list(t.no_body===void 0?void 0:{query:{no_body:t.no_body}}),n=d(a,"Failed to fetch templates"),o=Z(n,{page:1,per_page:n.results?.length??0}),b=(t.page-1)*t.per_page;return{results:o.results.slice(b,b+t.per_page),total:o.total,per_page:t.per_page,page:t.page}}async function Be({client:e},t){let a=await e.template.getById({path:{id:t.id}});return d(a,"Failed to fetch template")}async function Zt(e,t){let n=await e.template.list(),o=d(n,"Failed to resolve created template"),b=o.results?.find(g=>g.name===t);if(b)return b;let w=Math.max(1,Math.ceil((o.total??0)/Math.max(o.per_page??100,1)));for(let g=2;g<=w;g+=1){let x=await e.template.list({query:{page:g,per_page:100}}),_=d(x,"Failed to resolve created template").results?.find(L=>L.name===t);if(_)return _}}async function Ne({client:e},t){let a=await e.template.create({body:t});if("error"in a&&a.error!==void 0)throw new Error(`Failed to create template: ${T(a.error)}`);if(a.data!==void 0)return a.data;let n=await Zt(e,t.name);if(!n)throw new Error("Template was created but the created record could not be resolved");return n}async function Fe({client:e},t){let a=await e.template.getById({path:{id:t.id}}),n=d(a,"Failed to load current template"),o=t.type??(n.type==="campaign_visual"||n.type==="tx"?n.type:"campaign"),b={name:t.name??n.name??"",type:o,subject:t.subject??n.subject??"",body:t.body??n.body??"",body_source:t.body_source!==void 0?t.body_source:n.body_source};if(!b.name||!b.body)throw new Error("Template update requires name and body after merge");let w=await e.template.update({path:{id:t.id},body:b});return d(w,"Failed to update template")}async function qe({client:e},t){let a=await e.template.delete({path:{id:t.id}});return{id:t.id,deleted:d(a,"Failed to delete template")}}var G=l({id:"templates.list",title:"List templates",description:"Get templates from Listmonk",inputSchema:Ut,outputSchema:Gt,safety:C,mcp:{name:"listmonk_get_templates",legacySuccessText:S},execute:He}),U=l({id:"templates.get",title:"Get template",description:"Get a template by ID",inputSchema:De,outputSchema:oe,safety:C,mcp:{name:"listmonk_get_template",legacySuccessText:S},execute:Be}),J=l({id:"templates.create",title:"Create template",description:"Create a template in Listmonk",inputSchema:Jt,outputSchema:oe,safety:V,mcp:{name:"listmonk_create_template",legacySuccessText:S},execute:Ne}),A=l({id:"templates.update",title:"Update template",description:"Update a template in Listmonk",inputSchema:At,outputSchema:oe,safety:K,mcp:{name:"listmonk_update_template",legacySuccessText:S},execute:Fe}),W=l({id:"templates.delete",title:"Delete template",description:"Delete a template from Listmonk",inputSchema:De,outputSchema:Wt,safety:Q,mcp:{name:"listmonk_delete_template",legacySuccessText:"Template deleted successfully"},execute:qe});async function Vt(e,t){let a=c(G.inputSchema,t),n;try{n=await He(e,a)}catch(o){throw u(G.id,o)}return m(G.id,G.outputSchema,n)}async function Kt(e,t){let a=c(U.inputSchema,t),n;try{n=await Be(e,a)}catch(o){throw u(U.id,o)}return m(U.id,U.outputSchema,n)}async function Qt(e,t){let a=c(J.inputSchema,t),n;try{n=await Ne(e,a)}catch(o){throw u(J.id,o)}return m(J.id,J.outputSchema,n)}async function Xt(e,t){let a=c(A.inputSchema,t),n;try{n=await Fe(e,a)}catch(o){throw u(A.id,o)}return m(A.id,A.outputSchema,n)}async function Yt(e,t){let a=c(W.inputSchema,t),n;try{n=await qe(e,a)}catch(o){throw u(W.id,o)}return m(W.id,W.outputSchema,n)}var ea=[G,U,J,A,W],ta=new Map(ea.map(e=>[e.mcp.name,e]));function Ra(e){return ta.get(e)}async function Ea(e,t,a){switch(t){case G.mcp.name:return{operation:G,output:await Vt(e,a)};case U.mcp.name:return{operation:U,output:await Kt(e,a)};case J.mcp.name:return{operation:J,output:await Qt(e,a)};case A.mcp.name:return{operation:A,output:await Xt(e,a)};case W.mcp.name:return{operation:W,output:await Yt(e,a)};default:return}}import{z as y}from"zod";var $e=y.number().int().positive(),Ge=y.codec(y.union([$e,y.string().regex(/^[1-9][0-9]*$/)]),$e,{decode:e=>Number(e),encode:e=>e}),aa=y.object({template_id:Ge.describe("Transactional template ID"),subscriber_email:y.string().trim().email().optional().describe("Recipient subscriber email"),subscriber_id:Ge.optional().describe("Recipient subscriber ID"),from_email:y.string().trim().min(1).optional().describe("From email header value"),data:y.record(y.string(),y.unknown()).optional().describe("Template variables"),headers:y.array(y.record(y.string(),y.string())).optional().describe("Additional email headers"),content_type:y.enum(["html","markdown","plain"]).optional().describe("Message content type")}).refine(e=>e.subscriber_email!==void 0||e.subscriber_id!==void 0,{message:"Either subscriber_email or subscriber_id is required"}),na=y.object({sent:y.boolean().describe("Whether Listmonk accepted the message")});function ra(e){if(e instanceof Error)return e.message;if(e&&typeof e=="object"){if("message"in e&&typeof e.message=="string")return e.message;if("error"in e&&typeof e.error=="string")return e.error;try{return JSON.stringify(e)}catch{}}return String(e)}function oa(e,t){if(e.error!==void 0)throw new Error(`${t}: ${ra(e.error)}`);if(e.data===void 0)throw new Error(`${t}: received empty data`);return e.data}async function Ue({client:e},t){let a=await e.transactional.send({template_id:t.template_id,subscriber_email:t.subscriber_email,subscriber_id:t.subscriber_id,from_email:t.from_email,data:t.data,headers:t.headers,content_type:t.content_type});return{sent:oa(a,"Failed to send transactional message")}}var k=l({id:"transactional.send",title:"Send transactional message",description:"Send a transactional email through Listmonk",inputSchema:aa,outputSchema:na,safety:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0},mcp:{name:"listmonk_send_transactional",legacySuccessText:e=>String(e.sent)},execute:Ue});async function ia(e,t){let a=c(k.inputSchema,t),n;try{n=await Ue(e,a)}catch(o){throw u(k.id,o)}return m(k.id,k.outputSchema,n)}var Ba=[k];function Na(e){return e===k.mcp.name?k:void 0}async function Fa(e,t,a){if(t===k.mcp.name)return{operation:k,output:await ia(e,a)}}export{te as OperationExecutionError,ie as OperationInputError,se as OperationOutputError,mt as campaignOperations,ge as createCampaign,v as createCampaignOperation,M as createListOperation,je as createSubscriber,ke as createSubscriberList,F as createSubscriberOperation,Ne as createTemplate,J as createTemplateOperation,l as defineOperation,ye as deleteCampaign,j as deleteCampaignOperation,H as deleteListOperation,Ee as deleteSubscriber,Te as deleteSubscriberList,$ as deleteSubscriberOperation,qe as deleteTemplate,W as deleteTemplateOperation,be as getCampaign,z as getCampaignOperation,fa as getCampaignOperationByMcpName,I as getCampaignsOperation,E as getListOperation,xa as getListOperationByMcpName,R as getListsOperation,Pe as getSubscriber,Ce as getSubscriberList,N as getSubscriberOperation,Ta as getSubscriberOperationByMcpName,B as getSubscribersOperation,Be as getTemplate,U as getTemplateOperation,Ra as getTemplateOperationByMcpName,G as getTemplatesOperation,Na as getTransactionalOperationByMcpName,ya as invokeCampaignOperationByMcpName,pt as invokeCreateCampaignOperation,xt as invokeCreateListOperation,Bt as invokeCreateSubscriberOperation,Qt as invokeCreateTemplateOperation,ut as invokeDeleteCampaignOperation,_t as invokeDeleteListOperation,Ft as invokeDeleteSubscriberOperation,Yt as invokeDeleteTemplateOperation,st as invokeGetCampaignOperation,it as invokeGetCampaignsOperation,Ot as invokeGetListOperation,St as invokeGetListsOperation,Ht as invokeGetSubscriberOperation,Dt as invokeGetSubscribersOperation,Kt as invokeGetTemplateOperation,Vt as invokeGetTemplatesOperation,wa as invokeListOperationByMcpName,ia as invokeSendTransactionalOperation,Ia as invokeSubscriberOperationByMcpName,Ea as invokeTemplateOperationByMcpName,Fa as invokeTransactionalOperationByMcpName,ct as invokeUpdateCampaignOperation,wt as invokeUpdateListOperation,Nt as invokeUpdateSubscriberOperation,Xt as invokeUpdateTemplateOperation,de as listCampaigns,Ct as listOperations,_e as listSubscriberLists,ve as listSubscribers,He as listTemplates,u as normalizeOperationExecutionError,c as parseOperationInput,m as parseOperationOutput,Ue as sendTransactionalMessage,k as sendTransactionalOperation,qt as subscriberOperations,ea as templateOperations,Ba as transactionalOperations,fe as updateCampaign,P as updateCampaignOperation,D as updateListOperation,Re as updateSubscriber,Le as updateSubscriberList,q as updateSubscriberOperation,Fe as updateTemplate,A as updateTemplateOperation};
@@ -1 +1 @@
1
- {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../src/lists.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../src/lists.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export interface OperationSafety {
14
14
  }
15
15
  export interface OperationMcpMetadata {
16
16
  name: string;
17
- legacySuccessText?: string;
17
+ legacySuccessText?: string | ((output: Record<string, unknown>) => string);
18
18
  }
19
19
  export interface OperationDefinition<Context, InputSchema extends z.ZodType, OutputSchema extends z.ZodType> {
20
20
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../src/operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../src/operation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { z } from "zod";
2
+ export declare const resourceIdSchema: z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>;
3
+ export declare const optionalBooleanSchema: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodBoolean>>;
4
+ export declare const positiveIntegerSchema: z.ZodNumber;
5
+ export declare const positiveIntegerInputSchema: z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>;
6
+ export declare const listPageOutputSchema: z.ZodObject<{
7
+ results: z.ZodArray<z.ZodObject<{}, z.core.$loose>>;
8
+ total: z.ZodNumber;
9
+ per_page: z.ZodNumber;
10
+ page: z.ZodNumber;
11
+ }, z.core.$strip>;
12
+ export type ResponseWithData<T> = {
13
+ data?: T;
14
+ error?: unknown;
15
+ };
16
+ export declare function toResourceErrorMessage(error: unknown): string;
17
+ export declare function unwrapResourceResponse<T>(response: ResponseWithData<T>, context: string): T;
18
+ export declare function normalizeResourceList<T>(data: {
19
+ results?: T[];
20
+ total?: number;
21
+ per_page?: number;
22
+ page?: number;
23
+ }, defaults: {
24
+ per_page: number;
25
+ page: number;
26
+ }): {
27
+ results: T[];
28
+ total: number;
29
+ per_page: number;
30
+ page: number;
31
+ };
32
+ export declare function jsonResourceValue(value: unknown): string;
33
+ export declare const readResourceSafety: {
34
+ readonly readOnlyHint: true;
35
+ readonly destructiveHint: false;
36
+ readonly idempotentHint: true;
37
+ readonly openWorldHint: true;
38
+ };
39
+ export declare const createResourceSafety: {
40
+ readonly readOnlyHint: false;
41
+ readonly destructiveHint: false;
42
+ readonly idempotentHint: false;
43
+ readonly openWorldHint: true;
44
+ };
45
+ export declare const updateResourceSafety: {
46
+ readonly readOnlyHint: false;
47
+ readonly destructiveHint: false;
48
+ readonly idempotentHint: true;
49
+ readonly openWorldHint: true;
50
+ };
51
+ export declare const deleteResourceSafety: {
52
+ readonly readOnlyHint: false;
53
+ readonly destructiveHint: true;
54
+ readonly idempotentHint: true;
55
+ readonly openWorldHint: true;
56
+ };
57
+ //# sourceMappingURL=resource-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-helpers.d.ts","sourceRoot":"","sources":["../src/resource-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB,0EAYK,CAAC;AAEnC,eAAO,MAAM,qBAAqB,iFAcjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAA8B,CAAC;AACjE,eAAO,MAAM,0BAA0B,4FAGrC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;iBAK/B,CAAC;AAEH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IACjC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAkB7D;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EACvC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC7B,OAAO,EAAE,MAAM,GACb,CAAC,CAQH;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EACtC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACzE,QAAQ,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAOjE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAExD;AAED,eAAO,MAAM,kBAAkB;aAC9B,YAAY;aACZ,eAAe;aACf,cAAc;aACd,aAAa;CACJ,CAAC;AAEX,eAAO,MAAM,oBAAoB;aAChC,YAAY;aACZ,eAAe;aACf,cAAc;aACd,aAAa;CACJ,CAAC;AAEX,eAAO,MAAM,oBAAoB;aAChC,YAAY;aACZ,eAAe;aACf,cAAc;aACd,aAAa;CACJ,CAAC;AAEX,eAAO,MAAM,oBAAoB;aAChC,YAAY;aACZ,eAAe;aACf,cAAc;aACd,aAAa;CACJ,CAAC"}
@@ -0,0 +1,295 @@
1
+ import type { ListmonkClient } from "@listmonk-ops/openapi";
2
+ import { z } from "zod";
3
+ export interface SubscriberOperationContext {
4
+ client: Pick<ListmonkClient, "subscriber">;
5
+ }
6
+ declare const subscriberSchema: z.ZodObject<{
7
+ id: z.ZodOptional<z.ZodNumber>;
8
+ created_at: z.ZodOptional<z.ZodString>;
9
+ updated_at: z.ZodOptional<z.ZodString>;
10
+ uuid: z.ZodOptional<z.ZodString>;
11
+ email: z.ZodOptional<z.ZodString>;
12
+ name: z.ZodOptional<z.ZodString>;
13
+ status: z.ZodOptional<z.ZodString>;
14
+ attribs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
15
+ lists: z.ZodOptional<z.ZodArray<z.ZodObject<{}, z.core.$loose>>>;
16
+ }, z.core.$loose>;
17
+ declare const subscriberListOutputSchema: z.ZodObject<{
18
+ results: z.ZodArray<z.ZodObject<{
19
+ id: z.ZodOptional<z.ZodNumber>;
20
+ created_at: z.ZodOptional<z.ZodString>;
21
+ updated_at: z.ZodOptional<z.ZodString>;
22
+ uuid: z.ZodOptional<z.ZodString>;
23
+ email: z.ZodOptional<z.ZodString>;
24
+ name: z.ZodOptional<z.ZodString>;
25
+ status: z.ZodOptional<z.ZodString>;
26
+ attribs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
27
+ lists: z.ZodOptional<z.ZodArray<z.ZodObject<{}, z.core.$loose>>>;
28
+ }, z.core.$loose>>;
29
+ total: z.ZodNumber;
30
+ per_page: z.ZodNumber;
31
+ page: z.ZodNumber;
32
+ }, z.core.$strip>;
33
+ declare const subscriberIdInputSchema: z.ZodObject<{
34
+ id: z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>;
35
+ }, z.core.$strip>;
36
+ declare const subscriberListInputSchema: z.ZodObject<{
37
+ page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
38
+ per_page: z.ZodDefault<z.ZodUnion<readonly [z.ZodCoercedNumber<unknown>, z.ZodLiteral<"all">]>>;
39
+ list_id: z.ZodPipe<z.ZodTransform<any[] | undefined, unknown>, z.ZodOptional<z.ZodArray<z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>>>>;
40
+ query: z.ZodOptional<z.ZodString>;
41
+ order_by: z.ZodOptional<z.ZodEnum<{
42
+ created_at: "created_at";
43
+ name: "name";
44
+ status: "status";
45
+ updated_at: "updated_at";
46
+ }>>;
47
+ order: z.ZodOptional<z.ZodEnum<{
48
+ ASC: "ASC";
49
+ DESC: "DESC";
50
+ }>>;
51
+ subscription_status: z.ZodOptional<z.ZodString>;
52
+ }, z.core.$strip>;
53
+ declare const createSubscriberInputSchema: z.ZodObject<{
54
+ email: z.ZodString;
55
+ name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
56
+ status: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
57
+ blocklisted: "blocklisted";
58
+ disabled: "disabled";
59
+ enabled: "enabled";
60
+ }>>>;
61
+ lists: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>>>>;
62
+ list_uuids: z.ZodOptional<z.ZodArray<z.ZodString>>;
63
+ preconfirm_subscriptions: z.ZodOptional<z.ZodBoolean>;
64
+ attribs: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
65
+ }, z.core.$strip>;
66
+ declare const updateSubscriberInputSchema: z.ZodObject<{
67
+ id: z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>;
68
+ email: z.ZodOptional<z.ZodString>;
69
+ name: z.ZodOptional<z.ZodString>;
70
+ status: z.ZodOptional<z.ZodEnum<{
71
+ blocklisted: "blocklisted";
72
+ disabled: "disabled";
73
+ enabled: "enabled";
74
+ }>>;
75
+ lists: z.ZodOptional<z.ZodArray<z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>>>;
76
+ list_uuids: z.ZodOptional<z.ZodArray<z.ZodString>>;
77
+ preconfirm_subscriptions: z.ZodOptional<z.ZodBoolean>;
78
+ attribs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
79
+ }, z.core.$strip>;
80
+ declare const deleteSubscriberOutputSchema: z.ZodObject<{
81
+ id: z.ZodNumber;
82
+ deleted: z.ZodBoolean;
83
+ }, z.core.$strip>;
84
+ export type SubscriberListPage = z.output<typeof subscriberListOutputSchema>;
85
+ export declare function listSubscribers({ client }: SubscriberOperationContext, input: z.output<typeof subscriberListInputSchema>): Promise<SubscriberListPage>;
86
+ export declare function getSubscriber({ client }: SubscriberOperationContext, input: z.output<typeof subscriberIdInputSchema>): Promise<z.output<typeof subscriberSchema>>;
87
+ export declare function createSubscriber({ client }: SubscriberOperationContext, input: z.output<typeof createSubscriberInputSchema>): Promise<z.output<typeof subscriberSchema>>;
88
+ export declare function updateSubscriber({ client }: SubscriberOperationContext, input: z.output<typeof updateSubscriberInputSchema>): Promise<z.output<typeof subscriberSchema>>;
89
+ export declare function deleteSubscriber({ client }: SubscriberOperationContext, input: z.output<typeof subscriberIdInputSchema>): Promise<z.output<typeof deleteSubscriberOutputSchema>>;
90
+ export declare const getSubscribersOperation: import("./operation").OperationDefinition<SubscriberOperationContext, z.ZodObject<{
91
+ page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
92
+ per_page: z.ZodDefault<z.ZodUnion<readonly [z.ZodCoercedNumber<unknown>, z.ZodLiteral<"all">]>>;
93
+ list_id: z.ZodPipe<z.ZodTransform<any[] | undefined, unknown>, z.ZodOptional<z.ZodArray<z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>>>>;
94
+ query: z.ZodOptional<z.ZodString>;
95
+ order_by: z.ZodOptional<z.ZodEnum<{
96
+ created_at: "created_at";
97
+ name: "name";
98
+ status: "status";
99
+ updated_at: "updated_at";
100
+ }>>;
101
+ order: z.ZodOptional<z.ZodEnum<{
102
+ ASC: "ASC";
103
+ DESC: "DESC";
104
+ }>>;
105
+ subscription_status: z.ZodOptional<z.ZodString>;
106
+ }, z.core.$strip>, z.ZodObject<{
107
+ results: z.ZodArray<z.ZodObject<{
108
+ id: z.ZodOptional<z.ZodNumber>;
109
+ created_at: z.ZodOptional<z.ZodString>;
110
+ updated_at: z.ZodOptional<z.ZodString>;
111
+ uuid: z.ZodOptional<z.ZodString>;
112
+ email: z.ZodOptional<z.ZodString>;
113
+ name: z.ZodOptional<z.ZodString>;
114
+ status: z.ZodOptional<z.ZodString>;
115
+ attribs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
116
+ lists: z.ZodOptional<z.ZodArray<z.ZodObject<{}, z.core.$loose>>>;
117
+ }, z.core.$loose>>;
118
+ total: z.ZodNumber;
119
+ per_page: z.ZodNumber;
120
+ page: z.ZodNumber;
121
+ }, z.core.$strip>>;
122
+ export declare const getSubscriberOperation: import("./operation").OperationDefinition<SubscriberOperationContext, z.ZodObject<{
123
+ id: z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>;
124
+ }, z.core.$strip>, z.ZodObject<{
125
+ id: z.ZodOptional<z.ZodNumber>;
126
+ created_at: z.ZodOptional<z.ZodString>;
127
+ updated_at: z.ZodOptional<z.ZodString>;
128
+ uuid: z.ZodOptional<z.ZodString>;
129
+ email: z.ZodOptional<z.ZodString>;
130
+ name: z.ZodOptional<z.ZodString>;
131
+ status: z.ZodOptional<z.ZodString>;
132
+ attribs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
133
+ lists: z.ZodOptional<z.ZodArray<z.ZodObject<{}, z.core.$loose>>>;
134
+ }, z.core.$loose>>;
135
+ export declare const createSubscriberOperation: import("./operation").OperationDefinition<SubscriberOperationContext, z.ZodObject<{
136
+ email: z.ZodString;
137
+ name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
138
+ status: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
139
+ blocklisted: "blocklisted";
140
+ disabled: "disabled";
141
+ enabled: "enabled";
142
+ }>>>;
143
+ lists: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>>>>;
144
+ list_uuids: z.ZodOptional<z.ZodArray<z.ZodString>>;
145
+ preconfirm_subscriptions: z.ZodOptional<z.ZodBoolean>;
146
+ attribs: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
147
+ }, z.core.$strip>, z.ZodObject<{
148
+ id: z.ZodOptional<z.ZodNumber>;
149
+ created_at: z.ZodOptional<z.ZodString>;
150
+ updated_at: z.ZodOptional<z.ZodString>;
151
+ uuid: z.ZodOptional<z.ZodString>;
152
+ email: z.ZodOptional<z.ZodString>;
153
+ name: z.ZodOptional<z.ZodString>;
154
+ status: z.ZodOptional<z.ZodString>;
155
+ attribs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
156
+ lists: z.ZodOptional<z.ZodArray<z.ZodObject<{}, z.core.$loose>>>;
157
+ }, z.core.$loose>>;
158
+ export declare const updateSubscriberOperation: import("./operation").OperationDefinition<SubscriberOperationContext, z.ZodObject<{
159
+ id: z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>;
160
+ email: z.ZodOptional<z.ZodString>;
161
+ name: z.ZodOptional<z.ZodString>;
162
+ status: z.ZodOptional<z.ZodEnum<{
163
+ blocklisted: "blocklisted";
164
+ disabled: "disabled";
165
+ enabled: "enabled";
166
+ }>>;
167
+ lists: z.ZodOptional<z.ZodArray<z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>>>;
168
+ list_uuids: z.ZodOptional<z.ZodArray<z.ZodString>>;
169
+ preconfirm_subscriptions: z.ZodOptional<z.ZodBoolean>;
170
+ attribs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
171
+ }, z.core.$strip>, z.ZodObject<{
172
+ id: z.ZodOptional<z.ZodNumber>;
173
+ created_at: z.ZodOptional<z.ZodString>;
174
+ updated_at: z.ZodOptional<z.ZodString>;
175
+ uuid: z.ZodOptional<z.ZodString>;
176
+ email: z.ZodOptional<z.ZodString>;
177
+ name: z.ZodOptional<z.ZodString>;
178
+ status: z.ZodOptional<z.ZodString>;
179
+ attribs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
180
+ lists: z.ZodOptional<z.ZodArray<z.ZodObject<{}, z.core.$loose>>>;
181
+ }, z.core.$loose>>;
182
+ export declare const deleteSubscriberOperation: import("./operation").OperationDefinition<SubscriberOperationContext, z.ZodObject<{
183
+ id: z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>;
184
+ }, z.core.$strip>, z.ZodObject<{
185
+ id: z.ZodNumber;
186
+ deleted: z.ZodBoolean;
187
+ }, z.core.$strip>>;
188
+ export declare function invokeGetSubscribersOperation(context: SubscriberOperationContext, input: unknown): Promise<SubscriberListPage>;
189
+ export declare function invokeGetSubscriberOperation(context: SubscriberOperationContext, input: unknown): Promise<z.output<typeof subscriberSchema>>;
190
+ export declare function invokeCreateSubscriberOperation(context: SubscriberOperationContext, input: unknown): Promise<z.output<typeof subscriberSchema>>;
191
+ export declare function invokeUpdateSubscriberOperation(context: SubscriberOperationContext, input: unknown): Promise<z.output<typeof subscriberSchema>>;
192
+ export declare function invokeDeleteSubscriberOperation(context: SubscriberOperationContext, input: unknown): Promise<z.output<typeof deleteSubscriberOutputSchema>>;
193
+ export declare const subscriberOperations: readonly [import("./operation").OperationDefinition<SubscriberOperationContext, z.ZodObject<{
194
+ page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
195
+ per_page: z.ZodDefault<z.ZodUnion<readonly [z.ZodCoercedNumber<unknown>, z.ZodLiteral<"all">]>>;
196
+ list_id: z.ZodPipe<z.ZodTransform<any[] | undefined, unknown>, z.ZodOptional<z.ZodArray<z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>>>>;
197
+ query: z.ZodOptional<z.ZodString>;
198
+ order_by: z.ZodOptional<z.ZodEnum<{
199
+ created_at: "created_at";
200
+ name: "name";
201
+ status: "status";
202
+ updated_at: "updated_at";
203
+ }>>;
204
+ order: z.ZodOptional<z.ZodEnum<{
205
+ ASC: "ASC";
206
+ DESC: "DESC";
207
+ }>>;
208
+ subscription_status: z.ZodOptional<z.ZodString>;
209
+ }, z.core.$strip>, z.ZodObject<{
210
+ results: z.ZodArray<z.ZodObject<{
211
+ id: z.ZodOptional<z.ZodNumber>;
212
+ created_at: z.ZodOptional<z.ZodString>;
213
+ updated_at: z.ZodOptional<z.ZodString>;
214
+ uuid: z.ZodOptional<z.ZodString>;
215
+ email: z.ZodOptional<z.ZodString>;
216
+ name: z.ZodOptional<z.ZodString>;
217
+ status: z.ZodOptional<z.ZodString>;
218
+ attribs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
219
+ lists: z.ZodOptional<z.ZodArray<z.ZodObject<{}, z.core.$loose>>>;
220
+ }, z.core.$loose>>;
221
+ total: z.ZodNumber;
222
+ per_page: z.ZodNumber;
223
+ page: z.ZodNumber;
224
+ }, z.core.$strip>>, import("./operation").OperationDefinition<SubscriberOperationContext, z.ZodObject<{
225
+ id: z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>;
226
+ }, z.core.$strip>, z.ZodObject<{
227
+ id: z.ZodOptional<z.ZodNumber>;
228
+ created_at: z.ZodOptional<z.ZodString>;
229
+ updated_at: z.ZodOptional<z.ZodString>;
230
+ uuid: z.ZodOptional<z.ZodString>;
231
+ email: z.ZodOptional<z.ZodString>;
232
+ name: z.ZodOptional<z.ZodString>;
233
+ status: z.ZodOptional<z.ZodString>;
234
+ attribs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
235
+ lists: z.ZodOptional<z.ZodArray<z.ZodObject<{}, z.core.$loose>>>;
236
+ }, z.core.$loose>>, import("./operation").OperationDefinition<SubscriberOperationContext, z.ZodObject<{
237
+ email: z.ZodString;
238
+ name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
239
+ status: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
240
+ blocklisted: "blocklisted";
241
+ disabled: "disabled";
242
+ enabled: "enabled";
243
+ }>>>;
244
+ lists: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>>>>;
245
+ list_uuids: z.ZodOptional<z.ZodArray<z.ZodString>>;
246
+ preconfirm_subscriptions: z.ZodOptional<z.ZodBoolean>;
247
+ attribs: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
248
+ }, z.core.$strip>, z.ZodObject<{
249
+ id: z.ZodOptional<z.ZodNumber>;
250
+ created_at: z.ZodOptional<z.ZodString>;
251
+ updated_at: z.ZodOptional<z.ZodString>;
252
+ uuid: z.ZodOptional<z.ZodString>;
253
+ email: z.ZodOptional<z.ZodString>;
254
+ name: z.ZodOptional<z.ZodString>;
255
+ status: z.ZodOptional<z.ZodString>;
256
+ attribs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
257
+ lists: z.ZodOptional<z.ZodArray<z.ZodObject<{}, z.core.$loose>>>;
258
+ }, z.core.$loose>>, import("./operation").OperationDefinition<SubscriberOperationContext, z.ZodObject<{
259
+ id: z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>;
260
+ email: z.ZodOptional<z.ZodString>;
261
+ name: z.ZodOptional<z.ZodString>;
262
+ status: z.ZodOptional<z.ZodEnum<{
263
+ blocklisted: "blocklisted";
264
+ disabled: "disabled";
265
+ enabled: "enabled";
266
+ }>>;
267
+ lists: z.ZodOptional<z.ZodArray<z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>>>;
268
+ list_uuids: z.ZodOptional<z.ZodArray<z.ZodString>>;
269
+ preconfirm_subscriptions: z.ZodOptional<z.ZodBoolean>;
270
+ attribs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
271
+ }, z.core.$strip>, z.ZodObject<{
272
+ id: z.ZodOptional<z.ZodNumber>;
273
+ created_at: z.ZodOptional<z.ZodString>;
274
+ updated_at: z.ZodOptional<z.ZodString>;
275
+ uuid: z.ZodOptional<z.ZodString>;
276
+ email: z.ZodOptional<z.ZodString>;
277
+ name: z.ZodOptional<z.ZodString>;
278
+ status: z.ZodOptional<z.ZodString>;
279
+ attribs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
280
+ lists: z.ZodOptional<z.ZodArray<z.ZodObject<{}, z.core.$loose>>>;
281
+ }, z.core.$loose>>, import("./operation").OperationDefinition<SubscriberOperationContext, z.ZodObject<{
282
+ id: z.ZodCodec<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodNumber>;
283
+ }, z.core.$strip>, z.ZodObject<{
284
+ id: z.ZodNumber;
285
+ deleted: z.ZodBoolean;
286
+ }, z.core.$strip>>];
287
+ export type SubscriberOperation = (typeof subscriberOperations)[number];
288
+ export declare function getSubscriberOperationByMcpName(name: string): SubscriberOperation | undefined;
289
+ export interface SubscriberOperationInvocation {
290
+ operation: SubscriberOperation;
291
+ output: Record<string, unknown>;
292
+ }
293
+ export declare function invokeSubscriberOperationByMcpName(context: SubscriberOperationContext, name: string, input: unknown): Promise<SubscriberOperationInvocation | undefined>;
294
+ export {};
295
+ //# sourceMappingURL=subscribers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribers.d.ts","sourceRoot":"","sources":["../src/subscribers.ts"],"names":[],"mappings":"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"}