@getlatedev/node 0.1.3 → 0.1.4

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.
package/README.md CHANGED
@@ -219,7 +219,7 @@ try {
219
219
  |--------|-------------|
220
220
  | `queue.listQueueSlots()` | Get queue schedules for a profile |
221
221
  | `queue.createQueueSlot()` | Create a new queue for a profile |
222
- | `queue.getNextQueueSlot()` | Get the next available queue slot for a profile |
222
+ | `queue.getNextQueueSlot()` | Preview the next available queue slot (informational only) |
223
223
  | `queue.updateQueueSlot()` | Create or update a queue schedule |
224
224
  | `queue.deleteQueueSlot()` | Delete a queue schedule |
225
225
  | `queue.previewQueue()` | Preview upcoming queue slots for a profile |
package/dist/index.d.mts CHANGED
@@ -2196,9 +2196,13 @@ type CreatePostData = {
2196
2196
  [key: string]: unknown;
2197
2197
  };
2198
2198
  /**
2199
- * Profile ID to schedule via queue. When provided without scheduledFor,
2200
- * the post will be automatically assigned to the next available slot
2201
- * from the profile's default queue (or the queue specified by queueId).
2199
+ * Profile ID to schedule via queue.
2200
+ *
2201
+ * When provided (without `scheduledFor`), the post will be automatically assigned
2202
+ * to the next available slot from the profile's queue. The system uses distributed
2203
+ * locking to prevent race conditions when multiple posts are scheduled concurrently.
2204
+ * Do not call `/v1/queue/next-slot` and then use that time in `scheduledFor`.
2205
+ * That bypasses the queue system and can cause duplicate slot assignments.
2202
2206
  *
2203
2207
  */
2204
2208
  queuedFromProfile?: string;
@@ -3714,11 +3718,31 @@ type GetRedditSubredditsData = {
3714
3718
  };
3715
3719
  type GetRedditSubredditsResponse = ({
3716
3720
  subreddits?: Array<{
3721
+ /**
3722
+ * Reddit subreddit ID
3723
+ */
3724
+ id?: string;
3725
+ /**
3726
+ * Subreddit name without r/ prefix
3727
+ */
3717
3728
  name?: string;
3718
- displayName?: string;
3719
- subscribers?: number;
3720
- public_description?: string;
3729
+ /**
3730
+ * Subreddit title
3731
+ */
3732
+ title?: string;
3733
+ /**
3734
+ * Subreddit URL path
3735
+ */
3736
+ url?: string;
3737
+ /**
3738
+ * Whether the subreddit is NSFW
3739
+ */
3740
+ over18?: boolean;
3721
3741
  }>;
3742
+ /**
3743
+ * Currently set default subreddit for posting
3744
+ */
3745
+ defaultSubreddit?: string;
3722
3746
  });
3723
3747
  type GetRedditSubredditsError = (unknown | {
3724
3748
  error?: string;
@@ -3732,8 +3756,7 @@ type UpdateRedditSubredditsData = {
3732
3756
  };
3733
3757
  };
3734
3758
  type UpdateRedditSubredditsResponse = ({
3735
- message?: string;
3736
- account?: SocialAccount;
3759
+ success?: boolean;
3737
3760
  });
3738
3761
  type UpdateRedditSubredditsError = (unknown | {
3739
3762
  error?: string;
package/dist/index.d.ts CHANGED
@@ -2196,9 +2196,13 @@ type CreatePostData = {
2196
2196
  [key: string]: unknown;
2197
2197
  };
2198
2198
  /**
2199
- * Profile ID to schedule via queue. When provided without scheduledFor,
2200
- * the post will be automatically assigned to the next available slot
2201
- * from the profile's default queue (or the queue specified by queueId).
2199
+ * Profile ID to schedule via queue.
2200
+ *
2201
+ * When provided (without `scheduledFor`), the post will be automatically assigned
2202
+ * to the next available slot from the profile's queue. The system uses distributed
2203
+ * locking to prevent race conditions when multiple posts are scheduled concurrently.
2204
+ * Do not call `/v1/queue/next-slot` and then use that time in `scheduledFor`.
2205
+ * That bypasses the queue system and can cause duplicate slot assignments.
2202
2206
  *
2203
2207
  */
2204
2208
  queuedFromProfile?: string;
@@ -3714,11 +3718,31 @@ type GetRedditSubredditsData = {
3714
3718
  };
3715
3719
  type GetRedditSubredditsResponse = ({
3716
3720
  subreddits?: Array<{
3721
+ /**
3722
+ * Reddit subreddit ID
3723
+ */
3724
+ id?: string;
3725
+ /**
3726
+ * Subreddit name without r/ prefix
3727
+ */
3717
3728
  name?: string;
3718
- displayName?: string;
3719
- subscribers?: number;
3720
- public_description?: string;
3729
+ /**
3730
+ * Subreddit title
3731
+ */
3732
+ title?: string;
3733
+ /**
3734
+ * Subreddit URL path
3735
+ */
3736
+ url?: string;
3737
+ /**
3738
+ * Whether the subreddit is NSFW
3739
+ */
3740
+ over18?: boolean;
3721
3741
  }>;
3742
+ /**
3743
+ * Currently set default subreddit for posting
3744
+ */
3745
+ defaultSubreddit?: string;
3722
3746
  });
3723
3747
  type GetRedditSubredditsError = (unknown | {
3724
3748
  error?: string;
@@ -3732,8 +3756,7 @@ type UpdateRedditSubredditsData = {
3732
3756
  };
3733
3757
  };
3734
3758
  type UpdateRedditSubredditsResponse = ({
3735
- message?: string;
3736
- account?: SocialAccount;
3759
+ success?: boolean;
3737
3760
  });
3738
3761
  type UpdateRedditSubredditsError = (unknown | {
3739
3762
  error?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getlatedev/node",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "The official Node.js library for the Late API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -1284,9 +1284,20 @@ export const previewQueue = <ThrowOnError extends boolean = false>(options: Opti
1284
1284
  };
1285
1285
 
1286
1286
  /**
1287
- * Get the next available queue slot for a profile
1288
- * Returns the next available posting slot, taking into account already scheduled posts
1289
- * to avoid conflicts. Useful for scheduling posts via queue without manual time selection.
1287
+ * Preview the next available queue slot (informational only)
1288
+ * Returns the next available queue slot for preview/informational purposes.
1289
+ *
1290
+ * **Important: To schedule a post to the queue, do NOT use this endpoint's response
1291
+ * with `scheduledFor`.** That creates a manual post, not a queue post.
1292
+ *
1293
+ * Instead, use `POST /v1/posts` with `queuedFromProfile` (and optionally `queueId`).
1294
+ * The system will automatically assign the next available slot with proper locking
1295
+ * to prevent race conditions.
1296
+ *
1297
+ * This endpoint is useful for:
1298
+ * - Showing users when their next post will go out before they commit
1299
+ * - Debugging/verifying queue configuration
1300
+ * - Building UI previews
1290
1301
  *
1291
1302
  * If no queueId is specified, uses the profile's default queue.
1292
1303
  *
@@ -2049,9 +2049,13 @@ export type CreatePostData = {
2049
2049
  [key: string]: unknown;
2050
2050
  };
2051
2051
  /**
2052
- * Profile ID to schedule via queue. When provided without scheduledFor,
2053
- * the post will be automatically assigned to the next available slot
2054
- * from the profile's default queue (or the queue specified by queueId).
2052
+ * Profile ID to schedule via queue.
2053
+ *
2054
+ * When provided (without `scheduledFor`), the post will be automatically assigned
2055
+ * to the next available slot from the profile's queue. The system uses distributed
2056
+ * locking to prevent race conditions when multiple posts are scheduled concurrently.
2057
+ * Do not call `/v1/queue/next-slot` and then use that time in `scheduledFor`.
2058
+ * That bypasses the queue system and can cause duplicate slot assignments.
2055
2059
  *
2056
2060
  */
2057
2061
  queuedFromProfile?: string;
@@ -3713,11 +3717,31 @@ export type GetRedditSubredditsData = {
3713
3717
 
3714
3718
  export type GetRedditSubredditsResponse = ({
3715
3719
  subreddits?: Array<{
3720
+ /**
3721
+ * Reddit subreddit ID
3722
+ */
3723
+ id?: string;
3724
+ /**
3725
+ * Subreddit name without r/ prefix
3726
+ */
3716
3727
  name?: string;
3717
- displayName?: string;
3718
- subscribers?: number;
3719
- public_description?: string;
3728
+ /**
3729
+ * Subreddit title
3730
+ */
3731
+ title?: string;
3732
+ /**
3733
+ * Subreddit URL path
3734
+ */
3735
+ url?: string;
3736
+ /**
3737
+ * Whether the subreddit is NSFW
3738
+ */
3739
+ over18?: boolean;
3720
3740
  }>;
3741
+ /**
3742
+ * Currently set default subreddit for posting
3743
+ */
3744
+ defaultSubreddit?: string;
3721
3745
  });
3722
3746
 
3723
3747
  export type GetRedditSubredditsError = (unknown | {
@@ -3734,8 +3758,7 @@ export type UpdateRedditSubredditsData = {
3734
3758
  };
3735
3759
 
3736
3760
  export type UpdateRedditSubredditsResponse = ({
3737
- message?: string;
3738
- account?: SocialAccount;
3761
+ success?: boolean;
3739
3762
  });
3740
3763
 
3741
3764
  export type UpdateRedditSubredditsError = (unknown | {