@algebrakit/sdk 1.0.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/LICENSE +21 -0
- package/README.md +142 -0
- package/dist/ApiClient.d.ts +59 -0
- package/dist/ApiClient.d.ts.map +1 -0
- package/dist/ApiClient.js +109 -0
- package/dist/ApiClient.js.map +1 -0
- package/dist/demo/config.js +63 -0
- package/dist/demo/demo.js +373 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/src/ApiClient.js +108 -0
- package/dist/src/index.js +18 -0
- package/dist/src/types/ApiTypes.js +23 -0
- package/dist/src/types/exercise/AK_ExerciseTypes.js +5 -0
- package/dist/src/types/request/RequestTypes.js +3 -0
- package/dist/src/types/response/ResponseTypes.js +2 -0
- package/dist/src/types/shared/SharedTypes.js +3 -0
- package/dist/src/utils/errorHandler.js +22 -0
- package/dist/types/ApiTypes.d.ts +8 -0
- package/dist/types/ApiTypes.d.ts.map +1 -0
- package/dist/types/ApiTypes.js +24 -0
- package/dist/types/ApiTypes.js.map +1 -0
- package/dist/types/exercise/AK_ExerciseTypes.d.ts +191 -0
- package/dist/types/exercise/AK_ExerciseTypes.d.ts.map +1 -0
- package/dist/types/exercise/AK_ExerciseTypes.js +6 -0
- package/dist/types/exercise/AK_ExerciseTypes.js.map +1 -0
- package/dist/types/request/RequestTypes.d.ts +45 -0
- package/dist/types/request/RequestTypes.d.ts.map +1 -0
- package/dist/types/request/RequestTypes.js +4 -0
- package/dist/types/request/RequestTypes.js.map +1 -0
- package/dist/types/response/ResponseTypes.d.ts +63 -0
- package/dist/types/response/ResponseTypes.d.ts.map +1 -0
- package/dist/types/response/ResponseTypes.js +3 -0
- package/dist/types/response/ResponseTypes.js.map +1 -0
- package/dist/types/shared/SharedTypes.d.ts +137 -0
- package/dist/types/shared/SharedTypes.d.ts.map +1 -0
- package/dist/types/shared/SharedTypes.js +4 -0
- package/dist/types/shared/SharedTypes.js.map +1 -0
- package/dist/utils/errorHandler.d.ts +8 -0
- package/dist/utils/errorHandler.d.ts.map +1 -0
- package/dist/utils/errorHandler.js +23 -0
- package/dist/utils/errorHandler.js.map +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
export type AK_QuestionMode = 'ONE_BY_ONE' | 'ALL_AT_ONCE';
|
|
2
|
+
export type AK_SymbolType = 'VARIABLE' | 'CONSTANT' | 'FUNCTION' | 'FREEVARIABLE';
|
|
3
|
+
export type AK_InteractionType = 'MULTISTEP' | 'CHOICE' | 'FILL_IN_THE_BLANKS' | 'MATH_TABLE';
|
|
4
|
+
export type AK_ElementBlockType = 'CONTENT' | 'INTERACTION';
|
|
5
|
+
export type AK_FieldSize = 'SMALL' | 'MEDIUM' | 'LARGE';
|
|
6
|
+
export type AK_BlankType = 'EXPRESSION' | 'SELECTION';
|
|
7
|
+
export type AK_CellType = 'text' | 'math' | 'input';
|
|
8
|
+
export type AK_AccuracyType = 'ROUND' | 'ROUND_UP' | 'ROUND_DOWN' | 'ACCURATE' | 'PRECISION';
|
|
9
|
+
export type AK_NumberForm = 'DECIMAL_REQUIRED' | 'DECIMAL_PREFERRED' | 'FRACTION_REQUIRED' | 'FRACTION_PREFERRED' | 'SCIENTIFIC_NOTATION_REQUIRED' | 'SCIENTIFIC_NOTATION_PREFERRED';
|
|
10
|
+
export type AK_RadicalForm = 'STANDARD_FORM_REQUIRED';
|
|
11
|
+
export type AK_FractionForm = 'MIXED_FRACTION_REQUIRED' | 'IMPROPER_FRACTION_REQUIRED';
|
|
12
|
+
export type AK_InitialExpressionType = 'NONE' | 'CUSTOM' | 'AUTOMATIC';
|
|
13
|
+
export type AK_TaskType = 'SIMPLIFY' | 'SOLVE' | 'SOLVE_SYSTEM' | 'EXPAND' | 'FACTOR' | 'TOGETHER' | 'COMPLETE_SQUARE' | 'POLYNOMIAL_STANDARD_FORM' | 'POWER_STANDARD_FORM' | 'EXPONENTIAL_STANDARD_FORM' | 'CARTESIAN_TO_POLAR_FORM' | 'POLAR_TO_CARTESIAN_FORM';
|
|
14
|
+
/**
|
|
15
|
+
* The AK_Exercise specification format. A human-friendly way to define
|
|
16
|
+
* mathematical exercises for the Algebrakit API.
|
|
17
|
+
*/
|
|
18
|
+
export interface IAK_Exercise {
|
|
19
|
+
type: 'AK_Exercise';
|
|
20
|
+
version: number;
|
|
21
|
+
studentProfile: string;
|
|
22
|
+
script?: string;
|
|
23
|
+
symbols?: IAK_Symbol[];
|
|
24
|
+
elements: IAK_Element[];
|
|
25
|
+
questionMode: AK_QuestionMode;
|
|
26
|
+
}
|
|
27
|
+
export interface IAK_Symbol {
|
|
28
|
+
name: string;
|
|
29
|
+
type: AK_SymbolType;
|
|
30
|
+
synonym?: string;
|
|
31
|
+
addToFormulaEditor?: boolean;
|
|
32
|
+
notations?: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface IAK_Element {
|
|
35
|
+
blocks: (IAK_ContentBlock | IAK_InteractionBlock)[];
|
|
36
|
+
}
|
|
37
|
+
export interface IAK_ElementBlock {
|
|
38
|
+
id?: string;
|
|
39
|
+
type: AK_ElementBlockType;
|
|
40
|
+
}
|
|
41
|
+
export interface IAK_ContentBlock extends IAK_ElementBlock {
|
|
42
|
+
type: 'CONTENT';
|
|
43
|
+
content: string;
|
|
44
|
+
}
|
|
45
|
+
export interface IAK_InteractionBlock extends IAK_ElementBlock {
|
|
46
|
+
type: 'INTERACTION';
|
|
47
|
+
interaction: IAK_InteractionChoice | IAK_InteractionFITB | IAK_InteractionMultistep | IAK_InteractionTable;
|
|
48
|
+
}
|
|
49
|
+
export interface IAK_Interaction {
|
|
50
|
+
type: AK_InteractionType;
|
|
51
|
+
refId?: string;
|
|
52
|
+
instruction?: string;
|
|
53
|
+
scored?: boolean;
|
|
54
|
+
hints?: string[];
|
|
55
|
+
enableCalculator?: boolean;
|
|
56
|
+
}
|
|
57
|
+
export interface IAK_InteractionChoice extends IAK_Interaction {
|
|
58
|
+
type: 'CHOICE';
|
|
59
|
+
spec: IAK_SelectionPart;
|
|
60
|
+
}
|
|
61
|
+
export interface IAK_InteractionFITB extends IAK_Interaction {
|
|
62
|
+
type: 'FILL_IN_THE_BLANKS';
|
|
63
|
+
content: string;
|
|
64
|
+
blanks: IAK_Blank[];
|
|
65
|
+
interchangables?: string[][];
|
|
66
|
+
}
|
|
67
|
+
export interface IAK_InteractionMultistep extends IAK_Interaction {
|
|
68
|
+
type: 'MULTISTEP';
|
|
69
|
+
givenParts?: {
|
|
70
|
+
[key: string]: IAK_MultistepPart;
|
|
71
|
+
};
|
|
72
|
+
intermediateParts?: {
|
|
73
|
+
[key: string]: IAK_MultistepPart;
|
|
74
|
+
};
|
|
75
|
+
solutionPart: IAK_MultistepPart;
|
|
76
|
+
initialExpressionType?: AK_InitialExpressionType;
|
|
77
|
+
initialExpression?: string;
|
|
78
|
+
}
|
|
79
|
+
export interface IAK_InteractionTable extends IAK_Interaction {
|
|
80
|
+
type: 'MATH_TABLE';
|
|
81
|
+
cells: IAK_Cell[];
|
|
82
|
+
}
|
|
83
|
+
export interface IAK_UnitSpec {
|
|
84
|
+
unit: string;
|
|
85
|
+
allowEquivalentUnits?: boolean;
|
|
86
|
+
override?: boolean;
|
|
87
|
+
}
|
|
88
|
+
export interface IAK_FormSpec {
|
|
89
|
+
numbers?: AK_NumberForm;
|
|
90
|
+
radicals?: AK_RadicalForm;
|
|
91
|
+
fractions?: AK_FractionForm;
|
|
92
|
+
}
|
|
93
|
+
export interface IAK_ExpressionPart {
|
|
94
|
+
task: IAK_Task;
|
|
95
|
+
accuracy?: AK_AccuracyPreSpec;
|
|
96
|
+
unit?: IAK_UnitSpec;
|
|
97
|
+
form?: IAK_FormSpec;
|
|
98
|
+
}
|
|
99
|
+
export interface IAK_MultistepPart extends IAK_ExpressionPart {
|
|
100
|
+
symbol?: string;
|
|
101
|
+
description?: string;
|
|
102
|
+
alternativeTasks?: IAK_Task[];
|
|
103
|
+
}
|
|
104
|
+
export interface IAK_SelectionPart {
|
|
105
|
+
options: Array<{
|
|
106
|
+
content: string;
|
|
107
|
+
correct: boolean;
|
|
108
|
+
}>;
|
|
109
|
+
shuffle: boolean;
|
|
110
|
+
multipleSelect: boolean;
|
|
111
|
+
}
|
|
112
|
+
export interface IAK_Blank {
|
|
113
|
+
id: string;
|
|
114
|
+
size: AK_FieldSize;
|
|
115
|
+
type: AK_BlankType;
|
|
116
|
+
input: IAK_ExpressionPart | IAK_SelectionPart;
|
|
117
|
+
}
|
|
118
|
+
export interface IAK_Cell {
|
|
119
|
+
type: AK_CellType;
|
|
120
|
+
row: number;
|
|
121
|
+
col: number;
|
|
122
|
+
isHeader: boolean;
|
|
123
|
+
content?: string;
|
|
124
|
+
value?: string;
|
|
125
|
+
spec?: IAK_ExpressionPart;
|
|
126
|
+
}
|
|
127
|
+
export interface AK_AccuracyPreSpec {
|
|
128
|
+
type: AK_AccuracyType;
|
|
129
|
+
nr: number;
|
|
130
|
+
keepDecimalZeros?: boolean;
|
|
131
|
+
}
|
|
132
|
+
export interface IAK_TaskSimplify {
|
|
133
|
+
type: 'SIMPLIFY';
|
|
134
|
+
expression: string;
|
|
135
|
+
}
|
|
136
|
+
export interface IAK_TaskSolve {
|
|
137
|
+
type: 'SOLVE';
|
|
138
|
+
expression: string;
|
|
139
|
+
variable: string;
|
|
140
|
+
domain?: string;
|
|
141
|
+
}
|
|
142
|
+
export interface IAK_TaskSolveSystem {
|
|
143
|
+
type: 'SOLVE_SYSTEM';
|
|
144
|
+
expression: string;
|
|
145
|
+
variables: string[];
|
|
146
|
+
domain?: string;
|
|
147
|
+
restrictVariable?: string;
|
|
148
|
+
method?: 'Eliminate' | 'Substitute' | 'Equate';
|
|
149
|
+
}
|
|
150
|
+
export interface IAK_TaskExpand {
|
|
151
|
+
type: 'EXPAND';
|
|
152
|
+
expression: string;
|
|
153
|
+
}
|
|
154
|
+
export interface IAK_TaskFactor {
|
|
155
|
+
type: 'FACTOR';
|
|
156
|
+
expression: string;
|
|
157
|
+
}
|
|
158
|
+
export interface IAK_TaskTogether {
|
|
159
|
+
type: 'TOGETHER';
|
|
160
|
+
expression: string;
|
|
161
|
+
}
|
|
162
|
+
export interface IAK_TaskCompleteSquare {
|
|
163
|
+
type: 'COMPLETE_SQUARE';
|
|
164
|
+
variable: string;
|
|
165
|
+
expression: string;
|
|
166
|
+
}
|
|
167
|
+
export interface IAK_TaskPolynomialStandardForm {
|
|
168
|
+
type: 'POLYNOMIAL_STANDARD_FORM';
|
|
169
|
+
expression: string;
|
|
170
|
+
variable: string;
|
|
171
|
+
}
|
|
172
|
+
export interface IAK_TaskPowerStandardForm {
|
|
173
|
+
type: 'POWER_STANDARD_FORM';
|
|
174
|
+
expression: string;
|
|
175
|
+
variable: string;
|
|
176
|
+
}
|
|
177
|
+
export interface IAK_TaskExponentialStandardForm {
|
|
178
|
+
type: 'EXPONENTIAL_STANDARD_FORM';
|
|
179
|
+
expression: string;
|
|
180
|
+
variable: string;
|
|
181
|
+
}
|
|
182
|
+
export interface IAK_TaskCartesianToPolarForm {
|
|
183
|
+
type: 'CARTESIAN_TO_POLAR_FORM';
|
|
184
|
+
expression: string;
|
|
185
|
+
}
|
|
186
|
+
export interface IAK_TaskPolarToCartesianForm {
|
|
187
|
+
type: 'POLAR_TO_CARTESIAN_FORM';
|
|
188
|
+
expression: string;
|
|
189
|
+
}
|
|
190
|
+
export type IAK_Task = IAK_TaskSimplify | IAK_TaskSolve | IAK_TaskSolveSystem | IAK_TaskExpand | IAK_TaskFactor | IAK_TaskTogether | IAK_TaskCompleteSquare | IAK_TaskPolynomialStandardForm | IAK_TaskPowerStandardForm | IAK_TaskExponentialStandardForm | IAK_TaskCartesianToPolarForm | IAK_TaskPolarToCartesianForm;
|
|
191
|
+
//# sourceMappingURL=AK_ExerciseTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AK_ExerciseTypes.d.ts","sourceRoot":"","sources":["../../../src/types/exercise/AK_ExerciseTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// AK_Exercise types for the Algebrakit Webservice API
|
|
3
|
+
// These define the human-friendly exercise specification format accepted by
|
|
4
|
+
// the session/create and exercise/validate endpoints.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
//# sourceMappingURL=AK_ExerciseTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AK_ExerciseTypes.js","sourceRoot":"","sources":["../../../src/types/exercise/AK_ExerciseTypes.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,4EAA4E;AAC5E,sDAAsD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { IAK_Exercise } from '../exercise/AK_ExerciseTypes';
|
|
2
|
+
export type AK_StudentFeedbackType = 'ALL' | 'ICONS_ONLY' | 'ERRORS_ONLY' | 'NONE';
|
|
3
|
+
export interface CreateSessionOptions {
|
|
4
|
+
validate?: boolean;
|
|
5
|
+
productionMode?: boolean;
|
|
6
|
+
generateDebugInfo?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface CreateSessionRequest {
|
|
9
|
+
exercises: Array<{
|
|
10
|
+
exerciseId?: string;
|
|
11
|
+
version?: string;
|
|
12
|
+
exerciseSpec?: IAK_Exercise | Record<string, unknown>;
|
|
13
|
+
sessionId?: string;
|
|
14
|
+
nr?: number;
|
|
15
|
+
}>;
|
|
16
|
+
options?: CreateSessionOptions;
|
|
17
|
+
scoringModel?: string;
|
|
18
|
+
assessmentMode?: boolean;
|
|
19
|
+
requireLockForSolution?: boolean;
|
|
20
|
+
studentFeedbackType?: AK_StudentFeedbackType;
|
|
21
|
+
apiVersion: 2;
|
|
22
|
+
}
|
|
23
|
+
export interface SessionScoreRequest {
|
|
24
|
+
sessionId: string;
|
|
25
|
+
lockSession?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface SessionLockRequest {
|
|
28
|
+
action: 'LOCK' | 'UNLOCK' | 'FINALIZE';
|
|
29
|
+
sessionIds: string[];
|
|
30
|
+
}
|
|
31
|
+
export interface SessionInfoRequest {
|
|
32
|
+
sessionId: string;
|
|
33
|
+
}
|
|
34
|
+
export interface SessionRetrieveRequest {
|
|
35
|
+
sessionIds: string[];
|
|
36
|
+
}
|
|
37
|
+
export interface ExerciseValidateRequest {
|
|
38
|
+
exerciseId?: string;
|
|
39
|
+
version?: string | number;
|
|
40
|
+
exerciseSpec?: IAK_Exercise | Record<string, unknown>;
|
|
41
|
+
}
|
|
42
|
+
export interface ExerciseInfoRequest {
|
|
43
|
+
id: string;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=RequestTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestTypes.d.ts","sourceRoot":"","sources":["../../../src/types/request/RequestTypes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,YAAY,GAAG,aAAa,GAAG,MAAM,CAAC;AAEnF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,KAAK,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,sBAAsB,CAAC;IAC7C,UAAU,EAAE,CAAC,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IACvC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;CACZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestTypes.js","sourceRoot":"","sources":["../../../src/types/request/RequestTypes.ts"],"names":[],"mappings":";AAAA,kDAAkD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { InteractionScoring, TagDescription, QuestionResult, ElementInfo, InteractionDescription, SessionData } from '../shared/SharedTypes';
|
|
2
|
+
export type CreateSessionResponse = Array<{
|
|
3
|
+
success: boolean;
|
|
4
|
+
msg?: string;
|
|
5
|
+
sessions: Array<SessionData>;
|
|
6
|
+
}>;
|
|
7
|
+
export interface SessionScoreResponse {
|
|
8
|
+
questions: Array<QuestionResult>;
|
|
9
|
+
tagDescriptions: Record<string, TagDescription>;
|
|
10
|
+
scoring: InteractionScoring;
|
|
11
|
+
}
|
|
12
|
+
export interface SessionLockResponse {
|
|
13
|
+
}
|
|
14
|
+
export interface SessionInfoResponse {
|
|
15
|
+
success?: boolean;
|
|
16
|
+
creationTimestamp?: number;
|
|
17
|
+
elements: Array<ElementInfo>;
|
|
18
|
+
tagDescriptions: Record<string, TagDescription>;
|
|
19
|
+
scoring?: InteractionScoring;
|
|
20
|
+
}
|
|
21
|
+
export type SessionRetrieveResponse = Array<SessionData>;
|
|
22
|
+
export interface ExerciseValidateResponse {
|
|
23
|
+
success: boolean;
|
|
24
|
+
valid: boolean;
|
|
25
|
+
msg?: string;
|
|
26
|
+
marks?: number;
|
|
27
|
+
random?: boolean;
|
|
28
|
+
interactions?: Record<string, InteractionDescription>;
|
|
29
|
+
}
|
|
30
|
+
export interface ExerciseInfoResponse {
|
|
31
|
+
commitHistory: ExerciseInfoCommitData[];
|
|
32
|
+
id: string;
|
|
33
|
+
publishedVersions: ExerciseInfoPublishedVersion[];
|
|
34
|
+
courseName: string;
|
|
35
|
+
type: string;
|
|
36
|
+
}
|
|
37
|
+
export interface ExerciseInfoCommitData {
|
|
38
|
+
versionNumber: string;
|
|
39
|
+
commitDate: string;
|
|
40
|
+
commitMessage: string;
|
|
41
|
+
authorUsername: string;
|
|
42
|
+
}
|
|
43
|
+
export interface ExerciseInfoPublishedVersion {
|
|
44
|
+
name: string;
|
|
45
|
+
majorVersion: number | 'latest';
|
|
46
|
+
minorVersion: number;
|
|
47
|
+
metadata: Record<string, string>;
|
|
48
|
+
numberOfLevels?: number;
|
|
49
|
+
interactions: ExerciseInfoInteraction[];
|
|
50
|
+
resources: ExerciseInfoResource[];
|
|
51
|
+
}
|
|
52
|
+
export interface ExerciseInfoInteraction {
|
|
53
|
+
block: string;
|
|
54
|
+
refId: string;
|
|
55
|
+
type: string;
|
|
56
|
+
refName: string;
|
|
57
|
+
}
|
|
58
|
+
export interface ExerciseInfoResource {
|
|
59
|
+
refId: string;
|
|
60
|
+
type: string;
|
|
61
|
+
refName: string;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=ResponseTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponseTypes.d.ts","sourceRoot":"","sources":["../../../src/types/response/ResponseTypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE9J,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAChD,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;CAAG;AAEvC,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAChD,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAEzD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,sBAAsB,EAAE,CAAC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,4BAA4B,EAAE,CAAC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,uBAAuB,EAAE,CAAC;IACxC,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponseTypes.js","sourceRoot":"","sources":["../../../src/types/response/ResponseTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
export type InteractionType = 'MULTISTEP' | 'MATH_TABLE' | 'FILL_IN_THE_BLANKS' | 'GEOMETRY' | 'STATISTICS' | 'NUMBER_LINE' | 'ARITHMETIC' | 'CHOICE' | 'OPEN_ANSWER' | 'MODEL_METHOD' | 'MODEL_METHOD_FREEFORM';
|
|
2
|
+
export type ExerciseStatus = 'FINISHED' | 'CORRECT' | 'ERROR' | 'VIRGIN' | 'SUBMITTED' | 'GIVEUP' | 'UNKNOWN';
|
|
3
|
+
export interface InteractionScoring {
|
|
4
|
+
finished: boolean;
|
|
5
|
+
marksTotal: number;
|
|
6
|
+
marksEarned: number;
|
|
7
|
+
penalties?: {
|
|
8
|
+
marksPenalty?: number;
|
|
9
|
+
hintsRequested?: number;
|
|
10
|
+
mathErrors?: number;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface TagDescription {
|
|
14
|
+
descr: Record<string, string>;
|
|
15
|
+
stepType: 'STRATEGY' | 'ALGEBRA' | 'CALCULATE' | 'ROUND' | 'CONCEPT';
|
|
16
|
+
errors?: Array<{
|
|
17
|
+
id: string;
|
|
18
|
+
type: Array<'misconception' | 'mistake'>;
|
|
19
|
+
descr: Record<string, string>;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
export interface QuestionResult {
|
|
23
|
+
id: string;
|
|
24
|
+
scoring: InteractionScoring;
|
|
25
|
+
interactions: Array<InteractionResult>;
|
|
26
|
+
}
|
|
27
|
+
export interface InteractionResult {
|
|
28
|
+
id: string;
|
|
29
|
+
type: InteractionType;
|
|
30
|
+
status: ExerciseStatus;
|
|
31
|
+
progress: number;
|
|
32
|
+
scoring: InteractionScoring;
|
|
33
|
+
tags: Array<FeedbackTag>;
|
|
34
|
+
events: Array<InteractionEvent>;
|
|
35
|
+
}
|
|
36
|
+
export interface FeedbackTag {
|
|
37
|
+
id: string;
|
|
38
|
+
errors?: string[];
|
|
39
|
+
weight: number;
|
|
40
|
+
source: 'ERROR_FEEDBACK' | 'FINISHED_STEP' | 'HINT';
|
|
41
|
+
}
|
|
42
|
+
export interface InteractionEvent {
|
|
43
|
+
timestamp: number;
|
|
44
|
+
event: 'EVALUATE' | 'HINT' | 'GIVEUP' | 'SUBMIT';
|
|
45
|
+
exerciseStatus?: ExerciseStatus;
|
|
46
|
+
progress?: number;
|
|
47
|
+
inputStatus?: ExerciseStatus;
|
|
48
|
+
tags?: Array<FeedbackTag>;
|
|
49
|
+
annotations?: Array<Annotation>;
|
|
50
|
+
}
|
|
51
|
+
export type AnnotationType = 'HINT' | 'ERROR_FEEDBACK' | 'INPUT_EXPRESSION' | 'SELECTED_OPTIONS' | 'INPUT';
|
|
52
|
+
export interface Annotation {
|
|
53
|
+
type: 'INPUT_EXPRESSION' | 'ERROR_FEEDBACK' | 'SELECTED_OPTIONS' | 'INPUT_CONTENT';
|
|
54
|
+
expr?: Array<RichContent>;
|
|
55
|
+
main?: Array<RichContent>;
|
|
56
|
+
sub?: Array<RichContent>;
|
|
57
|
+
}
|
|
58
|
+
export interface RichContent {
|
|
59
|
+
content: string;
|
|
60
|
+
mimeType: string;
|
|
61
|
+
akit?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface ElementInfo {
|
|
64
|
+
id: string;
|
|
65
|
+
type: 'INSTRUCTION' | 'QUESTION';
|
|
66
|
+
items: Array<ElementItemInfo>;
|
|
67
|
+
}
|
|
68
|
+
export interface ElementItemInfo {
|
|
69
|
+
id?: string;
|
|
70
|
+
itemType: 'TEXT' | 'INTERACTION';
|
|
71
|
+
interactionType?: InteractionType;
|
|
72
|
+
content?: string;
|
|
73
|
+
solution?: string;
|
|
74
|
+
derivation?: Array<DerivationPart>;
|
|
75
|
+
result?: InteractionResultInfo;
|
|
76
|
+
}
|
|
77
|
+
export interface DerivationPart {
|
|
78
|
+
hint?: string;
|
|
79
|
+
expression?: string;
|
|
80
|
+
result?: string;
|
|
81
|
+
description?: string;
|
|
82
|
+
skills?: Array<string>;
|
|
83
|
+
derivation?: Array<DerivationPart>;
|
|
84
|
+
}
|
|
85
|
+
export interface InteractionResultInfo {
|
|
86
|
+
status: ExerciseStatus;
|
|
87
|
+
progress: number;
|
|
88
|
+
scoring: InteractionScoring;
|
|
89
|
+
tags: Array<FeedbackTag>;
|
|
90
|
+
events: Array<EventResultInfo>;
|
|
91
|
+
}
|
|
92
|
+
export interface EventResultInfo {
|
|
93
|
+
timestamp: number;
|
|
94
|
+
event: 'EVALUATE' | 'HINT' | 'GIVEUP' | 'SUBMIT';
|
|
95
|
+
exerciseStatus?: ExerciseStatus;
|
|
96
|
+
progress?: number;
|
|
97
|
+
inputStatus?: ExerciseStatus;
|
|
98
|
+
tags?: Array<FeedbackTag>;
|
|
99
|
+
annotations?: Array<InfoAnnotation>;
|
|
100
|
+
skillsTodo?: Array<string>;
|
|
101
|
+
}
|
|
102
|
+
export interface InfoAnnotation {
|
|
103
|
+
type: AnnotationType;
|
|
104
|
+
content?: string;
|
|
105
|
+
expression?: string;
|
|
106
|
+
gapIndex?: number;
|
|
107
|
+
row?: number;
|
|
108
|
+
col?: number;
|
|
109
|
+
}
|
|
110
|
+
export interface InteractionDescription {
|
|
111
|
+
type: InteractionType;
|
|
112
|
+
marks: number;
|
|
113
|
+
scorable?: boolean;
|
|
114
|
+
}
|
|
115
|
+
export interface DebugInfoItem {
|
|
116
|
+
key: string;
|
|
117
|
+
value: string;
|
|
118
|
+
}
|
|
119
|
+
export interface DebugInfoBucket {
|
|
120
|
+
description: string;
|
|
121
|
+
items: DebugInfoItem[];
|
|
122
|
+
}
|
|
123
|
+
export interface DebugInformation {
|
|
124
|
+
buckets: DebugInfoBucket[];
|
|
125
|
+
}
|
|
126
|
+
export interface SessionData {
|
|
127
|
+
success: boolean;
|
|
128
|
+
msg?: string;
|
|
129
|
+
sessionId: string;
|
|
130
|
+
type: 'SINGLE' | 'COMPOUND';
|
|
131
|
+
solution?: boolean;
|
|
132
|
+
html: string;
|
|
133
|
+
marksTotal: number;
|
|
134
|
+
interactions: Record<string, InteractionDescription>;
|
|
135
|
+
debugInformation?: DebugInformation;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=SharedTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedTypes.d.ts","sourceRoot":"","sources":["../../../src/types/shared/SharedTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedTypes.js","sourceRoot":"","sources":["../../../src/types/shared/SharedTypes.ts"],"names":[],"mappings":";AAAA,iDAAiD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AxiosError } from 'axios';
|
|
2
|
+
/**
|
|
3
|
+
* Handles errors from Axios requests and provides a standardized error message.
|
|
4
|
+
* @param error The Axios error object.
|
|
5
|
+
* @returns A standardized error message.
|
|
6
|
+
*/
|
|
7
|
+
export declare function handleApiError(error: AxiosError): string;
|
|
8
|
+
//# sourceMappingURL=errorHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../src/utils/errorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAWxD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleApiError = handleApiError;
|
|
4
|
+
/**
|
|
5
|
+
* Handles errors from Axios requests and provides a standardized error message.
|
|
6
|
+
* @param error The Axios error object.
|
|
7
|
+
* @returns A standardized error message.
|
|
8
|
+
*/
|
|
9
|
+
function handleApiError(error) {
|
|
10
|
+
if (error.response) {
|
|
11
|
+
// Server responded with a status code outside the 2xx range
|
|
12
|
+
return `API Error: ${error.response.status} - ${error.response.data}`;
|
|
13
|
+
}
|
|
14
|
+
else if (error.request) {
|
|
15
|
+
// Request was made but no response was received
|
|
16
|
+
return 'API Error: No response received from the server.';
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
// Something happened in setting up the request
|
|
20
|
+
return `API Error: ${error.message}`;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=errorHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../src/utils/errorHandler.ts"],"names":[],"mappings":";;AAOA,wCAWC;AAhBD;;;;GAIG;AACH,SAAgB,cAAc,CAAC,KAAiB;IAC9C,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,4DAA4D;QAC5D,OAAO,cAAc,KAAK,CAAC,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxE,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,gDAAgD;QAChD,OAAO,kDAAkD,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,+CAA+C;QAC/C,OAAO,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;AACH,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@algebrakit/sdk",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Official TypeScript/Node.js SDK for the Algebrakit Webservice API. Create sessions, retrieve scores, lock/unlock sessions, and fetch session info.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"default": "./dist/index.js"
|
|
11
|
+
},
|
|
12
|
+
"./package.json": "./package.json"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"README.md",
|
|
17
|
+
"LICENSE"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsc",
|
|
21
|
+
"prepublishOnly": "npm run build",
|
|
22
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
23
|
+
"predemo": "npm run build",
|
|
24
|
+
"demo": "ts-node demo/cli/demo.ts",
|
|
25
|
+
"demo:setup": "cd demo/cli && cp .env.example .env && echo 'Please edit demo/cli/.env with your API key'",
|
|
26
|
+
"preplay-exercise": "npm run build",
|
|
27
|
+
"play-exercise": "ts-node demo/play-exercise/play-exercise.ts",
|
|
28
|
+
"play-exercise:setup": "cd demo/play-exercise && cp .env.example .env && echo 'Please edit demo/play-exercise/.env with your API key'"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"algebrakit",
|
|
32
|
+
"sdk",
|
|
33
|
+
"math",
|
|
34
|
+
"education",
|
|
35
|
+
"exercises",
|
|
36
|
+
"api-client",
|
|
37
|
+
"typescript"
|
|
38
|
+
],
|
|
39
|
+
"author": "Algebrakit",
|
|
40
|
+
"license": "MIT",
|
|
41
|
+
"repository": {
|
|
42
|
+
"type": "git",
|
|
43
|
+
"url": "git+https://github.com/algebrakit-org/sdk-typescript.git"
|
|
44
|
+
},
|
|
45
|
+
"homepage": "https://github.com/algebrakit-org/sdk-typescript#readme",
|
|
46
|
+
"bugs": {
|
|
47
|
+
"url": "https://github.com/algebrakit-org/sdk-typescript/issues"
|
|
48
|
+
},
|
|
49
|
+
"engines": {
|
|
50
|
+
"node": ">=18"
|
|
51
|
+
},
|
|
52
|
+
"publishConfig": {
|
|
53
|
+
"access": "public"
|
|
54
|
+
},
|
|
55
|
+
"dependencies": {
|
|
56
|
+
"axios": "^1.9.0"
|
|
57
|
+
},
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@types/http-proxy": "^1.17.17",
|
|
60
|
+
"@types/node": "^22.15.17",
|
|
61
|
+
"dotenv": "^17.3.1",
|
|
62
|
+
"http-proxy": "^1.18.1",
|
|
63
|
+
"ts-node": "^10.9.2",
|
|
64
|
+
"typescript": "^5.8.3"
|
|
65
|
+
}
|
|
66
|
+
}
|