@keystrokehq/segmetrics 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 (58) 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/create-product.cjs +25 -0
  7. package/dist/actions/create-product.cjs.map +1 -0
  8. package/dist/actions/create-product.d.cts +9 -0
  9. package/dist/actions/create-product.d.cts.map +1 -0
  10. package/dist/actions/create-product.d.mts +9 -0
  11. package/dist/actions/create-product.d.mts.map +1 -0
  12. package/dist/actions/create-product.mjs +22 -0
  13. package/dist/actions/create-product.mjs.map +1 -0
  14. package/dist/actions/delete-contact.cjs +25 -0
  15. package/dist/actions/delete-contact.cjs.map +1 -0
  16. package/dist/actions/delete-contact.d.cts +9 -0
  17. package/dist/actions/delete-contact.d.cts.map +1 -0
  18. package/dist/actions/delete-contact.d.mts +9 -0
  19. package/dist/actions/delete-contact.d.mts.map +1 -0
  20. package/dist/actions/delete-contact.mjs +22 -0
  21. package/dist/actions/delete-contact.mjs.map +1 -0
  22. package/dist/actions/index.cjs +7 -0
  23. package/dist/actions/index.d.cts +4 -0
  24. package/dist/actions/index.d.mts +4 -0
  25. package/dist/actions/index.mjs +4 -0
  26. package/dist/actions/v1-add-or-update-contact.cjs +31 -0
  27. package/dist/actions/v1-add-or-update-contact.cjs.map +1 -0
  28. package/dist/actions/v1-add-or-update-contact.d.cts +9 -0
  29. package/dist/actions/v1-add-or-update-contact.d.cts.map +1 -0
  30. package/dist/actions/v1-add-or-update-contact.d.mts +9 -0
  31. package/dist/actions/v1-add-or-update-contact.d.mts.map +1 -0
  32. package/dist/actions/v1-add-or-update-contact.mjs +28 -0
  33. package/dist/actions/v1-add-or-update-contact.mjs.map +1 -0
  34. package/dist/app.cjs +9 -0
  35. package/dist/app.cjs.map +1 -0
  36. package/dist/app.d.cts +5 -0
  37. package/dist/app.d.cts.map +1 -0
  38. package/dist/app.d.mts +5 -0
  39. package/dist/app.d.mts.map +1 -0
  40. package/dist/app.mjs +10 -0
  41. package/dist/app.mjs.map +1 -0
  42. package/dist/catalog.cjs +15 -0
  43. package/dist/catalog.cjs.map +1 -0
  44. package/dist/catalog.d.cts +14 -0
  45. package/dist/catalog.d.cts.map +1 -0
  46. package/dist/catalog.d.mts +14 -0
  47. package/dist/catalog.d.mts.map +1 -0
  48. package/dist/catalog.mjs +15 -0
  49. package/dist/catalog.mjs.map +1 -0
  50. package/dist/execute.cjs +18 -0
  51. package/dist/execute.cjs.map +1 -0
  52. package/dist/execute.mjs +18 -0
  53. package/dist/execute.mjs.map +1 -0
  54. package/dist/index.cjs +12 -0
  55. package/dist/index.d.cts +6 -0
  56. package/dist/index.d.mts +6 -0
  57. package/dist/index.mjs +7 -0
  58. package/package.json +49 -0
package/README.md ADDED
@@ -0,0 +1,17 @@
1
+ # @keystrokehq/segmetrics
2
+
3
+ Keystroke-managed integration.
4
+
5
+ **App:** `segmetrics`
6
+ **Version:** `20260615_00`
7
+ **Actions:** 3
8
+
9
+ ```ts
10
+ import { defineAgent } from "@keystrokehq/keystroke/agent";
11
+ import { segmetricsCreateProduct } from "@keystrokehq/segmetrics/actions";
12
+
13
+ export default defineAgent({
14
+ key: "segmetrics-agent",
15
+ tools: [segmetricsCreateProduct],
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.segmetrics.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.executeSegmetricsTool(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":["segmetrics","executeSegmetricsTool"],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { segmetrics } from \"./app\";\nimport { executeSegmetricsTool } 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 segmetrics.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 executeSegmetricsTool(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 { segmetrics } from "./app.mjs";
2
+ import { executeSegmetricsTool } 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 segmetrics.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 executeSegmetricsTool(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 { segmetrics } from \"./app\";\nimport { executeSegmetricsTool } 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 segmetrics.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 executeSegmetricsTool(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,25 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/create-product.ts
4
+ const SegmetricsCreateProductInput = zod.z.object({
5
+ id: zod.z.string().describe("Unique identifier for the product."),
6
+ name: zod.z.string().describe("Name of the product."),
7
+ type: zod.z.enum(["digital", "physical"]).describe("Type of product. Must be 'digital' or 'physical'.").optional(),
8
+ price: zod.z.number().describe("Default price of the product, must be non-negative.").optional(),
9
+ account_id: zod.z.string().describe("SegMetrics account ID (Site ID). Found in your SegMetrics Account settings. Format: 6+ characters starting with 'a'."),
10
+ description: zod.z.string().describe("Description of the product.").optional(),
11
+ external_id: zod.z.string().describe("External system reference ID for the product.").optional(),
12
+ integration_id: zod.z.string().describe("Integration ID to which this product belongs. Found in SegMetrics integration settings or in the URL when configuring an integration.")
13
+ });
14
+ const SegmetricsCreateProductOutput = zod.z.object({ status: zod.z.string().describe("API response status, expected 'success'.") });
15
+ const segmetricsCreateProduct = require_action.action("SEGMETRICS_CREATE_PRODUCT", {
16
+ slug: "segmetrics-create-product",
17
+ name: "Create Product",
18
+ description: "Tool to create a new product in SegMetrics. Use after confirming product details.",
19
+ input: SegmetricsCreateProductInput,
20
+ output: SegmetricsCreateProductOutput
21
+ });
22
+ //#endregion
23
+ exports.segmetricsCreateProduct = segmetricsCreateProduct;
24
+
25
+ //# sourceMappingURL=create-product.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-product.cjs","names":["z","action"],"sources":["../../src/actions/create-product.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SegmetricsCreateProductInput: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier for the product.\"),\n name: z.string().describe(\"Name of the product.\"),\n type: z.enum([\"digital\", \"physical\"]).describe(\"Type of product. Must be 'digital' or 'physical'.\").optional(),\n price: z.number().describe(\"Default price of the product, must be non-negative.\").optional(),\n account_id: z.string().describe(\"SegMetrics account ID (Site ID). Found in your SegMetrics Account settings. Format: 6+ characters starting with 'a'.\"),\n description: z.string().describe(\"Description of the product.\").optional(),\n external_id: z.string().describe(\"External system reference ID for the product.\").optional(),\n integration_id: z.string().describe(\"Integration ID to which this product belongs. Found in SegMetrics integration settings or in the URL when configuring an integration.\"),\n});\nexport const SegmetricsCreateProductOutput: z.ZodTypeAny = z.object({\n status: z.string().describe(\"API response status, expected 'success'.\"),\n});\n\nexport const segmetricsCreateProduct = action(\"SEGMETRICS_CREATE_PRODUCT\", {\n slug: \"segmetrics-create-product\",\n name: \"Create Product\",\n description: \"Tool to create a new product in SegMetrics. Use after confirming product details.\",\n input: SegmetricsCreateProductInput,\n output: SegmetricsCreateProductOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA6CA,IAAAA,EAAE,OAAO;CACjE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC;CAC5D,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB;CAChD,MAAMA,IAAAA,EAAE,KAAK,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CAC7G,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;CAC3F,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sHAAsH;CACtJ,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;CACzE,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;CAC3F,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uIAAuI;AAC7K,CAAC;AACD,MAAa,gCAA8CA,IAAAA,EAAE,OAAO,EAClE,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,EACxE,CAAC;AAED,MAAa,0BAA0BC,eAAAA,OAAO,6BAA6B;CACzE,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/create-product.d.ts
4
+ declare const SegmetricsCreateProductInput: z.ZodTypeAny;
5
+ declare const SegmetricsCreateProductOutput: z.ZodTypeAny;
6
+ declare const segmetricsCreateProduct: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { segmetricsCreateProduct };
9
+ //# sourceMappingURL=create-product.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-product.d.cts","names":[],"sources":["../../src/actions/create-product.ts"],"mappings":";;;cAIa,4BAAA,EAA8B,CAAA,CAAE,UAS3C;AAAA,cACW,6BAAA,EAA+B,CAAA,CAAE,UAE5C;AAAA,cAEW,uBAAA,gCAAuB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/create-product.d.ts
4
+ declare const SegmetricsCreateProductInput: z.ZodTypeAny;
5
+ declare const SegmetricsCreateProductOutput: z.ZodTypeAny;
6
+ declare const segmetricsCreateProduct: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { segmetricsCreateProduct };
9
+ //# sourceMappingURL=create-product.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-product.d.mts","names":[],"sources":["../../src/actions/create-product.ts"],"mappings":";;;cAIa,4BAAA,EAA8B,CAAA,CAAE,UAS3C;AAAA,cACW,6BAAA,EAA+B,CAAA,CAAE,UAE5C;AAAA,cAEW,uBAAA,gCAAuB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,22 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const segmetricsCreateProduct = action("SEGMETRICS_CREATE_PRODUCT", {
4
+ slug: "segmetrics-create-product",
5
+ name: "Create Product",
6
+ description: "Tool to create a new product in SegMetrics. Use after confirming product details.",
7
+ input: z.object({
8
+ id: z.string().describe("Unique identifier for the product."),
9
+ name: z.string().describe("Name of the product."),
10
+ type: z.enum(["digital", "physical"]).describe("Type of product. Must be 'digital' or 'physical'.").optional(),
11
+ price: z.number().describe("Default price of the product, must be non-negative.").optional(),
12
+ account_id: z.string().describe("SegMetrics account ID (Site ID). Found in your SegMetrics Account settings. Format: 6+ characters starting with 'a'."),
13
+ description: z.string().describe("Description of the product.").optional(),
14
+ external_id: z.string().describe("External system reference ID for the product.").optional(),
15
+ integration_id: z.string().describe("Integration ID to which this product belongs. Found in SegMetrics integration settings or in the URL when configuring an integration.")
16
+ }),
17
+ output: z.object({ status: z.string().describe("API response status, expected 'success'.") })
18
+ });
19
+ //#endregion
20
+ export { segmetricsCreateProduct };
21
+
22
+ //# sourceMappingURL=create-product.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-product.mjs","names":[],"sources":["../../src/actions/create-product.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SegmetricsCreateProductInput: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier for the product.\"),\n name: z.string().describe(\"Name of the product.\"),\n type: z.enum([\"digital\", \"physical\"]).describe(\"Type of product. Must be 'digital' or 'physical'.\").optional(),\n price: z.number().describe(\"Default price of the product, must be non-negative.\").optional(),\n account_id: z.string().describe(\"SegMetrics account ID (Site ID). Found in your SegMetrics Account settings. Format: 6+ characters starting with 'a'.\"),\n description: z.string().describe(\"Description of the product.\").optional(),\n external_id: z.string().describe(\"External system reference ID for the product.\").optional(),\n integration_id: z.string().describe(\"Integration ID to which this product belongs. Found in SegMetrics integration settings or in the URL when configuring an integration.\"),\n});\nexport const SegmetricsCreateProductOutput: z.ZodTypeAny = z.object({\n status: z.string().describe(\"API response status, expected 'success'.\"),\n});\n\nexport const segmetricsCreateProduct = action(\"SEGMETRICS_CREATE_PRODUCT\", {\n slug: \"segmetrics-create-product\",\n name: \"Create Product\",\n description: \"Tool to create a new product in SegMetrics. Use after confirming product details.\",\n input: SegmetricsCreateProductInput,\n output: SegmetricsCreateProductOutput,\n});\n"],"mappings":";;AAkBA,MAAa,0BAA0B,OAAO,6BAA6B;CACzE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAlBwD,EAAE,OAAO;EACjE,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC;EAC5D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB;EAChD,MAAM,EAAE,KAAK,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;EAC7G,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;EAC3F,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,sHAAsH;EACtJ,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;EACzE,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;EAC3F,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,uIAAuI;CAC7K,CASS;CACP,QATyD,EAAE,OAAO,EAClE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,EACxE,CAOU;AACV,CAAC"}
@@ -0,0 +1,25 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/delete-contact.ts
4
+ const SegmetricsDeleteContactInput = zod.z.object({
5
+ account_id: zod.z.string().describe("SegMetrics account ID (Site ID). Found in your SegMetrics Account settings. Format: 6+ characters starting with 'a'."),
6
+ integration_id: zod.z.string().describe("Integration ID to which this contact belongs. Found in SegMetrics integration settings or in the URL when configuring an integration."),
7
+ contact_id_or_email: zod.z.string().describe("The unique identifier (contact_id) or email address of the contact to delete. Using an email will delete all contacts with that email in the integration.")
8
+ }).describe("Request schema for deleting a contact.");
9
+ const SegmetricsDeleteContactOutput = zod.z.object({
10
+ id: zod.z.string().describe("The ID of the deleted contact.").nullable().optional(),
11
+ object: zod.z.string().describe("Object type, expected 'contact'.").nullable().optional(),
12
+ status: zod.z.string().describe("API response status, expected 'success'."),
13
+ deleted: zod.z.boolean().describe("Whether the contact was deleted.").nullable().optional()
14
+ }).describe("Response schema for successful deletion.\n\nA successful delete returns a JSON object with deletion confirmation.");
15
+ const segmetricsDeleteContact = require_action.action("SEGMETRICS_DELETE_CONTACT", {
16
+ slug: "segmetrics-delete-contact",
17
+ name: "Delete Contact",
18
+ description: "Tool to permanently delete a specific contact by ID or email from SegMetrics. Use after confirming the contact exists. This action is irreversible. Note: Associated invoices and purchases remain in the system.",
19
+ input: SegmetricsDeleteContactInput,
20
+ output: SegmetricsDeleteContactOutput
21
+ });
22
+ //#endregion
23
+ exports.segmetricsDeleteContact = segmetricsDeleteContact;
24
+
25
+ //# sourceMappingURL=delete-contact.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-contact.cjs","names":["z","action"],"sources":["../../src/actions/delete-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SegmetricsDeleteContactInput: z.ZodTypeAny = z.object({\n account_id: z.string().describe(\"SegMetrics account ID (Site ID). Found in your SegMetrics Account settings. Format: 6+ characters starting with 'a'.\"),\n integration_id: z.string().describe(\"Integration ID to which this contact belongs. Found in SegMetrics integration settings or in the URL when configuring an integration.\"),\n contact_id_or_email: z.string().describe(\"The unique identifier (contact_id) or email address of the contact to delete. Using an email will delete all contacts with that email in the integration.\"),\n}).describe(\"Request schema for deleting a contact.\");\nexport const SegmetricsDeleteContactOutput: z.ZodTypeAny = z.object({\n id: z.string().describe(\"The ID of the deleted contact.\").nullable().optional(),\n object: z.string().describe(\"Object type, expected 'contact'.\").nullable().optional(),\n status: z.string().describe(\"API response status, expected 'success'.\"),\n deleted: z.boolean().describe(\"Whether the contact was deleted.\").nullable().optional(),\n}).describe(\"Response schema for successful deletion.\\n\\nA successful delete returns a JSON object with deletion confirmation.\");\n\nexport const segmetricsDeleteContact = action(\"SEGMETRICS_DELETE_CONTACT\", {\n slug: \"segmetrics-delete-contact\",\n name: \"Delete Contact\",\n description: \"Tool to permanently delete a specific contact by ID or email from SegMetrics. Use after confirming the contact exists. This action is irreversible. Note: Associated invoices and purchases remain in the system.\",\n input: SegmetricsDeleteContactInput,\n output: SegmetricsDeleteContactOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA6CA,IAAAA,EAAE,OAAO;CACjE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sHAAsH;CACtJ,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uIAAuI;CAC3K,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2JAA2J;AACtM,CAAC,CAAC,CAAC,SAAS,wCAAwC;AACpD,MAAa,gCAA8CA,IAAAA,EAAE,OAAO;CAClE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9E,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpF,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C;CACtE,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACxF,CAAC,CAAC,CAAC,SAAS,mHAAmH;AAE/H,MAAa,0BAA0BC,eAAAA,OAAO,6BAA6B;CACzE,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/delete-contact.d.ts
4
+ declare const SegmetricsDeleteContactInput: z.ZodTypeAny;
5
+ declare const SegmetricsDeleteContactOutput: z.ZodTypeAny;
6
+ declare const segmetricsDeleteContact: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { segmetricsDeleteContact };
9
+ //# sourceMappingURL=delete-contact.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-contact.d.cts","names":[],"sources":["../../src/actions/delete-contact.ts"],"mappings":";;;cAIa,4BAAA,EAA8B,CAAA,CAAE,UAIQ;AAAA,cACxC,6BAAA,EAA+B,CAAA,CAAE,UAKkF;AAAA,cAEnH,uBAAA,gCAAuB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/delete-contact.d.ts
4
+ declare const SegmetricsDeleteContactInput: z.ZodTypeAny;
5
+ declare const SegmetricsDeleteContactOutput: z.ZodTypeAny;
6
+ declare const segmetricsDeleteContact: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { segmetricsDeleteContact };
9
+ //# sourceMappingURL=delete-contact.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-contact.d.mts","names":[],"sources":["../../src/actions/delete-contact.ts"],"mappings":";;;cAIa,4BAAA,EAA8B,CAAA,CAAE,UAIQ;AAAA,cACxC,6BAAA,EAA+B,CAAA,CAAE,UAKkF;AAAA,cAEnH,uBAAA,gCAAuB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,22 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const segmetricsDeleteContact = action("SEGMETRICS_DELETE_CONTACT", {
4
+ slug: "segmetrics-delete-contact",
5
+ name: "Delete Contact",
6
+ description: "Tool to permanently delete a specific contact by ID or email from SegMetrics. Use after confirming the contact exists. This action is irreversible. Note: Associated invoices and purchases remain in the system.",
7
+ input: z.object({
8
+ account_id: z.string().describe("SegMetrics account ID (Site ID). Found in your SegMetrics Account settings. Format: 6+ characters starting with 'a'."),
9
+ integration_id: z.string().describe("Integration ID to which this contact belongs. Found in SegMetrics integration settings or in the URL when configuring an integration."),
10
+ contact_id_or_email: z.string().describe("The unique identifier (contact_id) or email address of the contact to delete. Using an email will delete all contacts with that email in the integration.")
11
+ }).describe("Request schema for deleting a contact."),
12
+ output: z.object({
13
+ id: z.string().describe("The ID of the deleted contact.").nullable().optional(),
14
+ object: z.string().describe("Object type, expected 'contact'.").nullable().optional(),
15
+ status: z.string().describe("API response status, expected 'success'."),
16
+ deleted: z.boolean().describe("Whether the contact was deleted.").nullable().optional()
17
+ }).describe("Response schema for successful deletion.\n\nA successful delete returns a JSON object with deletion confirmation.")
18
+ });
19
+ //#endregion
20
+ export { segmetricsDeleteContact };
21
+
22
+ //# sourceMappingURL=delete-contact.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-contact.mjs","names":[],"sources":["../../src/actions/delete-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SegmetricsDeleteContactInput: z.ZodTypeAny = z.object({\n account_id: z.string().describe(\"SegMetrics account ID (Site ID). Found in your SegMetrics Account settings. Format: 6+ characters starting with 'a'.\"),\n integration_id: z.string().describe(\"Integration ID to which this contact belongs. Found in SegMetrics integration settings or in the URL when configuring an integration.\"),\n contact_id_or_email: z.string().describe(\"The unique identifier (contact_id) or email address of the contact to delete. Using an email will delete all contacts with that email in the integration.\"),\n}).describe(\"Request schema for deleting a contact.\");\nexport const SegmetricsDeleteContactOutput: z.ZodTypeAny = z.object({\n id: z.string().describe(\"The ID of the deleted contact.\").nullable().optional(),\n object: z.string().describe(\"Object type, expected 'contact'.\").nullable().optional(),\n status: z.string().describe(\"API response status, expected 'success'.\"),\n deleted: z.boolean().describe(\"Whether the contact was deleted.\").nullable().optional(),\n}).describe(\"Response schema for successful deletion.\\n\\nA successful delete returns a JSON object with deletion confirmation.\");\n\nexport const segmetricsDeleteContact = action(\"SEGMETRICS_DELETE_CONTACT\", {\n slug: \"segmetrics-delete-contact\",\n name: \"Delete Contact\",\n description: \"Tool to permanently delete a specific contact by ID or email from SegMetrics. Use after confirming the contact exists. This action is irreversible. Note: Associated invoices and purchases remain in the system.\",\n input: SegmetricsDeleteContactInput,\n output: SegmetricsDeleteContactOutput,\n});\n"],"mappings":";;AAgBA,MAAa,0BAA0B,OAAO,6BAA6B;CACzE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAhBwD,EAAE,OAAO;EACjE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,sHAAsH;EACtJ,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,uIAAuI;EAC3K,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,2JAA2J;CACtM,CAAC,CAAC,CAAC,SAAS,wCAYH;CACP,QAZyD,EAAE,OAAO;EAClE,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC9E,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpF,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C;EACtE,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxF,CAAC,CAAC,CAAC,SAAS,mHAOF;AACV,CAAC"}
@@ -0,0 +1,7 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_create_product = require("./create-product.cjs");
3
+ const require_delete_contact = require("./delete-contact.cjs");
4
+ const require_v1_add_or_update_contact = require("./v1-add-or-update-contact.cjs");
5
+ exports.segmetricsCreateProduct = require_create_product.segmetricsCreateProduct;
6
+ exports.segmetricsDeleteContact = require_delete_contact.segmetricsDeleteContact;
7
+ exports.segmetricsV1AddOrUpdateContact = require_v1_add_or_update_contact.segmetricsV1AddOrUpdateContact;
@@ -0,0 +1,4 @@
1
+ import { segmetricsCreateProduct } from "./create-product.cjs";
2
+ import { segmetricsDeleteContact } from "./delete-contact.cjs";
3
+ import { segmetricsV1AddOrUpdateContact } from "./v1-add-or-update-contact.cjs";
4
+ export { segmetricsCreateProduct, segmetricsDeleteContact, segmetricsV1AddOrUpdateContact };
@@ -0,0 +1,4 @@
1
+ import { segmetricsCreateProduct } from "./create-product.mjs";
2
+ import { segmetricsDeleteContact } from "./delete-contact.mjs";
3
+ import { segmetricsV1AddOrUpdateContact } from "./v1-add-or-update-contact.mjs";
4
+ export { segmetricsCreateProduct, segmetricsDeleteContact, segmetricsV1AddOrUpdateContact };
@@ -0,0 +1,4 @@
1
+ import { segmetricsCreateProduct } from "./create-product.mjs";
2
+ import { segmetricsDeleteContact } from "./delete-contact.mjs";
3
+ import { segmetricsV1AddOrUpdateContact } from "./v1-add-or-update-contact.mjs";
4
+ export { segmetricsCreateProduct, segmetricsDeleteContact, segmetricsV1AddOrUpdateContact };
@@ -0,0 +1,31 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/v1-add-or-update-contact.ts
4
+ const SegmetricsV1AddOrUpdateContactInput = zod.z.object({
5
+ email: zod.z.string().describe("Contact's email address."),
6
+ status: zod.z.enum(["active", "inactive"]).describe("Contact status, either 'active' or 'inactive'.").optional(),
7
+ utm_term: zod.z.string().describe("UTM term parameter.").optional(),
8
+ last_name: zod.z.string().describe("Contact's last name.").optional(),
9
+ account_id: zod.z.string().describe("SegMetrics account ID (Site ID). Found in your SegMetrics Account settings. Format: 6+ characters starting with 'a'."),
10
+ contact_id: zod.z.string().describe("Unique identifier for the contact (string or numeric). Optional if email is provided.").optional(),
11
+ first_name: zod.z.string().describe("Contact's first name.").optional(),
12
+ utm_medium: zod.z.string().describe("UTM medium parameter.").optional(),
13
+ utm_source: zod.z.string().describe("UTM source parameter.").optional(),
14
+ utm_content: zod.z.string().describe("UTM content parameter.").optional(),
15
+ date_created: zod.z.string().describe("Creation timestamp (YYYY-MM-DD HH:MM:SS).").optional(),
16
+ last_updated: zod.z.string().describe("Last-update timestamp (YYYY-MM-DD HH:MM:SS).").optional(),
17
+ utm_campaign: zod.z.string().describe("UTM campaign parameter.").optional(),
18
+ integration_id: zod.z.string().describe("Integration ID to which this contact belongs. Found in SegMetrics integration settings or in the URL when configuring an integration.")
19
+ }).describe("Request schema for adding or updating a contact in SegMetrics.");
20
+ const SegmetricsV1AddOrUpdateContactOutput = zod.z.object({ status: zod.z.string().describe("API response status, expected 'success'.") }).describe("Response schema for add or update contact in SegMetrics.");
21
+ const segmetricsV1AddOrUpdateContact = require_action.action("SEGMETRICS_V1_ADD_OR_UPDATE_CONTACT", {
22
+ slug: "segmetrics-v1-add-or-update-contact",
23
+ name: "Add or Update Contact",
24
+ description: "Tool to add or update a contact in SegMetrics. Use when you need to upsert the contact record during data import.",
25
+ input: SegmetricsV1AddOrUpdateContactInput,
26
+ output: SegmetricsV1AddOrUpdateContactOutput
27
+ });
28
+ //#endregion
29
+ exports.segmetricsV1AddOrUpdateContact = segmetricsV1AddOrUpdateContact;
30
+
31
+ //# sourceMappingURL=v1-add-or-update-contact.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1-add-or-update-contact.cjs","names":["z","action"],"sources":["../../src/actions/v1-add-or-update-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SegmetricsV1AddOrUpdateContactInput: z.ZodTypeAny = z.object({\n email: z.string().describe(\"Contact's email address.\"),\n status: z.enum([\"active\", \"inactive\"]).describe(\"Contact status, either 'active' or 'inactive'.\").optional(),\n utm_term: z.string().describe(\"UTM term parameter.\").optional(),\n last_name: z.string().describe(\"Contact's last name.\").optional(),\n account_id: z.string().describe(\"SegMetrics account ID (Site ID). Found in your SegMetrics Account settings. Format: 6+ characters starting with 'a'.\"),\n contact_id: z.string().describe(\"Unique identifier for the contact (string or numeric). Optional if email is provided.\").optional(),\n first_name: z.string().describe(\"Contact's first name.\").optional(),\n utm_medium: z.string().describe(\"UTM medium parameter.\").optional(),\n utm_source: z.string().describe(\"UTM source parameter.\").optional(),\n utm_content: z.string().describe(\"UTM content parameter.\").optional(),\n date_created: z.string().describe(\"Creation timestamp (YYYY-MM-DD HH:MM:SS).\").optional(),\n last_updated: z.string().describe(\"Last-update timestamp (YYYY-MM-DD HH:MM:SS).\").optional(),\n utm_campaign: z.string().describe(\"UTM campaign parameter.\").optional(),\n integration_id: z.string().describe(\"Integration ID to which this contact belongs. Found in SegMetrics integration settings or in the URL when configuring an integration.\"),\n}).describe(\"Request schema for adding or updating a contact in SegMetrics.\");\nexport const SegmetricsV1AddOrUpdateContactOutput: z.ZodTypeAny = z.object({\n status: z.string().describe(\"API response status, expected 'success'.\"),\n}).describe(\"Response schema for add or update contact in SegMetrics.\");\n\nexport const segmetricsV1AddOrUpdateContact = action(\"SEGMETRICS_V1_ADD_OR_UPDATE_CONTACT\", {\n slug: \"segmetrics-v1-add-or-update-contact\",\n name: \"Add or Update Contact\",\n description: \"Tool to add or update a contact in SegMetrics. Use when you need to upsert the contact record during data import.\",\n input: SegmetricsV1AddOrUpdateContactInput,\n output: SegmetricsV1AddOrUpdateContactOutput,\n});\n"],"mappings":";;;AAIA,MAAa,sCAAoDA,IAAAA,EAAE,OAAO;CACxE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B;CACrD,QAAQA,IAAAA,EAAE,KAAK,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS;CAC3G,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS;CAC9D,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS;CAChE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sHAAsH;CACtJ,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uFAAuF,CAAC,CAAC,SAAS;CAClI,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS;CAClE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS;CAClE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS;CAClE,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;CACpE,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CACxF,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;CAC3F,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;CACtE,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uIAAuI;AAC7K,CAAC,CAAC,CAAC,SAAS,gEAAgE;AAC5E,MAAa,uCAAqDA,IAAAA,EAAE,OAAO,EACzE,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,EACxE,CAAC,CAAC,CAAC,SAAS,0DAA0D;AAEtE,MAAa,iCAAiCC,eAAAA,OAAO,uCAAuC;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/v1-add-or-update-contact.d.ts
4
+ declare const SegmetricsV1AddOrUpdateContactInput: z.ZodTypeAny;
5
+ declare const SegmetricsV1AddOrUpdateContactOutput: z.ZodTypeAny;
6
+ declare const segmetricsV1AddOrUpdateContact: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { segmetricsV1AddOrUpdateContact };
9
+ //# sourceMappingURL=v1-add-or-update-contact.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1-add-or-update-contact.d.cts","names":[],"sources":["../../src/actions/v1-add-or-update-contact.ts"],"mappings":";;;cAIa,mCAAA,EAAqC,CAAA,CAAE,UAeyB;AAAA,cAChE,oCAAA,EAAsC,CAAA,CAAE,UAEkB;AAAA,cAE1D,8BAAA,gCAA8B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/v1-add-or-update-contact.d.ts
4
+ declare const SegmetricsV1AddOrUpdateContactInput: z.ZodTypeAny;
5
+ declare const SegmetricsV1AddOrUpdateContactOutput: z.ZodTypeAny;
6
+ declare const segmetricsV1AddOrUpdateContact: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { segmetricsV1AddOrUpdateContact };
9
+ //# sourceMappingURL=v1-add-or-update-contact.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1-add-or-update-contact.d.mts","names":[],"sources":["../../src/actions/v1-add-or-update-contact.ts"],"mappings":";;;cAIa,mCAAA,EAAqC,CAAA,CAAE,UAeyB;AAAA,cAChE,oCAAA,EAAsC,CAAA,CAAE,UAEkB;AAAA,cAE1D,8BAAA,gCAA8B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,28 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const segmetricsV1AddOrUpdateContact = action("SEGMETRICS_V1_ADD_OR_UPDATE_CONTACT", {
4
+ slug: "segmetrics-v1-add-or-update-contact",
5
+ name: "Add or Update Contact",
6
+ description: "Tool to add or update a contact in SegMetrics. Use when you need to upsert the contact record during data import.",
7
+ input: z.object({
8
+ email: z.string().describe("Contact's email address."),
9
+ status: z.enum(["active", "inactive"]).describe("Contact status, either 'active' or 'inactive'.").optional(),
10
+ utm_term: z.string().describe("UTM term parameter.").optional(),
11
+ last_name: z.string().describe("Contact's last name.").optional(),
12
+ account_id: z.string().describe("SegMetrics account ID (Site ID). Found in your SegMetrics Account settings. Format: 6+ characters starting with 'a'."),
13
+ contact_id: z.string().describe("Unique identifier for the contact (string or numeric). Optional if email is provided.").optional(),
14
+ first_name: z.string().describe("Contact's first name.").optional(),
15
+ utm_medium: z.string().describe("UTM medium parameter.").optional(),
16
+ utm_source: z.string().describe("UTM source parameter.").optional(),
17
+ utm_content: z.string().describe("UTM content parameter.").optional(),
18
+ date_created: z.string().describe("Creation timestamp (YYYY-MM-DD HH:MM:SS).").optional(),
19
+ last_updated: z.string().describe("Last-update timestamp (YYYY-MM-DD HH:MM:SS).").optional(),
20
+ utm_campaign: z.string().describe("UTM campaign parameter.").optional(),
21
+ integration_id: z.string().describe("Integration ID to which this contact belongs. Found in SegMetrics integration settings or in the URL when configuring an integration.")
22
+ }).describe("Request schema for adding or updating a contact in SegMetrics."),
23
+ output: z.object({ status: z.string().describe("API response status, expected 'success'.") }).describe("Response schema for add or update contact in SegMetrics.")
24
+ });
25
+ //#endregion
26
+ export { segmetricsV1AddOrUpdateContact };
27
+
28
+ //# sourceMappingURL=v1-add-or-update-contact.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1-add-or-update-contact.mjs","names":[],"sources":["../../src/actions/v1-add-or-update-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SegmetricsV1AddOrUpdateContactInput: z.ZodTypeAny = z.object({\n email: z.string().describe(\"Contact's email address.\"),\n status: z.enum([\"active\", \"inactive\"]).describe(\"Contact status, either 'active' or 'inactive'.\").optional(),\n utm_term: z.string().describe(\"UTM term parameter.\").optional(),\n last_name: z.string().describe(\"Contact's last name.\").optional(),\n account_id: z.string().describe(\"SegMetrics account ID (Site ID). Found in your SegMetrics Account settings. Format: 6+ characters starting with 'a'.\"),\n contact_id: z.string().describe(\"Unique identifier for the contact (string or numeric). Optional if email is provided.\").optional(),\n first_name: z.string().describe(\"Contact's first name.\").optional(),\n utm_medium: z.string().describe(\"UTM medium parameter.\").optional(),\n utm_source: z.string().describe(\"UTM source parameter.\").optional(),\n utm_content: z.string().describe(\"UTM content parameter.\").optional(),\n date_created: z.string().describe(\"Creation timestamp (YYYY-MM-DD HH:MM:SS).\").optional(),\n last_updated: z.string().describe(\"Last-update timestamp (YYYY-MM-DD HH:MM:SS).\").optional(),\n utm_campaign: z.string().describe(\"UTM campaign parameter.\").optional(),\n integration_id: z.string().describe(\"Integration ID to which this contact belongs. Found in SegMetrics integration settings or in the URL when configuring an integration.\"),\n}).describe(\"Request schema for adding or updating a contact in SegMetrics.\");\nexport const SegmetricsV1AddOrUpdateContactOutput: z.ZodTypeAny = z.object({\n status: z.string().describe(\"API response status, expected 'success'.\"),\n}).describe(\"Response schema for add or update contact in SegMetrics.\");\n\nexport const segmetricsV1AddOrUpdateContact = action(\"SEGMETRICS_V1_ADD_OR_UPDATE_CONTACT\", {\n slug: \"segmetrics-v1-add-or-update-contact\",\n name: \"Add or Update Contact\",\n description: \"Tool to add or update a contact in SegMetrics. Use when you need to upsert the contact record during data import.\",\n input: SegmetricsV1AddOrUpdateContactInput,\n output: SegmetricsV1AddOrUpdateContactOutput,\n});\n"],"mappings":";;AAwBA,MAAa,iCAAiC,OAAO,uCAAuC;CAC1F,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAxB+D,EAAE,OAAO;EACxE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B;EACrD,QAAQ,EAAE,KAAK,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS;EAC3G,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS;EAC9D,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS;EAChE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,sHAAsH;EACtJ,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,uFAAuF,CAAC,CAAC,SAAS;EAClI,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS;EAClE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS;EAClE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS;EAClE,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;EACpE,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;EACxF,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;EAC3F,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;EACtE,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,uIAAuI;CAC7K,CAAC,CAAC,CAAC,SAAS,gEASH;CACP,QATgE,EAAE,OAAO,EACzE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,EACxE,CAAC,CAAC,CAAC,SAAS,0DAOF;AACV,CAAC"}
package/dist/app.cjs ADDED
@@ -0,0 +1,9 @@
1
+ //#region src/app.ts
2
+ const segmetrics = (0, require("@keystrokehq/keystroke/app").defineApp)({
3
+ slug: "segmetrics",
4
+ auth: "keystroke"
5
+ });
6
+ //#endregion
7
+ exports.segmetrics = segmetrics;
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 segmetrics = defineApp({\n slug: \"segmetrics\",\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 segmetrics: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { segmetrics };
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 segmetrics: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { segmetrics };
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 segmetrics = defineApp({
4
+ slug: "segmetrics",
5
+ auth: "keystroke"
6
+ });
7
+ //#endregion
8
+ export { segmetrics };
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 segmetrics = defineApp({\n slug: \"segmetrics\",\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 segmetricsCatalog = {
4
+ "slug": "segmetrics",
5
+ "name": "Segmetrics",
6
+ "description": "SegMetrics is a marketing analytics platform that provides detailed insights into customer journeys, helping businesses optimize their marketing strategies.",
7
+ "category": "Analytics",
8
+ "logo": "https://logos.composio.dev/api/segmetrics",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ exports.segmetricsCatalog = segmetricsCatalog;
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 segmetricsCatalog = {\n \"slug\": \"segmetrics\",\n \"name\": \"Segmetrics\",\n \"description\": \"SegMetrics is a marketing analytics platform that provides detailed insights into customer journeys, helping businesses optimize their marketing strategies.\",\n \"category\": \"Analytics\",\n \"logo\": \"https://logos.composio.dev/api/segmetrics\",\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 segmetricsCatalog: {
4
+ readonly slug: "segmetrics";
5
+ readonly name: "Segmetrics";
6
+ readonly description: "SegMetrics is a marketing analytics platform that provides detailed insights into customer journeys, helping businesses optimize their marketing strategies.";
7
+ readonly category: "Analytics";
8
+ readonly logo: "https://logos.composio.dev/api/segmetrics";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { segmetricsCatalog };
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 segmetricsCatalog: {
4
+ readonly slug: "segmetrics";
5
+ readonly name: "Segmetrics";
6
+ readonly description: "SegMetrics is a marketing analytics platform that provides detailed insights into customer journeys, helping businesses optimize their marketing strategies.";
7
+ readonly category: "Analytics";
8
+ readonly logo: "https://logos.composio.dev/api/segmetrics";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { segmetricsCatalog };
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 segmetricsCatalog = {
4
+ "slug": "segmetrics",
5
+ "name": "Segmetrics",
6
+ "description": "SegMetrics is a marketing analytics platform that provides detailed insights into customer journeys, helping businesses optimize their marketing strategies.",
7
+ "category": "Analytics",
8
+ "logo": "https://logos.composio.dev/api/segmetrics",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ export { segmetricsCatalog };
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 segmetricsCatalog = {\n \"slug\": \"segmetrics\",\n \"name\": \"Segmetrics\",\n \"description\": \"SegMetrics is a marketing analytics platform that provides detailed insights into customer journeys, helping businesses optimize their marketing strategies.\",\n \"category\": \"Analytics\",\n \"logo\": \"https://logos.composio.dev/api/segmetrics\",\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 = "segmetrics";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeSegmetricsTool(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.executeSegmetricsTool = executeSegmetricsTool;
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 = \"segmetrics\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeSegmetricsTool(\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 = "segmetrics";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeSegmetricsTool(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 { executeSegmetricsTool };
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 = \"segmetrics\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeSegmetricsTool(\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,12 @@
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_create_product = require("./actions/create-product.cjs");
5
+ const require_delete_contact = require("./actions/delete-contact.cjs");
6
+ const require_v1_add_or_update_contact = require("./actions/v1-add-or-update-contact.cjs");
7
+ require("./actions/index.cjs");
8
+ exports.segmetrics = require_app.segmetrics;
9
+ exports.segmetricsCatalog = require_catalog.segmetricsCatalog;
10
+ exports.segmetricsCreateProduct = require_create_product.segmetricsCreateProduct;
11
+ exports.segmetricsDeleteContact = require_delete_contact.segmetricsDeleteContact;
12
+ exports.segmetricsV1AddOrUpdateContact = require_v1_add_or_update_contact.segmetricsV1AddOrUpdateContact;
@@ -0,0 +1,6 @@
1
+ import { segmetricsCreateProduct } from "./actions/create-product.cjs";
2
+ import { segmetricsDeleteContact } from "./actions/delete-contact.cjs";
3
+ import { segmetricsV1AddOrUpdateContact } from "./actions/v1-add-or-update-contact.cjs";
4
+ import { segmetrics } from "./app.cjs";
5
+ import { segmetricsCatalog } from "./catalog.cjs";
6
+ export { segmetrics, segmetricsCatalog, segmetricsCreateProduct, segmetricsDeleteContact, segmetricsV1AddOrUpdateContact };
@@ -0,0 +1,6 @@
1
+ import { segmetricsCreateProduct } from "./actions/create-product.mjs";
2
+ import { segmetricsDeleteContact } from "./actions/delete-contact.mjs";
3
+ import { segmetricsV1AddOrUpdateContact } from "./actions/v1-add-or-update-contact.mjs";
4
+ import { segmetrics } from "./app.mjs";
5
+ import { segmetricsCatalog } from "./catalog.mjs";
6
+ export { segmetrics, segmetricsCatalog, segmetricsCreateProduct, segmetricsDeleteContact, segmetricsV1AddOrUpdateContact };
package/dist/index.mjs ADDED
@@ -0,0 +1,7 @@
1
+ import { segmetrics } from "./app.mjs";
2
+ import { segmetricsCatalog } from "./catalog.mjs";
3
+ import { segmetricsCreateProduct } from "./actions/create-product.mjs";
4
+ import { segmetricsDeleteContact } from "./actions/delete-contact.mjs";
5
+ import { segmetricsV1AddOrUpdateContact } from "./actions/v1-add-or-update-contact.mjs";
6
+ import "./actions/index.mjs";
7
+ export { segmetrics, segmetricsCatalog, segmetricsCreateProduct, segmetricsDeleteContact, segmetricsV1AddOrUpdateContact };
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@keystrokehq/segmetrics",
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/segmetrics"
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
+ }