@curviate/cli 0.21.0 → 0.21.1

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 CHANGED
@@ -8,6 +8,25 @@ a new command or flag is a minor; a breaking command/flag/exit-code change is a
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.21.1] - 2026-08-06
12
+
13
+ ### Fixed
14
+
15
+ - **A response's `notices[]` array is no longer silently dropped.** Both
16
+ render paths now surface it: JSON mode already passed it through, and human
17
+ mode now prints it above the results it qualifies, covering a filter value
18
+ that took the id fast path (field + value) and a page whose results are
19
+ anonymised upstream (no field/value). Previously a caller got an empty or
20
+ unexplained result set with nothing telling them why.
21
+ - **`--all` (NDJSON streaming) now surfaces per-page notices too.** stdout
22
+ stays pure one-object-per-line data; a page's notices are written to
23
+ stderr through the same renderer the human-mode path uses, so a long-running
24
+ `--all` consumer sees the same explanation a single-page call would.
25
+ - **`visibility` is back in the default (non-verbose) `search people` fields.**
26
+ It was missing from the default field allowlist even though the server
27
+ always sends it, so a row for a hidden or unresolved profile looked
28
+ identical to a normal one unless you passed `--verbose`.
29
+
11
30
  ## [0.21.0] - 2026-08-04
12
31
 
13
32
  A correctness release for every argument that reads from stdin. Upgrade
@@ -9,11 +9,11 @@ import {
9
9
  slimAccountGet,
10
10
  slimAccountList,
11
11
  slimAccountListItem
12
- } from "./chunk-ROULHEFW.js";
12
+ } from "./chunk-WYRYCTUM.js";
13
13
  import {
14
14
  pageDelayFromFlags,
15
15
  streamAll
16
- } from "./chunk-EEMJDJ4W.js";
16
+ } from "./chunk-HZFK45IW.js";
17
17
  import {
18
18
  buildPreviewOutput
19
19
  } from "./chunk-R3VLWLVV.js";
@@ -23,7 +23,7 @@ import {
23
23
  renderSuccess,
24
24
  renderUnexpectedError,
25
25
  resolveEffectiveConfig
26
- } from "./chunk-LMVDURUZ.js";
26
+ } from "./chunk-VPKMJYIF.js";
27
27
  import {
28
28
  GLOBAL_FLAGS,
29
29
  READ_SINGLE_FLAGS,
@@ -1,4 +1,7 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ renderNotices
4
+ } from "./chunk-VPKMJYIF.js";
2
5
 
3
6
  // src/lib/paginate.ts
4
7
  var PaginateError = class extends Error {
@@ -50,6 +53,10 @@ async function* streamAll(fn, params, opts = {}) {
50
53
  if (opts.out) opts.out.stderr.write(ndjsonModeNotice());
51
54
  firstPage = false;
52
55
  }
56
+ if (opts.out) {
57
+ const pageNotices = renderNotices(page.notices);
58
+ if (pageNotices) opts.out.stderr.write(pageNotices + "\n");
59
+ }
53
60
  if (Array.isArray(items)) {
54
61
  for (const item of items) {
55
62
  yield item;
@@ -25,7 +25,7 @@ import {
25
25
  renderSuccess,
26
26
  renderUnexpectedError,
27
27
  resolveEffectiveConfig
28
- } from "./chunk-LMVDURUZ.js";
28
+ } from "./chunk-VPKMJYIF.js";
29
29
  import {
30
30
  READ_SINGLE_FLAGS,
31
31
  WRITE_FLAGS
@@ -138,16 +138,38 @@ function renderSuccess(data, opts, out) {
138
138
  out.stdout.write(renderHuman(projected) + "\n");
139
139
  }
140
140
  }
141
+ function formatNotice(notice) {
142
+ if (typeof notice !== "object" || notice === null) return null;
143
+ const n = notice;
144
+ const code = typeof n["code"] === "string" ? n["code"] : "NOTICE";
145
+ const message = typeof n["message"] === "string" ? n["message"] : "";
146
+ let line = `notice [${code}]${message ? ` ${message}` : ""}`;
147
+ const details = [];
148
+ if (typeof n["field"] === "string") details.push(`field: ${n["field"]}`);
149
+ if (typeof n["value"] === "string") details.push(`value: ${n["value"]}`);
150
+ if (details.length > 0) line += ` (${details.join(", ")})`;
151
+ return line;
152
+ }
153
+ function renderNotices(notices) {
154
+ if (!Array.isArray(notices) || notices.length === 0) return null;
155
+ const lines = notices.map(formatNotice).filter((line) => line !== null);
156
+ return lines.length > 0 ? lines.join("\n") : null;
157
+ }
141
158
  function renderHuman(data) {
142
159
  if (data === null || data === void 0) return "(empty)";
143
160
  if (typeof data === "object" && !Array.isArray(data)) {
144
161
  const obj = data;
162
+ const notices = renderNotices(obj["notices"]);
145
163
  if (Array.isArray(obj["items"])) {
146
164
  const items = obj["items"];
147
- if (items.length === 0) return "(no items)";
148
- return items.map(renderHuman).join("\n");
165
+ const body = items.length === 0 ? "(no items)" : items.map(renderHuman).join("\n");
166
+ return notices ? `${notices}
167
+ ${body}` : body;
149
168
  }
150
- return Object.entries(obj).map(([k, v]) => `${k}: ${typeof v === "object" ? JSON.stringify(v) : String(v)}`).join("\n");
169
+ const kv = Object.entries(obj).filter(([k]) => k !== "notices").map(([k, v]) => `${k}: ${typeof v === "object" ? JSON.stringify(v) : String(v)}`).join("\n");
170
+ if (!notices) return kv;
171
+ return kv ? `${notices}
172
+ ${kv}` : notices;
151
173
  }
152
174
  if (Array.isArray(data)) {
153
175
  return data.map(renderHuman).join("\n");
@@ -190,6 +212,7 @@ export {
190
212
  resolveEffectiveConfig,
191
213
  createClient,
192
214
  renderSuccess,
215
+ renderNotices,
193
216
  renderError,
194
217
  renderUnexpectedError
195
218
  };
@@ -122,7 +122,8 @@ function slimSearchPeopleItem(item) {
122
122
  full_name: item["full_name"] ?? null,
123
123
  headline: item["headline"] ?? null,
124
124
  location: item["location"] ?? null,
125
- network_distance: item["network_distance"] ?? null
125
+ network_distance: item["network_distance"] ?? null,
126
+ visibility: item["visibility"] ?? null
126
127
  };
127
128
  }
128
129
  function slimSearchPeople(data) {
package/dist/cli.js CHANGED
@@ -267,23 +267,23 @@ var main = defineCommand({
267
267
  // ---------------------------------------------------------------------------
268
268
  // Noun groups — lazy-loaded on first invocation.
269
269
  // ---------------------------------------------------------------------------
270
- profile: () => import("./profile-XOMDIYSY.js").then((m) => m.profileCommand),
271
- company: () => import("./company-DFJK2RHM.js").then((m) => m.companyCommand),
272
- job: () => import("./job-WOPIAHOR.js").then((m) => m.jobCommand),
273
- connect: () => import("./connect-ELSSMOIC.js").then((m) => m.connectCommand),
274
- search: () => import("./search-NDESJC3Y.js").then((m) => m.searchCommand),
275
- inbox: () => import("./inbox-G6KNWWLI.js").then((m) => m.inboxCommand),
276
- inboxes: () => import("./inboxes-NTTYCQPM.js").then((m) => m.inboxesCommand),
277
- message: () => import("./message-KJXY5RCD.js").then((m) => m.messageCommand),
278
- post: () => import("./post-A7YZWBFG.js").then((m) => m.postCommand),
279
- comment: () => import("./comment-RPLZHFJQ.js").then((m) => m.commentCommand),
280
- account: () => import("./account-A3FOYUKC.js").then((m) => m.accountCommand),
281
- webhook: () => import("./webhook-TNZF3FMN.js").then((m) => m.webhookCommand),
282
- "sales-nav": () => import("./sales-nav-5ZRE2UAQ.js").then((m) => m.salesNavCommand),
283
- recruiter: () => import("./recruiter-CCLG4PM4.js").then((m) => m.recruiterCommand),
284
- group: () => import("./group-52MP24W3.js").then((m) => m.groupCommand),
285
- feed: () => import("./feed-23Z7OQNL.js").then((m) => m.feedCommand),
286
- notification: () => import("./notification-MNEABNVW.js").then((m) => m.notificationCommand)
270
+ profile: () => import("./profile-GADE33FY.js").then((m) => m.profileCommand),
271
+ company: () => import("./company-NT4VO6JV.js").then((m) => m.companyCommand),
272
+ job: () => import("./job-VOVQZGCK.js").then((m) => m.jobCommand),
273
+ connect: () => import("./connect-VXWRLGQZ.js").then((m) => m.connectCommand),
274
+ search: () => import("./search-V35MFTXL.js").then((m) => m.searchCommand),
275
+ inbox: () => import("./inbox-GZAOUWZP.js").then((m) => m.inboxCommand),
276
+ inboxes: () => import("./inboxes-6AZOB43U.js").then((m) => m.inboxesCommand),
277
+ message: () => import("./message-FIEWH2BU.js").then((m) => m.messageCommand),
278
+ post: () => import("./post-G4IMWUE2.js").then((m) => m.postCommand),
279
+ comment: () => import("./comment-W4XTOTHN.js").then((m) => m.commentCommand),
280
+ account: () => import("./account-OIV73PXX.js").then((m) => m.accountCommand),
281
+ webhook: () => import("./webhook-5HXMJQFO.js").then((m) => m.webhookCommand),
282
+ "sales-nav": () => import("./sales-nav-OXLRN6YK.js").then((m) => m.salesNavCommand),
283
+ recruiter: () => import("./recruiter-LI2TMRHY.js").then((m) => m.recruiterCommand),
284
+ group: () => import("./group-43PHTFP7.js").then((m) => m.groupCommand),
285
+ feed: () => import("./feed-4Q3B56WI.js").then((m) => m.feedCommand),
286
+ notification: () => import("./notification-65V67NWK.js").then((m) => m.notificationCommand)
287
287
  },
288
288
  async run() {
289
289
  const { runMain } = await import("citty");
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  pageDelayFromFlags,
13
13
  streamAll
14
- } from "./chunk-EEMJDJ4W.js";
14
+ } from "./chunk-HZFK45IW.js";
15
15
  import "./chunk-DMQZEPQE.js";
16
16
  import {
17
17
  buildPreviewOutput
@@ -22,7 +22,7 @@ import {
22
22
  renderSuccess,
23
23
  renderUnexpectedError,
24
24
  resolveEffectiveConfig
25
- } from "./chunk-LMVDURUZ.js";
25
+ } from "./chunk-VPKMJYIF.js";
26
26
  import {
27
27
  GLOBAL_FLAGS,
28
28
  WRITE_SINGLE_FLAGS
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  sentAsNotice
4
- } from "./chunk-Q7XG2VIF.js";
4
+ } from "./chunk-OE7OMTCM.js";
5
5
  import "./chunk-HOQ7EUHJ.js";
6
6
  import {
7
7
  AttachError,
@@ -16,11 +16,11 @@ import {
16
16
  slimSearchJobs,
17
17
  slimSearchPeople,
18
18
  slimSearchPosts
19
- } from "./chunk-ROULHEFW.js";
19
+ } from "./chunk-WYRYCTUM.js";
20
20
  import {
21
21
  pageDelayFromFlags,
22
22
  streamAll
23
- } from "./chunk-EEMJDJ4W.js";
23
+ } from "./chunk-HZFK45IW.js";
24
24
  import "./chunk-UWO2D4HW.js";
25
25
  import {
26
26
  resolveIdentifier
@@ -34,7 +34,7 @@ import {
34
34
  renderSuccess,
35
35
  renderUnexpectedError,
36
36
  resolveEffectiveConfig
37
- } from "./chunk-LMVDURUZ.js";
37
+ } from "./chunk-VPKMJYIF.js";
38
38
  import {
39
39
  GLOBAL_FLAGS,
40
40
  WRITE_FLAGS
@@ -7,11 +7,11 @@ import {
7
7
  slimInviteReceivedItem,
8
8
  slimInviteSent,
9
9
  slimInviteSentItem
10
- } from "./chunk-ROULHEFW.js";
10
+ } from "./chunk-WYRYCTUM.js";
11
11
  import {
12
12
  pageDelayFromFlags,
13
13
  streamAll
14
- } from "./chunk-EEMJDJ4W.js";
14
+ } from "./chunk-HZFK45IW.js";
15
15
  import {
16
16
  resolveIdentifier
17
17
  } from "./chunk-DMQZEPQE.js";
@@ -24,7 +24,7 @@ import {
24
24
  renderSuccess,
25
25
  renderUnexpectedError,
26
26
  resolveEffectiveConfig
27
- } from "./chunk-LMVDURUZ.js";
27
+ } from "./chunk-VPKMJYIF.js";
28
28
  import {
29
29
  GLOBAL_FLAGS,
30
30
  WRITE_FLAGS
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  pageDelayFromFlags,
4
4
  streamAll
5
- } from "./chunk-EEMJDJ4W.js";
5
+ } from "./chunk-HZFK45IW.js";
6
6
  import {
7
7
  createClient,
8
8
  renderError,
9
9
  renderSuccess,
10
10
  renderUnexpectedError,
11
11
  resolveEffectiveConfig
12
- } from "./chunk-LMVDURUZ.js";
12
+ } from "./chunk-VPKMJYIF.js";
13
13
  import {
14
14
  GLOBAL_FLAGS
15
15
  } from "./chunk-CUTMZWL6.js";
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  pageDelayFromFlags,
4
4
  streamAll
5
- } from "./chunk-EEMJDJ4W.js";
5
+ } from "./chunk-HZFK45IW.js";
6
6
  import {
7
7
  createClient,
8
8
  renderError,
9
9
  renderSuccess,
10
10
  renderUnexpectedError,
11
11
  resolveEffectiveConfig
12
- } from "./chunk-LMVDURUZ.js";
12
+ } from "./chunk-VPKMJYIF.js";
13
13
  import {
14
14
  GLOBAL_FLAGS,
15
15
  READ_SINGLE_FLAGS
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  pageDelayFromFlags,
4
4
  streamAll
5
- } from "./chunk-EEMJDJ4W.js";
5
+ } from "./chunk-HZFK45IW.js";
6
6
  import {
7
7
  normalizeChatId
8
8
  } from "./chunk-DMQZEPQE.js";
@@ -15,7 +15,7 @@ import {
15
15
  renderSuccess,
16
16
  renderUnexpectedError,
17
17
  resolveEffectiveConfig
18
- } from "./chunk-LMVDURUZ.js";
18
+ } from "./chunk-VPKMJYIF.js";
19
19
  import {
20
20
  GLOBAL_FLAGS,
21
21
  READ_SINGLE_FLAGS,
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  pageDelayFromFlags,
4
4
  streamAll
5
- } from "./chunk-EEMJDJ4W.js";
5
+ } from "./chunk-HZFK45IW.js";
6
6
  import {
7
7
  createClient,
8
8
  renderError,
9
9
  renderSuccess,
10
10
  renderUnexpectedError,
11
11
  resolveEffectiveConfig
12
- } from "./chunk-LMVDURUZ.js";
12
+ } from "./chunk-VPKMJYIF.js";
13
13
  import {
14
14
  GLOBAL_FLAGS,
15
15
  READ_SINGLE_FLAGS
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  slimJob
4
- } from "./chunk-ROULHEFW.js";
4
+ } from "./chunk-WYRYCTUM.js";
5
5
  import {
6
6
  DEFAULT_PAGE_DELAY_MS,
7
7
  ndjsonModeNotice,
8
8
  pageDelayFromFlags,
9
9
  streamAll
10
- } from "./chunk-EEMJDJ4W.js";
10
+ } from "./chunk-HZFK45IW.js";
11
11
  import {
12
12
  BinaryOutputError,
13
13
  writeBinaryOutput
@@ -24,7 +24,7 @@ import {
24
24
  renderSuccess,
25
25
  renderUnexpectedError,
26
26
  resolveEffectiveConfig
27
- } from "./chunk-LMVDURUZ.js";
27
+ } from "./chunk-VPKMJYIF.js";
28
28
  import {
29
29
  GLOBAL_FLAGS,
30
30
  READ_SINGLE_FLAGS,
@@ -13,13 +13,13 @@ import {
13
13
  runMessageSend,
14
14
  sentAsNotice,
15
15
  willSendAsNotice
16
- } from "./chunk-Q7XG2VIF.js";
16
+ } from "./chunk-OE7OMTCM.js";
17
17
  import "./chunk-HOQ7EUHJ.js";
18
18
  import "./chunk-BGZW6B7G.js";
19
19
  import "./chunk-UWO2D4HW.js";
20
20
  import "./chunk-DMQZEPQE.js";
21
21
  import "./chunk-R3VLWLVV.js";
22
- import "./chunk-LMVDURUZ.js";
22
+ import "./chunk-VPKMJYIF.js";
23
23
  import "./chunk-CUTMZWL6.js";
24
24
  import "./chunk-ZYURL5VK.js";
25
25
  export {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  pageDelayFromFlags,
4
4
  streamAll
5
- } from "./chunk-EEMJDJ4W.js";
5
+ } from "./chunk-HZFK45IW.js";
6
6
  import {
7
7
  buildPreviewOutput
8
8
  } from "./chunk-R3VLWLVV.js";
@@ -12,7 +12,7 @@ import {
12
12
  renderSuccess,
13
13
  renderUnexpectedError,
14
14
  resolveEffectiveConfig
15
- } from "./chunk-LMVDURUZ.js";
15
+ } from "./chunk-VPKMJYIF.js";
16
16
  import {
17
17
  GLOBAL_FLAGS,
18
18
  WRITE_SINGLE_FLAGS
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  pageDelayFromFlags,
12
12
  streamAll
13
- } from "./chunk-EEMJDJ4W.js";
13
+ } from "./chunk-HZFK45IW.js";
14
14
  import "./chunk-DMQZEPQE.js";
15
15
  import {
16
16
  buildPreviewOutput
@@ -21,7 +21,7 @@ import {
21
21
  renderSuccess,
22
22
  renderUnexpectedError,
23
23
  resolveEffectiveConfig
24
- } from "./chunk-LMVDURUZ.js";
24
+ } from "./chunk-VPKMJYIF.js";
25
25
  import {
26
26
  GLOBAL_FLAGS,
27
27
  WRITE_FLAGS,
@@ -11,11 +11,11 @@ import {
11
11
  import {
12
12
  slimProfile,
13
13
  slimProfileMe
14
- } from "./chunk-ROULHEFW.js";
14
+ } from "./chunk-WYRYCTUM.js";
15
15
  import {
16
16
  pageDelayFromFlags,
17
17
  streamAll
18
- } from "./chunk-EEMJDJ4W.js";
18
+ } from "./chunk-HZFK45IW.js";
19
19
  import {
20
20
  resolveIdentifier
21
21
  } from "./chunk-DMQZEPQE.js";
@@ -28,7 +28,7 @@ import {
28
28
  renderSuccess,
29
29
  renderUnexpectedError,
30
30
  resolveEffectiveConfig
31
- } from "./chunk-LMVDURUZ.js";
31
+ } from "./chunk-VPKMJYIF.js";
32
32
  import {
33
33
  GLOBAL_FLAGS,
34
34
  READ_SINGLE_FLAGS,
@@ -11,11 +11,11 @@ import {
11
11
  } from "./chunk-BGZW6B7G.js";
12
12
  import {
13
13
  slimJob
14
- } from "./chunk-ROULHEFW.js";
14
+ } from "./chunk-WYRYCTUM.js";
15
15
  import {
16
16
  pageDelayFromFlags,
17
17
  streamAll
18
- } from "./chunk-EEMJDJ4W.js";
18
+ } from "./chunk-HZFK45IW.js";
19
19
  import {
20
20
  BinaryOutputError,
21
21
  writeBinaryOutput
@@ -33,7 +33,7 @@ import {
33
33
  renderSuccess,
34
34
  renderUnexpectedError,
35
35
  resolveEffectiveConfig
36
- } from "./chunk-LMVDURUZ.js";
36
+ } from "./chunk-VPKMJYIF.js";
37
37
  import {
38
38
  GLOBAL_FLAGS,
39
39
  READ_SINGLE_FLAGS,
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  pageDelayFromFlags,
15
15
  streamAll
16
- } from "./chunk-EEMJDJ4W.js";
16
+ } from "./chunk-HZFK45IW.js";
17
17
  import {
18
18
  resolveIdentifier
19
19
  } from "./chunk-DMQZEPQE.js";
@@ -26,7 +26,7 @@ import {
26
26
  renderSuccess,
27
27
  renderUnexpectedError,
28
28
  resolveEffectiveConfig
29
- } from "./chunk-LMVDURUZ.js";
29
+ } from "./chunk-VPKMJYIF.js";
30
30
  import {
31
31
  GLOBAL_FLAGS,
32
32
  READ_SINGLE_FLAGS,
@@ -14,18 +14,18 @@ import {
14
14
  slimSearchPeopleItem,
15
15
  slimSearchPosts,
16
16
  slimSearchPostsItem
17
- } from "./chunk-ROULHEFW.js";
17
+ } from "./chunk-WYRYCTUM.js";
18
18
  import {
19
19
  pageDelayFromFlags,
20
20
  streamAll
21
- } from "./chunk-EEMJDJ4W.js";
21
+ } from "./chunk-HZFK45IW.js";
22
22
  import {
23
23
  createClient,
24
24
  renderError,
25
25
  renderSuccess,
26
26
  renderUnexpectedError,
27
27
  resolveEffectiveConfig
28
- } from "./chunk-LMVDURUZ.js";
28
+ } from "./chunk-VPKMJYIF.js";
29
29
  import {
30
30
  GLOBAL_FLAGS
31
31
  } from "./chunk-CUTMZWL6.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  pageDelayFromFlags,
4
4
  streamAll
5
- } from "./chunk-EEMJDJ4W.js";
5
+ } from "./chunk-HZFK45IW.js";
6
6
  import {
7
7
  buildPreviewOutput
8
8
  } from "./chunk-R3VLWLVV.js";
@@ -12,7 +12,7 @@ import {
12
12
  renderSuccess,
13
13
  renderUnexpectedError,
14
14
  resolveEffectiveConfig
15
- } from "./chunk-LMVDURUZ.js";
15
+ } from "./chunk-VPKMJYIF.js";
16
16
  import {
17
17
  GLOBAL_FLAGS
18
18
  } from "./chunk-CUTMZWL6.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curviate/cli",
3
- "version": "0.21.0",
3
+ "version": "0.21.1",
4
4
  "private": false,
5
5
  "description": "Official command-line interface for the Curviate API.",
6
6
  "license": "MIT",