@lyrra/mcp-server 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/README.md +214 -0
- package/dist/client.d.ts +17 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +92 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +84 -0
- package/dist/index.js.map +1 -0
- package/dist/resources/block-types.d.ts +318 -0
- package/dist/resources/block-types.d.ts.map +1 -0
- package/dist/resources/block-types.js +297 -0
- package/dist/resources/block-types.js.map +1 -0
- package/dist/resources/flow-schema.d.ts +147 -0
- package/dist/resources/flow-schema.d.ts.map +1 -0
- package/dist/resources/flow-schema.js +143 -0
- package/dist/resources/flow-schema.js.map +1 -0
- package/dist/tools/admin.d.ts +133 -0
- package/dist/tools/admin.d.ts.map +1 -0
- package/dist/tools/admin.js +114 -0
- package/dist/tools/admin.js.map +1 -0
- package/dist/tools/ai-designer.d.ts +149 -0
- package/dist/tools/ai-designer.d.ts.map +1 -0
- package/dist/tools/ai-designer.js +85 -0
- package/dist/tools/ai-designer.js.map +1 -0
- package/dist/tools/analytics.d.ts +48 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +40 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/auth.d.ts +31 -0
- package/dist/tools/auth.d.ts.map +1 -0
- package/dist/tools/auth.js +32 -0
- package/dist/tools/auth.js.map +1 -0
- package/dist/tools/blocks.d.ts +201 -0
- package/dist/tools/blocks.d.ts.map +1 -0
- package/dist/tools/blocks.js +163 -0
- package/dist/tools/blocks.js.map +1 -0
- package/dist/tools/connections.d.ts +87 -0
- package/dist/tools/connections.d.ts.map +1 -0
- package/dist/tools/connections.js +77 -0
- package/dist/tools/connections.js.map +1 -0
- package/dist/tools/eduflow.d.ts +186 -0
- package/dist/tools/eduflow.d.ts.map +1 -0
- package/dist/tools/eduflow.js +104 -0
- package/dist/tools/eduflow.js.map +1 -0
- package/dist/tools/participants.d.ts +111 -0
- package/dist/tools/participants.d.ts.map +1 -0
- package/dist/tools/participants.js +66 -0
- package/dist/tools/participants.js.map +1 -0
- package/dist/tools/presentation.d.ts +117 -0
- package/dist/tools/presentation.d.ts.map +1 -0
- package/dist/tools/presentation.js +53 -0
- package/dist/tools/presentation.js.map +1 -0
- package/dist/tools/projects.d.ts +66 -0
- package/dist/tools/projects.d.ts.map +1 -0
- package/dist/tools/projects.js +51 -0
- package/dist/tools/projects.js.map +1 -0
- package/dist/tools/resources.d.ts +47 -0
- package/dist/tools/resources.d.ts.map +1 -0
- package/dist/tools/resources.js +33 -0
- package/dist/tools/resources.js.map +1 -0
- package/dist/tools/store.d.ts +63 -0
- package/dist/tools/store.d.ts.map +1 -0
- package/dist/tools/store.js +62 -0
- package/dist/tools/store.js.map +1 -0
- package/mcp-config.example.json +15 -0
- package/package.json +24 -0
- package/src/client.ts +99 -0
- package/src/config.ts +6 -0
- package/src/index.ts +112 -0
- package/src/resources/block-types.ts +298 -0
- package/src/resources/flow-schema.ts +148 -0
- package/src/tools/admin.ts +122 -0
- package/src/tools/ai-designer.ts +91 -0
- package/src/tools/analytics.ts +43 -0
- package/src/tools/auth.ts +33 -0
- package/src/tools/blocks.ts +174 -0
- package/src/tools/connections.ts +77 -0
- package/src/tools/eduflow.ts +112 -0
- package/src/tools/participants.ts +71 -0
- package/src/tools/presentation.ts +55 -0
- package/src/tools/projects.ts +55 -0
- package/src/tools/resources.ts +35 -0
- package/src/tools/store.ts +61 -0
- package/tsconfig.json +19 -0
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
export declare const BLOCK_TYPES_RESOURCE: {
|
|
2
|
+
uri: string;
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
mimeType: string;
|
|
6
|
+
content: {
|
|
7
|
+
overview: string;
|
|
8
|
+
categories: {
|
|
9
|
+
content: {
|
|
10
|
+
name: string;
|
|
11
|
+
types: string[];
|
|
12
|
+
description: string;
|
|
13
|
+
};
|
|
14
|
+
assessment: {
|
|
15
|
+
name: string;
|
|
16
|
+
types: string[];
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
interactive: {
|
|
20
|
+
name: string;
|
|
21
|
+
types: string[];
|
|
22
|
+
description: string;
|
|
23
|
+
};
|
|
24
|
+
flow_control: {
|
|
25
|
+
name: string;
|
|
26
|
+
types: string[];
|
|
27
|
+
description: string;
|
|
28
|
+
};
|
|
29
|
+
accessibility: {
|
|
30
|
+
name: string;
|
|
31
|
+
types: string[];
|
|
32
|
+
description: string;
|
|
33
|
+
};
|
|
34
|
+
output: {
|
|
35
|
+
name: string;
|
|
36
|
+
types: string[];
|
|
37
|
+
description: string;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
blocks: {
|
|
41
|
+
start: {
|
|
42
|
+
name: string;
|
|
43
|
+
description: string;
|
|
44
|
+
content: {
|
|
45
|
+
message: string;
|
|
46
|
+
};
|
|
47
|
+
rules: string[];
|
|
48
|
+
example: {
|
|
49
|
+
type: string;
|
|
50
|
+
title: string;
|
|
51
|
+
content: {
|
|
52
|
+
message: string;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
end: {
|
|
57
|
+
name: string;
|
|
58
|
+
description: string;
|
|
59
|
+
content: {
|
|
60
|
+
message: string;
|
|
61
|
+
certificate: string;
|
|
62
|
+
redirectUrl: string;
|
|
63
|
+
};
|
|
64
|
+
rules: string[];
|
|
65
|
+
example: {
|
|
66
|
+
type: string;
|
|
67
|
+
title: string;
|
|
68
|
+
content: {
|
|
69
|
+
message: string;
|
|
70
|
+
certificate: boolean;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
text: {
|
|
75
|
+
name: string;
|
|
76
|
+
description: string;
|
|
77
|
+
content: {
|
|
78
|
+
text: string;
|
|
79
|
+
format: string;
|
|
80
|
+
};
|
|
81
|
+
rules: string[];
|
|
82
|
+
example: {
|
|
83
|
+
type: string;
|
|
84
|
+
title: string;
|
|
85
|
+
content: {
|
|
86
|
+
text: string;
|
|
87
|
+
format: string;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
audio: {
|
|
92
|
+
name: string;
|
|
93
|
+
description: string;
|
|
94
|
+
content: {
|
|
95
|
+
projectId: string;
|
|
96
|
+
showTranscript: string;
|
|
97
|
+
showChapters: string;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
video: {
|
|
101
|
+
name: string;
|
|
102
|
+
description: string;
|
|
103
|
+
content: {
|
|
104
|
+
videoUrl: string;
|
|
105
|
+
autoplay: string;
|
|
106
|
+
showControls: string;
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
pdf: {
|
|
110
|
+
name: string;
|
|
111
|
+
description: string;
|
|
112
|
+
content: {
|
|
113
|
+
pdfUrl: string;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
image: {
|
|
117
|
+
name: string;
|
|
118
|
+
description: string;
|
|
119
|
+
content: {
|
|
120
|
+
imageUrl: string;
|
|
121
|
+
caption: string;
|
|
122
|
+
alt: string;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
quiz: {
|
|
126
|
+
name: string;
|
|
127
|
+
description: string;
|
|
128
|
+
content: {
|
|
129
|
+
quizType: string;
|
|
130
|
+
question: string;
|
|
131
|
+
answers: string;
|
|
132
|
+
answerMode: string;
|
|
133
|
+
branchingMode: string;
|
|
134
|
+
explanation: string;
|
|
135
|
+
shuffleAnswers: string;
|
|
136
|
+
maxAttempts: string;
|
|
137
|
+
};
|
|
138
|
+
rules: string[];
|
|
139
|
+
};
|
|
140
|
+
evaluation: {
|
|
141
|
+
name: string;
|
|
142
|
+
description: string;
|
|
143
|
+
content: {
|
|
144
|
+
questions: string;
|
|
145
|
+
passingScore: string;
|
|
146
|
+
showResults: string;
|
|
147
|
+
maxAttempts: string;
|
|
148
|
+
timeLimit: string;
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
form: {
|
|
152
|
+
name: string;
|
|
153
|
+
description: string;
|
|
154
|
+
content: {
|
|
155
|
+
fields: string;
|
|
156
|
+
submitLabel: string;
|
|
157
|
+
rules: string;
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
chart: {
|
|
161
|
+
name: string;
|
|
162
|
+
description: string;
|
|
163
|
+
content: {
|
|
164
|
+
chartType: string;
|
|
165
|
+
data: string;
|
|
166
|
+
title: string;
|
|
167
|
+
};
|
|
168
|
+
};
|
|
169
|
+
timeline: {
|
|
170
|
+
name: string;
|
|
171
|
+
description: string;
|
|
172
|
+
content: {
|
|
173
|
+
events: string;
|
|
174
|
+
orientation: string;
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
mindmap: {
|
|
178
|
+
name: string;
|
|
179
|
+
description: string;
|
|
180
|
+
content: {
|
|
181
|
+
nodes: string;
|
|
182
|
+
centerLabel: string;
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
glossary: {
|
|
186
|
+
name: string;
|
|
187
|
+
description: string;
|
|
188
|
+
content: {
|
|
189
|
+
terms: string;
|
|
190
|
+
sortAlphabetically: string;
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
split: {
|
|
194
|
+
name: string;
|
|
195
|
+
description: string;
|
|
196
|
+
content: {
|
|
197
|
+
branches: string;
|
|
198
|
+
};
|
|
199
|
+
rules: string[];
|
|
200
|
+
};
|
|
201
|
+
merge: {
|
|
202
|
+
name: string;
|
|
203
|
+
description: string;
|
|
204
|
+
content: {};
|
|
205
|
+
rules: string[];
|
|
206
|
+
};
|
|
207
|
+
loop: {
|
|
208
|
+
name: string;
|
|
209
|
+
description: string;
|
|
210
|
+
content: {
|
|
211
|
+
maxIterations: string;
|
|
212
|
+
condition: string;
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
timer: {
|
|
216
|
+
name: string;
|
|
217
|
+
description: string;
|
|
218
|
+
content: {
|
|
219
|
+
duration: string;
|
|
220
|
+
action: string;
|
|
221
|
+
warningAt: string;
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
subflow: {
|
|
225
|
+
name: string;
|
|
226
|
+
description: string;
|
|
227
|
+
content: {
|
|
228
|
+
subflowId: string;
|
|
229
|
+
};
|
|
230
|
+
};
|
|
231
|
+
certification: {
|
|
232
|
+
name: string;
|
|
233
|
+
description: string;
|
|
234
|
+
content: {
|
|
235
|
+
templateId: string;
|
|
236
|
+
variables: string;
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
email: {
|
|
240
|
+
name: string;
|
|
241
|
+
description: string;
|
|
242
|
+
content: {
|
|
243
|
+
subject: string;
|
|
244
|
+
body: string;
|
|
245
|
+
to: string;
|
|
246
|
+
};
|
|
247
|
+
};
|
|
248
|
+
voice_assessment: {
|
|
249
|
+
name: string;
|
|
250
|
+
description: string;
|
|
251
|
+
content: {
|
|
252
|
+
prompt: string;
|
|
253
|
+
referenceText: string;
|
|
254
|
+
maxDuration: string;
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
|
+
self_assessment: {
|
|
258
|
+
name: string;
|
|
259
|
+
description: string;
|
|
260
|
+
content: {
|
|
261
|
+
criteria: string;
|
|
262
|
+
instructions: string;
|
|
263
|
+
};
|
|
264
|
+
};
|
|
265
|
+
presentation: {
|
|
266
|
+
name: string;
|
|
267
|
+
description: string;
|
|
268
|
+
content: {
|
|
269
|
+
slides: string;
|
|
270
|
+
autoAdvance: string;
|
|
271
|
+
advanceInterval: string;
|
|
272
|
+
};
|
|
273
|
+
};
|
|
274
|
+
browser: {
|
|
275
|
+
name: string;
|
|
276
|
+
description: string;
|
|
277
|
+
content: {
|
|
278
|
+
url: string;
|
|
279
|
+
};
|
|
280
|
+
};
|
|
281
|
+
dys_reader: {
|
|
282
|
+
name: string;
|
|
283
|
+
description: string;
|
|
284
|
+
content: {
|
|
285
|
+
text: string;
|
|
286
|
+
fontSize: string;
|
|
287
|
+
lineSpacing: string;
|
|
288
|
+
syllableHighlight: string;
|
|
289
|
+
};
|
|
290
|
+
};
|
|
291
|
+
dys_image_zones: {
|
|
292
|
+
name: string;
|
|
293
|
+
description: string;
|
|
294
|
+
content: {
|
|
295
|
+
imageUrl: string;
|
|
296
|
+
zones: string;
|
|
297
|
+
};
|
|
298
|
+
};
|
|
299
|
+
dys_reading_practice: {
|
|
300
|
+
name: string;
|
|
301
|
+
description: string;
|
|
302
|
+
content: {
|
|
303
|
+
text: string;
|
|
304
|
+
difficulty: string;
|
|
305
|
+
};
|
|
306
|
+
};
|
|
307
|
+
dys_clock: {
|
|
308
|
+
name: string;
|
|
309
|
+
description: string;
|
|
310
|
+
content: {
|
|
311
|
+
targetTime: string;
|
|
312
|
+
difficulty: string;
|
|
313
|
+
};
|
|
314
|
+
};
|
|
315
|
+
};
|
|
316
|
+
};
|
|
317
|
+
};
|
|
318
|
+
//# sourceMappingURL=block-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-types.d.ts","sourceRoot":"","sources":["../../src/resources/block-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyShC,CAAC"}
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
export const BLOCK_TYPES_RESOURCE = {
|
|
2
|
+
uri: 'lyrra://block-types',
|
|
3
|
+
name: 'Documentation des types de blocs EduFlow',
|
|
4
|
+
description: 'Documentation complète de tous les types de blocs disponibles dans LYRRA Studio EduFlow, avec la structure de contenu attendue, des exemples et les règles de connexion.',
|
|
5
|
+
mimeType: 'application/json',
|
|
6
|
+
content: {
|
|
7
|
+
overview: `LYRRA Studio EduFlow supporte 29 types de blocs organisés en 7 catégories.
|
|
8
|
+
Chaque parcours est un graphe orienté : les blocs sont des nœuds, reliés par des edges (connexions).
|
|
9
|
+
Un parcours DOIT avoir exactement 1 bloc "start" et au moins 1 bloc "end".`,
|
|
10
|
+
categories: {
|
|
11
|
+
content: {
|
|
12
|
+
name: 'Contenu',
|
|
13
|
+
types: ['text', 'audio', 'video', 'pdf', 'image', 'presentation', 'browser'],
|
|
14
|
+
description: 'Blocs pour présenter du contenu aux apprenants.',
|
|
15
|
+
},
|
|
16
|
+
assessment: {
|
|
17
|
+
name: 'Évaluation',
|
|
18
|
+
types: ['quiz', 'evaluation', 'voice_assessment', 'self_assessment'],
|
|
19
|
+
description: 'Blocs pour évaluer les connaissances des apprenants.',
|
|
20
|
+
},
|
|
21
|
+
interactive: {
|
|
22
|
+
name: 'Interactif',
|
|
23
|
+
types: ['form', 'mindmap', 'timeline', 'chart', 'glossary'],
|
|
24
|
+
description: 'Blocs interactifs pour engager les apprenants.',
|
|
25
|
+
},
|
|
26
|
+
flow_control: {
|
|
27
|
+
name: 'Contrôle de flux',
|
|
28
|
+
types: ['start', 'end', 'split', 'merge', 'loop', 'timer', 'subflow'],
|
|
29
|
+
description: 'Blocs pour structurer le parcours (branchement, boucles, etc.).',
|
|
30
|
+
},
|
|
31
|
+
accessibility: {
|
|
32
|
+
name: 'Accessibilité (DYS)',
|
|
33
|
+
types: ['dys_reader', 'dys_image_zones', 'dys_reading_practice', 'dys_clock'],
|
|
34
|
+
description: 'Blocs adaptés pour les apprenants dyslexiques/dyscalculiques.',
|
|
35
|
+
},
|
|
36
|
+
output: {
|
|
37
|
+
name: 'Sortie',
|
|
38
|
+
types: ['certification', 'email'],
|
|
39
|
+
description: 'Blocs pour générer des documents ou envoyer des notifications.',
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
blocks: {
|
|
43
|
+
start: {
|
|
44
|
+
name: 'Début',
|
|
45
|
+
description: 'Point de départ du parcours. Chaque flux doit avoir exactement UN bloc Start.',
|
|
46
|
+
content: { message: 'string (optionnel) - Message d\'accueil' },
|
|
47
|
+
rules: ['Un seul bloc start par parcours', 'Pas de connexion entrante', 'Au moins une connexion sortante'],
|
|
48
|
+
example: { type: 'start', title: 'Début du parcours', content: { message: 'Bienvenue !' } },
|
|
49
|
+
},
|
|
50
|
+
end: {
|
|
51
|
+
name: 'Fin',
|
|
52
|
+
description: 'Point de fin du parcours. Peut avoir plusieurs blocs End.',
|
|
53
|
+
content: {
|
|
54
|
+
message: 'string (optionnel) - Message de fin',
|
|
55
|
+
certificate: 'boolean (optionnel) - Génère un certificat',
|
|
56
|
+
redirectUrl: 'string (optionnel) - URL de redirection',
|
|
57
|
+
},
|
|
58
|
+
rules: ['Peut avoir plusieurs blocs end', 'Pas de connexion sortante', 'Au moins une connexion entrante'],
|
|
59
|
+
example: { type: 'end', title: 'Fin', content: { message: 'Félicitations !', certificate: true } },
|
|
60
|
+
},
|
|
61
|
+
text: {
|
|
62
|
+
name: 'Texte',
|
|
63
|
+
description: 'Affiche du contenu HTML enrichi. TOUJOURS utiliser format="html".',
|
|
64
|
+
content: {
|
|
65
|
+
text: 'string (requis) - Contenu HTML (<h1>, <p>, <ul>, <strong>, etc.)',
|
|
66
|
+
format: 'string (requis) - TOUJOURS "html"',
|
|
67
|
+
},
|
|
68
|
+
rules: ['TOUJOURS format="html"', 'JAMAIS de Markdown', 'Utiliser des balises HTML standard'],
|
|
69
|
+
example: {
|
|
70
|
+
type: 'text', title: 'Introduction',
|
|
71
|
+
content: { text: '<h2>Bienvenue</h2><p>Ce module couvre...</p>', format: 'html' },
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
audio: {
|
|
75
|
+
name: 'Audio',
|
|
76
|
+
description: 'Intègre un projet audio LYRRA avec texte synchronisé.',
|
|
77
|
+
content: {
|
|
78
|
+
projectId: 'string (requis) - ID du projet LYRRA',
|
|
79
|
+
showTranscript: 'boolean (optionnel, défaut: true)',
|
|
80
|
+
showChapters: 'boolean (optionnel, défaut: true)',
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
video: {
|
|
84
|
+
name: 'Vidéo',
|
|
85
|
+
description: 'Intègre une vidéo YouTube, Vimeo ou uploadée.',
|
|
86
|
+
content: {
|
|
87
|
+
videoUrl: 'string (requis) - URL de la vidéo',
|
|
88
|
+
autoplay: 'boolean (optionnel)',
|
|
89
|
+
showControls: 'boolean (optionnel, défaut: true)',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
pdf: {
|
|
93
|
+
name: 'PDF',
|
|
94
|
+
description: 'Affiche un document PDF intégré.',
|
|
95
|
+
content: { pdfUrl: 'string (requis) - URL du fichier PDF' },
|
|
96
|
+
},
|
|
97
|
+
image: {
|
|
98
|
+
name: 'Image',
|
|
99
|
+
description: 'Affiche une image avec légende optionnelle.',
|
|
100
|
+
content: {
|
|
101
|
+
imageUrl: 'string (requis) - URL de l\'image',
|
|
102
|
+
caption: 'string (optionnel) - Légende',
|
|
103
|
+
alt: 'string (optionnel) - Texte alternatif',
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
quiz: {
|
|
107
|
+
name: 'Quiz',
|
|
108
|
+
description: 'Question unique avec branchement conditionnel possible.',
|
|
109
|
+
content: {
|
|
110
|
+
quizType: '"multiple_choice" | "true_false" | "ordering"',
|
|
111
|
+
question: 'string (requis) - La question',
|
|
112
|
+
answers: 'array - [{text, isCorrect, feedback?}]',
|
|
113
|
+
answerMode: '"text" | "image"',
|
|
114
|
+
branchingMode: '"binary" | "per-answer" (optionnel)',
|
|
115
|
+
explanation: 'string (optionnel) - Explication après réponse',
|
|
116
|
+
shuffleAnswers: 'boolean (optionnel)',
|
|
117
|
+
maxAttempts: 'number (optionnel)',
|
|
118
|
+
},
|
|
119
|
+
rules: [
|
|
120
|
+
'branchingMode="binary" : 2 sorties (correct/incorrect)',
|
|
121
|
+
'branchingMode="per-answer" : une sortie par réponse',
|
|
122
|
+
'Sans branchement : une seule sortie',
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
evaluation: {
|
|
126
|
+
name: 'Évaluation',
|
|
127
|
+
description: 'Évaluation complète avec plusieurs questions et scoring.',
|
|
128
|
+
content: {
|
|
129
|
+
questions: 'array - [{type, question, answers?, correctAnswer?, points}]',
|
|
130
|
+
passingScore: 'number (optionnel) - Score minimum pour réussir (%)',
|
|
131
|
+
showResults: 'boolean (optionnel) - Montrer les résultats',
|
|
132
|
+
maxAttempts: 'number (optionnel)',
|
|
133
|
+
timeLimit: 'number (optionnel) - Temps en secondes',
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
form: {
|
|
137
|
+
name: 'Formulaire',
|
|
138
|
+
description: 'Formulaire avec champs personnalisés et logique conditionnelle.',
|
|
139
|
+
content: {
|
|
140
|
+
fields: 'array - [{type, label, required?, options?, placeholder?}]',
|
|
141
|
+
submitLabel: 'string (optionnel)',
|
|
142
|
+
rules: 'array (optionnel) - Logique IF/ELSE pour le routage',
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
chart: {
|
|
146
|
+
name: 'Graphique',
|
|
147
|
+
description: 'Graphique interactif.',
|
|
148
|
+
content: {
|
|
149
|
+
chartType: '"bar" | "line" | "pie" | "scatter" | "radar" | "area" | "doughnut"',
|
|
150
|
+
data: 'object - {labels[], datasets[{label, data[]}]}',
|
|
151
|
+
title: 'string (optionnel)',
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
timeline: {
|
|
155
|
+
name: 'Frise chronologique',
|
|
156
|
+
description: 'Frise avec événements datés.',
|
|
157
|
+
content: {
|
|
158
|
+
events: 'array - [{date, title, description, imageUrl?}]',
|
|
159
|
+
orientation: '"horizontal" | "vertical" (optionnel)',
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
mindmap: {
|
|
163
|
+
name: 'Carte mentale',
|
|
164
|
+
description: 'Carte mentale interactive.',
|
|
165
|
+
content: {
|
|
166
|
+
nodes: 'array - [{id, label, parentId?, color?}]',
|
|
167
|
+
centerLabel: 'string - Label du nœud central',
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
glossary: {
|
|
171
|
+
name: 'Glossaire',
|
|
172
|
+
description: 'Liste de termes et définitions.',
|
|
173
|
+
content: {
|
|
174
|
+
terms: 'array - [{term, definition, examples?}]',
|
|
175
|
+
sortAlphabetically: 'boolean (optionnel, défaut: true)',
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
split: {
|
|
179
|
+
name: 'Embranchement',
|
|
180
|
+
description: 'Sépare le flux en branches parallèles.',
|
|
181
|
+
content: { branches: 'number (optionnel) - Nombre de branches (défaut: 2)' },
|
|
182
|
+
rules: ['Au moins 2 connexions sortantes', 'Généralement suivi d\'un bloc merge'],
|
|
183
|
+
},
|
|
184
|
+
merge: {
|
|
185
|
+
name: 'Fusion',
|
|
186
|
+
description: 'Rejoint les branches parallèles.',
|
|
187
|
+
content: {},
|
|
188
|
+
rules: ['Au moins 2 connexions entrantes', 'Utilisé après un bloc split'],
|
|
189
|
+
},
|
|
190
|
+
loop: {
|
|
191
|
+
name: 'Boucle',
|
|
192
|
+
description: 'Permet de répéter une séquence de blocs.',
|
|
193
|
+
content: {
|
|
194
|
+
maxIterations: 'number (optionnel) - Nombre max de répétitions',
|
|
195
|
+
condition: 'string (optionnel) - Condition de sortie',
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
timer: {
|
|
199
|
+
name: 'Minuteur',
|
|
200
|
+
description: 'Bloc avec contrainte de temps.',
|
|
201
|
+
content: {
|
|
202
|
+
duration: 'number (requis) - Durée en secondes',
|
|
203
|
+
action: '"pause" | "skip" | "redirect" - Action à l\'expiration',
|
|
204
|
+
warningAt: 'number (optionnel) - Avertissement X secondes avant la fin',
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
subflow: {
|
|
208
|
+
name: 'Sous-parcours',
|
|
209
|
+
description: 'Intègre un autre parcours EduFlow.',
|
|
210
|
+
content: { subflowId: 'string (requis) - ID du parcours à intégrer' },
|
|
211
|
+
},
|
|
212
|
+
certification: {
|
|
213
|
+
name: 'Certification',
|
|
214
|
+
description: 'Génère un certificat PDF personnalisé.',
|
|
215
|
+
content: {
|
|
216
|
+
templateId: 'string (optionnel) - ID du template Word',
|
|
217
|
+
variables: 'object (optionnel) - Variables de substitution',
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
email: {
|
|
221
|
+
name: 'Email',
|
|
222
|
+
description: 'Envoie un email automatique.',
|
|
223
|
+
content: {
|
|
224
|
+
subject: 'string (requis) - Objet de l\'email',
|
|
225
|
+
body: 'string (requis) - Corps HTML de l\'email',
|
|
226
|
+
to: '"participant" | "creator" | string - Destinataire',
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
voice_assessment: {
|
|
230
|
+
name: 'Évaluation vocale',
|
|
231
|
+
description: 'L\'étudiant enregistre sa voix pour évaluation.',
|
|
232
|
+
content: {
|
|
233
|
+
prompt: 'string (requis) - Consigne de lecture/parole',
|
|
234
|
+
referenceText: 'string (optionnel) - Texte de référence pour comparaison',
|
|
235
|
+
maxDuration: 'number (optionnel) - Durée max en secondes',
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
self_assessment: {
|
|
239
|
+
name: 'Auto-évaluation',
|
|
240
|
+
description: 'L\'étudiant s\'évalue sur des critères définis.',
|
|
241
|
+
content: {
|
|
242
|
+
criteria: 'array - [{label, scale}]',
|
|
243
|
+
instructions: 'string (optionnel)',
|
|
244
|
+
},
|
|
245
|
+
},
|
|
246
|
+
presentation: {
|
|
247
|
+
name: 'Présentation',
|
|
248
|
+
description: 'Diaporama avec slides.',
|
|
249
|
+
content: {
|
|
250
|
+
slides: 'array - [{title, content, imageUrl?}]',
|
|
251
|
+
autoAdvance: 'boolean (optionnel)',
|
|
252
|
+
advanceInterval: 'number (optionnel) - Secondes entre slides',
|
|
253
|
+
},
|
|
254
|
+
},
|
|
255
|
+
browser: {
|
|
256
|
+
name: 'Navigateur',
|
|
257
|
+
description: 'Intègre une page web dans un iframe.',
|
|
258
|
+
content: { url: 'string (requis) - URL de la page à intégrer' },
|
|
259
|
+
},
|
|
260
|
+
dys_reader: {
|
|
261
|
+
name: 'Lecteur DYS',
|
|
262
|
+
description: 'Texte adapté pour la dyslexie.',
|
|
263
|
+
content: {
|
|
264
|
+
text: 'string (requis) - Texte à afficher',
|
|
265
|
+
fontSize: 'number (optionnel) - Taille de police (défaut: 18)',
|
|
266
|
+
lineSpacing: 'number (optionnel) - Interligne (défaut: 2)',
|
|
267
|
+
syllableHighlight: 'boolean (optionnel) - Colorer les syllabes',
|
|
268
|
+
},
|
|
269
|
+
},
|
|
270
|
+
dys_image_zones: {
|
|
271
|
+
name: 'Zones d\'image DYS',
|
|
272
|
+
description: 'Image avec zones cliquables.',
|
|
273
|
+
content: {
|
|
274
|
+
imageUrl: 'string (requis)',
|
|
275
|
+
zones: 'array - [{x, y, width, height, label, description}]',
|
|
276
|
+
},
|
|
277
|
+
},
|
|
278
|
+
dys_reading_practice: {
|
|
279
|
+
name: 'Pratique lecture DYS',
|
|
280
|
+
description: 'Exercice de lecture adapté.',
|
|
281
|
+
content: {
|
|
282
|
+
text: 'string (requis)',
|
|
283
|
+
difficulty: '"easy" | "medium" | "hard"',
|
|
284
|
+
},
|
|
285
|
+
},
|
|
286
|
+
dys_clock: {
|
|
287
|
+
name: 'Horloge DYS',
|
|
288
|
+
description: 'Exercice de lecture de l\'heure.',
|
|
289
|
+
content: {
|
|
290
|
+
targetTime: 'string (requis) - Heure cible (format HH:MM)',
|
|
291
|
+
difficulty: '"easy" | "medium" | "hard"',
|
|
292
|
+
},
|
|
293
|
+
},
|
|
294
|
+
},
|
|
295
|
+
},
|
|
296
|
+
};
|
|
297
|
+
//# sourceMappingURL=block-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-types.js","sourceRoot":"","sources":["../../src/resources/block-types.ts"],"names":[],"mappings":"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"}
|