@keystrokehq/sendfox 0.1.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.
Files changed (170) hide show
  1. package/README.md +17 -0
  2. package/dist/action.cjs +21 -0
  3. package/dist/action.cjs.map +1 -0
  4. package/dist/action.mjs +21 -0
  5. package/dist/action.mjs.map +1 -0
  6. package/dist/actions/delete-contact-from-list.cjs +30 -0
  7. package/dist/actions/delete-contact-from-list.cjs.map +1 -0
  8. package/dist/actions/delete-contact-from-list.d.cts +9 -0
  9. package/dist/actions/delete-contact-from-list.d.cts.map +1 -0
  10. package/dist/actions/delete-contact-from-list.d.mts +9 -0
  11. package/dist/actions/delete-contact-from-list.d.mts.map +1 -0
  12. package/dist/actions/delete-contact-from-list.mjs +27 -0
  13. package/dist/actions/delete-contact-from-list.mjs.map +1 -0
  14. package/dist/actions/get-automations.cjs +23 -0
  15. package/dist/actions/get-automations.cjs.map +1 -0
  16. package/dist/actions/get-automations.d.cts +9 -0
  17. package/dist/actions/get-automations.d.cts.map +1 -0
  18. package/dist/actions/get-automations.d.mts +9 -0
  19. package/dist/actions/get-automations.d.mts.map +1 -0
  20. package/dist/actions/get-automations.mjs +22 -0
  21. package/dist/actions/get-automations.mjs.map +1 -0
  22. package/dist/actions/get-campaign-by-id.cjs +27 -0
  23. package/dist/actions/get-campaign-by-id.cjs.map +1 -0
  24. package/dist/actions/get-campaign-by-id.d.cts +9 -0
  25. package/dist/actions/get-campaign-by-id.d.cts.map +1 -0
  26. package/dist/actions/get-campaign-by-id.d.mts +9 -0
  27. package/dist/actions/get-campaign-by-id.d.mts.map +1 -0
  28. package/dist/actions/get-campaign-by-id.mjs +24 -0
  29. package/dist/actions/get-campaign-by-id.mjs.map +1 -0
  30. package/dist/actions/get-campaigns.cjs +34 -0
  31. package/dist/actions/get-campaigns.cjs.map +1 -0
  32. package/dist/actions/get-campaigns.d.cts +9 -0
  33. package/dist/actions/get-campaigns.d.cts.map +1 -0
  34. package/dist/actions/get-campaigns.d.mts +9 -0
  35. package/dist/actions/get-campaigns.d.mts.map +1 -0
  36. package/dist/actions/get-campaigns.mjs +33 -0
  37. package/dist/actions/get-campaigns.mjs.map +1 -0
  38. package/dist/actions/get-contact-by-id.cjs +26 -0
  39. package/dist/actions/get-contact-by-id.cjs.map +1 -0
  40. package/dist/actions/get-contact-by-id.d.cts +9 -0
  41. package/dist/actions/get-contact-by-id.d.cts.map +1 -0
  42. package/dist/actions/get-contact-by-id.d.mts +9 -0
  43. package/dist/actions/get-contact-by-id.d.mts.map +1 -0
  44. package/dist/actions/get-contact-by-id.mjs +23 -0
  45. package/dist/actions/get-contact-by-id.mjs.map +1 -0
  46. package/dist/actions/get-contact-fields.cjs +21 -0
  47. package/dist/actions/get-contact-fields.cjs.map +1 -0
  48. package/dist/actions/get-contact-fields.d.cts +9 -0
  49. package/dist/actions/get-contact-fields.d.cts.map +1 -0
  50. package/dist/actions/get-contact-fields.d.mts +9 -0
  51. package/dist/actions/get-contact-fields.d.mts.map +1 -0
  52. package/dist/actions/get-contact-fields.mjs +20 -0
  53. package/dist/actions/get-contact-fields.mjs.map +1 -0
  54. package/dist/actions/get-contacts-in-list.cjs +34 -0
  55. package/dist/actions/get-contacts-in-list.cjs.map +1 -0
  56. package/dist/actions/get-contacts-in-list.d.cts +9 -0
  57. package/dist/actions/get-contacts-in-list.d.cts.map +1 -0
  58. package/dist/actions/get-contacts-in-list.d.mts +9 -0
  59. package/dist/actions/get-contacts-in-list.d.mts.map +1 -0
  60. package/dist/actions/get-contacts-in-list.mjs +33 -0
  61. package/dist/actions/get-contacts-in-list.mjs.map +1 -0
  62. package/dist/actions/get-contacts.cjs +34 -0
  63. package/dist/actions/get-contacts.cjs.map +1 -0
  64. package/dist/actions/get-contacts.d.cts +9 -0
  65. package/dist/actions/get-contacts.d.cts.map +1 -0
  66. package/dist/actions/get-contacts.d.mts +9 -0
  67. package/dist/actions/get-contacts.d.mts.map +1 -0
  68. package/dist/actions/get-contacts.mjs +33 -0
  69. package/dist/actions/get-contacts.mjs.map +1 -0
  70. package/dist/actions/get-current-user.cjs +29 -0
  71. package/dist/actions/get-current-user.cjs.map +1 -0
  72. package/dist/actions/get-current-user.d.cts +9 -0
  73. package/dist/actions/get-current-user.d.cts.map +1 -0
  74. package/dist/actions/get-current-user.d.mts +9 -0
  75. package/dist/actions/get-current-user.d.mts.map +1 -0
  76. package/dist/actions/get-current-user.mjs +26 -0
  77. package/dist/actions/get-current-user.mjs.map +1 -0
  78. package/dist/actions/get-forms.cjs +28 -0
  79. package/dist/actions/get-forms.cjs.map +1 -0
  80. package/dist/actions/get-forms.d.cts +9 -0
  81. package/dist/actions/get-forms.d.cts.map +1 -0
  82. package/dist/actions/get-forms.d.mts +9 -0
  83. package/dist/actions/get-forms.d.mts.map +1 -0
  84. package/dist/actions/get-forms.mjs +27 -0
  85. package/dist/actions/get-forms.mjs.map +1 -0
  86. package/dist/actions/get-list-by-id.cjs +22 -0
  87. package/dist/actions/get-list-by-id.cjs.map +1 -0
  88. package/dist/actions/get-list-by-id.d.cts +9 -0
  89. package/dist/actions/get-list-by-id.d.cts.map +1 -0
  90. package/dist/actions/get-list-by-id.d.mts +9 -0
  91. package/dist/actions/get-list-by-id.d.mts.map +1 -0
  92. package/dist/actions/get-list-by-id.mjs +19 -0
  93. package/dist/actions/get-list-by-id.mjs.map +1 -0
  94. package/dist/actions/get-lists.cjs +32 -0
  95. package/dist/actions/get-lists.cjs.map +1 -0
  96. package/dist/actions/get-lists.d.cts +9 -0
  97. package/dist/actions/get-lists.d.cts.map +1 -0
  98. package/dist/actions/get-lists.d.mts +9 -0
  99. package/dist/actions/get-lists.d.mts.map +1 -0
  100. package/dist/actions/get-lists.mjs +31 -0
  101. package/dist/actions/get-lists.mjs.map +1 -0
  102. package/dist/actions/index.cjs +35 -0
  103. package/dist/actions/index.d.cts +18 -0
  104. package/dist/actions/index.d.mts +18 -0
  105. package/dist/actions/index.mjs +18 -0
  106. package/dist/actions/list-contact-fields.cjs +28 -0
  107. package/dist/actions/list-contact-fields.cjs.map +1 -0
  108. package/dist/actions/list-contact-fields.d.cts +9 -0
  109. package/dist/actions/list-contact-fields.d.cts.map +1 -0
  110. package/dist/actions/list-contact-fields.d.mts +9 -0
  111. package/dist/actions/list-contact-fields.d.mts.map +1 -0
  112. package/dist/actions/list-contact-fields.mjs +27 -0
  113. package/dist/actions/list-contact-fields.mjs.map +1 -0
  114. package/dist/actions/list-unsubscribed-contacts.cjs +34 -0
  115. package/dist/actions/list-unsubscribed-contacts.cjs.map +1 -0
  116. package/dist/actions/list-unsubscribed-contacts.d.cts +9 -0
  117. package/dist/actions/list-unsubscribed-contacts.d.cts.map +1 -0
  118. package/dist/actions/list-unsubscribed-contacts.d.mts +9 -0
  119. package/dist/actions/list-unsubscribed-contacts.d.mts.map +1 -0
  120. package/dist/actions/list-unsubscribed-contacts.mjs +33 -0
  121. package/dist/actions/list-unsubscribed-contacts.mjs.map +1 -0
  122. package/dist/actions/patch-unsubscribe-contact.cjs +25 -0
  123. package/dist/actions/patch-unsubscribe-contact.cjs.map +1 -0
  124. package/dist/actions/patch-unsubscribe-contact.d.cts +9 -0
  125. package/dist/actions/patch-unsubscribe-contact.d.cts.map +1 -0
  126. package/dist/actions/patch-unsubscribe-contact.d.mts +9 -0
  127. package/dist/actions/patch-unsubscribe-contact.d.mts.map +1 -0
  128. package/dist/actions/patch-unsubscribe-contact.mjs +22 -0
  129. package/dist/actions/patch-unsubscribe-contact.mjs.map +1 -0
  130. package/dist/actions/post-create-contact.cjs +31 -0
  131. package/dist/actions/post-create-contact.cjs.map +1 -0
  132. package/dist/actions/post-create-contact.d.cts +9 -0
  133. package/dist/actions/post-create-contact.d.cts.map +1 -0
  134. package/dist/actions/post-create-contact.d.mts +9 -0
  135. package/dist/actions/post-create-contact.d.mts.map +1 -0
  136. package/dist/actions/post-create-contact.mjs +28 -0
  137. package/dist/actions/post-create-contact.mjs.map +1 -0
  138. package/dist/actions/post-create-list.cjs +21 -0
  139. package/dist/actions/post-create-list.cjs.map +1 -0
  140. package/dist/actions/post-create-list.d.cts +9 -0
  141. package/dist/actions/post-create-list.d.cts.map +1 -0
  142. package/dist/actions/post-create-list.d.mts +9 -0
  143. package/dist/actions/post-create-list.d.mts.map +1 -0
  144. package/dist/actions/post-create-list.mjs +18 -0
  145. package/dist/actions/post-create-list.mjs.map +1 -0
  146. package/dist/app.cjs +9 -0
  147. package/dist/app.cjs.map +1 -0
  148. package/dist/app.d.cts +5 -0
  149. package/dist/app.d.cts.map +1 -0
  150. package/dist/app.d.mts +5 -0
  151. package/dist/app.d.mts.map +1 -0
  152. package/dist/app.mjs +10 -0
  153. package/dist/app.mjs.map +1 -0
  154. package/dist/catalog.cjs +15 -0
  155. package/dist/catalog.cjs.map +1 -0
  156. package/dist/catalog.d.cts +14 -0
  157. package/dist/catalog.d.cts.map +1 -0
  158. package/dist/catalog.d.mts +14 -0
  159. package/dist/catalog.d.mts.map +1 -0
  160. package/dist/catalog.mjs +15 -0
  161. package/dist/catalog.mjs.map +1 -0
  162. package/dist/execute.cjs +18 -0
  163. package/dist/execute.cjs.map +1 -0
  164. package/dist/execute.mjs +18 -0
  165. package/dist/execute.mjs.map +1 -0
  166. package/dist/index.cjs +40 -0
  167. package/dist/index.d.cts +20 -0
  168. package/dist/index.d.mts +20 -0
  169. package/dist/index.mjs +21 -0
  170. package/package.json +49 -0
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/patch-unsubscribe-contact.d.ts
4
+ declare const SendfoxPatchUnsubscribeContactInput: z.ZodTypeAny;
5
+ declare const SendfoxPatchUnsubscribeContactOutput: z.ZodTypeAny;
6
+ declare const sendfoxPatchUnsubscribeContact: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { sendfoxPatchUnsubscribeContact };
9
+ //# sourceMappingURL=patch-unsubscribe-contact.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch-unsubscribe-contact.d.mts","names":[],"sources":["../../src/actions/patch-unsubscribe-contact.ts"],"mappings":";;;cAIa,mCAAA,EAAqC,CAAA,CAAE,UAEkB;AAAA,cACzD,oCAAA,EAAsC,CAAA,CAAE,UAS0E;AAAA,cAElH,8BAAA,gCAA8B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,22 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const sendfoxPatchUnsubscribeContact = action("SENDFOX_PATCH_UNSUBSCRIBE_CONTACT", {
4
+ slug: "sendfox-patch-unsubscribe-contact",
5
+ name: "Unsubscribe Contact",
6
+ description: "Unsubscribe a contact from all email communications in your SendFox account. Use this tool when you need to: - Globally unsubscribe a contact from all future emails - Honor unsubscribe requests from subscribers - Mark a contact as opted-out The contact will be marked as unsubscribed but remains in your contacts database. This is a permanent action - the contact will not receive any future campaigns.",
7
+ input: z.object({ email: z.string().describe("Email address of the contact to unsubscribe. The contact must exist in your SendFox account.") }).describe("Request parameters for unsubscribing a SendFox contact."),
8
+ output: z.object({
9
+ id: z.number().int().describe("The unique identifier of the contact.").nullable().optional(),
10
+ email: z.string().describe("The email address of the unsubscribed contact."),
11
+ last_name: z.string().describe("The last name of the contact.").nullable().optional(),
12
+ created_at: z.string().describe("The timestamp when the contact was created.").nullable().optional(),
13
+ first_name: z.string().describe("The first name of the contact.").nullable().optional(),
14
+ ip_address: z.string().describe("The IP address of the contact.").nullable().optional(),
15
+ updated_at: z.string().describe("The timestamp when the contact was last updated.").nullable().optional(),
16
+ unsubscribed_at: z.string().describe("The timestamp when the contact was unsubscribed. Set after this action completes.").nullable().optional()
17
+ }).describe("Response schema for unsubscribing a contact. Returns the contact details with updated unsubscribed_at timestamp.")
18
+ });
19
+ //#endregion
20
+ export { sendfoxPatchUnsubscribeContact };
21
+
22
+ //# sourceMappingURL=patch-unsubscribe-contact.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch-unsubscribe-contact.mjs","names":[],"sources":["../../src/actions/patch-unsubscribe-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SendfoxPatchUnsubscribeContactInput: z.ZodTypeAny = z.object({\n email: z.string().describe(\"Email address of the contact to unsubscribe. The contact must exist in your SendFox account.\"),\n}).describe(\"Request parameters for unsubscribing a SendFox contact.\");\nexport const SendfoxPatchUnsubscribeContactOutput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"The unique identifier of the contact.\").nullable().optional(),\n email: z.string().describe(\"The email address of the unsubscribed contact.\"),\n last_name: z.string().describe(\"The last name of the contact.\").nullable().optional(),\n created_at: z.string().describe(\"The timestamp when the contact was created.\").nullable().optional(),\n first_name: z.string().describe(\"The first name of the contact.\").nullable().optional(),\n ip_address: z.string().describe(\"The IP address of the contact.\").nullable().optional(),\n updated_at: z.string().describe(\"The timestamp when the contact was last updated.\").nullable().optional(),\n unsubscribed_at: z.string().describe(\"The timestamp when the contact was unsubscribed. Set after this action completes.\").nullable().optional(),\n}).describe(\"Response schema for unsubscribing a contact. Returns the contact details with updated unsubscribed_at timestamp.\");\n\nexport const sendfoxPatchUnsubscribeContact = action(\"SENDFOX_PATCH_UNSUBSCRIBE_CONTACT\", {\n slug: \"sendfox-patch-unsubscribe-contact\",\n name: \"Unsubscribe Contact\",\n description: \"Unsubscribe a contact from all email communications in your SendFox account. Use this tool when you need to: - Globally unsubscribe a contact from all future emails - Honor unsubscribe requests from subscribers - Mark a contact as opted-out The contact will be marked as unsubscribed but remains in your contacts database. This is a permanent action - the contact will not receive any future campaigns.\",\n input: SendfoxPatchUnsubscribeContactInput,\n output: SendfoxPatchUnsubscribeContactOutput,\n});\n"],"mappings":";;AAkBA,MAAa,iCAAiC,OAAO,qCAAqC;CACxF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAlB+D,EAAE,OAAO,EACxE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,8FAA8F,EAC3H,CAAC,CAAC,CAAC,SAAS,yDAgBH;CACP,QAhBgE,EAAE,OAAO;EACzE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC3F,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD;EAC3E,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpF,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACnG,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtF,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtF,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,kDAAkD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACxG,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChJ,CAAC,CAAC,CAAC,SAAS,kHAOF;AACV,CAAC"}
@@ -0,0 +1,31 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/post-create-contact.ts
4
+ const SendfoxPostCreateContactInput = zod.z.object({
5
+ email: zod.z.string().describe("Email address of the contact to create. Must be a valid email format."),
6
+ lists: zod.z.array(zod.z.number().int()).describe("Array of list IDs to add the contact to. Use the Get Lists action to retrieve available list IDs.").optional(),
7
+ last_name: zod.z.string().describe("Last name of the contact. Optional.").optional(),
8
+ first_name: zod.z.string().describe("First name of the contact. Optional but recommended for personalization.").optional()
9
+ }).describe("Request model for creating a new contact in SendFox.");
10
+ const SendfoxPostCreateContactOutput = zod.z.object({
11
+ id: zod.z.number().int().describe("Unique identifier of the contact in SendFox."),
12
+ email: zod.z.string().describe("Email address of the contact."),
13
+ lists: zod.z.array(zod.z.number().int()).describe("List IDs the contact belongs to.").nullable().optional(),
14
+ status: zod.z.string().describe("Subscription status of the contact (e.g., 'subscribed', 'unsubscribed').").nullable().optional(),
15
+ last_name: zod.z.string().describe("Last name of the contact, if provided.").nullable().optional(),
16
+ created_at: zod.z.string().describe("Timestamp when the contact was created (ISO 8601 format).").nullable().optional(),
17
+ first_name: zod.z.string().describe("First name of the contact, if provided.").nullable().optional(),
18
+ updated_at: zod.z.string().describe("Timestamp when the contact was last updated (ISO 8601 format).").nullable().optional(),
19
+ unsubscribed_at: zod.z.string().describe("Timestamp when the contact unsubscribed, if applicable.").nullable().optional()
20
+ }).describe("Response model for a created or updated SendFox contact.");
21
+ const sendfoxPostCreateContact = require_action.action("SENDFOX_POST_CREATE_CONTACT", {
22
+ slug: "sendfox-post-create-contact",
23
+ name: "Create Contact",
24
+ description: "Create a new contact (subscriber) in your SendFox account. Use this tool when you need to: - Add a new subscriber to your email list - Create a contact with optional first/last name - Add a contact to one or more specific lists If the contact already exists, their information will be updated with the provided data.",
25
+ input: SendfoxPostCreateContactInput,
26
+ output: SendfoxPostCreateContactOutput
27
+ });
28
+ //#endregion
29
+ exports.sendfoxPostCreateContact = sendfoxPostCreateContact;
30
+
31
+ //# sourceMappingURL=post-create-contact.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-create-contact.cjs","names":["z","action"],"sources":["../../src/actions/post-create-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SendfoxPostCreateContactInput: z.ZodTypeAny = z.object({\n email: z.string().describe(\"Email address of the contact to create. Must be a valid email format.\"),\n lists: z.array(z.number().int()).describe(\"Array of list IDs to add the contact to. Use the Get Lists action to retrieve available list IDs.\").optional(),\n last_name: z.string().describe(\"Last name of the contact. Optional.\").optional(),\n first_name: z.string().describe(\"First name of the contact. Optional but recommended for personalization.\").optional(),\n}).describe(\"Request model for creating a new contact in SendFox.\");\nexport const SendfoxPostCreateContactOutput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Unique identifier of the contact in SendFox.\"),\n email: z.string().describe(\"Email address of the contact.\"),\n lists: z.array(z.number().int()).describe(\"List IDs the contact belongs to.\").nullable().optional(),\n status: z.string().describe(\"Subscription status of the contact (e.g., 'subscribed', 'unsubscribed').\").nullable().optional(),\n last_name: z.string().describe(\"Last name of the contact, if provided.\").nullable().optional(),\n created_at: z.string().describe(\"Timestamp when the contact was created (ISO 8601 format).\").nullable().optional(),\n first_name: z.string().describe(\"First name of the contact, if provided.\").nullable().optional(),\n updated_at: z.string().describe(\"Timestamp when the contact was last updated (ISO 8601 format).\").nullable().optional(),\n unsubscribed_at: z.string().describe(\"Timestamp when the contact unsubscribed, if applicable.\").nullable().optional(),\n}).describe(\"Response model for a created or updated SendFox contact.\");\n\nexport const sendfoxPostCreateContact = action(\"SENDFOX_POST_CREATE_CONTACT\", {\n slug: \"sendfox-post-create-contact\",\n name: \"Create Contact\",\n description: \"Create a new contact (subscriber) in your SendFox account. Use this tool when you need to: - Add a new subscriber to your email list - Create a contact with optional first/last name - Add a contact to one or more specific lists If the contact already exists, their information will be updated with the provided data.\",\n input: SendfoxPostCreateContactInput,\n output: SendfoxPostCreateContactOutput,\n});\n"],"mappings":";;;AAIA,MAAa,gCAA8CA,IAAAA,EAAE,OAAO;CAClE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uEAAuE;CAClG,OAAOA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,mGAAmG,CAAC,CAAC,SAAS;CACxJ,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CAC/E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0EAA0E,CAAC,CAAC,SAAS;AACvH,CAAC,CAAC,CAAC,SAAS,sDAAsD;AAClE,MAAa,iCAA+CA,IAAAA,EAAE,OAAO;CACnE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8CAA8C;CAC5E,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B;CAC1D,OAAOA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClG,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0EAA0E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5H,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7F,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2DAA2D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjH,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/F,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtH,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACtH,CAAC,CAAC,CAAC,SAAS,0DAA0D;AAEtE,MAAa,2BAA2BC,eAAAA,OAAO,+BAA+B;CAC5E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/post-create-contact.d.ts
4
+ declare const SendfoxPostCreateContactInput: z.ZodTypeAny;
5
+ declare const SendfoxPostCreateContactOutput: z.ZodTypeAny;
6
+ declare const sendfoxPostCreateContact: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { sendfoxPostCreateContact };
9
+ //# sourceMappingURL=post-create-contact.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-create-contact.d.cts","names":[],"sources":["../../src/actions/post-create-contact.ts"],"mappings":";;;cAIa,6BAAA,EAA+B,CAAA,CAAE,UAKqB;AAAA,cACtD,8BAAA,EAAgC,CAAA,CAAE,UAUwB;AAAA,cAE1D,wBAAA,gCAAwB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/post-create-contact.d.ts
4
+ declare const SendfoxPostCreateContactInput: z.ZodTypeAny;
5
+ declare const SendfoxPostCreateContactOutput: z.ZodTypeAny;
6
+ declare const sendfoxPostCreateContact: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { sendfoxPostCreateContact };
9
+ //# sourceMappingURL=post-create-contact.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-create-contact.d.mts","names":[],"sources":["../../src/actions/post-create-contact.ts"],"mappings":";;;cAIa,6BAAA,EAA+B,CAAA,CAAE,UAKqB;AAAA,cACtD,8BAAA,EAAgC,CAAA,CAAE,UAUwB;AAAA,cAE1D,wBAAA,gCAAwB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,28 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const sendfoxPostCreateContact = action("SENDFOX_POST_CREATE_CONTACT", {
4
+ slug: "sendfox-post-create-contact",
5
+ name: "Create Contact",
6
+ description: "Create a new contact (subscriber) in your SendFox account. Use this tool when you need to: - Add a new subscriber to your email list - Create a contact with optional first/last name - Add a contact to one or more specific lists If the contact already exists, their information will be updated with the provided data.",
7
+ input: z.object({
8
+ email: z.string().describe("Email address of the contact to create. Must be a valid email format."),
9
+ lists: z.array(z.number().int()).describe("Array of list IDs to add the contact to. Use the Get Lists action to retrieve available list IDs.").optional(),
10
+ last_name: z.string().describe("Last name of the contact. Optional.").optional(),
11
+ first_name: z.string().describe("First name of the contact. Optional but recommended for personalization.").optional()
12
+ }).describe("Request model for creating a new contact in SendFox."),
13
+ output: z.object({
14
+ id: z.number().int().describe("Unique identifier of the contact in SendFox."),
15
+ email: z.string().describe("Email address of the contact."),
16
+ lists: z.array(z.number().int()).describe("List IDs the contact belongs to.").nullable().optional(),
17
+ status: z.string().describe("Subscription status of the contact (e.g., 'subscribed', 'unsubscribed').").nullable().optional(),
18
+ last_name: z.string().describe("Last name of the contact, if provided.").nullable().optional(),
19
+ created_at: z.string().describe("Timestamp when the contact was created (ISO 8601 format).").nullable().optional(),
20
+ first_name: z.string().describe("First name of the contact, if provided.").nullable().optional(),
21
+ updated_at: z.string().describe("Timestamp when the contact was last updated (ISO 8601 format).").nullable().optional(),
22
+ unsubscribed_at: z.string().describe("Timestamp when the contact unsubscribed, if applicable.").nullable().optional()
23
+ }).describe("Response model for a created or updated SendFox contact.")
24
+ });
25
+ //#endregion
26
+ export { sendfoxPostCreateContact };
27
+
28
+ //# sourceMappingURL=post-create-contact.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-create-contact.mjs","names":[],"sources":["../../src/actions/post-create-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SendfoxPostCreateContactInput: z.ZodTypeAny = z.object({\n email: z.string().describe(\"Email address of the contact to create. Must be a valid email format.\"),\n lists: z.array(z.number().int()).describe(\"Array of list IDs to add the contact to. Use the Get Lists action to retrieve available list IDs.\").optional(),\n last_name: z.string().describe(\"Last name of the contact. Optional.\").optional(),\n first_name: z.string().describe(\"First name of the contact. Optional but recommended for personalization.\").optional(),\n}).describe(\"Request model for creating a new contact in SendFox.\");\nexport const SendfoxPostCreateContactOutput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Unique identifier of the contact in SendFox.\"),\n email: z.string().describe(\"Email address of the contact.\"),\n lists: z.array(z.number().int()).describe(\"List IDs the contact belongs to.\").nullable().optional(),\n status: z.string().describe(\"Subscription status of the contact (e.g., 'subscribed', 'unsubscribed').\").nullable().optional(),\n last_name: z.string().describe(\"Last name of the contact, if provided.\").nullable().optional(),\n created_at: z.string().describe(\"Timestamp when the contact was created (ISO 8601 format).\").nullable().optional(),\n first_name: z.string().describe(\"First name of the contact, if provided.\").nullable().optional(),\n updated_at: z.string().describe(\"Timestamp when the contact was last updated (ISO 8601 format).\").nullable().optional(),\n unsubscribed_at: z.string().describe(\"Timestamp when the contact unsubscribed, if applicable.\").nullable().optional(),\n}).describe(\"Response model for a created or updated SendFox contact.\");\n\nexport const sendfoxPostCreateContact = action(\"SENDFOX_POST_CREATE_CONTACT\", {\n slug: \"sendfox-post-create-contact\",\n name: \"Create Contact\",\n description: \"Create a new contact (subscriber) in your SendFox account. Use this tool when you need to: - Add a new subscriber to your email list - Create a contact with optional first/last name - Add a contact to one or more specific lists If the contact already exists, their information will be updated with the provided data.\",\n input: SendfoxPostCreateContactInput,\n output: SendfoxPostCreateContactOutput,\n});\n"],"mappings":";;AAsBA,MAAa,2BAA2B,OAAO,+BAA+B;CAC5E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAtByD,EAAE,OAAO;EAClE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,uEAAuE;EAClG,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,mGAAmG,CAAC,CAAC,SAAS;EACxJ,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;EAC/E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,0EAA0E,CAAC,CAAC,SAAS;CACvH,CAAC,CAAC,CAAC,SAAS,sDAiBH;CACP,QAjB0D,EAAE,OAAO;EACnE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8CAA8C;EAC5E,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B;EAC1D,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClG,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0EAA0E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC5H,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC7F,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,2DAA2D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACjH,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/F,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtH,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtH,CAAC,CAAC,CAAC,SAAS,0DAOF;AACV,CAAC"}
@@ -0,0 +1,21 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/post-create-list.ts
4
+ const SendfoxPostCreateListInput = zod.z.object({ name: zod.z.string().describe("Name of the contact list to create") }).describe("Request schema for creating a new contact list.");
5
+ const SendfoxPostCreateListOutput = zod.z.object({
6
+ id: zod.z.number().int().describe("Unique identifier of the newly created list."),
7
+ name: zod.z.string().describe("Name of the created list."),
8
+ created_at: zod.z.string().describe("Date/time the list was created in ISO 8601 format.").nullable().optional(),
9
+ contact_count: zod.z.number().int().describe("Number of contacts in the list (typically 0 for new lists).").nullable().optional()
10
+ }).describe("Response schema for the newly created contact list.");
11
+ const sendfoxPostCreateList = require_action.action("SENDFOX_POST_CREATE_LIST", {
12
+ slug: "sendfox-post-create-list",
13
+ name: "Create List",
14
+ description: "Create a new contact list in your SendFox account. Use this tool when you need to: - Create a new mailing list for organizing contacts - Set up a list before adding subscribers to it - Segment your audience by creating topic-specific lists The list will be created with 0 contacts initially. After creation, use other SendFox actions to add contacts to this list. Returns the created list's ID, name, and metadata.",
15
+ input: SendfoxPostCreateListInput,
16
+ output: SendfoxPostCreateListOutput
17
+ });
18
+ //#endregion
19
+ exports.sendfoxPostCreateList = sendfoxPostCreateList;
20
+
21
+ //# sourceMappingURL=post-create-list.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-create-list.cjs","names":["z","action"],"sources":["../../src/actions/post-create-list.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SendfoxPostCreateListInput: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Name of the contact list to create\"),\n}).describe(\"Request schema for creating a new contact list.\");\nexport const SendfoxPostCreateListOutput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Unique identifier of the newly created list.\"),\n name: z.string().describe(\"Name of the created list.\"),\n created_at: z.string().describe(\"Date/time the list was created in ISO 8601 format.\").nullable().optional(),\n contact_count: z.number().int().describe(\"Number of contacts in the list (typically 0 for new lists).\").nullable().optional(),\n}).describe(\"Response schema for the newly created contact list.\");\n\nexport const sendfoxPostCreateList = action(\"SENDFOX_POST_CREATE_LIST\", {\n slug: \"sendfox-post-create-list\",\n name: \"Create List\",\n description: \"Create a new contact list in your SendFox account. Use this tool when you need to: - Create a new mailing list for organizing contacts - Set up a list before adding subscribers to it - Segment your audience by creating topic-specific lists The list will be created with 0 contacts initially. After creation, use other SendFox actions to add contacts to this list. Returns the created list's ID, name, and metadata.\",\n input: SendfoxPostCreateListInput,\n output: SendfoxPostCreateListOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA2CA,IAAAA,EAAE,OAAO,EAC/D,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,EAChE,CAAC,CAAC,CAAC,SAAS,iDAAiD;AAC7D,MAAa,8BAA4CA,IAAAA,EAAE,OAAO;CAChE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8CAA8C;CAC5E,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B;CACrD,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1G,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC9H,CAAC,CAAC,CAAC,SAAS,qDAAqD;AAEjE,MAAa,wBAAwBC,eAAAA,OAAO,4BAA4B;CACtE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/post-create-list.d.ts
4
+ declare const SendfoxPostCreateListInput: z.ZodTypeAny;
5
+ declare const SendfoxPostCreateListOutput: z.ZodTypeAny;
6
+ declare const sendfoxPostCreateList: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { sendfoxPostCreateList };
9
+ //# sourceMappingURL=post-create-list.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-create-list.d.cts","names":[],"sources":["../../src/actions/post-create-list.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAEmB;AAAA,cACjD,2BAAA,EAA6B,CAAA,CAAE,UAKsB;AAAA,cAErD,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/post-create-list.d.ts
4
+ declare const SendfoxPostCreateListInput: z.ZodTypeAny;
5
+ declare const SendfoxPostCreateListOutput: z.ZodTypeAny;
6
+ declare const sendfoxPostCreateList: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { sendfoxPostCreateList };
9
+ //# sourceMappingURL=post-create-list.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-create-list.d.mts","names":[],"sources":["../../src/actions/post-create-list.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAEmB;AAAA,cACjD,2BAAA,EAA6B,CAAA,CAAE,UAKsB;AAAA,cAErD,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,18 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const sendfoxPostCreateList = action("SENDFOX_POST_CREATE_LIST", {
4
+ slug: "sendfox-post-create-list",
5
+ name: "Create List",
6
+ description: "Create a new contact list in your SendFox account. Use this tool when you need to: - Create a new mailing list for organizing contacts - Set up a list before adding subscribers to it - Segment your audience by creating topic-specific lists The list will be created with 0 contacts initially. After creation, use other SendFox actions to add contacts to this list. Returns the created list's ID, name, and metadata.",
7
+ input: z.object({ name: z.string().describe("Name of the contact list to create") }).describe("Request schema for creating a new contact list."),
8
+ output: z.object({
9
+ id: z.number().int().describe("Unique identifier of the newly created list."),
10
+ name: z.string().describe("Name of the created list."),
11
+ created_at: z.string().describe("Date/time the list was created in ISO 8601 format.").nullable().optional(),
12
+ contact_count: z.number().int().describe("Number of contacts in the list (typically 0 for new lists).").nullable().optional()
13
+ }).describe("Response schema for the newly created contact list.")
14
+ });
15
+ //#endregion
16
+ export { sendfoxPostCreateList };
17
+
18
+ //# sourceMappingURL=post-create-list.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-create-list.mjs","names":[],"sources":["../../src/actions/post-create-list.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SendfoxPostCreateListInput: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Name of the contact list to create\"),\n}).describe(\"Request schema for creating a new contact list.\");\nexport const SendfoxPostCreateListOutput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Unique identifier of the newly created list.\"),\n name: z.string().describe(\"Name of the created list.\"),\n created_at: z.string().describe(\"Date/time the list was created in ISO 8601 format.\").nullable().optional(),\n contact_count: z.number().int().describe(\"Number of contacts in the list (typically 0 for new lists).\").nullable().optional(),\n}).describe(\"Response schema for the newly created contact list.\");\n\nexport const sendfoxPostCreateList = action(\"SENDFOX_POST_CREATE_LIST\", {\n slug: \"sendfox-post-create-list\",\n name: \"Create List\",\n description: \"Create a new contact list in your SendFox account. Use this tool when you need to: - Create a new mailing list for organizing contacts - Set up a list before adding subscribers to it - Segment your audience by creating topic-specific lists The list will be created with 0 contacts initially. After creation, use other SendFox actions to add contacts to this list. Returns the created list's ID, name, and metadata.\",\n input: SendfoxPostCreateListInput,\n output: SendfoxPostCreateListOutput,\n});\n"],"mappings":";;AAcA,MAAa,wBAAwB,OAAO,4BAA4B;CACtE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAdsD,EAAE,OAAO,EAC/D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,EAChE,CAAC,CAAC,CAAC,SAAS,iDAYH;CACP,QAZuD,EAAE,OAAO;EAChE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8CAA8C;EAC5E,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B;EACrD,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1G,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9H,CAAC,CAAC,CAAC,SAAS,qDAOF;AACV,CAAC"}
package/dist/app.cjs ADDED
@@ -0,0 +1,9 @@
1
+ //#region src/app.ts
2
+ const sendfox = (0, require("@keystrokehq/keystroke/app").defineApp)({
3
+ slug: "sendfox",
4
+ auth: "keystroke"
5
+ });
6
+ //#endregion
7
+ exports.sendfox = sendfox;
8
+
9
+ //# sourceMappingURL=app.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.cjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const sendfox = defineApp({\n slug: \"sendfox\",\n auth: \"keystroke\",\n});\n"],"mappings":";AAEA,MAAa,WAAA,uCAAA,CAAA,CAAA,UAAA,CAAoB;CAC/B,MAAM;CACN,MAAM;AACR,CAAC"}
package/dist/app.d.cts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const sendfox: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { sendfox };
5
+ //# sourceMappingURL=app.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,OAAA,6BAAO,GAAA,+BAAA,UAAA"}
package/dist/app.d.mts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const sendfox: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { sendfox };
5
+ //# sourceMappingURL=app.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,OAAA,6BAAO,GAAA,+BAAA,UAAA"}
package/dist/app.mjs ADDED
@@ -0,0 +1,10 @@
1
+ import { defineApp } from "@keystrokehq/keystroke/app";
2
+ //#region src/app.ts
3
+ const sendfox = defineApp({
4
+ slug: "sendfox",
5
+ auth: "keystroke"
6
+ });
7
+ //#endregion
8
+ export { sendfox };
9
+
10
+ //# sourceMappingURL=app.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.mjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const sendfox = defineApp({\n slug: \"sendfox\",\n auth: \"keystroke\",\n});\n"],"mappings":";;AAEA,MAAa,UAAU,UAAU;CAC/B,MAAM;CACN,MAAM;AACR,CAAC"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const sendfoxCatalog = {
4
+ "slug": "sendfox",
5
+ "name": "Sendfox",
6
+ "description": "Sendfox is an affordable email marketing platform for content creators. Manage contacts, create email campaigns, automate sequences, and grow your audience.",
7
+ "category": "Email Newsletters",
8
+ "logo": "https://logos.composio.dev/api/sendfox",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ exports.sendfoxCatalog = sendfoxCatalog;
14
+
15
+ //# sourceMappingURL=catalog.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.cjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const sendfoxCatalog = {\n \"slug\": \"sendfox\",\n \"name\": \"Sendfox\",\n \"description\": \"Sendfox is an affordable email marketing platform for content creators. Manage contacts, create email campaigns, automate sequences, and grow your audience.\",\n \"category\": \"Email Newsletters\",\n \"logo\": \"https://logos.composio.dev/api/sendfox\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,iBAAiB;CAC5B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const sendfoxCatalog: {
4
+ readonly slug: "sendfox";
5
+ readonly name: "Sendfox";
6
+ readonly description: "Sendfox is an affordable email marketing platform for content creators. Manage contacts, create email campaigns, automate sequences, and grow your audience.";
7
+ readonly category: "Email Newsletters";
8
+ readonly logo: "https://logos.composio.dev/api/sendfox";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { sendfoxCatalog };
14
+ //# sourceMappingURL=catalog.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.cts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,cAAA;EAAA"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const sendfoxCatalog: {
4
+ readonly slug: "sendfox";
5
+ readonly name: "Sendfox";
6
+ readonly description: "Sendfox is an affordable email marketing platform for content creators. Manage contacts, create email campaigns, automate sequences, and grow your audience.";
7
+ readonly category: "Email Newsletters";
8
+ readonly logo: "https://logos.composio.dev/api/sendfox";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { sendfoxCatalog };
14
+ //# sourceMappingURL=catalog.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.mts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,cAAA;EAAA"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const sendfoxCatalog = {
4
+ "slug": "sendfox",
5
+ "name": "Sendfox",
6
+ "description": "Sendfox is an affordable email marketing platform for content creators. Manage contacts, create email campaigns, automate sequences, and grow your audience.",
7
+ "category": "Email Newsletters",
8
+ "logo": "https://logos.composio.dev/api/sendfox",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ export { sendfoxCatalog };
14
+
15
+ //# sourceMappingURL=catalog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.mjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const sendfoxCatalog = {\n \"slug\": \"sendfox\",\n \"name\": \"Sendfox\",\n \"description\": \"Sendfox is an affordable email marketing platform for content creators. Manage contacts, create email campaigns, automate sequences, and grow your audience.\",\n \"category\": \"Email Newsletters\",\n \"logo\": \"https://logos.composio.dev/api/sendfox\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,iBAAiB;CAC5B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
@@ -0,0 +1,18 @@
1
+ let _keystrokehq_keystroke_client = require("@keystrokehq/keystroke/client");
2
+ //#region src/execute.ts
3
+ const APP_SLUG = "sendfox";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeSendfoxTool(tool, args) {
7
+ const { result } = await (0, _keystrokehq_keystroke_client.createKeystrokeClient)().tools.execute({
8
+ app: APP_SLUG,
9
+ tool,
10
+ arguments: args,
11
+ version: APP_VERSION
12
+ });
13
+ return result;
14
+ }
15
+ //#endregion
16
+ exports.executeSendfoxTool = executeSendfoxTool;
17
+
18
+ //# sourceMappingURL=execute.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.cjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"sendfox\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeSendfoxTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,mBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,OAAA,GAAA,8BAAA,sBAAA,CAA4B,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
@@ -0,0 +1,18 @@
1
+ import { createKeystrokeClient } from "@keystrokehq/keystroke/client";
2
+ //#region src/execute.ts
3
+ const APP_SLUG = "sendfox";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeSendfoxTool(tool, args) {
7
+ const { result } = await createKeystrokeClient().tools.execute({
8
+ app: APP_SLUG,
9
+ tool,
10
+ arguments: args,
11
+ version: APP_VERSION
12
+ });
13
+ return result;
14
+ }
15
+ //#endregion
16
+ export { executeSendfoxTool };
17
+
18
+ //# sourceMappingURL=execute.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.mjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"sendfox\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeSendfoxTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,mBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,MAAM,sBAAsB,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
package/dist/index.cjs ADDED
@@ -0,0 +1,40 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_app = require("./app.cjs");
3
+ const require_catalog = require("./catalog.cjs");
4
+ const require_delete_contact_from_list = require("./actions/delete-contact-from-list.cjs");
5
+ const require_get_automations = require("./actions/get-automations.cjs");
6
+ const require_get_campaign_by_id = require("./actions/get-campaign-by-id.cjs");
7
+ const require_get_campaigns = require("./actions/get-campaigns.cjs");
8
+ const require_get_contact_by_id = require("./actions/get-contact-by-id.cjs");
9
+ const require_get_contact_fields = require("./actions/get-contact-fields.cjs");
10
+ const require_get_contacts = require("./actions/get-contacts.cjs");
11
+ const require_get_contacts_in_list = require("./actions/get-contacts-in-list.cjs");
12
+ const require_get_current_user = require("./actions/get-current-user.cjs");
13
+ const require_get_forms = require("./actions/get-forms.cjs");
14
+ const require_get_list_by_id = require("./actions/get-list-by-id.cjs");
15
+ const require_get_lists = require("./actions/get-lists.cjs");
16
+ const require_list_contact_fields = require("./actions/list-contact-fields.cjs");
17
+ const require_list_unsubscribed_contacts = require("./actions/list-unsubscribed-contacts.cjs");
18
+ const require_patch_unsubscribe_contact = require("./actions/patch-unsubscribe-contact.cjs");
19
+ const require_post_create_contact = require("./actions/post-create-contact.cjs");
20
+ const require_post_create_list = require("./actions/post-create-list.cjs");
21
+ require("./actions/index.cjs");
22
+ exports.sendfox = require_app.sendfox;
23
+ exports.sendfoxCatalog = require_catalog.sendfoxCatalog;
24
+ exports.sendfoxDeleteContactFromList = require_delete_contact_from_list.sendfoxDeleteContactFromList;
25
+ exports.sendfoxGetAutomations = require_get_automations.sendfoxGetAutomations;
26
+ exports.sendfoxGetCampaignById = require_get_campaign_by_id.sendfoxGetCampaignById;
27
+ exports.sendfoxGetCampaigns = require_get_campaigns.sendfoxGetCampaigns;
28
+ exports.sendfoxGetContactById = require_get_contact_by_id.sendfoxGetContactById;
29
+ exports.sendfoxGetContactFields = require_get_contact_fields.sendfoxGetContactFields;
30
+ exports.sendfoxGetContacts = require_get_contacts.sendfoxGetContacts;
31
+ exports.sendfoxGetContactsInList = require_get_contacts_in_list.sendfoxGetContactsInList;
32
+ exports.sendfoxGetCurrentUser = require_get_current_user.sendfoxGetCurrentUser;
33
+ exports.sendfoxGetForms = require_get_forms.sendfoxGetForms;
34
+ exports.sendfoxGetListById = require_get_list_by_id.sendfoxGetListById;
35
+ exports.sendfoxGetLists = require_get_lists.sendfoxGetLists;
36
+ exports.sendfoxListContactFields = require_list_contact_fields.sendfoxListContactFields;
37
+ exports.sendfoxListUnsubscribedContacts = require_list_unsubscribed_contacts.sendfoxListUnsubscribedContacts;
38
+ exports.sendfoxPatchUnsubscribeContact = require_patch_unsubscribe_contact.sendfoxPatchUnsubscribeContact;
39
+ exports.sendfoxPostCreateContact = require_post_create_contact.sendfoxPostCreateContact;
40
+ exports.sendfoxPostCreateList = require_post_create_list.sendfoxPostCreateList;
@@ -0,0 +1,20 @@
1
+ import { sendfoxDeleteContactFromList } from "./actions/delete-contact-from-list.cjs";
2
+ import { sendfoxGetAutomations } from "./actions/get-automations.cjs";
3
+ import { sendfoxGetCampaignById } from "./actions/get-campaign-by-id.cjs";
4
+ import { sendfoxGetCampaigns } from "./actions/get-campaigns.cjs";
5
+ import { sendfoxGetContactById } from "./actions/get-contact-by-id.cjs";
6
+ import { sendfoxGetContactFields } from "./actions/get-contact-fields.cjs";
7
+ import { sendfoxGetContacts } from "./actions/get-contacts.cjs";
8
+ import { sendfoxGetContactsInList } from "./actions/get-contacts-in-list.cjs";
9
+ import { sendfoxGetCurrentUser } from "./actions/get-current-user.cjs";
10
+ import { sendfoxGetForms } from "./actions/get-forms.cjs";
11
+ import { sendfoxGetListById } from "./actions/get-list-by-id.cjs";
12
+ import { sendfoxGetLists } from "./actions/get-lists.cjs";
13
+ import { sendfoxListContactFields } from "./actions/list-contact-fields.cjs";
14
+ import { sendfoxListUnsubscribedContacts } from "./actions/list-unsubscribed-contacts.cjs";
15
+ import { sendfoxPatchUnsubscribeContact } from "./actions/patch-unsubscribe-contact.cjs";
16
+ import { sendfoxPostCreateContact } from "./actions/post-create-contact.cjs";
17
+ import { sendfoxPostCreateList } from "./actions/post-create-list.cjs";
18
+ import { sendfox } from "./app.cjs";
19
+ import { sendfoxCatalog } from "./catalog.cjs";
20
+ export { sendfox, sendfoxCatalog, sendfoxDeleteContactFromList, sendfoxGetAutomations, sendfoxGetCampaignById, sendfoxGetCampaigns, sendfoxGetContactById, sendfoxGetContactFields, sendfoxGetContacts, sendfoxGetContactsInList, sendfoxGetCurrentUser, sendfoxGetForms, sendfoxGetListById, sendfoxGetLists, sendfoxListContactFields, sendfoxListUnsubscribedContacts, sendfoxPatchUnsubscribeContact, sendfoxPostCreateContact, sendfoxPostCreateList };
@@ -0,0 +1,20 @@
1
+ import { sendfoxDeleteContactFromList } from "./actions/delete-contact-from-list.mjs";
2
+ import { sendfoxGetAutomations } from "./actions/get-automations.mjs";
3
+ import { sendfoxGetCampaignById } from "./actions/get-campaign-by-id.mjs";
4
+ import { sendfoxGetCampaigns } from "./actions/get-campaigns.mjs";
5
+ import { sendfoxGetContactById } from "./actions/get-contact-by-id.mjs";
6
+ import { sendfoxGetContactFields } from "./actions/get-contact-fields.mjs";
7
+ import { sendfoxGetContacts } from "./actions/get-contacts.mjs";
8
+ import { sendfoxGetContactsInList } from "./actions/get-contacts-in-list.mjs";
9
+ import { sendfoxGetCurrentUser } from "./actions/get-current-user.mjs";
10
+ import { sendfoxGetForms } from "./actions/get-forms.mjs";
11
+ import { sendfoxGetListById } from "./actions/get-list-by-id.mjs";
12
+ import { sendfoxGetLists } from "./actions/get-lists.mjs";
13
+ import { sendfoxListContactFields } from "./actions/list-contact-fields.mjs";
14
+ import { sendfoxListUnsubscribedContacts } from "./actions/list-unsubscribed-contacts.mjs";
15
+ import { sendfoxPatchUnsubscribeContact } from "./actions/patch-unsubscribe-contact.mjs";
16
+ import { sendfoxPostCreateContact } from "./actions/post-create-contact.mjs";
17
+ import { sendfoxPostCreateList } from "./actions/post-create-list.mjs";
18
+ import { sendfox } from "./app.mjs";
19
+ import { sendfoxCatalog } from "./catalog.mjs";
20
+ export { sendfox, sendfoxCatalog, sendfoxDeleteContactFromList, sendfoxGetAutomations, sendfoxGetCampaignById, sendfoxGetCampaigns, sendfoxGetContactById, sendfoxGetContactFields, sendfoxGetContacts, sendfoxGetContactsInList, sendfoxGetCurrentUser, sendfoxGetForms, sendfoxGetListById, sendfoxGetLists, sendfoxListContactFields, sendfoxListUnsubscribedContacts, sendfoxPatchUnsubscribeContact, sendfoxPostCreateContact, sendfoxPostCreateList };
package/dist/index.mjs ADDED
@@ -0,0 +1,21 @@
1
+ import { sendfox } from "./app.mjs";
2
+ import { sendfoxCatalog } from "./catalog.mjs";
3
+ import { sendfoxDeleteContactFromList } from "./actions/delete-contact-from-list.mjs";
4
+ import { sendfoxGetAutomations } from "./actions/get-automations.mjs";
5
+ import { sendfoxGetCampaignById } from "./actions/get-campaign-by-id.mjs";
6
+ import { sendfoxGetCampaigns } from "./actions/get-campaigns.mjs";
7
+ import { sendfoxGetContactById } from "./actions/get-contact-by-id.mjs";
8
+ import { sendfoxGetContactFields } from "./actions/get-contact-fields.mjs";
9
+ import { sendfoxGetContacts } from "./actions/get-contacts.mjs";
10
+ import { sendfoxGetContactsInList } from "./actions/get-contacts-in-list.mjs";
11
+ import { sendfoxGetCurrentUser } from "./actions/get-current-user.mjs";
12
+ import { sendfoxGetForms } from "./actions/get-forms.mjs";
13
+ import { sendfoxGetListById } from "./actions/get-list-by-id.mjs";
14
+ import { sendfoxGetLists } from "./actions/get-lists.mjs";
15
+ import { sendfoxListContactFields } from "./actions/list-contact-fields.mjs";
16
+ import { sendfoxListUnsubscribedContacts } from "./actions/list-unsubscribed-contacts.mjs";
17
+ import { sendfoxPatchUnsubscribeContact } from "./actions/patch-unsubscribe-contact.mjs";
18
+ import { sendfoxPostCreateContact } from "./actions/post-create-contact.mjs";
19
+ import { sendfoxPostCreateList } from "./actions/post-create-list.mjs";
20
+ import "./actions/index.mjs";
21
+ export { sendfox, sendfoxCatalog, sendfoxDeleteContactFromList, sendfoxGetAutomations, sendfoxGetCampaignById, sendfoxGetCampaigns, sendfoxGetContactById, sendfoxGetContactFields, sendfoxGetContacts, sendfoxGetContactsInList, sendfoxGetCurrentUser, sendfoxGetForms, sendfoxGetListById, sendfoxGetLists, sendfoxListContactFields, sendfoxListUnsubscribedContacts, sendfoxPatchUnsubscribeContact, sendfoxPostCreateContact, sendfoxPostCreateList };
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@keystrokehq/sendfox",
3
+ "version": "0.1.0",
4
+ "publishConfig": {
5
+ "access": "public",
6
+ "registry": "https://registry.npmjs.org"
7
+ },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/keystrokehq/keystroke.git",
11
+ "directory": "packages/integrations/sendfox"
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "sideEffects": false,
17
+ "type": "module",
18
+ "main": "./dist/index.cjs",
19
+ "module": "./dist/index.mjs",
20
+ "types": "./dist/index.d.mts",
21
+ "exports": {
22
+ ".": {
23
+ "types": "./dist/index.d.mts",
24
+ "import": "./dist/index.mjs",
25
+ "require": "./dist/index.cjs"
26
+ },
27
+ "./actions": {
28
+ "types": "./dist/actions/index.d.mts",
29
+ "import": "./dist/actions/index.mjs",
30
+ "require": "./dist/actions/index.cjs"
31
+ }
32
+ },
33
+ "peerDependencies": {
34
+ "@keystrokehq/keystroke": "^0.1.4",
35
+ "zod": "^4.4.3"
36
+ },
37
+ "devDependencies": {
38
+ "@keystrokehq/keystroke": "link:../../keystroke",
39
+ "@types/node": "^25.9.1",
40
+ "tsdown": "^0.22.0",
41
+ "typescript": "^6.0.3",
42
+ "zod": "^4.4.3"
43
+ },
44
+ "scripts": {
45
+ "build": "tsdown",
46
+ "dev": "tsdown --watch --no-clean",
47
+ "typecheck": "tsc --noEmit"
48
+ }
49
+ }