@hyperdrive.bot/cli 1.0.6 → 1.0.8

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 (97) hide show
  1. package/README.md +415 -67
  2. package/dist/commands/account/add.d.ts +6 -6
  3. package/dist/commands/account/list.d.ts +3 -0
  4. package/dist/commands/account/list.js +9 -2
  5. package/dist/commands/account/remove.d.ts +3 -3
  6. package/dist/commands/auth/login.d.ts +4 -4
  7. package/dist/commands/auth/login.js +1 -0
  8. package/dist/commands/ci/account/create.d.ts +7 -6
  9. package/dist/commands/ci/account/create.js +49 -3
  10. package/dist/commands/ci/account/delete.d.ts +3 -3
  11. package/dist/commands/ci/account/list.d.ts +2 -2
  12. package/dist/commands/config/get.d.ts +1 -1
  13. package/dist/commands/config/set.d.ts +2 -2
  14. package/dist/commands/deployment/create.d.ts +10 -10
  15. package/dist/commands/deployment/get.d.ts +4 -4
  16. package/dist/commands/deployment/launch.d.ts +6 -6
  17. package/dist/commands/deployment/list.d.ts +3 -3
  18. package/dist/commands/deployment/list.js +17 -17
  19. package/dist/commands/domain/switch.d.ts +1 -1
  20. package/dist/commands/example.d.ts +3 -3
  21. package/dist/commands/git/connect.d.ts +2 -2
  22. package/dist/commands/git/connect.js +1 -0
  23. package/dist/commands/git/disconnect.d.ts +3 -3
  24. package/dist/commands/git/list.d.ts +2 -2
  25. package/dist/commands/git/sync.d.ts +7 -7
  26. package/dist/commands/git/sync.js +24 -23
  27. package/dist/commands/init.d.ts +1 -0
  28. package/dist/commands/init.js +20 -19
  29. package/dist/commands/jira/connect.d.ts +2 -1
  30. package/dist/commands/jira/connect.js +17 -6
  31. package/dist/commands/jira/hook/add.d.ts +17 -0
  32. package/dist/commands/jira/hook/add.js +147 -0
  33. package/dist/commands/jira/hook/list.d.ts +14 -0
  34. package/dist/commands/jira/hook/list.js +105 -0
  35. package/dist/commands/jira/hook/remove.d.ts +15 -0
  36. package/dist/commands/jira/hook/remove.js +119 -0
  37. package/dist/commands/jira/hook/toggle.d.ts +15 -0
  38. package/dist/commands/jira/hook/toggle.js +136 -0
  39. package/dist/commands/jira/status.d.ts +1 -1
  40. package/dist/commands/module/analyze.d.ts +5 -5
  41. package/dist/commands/module/create.d.ts +17 -17
  42. package/dist/commands/module/create.js +9 -1
  43. package/dist/commands/module/destroy.d.ts +3 -3
  44. package/dist/commands/module/get.d.ts +2 -2
  45. package/dist/commands/module/link.d.ts +4 -4
  46. package/dist/commands/module/list.d.ts +1 -1
  47. package/dist/commands/module/list.js +12 -11
  48. package/dist/commands/module/reanalyze.d.ts +6 -6
  49. package/dist/commands/module/update.d.ts +19 -19
  50. package/dist/commands/parameter/add.d.ts +7 -7
  51. package/dist/commands/parameter/backfill.d.ts +4 -4
  52. package/dist/commands/parameter/backfill.js +4 -3
  53. package/dist/commands/parameter/clear.d.ts +6 -6
  54. package/dist/commands/parameter/list.d.ts +6 -6
  55. package/dist/commands/parameter/list.js +4 -3
  56. package/dist/commands/parameter/pull.d.ts +6 -6
  57. package/dist/commands/parameter/remove.d.ts +7 -7
  58. package/dist/commands/parameter/sync.d.ts +6 -6
  59. package/dist/commands/parameter/update.d.ts +7 -7
  60. package/dist/commands/project/init.d.ts +21 -0
  61. package/dist/commands/project/init.js +576 -0
  62. package/dist/commands/project/list.d.ts +10 -0
  63. package/dist/commands/project/list.js +119 -0
  64. package/dist/commands/project/status.d.ts +13 -0
  65. package/dist/commands/project/status.js +163 -0
  66. package/dist/commands/project/sync.d.ts +26 -0
  67. package/dist/commands/project/sync.js +388 -0
  68. package/dist/commands/stage/access.d.ts +15 -0
  69. package/dist/commands/stage/access.js +130 -0
  70. package/dist/commands/stage/create.d.ts +11 -11
  71. package/dist/commands/stage/list.d.ts +1 -1
  72. package/dist/commands/stage/list.js +21 -20
  73. package/dist/commands/stage/revoke.d.ts +18 -0
  74. package/dist/commands/stage/revoke.js +171 -0
  75. package/dist/commands/stage/share.d.ts +23 -0
  76. package/dist/commands/stage/share.js +292 -0
  77. package/dist/commands/test-api.d.ts +1 -1
  78. package/dist/services/auth-service.d.ts +15 -82
  79. package/dist/services/auth-service.js +24 -237
  80. package/dist/services/hyperdrive-sigv4.d.ts +162 -24
  81. package/dist/services/hyperdrive-sigv4.js +107 -193
  82. package/dist/services/tenant-service.d.ts +6 -0
  83. package/dist/services/tenant-service.js +13 -0
  84. package/dist/utils/account-flow.d.ts +2 -2
  85. package/dist/utils/account-flow.js +4 -4
  86. package/dist/utils/auth-flow.d.ts +1 -0
  87. package/dist/utils/auth-flow.js +2 -0
  88. package/dist/utils/git-flow.d.ts +1 -0
  89. package/dist/utils/git-flow.js +2 -2
  90. package/dist/utils/hook-flow.d.ts +21 -0
  91. package/dist/utils/hook-flow.js +154 -0
  92. package/dist/utils/jira-flow.d.ts +2 -2
  93. package/dist/utils/jira-flow.js +4 -4
  94. package/dist/utils/table.d.ts +17 -0
  95. package/dist/utils/table.js +41 -0
  96. package/oclif.manifest.json +844 -154
  97. package/package.json +59 -15
@@ -177,7 +177,16 @@
177
177
  "examples": [
178
178
  "<%= config.bin %> <%= command.id %>"
179
179
  ],
180
- "flags": {},
180
+ "flags": {
181
+ "domain": {
182
+ "char": "d",
183
+ "description": "Tenant domain (for multi-domain setups)",
184
+ "name": "domain",
185
+ "hasDynamicHelp": false,
186
+ "multiple": false,
187
+ "type": "option"
188
+ }
189
+ },
181
190
  "hasDynamicHelp": false,
182
191
  "hiddenAliases": [],
183
192
  "id": "account:list",
@@ -535,7 +544,7 @@
535
544
  "description": "The name of the deployment",
536
545
  "name": "name",
537
546
  "required": false,
538
- "default": "Deployment-2026-01-18-20-49-13",
547
+ "default": "Deployment-2026-02-08-11-56-10",
539
548
  "hasDynamicHelp": false,
540
549
  "multiple": false,
541
550
  "type": "option"
@@ -1102,16 +1111,25 @@
1102
1111
  "description": "Register your Jira instance with Hyperdrive (run BEFORE installing the Forge app)",
1103
1112
  "examples": [
1104
1113
  "<%= config.bin %> <%= command.id %>",
1105
- "<%= config.bin %> <%= command.id %> --domain dev-squad.atlassian.net"
1114
+ "<%= config.bin %> <%= command.id %> --jira-domain dev-squad.atlassian.net",
1115
+ "<%= config.bin %> <%= command.id %> --domain sankhya.hyperdrivebot.dev --jira-domain dev-squad.atlassian.net"
1106
1116
  ],
1107
1117
  "flags": {
1108
1118
  "domain": {
1109
1119
  "char": "d",
1110
- "description": "Your Jira domain (e.g., dev-squad.atlassian.net)",
1120
+ "description": "Tenant domain (for multi-domain setups)",
1111
1121
  "name": "domain",
1112
1122
  "hasDynamicHelp": false,
1113
1123
  "multiple": false,
1114
1124
  "type": "option"
1125
+ },
1126
+ "jira-domain": {
1127
+ "char": "j",
1128
+ "description": "Your Jira domain (e.g., dev-squad.atlassian.net)",
1129
+ "name": "jira-domain",
1130
+ "hasDynamicHelp": false,
1131
+ "multiple": false,
1132
+ "type": "option"
1115
1133
  }
1116
1134
  },
1117
1135
  "hasDynamicHelp": false,
@@ -1331,6 +1349,9 @@
1331
1349
  "spring",
1332
1350
  "aspnet",
1333
1351
  "rails",
1352
+ "serverless",
1353
+ "serverless-express",
1354
+ "serverless-nestjs",
1334
1355
  "other"
1335
1356
  ],
1336
1357
  "type": "option"
@@ -2507,87 +2528,61 @@
2507
2528
  "update.js"
2508
2529
  ]
2509
2530
  },
2510
- "stage:create": {
2531
+ "project:init": {
2511
2532
  "aliases": [],
2512
2533
  "args": {},
2513
- "description": "Create a new stage",
2534
+ "description": "Initialize a project with Jira integration, repos, and status mapping",
2535
+ "examples": [
2536
+ "<%= config.bin %> project init",
2537
+ "<%= config.bin %> project init --project my-project --jira-key PROJ",
2538
+ "<%= config.bin %> project init --json --name \"My Project\" --jira-key PROJ"
2539
+ ],
2514
2540
  "flags": {
2515
- "accountId": {
2516
- "char": "a",
2517
- "description": "AWS Account ID for deployments",
2518
- "name": "accountId",
2541
+ "domain": {
2542
+ "char": "d",
2543
+ "description": "Tenant domain (for multi-domain setups)",
2544
+ "name": "domain",
2519
2545
  "hasDynamicHelp": false,
2520
2546
  "multiple": false,
2521
2547
  "type": "option"
2522
2548
  },
2523
- "autoLaunch": {
2524
- "description": "Automatically launch deployments for this stage",
2525
- "name": "autoLaunch",
2526
- "allowNo": false,
2527
- "type": "boolean"
2528
- },
2529
- "branchName": {
2530
- "char": "b",
2531
- "description": "Git branch name",
2532
- "name": "branchName",
2549
+ "jira-key": {
2550
+ "description": "Jira project key (e.g., PROJ)",
2551
+ "name": "jira-key",
2533
2552
  "hasDynamicHelp": false,
2534
2553
  "multiple": false,
2535
2554
  "type": "option"
2536
2555
  },
2537
- "defaultStage": {
2538
- "description": "Set as default stage for fallback",
2539
- "name": "defaultStage",
2540
- "allowNo": false,
2541
- "type": "boolean"
2542
- },
2543
- "deletionProtection": {
2544
- "description": "Enable deletion protection",
2545
- "name": "deletionProtection",
2556
+ "json": {
2557
+ "description": "Output result as JSON (non-interactive mode)",
2558
+ "name": "json",
2546
2559
  "allowNo": false,
2547
2560
  "type": "boolean"
2548
2561
  },
2549
- "domain": {
2550
- "char": "d",
2551
- "description": "Tenant domain (for multi-domain setups)",
2552
- "name": "domain",
2553
- "hasDynamicHelp": false,
2554
- "multiple": false,
2555
- "type": "option"
2556
- },
2557
2562
  "name": {
2558
- "char": "n",
2559
- "description": "Name of the stage (e.g., dev, staging, production)",
2563
+ "description": "Name for a new project (used with --json)",
2560
2564
  "name": "name",
2561
2565
  "hasDynamicHelp": false,
2562
2566
  "multiple": false,
2563
2567
  "type": "option"
2564
2568
  },
2565
- "production": {
2566
- "description": "Mark as production stage",
2567
- "name": "production",
2568
- "allowNo": false,
2569
- "type": "boolean"
2570
- },
2571
2569
  "project": {
2572
- "char": "p",
2573
- "description": "Project slugs to associate with this stage",
2570
+ "description": "Existing project slug to configure",
2574
2571
  "name": "project",
2575
2572
  "hasDynamicHelp": false,
2576
- "multiple": true,
2573
+ "multiple": false,
2577
2574
  "type": "option"
2578
2575
  },
2579
- "provider": {
2580
- "description": "Cloud provider",
2581
- "name": "provider",
2582
- "default": "aws",
2576
+ "repo": {
2577
+ "description": "Repo in format \"name|gitRemote|provider|branch\" (repeatable, used with --json)",
2578
+ "name": "repo",
2583
2579
  "hasDynamicHelp": false,
2584
- "multiple": false,
2580
+ "multiple": true,
2585
2581
  "type": "option"
2586
2582
  },
2587
- "region": {
2588
- "char": "r",
2589
- "description": "AWS region(s) for deployment",
2590
- "name": "region",
2583
+ "status-map": {
2584
+ "description": "Status mapping in format \"JiraStatus=normalizedState\" (repeatable, used with --json)",
2585
+ "name": "status-map",
2591
2586
  "hasDynamicHelp": false,
2592
2587
  "multiple": true,
2593
2588
  "type": "option"
@@ -2595,7 +2590,7 @@
2595
2590
  },
2596
2591
  "hasDynamicHelp": false,
2597
2592
  "hiddenAliases": [],
2598
- "id": "stage:create",
2593
+ "id": "project:init",
2599
2594
  "pluginAlias": "@hyperdrive.bot/cli",
2600
2595
  "pluginName": "@hyperdrive.bot/cli",
2601
2596
  "pluginType": "core",
@@ -2605,16 +2600,18 @@
2605
2600
  "relativePath": [
2606
2601
  "dist",
2607
2602
  "commands",
2608
- "stage",
2609
- "create.js"
2603
+ "project",
2604
+ "init.js"
2610
2605
  ]
2611
2606
  },
2612
- "stage:list": {
2607
+ "project:list": {
2613
2608
  "aliases": [],
2614
2609
  "args": {},
2615
- "description": "List all stages",
2610
+ "description": "List all projects with Jira configuration status",
2616
2611
  "examples": [
2617
- "<%= config.bin %> <%= command.id %>"
2612
+ "<%= config.bin %> <%= command.id %>",
2613
+ "<%= config.bin %> <%= command.id %> --json",
2614
+ "<%= config.bin %> <%= command.id %> --domain custom.hyperdrive.bot"
2618
2615
  ],
2619
2616
  "flags": {
2620
2617
  "domain": {
@@ -2624,11 +2621,17 @@
2624
2621
  "hasDynamicHelp": false,
2625
2622
  "multiple": false,
2626
2623
  "type": "option"
2624
+ },
2625
+ "json": {
2626
+ "description": "Output as JSON",
2627
+ "name": "json",
2628
+ "allowNo": false,
2629
+ "type": "boolean"
2627
2630
  }
2628
2631
  },
2629
2632
  "hasDynamicHelp": false,
2630
2633
  "hiddenAliases": [],
2631
- "id": "stage:list",
2634
+ "id": "project:list",
2632
2635
  "pluginAlias": "@hyperdrive.bot/cli",
2633
2636
  "pluginName": "@hyperdrive.bot/cli",
2634
2637
  "pluginType": "core",
@@ -2638,79 +2641,44 @@
2638
2641
  "relativePath": [
2639
2642
  "dist",
2640
2643
  "commands",
2641
- "stage",
2644
+ "project",
2642
2645
  "list.js"
2643
2646
  ]
2644
2647
  },
2645
- "ci:account:create": {
2648
+ "project:status": {
2646
2649
  "aliases": [],
2647
- "args": {},
2648
- "description": "Create a CI token for non-interactive authentication in CI/CD pipelines",
2650
+ "args": {
2651
+ "project": {
2652
+ "description": "Project slug",
2653
+ "name": "project",
2654
+ "required": true
2655
+ }
2656
+ },
2657
+ "description": "Show detailed status of a project including Jira config, repos, and hooks",
2649
2658
  "examples": [
2650
- "<%= config.bin %> <%= command.id %> --name=\"github-prod\" --scope=deploy --scope=module:read",
2651
- "<%= config.bin %> <%= command.id %> --name=\"gitlab-staging\" --scope=deploy --scope=parameter:read"
2659
+ "<%= config.bin %> <%= command.id %> my-project",
2660
+ "<%= config.bin %> <%= command.id %> my-project --json",
2661
+ "<%= config.bin %> <%= command.id %> my-project --domain custom.hyperdrive.bot"
2652
2662
  ],
2653
2663
  "flags": {
2654
- "description": {
2655
- "description": "Optional description for the CI account",
2656
- "name": "description",
2657
- "hasDynamicHelp": false,
2658
- "multiple": false,
2659
- "type": "option"
2660
- },
2661
2664
  "domain": {
2662
2665
  "char": "d",
2663
- "description": "Tenant domain",
2666
+ "description": "Tenant domain (for multi-domain setups)",
2664
2667
  "name": "domain",
2665
2668
  "hasDynamicHelp": false,
2666
2669
  "multiple": false,
2667
2670
  "type": "option"
2668
2671
  },
2669
- "name": {
2670
- "char": "n",
2671
- "description": "Name for the CI account (e.g., github-prod, gitlab-staging)",
2672
- "name": "name",
2673
- "hasDynamicHelp": false,
2674
- "multiple": false,
2675
- "type": "option"
2676
- },
2677
- "project": {
2678
- "description": "Restrict to specific project slugs (can be specified multiple times)",
2679
- "name": "project",
2680
- "hasDynamicHelp": false,
2681
- "multiple": true,
2682
- "type": "option"
2683
- },
2684
- "scope": {
2685
- "char": "s",
2686
- "description": "Scopes to grant (can be specified multiple times)",
2687
- "name": "scope",
2688
- "hasDynamicHelp": false,
2689
- "multiple": true,
2690
- "options": [
2691
- "deploy",
2692
- "deploy:create",
2693
- "deploy:launch",
2694
- "module:read",
2695
- "module:write",
2696
- "parameter:read",
2697
- "parameter:write",
2698
- "stage:read",
2699
- "stage:write"
2700
- ],
2701
- "type": "option"
2702
- },
2703
- "stage": {
2704
- "description": "Restrict to specific stages (can be specified multiple times)",
2705
- "name": "stage",
2706
- "hasDynamicHelp": false,
2707
- "multiple": true,
2708
- "type": "option"
2672
+ "json": {
2673
+ "description": "Output as JSON",
2674
+ "name": "json",
2675
+ "allowNo": false,
2676
+ "type": "boolean"
2709
2677
  }
2710
2678
  },
2711
2679
  "hasDynamicHelp": false,
2712
2680
  "hiddenAliases": [],
2713
- "id": "ci:account:create",
2681
+ "id": "project:status",
2714
2682
  "pluginAlias": "@hyperdrive.bot/cli",
2715
2683
  "pluginName": "@hyperdrive.bot/cli",
2716
2684
  "pluginType": "core",
@@ -2720,45 +2688,51 @@
2720
2688
  "relativePath": [
2721
2689
  "dist",
2722
2690
  "commands",
2723
- "ci",
2724
- "account",
2725
- "create.js"
2691
+ "project",
2692
+ "status.js"
2726
2693
  ]
2727
2694
  },
2728
- "ci:account:delete": {
2695
+ "project:sync": {
2729
2696
  "aliases": [],
2730
2697
  "args": {
2731
- "accountId": {
2732
- "description": "CI token ID to delete",
2733
- "name": "accountId",
2734
- "required": false
2698
+ "project": {
2699
+ "description": "Project slug or ID",
2700
+ "name": "project",
2701
+ "required": true
2735
2702
  }
2736
2703
  },
2737
- "description": "Delete (revoke) a CI token",
2704
+ "description": "Generate architecture summaries for project repos via Claude analysis",
2738
2705
  "examples": [
2739
- "<%= config.bin %> <%= command.id %> <account-id>",
2740
- "<%= config.bin %> <%= command.id %> <account-id> --force"
2706
+ "<%= config.bin %> project sync my-project",
2707
+ "<%= config.bin %> project sync my-project --repo api",
2708
+ "<%= config.bin %> project sync my-project --json"
2741
2709
  ],
2742
2710
  "flags": {
2743
2711
  "domain": {
2744
2712
  "char": "d",
2745
- "description": "Tenant domain",
2713
+ "description": "Tenant domain (for multi-domain setups)",
2746
2714
  "name": "domain",
2747
2715
  "hasDynamicHelp": false,
2748
2716
  "multiple": false,
2749
2717
  "type": "option"
2750
2718
  },
2751
- "force": {
2752
- "char": "f",
2753
- "description": "Skip confirmation prompt",
2754
- "name": "force",
2719
+ "json": {
2720
+ "description": "Output result as JSON",
2721
+ "name": "json",
2755
2722
  "allowNo": false,
2756
2723
  "type": "boolean"
2724
+ },
2725
+ "repo": {
2726
+ "description": "Sync only a specific repo by name",
2727
+ "name": "repo",
2728
+ "hasDynamicHelp": false,
2729
+ "multiple": false,
2730
+ "type": "option"
2757
2731
  }
2758
2732
  },
2759
2733
  "hasDynamicHelp": false,
2760
2734
  "hiddenAliases": [],
2761
- "id": "ci:account:delete",
2735
+ "id": "project:sync",
2762
2736
  "pluginAlias": "@hyperdrive.bot/cli",
2763
2737
  "pluginName": "@hyperdrive.bot/cli",
2764
2738
  "pluginType": "core",
@@ -2768,38 +2742,51 @@
2768
2742
  "relativePath": [
2769
2743
  "dist",
2770
2744
  "commands",
2771
- "ci",
2772
- "account",
2773
- "delete.js"
2745
+ "project",
2746
+ "sync.js"
2774
2747
  ]
2775
2748
  },
2776
- "ci:account:list": {
2749
+ "stage:access": {
2777
2750
  "aliases": [],
2778
- "args": {},
2779
- "description": "List all CI tokens",
2751
+ "args": {
2752
+ "stage": {
2753
+ "description": "Stage name to view access for",
2754
+ "name": "stage",
2755
+ "required": false
2756
+ }
2757
+ },
2758
+ "description": "View who has access to a stage",
2780
2759
  "examples": [
2781
2760
  "<%= config.bin %> <%= command.id %>",
2782
- "<%= config.bin %> <%= command.id %> --json"
2761
+ "<%= config.bin %> <%= command.id %> develop",
2762
+ "<%= config.bin %> <%= command.id %> develop --format json"
2783
2763
  ],
2784
2764
  "flags": {
2785
2765
  "domain": {
2786
2766
  "char": "d",
2787
- "description": "Tenant domain",
2767
+ "description": "Tenant domain (for multi-domain setups)",
2788
2768
  "name": "domain",
2789
2769
  "hasDynamicHelp": false,
2790
2770
  "multiple": false,
2791
2771
  "type": "option"
2792
2772
  },
2793
- "json": {
2794
- "description": "Output as JSON",
2795
- "name": "json",
2796
- "allowNo": false,
2797
- "type": "boolean"
2773
+ "format": {
2774
+ "char": "f",
2775
+ "description": "Output format",
2776
+ "name": "format",
2777
+ "default": "table",
2778
+ "hasDynamicHelp": false,
2779
+ "multiple": false,
2780
+ "options": [
2781
+ "table",
2782
+ "json"
2783
+ ],
2784
+ "type": "option"
2798
2785
  }
2799
2786
  },
2800
2787
  "hasDynamicHelp": false,
2801
2788
  "hiddenAliases": [],
2802
- "id": "ci:account:list",
2789
+ "id": "stage:access",
2803
2790
  "pluginAlias": "@hyperdrive.bot/cli",
2804
2791
  "pluginName": "@hyperdrive.bot/cli",
2805
2792
  "pluginType": "core",
@@ -2809,11 +2796,714 @@
2809
2796
  "relativePath": [
2810
2797
  "dist",
2811
2798
  "commands",
2812
- "ci",
2813
- "account",
2814
- "list.js"
2799
+ "stage",
2800
+ "access.js"
2801
+ ]
2802
+ },
2803
+ "stage:create": {
2804
+ "aliases": [],
2805
+ "args": {},
2806
+ "description": "Create a new stage",
2807
+ "flags": {
2808
+ "accountId": {
2809
+ "char": "a",
2810
+ "description": "AWS Account ID for deployments",
2811
+ "name": "accountId",
2812
+ "hasDynamicHelp": false,
2813
+ "multiple": false,
2814
+ "type": "option"
2815
+ },
2816
+ "autoLaunch": {
2817
+ "description": "Automatically launch deployments for this stage",
2818
+ "name": "autoLaunch",
2819
+ "allowNo": false,
2820
+ "type": "boolean"
2821
+ },
2822
+ "branchName": {
2823
+ "char": "b",
2824
+ "description": "Git branch name",
2825
+ "name": "branchName",
2826
+ "hasDynamicHelp": false,
2827
+ "multiple": false,
2828
+ "type": "option"
2829
+ },
2830
+ "defaultStage": {
2831
+ "description": "Set as default stage for fallback",
2832
+ "name": "defaultStage",
2833
+ "allowNo": false,
2834
+ "type": "boolean"
2835
+ },
2836
+ "deletionProtection": {
2837
+ "description": "Enable deletion protection",
2838
+ "name": "deletionProtection",
2839
+ "allowNo": false,
2840
+ "type": "boolean"
2841
+ },
2842
+ "domain": {
2843
+ "char": "d",
2844
+ "description": "Tenant domain (for multi-domain setups)",
2845
+ "name": "domain",
2846
+ "hasDynamicHelp": false,
2847
+ "multiple": false,
2848
+ "type": "option"
2849
+ },
2850
+ "name": {
2851
+ "char": "n",
2852
+ "description": "Name of the stage (e.g., dev, staging, production)",
2853
+ "name": "name",
2854
+ "hasDynamicHelp": false,
2855
+ "multiple": false,
2856
+ "type": "option"
2857
+ },
2858
+ "production": {
2859
+ "description": "Mark as production stage",
2860
+ "name": "production",
2861
+ "allowNo": false,
2862
+ "type": "boolean"
2863
+ },
2864
+ "project": {
2865
+ "char": "p",
2866
+ "description": "Project slugs to associate with this stage",
2867
+ "name": "project",
2868
+ "hasDynamicHelp": false,
2869
+ "multiple": true,
2870
+ "type": "option"
2871
+ },
2872
+ "provider": {
2873
+ "description": "Cloud provider",
2874
+ "name": "provider",
2875
+ "default": "aws",
2876
+ "hasDynamicHelp": false,
2877
+ "multiple": false,
2878
+ "type": "option"
2879
+ },
2880
+ "region": {
2881
+ "char": "r",
2882
+ "description": "AWS region(s) for deployment",
2883
+ "name": "region",
2884
+ "hasDynamicHelp": false,
2885
+ "multiple": true,
2886
+ "type": "option"
2887
+ }
2888
+ },
2889
+ "hasDynamicHelp": false,
2890
+ "hiddenAliases": [],
2891
+ "id": "stage:create",
2892
+ "pluginAlias": "@hyperdrive.bot/cli",
2893
+ "pluginName": "@hyperdrive.bot/cli",
2894
+ "pluginType": "core",
2895
+ "strict": true,
2896
+ "enableJsonFlag": false,
2897
+ "isESM": true,
2898
+ "relativePath": [
2899
+ "dist",
2900
+ "commands",
2901
+ "stage",
2902
+ "create.js"
2903
+ ]
2904
+ },
2905
+ "stage:list": {
2906
+ "aliases": [],
2907
+ "args": {},
2908
+ "description": "List all stages",
2909
+ "examples": [
2910
+ "<%= config.bin %> <%= command.id %>"
2911
+ ],
2912
+ "flags": {
2913
+ "domain": {
2914
+ "char": "d",
2915
+ "description": "Tenant domain (for multi-domain setups)",
2916
+ "name": "domain",
2917
+ "hasDynamicHelp": false,
2918
+ "multiple": false,
2919
+ "type": "option"
2920
+ }
2921
+ },
2922
+ "hasDynamicHelp": false,
2923
+ "hiddenAliases": [],
2924
+ "id": "stage:list",
2925
+ "pluginAlias": "@hyperdrive.bot/cli",
2926
+ "pluginName": "@hyperdrive.bot/cli",
2927
+ "pluginType": "core",
2928
+ "strict": true,
2929
+ "enableJsonFlag": false,
2930
+ "isESM": true,
2931
+ "relativePath": [
2932
+ "dist",
2933
+ "commands",
2934
+ "stage",
2935
+ "list.js"
2936
+ ]
2937
+ },
2938
+ "stage:revoke": {
2939
+ "aliases": [],
2940
+ "args": {
2941
+ "stage": {
2942
+ "description": "Stage name to revoke access from",
2943
+ "name": "stage",
2944
+ "required": false
2945
+ }
2946
+ },
2947
+ "description": "Revoke access from a stage for a user or CI account",
2948
+ "examples": [
2949
+ "<%= config.bin %> <%= command.id %>",
2950
+ "<%= config.bin %> <%= command.id %> develop",
2951
+ "<%= config.bin %> <%= command.id %> develop --user maria@company.com",
2952
+ "<%= config.bin %> <%= command.id %> develop --ci github-actions"
2953
+ ],
2954
+ "flags": {
2955
+ "ci": {
2956
+ "char": "c",
2957
+ "description": "CI account name or ID to revoke access from",
2958
+ "exclusive": [
2959
+ "user"
2960
+ ],
2961
+ "name": "ci",
2962
+ "hasDynamicHelp": false,
2963
+ "multiple": false,
2964
+ "type": "option"
2965
+ },
2966
+ "domain": {
2967
+ "char": "d",
2968
+ "description": "Tenant domain (for multi-domain setups)",
2969
+ "name": "domain",
2970
+ "hasDynamicHelp": false,
2971
+ "multiple": false,
2972
+ "type": "option"
2973
+ },
2974
+ "user": {
2975
+ "char": "u",
2976
+ "description": "User email to revoke access from",
2977
+ "exclusive": [
2978
+ "ci"
2979
+ ],
2980
+ "name": "user",
2981
+ "hasDynamicHelp": false,
2982
+ "multiple": false,
2983
+ "type": "option"
2984
+ },
2985
+ "yes": {
2986
+ "char": "y",
2987
+ "description": "Skip confirmation",
2988
+ "name": "yes",
2989
+ "allowNo": false,
2990
+ "type": "boolean"
2991
+ }
2992
+ },
2993
+ "hasDynamicHelp": false,
2994
+ "hiddenAliases": [],
2995
+ "id": "stage:revoke",
2996
+ "pluginAlias": "@hyperdrive.bot/cli",
2997
+ "pluginName": "@hyperdrive.bot/cli",
2998
+ "pluginType": "core",
2999
+ "strict": true,
3000
+ "enableJsonFlag": false,
3001
+ "isESM": true,
3002
+ "relativePath": [
3003
+ "dist",
3004
+ "commands",
3005
+ "stage",
3006
+ "revoke.js"
3007
+ ]
3008
+ },
3009
+ "stage:share": {
3010
+ "aliases": [],
3011
+ "args": {
3012
+ "stage": {
3013
+ "description": "Stage name to share access to",
3014
+ "name": "stage",
3015
+ "required": false
3016
+ }
3017
+ },
3018
+ "description": "Grant access to a stage for users or CI accounts",
3019
+ "examples": [
3020
+ "<%= config.bin %> <%= command.id %>",
3021
+ "<%= config.bin %> <%= command.id %> develop",
3022
+ "<%= config.bin %> <%= command.id %> develop --user maria@company.com --role deployer",
3023
+ "<%= config.bin %> <%= command.id %> develop --ci github-actions --role deployer",
3024
+ "<%= config.bin %> <%= command.id %> develop --group \"CI Accounts\" --role deployer",
3025
+ "<%= config.bin %> <%= command.id %> staging production --user dev@company.com --role viewer"
3026
+ ],
3027
+ "flags": {
3028
+ "ci": {
3029
+ "char": "c",
3030
+ "description": "CI account name or ID to grant access to",
3031
+ "exclusive": [
3032
+ "user",
3033
+ "group"
3034
+ ],
3035
+ "name": "ci",
3036
+ "hasDynamicHelp": false,
3037
+ "multiple": false,
3038
+ "type": "option"
3039
+ },
3040
+ "domain": {
3041
+ "char": "d",
3042
+ "description": "Tenant domain (for multi-domain setups)",
3043
+ "name": "domain",
3044
+ "hasDynamicHelp": false,
3045
+ "multiple": false,
3046
+ "type": "option"
3047
+ },
3048
+ "group": {
3049
+ "char": "g",
3050
+ "description": "Group ID or name to grant access to",
3051
+ "exclusive": [
3052
+ "user",
3053
+ "ci"
3054
+ ],
3055
+ "name": "group",
3056
+ "hasDynamicHelp": false,
3057
+ "multiple": false,
3058
+ "type": "option"
3059
+ },
3060
+ "role": {
3061
+ "char": "r",
3062
+ "description": "Role to grant",
3063
+ "name": "role",
3064
+ "hasDynamicHelp": false,
3065
+ "multiple": false,
3066
+ "options": [
3067
+ "viewer",
3068
+ "deployer",
3069
+ "manager"
3070
+ ],
3071
+ "type": "option"
3072
+ },
3073
+ "user": {
3074
+ "char": "u",
3075
+ "description": "User email to grant access to",
3076
+ "exclusive": [
3077
+ "ci",
3078
+ "group"
3079
+ ],
3080
+ "name": "user",
3081
+ "hasDynamicHelp": false,
3082
+ "multiple": false,
3083
+ "type": "option"
3084
+ },
3085
+ "yes": {
3086
+ "char": "y",
3087
+ "description": "Skip confirmation for production stages",
3088
+ "name": "yes",
3089
+ "allowNo": false,
3090
+ "type": "boolean"
3091
+ }
3092
+ },
3093
+ "hasDynamicHelp": false,
3094
+ "hiddenAliases": [],
3095
+ "id": "stage:share",
3096
+ "pluginAlias": "@hyperdrive.bot/cli",
3097
+ "pluginName": "@hyperdrive.bot/cli",
3098
+ "pluginType": "core",
3099
+ "strict": false,
3100
+ "enableJsonFlag": false,
3101
+ "isESM": true,
3102
+ "relativePath": [
3103
+ "dist",
3104
+ "commands",
3105
+ "stage",
3106
+ "share.js"
3107
+ ]
3108
+ },
3109
+ "ci:account:create": {
3110
+ "aliases": [],
3111
+ "args": {},
3112
+ "description": "Create a CI token for non-interactive authentication in CI/CD pipelines",
3113
+ "examples": [
3114
+ "<%= config.bin %> <%= command.id %> --name=\"github-prod\" --scope=deploy --scope=module:read",
3115
+ "<%= config.bin %> <%= command.id %> --name=\"gitlab-staging\" --scope=deploy --scope=parameter:read"
3116
+ ],
3117
+ "flags": {
3118
+ "description": {
3119
+ "description": "Optional description for the CI account",
3120
+ "name": "description",
3121
+ "hasDynamicHelp": false,
3122
+ "multiple": false,
3123
+ "type": "option"
3124
+ },
3125
+ "domain": {
3126
+ "char": "d",
3127
+ "description": "Tenant domain",
3128
+ "name": "domain",
3129
+ "hasDynamicHelp": false,
3130
+ "multiple": false,
3131
+ "type": "option"
3132
+ },
3133
+ "name": {
3134
+ "char": "n",
3135
+ "description": "Name for the CI account (e.g., github-prod, gitlab-staging)",
3136
+ "name": "name",
3137
+ "hasDynamicHelp": false,
3138
+ "multiple": false,
3139
+ "type": "option"
3140
+ },
3141
+ "project": {
3142
+ "description": "Restrict to specific project slugs (can be specified multiple times)",
3143
+ "name": "project",
3144
+ "hasDynamicHelp": false,
3145
+ "multiple": true,
3146
+ "type": "option"
3147
+ },
3148
+ "scope": {
3149
+ "char": "s",
3150
+ "description": "Scopes to grant (can be specified multiple times)",
3151
+ "name": "scope",
3152
+ "hasDynamicHelp": false,
3153
+ "multiple": true,
3154
+ "options": [
3155
+ "deploy",
3156
+ "deploy:create",
3157
+ "deploy:launch",
3158
+ "module:read",
3159
+ "module:write",
3160
+ "parameter:read",
3161
+ "parameter:write",
3162
+ "stage:read",
3163
+ "stage:write"
3164
+ ],
3165
+ "type": "option"
3166
+ },
3167
+ "stage": {
3168
+ "description": "Stages to grant deployer access to (can be specified multiple times)",
3169
+ "name": "stage",
3170
+ "hasDynamicHelp": false,
3171
+ "multiple": true,
3172
+ "type": "option"
3173
+ }
3174
+ },
3175
+ "hasDynamicHelp": false,
3176
+ "hiddenAliases": [],
3177
+ "id": "ci:account:create",
3178
+ "pluginAlias": "@hyperdrive.bot/cli",
3179
+ "pluginName": "@hyperdrive.bot/cli",
3180
+ "pluginType": "core",
3181
+ "strict": true,
3182
+ "enableJsonFlag": false,
3183
+ "isESM": true,
3184
+ "relativePath": [
3185
+ "dist",
3186
+ "commands",
3187
+ "ci",
3188
+ "account",
3189
+ "create.js"
3190
+ ]
3191
+ },
3192
+ "ci:account:delete": {
3193
+ "aliases": [],
3194
+ "args": {
3195
+ "accountId": {
3196
+ "description": "CI token ID to delete",
3197
+ "name": "accountId",
3198
+ "required": false
3199
+ }
3200
+ },
3201
+ "description": "Delete (revoke) a CI token",
3202
+ "examples": [
3203
+ "<%= config.bin %> <%= command.id %> <account-id>",
3204
+ "<%= config.bin %> <%= command.id %> <account-id> --force"
3205
+ ],
3206
+ "flags": {
3207
+ "domain": {
3208
+ "char": "d",
3209
+ "description": "Tenant domain",
3210
+ "name": "domain",
3211
+ "hasDynamicHelp": false,
3212
+ "multiple": false,
3213
+ "type": "option"
3214
+ },
3215
+ "force": {
3216
+ "char": "f",
3217
+ "description": "Skip confirmation prompt",
3218
+ "name": "force",
3219
+ "allowNo": false,
3220
+ "type": "boolean"
3221
+ }
3222
+ },
3223
+ "hasDynamicHelp": false,
3224
+ "hiddenAliases": [],
3225
+ "id": "ci:account:delete",
3226
+ "pluginAlias": "@hyperdrive.bot/cli",
3227
+ "pluginName": "@hyperdrive.bot/cli",
3228
+ "pluginType": "core",
3229
+ "strict": true,
3230
+ "enableJsonFlag": false,
3231
+ "isESM": true,
3232
+ "relativePath": [
3233
+ "dist",
3234
+ "commands",
3235
+ "ci",
3236
+ "account",
3237
+ "delete.js"
3238
+ ]
3239
+ },
3240
+ "ci:account:list": {
3241
+ "aliases": [],
3242
+ "args": {},
3243
+ "description": "List all CI tokens",
3244
+ "examples": [
3245
+ "<%= config.bin %> <%= command.id %>",
3246
+ "<%= config.bin %> <%= command.id %> --json"
3247
+ ],
3248
+ "flags": {
3249
+ "domain": {
3250
+ "char": "d",
3251
+ "description": "Tenant domain",
3252
+ "name": "domain",
3253
+ "hasDynamicHelp": false,
3254
+ "multiple": false,
3255
+ "type": "option"
3256
+ },
3257
+ "json": {
3258
+ "description": "Output as JSON",
3259
+ "name": "json",
3260
+ "allowNo": false,
3261
+ "type": "boolean"
3262
+ }
3263
+ },
3264
+ "hasDynamicHelp": false,
3265
+ "hiddenAliases": [],
3266
+ "id": "ci:account:list",
3267
+ "pluginAlias": "@hyperdrive.bot/cli",
3268
+ "pluginName": "@hyperdrive.bot/cli",
3269
+ "pluginType": "core",
3270
+ "strict": true,
3271
+ "enableJsonFlag": false,
3272
+ "isESM": true,
3273
+ "relativePath": [
3274
+ "dist",
3275
+ "commands",
3276
+ "ci",
3277
+ "account",
3278
+ "list.js"
3279
+ ]
3280
+ },
3281
+ "jira:hook:add": {
3282
+ "aliases": [],
3283
+ "args": {
3284
+ "project": {
3285
+ "description": "Hyperdrive project ID or slug",
3286
+ "name": "project",
3287
+ "required": true
3288
+ }
3289
+ },
3290
+ "description": "Add a status transition hook to a Jira-linked project",
3291
+ "examples": [
3292
+ "<%= config.bin %> jira hook add my-project",
3293
+ "<%= config.bin %> jira hook add my-project --status \"In Progress\" --action adhb-enrich --config '{\"priority\":\"high\"}'",
3294
+ "<%= config.bin %> jira hook add my-project --json"
3295
+ ],
3296
+ "flags": {
3297
+ "action": {
3298
+ "description": "Action type (slack-notify, adhb-enrich, webhook, ci-trigger)",
3299
+ "name": "action",
3300
+ "hasDynamicHelp": false,
3301
+ "multiple": false,
3302
+ "type": "option"
3303
+ },
3304
+ "config": {
3305
+ "description": "Action config as JSON string",
3306
+ "name": "config",
3307
+ "hasDynamicHelp": false,
3308
+ "multiple": false,
3309
+ "type": "option"
3310
+ },
3311
+ "domain": {
3312
+ "char": "d",
3313
+ "description": "Hyperdrive tenant domain",
3314
+ "name": "domain",
3315
+ "hasDynamicHelp": false,
3316
+ "multiple": false,
3317
+ "type": "option"
3318
+ },
3319
+ "json": {
3320
+ "description": "Output raw JSON",
3321
+ "name": "json",
3322
+ "allowNo": false,
3323
+ "type": "boolean"
3324
+ },
3325
+ "status": {
3326
+ "description": "Trigger status (Jira status name or \"*\" for all)",
3327
+ "name": "status",
3328
+ "hasDynamicHelp": false,
3329
+ "multiple": false,
3330
+ "type": "option"
3331
+ }
3332
+ },
3333
+ "hasDynamicHelp": false,
3334
+ "hiddenAliases": [],
3335
+ "id": "jira:hook:add",
3336
+ "pluginAlias": "@hyperdrive.bot/cli",
3337
+ "pluginName": "@hyperdrive.bot/cli",
3338
+ "pluginType": "core",
3339
+ "strict": true,
3340
+ "enableJsonFlag": false,
3341
+ "isESM": true,
3342
+ "relativePath": [
3343
+ "dist",
3344
+ "commands",
3345
+ "jira",
3346
+ "hook",
3347
+ "add.js"
3348
+ ]
3349
+ },
3350
+ "jira:hook:list": {
3351
+ "aliases": [],
3352
+ "args": {
3353
+ "project": {
3354
+ "description": "Hyperdrive project ID or slug",
3355
+ "name": "project",
3356
+ "required": true
3357
+ }
3358
+ },
3359
+ "description": "List status transition hooks for a Jira-linked project",
3360
+ "examples": [
3361
+ "<%= config.bin %> jira hook list my-project",
3362
+ "<%= config.bin %> jira hook list my-project --json"
3363
+ ],
3364
+ "flags": {
3365
+ "domain": {
3366
+ "char": "d",
3367
+ "description": "Hyperdrive tenant domain",
3368
+ "name": "domain",
3369
+ "hasDynamicHelp": false,
3370
+ "multiple": false,
3371
+ "type": "option"
3372
+ },
3373
+ "json": {
3374
+ "description": "Output raw JSON",
3375
+ "name": "json",
3376
+ "allowNo": false,
3377
+ "type": "boolean"
3378
+ }
3379
+ },
3380
+ "hasDynamicHelp": false,
3381
+ "hiddenAliases": [],
3382
+ "id": "jira:hook:list",
3383
+ "pluginAlias": "@hyperdrive.bot/cli",
3384
+ "pluginName": "@hyperdrive.bot/cli",
3385
+ "pluginType": "core",
3386
+ "strict": true,
3387
+ "enableJsonFlag": false,
3388
+ "isESM": true,
3389
+ "relativePath": [
3390
+ "dist",
3391
+ "commands",
3392
+ "jira",
3393
+ "hook",
3394
+ "list.js"
3395
+ ]
3396
+ },
3397
+ "jira:hook:remove": {
3398
+ "aliases": [],
3399
+ "args": {
3400
+ "project": {
3401
+ "description": "Hyperdrive project ID or slug",
3402
+ "name": "project",
3403
+ "required": true
3404
+ }
3405
+ },
3406
+ "description": "Remove a status transition hook from a Jira-linked project",
3407
+ "examples": [
3408
+ "<%= config.bin %> jira hook remove my-project",
3409
+ "<%= config.bin %> jira hook remove my-project --hook-id hook-123",
3410
+ "<%= config.bin %> jira hook remove my-project --hook-id hook-123 --json"
3411
+ ],
3412
+ "flags": {
3413
+ "domain": {
3414
+ "char": "d",
3415
+ "description": "Hyperdrive tenant domain",
3416
+ "name": "domain",
3417
+ "hasDynamicHelp": false,
3418
+ "multiple": false,
3419
+ "type": "option"
3420
+ },
3421
+ "hook-id": {
3422
+ "description": "Hook ID to remove (skips interactive selection)",
3423
+ "name": "hook-id",
3424
+ "hasDynamicHelp": false,
3425
+ "multiple": false,
3426
+ "type": "option"
3427
+ },
3428
+ "json": {
3429
+ "description": "Output raw JSON",
3430
+ "name": "json",
3431
+ "allowNo": false,
3432
+ "type": "boolean"
3433
+ }
3434
+ },
3435
+ "hasDynamicHelp": false,
3436
+ "hiddenAliases": [],
3437
+ "id": "jira:hook:remove",
3438
+ "pluginAlias": "@hyperdrive.bot/cli",
3439
+ "pluginName": "@hyperdrive.bot/cli",
3440
+ "pluginType": "core",
3441
+ "strict": true,
3442
+ "enableJsonFlag": false,
3443
+ "isESM": true,
3444
+ "relativePath": [
3445
+ "dist",
3446
+ "commands",
3447
+ "jira",
3448
+ "hook",
3449
+ "remove.js"
3450
+ ]
3451
+ },
3452
+ "jira:hook:toggle": {
3453
+ "aliases": [],
3454
+ "args": {
3455
+ "project": {
3456
+ "description": "Hyperdrive project ID or slug",
3457
+ "name": "project",
3458
+ "required": true
3459
+ }
3460
+ },
3461
+ "description": "Toggle the enabled state of a status transition hook",
3462
+ "examples": [
3463
+ "<%= config.bin %> jira hook toggle my-project",
3464
+ "<%= config.bin %> jira hook toggle my-project --hook-id hook-123",
3465
+ "<%= config.bin %> jira hook toggle my-project --hook-id hook-123 --json"
3466
+ ],
3467
+ "flags": {
3468
+ "domain": {
3469
+ "char": "d",
3470
+ "description": "Hyperdrive tenant domain",
3471
+ "name": "domain",
3472
+ "hasDynamicHelp": false,
3473
+ "multiple": false,
3474
+ "type": "option"
3475
+ },
3476
+ "hook-id": {
3477
+ "description": "Hook ID to toggle (skips interactive selection)",
3478
+ "name": "hook-id",
3479
+ "hasDynamicHelp": false,
3480
+ "multiple": false,
3481
+ "type": "option"
3482
+ },
3483
+ "json": {
3484
+ "description": "Output raw JSON",
3485
+ "name": "json",
3486
+ "allowNo": false,
3487
+ "type": "boolean"
3488
+ }
3489
+ },
3490
+ "hasDynamicHelp": false,
3491
+ "hiddenAliases": [],
3492
+ "id": "jira:hook:toggle",
3493
+ "pluginAlias": "@hyperdrive.bot/cli",
3494
+ "pluginName": "@hyperdrive.bot/cli",
3495
+ "pluginType": "core",
3496
+ "strict": true,
3497
+ "enableJsonFlag": false,
3498
+ "isESM": true,
3499
+ "relativePath": [
3500
+ "dist",
3501
+ "commands",
3502
+ "jira",
3503
+ "hook",
3504
+ "toggle.js"
2815
3505
  ]
2816
3506
  }
2817
3507
  },
2818
- "version": "1.0.6"
3508
+ "version": "1.0.8"
2819
3509
  }