liara-mcp 0.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 (79) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +353 -0
  3. package/dist/api/client.d.ts +49 -0
  4. package/dist/api/client.d.ts.map +1 -0
  5. package/dist/api/client.js +145 -0
  6. package/dist/api/client.js.map +1 -0
  7. package/dist/api/types.d.ts +256 -0
  8. package/dist/api/types.d.ts.map +1 -0
  9. package/dist/api/types.js +25 -0
  10. package/dist/api/types.js.map +1 -0
  11. package/dist/index.d.ts +3 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +3102 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/services/apps.d.ts +39 -0
  16. package/dist/services/apps.d.ts.map +1 -0
  17. package/dist/services/apps.js +83 -0
  18. package/dist/services/apps.js.map +1 -0
  19. package/dist/services/databases.d.ts +74 -0
  20. package/dist/services/databases.d.ts.map +1 -0
  21. package/dist/services/databases.js +120 -0
  22. package/dist/services/databases.js.map +1 -0
  23. package/dist/services/deployment.d.ts +57 -0
  24. package/dist/services/deployment.d.ts.map +1 -0
  25. package/dist/services/deployment.js +70 -0
  26. package/dist/services/deployment.js.map +1 -0
  27. package/dist/services/disks.d.ts +35 -0
  28. package/dist/services/disks.d.ts.map +1 -0
  29. package/dist/services/disks.js +88 -0
  30. package/dist/services/disks.js.map +1 -0
  31. package/dist/services/dns.d.ts +43 -0
  32. package/dist/services/dns.d.ts.map +1 -0
  33. package/dist/services/dns.js +80 -0
  34. package/dist/services/dns.js.map +1 -0
  35. package/dist/services/domains.d.ts +23 -0
  36. package/dist/services/domains.d.ts.map +1 -0
  37. package/dist/services/domains.js +42 -0
  38. package/dist/services/domains.js.map +1 -0
  39. package/dist/services/environment.d.ts +31 -0
  40. package/dist/services/environment.d.ts.map +1 -0
  41. package/dist/services/environment.js +59 -0
  42. package/dist/services/environment.js.map +1 -0
  43. package/dist/services/iaas.d.ts +80 -0
  44. package/dist/services/iaas.d.ts.map +1 -0
  45. package/dist/services/iaas.js +161 -0
  46. package/dist/services/iaas.js.map +1 -0
  47. package/dist/services/mail.d.ts +38 -0
  48. package/dist/services/mail.d.ts.map +1 -0
  49. package/dist/services/mail.js +65 -0
  50. package/dist/services/mail.js.map +1 -0
  51. package/dist/services/network.d.ts +19 -0
  52. package/dist/services/network.d.ts.map +1 -0
  53. package/dist/services/network.js +35 -0
  54. package/dist/services/network.js.map +1 -0
  55. package/dist/services/observability.d.ts +24 -0
  56. package/dist/services/observability.d.ts.map +1 -0
  57. package/dist/services/observability.js +41 -0
  58. package/dist/services/observability.js.map +1 -0
  59. package/dist/services/plans.d.ts +12 -0
  60. package/dist/services/plans.d.ts.map +1 -0
  61. package/dist/services/plans.js +17 -0
  62. package/dist/services/plans.js.map +1 -0
  63. package/dist/services/settings.d.ts +28 -0
  64. package/dist/services/settings.d.ts.map +1 -0
  65. package/dist/services/settings.js +37 -0
  66. package/dist/services/settings.js.map +1 -0
  67. package/dist/services/storage.d.ts +60 -0
  68. package/dist/services/storage.d.ts.map +1 -0
  69. package/dist/services/storage.js +96 -0
  70. package/dist/services/storage.js.map +1 -0
  71. package/dist/services/user.d.ts +32 -0
  72. package/dist/services/user.d.ts.map +1 -0
  73. package/dist/services/user.js +16 -0
  74. package/dist/services/user.js.map +1 -0
  75. package/dist/utils/errors.d.ts +30 -0
  76. package/dist/utils/errors.d.ts.map +1 -0
  77. package/dist/utils/errors.js +63 -0
  78. package/dist/utils/errors.js.map +1 -0
  79. package/package.json +67 -0
@@ -0,0 +1,35 @@
1
+ import { LiaraClient } from '../api/client.js';
2
+ import { Disk, CreateDiskRequest, FtpAccess, PaginationOptions } from '../api/types.js';
3
+ /**
4
+ * List disks for a project
5
+ */
6
+ export declare function listDisks(client: LiaraClient, appName: string, pagination?: PaginationOptions): Promise<Disk[]>;
7
+ /**
8
+ * Get details of a specific disk
9
+ */
10
+ export declare function getDisk(client: LiaraClient, appName: string, diskName: string): Promise<Disk>;
11
+ /**
12
+ * Create a new disk for a project
13
+ */
14
+ export declare function createDisk(client: LiaraClient, appName: string, request: CreateDiskRequest): Promise<Disk>;
15
+ /**
16
+ * Delete a disk
17
+ */
18
+ export declare function deleteDisk(client: LiaraClient, appName: string, diskName: string): Promise<void>;
19
+ /**
20
+ * Create FTP access for a disk
21
+ */
22
+ export declare function createFtpAccess(client: LiaraClient, appName: string, diskName: string): Promise<FtpAccess>;
23
+ /**
24
+ * List FTP accesses for a disk
25
+ */
26
+ export declare function listFtpAccesses(client: LiaraClient, appName: string, diskName: string, pagination?: PaginationOptions): Promise<FtpAccess[]>;
27
+ /**
28
+ * Delete/revoke FTP access for a disk
29
+ */
30
+ export declare function deleteFtpAccess(client: LiaraClient, appName: string, diskName: string, ftpId: string): Promise<void>;
31
+ /**
32
+ * Resize a disk
33
+ */
34
+ export declare function resizeDisk(client: LiaraClient, appName: string, diskName: string, size: number): Promise<Disk>;
35
+ //# sourceMappingURL=disks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disks.d.ts","sourceRoot":"","sources":["../../src/services/disks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACH,IAAI,EACJ,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EAEpB,MAAM,iBAAiB,CAAC;AAGzB;;GAEG;AACH,wBAAsB,SAAS,CAC3B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,IAAI,EAAE,CAAC,CAgBjB;AAED;;GAEG;AACH,wBAAsB,OAAO,CACzB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,CAAC,CAOpB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,SAAS,EAAE,CAAC,CAStB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -0,0 +1,88 @@
1
+ import { paginationToParams, } from '../api/types.js';
2
+ import { validateAppName, validateRequired } from '../utils/errors.js';
3
+ /**
4
+ * List disks for a project
5
+ */
6
+ export async function listDisks(client, appName, pagination) {
7
+ validateAppName(appName);
8
+ // Disks are included in project details, but we can still apply pagination client-side if needed
9
+ const project = await client.get(`/v1/projects/${appName}`);
10
+ const disks = project.disks || [];
11
+ // Apply client-side pagination if needed (since disks come from project details)
12
+ if (pagination) {
13
+ const page = pagination.page || 1;
14
+ const perPage = pagination.perPage || pagination.limit || 100;
15
+ const start = (page - 1) * perPage;
16
+ const end = start + perPage;
17
+ return disks.slice(start, end);
18
+ }
19
+ return disks;
20
+ }
21
+ /**
22
+ * Get details of a specific disk
23
+ */
24
+ export async function getDisk(client, appName, diskName) {
25
+ validateAppName(appName);
26
+ validateRequired(diskName, 'Disk name');
27
+ return await client.get(`/v1/projects/${appName}/disks/${diskName}`);
28
+ }
29
+ /**
30
+ * Create a new disk for a project
31
+ */
32
+ export async function createDisk(client, appName, request) {
33
+ validateAppName(appName);
34
+ validateRequired(request.name, 'Disk name');
35
+ validateRequired(request.size, 'Disk size');
36
+ validateRequired(request.mountPath, 'Mount path');
37
+ if (request.size <= 0) {
38
+ throw new Error('Disk size must be greater than 0');
39
+ }
40
+ return await client.post(`/v1/projects/${appName}/disks`, request);
41
+ }
42
+ /**
43
+ * Delete a disk
44
+ */
45
+ export async function deleteDisk(client, appName, diskName) {
46
+ validateAppName(appName);
47
+ validateRequired(diskName, 'Disk name');
48
+ await client.delete(`/v1/projects/${appName}/disks/${diskName}`);
49
+ }
50
+ /**
51
+ * Create FTP access for a disk
52
+ */
53
+ export async function createFtpAccess(client, appName, diskName) {
54
+ validateAppName(appName);
55
+ validateRequired(diskName, 'Disk name');
56
+ return await client.post(`/v1/projects/${appName}/disks/${diskName}/ftp`);
57
+ }
58
+ /**
59
+ * List FTP accesses for a disk
60
+ */
61
+ export async function listFtpAccesses(client, appName, diskName, pagination) {
62
+ validateAppName(appName);
63
+ validateRequired(diskName, 'Disk name');
64
+ const params = paginationToParams(pagination);
65
+ return await client.get(`/v1/projects/${appName}/disks/${diskName}/ftp`, params);
66
+ }
67
+ /**
68
+ * Delete/revoke FTP access for a disk
69
+ */
70
+ export async function deleteFtpAccess(client, appName, diskName, ftpId) {
71
+ validateAppName(appName);
72
+ validateRequired(diskName, 'Disk name');
73
+ validateRequired(ftpId, 'FTP access ID');
74
+ await client.delete(`/v1/projects/${appName}/disks/${diskName}/ftp/${ftpId}`);
75
+ }
76
+ /**
77
+ * Resize a disk
78
+ */
79
+ export async function resizeDisk(client, appName, diskName, size) {
80
+ validateAppName(appName);
81
+ validateRequired(diskName, 'Disk name');
82
+ validateRequired(size, 'Disk size');
83
+ if (size <= 0) {
84
+ throw new Error('Disk size must be greater than 0');
85
+ }
86
+ return await client.post(`/v1/projects/${appName}/disks/${diskName}/resize`, { size });
87
+ }
88
+ //# sourceMappingURL=disks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disks.js","sourceRoot":"","sources":["../../src/services/disks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { LiaraClient } from '../api/client.js';
2
+ import { Zone, DnsRecord, CreateDnsRecordRequest, DomainCheck, PaginationOptions } from '../api/types.js';
3
+ /**
4
+ * List all DNS zones
5
+ */
6
+ export declare function listZones(client: LiaraClient, pagination?: PaginationOptions): Promise<Zone[]>;
7
+ /**
8
+ * Get details of a specific DNS zone
9
+ */
10
+ export declare function getZone(client: LiaraClient, zoneId: string): Promise<Zone>;
11
+ /**
12
+ * Create a new DNS zone
13
+ */
14
+ export declare function createZone(client: LiaraClient, name: string): Promise<Zone>;
15
+ /**
16
+ * Delete a DNS zone
17
+ */
18
+ export declare function deleteZone(client: LiaraClient, zoneId: string): Promise<void>;
19
+ /**
20
+ * Check DNS zone status
21
+ */
22
+ export declare function checkZone(client: LiaraClient, zoneId: string): Promise<DomainCheck>;
23
+ /**
24
+ * List DNS records for a zone
25
+ */
26
+ export declare function listRecords(client: LiaraClient, zoneId: string, pagination?: PaginationOptions): Promise<DnsRecord[]>;
27
+ /**
28
+ * Get a specific DNS record
29
+ */
30
+ export declare function getRecord(client: LiaraClient, zoneId: string, recordId: string): Promise<DnsRecord>;
31
+ /**
32
+ * Create a DNS record
33
+ */
34
+ export declare function createRecord(client: LiaraClient, zoneId: string, request: CreateDnsRecordRequest): Promise<DnsRecord>;
35
+ /**
36
+ * Update a DNS record
37
+ */
38
+ export declare function updateRecord(client: LiaraClient, zoneId: string, recordId: string, request: Partial<CreateDnsRecordRequest>): Promise<DnsRecord>;
39
+ /**
40
+ * Delete a DNS record
41
+ */
42
+ export declare function deleteRecord(client: LiaraClient, zoneId: string, recordId: string): Promise<void>;
43
+ //# sourceMappingURL=dns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../../src/services/dns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACH,IAAI,EACJ,SAAS,EACT,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EAEpB,MAAM,iBAAiB,CAAC;AAGzB;;GAEG;AACH,wBAAsB,SAAS,CAC3B,MAAM,EAAE,WAAW,EACnB,UAAU,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,IAAI,EAAE,CAAC,CAGjB;AAED;;GAEG;AACH,wBAAsB,OAAO,CACzB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC5B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC5B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC3B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAGtB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC7B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,SAAS,EAAE,CAAC,CAItB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC3B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,CAAC,CAIpB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAC9B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,sBAAsB,GAChC,OAAO,CAAC,SAAS,CAAC,CAUpB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAC9B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACzC,OAAO,CAAC,SAAS,CAAC,CAQpB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAC9B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAIf"}
@@ -0,0 +1,80 @@
1
+ import { paginationToParams, } from '../api/types.js';
2
+ import { validateRequired } from '../utils/errors.js';
3
+ /**
4
+ * List all DNS zones
5
+ */
6
+ export async function listZones(client, pagination) {
7
+ const params = paginationToParams(pagination);
8
+ return await client.get('/v1/zones', params);
9
+ }
10
+ /**
11
+ * Get details of a specific DNS zone
12
+ */
13
+ export async function getZone(client, zoneId) {
14
+ validateRequired(zoneId, 'Zone ID');
15
+ return await client.get(`/v1/zones/${zoneId}`);
16
+ }
17
+ /**
18
+ * Create a new DNS zone
19
+ */
20
+ export async function createZone(client, name) {
21
+ validateRequired(name, 'Zone name');
22
+ return await client.post('/v1/zones', { name });
23
+ }
24
+ /**
25
+ * Delete a DNS zone
26
+ */
27
+ export async function deleteZone(client, zoneId) {
28
+ validateRequired(zoneId, 'Zone ID');
29
+ await client.delete(`/v1/zones/${zoneId}`);
30
+ }
31
+ /**
32
+ * Check DNS zone status
33
+ */
34
+ export async function checkZone(client, zoneId) {
35
+ validateRequired(zoneId, 'Zone ID');
36
+ return await client.get(`/v1/zones/${zoneId}/check`);
37
+ }
38
+ /**
39
+ * List DNS records for a zone
40
+ */
41
+ export async function listRecords(client, zoneId, pagination) {
42
+ validateRequired(zoneId, 'Zone ID');
43
+ const params = paginationToParams(pagination);
44
+ return await client.get(`/v1/zones/${zoneId}/records`, params);
45
+ }
46
+ /**
47
+ * Get a specific DNS record
48
+ */
49
+ export async function getRecord(client, zoneId, recordId) {
50
+ validateRequired(zoneId, 'Zone ID');
51
+ validateRequired(recordId, 'Record ID');
52
+ return await client.get(`/v1/zones/${zoneId}/records/${recordId}`);
53
+ }
54
+ /**
55
+ * Create a DNS record
56
+ */
57
+ export async function createRecord(client, zoneId, request) {
58
+ validateRequired(zoneId, 'Zone ID');
59
+ validateRequired(request.type, 'Record type');
60
+ validateRequired(request.name, 'Record name');
61
+ validateRequired(request.value, 'Record value');
62
+ return await client.post(`/v1/zones/${zoneId}/records`, request);
63
+ }
64
+ /**
65
+ * Update a DNS record
66
+ */
67
+ export async function updateRecord(client, zoneId, recordId, request) {
68
+ validateRequired(zoneId, 'Zone ID');
69
+ validateRequired(recordId, 'Record ID');
70
+ return await client.put(`/v1/zones/${zoneId}/records/${recordId}`, request);
71
+ }
72
+ /**
73
+ * Delete a DNS record
74
+ */
75
+ export async function deleteRecord(client, zoneId, recordId) {
76
+ validateRequired(zoneId, 'Zone ID');
77
+ validateRequired(recordId, 'Record ID');
78
+ await client.delete(`/v1/zones/${zoneId}/records/${recordId}`);
79
+ }
80
+ //# sourceMappingURL=dns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dns.js","sourceRoot":"","sources":["../../src/services/dns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { LiaraClient } from '../api/client.js';
2
+ import { Domain, DomainCheck, PaginationOptions } from '../api/types.js';
3
+ /**
4
+ * List all domains
5
+ */
6
+ export declare function listDomains(client: LiaraClient, pagination?: PaginationOptions): Promise<Domain[]>;
7
+ /**
8
+ * Get details of a specific domain
9
+ */
10
+ export declare function getDomain(client: LiaraClient, domainId: string): Promise<Domain>;
11
+ /**
12
+ * Add a domain to an app
13
+ */
14
+ export declare function addDomain(client: LiaraClient, appName: string, domain: string): Promise<Domain>;
15
+ /**
16
+ * Remove a domain from an app
17
+ */
18
+ export declare function removeDomain(client: LiaraClient, domainId: string): Promise<void>;
19
+ /**
20
+ * Check domain status
21
+ */
22
+ export declare function checkDomain(client: LiaraClient, domainId: string): Promise<DomainCheck>;
23
+ //# sourceMappingURL=domains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../src/services/domains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACH,MAAM,EACN,WAAW,EACX,iBAAiB,EAEpB,MAAM,iBAAiB,CAAC;AAGzB;;GAEG;AACH,wBAAsB,WAAW,CAC7B,MAAM,EAAE,WAAW,EACnB,UAAU,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC3B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC3B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAC9B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC7B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC,CAGtB"}
@@ -0,0 +1,42 @@
1
+ import { paginationToParams, } from '../api/types.js';
2
+ import { validateRequired } from '../utils/errors.js';
3
+ /**
4
+ * List all domains
5
+ */
6
+ export async function listDomains(client, pagination) {
7
+ const params = paginationToParams(pagination);
8
+ return await client.get('/v1/domains', params);
9
+ }
10
+ /**
11
+ * Get details of a specific domain
12
+ */
13
+ export async function getDomain(client, domainId) {
14
+ validateRequired(domainId, 'Domain ID');
15
+ return await client.get(`/v1/domains/${domainId}`);
16
+ }
17
+ /**
18
+ * Add a domain to an app
19
+ */
20
+ export async function addDomain(client, appName, domain) {
21
+ validateRequired(appName, 'App name');
22
+ validateRequired(domain, 'Domain');
23
+ return await client.post('/v1/domains', {
24
+ project: appName,
25
+ domain,
26
+ });
27
+ }
28
+ /**
29
+ * Remove a domain from an app
30
+ */
31
+ export async function removeDomain(client, domainId) {
32
+ validateRequired(domainId, 'Domain ID');
33
+ await client.delete(`/v1/domains/${domainId}`);
34
+ }
35
+ /**
36
+ * Check domain status
37
+ */
38
+ export async function checkDomain(client, domainId) {
39
+ validateRequired(domainId, 'Domain ID');
40
+ return await client.get(`/v1/domains/${domainId}/check`);
41
+ }
42
+ //# sourceMappingURL=domains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/services/domains.ts"],"names":[],"mappings":"AACA,OAAO,EAIH,kBAAkB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,MAAmB,EACnB,UAA8B;IAE9B,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,MAAM,MAAM,CAAC,GAAG,CAAW,aAAa,EAAE,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,MAAmB,EACnB,QAAgB;IAEhB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxC,OAAO,MAAM,MAAM,CAAC,GAAG,CAAS,eAAe,QAAQ,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,MAAmB,EACnB,OAAe,EACf,MAAc;IAEd,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACtC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEnC,OAAO,MAAM,MAAM,CAAC,IAAI,CAAS,aAAa,EAAE;QAC5C,OAAO,EAAE,OAAO;QAChB,MAAM;KACT,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,MAAmB,EACnB,QAAgB;IAEhB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxC,MAAM,MAAM,CAAC,MAAM,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,MAAmB,EACnB,QAAgB;IAEhB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxC,OAAO,MAAM,MAAM,CAAC,GAAG,CAAc,eAAe,QAAQ,QAAQ,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { LiaraClient } from '../api/client.js';
2
+ import { EnvironmentVariable } from '../api/types.js';
3
+ /**
4
+ * Update environment variables for an app
5
+ */
6
+ export declare function updateEnvVars(client: LiaraClient, appName: string, variables: EnvironmentVariable[]): Promise<{
7
+ message: string;
8
+ }>;
9
+ /**
10
+ * Helper to set a single environment variable
11
+ */
12
+ export declare function setEnvVar(client: LiaraClient, appName: string, key: string, value: string): Promise<{
13
+ message: string;
14
+ }>;
15
+ /**
16
+ * Get all environment variables for an app
17
+ */
18
+ export declare function getEnvVars(client: LiaraClient, appName: string): Promise<EnvironmentVariable[]>;
19
+ /**
20
+ * Delete/unset environment variables
21
+ */
22
+ export declare function deleteEnvVars(client: LiaraClient, appName: string, keys: string[]): Promise<{
23
+ message: string;
24
+ }>;
25
+ /**
26
+ * Delete/unset a single environment variable
27
+ */
28
+ export declare function deleteEnvVar(client: LiaraClient, appName: string, key: string): Promise<{
29
+ message: string;
30
+ }>;
31
+ //# sourceMappingURL=environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/services/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACH,mBAAmB,EAEtB,MAAM,iBAAiB,CAAC;AAGzB;;GAEG;AACH,wBAAsB,aAAa,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,mBAAmB,EAAE,GACjC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB9B;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC3B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAE9B;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAIhC;AAED;;GAEG;AACH,wBAAsB,aAAa,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAqB9B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAC9B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAE9B"}
@@ -0,0 +1,59 @@
1
+ import { validateAppName, validateEnvKey, validateRequired } from '../utils/errors.js';
2
+ /**
3
+ * Update environment variables for an app
4
+ */
5
+ export async function updateEnvVars(client, appName, variables) {
6
+ validateAppName(appName);
7
+ validateRequired(variables, 'Variables');
8
+ // Validate each environment variable
9
+ for (const { key, value } of variables) {
10
+ validateEnvKey(key);
11
+ validateRequired(value, `Value for ${key}`);
12
+ }
13
+ const request = {
14
+ project: appName,
15
+ variables,
16
+ };
17
+ return await client.post('/v1/projects/update-envs', request);
18
+ }
19
+ /**
20
+ * Helper to set a single environment variable
21
+ */
22
+ export async function setEnvVar(client, appName, key, value) {
23
+ return await updateEnvVars(client, appName, [{ key, value }]);
24
+ }
25
+ /**
26
+ * Get all environment variables for an app
27
+ */
28
+ export async function getEnvVars(client, appName) {
29
+ validateAppName(appName);
30
+ const project = await client.get(`/v1/projects/${appName}`);
31
+ return project.envVars || [];
32
+ }
33
+ /**
34
+ * Delete/unset environment variables
35
+ */
36
+ export async function deleteEnvVars(client, appName, keys) {
37
+ validateAppName(appName);
38
+ validateRequired(keys, 'Environment variable keys');
39
+ if (keys.length === 0) {
40
+ throw new Error('At least one environment variable key is required');
41
+ }
42
+ // Get current env vars
43
+ const currentVars = await getEnvVars(client, appName);
44
+ // Filter out the keys to delete
45
+ const updatedVars = currentVars.filter(v => !keys.includes(v.key));
46
+ // Update with remaining vars
47
+ const request = {
48
+ project: appName,
49
+ variables: updatedVars,
50
+ };
51
+ return await client.post('/v1/projects/update-envs', request);
52
+ }
53
+ /**
54
+ * Delete/unset a single environment variable
55
+ */
56
+ export async function deleteEnvVar(client, appName, key) {
57
+ return await deleteEnvVars(client, appName, [key]);
58
+ }
59
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/services/environment.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEvF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,MAAmB,EACnB,OAAe,EACf,SAAgC;IAEhC,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAEzC,qCAAqC;IACrC,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,SAAS,EAAE,CAAC;QACrC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,OAAO,GAAsB;QAC/B,OAAO,EAAE,OAAO;QAChB,SAAS;KACZ,CAAC;IAEF,OAAO,MAAM,MAAM,CAAC,IAAI,CAAsB,0BAA0B,EAAE,OAAO,CAAC,CAAC;AACvF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,MAAmB,EACnB,OAAe,EACf,GAAW,EACX,KAAa;IAEb,OAAO,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,MAAmB,EACnB,OAAe;IAEf,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAM,gBAAgB,OAAO,EAAE,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,MAAmB,EACnB,OAAe,EACf,IAAc;IAEd,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,gBAAgB,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAEpD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACzE,CAAC;IAED,uBAAuB;IACvB,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtD,gCAAgC;IAChC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEnE,6BAA6B;IAC7B,MAAM,OAAO,GAAsB;QAC/B,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,WAAW;KACzB,CAAC;IAEF,OAAO,MAAM,MAAM,CAAC,IAAI,CAAsB,0BAA0B,EAAE,OAAO,CAAC,CAAC;AACvF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,MAAmB,EACnB,OAAe,EACf,GAAW;IAEX,OAAO,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { LiaraClient } from '../api/client.js';
2
+ import { VirtualMachine, CreateVmRequest, PaginationOptions } from '../api/types.js';
3
+ /**
4
+ * List all virtual machines
5
+ */
6
+ export declare function listVMs(client: LiaraClient, pagination?: PaginationOptions): Promise<VirtualMachine[]>;
7
+ /**
8
+ * Get details of a specific VM
9
+ */
10
+ export declare function getVM(client: LiaraClient, vmId: string): Promise<VirtualMachine>;
11
+ /**
12
+ * Create a new virtual machine
13
+ */
14
+ export declare function createVM(client: LiaraClient, request: CreateVmRequest): Promise<VirtualMachine>;
15
+ /**
16
+ * Start a VM
17
+ */
18
+ export declare function startVM(client: LiaraClient, vmId: string): Promise<void>;
19
+ /**
20
+ * Stop a VM
21
+ */
22
+ export declare function stopVM(client: LiaraClient, vmId: string): Promise<void>;
23
+ /**
24
+ * Restart a VM
25
+ */
26
+ export declare function restartVM(client: LiaraClient, vmId: string): Promise<void>;
27
+ /**
28
+ * Shutdown a VM
29
+ */
30
+ export declare function shutdownVM(client: LiaraClient, vmId: string): Promise<void>;
31
+ /**
32
+ * Power off a VM
33
+ */
34
+ export declare function powerOffVM(client: LiaraClient, vmId: string): Promise<void>;
35
+ /**
36
+ * Delete a VM
37
+ */
38
+ export declare function deleteVM(client: LiaraClient, vmId: string): Promise<void>;
39
+ /**
40
+ * Resize a VM (change plan)
41
+ */
42
+ export declare function resizeVM(client: LiaraClient, vmId: string, planID: string): Promise<VirtualMachine>;
43
+ /**
44
+ * Create a VM snapshot
45
+ */
46
+ export declare function createSnapshot(client: LiaraClient, vmId: string, name?: string): Promise<{
47
+ snapshotId: string;
48
+ name: string;
49
+ createdAt: string;
50
+ }>;
51
+ /**
52
+ * List VM snapshots
53
+ */
54
+ export declare function listSnapshots(client: LiaraClient, vmId: string, pagination?: PaginationOptions): Promise<Array<{
55
+ snapshotId: string;
56
+ name: string;
57
+ createdAt: string;
58
+ size?: number;
59
+ }>>;
60
+ /**
61
+ * Restore a VM from a snapshot
62
+ */
63
+ export declare function restoreSnapshot(client: LiaraClient, vmId: string, snapshotId: string): Promise<{
64
+ message: string;
65
+ }>;
66
+ /**
67
+ * Delete a VM snapshot
68
+ */
69
+ export declare function deleteSnapshot(client: LiaraClient, vmId: string, snapshotId: string): Promise<void>;
70
+ /**
71
+ * Attach a network to a VM
72
+ */
73
+ export declare function attachNetwork(client: LiaraClient, vmId: string, networkId: string): Promise<{
74
+ message: string;
75
+ }>;
76
+ /**
77
+ * Detach a network from a VM
78
+ */
79
+ export declare function detachNetwork(client: LiaraClient, vmId: string, networkId: string): Promise<void>;
80
+ //# sourceMappingURL=iaas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iaas.d.ts","sourceRoot":"","sources":["../../src/services/iaas.ts"],"names":[],"mappings":"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"}