@nopaque/sdk 0.4.0 → 0.6.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
@@ -4,6 +4,48 @@ All notable changes to this project will be documented in this file.
4
4
  The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.6.0] - 2026-08-19
8
+
9
+ ### Fixed
10
+
11
+ - `TestRun.outcome` replaces `TestRun.result`. The API has never sent a
12
+ `result` field, so `run.result` read as `undefined` on every run including
13
+ passing ones, and the declared values (`pass`/`fail`/`partial`) did not exist.
14
+ The real field is `outcome`, with uppercase values
15
+ `PASS | FAIL | ERROR | INCONCLUSIVE | pending` — the same `TestRunOutcome`
16
+ the list, aggregate and mission-run types already used. Only the full
17
+ `TestRun` entity had drifted. The removed `TestRunResult` type described a
18
+ field that never existed.
19
+ - `ProfileItem` is now the discriminated union the API actually returns, keyed
20
+ on `type`: `ProfileVoiceItem` (`audioId`) or `ProfileDataItem`
21
+ (`datasetId` + `itemId`). It was previously `{id, label, value}` with both
22
+ `label` and `value` required — `value` does not exist on either variant, and
23
+ `label` is deprecated server-side and usually absent. `openapi.yaml` had this
24
+ right as a `oneOf`; the SDK was the drifted surface.
25
+ - `profiles.addItem()`, `updateItem()` and `deleteItem()` return the updated
26
+ `Profile`, which is what all three routes send. They were typed as returning
27
+ a `ProfileItem` (and `deleteItem` discarded the body entirely).
28
+ - `AddProfileItemRequest` is a union requiring `type` plus the matching id
29
+ field, replacing the invented `{label, value}`. `UpdateProfileItemRequest`
30
+ takes `label` / `description` — the only two fields the handler reads.
31
+ - Removed `Profile.matchedLabels`, which appears nowhere in the API.
32
+
33
+ ## [0.5.0] - 2026-08-18
34
+
35
+ ### Added
36
+
37
+ - `MappingJobConfig` now carries the full configuration surface the API accepts.
38
+ Previously it exposed 9 of the 13 documented fields, and the four it omitted
39
+ included `vertical` — which the API **requires** whenever `mappingMode` is
40
+ `dtmf-audio` or `full-audio`. Audio mapping jobs were therefore impossible to
41
+ create from the SDK; only `dtmf` worked.
42
+ - `vertical` — `FSI | Healthcare | EnergyUtilities | Telecoms | General`.
43
+ - `probeMode` — security-probe flag. Rejected by the API in combination with
44
+ `mappingMode: 'dtmf'`.
45
+ - `repeatConfig` — `{ behavior, maxExplorations? }` for revisited-menu handling.
46
+ - `enrichmentConfig` — `{ enabled, types? }` for the post-run enrichment pipeline.
47
+ - New exported types: `Vertical`, `RepeatBehavior`, `RepeatConfig`, `EnrichmentConfig`.
48
+
7
49
  ## [0.4.0] - 2026-08-12
8
50
 
9
51
  ### Added
package/dist/index.cjs CHANGED
@@ -133,7 +133,7 @@ function resolveConfig(opts) {
133
133
  }
134
134
 
135
135
  // src/version.ts
136
- var VERSION = true ? "0.4.0" : "0.0.0-dev";
136
+ var VERSION = true ? "0.6.0" : "0.0.0-dev";
137
137
 
138
138
  // src/userAgent.ts
139
139
  function composeUserAgent() {
@@ -1260,8 +1260,9 @@ var ProfilesResource = class extends Resource {
1260
1260
  requestOptions
1261
1261
  });
1262
1262
  }
1263
+ /** Returns the updated profile, as all three item routes do. */
1263
1264
  async deleteItem(profileId, itemId, requestOptions) {
1264
- await this.transport.request(
1265
+ return await this.transport.request(
1265
1266
  "DELETE",
1266
1267
  `/profiles/${profileId}/items/${itemId}`,
1267
1268
  { requestOptions }