@vibetools/dokploy-mcp 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +61 -168
  2. package/dist/api/client.d.ts +2 -1
  3. package/dist/api/client.js +3 -11
  4. package/dist/cli/index.js +1 -0
  5. package/dist/codemode/context/execute-context.d.ts +590 -0
  6. package/dist/codemode/context/execute-context.js +64 -0
  7. package/dist/codemode/context/search-context.d.ts +13851 -0
  8. package/dist/codemode/context/search-context.js +42 -0
  9. package/dist/codemode/gateway/api-gateway.d.ts +12 -0
  10. package/dist/codemode/gateway/api-gateway.js +160 -0
  11. package/dist/codemode/gateway/error-format.d.ts +13 -0
  12. package/dist/codemode/gateway/error-format.js +9 -0
  13. package/dist/codemode/gateway/request-normalizer.d.ts +3 -0
  14. package/dist/codemode/gateway/request-normalizer.js +21 -0
  15. package/dist/codemode/gateway/trace.d.ts +13 -0
  16. package/dist/codemode/gateway/trace.js +11 -0
  17. package/dist/codemode/sandbox/host.d.ts +11 -0
  18. package/dist/codemode/sandbox/host.js +28 -0
  19. package/dist/codemode/sandbox/limits.d.ts +2 -0
  20. package/dist/codemode/sandbox/limits.js +20 -0
  21. package/dist/codemode/sandbox/runner.d.ts +8 -0
  22. package/dist/codemode/sandbox/runner.js +113 -0
  23. package/dist/codemode/sandbox/runtime.d.ts +2 -0
  24. package/dist/codemode/sandbox/runtime.js +3 -0
  25. package/dist/codemode/sandbox/serialize.d.ts +1 -0
  26. package/dist/codemode/sandbox/serialize.js +45 -0
  27. package/dist/codemode/sandbox/subprocess-runner.d.ts +10 -0
  28. package/dist/codemode/sandbox/subprocess-runner.js +91 -0
  29. package/dist/codemode/sandbox/types.d.ts +12 -0
  30. package/dist/codemode/sandbox/types.js +1 -0
  31. package/dist/codemode/sandbox/worker-entry.d.ts +1 -0
  32. package/dist/codemode/sandbox/worker-entry.js +70 -0
  33. package/dist/codemode/server-codemode.d.ts +2 -0
  34. package/dist/codemode/server-codemode.js +17 -0
  35. package/dist/codemode/tools/execute.d.ts +583 -0
  36. package/dist/codemode/tools/execute.js +52 -0
  37. package/dist/codemode/tools/index.d.ts +2 -0
  38. package/dist/codemode/tools/index.js +3 -0
  39. package/dist/codemode/tools/search.d.ts +2 -0
  40. package/dist/codemode/tools/search.js +62 -0
  41. package/dist/generated/dokploy-catalog.d.ts +27 -0
  42. package/dist/generated/dokploy-catalog.js +16 -0
  43. package/dist/generated/dokploy-schemas.d.ts +17533 -0
  44. package/dist/generated/dokploy-schemas.js +20639 -0
  45. package/dist/generated/dokploy-sdk.d.ts +558 -0
  46. package/dist/generated/dokploy-sdk.js +561 -0
  47. package/dist/generated/openapi-index.json +10591 -0
  48. package/dist/{tools/_factory.js → mcp/tool-factory.js} +7 -5
  49. package/dist/server.d.ts +1 -1
  50. package/dist/server.js +2 -15
  51. package/package.json +22 -11
  52. package/dist/tools/_database.d.ts +0 -12
  53. package/dist/tools/_database.js +0 -115
  54. package/dist/tools/admin.d.ts +0 -2
  55. package/dist/tools/admin.js +0 -61
  56. package/dist/tools/application.d.ts +0 -2
  57. package/dist/tools/application.js +0 -601
  58. package/dist/tools/backup.d.ts +0 -2
  59. package/dist/tools/backup.js +0 -133
  60. package/dist/tools/certificates.d.ts +0 -2
  61. package/dist/tools/certificates.js +0 -54
  62. package/dist/tools/cluster.d.ts +0 -2
  63. package/dist/tools/cluster.js +0 -38
  64. package/dist/tools/compose.d.ts +0 -2
  65. package/dist/tools/compose.js +0 -451
  66. package/dist/tools/deployment.d.ts +0 -2
  67. package/dist/tools/deployment.js +0 -107
  68. package/dist/tools/destination.d.ts +0 -2
  69. package/dist/tools/destination.js +0 -78
  70. package/dist/tools/docker.d.ts +0 -2
  71. package/dist/tools/docker.js +0 -110
  72. package/dist/tools/domain.d.ts +0 -2
  73. package/dist/tools/domain.js +0 -147
  74. package/dist/tools/environment.d.ts +0 -2
  75. package/dist/tools/environment.js +0 -104
  76. package/dist/tools/git-provider.d.ts +0 -2
  77. package/dist/tools/git-provider.js +0 -22
  78. package/dist/tools/github.d.ts +0 -2
  79. package/dist/tools/github.js +0 -66
  80. package/dist/tools/gitlab.d.ts +0 -2
  81. package/dist/tools/gitlab.js +0 -98
  82. package/dist/tools/index.d.ts +0 -2
  83. package/dist/tools/index.js +0 -72
  84. package/dist/tools/mariadb.d.ts +0 -1
  85. package/dist/tools/mariadb.js +0 -14
  86. package/dist/tools/mongo.d.ts +0 -1
  87. package/dist/tools/mongo.js +0 -13
  88. package/dist/tools/mounts.d.ts +0 -2
  89. package/dist/tools/mounts.js +0 -109
  90. package/dist/tools/mysql.d.ts +0 -1
  91. package/dist/tools/mysql.js +0 -14
  92. package/dist/tools/notification.d.ts +0 -2
  93. package/dist/tools/notification.js +0 -559
  94. package/dist/tools/patch.d.ts +0 -2
  95. package/dist/tools/patch.js +0 -179
  96. package/dist/tools/port.d.ts +0 -2
  97. package/dist/tools/port.js +0 -54
  98. package/dist/tools/postgres.d.ts +0 -1
  99. package/dist/tools/postgres.js +0 -13
  100. package/dist/tools/preview-deployment.d.ts +0 -2
  101. package/dist/tools/preview-deployment.js +0 -50
  102. package/dist/tools/project.d.ts +0 -2
  103. package/dist/tools/project.js +0 -125
  104. package/dist/tools/redirects.d.ts +0 -2
  105. package/dist/tools/redirects.js +0 -53
  106. package/dist/tools/redis.d.ts +0 -1
  107. package/dist/tools/redis.js +0 -11
  108. package/dist/tools/registry.d.ts +0 -2
  109. package/dist/tools/registry.js +0 -81
  110. package/dist/tools/rollback.d.ts +0 -2
  111. package/dist/tools/rollback.js +0 -28
  112. package/dist/tools/schedule.d.ts +0 -2
  113. package/dist/tools/schedule.js +0 -92
  114. package/dist/tools/security.d.ts +0 -2
  115. package/dist/tools/security.js +0 -48
  116. package/dist/tools/server.d.ts +0 -2
  117. package/dist/tools/server.js +0 -192
  118. package/dist/tools/settings.d.ts +0 -2
  119. package/dist/tools/settings.js +0 -509
  120. package/dist/tools/ssh-key.d.ts +0 -2
  121. package/dist/tools/ssh-key.js +0 -74
  122. package/dist/tools/user.d.ts +0 -2
  123. package/dist/tools/user.js +0 -85
  124. package/dist/tools/volume-backups.d.ts +0 -2
  125. package/dist/tools/volume-backups.js +0 -96
  126. /package/dist/{tools/_factory.d.ts → mcp/tool-factory.d.ts} +0 -0
@@ -1,451 +0,0 @@
1
- import { z } from 'zod';
2
- import { getTool, postTool } from './_factory.js';
3
- // ── tools ────────────────────────────────────────────────────────────
4
- const appNameSchema = z
5
- .string()
6
- .min(1)
7
- .max(63)
8
- .regex(/^[a-zA-Z0-9._-]+$/)
9
- .describe('Internal app name');
10
- const nullableString = z.string().nullable().optional();
11
- const nullableBoolean = z.boolean().nullable().optional();
12
- const nullableNumber = z.number().nullable().optional();
13
- const nullableStringArray = z.array(z.string()).nullable().optional();
14
- const create = postTool({
15
- name: 'dokploy_compose_create',
16
- title: 'Create Compose Service',
17
- description: 'Create a new Docker Compose service within an environment. Requires a service name and environment ID. Optionally specify the compose type (docker-compose or stack), a custom app name, target server ID, and compose file content. Returns the newly created compose service object.',
18
- schema: z
19
- .object({
20
- name: z.string().min(1).describe('The name of the compose service'),
21
- environmentId: z
22
- .string()
23
- .min(1)
24
- .describe('The environment ID to create the compose service in'),
25
- description: nullableString.describe('Compose service description'),
26
- composeType: z
27
- .enum(['docker-compose', 'stack'])
28
- .optional()
29
- .describe('Compose type: docker-compose or stack'),
30
- appName: appNameSchema.optional(),
31
- serverId: z.string().nullable().optional().describe('Target server ID for deployment'),
32
- composeFile: z.string().optional().describe('Compose file content'),
33
- })
34
- .strict(),
35
- endpoint: '/compose.create',
36
- });
37
- const one = getTool({
38
- name: 'dokploy_compose_one',
39
- title: 'Get Compose Service',
40
- description: 'Get detailed information about a single compose service by its ID. Returns the full compose service configuration including its source type, environment variables, deployment status, and associated project.',
41
- schema: z
42
- .object({
43
- composeId: z.string().min(1).describe('The unique compose service ID'),
44
- })
45
- .strict(),
46
- endpoint: '/compose.one',
47
- });
48
- const update = postTool({
49
- name: 'dokploy_compose_update',
50
- title: 'Update Compose Service',
51
- description: 'Update an existing compose service configuration. Accepts the compose service ID and any combination of fields to modify, including name, environment variables, compose file content, source type, Git repository settings, and auto-deploy preferences. Returns the updated compose service object.',
52
- schema: z
53
- .object({
54
- composeId: z.string().min(1).describe('The unique compose service ID'),
55
- name: z.string().optional().describe('Compose service name'),
56
- appName: appNameSchema.optional(),
57
- description: nullableString.describe('Service description'),
58
- env: nullableString.describe('Environment variables'),
59
- composeFile: z.string().optional().describe('Docker Compose file content'),
60
- refreshToken: nullableString.describe('Webhook token'),
61
- sourceType: z
62
- .enum(['git', 'github', 'gitlab', 'bitbucket', 'gitea', 'raw'])
63
- .optional()
64
- .describe('Source type for the compose file'),
65
- composeType: z
66
- .enum(['docker-compose', 'stack'])
67
- .optional()
68
- .describe('Compose type: docker-compose or stack'),
69
- repository: nullableString.describe('Git repository name'),
70
- owner: nullableString.describe('Git repository owner'),
71
- branch: nullableString.describe('Git branch'),
72
- autoDeploy: nullableBoolean.describe('Whether auto-deploy is enabled'),
73
- gitlabProjectId: nullableNumber.describe('GitLab project ID'),
74
- gitlabRepository: nullableString.describe('GitLab repository'),
75
- gitlabOwner: nullableString.describe('GitLab owner'),
76
- gitlabBranch: nullableString.describe('GitLab branch'),
77
- gitlabPathNamespace: nullableString.describe('GitLab path namespace'),
78
- bitbucketRepository: nullableString.describe('Bitbucket repository'),
79
- bitbucketRepositorySlug: nullableString.describe('Bitbucket repository slug'),
80
- bitbucketOwner: nullableString.describe('Bitbucket owner'),
81
- bitbucketBranch: nullableString.describe('Bitbucket branch'),
82
- giteaRepository: nullableString.describe('Gitea repository'),
83
- giteaOwner: nullableString.describe('Gitea owner'),
84
- giteaBranch: nullableString.describe('Gitea branch'),
85
- customGitUrl: nullableString.describe('Custom Git repository URL'),
86
- customGitBranch: nullableString.describe('Custom Git branch'),
87
- customGitSSHKeyId: nullableString.describe('SSH key ID for custom Git authentication'),
88
- command: z.string().optional().describe('Custom command override'),
89
- enableSubmodules: z.boolean().optional().describe('Whether git submodules are enabled'),
90
- composePath: z.string().optional().describe('Path to the compose file within the repo'),
91
- suffix: z.string().optional().describe('Isolated deployment suffix'),
92
- randomize: z.boolean().optional().describe('Whether to randomize service names'),
93
- isolatedDeployment: z.boolean().optional().describe('Whether isolated deployment is enabled'),
94
- isolatedDeploymentsVolume: z
95
- .boolean()
96
- .optional()
97
- .describe('Whether isolated deployments get a dedicated volume'),
98
- triggerType: z
99
- .enum(['push', 'tag'])
100
- .nullable()
101
- .optional()
102
- .describe('Deployment trigger type'),
103
- composeStatus: z
104
- .enum(['idle', 'running', 'done', 'error'])
105
- .optional()
106
- .describe('Compose service status'),
107
- environmentId: z.string().optional().describe('Environment ID'),
108
- createdAt: z.string().optional().describe('Creation timestamp'),
109
- watchPaths: nullableStringArray.describe('Paths to watch for deploy triggers'),
110
- githubId: nullableString.describe('GitHub provider ID'),
111
- gitlabId: nullableString.describe('GitLab provider ID'),
112
- bitbucketId: nullableString.describe('Bitbucket provider ID'),
113
- giteaId: nullableString.describe('Gitea provider ID'),
114
- })
115
- .strict(),
116
- endpoint: '/compose.update',
117
- });
118
- const deleteCompose = postTool({
119
- name: 'dokploy_compose_delete',
120
- title: 'Delete Compose Service',
121
- description: 'Permanently delete a compose service and all of its associated data, including containers, volumes, and configuration. This action is irreversible. Requires the compose service ID.',
122
- schema: z
123
- .object({
124
- composeId: z.string().min(1).describe('The unique compose service ID to delete'),
125
- deleteVolumes: z.boolean().describe('Whether to delete attached volumes'),
126
- })
127
- .strict(),
128
- endpoint: '/compose.delete',
129
- annotations: { destructiveHint: true },
130
- });
131
- const deploy = postTool({
132
- name: 'dokploy_compose_deploy',
133
- title: 'Deploy Compose Service',
134
- description: 'Deploy a Docker Compose service by triggering a build and run cycle. Requires the compose service ID. Returns the deployment status and any build logs produced during the deployment process.',
135
- schema: z
136
- .object({
137
- composeId: z.string().min(1).describe('The unique compose service ID to deploy'),
138
- title: z.string().optional().describe('Optional deployment title'),
139
- description: z.string().optional().describe('Optional deployment description'),
140
- })
141
- .strict(),
142
- endpoint: '/compose.deploy',
143
- });
144
- const redeploy = postTool({
145
- name: 'dokploy_compose_redeploy',
146
- title: 'Redeploy Compose Service',
147
- description: 'Redeploy a compose service by rebuilding all containers and restarting them. This is useful when you need to pick up configuration changes or force a fresh deployment. Requires the compose service ID.',
148
- schema: z
149
- .object({
150
- composeId: z.string().min(1).describe('The unique compose service ID to redeploy'),
151
- title: z.string().optional().describe('Optional deployment title'),
152
- description: z.string().optional().describe('Optional deployment description'),
153
- })
154
- .strict(),
155
- endpoint: '/compose.redeploy',
156
- });
157
- const stop = postTool({
158
- name: 'dokploy_compose_stop',
159
- title: 'Stop Compose Service',
160
- description: 'Stop all running containers in a compose service. The containers and their data are preserved but will no longer be running or serving traffic. Requires the compose service ID.',
161
- schema: z
162
- .object({
163
- composeId: z.string().min(1).describe('The unique compose service ID to stop'),
164
- })
165
- .strict(),
166
- endpoint: '/compose.stop',
167
- annotations: { destructiveHint: true },
168
- });
169
- const cleanQueues = postTool({
170
- name: 'dokploy_compose_clean_queues',
171
- title: 'Clean Compose Queues',
172
- description: 'Clean the pending deployment queues for a compose service. This removes any queued deployment tasks that have not yet started. Useful for clearing stuck or unwanted deployments. Requires the compose service ID.',
173
- schema: z
174
- .object({
175
- composeId: z.string().min(1).describe('The unique compose service ID'),
176
- })
177
- .strict(),
178
- endpoint: '/compose.cleanQueues',
179
- annotations: { destructiveHint: true },
180
- });
181
- const randomizeCompose = postTool({
182
- name: 'dokploy_compose_randomize',
183
- title: 'Randomize Compose Names',
184
- description: 'Randomize the service names within a compose deployment to avoid naming conflicts. An optional suffix can be provided to append to the randomized names. Requires the compose service ID. Returns the updated compose configuration.',
185
- schema: z
186
- .object({
187
- composeId: z.string().min(1).describe('The unique compose service ID'),
188
- suffix: z.string().optional().describe('Optional suffix for randomized names'),
189
- })
190
- .strict(),
191
- endpoint: '/compose.randomizeCompose',
192
- });
193
- const getDefaultCommand = getTool({
194
- name: 'dokploy_compose_get_default_command',
195
- title: 'Get Default Command',
196
- description: 'Retrieve the default deployment command for a compose service. This is the command that Dokploy uses to bring up the compose stack during deployment. Requires the compose service ID. Returns the command string.',
197
- schema: z
198
- .object({
199
- composeId: z.string().min(1).describe('The unique compose service ID'),
200
- })
201
- .strict(),
202
- endpoint: '/compose.getDefaultCommand',
203
- });
204
- const refreshToken = postTool({
205
- name: 'dokploy_compose_refresh_token',
206
- title: 'Refresh Webhook Token',
207
- description: 'Refresh the webhook token for a compose service. This invalidates the previous webhook URL and generates a new one. Useful when the existing webhook token has been compromised. Requires the compose service ID.',
208
- schema: z
209
- .object({
210
- composeId: z.string().min(1).describe('The unique compose service ID'),
211
- })
212
- .strict(),
213
- endpoint: '/compose.refreshToken',
214
- });
215
- const deployTemplate = postTool({
216
- name: 'dokploy_compose_deploy_template',
217
- title: 'Deploy Compose Template',
218
- description: 'Deploy a compose service from a predefined template. Templates provide pre-configured compose stacks for common applications. Requires an environment ID and the template ID. Returns the created compose service with deployment status.',
219
- schema: z
220
- .object({
221
- environmentId: z.string().min(1).describe('The environment ID to deploy the template in'),
222
- serverId: z.string().optional().describe('Optional target server ID'),
223
- id: z.string().min(1).describe('The template ID to deploy'),
224
- baseUrl: z.string().optional().describe('Optional base URL used by the template'),
225
- })
226
- .strict(),
227
- endpoint: '/compose.deployTemplate',
228
- });
229
- const templates = getTool({
230
- name: 'dokploy_compose_templates',
231
- title: 'List Compose Templates',
232
- description: 'List all available compose templates that can be deployed. Templates are pre-configured Docker Compose stacks for popular applications and services. Returns an array of template objects with their IDs, names, and descriptions.',
233
- schema: z
234
- .object({
235
- baseUrl: z.string().optional().describe('Optional base URL'),
236
- })
237
- .strict(),
238
- endpoint: '/compose.templates',
239
- });
240
- const start = postTool({
241
- name: 'dokploy_compose_start',
242
- title: 'Start Compose Service',
243
- description: 'Start a previously stopped compose service in Dokploy. Requires the compose service ID.',
244
- schema: z
245
- .object({
246
- composeId: z.string().min(1).describe('The unique compose service ID'),
247
- })
248
- .strict(),
249
- endpoint: '/compose.start',
250
- });
251
- const move = postTool({
252
- name: 'dokploy_compose_move',
253
- title: 'Move Compose Service',
254
- description: 'Move a compose service from its current environment to a different Dokploy environment. Requires the compose service ID and the target environment ID.',
255
- schema: z
256
- .object({
257
- composeId: z.string().min(1).describe('The unique compose service ID'),
258
- targetEnvironmentId: z.string().min(1).describe('The target environment ID'),
259
- })
260
- .strict(),
261
- endpoint: '/compose.move',
262
- });
263
- const cancelDeployment = postTool({
264
- name: 'dokploy_compose_cancel_deployment',
265
- title: 'Cancel Compose Deployment',
266
- description: 'Cancel an in-progress compose deployment in Dokploy. Requires the compose service ID.',
267
- schema: z
268
- .object({
269
- composeId: z.string().min(1).describe('The unique compose service ID'),
270
- })
271
- .strict(),
272
- endpoint: '/compose.cancelDeployment',
273
- });
274
- const killBuild = postTool({
275
- name: 'dokploy_compose_kill_build',
276
- title: 'Kill Compose Build',
277
- description: 'Stop an in-progress compose build in Dokploy. Requires the compose service ID.',
278
- schema: z
279
- .object({
280
- composeId: z.string().min(1).describe('The unique compose service ID'),
281
- })
282
- .strict(),
283
- endpoint: '/compose.killBuild',
284
- annotations: { destructiveHint: true },
285
- });
286
- const clearDeployments = postTool({
287
- name: 'dokploy_compose_clear_deployments',
288
- title: 'Clear Compose Deployments',
289
- description: 'Clear stored deployment history for a compose service in Dokploy. Requires the compose service ID.',
290
- schema: z
291
- .object({
292
- composeId: z.string().min(1).describe('The unique compose service ID'),
293
- })
294
- .strict(),
295
- endpoint: '/compose.clearDeployments',
296
- annotations: { destructiveHint: true },
297
- });
298
- const disconnectGitProvider = postTool({
299
- name: 'dokploy_compose_disconnect_git_provider',
300
- title: 'Disconnect Compose Git Provider',
301
- description: 'Disconnect the linked Git provider from a compose service in Dokploy. Requires the compose service ID.',
302
- schema: z
303
- .object({
304
- composeId: z.string().min(1).describe('The unique compose service ID'),
305
- })
306
- .strict(),
307
- endpoint: '/compose.disconnectGitProvider',
308
- annotations: { destructiveHint: true },
309
- });
310
- const search = getTool({
311
- name: 'dokploy_compose_search',
312
- title: 'Search Compose Services',
313
- description: 'Search Dokploy compose services by free text or field-specific filters. Supports pagination through limit and offset.',
314
- schema: z
315
- .object({
316
- q: z.string().optional().describe('Free-text query'),
317
- name: z.string().optional().describe('Compose service name'),
318
- appName: z.string().optional().describe('Internal app name'),
319
- description: z.string().optional().describe('Compose service description'),
320
- projectId: z.string().optional().describe('Project ID'),
321
- environmentId: z.string().optional().describe('Environment ID'),
322
- limit: z.number().min(1).max(100).optional().describe('Maximum number of results'),
323
- offset: z.number().min(0).optional().describe('Number of results to skip'),
324
- })
325
- .strict(),
326
- endpoint: '/compose.search',
327
- });
328
- const loadServices = getTool({
329
- name: 'dokploy_compose_load_services',
330
- title: 'Load Compose Services',
331
- description: 'Load parsed service definitions for a compose service. Requires the compose service ID and optionally accepts a cache strategy.',
332
- schema: z
333
- .object({
334
- composeId: z.string().min(1).describe('The unique compose service ID'),
335
- type: z.enum(['fetch', 'cache']).optional().describe('Load strategy'),
336
- })
337
- .strict(),
338
- endpoint: '/compose.loadServices',
339
- });
340
- const loadMountsByService = getTool({
341
- name: 'dokploy_compose_load_mounts_by_service',
342
- title: 'Load Mounts by Compose Service',
343
- description: 'Load compose mounts for a specific service inside a compose stack. Requires the compose service ID and service name.',
344
- schema: z
345
- .object({
346
- composeId: z.string().min(1).describe('The unique compose service ID'),
347
- serviceName: z.string().min(1).describe('Compose service name'),
348
- })
349
- .strict(),
350
- endpoint: '/compose.loadMountsByService',
351
- });
352
- const fetchSourceType = postTool({
353
- name: 'dokploy_compose_fetch_source_type',
354
- title: 'Fetch Compose Source Type',
355
- description: 'Fetch and resolve the effective source type for a compose service in Dokploy. Requires the compose service ID.',
356
- schema: z
357
- .object({
358
- composeId: z.string().min(1).describe('The unique compose service ID'),
359
- })
360
- .strict(),
361
- endpoint: '/compose.fetchSourceType',
362
- });
363
- const isolatedDeployment = postTool({
364
- name: 'dokploy_compose_isolated_deployment',
365
- title: 'Run Isolated Compose Deployment',
366
- description: 'Create an isolated deployment variant for a compose service in Dokploy. Requires the compose service ID and optionally accepts a suffix.',
367
- schema: z
368
- .object({
369
- composeId: z.string().min(1).describe('The unique compose service ID'),
370
- suffix: z.string().optional().describe('Optional isolated deployment suffix'),
371
- })
372
- .strict(),
373
- endpoint: '/compose.isolatedDeployment',
374
- });
375
- const getConvertedCompose = getTool({
376
- name: 'dokploy_compose_get_converted_compose',
377
- title: 'Get Converted Compose',
378
- description: 'Retrieve the converted compose definition that Dokploy will deploy. Requires the compose service ID.',
379
- schema: z
380
- .object({
381
- composeId: z.string().min(1).describe('The unique compose service ID'),
382
- })
383
- .strict(),
384
- endpoint: '/compose.getConvertedCompose',
385
- });
386
- const getTags = getTool({
387
- name: 'dokploy_compose_get_tags',
388
- title: 'Get Compose Template Tags',
389
- description: 'List available compose template tags. Optionally pass a base URL to target a specific template source.',
390
- schema: z
391
- .object({
392
- baseUrl: z.string().optional().describe('Optional base URL'),
393
- })
394
- .strict(),
395
- endpoint: '/compose.getTags',
396
- });
397
- const processTemplate = postTool({
398
- name: 'dokploy_compose_process_template',
399
- title: 'Process Compose Template',
400
- description: 'Process a compose template payload for an existing compose service. Requires a base64 payload and the compose service ID.',
401
- schema: z
402
- .object({
403
- base64: z.string().describe('Base64-encoded template payload'),
404
- composeId: z.string().min(1).describe('The unique compose service ID'),
405
- })
406
- .strict(),
407
- endpoint: '/compose.processTemplate',
408
- });
409
- const importCompose = postTool({
410
- name: 'dokploy_compose_import',
411
- title: 'Import Compose Definition',
412
- description: 'Import a compose definition into an existing compose service. Requires a base64 payload and the compose service ID.',
413
- schema: z
414
- .object({
415
- base64: z.string().describe('Base64-encoded compose payload'),
416
- composeId: z.string().min(1).describe('The unique compose service ID'),
417
- })
418
- .strict(),
419
- endpoint: '/compose.import',
420
- });
421
- // ── export ───────────────────────────────────────────────────────────
422
- export const composeTools = [
423
- create,
424
- one,
425
- update,
426
- deleteCompose,
427
- deploy,
428
- redeploy,
429
- stop,
430
- start,
431
- move,
432
- cancelDeployment,
433
- killBuild,
434
- clearDeployments,
435
- disconnectGitProvider,
436
- cleanQueues,
437
- randomizeCompose,
438
- search,
439
- loadServices,
440
- loadMountsByService,
441
- fetchSourceType,
442
- isolatedDeployment,
443
- getConvertedCompose,
444
- getTags,
445
- processTemplate,
446
- importCompose,
447
- getDefaultCommand,
448
- refreshToken,
449
- deployTemplate,
450
- templates,
451
- ];
@@ -1,2 +0,0 @@
1
- import { type ToolDefinition } from './_factory.js';
2
- export declare const deploymentTools: ToolDefinition[];
@@ -1,107 +0,0 @@
1
- import { z } from 'zod';
2
- import { getTool, postTool } from './_factory.js';
3
- // ── tools ────────────────────────────────────────────────────────────
4
- const all = getTool({
5
- name: 'dokploy_deployment_all',
6
- title: 'List Application Deployments',
7
- description: 'List all deployment records for a specific application in Dokploy. Each deployment includes build logs, status, timestamps, and the triggering event. Requires the application ID. Returns an array of deployment objects ordered by creation date.',
8
- schema: z
9
- .object({
10
- applicationId: z.string().min(1).describe('The unique application ID'),
11
- })
12
- .strict(),
13
- endpoint: '/deployment.all',
14
- });
15
- const allByCompose = getTool({
16
- name: 'dokploy_deployment_all_by_compose',
17
- title: 'List Compose Deployments',
18
- description: 'List all deployment records for a specific Docker Compose service in Dokploy. Each deployment includes build logs, status, timestamps, and the triggering event. Requires the compose service ID. Returns an array of deployment objects ordered by creation date.',
19
- schema: z
20
- .object({
21
- composeId: z.string().min(1).describe('The unique compose service ID'),
22
- })
23
- .strict(),
24
- endpoint: '/deployment.allByCompose',
25
- });
26
- const allByServer = getTool({
27
- name: 'dokploy_deployment_all_by_server',
28
- title: 'List Server Deployments',
29
- description: 'List all deployment records associated with a specific Dokploy server. Requires the server ID.',
30
- schema: z
31
- .object({
32
- serverId: z.string().min(1).describe('The unique server ID'),
33
- })
34
- .strict(),
35
- endpoint: '/deployment.allByServer',
36
- });
37
- const allCentralized = getTool({
38
- name: 'dokploy_deployment_all_centralized',
39
- title: 'List Centralized Deployments',
40
- description: 'List centralized deployments in Dokploy across supported entity types.',
41
- schema: z.object({}).strict(),
42
- endpoint: '/deployment.allCentralized',
43
- });
44
- const queueList = getTool({
45
- name: 'dokploy_deployment_queue_list',
46
- title: 'List Deployment Queue',
47
- description: 'List queued deployment jobs in Dokploy.',
48
- schema: z.object({}).strict(),
49
- endpoint: '/deployment.queueList',
50
- });
51
- const allByType = getTool({
52
- name: 'dokploy_deployment_all_by_type',
53
- title: 'List Deployments by Type',
54
- description: 'List deployments for a specific Dokploy entity type. Requires the entity ID and the entity type.',
55
- schema: z
56
- .object({
57
- id: z.string().min(1).describe('Entity ID'),
58
- type: z
59
- .enum([
60
- 'application',
61
- 'compose',
62
- 'server',
63
- 'schedule',
64
- 'previewDeployment',
65
- 'backup',
66
- 'volumeBackup',
67
- ])
68
- .describe('Entity type'),
69
- })
70
- .strict(),
71
- endpoint: '/deployment.allByType',
72
- });
73
- const killProcess = postTool({
74
- name: 'dokploy_deployment_kill_process',
75
- title: 'Kill Deployment Process',
76
- description: 'Kill an in-progress deployment process in Dokploy. Requires the deployment ID.',
77
- schema: z
78
- .object({
79
- deploymentId: z.string().min(1).describe('Deployment ID'),
80
- })
81
- .strict(),
82
- endpoint: '/deployment.killProcess',
83
- annotations: { destructiveHint: true },
84
- });
85
- const removeDeployment = postTool({
86
- name: 'dokploy_deployment_remove_deployment',
87
- title: 'Remove Deployment Record',
88
- description: 'Remove a deployment record from Dokploy. Requires the deployment ID. This is a destructive action.',
89
- schema: z
90
- .object({
91
- deploymentId: z.string().min(1).describe('Deployment ID'),
92
- })
93
- .strict(),
94
- endpoint: '/deployment.removeDeployment',
95
- annotations: { destructiveHint: true },
96
- });
97
- // ── export ───────────────────────────────────────────────────────────
98
- export const deploymentTools = [
99
- all,
100
- allByCompose,
101
- allByServer,
102
- allCentralized,
103
- queueList,
104
- allByType,
105
- killProcess,
106
- removeDeployment,
107
- ];
@@ -1,2 +0,0 @@
1
- import { type ToolDefinition } from './_factory.js';
2
- export declare const destinationTools: ToolDefinition[];
@@ -1,78 +0,0 @@
1
- import { z } from 'zod';
2
- import { getTool, postTool } from './_factory.js';
3
- // ── helpers ──────────────────────────────────────────────────────────
4
- const destinationBaseSchema = {
5
- name: z.string().min(1).describe('Name for the S3 destination'),
6
- accessKey: z.string().min(1).describe('S3 access key'),
7
- bucket: z.string().min(1).describe('S3 bucket name'),
8
- region: z.string().min(1).describe('S3 region'),
9
- endpoint: z.string().min(1).describe('S3 endpoint URL'),
10
- secretAccessKey: z.string().min(1).describe('S3 secret access key'),
11
- };
12
- // ── tools ────────────────────────────────────────────────────────────
13
- const all = getTool({
14
- name: 'dokploy_destination_all',
15
- title: 'List Backup Destinations',
16
- description: 'List all S3-compatible backup destinations configured in Dokploy. Takes no parameters. Returns an array of destination objects including their IDs, names, bucket configurations, and connection details.',
17
- schema: z.object({}).strict(),
18
- endpoint: '/destination.all',
19
- });
20
- const one = getTool({
21
- name: 'dokploy_destination_one',
22
- title: 'Get Backup Destination',
23
- description: 'Retrieve the full configuration of a specific backup destination by its unique ID. Requires the destinationId parameter. Returns the destination object with name, S3 bucket, region, endpoint, and credential details.',
24
- schema: z
25
- .object({
26
- destinationId: z.string().min(1).describe('Unique destination ID'),
27
- })
28
- .strict(),
29
- endpoint: '/destination.one',
30
- });
31
- const create = postTool({
32
- name: 'dokploy_destination_create',
33
- title: 'Create Backup Destination',
34
- description: 'Create a new S3-compatible backup destination in Dokploy. Requires the destination name, S3 access key, secret access key, bucket name, region, and endpoint URL. Returns the newly created destination object with its assigned ID.',
35
- schema: z
36
- .object({
37
- ...destinationBaseSchema,
38
- })
39
- .strict(),
40
- endpoint: '/destination.create',
41
- });
42
- const update = postTool({
43
- name: 'dokploy_destination_update',
44
- title: 'Update Backup Destination',
45
- description: 'Update an existing S3-compatible backup destination configuration. Requires the destinationId of the destination to modify along with the updated S3 credentials and bucket settings. Returns the updated destination object.',
46
- schema: z
47
- .object({
48
- destinationId: z.string().min(1).describe('Unique destination ID to update'),
49
- ...destinationBaseSchema,
50
- })
51
- .strict(),
52
- endpoint: '/destination.update',
53
- });
54
- const remove = postTool({
55
- name: 'dokploy_destination_remove',
56
- title: 'Remove Backup Destination',
57
- description: 'Permanently remove a backup destination from Dokploy. This action is irreversible and will delete the destination configuration. Requires the destinationId parameter. Any backup schedules referencing this destination should be updated or removed first.',
58
- schema: z
59
- .object({
60
- destinationId: z.string().min(1).describe('Unique destination ID to remove'),
61
- })
62
- .strict(),
63
- endpoint: '/destination.remove',
64
- annotations: { destructiveHint: true },
65
- });
66
- const testConnection = postTool({
67
- name: 'dokploy_destination_test_connection',
68
- title: 'Test Destination Connection',
69
- description: 'Test the connection to an S3-compatible backup destination using the provided credentials. Requires the destination name, access key, secret access key, bucket, region, and endpoint. Returns a success or failure status indicating whether the S3 bucket is reachable and writable.',
70
- schema: z
71
- .object({
72
- ...destinationBaseSchema,
73
- })
74
- .strict(),
75
- endpoint: '/destination.testConnection',
76
- });
77
- // ── export ───────────────────────────────────────────────────────────
78
- export const destinationTools = [all, one, create, update, remove, testConnection];
@@ -1,2 +0,0 @@
1
- import { type ToolDefinition } from './_factory.js';
2
- export declare const dockerTools: ToolDefinition[];