liara-mcp 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 (152) hide show
  1. package/README.md +25 -0
  2. package/dist/handlers/app-handlers.d.ts +3 -0
  3. package/dist/handlers/app-handlers.d.ts.map +1 -0
  4. package/dist/handlers/app-handlers.js +48 -0
  5. package/dist/handlers/app-handlers.js.map +1 -0
  6. package/dist/handlers/consolidated-handlers.d.ts +9 -0
  7. package/dist/handlers/consolidated-handlers.d.ts.map +1 -0
  8. package/dist/handlers/consolidated-handlers.js +400 -0
  9. package/dist/handlers/consolidated-handlers.js.map +1 -0
  10. package/dist/handlers/database-handlers.d.ts +3 -0
  11. package/dist/handlers/database-handlers.d.ts.map +1 -0
  12. package/dist/handlers/database-handlers.js +75 -0
  13. package/dist/handlers/database-handlers.js.map +1 -0
  14. package/dist/handlers/deployment-handlers.d.ts +3 -0
  15. package/dist/handlers/deployment-handlers.d.ts.map +1 -0
  16. package/dist/handlers/deployment-handlers.js +43 -0
  17. package/dist/handlers/deployment-handlers.js.map +1 -0
  18. package/dist/handlers/disk-handlers.d.ts +3 -0
  19. package/dist/handlers/disk-handlers.d.ts.map +1 -0
  20. package/dist/handlers/disk-handlers.js +48 -0
  21. package/dist/handlers/disk-handlers.js.map +1 -0
  22. package/dist/handlers/dns-handlers.d.ts +3 -0
  23. package/dist/handlers/dns-handlers.d.ts.map +1 -0
  24. package/dist/handlers/dns-handlers.js +63 -0
  25. package/dist/handlers/dns-handlers.js.map +1 -0
  26. package/dist/handlers/domain-handlers.d.ts +3 -0
  27. package/dist/handlers/domain-handlers.d.ts.map +1 -0
  28. package/dist/handlers/domain-handlers.js +28 -0
  29. package/dist/handlers/domain-handlers.js.map +1 -0
  30. package/dist/handlers/env-handlers.d.ts +3 -0
  31. package/dist/handlers/env-handlers.d.ts.map +1 -0
  32. package/dist/handlers/env-handlers.js +32 -0
  33. package/dist/handlers/env-handlers.js.map +1 -0
  34. package/dist/handlers/index.d.ts +8 -0
  35. package/dist/handlers/index.d.ts.map +1 -0
  36. package/dist/handlers/index.js +94 -0
  37. package/dist/handlers/index.js.map +1 -0
  38. package/dist/handlers/mail-handlers.d.ts +3 -0
  39. package/dist/handlers/mail-handlers.d.ts.map +1 -0
  40. package/dist/handlers/mail-handlers.js +51 -0
  41. package/dist/handlers/mail-handlers.js.map +1 -0
  42. package/dist/handlers/network-handlers.d.ts +3 -0
  43. package/dist/handlers/network-handlers.d.ts.map +1 -0
  44. package/dist/handlers/network-handlers.js +28 -0
  45. package/dist/handlers/network-handlers.js.map +1 -0
  46. package/dist/handlers/observability-handlers.d.ts +3 -0
  47. package/dist/handlers/observability-handlers.d.ts.map +1 -0
  48. package/dist/handlers/observability-handlers.js +24 -0
  49. package/dist/handlers/observability-handlers.js.map +1 -0
  50. package/dist/handlers/plan-handlers.d.ts +3 -0
  51. package/dist/handlers/plan-handlers.d.ts.map +1 -0
  52. package/dist/handlers/plan-handlers.js +20 -0
  53. package/dist/handlers/plan-handlers.js.map +1 -0
  54. package/dist/handlers/settings-handlers.d.ts +3 -0
  55. package/dist/handlers/settings-handlers.d.ts.map +1 -0
  56. package/dist/handlers/settings-handlers.js +29 -0
  57. package/dist/handlers/settings-handlers.js.map +1 -0
  58. package/dist/handlers/storage-handlers.d.ts +3 -0
  59. package/dist/handlers/storage-handlers.d.ts.map +1 -0
  60. package/dist/handlers/storage-handlers.js +48 -0
  61. package/dist/handlers/storage-handlers.js.map +1 -0
  62. package/dist/handlers/types.d.ts +27 -0
  63. package/dist/handlers/types.d.ts.map +1 -0
  64. package/dist/handlers/types.js +31 -0
  65. package/dist/handlers/types.js.map +1 -0
  66. package/dist/handlers/user-handlers.d.ts +3 -0
  67. package/dist/handlers/user-handlers.d.ts.map +1 -0
  68. package/dist/handlers/user-handlers.js +16 -0
  69. package/dist/handlers/user-handlers.js.map +1 -0
  70. package/dist/handlers/vm-handlers.d.ts +3 -0
  71. package/dist/handlers/vm-handlers.d.ts.map +1 -0
  72. package/dist/handlers/vm-handlers.js +68 -0
  73. package/dist/handlers/vm-handlers.js.map +1 -0
  74. package/dist/index.js +6 -2986
  75. package/dist/index.js.map +1 -1
  76. package/dist/services/observability.js +1 -1
  77. package/dist/services/observability.js.map +1 -1
  78. package/dist/tools/app-tools.d.ts +6 -0
  79. package/dist/tools/app-tools.d.ts.map +1 -0
  80. package/dist/tools/app-tools.js +133 -0
  81. package/dist/tools/app-tools.js.map +1 -0
  82. package/dist/tools/consolidated-tools.d.ts +6 -0
  83. package/dist/tools/consolidated-tools.d.ts.map +1 -0
  84. package/dist/tools/consolidated-tools.js +256 -0
  85. package/dist/tools/consolidated-tools.js.map +1 -0
  86. package/dist/tools/database-tools.d.ts +6 -0
  87. package/dist/tools/database-tools.d.ts.map +1 -0
  88. package/dist/tools/database-tools.js +252 -0
  89. package/dist/tools/database-tools.js.map +1 -0
  90. package/dist/tools/deployment-tools.d.ts +6 -0
  91. package/dist/tools/deployment-tools.d.ts.map +1 -0
  92. package/dist/tools/deployment-tools.js +140 -0
  93. package/dist/tools/deployment-tools.js.map +1 -0
  94. package/dist/tools/disk-tools.d.ts +6 -0
  95. package/dist/tools/disk-tools.d.ts.map +1 -0
  96. package/dist/tools/disk-tools.js +167 -0
  97. package/dist/tools/disk-tools.js.map +1 -0
  98. package/dist/tools/dns-tools.d.ts +6 -0
  99. package/dist/tools/dns-tools.d.ts.map +1 -0
  100. package/dist/tools/dns-tools.js +184 -0
  101. package/dist/tools/dns-tools.js.map +1 -0
  102. package/dist/tools/domain-tools.d.ts +6 -0
  103. package/dist/tools/domain-tools.d.ts.map +1 -0
  104. package/dist/tools/domain-tools.js +63 -0
  105. package/dist/tools/domain-tools.js.map +1 -0
  106. package/dist/tools/env-tools.d.ts +6 -0
  107. package/dist/tools/env-tools.d.ts.map +1 -0
  108. package/dist/tools/env-tools.js +112 -0
  109. package/dist/tools/env-tools.js.map +1 -0
  110. package/dist/tools/index.d.ts +28 -0
  111. package/dist/tools/index.d.ts.map +1 -0
  112. package/dist/tools/index.js +72 -0
  113. package/dist/tools/index.js.map +1 -0
  114. package/dist/tools/mail-tools.d.ts +6 -0
  115. package/dist/tools/mail-tools.d.ts.map +1 -0
  116. package/dist/tools/mail-tools.js +148 -0
  117. package/dist/tools/mail-tools.js.map +1 -0
  118. package/dist/tools/network-tools.d.ts +6 -0
  119. package/dist/tools/network-tools.d.ts.map +1 -0
  120. package/dist/tools/network-tools.js +63 -0
  121. package/dist/tools/network-tools.js.map +1 -0
  122. package/dist/tools/observability-tools.d.ts +6 -0
  123. package/dist/tools/observability-tools.d.ts.map +1 -0
  124. package/dist/tools/observability-tools.js +49 -0
  125. package/dist/tools/observability-tools.js.map +1 -0
  126. package/dist/tools/plan-tools.d.ts +6 -0
  127. package/dist/tools/plan-tools.d.ts.map +1 -0
  128. package/dist/tools/plan-tools.js +38 -0
  129. package/dist/tools/plan-tools.js.map +1 -0
  130. package/dist/tools/settings-tools.d.ts +6 -0
  131. package/dist/tools/settings-tools.d.ts.map +1 -0
  132. package/dist/tools/settings-tools.js +77 -0
  133. package/dist/tools/settings-tools.js.map +1 -0
  134. package/dist/tools/storage-tools.d.ts +6 -0
  135. package/dist/tools/storage-tools.d.ts.map +1 -0
  136. package/dist/tools/storage-tools.js +166 -0
  137. package/dist/tools/storage-tools.js.map +1 -0
  138. package/dist/tools/types.d.ts +34 -0
  139. package/dist/tools/types.d.ts.map +1 -0
  140. package/dist/tools/types.js +27 -0
  141. package/dist/tools/types.js.map +1 -0
  142. package/dist/tools/user-tools.d.ts +6 -0
  143. package/dist/tools/user-tools.d.ts.map +1 -0
  144. package/dist/tools/user-tools.js +13 -0
  145. package/dist/tools/user-tools.js.map +1 -0
  146. package/dist/tools/vm-tools.d.ts +6 -0
  147. package/dist/tools/vm-tools.d.ts.map +1 -0
  148. package/dist/tools/vm-tools.js +240 -0
  149. package/dist/tools/vm-tools.js.map +1 -0
  150. package/dist/utils/errors.js +2 -2
  151. package/dist/utils/errors.js.map +1 -1
  152. package/package.json +1 -1
package/README.md CHANGED
@@ -42,6 +42,31 @@ npm install -g liara-mcp
42
42
 
43
43
  Or use directly with npx (no installation required).
44
44
 
45
+ ## Tool Modes
46
+
47
+ The Liara MCP server supports two modes for tool organization:
48
+
49
+ ### Consolidated Mode (Recommended)
50
+ Set `LIARA_MCP_CONSOLIDATED=true` environment variable to enable consolidated tools. This mode provides fewer, more powerful tools that combine related functionality:
51
+
52
+ - `liara_manage_app` - Complete app lifecycle management (list, get, create, delete, start, stop, restart, resize)
53
+ - `liara_manage_env_vars` - Environment variable management (list, set single/multiple, delete single/multiple)
54
+ - `liara_manage_databases` - Database lifecycle management (list, get, create, delete, start, stop, restart, resize, update)
55
+ - `liara_manage_database_backups` - Database backup operations (create, list, get download URL, restore, delete)
56
+ - `liara_manage_buckets` - Bucket lifecycle management (list, get, create, delete, get credentials)
57
+ - `liara_manage_bucket_objects` - Bucket object operations (list, upload, get download URL, delete)
58
+ - `liara_get_infrastructure_overview` - Get comprehensive overview of all resources
59
+ - `liara_manage_deployment` - Deployment management (list releases, list sources)
60
+
61
+ **Benefits of Consolidated Mode:**
62
+ - **Reduced Complexity**: 8 powerful tools vs 100+ individual tools
63
+ - **Better UX**: Single tool handles related operations with action parameter
64
+ - **Improved Performance**: Fewer tool calls needed for complex operations
65
+ - **Simplified Integration**: Easier to understand and use tool set
66
+
67
+ ### Individual Mode (Legacy)
68
+ The default mode provides granular tools (100+ individual tools) for maximum control and specificity.
69
+
45
70
  ## Configuration
46
71
 
47
72
  The server supports multiple ways to configure your API token:
@@ -0,0 +1,3 @@
1
+ import { LiaraClient, ToolResult } from './types.js';
2
+ export declare function handleAppTools(client: LiaraClient, name: string, args: any): Promise<ToolResult | null>;
3
+ //# sourceMappingURL=app-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/app-handlers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAoD,MAAM,YAAY,CAAC;AAEvG,wBAAsB,cAAc,CAChC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,GACV,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAqD5B"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * App management tool handlers
3
+ */
4
+ import * as appService from '../services/apps.js';
5
+ import { extractPagination, successResponse, jsonResponse } from './types.js';
6
+ export async function handleAppTools(client, name, args) {
7
+ switch (name) {
8
+ case 'liara_list_apps': {
9
+ const apps = await appService.listApps(client, extractPagination(args));
10
+ return jsonResponse(apps);
11
+ }
12
+ case 'liara_get_app': {
13
+ const app = await appService.getApp(client, args.name);
14
+ return jsonResponse(app);
15
+ }
16
+ case 'liara_create_app': {
17
+ const app = await appService.createApp(client, args);
18
+ return jsonResponse({
19
+ success: true,
20
+ data: app,
21
+ message: `App "${app.name}" created successfully`
22
+ });
23
+ }
24
+ case 'liara_delete_app': {
25
+ await appService.deleteApp(client, args.name);
26
+ return successResponse(`App "${args.name}" deleted successfully.`);
27
+ }
28
+ case 'liara_start_app': {
29
+ await appService.startApp(client, args.name);
30
+ return successResponse(`App "${args.name}" started successfully.`);
31
+ }
32
+ case 'liara_stop_app': {
33
+ await appService.stopApp(client, args.name);
34
+ return successResponse(`App "${args.name}" stopped successfully.`);
35
+ }
36
+ case 'liara_restart_app': {
37
+ await appService.restartApp(client, args.name);
38
+ return successResponse(`App "${args.name}" restarted successfully.`);
39
+ }
40
+ case 'liara_resize_app': {
41
+ await appService.resizeApp(client, args.name, args.planID);
42
+ return successResponse(`App "${args.name}" resized to plan "${args.planID}" successfully.`);
43
+ }
44
+ default:
45
+ return null;
46
+ }
47
+ }
48
+ //# sourceMappingURL=app-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-handlers.js","sourceRoot":"","sources":["../../src/handlers/app-handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAA2B,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEvG,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,MAAmB,EACnB,IAAY,EACZ,IAAS;IAET,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACxE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAK,CAAC,IAAc,CAAC,CAAC;YAClE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACtB,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,IAAuC,CAAC,CAAC;YACxF,OAAO,YAAY,CAAC;gBAChB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,QAAQ,GAAG,CAAC,IAAI,wBAAwB;aACpD,CAAC,CAAC;QACP,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACtB,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,IAAK,CAAC,IAAc,CAAC,CAAC;YACzD,OAAO,eAAe,CAAC,QAAQ,IAAK,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACrB,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAK,CAAC,IAAc,CAAC,CAAC;YACxD,OAAO,eAAe,CAAC,QAAQ,IAAK,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACpB,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAK,CAAC,IAAc,CAAC,CAAC;YACvD,OAAO,eAAe,CAAC,QAAQ,IAAK,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACvB,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,IAAK,CAAC,IAAc,CAAC,CAAC;YAC1D,OAAO,eAAe,CAAC,QAAQ,IAAK,CAAC,IAAI,2BAA2B,CAAC,CAAC;QAC1E,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACtB,MAAM,UAAU,CAAC,SAAS,CACtB,MAAM,EACN,IAAK,CAAC,IAAc,EACpB,IAAK,CAAC,MAAgB,CACzB,CAAC;YACF,OAAO,eAAe,CAAC,QAAQ,IAAK,CAAC,IAAI,sBAAsB,IAAK,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAClG,CAAC;QAED;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Consolidated tool handlers - handles all consolidated tool operations
3
+ */
4
+ import { LiaraClient, ToolResult } from './types.js';
5
+ /**
6
+ * Handle consolidated tool calls
7
+ */
8
+ export declare function handleConsolidatedTools(client: LiaraClient, name: string, args: any): Promise<ToolResult | null>;
9
+ //# sourceMappingURL=consolidated-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consolidated-handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/consolidated-handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAOrD;;GAEG;AACH,wBAAsB,uBAAuB,CACzC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,GACV,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA6B5B"}
@@ -0,0 +1,400 @@
1
+ import * as appService from '../services/apps.js';
2
+ import * as envService from '../services/environment.js';
3
+ import * as dbService from '../services/databases.js';
4
+ import * as storageService from '../services/storage.js';
5
+ import * as deploymentService from '../services/deployment.js';
6
+ /**
7
+ * Handle consolidated tool calls
8
+ */
9
+ export async function handleConsolidatedTools(client, name, args) {
10
+ switch (name) {
11
+ case 'liara_manage_app':
12
+ return await handleAppManagement(client, args);
13
+ case 'liara_manage_env_vars':
14
+ return await handleEnvVarManagement(client, args);
15
+ case 'liara_manage_databases':
16
+ return await handleDatabaseManagement(client, args);
17
+ case 'liara_manage_database_backups':
18
+ return await handleDatabaseBackupManagement(client, args);
19
+ case 'liara_manage_buckets':
20
+ return await handleBucketManagement(client, args);
21
+ case 'liara_manage_bucket_objects':
22
+ return await handleBucketObjectManagement(client, args);
23
+ case 'liara_get_infrastructure_overview':
24
+ return await handleInfrastructureOverview(client);
25
+ case 'liara_manage_deployment':
26
+ return await handleDeploymentManagement(client, args);
27
+ default:
28
+ return null; // Not a consolidated tool
29
+ }
30
+ }
31
+ /**
32
+ * Handle app management operations
33
+ */
34
+ async function handleAppManagement(client, args) {
35
+ const { action, name, platform, planID, region, page, perPage } = args;
36
+ switch (action) {
37
+ case 'list':
38
+ const apps = await appService.listApps(client, { page, perPage });
39
+ return {
40
+ content: [{ type: 'text', text: JSON.stringify(apps, null, 2) }],
41
+ };
42
+ case 'get':
43
+ if (!name)
44
+ throw new Error('App name is required for get action');
45
+ const app = await appService.getApp(client, name);
46
+ return {
47
+ content: [{ type: 'text', text: JSON.stringify(app, null, 2) }],
48
+ };
49
+ case 'create':
50
+ if (!name || !platform || !planID) {
51
+ throw new Error('name, platform, and planID are required for create action');
52
+ }
53
+ const createdApp = await appService.createApp(client, { name, platform, planID, region });
54
+ return {
55
+ content: [{ type: 'text', text: JSON.stringify(createdApp, null, 2) }],
56
+ };
57
+ case 'delete':
58
+ if (!name)
59
+ throw new Error('App name is required for delete action');
60
+ await appService.deleteApp(client, name);
61
+ return {
62
+ content: [{ type: 'text', text: `App '${name}' deleted successfully` }],
63
+ };
64
+ case 'start':
65
+ if (!name)
66
+ throw new Error('App name is required for start action');
67
+ await appService.startApp(client, name);
68
+ return {
69
+ content: [{ type: 'text', text: `App '${name}' started successfully` }],
70
+ };
71
+ case 'stop':
72
+ if (!name)
73
+ throw new Error('App name is required for stop action');
74
+ await appService.stopApp(client, name);
75
+ return {
76
+ content: [{ type: 'text', text: `App '${name}' stopped successfully` }],
77
+ };
78
+ case 'restart':
79
+ if (!name)
80
+ throw new Error('App name is required for restart action');
81
+ await appService.restartApp(client, name);
82
+ return {
83
+ content: [{ type: 'text', text: `App '${name}' restarted successfully` }],
84
+ };
85
+ case 'resize':
86
+ if (!name || !planID)
87
+ throw new Error('App name and planID are required for resize action');
88
+ await appService.resizeApp(client, name, planID);
89
+ return {
90
+ content: [{ type: 'text', text: `App '${name}' resized to plan '${planID}' successfully` }],
91
+ };
92
+ default:
93
+ throw new Error(`Unknown app action: ${action}`);
94
+ }
95
+ }
96
+ /**
97
+ * Handle environment variable management operations
98
+ */
99
+ async function handleEnvVarManagement(client, args) {
100
+ const { action, appName, key, value, variables, keys } = args;
101
+ if (!appName)
102
+ throw new Error('appName is required for all env var actions');
103
+ switch (action) {
104
+ case 'list':
105
+ const envVars = await envService.getEnvVars(client, appName);
106
+ return {
107
+ content: [{ type: 'text', text: JSON.stringify(envVars, null, 2) }],
108
+ };
109
+ case 'set':
110
+ if (!key || !value)
111
+ throw new Error('key and value are required for set action');
112
+ await envService.setEnvVar(client, appName, key, value);
113
+ return {
114
+ content: [{ type: 'text', text: `Environment variable '${key}' set successfully for app '${appName}'` }],
115
+ };
116
+ case 'set_multiple':
117
+ if (!variables || !Array.isArray(variables))
118
+ throw new Error('variables array is required for set_multiple action');
119
+ await envService.updateEnvVars(client, appName, variables);
120
+ return {
121
+ content: [{ type: 'text', text: `${variables.length} environment variables set successfully for app '${appName}'` }],
122
+ };
123
+ case 'delete':
124
+ if (!key)
125
+ throw new Error('key is required for delete action');
126
+ await envService.deleteEnvVar(client, appName, key);
127
+ return {
128
+ content: [{ type: 'text', text: `Environment variable '${key}' deleted successfully from app '${appName}'` }],
129
+ };
130
+ case 'delete_multiple':
131
+ if (!keys || !Array.isArray(keys))
132
+ throw new Error('keys array is required for delete_multiple action');
133
+ await envService.deleteEnvVars(client, appName, keys);
134
+ return {
135
+ content: [{ type: 'text', text: `${keys.length} environment variables deleted successfully from app '${appName}'` }],
136
+ };
137
+ default:
138
+ throw new Error(`Unknown env var action: ${action}`);
139
+ }
140
+ }
141
+ /**
142
+ * Handle database management operations
143
+ */
144
+ async function handleDatabaseManagement(client, args) {
145
+ const { action, name, type, planID, version } = args;
146
+ switch (action) {
147
+ case 'list':
148
+ const databases = await dbService.listDatabases(client);
149
+ return {
150
+ content: [{ type: 'text', text: JSON.stringify(databases, null, 2) }],
151
+ };
152
+ case 'get':
153
+ if (!name)
154
+ throw new Error('Database name is required for get action');
155
+ const database = await dbService.getDatabase(client, name);
156
+ return {
157
+ content: [{ type: 'text', text: JSON.stringify(database, null, 2) }],
158
+ };
159
+ case 'get_connection':
160
+ if (!name)
161
+ throw new Error('Database name is required for get_connection action');
162
+ const connection = await dbService.getDatabaseConnection(client, name);
163
+ return {
164
+ content: [{ type: 'text', text: JSON.stringify(connection, null, 2) }],
165
+ };
166
+ case 'create':
167
+ if (!name || !type || !planID) {
168
+ throw new Error('name, type, and planID are required for create action');
169
+ }
170
+ const createdDb = await dbService.createDatabase(client, { name, type, planID, version });
171
+ return {
172
+ content: [{ type: 'text', text: JSON.stringify(createdDb, null, 2) }],
173
+ };
174
+ case 'delete':
175
+ if (!name)
176
+ throw new Error('Database name is required for delete action');
177
+ await dbService.deleteDatabase(client, name);
178
+ return {
179
+ content: [{ type: 'text', text: `Database '${name}' deleted successfully` }],
180
+ };
181
+ case 'start':
182
+ if (!name)
183
+ throw new Error('Database name is required for start action');
184
+ await dbService.startDatabase(client, name);
185
+ return {
186
+ content: [{ type: 'text', text: `Database '${name}' started successfully` }],
187
+ };
188
+ case 'stop':
189
+ if (!name)
190
+ throw new Error('Database name is required for stop action');
191
+ await dbService.stopDatabase(client, name);
192
+ return {
193
+ content: [{ type: 'text', text: `Database '${name}' stopped successfully` }],
194
+ };
195
+ case 'restart':
196
+ if (!name)
197
+ throw new Error('Database name is required for restart action');
198
+ await dbService.restartDatabase(client, name);
199
+ return {
200
+ content: [{ type: 'text', text: `Database '${name}' restarted successfully` }],
201
+ };
202
+ case 'resize':
203
+ case 'update':
204
+ if (!name)
205
+ throw new Error('Database name is required for update action');
206
+ const updateData = {};
207
+ if (planID)
208
+ updateData.planID = planID;
209
+ if (version)
210
+ updateData.version = version;
211
+ if (Object.keys(updateData).length === 0) {
212
+ throw new Error('At least planID or version must be provided for update action');
213
+ }
214
+ await dbService.updateDatabase(client, name, updateData);
215
+ return {
216
+ content: [{ type: 'text', text: `Database '${name}' updated successfully` }],
217
+ };
218
+ default:
219
+ throw new Error(`Unknown database action: ${action}`);
220
+ }
221
+ }
222
+ /**
223
+ * Handle database backup management operations
224
+ */
225
+ async function handleDatabaseBackupManagement(client, args) {
226
+ const { action, databaseName, backupId } = args;
227
+ if (!databaseName)
228
+ throw new Error('databaseName is required for all backup actions');
229
+ switch (action) {
230
+ case 'create':
231
+ const backup = await dbService.createBackup(client, databaseName);
232
+ return {
233
+ content: [{ type: 'text', text: JSON.stringify(backup, null, 2) }],
234
+ };
235
+ case 'list':
236
+ const backups = await dbService.listBackups(client, databaseName);
237
+ return {
238
+ content: [{ type: 'text', text: JSON.stringify(backups, null, 2) }],
239
+ };
240
+ case 'get_download_url':
241
+ if (!backupId)
242
+ throw new Error('backupId is required for get_download_url action');
243
+ const downloadUrl = await dbService.getBackupDownloadUrl(client, databaseName, backupId);
244
+ return {
245
+ content: [{ type: 'text', text: downloadUrl.url }],
246
+ };
247
+ case 'restore':
248
+ if (!backupId)
249
+ throw new Error('backupId is required for restore action');
250
+ await dbService.restoreBackup(client, databaseName, backupId);
251
+ return {
252
+ content: [{ type: 'text', text: `Database '${databaseName}' restored from backup '${backupId}' successfully` }],
253
+ };
254
+ case 'delete':
255
+ if (!backupId)
256
+ throw new Error('backupId is required for delete action');
257
+ await dbService.deleteBackup(client, databaseName, backupId);
258
+ return {
259
+ content: [{ type: 'text', text: `Backup '${backupId}' deleted successfully from database '${databaseName}'` }],
260
+ };
261
+ default:
262
+ throw new Error(`Unknown backup action: ${action}`);
263
+ }
264
+ }
265
+ /**
266
+ * Handle bucket management operations
267
+ */
268
+ async function handleBucketManagement(client, args) {
269
+ const { action, name, region, permission, page, perPage } = args;
270
+ switch (action) {
271
+ case 'list':
272
+ const buckets = await storageService.listBuckets(client, { page, perPage });
273
+ return {
274
+ content: [{ type: 'text', text: JSON.stringify(buckets, null, 2) }],
275
+ };
276
+ case 'get':
277
+ if (!name)
278
+ throw new Error('Bucket name is required for get action');
279
+ const bucket = await storageService.getBucket(client, name);
280
+ return {
281
+ content: [{ type: 'text', text: JSON.stringify(bucket, null, 2) }],
282
+ };
283
+ case 'create':
284
+ if (!name)
285
+ throw new Error('Bucket name is required for create action');
286
+ const createdBucket = await storageService.createBucket(client, { name, region, permission });
287
+ return {
288
+ content: [{ type: 'text', text: JSON.stringify(createdBucket, null, 2) }],
289
+ };
290
+ case 'delete':
291
+ if (!name)
292
+ throw new Error('Bucket name is required for delete action');
293
+ await storageService.deleteBucket(client, name);
294
+ return {
295
+ content: [{ type: 'text', text: `Bucket '${name}' deleted successfully` }],
296
+ };
297
+ case 'get_credentials':
298
+ if (!name)
299
+ throw new Error('Bucket name is required for get_credentials action');
300
+ const credentials = await storageService.getBucketCredentials(client, name);
301
+ return {
302
+ content: [{ type: 'text', text: JSON.stringify(credentials, null, 2) }],
303
+ };
304
+ default:
305
+ throw new Error(`Unknown bucket action: ${action}`);
306
+ }
307
+ }
308
+ /**
309
+ * Handle bucket object management operations
310
+ */
311
+ async function handleBucketObjectManagement(client, args) {
312
+ const { action, bucketName, objectKey, filePath, prefix, maxKeys, expiresIn } = args;
313
+ if (!bucketName)
314
+ throw new Error('bucketName is required for all object actions');
315
+ switch (action) {
316
+ case 'list':
317
+ const objects = await storageService.listObjects(client, bucketName, prefix, maxKeys);
318
+ return {
319
+ content: [{ type: 'text', text: JSON.stringify(objects, null, 2) }],
320
+ };
321
+ case 'upload':
322
+ if (!objectKey || !filePath)
323
+ throw new Error('objectKey and filePath are required for upload action');
324
+ await storageService.uploadObject(client, bucketName, objectKey, filePath);
325
+ return {
326
+ content: [{ type: 'text', text: `Object '${objectKey}' uploaded successfully to bucket '${bucketName}'` }],
327
+ };
328
+ case 'get_download_url':
329
+ if (!objectKey)
330
+ throw new Error('objectKey is required for get_download_url action');
331
+ const downloadUrl = await storageService.getObjectDownloadUrl(client, bucketName, objectKey, expiresIn);
332
+ return {
333
+ content: [{ type: 'text', text: downloadUrl.url }],
334
+ };
335
+ case 'delete':
336
+ if (!objectKey)
337
+ throw new Error('objectKey is required for delete action');
338
+ await storageService.deleteObject(client, bucketName, objectKey);
339
+ return {
340
+ content: [{ type: 'text', text: `Object '${objectKey}' deleted successfully from bucket '${bucketName}'` }],
341
+ };
342
+ default:
343
+ throw new Error(`Unknown object action: ${action}`);
344
+ }
345
+ }
346
+ /**
347
+ * Handle infrastructure overview
348
+ */
349
+ async function handleInfrastructureOverview(client) {
350
+ // Get all resources in parallel
351
+ const [apps, databases, buckets] = await Promise.all([
352
+ appService.listApps(client, {}),
353
+ dbService.listDatabases(client),
354
+ storageService.listBuckets(client, {}),
355
+ ]);
356
+ const overview = {
357
+ apps: {
358
+ count: apps.length,
359
+ items: apps,
360
+ },
361
+ databases: {
362
+ count: databases.length,
363
+ items: databases,
364
+ },
365
+ buckets: {
366
+ count: buckets.length,
367
+ items: buckets,
368
+ },
369
+ timestamp: new Date().toISOString(),
370
+ };
371
+ return {
372
+ content: [{ type: 'text', text: JSON.stringify(overview, null, 2) }],
373
+ };
374
+ }
375
+ /**
376
+ * Handle deployment management operations
377
+ */
378
+ async function handleDeploymentManagement(client, args) {
379
+ const { action, appName, lines } = args;
380
+ if (!appName)
381
+ throw new Error('appName is required for all deployment actions');
382
+ switch (action) {
383
+ case 'list_releases':
384
+ const releases = await deploymentService.listReleases(client, appName, { page: 1, perPage: lines || 10 });
385
+ return {
386
+ content: [{ type: 'text', text: JSON.stringify(releases, null, 2) }],
387
+ };
388
+ case 'list_sources':
389
+ const sources = await deploymentService.listSources(client, appName);
390
+ return {
391
+ content: [{ type: 'text', text: JSON.stringify(sources, null, 2) }],
392
+ };
393
+ case 'upload_source':
394
+ // This would require file path parameter - simplified for now
395
+ throw new Error('upload_source requires file path parameter (not implemented in consolidated tool)');
396
+ default:
397
+ throw new Error(`Unknown deployment action: ${action}`);
398
+ }
399
+ }
400
+ //# sourceMappingURL=consolidated-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consolidated-handlers.js","sourceRoot":"","sources":["../../src/handlers/consolidated-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { LiaraClient, ToolResult } from './types.js';
2
+ export declare function handleDatabaseTools(client: LiaraClient, name: string, args: any): Promise<ToolResult | null>;
3
+ //# sourceMappingURL=database-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/database-handlers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAiC,MAAM,YAAY,CAAC;AAEpF,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,GACV,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA+G5B"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Database tool handlers
3
+ */
4
+ import * as dbService from '../services/databases.js';
5
+ import { successResponse, jsonResponse } from './types.js';
6
+ export async function handleDatabaseTools(client, name, args) {
7
+ switch (name) {
8
+ case 'liara_list_databases': {
9
+ const databases = await dbService.listDatabases(client);
10
+ return jsonResponse(databases);
11
+ }
12
+ case 'liara_get_database': {
13
+ const database = await dbService.getDatabase(client, args.name);
14
+ return jsonResponse(database);
15
+ }
16
+ case 'liara_get_database_connection': {
17
+ const connection = await dbService.getDatabaseConnection(client, args.databaseName);
18
+ return jsonResponse(connection);
19
+ }
20
+ case 'liara_update_database': {
21
+ const database = await dbService.updateDatabase(client, args.name, {
22
+ planID: args.planID,
23
+ version: args.version,
24
+ });
25
+ return successResponse(`Database "${args.name}" updated successfully.\n${JSON.stringify(database, null, 2)}`);
26
+ }
27
+ case 'liara_create_database': {
28
+ const database = await dbService.createDatabase(client, args);
29
+ return successResponse(`Database "${database.name}" created successfully.\n${JSON.stringify(database, null, 2)}`);
30
+ }
31
+ case 'liara_delete_database': {
32
+ await dbService.deleteDatabase(client, args.name);
33
+ return successResponse(`Database "${args.name}" deleted successfully.`);
34
+ }
35
+ case 'liara_start_database': {
36
+ await dbService.startDatabase(client, args.name);
37
+ return successResponse(`Database "${args.name}" started successfully.`);
38
+ }
39
+ case 'liara_stop_database': {
40
+ await dbService.stopDatabase(client, args.name);
41
+ return successResponse(`Database "${args.name}" stopped successfully.`);
42
+ }
43
+ case 'liara_resize_database': {
44
+ await dbService.resizeDatabase(client, args.name, args.planID);
45
+ return successResponse(`Database "${args.name}" resized to plan "${args.planID}" successfully.`);
46
+ }
47
+ case 'liara_create_backup': {
48
+ const backup = await dbService.createBackup(client, args.databaseName);
49
+ return successResponse(`Backup created successfully.\n${JSON.stringify(backup, null, 2)}`);
50
+ }
51
+ case 'liara_list_backups': {
52
+ const backups = await dbService.listBackups(client, args.databaseName);
53
+ return jsonResponse(backups);
54
+ }
55
+ case 'liara_get_backup_download_url': {
56
+ const result = await dbService.getBackupDownloadUrl(client, args.databaseName, args.backupId);
57
+ return jsonResponse(result);
58
+ }
59
+ case 'liara_restart_database': {
60
+ await dbService.restartDatabase(client, args.name);
61
+ return successResponse(`Database "${args.name}" restarted successfully.`);
62
+ }
63
+ case 'liara_restore_backup': {
64
+ const result = await dbService.restoreBackup(client, args.databaseName, args.backupId);
65
+ return successResponse(result.message || `Database "${args.databaseName}" restored from backup "${args.backupId}" successfully.`);
66
+ }
67
+ case 'liara_delete_backup': {
68
+ await dbService.deleteBackup(client, args.databaseName, args.backupId);
69
+ return successResponse(`Backup "${args.backupId}" deleted successfully.`);
70
+ }
71
+ default:
72
+ return null;
73
+ }
74
+ }
75
+ //# sourceMappingURL=database-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-handlers.js","sourceRoot":"","sources":["../../src/handlers/database-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { LiaraClient, ToolResult } from './types.js';
2
+ export declare function handleDeploymentTools(client: LiaraClient, name: string, args: any): Promise<ToolResult | null>;
3
+ //# sourceMappingURL=deployment-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/deployment-handlers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAoD,MAAM,YAAY,CAAC;AAEvG,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,GACV,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAuE5B"}