@hyperdrive.bot/cli 1.0.2

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 (127) hide show
  1. package/README.md +1598 -0
  2. package/bin/dev.cmd +3 -0
  3. package/bin/dev.js +3 -0
  4. package/bin/run.cmd +3 -0
  5. package/bin/run.js +5 -0
  6. package/dist/commands/account/add.d.ts +16 -0
  7. package/dist/commands/account/add.js +185 -0
  8. package/dist/commands/account/list.d.ts +6 -0
  9. package/dist/commands/account/list.js +37 -0
  10. package/dist/commands/account/remove.d.ts +11 -0
  11. package/dist/commands/account/remove.js +57 -0
  12. package/dist/commands/auth/login.d.ts +16 -0
  13. package/dist/commands/auth/login.js +178 -0
  14. package/dist/commands/auth/logout.d.ts +6 -0
  15. package/dist/commands/auth/logout.js +39 -0
  16. package/dist/commands/auth/refresh.d.ts +6 -0
  17. package/dist/commands/auth/refresh.js +66 -0
  18. package/dist/commands/auth/status.d.ts +6 -0
  19. package/dist/commands/auth/status.js +63 -0
  20. package/dist/commands/ci/account/create.d.ts +16 -0
  21. package/dist/commands/ci/account/create.js +158 -0
  22. package/dist/commands/ci/account/delete.d.ts +14 -0
  23. package/dist/commands/ci/account/delete.js +88 -0
  24. package/dist/commands/ci/account/list.d.ts +10 -0
  25. package/dist/commands/ci/account/list.js +65 -0
  26. package/dist/commands/config/get.d.ts +9 -0
  27. package/dist/commands/config/get.js +37 -0
  28. package/dist/commands/config/set.d.ts +10 -0
  29. package/dist/commands/config/set.js +48 -0
  30. package/dist/commands/config/show.d.ts +6 -0
  31. package/dist/commands/config/show.js +10 -0
  32. package/dist/commands/deployment/create.d.ts +30 -0
  33. package/dist/commands/deployment/create.js +188 -0
  34. package/dist/commands/deployment/get.d.ts +13 -0
  35. package/dist/commands/deployment/get.js +101 -0
  36. package/dist/commands/deployment/launch.d.ts +15 -0
  37. package/dist/commands/deployment/launch.js +105 -0
  38. package/dist/commands/deployment/list.d.ts +11 -0
  39. package/dist/commands/deployment/list.js +91 -0
  40. package/dist/commands/domain/current.d.ts +6 -0
  41. package/dist/commands/domain/current.js +18 -0
  42. package/dist/commands/domain/list.d.ts +6 -0
  43. package/dist/commands/domain/list.js +42 -0
  44. package/dist/commands/domain/switch.d.ts +9 -0
  45. package/dist/commands/domain/switch.js +40 -0
  46. package/dist/commands/example.d.ts +13 -0
  47. package/dist/commands/example.js +24 -0
  48. package/dist/commands/git/connect.d.ts +10 -0
  49. package/dist/commands/git/connect.js +56 -0
  50. package/dist/commands/git/disconnect.d.ts +11 -0
  51. package/dist/commands/git/disconnect.js +93 -0
  52. package/dist/commands/git/list.d.ts +10 -0
  53. package/dist/commands/git/list.js +53 -0
  54. package/dist/commands/git/sync.d.ts +18 -0
  55. package/dist/commands/git/sync.js +235 -0
  56. package/dist/commands/init.d.ts +188 -0
  57. package/dist/commands/init.js +817 -0
  58. package/dist/commands/jira/connect.d.ts +9 -0
  59. package/dist/commands/jira/connect.js +141 -0
  60. package/dist/commands/jira/status.d.ts +9 -0
  61. package/dist/commands/jira/status.js +118 -0
  62. package/dist/commands/module/analyze.d.ts +29 -0
  63. package/dist/commands/module/analyze.js +201 -0
  64. package/dist/commands/module/create.d.ts +42 -0
  65. package/dist/commands/module/create.js +498 -0
  66. package/dist/commands/module/destroy.d.ts +11 -0
  67. package/dist/commands/module/destroy.js +77 -0
  68. package/dist/commands/module/get.d.ts +10 -0
  69. package/dist/commands/module/get.js +43 -0
  70. package/dist/commands/module/link.d.ts +15 -0
  71. package/dist/commands/module/link.js +175 -0
  72. package/dist/commands/module/list.d.ts +9 -0
  73. package/dist/commands/module/list.js +51 -0
  74. package/dist/commands/module/reanalyze.d.ts +30 -0
  75. package/dist/commands/module/reanalyze.js +206 -0
  76. package/dist/commands/module/update.d.ts +27 -0
  77. package/dist/commands/module/update.js +102 -0
  78. package/dist/commands/parameter/add.d.ts +15 -0
  79. package/dist/commands/parameter/add.js +99 -0
  80. package/dist/commands/parameter/backfill.d.ts +12 -0
  81. package/dist/commands/parameter/backfill.js +113 -0
  82. package/dist/commands/parameter/clear.d.ts +14 -0
  83. package/dist/commands/parameter/clear.js +95 -0
  84. package/dist/commands/parameter/list.d.ts +14 -0
  85. package/dist/commands/parameter/list.js +92 -0
  86. package/dist/commands/parameter/pull.d.ts +14 -0
  87. package/dist/commands/parameter/pull.js +124 -0
  88. package/dist/commands/parameter/remove.d.ts +15 -0
  89. package/dist/commands/parameter/remove.js +90 -0
  90. package/dist/commands/parameter/sync.d.ts +14 -0
  91. package/dist/commands/parameter/sync.js +153 -0
  92. package/dist/commands/parameter/update.d.ts +15 -0
  93. package/dist/commands/parameter/update.js +100 -0
  94. package/dist/commands/stage/create.d.ts +28 -0
  95. package/dist/commands/stage/create.js +312 -0
  96. package/dist/commands/stage/list.d.ts +9 -0
  97. package/dist/commands/stage/list.js +63 -0
  98. package/dist/commands/test-api.d.ts +9 -0
  99. package/dist/commands/test-api.js +40 -0
  100. package/dist/index.d.ts +1 -0
  101. package/dist/index.js +1 -0
  102. package/dist/services/auth-service.d.ts +84 -0
  103. package/dist/services/auth-service.js +240 -0
  104. package/dist/services/git.d.ts +46 -0
  105. package/dist/services/git.js +409 -0
  106. package/dist/services/hyperdrive-sigv4.d.ts +449 -0
  107. package/dist/services/hyperdrive-sigv4.js +375 -0
  108. package/dist/services/hyperdrive.d.ts +87 -0
  109. package/dist/services/hyperdrive.js +108 -0
  110. package/dist/services/log-tailer.d.ts +95 -0
  111. package/dist/services/log-tailer.js +242 -0
  112. package/dist/services/tenant-service.d.ts +106 -0
  113. package/dist/services/tenant-service.js +332 -0
  114. package/dist/utils/account-flow.d.ts +74 -0
  115. package/dist/utils/account-flow.js +228 -0
  116. package/dist/utils/auth-flow.d.ts +146 -0
  117. package/dist/utils/auth-flow.js +477 -0
  118. package/dist/utils/git-flow.d.ts +72 -0
  119. package/dist/utils/git-flow.js +232 -0
  120. package/dist/utils/jira-flow.d.ts +71 -0
  121. package/dist/utils/jira-flow.js +120 -0
  122. package/dist/utils/summary-display.d.ts +59 -0
  123. package/dist/utils/summary-display.js +140 -0
  124. package/dist/utils/validation.d.ts +15 -0
  125. package/dist/utils/validation.js +32 -0
  126. package/oclif.manifest.json +2819 -0
  127. package/package.json +112 -0
@@ -0,0 +1,449 @@
1
+ import { LoggingConfig } from './log-tailer.js';
2
+ interface DeploymentCheckResponse {
3
+ commit?: string;
4
+ createdAt?: string;
5
+ error?: string;
6
+ name?: string;
7
+ regions?: string[];
8
+ status: string;
9
+ url?: string;
10
+ }
11
+ interface DeploymentResponse {
12
+ commit?: string;
13
+ createdAt?: string;
14
+ error?: string;
15
+ logging?: {
16
+ credentials: {
17
+ accessKeyId: string;
18
+ expiration: string;
19
+ secretAccessKey: string;
20
+ sessionToken: string;
21
+ };
22
+ logGroup: string;
23
+ logStream: string;
24
+ region: string;
25
+ };
26
+ name?: string;
27
+ regions?: string[];
28
+ status?: string;
29
+ url?: string;
30
+ }
31
+ interface ModuleResponse {
32
+ buildCommand?: string;
33
+ buildRuntime?: string;
34
+ buildRuntimeVersion?: string;
35
+ ciService?: string;
36
+ createdAt?: string;
37
+ framework?: string;
38
+ name?: string;
39
+ projectId?: string;
40
+ runCommand?: string;
41
+ runtime?: string;
42
+ runtimeVersion?: string;
43
+ slug?: string;
44
+ sourceLocation?: string;
45
+ }
46
+ interface ParameterSyncResponse {
47
+ errors?: Array<{
48
+ error: string;
49
+ key: string;
50
+ }>;
51
+ message: string;
52
+ pollUrl: string;
53
+ status: 'queued';
54
+ taskId: string;
55
+ totalParameters: number;
56
+ }
57
+ interface ParameterSyncStatusResponse {
58
+ completedAt?: string;
59
+ createdAt: string;
60
+ errors?: Array<{
61
+ error: string;
62
+ key: string;
63
+ }>;
64
+ progress?: {
65
+ percentage: number;
66
+ processed: number;
67
+ total: number;
68
+ };
69
+ startedAt?: string;
70
+ status: 'completed' | 'failed' | 'processing' | 'queued';
71
+ taskId: string;
72
+ }
73
+ interface ParameterListResponse {
74
+ parameters: Record<string, string>;
75
+ pathsParametersCount: Record<string, number>;
76
+ }
77
+ interface StageResponse {
78
+ branchName?: string;
79
+ createdAt?: string;
80
+ defaultStage?: boolean;
81
+ deletionProtection?: boolean;
82
+ name?: string;
83
+ production?: boolean;
84
+ provider?: string;
85
+ regions?: string[];
86
+ slug?: string;
87
+ }
88
+ interface AWSAccountResponse {
89
+ accountId: string;
90
+ createdAt?: string;
91
+ defaultRegion: string;
92
+ name?: string;
93
+ quickCreateUrl?: string;
94
+ roleArn: string;
95
+ roleVerified?: boolean;
96
+ templateUrl?: string;
97
+ }
98
+ interface AWSAccountVerifyResponse {
99
+ accountId: string;
100
+ message?: string;
101
+ roleArn: string;
102
+ verified: boolean;
103
+ }
104
+ interface GitInstallation {
105
+ accountLogin?: string;
106
+ accountType?: 'Organization' | 'User';
107
+ gitlabUsername?: string;
108
+ installationId: string;
109
+ installedAt: string;
110
+ provider: 'github' | 'gitlab';
111
+ status: 'active' | 'removed' | 'suspended';
112
+ tenantId: string;
113
+ }
114
+ interface GitRepoInfo {
115
+ cloneUrl: string;
116
+ defaultBranch: string;
117
+ fullName: string;
118
+ id: string;
119
+ private: boolean;
120
+ }
121
+ interface CheckRepoAccessResponse {
122
+ hasAccess: boolean;
123
+ installUrl?: string;
124
+ installationId?: string;
125
+ needsInstallation: boolean;
126
+ repoInfo?: GitRepoInfo;
127
+ }
128
+ interface GitAuthInitiateResponse {
129
+ installUrl: string;
130
+ state: string;
131
+ }
132
+ /**
133
+ * Hyperdrive API Service with AWS SigV4 authentication
134
+ *
135
+ * This service signs all API requests using AWS Signature Version 4,
136
+ * which allows both CLI and web frontend to use the same endpoints
137
+ * with unified AWS IAM authentication via Cognito.
138
+ */
139
+ export declare class HyperdriveSigV4Service {
140
+ private apiUrl;
141
+ private authService;
142
+ private region;
143
+ private tenantDomain;
144
+ constructor(domain?: string);
145
+ accountAdd(params: {
146
+ accountId: string;
147
+ defaultRegion: string;
148
+ name?: string;
149
+ roleArn?: string;
150
+ }): Promise<AWSAccountResponse>;
151
+ accountGet(params: {
152
+ accountId: string;
153
+ }): Promise<AWSAccountResponse>;
154
+ accountList(): Promise<AWSAccountResponse[]>;
155
+ accountRemove(params: {
156
+ accountId: string;
157
+ }): Promise<{
158
+ message: string;
159
+ }>;
160
+ accountVerify(params: {
161
+ accountId: string;
162
+ }): Promise<AWSAccountVerifyResponse>;
163
+ ciAccountCreate(params: {
164
+ description?: string;
165
+ name: string;
166
+ projectSlugs?: string[];
167
+ scopes: string[];
168
+ stages?: string[];
169
+ }): Promise<{
170
+ account: {
171
+ accountId: string;
172
+ cognitoUsername: string;
173
+ createdAt: string;
174
+ createdBy: string;
175
+ createdByEmail: string;
176
+ description?: string;
177
+ name: string;
178
+ projectSlugs?: string[];
179
+ scopes: string[];
180
+ stages?: string[];
181
+ status: 'active' | 'disabled';
182
+ tenantDomain: string;
183
+ tenantId: string;
184
+ };
185
+ instructions: string[];
186
+ token: string;
187
+ }>;
188
+ ciAccountDelete(accountId: string): Promise<{
189
+ accountId: string;
190
+ message: string;
191
+ }>;
192
+ ciAccountList(): Promise<Array<{
193
+ accountId: string;
194
+ cognitoUsername: string;
195
+ createdAt: string;
196
+ createdBy: string;
197
+ createdByEmail: string;
198
+ description?: string;
199
+ disabledAt?: string;
200
+ disabledBy?: string;
201
+ lastUsedAt?: string;
202
+ name: string;
203
+ projectSlugs?: string[];
204
+ scopes: string[];
205
+ stages?: string[];
206
+ status: 'active' | 'disabled';
207
+ tenantDomain: string;
208
+ tenantId: string;
209
+ updatedAt?: string;
210
+ }>>;
211
+ deploymentCheck(params: {
212
+ name: string;
213
+ projectSlug: string;
214
+ stage: string;
215
+ }): Promise<DeploymentCheckResponse>;
216
+ deploymentCreate(params: {
217
+ commit: string;
218
+ launch: boolean;
219
+ name: string;
220
+ projectSlug: string;
221
+ regions: string[];
222
+ stage: string;
223
+ }): Promise<DeploymentResponse>;
224
+ deploymentLaunch(params: {
225
+ force?: boolean;
226
+ name: string;
227
+ projectSlug: string;
228
+ region?: string;
229
+ stage: string;
230
+ }): Promise<DeploymentResponse>;
231
+ deploymentList(params: {
232
+ projectSlug: string;
233
+ stage: string;
234
+ }): Promise<DeploymentResponse[]>;
235
+ gitAuthInitiate(provider: 'github' | 'gitlab'): Promise<GitAuthInitiateResponse>;
236
+ gitCheckRepoAccess(params: {
237
+ provider: 'github' | 'gitlab';
238
+ repoUrl: string;
239
+ }): Promise<CheckRepoAccessResponse>;
240
+ gitDeleteInstallation(provider: 'github' | 'gitlab', installationId: string): Promise<{
241
+ message: string;
242
+ success: boolean;
243
+ }>;
244
+ gitListInstallations(provider?: 'github' | 'gitlab'): Promise<{
245
+ installations: GitInstallation[];
246
+ }>;
247
+ gitListRepos(params: {
248
+ installationId: string;
249
+ page?: number;
250
+ perPage?: number;
251
+ provider: 'github' | 'gitlab';
252
+ }): Promise<{
253
+ repos: GitRepoInfo[];
254
+ totalCount: number;
255
+ }>;
256
+ jiraPreRegister(params: {
257
+ jiraDomain: string;
258
+ }): Promise<{
259
+ nextSteps: {
260
+ instructions: string[];
261
+ marketplaceUrl: string;
262
+ };
263
+ registration: {
264
+ jiraDomain: string;
265
+ status: string;
266
+ tenantId: string;
267
+ token: string;
268
+ };
269
+ success: boolean;
270
+ }>;
271
+ /**
272
+ * Test API connection
273
+ */
274
+ makeTestRequest(): Promise<Record<string, unknown>>;
275
+ moduleAnalyze(slug: string): Promise<{
276
+ jobId: string;
277
+ logging?: LoggingConfig;
278
+ message: string;
279
+ projectId: string;
280
+ status: string;
281
+ }>;
282
+ moduleCreate(module: {
283
+ buildCommand?: string;
284
+ buildFolder?: string;
285
+ buildRuntime: string;
286
+ buildRuntimeVersion?: string;
287
+ ciService?: string;
288
+ framework: string;
289
+ installCommand?: string;
290
+ name: string;
291
+ runCommand?: string;
292
+ runtime: string;
293
+ slug: string;
294
+ sourceLocation: string;
295
+ }): Promise<ModuleResponse>;
296
+ moduleDestroy(params: {
297
+ slug: string;
298
+ }): Promise<{
299
+ message: string;
300
+ }>;
301
+ moduleGet(params: {
302
+ slug: string;
303
+ }): Promise<ModuleResponse>;
304
+ moduleGetDockerfile(slug: string): Promise<{
305
+ analysis?: {
306
+ detectedBuildCommand?: string;
307
+ detectedFramework?: string;
308
+ detectedRunCommand?: string;
309
+ detectedRuntime?: string;
310
+ detectedRuntimeVersion?: string;
311
+ healthEndpoint?: string;
312
+ port?: number;
313
+ recommendations?: string[];
314
+ };
315
+ buildSuccess: boolean;
316
+ dockerfile: string;
317
+ dockerignore?: string;
318
+ generatedAt: string;
319
+ portOpen: boolean;
320
+ runSuccess: boolean;
321
+ validated: boolean;
322
+ } | null>;
323
+ moduleLink(params: {
324
+ originSlug: string;
325
+ parameters: Record<string, boolean>;
326
+ targetSlug: string;
327
+ }): Promise<ModuleResponse>;
328
+ moduleList(): Promise<ModuleResponse[]>;
329
+ moduleReanalyze(slug: string, userPrompt: string): Promise<{
330
+ jobId: string;
331
+ logging?: LoggingConfig;
332
+ message: string;
333
+ projectId: string;
334
+ status: string;
335
+ }>;
336
+ moduleUpdate(params: {
337
+ buildCommand?: string;
338
+ buildFolder?: string;
339
+ buildRuntime?: string;
340
+ buildRuntimeVersion?: string;
341
+ ciService?: string;
342
+ framework?: string;
343
+ installCommand?: string;
344
+ name?: string;
345
+ runCommand?: string;
346
+ runtime?: string;
347
+ runtimeVersion?: string;
348
+ slug: string;
349
+ sourceLocation?: string;
350
+ }): Promise<ModuleResponse>;
351
+ parameterAdd(params: {
352
+ accountId: string;
353
+ encodedContent: string;
354
+ projectSlug: string;
355
+ specific: boolean;
356
+ stage: string;
357
+ }): Promise<ParameterSyncResponse>;
358
+ parameterBackfill(params: {
359
+ accountId: string;
360
+ dryRun: boolean;
361
+ }): Promise<{
362
+ dryRun: boolean;
363
+ errors: Array<{
364
+ error: string;
365
+ path: string;
366
+ }>;
367
+ imported: number;
368
+ parameters: Array<{
369
+ imported: boolean;
370
+ key: string;
371
+ projectSlug: string;
372
+ stage: string;
373
+ tenantId: string;
374
+ }>;
375
+ skipped: number;
376
+ success: boolean;
377
+ totalFound: number;
378
+ }>;
379
+ parameterClear(params: {
380
+ accountId: string;
381
+ projectSlug: string;
382
+ specific: boolean;
383
+ stage: string;
384
+ }): Promise<{
385
+ message: string;
386
+ }>;
387
+ parameterList(params: {
388
+ accountId: string;
389
+ projectSlug: string;
390
+ specific: boolean;
391
+ stage: string;
392
+ }): Promise<ParameterListResponse>;
393
+ parameterRemove(params: {
394
+ accountId: string;
395
+ key: string;
396
+ projectSlug: string;
397
+ specific: boolean;
398
+ stage: string;
399
+ }): Promise<{
400
+ message: string;
401
+ }>;
402
+ parameterSync(params: {
403
+ accountId: string;
404
+ encodedContent: string;
405
+ projectSlug?: string;
406
+ specific: boolean;
407
+ stage?: string;
408
+ }): Promise<ParameterSyncResponse>;
409
+ parameterSyncStatus(params: {
410
+ taskId: string;
411
+ }): Promise<ParameterSyncStatusResponse>;
412
+ parameterUpdate(params: {
413
+ accountId: string;
414
+ encodedContent: string;
415
+ key: string;
416
+ projectSlug: string;
417
+ specific: boolean;
418
+ stage: string;
419
+ }): Promise<ParameterSyncResponse>;
420
+ stageCreate(params: {
421
+ accountId?: string;
422
+ autoLaunch?: boolean;
423
+ branchName: string;
424
+ defaultStage: boolean;
425
+ deletionProtection: boolean;
426
+ name: string;
427
+ production: boolean;
428
+ projects: string[];
429
+ provider?: string;
430
+ regions: string[];
431
+ }): Promise<StageResponse>;
432
+ stageGet(params: {
433
+ name: string;
434
+ }): Promise<StageResponse>;
435
+ stageList(): Promise<StageResponse[]>;
436
+ private handleError;
437
+ private handleOutdatedCLI;
438
+ private handleOutdatedRole;
439
+ private handleResponse;
440
+ /**
441
+ * Make a signed API request
442
+ */
443
+ private makeSignedRequest;
444
+ /**
445
+ * Sign an HTTP request using AWS Signature V4
446
+ */
447
+ private signRequest;
448
+ }
449
+ export {};