@hyperdrive.bot/cli 1.0.11 → 1.0.12

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/README.md CHANGED
@@ -20,7 +20,7 @@ $ npm install -g @hyperdrive.bot/cli
20
20
  $ hd COMMAND
21
21
  running command...
22
22
  $ hd (--version)
23
- @hyperdrive.bot/cli/1.0.11 linux-x64 node-v22.22.0
23
+ @hyperdrive.bot/cli/1.0.12 linux-x64 node-v22.22.0
24
24
  $ hd --help [COMMAND]
25
25
  USAGE
26
26
  $ hd COMMAND
@@ -126,7 +126,7 @@ EXAMPLES
126
126
  $ hd account add # Interactive mode
127
127
  ```
128
128
 
129
- _See code: [src/commands/account/add.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/account/add.ts)_
129
+ _See code: [src/commands/account/add.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/account/add.ts)_
130
130
 
131
131
  ## `hd account list`
132
132
 
@@ -146,7 +146,7 @@ EXAMPLES
146
146
  $ hd account list
147
147
  ```
148
148
 
149
- _See code: [src/commands/account/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/account/list.ts)_
149
+ _See code: [src/commands/account/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/account/list.ts)_
150
150
 
151
151
  ## `hd account remove`
152
152
 
@@ -170,7 +170,7 @@ EXAMPLES
170
170
  $ hd account remove --accountId 123456789012 --force
171
171
  ```
172
172
 
173
- _See code: [src/commands/account/remove.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/account/remove.ts)_
173
+ _See code: [src/commands/account/remove.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/account/remove.ts)_
174
174
 
175
175
  ## `hd auth login`
176
176
 
@@ -198,7 +198,7 @@ EXAMPLES
198
198
  $ hd auth login --ci --domain acme.hyperdrive.bot
199
199
  ```
200
200
 
201
- _See code: [src/commands/auth/login.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/auth/login.ts)_
201
+ _See code: [src/commands/auth/login.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/auth/login.ts)_
202
202
 
203
203
  ## `hd auth logout`
204
204
 
@@ -221,7 +221,7 @@ EXAMPLES
221
221
  $ hd auth logout --domain acme.hyperdrive.bot
222
222
  ```
223
223
 
224
- _See code: [src/commands/auth/logout.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/auth/logout.ts)_
224
+ _See code: [src/commands/auth/logout.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/auth/logout.ts)_
225
225
 
226
226
  ## `hd auth refresh`
227
227
 
@@ -238,7 +238,7 @@ EXAMPLES
238
238
  $ hd auth refresh
239
239
  ```
240
240
 
241
- _See code: [src/commands/auth/refresh.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/auth/refresh.ts)_
241
+ _See code: [src/commands/auth/refresh.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/auth/refresh.ts)_
242
242
 
243
243
  ## `hd auth status`
244
244
 
@@ -255,7 +255,7 @@ EXAMPLES
255
255
  $ hd auth status
256
256
  ```
257
257
 
258
- _See code: [src/commands/auth/status.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/auth/status.ts)_
258
+ _See code: [src/commands/auth/status.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/auth/status.ts)_
259
259
 
260
260
  ## `hd ci account create`
261
261
 
@@ -286,7 +286,7 @@ EXAMPLES
286
286
  $ hd ci account create --name="gitlab-staging" --scope=deploy --scope=parameter:read
287
287
  ```
288
288
 
289
- _See code: [src/commands/ci/account/create.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/ci/account/create.ts)_
289
+ _See code: [src/commands/ci/account/create.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/ci/account/create.ts)_
290
290
 
291
291
  ## `hd ci account delete [ACCOUNTID]`
292
292
 
@@ -312,7 +312,7 @@ EXAMPLES
312
312
  $ hd ci account delete <account-id> --force
313
313
  ```
314
314
 
315
- _See code: [src/commands/ci/account/delete.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/ci/account/delete.ts)_
315
+ _See code: [src/commands/ci/account/delete.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/ci/account/delete.ts)_
316
316
 
317
317
  ## `hd ci account list`
318
318
 
@@ -335,7 +335,7 @@ EXAMPLES
335
335
  $ hd ci account list --json
336
336
  ```
337
337
 
338
- _See code: [src/commands/ci/account/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/ci/account/list.ts)_
338
+ _See code: [src/commands/ci/account/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/ci/account/list.ts)_
339
339
 
340
340
  ## `hd config get KEY`
341
341
 
@@ -357,7 +357,7 @@ EXAMPLES
357
357
  $ hd config get bootstrap-url
358
358
  ```
359
359
 
360
- _See code: [src/commands/config/get.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/config/get.ts)_
360
+ _See code: [src/commands/config/get.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/config/get.ts)_
361
361
 
362
362
  ## `hd config set KEY VALUE`
363
363
 
@@ -384,7 +384,7 @@ EXAMPLES
384
384
  $ hd config set region us-west-2
385
385
  ```
386
386
 
387
- _See code: [src/commands/config/set.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/config/set.ts)_
387
+ _See code: [src/commands/config/set.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/config/set.ts)_
388
388
 
389
389
  ## `hd config show`
390
390
 
@@ -401,7 +401,7 @@ EXAMPLES
401
401
  $ hd config show
402
402
  ```
403
403
 
404
- _See code: [src/commands/config/show.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/config/show.ts)_
404
+ _See code: [src/commands/config/show.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/config/show.ts)_
405
405
 
406
406
  ## `hd deployment create`
407
407
 
@@ -416,7 +416,7 @@ FLAGS
416
416
  -c, --commit=<value> (required) Commit hash
417
417
  -d, --domain=<value> Tenant domain (for multi-domain setups)
418
418
  -m, --moduleSlug=<value> (required) Module slug
419
- -n, --name=<value> [default: Deployment-2026-02-08-14-37-25] The name of the deployment
419
+ -n, --name=<value> [default: Deployment-2026-02-09-16-59-18] The name of the deployment
420
420
  -r, --regions=<value>... [default: ] Regions for the deployment
421
421
  -s, --stage=<value> (required) Stage for the deployment
422
422
  -v, --verbose Show detailed build logs
@@ -435,7 +435,7 @@ EXAMPLES
435
435
  $ hd deployment create --stage="dev" --commit="abc123" --verbose
436
436
  ```
437
437
 
438
- _See code: [src/commands/deployment/create.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/deployment/create.ts)_
438
+ _See code: [src/commands/deployment/create.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/deployment/create.ts)_
439
439
 
440
440
  ## `hd deployment get`
441
441
 
@@ -460,7 +460,7 @@ EXAMPLES
460
460
  $ hd deployment get --name="prod-release-v1" --stage="prod"
461
461
  ```
462
462
 
463
- _See code: [src/commands/deployment/get.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/deployment/get.ts)_
463
+ _See code: [src/commands/deployment/get.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/deployment/get.ts)_
464
464
 
465
465
  ## `hd deployment launch`
466
466
 
@@ -487,7 +487,7 @@ EXAMPLES
487
487
  $ hd deployment launch --name="prod-release" --stage="prod" --region="us-west-2"
488
488
  ```
489
489
 
490
- _See code: [src/commands/deployment/launch.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/deployment/launch.ts)_
490
+ _See code: [src/commands/deployment/launch.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/deployment/launch.ts)_
491
491
 
492
492
  ## `hd deployment list`
493
493
 
@@ -511,7 +511,7 @@ EXAMPLES
511
511
  $ hd deployment list --stage="prod" --moduleSlug="my-api"
512
512
  ```
513
513
 
514
- _See code: [src/commands/deployment/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/deployment/list.ts)_
514
+ _See code: [src/commands/deployment/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/deployment/list.ts)_
515
515
 
516
516
  ## `hd domain current`
517
517
 
@@ -528,7 +528,7 @@ EXAMPLES
528
528
  $ hd domain current
529
529
  ```
530
530
 
531
- _See code: [src/commands/domain/current.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/domain/current.ts)_
531
+ _See code: [src/commands/domain/current.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/domain/current.ts)_
532
532
 
533
533
  ## `hd domain list`
534
534
 
@@ -545,7 +545,7 @@ EXAMPLES
545
545
  $ hd domain list
546
546
  ```
547
547
 
548
- _See code: [src/commands/domain/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/domain/list.ts)_
548
+ _See code: [src/commands/domain/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/domain/list.ts)_
549
549
 
550
550
  ## `hd domain switch DOMAIN`
551
551
 
@@ -565,7 +565,7 @@ EXAMPLES
565
565
  $ hd domain switch acme.hyperdrive.bot
566
566
  ```
567
567
 
568
- _See code: [src/commands/domain/switch.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/domain/switch.ts)_
568
+ _See code: [src/commands/domain/switch.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/domain/switch.ts)_
569
569
 
570
570
  ## `hd example [FILE]`
571
571
 
@@ -589,7 +589,7 @@ EXAMPLES
589
589
  $ hd example
590
590
  ```
591
591
 
592
- _See code: [src/commands/example.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/example.ts)_
592
+ _See code: [src/commands/example.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/example.ts)_
593
593
 
594
594
  ## `hd git connect`
595
595
 
@@ -613,7 +613,7 @@ EXAMPLES
613
613
  $ hd git connect --provider=gitlab
614
614
  ```
615
615
 
616
- _See code: [src/commands/git/connect.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/git/connect.ts)_
616
+ _See code: [src/commands/git/connect.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/git/connect.ts)_
617
617
 
618
618
  ## `hd git disconnect`
619
619
 
@@ -638,7 +638,7 @@ EXAMPLES
638
638
  $ hd git disconnect --provider=github --installation-id=12345
639
639
  ```
640
640
 
641
- _See code: [src/commands/git/disconnect.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/git/disconnect.ts)_
641
+ _See code: [src/commands/git/disconnect.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/git/disconnect.ts)_
642
642
 
643
643
  ## `hd git list`
644
644
 
@@ -662,7 +662,7 @@ EXAMPLES
662
662
  $ hd git list --provider=github
663
663
  ```
664
664
 
665
- _See code: [src/commands/git/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/git/list.ts)_
665
+ _See code: [src/commands/git/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/git/list.ts)_
666
666
 
667
667
  ## `hd git sync`
668
668
 
@@ -698,7 +698,7 @@ EXAMPLES
698
698
  $ hd git sync --all --remote upstream --merge-strategy no-ff
699
699
  ```
700
700
 
701
- _See code: [src/commands/git/sync.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/git/sync.ts)_
701
+ _See code: [src/commands/git/sync.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/git/sync.ts)_
702
702
 
703
703
  ## `hd help [COMMAND]`
704
704
 
@@ -735,7 +735,7 @@ EXAMPLES
735
735
  $ hd init
736
736
  ```
737
737
 
738
- _See code: [src/commands/init.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/init.ts)_
738
+ _See code: [src/commands/init.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/init.ts)_
739
739
 
740
740
  ## `hd jira connect`
741
741
 
@@ -760,7 +760,7 @@ EXAMPLES
760
760
  $ hd jira connect --domain sankhya.hyperdrivebot.dev --jira-domain dev-squad.atlassian.net
761
761
  ```
762
762
 
763
- _See code: [src/commands/jira/connect.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/jira/connect.ts)_
763
+ _See code: [src/commands/jira/connect.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/jira/connect.ts)_
764
764
 
765
765
  ## `hd jira hook add PROJECT`
766
766
 
@@ -791,7 +791,7 @@ EXAMPLES
791
791
  $ hd jira hook add my-project --json
792
792
  ```
793
793
 
794
- _See code: [src/commands/jira/hook/add.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/jira/hook/add.ts)_
794
+ _See code: [src/commands/jira/hook/add.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/jira/hook/add.ts)_
795
795
 
796
796
  ## `hd jira hook list PROJECT`
797
797
 
@@ -817,7 +817,7 @@ EXAMPLES
817
817
  $ hd jira hook list my-project --json
818
818
  ```
819
819
 
820
- _See code: [src/commands/jira/hook/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/jira/hook/list.ts)_
820
+ _See code: [src/commands/jira/hook/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/jira/hook/list.ts)_
821
821
 
822
822
  ## `hd jira hook remove PROJECT`
823
823
 
@@ -846,7 +846,7 @@ EXAMPLES
846
846
  $ hd jira hook remove my-project --hook-id hook-123 --json
847
847
  ```
848
848
 
849
- _See code: [src/commands/jira/hook/remove.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/jira/hook/remove.ts)_
849
+ _See code: [src/commands/jira/hook/remove.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/jira/hook/remove.ts)_
850
850
 
851
851
  ## `hd jira hook toggle PROJECT`
852
852
 
@@ -875,7 +875,7 @@ EXAMPLES
875
875
  $ hd jira hook toggle my-project --hook-id hook-123 --json
876
876
  ```
877
877
 
878
- _See code: [src/commands/jira/hook/toggle.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/jira/hook/toggle.ts)_
878
+ _See code: [src/commands/jira/hook/toggle.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/jira/hook/toggle.ts)_
879
879
 
880
880
  ## `hd jira status`
881
881
 
@@ -895,7 +895,7 @@ EXAMPLES
895
895
  $ hd jira status
896
896
  ```
897
897
 
898
- _See code: [src/commands/jira/status.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/jira/status.ts)_
898
+ _See code: [src/commands/jira/status.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/jira/status.ts)_
899
899
 
900
900
  ## `hd module analyze`
901
901
 
@@ -923,7 +923,7 @@ EXAMPLES
923
923
  $ hd module analyze --slug="my-module" --verbose
924
924
  ```
925
925
 
926
- _See code: [src/commands/module/analyze.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/module/analyze.ts)_
926
+ _See code: [src/commands/module/analyze.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/module/analyze.ts)_
927
927
 
928
928
  ## `hd module create`
929
929
 
@@ -975,7 +975,7 @@ EXAMPLES
975
975
  $ hd module create --name="API Service" --framework="Serverless Framework"
976
976
  ```
977
977
 
978
- _See code: [src/commands/module/create.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/module/create.ts)_
978
+ _See code: [src/commands/module/create.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/module/create.ts)_
979
979
 
980
980
  ## `hd module destroy`
981
981
 
@@ -999,7 +999,7 @@ EXAMPLES
999
999
  $ hd module destroy --slug="old-project" --force
1000
1000
  ```
1001
1001
 
1002
- _See code: [src/commands/module/destroy.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/module/destroy.ts)_
1002
+ _See code: [src/commands/module/destroy.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/module/destroy.ts)_
1003
1003
 
1004
1004
  ## `hd module get`
1005
1005
 
@@ -1022,7 +1022,7 @@ EXAMPLES
1022
1022
  $ hd module get
1023
1023
  ```
1024
1024
 
1025
- _See code: [src/commands/module/get.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/module/get.ts)_
1025
+ _See code: [src/commands/module/get.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/module/get.ts)_
1026
1026
 
1027
1027
  ## `hd module link`
1028
1028
 
@@ -1045,7 +1045,7 @@ EXAMPLES
1045
1045
  $ hd module link --originSlug="vixting-integration" --targetSlug="vixting-api" --parameter="VLOW_API_ENDPOINT_PREFIX"
1046
1046
  ```
1047
1047
 
1048
- _See code: [src/commands/module/link.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/module/link.ts)_
1048
+ _See code: [src/commands/module/link.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/module/link.ts)_
1049
1049
 
1050
1050
  ## `hd module list`
1051
1051
 
@@ -1065,7 +1065,7 @@ EXAMPLES
1065
1065
  $ hd module list
1066
1066
  ```
1067
1067
 
1068
- _See code: [src/commands/module/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/module/list.ts)_
1068
+ _See code: [src/commands/module/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/module/list.ts)_
1069
1069
 
1070
1070
  ## `hd module reanalyze`
1071
1071
 
@@ -1094,7 +1094,7 @@ EXAMPLES
1094
1094
  $ hd module reanalyze -s my-module -p "Exclude source maps from S3 upload" --verbose
1095
1095
  ```
1096
1096
 
1097
- _See code: [src/commands/module/reanalyze.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/module/reanalyze.ts)_
1097
+ _See code: [src/commands/module/reanalyze.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/module/reanalyze.ts)_
1098
1098
 
1099
1099
  ## `hd module update`
1100
1100
 
@@ -1150,7 +1150,7 @@ EXAMPLES
1150
1150
  $ hd module update --slug="my-module" --name="New Name" --framework="React.js"
1151
1151
  ```
1152
1152
 
1153
- _See code: [src/commands/module/update.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/module/update.ts)_
1153
+ _See code: [src/commands/module/update.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/module/update.ts)_
1154
1154
 
1155
1155
  ## `hd parameter add`
1156
1156
 
@@ -1180,7 +1180,7 @@ EXAMPLES
1180
1180
  $ hd parameter add --key="PORT" --value="3000"
1181
1181
  ```
1182
1182
 
1183
- _See code: [src/commands/parameter/add.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/parameter/add.ts)_
1183
+ _See code: [src/commands/parameter/add.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/parameter/add.ts)_
1184
1184
 
1185
1185
  ## `hd parameter backfill`
1186
1186
 
@@ -1205,7 +1205,7 @@ EXAMPLES
1205
1205
  $ hd parameter backfill --accountId="123456789012"
1206
1206
  ```
1207
1207
 
1208
- _See code: [src/commands/parameter/backfill.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/parameter/backfill.ts)_
1208
+ _See code: [src/commands/parameter/backfill.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/parameter/backfill.ts)_
1209
1209
 
1210
1210
  ## `hd parameter clear`
1211
1211
 
@@ -1232,7 +1232,7 @@ EXAMPLES
1232
1232
  $ hd parameter clear --stage="prod" --specific --force
1233
1233
  ```
1234
1234
 
1235
- _See code: [src/commands/parameter/clear.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/parameter/clear.ts)_
1235
+ _See code: [src/commands/parameter/clear.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/parameter/clear.ts)_
1236
1236
 
1237
1237
  ## `hd parameter list`
1238
1238
 
@@ -1261,7 +1261,7 @@ EXAMPLES
1261
1261
  $ hd parameter list --all-stages
1262
1262
  ```
1263
1263
 
1264
- _See code: [src/commands/parameter/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/parameter/list.ts)_
1264
+ _See code: [src/commands/parameter/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/parameter/list.ts)_
1265
1265
 
1266
1266
  ## `hd parameter pull`
1267
1267
 
@@ -1290,7 +1290,7 @@ EXAMPLES
1290
1290
  $ hd parameter pull --stage="dev" --no-backup
1291
1291
  ```
1292
1292
 
1293
- _See code: [src/commands/parameter/pull.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/parameter/pull.ts)_
1293
+ _See code: [src/commands/parameter/pull.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/parameter/pull.ts)_
1294
1294
 
1295
1295
  ## `hd parameter remove`
1296
1296
 
@@ -1320,7 +1320,7 @@ EXAMPLES
1320
1320
  $ hd parameter remove --key="PORT" --force
1321
1321
  ```
1322
1322
 
1323
- _See code: [src/commands/parameter/remove.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/parameter/remove.ts)_
1323
+ _See code: [src/commands/parameter/remove.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/parameter/remove.ts)_
1324
1324
 
1325
1325
  ## `hd parameter sync`
1326
1326
 
@@ -1349,7 +1349,7 @@ EXAMPLES
1349
1349
  $ hd parameter sync --no-specific --stage="all"
1350
1350
  ```
1351
1351
 
1352
- _See code: [src/commands/parameter/sync.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/parameter/sync.ts)_
1352
+ _See code: [src/commands/parameter/sync.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/parameter/sync.ts)_
1353
1353
 
1354
1354
  ## `hd parameter update`
1355
1355
 
@@ -1377,7 +1377,7 @@ EXAMPLES
1377
1377
  $ hd parameter update --key="DB_HOST" --value="new-host" --specific
1378
1378
  ```
1379
1379
 
1380
- _See code: [src/commands/parameter/update.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/parameter/update.ts)_
1380
+ _See code: [src/commands/parameter/update.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/parameter/update.ts)_
1381
1381
 
1382
1382
  ## `hd plugins`
1383
1383
 
@@ -1697,7 +1697,7 @@ EXAMPLES
1697
1697
  $ hd project init --json --name "My Project" --jira-key PROJ
1698
1698
  ```
1699
1699
 
1700
- _See code: [src/commands/project/init.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/project/init.ts)_
1700
+ _See code: [src/commands/project/init.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/project/init.ts)_
1701
1701
 
1702
1702
  ## `hd project list`
1703
1703
 
@@ -1722,7 +1722,7 @@ EXAMPLES
1722
1722
  $ hd project list --domain custom.hyperdrive.bot
1723
1723
  ```
1724
1724
 
1725
- _See code: [src/commands/project/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/project/list.ts)_
1725
+ _See code: [src/commands/project/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/project/list.ts)_
1726
1726
 
1727
1727
  ## `hd project status PROJECT`
1728
1728
 
@@ -1750,7 +1750,7 @@ EXAMPLES
1750
1750
  $ hd project status my-project --domain custom.hyperdrive.bot
1751
1751
  ```
1752
1752
 
1753
- _See code: [src/commands/project/status.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/project/status.ts)_
1753
+ _See code: [src/commands/project/status.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/project/status.ts)_
1754
1754
 
1755
1755
  ## `hd project sync PROJECT`
1756
1756
 
@@ -1779,7 +1779,7 @@ EXAMPLES
1779
1779
  $ hd project sync my-project --json
1780
1780
  ```
1781
1781
 
1782
- _See code: [src/commands/project/sync.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/project/sync.ts)_
1782
+ _See code: [src/commands/project/sync.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/project/sync.ts)_
1783
1783
 
1784
1784
  ## `hd stage access [STAGE]`
1785
1785
 
@@ -1808,7 +1808,7 @@ EXAMPLES
1808
1808
  $ hd stage access develop --format json
1809
1809
  ```
1810
1810
 
1811
- _See code: [src/commands/stage/access.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/stage/access.ts)_
1811
+ _See code: [src/commands/stage/access.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/stage/access.ts)_
1812
1812
 
1813
1813
  ## `hd stage create`
1814
1814
 
@@ -1836,7 +1836,7 @@ DESCRIPTION
1836
1836
  Create a new stage
1837
1837
  ```
1838
1838
 
1839
- _See code: [src/commands/stage/create.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/stage/create.ts)_
1839
+ _See code: [src/commands/stage/create.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/stage/create.ts)_
1840
1840
 
1841
1841
  ## `hd stage list`
1842
1842
 
@@ -1856,7 +1856,7 @@ EXAMPLES
1856
1856
  $ hd stage list
1857
1857
  ```
1858
1858
 
1859
- _See code: [src/commands/stage/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/stage/list.ts)_
1859
+ _See code: [src/commands/stage/list.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/stage/list.ts)_
1860
1860
 
1861
1861
  ## `hd stage revoke [STAGE]`
1862
1862
 
@@ -1888,7 +1888,7 @@ EXAMPLES
1888
1888
  $ hd stage revoke develop --ci github-actions
1889
1889
  ```
1890
1890
 
1891
- _See code: [src/commands/stage/revoke.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/stage/revoke.ts)_
1891
+ _See code: [src/commands/stage/revoke.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/stage/revoke.ts)_
1892
1892
 
1893
1893
  ## `hd stage share [STAGE]`
1894
1894
 
@@ -1928,7 +1928,7 @@ EXAMPLES
1928
1928
  $ hd stage share staging production --user dev@company.com --role viewer
1929
1929
  ```
1930
1930
 
1931
- _See code: [src/commands/stage/share.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/stage/share.ts)_
1931
+ _See code: [src/commands/stage/share.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/stage/share.ts)_
1932
1932
 
1933
1933
  ## `hd test-api`
1934
1934
 
@@ -1948,5 +1948,5 @@ EXAMPLES
1948
1948
  $ hd test-api
1949
1949
  ```
1950
1950
 
1951
- _See code: [src/commands/test-api.ts](https://github.com/hyperdrive/hd/blob/v1.0.11/src/commands/test-api.ts)_
1951
+ _See code: [src/commands/test-api.ts](https://github.com/hyperdrive/hd/blob/v1.0.12/src/commands/test-api.ts)_
1952
1952
  <!-- commandsstop -->
@@ -111,6 +111,7 @@ export default class Login extends Command {
111
111
  spinner.start('Saving credentials...');
112
112
  saveCredentials({
113
113
  ...tokens,
114
+ additionalApiUrls: tenantConfig.additionalApiUrls,
114
115
  apiUrl: tenantConfig.apiUrl,
115
116
  awsCredentials,
116
117
  cognitoConfig: {
@@ -120,11 +121,9 @@ export default class Login extends Command {
120
121
  userPoolId: tenantConfig.cognitoUserPoolId,
121
122
  },
122
123
  obtainedAt: new Date().toISOString(),
123
- projectsApiUrl: tenantConfig.projectsApiUrl,
124
124
  region: tenantConfig.region,
125
125
  tenantDomain: tenantConfig.tenantDomain,
126
126
  tenantId: tenantConfig.tenantId,
127
- userGroupsApiUrl: tenantConfig.userGroupsApiUrl,
128
127
  }, tenantConfig.tenantDomain);
129
128
  spinner.succeed(chalk.green('Credentials saved!'));
130
129
  this.log('');
@@ -42,6 +42,7 @@ interface ModuleResponse {
42
42
  ciService?: string;
43
43
  createdAt?: string;
44
44
  framework?: string;
45
+ moduleType?: 'backend' | 'frontend';
45
46
  name?: string;
46
47
  projectId?: string;
47
48
  runCommand?: string;
@@ -49,6 +50,7 @@ interface ModuleResponse {
49
50
  runtimeVersion?: string;
50
51
  slug?: string;
51
52
  sourceLocation?: string;
53
+ subdomain?: string;
52
54
  }
53
55
  interface ParameterSyncResponse {
54
56
  errors?: Array<{
@@ -136,7 +138,9 @@ interface GitAuthInitiateResponse {
136
138
  installUrl: string;
137
139
  state: string;
138
140
  }
139
- export type HookActionType = 'adhb-enrich' | 'ci-trigger' | 'slack-notify' | 'webhook';
141
+ export type HookTriggerEvent = 'comment_added' | 'field_changed' | 'issue_assigned' | 'issue_created' | 'label_changed' | 'status_transition';
142
+ export type HookActionType = 'adhb-enrich' | 'ci-trigger' | 'git-create-branch' | 'git-create-mr' | 'git-delete-branch' | 'slack-notify' | 'webhook';
143
+ export type HookActionCategory = 'flex' | 'smart';
140
144
  export interface SlackNotifyConfig {
141
145
  channel: string;
142
146
  template?: string;
@@ -167,11 +171,78 @@ export interface HookResponse {
167
171
  export interface HookListResponse {
168
172
  hooks: HookResponse[];
169
173
  }
174
+ export interface HookLogEntry {
175
+ actionType: string;
176
+ durationMs: number;
177
+ errorMessage?: string;
178
+ hookId: string;
179
+ hookName: string;
180
+ httpStatusCode?: number;
181
+ issueKey: string;
182
+ status: 'failed' | 'success';
183
+ timestamp: string;
184
+ triggerEvent: string;
185
+ }
186
+ export interface HookLogListResponse {
187
+ items: HookLogEntry[];
188
+ }
170
189
  export interface HookCreateRequest {
171
190
  actionConfig: HookActionConfig;
172
191
  actionType: HookActionType;
173
192
  triggerStatus: string;
174
193
  }
194
+ export interface HookCreateRequestV2 {
195
+ action: {
196
+ category: HookActionCategory;
197
+ config: Record<string, unknown>;
198
+ type: HookActionType;
199
+ };
200
+ order?: number;
201
+ trigger: {
202
+ conditions?: Record<string, string>;
203
+ event: HookTriggerEvent;
204
+ source: string;
205
+ };
206
+ }
207
+ export type BackupStatus = 'completed' | 'failed' | 'in-progress' | 'pending';
208
+ export type BackupType = 'clone' | 'restore' | 'snapshot';
209
+ export type SeedRunStatus = 'completed' | 'failed' | 'in-progress' | 'pending';
210
+ export type ClonePhase = 'completed' | 'credential-rotation' | 'failed' | 'registering' | 'restoring' | 'snapshot-creating' | 'snapshot-sharing';
211
+ export interface BackupResponse {
212
+ completedAt?: string;
213
+ createdAt: string;
214
+ errorMessage?: string;
215
+ id: string;
216
+ metadata?: Record<string, string>;
217
+ serviceSlug: string;
218
+ serviceType: string;
219
+ snapshotArn?: string;
220
+ snapshotIdentifier?: string;
221
+ status: BackupStatus;
222
+ type: BackupType;
223
+ updatedAt: string;
224
+ }
225
+ export interface BackupListResponse {
226
+ backups: BackupResponse[];
227
+ lastEvaluatedKey?: Record<string, unknown>;
228
+ }
229
+ export interface SeedRunResponse {
230
+ completedAt?: string;
231
+ createdAt: string;
232
+ errorMessage?: string;
233
+ id: string;
234
+ logGroupName?: string;
235
+ scriptPath?: string;
236
+ scriptSource: string;
237
+ serviceSlug: string;
238
+ serviceType: string;
239
+ status: SeedRunStatus;
240
+ updatedAt: string;
241
+ }
242
+ export interface SeedRunListResponse {
243
+ lastEvaluatedKey?: Record<string, unknown>;
244
+ seedRuns: SeedRunResponse[];
245
+ }
175
246
  /**
176
247
  * Hyperdrive API Service with AWS SigV4 authentication
177
248
  */
@@ -196,6 +267,242 @@ export declare class HyperdriveSigV4Service extends SigV4ApiClient {
196
267
  accountVerify(params: {
197
268
  accountId: string;
198
269
  }): Promise<AWSAccountVerifyResponse>;
270
+ networkDiscover(params: {
271
+ accountId: string;
272
+ region: string;
273
+ }): Promise<{
274
+ vpcs: Array<{
275
+ vpcId: string;
276
+ name: string;
277
+ cidrBlock: string;
278
+ privateSubnetIds: string[];
279
+ publicSubnetIds: string[];
280
+ securityGroups: Array<{
281
+ groupId: string;
282
+ groupName: string;
283
+ description: string;
284
+ }>;
285
+ alreadyRegistered: boolean;
286
+ existingNetworkSlug?: string;
287
+ }>;
288
+ accountId: string;
289
+ region: string;
290
+ message?: string;
291
+ }>;
292
+ networkRegister(params: {
293
+ slug: string;
294
+ accountId: string;
295
+ region: string;
296
+ vpcId: string;
297
+ privateSubnetIds?: string[];
298
+ publicSubnetIds?: string[];
299
+ securityGroups?: Record<string, string>;
300
+ source?: string;
301
+ }): Promise<Record<string, unknown>>;
302
+ networkList(): Promise<Array<{
303
+ slug: string;
304
+ accountId: string;
305
+ region: string;
306
+ vpcId: string;
307
+ status: string;
308
+ source: string;
309
+ privateSubnetIds: string[];
310
+ publicSubnetIds: string[];
311
+ securityGroups: Record<string, string>;
312
+ createdAt: string;
313
+ updatedAt: string;
314
+ }>>;
315
+ networkGet(slug: string): Promise<{
316
+ slug: string;
317
+ accountId: string;
318
+ region: string;
319
+ vpcId: string;
320
+ status: string;
321
+ source: string;
322
+ privateSubnetIds: string[];
323
+ publicSubnetIds: string[];
324
+ securityGroups: Record<string, string>;
325
+ createdAt: string;
326
+ updatedAt: string;
327
+ }>;
328
+ serviceRegister(params: {
329
+ slug: string;
330
+ name: string;
331
+ type: string;
332
+ access: 'private' | 'public';
333
+ endpoint: string;
334
+ port?: number;
335
+ protocol?: string;
336
+ credentialSecretArn?: string;
337
+ networkSlug?: string;
338
+ accountId: string;
339
+ region: string;
340
+ exportedEnvVars?: Record<string, string>;
341
+ metadata?: Record<string, string>;
342
+ }): Promise<Record<string, unknown>>;
343
+ serviceList(params?: {
344
+ type?: string;
345
+ network?: string;
346
+ }): Promise<Array<{
347
+ slug: string;
348
+ name: string;
349
+ type: string;
350
+ access: string;
351
+ status: string;
352
+ endpoint: string;
353
+ port?: number;
354
+ protocol?: string;
355
+ credentialSecretArn?: string;
356
+ networkSlug?: string;
357
+ accountId: string;
358
+ region: string;
359
+ exportedEnvVars: Record<string, string>;
360
+ metadata: Record<string, string>;
361
+ createdAt: string;
362
+ updatedAt: string;
363
+ }>>;
364
+ serviceGet(slug: string): Promise<{
365
+ slug: string;
366
+ name: string;
367
+ type: string;
368
+ access: string;
369
+ status: string;
370
+ endpoint: string;
371
+ port?: number;
372
+ protocol?: string;
373
+ credentialSecretArn?: string;
374
+ networkSlug?: string;
375
+ accountId: string;
376
+ region: string;
377
+ templateId?: string;
378
+ stackName?: string;
379
+ stackArn?: string;
380
+ cdkRepo?: string;
381
+ exportedEnvVars: Record<string, string>;
382
+ metadata: Record<string, string>;
383
+ createdAt: string;
384
+ updatedAt: string;
385
+ }>;
386
+ serviceUpdate(slug: string, params: Record<string, unknown>): Promise<Record<string, unknown>>;
387
+ serviceProvision(body: {
388
+ templateId: string;
389
+ serviceSlug: string;
390
+ serviceName: string;
391
+ stage: string;
392
+ parameters?: Record<string, string>;
393
+ networkSlug?: string;
394
+ }): Promise<{
395
+ serviceSlug: string;
396
+ status: string;
397
+ logGroupName: string;
398
+ }>;
399
+ serviceTemplateGet(templateId: string): Promise<{
400
+ id: string;
401
+ name: string;
402
+ description: string;
403
+ type: string;
404
+ parameters: Array<{
405
+ name: string;
406
+ description: string;
407
+ type: string;
408
+ default?: string;
409
+ allowed?: string[];
410
+ required: boolean;
411
+ }>;
412
+ defaultExportedEnvVars: Record<string, string>;
413
+ defaultSecurityGroupPurpose: string | null;
414
+ }>;
415
+ serviceDecommission(slug: string): Promise<{
416
+ message: string;
417
+ }>;
418
+ serviceBind(serviceSlug: string, body: {
419
+ moduleSlug: string;
420
+ stage: string;
421
+ envVarMapping?: Record<string, string>;
422
+ templateVars?: Record<string, string>;
423
+ }): Promise<{
424
+ stage: string;
425
+ moduleSlug: string;
426
+ serviceSlug: string;
427
+ envVarMapping?: Record<string, string>;
428
+ templateVars?: Record<string, string>;
429
+ createdAt: string;
430
+ updatedAt: string;
431
+ }>;
432
+ serviceUnbind(serviceSlug: string, body: {
433
+ moduleSlug: string;
434
+ stage: string;
435
+ }): Promise<{
436
+ message: string;
437
+ }>;
438
+ serviceBindings(serviceSlug: string): Promise<Array<{
439
+ stage: string;
440
+ moduleSlug: string;
441
+ serviceSlug: string;
442
+ envVarMapping?: Record<string, string>;
443
+ templateVars?: Record<string, string>;
444
+ createdAt: string;
445
+ updatedAt: string;
446
+ }>>;
447
+ serviceTemplates(): Promise<Array<{
448
+ id: string;
449
+ name: string;
450
+ description: string;
451
+ type: string;
452
+ parameters: Array<{
453
+ name: string;
454
+ description: string;
455
+ type: string;
456
+ default: string;
457
+ allowed?: string[];
458
+ required: boolean;
459
+ }>;
460
+ defaultExportedEnvVars: Record<string, string>;
461
+ }>>;
462
+ serviceCreateBackup(serviceSlug: string, metadata?: Record<string, string>): Promise<BackupResponse>;
463
+ serviceListBackups(serviceSlug: string, params?: {
464
+ limit?: string;
465
+ lastEvaluatedKey?: string;
466
+ }): Promise<BackupListResponse>;
467
+ serviceGetBackup(serviceSlug: string, backupId: string): Promise<BackupResponse>;
468
+ serviceRestore(serviceSlug: string, body: {
469
+ backupId: string;
470
+ instanceClass?: string;
471
+ networkSlug?: string;
472
+ targetSlug?: string;
473
+ }): Promise<BackupResponse>;
474
+ serviceClone(serviceSlug: string, body: {
475
+ instanceClass?: string;
476
+ targetAccountId?: string;
477
+ targetNetworkSlug: string;
478
+ targetSlug: string;
479
+ templateVars?: Record<string, string>;
480
+ }): Promise<BackupResponse>;
481
+ serviceBackupSchedule(serviceSlug: string, schedule: 'daily' | 'weekly'): Promise<Record<string, unknown>>;
482
+ serviceSeed(serviceSlug: string, body: {
483
+ allowProduction?: boolean;
484
+ scriptPath?: string;
485
+ scriptSource: string;
486
+ }): Promise<SeedRunResponse>;
487
+ serviceListSeedRuns(serviceSlug: string, params?: {
488
+ lastEvaluatedKey?: string;
489
+ limit?: string;
490
+ }): Promise<SeedRunListResponse>;
491
+ serviceGetSeedRun(serviceSlug: string, seedRunId: string): Promise<SeedRunResponse>;
492
+ moduleBindings(moduleSlug: string, params?: {
493
+ stage?: string;
494
+ }): Promise<Array<{
495
+ stage: string;
496
+ moduleSlug: string;
497
+ serviceSlug: string;
498
+ serviceType?: string;
499
+ serviceAccess?: string;
500
+ networkSlug?: string;
501
+ envVarMapping?: Record<string, string>;
502
+ templateVars?: Record<string, string>;
503
+ createdAt: string;
504
+ updatedAt: string;
505
+ }>>;
199
506
  ciAccountCreate(params: {
200
507
  description?: string;
201
508
  name: string;
@@ -252,6 +559,7 @@ export declare class HyperdriveSigV4Service extends SigV4ApiClient {
252
559
  deploymentCreate(params: {
253
560
  commit: string;
254
561
  launch: boolean;
562
+ moduleType?: string;
255
563
  name: string;
256
564
  projectSlug: string;
257
565
  regions: string[];
@@ -290,10 +598,15 @@ export declare class HyperdriveSigV4Service extends SigV4ApiClient {
290
598
  totalCount: number;
291
599
  }>;
292
600
  hookCreate(projectId: string, body: HookCreateRequest): Promise<HookResponse>;
601
+ hookCreateV2(projectId: string, body: HookCreateRequestV2): Promise<HookResponse>;
293
602
  hookDelete(projectId: string, hookId: string): Promise<{
294
603
  message: string;
295
604
  }>;
296
605
  hookList(projectId: string): Promise<HookListResponse>;
606
+ hookLogList(projectId: string, options?: {
607
+ limit?: number;
608
+ status?: string;
609
+ }): Promise<HookLogListResponse>;
297
610
  hookUpdate(projectId: string, hookId: string, body: Partial<HookCreateRequest> & {
298
611
  enabled?: boolean;
299
612
  }): Promise<HookResponse>;
@@ -404,16 +717,18 @@ export declare class HyperdriveSigV4Service extends SigV4ApiClient {
404
717
  moduleCreate(module: {
405
718
  buildCommand?: string;
406
719
  buildFolder?: string;
407
- buildRuntime: string;
720
+ buildRuntime?: string;
408
721
  buildRuntimeVersion?: string;
409
722
  ciService?: string;
410
- framework: string;
723
+ framework?: string;
411
724
  installCommand?: string;
725
+ moduleType?: 'backend' | 'frontend' | 'cdk';
412
726
  name: string;
413
727
  runCommand?: string;
414
- runtime: string;
728
+ runtime?: string;
415
729
  slug: string;
416
730
  sourceLocation: string;
731
+ subdomain?: string;
417
732
  }): Promise<ModuleResponse>;
418
733
  moduleDestroy(params: {
419
734
  slug: string;
@@ -463,12 +778,14 @@ export declare class HyperdriveSigV4Service extends SigV4ApiClient {
463
778
  ciService?: string;
464
779
  framework?: string;
465
780
  installCommand?: string;
781
+ moduleType?: 'backend' | 'frontend' | 'cdk';
466
782
  name?: string;
467
783
  runCommand?: string;
468
784
  runtime?: string;
469
785
  runtimeVersion?: string;
470
786
  slug: string;
471
787
  sourceLocation?: string;
788
+ subdomain?: string;
472
789
  }): Promise<ModuleResponse>;
473
790
  parameterAdd(params: {
474
791
  accountId: string;
@@ -575,6 +892,15 @@ export declare class HyperdriveSigV4Service extends SigV4ApiClient {
575
892
  stageAccessRevoke(stageName: string, targetType: 'user' | 'group', targetId: string): Promise<{
576
893
  message: string;
577
894
  }>;
895
+ domainSetProduction(params: {
896
+ domain: string;
897
+ }): Promise<{
898
+ tenantId: string;
899
+ domain: string;
900
+ status: string;
901
+ createdAt: string;
902
+ updatedAt: string;
903
+ }>;
578
904
  groupList(): Promise<Array<{
579
905
  groupId: string;
580
906
  name: string;
@@ -28,8 +28,8 @@ export class HyperdriveSigV4Service extends SigV4ApiClient {
28
28
  apiUrlOverride: process.env.HYPERDRIVE_API_URL,
29
29
  regionOverride: process.env.HYPERDRIVE_AWS_REGION,
30
30
  });
31
- // Get user groups API URL from credentials
32
- this.userGroupsApiUrl = this.getAdditionalApiUrl('userGroupsApiUrl');
31
+ // Get user groups API URL from credentials (key matches bootstrap REST config name)
32
+ this.userGroupsApiUrl = this.getAdditionalApiUrl('user-groups');
33
33
  }
34
34
  // ============================================================================
35
35
  // AWS Account Methods
@@ -50,6 +50,114 @@ export class HyperdriveSigV4Service extends SigV4ApiClient {
50
50
  return this.makeSignedRequest('POST', `/cloud-account/aws/account/${params.accountId}/verify`);
51
51
  }
52
52
  // ============================================================================
53
+ // Network Methods
54
+ // ============================================================================
55
+ async networkDiscover(params) {
56
+ return this.makeSignedRequest('POST', '/networks/discover', params);
57
+ }
58
+ async networkRegister(params) {
59
+ return this.makeSignedRequest('POST', '/networks', params);
60
+ }
61
+ async networkList() {
62
+ return this.makeSignedRequest('GET', '/networks');
63
+ }
64
+ async networkGet(slug) {
65
+ return this.makeSignedRequest('GET', `/networks/${encodeURIComponent(slug)}`);
66
+ }
67
+ // ============================================================================
68
+ // Service Registry Methods
69
+ // ============================================================================
70
+ async serviceRegister(params) {
71
+ return this.makeSignedRequest('POST', '/services', params);
72
+ }
73
+ async serviceList(params) {
74
+ const queryParts = [];
75
+ if (params?.type)
76
+ queryParts.push(`type=${encodeURIComponent(params.type)}`);
77
+ if (params?.network)
78
+ queryParts.push(`network=${encodeURIComponent(params.network)}`);
79
+ const qs = queryParts.length > 0 ? `?${queryParts.join('&')}` : '';
80
+ return this.makeSignedRequest('GET', `/services${qs}`);
81
+ }
82
+ async serviceGet(slug) {
83
+ return this.makeSignedRequest('GET', `/services/${encodeURIComponent(slug)}`);
84
+ }
85
+ async serviceUpdate(slug, params) {
86
+ return this.makeSignedRequest('PUT', `/services/${encodeURIComponent(slug)}`, params);
87
+ }
88
+ async serviceProvision(body) {
89
+ return this.makeSignedRequest('POST', '/services/provision', body);
90
+ }
91
+ async serviceTemplateGet(templateId) {
92
+ return this.makeSignedRequest('GET', `/services/templates/${encodeURIComponent(templateId)}`);
93
+ }
94
+ async serviceDecommission(slug) {
95
+ return this.makeSignedRequest('DELETE', `/services/${encodeURIComponent(slug)}`);
96
+ }
97
+ async serviceBind(serviceSlug, body) {
98
+ return this.makeSignedRequest('POST', `/services/${encodeURIComponent(serviceSlug)}/bind`, body);
99
+ }
100
+ async serviceUnbind(serviceSlug, body) {
101
+ return this.makeSignedRequest('DELETE', `/services/${encodeURIComponent(serviceSlug)}/bind`, body);
102
+ }
103
+ async serviceBindings(serviceSlug) {
104
+ return this.makeSignedRequest('GET', `/services/${encodeURIComponent(serviceSlug)}/bindings`);
105
+ }
106
+ async serviceTemplates() {
107
+ return this.makeSignedRequest('GET', '/services/templates');
108
+ }
109
+ // ============================================================================
110
+ // Service Lifecycle Methods (Backup + Restore)
111
+ // ============================================================================
112
+ async serviceCreateBackup(serviceSlug, metadata) {
113
+ return this.makeSignedRequest('POST', `/services/${encodeURIComponent(serviceSlug)}/backup`, metadata ? { metadata } : undefined);
114
+ }
115
+ async serviceListBackups(serviceSlug, params) {
116
+ const qs = new URLSearchParams();
117
+ if (params?.limit)
118
+ qs.set('limit', params.limit);
119
+ if (params?.lastEvaluatedKey)
120
+ qs.set('lastEvaluatedKey', params.lastEvaluatedKey);
121
+ const query = qs.toString();
122
+ return this.makeSignedRequest('GET', `/services/${encodeURIComponent(serviceSlug)}/backups${query ? `?${query}` : ''}`);
123
+ }
124
+ async serviceGetBackup(serviceSlug, backupId) {
125
+ return this.makeSignedRequest('GET', `/services/${encodeURIComponent(serviceSlug)}/backups/${encodeURIComponent(backupId)}`);
126
+ }
127
+ async serviceRestore(serviceSlug, body) {
128
+ return this.makeSignedRequest('POST', `/services/${encodeURIComponent(serviceSlug)}/restore`, body);
129
+ }
130
+ async serviceClone(serviceSlug, body) {
131
+ return this.makeSignedRequest('POST', `/services/${encodeURIComponent(serviceSlug)}/clone`, body);
132
+ }
133
+ async serviceBackupSchedule(serviceSlug, schedule) {
134
+ return this.makeSignedRequest('PUT', `/services/${encodeURIComponent(serviceSlug)}`, {
135
+ metadata: { backupSchedule: schedule },
136
+ });
137
+ }
138
+ // ============================================================================
139
+ // Service Lifecycle Methods (Seed)
140
+ // ============================================================================
141
+ async serviceSeed(serviceSlug, body) {
142
+ return this.makeSignedRequest('POST', `/services/${encodeURIComponent(serviceSlug)}/seed`, body);
143
+ }
144
+ async serviceListSeedRuns(serviceSlug, params) {
145
+ const qs = new URLSearchParams();
146
+ if (params?.limit)
147
+ qs.set('limit', params.limit);
148
+ if (params?.lastEvaluatedKey)
149
+ qs.set('lastEvaluatedKey', params.lastEvaluatedKey);
150
+ const query = qs.toString();
151
+ return this.makeSignedRequest('GET', `/services/${encodeURIComponent(serviceSlug)}/seed-runs${query ? `?${query}` : ''}`);
152
+ }
153
+ async serviceGetSeedRun(serviceSlug, seedRunId) {
154
+ return this.makeSignedRequest('GET', `/services/${encodeURIComponent(serviceSlug)}/seed-runs/${encodeURIComponent(seedRunId)}`);
155
+ }
156
+ async moduleBindings(moduleSlug, params) {
157
+ const qs = params?.stage ? `?stage=${encodeURIComponent(params.stage)}` : '';
158
+ return this.makeSignedRequest('GET', `/modules/${encodeURIComponent(moduleSlug)}/bindings${qs}`);
159
+ }
160
+ // ============================================================================
53
161
  // CI Account Methods
54
162
  // ============================================================================
55
163
  async ciAccountCreate(params) {
@@ -107,12 +215,24 @@ export class HyperdriveSigV4Service extends SigV4ApiClient {
107
215
  async hookCreate(projectId, body) {
108
216
  return this.makeSignedRequest('POST', `/hyperdrive/projects/${encodeURIComponent(projectId)}/hooks`, body);
109
217
  }
218
+ async hookCreateV2(projectId, body) {
219
+ return this.makeSignedRequest('POST', `/hyperdrive/projects/${encodeURIComponent(projectId)}/hooks`, body);
220
+ }
110
221
  async hookDelete(projectId, hookId) {
111
222
  return this.makeSignedRequest('DELETE', `/hyperdrive/projects/${encodeURIComponent(projectId)}/hooks/${encodeURIComponent(hookId)}`);
112
223
  }
113
224
  async hookList(projectId) {
114
225
  return this.makeSignedRequest('GET', `/hyperdrive/projects/${encodeURIComponent(projectId)}/hooks`);
115
226
  }
227
+ async hookLogList(projectId, options) {
228
+ const params = new URLSearchParams();
229
+ if (options?.limit)
230
+ params.set('limit', String(options.limit));
231
+ if (options?.status)
232
+ params.set('status', options.status);
233
+ const qs = params.toString() ? `?${params.toString()}` : '';
234
+ return this.makeSignedRequest('GET', `/hyperdrive/projects/${encodeURIComponent(projectId)}/hook-logs${qs}`);
235
+ }
116
236
  async hookUpdate(projectId, hookId, body) {
117
237
  return this.makeSignedRequest('PATCH', `/hyperdrive/projects/${encodeURIComponent(projectId)}/hooks/${encodeURIComponent(hookId)}`, body);
118
238
  }
@@ -252,6 +372,12 @@ export class HyperdriveSigV4Service extends SigV4ApiClient {
252
372
  return this.makeSignedRequest('DELETE', `/stages/${stageName}/access/${targetType}/${targetId}`);
253
373
  }
254
374
  // ============================================================================
375
+ // Domain Methods
376
+ // ============================================================================
377
+ async domainSetProduction(params) {
378
+ return this.makeSignedRequest('PUT', '/hyperdrive/domains/production', params);
379
+ }
380
+ // ============================================================================
255
381
  // User Groups Methods
256
382
  // ============================================================================
257
383
  async groupList() {
@@ -8,8 +8,8 @@ export interface TenantConfig {
8
8
  region: string;
9
9
  tenantDomain: string;
10
10
  tenantId: string;
11
- projectsApiUrl?: string;
12
- userGroupsApiUrl?: string;
11
+ /** All additional API URLs from bootstrap, keyed by module name */
12
+ additionalApiUrls?: Record<string, string>;
13
13
  }
14
14
  export interface CLIConfig {
15
15
  apiUrl?: string;
@@ -102,15 +102,12 @@ export declare class TenantService {
102
102
  */
103
103
  private getApiUrl;
104
104
  /**
105
- * Get Projects API URL from bootstrap config (hyperdrive-projects module)
106
- * Returns undefined if not available (optional module)
105
+ * Extract all additional API URLs from bootstrap REST config.
106
+ * Returns a map of module name → endpoint URL for every REST API
107
+ * beyond the primary 'hyperdrive' endpoint. Services self-serve
108
+ * by looking up the key they need (e.g., 'hyperdrive-projects', 'user-groups').
107
109
  */
108
- private getProjectsApiUrl;
109
- /**
110
- * Get User Groups API URL from bootstrap config
111
- * Returns undefined if not available (optional module)
112
- */
113
- private getUserGroupsApiUrl;
110
+ private extractAdditionalApiUrls;
114
111
  /**
115
112
  * Get bootstrap URL with fallback chain:
116
113
  * 1. Environment variable
@@ -75,6 +75,8 @@ export class TenantService {
75
75
  // Fallback: construct from tenant ID
76
76
  cognitoDomain = `${bootstrap.tenantId}.auth.${region}.amazoncognito.com`;
77
77
  }
78
+ // Extract all additional API URLs from bootstrap (services self-serve by key)
79
+ const additionalApiUrls = this.extractAdditionalApiUrls(bootstrap.amplifyConfig.API);
78
80
  const config = {
79
81
  apiUrl: this.getApiUrl(region, bootstrap.amplifyConfig.API, domain),
80
82
  cognitoClientId: Cognito.userPoolClientId,
@@ -85,8 +87,7 @@ export class TenantService {
85
87
  region,
86
88
  tenantDomain: domain,
87
89
  tenantId: bootstrap.tenantId,
88
- projectsApiUrl: this.getProjectsApiUrl(bootstrap.amplifyConfig.API),
89
- userGroupsApiUrl: this.getUserGroupsApiUrl(bootstrap.amplifyConfig.API),
90
+ additionalApiUrls: Object.keys(additionalApiUrls).length > 0 ? additionalApiUrls : undefined,
90
91
  };
91
92
  // Cache the tenant domain for future use
92
93
  this.saveTenantDomainToConfig(domain);
@@ -315,27 +316,22 @@ export class TenantService {
315
316
  chalk.gray('Please contact your administrator to enable the Hyperdrive module.'));
316
317
  }
317
318
  /**
318
- * Get Projects API URL from bootstrap config (hyperdrive-projects module)
319
- * Returns undefined if not available (optional module)
319
+ * Extract all additional API URLs from bootstrap REST config.
320
+ * Returns a map of module name → endpoint URL for every REST API
321
+ * beyond the primary 'hyperdrive' endpoint. Services self-serve
322
+ * by looking up the key they need (e.g., 'hyperdrive-projects', 'user-groups').
320
323
  */
321
- getProjectsApiUrl(apiConfig) {
322
- if (apiConfig?.REST?.['hyperdrive-projects']?.endpoint) {
323
- console.log(chalk.gray(`✓ Using hyperdrive-projects API endpoint from bootstrap: ${apiConfig.REST['hyperdrive-projects'].endpoint}`));
324
- return apiConfig.REST['hyperdrive-projects'].endpoint;
325
- }
326
- return undefined;
327
- }
328
- /**
329
- * Get User Groups API URL from bootstrap config
330
- * Returns undefined if not available (optional module)
331
- */
332
- getUserGroupsApiUrl(apiConfig) {
333
- // Check for user-groups endpoint in bootstrap
334
- if (apiConfig?.REST?.['user-groups']?.endpoint) {
335
- console.log(chalk.gray(`✓ Using user-groups API endpoint from bootstrap: ${apiConfig.REST['user-groups'].endpoint}`));
336
- return apiConfig.REST['user-groups'].endpoint;
324
+ extractAdditionalApiUrls(apiConfig) {
325
+ const urls = {};
326
+ if (!apiConfig?.REST)
327
+ return urls;
328
+ for (const [apiName, config] of Object.entries(apiConfig.REST)) {
329
+ if (apiName !== 'hyperdrive' && config.endpoint) {
330
+ console.log(chalk.gray(`✓ Discovered API endpoint: ${apiName} → ${config.endpoint}`));
331
+ urls[apiName] = config.endpoint;
332
+ }
337
333
  }
338
- return undefined;
334
+ return urls;
339
335
  }
340
336
  /**
341
337
  * Get bootstrap URL with fallback chain:
@@ -48,15 +48,14 @@ export interface CognitoConfig {
48
48
  * Complete stored credentials including tokens and AWS credentials
49
49
  */
50
50
  export interface StoredCredentials extends CognitoTokens {
51
+ additionalApiUrls?: Record<string, string>;
51
52
  apiUrl: string;
52
53
  awsCredentials: AWSCredentials;
53
54
  cognitoConfig: CognitoConfig;
54
55
  obtainedAt: string;
55
- projectsApiUrl?: string;
56
56
  region: string;
57
57
  tenantDomain: string;
58
58
  tenantId: string;
59
- userGroupsApiUrl?: string;
60
59
  }
61
60
  /**
62
61
  * Generate PKCE code verifier (random base64url string)
@@ -321,6 +321,7 @@ export async function executeAuthFlow(options) {
321
321
  // Step 8: Save credentials
322
322
  saveCredentials({
323
323
  ...tokens,
324
+ additionalApiUrls: tenantConfig.additionalApiUrls,
324
325
  apiUrl: tenantConfig.apiUrl,
325
326
  awsCredentials,
326
327
  cognitoConfig: {
@@ -330,11 +331,9 @@ export async function executeAuthFlow(options) {
330
331
  userPoolId: tenantConfig.cognitoUserPoolId,
331
332
  },
332
333
  obtainedAt: new Date().toISOString(),
333
- projectsApiUrl: tenantConfig.projectsApiUrl,
334
334
  region: tenantConfig.region,
335
335
  tenantDomain: tenantConfig.tenantDomain,
336
336
  tenantId: tenantConfig.tenantId,
337
- userGroupsApiUrl: tenantConfig.userGroupsApiUrl,
338
337
  }, tenantConfig.tenantDomain);
339
338
  return { success: true };
340
339
  }
@@ -406,6 +405,7 @@ export async function executeCIAuthFlow(options) {
406
405
  logger('Saving credentials...');
407
406
  saveCredentials({
408
407
  access_token: authResult.AccessToken || '',
408
+ additionalApiUrls: tenantConfig.additionalApiUrls,
409
409
  apiUrl: tenantConfig.apiUrl,
410
410
  awsCredentials,
411
411
  cognitoConfig: {
@@ -417,13 +417,11 @@ export async function executeCIAuthFlow(options) {
417
417
  expires_in: authResult.ExpiresIn || 3600,
418
418
  id_token: authResult.IdToken,
419
419
  obtainedAt: new Date().toISOString(),
420
- projectsApiUrl: tenantConfig.projectsApiUrl,
421
420
  refresh_token: authResult.RefreshToken || '',
422
421
  region: tenantConfig.region,
423
422
  tenantDomain: tenantConfig.tenantDomain,
424
423
  tenantId: tenantConfig.tenantId,
425
424
  token_type: authResult.TokenType || 'Bearer',
426
- userGroupsApiUrl: tenantConfig.userGroupsApiUrl,
427
425
  }, tenantConfig.tenantDomain);
428
426
  return { success: true };
429
427
  }
@@ -554,7 +554,7 @@
554
554
  "description": "The name of the deployment",
555
555
  "name": "name",
556
556
  "required": false,
557
- "default": "Deployment-2026-02-08-14-37-25",
557
+ "default": "Deployment-2026-02-09-16-59-18",
558
558
  "hasDynamicHelp": false,
559
559
  "multiple": false,
560
560
  "type": "option"
@@ -3515,5 +3515,5 @@
3515
3515
  ]
3516
3516
  }
3517
3517
  },
3518
- "version": "1.0.11"
3518
+ "version": "1.0.12"
3519
3519
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hyperdrive.bot/cli",
3
3
  "description": "hyperdrive.bot is a command-line interface (CLI) tool designed for managing and deploying projects using the Hyperdrive API. The CLI acts as a proxy to the Hyperdrive API, enabling users to:",
4
- "version": "1.0.11",
4
+ "version": "1.0.12",
5
5
  "author": "marcelomarra",
6
6
  "bin": {
7
7
  "hd": "./bin/run.js",