@keystrokehq/simple_analytics 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 (66) 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/admin-api-list-websites.cjs +29 -0
  7. package/dist/actions/admin-api-list-websites.cjs.map +1 -0
  8. package/dist/actions/admin-api-list-websites.d.cts +9 -0
  9. package/dist/actions/admin-api-list-websites.d.cts.map +1 -0
  10. package/dist/actions/admin-api-list-websites.d.mts +9 -0
  11. package/dist/actions/admin-api-list-websites.d.mts.map +1 -0
  12. package/dist/actions/admin-api-list-websites.mjs +28 -0
  13. package/dist/actions/admin-api-list-websites.mjs.map +1 -0
  14. package/dist/actions/export-api-get-raw-data.cjs +81 -0
  15. package/dist/actions/export-api-get-raw-data.cjs.map +1 -0
  16. package/dist/actions/export-api-get-raw-data.d.cts +9 -0
  17. package/dist/actions/export-api-get-raw-data.d.cts.map +1 -0
  18. package/dist/actions/export-api-get-raw-data.d.mts +9 -0
  19. package/dist/actions/export-api-get-raw-data.d.mts.map +1 -0
  20. package/dist/actions/export-api-get-raw-data.mjs +80 -0
  21. package/dist/actions/export-api-get-raw-data.mjs.map +1 -0
  22. package/dist/actions/get-aggregated-stats.cjs +43 -0
  23. package/dist/actions/get-aggregated-stats.cjs.map +1 -0
  24. package/dist/actions/get-aggregated-stats.d.cts +9 -0
  25. package/dist/actions/get-aggregated-stats.d.cts.map +1 -0
  26. package/dist/actions/get-aggregated-stats.d.mts +9 -0
  27. package/dist/actions/get-aggregated-stats.d.mts.map +1 -0
  28. package/dist/actions/get-aggregated-stats.mjs +42 -0
  29. package/dist/actions/get-aggregated-stats.mjs.map +1 -0
  30. package/dist/actions/index.cjs +9 -0
  31. package/dist/actions/index.d.cts +5 -0
  32. package/dist/actions/index.d.mts +5 -0
  33. package/dist/actions/index.mjs +5 -0
  34. package/dist/actions/send-event.cjs +39 -0
  35. package/dist/actions/send-event.cjs.map +1 -0
  36. package/dist/actions/send-event.d.cts +9 -0
  37. package/dist/actions/send-event.d.cts.map +1 -0
  38. package/dist/actions/send-event.d.mts +9 -0
  39. package/dist/actions/send-event.d.mts.map +1 -0
  40. package/dist/actions/send-event.mjs +36 -0
  41. package/dist/actions/send-event.mjs.map +1 -0
  42. package/dist/app.cjs +9 -0
  43. package/dist/app.cjs.map +1 -0
  44. package/dist/app.d.cts +5 -0
  45. package/dist/app.d.cts.map +1 -0
  46. package/dist/app.d.mts +5 -0
  47. package/dist/app.d.mts.map +1 -0
  48. package/dist/app.mjs +10 -0
  49. package/dist/app.mjs.map +1 -0
  50. package/dist/catalog.cjs +15 -0
  51. package/dist/catalog.cjs.map +1 -0
  52. package/dist/catalog.d.cts +14 -0
  53. package/dist/catalog.d.cts.map +1 -0
  54. package/dist/catalog.d.mts +14 -0
  55. package/dist/catalog.d.mts.map +1 -0
  56. package/dist/catalog.mjs +15 -0
  57. package/dist/catalog.mjs.map +1 -0
  58. package/dist/execute.cjs +18 -0
  59. package/dist/execute.cjs.map +1 -0
  60. package/dist/execute.mjs +18 -0
  61. package/dist/execute.mjs.map +1 -0
  62. package/dist/index.cjs +14 -0
  63. package/dist/index.d.cts +7 -0
  64. package/dist/index.d.mts +7 -0
  65. package/dist/index.mjs +8 -0
  66. package/package.json +49 -0
package/README.md ADDED
@@ -0,0 +1,17 @@
1
+ # @keystrokehq/simple_analytics
2
+
3
+ Keystroke-managed integration.
4
+
5
+ **App:** `simple_analytics`
6
+ **Version:** `20260615_00`
7
+ **Actions:** 4
8
+
9
+ ```ts
10
+ import { defineAgent } from "@keystrokehq/keystroke/agent";
11
+ import { simpleAnalyticsAdminApiListWebsites } from "@keystrokehq/simple_analytics/actions";
12
+
13
+ export default defineAgent({
14
+ key: "simple_analytics-agent",
15
+ tools: [simpleAnalyticsAdminApiListWebsites],
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.simpleAnalytics.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.executeSimpleAnalyticsTool(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":["simpleAnalytics","executeSimpleAnalyticsTool"],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { simpleAnalytics } from \"./app\";\nimport { executeSimpleAnalyticsTool } 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 simpleAnalytics.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 executeSimpleAnalyticsTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAOA,YAAAA,gBAAgB,OAAO;EAC5B,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,2BAA2B,MAAM,KAAgC,CAAC;EAClG;CACF,CAAC;AACH"}
@@ -0,0 +1,21 @@
1
+ import { simpleAnalytics } from "./app.mjs";
2
+ import { executeSimpleAnalyticsTool } 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 simpleAnalytics.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 executeSimpleAnalyticsTool(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 { simpleAnalytics } from \"./app\";\nimport { executeSimpleAnalyticsTool } 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 simpleAnalytics.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 executeSimpleAnalyticsTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAO,gBAAgB,OAAO;EAC5B,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAM,2BAA2B,MAAM,KAAgC,CAAC;EAClG;CACF,CAAC;AACH"}
@@ -0,0 +1,29 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/admin-api-list-websites.ts
4
+ const SimpleAnalyticsAdminApiListWebsitesInput = zod.z.object({}).describe("Request model for listing websites. No parameters are required -\nreturns all websites associated with the authenticated user's account.");
5
+ const SimpleAnalyticsAdminApiListWebsites_WebsiteSchema = zod.z.object({
6
+ events: zod.z.number().int().describe("Total number of custom events recorded for this website"),
7
+ has_ssl: zod.z.boolean().describe("Whether the website has SSL/HTTPS configured"),
8
+ hostname: zod.z.string().describe("The domain/hostname of the website"),
9
+ timezone: zod.z.string().describe("The timezone configured for the website (e.g., 'UTC', 'America/New_York')"),
10
+ is_public: zod.z.boolean().describe("Whether the website's analytics are publicly accessible"),
11
+ pageviews: zod.z.number().int().describe("Total number of page views recorded for this website"),
12
+ has_script: zod.z.boolean().describe("Whether the Simple Analytics tracking script has been detected on the website"),
13
+ own_hostname: zod.z.string().describe("Custom hostname for analytics (if using a custom subdomain)").nullable().optional()
14
+ }).describe("Represents a website tracked by Simple Analytics.");
15
+ const SimpleAnalyticsAdminApiListWebsitesOutput = zod.z.object({
16
+ success: zod.z.boolean().describe("Indicates if the API request was successful"),
17
+ websites: zod.z.array(SimpleAnalyticsAdminApiListWebsites_WebsiteSchema).describe("List of websites associated with the authenticated user's account")
18
+ }).describe("Response containing a list of all websites tracked by the authenticated user.");
19
+ const simpleAnalyticsAdminApiListWebsites = require_action.action("SIMPLE_ANALYTICS_ADMIN_API_LIST_WEBSITES", {
20
+ slug: "simple_analytics-admin-api-list-websites",
21
+ name: "List Websites (Admin API)",
22
+ description: "Tool to list all websites associated with the authenticated user. Use after authenticating an admin account to retrieve website list.",
23
+ input: SimpleAnalyticsAdminApiListWebsitesInput,
24
+ output: SimpleAnalyticsAdminApiListWebsitesOutput
25
+ });
26
+ //#endregion
27
+ exports.simpleAnalyticsAdminApiListWebsites = simpleAnalyticsAdminApiListWebsites;
28
+
29
+ //# sourceMappingURL=admin-api-list-websites.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-api-list-websites.cjs","names":["z","action"],"sources":["../../src/actions/admin-api-list-websites.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SimpleAnalyticsAdminApiListWebsitesInput: z.ZodTypeAny = z.object({}).describe(\"Request model for listing websites. No parameters are required -\\nreturns all websites associated with the authenticated user's account.\");\nconst SimpleAnalyticsAdminApiListWebsites_WebsiteSchema: z.ZodTypeAny = z.object({\n events: z.number().int().describe(\"Total number of custom events recorded for this website\"),\n has_ssl: z.boolean().describe(\"Whether the website has SSL/HTTPS configured\"),\n hostname: z.string().describe(\"The domain/hostname of the website\"),\n timezone: z.string().describe(\"The timezone configured for the website (e.g., 'UTC', 'America/New_York')\"),\n is_public: z.boolean().describe(\"Whether the website's analytics are publicly accessible\"),\n pageviews: z.number().int().describe(\"Total number of page views recorded for this website\"),\n has_script: z.boolean().describe(\"Whether the Simple Analytics tracking script has been detected on the website\"),\n own_hostname: z.string().describe(\"Custom hostname for analytics (if using a custom subdomain)\").nullable().optional(),\n}).describe(\"Represents a website tracked by Simple Analytics.\");\nexport const SimpleAnalyticsAdminApiListWebsitesOutput: z.ZodTypeAny = z.object({\n success: z.boolean().describe(\"Indicates if the API request was successful\"),\n websites: z.array(SimpleAnalyticsAdminApiListWebsites_WebsiteSchema).describe(\"List of websites associated with the authenticated user's account\"),\n}).describe(\"Response containing a list of all websites tracked by the authenticated user.\");\n\nexport const simpleAnalyticsAdminApiListWebsites = action(\"SIMPLE_ANALYTICS_ADMIN_API_LIST_WEBSITES\", {\n slug: \"simple_analytics-admin-api-list-websites\",\n name: \"List Websites (Admin API)\",\n description: \"Tool to list all websites associated with the authenticated user. Use after authenticating an admin account to retrieve website list.\",\n input: SimpleAnalyticsAdminApiListWebsitesInput,\n output: SimpleAnalyticsAdminApiListWebsitesOutput,\n});\n"],"mappings":";;;AAIA,MAAa,2CAAyDA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,0IAA0I;AACtO,MAAM,oDAAkEA,IAAAA,EAAE,OAAO;CAC/E,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yDAAyD;CAC3F,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,8CAA8C;CAC5E,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC;CAClE,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2EAA2E;CACzG,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD;CACzF,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sDAAsD;CAC3F,YAAYA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,+EAA+E;CAChH,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvH,CAAC,CAAC,CAAC,SAAS,mDAAmD;AAC/D,MAAa,4CAA0DA,IAAAA,EAAE,OAAO;CAC9E,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,6CAA6C;CAC3E,UAAUA,IAAAA,EAAE,MAAM,iDAAiD,CAAC,CAAC,SAAS,mEAAmE;AACnJ,CAAC,CAAC,CAAC,SAAS,+EAA+E;AAE3F,MAAa,sCAAsCC,eAAAA,OAAO,4CAA4C;CACpG,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/admin-api-list-websites.d.ts
4
+ declare const SimpleAnalyticsAdminApiListWebsitesInput: z.ZodTypeAny;
5
+ declare const SimpleAnalyticsAdminApiListWebsitesOutput: z.ZodTypeAny;
6
+ declare const simpleAnalyticsAdminApiListWebsites: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { simpleAnalyticsAdminApiListWebsites };
9
+ //# sourceMappingURL=admin-api-list-websites.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-api-list-websites.d.cts","names":[],"sources":["../../src/actions/admin-api-list-websites.ts"],"mappings":";;;cAIa,wCAAA,EAA0C,CAAA,CAAE,UAA8K;AAAA,cAW1N,yCAAA,EAA2C,CAAA,CAAE,UAGkC;AAAA,cAE/E,mCAAA,gCAAmC,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/admin-api-list-websites.d.ts
4
+ declare const SimpleAnalyticsAdminApiListWebsitesInput: z.ZodTypeAny;
5
+ declare const SimpleAnalyticsAdminApiListWebsitesOutput: z.ZodTypeAny;
6
+ declare const simpleAnalyticsAdminApiListWebsites: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { simpleAnalyticsAdminApiListWebsites };
9
+ //# sourceMappingURL=admin-api-list-websites.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-api-list-websites.d.mts","names":[],"sources":["../../src/actions/admin-api-list-websites.ts"],"mappings":";;;cAIa,wCAAA,EAA0C,CAAA,CAAE,UAA8K;AAAA,cAW1N,yCAAA,EAA2C,CAAA,CAAE,UAGkC;AAAA,cAE/E,mCAAA,gCAAmC,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,28 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/admin-api-list-websites.ts
4
+ const SimpleAnalyticsAdminApiListWebsitesInput = z.object({}).describe("Request model for listing websites. No parameters are required -\nreturns all websites associated with the authenticated user's account.");
5
+ const SimpleAnalyticsAdminApiListWebsites_WebsiteSchema = z.object({
6
+ events: z.number().int().describe("Total number of custom events recorded for this website"),
7
+ has_ssl: z.boolean().describe("Whether the website has SSL/HTTPS configured"),
8
+ hostname: z.string().describe("The domain/hostname of the website"),
9
+ timezone: z.string().describe("The timezone configured for the website (e.g., 'UTC', 'America/New_York')"),
10
+ is_public: z.boolean().describe("Whether the website's analytics are publicly accessible"),
11
+ pageviews: z.number().int().describe("Total number of page views recorded for this website"),
12
+ has_script: z.boolean().describe("Whether the Simple Analytics tracking script has been detected on the website"),
13
+ own_hostname: z.string().describe("Custom hostname for analytics (if using a custom subdomain)").nullable().optional()
14
+ }).describe("Represents a website tracked by Simple Analytics.");
15
+ const simpleAnalyticsAdminApiListWebsites = action("SIMPLE_ANALYTICS_ADMIN_API_LIST_WEBSITES", {
16
+ slug: "simple_analytics-admin-api-list-websites",
17
+ name: "List Websites (Admin API)",
18
+ description: "Tool to list all websites associated with the authenticated user. Use after authenticating an admin account to retrieve website list.",
19
+ input: SimpleAnalyticsAdminApiListWebsitesInput,
20
+ output: z.object({
21
+ success: z.boolean().describe("Indicates if the API request was successful"),
22
+ websites: z.array(SimpleAnalyticsAdminApiListWebsites_WebsiteSchema).describe("List of websites associated with the authenticated user's account")
23
+ }).describe("Response containing a list of all websites tracked by the authenticated user.")
24
+ });
25
+ //#endregion
26
+ export { simpleAnalyticsAdminApiListWebsites };
27
+
28
+ //# sourceMappingURL=admin-api-list-websites.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-api-list-websites.mjs","names":[],"sources":["../../src/actions/admin-api-list-websites.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SimpleAnalyticsAdminApiListWebsitesInput: z.ZodTypeAny = z.object({}).describe(\"Request model for listing websites. No parameters are required -\\nreturns all websites associated with the authenticated user's account.\");\nconst SimpleAnalyticsAdminApiListWebsites_WebsiteSchema: z.ZodTypeAny = z.object({\n events: z.number().int().describe(\"Total number of custom events recorded for this website\"),\n has_ssl: z.boolean().describe(\"Whether the website has SSL/HTTPS configured\"),\n hostname: z.string().describe(\"The domain/hostname of the website\"),\n timezone: z.string().describe(\"The timezone configured for the website (e.g., 'UTC', 'America/New_York')\"),\n is_public: z.boolean().describe(\"Whether the website's analytics are publicly accessible\"),\n pageviews: z.number().int().describe(\"Total number of page views recorded for this website\"),\n has_script: z.boolean().describe(\"Whether the Simple Analytics tracking script has been detected on the website\"),\n own_hostname: z.string().describe(\"Custom hostname for analytics (if using a custom subdomain)\").nullable().optional(),\n}).describe(\"Represents a website tracked by Simple Analytics.\");\nexport const SimpleAnalyticsAdminApiListWebsitesOutput: z.ZodTypeAny = z.object({\n success: z.boolean().describe(\"Indicates if the API request was successful\"),\n websites: z.array(SimpleAnalyticsAdminApiListWebsites_WebsiteSchema).describe(\"List of websites associated with the authenticated user's account\"),\n}).describe(\"Response containing a list of all websites tracked by the authenticated user.\");\n\nexport const simpleAnalyticsAdminApiListWebsites = action(\"SIMPLE_ANALYTICS_ADMIN_API_LIST_WEBSITES\", {\n slug: \"simple_analytics-admin-api-list-websites\",\n name: \"List Websites (Admin API)\",\n description: \"Tool to list all websites associated with the authenticated user. Use after authenticating an admin account to retrieve website list.\",\n input: SimpleAnalyticsAdminApiListWebsitesInput,\n output: SimpleAnalyticsAdminApiListWebsitesOutput,\n});\n"],"mappings":";;;AAIA,MAAa,2CAAyD,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,0IAA0I;AACtO,MAAM,oDAAkE,EAAE,OAAO;CAC/E,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yDAAyD;CAC3F,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,8CAA8C;CAC5E,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC;CAClE,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,2EAA2E;CACzG,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD;CACzF,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sDAAsD;CAC3F,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,+EAA+E;CAChH,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvH,CAAC,CAAC,CAAC,SAAS,mDAAmD;AAM/D,MAAa,sCAAsC,OAAO,4CAA4C;CACpG,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAVqE,EAAE,OAAO;EAC9E,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,6CAA6C;EAC3E,UAAU,EAAE,MAAM,iDAAiD,CAAC,CAAC,SAAS,mEAAmE;CACnJ,CAAC,CAAC,CAAC,SAAS,+EAOF;AACV,CAAC"}
@@ -0,0 +1,81 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/export-api-get-raw-data.ts
4
+ const SimpleAnalyticsExportApiGetRawDataInput = zod.z.object({
5
+ fields: zod.z.array(zod.z.string()).describe("List of data fields to include. Valid fields: added_date, added_iso, added_unix, browser_name, browser_version, country_code, device_type, document_referrer, duration_seconds, hostname, hostname_original, is_robot, is_unique, lang_language, lang_region, os_name, os_version, path, path_and_query, query, referrer_hostname, referrer_path, screen_height, screen_width, scrolled_percentage, session_id, user_agent, utm_campaign, utm_content, utm_medium, utm_source, utm_term, uuid, viewport_height, viewport_width").optional(),
6
+ format: zod.z.enum(["csv", "json"]).default("csv").describe("Response format: 'csv' or 'json'").optional(),
7
+ to_date: zod.z.string().describe("End date in YYYY-MM-DD format").optional(),
8
+ website: zod.z.string().describe("Website domain or site ID to export data for"),
9
+ from_date: zod.z.string().describe("Start date in YYYY-MM-DD format").optional()
10
+ }).describe("Parameters for exporting raw data points for a website.");
11
+ const SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataMetaSchema = zod.z.object({
12
+ amount: zod.z.number().int().describe("Number of data points returned").nullable().optional(),
13
+ createdAt: zod.z.string().describe("Timestamp when the export was created").nullable().optional(),
14
+ finishedInMs: zod.z.number().int().describe("Time taken to process the export in milliseconds").nullable().optional()
15
+ }).describe("Metadata about the exported data.");
16
+ const SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataPointSchema = zod.z.object({
17
+ url: zod.z.string().describe("Full URL (legacy field)").nullable().optional(),
18
+ path: zod.z.string().describe("URL path").nullable().optional(),
19
+ uuid: zod.z.string().describe("Unique identifier for the data point").nullable().optional(),
20
+ query: zod.z.string().describe("URL query string").nullable().optional(),
21
+ source: zod.z.string().describe("Source of the data point (legacy field)").nullable().optional(),
22
+ browser: zod.z.string().describe("Browser used for the visit (legacy field)").nullable().optional(),
23
+ os_name: zod.z.string().describe("Operating system name").nullable().optional(),
24
+ hostname: zod.z.string().describe("Hostname of the website").nullable().optional(),
25
+ is_robot: zod.z.boolean().describe("Whether the visitor is a robot").nullable().optional(),
26
+ referrer: zod.z.string().describe("Referrer URL (legacy field)").nullable().optional(),
27
+ utm_term: zod.z.string().describe("UTM term parameter").nullable().optional(),
28
+ added_iso: zod.z.string().describe("ISO 8601 timestamp").nullable().optional(),
29
+ is_unique: zod.z.boolean().describe("Whether this is a unique visit").nullable().optional(),
30
+ added_date: zod.z.string().describe("Date when the data point was added (YYYY-MM-DD)").nullable().optional(),
31
+ added_unix: zod.z.number().int().describe("Unix timestamp").nullable().optional(),
32
+ os_version: zod.z.string().describe("Operating system version").nullable().optional(),
33
+ session_id: zod.z.string().describe("Session identifier").nullable().optional(),
34
+ user_agent: zod.z.string().describe("User agent string").nullable().optional(),
35
+ utm_medium: zod.z.string().describe("UTM medium parameter").nullable().optional(),
36
+ utm_source: zod.z.string().describe("UTM source parameter").nullable().optional(),
37
+ device_type: zod.z.string().describe("Device type").nullable().optional(),
38
+ lang_region: zod.z.string().describe("Language region").nullable().optional(),
39
+ utm_content: zod.z.string().describe("UTM content parameter").nullable().optional(),
40
+ browser_name: zod.z.string().describe("Browser name").nullable().optional(),
41
+ country_code: zod.z.string().describe("Country code").nullable().optional(),
42
+ device_width: zod.z.number().int().describe("Device width (legacy field)").nullable().optional(),
43
+ referrer_raw: zod.z.string().describe("Raw referrer URL (legacy field)").nullable().optional(),
44
+ screen_width: zod.z.number().int().describe("Screen width").nullable().optional(),
45
+ utm_campaign: zod.z.string().describe("UTM campaign parameter").nullable().optional(),
46
+ lang_language: zod.z.string().describe("Language code").nullable().optional(),
47
+ referrer_path: zod.z.string().describe("Referrer path").nullable().optional(),
48
+ screen_height: zod.z.number().int().describe("Screen height").nullable().optional(),
49
+ path_and_query: zod.z.string().describe("URL path and query string").nullable().optional(),
50
+ viewport_width: zod.z.number().int().describe("Viewport width").nullable().optional(),
51
+ browser_version: zod.z.string().describe("Browser version").nullable().optional(),
52
+ viewport_height: zod.z.number().int().describe("Viewport height").nullable().optional(),
53
+ duration_seconds: zod.z.number().int().describe("Duration of visit in seconds").nullable().optional(),
54
+ document_referrer: zod.z.string().describe("Document referrer").nullable().optional(),
55
+ hostname_original: zod.z.string().describe("Original hostname").nullable().optional(),
56
+ referrer_hostname: zod.z.string().describe("Referrer hostname").nullable().optional(),
57
+ device_width_pixels: zod.z.number().int().describe("Device width in pixels (legacy field)").nullable().optional(),
58
+ scrolled_percentage: zod.z.number().int().describe("Percentage of page scrolled").nullable().optional()
59
+ }).describe("A single data point entry for JSON format export.");
60
+ const SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataDetailsSchema = zod.z.object({
61
+ data: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Alternative nested data structure").nullable().optional(),
62
+ meta: SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataMetaSchema.nullable().optional(),
63
+ datapoints: zod.z.array(SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataPointSchema).describe("List of data point objects").nullable().optional()
64
+ }).describe("Data container for JSON format responses.\nHandles both single-nested (data.datapoints) and double-nested (data.data.datapoints) structures.");
65
+ const SimpleAnalyticsExportApiGetRawDataOutput = zod.z.object({
66
+ csv: zod.z.string().describe("Raw CSV data as string when format is 'csv'").nullable().optional(),
67
+ data: SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataDetailsSchema.nullable().optional(),
68
+ error: zod.z.string().describe("Error message if request failed").nullable().optional(),
69
+ successfull: zod.z.boolean().describe("Indicates if the request was successful").nullable().optional()
70
+ }).describe("Response from exporting raw data points.");
71
+ const simpleAnalyticsExportApiGetRawData = require_action.action("SIMPLE_ANALYTICS_EXPORT_API_GET_RAW_DATA", {
72
+ slug: "simple_analytics-export-api-get-raw-data",
73
+ name: "Export Raw Data Points",
74
+ description: "Tool to export raw data points (page views and events) for a specific website. Use when you need to download CSV or JSON exports of site traffic.",
75
+ input: SimpleAnalyticsExportApiGetRawDataInput,
76
+ output: SimpleAnalyticsExportApiGetRawDataOutput
77
+ });
78
+ //#endregion
79
+ exports.simpleAnalyticsExportApiGetRawData = simpleAnalyticsExportApiGetRawData;
80
+
81
+ //# sourceMappingURL=export-api-get-raw-data.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-api-get-raw-data.cjs","names":["z","action"],"sources":["../../src/actions/export-api-get-raw-data.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SimpleAnalyticsExportApiGetRawDataInput: z.ZodTypeAny = z.object({\n fields: z.array(z.string()).describe(\"List of data fields to include. Valid fields: added_date, added_iso, added_unix, browser_name, browser_version, country_code, device_type, document_referrer, duration_seconds, hostname, hostname_original, is_robot, is_unique, lang_language, lang_region, os_name, os_version, path, path_and_query, query, referrer_hostname, referrer_path, screen_height, screen_width, scrolled_percentage, session_id, user_agent, utm_campaign, utm_content, utm_medium, utm_source, utm_term, uuid, viewport_height, viewport_width\").optional(),\n format: z.enum([\"csv\", \"json\"]).default(\"csv\").describe(\"Response format: 'csv' or 'json'\").optional(),\n to_date: z.string().describe(\"End date in YYYY-MM-DD format\").optional(),\n website: z.string().describe(\"Website domain or site ID to export data for\"),\n from_date: z.string().describe(\"Start date in YYYY-MM-DD format\").optional(),\n}).describe(\"Parameters for exporting raw data points for a website.\");\nconst SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataMetaSchema: z.ZodTypeAny = z.object({\n amount: z.number().int().describe(\"Number of data points returned\").nullable().optional(),\n createdAt: z.string().describe(\"Timestamp when the export was created\").nullable().optional(),\n finishedInMs: z.number().int().describe(\"Time taken to process the export in milliseconds\").nullable().optional(),\n}).describe(\"Metadata about the exported data.\");\nconst SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataPointSchema: z.ZodTypeAny = z.object({\n url: z.string().describe(\"Full URL (legacy field)\").nullable().optional(),\n path: z.string().describe(\"URL path\").nullable().optional(),\n uuid: z.string().describe(\"Unique identifier for the data point\").nullable().optional(),\n query: z.string().describe(\"URL query string\").nullable().optional(),\n source: z.string().describe(\"Source of the data point (legacy field)\").nullable().optional(),\n browser: z.string().describe(\"Browser used for the visit (legacy field)\").nullable().optional(),\n os_name: z.string().describe(\"Operating system name\").nullable().optional(),\n hostname: z.string().describe(\"Hostname of the website\").nullable().optional(),\n is_robot: z.boolean().describe(\"Whether the visitor is a robot\").nullable().optional(),\n referrer: z.string().describe(\"Referrer URL (legacy field)\").nullable().optional(),\n utm_term: z.string().describe(\"UTM term parameter\").nullable().optional(),\n added_iso: z.string().describe(\"ISO 8601 timestamp\").nullable().optional(),\n is_unique: z.boolean().describe(\"Whether this is a unique visit\").nullable().optional(),\n added_date: z.string().describe(\"Date when the data point was added (YYYY-MM-DD)\").nullable().optional(),\n added_unix: z.number().int().describe(\"Unix timestamp\").nullable().optional(),\n os_version: z.string().describe(\"Operating system version\").nullable().optional(),\n session_id: z.string().describe(\"Session identifier\").nullable().optional(),\n user_agent: z.string().describe(\"User agent string\").nullable().optional(),\n utm_medium: z.string().describe(\"UTM medium parameter\").nullable().optional(),\n utm_source: z.string().describe(\"UTM source parameter\").nullable().optional(),\n device_type: z.string().describe(\"Device type\").nullable().optional(),\n lang_region: z.string().describe(\"Language region\").nullable().optional(),\n utm_content: z.string().describe(\"UTM content parameter\").nullable().optional(),\n browser_name: z.string().describe(\"Browser name\").nullable().optional(),\n country_code: z.string().describe(\"Country code\").nullable().optional(),\n device_width: z.number().int().describe(\"Device width (legacy field)\").nullable().optional(),\n referrer_raw: z.string().describe(\"Raw referrer URL (legacy field)\").nullable().optional(),\n screen_width: z.number().int().describe(\"Screen width\").nullable().optional(),\n utm_campaign: z.string().describe(\"UTM campaign parameter\").nullable().optional(),\n lang_language: z.string().describe(\"Language code\").nullable().optional(),\n referrer_path: z.string().describe(\"Referrer path\").nullable().optional(),\n screen_height: z.number().int().describe(\"Screen height\").nullable().optional(),\n path_and_query: z.string().describe(\"URL path and query string\").nullable().optional(),\n viewport_width: z.number().int().describe(\"Viewport width\").nullable().optional(),\n browser_version: z.string().describe(\"Browser version\").nullable().optional(),\n viewport_height: z.number().int().describe(\"Viewport height\").nullable().optional(),\n duration_seconds: z.number().int().describe(\"Duration of visit in seconds\").nullable().optional(),\n document_referrer: z.string().describe(\"Document referrer\").nullable().optional(),\n hostname_original: z.string().describe(\"Original hostname\").nullable().optional(),\n referrer_hostname: z.string().describe(\"Referrer hostname\").nullable().optional(),\n device_width_pixels: z.number().int().describe(\"Device width in pixels (legacy field)\").nullable().optional(),\n scrolled_percentage: z.number().int().describe(\"Percentage of page scrolled\").nullable().optional(),\n}).describe(\"A single data point entry for JSON format export.\");\nconst SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataDetailsSchema: z.ZodTypeAny = z.object({\n data: z.record(z.string(), z.unknown()).describe(\"Alternative nested data structure\").nullable().optional(),\n meta: SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataMetaSchema.nullable().optional(),\n datapoints: z.array(SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataPointSchema).describe(\"List of data point objects\").nullable().optional(),\n}).describe(\"Data container for JSON format responses.\\nHandles both single-nested (data.datapoints) and double-nested (data.data.datapoints) structures.\");\nexport const SimpleAnalyticsExportApiGetRawDataOutput: z.ZodTypeAny = z.object({\n csv: z.string().describe(\"Raw CSV data as string when format is 'csv'\").nullable().optional(),\n data: SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataDetailsSchema.nullable().optional(),\n error: z.string().describe(\"Error message if request failed\").nullable().optional(),\n successfull: z.boolean().describe(\"Indicates if the request was successful\").nullable().optional(),\n}).describe(\"Response from exporting raw data points.\");\n\nexport const simpleAnalyticsExportApiGetRawData = action(\"SIMPLE_ANALYTICS_EXPORT_API_GET_RAW_DATA\", {\n slug: \"simple_analytics-export-api-get-raw-data\",\n name: \"Export Raw Data Points\",\n description: \"Tool to export raw data points (page views and events) for a specific website. Use when you need to download CSV or JSON exports of site traffic.\",\n input: SimpleAnalyticsExportApiGetRawDataInput,\n output: SimpleAnalyticsExportApiGetRawDataOutput,\n});\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/export-api-get-raw-data.d.ts
4
+ declare const SimpleAnalyticsExportApiGetRawDataInput: z.ZodTypeAny;
5
+ declare const SimpleAnalyticsExportApiGetRawDataOutput: z.ZodTypeAny;
6
+ declare const simpleAnalyticsExportApiGetRawData: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { simpleAnalyticsExportApiGetRawData };
9
+ //# sourceMappingURL=export-api-get-raw-data.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-api-get-raw-data.d.cts","names":[],"sources":["../../src/actions/export-api-get-raw-data.ts"],"mappings":";;;cAIa,uCAAA,EAAyC,CAAA,CAAE,UAMc;AAAA,cAuDzD,wCAAA,EAA0C,CAAA,CAAE,UAKF;AAAA,cAE1C,kCAAA,gCAAkC,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/export-api-get-raw-data.d.ts
4
+ declare const SimpleAnalyticsExportApiGetRawDataInput: z.ZodTypeAny;
5
+ declare const SimpleAnalyticsExportApiGetRawDataOutput: z.ZodTypeAny;
6
+ declare const simpleAnalyticsExportApiGetRawData: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { simpleAnalyticsExportApiGetRawData };
9
+ //# sourceMappingURL=export-api-get-raw-data.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-api-get-raw-data.d.mts","names":[],"sources":["../../src/actions/export-api-get-raw-data.ts"],"mappings":";;;cAIa,uCAAA,EAAyC,CAAA,CAAE,UAMc;AAAA,cAuDzD,wCAAA,EAA0C,CAAA,CAAE,UAKF;AAAA,cAE1C,kCAAA,gCAAkC,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,80 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/export-api-get-raw-data.ts
4
+ const SimpleAnalyticsExportApiGetRawDataInput = z.object({
5
+ fields: z.array(z.string()).describe("List of data fields to include. Valid fields: added_date, added_iso, added_unix, browser_name, browser_version, country_code, device_type, document_referrer, duration_seconds, hostname, hostname_original, is_robot, is_unique, lang_language, lang_region, os_name, os_version, path, path_and_query, query, referrer_hostname, referrer_path, screen_height, screen_width, scrolled_percentage, session_id, user_agent, utm_campaign, utm_content, utm_medium, utm_source, utm_term, uuid, viewport_height, viewport_width").optional(),
6
+ format: z.enum(["csv", "json"]).default("csv").describe("Response format: 'csv' or 'json'").optional(),
7
+ to_date: z.string().describe("End date in YYYY-MM-DD format").optional(),
8
+ website: z.string().describe("Website domain or site ID to export data for"),
9
+ from_date: z.string().describe("Start date in YYYY-MM-DD format").optional()
10
+ }).describe("Parameters for exporting raw data points for a website.");
11
+ const SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataMetaSchema = z.object({
12
+ amount: z.number().int().describe("Number of data points returned").nullable().optional(),
13
+ createdAt: z.string().describe("Timestamp when the export was created").nullable().optional(),
14
+ finishedInMs: z.number().int().describe("Time taken to process the export in milliseconds").nullable().optional()
15
+ }).describe("Metadata about the exported data.");
16
+ const SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataPointSchema = z.object({
17
+ url: z.string().describe("Full URL (legacy field)").nullable().optional(),
18
+ path: z.string().describe("URL path").nullable().optional(),
19
+ uuid: z.string().describe("Unique identifier for the data point").nullable().optional(),
20
+ query: z.string().describe("URL query string").nullable().optional(),
21
+ source: z.string().describe("Source of the data point (legacy field)").nullable().optional(),
22
+ browser: z.string().describe("Browser used for the visit (legacy field)").nullable().optional(),
23
+ os_name: z.string().describe("Operating system name").nullable().optional(),
24
+ hostname: z.string().describe("Hostname of the website").nullable().optional(),
25
+ is_robot: z.boolean().describe("Whether the visitor is a robot").nullable().optional(),
26
+ referrer: z.string().describe("Referrer URL (legacy field)").nullable().optional(),
27
+ utm_term: z.string().describe("UTM term parameter").nullable().optional(),
28
+ added_iso: z.string().describe("ISO 8601 timestamp").nullable().optional(),
29
+ is_unique: z.boolean().describe("Whether this is a unique visit").nullable().optional(),
30
+ added_date: z.string().describe("Date when the data point was added (YYYY-MM-DD)").nullable().optional(),
31
+ added_unix: z.number().int().describe("Unix timestamp").nullable().optional(),
32
+ os_version: z.string().describe("Operating system version").nullable().optional(),
33
+ session_id: z.string().describe("Session identifier").nullable().optional(),
34
+ user_agent: z.string().describe("User agent string").nullable().optional(),
35
+ utm_medium: z.string().describe("UTM medium parameter").nullable().optional(),
36
+ utm_source: z.string().describe("UTM source parameter").nullable().optional(),
37
+ device_type: z.string().describe("Device type").nullable().optional(),
38
+ lang_region: z.string().describe("Language region").nullable().optional(),
39
+ utm_content: z.string().describe("UTM content parameter").nullable().optional(),
40
+ browser_name: z.string().describe("Browser name").nullable().optional(),
41
+ country_code: z.string().describe("Country code").nullable().optional(),
42
+ device_width: z.number().int().describe("Device width (legacy field)").nullable().optional(),
43
+ referrer_raw: z.string().describe("Raw referrer URL (legacy field)").nullable().optional(),
44
+ screen_width: z.number().int().describe("Screen width").nullable().optional(),
45
+ utm_campaign: z.string().describe("UTM campaign parameter").nullable().optional(),
46
+ lang_language: z.string().describe("Language code").nullable().optional(),
47
+ referrer_path: z.string().describe("Referrer path").nullable().optional(),
48
+ screen_height: z.number().int().describe("Screen height").nullable().optional(),
49
+ path_and_query: z.string().describe("URL path and query string").nullable().optional(),
50
+ viewport_width: z.number().int().describe("Viewport width").nullable().optional(),
51
+ browser_version: z.string().describe("Browser version").nullable().optional(),
52
+ viewport_height: z.number().int().describe("Viewport height").nullable().optional(),
53
+ duration_seconds: z.number().int().describe("Duration of visit in seconds").nullable().optional(),
54
+ document_referrer: z.string().describe("Document referrer").nullable().optional(),
55
+ hostname_original: z.string().describe("Original hostname").nullable().optional(),
56
+ referrer_hostname: z.string().describe("Referrer hostname").nullable().optional(),
57
+ device_width_pixels: z.number().int().describe("Device width in pixels (legacy field)").nullable().optional(),
58
+ scrolled_percentage: z.number().int().describe("Percentage of page scrolled").nullable().optional()
59
+ }).describe("A single data point entry for JSON format export.");
60
+ const SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataDetailsSchema = z.object({
61
+ data: z.record(z.string(), z.unknown()).describe("Alternative nested data structure").nullable().optional(),
62
+ meta: SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataMetaSchema.nullable().optional(),
63
+ datapoints: z.array(SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataPointSchema).describe("List of data point objects").nullable().optional()
64
+ }).describe("Data container for JSON format responses.\nHandles both single-nested (data.datapoints) and double-nested (data.data.datapoints) structures.");
65
+ const simpleAnalyticsExportApiGetRawData = action("SIMPLE_ANALYTICS_EXPORT_API_GET_RAW_DATA", {
66
+ slug: "simple_analytics-export-api-get-raw-data",
67
+ name: "Export Raw Data Points",
68
+ description: "Tool to export raw data points (page views and events) for a specific website. Use when you need to download CSV or JSON exports of site traffic.",
69
+ input: SimpleAnalyticsExportApiGetRawDataInput,
70
+ output: z.object({
71
+ csv: z.string().describe("Raw CSV data as string when format is 'csv'").nullable().optional(),
72
+ data: SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataDetailsSchema.nullable().optional(),
73
+ error: z.string().describe("Error message if request failed").nullable().optional(),
74
+ successfull: z.boolean().describe("Indicates if the request was successful").nullable().optional()
75
+ }).describe("Response from exporting raw data points.")
76
+ });
77
+ //#endregion
78
+ export { simpleAnalyticsExportApiGetRawData };
79
+
80
+ //# sourceMappingURL=export-api-get-raw-data.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-api-get-raw-data.mjs","names":[],"sources":["../../src/actions/export-api-get-raw-data.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SimpleAnalyticsExportApiGetRawDataInput: z.ZodTypeAny = z.object({\n fields: z.array(z.string()).describe(\"List of data fields to include. Valid fields: added_date, added_iso, added_unix, browser_name, browser_version, country_code, device_type, document_referrer, duration_seconds, hostname, hostname_original, is_robot, is_unique, lang_language, lang_region, os_name, os_version, path, path_and_query, query, referrer_hostname, referrer_path, screen_height, screen_width, scrolled_percentage, session_id, user_agent, utm_campaign, utm_content, utm_medium, utm_source, utm_term, uuid, viewport_height, viewport_width\").optional(),\n format: z.enum([\"csv\", \"json\"]).default(\"csv\").describe(\"Response format: 'csv' or 'json'\").optional(),\n to_date: z.string().describe(\"End date in YYYY-MM-DD format\").optional(),\n website: z.string().describe(\"Website domain or site ID to export data for\"),\n from_date: z.string().describe(\"Start date in YYYY-MM-DD format\").optional(),\n}).describe(\"Parameters for exporting raw data points for a website.\");\nconst SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataMetaSchema: z.ZodTypeAny = z.object({\n amount: z.number().int().describe(\"Number of data points returned\").nullable().optional(),\n createdAt: z.string().describe(\"Timestamp when the export was created\").nullable().optional(),\n finishedInMs: z.number().int().describe(\"Time taken to process the export in milliseconds\").nullable().optional(),\n}).describe(\"Metadata about the exported data.\");\nconst SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataPointSchema: z.ZodTypeAny = z.object({\n url: z.string().describe(\"Full URL (legacy field)\").nullable().optional(),\n path: z.string().describe(\"URL path\").nullable().optional(),\n uuid: z.string().describe(\"Unique identifier for the data point\").nullable().optional(),\n query: z.string().describe(\"URL query string\").nullable().optional(),\n source: z.string().describe(\"Source of the data point (legacy field)\").nullable().optional(),\n browser: z.string().describe(\"Browser used for the visit (legacy field)\").nullable().optional(),\n os_name: z.string().describe(\"Operating system name\").nullable().optional(),\n hostname: z.string().describe(\"Hostname of the website\").nullable().optional(),\n is_robot: z.boolean().describe(\"Whether the visitor is a robot\").nullable().optional(),\n referrer: z.string().describe(\"Referrer URL (legacy field)\").nullable().optional(),\n utm_term: z.string().describe(\"UTM term parameter\").nullable().optional(),\n added_iso: z.string().describe(\"ISO 8601 timestamp\").nullable().optional(),\n is_unique: z.boolean().describe(\"Whether this is a unique visit\").nullable().optional(),\n added_date: z.string().describe(\"Date when the data point was added (YYYY-MM-DD)\").nullable().optional(),\n added_unix: z.number().int().describe(\"Unix timestamp\").nullable().optional(),\n os_version: z.string().describe(\"Operating system version\").nullable().optional(),\n session_id: z.string().describe(\"Session identifier\").nullable().optional(),\n user_agent: z.string().describe(\"User agent string\").nullable().optional(),\n utm_medium: z.string().describe(\"UTM medium parameter\").nullable().optional(),\n utm_source: z.string().describe(\"UTM source parameter\").nullable().optional(),\n device_type: z.string().describe(\"Device type\").nullable().optional(),\n lang_region: z.string().describe(\"Language region\").nullable().optional(),\n utm_content: z.string().describe(\"UTM content parameter\").nullable().optional(),\n browser_name: z.string().describe(\"Browser name\").nullable().optional(),\n country_code: z.string().describe(\"Country code\").nullable().optional(),\n device_width: z.number().int().describe(\"Device width (legacy field)\").nullable().optional(),\n referrer_raw: z.string().describe(\"Raw referrer URL (legacy field)\").nullable().optional(),\n screen_width: z.number().int().describe(\"Screen width\").nullable().optional(),\n utm_campaign: z.string().describe(\"UTM campaign parameter\").nullable().optional(),\n lang_language: z.string().describe(\"Language code\").nullable().optional(),\n referrer_path: z.string().describe(\"Referrer path\").nullable().optional(),\n screen_height: z.number().int().describe(\"Screen height\").nullable().optional(),\n path_and_query: z.string().describe(\"URL path and query string\").nullable().optional(),\n viewport_width: z.number().int().describe(\"Viewport width\").nullable().optional(),\n browser_version: z.string().describe(\"Browser version\").nullable().optional(),\n viewport_height: z.number().int().describe(\"Viewport height\").nullable().optional(),\n duration_seconds: z.number().int().describe(\"Duration of visit in seconds\").nullable().optional(),\n document_referrer: z.string().describe(\"Document referrer\").nullable().optional(),\n hostname_original: z.string().describe(\"Original hostname\").nullable().optional(),\n referrer_hostname: z.string().describe(\"Referrer hostname\").nullable().optional(),\n device_width_pixels: z.number().int().describe(\"Device width in pixels (legacy field)\").nullable().optional(),\n scrolled_percentage: z.number().int().describe(\"Percentage of page scrolled\").nullable().optional(),\n}).describe(\"A single data point entry for JSON format export.\");\nconst SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataDetailsSchema: z.ZodTypeAny = z.object({\n data: z.record(z.string(), z.unknown()).describe(\"Alternative nested data structure\").nullable().optional(),\n meta: SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataMetaSchema.nullable().optional(),\n datapoints: z.array(SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataPointSchema).describe(\"List of data point objects\").nullable().optional(),\n}).describe(\"Data container for JSON format responses.\\nHandles both single-nested (data.datapoints) and double-nested (data.data.datapoints) structures.\");\nexport const SimpleAnalyticsExportApiGetRawDataOutput: z.ZodTypeAny = z.object({\n csv: z.string().describe(\"Raw CSV data as string when format is 'csv'\").nullable().optional(),\n data: SimpleAnalyticsExportApiGetRawData_ExportApiGetRawDataDetailsSchema.nullable().optional(),\n error: z.string().describe(\"Error message if request failed\").nullable().optional(),\n successfull: z.boolean().describe(\"Indicates if the request was successful\").nullable().optional(),\n}).describe(\"Response from exporting raw data points.\");\n\nexport const simpleAnalyticsExportApiGetRawData = action(\"SIMPLE_ANALYTICS_EXPORT_API_GET_RAW_DATA\", {\n slug: \"simple_analytics-export-api-get-raw-data\",\n name: \"Export Raw Data Points\",\n description: \"Tool to export raw data points (page views and events) for a specific website. Use when you need to download CSV or JSON exports of site traffic.\",\n input: SimpleAnalyticsExportApiGetRawDataInput,\n output: SimpleAnalyticsExportApiGetRawDataOutput,\n});\n"],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/get-aggregated-stats.ts
4
+ const SimpleAnalyticsGetAggregatedStatsInput = zod.z.object({
5
+ end: zod.z.string().describe("End date in YYYY-MM-DD format.").optional(),
6
+ page: zod.z.string().describe("Filter stats by specific page path.").optional(),
7
+ start: zod.z.string().describe("Start date in YYYY-MM-DD format.").optional(),
8
+ source: zod.z.string().describe("Filter stats by traffic source.").optional(),
9
+ compare: zod.z.string().describe("Comparison range start date in YYYY-MM-DD format.").optional(),
10
+ website: zod.z.string().describe("Website identifier (domain or custom code)."),
11
+ referrer: zod.z.string().describe("Filter stats by specific referrer host.").optional()
12
+ });
13
+ const SimpleAnalyticsGetAggregatedStats_EventItemSchema = zod.z.object({
14
+ name: zod.z.string().describe("Name of the event"),
15
+ count: zod.z.number().int().describe("Count of the event occurrences")
16
+ });
17
+ const SimpleAnalyticsGetAggregatedStatsOutput = zod.z.object({
18
+ pages: zod.z.object({}).describe("Map of page paths to counts").nullable().optional(),
19
+ events: zod.z.number().int().describe("Number of recorded events").nullable().optional(),
20
+ status: zod.z.string().describe("API response status").nullable().optional(),
21
+ devices: zod.z.object({}).describe("Map of device types to counts").nullable().optional(),
22
+ browsers: zod.z.object({}).describe("Map of browser names to counts").nullable().optional(),
23
+ visitors: zod.z.number().int().describe("Total number of unique visitors").nullable().optional(),
24
+ countries: zod.z.object({}).describe("Map of country codes to visitor counts").nullable().optional(),
25
+ pageviews: zod.z.number().int().describe("Total number of pageviews").nullable().optional(),
26
+ referrers: zod.z.object({}).describe("Map of referrer hosts to counts").nullable().optional(),
27
+ bounce_rate: zod.z.number().describe("Percentage of single-page visits").nullable().optional(),
28
+ events_list: zod.z.array(SimpleAnalyticsGetAggregatedStats_EventItemSchema).describe("List of event stats").nullable().optional(),
29
+ avg_duration: zod.z.number().describe("Average visit duration in seconds").nullable().optional(),
30
+ operating_systems: zod.z.object({}).describe("Map of operating system names to counts").nullable().optional(),
31
+ views_per_visitor: zod.z.number().describe("Average views per visitor").nullable().optional()
32
+ });
33
+ const simpleAnalyticsGetAggregatedStats = require_action.action("SIMPLE_ANALYTICS_GET_AGGREGATED_STATS", {
34
+ slug: "simple_analytics-get-aggregated-stats",
35
+ name: "Get aggregated website stats",
36
+ description: "Tool to retrieve aggregated statistics for a specified website. Use when you need an overview of key metrics like visitors, pageviews, bounce rate, and more.",
37
+ input: SimpleAnalyticsGetAggregatedStatsInput,
38
+ output: SimpleAnalyticsGetAggregatedStatsOutput
39
+ });
40
+ //#endregion
41
+ exports.simpleAnalyticsGetAggregatedStats = simpleAnalyticsGetAggregatedStats;
42
+
43
+ //# sourceMappingURL=get-aggregated-stats.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-aggregated-stats.cjs","names":["z","action"],"sources":["../../src/actions/get-aggregated-stats.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SimpleAnalyticsGetAggregatedStatsInput: z.ZodTypeAny = z.object({\n end: z.string().describe(\"End date in YYYY-MM-DD format.\").optional(),\n page: z.string().describe(\"Filter stats by specific page path.\").optional(),\n start: z.string().describe(\"Start date in YYYY-MM-DD format.\").optional(),\n source: z.string().describe(\"Filter stats by traffic source.\").optional(),\n compare: z.string().describe(\"Comparison range start date in YYYY-MM-DD format.\").optional(),\n website: z.string().describe(\"Website identifier (domain or custom code).\"),\n referrer: z.string().describe(\"Filter stats by specific referrer host.\").optional(),\n});\nconst SimpleAnalyticsGetAggregatedStats_EventItemSchema: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Name of the event\"),\n count: z.number().int().describe(\"Count of the event occurrences\"),\n});\nexport const SimpleAnalyticsGetAggregatedStatsOutput: z.ZodTypeAny = z.object({\n pages: z.object({}).describe(\"Map of page paths to counts\").nullable().optional(),\n events: z.number().int().describe(\"Number of recorded events\").nullable().optional(),\n status: z.string().describe(\"API response status\").nullable().optional(),\n devices: z.object({}).describe(\"Map of device types to counts\").nullable().optional(),\n browsers: z.object({}).describe(\"Map of browser names to counts\").nullable().optional(),\n visitors: z.number().int().describe(\"Total number of unique visitors\").nullable().optional(),\n countries: z.object({}).describe(\"Map of country codes to visitor counts\").nullable().optional(),\n pageviews: z.number().int().describe(\"Total number of pageviews\").nullable().optional(),\n referrers: z.object({}).describe(\"Map of referrer hosts to counts\").nullable().optional(),\n bounce_rate: z.number().describe(\"Percentage of single-page visits\").nullable().optional(),\n events_list: z.array(SimpleAnalyticsGetAggregatedStats_EventItemSchema).describe(\"List of event stats\").nullable().optional(),\n avg_duration: z.number().describe(\"Average visit duration in seconds\").nullable().optional(),\n operating_systems: z.object({}).describe(\"Map of operating system names to counts\").nullable().optional(),\n views_per_visitor: z.number().describe(\"Average views per visitor\").nullable().optional(),\n});\n\nexport const simpleAnalyticsGetAggregatedStats = action(\"SIMPLE_ANALYTICS_GET_AGGREGATED_STATS\", {\n slug: \"simple_analytics-get-aggregated-stats\",\n name: \"Get aggregated website stats\",\n description: \"Tool to retrieve aggregated statistics for a specified website. Use when you need an overview of key metrics like visitors, pageviews, bounce rate, and more.\",\n input: SimpleAnalyticsGetAggregatedStatsInput,\n output: SimpleAnalyticsGetAggregatedStatsOutput,\n});\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/get-aggregated-stats.d.ts
4
+ declare const SimpleAnalyticsGetAggregatedStatsInput: z.ZodTypeAny;
5
+ declare const SimpleAnalyticsGetAggregatedStatsOutput: z.ZodTypeAny;
6
+ declare const simpleAnalyticsGetAggregatedStats: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { simpleAnalyticsGetAggregatedStats };
9
+ //# sourceMappingURL=get-aggregated-stats.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-aggregated-stats.d.cts","names":[],"sources":["../../src/actions/get-aggregated-stats.ts"],"mappings":";;;cAIa,sCAAA,EAAwC,CAAA,CAAE,UAQrD;AAAA,cAKW,uCAAA,EAAyC,CAAA,CAAE,UAetD;AAAA,cAEW,iCAAA,gCAAiC,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/get-aggregated-stats.d.ts
4
+ declare const SimpleAnalyticsGetAggregatedStatsInput: z.ZodTypeAny;
5
+ declare const SimpleAnalyticsGetAggregatedStatsOutput: z.ZodTypeAny;
6
+ declare const simpleAnalyticsGetAggregatedStats: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { simpleAnalyticsGetAggregatedStats };
9
+ //# sourceMappingURL=get-aggregated-stats.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-aggregated-stats.d.mts","names":[],"sources":["../../src/actions/get-aggregated-stats.ts"],"mappings":";;;cAIa,sCAAA,EAAwC,CAAA,CAAE,UAQrD;AAAA,cAKW,uCAAA,EAAyC,CAAA,CAAE,UAetD;AAAA,cAEW,iCAAA,gCAAiC,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,42 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/get-aggregated-stats.ts
4
+ const SimpleAnalyticsGetAggregatedStatsInput = z.object({
5
+ end: z.string().describe("End date in YYYY-MM-DD format.").optional(),
6
+ page: z.string().describe("Filter stats by specific page path.").optional(),
7
+ start: z.string().describe("Start date in YYYY-MM-DD format.").optional(),
8
+ source: z.string().describe("Filter stats by traffic source.").optional(),
9
+ compare: z.string().describe("Comparison range start date in YYYY-MM-DD format.").optional(),
10
+ website: z.string().describe("Website identifier (domain or custom code)."),
11
+ referrer: z.string().describe("Filter stats by specific referrer host.").optional()
12
+ });
13
+ const SimpleAnalyticsGetAggregatedStats_EventItemSchema = z.object({
14
+ name: z.string().describe("Name of the event"),
15
+ count: z.number().int().describe("Count of the event occurrences")
16
+ });
17
+ const simpleAnalyticsGetAggregatedStats = action("SIMPLE_ANALYTICS_GET_AGGREGATED_STATS", {
18
+ slug: "simple_analytics-get-aggregated-stats",
19
+ name: "Get aggregated website stats",
20
+ description: "Tool to retrieve aggregated statistics for a specified website. Use when you need an overview of key metrics like visitors, pageviews, bounce rate, and more.",
21
+ input: SimpleAnalyticsGetAggregatedStatsInput,
22
+ output: z.object({
23
+ pages: z.object({}).describe("Map of page paths to counts").nullable().optional(),
24
+ events: z.number().int().describe("Number of recorded events").nullable().optional(),
25
+ status: z.string().describe("API response status").nullable().optional(),
26
+ devices: z.object({}).describe("Map of device types to counts").nullable().optional(),
27
+ browsers: z.object({}).describe("Map of browser names to counts").nullable().optional(),
28
+ visitors: z.number().int().describe("Total number of unique visitors").nullable().optional(),
29
+ countries: z.object({}).describe("Map of country codes to visitor counts").nullable().optional(),
30
+ pageviews: z.number().int().describe("Total number of pageviews").nullable().optional(),
31
+ referrers: z.object({}).describe("Map of referrer hosts to counts").nullable().optional(),
32
+ bounce_rate: z.number().describe("Percentage of single-page visits").nullable().optional(),
33
+ events_list: z.array(SimpleAnalyticsGetAggregatedStats_EventItemSchema).describe("List of event stats").nullable().optional(),
34
+ avg_duration: z.number().describe("Average visit duration in seconds").nullable().optional(),
35
+ operating_systems: z.object({}).describe("Map of operating system names to counts").nullable().optional(),
36
+ views_per_visitor: z.number().describe("Average views per visitor").nullable().optional()
37
+ })
38
+ });
39
+ //#endregion
40
+ export { simpleAnalyticsGetAggregatedStats };
41
+
42
+ //# sourceMappingURL=get-aggregated-stats.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-aggregated-stats.mjs","names":[],"sources":["../../src/actions/get-aggregated-stats.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SimpleAnalyticsGetAggregatedStatsInput: z.ZodTypeAny = z.object({\n end: z.string().describe(\"End date in YYYY-MM-DD format.\").optional(),\n page: z.string().describe(\"Filter stats by specific page path.\").optional(),\n start: z.string().describe(\"Start date in YYYY-MM-DD format.\").optional(),\n source: z.string().describe(\"Filter stats by traffic source.\").optional(),\n compare: z.string().describe(\"Comparison range start date in YYYY-MM-DD format.\").optional(),\n website: z.string().describe(\"Website identifier (domain or custom code).\"),\n referrer: z.string().describe(\"Filter stats by specific referrer host.\").optional(),\n});\nconst SimpleAnalyticsGetAggregatedStats_EventItemSchema: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Name of the event\"),\n count: z.number().int().describe(\"Count of the event occurrences\"),\n});\nexport const SimpleAnalyticsGetAggregatedStatsOutput: z.ZodTypeAny = z.object({\n pages: z.object({}).describe(\"Map of page paths to counts\").nullable().optional(),\n events: z.number().int().describe(\"Number of recorded events\").nullable().optional(),\n status: z.string().describe(\"API response status\").nullable().optional(),\n devices: z.object({}).describe(\"Map of device types to counts\").nullable().optional(),\n browsers: z.object({}).describe(\"Map of browser names to counts\").nullable().optional(),\n visitors: z.number().int().describe(\"Total number of unique visitors\").nullable().optional(),\n countries: z.object({}).describe(\"Map of country codes to visitor counts\").nullable().optional(),\n pageviews: z.number().int().describe(\"Total number of pageviews\").nullable().optional(),\n referrers: z.object({}).describe(\"Map of referrer hosts to counts\").nullable().optional(),\n bounce_rate: z.number().describe(\"Percentage of single-page visits\").nullable().optional(),\n events_list: z.array(SimpleAnalyticsGetAggregatedStats_EventItemSchema).describe(\"List of event stats\").nullable().optional(),\n avg_duration: z.number().describe(\"Average visit duration in seconds\").nullable().optional(),\n operating_systems: z.object({}).describe(\"Map of operating system names to counts\").nullable().optional(),\n views_per_visitor: z.number().describe(\"Average views per visitor\").nullable().optional(),\n});\n\nexport const simpleAnalyticsGetAggregatedStats = action(\"SIMPLE_ANALYTICS_GET_AGGREGATED_STATS\", {\n slug: \"simple_analytics-get-aggregated-stats\",\n name: \"Get aggregated website stats\",\n description: \"Tool to retrieve aggregated statistics for a specified website. Use when you need an overview of key metrics like visitors, pageviews, bounce rate, and more.\",\n input: SimpleAnalyticsGetAggregatedStatsInput,\n output: SimpleAnalyticsGetAggregatedStatsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,yCAAuD,EAAE,OAAO;CAC3E,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CACpE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CAC1E,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CACxE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;CACxE,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CAC3F,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,6CAA6C;CAC1E,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;AACpF,CAAC;AACD,MAAM,oDAAkE,EAAE,OAAO;CAC/E,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB;CAC7C,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gCAAgC;AACnE,CAAC;AAkBD,MAAa,oCAAoC,OAAO,yCAAyC;CAC/F,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAtBmE,EAAE,OAAO;EAC5E,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChF,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACnF,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACvE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpF,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtF,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC3F,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/F,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtF,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACxF,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACzF,aAAa,EAAE,MAAM,iDAAiD,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC5H,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC3F,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACxG,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1F,CAOU;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_admin_api_list_websites = require("./admin-api-list-websites.cjs");
3
+ const require_export_api_get_raw_data = require("./export-api-get-raw-data.cjs");
4
+ const require_get_aggregated_stats = require("./get-aggregated-stats.cjs");
5
+ const require_send_event = require("./send-event.cjs");
6
+ exports.simpleAnalyticsAdminApiListWebsites = require_admin_api_list_websites.simpleAnalyticsAdminApiListWebsites;
7
+ exports.simpleAnalyticsExportApiGetRawData = require_export_api_get_raw_data.simpleAnalyticsExportApiGetRawData;
8
+ exports.simpleAnalyticsGetAggregatedStats = require_get_aggregated_stats.simpleAnalyticsGetAggregatedStats;
9
+ exports.simpleAnalyticsSendEvent = require_send_event.simpleAnalyticsSendEvent;
@@ -0,0 +1,5 @@
1
+ import { simpleAnalyticsAdminApiListWebsites } from "./admin-api-list-websites.cjs";
2
+ import { simpleAnalyticsExportApiGetRawData } from "./export-api-get-raw-data.cjs";
3
+ import { simpleAnalyticsGetAggregatedStats } from "./get-aggregated-stats.cjs";
4
+ import { simpleAnalyticsSendEvent } from "./send-event.cjs";
5
+ export { simpleAnalyticsAdminApiListWebsites, simpleAnalyticsExportApiGetRawData, simpleAnalyticsGetAggregatedStats, simpleAnalyticsSendEvent };
@@ -0,0 +1,5 @@
1
+ import { simpleAnalyticsAdminApiListWebsites } from "./admin-api-list-websites.mjs";
2
+ import { simpleAnalyticsExportApiGetRawData } from "./export-api-get-raw-data.mjs";
3
+ import { simpleAnalyticsGetAggregatedStats } from "./get-aggregated-stats.mjs";
4
+ import { simpleAnalyticsSendEvent } from "./send-event.mjs";
5
+ export { simpleAnalyticsAdminApiListWebsites, simpleAnalyticsExportApiGetRawData, simpleAnalyticsGetAggregatedStats, simpleAnalyticsSendEvent };
@@ -0,0 +1,5 @@
1
+ import { simpleAnalyticsAdminApiListWebsites } from "./admin-api-list-websites.mjs";
2
+ import { simpleAnalyticsExportApiGetRawData } from "./export-api-get-raw-data.mjs";
3
+ import { simpleAnalyticsGetAggregatedStats } from "./get-aggregated-stats.mjs";
4
+ import { simpleAnalyticsSendEvent } from "./send-event.mjs";
5
+ export { simpleAnalyticsAdminApiListWebsites, simpleAnalyticsExportApiGetRawData, simpleAnalyticsGetAggregatedStats, simpleAnalyticsSendEvent };
@@ -0,0 +1,39 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/send-event.ts
4
+ const SimpleAnalyticsSendEventInput = zod.z.object({
5
+ ua: zod.z.string().describe("User agent string. Avoid default library agents like 'python-requests'. Use a realistic browser user agent string."),
6
+ path: zod.z.string().describe("Page path for pageviews (e.g., /my-page, /products/item-123)").optional(),
7
+ type: zod.z.enum(["event", "pageview"]).describe("Type of data point: 'event' for custom events or 'pageview' for page views"),
8
+ event: zod.z.string().describe("Event name for custom events (e.g., 'button_click', 'purchase') or 'pageview' for page views"),
9
+ https: zod.z.boolean().describe("Whether the connection is HTTPS. Set to true for secure connections.").optional(),
10
+ medium: zod.z.string().describe("UTM medium parameter for tracking campaign mediums").optional(),
11
+ source: zod.z.string().describe("UTM source parameter for tracking campaign sources").optional(),
12
+ unique: zod.z.boolean().describe("Whether this is a unique visit. Set to true for the first visit from a user.").optional(),
13
+ content: zod.z.string().describe("UTM content parameter for tracking campaign content variations").optional(),
14
+ campaign: zod.z.string().describe("UTM campaign parameter for tracking campaign names").optional(),
15
+ hostname: zod.z.string().describe("The hostname of the tracked website (e.g., example.com or composio.dev)"),
16
+ language: zod.z.string().describe("Language code (e.g., en-US, fr-FR, de-DE)").optional(),
17
+ metadata: zod.z.object({}).describe("Custom metadata object with key-value pairs. All values must be strings.").optional(),
18
+ referrer: zod.z.string().describe("Referrer URL (where the user came from)").optional(),
19
+ timezone: zod.z.string().describe("Timezone (e.g., Europe/Amsterdam, America/New_York, UTC)").optional(),
20
+ screen_width: zod.z.number().int().describe("Screen width in pixels").optional(),
21
+ screen_height: zod.z.number().int().describe("Screen height in pixels").optional(),
22
+ viewport_width: zod.z.number().int().describe("Viewport width in pixels").optional(),
23
+ viewport_height: zod.z.number().int().describe("Viewport height in pixels").optional()
24
+ }).describe("Request model for submitting server-side events or pageviews to Simple Analytics.");
25
+ const SimpleAnalyticsSendEventOutput = zod.z.object({
26
+ message: zod.z.string().describe("Optional message from the API").nullable().optional(),
27
+ success: zod.z.boolean().describe("Indicates whether the event was successfully submitted")
28
+ }).describe("Response from submitting a server-side event to Simple Analytics.");
29
+ const simpleAnalyticsSendEvent = require_action.action("SIMPLE_ANALYTICS_SEND_EVENT", {
30
+ slug: "simple_analytics-send-event",
31
+ name: "Send Server-Side Event",
32
+ description: "Tool to submit server-side events or pageviews to Simple Analytics. Use for mobile apps, backend tracking, or scenarios where JavaScript is not available. Supports custom metadata for enriched event data.",
33
+ input: SimpleAnalyticsSendEventInput,
34
+ output: SimpleAnalyticsSendEventOutput
35
+ });
36
+ //#endregion
37
+ exports.simpleAnalyticsSendEvent = simpleAnalyticsSendEvent;
38
+
39
+ //# sourceMappingURL=send-event.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-event.cjs","names":["z","action"],"sources":["../../src/actions/send-event.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SimpleAnalyticsSendEventInput: z.ZodTypeAny = z.object({\n ua: z.string().describe(\"User agent string. Avoid default library agents like 'python-requests'. Use a realistic browser user agent string.\"),\n path: z.string().describe(\"Page path for pageviews (e.g., /my-page, /products/item-123)\").optional(),\n type: z.enum([\"event\", \"pageview\"]).describe(\"Type of data point: 'event' for custom events or 'pageview' for page views\"),\n event: z.string().describe(\"Event name for custom events (e.g., 'button_click', 'purchase') or 'pageview' for page views\"),\n https: z.boolean().describe(\"Whether the connection is HTTPS. Set to true for secure connections.\").optional(),\n medium: z.string().describe(\"UTM medium parameter for tracking campaign mediums\").optional(),\n source: z.string().describe(\"UTM source parameter for tracking campaign sources\").optional(),\n unique: z.boolean().describe(\"Whether this is a unique visit. Set to true for the first visit from a user.\").optional(),\n content: z.string().describe(\"UTM content parameter for tracking campaign content variations\").optional(),\n campaign: z.string().describe(\"UTM campaign parameter for tracking campaign names\").optional(),\n hostname: z.string().describe(\"The hostname of the tracked website (e.g., example.com or composio.dev)\"),\n language: z.string().describe(\"Language code (e.g., en-US, fr-FR, de-DE)\").optional(),\n metadata: z.object({}).describe(\"Custom metadata object with key-value pairs. All values must be strings.\").optional(),\n referrer: z.string().describe(\"Referrer URL (where the user came from)\").optional(),\n timezone: z.string().describe(\"Timezone (e.g., Europe/Amsterdam, America/New_York, UTC)\").optional(),\n screen_width: z.number().int().describe(\"Screen width in pixels\").optional(),\n screen_height: z.number().int().describe(\"Screen height in pixels\").optional(),\n viewport_width: z.number().int().describe(\"Viewport width in pixels\").optional(),\n viewport_height: z.number().int().describe(\"Viewport height in pixels\").optional(),\n}).describe(\"Request model for submitting server-side events or pageviews to Simple Analytics.\");\nexport const SimpleAnalyticsSendEventOutput: z.ZodTypeAny = z.object({\n message: z.string().describe(\"Optional message from the API\").nullable().optional(),\n success: z.boolean().describe(\"Indicates whether the event was successfully submitted\"),\n}).describe(\"Response from submitting a server-side event to Simple Analytics.\");\n\nexport const simpleAnalyticsSendEvent = action(\"SIMPLE_ANALYTICS_SEND_EVENT\", {\n slug: \"simple_analytics-send-event\",\n name: \"Send Server-Side Event\",\n description: \"Tool to submit server-side events or pageviews to Simple Analytics. Use for mobile apps, backend tracking, or scenarios where JavaScript is not available. Supports custom metadata for enriched event data.\",\n input: SimpleAnalyticsSendEventInput,\n output: SimpleAnalyticsSendEventOutput,\n});\n"],"mappings":";;;AAIA,MAAa,gCAA8CA,IAAAA,EAAE,OAAO;CAClE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH;CAC5I,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;CACnG,MAAMA,IAAAA,EAAE,KAAK,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,SAAS,4EAA4E;CACzH,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8FAA8F;CACzH,OAAOA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,sEAAsE,CAAC,CAAC,SAAS;CAC7G,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;CAC3F,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;CAC3F,QAAQA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS;CACtH,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS;CACxG,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;CAC7F,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAyE;CACvG,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CACpF,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,0EAA0E,CAAC,CAAC,SAAS;CACrH,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;CAClF,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CACnG,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;CAC3E,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;CAC7E,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;CAC/E,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS;AACnF,CAAC,CAAC,CAAC,SAAS,mFAAmF;AAC/F,MAAa,iCAA+CA,IAAAA,EAAE,OAAO;CACnE,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClF,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,wDAAwD;AACxF,CAAC,CAAC,CAAC,SAAS,mEAAmE;AAE/E,MAAa,2BAA2BC,eAAAA,OAAO,+BAA+B;CAC5E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/send-event.d.ts
4
+ declare const SimpleAnalyticsSendEventInput: z.ZodTypeAny;
5
+ declare const SimpleAnalyticsSendEventOutput: z.ZodTypeAny;
6
+ declare const simpleAnalyticsSendEvent: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { simpleAnalyticsSendEvent };
9
+ //# sourceMappingURL=send-event.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-event.d.cts","names":[],"sources":["../../src/actions/send-event.ts"],"mappings":";;;cAIa,6BAAA,EAA+B,CAAA,CAAE,UAoBkD;AAAA,cACnF,8BAAA,EAAgC,CAAA,CAAE,UAGiC;AAAA,cAEnE,wBAAA,gCAAwB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/send-event.d.ts
4
+ declare const SimpleAnalyticsSendEventInput: z.ZodTypeAny;
5
+ declare const SimpleAnalyticsSendEventOutput: z.ZodTypeAny;
6
+ declare const simpleAnalyticsSendEvent: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { simpleAnalyticsSendEvent };
9
+ //# sourceMappingURL=send-event.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-event.d.mts","names":[],"sources":["../../src/actions/send-event.ts"],"mappings":";;;cAIa,6BAAA,EAA+B,CAAA,CAAE,UAoBkD;AAAA,cACnF,8BAAA,EAAgC,CAAA,CAAE,UAGiC;AAAA,cAEnE,wBAAA,gCAAwB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,36 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const simpleAnalyticsSendEvent = action("SIMPLE_ANALYTICS_SEND_EVENT", {
4
+ slug: "simple_analytics-send-event",
5
+ name: "Send Server-Side Event",
6
+ description: "Tool to submit server-side events or pageviews to Simple Analytics. Use for mobile apps, backend tracking, or scenarios where JavaScript is not available. Supports custom metadata for enriched event data.",
7
+ input: z.object({
8
+ ua: z.string().describe("User agent string. Avoid default library agents like 'python-requests'. Use a realistic browser user agent string."),
9
+ path: z.string().describe("Page path for pageviews (e.g., /my-page, /products/item-123)").optional(),
10
+ type: z.enum(["event", "pageview"]).describe("Type of data point: 'event' for custom events or 'pageview' for page views"),
11
+ event: z.string().describe("Event name for custom events (e.g., 'button_click', 'purchase') or 'pageview' for page views"),
12
+ https: z.boolean().describe("Whether the connection is HTTPS. Set to true for secure connections.").optional(),
13
+ medium: z.string().describe("UTM medium parameter for tracking campaign mediums").optional(),
14
+ source: z.string().describe("UTM source parameter for tracking campaign sources").optional(),
15
+ unique: z.boolean().describe("Whether this is a unique visit. Set to true for the first visit from a user.").optional(),
16
+ content: z.string().describe("UTM content parameter for tracking campaign content variations").optional(),
17
+ campaign: z.string().describe("UTM campaign parameter for tracking campaign names").optional(),
18
+ hostname: z.string().describe("The hostname of the tracked website (e.g., example.com or composio.dev)"),
19
+ language: z.string().describe("Language code (e.g., en-US, fr-FR, de-DE)").optional(),
20
+ metadata: z.object({}).describe("Custom metadata object with key-value pairs. All values must be strings.").optional(),
21
+ referrer: z.string().describe("Referrer URL (where the user came from)").optional(),
22
+ timezone: z.string().describe("Timezone (e.g., Europe/Amsterdam, America/New_York, UTC)").optional(),
23
+ screen_width: z.number().int().describe("Screen width in pixels").optional(),
24
+ screen_height: z.number().int().describe("Screen height in pixels").optional(),
25
+ viewport_width: z.number().int().describe("Viewport width in pixels").optional(),
26
+ viewport_height: z.number().int().describe("Viewport height in pixels").optional()
27
+ }).describe("Request model for submitting server-side events or pageviews to Simple Analytics."),
28
+ output: z.object({
29
+ message: z.string().describe("Optional message from the API").nullable().optional(),
30
+ success: z.boolean().describe("Indicates whether the event was successfully submitted")
31
+ }).describe("Response from submitting a server-side event to Simple Analytics.")
32
+ });
33
+ //#endregion
34
+ export { simpleAnalyticsSendEvent };
35
+
36
+ //# sourceMappingURL=send-event.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-event.mjs","names":[],"sources":["../../src/actions/send-event.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SimpleAnalyticsSendEventInput: z.ZodTypeAny = z.object({\n ua: z.string().describe(\"User agent string. Avoid default library agents like 'python-requests'. Use a realistic browser user agent string.\"),\n path: z.string().describe(\"Page path for pageviews (e.g., /my-page, /products/item-123)\").optional(),\n type: z.enum([\"event\", \"pageview\"]).describe(\"Type of data point: 'event' for custom events or 'pageview' for page views\"),\n event: z.string().describe(\"Event name for custom events (e.g., 'button_click', 'purchase') or 'pageview' for page views\"),\n https: z.boolean().describe(\"Whether the connection is HTTPS. Set to true for secure connections.\").optional(),\n medium: z.string().describe(\"UTM medium parameter for tracking campaign mediums\").optional(),\n source: z.string().describe(\"UTM source parameter for tracking campaign sources\").optional(),\n unique: z.boolean().describe(\"Whether this is a unique visit. Set to true for the first visit from a user.\").optional(),\n content: z.string().describe(\"UTM content parameter for tracking campaign content variations\").optional(),\n campaign: z.string().describe(\"UTM campaign parameter for tracking campaign names\").optional(),\n hostname: z.string().describe(\"The hostname of the tracked website (e.g., example.com or composio.dev)\"),\n language: z.string().describe(\"Language code (e.g., en-US, fr-FR, de-DE)\").optional(),\n metadata: z.object({}).describe(\"Custom metadata object with key-value pairs. All values must be strings.\").optional(),\n referrer: z.string().describe(\"Referrer URL (where the user came from)\").optional(),\n timezone: z.string().describe(\"Timezone (e.g., Europe/Amsterdam, America/New_York, UTC)\").optional(),\n screen_width: z.number().int().describe(\"Screen width in pixels\").optional(),\n screen_height: z.number().int().describe(\"Screen height in pixels\").optional(),\n viewport_width: z.number().int().describe(\"Viewport width in pixels\").optional(),\n viewport_height: z.number().int().describe(\"Viewport height in pixels\").optional(),\n}).describe(\"Request model for submitting server-side events or pageviews to Simple Analytics.\");\nexport const SimpleAnalyticsSendEventOutput: z.ZodTypeAny = z.object({\n message: z.string().describe(\"Optional message from the API\").nullable().optional(),\n success: z.boolean().describe(\"Indicates whether the event was successfully submitted\"),\n}).describe(\"Response from submitting a server-side event to Simple Analytics.\");\n\nexport const simpleAnalyticsSendEvent = action(\"SIMPLE_ANALYTICS_SEND_EVENT\", {\n slug: \"simple_analytics-send-event\",\n name: \"Send Server-Side Event\",\n description: \"Tool to submit server-side events or pageviews to Simple Analytics. Use for mobile apps, backend tracking, or scenarios where JavaScript is not available. Supports custom metadata for enriched event data.\",\n input: SimpleAnalyticsSendEventInput,\n output: SimpleAnalyticsSendEventOutput,\n});\n"],"mappings":";;AA8BA,MAAa,2BAA2B,OAAO,+BAA+B;CAC5E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA9ByD,EAAE,OAAO;EAClE,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH;EAC5I,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;EACnG,MAAM,EAAE,KAAK,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,SAAS,4EAA4E;EACzH,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,8FAA8F;EACzH,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,sEAAsE,CAAC,CAAC,SAAS;EAC7G,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;EAC3F,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;EAC3F,QAAQ,EAAE,QAAQ,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS;EACtH,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS;EACxG,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;EAC7F,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAyE;EACvG,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;EACpF,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,0EAA0E,CAAC,CAAC,SAAS;EACrH,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;EAClF,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EACnG,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;EAC3E,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;EAC7E,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;EAC/E,iBAAiB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS;CACnF,CAAC,CAAC,CAAC,SAAS,mFAUH;CACP,QAV0D,EAAE,OAAO;EACnE,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClF,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,wDAAwD;CACxF,CAAC,CAAC,CAAC,SAAS,mEAOF;AACV,CAAC"}
package/dist/app.cjs ADDED
@@ -0,0 +1,9 @@
1
+ //#region src/app.ts
2
+ const simpleAnalytics = (0, require("@keystrokehq/keystroke/app").defineApp)({
3
+ slug: "simple_analytics",
4
+ auth: "keystroke"
5
+ });
6
+ //#endregion
7
+ exports.simpleAnalytics = simpleAnalytics;
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 simpleAnalytics = defineApp({\n slug: \"simple_analytics\",\n auth: \"keystroke\",\n});\n"],"mappings":";AAEA,MAAa,mBAAA,uCAAA,CAAA,CAAA,UAAA,CAA4B;CACvC,MAAM;CACN,MAAM;AACR,CAAC"}
package/dist/app.d.cts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const simpleAnalytics: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { simpleAnalytics };
5
+ //# sourceMappingURL=app.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,eAAA,6BAAe,GAAA,+BAAA,UAAA"}
package/dist/app.d.mts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const simpleAnalytics: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { simpleAnalytics };
5
+ //# sourceMappingURL=app.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,eAAA,6BAAe,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 simpleAnalytics = defineApp({
4
+ slug: "simple_analytics",
5
+ auth: "keystroke"
6
+ });
7
+ //#endregion
8
+ export { simpleAnalytics };
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 simpleAnalytics = defineApp({\n slug: \"simple_analytics\",\n auth: \"keystroke\",\n});\n"],"mappings":";;AAEA,MAAa,kBAAkB,UAAU;CACvC,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 simpleAnalyticsCatalog = {
4
+ "slug": "simple_analytics",
5
+ "name": "Simple Analytics",
6
+ "description": "Simple Analytics is a privacy-friendly and simple alternative to Google Analytics, offering straightforward analytics without cookies or trackers.",
7
+ "category": "Analytics",
8
+ "logo": "https://logos.composio.dev/api/simple_analytics",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ exports.simpleAnalyticsCatalog = simpleAnalyticsCatalog;
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 simpleAnalyticsCatalog = {\n \"slug\": \"simple_analytics\",\n \"name\": \"Simple Analytics\",\n \"description\": \"Simple Analytics is a privacy-friendly and simple alternative to Google Analytics, offering straightforward analytics without cookies or trackers.\",\n \"category\": \"Analytics\",\n \"logo\": \"https://logos.composio.dev/api/simple_analytics\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,yBAAyB;CACpC,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 simpleAnalyticsCatalog: {
4
+ readonly slug: "simple_analytics";
5
+ readonly name: "Simple Analytics";
6
+ readonly description: "Simple Analytics is a privacy-friendly and simple alternative to Google Analytics, offering straightforward analytics without cookies or trackers.";
7
+ readonly category: "Analytics";
8
+ readonly logo: "https://logos.composio.dev/api/simple_analytics";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { simpleAnalyticsCatalog };
14
+ //# sourceMappingURL=catalog.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.cts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,sBAAA;EAAA"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const simpleAnalyticsCatalog: {
4
+ readonly slug: "simple_analytics";
5
+ readonly name: "Simple Analytics";
6
+ readonly description: "Simple Analytics is a privacy-friendly and simple alternative to Google Analytics, offering straightforward analytics without cookies or trackers.";
7
+ readonly category: "Analytics";
8
+ readonly logo: "https://logos.composio.dev/api/simple_analytics";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { simpleAnalyticsCatalog };
14
+ //# sourceMappingURL=catalog.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.mts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,sBAAA;EAAA"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const simpleAnalyticsCatalog = {
4
+ "slug": "simple_analytics",
5
+ "name": "Simple Analytics",
6
+ "description": "Simple Analytics is a privacy-friendly and simple alternative to Google Analytics, offering straightforward analytics without cookies or trackers.",
7
+ "category": "Analytics",
8
+ "logo": "https://logos.composio.dev/api/simple_analytics",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ export { simpleAnalyticsCatalog };
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 simpleAnalyticsCatalog = {\n \"slug\": \"simple_analytics\",\n \"name\": \"Simple Analytics\",\n \"description\": \"Simple Analytics is a privacy-friendly and simple alternative to Google Analytics, offering straightforward analytics without cookies or trackers.\",\n \"category\": \"Analytics\",\n \"logo\": \"https://logos.composio.dev/api/simple_analytics\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,yBAAyB;CACpC,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 = "simple_analytics";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeSimpleAnalyticsTool(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.executeSimpleAnalyticsTool = executeSimpleAnalyticsTool;
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 = \"simple_analytics\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeSimpleAnalyticsTool(\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,2BACpB,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 = "simple_analytics";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeSimpleAnalyticsTool(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 { executeSimpleAnalyticsTool };
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 = \"simple_analytics\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeSimpleAnalyticsTool(\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,2BACpB,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,14 @@
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_admin_api_list_websites = require("./actions/admin-api-list-websites.cjs");
5
+ const require_export_api_get_raw_data = require("./actions/export-api-get-raw-data.cjs");
6
+ const require_get_aggregated_stats = require("./actions/get-aggregated-stats.cjs");
7
+ const require_send_event = require("./actions/send-event.cjs");
8
+ require("./actions/index.cjs");
9
+ exports.simpleAnalytics = require_app.simpleAnalytics;
10
+ exports.simpleAnalyticsAdminApiListWebsites = require_admin_api_list_websites.simpleAnalyticsAdminApiListWebsites;
11
+ exports.simpleAnalyticsCatalog = require_catalog.simpleAnalyticsCatalog;
12
+ exports.simpleAnalyticsExportApiGetRawData = require_export_api_get_raw_data.simpleAnalyticsExportApiGetRawData;
13
+ exports.simpleAnalyticsGetAggregatedStats = require_get_aggregated_stats.simpleAnalyticsGetAggregatedStats;
14
+ exports.simpleAnalyticsSendEvent = require_send_event.simpleAnalyticsSendEvent;
@@ -0,0 +1,7 @@
1
+ import { simpleAnalyticsAdminApiListWebsites } from "./actions/admin-api-list-websites.cjs";
2
+ import { simpleAnalyticsExportApiGetRawData } from "./actions/export-api-get-raw-data.cjs";
3
+ import { simpleAnalyticsGetAggregatedStats } from "./actions/get-aggregated-stats.cjs";
4
+ import { simpleAnalyticsSendEvent } from "./actions/send-event.cjs";
5
+ import { simpleAnalytics } from "./app.cjs";
6
+ import { simpleAnalyticsCatalog } from "./catalog.cjs";
7
+ export { simpleAnalytics, simpleAnalyticsAdminApiListWebsites, simpleAnalyticsCatalog, simpleAnalyticsExportApiGetRawData, simpleAnalyticsGetAggregatedStats, simpleAnalyticsSendEvent };
@@ -0,0 +1,7 @@
1
+ import { simpleAnalyticsAdminApiListWebsites } from "./actions/admin-api-list-websites.mjs";
2
+ import { simpleAnalyticsExportApiGetRawData } from "./actions/export-api-get-raw-data.mjs";
3
+ import { simpleAnalyticsGetAggregatedStats } from "./actions/get-aggregated-stats.mjs";
4
+ import { simpleAnalyticsSendEvent } from "./actions/send-event.mjs";
5
+ import { simpleAnalytics } from "./app.mjs";
6
+ import { simpleAnalyticsCatalog } from "./catalog.mjs";
7
+ export { simpleAnalytics, simpleAnalyticsAdminApiListWebsites, simpleAnalyticsCatalog, simpleAnalyticsExportApiGetRawData, simpleAnalyticsGetAggregatedStats, simpleAnalyticsSendEvent };
package/dist/index.mjs ADDED
@@ -0,0 +1,8 @@
1
+ import { simpleAnalytics } from "./app.mjs";
2
+ import { simpleAnalyticsCatalog } from "./catalog.mjs";
3
+ import { simpleAnalyticsAdminApiListWebsites } from "./actions/admin-api-list-websites.mjs";
4
+ import { simpleAnalyticsExportApiGetRawData } from "./actions/export-api-get-raw-data.mjs";
5
+ import { simpleAnalyticsGetAggregatedStats } from "./actions/get-aggregated-stats.mjs";
6
+ import { simpleAnalyticsSendEvent } from "./actions/send-event.mjs";
7
+ import "./actions/index.mjs";
8
+ export { simpleAnalytics, simpleAnalyticsAdminApiListWebsites, simpleAnalyticsCatalog, simpleAnalyticsExportApiGetRawData, simpleAnalyticsGetAggregatedStats, simpleAnalyticsSendEvent };
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@keystrokehq/simple_analytics",
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/simple_analytics"
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
+ }