@hexabot-ai/api 3.2.2-alpha.14 → 3.2.2-alpha.15

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 (66) hide show
  1. package/dist/mcp/mcp-api.module.js +2 -2
  2. package/dist/mcp/mcp-api.module.js.map +1 -1
  3. package/dist/mcp/tools/catalog-mcp.tools.d.ts +63 -0
  4. package/dist/mcp/tools/catalog-mcp.tools.js +135 -0
  5. package/dist/mcp/tools/catalog-mcp.tools.js.map +1 -0
  6. package/dist/mcp/tools/cms-mcp.tools.d.ts +128 -0
  7. package/dist/mcp/tools/cms-mcp.tools.js +242 -0
  8. package/dist/mcp/tools/cms-mcp.tools.js.map +1 -0
  9. package/dist/mcp/tools/credential-mcp.tools.d.ts +19 -0
  10. package/dist/mcp/tools/credential-mcp.tools.js +82 -0
  11. package/dist/mcp/tools/credential-mcp.tools.js.map +1 -0
  12. package/dist/mcp/tools/hexabot-mcp-tool.base.d.ts +22 -0
  13. package/dist/mcp/tools/hexabot-mcp-tool.base.js +48 -0
  14. package/dist/mcp/tools/hexabot-mcp-tool.base.js.map +1 -0
  15. package/dist/mcp/tools/hexabot-mcp.schemas.d.ts +41 -0
  16. package/dist/mcp/tools/hexabot-mcp.schemas.js +36 -0
  17. package/dist/mcp/tools/hexabot-mcp.schemas.js.map +1 -0
  18. package/dist/mcp/tools/hexabot-mcp.tools.d.ts +1 -1329
  19. package/dist/mcp/tools/hexabot-mcp.tools.js +14 -1097
  20. package/dist/mcp/tools/hexabot-mcp.tools.js.map +1 -1
  21. package/dist/mcp/tools/hexabot-mcp.utils.d.ts +1 -0
  22. package/dist/mcp/tools/hexabot-mcp.utils.js +9 -0
  23. package/dist/mcp/tools/hexabot-mcp.utils.js.map +1 -0
  24. package/dist/mcp/tools/index.d.ts +22 -0
  25. package/dist/mcp/tools/index.js +50 -0
  26. package/dist/mcp/tools/index.js.map +1 -0
  27. package/dist/mcp/tools/mcp-server-mcp.tools.d.ts +77 -0
  28. package/dist/mcp/tools/mcp-server-mcp.tools.js +130 -0
  29. package/dist/mcp/tools/mcp-server-mcp.tools.js.map +1 -0
  30. package/dist/mcp/tools/memory-definition-mcp.tools.d.ts +57 -0
  31. package/dist/mcp/tools/memory-definition-mcp.tools.js +128 -0
  32. package/dist/mcp/tools/memory-definition-mcp.tools.js.map +1 -0
  33. package/dist/mcp/tools/workflow-mcp.helper.d.ts +141 -0
  34. package/dist/mcp/tools/workflow-mcp.helper.js +108 -0
  35. package/dist/mcp/tools/workflow-mcp.helper.js.map +1 -0
  36. package/dist/mcp/tools/workflow-mcp.tools.d.ts +468 -0
  37. package/dist/mcp/tools/workflow-mcp.tools.js +222 -0
  38. package/dist/mcp/tools/workflow-mcp.tools.js.map +1 -0
  39. package/dist/mcp/tools/workflow-run-mcp.tools.d.ts +347 -0
  40. package/dist/mcp/tools/workflow-run-mcp.tools.js +229 -0
  41. package/dist/mcp/tools/workflow-run-mcp.tools.js.map +1 -0
  42. package/dist/mcp/tools/workflow-version-mcp.tools.d.ts +230 -0
  43. package/dist/mcp/tools/workflow-version-mcp.tools.js +211 -0
  44. package/dist/mcp/tools/workflow-version-mcp.tools.js.map +1 -0
  45. package/dist/tsconfig.build.tsbuildinfo +1 -1
  46. package/dist/workflow/services/workflow.service.d.ts +7 -7
  47. package/dist/workflow/services/workflow.service.js +40 -35
  48. package/dist/workflow/services/workflow.service.js.map +1 -1
  49. package/package.json +4 -4
  50. package/src/mcp/README.md +12 -2
  51. package/src/mcp/mcp-api.module.ts +2 -2
  52. package/src/mcp/tools/catalog-mcp.tools.ts +122 -0
  53. package/src/mcp/tools/cms-mcp.tools.ts +239 -0
  54. package/src/mcp/tools/credential-mcp.tools.ts +81 -0
  55. package/src/mcp/tools/hexabot-mcp-tool.base.ts +74 -0
  56. package/src/mcp/tools/hexabot-mcp.schemas.ts +55 -0
  57. package/src/mcp/tools/hexabot-mcp.tools.ts +1 -1194
  58. package/src/mcp/tools/hexabot-mcp.utils.ts +13 -0
  59. package/src/mcp/tools/index.ts +51 -0
  60. package/src/mcp/tools/mcp-server-mcp.tools.ts +135 -0
  61. package/src/mcp/tools/memory-definition-mcp.tools.ts +125 -0
  62. package/src/mcp/tools/workflow-mcp.helper.ts +166 -0
  63. package/src/mcp/tools/workflow-mcp.tools.ts +254 -0
  64. package/src/mcp/tools/workflow-run-mcp.tools.ts +274 -0
  65. package/src/mcp/tools/workflow-version-mcp.tools.ts +226 -0
  66. package/src/workflow/services/workflow.service.ts +49 -29
@@ -1,1101 +1,18 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
7
15
  };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var HexabotMcpTools_1;
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.HexabotMcpTools = void 0;
14
- const agentic_1 = require("@hexabot-ai/agentic");
15
- const types_1 = require("@hexabot-ai/types");
16
- const common_1 = require("@nestjs/common");
17
- const mcp_nest_1 = require("@rekog/mcp-nest");
18
- const typeorm_1 = require("typeorm");
19
- const zod_1 = require("zod");
20
- const actions_service_1 = require("../../actions/actions.service");
21
- const runtime_bindings_service_1 = require("../../bindings/runtime-bindings.service");
22
- const content_type_service_1 = require("../../cms/services/content-type.service");
23
- const content_service_1 = require("../../cms/services/content.service");
24
- const credential_service_1 = require("../../user/services/credential.service");
25
- const trigger_event_wrapper_1 = require("../../workflow/lib/trigger-event-wrapper");
26
- const workflow_definition_1 = require("../../workflow/lib/workflow-definition");
27
- const agentic_service_1 = require("../../workflow/services/agentic.service");
28
- const mcp_server_service_1 = require("../../workflow/services/mcp-server.service");
29
- const memory_definition_service_1 = require("../../workflow/services/memory-definition.service");
30
- const workflow_run_service_1 = require("../../workflow/services/workflow-run.service");
31
- const workflow_version_service_1 = require("../../workflow/services/workflow-version.service");
32
- const workflow_service_1 = require("../../workflow/services/workflow.service");
33
- const types_2 = require("../../workflow/types");
34
- const mcp_permission_decorator_1 = require("../decorators/mcp-permission.decorator");
35
- const mcp_permission_guard_1 = require("../guards/mcp-permission.guard");
36
- const uuidSchema = zod_1.z.string().uuid();
37
- const jsonObjectSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.unknown());
38
- const paginationSchema = {
39
- limit: zod_1.z.number().int().min(1).max(100).default(20),
40
- skip: zod_1.z.number().int().min(0).default(0),
41
- sortBy: zod_1.z.string().default('createdAt'),
42
- sortDirection: zod_1.z.enum(['ASC', 'DESC']).default('DESC'),
43
- };
44
- const workflowPayloadSchema = {
45
- name: zod_1.z.string().min(1).optional(),
46
- description: zod_1.z.string().optional(),
47
- type: zod_1.z.enum(types_2.WorkflowType).optional(),
48
- schedule: zod_1.z.string().nullable().optional(),
49
- inputSchema: jsonObjectSchema.optional(),
50
- builtin: zod_1.z.boolean().optional(),
51
- x: zod_1.z.number().optional(),
52
- y: zod_1.z.number().optional(),
53
- zoom: zod_1.z.number().optional(),
54
- direction: zod_1.z.enum(types_2.DirectionType).optional(),
55
- };
56
- const mcpServerPayloadSchema = {
57
- name: zod_1.z.string().min(1).optional(),
58
- enabled: zod_1.z.boolean().optional(),
59
- transport: zod_1.z.enum(types_2.McpServerTransport).optional(),
60
- url: zod_1.z.string().nullable().optional(),
61
- command: zod_1.z.string().nullable().optional(),
62
- args: zod_1.z.array(zod_1.z.string()).nullable().optional(),
63
- cwd: zod_1.z.string().nullable().optional(),
64
- credential: uuidSchema.nullable().optional(),
65
- };
66
- let HexabotMcpTools = HexabotMcpTools_1 = class HexabotMcpTools {
67
- constructor(workflowService, workflowVersionService, workflowRunService, agenticService, memoryDefinitionService, actionService, runtimeBindingsService, credentialService, contentTypeService, contentService, mcpServerService) {
68
- this.workflowService = workflowService;
69
- this.workflowVersionService = workflowVersionService;
70
- this.workflowRunService = workflowRunService;
71
- this.agenticService = agenticService;
72
- this.memoryDefinitionService = memoryDefinitionService;
73
- this.actionService = actionService;
74
- this.runtimeBindingsService = runtimeBindingsService;
75
- this.credentialService = credentialService;
76
- this.contentTypeService = contentTypeService;
77
- this.contentService = contentService;
78
- this.mcpServerService = mcpServerService;
79
- }
80
- async searchWorkflows(args) {
81
- const where = this.buildWorkflowWhere(args);
82
- const options = this.findOptions(args, where);
83
- return await this.listWithCount(this.workflowService, options);
84
- }
85
- async getWorkflow(args) {
86
- return await this.requireWorkflow(args.id);
87
- }
88
- async createWorkflow(args, _context, request) {
89
- const actorId = this.getActorId(request);
90
- const { definitionYml, versionMessage, ...workflowPayload } = args;
91
- const workflow = await this.workflowService.create({
92
- ...workflowPayload,
93
- createdBy: actorId,
94
- });
95
- if (definitionYml) {
96
- await this.commitWorkflowDefinition({
97
- workflowId: workflow.id,
98
- definitionYml,
99
- message: versionMessage,
100
- action: types_2.WorkflowVersionAction.update,
101
- createdBy: actorId,
102
- });
103
- }
104
- return await this.requireWorkflow(workflow.id);
105
- }
106
- async updateWorkflow(args, _context, request) {
107
- const actorId = this.getActorId(request);
108
- const { id, definitionYml, versionMessage, ...updates } = args;
109
- await this.requireWorkflow(id);
110
- if (Object.keys(updates).length > 0) {
111
- await this.workflowService.updateOne(id, updates);
112
- }
113
- if (definitionYml) {
114
- await this.commitWorkflowDefinition({
115
- workflowId: id,
116
- definitionYml,
117
- message: versionMessage,
118
- action: types_2.WorkflowVersionAction.update,
119
- createdBy: actorId,
120
- });
121
- }
122
- return await this.requireWorkflow(id);
123
- }
124
- async commitWorkflowYaml(args, _context, request) {
125
- const actorId = this.getActorId(request);
126
- return await this.commitWorkflowDefinition({
127
- ...args,
128
- createdBy: actorId,
129
- });
130
- }
131
- async validateWorkflowYaml(args) {
132
- const validateActions = args.validateActions ?? true;
133
- const validation = (0, agentic_1.validateWorkflow)(args.definitionYml, {
134
- bindingKinds: this.runtimeBindingsService.getRegistry(),
135
- ...(validateActions
136
- ? { actions: this.getWorkflowValidationActions() }
137
- : {}),
138
- });
139
- if (!validation.success) {
140
- return { valid: false, errors: validation.errors };
141
- }
142
- return { valid: true, errors: [], definition: validation.data };
143
- }
144
- async searchWorkflowVersions(args) {
145
- const where = { workflow: { id: args.workflowId } };
146
- return await this.listWithCount(this.workflowVersionService, this.findOptions(args, where));
147
- }
148
- async getWorkflowVersion(args) {
149
- const version = await this.workflowVersionService.findOneAndPopulate({
150
- where: {
151
- id: args.id,
152
- ...(args.workflowId ? { workflow: { id: args.workflowId } } : {}),
153
- },
154
- });
155
- if (!version) {
156
- throw new common_1.NotFoundException(`Workflow version ${args.id} not found`);
157
- }
158
- return version;
159
- }
160
- async updateWorkflowVersion(args) {
161
- return await this.workflowVersionService.updateOne(args.id, {
162
- message: args.message ?? undefined,
163
- });
164
- }
165
- async restoreWorkflowVersion(args, _context, request) {
166
- return await this.workflowVersionService.restoreVersion(args.workflowId, args.versionId, {
167
- updatedBy: this.getActorId(request),
168
- message: args.message,
169
- });
170
- }
171
- async publishWorkflow(args) {
172
- const workflow = await this.workflowService.findOne(args.id);
173
- if (!workflow) {
174
- throw new common_1.NotFoundException(`Workflow ${args.id} not found`);
175
- }
176
- if (!workflow.currentVersion) {
177
- throw new common_1.BadRequestException('Workflow must have a current version to be published');
178
- }
179
- await this.workflowService.updateOne(args.id, {
180
- publishedVersion: workflow.currentVersion,
181
- });
182
- return await this.requireWorkflow(args.id);
183
- }
184
- async unpublishWorkflow(args) {
185
- await this.requireWorkflow(args.id);
186
- await this.workflowService.updateOne(args.id, { publishedVersion: null });
187
- return await this.requireWorkflow(args.id);
188
- }
189
- async runWorkflow(args, _context, request) {
190
- const actor = this.getActor(request);
191
- const workflow = await this.workflowService.findOne(args.workflowId);
192
- if (!workflow) {
193
- throw new common_1.NotFoundException(`Workflow ${args.workflowId} not found`);
194
- }
195
- if (workflow.type !== types_2.WorkflowType.manual &&
196
- workflow.type !== types_2.WorkflowType.scheduled) {
197
- throw new common_1.BadRequestException('Workflow must be manual or scheduled to run manually');
198
- }
199
- const event = workflow.type === types_2.WorkflowType.scheduled
200
- ? new trigger_event_wrapper_1.ScheduledEventWrapper({
201
- schedule: workflow.schedule ?? null,
202
- triggeredAt: new Date(),
203
- })
204
- : new trigger_event_wrapper_1.ManualEventWrapper(this.workflowService.validateManualInput(args.input ?? {}, workflow.inputSchema), actor.id);
205
- event.setInitiator(actor);
206
- event.setWorkflowId(workflow.id);
207
- const run = await this.agenticService.handleEvent(event);
208
- return { accepted: true, run };
209
- }
210
- async searchWorkflowRuns(args) {
211
- const where = {
212
- ...(args.workflowId ? { workflow: { id: args.workflowId } } : {}),
213
- ...(args.status ? { status: args.status } : {}),
214
- };
215
- return await this.listWithCount(this.workflowRunService, this.findOptions(args, where));
216
- }
217
- async getWorkflowRun(args) {
218
- const run = await this.workflowRunService.findOneAndPopulate(args.id);
219
- if (!run) {
220
- throw new common_1.NotFoundException(`Workflow run ${args.id} not found`);
221
- }
222
- return run;
223
- }
224
- async searchMemoryDefinitions(args) {
225
- const base = args.scope ? { scope: args.scope } : {};
226
- const where = args.query
227
- ? [
228
- { ...base, name: this.contains(args.query) },
229
- { ...base, slug: this.contains(args.query) },
230
- ]
231
- : base;
232
- return await this.listWithCount(this.memoryDefinitionService, this.findOptions(args, where));
233
- }
234
- async getMemoryDefinition(args) {
235
- const definition = await this.memoryDefinitionService.findOne(args.id);
236
- if (!definition) {
237
- throw new common_1.NotFoundException(`Memory definition ${args.id} not found`);
238
- }
239
- return definition;
240
- }
241
- async createMemoryDefinition(args) {
242
- return await this.memoryDefinitionService.create(args);
243
- }
244
- async updateMemoryDefinition(args) {
245
- const { id, ...updates } = args;
246
- return await this.memoryDefinitionService.updateOne(id, updates);
247
- }
248
- async searchActions(args) {
249
- const query = args.query?.toLowerCase();
250
- const actions = this.actionService.getAllSchemaDefinitions(args.workflowType);
251
- return {
252
- items: query
253
- ? actions.filter((action) => [
254
- action.name,
255
- action.description,
256
- action.group,
257
- ...(action.workflowTypes ?? []),
258
- ]
259
- .filter(Boolean)
260
- .some((value) => `${value}`.toLowerCase().includes(query)))
261
- : actions,
262
- };
263
- }
264
- async getAction(args) {
265
- const action = this.actionService
266
- .getAllSchemaDefinitions()
267
- .find((entry) => entry.name === args.name);
268
- if (!action) {
269
- throw new common_1.NotFoundException(`Action ${args.name} not found`);
270
- }
271
- return action;
272
- }
273
- async searchBindings(args) {
274
- const query = args.query?.toLowerCase();
275
- const entries = Object.entries(this.runtimeBindingsService.getAllSchemaDefinitions()).map(([kind, definition]) => ({ kind, ...definition }));
276
- return {
277
- items: query
278
- ? entries.filter((entry) => [entry.kind, entry.icon, entry.color]
279
- .filter(Boolean)
280
- .some((value) => `${value}`.toLowerCase().includes(query)))
281
- : entries,
282
- };
283
- }
284
- async getBinding(args) {
285
- const bindings = this.runtimeBindingsService.getAllSchemaDefinitions();
286
- const binding = bindings[args.kind];
287
- if (!binding) {
288
- throw new common_1.NotFoundException(`Binding kind ${args.kind} not found`);
289
- }
290
- return { kind: args.kind, ...binding };
291
- }
292
- async searchCredentials(args) {
293
- const where = {
294
- ...(args.ownerId ? { owner: { id: args.ownerId } } : {}),
295
- ...(args.query ? { name: this.contains(args.query) } : {}),
296
- };
297
- const result = await this.listWithCount(this.credentialService, this.findOptions(args, where));
298
- return {
299
- ...result,
300
- items: result.items.map(HexabotMcpTools_1.sanitizeCredential),
301
- };
302
- }
303
- async getCredential(args) {
304
- const credential = await this.credentialService.findOneAndPopulate(args.id);
305
- if (!credential) {
306
- throw new common_1.NotFoundException(`Credential ${args.id} not found`);
307
- }
308
- return HexabotMcpTools_1.sanitizeCredential(credential);
309
- }
310
- async searchMcpServers(args) {
311
- const base = {
312
- ...(args.enabled !== undefined ? { enabled: args.enabled } : {}),
313
- ...(args.transport ? { transport: args.transport } : {}),
314
- ...(args.credentialId ? { credential: { id: args.credentialId } } : {}),
315
- };
316
- const where = args.query
317
- ? [
318
- { ...base, name: this.contains(args.query) },
319
- { ...base, url: this.contains(args.query) },
320
- { ...base, command: this.contains(args.query) },
321
- ]
322
- : base;
323
- return await this.listWithCount(this.mcpServerService, this.findOptions(args, where));
324
- }
325
- async getMcpServer(args) {
326
- const server = await this.mcpServerService.findOneAndPopulate(args.id);
327
- if (!server) {
328
- throw new common_1.NotFoundException(`MCP server ${args.id} not found`);
329
- }
330
- return server;
331
- }
332
- async createMcpServer(args) {
333
- return await this.mcpServerService.create({
334
- enabled: true,
335
- transport: types_2.McpServerTransport.http,
336
- ...args,
337
- });
338
- }
339
- async updateMcpServer(args) {
340
- const { id, ...updates } = args;
341
- await this.getMcpServer({ id });
342
- return await this.mcpServerService.updateOne(id, updates);
343
- }
344
- async searchContentTypes(args) {
345
- const where = args.query ? { name: this.contains(args.query) } : {};
346
- return await this.listWithCount(this.contentTypeService, this.findOptions(args, where));
347
- }
348
- async getContentType(args) {
349
- const contentType = await this.contentTypeService.findOne(args.id);
350
- if (!contentType) {
351
- throw new common_1.NotFoundException(`Content type ${args.id} not found`);
352
- }
353
- return contentType;
354
- }
355
- async createContentType(args) {
356
- return await this.contentTypeService.create(args);
357
- }
358
- async updateContentType(args) {
359
- const { id, ...updates } = args;
360
- return await this.contentTypeService.updateOne(id, updates);
361
- }
362
- async searchContent(args) {
363
- if (args.query) {
364
- return {
365
- items: await this.contentService.textSearch(args.query, {
366
- status: args.status,
367
- contentTypeId: args.contentTypeId,
368
- limit: args.limit,
369
- }),
370
- limit: args.limit,
371
- skip: 0,
372
- };
373
- }
374
- const where = {
375
- ...(args.contentTypeId
376
- ? { contentType: { id: args.contentTypeId } }
377
- : {}),
378
- ...(args.status !== undefined ? { status: args.status } : {}),
379
- };
380
- return await this.listWithCount(this.contentService, this.findOptions(args, where));
381
- }
382
- async getContent(args) {
383
- const content = await this.contentService.findOneAndPopulate(args.id);
384
- if (!content) {
385
- throw new common_1.NotFoundException(`Content ${args.id} not found`);
386
- }
387
- return content;
388
- }
389
- async createContent(args) {
390
- return await this.contentService.create(args);
391
- }
392
- async updateContent(args) {
393
- const { id, ...updates } = args;
394
- return await this.contentService.updateOne(id, updates);
395
- }
396
- async searchRagContent(args) {
397
- return {
398
- items: await this.contentService.retrieve(args.query, {
399
- mode: args.mode,
400
- limit: args.limit,
401
- contentTypeId: args.contentTypeId,
402
- includeInactive: args.includeInactive,
403
- }),
404
- };
405
- }
406
- static sanitizeCredential(credential) {
407
- const { value: _value, ...safeCredential } = credential;
408
- return safeCredential;
409
- }
410
- buildWorkflowWhere(args) {
411
- const base = {
412
- ...(args.type ? { type: args.type } : {}),
413
- ...(args.createdById ? { createdBy: { id: args.createdById } } : {}),
414
- };
415
- return args.query
416
- ? [
417
- { ...base, name: this.contains(args.query) },
418
- { ...base, description: this.contains(args.query) },
419
- ]
420
- : base;
421
- }
422
- async requireWorkflow(id) {
423
- const workflow = await this.workflowService.findOneAndPopulate(id);
424
- if (!workflow) {
425
- throw new common_1.NotFoundException(`Workflow ${id} not found`);
426
- }
427
- return workflow;
428
- }
429
- async commitWorkflowDefinition(params) {
430
- await this.requireWorkflow(params.workflowId);
431
- try {
432
- (0, workflow_definition_1.parseWorkflowDefinition)(params.definitionYml);
433
- }
434
- catch (error) {
435
- throw new common_1.BadRequestException(error instanceof Error ? error.message : 'Invalid workflow YAML');
436
- }
437
- const payload = {
438
- workflow: params.workflowId,
439
- definitionYml: params.definitionYml,
440
- message: params.message ?? undefined,
441
- parentVersion: params.parentVersion ?? undefined,
442
- action: params.action ?? types_2.WorkflowVersionAction.update,
443
- createdBy: params.createdBy,
444
- };
445
- return await this.workflowVersionService.commit(payload);
446
- }
447
- findOptions(args, where) {
448
- return {
449
- where,
450
- take: args.limit,
451
- skip: args.skip,
452
- order: { [args.sortBy]: args.sortDirection },
453
- };
454
- }
455
- async listWithCount(service, options) {
456
- const [items, total] = await Promise.all([
457
- service.findAndPopulate(options),
458
- service.count({ where: options.where }),
459
- ]);
460
- return {
461
- items,
462
- total,
463
- limit: options.take,
464
- skip: options.skip,
465
- };
466
- }
467
- contains(value) {
468
- return (0, typeorm_1.Like)(`%${value}%`);
469
- }
470
- getWorkflowValidationActions() {
471
- return Object.fromEntries(Object.entries(this.actionService.getRegistry()).map(([actionName, action]) => [
472
- actionName,
473
- { supportedBindings: action.supportedBindings ?? [] },
474
- ]));
475
- }
476
- getActor(request) {
477
- const actor = request?.hexabotUser ?? request?.user;
478
- if (!actor?.id) {
479
- throw new common_1.UnauthorizedException('MCP Hexabot user is required');
480
- }
481
- return actor;
482
- }
483
- getActorId(request) {
484
- return this.getActor(request).id;
485
- }
486
- };
487
- exports.HexabotMcpTools = HexabotMcpTools;
488
- __decorate([
489
- (0, mcp_permission_decorator_1.McpPermission)('workflow', types_1.Action.READ),
490
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
491
- (0, mcp_nest_1.Tool)({
492
- name: 'hexabot_workflow_search',
493
- description: 'Search Hexabot workflows by metadata.',
494
- parameters: zod_1.z.object({
495
- query: zod_1.z.string().optional(),
496
- type: zod_1.z.enum(types_2.WorkflowType).optional(),
497
- createdById: uuidSchema.optional(),
498
- ...paginationSchema,
499
- }),
500
- }),
501
- __metadata("design:type", Function),
502
- __metadata("design:paramtypes", [Object]),
503
- __metadata("design:returntype", Promise)
504
- ], HexabotMcpTools.prototype, "searchWorkflows", null);
505
- __decorate([
506
- (0, mcp_permission_decorator_1.McpPermission)('workflow', types_1.Action.READ),
507
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
508
- (0, mcp_nest_1.Tool)({
509
- name: 'hexabot_workflow_get',
510
- description: 'Read a Hexabot workflow with populated version metadata.',
511
- parameters: zod_1.z.object({
512
- id: uuidSchema,
513
- }),
514
- }),
515
- __metadata("design:type", Function),
516
- __metadata("design:paramtypes", [Object]),
517
- __metadata("design:returntype", Promise)
518
- ], HexabotMcpTools.prototype, "getWorkflow", null);
519
- __decorate([
520
- (0, mcp_permission_decorator_1.McpPermission)('workflow', types_1.Action.CREATE),
521
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
522
- (0, mcp_nest_1.Tool)({
523
- name: 'hexabot_workflow_create',
524
- description: 'Create a Hexabot workflow. Optionally commit an initial workflow definition YAML.',
525
- parameters: zod_1.z.object({
526
- ...workflowPayloadSchema,
527
- name: zod_1.z.string().min(1),
528
- definitionYml: zod_1.z.string().optional(),
529
- versionMessage: zod_1.z.string().optional(),
530
- }),
531
- }),
532
- __metadata("design:type", Function),
533
- __metadata("design:paramtypes", [Object, Object, Object]),
534
- __metadata("design:returntype", Promise)
535
- ], HexabotMcpTools.prototype, "createWorkflow", null);
536
- __decorate([
537
- (0, mcp_permission_decorator_1.McpPermission)('workflow', types_1.Action.UPDATE),
538
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
539
- (0, mcp_nest_1.Tool)({
540
- name: 'hexabot_workflow_update',
541
- description: 'Update workflow metadata. Optionally commit a new workflow definition YAML version.',
542
- parameters: zod_1.z.object({
543
- id: uuidSchema,
544
- ...workflowPayloadSchema,
545
- definitionYml: zod_1.z.string().optional(),
546
- versionMessage: zod_1.z.string().optional(),
547
- }),
548
- }),
549
- __metadata("design:type", Function),
550
- __metadata("design:paramtypes", [Object, Object, Object]),
551
- __metadata("design:returntype", Promise)
552
- ], HexabotMcpTools.prototype, "updateWorkflow", null);
553
- __decorate([
554
- (0, mcp_permission_decorator_1.McpPermission)('workflowversion', types_1.Action.CREATE),
555
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
556
- (0, mcp_nest_1.Tool)({
557
- name: 'hexabot_workflow_yaml_commit',
558
- description: 'Validate and commit workflow definition YAML as a new version.',
559
- parameters: zod_1.z.object({
560
- workflowId: uuidSchema,
561
- definitionYml: zod_1.z.string().min(1),
562
- message: zod_1.z.string().optional(),
563
- parentVersion: uuidSchema.nullable().optional(),
564
- action: zod_1.z
565
- .enum(types_2.WorkflowVersionAction)
566
- .default(types_2.WorkflowVersionAction.update),
567
- }),
568
- }),
569
- __metadata("design:type", Function),
570
- __metadata("design:paramtypes", [Object, Object, Object]),
571
- __metadata("design:returntype", Promise)
572
- ], HexabotMcpTools.prototype, "commitWorkflowYaml", null);
573
- __decorate([
574
- (0, mcp_permission_decorator_1.McpPermission)('workflow', types_1.Action.READ),
575
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
576
- (0, mcp_nest_1.Tool)({
577
- name: 'hexabot_workflow_yaml_validate',
578
- description: 'Validate workflow definition YAML without creating a workflow version.',
579
- parameters: zod_1.z.object({
580
- definitionYml: zod_1.z.string().min(1),
581
- validateActions: zod_1.z.boolean().default(true),
582
- }),
583
- }),
584
- __metadata("design:type", Function),
585
- __metadata("design:paramtypes", [Object]),
586
- __metadata("design:returntype", Promise)
587
- ], HexabotMcpTools.prototype, "validateWorkflowYaml", null);
588
- __decorate([
589
- (0, mcp_permission_decorator_1.McpPermission)('workflowversion', types_1.Action.READ),
590
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
591
- (0, mcp_nest_1.Tool)({
592
- name: 'hexabot_workflow_version_search',
593
- description: 'List workflow definition YAML versions for a workflow.',
594
- parameters: zod_1.z.object({
595
- workflowId: uuidSchema,
596
- ...paginationSchema,
597
- sortBy: zod_1.z.string().default('version'),
598
- sortDirection: zod_1.z.enum(['ASC', 'DESC']).default('DESC'),
599
- }),
600
- }),
601
- __metadata("design:type", Function),
602
- __metadata("design:paramtypes", [Object]),
603
- __metadata("design:returntype", Promise)
604
- ], HexabotMcpTools.prototype, "searchWorkflowVersions", null);
605
- __decorate([
606
- (0, mcp_permission_decorator_1.McpPermission)('workflowversion', types_1.Action.READ),
607
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
608
- (0, mcp_nest_1.Tool)({
609
- name: 'hexabot_workflow_version_get',
610
- description: 'Read one workflow definition YAML version.',
611
- parameters: zod_1.z.object({
612
- id: uuidSchema,
613
- workflowId: uuidSchema.optional(),
614
- }),
615
- }),
616
- __metadata("design:type", Function),
617
- __metadata("design:paramtypes", [Object]),
618
- __metadata("design:returntype", Promise)
619
- ], HexabotMcpTools.prototype, "getWorkflowVersion", null);
620
- __decorate([
621
- (0, mcp_permission_decorator_1.McpPermission)('workflowversion', types_1.Action.UPDATE),
622
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
623
- (0, mcp_nest_1.Tool)({
624
- name: 'hexabot_workflow_version_update',
625
- description: 'Update workflow version metadata such as the version message.',
626
- parameters: zod_1.z.object({
627
- id: uuidSchema,
628
- message: zod_1.z.string().nullable().optional(),
629
- }),
630
- }),
631
- __metadata("design:type", Function),
632
- __metadata("design:paramtypes", [Object]),
633
- __metadata("design:returntype", Promise)
634
- ], HexabotMcpTools.prototype, "updateWorkflowVersion", null);
635
- __decorate([
636
- (0, mcp_permission_decorator_1.McpPermission)('workflowversion', types_1.Action.CREATE),
637
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
638
- (0, mcp_nest_1.Tool)({
639
- name: 'hexabot_workflow_version_restore',
640
- description: 'Restore a workflow to a previous YAML version by creating a new restore snapshot.',
641
- parameters: zod_1.z.object({
642
- workflowId: uuidSchema,
643
- versionId: uuidSchema,
644
- message: zod_1.z.string().optional(),
645
- }),
646
- }),
647
- __metadata("design:type", Function),
648
- __metadata("design:paramtypes", [Object, Object, Object]),
649
- __metadata("design:returntype", Promise)
650
- ], HexabotMcpTools.prototype, "restoreWorkflowVersion", null);
651
- __decorate([
652
- (0, mcp_permission_decorator_1.McpPermission)('workflow', types_1.Action.UPDATE),
653
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
654
- (0, mcp_nest_1.Tool)({
655
- name: 'hexabot_workflow_publish',
656
- description: 'Publish the current workflow version.',
657
- parameters: zod_1.z.object({
658
- id: uuidSchema,
659
- }),
660
- }),
661
- __metadata("design:type", Function),
662
- __metadata("design:paramtypes", [Object]),
663
- __metadata("design:returntype", Promise)
664
- ], HexabotMcpTools.prototype, "publishWorkflow", null);
665
- __decorate([
666
- (0, mcp_permission_decorator_1.McpPermission)('workflow', types_1.Action.UPDATE),
667
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
668
- (0, mcp_nest_1.Tool)({
669
- name: 'hexabot_workflow_unpublish',
670
- description: 'Clear the published workflow version.',
671
- parameters: zod_1.z.object({
672
- id: uuidSchema,
673
- }),
674
- }),
675
- __metadata("design:type", Function),
676
- __metadata("design:paramtypes", [Object]),
677
- __metadata("design:returntype", Promise)
678
- ], HexabotMcpTools.prototype, "unpublishWorkflow", null);
679
- __decorate([
680
- (0, mcp_permission_decorator_1.McpPermission)('workflowrun', types_1.Action.CREATE),
681
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
682
- (0, mcp_nest_1.Tool)({
683
- name: 'hexabot_workflow_run',
684
- description: 'Run a manual or scheduled workflow and return the run summary.',
685
- parameters: zod_1.z.object({
686
- workflowId: uuidSchema,
687
- input: jsonObjectSchema.default({}),
688
- }),
689
- }),
690
- __metadata("design:type", Function),
691
- __metadata("design:paramtypes", [Object, Object, Object]),
692
- __metadata("design:returntype", Promise)
693
- ], HexabotMcpTools.prototype, "runWorkflow", null);
694
- __decorate([
695
- (0, mcp_permission_decorator_1.McpPermission)('workflowrun', types_1.Action.READ),
696
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
697
- (0, mcp_nest_1.Tool)({
698
- name: 'hexabot_workflow_run_search',
699
- description: 'Search workflow runs by workflow and status.',
700
- parameters: zod_1.z.object({
701
- workflowId: uuidSchema.optional(),
702
- status: zod_1.z.string().optional(),
703
- ...paginationSchema,
704
- }),
705
- }),
706
- __metadata("design:type", Function),
707
- __metadata("design:paramtypes", [Object]),
708
- __metadata("design:returntype", Promise)
709
- ], HexabotMcpTools.prototype, "searchWorkflowRuns", null);
710
- __decorate([
711
- (0, mcp_permission_decorator_1.McpPermission)('workflowrun', types_1.Action.READ),
712
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
713
- (0, mcp_nest_1.Tool)({
714
- name: 'hexabot_workflow_run_get',
715
- description: 'Read one workflow run with populated workflow metadata.',
716
- parameters: zod_1.z.object({
717
- id: uuidSchema,
718
- }),
719
- }),
720
- __metadata("design:type", Function),
721
- __metadata("design:paramtypes", [Object]),
722
- __metadata("design:returntype", Promise)
723
- ], HexabotMcpTools.prototype, "getWorkflowRun", null);
724
- __decorate([
725
- (0, mcp_permission_decorator_1.McpPermission)('memorydefinition', types_1.Action.READ),
726
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
727
- (0, mcp_nest_1.Tool)({
728
- name: 'hexabot_memory_definition_search',
729
- description: 'Search workflow memory definitions.',
730
- parameters: zod_1.z.object({
731
- query: zod_1.z.string().optional(),
732
- scope: zod_1.z.enum(types_2.MemoryScope).optional(),
733
- ...paginationSchema,
734
- }),
735
- }),
736
- __metadata("design:type", Function),
737
- __metadata("design:paramtypes", [Object]),
738
- __metadata("design:returntype", Promise)
739
- ], HexabotMcpTools.prototype, "searchMemoryDefinitions", null);
740
- __decorate([
741
- (0, mcp_permission_decorator_1.McpPermission)('memorydefinition', types_1.Action.READ),
742
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
743
- (0, mcp_nest_1.Tool)({
744
- name: 'hexabot_memory_definition_get',
745
- description: 'Read one workflow memory definition.',
746
- parameters: zod_1.z.object({
747
- id: uuidSchema,
748
- }),
749
- }),
750
- __metadata("design:type", Function),
751
- __metadata("design:paramtypes", [Object]),
752
- __metadata("design:returntype", Promise)
753
- ], HexabotMcpTools.prototype, "getMemoryDefinition", null);
754
- __decorate([
755
- (0, mcp_permission_decorator_1.McpPermission)('memorydefinition', types_1.Action.CREATE),
756
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
757
- (0, mcp_nest_1.Tool)({
758
- name: 'hexabot_memory_definition_create',
759
- description: 'Create a workflow memory definition.',
760
- parameters: zod_1.z.object({
761
- name: zod_1.z.string().min(1),
762
- slug: zod_1.z.string().regex(/^[a-z0-9_]+$/),
763
- scope: zod_1.z.enum(types_2.MemoryScope),
764
- schema: jsonObjectSchema,
765
- ttlSeconds: zod_1.z.number().int().min(1).nullable().optional(),
766
- }),
767
- }),
768
- __metadata("design:type", Function),
769
- __metadata("design:paramtypes", [Object]),
770
- __metadata("design:returntype", Promise)
771
- ], HexabotMcpTools.prototype, "createMemoryDefinition", null);
772
- __decorate([
773
- (0, mcp_permission_decorator_1.McpPermission)('memorydefinition', types_1.Action.UPDATE),
774
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
775
- (0, mcp_nest_1.Tool)({
776
- name: 'hexabot_memory_definition_update',
777
- description: 'Update a workflow memory definition.',
778
- parameters: zod_1.z.object({
779
- id: uuidSchema,
780
- name: zod_1.z.string().min(1).optional(),
781
- slug: zod_1.z
782
- .string()
783
- .regex(/^[a-z0-9_]+$/)
784
- .optional(),
785
- scope: zod_1.z.enum(types_2.MemoryScope).optional(),
786
- schema: jsonObjectSchema.optional(),
787
- ttlSeconds: zod_1.z.number().int().min(1).nullable().optional(),
788
- }),
789
- }),
790
- __metadata("design:type", Function),
791
- __metadata("design:paramtypes", [Object]),
792
- __metadata("design:returntype", Promise)
793
- ], HexabotMcpTools.prototype, "updateMemoryDefinition", null);
794
- __decorate([
795
- (0, mcp_permission_decorator_1.McpPermission)('workflow', types_1.Action.READ),
796
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
797
- (0, mcp_nest_1.Tool)({
798
- name: 'hexabot_action_search',
799
- description: 'Search available workflow actions and their schemas.',
800
- parameters: zod_1.z.object({
801
- query: zod_1.z.string().optional(),
802
- workflowType: zod_1.z.enum(types_2.WorkflowType).optional(),
803
- }),
804
- }),
805
- __metadata("design:type", Function),
806
- __metadata("design:paramtypes", [Object]),
807
- __metadata("design:returntype", Promise)
808
- ], HexabotMcpTools.prototype, "searchActions", null);
809
- __decorate([
810
- (0, mcp_permission_decorator_1.McpPermission)('workflow', types_1.Action.READ),
811
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
812
- (0, mcp_nest_1.Tool)({
813
- name: 'hexabot_action_get',
814
- description: 'Read schema metadata for one workflow action.',
815
- parameters: zod_1.z.object({
816
- name: zod_1.z.string().min(1),
817
- }),
818
- }),
819
- __metadata("design:type", Function),
820
- __metadata("design:paramtypes", [Object]),
821
- __metadata("design:returntype", Promise)
822
- ], HexabotMcpTools.prototype, "getAction", null);
823
- __decorate([
824
- (0, mcp_permission_decorator_1.McpPermission)('workflow', types_1.Action.READ),
825
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
826
- (0, mcp_nest_1.Tool)({
827
- name: 'hexabot_binding_search',
828
- description: 'Search workflow runtime binding kind schemas.',
829
- parameters: zod_1.z.object({
830
- query: zod_1.z.string().optional(),
831
- }),
832
- }),
833
- __metadata("design:type", Function),
834
- __metadata("design:paramtypes", [Object]),
835
- __metadata("design:returntype", Promise)
836
- ], HexabotMcpTools.prototype, "searchBindings", null);
837
- __decorate([
838
- (0, mcp_permission_decorator_1.McpPermission)('workflow', types_1.Action.READ),
839
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
840
- (0, mcp_nest_1.Tool)({
841
- name: 'hexabot_binding_get',
842
- description: 'Read schema metadata for one workflow runtime binding kind.',
843
- parameters: zod_1.z.object({
844
- kind: zod_1.z.string().min(1),
845
- }),
846
- }),
847
- __metadata("design:type", Function),
848
- __metadata("design:paramtypes", [Object]),
849
- __metadata("design:returntype", Promise)
850
- ], HexabotMcpTools.prototype, "getBinding", null);
851
- __decorate([
852
- (0, mcp_permission_decorator_1.McpPermission)('credential', types_1.Action.READ),
853
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
854
- (0, mcp_nest_1.Tool)({
855
- name: 'hexabot_credential_search',
856
- description: 'Search credentials by metadata only. Secret credential values are never returned.',
857
- parameters: zod_1.z.object({
858
- query: zod_1.z.string().optional(),
859
- ownerId: uuidSchema.optional(),
860
- ...paginationSchema,
861
- }),
862
- }),
863
- __metadata("design:type", Function),
864
- __metadata("design:paramtypes", [Object]),
865
- __metadata("design:returntype", Promise)
866
- ], HexabotMcpTools.prototype, "searchCredentials", null);
867
- __decorate([
868
- (0, mcp_permission_decorator_1.McpPermission)('credential', types_1.Action.READ),
869
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
870
- (0, mcp_nest_1.Tool)({
871
- name: 'hexabot_credential_get',
872
- description: 'Read credential metadata. Secret credential values are never returned.',
873
- parameters: zod_1.z.object({
874
- id: uuidSchema,
875
- }),
876
- }),
877
- __metadata("design:type", Function),
878
- __metadata("design:paramtypes", [Object]),
879
- __metadata("design:returntype", Promise)
880
- ], HexabotMcpTools.prototype, "getCredential", null);
881
- __decorate([
882
- (0, mcp_permission_decorator_1.McpPermission)('mcpserver', types_1.Action.READ),
883
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
884
- (0, mcp_nest_1.Tool)({
885
- name: 'hexabot_mcp_server_search',
886
- description: 'Search configured MCP servers.',
887
- parameters: zod_1.z.object({
888
- query: zod_1.z.string().optional(),
889
- enabled: zod_1.z.boolean().optional(),
890
- transport: zod_1.z.enum(types_2.McpServerTransport).optional(),
891
- credentialId: uuidSchema.optional(),
892
- ...paginationSchema,
893
- }),
894
- }),
895
- __metadata("design:type", Function),
896
- __metadata("design:paramtypes", [Object]),
897
- __metadata("design:returntype", Promise)
898
- ], HexabotMcpTools.prototype, "searchMcpServers", null);
899
- __decorate([
900
- (0, mcp_permission_decorator_1.McpPermission)('mcpserver', types_1.Action.READ),
901
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
902
- (0, mcp_nest_1.Tool)({
903
- name: 'hexabot_mcp_server_get',
904
- description: 'Read one configured MCP server.',
905
- parameters: zod_1.z.object({
906
- id: uuidSchema,
907
- }),
908
- }),
909
- __metadata("design:type", Function),
910
- __metadata("design:paramtypes", [Object]),
911
- __metadata("design:returntype", Promise)
912
- ], HexabotMcpTools.prototype, "getMcpServer", null);
913
- __decorate([
914
- (0, mcp_permission_decorator_1.McpPermission)('mcpserver', types_1.Action.CREATE),
915
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
916
- (0, mcp_nest_1.Tool)({
917
- name: 'hexabot_mcp_server_create',
918
- description: 'Create an MCP server configuration.',
919
- parameters: zod_1.z.object({
920
- ...mcpServerPayloadSchema,
921
- name: zod_1.z.string().min(1),
922
- }),
923
- }),
924
- __metadata("design:type", Function),
925
- __metadata("design:paramtypes", [Object]),
926
- __metadata("design:returntype", Promise)
927
- ], HexabotMcpTools.prototype, "createMcpServer", null);
928
- __decorate([
929
- (0, mcp_permission_decorator_1.McpPermission)('mcpserver', types_1.Action.UPDATE),
930
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
931
- (0, mcp_nest_1.Tool)({
932
- name: 'hexabot_mcp_server_update',
933
- description: 'Update an MCP server configuration.',
934
- parameters: zod_1.z.object({
935
- id: uuidSchema,
936
- ...mcpServerPayloadSchema,
937
- }),
938
- }),
939
- __metadata("design:type", Function),
940
- __metadata("design:paramtypes", [Object]),
941
- __metadata("design:returntype", Promise)
942
- ], HexabotMcpTools.prototype, "updateMcpServer", null);
943
- __decorate([
944
- (0, mcp_permission_decorator_1.McpPermission)('contenttype', types_1.Action.READ),
945
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
946
- (0, mcp_nest_1.Tool)({
947
- name: 'hexabot_content_type_search',
948
- description: 'Search CMS content types.',
949
- parameters: zod_1.z.object({
950
- query: zod_1.z.string().optional(),
951
- ...paginationSchema,
952
- }),
953
- }),
954
- __metadata("design:type", Function),
955
- __metadata("design:paramtypes", [Object]),
956
- __metadata("design:returntype", Promise)
957
- ], HexabotMcpTools.prototype, "searchContentTypes", null);
958
- __decorate([
959
- (0, mcp_permission_decorator_1.McpPermission)('contenttype', types_1.Action.READ),
960
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
961
- (0, mcp_nest_1.Tool)({
962
- name: 'hexabot_content_type_get',
963
- description: 'Read one CMS content type.',
964
- parameters: zod_1.z.object({
965
- id: uuidSchema,
966
- }),
967
- }),
968
- __metadata("design:type", Function),
969
- __metadata("design:paramtypes", [Object]),
970
- __metadata("design:returntype", Promise)
971
- ], HexabotMcpTools.prototype, "getContentType", null);
972
- __decorate([
973
- (0, mcp_permission_decorator_1.McpPermission)('contenttype', types_1.Action.CREATE),
974
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
975
- (0, mcp_nest_1.Tool)({
976
- name: 'hexabot_content_type_create',
977
- description: 'Create a CMS content type.',
978
- parameters: zod_1.z.object({
979
- name: zod_1.z.string().min(1),
980
- schema: jsonObjectSchema,
981
- }),
982
- }),
983
- __metadata("design:type", Function),
984
- __metadata("design:paramtypes", [Object]),
985
- __metadata("design:returntype", Promise)
986
- ], HexabotMcpTools.prototype, "createContentType", null);
987
- __decorate([
988
- (0, mcp_permission_decorator_1.McpPermission)('contenttype', types_1.Action.UPDATE),
989
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
990
- (0, mcp_nest_1.Tool)({
991
- name: 'hexabot_content_type_update',
992
- description: 'Update a CMS content type.',
993
- parameters: zod_1.z.object({
994
- id: uuidSchema,
995
- name: zod_1.z.string().min(1).optional(),
996
- schema: jsonObjectSchema.optional(),
997
- }),
998
- }),
999
- __metadata("design:type", Function),
1000
- __metadata("design:paramtypes", [Object]),
1001
- __metadata("design:returntype", Promise)
1002
- ], HexabotMcpTools.prototype, "updateContentType", null);
1003
- __decorate([
1004
- (0, mcp_permission_decorator_1.McpPermission)('content', types_1.Action.READ),
1005
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
1006
- (0, mcp_nest_1.Tool)({
1007
- name: 'hexabot_content_search',
1008
- description: 'Search CMS content records.',
1009
- parameters: zod_1.z.object({
1010
- query: zod_1.z.string().optional(),
1011
- contentTypeId: uuidSchema.optional(),
1012
- status: zod_1.z.boolean().optional(),
1013
- ...paginationSchema,
1014
- }),
1015
- }),
1016
- __metadata("design:type", Function),
1017
- __metadata("design:paramtypes", [Object]),
1018
- __metadata("design:returntype", Promise)
1019
- ], HexabotMcpTools.prototype, "searchContent", null);
1020
- __decorate([
1021
- (0, mcp_permission_decorator_1.McpPermission)('content', types_1.Action.READ),
1022
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
1023
- (0, mcp_nest_1.Tool)({
1024
- name: 'hexabot_content_get',
1025
- description: 'Read one CMS content record.',
1026
- parameters: zod_1.z.object({
1027
- id: uuidSchema,
1028
- }),
1029
- }),
1030
- __metadata("design:type", Function),
1031
- __metadata("design:paramtypes", [Object]),
1032
- __metadata("design:returntype", Promise)
1033
- ], HexabotMcpTools.prototype, "getContent", null);
1034
- __decorate([
1035
- (0, mcp_permission_decorator_1.McpPermission)('content', types_1.Action.CREATE),
1036
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
1037
- (0, mcp_nest_1.Tool)({
1038
- name: 'hexabot_content_create',
1039
- description: 'Create a CMS content record.',
1040
- parameters: zod_1.z.object({
1041
- contentType: uuidSchema,
1042
- title: zod_1.z.string().min(1),
1043
- status: zod_1.z.boolean().optional(),
1044
- properties: jsonObjectSchema.optional(),
1045
- }),
1046
- }),
1047
- __metadata("design:type", Function),
1048
- __metadata("design:paramtypes", [Object]),
1049
- __metadata("design:returntype", Promise)
1050
- ], HexabotMcpTools.prototype, "createContent", null);
1051
- __decorate([
1052
- (0, mcp_permission_decorator_1.McpPermission)('content', types_1.Action.UPDATE),
1053
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
1054
- (0, mcp_nest_1.Tool)({
1055
- name: 'hexabot_content_update',
1056
- description: 'Update a CMS content record.',
1057
- parameters: zod_1.z.object({
1058
- id: uuidSchema,
1059
- contentType: uuidSchema.optional(),
1060
- title: zod_1.z.string().min(1).optional(),
1061
- status: zod_1.z.boolean().optional(),
1062
- properties: jsonObjectSchema.optional(),
1063
- }),
1064
- }),
1065
- __metadata("design:type", Function),
1066
- __metadata("design:paramtypes", [Object]),
1067
- __metadata("design:returntype", Promise)
1068
- ], HexabotMcpTools.prototype, "updateContent", null);
1069
- __decorate([
1070
- (0, mcp_permission_decorator_1.McpPermission)('content', types_1.Action.READ),
1071
- (0, mcp_nest_1.ToolGuards)([mcp_permission_guard_1.McpPermissionGuard]),
1072
- (0, mcp_nest_1.Tool)({
1073
- name: 'hexabot_rag_content_search',
1074
- description: 'Search indexed CMS content through Hexabot RAG retrieval.',
1075
- parameters: zod_1.z.object({
1076
- query: zod_1.z.string().min(1),
1077
- mode: zod_1.z.enum(['embedding', 'lexical']).optional(),
1078
- limit: zod_1.z.number().int().min(1).max(50).default(10),
1079
- contentTypeId: uuidSchema.optional(),
1080
- includeInactive: zod_1.z.boolean().optional(),
1081
- }),
1082
- }),
1083
- __metadata("design:type", Function),
1084
- __metadata("design:paramtypes", [Object]),
1085
- __metadata("design:returntype", Promise)
1086
- ], HexabotMcpTools.prototype, "searchRagContent", null);
1087
- exports.HexabotMcpTools = HexabotMcpTools = HexabotMcpTools_1 = __decorate([
1088
- (0, common_1.Injectable)(),
1089
- __metadata("design:paramtypes", [workflow_service_1.WorkflowService,
1090
- workflow_version_service_1.WorkflowVersionService,
1091
- workflow_run_service_1.WorkflowRunService,
1092
- agentic_service_1.AgenticService,
1093
- memory_definition_service_1.MemoryDefinitionService,
1094
- actions_service_1.ActionService,
1095
- runtime_bindings_service_1.RuntimeBindingsService,
1096
- credential_service_1.CredentialService,
1097
- content_type_service_1.ContentTypeService,
1098
- content_service_1.ContentService,
1099
- mcp_server_service_1.McpServerService])
1100
- ], HexabotMcpTools);
17
+ __exportStar(require("./index"), exports);
1101
18
  //# sourceMappingURL=hexabot-mcp.tools.js.map