@curviate/sdk 0.31.0 → 0.33.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 +96 -0
- package/README.md +2 -1
- package/dist/index.d.ts +549 -32
- package/dist/index.js +47 -5
- package/package.json +1 -1
- package/src/generated/types.ts +505 -29
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,102 @@ Versioning: semantic. Minor for additive changes, patch for bug fixes; no stabil
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.33.0] - 2026-09-17
|
|
11
|
+
|
|
12
|
+
The InMail subject on the message reads, now typed. Fixture and types
|
|
13
|
+
regenerated against the deployed production document
|
|
14
|
+
(`https://api.curviate.com`, 127 paths, server `a38f685e`); the exact source
|
|
15
|
+
commit is recorded in `fixtures/PROVENANCE.json`.
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- **`MessageDetail["specifics"]`** types as `{ subject?: string | null }`, on
|
|
20
|
+
`messaging.getMessage()` and each item of `messaging.listMessages()`. The
|
|
21
|
+
served object is narrowed to `subject` alone (`additionalProperties: false`).
|
|
22
|
+
`getChat()`, `listChats()` and `inboxes.listChats()` carry no `specifics` on
|
|
23
|
+
their embedded `last_message`.
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- **`recruiter.startChat()` `follow_up.subject` retention copy corrected.** It
|
|
28
|
+
previously read "Never stored and never logged, on any path", which is not
|
|
29
|
+
supportable: a Recruiter follow-up is an InMail, so once sent it lands in the
|
|
30
|
+
classic InMail inbox that the chat reads harvest. The served document now
|
|
31
|
+
states the conditional, and the regenerated types and fixture carry it.
|
|
32
|
+
- **`messages.sendInmail()` `text`** and the `last_message` descriptions on the
|
|
33
|
+
chat reads carry the same corrected retention wording.
|
|
34
|
+
|
|
35
|
+
### Documented
|
|
36
|
+
|
|
37
|
+
- **`messaging.listMessages()` / `messaging.getMessage()`**: an InMail thread's
|
|
38
|
+
subject line arrives on a message as `specifics.subject`, set on the thread's
|
|
39
|
+
opening message. The chat object carries no subject at all, and `chat.name` is
|
|
40
|
+
the counterpart's display name, so the subject is read off the first message
|
|
41
|
+
and not off the chat. An ordinary message returns `specifics: {}`. The served
|
|
42
|
+
`specifics` object is narrowed to `subject` alone.
|
|
43
|
+
- **`messaging.getChat()` / `listChats()` / `inboxes.listChats()`**: a chat read
|
|
44
|
+
carries no subject anywhere, its embedded `last_message` included. The preview
|
|
45
|
+
is deliberately narrower than a message read so that a chat read returns the
|
|
46
|
+
same fields whether it was answered live or from Curviate's stored copy. Read
|
|
47
|
+
the chat's messages to get a subject.
|
|
48
|
+
|
|
49
|
+
### Fixture drift swept in by the refresh
|
|
50
|
+
|
|
51
|
+
The refresh also picked up already-deployed drift the previous fixture lagged
|
|
52
|
+
(it was captured from staging `c98d526`, 2026-09-15). All of it is real served
|
|
53
|
+
state, verified against both `api.curviate.com` and `api.staging.curviate.com`:
|
|
54
|
+
|
|
55
|
+
- Error-response `examples` blocks removed on **144** operations (343 response
|
|
56
|
+
slots), on status codes 409, 422, 503 and 504 only. This is server commit
|
|
57
|
+
`57afde5c5`, "error examples use only codes the API emits", which landed
|
|
58
|
+
immediately after the previous fixture's base. The earlier estimate of ~38
|
|
59
|
+
operations undercounted.
|
|
60
|
+
- Prose corrections to a handful of already-served descriptions: the 503 on the
|
|
61
|
+
applicant-résumé read now names its code, the Sales Navigator chat 422 names
|
|
62
|
+
only the code it emits, the auth-intent 402 describes both codes it can
|
|
63
|
+
carry, and the safety-policy descriptions drop raw path templates and say
|
|
64
|
+
"tenant" rather than "workspace".
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## [0.32.0] - 2026-09-15
|
|
69
|
+
|
|
70
|
+
Seat discovery for connecting an account. Additive; nothing removed or renamed.
|
|
71
|
+
|
|
72
|
+
Fixture and types regenerated against the deployed staging document
|
|
73
|
+
(`https://api.staging.curviate.com`, 127 paths); the exact source commit is
|
|
74
|
+
recorded in `fixtures/PROVENANCE.json`.
|
|
75
|
+
|
|
76
|
+
### Added
|
|
77
|
+
|
|
78
|
+
- **`accounts.listSeats()`** (`GET /v1/accounts/seats`). Returns
|
|
79
|
+
`{ object: "seat_list", items: { seat_id, occupied, account_id }[] }`: the
|
|
80
|
+
workspace's live seats, whether an account occupies each, and that account
|
|
81
|
+
(`null` when free). Not paginated. An empty seat is listed only when
|
|
82
|
+
connecting an account to it would be accepted right now, so an empty seat
|
|
83
|
+
that is provisional, cancelling, on an ended trial or blocked by billing is
|
|
84
|
+
left out, and `items` can be `[]` while the workspace still has seats. Any seat with `occupied: false` is a valid `seat_id` for connecting a new
|
|
85
|
+
account with `auth.intent`, so a connect no longer needs a seat id copied
|
|
86
|
+
from the dashboard. Carries no billing fields. The response type is
|
|
87
|
+
exported as `SeatList`.
|
|
88
|
+
|
|
89
|
+
- **Types only: `GET` and `PATCH /v1/safety-policy`** (tenant-wide safety
|
|
90
|
+
defaults per limit profile and budget row). The generated `paths` type now
|
|
91
|
+
describes them; there is no resource method yet, so call them through your
|
|
92
|
+
own request if you need them today.
|
|
93
|
+
|
|
94
|
+
### Changed
|
|
95
|
+
|
|
96
|
+
- `auth.intent` documentation now points to `accounts.listSeats()` for finding
|
|
97
|
+
a free seat, matching the regenerated `seat_id` description.
|
|
98
|
+
- Regenerated descriptions on `GET` and `PATCH /v1/{account_id}/safety-policy`:
|
|
99
|
+
an account's values now resolve from its own setting, then the tenant
|
|
100
|
+
default for its `limit_profile`, then the Curviate default, and `null` on the
|
|
101
|
+
account write restores the tenant default where one is set. Documentation
|
|
102
|
+
only; no type moved.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
10
106
|
## [0.31.0] - 2026-09-11
|
|
11
107
|
|
|
12
108
|
Step two of the tier retirement, plus one billing refusal this SDK was about to
|
package/README.md
CHANGED
|
@@ -113,7 +113,8 @@ try {
|
|
|
113
113
|
// Curviate's OWN account-safety ceiling, not a request-rate limit:
|
|
114
114
|
// nothing reached LinkedIn and nothing was spent, so backing off is the
|
|
115
115
|
// wrong move. Wait until err.resetAt, or raise the setting the hint
|
|
116
|
-
// names on PATCH /v1/{account_id}/safety-policy.
|
|
116
|
+
// names on PATCH /v1/{account_id}/safety-policy. The ceiling comes from the
|
|
117
|
+
// account's safety policy or the tenant default (GET/PATCH /v1/safety-policy).
|
|
117
118
|
// resetAt is null in the two cases no clock frees: the pending_invites
|
|
118
119
|
// backlog, and an InMail credit pool LinkedIn regrants on its own schedule.
|
|
119
120
|
console.warn(`${err.budgetRow} is spent until ${err.resetAt ?? "no fixed time"}`);
|