@zernio/node 0.2.659 → 0.2.660

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/dist/index.d.mts CHANGED
@@ -20611,6 +20611,12 @@ type ReplyToInboxPostData = {
20611
20611
  */
20612
20612
  rootCid?: string;
20613
20613
  };
20614
+ headers?: {
20615
+ /**
20616
+ * Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.
20617
+ */
20618
+ 'Idempotency-Key'?: string;
20619
+ };
20614
20620
  path: {
20615
20621
  /**
20616
20622
  * Zernio post ID or platform-specific post ID. LinkedIn third-party posts accept full activity URN or numeric ID.
@@ -21425,6 +21431,12 @@ type ReplyToInboxReviewData = {
21425
21431
  accountId: string;
21426
21432
  message: string;
21427
21433
  };
21434
+ headers?: {
21435
+ /**
21436
+ * Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.
21437
+ */
21438
+ 'Idempotency-Key'?: string;
21439
+ };
21428
21440
  path: {
21429
21441
  /**
21430
21442
  * Review ID (URL-encoded for Google Business)
package/dist/index.d.ts CHANGED
@@ -20611,6 +20611,12 @@ type ReplyToInboxPostData = {
20611
20611
  */
20612
20612
  rootCid?: string;
20613
20613
  };
20614
+ headers?: {
20615
+ /**
20616
+ * Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.
20617
+ */
20618
+ 'Idempotency-Key'?: string;
20619
+ };
20614
20620
  path: {
20615
20621
  /**
20616
20622
  * Zernio post ID or platform-specific post ID. LinkedIn third-party posts accept full activity URN or numeric ID.
@@ -21425,6 +21431,12 @@ type ReplyToInboxReviewData = {
21425
21431
  accountId: string;
21426
21432
  message: string;
21427
21433
  };
21434
+ headers?: {
21435
+ /**
21436
+ * Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.
21437
+ */
21438
+ 'Idempotency-Key'?: string;
21439
+ };
21428
21440
  path: {
21429
21441
  /**
21430
21442
  * Review ID (URL-encoded for Google Business)
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ module.exports = __toCommonJS(index_exports);
36
36
  // package.json
37
37
  var package_default = {
38
38
  name: "@zernio/node",
39
- version: "0.2.659",
39
+ version: "0.2.660",
40
40
  description: "The official Node.js library for the Zernio API",
41
41
  main: "dist/index.js",
42
42
  module: "dist/index.mjs",
package/dist/index.mjs CHANGED
@@ -5,7 +5,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
5
5
  // package.json
6
6
  var package_default = {
7
7
  name: "@zernio/node",
8
- version: "0.2.659",
8
+ version: "0.2.660",
9
9
  description: "The official Node.js library for the Zernio API",
10
10
  main: "dist/index.js",
11
11
  module: "dist/index.mjs",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zernio/node",
3
- "version": "0.2.659",
3
+ "version": "0.2.660",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -3773,6 +3773,23 @@ export const getInboxPostComments = <ThrowOnError extends boolean = false>(optio
3773
3773
  /**
3774
3774
  * Reply to comment
3775
3775
  * Post a reply to a post or specific comment. Requires accountId in request body.
3776
+ *
3777
+ * **Idempotency:** send an `Idempotency-Key` header to make retries safe
3778
+ * (e.g. after a client-side timeout where delivery is unknown): same key +
3779
+ * same body replays the original response (with `Idempotent-Replayed: true`)
3780
+ * instead of posting the comment a second time; same key + different body
3781
+ * returns 422; a key still in flight returns 409. Keys are retained for 24
3782
+ * hours and are scoped to the credential and to this exact path, so reusing
3783
+ * a key against a different postId returns 422 rather than replaying the
3784
+ * other post's response.
3785
+ *
3786
+ * Only successful (2xx) responses are stored for replay. If the request
3787
+ * throws or returns a non-2xx status the key is released, so the header
3788
+ * protects the "request succeeded but the response was lost" case. After an
3789
+ * ambiguous failure (a 5xx or a network timeout) list the post's comments
3790
+ * before retrying with the same key, and treat an empty result as
3791
+ * inconclusive rather than as proof nothing was posted.
3792
+ *
3776
3793
  */
3777
3794
  export const replyToInboxPost = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ReplyToInboxPostData, ThrowOnError>) => {
3778
3795
  return (options?.client ?? client).post<ReplyToInboxPostResponse, ReplyToInboxPostError, ThrowOnError>({
@@ -4157,6 +4174,23 @@ export const listInboxReviews = <ThrowOnError extends boolean = false>(options?:
4157
4174
  /**
4158
4175
  * Reply to review
4159
4176
  * Post a reply to a review. Requires accountId in request body.
4177
+ *
4178
+ * **Idempotency:** send an `Idempotency-Key` header to make retries safe
4179
+ * (e.g. after a client-side timeout where delivery is unknown): same key +
4180
+ * same body replays the original response (with `Idempotent-Replayed: true`)
4181
+ * instead of sending the reply to the platform again; same key + different
4182
+ * body returns 422; a key still in flight returns 409. Keys are retained for
4183
+ * 24 hours and are scoped to the credential and to this exact path, so
4184
+ * reusing a key against a different reviewId returns 422 rather than
4185
+ * replaying the other review's response.
4186
+ *
4187
+ * Only successful (2xx) responses are stored for replay. If the request
4188
+ * throws or returns a non-2xx status the key is released, so the header
4189
+ * protects the "request succeeded but the response was lost" case. After an
4190
+ * ambiguous failure (a 5xx or a network timeout) fetch the review before
4191
+ * retrying with the same key, and treat a missing reply as inconclusive
4192
+ * rather than as proof nothing was sent.
4193
+ *
4160
4194
  */
4161
4195
  export const replyToInboxReview = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ReplyToInboxReviewData, ThrowOnError>) => {
4162
4196
  return (options?.client ?? client).post<ReplyToInboxReviewResponse, ReplyToInboxReviewError, ThrowOnError>({
@@ -20326,6 +20326,12 @@ export type ReplyToInboxPostData = {
20326
20326
  */
20327
20327
  rootCid?: string;
20328
20328
  };
20329
+ headers?: {
20330
+ /**
20331
+ * Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.
20332
+ */
20333
+ 'Idempotency-Key'?: string;
20334
+ };
20329
20335
  path: {
20330
20336
  /**
20331
20337
  * Zernio post ID or platform-specific post ID. LinkedIn third-party posts accept full activity URN or numeric ID.
@@ -21206,6 +21212,12 @@ export type ReplyToInboxReviewData = {
21206
21212
  accountId: string;
21207
21213
  message: string;
21208
21214
  };
21215
+ headers?: {
21216
+ /**
21217
+ * Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.
21218
+ */
21219
+ 'Idempotency-Key'?: string;
21220
+ };
21209
21221
  path: {
21210
21222
  /**
21211
21223
  * Review ID (URL-encoded for Google Business)