@more-ink/irt-edge 2.1.3 → 2.2.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.
@@ -1,130 +1,131 @@
1
- /**
2
- * Example usage of the @more-ink/irt-edge SDK
3
- *
4
- * This demonstrates how frontend applications can consume the IRT Edge API,
5
- * including type-safe skill identifiers.
6
- */
7
-
8
- import { IrtClient } from '../sdk/index'
9
-
10
- // Define your app's skill types for compile-time type safety
11
- type AppSkills = 'math-algebra' | 'math-geometry' | 'reading' | 'writing'
12
-
13
- async function main() {
14
- // Initialize the client with type-safe skills
15
- const client = new IrtClient<AppSkills>({
16
- baseUrl: 'http://localhost:9000',
17
- headers: {
18
- // Add any authentication headers here if needed
19
- // 'Authorization': 'Bearer YOUR_TOKEN'
20
- },
21
- timeout: 10000, // 10 seconds
22
- })
23
-
24
- try {
25
- // 1. Check API health
26
- console.log('=== Health Check ===')
27
- const health = await client.health()
28
- console.log('API Status:', health)
29
- console.log()
30
-
31
- // 2. Record an answer and get the next item
32
- console.log('=== Record Answer & Get Next Item ===')
33
- const answerResult = await client.recordAnswer({
34
- userId: 'demo-user-001',
35
- skillId: 'math-algebra',
36
- itemId: 'question-42',
37
- score: 0.8, // 80% correct
38
- timestamp: Date.now(),
39
- // Optional: override default update/selection options
40
- updateOptions: {
41
- thetaLR: 0.05,
42
- aLR: 0.001,
43
- bLR: 0.01,
44
- },
45
- selectionOptions: {
46
- topKRandomize: 5,
47
- explorationChance: 0.1,
48
- },
49
- })
50
-
51
- console.log('Updated Ability (theta):', answerResult.theta.toFixed(3))
52
- console.log('Standard Error (SE):', answerResult.se.toFixed(3))
53
- console.log('Next Item:', answerResult.nextItem)
54
- console.log()
55
-
56
- // 3. Record multiple skill scores for a single multi-skill item
57
- console.log('=== Record Multi-Skill Answer ===')
58
- const multiResult = await client.recordMultiSkillAnswers({
59
- userId: 'demo-user-001',
60
- itemId: 'passage-77',
61
- timestamp: Date.now(),
62
- skillScores: [
63
- { skillId: 'math-algebra', score: 0.7 },
64
- { skillId: 'math-geometry', score: 0.45 },
65
- ],
66
- })
67
-
68
- multiResult.results.forEach((entry) => {
69
- console.log(
70
- `Skill ${entry.skillId}: theta=${entry.theta.toFixed(3)} (SE=${entry.se.toFixed(3)})`
71
- )
72
- })
73
- console.log()
74
-
75
- // 4. Get current user state
76
- console.log('=== Get User State ===')
77
- const userState = await client.getUserState('demo-user-001', 'math-algebra')
78
- console.log('Current Theta:', userState.user.theta.toFixed(3))
79
- console.log('Information Sum:', userState.user.infoSum.toFixed(3))
80
- console.log('Standard Error:', userState.se.toFixed(3))
81
- console.log()
82
-
83
- // 5. Get all skill states for a user
84
- console.log('=== Get All User Skills ===')
85
- const allUserStates = await client.getUserStates('demo-user-001')
86
- console.log(`User has ${allUserStates.count} skill(s):`)
87
- allUserStates.skills.forEach(skill => {
88
- console.log(` - ${skill.user.skillId}: theta=${skill.user.theta.toFixed(3)}, se=${skill.se.toFixed(3)}`)
89
- })
90
- console.log()
91
-
92
- // 6. Select next item without recording a response
93
- console.log('=== Select Next Item (without answer) ===')
94
- const nextItem = await client.selectNextItem({
95
- userId: 'demo-user-001',
96
- skillId: 'math-algebra',
97
- selectionOptions: {
98
- topKRandomize: 3,
99
- explorationChance: 0.15,
100
- },
101
- })
102
-
103
- console.log('User Theta:', nextItem.user?.theta.toFixed(3))
104
- console.log('Recommended Item:', nextItem.nextItem)
105
- console.log()
106
-
107
- // 7. Get item state
108
- if (nextItem.nextItem) {
109
- console.log('=== Get Item State ===')
110
- const itemState = await client.getItemState(
111
- nextItem.nextItem.id,
112
- 'math-algebra'
113
- )
114
- console.log('Item Parameters:')
115
- console.log(' - Discrimination (a):', itemState.a.toFixed(3))
116
- console.log(' - Difficulty (b):', itemState.b.toFixed(3))
117
- console.log(' - Times Seen:', itemState.timesSeen)
118
- console.log()
119
- }
120
-
121
- console.log('✅ All operations completed successfully!')
122
-
123
- } catch (error) {
124
- console.error('❌ Error:', error instanceof Error ? error.message : error)
125
- process.exit(1)
126
- }
127
- }
128
-
129
- // Run the example
130
- main()
1
+ /**
2
+ * Example usage of the @more-ink/irt-edge SDK
3
+ *
4
+ * This demonstrates how frontend applications can consume the IRT Edge API,
5
+ * including type-safe skill identifiers.
6
+ */
7
+
8
+ import { IrtClient } from '../sdk/index'
9
+
10
+ // Define your app's skill types for compile-time type safety
11
+ type AppSkills = 'math-algebra' | 'math-geometry' | 'reading' | 'writing'
12
+
13
+ async function main() {
14
+ // Initialize the client with type-safe skills
15
+ const client = new IrtClient<AppSkills>({
16
+ namespace: 'exam-a',
17
+ baseUrl: 'http://localhost:9000',
18
+ headers: {
19
+ // Add any authentication headers here if needed
20
+ // 'Authorization': 'Bearer YOUR_TOKEN'
21
+ },
22
+ timeout: 10000, // 10 seconds
23
+ })
24
+
25
+ try {
26
+ // 1. Check API health
27
+ console.log('=== Health Check ===')
28
+ const health = await client.health()
29
+ console.log('API Status:', health)
30
+ console.log()
31
+
32
+ // 2. Record an answer and get the next item
33
+ console.log('=== Record Answer & Get Next Item ===')
34
+ const answerResult = await client.recordAnswer({
35
+ userId: 'demo-user-001',
36
+ skillId: 'math-algebra',
37
+ itemId: 'question-42',
38
+ score: 0.8, // 80% correct
39
+ timestamp: Date.now(),
40
+ // Optional: override default update/selection options
41
+ updateOptions: {
42
+ thetaLR: 0.05,
43
+ aLR: 0.001,
44
+ bLR: 0.01,
45
+ },
46
+ selectionOptions: {
47
+ topKRandomize: 5,
48
+ explorationChance: 0.1,
49
+ },
50
+ })
51
+
52
+ console.log('Updated Ability (theta):', answerResult.theta.toFixed(3))
53
+ console.log('Standard Error (SE):', answerResult.se.toFixed(3))
54
+ console.log('Next Item:', answerResult.nextItem)
55
+ console.log()
56
+
57
+ // 3. Record multiple skill scores for a single multi-skill item
58
+ console.log('=== Record Multi-Skill Answer ===')
59
+ const multiResult = await client.recordMultiSkillAnswers({
60
+ userId: 'demo-user-001',
61
+ itemId: 'passage-77',
62
+ timestamp: Date.now(),
63
+ skillScores: [
64
+ { skillId: 'math-algebra', score: 0.7 },
65
+ { skillId: 'math-geometry', score: 0.45 },
66
+ ],
67
+ })
68
+
69
+ multiResult.results.forEach((entry) => {
70
+ console.log(
71
+ `Skill ${entry.skillId}: theta=${entry.theta.toFixed(3)} (SE=${entry.se.toFixed(3)})`
72
+ )
73
+ })
74
+ console.log()
75
+
76
+ // 4. Get current user state
77
+ console.log('=== Get User State ===')
78
+ const userState = await client.getUserState('demo-user-001', 'math-algebra')
79
+ console.log('Current Theta:', userState.user.theta.toFixed(3))
80
+ console.log('Information Sum:', userState.user.infoSum.toFixed(3))
81
+ console.log('Standard Error:', userState.se.toFixed(3))
82
+ console.log()
83
+
84
+ // 5. Get all skill states for a user
85
+ console.log('=== Get All User Skills ===')
86
+ const allUserStates = await client.getUserStates('demo-user-001')
87
+ console.log(`User has ${allUserStates.count} skill(s):`)
88
+ allUserStates.skills.forEach(skill => {
89
+ console.log(` - ${skill.user.skillId}: theta=${skill.user.theta.toFixed(3)}, se=${skill.se.toFixed(3)}`)
90
+ })
91
+ console.log()
92
+
93
+ // 6. Select next item without recording a response
94
+ console.log('=== Select Next Item (without answer) ===')
95
+ const nextItem = await client.selectNextItem({
96
+ userId: 'demo-user-001',
97
+ skillId: 'math-algebra',
98
+ selectionOptions: {
99
+ topKRandomize: 3,
100
+ explorationChance: 0.15,
101
+ },
102
+ })
103
+
104
+ console.log('User Theta:', nextItem.user?.theta.toFixed(3))
105
+ console.log('Recommended Item:', nextItem.nextItem)
106
+ console.log()
107
+
108
+ // 7. Get item state
109
+ if (nextItem.nextItem) {
110
+ console.log('=== Get Item State ===')
111
+ const itemState = await client.getItemState(
112
+ nextItem.nextItem.id,
113
+ 'math-algebra'
114
+ )
115
+ console.log('Item Parameters:')
116
+ console.log(' - Discrimination (a):', itemState.a.toFixed(3))
117
+ console.log(' - Difficulty (b):', itemState.b.toFixed(3))
118
+ console.log(' - Times Seen:', itemState.timesSeen)
119
+ console.log()
120
+ }
121
+
122
+ console.log('✅ All operations completed successfully!')
123
+
124
+ } catch (error) {
125
+ console.error('❌ Error:', error instanceof Error ? error.message : error)
126
+ process.exit(1)
127
+ }
128
+ }
129
+
130
+ // Run the example
131
+ main()
package/package.json CHANGED
@@ -1,53 +1,53 @@
1
- {
2
- "name": "@more-ink/irt-edge",
3
- "version": "2.1.3",
4
- "description": "IRT Edge API client SDK for JavaScript/TypeScript frontends.",
5
- "main": "sdk/index.js",
6
- "types": "sdk/index.d.ts",
7
- "exports": {
8
- ".": {
9
- "types": "./sdk/index.d.ts",
10
- "import": "./sdk/index.js",
11
- "require": "./sdk/index.js"
12
- }
13
- },
14
- "files": [
15
- "sdk",
16
- "README.md",
17
- "CHANGELOG.md",
18
- "examples"
19
- ],
20
- "scripts": {
21
- "build": "bash scripts/build.sh",
22
- "build:sdk": "tsc -p tsconfig.sdk.json",
23
- "start": "node dist/index.js",
24
- "test": "vitest run",
25
- "test:watch": "vitest watch",
26
- "lint": "echo \"Add ESLint config\" && exit 0",
27
- "format": "echo \"Add Prettier config\" && exit 0",
28
- "dev": "tsx watch --require dotenv/config src/index.ts",
29
- "seed": "tsx src/seed.ts",
30
- "deploy": "npm run build && npm run layer:deps && tsx scripts/deploy.ts",
31
- "cost": "npx cost-of-modules --less --no-install",
32
- "layer:clean": "rm -rf .layer",
33
- "layer:deps": "bash scripts/layer-deps.sh"
34
- },
35
- "dependencies": {
36
- "@hono/node-server": "^1.19.6",
37
- "@more-ink/irt-core": "^1.2.2",
38
- "@prisma/adapter-pg": "^7.1.0",
39
- "@prisma/client": "^7.1.0",
40
- "dayjs": "^1.11.19",
41
- "dotenv": "^16.6.1",
42
- "hono": "^4.10.7",
43
- "ioredis": "^5.8.2",
44
- "tslib": "^2.8.1",
45
- "undici": "^7.0.1"
46
- },
47
- "devDependencies": {
48
- "@larksuiteoapi/node-sdk": "^1.55.0",
49
- "@upstash/redis": "^1.35.7",
50
- "fc-deploy": "^1.2.9",
51
- "prisma": "^7.1.0"
52
- }
53
- }
1
+ {
2
+ "name": "@more-ink/irt-edge",
3
+ "version": "2.2.0",
4
+ "description": "IRT Edge API client SDK for JavaScript/TypeScript frontends.",
5
+ "main": "sdk/index.js",
6
+ "types": "sdk/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./sdk/index.d.ts",
10
+ "import": "./sdk/index.js",
11
+ "require": "./sdk/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "sdk",
16
+ "README.md",
17
+ "CHANGELOG.md",
18
+ "examples"
19
+ ],
20
+ "scripts": {
21
+ "build": "bash scripts/build.sh",
22
+ "build:sdk": "tsc -p tsconfig.sdk.json",
23
+ "start": "node dist/index.js",
24
+ "test": "vitest run",
25
+ "test:watch": "vitest watch",
26
+ "lint": "echo \"Add ESLint config\" && exit 0",
27
+ "format": "echo \"Add Prettier config\" && exit 0",
28
+ "dev": "tsx watch --require dotenv/config src/index.ts",
29
+ "seed": "tsx src/seed.ts",
30
+ "deploy": "npm run build && npm run layer:deps && tsx scripts/deploy.ts",
31
+ "cost": "npx cost-of-modules --less --no-install",
32
+ "layer:clean": "rm -rf .layer",
33
+ "layer:deps": "bash scripts/layer-deps.sh"
34
+ },
35
+ "dependencies": {
36
+ "@hono/node-server": "^1.19.6",
37
+ "@more-ink/irt-core": "^1.2.2",
38
+ "@prisma/adapter-pg": "^7.1.0",
39
+ "@prisma/client": "^7.1.0",
40
+ "dayjs": "^1.11.19",
41
+ "dotenv": "^16.6.1",
42
+ "hono": "^4.10.7",
43
+ "ioredis": "^5.8.2",
44
+ "tslib": "^2.8.1",
45
+ "undici": "^7.0.1"
46
+ },
47
+ "devDependencies": {
48
+ "@larksuiteoapi/node-sdk": "^1.55.0",
49
+ "@upstash/redis": "^1.35.7",
50
+ "fc-deploy": "^1.2.9",
51
+ "prisma": "^7.1.0"
52
+ }
53
+ }
package/sdk/client.d.ts CHANGED
@@ -10,6 +10,7 @@ import type { IrtClientConfig, RecordAnswerRequest, RecordAnswerResponse, Record
10
10
  * ```ts
11
11
  * // Basic usage (string skills)
12
12
  * const client = new IrtClient({
13
+ * namespace: 'exam-a',
13
14
  * baseUrl: 'https://your-api.example.com',
14
15
  * headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
15
16
  * })
@@ -17,6 +18,7 @@ import type { IrtClientConfig, RecordAnswerRequest, RecordAnswerResponse, Record
17
18
  * // Type-safe usage with skill enum
18
19
  * type MySkills = 'grammar' | 'vocabulary' | 'listening'
19
20
  * const typedClient = new IrtClient<MySkills>({
21
+ * namespace: 'exam-a',
20
22
  * baseUrl: 'https://your-api.example.com'
21
23
  * })
22
24
  *
@@ -148,12 +150,14 @@ export declare class IrtClient<TSkillId = string> {
148
150
  * ```ts
149
151
  * // Basic usage
150
152
  * const client = createIrtClient({
153
+ * namespace: 'exam-a',
151
154
  * baseUrl: 'https://your-api.example.com'
152
155
  * })
153
156
  *
154
157
  * // Type-safe skills
155
158
  * type Skills = 'math' | 'reading' | 'science'
156
159
  * const typedClient = createIrtClient<Skills>({
160
+ * namespace: 'exam-a',
157
161
  * baseUrl: 'https://your-api.example.com'
158
162
  * })
159
163
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/sdk/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/sdk/client.ts"],"names":[],"mappings":"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"}
package/sdk/client.js CHANGED
@@ -13,6 +13,7 @@ exports.createIrtClient = createIrtClient;
13
13
  * ```ts
14
14
  * // Basic usage (string skills)
15
15
  * const client = new IrtClient({
16
+ * namespace: 'exam-a',
16
17
  * baseUrl: 'https://your-api.example.com',
17
18
  * headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
18
19
  * })
@@ -20,6 +21,7 @@ exports.createIrtClient = createIrtClient;
20
21
  * // Type-safe usage with skill enum
21
22
  * type MySkills = 'grammar' | 'vocabulary' | 'listening'
22
23
  * const typedClient = new IrtClient<MySkills>({
24
+ * namespace: 'exam-a',
23
25
  * baseUrl: 'https://your-api.example.com'
24
26
  * })
25
27
  *
@@ -41,10 +43,15 @@ class IrtClient {
41
43
  headers;
42
44
  timeout;
43
45
  constructor(config) {
46
+ const namespace = config.namespace?.trim();
47
+ if (!namespace) {
48
+ throw new Error('IrtClient requires a non-empty namespace');
49
+ }
44
50
  this.baseUrl = config.baseUrl.replace(/\/$/, ''); // Remove trailing slash
45
51
  this.headers = {
46
52
  'Content-Type': 'application/json',
47
53
  ...config.headers,
54
+ 'X-IRT-Namespace': namespace,
48
55
  };
49
56
  this.timeout = config.timeout ?? 10000;
50
57
  }
@@ -251,12 +258,14 @@ exports.IrtClient = IrtClient;
251
258
  * ```ts
252
259
  * // Basic usage
253
260
  * const client = createIrtClient({
261
+ * namespace: 'exam-a',
254
262
  * baseUrl: 'https://your-api.example.com'
255
263
  * })
256
264
  *
257
265
  * // Type-safe skills
258
266
  * type Skills = 'math' | 'reading' | 'science'
259
267
  * const typedClient = createIrtClient<Skills>({
268
+ * namespace: 'exam-a',
260
269
  * baseUrl: 'https://your-api.example.com'
261
270
  * })
262
271
  * ```
package/sdk/client.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/sdk/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/sdk/client.ts"],"names":[],"mappings":"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"}
package/sdk/index.d.ts CHANGED
@@ -9,6 +9,7 @@
9
9
  * import { IrtClient } from '@more-ink/irt-edge'
10
10
  *
11
11
  * const client = new IrtClient({
12
+ * namespace: 'exam-a',
12
13
  * baseUrl: 'https://your-api.example.com',
13
14
  * headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
14
15
  * })
@@ -29,6 +30,7 @@
29
30
  * type MySkills = 'grammar' | 'vocabulary' | 'listening'
30
31
  *
31
32
  * const client = new IrtClient<MySkills>({
33
+ * namespace: 'exam-a',
32
34
  * baseUrl: 'https://your-api.example.com'
33
35
  * })
34
36
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/sdk/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AACrD,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAGhB,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,eAAe,GAChB,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/sdk/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AACrD,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAGhB,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,eAAe,GAChB,MAAM,oBAAoB,CAAA"}
package/sdk/index.js CHANGED
@@ -10,6 +10,7 @@
10
10
  * import { IrtClient } from '@more-ink/irt-edge'
11
11
  *
12
12
  * const client = new IrtClient({
13
+ * namespace: 'exam-a',
13
14
  * baseUrl: 'https://your-api.example.com',
14
15
  * headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
15
16
  * })
@@ -30,6 +31,7 @@
30
31
  * type MySkills = 'grammar' | 'vocabulary' | 'listening'
31
32
  *
32
33
  * const client = new IrtClient<MySkills>({
34
+ * namespace: 'exam-a',
33
35
  * baseUrl: 'https://your-api.example.com'
34
36
  * })
35
37
  *
package/sdk/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/sdk/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;;;AAEH,mCAAqD;AAA5C,mGAAA,SAAS,OAAA;AAAE,yGAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/sdk/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;;;AAEH,mCAAqD;AAA5C,mGAAA,SAAS,OAAA;AAAE,yGAAA,eAAe,OAAA"}
package/sdk/types.d.ts CHANGED
@@ -246,6 +246,11 @@ export interface HealthResponse {
246
246
  * Configuration accepted by the SDK client factory.
247
247
  */
248
248
  export interface IrtClientConfig {
249
+ /**
250
+ * Required namespace to isolate exam types.
251
+ * @example "exam-a"
252
+ */
253
+ namespace: string;
249
254
  /**
250
255
  * Base URL of the IRT Edge API server
251
256
  * @example "https://your-api.example.com"
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/sdk/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/sdk/types.ts"],"names":[],"mappings":"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"}