@keystrokehq/reddit 0.1.4 → 0.1.5

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 (189) hide show
  1. package/dist/action.cjs.map +1 -1
  2. package/dist/action.mjs.map +1 -1
  3. package/dist/actions/create-reddit-post.cjs +1 -0
  4. package/dist/actions/create-reddit-post.cjs.map +1 -1
  5. package/dist/actions/create-reddit-post.d.cts +3 -20
  6. package/dist/actions/create-reddit-post.d.cts.map +1 -1
  7. package/dist/actions/create-reddit-post.d.mts +3 -20
  8. package/dist/actions/create-reddit-post.d.mts.map +1 -1
  9. package/dist/actions/create-reddit-post.mjs +1 -0
  10. package/dist/actions/create-reddit-post.mjs.map +1 -1
  11. package/dist/actions/delete-reddit-comment.cjs +1 -0
  12. package/dist/actions/delete-reddit-comment.cjs.map +1 -1
  13. package/dist/actions/delete-reddit-comment.d.cts +3 -15
  14. package/dist/actions/delete-reddit-comment.d.cts.map +1 -1
  15. package/dist/actions/delete-reddit-comment.d.mts +3 -15
  16. package/dist/actions/delete-reddit-comment.d.mts.map +1 -1
  17. package/dist/actions/delete-reddit-comment.mjs +1 -0
  18. package/dist/actions/delete-reddit-comment.mjs.map +1 -1
  19. package/dist/actions/delete-reddit-post.cjs +1 -0
  20. package/dist/actions/delete-reddit-post.cjs.map +1 -1
  21. package/dist/actions/delete-reddit-post.d.cts +3 -15
  22. package/dist/actions/delete-reddit-post.d.cts.map +1 -1
  23. package/dist/actions/delete-reddit-post.d.mts +3 -15
  24. package/dist/actions/delete-reddit-post.d.mts.map +1 -1
  25. package/dist/actions/delete-reddit-post.mjs +1 -0
  26. package/dist/actions/delete-reddit-post.mjs.map +1 -1
  27. package/dist/actions/edit-reddit-comment-or-post.cjs +1 -0
  28. package/dist/actions/edit-reddit-comment-or-post.cjs.map +1 -1
  29. package/dist/actions/edit-reddit-comment-or-post.d.cts +3 -16
  30. package/dist/actions/edit-reddit-comment-or-post.d.cts.map +1 -1
  31. package/dist/actions/edit-reddit-comment-or-post.d.mts +3 -16
  32. package/dist/actions/edit-reddit-comment-or-post.d.mts.map +1 -1
  33. package/dist/actions/edit-reddit-comment-or-post.mjs +1 -0
  34. package/dist/actions/edit-reddit-comment-or-post.mjs.map +1 -1
  35. package/dist/actions/get-controversial-posts.cjs +1 -0
  36. package/dist/actions/get-controversial-posts.cjs.map +1 -1
  37. package/dist/actions/get-controversial-posts.d.cts +3 -18
  38. package/dist/actions/get-controversial-posts.d.cts.map +1 -1
  39. package/dist/actions/get-controversial-posts.d.mts +3 -18
  40. package/dist/actions/get-controversial-posts.d.mts.map +1 -1
  41. package/dist/actions/get-controversial-posts.mjs +1 -0
  42. package/dist/actions/get-controversial-posts.mjs.map +1 -1
  43. package/dist/actions/get-me-prefs.cjs +1 -0
  44. package/dist/actions/get-me-prefs.cjs.map +1 -1
  45. package/dist/actions/get-me-prefs.d.cts +3 -15
  46. package/dist/actions/get-me-prefs.d.cts.map +1 -1
  47. package/dist/actions/get-me-prefs.d.mts +3 -15
  48. package/dist/actions/get-me-prefs.d.mts.map +1 -1
  49. package/dist/actions/get-me-prefs.mjs +1 -0
  50. package/dist/actions/get-me-prefs.mjs.map +1 -1
  51. package/dist/actions/get-r-top.cjs +1 -0
  52. package/dist/actions/get-r-top.cjs.map +1 -1
  53. package/dist/actions/get-r-top.d.cts +3 -22
  54. package/dist/actions/get-r-top.d.cts.map +1 -1
  55. package/dist/actions/get-r-top.d.mts +3 -22
  56. package/dist/actions/get-r-top.d.mts.map +1 -1
  57. package/dist/actions/get-r-top.mjs +1 -0
  58. package/dist/actions/get-r-top.mjs.map +1 -1
  59. package/dist/actions/get-random.cjs +1 -0
  60. package/dist/actions/get-random.cjs.map +1 -1
  61. package/dist/actions/get-random.d.cts +3 -15
  62. package/dist/actions/get-random.d.cts.map +1 -1
  63. package/dist/actions/get-random.d.mts +3 -15
  64. package/dist/actions/get-random.d.mts.map +1 -1
  65. package/dist/actions/get-random.mjs +1 -0
  66. package/dist/actions/get-random.mjs.map +1 -1
  67. package/dist/actions/get-reddit-user-about.cjs +1 -0
  68. package/dist/actions/get-reddit-user-about.cjs.map +1 -1
  69. package/dist/actions/get-reddit-user-about.d.cts +3 -15
  70. package/dist/actions/get-reddit-user-about.d.cts.map +1 -1
  71. package/dist/actions/get-reddit-user-about.d.mts +3 -15
  72. package/dist/actions/get-reddit-user-about.d.mts.map +1 -1
  73. package/dist/actions/get-reddit-user-about.mjs +1 -0
  74. package/dist/actions/get-reddit-user-about.mjs.map +1 -1
  75. package/dist/actions/get-scopes.cjs +1 -0
  76. package/dist/actions/get-scopes.cjs.map +1 -1
  77. package/dist/actions/get-scopes.d.cts +3 -13
  78. package/dist/actions/get-scopes.d.cts.map +1 -1
  79. package/dist/actions/get-scopes.d.mts +3 -13
  80. package/dist/actions/get-scopes.d.mts.map +1 -1
  81. package/dist/actions/get-scopes.mjs +1 -0
  82. package/dist/actions/get-scopes.mjs.map +1 -1
  83. package/dist/actions/get-subreddit-rules.cjs +1 -0
  84. package/dist/actions/get-subreddit-rules.cjs.map +1 -1
  85. package/dist/actions/get-subreddit-rules.d.cts +3 -16
  86. package/dist/actions/get-subreddit-rules.d.cts.map +1 -1
  87. package/dist/actions/get-subreddit-rules.d.mts +3 -16
  88. package/dist/actions/get-subreddit-rules.d.mts.map +1 -1
  89. package/dist/actions/get-subreddit-rules.mjs +1 -0
  90. package/dist/actions/get-subreddit-rules.mjs.map +1 -1
  91. package/dist/actions/get-subreddits-search.cjs +1 -0
  92. package/dist/actions/get-subreddits-search.cjs.map +1 -1
  93. package/dist/actions/get-subreddits-search.d.cts +3 -23
  94. package/dist/actions/get-subreddits-search.d.cts.map +1 -1
  95. package/dist/actions/get-subreddits-search.d.mts +3 -23
  96. package/dist/actions/get-subreddits-search.d.mts.map +1 -1
  97. package/dist/actions/get-subreddits-search.mjs +1 -0
  98. package/dist/actions/get-subreddits-search.mjs.map +1 -1
  99. package/dist/actions/get-user-flair.cjs +1 -0
  100. package/dist/actions/get-user-flair.cjs.map +1 -1
  101. package/dist/actions/get-user-flair.d.cts +3 -18
  102. package/dist/actions/get-user-flair.d.cts.map +1 -1
  103. package/dist/actions/get-user-flair.d.mts +3 -18
  104. package/dist/actions/get-user-flair.d.mts.map +1 -1
  105. package/dist/actions/get-user-flair.mjs +1 -0
  106. package/dist/actions/get-user-flair.mjs.map +1 -1
  107. package/dist/actions/get-username-available.cjs +1 -0
  108. package/dist/actions/get-username-available.cjs.map +1 -1
  109. package/dist/actions/get-username-available.d.cts +3 -15
  110. package/dist/actions/get-username-available.d.cts.map +1 -1
  111. package/dist/actions/get-username-available.d.mts +3 -15
  112. package/dist/actions/get-username-available.d.mts.map +1 -1
  113. package/dist/actions/get-username-available.mjs +1 -0
  114. package/dist/actions/get-username-available.mjs.map +1 -1
  115. package/dist/actions/get.cjs +1 -0
  116. package/dist/actions/get.cjs.map +1 -1
  117. package/dist/actions/get.d.cts +3 -21
  118. package/dist/actions/get.d.cts.map +1 -1
  119. package/dist/actions/get.d.mts +3 -21
  120. package/dist/actions/get.d.mts.map +1 -1
  121. package/dist/actions/get.mjs +1 -0
  122. package/dist/actions/get.mjs.map +1 -1
  123. package/dist/actions/list-subreddit-post-flairs.cjs +1 -0
  124. package/dist/actions/list-subreddit-post-flairs.cjs.map +1 -1
  125. package/dist/actions/list-subreddit-post-flairs.d.cts +3 -15
  126. package/dist/actions/list-subreddit-post-flairs.d.cts.map +1 -1
  127. package/dist/actions/list-subreddit-post-flairs.d.mts +3 -15
  128. package/dist/actions/list-subreddit-post-flairs.d.mts.map +1 -1
  129. package/dist/actions/list-subreddit-post-flairs.mjs +1 -0
  130. package/dist/actions/list-subreddit-post-flairs.mjs.map +1 -1
  131. package/dist/actions/post-reddit-comment.cjs +1 -0
  132. package/dist/actions/post-reddit-comment.cjs.map +1 -1
  133. package/dist/actions/post-reddit-comment.d.cts +3 -16
  134. package/dist/actions/post-reddit-comment.d.cts.map +1 -1
  135. package/dist/actions/post-reddit-comment.d.mts +3 -16
  136. package/dist/actions/post-reddit-comment.d.mts.map +1 -1
  137. package/dist/actions/post-reddit-comment.mjs +1 -0
  138. package/dist/actions/post-reddit-comment.mjs.map +1 -1
  139. package/dist/actions/retrieve-post-comments.cjs +1 -0
  140. package/dist/actions/retrieve-post-comments.cjs.map +1 -1
  141. package/dist/actions/retrieve-post-comments.d.cts +3 -15
  142. package/dist/actions/retrieve-post-comments.d.cts.map +1 -1
  143. package/dist/actions/retrieve-post-comments.d.mts +3 -15
  144. package/dist/actions/retrieve-post-comments.d.mts.map +1 -1
  145. package/dist/actions/retrieve-post-comments.mjs +1 -0
  146. package/dist/actions/retrieve-post-comments.mjs.map +1 -1
  147. package/dist/actions/retrieve-reddit-post.cjs +1 -0
  148. package/dist/actions/retrieve-reddit-post.cjs.map +1 -1
  149. package/dist/actions/retrieve-reddit-post.d.cts +3 -17
  150. package/dist/actions/retrieve-reddit-post.d.cts.map +1 -1
  151. package/dist/actions/retrieve-reddit-post.d.mts +3 -17
  152. package/dist/actions/retrieve-reddit-post.d.mts.map +1 -1
  153. package/dist/actions/retrieve-reddit-post.mjs +1 -0
  154. package/dist/actions/retrieve-reddit-post.mjs.map +1 -1
  155. package/dist/actions/retrieve-specific-comment.cjs +1 -0
  156. package/dist/actions/retrieve-specific-comment.cjs.map +1 -1
  157. package/dist/actions/retrieve-specific-comment.d.cts +3 -15
  158. package/dist/actions/retrieve-specific-comment.d.cts.map +1 -1
  159. package/dist/actions/retrieve-specific-comment.d.mts +3 -15
  160. package/dist/actions/retrieve-specific-comment.d.mts.map +1 -1
  161. package/dist/actions/retrieve-specific-comment.mjs +1 -0
  162. package/dist/actions/retrieve-specific-comment.mjs.map +1 -1
  163. package/dist/actions/search-across-subreddits.cjs +1 -0
  164. package/dist/actions/search-across-subreddits.cjs.map +1 -1
  165. package/dist/actions/search-across-subreddits.d.cts +4 -21
  166. package/dist/actions/search-across-subreddits.d.cts.map +1 -1
  167. package/dist/actions/search-across-subreddits.d.mts +4 -21
  168. package/dist/actions/search-across-subreddits.d.mts.map +1 -1
  169. package/dist/actions/search-across-subreddits.mjs +1 -0
  170. package/dist/actions/search-across-subreddits.mjs.map +1 -1
  171. package/dist/actions/toggle-inbox-replies.cjs +1 -0
  172. package/dist/actions/toggle-inbox-replies.cjs.map +1 -1
  173. package/dist/actions/toggle-inbox-replies.d.cts +3 -16
  174. package/dist/actions/toggle-inbox-replies.d.cts.map +1 -1
  175. package/dist/actions/toggle-inbox-replies.d.mts +3 -16
  176. package/dist/actions/toggle-inbox-replies.d.mts.map +1 -1
  177. package/dist/actions/toggle-inbox-replies.mjs +1 -0
  178. package/dist/actions/toggle-inbox-replies.mjs.map +1 -1
  179. package/dist/app.cjs +2 -2
  180. package/dist/app.cjs.map +1 -1
  181. package/dist/app.d.cts +4 -6
  182. package/dist/app.d.cts.map +1 -1
  183. package/dist/app.d.mts +4 -6
  184. package/dist/app.d.mts.map +1 -1
  185. package/dist/app.mjs +0 -1
  186. package/dist/app.mjs.map +1 -1
  187. package/dist/index.d.cts +1 -1
  188. package/dist/index.d.mts +1 -1
  189. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-post-comments.mjs","names":[],"sources":["../../src/actions/retrieve-post-comments.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const RedditRetrievePostCommentsInput = z.object({\n article: z.string().describe(\"Base-36 ID of the Reddit post (e.g., 'q5u7q5'), typically found in the post's URL and not including the 't3_' prefix.\"),\n});\nconst RedditRetrievePostComments_PostDataSchema = z.object({\n id: z.string().describe(\"Unique identifier of the post in base36 format.\").nullable().optional(),\n url: z.string().describe(\"URL the post links to, or the permalink if a self post.\").nullable().optional(),\n score: z.number().int().describe(\"Net score of the post (upvotes minus downvotes).\").nullable().optional(),\n title: z.string().describe(\"The title of the post.\").nullable().optional(),\n author: z.string().describe(\"Username of the post author, null if deleted.\").nullable().optional(),\n is_self: z.boolean().describe(\"Whether the post is a self/text post (true) or link post (false).\").nullable().optional(),\n over_18: z.boolean().describe(\"Whether the post is marked as NSFW.\").nullable().optional(),\n selftext: z.string().describe(\"Raw body text for self/text posts with markdown.\").nullable().optional(),\n permalink: z.string().describe(\"Relative URL path to the permanent link of the post.\").nullable().optional(),\n subreddit: z.string().describe(\"Name of the subreddit without the /r/ prefix.\").nullable().optional(),\n created_utc: z.number().describe(\"Unix timestamp of post creation in UTC epoch-seconds.\").nullable().optional(),\n num_comments: z.number().int().describe(\"Total number of comments.\").nullable().optional(),\n}).passthrough().describe(\"Optimized data attributes for a Reddit post (t3 kind).\");\nconst RedditRetrievePostComments_PostThingSchema = z.object({\n data: RedditRetrievePostComments_PostDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier, always 't3' for posts.\").nullable(),\n}).passthrough().describe(\"Wrapped post object with kind and data.\");\nconst RedditRetrievePostComments_PostListingDataSchema = z.object({\n dist: z.number().int().describe(\"Number of items in this listing.\").nullable().optional(),\n after: z.string().describe(\"Fullname of the listing that follows after this page.\").nullable().optional(),\n before: z.string().describe(\"Fullname of the listing that follows before this page.\").nullable().optional(),\n modhash: z.string().describe(\"Modhash for authentication purposes.\").nullable().optional(),\n children: z.array(RedditRetrievePostComments_PostThingSchema).describe(\"Array containing the post object.\"),\n geo_filter: z.string().describe(\"Geographic filter applied to the listing.\").nullable().optional(),\n}).passthrough().describe(\"Container object for the first listing containing the post.\");\nconst RedditRetrievePostComments_PostListingSchema = z.object({\n data: RedditRetrievePostComments_PostListingDataSchema.nullable(),\n kind: z.string().describe(\"Always 'Listing' for this object type.\").nullable(),\n}).passthrough().describe(\"Reddit API Listing object containing the post (first listing in response).\");\nconst RedditRetrievePostComments_CommentDataSchema = z.object({\n id: z.string().describe(\"Unique identifier of the comment in base36 format.\").nullable().optional(),\n body: z.string().describe(\"Raw text of the comment with markdown.\").nullable().optional(),\n name: z.string().describe(\"Fullname of the comment (e.g., 't1_abc123').\").nullable().optional(),\n depth: z.number().int().describe(\"Depth level in the comment tree (0 = top-level).\").nullable().optional(),\n score: z.number().int().describe(\"Net score (upvotes minus downvotes).\").nullable().optional(),\n author: z.string().describe(\"Username of the comment author, null if deleted.\").nullable().optional(),\n parent_id: z.string().describe(\"Fullname of the parent comment (t1_) or post (t3_).\").nullable().optional(),\n permalink: z.string().describe(\"Permanent link to the comment.\").nullable().optional(),\n created_utc: z.number().describe(\"Unix timestamp of creation in UTC epoch-seconds.\").nullable().optional(),\n has_replies: z.boolean().describe(\"Whether this comment has nested replies.\").nullable().optional(),\n is_submitter: z.boolean().describe(\"Whether the author is also the post submitter.\").nullable().optional(),\n distinguished: z.string().describe(\"Special status: null, 'moderator', 'admin', or 'special'.\").nullable().optional(),\n}).passthrough().describe(\"Optimized data attributes for a Reddit comment (t1 kind).\");\nconst RedditRetrievePostComments_CommentThingSchema = z.object({\n data: RedditRetrievePostComments_CommentDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier, always 't1' for comments.\").nullable(),\n}).passthrough().describe(\"Wrapped comment object with kind and data.\");\nconst RedditRetrievePostComments_MoreDataSchema = z.object({\n id: z.string().describe(\"Identifier for this more object.\").nullable().optional(),\n name: z.string().describe(\"Fullname of this more object.\").nullable().optional(),\n count: z.number().int().describe(\"Number of additional comments available.\").nullable().optional(),\n depth: z.number().int().describe(\"Depth level in the comment tree.\").nullable().optional(),\n children: z.array(z.string()).describe(\"Array of comment IDs that can be loaded using the morechildren endpoint.\").nullable().optional(),\n parent_id: z.string().describe(\"Fullname of the parent comment or post.\").nullable().optional(),\n}).passthrough().describe(\"Data for a 'more' object that holds IDs of additional comments to load.\");\nconst RedditRetrievePostComments_MoreThingSchema = z.object({\n data: RedditRetrievePostComments_MoreDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier, always 'more'.\").nullable(),\n}).passthrough().describe(\"Wrapped 'more' object for loading additional comments.\");\nconst RedditRetrievePostComments_CommentListingDataSchema = z.object({\n dist: z.number().int().describe(\"Number of items in this listing.\").nullable().optional(),\n after: z.string().describe(\"Fullname of the listing that follows after this page.\").nullable().optional(),\n before: z.string().describe(\"Fullname of the listing that follows before this page.\").nullable().optional(),\n modhash: z.string().describe(\"Modhash for authentication purposes.\").nullable().optional(),\n children: z.array(z.union([RedditRetrievePostComments_CommentThingSchema, RedditRetrievePostComments_MoreThingSchema])).describe(\"Array of comment objects and 'more' placeholders.\"),\n geo_filter: z.string().describe(\"Geographic filter applied to the listing.\").nullable().optional(),\n}).passthrough().describe(\"Container object for the second listing containing comments.\");\nconst RedditRetrievePostComments_CommentListingSchema = z.object({\n data: RedditRetrievePostComments_CommentListingDataSchema.nullable(),\n kind: z.string().describe(\"Always 'Listing' for this object type.\").nullable(),\n}).passthrough().describe(\"Reddit API Listing object containing comments (second listing in response).\");\nexport const RedditRetrievePostCommentsOutput = z.object({\n post_listing: RedditRetrievePostComments_PostListingSchema.nullable(),\n comments_listing: RedditRetrievePostComments_CommentListingSchema.nullable(),\n}).passthrough().describe(\"Response containing two Listing objects from Reddit API.\\nThe first listing contains the submission/post object, and the second\\nlisting contains the top-level comments with nested replies.\");\n\nexport const redditRetrievePostComments = action(\"REDDIT_RETRIEVE_POST_COMMENTS\", {\n slug: \"reddit-retrieve-post-comments\",\n name: \"Retrieve Comments for a Post\",\n description: \"Retrieves all comments for a Reddit post given its base-36 article ID. Response is a two-element listings array: post metadata in `listings[0]`; comments in `listings[1].data.children` with text at each `[].data.body` and nested replies under each comment's `replies` field. Replies require recursive traversal to capture full discussion. Large, locked, or archived threads may return truncated trees or `more` placeholders rather than full results. Filter out comments where `body` is `[deleted]` or `[removed]`; use `parent_id` to reconstruct conversation flow. No time-filter parameter — compare `created_utc` against a UTC cutoff to filter by date.\",\n input: RedditRetrievePostCommentsInput,\n output: RedditRetrievePostCommentsOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"retrieve-post-comments.mjs","names":[],"sources":["../../src/actions/retrieve-post-comments.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { reddit } from \"../app\";\n\nexport const RedditRetrievePostCommentsInput = z.object({\n article: z.string().describe(\"Base-36 ID of the Reddit post (e.g., 'q5u7q5'), typically found in the post's URL and not including the 't3_' prefix.\"),\n});\nconst RedditRetrievePostComments_PostDataSchema = z.object({\n id: z.string().describe(\"Unique identifier of the post in base36 format.\").nullable().optional(),\n url: z.string().describe(\"URL the post links to, or the permalink if a self post.\").nullable().optional(),\n score: z.number().int().describe(\"Net score of the post (upvotes minus downvotes).\").nullable().optional(),\n title: z.string().describe(\"The title of the post.\").nullable().optional(),\n author: z.string().describe(\"Username of the post author, null if deleted.\").nullable().optional(),\n is_self: z.boolean().describe(\"Whether the post is a self/text post (true) or link post (false).\").nullable().optional(),\n over_18: z.boolean().describe(\"Whether the post is marked as NSFW.\").nullable().optional(),\n selftext: z.string().describe(\"Raw body text for self/text posts with markdown.\").nullable().optional(),\n permalink: z.string().describe(\"Relative URL path to the permanent link of the post.\").nullable().optional(),\n subreddit: z.string().describe(\"Name of the subreddit without the /r/ prefix.\").nullable().optional(),\n created_utc: z.number().describe(\"Unix timestamp of post creation in UTC epoch-seconds.\").nullable().optional(),\n num_comments: z.number().int().describe(\"Total number of comments.\").nullable().optional(),\n}).passthrough().describe(\"Optimized data attributes for a Reddit post (t3 kind).\");\nconst RedditRetrievePostComments_PostThingSchema = z.object({\n data: RedditRetrievePostComments_PostDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier, always 't3' for posts.\").nullable(),\n}).passthrough().describe(\"Wrapped post object with kind and data.\");\nconst RedditRetrievePostComments_PostListingDataSchema = z.object({\n dist: z.number().int().describe(\"Number of items in this listing.\").nullable().optional(),\n after: z.string().describe(\"Fullname of the listing that follows after this page.\").nullable().optional(),\n before: z.string().describe(\"Fullname of the listing that follows before this page.\").nullable().optional(),\n modhash: z.string().describe(\"Modhash for authentication purposes.\").nullable().optional(),\n children: z.array(RedditRetrievePostComments_PostThingSchema).describe(\"Array containing the post object.\"),\n geo_filter: z.string().describe(\"Geographic filter applied to the listing.\").nullable().optional(),\n}).passthrough().describe(\"Container object for the first listing containing the post.\");\nconst RedditRetrievePostComments_PostListingSchema = z.object({\n data: RedditRetrievePostComments_PostListingDataSchema.nullable(),\n kind: z.string().describe(\"Always 'Listing' for this object type.\").nullable(),\n}).passthrough().describe(\"Reddit API Listing object containing the post (first listing in response).\");\nconst RedditRetrievePostComments_CommentDataSchema = z.object({\n id: z.string().describe(\"Unique identifier of the comment in base36 format.\").nullable().optional(),\n body: z.string().describe(\"Raw text of the comment with markdown.\").nullable().optional(),\n name: z.string().describe(\"Fullname of the comment (e.g., 't1_abc123').\").nullable().optional(),\n depth: z.number().int().describe(\"Depth level in the comment tree (0 = top-level).\").nullable().optional(),\n score: z.number().int().describe(\"Net score (upvotes minus downvotes).\").nullable().optional(),\n author: z.string().describe(\"Username of the comment author, null if deleted.\").nullable().optional(),\n parent_id: z.string().describe(\"Fullname of the parent comment (t1_) or post (t3_).\").nullable().optional(),\n permalink: z.string().describe(\"Permanent link to the comment.\").nullable().optional(),\n created_utc: z.number().describe(\"Unix timestamp of creation in UTC epoch-seconds.\").nullable().optional(),\n has_replies: z.boolean().describe(\"Whether this comment has nested replies.\").nullable().optional(),\n is_submitter: z.boolean().describe(\"Whether the author is also the post submitter.\").nullable().optional(),\n distinguished: z.string().describe(\"Special status: null, 'moderator', 'admin', or 'special'.\").nullable().optional(),\n}).passthrough().describe(\"Optimized data attributes for a Reddit comment (t1 kind).\");\nconst RedditRetrievePostComments_CommentThingSchema = z.object({\n data: RedditRetrievePostComments_CommentDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier, always 't1' for comments.\").nullable(),\n}).passthrough().describe(\"Wrapped comment object with kind and data.\");\nconst RedditRetrievePostComments_MoreDataSchema = z.object({\n id: z.string().describe(\"Identifier for this more object.\").nullable().optional(),\n name: z.string().describe(\"Fullname of this more object.\").nullable().optional(),\n count: z.number().int().describe(\"Number of additional comments available.\").nullable().optional(),\n depth: z.number().int().describe(\"Depth level in the comment tree.\").nullable().optional(),\n children: z.array(z.string()).describe(\"Array of comment IDs that can be loaded using the morechildren endpoint.\").nullable().optional(),\n parent_id: z.string().describe(\"Fullname of the parent comment or post.\").nullable().optional(),\n}).passthrough().describe(\"Data for a 'more' object that holds IDs of additional comments to load.\");\nconst RedditRetrievePostComments_MoreThingSchema = z.object({\n data: RedditRetrievePostComments_MoreDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier, always 'more'.\").nullable(),\n}).passthrough().describe(\"Wrapped 'more' object for loading additional comments.\");\nconst RedditRetrievePostComments_CommentListingDataSchema = z.object({\n dist: z.number().int().describe(\"Number of items in this listing.\").nullable().optional(),\n after: z.string().describe(\"Fullname of the listing that follows after this page.\").nullable().optional(),\n before: z.string().describe(\"Fullname of the listing that follows before this page.\").nullable().optional(),\n modhash: z.string().describe(\"Modhash for authentication purposes.\").nullable().optional(),\n children: z.array(z.union([RedditRetrievePostComments_CommentThingSchema, RedditRetrievePostComments_MoreThingSchema])).describe(\"Array of comment objects and 'more' placeholders.\"),\n geo_filter: z.string().describe(\"Geographic filter applied to the listing.\").nullable().optional(),\n}).passthrough().describe(\"Container object for the second listing containing comments.\");\nconst RedditRetrievePostComments_CommentListingSchema = z.object({\n data: RedditRetrievePostComments_CommentListingDataSchema.nullable(),\n kind: z.string().describe(\"Always 'Listing' for this object type.\").nullable(),\n}).passthrough().describe(\"Reddit API Listing object containing comments (second listing in response).\");\nexport const RedditRetrievePostCommentsOutput = z.object({\n post_listing: RedditRetrievePostComments_PostListingSchema.nullable(),\n comments_listing: RedditRetrievePostComments_CommentListingSchema.nullable(),\n}).passthrough().describe(\"Response containing two Listing objects from Reddit API.\\nThe first listing contains the submission/post object, and the second\\nlisting contains the top-level comments with nested replies.\");\n\nexport const redditRetrievePostComments: AppAction<\n typeof RedditRetrievePostCommentsInput,\n typeof RedditRetrievePostCommentsOutput,\n typeof reddit.credential\n> = action(\"REDDIT_RETRIEVE_POST_COMMENTS\", {\n slug: \"reddit-retrieve-post-comments\",\n name: \"Retrieve Comments for a Post\",\n description: \"Retrieves all comments for a Reddit post given its base-36 article ID. Response is a two-element listings array: post metadata in `listings[0]`; comments in `listings[1].data.children` with text at each `[].data.body` and nested replies under each comment's `replies` field. Replies require recursive traversal to capture full discussion. Large, locked, or archived threads may return truncated trees or `more` placeholders rather than full results. Filter out comments where `body` is `[deleted]` or `[removed]`; use `parent_id` to reconstruct conversation flow. No time-filter parameter — compare `created_utc` against a UTC cutoff to filter by date.\",\n input: RedditRetrievePostCommentsInput,\n output: RedditRetrievePostCommentsOutput,\n});\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/retrieve-reddit-post.ts
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-reddit-post.cjs","names":["z","action"],"sources":["../../src/actions/retrieve-reddit-post.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const RedditRetrieveRedditPostInput = z.object({\n sort: z.enum([\"hot\", \"new\", \"top\", \"rising\", \"controversial\"]).default(\"hot\").describe(\"Sort order for posts. Options: 'hot' (default, most active posts), 'new' (newest first), 'top' (highest scoring), 'rising' (trending posts), 'controversial' (most controversial).\").optional(),\n subreddit: z.string().describe(\"The name of the subreddit from which to retrieve posts (e.g., 'popular', 'pics'). Do not include 'r/'. Subreddit names must be 3-21 characters and can only contain letters, numbers, and underscores.\"),\n max_results: z.number().int().default(5).describe(\"The maximum number of posts to return. Default is 5. Set to 0 to retrieve the maximum allowed by the Reddit API (100 posts). Valid range: 0-100.\").optional(),\n});\nconst RedditRetrieveRedditPost_PostDataSchema = z.object({\n id: z.string().describe(\"Unique identifier of the post in base36 format.\").nullable(),\n ups: z.number().int().describe(\"Number of upvotes received.\").nullable(),\n url: z.string().describe(\"URL the post links to, or the permalink if a self post.\").nullable(),\n name: z.string().describe(\"Fullname of the post, combining type prefix and ID (e.g., 't3_abc123').\").nullable(),\n score: z.number().int().describe(\"Net score of the post, calculated as upvotes minus downvotes.\").nullable(),\n title: z.string().describe(\"The title of the post.\").nullable(),\n author: z.string().describe(\"Username of the post author.\").nullable().optional(),\n domain: z.string().describe(\"Domain of the linked content, 'self.<subreddit>' for self posts.\").nullable(),\n is_self: z.boolean().describe(\"Whether the post is a self/text post (true) or link post (false).\").nullable(),\n over_18: z.boolean().describe(\"Whether the post is marked as NSFW (Not Safe For Work).\").nullable(),\n is_video: z.boolean().describe(\"Whether the post contains a video hosted on Reddit.\").nullable().optional(),\n selftext: z.string().describe(\"Raw body text for self/text posts, empty string for link posts.\").nullable(),\n permalink: z.string().describe(\"Relative URL path to the permanent link of the post.\").nullable(),\n subreddit: z.string().describe(\"Name of the subreddit without the /r/ prefix.\").nullable(),\n thumbnail: z.string().describe(\"Thumbnail URL, or 'self' for self posts, 'image' if link to image but no thumbnail, 'default' if unavailable.\").nullable(),\n created_utc: z.number().describe(\"Unix timestamp of post creation in UTC epoch-seconds.\").nullable(),\n num_comments: z.number().int().describe(\"Total number of comments.\").nullable(),\n}).passthrough().describe(\"Optimized post data object containing only essential fields.\");\nconst RedditRetrieveRedditPost_PostChildSchema = z.object({\n data: RedditRetrieveRedditPost_PostDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier for the post object, always 't3' for links/posts.\").nullable(),\n}).passthrough().describe(\"Wrapper object for each post in the children array.\");\nconst RedditRetrieveRedditPost_ListingDataSchema = z.object({\n dist: z.number().int().describe(\"The number of children returned in this listing.\").nullable().optional(),\n after: z.string().describe(\"Fullname of the last item in the listing, used for pagination.\").nullable().optional(),\n before: z.string().describe(\"Fullname of the first item in the listing, used for pagination.\").nullable().optional(),\n modhash: z.string().describe(\"Modhash token for the current session.\").nullable().optional(),\n children: z.array(RedditRetrieveRedditPost_PostChildSchema).describe(\"Array of post objects.\"),\n}).passthrough().describe(\"Container object holding the listing response data.\");\nexport const RedditRetrieveRedditPostOutput = z.object({\n data: RedditRetrieveRedditPost_ListingDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier for the response wrapper, typically 'Listing' for post queries.\").nullable(),\n}).passthrough().describe(\"Response from retrieving posts from a subreddit.\");\n\nexport const redditRetrieveRedditPost = action(\"REDDIT_RETRIEVE_REDDIT_POST\", {\n slug: \"reddit-retrieve-reddit-post\",\n name: \"Retrieve posts from subreddit\",\n description: \"Retrieves posts from a specified, publicly accessible subreddit. Responses nest post data under `data.children[].data`; inspect the structure before parsing. Pagination uses a `data.after` cursor; deduplicate across pages by post `id`. No built-in date filtering; compare `created_utc` (Unix seconds, UTC) client-side. Rate limit: ~1–2 requests/second; back off on HTTP 429.\",\n input: RedditRetrieveRedditPostInput,\n output: RedditRetrieveRedditPostOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"retrieve-reddit-post.cjs","names":["z","action"],"sources":["../../src/actions/retrieve-reddit-post.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { reddit } from \"../app\";\n\nexport const RedditRetrieveRedditPostInput = z.object({\n sort: z.enum([\"hot\", \"new\", \"top\", \"rising\", \"controversial\"]).default(\"hot\").describe(\"Sort order for posts. Options: 'hot' (default, most active posts), 'new' (newest first), 'top' (highest scoring), 'rising' (trending posts), 'controversial' (most controversial).\").optional(),\n subreddit: z.string().describe(\"The name of the subreddit from which to retrieve posts (e.g., 'popular', 'pics'). Do not include 'r/'. Subreddit names must be 3-21 characters and can only contain letters, numbers, and underscores.\"),\n max_results: z.number().int().default(5).describe(\"The maximum number of posts to return. Default is 5. Set to 0 to retrieve the maximum allowed by the Reddit API (100 posts). Valid range: 0-100.\").optional(),\n});\nconst RedditRetrieveRedditPost_PostDataSchema = z.object({\n id: z.string().describe(\"Unique identifier of the post in base36 format.\").nullable(),\n ups: z.number().int().describe(\"Number of upvotes received.\").nullable(),\n url: z.string().describe(\"URL the post links to, or the permalink if a self post.\").nullable(),\n name: z.string().describe(\"Fullname of the post, combining type prefix and ID (e.g., 't3_abc123').\").nullable(),\n score: z.number().int().describe(\"Net score of the post, calculated as upvotes minus downvotes.\").nullable(),\n title: z.string().describe(\"The title of the post.\").nullable(),\n author: z.string().describe(\"Username of the post author.\").nullable().optional(),\n domain: z.string().describe(\"Domain of the linked content, 'self.<subreddit>' for self posts.\").nullable(),\n is_self: z.boolean().describe(\"Whether the post is a self/text post (true) or link post (false).\").nullable(),\n over_18: z.boolean().describe(\"Whether the post is marked as NSFW (Not Safe For Work).\").nullable(),\n is_video: z.boolean().describe(\"Whether the post contains a video hosted on Reddit.\").nullable().optional(),\n selftext: z.string().describe(\"Raw body text for self/text posts, empty string for link posts.\").nullable(),\n permalink: z.string().describe(\"Relative URL path to the permanent link of the post.\").nullable(),\n subreddit: z.string().describe(\"Name of the subreddit without the /r/ prefix.\").nullable(),\n thumbnail: z.string().describe(\"Thumbnail URL, or 'self' for self posts, 'image' if link to image but no thumbnail, 'default' if unavailable.\").nullable(),\n created_utc: z.number().describe(\"Unix timestamp of post creation in UTC epoch-seconds.\").nullable(),\n num_comments: z.number().int().describe(\"Total number of comments.\").nullable(),\n}).passthrough().describe(\"Optimized post data object containing only essential fields.\");\nconst RedditRetrieveRedditPost_PostChildSchema = z.object({\n data: RedditRetrieveRedditPost_PostDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier for the post object, always 't3' for links/posts.\").nullable(),\n}).passthrough().describe(\"Wrapper object for each post in the children array.\");\nconst RedditRetrieveRedditPost_ListingDataSchema = z.object({\n dist: z.number().int().describe(\"The number of children returned in this listing.\").nullable().optional(),\n after: z.string().describe(\"Fullname of the last item in the listing, used for pagination.\").nullable().optional(),\n before: z.string().describe(\"Fullname of the first item in the listing, used for pagination.\").nullable().optional(),\n modhash: z.string().describe(\"Modhash token for the current session.\").nullable().optional(),\n children: z.array(RedditRetrieveRedditPost_PostChildSchema).describe(\"Array of post objects.\"),\n}).passthrough().describe(\"Container object holding the listing response data.\");\nexport const RedditRetrieveRedditPostOutput = z.object({\n data: RedditRetrieveRedditPost_ListingDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier for the response wrapper, typically 'Listing' for post queries.\").nullable(),\n}).passthrough().describe(\"Response from retrieving posts from a subreddit.\");\n\nexport const redditRetrieveRedditPost: AppAction<\n typeof RedditRetrieveRedditPostInput,\n typeof RedditRetrieveRedditPostOutput,\n typeof reddit.credential\n> = action(\"REDDIT_RETRIEVE_REDDIT_POST\", {\n slug: \"reddit-retrieve-reddit-post\",\n name: \"Retrieve posts from subreddit\",\n description: \"Retrieves posts from a specified, publicly accessible subreddit. Responses nest post data under `data.children[].data`; inspect the structure before parsing. Pagination uses a `data.after` cursor; deduplicate across pages by post `id`. No built-in date filtering; compare `created_utc` (Unix seconds, UTC) client-side. Rate limit: ~1–2 requests/second; back off on HTTP 429.\",\n input: RedditRetrieveRedditPostInput,\n output: RedditRetrieveRedditPostOutput,\n});\n"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { reddit } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/retrieve-reddit-post.d.ts
@@ -43,23 +45,7 @@ declare const RedditRetrieveRedditPostOutput: z.ZodObject<{
43
45
  }, z.core.$loose>>;
44
46
  kind: z.ZodNullable<z.ZodString>;
45
47
  }, z.core.$loose>;
46
- declare const redditRetrieveRedditPost: import("@keystrokehq/action").WorkflowActionDefinition<{
47
- subreddit: string;
48
- sort?: "hot" | "new" | "top" | "rising" | "controversial" | undefined;
49
- max_results?: number | undefined;
50
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"reddit", z.ZodObject<{
51
- connectionId: z.ZodString;
52
- entityId: z.ZodString;
53
- instanceId: z.ZodString;
54
- }, z.core.$strip>, z.ZodObject<{
55
- accessToken: z.ZodString;
56
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"reddit", z.ZodObject<{
57
- connectionId: z.ZodString;
58
- entityId: z.ZodString;
59
- instanceId: z.ZodString;
60
- }, z.core.$strip>, z.ZodObject<{
61
- accessToken: z.ZodString;
62
- }, z.core.$strip>>]>;
48
+ declare const redditRetrieveRedditPost: AppAction<typeof RedditRetrieveRedditPostInput, typeof RedditRetrieveRedditPostOutput, typeof reddit.credential>;
63
49
  //#endregion
64
50
  export { redditRetrieveRedditPost };
65
51
  //# sourceMappingURL=retrieve-reddit-post.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-reddit-post.d.cts","names":[],"sources":["../../src/actions/retrieve-reddit-post.ts"],"mappings":";;;cAIa,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;cAmC7B,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAK9B,wBAAA,gCAAwB,wBAAA"}
1
+ {"version":3,"file":"retrieve-reddit-post.d.cts","names":[],"sources":["../../src/actions/retrieve-reddit-post.ts"],"mappings":";;;;;cAMa,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;cAmC7B,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAK9B,wBAAA,EAA0B,SAAA,QAC9B,6BAAA,SACA,8BAAA,SACA,MAAA,CAAO,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { reddit } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/retrieve-reddit-post.d.ts
@@ -43,23 +45,7 @@ declare const RedditRetrieveRedditPostOutput: z.ZodObject<{
43
45
  }, z.core.$loose>>;
44
46
  kind: z.ZodNullable<z.ZodString>;
45
47
  }, z.core.$loose>;
46
- declare const redditRetrieveRedditPost: import("@keystrokehq/action").WorkflowActionDefinition<{
47
- subreddit: string;
48
- sort?: "hot" | "new" | "top" | "rising" | "controversial" | undefined;
49
- max_results?: number | undefined;
50
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"reddit", z.ZodObject<{
51
- connectionId: z.ZodString;
52
- entityId: z.ZodString;
53
- instanceId: z.ZodString;
54
- }, z.core.$strip>, z.ZodObject<{
55
- accessToken: z.ZodString;
56
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"reddit", z.ZodObject<{
57
- connectionId: z.ZodString;
58
- entityId: z.ZodString;
59
- instanceId: z.ZodString;
60
- }, z.core.$strip>, z.ZodObject<{
61
- accessToken: z.ZodString;
62
- }, z.core.$strip>>]>;
48
+ declare const redditRetrieveRedditPost: AppAction<typeof RedditRetrieveRedditPostInput, typeof RedditRetrieveRedditPostOutput, typeof reddit.credential>;
63
49
  //#endregion
64
50
  export { redditRetrieveRedditPost };
65
51
  //# sourceMappingURL=retrieve-reddit-post.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-reddit-post.d.mts","names":[],"sources":["../../src/actions/retrieve-reddit-post.ts"],"mappings":";;;cAIa,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;cAmC7B,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAK9B,wBAAA,gCAAwB,wBAAA"}
1
+ {"version":3,"file":"retrieve-reddit-post.d.mts","names":[],"sources":["../../src/actions/retrieve-reddit-post.ts"],"mappings":";;;;;cAMa,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;cAmC7B,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAK9B,wBAAA,EAA0B,SAAA,QAC9B,6BAAA,SACA,8BAAA,SACA,MAAA,CAAO,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  //#region src/actions/retrieve-reddit-post.ts
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-reddit-post.mjs","names":[],"sources":["../../src/actions/retrieve-reddit-post.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const RedditRetrieveRedditPostInput = z.object({\n sort: z.enum([\"hot\", \"new\", \"top\", \"rising\", \"controversial\"]).default(\"hot\").describe(\"Sort order for posts. Options: 'hot' (default, most active posts), 'new' (newest first), 'top' (highest scoring), 'rising' (trending posts), 'controversial' (most controversial).\").optional(),\n subreddit: z.string().describe(\"The name of the subreddit from which to retrieve posts (e.g., 'popular', 'pics'). Do not include 'r/'. Subreddit names must be 3-21 characters and can only contain letters, numbers, and underscores.\"),\n max_results: z.number().int().default(5).describe(\"The maximum number of posts to return. Default is 5. Set to 0 to retrieve the maximum allowed by the Reddit API (100 posts). Valid range: 0-100.\").optional(),\n});\nconst RedditRetrieveRedditPost_PostDataSchema = z.object({\n id: z.string().describe(\"Unique identifier of the post in base36 format.\").nullable(),\n ups: z.number().int().describe(\"Number of upvotes received.\").nullable(),\n url: z.string().describe(\"URL the post links to, or the permalink if a self post.\").nullable(),\n name: z.string().describe(\"Fullname of the post, combining type prefix and ID (e.g., 't3_abc123').\").nullable(),\n score: z.number().int().describe(\"Net score of the post, calculated as upvotes minus downvotes.\").nullable(),\n title: z.string().describe(\"The title of the post.\").nullable(),\n author: z.string().describe(\"Username of the post author.\").nullable().optional(),\n domain: z.string().describe(\"Domain of the linked content, 'self.<subreddit>' for self posts.\").nullable(),\n is_self: z.boolean().describe(\"Whether the post is a self/text post (true) or link post (false).\").nullable(),\n over_18: z.boolean().describe(\"Whether the post is marked as NSFW (Not Safe For Work).\").nullable(),\n is_video: z.boolean().describe(\"Whether the post contains a video hosted on Reddit.\").nullable().optional(),\n selftext: z.string().describe(\"Raw body text for self/text posts, empty string for link posts.\").nullable(),\n permalink: z.string().describe(\"Relative URL path to the permanent link of the post.\").nullable(),\n subreddit: z.string().describe(\"Name of the subreddit without the /r/ prefix.\").nullable(),\n thumbnail: z.string().describe(\"Thumbnail URL, or 'self' for self posts, 'image' if link to image but no thumbnail, 'default' if unavailable.\").nullable(),\n created_utc: z.number().describe(\"Unix timestamp of post creation in UTC epoch-seconds.\").nullable(),\n num_comments: z.number().int().describe(\"Total number of comments.\").nullable(),\n}).passthrough().describe(\"Optimized post data object containing only essential fields.\");\nconst RedditRetrieveRedditPost_PostChildSchema = z.object({\n data: RedditRetrieveRedditPost_PostDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier for the post object, always 't3' for links/posts.\").nullable(),\n}).passthrough().describe(\"Wrapper object for each post in the children array.\");\nconst RedditRetrieveRedditPost_ListingDataSchema = z.object({\n dist: z.number().int().describe(\"The number of children returned in this listing.\").nullable().optional(),\n after: z.string().describe(\"Fullname of the last item in the listing, used for pagination.\").nullable().optional(),\n before: z.string().describe(\"Fullname of the first item in the listing, used for pagination.\").nullable().optional(),\n modhash: z.string().describe(\"Modhash token for the current session.\").nullable().optional(),\n children: z.array(RedditRetrieveRedditPost_PostChildSchema).describe(\"Array of post objects.\"),\n}).passthrough().describe(\"Container object holding the listing response data.\");\nexport const RedditRetrieveRedditPostOutput = z.object({\n data: RedditRetrieveRedditPost_ListingDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier for the response wrapper, typically 'Listing' for post queries.\").nullable(),\n}).passthrough().describe(\"Response from retrieving posts from a subreddit.\");\n\nexport const redditRetrieveRedditPost = action(\"REDDIT_RETRIEVE_REDDIT_POST\", {\n slug: \"reddit-retrieve-reddit-post\",\n name: \"Retrieve posts from subreddit\",\n description: \"Retrieves posts from a specified, publicly accessible subreddit. Responses nest post data under `data.children[].data`; inspect the structure before parsing. Pagination uses a `data.after` cursor; deduplicate across pages by post `id`. No built-in date filtering; compare `created_utc` (Unix seconds, UTC) client-side. Rate limit: ~1–2 requests/second; back off on HTTP 429.\",\n input: RedditRetrieveRedditPostInput,\n output: RedditRetrieveRedditPostOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"retrieve-reddit-post.mjs","names":[],"sources":["../../src/actions/retrieve-reddit-post.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { reddit } from \"../app\";\n\nexport const RedditRetrieveRedditPostInput = z.object({\n sort: z.enum([\"hot\", \"new\", \"top\", \"rising\", \"controversial\"]).default(\"hot\").describe(\"Sort order for posts. Options: 'hot' (default, most active posts), 'new' (newest first), 'top' (highest scoring), 'rising' (trending posts), 'controversial' (most controversial).\").optional(),\n subreddit: z.string().describe(\"The name of the subreddit from which to retrieve posts (e.g., 'popular', 'pics'). Do not include 'r/'. Subreddit names must be 3-21 characters and can only contain letters, numbers, and underscores.\"),\n max_results: z.number().int().default(5).describe(\"The maximum number of posts to return. Default is 5. Set to 0 to retrieve the maximum allowed by the Reddit API (100 posts). Valid range: 0-100.\").optional(),\n});\nconst RedditRetrieveRedditPost_PostDataSchema = z.object({\n id: z.string().describe(\"Unique identifier of the post in base36 format.\").nullable(),\n ups: z.number().int().describe(\"Number of upvotes received.\").nullable(),\n url: z.string().describe(\"URL the post links to, or the permalink if a self post.\").nullable(),\n name: z.string().describe(\"Fullname of the post, combining type prefix and ID (e.g., 't3_abc123').\").nullable(),\n score: z.number().int().describe(\"Net score of the post, calculated as upvotes minus downvotes.\").nullable(),\n title: z.string().describe(\"The title of the post.\").nullable(),\n author: z.string().describe(\"Username of the post author.\").nullable().optional(),\n domain: z.string().describe(\"Domain of the linked content, 'self.<subreddit>' for self posts.\").nullable(),\n is_self: z.boolean().describe(\"Whether the post is a self/text post (true) or link post (false).\").nullable(),\n over_18: z.boolean().describe(\"Whether the post is marked as NSFW (Not Safe For Work).\").nullable(),\n is_video: z.boolean().describe(\"Whether the post contains a video hosted on Reddit.\").nullable().optional(),\n selftext: z.string().describe(\"Raw body text for self/text posts, empty string for link posts.\").nullable(),\n permalink: z.string().describe(\"Relative URL path to the permanent link of the post.\").nullable(),\n subreddit: z.string().describe(\"Name of the subreddit without the /r/ prefix.\").nullable(),\n thumbnail: z.string().describe(\"Thumbnail URL, or 'self' for self posts, 'image' if link to image but no thumbnail, 'default' if unavailable.\").nullable(),\n created_utc: z.number().describe(\"Unix timestamp of post creation in UTC epoch-seconds.\").nullable(),\n num_comments: z.number().int().describe(\"Total number of comments.\").nullable(),\n}).passthrough().describe(\"Optimized post data object containing only essential fields.\");\nconst RedditRetrieveRedditPost_PostChildSchema = z.object({\n data: RedditRetrieveRedditPost_PostDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier for the post object, always 't3' for links/posts.\").nullable(),\n}).passthrough().describe(\"Wrapper object for each post in the children array.\");\nconst RedditRetrieveRedditPost_ListingDataSchema = z.object({\n dist: z.number().int().describe(\"The number of children returned in this listing.\").nullable().optional(),\n after: z.string().describe(\"Fullname of the last item in the listing, used for pagination.\").nullable().optional(),\n before: z.string().describe(\"Fullname of the first item in the listing, used for pagination.\").nullable().optional(),\n modhash: z.string().describe(\"Modhash token for the current session.\").nullable().optional(),\n children: z.array(RedditRetrieveRedditPost_PostChildSchema).describe(\"Array of post objects.\"),\n}).passthrough().describe(\"Container object holding the listing response data.\");\nexport const RedditRetrieveRedditPostOutput = z.object({\n data: RedditRetrieveRedditPost_ListingDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier for the response wrapper, typically 'Listing' for post queries.\").nullable(),\n}).passthrough().describe(\"Response from retrieving posts from a subreddit.\");\n\nexport const redditRetrieveRedditPost: AppAction<\n typeof RedditRetrieveRedditPostInput,\n typeof RedditRetrieveRedditPostOutput,\n typeof reddit.credential\n> = action(\"REDDIT_RETRIEVE_REDDIT_POST\", {\n slug: \"reddit-retrieve-reddit-post\",\n name: \"Retrieve posts from subreddit\",\n description: \"Retrieves posts from a specified, publicly accessible subreddit. Responses nest post data under `data.children[].data`; inspect the structure before parsing. Pagination uses a `data.after` cursor; deduplicate across pages by post `id`. No built-in date filtering; compare `created_utc` (Unix seconds, UTC) client-side. Rate limit: ~1–2 requests/second; back off on HTTP 429.\",\n input: RedditRetrieveRedditPostInput,\n output: RedditRetrieveRedditPostOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,gCAAgC,EAAE,OAAO;CACpD,MAAM,EAAE,KAAK;EAAC;EAAO;EAAO;EAAO;EAAU;CAAe,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,oLAAoL,CAAC,CAAC,SAAS;CACtR,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,wMAAwM;CACvO,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,kJAAkJ,CAAC,CAAC,SAAS;AACjN,CAAC;AACD,MAAM,0CAA0C,EAAE,OAAO;CACvD,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS;CACpF,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;CACvE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CAC7F,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAyE,CAAC,CAAC,SAAS;CAC9G,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;CAC3G,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;CAC9D,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChF,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,kEAAkE,CAAC,CAAC,SAAS;CACzG,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,mEAAmE,CAAC,CAAC,SAAS;CAC5G,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CAClG,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1G,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS;CAC1G,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CAChG,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;CACzF,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,+GAA+G,CAAC,CAAC,SAAS;CACzJ,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;CACnG,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS;AAChF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8DAA8D;AACxF,MAAM,2CAA2C,EAAE,OAAO;CACxD,MAAM,wCAAwC,SAAS;CACvD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,mEAAmE,CAAC,CAAC,SAAS;AAC1G,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,qDAAqD;AAC/E,MAAM,6CAA6C,EAAE,OAAO;CAC1D,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kDAAkD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxG,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjH,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnH,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3F,UAAU,EAAE,MAAM,wCAAwC,CAAC,CAAC,SAAS,wBAAwB;AAC/F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,qDAAqD;AAM/E,MAAa,2BAIT,OAAO,+BAA+B;CACxC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAd4C,EAAE,OAAO;EACrD,MAAM,2CAA2C,SAAS;EAC1D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,iFAAiF,CAAC,CAAC,SAAS;CACxH,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,kDAWhB;AACV,CAAC"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/retrieve-specific-comment.ts
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-specific-comment.cjs","names":["z","action"],"sources":["../../src/actions/retrieve-specific-comment.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const RedditRetrieveSpecificCommentInput = z.object({\n id: z.string().describe(\"Reddit fullname identifier. Format: type prefix (t1_ for comments, t3_ for posts) followed by a base36 ID. Examples: 't1_abc123', 't3_1abc2de'. Note: Share URL tokens from reddit.com/r/.../s/... links are NOT valid fullnames and cannot be used directly. Note: REDDIT_RETRIEVE_POST_COMMENTS expects the bare base-36 ID without the t3_ prefix, unlike this tool.\"),\n});\nconst RedditRetrieveSpecificComment_OembedDataSchema = z.object({\n html: z.string().describe(\"HTML code for embedding the media resource.\").nullable().optional(),\n type: z.string().describe(\"Resource type (photo, video, link, or rich) per oEmbed specification.\").nullable().optional(),\n title: z.string().describe(\"Title of the embedded media.\").nullable().optional(),\n width: z.number().int().describe(\"Width of the embedded media in pixels.\").nullable().optional(),\n height: z.number().int().describe(\"Height of the embedded media in pixels.\").nullable().optional(),\n version: z.string().describe(\"oEmbed version number, typically '1.0'.\").nullable().optional(),\n cache_age: z.number().int().describe(\"Suggested cache lifetime in seconds.\").nullable().optional(),\n author_url: z.string().describe(\"URL of the media content creator's profile or website.\").nullable().optional(),\n author_name: z.string().describe(\"Name of the media content creator.\").nullable().optional(),\n description: z.string().describe(\"Text description of the embedded media resource.\").nullable().optional(),\n provider_url: z.string().describe(\"URL of the media provider's website.\").nullable().optional(),\n provider_name: z.string().describe(\"Name of the media provider.\").nullable().optional(),\n thumbnail_url: z.string().describe(\"URL of the thumbnail image.\").nullable().optional(),\n thumbnail_width: z.number().int().describe(\"Width of the thumbnail image in pixels.\").nullable().optional(),\n thumbnail_height: z.number().int().describe(\"Height of the thumbnail image in pixels.\").nullable().optional(),\n}).passthrough().describe(\"oEmbed metadata for embedded media content following the oEmbed specification.\");\nconst RedditRetrieveSpecificComment_MediaDataSchema = z.object({\n oembed: RedditRetrieveSpecificComment_OembedDataSchema.nullable().optional(),\n}).passthrough().describe(\"Media information for posts with embedded content.\");\nconst RedditRetrieveSpecificComment_SimplifiedRepliesSchema = z.object({\n count: z.number().int().default(0).describe(\"Number of direct replies to this comment.\").nullable().optional(),\n has_replies: z.boolean().default(false).describe(\"Whether this comment has any replies.\").nullable().optional(),\n}).passthrough().describe(\"Simplified replies information to prevent unbounded recursive data.\");\nconst RedditRetrieveSpecificComment_CommentDataSchema = z.object({\n id: z.string().describe(\"The item's unique identifier (without the t1_ or t3_ prefix).\").nullable(),\n body: z.string().describe(\"The raw text of the comment. Only present for comments (t1).\").nullable().optional(),\n name: z.string().describe(\"The item's fullname identifier (e.g., 't1_c3v7f8u' for comments, 't3_abc123' for posts).\").nullable(),\n depth: z.number().int().describe(\"The depth level in the thread. Top-level comments have depth 0.\").nullable().optional(),\n media: RedditRetrieveSpecificComment_MediaDataSchema.nullable().optional(),\n score: z.number().int().describe(\"The net score (upvotes minus downvotes).\").nullable(),\n author: z.string().describe(\"The username of the author. Can be null for deleted accounts.\").nullable().optional(),\n replies: RedditRetrieveSpecificComment_SimplifiedRepliesSchema.nullable().optional(),\n body_html: z.string().describe(\"The formatted HTML text. Only present for comments (t1).\").nullable().optional(),\n parent_id: z.string().describe(\"The ID of the parent comment (t1_) or parent submission (t3_). Only present for comments.\").nullable().optional(),\n permalink: z.string().describe(\"Permanent link to the comment or post.\").nullable().optional(),\n created_utc: z.number().describe(\"Creation timestamp in Unix time (UTC).\").nullable(),\n is_submitter: z.boolean().describe(\"Whether the comment author is also the submission author.\").nullable().optional(),\n}).passthrough().describe(\"Optimized data attributes for a Reddit comment (t1) or post (t3). Only essential fields are included to prevent oversized responses.\");\nconst RedditRetrieveSpecificComment_ThingDataSchema = z.object({\n data: RedditRetrieveSpecificComment_CommentDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier for the item (e.g., 't1' for comment, 't3' for link/post).\").nullable(),\n}).passthrough().describe(\"Represents a Reddit 'thing' - can be a comment (t1) or post (t3). The data field uses CommentData which supports both types through optional fields.\");\nexport const RedditRetrieveSpecificCommentOutput = z.object({\n things: z.array(RedditRetrieveSpecificComment_ThingDataSchema).describe(\"List of items (comments or posts) matching the `id` from the request; typically contains a single item.\"),\n}).passthrough();\n\nexport const redditRetrieveSpecificComment = action(\"REDDIT_RETRIEVE_SPECIFIC_COMMENT\", {\n slug: \"reddit-retrieve-specific-comment\",\n name: \"Retrieve specific comment or post\",\n description: \"Retrieves detailed information for a single Reddit comment or post using its fullname. Returns only the specified item, not surrounding thread context; use REDDIT_RETRIEVE_POST_COMMENTS for full discussion retrieval. Deleted, removed, or quarantined items may return empty or partial payloads.\",\n input: RedditRetrieveSpecificCommentInput,\n output: RedditRetrieveSpecificCommentOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"retrieve-specific-comment.cjs","names":["z","action"],"sources":["../../src/actions/retrieve-specific-comment.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { reddit } from \"../app\";\n\nexport const RedditRetrieveSpecificCommentInput = z.object({\n id: z.string().describe(\"Reddit fullname identifier. Format: type prefix (t1_ for comments, t3_ for posts) followed by a base36 ID. Examples: 't1_abc123', 't3_1abc2de'. Note: Share URL tokens from reddit.com/r/.../s/... links are NOT valid fullnames and cannot be used directly. Note: REDDIT_RETRIEVE_POST_COMMENTS expects the bare base-36 ID without the t3_ prefix, unlike this tool.\"),\n});\nconst RedditRetrieveSpecificComment_OembedDataSchema = z.object({\n html: z.string().describe(\"HTML code for embedding the media resource.\").nullable().optional(),\n type: z.string().describe(\"Resource type (photo, video, link, or rich) per oEmbed specification.\").nullable().optional(),\n title: z.string().describe(\"Title of the embedded media.\").nullable().optional(),\n width: z.number().int().describe(\"Width of the embedded media in pixels.\").nullable().optional(),\n height: z.number().int().describe(\"Height of the embedded media in pixels.\").nullable().optional(),\n version: z.string().describe(\"oEmbed version number, typically '1.0'.\").nullable().optional(),\n cache_age: z.number().int().describe(\"Suggested cache lifetime in seconds.\").nullable().optional(),\n author_url: z.string().describe(\"URL of the media content creator's profile or website.\").nullable().optional(),\n author_name: z.string().describe(\"Name of the media content creator.\").nullable().optional(),\n description: z.string().describe(\"Text description of the embedded media resource.\").nullable().optional(),\n provider_url: z.string().describe(\"URL of the media provider's website.\").nullable().optional(),\n provider_name: z.string().describe(\"Name of the media provider.\").nullable().optional(),\n thumbnail_url: z.string().describe(\"URL of the thumbnail image.\").nullable().optional(),\n thumbnail_width: z.number().int().describe(\"Width of the thumbnail image in pixels.\").nullable().optional(),\n thumbnail_height: z.number().int().describe(\"Height of the thumbnail image in pixels.\").nullable().optional(),\n}).passthrough().describe(\"oEmbed metadata for embedded media content following the oEmbed specification.\");\nconst RedditRetrieveSpecificComment_MediaDataSchema = z.object({\n oembed: RedditRetrieveSpecificComment_OembedDataSchema.nullable().optional(),\n}).passthrough().describe(\"Media information for posts with embedded content.\");\nconst RedditRetrieveSpecificComment_SimplifiedRepliesSchema = z.object({\n count: z.number().int().default(0).describe(\"Number of direct replies to this comment.\").nullable().optional(),\n has_replies: z.boolean().default(false).describe(\"Whether this comment has any replies.\").nullable().optional(),\n}).passthrough().describe(\"Simplified replies information to prevent unbounded recursive data.\");\nconst RedditRetrieveSpecificComment_CommentDataSchema = z.object({\n id: z.string().describe(\"The item's unique identifier (without the t1_ or t3_ prefix).\").nullable(),\n body: z.string().describe(\"The raw text of the comment. Only present for comments (t1).\").nullable().optional(),\n name: z.string().describe(\"The item's fullname identifier (e.g., 't1_c3v7f8u' for comments, 't3_abc123' for posts).\").nullable(),\n depth: z.number().int().describe(\"The depth level in the thread. Top-level comments have depth 0.\").nullable().optional(),\n media: RedditRetrieveSpecificComment_MediaDataSchema.nullable().optional(),\n score: z.number().int().describe(\"The net score (upvotes minus downvotes).\").nullable(),\n author: z.string().describe(\"The username of the author. Can be null for deleted accounts.\").nullable().optional(),\n replies: RedditRetrieveSpecificComment_SimplifiedRepliesSchema.nullable().optional(),\n body_html: z.string().describe(\"The formatted HTML text. Only present for comments (t1).\").nullable().optional(),\n parent_id: z.string().describe(\"The ID of the parent comment (t1_) or parent submission (t3_). Only present for comments.\").nullable().optional(),\n permalink: z.string().describe(\"Permanent link to the comment or post.\").nullable().optional(),\n created_utc: z.number().describe(\"Creation timestamp in Unix time (UTC).\").nullable(),\n is_submitter: z.boolean().describe(\"Whether the comment author is also the submission author.\").nullable().optional(),\n}).passthrough().describe(\"Optimized data attributes for a Reddit comment (t1) or post (t3). Only essential fields are included to prevent oversized responses.\");\nconst RedditRetrieveSpecificComment_ThingDataSchema = z.object({\n data: RedditRetrieveSpecificComment_CommentDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier for the item (e.g., 't1' for comment, 't3' for link/post).\").nullable(),\n}).passthrough().describe(\"Represents a Reddit 'thing' - can be a comment (t1) or post (t3). The data field uses CommentData which supports both types through optional fields.\");\nexport const RedditRetrieveSpecificCommentOutput = z.object({\n things: z.array(RedditRetrieveSpecificComment_ThingDataSchema).describe(\"List of items (comments or posts) matching the `id` from the request; typically contains a single item.\"),\n}).passthrough();\n\nexport const redditRetrieveSpecificComment: AppAction<\n typeof RedditRetrieveSpecificCommentInput,\n typeof RedditRetrieveSpecificCommentOutput,\n typeof reddit.credential\n> = action(\"REDDIT_RETRIEVE_SPECIFIC_COMMENT\", {\n slug: \"reddit-retrieve-specific-comment\",\n name: \"Retrieve specific comment or post\",\n description: \"Retrieves detailed information for a single Reddit comment or post using its fullname. Returns only the specified item, not surrounding thread context; use REDDIT_RETRIEVE_POST_COMMENTS for full discussion retrieval. Deleted, removed, or quarantined items may return empty or partial payloads.\",\n input: RedditRetrieveSpecificCommentInput,\n output: RedditRetrieveSpecificCommentOutput,\n});\n"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { reddit } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/retrieve-specific-comment.d.ts
@@ -45,21 +47,7 @@ declare const RedditRetrieveSpecificCommentOutput: z.ZodObject<{
45
47
  kind: z.ZodNullable<z.ZodString>;
46
48
  }, z.core.$loose>>;
47
49
  }, z.core.$loose>;
48
- declare const redditRetrieveSpecificComment: import("@keystrokehq/action").WorkflowActionDefinition<{
49
- id: string;
50
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"reddit", z.ZodObject<{
51
- connectionId: z.ZodString;
52
- entityId: z.ZodString;
53
- instanceId: z.ZodString;
54
- }, z.core.$strip>, z.ZodObject<{
55
- accessToken: z.ZodString;
56
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"reddit", z.ZodObject<{
57
- connectionId: z.ZodString;
58
- entityId: z.ZodString;
59
- instanceId: z.ZodString;
60
- }, z.core.$strip>, z.ZodObject<{
61
- accessToken: z.ZodString;
62
- }, z.core.$strip>>]>;
50
+ declare const redditRetrieveSpecificComment: AppAction<typeof RedditRetrieveSpecificCommentInput, typeof RedditRetrieveSpecificCommentOutput, typeof reddit.credential>;
63
51
  //#endregion
64
52
  export { redditRetrieveSpecificComment };
65
53
  //# sourceMappingURL=retrieve-specific-comment.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-specific-comment.d.cts","names":[],"sources":["../../src/actions/retrieve-specific-comment.ts"],"mappings":";;;cAIa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;cA8ClC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAInC,6BAAA,gCAA6B,wBAAA"}
1
+ {"version":3,"file":"retrieve-specific-comment.d.cts","names":[],"sources":["../../src/actions/retrieve-specific-comment.ts"],"mappings":";;;;;cAMa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;cA8ClC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAInC,6BAAA,EAA+B,SAAA,QACnC,kCAAA,SACA,mCAAA,SACA,MAAA,CAAO,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { reddit } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/retrieve-specific-comment.d.ts
@@ -45,21 +47,7 @@ declare const RedditRetrieveSpecificCommentOutput: z.ZodObject<{
45
47
  kind: z.ZodNullable<z.ZodString>;
46
48
  }, z.core.$loose>>;
47
49
  }, z.core.$loose>;
48
- declare const redditRetrieveSpecificComment: import("@keystrokehq/action").WorkflowActionDefinition<{
49
- id: string;
50
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"reddit", z.ZodObject<{
51
- connectionId: z.ZodString;
52
- entityId: z.ZodString;
53
- instanceId: z.ZodString;
54
- }, z.core.$strip>, z.ZodObject<{
55
- accessToken: z.ZodString;
56
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"reddit", z.ZodObject<{
57
- connectionId: z.ZodString;
58
- entityId: z.ZodString;
59
- instanceId: z.ZodString;
60
- }, z.core.$strip>, z.ZodObject<{
61
- accessToken: z.ZodString;
62
- }, z.core.$strip>>]>;
50
+ declare const redditRetrieveSpecificComment: AppAction<typeof RedditRetrieveSpecificCommentInput, typeof RedditRetrieveSpecificCommentOutput, typeof reddit.credential>;
63
51
  //#endregion
64
52
  export { redditRetrieveSpecificComment };
65
53
  //# sourceMappingURL=retrieve-specific-comment.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-specific-comment.d.mts","names":[],"sources":["../../src/actions/retrieve-specific-comment.ts"],"mappings":";;;cAIa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;cA8ClC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAInC,6BAAA,gCAA6B,wBAAA"}
1
+ {"version":3,"file":"retrieve-specific-comment.d.mts","names":[],"sources":["../../src/actions/retrieve-specific-comment.ts"],"mappings":";;;;;cAMa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;cA8ClC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAInC,6BAAA,EAA+B,SAAA,QACnC,kCAAA,SACA,mCAAA,SACA,MAAA,CAAO,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  //#region src/actions/retrieve-specific-comment.ts
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-specific-comment.mjs","names":[],"sources":["../../src/actions/retrieve-specific-comment.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const RedditRetrieveSpecificCommentInput = z.object({\n id: z.string().describe(\"Reddit fullname identifier. Format: type prefix (t1_ for comments, t3_ for posts) followed by a base36 ID. Examples: 't1_abc123', 't3_1abc2de'. Note: Share URL tokens from reddit.com/r/.../s/... links are NOT valid fullnames and cannot be used directly. Note: REDDIT_RETRIEVE_POST_COMMENTS expects the bare base-36 ID without the t3_ prefix, unlike this tool.\"),\n});\nconst RedditRetrieveSpecificComment_OembedDataSchema = z.object({\n html: z.string().describe(\"HTML code for embedding the media resource.\").nullable().optional(),\n type: z.string().describe(\"Resource type (photo, video, link, or rich) per oEmbed specification.\").nullable().optional(),\n title: z.string().describe(\"Title of the embedded media.\").nullable().optional(),\n width: z.number().int().describe(\"Width of the embedded media in pixels.\").nullable().optional(),\n height: z.number().int().describe(\"Height of the embedded media in pixels.\").nullable().optional(),\n version: z.string().describe(\"oEmbed version number, typically '1.0'.\").nullable().optional(),\n cache_age: z.number().int().describe(\"Suggested cache lifetime in seconds.\").nullable().optional(),\n author_url: z.string().describe(\"URL of the media content creator's profile or website.\").nullable().optional(),\n author_name: z.string().describe(\"Name of the media content creator.\").nullable().optional(),\n description: z.string().describe(\"Text description of the embedded media resource.\").nullable().optional(),\n provider_url: z.string().describe(\"URL of the media provider's website.\").nullable().optional(),\n provider_name: z.string().describe(\"Name of the media provider.\").nullable().optional(),\n thumbnail_url: z.string().describe(\"URL of the thumbnail image.\").nullable().optional(),\n thumbnail_width: z.number().int().describe(\"Width of the thumbnail image in pixels.\").nullable().optional(),\n thumbnail_height: z.number().int().describe(\"Height of the thumbnail image in pixels.\").nullable().optional(),\n}).passthrough().describe(\"oEmbed metadata for embedded media content following the oEmbed specification.\");\nconst RedditRetrieveSpecificComment_MediaDataSchema = z.object({\n oembed: RedditRetrieveSpecificComment_OembedDataSchema.nullable().optional(),\n}).passthrough().describe(\"Media information for posts with embedded content.\");\nconst RedditRetrieveSpecificComment_SimplifiedRepliesSchema = z.object({\n count: z.number().int().default(0).describe(\"Number of direct replies to this comment.\").nullable().optional(),\n has_replies: z.boolean().default(false).describe(\"Whether this comment has any replies.\").nullable().optional(),\n}).passthrough().describe(\"Simplified replies information to prevent unbounded recursive data.\");\nconst RedditRetrieveSpecificComment_CommentDataSchema = z.object({\n id: z.string().describe(\"The item's unique identifier (without the t1_ or t3_ prefix).\").nullable(),\n body: z.string().describe(\"The raw text of the comment. Only present for comments (t1).\").nullable().optional(),\n name: z.string().describe(\"The item's fullname identifier (e.g., 't1_c3v7f8u' for comments, 't3_abc123' for posts).\").nullable(),\n depth: z.number().int().describe(\"The depth level in the thread. Top-level comments have depth 0.\").nullable().optional(),\n media: RedditRetrieveSpecificComment_MediaDataSchema.nullable().optional(),\n score: z.number().int().describe(\"The net score (upvotes minus downvotes).\").nullable(),\n author: z.string().describe(\"The username of the author. Can be null for deleted accounts.\").nullable().optional(),\n replies: RedditRetrieveSpecificComment_SimplifiedRepliesSchema.nullable().optional(),\n body_html: z.string().describe(\"The formatted HTML text. Only present for comments (t1).\").nullable().optional(),\n parent_id: z.string().describe(\"The ID of the parent comment (t1_) or parent submission (t3_). Only present for comments.\").nullable().optional(),\n permalink: z.string().describe(\"Permanent link to the comment or post.\").nullable().optional(),\n created_utc: z.number().describe(\"Creation timestamp in Unix time (UTC).\").nullable(),\n is_submitter: z.boolean().describe(\"Whether the comment author is also the submission author.\").nullable().optional(),\n}).passthrough().describe(\"Optimized data attributes for a Reddit comment (t1) or post (t3). Only essential fields are included to prevent oversized responses.\");\nconst RedditRetrieveSpecificComment_ThingDataSchema = z.object({\n data: RedditRetrieveSpecificComment_CommentDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier for the item (e.g., 't1' for comment, 't3' for link/post).\").nullable(),\n}).passthrough().describe(\"Represents a Reddit 'thing' - can be a comment (t1) or post (t3). The data field uses CommentData which supports both types through optional fields.\");\nexport const RedditRetrieveSpecificCommentOutput = z.object({\n things: z.array(RedditRetrieveSpecificComment_ThingDataSchema).describe(\"List of items (comments or posts) matching the `id` from the request; typically contains a single item.\"),\n}).passthrough();\n\nexport const redditRetrieveSpecificComment = action(\"REDDIT_RETRIEVE_SPECIFIC_COMMENT\", {\n slug: \"reddit-retrieve-specific-comment\",\n name: \"Retrieve specific comment or post\",\n description: \"Retrieves detailed information for a single Reddit comment or post using its fullname. Returns only the specified item, not surrounding thread context; use REDDIT_RETRIEVE_POST_COMMENTS for full discussion retrieval. Deleted, removed, or quarantined items may return empty or partial payloads.\",\n input: RedditRetrieveSpecificCommentInput,\n output: RedditRetrieveSpecificCommentOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"retrieve-specific-comment.mjs","names":[],"sources":["../../src/actions/retrieve-specific-comment.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { reddit } from \"../app\";\n\nexport const RedditRetrieveSpecificCommentInput = z.object({\n id: z.string().describe(\"Reddit fullname identifier. Format: type prefix (t1_ for comments, t3_ for posts) followed by a base36 ID. Examples: 't1_abc123', 't3_1abc2de'. Note: Share URL tokens from reddit.com/r/.../s/... links are NOT valid fullnames and cannot be used directly. Note: REDDIT_RETRIEVE_POST_COMMENTS expects the bare base-36 ID without the t3_ prefix, unlike this tool.\"),\n});\nconst RedditRetrieveSpecificComment_OembedDataSchema = z.object({\n html: z.string().describe(\"HTML code for embedding the media resource.\").nullable().optional(),\n type: z.string().describe(\"Resource type (photo, video, link, or rich) per oEmbed specification.\").nullable().optional(),\n title: z.string().describe(\"Title of the embedded media.\").nullable().optional(),\n width: z.number().int().describe(\"Width of the embedded media in pixels.\").nullable().optional(),\n height: z.number().int().describe(\"Height of the embedded media in pixels.\").nullable().optional(),\n version: z.string().describe(\"oEmbed version number, typically '1.0'.\").nullable().optional(),\n cache_age: z.number().int().describe(\"Suggested cache lifetime in seconds.\").nullable().optional(),\n author_url: z.string().describe(\"URL of the media content creator's profile or website.\").nullable().optional(),\n author_name: z.string().describe(\"Name of the media content creator.\").nullable().optional(),\n description: z.string().describe(\"Text description of the embedded media resource.\").nullable().optional(),\n provider_url: z.string().describe(\"URL of the media provider's website.\").nullable().optional(),\n provider_name: z.string().describe(\"Name of the media provider.\").nullable().optional(),\n thumbnail_url: z.string().describe(\"URL of the thumbnail image.\").nullable().optional(),\n thumbnail_width: z.number().int().describe(\"Width of the thumbnail image in pixels.\").nullable().optional(),\n thumbnail_height: z.number().int().describe(\"Height of the thumbnail image in pixels.\").nullable().optional(),\n}).passthrough().describe(\"oEmbed metadata for embedded media content following the oEmbed specification.\");\nconst RedditRetrieveSpecificComment_MediaDataSchema = z.object({\n oembed: RedditRetrieveSpecificComment_OembedDataSchema.nullable().optional(),\n}).passthrough().describe(\"Media information for posts with embedded content.\");\nconst RedditRetrieveSpecificComment_SimplifiedRepliesSchema = z.object({\n count: z.number().int().default(0).describe(\"Number of direct replies to this comment.\").nullable().optional(),\n has_replies: z.boolean().default(false).describe(\"Whether this comment has any replies.\").nullable().optional(),\n}).passthrough().describe(\"Simplified replies information to prevent unbounded recursive data.\");\nconst RedditRetrieveSpecificComment_CommentDataSchema = z.object({\n id: z.string().describe(\"The item's unique identifier (without the t1_ or t3_ prefix).\").nullable(),\n body: z.string().describe(\"The raw text of the comment. Only present for comments (t1).\").nullable().optional(),\n name: z.string().describe(\"The item's fullname identifier (e.g., 't1_c3v7f8u' for comments, 't3_abc123' for posts).\").nullable(),\n depth: z.number().int().describe(\"The depth level in the thread. Top-level comments have depth 0.\").nullable().optional(),\n media: RedditRetrieveSpecificComment_MediaDataSchema.nullable().optional(),\n score: z.number().int().describe(\"The net score (upvotes minus downvotes).\").nullable(),\n author: z.string().describe(\"The username of the author. Can be null for deleted accounts.\").nullable().optional(),\n replies: RedditRetrieveSpecificComment_SimplifiedRepliesSchema.nullable().optional(),\n body_html: z.string().describe(\"The formatted HTML text. Only present for comments (t1).\").nullable().optional(),\n parent_id: z.string().describe(\"The ID of the parent comment (t1_) or parent submission (t3_). Only present for comments.\").nullable().optional(),\n permalink: z.string().describe(\"Permanent link to the comment or post.\").nullable().optional(),\n created_utc: z.number().describe(\"Creation timestamp in Unix time (UTC).\").nullable(),\n is_submitter: z.boolean().describe(\"Whether the comment author is also the submission author.\").nullable().optional(),\n}).passthrough().describe(\"Optimized data attributes for a Reddit comment (t1) or post (t3). Only essential fields are included to prevent oversized responses.\");\nconst RedditRetrieveSpecificComment_ThingDataSchema = z.object({\n data: RedditRetrieveSpecificComment_CommentDataSchema.nullable(),\n kind: z.string().describe(\"Type identifier for the item (e.g., 't1' for comment, 't3' for link/post).\").nullable(),\n}).passthrough().describe(\"Represents a Reddit 'thing' - can be a comment (t1) or post (t3). The data field uses CommentData which supports both types through optional fields.\");\nexport const RedditRetrieveSpecificCommentOutput = z.object({\n things: z.array(RedditRetrieveSpecificComment_ThingDataSchema).describe(\"List of items (comments or posts) matching the `id` from the request; typically contains a single item.\"),\n}).passthrough();\n\nexport const redditRetrieveSpecificComment: AppAction<\n typeof RedditRetrieveSpecificCommentInput,\n typeof RedditRetrieveSpecificCommentOutput,\n typeof reddit.credential\n> = action(\"REDDIT_RETRIEVE_SPECIFIC_COMMENT\", {\n slug: \"reddit-retrieve-specific-comment\",\n name: \"Retrieve specific comment or post\",\n description: \"Retrieves detailed information for a single Reddit comment or post using its fullname. Returns only the specified item, not surrounding thread context; use REDDIT_RETRIEVE_POST_COMMENTS for full discussion retrieval. Deleted, removed, or quarantined items may return empty or partial payloads.\",\n input: RedditRetrieveSpecificCommentInput,\n output: RedditRetrieveSpecificCommentOutput,\n});\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/search-across-subreddits.ts
@@ -1 +1 @@
1
- {"version":3,"file":"search-across-subreddits.cjs","names":["z","action"],"sources":["../../src/actions/search-across-subreddits.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const RedditSearchAcrossSubredditsInput = z.object({\n sort: z.enum([\"relevance\", \"hot\", \"new\", \"top\", \"comments\"]).default(\"relevance\").describe(\"The criterion for sorting search results. 'relevance' (default) sorts by relevance to the query. 'hot' sorts by trending posts with recent upvotes and activity. 'new' sorts by newest first. 'top' sorts by highest score (typically all-time). 'comments' sorts by the number of comments.\").optional(),\n after: z.string().describe(\"Pagination cursor to fetch the next page of results. Use the `after` value from the previous response to get subsequent results.\").optional(),\n limit: z.number().int().default(5).describe(\"The maximum number of search results to return. Default is 5. Maximum allowed value is 100. Paginate beyond the first page using the `after` cursor from `data.after` in the response; deduplicate results across pages by post `id`.\").optional(),\n before: z.string().describe(\"Pagination cursor to fetch the previous page of results. Use the `before` value from the previous response to get preceding results.\").optional(),\n restrict_sr: z.boolean().default(true).describe(\"If True (default), confines the search to posts and comments within subreddits. If False, the search scope is broader and may include matching subreddit names or other Reddit entities.\").optional(),\n search_query: z.string().describe(\"The search query string. Supports Reddit search operators: 'title:', 'author:', 'subreddit:', 'url:', 'site:', 'flair:', 'self:yes/no', 'nsfw:yes/no', and boolean operators (AND, OR, NOT). Raw URLs (starting with http:// or https://) are not allowed - use the 'url:' or 'site:' operators instead (e.g., 'url:example.com' to find posts linking to that domain).\"),\n});\nconst RedditSearchAcrossSubreddits_PostResultSchema = z.object({\n id: z.string().describe(\"Unique identifier of the post\").nullable(),\n url: z.string().describe(\"URL the post links to (same as permalink for self-posts)\").nullable(),\n score: z.number().int().describe(\"Net score (upvotes minus downvotes)\").nullable(),\n title: z.string().describe(\"The title of the post\").nullable(),\n author: z.string().describe(\"Username of the post author (null for deleted accounts)\").nullable().optional(),\n is_self: z.boolean().describe(\"Whether this is a self-post (text-only)\").nullable(),\n over_18: z.boolean().describe(\"Whether the post is marked NSFW\").nullable(),\n selftext: z.string().describe(\"Text content of the post body (empty string for link posts)\").nullable(),\n permalink: z.string().describe(\"Full URL path to the post on Reddit\").nullable(),\n subreddit: z.string().describe(\"Name of the subreddit (without r/ prefix)\").nullable(),\n created_utc: z.number().describe(\"Unix timestamp of creation time in UTC\").nullable(),\n num_comments: z.number().int().describe(\"Total number of comments on the post\").nullable(),\n created_datetime: z.string().describe(\"Human-readable creation date in ISO format\").nullable(),\n subreddit_prefixed: z.string().describe(\"Subreddit name with r/ prefix (e.g., r/programming)\").nullable(),\n}).passthrough().describe(\"Streamlined post data containing only essential information for search results.\");\nexport const RedditSearchAcrossSubredditsOutput = z.object({\n after: z.string().describe(\"Pagination cursor for the next page (null if no more results)\").nullable().optional(),\n posts: z.array(RedditSearchAcrossSubreddits_PostResultSchema).describe(\"List of posts matching the search query\"),\n before: z.string().describe(\"Pagination cursor for the previous page (null if at beginning)\").nullable().optional(),\n total_results: z.number().int().describe(\"Number of posts returned in this response\").nullable(),\n}).passthrough().describe(\"Streamlined Reddit search response containing only essential post information.\");\n\nexport const redditSearchAcrossSubreddits = action(\"REDDIT_SEARCH_ACROSS_SUBREDDITS\", {\n slug: \"reddit-search-across-subreddits\",\n name: \"Search across subreddits\",\n description: \"Searches Reddit for posts/comments using a query. Results nested under `data.children[i].data` (kind `t3` for posts); a `posts` array may also appear — inspect actual response path. No native time-range filter; compare `created_utc` (Unix epoch, UTC) client-side for recency filtering. Empty `children` is a valid no-results outcome. Key post fields: `score`, `num_comments`, `created_utc`, `permalink`. Rate limit: ~1–2 requests/sec; HTTP 429 indicates throttling.\",\n input: RedditSearchAcrossSubredditsInput,\n output: RedditSearchAcrossSubredditsOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"search-across-subreddits.cjs","names":["z","action"],"sources":["../../src/actions/search-across-subreddits.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { reddit } from \"../app\";\n\nexport const RedditSearchAcrossSubredditsInput = z.object({\n sort: z.enum([\"relevance\", \"hot\", \"new\", \"top\", \"comments\"]).default(\"relevance\").describe(\"The criterion for sorting search results. 'relevance' (default) sorts by relevance to the query. 'hot' sorts by trending posts with recent upvotes and activity. 'new' sorts by newest first. 'top' sorts by highest score (typically all-time). 'comments' sorts by the number of comments.\").optional(),\n after: z.string().describe(\"Pagination cursor to fetch the next page of results. Use the `after` value from the previous response to get subsequent results.\").optional(),\n limit: z.number().int().default(5).describe(\"The maximum number of search results to return. Default is 5. Maximum allowed value is 100. Paginate beyond the first page using the `after` cursor from `data.after` in the response; deduplicate results across pages by post `id`.\").optional(),\n before: z.string().describe(\"Pagination cursor to fetch the previous page of results. Use the `before` value from the previous response to get preceding results.\").optional(),\n restrict_sr: z.boolean().default(true).describe(\"If True (default), confines the search to posts and comments within subreddits. If False, the search scope is broader and may include matching subreddit names or other Reddit entities.\").optional(),\n search_query: z.string().describe(\"The search query string. Supports Reddit search operators: 'title:', 'author:', 'subreddit:', 'url:', 'site:', 'flair:', 'self:yes/no', 'nsfw:yes/no', and boolean operators (AND, OR, NOT). Raw URLs (starting with http:// or https://) are not allowed - use the 'url:' or 'site:' operators instead (e.g., 'url:example.com' to find posts linking to that domain).\"),\n});\nconst RedditSearchAcrossSubreddits_PostResultSchema = z.object({\n id: z.string().describe(\"Unique identifier of the post\").nullable(),\n url: z.string().describe(\"URL the post links to (same as permalink for self-posts)\").nullable(),\n score: z.number().int().describe(\"Net score (upvotes minus downvotes)\").nullable(),\n title: z.string().describe(\"The title of the post\").nullable(),\n author: z.string().describe(\"Username of the post author (null for deleted accounts)\").nullable().optional(),\n is_self: z.boolean().describe(\"Whether this is a self-post (text-only)\").nullable(),\n over_18: z.boolean().describe(\"Whether the post is marked NSFW\").nullable(),\n selftext: z.string().describe(\"Text content of the post body (empty string for link posts)\").nullable(),\n permalink: z.string().describe(\"Full URL path to the post on Reddit\").nullable(),\n subreddit: z.string().describe(\"Name of the subreddit (without r/ prefix)\").nullable(),\n created_utc: z.number().describe(\"Unix timestamp of creation time in UTC\").nullable(),\n num_comments: z.number().int().describe(\"Total number of comments on the post\").nullable(),\n created_datetime: z.string().describe(\"Human-readable creation date in ISO format\").nullable(),\n subreddit_prefixed: z.string().describe(\"Subreddit name with r/ prefix (e.g., r/programming)\").nullable(),\n}).passthrough().describe(\"Streamlined post data containing only essential information for search results.\");\nexport const RedditSearchAcrossSubredditsOutput = z.object({\n after: z.string().describe(\"Pagination cursor for the next page (null if no more results)\").nullable().optional(),\n posts: z.array(RedditSearchAcrossSubreddits_PostResultSchema).describe(\"List of posts matching the search query\"),\n before: z.string().describe(\"Pagination cursor for the previous page (null if at beginning)\").nullable().optional(),\n total_results: z.number().int().describe(\"Number of posts returned in this response\").nullable(),\n}).passthrough().describe(\"Streamlined Reddit search response containing only essential post information.\");\n\nexport const redditSearchAcrossSubreddits: AppAction<\n typeof RedditSearchAcrossSubredditsInput,\n typeof RedditSearchAcrossSubredditsOutput,\n typeof reddit.credential\n> = action(\"REDDIT_SEARCH_ACROSS_SUBREDDITS\", {\n slug: \"reddit-search-across-subreddits\",\n name: \"Search across subreddits\",\n description: \"Searches Reddit for posts/comments using a query. Results nested under `data.children[i].data` (kind `t3` for posts); a `posts` array may also appear — inspect actual response path. No native time-range filter; compare `created_utc` (Unix epoch, UTC) client-side for recency filtering. Empty `children` is a valid no-results outcome. Key post fields: `score`, `num_comments`, `created_utc`, `permalink`. Rate limit: ~1–2 requests/sec; HTTP 429 indicates throttling.\",\n input: RedditSearchAcrossSubredditsInput,\n output: RedditSearchAcrossSubredditsOutput,\n});\n"],"mappings":"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"}
@@ -1,12 +1,14 @@
1
+ import { reddit } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/search-across-subreddits.d.ts
4
6
  declare const RedditSearchAcrossSubredditsInput: z.ZodObject<{
5
7
  sort: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
6
- relevance: "relevance";
7
8
  hot: "hot";
8
9
  new: "new";
9
10
  top: "top";
11
+ relevance: "relevance";
10
12
  comments: "comments";
11
13
  }>>>;
12
14
  after: z.ZodOptional<z.ZodString>;
@@ -36,26 +38,7 @@ declare const RedditSearchAcrossSubredditsOutput: z.ZodObject<{
36
38
  before: z.ZodOptional<z.ZodNullable<z.ZodString>>;
37
39
  total_results: z.ZodNullable<z.ZodNumber>;
38
40
  }, z.core.$loose>;
39
- declare const redditSearchAcrossSubreddits: import("@keystrokehq/action").WorkflowActionDefinition<{
40
- search_query: string;
41
- sort?: "relevance" | "hot" | "new" | "top" | "comments" | undefined;
42
- after?: string | undefined;
43
- limit?: number | undefined;
44
- before?: string | undefined;
45
- restrict_sr?: boolean | undefined;
46
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"reddit", z.ZodObject<{
47
- connectionId: z.ZodString;
48
- entityId: z.ZodString;
49
- instanceId: z.ZodString;
50
- }, z.core.$strip>, z.ZodObject<{
51
- accessToken: z.ZodString;
52
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"reddit", z.ZodObject<{
53
- connectionId: z.ZodString;
54
- entityId: z.ZodString;
55
- instanceId: z.ZodString;
56
- }, z.core.$strip>, z.ZodObject<{
57
- accessToken: z.ZodString;
58
- }, z.core.$strip>>]>;
41
+ declare const redditSearchAcrossSubreddits: AppAction<typeof RedditSearchAcrossSubredditsInput, typeof RedditSearchAcrossSubredditsOutput, typeof reddit.credential>;
59
42
  //#endregion
60
43
  export { redditSearchAcrossSubreddits };
61
44
  //# sourceMappingURL=search-across-subreddits.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-across-subreddits.d.cts","names":[],"sources":["../../src/actions/search-across-subreddits.ts"],"mappings":";;;cAIa,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAwBjC,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;cAOlC,4BAAA,gCAA4B,wBAAA"}
1
+ {"version":3,"file":"search-across-subreddits.d.cts","names":[],"sources":["../../src/actions/search-across-subreddits.ts"],"mappings":";;;;;cAMa,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAwBjC,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;cAOlC,4BAAA,EAA8B,SAAA,QAClC,iCAAA,SACA,kCAAA,SACA,MAAA,CAAO,UAAA"}
@@ -1,12 +1,14 @@
1
+ import { reddit } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/search-across-subreddits.d.ts
4
6
  declare const RedditSearchAcrossSubredditsInput: z.ZodObject<{
5
7
  sort: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
6
- relevance: "relevance";
7
8
  hot: "hot";
8
9
  new: "new";
9
10
  top: "top";
11
+ relevance: "relevance";
10
12
  comments: "comments";
11
13
  }>>>;
12
14
  after: z.ZodOptional<z.ZodString>;
@@ -36,26 +38,7 @@ declare const RedditSearchAcrossSubredditsOutput: z.ZodObject<{
36
38
  before: z.ZodOptional<z.ZodNullable<z.ZodString>>;
37
39
  total_results: z.ZodNullable<z.ZodNumber>;
38
40
  }, z.core.$loose>;
39
- declare const redditSearchAcrossSubreddits: import("@keystrokehq/action").WorkflowActionDefinition<{
40
- search_query: string;
41
- sort?: "relevance" | "hot" | "new" | "top" | "comments" | undefined;
42
- after?: string | undefined;
43
- limit?: number | undefined;
44
- before?: string | undefined;
45
- restrict_sr?: boolean | undefined;
46
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"reddit", z.ZodObject<{
47
- connectionId: z.ZodString;
48
- entityId: z.ZodString;
49
- instanceId: z.ZodString;
50
- }, z.core.$strip>, z.ZodObject<{
51
- accessToken: z.ZodString;
52
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"reddit", z.ZodObject<{
53
- connectionId: z.ZodString;
54
- entityId: z.ZodString;
55
- instanceId: z.ZodString;
56
- }, z.core.$strip>, z.ZodObject<{
57
- accessToken: z.ZodString;
58
- }, z.core.$strip>>]>;
41
+ declare const redditSearchAcrossSubreddits: AppAction<typeof RedditSearchAcrossSubredditsInput, typeof RedditSearchAcrossSubredditsOutput, typeof reddit.credential>;
59
42
  //#endregion
60
43
  export { redditSearchAcrossSubreddits };
61
44
  //# sourceMappingURL=search-across-subreddits.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-across-subreddits.d.mts","names":[],"sources":["../../src/actions/search-across-subreddits.ts"],"mappings":";;;cAIa,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAwBjC,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;cAOlC,4BAAA,gCAA4B,wBAAA"}
1
+ {"version":3,"file":"search-across-subreddits.d.mts","names":[],"sources":["../../src/actions/search-across-subreddits.ts"],"mappings":";;;;;cAMa,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAwBjC,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;cAOlC,4BAAA,EAA8B,SAAA,QAClC,iCAAA,SACA,kCAAA,SACA,MAAA,CAAO,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  //#region src/actions/search-across-subreddits.ts