@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.
Files changed (121) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/LICENSE +21 -0
  3. package/README.md +368 -0
  4. package/dist/base-Bw7e52V8.mjs +246 -0
  5. package/dist/base-Bw7e52V8.mjs.map +1 -0
  6. package/dist/base-DBtKFiSX.d.mts +226 -0
  7. package/dist/base-DBtKFiSX.d.mts.map +1 -0
  8. package/dist/chunk-DQk6qfdC.mjs +18 -0
  9. package/dist/client/index.d.mts +44 -0
  10. package/dist/client/index.d.mts.map +1 -0
  11. package/dist/client/index.mjs +154 -0
  12. package/dist/client/index.mjs.map +1 -0
  13. package/dist/common/index.d.mts +3 -0
  14. package/dist/common/index.mjs +7 -0
  15. package/dist/contracts-Cdwa4zlg.d.mts +121 -0
  16. package/dist/contracts-Cdwa4zlg.d.mts.map +1 -0
  17. package/dist/contracts-lCa069IK.mjs +221 -0
  18. package/dist/contracts-lCa069IK.mjs.map +1 -0
  19. package/dist/env-Bl0cwwjC.mjs +955 -0
  20. package/dist/env-Bl0cwwjC.mjs.map +1 -0
  21. package/dist/env-DxOZHf0p.d.mts +394 -0
  22. package/dist/env-DxOZHf0p.d.mts.map +1 -0
  23. package/dist/errors-Cm6LeKf7.mjs +32 -0
  24. package/dist/errors-Cm6LeKf7.mjs.map +1 -0
  25. package/dist/facebook-l_4CghaA.mjs +95 -0
  26. package/dist/facebook-l_4CghaA.mjs.map +1 -0
  27. package/dist/http-DpcLSR1M.mjs +197 -0
  28. package/dist/http-DpcLSR1M.mjs.map +1 -0
  29. package/dist/index.d.mts +42 -0
  30. package/dist/index.d.mts.map +1 -0
  31. package/dist/index.mjs +71 -0
  32. package/dist/index.mjs.map +1 -0
  33. package/dist/instagram-BGaeUFU2.mjs +90 -0
  34. package/dist/instagram-BGaeUFU2.mjs.map +1 -0
  35. package/dist/linkedin-70whtVKa.mjs +101 -0
  36. package/dist/linkedin-70whtVKa.mjs.map +1 -0
  37. package/dist/meta-D3vcJU1c.mjs +126 -0
  38. package/dist/meta-D3vcJU1c.mjs.map +1 -0
  39. package/dist/pkce-jq5II68b.mjs +72 -0
  40. package/dist/pkce-jq5II68b.mjs.map +1 -0
  41. package/dist/polling-DZ1apXtA.mjs +25 -0
  42. package/dist/polling-DZ1apXtA.mjs.map +1 -0
  43. package/dist/providers/facebook.d.mts +135 -0
  44. package/dist/providers/facebook.d.mts.map +1 -0
  45. package/dist/providers/facebook.mjs +450 -0
  46. package/dist/providers/facebook.mjs.map +1 -0
  47. package/dist/providers/instagram.d.mts +122 -0
  48. package/dist/providers/instagram.d.mts.map +1 -0
  49. package/dist/providers/instagram.mjs +496 -0
  50. package/dist/providers/instagram.mjs.map +1 -0
  51. package/dist/providers/linkedin.d.mts +145 -0
  52. package/dist/providers/linkedin.d.mts.map +1 -0
  53. package/dist/providers/linkedin.mjs +574 -0
  54. package/dist/providers/linkedin.mjs.map +1 -0
  55. package/dist/providers/reddit.d.mts +102 -0
  56. package/dist/providers/reddit.d.mts.map +1 -0
  57. package/dist/providers/reddit.mjs +657 -0
  58. package/dist/providers/reddit.mjs.map +1 -0
  59. package/dist/providers/telegram.d.mts +139 -0
  60. package/dist/providers/telegram.d.mts.map +1 -0
  61. package/dist/providers/telegram.mjs +517 -0
  62. package/dist/providers/telegram.mjs.map +1 -0
  63. package/dist/providers/tiktok.d.mts +116 -0
  64. package/dist/providers/tiktok.d.mts.map +1 -0
  65. package/dist/providers/tiktok.mjs +676 -0
  66. package/dist/providers/tiktok.mjs.map +1 -0
  67. package/dist/providers/twitter.d.mts +150 -0
  68. package/dist/providers/twitter.d.mts.map +1 -0
  69. package/dist/providers/twitter.mjs +628 -0
  70. package/dist/providers/twitter.mjs.map +1 -0
  71. package/dist/providers/whatsapp.d.mts +79 -0
  72. package/dist/providers/whatsapp.d.mts.map +1 -0
  73. package/dist/providers/whatsapp.mjs +376 -0
  74. package/dist/providers/whatsapp.mjs.map +1 -0
  75. package/dist/providers/youtube.d.mts +153 -0
  76. package/dist/providers/youtube.d.mts.map +1 -0
  77. package/dist/providers/youtube.mjs +902 -0
  78. package/dist/providers/youtube.mjs.map +1 -0
  79. package/dist/reddit-B10kS4Se.mjs +126 -0
  80. package/dist/reddit-B10kS4Se.mjs.map +1 -0
  81. package/dist/schemas/index.d.mts +819 -0
  82. package/dist/schemas/index.d.mts.map +1 -0
  83. package/dist/schemas/index.mjs +31 -0
  84. package/dist/schemas/index.mjs.map +1 -0
  85. package/dist/security-BXhfebWm.d.mts +338 -0
  86. package/dist/security-BXhfebWm.d.mts.map +1 -0
  87. package/dist/shared-Fvc6xQku.mjs +100 -0
  88. package/dist/shared-Fvc6xQku.mjs.map +1 -0
  89. package/dist/telegram-FaUHpZgB.mjs +107 -0
  90. package/dist/telegram-FaUHpZgB.mjs.map +1 -0
  91. package/dist/tiktok-B_bMk4G-.mjs +94 -0
  92. package/dist/tiktok-B_bMk4G-.mjs.map +1 -0
  93. package/dist/twitter-BC22zfuc.mjs +98 -0
  94. package/dist/twitter-BC22zfuc.mjs.map +1 -0
  95. package/dist/types-BFE4psYI.d.mts +102 -0
  96. package/dist/types-BFE4psYI.d.mts.map +1 -0
  97. package/dist/types-Bv27tcT0.d.mts +230 -0
  98. package/dist/types-Bv27tcT0.d.mts.map +1 -0
  99. package/dist/types-BwkKyqpi.d.mts +253 -0
  100. package/dist/types-BwkKyqpi.d.mts.map +1 -0
  101. package/dist/types-CJrHMDV9.mjs +27 -0
  102. package/dist/types-CJrHMDV9.mjs.map +1 -0
  103. package/dist/types-ClbVc2rc.d.mts +117 -0
  104. package/dist/types-ClbVc2rc.d.mts.map +1 -0
  105. package/dist/types-D91N16Ym.d.mts +242 -0
  106. package/dist/types-D91N16Ym.d.mts.map +1 -0
  107. package/dist/types-DfLp_ibQ.d.mts +178 -0
  108. package/dist/types-DfLp_ibQ.d.mts.map +1 -0
  109. package/dist/types-DfjDgEoJ.d.mts +88 -0
  110. package/dist/types-DfjDgEoJ.d.mts.map +1 -0
  111. package/dist/types-Dp5Z9VBr.mjs +23 -0
  112. package/dist/types-Dp5Z9VBr.mjs.map +1 -0
  113. package/dist/types-hriBJTsU.d.mts +129 -0
  114. package/dist/types-hriBJTsU.d.mts.map +1 -0
  115. package/dist/types-rn6UuLL8.d.mts +184 -0
  116. package/dist/types-rn6UuLL8.d.mts.map +1 -0
  117. package/dist/whatsapp-CFp7ryR4.mjs +101 -0
  118. package/dist/whatsapp-CFp7ryR4.mjs.map +1 -0
  119. package/dist/youtube-Bs0fdY7H.mjs +98 -0
  120. package/dist/youtube-Bs0fdY7H.mjs.map +1 -0
  121. package/package.json +148 -0
@@ -0,0 +1,145 @@
1
+ import { d as ProviderMetadata, g as UploadResult, 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 LinkedInCredentials, c as LinkedInPostAnalytics, d as LinkedInUploadParams, f as MultiImagePostOptions, i as LinkedInCredentialData, l as LinkedInSetupStep, m as VideoUploadResult, n as ImagePostOptions, o as LinkedInOrganization, p as TextPostOptions, r as ImageUploadResult, s as LinkedInPost, t as ArticlePostOptions, u as LinkedInTokenData } from "../types-BFE4psYI.mjs";
3
+ import { z } from "zod";
4
+
5
+ //#region src/providers/linkedin/index.d.ts
6
+ declare class LinkedInProvider extends PlatformProvider {
7
+ defaultRedirectUri: string;
8
+ scopes: string[];
9
+ constructor(cfg?: ProviderConfig);
10
+ /**
11
+ * Make an authenticated request to LinkedIn API
12
+ * @private
13
+ * @param method - HTTP method
14
+ * @param url - Full URL
15
+ * @param accessToken - OAuth access token
16
+ * @param body - Request body
17
+ * @param extraHeaders - Additional headers
18
+ * @returns Response data
19
+ */
20
+ _api(method: string, url: string, accessToken: string, body?: Record<string, any> | Buffer | null, extraHeaders?: Record<string, string>): Promise<any>;
21
+ /**
22
+ * Get LinkedIn OAuth authorization URL
23
+ */
24
+ getAuthUrl(state: string, credentials?: LinkedInCredentials | Record<string, any>, _options?: AuthUrlOptions): string;
25
+ /**
26
+ * Exchange authorization code for tokens
27
+ */
28
+ exchangeCode(code: string, credentials?: LinkedInCredentials | Record<string, any>): Promise<OAuthTokens>;
29
+ /**
30
+ * Refresh access token
31
+ */
32
+ refreshToken(refreshToken: string, credentials?: LinkedInCredentials | Record<string, any>): Promise<OAuthTokens>;
33
+ /**
34
+ * Get authenticated user's profile info
35
+ */
36
+ getAccountInfo(accessToken: string): Promise<AccountInfo>;
37
+ /**
38
+ * Test credential validity
39
+ */
40
+ testCredential(credentialData: LinkedInCredentialData): Promise<TestResult>;
41
+ /**
42
+ * Create a text post on LinkedIn
43
+ * @param accessToken
44
+ * @param authorUrn - Person URN (urn:li:person:xxx) or Organization URN (urn:li:organization:xxx)
45
+ * @param text - Post text (up to 3000 characters)
46
+ * @param options
47
+ */
48
+ createTextPost(accessToken: string, authorUrn: string, text: string, options?: TextPostOptions): Promise<any>;
49
+ /**
50
+ * Create a link/article share post
51
+ * @param accessToken
52
+ * @param authorUrn
53
+ * @param text - Commentary text
54
+ * @param articleUrl - URL to share
55
+ * @param options
56
+ */
57
+ createArticlePost(accessToken: string, authorUrn: string, text: string, articleUrl: string, options?: ArticlePostOptions): Promise<any>;
58
+ /**
59
+ * Register an image upload and get the upload URL
60
+ * @private
61
+ * @param accessToken
62
+ * @param ownerUrn - Person or Organization URN
63
+ */
64
+ _registerImageUpload(accessToken: string, ownerUrn: string): Promise<ImageUploadResult>;
65
+ /**
66
+ * Upload an image binary to LinkedIn's upload URL
67
+ * @private
68
+ * @param uploadUrl - Upload URL from registerImageUpload
69
+ * @param accessToken
70
+ * @param imageBuffer - Image binary data
71
+ */
72
+ _uploadImageBinary(uploadUrl: string, accessToken: string, imageBuffer: Buffer): Promise<void>;
73
+ /**
74
+ * Create an image post on LinkedIn
75
+ * @param accessToken
76
+ * @param authorUrn
77
+ * @param text - Post commentary
78
+ * @param imageBuffer - Image binary data
79
+ * @param options
80
+ */
81
+ createImagePost(accessToken: string, authorUrn: string, text: string, imageBuffer: Buffer, options?: ImagePostOptions): Promise<any>;
82
+ /**
83
+ * Register a video upload and get the upload URL
84
+ * @private
85
+ * @param accessToken
86
+ * @param ownerUrn
87
+ * @param fileSizeBytes
88
+ */
89
+ _registerVideoUpload(accessToken: string, ownerUrn: string, fileSizeBytes: number): Promise<VideoUploadResult>;
90
+ /**
91
+ * Upload a video to a LinkedIn post
92
+ * LinkedIn video uploads: register → PUT binary → create post
93
+ *
94
+ * @param params
95
+ */
96
+ uploadVideo(params: LinkedInUploadParams): Promise<UploadResult>;
97
+ /**
98
+ * Delete a post
99
+ * @param accessToken
100
+ * @param postUrn - Post URN (urn:li:share:xxx or urn:li:ugcPost:xxx)
101
+ */
102
+ deletePost(accessToken: string, postUrn: string): Promise<any>;
103
+ /**
104
+ * Get a single post by its URN
105
+ * @param accessToken - OAuth access token
106
+ * @param postUrn - Post URN (e.g. urn:li:share:xxx or urn:li:ugcPost:xxx)
107
+ * @returns Parsed post data
108
+ * @see https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/posts-api#get-posts-by-id
109
+ */
110
+ getPost(accessToken: string, postUrn: string): Promise<LinkedInPost>;
111
+ /**
112
+ * Get analytics/social metadata for a post
113
+ *
114
+ * Uses the socialMetadata endpoint which returns reaction counts and comment counts.
115
+ * Note: Detailed impression/click analytics require the Marketing API (r_organization_social
116
+ * scope + ads access). This method returns what's available via the community management API.
117
+ *
118
+ * @param accessToken - OAuth access token
119
+ * @param postUrn - Post URN
120
+ * @returns Parsed analytics data (some fields may be null if unavailable)
121
+ */
122
+ getPostAnalytics(accessToken: string, postUrn: string): Promise<LinkedInPostAnalytics>;
123
+ /**
124
+ * Get organizations the authenticated user administers.
125
+ * Used to select a company page for posting as an organization.
126
+ */
127
+ getOrganizations(accessToken: string): Promise<LinkedInOrganization[]>;
128
+ /**
129
+ * Create a post with multiple images.
130
+ * Registers N image uploads, uploads N binaries, then creates a multi-image post.
131
+ *
132
+ * @param accessToken - OAuth access token
133
+ * @param authorUrn - Person or Organization URN
134
+ * @param text - Post commentary text
135
+ * @param imageBuffers - Array of image binaries
136
+ * @param options - Optional alt texts and visibility
137
+ */
138
+ createMultiImagePost(accessToken: string, authorUrn: string, text: string, imageBuffers: Buffer[], options?: MultiImagePostOptions): Promise<any>;
139
+ getCredentialZodSchema(): z.ZodType;
140
+ getCredentialSchema(): CredentialField[];
141
+ getMetadata(): ProviderMetadata;
142
+ }
143
+ //#endregion
144
+ export { type ArticlePostOptions, type ImagePostOptions, type ImageUploadResult, type LinkedInCredentialData, type LinkedInCredentials, type LinkedInOrganization, type LinkedInPost, type LinkedInPostAnalytics, LinkedInProvider, type LinkedInSetupStep, type LinkedInTokenData, type LinkedInUploadParams, type MultiImagePostOptions, type TextPostOptions, type VideoUploadResult };
145
+ //# sourceMappingURL=linkedin.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkedin.d.mts","names":[],"sources":["../../src/providers/linkedin/index.ts"],"mappings":";;;;;cAoGa,gBAAA,SAAyB,gBAAA;EAC7B,kBAAA;EACA,MAAA;cAEK,GAAA,GAAK,cAAA;EA+RkD;;;;;;;;;;EAhQ7D,IAAA,CACJ,MAAA,UACA,GAAA,UACA,WAAA,UACA,IAAA,GAAM,MAAA,gBAAsB,MAAA,SAC5B,YAAA,GAAc,MAAA,mBACb,OAAA;EAyaqD;;;EAhYxD,UAAA,CAAW,KAAA,UAAe,WAAA,GAAa,mBAAA,GAAsB,MAAA,eAA0B,QAAA,GAAW,cAAA;EAibpC;;;EAlaxD,YAAA,CAAa,IAAA,UAAc,WAAA,GAAa,mBAAA,GAAsB,MAAA,gBAA2B,OAAA,CAAQ,WAAA;EA4f5F;;;EA1dL,YAAA,CAAa,YAAA,UAAsB,WAAA,GAAa,mBAAA,GAAsB,MAAA,gBAA2B,OAAA,CAAQ,WAAA;EAyiBhG;;;EAvgBT,cAAA,CAAe,WAAA,WAAsB,OAAA,CAAQ,WAAA;EArKf;;;EAmL9B,cAAA,CAAe,cAAA,EAAgB,sBAAA,GAAyB,OAAA,CAAQ,UAAA;EA/KrD;;;;;;;EA8NX,cAAA,CACJ,WAAA,UACA,SAAA,UACA,IAAA,UACA,OAAA,GAAS,eAAA,GACR,OAAA;EAhMD;;;;;;;;EAwNI,iBAAA,CACJ,WAAA,UACA,SAAA,UACA,IAAA,UACA,UAAA,UACA,OAAA,GAAS,kBAAA,GACR,OAAA;EAnL+F;;;;;;EAiN5F,oBAAA,CAAqB,WAAA,UAAqB,QAAA,WAAmB,OAAA,CAAQ,iBAAA;EAlMoB;;;;;;;EAsNzF,kBAAA,CAAmB,SAAA,UAAmB,WAAA,UAAqB,WAAA,EAAa,MAAA,GAAS,OAAA;EApLwB;;;;;;;;EAkMzG,eAAA,CACJ,WAAA,UACA,SAAA,UACA,IAAA,UACA,WAAA,EAAa,MAAA,EACb,OAAA,GAAS,gBAAA,GACR,OAAA;EAxJmE;;;;;;;EA0LhE,oBAAA,CACJ,WAAA,UACA,QAAA,UACA,aAAA,WACC,OAAA,CAAQ,iBAAA;EAlHL;;;;;;EAwIA,WAAA,CAAY,MAAA,EAAQ,oBAAA,GAAuB,OAAA,CAAQ,YAAA;EAlItD;;;;;EA6MG,UAAA,CAAW,WAAA,UAAqB,OAAA,WAAkB,OAAA;EA3JlD;;;;;;;EAwKA,OAAA,CAAQ,WAAA,UAAqB,OAAA,WAAkB,OAAA,CAAQ,YAAA;EAxJ3D;;;;;;;;;;;EA4LI,gBAAA,CAAiB,WAAA,UAAqB,OAAA,WAAkB,OAAA,CAAQ,qBAAA;EAlJ3D;;;;EAgML,gBAAA,CAAiB,WAAA,WAAsB,OAAA,CAAQ,oBAAA;EA1KI;;;;;;;;;;EAiNnD,oBAAA,CACJ,WAAA,UACA,SAAA,UACA,IAAA,UACA,YAAA,EAAc,MAAA,IACd,OAAA,GAAS,qBAAA,GACR,OAAA;EAuDH,sBAAA,CAAA,GAA0B,CAAA,CAAE,OAAA;EAI5B,mBAAA,CAAA,GAAuB,eAAA;EAmBvB,WAAA,CAAA,GAAe,gBAAA;AAAA"}