@linkedapi/linkedin-cli 1.0.6 → 1.0.7
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 +37 -0
- package/dist/commands/account/update.d.ts +15 -0
- package/dist/commands/account/update.d.ts.map +1 -0
- package/dist/commands/account/update.js +118 -0
- package/dist/commands/account/update.js.map +1 -0
- package/dist/core/auth/config-store.d.ts +5 -0
- package/dist/core/auth/config-store.d.ts.map +1 -1
- package/dist/core/auth/config-store.js +17 -0
- package/dist/core/auth/config-store.js.map +1 -1
- package/dist/core/errors/error-handler.d.ts +1 -0
- package/dist/core/errors/error-handler.d.ts.map +1 -1
- package/dist/core/errors/error-handler.js +4 -0
- package/dist/core/errors/error-handler.js.map +1 -1
- package/dist/utils/masked-input.d.ts +2 -0
- package/dist/utils/masked-input.d.ts.map +1 -0
- package/dist/utils/masked-input.js +43 -0
- package/dist/utils/masked-input.js.map +1 -0
- package/oclif.manifest.json +47 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -60,6 +60,15 @@ linkedin account list
|
|
|
60
60
|
# Switch active account
|
|
61
61
|
linkedin account switch "Vlad"
|
|
62
62
|
|
|
63
|
+
# Update tokens for active account (e.g. after regenerating tokens on the dashboard)
|
|
64
|
+
linkedin account update
|
|
65
|
+
|
|
66
|
+
# Update tokens for a specific account
|
|
67
|
+
linkedin account update "Vlad"
|
|
68
|
+
|
|
69
|
+
# Non-interactive token update
|
|
70
|
+
linkedin account update --linked-api-token=xxx --identification-token=yyy
|
|
71
|
+
|
|
63
72
|
# Rename a saved account
|
|
64
73
|
linkedin account rename "Vlad" --name "My Work Account"
|
|
65
74
|
|
|
@@ -772,6 +781,34 @@ linkedin account list
|
|
|
772
781
|
|
|
773
782
|
The active account is marked with `*`.
|
|
774
783
|
|
|
784
|
+
#### `account update`
|
|
785
|
+
|
|
786
|
+
Update tokens for a saved account. Useful when your tokens were regenerated on the dashboard and you need to refresh them in the CLI.
|
|
787
|
+
|
|
788
|
+
```bash
|
|
789
|
+
linkedin account update [name] [flags]
|
|
790
|
+
```
|
|
791
|
+
|
|
792
|
+
| Arg | Required | Description |
|
|
793
|
+
|-----|----------|-------------|
|
|
794
|
+
| `name` | no | Account name (case-insensitive substring match). Defaults to active account. |
|
|
795
|
+
|
|
796
|
+
| Flag | Type | Description |
|
|
797
|
+
|------|------|-------------|
|
|
798
|
+
| `--linked-api-token` | string | New Linked API Token (skips prompt) |
|
|
799
|
+
| `--identification-token` | string | New Identification Token (skips prompt) |
|
|
800
|
+
|
|
801
|
+
```bash
|
|
802
|
+
# Update active account interactively
|
|
803
|
+
linkedin account update
|
|
804
|
+
|
|
805
|
+
# Update a specific account
|
|
806
|
+
linkedin account update "Vlad"
|
|
807
|
+
|
|
808
|
+
# Non-interactive (for scripts/CI)
|
|
809
|
+
linkedin account update --linked-api-token=xxx --identification-token=yyy
|
|
810
|
+
```
|
|
811
|
+
|
|
775
812
|
#### `account switch`
|
|
776
813
|
|
|
777
814
|
Switch the active LinkedIn account.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class AccountUpdate extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
name: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
'linked-api-token': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
'identification-token': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
static examples: string[];
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
private resolveAccount;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/account/update.ts"],"names":[],"mappings":"AAGA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAInD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAChD,OAAgB,WAAW,SAAgD;IAE3E,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;;MAOnB;IAEF,OAAgB,QAAQ,WAItB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA8EjC,OAAO,CAAC,cAAc;CAqCvB"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const config_store_1 = require("../../core/auth/config-store");
|
|
4
|
+
const build_client_1 = require("../../core/client/build-client");
|
|
5
|
+
const exit_codes_1 = require("../../core/errors/exit-codes");
|
|
6
|
+
const core_1 = require("@oclif/core");
|
|
7
|
+
const masked_input_1 = require("../../utils/masked-input");
|
|
8
|
+
const tty_1 = require("../../utils/tty");
|
|
9
|
+
class AccountUpdate extends core_1.Command {
|
|
10
|
+
static description = 'Update tokens for a saved LinkedIn account';
|
|
11
|
+
static args = {
|
|
12
|
+
name: core_1.Args.string({
|
|
13
|
+
description: 'Account name to update (case-insensitive substring match). Defaults to active account.',
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
static flags = {
|
|
17
|
+
'linked-api-token': core_1.Flags.string({
|
|
18
|
+
description: 'New Linked API Token (for non-interactive use)',
|
|
19
|
+
}),
|
|
20
|
+
'identification-token': core_1.Flags.string({
|
|
21
|
+
description: 'New Identification Token (for non-interactive use)',
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
static examples = [
|
|
25
|
+
'<%= config.bin %> account update',
|
|
26
|
+
'<%= config.bin %> account update "John"',
|
|
27
|
+
'<%= config.bin %> account update --linked-api-token=xxx --identification-token=yyy',
|
|
28
|
+
];
|
|
29
|
+
async run() {
|
|
30
|
+
const { args, flags } = await this.parse(AccountUpdate);
|
|
31
|
+
const account = this.resolveAccount(args.name);
|
|
32
|
+
if (!account) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
let linkedApiToken;
|
|
36
|
+
let identificationToken;
|
|
37
|
+
if (flags['linked-api-token'] && flags['identification-token']) {
|
|
38
|
+
linkedApiToken = flags['linked-api-token'];
|
|
39
|
+
identificationToken = flags['identification-token'];
|
|
40
|
+
}
|
|
41
|
+
else if (!(0, tty_1.isStdinTty)()) {
|
|
42
|
+
process.stderr.write(`Cannot run interactive update in non-interactive mode.
|
|
43
|
+
Use flags instead:
|
|
44
|
+
|
|
45
|
+
linkedin account update --linked-api-token=xxx --identification-token=yyy
|
|
46
|
+
|
|
47
|
+
Get tokens at https://app.linkedapi.io\n`);
|
|
48
|
+
this.exit(exit_codes_1.EXIT_CODE.AUTH);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
process.stdout.write(`Updating tokens for "${account.name}".\n` +
|
|
53
|
+
'Get new tokens at https://app.linkedapi.io\n\n');
|
|
54
|
+
linkedApiToken = await (0, masked_input_1.readMaskedInput)('New Linked API Token: ', 'account_');
|
|
55
|
+
identificationToken = await (0, masked_input_1.readMaskedInput)('New Identification Token: ', 'id_');
|
|
56
|
+
}
|
|
57
|
+
if (!linkedApiToken || !identificationToken) {
|
|
58
|
+
process.stderr.write('Both tokens are required.\n');
|
|
59
|
+
this.exit(exit_codes_1.EXIT_CODE.AUTH);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
process.stdout.write('Verifying tokens... ');
|
|
63
|
+
let accountName = '';
|
|
64
|
+
try {
|
|
65
|
+
const tempClient = (0, build_client_1.buildClient)({
|
|
66
|
+
linkedApiToken,
|
|
67
|
+
identificationToken,
|
|
68
|
+
});
|
|
69
|
+
const accountInfo = await tempClient.getAccountInfo();
|
|
70
|
+
accountName = accountInfo.data?.name ?? '';
|
|
71
|
+
process.stdout.write('OK\n');
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
process.stdout.write('FAILED\n');
|
|
75
|
+
process.stderr.write('\nInvalid tokens. Make sure you copied the correct tokens from https://app.linkedapi.io\n');
|
|
76
|
+
this.exit(exit_codes_1.EXIT_CODE.AUTH);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const displayName = accountName || account.name;
|
|
80
|
+
const updated = (0, config_store_1.updateAccountTokens)(account.identificationToken, {
|
|
81
|
+
name: displayName,
|
|
82
|
+
linkedApiToken,
|
|
83
|
+
identificationToken,
|
|
84
|
+
});
|
|
85
|
+
if (!updated) {
|
|
86
|
+
process.stderr.write('Failed to update account.\n');
|
|
87
|
+
this.exit(exit_codes_1.EXIT_CODE.GENERAL);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
process.stdout.write(`Account "${displayName}" updated successfully.\n`);
|
|
91
|
+
}
|
|
92
|
+
resolveAccount(nameQuery) {
|
|
93
|
+
const accounts = (0, config_store_1.listAccounts)();
|
|
94
|
+
if (accounts.length === 0) {
|
|
95
|
+
process.stderr.write('No accounts configured. Run "linkedin setup" to add one.\n');
|
|
96
|
+
this.exit(exit_codes_1.EXIT_CODE.AUTH);
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
if (nameQuery) {
|
|
100
|
+
const account = (0, config_store_1.findAccountByName)(nameQuery);
|
|
101
|
+
if (!account) {
|
|
102
|
+
process.stderr.write(`Account "${nameQuery}" not found. Run "linkedin account list" to see available accounts.\n`);
|
|
103
|
+
this.exit(exit_codes_1.EXIT_CODE.GENERAL);
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
return account;
|
|
107
|
+
}
|
|
108
|
+
const current = accounts.find((account) => account.isCurrent);
|
|
109
|
+
if (!current) {
|
|
110
|
+
process.stderr.write('No active account. Run "linkedin account list" to see available accounts.\n');
|
|
111
|
+
this.exit(exit_codes_1.EXIT_CODE.AUTH);
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
return current;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.default = AccountUpdate;
|
|
118
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/account/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,11 @@ export declare function listAccounts(): Array<TAccountEntry & {
|
|
|
15
15
|
}>;
|
|
16
16
|
export declare function setCurrentAccount(identificationToken: string): boolean;
|
|
17
17
|
export declare function findAccountByName(nameQuery: string): TAccountEntry | undefined;
|
|
18
|
+
export declare function updateAccountTokens(oldIdentificationToken: string, newTokens: {
|
|
19
|
+
name: string;
|
|
20
|
+
linkedApiToken: string;
|
|
21
|
+
identificationToken: string;
|
|
22
|
+
}): boolean;
|
|
18
23
|
export declare function renameAccount(identificationToken: string, newName: string): boolean;
|
|
19
24
|
export declare function deleteConfig(): boolean;
|
|
20
25
|
export declare function getConfigFilePath(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../../src/core/auth/config-store.ts"],"names":[],"mappings":"AAIA,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAiFD,wBAAgB,UAAU,IAAI;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA6BhG;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAkBvD;AAED,wBAAgB,oBAAoB,IAAI,aAAa,GAAG,SAAS,CAyBhE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAa1C;AAED,wBAAgB,YAAY,IAAI,KAAK,CAAC,aAAa,GAAG;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAW5E;AAED,wBAAgB,iBAAiB,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAkBtE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAU9E;AAED,wBAAgB,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAkBnF;AAED,wBAAgB,YAAY,IAAI,OAAO,CAStC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
|
|
1
|
+
{"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../../src/core/auth/config-store.ts"],"names":[],"mappings":"AAIA,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAiFD,wBAAgB,UAAU,IAAI;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA6BhG;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAkBvD;AAED,wBAAgB,oBAAoB,IAAI,aAAa,GAAG,SAAS,CAyBhE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAa1C;AAED,wBAAgB,YAAY,IAAI,KAAK,CAAC,aAAa,GAAG;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAW5E;AAED,wBAAgB,iBAAiB,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAkBtE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAU9E;AAED,wBAAgB,mBAAmB,CACjC,sBAAsB,EAAE,MAAM,EAC9B,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,GAC/E,OAAO,CAuBT;AAED,wBAAgB,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAkBnF;AAED,wBAAgB,YAAY,IAAI,OAAO,CAStC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
|
|
@@ -7,6 +7,7 @@ exports.removeAllAccounts = removeAllAccounts;
|
|
|
7
7
|
exports.listAccounts = listAccounts;
|
|
8
8
|
exports.setCurrentAccount = setCurrentAccount;
|
|
9
9
|
exports.findAccountByName = findAccountByName;
|
|
10
|
+
exports.updateAccountTokens = updateAccountTokens;
|
|
10
11
|
exports.renameAccount = renameAccount;
|
|
11
12
|
exports.deleteConfig = deleteConfig;
|
|
12
13
|
exports.getConfigFilePath = getConfigFilePath;
|
|
@@ -168,6 +169,22 @@ function findAccountByName(nameQuery) {
|
|
|
168
169
|
const lowerQuery = nameQuery.toLowerCase();
|
|
169
170
|
return config.accounts.find((account) => account.name.toLowerCase().includes(lowerQuery));
|
|
170
171
|
}
|
|
172
|
+
function updateAccountTokens(oldIdentificationToken, newTokens) {
|
|
173
|
+
const config = readRawConfig();
|
|
174
|
+
if (!config) {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
const index = config.accounts.findIndex((account) => account.identificationToken === oldIdentificationToken);
|
|
178
|
+
if (index < 0) {
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
config.accounts[index] = newTokens;
|
|
182
|
+
if (config.currentAccount === oldIdentificationToken) {
|
|
183
|
+
config.currentAccount = newTokens.identificationToken;
|
|
184
|
+
}
|
|
185
|
+
saveRawConfig(config);
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
171
188
|
function renameAccount(identificationToken, newName) {
|
|
172
189
|
const config = readRawConfig();
|
|
173
190
|
if (!config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-store.js","sourceRoot":"","sources":["../../../src/core/auth/config-store.ts"],"names":[],"mappings":";;AAyFA,gCA6BC;AAED,gCAkBC;AAED,oDAyBC;AAED,8CAaC;AAED,oCAWC;AAED,8CAkBC;AAED,8CAUC;AAED,sCAkBC;AAED,oCASC;AAED,8CAEC;
|
|
1
|
+
{"version":3,"file":"config-store.js","sourceRoot":"","sources":["../../../src/core/auth/config-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../../src/core/errors/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiC,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAa,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,UAAU,SAAS;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../../src/core/errors/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiC,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAa,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,UAAU,SAAS;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CA4D5E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAe5D"}
|
|
@@ -22,6 +22,7 @@ function mapLinkedApiErrorToCliError(error) {
|
|
|
22
22
|
exitCode: exit_codes_1.EXIT_CODE.AUTH,
|
|
23
23
|
error: error.type,
|
|
24
24
|
message: error.message,
|
|
25
|
+
hint: 'Run "linkedin account update" to refresh your tokens.',
|
|
25
26
|
};
|
|
26
27
|
case 'subscriptionRequired':
|
|
27
28
|
case 'plusPlanRequired':
|
|
@@ -67,5 +68,8 @@ function writeErrorToStderr(cliError) {
|
|
|
67
68
|
output.workflowId = cliError.workflowId;
|
|
68
69
|
}
|
|
69
70
|
process.stderr.write(JSON.stringify(output) + '\n');
|
|
71
|
+
if (cliError.hint) {
|
|
72
|
+
process.stderr.write(`\n${cliError.hint}\n`);
|
|
73
|
+
}
|
|
70
74
|
}
|
|
71
75
|
//# sourceMappingURL=error-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../../src/core/errors/error-handler.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../../src/core/errors/error-handler.ts"],"names":[],"mappings":";;AAYA,kEA4DC;AAED,gDAeC;AAzFD,0CAAgF;AAEhF,6CAAoD;AAUpD,SAAgB,2BAA2B,CAAC,KAAqB;IAC/D,IAAI,KAAK,YAAY,oCAA6B,EAAE,CAAC;QACnD,OAAO;YACL,QAAQ,EAAE,sBAAS,CAAC,OAAO;YAC3B,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,qDAAqD,KAAK,CAAC,UAAU,+BAA+B;YAC7G,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC;IACJ,CAAC;IAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,wBAAwB,CAAC;QAC9B,KAAK,uBAAuB,CAAC;QAC7B,KAAK,6BAA6B,CAAC;QACnC,KAAK,4BAA4B;YAC/B,OAAO;gBACL,QAAQ,EAAE,sBAAS,CAAC,IAAI;gBACxB,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,uDAAuD;aAC9D,CAAC;QAEJ,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,OAAO;gBACL,QAAQ,EAAE,sBAAS,CAAC,YAAY;gBAChC,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QAEJ,KAAK,0BAA0B,CAAC;QAChC,KAAK,sBAAsB;YACzB,OAAO;gBACL,QAAQ,EAAE,sBAAS,CAAC,OAAO;gBAC3B,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QAEJ,KAAK,uBAAuB,CAAC;QAC7B,KAAK,iBAAiB;YACpB,OAAO;gBACL,QAAQ,EAAE,sBAAS,CAAC,UAAU;gBAC9B,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QAEJ,KAAK,WAAW;YACd,OAAO;gBACL,QAAQ,EAAE,sBAAS,CAAC,OAAO;gBAC3B,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QAEJ;YACE,OAAO;gBACL,QAAQ,EAAE,sBAAS,CAAC,OAAO;gBAC3B,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAmB;IACpD,MAAM,MAAM,GAA4B;QACtC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC;IAEF,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAEpD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"masked-input.d.ts","sourceRoot":"","sources":["../../src/utils/masked-input.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwCtF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readMaskedInput = readMaskedInput;
|
|
4
|
+
function readMaskedInput(prompt, visiblePrefix) {
|
|
5
|
+
return new Promise((resolve) => {
|
|
6
|
+
process.stdout.write(prompt);
|
|
7
|
+
const stdin = process.stdin;
|
|
8
|
+
stdin.setRawMode(true);
|
|
9
|
+
stdin.resume();
|
|
10
|
+
stdin.setEncoding('utf-8');
|
|
11
|
+
let input = '';
|
|
12
|
+
const onData = (str) => {
|
|
13
|
+
for (const char of str) {
|
|
14
|
+
if (char === '\n' || char === '\r') {
|
|
15
|
+
stdin.setRawMode(false);
|
|
16
|
+
stdin.removeListener('data', onData);
|
|
17
|
+
stdin.pause();
|
|
18
|
+
process.stdout.write('\n');
|
|
19
|
+
resolve(input);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
else if (char === '\u007F' || char === '\b') {
|
|
23
|
+
if (input.length > 0) {
|
|
24
|
+
input = input.slice(0, -1);
|
|
25
|
+
process.stdout.write('\b \b');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else if (char === '\u0003') {
|
|
29
|
+
stdin.setRawMode(false);
|
|
30
|
+
process.stdout.write('\n');
|
|
31
|
+
process.exit(0);
|
|
32
|
+
}
|
|
33
|
+
else if (char >= ' ') {
|
|
34
|
+
input += char;
|
|
35
|
+
const isInPrefix = input.length <= visiblePrefix.length && visiblePrefix.startsWith(input);
|
|
36
|
+
process.stdout.write(isInPrefix ? char : '*');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
stdin.on('data', onData);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=masked-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"masked-input.js","sourceRoot":"","sources":["../../src/utils/masked-input.ts"],"names":[],"mappings":";;AAAA,0CAwCC;AAxCD,SAAgB,eAAe,CAAC,MAAc,EAAE,aAAqB;IACnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE3B,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,MAAM,MAAM,GAAG,CAAC,GAAW,EAAQ,EAAE;YACnC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;gBACvB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACnC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACxB,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACrC,KAAK,CAAC,KAAK,EAAE,CAAC;oBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC3B,OAAO,CAAC,KAAK,CAAC,CAAC;oBACf,OAAO;gBACT,CAAC;qBAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC9C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;qBAAM,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;oBACvB,KAAK,IAAI,IAAI,CAAC;oBACd,MAAM,UAAU,GACd,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/oclif.manifest.json
CHANGED
|
@@ -163,6 +163,52 @@
|
|
|
163
163
|
"switch.js"
|
|
164
164
|
]
|
|
165
165
|
},
|
|
166
|
+
"account:update": {
|
|
167
|
+
"aliases": [],
|
|
168
|
+
"args": {
|
|
169
|
+
"name": {
|
|
170
|
+
"description": "Account name to update (case-insensitive substring match). Defaults to active account.",
|
|
171
|
+
"name": "name"
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"description": "Update tokens for a saved LinkedIn account",
|
|
175
|
+
"examples": [
|
|
176
|
+
"<%= config.bin %> account update",
|
|
177
|
+
"<%= config.bin %> account update \"John\"",
|
|
178
|
+
"<%= config.bin %> account update --linked-api-token=xxx --identification-token=yyy"
|
|
179
|
+
],
|
|
180
|
+
"flags": {
|
|
181
|
+
"linked-api-token": {
|
|
182
|
+
"description": "New Linked API Token (for non-interactive use)",
|
|
183
|
+
"name": "linked-api-token",
|
|
184
|
+
"hasDynamicHelp": false,
|
|
185
|
+
"multiple": false,
|
|
186
|
+
"type": "option"
|
|
187
|
+
},
|
|
188
|
+
"identification-token": {
|
|
189
|
+
"description": "New Identification Token (for non-interactive use)",
|
|
190
|
+
"name": "identification-token",
|
|
191
|
+
"hasDynamicHelp": false,
|
|
192
|
+
"multiple": false,
|
|
193
|
+
"type": "option"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"hasDynamicHelp": false,
|
|
197
|
+
"hiddenAliases": [],
|
|
198
|
+
"id": "account:update",
|
|
199
|
+
"pluginAlias": "@linkedapi/linkedin-cli",
|
|
200
|
+
"pluginName": "@linkedapi/linkedin-cli",
|
|
201
|
+
"pluginType": "core",
|
|
202
|
+
"strict": true,
|
|
203
|
+
"enableJsonFlag": false,
|
|
204
|
+
"isESM": false,
|
|
205
|
+
"relativePath": [
|
|
206
|
+
"dist",
|
|
207
|
+
"commands",
|
|
208
|
+
"account",
|
|
209
|
+
"update.js"
|
|
210
|
+
]
|
|
211
|
+
},
|
|
166
212
|
"company:fetch": {
|
|
167
213
|
"aliases": [],
|
|
168
214
|
"args": {
|
|
@@ -2571,5 +2617,5 @@
|
|
|
2571
2617
|
]
|
|
2572
2618
|
}
|
|
2573
2619
|
},
|
|
2574
|
-
"version": "1.0.
|
|
2620
|
+
"version": "1.0.7"
|
|
2575
2621
|
}
|