@curviate/sdk 0.31.0 → 0.32.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 CHANGED
@@ -7,6 +7,44 @@ Versioning: semantic. Minor for additive changes, patch for bug fixes; no stabil
7
7
 
8
8
  ---
9
9
 
10
+ ## [0.32.0] - 2026-09-15
11
+
12
+ Seat discovery for connecting an account. Additive; nothing removed or renamed.
13
+
14
+ Fixture and types regenerated against the deployed staging document
15
+ (`https://api.staging.curviate.com`, 127 paths); the exact source commit is
16
+ recorded in `fixtures/PROVENANCE.json`.
17
+
18
+ ### Added
19
+
20
+ - **`accounts.listSeats()`** (`GET /v1/accounts/seats`). Returns
21
+ `{ object: "seat_list", items: { seat_id, occupied, account_id }[] }`: the
22
+ workspace's live seats, whether an account occupies each, and that account
23
+ (`null` when free). Not paginated. An empty seat is listed only when
24
+ connecting an account to it would be accepted right now, so an empty seat
25
+ that is provisional, cancelling, on an ended trial or blocked by billing is
26
+ 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
27
+ account with `auth.intent`, so a connect no longer needs a seat id copied
28
+ from the dashboard. Carries no billing fields. The response type is
29
+ exported as `SeatList`.
30
+
31
+ - **Types only: `GET` and `PATCH /v1/safety-policy`** (tenant-wide safety
32
+ defaults per limit profile and budget row). The generated `paths` type now
33
+ describes them; there is no resource method yet, so call them through your
34
+ own request if you need them today.
35
+
36
+ ### Changed
37
+
38
+ - `auth.intent` documentation now points to `accounts.listSeats()` for finding
39
+ a free seat, matching the regenerated `seat_id` description.
40
+ - Regenerated descriptions on `GET` and `PATCH /v1/{account_id}/safety-policy`:
41
+ an account's values now resolve from its own setting, then the tenant
42
+ default for its `limit_profile`, then the Curviate default, and `null` on the
43
+ account write restores the tenant default where one is set. Documentation
44
+ only; no type moved.
45
+
46
+ ---
47
+
10
48
  ## [0.31.0] - 2026-09-11
11
49
 
12
50
  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"}`);