gazill 2.1.0 → 2.3.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 (73) hide show
  1. package/dist/commands/autoscale.d.ts +5 -0
  2. package/dist/commands/autoscale.d.ts.map +1 -0
  3. package/dist/commands/autoscale.js +140 -0
  4. package/dist/commands/autoscale.js.map +1 -0
  5. package/dist/commands/blob.d.ts +19 -0
  6. package/dist/commands/blob.d.ts.map +1 -0
  7. package/dist/commands/blob.js +383 -0
  8. package/dist/commands/blob.js.map +1 -0
  9. package/dist/commands/cron.d.ts +27 -0
  10. package/dist/commands/cron.d.ts.map +1 -0
  11. package/dist/commands/cron.js +333 -0
  12. package/dist/commands/cron.js.map +1 -0
  13. package/dist/commands/db.d.ts +21 -0
  14. package/dist/commands/db.d.ts.map +1 -0
  15. package/dist/commands/db.js +567 -0
  16. package/dist/commands/db.js.map +1 -0
  17. package/dist/commands/domains.d.ts +5 -0
  18. package/dist/commands/domains.d.ts.map +1 -0
  19. package/dist/commands/domains.js +239 -0
  20. package/dist/commands/domains.js.map +1 -0
  21. package/dist/commands/env.d.ts +4 -0
  22. package/dist/commands/env.d.ts.map +1 -0
  23. package/dist/commands/env.js +180 -0
  24. package/dist/commands/env.js.map +1 -0
  25. package/dist/commands/health.d.ts +7 -0
  26. package/dist/commands/health.d.ts.map +1 -0
  27. package/dist/commands/health.js +189 -0
  28. package/dist/commands/health.js.map +1 -0
  29. package/dist/commands/limits.d.ts +2 -0
  30. package/dist/commands/limits.d.ts.map +1 -0
  31. package/dist/commands/limits.js +186 -0
  32. package/dist/commands/limits.js.map +1 -0
  33. package/dist/commands/mysql.d.ts +15 -0
  34. package/dist/commands/mysql.d.ts.map +1 -0
  35. package/dist/commands/mysql.js +413 -0
  36. package/dist/commands/mysql.js.map +1 -0
  37. package/dist/commands/new.d.ts.map +1 -1
  38. package/dist/commands/new.js +29 -3
  39. package/dist/commands/new.js.map +1 -1
  40. package/dist/commands/promote.d.ts.map +1 -1
  41. package/dist/commands/promote.js +36 -9
  42. package/dist/commands/promote.js.map +1 -1
  43. package/dist/commands/redis.d.ts +15 -0
  44. package/dist/commands/redis.d.ts.map +1 -0
  45. package/dist/commands/redis.js +402 -0
  46. package/dist/commands/redis.js.map +1 -0
  47. package/dist/commands/rollback.d.ts +9 -0
  48. package/dist/commands/rollback.d.ts.map +1 -0
  49. package/dist/commands/rollback.js +154 -0
  50. package/dist/commands/rollback.js.map +1 -0
  51. package/dist/commands/status.d.ts.map +1 -1
  52. package/dist/commands/status.js +24 -1
  53. package/dist/commands/status.js.map +1 -1
  54. package/dist/commands/usage.d.ts.map +1 -1
  55. package/dist/commands/usage.js +20 -11
  56. package/dist/commands/usage.js.map +1 -1
  57. package/dist/commands/worker.d.ts +31 -0
  58. package/dist/commands/worker.d.ts.map +1 -0
  59. package/dist/commands/worker.js +380 -0
  60. package/dist/commands/worker.js.map +1 -0
  61. package/dist/index.js +362 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/lib/api.d.ts +46 -2
  64. package/dist/lib/api.d.ts.map +1 -1
  65. package/dist/lib/api.js +16 -0
  66. package/dist/lib/api.js.map +1 -1
  67. package/dist/shared/constants.d.ts +10 -0
  68. package/dist/shared/constants.d.ts.map +1 -1
  69. package/dist/shared/constants.js +11 -0
  70. package/dist/shared/constants.js.map +1 -1
  71. package/dist/shared/types.d.ts +40 -1
  72. package/dist/shared/types.d.ts.map +1 -1
  73. package/package.json +1 -1
@@ -0,0 +1,333 @@
1
+ import chalk from 'chalk';
2
+ import ora from 'ora';
3
+ import { promises as fs } from 'fs';
4
+ import { getAuth, getApiUrl } from '../lib/config.js';
5
+ import { listProjects } from '../lib/api.js';
6
+ // API helper for cron routes
7
+ async function cronApiRequest(endpoint, options = { method: 'GET' }) {
8
+ const apiUrl = await getApiUrl();
9
+ const auth = await getAuth();
10
+ if (!auth?.token) {
11
+ throw new Error('Not authenticated');
12
+ }
13
+ const headers = {
14
+ 'Content-Type': 'application/json',
15
+ Authorization: `Bearer ${auth.token}`,
16
+ };
17
+ const response = await fetch(`${apiUrl}${endpoint}`, {
18
+ method: options.method,
19
+ headers,
20
+ body: options.body ? JSON.stringify(options.body) : undefined,
21
+ });
22
+ const data = await response.json();
23
+ if (!response.ok) {
24
+ throw new Error(data.message || 'Request failed');
25
+ }
26
+ return data;
27
+ }
28
+ // Get current project ID from .gazill file
29
+ async function getProjectId() {
30
+ try {
31
+ const content = await fs.readFile('.gazill', 'utf-8');
32
+ const data = JSON.parse(content);
33
+ return data.projectId || null;
34
+ }
35
+ catch {
36
+ return null;
37
+ }
38
+ }
39
+ // Find project by name
40
+ async function findProjectByName(name) {
41
+ const response = await listProjects();
42
+ return response.projects.find((p) => p.name === name) || null;
43
+ }
44
+ // Format duration
45
+ function formatDuration(ms) {
46
+ if (ms < 1000)
47
+ return `${ms}ms`;
48
+ if (ms < 60000)
49
+ return `${(ms / 1000).toFixed(1)}s`;
50
+ return `${(ms / 60000).toFixed(1)}m`;
51
+ }
52
+ // Format date
53
+ function formatDate(dateStr) {
54
+ if (!dateStr)
55
+ return '-';
56
+ const date = new Date(dateStr);
57
+ return date.toLocaleString();
58
+ }
59
+ // gazill cron list [project] --env <environment>
60
+ export async function cronListCommand(projectName, options) {
61
+ const auth = await getAuth();
62
+ if (!auth?.token) {
63
+ console.log(chalk.red('Not logged in. Run `gazill login` first.'));
64
+ return;
65
+ }
66
+ const spinner = ora('Fetching cron jobs...').start();
67
+ try {
68
+ let projectId = await getProjectId();
69
+ if (!projectId && !projectName) {
70
+ spinner.stop();
71
+ console.log(chalk.red('No project specified. Run from a project directory or specify project name.'));
72
+ return;
73
+ }
74
+ if (projectName) {
75
+ const project = await findProjectByName(projectName);
76
+ if (!project) {
77
+ spinner.fail(`Project "${projectName}" not found.`);
78
+ return;
79
+ }
80
+ projectId = project.id;
81
+ }
82
+ const env = options?.env || 'development';
83
+ const response = await cronApiRequest(`/api/projects/${projectId}/cron?environment=${env}`);
84
+ spinner.stop();
85
+ if (response.cronJobs.length === 0) {
86
+ console.log(chalk.yellow(`No cron jobs found for ${env} environment.`));
87
+ console.log(chalk.gray('Use `gazill cron create <name>` to create a cron job.'));
88
+ return;
89
+ }
90
+ console.log(chalk.bold(`\nCron Jobs (${env}):\n`));
91
+ for (const job of response.cronJobs) {
92
+ const status = job.isEnabled ? chalk.green('●') : chalk.gray('○');
93
+ const lastStatus = job.lastStatus === 'success' ? chalk.green('✓') :
94
+ job.lastStatus === 'failed' ? chalk.red('✗') :
95
+ job.lastStatus === 'timeout' ? chalk.yellow('⏱') : '-';
96
+ console.log(` ${status} ${chalk.cyan(job.name)}`);
97
+ console.log(` Schedule: ${job.scheduleDescription} (${chalk.gray(job.schedule)})`);
98
+ console.log(` Endpoint: ${job.method} ${job.endpoint}`);
99
+ console.log(` Last run: ${formatDate(job.lastRunAt)} ${lastStatus}`);
100
+ if (job.isEnabled && job.nextRunAt) {
101
+ console.log(` Next run: ${formatDate(job.nextRunAt)}`);
102
+ }
103
+ console.log();
104
+ }
105
+ console.log(chalk.gray(`Total: ${response.cronJobs.length} cron job(s)`));
106
+ }
107
+ catch (error) {
108
+ spinner.fail('Failed to fetch cron jobs');
109
+ console.error(chalk.red(error instanceof Error ? error.message : 'Unknown error'));
110
+ }
111
+ }
112
+ // gazill cron create <name> --schedule --endpoint --method --timeout --env
113
+ export async function cronCreateCommand(name, options) {
114
+ const auth = await getAuth();
115
+ if (!auth?.token) {
116
+ console.log(chalk.red('Not logged in. Run `gazill login` first.'));
117
+ return;
118
+ }
119
+ if (!options?.schedule) {
120
+ console.log(chalk.red('Schedule is required. Use --schedule "0 * * * *"'));
121
+ return;
122
+ }
123
+ if (!options?.endpoint) {
124
+ console.log(chalk.red('Endpoint is required. Use --endpoint "/api/cron/cleanup"'));
125
+ return;
126
+ }
127
+ const spinner = ora('Creating cron job...').start();
128
+ try {
129
+ const projectId = await getProjectId();
130
+ if (!projectId) {
131
+ spinner.stop();
132
+ console.log(chalk.red('No project found. Run from a project directory.'));
133
+ return;
134
+ }
135
+ const body = {
136
+ name,
137
+ schedule: options.schedule,
138
+ endpoint: options.endpoint,
139
+ method: options.method || 'POST',
140
+ environment: options.env || 'development',
141
+ };
142
+ if (options.timeout) {
143
+ body.timeoutSeconds = parseInt(options.timeout, 10);
144
+ }
145
+ const response = await cronApiRequest(`/api/projects/${projectId}/cron`, { method: 'POST', body });
146
+ spinner.succeed(`Created cron job '${chalk.cyan(response.cronJob.name)}'`);
147
+ console.log();
148
+ console.log(chalk.gray(' Schedule:'), response.cronJob.scheduleDescription);
149
+ console.log(chalk.gray(' Endpoint:'), `${response.cronJob.method} ${response.cronJob.endpoint}`);
150
+ if (response.cronJob.nextRunAt) {
151
+ console.log(chalk.gray(' Next run:'), formatDate(response.cronJob.nextRunAt));
152
+ }
153
+ console.log();
154
+ }
155
+ catch (error) {
156
+ spinner.fail('Failed to create cron job');
157
+ console.error(chalk.red(error instanceof Error ? error.message : 'Unknown error'));
158
+ }
159
+ }
160
+ // gazill cron update <name> --schedule --endpoint --enabled --env
161
+ export async function cronUpdateCommand(name, options) {
162
+ const auth = await getAuth();
163
+ if (!auth?.token) {
164
+ console.log(chalk.red('Not logged in. Run `gazill login` first.'));
165
+ return;
166
+ }
167
+ const spinner = ora('Updating cron job...').start();
168
+ try {
169
+ const projectId = await getProjectId();
170
+ if (!projectId) {
171
+ spinner.stop();
172
+ console.log(chalk.red('No project found. Run from a project directory.'));
173
+ return;
174
+ }
175
+ // Find job by name
176
+ const env = options?.env || 'development';
177
+ const listResponse = await cronApiRequest(`/api/projects/${projectId}/cron?environment=${env}`);
178
+ const job = listResponse.cronJobs.find(j => j.name === name);
179
+ if (!job) {
180
+ spinner.fail(`Cron job '${name}' not found in ${env} environment.`);
181
+ return;
182
+ }
183
+ const body = {};
184
+ if (options?.schedule)
185
+ body.schedule = options.schedule;
186
+ if (options?.endpoint)
187
+ body.endpoint = options.endpoint;
188
+ if (options?.enabled !== undefined)
189
+ body.isEnabled = options.enabled === 'true';
190
+ const response = await cronApiRequest(`/api/projects/${projectId}/cron/${job.id}`, { method: 'PATCH', body });
191
+ spinner.succeed(`Updated cron job '${chalk.cyan(response.cronJob.name)}'`);
192
+ }
193
+ catch (error) {
194
+ spinner.fail('Failed to update cron job');
195
+ console.error(chalk.red(error instanceof Error ? error.message : 'Unknown error'));
196
+ }
197
+ }
198
+ // gazill cron delete <name> --env
199
+ export async function cronDeleteCommand(name, options) {
200
+ const auth = await getAuth();
201
+ if (!auth?.token) {
202
+ console.log(chalk.red('Not logged in. Run `gazill login` first.'));
203
+ return;
204
+ }
205
+ const spinner = ora('Deleting cron job...').start();
206
+ try {
207
+ const projectId = await getProjectId();
208
+ if (!projectId) {
209
+ spinner.stop();
210
+ console.log(chalk.red('No project found. Run from a project directory.'));
211
+ return;
212
+ }
213
+ // Find job by name
214
+ const env = options?.env || 'development';
215
+ const listResponse = await cronApiRequest(`/api/projects/${projectId}/cron?environment=${env}`);
216
+ const job = listResponse.cronJobs.find(j => j.name === name);
217
+ if (!job) {
218
+ spinner.fail(`Cron job '${name}' not found in ${env} environment.`);
219
+ return;
220
+ }
221
+ await cronApiRequest(`/api/projects/${projectId}/cron/${job.id}`, { method: 'DELETE' });
222
+ spinner.succeed(`Deleted cron job '${chalk.cyan(name)}'`);
223
+ }
224
+ catch (error) {
225
+ spinner.fail('Failed to delete cron job');
226
+ console.error(chalk.red(error instanceof Error ? error.message : 'Unknown error'));
227
+ }
228
+ }
229
+ // gazill cron run <name> --env
230
+ export async function cronRunCommand(name, options) {
231
+ const auth = await getAuth();
232
+ if (!auth?.token) {
233
+ console.log(chalk.red('Not logged in. Run `gazill login` first.'));
234
+ return;
235
+ }
236
+ const spinner = ora(`Running cron job '${name}'...`).start();
237
+ try {
238
+ const projectId = await getProjectId();
239
+ if (!projectId) {
240
+ spinner.stop();
241
+ console.log(chalk.red('No project found. Run from a project directory.'));
242
+ return;
243
+ }
244
+ // Find job by name
245
+ const env = options?.env || 'development';
246
+ const listResponse = await cronApiRequest(`/api/projects/${projectId}/cron?environment=${env}`);
247
+ const job = listResponse.cronJobs.find(j => j.name === name);
248
+ if (!job) {
249
+ spinner.fail(`Cron job '${name}' not found in ${env} environment.`);
250
+ return;
251
+ }
252
+ const response = await cronApiRequest(`/api/projects/${projectId}/cron/${job.id}/run`, { method: 'POST' });
253
+ const exec = response.execution;
254
+ const duration = exec.durationMs ? formatDuration(exec.durationMs) : '-';
255
+ if (exec.status === 'success') {
256
+ spinner.succeed(`Executed '${chalk.cyan(name)}' in ${duration}`);
257
+ console.log(chalk.gray(' Status:'), chalk.green(`${exec.httpStatus} OK`));
258
+ if (exec.responseBody) {
259
+ const preview = exec.responseBody.length > 200
260
+ ? exec.responseBody.substring(0, 200) + '...'
261
+ : exec.responseBody;
262
+ console.log(chalk.gray(' Response:'), preview);
263
+ }
264
+ }
265
+ else if (exec.status === 'timeout') {
266
+ spinner.warn(`Cron job '${name}' timed out after ${duration}`);
267
+ }
268
+ else {
269
+ spinner.fail(`Cron job '${name}' failed after ${duration}`);
270
+ if (exec.httpStatus) {
271
+ console.log(chalk.gray(' Status:'), chalk.red(`${exec.httpStatus}`));
272
+ }
273
+ if (exec.errorMessage) {
274
+ console.log(chalk.gray(' Error:'), chalk.red(exec.errorMessage));
275
+ }
276
+ }
277
+ }
278
+ catch (error) {
279
+ spinner.fail('Failed to run cron job');
280
+ console.error(chalk.red(error instanceof Error ? error.message : 'Unknown error'));
281
+ }
282
+ }
283
+ // gazill cron history <name> --limit --env
284
+ export async function cronHistoryCommand(name, options) {
285
+ const auth = await getAuth();
286
+ if (!auth?.token) {
287
+ console.log(chalk.red('Not logged in. Run `gazill login` first.'));
288
+ return;
289
+ }
290
+ const spinner = ora('Fetching execution history...').start();
291
+ try {
292
+ const projectId = await getProjectId();
293
+ if (!projectId) {
294
+ spinner.stop();
295
+ console.log(chalk.red('No project found. Run from a project directory.'));
296
+ return;
297
+ }
298
+ // Find job by name
299
+ const env = options?.env || 'development';
300
+ const listResponse = await cronApiRequest(`/api/projects/${projectId}/cron?environment=${env}`);
301
+ const job = listResponse.cronJobs.find(j => j.name === name);
302
+ if (!job) {
303
+ spinner.fail(`Cron job '${name}' not found in ${env} environment.`);
304
+ return;
305
+ }
306
+ const limit = options?.limit || '10';
307
+ const response = await cronApiRequest(`/api/projects/${projectId}/cron/${job.id}/history?limit=${limit}`);
308
+ spinner.stop();
309
+ if (response.executions.length === 0) {
310
+ console.log(chalk.yellow('No execution history found.'));
311
+ return;
312
+ }
313
+ console.log(chalk.bold(`\nExecution History for '${name}':\n`));
314
+ console.log(chalk.gray(' TIME STATUS DURATION HTTP'));
315
+ console.log(chalk.gray(' ' + '-'.repeat(55)));
316
+ for (const exec of response.executions) {
317
+ const time = formatDate(exec.startedAt).padEnd(25);
318
+ const status = exec.status === 'success' ? chalk.green('success') :
319
+ exec.status === 'failed' ? chalk.red('failed ') :
320
+ exec.status === 'timeout' ? chalk.yellow('timeout') :
321
+ chalk.blue('running');
322
+ const duration = exec.durationMs ? formatDuration(exec.durationMs).padEnd(8) : '- ';
323
+ const httpStatus = exec.httpStatus ? String(exec.httpStatus) : '-';
324
+ console.log(` ${time} ${status} ${duration} ${httpStatus}`);
325
+ }
326
+ console.log();
327
+ }
328
+ catch (error) {
329
+ spinner.fail('Failed to fetch execution history');
330
+ console.error(chalk.red(error instanceof Error ? error.message : 'Unknown error'));
331
+ }
332
+ }
333
+ //# sourceMappingURL=cron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/commands/cron.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export declare function dbCreateCommand(name?: string, options?: {
2
+ size?: string;
3
+ project?: string;
4
+ }): Promise<void>;
5
+ export declare function dbListCommand(projectName?: string): Promise<void>;
6
+ export declare function dbConnectCommand(name?: string, options?: {
7
+ project?: string;
8
+ }): Promise<void>;
9
+ export declare function dbDeleteCommand(name?: string, options?: {
10
+ project?: string;
11
+ }): Promise<void>;
12
+ export declare function dbBackupCreateCommand(name?: string, options?: {
13
+ project?: string;
14
+ }): Promise<void>;
15
+ export declare function dbBackupListCommand(name?: string, options?: {
16
+ project?: string;
17
+ }): Promise<void>;
18
+ export declare function dbResizeCommand(size: string, name?: string, options?: {
19
+ project?: string;
20
+ }): Promise<void>;
21
+ //# sourceMappingURL=db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/commands/db.ts"],"names":[],"mappings":"AAyHA,wBAAsB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFjH;AAGD,wBAAsB,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDvE;AAGD,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuFnG;AAGD,wBAAsB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFlG;AAGD,wBAAsB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqExG;AAGD,wBAAsB,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFtG;AAGD,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoHhH"}