@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.
Files changed (89) hide show
  1. package/README.md +214 -0
  2. package/dist/client.d.ts +17 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +92 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/config.d.ts +7 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +7 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/index.d.ts +3 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +84 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/resources/block-types.d.ts +318 -0
  15. package/dist/resources/block-types.d.ts.map +1 -0
  16. package/dist/resources/block-types.js +297 -0
  17. package/dist/resources/block-types.js.map +1 -0
  18. package/dist/resources/flow-schema.d.ts +147 -0
  19. package/dist/resources/flow-schema.d.ts.map +1 -0
  20. package/dist/resources/flow-schema.js +143 -0
  21. package/dist/resources/flow-schema.js.map +1 -0
  22. package/dist/tools/admin.d.ts +133 -0
  23. package/dist/tools/admin.d.ts.map +1 -0
  24. package/dist/tools/admin.js +114 -0
  25. package/dist/tools/admin.js.map +1 -0
  26. package/dist/tools/ai-designer.d.ts +149 -0
  27. package/dist/tools/ai-designer.d.ts.map +1 -0
  28. package/dist/tools/ai-designer.js +85 -0
  29. package/dist/tools/ai-designer.js.map +1 -0
  30. package/dist/tools/analytics.d.ts +48 -0
  31. package/dist/tools/analytics.d.ts.map +1 -0
  32. package/dist/tools/analytics.js +40 -0
  33. package/dist/tools/analytics.js.map +1 -0
  34. package/dist/tools/auth.d.ts +31 -0
  35. package/dist/tools/auth.d.ts.map +1 -0
  36. package/dist/tools/auth.js +32 -0
  37. package/dist/tools/auth.js.map +1 -0
  38. package/dist/tools/blocks.d.ts +201 -0
  39. package/dist/tools/blocks.d.ts.map +1 -0
  40. package/dist/tools/blocks.js +163 -0
  41. package/dist/tools/blocks.js.map +1 -0
  42. package/dist/tools/connections.d.ts +87 -0
  43. package/dist/tools/connections.d.ts.map +1 -0
  44. package/dist/tools/connections.js +77 -0
  45. package/dist/tools/connections.js.map +1 -0
  46. package/dist/tools/eduflow.d.ts +186 -0
  47. package/dist/tools/eduflow.d.ts.map +1 -0
  48. package/dist/tools/eduflow.js +104 -0
  49. package/dist/tools/eduflow.js.map +1 -0
  50. package/dist/tools/participants.d.ts +111 -0
  51. package/dist/tools/participants.d.ts.map +1 -0
  52. package/dist/tools/participants.js +66 -0
  53. package/dist/tools/participants.js.map +1 -0
  54. package/dist/tools/presentation.d.ts +117 -0
  55. package/dist/tools/presentation.d.ts.map +1 -0
  56. package/dist/tools/presentation.js +53 -0
  57. package/dist/tools/presentation.js.map +1 -0
  58. package/dist/tools/projects.d.ts +66 -0
  59. package/dist/tools/projects.d.ts.map +1 -0
  60. package/dist/tools/projects.js +51 -0
  61. package/dist/tools/projects.js.map +1 -0
  62. package/dist/tools/resources.d.ts +47 -0
  63. package/dist/tools/resources.d.ts.map +1 -0
  64. package/dist/tools/resources.js +33 -0
  65. package/dist/tools/resources.js.map +1 -0
  66. package/dist/tools/store.d.ts +63 -0
  67. package/dist/tools/store.d.ts.map +1 -0
  68. package/dist/tools/store.js +62 -0
  69. package/dist/tools/store.js.map +1 -0
  70. package/mcp-config.example.json +15 -0
  71. package/package.json +24 -0
  72. package/src/client.ts +99 -0
  73. package/src/config.ts +6 -0
  74. package/src/index.ts +112 -0
  75. package/src/resources/block-types.ts +298 -0
  76. package/src/resources/flow-schema.ts +148 -0
  77. package/src/tools/admin.ts +122 -0
  78. package/src/tools/ai-designer.ts +91 -0
  79. package/src/tools/analytics.ts +43 -0
  80. package/src/tools/auth.ts +33 -0
  81. package/src/tools/blocks.ts +174 -0
  82. package/src/tools/connections.ts +77 -0
  83. package/src/tools/eduflow.ts +112 -0
  84. package/src/tools/participants.ts +71 -0
  85. package/src/tools/presentation.ts +55 -0
  86. package/src/tools/projects.ts +55 -0
  87. package/src/tools/resources.ts +35 -0
  88. package/src/tools/store.ts +61 -0
  89. package/tsconfig.json +19 -0
@@ -0,0 +1,149 @@
1
+ import { z } from 'zod';
2
+ export declare const aiDesignerTools: {
3
+ ai_generate_plan: {
4
+ description: string;
5
+ inputSchema: z.ZodObject<{
6
+ flowId: z.ZodString;
7
+ topic: z.ZodString;
8
+ targetAudience: z.ZodOptional<z.ZodString>;
9
+ objectives: z.ZodOptional<z.ZodString>;
10
+ duration: z.ZodOptional<z.ZodString>;
11
+ context: z.ZodOptional<z.ZodString>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ flowId: string;
14
+ topic: string;
15
+ objectives?: string | undefined;
16
+ targetAudience?: string | undefined;
17
+ duration?: string | undefined;
18
+ context?: string | undefined;
19
+ }, {
20
+ flowId: string;
21
+ topic: string;
22
+ objectives?: string | undefined;
23
+ targetAudience?: string | undefined;
24
+ duration?: string | undefined;
25
+ context?: string | undefined;
26
+ }>;
27
+ handler: ({ flowId, ...data }: any) => Promise<any>;
28
+ };
29
+ ai_generate_block: {
30
+ description: string;
31
+ inputSchema: z.ZodObject<{
32
+ flowId: z.ZodString;
33
+ blockType: z.ZodString;
34
+ instructions: z.ZodString;
35
+ context: z.ZodOptional<z.ZodString>;
36
+ }, "strip", z.ZodTypeAny, {
37
+ flowId: string;
38
+ blockType: string;
39
+ instructions: string;
40
+ context?: string | undefined;
41
+ }, {
42
+ flowId: string;
43
+ blockType: string;
44
+ instructions: string;
45
+ context?: string | undefined;
46
+ }>;
47
+ handler: ({ flowId, ...data }: any) => Promise<any>;
48
+ };
49
+ ai_generate_presentation: {
50
+ description: string;
51
+ inputSchema: z.ZodObject<{
52
+ flowId: z.ZodString;
53
+ style: z.ZodOptional<z.ZodString>;
54
+ }, "strip", z.ZodTypeAny, {
55
+ flowId: string;
56
+ style?: string | undefined;
57
+ }, {
58
+ flowId: string;
59
+ style?: string | undefined;
60
+ }>;
61
+ handler: ({ flowId, ...data }: any) => Promise<any>;
62
+ };
63
+ ai_generate_objectives: {
64
+ description: string;
65
+ inputSchema: z.ZodObject<{
66
+ flowId: z.ZodString;
67
+ }, "strip", z.ZodTypeAny, {
68
+ flowId: string;
69
+ }, {
70
+ flowId: string;
71
+ }>;
72
+ handler: ({ flowId }: {
73
+ flowId: string;
74
+ }) => Promise<any>;
75
+ };
76
+ ai_save_objectives: {
77
+ description: string;
78
+ inputSchema: z.ZodObject<{
79
+ flowId: z.ZodString;
80
+ globalObjective: z.ZodString;
81
+ steps: z.ZodArray<z.ZodObject<{
82
+ id: z.ZodString;
83
+ title: z.ZodString;
84
+ description: z.ZodOptional<z.ZodString>;
85
+ blockId: z.ZodOptional<z.ZodString>;
86
+ }, "strip", z.ZodTypeAny, {
87
+ title: string;
88
+ id: string;
89
+ description?: string | undefined;
90
+ blockId?: string | undefined;
91
+ }, {
92
+ title: string;
93
+ id: string;
94
+ description?: string | undefined;
95
+ blockId?: string | undefined;
96
+ }>, "many">;
97
+ }, "strip", z.ZodTypeAny, {
98
+ flowId: string;
99
+ globalObjective: string;
100
+ steps: {
101
+ title: string;
102
+ id: string;
103
+ description?: string | undefined;
104
+ blockId?: string | undefined;
105
+ }[];
106
+ }, {
107
+ flowId: string;
108
+ globalObjective: string;
109
+ steps: {
110
+ title: string;
111
+ id: string;
112
+ description?: string | undefined;
113
+ blockId?: string | undefined;
114
+ }[];
115
+ }>;
116
+ handler: ({ flowId, ...objectives }: any) => Promise<any>;
117
+ };
118
+ ai_chat_message: {
119
+ description: string;
120
+ inputSchema: z.ZodObject<{
121
+ flowId: z.ZodString;
122
+ message: z.ZodString;
123
+ }, "strip", z.ZodTypeAny, {
124
+ message: string;
125
+ flowId: string;
126
+ }, {
127
+ message: string;
128
+ flowId: string;
129
+ }>;
130
+ handler: ({ flowId, message }: {
131
+ flowId: string;
132
+ message: string;
133
+ }) => Promise<any>;
134
+ };
135
+ ai_get_conversation: {
136
+ description: string;
137
+ inputSchema: z.ZodObject<{
138
+ flowId: z.ZodString;
139
+ }, "strip", z.ZodTypeAny, {
140
+ flowId: string;
141
+ }, {
142
+ flowId: string;
143
+ }>;
144
+ handler: ({ flowId }: {
145
+ flowId: string;
146
+ }) => Promise<any>;
147
+ };
148
+ };
149
+ //# sourceMappingURL=ai-designer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-designer.d.ts","sourceRoot":"","sources":["../../src/tools/ai-designer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;uCAWa,GAAG;;;;;;;;;;;;;;;;;;;;uCAaH,GAAG;;;;;;;;;;;;;;uCAWH,GAAG;;;;;;;;;;;8BAUZ;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6CAiBH,GAAG;;;;;;;;;;;;;;uCAWT;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAU5C;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;CAIjD,CAAC"}
@@ -0,0 +1,85 @@
1
+ import { z } from 'zod';
2
+ import { client } from '../client.js';
3
+ export const aiDesignerTools = {
4
+ ai_generate_plan: {
5
+ description: 'Générer automatiquement un plan/structure de parcours pédagogique à partir d\'un sujet et d\'objectifs. L\'IA propose une liste de blocs organisés.',
6
+ inputSchema: z.object({
7
+ flowId: z.string().uuid().describe('ID du parcours'),
8
+ topic: z.string().describe('Sujet du parcours (ex: "Les fractions en CM2")'),
9
+ targetAudience: z.string().optional().describe('Public cible (ex: "Élèves de CM2, 9-10 ans")'),
10
+ objectives: z.string().optional().describe('Objectifs pédagogiques souhaités'),
11
+ duration: z.string().optional().describe('Durée estimée (ex: "30 minutes")'),
12
+ context: z.string().optional().describe('Contexte additionnel pour l\'IA'),
13
+ }),
14
+ handler: async ({ flowId, ...data }) => {
15
+ return client.post(`/flows/${flowId}/chatbot/generate-plan`, data, 'eduflow');
16
+ },
17
+ },
18
+ ai_generate_block: {
19
+ description: 'Générer le contenu d\'un bloc spécifique avec l\'IA. Peut créer du texte enrichi, des quiz, des évaluations, des graphiques, etc.',
20
+ inputSchema: z.object({
21
+ flowId: z.string().uuid().describe('ID du parcours'),
22
+ blockType: z.string().describe('Type de bloc à générer (text, quiz, evaluation, chart, timeline, etc.)'),
23
+ instructions: z.string().describe('Instructions pour le contenu du bloc (ex: "Créer un quiz de 5 questions sur les fractions")'),
24
+ context: z.string().optional().describe('Contexte du parcours pour l\'IA'),
25
+ }),
26
+ handler: async ({ flowId, ...data }) => {
27
+ return client.post(`/flows/${flowId}/chatbot/generate-block`, data, 'eduflow');
28
+ },
29
+ },
30
+ ai_generate_presentation: {
31
+ description: 'Générer automatiquement la page de présentation du parcours (description, objectifs affichés, image, structure visible).',
32
+ inputSchema: z.object({
33
+ flowId: z.string().uuid().describe('ID du parcours'),
34
+ style: z.string().optional().describe('Style de présentation souhaité'),
35
+ }),
36
+ handler: async ({ flowId, ...data }) => {
37
+ return client.post(`/flows/${flowId}/chatbot/generate-presentation`, data, 'eduflow');
38
+ },
39
+ },
40
+ ai_generate_objectives: {
41
+ description: 'Générer automatiquement les objectifs pédagogiques du parcours à partir du contenu existant.',
42
+ inputSchema: z.object({
43
+ flowId: z.string().uuid().describe('ID du parcours'),
44
+ }),
45
+ handler: async ({ flowId }) => {
46
+ return client.post(`/flows/${flowId}/chatbot/generate-objectives`, {}, 'eduflow');
47
+ },
48
+ },
49
+ ai_save_objectives: {
50
+ description: 'Sauvegarder les objectifs pédagogiques (globaux et par étape) sur le parcours.',
51
+ inputSchema: z.object({
52
+ flowId: z.string().uuid().describe('ID du parcours'),
53
+ globalObjective: z.string().describe('Objectif global du parcours'),
54
+ steps: z.array(z.object({
55
+ id: z.string().describe('ID de l\'étape'),
56
+ title: z.string().describe('Titre de l\'objectif'),
57
+ description: z.string().optional().describe('Description détaillée'),
58
+ blockId: z.string().optional().describe('Bloc associé à cet objectif'),
59
+ })).describe('Liste des objectifs par étape'),
60
+ }),
61
+ handler: async ({ flowId, ...objectives }) => {
62
+ return client.post(`/flows/${flowId}/chatbot/save-objectives`, objectives, 'eduflow');
63
+ },
64
+ },
65
+ ai_chat_message: {
66
+ description: 'Envoyer un message au designer IA pour discuter de la conception du parcours, poser des questions, demander des modifications.',
67
+ inputSchema: z.object({
68
+ flowId: z.string().uuid().describe('ID du parcours'),
69
+ message: z.string().describe('Message à envoyer à l\'IA designer'),
70
+ }),
71
+ handler: async ({ flowId, message }) => {
72
+ return client.post(`/flows/${flowId}/chatbot/message`, { message }, 'eduflow');
73
+ },
74
+ },
75
+ ai_get_conversation: {
76
+ description: 'Récupérer l\'historique de conversation avec le designer IA pour un parcours.',
77
+ inputSchema: z.object({
78
+ flowId: z.string().uuid().describe('ID du parcours'),
79
+ }),
80
+ handler: async ({ flowId }) => {
81
+ return client.get(`/flows/${flowId}/chatbot/conversation`, 'eduflow');
82
+ },
83
+ },
84
+ };
85
+ //# sourceMappingURL=ai-designer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-designer.js","sourceRoot":"","sources":["../../src/tools/ai-designer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { z } from 'zod';
2
+ export declare const analyticsTools: {
3
+ analytics_overview: {
4
+ description: string;
5
+ inputSchema: z.ZodObject<{
6
+ period: z.ZodOptional<z.ZodEnum<["day", "week", "month", "semester", "year"]>>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ period?: "day" | "week" | "month" | "semester" | "year" | undefined;
9
+ }, {
10
+ period?: "day" | "week" | "month" | "semester" | "year" | undefined;
11
+ }>;
12
+ handler: ({ period }: {
13
+ period?: string;
14
+ }) => Promise<any>;
15
+ };
16
+ analytics_flow_learners: {
17
+ description: string;
18
+ inputSchema: z.ZodObject<{
19
+ flowId: z.ZodString;
20
+ }, "strip", z.ZodTypeAny, {
21
+ flowId: string;
22
+ }, {
23
+ flowId: string;
24
+ }>;
25
+ handler: ({ flowId }: {
26
+ flowId: string;
27
+ }) => Promise<any>;
28
+ };
29
+ analytics_flow_dashboard: {
30
+ description: string;
31
+ inputSchema: z.ZodObject<{
32
+ flowId: z.ZodString;
33
+ }, "strip", z.ZodTypeAny, {
34
+ flowId: string;
35
+ }, {
36
+ flowId: string;
37
+ }>;
38
+ handler: ({ flowId }: {
39
+ flowId: string;
40
+ }) => Promise<any>;
41
+ };
42
+ analytics_my_stats: {
43
+ description: string;
44
+ inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
45
+ handler: () => Promise<any>;
46
+ };
47
+ };
48
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/tools/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,cAAc;;;;;;;;;;8BAMK;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAWnB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAUlB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;CAYjD,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { z } from 'zod';
2
+ import { client } from '../client.js';
3
+ export const analyticsTools = {
4
+ analytics_overview: {
5
+ description: 'Tableau de bord global : nombre de projets, parcours EduFlow, apprenants, crédits utilisés, avec évolution par période.',
6
+ inputSchema: z.object({
7
+ period: z.enum(['day', 'week', 'month', 'semester', 'year']).optional().describe('Période d\'analyse (défaut: month)'),
8
+ }),
9
+ handler: async ({ period }) => {
10
+ const query = period ? `?period=${period}` : '';
11
+ return client.get(`/analytics/overview${query}`);
12
+ },
13
+ },
14
+ analytics_flow_learners: {
15
+ description: 'Statistiques des apprenants pour un parcours spécifique : progression, scores, temps passé par apprenant.',
16
+ inputSchema: z.object({
17
+ flowId: z.string().uuid().describe('ID du parcours'),
18
+ }),
19
+ handler: async ({ flowId }) => {
20
+ return client.get(`/analytics/flow/${flowId}/learners`);
21
+ },
22
+ },
23
+ analytics_flow_dashboard: {
24
+ description: 'Dashboard analytics complet d\'un parcours : vue d\'ensemble, taux de complétion, blocs les plus/moins visités.',
25
+ inputSchema: z.object({
26
+ flowId: z.string().uuid().describe('ID du parcours'),
27
+ }),
28
+ handler: async ({ flowId }) => {
29
+ return client.get(`/flows/${flowId}/analytics`, 'eduflow');
30
+ },
31
+ },
32
+ analytics_my_stats: {
33
+ description: 'Mes statistiques personnelles : projets créés, parcours créés, temps total, crédits utilisés.',
34
+ inputSchema: z.object({}),
35
+ handler: async () => {
36
+ return client.get('/analytics/my-stats');
37
+ },
38
+ },
39
+ };
40
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/tools/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,kBAAkB,EAAE;QAClB,WAAW,EAAE,yHAAyH;QACtI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;SACvH,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAuB,EAAE,EAAE;YACjD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,OAAO,MAAM,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;KACF;IAED,uBAAuB,EAAE;QACvB,WAAW,EAAE,2GAA2G;QACxH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;SACrD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAsB,EAAE,EAAE;YAChD,OAAO,MAAM,CAAC,GAAG,CAAC,mBAAmB,MAAM,WAAW,CAAC,CAAC;QAC1D,CAAC;KACF;IAED,wBAAwB,EAAE;QACxB,WAAW,EAAE,iHAAiH;QAC9H,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;SACrD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAsB,EAAE,EAAE;YAChD,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,YAAY,EAAE,SAAS,CAAC,CAAC;QAC7D,CAAC;KACF;IAED,kBAAkB,EAAE;QAClB,WAAW,EAAE,+FAA+F;QAC5G,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;KACF;CACF,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ export declare const authTools: {
3
+ auth_login: {
4
+ description: string;
5
+ inputSchema: z.ZodObject<{
6
+ email: z.ZodString;
7
+ password: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ email: string;
10
+ password: string;
11
+ }, {
12
+ email: string;
13
+ password: string;
14
+ }>;
15
+ handler: ({ email, password }: {
16
+ email: string;
17
+ password: string;
18
+ }) => Promise<any>;
19
+ };
20
+ auth_get_profile: {
21
+ description: string;
22
+ inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
23
+ handler: () => Promise<any>;
24
+ };
25
+ auth_list_api_keys: {
26
+ description: string;
27
+ inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
28
+ handler: () => Promise<any>;
29
+ };
30
+ };
31
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,SAAS;;;;;;;;;;;;;uCAOmB;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;CAsB3E,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ import { client } from '../client.js';
3
+ export const authTools = {
4
+ auth_login: {
5
+ description: 'Se connecter à LYRRA Studio avec email et mot de passe. Retourne un token JWT.',
6
+ inputSchema: z.object({
7
+ email: z.string().email().describe('Adresse email du compte'),
8
+ password: z.string().describe('Mot de passe'),
9
+ }),
10
+ handler: async ({ email, password }) => {
11
+ const result = await client.post('/auth/login', { email, password });
12
+ if (result.token)
13
+ client.setToken(result.token);
14
+ return result;
15
+ },
16
+ },
17
+ auth_get_profile: {
18
+ description: 'Récupérer le profil de l\'utilisateur connecté (nom, email, crédits, rôle, institution, etc.).',
19
+ inputSchema: z.object({}),
20
+ handler: async () => {
21
+ return client.get('/auth/me');
22
+ },
23
+ },
24
+ auth_list_api_keys: {
25
+ description: 'Lister toutes les clés API de l\'utilisateur connecté.',
26
+ inputSchema: z.object({}),
27
+ handler: async () => {
28
+ return client.get('/api-keys');
29
+ },
30
+ },
31
+ };
32
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU,EAAE;QACV,WAAW,EAAE,gFAAgF;QAC7F,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC7D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;SAC9C,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAuC,EAAE,EAAE;YAC1E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACrE,IAAI,MAAM,CAAC,KAAK;gBAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF;IAED,gBAAgB,EAAE;QAChB,WAAW,EAAE,gGAAgG;QAC7G,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;KACF;IAED,kBAAkB,EAAE;QAClB,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;KACF;CACF,CAAC"}
@@ -0,0 +1,201 @@
1
+ import { z } from 'zod';
2
+ export declare const blocksTools: {
3
+ block_list_types: {
4
+ description: string;
5
+ inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
6
+ handler: () => Promise<{
7
+ types: {
8
+ type: string;
9
+ name: string;
10
+ description: string;
11
+ }[];
12
+ }>;
13
+ };
14
+ block_get: {
15
+ description: string;
16
+ inputSchema: z.ZodObject<{
17
+ flowId: z.ZodString;
18
+ blockId: z.ZodString;
19
+ }, "strip", z.ZodTypeAny, {
20
+ flowId: string;
21
+ blockId: string;
22
+ }, {
23
+ flowId: string;
24
+ blockId: string;
25
+ }>;
26
+ handler: ({ flowId, blockId }: {
27
+ flowId: string;
28
+ blockId: string;
29
+ }) => Promise<any>;
30
+ };
31
+ block_create: {
32
+ description: string;
33
+ inputSchema: z.ZodObject<{
34
+ flowId: z.ZodString;
35
+ type: z.ZodEnum<["text", "audio", "quiz", "video", "pdf", "image", "loop", "evaluation", "split", "merge", "timer", "start", "end", "chart", "timeline", "dys_reader", "dys_image_zones", "dys_reading_practice", "dys_clock", "glossary", "subflow", "mindmap", "form", "certification", "email", "voice_assessment", "presentation", "browser", "self_assessment"]>;
36
+ title: z.ZodString;
37
+ content: z.ZodRecord<z.ZodString, z.ZodAny>;
38
+ positionX: z.ZodOptional<z.ZodNumber>;
39
+ positionY: z.ZodOptional<z.ZodNumber>;
40
+ order: z.ZodOptional<z.ZodNumber>;
41
+ }, "strip", z.ZodTypeAny, {
42
+ type: "email" | "text" | "audio" | "quiz" | "video" | "pdf" | "image" | "loop" | "evaluation" | "split" | "merge" | "timer" | "start" | "end" | "chart" | "timeline" | "dys_reader" | "dys_image_zones" | "dys_reading_practice" | "dys_clock" | "glossary" | "subflow" | "mindmap" | "form" | "certification" | "voice_assessment" | "presentation" | "browser" | "self_assessment";
43
+ flowId: string;
44
+ title: string;
45
+ content: Record<string, any>;
46
+ positionX?: number | undefined;
47
+ positionY?: number | undefined;
48
+ order?: number | undefined;
49
+ }, {
50
+ type: "email" | "text" | "audio" | "quiz" | "video" | "pdf" | "image" | "loop" | "evaluation" | "split" | "merge" | "timer" | "start" | "end" | "chart" | "timeline" | "dys_reader" | "dys_image_zones" | "dys_reading_practice" | "dys_clock" | "glossary" | "subflow" | "mindmap" | "form" | "certification" | "voice_assessment" | "presentation" | "browser" | "self_assessment";
51
+ flowId: string;
52
+ title: string;
53
+ content: Record<string, any>;
54
+ positionX?: number | undefined;
55
+ positionY?: number | undefined;
56
+ order?: number | undefined;
57
+ }>;
58
+ handler: ({ flowId, ...blockData }: any) => Promise<{
59
+ success: boolean;
60
+ block: any;
61
+ }>;
62
+ };
63
+ block_update: {
64
+ description: string;
65
+ inputSchema: z.ZodObject<{
66
+ flowId: z.ZodString;
67
+ blockId: z.ZodString;
68
+ title: z.ZodOptional<z.ZodString>;
69
+ content: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
70
+ positionX: z.ZodOptional<z.ZodNumber>;
71
+ positionY: z.ZodOptional<z.ZodNumber>;
72
+ order: z.ZodOptional<z.ZodNumber>;
73
+ conditions: z.ZodOptional<z.ZodAny>;
74
+ comment: z.ZodOptional<z.ZodString>;
75
+ }, "strip", z.ZodTypeAny, {
76
+ flowId: string;
77
+ blockId: string;
78
+ title?: string | undefined;
79
+ content?: Record<string, any> | undefined;
80
+ positionX?: number | undefined;
81
+ positionY?: number | undefined;
82
+ order?: number | undefined;
83
+ conditions?: any;
84
+ comment?: string | undefined;
85
+ }, {
86
+ flowId: string;
87
+ blockId: string;
88
+ title?: string | undefined;
89
+ content?: Record<string, any> | undefined;
90
+ positionX?: number | undefined;
91
+ positionY?: number | undefined;
92
+ order?: number | undefined;
93
+ conditions?: any;
94
+ comment?: string | undefined;
95
+ }>;
96
+ handler: ({ flowId, blockId, ...data }: any) => Promise<any>;
97
+ };
98
+ block_batch_update: {
99
+ description: string;
100
+ inputSchema: z.ZodObject<{
101
+ flowId: z.ZodString;
102
+ blocks: z.ZodArray<z.ZodObject<{
103
+ id: z.ZodString;
104
+ type: z.ZodString;
105
+ title: z.ZodString;
106
+ content: z.ZodAny;
107
+ positionX: z.ZodOptional<z.ZodNumber>;
108
+ positionY: z.ZodOptional<z.ZodNumber>;
109
+ order: z.ZodOptional<z.ZodNumber>;
110
+ conditions: z.ZodOptional<z.ZodAny>;
111
+ comment: z.ZodOptional<z.ZodString>;
112
+ }, "strip", z.ZodTypeAny, {
113
+ type: string;
114
+ title: string;
115
+ id: string;
116
+ content?: any;
117
+ positionX?: number | undefined;
118
+ positionY?: number | undefined;
119
+ order?: number | undefined;
120
+ conditions?: any;
121
+ comment?: string | undefined;
122
+ }, {
123
+ type: string;
124
+ title: string;
125
+ id: string;
126
+ content?: any;
127
+ positionX?: number | undefined;
128
+ positionY?: number | undefined;
129
+ order?: number | undefined;
130
+ conditions?: any;
131
+ comment?: string | undefined;
132
+ }>, "many">;
133
+ }, "strip", z.ZodTypeAny, {
134
+ flowId: string;
135
+ blocks: {
136
+ type: string;
137
+ title: string;
138
+ id: string;
139
+ content?: any;
140
+ positionX?: number | undefined;
141
+ positionY?: number | undefined;
142
+ order?: number | undefined;
143
+ conditions?: any;
144
+ comment?: string | undefined;
145
+ }[];
146
+ }, {
147
+ flowId: string;
148
+ blocks: {
149
+ type: string;
150
+ title: string;
151
+ id: string;
152
+ content?: any;
153
+ positionX?: number | undefined;
154
+ positionY?: number | undefined;
155
+ order?: number | undefined;
156
+ conditions?: any;
157
+ comment?: string | undefined;
158
+ }[];
159
+ }>;
160
+ handler: ({ flowId, blocks }: any) => Promise<any>;
161
+ };
162
+ block_delete: {
163
+ description: string;
164
+ inputSchema: z.ZodObject<{
165
+ flowId: z.ZodString;
166
+ blockId: z.ZodString;
167
+ }, "strip", z.ZodTypeAny, {
168
+ flowId: string;
169
+ blockId: string;
170
+ }, {
171
+ flowId: string;
172
+ blockId: string;
173
+ }>;
174
+ handler: ({ flowId, blockId }: {
175
+ flowId: string;
176
+ blockId: string;
177
+ }) => Promise<{
178
+ success: boolean;
179
+ remainingBlocks: any;
180
+ remainingEdges: any;
181
+ }>;
182
+ };
183
+ block_generate_tts: {
184
+ description: string;
185
+ inputSchema: z.ZodObject<{
186
+ flowId: z.ZodString;
187
+ blockId: z.ZodString;
188
+ }, "strip", z.ZodTypeAny, {
189
+ flowId: string;
190
+ blockId: string;
191
+ }, {
192
+ flowId: string;
193
+ blockId: string;
194
+ }>;
195
+ handler: ({ flowId, blockId }: {
196
+ flowId: string;
197
+ blockId: string;
198
+ }) => Promise<any>;
199
+ };
200
+ };
201
+ //# sourceMappingURL=blocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/tools/blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;uCAiDiB;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAuB9B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAkCC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAqBb,GAAG;;;;;;;;;;;;;;uCAWF;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;uCAwBnC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE;;CAI3E,CAAC"}