instasave-sdk 1.2.1 → 1.2.5

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 (210) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +1 -1
  3. package/dist/{auth-fast.d.ts → auth/auth-manager.d.ts} +4 -12
  4. package/dist/auth/auth-manager.d.ts.map +1 -0
  5. package/dist/{auth-fast.js → auth/auth-manager.js} +26 -68
  6. package/dist/auth/auth-manager.js.map +1 -0
  7. package/dist/auth/index.d.ts +4 -0
  8. package/dist/auth/index.d.ts.map +1 -0
  9. package/dist/auth/index.js +8 -0
  10. package/dist/auth/index.js.map +1 -0
  11. package/dist/auth/session-manager.d.ts +8 -0
  12. package/dist/auth/session-manager.d.ts.map +1 -0
  13. package/dist/auth/session-manager.js +57 -0
  14. package/dist/auth/session-manager.js.map +1 -0
  15. package/dist/browser/browser-pool.d.ts.map +1 -0
  16. package/dist/{browser-pool.js → browser/browser-pool.js} +1 -1
  17. package/dist/browser/browser-pool.js.map +1 -0
  18. package/dist/browser/crawler-manager.d.ts.map +1 -0
  19. package/dist/{crawler-manager.js → browser/crawler-manager.js} +6 -6
  20. package/dist/browser/crawler-manager.js.map +1 -0
  21. package/dist/browser/index.d.ts +3 -0
  22. package/dist/browser/index.d.ts.map +1 -0
  23. package/dist/browser/index.js +8 -0
  24. package/dist/browser/index.js.map +1 -0
  25. package/dist/core/index.d.ts +3 -0
  26. package/dist/core/index.d.ts.map +1 -0
  27. package/dist/core/index.js +8 -0
  28. package/dist/core/index.js.map +1 -0
  29. package/dist/core/media-scraper.d.ts +107 -0
  30. package/dist/core/media-scraper.d.ts.map +1 -0
  31. package/dist/core/media-scraper.js +496 -0
  32. package/dist/core/media-scraper.js.map +1 -0
  33. package/dist/core/workflow-executor.d.ts +17 -0
  34. package/dist/core/workflow-executor.d.ts.map +1 -0
  35. package/dist/core/workflow-executor.js +146 -0
  36. package/dist/core/workflow-executor.js.map +1 -0
  37. package/dist/index.d.ts +13 -132
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +31 -635
  40. package/dist/index.js.map +1 -1
  41. package/dist/platforms/instagram/constants.d.ts +25 -0
  42. package/dist/platforms/instagram/constants.d.ts.map +1 -0
  43. package/dist/platforms/instagram/constants.js +34 -0
  44. package/dist/platforms/instagram/constants.js.map +1 -0
  45. package/dist/platforms/instagram/extractors/carousel.d.ts +21 -0
  46. package/dist/platforms/instagram/extractors/carousel.d.ts.map +1 -0
  47. package/dist/platforms/instagram/extractors/carousel.js +64 -0
  48. package/dist/platforms/instagram/extractors/carousel.js.map +1 -0
  49. package/dist/platforms/instagram/extractors/common.d.ts +17 -0
  50. package/dist/platforms/instagram/extractors/common.d.ts.map +1 -0
  51. package/dist/platforms/instagram/extractors/common.js +67 -0
  52. package/dist/platforms/instagram/extractors/common.js.map +1 -0
  53. package/dist/platforms/instagram/extractors/metadata.d.ts +24 -0
  54. package/dist/platforms/instagram/extractors/metadata.d.ts.map +1 -0
  55. package/dist/platforms/instagram/extractors/metadata.js +129 -0
  56. package/dist/platforms/instagram/extractors/metadata.js.map +1 -0
  57. package/dist/platforms/instagram/extractors/profile.d.ts +16 -0
  58. package/dist/platforms/instagram/extractors/profile.d.ts.map +1 -0
  59. package/dist/platforms/instagram/extractors/profile.js +54 -0
  60. package/dist/platforms/instagram/extractors/profile.js.map +1 -0
  61. package/dist/platforms/{instagram.d.ts → instagram/index.d.ts} +2 -2
  62. package/dist/platforms/instagram/index.d.ts.map +1 -0
  63. package/dist/platforms/instagram/index.js +53 -0
  64. package/dist/platforms/instagram/index.js.map +1 -0
  65. package/dist/plugins/index.d.ts +4 -0
  66. package/dist/plugins/index.d.ts.map +1 -0
  67. package/dist/plugins/index.js +21 -0
  68. package/dist/plugins/index.js.map +1 -0
  69. package/dist/plugins/plugin-manager.d.ts +50 -0
  70. package/dist/plugins/plugin-manager.d.ts.map +1 -0
  71. package/dist/{plugins.js → plugins/plugin-manager.js} +4 -4
  72. package/dist/plugins/plugin-manager.js.map +1 -0
  73. package/dist/types/auth.d.ts +15 -0
  74. package/dist/types/auth.d.ts.map +1 -0
  75. package/dist/types/auth.js +3 -0
  76. package/dist/types/auth.js.map +1 -0
  77. package/dist/types/browser.d.ts +28 -0
  78. package/dist/types/browser.d.ts.map +1 -0
  79. package/dist/types/browser.js +3 -0
  80. package/dist/types/browser.js.map +1 -0
  81. package/dist/{types.d.ts → types/common.d.ts} +15 -15
  82. package/dist/types/common.d.ts.map +1 -0
  83. package/dist/{types.js → types/common.js} +1 -1
  84. package/dist/types/common.js.map +1 -0
  85. package/dist/types/index.d.ts +7 -0
  86. package/dist/types/index.d.ts.map +1 -0
  87. package/dist/types/index.js +24 -0
  88. package/dist/types/index.js.map +1 -0
  89. package/dist/types/platform.d.ts +3 -0
  90. package/dist/types/platform.d.ts.map +1 -0
  91. package/dist/types/platform.js +20 -0
  92. package/dist/types/platform.js.map +1 -0
  93. package/dist/types/plugins.d.ts +61 -0
  94. package/dist/types/plugins.d.ts.map +1 -0
  95. package/dist/types/plugins.js +3 -0
  96. package/dist/types/plugins.js.map +1 -0
  97. package/dist/types/workflow.d.ts +17 -0
  98. package/dist/types/workflow.d.ts.map +1 -0
  99. package/dist/types/workflow.js +3 -0
  100. package/dist/types/workflow.js.map +1 -0
  101. package/dist/utils/config/config-parser.d.ts.map +1 -0
  102. package/dist/{config-parser.js → utils/config/config-parser.js} +5 -5
  103. package/dist/utils/config/config-parser.js.map +1 -0
  104. package/dist/utils/config/index.d.ts +2 -0
  105. package/dist/utils/config/index.d.ts.map +1 -0
  106. package/dist/utils/config/index.js +18 -0
  107. package/dist/utils/config/index.js.map +1 -0
  108. package/dist/{file-manager.d.ts → utils/file-manager.d.ts} +1 -1
  109. package/dist/utils/file-manager.d.ts.map +1 -0
  110. package/dist/utils/file-manager.js.map +1 -0
  111. package/dist/{health.d.ts → utils/health/health-checker.d.ts} +1 -1
  112. package/dist/utils/health/health-checker.d.ts.map +1 -0
  113. package/dist/{health.js → utils/health/health-checker.js} +1 -1
  114. package/dist/utils/health/health-checker.js.map +1 -0
  115. package/dist/utils/health/index.d.ts +2 -0
  116. package/dist/utils/health/index.d.ts.map +1 -0
  117. package/dist/utils/health/index.js +18 -0
  118. package/dist/utils/health/index.js.map +1 -0
  119. package/dist/utils/index.d.ts +8 -0
  120. package/dist/utils/index.d.ts.map +1 -0
  121. package/dist/utils/index.js +25 -0
  122. package/dist/utils/index.js.map +1 -0
  123. package/dist/utils/logger/index.d.ts +2 -0
  124. package/dist/utils/logger/index.d.ts.map +1 -0
  125. package/dist/utils/logger/index.js +18 -0
  126. package/dist/utils/logger/index.js.map +1 -0
  127. package/dist/utils/logger/logger.d.ts +44 -0
  128. package/dist/utils/logger/logger.d.ts.map +1 -0
  129. package/dist/utils/logger/logger.js +301 -0
  130. package/dist/utils/logger/logger.js.map +1 -0
  131. package/dist/utils/metrics/index.d.ts +2 -0
  132. package/dist/utils/metrics/index.d.ts.map +1 -0
  133. package/dist/utils/metrics/index.js +18 -0
  134. package/dist/utils/metrics/index.js.map +1 -0
  135. package/dist/{metrics.d.ts → utils/metrics/metrics-collector.d.ts} +1 -1
  136. package/dist/utils/metrics/metrics-collector.d.ts.map +1 -0
  137. package/dist/{metrics.js → utils/metrics/metrics-collector.js} +1 -1
  138. package/dist/utils/metrics/metrics-collector.js.map +1 -0
  139. package/dist/utils/progress-tracker.d.ts +11 -0
  140. package/dist/utils/progress-tracker.d.ts.map +1 -0
  141. package/dist/{progress-tracker.js → utils/progress-tracker.js} +0 -3
  142. package/dist/utils/progress-tracker.js.map +1 -0
  143. package/dist/utils/url-normalizer.d.ts.map +1 -0
  144. package/dist/utils/url-normalizer.js.map +1 -0
  145. package/package.json +1 -1
  146. package/dist/auth-fast.d.ts.map +0 -1
  147. package/dist/auth-fast.js.map +0 -1
  148. package/dist/auth.d.ts +0 -80
  149. package/dist/auth.d.ts.map +0 -1
  150. package/dist/auth.js +0 -370
  151. package/dist/auth.js.map +0 -1
  152. package/dist/benchmark.d.ts +0 -48
  153. package/dist/benchmark.d.ts.map +0 -1
  154. package/dist/benchmark.js +0 -125
  155. package/dist/benchmark.js.map +0 -1
  156. package/dist/browser-pool.d.ts.map +0 -1
  157. package/dist/browser-pool.js.map +0 -1
  158. package/dist/config-parser.d.ts.map +0 -1
  159. package/dist/config-parser.js.map +0 -1
  160. package/dist/crawler-manager.d.ts.map +0 -1
  161. package/dist/crawler-manager.js.map +0 -1
  162. package/dist/file-manager.d.ts.map +0 -1
  163. package/dist/file-manager.js.map +0 -1
  164. package/dist/health.d.ts.map +0 -1
  165. package/dist/health.js.map +0 -1
  166. package/dist/logger.d.ts +0 -22
  167. package/dist/logger.d.ts.map +0 -1
  168. package/dist/logger.js +0 -151
  169. package/dist/logger.js.map +0 -1
  170. package/dist/memory.d.ts +0 -56
  171. package/dist/memory.d.ts.map +0 -1
  172. package/dist/memory.js +0 -144
  173. package/dist/memory.js.map +0 -1
  174. package/dist/metrics.d.ts.map +0 -1
  175. package/dist/metrics.js.map +0 -1
  176. package/dist/parallel.d.ts +0 -59
  177. package/dist/parallel.d.ts.map +0 -1
  178. package/dist/parallel.js +0 -202
  179. package/dist/parallel.js.map +0 -1
  180. package/dist/platforms/instagram.d.ts.map +0 -1
  181. package/dist/platforms/instagram.js +0 -263
  182. package/dist/platforms/instagram.js.map +0 -1
  183. package/dist/plugins.d.ts +0 -132
  184. package/dist/plugins.d.ts.map +0 -1
  185. package/dist/plugins.js.map +0 -1
  186. package/dist/progress-tracker.d.ts +0 -15
  187. package/dist/progress-tracker.d.ts.map +0 -1
  188. package/dist/progress-tracker.js.map +0 -1
  189. package/dist/smart-logger.d.ts +0 -64
  190. package/dist/smart-logger.d.ts.map +0 -1
  191. package/dist/smart-logger.js +0 -149
  192. package/dist/smart-logger.js.map +0 -1
  193. package/dist/test-integration.d.ts +0 -2
  194. package/dist/test-integration.d.ts.map +0 -1
  195. package/dist/test-integration.js +0 -46
  196. package/dist/test-integration.js.map +0 -1
  197. package/dist/types.d.ts.map +0 -1
  198. package/dist/types.js.map +0 -1
  199. package/dist/url-normalizer.d.ts.map +0 -1
  200. package/dist/url-normalizer.js.map +0 -1
  201. package/dist/worker.d.ts +0 -2
  202. package/dist/worker.d.ts.map +0 -1
  203. package/dist/worker.js +0 -23
  204. package/dist/worker.js.map +0 -1
  205. /package/dist/{browser-pool.d.ts → browser/browser-pool.d.ts} +0 -0
  206. /package/dist/{crawler-manager.d.ts → browser/crawler-manager.d.ts} +0 -0
  207. /package/dist/{config-parser.d.ts → utils/config/config-parser.d.ts} +0 -0
  208. /package/dist/{file-manager.js → utils/file-manager.js} +0 -0
  209. /package/dist/{url-normalizer.d.ts → utils/url-normalizer.d.ts} +0 -0
  210. /package/dist/{url-normalizer.js → utils/url-normalizer.js} +0 -0
package/dist/auth.d.ts DELETED
@@ -1,80 +0,0 @@
1
- /**
2
- * Authentication module for Instagram login and session management
3
- */
4
- import { Page } from 'puppeteer';
5
- /**
6
- * Login credentials
7
- */
8
- export interface LoginCredentials {
9
- username: string;
10
- password: string;
11
- }
12
- /**
13
- * Cookie data structure
14
- */
15
- export interface Cookie {
16
- name: string;
17
- value: string;
18
- domain: string;
19
- path: string;
20
- expires?: number;
21
- httpOnly?: boolean;
22
- secure?: boolean;
23
- sameSite?: 'Strict' | 'Lax' | 'None';
24
- }
25
- /**
26
- * Session data with cookies and metadata
27
- */
28
- export interface SessionData {
29
- cookies: Cookie[];
30
- expiresAt: number;
31
- username: string;
32
- createdAt: number;
33
- }
34
- /**
35
- * Authentication manager for handling login and session persistence
36
- */
37
- export declare class AuthManager {
38
- private session;
39
- private defaultSessionPath;
40
- /**
41
- * Login to Instagram with username and password
42
- * @param page - Puppeteer page instance
43
- * @param credentials - Login credentials
44
- * @returns Promise<boolean> - Success status
45
- */
46
- login(page: Page, credentials: LoginCredentials): Promise<boolean>;
47
- /**
48
- * Logout and clear session
49
- */
50
- logout(): Promise<void>;
51
- /**
52
- * Check if user is authenticated
53
- */
54
- isAuthenticated(): boolean;
55
- /**
56
- * Save session to file
57
- * @param path - File path (default: ./storage/session.json)
58
- */
59
- saveSession(path?: string): Promise<void>;
60
- /**
61
- * Load session from file
62
- * @param path - File path (default: ./storage/session.json)
63
- * @returns Promise<boolean> - Success status
64
- */
65
- loadSession(path?: string): Promise<boolean>;
66
- /**
67
- * Apply cookies to page
68
- * @param page - Puppeteer page instance
69
- */
70
- applyCookies(page: Page): Promise<void>;
71
- /**
72
- * Get current session data
73
- */
74
- getSession(): SessionData | null;
75
- /**
76
- * Sleep helper
77
- */
78
- private sleep;
79
- }
80
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,kBAAkB,CAA4B;IAEtD;;;;;OAKG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA0SxE;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B;;OAEG;IACH,eAAe,IAAI,OAAO;IAY1B;;;OAGG;IACG,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/C;;;;OAIG;IACG,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BlD;;;OAGG;IACG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAc7C;;OAEG;IACH,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd"}
package/dist/auth.js DELETED
@@ -1,370 +0,0 @@
1
- "use strict";
2
- /**
3
- * Authentication module for Instagram login and session management
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AuthManager = void 0;
7
- const fs_1 = require("fs");
8
- /**
9
- * Authentication manager for handling login and session persistence
10
- */
11
- class AuthManager {
12
- constructor() {
13
- this.session = null;
14
- this.defaultSessionPath = './storage/session.json';
15
- }
16
- /**
17
- * Login to Instagram with username and password
18
- * @param page - Puppeteer page instance
19
- * @param credentials - Login credentials
20
- * @returns Promise<boolean> - Success status
21
- */
22
- async login(page, credentials) {
23
- try {
24
- console.log('🔐 Starting login process...');
25
- console.log('🔐 Page object:', !!page);
26
- console.log('🔐 Credentials:', { username: credentials.username, hasPassword: !!credentials.password });
27
- // Navigate to Instagram login page
28
- console.log('🔐 Navigating to Instagram login page...');
29
- try {
30
- await page.goto('https://www.instagram.com/accounts/login/', {
31
- waitUntil: 'domcontentloaded',
32
- timeout: 30000
33
- });
34
- console.log('🔐 Login page loaded successfully');
35
- // Take screenshot for debugging
36
- await page.screenshot({ path: './debug-login-page.png', fullPage: true });
37
- console.log('🔐 Screenshot saved to debug-login-page.png');
38
- // Check what's actually on the page
39
- const pageTitle = await page.title();
40
- console.log('🔐 Page title:', pageTitle);
41
- const pageUrl = page.url();
42
- console.log('🔐 Current URL:', pageUrl);
43
- // Check for common elements
44
- const bodyText = await page.evaluate(() => document.body.innerText.substring(0, 500));
45
- console.log('🔐 Page content preview:', bodyText);
46
- }
47
- catch (gotoError) {
48
- console.error('🔐 Failed to navigate to login page:', gotoError.message);
49
- throw gotoError;
50
- }
51
- // Handle cookie consent dialog first
52
- try {
53
- console.log('🔐 Checking for cookie consent dialog...');
54
- // Look for cookie consent buttons by text content
55
- const cookieButtonFound = await page.evaluate(() => {
56
- const buttons = Array.from(document.querySelectorAll('button, [role="button"]'));
57
- const button = buttons.find(btn => {
58
- const text = btn.textContent?.toLowerCase() || '';
59
- return text.includes('allow') || text.includes('accept') || text.includes('ok') || text.includes('agree');
60
- });
61
- if (button && button instanceof HTMLElement) {
62
- button.click();
63
- return true;
64
- }
65
- return false;
66
- });
67
- if (cookieButtonFound) {
68
- console.log('🔐 Found and clicked cookie consent button');
69
- await this.sleep(2000);
70
- console.log('🔐 Cookie consent accepted');
71
- }
72
- else {
73
- console.log('🔐 No cookie consent dialog found');
74
- }
75
- }
76
- catch (e) {
77
- console.log('🔐 Cookie consent handling failed, continuing...');
78
- }
79
- await this.sleep(2000);
80
- // Wait for login form - try multiple selectors
81
- console.log('🔐 Waiting for username input...');
82
- const possibleSelectors = [
83
- 'input[name="username"]',
84
- 'input[aria-label*="username"]',
85
- 'input[aria-label*="Username"]',
86
- 'input[placeholder*="username"]',
87
- 'input[placeholder*="Username"]',
88
- 'input[type="text"]'
89
- ];
90
- let usernameInput = null;
91
- for (const selector of possibleSelectors) {
92
- try {
93
- console.log(`🔐 Trying selector: ${selector}`);
94
- await page.waitForSelector(selector, { timeout: 2000 });
95
- usernameInput = selector;
96
- console.log(`🔐 Found username input with selector: ${selector}`);
97
- break;
98
- }
99
- catch (e) {
100
- console.log(`🔐 Selector ${selector} not found`);
101
- }
102
- }
103
- if (!usernameInput) {
104
- throw new Error('Could not find username input field');
105
- }
106
- // Fill in credentials
107
- console.log('🔐 Filling username...');
108
- await page.type(usernameInput, credentials.username, { delay: 100 });
109
- console.log('🔐 Looking for password input...');
110
- const possiblePasswordSelectors = [
111
- 'input[name="password"]',
112
- 'input[type="password"]',
113
- 'input[aria-label*="password"]',
114
- 'input[aria-label*="Password"]',
115
- 'input[placeholder*="password"]',
116
- 'input[placeholder*="Password"]'
117
- ];
118
- let passwordInput = null;
119
- for (const selector of possiblePasswordSelectors) {
120
- try {
121
- console.log(`🔐 Trying password selector: ${selector}`);
122
- await page.waitForSelector(selector, { timeout: 2000 });
123
- passwordInput = selector;
124
- console.log(`🔐 Found password input with selector: ${selector}`);
125
- break;
126
- }
127
- catch (e) {
128
- console.log(`🔐 Password selector ${selector} not found`);
129
- }
130
- }
131
- if (!passwordInput) {
132
- throw new Error('Could not find password input field');
133
- }
134
- console.log('🔐 Filling password...');
135
- await page.type(passwordInput, credentials.password, { delay: 100 });
136
- await this.sleep(500);
137
- // Click login button - be very specific to avoid Facebook login
138
- console.log('🔐 Clicking login button...');
139
- // First, try to find the main login button by looking at the form structure
140
- const mainLoginButton = await page.evaluate(() => {
141
- // Look for the form that contains username and password inputs
142
- const usernameInput = document.querySelector('input[type="text"]');
143
- const passwordInput = document.querySelector('input[type="password"]');
144
- if (usernameInput && passwordInput) {
145
- // Find the closest form or container
146
- let form = usernameInput.closest('form');
147
- if (!form) {
148
- form = usernameInput.closest('div');
149
- }
150
- if (form) {
151
- // Look for submit button within this form/container
152
- const submitBtn = form.querySelector('button[type="submit"]');
153
- if (submitBtn) {
154
- const text = submitBtn.textContent?.toLowerCase() || '';
155
- // Make sure it's not Facebook login
156
- if (!text.includes('facebook')) {
157
- submitBtn.click();
158
- return true;
159
- }
160
- }
161
- // If no submit button, look for any button with "log in" text
162
- const buttons = Array.from(form.querySelectorAll('button, [role="button"]'));
163
- const loginBtn = buttons.find(btn => {
164
- const text = btn.textContent?.toLowerCase() || '';
165
- return text.includes('log in') && !text.includes('facebook');
166
- });
167
- if (loginBtn) {
168
- loginBtn.click();
169
- return true;
170
- }
171
- }
172
- }
173
- return false;
174
- });
175
- if (mainLoginButton) {
176
- console.log('🔐 Successfully clicked main login button');
177
- }
178
- else {
179
- throw new Error('Could not find main login button (avoiding Facebook login)');
180
- }
181
- // Wait a bit for any immediate response
182
- await this.sleep(2000);
183
- // Wait for navigation
184
- console.log('🔐 Waiting for navigation...');
185
- try {
186
- await page.waitForNavigation({ waitUntil: 'domcontentloaded', timeout: 30000 });
187
- console.log('🔐 Navigation completed');
188
- }
189
- catch (navError) {
190
- console.log('🔐 Navigation timeout - checking current page...');
191
- // Take another screenshot to see what happened
192
- await page.screenshot({ path: './debug-after-login.png', fullPage: true });
193
- console.log('🔐 After-login screenshot saved to debug-after-login.png');
194
- const currentUrl = page.url();
195
- console.log('🔐 Current URL after login attempt:', currentUrl);
196
- // Check for error messages
197
- const errorElements = await page.$$eval('[role="alert"], .error, [data-testid*="error"], div:has-text("Sorry"), div:has-text("incorrect"), div:has-text("try again")', elements => elements.map(el => el.textContent?.trim()).filter(Boolean)).catch(() => []);
198
- // Also check for any red text or error styling
199
- const redTextElements = await page.$$eval('[style*="color: rgb(237, 73, 86)"], [style*="color:#ed4956"], .error-text', elements => elements.map(el => el.textContent?.trim()).filter(Boolean)).catch(() => []);
200
- // Get all visible text to analyze
201
- const allText = await page.evaluate(() => {
202
- const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT);
203
- const textNodes = [];
204
- let node;
205
- while (node = walker.nextNode()) {
206
- if (node.textContent?.trim() && node.parentElement?.offsetParent !== null) {
207
- textNodes.push(node.textContent.trim());
208
- }
209
- }
210
- return textNodes.join(' ');
211
- });
212
- console.log('🔐 All visible text on page:', allText.substring(0, 1000));
213
- if (errorElements.length > 0) {
214
- console.log('🔐 Found error messages:', errorElements);
215
- throw new Error(`Login failed: ${errorElements.join(', ')}`);
216
- }
217
- if (redTextElements.length > 0) {
218
- console.log('🔐 Found red text (possible errors):', redTextElements);
219
- }
220
- // If we're still on login page, it might be a different issue
221
- if (currentUrl.includes('/accounts/login/')) {
222
- throw new Error('Login failed: Still on login page after submission');
223
- }
224
- // If we're somewhere else, continue (might be successful)
225
- console.log('🔐 Navigation might have succeeded despite timeout');
226
- }
227
- await this.sleep(2000);
228
- // Handle "Save Your Login Info?" modal
229
- try {
230
- const saveInfoButton = await page.$('button::-p-text(Not now)');
231
- if (saveInfoButton) {
232
- await saveInfoButton.click();
233
- await this.sleep(1000);
234
- }
235
- }
236
- catch (e) {
237
- console.log('⚠️ Save login info modal not found (might be skipped)');
238
- }
239
- // Handle "Turn on Notifications?" modal
240
- try {
241
- const notifButton = await page.$('button::-p-text(Not Now)');
242
- if (notifButton) {
243
- await notifButton.click();
244
- await this.sleep(1000);
245
- }
246
- }
247
- catch (e) {
248
- console.log('⚠️ Notifications modal not found (might be skipped)');
249
- }
250
- // Get cookies
251
- const cookies = await page.cookies();
252
- // Check if login was successful by looking for session cookie
253
- const sessionCookie = cookies.find(c => c.name === 'sessionid');
254
- if (!sessionCookie) {
255
- console.error('❌ Login failed - no session cookie found');
256
- return false;
257
- }
258
- // Store session
259
- this.session = {
260
- cookies: cookies,
261
- expiresAt: Date.now() + (30 * 24 * 60 * 60 * 1000), // 30 days
262
- username: credentials.username,
263
- createdAt: Date.now()
264
- };
265
- console.log('✅ Login successful!');
266
- return true;
267
- }
268
- catch (error) {
269
- console.error('❌ Login failed:', error);
270
- return false;
271
- }
272
- }
273
- /**
274
- * Logout and clear session
275
- */
276
- async logout() {
277
- this.session = null;
278
- console.log('✅ Logged out successfully');
279
- }
280
- /**
281
- * Check if user is authenticated
282
- */
283
- isAuthenticated() {
284
- if (!this.session)
285
- return false;
286
- // Check if session is expired
287
- if (Date.now() > this.session.expiresAt) {
288
- this.session = null;
289
- return false;
290
- }
291
- return true;
292
- }
293
- /**
294
- * Save session to file
295
- * @param path - File path (default: ./storage/session.json)
296
- */
297
- async saveSession(path) {
298
- if (!this.session) {
299
- throw new Error('No active session to save');
300
- }
301
- const filepath = path || this.defaultSessionPath;
302
- try {
303
- (0, fs_1.writeFileSync)(filepath, JSON.stringify(this.session, null, 2));
304
- console.log(`✅ Session saved to ${filepath}`);
305
- }
306
- catch (error) {
307
- console.error('❌ Failed to save session:', error);
308
- throw new Error(`Failed to save session: ${error}`);
309
- }
310
- }
311
- /**
312
- * Load session from file
313
- * @param path - File path (default: ./storage/session.json)
314
- * @returns Promise<boolean> - Success status
315
- */
316
- async loadSession(path) {
317
- const filepath = path || this.defaultSessionPath;
318
- if (!(0, fs_1.existsSync)(filepath)) {
319
- console.log('⚠️ No saved session found');
320
- return false;
321
- }
322
- try {
323
- const data = (0, fs_1.readFileSync)(filepath, 'utf-8');
324
- const session = JSON.parse(data);
325
- // Check if session is expired
326
- if (Date.now() > session.expiresAt) {
327
- console.log('⚠️ Saved session is expired');
328
- return false;
329
- }
330
- this.session = session;
331
- console.log(`✅ Session loaded from ${filepath}`);
332
- return true;
333
- }
334
- catch (error) {
335
- console.error('❌ Failed to load session:', error);
336
- return false;
337
- }
338
- }
339
- /**
340
- * Apply cookies to page
341
- * @param page - Puppeteer page instance
342
- */
343
- async applyCookies(page) {
344
- if (!this.session) {
345
- throw new Error('No active session');
346
- }
347
- try {
348
- await page.setCookie(...this.session.cookies);
349
- console.log('✅ Cookies applied to page');
350
- }
351
- catch (error) {
352
- console.error('❌ Failed to apply cookies:', error);
353
- throw new Error(`Failed to apply cookies: ${error}`);
354
- }
355
- }
356
- /**
357
- * Get current session data
358
- */
359
- getSession() {
360
- return this.session;
361
- }
362
- /**
363
- * Sleep helper
364
- */
365
- sleep(ms) {
366
- return new Promise(resolve => setTimeout(resolve, ms));
367
- }
368
- }
369
- exports.AuthManager = AuthManager;
370
- //# sourceMappingURL=auth.js.map
package/dist/auth.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- interface BenchmarkResult {
2
- testName: string;
3
- duration: number;
4
- memoryUsed: number;
5
- success: boolean;
6
- imagesExtracted: number;
7
- error?: string;
8
- }
9
- interface BenchmarkSuite {
10
- totalTests: number;
11
- passedTests: number;
12
- failedTests: number;
13
- averageDuration: number;
14
- totalMemoryUsed: number;
15
- results: BenchmarkResult[];
16
- }
17
- /**
18
- * Performance benchmark suite for InstaSave SDK
19
- * @class BenchmarkRunner
20
- */
21
- export declare class BenchmarkRunner {
22
- private scraper;
23
- private results;
24
- constructor();
25
- /**
26
- * Runs a single benchmark test
27
- * @param testName - Name of the test
28
- * @param testFn - Test function to execute
29
- * @returns Promise<BenchmarkResult>
30
- */
31
- runBenchmark(testName: string, testFn: () => Promise<any>): Promise<BenchmarkResult>;
32
- /**
33
- * Runs complete benchmark suite
34
- * @returns Promise<BenchmarkSuite>
35
- */
36
- runSuite(): Promise<BenchmarkSuite>;
37
- /**
38
- * Generates benchmark report
39
- * @returns BenchmarkSuite
40
- */
41
- private generateReport;
42
- /**
43
- * Prints benchmark results to console
44
- */
45
- printResults(): void;
46
- }
47
- export {};
48
- //# sourceMappingURL=benchmark.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"AAIA,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,OAAO,CAAyB;;IAMxC;;;;;OAKG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAqC1F;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IA8BzC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,YAAY,IAAI,IAAI;CAoBrB"}
package/dist/benchmark.js DELETED
@@ -1,125 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BenchmarkRunner = void 0;
4
- const logger_1 = require("./logger");
5
- const index_1 = require("./index");
6
- const perf_hooks_1 = require("perf_hooks");
7
- /**
8
- * Performance benchmark suite for InstaSave SDK
9
- * @class BenchmarkRunner
10
- */
11
- class BenchmarkRunner {
12
- constructor() {
13
- this.results = [];
14
- this.scraper = new index_1.MediaScraper();
15
- }
16
- /**
17
- * Runs a single benchmark test
18
- * @param testName - Name of the test
19
- * @param testFn - Test function to execute
20
- * @returns Promise<BenchmarkResult>
21
- */
22
- async runBenchmark(testName, testFn) {
23
- const startTime = perf_hooks_1.performance.now();
24
- const startMemory = process.memoryUsage().heapUsed;
25
- try {
26
- const result = await testFn();
27
- const endTime = perf_hooks_1.performance.now();
28
- const endMemory = process.memoryUsage().heapUsed;
29
- const benchmarkResult = {
30
- testName,
31
- duration: endTime - startTime,
32
- memoryUsed: endMemory - startMemory,
33
- success: true,
34
- imagesExtracted: result?.media?.length || 0
35
- };
36
- this.results.push(benchmarkResult);
37
- return benchmarkResult;
38
- }
39
- catch (error) {
40
- const endTime = perf_hooks_1.performance.now();
41
- const endMemory = process.memoryUsage().heapUsed;
42
- const benchmarkResult = {
43
- testName,
44
- duration: endTime - startTime,
45
- memoryUsed: endMemory - startMemory,
46
- success: false,
47
- imagesExtracted: 0,
48
- error: error instanceof Error ? error.message : String(error)
49
- };
50
- this.results.push(benchmarkResult);
51
- return benchmarkResult;
52
- }
53
- }
54
- /**
55
- * Runs complete benchmark suite
56
- * @returns Promise<BenchmarkSuite>
57
- */
58
- async runSuite() {
59
- logger_1.log.info('🚀 Starting InstaSave SDK Benchmark Suite...\n');
60
- // Test 1: Single post scraping
61
- await this.runBenchmark('Single Post Scraping', async () => {
62
- return await this.scraper.scrape('https://www.instagram.com/p/test/');
63
- });
64
- // Test 2: Multiple posts (simulated)
65
- await this.runBenchmark('Multiple Posts (3x)', async () => {
66
- const promises = [
67
- this.scraper.scrape('https://www.instagram.com/p/test1/'),
68
- this.scraper.scrape('https://www.instagram.com/p/test2/'),
69
- this.scraper.scrape('https://www.instagram.com/p/test3/')
70
- ];
71
- return await Promise.all(promises);
72
- });
73
- // Test 3: Memory stress test
74
- await this.runBenchmark('Memory Stress Test', async () => {
75
- const results = [];
76
- for (let i = 0; i < 10; i++) {
77
- results.push(await this.scraper.scrape(`https://www.instagram.com/p/test${i}/`));
78
- }
79
- return results;
80
- });
81
- return this.generateReport();
82
- }
83
- /**
84
- * Generates benchmark report
85
- * @returns BenchmarkSuite
86
- */
87
- generateReport() {
88
- const totalTests = this.results.length;
89
- const passedTests = this.results.filter(r => r.success).length;
90
- const failedTests = totalTests - passedTests;
91
- const averageDuration = this.results.reduce((sum, r) => sum + r.duration, 0) / totalTests;
92
- const totalMemoryUsed = this.results.reduce((sum, r) => sum + r.memoryUsed, 0);
93
- return {
94
- totalTests,
95
- passedTests,
96
- failedTests,
97
- averageDuration,
98
- totalMemoryUsed,
99
- results: this.results
100
- };
101
- }
102
- /**
103
- * Prints benchmark results to console
104
- */
105
- printResults() {
106
- const report = this.generateReport();
107
- logger_1.log.info('📊 Benchmark Results:');
108
- logger_1.log.info('='.repeat(50));
109
- logger_1.log.info(`Total Tests: ${report.totalTests}`);
110
- logger_1.log.info(`Passed: ${report.passedTests}`);
111
- logger_1.log.info(`Failed: ${report.failedTests}`);
112
- logger_1.log.info(`Average Duration: ${report.averageDuration.toFixed(2)}ms`);
113
- logger_1.log.info(`Total Memory Used: ${(report.totalMemoryUsed / 1024 / 1024).toFixed(2)}MB`);
114
- logger_1.log.info('='.repeat(50));
115
- report.results.forEach(result => {
116
- const status = result.success ? '✅' : '❌';
117
- logger_1.log.info(`${status} ${result.testName}: ${result.duration.toFixed(2)}ms`);
118
- if (result.error) {
119
- logger_1.log.info(` Error: ${result.error}`);
120
- }
121
- });
122
- }
123
- }
124
- exports.BenchmarkRunner = BenchmarkRunner;
125
- //# sourceMappingURL=benchmark.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser-pool.d.ts","sourceRoot":"","sources":["../src/browser-pool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAG1C,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAiB;gBAE9B,OAAO,GAAE,kBAAuB;IAW5C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IA8B1C;;OAEG;IACH,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAMlD;;OAEG;YACW,aAAa;IAU3B;;OAEG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;YACW,gBAAgB;IAgB9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;YACW,gBAAgB;IAmB9B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB9B;;OAEG;IACH,QAAQ,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;CAOhE"}