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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,+BAAwD;AAA/C,oGAAA,YAAY,OAAA;AAAE,wGAAA,gBAAgB,OAAA;AACvC,+BAAwE;AAA/D,uGAAA,eAAe,OAAA;AACxB,qCAAgH;AAAvG,wGAAA,aAAa,OAAA;AACtB,2CAAmD;AAA1C,2GAAA,gBAAgB,OAAA;AACzB,yCAA+C;AAAtC,uGAAA,aAAa,OAAA;AACtB,yCAAgD;AAAvC,8GAAA,iBAAiB,OAAA;AAC1B,6DAA4F;AAAnF,mHAAA,eAAe,OAAA;AACxB,qDAAmD;AAA1C,2GAAA,WAAW,OAAA;AACpB,yCAA+D;AAAtD,sGAAA,YAAY,OAAA;AACrB,yDAAuD;AAA9C,+GAAA,aAAa,OAAA;AACtB,6DAA2D;AAAlD,iHAAA,cAAc,OAAA;AACvB,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AACpB,yCAAkD;AAA5B,6FAAA,GAAG,OAAA;AAEzB,iDAAiD;AACjD,0CAAwB;AAExB,sBAAsB;AACtB,8CAA4B"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Instagram plugin constants
3
+ */
4
+ export declare const URL_PATTERNS: RegExp[];
5
+ export declare const META_SELECTORS: {
6
+ readonly TWITTER_TITLE: "meta[name=\"twitter:title\"]";
7
+ readonly OG_TITLE: "meta[property=\"og:title\"]";
8
+ readonly JSON_SCRIPTS: "script[type=\"application/json\"]";
9
+ };
10
+ export declare const REGEX_PATTERNS: {
11
+ readonly POST_ID: RegExp;
12
+ readonly TWITTER_TITLE_FORMAT1: RegExp;
13
+ readonly TWITTER_TITLE_FORMAT2: RegExp;
14
+ readonly OG_TITLE_INSTAGRAM: RegExp;
15
+ readonly PROFILE_LINK: RegExp;
16
+ readonly TIME_AGO: RegExp;
17
+ };
18
+ export declare const EXCLUDED_PATHS: readonly ["explore", "reels", "direct", "accounts"];
19
+ export declare const JSON_KEYS: {
20
+ readonly CAROUSEL_MEDIA: "carousel_media";
21
+ readonly EDGE_MEDIA_TO_CAPTION: "edge_media_to_caption";
22
+ readonly EDGE_MEDIA_PREVIEW_LIKE: "edge_media_preview_like";
23
+ readonly EDGE_MEDIA_TO_COMMENT: "edge_media_to_comment";
24
+ };
25
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/platforms/instagram/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,YAAY,UAIxB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX,eAAO,MAAM,cAAc,qDAEjB,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * Instagram plugin constants
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.JSON_KEYS = exports.EXCLUDED_PATHS = exports.REGEX_PATTERNS = exports.META_SELECTORS = exports.URL_PATTERNS = void 0;
7
+ exports.URL_PATTERNS = [
8
+ /instagram\.com\/p\//,
9
+ /instagram\.com\/[^\/]+\/p\//,
10
+ /instagram\.com\/reel\//,
11
+ ];
12
+ exports.META_SELECTORS = {
13
+ TWITTER_TITLE: 'meta[name="twitter:title"]',
14
+ OG_TITLE: 'meta[property="og:title"]',
15
+ JSON_SCRIPTS: 'script[type="application/json"]',
16
+ };
17
+ exports.REGEX_PATTERNS = {
18
+ POST_ID: /\/(p|reel)\/([^\/]+)/,
19
+ TWITTER_TITLE_FORMAT1: /^(.+?)\s+\((@[^)]+)\)/,
20
+ TWITTER_TITLE_FORMAT2: /^(@[a-zA-Z0-9._]+)/,
21
+ OG_TITLE_INSTAGRAM: /^(.+?)\s+on Instagram/,
22
+ PROFILE_LINK: /^\/[a-zA-Z0-9._]+\/$/,
23
+ TIME_AGO: /\d+\s+(hour|minute|day|week|month)s?\s+ago/i,
24
+ };
25
+ exports.EXCLUDED_PATHS = [
26
+ 'explore', 'reels', 'direct', 'accounts'
27
+ ];
28
+ exports.JSON_KEYS = {
29
+ CAROUSEL_MEDIA: 'carousel_media',
30
+ EDGE_MEDIA_TO_CAPTION: 'edge_media_to_caption',
31
+ EDGE_MEDIA_PREVIEW_LIKE: 'edge_media_preview_like',
32
+ EDGE_MEDIA_TO_COMMENT: 'edge_media_to_comment',
33
+ };
34
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/platforms/instagram/constants.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,YAAY,GAAG;IAC1B,qBAAqB;IACrB,6BAA6B;IAC7B,wBAAwB;CACzB,CAAC;AAEW,QAAA,cAAc,GAAG;IAC5B,aAAa,EAAE,4BAA4B;IAC3C,QAAQ,EAAE,2BAA2B;IACrC,YAAY,EAAE,iCAAiC;CACvC,CAAC;AAEE,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,sBAAsB;IAC/B,qBAAqB,EAAE,uBAAuB;IAC9C,qBAAqB,EAAE,oBAAoB;IAC3C,kBAAkB,EAAE,uBAAuB;IAC3C,YAAY,EAAE,sBAAsB;IACpC,QAAQ,EAAE,6CAA6C;CAC/C,CAAC;AAEE,QAAA,cAAc,GAAG;IAC5B,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU;CAChC,CAAC;AAEE,QAAA,SAAS,GAAG;IACvB,cAAc,EAAE,gBAAgB;IAChC,qBAAqB,EAAE,uBAAuB;IAC9C,uBAAuB,EAAE,yBAAyB;IAClD,qBAAqB,EAAE,uBAAuB;CACtC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Carousel extractor pro Instagram media
3
+ */
4
+ import { Page } from 'puppeteer';
5
+ export interface CarouselItem {
6
+ index: number;
7
+ url: string;
8
+ width?: number;
9
+ height?: number;
10
+ }
11
+ export interface CarouselData {
12
+ items: CarouselItem[];
13
+ count: number;
14
+ }
15
+ /**
16
+ * CarouselExtractor pro extrakci media dat
17
+ */
18
+ export declare class CarouselExtractor {
19
+ extract(page: Page): Promise<CarouselData>;
20
+ }
21
+ //# sourceMappingURL=carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../../../src/platforms/instagram/extractors/carousel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,iBAAiB;IACtB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;CA0DjD"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /**
3
+ * Carousel extractor pro Instagram media
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CarouselExtractor = void 0;
7
+ /**
8
+ * CarouselExtractor pro extrakci media dat
9
+ */
10
+ class CarouselExtractor {
11
+ async extract(page) {
12
+ // Původní funkční přístup z git historie
13
+ const result = await page.evaluate(() => {
14
+ const scripts = document.querySelectorAll('script[type="application/json"]');
15
+ for (const script of scripts) {
16
+ try {
17
+ const text = script.textContent;
18
+ if (!text?.includes('carousel_media'))
19
+ continue;
20
+ const json = JSON.parse(text);
21
+ // Recursively search for carousel_media
22
+ function findCarouselMedia(obj) {
23
+ if (!obj || typeof obj !== 'object')
24
+ return null;
25
+ if (obj.carousel_media && Array.isArray(obj.carousel_media)) {
26
+ return obj.carousel_media;
27
+ }
28
+ for (const key in obj) {
29
+ const result = findCarouselMedia(obj[key]);
30
+ if (result)
31
+ return result;
32
+ }
33
+ return null;
34
+ }
35
+ const carouselMedia = findCarouselMedia(json);
36
+ if (carouselMedia) {
37
+ return carouselMedia;
38
+ }
39
+ }
40
+ catch (e) {
41
+ // Continue to next script
42
+ }
43
+ }
44
+ return null;
45
+ });
46
+ if (!result) {
47
+ return { items: [], count: 0 };
48
+ }
49
+ const items = result
50
+ .map((item, index) => ({
51
+ index,
52
+ url: item.image_versions2?.candidates?.[0]?.url || '',
53
+ width: item.original_width,
54
+ height: item.original_height,
55
+ }))
56
+ .filter((item) => item.url);
57
+ return {
58
+ items,
59
+ count: items.length
60
+ };
61
+ }
62
+ }
63
+ exports.CarouselExtractor = CarouselExtractor;
64
+ //# sourceMappingURL=carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.js","sourceRoot":"","sources":["../../../../src/platforms/instagram/extractors/carousel.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAkBH;;GAEG;AACH,MAAa,iBAAiB;IAC5B,KAAK,CAAC,OAAO,CAAC,IAAU;QACtB,yCAAyC;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,iCAAiC,CAAC,CAAC;YAE7E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;oBAChC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC;wBAAE,SAAS;oBAEhD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAE9B,wCAAwC;oBACxC,SAAS,iBAAiB,CAAC,GAAQ;wBACjC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;4BAAE,OAAO,IAAI,CAAC;wBAEjD,IAAI,GAAG,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;4BAC5D,OAAO,GAAG,CAAC,cAAc,CAAC;wBAC5B,CAAC;wBAED,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;4BACtB,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;4BAC3C,IAAI,MAAM;gCAAE,OAAO,MAAM,CAAC;wBAC5B,CAAC;wBAED,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC9C,IAAI,aAAa,EAAE,CAAC;wBAClB,OAAO,aAAa,CAAC;oBACvB,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,0BAA0B;gBAC5B,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,KAAK,GAAmB,MAAM;aACjC,GAAG,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC;YAClC,KAAK;YACL,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE;YACrD,KAAK,EAAE,IAAI,CAAC,cAAc;YAC1B,MAAM,EAAE,IAAI,CAAC,eAAe;SAC7B,CAAC,CAAC;aACF,MAAM,CAAC,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5C,OAAO;YACL,KAAK;YACL,KAAK,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;CACF;AA3DD,8CA2DC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Sdílené utility pro Instagram extractory
3
+ */
4
+ import { Page } from 'puppeteer';
5
+ /**
6
+ * Najde data v JSON skriptech pomocí predicate funkce
7
+ */
8
+ export declare function findInJsonScripts<T>(page: Page, predicate: (obj: any) => T | null): Promise<T | null>;
9
+ /**
10
+ * Najde element podle selektoru s fallback
11
+ */
12
+ export declare function findElement(page: Page, selector: string): Promise<string | null>;
13
+ /**
14
+ * Najde meta tag content
15
+ */
16
+ export declare function getMetaContent(page: Page, selector: string): Promise<string | null>;
17
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/platforms/instagram/extractors/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,GAChC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAsCnB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKxB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKxB"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ /**
3
+ * Sdílené utility pro Instagram extractory
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.findInJsonScripts = findInJsonScripts;
7
+ exports.findElement = findElement;
8
+ exports.getMetaContent = getMetaContent;
9
+ const constants_1 = require("../constants");
10
+ /**
11
+ * Najde data v JSON skriptech pomocí predicate funkce
12
+ */
13
+ async function findInJsonScripts(page, predicate) {
14
+ return await page.evaluate((selectors) => {
15
+ const scripts = document.querySelectorAll(selectors.JSON_SCRIPTS);
16
+ for (const script of scripts) {
17
+ try {
18
+ const text = script.textContent;
19
+ if (!text)
20
+ continue;
21
+ const json = JSON.parse(text);
22
+ // Rekurzivní hledání v objektu
23
+ function searchRecursively(obj) {
24
+ if (!obj || typeof obj !== 'object')
25
+ return null;
26
+ // Zkusit predicate na aktuálním objektu
27
+ const result = predicate(obj);
28
+ if (result !== null)
29
+ return result;
30
+ // Rekurzivně prohledat všechny vlastnosti
31
+ for (const key in obj) {
32
+ const found = searchRecursively(obj[key]);
33
+ if (found !== null)
34
+ return found;
35
+ }
36
+ return null;
37
+ }
38
+ const result = searchRecursively(json);
39
+ if (result !== null)
40
+ return result;
41
+ }
42
+ catch (e) {
43
+ // Pokračovat na další script
44
+ }
45
+ }
46
+ return null;
47
+ }, constants_1.META_SELECTORS);
48
+ }
49
+ /**
50
+ * Najde element podle selektoru s fallback
51
+ */
52
+ async function findElement(page, selector) {
53
+ return await page.evaluate((sel) => {
54
+ const element = document.querySelector(sel);
55
+ return element?.textContent?.trim() || null;
56
+ }, selector);
57
+ }
58
+ /**
59
+ * Najde meta tag content
60
+ */
61
+ async function getMetaContent(page, selector) {
62
+ return await page.evaluate((sel) => {
63
+ const meta = document.querySelector(sel);
64
+ return meta?.content || null;
65
+ }, selector);
66
+ }
67
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/platforms/instagram/extractors/common.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAQH,8CAyCC;AAKD,kCAQC;AAKD,wCAQC;AAxED,4CAA8C;AAE9C;;GAEG;AACI,KAAK,UAAU,iBAAiB,CACrC,IAAU,EACV,SAAiC;IAEjC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAElE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;gBAChC,IAAI,CAAC,IAAI;oBAAE,SAAS;gBAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE9B,+BAA+B;gBAC/B,SAAS,iBAAiB,CAAC,GAAQ;oBACjC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;wBAAE,OAAO,IAAI,CAAC;oBAEjD,wCAAwC;oBACxC,MAAM,MAAM,GAAI,SAAiB,CAAC,GAAG,CAAC,CAAC;oBACvC,IAAI,MAAM,KAAK,IAAI;wBAAE,OAAO,MAAM,CAAC;oBAEnC,0CAA0C;oBAC1C,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;wBACtB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC1C,IAAI,KAAK,KAAK,IAAI;4BAAE,OAAO,KAAK,CAAC;oBACnC,CAAC;oBAED,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,MAAM,KAAK,IAAI;oBAAE,OAAO,MAAM,CAAC;YAErC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,6BAA6B;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,0BAAc,CAAC,CAAC;AACrB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,WAAW,CAC/B,IAAU,EACV,QAAgB;IAEhB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;QACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAgB,CAAC;QAC3D,OAAO,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IAC9C,CAAC,EAAE,QAAQ,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,cAAc,CAClC,IAAU,EACV,QAAgB;IAEhB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAoB,CAAC;QAC5D,OAAO,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC;IAC/B,CAAC,EAAE,QAAQ,CAAC,CAAC;AACf,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Metadata extractor s oddělenými metodami
3
+ */
4
+ import { Page } from 'puppeteer';
5
+ export interface PostMetadata {
6
+ likesCount: number | null;
7
+ commentsCount: number | null;
8
+ caption: string | null;
9
+ timestamp: string | null;
10
+ location: string | null;
11
+ }
12
+ /**
13
+ * MetadataExtractor s oddělenými metodami pro každý typ metadat
14
+ */
15
+ export declare class MetadataExtractor {
16
+ extract(page: Page): Promise<PostMetadata>;
17
+ private extractCaption;
18
+ private extractLikesCount;
19
+ private extractCommentsCount;
20
+ private extractTimestamp;
21
+ private extractLocation;
22
+ private formatTimestamp;
23
+ }
24
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../../src/platforms/instagram/extractors/metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IACtB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;YAkBlC,cAAc;YAed,iBAAiB;YAejB,oBAAoB;YAepB,gBAAgB;YA2BhB,eAAe;IAe7B,OAAO,CAAC,eAAe;CAgBxB"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ /**
3
+ * Metadata extractor s oddělenými metodami
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MetadataExtractor = void 0;
7
+ const common_1 = require("./common");
8
+ const constants_1 = require("../constants");
9
+ /**
10
+ * MetadataExtractor s oddělenými metodami pro každý typ metadat
11
+ */
12
+ class MetadataExtractor {
13
+ async extract(page) {
14
+ const [caption, likesCount, commentsCount, timestamp, location] = await Promise.all([
15
+ this.extractCaption(page),
16
+ this.extractLikesCount(page),
17
+ this.extractCommentsCount(page),
18
+ this.extractTimestamp(page),
19
+ this.extractLocation(page)
20
+ ]);
21
+ return {
22
+ caption,
23
+ likesCount,
24
+ commentsCount,
25
+ timestamp,
26
+ location
27
+ };
28
+ }
29
+ async extractCaption(page) {
30
+ return await (0, common_1.findInJsonScripts)(page, (obj) => {
31
+ if (obj.edge_media_to_caption?.edges?.[0]?.node?.text) {
32
+ return obj.edge_media_to_caption.edges[0].node.text;
33
+ }
34
+ if (obj.caption?.text) {
35
+ return obj.caption.text;
36
+ }
37
+ if (obj.accessibility_caption) {
38
+ return obj.accessibility_caption;
39
+ }
40
+ return null;
41
+ });
42
+ }
43
+ async extractLikesCount(page) {
44
+ return await (0, common_1.findInJsonScripts)(page, (obj) => {
45
+ if (obj.edge_media_preview_like?.count !== undefined) {
46
+ return obj.edge_media_preview_like.count;
47
+ }
48
+ if (obj.like_count !== undefined) {
49
+ return obj.like_count;
50
+ }
51
+ if (obj.edge_liked_by?.count !== undefined) {
52
+ return obj.edge_liked_by.count;
53
+ }
54
+ return null;
55
+ });
56
+ }
57
+ async extractCommentsCount(page) {
58
+ return await (0, common_1.findInJsonScripts)(page, (obj) => {
59
+ if (obj.edge_media_to_comment?.count !== undefined) {
60
+ return obj.edge_media_to_comment.count;
61
+ }
62
+ if (obj.comment_count !== undefined) {
63
+ return obj.comment_count;
64
+ }
65
+ if (obj.edge_media_to_parent_comment?.count !== undefined) {
66
+ return obj.edge_media_to_parent_comment.count;
67
+ }
68
+ return null;
69
+ });
70
+ }
71
+ async extractTimestamp(page) {
72
+ // Nejdřív zkusit najít relativní čas v DOM
73
+ const relativeTime = await page.evaluate((timeRegex) => {
74
+ const allElements = document.querySelectorAll('*');
75
+ for (const element of allElements) {
76
+ const text = element.textContent?.trim();
77
+ if (text?.match(timeRegex)) {
78
+ return text.match(timeRegex)?.[0] || null;
79
+ }
80
+ }
81
+ return null;
82
+ }, constants_1.REGEX_PATTERNS.TIME_AGO);
83
+ if (relativeTime)
84
+ return relativeTime;
85
+ // Fallback na absolutní čas z JSON
86
+ return await (0, common_1.findInJsonScripts)(page, (obj) => {
87
+ if (obj.taken_at_timestamp) {
88
+ return this.formatTimestamp(obj.taken_at_timestamp);
89
+ }
90
+ if (obj.created_time) {
91
+ return this.formatTimestamp(obj.created_time);
92
+ }
93
+ return null;
94
+ });
95
+ }
96
+ async extractLocation(page) {
97
+ return await (0, common_1.findInJsonScripts)(page, (obj) => {
98
+ if (obj.location?.name) {
99
+ return obj.location.name;
100
+ }
101
+ if (obj.venue?.name) {
102
+ return obj.venue.name;
103
+ }
104
+ if (obj.place?.name) {
105
+ return obj.place.name;
106
+ }
107
+ return null;
108
+ });
109
+ }
110
+ formatTimestamp(timestamp) {
111
+ const date = new Date(timestamp * 1000);
112
+ const now = new Date();
113
+ const diffMs = now.getTime() - date.getTime();
114
+ const diffHours = Math.floor(diffMs / (1000 * 60 * 60));
115
+ const diffDays = Math.floor(diffHours / 24);
116
+ if (diffDays > 0) {
117
+ return `${diffDays} day${diffDays > 1 ? 's' : ''} ago`;
118
+ }
119
+ else if (diffHours > 0) {
120
+ return `${diffHours} hour${diffHours > 1 ? 's' : ''} ago`;
121
+ }
122
+ else {
123
+ const diffMins = Math.floor(diffMs / (1000 * 60));
124
+ return `${diffMins} minute${diffMins > 1 ? 's' : ''} ago`;
125
+ }
126
+ }
127
+ }
128
+ exports.MetadataExtractor = MetadataExtractor;
129
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../src/platforms/instagram/extractors/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Profile extractor s strategy pattern
3
+ */
4
+ import { Page } from 'puppeteer';
5
+ export interface ProfileInfo {
6
+ profileName: string;
7
+ profileUsername: string;
8
+ profileUrl: string;
9
+ }
10
+ /**
11
+ * ProfileExtractor s pouze twitter:title strategií
12
+ */
13
+ export declare class ProfileExtractor {
14
+ extract(page: Page): Promise<ProfileInfo>;
15
+ }
16
+ //# sourceMappingURL=profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/platforms/instagram/extractors/profile.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAkCD;;GAEG;AACH,qBAAa,gBAAgB;IACrB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;CAchD"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /**
3
+ * Profile extractor s strategy pattern
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ProfileExtractor = void 0;
7
+ const common_1 = require("./common");
8
+ const constants_1 = require("../constants");
9
+ /**
10
+ * Strategie 1: Extrakce z twitter:title meta tagu
11
+ */
12
+ async function extractFromTwitterTitle(page) {
13
+ const content = await (0, common_1.getMetaContent)(page, constants_1.META_SELECTORS.TWITTER_TITLE);
14
+ if (!content)
15
+ return null;
16
+ const match1 = content.match(constants_1.REGEX_PATTERNS.TWITTER_TITLE_FORMAT1);
17
+ const match2 = content.match(constants_1.REGEX_PATTERNS.TWITTER_TITLE_FORMAT2);
18
+ if (match1) {
19
+ const profileName = match1[1].trim();
20
+ const profileUsername = match1[2].replace('@', '');
21
+ return {
22
+ profileName,
23
+ profileUsername,
24
+ profileUrl: `https://www.instagram.com/${profileUsername}/`
25
+ };
26
+ }
27
+ if (match2) {
28
+ const profileUsername = match2[1].replace('@', '');
29
+ return {
30
+ profileName: match2[1],
31
+ profileUsername,
32
+ profileUrl: `https://www.instagram.com/${profileUsername}/`
33
+ };
34
+ }
35
+ return null;
36
+ }
37
+ /**
38
+ * ProfileExtractor s pouze twitter:title strategií
39
+ */
40
+ class ProfileExtractor {
41
+ async extract(page) {
42
+ const result = await extractFromTwitterTitle(page);
43
+ if (result && result.profileName && result.profileUsername && result.profileUrl) {
44
+ return result;
45
+ }
46
+ // Fallback hodnoty
47
+ const profileUsername = result?.profileUsername || 'unknown';
48
+ const profileName = result?.profileName || `@${profileUsername}`;
49
+ const profileUrl = result?.profileUrl || `https://www.instagram.com/${profileUsername}/`;
50
+ return { profileName, profileUsername, profileUrl };
51
+ }
52
+ }
53
+ exports.ProfileExtractor = ProfileExtractor;
54
+ //# sourceMappingURL=profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../src/platforms/instagram/extractors/profile.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,qCAA0C;AAC1C,4CAA8D;AAQ9D;;GAEG;AACH,KAAK,UAAU,uBAAuB,CAAC,IAAU;IAC/C,MAAM,OAAO,GAAG,MAAM,IAAA,uBAAc,EAAC,IAAI,EAAE,0BAAc,CAAC,aAAa,CAAC,CAAC;IACzE,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,0BAAc,CAAC,qBAAqB,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,0BAAc,CAAC,qBAAqB,CAAC,CAAC;IAEnE,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnD,OAAO;YACL,WAAW;YACX,eAAe;YACf,UAAU,EAAE,6BAA6B,eAAe,GAAG;SAC5D,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnD,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;YACtB,eAAe;YACf,UAAU,EAAE,6BAA6B,eAAe,GAAG;SAC5D,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAa,gBAAgB;IAC3B,KAAK,CAAC,OAAO,CAAC,IAAU;QACtB,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAEnD,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAChF,OAAO,MAAqB,CAAC;QAC/B,CAAC;QAED,mBAAmB;QACnB,MAAM,eAAe,GAAG,MAAM,EAAE,eAAe,IAAI,SAAS,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,IAAI,eAAe,EAAE,CAAC;QACjE,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,6BAA6B,eAAe,GAAG,CAAC;QAEzF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;IACtD,CAAC;CACF;AAfD,4CAeC"}
@@ -1,6 +1,6 @@
1
- import { PlatformPlugin } from '../plugins';
1
+ import { PlatformPlugin } from '../../types/plugins';
2
2
  /**
3
3
  * Instagram platform plugin - built-in support for Instagram
4
4
  */
5
5
  export declare const InstagramPlugin: PlatformPlugin;
6
- //# sourceMappingURL=instagram.d.ts.map
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platforms/instagram/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAOrD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,cAmD7B,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InstagramPlugin = void 0;
4
+ const logger_1 = require("../../utils/logger");
5
+ const constants_1 = require("./constants");
6
+ const profile_1 = require("./extractors/profile");
7
+ const carousel_1 = require("./extractors/carousel");
8
+ const metadata_1 = require("./extractors/metadata");
9
+ /**
10
+ * Instagram platform plugin - built-in support for Instagram
11
+ */
12
+ exports.InstagramPlugin = {
13
+ type: 'platform',
14
+ name: 'instagram',
15
+ version: '1.0.0',
16
+ urlPatterns: constants_1.URL_PATTERNS,
17
+ validateUrl(url) {
18
+ return this.urlPatterns.some(pattern => pattern.test(url));
19
+ },
20
+ async scrape(page, url) {
21
+ // Extract post ID from URL
22
+ const urlPath = new URL(url).pathname;
23
+ const postId = urlPath.match(constants_1.REGEX_PATTERNS.POST_ID)?.[2] || '';
24
+ logger_1.log.info('🔍 Target post ID from URL:', postId);
25
+ // Wait for page to fully load
26
+ await page.waitForTimeout(3000);
27
+ // Initialize extractors
28
+ const profileExtractor = new profile_1.ProfileExtractor();
29
+ const carouselExtractor = new carousel_1.CarouselExtractor();
30
+ const metadataExtractor = new metadata_1.MetadataExtractor();
31
+ // Extract all data in parallel
32
+ const [profileInfo, carouselData, metadata] = await Promise.all([
33
+ profileExtractor.extract(page),
34
+ carouselExtractor.extract(page),
35
+ metadataExtractor.extract(page)
36
+ ]);
37
+ logger_1.log.info('👤 Profile info:', profileInfo);
38
+ logger_1.log.info(`Found ${carouselData.count} media items`);
39
+ const mediaData = {
40
+ url,
41
+ post_id: postId,
42
+ platform: 'instagram',
43
+ profile_name: profileInfo.profileName,
44
+ profile_username: profileInfo.profileUsername,
45
+ profile_url: profileInfo.profileUrl,
46
+ media: carouselData.items,
47
+ metadata
48
+ };
49
+ return mediaData;
50
+ },
51
+ workflow: './src/core/workflows/instagram.wf'
52
+ };
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platforms/instagram/index.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAIzC,2CAA2D;AAC3D,kDAAwD;AACxD,oDAA0D;AAC1D,oDAA0D;AAE1D;;GAEG;AACU,QAAA,eAAe,GAAmB;IAC7C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,OAAO;IAEhB,WAAW,EAAE,wBAAY;IAEzB,WAAW,CAAC,GAAW;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAU,EAAE,GAAW;QAClC,2BAA2B;QAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,0BAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEhE,YAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;QAEhD,8BAA8B;QAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEhC,wBAAwB;QACxB,MAAM,gBAAgB,GAAG,IAAI,0BAAgB,EAAE,CAAC;QAChD,MAAM,iBAAiB,GAAG,IAAI,4BAAiB,EAAE,CAAC;QAClD,MAAM,iBAAiB,GAAG,IAAI,4BAAiB,EAAE,CAAC;QAElD,+BAA+B;QAC/B,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9D,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;YAC9B,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;YAC/B,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;SAChC,CAAC,CAAC;QAEH,YAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAC1C,YAAG,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,KAAK,cAAc,CAAC,CAAC;QAEpD,MAAM,SAAS,GAAc;YAC3B,GAAG;YACH,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,WAAW;YACrB,YAAY,EAAE,WAAW,CAAC,WAAW;YACrC,gBAAgB,EAAE,WAAW,CAAC,eAAe;YAC7C,WAAW,EAAE,WAAW,CAAC,UAAU;YACnC,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,QAAQ;SACT,CAAC;QAEF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ,EAAE,mCAAmC;CAC9C,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './plugin-manager';
2
+ export * from '../types/plugins';
3
+ export * from '../types/workflow';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AAEjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}