@more-ink/irt-edge 2.1.2 → 2.1.3

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
@@ -1,99 +1,108 @@
1
- # @more-ink/irt-edge
2
-
3
- ## 2.0.1
4
-
5
- ### Patch Changes
6
-
7
- - Fix Redis diagnostics endpoint to accept both verbs and ship runtime deps in FC layer.
8
-
9
- ## 2.0.0
10
-
11
- ### Minor Changes
12
-
13
- - 8d8c76b: Add multi-skill recording support: the core engine now ingests multiple skill scores from a single item interaction, and irt-edge exposes a matching `/api/irt/answer-multi` endpoint plus SDK helpers.
14
-
15
- ### Patch Changes
16
-
17
- - Updated dependencies [8d8c76b]
18
- - @more-ink/irt-core@1.1.0
19
-
20
- ## Unreleased
21
-
22
- ### Minor Changes
23
-
24
- - Add `POST /api/irt/answer-multi` route plus SDK support (`recordMultiSkillAnswers`) to record several skill scores for the same item in one call, including docs and examples.
25
-
26
- ## 1.3.0
27
-
28
- ### Minor Changes
29
-
30
- - Add `recordAnswerOnly` endpoint + SDK method to record responses without requesting a next item, including updated REST route, types, and README docs.
31
-
32
- ## 1.2.1
33
-
34
- ### Patch Changes
35
-
36
- - Improve SDK typings with comprehensive JSDoc on every request and response shape, clarifying field semantics for IDE hovers and generated docs.
37
-
38
- ## 1.2.0
39
-
40
- ### Minor Changes
41
-
42
- - Add generic type parameter support for type-safe skill identifiers
43
-
44
- The SDK now supports generic type parameters (`TSkillId`) for compile-time type safety, following the same pattern as @more-ink/irt-core. This enables:
45
-
46
- - Type-safe skill identifiers with TypeScript union types or enums
47
- - IDE autocomplete for skill names
48
- - Compile-time validation preventing invalid skill identifiers
49
- - 100% backward compatible (defaults to `string`)
50
-
51
- Example usage:
52
-
53
- ```typescript
54
- type MySkills = "grammar" | "vocabulary" | "listening";
55
- const client = new IrtClient<MySkills>({ baseUrl: "..." });
56
-
57
- // TypeScript ensures skillId is valid at compile time
58
- await client.recordAnswer({
59
- userId: "user123",
60
- skillId: "grammar", // ✅ Type-checked
61
- itemId: "item456",
62
- score: 0.8,
63
- });
64
- ```
65
-
66
- All SDK types now support the generic parameter:
67
-
68
- - `IrtClient<TSkillId>`
69
- - `RecordAnswerRequest<TSkillId>`
70
- - `RecordAnswerResponse<TSkillId>`
71
- - `SelectNextItemRequest<TSkillId>`
72
- - `SelectNextItemResponse<TSkillId>`
73
- - `UserStateResponse<TSkillId>`
74
- - `ItemStateResponse<TSkillId>`
75
- - And all other related types
76
-
77
- ## 1.1.0
78
-
79
- ### Minor Changes
80
-
81
- - Initial SDK release: Add lightweight API client for JavaScript/TypeScript frontends
82
-
83
- - New `IrtClient` class for consuming IRT Edge API
84
- - Full TypeScript support with type definitions
85
- - Complete API methods: recordAnswer, selectNextItem, getUserState, getItemState, health
86
- - Zero runtime dependencies (only peer dependency on @more-ink/irt-core)
87
- - Comprehensive documentation and examples
88
- - Backend server code remains private (not published to npm)
89
-
90
- ## 1.0.0
91
-
92
- ### Major Changes
93
-
94
- - First major release
95
-
96
- ### Patch Changes
97
-
98
- - Updated dependencies
99
- - @more-ink/irt-core@1.0.0
1
+ # @more-ink/irt-edge
2
+
3
+ ## 2.1.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Require `timestamp` in `recordAnswer` / `recordAnswerOnly` requests and enforce validation in the API + SDK typings.
8
+ - Keep `lastSeenAt` monotonic in bulk item updates (use max of existing vs. event timestamp).
9
+ - Resetting an item now removes it from all skill item index sets.
10
+ - Re-enabled Redis repo tests with updated MockRedis coverage.
11
+
12
+ ## 2.0.1
13
+
14
+ ### Patch Changes
15
+
16
+ - Fix Redis diagnostics endpoint to accept both verbs and ship runtime deps in FC layer.
17
+
18
+ ## 2.0.0
19
+
20
+ ### Minor Changes
21
+
22
+ - 8d8c76b: Add multi-skill recording support: the core engine now ingests multiple skill scores from a single item interaction, and irt-edge exposes a matching `/api/irt/answer-multi` endpoint plus SDK helpers.
23
+
24
+ ### Patch Changes
25
+
26
+ - Updated dependencies [8d8c76b]
27
+ - @more-ink/irt-core@1.1.0
28
+
29
+ ## Unreleased
30
+
31
+ ### Minor Changes
32
+
33
+ - Add `POST /api/irt/answer-multi` route plus SDK support (`recordMultiSkillAnswers`) to record several skill scores for the same item in one call, including docs and examples.
34
+
35
+ ## 1.3.0
36
+
37
+ ### Minor Changes
38
+
39
+ - Add `recordAnswerOnly` endpoint + SDK method to record responses without requesting a next item, including updated REST route, types, and README docs.
40
+
41
+ ## 1.2.1
42
+
43
+ ### Patch Changes
44
+
45
+ - Improve SDK typings with comprehensive JSDoc on every request and response shape, clarifying field semantics for IDE hovers and generated docs.
46
+
47
+ ## 1.2.0
48
+
49
+ ### Minor Changes
50
+
51
+ - Add generic type parameter support for type-safe skill identifiers
52
+
53
+ The SDK now supports generic type parameters (`TSkillId`) for compile-time type safety, following the same pattern as @more-ink/irt-core. This enables:
54
+
55
+ - Type-safe skill identifiers with TypeScript union types or enums
56
+ - IDE autocomplete for skill names
57
+ - Compile-time validation preventing invalid skill identifiers
58
+ - 100% backward compatible (defaults to `string`)
59
+
60
+ Example usage:
61
+
62
+ ```typescript
63
+ type MySkills = "grammar" | "vocabulary" | "listening";
64
+ const client = new IrtClient<MySkills>({ baseUrl: "..." });
65
+
66
+ // TypeScript ensures skillId is valid at compile time
67
+ await client.recordAnswer({
68
+ userId: "user123",
69
+ skillId: "grammar", // ✅ Type-checked
70
+ itemId: "item456",
71
+ score: 0.8,
72
+ });
73
+ ```
74
+
75
+ All SDK types now support the generic parameter:
76
+
77
+ - `IrtClient<TSkillId>`
78
+ - `RecordAnswerRequest<TSkillId>`
79
+ - `RecordAnswerResponse<TSkillId>`
80
+ - `SelectNextItemRequest<TSkillId>`
81
+ - `SelectNextItemResponse<TSkillId>`
82
+ - `UserStateResponse<TSkillId>`
83
+ - `ItemStateResponse<TSkillId>`
84
+ - And all other related types
85
+
86
+ ## 1.1.0
87
+
88
+ ### Minor Changes
89
+
90
+ - Initial SDK release: Add lightweight API client for JavaScript/TypeScript frontends
91
+
92
+ - New `IrtClient` class for consuming IRT Edge API
93
+ - Full TypeScript support with type definitions
94
+ - Complete API methods: recordAnswer, selectNextItem, getUserState, getItemState, health
95
+ - Zero runtime dependencies (only peer dependency on @more-ink/irt-core)
96
+ - Comprehensive documentation and examples
97
+ - Backend server code remains private (not published to npm)
98
+
99
+ ## 1.0.0
100
+
101
+ ### Major Changes
102
+
103
+ - First major release
104
+
105
+ ### Patch Changes
106
+
107
+ - Updated dependencies
108
+ - @more-ink/irt-core@1.0.0