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.
- package/CHANGELOG.md +47 -0
- package/README.md +1 -1
- package/dist/{auth-fast.d.ts → auth/auth-manager.d.ts} +4 -12
- package/dist/auth/auth-manager.d.ts.map +1 -0
- package/dist/{auth-fast.js → auth/auth-manager.js} +26 -68
- package/dist/auth/auth-manager.js.map +1 -0
- package/dist/auth/index.d.ts +4 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +8 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/session-manager.d.ts +8 -0
- package/dist/auth/session-manager.d.ts.map +1 -0
- package/dist/auth/session-manager.js +57 -0
- package/dist/auth/session-manager.js.map +1 -0
- package/dist/browser/browser-pool.d.ts.map +1 -0
- package/dist/{browser-pool.js → browser/browser-pool.js} +1 -1
- package/dist/browser/browser-pool.js.map +1 -0
- package/dist/browser/crawler-manager.d.ts.map +1 -0
- package/dist/{crawler-manager.js → browser/crawler-manager.js} +6 -6
- package/dist/browser/crawler-manager.js.map +1 -0
- package/dist/browser/index.d.ts +3 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +8 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +8 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/media-scraper.d.ts +107 -0
- package/dist/core/media-scraper.d.ts.map +1 -0
- package/dist/core/media-scraper.js +496 -0
- package/dist/core/media-scraper.js.map +1 -0
- package/dist/core/workflow-executor.d.ts +17 -0
- package/dist/core/workflow-executor.d.ts.map +1 -0
- package/dist/core/workflow-executor.js +146 -0
- package/dist/core/workflow-executor.js.map +1 -0
- package/dist/index.d.ts +13 -132
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -635
- package/dist/index.js.map +1 -1
- package/dist/platforms/instagram/constants.d.ts +25 -0
- package/dist/platforms/instagram/constants.d.ts.map +1 -0
- package/dist/platforms/instagram/constants.js +34 -0
- package/dist/platforms/instagram/constants.js.map +1 -0
- package/dist/platforms/instagram/extractors/carousel.d.ts +21 -0
- package/dist/platforms/instagram/extractors/carousel.d.ts.map +1 -0
- package/dist/platforms/instagram/extractors/carousel.js +64 -0
- package/dist/platforms/instagram/extractors/carousel.js.map +1 -0
- package/dist/platforms/instagram/extractors/common.d.ts +17 -0
- package/dist/platforms/instagram/extractors/common.d.ts.map +1 -0
- package/dist/platforms/instagram/extractors/common.js +67 -0
- package/dist/platforms/instagram/extractors/common.js.map +1 -0
- package/dist/platforms/instagram/extractors/metadata.d.ts +24 -0
- package/dist/platforms/instagram/extractors/metadata.d.ts.map +1 -0
- package/dist/platforms/instagram/extractors/metadata.js +129 -0
- package/dist/platforms/instagram/extractors/metadata.js.map +1 -0
- package/dist/platforms/instagram/extractors/profile.d.ts +16 -0
- package/dist/platforms/instagram/extractors/profile.d.ts.map +1 -0
- package/dist/platforms/instagram/extractors/profile.js +54 -0
- package/dist/platforms/instagram/extractors/profile.js.map +1 -0
- package/dist/platforms/{instagram.d.ts → instagram/index.d.ts} +2 -2
- package/dist/platforms/instagram/index.d.ts.map +1 -0
- package/dist/platforms/instagram/index.js +53 -0
- package/dist/platforms/instagram/index.js.map +1 -0
- package/dist/plugins/index.d.ts +4 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +21 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/plugin-manager.d.ts +50 -0
- package/dist/plugins/plugin-manager.d.ts.map +1 -0
- package/dist/{plugins.js → plugins/plugin-manager.js} +4 -4
- package/dist/plugins/plugin-manager.js.map +1 -0
- package/dist/types/auth.d.ts +15 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +3 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/browser.d.ts +28 -0
- package/dist/types/browser.d.ts.map +1 -0
- package/dist/types/browser.js +3 -0
- package/dist/types/browser.js.map +1 -0
- package/dist/{types.d.ts → types/common.d.ts} +15 -15
- package/dist/types/common.d.ts.map +1 -0
- package/dist/{types.js → types/common.js} +1 -1
- package/dist/types/common.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +24 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/platform.d.ts +3 -0
- package/dist/types/platform.d.ts.map +1 -0
- package/dist/types/platform.js +20 -0
- package/dist/types/platform.js.map +1 -0
- package/dist/types/plugins.d.ts +61 -0
- package/dist/types/plugins.d.ts.map +1 -0
- package/dist/types/plugins.js +3 -0
- package/dist/types/plugins.js.map +1 -0
- package/dist/types/workflow.d.ts +17 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +3 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/utils/config/config-parser.d.ts.map +1 -0
- package/dist/{config-parser.js → utils/config/config-parser.js} +5 -5
- package/dist/utils/config/config-parser.js.map +1 -0
- package/dist/utils/config/index.d.ts +2 -0
- package/dist/utils/config/index.d.ts.map +1 -0
- package/dist/utils/config/index.js +18 -0
- package/dist/utils/config/index.js.map +1 -0
- package/dist/{file-manager.d.ts → utils/file-manager.d.ts} +1 -1
- package/dist/utils/file-manager.d.ts.map +1 -0
- package/dist/utils/file-manager.js.map +1 -0
- package/dist/{health.d.ts → utils/health/health-checker.d.ts} +1 -1
- package/dist/utils/health/health-checker.d.ts.map +1 -0
- package/dist/{health.js → utils/health/health-checker.js} +1 -1
- package/dist/utils/health/health-checker.js.map +1 -0
- package/dist/utils/health/index.d.ts +2 -0
- package/dist/utils/health/index.d.ts.map +1 -0
- package/dist/utils/health/index.js +18 -0
- package/dist/utils/health/index.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +25 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger/index.d.ts +2 -0
- package/dist/utils/logger/index.d.ts.map +1 -0
- package/dist/utils/logger/index.js +18 -0
- package/dist/utils/logger/index.js.map +1 -0
- package/dist/utils/logger/logger.d.ts +44 -0
- package/dist/utils/logger/logger.d.ts.map +1 -0
- package/dist/utils/logger/logger.js +301 -0
- package/dist/utils/logger/logger.js.map +1 -0
- package/dist/utils/metrics/index.d.ts +2 -0
- package/dist/utils/metrics/index.d.ts.map +1 -0
- package/dist/utils/metrics/index.js +18 -0
- package/dist/utils/metrics/index.js.map +1 -0
- package/dist/{metrics.d.ts → utils/metrics/metrics-collector.d.ts} +1 -1
- package/dist/utils/metrics/metrics-collector.d.ts.map +1 -0
- package/dist/{metrics.js → utils/metrics/metrics-collector.js} +1 -1
- package/dist/utils/metrics/metrics-collector.js.map +1 -0
- package/dist/utils/progress-tracker.d.ts +11 -0
- package/dist/utils/progress-tracker.d.ts.map +1 -0
- package/dist/{progress-tracker.js → utils/progress-tracker.js} +0 -3
- package/dist/utils/progress-tracker.js.map +1 -0
- package/dist/utils/url-normalizer.d.ts.map +1 -0
- package/dist/utils/url-normalizer.js.map +1 -0
- package/package.json +1 -1
- package/dist/auth-fast.d.ts.map +0 -1
- package/dist/auth-fast.js.map +0 -1
- package/dist/auth.d.ts +0 -80
- package/dist/auth.d.ts.map +0 -1
- package/dist/auth.js +0 -370
- package/dist/auth.js.map +0 -1
- package/dist/benchmark.d.ts +0 -48
- package/dist/benchmark.d.ts.map +0 -1
- package/dist/benchmark.js +0 -125
- package/dist/benchmark.js.map +0 -1
- package/dist/browser-pool.d.ts.map +0 -1
- package/dist/browser-pool.js.map +0 -1
- package/dist/config-parser.d.ts.map +0 -1
- package/dist/config-parser.js.map +0 -1
- package/dist/crawler-manager.d.ts.map +0 -1
- package/dist/crawler-manager.js.map +0 -1
- package/dist/file-manager.d.ts.map +0 -1
- package/dist/file-manager.js.map +0 -1
- package/dist/health.d.ts.map +0 -1
- package/dist/health.js.map +0 -1
- package/dist/logger.d.ts +0 -22
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -151
- package/dist/logger.js.map +0 -1
- package/dist/memory.d.ts +0 -56
- package/dist/memory.d.ts.map +0 -1
- package/dist/memory.js +0 -144
- package/dist/memory.js.map +0 -1
- package/dist/metrics.d.ts.map +0 -1
- package/dist/metrics.js.map +0 -1
- package/dist/parallel.d.ts +0 -59
- package/dist/parallel.d.ts.map +0 -1
- package/dist/parallel.js +0 -202
- package/dist/parallel.js.map +0 -1
- package/dist/platforms/instagram.d.ts.map +0 -1
- package/dist/platforms/instagram.js +0 -263
- package/dist/platforms/instagram.js.map +0 -1
- package/dist/plugins.d.ts +0 -132
- package/dist/plugins.d.ts.map +0 -1
- package/dist/plugins.js.map +0 -1
- package/dist/progress-tracker.d.ts +0 -15
- package/dist/progress-tracker.d.ts.map +0 -1
- package/dist/progress-tracker.js.map +0 -1
- package/dist/smart-logger.d.ts +0 -64
- package/dist/smart-logger.d.ts.map +0 -1
- package/dist/smart-logger.js +0 -149
- package/dist/smart-logger.js.map +0 -1
- package/dist/test-integration.d.ts +0 -2
- package/dist/test-integration.d.ts.map +0 -1
- package/dist/test-integration.js +0 -46
- package/dist/test-integration.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/url-normalizer.d.ts.map +0 -1
- package/dist/url-normalizer.js.map +0 -1
- package/dist/worker.d.ts +0 -2
- package/dist/worker.d.ts.map +0 -1
- package/dist/worker.js +0 -23
- package/dist/worker.js.map +0 -1
- /package/dist/{browser-pool.d.ts → browser/browser-pool.d.ts} +0 -0
- /package/dist/{crawler-manager.d.ts → browser/crawler-manager.d.ts} +0 -0
- /package/dist/{config-parser.d.ts → utils/config/config-parser.d.ts} +0 -0
- /package/dist/{file-manager.js → utils/file-manager.js} +0 -0
- /package/dist/{url-normalizer.d.ts → utils/url-normalizer.d.ts} +0 -0
- /package/dist/{url-normalizer.js → utils/url-normalizer.js} +0 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkflowExecutor = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const logger_1 = require("../utils/logger");
|
|
6
|
+
/**
|
|
7
|
+
* Executes predefined workflows for platform interaction automation
|
|
8
|
+
* @class WorkflowExecutor
|
|
9
|
+
*/
|
|
10
|
+
class WorkflowExecutor {
|
|
11
|
+
/**
|
|
12
|
+
* Pauses execution for specified milliseconds
|
|
13
|
+
*/
|
|
14
|
+
sleep(ms) {
|
|
15
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Executes a workflow from JSON file or array
|
|
19
|
+
*/
|
|
20
|
+
async executeWorkflow(page, workflowOrPath) {
|
|
21
|
+
let workflow;
|
|
22
|
+
if (typeof workflowOrPath === 'string') {
|
|
23
|
+
workflow = JSON.parse((0, fs_1.readFileSync)(workflowOrPath, 'utf-8'));
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
workflow = workflowOrPath;
|
|
27
|
+
}
|
|
28
|
+
for (const task of workflow) {
|
|
29
|
+
logger_1.log.info(`Executing: ${task.name}`);
|
|
30
|
+
try {
|
|
31
|
+
switch (task.action) {
|
|
32
|
+
case 'clickOutside':
|
|
33
|
+
for (let i = 0; i < (task.clicks || 1); i++) {
|
|
34
|
+
await page.mouse.click(100, 100);
|
|
35
|
+
logger_1.log.info(`✓ Clicked outside modal (${i + 1}/${task.clicks})`);
|
|
36
|
+
await this.sleep(500);
|
|
37
|
+
}
|
|
38
|
+
break;
|
|
39
|
+
case 'doubleClick':
|
|
40
|
+
let doubleClicked = false;
|
|
41
|
+
for (const selector of task.selectors || []) {
|
|
42
|
+
try {
|
|
43
|
+
await page.waitForSelector(selector, { timeout: 2000 });
|
|
44
|
+
await page.click(selector, { clickCount: 2 });
|
|
45
|
+
logger_1.log.info(`✓ Double-clicked with selector: ${selector}`);
|
|
46
|
+
doubleClicked = true;
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
catch (e) { }
|
|
50
|
+
}
|
|
51
|
+
if (!doubleClicked && task.fallback === 'findByText' && task.fallbackText) {
|
|
52
|
+
const found = await page.evaluate((text) => {
|
|
53
|
+
const elements = Array.from(document.querySelectorAll('*'));
|
|
54
|
+
const el = elements.find(e => e.textContent?.includes(text));
|
|
55
|
+
if (el && el instanceof HTMLElement) {
|
|
56
|
+
const event = new MouseEvent('dblclick', { bubbles: true });
|
|
57
|
+
el.dispatchEvent(event);
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
}, task.fallbackText);
|
|
62
|
+
if (found)
|
|
63
|
+
logger_1.log.info(`✓ Double-clicked via text: ${task.fallbackText}`);
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
case 'hold':
|
|
67
|
+
const holdDuration = task.holdDuration || 1000;
|
|
68
|
+
for (const selector of task.selectors || []) {
|
|
69
|
+
try {
|
|
70
|
+
await page.waitForSelector(selector, { timeout: 2000 });
|
|
71
|
+
const element = await page.$(selector);
|
|
72
|
+
if (element) {
|
|
73
|
+
const box = await element.boundingBox();
|
|
74
|
+
if (box) {
|
|
75
|
+
await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
|
|
76
|
+
await page.mouse.down();
|
|
77
|
+
await this.sleep(holdDuration);
|
|
78
|
+
await page.mouse.up();
|
|
79
|
+
logger_1.log.info(`✓ Held mouse button for ${holdDuration}ms on: ${selector}`);
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (e) { }
|
|
85
|
+
}
|
|
86
|
+
break;
|
|
87
|
+
case 'keypress':
|
|
88
|
+
if (task.key) {
|
|
89
|
+
// Press modifiers first
|
|
90
|
+
if (task.modifiers) {
|
|
91
|
+
for (const mod of task.modifiers) {
|
|
92
|
+
await page.keyboard.down(mod);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// Press the main key
|
|
96
|
+
await page.keyboard.press(task.key); // Cast to any for flexibility
|
|
97
|
+
// Release modifiers
|
|
98
|
+
if (task.modifiers) {
|
|
99
|
+
for (const mod of task.modifiers.reverse()) {
|
|
100
|
+
await page.keyboard.up(mod);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
logger_1.log.info(`✓ Pressed key: ${task.modifiers ? task.modifiers.join('+') + '+' : ''}${task.key}`);
|
|
104
|
+
}
|
|
105
|
+
break;
|
|
106
|
+
case 'click':
|
|
107
|
+
default:
|
|
108
|
+
let clicked = false;
|
|
109
|
+
for (const selector of task.selectors || []) {
|
|
110
|
+
try {
|
|
111
|
+
await page.waitForSelector(selector, { timeout: 2000 });
|
|
112
|
+
await page.click(selector);
|
|
113
|
+
logger_1.log.info(`✓ Clicked with selector: ${selector}`);
|
|
114
|
+
clicked = true;
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
catch (e) { }
|
|
118
|
+
}
|
|
119
|
+
if (!clicked && task.fallback === 'findByText' && task.fallbackText) {
|
|
120
|
+
const found = await page.evaluate((text) => {
|
|
121
|
+
const buttons = Array.from(document.querySelectorAll('button'));
|
|
122
|
+
const btn = buttons.find(b => b.textContent?.includes(text));
|
|
123
|
+
if (btn) {
|
|
124
|
+
btn.click();
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
return false;
|
|
128
|
+
}, task.fallbackText);
|
|
129
|
+
if (found)
|
|
130
|
+
logger_1.log.info(`✓ Clicked via text: ${task.fallbackText}`);
|
|
131
|
+
}
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
if (task.wait)
|
|
135
|
+
await this.sleep(task.wait);
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
if (!task.optional)
|
|
139
|
+
throw e;
|
|
140
|
+
logger_1.log.info(`⚠ Skipped (optional): ${task.name}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.WorkflowExecutor = WorkflowExecutor;
|
|
146
|
+
//# sourceMappingURL=workflow-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-executor.js","sourceRoot":"","sources":["../../src/core/workflow-executor.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,135 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
export { MediaScraper, WorkflowExecutor } from './core';
|
|
2
|
+
export { FastAuthManager, LoginCredentials, SessionData } from './auth';
|
|
3
|
+
export { PluginManager, Plugin, PlatformPlugin, UtilityPlugin, ScrapingOptions, WorkflowTask } from './plugins';
|
|
4
|
+
export { MetricsCollector } from './utils/metrics';
|
|
5
|
+
export { HealthChecker } from './utils/health';
|
|
6
|
+
export { BUILTIN_PLATFORMS } from './platforms';
|
|
7
|
+
export { ProgressTracker, ProgressCallback, ProgressEvent } from './utils/progress-tracker';
|
|
8
|
+
export { FileManager } from './utils/file-manager';
|
|
9
|
+
export { ConfigParser, InstaSaveConfig } from './utils/config';
|
|
10
|
+
export { URLNormalizer } from './utils/url-normalizer';
|
|
11
|
+
export { CrawlerManager } from './browser/crawler-manager';
|
|
12
|
+
export { BrowserPool } from './browser/browser-pool';
|
|
13
|
+
export { ConsoleMode, log } from './utils/logger';
|
|
6
14
|
export * from './types';
|
|
7
|
-
export * from './auth-fast';
|
|
8
|
-
export * from './plugins';
|
|
9
|
-
export * from './metrics';
|
|
10
|
-
export * from './health';
|
|
11
15
|
export * from './platforms';
|
|
12
|
-
export * from './progress-tracker';
|
|
13
|
-
export * from './file-manager';
|
|
14
|
-
export * from './config-parser';
|
|
15
|
-
export * from './smart-logger';
|
|
16
|
-
export * from './url-normalizer';
|
|
17
|
-
export * from './crawler-manager';
|
|
18
|
-
/**
|
|
19
|
-
* Executes predefined workflows for platform interaction automation
|
|
20
|
-
* @class WorkflowExecutor
|
|
21
|
-
*/
|
|
22
|
-
export declare class WorkflowExecutor {
|
|
23
|
-
/**
|
|
24
|
-
* Pauses execution for specified milliseconds
|
|
25
|
-
*/
|
|
26
|
-
private sleep;
|
|
27
|
-
/**
|
|
28
|
-
* Executes a workflow from JSON file or array
|
|
29
|
-
*/
|
|
30
|
-
executeWorkflow(page: Page, workflowOrPath: string | WorkflowTask[]): Promise<void>;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Main media scraper class with multi-platform support
|
|
34
|
-
* @class MediaScraper
|
|
35
|
-
*/
|
|
36
|
-
export declare class MediaScraper {
|
|
37
|
-
private workflowExecutor;
|
|
38
|
-
private metricsCollector;
|
|
39
|
-
private healthChecker;
|
|
40
|
-
private pluginManager;
|
|
41
|
-
private authManager;
|
|
42
|
-
private fileManager;
|
|
43
|
-
private configParser;
|
|
44
|
-
private config;
|
|
45
|
-
private currentScrapeId;
|
|
46
|
-
private stepCallback;
|
|
47
|
-
private crawlerManager;
|
|
48
|
-
/**
|
|
49
|
-
* Creates a new MediaScraper instance
|
|
50
|
-
*/
|
|
51
|
-
constructor();
|
|
52
|
-
/**
|
|
53
|
-
* Handle configuration changes
|
|
54
|
-
*/
|
|
55
|
-
private handleConfigChange;
|
|
56
|
-
/**
|
|
57
|
-
* Auto-login if credentials are available in config
|
|
58
|
-
*/
|
|
59
|
-
private autoLogin;
|
|
60
|
-
/**
|
|
61
|
-
* Register a plugin (platform or utility)
|
|
62
|
-
*/
|
|
63
|
-
use(plugin: Plugin): void;
|
|
64
|
-
/**
|
|
65
|
-
* Login to Instagram
|
|
66
|
-
*/
|
|
67
|
-
login(credentials: LoginCredentials): Promise<boolean>;
|
|
68
|
-
/**
|
|
69
|
-
* Universal scrape method - automatically detects platform
|
|
70
|
-
*/
|
|
71
|
-
scrape(url: string, options?: ScrapingOptions): Promise<MediaData>;
|
|
72
|
-
private saveToFile;
|
|
73
|
-
/**
|
|
74
|
-
* Set callback for step tracking
|
|
75
|
-
*/
|
|
76
|
-
setStepCallback(callback: (stepData: any) => void): void;
|
|
77
|
-
/**
|
|
78
|
-
* Gets current metrics
|
|
79
|
-
*/
|
|
80
|
-
getMetrics(): import("./metrics").ScrapingMetrics;
|
|
81
|
-
/**
|
|
82
|
-
* Gets health status
|
|
83
|
-
*/
|
|
84
|
-
getHealth(): Promise<import("./health").HealthStatus>;
|
|
85
|
-
/**
|
|
86
|
-
* Gets Prometheus-formatted metrics
|
|
87
|
-
*/
|
|
88
|
-
getPrometheusMetrics(): string;
|
|
89
|
-
/**
|
|
90
|
-
* Get plugin manager for advanced plugin operations
|
|
91
|
-
*/
|
|
92
|
-
getPluginManager(): PluginManager;
|
|
93
|
-
/**
|
|
94
|
-
* Get auth manager for advanced auth operations
|
|
95
|
-
*/
|
|
96
|
-
getAuthManager(): FastAuthManager;
|
|
97
|
-
/**
|
|
98
|
-
* Get current configuration
|
|
99
|
-
*/
|
|
100
|
-
getConfig(): InstaSaveConfig;
|
|
101
|
-
/**
|
|
102
|
-
* Get config parser for advanced config operations
|
|
103
|
-
*/
|
|
104
|
-
getConfigParser(): ConfigParser;
|
|
105
|
-
refreshSession(): Promise<boolean>;
|
|
106
|
-
/**
|
|
107
|
-
* Get current logged-in username
|
|
108
|
-
*/
|
|
109
|
-
getUsername(): string | null;
|
|
110
|
-
/**
|
|
111
|
-
* Get current logged-in user's display name (real name)
|
|
112
|
-
*/
|
|
113
|
-
getDisplayName(): string | null;
|
|
114
|
-
/**
|
|
115
|
-
* Get current logged-in user info
|
|
116
|
-
*/
|
|
117
|
-
getUserInfo(): {
|
|
118
|
-
username: string | null;
|
|
119
|
-
displayName: string | null;
|
|
120
|
-
};
|
|
121
|
-
/**
|
|
122
|
-
* Logout and clear session data
|
|
123
|
-
*/
|
|
124
|
-
logout(): Promise<void>;
|
|
125
|
-
/**
|
|
126
|
-
* Clear all cached data and reset SDK state
|
|
127
|
-
*/
|
|
128
|
-
cleanup(): Promise<void>;
|
|
129
|
-
/**
|
|
130
|
-
* Pauses execution for specified milliseconds
|
|
131
|
-
*/
|
|
132
|
-
private sleep;
|
|
133
|
-
}
|
|
134
|
-
export { log } from './logger';
|
|
135
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAGlD,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC"}
|