@keystrokehq/satismeter 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 (74) 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/embed-survey.cjs +21 -0
  7. package/dist/actions/embed-survey.cjs.map +1 -0
  8. package/dist/actions/embed-survey.d.cts +9 -0
  9. package/dist/actions/embed-survey.d.cts.map +1 -0
  10. package/dist/actions/embed-survey.d.mts +9 -0
  11. package/dist/actions/embed-survey.d.mts.map +1 -0
  12. package/dist/actions/embed-survey.mjs +18 -0
  13. package/dist/actions/embed-survey.mjs.map +1 -0
  14. package/dist/actions/get-unsubscribed-emails.cjs +22 -0
  15. package/dist/actions/get-unsubscribed-emails.cjs.map +1 -0
  16. package/dist/actions/get-unsubscribed-emails.d.cts +9 -0
  17. package/dist/actions/get-unsubscribed-emails.d.cts.map +1 -0
  18. package/dist/actions/get-unsubscribed-emails.d.mts +9 -0
  19. package/dist/actions/get-unsubscribed-emails.d.mts.map +1 -0
  20. package/dist/actions/get-unsubscribed-emails.mjs +21 -0
  21. package/dist/actions/get-unsubscribed-emails.mjs.map +1 -0
  22. package/dist/actions/index.cjs +11 -0
  23. package/dist/actions/index.d.cts +6 -0
  24. package/dist/actions/index.d.mts +6 -0
  25. package/dist/actions/index.mjs +6 -0
  26. package/dist/actions/list-surveys.cjs +22 -0
  27. package/dist/actions/list-surveys.cjs.map +1 -0
  28. package/dist/actions/list-surveys.d.cts +9 -0
  29. package/dist/actions/list-surveys.d.cts.map +1 -0
  30. package/dist/actions/list-surveys.d.mts +9 -0
  31. package/dist/actions/list-surveys.d.mts.map +1 -0
  32. package/dist/actions/list-surveys.mjs +21 -0
  33. package/dist/actions/list-surveys.mjs.map +1 -0
  34. package/dist/actions/list-users.cjs +30 -0
  35. package/dist/actions/list-users.cjs.map +1 -0
  36. package/dist/actions/list-users.d.cts +9 -0
  37. package/dist/actions/list-users.d.cts.map +1 -0
  38. package/dist/actions/list-users.d.mts +9 -0
  39. package/dist/actions/list-users.d.mts.map +1 -0
  40. package/dist/actions/list-users.mjs +29 -0
  41. package/dist/actions/list-users.mjs.map +1 -0
  42. package/dist/actions/update-unsubscribed-emails.cjs +23 -0
  43. package/dist/actions/update-unsubscribed-emails.cjs.map +1 -0
  44. package/dist/actions/update-unsubscribed-emails.d.cts +9 -0
  45. package/dist/actions/update-unsubscribed-emails.d.cts.map +1 -0
  46. package/dist/actions/update-unsubscribed-emails.d.mts +9 -0
  47. package/dist/actions/update-unsubscribed-emails.d.mts.map +1 -0
  48. package/dist/actions/update-unsubscribed-emails.mjs +20 -0
  49. package/dist/actions/update-unsubscribed-emails.mjs.map +1 -0
  50. package/dist/app.cjs +9 -0
  51. package/dist/app.cjs.map +1 -0
  52. package/dist/app.d.cts +5 -0
  53. package/dist/app.d.cts.map +1 -0
  54. package/dist/app.d.mts +5 -0
  55. package/dist/app.d.mts.map +1 -0
  56. package/dist/app.mjs +10 -0
  57. package/dist/app.mjs.map +1 -0
  58. package/dist/catalog.cjs +15 -0
  59. package/dist/catalog.cjs.map +1 -0
  60. package/dist/catalog.d.cts +14 -0
  61. package/dist/catalog.d.cts.map +1 -0
  62. package/dist/catalog.d.mts +14 -0
  63. package/dist/catalog.d.mts.map +1 -0
  64. package/dist/catalog.mjs +15 -0
  65. package/dist/catalog.mjs.map +1 -0
  66. package/dist/execute.cjs +18 -0
  67. package/dist/execute.cjs.map +1 -0
  68. package/dist/execute.mjs +18 -0
  69. package/dist/execute.mjs.map +1 -0
  70. package/dist/index.cjs +16 -0
  71. package/dist/index.d.cts +8 -0
  72. package/dist/index.d.mts +8 -0
  73. package/dist/index.mjs +9 -0
  74. package/package.json +49 -0
package/README.md ADDED
@@ -0,0 +1,17 @@
1
+ # @keystrokehq/satismeter
2
+
3
+ Keystroke-managed integration.
4
+
5
+ **App:** `satismeter`
6
+ **Version:** `20260615_00`
7
+ **Actions:** 5
8
+
9
+ ```ts
10
+ import { defineAgent } from "@keystrokehq/keystroke/agent";
11
+ import { satismeterEmbedSurvey } from "@keystrokehq/satismeter/actions";
12
+
13
+ export default defineAgent({
14
+ key: "satismeter-agent",
15
+ tools: [satismeterEmbedSurvey],
16
+ });
17
+ ```
@@ -0,0 +1,21 @@
1
+ const require_app = require("./app.cjs");
2
+ const require_execute = require("./execute.cjs");
3
+ require("zod");
4
+ //#region src/action.ts
5
+ /** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */
6
+ function action(tool, def) {
7
+ return require_app.satismeter.action({
8
+ slug: def.slug,
9
+ name: def.name,
10
+ description: def.description,
11
+ input: def.input,
12
+ output: def.output,
13
+ async run(input) {
14
+ return def.output.parse(await require_execute.executeSatismeterTool(tool, input));
15
+ }
16
+ });
17
+ }
18
+ //#endregion
19
+ exports.action = action;
20
+
21
+ //# sourceMappingURL=action.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.cjs","names":["satismeter","executeSatismeterTool"],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { satismeter } from \"./app\";\nimport { executeSatismeterTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: z.ZodTypeAny;\n output: z.ZodTypeAny;\n },\n) {\n return satismeter.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output,\n async run(input) {\n return def.output.parse(await executeSatismeterTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAOA,YAAAA,WAAW,OAAO;EACvB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAMC,gBAAAA,sBAAsB,MAAM,KAAgC,CAAC;EAC7F;CACF,CAAC;AACH"}
@@ -0,0 +1,21 @@
1
+ import { satismeter } from "./app.mjs";
2
+ import { executeSatismeterTool } from "./execute.mjs";
3
+ import "zod";
4
+ //#region src/action.ts
5
+ /** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */
6
+ function action(tool, def) {
7
+ return satismeter.action({
8
+ slug: def.slug,
9
+ name: def.name,
10
+ description: def.description,
11
+ input: def.input,
12
+ output: def.output,
13
+ async run(input) {
14
+ return def.output.parse(await executeSatismeterTool(tool, input));
15
+ }
16
+ });
17
+ }
18
+ //#endregion
19
+ export { action };
20
+
21
+ //# sourceMappingURL=action.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.mjs","names":[],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { satismeter } from \"./app\";\nimport { executeSatismeterTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: z.ZodTypeAny;\n output: z.ZodTypeAny;\n },\n) {\n return satismeter.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output,\n async run(input) {\n return def.output.parse(await executeSatismeterTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAO,WAAW,OAAO;EACvB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAM,sBAAsB,MAAM,KAAgC,CAAC;EAC7F;CACF,CAAC;AACH"}
@@ -0,0 +1,21 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/embed-survey.ts
4
+ const SatismeterEmbedSurveyInput = zod.z.object({
5
+ traits: zod.z.object({}).describe("Additional user profile information").optional(),
6
+ userId: zod.z.string().describe("Unique identifier for the user to target with the survey").optional(),
7
+ settings: zod.z.object({}).describe("Survey display settings including language and custom text").optional(),
8
+ writeKey: zod.z.string().describe("Project Write Key from SatisMeter")
9
+ }).describe("Request model for generating the embed survey JavaScript snippet.");
10
+ const SatismeterEmbedSurveyOutput = zod.z.object({ embed_code: zod.z.string().describe("HTML <script> block to embed the Satismeter survey") }).describe("Response model containing the embed code snippet.");
11
+ const satismeterEmbedSurvey = require_action.action("SATISMETER_EMBED_SURVEY", {
12
+ slug: "satismeter-embed-survey",
13
+ name: "Embed Survey",
14
+ description: "Tool to generate a JavaScript snippet to embed a SatisMeter survey. Use after configuring your project and obtaining your write key.",
15
+ input: SatismeterEmbedSurveyInput,
16
+ output: SatismeterEmbedSurveyOutput
17
+ });
18
+ //#endregion
19
+ exports.satismeterEmbedSurvey = satismeterEmbedSurvey;
20
+
21
+ //# sourceMappingURL=embed-survey.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed-survey.cjs","names":["z","action"],"sources":["../../src/actions/embed-survey.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SatismeterEmbedSurveyInput: z.ZodTypeAny = z.object({\n traits: z.object({}).describe(\"Additional user profile information\").optional(),\n userId: z.string().describe(\"Unique identifier for the user to target with the survey\").optional(),\n settings: z.object({}).describe(\"Survey display settings including language and custom text\").optional(),\n writeKey: z.string().describe(\"Project Write Key from SatisMeter\"),\n}).describe(\"Request model for generating the embed survey JavaScript snippet.\");\nexport const SatismeterEmbedSurveyOutput: z.ZodTypeAny = z.object({\n embed_code: z.string().describe(\"HTML <script> block to embed the Satismeter survey\"),\n}).describe(\"Response model containing the embed code snippet.\");\n\nexport const satismeterEmbedSurvey = action(\"SATISMETER_EMBED_SURVEY\", {\n slug: \"satismeter-embed-survey\",\n name: \"Embed Survey\",\n description: \"Tool to generate a JavaScript snippet to embed a SatisMeter survey. Use after configuring your project and obtaining your write key.\",\n input: SatismeterEmbedSurveyInput,\n output: SatismeterEmbedSurveyOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA2CA,IAAAA,EAAE,OAAO;CAC/D,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CAC9E,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CACjG,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;CACvG,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC;AACnE,CAAC,CAAC,CAAC,SAAS,mEAAmE;AAC/E,MAAa,8BAA4CA,IAAAA,EAAE,OAAO,EAChE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,EACtF,CAAC,CAAC,CAAC,SAAS,mDAAmD;AAE/D,MAAa,wBAAwBC,eAAAA,OAAO,2BAA2B;CACrE,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/embed-survey.d.ts
4
+ declare const SatismeterEmbedSurveyInput: z.ZodTypeAny;
5
+ declare const SatismeterEmbedSurveyOutput: z.ZodTypeAny;
6
+ declare const satismeterEmbedSurvey: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { satismeterEmbedSurvey };
9
+ //# sourceMappingURL=embed-survey.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed-survey.d.cts","names":[],"sources":["../../src/actions/embed-survey.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAKqC;AAAA,cACnE,2BAAA,EAA6B,CAAA,CAAE,UAEoB;AAAA,cAEnD,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/embed-survey.d.ts
4
+ declare const SatismeterEmbedSurveyInput: z.ZodTypeAny;
5
+ declare const SatismeterEmbedSurveyOutput: z.ZodTypeAny;
6
+ declare const satismeterEmbedSurvey: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { satismeterEmbedSurvey };
9
+ //# sourceMappingURL=embed-survey.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed-survey.d.mts","names":[],"sources":["../../src/actions/embed-survey.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAKqC;AAAA,cACnE,2BAAA,EAA6B,CAAA,CAAE,UAEoB;AAAA,cAEnD,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 satismeterEmbedSurvey = action("SATISMETER_EMBED_SURVEY", {
4
+ slug: "satismeter-embed-survey",
5
+ name: "Embed Survey",
6
+ description: "Tool to generate a JavaScript snippet to embed a SatisMeter survey. Use after configuring your project and obtaining your write key.",
7
+ input: z.object({
8
+ traits: z.object({}).describe("Additional user profile information").optional(),
9
+ userId: z.string().describe("Unique identifier for the user to target with the survey").optional(),
10
+ settings: z.object({}).describe("Survey display settings including language and custom text").optional(),
11
+ writeKey: z.string().describe("Project Write Key from SatisMeter")
12
+ }).describe("Request model for generating the embed survey JavaScript snippet."),
13
+ output: z.object({ embed_code: z.string().describe("HTML <script> block to embed the Satismeter survey") }).describe("Response model containing the embed code snippet.")
14
+ });
15
+ //#endregion
16
+ export { satismeterEmbedSurvey };
17
+
18
+ //# sourceMappingURL=embed-survey.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed-survey.mjs","names":[],"sources":["../../src/actions/embed-survey.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SatismeterEmbedSurveyInput: z.ZodTypeAny = z.object({\n traits: z.object({}).describe(\"Additional user profile information\").optional(),\n userId: z.string().describe(\"Unique identifier for the user to target with the survey\").optional(),\n settings: z.object({}).describe(\"Survey display settings including language and custom text\").optional(),\n writeKey: z.string().describe(\"Project Write Key from SatisMeter\"),\n}).describe(\"Request model for generating the embed survey JavaScript snippet.\");\nexport const SatismeterEmbedSurveyOutput: z.ZodTypeAny = z.object({\n embed_code: z.string().describe(\"HTML <script> block to embed the Satismeter survey\"),\n}).describe(\"Response model containing the embed code snippet.\");\n\nexport const satismeterEmbedSurvey = action(\"SATISMETER_EMBED_SURVEY\", {\n slug: \"satismeter-embed-survey\",\n name: \"Embed Survey\",\n description: \"Tool to generate a JavaScript snippet to embed a SatisMeter survey. Use after configuring your project and obtaining your write key.\",\n input: SatismeterEmbedSurveyInput,\n output: SatismeterEmbedSurveyOutput,\n});\n"],"mappings":";;AAcA,MAAa,wBAAwB,OAAO,2BAA2B;CACrE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAdsD,EAAE,OAAO;EAC/D,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;EAC9E,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EACjG,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;EACvG,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC;CACnE,CAAC,CAAC,CAAC,SAAS,mEASH;CACP,QATuD,EAAE,OAAO,EAChE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,EACtF,CAAC,CAAC,CAAC,SAAS,mDAOF;AACV,CAAC"}
@@ -0,0 +1,22 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/get-unsubscribed-emails.ts
4
+ const SatismeterGetUnsubscribedEmailsInput = zod.z.object({ project_id: zod.z.string().describe("Unique ID of the project to retrieve unsubscribed emails for. This is the Project ID found in Settings > Integrations > API in your SatisMeter dashboard (24-character MongoDB ObjectID format, e.g., '68877a5547d1914b110d41bd').") }).describe("Request model for retrieving unsubscribed emails for a Satismeter project.");
5
+ const SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseAttributesSchema = zod.z.object({ emails: zod.z.array(zod.z.string()).describe("List of unsubscribed email addresses.").nullable().optional() }).describe("Attributes containing the list of unsubscribed emails.");
6
+ const SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseDataSchema = zod.z.object({
7
+ id: zod.z.string().describe("The project ID."),
8
+ type: zod.z.string().describe("The resource type (always 'project-unsubscribes')."),
9
+ attributes: SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseAttributesSchema.nullable()
10
+ }).describe("Data container for the unsubscribed emails response.");
11
+ const SatismeterGetUnsubscribedEmailsOutput = zod.z.object({ data: SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseDataSchema.nullable() }).describe("Response model containing the list of unsubscribed emails in JSON:API format.");
12
+ const satismeterGetUnsubscribedEmails = require_action.action("SATISMETER_GET_UNSUBSCRIBED_EMAILS", {
13
+ slug: "satismeter-get-unsubscribed-emails",
14
+ name: "Get Unsubscribed Emails",
15
+ description: "Tool to retrieve list of unsubscribed emails for a project. Use when you need to fetch emails that have opted out of surveys.",
16
+ input: SatismeterGetUnsubscribedEmailsInput,
17
+ output: SatismeterGetUnsubscribedEmailsOutput
18
+ });
19
+ //#endregion
20
+ exports.satismeterGetUnsubscribedEmails = satismeterGetUnsubscribedEmails;
21
+
22
+ //# sourceMappingURL=get-unsubscribed-emails.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-unsubscribed-emails.cjs","names":["z","action"],"sources":["../../src/actions/get-unsubscribed-emails.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SatismeterGetUnsubscribedEmailsInput: z.ZodTypeAny = z.object({\n project_id: z.string().describe(\"Unique ID of the project to retrieve unsubscribed emails for. This is the Project ID found in Settings > Integrations > API in your SatisMeter dashboard (24-character MongoDB ObjectID format, e.g., '68877a5547d1914b110d41bd').\"),\n}).describe(\"Request model for retrieving unsubscribed emails for a Satismeter project.\");\nconst SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseAttributesSchema: z.ZodTypeAny = z.object({\n emails: z.array(z.string()).describe(\"List of unsubscribed email addresses.\").nullable().optional(),\n}).describe(\"Attributes containing the list of unsubscribed emails.\");\nconst SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseDataSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"The project ID.\"),\n type: z.string().describe(\"The resource type (always 'project-unsubscribes').\"),\n attributes: SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseAttributesSchema.nullable(),\n}).describe(\"Data container for the unsubscribed emails response.\");\nexport const SatismeterGetUnsubscribedEmailsOutput: z.ZodTypeAny = z.object({\n data: SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseDataSchema.nullable(),\n}).describe(\"Response model containing the list of unsubscribed emails in JSON:API format.\");\n\nexport const satismeterGetUnsubscribedEmails = action(\"SATISMETER_GET_UNSUBSCRIBED_EMAILS\", {\n slug: \"satismeter-get-unsubscribed-emails\",\n name: \"Get Unsubscribed Emails\",\n description: \"Tool to retrieve list of unsubscribed emails for a project. Use when you need to fetch emails that have opted out of surveys.\",\n input: SatismeterGetUnsubscribedEmailsInput,\n output: SatismeterGetUnsubscribedEmailsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,uCAAqDA,IAAAA,EAAE,OAAO,EACzE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oOAAoO,EACtQ,CAAC,CAAC,CAAC,SAAS,4EAA4E;AACxF,MAAM,gFAA8FA,IAAAA,EAAE,OAAO,EAC3G,QAAQA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EACpG,CAAC,CAAC,CAAC,SAAS,wDAAwD;AACpE,MAAM,0EAAwFA,IAAAA,EAAE,OAAO;CACrG,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iBAAiB;CACzC,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD;CAC9E,YAAY,8EAA8E,SAAS;AACrG,CAAC,CAAC,CAAC,SAAS,sDAAsD;AAClE,MAAa,wCAAsDA,IAAAA,EAAE,OAAO,EAC1E,MAAM,wEAAwE,SAAS,EACzF,CAAC,CAAC,CAAC,SAAS,+EAA+E;AAE3F,MAAa,kCAAkCC,eAAAA,OAAO,sCAAsC;CAC1F,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/get-unsubscribed-emails.d.ts
4
+ declare const SatismeterGetUnsubscribedEmailsInput: z.ZodTypeAny;
5
+ declare const SatismeterGetUnsubscribedEmailsOutput: z.ZodTypeAny;
6
+ declare const satismeterGetUnsubscribedEmails: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { satismeterGetUnsubscribedEmails };
9
+ //# sourceMappingURL=get-unsubscribed-emails.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-unsubscribed-emails.d.cts","names":[],"sources":["../../src/actions/get-unsubscribed-emails.ts"],"mappings":";;;cAIa,oCAAA,EAAsC,CAAA,CAAE,UAEoC;AAAA,cAS5E,qCAAA,EAAuC,CAAA,CAAE,UAEsC;AAAA,cAE/E,+BAAA,gCAA+B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/get-unsubscribed-emails.d.ts
4
+ declare const SatismeterGetUnsubscribedEmailsInput: z.ZodTypeAny;
5
+ declare const SatismeterGetUnsubscribedEmailsOutput: z.ZodTypeAny;
6
+ declare const satismeterGetUnsubscribedEmails: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { satismeterGetUnsubscribedEmails };
9
+ //# sourceMappingURL=get-unsubscribed-emails.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-unsubscribed-emails.d.mts","names":[],"sources":["../../src/actions/get-unsubscribed-emails.ts"],"mappings":";;;cAIa,oCAAA,EAAsC,CAAA,CAAE,UAEoC;AAAA,cAS5E,qCAAA,EAAuC,CAAA,CAAE,UAEsC;AAAA,cAE/E,+BAAA,gCAA+B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,21 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/get-unsubscribed-emails.ts
4
+ const SatismeterGetUnsubscribedEmailsInput = z.object({ project_id: z.string().describe("Unique ID of the project to retrieve unsubscribed emails for. This is the Project ID found in Settings > Integrations > API in your SatisMeter dashboard (24-character MongoDB ObjectID format, e.g., '68877a5547d1914b110d41bd').") }).describe("Request model for retrieving unsubscribed emails for a Satismeter project.");
5
+ const SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseAttributesSchema = z.object({ emails: z.array(z.string()).describe("List of unsubscribed email addresses.").nullable().optional() }).describe("Attributes containing the list of unsubscribed emails.");
6
+ const SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseDataSchema = z.object({
7
+ id: z.string().describe("The project ID."),
8
+ type: z.string().describe("The resource type (always 'project-unsubscribes')."),
9
+ attributes: SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseAttributesSchema.nullable()
10
+ }).describe("Data container for the unsubscribed emails response.");
11
+ const satismeterGetUnsubscribedEmails = action("SATISMETER_GET_UNSUBSCRIBED_EMAILS", {
12
+ slug: "satismeter-get-unsubscribed-emails",
13
+ name: "Get Unsubscribed Emails",
14
+ description: "Tool to retrieve list of unsubscribed emails for a project. Use when you need to fetch emails that have opted out of surveys.",
15
+ input: SatismeterGetUnsubscribedEmailsInput,
16
+ output: z.object({ data: SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseDataSchema.nullable() }).describe("Response model containing the list of unsubscribed emails in JSON:API format.")
17
+ });
18
+ //#endregion
19
+ export { satismeterGetUnsubscribedEmails };
20
+
21
+ //# sourceMappingURL=get-unsubscribed-emails.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-unsubscribed-emails.mjs","names":[],"sources":["../../src/actions/get-unsubscribed-emails.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SatismeterGetUnsubscribedEmailsInput: z.ZodTypeAny = z.object({\n project_id: z.string().describe(\"Unique ID of the project to retrieve unsubscribed emails for. This is the Project ID found in Settings > Integrations > API in your SatisMeter dashboard (24-character MongoDB ObjectID format, e.g., '68877a5547d1914b110d41bd').\"),\n}).describe(\"Request model for retrieving unsubscribed emails for a Satismeter project.\");\nconst SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseAttributesSchema: z.ZodTypeAny = z.object({\n emails: z.array(z.string()).describe(\"List of unsubscribed email addresses.\").nullable().optional(),\n}).describe(\"Attributes containing the list of unsubscribed emails.\");\nconst SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseDataSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"The project ID.\"),\n type: z.string().describe(\"The resource type (always 'project-unsubscribes').\"),\n attributes: SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseAttributesSchema.nullable(),\n}).describe(\"Data container for the unsubscribed emails response.\");\nexport const SatismeterGetUnsubscribedEmailsOutput: z.ZodTypeAny = z.object({\n data: SatismeterGetUnsubscribedEmails_GetUnsubscribedEmailsResponseDataSchema.nullable(),\n}).describe(\"Response model containing the list of unsubscribed emails in JSON:API format.\");\n\nexport const satismeterGetUnsubscribedEmails = action(\"SATISMETER_GET_UNSUBSCRIBED_EMAILS\", {\n slug: \"satismeter-get-unsubscribed-emails\",\n name: \"Get Unsubscribed Emails\",\n description: \"Tool to retrieve list of unsubscribed emails for a project. Use when you need to fetch emails that have opted out of surveys.\",\n input: SatismeterGetUnsubscribedEmailsInput,\n output: SatismeterGetUnsubscribedEmailsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,uCAAqD,EAAE,OAAO,EACzE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oOAAoO,EACtQ,CAAC,CAAC,CAAC,SAAS,4EAA4E;AACxF,MAAM,gFAA8F,EAAE,OAAO,EAC3G,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EACpG,CAAC,CAAC,CAAC,SAAS,wDAAwD;AACpE,MAAM,0EAAwF,EAAE,OAAO;CACrG,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,iBAAiB;CACzC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD;CAC9E,YAAY,8EAA8E,SAAS;AACrG,CAAC,CAAC,CAAC,SAAS,sDAAsD;AAKlE,MAAa,kCAAkC,OAAO,sCAAsC;CAC1F,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QATiE,EAAE,OAAO,EAC1E,MAAM,wEAAwE,SAAS,EACzF,CAAC,CAAC,CAAC,SAAS,+EAOF;AACV,CAAC"}
@@ -0,0 +1,11 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_embed_survey = require("./embed-survey.cjs");
3
+ const require_get_unsubscribed_emails = require("./get-unsubscribed-emails.cjs");
4
+ const require_list_surveys = require("./list-surveys.cjs");
5
+ const require_list_users = require("./list-users.cjs");
6
+ const require_update_unsubscribed_emails = require("./update-unsubscribed-emails.cjs");
7
+ exports.satismeterEmbedSurvey = require_embed_survey.satismeterEmbedSurvey;
8
+ exports.satismeterGetUnsubscribedEmails = require_get_unsubscribed_emails.satismeterGetUnsubscribedEmails;
9
+ exports.satismeterListSurveys = require_list_surveys.satismeterListSurveys;
10
+ exports.satismeterListUsers = require_list_users.satismeterListUsers;
11
+ exports.satismeterUpdateUnsubscribedEmails = require_update_unsubscribed_emails.satismeterUpdateUnsubscribedEmails;
@@ -0,0 +1,6 @@
1
+ import { satismeterEmbedSurvey } from "./embed-survey.cjs";
2
+ import { satismeterGetUnsubscribedEmails } from "./get-unsubscribed-emails.cjs";
3
+ import { satismeterListSurveys } from "./list-surveys.cjs";
4
+ import { satismeterListUsers } from "./list-users.cjs";
5
+ import { satismeterUpdateUnsubscribedEmails } from "./update-unsubscribed-emails.cjs";
6
+ export { satismeterEmbedSurvey, satismeterGetUnsubscribedEmails, satismeterListSurveys, satismeterListUsers, satismeterUpdateUnsubscribedEmails };
@@ -0,0 +1,6 @@
1
+ import { satismeterEmbedSurvey } from "./embed-survey.mjs";
2
+ import { satismeterGetUnsubscribedEmails } from "./get-unsubscribed-emails.mjs";
3
+ import { satismeterListSurveys } from "./list-surveys.mjs";
4
+ import { satismeterListUsers } from "./list-users.mjs";
5
+ import { satismeterUpdateUnsubscribedEmails } from "./update-unsubscribed-emails.mjs";
6
+ export { satismeterEmbedSurvey, satismeterGetUnsubscribedEmails, satismeterListSurveys, satismeterListUsers, satismeterUpdateUnsubscribedEmails };
@@ -0,0 +1,6 @@
1
+ import { satismeterEmbedSurvey } from "./embed-survey.mjs";
2
+ import { satismeterGetUnsubscribedEmails } from "./get-unsubscribed-emails.mjs";
3
+ import { satismeterListSurveys } from "./list-surveys.mjs";
4
+ import { satismeterListUsers } from "./list-users.mjs";
5
+ import { satismeterUpdateUnsubscribedEmails } from "./update-unsubscribed-emails.mjs";
6
+ export { satismeterEmbedSurvey, satismeterGetUnsubscribedEmails, satismeterListSurveys, satismeterListUsers, satismeterUpdateUnsubscribedEmails };
@@ -0,0 +1,22 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/list-surveys.ts
4
+ const SatismeterListSurveysInput = zod.z.object({ project: zod.z.string().describe("SatisMeter project ID (24-character hex string). Obtain from your connected SatisMeter account or from the SatisMeter dashboard under Project Settings. Do not use project names.") }).describe("Request model for listing surveys (campaigns) in a SatisMeter project.");
5
+ const SatismeterListSurveys_ListSurveysResponseDataSchema = zod.z.object({
6
+ id: zod.z.string().describe("Unique identifier of the survey (campaign)"),
7
+ name: zod.z.string().describe("Name of the survey (campaign)"),
8
+ type: zod.z.string().describe("Survey template type (nps, ces, csat, pmf, or custom)").nullable().optional(),
9
+ state: zod.z.string().describe("Current survey status (live, paused, or draft)").nullable().optional()
10
+ });
11
+ const SatismeterListSurveysOutput = zod.z.object({ data: zod.z.array(SatismeterListSurveys_ListSurveysResponseDataSchema).describe("List of surveys (campaigns)") });
12
+ const satismeterListSurveys = require_action.action("SATISMETER_LIST_SURVEYS", {
13
+ slug: "satismeter-list-surveys",
14
+ name: "List Surveys",
15
+ description: "Tool to list surveys (campaigns) in a project. Use when you have a valid project ID and need to retrieve its surveys.",
16
+ input: SatismeterListSurveysInput,
17
+ output: SatismeterListSurveysOutput
18
+ });
19
+ //#endregion
20
+ exports.satismeterListSurveys = satismeterListSurveys;
21
+
22
+ //# sourceMappingURL=list-surveys.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-surveys.cjs","names":["z","action"],"sources":["../../src/actions/list-surveys.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SatismeterListSurveysInput: z.ZodTypeAny = z.object({\n project: z.string().describe(\"SatisMeter project ID (24-character hex string). Obtain from your connected SatisMeter account or from the SatisMeter dashboard under Project Settings. Do not use project names.\"),\n}).describe(\"Request model for listing surveys (campaigns) in a SatisMeter project.\");\nconst SatismeterListSurveys_ListSurveysResponseDataSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the survey (campaign)\"),\n name: z.string().describe(\"Name of the survey (campaign)\"),\n type: z.string().describe(\"Survey template type (nps, ces, csat, pmf, or custom)\").nullable().optional(),\n state: z.string().describe(\"Current survey status (live, paused, or draft)\").nullable().optional(),\n});\nexport const SatismeterListSurveysOutput: z.ZodTypeAny = z.object({\n data: z.array(SatismeterListSurveys_ListSurveysResponseDataSchema).describe(\"List of surveys (campaigns)\"),\n});\n\nexport const satismeterListSurveys = action(\"SATISMETER_LIST_SURVEYS\", {\n slug: \"satismeter-list-surveys\",\n name: \"List Surveys\",\n description: \"Tool to list surveys (campaigns) in a project. Use when you have a valid project ID and need to retrieve its surveys.\",\n input: SatismeterListSurveysInput,\n output: SatismeterListSurveysOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA2CA,IAAAA,EAAE,OAAO,EAC/D,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mLAAmL,EAClN,CAAC,CAAC,CAAC,SAAS,wEAAwE;AACpF,MAAM,sDAAoEA,IAAAA,EAAE,OAAO;CACjF,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C;CACpE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B;CACzD,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvG,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACnG,CAAC;AACD,MAAa,8BAA4CA,IAAAA,EAAE,OAAO,EAChE,MAAMA,IAAAA,EAAE,MAAM,mDAAmD,CAAC,CAAC,SAAS,6BAA6B,EAC3G,CAAC;AAED,MAAa,wBAAwBC,eAAAA,OAAO,2BAA2B;CACrE,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/list-surveys.d.ts
4
+ declare const SatismeterListSurveysInput: z.ZodTypeAny;
5
+ declare const SatismeterListSurveysOutput: z.ZodTypeAny;
6
+ declare const satismeterListSurveys: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { satismeterListSurveys };
9
+ //# sourceMappingURL=list-surveys.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-surveys.d.cts","names":[],"sources":["../../src/actions/list-surveys.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAE0C;AAAA,cAOxE,2BAAA,EAA6B,CAAA,CAAE,UAE1C;AAAA,cAEW,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/list-surveys.d.ts
4
+ declare const SatismeterListSurveysInput: z.ZodTypeAny;
5
+ declare const SatismeterListSurveysOutput: z.ZodTypeAny;
6
+ declare const satismeterListSurveys: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { satismeterListSurveys };
9
+ //# sourceMappingURL=list-surveys.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-surveys.d.mts","names":[],"sources":["../../src/actions/list-surveys.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAE0C;AAAA,cAOxE,2BAAA,EAA6B,CAAA,CAAE,UAE1C;AAAA,cAEW,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,21 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/list-surveys.ts
4
+ const SatismeterListSurveysInput = z.object({ project: z.string().describe("SatisMeter project ID (24-character hex string). Obtain from your connected SatisMeter account or from the SatisMeter dashboard under Project Settings. Do not use project names.") }).describe("Request model for listing surveys (campaigns) in a SatisMeter project.");
5
+ const SatismeterListSurveys_ListSurveysResponseDataSchema = z.object({
6
+ id: z.string().describe("Unique identifier of the survey (campaign)"),
7
+ name: z.string().describe("Name of the survey (campaign)"),
8
+ type: z.string().describe("Survey template type (nps, ces, csat, pmf, or custom)").nullable().optional(),
9
+ state: z.string().describe("Current survey status (live, paused, or draft)").nullable().optional()
10
+ });
11
+ const satismeterListSurveys = action("SATISMETER_LIST_SURVEYS", {
12
+ slug: "satismeter-list-surveys",
13
+ name: "List Surveys",
14
+ description: "Tool to list surveys (campaigns) in a project. Use when you have a valid project ID and need to retrieve its surveys.",
15
+ input: SatismeterListSurveysInput,
16
+ output: z.object({ data: z.array(SatismeterListSurveys_ListSurveysResponseDataSchema).describe("List of surveys (campaigns)") })
17
+ });
18
+ //#endregion
19
+ export { satismeterListSurveys };
20
+
21
+ //# sourceMappingURL=list-surveys.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-surveys.mjs","names":[],"sources":["../../src/actions/list-surveys.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SatismeterListSurveysInput: z.ZodTypeAny = z.object({\n project: z.string().describe(\"SatisMeter project ID (24-character hex string). Obtain from your connected SatisMeter account or from the SatisMeter dashboard under Project Settings. Do not use project names.\"),\n}).describe(\"Request model for listing surveys (campaigns) in a SatisMeter project.\");\nconst SatismeterListSurveys_ListSurveysResponseDataSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the survey (campaign)\"),\n name: z.string().describe(\"Name of the survey (campaign)\"),\n type: z.string().describe(\"Survey template type (nps, ces, csat, pmf, or custom)\").nullable().optional(),\n state: z.string().describe(\"Current survey status (live, paused, or draft)\").nullable().optional(),\n});\nexport const SatismeterListSurveysOutput: z.ZodTypeAny = z.object({\n data: z.array(SatismeterListSurveys_ListSurveysResponseDataSchema).describe(\"List of surveys (campaigns)\"),\n});\n\nexport const satismeterListSurveys = action(\"SATISMETER_LIST_SURVEYS\", {\n slug: \"satismeter-list-surveys\",\n name: \"List Surveys\",\n description: \"Tool to list surveys (campaigns) in a project. Use when you have a valid project ID and need to retrieve its surveys.\",\n input: SatismeterListSurveysInput,\n output: SatismeterListSurveysOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA2C,EAAE,OAAO,EAC/D,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,mLAAmL,EAClN,CAAC,CAAC,CAAC,SAAS,wEAAwE;AACpF,MAAM,sDAAoE,EAAE,OAAO;CACjF,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C;CACpE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B;CACzD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvG,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACnG,CAAC;AAKD,MAAa,wBAAwB,OAAO,2BAA2B;CACrE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QATuD,EAAE,OAAO,EAChE,MAAM,EAAE,MAAM,mDAAmD,CAAC,CAAC,SAAS,6BAA6B,EAC3G,CAOU;AACV,CAAC"}
@@ -0,0 +1,30 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/list-users.ts
4
+ const SatismeterListUsersInput = zod.z.object({
5
+ project: zod.z.string().describe("ID of the project to list users for"),
6
+ user_id: zod.z.string().describe("Filter by specific user ID (the id passed on the widget) to return only that user").optional()
7
+ }).describe("Request model for listing users in a Satismeter project.");
8
+ const SatismeterListUsers_UserDataSchema = zod.z.object({
9
+ id: zod.z.string().describe("Internal SatisMeter user ID"),
10
+ name: zod.z.string().describe("User's name").nullable().optional(),
11
+ email: zod.z.string().describe("User's email address").nullable().optional(),
12
+ traits: zod.z.object({}).describe("Custom traits attached to the user").nullable().optional(),
13
+ userId: zod.z.string().describe("The user ID passed on the widget").nullable().optional(),
14
+ created: zod.z.string().describe("Creation timestamp").nullable().optional(),
15
+ project: zod.z.string().describe("The project ID this user belongs to").nullable().optional(),
16
+ lastSeen: zod.z.string().describe("Timestamp of when the user was last seen").nullable().optional(),
17
+ unsubscribed: zod.z.boolean().describe("Whether the user is unsubscribed").nullable().optional()
18
+ }).describe("Individual user data returned by the API");
19
+ const SatismeterListUsersOutput = zod.z.object({ users: zod.z.array(SatismeterListUsers_UserDataSchema).describe("List of users in the project") }).describe("Response model for listing users");
20
+ const satismeterListUsers = require_action.action("SATISMETER_LIST_USERS", {
21
+ slug: "satismeter-list-users",
22
+ name: "List Users",
23
+ description: "Tool to list users in a project. Use when you have a valid project ID and need to retrieve its users. Optionally filter by a specific user ID.",
24
+ input: SatismeterListUsersInput,
25
+ output: SatismeterListUsersOutput
26
+ });
27
+ //#endregion
28
+ exports.satismeterListUsers = satismeterListUsers;
29
+
30
+ //# sourceMappingURL=list-users.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-users.cjs","names":["z","action"],"sources":["../../src/actions/list-users.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SatismeterListUsersInput: z.ZodTypeAny = z.object({\n project: z.string().describe(\"ID of the project to list users for\"),\n user_id: z.string().describe(\"Filter by specific user ID (the id passed on the widget) to return only that user\").optional(),\n}).describe(\"Request model for listing users in a Satismeter project.\");\nconst SatismeterListUsers_UserDataSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Internal SatisMeter user ID\"),\n name: z.string().describe(\"User's name\").nullable().optional(),\n email: z.string().describe(\"User's email address\").nullable().optional(),\n traits: z.object({}).describe(\"Custom traits attached to the user\").nullable().optional(),\n userId: z.string().describe(\"The user ID passed on the widget\").nullable().optional(),\n created: z.string().describe(\"Creation timestamp\").nullable().optional(),\n project: z.string().describe(\"The project ID this user belongs to\").nullable().optional(),\n lastSeen: z.string().describe(\"Timestamp of when the user was last seen\").nullable().optional(),\n unsubscribed: z.boolean().describe(\"Whether the user is unsubscribed\").nullable().optional(),\n}).describe(\"Individual user data returned by the API\");\nexport const SatismeterListUsersOutput: z.ZodTypeAny = z.object({\n users: z.array(SatismeterListUsers_UserDataSchema).describe(\"List of users in the project\"),\n}).describe(\"Response model for listing users\");\n\nexport const satismeterListUsers = action(\"SATISMETER_LIST_USERS\", {\n slug: \"satismeter-list-users\",\n name: \"List Users\",\n description: \"Tool to list users in a project. Use when you have a valid project ID and need to retrieve its users. Optionally filter by a specific user ID.\",\n input: SatismeterListUsersInput,\n output: SatismeterListUsersOutput,\n});\n"],"mappings":";;;AAIA,MAAa,2BAAyCA,IAAAA,EAAE,OAAO;CAC7D,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC;CAClE,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;AAC7H,CAAC,CAAC,CAAC,SAAS,0DAA0D;AACtE,MAAM,qCAAmDA,IAAAA,EAAE,OAAO;CAChE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B;CACrD,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7D,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvE,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxF,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpF,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvE,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxF,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9F,cAAcA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC7F,CAAC,CAAC,CAAC,SAAS,0CAA0C;AACtD,MAAa,4BAA0CA,IAAAA,EAAE,OAAO,EAC9D,OAAOA,IAAAA,EAAE,MAAM,kCAAkC,CAAC,CAAC,SAAS,8BAA8B,EAC5F,CAAC,CAAC,CAAC,SAAS,kCAAkC;AAE9C,MAAa,sBAAsBC,eAAAA,OAAO,yBAAyB;CACjE,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/list-users.d.ts
4
+ declare const SatismeterListUsersInput: z.ZodTypeAny;
5
+ declare const SatismeterListUsersOutput: z.ZodTypeAny;
6
+ declare const satismeterListUsers: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { satismeterListUsers };
9
+ //# sourceMappingURL=list-users.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-users.d.cts","names":[],"sources":["../../src/actions/list-users.ts"],"mappings":";;;cAIa,wBAAA,EAA0B,CAAA,CAAE,UAG8B;AAAA,cAY1D,yBAAA,EAA2B,CAAA,CAAE,UAEK;AAAA,cAElC,mBAAA,gCAAmB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/list-users.d.ts
4
+ declare const SatismeterListUsersInput: z.ZodTypeAny;
5
+ declare const SatismeterListUsersOutput: z.ZodTypeAny;
6
+ declare const satismeterListUsers: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { satismeterListUsers };
9
+ //# sourceMappingURL=list-users.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-users.d.mts","names":[],"sources":["../../src/actions/list-users.ts"],"mappings":";;;cAIa,wBAAA,EAA0B,CAAA,CAAE,UAG8B;AAAA,cAY1D,yBAAA,EAA2B,CAAA,CAAE,UAEK;AAAA,cAElC,mBAAA,gCAAmB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,29 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/list-users.ts
4
+ const SatismeterListUsersInput = z.object({
5
+ project: z.string().describe("ID of the project to list users for"),
6
+ user_id: z.string().describe("Filter by specific user ID (the id passed on the widget) to return only that user").optional()
7
+ }).describe("Request model for listing users in a Satismeter project.");
8
+ const SatismeterListUsers_UserDataSchema = z.object({
9
+ id: z.string().describe("Internal SatisMeter user ID"),
10
+ name: z.string().describe("User's name").nullable().optional(),
11
+ email: z.string().describe("User's email address").nullable().optional(),
12
+ traits: z.object({}).describe("Custom traits attached to the user").nullable().optional(),
13
+ userId: z.string().describe("The user ID passed on the widget").nullable().optional(),
14
+ created: z.string().describe("Creation timestamp").nullable().optional(),
15
+ project: z.string().describe("The project ID this user belongs to").nullable().optional(),
16
+ lastSeen: z.string().describe("Timestamp of when the user was last seen").nullable().optional(),
17
+ unsubscribed: z.boolean().describe("Whether the user is unsubscribed").nullable().optional()
18
+ }).describe("Individual user data returned by the API");
19
+ const satismeterListUsers = action("SATISMETER_LIST_USERS", {
20
+ slug: "satismeter-list-users",
21
+ name: "List Users",
22
+ description: "Tool to list users in a project. Use when you have a valid project ID and need to retrieve its users. Optionally filter by a specific user ID.",
23
+ input: SatismeterListUsersInput,
24
+ output: z.object({ users: z.array(SatismeterListUsers_UserDataSchema).describe("List of users in the project") }).describe("Response model for listing users")
25
+ });
26
+ //#endregion
27
+ export { satismeterListUsers };
28
+
29
+ //# sourceMappingURL=list-users.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-users.mjs","names":[],"sources":["../../src/actions/list-users.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SatismeterListUsersInput: z.ZodTypeAny = z.object({\n project: z.string().describe(\"ID of the project to list users for\"),\n user_id: z.string().describe(\"Filter by specific user ID (the id passed on the widget) to return only that user\").optional(),\n}).describe(\"Request model for listing users in a Satismeter project.\");\nconst SatismeterListUsers_UserDataSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Internal SatisMeter user ID\"),\n name: z.string().describe(\"User's name\").nullable().optional(),\n email: z.string().describe(\"User's email address\").nullable().optional(),\n traits: z.object({}).describe(\"Custom traits attached to the user\").nullable().optional(),\n userId: z.string().describe(\"The user ID passed on the widget\").nullable().optional(),\n created: z.string().describe(\"Creation timestamp\").nullable().optional(),\n project: z.string().describe(\"The project ID this user belongs to\").nullable().optional(),\n lastSeen: z.string().describe(\"Timestamp of when the user was last seen\").nullable().optional(),\n unsubscribed: z.boolean().describe(\"Whether the user is unsubscribed\").nullable().optional(),\n}).describe(\"Individual user data returned by the API\");\nexport const SatismeterListUsersOutput: z.ZodTypeAny = z.object({\n users: z.array(SatismeterListUsers_UserDataSchema).describe(\"List of users in the project\"),\n}).describe(\"Response model for listing users\");\n\nexport const satismeterListUsers = action(\"SATISMETER_LIST_USERS\", {\n slug: \"satismeter-list-users\",\n name: \"List Users\",\n description: \"Tool to list users in a project. Use when you have a valid project ID and need to retrieve its users. Optionally filter by a specific user ID.\",\n input: SatismeterListUsersInput,\n output: SatismeterListUsersOutput,\n});\n"],"mappings":";;;AAIA,MAAa,2BAAyC,EAAE,OAAO;CAC7D,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC;CAClE,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;AAC7H,CAAC,CAAC,CAAC,SAAS,0DAA0D;AACtE,MAAM,qCAAmD,EAAE,OAAO;CAChE,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B;CACrD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7D,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxF,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpF,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvE,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxF,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9F,cAAc,EAAE,QAAQ,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC7F,CAAC,CAAC,CAAC,SAAS,0CAA0C;AAKtD,MAAa,sBAAsB,OAAO,yBAAyB;CACjE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QATqD,EAAE,OAAO,EAC9D,OAAO,EAAE,MAAM,kCAAkC,CAAC,CAAC,SAAS,8BAA8B,EAC5F,CAAC,CAAC,CAAC,SAAS,kCAOF;AACV,CAAC"}
@@ -0,0 +1,23 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/update-unsubscribed-emails.ts
4
+ const SatismeterUpdateUnsubscribedEmailsInput = zod.z.object({
5
+ emails: zod.z.array(zod.z.string()).describe("List of email addresses to unsubscribe."),
6
+ project_id: zod.z.string().describe("ID of the Satismeter project (24-character MongoDB ObjectId format).")
7
+ }).describe("Request model for updating unsubscribed emails for a Satismeter project.");
8
+ const SatismeterUpdateUnsubscribedEmailsOutput = zod.z.object({
9
+ errors: zod.z.object({}).describe("Map of emails that couldn't be unsubscribed to error reasons.").nullable().optional(),
10
+ success: zod.z.boolean().describe("True if unsubscription was successful."),
11
+ unsubscribed: zod.z.array(zod.z.string()).describe("List of emails successfully unsubscribed.")
12
+ }).describe("Response model for updating unsubscribed emails action.");
13
+ const satismeterUpdateUnsubscribedEmails = require_action.action("SATISMETER_UPDATE_UNSUBSCRIBED_EMAILS", {
14
+ slug: "satismeter-update-unsubscribed-emails",
15
+ name: "Update Unsubscribed Emails",
16
+ description: "Tool to update the list of unsubscribed emails for a project. Use when you need to bulk unsubscribe user emails from surveys.",
17
+ input: SatismeterUpdateUnsubscribedEmailsInput,
18
+ output: SatismeterUpdateUnsubscribedEmailsOutput
19
+ });
20
+ //#endregion
21
+ exports.satismeterUpdateUnsubscribedEmails = satismeterUpdateUnsubscribedEmails;
22
+
23
+ //# sourceMappingURL=update-unsubscribed-emails.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-unsubscribed-emails.cjs","names":["z","action"],"sources":["../../src/actions/update-unsubscribed-emails.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SatismeterUpdateUnsubscribedEmailsInput: z.ZodTypeAny = z.object({\n emails: z.array(z.string()).describe(\"List of email addresses to unsubscribe.\"),\n project_id: z.string().describe(\"ID of the Satismeter project (24-character MongoDB ObjectId format).\"),\n}).describe(\"Request model for updating unsubscribed emails for a Satismeter project.\");\nexport const SatismeterUpdateUnsubscribedEmailsOutput: z.ZodTypeAny = z.object({\n errors: z.object({}).describe(\"Map of emails that couldn't be unsubscribed to error reasons.\").nullable().optional(),\n success: z.boolean().describe(\"True if unsubscription was successful.\"),\n unsubscribed: z.array(z.string()).describe(\"List of emails successfully unsubscribed.\"),\n}).describe(\"Response model for updating unsubscribed emails action.\");\n\nexport const satismeterUpdateUnsubscribedEmails = action(\"SATISMETER_UPDATE_UNSUBSCRIBED_EMAILS\", {\n slug: \"satismeter-update-unsubscribed-emails\",\n name: \"Update Unsubscribed Emails\",\n description: \"Tool to update the list of unsubscribed emails for a project. Use when you need to bulk unsubscribe user emails from surveys.\",\n input: SatismeterUpdateUnsubscribedEmailsInput,\n output: SatismeterUpdateUnsubscribedEmailsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,0CAAwDA,IAAAA,EAAE,OAAO;CAC5E,QAAQA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,yCAAyC;CAC9E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sEAAsE;AACxG,CAAC,CAAC,CAAC,SAAS,0EAA0E;AACtF,MAAa,2CAAyDA,IAAAA,EAAE,OAAO;CAC7E,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnH,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,wCAAwC;CACtE,cAAcA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,2CAA2C;AACxF,CAAC,CAAC,CAAC,SAAS,yDAAyD;AAErE,MAAa,qCAAqCC,eAAAA,OAAO,yCAAyC;CAChG,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/update-unsubscribed-emails.d.ts
4
+ declare const SatismeterUpdateUnsubscribedEmailsInput: z.ZodTypeAny;
5
+ declare const SatismeterUpdateUnsubscribedEmailsOutput: z.ZodTypeAny;
6
+ declare const satismeterUpdateUnsubscribedEmails: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { satismeterUpdateUnsubscribedEmails };
9
+ //# sourceMappingURL=update-unsubscribed-emails.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-unsubscribed-emails.d.cts","names":[],"sources":["../../src/actions/update-unsubscribed-emails.ts"],"mappings":";;;cAIa,uCAAA,EAAyC,CAAA,CAAE,UAG+B;AAAA,cAC1E,wCAAA,EAA0C,CAAA,CAAE,UAIa;AAAA,cAEzD,kCAAA,gCAAkC,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/update-unsubscribed-emails.d.ts
4
+ declare const SatismeterUpdateUnsubscribedEmailsInput: z.ZodTypeAny;
5
+ declare const SatismeterUpdateUnsubscribedEmailsOutput: z.ZodTypeAny;
6
+ declare const satismeterUpdateUnsubscribedEmails: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { satismeterUpdateUnsubscribedEmails };
9
+ //# sourceMappingURL=update-unsubscribed-emails.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-unsubscribed-emails.d.mts","names":[],"sources":["../../src/actions/update-unsubscribed-emails.ts"],"mappings":";;;cAIa,uCAAA,EAAyC,CAAA,CAAE,UAG+B;AAAA,cAC1E,wCAAA,EAA0C,CAAA,CAAE,UAIa;AAAA,cAEzD,kCAAA,gCAAkC,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,20 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const satismeterUpdateUnsubscribedEmails = action("SATISMETER_UPDATE_UNSUBSCRIBED_EMAILS", {
4
+ slug: "satismeter-update-unsubscribed-emails",
5
+ name: "Update Unsubscribed Emails",
6
+ description: "Tool to update the list of unsubscribed emails for a project. Use when you need to bulk unsubscribe user emails from surveys.",
7
+ input: z.object({
8
+ emails: z.array(z.string()).describe("List of email addresses to unsubscribe."),
9
+ project_id: z.string().describe("ID of the Satismeter project (24-character MongoDB ObjectId format).")
10
+ }).describe("Request model for updating unsubscribed emails for a Satismeter project."),
11
+ output: z.object({
12
+ errors: z.object({}).describe("Map of emails that couldn't be unsubscribed to error reasons.").nullable().optional(),
13
+ success: z.boolean().describe("True if unsubscription was successful."),
14
+ unsubscribed: z.array(z.string()).describe("List of emails successfully unsubscribed.")
15
+ }).describe("Response model for updating unsubscribed emails action.")
16
+ });
17
+ //#endregion
18
+ export { satismeterUpdateUnsubscribedEmails };
19
+
20
+ //# sourceMappingURL=update-unsubscribed-emails.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-unsubscribed-emails.mjs","names":[],"sources":["../../src/actions/update-unsubscribed-emails.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SatismeterUpdateUnsubscribedEmailsInput: z.ZodTypeAny = z.object({\n emails: z.array(z.string()).describe(\"List of email addresses to unsubscribe.\"),\n project_id: z.string().describe(\"ID of the Satismeter project (24-character MongoDB ObjectId format).\"),\n}).describe(\"Request model for updating unsubscribed emails for a Satismeter project.\");\nexport const SatismeterUpdateUnsubscribedEmailsOutput: z.ZodTypeAny = z.object({\n errors: z.object({}).describe(\"Map of emails that couldn't be unsubscribed to error reasons.\").nullable().optional(),\n success: z.boolean().describe(\"True if unsubscription was successful.\"),\n unsubscribed: z.array(z.string()).describe(\"List of emails successfully unsubscribed.\"),\n}).describe(\"Response model for updating unsubscribed emails action.\");\n\nexport const satismeterUpdateUnsubscribedEmails = action(\"SATISMETER_UPDATE_UNSUBSCRIBED_EMAILS\", {\n slug: \"satismeter-update-unsubscribed-emails\",\n name: \"Update Unsubscribed Emails\",\n description: \"Tool to update the list of unsubscribed emails for a project. Use when you need to bulk unsubscribe user emails from surveys.\",\n input: SatismeterUpdateUnsubscribedEmailsInput,\n output: SatismeterUpdateUnsubscribedEmailsOutput,\n});\n"],"mappings":";;AAcA,MAAa,qCAAqC,OAAO,yCAAyC;CAChG,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAdmE,EAAE,OAAO;EAC5E,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,yCAAyC;EAC9E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,sEAAsE;CACxG,CAAC,CAAC,CAAC,SAAS,0EAWH;CACP,QAXoE,EAAE,OAAO;EAC7E,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACnH,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,wCAAwC;EACtE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,2CAA2C;CACxF,CAAC,CAAC,CAAC,SAAS,yDAOF;AACV,CAAC"}
package/dist/app.cjs ADDED
@@ -0,0 +1,9 @@
1
+ //#region src/app.ts
2
+ const satismeter = (0, require("@keystrokehq/keystroke/app").defineApp)({
3
+ slug: "satismeter",
4
+ auth: "keystroke"
5
+ });
6
+ //#endregion
7
+ exports.satismeter = satismeter;
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 satismeter = defineApp({\n slug: \"satismeter\",\n auth: \"keystroke\",\n});\n"],"mappings":";AAEA,MAAa,cAAA,uCAAA,CAAA,CAAA,UAAA,CAAuB;CAClC,MAAM;CACN,MAAM;AACR,CAAC"}
package/dist/app.d.cts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const satismeter: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { satismeter };
5
+ //# sourceMappingURL=app.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,UAAA,6BAAU,GAAA,+BAAA,UAAA"}
package/dist/app.d.mts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const satismeter: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { satismeter };
5
+ //# sourceMappingURL=app.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,UAAA,6BAAU,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 satismeter = defineApp({
4
+ slug: "satismeter",
5
+ auth: "keystroke"
6
+ });
7
+ //#endregion
8
+ export { satismeter };
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 satismeter = defineApp({\n slug: \"satismeter\",\n auth: \"keystroke\",\n});\n"],"mappings":";;AAEA,MAAa,aAAa,UAAU;CAClC,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 satismeterCatalog = {
4
+ "slug": "satismeter",
5
+ "name": "Satismeter",
6
+ "description": "SatisMeter is a customer feedback platform that enables businesses to collect and analyze user feedback through targeted surveys.",
7
+ "category": "Forms & Surveys",
8
+ "logo": "https://logos.composio.dev/api/satismeter",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ exports.satismeterCatalog = satismeterCatalog;
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 satismeterCatalog = {\n \"slug\": \"satismeter\",\n \"name\": \"Satismeter\",\n \"description\": \"SatisMeter is a customer feedback platform that enables businesses to collect and analyze user feedback through targeted surveys.\",\n \"category\": \"Forms & Surveys\",\n \"logo\": \"https://logos.composio.dev/api/satismeter\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,oBAAoB;CAC/B,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 satismeterCatalog: {
4
+ readonly slug: "satismeter";
5
+ readonly name: "Satismeter";
6
+ readonly description: "SatisMeter is a customer feedback platform that enables businesses to collect and analyze user feedback through targeted surveys.";
7
+ readonly category: "Forms & Surveys";
8
+ readonly logo: "https://logos.composio.dev/api/satismeter";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { satismeterCatalog };
14
+ //# sourceMappingURL=catalog.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.cts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,iBAAA;EAAA"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const satismeterCatalog: {
4
+ readonly slug: "satismeter";
5
+ readonly name: "Satismeter";
6
+ readonly description: "SatisMeter is a customer feedback platform that enables businesses to collect and analyze user feedback through targeted surveys.";
7
+ readonly category: "Forms & Surveys";
8
+ readonly logo: "https://logos.composio.dev/api/satismeter";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { satismeterCatalog };
14
+ //# sourceMappingURL=catalog.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.mts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,iBAAA;EAAA"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const satismeterCatalog = {
4
+ "slug": "satismeter",
5
+ "name": "Satismeter",
6
+ "description": "SatisMeter is a customer feedback platform that enables businesses to collect and analyze user feedback through targeted surveys.",
7
+ "category": "Forms & Surveys",
8
+ "logo": "https://logos.composio.dev/api/satismeter",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ export { satismeterCatalog };
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 satismeterCatalog = {\n \"slug\": \"satismeter\",\n \"name\": \"Satismeter\",\n \"description\": \"SatisMeter is a customer feedback platform that enables businesses to collect and analyze user feedback through targeted surveys.\",\n \"category\": \"Forms & Surveys\",\n \"logo\": \"https://logos.composio.dev/api/satismeter\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,oBAAoB;CAC/B,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 = "satismeter";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeSatismeterTool(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.executeSatismeterTool = executeSatismeterTool;
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 = \"satismeter\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeSatismeterTool(\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,sBACpB,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 = "satismeter";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeSatismeterTool(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 { executeSatismeterTool };
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 = \"satismeter\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeSatismeterTool(\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,sBACpB,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,16 @@
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_embed_survey = require("./actions/embed-survey.cjs");
5
+ const require_get_unsubscribed_emails = require("./actions/get-unsubscribed-emails.cjs");
6
+ const require_list_surveys = require("./actions/list-surveys.cjs");
7
+ const require_list_users = require("./actions/list-users.cjs");
8
+ const require_update_unsubscribed_emails = require("./actions/update-unsubscribed-emails.cjs");
9
+ require("./actions/index.cjs");
10
+ exports.satismeter = require_app.satismeter;
11
+ exports.satismeterCatalog = require_catalog.satismeterCatalog;
12
+ exports.satismeterEmbedSurvey = require_embed_survey.satismeterEmbedSurvey;
13
+ exports.satismeterGetUnsubscribedEmails = require_get_unsubscribed_emails.satismeterGetUnsubscribedEmails;
14
+ exports.satismeterListSurveys = require_list_surveys.satismeterListSurveys;
15
+ exports.satismeterListUsers = require_list_users.satismeterListUsers;
16
+ exports.satismeterUpdateUnsubscribedEmails = require_update_unsubscribed_emails.satismeterUpdateUnsubscribedEmails;
@@ -0,0 +1,8 @@
1
+ import { satismeterEmbedSurvey } from "./actions/embed-survey.cjs";
2
+ import { satismeterGetUnsubscribedEmails } from "./actions/get-unsubscribed-emails.cjs";
3
+ import { satismeterListSurveys } from "./actions/list-surveys.cjs";
4
+ import { satismeterListUsers } from "./actions/list-users.cjs";
5
+ import { satismeterUpdateUnsubscribedEmails } from "./actions/update-unsubscribed-emails.cjs";
6
+ import { satismeter } from "./app.cjs";
7
+ import { satismeterCatalog } from "./catalog.cjs";
8
+ export { satismeter, satismeterCatalog, satismeterEmbedSurvey, satismeterGetUnsubscribedEmails, satismeterListSurveys, satismeterListUsers, satismeterUpdateUnsubscribedEmails };
@@ -0,0 +1,8 @@
1
+ import { satismeterEmbedSurvey } from "./actions/embed-survey.mjs";
2
+ import { satismeterGetUnsubscribedEmails } from "./actions/get-unsubscribed-emails.mjs";
3
+ import { satismeterListSurveys } from "./actions/list-surveys.mjs";
4
+ import { satismeterListUsers } from "./actions/list-users.mjs";
5
+ import { satismeterUpdateUnsubscribedEmails } from "./actions/update-unsubscribed-emails.mjs";
6
+ import { satismeter } from "./app.mjs";
7
+ import { satismeterCatalog } from "./catalog.mjs";
8
+ export { satismeter, satismeterCatalog, satismeterEmbedSurvey, satismeterGetUnsubscribedEmails, satismeterListSurveys, satismeterListUsers, satismeterUpdateUnsubscribedEmails };
package/dist/index.mjs ADDED
@@ -0,0 +1,9 @@
1
+ import { satismeter } from "./app.mjs";
2
+ import { satismeterCatalog } from "./catalog.mjs";
3
+ import { satismeterEmbedSurvey } from "./actions/embed-survey.mjs";
4
+ import { satismeterGetUnsubscribedEmails } from "./actions/get-unsubscribed-emails.mjs";
5
+ import { satismeterListSurveys } from "./actions/list-surveys.mjs";
6
+ import { satismeterListUsers } from "./actions/list-users.mjs";
7
+ import { satismeterUpdateUnsubscribedEmails } from "./actions/update-unsubscribed-emails.mjs";
8
+ import "./actions/index.mjs";
9
+ export { satismeter, satismeterCatalog, satismeterEmbedSurvey, satismeterGetUnsubscribedEmails, satismeterListSurveys, satismeterListUsers, satismeterUpdateUnsubscribedEmails };
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@keystrokehq/satismeter",
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/satismeter"
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
+ }