@keystrokehq/planly 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 (154) 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/complete-ai-prompt.cjs +25 -0
  7. package/dist/actions/complete-ai-prompt.cjs.map +1 -0
  8. package/dist/actions/complete-ai-prompt.d.cts +9 -0
  9. package/dist/actions/complete-ai-prompt.d.cts.map +1 -0
  10. package/dist/actions/complete-ai-prompt.d.mts +9 -0
  11. package/dist/actions/complete-ai-prompt.d.mts.map +1 -0
  12. package/dist/actions/complete-ai-prompt.mjs +24 -0
  13. package/dist/actions/complete-ai-prompt.mjs.map +1 -0
  14. package/dist/actions/create-team.cjs +20 -0
  15. package/dist/actions/create-team.cjs.map +1 -0
  16. package/dist/actions/create-team.d.cts +9 -0
  17. package/dist/actions/create-team.d.cts.map +1 -0
  18. package/dist/actions/create-team.d.mts +9 -0
  19. package/dist/actions/create-team.d.mts.map +1 -0
  20. package/dist/actions/create-team.mjs +19 -0
  21. package/dist/actions/create-team.mjs.map +1 -0
  22. package/dist/actions/delete-media.cjs +19 -0
  23. package/dist/actions/delete-media.cjs.map +1 -0
  24. package/dist/actions/delete-media.d.cts +9 -0
  25. package/dist/actions/delete-media.d.cts.map +1 -0
  26. package/dist/actions/delete-media.d.mts +9 -0
  27. package/dist/actions/delete-media.d.mts.map +1 -0
  28. package/dist/actions/delete-media.mjs +16 -0
  29. package/dist/actions/delete-media.mjs.map +1 -0
  30. package/dist/actions/delete-team.cjs +16 -0
  31. package/dist/actions/delete-team.cjs.map +1 -0
  32. package/dist/actions/delete-team.d.cts +9 -0
  33. package/dist/actions/delete-team.d.cts.map +1 -0
  34. package/dist/actions/delete-team.d.mts +9 -0
  35. package/dist/actions/delete-team.d.mts.map +1 -0
  36. package/dist/actions/delete-team.mjs +13 -0
  37. package/dist/actions/delete-team.mjs.map +1 -0
  38. package/dist/actions/edit-team.cjs +42 -0
  39. package/dist/actions/edit-team.cjs.map +1 -0
  40. package/dist/actions/edit-team.d.cts +9 -0
  41. package/dist/actions/edit-team.d.cts.map +1 -0
  42. package/dist/actions/edit-team.d.mts +9 -0
  43. package/dist/actions/edit-team.d.mts.map +1 -0
  44. package/dist/actions/edit-team.mjs +41 -0
  45. package/dist/actions/edit-team.mjs.map +1 -0
  46. package/dist/actions/get-ai-credits.cjs +16 -0
  47. package/dist/actions/get-ai-credits.cjs.map +1 -0
  48. package/dist/actions/get-ai-credits.d.cts +9 -0
  49. package/dist/actions/get-ai-credits.d.cts.map +1 -0
  50. package/dist/actions/get-ai-credits.d.mts +9 -0
  51. package/dist/actions/get-ai-credits.d.mts.map +1 -0
  52. package/dist/actions/get-ai-credits.mjs +13 -0
  53. package/dist/actions/get-ai-credits.mjs.map +1 -0
  54. package/dist/actions/get-team.cjs +27 -0
  55. package/dist/actions/get-team.cjs.map +1 -0
  56. package/dist/actions/get-team.d.cts +9 -0
  57. package/dist/actions/get-team.d.cts.map +1 -0
  58. package/dist/actions/get-team.d.mts +9 -0
  59. package/dist/actions/get-team.d.mts.map +1 -0
  60. package/dist/actions/get-team.mjs +24 -0
  61. package/dist/actions/get-team.mjs.map +1 -0
  62. package/dist/actions/import-media-from-url.cjs +33 -0
  63. package/dist/actions/import-media-from-url.cjs.map +1 -0
  64. package/dist/actions/import-media-from-url.d.cts +9 -0
  65. package/dist/actions/import-media-from-url.d.cts.map +1 -0
  66. package/dist/actions/import-media-from-url.d.mts +9 -0
  67. package/dist/actions/import-media-from-url.d.mts.map +1 -0
  68. package/dist/actions/import-media-from-url.mjs +32 -0
  69. package/dist/actions/import-media-from-url.mjs.map +1 -0
  70. package/dist/actions/index.cjs +31 -0
  71. package/dist/actions/index.d.cts +16 -0
  72. package/dist/actions/index.d.mts +16 -0
  73. package/dist/actions/index.mjs +16 -0
  74. package/dist/actions/list-channels.cjs +33 -0
  75. package/dist/actions/list-channels.cjs.map +1 -0
  76. package/dist/actions/list-channels.d.cts +9 -0
  77. package/dist/actions/list-channels.d.cts.map +1 -0
  78. package/dist/actions/list-channels.d.mts +9 -0
  79. package/dist/actions/list-channels.d.mts.map +1 -0
  80. package/dist/actions/list-channels.mjs +32 -0
  81. package/dist/actions/list-channels.mjs.map +1 -0
  82. package/dist/actions/list-media.cjs +41 -0
  83. package/dist/actions/list-media.cjs.map +1 -0
  84. package/dist/actions/list-media.d.cts +9 -0
  85. package/dist/actions/list-media.d.cts.map +1 -0
  86. package/dist/actions/list-media.d.mts +9 -0
  87. package/dist/actions/list-media.d.mts.map +1 -0
  88. package/dist/actions/list-media.mjs +40 -0
  89. package/dist/actions/list-media.mjs.map +1 -0
  90. package/dist/actions/list-schedule-groups.cjs +93 -0
  91. package/dist/actions/list-schedule-groups.cjs.map +1 -0
  92. package/dist/actions/list-schedule-groups.d.cts +9 -0
  93. package/dist/actions/list-schedule-groups.d.cts.map +1 -0
  94. package/dist/actions/list-schedule-groups.d.mts +9 -0
  95. package/dist/actions/list-schedule-groups.d.mts.map +1 -0
  96. package/dist/actions/list-schedule-groups.mjs +92 -0
  97. package/dist/actions/list-schedule-groups.mjs.map +1 -0
  98. package/dist/actions/list-schedules.cjs +51 -0
  99. package/dist/actions/list-schedules.cjs.map +1 -0
  100. package/dist/actions/list-schedules.d.cts +9 -0
  101. package/dist/actions/list-schedules.d.cts.map +1 -0
  102. package/dist/actions/list-schedules.d.mts +9 -0
  103. package/dist/actions/list-schedules.d.mts.map +1 -0
  104. package/dist/actions/list-schedules.mjs +50 -0
  105. package/dist/actions/list-schedules.mjs.map +1 -0
  106. package/dist/actions/list-team-users.cjs +23 -0
  107. package/dist/actions/list-team-users.cjs.map +1 -0
  108. package/dist/actions/list-team-users.d.cts +9 -0
  109. package/dist/actions/list-team-users.d.cts.map +1 -0
  110. package/dist/actions/list-team-users.d.mts +9 -0
  111. package/dist/actions/list-team-users.d.mts.map +1 -0
  112. package/dist/actions/list-team-users.mjs +22 -0
  113. package/dist/actions/list-team-users.mjs.map +1 -0
  114. package/dist/actions/list-teams.cjs +24 -0
  115. package/dist/actions/list-teams.cjs.map +1 -0
  116. package/dist/actions/list-teams.d.cts +9 -0
  117. package/dist/actions/list-teams.d.cts.map +1 -0
  118. package/dist/actions/list-teams.d.mts +9 -0
  119. package/dist/actions/list-teams.d.mts.map +1 -0
  120. package/dist/actions/list-teams.mjs +23 -0
  121. package/dist/actions/list-teams.mjs.map +1 -0
  122. package/dist/actions/start-media-upload.cjs +26 -0
  123. package/dist/actions/start-media-upload.cjs.map +1 -0
  124. package/dist/actions/start-media-upload.d.cts +9 -0
  125. package/dist/actions/start-media-upload.d.cts.map +1 -0
  126. package/dist/actions/start-media-upload.d.mts +9 -0
  127. package/dist/actions/start-media-upload.d.mts.map +1 -0
  128. package/dist/actions/start-media-upload.mjs +23 -0
  129. package/dist/actions/start-media-upload.mjs.map +1 -0
  130. package/dist/app.cjs +9 -0
  131. package/dist/app.cjs.map +1 -0
  132. package/dist/app.d.cts +5 -0
  133. package/dist/app.d.cts.map +1 -0
  134. package/dist/app.d.mts +5 -0
  135. package/dist/app.d.mts.map +1 -0
  136. package/dist/app.mjs +10 -0
  137. package/dist/app.mjs.map +1 -0
  138. package/dist/catalog.cjs +15 -0
  139. package/dist/catalog.cjs.map +1 -0
  140. package/dist/catalog.d.cts +14 -0
  141. package/dist/catalog.d.cts.map +1 -0
  142. package/dist/catalog.d.mts +14 -0
  143. package/dist/catalog.d.mts.map +1 -0
  144. package/dist/catalog.mjs +15 -0
  145. package/dist/catalog.mjs.map +1 -0
  146. package/dist/execute.cjs +18 -0
  147. package/dist/execute.cjs.map +1 -0
  148. package/dist/execute.mjs +18 -0
  149. package/dist/execute.mjs.map +1 -0
  150. package/dist/index.cjs +36 -0
  151. package/dist/index.d.cts +18 -0
  152. package/dist/index.d.mts +18 -0
  153. package/dist/index.mjs +19 -0
  154. package/package.json +49 -0
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/list-teams.d.ts
4
+ declare const PlanlyListTeamsInput: z.ZodTypeAny;
5
+ declare const PlanlyListTeamsOutput: z.ZodTypeAny;
6
+ declare const planlyListTeams: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { planlyListTeams };
9
+ //# sourceMappingURL=list-teams.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-teams.d.mts","names":[],"sources":["../../src/actions/list-teams.ts"],"mappings":";;;cAIa,oBAAA,EAAsB,CAAA,CAAE,UAA8F;AAAA,cAStH,qBAAA,EAAuB,CAAA,CAAE,UAEwD;AAAA,cAEjF,eAAA,gCAAe,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,23 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/list-teams.ts
4
+ const PlanlyListTeamsInput = z.object({}).describe("Request model for listing teams. No parameters required.");
5
+ const PlanlyListTeams_TeamDataSchema = z.object({
6
+ id: z.string().describe("Unique identifier of the team").nullable().optional(),
7
+ name: z.string().describe("Name of the team").nullable().optional(),
8
+ role: z.number().int().describe("User's role in the team").nullable().optional(),
9
+ users: z.number().int().describe("Number of users in the team").nullable().optional(),
10
+ picture: z.string().describe("URL to the team's picture").nullable().optional(),
11
+ channels: z.number().int().describe("Number of channels in the team").nullable().optional()
12
+ }).describe("Model representing a single team.");
13
+ const planlyListTeams = action("PLANLY_LIST_TEAMS", {
14
+ slug: "planly-list-teams",
15
+ name: "List Teams",
16
+ description: "Tool to retrieve all teams that the authenticated user belongs to. Use when you need to get team details including id, name, picture, role, number of users, and number of channels.",
17
+ input: PlanlyListTeamsInput,
18
+ output: z.object({ data: z.array(PlanlyListTeams_TeamDataSchema).describe("List of teams that the authenticated user belongs to") }).describe("Response model containing list of teams that the authenticated user belongs to.")
19
+ });
20
+ //#endregion
21
+ export { planlyListTeams };
22
+
23
+ //# sourceMappingURL=list-teams.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-teams.mjs","names":[],"sources":["../../src/actions/list-teams.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PlanlyListTeamsInput: z.ZodTypeAny = z.object({}).describe(\"Request model for listing teams. No parameters required.\");\nconst PlanlyListTeams_TeamDataSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the team\").nullable().optional(),\n name: z.string().describe(\"Name of the team\").nullable().optional(),\n role: z.number().int().describe(\"User's role in the team\").nullable().optional(),\n users: z.number().int().describe(\"Number of users in the team\").nullable().optional(),\n picture: z.string().describe(\"URL to the team's picture\").nullable().optional(),\n channels: z.number().int().describe(\"Number of channels in the team\").nullable().optional(),\n}).describe(\"Model representing a single team.\");\nexport const PlanlyListTeamsOutput: z.ZodTypeAny = z.object({\n data: z.array(PlanlyListTeams_TeamDataSchema).describe(\"List of teams that the authenticated user belongs to\"),\n}).describe(\"Response model containing list of teams that the authenticated user belongs to.\");\n\nexport const planlyListTeams = action(\"PLANLY_LIST_TEAMS\", {\n slug: \"planly-list-teams\",\n name: \"List Teams\",\n description: \"Tool to retrieve all teams that the authenticated user belongs to. Use when you need to get team details including id, name, picture, role, number of users, and number of channels.\",\n input: PlanlyListTeamsInput,\n output: PlanlyListTeamsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,uBAAqC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,0DAA0D;AAClI,MAAM,iCAA+C,EAAE,OAAO;CAC5D,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7E,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/E,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpF,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9E,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC5F,CAAC,CAAC,CAAC,SAAS,mCAAmC;AAK/C,MAAa,kBAAkB,OAAO,qBAAqB;CACzD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QATiD,EAAE,OAAO,EAC1D,MAAM,EAAE,MAAM,8BAA8B,CAAC,CAAC,SAAS,sDAAsD,EAC/G,CAAC,CAAC,CAAC,SAAS,iFAOF;AACV,CAAC"}
@@ -0,0 +1,26 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/start-media-upload.ts
4
+ const PlanlyStartMediaUploadInput = zod.z.object({
5
+ teamId: zod.z.string().describe("ID of the team to which the media will be uploaded"),
6
+ fileName: zod.z.string().describe("Name of the file being uploaded. Required if contentType is not provided").optional(),
7
+ contentType: zod.z.string().describe("MIME type of the file (e.g., image/jpeg, video/mp4, image/png). Required if fileName is not provided").optional(),
8
+ contentLength: zod.z.number().int().describe("Size of the file in bytes")
9
+ }).describe("Request model for starting a media file upload to Planly.");
10
+ const PlanlyStartMediaUploadOutput = zod.z.object({
11
+ verb: zod.z.string().describe("HTTP method to use for uploading the file (typically 'PUT')"),
12
+ headers: zod.z.object({}).describe("Headers required for the upload request"),
13
+ mediaId: zod.z.string().describe("Unique identifier for the media file"),
14
+ uploadUrl: zod.z.string().describe("Pre-signed URL where the file should be uploaded using a PUT request")
15
+ }).describe("Response model containing the pre-signed upload URL and metadata.");
16
+ const planlyStartMediaUpload = require_action.action("PLANLY_START_MEDIA_UPLOAD", {
17
+ slug: "planly-start-media-upload",
18
+ name: "Start Media Upload",
19
+ description: "Tool to start the upload process for a media file. Returns a pre-signed upload URL where the file should be uploaded using a PUT request. Use when you need to prepare for uploading images or videos to Planly.",
20
+ input: PlanlyStartMediaUploadInput,
21
+ output: PlanlyStartMediaUploadOutput
22
+ });
23
+ //#endregion
24
+ exports.planlyStartMediaUpload = planlyStartMediaUpload;
25
+
26
+ //# sourceMappingURL=start-media-upload.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-media-upload.cjs","names":["z","action"],"sources":["../../src/actions/start-media-upload.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PlanlyStartMediaUploadInput: z.ZodTypeAny = z.object({\n teamId: z.string().describe(\"ID of the team to which the media will be uploaded\"),\n fileName: z.string().describe(\"Name of the file being uploaded. Required if contentType is not provided\").optional(),\n contentType: z.string().describe(\"MIME type of the file (e.g., image/jpeg, video/mp4, image/png). Required if fileName is not provided\").optional(),\n contentLength: z.number().int().describe(\"Size of the file in bytes\"),\n}).describe(\"Request model for starting a media file upload to Planly.\");\nexport const PlanlyStartMediaUploadOutput: z.ZodTypeAny = z.object({\n verb: z.string().describe(\"HTTP method to use for uploading the file (typically 'PUT')\"),\n headers: z.object({}).describe(\"Headers required for the upload request\"),\n mediaId: z.string().describe(\"Unique identifier for the media file\"),\n uploadUrl: z.string().describe(\"Pre-signed URL where the file should be uploaded using a PUT request\"),\n}).describe(\"Response model containing the pre-signed upload URL and metadata.\");\n\nexport const planlyStartMediaUpload = action(\"PLANLY_START_MEDIA_UPLOAD\", {\n slug: \"planly-start-media-upload\",\n name: \"Start Media Upload\",\n description: \"Tool to start the upload process for a media file. Returns a pre-signed upload URL where the file should be uploaded using a PUT request. Use when you need to prepare for uploading images or videos to Planly.\",\n input: PlanlyStartMediaUploadInput,\n output: PlanlyStartMediaUploadOutput,\n});\n"],"mappings":";;;AAIA,MAAa,8BAA4CA,IAAAA,EAAE,OAAO;CAChE,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD;CAChF,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0EAA0E,CAAC,CAAC,SAAS;CACnH,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;CAClJ,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2BAA2B;AACtE,CAAC,CAAC,CAAC,SAAS,2DAA2D;AACvE,MAAa,+BAA6CA,IAAAA,EAAE,OAAO;CACjE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D;CACvF,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,yCAAyC;CACxE,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;CACnE,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sEAAsE;AACvG,CAAC,CAAC,CAAC,SAAS,mEAAmE;AAE/E,MAAa,yBAAyBC,eAAAA,OAAO,6BAA6B;CACxE,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/start-media-upload.d.ts
4
+ declare const PlanlyStartMediaUploadInput: z.ZodTypeAny;
5
+ declare const PlanlyStartMediaUploadOutput: z.ZodTypeAny;
6
+ declare const planlyStartMediaUpload: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { planlyStartMediaUpload };
9
+ //# sourceMappingURL=start-media-upload.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-media-upload.d.cts","names":[],"sources":["../../src/actions/start-media-upload.ts"],"mappings":";;;cAIa,2BAAA,EAA6B,CAAA,CAAE,UAK4B;AAAA,cAC3D,4BAAA,EAA8B,CAAA,CAAE,UAKmC;AAAA,cAEnE,sBAAA,gCAAsB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/start-media-upload.d.ts
4
+ declare const PlanlyStartMediaUploadInput: z.ZodTypeAny;
5
+ declare const PlanlyStartMediaUploadOutput: z.ZodTypeAny;
6
+ declare const planlyStartMediaUpload: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { planlyStartMediaUpload };
9
+ //# sourceMappingURL=start-media-upload.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-media-upload.d.mts","names":[],"sources":["../../src/actions/start-media-upload.ts"],"mappings":";;;cAIa,2BAAA,EAA6B,CAAA,CAAE,UAK4B;AAAA,cAC3D,4BAAA,EAA8B,CAAA,CAAE,UAKmC;AAAA,cAEnE,sBAAA,gCAAsB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,23 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const planlyStartMediaUpload = action("PLANLY_START_MEDIA_UPLOAD", {
4
+ slug: "planly-start-media-upload",
5
+ name: "Start Media Upload",
6
+ description: "Tool to start the upload process for a media file. Returns a pre-signed upload URL where the file should be uploaded using a PUT request. Use when you need to prepare for uploading images or videos to Planly.",
7
+ input: z.object({
8
+ teamId: z.string().describe("ID of the team to which the media will be uploaded"),
9
+ fileName: z.string().describe("Name of the file being uploaded. Required if contentType is not provided").optional(),
10
+ contentType: z.string().describe("MIME type of the file (e.g., image/jpeg, video/mp4, image/png). Required if fileName is not provided").optional(),
11
+ contentLength: z.number().int().describe("Size of the file in bytes")
12
+ }).describe("Request model for starting a media file upload to Planly."),
13
+ output: z.object({
14
+ verb: z.string().describe("HTTP method to use for uploading the file (typically 'PUT')"),
15
+ headers: z.object({}).describe("Headers required for the upload request"),
16
+ mediaId: z.string().describe("Unique identifier for the media file"),
17
+ uploadUrl: z.string().describe("Pre-signed URL where the file should be uploaded using a PUT request")
18
+ }).describe("Response model containing the pre-signed upload URL and metadata.")
19
+ });
20
+ //#endregion
21
+ export { planlyStartMediaUpload };
22
+
23
+ //# sourceMappingURL=start-media-upload.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-media-upload.mjs","names":[],"sources":["../../src/actions/start-media-upload.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PlanlyStartMediaUploadInput: z.ZodTypeAny = z.object({\n teamId: z.string().describe(\"ID of the team to which the media will be uploaded\"),\n fileName: z.string().describe(\"Name of the file being uploaded. Required if contentType is not provided\").optional(),\n contentType: z.string().describe(\"MIME type of the file (e.g., image/jpeg, video/mp4, image/png). Required if fileName is not provided\").optional(),\n contentLength: z.number().int().describe(\"Size of the file in bytes\"),\n}).describe(\"Request model for starting a media file upload to Planly.\");\nexport const PlanlyStartMediaUploadOutput: z.ZodTypeAny = z.object({\n verb: z.string().describe(\"HTTP method to use for uploading the file (typically 'PUT')\"),\n headers: z.object({}).describe(\"Headers required for the upload request\"),\n mediaId: z.string().describe(\"Unique identifier for the media file\"),\n uploadUrl: z.string().describe(\"Pre-signed URL where the file should be uploaded using a PUT request\"),\n}).describe(\"Response model containing the pre-signed upload URL and metadata.\");\n\nexport const planlyStartMediaUpload = action(\"PLANLY_START_MEDIA_UPLOAD\", {\n slug: \"planly-start-media-upload\",\n name: \"Start Media Upload\",\n description: \"Tool to start the upload process for a media file. Returns a pre-signed upload URL where the file should be uploaded using a PUT request. Use when you need to prepare for uploading images or videos to Planly.\",\n input: PlanlyStartMediaUploadInput,\n output: PlanlyStartMediaUploadOutput,\n});\n"],"mappings":";;AAiBA,MAAa,yBAAyB,OAAO,6BAA6B;CACxE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAjBuD,EAAE,OAAO;EAChE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD;EAChF,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,0EAA0E,CAAC,CAAC,SAAS;EACnH,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;EAClJ,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2BAA2B;CACtE,CAAC,CAAC,CAAC,SAAS,2DAYH;CACP,QAZwD,EAAE,OAAO;EACjE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D;EACvF,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,yCAAyC;EACxE,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;EACnE,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,sEAAsE;CACvG,CAAC,CAAC,CAAC,SAAS,mEAOF;AACV,CAAC"}
package/dist/app.cjs ADDED
@@ -0,0 +1,9 @@
1
+ //#region src/app.ts
2
+ const planly = (0, require("@keystrokehq/keystroke/app").defineApp)({
3
+ slug: "planly",
4
+ auth: "keystroke"
5
+ });
6
+ //#endregion
7
+ exports.planly = planly;
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 planly = defineApp({\n slug: \"planly\",\n auth: \"keystroke\",\n});\n"],"mappings":";AAEA,MAAa,UAAA,uCAAA,CAAA,CAAA,UAAA,CAAmB;CAC9B,MAAM;CACN,MAAM;AACR,CAAC"}
package/dist/app.d.cts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const planly: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { planly };
5
+ //# sourceMappingURL=app.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,MAAA,6BAAM,GAAA,+BAAA,UAAA"}
package/dist/app.d.mts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const planly: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { planly };
5
+ //# sourceMappingURL=app.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,MAAA,6BAAM,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 planly = defineApp({
4
+ slug: "planly",
5
+ auth: "keystroke"
6
+ });
7
+ //#endregion
8
+ export { planly };
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 planly = defineApp({\n slug: \"planly\",\n auth: \"keystroke\",\n});\n"],"mappings":";;AAEA,MAAa,SAAS,UAAU;CAC9B,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 planlyCatalog = {
4
+ "slug": "planly",
5
+ "name": "Planly",
6
+ "description": "All-in-one social media management tool for scheduling and managing content across multiple platforms",
7
+ "category": "Social Media Marketing",
8
+ "logo": "https://logos.composio.dev/api/planly",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ exports.planlyCatalog = planlyCatalog;
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 planlyCatalog = {\n \"slug\": \"planly\",\n \"name\": \"Planly\",\n \"description\": \"All-in-one social media management tool for scheduling and managing content across multiple platforms\",\n \"category\": \"Social Media Marketing\",\n \"logo\": \"https://logos.composio.dev/api/planly\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,gBAAgB;CAC3B,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 planlyCatalog: {
4
+ readonly slug: "planly";
5
+ readonly name: "Planly";
6
+ readonly description: "All-in-one social media management tool for scheduling and managing content across multiple platforms";
7
+ readonly category: "Social Media Marketing";
8
+ readonly logo: "https://logos.composio.dev/api/planly";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { planlyCatalog };
14
+ //# sourceMappingURL=catalog.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.cts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,aAAA;EAAA"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const planlyCatalog: {
4
+ readonly slug: "planly";
5
+ readonly name: "Planly";
6
+ readonly description: "All-in-one social media management tool for scheduling and managing content across multiple platforms";
7
+ readonly category: "Social Media Marketing";
8
+ readonly logo: "https://logos.composio.dev/api/planly";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { planlyCatalog };
14
+ //# sourceMappingURL=catalog.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.mts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,aAAA;EAAA"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const planlyCatalog = {
4
+ "slug": "planly",
5
+ "name": "Planly",
6
+ "description": "All-in-one social media management tool for scheduling and managing content across multiple platforms",
7
+ "category": "Social Media Marketing",
8
+ "logo": "https://logos.composio.dev/api/planly",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ export { planlyCatalog };
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 planlyCatalog = {\n \"slug\": \"planly\",\n \"name\": \"Planly\",\n \"description\": \"All-in-one social media management tool for scheduling and managing content across multiple platforms\",\n \"category\": \"Social Media Marketing\",\n \"logo\": \"https://logos.composio.dev/api/planly\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,gBAAgB;CAC3B,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 = "planly";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executePlanlyTool(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.executePlanlyTool = executePlanlyTool;
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 = \"planly\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executePlanlyTool(\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,kBACpB,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 = "planly";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executePlanlyTool(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 { executePlanlyTool };
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 = \"planly\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executePlanlyTool(\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,kBACpB,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,36 @@
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_complete_ai_prompt = require("./actions/complete-ai-prompt.cjs");
5
+ const require_create_team = require("./actions/create-team.cjs");
6
+ const require_delete_media = require("./actions/delete-media.cjs");
7
+ const require_delete_team = require("./actions/delete-team.cjs");
8
+ const require_edit_team = require("./actions/edit-team.cjs");
9
+ const require_get_ai_credits = require("./actions/get-ai-credits.cjs");
10
+ const require_get_team = require("./actions/get-team.cjs");
11
+ const require_import_media_from_url = require("./actions/import-media-from-url.cjs");
12
+ const require_list_channels = require("./actions/list-channels.cjs");
13
+ const require_list_media = require("./actions/list-media.cjs");
14
+ const require_list_schedule_groups = require("./actions/list-schedule-groups.cjs");
15
+ const require_list_schedules = require("./actions/list-schedules.cjs");
16
+ const require_list_team_users = require("./actions/list-team-users.cjs");
17
+ const require_list_teams = require("./actions/list-teams.cjs");
18
+ const require_start_media_upload = require("./actions/start-media-upload.cjs");
19
+ require("./actions/index.cjs");
20
+ exports.planly = require_app.planly;
21
+ exports.planlyCatalog = require_catalog.planlyCatalog;
22
+ exports.planlyCompleteAiPrompt = require_complete_ai_prompt.planlyCompleteAiPrompt;
23
+ exports.planlyCreateTeam = require_create_team.planlyCreateTeam;
24
+ exports.planlyDeleteMedia = require_delete_media.planlyDeleteMedia;
25
+ exports.planlyDeleteTeam = require_delete_team.planlyDeleteTeam;
26
+ exports.planlyEditTeam = require_edit_team.planlyEditTeam;
27
+ exports.planlyGetAiCredits = require_get_ai_credits.planlyGetAiCredits;
28
+ exports.planlyGetTeam = require_get_team.planlyGetTeam;
29
+ exports.planlyImportMediaFromUrl = require_import_media_from_url.planlyImportMediaFromUrl;
30
+ exports.planlyListChannels = require_list_channels.planlyListChannels;
31
+ exports.planlyListMedia = require_list_media.planlyListMedia;
32
+ exports.planlyListScheduleGroups = require_list_schedule_groups.planlyListScheduleGroups;
33
+ exports.planlyListSchedules = require_list_schedules.planlyListSchedules;
34
+ exports.planlyListTeamUsers = require_list_team_users.planlyListTeamUsers;
35
+ exports.planlyListTeams = require_list_teams.planlyListTeams;
36
+ exports.planlyStartMediaUpload = require_start_media_upload.planlyStartMediaUpload;
@@ -0,0 +1,18 @@
1
+ import { planlyCompleteAiPrompt } from "./actions/complete-ai-prompt.cjs";
2
+ import { planlyCreateTeam } from "./actions/create-team.cjs";
3
+ import { planlyDeleteMedia } from "./actions/delete-media.cjs";
4
+ import { planlyDeleteTeam } from "./actions/delete-team.cjs";
5
+ import { planlyEditTeam } from "./actions/edit-team.cjs";
6
+ import { planlyGetAiCredits } from "./actions/get-ai-credits.cjs";
7
+ import { planlyGetTeam } from "./actions/get-team.cjs";
8
+ import { planlyImportMediaFromUrl } from "./actions/import-media-from-url.cjs";
9
+ import { planlyListChannels } from "./actions/list-channels.cjs";
10
+ import { planlyListMedia } from "./actions/list-media.cjs";
11
+ import { planlyListScheduleGroups } from "./actions/list-schedule-groups.cjs";
12
+ import { planlyListSchedules } from "./actions/list-schedules.cjs";
13
+ import { planlyListTeamUsers } from "./actions/list-team-users.cjs";
14
+ import { planlyListTeams } from "./actions/list-teams.cjs";
15
+ import { planlyStartMediaUpload } from "./actions/start-media-upload.cjs";
16
+ import { planly } from "./app.cjs";
17
+ import { planlyCatalog } from "./catalog.cjs";
18
+ export { planly, planlyCatalog, planlyCompleteAiPrompt, planlyCreateTeam, planlyDeleteMedia, planlyDeleteTeam, planlyEditTeam, planlyGetAiCredits, planlyGetTeam, planlyImportMediaFromUrl, planlyListChannels, planlyListMedia, planlyListScheduleGroups, planlyListSchedules, planlyListTeamUsers, planlyListTeams, planlyStartMediaUpload };
@@ -0,0 +1,18 @@
1
+ import { planlyCompleteAiPrompt } from "./actions/complete-ai-prompt.mjs";
2
+ import { planlyCreateTeam } from "./actions/create-team.mjs";
3
+ import { planlyDeleteMedia } from "./actions/delete-media.mjs";
4
+ import { planlyDeleteTeam } from "./actions/delete-team.mjs";
5
+ import { planlyEditTeam } from "./actions/edit-team.mjs";
6
+ import { planlyGetAiCredits } from "./actions/get-ai-credits.mjs";
7
+ import { planlyGetTeam } from "./actions/get-team.mjs";
8
+ import { planlyImportMediaFromUrl } from "./actions/import-media-from-url.mjs";
9
+ import { planlyListChannels } from "./actions/list-channels.mjs";
10
+ import { planlyListMedia } from "./actions/list-media.mjs";
11
+ import { planlyListScheduleGroups } from "./actions/list-schedule-groups.mjs";
12
+ import { planlyListSchedules } from "./actions/list-schedules.mjs";
13
+ import { planlyListTeamUsers } from "./actions/list-team-users.mjs";
14
+ import { planlyListTeams } from "./actions/list-teams.mjs";
15
+ import { planlyStartMediaUpload } from "./actions/start-media-upload.mjs";
16
+ import { planly } from "./app.mjs";
17
+ import { planlyCatalog } from "./catalog.mjs";
18
+ export { planly, planlyCatalog, planlyCompleteAiPrompt, planlyCreateTeam, planlyDeleteMedia, planlyDeleteTeam, planlyEditTeam, planlyGetAiCredits, planlyGetTeam, planlyImportMediaFromUrl, planlyListChannels, planlyListMedia, planlyListScheduleGroups, planlyListSchedules, planlyListTeamUsers, planlyListTeams, planlyStartMediaUpload };
package/dist/index.mjs ADDED
@@ -0,0 +1,19 @@
1
+ import { planly } from "./app.mjs";
2
+ import { planlyCatalog } from "./catalog.mjs";
3
+ import { planlyCompleteAiPrompt } from "./actions/complete-ai-prompt.mjs";
4
+ import { planlyCreateTeam } from "./actions/create-team.mjs";
5
+ import { planlyDeleteMedia } from "./actions/delete-media.mjs";
6
+ import { planlyDeleteTeam } from "./actions/delete-team.mjs";
7
+ import { planlyEditTeam } from "./actions/edit-team.mjs";
8
+ import { planlyGetAiCredits } from "./actions/get-ai-credits.mjs";
9
+ import { planlyGetTeam } from "./actions/get-team.mjs";
10
+ import { planlyImportMediaFromUrl } from "./actions/import-media-from-url.mjs";
11
+ import { planlyListChannels } from "./actions/list-channels.mjs";
12
+ import { planlyListMedia } from "./actions/list-media.mjs";
13
+ import { planlyListScheduleGroups } from "./actions/list-schedule-groups.mjs";
14
+ import { planlyListSchedules } from "./actions/list-schedules.mjs";
15
+ import { planlyListTeamUsers } from "./actions/list-team-users.mjs";
16
+ import { planlyListTeams } from "./actions/list-teams.mjs";
17
+ import { planlyStartMediaUpload } from "./actions/start-media-upload.mjs";
18
+ import "./actions/index.mjs";
19
+ export { planly, planlyCatalog, planlyCompleteAiPrompt, planlyCreateTeam, planlyDeleteMedia, planlyDeleteTeam, planlyEditTeam, planlyGetAiCredits, planlyGetTeam, planlyImportMediaFromUrl, planlyListChannels, planlyListMedia, planlyListScheduleGroups, planlyListSchedules, planlyListTeamUsers, planlyListTeams, planlyStartMediaUpload };
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@keystrokehq/planly",
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/planly"
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
+ }