@lhremote/cli 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -2
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/handlers/campaign-add-action.d.ts +14 -0
- package/dist/handlers/campaign-add-action.d.ts.map +1 -0
- package/dist/handlers/campaign-add-action.js +51 -0
- package/dist/handlers/campaign-add-action.js.map +1 -0
- package/dist/handlers/campaign-add-action.test.d.ts +2 -0
- package/dist/handlers/campaign-add-action.test.d.ts.map +1 -0
- package/dist/handlers/campaign-add-action.test.js +121 -0
- package/dist/handlers/campaign-add-action.test.js.map +1 -0
- package/dist/handlers/campaign-create.d.ts +11 -0
- package/dist/handlers/campaign-create.d.ts.map +1 -0
- package/dist/handlers/campaign-create.js +79 -0
- package/dist/handlers/campaign-create.js.map +1 -0
- package/dist/handlers/campaign-create.test.d.ts +2 -0
- package/dist/handlers/campaign-create.test.d.ts.map +1 -0
- package/dist/handlers/campaign-create.test.js +139 -0
- package/dist/handlers/campaign-create.test.js.map +1 -0
- package/dist/handlers/campaign-delete.d.ts +8 -0
- package/dist/handlers/campaign-delete.d.ts.map +1 -0
- package/dist/handlers/campaign-delete.js +39 -0
- package/dist/handlers/campaign-delete.js.map +1 -0
- package/dist/handlers/campaign-delete.test.d.ts +2 -0
- package/dist/handlers/campaign-delete.test.d.ts.map +1 -0
- package/dist/handlers/campaign-delete.test.js +73 -0
- package/dist/handlers/campaign-delete.test.js.map +1 -0
- package/dist/handlers/campaign-exclude-add.d.ts +11 -0
- package/dist/handlers/campaign-exclude-add.d.ts.map +1 -0
- package/dist/handlers/campaign-exclude-add.js +58 -0
- package/dist/handlers/campaign-exclude-add.js.map +1 -0
- package/dist/handlers/campaign-exclude-add.test.d.ts +2 -0
- package/dist/handlers/campaign-exclude-add.test.d.ts.map +1 -0
- package/dist/handlers/campaign-exclude-add.test.js +144 -0
- package/dist/handlers/campaign-exclude-add.test.js.map +1 -0
- package/dist/handlers/campaign-exclude-list.d.ts +9 -0
- package/dist/handlers/campaign-exclude-list.d.ts.map +1 -0
- package/dist/handlers/campaign-exclude-list.js +46 -0
- package/dist/handlers/campaign-exclude-list.js.map +1 -0
- package/dist/handlers/campaign-exclude-list.test.d.ts +2 -0
- package/dist/handlers/campaign-exclude-list.test.d.ts.map +1 -0
- package/dist/handlers/campaign-exclude-list.test.js +109 -0
- package/dist/handlers/campaign-exclude-list.test.js.map +1 -0
- package/dist/handlers/campaign-exclude-remove.d.ts +11 -0
- package/dist/handlers/campaign-exclude-remove.d.ts.map +1 -0
- package/dist/handlers/campaign-exclude-remove.js +58 -0
- package/dist/handlers/campaign-exclude-remove.js.map +1 -0
- package/dist/handlers/campaign-exclude-remove.test.d.ts +2 -0
- package/dist/handlers/campaign-exclude-remove.test.d.ts.map +1 -0
- package/dist/handlers/campaign-exclude-remove.test.js +147 -0
- package/dist/handlers/campaign-exclude-remove.test.js.map +1 -0
- package/dist/handlers/campaign-export.d.ts +9 -0
- package/dist/handlers/campaign-export.d.ts.map +1 -0
- package/dist/handlers/campaign-export.js +42 -0
- package/dist/handlers/campaign-export.js.map +1 -0
- package/dist/handlers/campaign-export.test.d.ts +2 -0
- package/dist/handlers/campaign-export.test.d.ts.map +1 -0
- package/dist/handlers/campaign-export.test.js +84 -0
- package/dist/handlers/campaign-export.test.js.map +1 -0
- package/dist/handlers/campaign-get.d.ts +8 -0
- package/dist/handlers/campaign-get.d.ts.map +1 -0
- package/dist/handlers/campaign-get.js +46 -0
- package/dist/handlers/campaign-get.js.map +1 -0
- package/dist/handlers/campaign-get.test.d.ts +2 -0
- package/dist/handlers/campaign-get.test.d.ts.map +1 -0
- package/dist/handlers/campaign-get.test.js +131 -0
- package/dist/handlers/campaign-get.test.js.map +1 -0
- package/dist/handlers/campaign-list.d.ts +6 -0
- package/dist/handlers/campaign-list.d.ts.map +1 -0
- package/dist/handlers/campaign-list.js +55 -0
- package/dist/handlers/campaign-list.js.map +1 -0
- package/dist/handlers/campaign-list.test.d.ts +2 -0
- package/dist/handlers/campaign-list.test.d.ts.map +1 -0
- package/dist/handlers/campaign-list.test.js +129 -0
- package/dist/handlers/campaign-list.test.js.map +1 -0
- package/dist/handlers/campaign-move-next.d.ts +10 -0
- package/dist/handlers/campaign-move-next.d.ts.map +1 -0
- package/dist/handlers/campaign-move-next.js +52 -0
- package/dist/handlers/campaign-move-next.js.map +1 -0
- package/dist/handlers/campaign-move-next.test.d.ts +2 -0
- package/dist/handlers/campaign-move-next.test.d.ts.map +1 -0
- package/dist/handlers/campaign-move-next.test.js +127 -0
- package/dist/handlers/campaign-move-next.test.js.map +1 -0
- package/dist/handlers/campaign-remove-action.d.ts +8 -0
- package/dist/handlers/campaign-remove-action.d.ts.map +1 -0
- package/dist/handlers/campaign-remove-action.js +43 -0
- package/dist/handlers/campaign-remove-action.js.map +1 -0
- package/dist/handlers/campaign-remove-action.test.d.ts +2 -0
- package/dist/handlers/campaign-remove-action.test.d.ts.map +1 -0
- package/dist/handlers/campaign-remove-action.test.js +79 -0
- package/dist/handlers/campaign-remove-action.test.js.map +1 -0
- package/dist/handlers/campaign-reorder-actions.d.ts +9 -0
- package/dist/handlers/campaign-reorder-actions.d.ts.map +1 -0
- package/dist/handlers/campaign-reorder-actions.js +66 -0
- package/dist/handlers/campaign-reorder-actions.js.map +1 -0
- package/dist/handlers/campaign-reorder-actions.test.d.ts +2 -0
- package/dist/handlers/campaign-reorder-actions.test.d.ts.map +1 -0
- package/dist/handlers/campaign-reorder-actions.test.js +118 -0
- package/dist/handlers/campaign-reorder-actions.test.js.map +1 -0
- package/dist/handlers/campaign-retry.d.ts +10 -0
- package/dist/handlers/campaign-retry.d.ts.map +1 -0
- package/dist/handlers/campaign-retry.js +45 -0
- package/dist/handlers/campaign-retry.js.map +1 -0
- package/dist/handlers/campaign-retry.test.d.ts +2 -0
- package/dist/handlers/campaign-retry.test.d.ts.map +1 -0
- package/dist/handlers/campaign-retry.test.js +111 -0
- package/dist/handlers/campaign-retry.test.js.map +1 -0
- package/dist/handlers/campaign-start.d.ts +10 -0
- package/dist/handlers/campaign-start.d.ts.map +1 -0
- package/dist/handlers/campaign-start.js +54 -0
- package/dist/handlers/campaign-start.js.map +1 -0
- package/dist/handlers/campaign-start.test.d.ts +2 -0
- package/dist/handlers/campaign-start.test.d.ts.map +1 -0
- package/dist/handlers/campaign-start.test.js +119 -0
- package/dist/handlers/campaign-start.test.js.map +1 -0
- package/dist/handlers/campaign-statistics.d.ts +10 -0
- package/dist/handlers/campaign-statistics.d.ts.map +1 -0
- package/dist/handlers/campaign-statistics.js +63 -0
- package/dist/handlers/campaign-statistics.js.map +1 -0
- package/dist/handlers/campaign-statistics.test.d.ts +2 -0
- package/dist/handlers/campaign-statistics.test.d.ts.map +1 -0
- package/dist/handlers/campaign-statistics.test.js +141 -0
- package/dist/handlers/campaign-statistics.test.js.map +1 -0
- package/dist/handlers/campaign-status.d.ts +10 -0
- package/dist/handlers/campaign-status.d.ts.map +1 -0
- package/dist/handlers/campaign-status.js +62 -0
- package/dist/handlers/campaign-status.js.map +1 -0
- package/dist/handlers/campaign-status.test.d.ts +2 -0
- package/dist/handlers/campaign-status.test.d.ts.map +1 -0
- package/dist/handlers/campaign-status.test.js +123 -0
- package/dist/handlers/campaign-status.test.js.map +1 -0
- package/dist/handlers/campaign-stop.d.ts +8 -0
- package/dist/handlers/campaign-stop.d.ts.map +1 -0
- package/dist/handlers/campaign-stop.js +39 -0
- package/dist/handlers/campaign-stop.js.map +1 -0
- package/dist/handlers/campaign-stop.test.d.ts +2 -0
- package/dist/handlers/campaign-stop.test.d.ts.map +1 -0
- package/dist/handlers/campaign-stop.test.js +73 -0
- package/dist/handlers/campaign-stop.test.js.map +1 -0
- package/dist/handlers/campaign-update.d.ts +11 -0
- package/dist/handlers/campaign-update.d.ts.map +1 -0
- package/dist/handlers/campaign-update.js +51 -0
- package/dist/handlers/campaign-update.js.map +1 -0
- package/dist/handlers/campaign-update.test.d.ts +2 -0
- package/dist/handlers/campaign-update.test.d.ts.map +1 -0
- package/dist/handlers/campaign-update.test.js +95 -0
- package/dist/handlers/campaign-update.test.js.map +1 -0
- package/dist/handlers/check-replies.d.ts +9 -0
- package/dist/handlers/check-replies.d.ts.map +1 -0
- package/dist/handlers/check-replies.js +49 -0
- package/dist/handlers/check-replies.js.map +1 -0
- package/dist/handlers/check-replies.test.d.ts +2 -0
- package/dist/handlers/check-replies.test.d.ts.map +1 -0
- package/dist/handlers/check-replies.test.js +138 -0
- package/dist/handlers/check-replies.test.js.map +1 -0
- package/dist/handlers/check-status.d.ts +3 -0
- package/dist/handlers/check-status.d.ts.map +1 -1
- package/dist/handlers/check-status.js +9 -3
- package/dist/handlers/check-status.js.map +1 -1
- package/dist/handlers/check-status.test.js +3 -1
- package/dist/handlers/check-status.test.js.map +1 -1
- package/dist/handlers/describe-actions.d.ts +7 -0
- package/dist/handlers/describe-actions.d.ts.map +1 -0
- package/dist/handlers/describe-actions.js +74 -0
- package/dist/handlers/describe-actions.js.map +1 -0
- package/dist/handlers/describe-actions.test.d.ts +2 -0
- package/dist/handlers/describe-actions.test.d.ts.map +1 -0
- package/dist/handlers/describe-actions.test.js +95 -0
- package/dist/handlers/describe-actions.test.js.map +1 -0
- package/dist/handlers/find-app.d.ts +5 -0
- package/dist/handlers/find-app.d.ts.map +1 -0
- package/dist/handlers/find-app.js +28 -0
- package/dist/handlers/find-app.js.map +1 -0
- package/dist/handlers/find-app.test.d.ts +2 -0
- package/dist/handlers/find-app.test.d.ts.map +1 -0
- package/dist/handlers/find-app.test.js +75 -0
- package/dist/handlers/find-app.test.js.map +1 -0
- package/dist/handlers/import-people-from-urls.d.ts +10 -0
- package/dist/handlers/import-people-from-urls.d.ts.map +1 -0
- package/dist/handlers/import-people-from-urls.js +96 -0
- package/dist/handlers/import-people-from-urls.js.map +1 -0
- package/dist/handlers/import-people-from-urls.test.d.ts +2 -0
- package/dist/handlers/import-people-from-urls.test.d.ts.map +1 -0
- package/dist/handlers/import-people-from-urls.test.js +166 -0
- package/dist/handlers/import-people-from-urls.test.js.map +1 -0
- package/dist/handlers/index.d.ts +26 -1
- package/dist/handlers/index.d.ts.map +1 -1
- package/dist/handlers/index.js +28 -1
- package/dist/handlers/index.js.map +1 -1
- package/dist/handlers/launch-app.d.ts +2 -3
- package/dist/handlers/launch-app.d.ts.map +1 -1
- package/dist/handlers/launch-app.js +7 -4
- package/dist/handlers/launch-app.js.map +1 -1
- package/dist/handlers/launch-app.test.js +8 -6
- package/dist/handlers/launch-app.test.js.map +1 -1
- package/dist/handlers/list-accounts.d.ts +3 -0
- package/dist/handlers/list-accounts.d.ts.map +1 -1
- package/dist/handlers/list-accounts.js +10 -4
- package/dist/handlers/list-accounts.js.map +1 -1
- package/dist/handlers/list-accounts.test.js +4 -13
- package/dist/handlers/list-accounts.test.js.map +1 -1
- package/dist/handlers/person-ids.d.ts +7 -0
- package/dist/handlers/person-ids.d.ts.map +1 -0
- package/dist/handlers/person-ids.js +50 -0
- package/dist/handlers/person-ids.js.map +1 -0
- package/dist/handlers/query-messages.d.ts +10 -0
- package/dist/handlers/query-messages.d.ts.map +1 -0
- package/dist/handlers/query-messages.integration.test.d.ts +2 -0
- package/dist/handlers/query-messages.integration.test.d.ts.map +1 -0
- package/dist/handlers/query-messages.integration.test.js +106 -0
- package/dist/handlers/query-messages.integration.test.js.map +1 -0
- package/dist/handlers/query-messages.js +113 -0
- package/dist/handlers/query-messages.js.map +1 -0
- package/dist/handlers/query-messages.test.d.ts +2 -0
- package/dist/handlers/query-messages.test.d.ts.map +1 -0
- package/dist/handlers/query-messages.test.js +231 -0
- package/dist/handlers/query-messages.test.js.map +1 -0
- package/dist/handlers/query-profile.d.ts +7 -0
- package/dist/handlers/query-profile.d.ts.map +1 -0
- package/dist/handlers/query-profile.js +79 -0
- package/dist/handlers/query-profile.js.map +1 -0
- package/dist/handlers/query-profile.test.d.ts +2 -0
- package/dist/handlers/query-profile.test.d.ts.map +1 -0
- package/dist/handlers/query-profile.test.js +221 -0
- package/dist/handlers/query-profile.test.js.map +1 -0
- package/dist/handlers/query-profiles.d.ts +9 -0
- package/dist/handlers/query-profiles.d.ts.map +1 -0
- package/dist/handlers/query-profiles.js +83 -0
- package/dist/handlers/query-profiles.js.map +1 -0
- package/dist/handlers/query-profiles.test.d.ts +2 -0
- package/dist/handlers/query-profiles.test.d.ts.map +1 -0
- package/dist/handlers/query-profiles.test.js +286 -0
- package/dist/handlers/query-profiles.test.js.map +1 -0
- package/dist/handlers/quit-app.d.ts +2 -3
- package/dist/handlers/quit-app.d.ts.map +1 -1
- package/dist/handlers/quit-app.js +7 -4
- package/dist/handlers/quit-app.js.map +1 -1
- package/dist/handlers/quit-app.test.js +6 -14
- package/dist/handlers/quit-app.test.js.map +1 -1
- package/dist/handlers/scrape-messaging-history.d.ts +8 -0
- package/dist/handlers/scrape-messaging-history.d.ts.map +1 -0
- package/dist/handlers/scrape-messaging-history.js +45 -0
- package/dist/handlers/scrape-messaging-history.js.map +1 -0
- package/dist/handlers/scrape-messaging-history.test.d.ts +2 -0
- package/dist/handlers/scrape-messaging-history.test.d.ts.map +1 -0
- package/dist/handlers/scrape-messaging-history.test.js +101 -0
- package/dist/handlers/scrape-messaging-history.test.js.map +1 -0
- package/dist/handlers/start-instance.d.ts +3 -0
- package/dist/handlers/start-instance.d.ts.map +1 -1
- package/dist/handlers/start-instance.js +11 -5
- package/dist/handlers/start-instance.js.map +1 -1
- package/dist/handlers/start-instance.test.js +13 -38
- package/dist/handlers/start-instance.test.js.map +1 -1
- package/dist/handlers/stop-instance.d.ts +3 -0
- package/dist/handlers/stop-instance.d.ts.map +1 -1
- package/dist/handlers/stop-instance.js +11 -5
- package/dist/handlers/stop-instance.js.map +1 -1
- package/dist/handlers/stop-instance.test.js +14 -30
- package/dist/handlers/stop-instance.test.js.map +1 -1
- package/dist/handlers/testing/mock-helpers.d.ts +56 -0
- package/dist/handlers/testing/mock-helpers.d.ts.map +1 -0
- package/dist/handlers/testing/mock-helpers.js +95 -0
- package/dist/handlers/testing/mock-helpers.js.map +1 -0
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +284 -8
- package/dist/program.js.map +1 -1
- package/dist/program.test.js +74 -12
- package/dist/program.test.js.map +1 -1
- package/package.json +9 -5
- package/dist/handlers/visit-and-extract.d.ts +0 -5
- package/dist/handlers/visit-and-extract.d.ts.map +0 -1
- package/dist/handlers/visit-and-extract.js +0 -105
- package/dist/handlers/visit-and-extract.js.map +0 -1
- package/dist/handlers/visit-and-extract.test.d.ts +0 -2
- package/dist/handlers/visit-and-extract.test.d.ts.map +0 -1
- package/dist/handlers/visit-and-extract.test.js +0 -279
- package/dist/handlers/visit-and-extract.test.js.map +0 -1
package/dist/program.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
2
|
+
// Copyright (C) 2026 Oleksii PELYKH
|
|
1
3
|
import { createRequire } from "node:module";
|
|
2
|
-
import { Command, InvalidArgumentError } from "commander";
|
|
3
|
-
import { handleCheckStatus, handleLaunchApp, handleListAccounts, handleQuitApp, handleStartInstance, handleStopInstance,
|
|
4
|
+
import { Command, InvalidArgumentError, Option } from "commander";
|
|
5
|
+
import { handleCampaignAddAction, handleCampaignCreate, handleCampaignDelete, handleCampaignExcludeAdd, handleCampaignExcludeList, handleCampaignExcludeRemove, handleCampaignExport, handleCampaignGet, handleCampaignList, handleCampaignMoveNext, handleCampaignRemoveAction, handleCampaignReorderActions, handleCampaignRetry, handleCampaignStart, handleCampaignStatistics, handleCampaignStatus, handleCampaignStop, handleCampaignUpdate, handleImportPeopleFromUrls, handleCheckReplies, handleCheckStatus, handleDescribeActions, handleFindApp, handleLaunchApp, handleListAccounts, handleQueryMessages, handleQueryProfile, handleQueryProfiles, handleScrapeMessagingHistory, handleQuitApp, handleStartInstance, handleStopInstance, } from "./handlers/index.js";
|
|
4
6
|
const require = createRequire(import.meta.url);
|
|
5
7
|
const { version } = require("../package.json");
|
|
6
8
|
/** Parse a string as a positive integer, throwing on invalid input. */
|
|
@@ -11,6 +13,22 @@ function parsePositiveInt(value) {
|
|
|
11
13
|
}
|
|
12
14
|
return n;
|
|
13
15
|
}
|
|
16
|
+
/** Parse a string as a max-results value: positive integer or -1 for unlimited. */
|
|
17
|
+
function parseMaxResults(value) {
|
|
18
|
+
const n = Number(value);
|
|
19
|
+
if (!Number.isInteger(n) || n < -1 || n === 0) {
|
|
20
|
+
throw new InvalidArgumentError(`Expected a positive integer or -1 for unlimited, got "${value}".`);
|
|
21
|
+
}
|
|
22
|
+
return n;
|
|
23
|
+
}
|
|
24
|
+
/** Parse a string as a non-negative integer, throwing on invalid input. */
|
|
25
|
+
function parseNonNegativeInt(value) {
|
|
26
|
+
const n = Number(value);
|
|
27
|
+
if (!Number.isInteger(n) || n < 0) {
|
|
28
|
+
throw new InvalidArgumentError(`Expected a non-negative integer, got "${value}".`);
|
|
29
|
+
}
|
|
30
|
+
return n;
|
|
31
|
+
}
|
|
14
32
|
/**
|
|
15
33
|
* Create the CLI program with all subcommands registered.
|
|
16
34
|
*/
|
|
@@ -19,20 +37,25 @@ export function createProgram() {
|
|
|
19
37
|
.name("lhremote")
|
|
20
38
|
.description("CLI for LinkedHelper automation")
|
|
21
39
|
.version(version);
|
|
40
|
+
program
|
|
41
|
+
.command("find-app")
|
|
42
|
+
.description("Detect running LinkedHelper instances")
|
|
43
|
+
.option("--json", "Output as JSON")
|
|
44
|
+
.action(handleFindApp);
|
|
22
45
|
program
|
|
23
46
|
.command("launch-app")
|
|
24
47
|
.description("Launch the LinkedHelper application")
|
|
25
|
-
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
26
48
|
.action(handleLaunchApp);
|
|
27
49
|
program
|
|
28
50
|
.command("quit-app")
|
|
29
51
|
.description("Quit the LinkedHelper application")
|
|
30
|
-
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
31
52
|
.action(handleQuitApp);
|
|
32
53
|
program
|
|
33
54
|
.command("list-accounts")
|
|
34
55
|
.description("List LinkedHelper accounts")
|
|
35
56
|
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
57
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
58
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
36
59
|
.option("--json", "Output as JSON")
|
|
37
60
|
.action(handleListAccounts);
|
|
38
61
|
program
|
|
@@ -40,24 +63,277 @@ export function createProgram() {
|
|
|
40
63
|
.description("Start a LinkedHelper instance")
|
|
41
64
|
.argument("<accountId>", "Account ID to start", parsePositiveInt)
|
|
42
65
|
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
66
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
67
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
43
68
|
.action(handleStartInstance);
|
|
44
69
|
program
|
|
45
70
|
.command("stop-instance")
|
|
46
71
|
.description("Stop a LinkedHelper instance")
|
|
47
72
|
.argument("<accountId>", "Account ID to stop", parsePositiveInt)
|
|
48
73
|
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
74
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
75
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
49
76
|
.action(handleStopInstance);
|
|
50
77
|
program
|
|
51
|
-
.command("
|
|
52
|
-
.description("
|
|
53
|
-
.
|
|
78
|
+
.command("campaign-list")
|
|
79
|
+
.description("List LinkedHelper campaigns")
|
|
80
|
+
.option("--include-archived", "Include archived campaigns")
|
|
81
|
+
.option("--json", "Output as JSON")
|
|
82
|
+
.action(handleCampaignList);
|
|
83
|
+
program
|
|
84
|
+
.command("campaign-create")
|
|
85
|
+
.description("Create a new campaign from YAML or JSON configuration")
|
|
86
|
+
.option("--file <path>", "Path to campaign configuration file")
|
|
87
|
+
.option("--yaml <config>", "Inline YAML campaign configuration")
|
|
88
|
+
.option("--json-input <config>", "Inline JSON campaign configuration")
|
|
89
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
90
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
91
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
92
|
+
.option("--json", "Output as JSON")
|
|
93
|
+
.action(handleCampaignCreate);
|
|
94
|
+
program
|
|
95
|
+
.command("campaign-get")
|
|
96
|
+
.description("Get detailed campaign information")
|
|
97
|
+
.argument("<campaignId>", "Campaign ID", parsePositiveInt)
|
|
98
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
99
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
100
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
101
|
+
.option("--json", "Output as JSON")
|
|
102
|
+
.action(handleCampaignGet);
|
|
103
|
+
program
|
|
104
|
+
.command("campaign-delete")
|
|
105
|
+
.description("Delete (archive) a campaign")
|
|
106
|
+
.argument("<campaignId>", "Campaign ID to delete", parsePositiveInt)
|
|
107
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
108
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
109
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
110
|
+
.option("--json", "Output as JSON")
|
|
111
|
+
.action(handleCampaignDelete);
|
|
112
|
+
program
|
|
113
|
+
.command("campaign-exclude-list")
|
|
114
|
+
.description("View the exclude list for a campaign or action")
|
|
115
|
+
.argument("<campaignId>", "Campaign ID", parsePositiveInt)
|
|
116
|
+
.option("--action-id <id>", "Action ID (shows action-level exclude list instead of campaign-level)", parsePositiveInt)
|
|
117
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
118
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
119
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
120
|
+
.option("--json", "Output as JSON")
|
|
121
|
+
.action(handleCampaignExcludeList);
|
|
122
|
+
program
|
|
123
|
+
.command("campaign-exclude-add")
|
|
124
|
+
.description("Add people to a campaign or action exclude list")
|
|
125
|
+
.argument("<campaignId>", "Campaign ID", parsePositiveInt)
|
|
126
|
+
.option("--person-ids <ids>", "Comma-separated person IDs")
|
|
127
|
+
.option("--person-ids-file <path>", "File containing person IDs")
|
|
128
|
+
.option("--action-id <id>", "Action ID (adds to action-level exclude list instead of campaign-level)", parsePositiveInt)
|
|
129
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
130
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
131
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
132
|
+
.option("--json", "Output as JSON")
|
|
133
|
+
.action(handleCampaignExcludeAdd);
|
|
134
|
+
program
|
|
135
|
+
.command("campaign-exclude-remove")
|
|
136
|
+
.description("Remove people from a campaign or action exclude list")
|
|
137
|
+
.argument("<campaignId>", "Campaign ID", parsePositiveInt)
|
|
138
|
+
.option("--person-ids <ids>", "Comma-separated person IDs")
|
|
139
|
+
.option("--person-ids-file <path>", "File containing person IDs")
|
|
140
|
+
.option("--action-id <id>", "Action ID (removes from action-level exclude list instead of campaign-level)", parsePositiveInt)
|
|
141
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
142
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
143
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
144
|
+
.option("--json", "Output as JSON")
|
|
145
|
+
.action(handleCampaignExcludeRemove);
|
|
146
|
+
program
|
|
147
|
+
.command("campaign-export")
|
|
148
|
+
.description("Export a campaign configuration as YAML or JSON")
|
|
149
|
+
.argument("<campaignId>", "Campaign ID to export", parsePositiveInt)
|
|
150
|
+
.addOption(new Option("--format <format>", "Export format")
|
|
151
|
+
.choices(["yaml", "json"])
|
|
152
|
+
.default("yaml"))
|
|
153
|
+
.option("--output <path>", "Output file path (default: stdout)")
|
|
154
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
155
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
156
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
157
|
+
.action(handleCampaignExport);
|
|
158
|
+
program
|
|
159
|
+
.command("campaign-status")
|
|
160
|
+
.description("Check campaign execution status")
|
|
161
|
+
.argument("<campaignId>", "Campaign ID to check", parsePositiveInt)
|
|
162
|
+
.option("--include-results", "Include execution results")
|
|
163
|
+
.option("--limit <n>", "Max results to show (default: 20)", parsePositiveInt)
|
|
164
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
165
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
166
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
167
|
+
.option("--json", "Output as JSON")
|
|
168
|
+
.action(handleCampaignStatus);
|
|
169
|
+
program
|
|
170
|
+
.command("campaign-statistics")
|
|
171
|
+
.description("Get per-action statistics for a campaign")
|
|
172
|
+
.argument("<campaignId>", "Campaign ID", parsePositiveInt)
|
|
173
|
+
.option("--action-id <id>", "Filter to a specific action", parsePositiveInt)
|
|
174
|
+
.option("--max-errors <n>", "Max top errors per action (default: 5)", parsePositiveInt)
|
|
175
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
176
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
177
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
178
|
+
.option("--json", "Output as JSON")
|
|
179
|
+
.action(handleCampaignStatistics);
|
|
180
|
+
program
|
|
181
|
+
.command("campaign-move-next")
|
|
182
|
+
.description("Move people from one action to the next in a campaign")
|
|
183
|
+
.argument("<campaignId>", "Campaign ID", parsePositiveInt)
|
|
184
|
+
.argument("<actionId>", "Action ID to move people from", parsePositiveInt)
|
|
185
|
+
.option("--person-ids <ids>", "Comma-separated person IDs")
|
|
186
|
+
.option("--person-ids-file <path>", "File containing person IDs")
|
|
187
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
188
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
189
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
190
|
+
.option("--json", "Output as JSON")
|
|
191
|
+
.action(handleCampaignMoveNext);
|
|
192
|
+
program
|
|
193
|
+
.command("campaign-retry")
|
|
194
|
+
.description("Reset specified people for re-run in a campaign")
|
|
195
|
+
.argument("<campaignId>", "Campaign ID", parsePositiveInt)
|
|
196
|
+
.option("--person-ids <ids>", "Comma-separated person IDs")
|
|
197
|
+
.option("--person-ids-file <path>", "File containing person IDs")
|
|
198
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
199
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
200
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
201
|
+
.option("--json", "Output as JSON")
|
|
202
|
+
.action(handleCampaignRetry);
|
|
203
|
+
program
|
|
204
|
+
.command("campaign-start")
|
|
205
|
+
.description("Start a campaign with specified target persons")
|
|
206
|
+
.argument("<campaignId>", "Campaign ID to start", parsePositiveInt)
|
|
207
|
+
.option("--person-ids <ids>", "Comma-separated person IDs")
|
|
208
|
+
.option("--person-ids-file <path>", "File containing person IDs")
|
|
209
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
210
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
211
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
212
|
+
.option("--json", "Output as JSON")
|
|
213
|
+
.action(handleCampaignStart);
|
|
214
|
+
program
|
|
215
|
+
.command("campaign-stop")
|
|
216
|
+
.description("Stop a running campaign")
|
|
217
|
+
.argument("<campaignId>", "Campaign ID to stop", parsePositiveInt)
|
|
218
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
219
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
220
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
221
|
+
.option("--json", "Output as JSON")
|
|
222
|
+
.action(handleCampaignStop);
|
|
223
|
+
program
|
|
224
|
+
.command("campaign-update")
|
|
225
|
+
.description("Update a campaign's name and/or description")
|
|
226
|
+
.argument("<campaignId>", "Campaign ID to update", parsePositiveInt)
|
|
227
|
+
.option("--name <name>", "New campaign name")
|
|
228
|
+
.option("--description <text>", "New campaign description")
|
|
229
|
+
.option("--clear-description", "Clear the campaign description")
|
|
230
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
231
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
232
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
233
|
+
.option("--json", "Output as JSON")
|
|
234
|
+
.action(handleCampaignUpdate);
|
|
235
|
+
program
|
|
236
|
+
.command("campaign-add-action")
|
|
237
|
+
.description("Add a new action to a campaign's action chain")
|
|
238
|
+
.argument("<campaignId>", "Campaign ID", parsePositiveInt)
|
|
239
|
+
.requiredOption("--name <name>", "Display name for the action")
|
|
240
|
+
.requiredOption("--action-type <type>", "Action type identifier (e.g., 'VisitAndExtract', 'MessageToPerson')")
|
|
241
|
+
.option("--description <text>", "Action description")
|
|
242
|
+
.option("--cool-down <ms>", "Milliseconds between action executions", parsePositiveInt)
|
|
243
|
+
.option("--max-results <n>", "Maximum results per iteration (-1 for unlimited)", parseMaxResults)
|
|
244
|
+
.option("--action-settings <json>", "Action-specific settings as JSON")
|
|
245
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
246
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
247
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
248
|
+
.option("--json", "Output as JSON")
|
|
249
|
+
.action(handleCampaignAddAction);
|
|
250
|
+
program
|
|
251
|
+
.command("campaign-remove-action")
|
|
252
|
+
.description("Remove an action from a campaign's action chain")
|
|
253
|
+
.argument("<campaignId>", "Campaign ID", parsePositiveInt)
|
|
254
|
+
.argument("<actionId>", "Action ID to remove", parsePositiveInt)
|
|
255
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
256
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
257
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
258
|
+
.option("--json", "Output as JSON")
|
|
259
|
+
.action(handleCampaignRemoveAction);
|
|
260
|
+
program
|
|
261
|
+
.command("campaign-reorder-actions")
|
|
262
|
+
.description("Reorder actions in a campaign's action chain")
|
|
263
|
+
.argument("<campaignId>", "Campaign ID", parsePositiveInt)
|
|
264
|
+
.requiredOption("--action-ids <ids>", "Comma-separated action IDs in desired order")
|
|
265
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
266
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
267
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
268
|
+
.option("--json", "Output as JSON")
|
|
269
|
+
.action(handleCampaignReorderActions);
|
|
270
|
+
program
|
|
271
|
+
.command("import-people-from-urls")
|
|
272
|
+
.description("Import LinkedIn profile URLs into a campaign action target list")
|
|
273
|
+
.argument("<campaignId>", "Campaign ID to import into", parsePositiveInt)
|
|
274
|
+
.option("--urls <urls>", "Comma-separated LinkedIn profile URLs")
|
|
275
|
+
.option("--urls-file <path>", "File containing LinkedIn profile URLs")
|
|
276
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
277
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
278
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
279
|
+
.option("--json", "Output as JSON")
|
|
280
|
+
.action(handleImportPeopleFromUrls);
|
|
281
|
+
program
|
|
282
|
+
.command("describe-actions")
|
|
283
|
+
.description("List available LinkedHelper action types")
|
|
284
|
+
.option("--category <category>", "Filter by category (people, messaging, engagement, crm, workflow)")
|
|
285
|
+
.option("--type <type>", "Get details for a specific action type")
|
|
286
|
+
.option("--json", "Output as JSON")
|
|
287
|
+
.action(handleDescribeActions);
|
|
288
|
+
program
|
|
289
|
+
.command("query-messages")
|
|
290
|
+
.description("Query messaging history from the local database")
|
|
291
|
+
.option("--person-id <id>", "Filter by person ID", parsePositiveInt)
|
|
292
|
+
.option("--chat-id <id>", "Show specific conversation thread", parsePositiveInt)
|
|
293
|
+
.option("--search <text>", "Search message text")
|
|
294
|
+
.option("--limit <n>", "Max results (default: 20)", parsePositiveInt)
|
|
295
|
+
.option("--offset <n>", "Pagination offset (default: 0)", parseNonNegativeInt)
|
|
296
|
+
.option("--json", "Output as JSON")
|
|
297
|
+
.action(handleQueryMessages);
|
|
298
|
+
program
|
|
299
|
+
.command("query-profile")
|
|
300
|
+
.description("Look up a cached profile from the local database")
|
|
301
|
+
.option("--person-id <id>", "Look up by internal person ID", parsePositiveInt)
|
|
302
|
+
.option("--public-id <slug>", "Look up by LinkedIn public ID")
|
|
303
|
+
.option("--json", "Output as JSON")
|
|
304
|
+
.action(handleQueryProfile);
|
|
305
|
+
program
|
|
306
|
+
.command("query-profiles")
|
|
307
|
+
.description("Search for profiles in the local database")
|
|
308
|
+
.option("--query <text>", "Search name or headline")
|
|
309
|
+
.option("--company <name>", "Filter by company")
|
|
310
|
+
.option("--limit <n>", "Max results (default: 20)", parsePositiveInt)
|
|
311
|
+
.option("--offset <n>", "Pagination offset (default: 0)", parseNonNegativeInt)
|
|
312
|
+
.option("--json", "Output as JSON")
|
|
313
|
+
.action(handleQueryProfiles);
|
|
314
|
+
program
|
|
315
|
+
.command("scrape-messaging-history")
|
|
316
|
+
.description("Scrape messaging history from LinkedIn into the local database")
|
|
317
|
+
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
318
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
319
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
320
|
+
.option("--json", "Output as JSON")
|
|
321
|
+
.action(handleScrapeMessagingHistory);
|
|
322
|
+
program
|
|
323
|
+
.command("check-replies")
|
|
324
|
+
.description("Check for new message replies from LinkedIn")
|
|
325
|
+
.option("--since <timestamp>", "Only show replies after this ISO timestamp")
|
|
54
326
|
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
327
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
328
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
55
329
|
.option("--json", "Output as JSON")
|
|
56
|
-
.action(
|
|
330
|
+
.action(handleCheckReplies);
|
|
57
331
|
program
|
|
58
332
|
.command("check-status")
|
|
59
333
|
.description("Check LinkedHelper status")
|
|
60
334
|
.option("--cdp-port <port>", "CDP debugging port", parsePositiveInt)
|
|
335
|
+
.option("--cdp-host <host>", "CDP host (default: 127.0.0.1)")
|
|
336
|
+
.option("--allow-remote", "SECURITY: allow non-loopback CDP connections (enables remote code execution on target)")
|
|
61
337
|
.option("--json", "Output as JSON")
|
|
62
338
|
.action(handleCheckStatus);
|
|
63
339
|
return program;
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
package/dist/program.test.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
2
|
+
// Copyright (C) 2026 Oleksii PELYKH
|
|
1
3
|
import { createRequire } from "node:module";
|
|
2
4
|
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
5
|
import { createProgram } from "./program.js";
|
|
@@ -23,21 +25,54 @@ describe("createProgram", () => {
|
|
|
23
25
|
it("registers all expected subcommands", () => {
|
|
24
26
|
const program = createProgram();
|
|
25
27
|
const commandNames = program.commands.map((c) => c.name());
|
|
28
|
+
expect(commandNames).toContain("find-app");
|
|
26
29
|
expect(commandNames).toContain("launch-app");
|
|
27
30
|
expect(commandNames).toContain("quit-app");
|
|
28
31
|
expect(commandNames).toContain("list-accounts");
|
|
29
32
|
expect(commandNames).toContain("start-instance");
|
|
30
33
|
expect(commandNames).toContain("stop-instance");
|
|
31
|
-
expect(commandNames).toContain("
|
|
34
|
+
expect(commandNames).toContain("query-profile");
|
|
35
|
+
expect(commandNames).toContain("query-profiles");
|
|
36
|
+
expect(commandNames).toContain("query-messages");
|
|
37
|
+
expect(commandNames).toContain("scrape-messaging-history");
|
|
38
|
+
expect(commandNames).toContain("campaign-create");
|
|
39
|
+
expect(commandNames).toContain("campaign-delete");
|
|
40
|
+
expect(commandNames).toContain("campaign-export");
|
|
41
|
+
expect(commandNames).toContain("campaign-get");
|
|
42
|
+
expect(commandNames).toContain("campaign-list");
|
|
43
|
+
expect(commandNames).toContain("campaign-retry");
|
|
44
|
+
expect(commandNames).toContain("campaign-start");
|
|
45
|
+
expect(commandNames).toContain("campaign-statistics");
|
|
46
|
+
expect(commandNames).toContain("campaign-status");
|
|
47
|
+
expect(commandNames).toContain("campaign-stop");
|
|
48
|
+
expect(commandNames).toContain("campaign-update");
|
|
49
|
+
expect(commandNames).toContain("check-replies");
|
|
32
50
|
expect(commandNames).toContain("check-status");
|
|
33
|
-
expect(commandNames).
|
|
51
|
+
expect(commandNames).toContain("describe-actions");
|
|
52
|
+
expect(commandNames).toContain("import-people-from-urls");
|
|
53
|
+
expect(commandNames).toContain("campaign-move-next");
|
|
54
|
+
expect(commandNames).toContain("campaign-add-action");
|
|
55
|
+
expect(commandNames).toContain("campaign-remove-action");
|
|
56
|
+
expect(commandNames).toContain("campaign-reorder-actions");
|
|
57
|
+
expect(commandNames).toContain("campaign-exclude-list");
|
|
58
|
+
expect(commandNames).toContain("campaign-exclude-add");
|
|
59
|
+
expect(commandNames).toContain("campaign-exclude-remove");
|
|
60
|
+
expect(commandNames).toHaveLength(32);
|
|
34
61
|
});
|
|
35
62
|
describe("launch-app", () => {
|
|
36
|
-
it("
|
|
63
|
+
it("does not have --cdp-port option", () => {
|
|
37
64
|
const program = createProgram();
|
|
38
65
|
const cmd = program.commands.find((c) => c.name() === "launch-app");
|
|
39
66
|
const portOption = cmd?.options.find((o) => o.long === "--cdp-port");
|
|
40
|
-
expect(portOption).
|
|
67
|
+
expect(portOption).toBeUndefined();
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
describe("quit-app", () => {
|
|
71
|
+
it("does not have --cdp-port option", () => {
|
|
72
|
+
const program = createProgram();
|
|
73
|
+
const cmd = program.commands.find((c) => c.name() === "quit-app");
|
|
74
|
+
const portOption = cmd?.options.find((o) => o.long === "--cdp-port");
|
|
75
|
+
expect(portOption).toBeUndefined();
|
|
41
76
|
});
|
|
42
77
|
});
|
|
43
78
|
describe("list-accounts", () => {
|
|
@@ -63,15 +98,42 @@ describe("createProgram", () => {
|
|
|
63
98
|
await expect(program.parseAsync(["node", "lhremote", "start-instance", "abc"])).rejects.toThrow();
|
|
64
99
|
});
|
|
65
100
|
});
|
|
66
|
-
describe("
|
|
67
|
-
it("
|
|
101
|
+
describe("campaign-add-action --max-results", () => {
|
|
102
|
+
it("rejects non-numeric value", async () => {
|
|
68
103
|
const program = createProgram();
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
104
|
+
program.exitOverride().configureOutput({ writeErr: () => { } });
|
|
105
|
+
await expect(program.parseAsync([
|
|
106
|
+
"node", "lhremote", "campaign-add-action", "1",
|
|
107
|
+
"--name", "test", "--action-type", "VisitAndExtract",
|
|
108
|
+
"--max-results", "abc",
|
|
109
|
+
])).rejects.toThrow();
|
|
110
|
+
});
|
|
111
|
+
it("rejects fractional value", async () => {
|
|
112
|
+
const program = createProgram();
|
|
113
|
+
program.exitOverride().configureOutput({ writeErr: () => { } });
|
|
114
|
+
await expect(program.parseAsync([
|
|
115
|
+
"node", "lhremote", "campaign-add-action", "1",
|
|
116
|
+
"--name", "test", "--action-type", "VisitAndExtract",
|
|
117
|
+
"--max-results", "3.7",
|
|
118
|
+
])).rejects.toThrow();
|
|
119
|
+
});
|
|
120
|
+
it("rejects zero", async () => {
|
|
121
|
+
const program = createProgram();
|
|
122
|
+
program.exitOverride().configureOutput({ writeErr: () => { } });
|
|
123
|
+
await expect(program.parseAsync([
|
|
124
|
+
"node", "lhremote", "campaign-add-action", "1",
|
|
125
|
+
"--name", "test", "--action-type", "VisitAndExtract",
|
|
126
|
+
"--max-results", "0",
|
|
127
|
+
])).rejects.toThrow();
|
|
128
|
+
});
|
|
129
|
+
it("rejects values less than -1", async () => {
|
|
130
|
+
const program = createProgram();
|
|
131
|
+
program.exitOverride().configureOutput({ writeErr: () => { } });
|
|
132
|
+
await expect(program.parseAsync([
|
|
133
|
+
"node", "lhremote", "campaign-add-action", "1",
|
|
134
|
+
"--name", "test", "--action-type", "VisitAndExtract",
|
|
135
|
+
"--max-results", "-2",
|
|
136
|
+
])).rejects.toThrow();
|
|
75
137
|
});
|
|
76
138
|
});
|
|
77
139
|
describe("check-status", () => {
|
package/dist/program.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.test.js","sourceRoot":"","sources":["../src/program.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAE1C,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC;QACpC,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3D,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACjD,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"program.test.js","sourceRoot":"","sources":["../src/program.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lhremote/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "CLI for LinkedHelper automation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
7
|
-
"node": ">=
|
|
7
|
+
"node": ">=24"
|
|
8
8
|
},
|
|
9
9
|
"license": "AGPL-3.0-only",
|
|
10
10
|
"author": "Alexey Pelykh (https://github.com/alexey-pelykh)",
|
|
@@ -19,6 +19,10 @@
|
|
|
19
19
|
".": {
|
|
20
20
|
"types": "./dist/program.d.ts",
|
|
21
21
|
"import": "./dist/program.js"
|
|
22
|
+
},
|
|
23
|
+
"./handlers": {
|
|
24
|
+
"types": "./dist/handlers/index.d.ts",
|
|
25
|
+
"import": "./dist/handlers/index.js"
|
|
22
26
|
}
|
|
23
27
|
},
|
|
24
28
|
"bin": {
|
|
@@ -29,12 +33,12 @@
|
|
|
29
33
|
],
|
|
30
34
|
"dependencies": {
|
|
31
35
|
"commander": "^14.0.3",
|
|
32
|
-
"@lhremote/core": "^0.
|
|
36
|
+
"@lhremote/core": "^0.2.0"
|
|
33
37
|
},
|
|
34
38
|
"devDependencies": {
|
|
35
|
-
"@types/node": "^
|
|
39
|
+
"@types/node": "^25",
|
|
36
40
|
"eslint": "^9.39.2",
|
|
37
|
-
"typescript": "^5.
|
|
41
|
+
"typescript": "^5.9.3",
|
|
38
42
|
"vitest": "^4.0.18"
|
|
39
43
|
},
|
|
40
44
|
"scripts": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"visit-and-extract.d.ts","sourceRoot":"","sources":["../../src/handlers/visit-and-extract.ts"],"names":[],"mappings":"AAUA,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5C,OAAO,CAAC,IAAI,CAAC,CAiHf"}
|