@keystrokehq/reddit 0.1.0 → 0.1.2

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 (172) hide show
  1. package/README.md +1 -1
  2. package/dist/action.cjs.map +1 -1
  3. package/dist/action.mjs.map +1 -1
  4. package/dist/actions/create-reddit-post.cjs +1 -1
  5. package/dist/actions/create-reddit-post.cjs.map +1 -1
  6. package/dist/actions/create-reddit-post.d.cts +29 -3
  7. package/dist/actions/create-reddit-post.d.cts.map +1 -1
  8. package/dist/actions/create-reddit-post.d.mts +29 -3
  9. package/dist/actions/create-reddit-post.d.mts.map +1 -1
  10. package/dist/actions/create-reddit-post.mjs +1 -1
  11. package/dist/actions/create-reddit-post.mjs.map +1 -1
  12. package/dist/actions/delete-reddit-comment.cjs.map +1 -1
  13. package/dist/actions/delete-reddit-comment.d.cts +7 -3
  14. package/dist/actions/delete-reddit-comment.d.cts.map +1 -1
  15. package/dist/actions/delete-reddit-comment.d.mts +7 -3
  16. package/dist/actions/delete-reddit-comment.d.mts.map +1 -1
  17. package/dist/actions/delete-reddit-comment.mjs.map +1 -1
  18. package/dist/actions/delete-reddit-post.cjs.map +1 -1
  19. package/dist/actions/delete-reddit-post.d.cts +7 -3
  20. package/dist/actions/delete-reddit-post.d.cts.map +1 -1
  21. package/dist/actions/delete-reddit-post.d.mts +7 -3
  22. package/dist/actions/delete-reddit-post.d.mts.map +1 -1
  23. package/dist/actions/delete-reddit-post.mjs.map +1 -1
  24. package/dist/actions/edit-reddit-comment-or-post.cjs.map +1 -1
  25. package/dist/actions/edit-reddit-comment-or-post.d.cts +64 -3
  26. package/dist/actions/edit-reddit-comment-or-post.d.cts.map +1 -1
  27. package/dist/actions/edit-reddit-comment-or-post.d.mts +64 -3
  28. package/dist/actions/edit-reddit-comment-or-post.d.mts.map +1 -1
  29. package/dist/actions/edit-reddit-comment-or-post.mjs.map +1 -1
  30. package/dist/actions/get-controversial-posts.cjs +2 -2
  31. package/dist/actions/get-controversial-posts.cjs.map +1 -1
  32. package/dist/actions/get-controversial-posts.d.cts +79 -3
  33. package/dist/actions/get-controversial-posts.d.cts.map +1 -1
  34. package/dist/actions/get-controversial-posts.d.mts +79 -3
  35. package/dist/actions/get-controversial-posts.d.mts.map +1 -1
  36. package/dist/actions/get-controversial-posts.mjs +2 -2
  37. package/dist/actions/get-controversial-posts.mjs.map +1 -1
  38. package/dist/actions/get-me-prefs.cjs.map +1 -1
  39. package/dist/actions/get-me-prefs.d.cts +69 -3
  40. package/dist/actions/get-me-prefs.d.cts.map +1 -1
  41. package/dist/actions/get-me-prefs.d.mts +69 -3
  42. package/dist/actions/get-me-prefs.d.mts.map +1 -1
  43. package/dist/actions/get-me-prefs.mjs.map +1 -1
  44. package/dist/actions/get-r-top.cjs +2 -2
  45. package/dist/actions/get-r-top.cjs.map +1 -1
  46. package/dist/actions/get-r-top.d.cts +57 -3
  47. package/dist/actions/get-r-top.d.cts.map +1 -1
  48. package/dist/actions/get-r-top.d.mts +57 -3
  49. package/dist/actions/get-r-top.d.mts.map +1 -1
  50. package/dist/actions/get-r-top.mjs +2 -2
  51. package/dist/actions/get-r-top.mjs.map +1 -1
  52. package/dist/actions/get-random.cjs +14 -14
  53. package/dist/actions/get-random.cjs.map +1 -1
  54. package/dist/actions/get-random.d.cts +41 -3
  55. package/dist/actions/get-random.d.cts.map +1 -1
  56. package/dist/actions/get-random.d.mts +41 -3
  57. package/dist/actions/get-random.d.mts.map +1 -1
  58. package/dist/actions/get-random.mjs +14 -14
  59. package/dist/actions/get-random.mjs.map +1 -1
  60. package/dist/actions/get-reddit-user-about.cjs +8 -8
  61. package/dist/actions/get-reddit-user-about.cjs.map +1 -1
  62. package/dist/actions/get-reddit-user-about.d.cts +75 -3
  63. package/dist/actions/get-reddit-user-about.d.cts.map +1 -1
  64. package/dist/actions/get-reddit-user-about.d.mts +75 -3
  65. package/dist/actions/get-reddit-user-about.d.mts.map +1 -1
  66. package/dist/actions/get-reddit-user-about.mjs +8 -8
  67. package/dist/actions/get-reddit-user-about.mjs.map +1 -1
  68. package/dist/actions/get-scopes.cjs.map +1 -1
  69. package/dist/actions/get-scopes.d.cts +5 -3
  70. package/dist/actions/get-scopes.d.cts.map +1 -1
  71. package/dist/actions/get-scopes.d.mts +5 -3
  72. package/dist/actions/get-scopes.d.mts.map +1 -1
  73. package/dist/actions/get-scopes.mjs.map +1 -1
  74. package/dist/actions/get-subreddit-rules.cjs +5 -5
  75. package/dist/actions/get-subreddit-rules.cjs.map +1 -1
  76. package/dist/actions/get-subreddit-rules.d.cts +21 -3
  77. package/dist/actions/get-subreddit-rules.d.cts.map +1 -1
  78. package/dist/actions/get-subreddit-rules.d.mts +21 -3
  79. package/dist/actions/get-subreddit-rules.d.mts.map +1 -1
  80. package/dist/actions/get-subreddit-rules.mjs +5 -5
  81. package/dist/actions/get-subreddit-rules.mjs.map +1 -1
  82. package/dist/actions/get-subreddits-search.cjs +2 -2
  83. package/dist/actions/get-subreddits-search.cjs.map +1 -1
  84. package/dist/actions/get-subreddits-search.d.cts +67 -3
  85. package/dist/actions/get-subreddits-search.d.cts.map +1 -1
  86. package/dist/actions/get-subreddits-search.d.mts +67 -3
  87. package/dist/actions/get-subreddits-search.d.mts.map +1 -1
  88. package/dist/actions/get-subreddits-search.mjs +2 -2
  89. package/dist/actions/get-subreddits-search.mjs.map +1 -1
  90. package/dist/actions/get-user-flair.cjs +1 -1
  91. package/dist/actions/get-user-flair.cjs.map +1 -1
  92. package/dist/actions/get-user-flair.d.cts +21 -3
  93. package/dist/actions/get-user-flair.d.cts.map +1 -1
  94. package/dist/actions/get-user-flair.d.mts +21 -3
  95. package/dist/actions/get-user-flair.d.mts.map +1 -1
  96. package/dist/actions/get-user-flair.mjs +1 -1
  97. package/dist/actions/get-user-flair.mjs.map +1 -1
  98. package/dist/actions/get-username-available.cjs +2 -2
  99. package/dist/actions/get-username-available.cjs.map +1 -1
  100. package/dist/actions/get-username-available.d.cts +10 -3
  101. package/dist/actions/get-username-available.d.cts.map +1 -1
  102. package/dist/actions/get-username-available.d.mts +10 -3
  103. package/dist/actions/get-username-available.d.mts.map +1 -1
  104. package/dist/actions/get-username-available.mjs +2 -2
  105. package/dist/actions/get-username-available.mjs.map +1 -1
  106. package/dist/actions/get.cjs +14 -14
  107. package/dist/actions/get.cjs.map +1 -1
  108. package/dist/actions/get.d.cts +53 -3
  109. package/dist/actions/get.d.cts.map +1 -1
  110. package/dist/actions/get.d.mts +53 -3
  111. package/dist/actions/get.d.mts.map +1 -1
  112. package/dist/actions/get.mjs +14 -14
  113. package/dist/actions/get.mjs.map +1 -1
  114. package/dist/actions/list-subreddit-post-flairs.cjs +4 -4
  115. package/dist/actions/list-subreddit-post-flairs.cjs.map +1 -1
  116. package/dist/actions/list-subreddit-post-flairs.d.cts +27 -3
  117. package/dist/actions/list-subreddit-post-flairs.d.cts.map +1 -1
  118. package/dist/actions/list-subreddit-post-flairs.d.mts +27 -3
  119. package/dist/actions/list-subreddit-post-flairs.d.mts.map +1 -1
  120. package/dist/actions/list-subreddit-post-flairs.mjs +4 -4
  121. package/dist/actions/list-subreddit-post-flairs.mjs.map +1 -1
  122. package/dist/actions/post-reddit-comment.cjs +21 -21
  123. package/dist/actions/post-reddit-comment.cjs.map +1 -1
  124. package/dist/actions/post-reddit-comment.d.cts +54 -3
  125. package/dist/actions/post-reddit-comment.d.cts.map +1 -1
  126. package/dist/actions/post-reddit-comment.d.mts +54 -3
  127. package/dist/actions/post-reddit-comment.d.mts.map +1 -1
  128. package/dist/actions/post-reddit-comment.mjs +21 -21
  129. package/dist/actions/post-reddit-comment.mjs.map +1 -1
  130. package/dist/actions/retrieve-post-comments.cjs +5 -5
  131. package/dist/actions/retrieve-post-comments.cjs.map +1 -1
  132. package/dist/actions/retrieve-post-comments.d.cts +72 -3
  133. package/dist/actions/retrieve-post-comments.d.cts.map +1 -1
  134. package/dist/actions/retrieve-post-comments.d.mts +72 -3
  135. package/dist/actions/retrieve-post-comments.d.mts.map +1 -1
  136. package/dist/actions/retrieve-post-comments.mjs +5 -5
  137. package/dist/actions/retrieve-post-comments.mjs.map +1 -1
  138. package/dist/actions/retrieve-reddit-post.cjs +17 -17
  139. package/dist/actions/retrieve-reddit-post.cjs.map +1 -1
  140. package/dist/actions/retrieve-reddit-post.d.cts +47 -3
  141. package/dist/actions/retrieve-reddit-post.d.cts.map +1 -1
  142. package/dist/actions/retrieve-reddit-post.d.mts +47 -3
  143. package/dist/actions/retrieve-reddit-post.d.mts.map +1 -1
  144. package/dist/actions/retrieve-reddit-post.mjs +17 -17
  145. package/dist/actions/retrieve-reddit-post.mjs.map +1 -1
  146. package/dist/actions/retrieve-specific-comment.cjs +5 -5
  147. package/dist/actions/retrieve-specific-comment.cjs.map +1 -1
  148. package/dist/actions/retrieve-specific-comment.d.cts +47 -3
  149. package/dist/actions/retrieve-specific-comment.d.cts.map +1 -1
  150. package/dist/actions/retrieve-specific-comment.d.mts +47 -3
  151. package/dist/actions/retrieve-specific-comment.d.mts.map +1 -1
  152. package/dist/actions/retrieve-specific-comment.mjs +5 -5
  153. package/dist/actions/retrieve-specific-comment.mjs.map +1 -1
  154. package/dist/actions/search-across-subreddits.cjs +14 -14
  155. package/dist/actions/search-across-subreddits.cjs.map +1 -1
  156. package/dist/actions/search-across-subreddits.d.cts +43 -3
  157. package/dist/actions/search-across-subreddits.d.cts.map +1 -1
  158. package/dist/actions/search-across-subreddits.d.mts +43 -3
  159. package/dist/actions/search-across-subreddits.d.mts.map +1 -1
  160. package/dist/actions/search-across-subreddits.mjs +14 -14
  161. package/dist/actions/search-across-subreddits.mjs.map +1 -1
  162. package/dist/actions/toggle-inbox-replies.cjs.map +1 -1
  163. package/dist/actions/toggle-inbox-replies.d.cts +9 -3
  164. package/dist/actions/toggle-inbox-replies.d.cts.map +1 -1
  165. package/dist/actions/toggle-inbox-replies.d.mts +9 -3
  166. package/dist/actions/toggle-inbox-replies.d.mts.map +1 -1
  167. package/dist/actions/toggle-inbox-replies.mjs.map +1 -1
  168. package/dist/execute.cjs +1 -1
  169. package/dist/execute.cjs.map +1 -1
  170. package/dist/execute.mjs +1 -1
  171. package/dist/execute.mjs.map +1 -1
  172. package/package.json +2 -2
@@ -25,23 +25,23 @@ const RedditRetrieveSpecificComment_SimplifiedRepliesSchema = zod.z.object({
25
25
  has_replies: zod.z.boolean().default(false).describe("Whether this comment has any replies.").nullable().optional()
26
26
  }).describe("Simplified replies information to prevent unbounded recursive data.");
27
27
  const RedditRetrieveSpecificComment_CommentDataSchema = zod.z.object({
28
- id: zod.z.string().describe("The item's unique identifier (without the t1_ or t3_ prefix)."),
28
+ id: zod.z.string().describe("The item's unique identifier (without the t1_ or t3_ prefix).").nullable(),
29
29
  body: zod.z.string().describe("The raw text of the comment. Only present for comments (t1).").nullable().optional(),
30
- name: zod.z.string().describe("The item's fullname identifier (e.g., 't1_c3v7f8u' for comments, 't3_abc123' for posts)."),
30
+ name: zod.z.string().describe("The item's fullname identifier (e.g., 't1_c3v7f8u' for comments, 't3_abc123' for posts).").nullable(),
31
31
  depth: zod.z.number().int().describe("The depth level in the thread. Top-level comments have depth 0.").nullable().optional(),
32
32
  media: RedditRetrieveSpecificComment_MediaDataSchema.nullable().optional(),
33
- score: zod.z.number().int().describe("The net score (upvotes minus downvotes)."),
33
+ score: zod.z.number().int().describe("The net score (upvotes minus downvotes).").nullable(),
34
34
  author: zod.z.string().describe("The username of the author. Can be null for deleted accounts.").nullable().optional(),
35
35
  replies: RedditRetrieveSpecificComment_SimplifiedRepliesSchema.nullable().optional(),
36
36
  body_html: zod.z.string().describe("The formatted HTML text. Only present for comments (t1).").nullable().optional(),
37
37
  parent_id: zod.z.string().describe("The ID of the parent comment (t1_) or parent submission (t3_). Only present for comments.").nullable().optional(),
38
38
  permalink: zod.z.string().describe("Permanent link to the comment or post.").nullable().optional(),
39
- created_utc: zod.z.number().describe("Creation timestamp in Unix time (UTC)."),
39
+ created_utc: zod.z.number().describe("Creation timestamp in Unix time (UTC).").nullable(),
40
40
  is_submitter: zod.z.boolean().describe("Whether the comment author is also the submission author.").nullable().optional()
41
41
  }).describe("Optimized data attributes for a Reddit comment (t1) or post (t3). Only essential fields are included to prevent oversized responses.");
42
42
  const RedditRetrieveSpecificComment_ThingDataSchema = zod.z.object({
43
43
  data: RedditRetrieveSpecificComment_CommentDataSchema.nullable(),
44
- kind: zod.z.string().describe("Type identifier for the item (e.g., 't1' for comment, 't3' for link/post).")
44
+ kind: zod.z.string().describe("Type identifier for the item (e.g., 't1' for comment, 't3' for link/post).").nullable()
45
45
  }).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.");
46
46
  const RedditRetrieveSpecificCommentOutput = zod.z.object({ things: zod.z.array(RedditRetrieveSpecificComment_ThingDataSchema).describe("List of items (comments or posts) matching the `id` from the request; typically contains a single item.") });
47
47
  const redditRetrieveSpecificComment = require_action.action("REDDIT_RETRIEVE_SPECIFIC_COMMENT", {
@@ -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.ZodTypeAny = 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.ZodTypeAny = 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}).describe(\"oEmbed metadata for embedded media content following the oEmbed specification.\");\nconst RedditRetrieveSpecificComment_MediaDataSchema: z.ZodTypeAny = z.object({\n oembed: RedditRetrieveSpecificComment_OembedDataSchema.nullable().optional(),\n}).describe(\"Media information for posts with embedded content.\");\nconst RedditRetrieveSpecificComment_SimplifiedRepliesSchema: z.ZodTypeAny = 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}).describe(\"Simplified replies information to prevent unbounded recursive data.\");\nconst RedditRetrieveSpecificComment_CommentDataSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"The item's unique identifier (without the t1_ or t3_ prefix).\"),\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).\"),\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).\"),\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).\"),\n is_submitter: z.boolean().describe(\"Whether the comment author is also the submission author.\").nullable().optional(),\n}).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.ZodTypeAny = 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).\"),\n}).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.ZodTypeAny = 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});\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 { 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}).describe(\"oEmbed metadata for embedded media content following the oEmbed specification.\");\nconst RedditRetrieveSpecificComment_MediaDataSchema = z.object({\n oembed: RedditRetrieveSpecificComment_OembedDataSchema.nullable().optional(),\n}).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}).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}).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}).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});\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,9 +1,53 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/retrieve-specific-comment.d.ts
4
- declare const RedditRetrieveSpecificCommentInput: z.ZodTypeAny;
5
- declare const RedditRetrieveSpecificCommentOutput: z.ZodTypeAny;
6
- declare const redditRetrieveSpecificComment: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const RedditRetrieveSpecificCommentInput: z.ZodObject<{
5
+ id: z.ZodString;
6
+ }, z.core.$strip>;
7
+ declare const RedditRetrieveSpecificCommentOutput: z.ZodObject<{
8
+ things: z.ZodArray<z.ZodObject<{
9
+ data: z.ZodNullable<z.ZodObject<{
10
+ id: z.ZodNullable<z.ZodString>;
11
+ body: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12
+ name: z.ZodNullable<z.ZodString>;
13
+ depth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
14
+ media: z.ZodOptional<z.ZodNullable<z.ZodObject<{
15
+ oembed: z.ZodOptional<z.ZodNullable<z.ZodObject<{
16
+ html: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
+ width: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
20
+ height: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
21
+ version: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
+ cache_age: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
23
+ author_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
+ author_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ provider_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ provider_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
+ thumbnail_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
+ thumbnail_width: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
30
+ thumbnail_height: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
31
+ }, z.core.$strip>>>;
32
+ }, z.core.$strip>>>;
33
+ score: z.ZodNullable<z.ZodNumber>;
34
+ author: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
+ replies: z.ZodOptional<z.ZodNullable<z.ZodObject<{
36
+ count: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodNumber>>>;
37
+ has_replies: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>;
38
+ }, z.core.$strip>>>;
39
+ body_html: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
+ parent_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
+ permalink: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
+ created_utc: z.ZodNullable<z.ZodNumber>;
43
+ is_submitter: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
44
+ }, z.core.$strip>>;
45
+ kind: z.ZodNullable<z.ZodString>;
46
+ }, z.core.$strip>>;
47
+ }, z.core.$strip>;
48
+ declare const redditRetrieveSpecificComment: import("@keystrokehq/action").WorkflowActionDefinition<{
49
+ id: string;
50
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
51
  //#endregion
8
52
  export { redditRetrieveSpecificComment };
9
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,EAAoC,CAAA,CAAE,UAEjD;AAAA,cA4CW,mCAAA,EAAqC,CAAA,CAAE,UAElD;AAAA,cAEW,6BAAA,gCAA6B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
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,9 +1,53 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/retrieve-specific-comment.d.ts
4
- declare const RedditRetrieveSpecificCommentInput: z.ZodTypeAny;
5
- declare const RedditRetrieveSpecificCommentOutput: z.ZodTypeAny;
6
- declare const redditRetrieveSpecificComment: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const RedditRetrieveSpecificCommentInput: z.ZodObject<{
5
+ id: z.ZodString;
6
+ }, z.core.$strip>;
7
+ declare const RedditRetrieveSpecificCommentOutput: z.ZodObject<{
8
+ things: z.ZodArray<z.ZodObject<{
9
+ data: z.ZodNullable<z.ZodObject<{
10
+ id: z.ZodNullable<z.ZodString>;
11
+ body: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12
+ name: z.ZodNullable<z.ZodString>;
13
+ depth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
14
+ media: z.ZodOptional<z.ZodNullable<z.ZodObject<{
15
+ oembed: z.ZodOptional<z.ZodNullable<z.ZodObject<{
16
+ html: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
+ width: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
20
+ height: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
21
+ version: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
+ cache_age: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
23
+ author_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
+ author_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ provider_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ provider_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
+ thumbnail_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
+ thumbnail_width: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
30
+ thumbnail_height: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
31
+ }, z.core.$strip>>>;
32
+ }, z.core.$strip>>>;
33
+ score: z.ZodNullable<z.ZodNumber>;
34
+ author: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
+ replies: z.ZodOptional<z.ZodNullable<z.ZodObject<{
36
+ count: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodNumber>>>;
37
+ has_replies: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>;
38
+ }, z.core.$strip>>>;
39
+ body_html: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
+ parent_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
+ permalink: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
+ created_utc: z.ZodNullable<z.ZodNumber>;
43
+ is_submitter: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
44
+ }, z.core.$strip>>;
45
+ kind: z.ZodNullable<z.ZodString>;
46
+ }, z.core.$strip>>;
47
+ }, z.core.$strip>;
48
+ declare const redditRetrieveSpecificComment: import("@keystrokehq/action").WorkflowActionDefinition<{
49
+ id: string;
50
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
51
  //#endregion
8
52
  export { redditRetrieveSpecificComment };
9
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,EAAoC,CAAA,CAAE,UAEjD;AAAA,cA4CW,mCAAA,EAAqC,CAAA,CAAE,UAElD;AAAA,cAEW,6BAAA,gCAA6B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
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"}
@@ -25,23 +25,23 @@ const RedditRetrieveSpecificComment_SimplifiedRepliesSchema = z.object({
25
25
  has_replies: z.boolean().default(false).describe("Whether this comment has any replies.").nullable().optional()
26
26
  }).describe("Simplified replies information to prevent unbounded recursive data.");
27
27
  const RedditRetrieveSpecificComment_CommentDataSchema = z.object({
28
- id: z.string().describe("The item's unique identifier (without the t1_ or t3_ prefix)."),
28
+ id: z.string().describe("The item's unique identifier (without the t1_ or t3_ prefix).").nullable(),
29
29
  body: z.string().describe("The raw text of the comment. Only present for comments (t1).").nullable().optional(),
30
- name: z.string().describe("The item's fullname identifier (e.g., 't1_c3v7f8u' for comments, 't3_abc123' for posts)."),
30
+ name: z.string().describe("The item's fullname identifier (e.g., 't1_c3v7f8u' for comments, 't3_abc123' for posts).").nullable(),
31
31
  depth: z.number().int().describe("The depth level in the thread. Top-level comments have depth 0.").nullable().optional(),
32
32
  media: RedditRetrieveSpecificComment_MediaDataSchema.nullable().optional(),
33
- score: z.number().int().describe("The net score (upvotes minus downvotes)."),
33
+ score: z.number().int().describe("The net score (upvotes minus downvotes).").nullable(),
34
34
  author: z.string().describe("The username of the author. Can be null for deleted accounts.").nullable().optional(),
35
35
  replies: RedditRetrieveSpecificComment_SimplifiedRepliesSchema.nullable().optional(),
36
36
  body_html: z.string().describe("The formatted HTML text. Only present for comments (t1).").nullable().optional(),
37
37
  parent_id: z.string().describe("The ID of the parent comment (t1_) or parent submission (t3_). Only present for comments.").nullable().optional(),
38
38
  permalink: z.string().describe("Permanent link to the comment or post.").nullable().optional(),
39
- created_utc: z.number().describe("Creation timestamp in Unix time (UTC)."),
39
+ created_utc: z.number().describe("Creation timestamp in Unix time (UTC).").nullable(),
40
40
  is_submitter: z.boolean().describe("Whether the comment author is also the submission author.").nullable().optional()
41
41
  }).describe("Optimized data attributes for a Reddit comment (t1) or post (t3). Only essential fields are included to prevent oversized responses.");
42
42
  const RedditRetrieveSpecificComment_ThingDataSchema = z.object({
43
43
  data: RedditRetrieveSpecificComment_CommentDataSchema.nullable(),
44
- kind: z.string().describe("Type identifier for the item (e.g., 't1' for comment, 't3' for link/post).")
44
+ kind: z.string().describe("Type identifier for the item (e.g., 't1' for comment, 't3' for link/post).").nullable()
45
45
  }).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.");
46
46
  const redditRetrieveSpecificComment = action("REDDIT_RETRIEVE_SPECIFIC_COMMENT", {
47
47
  slug: "reddit-retrieve-specific-comment",
@@ -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.ZodTypeAny = 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.ZodTypeAny = 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}).describe(\"oEmbed metadata for embedded media content following the oEmbed specification.\");\nconst RedditRetrieveSpecificComment_MediaDataSchema: z.ZodTypeAny = z.object({\n oembed: RedditRetrieveSpecificComment_OembedDataSchema.nullable().optional(),\n}).describe(\"Media information for posts with embedded content.\");\nconst RedditRetrieveSpecificComment_SimplifiedRepliesSchema: z.ZodTypeAny = 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}).describe(\"Simplified replies information to prevent unbounded recursive data.\");\nconst RedditRetrieveSpecificComment_CommentDataSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"The item's unique identifier (without the t1_ or t3_ prefix).\"),\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).\"),\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).\"),\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).\"),\n is_submitter: z.boolean().describe(\"Whether the comment author is also the submission author.\").nullable().optional(),\n}).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.ZodTypeAny = 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).\"),\n}).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.ZodTypeAny = 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});\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 { 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}).describe(\"oEmbed metadata for embedded media content following the oEmbed specification.\");\nconst RedditRetrieveSpecificComment_MediaDataSchema = z.object({\n oembed: RedditRetrieveSpecificComment_OembedDataSchema.nullable().optional(),\n}).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}).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}).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}).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});\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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"}
@@ -16,26 +16,26 @@ const RedditSearchAcrossSubredditsInput = zod.z.object({
16
16
  search_query: zod.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).")
17
17
  });
18
18
  const RedditSearchAcrossSubreddits_PostResultSchema = zod.z.object({
19
- id: zod.z.string().describe("Unique identifier of the post"),
20
- url: zod.z.string().describe("URL the post links to (same as permalink for self-posts)"),
21
- score: zod.z.number().int().describe("Net score (upvotes minus downvotes)"),
22
- title: zod.z.string().describe("The title of the post"),
19
+ id: zod.z.string().describe("Unique identifier of the post").nullable(),
20
+ url: zod.z.string().describe("URL the post links to (same as permalink for self-posts)").nullable(),
21
+ score: zod.z.number().int().describe("Net score (upvotes minus downvotes)").nullable(),
22
+ title: zod.z.string().describe("The title of the post").nullable(),
23
23
  author: zod.z.string().describe("Username of the post author (null for deleted accounts)").nullable().optional(),
24
- is_self: zod.z.boolean().describe("Whether this is a self-post (text-only)"),
25
- over_18: zod.z.boolean().describe("Whether the post is marked NSFW"),
26
- selftext: zod.z.string().describe("Text content of the post body (empty string for link posts)"),
27
- permalink: zod.z.string().describe("Full URL path to the post on Reddit"),
28
- subreddit: zod.z.string().describe("Name of the subreddit (without r/ prefix)"),
29
- created_utc: zod.z.number().describe("Unix timestamp of creation time in UTC"),
30
- num_comments: zod.z.number().int().describe("Total number of comments on the post"),
31
- created_datetime: zod.z.string().describe("Human-readable creation date in ISO format"),
32
- subreddit_prefixed: zod.z.string().describe("Subreddit name with r/ prefix (e.g., r/programming)")
24
+ is_self: zod.z.boolean().describe("Whether this is a self-post (text-only)").nullable(),
25
+ over_18: zod.z.boolean().describe("Whether the post is marked NSFW").nullable(),
26
+ selftext: zod.z.string().describe("Text content of the post body (empty string for link posts)").nullable(),
27
+ permalink: zod.z.string().describe("Full URL path to the post on Reddit").nullable(),
28
+ subreddit: zod.z.string().describe("Name of the subreddit (without r/ prefix)").nullable(),
29
+ created_utc: zod.z.number().describe("Unix timestamp of creation time in UTC").nullable(),
30
+ num_comments: zod.z.number().int().describe("Total number of comments on the post").nullable(),
31
+ created_datetime: zod.z.string().describe("Human-readable creation date in ISO format").nullable(),
32
+ subreddit_prefixed: zod.z.string().describe("Subreddit name with r/ prefix (e.g., r/programming)").nullable()
33
33
  }).describe("Streamlined post data containing only essential information for search results.");
34
34
  const RedditSearchAcrossSubredditsOutput = zod.z.object({
35
35
  after: zod.z.string().describe("Pagination cursor for the next page (null if no more results)").nullable().optional(),
36
36
  posts: zod.z.array(RedditSearchAcrossSubreddits_PostResultSchema).describe("List of posts matching the search query"),
37
37
  before: zod.z.string().describe("Pagination cursor for the previous page (null if at beginning)").nullable().optional(),
38
- total_results: zod.z.number().int().describe("Number of posts returned in this response")
38
+ total_results: zod.z.number().int().describe("Number of posts returned in this response").nullable()
39
39
  }).describe("Streamlined Reddit search response containing only essential post information.");
40
40
  const redditSearchAcrossSubreddits = require_action.action("REDDIT_SEARCH_ACROSS_SUBREDDITS", {
41
41
  slug: "reddit-search-across-subreddits",
@@ -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.ZodTypeAny = 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.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the post\"),\n url: z.string().describe(\"URL the post links to (same as permalink for self-posts)\"),\n score: z.number().int().describe(\"Net score (upvotes minus downvotes)\"),\n title: z.string().describe(\"The title of the post\"),\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)\"),\n over_18: z.boolean().describe(\"Whether the post is marked NSFW\"),\n selftext: z.string().describe(\"Text content of the post body (empty string for link posts)\"),\n permalink: z.string().describe(\"Full URL path to the post on Reddit\"),\n subreddit: z.string().describe(\"Name of the subreddit (without r/ prefix)\"),\n created_utc: z.number().describe(\"Unix timestamp of creation time in UTC\"),\n num_comments: z.number().int().describe(\"Total number of comments on the post\"),\n created_datetime: z.string().describe(\"Human-readable creation date in ISO format\"),\n subreddit_prefixed: z.string().describe(\"Subreddit name with r/ prefix (e.g., r/programming)\"),\n}).describe(\"Streamlined post data containing only essential information for search results.\");\nexport const RedditSearchAcrossSubredditsOutput: z.ZodTypeAny = 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\"),\n}).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":";;;AAIA,MAAa,oCAAkDA,IAAAA,EAAE,OAAO;CACtE,MAAMA,IAAAA,EAAE,KAAK;EAAC;EAAa;EAAO;EAAO;EAAO;CAAU,CAAC,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,SAAS,8RAA8R,CAAC,CAAC,SAAS;CACpY,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kIAAkI,CAAC,CAAC,SAAS;CACxK,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,uOAAuO,CAAC,CAAC,SAAS;CAC9R,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sIAAsI,CAAC,CAAC,SAAS;CAC7K,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,0LAA0L,CAAC,CAAC,SAAS;CACrP,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yWAAyW;AAC7Y,CAAC;AACD,MAAM,gDAA8DA,IAAAA,EAAE,OAAO;CAC3E,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B;CACvD,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D;CACnF,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qCAAqC;CACtE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB;CAClD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3G,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,yCAAyC;CACvE,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,iCAAiC;CAC/D,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D;CAC3F,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC;CACpE,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C;CAC1E,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC;CACzE,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sCAAsC;CAC9E,kBAAkBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C;CAClF,oBAAoBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD;AAC/F,CAAC,CAAC,CAAC,SAAS,iFAAiF;AAC7F,MAAa,qCAAmDA,IAAAA,EAAE,OAAO;CACvE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChH,OAAOA,IAAAA,EAAE,MAAM,6CAA6C,CAAC,CAAC,SAAS,yCAAyC;CAChH,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClH,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2CAA2C;AACtF,CAAC,CAAC,CAAC,SAAS,gFAAgF;AAE5F,MAAa,+BAA+BC,eAAAA,OAAO,mCAAmC;CACpF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
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}).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}).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,9 +1,49 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/search-across-subreddits.d.ts
4
- declare const RedditSearchAcrossSubredditsInput: z.ZodTypeAny;
5
- declare const RedditSearchAcrossSubredditsOutput: z.ZodTypeAny;
6
- declare const redditSearchAcrossSubreddits: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const RedditSearchAcrossSubredditsInput: z.ZodObject<{
5
+ sort: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
6
+ relevance: "relevance";
7
+ hot: "hot";
8
+ new: "new";
9
+ top: "top";
10
+ comments: "comments";
11
+ }>>>;
12
+ after: z.ZodOptional<z.ZodString>;
13
+ limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
14
+ before: z.ZodOptional<z.ZodString>;
15
+ restrict_sr: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
16
+ search_query: z.ZodString;
17
+ }, z.core.$strip>;
18
+ declare const RedditSearchAcrossSubredditsOutput: z.ZodObject<{
19
+ after: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
+ posts: z.ZodArray<z.ZodObject<{
21
+ id: z.ZodNullable<z.ZodString>;
22
+ url: z.ZodNullable<z.ZodString>;
23
+ score: z.ZodNullable<z.ZodNumber>;
24
+ title: z.ZodNullable<z.ZodString>;
25
+ author: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ is_self: z.ZodNullable<z.ZodBoolean>;
27
+ over_18: z.ZodNullable<z.ZodBoolean>;
28
+ selftext: z.ZodNullable<z.ZodString>;
29
+ permalink: z.ZodNullable<z.ZodString>;
30
+ subreddit: z.ZodNullable<z.ZodString>;
31
+ created_utc: z.ZodNullable<z.ZodNumber>;
32
+ num_comments: z.ZodNullable<z.ZodNumber>;
33
+ created_datetime: z.ZodNullable<z.ZodString>;
34
+ subreddit_prefixed: z.ZodNullable<z.ZodString>;
35
+ }, z.core.$strip>>;
36
+ before: z.ZodOptional<z.ZodNullable<z.ZodString>>;
37
+ total_results: z.ZodNullable<z.ZodNumber>;
38
+ }, z.core.$strip>;
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]>, readonly [import("@keystrokehq/shared").Credential]>;
7
47
  //#endregion
8
48
  export { redditSearchAcrossSubreddits };
9
49
  //# 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,EAAmC,CAAA,CAAE,UAOhD;AAAA,cAiBW,kCAAA,EAAoC,CAAA,CAAE,UAK0C;AAAA,cAEhF,4BAAA,gCAA4B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
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,9 +1,49 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/search-across-subreddits.d.ts
4
- declare const RedditSearchAcrossSubredditsInput: z.ZodTypeAny;
5
- declare const RedditSearchAcrossSubredditsOutput: z.ZodTypeAny;
6
- declare const redditSearchAcrossSubreddits: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const RedditSearchAcrossSubredditsInput: z.ZodObject<{
5
+ sort: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
6
+ relevance: "relevance";
7
+ hot: "hot";
8
+ new: "new";
9
+ top: "top";
10
+ comments: "comments";
11
+ }>>>;
12
+ after: z.ZodOptional<z.ZodString>;
13
+ limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
14
+ before: z.ZodOptional<z.ZodString>;
15
+ restrict_sr: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
16
+ search_query: z.ZodString;
17
+ }, z.core.$strip>;
18
+ declare const RedditSearchAcrossSubredditsOutput: z.ZodObject<{
19
+ after: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
+ posts: z.ZodArray<z.ZodObject<{
21
+ id: z.ZodNullable<z.ZodString>;
22
+ url: z.ZodNullable<z.ZodString>;
23
+ score: z.ZodNullable<z.ZodNumber>;
24
+ title: z.ZodNullable<z.ZodString>;
25
+ author: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ is_self: z.ZodNullable<z.ZodBoolean>;
27
+ over_18: z.ZodNullable<z.ZodBoolean>;
28
+ selftext: z.ZodNullable<z.ZodString>;
29
+ permalink: z.ZodNullable<z.ZodString>;
30
+ subreddit: z.ZodNullable<z.ZodString>;
31
+ created_utc: z.ZodNullable<z.ZodNumber>;
32
+ num_comments: z.ZodNullable<z.ZodNumber>;
33
+ created_datetime: z.ZodNullable<z.ZodString>;
34
+ subreddit_prefixed: z.ZodNullable<z.ZodString>;
35
+ }, z.core.$strip>>;
36
+ before: z.ZodOptional<z.ZodNullable<z.ZodString>>;
37
+ total_results: z.ZodNullable<z.ZodNumber>;
38
+ }, z.core.$strip>;
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]>, readonly [import("@keystrokehq/shared").Credential]>;
7
47
  //#endregion
8
48
  export { redditSearchAcrossSubreddits };
9
49
  //# 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,EAAmC,CAAA,CAAE,UAOhD;AAAA,cAiBW,kCAAA,EAAoC,CAAA,CAAE,UAK0C;AAAA,cAEhF,4BAAA,gCAA4B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
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"}
@@ -16,20 +16,20 @@ const RedditSearchAcrossSubredditsInput = z.object({
16
16
  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).")
17
17
  });
18
18
  const RedditSearchAcrossSubreddits_PostResultSchema = z.object({
19
- id: z.string().describe("Unique identifier of the post"),
20
- url: z.string().describe("URL the post links to (same as permalink for self-posts)"),
21
- score: z.number().int().describe("Net score (upvotes minus downvotes)"),
22
- title: z.string().describe("The title of the post"),
19
+ id: z.string().describe("Unique identifier of the post").nullable(),
20
+ url: z.string().describe("URL the post links to (same as permalink for self-posts)").nullable(),
21
+ score: z.number().int().describe("Net score (upvotes minus downvotes)").nullable(),
22
+ title: z.string().describe("The title of the post").nullable(),
23
23
  author: z.string().describe("Username of the post author (null for deleted accounts)").nullable().optional(),
24
- is_self: z.boolean().describe("Whether this is a self-post (text-only)"),
25
- over_18: z.boolean().describe("Whether the post is marked NSFW"),
26
- selftext: z.string().describe("Text content of the post body (empty string for link posts)"),
27
- permalink: z.string().describe("Full URL path to the post on Reddit"),
28
- subreddit: z.string().describe("Name of the subreddit (without r/ prefix)"),
29
- created_utc: z.number().describe("Unix timestamp of creation time in UTC"),
30
- num_comments: z.number().int().describe("Total number of comments on the post"),
31
- created_datetime: z.string().describe("Human-readable creation date in ISO format"),
32
- subreddit_prefixed: z.string().describe("Subreddit name with r/ prefix (e.g., r/programming)")
24
+ is_self: z.boolean().describe("Whether this is a self-post (text-only)").nullable(),
25
+ over_18: z.boolean().describe("Whether the post is marked NSFW").nullable(),
26
+ selftext: z.string().describe("Text content of the post body (empty string for link posts)").nullable(),
27
+ permalink: z.string().describe("Full URL path to the post on Reddit").nullable(),
28
+ subreddit: z.string().describe("Name of the subreddit (without r/ prefix)").nullable(),
29
+ created_utc: z.number().describe("Unix timestamp of creation time in UTC").nullable(),
30
+ num_comments: z.number().int().describe("Total number of comments on the post").nullable(),
31
+ created_datetime: z.string().describe("Human-readable creation date in ISO format").nullable(),
32
+ subreddit_prefixed: z.string().describe("Subreddit name with r/ prefix (e.g., r/programming)").nullable()
33
33
  }).describe("Streamlined post data containing only essential information for search results.");
34
34
  const redditSearchAcrossSubreddits = action("REDDIT_SEARCH_ACROSS_SUBREDDITS", {
35
35
  slug: "reddit-search-across-subreddits",
@@ -40,7 +40,7 @@ const redditSearchAcrossSubreddits = action("REDDIT_SEARCH_ACROSS_SUBREDDITS", {
40
40
  after: z.string().describe("Pagination cursor for the next page (null if no more results)").nullable().optional(),
41
41
  posts: z.array(RedditSearchAcrossSubreddits_PostResultSchema).describe("List of posts matching the search query"),
42
42
  before: z.string().describe("Pagination cursor for the previous page (null if at beginning)").nullable().optional(),
43
- total_results: z.number().int().describe("Number of posts returned in this response")
43
+ total_results: z.number().int().describe("Number of posts returned in this response").nullable()
44
44
  }).describe("Streamlined Reddit search response containing only essential post information.")
45
45
  });
46
46
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"search-across-subreddits.mjs","names":[],"sources":["../../src/actions/search-across-subreddits.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const RedditSearchAcrossSubredditsInput: z.ZodTypeAny = 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.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the post\"),\n url: z.string().describe(\"URL the post links to (same as permalink for self-posts)\"),\n score: z.number().int().describe(\"Net score (upvotes minus downvotes)\"),\n title: z.string().describe(\"The title of the post\"),\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)\"),\n over_18: z.boolean().describe(\"Whether the post is marked NSFW\"),\n selftext: z.string().describe(\"Text content of the post body (empty string for link posts)\"),\n permalink: z.string().describe(\"Full URL path to the post on Reddit\"),\n subreddit: z.string().describe(\"Name of the subreddit (without r/ prefix)\"),\n created_utc: z.number().describe(\"Unix timestamp of creation time in UTC\"),\n num_comments: z.number().int().describe(\"Total number of comments on the post\"),\n created_datetime: z.string().describe(\"Human-readable creation date in ISO format\"),\n subreddit_prefixed: z.string().describe(\"Subreddit name with r/ prefix (e.g., r/programming)\"),\n}).describe(\"Streamlined post data containing only essential information for search results.\");\nexport const RedditSearchAcrossSubredditsOutput: z.ZodTypeAny = 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\"),\n}).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":";;;AAIA,MAAa,oCAAkD,EAAE,OAAO;CACtE,MAAM,EAAE,KAAK;EAAC;EAAa;EAAO;EAAO;EAAO;CAAU,CAAC,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,SAAS,8RAA8R,CAAC,CAAC,SAAS;CACpY,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,kIAAkI,CAAC,CAAC,SAAS;CACxK,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,uOAAuO,CAAC,CAAC,SAAS;CAC9R,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,sIAAsI,CAAC,CAAC,SAAS;CAC7K,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,0LAA0L,CAAC,CAAC,SAAS;CACrP,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,yWAAyW;AAC7Y,CAAC;AACD,MAAM,gDAA8D,EAAE,OAAO;CAC3E,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B;CACvD,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D;CACnF,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qCAAqC;CACtE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB;CAClD,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3G,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,yCAAyC;CACvE,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,iCAAiC;CAC/D,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D;CAC3F,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC;CACpE,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C;CAC1E,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC;CACzE,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sCAAsC;CAC9E,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C;CAClF,oBAAoB,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD;AAC/F,CAAC,CAAC,CAAC,SAAS,iFAAiF;AAQ7F,MAAa,+BAA+B,OAAO,mCAAmC;CACpF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAZ8D,EAAE,OAAO;EACvE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChH,OAAO,EAAE,MAAM,6CAA6C,CAAC,CAAC,SAAS,yCAAyC;EAChH,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClH,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2CAA2C;CACtF,CAAC,CAAC,CAAC,SAAS,gFAOF;AACV,CAAC"}
1
+ {"version":3,"file":"search-across-subreddits.mjs","names":[],"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}).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}).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":";;;AAIA,MAAa,oCAAoC,EAAE,OAAO;CACxD,MAAM,EAAE,KAAK;EAAC;EAAa;EAAO;EAAO;EAAO;CAAU,CAAC,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,SAAS,8RAA8R,CAAC,CAAC,SAAS;CACpY,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,kIAAkI,CAAC,CAAC,SAAS;CACxK,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,uOAAuO,CAAC,CAAC,SAAS;CAC9R,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,sIAAsI,CAAC,CAAC,SAAS;CAC7K,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,0LAA0L,CAAC,CAAC,SAAS;CACrP,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,yWAAyW;AAC7Y,CAAC;AACD,MAAM,gDAAgD,EAAE,OAAO;CAC7D,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS;CAClE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CAC9F,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CACjF,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS;CAC7D,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3G,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;CAClF,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;CAC1E,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;CACtG,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CAC/E,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CACrF,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS;CACpF,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;CACzF,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS;CAC7F,oBAAoB,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;AAC1G,CAAC,CAAC,CAAC,SAAS,iFAAiF;AAQ7F,MAAa,+BAA+B,OAAO,mCAAmC;CACpF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAZgD,EAAE,OAAO;EACzD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChH,OAAO,EAAE,MAAM,6CAA6C,CAAC,CAAC,SAAS,yCAAyC;EAChH,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClH,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CACjG,CAAC,CAAC,CAAC,SAAS,gFAOF;AACV,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-inbox-replies.cjs","names":["z","action"],"sources":["../../src/actions/toggle-inbox-replies.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const RedditToggleInboxRepliesInput: z.ZodTypeAny = z.object({\n id: z.string().describe(\"The fullname of a thing created by the user. Must be prefixed with the thing type (e.g., 't3_' for a submission/post, 't1_' for a comment). Example: 't3_abc123' for a post.\"),\n state: z.boolean().describe(\"Boolean value to enable or disable inbox replies. Set to true to enable receiving inbox notifications when users reply to this thing, or false to disable inbox notifications.\"),\n});\nexport const RedditToggleInboxRepliesOutput: z.ZodTypeAny = z.object({}).describe(\"Response from Reddit's /api/sendreplies endpoint.\\n\\nThe Reddit API /api/sendreplies endpoint typically returns an empty JSON object\\nor minimal response upon successful execution. Success is indicated by HTTP status\\ncode (200 or 204) and the absence of errors.\");\n\nexport const redditToggleInboxReplies = action(\"REDDIT_TOGGLE_INBOX_REPLIES\", {\n slug: \"reddit-toggle-inbox-replies\",\n name: \"Enable or disable inbox replies\",\n description: \"Enable or disable inbox replies for a submission or comment. Use when you want to control whether you receive inbox notifications for replies to your own posts or comments.\",\n input: RedditToggleInboxRepliesInput,\n output: RedditToggleInboxRepliesOutput,\n});\n"],"mappings":";;;AAIA,MAAa,gCAA8CA,IAAAA,EAAE,OAAO;CAClE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8KAA8K;CACtM,OAAOA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,gLAAgL;AAC9M,CAAC;AACD,MAAa,iCAA+CA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,wQAAwQ;AAE1V,MAAa,2BAA2BC,eAAAA,OAAO,+BAA+B;CAC5E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"toggle-inbox-replies.cjs","names":["z","action"],"sources":["../../src/actions/toggle-inbox-replies.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const RedditToggleInboxRepliesInput = z.object({\n id: z.string().describe(\"The fullname of a thing created by the user. Must be prefixed with the thing type (e.g., 't3_' for a submission/post, 't1_' for a comment). Example: 't3_abc123' for a post.\"),\n state: z.boolean().describe(\"Boolean value to enable or disable inbox replies. Set to true to enable receiving inbox notifications when users reply to this thing, or false to disable inbox notifications.\"),\n});\nexport const RedditToggleInboxRepliesOutput = z.object({}).describe(\"Response from Reddit's /api/sendreplies endpoint.\\n\\nThe Reddit API /api/sendreplies endpoint typically returns an empty JSON object\\nor minimal response upon successful execution. Success is indicated by HTTP status\\ncode (200 or 204) and the absence of errors.\");\n\nexport const redditToggleInboxReplies = action(\"REDDIT_TOGGLE_INBOX_REPLIES\", {\n slug: \"reddit-toggle-inbox-replies\",\n name: \"Enable or disable inbox replies\",\n description: \"Enable or disable inbox replies for a submission or comment. Use when you want to control whether you receive inbox notifications for replies to your own posts or comments.\",\n input: RedditToggleInboxRepliesInput,\n output: RedditToggleInboxRepliesOutput,\n});\n"],"mappings":";;;AAIA,MAAa,gCAAgCA,IAAAA,EAAE,OAAO;CACpD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8KAA8K;CACtM,OAAOA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,gLAAgL;AAC9M,CAAC;AACD,MAAa,iCAAiCA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,wQAAwQ;AAE5U,MAAa,2BAA2BC,eAAAA,OAAO,+BAA+B;CAC5E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}