@lyrra/mcp-server 1.0.0 → 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 +8 -71
  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 +7 -96
  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
@@ -0,0 +1,82 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { LyrraClient } from './client.js';
3
+ // Tool factory functions
4
+ import { createAuthTools } from './tools/auth.js';
5
+ import { createEduflowTools } from './tools/eduflow.js';
6
+ import { createBlocksTools } from './tools/blocks.js';
7
+ import { createConnectionsTools } from './tools/connections.js';
8
+ import { createParticipantsTools } from './tools/participants.js';
9
+ import { createAnalyticsTools } from './tools/analytics.js';
10
+ import { createAiDesignerTools } from './tools/ai-designer.js';
11
+ import { createPresentationTools } from './tools/presentation.js';
12
+ import { createStoreTools } from './tools/store.js';
13
+ import { createProjectsTools } from './tools/projects.js';
14
+ import { createResourcesTools } from './tools/resources.js';
15
+ import { createAdminTools } from './tools/admin.js';
16
+ // Resources
17
+ import { BLOCK_TYPES_RESOURCE } from './resources/block-types.js';
18
+ import { FLOW_SCHEMA_RESOURCE } from './resources/flow-schema.js';
19
+ function registerToolsOnServer(server, tools) {
20
+ for (const [name, tool] of Object.entries(tools)) {
21
+ server.tool(name, tool.description, tool.inputSchema.shape
22
+ ? Object.fromEntries(Object.entries(tool.inputSchema.shape).map(([key, schema]) => [key, schema]))
23
+ : {}, async (args) => {
24
+ try {
25
+ const result = await tool.handler(args);
26
+ return {
27
+ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
28
+ };
29
+ }
30
+ catch (error) {
31
+ return {
32
+ content: [{ type: 'text', text: `Erreur: ${error.message}` }],
33
+ isError: true,
34
+ };
35
+ }
36
+ });
37
+ }
38
+ }
39
+ /**
40
+ * Create and configure an MCP server with all tools registered.
41
+ * @param client - LyrraClient to use for API calls. If not provided, uses default (env vars).
42
+ */
43
+ export function createMcpServer(client) {
44
+ const c = client || new LyrraClient();
45
+ const server = new McpServer({
46
+ name: 'lyrra-studio',
47
+ version: '1.0.0',
48
+ description: 'Serveur MCP pour piloter LYRRA Studio - Plateforme EdTech de création de parcours pédagogiques, conversion PDF→Audio, et store d\'audiobooks.',
49
+ });
50
+ const allTools = {
51
+ ...createAuthTools(c),
52
+ ...createEduflowTools(c),
53
+ ...createBlocksTools(c),
54
+ ...createConnectionsTools(c),
55
+ ...createParticipantsTools(c),
56
+ ...createAnalyticsTools(c),
57
+ ...createAiDesignerTools(c),
58
+ ...createPresentationTools(c),
59
+ ...createStoreTools(c),
60
+ ...createProjectsTools(c),
61
+ ...createResourcesTools(c),
62
+ ...createAdminTools(c),
63
+ };
64
+ registerToolsOnServer(server, allTools);
65
+ // Resources
66
+ server.resource('block-types', BLOCK_TYPES_RESOURCE.uri, { description: BLOCK_TYPES_RESOURCE.description, mimeType: BLOCK_TYPES_RESOURCE.mimeType }, async () => ({
67
+ contents: [{
68
+ uri: BLOCK_TYPES_RESOURCE.uri,
69
+ mimeType: BLOCK_TYPES_RESOURCE.mimeType,
70
+ text: JSON.stringify(BLOCK_TYPES_RESOURCE.content, null, 2),
71
+ }],
72
+ }));
73
+ server.resource('flow-construction-guide', FLOW_SCHEMA_RESOURCE.uri, { description: FLOW_SCHEMA_RESOURCE.description, mimeType: FLOW_SCHEMA_RESOURCE.mimeType }, async () => ({
74
+ contents: [{
75
+ uri: FLOW_SCHEMA_RESOURCE.uri,
76
+ mimeType: FLOW_SCHEMA_RESOURCE.mimeType,
77
+ text: JSON.stringify(FLOW_SCHEMA_RESOURCE.content, null, 2),
78
+ }],
79
+ }));
80
+ return server;
81
+ }
82
+ //# sourceMappingURL=server-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-factory.js","sourceRoot":"","sources":["../src/server-factory.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,136 @@
1
1
  import { z } from 'zod';
2
+ import { LyrraClient } from '../client.js';
3
+ export declare function createAdminTools(c: LyrraClient): {
4
+ version_list: {
5
+ description: string;
6
+ inputSchema: z.ZodObject<{
7
+ flowId: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ flowId: string;
10
+ }, {
11
+ flowId: string;
12
+ }>;
13
+ handler: ({ flowId }: {
14
+ flowId: string;
15
+ }) => Promise<any>;
16
+ };
17
+ version_create: {
18
+ description: string;
19
+ inputSchema: z.ZodObject<{
20
+ flowId: z.ZodString;
21
+ versionLabel: z.ZodOptional<z.ZodString>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ flowId: string;
24
+ versionLabel?: string | undefined;
25
+ }, {
26
+ flowId: string;
27
+ versionLabel?: string | undefined;
28
+ }>;
29
+ handler: ({ flowId, versionLabel }: any) => Promise<any>;
30
+ };
31
+ version_activate: {
32
+ description: string;
33
+ inputSchema: z.ZodObject<{
34
+ flowId: z.ZodString;
35
+ versionId: z.ZodString;
36
+ }, "strip", z.ZodTypeAny, {
37
+ flowId: string;
38
+ versionId: string;
39
+ }, {
40
+ flowId: string;
41
+ versionId: string;
42
+ }>;
43
+ handler: ({ flowId, versionId }: {
44
+ flowId: string;
45
+ versionId: string;
46
+ }) => Promise<any>;
47
+ };
48
+ gamification_stats: {
49
+ description: string;
50
+ inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
51
+ handler: () => Promise<any>;
52
+ };
53
+ gamification_objectives: {
54
+ description: string;
55
+ inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
56
+ handler: () => Promise<any>;
57
+ };
58
+ activity_history: {
59
+ description: string;
60
+ inputSchema: z.ZodObject<{
61
+ page: z.ZodOptional<z.ZodNumber>;
62
+ limit: z.ZodOptional<z.ZodNumber>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ page?: number | undefined;
65
+ limit?: number | undefined;
66
+ }, {
67
+ page?: number | undefined;
68
+ limit?: number | undefined;
69
+ }>;
70
+ handler: ({ page, limit }: any) => Promise<any>;
71
+ };
72
+ activity_stats: {
73
+ description: string;
74
+ inputSchema: z.ZodObject<{
75
+ period: z.ZodOptional<z.ZodEnum<["day", "week", "month"]>>;
76
+ }, "strip", z.ZodTypeAny, {
77
+ period?: "day" | "week" | "month" | undefined;
78
+ }, {
79
+ period?: "day" | "week" | "month" | undefined;
80
+ }>;
81
+ handler: ({ period }: {
82
+ period?: string;
83
+ }) => Promise<any>;
84
+ };
85
+ webhook_list: {
86
+ description: string;
87
+ inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
88
+ handler: () => Promise<any>;
89
+ };
90
+ webhook_create: {
91
+ description: string;
92
+ inputSchema: z.ZodObject<{
93
+ url: z.ZodString;
94
+ events: z.ZodArray<z.ZodString, "many">;
95
+ name: z.ZodOptional<z.ZodString>;
96
+ }, "strip", z.ZodTypeAny, {
97
+ url: string;
98
+ events: string[];
99
+ name?: string | undefined;
100
+ }, {
101
+ url: string;
102
+ events: string[];
103
+ name?: string | undefined;
104
+ }>;
105
+ handler: (data: any) => Promise<any>;
106
+ };
107
+ webhook_delete: {
108
+ description: string;
109
+ inputSchema: z.ZodObject<{
110
+ webhookId: z.ZodString;
111
+ }, "strip", z.ZodTypeAny, {
112
+ webhookId: string;
113
+ }, {
114
+ webhookId: string;
115
+ }>;
116
+ handler: ({ webhookId }: {
117
+ webhookId: string;
118
+ }) => Promise<any>;
119
+ };
120
+ webhook_test: {
121
+ description: string;
122
+ inputSchema: z.ZodObject<{
123
+ webhookId: z.ZodString;
124
+ }, "strip", z.ZodTypeAny, {
125
+ webhookId: string;
126
+ }, {
127
+ webhookId: string;
128
+ }>;
129
+ handler: ({ webhookId }: {
130
+ webhookId: string;
131
+ }) => Promise<any>;
132
+ };
133
+ };
2
134
  export declare const adminTools: {
3
135
  version_list: {
4
136
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/tools/admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,UAAU;;;;;;;;;;8BAOS;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;4CAWJ,GAAG;;;;;;;;;;;;;;yCAWN;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;mCA6B3C,GAAG;;;;;;;;;;;8BAcR;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;wBAsBzB,GAAG;;;;;;;;;;;iCAUM;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;iCAUrB;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE;;CAIvD,CAAC"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/tools/admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW;;;;;;;;;;8BAQf;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;4CAWJ,GAAG;;;;;;;;;;;;;;yCAWN;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;mCA6B3C,GAAG;;;;;;;;;;;8BAcR;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;wBAsBzB,GAAG;;;;;;;;;;;iCAUM;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;iCAUrB;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE;;EAKvD;AAGD,eAAO,MAAM,UAAU;;;;;;;;;;8BAnHS;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;4CAWJ,GAAG;;;;;;;;;;;;;;yCAWN;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;mCA6B3C,GAAG;;;;;;;;;;;8BAcR;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;wBAsBzB,GAAG;;;;;;;;;;;iCAUM;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;iCAUrB;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE;;CAQC,CAAC"}
@@ -1,114 +1,118 @@
1
1
  import { z } from 'zod';
2
- import { client } from '../client.js';
3
- export const adminTools = {
4
- // --- Versions ---
5
- version_list: {
6
- description: 'Lister toutes les versions d\'un parcours EduFlow.',
7
- inputSchema: z.object({
8
- flowId: z.string().uuid().describe('ID du parcours'),
9
- }),
10
- handler: async ({ flowId }) => {
11
- return client.get(`/flows/${flowId}/versions`, 'eduflow');
2
+ import { client as defaultClient } from '../client.js';
3
+ export function createAdminTools(c) {
4
+ return {
5
+ // --- Versions ---
6
+ version_list: {
7
+ description: 'Lister toutes les versions d\'un parcours EduFlow.',
8
+ inputSchema: z.object({
9
+ flowId: z.string().uuid().describe('ID du parcours'),
10
+ }),
11
+ handler: async ({ flowId }) => {
12
+ return c.get(`/flows/${flowId}/versions`, 'eduflow');
13
+ },
12
14
  },
13
- },
14
- version_create: {
15
- description: 'Créer une nouvelle version (snapshot) du parcours. Permet de revenir en arrière si besoin.',
16
- inputSchema: z.object({
17
- flowId: z.string().uuid().describe('ID du parcours'),
18
- versionLabel: z.string().optional().describe('Label de la version (ex: "v2.0 - Ajout quiz")'),
19
- }),
20
- handler: async ({ flowId, versionLabel }) => {
21
- return client.post(`/flows/${flowId}/versions`, { versionLabel }, 'eduflow');
15
+ version_create: {
16
+ description: 'Créer une nouvelle version (snapshot) du parcours. Permet de revenir en arrière si besoin.',
17
+ inputSchema: z.object({
18
+ flowId: z.string().uuid().describe('ID du parcours'),
19
+ versionLabel: z.string().optional().describe('Label de la version (ex: "v2.0 - Ajout quiz")'),
20
+ }),
21
+ handler: async ({ flowId, versionLabel }) => {
22
+ return c.post(`/flows/${flowId}/versions`, { versionLabel }, 'eduflow');
23
+ },
22
24
  },
23
- },
24
- version_activate: {
25
- description: 'Activer une version spécifique comme version publique du parcours.',
26
- inputSchema: z.object({
27
- flowId: z.string().uuid().describe('ID du parcours'),
28
- versionId: z.string().uuid().describe('ID de la version à activer'),
29
- }),
30
- handler: async ({ flowId, versionId }) => {
31
- return client.post(`/flows/${flowId}/versions/${versionId}/activate`, {}, 'eduflow');
25
+ version_activate: {
26
+ description: 'Activer une version spécifique comme version publique du parcours.',
27
+ inputSchema: z.object({
28
+ flowId: z.string().uuid().describe('ID du parcours'),
29
+ versionId: z.string().uuid().describe('ID de la version à activer'),
30
+ }),
31
+ handler: async ({ flowId, versionId }) => {
32
+ return c.post(`/flows/${flowId}/versions/${versionId}/activate`, {}, 'eduflow');
33
+ },
32
34
  },
33
- },
34
- // --- Gamification ---
35
- gamification_stats: {
36
- description: 'Récupérer les statistiques de gamification de l\'utilisateur (niveau, streak, badges, missions).',
37
- inputSchema: z.object({}),
38
- handler: async () => {
39
- return client.get('/gamification/stats');
35
+ // --- Gamification ---
36
+ gamification_stats: {
37
+ description: 'Récupérer les statistiques de gamification de l\'utilisateur (niveau, streak, badges, missions).',
38
+ inputSchema: z.object({}),
39
+ handler: async () => {
40
+ return c.get('/gamification/stats');
41
+ },
40
42
  },
41
- },
42
- gamification_objectives: {
43
- description: 'Récupérer les prochains objectifs de gamification à atteindre.',
44
- inputSchema: z.object({}),
45
- handler: async () => {
46
- return client.get('/gamification/objectives');
43
+ gamification_objectives: {
44
+ description: 'Récupérer les prochains objectifs de gamification à atteindre.',
45
+ inputSchema: z.object({}),
46
+ handler: async () => {
47
+ return c.get('/gamification/objectives');
48
+ },
47
49
  },
48
- },
49
- // --- Activity ---
50
- activity_history: {
51
- description: 'Récupérer l\'historique d\'activité de l\'utilisateur avec pagination.',
52
- inputSchema: z.object({
53
- page: z.number().optional().describe('Page (défaut: 1)'),
54
- limit: z.number().optional().describe('Nombre par page (défaut: 20)'),
55
- }),
56
- handler: async ({ page, limit }) => {
57
- const params = new URLSearchParams();
58
- if (page)
59
- params.set('page', String(page));
60
- if (limit)
61
- params.set('limit', String(limit));
62
- const query = params.toString() ? `?${params}` : '';
63
- return client.get(`/activity${query}`);
50
+ // --- Activity ---
51
+ activity_history: {
52
+ description: 'Récupérer l\'historique d\'activité de l\'utilisateur avec pagination.',
53
+ inputSchema: z.object({
54
+ page: z.number().optional().describe('Page (défaut: 1)'),
55
+ limit: z.number().optional().describe('Nombre par page (défaut: 20)'),
56
+ }),
57
+ handler: async ({ page, limit }) => {
58
+ const params = new URLSearchParams();
59
+ if (page)
60
+ params.set('page', String(page));
61
+ if (limit)
62
+ params.set('limit', String(limit));
63
+ const query = params.toString() ? `?${params}` : '';
64
+ return c.get(`/activity${query}`);
65
+ },
64
66
  },
65
- },
66
- activity_stats: {
67
- description: 'Statistiques d\'utilisation par période (jour/semaine/mois).',
68
- inputSchema: z.object({
69
- period: z.enum(['day', 'week', 'month']).optional().describe('Période (défaut: week)'),
70
- }),
71
- handler: async ({ period }) => {
72
- const query = period ? `?period=${period}` : '';
73
- return client.get(`/activity/stats${query}`);
67
+ activity_stats: {
68
+ description: 'Statistiques d\'utilisation par période (jour/semaine/mois).',
69
+ inputSchema: z.object({
70
+ period: z.enum(['day', 'week', 'month']).optional().describe('Période (défaut: week)'),
71
+ }),
72
+ handler: async ({ period }) => {
73
+ const query = period ? `?period=${period}` : '';
74
+ return c.get(`/activity/stats${query}`);
75
+ },
74
76
  },
75
- },
76
- // --- Webhooks ---
77
- webhook_list: {
78
- description: 'Lister les webhooks configurés pour recevoir des événements (block.completed, flow.completed, etc.).',
79
- inputSchema: z.object({}),
80
- handler: async () => {
81
- return client.get('/webhooks');
77
+ // --- Webhooks ---
78
+ webhook_list: {
79
+ description: 'Lister les webhooks configurés pour recevoir des événements (block.completed, flow.completed, etc.).',
80
+ inputSchema: z.object({}),
81
+ handler: async () => {
82
+ return c.get('/webhooks');
83
+ },
82
84
  },
83
- },
84
- webhook_create: {
85
- description: 'Créer un webhook pour recevoir des notifications en temps réel sur des événements.',
86
- inputSchema: z.object({
87
- url: z.string().url().describe('URL du webhook (doit être accessible publiquement)'),
88
- events: z.array(z.string()).describe('Événements à écouter (ex: ["block.completed", "flow.completed"])'),
89
- name: z.string().optional().describe('Nom du webhook'),
90
- }),
91
- handler: async (data) => {
92
- return client.post('/webhooks', data);
85
+ webhook_create: {
86
+ description: 'Créer un webhook pour recevoir des notifications en temps réel sur des événements.',
87
+ inputSchema: z.object({
88
+ url: z.string().url().describe('URL du webhook (doit être accessible publiquement)'),
89
+ events: z.array(z.string()).describe('Événements à écouter (ex: ["block.completed", "flow.completed"])'),
90
+ name: z.string().optional().describe('Nom du webhook'),
91
+ }),
92
+ handler: async (data) => {
93
+ return c.post('/webhooks', data);
94
+ },
93
95
  },
94
- },
95
- webhook_delete: {
96
- description: 'Supprimer un webhook.',
97
- inputSchema: z.object({
98
- webhookId: z.string().uuid().describe('ID du webhook'),
99
- }),
100
- handler: async ({ webhookId }) => {
101
- return client.delete(`/webhooks/${webhookId}`);
96
+ webhook_delete: {
97
+ description: 'Supprimer un webhook.',
98
+ inputSchema: z.object({
99
+ webhookId: z.string().uuid().describe('ID du webhook'),
100
+ }),
101
+ handler: async ({ webhookId }) => {
102
+ return c.delete(`/webhooks/${webhookId}`);
103
+ },
102
104
  },
103
- },
104
- webhook_test: {
105
- description: 'Tester un webhook en envoyant un événement de test.',
106
- inputSchema: z.object({
107
- webhookId: z.string().uuid().describe('ID du webhook à tester'),
108
- }),
109
- handler: async ({ webhookId }) => {
110
- return client.post(`/webhooks/${webhookId}/test`, {});
105
+ webhook_test: {
106
+ description: 'Tester un webhook en envoyant un événement de test.',
107
+ inputSchema: z.object({
108
+ webhookId: z.string().uuid().describe('ID du webhook à tester'),
109
+ }),
110
+ handler: async ({ webhookId }) => {
111
+ return c.post(`/webhooks/${webhookId}/test`, {});
112
+ },
111
113
  },
112
- },
113
- };
114
+ };
115
+ }
116
+ // Backward compatibility for stdio mode
117
+ export const adminTools = createAdminTools(defaultClient);
114
118
  //# sourceMappingURL=admin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/tools/admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/tools/admin.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,152 @@
1
1
  import { z } from 'zod';
2
+ import { LyrraClient } from '../client.js';
3
+ export declare function createAiDesignerTools(c: LyrraClient): {
4
+ ai_generate_plan: {
5
+ description: string;
6
+ inputSchema: z.ZodObject<{
7
+ flowId: z.ZodString;
8
+ topic: z.ZodString;
9
+ targetAudience: z.ZodOptional<z.ZodString>;
10
+ objectives: z.ZodOptional<z.ZodString>;
11
+ duration: z.ZodOptional<z.ZodString>;
12
+ context: z.ZodOptional<z.ZodString>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ flowId: string;
15
+ topic: string;
16
+ objectives?: string | undefined;
17
+ targetAudience?: string | undefined;
18
+ duration?: string | undefined;
19
+ context?: string | undefined;
20
+ }, {
21
+ flowId: string;
22
+ topic: string;
23
+ objectives?: string | undefined;
24
+ targetAudience?: string | undefined;
25
+ duration?: string | undefined;
26
+ context?: string | undefined;
27
+ }>;
28
+ handler: ({ flowId, ...data }: any) => Promise<any>;
29
+ };
30
+ ai_generate_block: {
31
+ description: string;
32
+ inputSchema: z.ZodObject<{
33
+ flowId: z.ZodString;
34
+ blockType: z.ZodString;
35
+ instructions: z.ZodString;
36
+ context: z.ZodOptional<z.ZodString>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ flowId: string;
39
+ blockType: string;
40
+ instructions: string;
41
+ context?: string | undefined;
42
+ }, {
43
+ flowId: string;
44
+ blockType: string;
45
+ instructions: string;
46
+ context?: string | undefined;
47
+ }>;
48
+ handler: ({ flowId, ...data }: any) => Promise<any>;
49
+ };
50
+ ai_generate_presentation: {
51
+ description: string;
52
+ inputSchema: z.ZodObject<{
53
+ flowId: z.ZodString;
54
+ style: z.ZodOptional<z.ZodString>;
55
+ }, "strip", z.ZodTypeAny, {
56
+ flowId: string;
57
+ style?: string | undefined;
58
+ }, {
59
+ flowId: string;
60
+ style?: string | undefined;
61
+ }>;
62
+ handler: ({ flowId, ...data }: any) => Promise<any>;
63
+ };
64
+ ai_generate_objectives: {
65
+ description: string;
66
+ inputSchema: z.ZodObject<{
67
+ flowId: z.ZodString;
68
+ }, "strip", z.ZodTypeAny, {
69
+ flowId: string;
70
+ }, {
71
+ flowId: string;
72
+ }>;
73
+ handler: ({ flowId }: {
74
+ flowId: string;
75
+ }) => Promise<any>;
76
+ };
77
+ ai_save_objectives: {
78
+ description: string;
79
+ inputSchema: z.ZodObject<{
80
+ flowId: z.ZodString;
81
+ globalObjective: z.ZodString;
82
+ steps: z.ZodArray<z.ZodObject<{
83
+ id: z.ZodString;
84
+ title: z.ZodString;
85
+ description: z.ZodOptional<z.ZodString>;
86
+ blockId: z.ZodOptional<z.ZodString>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ title: string;
89
+ id: string;
90
+ description?: string | undefined;
91
+ blockId?: string | undefined;
92
+ }, {
93
+ title: string;
94
+ id: string;
95
+ description?: string | undefined;
96
+ blockId?: string | undefined;
97
+ }>, "many">;
98
+ }, "strip", z.ZodTypeAny, {
99
+ flowId: string;
100
+ globalObjective: string;
101
+ steps: {
102
+ title: string;
103
+ id: string;
104
+ description?: string | undefined;
105
+ blockId?: string | undefined;
106
+ }[];
107
+ }, {
108
+ flowId: string;
109
+ globalObjective: string;
110
+ steps: {
111
+ title: string;
112
+ id: string;
113
+ description?: string | undefined;
114
+ blockId?: string | undefined;
115
+ }[];
116
+ }>;
117
+ handler: ({ flowId, ...objectives }: any) => Promise<any>;
118
+ };
119
+ ai_chat_message: {
120
+ description: string;
121
+ inputSchema: z.ZodObject<{
122
+ flowId: z.ZodString;
123
+ message: z.ZodString;
124
+ }, "strip", z.ZodTypeAny, {
125
+ message: string;
126
+ flowId: string;
127
+ }, {
128
+ message: string;
129
+ flowId: string;
130
+ }>;
131
+ handler: ({ flowId, message }: {
132
+ flowId: string;
133
+ message: string;
134
+ }) => Promise<any>;
135
+ };
136
+ ai_get_conversation: {
137
+ description: string;
138
+ inputSchema: z.ZodObject<{
139
+ flowId: z.ZodString;
140
+ }, "strip", z.ZodTypeAny, {
141
+ flowId: string;
142
+ }, {
143
+ flowId: string;
144
+ }>;
145
+ handler: ({ flowId }: {
146
+ flowId: string;
147
+ }) => Promise<any>;
148
+ };
149
+ };
2
150
  export declare const aiDesignerTools: {
3
151
  ai_generate_plan: {
4
152
  description: string;
@@ -1 +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"}
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;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;uCAYX,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;;EAKjD;AAGD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;uCAhFa,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;;CAQiB,CAAC"}