@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.
Files changed (26) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/dist/{account-EGJJNBXW.js → account-2SOSCEB6.js} +26 -26
  3. package/dist/{chunk-TMU3CSPR.js → chunk-DW2HCRXJ.js} +1 -1
  4. package/dist/{chunk-M33MI53G.js → chunk-HDQUEFD2.js} +1 -1
  5. package/dist/chunk-HOQ7EUHJ.js +50 -0
  6. package/dist/{chunk-KVV6LZ7E.js → chunk-IGCQNDIG.js} +53 -17
  7. package/dist/cli.js +33 -33
  8. package/dist/{comment-VT6PO4MN.js → comment-AXDINBPS.js} +3 -3
  9. package/dist/{company-XEEBBCRZ.js → company-BX4VDXZX.js} +19 -18
  10. package/dist/{config-P5CPF5WC.js → config-3O4N2XSH.js} +2 -2
  11. package/dist/{connect-6PU7QCOL.js → connect-KWOJKCIB.js} +36 -15
  12. package/dist/{feed-KAUDRE5K.js → feed-4ROKUBG5.js} +3 -3
  13. package/dist/{group-LPVVJ2JX.js → group-L7TQEEFN.js} +7 -7
  14. package/dist/{inbox-BXCWHGWP.js → inbox-GMGZVDTQ.js} +9 -9
  15. package/dist/{inboxes-MTPWLP5F.js → inboxes-YVYLSM5W.js} +4 -4
  16. package/dist/{job-EIXBJXLW.js → job-TYBA2DUQ.js} +7 -7
  17. package/dist/{login-GDLWR542.js → login-W7NCDZOQ.js} +2 -2
  18. package/dist/{message-UWMRE2SJ.js → message-C6FV6JH6.js} +6 -3
  19. package/dist/{notification-RYFDHM3G.js → notification-45XFT3S4.js} +5 -5
  20. package/dist/{post-HK6HHIKV.js → post-RETV3WUG.js} +8 -8
  21. package/dist/{profile-PES67647.js → profile-A2TWF4HB.js} +13 -13
  22. package/dist/{recruiter-MVPSTH2V.js → recruiter-FQAKY6Z2.js} +30 -30
  23. package/dist/{sales-nav-TMXWDKSE.js → sales-nav-SSJIZUNB.js} +16 -16
  24. package/dist/{search-O2LACGHE.js → search-DH6BJFQC.js} +13 -13
  25. package/dist/{webhook-QFSZN3P2.js → webhook-LED6AKF3.js} +50 -19
  26. 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 \u2014 use `post user-posts <user_id>` (accepts `me`).",
15
- comment: "post comments are their own group now \u2014 use `comment add <post_id> <text>`.",
16
- comments: "post comments are their own group now \u2014 use `comment list <post_id>`."
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 \u2014 use `connect accept <id>` or `connect decline <id>`."
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 \u2014 use `profile relations`."
22
+ connections: "`profile connections` was renamed. Use `profile relations`."
23
23
  },
24
24
  account: {
25
- "connect-link": "`account connect-link` was removed \u2014 use `account link [--account-id <id>]`.",
26
- "reconnect-link": "`account reconnect-link` was removed \u2014 use `account link [--account-id <id>]`.",
27
- reconnect: "`account reconnect` was removed \u2014 use `account link [--account-id <id>]`."
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 \u2014 history syncs automatically; just read `inbox messages <chat_id>`.",
31
- "sync-chat": "`inbox sync-chat` was removed \u2014 history syncs automatically; just read `inbox messages <chat_id>`."
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 \u2014 use `recruiter save-candidate <project_id> --stage-id <id> --candidate-id <id>`.",
35
- "project-jobs": "`recruiter project-jobs` was renamed \u2014 use `recruiter project-job get <project_id>`.",
36
- sync: "`recruiter sync` was removed \u2014 Recruiter data syncs automatically now.",
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 \u2014 Sales Navigator data syncs automatically now."
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-GDLWR542.js").then((m) => m.loginCommand),
251
- config: () => import("./config-P5CPF5WC.js").then((m) => m.configCommand),
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-PES67647.js").then((m) => m.profileCommand),
256
- company: () => import("./company-XEEBBCRZ.js").then((m) => m.companyCommand),
257
- job: () => import("./job-EIXBJXLW.js").then((m) => m.jobCommand),
258
- connect: () => import("./connect-6PU7QCOL.js").then((m) => m.connectCommand),
259
- search: () => import("./search-O2LACGHE.js").then((m) => m.searchCommand),
260
- inbox: () => import("./inbox-BXCWHGWP.js").then((m) => m.inboxCommand),
261
- inboxes: () => import("./inboxes-MTPWLP5F.js").then((m) => m.inboxesCommand),
262
- message: () => import("./message-UWMRE2SJ.js").then((m) => m.messageCommand),
263
- post: () => import("./post-HK6HHIKV.js").then((m) => m.postCommand),
264
- comment: () => import("./comment-VT6PO4MN.js").then((m) => m.commentCommand),
265
- account: () => import("./account-EGJJNBXW.js").then((m) => m.accountCommand),
266
- webhook: () => import("./webhook-QFSZN3P2.js").then((m) => m.webhookCommand),
267
- "sales-nav": () => import("./sales-nav-TMXWDKSE.js").then((m) => m.salesNavCommand),
268
- recruiter: () => import("./recruiter-MVPSTH2V.js").then((m) => m.recruiterCommand),
269
- group: () => import("./group-LPVVJ2JX.js").then((m) => m.groupCommand),
270
- feed: () => import("./feed-KAUDRE5K.js").then((m) => m.feedCommand),
271
- notification: () => import("./notification-RYFDHM3G.js").then((m) => m.notificationCommand)
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-M33MI53G.js";
28
+ } from "./chunk-HDQUEFD2.js";
29
29
  import {
30
30
  GLOBAL_FLAGS,
31
31
  WRITE_SINGLE_FLAGS
32
- } from "./chunk-TMU3CSPR.js";
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 \u2014 run `curviate login` or pass --api-key.\n");
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-KVV6LZ7E.js";
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-M33MI53G.js";
40
+ } from "./chunk-HDQUEFD2.js";
40
41
  import {
41
42
  GLOBAL_FLAGS,
42
43
  WRITE_FLAGS
43
- } from "./chunk-TMU3CSPR.js";
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 usage error (exit 2) if supplied." }
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 \u2014 run `curviate login` or pass --api-key.\n");
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-TMU3CSPR.js";
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}" \u2014 using API default.
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-M33MI53G.js";
27
+ } from "./chunk-HDQUEFD2.js";
25
28
  import {
26
29
  GLOBAL_FLAGS,
27
30
  WRITE_FLAGS
28
- } from "./chunk-TMU3CSPR.js";
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 \u2014 accepted and declined invitations are not returned (LinkedIn API limitation). Use `id` with `connect cancel`; use `user.id` (native member URN \u2014 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)."
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 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)."
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 use the `id` field from `connect received`."
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 use the `id` field from `connect received`."
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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-M33MI53G.js";
12
+ } from "./chunk-HDQUEFD2.js";
13
13
  import {
14
14
  GLOBAL_FLAGS
15
- } from "./chunk-TMU3CSPR.js";
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 \u2014 run `curviate login` or pass --api-key.\n");
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-M33MI53G.js";
12
+ } from "./chunk-HDQUEFD2.js";
13
13
  import {
14
14
  GLOBAL_FLAGS,
15
15
  READ_SINGLE_FLAGS
16
- } from "./chunk-TMU3CSPR.js";
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 --profile to enumerate another member's groups instead (a partial, interests-only read)." },
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 [--profile <target>]\n get <group_id>\n members <group_id> [--name <filter>]\n"
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-M33MI53G.js";
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-TMU3CSPR.js";
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 Z suffix required, e.g. 2025-01-01T00:00:00Z)."
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 \u2014 Z suffix required, e.g. 2025-01-01T00:00:00Z)."
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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-M33MI53G.js";
12
+ } from "./chunk-HDQUEFD2.js";
13
13
  import {
14
14
  GLOBAL_FLAGS,
15
15
  READ_SINGLE_FLAGS
16
- } from "./chunk-TMU3CSPR.js";
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 \u2014 run `curviate login` or pass --api-key.\n");
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 \u2014 run `curviate login` or pass --api-key.\n");
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 });