@zernio/node 0.2.43 → 0.2.45

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
@@ -198,7 +198,7 @@ declare class Zernio {
198
198
  selectFacebookPage: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<SelectFacebookPageData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<SelectFacebookPageResponse, unknown, ThrowOnError>;
199
199
  };
200
200
  googleBusiness: {
201
- listGoogleBusinessLocations: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<ListGoogleBusinessLocationsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<ListGoogleBusinessLocationsResponse, unknown, ThrowOnError>;
201
+ listGoogleBusinessLocations: <ThrowOnError extends boolean = false>(options?: _hey_api_client_fetch.OptionsLegacyParser<ListGoogleBusinessLocationsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<ListGoogleBusinessLocationsResponse, unknown, ThrowOnError>;
202
202
  selectGoogleBusinessLocation: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<SelectGoogleBusinessLocationData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<SelectGoogleBusinessLocationResponse, unknown, ThrowOnError>;
203
203
  };
204
204
  linkedin: {
@@ -996,7 +996,8 @@ type permission = 'read-write' | 'read';
996
996
  */
997
997
  type BlueskyPlatformData = {
998
998
  /**
999
- * Sequence of posts in a Bluesky thread (root then replies in order).
999
+ * Complete sequence of posts in a Bluesky thread. The first item becomes the root post, subsequent items are chained as replies. When threadItems is provided, the top-level content field is used only for display and search purposes, it is NOT published. You must include your first post as threadItems[0].
1000
+ *
1000
1001
  */
1001
1002
  threadItems?: Array<{
1002
1003
  content?: string;
@@ -2165,7 +2166,8 @@ type ThreadsPlatformData = {
2165
2166
  */
2166
2167
  topic_tag?: string;
2167
2168
  /**
2168
- * Sequence of posts in a Threads thread (root then replies in order).
2169
+ * Complete sequence of posts in a Threads thread. The first item becomes the root post, subsequent items are chained as replies. When threadItems is provided, the top-level content field is used only for display and search purposes, it is NOT published. You must include your first post as threadItems[0].
2170
+ *
2169
2171
  */
2170
2172
  threadItems?: Array<{
2171
2173
  content?: string;
@@ -2263,7 +2265,8 @@ type TwitterPlatformData = {
2263
2265
  */
2264
2266
  replySettings?: 'following' | 'mentionedUsers' | 'subscribers' | 'verified';
2265
2267
  /**
2266
- * Sequence of tweets in a thread. First item is the root tweet.
2268
+ * Complete sequence of tweets in a thread. The first item becomes the root tweet, subsequent items are chained as replies. When threadItems is provided, the top-level content field is used only for display and search purposes, it is NOT published. You must include your first tweet as threadItems[0].
2269
+ *
2267
2270
  */
2268
2271
  threadItems?: Array<{
2269
2272
  content?: string;
@@ -4699,15 +4702,19 @@ type SelectFacebookPageError = (unknown | {
4699
4702
  error?: string;
4700
4703
  });
4701
4704
  type ListGoogleBusinessLocationsData = {
4702
- query: {
4705
+ query?: {
4703
4706
  /**
4704
- * Profile ID from your connection flow
4707
+ * Token from the OAuth callback redirect. Preferred over tempToken because it preserves server-side token storage. One of pendingDataToken or tempToken is required.
4705
4708
  */
4706
- profileId: string;
4709
+ pendingDataToken?: string;
4707
4710
  /**
4708
- * Temporary Google access token from the OAuth callback redirect
4711
+ * Profile ID from your connection flow. Required for auth validation when provided.
4709
4712
  */
4710
- tempToken: string;
4713
+ profileId?: string;
4714
+ /**
4715
+ * Legacy. Direct Google access token. Use pendingDataToken instead when available.
4716
+ */
4717
+ tempToken?: string;
4711
4718
  };
4712
4719
  };
4713
4720
  type ListGoogleBusinessLocationsResponse = ({
@@ -4752,28 +4759,9 @@ type SelectGoogleBusinessLocationData = {
4752
4759
  */
4753
4760
  locationId: string;
4754
4761
  /**
4755
- * Temporary Google access token from OAuth
4762
+ * Token from the OAuth callback redirect (pendingDataToken query param). Tokens and profile data are retrieved server-side from this token.
4756
4763
  */
4757
- tempToken: string;
4758
- /**
4759
- * Decoded user profile from the OAuth callback. Contains the refresh token. Always include this field.
4760
- */
4761
- userProfile?: {
4762
- id?: string;
4763
- name?: string;
4764
- /**
4765
- * Google refresh token for long-lived access
4766
- */
4767
- refreshToken?: string;
4768
- /**
4769
- * Token expiration time in seconds
4770
- */
4771
- tokenExpiresIn?: number;
4772
- /**
4773
- * Granted OAuth scopes
4774
- */
4775
- scope?: string;
4776
- };
4764
+ pendingDataToken: string;
4777
4765
  /**
4778
4766
  * Optional custom redirect URL to return to after selection
4779
4767
  */
package/dist/index.d.ts CHANGED
@@ -198,7 +198,7 @@ declare class Zernio {
198
198
  selectFacebookPage: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<SelectFacebookPageData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<SelectFacebookPageResponse, unknown, ThrowOnError>;
199
199
  };
200
200
  googleBusiness: {
201
- listGoogleBusinessLocations: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<ListGoogleBusinessLocationsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<ListGoogleBusinessLocationsResponse, unknown, ThrowOnError>;
201
+ listGoogleBusinessLocations: <ThrowOnError extends boolean = false>(options?: _hey_api_client_fetch.OptionsLegacyParser<ListGoogleBusinessLocationsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<ListGoogleBusinessLocationsResponse, unknown, ThrowOnError>;
202
202
  selectGoogleBusinessLocation: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<SelectGoogleBusinessLocationData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<SelectGoogleBusinessLocationResponse, unknown, ThrowOnError>;
203
203
  };
204
204
  linkedin: {
@@ -996,7 +996,8 @@ type permission = 'read-write' | 'read';
996
996
  */
997
997
  type BlueskyPlatformData = {
998
998
  /**
999
- * Sequence of posts in a Bluesky thread (root then replies in order).
999
+ * Complete sequence of posts in a Bluesky thread. The first item becomes the root post, subsequent items are chained as replies. When threadItems is provided, the top-level content field is used only for display and search purposes, it is NOT published. You must include your first post as threadItems[0].
1000
+ *
1000
1001
  */
1001
1002
  threadItems?: Array<{
1002
1003
  content?: string;
@@ -2165,7 +2166,8 @@ type ThreadsPlatformData = {
2165
2166
  */
2166
2167
  topic_tag?: string;
2167
2168
  /**
2168
- * Sequence of posts in a Threads thread (root then replies in order).
2169
+ * Complete sequence of posts in a Threads thread. The first item becomes the root post, subsequent items are chained as replies. When threadItems is provided, the top-level content field is used only for display and search purposes, it is NOT published. You must include your first post as threadItems[0].
2170
+ *
2169
2171
  */
2170
2172
  threadItems?: Array<{
2171
2173
  content?: string;
@@ -2263,7 +2265,8 @@ type TwitterPlatformData = {
2263
2265
  */
2264
2266
  replySettings?: 'following' | 'mentionedUsers' | 'subscribers' | 'verified';
2265
2267
  /**
2266
- * Sequence of tweets in a thread. First item is the root tweet.
2268
+ * Complete sequence of tweets in a thread. The first item becomes the root tweet, subsequent items are chained as replies. When threadItems is provided, the top-level content field is used only for display and search purposes, it is NOT published. You must include your first tweet as threadItems[0].
2269
+ *
2267
2270
  */
2268
2271
  threadItems?: Array<{
2269
2272
  content?: string;
@@ -4699,15 +4702,19 @@ type SelectFacebookPageError = (unknown | {
4699
4702
  error?: string;
4700
4703
  });
4701
4704
  type ListGoogleBusinessLocationsData = {
4702
- query: {
4705
+ query?: {
4703
4706
  /**
4704
- * Profile ID from your connection flow
4707
+ * Token from the OAuth callback redirect. Preferred over tempToken because it preserves server-side token storage. One of pendingDataToken or tempToken is required.
4705
4708
  */
4706
- profileId: string;
4709
+ pendingDataToken?: string;
4707
4710
  /**
4708
- * Temporary Google access token from the OAuth callback redirect
4711
+ * Profile ID from your connection flow. Required for auth validation when provided.
4709
4712
  */
4710
- tempToken: string;
4713
+ profileId?: string;
4714
+ /**
4715
+ * Legacy. Direct Google access token. Use pendingDataToken instead when available.
4716
+ */
4717
+ tempToken?: string;
4711
4718
  };
4712
4719
  };
4713
4720
  type ListGoogleBusinessLocationsResponse = ({
@@ -4752,28 +4759,9 @@ type SelectGoogleBusinessLocationData = {
4752
4759
  */
4753
4760
  locationId: string;
4754
4761
  /**
4755
- * Temporary Google access token from OAuth
4762
+ * Token from the OAuth callback redirect (pendingDataToken query param). Tokens and profile data are retrieved server-side from this token.
4756
4763
  */
4757
- tempToken: string;
4758
- /**
4759
- * Decoded user profile from the OAuth callback. Contains the refresh token. Always include this field.
4760
- */
4761
- userProfile?: {
4762
- id?: string;
4763
- name?: string;
4764
- /**
4765
- * Google refresh token for long-lived access
4766
- */
4767
- refreshToken?: string;
4768
- /**
4769
- * Token expiration time in seconds
4770
- */
4771
- tokenExpiresIn?: number;
4772
- /**
4773
- * Granted OAuth scopes
4774
- */
4775
- scope?: string;
4776
- };
4764
+ pendingDataToken: string;
4777
4765
  /**
4778
4766
  * Optional custom redirect URL to return to after selection
4779
4767
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zernio/node",
3
- "version": "0.2.43",
3
+ "version": "0.2.45",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -719,9 +719,10 @@ export const selectFacebookPage = <ThrowOnError extends boolean = false>(options
719
719
 
720
720
  /**
721
721
  * List GBP locations
722
- * For headless flows. Returns the list of GBP locations the user can manage. Use X-Connect-Token if connecting via API key.
722
+ * For headless flows. Returns the list of GBP locations the user can manage. Use pendingDataToken (from the OAuth callback redirect) to list locations without consuming the token, so it remains available for select-location. Use X-Connect-Token header if connecting via API key.
723
+ *
723
724
  */
724
- export const listGoogleBusinessLocations = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListGoogleBusinessLocationsData, ThrowOnError>) => {
725
+ export const listGoogleBusinessLocations = <ThrowOnError extends boolean = false>(options?: OptionsLegacyParser<ListGoogleBusinessLocationsData, ThrowOnError>) => {
725
726
  return (options?.client ?? client).get<ListGoogleBusinessLocationsResponse, ListGoogleBusinessLocationsError, ThrowOnError>({
726
727
  ...options,
727
728
  url: '/v1/connect/googlebusiness/locations'
@@ -730,7 +731,8 @@ export const listGoogleBusinessLocations = <ThrowOnError extends boolean = false
730
731
 
731
732
  /**
732
733
  * Select GBP location
733
- * Complete the headless flow by saving the user's selected GBP location. Include userProfile from the OAuth redirect (contains refresh token). Use X-Connect-Token if connecting via API key.
734
+ * Complete the headless GBP flow by saving the user's selected location. The pendingDataToken is returned in your redirect URL after OAuth completes (step=select_location). Tokens and profile data are stored server-side, so only the pendingDataToken is needed here. Use X-Connect-Token header if connecting via API key.
735
+ *
734
736
  */
735
737
  export const selectGoogleBusinessLocation = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<SelectGoogleBusinessLocationData, ThrowOnError>) => {
736
738
  return (options?.client ?? client).post<SelectGoogleBusinessLocationResponse, SelectGoogleBusinessLocationError, ThrowOnError>({
@@ -421,7 +421,8 @@ export type permission = 'read-write' | 'read';
421
421
  */
422
422
  export type BlueskyPlatformData = {
423
423
  /**
424
- * Sequence of posts in a Bluesky thread (root then replies in order).
424
+ * Complete sequence of posts in a Bluesky thread. The first item becomes the root post, subsequent items are chained as replies. When threadItems is provided, the top-level content field is used only for display and search purposes, it is NOT published. You must include your first post as threadItems[0].
425
+ *
425
426
  */
426
427
  threadItems?: Array<{
427
428
  content?: string;
@@ -1670,7 +1671,8 @@ export type ThreadsPlatformData = {
1670
1671
  */
1671
1672
  topic_tag?: string;
1672
1673
  /**
1673
- * Sequence of posts in a Threads thread (root then replies in order).
1674
+ * Complete sequence of posts in a Threads thread. The first item becomes the root post, subsequent items are chained as replies. When threadItems is provided, the top-level content field is used only for display and search purposes, it is NOT published. You must include your first post as threadItems[0].
1675
+ *
1674
1676
  */
1675
1677
  threadItems?: Array<{
1676
1678
  content?: string;
@@ -1772,7 +1774,8 @@ export type TwitterPlatformData = {
1772
1774
  */
1773
1775
  replySettings?: 'following' | 'mentionedUsers' | 'subscribers' | 'verified';
1774
1776
  /**
1775
- * Sequence of tweets in a thread. First item is the root tweet.
1777
+ * Complete sequence of tweets in a thread. The first item becomes the root tweet, subsequent items are chained as replies. When threadItems is provided, the top-level content field is used only for display and search purposes, it is NOT published. You must include your first tweet as threadItems[0].
1778
+ *
1776
1779
  */
1777
1780
  threadItems?: Array<{
1778
1781
  content?: string;
@@ -4418,15 +4421,19 @@ export type SelectFacebookPageError = (unknown | {
4418
4421
  });
4419
4422
 
4420
4423
  export type ListGoogleBusinessLocationsData = {
4421
- query: {
4424
+ query?: {
4422
4425
  /**
4423
- * Profile ID from your connection flow
4426
+ * Token from the OAuth callback redirect. Preferred over tempToken because it preserves server-side token storage. One of pendingDataToken or tempToken is required.
4424
4427
  */
4425
- profileId: string;
4428
+ pendingDataToken?: string;
4426
4429
  /**
4427
- * Temporary Google access token from the OAuth callback redirect
4430
+ * Profile ID from your connection flow. Required for auth validation when provided.
4428
4431
  */
4429
- tempToken: string;
4432
+ profileId?: string;
4433
+ /**
4434
+ * Legacy. Direct Google access token. Use pendingDataToken instead when available.
4435
+ */
4436
+ tempToken?: string;
4430
4437
  };
4431
4438
  };
4432
4439
 
@@ -4474,28 +4481,9 @@ export type SelectGoogleBusinessLocationData = {
4474
4481
  */
4475
4482
  locationId: string;
4476
4483
  /**
4477
- * Temporary Google access token from OAuth
4484
+ * Token from the OAuth callback redirect (pendingDataToken query param). Tokens and profile data are retrieved server-side from this token.
4478
4485
  */
4479
- tempToken: string;
4480
- /**
4481
- * Decoded user profile from the OAuth callback. Contains the refresh token. Always include this field.
4482
- */
4483
- userProfile?: {
4484
- id?: string;
4485
- name?: string;
4486
- /**
4487
- * Google refresh token for long-lived access
4488
- */
4489
- refreshToken?: string;
4490
- /**
4491
- * Token expiration time in seconds
4492
- */
4493
- tokenExpiresIn?: number;
4494
- /**
4495
- * Granted OAuth scopes
4496
- */
4497
- scope?: string;
4498
- };
4486
+ pendingDataToken: string;
4499
4487
  /**
4500
4488
  * Optional custom redirect URL to return to after selection
4501
4489
  */