@lyrra/mcp-server 1.0.1 → 1.1.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 (87) hide show
  1. package/Dockerfile +16 -0
  2. package/README.md +59 -4
  3. package/dist/client.d.ts +7 -1
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +5 -5
  6. package/dist/client.js.map +1 -1
  7. package/dist/config.d.ts +1 -0
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/config.js +1 -0
  10. package/dist/config.js.map +1 -1
  11. package/dist/http-server.d.ts +8 -0
  12. package/dist/http-server.d.ts.map +1 -0
  13. package/dist/http-server.js +466 -0
  14. package/dist/http-server.js.map +1 -0
  15. package/dist/index.js +3 -69
  16. package/dist/index.js.map +1 -1
  17. package/dist/server-factory.d.ts +8 -0
  18. package/dist/server-factory.d.ts.map +1 -0
  19. package/dist/server-factory.js +82 -0
  20. package/dist/server-factory.js.map +1 -0
  21. package/dist/tools/admin.d.ts +132 -0
  22. package/dist/tools/admin.d.ts.map +1 -1
  23. package/dist/tools/admin.js +105 -101
  24. package/dist/tools/admin.js.map +1 -1
  25. package/dist/tools/ai-designer.d.ts +148 -0
  26. package/dist/tools/ai-designer.d.ts.map +1 -1
  27. package/dist/tools/ai-designer.js +80 -76
  28. package/dist/tools/ai-designer.js.map +1 -1
  29. package/dist/tools/analytics.d.ts +47 -0
  30. package/dist/tools/analytics.d.ts.map +1 -1
  31. package/dist/tools/analytics.js +38 -34
  32. package/dist/tools/analytics.js.map +1 -1
  33. package/dist/tools/auth.d.ts +30 -0
  34. package/dist/tools/auth.d.ts.map +1 -1
  35. package/dist/tools/auth.js +31 -27
  36. package/dist/tools/auth.js.map +1 -1
  37. package/dist/tools/blocks.d.ts +200 -0
  38. package/dist/tools/blocks.d.ts.map +1 -1
  39. package/dist/tools/blocks.js +154 -150
  40. package/dist/tools/blocks.js.map +1 -1
  41. package/dist/tools/connections.d.ts +86 -0
  42. package/dist/tools/connections.d.ts.map +1 -1
  43. package/dist/tools/connections.js +70 -66
  44. package/dist/tools/connections.js.map +1 -1
  45. package/dist/tools/eduflow.d.ts +223 -0
  46. package/dist/tools/eduflow.d.ts.map +1 -1
  47. package/dist/tools/eduflow.js +114 -93
  48. package/dist/tools/eduflow.js.map +1 -1
  49. package/dist/tools/participants.d.ts +110 -0
  50. package/dist/tools/participants.d.ts.map +1 -1
  51. package/dist/tools/participants.js +62 -58
  52. package/dist/tools/participants.js.map +1 -1
  53. package/dist/tools/presentation.d.ts +116 -0
  54. package/dist/tools/presentation.d.ts.map +1 -1
  55. package/dist/tools/presentation.js +51 -47
  56. package/dist/tools/presentation.js.map +1 -1
  57. package/dist/tools/projects.d.ts +65 -0
  58. package/dist/tools/projects.d.ts.map +1 -1
  59. package/dist/tools/projects.js +48 -44
  60. package/dist/tools/projects.js.map +1 -1
  61. package/dist/tools/resources.d.ts +46 -0
  62. package/dist/tools/resources.d.ts.map +1 -1
  63. package/dist/tools/resources.js +32 -28
  64. package/dist/tools/resources.js.map +1 -1
  65. package/dist/tools/store.d.ts +62 -0
  66. package/dist/tools/store.d.ts.map +1 -1
  67. package/dist/tools/store.js +59 -55
  68. package/dist/tools/store.js.map +1 -1
  69. package/mcp-config.example.json +4 -5
  70. package/package.json +7 -2
  71. package/src/client.ts +12 -5
  72. package/src/config.ts +1 -0
  73. package/src/http-server.ts +573 -0
  74. package/src/index.ts +3 -94
  75. package/src/server-factory.ts +109 -0
  76. package/src/tools/admin.ts +20 -14
  77. package/src/tools/ai-designer.ts +16 -10
  78. package/src/tools/analytics.ts +13 -7
  79. package/src/tools/auth.ts +32 -26
  80. package/src/tools/blocks.ts +18 -12
  81. package/src/tools/connections.ts +14 -8
  82. package/src/tools/eduflow.ts +36 -12
  83. package/src/tools/participants.ts +15 -9
  84. package/src/tools/presentation.ts +12 -6
  85. package/src/tools/projects.ts +14 -8
  86. package/src/tools/resources.ts +12 -6
  87. package/src/tools/store.ts +14 -8
@@ -1,85 +1,89 @@
1
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');
2
+ import { client as defaultClient } from '../client.js';
3
+ export function createAiDesignerTools(c) {
4
+ return {
5
+ ai_generate_plan: {
6
+ 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.',
7
+ inputSchema: z.object({
8
+ flowId: z.string().uuid().describe('ID du parcours'),
9
+ topic: z.string().describe('Sujet du parcours (ex: "Les fractions en CM2")'),
10
+ targetAudience: z.string().optional().describe('Public cible (ex: "Élèves de CM2, 9-10 ans")'),
11
+ objectives: z.string().optional().describe('Objectifs pédagogiques souhaités'),
12
+ duration: z.string().optional().describe('Durée estimée (ex: "30 minutes")'),
13
+ context: z.string().optional().describe('Contexte additionnel pour l\'IA'),
14
+ }),
15
+ handler: async ({ flowId, ...data }) => {
16
+ return c.post(`/flows/${flowId}/chatbot/generate-plan`, data, 'eduflow');
17
+ },
16
18
  },
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');
19
+ ai_generate_block: {
20
+ 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.',
21
+ inputSchema: z.object({
22
+ flowId: z.string().uuid().describe('ID du parcours'),
23
+ blockType: z.string().describe('Type de bloc à générer (text, quiz, evaluation, chart, timeline, etc.)'),
24
+ instructions: z.string().describe('Instructions pour le contenu du bloc (ex: "Créer un quiz de 5 questions sur les fractions")'),
25
+ context: z.string().optional().describe('Contexte du parcours pour l\'IA'),
26
+ }),
27
+ handler: async ({ flowId, ...data }) => {
28
+ return c.post(`/flows/${flowId}/chatbot/generate-block`, data, 'eduflow');
29
+ },
28
30
  },
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');
31
+ ai_generate_presentation: {
32
+ description: 'Générer automatiquement la page de présentation du parcours (description, objectifs affichés, image, structure visible).',
33
+ inputSchema: z.object({
34
+ flowId: z.string().uuid().describe('ID du parcours'),
35
+ style: z.string().optional().describe('Style de présentation souhaité'),
36
+ }),
37
+ handler: async ({ flowId, ...data }) => {
38
+ return c.post(`/flows/${flowId}/chatbot/generate-presentation`, data, 'eduflow');
39
+ },
38
40
  },
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');
41
+ ai_generate_objectives: {
42
+ description: 'Générer automatiquement les objectifs pédagogiques du parcours à partir du contenu existant.',
43
+ inputSchema: z.object({
44
+ flowId: z.string().uuid().describe('ID du parcours'),
45
+ }),
46
+ handler: async ({ flowId }) => {
47
+ return c.post(`/flows/${flowId}/chatbot/generate-objectives`, {}, 'eduflow');
48
+ },
47
49
  },
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');
50
+ ai_save_objectives: {
51
+ description: 'Sauvegarder les objectifs pédagogiques (globaux et par étape) sur le parcours.',
52
+ inputSchema: z.object({
53
+ flowId: z.string().uuid().describe('ID du parcours'),
54
+ globalObjective: z.string().describe('Objectif global du parcours'),
55
+ steps: z.array(z.object({
56
+ id: z.string().describe('ID de l\'étape'),
57
+ title: z.string().describe('Titre de l\'objectif'),
58
+ description: z.string().optional().describe('Description détaillée'),
59
+ blockId: z.string().optional().describe('Bloc associé à cet objectif'),
60
+ })).describe('Liste des objectifs par étape'),
61
+ }),
62
+ handler: async ({ flowId, ...objectives }) => {
63
+ return c.post(`/flows/${flowId}/chatbot/save-objectives`, objectives, 'eduflow');
64
+ },
63
65
  },
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');
66
+ ai_chat_message: {
67
+ description: 'Envoyer un message au designer IA pour discuter de la conception du parcours, poser des questions, demander des modifications.',
68
+ inputSchema: z.object({
69
+ flowId: z.string().uuid().describe('ID du parcours'),
70
+ message: z.string().describe('Message à envoyer à l\'IA designer'),
71
+ }),
72
+ handler: async ({ flowId, message }) => {
73
+ return c.post(`/flows/${flowId}/chatbot/message`, { message }, 'eduflow');
74
+ },
73
75
  },
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');
76
+ ai_get_conversation: {
77
+ description: 'Récupérer l\'historique de conversation avec le designer IA pour un parcours.',
78
+ inputSchema: z.object({
79
+ flowId: z.string().uuid().describe('ID du parcours'),
80
+ }),
81
+ handler: async ({ flowId }) => {
82
+ return c.get(`/flows/${flowId}/chatbot/conversation`, 'eduflow');
83
+ },
82
84
  },
83
- },
84
- };
85
+ };
86
+ }
87
+ // Backward compatibility for stdio mode
88
+ export const aiDesignerTools = createAiDesignerTools(defaultClient);
85
89
  //# sourceMappingURL=ai-designer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-designer.js","sourceRoot":"","sources":["../../src/tools/ai-designer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-designer.js","sourceRoot":"","sources":["../../src/tools/ai-designer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,51 @@
1
1
  import { z } from 'zod';
2
+ import { LyrraClient } from '../client.js';
3
+ export declare function createAnalyticsTools(c: LyrraClient): {
4
+ analytics_overview: {
5
+ description: string;
6
+ inputSchema: z.ZodObject<{
7
+ period: z.ZodOptional<z.ZodEnum<["day", "week", "month", "semester", "year"]>>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ period?: "day" | "week" | "month" | "semester" | "year" | undefined;
10
+ }, {
11
+ period?: "day" | "week" | "month" | "semester" | "year" | undefined;
12
+ }>;
13
+ handler: ({ period }: {
14
+ period?: string;
15
+ }) => Promise<any>;
16
+ };
17
+ analytics_flow_learners: {
18
+ description: string;
19
+ inputSchema: z.ZodObject<{
20
+ flowId: z.ZodString;
21
+ }, "strip", z.ZodTypeAny, {
22
+ flowId: string;
23
+ }, {
24
+ flowId: string;
25
+ }>;
26
+ handler: ({ flowId }: {
27
+ flowId: string;
28
+ }) => Promise<any>;
29
+ };
30
+ analytics_flow_dashboard: {
31
+ description: string;
32
+ inputSchema: z.ZodObject<{
33
+ flowId: z.ZodString;
34
+ }, "strip", z.ZodTypeAny, {
35
+ flowId: string;
36
+ }, {
37
+ flowId: string;
38
+ }>;
39
+ handler: ({ flowId }: {
40
+ flowId: string;
41
+ }) => Promise<any>;
42
+ };
43
+ analytics_my_stats: {
44
+ description: string;
45
+ inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
46
+ handler: () => Promise<any>;
47
+ };
48
+ };
2
49
  export declare const analyticsTools: {
3
50
  analytics_overview: {
4
51
  description: string;
@@ -1 +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"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/tools/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,WAAW;;;;;;;;;;8BAOnB;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAWnB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAUlB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;EAajD;AAGD,eAAO,MAAM,cAAc;;;;;;;;;;8BArCK;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAWnB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAUlB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;CAgBe,CAAC"}
@@ -1,40 +1,44 @@
1
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}`);
2
+ import { client as defaultClient } from '../client.js';
3
+ export function createAnalyticsTools(c) {
4
+ return {
5
+ analytics_overview: {
6
+ description: 'Tableau de bord global : nombre de projets, parcours EduFlow, apprenants, crédits utilisés, avec évolution par période.',
7
+ inputSchema: z.object({
8
+ period: z.enum(['day', 'week', 'month', 'semester', 'year']).optional().describe('Période d\'analyse (défaut: month)'),
9
+ }),
10
+ handler: async ({ period }) => {
11
+ const query = period ? `?period=${period}` : '';
12
+ return c.get(`/analytics/overview${query}`);
13
+ },
12
14
  },
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`);
15
+ analytics_flow_learners: {
16
+ description: 'Statistiques des apprenants pour un parcours spécifique : progression, scores, temps passé par apprenant.',
17
+ inputSchema: z.object({
18
+ flowId: z.string().uuid().describe('ID du parcours'),
19
+ }),
20
+ handler: async ({ flowId }) => {
21
+ return c.get(`/analytics/flow/${flowId}/learners`);
22
+ },
21
23
  },
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');
24
+ analytics_flow_dashboard: {
25
+ description: 'Dashboard analytics complet d\'un parcours : vue d\'ensemble, taux de complétion, blocs les plus/moins visités.',
26
+ inputSchema: z.object({
27
+ flowId: z.string().uuid().describe('ID du parcours'),
28
+ }),
29
+ handler: async ({ flowId }) => {
30
+ return c.get(`/flows/${flowId}/analytics`, 'eduflow');
31
+ },
30
32
  },
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');
33
+ analytics_my_stats: {
34
+ description: 'Mes statistiques personnelles : projets créés, parcours créés, temps total, crédits utilisés.',
35
+ inputSchema: z.object({}),
36
+ handler: async () => {
37
+ return c.get('/analytics/my-stats');
38
+ },
37
39
  },
38
- },
39
- };
40
+ };
41
+ }
42
+ // Backward compatibility for stdio mode
43
+ export const analyticsTools = createAnalyticsTools(defaultClient);
40
44
  //# sourceMappingURL=analytics.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/tools/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,UAAU,oBAAoB,CAAC,CAAc;IACjD,OAAO;QACP,kBAAkB,EAAE;YAClB,WAAW,EAAE,yHAAyH;YACtI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,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;aACvH,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAuB,EAAE,EAAE;gBACjD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,OAAO,CAAC,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;YAC9C,CAAC;SACF;QAED,uBAAuB,EAAE;YACvB,WAAW,EAAE,2GAA2G;YACxH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aACrD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAsB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,GAAG,CAAC,mBAAmB,MAAM,WAAW,CAAC,CAAC;YACrD,CAAC;SACF;QAED,wBAAwB,EAAE;YACxB,WAAW,EAAE,iHAAiH;YAC9H,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aACrD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAsB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,MAAM,YAAY,EAAE,SAAS,CAAC,CAAC;YACxD,CAAC;SACF;QAED,kBAAkB,EAAE;YAClB,WAAW,EAAE,+FAA+F;YAC5G,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACtC,CAAC;SACF;KACA,CAAC;AACJ,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC"}
@@ -1,4 +1,34 @@
1
1
  import { z } from 'zod';
2
+ import { LyrraClient } from '../client.js';
3
+ export declare function createAuthTools(c: LyrraClient): {
4
+ auth_login: {
5
+ description: string;
6
+ inputSchema: z.ZodObject<{
7
+ email: z.ZodString;
8
+ password: z.ZodString;
9
+ }, "strip", z.ZodTypeAny, {
10
+ email: string;
11
+ password: string;
12
+ }, {
13
+ email: string;
14
+ password: string;
15
+ }>;
16
+ handler: ({ email, password }: {
17
+ email: string;
18
+ password: string;
19
+ }) => Promise<any>;
20
+ };
21
+ auth_get_profile: {
22
+ description: string;
23
+ inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
24
+ handler: () => Promise<any>;
25
+ };
26
+ auth_list_api_keys: {
27
+ description: string;
28
+ inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
29
+ handler: () => Promise<any>;
30
+ };
31
+ };
2
32
  export declare const authTools: {
3
33
  auth_login: {
4
34
  description: string;
@@ -1 +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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,wBAAgB,eAAe,CAAC,CAAC,EAAE,WAAW;;;;;;;;;;;;;uCAQH;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;EAuB7E;AAGD,eAAO,MAAM,SAAS;;;;;;;;;;;;;uCA1BqB;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;CA0BvB,CAAC"}
@@ -1,32 +1,36 @@
1
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. ⚠️ NE PAS utiliser si LYRRA_CLIENT_SECRET est configuré — l\'authentification est alors automatique via API Key. Utiliser uniquement si aucune clé API n\'est définie.',
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;
2
+ import { client as defaultClient } from '../client.js';
3
+ export function createAuthTools(c) {
4
+ return {
5
+ auth_login: {
6
+ description: 'Se connecter à LYRRA Studio avec email et mot de passe. ⚠️ NE PAS utiliser si LYRRA_CLIENT_SECRET est configuré — l\'authentification est alors automatique via API Key. Utiliser uniquement si aucune clé API n\'est définie.',
7
+ inputSchema: z.object({
8
+ email: z.string().email().describe('Adresse email du compte'),
9
+ password: z.string().describe('Mot de passe'),
10
+ }),
11
+ handler: async ({ email, password }) => {
12
+ const result = await c.post('/auth/login', { email, password });
13
+ if (result.token)
14
+ c.setToken(result.token);
15
+ return result;
16
+ },
15
17
  },
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');
18
+ auth_get_profile: {
19
+ description: 'Récupérer le profil de l\'utilisateur connecté (nom, email, crédits, rôle, institution, etc.).',
20
+ inputSchema: z.object({}),
21
+ handler: async () => {
22
+ return c.get('/auth/me');
23
+ },
22
24
  },
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');
25
+ auth_list_api_keys: {
26
+ description: 'Lister toutes les clés API de l\'utilisateur connecté.',
27
+ inputSchema: z.object({}),
28
+ handler: async () => {
29
+ return c.get('/api-keys');
30
+ },
29
31
  },
30
- },
31
- };
32
+ };
33
+ }
34
+ // Backward compatibility for stdio mode
35
+ export const authTools = createAuthTools(defaultClient);
32
36
  //# sourceMappingURL=auth.js.map
@@ -1 +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,gOAAgO;QAC7O,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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,UAAU,eAAe,CAAC,CAAc;IAC5C,OAAO;QACL,UAAU,EAAE;YACV,WAAW,EAAE,gOAAgO;YAC7O,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;gBAC7D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;aAC9C,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAuC,EAAE,EAAE;gBAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChE,IAAI,MAAM,CAAC,KAAK;oBAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3C,OAAO,MAAM,CAAC;YAChB,CAAC;SACF;QAED,gBAAgB,EAAE;YAChB,WAAW,EAAE,gGAAgG;YAC7G,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;SACF;QAED,kBAAkB,EAAE;YAClB,WAAW,EAAE,wDAAwD;YACrE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC5B,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC"}