@curviate/cli 0.19.0 → 0.20.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/CHANGELOG.md +95 -0
- package/dist/{account-EGJJNBXW.js → account-2SOSCEB6.js} +26 -26
- package/dist/{chunk-TMU3CSPR.js → chunk-DW2HCRXJ.js} +1 -1
- package/dist/{chunk-M33MI53G.js → chunk-HDQUEFD2.js} +1 -1
- package/dist/chunk-HOQ7EUHJ.js +50 -0
- package/dist/{chunk-KVV6LZ7E.js → chunk-IGCQNDIG.js} +53 -17
- package/dist/cli.js +33 -33
- package/dist/{comment-VT6PO4MN.js → comment-AXDINBPS.js} +3 -3
- package/dist/{company-XEEBBCRZ.js → company-BX4VDXZX.js} +19 -18
- package/dist/{config-P5CPF5WC.js → config-3O4N2XSH.js} +2 -2
- package/dist/{connect-6PU7QCOL.js → connect-KWOJKCIB.js} +36 -15
- package/dist/{feed-KAUDRE5K.js → feed-4ROKUBG5.js} +3 -3
- package/dist/{group-LPVVJ2JX.js → group-L7TQEEFN.js} +7 -7
- package/dist/{inbox-BXCWHGWP.js → inbox-GMGZVDTQ.js} +9 -9
- package/dist/{inboxes-MTPWLP5F.js → inboxes-YVYLSM5W.js} +4 -4
- package/dist/{job-EIXBJXLW.js → job-TYBA2DUQ.js} +7 -7
- package/dist/{login-GDLWR542.js → login-W7NCDZOQ.js} +2 -2
- package/dist/{message-UWMRE2SJ.js → message-C6FV6JH6.js} +6 -3
- package/dist/{notification-RYFDHM3G.js → notification-45XFT3S4.js} +5 -5
- package/dist/{post-HK6HHIKV.js → post-RETV3WUG.js} +8 -8
- package/dist/{profile-PES67647.js → profile-A2TWF4HB.js} +13 -13
- package/dist/{recruiter-MVPSTH2V.js → recruiter-FQAKY6Z2.js} +30 -30
- package/dist/{sales-nav-TMXWDKSE.js → sales-nav-SSJIZUNB.js} +16 -16
- package/dist/{search-O2LACGHE.js → search-DH6BJFQC.js} +13 -13
- package/dist/{webhook-QFSZN3P2.js → webhook-LED6AKF3.js} +50 -19
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -11,34 +11,34 @@ import { createRequire } from "module";
|
|
|
11
11
|
import { runCommand } from "citty";
|
|
12
12
|
var REMOVED_COMMANDS = {
|
|
13
13
|
post: {
|
|
14
|
-
list: "`post list` was removed
|
|
15
|
-
comment: "post comments are their own group now
|
|
16
|
-
comments: "post comments are their own group now
|
|
14
|
+
list: "`post list` was removed. Use `post user-posts <user_id>` (accepts `me`).",
|
|
15
|
+
comment: "post comments are their own group now. Use `comment add <post_id> <text>`.",
|
|
16
|
+
comments: "post comments are their own group now. Use `comment list <post_id>`."
|
|
17
17
|
},
|
|
18
18
|
connect: {
|
|
19
|
-
respond: "`connect respond` was split
|
|
19
|
+
respond: "`connect respond` was split. Use `connect accept <id>` or `connect decline <id>`."
|
|
20
20
|
},
|
|
21
21
|
profile: {
|
|
22
|
-
connections: "`profile connections` was renamed
|
|
22
|
+
connections: "`profile connections` was renamed. Use `profile relations`."
|
|
23
23
|
},
|
|
24
24
|
account: {
|
|
25
|
-
"connect-link": "`account connect-link` was removed
|
|
26
|
-
"reconnect-link": "`account reconnect-link` was removed
|
|
27
|
-
reconnect: "`account reconnect` was removed
|
|
25
|
+
"connect-link": "`account connect-link` was removed. Use `account link [--account-id <id>]`.",
|
|
26
|
+
"reconnect-link": "`account reconnect-link` was removed. Use `account link [--account-id <id>]`.",
|
|
27
|
+
reconnect: "`account reconnect` was removed. Use `account link [--account-id <id>]`."
|
|
28
28
|
},
|
|
29
29
|
inbox: {
|
|
30
|
-
sync: "`inbox sync` was removed
|
|
31
|
-
"sync-chat": "`inbox sync-chat` was removed
|
|
30
|
+
sync: "`inbox sync` was removed. History syncs automatically; just read `inbox messages <chat_id>`.",
|
|
31
|
+
"sync-chat": "`inbox sync-chat` was removed. History syncs automatically; just read `inbox messages <chat_id>`."
|
|
32
32
|
},
|
|
33
33
|
recruiter: {
|
|
34
|
-
"add-candidate": "`recruiter add-candidate` was renamed
|
|
35
|
-
"project-jobs": "`recruiter project-jobs` was renamed
|
|
36
|
-
sync: "`recruiter sync` was removed
|
|
34
|
+
"add-candidate": "`recruiter add-candidate` was renamed. Use `recruiter save-candidate <project_id> --stage-id <id> --candidate-id <id>`.",
|
|
35
|
+
"project-jobs": "`recruiter project-jobs` was renamed. Use `recruiter project-job get <project_id>`.",
|
|
36
|
+
sync: "`recruiter sync` was removed. Recruiter data syncs automatically now.",
|
|
37
37
|
"add-applicant": "`recruiter add-applicant` was removed with no replacement.",
|
|
38
38
|
"reject-applicant": "`recruiter reject-applicant` was removed with no replacement."
|
|
39
39
|
},
|
|
40
40
|
"sales-nav": {
|
|
41
|
-
sync: "`sales-nav sync` was removed
|
|
41
|
+
sync: "`sales-nav sync` was removed. Sales Navigator data syncs automatically now."
|
|
42
42
|
},
|
|
43
43
|
webhook: {
|
|
44
44
|
"state-diff": "`webhook state-diff` was removed with no replacement."
|
|
@@ -247,28 +247,28 @@ var main = defineCommand({
|
|
|
247
247
|
// Subcommand registry — names and descriptions are static for help rendering;
|
|
248
248
|
// the handler implementation is loaded lazily on first invocation.
|
|
249
249
|
subCommands: {
|
|
250
|
-
login: () => import("./login-
|
|
251
|
-
config: () => import("./config-
|
|
250
|
+
login: () => import("./login-W7NCDZOQ.js").then((m) => m.loginCommand),
|
|
251
|
+
config: () => import("./config-3O4N2XSH.js").then((m) => m.configCommand),
|
|
252
252
|
// ---------------------------------------------------------------------------
|
|
253
253
|
// Noun groups — lazy-loaded on first invocation.
|
|
254
254
|
// ---------------------------------------------------------------------------
|
|
255
|
-
profile: () => import("./profile-
|
|
256
|
-
company: () => import("./company-
|
|
257
|
-
job: () => import("./job-
|
|
258
|
-
connect: () => import("./connect-
|
|
259
|
-
search: () => import("./search-
|
|
260
|
-
inbox: () => import("./inbox-
|
|
261
|
-
inboxes: () => import("./inboxes-
|
|
262
|
-
message: () => import("./message-
|
|
263
|
-
post: () => import("./post-
|
|
264
|
-
comment: () => import("./comment-
|
|
265
|
-
account: () => import("./account-
|
|
266
|
-
webhook: () => import("./webhook-
|
|
267
|
-
"sales-nav": () => import("./sales-nav-
|
|
268
|
-
recruiter: () => import("./recruiter-
|
|
269
|
-
group: () => import("./group-
|
|
270
|
-
feed: () => import("./feed-
|
|
271
|
-
notification: () => import("./notification-
|
|
255
|
+
profile: () => import("./profile-A2TWF4HB.js").then((m) => m.profileCommand),
|
|
256
|
+
company: () => import("./company-BX4VDXZX.js").then((m) => m.companyCommand),
|
|
257
|
+
job: () => import("./job-TYBA2DUQ.js").then((m) => m.jobCommand),
|
|
258
|
+
connect: () => import("./connect-KWOJKCIB.js").then((m) => m.connectCommand),
|
|
259
|
+
search: () => import("./search-DH6BJFQC.js").then((m) => m.searchCommand),
|
|
260
|
+
inbox: () => import("./inbox-GMGZVDTQ.js").then((m) => m.inboxCommand),
|
|
261
|
+
inboxes: () => import("./inboxes-YVYLSM5W.js").then((m) => m.inboxesCommand),
|
|
262
|
+
message: () => import("./message-C6FV6JH6.js").then((m) => m.messageCommand),
|
|
263
|
+
post: () => import("./post-RETV3WUG.js").then((m) => m.postCommand),
|
|
264
|
+
comment: () => import("./comment-AXDINBPS.js").then((m) => m.commentCommand),
|
|
265
|
+
account: () => import("./account-2SOSCEB6.js").then((m) => m.accountCommand),
|
|
266
|
+
webhook: () => import("./webhook-LED6AKF3.js").then((m) => m.webhookCommand),
|
|
267
|
+
"sales-nav": () => import("./sales-nav-SSJIZUNB.js").then((m) => m.salesNavCommand),
|
|
268
|
+
recruiter: () => import("./recruiter-FQAKY6Z2.js").then((m) => m.recruiterCommand),
|
|
269
|
+
group: () => import("./group-L7TQEEFN.js").then((m) => m.groupCommand),
|
|
270
|
+
feed: () => import("./feed-4ROKUBG5.js").then((m) => m.feedCommand),
|
|
271
|
+
notification: () => import("./notification-45XFT3S4.js").then((m) => m.notificationCommand)
|
|
272
272
|
},
|
|
273
273
|
async run() {
|
|
274
274
|
const { runMain } = await import("citty");
|
|
@@ -25,11 +25,11 @@ import {
|
|
|
25
25
|
renderSuccess,
|
|
26
26
|
renderUnexpectedError,
|
|
27
27
|
resolveEffectiveConfig
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-HDQUEFD2.js";
|
|
29
29
|
import {
|
|
30
30
|
GLOBAL_FLAGS,
|
|
31
31
|
WRITE_SINGLE_FLAGS
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-DW2HCRXJ.js";
|
|
33
33
|
|
|
34
34
|
// src/commands/comment.ts
|
|
35
35
|
import { defineCommand } from "citty";
|
|
@@ -398,7 +398,7 @@ async function withClient(flags, fn) {
|
|
|
398
398
|
profile: flags.profile
|
|
399
399
|
});
|
|
400
400
|
if (!cfg.apiKey) {
|
|
401
|
-
process.stderr.write("error: no API key
|
|
401
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
402
402
|
process.exit(3);
|
|
403
403
|
}
|
|
404
404
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
sentAsNotice
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-IGCQNDIG.js";
|
|
5
|
+
import "./chunk-HOQ7EUHJ.js";
|
|
5
6
|
import {
|
|
6
7
|
resolveTextOrStdin
|
|
7
8
|
} from "./chunk-U7Y4EXHT.js";
|
|
@@ -36,11 +37,11 @@ import {
|
|
|
36
37
|
renderSuccess,
|
|
37
38
|
renderUnexpectedError,
|
|
38
39
|
resolveEffectiveConfig
|
|
39
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-HDQUEFD2.js";
|
|
40
41
|
import {
|
|
41
42
|
GLOBAL_FLAGS,
|
|
42
43
|
WRITE_FLAGS
|
|
43
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-DW2HCRXJ.js";
|
|
44
45
|
|
|
45
46
|
// src/commands/company.ts
|
|
46
47
|
import { defineCommand } from "citty";
|
|
@@ -509,7 +510,7 @@ var companyEmployeesCommand = defineCommand({
|
|
|
509
510
|
profile: flags.profile
|
|
510
511
|
});
|
|
511
512
|
if (!cfg.apiKey) {
|
|
512
|
-
process.stderr.write("error: no API key
|
|
513
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
513
514
|
process.exit(3);
|
|
514
515
|
}
|
|
515
516
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -533,7 +534,7 @@ var companyPostsCommand = defineCommand({
|
|
|
533
534
|
profile: flags.profile
|
|
534
535
|
});
|
|
535
536
|
if (!cfg.apiKey) {
|
|
536
|
-
process.stderr.write("error: no API key
|
|
537
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
537
538
|
process.exit(3);
|
|
538
539
|
}
|
|
539
540
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -558,7 +559,7 @@ var companyJobsCommand = defineCommand({
|
|
|
558
559
|
profile: flags.profile
|
|
559
560
|
});
|
|
560
561
|
if (!cfg.apiKey) {
|
|
561
|
-
process.stderr.write("error: no API key
|
|
562
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
562
563
|
process.exit(3);
|
|
563
564
|
}
|
|
564
565
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -585,7 +586,7 @@ var companyInvitableFollowersCommand = defineCommand({
|
|
|
585
586
|
profile: flags.profile
|
|
586
587
|
});
|
|
587
588
|
if (!cfg.apiKey) {
|
|
588
|
-
process.stderr.write("error: no API key
|
|
589
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
589
590
|
process.exit(3);
|
|
590
591
|
}
|
|
591
592
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -616,7 +617,7 @@ var companyFollowInviteCommand = defineCommand({
|
|
|
616
617
|
profile: flags.profile
|
|
617
618
|
});
|
|
618
619
|
if (!cfg.apiKey) {
|
|
619
|
-
process.stderr.write("error: no API key
|
|
620
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
620
621
|
process.exit(3);
|
|
621
622
|
}
|
|
622
623
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -637,7 +638,7 @@ var companyManagedCommand = defineCommand({
|
|
|
637
638
|
profile: flags.profile
|
|
638
639
|
});
|
|
639
640
|
if (!cfg.apiKey) {
|
|
640
|
-
process.stderr.write("error: no API key
|
|
641
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
641
642
|
process.exit(3);
|
|
642
643
|
}
|
|
643
644
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -661,7 +662,7 @@ var companyFollowersCommand = defineCommand({
|
|
|
661
662
|
profile: flags.profile
|
|
662
663
|
});
|
|
663
664
|
if (!cfg.apiKey) {
|
|
664
|
-
process.stderr.write("error: no API key
|
|
665
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
665
666
|
process.exit(3);
|
|
666
667
|
}
|
|
667
668
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -688,7 +689,7 @@ var companyChatsCommand = defineCommand({
|
|
|
688
689
|
profile: flags.profile
|
|
689
690
|
});
|
|
690
691
|
if (!cfg.apiKey) {
|
|
691
|
-
process.stderr.write("error: no API key
|
|
692
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
692
693
|
process.exit(3);
|
|
693
694
|
}
|
|
694
695
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -716,7 +717,7 @@ var companyChatCommand = defineCommand({
|
|
|
716
717
|
profile: flags.profile
|
|
717
718
|
});
|
|
718
719
|
if (!cfg.apiKey) {
|
|
719
|
-
process.stderr.write("error: no API key
|
|
720
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
720
721
|
process.exit(3);
|
|
721
722
|
}
|
|
722
723
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -744,7 +745,7 @@ var companyMessagesCommand = defineCommand({
|
|
|
744
745
|
profile: flags.profile
|
|
745
746
|
});
|
|
746
747
|
if (!cfg.apiKey) {
|
|
747
|
-
process.stderr.write("error: no API key
|
|
748
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
748
749
|
process.exit(3);
|
|
749
750
|
}
|
|
750
751
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -773,7 +774,7 @@ var companyMessageCommand = defineCommand({
|
|
|
773
774
|
profile: flags.profile
|
|
774
775
|
});
|
|
775
776
|
if (!cfg.apiKey) {
|
|
776
|
-
process.stderr.write("error: no API key
|
|
777
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
777
778
|
process.exit(3);
|
|
778
779
|
}
|
|
779
780
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -803,7 +804,7 @@ var companySearchChatsCommand = defineCommand({
|
|
|
803
804
|
profile: flags.profile
|
|
804
805
|
});
|
|
805
806
|
if (!cfg.apiKey) {
|
|
806
|
-
process.stderr.write("error: no API key
|
|
807
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
807
808
|
process.exit(3);
|
|
808
809
|
}
|
|
809
810
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -836,7 +837,7 @@ var companyReplyCommand = defineCommand({
|
|
|
836
837
|
profile: flags.profile
|
|
837
838
|
});
|
|
838
839
|
if (!cfg.apiKey) {
|
|
839
|
-
process.stderr.write("error: no API key
|
|
840
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
840
841
|
process.exit(3);
|
|
841
842
|
}
|
|
842
843
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -849,7 +850,7 @@ var companyCommand = defineCommand({
|
|
|
849
850
|
args: {
|
|
850
851
|
...GLOBAL_FLAGS,
|
|
851
852
|
id: { type: "positional", description: "Company identifier (URL, slug, or native id)." },
|
|
852
|
-
sections: { type: "string", description: "Not supported on company commands
|
|
853
|
+
sections: { type: "string", description: "Not supported on company commands; a usage error (exit 2) if supplied." }
|
|
853
854
|
},
|
|
854
855
|
subCommands: {
|
|
855
856
|
employees: companyEmployeesCommand,
|
|
@@ -876,7 +877,7 @@ var companyCommand = defineCommand({
|
|
|
876
877
|
profile: flags.profile
|
|
877
878
|
});
|
|
878
879
|
if (!cfg.apiKey) {
|
|
879
|
-
process.stderr.write("error: no API key
|
|
880
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
880
881
|
process.exit(3);
|
|
881
882
|
}
|
|
882
883
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
renameProfile,
|
|
8
8
|
setActiveProfile,
|
|
9
9
|
updateProfileField
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-DW2HCRXJ.js";
|
|
11
11
|
|
|
12
12
|
// src/commands/config.ts
|
|
13
13
|
import { defineCommand } from "citty";
|
|
@@ -177,7 +177,7 @@ var configCommand = defineCommand({
|
|
|
177
177
|
);
|
|
178
178
|
if (url === void 0 || url === "") {
|
|
179
179
|
process.stderr.write(
|
|
180
|
-
`Cleared baseUrl on profile "${profileName}"
|
|
180
|
+
`Cleared baseUrl on profile "${profileName}", using the API default.
|
|
181
181
|
`
|
|
182
182
|
);
|
|
183
183
|
} else {
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
nearestSubcommand
|
|
4
|
+
} from "./chunk-HOQ7EUHJ.js";
|
|
2
5
|
import {
|
|
3
6
|
slimInviteReceived,
|
|
4
7
|
slimInviteReceivedItem,
|
|
@@ -21,11 +24,11 @@ import {
|
|
|
21
24
|
renderSuccess,
|
|
22
25
|
renderUnexpectedError,
|
|
23
26
|
resolveEffectiveConfig
|
|
24
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-HDQUEFD2.js";
|
|
25
28
|
import {
|
|
26
29
|
GLOBAL_FLAGS,
|
|
27
30
|
WRITE_FLAGS
|
|
28
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-DW2HCRXJ.js";
|
|
29
32
|
|
|
30
33
|
// src/commands/connect.ts
|
|
31
34
|
import { defineCommand } from "citty";
|
|
@@ -256,7 +259,7 @@ async function runConnectCancel(client, flags, out) {
|
|
|
256
259
|
var connectSentCommand = defineCommand({
|
|
257
260
|
meta: {
|
|
258
261
|
name: "sent",
|
|
259
|
-
description: "Returns pending sent invitations only
|
|
262
|
+
description: "Returns pending sent invitations only. Accepted and declined invitations are not returned (LinkedIn API limitation). Use `id` with `connect cancel`; use `user.id` (native member URN; the sent-variant carries no public slug) to identify the recipient. `created_at` is the platform's own ISO-8601 timestamp (not an approximation). No total count is available; use `connect sent --all` and count client-side. A very recently sent invitation may take a few minutes to appear here (LinkedIn-side indexing)."
|
|
260
263
|
},
|
|
261
264
|
args: { ...GLOBAL_FLAGS },
|
|
262
265
|
async run({ args }) {
|
|
@@ -269,7 +272,7 @@ var connectSentCommand = defineCommand({
|
|
|
269
272
|
profile: flags.profile
|
|
270
273
|
});
|
|
271
274
|
if (!cfg.apiKey) {
|
|
272
|
-
process.stderr.write("error: no API key
|
|
275
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
273
276
|
process.exit(3);
|
|
274
277
|
}
|
|
275
278
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -280,7 +283,7 @@ var connectSentCommand = defineCommand({
|
|
|
280
283
|
var connectReceivedCommand = defineCommand({
|
|
281
284
|
meta: {
|
|
282
285
|
name: "received",
|
|
283
|
-
description: "Returns pending received invitations only
|
|
286
|
+
description: "Returns pending received invitations only. Already-handled invitations are not returned. The `user.*` fields (`public_identifier`, `display_name`, `first_name`, `last_name`) identify who sent the request. Use the `id` field with `connect accept` or `connect decline`. A very recently received invitation may take a few minutes to appear here (LinkedIn-side indexing)."
|
|
284
287
|
},
|
|
285
288
|
args: { ...GLOBAL_FLAGS },
|
|
286
289
|
async run({ args }) {
|
|
@@ -293,7 +296,7 @@ var connectReceivedCommand = defineCommand({
|
|
|
293
296
|
profile: flags.profile
|
|
294
297
|
});
|
|
295
298
|
if (!cfg.apiKey) {
|
|
296
|
-
process.stderr.write("error: no API key
|
|
299
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
297
300
|
process.exit(3);
|
|
298
301
|
}
|
|
299
302
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -307,7 +310,7 @@ var connectAcceptCommand = defineCommand({
|
|
|
307
310
|
...WRITE_FLAGS,
|
|
308
311
|
id: {
|
|
309
312
|
type: "positional",
|
|
310
|
-
description: "Invitation id to accept
|
|
313
|
+
description: "Invitation id to accept. Use the `id` field from `connect received`."
|
|
311
314
|
}
|
|
312
315
|
},
|
|
313
316
|
async run({ args }) {
|
|
@@ -320,7 +323,7 @@ var connectAcceptCommand = defineCommand({
|
|
|
320
323
|
profile: flags.profile
|
|
321
324
|
});
|
|
322
325
|
if (!cfg.apiKey) {
|
|
323
|
-
process.stderr.write("error: no API key
|
|
326
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
324
327
|
process.exit(3);
|
|
325
328
|
}
|
|
326
329
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -334,7 +337,7 @@ var connectDeclineCommand = defineCommand({
|
|
|
334
337
|
...WRITE_FLAGS,
|
|
335
338
|
id: {
|
|
336
339
|
type: "positional",
|
|
337
|
-
description: "Invitation id to decline
|
|
340
|
+
description: "Invitation id to decline. Use the `id` field from `connect received`."
|
|
338
341
|
}
|
|
339
342
|
},
|
|
340
343
|
async run({ args }) {
|
|
@@ -347,7 +350,7 @@ var connectDeclineCommand = defineCommand({
|
|
|
347
350
|
profile: flags.profile
|
|
348
351
|
});
|
|
349
352
|
if (!cfg.apiKey) {
|
|
350
|
-
process.stderr.write("error: no API key
|
|
353
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
351
354
|
process.exit(3);
|
|
352
355
|
}
|
|
353
356
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -371,7 +374,7 @@ var connectCancelCommand = defineCommand({
|
|
|
371
374
|
profile: flags.profile
|
|
372
375
|
});
|
|
373
376
|
if (!cfg.apiKey) {
|
|
374
|
-
process.stderr.write("error: no API key
|
|
377
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
375
378
|
process.exit(3);
|
|
376
379
|
}
|
|
377
380
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -379,6 +382,24 @@ var connectCancelCommand = defineCommand({
|
|
|
379
382
|
await runConnectCancel(client, { ...flags, account: flags.account ?? cfg.account }, out);
|
|
380
383
|
}
|
|
381
384
|
});
|
|
385
|
+
var CONNECT_SUBCOMMANDS = ["sent", "received", "accept", "decline", "cancel"];
|
|
386
|
+
var CONNECT_USAGE = "Usage: curviate connect <id> [--note <text>]\n curviate connect sent\n curviate connect received\n curviate connect accept <invitation_id>\n curviate connect decline <invitation_id>\n curviate connect cancel <invitation_id>\n";
|
|
387
|
+
function guardBareConnectForm(id, out) {
|
|
388
|
+
const suggestion = nearestSubcommand(id, [...CONNECT_SUBCOMMANDS]);
|
|
389
|
+
if (suggestion === null) return;
|
|
390
|
+
out.stderr.write(
|
|
391
|
+
`error: \`${id}\` looks like a mistyped \`${suggestion}\` subcommand, and \`curviate connect <id>\` SENDS a connection invitation, so this is refused rather than guessed.
|
|
392
|
+
`
|
|
393
|
+
);
|
|
394
|
+
out.stderr.write(`hint: did you mean \`curviate connect ${suggestion}\`?
|
|
395
|
+
`);
|
|
396
|
+
out.stderr.write(
|
|
397
|
+
`hint: if \`${id}\` really is the profile you meant, pass the full profile URL (https://www.linkedin.com/in/${id}) or the provider id instead.
|
|
398
|
+
`
|
|
399
|
+
);
|
|
400
|
+
out.stderr.write(CONNECT_USAGE);
|
|
401
|
+
process.exit(2);
|
|
402
|
+
}
|
|
382
403
|
var connectCommand = defineCommand({
|
|
383
404
|
meta: {
|
|
384
405
|
name: "connect",
|
|
@@ -406,11 +427,10 @@ var connectCommand = defineCommand({
|
|
|
406
427
|
async run({ args }) {
|
|
407
428
|
const flags = args;
|
|
408
429
|
if (!flags.id) {
|
|
409
|
-
process.stderr.write(
|
|
410
|
-
"Usage: curviate connect <id> [--note <text>]\n curviate connect sent\n curviate connect received\n curviate connect accept <invitation_id>\n curviate connect decline <invitation_id>\n curviate connect cancel <invitation_id>\n"
|
|
411
|
-
);
|
|
430
|
+
process.stderr.write(CONNECT_USAGE);
|
|
412
431
|
process.exit(2);
|
|
413
432
|
}
|
|
433
|
+
guardBareConnectForm(flags.id, buildOutputStreams());
|
|
414
434
|
const cfg = await resolveEffectiveConfig({
|
|
415
435
|
apiKey: flags["api-key"],
|
|
416
436
|
baseUrl: flags["base-url"],
|
|
@@ -419,7 +439,7 @@ var connectCommand = defineCommand({
|
|
|
419
439
|
profile: flags.profile
|
|
420
440
|
});
|
|
421
441
|
if (!cfg.apiKey) {
|
|
422
|
-
process.stderr.write("error: no API key
|
|
442
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
423
443
|
process.exit(3);
|
|
424
444
|
}
|
|
425
445
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -429,6 +449,7 @@ var connectCommand = defineCommand({
|
|
|
429
449
|
});
|
|
430
450
|
export {
|
|
431
451
|
connectCommand,
|
|
452
|
+
guardBareConnectForm,
|
|
432
453
|
runConnectAccept,
|
|
433
454
|
runConnectCancel,
|
|
434
455
|
runConnectDecline,
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
renderSuccess,
|
|
10
10
|
renderUnexpectedError,
|
|
11
11
|
resolveEffectiveConfig
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-HDQUEFD2.js";
|
|
13
13
|
import {
|
|
14
14
|
GLOBAL_FLAGS
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-DW2HCRXJ.js";
|
|
16
16
|
|
|
17
17
|
// src/commands/feed.ts
|
|
18
18
|
import { defineCommand } from "citty";
|
|
@@ -102,7 +102,7 @@ var feedHomeCommand = defineCommand({
|
|
|
102
102
|
profile: flags.profile
|
|
103
103
|
});
|
|
104
104
|
if (!cfg.apiKey) {
|
|
105
|
-
process.stderr.write("error: no API key
|
|
105
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
106
106
|
process.exit(3);
|
|
107
107
|
}
|
|
108
108
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -9,11 +9,11 @@ import {
|
|
|
9
9
|
renderSuccess,
|
|
10
10
|
renderUnexpectedError,
|
|
11
11
|
resolveEffectiveConfig
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-HDQUEFD2.js";
|
|
13
13
|
import {
|
|
14
14
|
GLOBAL_FLAGS,
|
|
15
15
|
READ_SINGLE_FLAGS
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-DW2HCRXJ.js";
|
|
17
17
|
|
|
18
18
|
// src/commands/group.ts
|
|
19
19
|
import { defineCommand } from "citty";
|
|
@@ -134,7 +134,7 @@ async function runGroupMembers(client, flags, out) {
|
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
var groupListCommand = defineCommand({
|
|
137
|
-
meta: { name: "list", description: "List the groups the connected account belongs to. Pass --
|
|
137
|
+
meta: { name: "list", description: "List the groups the connected account belongs to. Pass --target to enumerate another member's groups instead (a partial, interests-only read)." },
|
|
138
138
|
args: {
|
|
139
139
|
...GLOBAL_FLAGS,
|
|
140
140
|
target: {
|
|
@@ -152,7 +152,7 @@ var groupListCommand = defineCommand({
|
|
|
152
152
|
profile: flags.profile
|
|
153
153
|
});
|
|
154
154
|
if (!cfg.apiKey) {
|
|
155
|
-
process.stderr.write("error: no API key
|
|
155
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
156
156
|
process.exit(3);
|
|
157
157
|
}
|
|
158
158
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -176,7 +176,7 @@ var groupGetCommand = defineCommand({
|
|
|
176
176
|
profile: flags.profile
|
|
177
177
|
});
|
|
178
178
|
if (!cfg.apiKey) {
|
|
179
|
-
process.stderr.write("error: no API key
|
|
179
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
180
180
|
process.exit(3);
|
|
181
181
|
}
|
|
182
182
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -207,7 +207,7 @@ var groupMembersCommand = defineCommand({
|
|
|
207
207
|
profile: flags.profile
|
|
208
208
|
});
|
|
209
209
|
if (!cfg.apiKey) {
|
|
210
|
-
process.stderr.write("error: no API key
|
|
210
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
211
211
|
process.exit(3);
|
|
212
212
|
}
|
|
213
213
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -224,7 +224,7 @@ var groupCommand = defineCommand({
|
|
|
224
224
|
},
|
|
225
225
|
async run() {
|
|
226
226
|
process.stderr.write(
|
|
227
|
-
"Usage: curviate group <subcommand>\n list [--
|
|
227
|
+
"Usage: curviate group <subcommand>\n list [--target <slug>]\n get <group_id>\n members <group_id> [--name <filter>]\n"
|
|
228
228
|
);
|
|
229
229
|
}
|
|
230
230
|
});
|
|
@@ -15,12 +15,12 @@ import {
|
|
|
15
15
|
renderSuccess,
|
|
16
16
|
renderUnexpectedError,
|
|
17
17
|
resolveEffectiveConfig
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-HDQUEFD2.js";
|
|
19
19
|
import {
|
|
20
20
|
GLOBAL_FLAGS,
|
|
21
21
|
READ_SINGLE_FLAGS,
|
|
22
22
|
WRITE_SINGLE_FLAGS
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-DW2HCRXJ.js";
|
|
24
24
|
|
|
25
25
|
// src/commands/inbox.ts
|
|
26
26
|
import { defineCommand } from "citty";
|
|
@@ -241,7 +241,7 @@ var inboxListCommand = defineCommand({
|
|
|
241
241
|
profile: flags.profile
|
|
242
242
|
});
|
|
243
243
|
if (!cfg.apiKey) {
|
|
244
|
-
process.stderr.write("error: no API key
|
|
244
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
245
245
|
process.exit(3);
|
|
246
246
|
}
|
|
247
247
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -266,7 +266,7 @@ var inboxGetCommand = defineCommand({
|
|
|
266
266
|
profile: flags.profile
|
|
267
267
|
});
|
|
268
268
|
if (!cfg.apiKey) {
|
|
269
|
-
process.stderr.write("error: no API key
|
|
269
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
270
270
|
process.exit(3);
|
|
271
271
|
}
|
|
272
272
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -291,7 +291,7 @@ var inboxMarkReadCommand = defineCommand({
|
|
|
291
291
|
profile: flags.profile
|
|
292
292
|
});
|
|
293
293
|
if (!cfg.apiKey) {
|
|
294
|
-
process.stderr.write("error: no API key
|
|
294
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
295
295
|
process.exit(3);
|
|
296
296
|
}
|
|
297
297
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -307,11 +307,11 @@ var inboxMessagesCommand = defineCommand({
|
|
|
307
307
|
chatId: { type: "positional", description: "Chat ID." },
|
|
308
308
|
before: {
|
|
309
309
|
type: "string",
|
|
310
|
-
description: "Return messages before this timestamp (ISO-8601, UTC
|
|
310
|
+
description: "Return messages before this timestamp (ISO-8601, UTC; Z suffix required, e.g. 2025-01-01T00:00:00Z)."
|
|
311
311
|
},
|
|
312
312
|
after: {
|
|
313
313
|
type: "string",
|
|
314
|
-
description: "Return messages after this timestamp (ISO-8601, UTC
|
|
314
|
+
description: "Return messages after this timestamp (ISO-8601, UTC; Z suffix required, e.g. 2025-01-01T00:00:00Z)."
|
|
315
315
|
}
|
|
316
316
|
},
|
|
317
317
|
async run({ args }) {
|
|
@@ -324,7 +324,7 @@ var inboxMessagesCommand = defineCommand({
|
|
|
324
324
|
profile: flags.profile
|
|
325
325
|
});
|
|
326
326
|
if (!cfg.apiKey) {
|
|
327
|
-
process.stderr.write("error: no API key
|
|
327
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
328
328
|
process.exit(3);
|
|
329
329
|
}
|
|
330
330
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -349,7 +349,7 @@ var inboxSearchCommand = defineCommand({
|
|
|
349
349
|
profile: flags.profile
|
|
350
350
|
});
|
|
351
351
|
if (!cfg.apiKey) {
|
|
352
|
-
process.stderr.write("error: no API key
|
|
352
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
353
353
|
process.exit(3);
|
|
354
354
|
}
|
|
355
355
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -9,11 +9,11 @@ import {
|
|
|
9
9
|
renderSuccess,
|
|
10
10
|
renderUnexpectedError,
|
|
11
11
|
resolveEffectiveConfig
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-HDQUEFD2.js";
|
|
13
13
|
import {
|
|
14
14
|
GLOBAL_FLAGS,
|
|
15
15
|
READ_SINGLE_FLAGS
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-DW2HCRXJ.js";
|
|
17
17
|
|
|
18
18
|
// src/commands/inboxes.ts
|
|
19
19
|
import { defineCommand } from "citty";
|
|
@@ -141,7 +141,7 @@ var inboxesListCommand = defineCommand({
|
|
|
141
141
|
profile: flags.profile
|
|
142
142
|
});
|
|
143
143
|
if (!cfg.apiKey) {
|
|
144
|
-
process.stderr.write("error: no API key
|
|
144
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
145
145
|
process.exit(3);
|
|
146
146
|
}
|
|
147
147
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|
|
@@ -169,7 +169,7 @@ var inboxesChatsCommand = defineCommand({
|
|
|
169
169
|
profile: flags.profile
|
|
170
170
|
});
|
|
171
171
|
if (!cfg.apiKey) {
|
|
172
|
-
process.stderr.write("error: no API key
|
|
172
|
+
process.stderr.write("error: no API key, run `curviate login` or pass --api-key.\n");
|
|
173
173
|
process.exit(3);
|
|
174
174
|
}
|
|
175
175
|
const client = createClient({ apiKey: cfg.apiKey, baseUrl: cfg.baseUrl, timeout: cfg.timeout });
|