@classytic/social 0.1.0
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/CHANGELOG.md +65 -0
- package/LICENSE +21 -0
- package/README.md +368 -0
- package/dist/base-Bw7e52V8.mjs +246 -0
- package/dist/base-Bw7e52V8.mjs.map +1 -0
- package/dist/base-DBtKFiSX.d.mts +226 -0
- package/dist/base-DBtKFiSX.d.mts.map +1 -0
- package/dist/chunk-DQk6qfdC.mjs +18 -0
- package/dist/client/index.d.mts +44 -0
- package/dist/client/index.d.mts.map +1 -0
- package/dist/client/index.mjs +154 -0
- package/dist/client/index.mjs.map +1 -0
- package/dist/common/index.d.mts +3 -0
- package/dist/common/index.mjs +7 -0
- package/dist/contracts-Cdwa4zlg.d.mts +121 -0
- package/dist/contracts-Cdwa4zlg.d.mts.map +1 -0
- package/dist/contracts-lCa069IK.mjs +221 -0
- package/dist/contracts-lCa069IK.mjs.map +1 -0
- package/dist/env-Bl0cwwjC.mjs +955 -0
- package/dist/env-Bl0cwwjC.mjs.map +1 -0
- package/dist/env-DxOZHf0p.d.mts +394 -0
- package/dist/env-DxOZHf0p.d.mts.map +1 -0
- package/dist/errors-Cm6LeKf7.mjs +32 -0
- package/dist/errors-Cm6LeKf7.mjs.map +1 -0
- package/dist/facebook-l_4CghaA.mjs +95 -0
- package/dist/facebook-l_4CghaA.mjs.map +1 -0
- package/dist/http-DpcLSR1M.mjs +197 -0
- package/dist/http-DpcLSR1M.mjs.map +1 -0
- package/dist/index.d.mts +42 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +71 -0
- package/dist/index.mjs.map +1 -0
- package/dist/instagram-BGaeUFU2.mjs +90 -0
- package/dist/instagram-BGaeUFU2.mjs.map +1 -0
- package/dist/linkedin-70whtVKa.mjs +101 -0
- package/dist/linkedin-70whtVKa.mjs.map +1 -0
- package/dist/meta-D3vcJU1c.mjs +126 -0
- package/dist/meta-D3vcJU1c.mjs.map +1 -0
- package/dist/pkce-jq5II68b.mjs +72 -0
- package/dist/pkce-jq5II68b.mjs.map +1 -0
- package/dist/polling-DZ1apXtA.mjs +25 -0
- package/dist/polling-DZ1apXtA.mjs.map +1 -0
- package/dist/providers/facebook.d.mts +135 -0
- package/dist/providers/facebook.d.mts.map +1 -0
- package/dist/providers/facebook.mjs +450 -0
- package/dist/providers/facebook.mjs.map +1 -0
- package/dist/providers/instagram.d.mts +122 -0
- package/dist/providers/instagram.d.mts.map +1 -0
- package/dist/providers/instagram.mjs +496 -0
- package/dist/providers/instagram.mjs.map +1 -0
- package/dist/providers/linkedin.d.mts +145 -0
- package/dist/providers/linkedin.d.mts.map +1 -0
- package/dist/providers/linkedin.mjs +574 -0
- package/dist/providers/linkedin.mjs.map +1 -0
- package/dist/providers/reddit.d.mts +102 -0
- package/dist/providers/reddit.d.mts.map +1 -0
- package/dist/providers/reddit.mjs +657 -0
- package/dist/providers/reddit.mjs.map +1 -0
- package/dist/providers/telegram.d.mts +139 -0
- package/dist/providers/telegram.d.mts.map +1 -0
- package/dist/providers/telegram.mjs +517 -0
- package/dist/providers/telegram.mjs.map +1 -0
- package/dist/providers/tiktok.d.mts +116 -0
- package/dist/providers/tiktok.d.mts.map +1 -0
- package/dist/providers/tiktok.mjs +676 -0
- package/dist/providers/tiktok.mjs.map +1 -0
- package/dist/providers/twitter.d.mts +150 -0
- package/dist/providers/twitter.d.mts.map +1 -0
- package/dist/providers/twitter.mjs +628 -0
- package/dist/providers/twitter.mjs.map +1 -0
- package/dist/providers/whatsapp.d.mts +79 -0
- package/dist/providers/whatsapp.d.mts.map +1 -0
- package/dist/providers/whatsapp.mjs +376 -0
- package/dist/providers/whatsapp.mjs.map +1 -0
- package/dist/providers/youtube.d.mts +153 -0
- package/dist/providers/youtube.d.mts.map +1 -0
- package/dist/providers/youtube.mjs +902 -0
- package/dist/providers/youtube.mjs.map +1 -0
- package/dist/reddit-B10kS4Se.mjs +126 -0
- package/dist/reddit-B10kS4Se.mjs.map +1 -0
- package/dist/schemas/index.d.mts +819 -0
- package/dist/schemas/index.d.mts.map +1 -0
- package/dist/schemas/index.mjs +31 -0
- package/dist/schemas/index.mjs.map +1 -0
- package/dist/security-BXhfebWm.d.mts +338 -0
- package/dist/security-BXhfebWm.d.mts.map +1 -0
- package/dist/shared-Fvc6xQku.mjs +100 -0
- package/dist/shared-Fvc6xQku.mjs.map +1 -0
- package/dist/telegram-FaUHpZgB.mjs +107 -0
- package/dist/telegram-FaUHpZgB.mjs.map +1 -0
- package/dist/tiktok-B_bMk4G-.mjs +94 -0
- package/dist/tiktok-B_bMk4G-.mjs.map +1 -0
- package/dist/twitter-BC22zfuc.mjs +98 -0
- package/dist/twitter-BC22zfuc.mjs.map +1 -0
- package/dist/types-BFE4psYI.d.mts +102 -0
- package/dist/types-BFE4psYI.d.mts.map +1 -0
- package/dist/types-Bv27tcT0.d.mts +230 -0
- package/dist/types-Bv27tcT0.d.mts.map +1 -0
- package/dist/types-BwkKyqpi.d.mts +253 -0
- package/dist/types-BwkKyqpi.d.mts.map +1 -0
- package/dist/types-CJrHMDV9.mjs +27 -0
- package/dist/types-CJrHMDV9.mjs.map +1 -0
- package/dist/types-ClbVc2rc.d.mts +117 -0
- package/dist/types-ClbVc2rc.d.mts.map +1 -0
- package/dist/types-D91N16Ym.d.mts +242 -0
- package/dist/types-D91N16Ym.d.mts.map +1 -0
- package/dist/types-DfLp_ibQ.d.mts +178 -0
- package/dist/types-DfLp_ibQ.d.mts.map +1 -0
- package/dist/types-DfjDgEoJ.d.mts +88 -0
- package/dist/types-DfjDgEoJ.d.mts.map +1 -0
- package/dist/types-Dp5Z9VBr.mjs +23 -0
- package/dist/types-Dp5Z9VBr.mjs.map +1 -0
- package/dist/types-hriBJTsU.d.mts +129 -0
- package/dist/types-hriBJTsU.d.mts.map +1 -0
- package/dist/types-rn6UuLL8.d.mts +184 -0
- package/dist/types-rn6UuLL8.d.mts.map +1 -0
- package/dist/whatsapp-CFp7ryR4.mjs +101 -0
- package/dist/whatsapp-CFp7ryR4.mjs.map +1 -0
- package/dist/youtube-Bs0fdY7H.mjs +98 -0
- package/dist/youtube-Bs0fdY7H.mjs.map +1 -0
- package/package.json +148 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { d as ProviderMetadata, g as UploadResult, h as UploadParams, i as CredentialField, l as ProviderConfig, o as OAuthTokens, p as TestResult, r as AuthUrlOptions, s as PlatformProvider, t as AccountInfo } from "../base-DBtKFiSX.mjs";
|
|
2
|
+
import { a as TikTokCredentials, c as TikTokPrivacyLevel, d as TikTokTokenData, f as TikTokUploadPhotoParams, i as TikTokCredentialData, l as TikTokPublishStatus, m as TikTokVideo, n as ListTikTokVideosResult, o as TikTokPostInfo, p as TikTokUploadSource, r as TikTokAccountInfo, s as TikTokPrivacy, t as ListTikTokVideosOptions, u as TikTokPublishStatusResponse } from "../types-DfjDgEoJ.mjs";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
|
|
5
|
+
//#region src/providers/tiktok/index.d.ts
|
|
6
|
+
declare class TikTokProvider extends PlatformProvider {
|
|
7
|
+
defaultRedirectUri: string;
|
|
8
|
+
scopes: string[];
|
|
9
|
+
/**
|
|
10
|
+
* PKCE verifier store keyed by `state`. TTL'd to 10 minutes; entries are
|
|
11
|
+
* single-use. For multi-instance deployments, persist verifiers alongside
|
|
12
|
+
* `state` (session/Redis) and pass them back via `exchangeCode(code, creds, state)`.
|
|
13
|
+
*/
|
|
14
|
+
private codeVerifiers;
|
|
15
|
+
constructor(cfg?: ProviderConfig);
|
|
16
|
+
/**
|
|
17
|
+
* Get TikTok OAuth authorization URL
|
|
18
|
+
* Quirk: uses `client_key` (not `client_id`), comma-separated scopes
|
|
19
|
+
*
|
|
20
|
+
* @param options.environment - Both sandbox and production request the same scopes.
|
|
21
|
+
* Sandbox apps with "Direct Post" enabled support video.publish for test users.
|
|
22
|
+
*/
|
|
23
|
+
getAuthUrl(state: string, credentials?: Record<string, any>, options?: AuthUrlOptions): string;
|
|
24
|
+
/**
|
|
25
|
+
* Exchange authorization code for tokens
|
|
26
|
+
* Quirk: form-urlencoded body with client_key/client_secret (not Basic auth)
|
|
27
|
+
*/
|
|
28
|
+
exchangeCode(code: string, credentials?: Record<string, any>, state?: string): Promise<OAuthTokens>;
|
|
29
|
+
/**
|
|
30
|
+
* Refresh access token
|
|
31
|
+
*/
|
|
32
|
+
refreshToken(refreshToken: string, credentials?: Record<string, any>): Promise<OAuthTokens>;
|
|
33
|
+
/**
|
|
34
|
+
* Revoke TikTok access token.
|
|
35
|
+
* Forces fresh consent screen on next authorization — ensures newly
|
|
36
|
+
* enabled scopes (e.g. video.publish after enabling Direct Post) are granted.
|
|
37
|
+
*/
|
|
38
|
+
revokeToken(accessToken: string, credData?: Record<string, any>): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Get TikTok user profile
|
|
41
|
+
* Quirk: requires explicit `fields` query param
|
|
42
|
+
*/
|
|
43
|
+
getAccountInfo(accessToken: string): Promise<AccountInfo>;
|
|
44
|
+
/**
|
|
45
|
+
* Test credential validity
|
|
46
|
+
*/
|
|
47
|
+
testCredential(credentialData: Record<string, any>): Promise<TestResult>;
|
|
48
|
+
/**
|
|
49
|
+
* Upload video to TikTok
|
|
50
|
+
*
|
|
51
|
+
* Smart mode selection:
|
|
52
|
+
* - videoUrl → tries PULL_FROM_URL first (zero server load, TikTok fetches directly)
|
|
53
|
+
* → falls back to FILE_UPLOAD if domain not verified (url_ownership_unverified)
|
|
54
|
+
* - filePath → always FILE_UPLOAD (local file, no URL to pull from)
|
|
55
|
+
*
|
|
56
|
+
* FILE_UPLOAD uses stream-through: fetch(url) → pipe to TikTok (no server buffering).
|
|
57
|
+
*/
|
|
58
|
+
uploadVideo(params: UploadParams): Promise<UploadResult>;
|
|
59
|
+
/**
|
|
60
|
+
* Attempt PULL_FROM_URL upload. Returns result on success, null if domain not verified.
|
|
61
|
+
* Throws on any other error.
|
|
62
|
+
*/
|
|
63
|
+
private _tryPullFromUrl;
|
|
64
|
+
/**
|
|
65
|
+
* FILE_UPLOAD with stream-through (fetch URL → pipe to TikTok, or local file → stream).
|
|
66
|
+
*/
|
|
67
|
+
private _uploadViaFile;
|
|
68
|
+
/**
|
|
69
|
+
* Create a photo post on TikTok
|
|
70
|
+
* TikTok-specific — not in the base class.
|
|
71
|
+
*
|
|
72
|
+
* Restrictions:
|
|
73
|
+
* - Only JPG/JPEG/WEBP (no PNG)
|
|
74
|
+
* - Max 35 images per post
|
|
75
|
+
* - Images must be publicly accessible URLs
|
|
76
|
+
*
|
|
77
|
+
* @param params
|
|
78
|
+
* @param params.imageUrls - Array of public image URLs
|
|
79
|
+
* @param params.title - Post title (max 150 chars)
|
|
80
|
+
* @param params.privacy - 'public' | 'private' | 'followers' | 'friends'
|
|
81
|
+
* @param params.tokens - { access_token }
|
|
82
|
+
*/
|
|
83
|
+
uploadPhoto(params: TikTokUploadPhotoParams): Promise<UploadResult>;
|
|
84
|
+
/**
|
|
85
|
+
* List videos for the authenticated user (cursor-based pagination).
|
|
86
|
+
* Requires scope: `video.list`
|
|
87
|
+
*
|
|
88
|
+
* @param accessToken - OAuth access token
|
|
89
|
+
* @param options.maxCount - Number of videos per page (1-20, default 20)
|
|
90
|
+
* @param options.cursor - Pagination cursor from a previous response
|
|
91
|
+
*/
|
|
92
|
+
listVideos(accessToken: string, options?: ListTikTokVideosOptions): Promise<ListTikTokVideosResult>;
|
|
93
|
+
/**
|
|
94
|
+
* Query specific videos by their IDs.
|
|
95
|
+
*
|
|
96
|
+
* @param accessToken - OAuth access token
|
|
97
|
+
* @param videoIds - Array of TikTok video IDs to fetch
|
|
98
|
+
*/
|
|
99
|
+
getVideos(accessToken: string, videoIds: string[]): Promise<TikTokVideo[]>;
|
|
100
|
+
getCredentialZodSchema(): z.ZodType;
|
|
101
|
+
getCredentialSchema(): CredentialField[];
|
|
102
|
+
getMetadata(): ProviderMetadata;
|
|
103
|
+
/**
|
|
104
|
+
* Parse a raw TikTok video API item into a normalized TikTokVideo object.
|
|
105
|
+
* @private
|
|
106
|
+
*/
|
|
107
|
+
private _parseVideoItem;
|
|
108
|
+
/**
|
|
109
|
+
* Poll TikTok publish status until complete or failed
|
|
110
|
+
* @private
|
|
111
|
+
*/
|
|
112
|
+
_pollPublishStatus(accessToken: string, publishId: string, maxAttempts?: number, intervalMs?: number): Promise<any>;
|
|
113
|
+
}
|
|
114
|
+
//#endregion
|
|
115
|
+
export { type ListTikTokVideosOptions, type ListTikTokVideosResult, type TikTokAccountInfo, type TikTokCredentialData, type TikTokCredentials, type TikTokPostInfo, type TikTokPrivacy, type TikTokPrivacyLevel, TikTokProvider, type TikTokPublishStatus, type TikTokPublishStatusResponse, type TikTokTokenData, type TikTokUploadPhotoParams, type TikTokUploadSource, type TikTokVideo };
|
|
116
|
+
//# sourceMappingURL=tiktok.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tiktok.d.mts","names":[],"sources":["../../src/providers/tiktok/index.ts"],"mappings":";;;;;cA8Ga,cAAA,SAAuB,gBAAA;EAC3B,kBAAA;EACA,MAAA;EA0QkC;;;;;EAAA,QApQjC,aAAA;cAEI,GAAA,GAAK,cAAA;EA2nBiD;;;;;;;EAlmBlE,UAAA,CAAW,KAAA,UAAe,WAAA,GAAa,MAAA,eAA0B,OAAA,GAAU,cAAA;EAnCzB;;;;EA2D5C,YAAA,CAAa,IAAA,UAAc,WAAA,GAAa,MAAA,eAA0B,KAAA,YAAiB,OAAA,CAAQ,WAAA;;;;EA+D3F,YAAA,CAAa,YAAA,UAAsB,WAAA,GAAa,MAAA,gBAA2B,OAAA,CAAQ,WAAA;EAvF9E;;;;;EA2HL,WAAA,CAAY,WAAA,UAAqB,QAAA,GAAW,MAAA,gBAAsB,OAAA;EAnGrD;;;;EA6Hb,cAAA,CAAe,WAAA,WAAsB,OAAA,CAAQ,WAAA;EA7H8C;;;EA+J3F,cAAA,CAAe,cAAA,EAAgB,MAAA,gBAAsB,OAAA,CAAQ,UAAA;EAhG1B;;;;;;;;;;EAkJnC,WAAA,CAAY,MAAA,EAAQ,YAAA,GAAe,OAAA,CAAQ,YAAA;EApFE;;;;EAAA,QA4JrC,eAAA;EA1HqD;;;EAAA,QAmLrD,cAAA;EAjI2B;;;;;;;;;;;;;;;EAiQnC,WAAA,CAAY,MAAA,EAAQ,uBAAA,GAA0B,OAAA,CAAQ,YAAA;EAwH5C;;;;;;;;EA7CV,UAAA,CAAW,WAAA,UAAqB,OAAA,GAAU,uBAAA,GAA0B,OAAA,CAAQ,sBAAA;EA4GlF;;;;;;EA/DM,SAAA,CAAU,WAAA,UAAqB,QAAA,aAAqB,OAAA,CAAQ,WAAA;EAwClE,sBAAA,CAAA,GAA0B,CAAA,CAAE,OAAA;EAI5B,mBAAA,CAAA,GAAuB,eAAA;EAmBvB,WAAA,CAAA,GAAe,gBAAA;EAoF+G;;;;EAAA,QApBtH,eAAA;;;;;EAoBF,kBAAA,CAAmB,WAAA,UAAqB,SAAA,UAAmB,WAAA,WAA0B,UAAA,YAA4B,OAAA;AAAA"}
|