@mks2508/coolify-mks-cli-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.
- package/dist/cli/index.js +11788 -0
- package/dist/coolify/config.d.ts +64 -0
- package/dist/coolify/config.d.ts.map +1 -0
- package/dist/coolify/index.d.ts +201 -0
- package/dist/coolify/index.d.ts.map +1 -0
- package/dist/coolify/types.d.ts +282 -0
- package/dist/coolify/types.d.ts.map +1 -0
- package/dist/index.cjs +29150 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29127 -0
- package/dist/index.js.map +1 -0
- package/dist/server/sse.d.ts +11 -0
- package/dist/server/sse.d.ts.map +1 -0
- package/dist/server/sse.js +32 -0
- package/dist/server/stdio.d.ts +13 -0
- package/dist/server/stdio.d.ts.map +1 -0
- package/dist/server/stdio.js +18326 -0
- package/dist/tools/definitions.d.ts +13 -0
- package/dist/tools/definitions.d.ts.map +1 -0
- package/dist/tools/handlers.d.ts +19 -0
- package/dist/tools/handlers.d.ts.map +1 -0
- package/dist/utils/format.d.ts +38 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/package.json +67 -0
- package/src/cli/commands/config.ts +83 -0
- package/src/cli/commands/deploy.ts +56 -0
- package/src/cli/commands/env.ts +60 -0
- package/src/cli/commands/list.ts +63 -0
- package/src/cli/commands/logs.ts +49 -0
- package/src/cli/commands/servers.ts +52 -0
- package/src/cli/index.ts +81 -0
- package/src/coolify/config.ts +113 -0
- package/src/coolify/index.ts +688 -0
- package/src/coolify/types.ts +297 -0
- package/src/index.ts +864 -0
- package/src/server/sse.ts +50 -0
- package/src/server/stdio.ts +52 -0
- package/src/tools/definitions.ts +435 -0
- package/src/tools/handlers.ts +605 -0
- package/src/utils/format.ts +104 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration management for Coolify MCP server.
|
|
3
|
+
*
|
|
4
|
+
* Simplified config that reads from ~/.config/coolify-mks-cli-mcp/config.json
|
|
5
|
+
* or falls back to environment variables.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import { type Result } from '@mks2508/no-throw';
|
|
10
|
+
declare const CONFIG_DIR: string;
|
|
11
|
+
declare const CONFIG_FILE: string;
|
|
12
|
+
/**
|
|
13
|
+
* Coolify configuration structure.
|
|
14
|
+
*/
|
|
15
|
+
export interface ICoolifyConfig {
|
|
16
|
+
/** Coolify instance URL */
|
|
17
|
+
url?: string;
|
|
18
|
+
/** Coolify API token */
|
|
19
|
+
token?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Loads Coolify configuration from config file or environment variables.
|
|
23
|
+
*
|
|
24
|
+
* Priority: Config file > Environment variables
|
|
25
|
+
*
|
|
26
|
+
* @returns Result with configuration or error
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const result = await loadConfig()
|
|
31
|
+
* if (isOk(result)) {
|
|
32
|
+
* console.log('Coolify URL:', result.value.url)
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function loadConfig(): Promise<Result<ICoolifyConfig, Error>>;
|
|
37
|
+
/**
|
|
38
|
+
* Saves Coolify configuration to file.
|
|
39
|
+
*
|
|
40
|
+
* Creates the config directory if it doesn't exist.
|
|
41
|
+
*
|
|
42
|
+
* @param config - Configuration to save
|
|
43
|
+
* @returns Result indicating success or error
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const result = await saveConfig({ url: 'https://coolify.example.com', token: 'xxx' })
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function saveConfig(config: ICoolifyConfig): Promise<Result<void, Error>>;
|
|
51
|
+
/**
|
|
52
|
+
* Gets the Coolify URL from config or environment.
|
|
53
|
+
*
|
|
54
|
+
* @returns Coolify URL or undefined
|
|
55
|
+
*/
|
|
56
|
+
export declare function getCoolifyUrl(): Promise<string | undefined>;
|
|
57
|
+
/**
|
|
58
|
+
* Gets the Coolify token from config or environment.
|
|
59
|
+
*
|
|
60
|
+
* @returns Coolify token or undefined
|
|
61
|
+
*/
|
|
62
|
+
export declare function getCoolifyToken(): Promise<string | undefined>;
|
|
63
|
+
export { CONFIG_DIR, CONFIG_FILE };
|
|
64
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/coolify/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE9D,QAAA,MAAM,UAAU,QAAoD,CAAA;AACpE,QAAA,MAAM,WAAW,QAAkC,CAAA;AAEnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAgBzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAUrF;AAED;;;;GAIG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAMjE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAMnE;AAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coolify service for MCP server and CLI.
|
|
3
|
+
*
|
|
4
|
+
* Provides all Coolify API operations for deployment management.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import { type Result } from '@mks2508/no-throw';
|
|
9
|
+
import { type ICoolifyAppOptions, type ICoolifyAppResult, type ICoolifyApplication, type ICoolifyDeleteResult, type ICoolifyDeployment, type ICoolifyDeployOptions, type ICoolifyDeployResult, type ICoolifyDestination, type ICoolifyLogs, type ICoolifyLogsOptions, type ICoolifyProject, type ICoolifyServer, type ICoolifyTeam, type ICoolifyUpdateOptions, type IProgressCallback } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Environment variable from Coolify API.
|
|
12
|
+
*/
|
|
13
|
+
export interface ICoolifyEnvVar {
|
|
14
|
+
uuid: string;
|
|
15
|
+
key: string;
|
|
16
|
+
value: string;
|
|
17
|
+
real_value?: string;
|
|
18
|
+
is_buildtime: boolean;
|
|
19
|
+
is_runtime: boolean;
|
|
20
|
+
is_required: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Coolify service for deployment operations.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const coolify = new CoolifyService()
|
|
28
|
+
* const initResult = await coolify.init()
|
|
29
|
+
* if (initResult.isErr()) {
|
|
30
|
+
* console.error(initResult.error.message)
|
|
31
|
+
* return
|
|
32
|
+
* }
|
|
33
|
+
*
|
|
34
|
+
* const deployResult = await coolify.deploy({ uuid: 'app-uuid' })
|
|
35
|
+
* if (deployResult.isOk()) {
|
|
36
|
+
* console.log('Deployment UUID:', deployResult.value.deploymentUuid)
|
|
37
|
+
* }
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare class CoolifyService {
|
|
41
|
+
private baseUrl;
|
|
42
|
+
private token;
|
|
43
|
+
private config;
|
|
44
|
+
/**
|
|
45
|
+
* Checks if the service is configured with URL and token.
|
|
46
|
+
*
|
|
47
|
+
* @returns true if both URL and token are set
|
|
48
|
+
*/
|
|
49
|
+
isConfigured(): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Initializes the Coolify service by loading configuration.
|
|
52
|
+
*
|
|
53
|
+
* @returns Result indicating success or error
|
|
54
|
+
*/
|
|
55
|
+
init(): Promise<Result<void, Error>>;
|
|
56
|
+
/**
|
|
57
|
+
* Makes a request to the Coolify API.
|
|
58
|
+
*
|
|
59
|
+
* @param endpoint - API endpoint
|
|
60
|
+
* @param options - Fetch options
|
|
61
|
+
* @returns API response with data or error
|
|
62
|
+
*/
|
|
63
|
+
private request;
|
|
64
|
+
/**
|
|
65
|
+
* Deploys an application.
|
|
66
|
+
*
|
|
67
|
+
* @param options - Deployment options
|
|
68
|
+
* @param onProgress - Optional progress callback (0-100, message, step)
|
|
69
|
+
* @returns Result with deployment info or error
|
|
70
|
+
*/
|
|
71
|
+
deploy(options: ICoolifyDeployOptions, onProgress?: IProgressCallback): Promise<Result<ICoolifyDeployResult, Error>>;
|
|
72
|
+
/**
|
|
73
|
+
* Creates a new application in Coolify.
|
|
74
|
+
*
|
|
75
|
+
* @param options - Application options
|
|
76
|
+
* @param onProgress - Optional progress callback (0-100, message, step)
|
|
77
|
+
* @returns Result with application UUID or error
|
|
78
|
+
*/
|
|
79
|
+
createApplication(options: ICoolifyAppOptions, onProgress?: IProgressCallback): Promise<Result<ICoolifyAppResult, Error>>;
|
|
80
|
+
/**
|
|
81
|
+
* Sets environment variables for an application.
|
|
82
|
+
*
|
|
83
|
+
* @param appUuid - Application UUID
|
|
84
|
+
* @param envVars - Environment variables to set
|
|
85
|
+
* @returns Result indicating success or error
|
|
86
|
+
*/
|
|
87
|
+
setEnvironmentVariables(appUuid: string, envVars: Record<string, string>): Promise<Result<void, Error>>;
|
|
88
|
+
/**
|
|
89
|
+
* Gets environment variables for an application.
|
|
90
|
+
*
|
|
91
|
+
* @param appUuid - Application UUID
|
|
92
|
+
* @returns Result with environment variables or error
|
|
93
|
+
*/
|
|
94
|
+
getEnvironmentVariables(appUuid: string): Promise<Result<ICoolifyEnvVar[], Error>>;
|
|
95
|
+
/**
|
|
96
|
+
* Gets the status of an application.
|
|
97
|
+
*
|
|
98
|
+
* @param appUuid - Application UUID
|
|
99
|
+
* @returns Result with status or error
|
|
100
|
+
*/
|
|
101
|
+
getApplicationStatus(appUuid: string): Promise<Result<string, Error>>;
|
|
102
|
+
/**
|
|
103
|
+
* Lists available servers in Coolify.
|
|
104
|
+
*
|
|
105
|
+
* @returns Result with servers or error
|
|
106
|
+
*/
|
|
107
|
+
listServers(): Promise<Result<ICoolifyServer[], Error>>;
|
|
108
|
+
/**
|
|
109
|
+
* Gets details of a specific server.
|
|
110
|
+
*
|
|
111
|
+
* @param serverUuid - Server UUID
|
|
112
|
+
* @returns Result with server details or error
|
|
113
|
+
*/
|
|
114
|
+
getServer(serverUuid: string): Promise<Result<ICoolifyServer, Error>>;
|
|
115
|
+
/**
|
|
116
|
+
* Lists all projects.
|
|
117
|
+
*
|
|
118
|
+
* @returns Result with projects list or error
|
|
119
|
+
*/
|
|
120
|
+
listProjects(): Promise<Result<ICoolifyProject[], Error>>;
|
|
121
|
+
/**
|
|
122
|
+
* Lists all teams.
|
|
123
|
+
*
|
|
124
|
+
* @returns Result with teams list or error
|
|
125
|
+
*/
|
|
126
|
+
listTeams(): Promise<Result<ICoolifyTeam[], Error>>;
|
|
127
|
+
/**
|
|
128
|
+
* Gets available destinations for a server.
|
|
129
|
+
*
|
|
130
|
+
* @param serverUuid - Server UUID
|
|
131
|
+
* @returns Result with destinations or error
|
|
132
|
+
*/
|
|
133
|
+
getServerDestinations(serverUuid: string): Promise<Result<ICoolifyDestination[], Error>>;
|
|
134
|
+
/**
|
|
135
|
+
* Lists all applications.
|
|
136
|
+
*
|
|
137
|
+
* @param teamId - Optional team ID to filter by
|
|
138
|
+
* @param projectId - Optional project ID to filter by
|
|
139
|
+
* @returns Result with applications list or error
|
|
140
|
+
*/
|
|
141
|
+
listApplications(teamId?: string, projectId?: string): Promise<Result<ICoolifyApplication[], Error>>;
|
|
142
|
+
/**
|
|
143
|
+
* Deletes an application.
|
|
144
|
+
*
|
|
145
|
+
* @param appUuid - Application UUID
|
|
146
|
+
* @returns Result indicating success or error
|
|
147
|
+
*/
|
|
148
|
+
deleteApplication(appUuid: string): Promise<Result<ICoolifyDeleteResult, Error>>;
|
|
149
|
+
/**
|
|
150
|
+
* Updates an application configuration.
|
|
151
|
+
*
|
|
152
|
+
* @param appUuid - Application UUID
|
|
153
|
+
* @param options - Update options
|
|
154
|
+
* @returns Result with updated application or error
|
|
155
|
+
*/
|
|
156
|
+
updateApplication(appUuid: string, options: ICoolifyUpdateOptions): Promise<Result<ICoolifyApplication, Error>>;
|
|
157
|
+
/**
|
|
158
|
+
* Gets application logs.
|
|
159
|
+
*
|
|
160
|
+
* @param appUuid - Application UUID
|
|
161
|
+
* @param options - Log retrieval options
|
|
162
|
+
* @returns Result with logs or error
|
|
163
|
+
*/
|
|
164
|
+
getApplicationLogs(appUuid: string, options?: ICoolifyLogsOptions): Promise<Result<ICoolifyLogs, Error>>;
|
|
165
|
+
/**
|
|
166
|
+
* Gets deployment history for an application.
|
|
167
|
+
*
|
|
168
|
+
* @param appUuid - Application UUID
|
|
169
|
+
* @returns Result with deployment history or error
|
|
170
|
+
*/
|
|
171
|
+
getApplicationDeploymentHistory(appUuid: string): Promise<Result<ICoolifyDeployment[], Error>>;
|
|
172
|
+
/**
|
|
173
|
+
* Starts a stopped application.
|
|
174
|
+
*
|
|
175
|
+
* @param appUuid - Application UUID
|
|
176
|
+
* @returns Result with application status or error
|
|
177
|
+
*/
|
|
178
|
+
startApplication(appUuid: string): Promise<Result<ICoolifyApplication, Error>>;
|
|
179
|
+
/**
|
|
180
|
+
* Stops a running application.
|
|
181
|
+
*
|
|
182
|
+
* @param appUuid - Application UUID
|
|
183
|
+
* @returns Result with application status or error
|
|
184
|
+
*/
|
|
185
|
+
stopApplication(appUuid: string): Promise<Result<ICoolifyApplication, Error>>;
|
|
186
|
+
/**
|
|
187
|
+
* Restarts an application.
|
|
188
|
+
*
|
|
189
|
+
* @param appUuid - Application UUID
|
|
190
|
+
* @returns Result with application status or error
|
|
191
|
+
*/
|
|
192
|
+
restartApplication(appUuid: string): Promise<Result<ICoolifyApplication, Error>>;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Gets the singleton CoolifyService instance.
|
|
196
|
+
*
|
|
197
|
+
* @returns The CoolifyService instance
|
|
198
|
+
*/
|
|
199
|
+
export declare function getCoolifyService(): CoolifyService;
|
|
200
|
+
export type { ICoolifyServer, ICoolifyDestination, ICoolifyProject, ICoolifyTeam, ICoolifyApplication, ICoolifyDeployment, ICoolifyAppOptions, ICoolifyDeployOptions, ICoolifyUpdateOptions, ICoolifyLogsOptions, };
|
|
201
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/coolify/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coolify types for MCP server and CLI.
|
|
3
|
+
*
|
|
4
|
+
* Internal options use camelCase for consistency with TypeScript conventions.
|
|
5
|
+
* API response types use snake_case to match Coolify API responses.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Options for deploying to Coolify.
|
|
11
|
+
*/
|
|
12
|
+
export interface ICoolifyDeployOptions {
|
|
13
|
+
/** Application UUID */
|
|
14
|
+
uuid?: string;
|
|
15
|
+
/** Application tag */
|
|
16
|
+
tag?: string;
|
|
17
|
+
/** Force rebuild without cache */
|
|
18
|
+
force?: boolean;
|
|
19
|
+
/** Progress callback for deployment status updates */
|
|
20
|
+
onProgress?: IProgressCallback;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Options for creating a Coolify application.
|
|
24
|
+
*/
|
|
25
|
+
export interface ICoolifyAppOptions {
|
|
26
|
+
/** Application name */
|
|
27
|
+
name: string;
|
|
28
|
+
/** Application description */
|
|
29
|
+
description?: string;
|
|
30
|
+
/** Server UUID */
|
|
31
|
+
serverUuid: string;
|
|
32
|
+
/** Destination UUID */
|
|
33
|
+
destinationUuid: string;
|
|
34
|
+
/** GitHub repository URL */
|
|
35
|
+
githubRepoUrl: string;
|
|
36
|
+
/** Git branch */
|
|
37
|
+
branch?: string;
|
|
38
|
+
/** Build pack type */
|
|
39
|
+
buildPack?: 'dockerfile' | 'nixpacks' | 'static';
|
|
40
|
+
/** Environment variables */
|
|
41
|
+
envVars?: Record<string, string>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Options for updating a Coolify application.
|
|
45
|
+
*/
|
|
46
|
+
export interface ICoolifyUpdateOptions {
|
|
47
|
+
/** Application name */
|
|
48
|
+
name?: string;
|
|
49
|
+
/** Application description */
|
|
50
|
+
description?: string;
|
|
51
|
+
/** Build pack type */
|
|
52
|
+
buildPack?: 'dockerfile' | 'nixpacks' | 'static';
|
|
53
|
+
/** Git branch */
|
|
54
|
+
gitBranch?: string;
|
|
55
|
+
/** Ports to expose */
|
|
56
|
+
portsExposes?: string;
|
|
57
|
+
/** Install command (nixpacks) */
|
|
58
|
+
installCommand?: string;
|
|
59
|
+
/** Build command */
|
|
60
|
+
buildCommand?: string;
|
|
61
|
+
/** Start command */
|
|
62
|
+
startCommand?: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Options for retrieving application logs.
|
|
66
|
+
*/
|
|
67
|
+
export interface ICoolifyLogsOptions {
|
|
68
|
+
/** Follow logs in real-time */
|
|
69
|
+
follow?: boolean;
|
|
70
|
+
/** Number of lines to retrieve */
|
|
71
|
+
tail?: number;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Result of a Coolify deployment.
|
|
75
|
+
*/
|
|
76
|
+
export interface ICoolifyDeployResult {
|
|
77
|
+
/** Whether the deployment started successfully */
|
|
78
|
+
success: boolean;
|
|
79
|
+
/** Deployment UUID */
|
|
80
|
+
deploymentUuid?: string;
|
|
81
|
+
/** Resource UUID */
|
|
82
|
+
resourceUuid?: string;
|
|
83
|
+
/** Error message if failed */
|
|
84
|
+
error?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Result of creating a Coolify application.
|
|
88
|
+
*/
|
|
89
|
+
export interface ICoolifyAppResult {
|
|
90
|
+
/** Whether the application was created */
|
|
91
|
+
success: boolean;
|
|
92
|
+
/** Application UUID */
|
|
93
|
+
uuid?: string;
|
|
94
|
+
/** Error message if failed */
|
|
95
|
+
error?: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Result of a delete operation.
|
|
99
|
+
*/
|
|
100
|
+
export interface ICoolifyDeleteResult {
|
|
101
|
+
/** Whether the deletion was successful */
|
|
102
|
+
success: boolean;
|
|
103
|
+
/** Optional message */
|
|
104
|
+
message?: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Application logs response.
|
|
108
|
+
*/
|
|
109
|
+
export interface ICoolifyLogs {
|
|
110
|
+
/** Log lines */
|
|
111
|
+
logs: string[];
|
|
112
|
+
/** Timestamp of log retrieval */
|
|
113
|
+
timestamp: string;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Deployment record from API (snake_case).
|
|
117
|
+
*/
|
|
118
|
+
export interface ICoolifyDeployment {
|
|
119
|
+
/** Deployment ID */
|
|
120
|
+
id: number;
|
|
121
|
+
/** Deployment UUID */
|
|
122
|
+
uuid: string;
|
|
123
|
+
/** Deployment status */
|
|
124
|
+
status: string;
|
|
125
|
+
/** Application ID */
|
|
126
|
+
application_id?: number;
|
|
127
|
+
/** Pull request ID if applicable */
|
|
128
|
+
pull_request_id?: number | null;
|
|
129
|
+
/** Force rebuild flag */
|
|
130
|
+
force_rebuild?: boolean;
|
|
131
|
+
/** Commit hash */
|
|
132
|
+
commit?: string | null;
|
|
133
|
+
/** Rollback flag */
|
|
134
|
+
rollback?: boolean;
|
|
135
|
+
/** Commit message */
|
|
136
|
+
commit_message?: string | null;
|
|
137
|
+
/** Creation timestamp */
|
|
138
|
+
created_at: string;
|
|
139
|
+
/** Update timestamp */
|
|
140
|
+
updated_at: string;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Application details from API (snake_case).
|
|
144
|
+
*/
|
|
145
|
+
export interface ICoolifyApplication {
|
|
146
|
+
/** Application UUID */
|
|
147
|
+
uuid: string;
|
|
148
|
+
/** Application name */
|
|
149
|
+
name: string;
|
|
150
|
+
/** Application description */
|
|
151
|
+
description?: string | null;
|
|
152
|
+
/** Current status (e.g., "running:unknown", "stopped") */
|
|
153
|
+
status: string;
|
|
154
|
+
/** FQDN if configured */
|
|
155
|
+
fqdn?: string | null;
|
|
156
|
+
/** Git repository (e.g., "MKS2508/repo-name") */
|
|
157
|
+
git_repository?: string | null;
|
|
158
|
+
/** Git branch */
|
|
159
|
+
git_branch?: string | null;
|
|
160
|
+
/** Full git URL */
|
|
161
|
+
git_full_url?: string | null;
|
|
162
|
+
/** Build pack type */
|
|
163
|
+
build_pack?: string | null;
|
|
164
|
+
/** Ports exposed */
|
|
165
|
+
ports_exposes?: string | null;
|
|
166
|
+
/** Server status (boolean) */
|
|
167
|
+
server_status?: boolean;
|
|
168
|
+
/** Environment ID */
|
|
169
|
+
environment_id?: number;
|
|
170
|
+
/** Destination info */
|
|
171
|
+
destination?: {
|
|
172
|
+
uuid: string;
|
|
173
|
+
name: string;
|
|
174
|
+
server?: {
|
|
175
|
+
uuid: string;
|
|
176
|
+
name: string;
|
|
177
|
+
ip: string;
|
|
178
|
+
};
|
|
179
|
+
} | null;
|
|
180
|
+
/** Install command */
|
|
181
|
+
install_command?: string | null;
|
|
182
|
+
/** Build command */
|
|
183
|
+
build_command?: string | null;
|
|
184
|
+
/** Start command */
|
|
185
|
+
start_command?: string | null;
|
|
186
|
+
/** Creation timestamp */
|
|
187
|
+
created_at?: string;
|
|
188
|
+
/** Update timestamp */
|
|
189
|
+
updated_at?: string;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Server details from API (snake_case).
|
|
193
|
+
*/
|
|
194
|
+
export interface ICoolifyServer {
|
|
195
|
+
/** Server UUID */
|
|
196
|
+
uuid: string;
|
|
197
|
+
/** Server name */
|
|
198
|
+
name: string;
|
|
199
|
+
/** Server description */
|
|
200
|
+
description?: string | null;
|
|
201
|
+
/** Server IP address */
|
|
202
|
+
ip?: string;
|
|
203
|
+
/** SSH port */
|
|
204
|
+
port?: number;
|
|
205
|
+
/** Whether this is the Coolify host */
|
|
206
|
+
is_coolify_host?: boolean;
|
|
207
|
+
/** Whether server is reachable */
|
|
208
|
+
is_reachable?: boolean;
|
|
209
|
+
/** Whether server is usable */
|
|
210
|
+
is_usable?: boolean;
|
|
211
|
+
/** Proxy configuration */
|
|
212
|
+
proxy?: {
|
|
213
|
+
redirect_enabled?: boolean;
|
|
214
|
+
} | null;
|
|
215
|
+
/** Server settings */
|
|
216
|
+
settings?: Record<string, unknown> | null;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Destination (Docker network) from API (snake_case).
|
|
220
|
+
*/
|
|
221
|
+
export interface ICoolifyDestination {
|
|
222
|
+
/** Destination UUID */
|
|
223
|
+
uuid: string;
|
|
224
|
+
/** Destination name */
|
|
225
|
+
name: string;
|
|
226
|
+
/** Network name */
|
|
227
|
+
network?: string;
|
|
228
|
+
/** Server UUID */
|
|
229
|
+
server_uuid?: string;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Project details from API (snake_case).
|
|
233
|
+
*/
|
|
234
|
+
export interface ICoolifyProject {
|
|
235
|
+
/** Project UUID */
|
|
236
|
+
uuid: string;
|
|
237
|
+
/** Project name */
|
|
238
|
+
name: string;
|
|
239
|
+
/** Project description */
|
|
240
|
+
description?: string | null;
|
|
241
|
+
/** Environments in this project */
|
|
242
|
+
environments?: ICoolifyEnvironment[];
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Environment within a project from API (snake_case).
|
|
246
|
+
*/
|
|
247
|
+
export interface ICoolifyEnvironment {
|
|
248
|
+
/** Environment ID */
|
|
249
|
+
id: number;
|
|
250
|
+
/** Environment name */
|
|
251
|
+
name: string;
|
|
252
|
+
/** Environment description */
|
|
253
|
+
description?: string | null;
|
|
254
|
+
/** Project ID */
|
|
255
|
+
project_id: number;
|
|
256
|
+
/** Creation timestamp */
|
|
257
|
+
created_at?: string;
|
|
258
|
+
/** Update timestamp */
|
|
259
|
+
updated_at?: string;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Team details from API (snake_case).
|
|
263
|
+
*/
|
|
264
|
+
export interface ICoolifyTeam {
|
|
265
|
+
/** Team ID */
|
|
266
|
+
id: number;
|
|
267
|
+
/** Team name */
|
|
268
|
+
name: string;
|
|
269
|
+
/** Team description */
|
|
270
|
+
description?: string | null;
|
|
271
|
+
/** Personal team flag */
|
|
272
|
+
personal_team?: boolean;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Progress callback function type.
|
|
276
|
+
*
|
|
277
|
+
* @param percent - Progress percentage (0-100)
|
|
278
|
+
* @param message - Progress message
|
|
279
|
+
* @param step - Current step identifier
|
|
280
|
+
*/
|
|
281
|
+
export type IProgressCallback = (percent: number, message: string, step?: string) => void;
|
|
282
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/coolify/types.ts"],"names":[],"mappings":"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"}
|